From 18f6b77a2460007feed92a7ff01fa36f9d4fd43c Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 15 七月 2025 11:46:31 +0800
Subject: [PATCH] 项目初始化

---
 /dev/null         | 5080 ----------------
 .gitignore        |   85 
 package-lock.json | 13028 -----------------------------------------
 index.html        |    5 
 package.json      |  114 
 LICENSE           |  214 
 README.md         |  346 
 7 files changed, 360 insertions(+), 18,512 deletions(-)

diff --git a/.gitignore b/.gitignore
index c0b580a..3862f0c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,48 +1,51 @@
-# 蹇界暐鐢熸垚鐨勬枃浠�
-build/
-dist/
-unpackage/
-*.class
-*.jar
-*.war
-*.ear
+######################################################################
+# Build Tools
 
-# 蹇界暐缂栬緫鍣�/IDE鐢熸垚鐨勬枃浠跺拰鐩綍
-.idea/
+.gradle
+/build/
+!gradle/wrapper/gradle-wrapper.jar
+
+target/
+!.mvn/wrapper/maven-wrapper.jar
+
+######################################################################
+# IDE
+
+### hbuilder ###
+unpackage
 .hbuilderx
-*.swp
-*.swo
-*~
 
-# 蹇界暐渚濊禆绠$悊宸ュ叿鐢熸垚鐨勭洰褰�
-node_modules/
-bower_components/
-vendor/
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
 
-# 蹇界暐鎿嶄綔绯荤粺鏂囦欢
-.DS_Store
-Thumbs.db
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
 
-# 蹇界暐鏃ュ織鏂囦欢
+### JRebel ###
+rebel.xml
+
+### NetBeans ###
+nbproject/private/
+build/*
+nbbuild/
+dist/
+nbdist/
+.nb-gradle/
+
+######################################################################
+# Others
 *.log
+*.xml.versionsBackup
+*.swp
 
-# 蹇界暐鏁忔劅鎴栧寘鍚釜浜轰俊鎭殑鏂囦欢锛堟牴鎹渶瑕佹坊鍔犳洿澶氾級
-credentials.json
-config.ini
-secrets.txt
-
-# 蹇界暐鍏朵粬鑷畾涔夌殑鏂囦欢鎴栫洰褰�
-/custom_directory/
-
-# 鎺掗櫎鐗瑰畾鎵╁睍鍚嶇殑鏂囦欢锛堟牴鎹渶瑕佹坊鍔犳洿澶氾級
-*.bak
-*.tmp
-
-# 鎺掗櫎鐗瑰畾鏂囦欢鍚嶏紙鏍规嵁闇�瑕佹坊鍔犳洿澶氾級
-debug.log
-
-# 涓嶆帓闄や笅鍒楁墿灞曞悕鐨勬枃浠�
-!*.allowed_extension
-
-# 涓嶆帓闄や笅鍒楁枃浠跺悕
-!important_file.txt
\ No newline at end of file
+!*/build/*.java
+!*/build/*.html
+!*/build/*.xml
diff --git a/.vscode/launch.json b/.vscode/launch.json
deleted file mode 100644
index 6ecaf81..0000000
--- a/.vscode/launch.json
+++ /dev/null
@@ -1,288 +0,0 @@
-{
-  // 浣跨敤 IntelliSense 浜嗚В鐩稿叧灞炴�с��
-  // 鎮仠浠ユ煡鐪嬬幇鏈夊睘鎬х殑鎻忚堪銆�
-  // 娆蹭簡瑙f洿澶氫俊鎭紝璇疯闂�: https://go.microsoft.com/fwlink/?linkid=830387
-  "version": "0.2.0",
-  "configurations": [
-
-    {
-      "name": "Debug Edge",
-      "request": "launch",
-      "type": "msedge",
-      "url": "http://localhost:80",
-      "webRoot": "${workspaceFolder}",
-    },
-    {
-      "name": "dev:h5",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:h5"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:app",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:app"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:app-android",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:app-android"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:app-ios",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:app-ios"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:custom",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:custom"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:h5:ssr",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:h5:ssr"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:mp-alipay",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:mp-alipay"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:mp-baidu",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:mp-baidu"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:mp-jd",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:mp-jd"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:mp-kuaishou",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:mp-kuaishou"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:mp-lark",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:mp-lark"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:mp-qq",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:mp-qq"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:mp-toutiao",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:mp-toutiao"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:mp-weixin",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:mp-weixin"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:quickapp-webview",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:quickapp-webview"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:quickapp-webview-huawei",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:quickapp-webview-huawei"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "dev:quickapp-webview-union",
-      "request": "launch",
-      "runtimeArgs": ["run", "dev:quickapp-webview-union"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:app",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:app"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:app-android",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:app-android"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:app-ios",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:app-ios"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:custom",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:custom"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:h5",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:h5"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:h5:ssr",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:h5:ssr"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:mp-alipay",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:mp-alipay"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:mp-baidu",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:mp-baidu"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:mp-jd",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:mp-jd"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:mp-kuaishou",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:mp-kuaishou"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:mp-lark",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:mp-lark"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:mp-qq",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:mp-qq"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:mp-toutiao",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:mp-toutiao"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:mp-weixin",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:mp-weixin"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:quickapp-webview",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:quickapp-webview"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:quickapp-webview-huawei",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:quickapp-webview-huawei"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    },
-    {
-      "name": "build:quickapp-webview-union",
-      "request": "launch",
-      "runtimeArgs": ["run", "build:quickapp-webview-union"],
-      "runtimeExecutable": "npm",
-      "skipFiles": ["<node_internals>/**"],
-      "type": "node"
-    }
-  ]
-}
diff --git a/LICENSE b/LICENSE
index 5766d3e..261eeb9 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,21 +1,201 @@
-MIT License
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
 
-Copyright (c) 2023 鍝O
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
 
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+   1. Definitions.
 
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
 
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
diff --git a/README.md b/README.md
index 35a140d..f32893c 100644
--- a/README.md
+++ b/README.md
@@ -1,269 +1,121 @@
-# RuoYi-App-Geek
+# 绉诲姩绔悗鍙扮鐞嗙郴缁� RuoYi-Mobile
+涓婚〉锛�<a href="http://fastbuild.run" target="_blank">http://fastbuild.run</a> 
 
-<p align="center">
-    <span>
-        <img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png">
-    </span>
-    <span>+</span>
-    <span>
-        <img alt="logo" src="./doc/image/logo.png">
-    </span>
-</p>
-<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi-Geek v3.8.7.3.2</h1>
-<h4 align="center">鍩轰簬SpringBoot3+Vue3鍓嶅悗绔垎绂荤殑Java蹇�熷紑鍙戞鏋�</h4>
-<p align="center">
-	<img src="https://img.shields.io/github/license/mashape/apistatus.svg">
-</p>
+[![gitee star](https://gitee.com/yinm/RuoYi-Mobile/badge/star.svg?theme=dark)]('https://gitee.com/yinm/RuoYi-Mobile/stargazers')
+[![gitee fork](https://gitee.com/yinm/RuoYi-Mobile/badge/fork.svg?theme=dark)]('https://gitee.com/yinm/RuoYi-Mobile/members')
+[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
 
-# 寮曡█
+### :peach: 椤圭洰绠�浠�
+浼佷簨涓氬崟浣嶄俊鎭寲鍔犻�燂紝绉诲姩绔姙宸ラ�愭笎鎴愪负瓒嬪娍锛孒5鎴栧皬绋嬪簭姣旇捣APP鏉ヨ鏇寸畝鍗曟柟渚裤�傚洜姝や竴娆惧ソ鐨勭Щ鍔ㄧ鍩虹骞冲彴鍗佸垎鏈夊繀瑕併��<br>
+椤圭洰閲囩敤褰撲笅娴佽鐨刄niApp + uView2 妗嗘灦寮�鍙戯紝瀹屾垚甯歌鐨勬棩甯稿伐浣滃姛鑳戒笌绉诲姩绔壒鏈夊姛鑳界粍浠躲��
+<br><br>
 
-RuoYi-Vue 涓� RuoYi-App 鏄熀浜� SpringBoot2+Vue2 鎵撻�犵殑浼佷笟绾у紑鍙戞鏋讹紝寰楀埌浜嗗箍澶у紑鍙戣�呯殑鍠滅埍鍜岀Н鏋佸弽棣堛�傞殢鐫�鎶�鏈殑杩唬杩涙锛孲pringBoot3 涓� Vue3 閫愭笎杩涘叆寮�鍙戣�呯殑瑙嗛噹銆備负浜嗘弧瓒冲紑鍙戣�呭浜庢柊鎶�鏈殑杩芥眰锛孯uoYi 瀹樻柟鏂囨。鎻愪緵浜� SpringBoot2 鑷� SpringBoot3 鐨勫崌绾ф柟娉曘�備笌姝ゅ悓鏃讹紝绀惧尯涔熸秾鐜板嚭浜� RuoYi-Vue3銆丷uoYi-App-Vue3 鐨勭増鏈紝灞曠幇浜嗗紑鍙戣�呯ぞ鍖哄浜庢妧鏈崌绾х殑鐑儏涓庡姫鍔涖��
-
-鐒惰�岋紝鍦ㄥ崌绾х殑杩囩▼涓紝瀹樻柟鐨勬柟娉曚负浜嗗吋椤� Java1.8 鐨勭壒鎬т笌涓�浜涜�佹棫鐨勬柟娉曪紝鏈畬鍏ㄦ嫢鎶�**SpringBoot3 涓� Java17**鐨勫叏閮ㄧ壒鎬с�傝�岀ぞ鍖虹殑 RuoYi-Vue3銆丷uoYi-App-Vue3 鐗堟湰鐢变簬鍑鸿嚜涓嶅悓鐨勫洟闃熶箣鎵嬶紝**鍏煎鎬у強鏁村悎鎬�**涓婂瓨鍦ㄤ簺璁�**涓嶈冻**銆傛洿涓哄叧閿殑鏄紝灏界杩欎簺鐗堟湰**鏀寔 TypeScript**锛屼絾**缂轰箯涓庝箣鐩稿尮閰嶇殑 tsconfig.json 閰嶇疆鏂囦欢**锛岃繖浣垮緱鍦ㄤ富娴佺紪杈戝櫒濡� VSCode 涓紝TypeScript 鐨勮娉曟彁绀虹幆澧冨苟鏈揪鍒版渶浣崇姸鎬併��
-
-閴翠簬姝わ紝**RuoYi-Geek 鐢熸��**搴旇繍鑰岀敓銆傚畠鏃ㄥ湪涓哄箍澶у紑鍙戣�呮彁渚涗竴涓棦淇濈暀鍘熺増鏈牳蹇冪壒鎬э紝鍙堟暣鍚堢ぞ鍖虹増浼樼偣鐨勫叏鏂拌В鍐虫柟妗堛�傚湪**RuoYi-Geek**涓紝鎴戜滑娣卞叆璋冪爺浜嗕紒涓氬紑鍙戜腑甯哥敤鐨� RuoYi 鎵╁睍锛屽苟鐩存帴鍦ㄦ鏋朵腑闆嗘垚锛岀‘淇濆紑鍙戣�呰兘澶熷揩閫熶笂鎵嬶紝楂樻晥寮�鍙戙�傚悓鏃讹紝鎴戜滑閲囩敤浜嗘渶鏂扮殑**SpringBoot3+Vue3**鎶�鏈爤锛屽交搴曠Щ闄や簡涓轰簡鍏煎 Java1.8 鑰屼繚鐣欑殑鑰佹棫鏂规硶銆傛洿涓洪噸瑕佺殑鏄紝鎴戜滑涓� TypeScript 寮�鍙戠幆澧冨姞鍏ヤ簡甯哥敤鐨� tsconfig.json 閰嶇疆锛屼娇寰楀紑鍙戣�呭湪 VSCode 绛夌紪杈戝櫒涓兘澶熻幏寰楁洿涓鸿垝閫傘�佷究鎹风殑璇硶鎻愮ず浣撻獙銆�
-
-**RuoYi-Geek**涓嶄粎浠呮槸涓�涓畝鍗曠殑鍗囩骇鐗堟湰锛屾洿鏄浜� RuoYi 鐢熸�佺殑涓�娆″叏闈紭鍖栦笌鏁村悎銆傛垜浠浉淇★紝閫氳繃**RuoYi-Geek 鐢熸��**锛屽紑鍙戣�呭皢鑳藉鏇翠负楂樻晥銆佹剦鎮﹀湴寮�鍙戝嚭浼樼鐨勪紒涓氱骇搴旂敤銆�
-
-鏈」鐩负**RuoYi-Geek 鐢熸��**鐨� RuoYi-App 閮ㄥ垎銆�
-**娉ㄦ剰锛�**
-鏈汉鐨勫叾浠栦袱涓帹鑽愭惌閰嶇殑椤圭洰
-
-1. [Ruoyi-SpringBoot3-Geek: 杩欐槸鑻ヤ緷鏋佸鐢熸�佺殑鍚庣 Springboot3 鐗堟湰 (gitee.com)](https://gitee.com/geek-xd/ruoyi-spring-boot3-geek)
-2. [RuoYi-Vue3-Geek: 杩欐槸鑻ヤ緷鏋佸鐢熸�佺殑 Vue3 鐗堟湰 (gitee.com)](https://gitee.com/geek-xd/ruo-yi-vue3-geek)
-
-**涓� Ruoyi-App 鐩告瘮杈�**
-
-1. 浣跨敤 UniApp+Vue3 鐨勬渶鏂版鏋�
-2. 鏀寔 TS銆丼CSS銆丩ESS 绛夊 js 鍜� css 鐨勬墿鍏呰瑷�
-3. 浣跨敤 Pinia 浠f浛 Vuex锛屾洿鍔犺交宸х畝鍗�
-4. 浣跨敤 uView-Plus锛堝ソ鐪嬬殑 ui锛� 浠f浛 uView-ui 鐨� ui 缁勪欢搴�
-5. 浣跨敤 uCharts锛堟柟渚跨殑鍥捐〃锛夌敾鍥惧伐鍏�
-6. 宸茬粡瀹屾垚浜嗗垎鍖呮搷浣�
-7. 鎻愪緵浜嗛鑹查�夋嫨鍣ㄣ�佷簩缁寸爜绛夊父鐢ㄧ粍浠�
-8. 灏嗗師鏈夊唴缃伐鍏疯繘琛岀被鍨嬫爣瀹�
-9. 鍒嗗埆鎻愪緵浜� uview-plus 鍜� ucharts 鐨勬ā鏉匡紙鍙互鐩存帴浣跨敤鎴栬�呯敤浜庡涔狅級
-
-# 蹇�熷紑濮�
-
-**娉ㄦ剰锛�** node 鐗堟湰闇�瑕� 16+
-
-## 杩佺Щ鍒癏builder锛堜笉渚濊禆Hbuilder鐨勯」鐩笉闇�瑕佽縼绉伙級
-
-1. src璺緞浣滀负椤圭洰鏍硅矾寰�
-2. 灏唅ndex.html銆乸ackage.json銆乿ite.config.js銆乼sconfig.json銆�.gitignore绮樿创鍒皊rc鐩綍涓�
-3. 鍦╯rc鐩綍涓嬭繍琛宯pm install
-4. 淇敼index.html涓殑./src/main.js涓�./main.js
-5. 鍦℉BuilderX涓繍琛屾椂娉ㄦ剰瑙傚療鏄惁浣跨敤鐨勬槸Vue3鐨勭紪璇戝櫒锛堣嫢涓嶆槸璇疯嚜琛屾煡鎵炬柟娉曡В鍐筹紝鏈汉瀵笻builderX浣跨敤涓嶅锛�
+### :pear: 鍚庣涓嬭浇
+涓嬭浇鍦板潃锛�<a href="http://fastbuild.run" target="_blank">浼犻�侀棬</a><br>
+***娉細鐩墠绉诲姩绔敮鎸佽嫢渚濈鐞嗗钩鍙板叏绯诲垪锛堝崟搴旂敤銆佸井鏈嶅姟銆丮ySQL鐗堛�丱racle鐗堛�丼qlServer鐗堛�丄ntd鐗堢瓑锛夛紝闇�瑕侀�傞厤鍏朵粬鐗堟湰鐨勮鍒颁笂闈㈠湴鍧�涓嬭浇绉诲姩绔簮鐮併��***
+<br><br>
 
 
-## 瀹夎
+###  :watermelon:  鎶�鏈爤
+| 缁勪欢       | 鐗堟湰     |
+|----------|--------|
+| uview-ui | 2.0.31 |
+| qiun-data-charts | 2.4.3-20220505 |
 
-涓�涓嬩笁绉嶆柟寮忓潎鍙紝鎰熻閫熷害 pnpm > yarn > cnpm > npm
+<br><br>
 
-**_Vue3/Vite 鐗堣姹� node 鐗堟湰^14.18.0 || >=16.0.0_**
+###   :tw-1f348:   绯荤粺閰嶇疆
+1. 鍚庣璇锋眰鍦板潃閰嶇疆锛�
 
-```shell
-npm install
-cnpm install
-yarn
-pnpm install
+```
+# 閰嶇疆鏂囦欢璺緞锛�/config/environment.js
+# 淇敼baseURL灞炴��
+
+const environment = {
+	// 寮�鍙戠幆澧冮厤缃�
+	development: {
+		// 鏈湴閮ㄧ讲鐨勫悗绔�
+		baseURL: 'http://localhost:8080',
+		
+		// 鐩存帴浣跨敤绾夸笂鍚庣
+		// baseURL: 'http://vue.ruoyi.vip/prod-api'
+	},
+	// 鐢熶骇鐜閰嶇疆
+	production: {
+		baseURL: 'http://vue.ruoyi.vip/prod-api' // 鍙戝竷鏃堕渶瑕佷慨鏀逛负鍚庣瀹為檯鍦板潃
+	}
+}
+
+module.exports = {
+  environment: environment[process.env.NODE_ENV]
+}
+```
+2. H5鍚姩绔彛閰嶇疆锛�
+
+***娉ㄦ剰锛氫笉瑕佸湪manifest.json涓厤缃甴5鍚姩淇℃伅锛屽彲鑳戒細寮曞彂鍚庣鎺ュ彛璁块棶寮傚父***
+
+```
+# 閰嶇疆鏂囦欢璺緞锛�/vue.config.js
+# 淇敼port灞炴��
+
+const { environment } = require('./config/environment.js')
+
+module.exports = {
+  devServer: {
+    port: 9001,
+    proxy: {
+      '/': {
+        target: environment.baseURL,
+        ws: true,
+        changeOrigin: true,
+        pathRewrite: {
+          '^/': ''
+        }
+      }
+    },
+  }
+}
+
 ```
 
-# 鍚姩
 
-1. 灏嗛」鐩笅杞藉埌鏈湴
-2. 鍒濆鍖栭」鐩�---杩涘叆椤圭洰鏍硅矾寰勮繍琛屾寚浠ゅ垵濮嬪寲椤圭洰
-   `npm install`
-3. 杩愯椤圭洰---杩涘叆椤圭洰鏍硅矾寰勮繍琛屾寚浠わ紙鍦� package.json 鑳芥壘鍒版墍鏈夋寚浠わ級锛�
-   浠ュ井淇″皬绋嬪簭涓轰緥锛歚npm run dev:mp-weixin`
-   浠� H5 涓轰緥 ` npm run dev:h5`
-4. 鏌ョ湅椤圭洰 浠ュ井淇″皬绋嬪簭涓轰緥锛�
-   鎵撳紑寰俊寮�鍙戣�呭伐鍏凤紝瀵煎叆椤圭洰璺緞 dist\dev\mp-weixin
-   浠� H5 涓轰緥锛氭墦寮�娴忚鍣紝杈撳叆鎺у埗鍙拌緭鍑虹殑鍦板潃
-   娉細鍏紬鍙峰睘浜� H5锛屼互寰俊鍏紬鍙蜂负渚嬶紝鎵撳紑寰俊寮�鍙戣�呭伐鍏凤紝杈撳叆鎺у埗鍙拌緭鍑虹殑鍦板潃
-5. 鎵撳寘椤圭洰---杩涘叆椤圭洰鏍硅矾寰勮繍琛屾寚浠わ紙鍦� package.json 鑳芥壘鍒版墍鏈夋寚浠わ級锛�
-   浠ュ井淇″皬绋嬪簭涓轰緥锛歚npm run build:mp-weixin`
-   浠� H5 涓轰緥锛� `npm run build:h5`
 
-### 浠g爜鍘嬬缉
 
-榛樿鏄惎鍔ㄤ唬鐮佸帇缂╃殑锛�
-
-濡傛灉闇�瑕佸叧闂唬鐮佸帇缂╋紝鍙互灏� vite.config.js 涓殑 build.minify 璧嬪�间负 false銆�
-
-濡傛灉闇�瑕佹墦寮�浠g爜鍘嬬缉锛屽彲浠ュ皢 vite.config.js 涓殑 build.minify 璧嬪�间负 true銆�
-
-# 鍐呯疆缁勪欢(geek-xd)
-
-1. 棰滆壊閫夋嫨鍣ㄧ粍浠�
-2. 浜岀淮鐮佺粍浠�
-3. 鍦嗗舰鑿滃崟缁勪欢
-4. 甯哥敤鐨勮鍗曠粍浠�
-5. 淇℃伅灞曠ず缁勪欢
-
-# 鎻掍欢鐨勪娇鐢�
-
-#### tab - 椤甸潰鎻掍欢
-
-鍙互閫氳繃璁剧疆鍙傛暟涓殑 config.data 鏉ュ疄鐜伴〉闈紶鍙�
-
-| 鏂规硶         | 浣滅敤                                             | 鍙傛暟        |
-| ------------ | ------------------------------------------------ | ----------- |
-| getData      | 鍙互鎷垮埌涓婁釜椤甸潰閫氳繃 tab 浼犻�掔殑鍙傛暟              | 鏃�          |
-| reLaunch     | 鍏抽棴鎵�鏈夐〉闈紝鎵撳紑鍒板簲鐢ㄥ唴鐨勬煇涓〉闈�             | url銆乧onfig |
-| switchTab    | 璺宠浆鍒� tabBar 椤甸潰锛屽苟鍏抽棴鍏朵粬鎵�鏈夐潪 tabBar 椤甸潰 | url銆乧onfig |
-| redirectTo   | 鍏抽棴褰撳墠椤甸潰锛岃烦杞埌搴旂敤鍐呯殑鏌愪釜椤甸潰             | url銆乧onfig |
-| navigateTo   | 淇濈暀褰撳墠椤甸潰锛岃烦杞埌搴旂敤鍐呯殑鏌愪釜椤甸潰             | url銆乧onfig |
-| navigateBack | 鍏抽棴褰撳墠椤甸潰锛岃繑鍥炰笂涓�椤甸潰鎴栧绾ч〉闈�             | config      |
-
-#### auth - 閴存潈鎻掍欢
-
-涓嬮潰鎵�鏈夋柟娉曡繑鍥炲�奸兘鏄竷灏斿�硷紝permission 浠h〃鏉冮檺瀛楃涓诧紝role 浠h〃瑙掕壊瀛楃涓诧紝澶嶆暟褰㈠紡浠h〃鏁扮粍銆�
-
-| 鏂规硶        | 浣滅敤                                       | 鍙傛暟        |
-| ----------- | ------------------------------------------ | ----------- |
-| hasPermi    | 楠岃瘉鐢ㄦ埛鏄惁鍏峰鏌愭潈闄�                     | permission  |
-| hasPermiOr  | 楠岃瘉鐢ㄦ埛鏄惁鍚湁鎸囧畾鏉冮檺锛屽彧闇�鍖呭惈鍏朵腑涓�涓� | permissions |
-| hasPermiAnd | 楠岃瘉鐢ㄦ埛鏄惁鍚湁鎸囧畾鏉冮檺锛屽繀椤诲叏閮ㄦ嫢鏈�     | permissions |
-| hasRole     | 楠岃瘉鐢ㄦ埛鏄惁鍏峰鏌愯鑹�                     | role        |
-| hasRoleOr   | 楠岃瘉鐢ㄦ埛鏄惁鍚湁鎸囧畾瑙掕壊锛屽彧闇�鍖呭惈鍏朵腑涓�涓� | roles       |
-| hasRoleAnd  | roles                                      | roles       |
-
-#### modal - 寮圭獥鎻掍欢
-
-content 鏄秷鎭唴瀹癸紝option 鏄缁嗛厤缃��
-
-| 鏂规硶         | 浣滅敤                           | 鍙傛暟    |
-| ------------ | ------------------------------ | ------- |
-| msg          | 娑堟伅鎻愮ず                       | content |
-| msgError     | 閿欒娑堟伅                       | content |
-| msgSuccess   | 鎴愬姛娑堟伅                       | content |
-| hideMsg      | 闅愯棌娑堟伅                       | 鏃�      |
-| alert        | 寮瑰嚭鎻愮ず                       | content |
-| confirm      | 纭绐椾綋                       | content |
-| showToast    | 鎻愮ず淇℃伅                       | option  |
-| loading      | 鎵撳紑閬僵灞傦紝闇�瑕佹墜鍔ㄥ叧闂伄缃╁眰 | content |
-| closeLoading | 鍏抽棴閬僵灞�                     | 鏃�      |
-
-#### bus - 浜嬩欢鎻掍欢
-
-eventName 鏄簨浠跺悕绉帮紝eventFun 鏄簨浠跺鐞嗗嚱鏁帮紝璇峰敖閲忛伩鍏嶄簨浠舵彃浠剁殑浣跨敤锛岃鍦ㄧ粍浠堕攢姣佹槸瑙g粦绱犳湁璇ョ粍浠舵湁鍏崇殑浜嬩欢锛岄伩鍏嶄骇鐢� bug銆�
-
-| 鏂规硶  | 浣滅敤         | 鍙傛暟                |
-| ----- | ------------ | ------------------- |
-| $on   | 缁戝畾涓�涓簨浠� | eventName銆乪ventFun |
-| $off  | 瑙g粦涓�涓簨浠� | eventName           |
-| $emit | 瑙﹀彂涓�涓簨浠� | eventName銆�...args  |
-
-#### socket
-
-璁剧疆椤� enableUUID锛屾槸鍚﹀惎鐢ㄥ熀浜� uuid 鐨勬秷鎭鐞嗘満鍒讹紝瑕佹眰褰撳彂閫佺殑娑堟伅鎼哄甫 uuid 瀛楁鏃讹紝杩斿洖鐨勬秷鎭篃瑕佹惡甯� uuid 瀛楁銆�
-
-璁剧疆椤� enableEvent锛屾槸鍚﹀惎鐢ㄥ熀浜庝簨浠剁殑娑堟伅澶勭悊鏈哄埗锛岃姹傚綋甯屾湜琚簨浠跺鐞嗗嚱鏁板鐞嗙殑娑堟伅闇�瑕佹惡甯� event 瀛楁銆�
-
-| 鏂规硶      | 浣滅敤                                                                                                                    | 鍙傛暟                                                                                                                                    |
-| --------- | ----------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
-| connect   | 杩炴帴 websocke锛屽綋杩炴帴鎴愬姛鍚庤Е鍙戝洖璋冨嚱鏁�                                                                                 | 鏈�绠�鍗曠殑鐢ㄦ硶灏辨槸浼犲叆{url:"ws://demo"}                                                                                                   |
-| send      | 鍙戦�佷俊鎭紝褰� uuid 涓嶄负绌轰笖涓嶄负 false 鏃讹紝褰撴敹鍒版惡甯︾浉鍚� uuid 鐨勬秷鎭椂瑙﹀彂鍥炶皟鍑芥暟锛屽彧瑙﹀彂涓�娆°�傚惁鍒欑敱榛樿澶勭悊鍑芥暟澶勭悊銆� | msg 娑堟伅鍐呭锛屼細琚鐞嗘垚 json 瀛楃涓� uuid 鍞竴鏍囪瘑绗︼紝鍙互鎵嬪姩浼犲叆锛屼篃鍙互璁剧疆涓� true 褰撲负 true 鏃朵細鑷姩鐢熸垚涓�涓� uuid 骞舵坊鍔犲埌 msg 涓�� |
-| close     | 鍏抽棴杩炴帴锛屼細瑙﹀彂鍥炶皟鍑芥暟鐨勫唴瀹癸紝涓嶄細瑙﹀彂榛樿鍏抽棴浜嬩欢鐨勫鐞嗗嚱鏁帮紝涔熶笉浼氫慨鏀归粯璁ゅ叧闂簨浠剁殑澶勭悊鍑芥暟銆�                      | 鏃�                                                                                                                                      |
-| on        | 鐩戝惉浜嬩欢锛屽綋鏀跺埌鎼哄甫 event 鐨勬秷鎭椂浼氳皟鐢ㄥ洖璋冨嚱鏁般��                                                                     | event 浜嬩欢鐨勫悕绉�                                                                                                                        |
-| off       | 鍙栨秷鐩戝惉浜嬩欢                                                                                                            |                                                                                                                                         |
-| onMessage | 瀹氫箟榛樿鐩戝惉浜嬩欢                                                                                                        | callback 榛樿鐩戝惉浜嬩欢鐨勫鐞嗗嚱鏁�                                                                                                         |
-| onError   | 瀹氫箟寮傚父浜嬩欢                                                                                                            | callback 榛樿寮傚父浜嬩欢鐨勫鐞嗗嚱鏁�                                                                                                         |
-| onClose   | 瀹氫箟鍏抽棴浜嬩欢                                                                                                            | callback 榛樿鍏抽棴浜嬩欢鐨勫鐞嗗嚱鏁�                                                                                                         |
-
-# 浣滆�呭缓璁�
-
-### 瀵逛簬閫夐」寮�
-
-```js
-this.$tab; // 寤鸿浣跨敤this.$tab杩涜椤甸潰璺宠浆锛岀悊鐢憋細渚夸簬鍦ㄨ烦杞墠澶勭悊鍏朵粬浜嬪姟
-this.$auth; // 寤鸿浣跨敤this.$auth杩涜閴存潈鎿嶄綔
-this.$modal; // 寤鸿浣跨敤this.$modal鎵撳紑寮圭獥锛岀悊鐢憋細渚夸簬浠ュ悗鎯宠浣跨敤鑷畾涔夊脊绐�
-```
-
-### 瀵逛簬缁勫悎寮�
-
-```js
-import tab from "@/plugins/tab"; // 寤鸿浣跨敤tab杩涜椤甸潰璺宠浆锛岀悊鐢憋細渚夸簬鍦ㄨ烦杞墠澶勭悊鍏朵粬浜嬪姟
-import auth from "@/plugins/auth"; // 寤鸿浣跨敤auth杩涜閴存潈鎿嶄綔
-import modal from "@/plugins/modal"; // 寤鸿浣跨敤modal鎵撳紑寮圭獥锛岀悊鐢憋細渚夸簬浠ュ悗鎯宠浣跨敤鑷畾涔夊脊绐�
-
-// 涔熷彲浠ヤ娇鐢ㄤ笅闈㈢殑鏂瑰紡
-import { tab, auth, modal } from "@/plugins";
-```
-
-### 瀵逛簬 ucharts
-
-寤鸿鍗充究鏆傛椂涓嶄娇鐢ㄥ浘琛ㄤ篃涓嶈鍒犻櫎瀹冿紝浠ュ悗鍙兘浼氱敤鍒般��
-
-# 鍘嬬缉鍐呭瓨
-
-(涓诲寘鏈�浣� 809kb 宸﹀彸)
-
-### 鍒犻櫎 geek 缁勪欢
-
-1. 鍒犻櫎 pages_geek 鍜� components/geek-xd 鏂囦欢澶�
-2. 鍒犻櫎 pages.json 涓� subPackages 鐨� root 鍊间负鈥減ages_geek/pages鈥濈殑閰嶇疆
-3. 鍒犻櫎 pages/template.config.js 涓� geek 缁勪欢
-
-### 鍘婚櫎妯℃澘
-
-锛堝崰鐢ㄤ富鍖� 582kb 宸﹀彸锛�
-
-1. 鍒犻櫎 pages_template銆乸ages_qiun 涓や釜鏂囦欢澶�
-2. 鍒犻櫎 pages.json 涓� subPackages 鐨� root 鍊间负鈥減ages_qiun/pages鈥濄�佲�減ages_template/pages鈥濈殑涓や釜閰嶇疆
-3. 鍒犻櫎 pages/template.config.js 鍜� pages/template.vue
-4. 鍒犻櫎 pages.json 涓� subPackages 鐨勨�渢abBar鈥濅腑鐨勬ā鏉夸竴椤瑰拰鈥減ages鈥濅腑妯℃澘鐨勪竴椤�
-5. 鍒犻櫎 static 涓殑 uview锛岄噷闈㈤兘鏄ず渚嬪浘鐗囥��
-6. 鍒犻櫎 plugins 涓殑 config.js 鍜� common.js锛屽苟鍦� plugins/index.js 涓垹闄ょ浉鍏抽厤缃�
-
-### 鍒犻櫎 uchart
-
-锛堝崰鐢ㄤ富鍖� 175kb 宸﹀彸锛屼笉寤鸿鍒犻櫎锛屼互闃蹭互鍚庝細鐢級
-
-1. 鍒犻櫎 components/qiun-data-charts 鏂囦欢澶�
-2. 鍒犻櫎 pages.json 涓殑 easycom 涓嬬殑 custom 涓殑"qiun-(.\*)"鐨勯偅涓�琛�
-3. 鍒犻櫎 pages/index 涓娇鐢� 鈥渜iun-data-charts鈥� 鐨勯儴鍒�
-
-### 鍒犻櫎 uview
-
-锛堟寜闇�寮曞叆锛屾病蹇呰鍒犻櫎锛�
-
-1. main.js 鎴栬�� main.ts 涓垹闄�
-
-```js
-import uviewPlus from "uview-plus";
-// ......
-app.use(uviewPlus);
-```
-
-2. uni.scss 涓垹闄� @import 'uview-plus/theme.scss';
-3. App.vue 涓垹闄� @import '@/static/scss/index.scss';
-4. package.json 涓垹闄� "clipboard": "^2.0.11","dayjs": "^1.11.9","uview-plus": "^3.1.36",
-
-# 鍔熻兘婕旂ず
-
+###    :lemon:   绯荤粺鎴浘
 <table>
     <tr>
-        <td><img src="./doc/image/template1.png" /></td>
-        <td><img src="./doc/image/template2.png"  /></td>
+        <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/login.jpg"/></td>
+        <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/index.jpg"/></td>
+        <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/work.jpg"/></td>
+        <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/my.jpg"/></td>
     </tr>
     <tr>
-        <td><img src="./doc/image/index.png"  /></td>
-        <td><img src="./doc/image/mallMenu.png"/></td>
+        <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/notice-m.jpg"/></td>
+        <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/notice-e.jpg"/></td>
+        <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/prefile.jpg"/></td>
+        <td valign="top"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/pwd-reset.jpg"/></td>
     </tr>
 </table>
+<br><br>
 
-# 闄勫綍
+###  :lollipop: 鎶�鏈氦娴�
+QQ缇わ細860974500
 
-[Vue3 瀹樼綉](https://cn.vuejs.org/)锛�
-[uniapp 瀹樼綉](https://uniapp.dcloud.net.cn/)锛�
-[uView-plus 瀹樼綉](https://uiadmin.net/uview-plus/)锛�
-[uCharts 瀹樼綉](https://www.ucharts.cn/v2/#/)锛�
-[RuoYi 瀹樼綉](http://ruoyi.vip/)锛�
+<br><br>
+#### 濡傛灉瑙夊緱椤圭洰杩樹笉閿欙紝涓�瀹氳寰� :star: 涓�涓�
+#### 濡傛灉瑙夊緱椤圭洰杩樹笉閿欙紝涓�瀹氳寰� :star: 涓�涓�
+#### 濡傛灉瑙夊緱椤圭洰杩樹笉閿欙紝涓�瀹氳寰� :star: 涓�涓�
+<br><br>
 
-# 鑱旂郴鎴戜滑锛�
-
-QQ 浜ゆ祦缇わ細744785891
+###  :poultry_leg:  缁欎綔鑰呭姞涓浮鑵�
+濡傛灉瀵规偍鐨勫伐浣滄垨瀛︿範浜х敓浜涜甯姪锛屽彲浠ョ粰浣滆�呯殑鍗堥鍔犱竴涓浮鑵� :poultry_leg:  :poultry_leg:  :poultry_leg: 锛亊~
+<table>
+    <tr>
+        <td valign="top" width="180"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/wechat_pay.jpg"/></td>
+        <td valign="top" width="180"><img src="https://gitee.com/yinm/RuoYi-Mobile/raw/master/static/preview/ali_pay.jpg"/></td>
+    </tr>
+    <tr>
+        <td valign="top" align="center">寰俊鎹愬姪</td>
+        <td valign="top" align="center">鏀粯瀹濇崘鍔�</td>
+    </tr>
+</table>
\ No newline at end of file
diff --git a/doc/image/index.png b/doc/image/index.png
deleted file mode 100644
index 8704d10..0000000
--- a/doc/image/index.png
+++ /dev/null
Binary files differ
diff --git a/doc/image/logo.png b/doc/image/logo.png
deleted file mode 100644
index dab35ca..0000000
--- a/doc/image/logo.png
+++ /dev/null
Binary files differ
diff --git a/doc/image/mallMenu.png b/doc/image/mallMenu.png
deleted file mode 100644
index 7aeeae0..0000000
--- a/doc/image/mallMenu.png
+++ /dev/null
Binary files differ
diff --git a/doc/image/template1.png b/doc/image/template1.png
deleted file mode 100644
index a442462..0000000
--- a/doc/image/template1.png
+++ /dev/null
Binary files differ
diff --git a/doc/image/template2.png b/doc/image/template2.png
deleted file mode 100644
index bd522e0..0000000
--- a/doc/image/template2.png
+++ /dev/null
Binary files differ
diff --git a/index.html b/index.html
index 13c10a1..c3ff205 100644
--- a/index.html
+++ b/index.html
@@ -1,8 +1,7 @@
 <!DOCTYPE html>
 <html lang="en">
   <head>
-    <title>Ruoyi-App-Geek</title>
-    <meta charset="UTF-8" name="viewport" content="width=device-width, initial-scale=1">
+    <meta charset="UTF-8" />
     <script>
       var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
         CSS.supports('top: constant(a)'))
@@ -16,6 +15,6 @@
   </head>
   <body>
     <div id="app"><!--app-html--></div>
-    <script type="module" src="./src/main.js"></script>
+    <script type="module" src="/main.js"></script>
   </body>
 </html>
diff --git a/package-lock.json b/package-lock.json
index ac95737..fed52cf 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,13030 +1,6 @@
 {
-  "name": "uni-preset-vue",
-  "version": "0.0.0",
-  "lockfileVersion": 3,
   "requires": true,
-  "packages": {
-    "": {
-      "name": "uni-preset-vue",
-      "version": "0.0.0",
-      "dependencies": {
-        "@dcloudio/uni-app": "3.0.0-3081220230817001",
-        "@dcloudio/uni-app-plus": "3.0.0-3081220230817001",
-        "@dcloudio/uni-components": "3.0.0-3081220230817001",
-        "@dcloudio/uni-h5": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-alipay": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-baidu": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-jd": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-kuaishou": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-lark": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-qq": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-toutiao": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-weixin": "3.0.0-3081220230817001",
-        "@dcloudio/uni-quickapp-webview": "3.0.0-3081220230817001",
-        "@jridgewell/sourcemap-codec": "^1.4.15",
-        "@qiun/wx-ucharts": "2.5.0-20230101",
-        "@ttou/uview-typings": "^2.0.5",
-        "clipboard": "^2.0.11",
-        "dayjs": "^1.11.9",
-        "mqtt": "4.1.0",
-        "pinia": "^2.1.7",
-        "tslib": "^2.6.2",
-        "uview-plus": "^3.1.45",
-        "vue": "^3.4.21",
-        "vue-i18n": "^9.10.2"
-      },
-      "devDependencies": {
-        "@dcloudio/types": "^3.3.3",
-        "@dcloudio/uni-automator": "3.0.0-3081220230817001",
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-stacktracey": "3.0.0-3081220230817001",
-        "@dcloudio/vite-plugin-uni": "3.0.0-3081220230817001",
-        "@vue/tsconfig": "^0.1.3",
-        "less": "^4.2.0",
-        "sass": "^1.66.1",
-        "sass-loader": "^10.4.1",
-        "typescript": "^4.9.5",
-        "vite": "4.1.4",
-        "vue-tsc": "^1.8.8"
-      }
-    },
-    "node_modules/@ampproject/remapping": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz",
-      "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
-      "dependencies": {
-        "@jridgewell/gen-mapping": "^0.3.5",
-        "@jridgewell/trace-mapping": "^0.3.24"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@babel/code-frame": {
-      "version": "7.23.5",
-      "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.23.5.tgz",
-      "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
-      "dependencies": {
-        "@babel/highlight": "^7.23.4",
-        "chalk": "^2.4.2"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/compat-data": {
-      "version": "7.23.5",
-      "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.23.5.tgz",
-      "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/core": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.24.0.tgz",
-      "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==",
-      "dependencies": {
-        "@ampproject/remapping": "^2.2.0",
-        "@babel/code-frame": "^7.23.5",
-        "@babel/generator": "^7.23.6",
-        "@babel/helper-compilation-targets": "^7.23.6",
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helpers": "^7.24.0",
-        "@babel/parser": "^7.24.0",
-        "@babel/template": "^7.24.0",
-        "@babel/traverse": "^7.24.0",
-        "@babel/types": "^7.24.0",
-        "convert-source-map": "^2.0.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.2.3",
-        "semver": "^6.3.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/generator": {
-      "version": "7.23.6",
-      "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.23.6.tgz",
-      "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
-      "dependencies": {
-        "@babel/types": "^7.23.6",
-        "@jridgewell/gen-mapping": "^0.3.2",
-        "@jridgewell/trace-mapping": "^0.3.17",
-        "jsesc": "^2.5.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-annotate-as-pure": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
-      "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz",
-      "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.22.15"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-compilation-targets": {
-      "version": "7.23.6",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
-      "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
-      "dependencies": {
-        "@babel/compat-data": "^7.23.5",
-        "@babel/helper-validator-option": "^7.23.5",
-        "browserslist": "^4.22.2",
-        "lru-cache": "^5.1.1",
-        "semver": "^6.3.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-create-class-features-plugin": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz",
-      "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-member-expression-to-functions": "^7.23.0",
-        "@babel/helper-optimise-call-expression": "^7.22.5",
-        "@babel/helper-replace-supers": "^7.22.20",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "semver": "^6.3.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/helper-create-regexp-features-plugin": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz",
-      "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "regexpu-core": "^5.3.1",
-        "semver": "^6.3.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/helper-define-polyfill-provider": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz",
-      "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-compilation-targets": "^7.22.6",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "debug": "^4.1.1",
-        "lodash.debounce": "^4.0.8",
-        "resolve": "^1.14.2"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
-      }
-    },
-    "node_modules/@babel/helper-environment-visitor": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
-      "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-function-name": {
-      "version": "7.23.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
-      "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
-      "dependencies": {
-        "@babel/template": "^7.22.15",
-        "@babel/types": "^7.23.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-hoist-variables": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
-      "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
-      "dependencies": {
-        "@babel/types": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-member-expression-to-functions": {
-      "version": "7.23.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz",
-      "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.23.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-module-imports": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
-      "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
-      "dependencies": {
-        "@babel/types": "^7.22.15"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-module-transforms": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
-      "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
-      "dependencies": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-module-imports": "^7.22.15",
-        "@babel/helper-simple-access": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/helper-validator-identifier": "^7.22.20"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/helper-optimise-call-expression": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz",
-      "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-plugin-utils": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz",
-      "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-remap-async-to-generator": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz",
-      "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-wrap-function": "^7.22.20"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/helper-replace-supers": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz",
-      "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-member-expression-to-functions": "^7.22.15",
-        "@babel/helper-optimise-call-expression": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/helper-simple-access": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
-      "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
-      "dependencies": {
-        "@babel/types": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz",
-      "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/types": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-split-export-declaration": {
-      "version": "7.22.6",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
-      "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
-      "dependencies": {
-        "@babel/types": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-string-parser": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
-      "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-validator-identifier": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-      "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-validator-option": {
-      "version": "7.23.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
-      "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-wrap-function": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz",
-      "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-function-name": "^7.22.5",
-        "@babel/template": "^7.22.15",
-        "@babel/types": "^7.22.19"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helpers": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.0.tgz",
-      "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==",
-      "dependencies": {
-        "@babel/template": "^7.24.0",
-        "@babel/traverse": "^7.24.0",
-        "@babel/types": "^7.24.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/highlight": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.23.4.tgz",
-      "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
-      "dependencies": {
-        "@babel/helper-validator-identifier": "^7.22.20",
-        "chalk": "^2.4.2",
-        "js-tokens": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/parser": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.0.tgz",
-      "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==",
-      "bin": {
-        "parser": "bin/babel-parser.js"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz",
-      "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz",
-      "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
-        "@babel/plugin-transform-optional-chaining": "^7.23.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.13.0"
-      }
-    },
-    "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
-      "version": "7.23.7",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz",
-      "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/plugin-proposal-private-property-in-object": {
-      "version": "7.21.0-placeholder-for-preset-env.2",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
-      "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
-      "dev": true,
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-async-generators": {
-      "version": "7.8.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
-      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-bigint": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
-      "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-class-properties": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
-      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-class-static-block": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
-      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-dynamic-import": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
-      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-export-namespace-from": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
-      "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.3"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-import-assertions": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz",
-      "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-import-attributes": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz",
-      "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-import-meta": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
-      "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-json-strings": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
-      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-jsx": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
-      "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
-      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
-      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-numeric-separator": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
-      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
-      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
-      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-optional-chaining": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
-      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-private-property-in-object": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
-      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-top-level-await": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
-      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-typescript": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz",
-      "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
-      "version": "7.18.6",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
-      "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
-        "@babel/helper-plugin-utils": "^7.18.6"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-arrow-functions": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz",
-      "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-async-generator-functions": {
-      "version": "7.23.9",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz",
-      "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/helper-remap-async-to-generator": "^7.22.20",
-        "@babel/plugin-syntax-async-generators": "^7.8.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-async-to-generator": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz",
-      "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-imports": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/helper-remap-async-to-generator": "^7.22.20"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz",
-      "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-block-scoping": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz",
-      "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-class-properties": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz",
-      "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-class-static-block": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz",
-      "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.12.0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-classes": {
-      "version": "7.23.8",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz",
-      "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-compilation-targets": "^7.23.6",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/helper-replace-supers": "^7.22.20",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "globals": "^11.1.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-computed-properties": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz",
-      "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/template": "^7.22.15"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-destructuring": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz",
-      "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-dotall-regex": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz",
-      "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-duplicate-keys": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz",
-      "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-dynamic-import": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz",
-      "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz",
-      "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-export-namespace-from": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz",
-      "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-for-of": {
-      "version": "7.23.6",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz",
-      "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-function-name": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz",
-      "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-compilation-targets": "^7.22.15",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-json-strings": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz",
-      "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/plugin-syntax-json-strings": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-literals": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz",
-      "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-logical-assignment-operators": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz",
-      "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-member-expression-literals": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz",
-      "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-modules-amd": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz",
-      "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-modules-commonjs": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz",
-      "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/helper-simple-access": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-modules-systemjs": {
-      "version": "7.23.9",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz",
-      "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-hoist-variables": "^7.22.5",
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/helper-validator-identifier": "^7.22.20"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-modules-umd": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz",
-      "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz",
-      "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.5",
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-new-target": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz",
-      "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz",
-      "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-numeric-separator": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz",
-      "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-object-rest-spread": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz",
-      "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.23.5",
-        "@babel/helper-compilation-targets": "^7.23.6",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-transform-parameters": "^7.23.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-object-super": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz",
-      "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/helper-replace-supers": "^7.22.20"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-optional-catch-binding": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz",
-      "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-optional-chaining": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz",
-      "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-parameters": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz",
-      "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-private-methods": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz",
-      "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-private-property-in-object": {
-      "version": "7.23.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz",
-      "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-create-class-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-property-literals": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz",
-      "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-regenerator": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz",
-      "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "regenerator-transform": "^0.15.2"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-reserved-words": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz",
-      "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-shorthand-properties": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz",
-      "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-spread": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz",
-      "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-sticky-regex": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz",
-      "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-template-literals": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz",
-      "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-typeof-symbol": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz",
-      "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-typescript": {
-      "version": "7.23.6",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz",
-      "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-create-class-features-plugin": "^7.23.6",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/plugin-syntax-typescript": "^7.23.3"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-unicode-escapes": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz",
-      "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-unicode-property-regex": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz",
-      "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-unicode-regex": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz",
-      "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-transform-unicode-sets-regex": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz",
-      "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/preset-env": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.24.0.tgz",
-      "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.23.5",
-        "@babel/helper-compilation-targets": "^7.23.6",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-validator-option": "^7.23.5",
-        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3",
-        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3",
-        "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7",
-        "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
-        "@babel/plugin-syntax-async-generators": "^7.8.4",
-        "@babel/plugin-syntax-class-properties": "^7.12.13",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
-        "@babel/plugin-syntax-import-assertions": "^7.23.3",
-        "@babel/plugin-syntax-import-attributes": "^7.23.3",
-        "@babel/plugin-syntax-import-meta": "^7.10.4",
-        "@babel/plugin-syntax-json-strings": "^7.8.3",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
-        "@babel/plugin-syntax-top-level-await": "^7.14.5",
-        "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
-        "@babel/plugin-transform-arrow-functions": "^7.23.3",
-        "@babel/plugin-transform-async-generator-functions": "^7.23.9",
-        "@babel/plugin-transform-async-to-generator": "^7.23.3",
-        "@babel/plugin-transform-block-scoped-functions": "^7.23.3",
-        "@babel/plugin-transform-block-scoping": "^7.23.4",
-        "@babel/plugin-transform-class-properties": "^7.23.3",
-        "@babel/plugin-transform-class-static-block": "^7.23.4",
-        "@babel/plugin-transform-classes": "^7.23.8",
-        "@babel/plugin-transform-computed-properties": "^7.23.3",
-        "@babel/plugin-transform-destructuring": "^7.23.3",
-        "@babel/plugin-transform-dotall-regex": "^7.23.3",
-        "@babel/plugin-transform-duplicate-keys": "^7.23.3",
-        "@babel/plugin-transform-dynamic-import": "^7.23.4",
-        "@babel/plugin-transform-exponentiation-operator": "^7.23.3",
-        "@babel/plugin-transform-export-namespace-from": "^7.23.4",
-        "@babel/plugin-transform-for-of": "^7.23.6",
-        "@babel/plugin-transform-function-name": "^7.23.3",
-        "@babel/plugin-transform-json-strings": "^7.23.4",
-        "@babel/plugin-transform-literals": "^7.23.3",
-        "@babel/plugin-transform-logical-assignment-operators": "^7.23.4",
-        "@babel/plugin-transform-member-expression-literals": "^7.23.3",
-        "@babel/plugin-transform-modules-amd": "^7.23.3",
-        "@babel/plugin-transform-modules-commonjs": "^7.23.3",
-        "@babel/plugin-transform-modules-systemjs": "^7.23.9",
-        "@babel/plugin-transform-modules-umd": "^7.23.3",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5",
-        "@babel/plugin-transform-new-target": "^7.23.3",
-        "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4",
-        "@babel/plugin-transform-numeric-separator": "^7.23.4",
-        "@babel/plugin-transform-object-rest-spread": "^7.24.0",
-        "@babel/plugin-transform-object-super": "^7.23.3",
-        "@babel/plugin-transform-optional-catch-binding": "^7.23.4",
-        "@babel/plugin-transform-optional-chaining": "^7.23.4",
-        "@babel/plugin-transform-parameters": "^7.23.3",
-        "@babel/plugin-transform-private-methods": "^7.23.3",
-        "@babel/plugin-transform-private-property-in-object": "^7.23.4",
-        "@babel/plugin-transform-property-literals": "^7.23.3",
-        "@babel/plugin-transform-regenerator": "^7.23.3",
-        "@babel/plugin-transform-reserved-words": "^7.23.3",
-        "@babel/plugin-transform-shorthand-properties": "^7.23.3",
-        "@babel/plugin-transform-spread": "^7.23.3",
-        "@babel/plugin-transform-sticky-regex": "^7.23.3",
-        "@babel/plugin-transform-template-literals": "^7.23.3",
-        "@babel/plugin-transform-typeof-symbol": "^7.23.3",
-        "@babel/plugin-transform-unicode-escapes": "^7.23.3",
-        "@babel/plugin-transform-unicode-property-regex": "^7.23.3",
-        "@babel/plugin-transform-unicode-regex": "^7.23.3",
-        "@babel/plugin-transform-unicode-sets-regex": "^7.23.3",
-        "@babel/preset-modules": "0.1.6-no-external-plugins",
-        "babel-plugin-polyfill-corejs2": "^0.4.8",
-        "babel-plugin-polyfill-corejs3": "^0.9.0",
-        "babel-plugin-polyfill-regenerator": "^0.5.5",
-        "core-js-compat": "^3.31.0",
-        "semver": "^6.3.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/preset-modules": {
-      "version": "0.1.6-no-external-plugins",
-      "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
-      "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/types": "^7.4.4",
-        "esutils": "^2.0.2"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0"
-      }
-    },
-    "node_modules/@babel/regjsgen": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
-      "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
-      "dev": true
-    },
-    "node_modules/@babel/runtime": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.0.tgz",
-      "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==",
-      "dependencies": {
-        "regenerator-runtime": "^0.14.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/runtime/node_modules/regenerator-runtime": {
-      "version": "0.14.1",
-      "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
-      "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
-    },
-    "node_modules/@babel/template": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.24.0.tgz",
-      "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
-      "dependencies": {
-        "@babel/code-frame": "^7.23.5",
-        "@babel/parser": "^7.24.0",
-        "@babel/types": "^7.24.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/traverse": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.0.tgz",
-      "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==",
-      "dependencies": {
-        "@babel/code-frame": "^7.23.5",
-        "@babel/generator": "^7.23.6",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-hoist-variables": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/parser": "^7.24.0",
-        "@babel/types": "^7.24.0",
-        "debug": "^4.3.1",
-        "globals": "^11.1.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/types": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.24.0.tgz",
-      "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
-      "dependencies": {
-        "@babel/helper-string-parser": "^7.23.4",
-        "@babel/helper-validator-identifier": "^7.22.20",
-        "to-fast-properties": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@bcoe/v8-coverage": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmmirror.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
-      "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@dcloudio/types": {
-      "version": "3.4.8",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/types/-/types-3.4.8.tgz",
-      "integrity": "sha512-IPXuoghLv7qNPOnRuP7vC5++MdRHhE0U7EMw9ia//uOh69fFXZiRTfoHd51+nzciD6R50gqYhbrCCZIxnxhM9Q=="
-    },
-    "node_modules/@dcloudio/uni-app": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app/-/uni-app-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-sf8PzXHSd/VFCn7X9+QbD4nrY21FnIwjrhyX2hFit7PZK9kpyQluqCmG7YuotuXJzsNML8c8u2O9q5FaeOyTHg==",
-      "dependencies": {
-        "@dcloudio/uni-cloud": "3.0.0-3081220230817001",
-        "@dcloudio/uni-components": "3.0.0-3081220230817001",
-        "@dcloudio/uni-i18n": "3.0.0-3081220230817001",
-        "@dcloudio/uni-push": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-stat": "3.0.0-3081220230817001",
-        "@vue/shared": "3.2.47"
-      },
-      "peerDependencies": {
-        "@dcloudio/types": "^3.3.2"
-      }
-    },
-    "node_modules/@dcloudio/uni-app-plus": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-plus/-/uni-app-plus-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-GpQobx3WbcyOZ49f8JM+febzKvlthFBAxcs4xrbtNVzmkj0jLJoh9GoH37oa7m5DI1k4l5wUuwvg4/JxBbhOSA==",
-      "dependencies": {
-        "@dcloudio/uni-app-uts": "3.0.0-3081220230817001",
-        "@dcloudio/uni-app-vite": "3.0.0-3081220230817001",
-        "@dcloudio/uni-app-vue": "3.0.0-3081220230817001",
-        "debug": "^4.3.3",
-        "fs-extra": "^10.0.0",
-        "licia": "^1.29.0",
-        "postcss-selector-parser": "^6.0.6"
-      }
-    },
-    "node_modules/@dcloudio/uni-app-uts": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-uts/-/uni-app-uts-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-snMFEpTw5T0TT5uFwp0piytLRB0FBRHDM5ML00E1nrzfts0XlaFKoB4UsvLySG5sE5+Xt8F5/uzKxid3mcgTLQ==",
-      "dependencies": {
-        "@babel/parser": "^7.16.4",
-        "@babel/types": "^7.20.7",
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-i18n": "3.0.0-3081220230817001",
-        "@dcloudio/uni-nvue-styler": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@rollup/pluginutils": "^4.2.0",
-        "@vue/compiler-core": "3.2.47",
-        "@vue/compiler-sfc": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "debug": "^4.3.3",
-        "es-module-lexer": "^1.2.1",
-        "fs-extra": "^10.0.0",
-        "picocolors": "^1.0.0",
-        "source-map": "^0.6.1"
-      }
-    },
-    "node_modules/@dcloudio/uni-app-vite": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-vite/-/uni-app-vite-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-iHmKh6hjPGh+FC6Fi4qqwT5N31QiWv9JymCLdbkOJRi71A3byDjxoH7ScSEEEg+A5AAPky6LHbmFmznPMeSwAg==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-i18n": "3.0.0-3081220230817001",
-        "@dcloudio/uni-nvue-styler": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@rollup/pluginutils": "^4.2.0",
-        "@vitejs/plugin-vue": "^4.2.1",
-        "@vue/compiler-dom": "3.2.47",
-        "@vue/compiler-sfc": "3.2.47",
-        "debug": "^4.3.3",
-        "fs-extra": "^10.0.0",
-        "picocolors": "^1.0.0"
-      }
-    },
-    "node_modules/@dcloudio/uni-app-vue": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-app-vue/-/uni-app-vue-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-08ZUIn2a+OZWjqvjTbLygWZOY9YXbf2J1ns2letBI9aoMZDx+Sgx2lUFWHDksmOhvApPLKrRjJM0Hmmxi2mjJw=="
-    },
-    "node_modules/@dcloudio/uni-automator": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-automator/-/uni-automator-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-boaRlUAAXsEh4aN5PbtMVvzdmvXqoEWa8eQBD4oCH36lyGgK8q75vsjLRi4LBFFwNlCNMrYepTNbBCjP+Sgt0g==",
-      "dev": true,
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "address": "^1.1.2",
-        "cross-env": "^7.0.3",
-        "debug": "^4.3.3",
-        "default-gateway": "^6.0.3",
-        "fs-extra": "^10.0.0",
-        "jsonc-parser": "^3.2.0",
-        "licia": "^1.29.0",
-        "qrcode-reader": "^1.0.4",
-        "qrcode-terminal": "^0.12.0",
-        "ws": "^8.4.2"
-      },
-      "peerDependencies": {
-        "jest": "27.0.4",
-        "jest-environment-node": "27.5.1"
-      }
-    },
-    "node_modules/@dcloudio/uni-cli-shared": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-cli-shared/-/uni-cli-shared-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-FOeydfIdKZg+MnQsHSFLXBzzmXtgCWnmEyjw3MHNN5mGwQB6+f7vK8sLw+yjizD/j71eMnh8XXCk+dV3nD/Vzg==",
-      "dependencies": {
-        "@ampproject/remapping": "^2.1.2",
-        "@babel/core": "^7.21.3",
-        "@babel/parser": "^7.16.4",
-        "@babel/types": "^7.20.7",
-        "@dcloudio/uni-i18n": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@intlify/core-base": "9.1.9",
-        "@intlify/shared": "9.1.9",
-        "@intlify/vue-devtools": "9.1.9",
-        "@rollup/pluginutils": "^4.2.0",
-        "@vue/compiler-core": "3.2.47",
-        "@vue/compiler-dom": "3.2.47",
-        "@vue/compiler-sfc": "3.2.47",
-        "@vue/server-renderer": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "autoprefixer": "^10.4.14",
-        "base64url": "^3.0.1",
-        "chokidar": "^3.5.3",
-        "compare-versions": "^3.6.0",
-        "debug": "^4.3.3",
-        "es-module-lexer": "^1.2.1",
-        "esbuild": "^0.17.5",
-        "estree-walker": "^2.0.2",
-        "fast-glob": "^3.2.11",
-        "fs-extra": "^10.0.0",
-        "hash-sum": "^2.0.0",
-        "jsonc-parser": "^3.0.0",
-        "magic-string": "^0.30.0",
-        "merge": "^2.1.1",
-        "mime": "^3.0.0",
-        "module-alias": "^2.2.2",
-        "os-locale-s-fix": "^1.0.8-fix-1",
-        "picocolors": "^1.0.0",
-        "postcss-import": "^14.0.2",
-        "postcss-load-config": "^3.1.1",
-        "postcss-modules": "^4.3.0",
-        "postcss-selector-parser": "^6.0.6",
-        "resolve": "^1.22.1",
-        "tapable": "^2.2.0",
-        "xregexp": "3.1.0"
-      },
-      "engines": {
-        "node": "^14.18.0 || >=16.0.0"
-      }
-    },
-    "node_modules/@dcloudio/uni-cli-shared/node_modules/@vue/reactivity": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.47.tgz",
-      "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==",
-      "peer": true,
-      "dependencies": {
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-cli-shared/node_modules/@vue/runtime-core": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.47.tgz",
-      "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==",
-      "peer": true,
-      "dependencies": {
-        "@vue/reactivity": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-cli-shared/node_modules/@vue/runtime-dom": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz",
-      "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==",
-      "peer": true,
-      "dependencies": {
-        "@vue/runtime-core": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "csstype": "^2.6.8"
-      }
-    },
-    "node_modules/@dcloudio/uni-cli-shared/node_modules/@vue/server-renderer": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.47.tgz",
-      "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==",
-      "dependencies": {
-        "@vue/compiler-ssr": "3.2.47",
-        "@vue/shared": "3.2.47"
-      },
-      "peerDependencies": {
-        "vue": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-cli-shared/node_modules/csstype": {
-      "version": "2.6.21",
-      "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz",
-      "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
-      "peer": true
-    },
-    "node_modules/@dcloudio/uni-cli-shared/node_modules/vue": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.47.tgz",
-      "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==",
-      "peer": true,
-      "dependencies": {
-        "@vue/compiler-dom": "3.2.47",
-        "@vue/compiler-sfc": "3.2.47",
-        "@vue/runtime-dom": "3.2.47",
-        "@vue/server-renderer": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-cloud": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-cloud/-/uni-cloud-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-rrHN4PvvylrhmivAoSv4h8ZcQ3ZWHnMRXhQWPC9FBR1TInrrxrrAHuMqSZn6pTIXhCiRA3Kuy6aDNVCbt6VA+g==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-i18n": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/shared": "3.2.47",
-        "fast-glob": "^3.2.11"
-      }
-    },
-    "node_modules/@dcloudio/uni-components": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-components/-/uni-components-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-FlIrTgR/9Yp8FWYfhXfLPd0jJtBwJwRBAWWmLNaufkTojm6X7rX8wQOd13n+7gJGKzfXcEV8npOYpVou4P46Pw==",
-      "dependencies": {
-        "@dcloudio/uni-cloud": "3.0.0-3081220230817001",
-        "@dcloudio/uni-h5": "3.0.0-3081220230817001",
-        "@dcloudio/uni-i18n": "3.0.0-3081220230817001"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5/-/uni-h5-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-m2RCZpYxuAGnXlQKSQ8FGy4OlnUJJ8XMx2HNQWriDwtjDpAGDU8I2LZQZ7MHCNPIUd503y+mgU2NPlSQHnrlkQ==",
-      "dependencies": {
-        "@dcloudio/uni-h5-vite": "3.0.0-3081220230817001",
-        "@dcloudio/uni-h5-vue": "3.0.0-3081220230817001",
-        "@dcloudio/uni-i18n": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/server-renderer": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "debug": "^4.3.3",
-        "localstorage-polyfill": "^1.0.1",
-        "postcss-selector-parser": "^6.0.6",
-        "safe-area-insets": "^1.4.1",
-        "vue-router": "^4.1.6",
-        "xmlhttprequest": "^1.8.0"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5-vite": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5-vite/-/uni-h5-vite-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-x7F6mUTjHiOx7+lj5yIrzhD7gr0HTNJaku5gV3O8bFjxKLcIkFkAyliKPbqJ4QZCmCCmEfJpOGKrDhk35tlibg==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@rollup/pluginutils": "^4.2.0",
-        "@vue/compiler-dom": "3.2.47",
-        "@vue/compiler-sfc": "3.2.47",
-        "@vue/server-renderer": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "debug": "^4.3.3",
-        "fs-extra": "^10.0.0",
-        "mime": "^3.0.0",
-        "module-alias": "^2.2.2"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5-vite/node_modules/@vue/reactivity": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.47.tgz",
-      "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==",
-      "peer": true,
-      "dependencies": {
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5-vite/node_modules/@vue/runtime-core": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.47.tgz",
-      "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==",
-      "peer": true,
-      "dependencies": {
-        "@vue/reactivity": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5-vite/node_modules/@vue/runtime-dom": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz",
-      "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==",
-      "peer": true,
-      "dependencies": {
-        "@vue/runtime-core": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "csstype": "^2.6.8"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5-vite/node_modules/@vue/server-renderer": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.47.tgz",
-      "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==",
-      "dependencies": {
-        "@vue/compiler-ssr": "3.2.47",
-        "@vue/shared": "3.2.47"
-      },
-      "peerDependencies": {
-        "vue": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5-vite/node_modules/csstype": {
-      "version": "2.6.21",
-      "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz",
-      "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
-      "peer": true
-    },
-    "node_modules/@dcloudio/uni-h5-vite/node_modules/vue": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.47.tgz",
-      "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==",
-      "peer": true,
-      "dependencies": {
-        "@vue/compiler-dom": "3.2.47",
-        "@vue/compiler-sfc": "3.2.47",
-        "@vue/runtime-dom": "3.2.47",
-        "@vue/server-renderer": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5-vue": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-h5-vue/-/uni-h5-vue-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-q1eFoXb5/4whNIJ1CumKmeypPjZofw8xDQRHZeGZ7NVRQ0/MYnEm6A0n/vkmEo1IgTZIY83m/jr6RNg7a9Ko/A==",
-      "dependencies": {
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/server-renderer": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5-vue/node_modules/@vue/reactivity": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.47.tgz",
-      "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==",
-      "peer": true,
-      "dependencies": {
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5-vue/node_modules/@vue/runtime-core": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.47.tgz",
-      "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==",
-      "peer": true,
-      "dependencies": {
-        "@vue/reactivity": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5-vue/node_modules/@vue/runtime-dom": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz",
-      "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==",
-      "peer": true,
-      "dependencies": {
-        "@vue/runtime-core": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "csstype": "^2.6.8"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5-vue/node_modules/@vue/server-renderer": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.47.tgz",
-      "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==",
-      "dependencies": {
-        "@vue/compiler-ssr": "3.2.47",
-        "@vue/shared": "3.2.47"
-      },
-      "peerDependencies": {
-        "vue": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5-vue/node_modules/csstype": {
-      "version": "2.6.21",
-      "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz",
-      "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
-      "peer": true
-    },
-    "node_modules/@dcloudio/uni-h5-vue/node_modules/vue": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.47.tgz",
-      "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==",
-      "peer": true,
-      "dependencies": {
-        "@vue/compiler-dom": "3.2.47",
-        "@vue/compiler-sfc": "3.2.47",
-        "@vue/runtime-dom": "3.2.47",
-        "@vue/server-renderer": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5/node_modules/@vue/reactivity": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.2.47.tgz",
-      "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==",
-      "peer": true,
-      "dependencies": {
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5/node_modules/@vue/runtime-core": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.2.47.tgz",
-      "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==",
-      "peer": true,
-      "dependencies": {
-        "@vue/reactivity": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5/node_modules/@vue/runtime-dom": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz",
-      "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==",
-      "peer": true,
-      "dependencies": {
-        "@vue/runtime-core": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "csstype": "^2.6.8"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5/node_modules/@vue/server-renderer": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.47.tgz",
-      "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==",
-      "dependencies": {
-        "@vue/compiler-ssr": "3.2.47",
-        "@vue/shared": "3.2.47"
-      },
-      "peerDependencies": {
-        "vue": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-h5/node_modules/csstype": {
-      "version": "2.6.21",
-      "resolved": "https://registry.npmmirror.com/csstype/-/csstype-2.6.21.tgz",
-      "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==",
-      "peer": true
-    },
-    "node_modules/@dcloudio/uni-h5/node_modules/vue": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/vue/-/vue-3.2.47.tgz",
-      "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==",
-      "peer": true,
-      "dependencies": {
-        "@vue/compiler-dom": "3.2.47",
-        "@vue/compiler-sfc": "3.2.47",
-        "@vue/runtime-dom": "3.2.47",
-        "@vue/server-renderer": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-i18n": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-i18n/-/uni-i18n-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-ooAIoNCy+DPlMtA4k9eoaJJsYQtici85le+ietIIzLdJoa2YUnudYv9CvG9Mw/RsKQI+MLl96ADAPgUpGzounw=="
-    },
-    "node_modules/@dcloudio/uni-mp-alipay": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-alipay/-/uni-mp-alipay-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-lZR2u8sxJ/ZaDqaxEmGzgWWKHcjnLGedDTrMh8kOEPLHO6THVNe5TP6XeiTcE0HKJfWEXv6X13erjn0FCstz3A==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/compiler-core": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-mp-baidu": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-baidu/-/uni-mp-baidu-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-FYwK1AqSc+NvtvaCia/fOP57ELx5O5icHjuwPKMsJv5eGtqlwhXzyvSCoGEFyYQcsWP9ZqYSb3fTuxVlbiEYdA==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-weixin": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/compiler-core": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "jimp": "^0.10.1",
-        "licia": "^1.29.0",
-        "qrcode-reader": "^1.0.4",
-        "qrcode-terminal": "^0.12.0",
-        "ws": "^8.4.2"
-      }
-    },
-    "node_modules/@dcloudio/uni-mp-compiler": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-compiler/-/uni-mp-compiler-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-KDfwEr9jFNSkNbYmdDc+zfGuZwXGkz3bW3c4cuV44IncTf/UW2m594Z2UzhJkx/p662aQ2W9M4BFZ0o5QSfQDw==",
-      "dependencies": {
-        "@babel/generator": "^7.20.5",
-        "@babel/parser": "^7.16.4",
-        "@babel/types": "^7.20.7",
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/compiler-core": "3.2.47",
-        "@vue/compiler-dom": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "estree-walker": "^2.0.2"
-      }
-    },
-    "node_modules/@dcloudio/uni-mp-jd": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-jd/-/uni-mp-jd-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-sKDppXhk7k8Euce9v7ItQ2cs3+XpQV/DX8FjXzfO9DfjQEKiR/Pyfis7e3ANQrF4V/W3uwK5wgN/PyI3/NRloQ==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-mp-kuaishou": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-kuaishou/-/uni-mp-kuaishou-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-wYXwoxcdms8PviNsKg2Y9oqHawKqseoD97sYs94RLDVSnyO9c6NOoUMsYjXwIZXt05E56bJ9EbxDqYDwwJhEKw==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-weixin": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/compiler-core": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-mp-lark": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-lark/-/uni-mp-lark-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-4aHwULp+Nx55BoJvj1jCXWnVJrzl0ACEbDlXVvxmNUI5tkqn2kYL4AZgrXP1vCx8MHKVPI4E34Z+lrBTfSfKMA==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-toutiao": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/compiler-core": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-mp-qq": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-qq/-/uni-mp-qq-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-StSsxCCKMdZCghUZ+wdX1otCmlYkIV+O2Z/AxMv772HfIKlpDp44PPaxlKBG4L6+X7h2JsCvyZW1iSznM5A3CQ==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/shared": "3.2.47",
-        "fs-extra": "^10.0.0"
-      }
-    },
-    "node_modules/@dcloudio/uni-mp-toutiao": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-toutiao/-/uni-mp-toutiao-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-ZMSNNjQpCV4z+76OA8rDKKhqr+vQmTvKNUOzKfND5KPYhgWbqviEBZ8ptiDT5gaWXMpkUHNfWz32hdi5CLbj5Q==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/compiler-core": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-mp-vite": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-vite/-/uni-mp-vite-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-jmEbsVOJ1dlj46QiSFMB2C3zbgGivkGf1KXoPTAprv0WZrkmjF1uNLj0pHFOOUnnyHwHPViEApsMOPS4twIjIQ==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-i18n": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-compiler": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/compiler-sfc": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "debug": "^4.3.3"
-      }
-    },
-    "node_modules/@dcloudio/uni-mp-vue": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-vue/-/uni-mp-vue-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-EfdTH6+qGXRh3402+psl8X4K34/gHfBPaMfxbwMsne1rGnB8ZVXiN73gVXKfCWeznvJqdWuTWmmjqaLoBhjOjA==",
-      "dependencies": {
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-mp-weixin": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-mp-weixin/-/uni-mp-weixin-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-vo2k8OaWFOvoXuRX83UCR0AOOKXXwjRDIOX0y/jUC9TX63Ne5OTdRKH9253D9109FrwtrtsUWqnpfn1ynKXl9g==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/shared": "3.2.47",
-        "jimp": "^0.10.1",
-        "licia": "^1.29.0",
-        "qrcode-reader": "^1.0.4",
-        "qrcode-terminal": "^0.12.0",
-        "ws": "^8.4.2"
-      }
-    },
-    "node_modules/@dcloudio/uni-nvue-styler": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-nvue-styler/-/uni-nvue-styler-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-EImnyrYHmAc7ibKfIMkBG1uMavS5sPdrtQj52m40o/QNU5kcsqUk2Od9c1ULkQloxhmK2E4FZvXo4cgszE/Txw==",
-      "dependencies": {
-        "@vue/shared": "3.2.47",
-        "parse-css-font": "^4.0.0",
-        "postcss": "^8.4.23"
-      }
-    },
-    "node_modules/@dcloudio/uni-push": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-push/-/uni-push-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-1IyVJlBnZVVvY49SQKpZG5Oxak5Wl51NvYEozuYoeBaaTeZObm7B6eyd722sXi0Dd6N1sE3kIdm/XReprK53eg==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001"
-      }
-    },
-    "node_modules/@dcloudio/uni-quickapp-webview": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-quickapp-webview/-/uni-quickapp-webview-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-w6yitVyCKEFSO+UDsJPjc5RfAstIdOEbBHgim0gInTfOl90odmyUPKDxWhwQgS5vqezBXpCj0/6ywVMHvZu+7A==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vite": "3.0.0-3081220230817001",
-        "@dcloudio/uni-mp-vue": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-shared": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-shared/-/uni-shared-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-NI1pBO40VqvnWjwNXad3CqrUYvr4ffGjiDMgJGMP13rgOEAqamU7ozBimoASDVPKyyfSHTeuYuh0gtaaLu4CsQ==",
-      "dependencies": {
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@dcloudio/uni-stacktracey": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-stacktracey/-/uni-stacktracey-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-DUTTN8JWXxjO3ryz7uhD3+vazHVMflln15+r0ycWBjXO0p0MepRY3gX5gKCyiq9D3NUIxazcFAUJ6agFVUbDog==",
-      "dev": true
-    },
-    "node_modules/@dcloudio/uni-stat": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-stat/-/uni-stat-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-xpbsor5WKU1eCbo0dmQ0hBUX6RrdG7DNDzCSD6oimndIXVGLkFhWrIC3brQ7S1G2GQvXdXnXJpUVskI3qNe/uw==",
-      "dependencies": {
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "debug": "^4.3.3"
-      }
-    },
-    "node_modules/@dcloudio/vite-plugin-uni": {
-      "version": "3.0.0-3081220230817001",
-      "resolved": "https://registry.npmmirror.com/@dcloudio/vite-plugin-uni/-/vite-plugin-uni-3.0.0-3081220230817001.tgz",
-      "integrity": "sha512-dLeqqyrNNUBTZfI0ppPk4YoD+DBI0gJLeTjpN6bK5i3nFKkju9g2K6IWl62YMObjTiXwQF8qAEDb+fyWoe4Ksw==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.21.3",
-        "@babel/plugin-syntax-import-meta": "^7.10.4",
-        "@babel/plugin-transform-typescript": "^7.20.7",
-        "@dcloudio/uni-cli-shared": "3.0.0-3081220230817001",
-        "@dcloudio/uni-shared": "3.0.0-3081220230817001",
-        "@rollup/pluginutils": "^4.2.0",
-        "@vitejs/plugin-legacy": "^4.0.3",
-        "@vitejs/plugin-vue": "^4.2.1",
-        "@vitejs/plugin-vue-jsx": "^3.0.1",
-        "@vue/compiler-core": "3.2.47",
-        "@vue/compiler-dom": "3.2.47",
-        "@vue/compiler-sfc": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "cac": "6.7.9",
-        "debug": "^4.3.3",
-        "estree-walker": "^2.0.2",
-        "express": "^4.17.1",
-        "fast-glob": "^3.2.11",
-        "fs-extra": "^10.0.0",
-        "hash-sum": "^2.0.0",
-        "jsonc-parser": "^3.0.0",
-        "magic-string": "^0.30.0",
-        "picocolors": "^1.0.0",
-        "terser": "^5.4.0"
-      },
-      "bin": {
-        "uni": "bin/uni.js"
-      },
-      "engines": {
-        "node": "^14.18.0 || >=16.0.0"
-      },
-      "peerDependencies": {
-        "vite": "^4.0.0"
-      }
-    },
-    "node_modules/@esbuild/android-arm": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz",
-      "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==",
-      "cpu": [
-        "arm"
-      ],
-      "optional": true,
-      "os": [
-        "android"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/android-arm64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz",
-      "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==",
-      "cpu": [
-        "arm64"
-      ],
-      "optional": true,
-      "os": [
-        "android"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/android-x64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz",
-      "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "android"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/darwin-arm64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz",
-      "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==",
-      "cpu": [
-        "arm64"
-      ],
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/darwin-x64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz",
-      "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/freebsd-arm64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz",
-      "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==",
-      "cpu": [
-        "arm64"
-      ],
-      "optional": true,
-      "os": [
-        "freebsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/freebsd-x64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz",
-      "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "freebsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/linux-arm": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz",
-      "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==",
-      "cpu": [
-        "arm"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/linux-arm64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz",
-      "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==",
-      "cpu": [
-        "arm64"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/linux-ia32": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz",
-      "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==",
-      "cpu": [
-        "ia32"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/linux-loong64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz",
-      "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==",
-      "cpu": [
-        "loong64"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/linux-mips64el": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz",
-      "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==",
-      "cpu": [
-        "mips64el"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/linux-ppc64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz",
-      "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==",
-      "cpu": [
-        "ppc64"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/linux-riscv64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz",
-      "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==",
-      "cpu": [
-        "riscv64"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/linux-s390x": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz",
-      "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==",
-      "cpu": [
-        "s390x"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/linux-x64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz",
-      "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/netbsd-x64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz",
-      "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "netbsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/openbsd-x64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz",
-      "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "openbsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/sunos-x64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz",
-      "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "sunos"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/win32-arm64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz",
-      "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==",
-      "cpu": [
-        "arm64"
-      ],
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/win32-ia32": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz",
-      "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==",
-      "cpu": [
-        "ia32"
-      ],
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@esbuild/win32-x64": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz",
-      "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/@intlify/core-base": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.1.9.tgz",
-      "integrity": "sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==",
-      "dependencies": {
-        "@intlify/devtools-if": "9.1.9",
-        "@intlify/message-compiler": "9.1.9",
-        "@intlify/message-resolver": "9.1.9",
-        "@intlify/runtime": "9.1.9",
-        "@intlify/shared": "9.1.9",
-        "@intlify/vue-devtools": "9.1.9"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/@intlify/devtools-if": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.1.9.tgz",
-      "integrity": "sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==",
-      "dependencies": {
-        "@intlify/shared": "9.1.9"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/@intlify/message-compiler": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.1.9.tgz",
-      "integrity": "sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==",
-      "dependencies": {
-        "@intlify/message-resolver": "9.1.9",
-        "@intlify/shared": "9.1.9",
-        "source-map": "0.6.1"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/@intlify/message-resolver": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmmirror.com/@intlify/message-resolver/-/message-resolver-9.1.9.tgz",
-      "integrity": "sha512-Lx/DBpigeK0sz2BBbzv5mu9/dAlt98HxwbG7xLawC3O2xMF9MNWU5FtOziwYG6TDIjNq0O/3ZbOJAxwITIWXEA==",
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/@intlify/runtime": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmmirror.com/@intlify/runtime/-/runtime-9.1.9.tgz",
-      "integrity": "sha512-XgPw8+UlHCiie3fI41HPVa/VDJb3/aSH7bLhY1hJvlvNV713PFtb4p4Jo+rlE0gAoMsMCGcsiT982fImolSltg==",
-      "dependencies": {
-        "@intlify/message-compiler": "9.1.9",
-        "@intlify/message-resolver": "9.1.9",
-        "@intlify/shared": "9.1.9"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/@intlify/shared": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.1.9.tgz",
-      "integrity": "sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==",
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/@intlify/vue-devtools": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.1.9.tgz",
-      "integrity": "sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==",
-      "dependencies": {
-        "@intlify/message-resolver": "9.1.9",
-        "@intlify/runtime": "9.1.9",
-        "@intlify/shared": "9.1.9"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmmirror.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
-      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "camelcase": "^5.3.1",
-        "find-up": "^4.1.0",
-        "get-package-type": "^0.1.0",
-        "js-yaml": "^3.13.1",
-        "resolve-from": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/@istanbuljs/schema": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmmirror.com/@istanbuljs/schema/-/schema-0.1.3.tgz",
-      "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/console": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/@jest/console/-/console-27.5.1.tgz",
-      "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/types": "^27.5.1",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "jest-message-util": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/@jest/console/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/console/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@jest/console/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/console/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@jest/console/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/console/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/core": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/@jest/core/-/core-27.5.1.tgz",
-      "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/console": "^27.5.1",
-        "@jest/reporters": "^27.5.1",
-        "@jest/test-result": "^27.5.1",
-        "@jest/transform": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "@types/node": "*",
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.0.0",
-        "emittery": "^0.8.1",
-        "exit": "^0.1.2",
-        "graceful-fs": "^4.2.9",
-        "jest-changed-files": "^27.5.1",
-        "jest-config": "^27.5.1",
-        "jest-haste-map": "^27.5.1",
-        "jest-message-util": "^27.5.1",
-        "jest-regex-util": "^27.5.1",
-        "jest-resolve": "^27.5.1",
-        "jest-resolve-dependencies": "^27.5.1",
-        "jest-runner": "^27.5.1",
-        "jest-runtime": "^27.5.1",
-        "jest-snapshot": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "jest-validate": "^27.5.1",
-        "jest-watcher": "^27.5.1",
-        "micromatch": "^4.0.4",
-        "rimraf": "^3.0.0",
-        "slash": "^3.0.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      },
-      "peerDependencies": {
-        "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
-      },
-      "peerDependenciesMeta": {
-        "node-notifier": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@jest/core/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/core/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@jest/core/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/core/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@jest/core/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/core/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/environment": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/@jest/environment/-/environment-27.5.1.tgz",
-      "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/fake-timers": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "@types/node": "*",
-        "jest-mock": "^27.5.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/@jest/fake-timers": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz",
-      "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/types": "^27.5.1",
-        "@sinonjs/fake-timers": "^8.0.1",
-        "@types/node": "*",
-        "jest-message-util": "^27.5.1",
-        "jest-mock": "^27.5.1",
-        "jest-util": "^27.5.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/@jest/globals": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/@jest/globals/-/globals-27.5.1.tgz",
-      "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/environment": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "expect": "^27.5.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/@jest/reporters": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/@jest/reporters/-/reporters-27.5.1.tgz",
-      "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@bcoe/v8-coverage": "^0.2.3",
-        "@jest/console": "^27.5.1",
-        "@jest/test-result": "^27.5.1",
-        "@jest/transform": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "collect-v8-coverage": "^1.0.0",
-        "exit": "^0.1.2",
-        "glob": "^7.1.2",
-        "graceful-fs": "^4.2.9",
-        "istanbul-lib-coverage": "^3.0.0",
-        "istanbul-lib-instrument": "^5.1.0",
-        "istanbul-lib-report": "^3.0.0",
-        "istanbul-lib-source-maps": "^4.0.0",
-        "istanbul-reports": "^3.1.3",
-        "jest-haste-map": "^27.5.1",
-        "jest-resolve": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "jest-worker": "^27.5.1",
-        "slash": "^3.0.0",
-        "source-map": "^0.6.0",
-        "string-length": "^4.0.1",
-        "terminal-link": "^2.0.0",
-        "v8-to-istanbul": "^8.1.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      },
-      "peerDependencies": {
-        "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
-      },
-      "peerDependenciesMeta": {
-        "node-notifier": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@jest/reporters/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/reporters/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/source-map": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/@jest/source-map/-/source-map-27.5.1.tgz",
-      "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "callsites": "^3.0.0",
-        "graceful-fs": "^4.2.9",
-        "source-map": "^0.6.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/@jest/test-result": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/@jest/test-result/-/test-result-27.5.1.tgz",
-      "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/console": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "collect-v8-coverage": "^1.0.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/@jest/test-sequencer": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz",
-      "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/test-result": "^27.5.1",
-        "graceful-fs": "^4.2.9",
-        "jest-haste-map": "^27.5.1",
-        "jest-runtime": "^27.5.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/@jest/transform": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/@jest/transform/-/transform-27.5.1.tgz",
-      "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/core": "^7.1.0",
-        "@jest/types": "^27.5.1",
-        "babel-plugin-istanbul": "^6.1.1",
-        "chalk": "^4.0.0",
-        "convert-source-map": "^1.4.0",
-        "fast-json-stable-stringify": "^2.0.0",
-        "graceful-fs": "^4.2.9",
-        "jest-haste-map": "^27.5.1",
-        "jest-regex-util": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "micromatch": "^4.0.4",
-        "pirates": "^4.0.4",
-        "slash": "^3.0.0",
-        "source-map": "^0.6.1",
-        "write-file-atomic": "^3.0.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/@jest/transform/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/transform/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@jest/transform/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/transform/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@jest/transform/node_modules/convert-source-map": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz",
-      "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@jest/transform/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/transform/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/types": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/@jest/types/-/types-27.5.1.tgz",
-      "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^16.0.0",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/@jest/types/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/types/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@jest/types/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/@jest/types/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@jest/types/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jest/types/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@jimp/bmp": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/bmp/-/bmp-0.10.3.tgz",
-      "integrity": "sha512-keMOc5woiDmONXsB/6aXLR4Z5Q+v8lFq3EY2rcj2FmstbDMhRuGbmcBxlEgOqfRjwvtf/wOtJ3Of37oAWtVfLg==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "bmp-js": "^0.1.0",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/core": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/core/-/core-0.10.3.tgz",
-      "integrity": "sha512-Gd5IpL3U2bFIO57Fh/OA3HCpWm4uW/pU01E75rI03BXfTdz3T+J7TwvyG1XaqsQ7/DSlS99GXtLQPlfFIe28UA==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "any-base": "^1.1.0",
-        "buffer": "^5.2.0",
-        "core-js": "^3.4.1",
-        "exif-parser": "^0.1.12",
-        "file-type": "^9.0.0",
-        "load-bmfont": "^1.3.1",
-        "mkdirp": "^0.5.1",
-        "phin": "^2.9.1",
-        "pixelmatch": "^4.0.2",
-        "tinycolor2": "^1.4.1"
-      }
-    },
-    "node_modules/@jimp/custom": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/custom/-/custom-0.10.3.tgz",
-      "integrity": "sha512-nZmSI+jwTi5IRyNLbKSXQovoeqsw+D0Jn0SxW08wYQvdkiWA8bTlDQFgQ7HVwCAKBm8oKkDB/ZEo9qvHJ+1gAQ==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/core": "^0.10.3",
-        "core-js": "^3.4.1"
-      }
-    },
-    "node_modules/@jimp/gif": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/gif/-/gif-0.10.3.tgz",
-      "integrity": "sha512-vjlRodSfz1CrUvvrnUuD/DsLK1GHB/yDZXHthVdZu23zYJIW7/WrIiD1IgQ5wOMV7NocfrvPn2iqUfBP81/WWA==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1",
-        "omggif": "^1.0.9"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/jpeg": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/jpeg/-/jpeg-0.10.3.tgz",
-      "integrity": "sha512-AAANwgUZOt6f6P7LZxY9lyJ9xclqutYJlsxt3JbriXUGJgrrFAIkcKcqv1nObgmQASSAQKYaMV9KdHjMlWFKlQ==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1",
-        "jpeg-js": "^0.3.4"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-blit": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-blit/-/plugin-blit-0.10.3.tgz",
-      "integrity": "sha512-5zlKlCfx4JWw9qUVC7GI4DzXyxDWyFvgZLaoGFoT00mlXlN75SarlDwc9iZ/2e2kp4bJWxz3cGgG4G/WXrbg3Q==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-blur": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-blur/-/plugin-blur-0.10.3.tgz",
-      "integrity": "sha512-cTOK3rjh1Yjh23jSfA6EHCHjsPJDEGLC8K2y9gM7dnTUK1y9NNmkFS23uHpyjgsWFIoH9oRh2SpEs3INjCpZhQ==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-circle": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-circle/-/plugin-circle-0.10.3.tgz",
-      "integrity": "sha512-51GAPIVelqAcfuUpaM5JWJ0iWl4vEjNXB7p4P7SX5udugK5bxXUjO6KA2qgWmdpHuCKtoNgkzWU9fNSuYp7tCA==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-color": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-color/-/plugin-color-0.10.3.tgz",
-      "integrity": "sha512-RgeHUElmlTH7vpI4WyQrz6u59spiKfVQbsG/XUzfWGamFSixa24ZDwX/yV/Ts+eNaz7pZeIuv533qmKPvw2ujg==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1",
-        "tinycolor2": "^1.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-contain": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-contain/-/plugin-contain-0.10.3.tgz",
-      "integrity": "sha512-bYJKW9dqzcB0Ihc6u7jSyKa3juStzbLs2LFr6fu8TzA2WkMS/R8h+ddkiO36+F9ILTWHP0CIA3HFe5OdOGcigw==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5",
-        "@jimp/plugin-blit": ">=0.3.5",
-        "@jimp/plugin-resize": ">=0.3.5",
-        "@jimp/plugin-scale": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-cover": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-cover/-/plugin-cover-0.10.3.tgz",
-      "integrity": "sha512-pOxu0cM0BRPzdV468n4dMocJXoMbTnARDY/EpC3ZW15SpMuc/dr1KhWQHgoQX5kVW1Wt8zgqREAJJCQ5KuPKDA==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5",
-        "@jimp/plugin-crop": ">=0.3.5",
-        "@jimp/plugin-resize": ">=0.3.5",
-        "@jimp/plugin-scale": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-crop": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-crop/-/plugin-crop-0.10.3.tgz",
-      "integrity": "sha512-nB7HgOjjl9PgdHr076xZ3Sr6qHYzeBYBs9qvs3tfEEUeYMNnvzgCCGtUl6eMakazZFCMk3mhKmcB9zQuHFOvkg==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-displace": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-displace/-/plugin-displace-0.10.3.tgz",
-      "integrity": "sha512-8t3fVKCH5IVqI4lewe4lFFjpxxr69SQCz5/tlpDLQZsrNScNJivHdQ09zljTrVTCSgeCqQJIKgH2Q7Sk/pAZ0w==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-dither": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-dither/-/plugin-dither-0.10.3.tgz",
-      "integrity": "sha512-JCX/oNSnEg1kGQ8ffZ66bEgQOLCY3Rn+lrd6v1jjLy/mn9YVZTMsxLtGCXpiCDC2wG/KTmi4862ysmP9do9dAQ==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-fisheye": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.10.3.tgz",
-      "integrity": "sha512-RRZb1wqe+xdocGcFtj2xHU7sF7xmEZmIa6BmrfSchjyA2b32TGPWKnP3qyj7p6LWEsXn+19hRYbjfyzyebPElQ==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-flip": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-flip/-/plugin-flip-0.10.3.tgz",
-      "integrity": "sha512-0epbi8XEzp0wmSjoW9IB0iMu0yNF17aZOxLdURCN3Zr+8nWPs5VNIMqSVa1Y62GSyiMDpVpKF/ITiXre+EqrPg==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5",
-        "@jimp/plugin-rotate": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-gaussian": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.10.3.tgz",
-      "integrity": "sha512-25eHlFbHUDnMMGpgRBBeQ2AMI4wsqCg46sue0KklI+c2BaZ+dGXmJA5uT8RTOrt64/K9Wz5E+2n7eBnny4dfpQ==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-invert": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-invert/-/plugin-invert-0.10.3.tgz",
-      "integrity": "sha512-effYSApWY/FbtlzqsKXlTLkgloKUiHBKjkQnqh5RL4oQxh/33j6aX+HFdDyQKtsXb8CMd4xd7wyiD2YYabTa0g==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-mask": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-mask/-/plugin-mask-0.10.3.tgz",
-      "integrity": "sha512-twrg8q8TIhM9Z6Jcu9/5f+OCAPaECb0eKrrbbIajJqJ3bCUlj5zbfgIhiQIzjPJ6KjpnFPSqHQfHkU1Vvk/nVw==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-normalize": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-normalize/-/plugin-normalize-0.10.3.tgz",
-      "integrity": "sha512-xkb5eZI/mMlbwKkDN79+1/t/+DBo8bBXZUMsT4gkFgMRKNRZ6NQPxlv1d3QpRzlocsl6UMxrHnhgnXdLAcgrXw==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-print": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-print/-/plugin-print-0.10.3.tgz",
-      "integrity": "sha512-wjRiI6yjXsAgMe6kVjizP+RgleUCLkH256dskjoNvJzmzbEfO7xQw9g6M02VET+emnbY0CO83IkrGm2q43VRyg==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1",
-        "load-bmfont": "^1.4.0"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5",
-        "@jimp/plugin-blit": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-resize": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-resize/-/plugin-resize-0.10.3.tgz",
-      "integrity": "sha512-rf8YmEB1d7Sg+g4LpqF0Mp+dfXfb6JFJkwlAIWPUOR7lGsPWALavEwTW91c0etEdnp0+JB9AFpy6zqq7Lwkq6w==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-rotate": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-rotate/-/plugin-rotate-0.10.3.tgz",
-      "integrity": "sha512-YXLlRjm18fkW9MOHUaVAxWjvgZM851ofOipytz5FyKp4KZWDLk+dZK1JNmVmK7MyVmAzZ5jsgSLhIgj+GgN0Eg==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5",
-        "@jimp/plugin-blit": ">=0.3.5",
-        "@jimp/plugin-crop": ">=0.3.5",
-        "@jimp/plugin-resize": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-scale": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-scale/-/plugin-scale-0.10.3.tgz",
-      "integrity": "sha512-5DXD7x7WVcX1gUgnlFXQa8F+Q3ThRYwJm+aesgrYvDOY+xzRoRSdQvhmdd4JEEue3lyX44DvBSgCIHPtGcEPaw==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5",
-        "@jimp/plugin-resize": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-shadow": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-shadow/-/plugin-shadow-0.10.3.tgz",
-      "integrity": "sha512-/nkFXpt2zVcdP4ETdkAUL0fSzyrC5ZFxdcphbYBodqD7fXNqChS/Un1eD4xCXWEpW8cnG9dixZgQgStjywH0Mg==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5",
-        "@jimp/plugin-blur": ">=0.3.5",
-        "@jimp/plugin-resize": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/plugin-threshold": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugin-threshold/-/plugin-threshold-0.10.3.tgz",
-      "integrity": "sha512-Dzh0Yq2wXP2SOnxcbbiyA4LJ2luwrdf1MghNIt9H+NX7B+IWw/N8qA2GuSm9n4BPGSLluuhdAWJqHcTiREriVA==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5",
-        "@jimp/plugin-color": ">=0.8.0",
-        "@jimp/plugin-resize": ">=0.8.0"
-      }
-    },
-    "node_modules/@jimp/plugins": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/plugins/-/plugins-0.10.3.tgz",
-      "integrity": "sha512-jTT3/7hOScf0EIKiAXmxwayHhryhc1wWuIe3FrchjDjr9wgIGNN2a7XwCgPl3fML17DXK1x8EzDneCdh261bkw==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/plugin-blit": "^0.10.3",
-        "@jimp/plugin-blur": "^0.10.3",
-        "@jimp/plugin-circle": "^0.10.3",
-        "@jimp/plugin-color": "^0.10.3",
-        "@jimp/plugin-contain": "^0.10.3",
-        "@jimp/plugin-cover": "^0.10.3",
-        "@jimp/plugin-crop": "^0.10.3",
-        "@jimp/plugin-displace": "^0.10.3",
-        "@jimp/plugin-dither": "^0.10.3",
-        "@jimp/plugin-fisheye": "^0.10.3",
-        "@jimp/plugin-flip": "^0.10.3",
-        "@jimp/plugin-gaussian": "^0.10.3",
-        "@jimp/plugin-invert": "^0.10.3",
-        "@jimp/plugin-mask": "^0.10.3",
-        "@jimp/plugin-normalize": "^0.10.3",
-        "@jimp/plugin-print": "^0.10.3",
-        "@jimp/plugin-resize": "^0.10.3",
-        "@jimp/plugin-rotate": "^0.10.3",
-        "@jimp/plugin-scale": "^0.10.3",
-        "@jimp/plugin-shadow": "^0.10.3",
-        "@jimp/plugin-threshold": "^0.10.3",
-        "core-js": "^3.4.1",
-        "timm": "^1.6.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/png": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/png/-/png-0.10.3.tgz",
-      "integrity": "sha512-YKqk/dkl+nGZxSYIDQrqhmaP8tC3IK8H7dFPnnzFVvbhDnyYunqBZZO3SaZUKTichClRw8k/CjBhbc+hifSGWg==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/utils": "^0.10.3",
-        "core-js": "^3.4.1",
-        "pngjs": "^3.3.3"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/tiff": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/tiff/-/tiff-0.10.3.tgz",
-      "integrity": "sha512-7EsJzZ5Y/EtinkBGuwX3Bi4S+zgbKouxjt9c82VJTRJOQgLWsE/RHqcyRCOQBhHAZ9QexYmDz34medfLKdoX0g==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "core-js": "^3.4.1",
-        "utif": "^2.0.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/types": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/types/-/types-0.10.3.tgz",
-      "integrity": "sha512-XGmBakiHZqseSWr/puGN+CHzx0IKBSpsKlmEmsNV96HKDiP6eu8NSnwdGCEq2mmIHe0JNcg1hqg59hpwtQ7Tiw==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/bmp": "^0.10.3",
-        "@jimp/gif": "^0.10.3",
-        "@jimp/jpeg": "^0.10.3",
-        "@jimp/png": "^0.10.3",
-        "@jimp/tiff": "^0.10.3",
-        "core-js": "^3.4.1",
-        "timm": "^1.6.1"
-      },
-      "peerDependencies": {
-        "@jimp/custom": ">=0.3.5"
-      }
-    },
-    "node_modules/@jimp/utils": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/@jimp/utils/-/utils-0.10.3.tgz",
-      "integrity": "sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "core-js": "^3.4.1",
-        "regenerator-runtime": "^0.13.3"
-      }
-    },
-    "node_modules/@jridgewell/gen-mapping": {
-      "version": "0.3.5",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
-      "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
-      "dependencies": {
-        "@jridgewell/set-array": "^1.2.1",
-        "@jridgewell/sourcemap-codec": "^1.4.10",
-        "@jridgewell/trace-mapping": "^0.3.24"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@jridgewell/resolve-uri": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
-      "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@jridgewell/set-array": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz",
-      "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@jridgewell/source-map": {
-      "version": "0.3.6",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz",
-      "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
-      "devOptional": true,
-      "dependencies": {
-        "@jridgewell/gen-mapping": "^0.3.5",
-        "@jridgewell/trace-mapping": "^0.3.25"
-      }
-    },
-    "node_modules/@jridgewell/sourcemap-codec": {
-      "version": "1.4.15",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
-      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
-    },
-    "node_modules/@jridgewell/trace-mapping": {
-      "version": "0.3.25",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
-      "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
-      "dependencies": {
-        "@jridgewell/resolve-uri": "^3.1.0",
-        "@jridgewell/sourcemap-codec": "^1.4.14"
-      }
-    },
-    "node_modules/@nodelib/fs.scandir": {
-      "version": "2.1.5",
-      "resolved": "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
-      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
-      "dependencies": {
-        "@nodelib/fs.stat": "2.0.5",
-        "run-parallel": "^1.1.9"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/@nodelib/fs.stat": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
-      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/@nodelib/fs.walk": {
-      "version": "1.2.8",
-      "resolved": "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
-      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
-      "dependencies": {
-        "@nodelib/fs.scandir": "2.1.5",
-        "fastq": "^1.6.0"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/@qiun/wx-ucharts": {
-      "version": "2.5.0-20230101",
-      "resolved": "https://registry.npmmirror.com/@qiun/wx-ucharts/-/wx-ucharts-2.5.0-20230101.tgz",
-      "integrity": "sha512-sAaNUf4U6r4/0JZMTlfNwrtfT0v8qFO02B/wYsj4yZGTDAQ/QctGgKI7hVUDUSrqZnjH6xWqE+ql0FOIs1fTuQ=="
-    },
-    "node_modules/@rollup/pluginutils": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz",
-      "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==",
-      "dependencies": {
-        "estree-walker": "^2.0.1",
-        "picomatch": "^2.2.2"
-      },
-      "engines": {
-        "node": ">= 8.0.0"
-      }
-    },
-    "node_modules/@sinonjs/commons": {
-      "version": "1.8.6",
-      "resolved": "https://registry.npmmirror.com/@sinonjs/commons/-/commons-1.8.6.tgz",
-      "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "type-detect": "4.0.8"
-      }
-    },
-    "node_modules/@sinonjs/fake-timers": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmmirror.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz",
-      "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@sinonjs/commons": "^1.7.0"
-      }
-    },
-    "node_modules/@tootallnate/once": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz",
-      "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/@ttou/uview-typings": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmmirror.com/@ttou/uview-typings/-/uview-typings-2.0.5.tgz",
-      "integrity": "sha512-yyxEWWFcgKcEWkWB/riCXInjQs8gMKRBtaWarFyOZfvCmnEYSjqdtUppINpvRNbdJsV2kxNDeH8PsJ8FBovHBg==",
-      "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."
-    },
-    "node_modules/@types/babel__core": {
-      "version": "7.20.5",
-      "resolved": "https://registry.npmmirror.com/@types/babel__core/-/babel__core-7.20.5.tgz",
-      "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/parser": "^7.20.7",
-        "@babel/types": "^7.20.7",
-        "@types/babel__generator": "*",
-        "@types/babel__template": "*",
-        "@types/babel__traverse": "*"
-      }
-    },
-    "node_modules/@types/babel__generator": {
-      "version": "7.6.8",
-      "resolved": "https://registry.npmmirror.com/@types/babel__generator/-/babel__generator-7.6.8.tgz",
-      "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "node_modules/@types/babel__template": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmmirror.com/@types/babel__template/-/babel__template-7.4.4.tgz",
-      "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/parser": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "node_modules/@types/babel__traverse": {
-      "version": "7.20.5",
-      "resolved": "https://registry.npmmirror.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz",
-      "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/types": "^7.20.7"
-      }
-    },
-    "node_modules/@types/eslint": {
-      "version": "8.56.5",
-      "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.56.5.tgz",
-      "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@types/estree": "*",
-        "@types/json-schema": "*"
-      }
-    },
-    "node_modules/@types/eslint-scope": {
-      "version": "3.7.7",
-      "resolved": "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
-      "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@types/eslint": "*",
-        "@types/estree": "*"
-      }
-    },
-    "node_modules/@types/estree": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz",
-      "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@types/graceful-fs": {
-      "version": "4.1.9",
-      "resolved": "https://registry.npmmirror.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz",
-      "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/istanbul-lib-coverage": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
-      "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@types/istanbul-lib-report": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmmirror.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
-      "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "*"
-      }
-    },
-    "node_modules/@types/istanbul-reports": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmmirror.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
-      "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@types/istanbul-lib-report": "*"
-      }
-    },
-    "node_modules/@types/json-schema": {
-      "version": "7.0.15",
-      "resolved": "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz",
-      "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
-      "dev": true
-    },
-    "node_modules/@types/node": {
-      "version": "20.11.28",
-      "resolved": "https://registry.npmmirror.com/@types/node/-/node-20.11.28.tgz",
-      "integrity": "sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==",
-      "devOptional": true,
-      "peer": true,
-      "dependencies": {
-        "undici-types": "~5.26.4"
-      }
-    },
-    "node_modules/@types/prettier": {
-      "version": "2.7.3",
-      "resolved": "https://registry.npmmirror.com/@types/prettier/-/prettier-2.7.3.tgz",
-      "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@types/stack-utils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmmirror.com/@types/stack-utils/-/stack-utils-2.0.3.tgz",
-      "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@types/yargs": {
-      "version": "16.0.9",
-      "resolved": "https://registry.npmmirror.com/@types/yargs/-/yargs-16.0.9.tgz",
-      "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/@types/yargs-parser": {
-      "version": "21.0.3",
-      "resolved": "https://registry.npmmirror.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
-      "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@vitejs/plugin-legacy": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmmirror.com/@vitejs/plugin-legacy/-/plugin-legacy-4.1.1.tgz",
-      "integrity": "sha512-um3gbVouD2Q/g19C0qpDfHwveXDCAHzs8OC3e9g6aXpKoD1H14himgs7wkMnhAynBJy7QqUoZNAXDuqN8zLR2g==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.22.9",
-        "@babel/preset-env": "^7.22.9",
-        "browserslist": "^4.21.9",
-        "core-js": "^3.31.1",
-        "magic-string": "^0.30.1",
-        "regenerator-runtime": "^0.13.11",
-        "systemjs": "^6.14.1"
-      },
-      "engines": {
-        "node": "^14.18.0 || >=16.0.0"
-      },
-      "peerDependencies": {
-        "terser": "^5.4.0",
-        "vite": "^4.0.0"
-      }
-    },
-    "node_modules/@vitejs/plugin-vue": {
-      "version": "4.6.2",
-      "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz",
-      "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==",
-      "engines": {
-        "node": "^14.18.0 || >=16.0.0"
-      },
-      "peerDependencies": {
-        "vite": "^4.0.0 || ^5.0.0",
-        "vue": "^3.2.25"
-      }
-    },
-    "node_modules/@vitejs/plugin-vue-jsx": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.1.0.tgz",
-      "integrity": "sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==",
-      "dev": true,
-      "dependencies": {
-        "@babel/core": "^7.23.3",
-        "@babel/plugin-transform-typescript": "^7.23.3",
-        "@vue/babel-plugin-jsx": "^1.1.5"
-      },
-      "engines": {
-        "node": "^14.18.0 || >=16.0.0"
-      },
-      "peerDependencies": {
-        "vite": "^4.0.0 || ^5.0.0",
-        "vue": "^3.0.0"
-      }
-    },
-    "node_modules/@volar/language-core": {
-      "version": "1.11.1",
-      "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-1.11.1.tgz",
-      "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==",
-      "dev": true,
-      "dependencies": {
-        "@volar/source-map": "1.11.1"
-      }
-    },
-    "node_modules/@volar/source-map": {
-      "version": "1.11.1",
-      "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-1.11.1.tgz",
-      "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==",
-      "dev": true,
-      "dependencies": {
-        "muggle-string": "^0.3.1"
-      }
-    },
-    "node_modules/@volar/typescript": {
-      "version": "1.11.1",
-      "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-1.11.1.tgz",
-      "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==",
-      "dev": true,
-      "dependencies": {
-        "@volar/language-core": "1.11.1",
-        "path-browserify": "^1.0.1"
-      }
-    },
-    "node_modules/@vue/babel-helper-vue-transform-on": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.1.tgz",
-      "integrity": "sha512-jtEXim+pfyHWwvheYwUwSXm43KwQo8nhOBDyjrUITV6X2tB7lJm6n/+4sqR8137UVZZul5hBzWHdZ2uStYpyRQ==",
-      "dev": true
-    },
-    "node_modules/@vue/babel-plugin-jsx": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.1.tgz",
-      "integrity": "sha512-Yy9qGktktXhB39QE99So/BO2Uwm/ZG+gpL9vMg51ijRRbINvgbuhyJEi4WYmGRMx/MSTfK0xjgZ3/MyY+iLCEg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-module-imports": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/plugin-syntax-jsx": "^7.23.3",
-        "@babel/template": "^7.22.15",
-        "@babel/traverse": "^7.23.7",
-        "@babel/types": "^7.23.6",
-        "@vue/babel-helper-vue-transform-on": "1.2.1",
-        "@vue/babel-plugin-resolve-type": "1.2.1",
-        "camelcase": "^6.3.0",
-        "html-tags": "^3.3.1",
-        "svg-tags": "^1.0.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      },
-      "peerDependenciesMeta": {
-        "@babel/core": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@vue/babel-plugin-resolve-type": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.1.tgz",
-      "integrity": "sha512-IOtnI7pHunUzHS/y+EG/yPABIAp0VN8QhQ0UCS09jeMVxgAnI9qdOzO85RXdQGxq+aWCdv8/+k3W0aYO6j/8fQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.23.5",
-        "@babel/helper-module-imports": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/parser": "^7.23.6",
-        "@vue/compiler-sfc": "^3.4.15"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-core": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.21.tgz",
-      "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==",
-      "dev": true,
-      "dependencies": {
-        "@babel/parser": "^7.23.9",
-        "@vue/shared": "3.4.21",
-        "entities": "^4.5.0",
-        "estree-walker": "^2.0.2",
-        "source-map-js": "^1.0.2"
-      }
-    },
-    "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-dom": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz",
-      "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==",
-      "dev": true,
-      "dependencies": {
-        "@vue/compiler-core": "3.4.21",
-        "@vue/shared": "3.4.21"
-      }
-    },
-    "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-sfc": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz",
-      "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/parser": "^7.23.9",
-        "@vue/compiler-core": "3.4.21",
-        "@vue/compiler-dom": "3.4.21",
-        "@vue/compiler-ssr": "3.4.21",
-        "@vue/shared": "3.4.21",
-        "estree-walker": "^2.0.2",
-        "magic-string": "^0.30.7",
-        "postcss": "^8.4.35",
-        "source-map-js": "^1.0.2"
-      }
-    },
-    "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/compiler-ssr": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz",
-      "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==",
-      "dev": true,
-      "dependencies": {
-        "@vue/compiler-dom": "3.4.21",
-        "@vue/shared": "3.4.21"
-      }
-    },
-    "node_modules/@vue/babel-plugin-resolve-type/node_modules/@vue/shared": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz",
-      "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==",
-      "dev": true
-    },
-    "node_modules/@vue/compiler-core": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.47.tgz",
-      "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==",
-      "dependencies": {
-        "@babel/parser": "^7.16.4",
-        "@vue/shared": "3.2.47",
-        "estree-walker": "^2.0.2",
-        "source-map": "^0.6.1"
-      }
-    },
-    "node_modules/@vue/compiler-dom": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz",
-      "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==",
-      "dependencies": {
-        "@vue/compiler-core": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@vue/compiler-sfc": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz",
-      "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==",
-      "dependencies": {
-        "@babel/parser": "^7.16.4",
-        "@vue/compiler-core": "3.2.47",
-        "@vue/compiler-dom": "3.2.47",
-        "@vue/compiler-ssr": "3.2.47",
-        "@vue/reactivity-transform": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "estree-walker": "^2.0.2",
-        "magic-string": "^0.25.7",
-        "postcss": "^8.1.10",
-        "source-map": "^0.6.1"
-      }
-    },
-    "node_modules/@vue/compiler-sfc/node_modules/magic-string": {
-      "version": "0.25.9",
-      "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz",
-      "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
-      "dependencies": {
-        "sourcemap-codec": "^1.4.8"
-      }
-    },
-    "node_modules/@vue/compiler-ssr": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz",
-      "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==",
-      "dependencies": {
-        "@vue/compiler-dom": "3.2.47",
-        "@vue/shared": "3.2.47"
-      }
-    },
-    "node_modules/@vue/devtools-api": {
-      "version": "6.6.1",
-      "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.1.tgz",
-      "integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA=="
-    },
-    "node_modules/@vue/language-core": {
-      "version": "1.8.27",
-      "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-1.8.27.tgz",
-      "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==",
-      "dev": true,
-      "dependencies": {
-        "@volar/language-core": "~1.11.1",
-        "@volar/source-map": "~1.11.1",
-        "@vue/compiler-dom": "^3.3.0",
-        "@vue/shared": "^3.3.0",
-        "computeds": "^0.0.1",
-        "minimatch": "^9.0.3",
-        "muggle-string": "^0.3.1",
-        "path-browserify": "^1.0.1",
-        "vue-template-compiler": "^2.7.14"
-      },
-      "peerDependencies": {
-        "typescript": "*"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@vue/language-core/node_modules/@vue/compiler-core": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.21.tgz",
-      "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==",
-      "dev": true,
-      "dependencies": {
-        "@babel/parser": "^7.23.9",
-        "@vue/shared": "3.4.21",
-        "entities": "^4.5.0",
-        "estree-walker": "^2.0.2",
-        "source-map-js": "^1.0.2"
-      }
-    },
-    "node_modules/@vue/language-core/node_modules/@vue/compiler-dom": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz",
-      "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==",
-      "dev": true,
-      "dependencies": {
-        "@vue/compiler-core": "3.4.21",
-        "@vue/shared": "3.4.21"
-      }
-    },
-    "node_modules/@vue/language-core/node_modules/@vue/shared": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz",
-      "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==",
-      "dev": true
-    },
-    "node_modules/@vue/language-core/node_modules/brace-expansion": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz",
-      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
-      "dev": true,
-      "dependencies": {
-        "balanced-match": "^1.0.0"
-      }
-    },
-    "node_modules/@vue/language-core/node_modules/minimatch": {
-      "version": "9.0.3",
-      "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz",
-      "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
-      "dev": true,
-      "dependencies": {
-        "brace-expansion": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=16 || 14 >=14.17"
-      }
-    },
-    "node_modules/@vue/reactivity": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.21.tgz",
-      "integrity": "sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==",
-      "dependencies": {
-        "@vue/shared": "3.4.21"
-      }
-    },
-    "node_modules/@vue/reactivity-transform": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz",
-      "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==",
-      "dependencies": {
-        "@babel/parser": "^7.16.4",
-        "@vue/compiler-core": "3.2.47",
-        "@vue/shared": "3.2.47",
-        "estree-walker": "^2.0.2",
-        "magic-string": "^0.25.7"
-      }
-    },
-    "node_modules/@vue/reactivity-transform/node_modules/magic-string": {
-      "version": "0.25.9",
-      "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz",
-      "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
-      "dependencies": {
-        "sourcemap-codec": "^1.4.8"
-      }
-    },
-    "node_modules/@vue/reactivity/node_modules/@vue/shared": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz",
-      "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g=="
-    },
-    "node_modules/@vue/runtime-core": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.21.tgz",
-      "integrity": "sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==",
-      "dependencies": {
-        "@vue/reactivity": "3.4.21",
-        "@vue/shared": "3.4.21"
-      }
-    },
-    "node_modules/@vue/runtime-core/node_modules/@vue/shared": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz",
-      "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g=="
-    },
-    "node_modules/@vue/runtime-dom": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.21.tgz",
-      "integrity": "sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==",
-      "dependencies": {
-        "@vue/runtime-core": "3.4.21",
-        "@vue/shared": "3.4.21",
-        "csstype": "^3.1.3"
-      }
-    },
-    "node_modules/@vue/runtime-dom/node_modules/@vue/shared": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz",
-      "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g=="
-    },
-    "node_modules/@vue/server-renderer": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.21.tgz",
-      "integrity": "sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==",
-      "dependencies": {
-        "@vue/compiler-ssr": "3.4.21",
-        "@vue/shared": "3.4.21"
-      },
-      "peerDependencies": {
-        "vue": "3.4.21"
-      }
-    },
-    "node_modules/@vue/server-renderer/node_modules/@vue/compiler-core": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.21.tgz",
-      "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==",
-      "dependencies": {
-        "@babel/parser": "^7.23.9",
-        "@vue/shared": "3.4.21",
-        "entities": "^4.5.0",
-        "estree-walker": "^2.0.2",
-        "source-map-js": "^1.0.2"
-      }
-    },
-    "node_modules/@vue/server-renderer/node_modules/@vue/compiler-dom": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz",
-      "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==",
-      "dependencies": {
-        "@vue/compiler-core": "3.4.21",
-        "@vue/shared": "3.4.21"
-      }
-    },
-    "node_modules/@vue/server-renderer/node_modules/@vue/compiler-ssr": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz",
-      "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==",
-      "dependencies": {
-        "@vue/compiler-dom": "3.4.21",
-        "@vue/shared": "3.4.21"
-      }
-    },
-    "node_modules/@vue/server-renderer/node_modules/@vue/shared": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz",
-      "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g=="
-    },
-    "node_modules/@vue/shared": {
-      "version": "3.2.47",
-      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz",
-      "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ=="
-    },
-    "node_modules/@vue/tsconfig": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.1.3.tgz",
-      "integrity": "sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==",
-      "dev": true,
-      "peerDependencies": {
-        "@types/node": "*"
-      },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@webassemblyjs/ast": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.12.1.tgz",
-      "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@webassemblyjs/helper-numbers": "1.11.6",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
-      }
-    },
-    "node_modules/@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
-      "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@webassemblyjs/helper-api-error": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
-      "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@webassemblyjs/helper-buffer": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
-      "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@webassemblyjs/helper-numbers": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
-      "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@webassemblyjs/floating-point-hex-parser": "1.11.6",
-        "@webassemblyjs/helper-api-error": "1.11.6",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
-      "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@webassemblyjs/helper-wasm-section": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
-      "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-buffer": "1.12.1",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
-        "@webassemblyjs/wasm-gen": "1.12.1"
-      }
-    },
-    "node_modules/@webassemblyjs/ieee754": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
-      "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@xtuc/ieee754": "^1.2.0"
-      }
-    },
-    "node_modules/@webassemblyjs/leb128": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
-      "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@webassemblyjs/utf8": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
-      "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@webassemblyjs/wasm-edit": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
-      "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-buffer": "1.12.1",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
-        "@webassemblyjs/helper-wasm-section": "1.12.1",
-        "@webassemblyjs/wasm-gen": "1.12.1",
-        "@webassemblyjs/wasm-opt": "1.12.1",
-        "@webassemblyjs/wasm-parser": "1.12.1",
-        "@webassemblyjs/wast-printer": "1.12.1"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-gen": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
-      "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
-        "@webassemblyjs/ieee754": "1.11.6",
-        "@webassemblyjs/leb128": "1.11.6",
-        "@webassemblyjs/utf8": "1.11.6"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-opt": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
-      "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-buffer": "1.12.1",
-        "@webassemblyjs/wasm-gen": "1.12.1",
-        "@webassemblyjs/wasm-parser": "1.12.1"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-parser": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
-      "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-api-error": "1.11.6",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
-        "@webassemblyjs/ieee754": "1.11.6",
-        "@webassemblyjs/leb128": "1.11.6",
-        "@webassemblyjs/utf8": "1.11.6"
-      }
-    },
-    "node_modules/@webassemblyjs/wast-printer": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
-      "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@xtuc/ieee754": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
-      "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/@xtuc/long": {
-      "version": "4.2.2",
-      "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz",
-      "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/abab": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz",
-      "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
-      "deprecated": "Use your platform's native atob() and btoa() methods instead",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/accepts": {
-      "version": "1.3.8",
-      "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz",
-      "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
-      "dev": true,
-      "dependencies": {
-        "mime-types": "~2.1.34",
-        "negotiator": "0.6.3"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/acorn": {
-      "version": "8.11.3",
-      "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
-      "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
-      "devOptional": true,
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/acorn-globals": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-6.0.0.tgz",
-      "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "acorn": "^7.1.1",
-        "acorn-walk": "^7.1.1"
-      }
-    },
-    "node_modules/acorn-globals/node_modules/acorn": {
-      "version": "7.4.1",
-      "resolved": "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz",
-      "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
-      "dev": true,
-      "peer": true,
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/acorn-import-assertions": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
-      "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
-      "dev": true,
-      "peer": true,
-      "peerDependencies": {
-        "acorn": "^8"
-      }
-    },
-    "node_modules/acorn-walk": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz",
-      "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/address": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz",
-      "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 10.0.0"
-      }
-    },
-    "node_modules/agent-base": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz",
-      "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6.0.0"
-      }
-    },
-    "node_modules/ajv": {
-      "version": "6.12.6",
-      "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz",
-      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
-      "dev": true,
-      "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      }
-    },
-    "node_modules/ajv-keywords": {
-      "version": "3.5.2",
-      "resolved": "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
-      "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
-      "dev": true,
-      "peerDependencies": {
-        "ajv": "^6.9.1"
-      }
-    },
-    "node_modules/ansi-escapes": {
-      "version": "4.3.2",
-      "resolved": "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
-      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "type-fest": "^0.21.3"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ansi-regex": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ansi-styles": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz",
-      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-      "dependencies": {
-        "color-convert": "^1.9.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/any-base": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmmirror.com/any-base/-/any-base-1.1.0.tgz",
-      "integrity": "sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg=="
-    },
-    "node_modules/anymatch": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz",
-      "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
-      "dependencies": {
-        "normalize-path": "^3.0.0",
-        "picomatch": "^2.0.4"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/argparse": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz",
-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "sprintf-js": "~1.0.2"
-      }
-    },
-    "node_modules/array-flatten": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz",
-      "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
-      "dev": true
-    },
-    "node_modules/async-limiter": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/async-limiter/-/async-limiter-1.0.1.tgz",
-      "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
-    },
-    "node_modules/asynckit": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/autoprefixer": {
-      "version": "10.4.18",
-      "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.18.tgz",
-      "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==",
-      "dependencies": {
-        "browserslist": "^4.23.0",
-        "caniuse-lite": "^1.0.30001591",
-        "fraction.js": "^4.3.7",
-        "normalize-range": "^0.1.2",
-        "picocolors": "^1.0.0",
-        "postcss-value-parser": "^4.2.0"
-      },
-      "bin": {
-        "autoprefixer": "bin/autoprefixer"
-      },
-      "engines": {
-        "node": "^10 || ^12 || >=14"
-      },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
-      }
-    },
-    "node_modules/babel-jest": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/babel-jest/-/babel-jest-27.5.1.tgz",
-      "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/transform": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "@types/babel__core": "^7.1.14",
-        "babel-plugin-istanbul": "^6.1.1",
-        "babel-preset-jest": "^27.5.1",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.9",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.8.0"
-      }
-    },
-    "node_modules/babel-jest/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/babel-jest/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/babel-jest/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/babel-jest/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/babel-jest/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/babel-jest/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/babel-plugin-istanbul": {
-      "version": "6.1.1",
-      "resolved": "https://registry.npmmirror.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
-      "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@istanbuljs/load-nyc-config": "^1.0.0",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-instrument": "^5.0.4",
-        "test-exclude": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/babel-plugin-jest-hoist": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz",
-      "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/template": "^7.3.3",
-        "@babel/types": "^7.3.3",
-        "@types/babel__core": "^7.0.0",
-        "@types/babel__traverse": "^7.0.6"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-corejs2": {
-      "version": "0.4.10",
-      "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz",
-      "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/compat-data": "^7.22.6",
-        "@babel/helper-define-polyfill-provider": "^0.6.1",
-        "semver": "^6.3.1"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-corejs3": {
-      "version": "0.9.0",
-      "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz",
-      "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-define-polyfill-provider": "^0.5.0",
-        "core-js-compat": "^3.34.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-corejs3/node_modules/@babel/helper-define-polyfill-provider": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz",
-      "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-compilation-targets": "^7.22.6",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "debug": "^4.1.1",
-        "lodash.debounce": "^4.0.8",
-        "resolve": "^1.14.2"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-regenerator": {
-      "version": "0.5.5",
-      "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz",
-      "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-define-polyfill-provider": "^0.5.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-regenerator/node_modules/@babel/helper-define-polyfill-provider": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz",
-      "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==",
-      "dev": true,
-      "dependencies": {
-        "@babel/helper-compilation-targets": "^7.22.6",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "debug": "^4.1.1",
-        "lodash.debounce": "^4.0.8",
-        "resolve": "^1.14.2"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
-      }
-    },
-    "node_modules/babel-preset-current-node-syntax": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
-      "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/plugin-syntax-async-generators": "^7.8.4",
-        "@babel/plugin-syntax-bigint": "^7.8.3",
-        "@babel/plugin-syntax-class-properties": "^7.8.3",
-        "@babel/plugin-syntax-import-meta": "^7.8.3",
-        "@babel/plugin-syntax-json-strings": "^7.8.3",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
-        "@babel/plugin-syntax-numeric-separator": "^7.8.3",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
-        "@babel/plugin-syntax-top-level-await": "^7.8.3"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/babel-preset-jest": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz",
-      "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "babel-plugin-jest-hoist": "^27.5.1",
-        "babel-preset-current-node-syntax": "^1.0.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/balanced-match": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
-      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
-    },
-    "node_modules/base64-js": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
-      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
-    },
-    "node_modules/base64url": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmmirror.com/base64url/-/base64url-3.0.1.tgz",
-      "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==",
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/big.js": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz",
-      "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
-      "dev": true,
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/binary-extensions": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz",
-      "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/bl": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz",
-      "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
-      "dependencies": {
-        "buffer": "^5.5.0",
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.4.0"
-      }
-    },
-    "node_modules/bl/node_modules/readable-stream": {
-      "version": "3.6.2",
-      "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz",
-      "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/bmp-js": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmmirror.com/bmp-js/-/bmp-js-0.1.0.tgz",
-      "integrity": "sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw=="
-    },
-    "node_modules/body-parser": {
-      "version": "1.20.2",
-      "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.2.tgz",
-      "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
-      "dev": true,
-      "dependencies": {
-        "bytes": "3.1.2",
-        "content-type": "~1.0.5",
-        "debug": "2.6.9",
-        "depd": "2.0.0",
-        "destroy": "1.2.0",
-        "http-errors": "2.0.0",
-        "iconv-lite": "0.4.24",
-        "on-finished": "2.4.1",
-        "qs": "6.11.0",
-        "raw-body": "2.5.2",
-        "type-is": "~1.6.18",
-        "unpipe": "1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8",
-        "npm": "1.2.8000 || >= 1.4.16"
-      }
-    },
-    "node_modules/body-parser/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/body-parser/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
-      "dev": true
-    },
-    "node_modules/brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
-      "dependencies": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "node_modules/braces": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz",
-      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-      "dependencies": {
-        "fill-range": "^7.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/browser-process-hrtime": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
-      "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/browserslist": {
-      "version": "4.23.0",
-      "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz",
-      "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
-      "dependencies": {
-        "caniuse-lite": "^1.0.30001587",
-        "electron-to-chromium": "^1.4.668",
-        "node-releases": "^2.0.14",
-        "update-browserslist-db": "^1.0.13"
-      },
-      "bin": {
-        "browserslist": "cli.js"
-      },
-      "engines": {
-        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
-      }
-    },
-    "node_modules/bser": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz",
-      "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "node-int64": "^0.4.0"
-      }
-    },
-    "node_modules/buffer": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz",
-      "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
-      "dependencies": {
-        "base64-js": "^1.3.1",
-        "ieee754": "^1.1.13"
-      }
-    },
-    "node_modules/buffer-equal": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmmirror.com/buffer-equal/-/buffer-equal-0.0.1.tgz",
-      "integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==",
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/buffer-from": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
-      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
-    },
-    "node_modules/bytes": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz",
-      "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/cac": {
-      "version": "6.7.9",
-      "resolved": "https://registry.npmmirror.com/cac/-/cac-6.7.9.tgz",
-      "integrity": "sha512-XN5qEpfNQCJ8jRaZgitSkkukjMRCGio+X3Ks5KUbGGlPbV+pSem1l9VuzooCBXOiMFshUZgyYqg6rgN8rjkb/w==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/call-bind": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz",
-      "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
-      "dev": true,
-      "dependencies": {
-        "es-define-property": "^1.0.0",
-        "es-errors": "^1.3.0",
-        "function-bind": "^1.1.2",
-        "get-intrinsic": "^1.2.4",
-        "set-function-length": "^1.2.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/callback-stream": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmmirror.com/callback-stream/-/callback-stream-1.1.0.tgz",
-      "integrity": "sha512-sAZ9kODla+mGACBZ1IpTCAisKoGnv6PykW7fPk1LrM+mMepE18Yz0515yoVcrZy7dQsTUp3uZLQ/9Sx1RnLoHw==",
-      "dependencies": {
-        "inherits": "^2.0.1",
-        "readable-stream": "> 1.0.0 < 3.0.0"
-      }
-    },
-    "node_modules/callsites": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz",
-      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/camelcase": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz",
-      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/caniuse-lite": {
-      "version": "1.0.30001598",
-      "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001598.tgz",
-      "integrity": "sha512-j8mQRDziG94uoBfeFuqsJUNECW37DXpnvhcMJMdlH2u3MRkq1sAI0LJcXP1i/Py0KbSIC4UDj8YHPrTn5YsL+Q=="
-    },
-    "node_modules/chalk": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz",
-      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-      "dependencies": {
-        "ansi-styles": "^3.2.1",
-        "escape-string-regexp": "^1.0.5",
-        "supports-color": "^5.3.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/char-regex": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/char-regex/-/char-regex-1.0.2.tgz",
-      "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/chokidar": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz",
-      "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
-      "dependencies": {
-        "anymatch": "~3.1.2",
-        "braces": "~3.0.2",
-        "glob-parent": "~5.1.2",
-        "is-binary-path": "~2.1.0",
-        "is-glob": "~4.0.1",
-        "normalize-path": "~3.0.0",
-        "readdirp": "~3.6.0"
-      },
-      "engines": {
-        "node": ">= 8.10.0"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.2"
-      }
-    },
-    "node_modules/chrome-trace-event": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
-      "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=6.0"
-      }
-    },
-    "node_modules/ci-info": {
-      "version": "3.9.0",
-      "resolved": "https://registry.npmmirror.com/ci-info/-/ci-info-3.9.0.tgz",
-      "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/cjs-module-lexer": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmmirror.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz",
-      "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/clipboard": {
-      "version": "2.0.11",
-      "resolved": "https://registry.npmmirror.com/clipboard/-/clipboard-2.0.11.tgz",
-      "integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==",
-      "dependencies": {
-        "good-listener": "^1.2.2",
-        "select": "^1.1.2",
-        "tiny-emitter": "^2.0.0"
-      }
-    },
-    "node_modules/cliui": {
-      "version": "7.0.4",
-      "resolved": "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz",
-      "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "string-width": "^4.2.0",
-        "strip-ansi": "^6.0.0",
-        "wrap-ansi": "^7.0.0"
-      }
-    },
-    "node_modules/co": {
-      "version": "4.6.0",
-      "resolved": "https://registry.npmmirror.com/co/-/co-4.6.0.tgz",
-      "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "iojs": ">= 1.0.0",
-        "node": ">= 0.12.0"
-      }
-    },
-    "node_modules/collect-v8-coverage": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz",
-      "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/color-convert": {
-      "version": "1.9.3",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz",
-      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-      "dependencies": {
-        "color-name": "1.1.3"
-      }
-    },
-    "node_modules/color-name": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz",
-      "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
-    },
-    "node_modules/combined-stream": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
-      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "delayed-stream": "~1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/commander": {
-      "version": "2.20.3",
-      "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz",
-      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-      "devOptional": true
-    },
-    "node_modules/commist": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmmirror.com/commist/-/commist-1.1.0.tgz",
-      "integrity": "sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==",
-      "dependencies": {
-        "leven": "^2.1.0",
-        "minimist": "^1.1.0"
-      }
-    },
-    "node_modules/commist/node_modules/leven": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/leven/-/leven-2.1.0.tgz",
-      "integrity": "sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/compare-versions": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmmirror.com/compare-versions/-/compare-versions-3.6.0.tgz",
-      "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA=="
-    },
-    "node_modules/computeds": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmmirror.com/computeds/-/computeds-0.0.1.tgz",
-      "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==",
-      "dev": true
-    },
-    "node_modules/concat-map": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz",
-      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
-    },
-    "node_modules/concat-stream": {
-      "version": "1.6.2",
-      "resolved": "https://registry.npmmirror.com/concat-stream/-/concat-stream-1.6.2.tgz",
-      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
-      "engines": [
-        "node >= 0.8"
-      ],
-      "dependencies": {
-        "buffer-from": "^1.0.0",
-        "inherits": "^2.0.3",
-        "readable-stream": "^2.2.2",
-        "typedarray": "^0.0.6"
-      }
-    },
-    "node_modules/content-disposition": {
-      "version": "0.5.4",
-      "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz",
-      "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
-      "dev": true,
-      "dependencies": {
-        "safe-buffer": "5.2.1"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/content-type": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz",
-      "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/convert-source-map": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz",
-      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
-    },
-    "node_modules/cookie": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz",
-      "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/cookie-signature": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz",
-      "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
-      "dev": true
-    },
-    "node_modules/copy-anything": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz",
-      "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
-      "devOptional": true,
-      "dependencies": {
-        "is-what": "^3.14.1"
-      }
-    },
-    "node_modules/core-js": {
-      "version": "3.36.0",
-      "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.36.0.tgz",
-      "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==",
-      "hasInstallScript": true
-    },
-    "node_modules/core-js-compat": {
-      "version": "3.36.0",
-      "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.36.0.tgz",
-      "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==",
-      "dev": true,
-      "dependencies": {
-        "browserslist": "^4.22.3"
-      }
-    },
-    "node_modules/core-util-is": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz",
-      "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
-    },
-    "node_modules/cross-env": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmmirror.com/cross-env/-/cross-env-7.0.3.tgz",
-      "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
-      "dev": true,
-      "dependencies": {
-        "cross-spawn": "^7.0.1"
-      },
-      "bin": {
-        "cross-env": "src/bin/cross-env.js",
-        "cross-env-shell": "src/bin/cross-env-shell.js"
-      },
-      "engines": {
-        "node": ">=10.14",
-        "npm": ">=6",
-        "yarn": ">=1"
-      }
-    },
-    "node_modules/cross-spawn": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz",
-      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
-      "dev": true,
-      "dependencies": {
-        "path-key": "^3.1.0",
-        "shebang-command": "^2.0.0",
-        "which": "^2.0.1"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/css-font-size-keywords": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz",
-      "integrity": "sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q=="
-    },
-    "node_modules/css-font-stretch-keywords": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz",
-      "integrity": "sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg=="
-    },
-    "node_modules/css-font-style-keywords": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz",
-      "integrity": "sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg=="
-    },
-    "node_modules/css-font-weight-keywords": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz",
-      "integrity": "sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA=="
-    },
-    "node_modules/css-list-helpers": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/css-list-helpers/-/css-list-helpers-2.0.0.tgz",
-      "integrity": "sha512-9Bj8tZ0jWbAM3u/U6m/boAzAwLPwtjzFvwivr2piSvyVa3K3rChJzQy4RIHkNkKiZCHrEMWDJWtTR8UyVhdDnQ=="
-    },
-    "node_modules/css-system-font-keywords": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz",
-      "integrity": "sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA=="
-    },
-    "node_modules/cssesc": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz",
-      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
-      "bin": {
-        "cssesc": "bin/cssesc"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/cssom": {
-      "version": "0.4.4",
-      "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.4.4.tgz",
-      "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/cssstyle": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/cssstyle/-/cssstyle-2.3.0.tgz",
-      "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "cssom": "~0.3.6"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/cssstyle/node_modules/cssom": {
-      "version": "0.3.8",
-      "resolved": "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz",
-      "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/csstype": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz",
-      "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
-    },
-    "node_modules/d": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/d/-/d-1.0.2.tgz",
-      "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==",
-      "dependencies": {
-        "es5-ext": "^0.10.64",
-        "type": "^2.7.2"
-      },
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
-    "node_modules/data-urls": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/data-urls/-/data-urls-2.0.0.tgz",
-      "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "abab": "^2.0.3",
-        "whatwg-mimetype": "^2.3.0",
-        "whatwg-url": "^8.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/dayjs": {
-      "version": "1.11.10",
-      "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz",
-      "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
-    },
-    "node_modules/de-indent": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",
-      "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
-      "dev": true
-    },
-    "node_modules/debug": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
-      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
-      "dependencies": {
-        "ms": "2.1.2"
-      },
-      "engines": {
-        "node": ">=6.0"
-      },
-      "peerDependenciesMeta": {
-        "supports-color": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/decimal.js": {
-      "version": "10.4.3",
-      "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz",
-      "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/dedent": {
-      "version": "0.7.0",
-      "resolved": "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz",
-      "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/deepmerge": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.3.1.tgz",
-      "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/default-gateway": {
-      "version": "6.0.3",
-      "resolved": "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz",
-      "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
-      "dev": true,
-      "dependencies": {
-        "execa": "^5.0.0"
-      },
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/define-data-property": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz",
-      "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
-      "dev": true,
-      "dependencies": {
-        "es-define-property": "^1.0.0",
-        "es-errors": "^1.3.0",
-        "gopd": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/delayed-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/delegate": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmmirror.com/delegate/-/delegate-3.2.0.tgz",
-      "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
-    },
-    "node_modules/depd": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz",
-      "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/destroy": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz",
-      "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8",
-        "npm": "1.2.8000 || >= 1.4.16"
-      }
-    },
-    "node_modules/detect-newline": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmmirror.com/detect-newline/-/detect-newline-3.1.0.tgz",
-      "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/diff-sequences": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz",
-      "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/dom-walk": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz",
-      "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
-    },
-    "node_modules/domexception": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/domexception/-/domexception-2.0.1.tgz",
-      "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
-      "deprecated": "Use your platform's native DOMException instead",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "webidl-conversions": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/domexception/node_modules/webidl-conversions": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
-      "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/duplexify": {
-      "version": "3.7.1",
-      "resolved": "https://registry.npmmirror.com/duplexify/-/duplexify-3.7.1.tgz",
-      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
-      "dependencies": {
-        "end-of-stream": "^1.0.0",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.0",
-        "stream-shift": "^1.0.0"
-      }
-    },
-    "node_modules/ee-first": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
-      "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
-      "dev": true
-    },
-    "node_modules/electron-to-chromium": {
-      "version": "1.4.708",
-      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.708.tgz",
-      "integrity": "sha512-iWgEEvREL4GTXXHKohhh33+6Y8XkPI5eHihDmm8zUk5Zo7HICEW+wI/j5kJ2tbuNUCXJ/sNXa03ajW635DiJXA=="
-    },
-    "node_modules/emittery": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmmirror.com/emittery/-/emittery-0.8.1.tgz",
-      "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/emoji-regex": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
-      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/emojis-list": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz",
-      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
-      "dev": true,
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/end-of-stream": {
-      "version": "1.4.4",
-      "resolved": "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz",
-      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
-      "dependencies": {
-        "once": "^1.4.0"
-      }
-    },
-    "node_modules/enhanced-resolve": {
-      "version": "5.16.0",
-      "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz",
-      "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "graceful-fs": "^4.2.4",
-        "tapable": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
-    "node_modules/entities": {
-      "version": "4.5.0",
-      "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz",
-      "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
-    "node_modules/errno": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz",
-      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
-      "optional": true,
-      "dependencies": {
-        "prr": "~1.0.1"
-      },
-      "bin": {
-        "errno": "cli.js"
-      }
-    },
-    "node_modules/error-ex": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz",
-      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "is-arrayish": "^0.2.1"
-      }
-    },
-    "node_modules/es-define-property": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz",
-      "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
-      "dev": true,
-      "dependencies": {
-        "get-intrinsic": "^1.2.4"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/es-errors": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz",
-      "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/es-module-lexer": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
-      "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w=="
-    },
-    "node_modules/es5-ext": {
-      "version": "0.10.64",
-      "resolved": "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.64.tgz",
-      "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==",
-      "hasInstallScript": true,
-      "dependencies": {
-        "es6-iterator": "^2.0.3",
-        "es6-symbol": "^3.1.3",
-        "esniff": "^2.0.1",
-        "next-tick": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/es6-iterator": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz",
-      "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
-      "dependencies": {
-        "d": "1",
-        "es5-ext": "^0.10.35",
-        "es6-symbol": "^3.1.1"
-      }
-    },
-    "node_modules/es6-map": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmmirror.com/es6-map/-/es6-map-0.1.5.tgz",
-      "integrity": "sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==",
-      "dependencies": {
-        "d": "1",
-        "es5-ext": "~0.10.14",
-        "es6-iterator": "~2.0.1",
-        "es6-set": "~0.1.5",
-        "es6-symbol": "~3.1.1",
-        "event-emitter": "~0.3.5"
-      }
-    },
-    "node_modules/es6-set": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmmirror.com/es6-set/-/es6-set-0.1.6.tgz",
-      "integrity": "sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==",
-      "dependencies": {
-        "d": "^1.0.1",
-        "es5-ext": "^0.10.62",
-        "es6-iterator": "~2.0.3",
-        "es6-symbol": "^3.1.3",
-        "event-emitter": "^0.3.5",
-        "type": "^2.7.2"
-      },
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
-    "node_modules/es6-symbol": {
-      "version": "3.1.4",
-      "resolved": "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.4.tgz",
-      "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==",
-      "dependencies": {
-        "d": "^1.0.2",
-        "ext": "^1.7.0"
-      },
-      "engines": {
-        "node": ">=0.12"
-      }
-    },
-    "node_modules/esbuild": {
-      "version": "0.17.19",
-      "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.17.19.tgz",
-      "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==",
-      "hasInstallScript": true,
-      "bin": {
-        "esbuild": "bin/esbuild"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "optionalDependencies": {
-        "@esbuild/android-arm": "0.17.19",
-        "@esbuild/android-arm64": "0.17.19",
-        "@esbuild/android-x64": "0.17.19",
-        "@esbuild/darwin-arm64": "0.17.19",
-        "@esbuild/darwin-x64": "0.17.19",
-        "@esbuild/freebsd-arm64": "0.17.19",
-        "@esbuild/freebsd-x64": "0.17.19",
-        "@esbuild/linux-arm": "0.17.19",
-        "@esbuild/linux-arm64": "0.17.19",
-        "@esbuild/linux-ia32": "0.17.19",
-        "@esbuild/linux-loong64": "0.17.19",
-        "@esbuild/linux-mips64el": "0.17.19",
-        "@esbuild/linux-ppc64": "0.17.19",
-        "@esbuild/linux-riscv64": "0.17.19",
-        "@esbuild/linux-s390x": "0.17.19",
-        "@esbuild/linux-x64": "0.17.19",
-        "@esbuild/netbsd-x64": "0.17.19",
-        "@esbuild/openbsd-x64": "0.17.19",
-        "@esbuild/sunos-x64": "0.17.19",
-        "@esbuild/win32-arm64": "0.17.19",
-        "@esbuild/win32-ia32": "0.17.19",
-        "@esbuild/win32-x64": "0.17.19"
-      }
-    },
-    "node_modules/escalade": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz",
-      "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/escape-html": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz",
-      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
-      "dev": true
-    },
-    "node_modules/escape-string-regexp": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
-      "engines": {
-        "node": ">=0.8.0"
-      }
-    },
-    "node_modules/escodegen": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/escodegen/-/escodegen-2.1.0.tgz",
-      "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "esprima": "^4.0.1",
-        "estraverse": "^5.2.0",
-        "esutils": "^2.0.2"
-      },
-      "bin": {
-        "escodegen": "bin/escodegen.js",
-        "esgenerate": "bin/esgenerate.js"
-      },
-      "engines": {
-        "node": ">=6.0"
-      },
-      "optionalDependencies": {
-        "source-map": "~0.6.1"
-      }
-    },
-    "node_modules/eslint-scope": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz",
-      "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^4.1.1"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/eslint-scope/node_modules/estraverse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz",
-      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/esniff": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/esniff/-/esniff-2.0.1.tgz",
-      "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==",
-      "dependencies": {
-        "d": "^1.0.1",
-        "es5-ext": "^0.10.62",
-        "event-emitter": "^0.3.5",
-        "type": "^2.7.2"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/esprima": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz",
-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
-      "dev": true,
-      "peer": true,
-      "bin": {
-        "esparse": "bin/esparse.js",
-        "esvalidate": "bin/esvalidate.js"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/esrecurse": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz",
-      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "estraverse": "^5.2.0"
-      },
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/estraverse": {
-      "version": "5.3.0",
-      "resolved": "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz",
-      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/estree-walker": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
-      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
-    },
-    "node_modules/esutils": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz",
-      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/etag": {
-      "version": "1.8.1",
-      "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz",
-      "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/event-emitter": {
-      "version": "0.3.5",
-      "resolved": "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz",
-      "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
-      "dependencies": {
-        "d": "1",
-        "es5-ext": "~0.10.14"
-      }
-    },
-    "node_modules/events": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmmirror.com/events/-/events-3.3.0.tgz",
-      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=0.8.x"
-      }
-    },
-    "node_modules/execa": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz",
-      "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
-      "dev": true,
-      "dependencies": {
-        "cross-spawn": "^7.0.3",
-        "get-stream": "^6.0.0",
-        "human-signals": "^2.1.0",
-        "is-stream": "^2.0.0",
-        "merge-stream": "^2.0.0",
-        "npm-run-path": "^4.0.1",
-        "onetime": "^5.1.2",
-        "signal-exit": "^3.0.3",
-        "strip-final-newline": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/exif-parser": {
-      "version": "0.1.12",
-      "resolved": "https://registry.npmmirror.com/exif-parser/-/exif-parser-0.1.12.tgz",
-      "integrity": "sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw=="
-    },
-    "node_modules/exit": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz",
-      "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/expect": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/expect/-/expect-27.5.1.tgz",
-      "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/types": "^27.5.1",
-        "jest-get-type": "^27.5.1",
-        "jest-matcher-utils": "^27.5.1",
-        "jest-message-util": "^27.5.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/express": {
-      "version": "4.18.3",
-      "resolved": "https://registry.npmmirror.com/express/-/express-4.18.3.tgz",
-      "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==",
-      "dev": true,
-      "dependencies": {
-        "accepts": "~1.3.8",
-        "array-flatten": "1.1.1",
-        "body-parser": "1.20.2",
-        "content-disposition": "0.5.4",
-        "content-type": "~1.0.4",
-        "cookie": "0.5.0",
-        "cookie-signature": "1.0.6",
-        "debug": "2.6.9",
-        "depd": "2.0.0",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "finalhandler": "1.2.0",
-        "fresh": "0.5.2",
-        "http-errors": "2.0.0",
-        "merge-descriptors": "1.0.1",
-        "methods": "~1.1.2",
-        "on-finished": "2.4.1",
-        "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
-        "proxy-addr": "~2.0.7",
-        "qs": "6.11.0",
-        "range-parser": "~1.2.1",
-        "safe-buffer": "5.2.1",
-        "send": "0.18.0",
-        "serve-static": "1.15.0",
-        "setprototypeof": "1.2.0",
-        "statuses": "2.0.1",
-        "type-is": "~1.6.18",
-        "utils-merge": "1.0.1",
-        "vary": "~1.1.2"
-      },
-      "engines": {
-        "node": ">= 0.10.0"
-      }
-    },
-    "node_modules/express/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/express/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
-      "dev": true
-    },
-    "node_modules/ext": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz",
-      "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
-      "dependencies": {
-        "type": "^2.7.2"
-      }
-    },
-    "node_modules/extend": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz",
-      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
-    },
-    "node_modules/fast-deep-equal": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
-      "dev": true
-    },
-    "node_modules/fast-glob": {
-      "version": "3.3.2",
-      "resolved": "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz",
-      "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
-      "dependencies": {
-        "@nodelib/fs.stat": "^2.0.2",
-        "@nodelib/fs.walk": "^1.2.3",
-        "glob-parent": "^5.1.2",
-        "merge2": "^1.3.0",
-        "micromatch": "^4.0.4"
-      },
-      "engines": {
-        "node": ">=8.6.0"
-      }
-    },
-    "node_modules/fast-json-stable-stringify": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
-      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
-      "dev": true
-    },
-    "node_modules/fastq": {
-      "version": "1.17.1",
-      "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz",
-      "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
-      "dependencies": {
-        "reusify": "^1.0.4"
-      }
-    },
-    "node_modules/fb-watchman": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmmirror.com/fb-watchman/-/fb-watchman-2.0.2.tgz",
-      "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "bser": "2.1.1"
-      }
-    },
-    "node_modules/file-type": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmmirror.com/file-type/-/file-type-9.0.0.tgz",
-      "integrity": "sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/fill-range": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz",
-      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-      "dependencies": {
-        "to-regex-range": "^5.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/finalhandler": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz",
-      "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
-      "dev": true,
-      "dependencies": {
-        "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "on-finished": "2.4.1",
-        "parseurl": "~1.3.3",
-        "statuses": "2.0.1",
-        "unpipe": "~1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/finalhandler/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/finalhandler/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
-      "dev": true
-    },
-    "node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz",
-      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/form-data": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.1.tgz",
-      "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.8",
-        "mime-types": "^2.1.12"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/forwarded": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz",
-      "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/fraction.js": {
-      "version": "4.3.7",
-      "resolved": "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.3.7.tgz",
-      "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/fresh": {
-      "version": "0.5.2",
-      "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz",
-      "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/fs-extra": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz",
-      "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
-      "dependencies": {
-        "graceful-fs": "^4.2.0",
-        "jsonfile": "^6.0.1",
-        "universalify": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/fs.realpath": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz",
-      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
-    },
-    "node_modules/fsevents": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz",
-      "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
-      "hasInstallScript": true,
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
-      }
-    },
-    "node_modules/function-bind": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
-      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
-    },
-    "node_modules/generic-names": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/generic-names/-/generic-names-4.0.0.tgz",
-      "integrity": "sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==",
-      "dependencies": {
-        "loader-utils": "^3.2.0"
-      }
-    },
-    "node_modules/gensync": {
-      "version": "1.0.0-beta.2",
-      "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz",
-      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/get-caller-file": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz",
-      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": "6.* || 8.* || >= 10.*"
-      }
-    },
-    "node_modules/get-intrinsic": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
-      "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
-      "dev": true,
-      "dependencies": {
-        "es-errors": "^1.3.0",
-        "function-bind": "^1.1.2",
-        "has-proto": "^1.0.1",
-        "has-symbols": "^1.0.3",
-        "hasown": "^2.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/get-package-type": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmmirror.com/get-package-type/-/get-package-type-0.1.0.tgz",
-      "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/get-stream": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz",
-      "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
-      "dev": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz",
-      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-      "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/glob-parent": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
-      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-      "dependencies": {
-        "is-glob": "^4.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/glob-stream": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmmirror.com/glob-stream/-/glob-stream-6.1.0.tgz",
-      "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==",
-      "dependencies": {
-        "extend": "^3.0.0",
-        "glob": "^7.1.1",
-        "glob-parent": "^3.1.0",
-        "is-negated-glob": "^1.0.0",
-        "ordered-read-streams": "^1.0.0",
-        "pumpify": "^1.3.5",
-        "readable-stream": "^2.1.5",
-        "remove-trailing-separator": "^1.0.1",
-        "to-absolute-glob": "^2.0.0",
-        "unique-stream": "^2.0.2"
-      },
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/glob-stream/node_modules/glob-parent": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz",
-      "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==",
-      "dependencies": {
-        "is-glob": "^3.1.0",
-        "path-dirname": "^1.0.0"
-      }
-    },
-    "node_modules/glob-stream/node_modules/is-glob": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz",
-      "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==",
-      "dependencies": {
-        "is-extglob": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/glob-to-regexp": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
-      "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/global": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmmirror.com/global/-/global-4.4.0.tgz",
-      "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
-      "dependencies": {
-        "min-document": "^2.19.0",
-        "process": "^0.11.10"
-      }
-    },
-    "node_modules/globals": {
-      "version": "11.12.0",
-      "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/good-listener": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmmirror.com/good-listener/-/good-listener-1.2.2.tgz",
-      "integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==",
-      "dependencies": {
-        "delegate": "^3.1.2"
-      }
-    },
-    "node_modules/gopd": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz",
-      "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
-      "dev": true,
-      "dependencies": {
-        "get-intrinsic": "^1.1.3"
-      }
-    },
-    "node_modules/graceful-fs": {
-      "version": "4.2.11",
-      "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
-      "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
-    },
-    "node_modules/has-flag": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/has-property-descriptors": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
-      "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
-      "dev": true,
-      "dependencies": {
-        "es-define-property": "^1.0.0"
-      }
-    },
-    "node_modules/has-proto": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz",
-      "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/has-symbols": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz",
-      "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/hash-sum": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz",
-      "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg=="
-    },
-    "node_modules/hasown": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz",
-      "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
-      "dependencies": {
-        "function-bind": "^1.1.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/he": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz",
-      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
-      "dev": true,
-      "bin": {
-        "he": "bin/he"
-      }
-    },
-    "node_modules/help-me": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmmirror.com/help-me/-/help-me-1.1.0.tgz",
-      "integrity": "sha512-P/IZ8yOMne3SCTHbVY429NZ67B/2bVQlcYGZh2iPPbdLrEQ/qY5aGChn0YTDmt7Sb4IKRI51fypItav+lNl76w==",
-      "dependencies": {
-        "callback-stream": "^1.0.2",
-        "glob-stream": "^6.1.0",
-        "through2": "^2.0.1",
-        "xtend": "^4.0.0"
-      }
-    },
-    "node_modules/html-encoding-sniffer": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
-      "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "whatwg-encoding": "^1.0.5"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/html-escaper": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmmirror.com/html-escaper/-/html-escaper-2.0.2.tgz",
-      "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/html-tags": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz",
-      "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/http-errors": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz",
-      "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
-      "dev": true,
-      "dependencies": {
-        "depd": "2.0.0",
-        "inherits": "2.0.4",
-        "setprototypeof": "1.2.0",
-        "statuses": "2.0.1",
-        "toidentifier": "1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/http-proxy-agent": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
-      "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@tootallnate/once": "1",
-        "agent-base": "6",
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/https-proxy-agent": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-      "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "agent-base": "6",
-        "debug": "4"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/human-signals": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz",
-      "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
-      "dev": true,
-      "engines": {
-        "node": ">=10.17.0"
-      }
-    },
-    "node_modules/iconv-lite": {
-      "version": "0.4.24",
-      "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz",
-      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
-      "dev": true,
-      "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/icss-replace-symbols": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmmirror.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
-      "integrity": "sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg=="
-    },
-    "node_modules/icss-utils": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz",
-      "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
-      "engines": {
-        "node": "^10 || ^12 || >= 14"
-      },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
-      }
-    },
-    "node_modules/ieee754": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz",
-      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
-    },
-    "node_modules/image-size": {
-      "version": "0.5.5",
-      "resolved": "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz",
-      "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
-      "optional": true,
-      "bin": {
-        "image-size": "bin/image-size.js"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/immutable": {
-      "version": "4.3.5",
-      "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.3.5.tgz",
-      "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==",
-      "devOptional": true
-    },
-    "node_modules/import-local": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmmirror.com/import-local/-/import-local-3.1.0.tgz",
-      "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "pkg-dir": "^4.2.0",
-        "resolve-cwd": "^3.0.0"
-      },
-      "bin": {
-        "import-local-fixture": "fixtures/cli.js"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/imurmurhash": {
-      "version": "0.1.4",
-      "resolved": "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=0.8.19"
-      }
-    },
-    "node_modules/inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz",
-      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
-      "dependencies": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
-    "node_modules/inherits": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz",
-      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
-    },
-    "node_modules/invert-kv": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmmirror.com/invert-kv/-/invert-kv-3.0.1.tgz",
-      "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ipaddr.js": {
-      "version": "1.9.1",
-      "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
-      "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/is-absolute": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/is-absolute/-/is-absolute-1.0.0.tgz",
-      "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
-      "dependencies": {
-        "is-relative": "^1.0.0",
-        "is-windows": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-arrayish": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz",
-      "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/is-binary-path": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
-      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-      "dependencies": {
-        "binary-extensions": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/is-core-module": {
-      "version": "2.13.1",
-      "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz",
-      "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
-      "dependencies": {
-        "hasown": "^2.0.0"
-      }
-    },
-    "node_modules/is-extglob": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/is-function": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/is-function/-/is-function-1.0.2.tgz",
-      "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ=="
-    },
-    "node_modules/is-generator-fn": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
-      "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/is-glob": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
-      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
-      "dependencies": {
-        "is-extglob": "^2.1.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-negated-glob": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
-      "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-number": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
-      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-      "engines": {
-        "node": ">=0.12.0"
-      }
-    },
-    "node_modules/is-potential-custom-element-name": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
-      "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/is-relative": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/is-relative/-/is-relative-1.0.0.tgz",
-      "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
-      "dependencies": {
-        "is-unc-path": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-stream": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz",
-      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/is-typedarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/is-unc-path": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/is-unc-path/-/is-unc-path-1.0.0.tgz",
-      "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
-      "dependencies": {
-        "unc-path-regex": "^0.1.2"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-what": {
-      "version": "3.14.1",
-      "resolved": "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz",
-      "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
-      "devOptional": true
-    },
-    "node_modules/is-windows": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
-    },
-    "node_modules/isexe": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz",
-      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
-      "dev": true
-    },
-    "node_modules/istanbul-lib-coverage": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
-      "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-instrument": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
-      "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/core": "^7.12.3",
-        "@babel/parser": "^7.14.7",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-coverage": "^3.2.0",
-        "semver": "^6.3.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-report": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
-      "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "istanbul-lib-coverage": "^3.0.0",
-        "make-dir": "^4.0.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/istanbul-lib-report/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-report/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/istanbul-lib-source-maps": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
-      "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "debug": "^4.1.1",
-        "istanbul-lib-coverage": "^3.0.0",
-        "source-map": "^0.6.1"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/istanbul-reports": {
-      "version": "3.1.7",
-      "resolved": "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz",
-      "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "html-escaper": "^2.0.0",
-        "istanbul-lib-report": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest": {
-      "version": "27.0.4",
-      "resolved": "https://registry.npmmirror.com/jest/-/jest-27.0.4.tgz",
-      "integrity": "sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/core": "^27.0.4",
-        "import-local": "^3.0.2",
-        "jest-cli": "^27.0.4"
-      },
-      "bin": {
-        "jest": "bin/jest.js"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      },
-      "peerDependencies": {
-        "node-notifier": "^8.0.1 || ^9.0.0"
-      },
-      "peerDependenciesMeta": {
-        "node-notifier": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/jest-changed-files": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz",
-      "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/types": "^27.5.1",
-        "execa": "^5.0.0",
-        "throat": "^6.0.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-circus": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-circus/-/jest-circus-27.5.1.tgz",
-      "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/environment": "^27.5.1",
-        "@jest/test-result": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "co": "^4.6.0",
-        "dedent": "^0.7.0",
-        "expect": "^27.5.1",
-        "is-generator-fn": "^2.0.0",
-        "jest-each": "^27.5.1",
-        "jest-matcher-utils": "^27.5.1",
-        "jest-message-util": "^27.5.1",
-        "jest-runtime": "^27.5.1",
-        "jest-snapshot": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "pretty-format": "^27.5.1",
-        "slash": "^3.0.0",
-        "stack-utils": "^2.0.3",
-        "throat": "^6.0.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-circus/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-circus/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-circus/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-circus/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-circus/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-circus/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-cli": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-cli/-/jest-cli-27.5.1.tgz",
-      "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/core": "^27.5.1",
-        "@jest/test-result": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "chalk": "^4.0.0",
-        "exit": "^0.1.2",
-        "graceful-fs": "^4.2.9",
-        "import-local": "^3.0.2",
-        "jest-config": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "jest-validate": "^27.5.1",
-        "prompts": "^2.0.1",
-        "yargs": "^16.2.0"
-      },
-      "bin": {
-        "jest": "bin/jest.js"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      },
-      "peerDependencies": {
-        "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
-      },
-      "peerDependenciesMeta": {
-        "node-notifier": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/jest-cli/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-cli/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-cli/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-cli/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-cli/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-cli/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-config": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-config/-/jest-config-27.5.1.tgz",
-      "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/core": "^7.8.0",
-        "@jest/test-sequencer": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "babel-jest": "^27.5.1",
-        "chalk": "^4.0.0",
-        "ci-info": "^3.2.0",
-        "deepmerge": "^4.2.2",
-        "glob": "^7.1.1",
-        "graceful-fs": "^4.2.9",
-        "jest-circus": "^27.5.1",
-        "jest-environment-jsdom": "^27.5.1",
-        "jest-environment-node": "^27.5.1",
-        "jest-get-type": "^27.5.1",
-        "jest-jasmine2": "^27.5.1",
-        "jest-regex-util": "^27.5.1",
-        "jest-resolve": "^27.5.1",
-        "jest-runner": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "jest-validate": "^27.5.1",
-        "micromatch": "^4.0.4",
-        "parse-json": "^5.2.0",
-        "pretty-format": "^27.5.1",
-        "slash": "^3.0.0",
-        "strip-json-comments": "^3.1.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      },
-      "peerDependencies": {
-        "ts-node": ">=9.0.0"
-      },
-      "peerDependenciesMeta": {
-        "ts-node": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/jest-config/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-config/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-config/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-config/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-config/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-config/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-diff": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-diff/-/jest-diff-27.5.1.tgz",
-      "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "chalk": "^4.0.0",
-        "diff-sequences": "^27.5.1",
-        "jest-get-type": "^27.5.1",
-        "pretty-format": "^27.5.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-diff/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-diff/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-diff/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-diff/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-diff/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-diff/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-docblock": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-docblock/-/jest-docblock-27.5.1.tgz",
-      "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "detect-newline": "^3.0.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-each": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-each/-/jest-each-27.5.1.tgz",
-      "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/types": "^27.5.1",
-        "chalk": "^4.0.0",
-        "jest-get-type": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "pretty-format": "^27.5.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-each/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-each/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-each/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-each/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-each/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-each/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-environment-jsdom": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
-      "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/environment": "^27.5.1",
-        "@jest/fake-timers": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "@types/node": "*",
-        "jest-mock": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "jsdom": "^16.6.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-environment-node": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz",
-      "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/environment": "^27.5.1",
-        "@jest/fake-timers": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "@types/node": "*",
-        "jest-mock": "^27.5.1",
-        "jest-util": "^27.5.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-get-type": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-27.5.1.tgz",
-      "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-haste-map": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz",
-      "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/types": "^27.5.1",
-        "@types/graceful-fs": "^4.1.2",
-        "@types/node": "*",
-        "anymatch": "^3.0.3",
-        "fb-watchman": "^2.0.0",
-        "graceful-fs": "^4.2.9",
-        "jest-regex-util": "^27.5.1",
-        "jest-serializer": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "jest-worker": "^27.5.1",
-        "micromatch": "^4.0.4",
-        "walker": "^1.0.7"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      },
-      "optionalDependencies": {
-        "fsevents": "^2.3.2"
-      }
-    },
-    "node_modules/jest-jasmine2": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz",
-      "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/environment": "^27.5.1",
-        "@jest/source-map": "^27.5.1",
-        "@jest/test-result": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "co": "^4.6.0",
-        "expect": "^27.5.1",
-        "is-generator-fn": "^2.0.0",
-        "jest-each": "^27.5.1",
-        "jest-matcher-utils": "^27.5.1",
-        "jest-message-util": "^27.5.1",
-        "jest-runtime": "^27.5.1",
-        "jest-snapshot": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "pretty-format": "^27.5.1",
-        "throat": "^6.0.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-jasmine2/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-jasmine2/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-jasmine2/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-jasmine2/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-jasmine2/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-jasmine2/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-leak-detector": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz",
-      "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "jest-get-type": "^27.5.1",
-        "pretty-format": "^27.5.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-matcher-utils": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
-      "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "chalk": "^4.0.0",
-        "jest-diff": "^27.5.1",
-        "jest-get-type": "^27.5.1",
-        "pretty-format": "^27.5.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-matcher-utils/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-matcher-utils/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-message-util": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-27.5.1.tgz",
-      "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.12.13",
-        "@jest/types": "^27.5.1",
-        "@types/stack-utils": "^2.0.0",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.9",
-        "micromatch": "^4.0.4",
-        "pretty-format": "^27.5.1",
-        "slash": "^3.0.0",
-        "stack-utils": "^2.0.3"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-message-util/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-message-util/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-message-util/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-message-util/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-message-util/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-message-util/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-mock": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-mock/-/jest-mock-27.5.1.tgz",
-      "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/types": "^27.5.1",
-        "@types/node": "*"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-pnp-resolver": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmmirror.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
-      "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=6"
-      },
-      "peerDependencies": {
-        "jest-resolve": "*"
-      },
-      "peerDependenciesMeta": {
-        "jest-resolve": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/jest-regex-util": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz",
-      "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-resolve": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-resolve/-/jest-resolve-27.5.1.tgz",
-      "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/types": "^27.5.1",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.9",
-        "jest-haste-map": "^27.5.1",
-        "jest-pnp-resolver": "^1.2.2",
-        "jest-util": "^27.5.1",
-        "jest-validate": "^27.5.1",
-        "resolve": "^1.20.0",
-        "resolve.exports": "^1.1.0",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-resolve-dependencies": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz",
-      "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/types": "^27.5.1",
-        "jest-regex-util": "^27.5.1",
-        "jest-snapshot": "^27.5.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-resolve/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-resolve/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runner": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-runner/-/jest-runner-27.5.1.tgz",
-      "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/console": "^27.5.1",
-        "@jest/environment": "^27.5.1",
-        "@jest/test-result": "^27.5.1",
-        "@jest/transform": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "emittery": "^0.8.1",
-        "graceful-fs": "^4.2.9",
-        "jest-docblock": "^27.5.1",
-        "jest-environment-jsdom": "^27.5.1",
-        "jest-environment-node": "^27.5.1",
-        "jest-haste-map": "^27.5.1",
-        "jest-leak-detector": "^27.5.1",
-        "jest-message-util": "^27.5.1",
-        "jest-resolve": "^27.5.1",
-        "jest-runtime": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "jest-worker": "^27.5.1",
-        "source-map-support": "^0.5.6",
-        "throat": "^6.0.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-runner/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runner/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-runner/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-runner/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-runner/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runner/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runtime": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-runtime/-/jest-runtime-27.5.1.tgz",
-      "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/environment": "^27.5.1",
-        "@jest/fake-timers": "^27.5.1",
-        "@jest/globals": "^27.5.1",
-        "@jest/source-map": "^27.5.1",
-        "@jest/test-result": "^27.5.1",
-        "@jest/transform": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "chalk": "^4.0.0",
-        "cjs-module-lexer": "^1.0.0",
-        "collect-v8-coverage": "^1.0.0",
-        "execa": "^5.0.0",
-        "glob": "^7.1.3",
-        "graceful-fs": "^4.2.9",
-        "jest-haste-map": "^27.5.1",
-        "jest-message-util": "^27.5.1",
-        "jest-mock": "^27.5.1",
-        "jest-regex-util": "^27.5.1",
-        "jest-resolve": "^27.5.1",
-        "jest-snapshot": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "slash": "^3.0.0",
-        "strip-bom": "^4.0.0"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-runtime/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-runtime/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-serializer": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-serializer/-/jest-serializer-27.5.1.tgz",
-      "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@types/node": "*",
-        "graceful-fs": "^4.2.9"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-snapshot": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz",
-      "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/core": "^7.7.2",
-        "@babel/generator": "^7.7.2",
-        "@babel/plugin-syntax-typescript": "^7.7.2",
-        "@babel/traverse": "^7.7.2",
-        "@babel/types": "^7.0.0",
-        "@jest/transform": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "@types/babel__traverse": "^7.0.4",
-        "@types/prettier": "^2.1.5",
-        "babel-preset-current-node-syntax": "^1.0.0",
-        "chalk": "^4.0.0",
-        "expect": "^27.5.1",
-        "graceful-fs": "^4.2.9",
-        "jest-diff": "^27.5.1",
-        "jest-get-type": "^27.5.1",
-        "jest-haste-map": "^27.5.1",
-        "jest-matcher-utils": "^27.5.1",
-        "jest-message-util": "^27.5.1",
-        "jest-util": "^27.5.1",
-        "natural-compare": "^1.4.0",
-        "pretty-format": "^27.5.1",
-        "semver": "^7.3.2"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-snapshot/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/semver": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz",
-      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-snapshot/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-util": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-util/-/jest-util-27.5.1.tgz",
-      "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/types": "^27.5.1",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "ci-info": "^3.2.0",
-        "graceful-fs": "^4.2.9",
-        "picomatch": "^2.2.3"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-util/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-util/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-util/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-util/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-util/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-util/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-validate": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-validate/-/jest-validate-27.5.1.tgz",
-      "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/types": "^27.5.1",
-        "camelcase": "^6.2.0",
-        "chalk": "^4.0.0",
-        "jest-get-type": "^27.5.1",
-        "leven": "^3.1.0",
-        "pretty-format": "^27.5.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-validate/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-validate/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-validate/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-validate/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-validate/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-validate/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-watcher": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-27.5.1.tgz",
-      "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jest/test-result": "^27.5.1",
-        "@jest/types": "^27.5.1",
-        "@types/node": "*",
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.0.0",
-        "jest-util": "^27.5.1",
-        "string-length": "^4.0.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/jest-watcher/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-watcher/node_modules/chalk": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz",
-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jest-watcher/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/jest-watcher/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/jest-watcher/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-watcher/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-worker": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz",
-      "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@types/node": "*",
-        "merge-stream": "^2.0.0",
-        "supports-color": "^8.0.0"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      }
-    },
-    "node_modules/jest-worker/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/jest-worker/node_modules/supports-color": {
-      "version": "8.1.1",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz",
-      "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/jimp": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmmirror.com/jimp/-/jimp-0.10.3.tgz",
-      "integrity": "sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==",
-      "dependencies": {
-        "@babel/runtime": "^7.7.2",
-        "@jimp/custom": "^0.10.3",
-        "@jimp/plugins": "^0.10.3",
-        "@jimp/types": "^0.10.3",
-        "core-js": "^3.4.1",
-        "regenerator-runtime": "^0.13.3"
-      }
-    },
-    "node_modules/jpeg-js": {
-      "version": "0.3.7",
-      "resolved": "https://registry.npmmirror.com/jpeg-js/-/jpeg-js-0.3.7.tgz",
-      "integrity": "sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ=="
-    },
-    "node_modules/js-tokens": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
-    },
-    "node_modules/js-yaml": {
-      "version": "3.14.1",
-      "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz",
-      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
-      },
-      "bin": {
-        "js-yaml": "bin/js-yaml.js"
-      }
-    },
-    "node_modules/jsdom": {
-      "version": "16.7.0",
-      "resolved": "https://registry.npmmirror.com/jsdom/-/jsdom-16.7.0.tgz",
-      "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "abab": "^2.0.5",
-        "acorn": "^8.2.4",
-        "acorn-globals": "^6.0.0",
-        "cssom": "^0.4.4",
-        "cssstyle": "^2.3.0",
-        "data-urls": "^2.0.0",
-        "decimal.js": "^10.2.1",
-        "domexception": "^2.0.1",
-        "escodegen": "^2.0.0",
-        "form-data": "^3.0.0",
-        "html-encoding-sniffer": "^2.0.1",
-        "http-proxy-agent": "^4.0.1",
-        "https-proxy-agent": "^5.0.0",
-        "is-potential-custom-element-name": "^1.0.1",
-        "nwsapi": "^2.2.0",
-        "parse5": "6.0.1",
-        "saxes": "^5.0.1",
-        "symbol-tree": "^3.2.4",
-        "tough-cookie": "^4.0.0",
-        "w3c-hr-time": "^1.0.2",
-        "w3c-xmlserializer": "^2.0.0",
-        "webidl-conversions": "^6.1.0",
-        "whatwg-encoding": "^1.0.5",
-        "whatwg-mimetype": "^2.3.0",
-        "whatwg-url": "^8.5.0",
-        "ws": "^7.4.6",
-        "xml-name-validator": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "peerDependencies": {
-        "canvas": "^2.5.0"
-      },
-      "peerDependenciesMeta": {
-        "canvas": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/jsdom/node_modules/ws": {
-      "version": "7.5.9",
-      "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz",
-      "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8.3.0"
-      },
-      "peerDependencies": {
-        "bufferutil": "^4.0.1",
-        "utf-8-validate": "^5.0.2"
-      },
-      "peerDependenciesMeta": {
-        "bufferutil": {
-          "optional": true
-        },
-        "utf-8-validate": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/jsesc": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
-      "bin": {
-        "jsesc": "bin/jsesc"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/json-parse-even-better-errors": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
-      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "node_modules/json-stable-stringify-without-jsonify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
-      "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw=="
-    },
-    "node_modules/json5": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
-      "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
-      "bin": {
-        "json5": "lib/cli.js"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/jsonc-parser": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz",
-      "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA=="
-    },
-    "node_modules/jsonfile": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz",
-      "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
-      "dependencies": {
-        "universalify": "^2.0.0"
-      },
-      "optionalDependencies": {
-        "graceful-fs": "^4.1.6"
-      }
-    },
-    "node_modules/kleur": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmmirror.com/kleur/-/kleur-3.0.3.tgz",
-      "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/klona": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz",
-      "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/lcid": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmmirror.com/lcid/-/lcid-3.1.1.tgz",
-      "integrity": "sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==",
-      "dependencies": {
-        "invert-kv": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/less": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmmirror.com/less/-/less-4.2.0.tgz",
-      "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==",
-      "devOptional": true,
-      "dependencies": {
-        "copy-anything": "^2.0.1",
-        "parse-node-version": "^1.0.1",
-        "tslib": "^2.3.0"
-      },
-      "bin": {
-        "lessc": "bin/lessc"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "optionalDependencies": {
-        "errno": "^0.1.1",
-        "graceful-fs": "^4.1.2",
-        "image-size": "~0.5.0",
-        "make-dir": "^2.1.0",
-        "mime": "^1.4.1",
-        "needle": "^3.1.0",
-        "source-map": "~0.6.0"
-      }
-    },
-    "node_modules/less/node_modules/make-dir": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz",
-      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-      "optional": true,
-      "dependencies": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/less/node_modules/mime": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz",
-      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
-      "optional": true,
-      "bin": {
-        "mime": "cli.js"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/less/node_modules/pify": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz",
-      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-      "optional": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/less/node_modules/semver": {
-      "version": "5.7.2",
-      "resolved": "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz",
-      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
-      "optional": true,
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/leven": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmmirror.com/leven/-/leven-3.1.0.tgz",
-      "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/licia": {
-      "version": "1.39.2",
-      "resolved": "https://registry.npmmirror.com/licia/-/licia-1.39.2.tgz",
-      "integrity": "sha512-4pte7gXufSAa3JcsR0iT+2Lj2RX5Qpj+Nc0n84xs0ynNmw7eJmeZzk2oPTEtsQqwHwtT+NiX0arGkL5HPjTs7g=="
-    },
-    "node_modules/lilconfig": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz",
-      "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/lines-and-columns": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
-      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/load-bmfont": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmmirror.com/load-bmfont/-/load-bmfont-1.4.1.tgz",
-      "integrity": "sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==",
-      "dependencies": {
-        "buffer-equal": "0.0.1",
-        "mime": "^1.3.4",
-        "parse-bmfont-ascii": "^1.0.3",
-        "parse-bmfont-binary": "^1.0.5",
-        "parse-bmfont-xml": "^1.1.4",
-        "phin": "^2.9.1",
-        "xhr": "^2.0.1",
-        "xtend": "^4.0.0"
-      }
-    },
-    "node_modules/load-bmfont/node_modules/mime": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz",
-      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
-      "bin": {
-        "mime": "cli.js"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/loader-runner": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz",
-      "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=6.11.5"
-      }
-    },
-    "node_modules/loader-utils": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.2.1.tgz",
-      "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==",
-      "engines": {
-        "node": ">= 12.13.0"
-      }
-    },
-    "node_modules/localstorage-polyfill": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/localstorage-polyfill/-/localstorage-polyfill-1.0.1.tgz",
-      "integrity": "sha512-m4iHVZxFH5734oQcPKU08025gIz2+4bjWR9lulP8ZYxEJR0BpA0w32oJmkzh8y3UI9ci7xCBehQDc3oA1X+VHw==",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz",
-      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/lodash": {
-      "version": "4.17.21",
-      "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
-      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/lodash.camelcase": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
-      "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA=="
-    },
-    "node_modules/lodash.debounce": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
-      "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
-      "dev": true
-    },
-    "node_modules/lru-cache": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
-      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-      "dependencies": {
-        "yallist": "^3.0.2"
-      }
-    },
-    "node_modules/magic-string": {
-      "version": "0.30.8",
-      "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.8.tgz",
-      "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==",
-      "dependencies": {
-        "@jridgewell/sourcemap-codec": "^1.4.15"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/make-dir": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/make-dir/-/make-dir-4.0.0.tgz",
-      "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "semver": "^7.5.3"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/make-dir/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/make-dir/node_modules/semver": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz",
-      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/make-dir/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/makeerror": {
-      "version": "1.0.12",
-      "resolved": "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz",
-      "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "tmpl": "1.0.5"
-      }
-    },
-    "node_modules/media-typer": {
-      "version": "0.3.0",
-      "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz",
-      "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/merge": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmmirror.com/merge/-/merge-2.1.1.tgz",
-      "integrity": "sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w=="
-    },
-    "node_modules/merge-descriptors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
-      "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
-      "dev": true
-    },
-    "node_modules/merge-stream": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz",
-      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
-      "dev": true
-    },
-    "node_modules/merge2": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz",
-      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/methods": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz",
-      "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/micromatch": {
-      "version": "4.0.5",
-      "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz",
-      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
-      "dependencies": {
-        "braces": "^3.0.2",
-        "picomatch": "^2.3.1"
-      },
-      "engines": {
-        "node": ">=8.6"
-      }
-    },
-    "node_modules/mime": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/mime/-/mime-3.0.0.tgz",
-      "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
-      "bin": {
-        "mime": "cli.js"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/mime-db": {
-      "version": "1.52.0",
-      "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
-      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/mime-types": {
-      "version": "2.1.35",
-      "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
-      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
-      "dev": true,
-      "dependencies": {
-        "mime-db": "1.52.0"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/mimic-fn": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz",
-      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/min-document": {
-      "version": "2.19.0",
-      "resolved": "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz",
-      "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==",
-      "dependencies": {
-        "dom-walk": "^0.1.0"
-      }
-    },
-    "node_modules/minimatch": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz",
-      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/minimist": {
-      "version": "1.2.8",
-      "resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz",
-      "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
-    },
-    "node_modules/mkdirp": {
-      "version": "0.5.6",
-      "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz",
-      "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
-      "dependencies": {
-        "minimist": "^1.2.6"
-      },
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      }
-    },
-    "node_modules/module-alias": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmmirror.com/module-alias/-/module-alias-2.2.3.tgz",
-      "integrity": "sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q=="
-    },
-    "node_modules/mqtt": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmmirror.com/mqtt/-/mqtt-4.1.0.tgz",
-      "integrity": "sha512-dBihVZzaB8p9G/2ktSfamiaHmMnpCpP2du08317ZuEX1kBAbZOG9aMJQ11EChXnOX3GKUeiZYaSITueceQKT2A==",
-      "dependencies": {
-        "base64-js": "^1.3.0",
-        "commist": "^1.0.0",
-        "concat-stream": "^1.6.2",
-        "debug": "^4.1.1",
-        "end-of-stream": "^1.4.1",
-        "es6-map": "^0.1.5",
-        "help-me": "^1.0.1",
-        "inherits": "^2.0.3",
-        "minimist": "^1.2.0",
-        "mqtt-packet": "^6.0.0",
-        "pump": "^3.0.0",
-        "readable-stream": "^2.3.6",
-        "reinterval": "^1.1.0",
-        "split2": "^3.1.0",
-        "websocket-stream": "^5.1.2",
-        "xtend": "^4.0.1"
-      },
-      "bin": {
-        "mqtt": "bin/mqtt.js",
-        "mqtt_pub": "bin/pub.js",
-        "mqtt_sub": "bin/sub.js"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/mqtt-packet": {
-      "version": "6.10.0",
-      "resolved": "https://registry.npmmirror.com/mqtt-packet/-/mqtt-packet-6.10.0.tgz",
-      "integrity": "sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==",
-      "dependencies": {
-        "bl": "^4.0.2",
-        "debug": "^4.1.1",
-        "process-nextick-args": "^2.0.1"
-      }
-    },
-    "node_modules/ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
-    },
-    "node_modules/muggle-string": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.3.1.tgz",
-      "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==",
-      "dev": true
-    },
-    "node_modules/nanoid": {
-      "version": "3.3.7",
-      "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz",
-      "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
-      "bin": {
-        "nanoid": "bin/nanoid.cjs"
-      },
-      "engines": {
-        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
-      }
-    },
-    "node_modules/natural-compare": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz",
-      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/needle": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmmirror.com/needle/-/needle-3.3.1.tgz",
-      "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==",
-      "optional": true,
-      "dependencies": {
-        "iconv-lite": "^0.6.3",
-        "sax": "^1.2.4"
-      },
-      "bin": {
-        "needle": "bin/needle"
-      },
-      "engines": {
-        "node": ">= 4.4.x"
-      }
-    },
-    "node_modules/needle/node_modules/iconv-lite": {
-      "version": "0.6.3",
-      "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz",
-      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
-      "optional": true,
-      "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/negotiator": {
-      "version": "0.6.3",
-      "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz",
-      "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/neo-async": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz",
-      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
-      "dev": true
-    },
-    "node_modules/next-tick": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz",
-      "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
-    },
-    "node_modules/node-int64": {
-      "version": "0.4.0",
-      "resolved": "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz",
-      "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/node-releases": {
-      "version": "2.0.14",
-      "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz",
-      "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
-    },
-    "node_modules/normalize-path": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
-      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/normalize-range": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz",
-      "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/npm-run-path": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz",
-      "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
-      "dev": true,
-      "dependencies": {
-        "path-key": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/nwsapi": {
-      "version": "2.2.7",
-      "resolved": "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.7.tgz",
-      "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/object-inspect": {
-      "version": "1.13.1",
-      "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz",
-      "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
-      "dev": true
-    },
-    "node_modules/omggif": {
-      "version": "1.0.10",
-      "resolved": "https://registry.npmmirror.com/omggif/-/omggif-1.0.10.tgz",
-      "integrity": "sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw=="
-    },
-    "node_modules/on-finished": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz",
-      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
-      "dev": true,
-      "dependencies": {
-        "ee-first": "1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/once": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/once/-/once-1.4.0.tgz",
-      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
-      "dependencies": {
-        "wrappy": "1"
-      }
-    },
-    "node_modules/onetime": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz",
-      "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
-      "dev": true,
-      "dependencies": {
-        "mimic-fn": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/ordered-read-streams": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
-      "integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==",
-      "dependencies": {
-        "readable-stream": "^2.0.1"
-      }
-    },
-    "node_modules/os-locale-s-fix": {
-      "version": "1.0.8-fix-1",
-      "resolved": "https://registry.npmmirror.com/os-locale-s-fix/-/os-locale-s-fix-1.0.8-fix-1.tgz",
-      "integrity": "sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w==",
-      "dependencies": {
-        "lcid": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10",
-        "yarn": "^1.22.4"
-      }
-    },
-    "node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz",
-      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz",
-      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/pako": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz",
-      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
-    },
-    "node_modules/parse-bmfont-ascii": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmmirror.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz",
-      "integrity": "sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA=="
-    },
-    "node_modules/parse-bmfont-binary": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmmirror.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz",
-      "integrity": "sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA=="
-    },
-    "node_modules/parse-bmfont-xml": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmmirror.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.6.tgz",
-      "integrity": "sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==",
-      "dependencies": {
-        "xml-parse-from-string": "^1.0.0",
-        "xml2js": "^0.5.0"
-      }
-    },
-    "node_modules/parse-css-font": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/parse-css-font/-/parse-css-font-4.0.0.tgz",
-      "integrity": "sha512-lnY7dTUfjRXsSo5G5C639L8RaBBaVSgL+5hacIFKsNHzeCJQ5SFSZv1DZmc7+wZv/22PFGOq2YbaEHLdaCS/mQ==",
-      "dependencies": {
-        "css-font-size-keywords": "^1.0.0",
-        "css-font-stretch-keywords": "^1.0.1",
-        "css-font-style-keywords": "^1.0.1",
-        "css-font-weight-keywords": "^1.0.0",
-        "css-list-helpers": "^2.0.0",
-        "css-system-font-keywords": "^1.0.0",
-        "unquote": "^1.1.1"
-      }
-    },
-    "node_modules/parse-headers": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmmirror.com/parse-headers/-/parse-headers-2.0.5.tgz",
-      "integrity": "sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA=="
-    },
-    "node_modules/parse-json": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz",
-      "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.0.0",
-        "error-ex": "^1.3.1",
-        "json-parse-even-better-errors": "^2.3.0",
-        "lines-and-columns": "^1.1.6"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/parse-node-version": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz",
-      "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
-      "devOptional": true,
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/parse5": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz",
-      "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/parseurl": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz",
-      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/path-browserify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz",
-      "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
-      "dev": true
-    },
-    "node_modules/path-dirname": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q=="
-    },
-    "node_modules/path-exists": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz",
-      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
-      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/path-key": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz",
-      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/path-parse": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz",
-      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
-    },
-    "node_modules/path-to-regexp": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-      "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
-      "dev": true
-    },
-    "node_modules/phin": {
-      "version": "2.9.3",
-      "resolved": "https://registry.npmmirror.com/phin/-/phin-2.9.3.tgz",
-      "integrity": "sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==",
-      "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."
-    },
-    "node_modules/picocolors": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
-      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
-    },
-    "node_modules/picomatch": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
-      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
-      "engines": {
-        "node": ">=8.6"
-      }
-    },
-    "node_modules/pify": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz",
-      "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/pinia": {
-      "version": "2.1.7",
-      "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.1.7.tgz",
-      "integrity": "sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==",
-      "dependencies": {
-        "@vue/devtools-api": "^6.5.0",
-        "vue-demi": ">=0.14.5"
-      },
-      "peerDependencies": {
-        "@vue/composition-api": "^1.4.0",
-        "typescript": ">=4.4.4",
-        "vue": "^2.6.14 || ^3.3.0"
-      },
-      "peerDependenciesMeta": {
-        "@vue/composition-api": {
-          "optional": true
-        },
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/pinia/node_modules/vue-demi": {
-      "version": "0.14.7",
-      "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.7.tgz",
-      "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==",
-      "hasInstallScript": true,
-      "bin": {
-        "vue-demi-fix": "bin/vue-demi-fix.js",
-        "vue-demi-switch": "bin/vue-demi-switch.js"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "peerDependencies": {
-        "@vue/composition-api": "^1.0.0-rc.1",
-        "vue": "^3.0.0-0 || ^2.6.0"
-      },
-      "peerDependenciesMeta": {
-        "@vue/composition-api": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/pirates": {
-      "version": "4.0.6",
-      "resolved": "https://registry.npmmirror.com/pirates/-/pirates-4.0.6.tgz",
-      "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/pixelmatch": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmmirror.com/pixelmatch/-/pixelmatch-4.0.2.tgz",
-      "integrity": "sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==",
-      "dependencies": {
-        "pngjs": "^3.0.0"
-      },
-      "bin": {
-        "pixelmatch": "bin/pixelmatch"
-      }
-    },
-    "node_modules/pkg-dir": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz",
-      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "find-up": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/pngjs": {
-      "version": "3.4.0",
-      "resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-3.4.0.tgz",
-      "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==",
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/postcss": {
-      "version": "8.4.35",
-      "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.35.tgz",
-      "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==",
-      "dependencies": {
-        "nanoid": "^3.3.7",
-        "picocolors": "^1.0.0",
-        "source-map-js": "^1.0.2"
-      },
-      "engines": {
-        "node": "^10 || ^12 || >=14"
-      }
-    },
-    "node_modules/postcss-import": {
-      "version": "14.1.0",
-      "resolved": "https://registry.npmmirror.com/postcss-import/-/postcss-import-14.1.0.tgz",
-      "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
-      "dependencies": {
-        "postcss-value-parser": "^4.0.0",
-        "read-cache": "^1.0.0",
-        "resolve": "^1.1.7"
-      },
-      "engines": {
-        "node": ">=10.0.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.0.0"
-      }
-    },
-    "node_modules/postcss-load-config": {
-      "version": "3.1.4",
-      "resolved": "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
-      "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
-      "dependencies": {
-        "lilconfig": "^2.0.5",
-        "yaml": "^1.10.2"
-      },
-      "engines": {
-        "node": ">= 10"
-      },
-      "peerDependencies": {
-        "postcss": ">=8.0.9",
-        "ts-node": ">=9.0.0"
-      },
-      "peerDependenciesMeta": {
-        "postcss": {
-          "optional": true
-        },
-        "ts-node": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/postcss-modules": {
-      "version": "4.3.1",
-      "resolved": "https://registry.npmmirror.com/postcss-modules/-/postcss-modules-4.3.1.tgz",
-      "integrity": "sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==",
-      "dependencies": {
-        "generic-names": "^4.0.0",
-        "icss-replace-symbols": "^1.1.0",
-        "lodash.camelcase": "^4.3.0",
-        "postcss-modules-extract-imports": "^3.0.0",
-        "postcss-modules-local-by-default": "^4.0.0",
-        "postcss-modules-scope": "^3.0.0",
-        "postcss-modules-values": "^4.0.0",
-        "string-hash": "^1.1.1"
-      },
-      "peerDependencies": {
-        "postcss": "^8.0.0"
-      }
-    },
-    "node_modules/postcss-modules-extract-imports": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
-      "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
-      "engines": {
-        "node": "^10 || ^12 || >= 14"
-      },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
-      }
-    },
-    "node_modules/postcss-modules-local-by-default": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz",
-      "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==",
-      "dependencies": {
-        "icss-utils": "^5.0.0",
-        "postcss-selector-parser": "^6.0.2",
-        "postcss-value-parser": "^4.1.0"
-      },
-      "engines": {
-        "node": "^10 || ^12 || >= 14"
-      },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
-      }
-    },
-    "node_modules/postcss-modules-scope": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz",
-      "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==",
-      "dependencies": {
-        "postcss-selector-parser": "^6.0.4"
-      },
-      "engines": {
-        "node": "^10 || ^12 || >= 14"
-      },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
-      }
-    },
-    "node_modules/postcss-modules-values": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
-      "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
-      "dependencies": {
-        "icss-utils": "^5.0.0"
-      },
-      "engines": {
-        "node": "^10 || ^12 || >= 14"
-      },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
-      }
-    },
-    "node_modules/postcss-selector-parser": {
-      "version": "6.0.16",
-      "resolved": "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz",
-      "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==",
-      "dependencies": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/postcss-value-parser": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
-      "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
-    },
-    "node_modules/pretty-format": {
-      "version": "27.5.1",
-      "resolved": "https://registry.npmmirror.com/pretty-format/-/pretty-format-27.5.1.tgz",
-      "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-regex": "^5.0.1",
-        "ansi-styles": "^5.0.0",
-        "react-is": "^17.0.1"
-      },
-      "engines": {
-        "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-      }
-    },
-    "node_modules/pretty-format/node_modules/ansi-styles": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-5.2.0.tgz",
-      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/process": {
-      "version": "0.11.10",
-      "resolved": "https://registry.npmmirror.com/process/-/process-0.11.10.tgz",
-      "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
-      "engines": {
-        "node": ">= 0.6.0"
-      }
-    },
-    "node_modules/process-nextick-args": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
-    },
-    "node_modules/prompts": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmmirror.com/prompts/-/prompts-2.4.2.tgz",
-      "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "kleur": "^3.0.3",
-        "sisteransi": "^1.0.5"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/proxy-addr": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz",
-      "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
-      "dev": true,
-      "dependencies": {
-        "forwarded": "0.2.0",
-        "ipaddr.js": "1.9.1"
-      },
-      "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/prr": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz",
-      "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
-      "optional": true
-    },
-    "node_modules/psl": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz",
-      "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/pump": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz",
-      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
-      "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "node_modules/pumpify": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmmirror.com/pumpify/-/pumpify-1.5.1.tgz",
-      "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
-      "dependencies": {
-        "duplexify": "^3.6.0",
-        "inherits": "^2.0.3",
-        "pump": "^2.0.0"
-      }
-    },
-    "node_modules/pumpify/node_modules/pump": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/pump/-/pump-2.0.1.tgz",
-      "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
-      "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
-      }
-    },
-    "node_modules/punycode": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz",
-      "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/qrcode-reader": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmmirror.com/qrcode-reader/-/qrcode-reader-1.0.4.tgz",
-      "integrity": "sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ=="
-    },
-    "node_modules/qrcode-terminal": {
-      "version": "0.12.0",
-      "resolved": "https://registry.npmmirror.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz",
-      "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==",
-      "bin": {
-        "qrcode-terminal": "bin/qrcode-terminal.js"
-      }
-    },
-    "node_modules/qs": {
-      "version": "6.11.0",
-      "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz",
-      "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
-      "dev": true,
-      "dependencies": {
-        "side-channel": "^1.0.4"
-      },
-      "engines": {
-        "node": ">=0.6"
-      }
-    },
-    "node_modules/querystringify": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz",
-      "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/queue-microtask": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz",
-      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
-    },
-    "node_modules/randombytes": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz",
-      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "safe-buffer": "^5.1.0"
-      }
-    },
-    "node_modules/range-parser": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz",
-      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/raw-body": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz",
-      "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
-      "dev": true,
-      "dependencies": {
-        "bytes": "3.1.2",
-        "http-errors": "2.0.0",
-        "iconv-lite": "0.4.24",
-        "unpipe": "1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/react-is": {
-      "version": "17.0.2",
-      "resolved": "https://registry.npmmirror.com/react-is/-/react-is-17.0.2.tgz",
-      "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/read-cache": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz",
-      "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
-      "dependencies": {
-        "pify": "^2.3.0"
-      }
-    },
-    "node_modules/readable-stream": {
-      "version": "2.3.8",
-      "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz",
-      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
-      }
-    },
-    "node_modules/readable-stream/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
-    },
-    "node_modules/readdirp": {
-      "version": "3.6.0",
-      "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
-      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-      "dependencies": {
-        "picomatch": "^2.2.1"
-      },
-      "engines": {
-        "node": ">=8.10.0"
-      }
-    },
-    "node_modules/regenerate": {
-      "version": "1.4.2",
-      "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz",
-      "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
-      "dev": true
-    },
-    "node_modules/regenerate-unicode-properties": {
-      "version": "10.1.1",
-      "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz",
-      "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==",
-      "dev": true,
-      "dependencies": {
-        "regenerate": "^1.4.2"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/regenerator-runtime": {
-      "version": "0.13.11",
-      "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
-      "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
-    },
-    "node_modules/regenerator-transform": {
-      "version": "0.15.2",
-      "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
-      "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
-      "dev": true,
-      "dependencies": {
-        "@babel/runtime": "^7.8.4"
-      }
-    },
-    "node_modules/regexpu-core": {
-      "version": "5.3.2",
-      "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz",
-      "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/regjsgen": "^0.8.0",
-        "regenerate": "^1.4.2",
-        "regenerate-unicode-properties": "^10.1.0",
-        "regjsparser": "^0.9.1",
-        "unicode-match-property-ecmascript": "^2.0.0",
-        "unicode-match-property-value-ecmascript": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/regjsparser": {
-      "version": "0.9.1",
-      "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz",
-      "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
-      "dev": true,
-      "dependencies": {
-        "jsesc": "~0.5.0"
-      },
-      "bin": {
-        "regjsparser": "bin/parser"
-      }
-    },
-    "node_modules/regjsparser/node_modules/jsesc": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz",
-      "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
-      "dev": true,
-      "bin": {
-        "jsesc": "bin/jsesc"
-      }
-    },
-    "node_modules/reinterval": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmmirror.com/reinterval/-/reinterval-1.1.0.tgz",
-      "integrity": "sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ=="
-    },
-    "node_modules/remove-trailing-separator": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmmirror.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw=="
-    },
-    "node_modules/require-directory": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/requires-port": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz",
-      "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/resolve": {
-      "version": "1.22.8",
-      "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz",
-      "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
-      "dependencies": {
-        "is-core-module": "^2.13.0",
-        "path-parse": "^1.0.7",
-        "supports-preserve-symlinks-flag": "^1.0.0"
-      },
-      "bin": {
-        "resolve": "bin/resolve"
-      }
-    },
-    "node_modules/resolve-cwd": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
-      "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "resolve-from": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/resolve-from": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-5.0.0.tgz",
-      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/resolve.exports": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmmirror.com/resolve.exports/-/resolve.exports-1.1.1.tgz",
-      "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/reusify": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz",
-      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
-      "engines": {
-        "iojs": ">=1.0.0",
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz",
-      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      }
-    },
-    "node_modules/rollup": {
-      "version": "3.29.4",
-      "resolved": "https://registry.npmmirror.com/rollup/-/rollup-3.29.4.tgz",
-      "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
-      "bin": {
-        "rollup": "dist/bin/rollup"
-      },
-      "engines": {
-        "node": ">=14.18.0",
-        "npm": ">=8.0.0"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.2"
-      }
-    },
-    "node_modules/run-parallel": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz",
-      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
-      "dependencies": {
-        "queue-microtask": "^1.2.2"
-      }
-    },
-    "node_modules/safe-area-insets": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmmirror.com/safe-area-insets/-/safe-area-insets-1.4.1.tgz",
-      "integrity": "sha512-r/nRWTjFGhhm3w1Z6Kd/jY11srN+lHt2mNl1E/emQGW8ic7n3Avu4noibklfSM+Y34peNphHD/BSZecav0sXYQ=="
-    },
-    "node_modules/safe-buffer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
-      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-      "dev": true
-    },
-    "node_modules/safer-buffer": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz",
-      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
-      "devOptional": true
-    },
-    "node_modules/sass": {
-      "version": "1.72.0",
-      "resolved": "https://registry.npmmirror.com/sass/-/sass-1.72.0.tgz",
-      "integrity": "sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==",
-      "devOptional": true,
-      "dependencies": {
-        "chokidar": ">=3.0.0 <4.0.0",
-        "immutable": "^4.0.0",
-        "source-map-js": ">=0.6.2 <2.0.0"
-      },
-      "bin": {
-        "sass": "sass.js"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      }
-    },
-    "node_modules/sass-loader": {
-      "version": "10.5.2",
-      "resolved": "https://registry.npmmirror.com/sass-loader/-/sass-loader-10.5.2.tgz",
-      "integrity": "sha512-vMUoSNOUKJILHpcNCCyD23X34gve1TS7Rjd9uXHeKqhvBG39x6XbswFDtpbTElj6XdMFezoWhkh5vtKudf2cgQ==",
-      "dev": true,
-      "dependencies": {
-        "klona": "^2.0.4",
-        "loader-utils": "^2.0.0",
-        "neo-async": "^2.6.2",
-        "schema-utils": "^3.0.0",
-        "semver": "^7.3.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "peerDependencies": {
-        "fibers": ">= 3.1.0",
-        "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0",
-        "sass": "^1.3.0",
-        "webpack": "^4.36.0 || ^5.0.0"
-      },
-      "peerDependenciesMeta": {
-        "fibers": {
-          "optional": true
-        },
-        "node-sass": {
-          "optional": true
-        },
-        "sass": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/sass-loader/node_modules/loader-utils": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz",
-      "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
-      "dev": true,
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^2.1.2"
-      },
-      "engines": {
-        "node": ">=8.9.0"
-      }
-    },
-    "node_modules/sass-loader/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/sass-loader/node_modules/semver": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz",
-      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/sass-loader/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
-    "node_modules/sax": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz",
-      "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA=="
-    },
-    "node_modules/saxes": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmmirror.com/saxes/-/saxes-5.0.1.tgz",
-      "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "xmlchars": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/schema-utils": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
-      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
-      "dev": true,
-      "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      }
-    },
-    "node_modules/select": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmmirror.com/select/-/select-1.1.2.tgz",
-      "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA=="
-    },
-    "node_modules/semver": {
-      "version": "6.3.1",
-      "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
-      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/send": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz",
-      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
-      "dev": true,
-      "dependencies": {
-        "debug": "2.6.9",
-        "depd": "2.0.0",
-        "destroy": "1.2.0",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "fresh": "0.5.2",
-        "http-errors": "2.0.0",
-        "mime": "1.6.0",
-        "ms": "2.1.3",
-        "on-finished": "2.4.1",
-        "range-parser": "~1.2.1",
-        "statuses": "2.0.1"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/send/node_modules/debug": {
-      "version": "2.6.9",
-      "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
-      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/send/node_modules/debug/node_modules/ms": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
-      "dev": true
-    },
-    "node_modules/send/node_modules/mime": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz",
-      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
-      "dev": true,
-      "bin": {
-        "mime": "cli.js"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/send/node_modules/ms": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
-      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
-      "dev": true
-    },
-    "node_modules/serialize-javascript": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
-      "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "randombytes": "^2.1.0"
-      }
-    },
-    "node_modules/serve-static": {
-      "version": "1.15.0",
-      "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz",
-      "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
-      "dev": true,
-      "dependencies": {
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "parseurl": "~1.3.3",
-        "send": "0.18.0"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/set-function-length": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz",
-      "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
-      "dev": true,
-      "dependencies": {
-        "define-data-property": "^1.1.4",
-        "es-errors": "^1.3.0",
-        "function-bind": "^1.1.2",
-        "get-intrinsic": "^1.2.4",
-        "gopd": "^1.0.1",
-        "has-property-descriptors": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/setprototypeof": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz",
-      "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
-      "dev": true
-    },
-    "node_modules/shebang-command": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz",
-      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
-      "dev": true,
-      "dependencies": {
-        "shebang-regex": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/shebang-regex": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz",
-      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/side-channel": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz",
-      "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
-      "dev": true,
-      "dependencies": {
-        "call-bind": "^1.0.7",
-        "es-errors": "^1.3.0",
-        "get-intrinsic": "^1.2.4",
-        "object-inspect": "^1.13.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/signal-exit": {
-      "version": "3.0.7",
-      "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz",
-      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
-      "dev": true
-    },
-    "node_modules/sisteransi": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmmirror.com/sisteransi/-/sisteransi-1.0.5.tgz",
-      "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/slash": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz",
-      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/source-map": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
-      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/source-map-js": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
-      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/source-map-support": {
-      "version": "0.5.21",
-      "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz",
-      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
-      "devOptional": true,
-      "dependencies": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      }
-    },
-    "node_modules/sourcemap-codec": {
-      "version": "1.4.8",
-      "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
-      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
-      "deprecated": "Please use @jridgewell/sourcemap-codec instead"
-    },
-    "node_modules/split2": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmmirror.com/split2/-/split2-3.2.2.tgz",
-      "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==",
-      "dependencies": {
-        "readable-stream": "^3.0.0"
-      }
-    },
-    "node_modules/split2/node_modules/readable-stream": {
-      "version": "3.6.2",
-      "resolved": "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz",
-      "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/sprintf-js": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/stack-utils": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmmirror.com/stack-utils/-/stack-utils-2.0.6.tgz",
-      "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "escape-string-regexp": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/stack-utils/node_modules/escape-string-regexp": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
-      "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/statuses": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz",
-      "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/stream-shift": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmmirror.com/stream-shift/-/stream-shift-1.0.3.tgz",
-      "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ=="
-    },
-    "node_modules/string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/string_decoder/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
-    },
-    "node_modules/string-hash": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmmirror.com/string-hash/-/string-hash-1.1.3.tgz",
-      "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A=="
-    },
-    "node_modules/string-length": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmmirror.com/string-length/-/string-length-4.0.2.tgz",
-      "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "char-regex": "^1.0.2",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/string-width": {
-      "version": "4.2.3",
-      "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
-      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/strip-ansi": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
-      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-regex": "^5.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/strip-bom": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/strip-bom/-/strip-bom-4.0.0.tgz",
-      "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/strip-final-newline": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
-      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
-      "dev": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/strip-json-comments": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
-      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/supports-color": {
-      "version": "5.5.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz",
-      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-      "dependencies": {
-        "has-flag": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/supports-hyperlinks": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
-      "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0",
-        "supports-color": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/supports-hyperlinks/node_modules/has-flag": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/supports-hyperlinks/node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/supports-preserve-symlinks-flag": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
-      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/svg-tags": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz",
-      "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
-      "dev": true
-    },
-    "node_modules/symbol-tree": {
-      "version": "3.2.4",
-      "resolved": "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz",
-      "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/systemjs": {
-      "version": "6.14.3",
-      "resolved": "https://registry.npmmirror.com/systemjs/-/systemjs-6.14.3.tgz",
-      "integrity": "sha512-hQv45irdhXudAOr8r6SVSpJSGtogdGZUbJBRKCE5nsIS7tsxxvnIHqT4IOPWj+P+HcSzeWzHlGCGpmhPDIKe+w==",
-      "dev": true
-    },
-    "node_modules/tapable": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz",
-      "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/terminal-link": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmmirror.com/terminal-link/-/terminal-link-2.1.1.tgz",
-      "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-escapes": "^4.2.1",
-        "supports-hyperlinks": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/terser": {
-      "version": "5.29.2",
-      "resolved": "https://registry.npmmirror.com/terser/-/terser-5.29.2.tgz",
-      "integrity": "sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==",
-      "devOptional": true,
-      "dependencies": {
-        "@jridgewell/source-map": "^0.3.3",
-        "acorn": "^8.8.2",
-        "commander": "^2.20.0",
-        "source-map-support": "~0.5.20"
-      },
-      "bin": {
-        "terser": "bin/terser"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/terser-webpack-plugin": {
-      "version": "5.3.10",
-      "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
-      "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@jridgewell/trace-mapping": "^0.3.20",
-        "jest-worker": "^27.4.5",
-        "schema-utils": "^3.1.1",
-        "serialize-javascript": "^6.0.1",
-        "terser": "^5.26.0"
-      },
-      "engines": {
-        "node": ">= 10.13.0"
-      },
-      "peerDependencies": {
-        "webpack": "^5.1.0"
-      },
-      "peerDependenciesMeta": {
-        "@swc/core": {
-          "optional": true
-        },
-        "esbuild": {
-          "optional": true
-        },
-        "uglify-js": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/test-exclude": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmmirror.com/test-exclude/-/test-exclude-6.0.0.tgz",
-      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@istanbuljs/schema": "^0.1.2",
-        "glob": "^7.1.4",
-        "minimatch": "^3.0.4"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/throat": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmmirror.com/throat/-/throat-6.0.2.tgz",
-      "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/through2": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmmirror.com/through2/-/through2-2.0.5.tgz",
-      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
-      "dependencies": {
-        "readable-stream": "~2.3.6",
-        "xtend": "~4.0.1"
-      }
-    },
-    "node_modules/through2-filter": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/through2-filter/-/through2-filter-3.0.0.tgz",
-      "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==",
-      "dependencies": {
-        "through2": "~2.0.0",
-        "xtend": "~4.0.0"
-      }
-    },
-    "node_modules/timm": {
-      "version": "1.7.1",
-      "resolved": "https://registry.npmmirror.com/timm/-/timm-1.7.1.tgz",
-      "integrity": "sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw=="
-    },
-    "node_modules/tiny-emitter": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
-      "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
-    },
-    "node_modules/tinycolor2": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmmirror.com/tinycolor2/-/tinycolor2-1.6.0.tgz",
-      "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw=="
-    },
-    "node_modules/tmpl": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz",
-      "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/to-absolute-glob": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmmirror.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
-      "integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==",
-      "dependencies": {
-        "is-absolute": "^1.0.0",
-        "is-negated-glob": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/to-regex-range": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
-      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-      "dependencies": {
-        "is-number": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=8.0"
-      }
-    },
-    "node_modules/toidentifier": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz",
-      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
-      "dev": true,
-      "engines": {
-        "node": ">=0.6"
-      }
-    },
-    "node_modules/tough-cookie": {
-      "version": "4.1.3",
-      "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-4.1.3.tgz",
-      "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "psl": "^1.1.33",
-        "punycode": "^2.1.1",
-        "universalify": "^0.2.0",
-        "url-parse": "^1.5.3"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/tough-cookie/node_modules/universalify": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.2.0.tgz",
-      "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">= 4.0.0"
-      }
-    },
-    "node_modules/tr46": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/tr46/-/tr46-2.1.0.tgz",
-      "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "punycode": "^2.1.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/tslib": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz",
-      "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
-    },
-    "node_modules/type": {
-      "version": "2.7.2",
-      "resolved": "https://registry.npmmirror.com/type/-/type-2.7.2.tgz",
-      "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
-    },
-    "node_modules/type-detect": {
-      "version": "4.0.8",
-      "resolved": "https://registry.npmmirror.com/type-detect/-/type-detect-4.0.8.tgz",
-      "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/type-fest": {
-      "version": "0.21.3",
-      "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-0.21.3.tgz",
-      "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/type-is": {
-      "version": "1.6.18",
-      "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz",
-      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
-      "dev": true,
-      "dependencies": {
-        "media-typer": "0.3.0",
-        "mime-types": "~2.1.24"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/typedarray": {
-      "version": "0.0.6",
-      "resolved": "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
-    },
-    "node_modules/typedarray-to-buffer": {
-      "version": "3.1.5",
-      "resolved": "https://registry.npmmirror.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
-      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "is-typedarray": "^1.0.0"
-      }
-    },
-    "node_modules/typescript": {
-      "version": "4.9.5",
-      "resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.9.5.tgz",
-      "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
-      "devOptional": true,
-      "bin": {
-        "tsc": "bin/tsc",
-        "tsserver": "bin/tsserver"
-      },
-      "engines": {
-        "node": ">=4.2.0"
-      }
-    },
-    "node_modules/ultron": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmmirror.com/ultron/-/ultron-1.1.1.tgz",
-      "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og=="
-    },
-    "node_modules/unc-path-regex": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmmirror.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
-      "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/undici-types": {
-      "version": "5.26.5",
-      "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz",
-      "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
-      "devOptional": true,
-      "peer": true
-    },
-    "node_modules/unicode-canonical-property-names-ecmascript": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
-      "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/unicode-match-property-ecmascript": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
-      "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
-      "dev": true,
-      "dependencies": {
-        "unicode-canonical-property-names-ecmascript": "^2.0.0",
-        "unicode-property-aliases-ecmascript": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/unicode-match-property-value-ecmascript": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
-      "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/unicode-property-aliases-ecmascript": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
-      "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
-      "dev": true,
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/unique-stream": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmmirror.com/unique-stream/-/unique-stream-2.3.1.tgz",
-      "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==",
-      "dependencies": {
-        "json-stable-stringify-without-jsonify": "^1.0.1",
-        "through2-filter": "^3.0.0"
-      }
-    },
-    "node_modules/universalify": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz",
-      "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
-      "engines": {
-        "node": ">= 10.0.0"
-      }
-    },
-    "node_modules/unpipe": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz",
-      "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/unquote": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz",
-      "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg=="
-    },
-    "node_modules/update-browserslist-db": {
-      "version": "1.0.13",
-      "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
-      "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
-      "dependencies": {
-        "escalade": "^3.1.1",
-        "picocolors": "^1.0.0"
-      },
-      "bin": {
-        "update-browserslist-db": "cli.js"
-      },
-      "peerDependencies": {
-        "browserslist": ">= 4.21.0"
-      }
-    },
-    "node_modules/uri-js": {
-      "version": "4.4.1",
-      "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz",
-      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
-      "dev": true,
-      "dependencies": {
-        "punycode": "^2.1.0"
-      }
-    },
-    "node_modules/url-parse": {
-      "version": "1.5.10",
-      "resolved": "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz",
-      "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "querystringify": "^2.1.1",
-        "requires-port": "^1.0.0"
-      }
-    },
-    "node_modules/utif": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/utif/-/utif-2.0.1.tgz",
-      "integrity": "sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==",
-      "dependencies": {
-        "pako": "^1.0.5"
-      }
-    },
-    "node_modules/util-deprecate": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
-    },
-    "node_modules/utils-merge": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz",
-      "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.4.0"
-      }
-    },
-    "node_modules/uview-plus": {
-      "version": "3.1.45",
-      "resolved": "https://registry.npmmirror.com/uview-plus/-/uview-plus-3.1.45.tgz",
-      "integrity": "sha512-JHgLp2heaMciLdGimO/v4tMM8iwb2vTEOk6sXqn5X198AHjM5A/IGzH84GZPvUISFTEJbxGEHiGPxpv2K26AGw==",
-      "dependencies": {
-        "clipboard": "^2.0.11",
-        "dayjs": "^1.11.3"
-      },
-      "engines": {
-        "HBuilderX": "^3.1.0"
-      }
-    },
-    "node_modules/v8-to-istanbul": {
-      "version": "8.1.1",
-      "resolved": "https://registry.npmmirror.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz",
-      "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "^2.0.1",
-        "convert-source-map": "^1.6.0",
-        "source-map": "^0.7.3"
-      },
-      "engines": {
-        "node": ">=10.12.0"
-      }
-    },
-    "node_modules/v8-to-istanbul/node_modules/convert-source-map": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz",
-      "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/v8-to-istanbul/node_modules/source-map": {
-      "version": "0.7.4",
-      "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.7.4.tgz",
-      "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/vary": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz",
-      "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/vite": {
-      "version": "4.1.4",
-      "resolved": "https://registry.npmmirror.com/vite/-/vite-4.1.4.tgz",
-      "integrity": "sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==",
-      "dependencies": {
-        "esbuild": "^0.16.14",
-        "postcss": "^8.4.21",
-        "resolve": "^1.22.1",
-        "rollup": "^3.10.0"
-      },
-      "bin": {
-        "vite": "bin/vite.js"
-      },
-      "engines": {
-        "node": "^14.18.0 || >=16.0.0"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.2"
-      },
-      "peerDependencies": {
-        "@types/node": ">= 14",
-        "less": "*",
-        "sass": "*",
-        "stylus": "*",
-        "sugarss": "*",
-        "terser": "^5.4.0"
-      },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        },
-        "less": {
-          "optional": true
-        },
-        "sass": {
-          "optional": true
-        },
-        "stylus": {
-          "optional": true
-        },
-        "sugarss": {
-          "optional": true
-        },
-        "terser": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/android-arm": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz",
-      "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==",
-      "cpu": [
-        "arm"
-      ],
-      "optional": true,
-      "os": [
-        "android"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/android-arm64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz",
-      "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==",
-      "cpu": [
-        "arm64"
-      ],
-      "optional": true,
-      "os": [
-        "android"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/android-x64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz",
-      "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "android"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/darwin-arm64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz",
-      "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==",
-      "cpu": [
-        "arm64"
-      ],
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/darwin-x64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz",
-      "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/freebsd-arm64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz",
-      "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==",
-      "cpu": [
-        "arm64"
-      ],
-      "optional": true,
-      "os": [
-        "freebsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/freebsd-x64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz",
-      "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "freebsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/linux-arm": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz",
-      "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==",
-      "cpu": [
-        "arm"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/linux-arm64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz",
-      "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==",
-      "cpu": [
-        "arm64"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/linux-ia32": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz",
-      "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==",
-      "cpu": [
-        "ia32"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/linux-loong64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz",
-      "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==",
-      "cpu": [
-        "loong64"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/linux-mips64el": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz",
-      "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==",
-      "cpu": [
-        "mips64el"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/linux-ppc64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz",
-      "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==",
-      "cpu": [
-        "ppc64"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/linux-riscv64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz",
-      "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==",
-      "cpu": [
-        "riscv64"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/linux-s390x": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz",
-      "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==",
-      "cpu": [
-        "s390x"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/linux-x64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz",
-      "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/netbsd-x64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz",
-      "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "netbsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/openbsd-x64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz",
-      "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "openbsd"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/sunos-x64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz",
-      "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "sunos"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/win32-arm64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz",
-      "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==",
-      "cpu": [
-        "arm64"
-      ],
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/win32-ia32": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz",
-      "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==",
-      "cpu": [
-        "ia32"
-      ],
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/@esbuild/win32-x64": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz",
-      "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==",
-      "cpu": [
-        "x64"
-      ],
-      "optional": true,
-      "os": [
-        "win32"
-      ],
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/vite/node_modules/esbuild": {
-      "version": "0.16.17",
-      "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.16.17.tgz",
-      "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==",
-      "hasInstallScript": true,
-      "bin": {
-        "esbuild": "bin/esbuild"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "optionalDependencies": {
-        "@esbuild/android-arm": "0.16.17",
-        "@esbuild/android-arm64": "0.16.17",
-        "@esbuild/android-x64": "0.16.17",
-        "@esbuild/darwin-arm64": "0.16.17",
-        "@esbuild/darwin-x64": "0.16.17",
-        "@esbuild/freebsd-arm64": "0.16.17",
-        "@esbuild/freebsd-x64": "0.16.17",
-        "@esbuild/linux-arm": "0.16.17",
-        "@esbuild/linux-arm64": "0.16.17",
-        "@esbuild/linux-ia32": "0.16.17",
-        "@esbuild/linux-loong64": "0.16.17",
-        "@esbuild/linux-mips64el": "0.16.17",
-        "@esbuild/linux-ppc64": "0.16.17",
-        "@esbuild/linux-riscv64": "0.16.17",
-        "@esbuild/linux-s390x": "0.16.17",
-        "@esbuild/linux-x64": "0.16.17",
-        "@esbuild/netbsd-x64": "0.16.17",
-        "@esbuild/openbsd-x64": "0.16.17",
-        "@esbuild/sunos-x64": "0.16.17",
-        "@esbuild/win32-arm64": "0.16.17",
-        "@esbuild/win32-ia32": "0.16.17",
-        "@esbuild/win32-x64": "0.16.17"
-      }
-    },
-    "node_modules/vue": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.21.tgz",
-      "integrity": "sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==",
-      "dependencies": {
-        "@vue/compiler-dom": "3.4.21",
-        "@vue/compiler-sfc": "3.4.21",
-        "@vue/runtime-dom": "3.4.21",
-        "@vue/server-renderer": "3.4.21",
-        "@vue/shared": "3.4.21"
-      },
-      "peerDependencies": {
-        "typescript": "*"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/vue-i18n": {
-      "version": "9.10.2",
-      "resolved": "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.10.2.tgz",
-      "integrity": "sha512-ECJ8RIFd+3c1d3m1pctQ6ywG5Yj8Efy1oYoAKQ9neRdkLbuKLVeW4gaY5HPkD/9ssf1pOnUrmIFjx2/gkGxmEw==",
-      "dependencies": {
-        "@intlify/core-base": "9.10.2",
-        "@intlify/shared": "9.10.2",
-        "@vue/devtools-api": "^6.5.0"
-      },
-      "engines": {
-        "node": ">= 16"
-      },
-      "peerDependencies": {
-        "vue": "^3.0.0"
-      }
-    },
-    "node_modules/vue-i18n/node_modules/@intlify/core-base": {
-      "version": "9.10.2",
-      "resolved": "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.10.2.tgz",
-      "integrity": "sha512-HGStVnKobsJL0DoYIyRCGXBH63DMQqEZxDUGrkNI05FuTcruYUtOAxyL3zoAZu/uDGO6mcUvm3VXBaHG2GdZCg==",
-      "dependencies": {
-        "@intlify/message-compiler": "9.10.2",
-        "@intlify/shared": "9.10.2"
-      },
-      "engines": {
-        "node": ">= 16"
-      }
-    },
-    "node_modules/vue-i18n/node_modules/@intlify/message-compiler": {
-      "version": "9.10.2",
-      "resolved": "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.10.2.tgz",
-      "integrity": "sha512-ntY/kfBwQRtX5Zh6wL8cSATujPzWW2ZQd1QwKyWwAy5fMqJyyixHMeovN4fmEyCqSu+hFfYOE63nU94evsy4YA==",
-      "dependencies": {
-        "@intlify/shared": "9.10.2",
-        "source-map-js": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 16"
-      }
-    },
-    "node_modules/vue-i18n/node_modules/@intlify/shared": {
-      "version": "9.10.2",
-      "resolved": "https://registry.npmmirror.com/@intlify/shared/-/shared-9.10.2.tgz",
-      "integrity": "sha512-ttHCAJkRy7R5W2S9RVnN9KYQYPIpV2+GiS79T4EE37nrPyH6/1SrOh3bmdCRC1T3ocL8qCDx7x2lBJ0xaITU7Q==",
-      "engines": {
-        "node": ">= 16"
-      }
-    },
-    "node_modules/vue-router": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.3.0.tgz",
-      "integrity": "sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==",
-      "dependencies": {
-        "@vue/devtools-api": "^6.5.1"
-      },
-      "peerDependencies": {
-        "vue": "^3.2.0"
-      }
-    },
-    "node_modules/vue-template-compiler": {
-      "version": "2.7.16",
-      "resolved": "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
-      "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==",
-      "dev": true,
-      "dependencies": {
-        "de-indent": "^1.0.2",
-        "he": "^1.2.0"
-      }
-    },
-    "node_modules/vue-tsc": {
-      "version": "1.8.27",
-      "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-1.8.27.tgz",
-      "integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==",
-      "dev": true,
-      "dependencies": {
-        "@volar/typescript": "~1.11.1",
-        "@vue/language-core": "1.8.27",
-        "semver": "^7.5.4"
-      },
-      "bin": {
-        "vue-tsc": "bin/vue-tsc.js"
-      },
-      "peerDependencies": {
-        "typescript": "*"
-      }
-    },
-    "node_modules/vue-tsc/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/vue-tsc/node_modules/semver": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz",
-      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
-      "dev": true,
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/vue-tsc/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true
-    },
-    "node_modules/vue/node_modules/@vue/compiler-core": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.21.tgz",
-      "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==",
-      "dependencies": {
-        "@babel/parser": "^7.23.9",
-        "@vue/shared": "3.4.21",
-        "entities": "^4.5.0",
-        "estree-walker": "^2.0.2",
-        "source-map-js": "^1.0.2"
-      }
-    },
-    "node_modules/vue/node_modules/@vue/compiler-dom": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz",
-      "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==",
-      "dependencies": {
-        "@vue/compiler-core": "3.4.21",
-        "@vue/shared": "3.4.21"
-      }
-    },
-    "node_modules/vue/node_modules/@vue/compiler-sfc": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz",
-      "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==",
-      "dependencies": {
-        "@babel/parser": "^7.23.9",
-        "@vue/compiler-core": "3.4.21",
-        "@vue/compiler-dom": "3.4.21",
-        "@vue/compiler-ssr": "3.4.21",
-        "@vue/shared": "3.4.21",
-        "estree-walker": "^2.0.2",
-        "magic-string": "^0.30.7",
-        "postcss": "^8.4.35",
-        "source-map-js": "^1.0.2"
-      }
-    },
-    "node_modules/vue/node_modules/@vue/compiler-ssr": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz",
-      "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==",
-      "dependencies": {
-        "@vue/compiler-dom": "3.4.21",
-        "@vue/shared": "3.4.21"
-      }
-    },
-    "node_modules/vue/node_modules/@vue/shared": {
-      "version": "3.4.21",
-      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz",
-      "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g=="
-    },
-    "node_modules/w3c-hr-time": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
-      "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
-      "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "browser-process-hrtime": "^1.0.0"
-      }
-    },
-    "node_modules/w3c-xmlserializer": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
-      "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "xml-name-validator": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/walker": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmmirror.com/walker/-/walker-1.0.8.tgz",
-      "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "makeerror": "1.0.12"
-      }
-    },
-    "node_modules/watchpack": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.1.tgz",
-      "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "glob-to-regexp": "^0.4.1",
-        "graceful-fs": "^4.1.2"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
-    "node_modules/webidl-conversions": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
-      "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=10.4"
-      }
-    },
-    "node_modules/webpack": {
-      "version": "5.90.3",
-      "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.90.3.tgz",
-      "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "@types/eslint-scope": "^3.7.3",
-        "@types/estree": "^1.0.5",
-        "@webassemblyjs/ast": "^1.11.5",
-        "@webassemblyjs/wasm-edit": "^1.11.5",
-        "@webassemblyjs/wasm-parser": "^1.11.5",
-        "acorn": "^8.7.1",
-        "acorn-import-assertions": "^1.9.0",
-        "browserslist": "^4.21.10",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.15.0",
-        "es-module-lexer": "^1.2.1",
-        "eslint-scope": "5.1.1",
-        "events": "^3.2.0",
-        "glob-to-regexp": "^0.4.1",
-        "graceful-fs": "^4.2.9",
-        "json-parse-even-better-errors": "^2.3.1",
-        "loader-runner": "^4.2.0",
-        "mime-types": "^2.1.27",
-        "neo-async": "^2.6.2",
-        "schema-utils": "^3.2.0",
-        "tapable": "^2.1.1",
-        "terser-webpack-plugin": "^5.3.10",
-        "watchpack": "^2.4.0",
-        "webpack-sources": "^3.2.3"
-      },
-      "bin": {
-        "webpack": "bin/webpack.js"
-      },
-      "engines": {
-        "node": ">=10.13.0"
-      },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/webpack-sources": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz",
-      "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
-    "node_modules/websocket-stream": {
-      "version": "5.5.2",
-      "resolved": "https://registry.npmmirror.com/websocket-stream/-/websocket-stream-5.5.2.tgz",
-      "integrity": "sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==",
-      "dependencies": {
-        "duplexify": "^3.5.1",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.3.3",
-        "safe-buffer": "^5.1.2",
-        "ws": "^3.2.0",
-        "xtend": "^4.0.0"
-      }
-    },
-    "node_modules/websocket-stream/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
-    },
-    "node_modules/websocket-stream/node_modules/ws": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmmirror.com/ws/-/ws-3.3.3.tgz",
-      "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
-      "dependencies": {
-        "async-limiter": "~1.0.0",
-        "safe-buffer": "~5.1.0",
-        "ultron": "~1.1.0"
-      }
-    },
-    "node_modules/whatwg-encoding": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
-      "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "iconv-lite": "0.4.24"
-      }
-    },
-    "node_modules/whatwg-mimetype": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
-      "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/whatwg-url": {
-      "version": "8.7.0",
-      "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-8.7.0.tgz",
-      "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "lodash": "^4.7.0",
-        "tr46": "^2.1.0",
-        "webidl-conversions": "^6.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/which": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz",
-      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
-      "dev": true,
-      "dependencies": {
-        "isexe": "^2.0.0"
-      },
-      "bin": {
-        "node-which": "bin/node-which"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/wrap-ansi": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
-      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/wrap-ansi/node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/wrap-ansi/node_modules/color-convert": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/wrap-ansi/node_modules/color-name": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/wrappy": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz",
-      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
-    },
-    "node_modules/write-file-atomic": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
-      "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "imurmurhash": "^0.1.4",
-        "is-typedarray": "^1.0.0",
-        "signal-exit": "^3.0.2",
-        "typedarray-to-buffer": "^3.1.5"
-      }
-    },
-    "node_modules/ws": {
-      "version": "8.16.0",
-      "resolved": "https://registry.npmmirror.com/ws/-/ws-8.16.0.tgz",
-      "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
-      "engines": {
-        "node": ">=10.0.0"
-      },
-      "peerDependencies": {
-        "bufferutil": "^4.0.1",
-        "utf-8-validate": ">=5.0.2"
-      },
-      "peerDependenciesMeta": {
-        "bufferutil": {
-          "optional": true
-        },
-        "utf-8-validate": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/xhr": {
-      "version": "2.6.0",
-      "resolved": "https://registry.npmmirror.com/xhr/-/xhr-2.6.0.tgz",
-      "integrity": "sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==",
-      "dependencies": {
-        "global": "~4.4.0",
-        "is-function": "^1.0.1",
-        "parse-headers": "^2.0.0",
-        "xtend": "^4.0.0"
-      }
-    },
-    "node_modules/xml-name-validator": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
-      "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/xml-parse-from-string": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz",
-      "integrity": "sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g=="
-    },
-    "node_modules/xml2js": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz",
-      "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
-      "dependencies": {
-        "sax": ">=0.6.0",
-        "xmlbuilder": "~11.0.0"
-      },
-      "engines": {
-        "node": ">=4.0.0"
-      }
-    },
-    "node_modules/xmlbuilder": {
-      "version": "11.0.1",
-      "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
-      "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
-      "engines": {
-        "node": ">=4.0"
-      }
-    },
-    "node_modules/xmlchars": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz",
-      "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
-      "dev": true,
-      "peer": true
-    },
-    "node_modules/xmlhttprequest": {
-      "version": "1.8.0",
-      "resolved": "https://registry.npmmirror.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
-      "integrity": "sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==",
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/xregexp": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmmirror.com/xregexp/-/xregexp-3.1.0.tgz",
-      "integrity": "sha512-4Y1x6DyB8xRoxosooa6PlGWqmmSKatbzhrftZ7Purmm4B8R4qIEJG1A2hZsdz5DhmIqS0msC0I7KEq93GphEVg=="
-    },
-    "node_modules/xtend": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz",
-      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
-      "engines": {
-        "node": ">=0.4"
-      }
-    },
-    "node_modules/y18n": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz",
-      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/yallist": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz",
-      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
-    },
-    "node_modules/yaml": {
-      "version": "1.10.2",
-      "resolved": "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz",
-      "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/yargs": {
-      "version": "16.2.0",
-      "resolved": "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz",
-      "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "cliui": "^7.0.2",
-        "escalade": "^3.1.1",
-        "get-caller-file": "^2.0.5",
-        "require-directory": "^2.1.1",
-        "string-width": "^4.2.0",
-        "y18n": "^5.0.5",
-        "yargs-parser": "^20.2.2"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/yargs-parser": {
-      "version": "20.2.9",
-      "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz",
-      "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
-      "dev": true,
-      "peer": true,
-      "engines": {
-        "node": ">=10"
-      }
-    }
+  "lockfileVersion": 1,
+  "dependencies": {
   }
 }
diff --git a/package.json b/package.json
index 9ba4fac..9c1ced0 100644
--- a/package.json
+++ b/package.json
@@ -1,99 +1,17 @@
 {
-  "name": "ruoyi-geek-app",
-  "version": "1.0.0",
-  "description": "鑻ヤ緷Geek绠$悊绯荤粺",
-  "author": "Geek-XD",
-  "license": "MIT",
-  "homepage": "https://gitee.com/geek-xd",
-  "repository": {
-    "type": "git",
-    "url": "https://gitee.com/geek-xd/ruoyi-geek-app.git"
-  },
-  "engines": {
-    "node": "^18.0.0 || >=20.0.0"
-  },
-  "scripts": {
-    "dev:app": "uni -p app",
-    "dev:app-android": "uni -p app-android",
-    "dev:app-ios": "uni -p app-ios",
-    "dev:custom": "uni -p",
-    "dev:h5": "uni",
-    "dev:h5:ssr": "uni --ssr",
-    "dev:mp-alipay": "uni -p mp-alipay",
-    "dev:mp-baidu": "uni -p mp-baidu",
-    "dev:mp-jd": "uni -p mp-jd",
-    "dev:mp-kuaishou": "uni -p mp-kuaishou",
-    "dev:mp-lark": "uni -p mp-lark",
-    "dev:mp-qq": "uni -p mp-qq",
-    "dev:mp-toutiao": "uni -p mp-toutiao",
-    "dev:mp-weixin": "uni -p mp-weixin",
-    "dev:quickapp-webview": "uni -p quickapp-webview",
-    "dev:quickapp-webview-huawei": "uni -p quickapp-webview-huawei",
-    "dev:quickapp-webview-union": "uni -p quickapp-webview-union",
-    "build:app": "uni build -p app",
-    "build:app-android": "uni build -p app-android",
-    "build:app-ios": "uni build -p app-ios",
-    "build:custom": "uni build -p",
-    "build:h5": "uni build",
-    "build:h5:ssr": "uni build --ssr",
-    "build:mp-alipay": "uni build -p mp-alipay",
-    "build:mp-baidu": "uni build -p mp-baidu",
-    "build:mp-jd": "uni build -p mp-jd",
-    "build:mp-kuaishou": "uni build -p mp-kuaishou",
-    "build:mp-lark": "uni build -p mp-lark",
-    "build:mp-qq": "uni build -p mp-qq",
-    "build:mp-toutiao": "uni build -p mp-toutiao",
-    "build:mp-weixin": "uni build -p mp-weixin",
-    "build:quickapp-webview": "uni build -p quickapp-webview",
-    "build:quickapp-webview-huawei": "uni build -p quickapp-webview-huawei",
-    "build:quickapp-webview-union": "uni build -p quickapp-webview-union",
-    "type-check": "vue-tsc --noEmit",
-    "clean:linux": "rm -rf dist || rm -rf node_modules",
-    "clean:windows": "rd /s /q dist || rd /s /q node_modules"
-  },
-  "dependencies": {
-    "@dcloudio/uni-app": "3.0.0-4060420250429001",
-    "@dcloudio/uni-app-harmony": "3.0.0-4060420250429001",
-    "@dcloudio/uni-app-plus": "3.0.0-4060420250429001",
-    "@dcloudio/uni-components": "3.0.0-4060420250429001",
-    "@dcloudio/uni-h5": "3.0.0-4060420250429001",
-    "@dcloudio/uni-mp-alipay": "3.0.0-4060420250429001",
-    "@dcloudio/uni-mp-baidu": "3.0.0-4060420250429001",
-    "@dcloudio/uni-mp-harmony": "3.0.0-4060420250429001",
-    "@dcloudio/uni-mp-jd": "3.0.0-4060420250429001",
-    "@dcloudio/uni-mp-kuaishou": "3.0.0-4060420250429001",
-    "@dcloudio/uni-mp-lark": "3.0.0-4060420250429001",
-    "@dcloudio/uni-mp-qq": "3.0.0-4060420250429001",
-    "@dcloudio/uni-mp-toutiao": "3.0.0-4060420250429001",
-    "@dcloudio/uni-mp-weixin": "3.0.0-4060420250429001",
-    "@dcloudio/uni-mp-xhs": "3.0.0-4060420250429001",
-    "@dcloudio/uni-quickapp-webview": "3.0.0-4060420250429001",
-    "@dcloudio/uvm": "^0.3.1",
-    "@jridgewell/sourcemap-codec": "^1.5.0",
-    "@qiun/wx-ucharts": "2.5.0-20230101",
-    "@uview-plus/types": "^3.2.5",
-    "clipboard": "^2.0.11",
-    "dayjs": "^1.11.13",
-    "mqtt": "4.1.0",
-    "pinia": "2.2.2",
-    "tslib": "^2.7.0",
-    "uview-plus": "^3.3.32",
-    "vue": "3.4.21",
-    "vue-i18n": "^9.14.2"
-  },
-  "devDependencies": {
-    "@dcloudio/types": "^3.4.14",
-    "@dcloudio/uni-automator": "3.0.0-4060420250429001",
-    "@dcloudio/uni-cli-shared": "3.0.0-4060420250429001",
-    "@dcloudio/uni-stacktracey": "3.0.0-4060420250429001",
-    "@dcloudio/vite-plugin-uni": "3.0.0-4060420250429001",
-    "@vue/runtime-core": "^3.5.12",
-    "@vue/tsconfig": "^0.5.1",
-    "less": "^4.2.0",
-    "sass": "^1.78.0",
-    "sass-loader": "^16.0.1",
-    "typescript": "^5.6.2",
-    "vite": "5.2.8",
-    "vue-tsc": "2.1.6"
-  }
-}
+    "id": "qian-tree",
+    "name": "鏍戝舰閫夋嫨鍣ㄥ寮虹増锛屾敮鎸佸閫夈�佸崟閫夈�佺埗绾ч�変腑瀛愮骇鑷姩閫変腑銆佹噿鍔犺浇",
+    "version": "1.0.1",
+    "description": "鏍戝舰閫夋嫨鍣ㄥ寮虹増锛屾敮鎸佸閫夈�佸崟閫夈�佺埗绾ч�夋嫨銆佺埗瀛愮骇閫変腑/鍙栨秷鑱斿姩銆佹噿鍔犺浇.",
+    "keywords": [
+        "tree",
+        "鏍�",
+        "澶氶��"
+    ],
+    "dcloudext": {
+        "category": [
+            "鍓嶇缁勪欢",
+            "閫氱敤缁勪欢"
+        ]
+    }
+}
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
deleted file mode 100644
index dc01d28..0000000
--- a/pnpm-lock.yaml
+++ /dev/null
@@ -1,9075 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
-  autoInstallPeers: true
-  excludeLinksFromLockfile: false
-
-importers:
-
-  .:
-    dependencies:
-      '@dcloudio/uni-app':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(@dcloudio/types@3.4.14)(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-app-harmony':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-app-plus':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-components':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-h5':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-alipay':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-baidu':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(@dcloudio/types@3.4.14)(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-harmony':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-jd':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-kuaishou':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-lark':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-qq':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-toutiao':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-weixin':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-xhs':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-quickapp-webview':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uvm':
-        specifier: ^0.3.1
-        version: 0.3.1
-      '@jridgewell/sourcemap-codec':
-        specifier: ^1.5.0
-        version: 1.5.0
-      '@qiun/wx-ucharts':
-        specifier: 2.5.0-20230101
-        version: 2.5.0-20230101
-      '@uview-plus/types':
-        specifier: ^3.2.5
-        version: 3.2.5
-      clipboard:
-        specifier: ^2.0.11
-        version: 2.0.11
-      dayjs:
-        specifier: ^1.11.13
-        version: 1.11.13
-      mqtt:
-        specifier: 4.1.0
-        version: 4.1.0
-      pinia:
-        specifier: 2.2.2
-        version: 2.2.2(typescript@5.6.3)(vue@3.4.21(typescript@5.6.3))
-      tslib:
-        specifier: ^2.7.0
-        version: 2.7.0
-      uview-plus:
-        specifier: ^3.3.32
-        version: 3.3.36
-      vue:
-        specifier: 3.4.21
-        version: 3.4.21(typescript@5.6.3)
-      vue-i18n:
-        specifier: ^9.14.2
-        version: 9.14.2(vue@3.4.21(typescript@5.6.3))
-    devDependencies:
-      '@dcloudio/types':
-        specifier: ^3.4.14
-        version: 3.4.14
-      '@dcloudio/uni-automator':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-cli-shared':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-stacktracey':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001
-      '@dcloudio/vite-plugin-uni':
-        specifier: 3.0.0-4060420250429001
-        version: 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))
-      '@vue/runtime-core':
-        specifier: ^3.5.12
-        version: 3.5.12
-      '@vue/tsconfig':
-        specifier: ^0.5.1
-        version: 0.5.1
-      less:
-        specifier: ^4.2.0
-        version: 4.2.0
-      sass:
-        specifier: ^1.78.0
-        version: 1.79.5
-      sass-loader:
-        specifier: ^16.0.1
-        version: 16.0.2(sass@1.79.5)
-      typescript:
-        specifier: ^5.6.2
-        version: 5.6.3
-      vite:
-        specifier: 5.2.8
-        version: 5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1)
-      vue-tsc:
-        specifier: 2.1.6
-        version: 2.1.6(typescript@5.6.3)
-
-packages:
-
-  '@ampproject/remapping@2.3.0':
-    resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
-    engines: {node: '>=6.0.0'}
-
-  '@babel/code-frame@7.25.7':
-    resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/compat-data@7.25.8':
-    resolution: {integrity: sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/core@7.25.8':
-    resolution: {integrity: sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/generator@7.25.7':
-    resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-annotate-as-pure@7.25.7':
-    resolution: {integrity: sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-builder-binary-assignment-operator-visitor@7.25.7':
-    resolution: {integrity: sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-compilation-targets@7.25.7':
-    resolution: {integrity: sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-create-class-features-plugin@7.25.7':
-    resolution: {integrity: sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  '@babel/helper-create-regexp-features-plugin@7.25.7':
-    resolution: {integrity: sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  '@babel/helper-define-polyfill-provider@0.6.2':
-    resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==}
-    peerDependencies:
-      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
-
-  '@babel/helper-member-expression-to-functions@7.25.7':
-    resolution: {integrity: sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-module-imports@7.25.7':
-    resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-module-transforms@7.25.7':
-    resolution: {integrity: sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  '@babel/helper-optimise-call-expression@7.25.7':
-    resolution: {integrity: sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-plugin-utils@7.25.7':
-    resolution: {integrity: sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-remap-async-to-generator@7.25.7':
-    resolution: {integrity: sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  '@babel/helper-replace-supers@7.25.7':
-    resolution: {integrity: sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  '@babel/helper-simple-access@7.25.7':
-    resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-skip-transparent-expression-wrappers@7.25.7':
-    resolution: {integrity: sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-string-parser@7.25.7':
-    resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-validator-identifier@7.25.7':
-    resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-validator-option@7.25.7':
-    resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helper-wrap-function@7.25.7':
-    resolution: {integrity: sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/helpers@7.25.7':
-    resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/highlight@7.25.7':
-    resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/parser@7.25.8':
-    resolution: {integrity: sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==}
-    engines: {node: '>=6.0.0'}
-    hasBin: true
-
-  '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.7':
-    resolution: {integrity: sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.7':
-    resolution: {integrity: sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.7':
-    resolution: {integrity: sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.7':
-    resolution: {integrity: sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.13.0
-
-  '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.7':
-    resolution: {integrity: sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
-    resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-async-generators@7.8.4':
-    resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-bigint@7.8.3':
-    resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-class-properties@7.12.13':
-    resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-class-static-block@7.14.5':
-    resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-import-assertions@7.25.7':
-    resolution: {integrity: sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-import-attributes@7.25.7':
-    resolution: {integrity: sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-import-meta@7.10.4':
-    resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-json-strings@7.8.3':
-    resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-jsx@7.25.7':
-    resolution: {integrity: sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-logical-assignment-operators@7.10.4':
-    resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3':
-    resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-numeric-separator@7.10.4':
-    resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-object-rest-spread@7.8.3':
-    resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-optional-catch-binding@7.8.3':
-    resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-optional-chaining@7.8.3':
-    resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-private-property-in-object@7.14.5':
-    resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-top-level-await@7.14.5':
-    resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-typescript@7.25.7':
-    resolution: {integrity: sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-syntax-unicode-sets-regex@7.18.6':
-    resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  '@babel/plugin-transform-arrow-functions@7.25.7':
-    resolution: {integrity: sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-async-generator-functions@7.25.8':
-    resolution: {integrity: sha512-9ypqkozyzpG+HxlH4o4gdctalFGIjjdufzo7I2XPda0iBnZ6a+FO0rIEQcdSPXp02CkvGsII1exJhmROPQd5oA==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-async-to-generator@7.25.7':
-    resolution: {integrity: sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-block-scoped-functions@7.25.7':
-    resolution: {integrity: sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-block-scoping@7.25.7':
-    resolution: {integrity: sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-class-properties@7.25.7':
-    resolution: {integrity: sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-class-static-block@7.25.8':
-    resolution: {integrity: sha512-e82gl3TCorath6YLf9xUwFehVvjvfqFhdOo4+0iVIVju+6XOi5XHkqB3P2AXnSwoeTX0HBoXq5gJFtvotJzFnQ==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.12.0
-
-  '@babel/plugin-transform-classes@7.25.7':
-    resolution: {integrity: sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-computed-properties@7.25.7':
-    resolution: {integrity: sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-destructuring@7.25.7':
-    resolution: {integrity: sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-dotall-regex@7.25.7':
-    resolution: {integrity: sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-duplicate-keys@7.25.7':
-    resolution: {integrity: sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.7':
-    resolution: {integrity: sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  '@babel/plugin-transform-dynamic-import@7.25.8':
-    resolution: {integrity: sha512-gznWY+mr4ZQL/EWPcbBQUP3BXS5FwZp8RUOw06BaRn8tQLzN4XLIxXejpHN9Qo8x8jjBmAAKp6FoS51AgkSA/A==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-exponentiation-operator@7.25.7':
-    resolution: {integrity: sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-export-namespace-from@7.25.8':
-    resolution: {integrity: sha512-sPtYrduWINTQTW7FtOy99VCTWp4H23UX7vYcut7S4CIMEXU+54zKX9uCoGkLsWXteyaMXzVHgzWbLfQ1w4GZgw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-for-of@7.25.7':
-    resolution: {integrity: sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-function-name@7.25.7':
-    resolution: {integrity: sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-json-strings@7.25.8':
-    resolution: {integrity: sha512-4OMNv7eHTmJ2YXs3tvxAfa/I43di+VcF+M4Wt66c88EAED1RoGaf1D64cL5FkRpNL+Vx9Hds84lksWvd/wMIdA==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-literals@7.25.7':
-    resolution: {integrity: sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-logical-assignment-operators@7.25.8':
-    resolution: {integrity: sha512-f5W0AhSbbI+yY6VakT04jmxdxz+WsID0neG7+kQZbCOjuyJNdL5Nn4WIBm4hRpKnUcO9lP0eipUhFN12JpoH8g==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-member-expression-literals@7.25.7':
-    resolution: {integrity: sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-modules-amd@7.25.7':
-    resolution: {integrity: sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-modules-commonjs@7.25.7':
-    resolution: {integrity: sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-modules-systemjs@7.25.7':
-    resolution: {integrity: sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-modules-umd@7.25.7':
-    resolution: {integrity: sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-named-capturing-groups-regex@7.25.7':
-    resolution: {integrity: sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  '@babel/plugin-transform-new-target@7.25.7':
-    resolution: {integrity: sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-nullish-coalescing-operator@7.25.8':
-    resolution: {integrity: sha512-Z7WJJWdQc8yCWgAmjI3hyC+5PXIubH9yRKzkl9ZEG647O9szl9zvmKLzpbItlijBnVhTUf1cpyWBsZ3+2wjWPQ==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-numeric-separator@7.25.8':
-    resolution: {integrity: sha512-rm9a5iEFPS4iMIy+/A/PiS0QN0UyjPIeVvbU5EMZFKJZHt8vQnasbpo3T3EFcxzCeYO0BHfc4RqooCZc51J86Q==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-object-rest-spread@7.25.8':
-    resolution: {integrity: sha512-LkUu0O2hnUKHKE7/zYOIjByMa4VRaV2CD/cdGz0AxU9we+VA3kDDggKEzI0Oz1IroG+6gUP6UmWEHBMWZU316g==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-object-super@7.25.7':
-    resolution: {integrity: sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-optional-catch-binding@7.25.8':
-    resolution: {integrity: sha512-EbQYweoMAHOn7iJ9GgZo14ghhb9tTjgOc88xFgYngifx7Z9u580cENCV159M4xDh3q/irbhSjZVpuhpC2gKBbg==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-optional-chaining@7.25.8':
-    resolution: {integrity: sha512-q05Bk7gXOxpTHoQ8RSzGSh/LHVB9JEIkKnk3myAWwZHnYiTGYtbdrYkIsS8Xyh4ltKf7GNUSgzs/6P2bJtBAQg==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-parameters@7.25.7':
-    resolution: {integrity: sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-private-methods@7.25.7':
-    resolution: {integrity: sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-private-property-in-object@7.25.8':
-    resolution: {integrity: sha512-8Uh966svuB4V8RHHg0QJOB32QK287NBksJOByoKmHMp1TAobNniNalIkI2i5IPj5+S9NYCG4VIjbEuiSN8r+ow==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-property-literals@7.25.7':
-    resolution: {integrity: sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-regenerator@7.25.7':
-    resolution: {integrity: sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-reserved-words@7.25.7':
-    resolution: {integrity: sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-shorthand-properties@7.25.7':
-    resolution: {integrity: sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-spread@7.25.7':
-    resolution: {integrity: sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-sticky-regex@7.25.7':
-    resolution: {integrity: sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-template-literals@7.25.7':
-    resolution: {integrity: sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-typeof-symbol@7.25.7':
-    resolution: {integrity: sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-typescript@7.25.7':
-    resolution: {integrity: sha512-VKlgy2vBzj8AmEzunocMun2fF06bsSWV+FvVXohtL6FGve/+L217qhHxRTVGHEDO/YR8IANcjzgJsd04J8ge5Q==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-unicode-escapes@7.25.7':
-    resolution: {integrity: sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-unicode-property-regex@7.25.7':
-    resolution: {integrity: sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-unicode-regex@7.25.7':
-    resolution: {integrity: sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/plugin-transform-unicode-sets-regex@7.25.7':
-    resolution: {integrity: sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  '@babel/preset-env@7.25.8':
-    resolution: {integrity: sha512-58T2yulDHMN8YMUxiLq5YmWUnlDCyY1FsHM+v12VMx+1/FlrUj5tY50iDCpofFQEM8fMYOaY9YRvym2jcjn1Dg==}
-    engines: {node: '>=6.9.0'}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@babel/preset-modules@0.1.6-no-external-plugins':
-    resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
-
-  '@babel/runtime@7.25.7':
-    resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/template@7.25.7':
-    resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/traverse@7.25.7':
-    resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==}
-    engines: {node: '>=6.9.0'}
-
-  '@babel/types@7.25.8':
-    resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==}
-    engines: {node: '>=6.9.0'}
-
-  '@bcoe/v8-coverage@0.2.3':
-    resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
-
-  '@dcloudio/types@3.4.14':
-    resolution: {integrity: sha512-VolQeZfTh8pQFsr2IlfIVX93blfvGTuBoJuZUc7iWOqtHV8gDrq6fXLhzsVlgZyuhhRZLOxlo33rkEqnY+ucAw==}
-
-  '@dcloudio/uni-app-harmony@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-9EX4+zCz/s03huWssgcdw/TCyyOY4nEadbmy2kVA26+mgb+ohbHY+sAmPAwNgURLQfygXcuk9Qa50UCLlqZ6bA==}
-
-  '@dcloudio/uni-app-plus@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-NvAyNqj9VWvzyKN8Z1TRh23NlGu3eoxkqGkSQqpwawyBPrJlquqyYYguQHThEJUIEGp1EYKiyepOvI5HJUVGZQ==}
-
-  '@dcloudio/uni-app-uts@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-YhEMO8BSAi3tuZaCyj6g/xftsJDSJapnHu3s4JFCVjjjR6V7YjmUKnmsSjOWHoVMkgmeg+ZcgnWtHbj/f+p1KQ==}
-
-  '@dcloudio/uni-app-vite@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-Pu4367kCZGG+LTJL3dsVHzcNlwzZluDh84M1mlN++d0ItlYNRoFEes6R+a+mnVBl2DI+kIRChLWBDFqSkTVPsw==}
-
-  '@dcloudio/uni-app-vue@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-GSSgzA2abenqjKmh1m+Eqkt4La4IJ9QjZqoFl12w51cX2BNSy9NCLTRQKz9RcC/NCwjGKMg5zed7iyojxmqFpw==}
-
-  '@dcloudio/uni-app@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-d6ntwrVNf1mJdYp1+ksS9ACLlqrc0Zv49QFgITPBH4nd1bKTG910eu4dMox2jZ7eAPFzdBic4lQcBFNVTBkv0w==}
-    peerDependencies:
-      '@dcloudio/types': ^3.4.14
-
-  '@dcloudio/uni-automator@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-eWKGCFGFlt2x+l5X+PFTpl/9VKnVv8D6+zBCg6WD4Hom7iPUS2ScBvMLv8D2+H+eo6N+xPgZHTG8ZmnzT6NUEg==}
-    peerDependencies:
-      jest: 27.0.4
-      jest-environment-node: 27.5.1
-
-  '@dcloudio/uni-cli-shared@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-ANRwVd0pI86Et9+ScKy8LikPUp8mMiOb5acciiSCkJxd8urrJpY32yaubrS77jhAFR9ak1+l7tk/d3e1I/xdBg==}
-    engines: {node: ^14.18.0 || >=16.0.0}
-
-  '@dcloudio/uni-cloud@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-ykHkfWot7ElrLBcCli1Wj7dFKtziKGAmzc4nvlOgCrsjcOTHhgPttcNnw/tLPZS97hYLML13UoNpTVv80Pq8oQ==}
-
-  '@dcloudio/uni-components@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-MEPq7ygXWj/JV86KQsFym9E8wee6Nl4GChE1MqFKWbCGvH7p8EEqPMPRtJwx72f9/GfX5Cic6Ap89PtZ4SllmA==}
-
-  '@dcloudio/uni-console@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-LzwHe8r7XBy5IXpoAq3xkCK7PyFNp7zn0xyYuTJLPINS5XlTDrDxctEmevlhztFWeu0ieNpPriLNk1ZfouvJ/A==}
-
-  '@dcloudio/uni-h5-vite@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-PVwqcZiCKNCeIToIcO+TUrDq5RwtiK4gTibIVJ5I0mDjf7pAMeY+UMcPyMgsDflQggvEY7VKkR3Lu2zu17z35g==}
-
-  '@dcloudio/uni-h5-vue@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-DXXa7YIZROLDqY5Nrt4FymB2IvUOhrg4NkICPD3IAZmkNV44KL3HbeN/oXI6dc3QkH2jCu4OALZKp0sq4F3Lgw==}
-
-  '@dcloudio/uni-h5@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-QS7uv3zILngvU+WRl0ngLHfKEOXOc0LFBwlORrdh5uPmO9wUSdjffMTt6TThtdMRLvn7LesX4rs8QSKZhTR9wA==}
-
-  '@dcloudio/uni-i18n@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-5TUIUHp1TB6A5n8ik2xolVC0W6YWrmZ0JuANZfjByhwVzVygiBSbnHsExQFlZYUMhBFmclgDcnBM1vAUWhdreQ==}
-
-  '@dcloudio/uni-mp-alipay@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-1tHB5KDoG4TLJGoCIvQiMKiMGabmEcmsAiD8rnEHWJO9DsVJHdvKjHgnWXuiLo2mcTKmvinVuIbpf/7esPOkMA==}
-
-  '@dcloudio/uni-mp-baidu@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-Tgfk0B8JeRhQbqIzthlFe1TvlViGS3GtquBNF1N7+bTv/3JOdLIEIZUI8NzABtrPpnlTDZpC3Cbm8mEU5FEMCg==}
-
-  '@dcloudio/uni-mp-compiler@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-yehbzbPEG66/Pjf2BR57o46rxny6LQT5pTGyTUB6WI45J/V8qxBTn7QQwhWbi00ArL2jPgJMrZKiIfcSdF0DeA==}
-
-  '@dcloudio/uni-mp-harmony@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-xCjj61JP0bYO8lYSDHtc2nchUKBZoxpReqisn5DQrGlKYmXiGyYXxtUAyEtJskm92PMASI/kaQ8Bapcw/laYOg==}
-
-  '@dcloudio/uni-mp-jd@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-EOPJ3h1vA49TWPQ+Hx9nqCojWF++E5G1goqPGeH92NPG7n5GtQ49UiXTtsa3crJgQau6F77e3taqfrupjgAxtA==}
-
-  '@dcloudio/uni-mp-kuaishou@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-d0RYmEc4hwwE6UFlzFowhjSkF8smFvTsjiiO4Iau6l0TkWTwo3WaPclC5NTPW3NqcTPRff8kx9/F8ZJPIgPuwQ==}
-
-  '@dcloudio/uni-mp-lark@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-U+Keb8geOauUyJ3lzBuzx7YJocYmyF3a853TuQPZsGzH5RZS/xmRP0VQpavu0q/xwfWGNdErlrGy8bfxY/sIOw==}
-
-  '@dcloudio/uni-mp-qq@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-4HI3DkWNU4M/tWB+8+Eurh5O72x2iXWTx263Bw/83/cqVQMkg+jaQTlL4D4AzobksDw/Bw5T5dWZROecV244zQ==}
-
-  '@dcloudio/uni-mp-toutiao@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-+0fKT5qWudjy+0drb2Wfhc4uuhLaXDlVPwlIDbEkCGwle1xevBXpCPVNy0XFIldw2SzlTklpS1tHJARS4xsakg==}
-
-  '@dcloudio/uni-mp-vite@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-q6svgh4SA3brBu2L+BmRjFztVcO+SNSs29MYzdiW6zt5yoVRe9P88NpBG540IznO93yj91skcfmo3wozkenQAA==}
-
-  '@dcloudio/uni-mp-vue@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-ACVAPmmhLljL6SseOD4Xnnat4q7zdJTVjmGOyz7lXSwePQgxX5sjWPmY5xcC+bYhLHxk2Al7ATUWNoOyHWpIEg==}
-
-  '@dcloudio/uni-mp-weixin@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-x8QQrQxelXY5QUymqztMYhwlqFUNC+ApNQj+NTmnmViYxu7D152OLhP6/at+GN431PzbdsXUACrm0bv5+ep+bQ==}
-
-  '@dcloudio/uni-mp-xhs@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-WSnQtfgVaSlGsLUGHQRsbR8RNB+xu3rbtYHGQ64SCFsbx3s+Zgn64JlCK9BSJRPFgNYQpifr9zAaLGdq5CwSoA==}
-
-  '@dcloudio/uni-nvue-styler@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-+T8D1ZU5BC8nn+wIGRuQ/7jL8jJ9ts40HtH9oaxGYbJLTay3G63Z/bL21bAE+NT+N5tBXLSNrNNLzGLMwFKDjQ==}
-
-  '@dcloudio/uni-push@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-LmF3BpseEpzGZOffF7mUo7u+xJHRfsmdOIMwXS4Nb4q15YPj9HkwASm+HdEI+YtUdUx3BLbPKDJJNd4Lhd8YLQ==}
-
-  '@dcloudio/uni-quickapp-webview@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-DARM2/b9qL7seS3fY8YZKaf5oIP9oQto6ZA8/51ZieEvdX2lXvB0yOZPa8D4LBl8f05aMo0OA3pJYr3Ai3pOfQ==}
-
-  '@dcloudio/uni-shared@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-AdMu54lYQgXh2/QBqI3QhVi1c9Prcnmqz54Go2jwv4GW5FFYiu01rfZuHITpcuTgRK8iiq7nr5koWimz1Yxqfg==}
-
-  '@dcloudio/uni-stacktracey@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-Q18t1SZolMX2Zy35nHLL52ADwjbP4EXAuTKIKZX1ySuBGjjzfzT9rDvrxkgQbeWO1MgjPQ0O/sOCSMXwBcviUQ==}
-
-  '@dcloudio/uni-stat@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-X2+Lpr739LBHFvndqrWjiZEmfG1f7cSlT2yJ9kwSTiL287l6WmaybvXEPDQk53h6GDOZGSCmThHozpgEHDmgmg==}
-
-  '@dcloudio/uvm@0.3.1':
-    resolution: {integrity: sha512-Gs2FIG6KRToZf3jRO8ythQpU69cK1UXRzox3iadyA+5yAah0mFjq2/IuBBGAz1MrPz0ApYj5otsq6Fu+VA+uPw==}
-    hasBin: true
-
-  '@dcloudio/vite-plugin-uni@3.0.0-4060420250429001':
-    resolution: {integrity: sha512-hpTLcnQF7kflDtkwANKG2mytRW6paUDI90Ltz6MQGTWuc3YA5/2eOHPg+5BxeVF4jv1o6GS1f2/aFeaPu52Xjg==}
-    engines: {node: ^14.18.0 || >=16.0.0}
-    hasBin: true
-    peerDependencies:
-      vite: ^5.2.8
-
-  '@esbuild/aix-ppc64@0.20.2':
-    resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
-    engines: {node: '>=12'}
-    cpu: [ppc64]
-    os: [aix]
-
-  '@esbuild/android-arm64@0.20.2':
-    resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [android]
-
-  '@esbuild/android-arm@0.20.2':
-    resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
-    engines: {node: '>=12'}
-    cpu: [arm]
-    os: [android]
-
-  '@esbuild/android-x64@0.20.2':
-    resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [android]
-
-  '@esbuild/darwin-arm64@0.20.2':
-    resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [darwin]
-
-  '@esbuild/darwin-x64@0.20.2':
-    resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [darwin]
-
-  '@esbuild/freebsd-arm64@0.20.2':
-    resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [freebsd]
-
-  '@esbuild/freebsd-x64@0.20.2':
-    resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [freebsd]
-
-  '@esbuild/linux-arm64@0.20.2':
-    resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [linux]
-
-  '@esbuild/linux-arm@0.20.2':
-    resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
-    engines: {node: '>=12'}
-    cpu: [arm]
-    os: [linux]
-
-  '@esbuild/linux-ia32@0.20.2':
-    resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
-    engines: {node: '>=12'}
-    cpu: [ia32]
-    os: [linux]
-
-  '@esbuild/linux-loong64@0.20.2':
-    resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
-    engines: {node: '>=12'}
-    cpu: [loong64]
-    os: [linux]
-
-  '@esbuild/linux-mips64el@0.20.2':
-    resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
-    engines: {node: '>=12'}
-    cpu: [mips64el]
-    os: [linux]
-
-  '@esbuild/linux-ppc64@0.20.2':
-    resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
-    engines: {node: '>=12'}
-    cpu: [ppc64]
-    os: [linux]
-
-  '@esbuild/linux-riscv64@0.20.2':
-    resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
-    engines: {node: '>=12'}
-    cpu: [riscv64]
-    os: [linux]
-
-  '@esbuild/linux-s390x@0.20.2':
-    resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
-    engines: {node: '>=12'}
-    cpu: [s390x]
-    os: [linux]
-
-  '@esbuild/linux-x64@0.20.2':
-    resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [linux]
-
-  '@esbuild/netbsd-x64@0.20.2':
-    resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [netbsd]
-
-  '@esbuild/openbsd-x64@0.20.2':
-    resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [openbsd]
-
-  '@esbuild/sunos-x64@0.20.2':
-    resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [sunos]
-
-  '@esbuild/win32-arm64@0.20.2':
-    resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
-    engines: {node: '>=12'}
-    cpu: [arm64]
-    os: [win32]
-
-  '@esbuild/win32-ia32@0.20.2':
-    resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
-    engines: {node: '>=12'}
-    cpu: [ia32]
-    os: [win32]
-
-  '@esbuild/win32-x64@0.20.2':
-    resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
-    engines: {node: '>=12'}
-    cpu: [x64]
-    os: [win32]
-
-  '@intlify/core-base@9.1.9':
-    resolution: {integrity: sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==}
-    engines: {node: '>= 10'}
-
-  '@intlify/core-base@9.14.2':
-    resolution: {integrity: sha512-DZyQ4Hk22sC81MP4qiCDuU+LdaYW91A6lCjq8AWPvY3+mGMzhGDfOCzvyR6YBQxtlPjFqMoFk9ylnNYRAQwXtQ==}
-    engines: {node: '>= 16'}
-
-  '@intlify/devtools-if@9.1.9':
-    resolution: {integrity: sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==}
-    engines: {node: '>= 10'}
-
-  '@intlify/message-compiler@9.1.9':
-    resolution: {integrity: sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==}
-    engines: {node: '>= 10'}
-
-  '@intlify/message-compiler@9.14.2':
-    resolution: {integrity: sha512-YsKKuV4Qv4wrLNsvgWbTf0E40uRv+Qiw1BeLQ0LAxifQuhiMe+hfTIzOMdWj/ZpnTDj4RSZtkXjJM7JDiiB5LQ==}
-    engines: {node: '>= 16'}
-
-  '@intlify/message-resolver@9.1.9':
-    resolution: {integrity: sha512-Lx/DBpigeK0sz2BBbzv5mu9/dAlt98HxwbG7xLawC3O2xMF9MNWU5FtOziwYG6TDIjNq0O/3ZbOJAxwITIWXEA==}
-    engines: {node: '>= 10'}
-
-  '@intlify/runtime@9.1.9':
-    resolution: {integrity: sha512-XgPw8+UlHCiie3fI41HPVa/VDJb3/aSH7bLhY1hJvlvNV713PFtb4p4Jo+rlE0gAoMsMCGcsiT982fImolSltg==}
-    engines: {node: '>= 10'}
-
-  '@intlify/shared@9.1.9':
-    resolution: {integrity: sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==}
-    engines: {node: '>= 10'}
-
-  '@intlify/shared@9.14.2':
-    resolution: {integrity: sha512-uRAHAxYPeF+G5DBIboKpPgC/Waecd4Jz8ihtkpJQD5ycb5PwXp0k/+hBGl5dAjwF7w+l74kz/PKA8r8OK//RUw==}
-    engines: {node: '>= 16'}
-
-  '@intlify/vue-devtools@9.1.9':
-    resolution: {integrity: sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==}
-    engines: {node: '>= 10'}
-
-  '@istanbuljs/load-nyc-config@1.1.0':
-    resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
-    engines: {node: '>=8'}
-
-  '@istanbuljs/schema@0.1.3':
-    resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
-    engines: {node: '>=8'}
-
-  '@jest/console@27.5.1':
-    resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  '@jest/core@27.5.1':
-    resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-    peerDependencies:
-      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
-    peerDependenciesMeta:
-      node-notifier:
-        optional: true
-
-  '@jest/environment@27.5.1':
-    resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  '@jest/fake-timers@27.5.1':
-    resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  '@jest/globals@27.5.1':
-    resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  '@jest/reporters@27.5.1':
-    resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-    peerDependencies:
-      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
-    peerDependenciesMeta:
-      node-notifier:
-        optional: true
-
-  '@jest/source-map@27.5.1':
-    resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  '@jest/test-result@27.5.1':
-    resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  '@jest/test-sequencer@27.5.1':
-    resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  '@jest/transform@27.5.1':
-    resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  '@jest/types@27.5.1':
-    resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  '@jimp/bmp@0.10.3':
-    resolution: {integrity: sha512-keMOc5woiDmONXsB/6aXLR4Z5Q+v8lFq3EY2rcj2FmstbDMhRuGbmcBxlEgOqfRjwvtf/wOtJ3Of37oAWtVfLg==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/core@0.10.3':
-    resolution: {integrity: sha512-Gd5IpL3U2bFIO57Fh/OA3HCpWm4uW/pU01E75rI03BXfTdz3T+J7TwvyG1XaqsQ7/DSlS99GXtLQPlfFIe28UA==}
-
-  '@jimp/custom@0.10.3':
-    resolution: {integrity: sha512-nZmSI+jwTi5IRyNLbKSXQovoeqsw+D0Jn0SxW08wYQvdkiWA8bTlDQFgQ7HVwCAKBm8oKkDB/ZEo9qvHJ+1gAQ==}
-
-  '@jimp/gif@0.10.3':
-    resolution: {integrity: sha512-vjlRodSfz1CrUvvrnUuD/DsLK1GHB/yDZXHthVdZu23zYJIW7/WrIiD1IgQ5wOMV7NocfrvPn2iqUfBP81/WWA==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/jpeg@0.10.3':
-    resolution: {integrity: sha512-AAANwgUZOt6f6P7LZxY9lyJ9xclqutYJlsxt3JbriXUGJgrrFAIkcKcqv1nObgmQASSAQKYaMV9KdHjMlWFKlQ==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-blit@0.10.3':
-    resolution: {integrity: sha512-5zlKlCfx4JWw9qUVC7GI4DzXyxDWyFvgZLaoGFoT00mlXlN75SarlDwc9iZ/2e2kp4bJWxz3cGgG4G/WXrbg3Q==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-blur@0.10.3':
-    resolution: {integrity: sha512-cTOK3rjh1Yjh23jSfA6EHCHjsPJDEGLC8K2y9gM7dnTUK1y9NNmkFS23uHpyjgsWFIoH9oRh2SpEs3INjCpZhQ==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-circle@0.10.3':
-    resolution: {integrity: sha512-51GAPIVelqAcfuUpaM5JWJ0iWl4vEjNXB7p4P7SX5udugK5bxXUjO6KA2qgWmdpHuCKtoNgkzWU9fNSuYp7tCA==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-color@0.10.3':
-    resolution: {integrity: sha512-RgeHUElmlTH7vpI4WyQrz6u59spiKfVQbsG/XUzfWGamFSixa24ZDwX/yV/Ts+eNaz7pZeIuv533qmKPvw2ujg==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-contain@0.10.3':
-    resolution: {integrity: sha512-bYJKW9dqzcB0Ihc6u7jSyKa3juStzbLs2LFr6fu8TzA2WkMS/R8h+ddkiO36+F9ILTWHP0CIA3HFe5OdOGcigw==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-      '@jimp/plugin-blit': '>=0.3.5'
-      '@jimp/plugin-resize': '>=0.3.5'
-      '@jimp/plugin-scale': '>=0.3.5'
-
-  '@jimp/plugin-cover@0.10.3':
-    resolution: {integrity: sha512-pOxu0cM0BRPzdV468n4dMocJXoMbTnARDY/EpC3ZW15SpMuc/dr1KhWQHgoQX5kVW1Wt8zgqREAJJCQ5KuPKDA==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-      '@jimp/plugin-crop': '>=0.3.5'
-      '@jimp/plugin-resize': '>=0.3.5'
-      '@jimp/plugin-scale': '>=0.3.5'
-
-  '@jimp/plugin-crop@0.10.3':
-    resolution: {integrity: sha512-nB7HgOjjl9PgdHr076xZ3Sr6qHYzeBYBs9qvs3tfEEUeYMNnvzgCCGtUl6eMakazZFCMk3mhKmcB9zQuHFOvkg==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-displace@0.10.3':
-    resolution: {integrity: sha512-8t3fVKCH5IVqI4lewe4lFFjpxxr69SQCz5/tlpDLQZsrNScNJivHdQ09zljTrVTCSgeCqQJIKgH2Q7Sk/pAZ0w==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-dither@0.10.3':
-    resolution: {integrity: sha512-JCX/oNSnEg1kGQ8ffZ66bEgQOLCY3Rn+lrd6v1jjLy/mn9YVZTMsxLtGCXpiCDC2wG/KTmi4862ysmP9do9dAQ==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-fisheye@0.10.3':
-    resolution: {integrity: sha512-RRZb1wqe+xdocGcFtj2xHU7sF7xmEZmIa6BmrfSchjyA2b32TGPWKnP3qyj7p6LWEsXn+19hRYbjfyzyebPElQ==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-flip@0.10.3':
-    resolution: {integrity: sha512-0epbi8XEzp0wmSjoW9IB0iMu0yNF17aZOxLdURCN3Zr+8nWPs5VNIMqSVa1Y62GSyiMDpVpKF/ITiXre+EqrPg==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-      '@jimp/plugin-rotate': '>=0.3.5'
-
-  '@jimp/plugin-gaussian@0.10.3':
-    resolution: {integrity: sha512-25eHlFbHUDnMMGpgRBBeQ2AMI4wsqCg46sue0KklI+c2BaZ+dGXmJA5uT8RTOrt64/K9Wz5E+2n7eBnny4dfpQ==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-invert@0.10.3':
-    resolution: {integrity: sha512-effYSApWY/FbtlzqsKXlTLkgloKUiHBKjkQnqh5RL4oQxh/33j6aX+HFdDyQKtsXb8CMd4xd7wyiD2YYabTa0g==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-mask@0.10.3':
-    resolution: {integrity: sha512-twrg8q8TIhM9Z6Jcu9/5f+OCAPaECb0eKrrbbIajJqJ3bCUlj5zbfgIhiQIzjPJ6KjpnFPSqHQfHkU1Vvk/nVw==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-normalize@0.10.3':
-    resolution: {integrity: sha512-xkb5eZI/mMlbwKkDN79+1/t/+DBo8bBXZUMsT4gkFgMRKNRZ6NQPxlv1d3QpRzlocsl6UMxrHnhgnXdLAcgrXw==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-print@0.10.3':
-    resolution: {integrity: sha512-wjRiI6yjXsAgMe6kVjizP+RgleUCLkH256dskjoNvJzmzbEfO7xQw9g6M02VET+emnbY0CO83IkrGm2q43VRyg==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-      '@jimp/plugin-blit': '>=0.3.5'
-
-  '@jimp/plugin-resize@0.10.3':
-    resolution: {integrity: sha512-rf8YmEB1d7Sg+g4LpqF0Mp+dfXfb6JFJkwlAIWPUOR7lGsPWALavEwTW91c0etEdnp0+JB9AFpy6zqq7Lwkq6w==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/plugin-rotate@0.10.3':
-    resolution: {integrity: sha512-YXLlRjm18fkW9MOHUaVAxWjvgZM851ofOipytz5FyKp4KZWDLk+dZK1JNmVmK7MyVmAzZ5jsgSLhIgj+GgN0Eg==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-      '@jimp/plugin-blit': '>=0.3.5'
-      '@jimp/plugin-crop': '>=0.3.5'
-      '@jimp/plugin-resize': '>=0.3.5'
-
-  '@jimp/plugin-scale@0.10.3':
-    resolution: {integrity: sha512-5DXD7x7WVcX1gUgnlFXQa8F+Q3ThRYwJm+aesgrYvDOY+xzRoRSdQvhmdd4JEEue3lyX44DvBSgCIHPtGcEPaw==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-      '@jimp/plugin-resize': '>=0.3.5'
-
-  '@jimp/plugin-shadow@0.10.3':
-    resolution: {integrity: sha512-/nkFXpt2zVcdP4ETdkAUL0fSzyrC5ZFxdcphbYBodqD7fXNqChS/Un1eD4xCXWEpW8cnG9dixZgQgStjywH0Mg==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-      '@jimp/plugin-blur': '>=0.3.5'
-      '@jimp/plugin-resize': '>=0.3.5'
-
-  '@jimp/plugin-threshold@0.10.3':
-    resolution: {integrity: sha512-Dzh0Yq2wXP2SOnxcbbiyA4LJ2luwrdf1MghNIt9H+NX7B+IWw/N8qA2GuSm9n4BPGSLluuhdAWJqHcTiREriVA==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-      '@jimp/plugin-color': '>=0.8.0'
-      '@jimp/plugin-resize': '>=0.8.0'
-
-  '@jimp/plugins@0.10.3':
-    resolution: {integrity: sha512-jTT3/7hOScf0EIKiAXmxwayHhryhc1wWuIe3FrchjDjr9wgIGNN2a7XwCgPl3fML17DXK1x8EzDneCdh261bkw==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/png@0.10.3':
-    resolution: {integrity: sha512-YKqk/dkl+nGZxSYIDQrqhmaP8tC3IK8H7dFPnnzFVvbhDnyYunqBZZO3SaZUKTichClRw8k/CjBhbc+hifSGWg==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/tiff@0.10.3':
-    resolution: {integrity: sha512-7EsJzZ5Y/EtinkBGuwX3Bi4S+zgbKouxjt9c82VJTRJOQgLWsE/RHqcyRCOQBhHAZ9QexYmDz34medfLKdoX0g==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/types@0.10.3':
-    resolution: {integrity: sha512-XGmBakiHZqseSWr/puGN+CHzx0IKBSpsKlmEmsNV96HKDiP6eu8NSnwdGCEq2mmIHe0JNcg1hqg59hpwtQ7Tiw==}
-    peerDependencies:
-      '@jimp/custom': '>=0.3.5'
-
-  '@jimp/utils@0.10.3':
-    resolution: {integrity: sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==}
-
-  '@jridgewell/gen-mapping@0.3.5':
-    resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
-    engines: {node: '>=6.0.0'}
-
-  '@jridgewell/resolve-uri@3.1.2':
-    resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
-    engines: {node: '>=6.0.0'}
-
-  '@jridgewell/set-array@1.2.1':
-    resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
-    engines: {node: '>=6.0.0'}
-
-  '@jridgewell/source-map@0.3.6':
-    resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
-
-  '@jridgewell/sourcemap-codec@1.5.0':
-    resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
-  '@jridgewell/trace-mapping@0.3.25':
-    resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
-
-  '@nodelib/fs.scandir@2.1.5':
-    resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
-    engines: {node: '>= 8'}
-
-  '@nodelib/fs.stat@2.0.5':
-    resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
-    engines: {node: '>= 8'}
-
-  '@nodelib/fs.walk@1.2.8':
-    resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
-    engines: {node: '>= 8'}
-
-  '@parcel/watcher-android-arm64@2.4.1':
-    resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [android]
-
-  '@parcel/watcher-darwin-arm64@2.4.1':
-    resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [darwin]
-
-  '@parcel/watcher-darwin-x64@2.4.1':
-    resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [darwin]
-
-  '@parcel/watcher-freebsd-x64@2.4.1':
-    resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [freebsd]
-
-  '@parcel/watcher-linux-arm-glibc@2.4.1':
-    resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm]
-    os: [linux]
-    libc: [glibc]
-
-  '@parcel/watcher-linux-arm64-glibc@2.4.1':
-    resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [linux]
-    libc: [glibc]
-
-  '@parcel/watcher-linux-arm64-musl@2.4.1':
-    resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [linux]
-    libc: [musl]
-
-  '@parcel/watcher-linux-x64-glibc@2.4.1':
-    resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [linux]
-    libc: [glibc]
-
-  '@parcel/watcher-linux-x64-musl@2.4.1':
-    resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [linux]
-    libc: [musl]
-
-  '@parcel/watcher-win32-arm64@2.4.1':
-    resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [arm64]
-    os: [win32]
-
-  '@parcel/watcher-win32-ia32@2.4.1':
-    resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [ia32]
-    os: [win32]
-
-  '@parcel/watcher-win32-x64@2.4.1':
-    resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==}
-    engines: {node: '>= 10.0.0'}
-    cpu: [x64]
-    os: [win32]
-
-  '@parcel/watcher@2.4.1':
-    resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==}
-    engines: {node: '>= 10.0.0'}
-
-  '@qiun/wx-ucharts@2.5.0-20230101':
-    resolution: {integrity: sha512-sAaNUf4U6r4/0JZMTlfNwrtfT0v8qFO02B/wYsj4yZGTDAQ/QctGgKI7hVUDUSrqZnjH6xWqE+ql0FOIs1fTuQ==}
-
-  '@rollup/pluginutils@5.1.4':
-    resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==}
-    engines: {node: '>=14.0.0'}
-    peerDependencies:
-      rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
-    peerDependenciesMeta:
-      rollup:
-        optional: true
-
-  '@rollup/rollup-android-arm-eabi@4.24.0':
-    resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==}
-    cpu: [arm]
-    os: [android]
-
-  '@rollup/rollup-android-arm64@4.24.0':
-    resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==}
-    cpu: [arm64]
-    os: [android]
-
-  '@rollup/rollup-darwin-arm64@4.24.0':
-    resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==}
-    cpu: [arm64]
-    os: [darwin]
-
-  '@rollup/rollup-darwin-x64@4.24.0':
-    resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==}
-    cpu: [x64]
-    os: [darwin]
-
-  '@rollup/rollup-linux-arm-gnueabihf@4.24.0':
-    resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==}
-    cpu: [arm]
-    os: [linux]
-    libc: [glibc]
-
-  '@rollup/rollup-linux-arm-musleabihf@4.24.0':
-    resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==}
-    cpu: [arm]
-    os: [linux]
-    libc: [musl]
-
-  '@rollup/rollup-linux-arm64-gnu@4.24.0':
-    resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==}
-    cpu: [arm64]
-    os: [linux]
-    libc: [glibc]
-
-  '@rollup/rollup-linux-arm64-musl@4.24.0':
-    resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==}
-    cpu: [arm64]
-    os: [linux]
-    libc: [musl]
-
-  '@rollup/rollup-linux-powerpc64le-gnu@4.24.0':
-    resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==}
-    cpu: [ppc64]
-    os: [linux]
-    libc: [glibc]
-
-  '@rollup/rollup-linux-riscv64-gnu@4.24.0':
-    resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==}
-    cpu: [riscv64]
-    os: [linux]
-    libc: [glibc]
-
-  '@rollup/rollup-linux-s390x-gnu@4.24.0':
-    resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==}
-    cpu: [s390x]
-    os: [linux]
-    libc: [glibc]
-
-  '@rollup/rollup-linux-x64-gnu@4.24.0':
-    resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==}
-    cpu: [x64]
-    os: [linux]
-    libc: [glibc]
-
-  '@rollup/rollup-linux-x64-musl@4.24.0':
-    resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==}
-    cpu: [x64]
-    os: [linux]
-    libc: [musl]
-
-  '@rollup/rollup-win32-arm64-msvc@4.24.0':
-    resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==}
-    cpu: [arm64]
-    os: [win32]
-
-  '@rollup/rollup-win32-ia32-msvc@4.24.0':
-    resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==}
-    cpu: [ia32]
-    os: [win32]
-
-  '@rollup/rollup-win32-x64-msvc@4.24.0':
-    resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==}
-    cpu: [x64]
-    os: [win32]
-
-  '@sinonjs/commons@1.8.6':
-    resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==}
-
-  '@sinonjs/fake-timers@8.1.0':
-    resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==}
-
-  '@tootallnate/once@1.1.2':
-    resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
-    engines: {node: '>= 6'}
-
-  '@types/babel__core@7.20.5':
-    resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
-
-  '@types/babel__generator@7.6.8':
-    resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
-
-  '@types/babel__template@7.4.4':
-    resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
-
-  '@types/babel__traverse@7.20.6':
-    resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==}
-
-  '@types/estree@1.0.6':
-    resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
-
-  '@types/graceful-fs@4.1.9':
-    resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
-
-  '@types/istanbul-lib-coverage@2.0.6':
-    resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
-
-  '@types/istanbul-lib-report@3.0.3':
-    resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
-
-  '@types/istanbul-reports@3.0.4':
-    resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
-
-  '@types/node@22.7.5':
-    resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==}
-
-  '@types/prettier@2.7.3':
-    resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==}
-
-  '@types/stack-utils@2.0.3':
-    resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
-
-  '@types/yargs-parser@21.0.3':
-    resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
-
-  '@types/yargs@16.0.9':
-    resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==}
-
-  '@uview-plus/types@3.2.5':
-    resolution: {integrity: sha512-Zblby3WEN5d+NqS/UGs+1W5T55rs5zJw5eGKLUYoU5lKFm1arrlobbjA9/U481q68gBb7xA2775KKfk0FU5nnA==}
-
-  '@vitejs/plugin-legacy@5.3.2':
-    resolution: {integrity: sha512-8moCOrIMaZ/Rjln0Q6GsH6s8fAt1JOI3k8nmfX4tXUxE5KAExVctSyOBk+A25GClsdSWqIk2yaUthH3KJ2X4tg==}
-    engines: {node: ^18.0.0 || >=20.0.0}
-    peerDependencies:
-      terser: ^5.4.0
-      vite: ^5.0.0
-
-  '@vitejs/plugin-vue-jsx@3.1.0':
-    resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==}
-    engines: {node: ^14.18.0 || >=16.0.0}
-    peerDependencies:
-      vite: ^4.0.0 || ^5.0.0
-      vue: ^3.0.0
-
-  '@vitejs/plugin-vue@5.1.0':
-    resolution: {integrity: sha512-QMRxARyrdiwi1mj3AW4fLByoHTavreXq0itdEW696EihXglf1MB3D4C2gBvE0jMPH29ZjC3iK8aIaUMLf4EOGA==}
-    engines: {node: ^18.0.0 || >=20.0.0}
-    peerDependencies:
-      vite: ^5.0.0
-      vue: ^3.2.25
-
-  '@volar/language-core@2.4.6':
-    resolution: {integrity: sha512-FxUfxaB8sCqvY46YjyAAV6c3mMIq/NWQMVvJ+uS4yxr1KzOvyg61gAuOnNvgCvO4TZ7HcLExBEsWcDu4+K4E8A==}
-
-  '@volar/source-map@2.4.6':
-    resolution: {integrity: sha512-Nsh7UW2ruK+uURIPzjJgF0YRGP5CX9nQHypA2OMqdM2FKy7rh+uv3XgPnWPw30JADbKvZ5HuBzG4gSbVDYVtiw==}
-
-  '@volar/typescript@2.4.6':
-    resolution: {integrity: sha512-NMIrA7y5OOqddL9VtngPWYmdQU03htNKFtAYidbYfWA0TOhyGVd9tfcP4TsLWQ+RBWDZCbBqsr8xzU0ZOxYTCQ==}
-
-  '@vue/babel-helper-vue-transform-on@1.2.5':
-    resolution: {integrity: sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==}
-
-  '@vue/babel-plugin-jsx@1.2.5':
-    resolution: {integrity: sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-    peerDependenciesMeta:
-      '@babel/core':
-        optional: true
-
-  '@vue/babel-plugin-resolve-type@1.2.5':
-    resolution: {integrity: sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==}
-    peerDependencies:
-      '@babel/core': ^7.0.0-0
-
-  '@vue/compiler-core@3.4.21':
-    resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==}
-
-  '@vue/compiler-core@3.5.12':
-    resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==}
-
-  '@vue/compiler-dom@3.4.21':
-    resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==}
-
-  '@vue/compiler-dom@3.5.12':
-    resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==}
-
-  '@vue/compiler-sfc@3.4.21':
-    resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==}
-
-  '@vue/compiler-sfc@3.5.12':
-    resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==}
-
-  '@vue/compiler-ssr@3.4.21':
-    resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==}
-
-  '@vue/compiler-ssr@3.5.12':
-    resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==}
-
-  '@vue/compiler-vue2@2.7.16':
-    resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==}
-
-  '@vue/consolidate@1.0.0':
-    resolution: {integrity: sha512-oTyUE+QHIzLw2PpV14GD/c7EohDyP64xCniWTcqcEmTd699eFqTIwOmtDYjcO1j3QgdXoJEoWv1/cCdLrRoOfg==}
-    engines: {node: '>= 0.12.0'}
-
-  '@vue/devtools-api@6.6.4':
-    resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
-
-  '@vue/language-core@2.1.6':
-    resolution: {integrity: sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==}
-    peerDependencies:
-      typescript: '*'
-    peerDependenciesMeta:
-      typescript:
-        optional: true
-
-  '@vue/reactivity@3.4.21':
-    resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==}
-
-  '@vue/reactivity@3.5.12':
-    resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==}
-
-  '@vue/runtime-core@3.4.21':
-    resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==}
-
-  '@vue/runtime-core@3.5.12':
-    resolution: {integrity: sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==}
-
-  '@vue/runtime-dom@3.4.21':
-    resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==}
-
-  '@vue/server-renderer@3.4.21':
-    resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==}
-    peerDependencies:
-      vue: 3.4.21
-
-  '@vue/shared@3.4.21':
-    resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==}
-
-  '@vue/shared@3.5.12':
-    resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==}
-
-  '@vue/tsconfig@0.5.1':
-    resolution: {integrity: sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==}
-
-  abab@2.0.6:
-    resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
-    deprecated: Use your platform's native atob() and btoa() methods instead
-
-  accepts@1.3.8:
-    resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
-    engines: {node: '>= 0.6'}
-
-  acorn-globals@6.0.0:
-    resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==}
-
-  acorn-walk@7.2.0:
-    resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==}
-    engines: {node: '>=0.4.0'}
-
-  acorn@7.4.1:
-    resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==}
-    engines: {node: '>=0.4.0'}
-    hasBin: true
-
-  acorn@8.14.0:
-    resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
-    engines: {node: '>=0.4.0'}
-    hasBin: true
-
-  acorn@8.14.1:
-    resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
-    engines: {node: '>=0.4.0'}
-    hasBin: true
-
-  address@1.2.2:
-    resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
-    engines: {node: '>= 10.0.0'}
-
-  adm-zip@0.5.16:
-    resolution: {integrity: sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==}
-    engines: {node: '>=12.0'}
-
-  agent-base@6.0.2:
-    resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
-    engines: {node: '>= 6.0.0'}
-
-  ansi-escapes@4.3.2:
-    resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
-    engines: {node: '>=8'}
-
-  ansi-regex@5.0.1:
-    resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
-    engines: {node: '>=8'}
-
-  ansi-styles@3.2.1:
-    resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
-    engines: {node: '>=4'}
-
-  ansi-styles@4.3.0:
-    resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
-    engines: {node: '>=8'}
-
-  ansi-styles@5.2.0:
-    resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
-    engines: {node: '>=10'}
-
-  any-base@1.1.0:
-    resolution: {integrity: sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==}
-
-  anymatch@3.1.3:
-    resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
-    engines: {node: '>= 8'}
-
-  argparse@1.0.10:
-    resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
-
-  array-flatten@1.1.1:
-    resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
-
-  async-limiter@1.0.1:
-    resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==}
-
-  asynckit@0.4.0:
-    resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
-
-  autoprefixer@10.4.20:
-    resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==}
-    engines: {node: ^10 || ^12 || >=14}
-    hasBin: true
-    peerDependencies:
-      postcss: ^8.1.0
-
-  babel-jest@27.5.1:
-    resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-    peerDependencies:
-      '@babel/core': ^7.8.0
-
-  babel-plugin-istanbul@6.1.1:
-    resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
-    engines: {node: '>=8'}
-
-  babel-plugin-jest-hoist@27.5.1:
-    resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  babel-plugin-polyfill-corejs2@0.4.11:
-    resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==}
-    peerDependencies:
-      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
-
-  babel-plugin-polyfill-corejs3@0.10.6:
-    resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==}
-    peerDependencies:
-      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
-
-  babel-plugin-polyfill-regenerator@0.6.2:
-    resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==}
-    peerDependencies:
-      '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
-
-  babel-preset-current-node-syntax@1.1.0:
-    resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  babel-preset-jest@27.5.1:
-    resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-    peerDependencies:
-      '@babel/core': ^7.0.0
-
-  balanced-match@1.0.2:
-    resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
-
-  base64-js@1.5.1:
-    resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
-
-  base64url@3.0.1:
-    resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==}
-    engines: {node: '>=6.0.0'}
-
-  binary-extensions@2.3.0:
-    resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
-    engines: {node: '>=8'}
-
-  bl@4.1.0:
-    resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
-
-  bmp-js@0.1.0:
-    resolution: {integrity: sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==}
-
-  body-parser@1.20.3:
-    resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
-    engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
-
-  brace-expansion@1.1.11:
-    resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
-
-  brace-expansion@2.0.1:
-    resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
-
-  braces@3.0.3:
-    resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
-    engines: {node: '>=8'}
-
-  browser-process-hrtime@1.0.0:
-    resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==}
-
-  browserslist-to-esbuild@2.1.1:
-    resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==}
-    engines: {node: '>=18'}
-    hasBin: true
-    peerDependencies:
-      browserslist: '*'
-
-  browserslist@4.24.0:
-    resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==}
-    engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
-    hasBin: true
-
-  bser@2.1.1:
-    resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
-
-  buffer-equal@0.0.1:
-    resolution: {integrity: sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==}
-    engines: {node: '>=0.4.0'}
-
-  buffer-from@1.1.2:
-    resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
-
-  buffer@5.7.1:
-    resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
-
-  bytes@3.1.2:
-    resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
-    engines: {node: '>= 0.8'}
-
-  cac@6.7.9:
-    resolution: {integrity: sha512-XN5qEpfNQCJ8jRaZgitSkkukjMRCGio+X3Ks5KUbGGlPbV+pSem1l9VuzooCBXOiMFshUZgyYqg6rgN8rjkb/w==}
-    engines: {node: '>=8'}
-
-  call-bind@1.0.7:
-    resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
-    engines: {node: '>= 0.4'}
-
-  callback-stream@1.1.0:
-    resolution: {integrity: sha512-sAZ9kODla+mGACBZ1IpTCAisKoGnv6PykW7fPk1LrM+mMepE18Yz0515yoVcrZy7dQsTUp3uZLQ/9Sx1RnLoHw==}
-
-  callsites@3.1.0:
-    resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
-    engines: {node: '>=6'}
-
-  camelcase@5.3.1:
-    resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
-    engines: {node: '>=6'}
-
-  camelcase@6.3.0:
-    resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
-    engines: {node: '>=10'}
-
-  caniuse-lite@1.0.30001668:
-    resolution: {integrity: sha512-nWLrdxqCdblixUO+27JtGJJE/txpJlyUy5YN1u53wLZkP0emYCo5zgS6QYft7VUYR42LGgi/S5hdLZTrnyIddw==}
-
-  centra@2.7.0:
-    resolution: {integrity: sha512-PbFMgMSrmgx6uxCdm57RUos9Tc3fclMvhLSATYN39XsDV29B89zZ3KA89jmY0vwSGazyU+uerqwa6t+KaodPcg==}
-
-  chalk@2.4.2:
-    resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
-    engines: {node: '>=4'}
-
-  chalk@4.1.2:
-    resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
-    engines: {node: '>=10'}
-
-  char-regex@1.0.2:
-    resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
-    engines: {node: '>=10'}
-
-  chardet@0.7.0:
-    resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
-
-  chokidar@3.6.0:
-    resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
-    engines: {node: '>= 8.10.0'}
-
-  chokidar@4.0.1:
-    resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
-    engines: {node: '>= 14.16.0'}
-
-  ci-info@3.9.0:
-    resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
-    engines: {node: '>=8'}
-
-  cjs-module-lexer@1.4.1:
-    resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==}
-
-  cli-cursor@3.1.0:
-    resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
-    engines: {node: '>=8'}
-
-  cli-spinners@2.9.2:
-    resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
-    engines: {node: '>=6'}
-
-  cli-width@3.0.0:
-    resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
-    engines: {node: '>= 10'}
-
-  clipboard@2.0.11:
-    resolution: {integrity: sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==}
-
-  cliui@7.0.4:
-    resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
-
-  clone@1.0.4:
-    resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
-    engines: {node: '>=0.8'}
-
-  co@4.6.0:
-    resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
-    engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
-
-  collect-v8-coverage@1.0.2:
-    resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
-
-  color-convert@1.9.3:
-    resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
-
-  color-convert@2.0.1:
-    resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
-    engines: {node: '>=7.0.0'}
-
-  color-name@1.1.3:
-    resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
-
-  color-name@1.1.4:
-    resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
-  combined-stream@1.0.8:
-    resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
-    engines: {node: '>= 0.8'}
-
-  commander@2.20.3:
-    resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
-
-  commist@1.1.0:
-    resolution: {integrity: sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==}
-
-  compare-versions@3.6.0:
-    resolution: {integrity: sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==}
-
-  computeds@0.0.1:
-    resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==}
-
-  concat-map@0.0.1:
-    resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
-
-  concat-stream@1.6.2:
-    resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==}
-    engines: {'0': node >= 0.8}
-
-  confbox@0.1.8:
-    resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
-
-  content-disposition@0.5.4:
-    resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
-    engines: {node: '>= 0.6'}
-
-  content-type@1.0.5:
-    resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
-    engines: {node: '>= 0.6'}
-
-  convert-source-map@1.9.0:
-    resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
-
-  convert-source-map@2.0.0:
-    resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
-
-  cookie-signature@1.0.6:
-    resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
-
-  cookie@0.7.1:
-    resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
-    engines: {node: '>= 0.6'}
-
-  copy-anything@2.0.6:
-    resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==}
-
-  core-js-compat@3.38.1:
-    resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==}
-
-  core-js@3.38.1:
-    resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==}
-
-  core-util-is@1.0.3:
-    resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
-
-  cross-env@7.0.3:
-    resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==}
-    engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'}
-    hasBin: true
-
-  cross-spawn@7.0.3:
-    resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
-    engines: {node: '>= 8'}
-
-  css-font-size-keywords@1.0.0:
-    resolution: {integrity: sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==}
-
-  css-font-stretch-keywords@1.0.1:
-    resolution: {integrity: sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==}
-
-  css-font-style-keywords@1.0.1:
-    resolution: {integrity: sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==}
-
-  css-font-weight-keywords@1.0.0:
-    resolution: {integrity: sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==}
-
-  css-list-helpers@2.0.0:
-    resolution: {integrity: sha512-9Bj8tZ0jWbAM3u/U6m/boAzAwLPwtjzFvwivr2piSvyVa3K3rChJzQy4RIHkNkKiZCHrEMWDJWtTR8UyVhdDnQ==}
-
-  css-system-font-keywords@1.0.0:
-    resolution: {integrity: sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==}
-
-  cssesc@3.0.0:
-    resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
-    engines: {node: '>=4'}
-    hasBin: true
-
-  cssom@0.3.8:
-    resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
-
-  cssom@0.4.4:
-    resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==}
-
-  cssstyle@2.3.0:
-    resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
-    engines: {node: '>=8'}
-
-  csstype@3.1.3:
-    resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
-
-  d@1.0.2:
-    resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==}
-    engines: {node: '>=0.12'}
-
-  data-urls@2.0.0:
-    resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==}
-    engines: {node: '>=10'}
-
-  dayjs@1.11.13:
-    resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
-
-  de-indent@1.0.2:
-    resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
-
-  debug@2.6.9:
-    resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
-    peerDependencies:
-      supports-color: '*'
-    peerDependenciesMeta:
-      supports-color:
-        optional: true
-
-  debug@4.3.7:
-    resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
-    engines: {node: '>=6.0'}
-    peerDependencies:
-      supports-color: '*'
-    peerDependenciesMeta:
-      supports-color:
-        optional: true
-
-  decimal.js@10.4.3:
-    resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
-
-  dedent@0.7.0:
-    resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==}
-
-  deepmerge@4.3.1:
-    resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
-    engines: {node: '>=0.10.0'}
-
-  default-gateway@6.0.3:
-    resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
-    engines: {node: '>= 10'}
-
-  defaults@1.0.4:
-    resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
-
-  define-data-property@1.1.4:
-    resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
-    engines: {node: '>= 0.4'}
-
-  delayed-stream@1.0.0:
-    resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
-    engines: {node: '>=0.4.0'}
-
-  delegate@3.2.0:
-    resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==}
-
-  depd@2.0.0:
-    resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
-    engines: {node: '>= 0.8'}
-
-  destroy@1.2.0:
-    resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
-    engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
-
-  detect-libc@1.0.3:
-    resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
-    engines: {node: '>=0.10'}
-    hasBin: true
-
-  detect-newline@3.1.0:
-    resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
-    engines: {node: '>=8'}
-
-  diff-sequences@27.5.1:
-    resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  dom-walk@0.1.2:
-    resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==}
-
-  domexception@2.0.1:
-    resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==}
-    engines: {node: '>=8'}
-    deprecated: Use your platform's native DOMException instead
-
-  duplexify@3.7.1:
-    resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==}
-
-  duplexify@4.1.3:
-    resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==}
-
-  ee-first@1.1.1:
-    resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
-
-  electron-to-chromium@1.5.36:
-    resolution: {integrity: sha512-HYTX8tKge/VNp6FGO+f/uVDmUkq+cEfcxYhKf15Akc4M5yxt5YmorwlAitKWjWhWQnKcDRBAQKXkhqqXMqcrjw==}
-
-  emittery@0.8.1:
-    resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==}
-    engines: {node: '>=10'}
-
-  emoji-regex@8.0.0:
-    resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
-
-  encodeurl@1.0.2:
-    resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
-    engines: {node: '>= 0.8'}
-
-  encodeurl@2.0.0:
-    resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
-    engines: {node: '>= 0.8'}
-
-  end-of-stream@1.4.4:
-    resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
-
-  entities@4.5.0:
-    resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
-    engines: {node: '>=0.12'}
-
-  errno@0.1.8:
-    resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
-    hasBin: true
-
-  error-ex@1.3.2:
-    resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
-
-  es-define-property@1.0.0:
-    resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
-    engines: {node: '>= 0.4'}
-
-  es-errors@1.3.0:
-    resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
-    engines: {node: '>= 0.4'}
-
-  es-module-lexer@1.5.4:
-    resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
-
-  es5-ext@0.10.64:
-    resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==}
-    engines: {node: '>=0.10'}
-
-  es6-iterator@2.0.3:
-    resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
-
-  es6-map@0.1.5:
-    resolution: {integrity: sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==}
-
-  es6-set@0.1.6:
-    resolution: {integrity: sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==}
-    engines: {node: '>=0.12'}
-
-  es6-symbol@3.1.4:
-    resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==}
-    engines: {node: '>=0.12'}
-
-  esbuild@0.20.2:
-    resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
-    engines: {node: '>=12'}
-    hasBin: true
-
-  escalade@3.2.0:
-    resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
-    engines: {node: '>=6'}
-
-  escape-html@1.0.3:
-    resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
-
-  escape-string-regexp@1.0.5:
-    resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
-    engines: {node: '>=0.8.0'}
-
-  escape-string-regexp@2.0.0:
-    resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
-    engines: {node: '>=8'}
-
-  escape-string-regexp@5.0.0:
-    resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
-    engines: {node: '>=12'}
-
-  escodegen@2.1.0:
-    resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
-    engines: {node: '>=6.0'}
-    hasBin: true
-
-  esniff@2.0.1:
-    resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==}
-    engines: {node: '>=0.10'}
-
-  esprima@4.0.1:
-    resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
-    engines: {node: '>=4'}
-    hasBin: true
-
-  estraverse@5.3.0:
-    resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
-    engines: {node: '>=4.0'}
-
-  estree-walker@2.0.2:
-    resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
-
-  estree-walker@3.0.3:
-    resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
-
-  esutils@2.0.3:
-    resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
-    engines: {node: '>=0.10.0'}
-
-  etag@1.8.1:
-    resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
-    engines: {node: '>= 0.6'}
-
-  event-emitter@0.3.5:
-    resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
-
-  execa@5.1.1:
-    resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
-    engines: {node: '>=10'}
-
-  exif-parser@0.1.12:
-    resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==}
-
-  exit@0.1.2:
-    resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
-    engines: {node: '>= 0.8.0'}
-
-  expect@27.5.1:
-    resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  express@4.21.1:
-    resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==}
-    engines: {node: '>= 0.10.0'}
-
-  ext@1.7.0:
-    resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
-
-  extend@3.0.2:
-    resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
-
-  external-editor@3.1.0:
-    resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
-    engines: {node: '>=4'}
-
-  fast-glob@3.3.3:
-    resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
-    engines: {node: '>=8.6.0'}
-
-  fast-json-stable-stringify@2.1.0:
-    resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
-
-  fastq@1.17.1:
-    resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
-
-  fb-watchman@2.0.2:
-    resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
-
-  figures@3.2.0:
-    resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
-    engines: {node: '>=8'}
-
-  file-type@9.0.0:
-    resolution: {integrity: sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==}
-    engines: {node: '>=6'}
-
-  fill-range@7.1.1:
-    resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
-    engines: {node: '>=8'}
-
-  finalhandler@1.3.1:
-    resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
-    engines: {node: '>= 0.8'}
-
-  find-up@4.1.0:
-    resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
-    engines: {node: '>=8'}
-
-  follow-redirects@1.15.9:
-    resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
-    engines: {node: '>=4.0'}
-    peerDependencies:
-      debug: '*'
-    peerDependenciesMeta:
-      debug:
-        optional: true
-
-  form-data@3.0.2:
-    resolution: {integrity: sha512-sJe+TQb2vIaIyO783qN6BlMYWMw3WBOHA1Ay2qxsnjuafEOQFJ2JakedOQirT6D5XPRxDvS7AHYyem9fTpb4LQ==}
-    engines: {node: '>= 6'}
-
-  forwarded@0.2.0:
-    resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
-    engines: {node: '>= 0.6'}
-
-  fraction.js@4.3.7:
-    resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
-
-  fresh@0.5.2:
-    resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
-    engines: {node: '>= 0.6'}
-
-  fs-extra@10.1.0:
-    resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
-    engines: {node: '>=12'}
-
-  fs.realpath@1.0.0:
-    resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
-
-  fsevents@2.3.3:
-    resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
-    engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
-    os: [darwin]
-
-  function-bind@1.1.2:
-    resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
-
-  generic-names@4.0.0:
-    resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==}
-
-  gensync@1.0.0-beta.2:
-    resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
-    engines: {node: '>=6.9.0'}
-
-  get-caller-file@2.0.5:
-    resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
-    engines: {node: 6.* || 8.* || >= 10.*}
-
-  get-intrinsic@1.2.4:
-    resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
-    engines: {node: '>= 0.4'}
-
-  get-package-type@0.1.0:
-    resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
-    engines: {node: '>=8.0.0'}
-
-  get-stream@6.0.1:
-    resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
-    engines: {node: '>=10'}
-
-  glob-parent@3.1.0:
-    resolution: {integrity: sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==}
-
-  glob-parent@5.1.2:
-    resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
-    engines: {node: '>= 6'}
-
-  glob-stream@6.1.0:
-    resolution: {integrity: sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==}
-    engines: {node: '>= 0.10'}
-
-  glob@7.2.3:
-    resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
-    deprecated: Glob versions prior to v9 are no longer supported
-
-  global@4.4.0:
-    resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==}
-
-  globals@11.12.0:
-    resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
-    engines: {node: '>=4'}
-
-  good-listener@1.2.2:
-    resolution: {integrity: sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==}
-
-  gopd@1.0.1:
-    resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
-
-  graceful-fs@4.2.11:
-    resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
-
-  has-flag@3.0.0:
-    resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
-    engines: {node: '>=4'}
-
-  has-flag@4.0.0:
-    resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
-    engines: {node: '>=8'}
-
-  has-property-descriptors@1.0.2:
-    resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
-
-  has-proto@1.0.3:
-    resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
-    engines: {node: '>= 0.4'}
-
-  has-symbols@1.0.3:
-    resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
-    engines: {node: '>= 0.4'}
-
-  hash-sum@2.0.0:
-    resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
-
-  hasown@2.0.2:
-    resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
-    engines: {node: '>= 0.4'}
-
-  he@1.2.0:
-    resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
-    hasBin: true
-
-  help-me@1.1.0:
-    resolution: {integrity: sha512-P/IZ8yOMne3SCTHbVY429NZ67B/2bVQlcYGZh2iPPbdLrEQ/qY5aGChn0YTDmt7Sb4IKRI51fypItav+lNl76w==}
-
-  html-encoding-sniffer@2.0.1:
-    resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==}
-    engines: {node: '>=10'}
-
-  html-escaper@2.0.2:
-    resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
-
-  html-tags@3.3.1:
-    resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==}
-    engines: {node: '>=8'}
-
-  http-errors@2.0.0:
-    resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
-    engines: {node: '>= 0.8'}
-
-  http-proxy-agent@4.0.1:
-    resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
-    engines: {node: '>= 6'}
-
-  https-proxy-agent@5.0.1:
-    resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
-    engines: {node: '>= 6'}
-
-  human-signals@2.1.0:
-    resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
-    engines: {node: '>=10.17.0'}
-
-  iconv-lite@0.4.24:
-    resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
-    engines: {node: '>=0.10.0'}
-
-  iconv-lite@0.6.3:
-    resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
-    engines: {node: '>=0.10.0'}
-
-  icss-replace-symbols@1.1.0:
-    resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==}
-
-  icss-utils@5.1.0:
-    resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
-    engines: {node: ^10 || ^12 || >= 14}
-    peerDependencies:
-      postcss: ^8.1.0
-
-  ieee754@1.2.1:
-    resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
-
-  image-size@0.5.5:
-    resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
-    engines: {node: '>=0.10.0'}
-    hasBin: true
-
-  immutable@4.3.7:
-    resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==}
-
-  import-local@3.2.0:
-    resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==}
-    engines: {node: '>=8'}
-    hasBin: true
-
-  imurmurhash@0.1.4:
-    resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
-    engines: {node: '>=0.8.19'}
-
-  inflight@1.0.6:
-    resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
-    deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
-
-  inherits@2.0.4:
-    resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
-
-  inquirer@8.2.6:
-    resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==}
-    engines: {node: '>=12.0.0'}
-
-  invert-kv@3.0.1:
-    resolution: {integrity: sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==}
-    engines: {node: '>=8'}
-
-  ipaddr.js@1.9.1:
-    resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
-    engines: {node: '>= 0.10'}
-
-  is-absolute@1.0.0:
-    resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==}
-    engines: {node: '>=0.10.0'}
-
-  is-arrayish@0.2.1:
-    resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
-
-  is-binary-path@2.1.0:
-    resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
-    engines: {node: '>=8'}
-
-  is-core-module@2.15.1:
-    resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
-    engines: {node: '>= 0.4'}
-
-  is-extglob@2.1.1:
-    resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
-    engines: {node: '>=0.10.0'}
-
-  is-fullwidth-code-point@3.0.0:
-    resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
-    engines: {node: '>=8'}
-
-  is-function@1.0.2:
-    resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==}
-
-  is-generator-fn@2.1.0:
-    resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
-    engines: {node: '>=6'}
-
-  is-glob@3.1.0:
-    resolution: {integrity: sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==}
-    engines: {node: '>=0.10.0'}
-
-  is-glob@4.0.3:
-    resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
-    engines: {node: '>=0.10.0'}
-
-  is-interactive@1.0.0:
-    resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
-    engines: {node: '>=8'}
-
-  is-negated-glob@1.0.0:
-    resolution: {integrity: sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==}
-    engines: {node: '>=0.10.0'}
-
-  is-number@7.0.0:
-    resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
-    engines: {node: '>=0.12.0'}
-
-  is-potential-custom-element-name@1.0.1:
-    resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
-
-  is-relative@1.0.0:
-    resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==}
-    engines: {node: '>=0.10.0'}
-
-  is-stream@2.0.1:
-    resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
-    engines: {node: '>=8'}
-
-  is-typedarray@1.0.0:
-    resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==}
-
-  is-unc-path@1.0.0:
-    resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==}
-    engines: {node: '>=0.10.0'}
-
-  is-unicode-supported@0.1.0:
-    resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
-    engines: {node: '>=10'}
-
-  is-what@3.14.1:
-    resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==}
-
-  is-windows@1.0.2:
-    resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
-    engines: {node: '>=0.10.0'}
-
-  isarray@1.0.0:
-    resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
-
-  isbinaryfile@5.0.3:
-    resolution: {integrity: sha512-VR4gNjFaDP8csJQvzInG20JvBj8MaHYLxNOMXysxRbGM7tcsHZwCjhch3FubFtZBkuDbN55i4dUukGeIrzF+6g==}
-    engines: {node: '>= 18.0.0'}
-
-  isexe@2.0.0:
-    resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
-
-  istanbul-lib-coverage@3.2.2:
-    resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
-    engines: {node: '>=8'}
-
-  istanbul-lib-instrument@5.2.1:
-    resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
-    engines: {node: '>=8'}
-
-  istanbul-lib-report@3.0.1:
-    resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
-    engines: {node: '>=10'}
-
-  istanbul-lib-source-maps@4.0.1:
-    resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
-    engines: {node: '>=10'}
-
-  istanbul-reports@3.1.7:
-    resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
-    engines: {node: '>=8'}
-
-  jest-changed-files@27.5.1:
-    resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-circus@27.5.1:
-    resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-cli@27.5.1:
-    resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-    hasBin: true
-    peerDependencies:
-      node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
-    peerDependenciesMeta:
-      node-notifier:
-        optional: true
-
-  jest-config@27.5.1:
-    resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-    peerDependencies:
-      ts-node: '>=9.0.0'
-    peerDependenciesMeta:
-      ts-node:
-        optional: true
-
-  jest-diff@27.5.1:
-    resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-docblock@27.5.1:
-    resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-each@27.5.1:
-    resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-environment-jsdom@27.5.1:
-    resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-environment-node@27.5.1:
-    resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-get-type@27.5.1:
-    resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-haste-map@27.5.1:
-    resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-jasmine2@27.5.1:
-    resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-leak-detector@27.5.1:
-    resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-matcher-utils@27.5.1:
-    resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-message-util@27.5.1:
-    resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-mock@27.5.1:
-    resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-pnp-resolver@1.2.3:
-    resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
-    engines: {node: '>=6'}
-    peerDependencies:
-      jest-resolve: '*'
-    peerDependenciesMeta:
-      jest-resolve:
-        optional: true
-
-  jest-regex-util@27.5.1:
-    resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-resolve-dependencies@27.5.1:
-    resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-resolve@27.5.1:
-    resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-runner@27.5.1:
-    resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-runtime@27.5.1:
-    resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-serializer@27.5.1:
-    resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-snapshot@27.5.1:
-    resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-util@27.5.1:
-    resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-validate@27.5.1:
-    resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-watcher@27.5.1:
-    resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  jest-worker@27.5.1:
-    resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
-    engines: {node: '>= 10.13.0'}
-
-  jest@27.0.4:
-    resolution: {integrity: sha512-Px1iKFooXgGSkk1H8dJxxBIrM3tsc5SIuI4kfKYK2J+4rvCvPGr/cXktxh0e9zIPQ5g09kOMNfHQEmusBUf/ZA==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-    hasBin: true
-    peerDependencies:
-      node-notifier: ^8.0.1 || ^9.0.0
-    peerDependenciesMeta:
-      node-notifier:
-        optional: true
-
-  jimp@0.10.3:
-    resolution: {integrity: sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==}
-
-  jpeg-js@0.3.7:
-    resolution: {integrity: sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==}
-
-  js-tokens@4.0.0:
-    resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
-
-  js-tokens@9.0.1:
-    resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
-
-  js-yaml@3.14.1:
-    resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
-    hasBin: true
-
-  jsdom@16.7.0:
-    resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==}
-    engines: {node: '>=10'}
-    peerDependencies:
-      canvas: ^2.5.0
-    peerDependenciesMeta:
-      canvas:
-        optional: true
-
-  jsesc@3.0.2:
-    resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
-    engines: {node: '>=6'}
-    hasBin: true
-
-  json-parse-even-better-errors@2.3.1:
-    resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
-
-  json-stable-stringify-without-jsonify@1.0.1:
-    resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
-
-  json5@2.2.3:
-    resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
-    engines: {node: '>=6'}
-    hasBin: true
-
-  jsonc-parser@3.3.1:
-    resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
-
-  jsonfile@6.1.0:
-    resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
-
-  kleur@3.0.3:
-    resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
-    engines: {node: '>=6'}
-
-  lcid@3.1.1:
-    resolution: {integrity: sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==}
-    engines: {node: '>=8'}
-
-  less@4.2.0:
-    resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==}
-    engines: {node: '>=6'}
-    hasBin: true
-
-  leven@2.1.0:
-    resolution: {integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==}
-    engines: {node: '>=0.10.0'}
-
-  leven@3.1.0:
-    resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
-    engines: {node: '>=6'}
-
-  licia@1.43.0:
-    resolution: {integrity: sha512-/m23vS54TozPbRMXUuV/Ht1+IIAB4Lw9bPX3ZPzzGL0uWNMt91QK/xktdJk//b2y1HiWPNTjb8lWM927nZI8OQ==}
-
-  lilconfig@2.1.0:
-    resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
-    engines: {node: '>=10'}
-
-  lines-and-columns@1.2.4:
-    resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
-
-  lines-and-columns@2.0.4:
-    resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==}
-    engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
-  load-bmfont@1.4.2:
-    resolution: {integrity: sha512-qElWkmjW9Oq1F9EI5Gt7aD9zcdHb9spJCW1L/dmPf7KzCCEJxq8nhHz5eCgI9aMf7vrG/wyaCqdsI+Iy9ZTlog==}
-
-  loader-utils@3.3.1:
-    resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==}
-    engines: {node: '>= 12.13.0'}
-
-  local-pkg@1.0.0:
-    resolution: {integrity: sha512-bbgPw/wmroJsil/GgL4qjDzs5YLTBMQ99weRsok1XCDccQeehbHA/I1oRvk2NPtr7KGZgT/Y5tPRnAtMqeG2Kg==}
-    engines: {node: '>=14'}
-
-  localstorage-polyfill@1.0.1:
-    resolution: {integrity: sha512-m4iHVZxFH5734oQcPKU08025gIz2+4bjWR9lulP8ZYxEJR0BpA0w32oJmkzh8y3UI9ci7xCBehQDc3oA1X+VHw==}
-    engines: {node: '>=6'}
-
-  locate-path@5.0.0:
-    resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
-    engines: {node: '>=8'}
-
-  lodash.camelcase@4.3.0:
-    resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
-
-  lodash.debounce@4.0.8:
-    resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
-
-  lodash@4.17.21:
-    resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
-
-  log-symbols@4.1.0:
-    resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
-    engines: {node: '>=10'}
-
-  lru-cache@5.1.1:
-    resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
-
-  magic-string@0.30.12:
-    resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==}
-
-  magic-string@0.30.17:
-    resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
-
-  make-dir@2.1.0:
-    resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
-    engines: {node: '>=6'}
-
-  make-dir@4.0.0:
-    resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
-    engines: {node: '>=10'}
-
-  makeerror@1.0.12:
-    resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
-
-  media-typer@0.3.0:
-    resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
-    engines: {node: '>= 0.6'}
-
-  meow@13.2.0:
-    resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==}
-    engines: {node: '>=18'}
-
-  merge-descriptors@1.0.3:
-    resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
-
-  merge-stream@2.0.0:
-    resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
-
-  merge2@1.4.1:
-    resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
-    engines: {node: '>= 8'}
-
-  merge@2.1.1:
-    resolution: {integrity: sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==}
-
-  methods@1.1.2:
-    resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
-    engines: {node: '>= 0.6'}
-
-  micromatch@4.0.8:
-    resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
-    engines: {node: '>=8.6'}
-
-  mime-db@1.52.0:
-    resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
-    engines: {node: '>= 0.6'}
-
-  mime-types@2.1.35:
-    resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
-    engines: {node: '>= 0.6'}
-
-  mime@1.6.0:
-    resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
-    engines: {node: '>=4'}
-    hasBin: true
-
-  mime@3.0.0:
-    resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
-    engines: {node: '>=10.0.0'}
-    hasBin: true
-
-  mimic-fn@2.1.0:
-    resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
-    engines: {node: '>=6'}
-
-  min-document@2.19.0:
-    resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==}
-
-  minimatch@3.1.2:
-    resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
-
-  minimatch@9.0.5:
-    resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
-    engines: {node: '>=16 || 14 >=14.17'}
-
-  minimist@1.2.8:
-    resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
-
-  mkdirp@0.5.6:
-    resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
-    hasBin: true
-
-  mlly@1.7.4:
-    resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
-
-  module-alias@2.2.3:
-    resolution: {integrity: sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==}
-
-  mqtt-packet@6.10.0:
-    resolution: {integrity: sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==}
-
-  mqtt@4.1.0:
-    resolution: {integrity: sha512-dBihVZzaB8p9G/2ktSfamiaHmMnpCpP2du08317ZuEX1kBAbZOG9aMJQ11EChXnOX3GKUeiZYaSITueceQKT2A==}
-    engines: {node: '>=4.0.0'}
-    hasBin: true
-
-  ms@2.0.0:
-    resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
-
-  ms@2.1.3:
-    resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
-
-  muggle-string@0.4.1:
-    resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==}
-
-  mute-stream@0.0.8:
-    resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
-
-  nanoid@3.3.7:
-    resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
-    engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
-    hasBin: true
-
-  natural-compare@1.4.0:
-    resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
-
-  needle@3.3.1:
-    resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==}
-    engines: {node: '>= 4.4.x'}
-    hasBin: true
-
-  negotiator@0.6.3:
-    resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
-    engines: {node: '>= 0.6'}
-
-  neo-async@2.6.2:
-    resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
-
-  next-tick@1.1.0:
-    resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
-
-  node-addon-api@7.1.1:
-    resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
-
-  node-fetch@2.7.0:
-    resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
-    engines: {node: 4.x || >=6.0.0}
-    peerDependencies:
-      encoding: ^0.1.0
-    peerDependenciesMeta:
-      encoding:
-        optional: true
-
-  node-int64@0.4.0:
-    resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
-
-  node-releases@2.0.18:
-    resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
-
-  normalize-path@3.0.0:
-    resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
-    engines: {node: '>=0.10.0'}
-
-  normalize-range@0.1.2:
-    resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
-    engines: {node: '>=0.10.0'}
-
-  npm-run-path@4.0.1:
-    resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
-    engines: {node: '>=8'}
-
-  nwsapi@2.2.13:
-    resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==}
-
-  object-inspect@1.13.2:
-    resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
-    engines: {node: '>= 0.4'}
-
-  omggif@1.0.10:
-    resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==}
-
-  on-finished@2.4.1:
-    resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
-    engines: {node: '>= 0.8'}
-
-  once@1.4.0:
-    resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
-
-  onetime@5.1.2:
-    resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
-    engines: {node: '>=6'}
-
-  ora@5.4.1:
-    resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
-    engines: {node: '>=10'}
-
-  ordered-read-streams@1.0.1:
-    resolution: {integrity: sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==}
-
-  os-locale-s-fix@1.0.8-fix-1:
-    resolution: {integrity: sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w==}
-    engines: {node: '>=10', yarn: ^1.22.4}
-
-  os-tmpdir@1.0.2:
-    resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
-    engines: {node: '>=0.10.0'}
-
-  p-limit@2.3.0:
-    resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
-    engines: {node: '>=6'}
-
-  p-locate@4.1.0:
-    resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
-    engines: {node: '>=8'}
-
-  p-try@2.2.0:
-    resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
-    engines: {node: '>=6'}
-
-  pako@1.0.11:
-    resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==}
-
-  parse-bmfont-ascii@1.0.6:
-    resolution: {integrity: sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==}
-
-  parse-bmfont-binary@1.0.6:
-    resolution: {integrity: sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==}
-
-  parse-bmfont-xml@1.1.6:
-    resolution: {integrity: sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==}
-
-  parse-css-font@4.0.0:
-    resolution: {integrity: sha512-lnY7dTUfjRXsSo5G5C639L8RaBBaVSgL+5hacIFKsNHzeCJQ5SFSZv1DZmc7+wZv/22PFGOq2YbaEHLdaCS/mQ==}
-
-  parse-headers@2.0.5:
-    resolution: {integrity: sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==}
-
-  parse-json@5.2.0:
-    resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
-    engines: {node: '>=8'}
-
-  parse-node-version@1.0.1:
-    resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==}
-    engines: {node: '>= 0.10'}
-
-  parse5@6.0.1:
-    resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==}
-
-  parseurl@1.3.3:
-    resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
-    engines: {node: '>= 0.8'}
-
-  path-browserify@1.0.1:
-    resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
-
-  path-dirname@1.0.2:
-    resolution: {integrity: sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==}
-
-  path-exists@4.0.0:
-    resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
-    engines: {node: '>=8'}
-
-  path-is-absolute@1.0.1:
-    resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
-    engines: {node: '>=0.10.0'}
-
-  path-key@3.1.1:
-    resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
-    engines: {node: '>=8'}
-
-  path-parse@1.0.7:
-    resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
-
-  path-to-regexp@0.1.10:
-    resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==}
-
-  pathe@2.0.3:
-    resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
-
-  phin@2.9.3:
-    resolution: {integrity: sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==}
-    deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
-
-  phin@3.7.1:
-    resolution: {integrity: sha512-GEazpTWwTZaEQ9RhL7Nyz0WwqilbqgLahDM3D0hxWwmVDI52nXEybHqiN6/elwpkJBhcuj+WbBu+QfT0uhPGfQ==}
-    engines: {node: '>= 8'}
-
-  picocolors@1.1.0:
-    resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
-
-  picomatch@2.3.1:
-    resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
-    engines: {node: '>=8.6'}
-
-  picomatch@4.0.2:
-    resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
-    engines: {node: '>=12'}
-
-  pify@2.3.0:
-    resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
-    engines: {node: '>=0.10.0'}
-
-  pify@4.0.1:
-    resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
-    engines: {node: '>=6'}
-
-  pinia@2.2.2:
-    resolution: {integrity: sha512-ja2XqFWZC36mupU4z1ZzxeTApV7DOw44cV4dhQ9sGwun+N89v/XP7+j7q6TanS1u1tdbK4r+1BUx7heMaIdagA==}
-    peerDependencies:
-      '@vue/composition-api': ^1.4.0
-      typescript: '>=4.4.4'
-      vue: ^2.6.14 || ^3.3.0
-    peerDependenciesMeta:
-      '@vue/composition-api':
-        optional: true
-      typescript:
-        optional: true
-
-  pirates@4.0.6:
-    resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
-    engines: {node: '>= 6'}
-
-  pixelmatch@4.0.2:
-    resolution: {integrity: sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==}
-    hasBin: true
-
-  pkg-dir@4.2.0:
-    resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
-    engines: {node: '>=8'}
-
-  pkg-types@1.3.1:
-    resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
-
-  pngjs@3.4.0:
-    resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==}
-    engines: {node: '>=4.0.0'}
-
-  postcss-import@14.1.0:
-    resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
-    engines: {node: '>=10.0.0'}
-    peerDependencies:
-      postcss: ^8.0.0
-
-  postcss-load-config@3.1.4:
-    resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
-    engines: {node: '>= 10'}
-    peerDependencies:
-      postcss: '>=8.0.9'
-      ts-node: '>=9.0.0'
-    peerDependenciesMeta:
-      postcss:
-        optional: true
-      ts-node:
-        optional: true
-
-  postcss-modules-extract-imports@3.1.0:
-    resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==}
-    engines: {node: ^10 || ^12 || >= 14}
-    peerDependencies:
-      postcss: ^8.1.0
-
-  postcss-modules-local-by-default@4.0.5:
-    resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==}
-    engines: {node: ^10 || ^12 || >= 14}
-    peerDependencies:
-      postcss: ^8.1.0
-
-  postcss-modules-scope@3.2.0:
-    resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==}
-    engines: {node: ^10 || ^12 || >= 14}
-    peerDependencies:
-      postcss: ^8.1.0
-
-  postcss-modules-values@4.0.0:
-    resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
-    engines: {node: ^10 || ^12 || >= 14}
-    peerDependencies:
-      postcss: ^8.1.0
-
-  postcss-modules@4.3.1:
-    resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==}
-    peerDependencies:
-      postcss: ^8.0.0
-
-  postcss-selector-parser@6.1.2:
-    resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
-    engines: {node: '>=4'}
-
-  postcss-value-parser@4.2.0:
-    resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-
-  postcss@8.4.47:
-    resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
-    engines: {node: ^10 || ^12 || >=14}
-
-  pretty-format@27.5.1:
-    resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
-    engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
-
-  process-nextick-args@2.0.1:
-    resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
-
-  process@0.11.10:
-    resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
-    engines: {node: '>= 0.6.0'}
-
-  prompts@2.4.2:
-    resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
-    engines: {node: '>= 6'}
-
-  proxy-addr@2.0.7:
-    resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
-    engines: {node: '>= 0.10'}
-
-  prr@1.0.1:
-    resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
-
-  psl@1.9.0:
-    resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
-
-  pump@2.0.1:
-    resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==}
-
-  pump@3.0.2:
-    resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==}
-
-  pumpify@1.5.1:
-    resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==}
-
-  punycode@2.3.1:
-    resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
-    engines: {node: '>=6'}
-
-  qrcode-reader@1.0.4:
-    resolution: {integrity: sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ==}
-
-  qrcode-terminal@0.12.0:
-    resolution: {integrity: sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==}
-    hasBin: true
-
-  qs@6.13.0:
-    resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
-    engines: {node: '>=0.6'}
-
-  querystringify@2.2.0:
-    resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
-
-  queue-microtask@1.2.3:
-    resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
-
-  range-parser@1.2.1:
-    resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
-    engines: {node: '>= 0.6'}
-
-  raw-body@2.5.2:
-    resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
-    engines: {node: '>= 0.8'}
-
-  react-is@17.0.2:
-    resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
-
-  read-cache@1.0.0:
-    resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
-
-  readable-stream@2.3.8:
-    resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
-
-  readable-stream@3.6.2:
-    resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
-    engines: {node: '>= 6'}
-
-  readdirp@3.6.0:
-    resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
-    engines: {node: '>=8.10.0'}
-
-  readdirp@4.0.2:
-    resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
-    engines: {node: '>= 14.16.0'}
-
-  regenerate-unicode-properties@10.2.0:
-    resolution: {integrity: sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==}
-    engines: {node: '>=4'}
-
-  regenerate@1.4.2:
-    resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
-
-  regenerator-runtime@0.13.11:
-    resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
-
-  regenerator-runtime@0.14.1:
-    resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
-
-  regenerator-transform@0.15.2:
-    resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
-
-  regexpu-core@6.1.1:
-    resolution: {integrity: sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw==}
-    engines: {node: '>=4'}
-
-  regjsgen@0.8.0:
-    resolution: {integrity: sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==}
-
-  regjsparser@0.11.1:
-    resolution: {integrity: sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ==}
-    hasBin: true
-
-  reinterval@1.1.0:
-    resolution: {integrity: sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==}
-
-  remove-trailing-separator@1.1.0:
-    resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==}
-
-  require-directory@2.1.1:
-    resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
-    engines: {node: '>=0.10.0'}
-
-  requires-port@1.0.0:
-    resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
-
-  resolve-cwd@3.0.0:
-    resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
-    engines: {node: '>=8'}
-
-  resolve-from@5.0.0:
-    resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
-    engines: {node: '>=8'}
-
-  resolve.exports@1.1.1:
-    resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==}
-    engines: {node: '>=10'}
-
-  resolve@1.22.8:
-    resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
-    hasBin: true
-
-  restore-cursor@3.1.0:
-    resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
-    engines: {node: '>=8'}
-
-  reusify@1.0.4:
-    resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
-    engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
-
-  rimraf@3.0.2:
-    resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
-    deprecated: Rimraf versions prior to v4 are no longer supported
-    hasBin: true
-
-  rollup@4.24.0:
-    resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==}
-    engines: {node: '>=18.0.0', npm: '>=8.0.0'}
-    hasBin: true
-
-  run-async@2.4.1:
-    resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
-    engines: {node: '>=0.12.0'}
-
-  run-parallel@1.2.0:
-    resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
-
-  rxjs@7.8.2:
-    resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==}
-
-  safe-area-insets@1.4.1:
-    resolution: {integrity: sha512-r/nRWTjFGhhm3w1Z6Kd/jY11srN+lHt2mNl1E/emQGW8ic7n3Avu4noibklfSM+Y34peNphHD/BSZecav0sXYQ==}
-
-  safe-buffer@5.1.2:
-    resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
-
-  safe-buffer@5.2.1:
-    resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
-
-  safer-buffer@2.1.2:
-    resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
-
-  sass-loader@16.0.2:
-    resolution: {integrity: sha512-Ll6iXZ1EYwYT19SqW4mSBb76vSSi8JgzElmzIerhEGgzB5hRjDQIWsPmuk1UrAXkR16KJHqVY0eH+5/uw9Tmfw==}
-    engines: {node: '>= 18.12.0'}
-    peerDependencies:
-      '@rspack/core': 0.x || 1.x
-      node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
-      sass: ^1.3.0
-      sass-embedded: '*'
-      webpack: ^5.0.0
-    peerDependenciesMeta:
-      '@rspack/core':
-        optional: true
-      node-sass:
-        optional: true
-      sass:
-        optional: true
-      sass-embedded:
-        optional: true
-      webpack:
-        optional: true
-
-  sass@1.79.5:
-    resolution: {integrity: sha512-W1h5kp6bdhqFh2tk3DsI771MoEJjvrSY/2ihJRJS4pjIyfJCw0nTsxqhnrUzaLMOJjFchj8rOvraI/YUVjtx5g==}
-    engines: {node: '>=14.0.0'}
-    hasBin: true
-
-  sax@1.4.1:
-    resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==}
-
-  saxes@5.0.1:
-    resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==}
-    engines: {node: '>=10'}
-
-  scule@1.3.0:
-    resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==}
-
-  select@1.1.2:
-    resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==}
-
-  semver@5.7.2:
-    resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
-    hasBin: true
-
-  semver@6.3.1:
-    resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
-    hasBin: true
-
-  semver@7.6.3:
-    resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
-    engines: {node: '>=10'}
-    hasBin: true
-
-  send@0.19.0:
-    resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
-    engines: {node: '>= 0.8.0'}
-
-  serve-static@1.16.2:
-    resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
-    engines: {node: '>= 0.8.0'}
-
-  set-function-length@1.2.2:
-    resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
-    engines: {node: '>= 0.4'}
-
-  setprototypeof@1.2.0:
-    resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
-
-  shebang-command@2.0.0:
-    resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
-    engines: {node: '>=8'}
-
-  shebang-regex@3.0.0:
-    resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
-    engines: {node: '>=8'}
-
-  side-channel@1.0.6:
-    resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
-    engines: {node: '>= 0.4'}
-
-  signal-exit@3.0.7:
-    resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
-
-  sisteransi@1.0.5:
-    resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
-
-  slash@3.0.0:
-    resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
-    engines: {node: '>=8'}
-
-  source-map-js@1.2.1:
-    resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
-    engines: {node: '>=0.10.0'}
-
-  source-map-support@0.5.21:
-    resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
-
-  source-map@0.6.1:
-    resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
-    engines: {node: '>=0.10.0'}
-
-  source-map@0.7.4:
-    resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
-    engines: {node: '>= 8'}
-
-  split2@3.2.2:
-    resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==}
-
-  sprintf-js@1.0.3:
-    resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
-
-  stack-utils@2.0.6:
-    resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
-    engines: {node: '>=10'}
-
-  statuses@2.0.1:
-    resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
-    engines: {node: '>= 0.8'}
-
-  stream-shift@1.0.3:
-    resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==}
-
-  string-hash@1.1.3:
-    resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==}
-
-  string-length@4.0.2:
-    resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
-    engines: {node: '>=10'}
-
-  string-width@4.2.3:
-    resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
-    engines: {node: '>=8'}
-
-  string_decoder@1.1.1:
-    resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
-
-  string_decoder@1.3.0:
-    resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
-
-  strip-ansi@6.0.1:
-    resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
-    engines: {node: '>=8'}
-
-  strip-bom@4.0.0:
-    resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
-    engines: {node: '>=8'}
-
-  strip-final-newline@2.0.0:
-    resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
-    engines: {node: '>=6'}
-
-  strip-json-comments@3.1.1:
-    resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
-    engines: {node: '>=8'}
-
-  strip-literal@3.0.0:
-    resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==}
-
-  supports-color@5.5.0:
-    resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
-    engines: {node: '>=4'}
-
-  supports-color@7.2.0:
-    resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
-    engines: {node: '>=8'}
-
-  supports-color@8.1.1:
-    resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
-    engines: {node: '>=10'}
-
-  supports-hyperlinks@2.3.0:
-    resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==}
-    engines: {node: '>=8'}
-
-  supports-preserve-symlinks-flag@1.0.0:
-    resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
-    engines: {node: '>= 0.4'}
-
-  svg-tags@1.0.0:
-    resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==}
-
-  symbol-tree@3.2.4:
-    resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
-
-  systemjs@6.15.1:
-    resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==}
-
-  tapable@2.2.1:
-    resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
-    engines: {node: '>=6'}
-
-  terminal-link@2.1.1:
-    resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==}
-    engines: {node: '>=8'}
-
-  terser@5.34.1:
-    resolution: {integrity: sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==}
-    engines: {node: '>=10'}
-    hasBin: true
-
-  test-exclude@6.0.0:
-    resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
-    engines: {node: '>=8'}
-
-  throat@6.0.2:
-    resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==}
-
-  through2-filter@3.0.0:
-    resolution: {integrity: sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==}
-
-  through2@2.0.5:
-    resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
-
-  through@2.3.8:
-    resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
-
-  timm@1.7.1:
-    resolution: {integrity: sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==}
-
-  tiny-emitter@2.1.0:
-    resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==}
-
-  tinycolor2@1.6.0:
-    resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==}
-
-  tmp@0.0.33:
-    resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
-    engines: {node: '>=0.6.0'}
-
-  tmpl@1.0.5:
-    resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
-
-  to-absolute-glob@2.0.2:
-    resolution: {integrity: sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==}
-    engines: {node: '>=0.10.0'}
-
-  to-fast-properties@2.0.0:
-    resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
-    engines: {node: '>=4'}
-
-  to-regex-range@5.0.1:
-    resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
-    engines: {node: '>=8.0'}
-
-  toidentifier@1.0.1:
-    resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
-    engines: {node: '>=0.6'}
-
-  tough-cookie@4.1.4:
-    resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
-    engines: {node: '>=6'}
-
-  tr46@0.0.3:
-    resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
-
-  tr46@2.1.0:
-    resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==}
-    engines: {node: '>=8'}
-
-  tslib@2.7.0:
-    resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
-
-  type-detect@4.0.8:
-    resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
-    engines: {node: '>=4'}
-
-  type-fest@0.21.3:
-    resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
-    engines: {node: '>=10'}
-
-  type-is@1.6.18:
-    resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
-    engines: {node: '>= 0.6'}
-
-  type@2.7.3:
-    resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==}
-
-  typedarray-to-buffer@3.1.5:
-    resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==}
-
-  typedarray@0.0.6:
-    resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}
-
-  typescript@5.6.3:
-    resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
-    engines: {node: '>=14.17'}
-    hasBin: true
-
-  ufo@1.5.4:
-    resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
-
-  ultron@1.1.1:
-    resolution: {integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==}
-
-  unc-path-regex@0.1.2:
-    resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==}
-    engines: {node: '>=0.10.0'}
-
-  undici-types@6.19.8:
-    resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
-
-  unicode-canonical-property-names-ecmascript@2.0.1:
-    resolution: {integrity: sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==}
-    engines: {node: '>=4'}
-
-  unicode-match-property-ecmascript@2.0.0:
-    resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
-    engines: {node: '>=4'}
-
-  unicode-match-property-value-ecmascript@2.2.0:
-    resolution: {integrity: sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==}
-    engines: {node: '>=4'}
-
-  unicode-property-aliases-ecmascript@2.1.0:
-    resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
-    engines: {node: '>=4'}
-
-  unimport@4.1.1:
-    resolution: {integrity: sha512-j9+fijH6aDd05yv1fXlyt7HSxtOWtGtrZeYTVBsSUg57Iuf+Ps2itIZjeyu7bEQ4k0WOgYhHrdW8m/pJgOpl5g==}
-    engines: {node: '>=18.12.0'}
-
-  unique-stream@2.3.1:
-    resolution: {integrity: sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==}
-
-  universalify@0.2.0:
-    resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
-    engines: {node: '>= 4.0.0'}
-
-  universalify@2.0.1:
-    resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
-    engines: {node: '>= 10.0.0'}
-
-  unpipe@1.0.0:
-    resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
-    engines: {node: '>= 0.8'}
-
-  unplugin-auto-import@19.1.0:
-    resolution: {integrity: sha512-B+TGBEBHqY9aR+7YfShfLujETOHstzpV+yaqgy5PkfV0QG7Py+TYMX7vJ9W4SrysHR+UzR+gzcx/nuZjmPeclA==}
-    engines: {node: '>=14'}
-    peerDependencies:
-      '@nuxt/kit': ^3.2.2
-      '@vueuse/core': '*'
-    peerDependenciesMeta:
-      '@nuxt/kit':
-        optional: true
-      '@vueuse/core':
-        optional: true
-
-  unplugin-utils@0.2.4:
-    resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==}
-    engines: {node: '>=18.12.0'}
-
-  unplugin@2.3.2:
-    resolution: {integrity: sha512-3n7YA46rROb3zSj8fFxtxC/PqoyvYQ0llwz9wtUPUutr9ig09C8gGo5CWCwHrUzlqC1LLR43kxp5vEIyH1ac1w==}
-    engines: {node: '>=18.12.0'}
-
-  unquote@1.1.1:
-    resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==}
-
-  update-browserslist-db@1.1.1:
-    resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
-    hasBin: true
-    peerDependencies:
-      browserslist: '>= 4.21.0'
-
-  url-parse@1.5.10:
-    resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
-
-  utif@2.0.1:
-    resolution: {integrity: sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==}
-
-  util-deprecate@1.0.2:
-    resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-
-  utils-merge@1.0.1:
-    resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
-    engines: {node: '>= 0.4.0'}
-
-  uview-plus@3.3.36:
-    resolution: {integrity: sha512-yiIIt3OkCDkBzflrr6by8qvYibvCzsFZ/Mn+Fdx9TDaTQAltWFBj7UNVN/wOeb3lou2T5S1QFy2rxw3OcAYi5g==}
-    engines: {HBuilderX: ^3.1.0}
-
-  v8-to-istanbul@8.1.1:
-    resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==}
-    engines: {node: '>=10.12.0'}
-
-  vary@1.1.2:
-    resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
-    engines: {node: '>= 0.8'}
-
-  vite@5.2.8:
-    resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==}
-    engines: {node: ^18.0.0 || >=20.0.0}
-    hasBin: true
-    peerDependencies:
-      '@types/node': ^18.0.0 || >=20.0.0
-      less: '*'
-      lightningcss: ^1.21.0
-      sass: '*'
-      stylus: '*'
-      sugarss: '*'
-      terser: ^5.4.0
-    peerDependenciesMeta:
-      '@types/node':
-        optional: true
-      less:
-        optional: true
-      lightningcss:
-        optional: true
-      sass:
-        optional: true
-      stylus:
-        optional: true
-      sugarss:
-        optional: true
-      terser:
-        optional: true
-
-  vscode-uri@3.0.8:
-    resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==}
-
-  vue-demi@0.14.10:
-    resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==}
-    engines: {node: '>=12'}
-    hasBin: true
-    peerDependencies:
-      '@vue/composition-api': ^1.0.0-rc.1
-      vue: ^3.0.0-0 || ^2.6.0
-    peerDependenciesMeta:
-      '@vue/composition-api':
-        optional: true
-
-  vue-i18n@9.14.2:
-    resolution: {integrity: sha512-JK9Pm80OqssGJU2Y6F7DcM8RFHqVG4WkuCqOZTVsXkEzZME7ABejAUqUdA931zEBedc4thBgSUWxeQh4uocJAQ==}
-    engines: {node: '>= 16'}
-    peerDependencies:
-      vue: ^3.0.0
-
-  vue-router@4.4.5:
-    resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==}
-    peerDependencies:
-      vue: ^3.2.0
-
-  vue-tsc@2.1.6:
-    resolution: {integrity: sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==}
-    hasBin: true
-    peerDependencies:
-      typescript: '>=5.0.0'
-
-  vue@3.4.21:
-    resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==}
-    peerDependencies:
-      typescript: '*'
-    peerDependenciesMeta:
-      typescript:
-        optional: true
-
-  w3c-hr-time@1.0.2:
-    resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
-    deprecated: Use your platform's native performance.now() and performance.timeOrigin.
-
-  w3c-xmlserializer@2.0.0:
-    resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==}
-    engines: {node: '>=10'}
-
-  walker@1.0.8:
-    resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
-
-  wcwidth@1.0.1:
-    resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
-
-  webidl-conversions@3.0.1:
-    resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
-
-  webidl-conversions@5.0.0:
-    resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==}
-    engines: {node: '>=8'}
-
-  webidl-conversions@6.1.0:
-    resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==}
-    engines: {node: '>=10.4'}
-
-  webpack-virtual-modules@0.6.2:
-    resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==}
-
-  websocket-stream@5.5.2:
-    resolution: {integrity: sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==}
-
-  whatwg-encoding@1.0.5:
-    resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==}
-
-  whatwg-mimetype@2.3.0:
-    resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==}
-
-  whatwg-url@5.0.0:
-    resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
-
-  whatwg-url@8.7.0:
-    resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==}
-    engines: {node: '>=10'}
-
-  which@2.0.2:
-    resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
-    engines: {node: '>= 8'}
-    hasBin: true
-
-  wrap-ansi@6.2.0:
-    resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
-    engines: {node: '>=8'}
-
-  wrap-ansi@7.0.0:
-    resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
-    engines: {node: '>=10'}
-
-  wrappy@1.0.2:
-    resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
-
-  write-file-atomic@3.0.3:
-    resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==}
-
-  ws@3.3.3:
-    resolution: {integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==}
-    peerDependencies:
-      bufferutil: ^4.0.1
-      utf-8-validate: ^5.0.2
-    peerDependenciesMeta:
-      bufferutil:
-        optional: true
-      utf-8-validate:
-        optional: true
-
-  ws@7.5.10:
-    resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==}
-    engines: {node: '>=8.3.0'}
-    peerDependencies:
-      bufferutil: ^4.0.1
-      utf-8-validate: ^5.0.2
-    peerDependenciesMeta:
-      bufferutil:
-        optional: true
-      utf-8-validate:
-        optional: true
-
-  ws@8.18.0:
-    resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
-    engines: {node: '>=10.0.0'}
-    peerDependencies:
-      bufferutil: ^4.0.1
-      utf-8-validate: '>=5.0.2'
-    peerDependenciesMeta:
-      bufferutil:
-        optional: true
-      utf-8-validate:
-        optional: true
-
-  xhr@2.6.0:
-    resolution: {integrity: sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==}
-
-  xml-name-validator@3.0.0:
-    resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
-
-  xml-parse-from-string@1.0.1:
-    resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==}
-
-  xml2js@0.5.0:
-    resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==}
-    engines: {node: '>=4.0.0'}
-
-  xmlbuilder@11.0.1:
-    resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
-    engines: {node: '>=4.0'}
-
-  xmlchars@2.2.0:
-    resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
-
-  xmlhttprequest@1.8.0:
-    resolution: {integrity: sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==}
-    engines: {node: '>=0.4.0'}
-
-  xregexp@3.1.0:
-    resolution: {integrity: sha512-4Y1x6DyB8xRoxosooa6PlGWqmmSKatbzhrftZ7Purmm4B8R4qIEJG1A2hZsdz5DhmIqS0msC0I7KEq93GphEVg==}
-
-  xtend@4.0.2:
-    resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
-    engines: {node: '>=0.4'}
-
-  y18n@5.0.8:
-    resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
-    engines: {node: '>=10'}
-
-  yallist@3.1.1:
-    resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
-
-  yaml@1.10.2:
-    resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
-    engines: {node: '>= 6'}
-
-  yargs-parser@20.2.9:
-    resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
-    engines: {node: '>=10'}
-
-  yargs@16.2.0:
-    resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
-    engines: {node: '>=10'}
-
-snapshots:
-
-  '@ampproject/remapping@2.3.0':
-    dependencies:
-      '@jridgewell/gen-mapping': 0.3.5
-      '@jridgewell/trace-mapping': 0.3.25
-
-  '@babel/code-frame@7.25.7':
-    dependencies:
-      '@babel/highlight': 7.25.7
-      picocolors: 1.1.0
-
-  '@babel/compat-data@7.25.8': {}
-
-  '@babel/core@7.25.8':
-    dependencies:
-      '@ampproject/remapping': 2.3.0
-      '@babel/code-frame': 7.25.7
-      '@babel/generator': 7.25.7
-      '@babel/helper-compilation-targets': 7.25.7
-      '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8)
-      '@babel/helpers': 7.25.7
-      '@babel/parser': 7.25.8
-      '@babel/template': 7.25.7
-      '@babel/traverse': 7.25.7
-      '@babel/types': 7.25.8
-      convert-source-map: 2.0.0
-      debug: 4.3.7
-      gensync: 1.0.0-beta.2
-      json5: 2.2.3
-      semver: 6.3.1
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/generator@7.25.7':
-    dependencies:
-      '@babel/types': 7.25.8
-      '@jridgewell/gen-mapping': 0.3.5
-      '@jridgewell/trace-mapping': 0.3.25
-      jsesc: 3.0.2
-
-  '@babel/helper-annotate-as-pure@7.25.7':
-    dependencies:
-      '@babel/types': 7.25.8
-
-  '@babel/helper-builder-binary-assignment-operator-visitor@7.25.7':
-    dependencies:
-      '@babel/traverse': 7.25.7
-      '@babel/types': 7.25.8
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/helper-compilation-targets@7.25.7':
-    dependencies:
-      '@babel/compat-data': 7.25.8
-      '@babel/helper-validator-option': 7.25.7
-      browserslist: 4.24.0
-      lru-cache: 5.1.1
-      semver: 6.3.1
-
-  '@babel/helper-create-class-features-plugin@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-annotate-as-pure': 7.25.7
-      '@babel/helper-member-expression-to-functions': 7.25.7
-      '@babel/helper-optimise-call-expression': 7.25.7
-      '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-skip-transparent-expression-wrappers': 7.25.7
-      '@babel/traverse': 7.25.7
-      semver: 6.3.1
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/helper-create-regexp-features-plugin@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-annotate-as-pure': 7.25.7
-      regexpu-core: 6.1.1
-      semver: 6.3.1
-
-  '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-compilation-targets': 7.25.7
-      '@babel/helper-plugin-utils': 7.25.7
-      debug: 4.3.7
-      lodash.debounce: 4.0.8
-      resolve: 1.22.8
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/helper-member-expression-to-functions@7.25.7':
-    dependencies:
-      '@babel/traverse': 7.25.7
-      '@babel/types': 7.25.8
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/helper-module-imports@7.25.7':
-    dependencies:
-      '@babel/traverse': 7.25.7
-      '@babel/types': 7.25.8
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/helper-module-transforms@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-module-imports': 7.25.7
-      '@babel/helper-simple-access': 7.25.7
-      '@babel/helper-validator-identifier': 7.25.7
-      '@babel/traverse': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/helper-optimise-call-expression@7.25.7':
-    dependencies:
-      '@babel/types': 7.25.8
-
-  '@babel/helper-plugin-utils@7.25.7': {}
-
-  '@babel/helper-remap-async-to-generator@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-annotate-as-pure': 7.25.7
-      '@babel/helper-wrap-function': 7.25.7
-      '@babel/traverse': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/helper-replace-supers@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-member-expression-to-functions': 7.25.7
-      '@babel/helper-optimise-call-expression': 7.25.7
-      '@babel/traverse': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/helper-simple-access@7.25.7':
-    dependencies:
-      '@babel/traverse': 7.25.7
-      '@babel/types': 7.25.8
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/helper-skip-transparent-expression-wrappers@7.25.7':
-    dependencies:
-      '@babel/traverse': 7.25.7
-      '@babel/types': 7.25.8
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/helper-string-parser@7.25.7': {}
-
-  '@babel/helper-validator-identifier@7.25.7': {}
-
-  '@babel/helper-validator-option@7.25.7': {}
-
-  '@babel/helper-wrap-function@7.25.7':
-    dependencies:
-      '@babel/template': 7.25.7
-      '@babel/traverse': 7.25.7
-      '@babel/types': 7.25.8
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/helpers@7.25.7':
-    dependencies:
-      '@babel/template': 7.25.7
-      '@babel/types': 7.25.8
-
-  '@babel/highlight@7.25.7':
-    dependencies:
-      '@babel/helper-validator-identifier': 7.25.7
-      chalk: 2.4.2
-      js-tokens: 4.0.0
-      picocolors: 1.1.0
-
-  '@babel/parser@7.25.8':
-    dependencies:
-      '@babel/types': 7.25.8
-
-  '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/traverse': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/helper-skip-transparent-expression-wrappers': 7.25.7
-      '@babel/plugin-transform-optional-chaining': 7.25.8(@babel/core@7.25.8)
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/traverse': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-
-  '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-import-assertions@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-import-attributes@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-jsx@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-typescript@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-arrow-functions@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-async-generator-functions@7.25.8(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.25.8)
-      '@babel/traverse': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-async-to-generator@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-module-imports': 7.25.7
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/helper-remap-async-to-generator': 7.25.7(@babel/core@7.25.8)
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-block-scoped-functions@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-block-scoping@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-class-properties@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-class-static-block@7.25.8(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-classes@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-annotate-as-pure': 7.25.7
-      '@babel/helper-compilation-targets': 7.25.7
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8)
-      '@babel/traverse': 7.25.7
-      globals: 11.12.0
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-computed-properties@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/template': 7.25.7
-
-  '@babel/plugin-transform-destructuring@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-dotall-regex@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-duplicate-keys@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-dynamic-import@7.25.8(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-exponentiation-operator@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-builder-binary-assignment-operator-visitor': 7.25.7
-      '@babel/helper-plugin-utils': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-export-namespace-from@7.25.8(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-for-of@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/helper-skip-transparent-expression-wrappers': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-function-name@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-compilation-targets': 7.25.7
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/traverse': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-json-strings@7.25.8(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-literals@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-logical-assignment-operators@7.25.8(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-member-expression-literals@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-modules-amd@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-modules-commonjs@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/helper-simple-access': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-modules-systemjs@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/helper-validator-identifier': 7.25.7
-      '@babel/traverse': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-modules-umd@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-named-capturing-groups-regex@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-new-target@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-nullish-coalescing-operator@7.25.8(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-numeric-separator@7.25.8(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-object-rest-spread@7.25.8(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-compilation-targets': 7.25.7
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.8)
-
-  '@babel/plugin-transform-object-super@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/helper-replace-supers': 7.25.7(@babel/core@7.25.8)
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-optional-catch-binding@7.25.8(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-optional-chaining@7.25.8(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/helper-skip-transparent-expression-wrappers': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-parameters@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-private-methods@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-private-property-in-object@7.25.8(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-annotate-as-pure': 7.25.7
-      '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-property-literals@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-regenerator@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-      regenerator-transform: 0.15.2
-
-  '@babel/plugin-transform-reserved-words@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-shorthand-properties@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-spread@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/helper-skip-transparent-expression-wrappers': 7.25.7
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-sticky-regex@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-template-literals@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-typeof-symbol@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-typescript@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-annotate-as-pure': 7.25.7
-      '@babel/helper-create-class-features-plugin': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/helper-skip-transparent-expression-wrappers': 7.25.7
-      '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.8)
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/plugin-transform-unicode-escapes@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-unicode-property-regex@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-unicode-regex@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/plugin-transform-unicode-sets-regex@7.25.7(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-create-regexp-features-plugin': 7.25.7(@babel/core@7.25.8)
-      '@babel/helper-plugin-utils': 7.25.7
-
-  '@babel/preset-env@7.25.8(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/compat-data': 7.25.8
-      '@babel/core': 7.25.8
-      '@babel/helper-compilation-targets': 7.25.7
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/helper-validator-option': 7.25.7
-      '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.8)
-      '@babel/plugin-syntax-import-assertions': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-syntax-import-attributes': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.8)
-      '@babel/plugin-transform-arrow-functions': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-async-generator-functions': 7.25.8(@babel/core@7.25.8)
-      '@babel/plugin-transform-async-to-generator': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-block-scoped-functions': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-block-scoping': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-class-properties': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-class-static-block': 7.25.8(@babel/core@7.25.8)
-      '@babel/plugin-transform-classes': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-computed-properties': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-destructuring': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-dotall-regex': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-duplicate-keys': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-dynamic-import': 7.25.8(@babel/core@7.25.8)
-      '@babel/plugin-transform-exponentiation-operator': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-export-namespace-from': 7.25.8(@babel/core@7.25.8)
-      '@babel/plugin-transform-for-of': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-function-name': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-json-strings': 7.25.8(@babel/core@7.25.8)
-      '@babel/plugin-transform-literals': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-logical-assignment-operators': 7.25.8(@babel/core@7.25.8)
-      '@babel/plugin-transform-member-expression-literals': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-modules-amd': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-modules-commonjs': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-modules-systemjs': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-modules-umd': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-named-capturing-groups-regex': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-new-target': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-nullish-coalescing-operator': 7.25.8(@babel/core@7.25.8)
-      '@babel/plugin-transform-numeric-separator': 7.25.8(@babel/core@7.25.8)
-      '@babel/plugin-transform-object-rest-spread': 7.25.8(@babel/core@7.25.8)
-      '@babel/plugin-transform-object-super': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-optional-catch-binding': 7.25.8(@babel/core@7.25.8)
-      '@babel/plugin-transform-optional-chaining': 7.25.8(@babel/core@7.25.8)
-      '@babel/plugin-transform-parameters': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-private-methods': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-private-property-in-object': 7.25.8(@babel/core@7.25.8)
-      '@babel/plugin-transform-property-literals': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-regenerator': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-reserved-words': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-shorthand-properties': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-spread': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-sticky-regex': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-template-literals': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-typeof-symbol': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-unicode-escapes': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-unicode-property-regex': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-unicode-regex': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-transform-unicode-sets-regex': 7.25.7(@babel/core@7.25.8)
-      '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.8)
-      babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.8)
-      babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.8)
-      babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.8)
-      core-js-compat: 3.38.1
-      semver: 6.3.1
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/types': 7.25.8
-      esutils: 2.0.3
-
-  '@babel/runtime@7.25.7':
-    dependencies:
-      regenerator-runtime: 0.14.1
-
-  '@babel/template@7.25.7':
-    dependencies:
-      '@babel/code-frame': 7.25.7
-      '@babel/parser': 7.25.8
-      '@babel/types': 7.25.8
-
-  '@babel/traverse@7.25.7':
-    dependencies:
-      '@babel/code-frame': 7.25.7
-      '@babel/generator': 7.25.7
-      '@babel/parser': 7.25.8
-      '@babel/template': 7.25.7
-      '@babel/types': 7.25.8
-      debug: 4.3.7
-      globals: 11.12.0
-    transitivePeerDependencies:
-      - supports-color
-
-  '@babel/types@7.25.8':
-    dependencies:
-      '@babel/helper-string-parser': 7.25.7
-      '@babel/helper-validator-identifier': 7.25.7
-      to-fast-properties: 2.0.0
-
-  '@bcoe/v8-coverage@0.2.3': {}
-
-  '@dcloudio/types@3.4.14': {}
-
-  '@dcloudio/uni-app-harmony@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-app-uts': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-app-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))
-      debug: 4.3.7
-      fs-extra: 10.1.0
-      licia: 1.43.0
-      postcss-selector-parser: 6.1.2
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vite
-      - vue
-
-  '@dcloudio/uni-app-plus@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-app-uts': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-app-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-app-vue': 3.0.0-4060420250429001
-      debug: 4.3.7
-      fs-extra: 10.1.0
-      licia: 1.43.0
-      postcss-selector-parser: 6.1.2
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vite
-      - vue
-
-  '@dcloudio/uni-app-uts@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@babel/parser': 7.25.8
-      '@babel/types': 7.25.8
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-console': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-i18n': 3.0.0-4060420250429001
-      '@dcloudio/uni-nvue-styler': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@jridgewell/gen-mapping': 0.3.5
-      '@jridgewell/trace-mapping': 0.3.25
-      '@rollup/pluginutils': 5.1.4(rollup@4.24.0)
-      '@vue/compiler-core': 3.4.21
-      '@vue/compiler-dom': 3.4.21
-      '@vue/compiler-sfc': 3.4.21
-      '@vue/consolidate': 1.0.0
-      '@vue/shared': 3.4.21
-      debug: 4.3.7
-      es-module-lexer: 1.5.4
-      estree-walker: 2.0.2
-      fs-extra: 10.1.0
-      magic-string: 0.30.17
-      picocolors: 1.1.0
-      source-map-js: 1.2.1
-      unimport: 4.1.1
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-app-vite@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-i18n': 3.0.0-4060420250429001
-      '@dcloudio/uni-nvue-styler': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@rollup/pluginutils': 5.1.4(rollup@4.24.0)
-      '@vitejs/plugin-vue': 5.1.0(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))
-      '@vue/compiler-dom': 3.4.21
-      '@vue/compiler-sfc': 3.4.21
-      debug: 4.3.7
-      fs-extra: 10.1.0
-      picocolors: 1.1.0
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vite
-      - vue
-
-  '@dcloudio/uni-app-vue@3.0.0-4060420250429001': {}
-
-  '@dcloudio/uni-app@3.0.0-4060420250429001(@dcloudio/types@3.4.14)(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/types': 3.4.14
-      '@dcloudio/uni-cloud': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-components': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-console': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-i18n': 3.0.0-4060420250429001
-      '@dcloudio/uni-push': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@dcloudio/uni-stat': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@vue/shared': 3.4.21
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-automator@3.0.0-4060420250429001(jest-environment-node@27.5.1)(jest@27.0.4)(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      address: 1.2.2
-      cross-env: 7.0.3
-      debug: 4.3.7
-      default-gateway: 6.0.3
-      fs-extra: 10.1.0
-      jest: 27.0.4
-      jest-environment-node: 27.5.1
-      jsonc-parser: 3.3.1
-      licia: 1.43.0
-      merge: 2.1.1
-      qrcode-reader: 1.0.4
-      qrcode-terminal: 0.12.0
-      ws: 8.18.0
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - bufferutil
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - utf-8-validate
-      - vue
-
-  '@dcloudio/uni-cli-shared@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@ampproject/remapping': 2.3.0
-      '@babel/code-frame': 7.25.7
-      '@babel/core': 7.25.8
-      '@babel/parser': 7.25.8
-      '@babel/types': 7.25.8
-      '@dcloudio/uni-i18n': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@intlify/core-base': 9.1.9
-      '@intlify/shared': 9.1.9
-      '@intlify/vue-devtools': 9.1.9
-      '@rollup/pluginutils': 5.1.4(rollup@4.24.0)
-      '@vue/compiler-core': 3.4.21
-      '@vue/compiler-dom': 3.4.21
-      '@vue/compiler-sfc': 3.4.21
-      '@vue/compiler-ssr': 3.4.21
-      '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.6.3))
-      '@vue/shared': 3.4.21
-      adm-zip: 0.5.16
-      autoprefixer: 10.4.20(postcss@8.4.47)
-      base64url: 3.0.1
-      chokidar: 3.6.0
-      compare-versions: 3.6.0
-      debug: 4.3.7
-      es-module-lexer: 1.5.4
-      esbuild: 0.20.2
-      estree-walker: 2.0.2
-      fast-glob: 3.3.3
-      fs-extra: 10.1.0
-      hash-sum: 2.0.0
-      isbinaryfile: 5.0.3
-      jsonc-parser: 3.3.1
-      lines-and-columns: 2.0.4
-      magic-string: 0.30.17
-      merge: 2.1.1
-      mime: 3.0.0
-      module-alias: 2.2.3
-      os-locale-s-fix: 1.0.8-fix-1
-      picocolors: 1.1.0
-      postcss-import: 14.1.0(postcss@8.4.47)
-      postcss-load-config: 3.1.4(postcss@8.4.47)
-      postcss-modules: 4.3.1(postcss@8.4.47)
-      postcss-selector-parser: 6.1.2
-      resolve: 1.22.8
-      source-map-js: 1.2.1
-      tapable: 2.2.1
-      unimport: 4.1.1
-      unplugin-auto-import: 19.1.0
-      xregexp: 3.1.0
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-cloud@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-i18n': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/shared': 3.4.21
-      fast-glob: 3.3.3
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-components@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cloud': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-h5': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-i18n': 3.0.0-4060420250429001
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-console@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      fs-extra: 10.1.0
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-h5-vite@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@rollup/pluginutils': 5.1.4(rollup@4.24.0)
-      '@vue/compiler-dom': 3.4.21
-      '@vue/compiler-sfc': 3.4.21
-      '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.6.3))
-      '@vue/shared': 3.4.21
-      debug: 4.3.7
-      fs-extra: 10.1.0
-      mime: 3.0.0
-      module-alias: 2.2.3
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-h5-vue@3.0.0-4060420250429001(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.6.3))
-    transitivePeerDependencies:
-      - vue
-
-  '@dcloudio/uni-h5@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-h5-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-h5-vue': 3.0.0-4060420250429001(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-i18n': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.6.3))
-      '@vue/shared': 3.4.21
-      debug: 4.3.7
-      localstorage-polyfill: 1.0.1
-      postcss-selector-parser: 6.1.2
-      safe-area-insets: 1.4.1
-      vue-router: 4.4.5(vue@3.4.21(typescript@5.6.3))
-      xmlhttprequest: 1.8.0
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-i18n@3.0.0-4060420250429001': {}
-
-  '@dcloudio/uni-mp-alipay@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vue': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/compiler-core': 3.4.21
-      '@vue/shared': 3.4.21
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-mp-baidu@3.0.0-4060420250429001(@dcloudio/types@3.4.14)(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-app': 3.0.0-4060420250429001(@dcloudio/types@3.4.14)(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-compiler': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vue': 3.0.0-4060420250429001
-      '@dcloudio/uni-mp-weixin': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/compiler-core': 3.4.21
-      '@vue/shared': 3.4.21
-      jimp: 0.10.3
-      licia: 1.43.0
-      qrcode-reader: 1.0.4
-      qrcode-terminal: 0.12.0
-      ws: 8.18.0
-    transitivePeerDependencies:
-      - '@dcloudio/types'
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - bufferutil
-      - debug
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - utf-8-validate
-      - vue
-
-  '@dcloudio/uni-mp-compiler@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@babel/generator': 7.25.7
-      '@babel/parser': 7.25.8
-      '@babel/types': 7.25.8
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/compiler-core': 3.4.21
-      '@vue/compiler-dom': 3.4.21
-      '@vue/shared': 3.4.21
-      estree-walker: 2.0.2
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-mp-harmony@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-toutiao': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vue': 3.0.0-4060420250429001
-      '@dcloudio/uni-quickapp-webview': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/shared': 3.4.21
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-mp-jd@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-compiler': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vue': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/shared': 3.4.21
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-mp-kuaishou@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-compiler': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vue': 3.0.0-4060420250429001
-      '@dcloudio/uni-mp-weixin': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/compiler-core': 3.4.21
-      '@vue/shared': 3.4.21
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - bufferutil
-      - debug
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - utf-8-validate
-      - vue
-
-  '@dcloudio/uni-mp-lark@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-compiler': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-toutiao': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vue': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/compiler-core': 3.4.21
-      '@vue/shared': 3.4.21
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-mp-qq@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vue': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/shared': 3.4.21
-      fs-extra: 10.1.0
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-mp-toutiao@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-compiler': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vue': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/compiler-core': 3.4.21
-      '@vue/shared': 3.4.21
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-mp-vite@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-i18n': 3.0.0-4060420250429001
-      '@dcloudio/uni-mp-compiler': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vue': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/compiler-dom': 3.4.21
-      '@vue/compiler-sfc': 3.4.21
-      '@vue/shared': 3.4.21
-      debug: 4.3.7
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-mp-vue@3.0.0-4060420250429001':
-    dependencies:
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/shared': 3.4.21
-
-  '@dcloudio/uni-mp-weixin@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vue': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/shared': 3.4.21
-      jimp: 0.10.3
-      licia: 1.43.0
-      qrcode-reader: 1.0.4
-      qrcode-terminal: 0.12.0
-      ws: 8.18.0
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - bufferutil
-      - debug
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - utf-8-validate
-      - vue
-
-  '@dcloudio/uni-mp-xhs@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-compiler': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vue': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/shared': 3.4.21
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-nvue-styler@3.0.0-4060420250429001':
-    dependencies:
-      parse-css-font: 4.0.0
-      postcss: 8.4.47
-
-  '@dcloudio/uni-push@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-quickapp-webview@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vite': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-mp-vue': 3.0.0-4060420250429001
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@vue/shared': 3.4.21
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uni-shared@3.0.0-4060420250429001':
-    dependencies:
-      '@vue/shared': 3.4.21
-
-  '@dcloudio/uni-stacktracey@3.0.0-4060420250429001': {}
-
-  '@dcloudio/uni-stat@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      debug: 4.3.7
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@dcloudio/uvm@0.3.1':
-    dependencies:
-      cross-spawn: 7.0.3
-      inquirer: 8.2.6
-      minimist: 1.2.8
-      node-fetch: 2.7.0
-    transitivePeerDependencies:
-      - encoding
-
-  '@dcloudio/vite-plugin-uni@3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.8)
-      '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.25.8)
-      '@dcloudio/uni-cli-shared': 3.0.0-4060420250429001(postcss@8.4.47)(rollup@4.24.0)(vue@3.4.21(typescript@5.6.3))
-      '@dcloudio/uni-shared': 3.0.0-4060420250429001
-      '@rollup/pluginutils': 5.1.4(rollup@4.24.0)
-      '@vitejs/plugin-legacy': 5.3.2(terser@5.34.1)(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))
-      '@vitejs/plugin-vue': 5.1.0(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))
-      '@vitejs/plugin-vue-jsx': 3.1.0(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))
-      '@vue/compiler-core': 3.4.21
-      '@vue/compiler-dom': 3.4.21
-      '@vue/compiler-sfc': 3.4.21
-      '@vue/shared': 3.4.21
-      cac: 6.7.9
-      debug: 4.3.7
-      estree-walker: 2.0.2
-      express: 4.21.1
-      fast-glob: 3.3.3
-      fs-extra: 10.1.0
-      hash-sum: 2.0.0
-      jsonc-parser: 3.3.1
-      magic-string: 0.30.17
-      picocolors: 1.1.0
-      terser: 5.34.1
-      unplugin-auto-import: 19.1.0
-      vite: 5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1)
-    transitivePeerDependencies:
-      - '@nuxt/kit'
-      - '@vueuse/core'
-      - postcss
-      - rollup
-      - supports-color
-      - ts-node
-      - vue
-
-  '@esbuild/aix-ppc64@0.20.2':
-    optional: true
-
-  '@esbuild/android-arm64@0.20.2':
-    optional: true
-
-  '@esbuild/android-arm@0.20.2':
-    optional: true
-
-  '@esbuild/android-x64@0.20.2':
-    optional: true
-
-  '@esbuild/darwin-arm64@0.20.2':
-    optional: true
-
-  '@esbuild/darwin-x64@0.20.2':
-    optional: true
-
-  '@esbuild/freebsd-arm64@0.20.2':
-    optional: true
-
-  '@esbuild/freebsd-x64@0.20.2':
-    optional: true
-
-  '@esbuild/linux-arm64@0.20.2':
-    optional: true
-
-  '@esbuild/linux-arm@0.20.2':
-    optional: true
-
-  '@esbuild/linux-ia32@0.20.2':
-    optional: true
-
-  '@esbuild/linux-loong64@0.20.2':
-    optional: true
-
-  '@esbuild/linux-mips64el@0.20.2':
-    optional: true
-
-  '@esbuild/linux-ppc64@0.20.2':
-    optional: true
-
-  '@esbuild/linux-riscv64@0.20.2':
-    optional: true
-
-  '@esbuild/linux-s390x@0.20.2':
-    optional: true
-
-  '@esbuild/linux-x64@0.20.2':
-    optional: true
-
-  '@esbuild/netbsd-x64@0.20.2':
-    optional: true
-
-  '@esbuild/openbsd-x64@0.20.2':
-    optional: true
-
-  '@esbuild/sunos-x64@0.20.2':
-    optional: true
-
-  '@esbuild/win32-arm64@0.20.2':
-    optional: true
-
-  '@esbuild/win32-ia32@0.20.2':
-    optional: true
-
-  '@esbuild/win32-x64@0.20.2':
-    optional: true
-
-  '@intlify/core-base@9.1.9':
-    dependencies:
-      '@intlify/devtools-if': 9.1.9
-      '@intlify/message-compiler': 9.1.9
-      '@intlify/message-resolver': 9.1.9
-      '@intlify/runtime': 9.1.9
-      '@intlify/shared': 9.1.9
-      '@intlify/vue-devtools': 9.1.9
-
-  '@intlify/core-base@9.14.2':
-    dependencies:
-      '@intlify/message-compiler': 9.14.2
-      '@intlify/shared': 9.14.2
-
-  '@intlify/devtools-if@9.1.9':
-    dependencies:
-      '@intlify/shared': 9.1.9
-
-  '@intlify/message-compiler@9.1.9':
-    dependencies:
-      '@intlify/message-resolver': 9.1.9
-      '@intlify/shared': 9.1.9
-      source-map: 0.6.1
-
-  '@intlify/message-compiler@9.14.2':
-    dependencies:
-      '@intlify/shared': 9.14.2
-      source-map-js: 1.2.1
-
-  '@intlify/message-resolver@9.1.9': {}
-
-  '@intlify/runtime@9.1.9':
-    dependencies:
-      '@intlify/message-compiler': 9.1.9
-      '@intlify/message-resolver': 9.1.9
-      '@intlify/shared': 9.1.9
-
-  '@intlify/shared@9.1.9': {}
-
-  '@intlify/shared@9.14.2': {}
-
-  '@intlify/vue-devtools@9.1.9':
-    dependencies:
-      '@intlify/message-resolver': 9.1.9
-      '@intlify/runtime': 9.1.9
-      '@intlify/shared': 9.1.9
-
-  '@istanbuljs/load-nyc-config@1.1.0':
-    dependencies:
-      camelcase: 5.3.1
-      find-up: 4.1.0
-      get-package-type: 0.1.0
-      js-yaml: 3.14.1
-      resolve-from: 5.0.0
-
-  '@istanbuljs/schema@0.1.3': {}
-
-  '@jest/console@27.5.1':
-    dependencies:
-      '@jest/types': 27.5.1
-      '@types/node': 22.7.5
-      chalk: 4.1.2
-      jest-message-util: 27.5.1
-      jest-util: 27.5.1
-      slash: 3.0.0
-
-  '@jest/core@27.5.1':
-    dependencies:
-      '@jest/console': 27.5.1
-      '@jest/reporters': 27.5.1
-      '@jest/test-result': 27.5.1
-      '@jest/transform': 27.5.1
-      '@jest/types': 27.5.1
-      '@types/node': 22.7.5
-      ansi-escapes: 4.3.2
-      chalk: 4.1.2
-      emittery: 0.8.1
-      exit: 0.1.2
-      graceful-fs: 4.2.11
-      jest-changed-files: 27.5.1
-      jest-config: 27.5.1
-      jest-haste-map: 27.5.1
-      jest-message-util: 27.5.1
-      jest-regex-util: 27.5.1
-      jest-resolve: 27.5.1
-      jest-resolve-dependencies: 27.5.1
-      jest-runner: 27.5.1
-      jest-runtime: 27.5.1
-      jest-snapshot: 27.5.1
-      jest-util: 27.5.1
-      jest-validate: 27.5.1
-      jest-watcher: 27.5.1
-      micromatch: 4.0.8
-      rimraf: 3.0.2
-      slash: 3.0.0
-      strip-ansi: 6.0.1
-    transitivePeerDependencies:
-      - bufferutil
-      - canvas
-      - supports-color
-      - ts-node
-      - utf-8-validate
-
-  '@jest/environment@27.5.1':
-    dependencies:
-      '@jest/fake-timers': 27.5.1
-      '@jest/types': 27.5.1
-      '@types/node': 22.7.5
-      jest-mock: 27.5.1
-
-  '@jest/fake-timers@27.5.1':
-    dependencies:
-      '@jest/types': 27.5.1
-      '@sinonjs/fake-timers': 8.1.0
-      '@types/node': 22.7.5
-      jest-message-util: 27.5.1
-      jest-mock: 27.5.1
-      jest-util: 27.5.1
-
-  '@jest/globals@27.5.1':
-    dependencies:
-      '@jest/environment': 27.5.1
-      '@jest/types': 27.5.1
-      expect: 27.5.1
-
-  '@jest/reporters@27.5.1':
-    dependencies:
-      '@bcoe/v8-coverage': 0.2.3
-      '@jest/console': 27.5.1
-      '@jest/test-result': 27.5.1
-      '@jest/transform': 27.5.1
-      '@jest/types': 27.5.1
-      '@types/node': 22.7.5
-      chalk: 4.1.2
-      collect-v8-coverage: 1.0.2
-      exit: 0.1.2
-      glob: 7.2.3
-      graceful-fs: 4.2.11
-      istanbul-lib-coverage: 3.2.2
-      istanbul-lib-instrument: 5.2.1
-      istanbul-lib-report: 3.0.1
-      istanbul-lib-source-maps: 4.0.1
-      istanbul-reports: 3.1.7
-      jest-haste-map: 27.5.1
-      jest-resolve: 27.5.1
-      jest-util: 27.5.1
-      jest-worker: 27.5.1
-      slash: 3.0.0
-      source-map: 0.6.1
-      string-length: 4.0.2
-      terminal-link: 2.1.1
-      v8-to-istanbul: 8.1.1
-    transitivePeerDependencies:
-      - supports-color
-
-  '@jest/source-map@27.5.1':
-    dependencies:
-      callsites: 3.1.0
-      graceful-fs: 4.2.11
-      source-map: 0.6.1
-
-  '@jest/test-result@27.5.1':
-    dependencies:
-      '@jest/console': 27.5.1
-      '@jest/types': 27.5.1
-      '@types/istanbul-lib-coverage': 2.0.6
-      collect-v8-coverage: 1.0.2
-
-  '@jest/test-sequencer@27.5.1':
-    dependencies:
-      '@jest/test-result': 27.5.1
-      graceful-fs: 4.2.11
-      jest-haste-map: 27.5.1
-      jest-runtime: 27.5.1
-    transitivePeerDependencies:
-      - supports-color
-
-  '@jest/transform@27.5.1':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@jest/types': 27.5.1
-      babel-plugin-istanbul: 6.1.1
-      chalk: 4.1.2
-      convert-source-map: 1.9.0
-      fast-json-stable-stringify: 2.1.0
-      graceful-fs: 4.2.11
-      jest-haste-map: 27.5.1
-      jest-regex-util: 27.5.1
-      jest-util: 27.5.1
-      micromatch: 4.0.8
-      pirates: 4.0.6
-      slash: 3.0.0
-      source-map: 0.6.1
-      write-file-atomic: 3.0.3
-    transitivePeerDependencies:
-      - supports-color
-
-  '@jest/types@27.5.1':
-    dependencies:
-      '@types/istanbul-lib-coverage': 2.0.6
-      '@types/istanbul-reports': 3.0.4
-      '@types/node': 22.7.5
-      '@types/yargs': 16.0.9
-      chalk: 4.1.2
-
-  '@jimp/bmp@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      bmp-js: 0.1.0
-      core-js: 3.38.1
-
-  '@jimp/core@0.10.3':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/utils': 0.10.3
-      any-base: 1.1.0
-      buffer: 5.7.1
-      core-js: 3.38.1
-      exif-parser: 0.1.12
-      file-type: 9.0.0
-      load-bmfont: 1.4.2
-      mkdirp: 0.5.6
-      phin: 2.9.3
-      pixelmatch: 4.0.2
-      tinycolor2: 1.6.0
-    transitivePeerDependencies:
-      - debug
-
-  '@jimp/custom@0.10.3':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/core': 0.10.3
-      core-js: 3.38.1
-    transitivePeerDependencies:
-      - debug
-
-  '@jimp/gif@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-      omggif: 1.0.10
-
-  '@jimp/jpeg@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-      jpeg-js: 0.3.7
-
-  '@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-blur@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-circle@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-color@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-      tinycolor2: 1.6.0
-
-  '@jimp/plugin-contain@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-cover@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-displace@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-dither@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-fisheye@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-flip@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-rotate@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/plugin-rotate': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-gaussian@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-invert@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-mask@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-normalize@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-print@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-      load-bmfont: 1.4.2
-    transitivePeerDependencies:
-      - debug
-
-  '@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-rotate@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-shadow@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blur@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/plugin-blur': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugin-threshold@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-color@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/plugin-color': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-
-  '@jimp/plugins@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/plugin-blit': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-blur': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-circle': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-color': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-contain': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))
-      '@jimp/plugin-cover': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-scale@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))
-      '@jimp/plugin-crop': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-displace': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-dither': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-fisheye': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-flip': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-rotate@0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3)))
-      '@jimp/plugin-gaussian': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-invert': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-mask': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-normalize': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-print': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))
-      '@jimp/plugin-resize': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/plugin-rotate': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blit@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-crop@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
-      '@jimp/plugin-scale': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
-      '@jimp/plugin-shadow': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-blur@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
-      '@jimp/plugin-threshold': 0.10.3(@jimp/custom@0.10.3)(@jimp/plugin-color@0.10.3(@jimp/custom@0.10.3))(@jimp/plugin-resize@0.10.3(@jimp/custom@0.10.3))
-      core-js: 3.38.1
-      timm: 1.7.1
-    transitivePeerDependencies:
-      - debug
-
-  '@jimp/png@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/utils': 0.10.3
-      core-js: 3.38.1
-      pngjs: 3.4.0
-
-  '@jimp/tiff@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      core-js: 3.38.1
-      utif: 2.0.1
-
-  '@jimp/types@0.10.3(@jimp/custom@0.10.3)':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/bmp': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/custom': 0.10.3
-      '@jimp/gif': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/jpeg': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/png': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/tiff': 0.10.3(@jimp/custom@0.10.3)
-      core-js: 3.38.1
-      timm: 1.7.1
-
-  '@jimp/utils@0.10.3':
-    dependencies:
-      '@babel/runtime': 7.25.7
-      core-js: 3.38.1
-      regenerator-runtime: 0.13.11
-
-  '@jridgewell/gen-mapping@0.3.5':
-    dependencies:
-      '@jridgewell/set-array': 1.2.1
-      '@jridgewell/sourcemap-codec': 1.5.0
-      '@jridgewell/trace-mapping': 0.3.25
-
-  '@jridgewell/resolve-uri@3.1.2': {}
-
-  '@jridgewell/set-array@1.2.1': {}
-
-  '@jridgewell/source-map@0.3.6':
-    dependencies:
-      '@jridgewell/gen-mapping': 0.3.5
-      '@jridgewell/trace-mapping': 0.3.25
-
-  '@jridgewell/sourcemap-codec@1.5.0': {}
-
-  '@jridgewell/trace-mapping@0.3.25':
-    dependencies:
-      '@jridgewell/resolve-uri': 3.1.2
-      '@jridgewell/sourcemap-codec': 1.5.0
-
-  '@nodelib/fs.scandir@2.1.5':
-    dependencies:
-      '@nodelib/fs.stat': 2.0.5
-      run-parallel: 1.2.0
-
-  '@nodelib/fs.stat@2.0.5': {}
-
-  '@nodelib/fs.walk@1.2.8':
-    dependencies:
-      '@nodelib/fs.scandir': 2.1.5
-      fastq: 1.17.1
-
-  '@parcel/watcher-android-arm64@2.4.1':
-    optional: true
-
-  '@parcel/watcher-darwin-arm64@2.4.1':
-    optional: true
-
-  '@parcel/watcher-darwin-x64@2.4.1':
-    optional: true
-
-  '@parcel/watcher-freebsd-x64@2.4.1':
-    optional: true
-
-  '@parcel/watcher-linux-arm-glibc@2.4.1':
-    optional: true
-
-  '@parcel/watcher-linux-arm64-glibc@2.4.1':
-    optional: true
-
-  '@parcel/watcher-linux-arm64-musl@2.4.1':
-    optional: true
-
-  '@parcel/watcher-linux-x64-glibc@2.4.1':
-    optional: true
-
-  '@parcel/watcher-linux-x64-musl@2.4.1':
-    optional: true
-
-  '@parcel/watcher-win32-arm64@2.4.1':
-    optional: true
-
-  '@parcel/watcher-win32-ia32@2.4.1':
-    optional: true
-
-  '@parcel/watcher-win32-x64@2.4.1':
-    optional: true
-
-  '@parcel/watcher@2.4.1':
-    dependencies:
-      detect-libc: 1.0.3
-      is-glob: 4.0.3
-      micromatch: 4.0.8
-      node-addon-api: 7.1.1
-    optionalDependencies:
-      '@parcel/watcher-android-arm64': 2.4.1
-      '@parcel/watcher-darwin-arm64': 2.4.1
-      '@parcel/watcher-darwin-x64': 2.4.1
-      '@parcel/watcher-freebsd-x64': 2.4.1
-      '@parcel/watcher-linux-arm-glibc': 2.4.1
-      '@parcel/watcher-linux-arm64-glibc': 2.4.1
-      '@parcel/watcher-linux-arm64-musl': 2.4.1
-      '@parcel/watcher-linux-x64-glibc': 2.4.1
-      '@parcel/watcher-linux-x64-musl': 2.4.1
-      '@parcel/watcher-win32-arm64': 2.4.1
-      '@parcel/watcher-win32-ia32': 2.4.1
-      '@parcel/watcher-win32-x64': 2.4.1
-
-  '@qiun/wx-ucharts@2.5.0-20230101': {}
-
-  '@rollup/pluginutils@5.1.4(rollup@4.24.0)':
-    dependencies:
-      '@types/estree': 1.0.6
-      estree-walker: 2.0.2
-      picomatch: 4.0.2
-    optionalDependencies:
-      rollup: 4.24.0
-
-  '@rollup/rollup-android-arm-eabi@4.24.0':
-    optional: true
-
-  '@rollup/rollup-android-arm64@4.24.0':
-    optional: true
-
-  '@rollup/rollup-darwin-arm64@4.24.0':
-    optional: true
-
-  '@rollup/rollup-darwin-x64@4.24.0':
-    optional: true
-
-  '@rollup/rollup-linux-arm-gnueabihf@4.24.0':
-    optional: true
-
-  '@rollup/rollup-linux-arm-musleabihf@4.24.0':
-    optional: true
-
-  '@rollup/rollup-linux-arm64-gnu@4.24.0':
-    optional: true
-
-  '@rollup/rollup-linux-arm64-musl@4.24.0':
-    optional: true
-
-  '@rollup/rollup-linux-powerpc64le-gnu@4.24.0':
-    optional: true
-
-  '@rollup/rollup-linux-riscv64-gnu@4.24.0':
-    optional: true
-
-  '@rollup/rollup-linux-s390x-gnu@4.24.0':
-    optional: true
-
-  '@rollup/rollup-linux-x64-gnu@4.24.0':
-    optional: true
-
-  '@rollup/rollup-linux-x64-musl@4.24.0':
-    optional: true
-
-  '@rollup/rollup-win32-arm64-msvc@4.24.0':
-    optional: true
-
-  '@rollup/rollup-win32-ia32-msvc@4.24.0':
-    optional: true
-
-  '@rollup/rollup-win32-x64-msvc@4.24.0':
-    optional: true
-
-  '@sinonjs/commons@1.8.6':
-    dependencies:
-      type-detect: 4.0.8
-
-  '@sinonjs/fake-timers@8.1.0':
-    dependencies:
-      '@sinonjs/commons': 1.8.6
-
-  '@tootallnate/once@1.1.2': {}
-
-  '@types/babel__core@7.20.5':
-    dependencies:
-      '@babel/parser': 7.25.8
-      '@babel/types': 7.25.8
-      '@types/babel__generator': 7.6.8
-      '@types/babel__template': 7.4.4
-      '@types/babel__traverse': 7.20.6
-
-  '@types/babel__generator@7.6.8':
-    dependencies:
-      '@babel/types': 7.25.8
-
-  '@types/babel__template@7.4.4':
-    dependencies:
-      '@babel/parser': 7.25.8
-      '@babel/types': 7.25.8
-
-  '@types/babel__traverse@7.20.6':
-    dependencies:
-      '@babel/types': 7.25.8
-
-  '@types/estree@1.0.6': {}
-
-  '@types/graceful-fs@4.1.9':
-    dependencies:
-      '@types/node': 22.7.5
-
-  '@types/istanbul-lib-coverage@2.0.6': {}
-
-  '@types/istanbul-lib-report@3.0.3':
-    dependencies:
-      '@types/istanbul-lib-coverage': 2.0.6
-
-  '@types/istanbul-reports@3.0.4':
-    dependencies:
-      '@types/istanbul-lib-report': 3.0.3
-
-  '@types/node@22.7.5':
-    dependencies:
-      undici-types: 6.19.8
-
-  '@types/prettier@2.7.3': {}
-
-  '@types/stack-utils@2.0.3': {}
-
-  '@types/yargs-parser@21.0.3': {}
-
-  '@types/yargs@16.0.9':
-    dependencies:
-      '@types/yargs-parser': 21.0.3
-
-  '@uview-plus/types@3.2.5': {}
-
-  '@vitejs/plugin-legacy@5.3.2(terser@5.34.1)(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/preset-env': 7.25.8(@babel/core@7.25.8)
-      browserslist: 4.24.0
-      browserslist-to-esbuild: 2.1.1(browserslist@4.24.0)
-      core-js: 3.38.1
-      magic-string: 0.30.17
-      regenerator-runtime: 0.14.1
-      systemjs: 6.15.1
-      terser: 5.34.1
-      vite: 5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1)
-    transitivePeerDependencies:
-      - supports-color
-
-  '@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/plugin-transform-typescript': 7.25.7(@babel/core@7.25.8)
-      '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.8)
-      vite: 5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1)
-      vue: 3.4.21(typescript@5.6.3)
-    transitivePeerDependencies:
-      - supports-color
-
-  '@vitejs/plugin-vue@5.1.0(vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1))(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      vite: 5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1)
-      vue: 3.4.21(typescript@5.6.3)
-
-  '@volar/language-core@2.4.6':
-    dependencies:
-      '@volar/source-map': 2.4.6
-
-  '@volar/source-map@2.4.6': {}
-
-  '@volar/typescript@2.4.6':
-    dependencies:
-      '@volar/language-core': 2.4.6
-      path-browserify: 1.0.1
-      vscode-uri: 3.0.8
-
-  '@vue/babel-helper-vue-transform-on@1.2.5': {}
-
-  '@vue/babel-plugin-jsx@1.2.5(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/helper-module-imports': 7.25.7
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/plugin-syntax-jsx': 7.25.7(@babel/core@7.25.8)
-      '@babel/template': 7.25.7
-      '@babel/traverse': 7.25.7
-      '@babel/types': 7.25.8
-      '@vue/babel-helper-vue-transform-on': 1.2.5
-      '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.25.8)
-      html-tags: 3.3.1
-      svg-tags: 1.0.0
-    optionalDependencies:
-      '@babel/core': 7.25.8
-    transitivePeerDependencies:
-      - supports-color
-
-  '@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.25.8)':
-    dependencies:
-      '@babel/code-frame': 7.25.7
-      '@babel/core': 7.25.8
-      '@babel/helper-module-imports': 7.25.7
-      '@babel/helper-plugin-utils': 7.25.7
-      '@babel/parser': 7.25.8
-      '@vue/compiler-sfc': 3.5.12
-    transitivePeerDependencies:
-      - supports-color
-
-  '@vue/compiler-core@3.4.21':
-    dependencies:
-      '@babel/parser': 7.25.8
-      '@vue/shared': 3.4.21
-      entities: 4.5.0
-      estree-walker: 2.0.2
-      source-map-js: 1.2.1
-
-  '@vue/compiler-core@3.5.12':
-    dependencies:
-      '@babel/parser': 7.25.8
-      '@vue/shared': 3.5.12
-      entities: 4.5.0
-      estree-walker: 2.0.2
-      source-map-js: 1.2.1
-
-  '@vue/compiler-dom@3.4.21':
-    dependencies:
-      '@vue/compiler-core': 3.4.21
-      '@vue/shared': 3.4.21
-
-  '@vue/compiler-dom@3.5.12':
-    dependencies:
-      '@vue/compiler-core': 3.5.12
-      '@vue/shared': 3.5.12
-
-  '@vue/compiler-sfc@3.4.21':
-    dependencies:
-      '@babel/parser': 7.25.8
-      '@vue/compiler-core': 3.4.21
-      '@vue/compiler-dom': 3.4.21
-      '@vue/compiler-ssr': 3.4.21
-      '@vue/shared': 3.4.21
-      estree-walker: 2.0.2
-      magic-string: 0.30.12
-      postcss: 8.4.47
-      source-map-js: 1.2.1
-
-  '@vue/compiler-sfc@3.5.12':
-    dependencies:
-      '@babel/parser': 7.25.8
-      '@vue/compiler-core': 3.5.12
-      '@vue/compiler-dom': 3.5.12
-      '@vue/compiler-ssr': 3.5.12
-      '@vue/shared': 3.5.12
-      estree-walker: 2.0.2
-      magic-string: 0.30.17
-      postcss: 8.4.47
-      source-map-js: 1.2.1
-
-  '@vue/compiler-ssr@3.4.21':
-    dependencies:
-      '@vue/compiler-dom': 3.4.21
-      '@vue/shared': 3.4.21
-
-  '@vue/compiler-ssr@3.5.12':
-    dependencies:
-      '@vue/compiler-dom': 3.5.12
-      '@vue/shared': 3.5.12
-
-  '@vue/compiler-vue2@2.7.16':
-    dependencies:
-      de-indent: 1.0.2
-      he: 1.2.0
-
-  '@vue/consolidate@1.0.0': {}
-
-  '@vue/devtools-api@6.6.4': {}
-
-  '@vue/language-core@2.1.6(typescript@5.6.3)':
-    dependencies:
-      '@volar/language-core': 2.4.6
-      '@vue/compiler-dom': 3.5.12
-      '@vue/compiler-vue2': 2.7.16
-      '@vue/shared': 3.5.12
-      computeds: 0.0.1
-      minimatch: 9.0.5
-      muggle-string: 0.4.1
-      path-browserify: 1.0.1
-    optionalDependencies:
-      typescript: 5.6.3
-
-  '@vue/reactivity@3.4.21':
-    dependencies:
-      '@vue/shared': 3.4.21
-
-  '@vue/reactivity@3.5.12':
-    dependencies:
-      '@vue/shared': 3.5.12
-
-  '@vue/runtime-core@3.4.21':
-    dependencies:
-      '@vue/reactivity': 3.4.21
-      '@vue/shared': 3.4.21
-
-  '@vue/runtime-core@3.5.12':
-    dependencies:
-      '@vue/reactivity': 3.5.12
-      '@vue/shared': 3.5.12
-
-  '@vue/runtime-dom@3.4.21':
-    dependencies:
-      '@vue/runtime-core': 3.4.21
-      '@vue/shared': 3.4.21
-      csstype: 3.1.3
-
-  '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.6.3))':
-    dependencies:
-      '@vue/compiler-ssr': 3.4.21
-      '@vue/shared': 3.4.21
-      vue: 3.4.21(typescript@5.6.3)
-
-  '@vue/shared@3.4.21': {}
-
-  '@vue/shared@3.5.12': {}
-
-  '@vue/tsconfig@0.5.1': {}
-
-  abab@2.0.6: {}
-
-  accepts@1.3.8:
-    dependencies:
-      mime-types: 2.1.35
-      negotiator: 0.6.3
-
-  acorn-globals@6.0.0:
-    dependencies:
-      acorn: 7.4.1
-      acorn-walk: 7.2.0
-
-  acorn-walk@7.2.0: {}
-
-  acorn@7.4.1: {}
-
-  acorn@8.14.0: {}
-
-  acorn@8.14.1: {}
-
-  address@1.2.2: {}
-
-  adm-zip@0.5.16: {}
-
-  agent-base@6.0.2:
-    dependencies:
-      debug: 4.3.7
-    transitivePeerDependencies:
-      - supports-color
-
-  ansi-escapes@4.3.2:
-    dependencies:
-      type-fest: 0.21.3
-
-  ansi-regex@5.0.1: {}
-
-  ansi-styles@3.2.1:
-    dependencies:
-      color-convert: 1.9.3
-
-  ansi-styles@4.3.0:
-    dependencies:
-      color-convert: 2.0.1
-
-  ansi-styles@5.2.0: {}
-
-  any-base@1.1.0: {}
-
-  anymatch@3.1.3:
-    dependencies:
-      normalize-path: 3.0.0
-      picomatch: 2.3.1
-
-  argparse@1.0.10:
-    dependencies:
-      sprintf-js: 1.0.3
-
-  array-flatten@1.1.1: {}
-
-  async-limiter@1.0.1: {}
-
-  asynckit@0.4.0: {}
-
-  autoprefixer@10.4.20(postcss@8.4.47):
-    dependencies:
-      browserslist: 4.24.0
-      caniuse-lite: 1.0.30001668
-      fraction.js: 4.3.7
-      normalize-range: 0.1.2
-      picocolors: 1.1.0
-      postcss: 8.4.47
-      postcss-value-parser: 4.2.0
-
-  babel-jest@27.5.1(@babel/core@7.25.8):
-    dependencies:
-      '@babel/core': 7.25.8
-      '@jest/transform': 27.5.1
-      '@jest/types': 27.5.1
-      '@types/babel__core': 7.20.5
-      babel-plugin-istanbul: 6.1.1
-      babel-preset-jest: 27.5.1(@babel/core@7.25.8)
-      chalk: 4.1.2
-      graceful-fs: 4.2.11
-      slash: 3.0.0
-    transitivePeerDependencies:
-      - supports-color
-
-  babel-plugin-istanbul@6.1.1:
-    dependencies:
-      '@babel/helper-plugin-utils': 7.25.7
-      '@istanbuljs/load-nyc-config': 1.1.0
-      '@istanbuljs/schema': 0.1.3
-      istanbul-lib-instrument: 5.2.1
-      test-exclude: 6.0.0
-    transitivePeerDependencies:
-      - supports-color
-
-  babel-plugin-jest-hoist@27.5.1:
-    dependencies:
-      '@babel/template': 7.25.7
-      '@babel/types': 7.25.8
-      '@types/babel__core': 7.20.5
-      '@types/babel__traverse': 7.20.6
-
-  babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.8):
-    dependencies:
-      '@babel/compat-data': 7.25.8
-      '@babel/core': 7.25.8
-      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.8)
-      semver: 6.3.1
-    transitivePeerDependencies:
-      - supports-color
-
-  babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.8):
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.8)
-      core-js-compat: 3.38.1
-    transitivePeerDependencies:
-      - supports-color
-
-  babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.8):
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.8)
-    transitivePeerDependencies:
-      - supports-color
-
-  babel-preset-current-node-syntax@1.1.0(@babel/core@7.25.8):
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.8)
-      '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.8)
-      '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.8)
-      '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.8)
-      '@babel/plugin-syntax-import-attributes': 7.25.7(@babel/core@7.25.8)
-      '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.8)
-      '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.8)
-      '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.8)
-      '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.8)
-      '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.8)
-      '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.8)
-      '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.8)
-      '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.8)
-      '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.8)
-      '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.8)
-
-  babel-preset-jest@27.5.1(@babel/core@7.25.8):
-    dependencies:
-      '@babel/core': 7.25.8
-      babel-plugin-jest-hoist: 27.5.1
-      babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.8)
-
-  balanced-match@1.0.2: {}
-
-  base64-js@1.5.1: {}
-
-  base64url@3.0.1: {}
-
-  binary-extensions@2.3.0: {}
-
-  bl@4.1.0:
-    dependencies:
-      buffer: 5.7.1
-      inherits: 2.0.4
-      readable-stream: 3.6.2
-
-  bmp-js@0.1.0: {}
-
-  body-parser@1.20.3:
-    dependencies:
-      bytes: 3.1.2
-      content-type: 1.0.5
-      debug: 2.6.9
-      depd: 2.0.0
-      destroy: 1.2.0
-      http-errors: 2.0.0
-      iconv-lite: 0.4.24
-      on-finished: 2.4.1
-      qs: 6.13.0
-      raw-body: 2.5.2
-      type-is: 1.6.18
-      unpipe: 1.0.0
-    transitivePeerDependencies:
-      - supports-color
-
-  brace-expansion@1.1.11:
-    dependencies:
-      balanced-match: 1.0.2
-      concat-map: 0.0.1
-
-  brace-expansion@2.0.1:
-    dependencies:
-      balanced-match: 1.0.2
-
-  braces@3.0.3:
-    dependencies:
-      fill-range: 7.1.1
-
-  browser-process-hrtime@1.0.0: {}
-
-  browserslist-to-esbuild@2.1.1(browserslist@4.24.0):
-    dependencies:
-      browserslist: 4.24.0
-      meow: 13.2.0
-
-  browserslist@4.24.0:
-    dependencies:
-      caniuse-lite: 1.0.30001668
-      electron-to-chromium: 1.5.36
-      node-releases: 2.0.18
-      update-browserslist-db: 1.1.1(browserslist@4.24.0)
-
-  bser@2.1.1:
-    dependencies:
-      node-int64: 0.4.0
-
-  buffer-equal@0.0.1: {}
-
-  buffer-from@1.1.2: {}
-
-  buffer@5.7.1:
-    dependencies:
-      base64-js: 1.5.1
-      ieee754: 1.2.1
-
-  bytes@3.1.2: {}
-
-  cac@6.7.9: {}
-
-  call-bind@1.0.7:
-    dependencies:
-      es-define-property: 1.0.0
-      es-errors: 1.3.0
-      function-bind: 1.1.2
-      get-intrinsic: 1.2.4
-      set-function-length: 1.2.2
-
-  callback-stream@1.1.0:
-    dependencies:
-      inherits: 2.0.4
-      readable-stream: 2.3.8
-
-  callsites@3.1.0: {}
-
-  camelcase@5.3.1: {}
-
-  camelcase@6.3.0: {}
-
-  caniuse-lite@1.0.30001668: {}
-
-  centra@2.7.0:
-    dependencies:
-      follow-redirects: 1.15.9
-    transitivePeerDependencies:
-      - debug
-
-  chalk@2.4.2:
-    dependencies:
-      ansi-styles: 3.2.1
-      escape-string-regexp: 1.0.5
-      supports-color: 5.5.0
-
-  chalk@4.1.2:
-    dependencies:
-      ansi-styles: 4.3.0
-      supports-color: 7.2.0
-
-  char-regex@1.0.2: {}
-
-  chardet@0.7.0: {}
-
-  chokidar@3.6.0:
-    dependencies:
-      anymatch: 3.1.3
-      braces: 3.0.3
-      glob-parent: 5.1.2
-      is-binary-path: 2.1.0
-      is-glob: 4.0.3
-      normalize-path: 3.0.0
-      readdirp: 3.6.0
-    optionalDependencies:
-      fsevents: 2.3.3
-
-  chokidar@4.0.1:
-    dependencies:
-      readdirp: 4.0.2
-
-  ci-info@3.9.0: {}
-
-  cjs-module-lexer@1.4.1: {}
-
-  cli-cursor@3.1.0:
-    dependencies:
-      restore-cursor: 3.1.0
-
-  cli-spinners@2.9.2: {}
-
-  cli-width@3.0.0: {}
-
-  clipboard@2.0.11:
-    dependencies:
-      good-listener: 1.2.2
-      select: 1.1.2
-      tiny-emitter: 2.1.0
-
-  cliui@7.0.4:
-    dependencies:
-      string-width: 4.2.3
-      strip-ansi: 6.0.1
-      wrap-ansi: 7.0.0
-
-  clone@1.0.4: {}
-
-  co@4.6.0: {}
-
-  collect-v8-coverage@1.0.2: {}
-
-  color-convert@1.9.3:
-    dependencies:
-      color-name: 1.1.3
-
-  color-convert@2.0.1:
-    dependencies:
-      color-name: 1.1.4
-
-  color-name@1.1.3: {}
-
-  color-name@1.1.4: {}
-
-  combined-stream@1.0.8:
-    dependencies:
-      delayed-stream: 1.0.0
-
-  commander@2.20.3: {}
-
-  commist@1.1.0:
-    dependencies:
-      leven: 2.1.0
-      minimist: 1.2.8
-
-  compare-versions@3.6.0: {}
-
-  computeds@0.0.1: {}
-
-  concat-map@0.0.1: {}
-
-  concat-stream@1.6.2:
-    dependencies:
-      buffer-from: 1.1.2
-      inherits: 2.0.4
-      readable-stream: 2.3.8
-      typedarray: 0.0.6
-
-  confbox@0.1.8: {}
-
-  content-disposition@0.5.4:
-    dependencies:
-      safe-buffer: 5.2.1
-
-  content-type@1.0.5: {}
-
-  convert-source-map@1.9.0: {}
-
-  convert-source-map@2.0.0: {}
-
-  cookie-signature@1.0.6: {}
-
-  cookie@0.7.1: {}
-
-  copy-anything@2.0.6:
-    dependencies:
-      is-what: 3.14.1
-
-  core-js-compat@3.38.1:
-    dependencies:
-      browserslist: 4.24.0
-
-  core-js@3.38.1: {}
-
-  core-util-is@1.0.3: {}
-
-  cross-env@7.0.3:
-    dependencies:
-      cross-spawn: 7.0.3
-
-  cross-spawn@7.0.3:
-    dependencies:
-      path-key: 3.1.1
-      shebang-command: 2.0.0
-      which: 2.0.2
-
-  css-font-size-keywords@1.0.0: {}
-
-  css-font-stretch-keywords@1.0.1: {}
-
-  css-font-style-keywords@1.0.1: {}
-
-  css-font-weight-keywords@1.0.0: {}
-
-  css-list-helpers@2.0.0: {}
-
-  css-system-font-keywords@1.0.0: {}
-
-  cssesc@3.0.0: {}
-
-  cssom@0.3.8: {}
-
-  cssom@0.4.4: {}
-
-  cssstyle@2.3.0:
-    dependencies:
-      cssom: 0.3.8
-
-  csstype@3.1.3: {}
-
-  d@1.0.2:
-    dependencies:
-      es5-ext: 0.10.64
-      type: 2.7.3
-
-  data-urls@2.0.0:
-    dependencies:
-      abab: 2.0.6
-      whatwg-mimetype: 2.3.0
-      whatwg-url: 8.7.0
-
-  dayjs@1.11.13: {}
-
-  de-indent@1.0.2: {}
-
-  debug@2.6.9:
-    dependencies:
-      ms: 2.0.0
-
-  debug@4.3.7:
-    dependencies:
-      ms: 2.1.3
-
-  decimal.js@10.4.3: {}
-
-  dedent@0.7.0: {}
-
-  deepmerge@4.3.1: {}
-
-  default-gateway@6.0.3:
-    dependencies:
-      execa: 5.1.1
-
-  defaults@1.0.4:
-    dependencies:
-      clone: 1.0.4
-
-  define-data-property@1.1.4:
-    dependencies:
-      es-define-property: 1.0.0
-      es-errors: 1.3.0
-      gopd: 1.0.1
-
-  delayed-stream@1.0.0: {}
-
-  delegate@3.2.0: {}
-
-  depd@2.0.0: {}
-
-  destroy@1.2.0: {}
-
-  detect-libc@1.0.3: {}
-
-  detect-newline@3.1.0: {}
-
-  diff-sequences@27.5.1: {}
-
-  dom-walk@0.1.2: {}
-
-  domexception@2.0.1:
-    dependencies:
-      webidl-conversions: 5.0.0
-
-  duplexify@3.7.1:
-    dependencies:
-      end-of-stream: 1.4.4
-      inherits: 2.0.4
-      readable-stream: 2.3.8
-      stream-shift: 1.0.3
-
-  duplexify@4.1.3:
-    dependencies:
-      end-of-stream: 1.4.4
-      inherits: 2.0.4
-      readable-stream: 3.6.2
-      stream-shift: 1.0.3
-
-  ee-first@1.1.1: {}
-
-  electron-to-chromium@1.5.36: {}
-
-  emittery@0.8.1: {}
-
-  emoji-regex@8.0.0: {}
-
-  encodeurl@1.0.2: {}
-
-  encodeurl@2.0.0: {}
-
-  end-of-stream@1.4.4:
-    dependencies:
-      once: 1.4.0
-
-  entities@4.5.0: {}
-
-  errno@0.1.8:
-    dependencies:
-      prr: 1.0.1
-    optional: true
-
-  error-ex@1.3.2:
-    dependencies:
-      is-arrayish: 0.2.1
-
-  es-define-property@1.0.0:
-    dependencies:
-      get-intrinsic: 1.2.4
-
-  es-errors@1.3.0: {}
-
-  es-module-lexer@1.5.4: {}
-
-  es5-ext@0.10.64:
-    dependencies:
-      es6-iterator: 2.0.3
-      es6-symbol: 3.1.4
-      esniff: 2.0.1
-      next-tick: 1.1.0
-
-  es6-iterator@2.0.3:
-    dependencies:
-      d: 1.0.2
-      es5-ext: 0.10.64
-      es6-symbol: 3.1.4
-
-  es6-map@0.1.5:
-    dependencies:
-      d: 1.0.2
-      es5-ext: 0.10.64
-      es6-iterator: 2.0.3
-      es6-set: 0.1.6
-      es6-symbol: 3.1.4
-      event-emitter: 0.3.5
-
-  es6-set@0.1.6:
-    dependencies:
-      d: 1.0.2
-      es5-ext: 0.10.64
-      es6-iterator: 2.0.3
-      es6-symbol: 3.1.4
-      event-emitter: 0.3.5
-      type: 2.7.3
-
-  es6-symbol@3.1.4:
-    dependencies:
-      d: 1.0.2
-      ext: 1.7.0
-
-  esbuild@0.20.2:
-    optionalDependencies:
-      '@esbuild/aix-ppc64': 0.20.2
-      '@esbuild/android-arm': 0.20.2
-      '@esbuild/android-arm64': 0.20.2
-      '@esbuild/android-x64': 0.20.2
-      '@esbuild/darwin-arm64': 0.20.2
-      '@esbuild/darwin-x64': 0.20.2
-      '@esbuild/freebsd-arm64': 0.20.2
-      '@esbuild/freebsd-x64': 0.20.2
-      '@esbuild/linux-arm': 0.20.2
-      '@esbuild/linux-arm64': 0.20.2
-      '@esbuild/linux-ia32': 0.20.2
-      '@esbuild/linux-loong64': 0.20.2
-      '@esbuild/linux-mips64el': 0.20.2
-      '@esbuild/linux-ppc64': 0.20.2
-      '@esbuild/linux-riscv64': 0.20.2
-      '@esbuild/linux-s390x': 0.20.2
-      '@esbuild/linux-x64': 0.20.2
-      '@esbuild/netbsd-x64': 0.20.2
-      '@esbuild/openbsd-x64': 0.20.2
-      '@esbuild/sunos-x64': 0.20.2
-      '@esbuild/win32-arm64': 0.20.2
-      '@esbuild/win32-ia32': 0.20.2
-      '@esbuild/win32-x64': 0.20.2
-
-  escalade@3.2.0: {}
-
-  escape-html@1.0.3: {}
-
-  escape-string-regexp@1.0.5: {}
-
-  escape-string-regexp@2.0.0: {}
-
-  escape-string-regexp@5.0.0: {}
-
-  escodegen@2.1.0:
-    dependencies:
-      esprima: 4.0.1
-      estraverse: 5.3.0
-      esutils: 2.0.3
-    optionalDependencies:
-      source-map: 0.6.1
-
-  esniff@2.0.1:
-    dependencies:
-      d: 1.0.2
-      es5-ext: 0.10.64
-      event-emitter: 0.3.5
-      type: 2.7.3
-
-  esprima@4.0.1: {}
-
-  estraverse@5.3.0: {}
-
-  estree-walker@2.0.2: {}
-
-  estree-walker@3.0.3:
-    dependencies:
-      '@types/estree': 1.0.6
-
-  esutils@2.0.3: {}
-
-  etag@1.8.1: {}
-
-  event-emitter@0.3.5:
-    dependencies:
-      d: 1.0.2
-      es5-ext: 0.10.64
-
-  execa@5.1.1:
-    dependencies:
-      cross-spawn: 7.0.3
-      get-stream: 6.0.1
-      human-signals: 2.1.0
-      is-stream: 2.0.1
-      merge-stream: 2.0.0
-      npm-run-path: 4.0.1
-      onetime: 5.1.2
-      signal-exit: 3.0.7
-      strip-final-newline: 2.0.0
-
-  exif-parser@0.1.12: {}
-
-  exit@0.1.2: {}
-
-  expect@27.5.1:
-    dependencies:
-      '@jest/types': 27.5.1
-      jest-get-type: 27.5.1
-      jest-matcher-utils: 27.5.1
-      jest-message-util: 27.5.1
-
-  express@4.21.1:
-    dependencies:
-      accepts: 1.3.8
-      array-flatten: 1.1.1
-      body-parser: 1.20.3
-      content-disposition: 0.5.4
-      content-type: 1.0.5
-      cookie: 0.7.1
-      cookie-signature: 1.0.6
-      debug: 2.6.9
-      depd: 2.0.0
-      encodeurl: 2.0.0
-      escape-html: 1.0.3
-      etag: 1.8.1
-      finalhandler: 1.3.1
-      fresh: 0.5.2
-      http-errors: 2.0.0
-      merge-descriptors: 1.0.3
-      methods: 1.1.2
-      on-finished: 2.4.1
-      parseurl: 1.3.3
-      path-to-regexp: 0.1.10
-      proxy-addr: 2.0.7
-      qs: 6.13.0
-      range-parser: 1.2.1
-      safe-buffer: 5.2.1
-      send: 0.19.0
-      serve-static: 1.16.2
-      setprototypeof: 1.2.0
-      statuses: 2.0.1
-      type-is: 1.6.18
-      utils-merge: 1.0.1
-      vary: 1.1.2
-    transitivePeerDependencies:
-      - supports-color
-
-  ext@1.7.0:
-    dependencies:
-      type: 2.7.3
-
-  extend@3.0.2: {}
-
-  external-editor@3.1.0:
-    dependencies:
-      chardet: 0.7.0
-      iconv-lite: 0.4.24
-      tmp: 0.0.33
-
-  fast-glob@3.3.3:
-    dependencies:
-      '@nodelib/fs.stat': 2.0.5
-      '@nodelib/fs.walk': 1.2.8
-      glob-parent: 5.1.2
-      merge2: 1.4.1
-      micromatch: 4.0.8
-
-  fast-json-stable-stringify@2.1.0: {}
-
-  fastq@1.17.1:
-    dependencies:
-      reusify: 1.0.4
-
-  fb-watchman@2.0.2:
-    dependencies:
-      bser: 2.1.1
-
-  figures@3.2.0:
-    dependencies:
-      escape-string-regexp: 1.0.5
-
-  file-type@9.0.0: {}
-
-  fill-range@7.1.1:
-    dependencies:
-      to-regex-range: 5.0.1
-
-  finalhandler@1.3.1:
-    dependencies:
-      debug: 2.6.9
-      encodeurl: 2.0.0
-      escape-html: 1.0.3
-      on-finished: 2.4.1
-      parseurl: 1.3.3
-      statuses: 2.0.1
-      unpipe: 1.0.0
-    transitivePeerDependencies:
-      - supports-color
-
-  find-up@4.1.0:
-    dependencies:
-      locate-path: 5.0.0
-      path-exists: 4.0.0
-
-  follow-redirects@1.15.9: {}
-
-  form-data@3.0.2:
-    dependencies:
-      asynckit: 0.4.0
-      combined-stream: 1.0.8
-      mime-types: 2.1.35
-
-  forwarded@0.2.0: {}
-
-  fraction.js@4.3.7: {}
-
-  fresh@0.5.2: {}
-
-  fs-extra@10.1.0:
-    dependencies:
-      graceful-fs: 4.2.11
-      jsonfile: 6.1.0
-      universalify: 2.0.1
-
-  fs.realpath@1.0.0: {}
-
-  fsevents@2.3.3:
-    optional: true
-
-  function-bind@1.1.2: {}
-
-  generic-names@4.0.0:
-    dependencies:
-      loader-utils: 3.3.1
-
-  gensync@1.0.0-beta.2: {}
-
-  get-caller-file@2.0.5: {}
-
-  get-intrinsic@1.2.4:
-    dependencies:
-      es-errors: 1.3.0
-      function-bind: 1.1.2
-      has-proto: 1.0.3
-      has-symbols: 1.0.3
-      hasown: 2.0.2
-
-  get-package-type@0.1.0: {}
-
-  get-stream@6.0.1: {}
-
-  glob-parent@3.1.0:
-    dependencies:
-      is-glob: 3.1.0
-      path-dirname: 1.0.2
-
-  glob-parent@5.1.2:
-    dependencies:
-      is-glob: 4.0.3
-
-  glob-stream@6.1.0:
-    dependencies:
-      extend: 3.0.2
-      glob: 7.2.3
-      glob-parent: 3.1.0
-      is-negated-glob: 1.0.0
-      ordered-read-streams: 1.0.1
-      pumpify: 1.5.1
-      readable-stream: 2.3.8
-      remove-trailing-separator: 1.1.0
-      to-absolute-glob: 2.0.2
-      unique-stream: 2.3.1
-
-  glob@7.2.3:
-    dependencies:
-      fs.realpath: 1.0.0
-      inflight: 1.0.6
-      inherits: 2.0.4
-      minimatch: 3.1.2
-      once: 1.4.0
-      path-is-absolute: 1.0.1
-
-  global@4.4.0:
-    dependencies:
-      min-document: 2.19.0
-      process: 0.11.10
-
-  globals@11.12.0: {}
-
-  good-listener@1.2.2:
-    dependencies:
-      delegate: 3.2.0
-
-  gopd@1.0.1:
-    dependencies:
-      get-intrinsic: 1.2.4
-
-  graceful-fs@4.2.11: {}
-
-  has-flag@3.0.0: {}
-
-  has-flag@4.0.0: {}
-
-  has-property-descriptors@1.0.2:
-    dependencies:
-      es-define-property: 1.0.0
-
-  has-proto@1.0.3: {}
-
-  has-symbols@1.0.3: {}
-
-  hash-sum@2.0.0: {}
-
-  hasown@2.0.2:
-    dependencies:
-      function-bind: 1.1.2
-
-  he@1.2.0: {}
-
-  help-me@1.1.0:
-    dependencies:
-      callback-stream: 1.1.0
-      glob-stream: 6.1.0
-      through2: 2.0.5
-      xtend: 4.0.2
-
-  html-encoding-sniffer@2.0.1:
-    dependencies:
-      whatwg-encoding: 1.0.5
-
-  html-escaper@2.0.2: {}
-
-  html-tags@3.3.1: {}
-
-  http-errors@2.0.0:
-    dependencies:
-      depd: 2.0.0
-      inherits: 2.0.4
-      setprototypeof: 1.2.0
-      statuses: 2.0.1
-      toidentifier: 1.0.1
-
-  http-proxy-agent@4.0.1:
-    dependencies:
-      '@tootallnate/once': 1.1.2
-      agent-base: 6.0.2
-      debug: 4.3.7
-    transitivePeerDependencies:
-      - supports-color
-
-  https-proxy-agent@5.0.1:
-    dependencies:
-      agent-base: 6.0.2
-      debug: 4.3.7
-    transitivePeerDependencies:
-      - supports-color
-
-  human-signals@2.1.0: {}
-
-  iconv-lite@0.4.24:
-    dependencies:
-      safer-buffer: 2.1.2
-
-  iconv-lite@0.6.3:
-    dependencies:
-      safer-buffer: 2.1.2
-    optional: true
-
-  icss-replace-symbols@1.1.0: {}
-
-  icss-utils@5.1.0(postcss@8.4.47):
-    dependencies:
-      postcss: 8.4.47
-
-  ieee754@1.2.1: {}
-
-  image-size@0.5.5:
-    optional: true
-
-  immutable@4.3.7: {}
-
-  import-local@3.2.0:
-    dependencies:
-      pkg-dir: 4.2.0
-      resolve-cwd: 3.0.0
-
-  imurmurhash@0.1.4: {}
-
-  inflight@1.0.6:
-    dependencies:
-      once: 1.4.0
-      wrappy: 1.0.2
-
-  inherits@2.0.4: {}
-
-  inquirer@8.2.6:
-    dependencies:
-      ansi-escapes: 4.3.2
-      chalk: 4.1.2
-      cli-cursor: 3.1.0
-      cli-width: 3.0.0
-      external-editor: 3.1.0
-      figures: 3.2.0
-      lodash: 4.17.21
-      mute-stream: 0.0.8
-      ora: 5.4.1
-      run-async: 2.4.1
-      rxjs: 7.8.2
-      string-width: 4.2.3
-      strip-ansi: 6.0.1
-      through: 2.3.8
-      wrap-ansi: 6.2.0
-
-  invert-kv@3.0.1: {}
-
-  ipaddr.js@1.9.1: {}
-
-  is-absolute@1.0.0:
-    dependencies:
-      is-relative: 1.0.0
-      is-windows: 1.0.2
-
-  is-arrayish@0.2.1: {}
-
-  is-binary-path@2.1.0:
-    dependencies:
-      binary-extensions: 2.3.0
-
-  is-core-module@2.15.1:
-    dependencies:
-      hasown: 2.0.2
-
-  is-extglob@2.1.1: {}
-
-  is-fullwidth-code-point@3.0.0: {}
-
-  is-function@1.0.2: {}
-
-  is-generator-fn@2.1.0: {}
-
-  is-glob@3.1.0:
-    dependencies:
-      is-extglob: 2.1.1
-
-  is-glob@4.0.3:
-    dependencies:
-      is-extglob: 2.1.1
-
-  is-interactive@1.0.0: {}
-
-  is-negated-glob@1.0.0: {}
-
-  is-number@7.0.0: {}
-
-  is-potential-custom-element-name@1.0.1: {}
-
-  is-relative@1.0.0:
-    dependencies:
-      is-unc-path: 1.0.0
-
-  is-stream@2.0.1: {}
-
-  is-typedarray@1.0.0: {}
-
-  is-unc-path@1.0.0:
-    dependencies:
-      unc-path-regex: 0.1.2
-
-  is-unicode-supported@0.1.0: {}
-
-  is-what@3.14.1: {}
-
-  is-windows@1.0.2: {}
-
-  isarray@1.0.0: {}
-
-  isbinaryfile@5.0.3: {}
-
-  isexe@2.0.0: {}
-
-  istanbul-lib-coverage@3.2.2: {}
-
-  istanbul-lib-instrument@5.2.1:
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/parser': 7.25.8
-      '@istanbuljs/schema': 0.1.3
-      istanbul-lib-coverage: 3.2.2
-      semver: 6.3.1
-    transitivePeerDependencies:
-      - supports-color
-
-  istanbul-lib-report@3.0.1:
-    dependencies:
-      istanbul-lib-coverage: 3.2.2
-      make-dir: 4.0.0
-      supports-color: 7.2.0
-
-  istanbul-lib-source-maps@4.0.1:
-    dependencies:
-      debug: 4.3.7
-      istanbul-lib-coverage: 3.2.2
-      source-map: 0.6.1
-    transitivePeerDependencies:
-      - supports-color
-
-  istanbul-reports@3.1.7:
-    dependencies:
-      html-escaper: 2.0.2
-      istanbul-lib-report: 3.0.1
-
-  jest-changed-files@27.5.1:
-    dependencies:
-      '@jest/types': 27.5.1
-      execa: 5.1.1
-      throat: 6.0.2
-
-  jest-circus@27.5.1:
-    dependencies:
-      '@jest/environment': 27.5.1
-      '@jest/test-result': 27.5.1
-      '@jest/types': 27.5.1
-      '@types/node': 22.7.5
-      chalk: 4.1.2
-      co: 4.6.0
-      dedent: 0.7.0
-      expect: 27.5.1
-      is-generator-fn: 2.1.0
-      jest-each: 27.5.1
-      jest-matcher-utils: 27.5.1
-      jest-message-util: 27.5.1
-      jest-runtime: 27.5.1
-      jest-snapshot: 27.5.1
-      jest-util: 27.5.1
-      pretty-format: 27.5.1
-      slash: 3.0.0
-      stack-utils: 2.0.6
-      throat: 6.0.2
-    transitivePeerDependencies:
-      - supports-color
-
-  jest-cli@27.5.1:
-    dependencies:
-      '@jest/core': 27.5.1
-      '@jest/test-result': 27.5.1
-      '@jest/types': 27.5.1
-      chalk: 4.1.2
-      exit: 0.1.2
-      graceful-fs: 4.2.11
-      import-local: 3.2.0
-      jest-config: 27.5.1
-      jest-util: 27.5.1
-      jest-validate: 27.5.1
-      prompts: 2.4.2
-      yargs: 16.2.0
-    transitivePeerDependencies:
-      - bufferutil
-      - canvas
-      - supports-color
-      - ts-node
-      - utf-8-validate
-
-  jest-config@27.5.1:
-    dependencies:
-      '@babel/core': 7.25.8
-      '@jest/test-sequencer': 27.5.1
-      '@jest/types': 27.5.1
-      babel-jest: 27.5.1(@babel/core@7.25.8)
-      chalk: 4.1.2
-      ci-info: 3.9.0
-      deepmerge: 4.3.1
-      glob: 7.2.3
-      graceful-fs: 4.2.11
-      jest-circus: 27.5.1
-      jest-environment-jsdom: 27.5.1
-      jest-environment-node: 27.5.1
-      jest-get-type: 27.5.1
-      jest-jasmine2: 27.5.1
-      jest-regex-util: 27.5.1
-      jest-resolve: 27.5.1
-      jest-runner: 27.5.1
-      jest-util: 27.5.1
-      jest-validate: 27.5.1
-      micromatch: 4.0.8
-      parse-json: 5.2.0
-      pretty-format: 27.5.1
-      slash: 3.0.0
-      strip-json-comments: 3.1.1
-    transitivePeerDependencies:
-      - bufferutil
-      - canvas
-      - supports-color
-      - utf-8-validate
-
-  jest-diff@27.5.1:
-    dependencies:
-      chalk: 4.1.2
-      diff-sequences: 27.5.1
-      jest-get-type: 27.5.1
-      pretty-format: 27.5.1
-
-  jest-docblock@27.5.1:
-    dependencies:
-      detect-newline: 3.1.0
-
-  jest-each@27.5.1:
-    dependencies:
-      '@jest/types': 27.5.1
-      chalk: 4.1.2
-      jest-get-type: 27.5.1
-      jest-util: 27.5.1
-      pretty-format: 27.5.1
-
-  jest-environment-jsdom@27.5.1:
-    dependencies:
-      '@jest/environment': 27.5.1
-      '@jest/fake-timers': 27.5.1
-      '@jest/types': 27.5.1
-      '@types/node': 22.7.5
-      jest-mock: 27.5.1
-      jest-util: 27.5.1
-      jsdom: 16.7.0
-    transitivePeerDependencies:
-      - bufferutil
-      - canvas
-      - supports-color
-      - utf-8-validate
-
-  jest-environment-node@27.5.1:
-    dependencies:
-      '@jest/environment': 27.5.1
-      '@jest/fake-timers': 27.5.1
-      '@jest/types': 27.5.1
-      '@types/node': 22.7.5
-      jest-mock: 27.5.1
-      jest-util: 27.5.1
-
-  jest-get-type@27.5.1: {}
-
-  jest-haste-map@27.5.1:
-    dependencies:
-      '@jest/types': 27.5.1
-      '@types/graceful-fs': 4.1.9
-      '@types/node': 22.7.5
-      anymatch: 3.1.3
-      fb-watchman: 2.0.2
-      graceful-fs: 4.2.11
-      jest-regex-util: 27.5.1
-      jest-serializer: 27.5.1
-      jest-util: 27.5.1
-      jest-worker: 27.5.1
-      micromatch: 4.0.8
-      walker: 1.0.8
-    optionalDependencies:
-      fsevents: 2.3.3
-
-  jest-jasmine2@27.5.1:
-    dependencies:
-      '@jest/environment': 27.5.1
-      '@jest/source-map': 27.5.1
-      '@jest/test-result': 27.5.1
-      '@jest/types': 27.5.1
-      '@types/node': 22.7.5
-      chalk: 4.1.2
-      co: 4.6.0
-      expect: 27.5.1
-      is-generator-fn: 2.1.0
-      jest-each: 27.5.1
-      jest-matcher-utils: 27.5.1
-      jest-message-util: 27.5.1
-      jest-runtime: 27.5.1
-      jest-snapshot: 27.5.1
-      jest-util: 27.5.1
-      pretty-format: 27.5.1
-      throat: 6.0.2
-    transitivePeerDependencies:
-      - supports-color
-
-  jest-leak-detector@27.5.1:
-    dependencies:
-      jest-get-type: 27.5.1
-      pretty-format: 27.5.1
-
-  jest-matcher-utils@27.5.1:
-    dependencies:
-      chalk: 4.1.2
-      jest-diff: 27.5.1
-      jest-get-type: 27.5.1
-      pretty-format: 27.5.1
-
-  jest-message-util@27.5.1:
-    dependencies:
-      '@babel/code-frame': 7.25.7
-      '@jest/types': 27.5.1
-      '@types/stack-utils': 2.0.3
-      chalk: 4.1.2
-      graceful-fs: 4.2.11
-      micromatch: 4.0.8
-      pretty-format: 27.5.1
-      slash: 3.0.0
-      stack-utils: 2.0.6
-
-  jest-mock@27.5.1:
-    dependencies:
-      '@jest/types': 27.5.1
-      '@types/node': 22.7.5
-
-  jest-pnp-resolver@1.2.3(jest-resolve@27.5.1):
-    optionalDependencies:
-      jest-resolve: 27.5.1
-
-  jest-regex-util@27.5.1: {}
-
-  jest-resolve-dependencies@27.5.1:
-    dependencies:
-      '@jest/types': 27.5.1
-      jest-regex-util: 27.5.1
-      jest-snapshot: 27.5.1
-    transitivePeerDependencies:
-      - supports-color
-
-  jest-resolve@27.5.1:
-    dependencies:
-      '@jest/types': 27.5.1
-      chalk: 4.1.2
-      graceful-fs: 4.2.11
-      jest-haste-map: 27.5.1
-      jest-pnp-resolver: 1.2.3(jest-resolve@27.5.1)
-      jest-util: 27.5.1
-      jest-validate: 27.5.1
-      resolve: 1.22.8
-      resolve.exports: 1.1.1
-      slash: 3.0.0
-
-  jest-runner@27.5.1:
-    dependencies:
-      '@jest/console': 27.5.1
-      '@jest/environment': 27.5.1
-      '@jest/test-result': 27.5.1
-      '@jest/transform': 27.5.1
-      '@jest/types': 27.5.1
-      '@types/node': 22.7.5
-      chalk: 4.1.2
-      emittery: 0.8.1
-      graceful-fs: 4.2.11
-      jest-docblock: 27.5.1
-      jest-environment-jsdom: 27.5.1
-      jest-environment-node: 27.5.1
-      jest-haste-map: 27.5.1
-      jest-leak-detector: 27.5.1
-      jest-message-util: 27.5.1
-      jest-resolve: 27.5.1
-      jest-runtime: 27.5.1
-      jest-util: 27.5.1
-      jest-worker: 27.5.1
-      source-map-support: 0.5.21
-      throat: 6.0.2
-    transitivePeerDependencies:
-      - bufferutil
-      - canvas
-      - supports-color
-      - utf-8-validate
-
-  jest-runtime@27.5.1:
-    dependencies:
-      '@jest/environment': 27.5.1
-      '@jest/fake-timers': 27.5.1
-      '@jest/globals': 27.5.1
-      '@jest/source-map': 27.5.1
-      '@jest/test-result': 27.5.1
-      '@jest/transform': 27.5.1
-      '@jest/types': 27.5.1
-      chalk: 4.1.2
-      cjs-module-lexer: 1.4.1
-      collect-v8-coverage: 1.0.2
-      execa: 5.1.1
-      glob: 7.2.3
-      graceful-fs: 4.2.11
-      jest-haste-map: 27.5.1
-      jest-message-util: 27.5.1
-      jest-mock: 27.5.1
-      jest-regex-util: 27.5.1
-      jest-resolve: 27.5.1
-      jest-snapshot: 27.5.1
-      jest-util: 27.5.1
-      slash: 3.0.0
-      strip-bom: 4.0.0
-    transitivePeerDependencies:
-      - supports-color
-
-  jest-serializer@27.5.1:
-    dependencies:
-      '@types/node': 22.7.5
-      graceful-fs: 4.2.11
-
-  jest-snapshot@27.5.1:
-    dependencies:
-      '@babel/core': 7.25.8
-      '@babel/generator': 7.25.7
-      '@babel/plugin-syntax-typescript': 7.25.7(@babel/core@7.25.8)
-      '@babel/traverse': 7.25.7
-      '@babel/types': 7.25.8
-      '@jest/transform': 27.5.1
-      '@jest/types': 27.5.1
-      '@types/babel__traverse': 7.20.6
-      '@types/prettier': 2.7.3
-      babel-preset-current-node-syntax: 1.1.0(@babel/core@7.25.8)
-      chalk: 4.1.2
-      expect: 27.5.1
-      graceful-fs: 4.2.11
-      jest-diff: 27.5.1
-      jest-get-type: 27.5.1
-      jest-haste-map: 27.5.1
-      jest-matcher-utils: 27.5.1
-      jest-message-util: 27.5.1
-      jest-util: 27.5.1
-      natural-compare: 1.4.0
-      pretty-format: 27.5.1
-      semver: 7.6.3
-    transitivePeerDependencies:
-      - supports-color
-
-  jest-util@27.5.1:
-    dependencies:
-      '@jest/types': 27.5.1
-      '@types/node': 22.7.5
-      chalk: 4.1.2
-      ci-info: 3.9.0
-      graceful-fs: 4.2.11
-      picomatch: 2.3.1
-
-  jest-validate@27.5.1:
-    dependencies:
-      '@jest/types': 27.5.1
-      camelcase: 6.3.0
-      chalk: 4.1.2
-      jest-get-type: 27.5.1
-      leven: 3.1.0
-      pretty-format: 27.5.1
-
-  jest-watcher@27.5.1:
-    dependencies:
-      '@jest/test-result': 27.5.1
-      '@jest/types': 27.5.1
-      '@types/node': 22.7.5
-      ansi-escapes: 4.3.2
-      chalk: 4.1.2
-      jest-util: 27.5.1
-      string-length: 4.0.2
-
-  jest-worker@27.5.1:
-    dependencies:
-      '@types/node': 22.7.5
-      merge-stream: 2.0.0
-      supports-color: 8.1.1
-
-  jest@27.0.4:
-    dependencies:
-      '@jest/core': 27.5.1
-      import-local: 3.2.0
-      jest-cli: 27.5.1
-    transitivePeerDependencies:
-      - bufferutil
-      - canvas
-      - supports-color
-      - ts-node
-      - utf-8-validate
-
-  jimp@0.10.3:
-    dependencies:
-      '@babel/runtime': 7.25.7
-      '@jimp/custom': 0.10.3
-      '@jimp/plugins': 0.10.3(@jimp/custom@0.10.3)
-      '@jimp/types': 0.10.3(@jimp/custom@0.10.3)
-      core-js: 3.38.1
-      regenerator-runtime: 0.13.11
-    transitivePeerDependencies:
-      - debug
-
-  jpeg-js@0.3.7: {}
-
-  js-tokens@4.0.0: {}
-
-  js-tokens@9.0.1: {}
-
-  js-yaml@3.14.1:
-    dependencies:
-      argparse: 1.0.10
-      esprima: 4.0.1
-
-  jsdom@16.7.0:
-    dependencies:
-      abab: 2.0.6
-      acorn: 8.14.1
-      acorn-globals: 6.0.0
-      cssom: 0.4.4
-      cssstyle: 2.3.0
-      data-urls: 2.0.0
-      decimal.js: 10.4.3
-      domexception: 2.0.1
-      escodegen: 2.1.0
-      form-data: 3.0.2
-      html-encoding-sniffer: 2.0.1
-      http-proxy-agent: 4.0.1
-      https-proxy-agent: 5.0.1
-      is-potential-custom-element-name: 1.0.1
-      nwsapi: 2.2.13
-      parse5: 6.0.1
-      saxes: 5.0.1
-      symbol-tree: 3.2.4
-      tough-cookie: 4.1.4
-      w3c-hr-time: 1.0.2
-      w3c-xmlserializer: 2.0.0
-      webidl-conversions: 6.1.0
-      whatwg-encoding: 1.0.5
-      whatwg-mimetype: 2.3.0
-      whatwg-url: 8.7.0
-      ws: 7.5.10
-      xml-name-validator: 3.0.0
-    transitivePeerDependencies:
-      - bufferutil
-      - supports-color
-      - utf-8-validate
-
-  jsesc@3.0.2: {}
-
-  json-parse-even-better-errors@2.3.1: {}
-
-  json-stable-stringify-without-jsonify@1.0.1: {}
-
-  json5@2.2.3: {}
-
-  jsonc-parser@3.3.1: {}
-
-  jsonfile@6.1.0:
-    dependencies:
-      universalify: 2.0.1
-    optionalDependencies:
-      graceful-fs: 4.2.11
-
-  kleur@3.0.3: {}
-
-  lcid@3.1.1:
-    dependencies:
-      invert-kv: 3.0.1
-
-  less@4.2.0:
-    dependencies:
-      copy-anything: 2.0.6
-      parse-node-version: 1.0.1
-      tslib: 2.7.0
-    optionalDependencies:
-      errno: 0.1.8
-      graceful-fs: 4.2.11
-      image-size: 0.5.5
-      make-dir: 2.1.0
-      mime: 1.6.0
-      needle: 3.3.1
-      source-map: 0.6.1
-
-  leven@2.1.0: {}
-
-  leven@3.1.0: {}
-
-  licia@1.43.0: {}
-
-  lilconfig@2.1.0: {}
-
-  lines-and-columns@1.2.4: {}
-
-  lines-and-columns@2.0.4: {}
-
-  load-bmfont@1.4.2:
-    dependencies:
-      buffer-equal: 0.0.1
-      mime: 1.6.0
-      parse-bmfont-ascii: 1.0.6
-      parse-bmfont-binary: 1.0.6
-      parse-bmfont-xml: 1.1.6
-      phin: 3.7.1
-      xhr: 2.6.0
-      xtend: 4.0.2
-    transitivePeerDependencies:
-      - debug
-
-  loader-utils@3.3.1: {}
-
-  local-pkg@1.0.0:
-    dependencies:
-      mlly: 1.7.4
-      pkg-types: 1.3.1
-
-  localstorage-polyfill@1.0.1: {}
-
-  locate-path@5.0.0:
-    dependencies:
-      p-locate: 4.1.0
-
-  lodash.camelcase@4.3.0: {}
-
-  lodash.debounce@4.0.8: {}
-
-  lodash@4.17.21: {}
-
-  log-symbols@4.1.0:
-    dependencies:
-      chalk: 4.1.2
-      is-unicode-supported: 0.1.0
-
-  lru-cache@5.1.1:
-    dependencies:
-      yallist: 3.1.1
-
-  magic-string@0.30.12:
-    dependencies:
-      '@jridgewell/sourcemap-codec': 1.5.0
-
-  magic-string@0.30.17:
-    dependencies:
-      '@jridgewell/sourcemap-codec': 1.5.0
-
-  make-dir@2.1.0:
-    dependencies:
-      pify: 4.0.1
-      semver: 5.7.2
-    optional: true
-
-  make-dir@4.0.0:
-    dependencies:
-      semver: 7.6.3
-
-  makeerror@1.0.12:
-    dependencies:
-      tmpl: 1.0.5
-
-  media-typer@0.3.0: {}
-
-  meow@13.2.0: {}
-
-  merge-descriptors@1.0.3: {}
-
-  merge-stream@2.0.0: {}
-
-  merge2@1.4.1: {}
-
-  merge@2.1.1: {}
-
-  methods@1.1.2: {}
-
-  micromatch@4.0.8:
-    dependencies:
-      braces: 3.0.3
-      picomatch: 2.3.1
-
-  mime-db@1.52.0: {}
-
-  mime-types@2.1.35:
-    dependencies:
-      mime-db: 1.52.0
-
-  mime@1.6.0: {}
-
-  mime@3.0.0: {}
-
-  mimic-fn@2.1.0: {}
-
-  min-document@2.19.0:
-    dependencies:
-      dom-walk: 0.1.2
-
-  minimatch@3.1.2:
-    dependencies:
-      brace-expansion: 1.1.11
-
-  minimatch@9.0.5:
-    dependencies:
-      brace-expansion: 2.0.1
-
-  minimist@1.2.8: {}
-
-  mkdirp@0.5.6:
-    dependencies:
-      minimist: 1.2.8
-
-  mlly@1.7.4:
-    dependencies:
-      acorn: 8.14.1
-      pathe: 2.0.3
-      pkg-types: 1.3.1
-      ufo: 1.5.4
-
-  module-alias@2.2.3: {}
-
-  mqtt-packet@6.10.0:
-    dependencies:
-      bl: 4.1.0
-      debug: 4.3.7
-      process-nextick-args: 2.0.1
-    transitivePeerDependencies:
-      - supports-color
-
-  mqtt@4.1.0:
-    dependencies:
-      base64-js: 1.5.1
-      commist: 1.1.0
-      concat-stream: 1.6.2
-      debug: 4.3.7
-      duplexify: 4.1.3
-      end-of-stream: 1.4.4
-      es6-map: 0.1.5
-      help-me: 1.1.0
-      inherits: 2.0.4
-      minimist: 1.2.8
-      mqtt-packet: 6.10.0
-      pump: 3.0.2
-      readable-stream: 2.3.8
-      reinterval: 1.1.0
-      split2: 3.2.2
-      websocket-stream: 5.5.2
-      xtend: 4.0.2
-    transitivePeerDependencies:
-      - bufferutil
-      - supports-color
-      - utf-8-validate
-
-  ms@2.0.0: {}
-
-  ms@2.1.3: {}
-
-  muggle-string@0.4.1: {}
-
-  mute-stream@0.0.8: {}
-
-  nanoid@3.3.7: {}
-
-  natural-compare@1.4.0: {}
-
-  needle@3.3.1:
-    dependencies:
-      iconv-lite: 0.6.3
-      sax: 1.4.1
-    optional: true
-
-  negotiator@0.6.3: {}
-
-  neo-async@2.6.2: {}
-
-  next-tick@1.1.0: {}
-
-  node-addon-api@7.1.1: {}
-
-  node-fetch@2.7.0:
-    dependencies:
-      whatwg-url: 5.0.0
-
-  node-int64@0.4.0: {}
-
-  node-releases@2.0.18: {}
-
-  normalize-path@3.0.0: {}
-
-  normalize-range@0.1.2: {}
-
-  npm-run-path@4.0.1:
-    dependencies:
-      path-key: 3.1.1
-
-  nwsapi@2.2.13: {}
-
-  object-inspect@1.13.2: {}
-
-  omggif@1.0.10: {}
-
-  on-finished@2.4.1:
-    dependencies:
-      ee-first: 1.1.1
-
-  once@1.4.0:
-    dependencies:
-      wrappy: 1.0.2
-
-  onetime@5.1.2:
-    dependencies:
-      mimic-fn: 2.1.0
-
-  ora@5.4.1:
-    dependencies:
-      bl: 4.1.0
-      chalk: 4.1.2
-      cli-cursor: 3.1.0
-      cli-spinners: 2.9.2
-      is-interactive: 1.0.0
-      is-unicode-supported: 0.1.0
-      log-symbols: 4.1.0
-      strip-ansi: 6.0.1
-      wcwidth: 1.0.1
-
-  ordered-read-streams@1.0.1:
-    dependencies:
-      readable-stream: 2.3.8
-
-  os-locale-s-fix@1.0.8-fix-1:
-    dependencies:
-      lcid: 3.1.1
-
-  os-tmpdir@1.0.2: {}
-
-  p-limit@2.3.0:
-    dependencies:
-      p-try: 2.2.0
-
-  p-locate@4.1.0:
-    dependencies:
-      p-limit: 2.3.0
-
-  p-try@2.2.0: {}
-
-  pako@1.0.11: {}
-
-  parse-bmfont-ascii@1.0.6: {}
-
-  parse-bmfont-binary@1.0.6: {}
-
-  parse-bmfont-xml@1.1.6:
-    dependencies:
-      xml-parse-from-string: 1.0.1
-      xml2js: 0.5.0
-
-  parse-css-font@4.0.0:
-    dependencies:
-      css-font-size-keywords: 1.0.0
-      css-font-stretch-keywords: 1.0.1
-      css-font-style-keywords: 1.0.1
-      css-font-weight-keywords: 1.0.0
-      css-list-helpers: 2.0.0
-      css-system-font-keywords: 1.0.0
-      unquote: 1.1.1
-
-  parse-headers@2.0.5: {}
-
-  parse-json@5.2.0:
-    dependencies:
-      '@babel/code-frame': 7.25.7
-      error-ex: 1.3.2
-      json-parse-even-better-errors: 2.3.1
-      lines-and-columns: 1.2.4
-
-  parse-node-version@1.0.1: {}
-
-  parse5@6.0.1: {}
-
-  parseurl@1.3.3: {}
-
-  path-browserify@1.0.1: {}
-
-  path-dirname@1.0.2: {}
-
-  path-exists@4.0.0: {}
-
-  path-is-absolute@1.0.1: {}
-
-  path-key@3.1.1: {}
-
-  path-parse@1.0.7: {}
-
-  path-to-regexp@0.1.10: {}
-
-  pathe@2.0.3: {}
-
-  phin@2.9.3: {}
-
-  phin@3.7.1:
-    dependencies:
-      centra: 2.7.0
-    transitivePeerDependencies:
-      - debug
-
-  picocolors@1.1.0: {}
-
-  picomatch@2.3.1: {}
-
-  picomatch@4.0.2: {}
-
-  pify@2.3.0: {}
-
-  pify@4.0.1:
-    optional: true
-
-  pinia@2.2.2(typescript@5.6.3)(vue@3.4.21(typescript@5.6.3)):
-    dependencies:
-      '@vue/devtools-api': 6.6.4
-      vue: 3.4.21(typescript@5.6.3)
-      vue-demi: 0.14.10(vue@3.4.21(typescript@5.6.3))
-    optionalDependencies:
-      typescript: 5.6.3
-
-  pirates@4.0.6: {}
-
-  pixelmatch@4.0.2:
-    dependencies:
-      pngjs: 3.4.0
-
-  pkg-dir@4.2.0:
-    dependencies:
-      find-up: 4.1.0
-
-  pkg-types@1.3.1:
-    dependencies:
-      confbox: 0.1.8
-      mlly: 1.7.4
-      pathe: 2.0.3
-
-  pngjs@3.4.0: {}
-
-  postcss-import@14.1.0(postcss@8.4.47):
-    dependencies:
-      postcss: 8.4.47
-      postcss-value-parser: 4.2.0
-      read-cache: 1.0.0
-      resolve: 1.22.8
-
-  postcss-load-config@3.1.4(postcss@8.4.47):
-    dependencies:
-      lilconfig: 2.1.0
-      yaml: 1.10.2
-    optionalDependencies:
-      postcss: 8.4.47
-
-  postcss-modules-extract-imports@3.1.0(postcss@8.4.47):
-    dependencies:
-      postcss: 8.4.47
-
-  postcss-modules-local-by-default@4.0.5(postcss@8.4.47):
-    dependencies:
-      icss-utils: 5.1.0(postcss@8.4.47)
-      postcss: 8.4.47
-      postcss-selector-parser: 6.1.2
-      postcss-value-parser: 4.2.0
-
-  postcss-modules-scope@3.2.0(postcss@8.4.47):
-    dependencies:
-      postcss: 8.4.47
-      postcss-selector-parser: 6.1.2
-
-  postcss-modules-values@4.0.0(postcss@8.4.47):
-    dependencies:
-      icss-utils: 5.1.0(postcss@8.4.47)
-      postcss: 8.4.47
-
-  postcss-modules@4.3.1(postcss@8.4.47):
-    dependencies:
-      generic-names: 4.0.0
-      icss-replace-symbols: 1.1.0
-      lodash.camelcase: 4.3.0
-      postcss: 8.4.47
-      postcss-modules-extract-imports: 3.1.0(postcss@8.4.47)
-      postcss-modules-local-by-default: 4.0.5(postcss@8.4.47)
-      postcss-modules-scope: 3.2.0(postcss@8.4.47)
-      postcss-modules-values: 4.0.0(postcss@8.4.47)
-      string-hash: 1.1.3
-
-  postcss-selector-parser@6.1.2:
-    dependencies:
-      cssesc: 3.0.0
-      util-deprecate: 1.0.2
-
-  postcss-value-parser@4.2.0: {}
-
-  postcss@8.4.47:
-    dependencies:
-      nanoid: 3.3.7
-      picocolors: 1.1.0
-      source-map-js: 1.2.1
-
-  pretty-format@27.5.1:
-    dependencies:
-      ansi-regex: 5.0.1
-      ansi-styles: 5.2.0
-      react-is: 17.0.2
-
-  process-nextick-args@2.0.1: {}
-
-  process@0.11.10: {}
-
-  prompts@2.4.2:
-    dependencies:
-      kleur: 3.0.3
-      sisteransi: 1.0.5
-
-  proxy-addr@2.0.7:
-    dependencies:
-      forwarded: 0.2.0
-      ipaddr.js: 1.9.1
-
-  prr@1.0.1:
-    optional: true
-
-  psl@1.9.0: {}
-
-  pump@2.0.1:
-    dependencies:
-      end-of-stream: 1.4.4
-      once: 1.4.0
-
-  pump@3.0.2:
-    dependencies:
-      end-of-stream: 1.4.4
-      once: 1.4.0
-
-  pumpify@1.5.1:
-    dependencies:
-      duplexify: 3.7.1
-      inherits: 2.0.4
-      pump: 2.0.1
-
-  punycode@2.3.1: {}
-
-  qrcode-reader@1.0.4: {}
-
-  qrcode-terminal@0.12.0: {}
-
-  qs@6.13.0:
-    dependencies:
-      side-channel: 1.0.6
-
-  querystringify@2.2.0: {}
-
-  queue-microtask@1.2.3: {}
-
-  range-parser@1.2.1: {}
-
-  raw-body@2.5.2:
-    dependencies:
-      bytes: 3.1.2
-      http-errors: 2.0.0
-      iconv-lite: 0.4.24
-      unpipe: 1.0.0
-
-  react-is@17.0.2: {}
-
-  read-cache@1.0.0:
-    dependencies:
-      pify: 2.3.0
-
-  readable-stream@2.3.8:
-    dependencies:
-      core-util-is: 1.0.3
-      inherits: 2.0.4
-      isarray: 1.0.0
-      process-nextick-args: 2.0.1
-      safe-buffer: 5.1.2
-      string_decoder: 1.1.1
-      util-deprecate: 1.0.2
-
-  readable-stream@3.6.2:
-    dependencies:
-      inherits: 2.0.4
-      string_decoder: 1.3.0
-      util-deprecate: 1.0.2
-
-  readdirp@3.6.0:
-    dependencies:
-      picomatch: 2.3.1
-
-  readdirp@4.0.2: {}
-
-  regenerate-unicode-properties@10.2.0:
-    dependencies:
-      regenerate: 1.4.2
-
-  regenerate@1.4.2: {}
-
-  regenerator-runtime@0.13.11: {}
-
-  regenerator-runtime@0.14.1: {}
-
-  regenerator-transform@0.15.2:
-    dependencies:
-      '@babel/runtime': 7.25.7
-
-  regexpu-core@6.1.1:
-    dependencies:
-      regenerate: 1.4.2
-      regenerate-unicode-properties: 10.2.0
-      regjsgen: 0.8.0
-      regjsparser: 0.11.1
-      unicode-match-property-ecmascript: 2.0.0
-      unicode-match-property-value-ecmascript: 2.2.0
-
-  regjsgen@0.8.0: {}
-
-  regjsparser@0.11.1:
-    dependencies:
-      jsesc: 3.0.2
-
-  reinterval@1.1.0: {}
-
-  remove-trailing-separator@1.1.0: {}
-
-  require-directory@2.1.1: {}
-
-  requires-port@1.0.0: {}
-
-  resolve-cwd@3.0.0:
-    dependencies:
-      resolve-from: 5.0.0
-
-  resolve-from@5.0.0: {}
-
-  resolve.exports@1.1.1: {}
-
-  resolve@1.22.8:
-    dependencies:
-      is-core-module: 2.15.1
-      path-parse: 1.0.7
-      supports-preserve-symlinks-flag: 1.0.0
-
-  restore-cursor@3.1.0:
-    dependencies:
-      onetime: 5.1.2
-      signal-exit: 3.0.7
-
-  reusify@1.0.4: {}
-
-  rimraf@3.0.2:
-    dependencies:
-      glob: 7.2.3
-
-  rollup@4.24.0:
-    dependencies:
-      '@types/estree': 1.0.6
-    optionalDependencies:
-      '@rollup/rollup-android-arm-eabi': 4.24.0
-      '@rollup/rollup-android-arm64': 4.24.0
-      '@rollup/rollup-darwin-arm64': 4.24.0
-      '@rollup/rollup-darwin-x64': 4.24.0
-      '@rollup/rollup-linux-arm-gnueabihf': 4.24.0
-      '@rollup/rollup-linux-arm-musleabihf': 4.24.0
-      '@rollup/rollup-linux-arm64-gnu': 4.24.0
-      '@rollup/rollup-linux-arm64-musl': 4.24.0
-      '@rollup/rollup-linux-powerpc64le-gnu': 4.24.0
-      '@rollup/rollup-linux-riscv64-gnu': 4.24.0
-      '@rollup/rollup-linux-s390x-gnu': 4.24.0
-      '@rollup/rollup-linux-x64-gnu': 4.24.0
-      '@rollup/rollup-linux-x64-musl': 4.24.0
-      '@rollup/rollup-win32-arm64-msvc': 4.24.0
-      '@rollup/rollup-win32-ia32-msvc': 4.24.0
-      '@rollup/rollup-win32-x64-msvc': 4.24.0
-      fsevents: 2.3.3
-
-  run-async@2.4.1: {}
-
-  run-parallel@1.2.0:
-    dependencies:
-      queue-microtask: 1.2.3
-
-  rxjs@7.8.2:
-    dependencies:
-      tslib: 2.7.0
-
-  safe-area-insets@1.4.1: {}
-
-  safe-buffer@5.1.2: {}
-
-  safe-buffer@5.2.1: {}
-
-  safer-buffer@2.1.2: {}
-
-  sass-loader@16.0.2(sass@1.79.5):
-    dependencies:
-      neo-async: 2.6.2
-    optionalDependencies:
-      sass: 1.79.5
-
-  sass@1.79.5:
-    dependencies:
-      '@parcel/watcher': 2.4.1
-      chokidar: 4.0.1
-      immutable: 4.3.7
-      source-map-js: 1.2.1
-
-  sax@1.4.1: {}
-
-  saxes@5.0.1:
-    dependencies:
-      xmlchars: 2.2.0
-
-  scule@1.3.0: {}
-
-  select@1.1.2: {}
-
-  semver@5.7.2:
-    optional: true
-
-  semver@6.3.1: {}
-
-  semver@7.6.3: {}
-
-  send@0.19.0:
-    dependencies:
-      debug: 2.6.9
-      depd: 2.0.0
-      destroy: 1.2.0
-      encodeurl: 1.0.2
-      escape-html: 1.0.3
-      etag: 1.8.1
-      fresh: 0.5.2
-      http-errors: 2.0.0
-      mime: 1.6.0
-      ms: 2.1.3
-      on-finished: 2.4.1
-      range-parser: 1.2.1
-      statuses: 2.0.1
-    transitivePeerDependencies:
-      - supports-color
-
-  serve-static@1.16.2:
-    dependencies:
-      encodeurl: 2.0.0
-      escape-html: 1.0.3
-      parseurl: 1.3.3
-      send: 0.19.0
-    transitivePeerDependencies:
-      - supports-color
-
-  set-function-length@1.2.2:
-    dependencies:
-      define-data-property: 1.1.4
-      es-errors: 1.3.0
-      function-bind: 1.1.2
-      get-intrinsic: 1.2.4
-      gopd: 1.0.1
-      has-property-descriptors: 1.0.2
-
-  setprototypeof@1.2.0: {}
-
-  shebang-command@2.0.0:
-    dependencies:
-      shebang-regex: 3.0.0
-
-  shebang-regex@3.0.0: {}
-
-  side-channel@1.0.6:
-    dependencies:
-      call-bind: 1.0.7
-      es-errors: 1.3.0
-      get-intrinsic: 1.2.4
-      object-inspect: 1.13.2
-
-  signal-exit@3.0.7: {}
-
-  sisteransi@1.0.5: {}
-
-  slash@3.0.0: {}
-
-  source-map-js@1.2.1: {}
-
-  source-map-support@0.5.21:
-    dependencies:
-      buffer-from: 1.1.2
-      source-map: 0.6.1
-
-  source-map@0.6.1: {}
-
-  source-map@0.7.4: {}
-
-  split2@3.2.2:
-    dependencies:
-      readable-stream: 3.6.2
-
-  sprintf-js@1.0.3: {}
-
-  stack-utils@2.0.6:
-    dependencies:
-      escape-string-regexp: 2.0.0
-
-  statuses@2.0.1: {}
-
-  stream-shift@1.0.3: {}
-
-  string-hash@1.1.3: {}
-
-  string-length@4.0.2:
-    dependencies:
-      char-regex: 1.0.2
-      strip-ansi: 6.0.1
-
-  string-width@4.2.3:
-    dependencies:
-      emoji-regex: 8.0.0
-      is-fullwidth-code-point: 3.0.0
-      strip-ansi: 6.0.1
-
-  string_decoder@1.1.1:
-    dependencies:
-      safe-buffer: 5.1.2
-
-  string_decoder@1.3.0:
-    dependencies:
-      safe-buffer: 5.2.1
-
-  strip-ansi@6.0.1:
-    dependencies:
-      ansi-regex: 5.0.1
-
-  strip-bom@4.0.0: {}
-
-  strip-final-newline@2.0.0: {}
-
-  strip-json-comments@3.1.1: {}
-
-  strip-literal@3.0.0:
-    dependencies:
-      js-tokens: 9.0.1
-
-  supports-color@5.5.0:
-    dependencies:
-      has-flag: 3.0.0
-
-  supports-color@7.2.0:
-    dependencies:
-      has-flag: 4.0.0
-
-  supports-color@8.1.1:
-    dependencies:
-      has-flag: 4.0.0
-
-  supports-hyperlinks@2.3.0:
-    dependencies:
-      has-flag: 4.0.0
-      supports-color: 7.2.0
-
-  supports-preserve-symlinks-flag@1.0.0: {}
-
-  svg-tags@1.0.0: {}
-
-  symbol-tree@3.2.4: {}
-
-  systemjs@6.15.1: {}
-
-  tapable@2.2.1: {}
-
-  terminal-link@2.1.1:
-    dependencies:
-      ansi-escapes: 4.3.2
-      supports-hyperlinks: 2.3.0
-
-  terser@5.34.1:
-    dependencies:
-      '@jridgewell/source-map': 0.3.6
-      acorn: 8.14.1
-      commander: 2.20.3
-      source-map-support: 0.5.21
-
-  test-exclude@6.0.0:
-    dependencies:
-      '@istanbuljs/schema': 0.1.3
-      glob: 7.2.3
-      minimatch: 3.1.2
-
-  throat@6.0.2: {}
-
-  through2-filter@3.0.0:
-    dependencies:
-      through2: 2.0.5
-      xtend: 4.0.2
-
-  through2@2.0.5:
-    dependencies:
-      readable-stream: 2.3.8
-      xtend: 4.0.2
-
-  through@2.3.8: {}
-
-  timm@1.7.1: {}
-
-  tiny-emitter@2.1.0: {}
-
-  tinycolor2@1.6.0: {}
-
-  tmp@0.0.33:
-    dependencies:
-      os-tmpdir: 1.0.2
-
-  tmpl@1.0.5: {}
-
-  to-absolute-glob@2.0.2:
-    dependencies:
-      is-absolute: 1.0.0
-      is-negated-glob: 1.0.0
-
-  to-fast-properties@2.0.0: {}
-
-  to-regex-range@5.0.1:
-    dependencies:
-      is-number: 7.0.0
-
-  toidentifier@1.0.1: {}
-
-  tough-cookie@4.1.4:
-    dependencies:
-      psl: 1.9.0
-      punycode: 2.3.1
-      universalify: 0.2.0
-      url-parse: 1.5.10
-
-  tr46@0.0.3: {}
-
-  tr46@2.1.0:
-    dependencies:
-      punycode: 2.3.1
-
-  tslib@2.7.0: {}
-
-  type-detect@4.0.8: {}
-
-  type-fest@0.21.3: {}
-
-  type-is@1.6.18:
-    dependencies:
-      media-typer: 0.3.0
-      mime-types: 2.1.35
-
-  type@2.7.3: {}
-
-  typedarray-to-buffer@3.1.5:
-    dependencies:
-      is-typedarray: 1.0.0
-
-  typedarray@0.0.6: {}
-
-  typescript@5.6.3: {}
-
-  ufo@1.5.4: {}
-
-  ultron@1.1.1: {}
-
-  unc-path-regex@0.1.2: {}
-
-  undici-types@6.19.8: {}
-
-  unicode-canonical-property-names-ecmascript@2.0.1: {}
-
-  unicode-match-property-ecmascript@2.0.0:
-    dependencies:
-      unicode-canonical-property-names-ecmascript: 2.0.1
-      unicode-property-aliases-ecmascript: 2.1.0
-
-  unicode-match-property-value-ecmascript@2.2.0: {}
-
-  unicode-property-aliases-ecmascript@2.1.0: {}
-
-  unimport@4.1.1:
-    dependencies:
-      acorn: 8.14.0
-      escape-string-regexp: 5.0.0
-      estree-walker: 3.0.3
-      fast-glob: 3.3.3
-      local-pkg: 1.0.0
-      magic-string: 0.30.17
-      mlly: 1.7.4
-      pathe: 2.0.3
-      picomatch: 4.0.2
-      pkg-types: 1.3.1
-      scule: 1.3.0
-      strip-literal: 3.0.0
-      unplugin: 2.3.2
-      unplugin-utils: 0.2.4
-
-  unique-stream@2.3.1:
-    dependencies:
-      json-stable-stringify-without-jsonify: 1.0.1
-      through2-filter: 3.0.0
-
-  universalify@0.2.0: {}
-
-  universalify@2.0.1: {}
-
-  unpipe@1.0.0: {}
-
-  unplugin-auto-import@19.1.0:
-    dependencies:
-      local-pkg: 1.0.0
-      magic-string: 0.30.17
-      picomatch: 4.0.2
-      unimport: 4.1.1
-      unplugin: 2.3.2
-      unplugin-utils: 0.2.4
-
-  unplugin-utils@0.2.4:
-    dependencies:
-      pathe: 2.0.3
-      picomatch: 4.0.2
-
-  unplugin@2.3.2:
-    dependencies:
-      acorn: 8.14.1
-      picomatch: 4.0.2
-      webpack-virtual-modules: 0.6.2
-
-  unquote@1.1.1: {}
-
-  update-browserslist-db@1.1.1(browserslist@4.24.0):
-    dependencies:
-      browserslist: 4.24.0
-      escalade: 3.2.0
-      picocolors: 1.1.0
-
-  url-parse@1.5.10:
-    dependencies:
-      querystringify: 2.2.0
-      requires-port: 1.0.0
-
-  utif@2.0.1:
-    dependencies:
-      pako: 1.0.11
-
-  util-deprecate@1.0.2: {}
-
-  utils-merge@1.0.1: {}
-
-  uview-plus@3.3.36:
-    dependencies:
-      clipboard: 2.0.11
-      dayjs: 1.11.13
-
-  v8-to-istanbul@8.1.1:
-    dependencies:
-      '@types/istanbul-lib-coverage': 2.0.6
-      convert-source-map: 1.9.0
-      source-map: 0.7.4
-
-  vary@1.1.2: {}
-
-  vite@5.2.8(@types/node@22.7.5)(less@4.2.0)(sass@1.79.5)(terser@5.34.1):
-    dependencies:
-      esbuild: 0.20.2
-      postcss: 8.4.47
-      rollup: 4.24.0
-    optionalDependencies:
-      '@types/node': 22.7.5
-      fsevents: 2.3.3
-      less: 4.2.0
-      sass: 1.79.5
-      terser: 5.34.1
-
-  vscode-uri@3.0.8: {}
-
-  vue-demi@0.14.10(vue@3.4.21(typescript@5.6.3)):
-    dependencies:
-      vue: 3.4.21(typescript@5.6.3)
-
-  vue-i18n@9.14.2(vue@3.4.21(typescript@5.6.3)):
-    dependencies:
-      '@intlify/core-base': 9.14.2
-      '@intlify/shared': 9.14.2
-      '@vue/devtools-api': 6.6.4
-      vue: 3.4.21(typescript@5.6.3)
-
-  vue-router@4.4.5(vue@3.4.21(typescript@5.6.3)):
-    dependencies:
-      '@vue/devtools-api': 6.6.4
-      vue: 3.4.21(typescript@5.6.3)
-
-  vue-tsc@2.1.6(typescript@5.6.3):
-    dependencies:
-      '@volar/typescript': 2.4.6
-      '@vue/language-core': 2.1.6(typescript@5.6.3)
-      semver: 7.6.3
-      typescript: 5.6.3
-
-  vue@3.4.21(typescript@5.6.3):
-    dependencies:
-      '@vue/compiler-dom': 3.4.21
-      '@vue/compiler-sfc': 3.4.21
-      '@vue/runtime-dom': 3.4.21
-      '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.6.3))
-      '@vue/shared': 3.4.21
-    optionalDependencies:
-      typescript: 5.6.3
-
-  w3c-hr-time@1.0.2:
-    dependencies:
-      browser-process-hrtime: 1.0.0
-
-  w3c-xmlserializer@2.0.0:
-    dependencies:
-      xml-name-validator: 3.0.0
-
-  walker@1.0.8:
-    dependencies:
-      makeerror: 1.0.12
-
-  wcwidth@1.0.1:
-    dependencies:
-      defaults: 1.0.4
-
-  webidl-conversions@3.0.1: {}
-
-  webidl-conversions@5.0.0: {}
-
-  webidl-conversions@6.1.0: {}
-
-  webpack-virtual-modules@0.6.2: {}
-
-  websocket-stream@5.5.2:
-    dependencies:
-      duplexify: 3.7.1
-      inherits: 2.0.4
-      readable-stream: 2.3.8
-      safe-buffer: 5.2.1
-      ws: 3.3.3
-      xtend: 4.0.2
-    transitivePeerDependencies:
-      - bufferutil
-      - utf-8-validate
-
-  whatwg-encoding@1.0.5:
-    dependencies:
-      iconv-lite: 0.4.24
-
-  whatwg-mimetype@2.3.0: {}
-
-  whatwg-url@5.0.0:
-    dependencies:
-      tr46: 0.0.3
-      webidl-conversions: 3.0.1
-
-  whatwg-url@8.7.0:
-    dependencies:
-      lodash: 4.17.21
-      tr46: 2.1.0
-      webidl-conversions: 6.1.0
-
-  which@2.0.2:
-    dependencies:
-      isexe: 2.0.0
-
-  wrap-ansi@6.2.0:
-    dependencies:
-      ansi-styles: 4.3.0
-      string-width: 4.2.3
-      strip-ansi: 6.0.1
-
-  wrap-ansi@7.0.0:
-    dependencies:
-      ansi-styles: 4.3.0
-      string-width: 4.2.3
-      strip-ansi: 6.0.1
-
-  wrappy@1.0.2: {}
-
-  write-file-atomic@3.0.3:
-    dependencies:
-      imurmurhash: 0.1.4
-      is-typedarray: 1.0.0
-      signal-exit: 3.0.7
-      typedarray-to-buffer: 3.1.5
-
-  ws@3.3.3:
-    dependencies:
-      async-limiter: 1.0.1
-      safe-buffer: 5.1.2
-      ultron: 1.1.1
-
-  ws@7.5.10: {}
-
-  ws@8.18.0: {}
-
-  xhr@2.6.0:
-    dependencies:
-      global: 4.4.0
-      is-function: 1.0.2
-      parse-headers: 2.0.5
-      xtend: 4.0.2
-
-  xml-name-validator@3.0.0: {}
-
-  xml-parse-from-string@1.0.1: {}
-
-  xml2js@0.5.0:
-    dependencies:
-      sax: 1.4.1
-      xmlbuilder: 11.0.1
-
-  xmlbuilder@11.0.1: {}
-
-  xmlchars@2.2.0: {}
-
-  xmlhttprequest@1.8.0: {}
-
-  xregexp@3.1.0: {}
-
-  xtend@4.0.2: {}
-
-  y18n@5.0.8: {}
-
-  yallist@3.1.1: {}
-
-  yaml@1.10.2: {}
-
-  yargs-parser@20.2.9: {}
-
-  yargs@16.2.0:
-    dependencies:
-      cliui: 7.0.4
-      escalade: 3.2.0
-      get-caller-file: 2.0.5
-      require-directory: 2.1.1
-      string-width: 4.2.3
-      y18n: 5.0.8
-      yargs-parser: 20.2.9
diff --git a/src/App.vue b/src/App.vue
deleted file mode 100644
index 462dc67..0000000
--- a/src/App.vue
+++ /dev/null
@@ -1,19 +0,0 @@
-<script>
-
-export default {
-	onLaunch: function () {
-		console.log('App Launch')
-	},
-	onShow: function () {
-		console.log('App Show')
-	},
-	onHide: function () {
-		console.log('App Hide')
-	}
-}
-</script>
-
-<style lang="scss">
-@import "uview-plus/index.scss";
-@import '@/static/scss/index.scss';
-</style>
\ No newline at end of file
diff --git a/src/api/login.js b/src/api/login.js
deleted file mode 100644
index 649f59c..0000000
--- a/src/api/login.js
+++ /dev/null
@@ -1,59 +0,0 @@
-import request from '@/utils/request'
-
-// 鐧诲綍鏂规硶
-export function login(username, password, code, uuid) {
-  const data = {
-    username,
-    password,
-    code,
-    uuid
-  }
-  return request({
-    url: '/login',
-    headers: {
-      isToken: false
-    },
-    method: 'post',
-    data: data
-  })
-}
-
-// 娉ㄥ唽鏂规硶
-export function register(data) {
-  return request({
-    url: '/register',
-    headers: {
-      isToken: false
-    },
-    method: 'post',
-    data: data
-  })
-}
-
-// 鑾峰彇鐢ㄦ埛璇︾粏淇℃伅
-export function getInfo() {
-  return request({
-    url: '/getInfo',
-    method: 'get'
-  })
-}
-
-// 閫�鍑烘柟娉�
-export function logout() {
-  return request({
-    url: '/logout',
-    method: 'post'
-  })
-}
-
-// 鑾峰彇楠岃瘉鐮�
-export function getCodeImg() {
-  return request({
-    url: '/captchaImage',
-    headers: {
-      isToken: false
-    },
-    method: 'get',
-    timeout: 20000
-  })
-}
\ No newline at end of file
diff --git a/src/api/oauth.js b/src/api/oauth.js
deleted file mode 100644
index dbd87b3..0000000
--- a/src/api/oauth.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import request from '@/utils/request'
-/**
- * 寰俊鐧诲綍
- * @param {*} source pub miniapp
- * @param {*} code 
- * @returns 
- */
-export function wxLogin(source,code) {
-    return request({
-        url: `/oauth/wx/login/${source}/${code}`,
-        headers: {
-            isToken: false
-        },
-        method: 'post',
-    })
-}
-/**
- * 寰俊缁戝畾
- * @param {*} source 寰俊缁戝畾
- * @param {*} code 
- * @returns 
- */
-export function wxRegister(source,code) {
-    return request({
-        url: `/oauth/wx/register/${source}/${code}`,
-        headers: {
-            isToken: true
-        },
-        method: 'post',
-    })
-}
\ No newline at end of file
diff --git a/src/api/system/dict/data.js b/src/api/system/dict/data.js
deleted file mode 100644
index 6c9eb79..0000000
--- a/src/api/system/dict/data.js
+++ /dev/null
@@ -1,52 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ瀛楀吀鏁版嵁鍒楄〃
-export function listData(query) {
-  return request({
-    url: '/system/dict/data/list',
-    method: 'get',
-    params: query
-  })
-}
-
-// 鏌ヨ瀛楀吀鏁版嵁璇︾粏
-export function getData(dictCode) {
-  return request({
-    url: '/system/dict/data/' + dictCode,
-    method: 'get'
-  })
-}
-
-// 鏍规嵁瀛楀吀绫诲瀷鏌ヨ瀛楀吀鏁版嵁淇℃伅
-export function getDicts(dictType) {
-  return request({
-    url: '/system/dict/data/type/' + dictType,
-    method: 'get'
-  })
-}
-
-// 鏂板瀛楀吀鏁版嵁
-export function addData(data) {
-  return request({
-    url: '/system/dict/data',
-    method: 'post',
-    data: data
-  })
-}
-
-// 淇敼瀛楀吀鏁版嵁
-export function updateData(data) {
-  return request({
-    url: '/system/dict/data',
-    method: 'put',
-    data: data
-  })
-}
-
-// 鍒犻櫎瀛楀吀鏁版嵁
-export function delData(dictCode) {
-  return request({
-    url: '/system/dict/data/' + dictCode,
-    method: 'delete'
-  })
-}
diff --git a/src/api/system/dict/type.js b/src/api/system/dict/type.js
deleted file mode 100644
index a0254ba..0000000
--- a/src/api/system/dict/type.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import request from '@/utils/request'
-
-// 鏌ヨ瀛楀吀绫诲瀷鍒楄〃
-export function listType(query) {
-  return request({
-    url: '/system/dict/type/list',
-    method: 'get',
-    params: query
-  })
-}
-
-// 鏌ヨ瀛楀吀绫诲瀷璇︾粏
-export function getType(dictId) {
-  return request({
-    url: '/system/dict/type/' + dictId,
-    method: 'get'
-  })
-}
-
-// 鏂板瀛楀吀绫诲瀷
-export function addType(data) {
-  return request({
-    url: '/system/dict/type',
-    method: 'post',
-    data: data
-  })
-}
-
-// 淇敼瀛楀吀绫诲瀷
-export function updateType(data) {
-  return request({
-    url: '/system/dict/type',
-    method: 'put',
-    data: data
-  })
-}
-
-// 鍒犻櫎瀛楀吀绫诲瀷
-export function delType(dictId) {
-  return request({
-    url: '/system/dict/type/' + dictId,
-    method: 'delete'
-  })
-}
-
-// 鍒锋柊瀛楀吀缂撳瓨
-export function refreshCache() {
-  return request({
-    url: '/system/dict/type/refreshCache',
-    method: 'delete'
-  })
-}
-
-// 鑾峰彇瀛楀吀閫夋嫨妗嗗垪琛�
-export function optionselect() {
-  return request({
-    url: '/system/dict/type/optionselect',
-    method: 'get'
-  })
-}
diff --git a/src/api/system/user.js b/src/api/system/user.js
deleted file mode 100644
index d961407..0000000
--- a/src/api/system/user.js
+++ /dev/null
@@ -1,41 +0,0 @@
-import upload from '@/utils/upload'
-import request from '@/utils/request'
-
-// 鐢ㄦ埛瀵嗙爜閲嶇疆
-export function updateUserPwd(oldPassword, newPassword) {
-  const data = {
-    oldPassword,
-    newPassword
-  }
-  return request({
-    url: '/system/user/profile/updatePwd',
-    method: 'put',
-    params: data
-  })
-}
-
-// 鏌ヨ鐢ㄦ埛涓汉淇℃伅
-export function getUserProfile() {
-  return request({
-    url: '/system/user/profile',
-    method: 'get'
-  })
-}
-
-// 淇敼鐢ㄦ埛涓汉淇℃伅
-export function updateUserProfile(data) {
-  return request({
-    url: '/system/user/profile',
-    method: 'put',
-    data: data
-  })
-}
-
-// 鐢ㄦ埛澶村儚涓婁紶
-export function uploadAvatar(data) {
-  return upload({
-    url: '/system/user/profile/avatar',
-    name: data.name,
-    filePath: data.filePath
-  })
-}
diff --git a/src/components/geek-xd/components/geek-certificate/geek-certificate.vue b/src/components/geek-xd/components/geek-certificate/geek-certificate.vue
deleted file mode 100644
index c828df8..0000000
--- a/src/components/geek-xd/components/geek-certificate/geek-certificate.vue
+++ /dev/null
@@ -1,90 +0,0 @@
-<template>
-  <view class="upload">
-    <view class="imagebox">
-      <view class="imageborder">
-        <view class="main">
-          <slot></slot>
-        </view>
-      </view>
-    </view>
-    <view class="text">
-      <text>{{ text }}</text>
-    </view>
-  </view>
-</template>
-
-<script setup>
-import { ref } from 'vue';
-
-const text = ref("")
-</script>
-
-<style scoped lang="scss">
-.upload {
-  height: 400rpx;
-  width: 90%;
-  border-radius: 20rpx;
-  overflow: hidden;
-
-  .imagebox {
-    height: 80%;
-    background-color: #eff8ff;
-    align-items: center;
-    justify-content: center;
-    display: flex;
-
-    .imageborder {
-      border: 5px #319fea solid;
-      position: relative;
-      width: 70%;
-      height: 80%;
-      border-radius: 30rpx;
-
-      &::after {
-        position: absolute;
-        content: ' ';
-        background-color: #eff8ff;
-        height: 80%;
-        width: 120%;
-        top: 10%;
-        left: -10%;
-      }
-
-      &::before {
-        position: absolute;
-        content: ' ';
-        background-color: #eff8ff;
-        top: -10%;
-        left: 10%;
-        height: 120%;
-        width: 80%;
-      }
-
-      .main {
-        position: absolute;
-        background-color: #eff8ff;
-        top: 5%;
-        left: 5%;
-        height: 90%;
-        width: 90%;
-        display: flex;
-        align-items: center;
-        justify-content: center;
-        z-index: 2;
-      }
-    }
-  }
-
-  .text {
-    height: 20%;
-    background-color: #319fea;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-
-    text {
-      color: #ffffff;
-    }
-  }
-}
-</style>
diff --git a/src/components/geek-xd/components/geek-color-picker/geek-color-picker.vue b/src/components/geek-xd/components/geek-color-picker/geek-color-picker.vue
deleted file mode 100644
index 9bd97c3..0000000
--- a/src/components/geek-xd/components/geek-color-picker/geek-color-picker.vue
+++ /dev/null
@@ -1,747 +0,0 @@
-<script setup lang="ts">
-import { ref, reactive, watch, nextTick, getCurrentInstance } from 'vue';
-
-// 绫诲瀷瀹氫箟
-interface RGBAColor {
-	r: number;
-	g: number;
-	b: number;
-	a: number;
-}
-
-interface HSBColor {
-	h: number;
-	s: number;
-	b: number;
-}
-
-interface SitePosition {
-	top: number;
-	left: number;
-}
-
-interface ElementPosition {
-	top: number;
-	left: number;
-	width: number;
-	height: number;
-}
-
-const emit = defineEmits<{
-	(e: 'confirm', data: { rgba: RGBAColor; hex: string }): void;
-}>();
-
-const instance = getCurrentInstance();
-
-const props = defineProps({
-	color: {
-		type: Object as () => RGBAColor,
-		default() {
-			return { r: 0, g: 0, b: 0, a: 0 }
-		}
-	},
-	spareColor: {
-		type: Array as () => RGBAColor[],
-		default() {
-			return []
-		}
-	}
-});
-
-// 鍝嶅簲寮忔暟鎹�
-const show = ref<boolean>(false);
-const active = ref<boolean>(false);
-const rgba = reactive<RGBAColor>({ r: 0, g: 0, b: 0, a: 1 });
-const hsb = reactive<HSBColor>({ h: 0, s: 0, b: 0 });
-const site = reactive<SitePosition[]>([{ top: 0, left: 0 }, { left: 0, top: 0 }, { left: 0, top: 0 }]);
-const index = ref<number>(0);
-const bgcolor = reactive<RGBAColor>({ r: 255, g: 0, b: 0, a: 1 });
-const hex = ref<string>('#000000');
-const mode = ref<boolean>(true);
-const position = ref<ElementPosition[] | null>(null);
-const colorList = ref<RGBAColor[]>([
-	{ r: 244, g: 67, b: 54, a: 1 },
-	{ r: 233, g: 30, b: 99, a: 1 },
-	{ r: 156, g: 39, b: 176, a: 1 },
-	{ r: 103, g: 58, b: 183, a: 1 },
-	{ r: 63, g: 81, b: 181, a: 1 },
-	{ r: 33, g: 150, b: 243, a: 1 },
-	{ r: 3, g: 169, b: 244, a: 1 },
-	{ r: 0, g: 188, b: 212, a: 1 },
-	{ r: 0, g: 150, b: 136, a: 1 },
-	{ r: 76, g: 175, b: 80, a: 1 },
-	{ r: 139, g: 195, b: 74, a: 1 },
-	{ r: 205, g: 220, b: 57, a: 1 },
-	{ r: 255, g: 235, b: 59, a: 1 },
-	{ r: 255, g: 193, b: 7, a: 1 },
-	{ r: 255, g: 152, b: 0, a: 1 },
-	{ r: 255, g: 87, b: 34, a: 1 },
-	{ r: 121, g: 85, b: 72, a: 1 },
-	{ r: 158, g: 158, b: 158, a: 1 },
-	{ r: 0, g: 0, b: 0, a: 0.5 },
-	{ r: 0, g: 0, b: 0, a: 0 },
-]);
-
-// 鍒濆鍖栵紙鏇夸唬 created 閽╁瓙锛�
-Object.assign(rgba, props.color);
-if (props.spareColor.length !== 0) {
-	colorList.value = props.spareColor;
-}
-
-/**
- * 鍒濆鍖�
- */
-const init = (): void => {
-	// hsb 棰滆壊
-	Object.assign(hsb, rgbToHsb(rgba));
-	setValue(rgba);
-};
-
-const moveHandle = (): void => { };
-
-const open = (): void => {
-	show.value = true;
-	nextTick(() => {
-		init();
-		setTimeout(() => {
-			active.value = true;
-			setTimeout(() => {
-				getSelectorQuery();
-			}, 350)
-		}, 50)
-	})
-};
-
-const close = (): void => {
-	active.value = false;
-	nextTick(() => {
-		setTimeout(() => {
-			show.value = false;
-		}, 500)
-	})
-};
-
-const confirm = (): void => {
-	close();
-	emit('confirm', {
-		rgba: rgba,
-		hex: hex.value
-	})
-};
-
-// 閫夋嫨妯″紡
-const select = (): void => {
-	mode.value = !mode.value
-};
-
-// 甯哥敤棰滆壊閫夋嫨
-const selectColor = (item: RGBAColor): void => {
-	setColorBySelect(item)
-};
-
-const touchstart = (e: TouchEvent, idx: number): void => {
-	const { pageX, pageY, clientX, clientY } = e.touches[0];
-	setPosition(clientX, clientY, idx);
-};
-
-const touchmove = (e: TouchEvent, idx: number): void => {
-	const { pageX, pageY, clientX, clientY } = e.touches[0];
-	setPosition(clientX, clientY, idx);
-};
-
-const touchend = (e: TouchEvent, idx: number): void => {
-	// 鍘熶唬鐮佷负绌哄疄鐜�
-};
-
-/**
- * 璁剧疆浣嶇疆
- */
-const setPosition = (x: number, y: number, idx: number): void => {
-	index.value = idx;
-	if (!position.value || !position.value[idx]) return;
-
-	const {
-		top,
-		left,
-		width,
-		height
-	} = position.value[idx];
-	// 璁剧疆鏈�澶ф渶灏忓��
-
-	site[idx].left = Math.max(0, Math.min(parseInt(String(x - left)), width));
-	if (idx === 0) {
-		site[idx].top = Math.max(0, Math.min(parseInt(String(y - top)), height));
-		// 璁剧疆棰滆壊
-		hsb.s = parseInt(String((100 * site[idx].left) / width));
-		hsb.b = parseInt(String(100 - (100 * (site[idx].top as number)) / height));
-		setColor();
-		setValue(rgba);
-	} else {
-		setControl(idx, site[idx].left);
-	}
-};
-
-/**
- * 璁剧疆 rgb 棰滆壊
- */
-const setColor = (): void => {
-	const rgb = HSBToRGB(hsb);
-	rgba.r = rgb.r;
-	rgba.g = rgb.g;
-	rgba.b = rgb.b;
-};
-
-/**
- * 璁剧疆浜岃繘鍒堕鑹�
- * @param {RGBAColor} rgb
- */
-const setValue = (rgb: RGBAColor): void => {
-	hex.value = '#' + rgbToHex(rgb);
-};
-
-const setControl = (idx: number, x: number): void => {
-	if (!position.value || !position.value[idx]) return;
-
-	const {
-		width
-	} = position.value[idx];
-
-	if (idx === 1) {
-		hsb.h = parseInt(String((360 * x) / width));
-		const newRgb = HSBToRGB({
-			h: hsb.h,
-			s: 100,
-			b: 100
-		});
-		bgcolor.r = newRgb.r;
-		bgcolor.g = newRgb.g;
-		bgcolor.b = newRgb.b;
-		setColor();
-	} else {
-		rgba.a = parseFloat((x / width).toFixed(1));
-	}
-	setValue(rgba);
-};
-
-/**
- * rgb 杞� 浜岃繘鍒� hex
- * @param {RGBAColor} rgb
- * @returns {string} 鍗佸叚杩涘埗棰滆壊瀛楃涓诧紙涓嶅惈#锛�
- */
-const rgbToHex = (rgb: RGBAColor): string => {
-	let hex = [rgb.r.toString(16), rgb.g.toString(16), rgb.b.toString(16)];
-	hex.map(function (str, i) {
-		if (str.length == 1) {
-			hex[i] = '0' + str;
-		}
-	});
-	return hex.join('');
-};
-
-const setColorBySelect = (getrgb: RGBAColor): void => {
-	const {
-		r,
-		g,
-		b,
-		a
-	} = getrgb;
-
-	rgba.r = r ? parseInt(String(r)) : 0;
-	rgba.g = g ? parseInt(String(g)) : 0;
-	rgba.b = b ? parseInt(String(b)) : 0;
-	rgba.a = a ? a : 0;
-
-	Object.assign(hsb, rgbToHsb(rgba));
-	changeViewByHsb();
-};
-
-const changeViewByHsb = (): void => {
-	if (!position.value || position.value.length < 3) return;
-
-	const [a, b, c] = position.value;
-	site[0].left = parseInt(String(hsb.s * a.width / 100));
-	site[0].top = parseInt(String((100 - hsb.b) * a.height / 100));
-	setColor();
-	setValue(rgba);
-
-	const newRgb = HSBToRGB({
-		h: hsb.h,
-		s: 100,
-		b: 100
-	});
-	bgcolor.r = newRgb.r;
-	bgcolor.g = newRgb.g;
-	bgcolor.b = newRgb.b;
-
-	site[1].left = hsb.h / 360 * b.width;
-	site[2].left = rgba.a * c.width;
-};
-
-/**
- * hsb 杞� rgb
- * @param {HSBColor} hsb 棰滆壊妯″紡  H(hues)琛ㄧず鑹茬浉锛孲(saturation)琛ㄧず楗卞拰搴︼紝B锛坆rightness锛夎〃绀轰寒搴�
- * @returns {RGBAColor} RGB棰滆壊瀵硅薄
- */
-const HSBToRGB = (hsb: HSBColor): RGBAColor => {
-	let rgb: { r: number; g: number; b: number } = { r: 0, g: 0, b: 0 };
-	let h = Math.round(hsb.h);
-	let s = Math.round((hsb.s * 255) / 100);
-	let v = Math.round((hsb.b * 255) / 100);
-	if (s == 0) {
-		rgb.r = rgb.g = rgb.b = v;
-	} else {
-		let t1 = v;
-		let t2 = ((255 - s) * v) / 255;
-		let t3 = ((t1 - t2) * (h % 60)) / 60;
-		if (h == 360) h = 0;
-		if (h < 60) {
-			rgb.r = t1;
-			rgb.b = t2;
-			rgb.g = t2 + t3;
-		} else if (h < 120) {
-			rgb.g = t1;
-			rgb.b = t2;
-			rgb.r = t1 - t3;
-		} else if (h < 180) {
-			rgb.g = t1;
-			rgb.r = t2;
-			rgb.b = t2 + t3;
-		} else if (h < 240) {
-			rgb.b = t1;
-			rgb.r = t2;
-			rgb.g = t1 - t3;
-		} else if (h < 300) {
-			rgb.b = t1;
-			rgb.g = t2;
-			rgb.r = t2 + t3;
-		} else if (h < 360) {
-			rgb.r = t1;
-			rgb.g = t2;
-			rgb.b = t1 - t3;
-		} else {
-			rgb.r = 0;
-			rgb.g = 0;
-			rgb.b = 0;
-		}
-	}
-	return {
-		r: Math.round(rgb.r),
-		g: Math.round(rgb.g),
-		b: Math.round(rgb.b),
-		a: 1
-	};
-};
-
-/**
- * rgb杞琱sb
- * @param {RGBAColor} rgb RGB棰滆壊瀵硅薄
- * @returns {HSBColor} HSB棰滆壊瀵硅薄
- */
-const rgbToHsb = (rgb: RGBAColor): HSBColor => {
-	let hsb = {
-		h: 0,
-		s: 0,
-		b: 0
-	};
-	let min = Math.min(rgb.r, rgb.g, rgb.b);
-	let max = Math.max(rgb.r, rgb.g, rgb.b);
-	let delta = max - min;
-	hsb.b = max;
-	hsb.s = max != 0 ? 255 * delta / max : 0;
-	if (hsb.s != 0) {
-		if (rgb.r == max) hsb.h = (rgb.g - rgb.b) / delta;
-		else if (rgb.g == max) hsb.h = 2 + (rgb.b - rgb.r) / delta;
-		else hsb.h = 4 + (rgb.r - rgb.g) / delta;
-	} else hsb.h = -1;
-	hsb.h *= 60;
-	if (hsb.h < 0) hsb.h = 0;
-	hsb.s *= 100 / 255;
-	hsb.b *= 100 / 255;
-	return hsb;
-};
-
-const getSelectorQuery = (): void => {
-	const views = uni.createSelectorQuery().in(instance!.proxy);
-	views.selectAll('.boxs')
-		.boundingClientRect(data => {
-			if (Array.isArray(data) ? data.length === 0 : !data) {
-				setTimeout(() => getSelectorQuery(), 20)
-				return
-			}
-			position.value = data as unknown as ElementPosition[];
-			setColorBySelect(rgba);
-		})
-		.exec();
-};
-
-// 鐩戝惉 props
-watch(() => props.spareColor, (newVal) => {
-	colorList.value = newVal;
-});
-
-// 鏆撮湶缁勪欢鏂规硶渚涚埗缁勪欢璋冪敤
-defineExpose({
-	open,
-	close,
-	confirm
-});
-</script>
-<template>
-	<view v-show="show" class="t-wrapper" @touchmove.stop.prevent="moveHandle">
-		<view class="t-mask" :class="{ active: active }" @click.stop="close"></view>
-		<view class="t-box" :class="{ active: active }">
-			<view class="t-header">
-				<view class="t-header-button" @click="close">鍙栨秷</view>
-				<view class="t-header-button confrim" @click="confirm">纭</view>
-			</view>
-			<view class="t-color__box"
-				:style="{ background: 'rgb(' + bgcolor.r + ',' + bgcolor.g + ',' + bgcolor.b + ')' }">
-				<view class="t-background boxs" @touchstart="touchstart($event, 0)" @touchmove="touchmove($event, 0)"
-					@touchend="touchend($event, 0)">
-					<view class="t-color-mask"></view>
-					<view class="t-pointer" :style="{
-						top: site[0].top - 8 + 'px',
-						left: site[0].left - 8 + 'px'
-					}">
-					</view>
-				</view>
-			</view>
-			<view class="t-control__box">
-				<view class="t-control__color">
-					<view class="t-control__color-content"
-						:style="{ background: 'rgba(' + rgba.r + ',' + rgba.g + ',' + rgba.b + ',' + rgba.a + ')' }">
-					</view>
-				</view>
-				<view class="t-control-box__item">
-					<view class="t-controller boxs" @touchstart="touchstart($event, 1)"
-						@touchmove="touchmove($event, 1)" @touchend="touchend($event, 1)">
-						<view class="t-hue">
-							<view class="t-circle" :style="{ left: site[1].left - 12 + 'px' }"></view>
-						</view>
-					</view>
-					<view class="t-controller boxs" @touchstart="touchstart($event, 2)"
-						@touchmove="touchmove($event, 2)" @touchend="touchend($event, 2)">
-						<view class="t-transparency">
-							<view class="t-circle" :style="{ left: site[2].left - 12 + 'px' }"></view>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="t-result__box">
-				<view v-if="mode" class="t-result__item">
-					<view class="t-result__box-input">{{ hex }}</view>
-					<view class="t-result__box-text">HEX</view>
-				</view>
-				<template v-else>
-					<view class="t-result__item">
-						<view class="t-result__box-input">{{ rgba.r }}</view>
-						<view class="t-result__box-text">R</view>
-					</view>
-					<view class="t-result__item">
-						<view class="t-result__box-input">{{ rgba.g }}</view>
-						<view class="t-result__box-text">G</view>
-					</view>
-					<view class="t-result__item">
-						<view class="t-result__box-input">{{ rgba.b }}</view>
-						<view class="t-result__box-text">B</view>
-					</view>
-					<view class="t-result__item">
-						<view class="t-result__box-input">{{ rgba.a }}</view>
-						<view class="t-result__box-text">A</view>
-					</view>
-				</template>
-
-				<view class="t-result__item t-select" @click="select">
-					<view class="t-result__box-input">
-						<view>鍒囨崲</view>
-						<view>妯″紡</view>
-					</view>
-				</view>
-			</view>
-			<view class="t-alternative">
-				<view class="t-alternative__item" v-for="(item, index) in colorList" :key="index">
-					<view class="t-alternative__item-content"
-						:style="{ background: 'rgba(' + item.r + ',' + item.g + ',' + item.b + ',' + item.a + ')' }"
-						@click="selectColor(item)">
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-<style lang="scss" scoped>
-.t-wrapper {
-	position: fixed;
-	top: 0;
-	bottom: 0;
-	left: 0;
-	width: 100%;
-	box-sizing: border-box;
-	z-index: 9999;
-}
-
-.t-box {
-	width: 100%;
-	position: absolute;
-	bottom: 0;
-	padding: 30upx 0;
-	padding-top: 0;
-	background: #fff;
-	transition: all 0.3s;
-	transform: translateY(100%);
-
-	&.active {
-		transform: translateY(0%);
-	}
-}
-
-.t-header {
-	display: flex;
-	justify-content: space-between;
-	width: 100%;
-	height: 100upx;
-	border-bottom: 1px #eee solid;
-	box-shadow: 1px 0 2px rgba(0, 0, 0, 0.1);
-	background: #fff;
-}
-
-.t-header-button {
-	display: flex;
-	align-items: center;
-	width: 150upx;
-	height: 100upx;
-	font-size: 30upx;
-	color: #666;
-	padding-left: 20upx;
-
-	&:last-child {
-		justify-content: flex-end;
-		padding-right: 20upx;
-	}
-
-	&.confrim {
-		color: #007AFF;
-	}
-}
-
-.t-mask {
-	position: absolute;
-	top: 0;
-	left: 0;
-	right: 0;
-	bottom: 0;
-	background: rgba(0, 0, 0, 0.6);
-	z-index: -1;
-	transition: all 0.3s;
-	opacity: 0;
-
-	&.active {
-		opacity: 1;
-	}
-}
-
-// 閬垮厤浣跨敤 &__box 鍐欐硶锛屾敼涓哄畬鏁寸被鍚�
-.t-color__box {
-	position: relative;
-	height: 400upx;
-	background: rgb(255, 0, 0);
-	overflow: hidden;
-	box-sizing: border-box;
-	margin: 0 20upx;
-	margin-top: 20upx;
-	box-sizing: border-box;
-}
-
-.t-color-mask {
-	position: absolute;
-	top: 0;
-	left: 0;
-	right: 0;
-	bottom: 0;
-	width: 100%;
-	height: 400upx;
-	background: linear-gradient(to top, #000, rgba(0, 0, 0, 0));
-}
-
-.t-background {
-	position: absolute;
-	top: 0;
-	left: 0;
-	right: 0;
-	bottom: 0;
-	background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0));
-}
-
-.t-pointer {
-	position: absolute;
-	bottom: -8px;
-	left: -8px;
-	z-index: 2;
-	width: 15px;
-	height: 15px;
-	border: 1px #fff solid;
-	border-radius: 50%;
-}
-
-.t-show-color {
-	width: 100upx;
-	height: 50upx;
-}
-
-// 閬垮厤浣跨敤宓屽鏂瑰紡锛屼娇鐢ㄥ畬鏁寸被鍚�
-.t-control__box {
-	margin-top: 50upx;
-	width: 100%;
-	display: flex;
-	padding-left: 20upx;
-	box-sizing: border-box;
-}
-
-.t-control__color {
-	flex-shrink: 0;
-	width: 100upx;
-	height: 100upx;
-	border-radius: 50%;
-	background-color: #fff;
-	background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee),
-		linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee);
-	background-size: 36upx 36upx;
-	background-position: 0 0, 18upx 18upx;
-	border: 1px #eee solid;
-	overflow: hidden;
-}
-
-.t-control__color-content {
-	width: 100%;
-	height: 100%;
-}
-
-.t-control-box__item {
-	display: flex;
-	flex-direction: column;
-	justify-content: space-between;
-	width: 100%;
-	padding: 0 30upx;
-}
-
-.t-controller {
-	position: relative;
-	width: 100%;
-	height: 16px;
-	background-color: #fff;
-	background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee),
-		linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee);
-	background-size: 32upx 32upx;
-	background-position: 0 0, 16upx 16upx;
-}
-
-.t-hue {
-	width: 100%;
-	height: 100%;
-	background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);
-}
-
-.t-transparency {
-	width: 100%;
-	height: 100%;
-	background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0));
-}
-
-.t-circle {
-	position: absolute;
-	top: -2px;
-	width: 20px;
-	height: 20px;
-	box-sizing: border-box;
-	border-radius: 50%;
-	background: #fff;
-	box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.1);
-}
-
-// 浣跨敤瀹屾暣鐨勭被鍚嶈�屼笉鏄祵濂�
-.t-result__box {
-	margin-top: 20upx;
-	padding: 10upx;
-	width: 100%;
-	display: flex;
-	box-sizing: border-box;
-}
-
-.t-result__item {
-	display: flex;
-	flex-direction: column;
-	align-items: center;
-	justify-content: center;
-	padding: 10upx;
-	width: 100%;
-	box-sizing: border-box;
-}
-
-.t-result__box-input {
-	padding: 10upx 0;
-	width: 100%;
-	font-size: 28upx;
-	box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);
-	color: #999;
-	text-align: center;
-	background: #fff;
-}
-
-.t-result__box-text {
-	margin-top: 10upx;
-	font-size: 28upx;
-	line-height: 2;
-}
-
-.t-select {
-	flex-shrink: 0;
-	width: 150upx;
-	padding: 0 30upx;
-
-	.t-result__box-input {
-		border-radius: 10upx;
-		border: none;
-		color: #999;
-		box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.1);
-		background: #fff;
-
-		&:active {
-			box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.1);
-		}
-	}
-}
-
-.t-alternative {
-	display: flex;
-	flex-wrap: wrap;
-	width: 100%;
-	padding-right: 10upx;
-	box-sizing: border-box;
-}
-
-.t-alternative__item {
-	margin-left: 12upx;
-	margin-top: 10upx;
-	width: 50upx;
-	height: 50upx;
-	border-radius: 10upx;
-	background-color: #fff;
-	background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee),
-		linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee);
-	background-size: 36upx 36upx;
-	background-position: 0 0, 18upx 18upx;
-	border: 1px #eee solid;
-	overflow: hidden;
-
-	&:active {
-		transition: all 0.3s;
-		transform: scale(1.1);
-	}
-}
-
-.t-alternative__item-content {
-	width: 50upx;
-	height: 50upx;
-	background: rgba(255, 0, 0, 0.5);
-}
-</style>
diff --git a/src/components/geek-xd/components/geek-commodity/geek-commodity.vue b/src/components/geek-xd/components/geek-commodity/geek-commodity.vue
deleted file mode 100644
index 665e543..0000000
--- a/src/components/geek-xd/components/geek-commodity/geek-commodity.vue
+++ /dev/null
@@ -1,125 +0,0 @@
-<script setup>
-const props = defineProps({
-    img: {
-        type: String,
-        default: ''
-    },
-    title: {
-        type: String,
-        default: ''
-    },
-    subTitle: {
-        type: String,
-        default: ''
-    },
-    price: {
-        type: Number,
-        default: 0
-    },
-    type: {
-        type: String,
-        default: 'line' // line, rect
-    }
-})
-</script>
-<template>
-    <view class="card" :class="type" @click="$emit('click')">
-        <image class="img" :src="img" />
-        <view class="content">
-            <view class="title">{{ title }}</view>
-            <view class="subTitle">{{ subTitle }}</view>
-            <view class="price">锟{ price }}</view>
-        </view>
-    </view>
-</template>
-<style lang="scss" scoped>
-.card {
-    padding: 0;
-    border-radius: 10px;
-    background-color: #ffffff;
-    width: 700rpx;
-    padding: 20rpx;
-    margin: 10rpx;
-    position: relative;
-
-    .img {
-        height: 200rpx;
-        width: 200rpx;
-    }
-}
-
-.line {
-    display: flex;
-
-    .content {
-        height: 200rpx;
-        padding-left: 20rpx;
-
-        .title {
-            width: 400rpx;
-            font-size: 35rpx;
-        }
-
-        .subTitle {
-            width: 400rpx;
-            height: 90rpx;
-            margin-top: 10rpx;
-            font-size: 20rpx;
-            color: rgb(87, 87, 87);
-            line-height: 30rpx;
-            display: -webkit-box;
-            -webkit-box-orient: vertical;
-            -webkit-line-clamp: 3;
-            overflow: hidden;
-            text-overflow: ellipsis;
-        }
-
-        .price {
-            font-size: 40rpx;
-            color: red;
-            width: 400rpx;
-        }
-    }
-}
-
-.rect {
-    border-radius: 10px;
-    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
-    width: 350rpx;
-    padding: 0;
-    margin: 10rpx;
-    display: inline-block;
-
-    .img {
-        border-radius: 10px 10px 0 0;
-        height: 350rpx;
-        width: 350rpx;
-    }
-
-    .content {
-        padding: 0 20rpx;
-        margin: 0;
-        width: 100%;
-        display: flex;
-        flex-direction: column;
-        justify-content: space-between;
-
-        .title {
-            width: 330rpx;
-            font-size: 25rpx;
-        }
-
-        .subTitle {
-            width: 330rpx;
-            font-size: 20rpx;
-            color: rgb(87, 87, 87);
-        }
-
-        .price {
-            font-size: 30rpx;
-            color: red;
-            width: 100%;
-        }
-    }
-}
-</style>
\ No newline at end of file
diff --git a/src/components/geek-xd/components/geek-menu/geek-menu.vue b/src/components/geek-xd/components/geek-menu/geek-menu.vue
deleted file mode 100644
index 55976e9..0000000
--- a/src/components/geek-xd/components/geek-menu/geek-menu.vue
+++ /dev/null
@@ -1,74 +0,0 @@
-<script setup>
-import { computed } from 'vue';
-
-const props = defineProps({
-    icon: {
-        type: String,
-        default: ''
-    },
-    size: {
-        type: Number,
-        default: 80
-    },
-    label: {
-        type: String,
-        default: "鑿滃崟"
-    },
-    labelColor: {
-        type: String,
-        default: '#515151'
-    },
-    type: {
-        type: String,
-        default: 'circle'
-    }
-})
-const menuStyle = computed(() => {
-    return {
-        width: `${props.size + 40}rpx`,
-        height: `${props.size + 40}rpx`
-    }
-})
-const titleStype = computed(() => {
-    return {
-        width: `${props.size + 40}rpx`,
-        color: props.labelColor
-    }
-})
-</script>
-<template>
-    <view>
-        <view class="menu" :class="type" :style="menuStyle" @click="$emit('click')">
-            <image :src="icon" style="width: 100%;height: 100%"></image>
-        </view>
-        <view class="title" :style="titleStype">{{ label }}</view>
-    </view>
-</template>
-<style lang="scss" scoped>
-.menu {
-    padding: 20rpx;
-}
-
-.circle {
-    padding: 20rpx;
-    border-radius: 100%;
-    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
-
-    &:active {
-        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);
-    }
-}
-
-.rect {
-    padding: 15rpx;
-    margin-bottom: -15rpx;
-
-    &:active {
-        opacity: 0.5;
-    }
-}
-
-.title {
-    text-align: center;
-}
-</style>
\ No newline at end of file
diff --git a/src/components/geek-xd/components/geek-order/geek-order.vue b/src/components/geek-xd/components/geek-order/geek-order.vue
deleted file mode 100644
index 5eb6aad..0000000
--- a/src/components/geek-xd/components/geek-order/geek-order.vue
+++ /dev/null
@@ -1,220 +0,0 @@
-<template>
-    <view class="geek-card" @click="$emit('click')">
-        <view class="geek-header">
-            <view class="geek-shop">{{ shop }} > </view>
-            <view class="geek-status">{{ status }}</view>
-        </view>
-        <view class="geek-content">
-            <image class="geek-img" :src="img"></image>
-            <view class="geek-label">{{ label }}</view>
-            <view class="geek-sum">
-                <view class="geek-price">
-                    <view class="geek-sum-1">锟{ number.integerPart }}</view>
-                    <view class="geek-sum-2">. {{ number.decimalPart }}</view>
-                </view>
-                <view class="geek-sum-3">鍏� {{ num }} 浠�</view>
-            </view>
-        </view>
-        <view class="geek-footer">
-            <view class="geek-more" @click="$emit('more')">鏇村</view>
-            <view class="geek-buttonGroup">
-                <view class="geek-btn" @click="$emit('sell')">鍗栦簡鎹㈤挶</view>
-                <view class="geek-btn" @click="$emit('return')">閫�鎹�/鍞悗</view>
-                <view class="geek-buy" @click="$emit('again')">鍐嶆璐拱</view>
-            </view>
-        </view>
-    </view>
-</template>
-<script setup>
-import { computed } from 'vue';
-
-const props = defineProps({
-    shop: {
-        type: String,
-        default: ''
-    },
-    status: {
-        type: String,
-        default: ''
-    },
-    img: {
-        type: String,
-        default: ''
-    },
-    label: {
-        type: String,
-        default: ''
-    },
-    price: {
-        type: Number,
-        default: 0
-    },
-    num: {
-        type: Number,
-        default: 0
-    },
-    type: {
-        type: String,
-        default: 'line'
-    }
-})
-
-const number = computed(() => {
-    return formatNumber(props.price, 2)
-})
-
-function formatNumber(num, place) {
-
-    let fixedNum = Number(num).toFixed(place); // 灏嗘暟瀛椾繚鐣欎袱浣嶅皬鏁�
-    let parts = fixedNum.split('.'); // 鎷嗗垎鏁存暟閮ㄥ垎鍜屽皬鏁伴儴鍒�
-    let integerPart = parts[0]; // 鏁存暟閮ㄥ垎
-    let decimalPart = parts[1]; // 灏忔暟閮ㄥ垎
-
-    // 浣跨敤padStart鏂规硶琛�0鍒板皬鏁伴儴鍒�
-    decimalPart = decimalPart.padStart(place, '0');
-
-    return {
-        integerPart, decimalPart
-    }
-}
-</script>
-<style lang="scss" scoped>
-.geek-card {
-    display: flex;
-    flex-direction: column;
-    justify-content: space-between;
-    position: relative;
-    padding: 20rpx;
-    background-color: white;
-    border-radius: 20rpx;
-    height: 360rpx;
-    width: 700rpx;
-    margin: 25rpx;
-
-    .geek-header {
-        display: flex;
-        justify-content: space-between;
-        height: 60rpx;
-        width: 100%;
-        margin-bottom: 6rpx;
-
-        .geek-shop {
-            font-size: 28rpx;
-            font-weight: 600;
-        }
-
-        .geek-status {
-            width: 100rpx;
-            text-align: center;
-            opacity: 0.5;
-            font-size: 25rpx;
-            text-align: end;
-        }
-
-    }
-
-    .geek-content {
-        position: relative;
-        height: auto;
-        width: 664rpx;
-
-        .geek-img {
-            border-radius: 30rpx;
-            height: 170rpx;
-            width: 170rpx;
-            display: inline-block;
-        }
-
-        .geek-label {
-            position: absolute;
-            top: 40rpx;
-            left: 178rpx;
-
-            width: 350rpx;
-
-            display: -webkit-box;
-            -webkit-line-clamp: 2;
-            -webkit-box-orient: vertical;
-            overflow: hidden;
-            text-overflow: ellipsis;
-        }
-
-        .geek-sum {
-            position: absolute;
-            top: 44rpx;
-            right: 20rpx;
-
-            width: 150rpx;
-            height: 84rpx;
-
-            .geek-price {
-                display: flex;
-                justify-content: flex-end;
-                font-weight: bold;
-
-                .geek-sum-1 {
-                    font-size: 32rpx;
-                }
-
-                .geek-sum-2 {
-                    padding-top: 20rpx;
-                    font-size: 20rpx;
-                }
-            }
-
-
-            .geek-sum-3 {
-                font-size: 20rpx;
-                text-align: end;
-            }
-        }
-    }
-
-    .geek-footer {
-        display: flex;
-        justify-content: space-between;
-        height: 60rpx;
-        width: 100%;
-        font-size: 25rpx;
-
-        .geek-more {
-            height: 60rpx;
-            margin-right: 110rpx;
-            text-align: center;
-            line-height: 60rpx;
-            display: inline-block;
-        }
-
-        .geek-buttonGroup {
-            height: 60rpx;
-            display: inline-block;
-
-            .geek-btn {
-                border: 1rpx solid #E9E9E9;
-                width: 140rpx;
-                height: 60rpx;
-                border-radius: 80rpx;
-                opacity: 0.8;
-                padding: 10rpx;
-                margin-right: 10rpx;
-                text-align: center;
-                display: inline-block;
-
-            }
-
-            .geek-buy {
-                width: 140rpx;
-                height: 60rpx;
-                border-radius: 80rpx;
-                opacity: 0.8;
-                padding: 10rpx;
-                text-align: center;
-                display: inline-block;
-                color: #F25E53;
-                border: 1rpx solid #F4DADA;
-            }
-        }
-    }
-
-}
-</style>
\ No newline at end of file
diff --git a/src/components/geek-xd/components/geek-qrcode/README.md b/src/components/geek-xd/components/geek-qrcode/README.md
deleted file mode 100644
index 4a2ce84..0000000
--- a/src/components/geek-xd/components/geek-qrcode/README.md
+++ /dev/null
@@ -1,90 +0,0 @@
-# uni-app 浜岀淮鐮佺敓鎴愬櫒
-
-鏀硅嚜浣滆�呰瘲灏忔煉鐨則ki-qrcode浜岀淮鐮佺敓鎴愬櫒
-
-### 浣滆�咃細钁g帀鍙�
-
-1. H5銆佸井淇″皬绋嬪簭銆佹敮浠樺疂灏忕▼搴忋�丄PP锛屽叾瀹冨钩鍙扮殑灏忕▼搴忔病鏈夋祴璇�
-2. 浣跨敤canvas鐢熸垚
-3. 鍙缃簩缁寸爜鑳屾櫙鑹诧紝鍓嶆櫙鑹诧紝瑙掓爣鑹�
-4. 鍙缃簩缁寸爜logo
-
-## 閲嶈鐨勪簨鎯呰3閬� 閲嶈鐨勪簨鎯呰3閬� 閲嶈鐨勪簨鎯呰3閬�
-
-1. IOS銆丄ndroid鐪熸満閮藉彲浠ユ甯哥敓鎴愪簩缁寸爜
-2. 浣跨敤鐨勬椂鍊欏嚭鐜版棤娉曠敓鎴愪簩缁寸爜鎴栫┖鐧界殑璇峰厛github鐩存帴鎵撳寘涓嬭浇锛岄棶棰樹緷鏃э紝璇穏ithub涓婄洿鎺ユ彁鍑洪棶棰樺苟閰嶅浘
-3. 鏈夐棶棰樿璇存槑闂鍘熷洜锛岃繖鏍锋垜鎵嶅ソ瀹氫綅锛屽惁鍒欐垜涔熸棤娉曡В鍐�
-4. 濡傛灉姝ゆ彃浠舵湁甯姪鍒颁綘璇锋墦5鍒嗘垨璧炶祻鎴戯紝浣犵殑鏀寔鏄垜鏇存柊鐨勫姩鍔�
-
-+ 鍥剧墖1 鏄井淇″皬绋嬪簭鐪熸満瀹炴祴
-+ 鍥剧墖2 鏄井淇″皬绋嬪簭妯℃嫙瀹炴祴
-+ 鍥剧墖3 鏄敮浠樺疂灏忕▼搴忔ā鎷熷櫒瀹炴祴
-+ 鍥剧墖4 鏄畨鍗撶湡鏈哄疄娴�
-+ 鍥剧墖5 H5
-
-### 浣跨敤鏂规硶
-
-鍦� `template` 涓娇鐢�
-
-```javascript
-<view class="qrimg">
-    <geek-qrcode
-    ref="qrcode"
-    :cid="cid"
-    :val="val"
-    :size="size"
-    :unit="unit"
-    :background="background"
-    :foreground="foreground"
-    :pdground="pdground"
-    :icon="icon"
-    :iconSize="iconsize"
-    :lv="lv" 
-    :onval="onval"
-    :loadMake="loadMake"
-    :usingComponents="usingComponents"
-    :showLoading="showLoading"
-    :loadingText="loadingText"
-    @result="qrR" />
-</view>
-```
-
-### 灞炴��
-
-| 灞炴�у悕          |  绫诲瀷  |      榛樿鍊�      | 鍙�夊�� | 璇存槑                                                                                                |
-| :-------------- | :-----: | :---------------: | :----: | :-------------------------------------------------------------------------------------------------- |
-| cid             | String | tki-qrcode-canvas |        | canvasId锛岄〉闈㈠瓨鍦ㄥ涓簩缁寸爜缁勪欢鏃堕渶璁剧疆涓嶅悓鐨処D                                                    |
-| size            | Number |        200        |        | 鐢熸垚鐨勪簩缁寸爜澶у皬                                                                                    |
-| unit            | String |        upx        |   px   | 澶у皬鍗曚綅灏哄                                                                                        |
-| show            | Boolean |       true       |        | 榛樿浣跨敤缁勪欢涓殑image鏍囩鏄剧ず浜岀淮鐮�                                                                 |
-| val             | String |      浜岀淮鐮�      |        | 瑕佺敓鎴愮殑鍐呭                                                                                        |
-| background      | String |      #000000      |        | 浜岀淮鐮佽儗鏅壊                                                                                        |
-| foreground      | String |      #ffffff      |        | 浜岀淮鐮佸墠鏅壊                                                                                        |
-| pdground        | String |      #ffffff      |        | 浜岀淮鐮佽鏍囪壊                                                                                        |
-| icon            | String |                  |        | 浜岀淮鐮佸浘鏍嘦RL锛堝繀椤绘槸鏈湴鍥剧墖锛岀綉缁滃浘闇�瑕佸厛涓嬭浇鑷虫湰鍦帮級                                             |
-| iconSize        | Number |        40        |        | 浜岀淮鐮佸浘鏍囧ぇ灏忥紙娉ㄦ剰姝ゅぇ灏忎笉浼氳窡闅忎簩缁寸爜size 鍔ㄦ�佸彉鍖栵紝璁剧疆鏃堕渶瑕佹敞鎰忓ぇ灏忥紝涓嶈澶ぇ锛屼互鍏嶆棤娉曡瘑鍒級 |
-| lv              | Number |         3         |        | 瀹归敊绾у埆锛堜竴鑸笉鐢ㄨ缃級                                                                            |
-| onval           | Boolean |       false       |        | 鐩戝惉val鍊煎彉鍖栬嚜鍔ㄩ噸鏂扮敓鎴愪簩缁寸爜                                                                     |
-| loadMake        | Boolean |       false       |        | 缁勪欢鍒濆鍖栧畬鎴愬悗鑷姩鐢熸垚浜岀淮鐮侊紝val闇�瑕佹湁鍊�                                                         |
-| usingComponents | Boolean |       true       | false | 鏄惁浣跨敤浜嗚嚜瀹氫箟缁勪欢妯″紡锛堜富瑕佹槸涓轰簡淇闈炶嚜瀹氫箟缁勪欢妯″紡鏃� v-if 鏃犳硶鐢熸垚浜岀淮鐮佺殑闂锛�              |
-| showLoading     | Boolean |       true       | false | 鏄惁鏄剧ずloading                                                                                     |
-| loadingText     | String |   浜岀淮鐮佺敓鎴愪腑   |        | loading鏂囧瓧                                                                                         |
-
-### 鏂规硶
-
-| 鏂规硶鍚�       | 鍙傛暟 | 榛樿鍊� | 璇存槑                                                |
-| :----------- | :--: | :----: | :-------------------------------------------------- |
-| _makeCode()  |      |        | 鐢熸垚浜岀淮鐮�                                          |
-| _clearCode() |      |        | 娓呯┖浜岀淮鐮侊紙娓呯┖浜岀淮鐮佷細瑙﹀彂result鍥炶皟 杩斿洖鍊间负绌猴級 |
-| _saveCode()  |      |        | 淇濆瓨浜岀淮鐮佸埌鍥惧簱                                    |
-
-### 浜嬩欢
-
-| 浜嬩欢鍚� |             杩斿洖鍊�             |                                    璇存槑 |
-| :----- | :----------------------------: | --------------------------------------: |
-| result | 鐢熸垚鐨勫浘鐗嘼ase64鎴栧浘鐗囦复鏃跺湴鍧� | 杩斿洖浜岀淮鐮佽矾寰� 娉細_clearCode()鍚庤繑鍥炵┖ |
-
-### 鎰熻阿
-
-[uni-app](https://uniapp.dcloud.io/ "uni-app")
-[qrcode](https://github.com/aralejs/qrcode "qrcode")
diff --git a/src/components/geek-xd/components/geek-qrcode/geek-qrcode.vue b/src/components/geek-xd/components/geek-qrcode/geek-qrcode.vue
deleted file mode 100644
index 3fdfe05..0000000
--- a/src/components/geek-xd/components/geek-qrcode/geek-qrcode.vue
+++ /dev/null
@@ -1,205 +0,0 @@
-<template xlang="wxml" minapp="mpvue">
-	<view class="geek-qrcode">
-		<canvas class="geek-qrcode-canvas" :canvas-id="cid" :style="{width:cpSize+'px',height:cpSize+'px'}" />
-		<image v-show="show" :src="result" :style="{width:cpSize+'px',height:cpSize+'px'}" />
-	</view>
-</template>
-
-<script>
-import QRCode from "./qrcode.js"
-let qrcode
-export default {
-	name: "geek-qrcode",
-	props: {
-		cid: {
-			type: String,
-			default: 'geek-qrcode-canvas'
-		},
-		size: {
-			type: Number,
-			default: 200
-		},
-		unit: {
-			type: String,
-			default: 'upx'
-		},
-		show: {
-			type: Boolean,
-			default: true
-		},
-		val: {
-			type: String,
-			default: ''
-		},
-		background: {
-			type: String,
-			default: '#ffffff'
-		},
-		foreground: {
-			type: String,
-			default: '#000000'
-		},
-		pdground: {
-			type: String,
-			default: '#000000'
-		},
-		icon: {
-			type: String,
-			default: ''
-		},
-		iconSize: {
-			type: Number,
-			default: 40
-		},
-		lv: {
-			type: Number,
-			default: 3
-		},
-		onval: {
-			type: Boolean,
-			default: false
-		},
-		loadMake: {
-			type: Boolean,
-			default: false
-		},
-		usingComponents: {
-			type: Boolean,
-			default: true
-		},
-		showLoading: {
-			type: Boolean,
-			default: true
-		},
-		loadingText: {
-			type: String,
-			default: '浜岀淮鐮佺敓鎴愪腑'
-		},
-	},
-	data() {
-		return {
-			result: '',
-		}
-	},
-	methods: {
-		_makeCode() {
-			let that = this
-			if (!this._empty(this.val)) {
-				qrcode = new QRCode({
-					context: that, // 涓婁笅鏂囩幆澧�
-					canvasId:that.cid, // canvas-id
-					usingComponents: that.usingComponents, // 鏄惁鏄嚜瀹氫箟缁勪欢
-					showLoading: that.showLoading, // 鏄惁鏄剧ずloading
-					loadingText: that.loadingText, // loading鏂囧瓧
-					text: that.val, // 鐢熸垚鍐呭
-					size: that.cpSize, // 浜岀淮鐮佸ぇ灏�
-					background: that.background, // 鑳屾櫙鑹�
-					foreground: that.foreground, // 鍓嶆櫙鑹�
-					pdground: that.pdground, // 瀹氫綅瑙掔偣棰滆壊
-					correctLevel: that.lv, // 瀹归敊绾у埆
-					image: that.icon, // 浜岀淮鐮佸浘鏍�
-					imageSize: that.iconSize,// 浜岀淮鐮佸浘鏍囧ぇ灏�
-					cbResult: function (res) { // 鐢熸垚浜岀淮鐮佺殑鍥炶皟
-						that._result(res)
-					},
-				});
-			} else {
-				uni.showToast({
-					title: '浜岀淮鐮佸唴瀹逛笉鑳戒负绌�',
-					icon: 'none',
-					duration: 2000
-				});
-			}
-		},
-		_clearCode() {
-			this._result('')
-			qrcode.clear()
-		},
-		_saveCode() {
-			let that = this;
-			if (this.result != "") {
-				uni.saveImageToPhotosAlbum({
-					filePath: that.result,
-					success: function () {
-						uni.showToast({
-							title: '浜岀淮鐮佷繚瀛樻垚鍔�',
-							icon: 'success',
-							duration: 2000
-						});
-					}
-				});
-			}
-		},
-		_result(res) {
-			this.result = res;
-			this.$emit('result', res)
-		},
-		_empty(v) {
-			let tp = typeof v,
-				rt = false;
-			if (tp == "number" && String(v) == "") {
-				rt = true
-			} else if (tp == "undefined") {
-				rt = true
-			} else if (tp == "object") {
-				if (JSON.stringify(v) == "{}" || JSON.stringify(v) == "[]" || v == null) rt = true
-			} else if (tp == "string") {
-				if (v == "" || v == "undefined" || v == "null" || v == "{}" || v == "[]") rt = true
-			} else if (tp == "function") {
-				rt = false
-			}
-			return rt
-		}
-	},
-	watch: {
-		size: function (n, o) {
-			if (n != o && !this._empty(n)) {
-				this.cSize = n
-				if (!this._empty(this.val)) {
-					setTimeout(() => {
-						this._makeCode()
-					}, 100);
-				}
-			}
-		},
-		val: function (n, o) {
-			if (this.onval) {
-				if (n != o && !this._empty(n)) {
-					setTimeout(() => {
-						this._makeCode()
-					}, 0);
-				}
-			}
-		}
-	},
-	computed: {
-		cpSize() {
-			if(this.unit == "upx"){
-				return uni.upx2px(this.size)
-			}else{
-				return this.size
-			}
-		}
-	},
-	mounted: function () {
-		if (this.loadMake) {
-			if (!this._empty(this.val)) {
-				setTimeout(() => {
-					this._makeCode()
-				}, 0);
-			}
-		}
-	},
-}
-</script>
-<style>
-.geek-qrcode {
-  position: relative;
-}
-.geek-qrcode-canvas {
-  position: fixed;
-  top: -99999upx;
-  left: -99999upx;
-  z-index: -99999;
-}
-</style>
diff --git a/src/components/geek-xd/components/geek-qrcode/qrcode.js b/src/components/geek-xd/components/geek-qrcode/qrcode.js
deleted file mode 100644
index ae5f945..0000000
--- a/src/components/geek-xd/components/geek-qrcode/qrcode.js
+++ /dev/null
@@ -1,1206 +0,0 @@
-let QRCode = {};
-(function () {
-    /**
-     * 鑾峰彇鍗曚釜瀛楃鐨剈tf8缂栫爜
-     * unicode BMP骞抽潰绾�65535涓瓧绗�
-     * @param {num} code
-     * return {array}
-     */
-    function unicodeFormat8(code) {
-        // 1 byte
-        var c0, c1, c2;
-        if (code < 128) {
-            return [code];
-            // 2 bytes
-        } else if (code < 2048) {
-            c0 = 192 + (code >> 6);
-            c1 = 128 + (code & 63);
-            return [c0, c1];
-            // 3 bytes
-        } else {
-            c0 = 224 + (code >> 12);
-            c1 = 128 + (code >> 6 & 63);
-            c2 = 128 + (code & 63);
-            return [c0, c1, c2];
-        }
-    }
-    /**
-     * 鑾峰彇瀛楃涓茬殑utf8缂栫爜瀛楄妭涓�
-     * @param {string} string
-     * @return {array}
-     */
-    function getUTF8Bytes(string) {
-        var utf8codes = [];
-        for (var i = 0; i < string.length; i++) {
-            var code = string.charCodeAt(i);
-            var utf8 = unicodeFormat8(code);
-            for (var j = 0; j < utf8.length; j++) {
-                utf8codes.push(utf8[j]);
-            }
-        }
-        return utf8codes;
-    }
-    /**
-     * 浜岀淮鐮佺畻娉曞疄鐜�
-     * @param {string} data              瑕佺紪鐮佺殑淇℃伅瀛楃涓�
-     * @param {num} errorCorrectLevel 绾犻敊绛夌骇
-     */
-    function QRCodeAlg(data, errorCorrectLevel) {
-        this.typeNumber = -1; //鐗堟湰
-        this.errorCorrectLevel = errorCorrectLevel;
-        this.modules = null; //浜岀淮鐭╅樀锛屽瓨鏀炬渶缁堢粨鏋�
-        this.moduleCount = 0; //鐭╅樀澶у皬
-        this.dataCache = null; //鏁版嵁缂撳瓨
-        this.rsBlocks = null; //鐗堟湰鏁版嵁淇℃伅
-        this.totalDataCount = -1; //鍙娇鐢ㄧ殑鏁版嵁閲�
-        this.data = data;
-        this.utf8bytes = getUTF8Bytes(data);
-        this.make();
-    }
-    QRCodeAlg.prototype = {
-        constructor: QRCodeAlg,
-        /**
-         * 鑾峰彇浜岀淮鐮佺煩闃靛ぇ灏�
-         * @return {num} 鐭╅樀澶у皬
-         */
-        getModuleCount: function () {
-            return this.moduleCount;
-        },
-        /**
-         * 缂栫爜
-         */
-        make: function () {
-            this.getRightType();
-            this.dataCache = this.createData();
-            this.createQrcode();
-        },
-        /**
-         * 璁剧疆浜屼綅鐭╅樀鍔熻兘鍥惧舰
-         * @param  {bool} test 琛ㄧず鏄惁鍦ㄥ鎵炬渶濂芥帺鑶滈樁娈�
-         * @param  {num} maskPattern 鎺╄啘鐨勭増鏈�
-         */
-        makeImpl: function (maskPattern) {
-            this.moduleCount = this.typeNumber * 4 + 17;
-            this.modules = new Array(this.moduleCount);
-            for (var row = 0; row < this.moduleCount; row++) {
-                this.modules[row] = new Array(this.moduleCount);
-            }
-            this.setupPositionProbePattern(0, 0);
-            this.setupPositionProbePattern(this.moduleCount - 7, 0);
-            this.setupPositionProbePattern(0, this.moduleCount - 7);
-            this.setupPositionAdjustPattern();
-            this.setupTimingPattern();
-            this.setupTypeInfo(true, maskPattern);
-            if (this.typeNumber >= 7) {
-                this.setupTypeNumber(true);
-            }
-            this.mapData(this.dataCache, maskPattern);
-        },
-        /**
-         * 璁剧疆浜岀淮鐮佺殑浣嶇疆鎺㈡祴鍥惧舰
-         * @param  {num} row 鎺㈡祴鍥惧舰鐨勪腑蹇冩í鍧愭爣
-         * @param  {num} col 鎺㈡祴鍥惧舰鐨勪腑蹇冪旱鍧愭爣
-         */
-        setupPositionProbePattern: function (row, col) {
-            for (var r = -1; r <= 7; r++) {
-                if (row + r <= -1 || this.moduleCount <= row + r) continue;
-                for (var c = -1; c <= 7; c++) {
-                    if (col + c <= -1 || this.moduleCount <= col + c) continue;
-                    if ((0 <= r && r <= 6 && (c == 0 || c == 6)) || (0 <= c && c <= 6 && (r == 0 || r == 6)) || (2 <= r && r <= 4 && 2 <= c && c <= 4)) {
-                        this.modules[row + r][col + c] = true;
-                    } else {
-                        this.modules[row + r][col + c] = false;
-                    }
-                }
-            }
-        },
-        /**
-         * 鍒涘缓浜岀淮鐮�
-         * @return {[type]} [description]
-         */
-        createQrcode: function () {
-            var minLostPoint = 0;
-            var pattern = 0;
-            var bestModules = null;
-            for (var i = 0; i < 8; i++) {
-                this.makeImpl(i);
-                var lostPoint = QRUtil.getLostPoint(this);
-                if (i == 0 || minLostPoint > lostPoint) {
-                    minLostPoint = lostPoint;
-                    pattern = i;
-                    bestModules = this.modules;
-                }
-            }
-            this.modules = bestModules;
-            this.setupTypeInfo(false, pattern);
-            if (this.typeNumber >= 7) {
-                this.setupTypeNumber(false);
-            }
-        },
-        /**
-         * 璁剧疆瀹氫綅鍥惧舰
-         * @return {[type]} [description]
-         */
-        setupTimingPattern: function () {
-            for (var r = 8; r < this.moduleCount - 8; r++) {
-                if (this.modules[r][6] != null) {
-                    continue;
-                }
-                this.modules[r][6] = (r % 2 == 0);
-                if (this.modules[6][r] != null) {
-                    continue;
-                }
-                this.modules[6][r] = (r % 2 == 0);
-            }
-        },
-        /**
-         * 璁剧疆鐭鍥惧舰
-         * @return {[type]} [description]
-         */
-        setupPositionAdjustPattern: function () {
-            var pos = QRUtil.getPatternPosition(this.typeNumber);
-            for (var i = 0; i < pos.length; i++) {
-                for (var j = 0; j < pos.length; j++) {
-                    var row = pos[i];
-                    var col = pos[j];
-                    if (this.modules[row][col] != null) {
-                        continue;
-                    }
-                    for (var r = -2; r <= 2; r++) {
-                        for (var c = -2; c <= 2; c++) {
-                            if (r == -2 || r == 2 || c == -2 || c == 2 || (r == 0 && c == 0)) {
-                                this.modules[row + r][col + c] = true;
-                            } else {
-                                this.modules[row + r][col + c] = false;
-                            }
-                        }
-                    }
-                }
-            }
-        },
-        /**
-         * 璁剧疆鐗堟湰淇℃伅锛�7浠ヤ笂鐗堟湰鎵嶆湁锛�
-         * @param  {bool} test 鏄惁澶勪簬鍒ゆ柇鏈�浣虫帺鑶滈樁娈�
-         * @return {[type]}      [description]
-         */
-        setupTypeNumber: function (test) {
-            var bits = QRUtil.getBCHTypeNumber(this.typeNumber);
-            for (var i = 0; i < 18; i++) {
-                var mod = (!test && ((bits >> i) & 1) == 1);
-                this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod;
-                this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod;
-            }
-        },
-        /**
-         * 璁剧疆鏍煎紡淇℃伅锛堢籂閿欑瓑绾у拰鎺╄啘鐗堟湰锛�
-         * @param  {bool} test
-         * @param  {num} maskPattern 鎺╄啘鐗堟湰
-         * @return {}
-         */
-        setupTypeInfo: function (test, maskPattern) {
-            var data = (QRErrorCorrectLevel[this.errorCorrectLevel] << 3) | maskPattern;
-            var bits = QRUtil.getBCHTypeInfo(data);
-            // vertical
-            for (var i = 0; i < 15; i++) {
-                var mod = (!test && ((bits >> i) & 1) == 1);
-                if (i < 6) {
-                    this.modules[i][8] = mod;
-                } else if (i < 8) {
-                    this.modules[i + 1][8] = mod;
-                } else {
-                    this.modules[this.moduleCount - 15 + i][8] = mod;
-                }
-                // horizontal
-                var mod = (!test && ((bits >> i) & 1) == 1);
-                if (i < 8) {
-                    this.modules[8][this.moduleCount - i - 1] = mod;
-                } else if (i < 9) {
-                    this.modules[8][15 - i - 1 + 1] = mod;
-                } else {
-                    this.modules[8][15 - i - 1] = mod;
-                }
-            }
-            // fixed module
-            this.modules[this.moduleCount - 8][8] = (!test);
-        },
-        /**
-         * 鏁版嵁缂栫爜
-         * @return {[type]} [description]
-         */
-        createData: function () {
-            var buffer = new QRBitBuffer();
-            var lengthBits = this.typeNumber > 9 ? 16 : 8;
-            buffer.put(4, 4); //娣诲姞妯″紡
-            buffer.put(this.utf8bytes.length, lengthBits);
-            for (var i = 0, l = this.utf8bytes.length; i < l; i++) {
-                buffer.put(this.utf8bytes[i], 8);
-            }
-            if (buffer.length + 4 <= this.totalDataCount * 8) {
-                buffer.put(0, 4);
-            }
-            // padding
-            while (buffer.length % 8 != 0) {
-                buffer.putBit(false);
-            }
-            // padding
-            while (true) {
-                if (buffer.length >= this.totalDataCount * 8) {
-                    break;
-                }
-                buffer.put(QRCodeAlg.PAD0, 8);
-                if (buffer.length >= this.totalDataCount * 8) {
-                    break;
-                }
-                buffer.put(QRCodeAlg.PAD1, 8);
-            }
-            return this.createBytes(buffer);
-        },
-        /**
-         * 绾犻敊鐮佺紪鐮�
-         * @param  {buffer} buffer 鏁版嵁缂栫爜
-         * @return {[type]}
-         */
-        createBytes: function (buffer) {
-            var offset = 0;
-            var maxDcCount = 0;
-            var maxEcCount = 0;
-            var length = this.rsBlock.length / 3;
-            var rsBlocks = new Array();
-            for (var i = 0; i < length; i++) {
-                var count = this.rsBlock[i * 3 + 0];
-                var totalCount = this.rsBlock[i * 3 + 1];
-                var dataCount = this.rsBlock[i * 3 + 2];
-                for (var j = 0; j < count; j++) {
-                    rsBlocks.push([dataCount, totalCount]);
-                }
-            }
-            var dcdata = new Array(rsBlocks.length);
-            var ecdata = new Array(rsBlocks.length);
-            for (var r = 0; r < rsBlocks.length; r++) {
-                var dcCount = rsBlocks[r][0];
-                var ecCount = rsBlocks[r][1] - dcCount;
-                maxDcCount = Math.max(maxDcCount, dcCount);
-                maxEcCount = Math.max(maxEcCount, ecCount);
-                dcdata[r] = new Array(dcCount);
-                for (var i = 0; i < dcdata[r].length; i++) {
-                    dcdata[r][i] = 0xff & buffer.buffer[i + offset];
-                }
-                offset += dcCount;
-                var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount);
-                var rawPoly = new QRPolynomial(dcdata[r], rsPoly.getLength() - 1);
-                var modPoly = rawPoly.mod(rsPoly);
-                ecdata[r] = new Array(rsPoly.getLength() - 1);
-                for (var i = 0; i < ecdata[r].length; i++) {
-                    var modIndex = i + modPoly.getLength() - ecdata[r].length;
-                    ecdata[r][i] = (modIndex >= 0) ? modPoly.get(modIndex) : 0;
-                }
-            }
-            var data = new Array(this.totalDataCount);
-            var index = 0;
-            for (var i = 0; i < maxDcCount; i++) {
-                for (var r = 0; r < rsBlocks.length; r++) {
-                    if (i < dcdata[r].length) {
-                        data[index++] = dcdata[r][i];
-                    }
-                }
-            }
-            for (var i = 0; i < maxEcCount; i++) {
-                for (var r = 0; r < rsBlocks.length; r++) {
-                    if (i < ecdata[r].length) {
-                        data[index++] = ecdata[r][i];
-                    }
-                }
-            }
-            return data;
-
-        },
-        /**
-         * 甯冪疆妯″潡锛屾瀯寤烘渶缁堜俊鎭�
-         * @param  {} data
-         * @param  {} maskPattern
-         * @return {}
-         */
-        mapData: function (data, maskPattern) {
-            var inc = -1;
-            var row = this.moduleCount - 1;
-            var bitIndex = 7;
-            var byteIndex = 0;
-            for (var col = this.moduleCount - 1; col > 0; col -= 2) {
-                if (col == 6) col--;
-                while (true) {
-                    for (var c = 0; c < 2; c++) {
-                        if (this.modules[row][col - c] == null) {
-                            var dark = false;
-                            if (byteIndex < data.length) {
-                                dark = (((data[byteIndex] >>> bitIndex) & 1) == 1);
-                            }
-                            var mask = QRUtil.getMask(maskPattern, row, col - c);
-                            if (mask) {
-                                dark = !dark;
-                            }
-                            this.modules[row][col - c] = dark;
-                            bitIndex--;
-                            if (bitIndex == -1) {
-                                byteIndex++;
-                                bitIndex = 7;
-                            }
-                        }
-                    }
-                    row += inc;
-                    if (row < 0 || this.moduleCount <= row) {
-                        row -= inc;
-                        inc = -inc;
-                        break;
-                    }
-                }
-            }
-        }
-    };
-    /**
-     * 濉厖瀛楁
-     */
-    QRCodeAlg.PAD0 = 0xEC;
-    QRCodeAlg.PAD1 = 0x11;
-    //---------------------------------------------------------------------
-    // 绾犻敊绛夌骇瀵瑰簲鐨勭紪鐮�
-    //---------------------------------------------------------------------
-    var QRErrorCorrectLevel = [1, 0, 3, 2];
-    //---------------------------------------------------------------------
-    // 鎺╄啘鐗堟湰
-    //---------------------------------------------------------------------
-    var QRMaskPattern = {
-        PATTERN000: 0,
-        PATTERN001: 1,
-        PATTERN010: 2,
-        PATTERN011: 3,
-        PATTERN100: 4,
-        PATTERN101: 5,
-        PATTERN110: 6,
-        PATTERN111: 7
-    };
-    //---------------------------------------------------------------------
-    // 宸ュ叿绫�
-    //---------------------------------------------------------------------
-    var QRUtil = {
-        /*
-        姣忎釜鐗堟湰鐭鍥惧舰鐨勪綅缃�
-         */
-        PATTERN_POSITION_TABLE: [
-            [],
-            [6, 18],
-            [6, 22],
-            [6, 26],
-            [6, 30],
-            [6, 34],
-            [6, 22, 38],
-            [6, 24, 42],
-            [6, 26, 46],
-            [6, 28, 50],
-            [6, 30, 54],
-            [6, 32, 58],
-            [6, 34, 62],
-            [6, 26, 46, 66],
-            [6, 26, 48, 70],
-            [6, 26, 50, 74],
-            [6, 30, 54, 78],
-            [6, 30, 56, 82],
-            [6, 30, 58, 86],
-            [6, 34, 62, 90],
-            [6, 28, 50, 72, 94],
-            [6, 26, 50, 74, 98],
-            [6, 30, 54, 78, 102],
-            [6, 28, 54, 80, 106],
-            [6, 32, 58, 84, 110],
-            [6, 30, 58, 86, 114],
-            [6, 34, 62, 90, 118],
-            [6, 26, 50, 74, 98, 122],
-            [6, 30, 54, 78, 102, 126],
-            [6, 26, 52, 78, 104, 130],
-            [6, 30, 56, 82, 108, 134],
-            [6, 34, 60, 86, 112, 138],
-            [6, 30, 58, 86, 114, 142],
-            [6, 34, 62, 90, 118, 146],
-            [6, 30, 54, 78, 102, 126, 150],
-            [6, 24, 50, 76, 102, 128, 154],
-            [6, 28, 54, 80, 106, 132, 158],
-            [6, 32, 58, 84, 110, 136, 162],
-            [6, 26, 54, 82, 110, 138, 166],
-            [6, 30, 58, 86, 114, 142, 170]
-        ],
-        G15: (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),
-        G18: (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),
-        G15_MASK: (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1),
-        /*
-        BCH缂栫爜鏍煎紡淇℃伅
-         */
-        getBCHTypeInfo: function (data) {
-            var d = data << 10;
-            while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {
-                d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15)));
-            }
-            return ((data << 10) | d) ^ QRUtil.G15_MASK;
-        },
-        /*
-        BCH缂栫爜鐗堟湰淇℃伅
-         */
-        getBCHTypeNumber: function (data) {
-            var d = data << 12;
-            while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {
-                d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18)));
-            }
-            return (data << 12) | d;
-        },
-        /*
-        鑾峰彇BCH浣嶄俊鎭�
-         */
-        getBCHDigit: function (data) {
-            var digit = 0;
-            while (data != 0) {
-                digit++;
-                data >>>= 1;
-            }
-            return digit;
-        },
-        /*
-        鑾峰彇鐗堟湰瀵瑰簲鐨勭煫姝e浘褰綅缃�
-         */
-        getPatternPosition: function (typeNumber) {
-            return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1];
-        },
-        /*
-        鎺╄啘绠楁硶
-         */
-        getMask: function (maskPattern, i, j) {
-            switch (maskPattern) {
-                case QRMaskPattern.PATTERN000:
-                    return (i + j) % 2 == 0;
-                case QRMaskPattern.PATTERN001:
-                    return i % 2 == 0;
-                case QRMaskPattern.PATTERN010:
-                    return j % 3 == 0;
-                case QRMaskPattern.PATTERN011:
-                    return (i + j) % 3 == 0;
-                case QRMaskPattern.PATTERN100:
-                    return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0;
-                case QRMaskPattern.PATTERN101:
-                    return (i * j) % 2 + (i * j) % 3 == 0;
-                case QRMaskPattern.PATTERN110:
-                    return ((i * j) % 2 + (i * j) % 3) % 2 == 0;
-                case QRMaskPattern.PATTERN111:
-                    return ((i * j) % 3 + (i + j) % 2) % 2 == 0;
-                default:
-                    throw new Error("bad maskPattern:" + maskPattern);
-            }
-        },
-        /*
-        鑾峰彇RS鐨勭籂閿欏椤瑰紡
-         */
-        getErrorCorrectPolynomial: function (errorCorrectLength) {
-            var a = new QRPolynomial([1], 0);
-            for (var i = 0; i < errorCorrectLength; i++) {
-                a = a.multiply(new QRPolynomial([1, QRMath.gexp(i)], 0));
-            }
-            return a;
-        },
-        /*
-        鑾峰彇璇勪环
-         */
-        getLostPoint: function (qrCode) {
-            var moduleCount = qrCode.getModuleCount(),
-                lostPoint = 0,
-                darkCount = 0;
-            for (var row = 0; row < moduleCount; row++) {
-                var sameCount = 0;
-                var head = qrCode.modules[row][0];
-                for (var col = 0; col < moduleCount; col++) {
-                    var current = qrCode.modules[row][col];
-                    //level 3 璇勪环
-                    if (col < moduleCount - 6) {
-                        if (current && !qrCode.modules[row][col + 1] && qrCode.modules[row][col + 2] && qrCode.modules[row][col + 3] && qrCode.modules[row][col + 4] && !qrCode.modules[row][col + 5] && qrCode.modules[row][col + 6]) {
-                            if (col < moduleCount - 10) {
-                                if (qrCode.modules[row][col + 7] && qrCode.modules[row][col + 8] && qrCode.modules[row][col + 9] && qrCode.modules[row][col + 10]) {
-                                    lostPoint += 40;
-                                }
-                            } else if (col > 3) {
-                                if (qrCode.modules[row][col - 1] && qrCode.modules[row][col - 2] && qrCode.modules[row][col - 3] && qrCode.modules[row][col - 4]) {
-                                    lostPoint += 40;
-                                }
-                            }
-                        }
-                    }
-                    //level 2 璇勪环
-                    if ((row < moduleCount - 1) && (col < moduleCount - 1)) {
-                        var count = 0;
-                        if (current) count++;
-                        if (qrCode.modules[row + 1][col]) count++;
-                        if (qrCode.modules[row][col + 1]) count++;
-                        if (qrCode.modules[row + 1][col + 1]) count++;
-                        if (count == 0 || count == 4) {
-                            lostPoint += 3;
-                        }
-                    }
-                    //level 1 璇勪环
-                    if (head ^ current) {
-                        sameCount++;
-                    } else {
-                        head = current;
-                        if (sameCount >= 5) {
-                            lostPoint += (3 + sameCount - 5);
-                        }
-                        sameCount = 1;
-                    }
-                    //level 4 璇勪环
-                    if (current) {
-                        darkCount++;
-                    }
-                }
-            }
-            for (var col = 0; col < moduleCount; col++) {
-                var sameCount = 0;
-                var head = qrCode.modules[0][col];
-                for (var row = 0; row < moduleCount; row++) {
-                    var current = qrCode.modules[row][col];
-                    //level 3 璇勪环
-                    if (row < moduleCount - 6) {
-                        if (current && !qrCode.modules[row + 1][col] && qrCode.modules[row + 2][col] && qrCode.modules[row + 3][col] && qrCode.modules[row + 4][col] && !qrCode.modules[row + 5][col] && qrCode.modules[row + 6][col]) {
-                            if (row < moduleCount - 10) {
-                                if (qrCode.modules[row + 7][col] && qrCode.modules[row + 8][col] && qrCode.modules[row + 9][col] && qrCode.modules[row + 10][col]) {
-                                    lostPoint += 40;
-                                }
-                            } else if (row > 3) {
-                                if (qrCode.modules[row - 1][col] && qrCode.modules[row - 2][col] && qrCode.modules[row - 3][col] && qrCode.modules[row - 4][col]) {
-                                    lostPoint += 40;
-                                }
-                            }
-                        }
-                    }
-                    //level 1 璇勪环
-                    if (head ^ current) {
-                        sameCount++;
-                    } else {
-                        head = current;
-                        if (sameCount >= 5) {
-                            lostPoint += (3 + sameCount - 5);
-                        }
-                        sameCount = 1;
-                    }
-                }
-            }
-            // LEVEL4
-            var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5;
-            lostPoint += ratio * 10;
-            return lostPoint;
-        }
-
-    };
-    //---------------------------------------------------------------------
-    // QRMath浣跨敤鐨勬暟瀛﹀伐鍏�
-    //---------------------------------------------------------------------
-    var QRMath = {
-        /*
-        灏唍杞寲涓篴^m
-         */
-        glog: function (n) {
-            if (n < 1) {
-                throw new Error("glog(" + n + ")");
-            }
-            return QRMath.LOG_TABLE[n];
-        },
-        /*
-        灏哸^m杞寲涓簄
-         */
-        gexp: function (n) {
-            while (n < 0) {
-                n += 255;
-            }
-            while (n >= 256) {
-                n -= 255;
-            }
-            return QRMath.EXP_TABLE[n];
-        },
-        EXP_TABLE: new Array(256),
-        LOG_TABLE: new Array(256)
-
-    };
-    for (var i = 0; i < 8; i++) {
-        QRMath.EXP_TABLE[i] = 1 << i;
-    }
-    for (var i = 8; i < 256; i++) {
-        QRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4] ^ QRMath.EXP_TABLE[i - 5] ^ QRMath.EXP_TABLE[i - 6] ^ QRMath.EXP_TABLE[i - 8];
-    }
-    for (var i = 0; i < 255; i++) {
-        QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i;
-    }
-    //---------------------------------------------------------------------
-    // QRPolynomial 澶氶」寮�
-    //---------------------------------------------------------------------
-    /**
-     * 澶氶」寮忕被
-     * @param {Array} num   绯绘暟
-     * @param {num} shift a^shift
-     */
-    function QRPolynomial(num, shift) {
-        if (num.length == undefined) {
-            throw new Error(num.length + "/" + shift);
-        }
-        var offset = 0;
-        while (offset < num.length && num[offset] == 0) {
-            offset++;
-        }
-        this.num = new Array(num.length - offset + shift);
-        for (var i = 0; i < num.length - offset; i++) {
-            this.num[i] = num[i + offset];
-        }
-    }
-    QRPolynomial.prototype = {
-        get: function (index) {
-            return this.num[index];
-        },
-        getLength: function () {
-            return this.num.length;
-        },
-        /**
-         * 澶氶」寮忎箻娉�
-         * @param  {QRPolynomial} e 琚箻澶氶」寮�
-         * @return {[type]}   [description]
-         */
-        multiply: function (e) {
-            var num = new Array(this.getLength() + e.getLength() - 1);
-            for (var i = 0; i < this.getLength(); i++) {
-                for (var j = 0; j < e.getLength(); j++) {
-                    num[i + j] ^= QRMath.gexp(QRMath.glog(this.get(i)) + QRMath.glog(e.get(j)));
-                }
-            }
-            return new QRPolynomial(num, 0);
-        },
-        /**
-         * 澶氶」寮忔ā杩愮畻
-         * @param  {QRPolynomial} e 妯″椤瑰紡
-         * @return {}
-         */
-        mod: function (e) {
-            var tl = this.getLength(),
-                el = e.getLength();
-            if (tl - el < 0) {
-                return this;
-            }
-            var num = new Array(tl);
-            for (var i = 0; i < tl; i++) {
-                num[i] = this.get(i);
-            }
-            while (num.length >= el) {
-                var ratio = QRMath.glog(num[0]) - QRMath.glog(e.get(0));
-
-                for (var i = 0; i < e.getLength(); i++) {
-                    num[i] ^= QRMath.gexp(QRMath.glog(e.get(i)) + ratio);
-                }
-                while (num[0] == 0) {
-                    num.shift();
-                }
-            }
-            return new QRPolynomial(num, 0);
-        }
-    };
-
-    //---------------------------------------------------------------------
-    // RS_BLOCK_TABLE
-    //---------------------------------------------------------------------
-    /*
-    浜岀淮鐮佸悇涓増鏈俊鎭痆鍧楁暟, 姣忓潡涓殑鏁版嵁鍧楁暟, 姣忓潡涓殑淇℃伅鍧楁暟]
-     */
-    var RS_BLOCK_TABLE = [
-        // L
-        // M
-        // Q
-        // H
-        // 1
-        [1, 26, 19],
-        [1, 26, 16],
-        [1, 26, 13],
-        [1, 26, 9],
-
-        // 2
-        [1, 44, 34],
-        [1, 44, 28],
-        [1, 44, 22],
-        [1, 44, 16],
-
-        // 3
-        [1, 70, 55],
-        [1, 70, 44],
-        [2, 35, 17],
-        [2, 35, 13],
-
-        // 4
-        [1, 100, 80],
-        [2, 50, 32],
-        [2, 50, 24],
-        [4, 25, 9],
-
-        // 5
-        [1, 134, 108],
-        [2, 67, 43],
-        [2, 33, 15, 2, 34, 16],
-        [2, 33, 11, 2, 34, 12],
-
-        // 6
-        [2, 86, 68],
-        [4, 43, 27],
-        [4, 43, 19],
-        [4, 43, 15],
-
-        // 7
-        [2, 98, 78],
-        [4, 49, 31],
-        [2, 32, 14, 4, 33, 15],
-        [4, 39, 13, 1, 40, 14],
-
-        // 8
-        [2, 121, 97],
-        [2, 60, 38, 2, 61, 39],
-        [4, 40, 18, 2, 41, 19],
-        [4, 40, 14, 2, 41, 15],
-
-        // 9
-        [2, 146, 116],
-        [3, 58, 36, 2, 59, 37],
-        [4, 36, 16, 4, 37, 17],
-        [4, 36, 12, 4, 37, 13],
-
-        // 10
-        [2, 86, 68, 2, 87, 69],
-        [4, 69, 43, 1, 70, 44],
-        [6, 43, 19, 2, 44, 20],
-        [6, 43, 15, 2, 44, 16],
-
-        // 11
-        [4, 101, 81],
-        [1, 80, 50, 4, 81, 51],
-        [4, 50, 22, 4, 51, 23],
-        [3, 36, 12, 8, 37, 13],
-
-        // 12
-        [2, 116, 92, 2, 117, 93],
-        [6, 58, 36, 2, 59, 37],
-        [4, 46, 20, 6, 47, 21],
-        [7, 42, 14, 4, 43, 15],
-
-        // 13
-        [4, 133, 107],
-        [8, 59, 37, 1, 60, 38],
-        [8, 44, 20, 4, 45, 21],
-        [12, 33, 11, 4, 34, 12],
-
-        // 14
-        [3, 145, 115, 1, 146, 116],
-        [4, 64, 40, 5, 65, 41],
-        [11, 36, 16, 5, 37, 17],
-        [11, 36, 12, 5, 37, 13],
-
-        // 15
-        [5, 109, 87, 1, 110, 88],
-        [5, 65, 41, 5, 66, 42],
-        [5, 54, 24, 7, 55, 25],
-        [11, 36, 12],
-
-        // 16
-        [5, 122, 98, 1, 123, 99],
-        [7, 73, 45, 3, 74, 46],
-        [15, 43, 19, 2, 44, 20],
-        [3, 45, 15, 13, 46, 16],
-
-        // 17
-        [1, 135, 107, 5, 136, 108],
-        [10, 74, 46, 1, 75, 47],
-        [1, 50, 22, 15, 51, 23],
-        [2, 42, 14, 17, 43, 15],
-
-        // 18
-        [5, 150, 120, 1, 151, 121],
-        [9, 69, 43, 4, 70, 44],
-        [17, 50, 22, 1, 51, 23],
-        [2, 42, 14, 19, 43, 15],
-
-        // 19
-        [3, 141, 113, 4, 142, 114],
-        [3, 70, 44, 11, 71, 45],
-        [17, 47, 21, 4, 48, 22],
-        [9, 39, 13, 16, 40, 14],
-
-        // 20
-        [3, 135, 107, 5, 136, 108],
-        [3, 67, 41, 13, 68, 42],
-        [15, 54, 24, 5, 55, 25],
-        [15, 43, 15, 10, 44, 16],
-
-        // 21
-        [4, 144, 116, 4, 145, 117],
-        [17, 68, 42],
-        [17, 50, 22, 6, 51, 23],
-        [19, 46, 16, 6, 47, 17],
-
-        // 22
-        [2, 139, 111, 7, 140, 112],
-        [17, 74, 46],
-        [7, 54, 24, 16, 55, 25],
-        [34, 37, 13],
-
-        // 23
-        [4, 151, 121, 5, 152, 122],
-        [4, 75, 47, 14, 76, 48],
-        [11, 54, 24, 14, 55, 25],
-        [16, 45, 15, 14, 46, 16],
-
-        // 24
-        [6, 147, 117, 4, 148, 118],
-        [6, 73, 45, 14, 74, 46],
-        [11, 54, 24, 16, 55, 25],
-        [30, 46, 16, 2, 47, 17],
-
-        // 25
-        [8, 132, 106, 4, 133, 107],
-        [8, 75, 47, 13, 76, 48],
-        [7, 54, 24, 22, 55, 25],
-        [22, 45, 15, 13, 46, 16],
-
-        // 26
-        [10, 142, 114, 2, 143, 115],
-        [19, 74, 46, 4, 75, 47],
-        [28, 50, 22, 6, 51, 23],
-        [33, 46, 16, 4, 47, 17],
-
-        // 27
-        [8, 152, 122, 4, 153, 123],
-        [22, 73, 45, 3, 74, 46],
-        [8, 53, 23, 26, 54, 24],
-        [12, 45, 15, 28, 46, 16],
-
-        // 28
-        [3, 147, 117, 10, 148, 118],
-        [3, 73, 45, 23, 74, 46],
-        [4, 54, 24, 31, 55, 25],
-        [11, 45, 15, 31, 46, 16],
-
-        // 29
-        [7, 146, 116, 7, 147, 117],
-        [21, 73, 45, 7, 74, 46],
-        [1, 53, 23, 37, 54, 24],
-        [19, 45, 15, 26, 46, 16],
-
-        // 30
-        [5, 145, 115, 10, 146, 116],
-        [19, 75, 47, 10, 76, 48],
-        [15, 54, 24, 25, 55, 25],
-        [23, 45, 15, 25, 46, 16],
-
-        // 31
-        [13, 145, 115, 3, 146, 116],
-        [2, 74, 46, 29, 75, 47],
-        [42, 54, 24, 1, 55, 25],
-        [23, 45, 15, 28, 46, 16],
-
-        // 32
-        [17, 145, 115],
-        [10, 74, 46, 23, 75, 47],
-        [10, 54, 24, 35, 55, 25],
-        [19, 45, 15, 35, 46, 16],
-
-        // 33
-        [17, 145, 115, 1, 146, 116],
-        [14, 74, 46, 21, 75, 47],
-        [29, 54, 24, 19, 55, 25],
-        [11, 45, 15, 46, 46, 16],
-
-        // 34
-        [13, 145, 115, 6, 146, 116],
-        [14, 74, 46, 23, 75, 47],
-        [44, 54, 24, 7, 55, 25],
-        [59, 46, 16, 1, 47, 17],
-
-        // 35
-        [12, 151, 121, 7, 152, 122],
-        [12, 75, 47, 26, 76, 48],
-        [39, 54, 24, 14, 55, 25],
-        [22, 45, 15, 41, 46, 16],
-
-        // 36
-        [6, 151, 121, 14, 152, 122],
-        [6, 75, 47, 34, 76, 48],
-        [46, 54, 24, 10, 55, 25],
-        [2, 45, 15, 64, 46, 16],
-
-        // 37
-        [17, 152, 122, 4, 153, 123],
-        [29, 74, 46, 14, 75, 47],
-        [49, 54, 24, 10, 55, 25],
-        [24, 45, 15, 46, 46, 16],
-
-        // 38
-        [4, 152, 122, 18, 153, 123],
-        [13, 74, 46, 32, 75, 47],
-        [48, 54, 24, 14, 55, 25],
-        [42, 45, 15, 32, 46, 16],
-
-        // 39
-        [20, 147, 117, 4, 148, 118],
-        [40, 75, 47, 7, 76, 48],
-        [43, 54, 24, 22, 55, 25],
-        [10, 45, 15, 67, 46, 16],
-
-        // 40
-        [19, 148, 118, 6, 149, 119],
-        [18, 75, 47, 31, 76, 48],
-        [34, 54, 24, 34, 55, 25],
-        [20, 45, 15, 61, 46, 16]
-    ];
-
-    /**
-     * 鏍规嵁鏁版嵁鑾峰彇瀵瑰簲鐗堟湰
-     * @return {[type]} [description]
-     */
-    QRCodeAlg.prototype.getRightType = function () {
-        for (var typeNumber = 1; typeNumber < 41; typeNumber++) {
-            var rsBlock = RS_BLOCK_TABLE[(typeNumber - 1) * 4 + this.errorCorrectLevel];
-            if (rsBlock == undefined) {
-                throw new Error("bad rs block @ typeNumber:" + typeNumber + "/errorCorrectLevel:" + this.errorCorrectLevel);
-            }
-            var length = rsBlock.length / 3;
-            var totalDataCount = 0;
-            for (var i = 0; i < length; i++) {
-                var count = rsBlock[i * 3 + 0];
-                var dataCount = rsBlock[i * 3 + 2];
-                totalDataCount += dataCount * count;
-            }
-            var lengthBytes = typeNumber > 9 ? 2 : 1;
-            if (this.utf8bytes.length + lengthBytes < totalDataCount || typeNumber == 40) {
-                this.typeNumber = typeNumber;
-                this.rsBlock = rsBlock;
-                this.totalDataCount = totalDataCount;
-                break;
-            }
-        }
-    };
-
-    //---------------------------------------------------------------------
-    // QRBitBuffer
-    //---------------------------------------------------------------------
-    function QRBitBuffer() {
-        this.buffer = new Array();
-        this.length = 0;
-    }
-    QRBitBuffer.prototype = {
-        get: function (index) {
-            var bufIndex = Math.floor(index / 8);
-            return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1);
-        },
-        put: function (num, length) {
-            for (var i = 0; i < length; i++) {
-                this.putBit(((num >>> (length - i - 1)) & 1));
-            }
-        },
-        putBit: function (bit) {
-            var bufIndex = Math.floor(this.length / 8);
-            if (this.buffer.length <= bufIndex) {
-                this.buffer.push(0);
-            }
-            if (bit) {
-                this.buffer[bufIndex] |= (0x80 >>> (this.length % 8));
-            }
-            this.length++;
-        }
-    };
-
-
-
-    // xzedit
-    let qrcodeAlgObjCache = [];
-    /**
-     * 浜岀淮鐮佹瀯閫犲嚱鏁帮紝涓昏鐢ㄤ簬缁樺埗
-     * @param  {鍙傛暟鍒楄〃} opt 浼犻�掑弬鏁�
-     * @return {}
-     */
-    QRCode = function (opt) {
-        //璁剧疆榛樿鍙傛暟
-        this.options = {
-            text: '',
-            size: 256,
-            correctLevel: 3,
-            background: '#ffffff',
-            foreground: '#000000',
-            pdground: '#000000',
-            image: '',
-            imageSize: 30,
-            canvasId: opt.canvasId,
-            context: opt.context,
-            usingComponents: opt.usingComponents,
-            showLoading: opt.showLoading,
-            loadingText: opt.loadingText,
-        };
-        if (typeof opt === 'string') { // 鍙紪鐮丄SCII瀛楃涓�
-            opt = {
-                text: opt
-            };
-        }
-        if (opt) {
-            for (var i in opt) {
-                this.options[i] = opt[i];
-            }
-        }
-        //浣跨敤QRCodeAlg鍒涘缓浜岀淮鐮佺粨鏋�
-        var qrCodeAlg = null;
-        for (var i = 0, l = qrcodeAlgObjCache.length; i < l; i++) {
-            if (qrcodeAlgObjCache[i].text == this.options.text && qrcodeAlgObjCache[i].text.correctLevel == this.options.correctLevel) {
-                qrCodeAlg = qrcodeAlgObjCache[i].obj;
-                break;
-            }
-        }
-        if (i == l) {
-            qrCodeAlg = new QRCodeAlg(this.options.text, this.options.correctLevel);
-            qrcodeAlgObjCache.push({
-                text: this.options.text,
-                correctLevel: this.options.correctLevel,
-                obj: qrCodeAlg
-            });
-        }
-        /**
-         * 璁$畻鐭╅樀鐐圭殑鍓嶆櫙鑹�
-         * @param {Obj} config
-         * @param {Number} config.row 鐐箈鍧愭爣
-         * @param {Number} config.col 鐐箉鍧愭爣
-         * @param {Number} config.count 鐭╅樀澶у皬
-         * @param {Number} config.options 缁勪欢鐨刼ptions
-         * @return {String}
-         */
-        let getForeGround = function (config) {
-            var options = config.options;
-            if (options.pdground && (
-                (config.row > 1 && config.row < 5 && config.col > 1 && config.col < 5) ||
-                (config.row > (config.count - 6) && config.row < (config.count - 2) && config.col > 1 && config.col < 5) ||
-                (config.row > 1 && config.row < 5 && config.col > (config.count - 6) && config.col < (config.count - 2))
-            )) {
-                return options.pdground;
-            }
-            return options.foreground;
-        }
-        // 鍒涘缓canvas
-        let createCanvas = function (options) {
-            if(options.showLoading){
-                uni.showLoading({
-                    title: options.loadingText,
-                    mask: true
-                });
-            }
-            var ctx = uni.createCanvasContext(options.canvasId, options.context);
-            var count = qrCodeAlg.getModuleCount();
-            var ratioSize = options.size;
-            var ratioImgSize = options.imageSize;
-            //璁$畻姣忎釜鐐圭殑闀垮
-            var tileW = (ratioSize / count).toPrecision(4);
-            var tileH = (ratioSize / count).toPrecision(4);
-            //缁樺埗
-            for (var row = 0; row < count; row++) {
-                for (var col = 0; col < count; col++) {
-                    var w = (Math.ceil((col + 1) * tileW) - Math.floor(col * tileW));
-                    var h = (Math.ceil((row + 1) * tileW) - Math.floor(row * tileW));
-                    var foreground = getForeGround({
-                        row: row,
-                        col: col,
-                        count: count,
-                        options: options
-                    });
-                    ctx.setFillStyle(qrCodeAlg.modules[row][col] ? foreground : options.background);
-                    ctx.fillRect(Math.round(col * tileW), Math.round(row * tileH), w, h);
-                }
-            }
-            if (options.image) {
-                var x = Number(((ratioSize - ratioImgSize) / 2).toFixed(2));
-                var y = Number(((ratioSize - ratioImgSize) / 2).toFixed(2));
-                drawRoundedRect(ctx, x, y, ratioImgSize, ratioImgSize, 2, 6, true, true)
-                ctx.drawImage(options.image, x, y, ratioImgSize, ratioImgSize);
-                // 鐢诲渾瑙掔煩褰�
-                function drawRoundedRect(ctxi, x, y, width, height, r, lineWidth, fill, stroke) {
-                    ctxi.setLineWidth(lineWidth);
-                    ctxi.setFillStyle(options.background);
-                    ctxi.setStrokeStyle(options.background);
-                    ctxi.beginPath(); // draw top and top right corner 
-                    ctxi.moveTo(x + r, y);
-                    ctxi.arcTo(x + width, y, x + width, y + r, r); // draw right side and bottom right corner 
-                    ctxi.arcTo(x + width, y + height, x + width - r, y + height, r); // draw bottom and bottom left corner 
-                    ctxi.arcTo(x, y + height, x, y + height - r, r); // draw left and top left corner 
-                    ctxi.arcTo(x, y, x + r, y, r);
-                    ctxi.closePath();
-                    if (fill) {
-                        ctxi.fill();
-                    }
-                    if (stroke) {
-                        ctxi.stroke();
-                    }
-                }
-            }
-            setTimeout(() => {
-                ctx.draw(true, () => {
-                    // 淇濆瓨鍒颁复鏃跺尯鍩�
-                    setTimeout(() => {
-                        uni.canvasToTempFilePath({
-                            width: options.width,
-                            height: options.height,
-                            destWidth: options.width,
-                            destHeight: options.height,
-                            canvasId: options.canvasId,
-                            quality: Number(1),
-                            success: function (res) {
-                                if (options.cbResult) {
-                                    // 鐢变簬瀹樻柟杩樻病鏈夌粺涓�姝ゆ帴鍙g殑杈撳嚭瀛楁锛屾墍浠ュ厛鍒ゅ畾涓�  鏀粯瀹濅负 res.apFilePath
-                                    if (!empty(res.tempFilePath)) {
-                                        options.cbResult(res.tempFilePath)
-                                    } else if (!empty(res.apFilePath)) {
-                                        options.cbResult(res.apFilePath)
-                                    } else {
-                                        options.cbResult(res.tempFilePath)
-                                    }
-                                }
-                            },
-                            fail: function (res) {
-                                if (options.cbResult) {
-                                    options.cbResult(res)
-                                }
-                            },
-                            complete: function () {
-                                uni.hideLoading();
-                            },
-                        }, options.context);
-                    }, options.text.length + 100);
-                });
-            }, options.usingComponents ? 0 : 150);
-        }
-        createCanvas(this.options);
-        // 绌哄垽瀹�
-        let empty = function (v) {
-            let tp = typeof v,
-                rt = false;
-            if (tp == "number" && String(v) == "") {
-                rt = true
-            } else if (tp == "undefined") {
-                rt = true
-            } else if (tp == "object") {
-                if (JSON.stringify(v) == "{}" || JSON.stringify(v) == "[]" || v == null) rt = true
-            } else if (tp == "string") {
-                if (v == "" || v == "undefined" || v == "null" || v == "{}" || v == "[]") rt = true
-            } else if (tp == "function") {
-                rt = false
-            }
-            return rt
-        }
-    };
-    QRCode.prototype.clear = function (fn) {
-        var ctx = uni.createCanvasContext(this.options.canvasId, this.options.context)
-        ctx.clearRect(0, 0, this.options.size, this.options.size)
-        ctx.draw(false, () => {
-            if (fn) {
-                fn()
-            }
-        })
-    };
-})()
-
-export default QRCode
\ No newline at end of file
diff --git a/src/components/geek-xd/components/geek-statistic/geek-statistic.vue b/src/components/geek-xd/components/geek-statistic/geek-statistic.vue
deleted file mode 100644
index dc8ac3f..0000000
--- a/src/components/geek-xd/components/geek-statistic/geek-statistic.vue
+++ /dev/null
@@ -1,84 +0,0 @@
-<template>
-    <view :style="labelStyle" class="title">{{ label }}</view>
-    <view :style="numberStyle" class="number">{{ formatNumber(number,props.place) }}</view>
-</template>
-  
-<script setup>
-import { computed } from 'vue';
-
-const props = defineProps({
-    label: {
-        type: String,
-        default: "璁㈠崟鏁伴噺"
-    },
-    width: {
-        type: Number,
-        default: 300
-    },
-    labelColor: {
-        type: String,
-        default: '#white'
-    },
-    labelSize: {
-        type: Number,
-        default: 16
-    },
-    number: {
-        type: Number,
-        default: 80
-    },
-    numberColor: {
-        type: String,
-        default: 'red'
-    },
-    numberSize: {
-        type: Number,
-        default: 20
-    },
-    place: {
-        type: Number,
-        default: 2
-    }
-})
-const labelStyle = computed(() => {
-    return {
-        width: `${props.width}rpx`,
-        color: props.labelColor,
-        fontSize: `${props.labelSize}px`
-    }
-})
-
-const numberStyle = computed(() => {
-    return {
-        width: `${props.width}rpx`,
-        color: props.numberColor,
-        fontSize: `${props.numberSize}px`
-    }
-})
-
-function formatNumber(num,place) {
-    
-    let fixedNum = Number(num).toFixed(place); // 灏嗘暟瀛椾繚鐣欎袱浣嶅皬鏁�
-    let parts = fixedNum.split('.'); // 鎷嗗垎鏁存暟閮ㄥ垎鍜屽皬鏁伴儴鍒�
-    let integerPart = parts[0]; // 鏁存暟閮ㄥ垎
-    let decimalPart = parts[1]; // 灏忔暟閮ㄥ垎
-
-    // 浣跨敤padStart鏂规硶琛�0鍒板皬鏁伴儴鍒�
-    decimalPart = decimalPart.padStart(place, '0');
-
-    return integerPart + '.' + decimalPart;
-}
-
-
-</script>
-  
-<style lang="scss" scoped>
-.title {
-    text-align: center;
-}
-
-.number {
-    text-align: center;
-}
-</style>
-  
\ No newline at end of file
diff --git a/src/components/geek-xd/types/index.ts b/src/components/geek-xd/types/index.ts
deleted file mode 100644
index 80153d3..0000000
--- a/src/components/geek-xd/types/index.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-export interface Menu {
-    icon: string,
-    label: string
-}
-
-export interface Commodity {
-    img: string,
-    title: string,
-    subTitle?: string,
-    price: number
-}
-
-export interface CommodityOrder extends Commodity {
-    shop: string,
-    status: string,
-    num: number,
-    label?:string
-}
\ No newline at end of file
diff --git a/src/components/qiun-data-charts/changelog.md b/src/components/qiun-data-charts/changelog.md
deleted file mode 100644
index 4d470a4..0000000
--- a/src/components/qiun-data-charts/changelog.md
+++ /dev/null
@@ -1,320 +0,0 @@
-## 2.5.0-20230101锛�2023-01-01锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇敼鏉′欢缂栬瘧椤哄簭锛岀‘淇漸niapp鐨刢li鏂瑰紡鐨勯」鐩緷璧栦笉瀹屾暣鏃跺彲浠ユ甯告樉绀�
-- 绉嬩簯鍥捐〃缁勪欢 鎭㈠props灞炴�irectory鐨勪娇鐢紝浠ヤ慨澶峷ue3椤圭洰涓紝寮�鍚痚charts鍚庯紝echarts鐩綍璇嗗埆閿欒鐨刡ug
-- uCharts.js 淇鍖哄煙鍥俱�佹贩鍚堝浘鍙湁涓�涓暟鎹椂鍥捐〃鏄剧ず涓嶆纭殑bug
-- uCharts.js 淇鎶樼嚎鍥俱�佸尯鍩熷浘涓椂闂磋酱绫诲埆鍥捐〃tooltip鎸囩ず鐐规樉绀轰笉姝g‘鐨刡ug
-- uCharts.js 淇x杞翠娇鐢╨abelCount鏃讹紝骞朵笖boundaryGap = 'justify' 骞朵笖鍏抽棴Y杞存樉绀虹殑鏃跺�欙紝鏈�鍚庝竴涓潗鏍囧�间笉鏄剧ず鐨刡ug
-- uCharts.js 淇鎶樼嚎鍥惧彧鏈変竴缁勬暟鎹椂 ios16 娓叉煋棰滆壊涓嶆纭殑bug
-- uCharts.js 淇鐜懓鍥惧崐寰勬樉绀轰笉姝g‘鐨刡ug
-- uCharts.js 鏌辩姸鍥俱�佸北宄板浘澧炲姞姝h礋鍥惧姛鑳斤紝y杞寸綉鏍煎鏋滈渶瑕佹樉绀�0杞村垯鐢� min max 鍙� splitNumber 纭畾锛屽悗缁増鏈紭鍖栬嚜鍔ㄦ樉绀�0杞�
-- uCharts.js 鏌辩姸鍥綾olumn澧炲姞 opts.extra.column.labelPosition锛屾暟鎹爣绛句綅缃紝鏈夋晥鍊间负 outside澶栭儴, insideTop鍐呴《閮�, center鍐呬腑闂�, bottom鍐呭簳閮�
-- uCharts.js 闆疯揪鍥緍adar澧炲姞 opts.extra.radar.labelShow锛屽惁鏄剧ず鍚勯」鏍囪瘑鏂囨鏄紝榛樿true
-- uCharts.js 鎻愮ず绐梩ooltip澧炲姞 opts.extra.tooltip.boxPadding锛屾彁绀虹獥杈规濉厖璺濈锛岄粯璁�3px
-- uCharts.js 鎻愮ず绐梩ooltip澧炲姞 opts.extra.tooltip.fontSize锛屾彁绀虹獥瀛椾綋澶у皬閰嶇疆锛岄粯璁�13px
-- uCharts.js 鎻愮ず绐梩ooltip澧炲姞 opts.extra.tooltip.lineHeight锛屾彁绀虹獥鏂囧瓧琛岄珮锛岄粯璁�20px
-- uCharts.js 鎻愮ず绐梩ooltip澧炲姞 opts.extra.tooltip.legendShow锛屾槸鍚︽樉绀哄乏渚у浘渚嬶紝榛樿true
-- uCharts.js 鎻愮ず绐梩ooltip澧炲姞 opts.extra.tooltip.legendShape锛屽浘渚嬪舰鐘讹紝鍥句緥鏍囪瘑鏍峰紡锛屾湁鏁堝�间负 auto鑷姩璺熼殢鍥句緥, diamond鈼�, circle鈼�, triangle鈻�, square鈻�, rect鈻�, line-
-- uCharts.js 鏍囪绾縨arkLine澧炲姞 opts.extra.markLine.labelFontSize锛屽瓧浣撳ぇ灏忛厤缃紝榛樿13px
-- uCharts.js 鏍囪绾縨arkLine澧炲姞 opts.extra.markLine.labelPadding锛屾爣绛捐竟妗嗗唴濉厖璺濈锛岄粯璁�6px
-- uCharts.js 鎶樼嚎鍥緇ine澧炲姞 opts.extra.line.linearType锛屾笎鍙樿壊绫诲瀷锛屽彲閫夊�� none鍏抽棴娓愬彉鑹诧紝custom 鑷畾涔夋笎鍙樿壊銆備娇鐢ㄨ嚜瀹氫箟娓愬彉鑹叉椂璇疯祴鍊約erie.linearColor浣滀负棰滆壊鍊�
-- uCharts.js 鎶樼嚎鍥緇ine澧炲姞 serie.linearColor锛屾笎鍙樿壊鏁扮粍锛屾牸寮忎负2缁存暟缁刐璧峰浣嶇疆锛岄鑹插�糫锛屼緥濡俒[0,'#0EE2F8'],[0.3,'#2BDCA8'],[0.6,'#1890FF'],[1,'#9A60B4']]
-- uCharts.js 鎶樼嚎鍥緇ine澧炲姞 opts.extra.line.onShadow锛屾槸鍚﹀紑鍚姌绾块槾褰憋紝寮�鍚悗璇疯祴鍊約erie.setShadow闃村奖璁剧疆
-- uCharts.js 鎶樼嚎鍥緇ine澧炲姞 serie.setShadow锛岄槾褰遍厤缃紝鏍煎紡涓�4浣嶆暟缁勶細[offsetX,offsetY,blur,color]
-- uCharts.js 鎶樼嚎鍥緇ine澧炲姞 opts.extra.line.animation锛屽姩鐢绘晥鏋滄柟鍚戯紝鍙�夊�间负vertical 鍨傜洿鍔ㄧ敾鏁堟灉锛宧orizontal 姘村钩鍔ㄧ敾鏁堟灉
-- uCharts.js X杞磝Axis澧炲姞 opts.xAxis.lineHeight锛孹杞村瓧浣撹楂橈紝榛樿20px
-- uCharts.js X杞磝Axis澧炲姞 opts.xAxis.marginTop锛孹杞存枃瀛楄窛绂昏酱绾跨殑璺濈锛岄粯璁�0px
-- uCharts.js X杞磝Axis澧炲姞 opts.xAxis.title锛屽綋鍓峏杞存爣棰�
-- uCharts.js X杞磝Axis澧炲姞 opts.xAxis.titleFontSize锛屾爣棰樺瓧浣撳ぇ灏忥紝榛樿13px
-- uCharts.js X杞磝Axis澧炲姞 opts.xAxis.titleOffsetY锛屾爣棰樼旱鍚戝亸绉昏窛绂伙紝璐熸暟涓哄悜涓婂亸绉伙紝姝f暟鍚戜笅鍋忕Щ
-- uCharts.js X杞磝Axis澧炲姞 opts.xAxis.titleOffsetX锛屾爣棰樻í鍚戝亸绉昏窛绂伙紝璐熸暟涓哄悜宸﹀亸绉伙紝姝f暟鍚戝彸鍋忕Щ
-- uCharts.js X杞磝Axis澧炲姞 opts.xAxis.titleFontColor锛屾爣棰樺瓧浣撻鑹诧紝榛樿#666666
-
-## 鎶ラ敊TypeError: Cannot read properties of undefined (reading 'length')
-- 濡傛灉鏄痷ni-modules鐗堟湰缁勪欢锛岃鍏堢櫥褰旽BuilderX璐﹀彿锛�
-- 鍦℉BuilderX涓殑manifest.json锛岀偣鍑婚噸鏂拌幏鍙杣niapp鐨刟ppid锛屾垨鑰呭垹闄ppid閲嶆柊绮樿创锛岄噸鏂拌繍琛岋紱
-- 濡傛灉鏄痗li椤圭洰璇蜂娇鐢ㄧ爜浜戜笂鐨勯潪uniCloud鐗堟湰缁勪欢锛�
-- 鎴栬�呮坊鍔爑niCloud鐨勪緷璧栵紱
-- 鎴栬�呬娇鐢ㄥ師鐢焨Charts锛�
-## 2.4.5-20221130锛�2022-11-30锛�
-- uCharts.js 浼樺寲tooltip褰撴枃瀛楀緢澶氬彉涓哄乏渚ф樉绀烘椂锛屽鏋滅敾甯冧粛鏄炬樉绀轰笉涓嬶紝鎻愮ず妗嗛敊浣嶇疆鍙樹负浠ュ乏渚�0浣嶇疆璧风敾
-- uCharts.js 鎶樼嚎鍥句慨澶嶇壒娈婃儏鍐典笅鍙湁鍗曠偣鏁版嵁锛屽苟鏀瑰彉绾垮鍚庣偣鍙樹负鍦嗗舰鐨刡ug
-- uCharts.js 淇Y杞磀isabled鍚敤鍚庢棤鏁堝苟鎶ラ敊鐨刡ug
-- uCharts.js 淇浠〃鐩樿捣濮嬬粨鏉熻搴︾壒娈婃儏鍐典笅鏄剧ず涓嶆纭殑bug
-- uCharts.js 闆疯揪鍥炬柊澧炲弬鏁� opts.extra.radar.radius , 鑷畾涔夐浄杈惧浘鍗婂緞
-- uCharts.js 鎶樼嚎鍥俱�佸尯鍩熷浘澧炲姞tooltip鎸囩ず鐐癸紝opts.extra.line.activeType/opts.extra.area.activeType锛屽彲閫夊��"none"涓嶅惎鐢ㄦ縺娲绘寚绀虹偣,"hollow"绌哄績鐐规ā寮�,"solid"瀹炲績鐐规ā寮�
-## 2.4.4-20221102锛�2022-11-02锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇浣跨敤echarts鏃秗eload銆乺eshow鏃犳硶璋冪敤閲嶆柊娓叉煋鐨刡ug锛孾璇﹁鐮佷簯PR](https://gitee.com/uCharts/uCharts/pulls/40)
-- 绉嬩簯鍥捐〃缁勪欢 淇浣跨敤echarts鏃讹紝鍒濆鍖栨椂瀹介珮涓嶆纭殑bug锛孾璇﹁鐮佷簯PR](https://gitee.com/uCharts/uCharts/pulls/42)
-- 绉嬩簯鍥捐〃缁勪欢 淇uniapp鐨刪5浣跨敤history妯″紡鏃讹紝鏃犳硶鍔犺浇echarts鐨刡ug
-- 绉嬩簯鍥捐〃缁勪欢 灏忕▼搴忕@complete銆丂scrollLeft銆丂scrollRight銆丂getTouchStart銆丂getTouchMove銆丂getTouchEnd浜嬩欢澧炲姞opts鍙傛暟浼犲嚭锛屾柟渚夸竴浜涚壒娈婇渶姹傜殑浜や簰鑾峰彇鏁版嵁銆�
-
-- uCharts.js 淇calTooltipYAxisData鏂规硶鍐協ormatter鏍煎紡鍖栨柟娉曟湭涓巠杞存柟娉曞悓姝ョ殑闂锛孾璇﹁鐮佷簯PR](https://gitee.com/uCharts/uCharts/pulls/43)
-- uCharts.js 鍦板浘鏂板鍙傛暟opts.series[i].fillOpacity锛屼互閫忔槑搴︽柟寮忔潵璁剧疆棰滆壊杩囧害鏁堟灉锛孾璇﹁鐮佷簯PR](https://gitee.com/uCharts/uCharts/pulls/38)
-- uCharts.js 鍦板浘鏂板鍙傛暟opts.extra.map.active锛屾槸鍚﹀惎鐢ㄧ偣鍑绘縺娲诲彉鑹�
-- uCharts.js 鍦板浘鏂板鍙傛暟opts.extra.map.activeTextColor锛屾槸鍚﹀惎鐢ㄧ偣鍑绘縺娲诲彉鑹�
-- uCharts.js 鍦板浘鏂板娓叉煋瀹屾垚浜嬩欢renderComplete
-- uCharts.js 婕忔枟鍥句慨澶嶅綋閮ㄥ垎鏁版嵁鐩稿悓鏃秚ooltip鎻愮ず绐楃偣鍑婚敊璇殑bug
-- uCharts.js 婕忔枟鍥炬柊澧炲弬鏁皊eries.data[i].centerText 灞呬腑鏍囩鏂囨
-- uCharts.js 婕忔枟鍥炬柊澧炲弬鏁皊eries.data[i].centerTextSize 灞呬腑鏍囩鏂囨瀛椾綋澶у皬锛岄粯璁pts.fontSize
-- uCharts.js 婕忔枟鍥炬柊澧炲弬鏁皊eries.data[i].centerTextColor 灞呬腑鏍囩鏂囨瀛椾綋棰滆壊锛岄粯璁�#FFFFFF
-- uCharts.js 婕忔枟鍥炬柊澧炲弬鏁皁pts.extra.funnel.minSize 鏈�灏忓�肩殑鏈�灏忓搴︼紝榛樿0
-- uCharts.js 杩涘害鏉℃柊澧炲弬鏁皁pts.extra.arcbar.direction锛屽姩鐢绘柟鍚戯紝鍙�夊�间负cw椤烘椂閽堛�乧cw閫嗘椂閽�
-- uCharts.js 娣峰悎鍥炬柊澧炲弬鏁皁pts.extra.mix.line.width锛屾姌绾跨殑瀹藉害锛岄粯璁�2
-- uCharts.js 淇tooltip寮�鍚痟orizentalLine姘村钩妯嚎鏍囨敞鏃讹紝鍥捐〃鏄剧ず閿欎綅鐨刡ug
-- uCharts.js 浼樺寲tooltip褰撴枃瀛楀緢澶氬彉涓哄乏渚ф樉绀烘椂锛屽鏋滅敾甯冧粛鏄炬樉绀轰笉涓嬶紝鎻愮ず妗嗛敊浣嶇疆鍙樹负浠ュ乏渚�0浣嶇疆璧风敾
-- uCharts.js 淇寮�鍚粴鍔ㄦ潯鍚嶺杞存枃瀛楄秴鍑虹粯鍥惧尯鍩熷悗鐨勯殣钘忛�昏緫
-- uCharts.js 鏌辩姸鍥俱�佹潯鐘跺浘淇鍫嗗彔妯″紡涓嶈兘閫氳繃{value,color}璧嬪�煎崟涓煴瀛愰鑹茬殑闂
-- uCharts.js 姘旀场鍥句慨澶嶄笉璇嗗埆series.textSize鍜宻eries.textColor鐨刡ug
-
-## 鎶ラ敊TypeError: Cannot read properties of undefined (reading 'length')
-1. 濡傛灉鏄痷ni-modules鐗堟湰缁勪欢锛岃鍏堢櫥褰旽BuilderX璐﹀彿锛�
-2. 鍦℉BuilderX涓殑manifest.json锛岀偣鍑婚噸鏂拌幏鍙杣niapp鐨刟ppid锛屾垨鑰呭垹闄ppid閲嶆柊绮樿创锛岄噸鏂拌繍琛岋紱
-3. 濡傛灉鏄痗li椤圭洰璇蜂娇鐢ㄧ爜浜戜笂鐨勯潪uniCloud鐗堟湰缁勪欢锛�
-4. 鎴栬�呮坊鍔爑niCloud鐨勪緷璧栵紱
-5. 鎴栬�呬娇鐢ㄥ師鐢焨Charts锛�
-## 2.4.3-20220505锛�2022-05-05锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇寮�鍚痗anvas2d鍚庡皢series璧嬪�间负绌烘暟缁勬樉绀哄姞杞藉浘鏍囨椂锛屽啀娆¤祴鍊煎悗鐢诲竷闂姩鐨刡ug
-- 绉嬩簯鍥捐〃缁勪欢 淇鍗囩骇hbx鏈�鏂扮増鍚嶦Charts鐨刪ighlight鏂规硶鎶ラ敊鐨刡ug
-- uCharts.js 闆疯揪鍥炬柊澧炲弬鏁皁pts.extra.radar.gridEval锛屾暟鎹偣浣嶇綉鏍兼娊甯岋紝榛樿1
-- uCharts.js 闆疯揪鍥炬柊澧炲弬鏁皁pts.extra.radar.axisLabel锛�	鏄惁鏄剧ず鍒诲害鐐瑰�硷紝榛樿false
-- uCharts.js 闆疯揪鍥炬柊澧炲弬鏁皁pts.extra.radar.axisLabelTofix锛屽埢搴︾偣鍊煎皬鏁颁綅鏁帮紝榛樿0
-- uCharts.js 闆疯揪鍥炬柊澧炲弬鏁皁pts.extra.radar.labelPointShow锛屾槸鍚︽樉绀烘湯绔埢搴﹀渾鐐癸紝榛樿false
-- uCharts.js 闆疯揪鍥炬柊澧炲弬鏁皁pts.extra.radar.labelPointRadius锛屽埢搴﹀渾鐐圭殑鍗婂緞锛岄粯璁�3
-- uCharts.js 闆疯揪鍥炬柊澧炲弬鏁皁pts.extra.radar.labelPointColor锛屽埢搴﹀渾鐐圭殑棰滆壊锛岄粯璁�#cccccc
-- uCharts.js 闆疯揪鍥炬柊澧炲弬鏁皁pts.extra.radar.linearType锛屾笎鍙樿壊绫诲瀷锛屽彲閫夊��"none"鍏抽棴娓愬彉,"custom"寮�鍚笎鍙�
-- uCharts.js 闆疯揪鍥炬柊澧炲弬鏁皁pts.extra.radar.customColor锛岃嚜瀹氫箟娓愬彉棰滆壊锛屾暟缁勭被鍨嬪搴攕eries鐨勬暟缁勯暱搴︿互鍖归厤涓嶅悓series棰滆壊鐨勪笉鍚岄厤鑹叉柟妗堬紝渚嬪["#FA7D8D", "#EB88E2"]
-- uCharts.js 闆疯揪鍥句紭鍖栨敮鎸乻eries.textColor銆乻eries.textSize灞炴��
-- uCharts.js 鏌辩姸鍥句腑娓╁害璁″紡鍥炬爣锛屼紭鍖栨敮鎸佸叏鍦嗚绫诲瀷锛屼慨澶嶈竟妗嗘湁缂濋殭鐨刡ug锛岃瑙佸畼缃戙�愭紨绀恒�戜腑鐨勬俯搴﹁鍥捐〃
-- uCharts.js 鏌辩姸鍥炬柊澧炲弬鏁皁pts.extra.column.activeWidth锛屽綋鍓嶇偣鍑绘煴鐘跺浘鐨勮儗鏅搴︼紝榛樿涓�涓崟鍏冩牸鍗曚綅
-- uCharts.js 娣峰悎鍥惧鍔爋pts.extra.mix.area.gradient 鍖哄煙鍥炬槸鍚﹀紑鍚笎鍙樿壊
-- uCharts.js 娣峰悎鍥惧鍔爋pts.extra.mix.area.opacity 鍖哄煙鍥鹃�忔槑搴︼紝榛樿0.2
-- uCharts.js 楗煎浘銆佸渾鐜浘銆佺帿鐟板浘銆佹紡鏂楀浘锛屽鍔爋pts.series[0].data[i].labelText锛岃嚜瀹氫箟鏍囩鏂囧瓧锛岄伩鍏峟ormatter鏍煎紡鍖栫殑绻佺悙锛岃瑙佸畼缃戙�愭紨绀恒�戜腑鐨勯ゼ鍥�
-- uCharts.js 楗煎浘銆佸渾鐜浘銆佺帿鐟板浘銆佹紡鏂楀浘锛屽鍔爋pts.series[0].data[i].labelShow锛岃嚜瀹氫箟鏄惁鏄剧ず鏌愪竴涓寚绀烘爣绛撅紝閬垮厤鍥犻ゼ鍥剧被鍒お澶氬鑷存爣绛鹃噸澶嶆垨鑰呭眳澶氬鑷村浘褰㈠彉褰㈢殑闂锛岃瑙佸畼缃戙�愭紨绀恒�戜腑鐨勯ゼ鍥�
-- uCharts.js 澧炲姞opts.series[i].legendText/opts.series[0].data[i].legendText锛堜笌series.name鍚岀骇锛夎嚜瀹氫箟鍥句緥鏄剧ず鏂囧瓧鐨勬柟娉�
-- uCharts.js 浼樺寲X杞淬�乊杞磃ormatter鏍煎紡鍖栨柟娉曞鍔犲舰鍙傦紝缁熶竴涓篺romatter:function(value,index,opts){}
-- uCharts.js 淇妯睆妯″紡涓嬫棤娉曚娇鐢ㄥ弻鎸囩缉鏀炬柟娉曠殑bug
-- uCharts.js 淇褰撳彧鏈変竴鏉℃暟鎹垨鑰呭鏉℃暟鎹�肩浉绛夌殑鏃跺�橸杞磋嚜鍔ㄨ绠楃殑鏈�澶у�奸敊璇殑bug
-- 銆愬畼缃戞ā鏉裤�戝鍔犲閮ㄨ嚜瀹氫箟鍥句緥涓庡浘琛ㄤ氦浜掔殑渚嬪瓙锛孾鐐瑰嚮璺宠浆](https://www.ucharts.cn/v2/#/layout/info?id=2)
-
-## 娉ㄦ剰锛氶潪unimodules 鐗堟湰濡傚洜鏇存柊 hbx 鑷� 3.4.7 瀵艰嚧鎶ラ敊濡備笅锛岃鍒扮爜浜戞洿鏂伴潪 unimodules 鐗堟湰缁勪欢锛孾鐐瑰嚮璺宠浆](https://gitee.com/uCharts/uCharts/tree/master/uni-app/uCharts-%E7%BB%84%E4%BB%B6)
-> Error in callback for immediate watcher "uchartsOpts": "SyntaxError: Unexpected token u in JSON at position 0"
-## 2.4.2-20220421锛�2022-04-21锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇HBX鍗囩骇3.4.6.20220420鐗堟湰鍚巈charts鎶ラ敊鐨勯棶棰�
-## 2.4.2-20220420锛�2022-04-20锛�
-## 閲嶈锛佹鐗堟湰uCharts鏂板浜嗗緢澶氬姛鑳斤紝淇浜嗚澶氬凡鐭ラ棶棰�
-- 绉嬩簯鍥捐〃缁勪欢 鏂板onzoom寮�鍚弻鎸囩缉鏀惧姛鑳斤紙浠卽Charts锛夛紝鍓嶆彁闇�瑕佺洿瑙掑潗鏍囩郴绫诲浘琛ㄧ被鍨嬶紝骞朵笖ontouch涓簍rue銆乷pts.enableScroll涓簍rue锛岃瑙佸疄渚嬮」鐩甂绾垮浘
-- 绉嬩簯鍥捐〃缁勪欢 鏂板optsWatch鏄惁鐩戝惉opts鍙樺寲锛屽叧闂璷ptsWatch鍚庯紝鍔ㄦ�佷慨鏀筼pts涓嶄細瑙﹀彂鍥捐〃閲嶇粯
-- 绉嬩簯鍥捐〃缁勪欢 淇寮�鍚痗anvas2d鍔熻兘鍚庯紝鍔ㄦ�佹洿鏂版暟鎹悗鐢诲竷闂姩鐨刡ug
-- 绉嬩簯鍥捐〃缁勪欢 鍘婚櫎directory灞炴�э紝鏀逛负鑷姩鑾峰彇echarts.min.js璺緞锛堝崌绾т笉鍙楀奖鍝嶏級
-- 绉嬩簯鍥捐〃缁勪欢 澧炲姞getImage()鏂规硶鍙夽getImage浜嬩欢锛岄�氳繃ref璋冪敤getImage()鏂规硶鑾凤紝瑙﹀彂@getImage浜嬩欢鑾峰彇褰撳墠鐢诲竷鐨刡ase64鍥剧墖鏂囦欢娴併��
-- 绉嬩簯鍥捐〃缁勪欢 鏀粯瀹濄�佸瓧鑺傝烦鍔ㄣ�侀涔︺�佸揩鎵嬪皬绋嬪簭鏀寔寮�鍚痗anvas2d鍚屽眰娓叉煋璁剧疆銆�
-- 绉嬩簯鍥捐〃缁勪欢 鏂板鍔犮�愰潪uniCloud銆戠増鏈粍浠讹紝閬垮厤鏈変簺涓嶉渶瑕乽niCloud鐨勪娇鐢ㄧ粍浠跺彂甯冭嚦灏忕▼搴忛渶瑕佹彁浜ら殣绉佸0鏄庨棶棰橈紝璇峰埌鐮佷簯[銆愰潪uniCloud鐗堟湰銆慮(https://gitee.com/uCharts/uCharts/tree/master/uni-app/uCharts-%E7%BB%84%E4%BB%B6)锛屾垨npm[銆愰潪uniCloud鐗堟湰銆慮(https://www.npmjs.com/package/@qiun/uni-ucharts)涓嬭浇浣跨敤銆�
-- uCharts.js 鏂板dobuleZoom鍙屾寚缂╂斁鍔熻兘
-- uCharts.js 鏂板灞卞嘲鍥総ype="mount"锛屾暟鎹牸寮忎负楗煎浘绫绘牸寮忥紝涓嶉渶瑕佷紶鍏ategories锛屽叿浣撹瑙佹柊鐗堝畼缃戝湪绾挎紨绀�
-- uCharts.js 淇鎶樼嚎鍥惧綋鏁版嵁涓瓨鍦╪ull鏃秚ooltip鎶ラ敊鐨刡ug
-- uCharts.js 淇楗煎浘绫诲綋鐢诲竷姣旇緝灏忔椂鑷姩璁$畻鐨勫崐寰勬槸璐熸暟鎶ラ敊鐨刡ug
-- uCharts.js 缁熶竴鍚勫浘琛ㄧ被鍨嬬殑series.formatter鏍煎紡鍖栨柟娉曠殑褰㈠弬涓�(val, index, series, opts)锛屾柟渚挎牸寮忓寲鏃舵湁鏇村鍙傛暟鍙敤
-- uCharts.js 鏍囪绾垮姛鑳藉鍔爈abelText鑷畾涔夋樉绀烘枃瀛楋紝澧炲姞labelAlign鏍囩鏄剧ず浣嶇疆锛堝乏渚ф垨鍙充晶锛夛紝澧炲姞鏍囩鏄剧ず浣嶇疆寰皟labelOffsetX銆乴abelOffsetY
-- uCharts.js 淇鏉$姸鍥惧綋鏁板�煎緢灏忔椂寮�鍚渾瑙掑悗鏍峰紡閿欒鐨刡ug
-- uCharts.js 淇X杞村紑鍚痙isabled鍚庯紝X杞翠粛鍗犵敤绌洪棿鐨刡ug
-- uCharts.js 淇X杞村紑鍚粴鍔ㄦ潯骞朵笖寮�鍚痳otateLabel鍚庯紝X杞存枃瀛椾笌婊氬姩鏉¢噸鍙犵殑bug
-- uCharts.js 澧炲姞X杞磖otateAngle鏂囧瓧鏃嬭浆鑷畾涔夎搴︼紝鍙栧�艰寖鍥�(-90鑷�90)
-- uCharts.js 淇鍦板浘鏂囧瓧鏍囩灞傜骇鏄剧ず涓嶆纭殑bug
-- uCharts.js 淇楗煎浘銆佸渾鐜浘銆佺帿鐟板浘褰撴暟鎹叏閮ㄤ负0鐨勬椂鍊欎笉鏄剧ず鏁版嵁鏍囩鐨刡ug
-- uCharts.js 淇褰搊pts.padding涓婅竟璺濅负0鏃讹紝Y杞撮《閮ㄥ埢搴︽爣绛句綅缃笉姝g‘鐨刡ug
-
-## 鍙﹀鎴戜滑杩樺紑鍙戜簡鍚勫ぇ鍘熺敓灏忕▼搴忕粍浠讹紝宸插彂甯冭嚦鐮佷簯鍜宯pm
-[https://gitee.com/uCharts/uCharts](https://gitee.com/uCharts/uCharts)
-[https://www.npmjs.com/~qiun](https://www.npmjs.com/~qiun)
-
-## 瀵逛簬鍘熺敓uCharts鏂囨。鎴戜滑宸蹭笂绾挎柊鐗堝畼鏂圭綉绔欙紝璇︽儏鐐瑰嚮涓嬮潰閾炬帴杩涘叆瀹樼綉
-[https://www.uCharts.cn/v2/](https://www.ucharts.cn/v2/)
-## 2.3.7-20220122锛�2022-01-22锛�
-## 閲嶈锛佷娇鐢╲ue3缂栬瘧锛岃浣跨敤cli妯″紡骞跺崌绾ц嚦鏈�鏂颁緷璧栵紝HbuilderX缂栬瘧闇�瑕佷娇鐢�3.3.8浠ヤ笂鐗堟湰
-- uCharts.js 淇uni-app骞冲彴缁勪欢妯″紡浣跨敤vue3缂栬瘧鍒板皬绋嬪簭鎶ラ敊鐨刡ug銆�
-## 2.3.7-20220118锛�2022-01-18锛�
-## 娉ㄦ剰锛屼娇鐢╲ue3鐨勫墠鎻愭槸闇�瑕�3.3.8.20220114-alpha鐗堟湰鐨凥Builder锛�
-## 2.3.67-20220118锛�2022-01-18锛�
-- 绉嬩簯鍥捐〃缁勪欢 缁勪欢鍒濇鏀寔vue3锛屽叏绔紪璇戜細鏈変簺闂锛屽叿浣撹瑙佷笅闈慨鏀癸細
-1. 灏忕▼搴忕杩愯鏃讹紝鍦╱ni_modules鏂囦欢澶圭殑qiun-data-charts.js涓悳绱� new uni_modules_qiunDataCharts_js_sdk_uCharts_uCharts.uCharts锛屽皢.uCharts鍘绘帀銆�
-2. 灏忕▼搴忕鍙戣鏃讹紝鍦╱ni_modules鏂囦欢澶圭殑qiun-data-charts.js涓悳绱� new e.uCharts锛屽皢.uCharts鍘绘帀锛屽彉涓� new e銆�
-3. 濡傛灉瑙夊緱涓婅堪姝ラ姣旇緝楹荤儲锛屽鏋滄偍鐨勯」鐩彧缂栬瘧鍒板皬绋嬪簭绔紝鍙互淇敼u-charts.js鏈�鍚庝竴琛屽鍑烘柟寮忥紝灏� export default uCharts;鍙樻洿涓� export default { uCharts: uCharts }; 杩欐牱鍙樻洿鍚庯紝H5鍜孉pp绔殑renderjs浼氭湁闂锛岃寮�鍙戣�呰嚜琛岄�夋嫨銆傦紙姝ら棶棰橀潪缁勪欢闂锛岃绛夊緟DC瀹樻柟淇Vue3鐨勫皬绋嬪簭绔級
-## 2.3.6-20220111锛�2022-01-11锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇敼缁勪欢 props 灞炴�т腑鐨� background 榛樿鍊间负 rgba(0,0,0,0)
-## 2.3.6-20211201锛�2021-12-01锛�
-- uCharts.js 淇bar鏉$姸鍥惧紑鍚渾瑙掓ā寮忔椂锛屽�煎緢灏忔椂鍦嗚娓叉煋閿欒鐨刡ug
-## 2.3.5-20211014锛�2021-10-15锛�
-- uCharts.js 澧炲姞vue3鐨勭紪璇戞敮鎸侊紙浠呭師鐢焨Charts锛宷iun-data-charts缁勪欢鍚庣画浼氭敮鎸侊紝璇峰叧娉ㄦ洿鏂帮級
-## 2.3.4-20211012锛�2021-10-12锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇 mac os x 绯荤粺 mouseover 浜嬩欢涓㈠け鐨� bug
-## 2.3.3-20210706锛�2021-07-06锛�
-- uCharts.js 澧炲姞闆疯揪鍥惧紑鍚暟鎹偣鍊硷紙opts.dataLabel锛夌殑鏄剧ず
-## 2.3.2-20210627锛�2021-06-27锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇tooltipCustom涓埆鎯呭喌涓嬩紶鍊间笉姝g‘鎶ラ敊TypeError: Cannot read property 'name' of undefined鐨刡ug
-## 2.3.1-20210616锛�2021-06-16锛�
-- uCharts.js 淇鍦嗚鏌辩姸鍥句娇鐢�4瑙掑渾瑙掓椂锛屽綋鏁板�艰繃澶ф椂涓嶆纭殑bug
-## 2.3.0-20210612锛�2021-06-12锛�
-- uCharts.js 銆愰噸瑕併�憉Charts澧炲姞nvue鍏煎锛屽彲鍦╪vue椤圭洰涓娇鐢╣canvas缁勪欢娓叉煋uCharts锛孾璇﹁鐮佷簯uCharts-demo-nvue](https://gitee.com/uCharts/uCharts)
-- 绉嬩簯鍥捐〃缁勪欢 澧炲姞tapLegend灞炴�э紝鏄惁寮�鍚浘渚嬬偣鍑讳氦浜掍簨浠�
-- 绉嬩簯鍥捐〃缁勪欢 getIndex浜嬩欢涓鍔犺繑鍥瀠Charts瀹炰緥涓殑opts鍙傛暟锛屼互渚垮湪椤甸潰涓皟鐢ㄥ弬鏁�
-- 绀轰緥椤圭洰 pages/other/other.vue澧炲姞app绔嚜瀹氫箟tooltip鐨勬柟娉曪紝璇﹁showOptsTooltip鏂规硶
-## 2.2.1-20210603锛�2021-06-03锛�
-- uCharts.js 淇楗煎浘銆佸渾鐜浘銆佺帿鐟板浘锛屽綋璧峰瑙掑害涓嶄负0鏃讹紝tooltip浣嶇疆涓嶅噯纭殑bug
-- uCharts.js 澧炲姞娓╁害璁″紡鏌辩姸鍥惧紑鍚《閮ㄥ崐鍦嗗舰鐨勯厤缃�
-## 2.2.0-20210529锛�2021-05-29锛�
-- uCharts.js 澧炲姞鏉$姸鍥総ype="bar"
-- 绀轰緥椤圭洰 pages/ucharts/ucharts.vue澧炲姞鏉$姸鍥剧殑demo
-## 2.1.7-20210524锛�2021-05-24锛�
-- uCharts.js 淇澶ф暟鎹噺妯″紡涓嬫洸绾垮浘涓嶅钩婊戠殑bug
-## 2.1.6-20210523锛�2021-05-23锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇灏忕▼搴忕寮�鍚粴鍔ㄦ潯鏇存柊鏁版嵁鍚庢粴鍔ㄦ潯浣嶇疆涓嶇鍚堥鏈熺殑bug
-## 2.1.5-2021051702锛�2021-05-17锛�
-- uCharts.js 淇鑷畾涔塝杞磎in鍜宮ax鍊间负0鏃朵笉鑳芥纭樉绀虹殑bug
-## 2.1.5-20210517锛�2021-05-17锛�
-- uCharts.js 淇Y杞磋嚜瀹氫箟min鍜宮ax鏃讹紝鏈寜鎸囧畾鐨勬渶澶у�兼渶灏忓�兼樉绀哄潗鏍囪酱鍒诲害鐨刡ug
-## 2.1.4-20210516锛�2021-05-16锛�
-- 绉嬩簯鍥捐〃缁勪欢 浼樺寲onWindowResize闃叉姈鏂规硶
-- 绉嬩簯鍥捐〃缁勪欢 淇APP绔痷Charts鏇存柊鏁版嵁鏃讹紝娓呯┖series鏄剧ずloading鍥炬爣鍚庡啀鏄剧ず鍥捐〃锛屽浘琛ㄦ姈鍔ㄧ殑bug
-- uCharts.js 淇寮�鍚痗anvas2d鍚庯紝x杞淬�亂杞淬�乻eries鑷畾涔夊瓧浣撳ぇ灏忔湭鎸夋瘮渚嬬缉鏀剧殑bug
-- 绀轰緥椤圭洰 淇format-e.vue鎷煎啓閿欒瀵艰嚧app绔娇鐢╱Charts娓叉煋鍥捐〃
-## 2.1.3-20210513锛�2021-05-13锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇敼uCharts鍙樻洿chartData鏁版嵁涓簎pdateData鏂规硶锛屾敮鎸佸甫婊氬姩鏉$殑鏁版嵁鍔ㄦ�佹墦鐐�
-- 绉嬩簯鍥捐〃缁勪欢 澧炲姞onWindowResize闃叉姈鏂规硶 fix by 銇╄獡瑷�锛屽灏樿埇鏌撴寚娴佸勾銇� 
-- 绉嬩簯鍥捐〃缁勪欢 H5鎴栬�匒PP鍙樻洿chartData鏁版嵁鏄剧ずloading鍥捐〃鏃讹紝鍘熸暟鎹棯鐜扮殑bug
-- 绉嬩簯鍥捐〃缁勪欢 props澧炲姞errorReload绂佺敤閿欒鐐瑰嚮閲嶆柊鍔犺浇鐨勬柟娉�
-- uCharts.js 澧炲姞tooltip鏄剧ずcategory锛坸杞村搴旂偣浣嶏級鏍囬鐨勫姛鑳斤紝opts.extra.tooltip.showCategory锛岄粯璁や负false
-- uCharts.js 淇mix娣峰悎鍥惧彧鏈夋煴鐘跺浘鏃讹紝tooltip鐨勫垎鍓茬嚎鏄剧ず浣嶇疆涓嶆纭殑bug
-- uCharts.js 淇寮�鍚粴鍔ㄦ潯锛屽浘琛ㄥ湪鎷栧姩涓姩鎬佹墦鐐癸紝婊氬姩鏉′綅缃笉姝g‘鐨刡ug
-- uCharts.js 淇楗煎浘绫绘暟鎹牸寮忎负echarts鏁版嵁鏍煎紡锛宻eries涓虹┖鏁扮粍鎶ラ敊鐨刡ug
-- 绀轰緥椤圭洰 淇敼uCharts.js鏇存柊鍒皏2.1.2鐗堟湰鍚庯紝@getIndex鏂规硶鑾峰彇绱㈠紩鍊煎彉鏇翠负e.currentIndex.index
-- 绀轰緥椤圭洰 pages/updata/updata.vue澧炲姞婊氬姩鏉℃嫋鍔ㄦ洿鏂帮紙鏁版嵁鍔ㄦ�佹墦鐐癸級鐨刣emo
-- 绀轰緥椤圭洰 pages/other/other.vue澧炲姞errorReload绂佺敤閿欒鐐瑰嚮閲嶆柊鍔犺浇鐨刣emo
-## 2.1.2-20210509锛�2021-05-09锛�
-绉嬩簯鍥捐〃缁勪欢 淇APP绔垵濮嬪寲鏃跺氨浼犲叆chartData鎴杔acaldata涓嶆樉绀哄浘琛ㄧ殑bug
-## 2.1.1-20210509锛�2021-05-09锛�
-- 绉嬩簯鍥捐〃缁勪欢 鍙樻洿ECharts鐨別opts閰嶇疆鍦╮enderjs鍐呮墽琛岋紝鏀寔鍦╟onfig-echarts.js閰嶇疆鏂囦欢鍐呭啓function閰嶇疆銆�
-- 绉嬩簯鍥捐〃缁勪欢 淇APP绔姤閿橮rop being mutated: "onmouse"閿欒鐨刡ug銆�
-- 绉嬩簯鍥捐〃缁勪欢 淇APP绔姤閿橢rror: Not Found锛歅age[6][-1,27] at view.umd.min.js:1鐨刡ug銆�
-## 2.1.0-20210507锛�2021-05-07锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇鍒濆鍖栨椂灏辨湁鏁版嵁鎴栬�呮暟鎹洿鏂扮殑鏃跺�檒oading鍔犺浇鍔ㄧ敾闂姩鐨刡ug
-- uCharts.js 淇x杞磃ormat鏂规硶categories涓哄瓧绗︿覆绫诲瀷鏃惰繑鍥濶aN鐨刡ug
-- uCharts.js 淇series.textColor銆乴egend.fontColor鏈墽琛屽叏灞�榛樿棰滆壊鐨刡ug
-## 2.1.0-20210506锛�2021-05-06锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇鏋佷釜鍒儏鍐典笅鎶ラ敊item.properties undefined鐨刡ug
-- 绉嬩簯鍥捐〃缁勪欢 淇鏋佷釜鍒儏鍐典笅鍏抽棴鍔犺浇鍔ㄧ敾reshow涓嶈捣浣滅敤锛屾棤娉曟樉绀哄浘琛ㄧ殑bug
-- 绀轰緥椤圭洰 pages/ucharts/ucharts.vue 澧炲姞鏃堕棿杞存姌绾垮浘锛坱ype="tline"锛夈�佹椂闂磋酱鍖哄煙鍥撅紙type="tarea"锛夈�佹暎鐐瑰浘锛坱ype="scatter"锛夈�佹皵娉″浘demo锛坱ype="bubble"锛夈�佸�掍笁瑙掑舰婕忔枟鍥撅紙opts.extra.funnel.type="triangle"锛夈�侀噾瀛楀褰㈡紡鏂楀浘锛坥pts.extra.funnel.type="pyramid"锛�
-- 绀轰緥椤圭洰 pages/format-u/format-u.vue 澧炲姞X杞磃ormat鏍煎紡鍖栫ず渚�
-- uCharts.js 鍗囩骇鑷硋2.1.0鐗堟湰
-- uCharts.js 淇 鐜懓鍥鹃潰绉ā寮忕偣鍑籺ooltip浣嶇疆涓嶆纭殑bug
-- uCharts.js 淇 鐜懓鍥剧偣鍑诲浘渚嬶紝鍙墿涓�涓被鍒樉绀虹┖鐧界殑bug
-- uCharts.js 淇 楗煎浘绫诲浘鐐瑰嚮鍥句緥锛屽叾浠栧浘琛╰ooltip浣嶇疆鏌愪簺鎯呭喌涓嬩笉鍑嗙殑bug
-- uCharts.js 淇 x杞翠负鐭㈤噺杞达紙鏃堕棿杞达級鎯呭喌涓嬶紝鐐瑰嚮tooltip浣嶇疆涓嶆纭殑bug
-- uCharts.js 淇 璇嶄簯鍥捐幏鍙栫偣鍑荤储寮曞伓灏斾笉鍑嗙殑bug
-- uCharts.js 澧炲姞 鐩磋鍧愭爣绯诲浘琛╔杞磃ormat鏍煎紡鍖栨柟娉曪紙鍘熺敓uCharts.js鐢ㄦ硶璇蜂娇鐢╢ormatter锛�
-- uCharts.js 澧炲姞 婕忔枟鍥炬墿灞曢厤缃紝鍊掍笁瑙掑舰锛坥pts.extra.funnel.type="triangle"锛夛紝閲戝瓧濉斿舰锛坥pts.extra.funnel.type="pyramid"锛�
-- uCharts.js 澧炲姞 鏁g偣鍥撅紙opts.type="scatter"锛夈�佹皵娉″浘锛坥pts.type="bubble"锛�
-- 鍚庢湡璁″垝 瀹屽杽鏁g偣鍥俱�佹皵娉″浘锛屽鍔爉arkPoints鏍囪鐐癸紝澧炲姞妯悜鏉$姸鍥俱��
-## 2.0.0-20210502锛�2021-05-02锛�
-- uCharts.js 淇璇嶄簯鍥捐幏鍙栫偣鍑荤储寮曚笉姝g‘鐨刡ug
-## 2.0.0-20210501锛�2021-05-01锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇QQ灏忕▼搴忋�佺櫨搴﹀皬绋嬪簭鍦ㄥ叧闂姩鐢绘晥鏋滄儏鍐典笅锛寁-for寰幆浣跨敤鍥捐〃锛屾樉绀轰笉姝g‘鐨刡ug
-## 2.0.0-20210426锛�2021-04-26锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇QQ灏忕▼搴忎笉鏀寔canvas2d鐨刡ug
-- 绉嬩簯鍥捐〃缁勪欢 淇閽夐拤灏忕▼搴忔煇浜涙儏鍐电偣鍑诲潗鏍囪绠楅敊璇殑bug
-- uCharts.js 澧炲姞 extra.column.categoryGap 鍙傛暟锛屾煴鐘跺浘绫绘瘡涓猚ategory鐐逛綅锛圶杞寸偣锛夋煴瀛愮粍涔嬮棿鐨勯棿璺�
-- uCharts.js 澧炲姞 yAxis.data[i].titleOffsetY 鍙傛暟锛屾爣棰樼旱鍚戝亸绉昏窛绂伙紝璐熸暟涓哄悜涓婂亸绉伙紝姝f暟鍚戜笅鍋忕Щ
-- uCharts.js 澧炲姞 yAxis.data[i].titleOffsetX 鍙傛暟锛屾爣棰樻í鍚戝亸绉昏窛绂伙紝璐熸暟涓哄悜宸﹀亸绉伙紝姝f暟鍚戝彸鍋忕Щ
-- uCharts.js 澧炲姞 extra.gauge.labelOffset 鍙傛暟锛屼华琛ㄧ洏鏍囩鏂囧瓧寰勫悜渚垮疁璺濈锛岄粯璁�13px
-## 2.0.0-20210422-2锛�2021-04-22锛�
-绉嬩簯鍥捐〃缁勪欢 淇 formatterAssign 鏈垽鏂� args[key] == null 鐨勬儏鍐靛鑷存爤婧㈠嚭鐨� bug
-## 2.0.0-20210422锛�2021-04-22锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇H5銆丄PP銆佹敮浠樺疂灏忕▼搴忋�佸井淇″皬绋嬪簭canvas2d妯″紡涓嬫í灞忔ā寮忕殑bug
-## 2.0.0-20210421锛�2021-04-21锛�
-- uCharts.js 淇澶氳鍥句緥鐨勬儏鍐典笅锛屽浘渚嬪湪涓婃柟鎴栬�呬笅鏂规椂锛屽浘渚媐loat涓哄乏渚ф垨鑰呭彸渚ф椂锛岀浜岃鍙婁互鍚庣殑鍥句緥瀵归綈鏂瑰紡涓嶆纭殑bug
-## 2.0.0-20210420锛�2021-04-20锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇寰俊灏忕▼搴忓紑鍚痗anvas2d妯″紡鍚庯紝windows鐗堝井淇″皬绋嬪簭涓嶆敮鎸乧anvas2d妯″紡鐨刡ug
-- 绉嬩簯鍥捐〃缁勪欢 淇敼闈瀠ni_modules鐗堟湰涓簐2.0鐗堟湰qiun-data-charts缁勪欢
-## 2.0.0-20210419锛�2021-04-19锛�
-## v1.0鐗堟湰宸插仠鏇达紝寤鸿杞瑄ni_modules鐗堟湰缁勪欢鏂瑰紡璋冪敤锛岀偣鍑诲彸渚х豢鑹层�愪娇鐢℉BuilderX瀵煎叆鎻掍欢銆戝嵆鍙娇鐢紝绀轰緥椤圭洰璇风偣鍑诲彸渚ц摑鑹叉寜閽�愪娇鐢℉BuilderX瀵煎叆绀轰緥椤圭洰銆戙��
-## 鍒濇浣跨敤濡傛灉鎻愮ず鏈敞鍐�&lt;qiun-data-charts&gt;缁勪欢锛岃閲嶅惎HBuilderX锛屽浠嶄笉濂界敤锛岃閲嶅惎鐢佃剳锛�
-## 濡傛灉鏄痗li椤圭洰锛岃灏濊瘯娓呯悊node_modules锛岄噸鏂癷nstall锛岃繕涓嶈灏卞垹闄ら」鐩紝鍐嶉噸鏂癷nstall銆�
-## 姝ら棶棰樺凡浜嶥Cloud瀹樻柟纭锛孒BuilderX涓嬩釜鐗堟湰浼氫慨澶嶃��
-## 鍏朵粬鍥捐〃涓嶆樉绀洪棶棰樿瑙乕甯歌闂閫夐」鍗(https://demo.ucharts.cn)
-## <font color=#FF0000> 鏂版墜璇峰厛瀹屾暣闃呰甯姪鏂囨。鍙婂父瑙侀棶棰�3閬嶏紝鍙充晶钃濊壊鎸夐挳绀轰緥椤圭洰璇风湅2閬嶏紒 </font> 
-## [DEMO婕旂ず鍙婂湪绾跨敓鎴愬伐鍏凤紙v2.0鏂囨。锛塰ttps://demo.ucharts.cn](https://demo.ucharts.cn)
-## [鍥捐〃缁勪欢鍦ㄩ」鐩腑鐨勫簲鐢ㄥ弬瑙� UReport鏁版嵁鎶ヨ〃](https://ext.dcloud.net.cn/plugin?id=4651) 
-- uCharts.js 淇娣峰悎鍥句腑鏌辩姸鍥惧崟鐙缃鑹蹭笉鐢熸晥鐨刡ug
-- uCharts.js 淇澶歒杞村崟鐙缃甪ontSize鏃讹紝寮�鍚痗anvas2d鍚庯紝鏈搴旀斁澶у瓧浣撶殑bug
-## 2.0.0-20210418锛�2021-04-18锛�
-- 绉嬩簯鍥捐〃缁勪欢 澧炲姞directory閰嶇疆锛屼慨澶岺5绔痟istory妯″紡涓嬪鏋滃彂甯冨埌浜岀骇鐩綍鏃犳硶姝g‘鍔犺浇echarts.min.js鐨刡ug
-## 2.0.0-20210416锛�2021-04-16锛�
-## v1.0鐗堟湰宸插仠鏇达紝寤鸿杞瑄ni_modules鐗堟湰缁勪欢鏂瑰紡璋冪敤锛岀偣鍑诲彸渚х豢鑹层�愪娇鐢℉BuilderX瀵煎叆鎻掍欢銆戝嵆鍙娇鐢紝绀轰緥椤圭洰璇风偣鍑诲彸渚ц摑鑹叉寜閽�愪娇鐢℉BuilderX瀵煎叆绀轰緥椤圭洰銆戙��
-## 鍒濇浣跨敤濡傛灉鎻愮ず鏈敞鍐�&lt;qiun-data-charts&gt;缁勪欢锛岃閲嶅惎HBuilderX锛屽浠嶄笉濂界敤锛岃閲嶅惎鐢佃剳锛�
-## 濡傛灉鏄痗li椤圭洰锛岃灏濊瘯娓呯悊node_modules锛岄噸鏂癷nstall锛岃繕涓嶈灏卞垹闄ら」鐩紝鍐嶉噸鏂癷nstall銆�
-## 姝ら棶棰樺凡浜嶥Cloud瀹樻柟纭锛孒BuilderX涓嬩釜鐗堟湰浼氫慨澶嶃��
-## 鍏朵粬鍥捐〃涓嶆樉绀洪棶棰樿瑙乕甯歌闂閫夐」鍗(https://demo.ucharts.cn)
-## <font color=#FF0000> 鏂版墜璇峰厛瀹屾暣闃呰甯姪鏂囨。鍙婂父瑙侀棶棰�3閬嶏紝鍙充晶钃濊壊鎸夐挳绀轰緥椤圭洰璇风湅2閬嶏紒 </font> 
-## [DEMO婕旂ず鍙婂湪绾跨敓鎴愬伐鍏凤紙v2.0鏂囨。锛塰ttps://demo.ucharts.cn](https://demo.ucharts.cn)
-## [鍥捐〃缁勪欢鍦ㄩ」鐩腑鐨勫簲鐢ㄥ弬瑙� UReport鏁版嵁鎶ヨ〃](https://ext.dcloud.net.cn/plugin?id=4651) 
-- 绉嬩簯鍥捐〃缁勪欢 淇APP绔煇浜涙儏鍐典笅鎶ラ敊`Not Found Page`鐨刡ug锛宖ix by 楂樼骇bug寮�鍙戞妧鏈憳
-- 绀轰緥椤圭洰 淇APP绔痸-for寰幆鏌愪簺鎯呭喌涓嬫姤閿檂Not Found Page`鐨刡ug锛宖ix by 楂樼骇bug寮�鍙戞妧鏈憳
-- uCharts.js 淇闈炵洿瑙掑潗鏍囩郴tooltip鎻愮ず绐楀彸渚ц秴鍑烘湭鍙樻崲鏂瑰悜鏄剧ず鐨刡ug
-## 2.0.0-20210415锛�2021-04-15锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇H5绔彂甯冨埌浜岀骇鐩綍涓媏charts鏃犳硶鍔犺浇鐨刡ug
-- 绉嬩簯鍥捐〃缁勪欢 淇鏌愪簺鎯呭喌涓媏charts.off('finished')绉婚櫎鐩戝惉浜嬩欢鎶ラ敊鐨刡ug
-## 2.0.0-20210414锛�2021-04-14锛�
-## v1.0鐗堟湰宸插仠鏇达紝寤鸿杞瑄ni_modules鐗堟湰缁勪欢鏂瑰紡璋冪敤锛岀偣鍑诲彸渚х豢鑹层�愪娇鐢℉BuilderX瀵煎叆鎻掍欢銆戝嵆鍙娇鐢紝绀轰緥椤圭洰璇风偣鍑诲彸渚ц摑鑹叉寜閽�愪娇鐢℉BuilderX瀵煎叆绀轰緥椤圭洰銆戙��
-## 鍒濇浣跨敤濡傛灉鎻愮ず鏈敞鍐�&lt;qiun-data-charts&gt;缁勪欢锛岃閲嶅惎HBuilderX锛屽浠嶄笉濂界敤锛岃閲嶅惎鐢佃剳锛�
-## 濡傛灉鏄痗li椤圭洰锛岃灏濊瘯娓呯悊node_modules锛岄噸鏂癷nstall锛岃繕涓嶈灏卞垹闄ら」鐩紝鍐嶉噸鏂癷nstall銆�
-## 姝ら棶棰樺凡浜嶥Cloud瀹樻柟纭锛孒BuilderX涓嬩釜鐗堟湰浼氫慨澶嶃��
-## 鍏朵粬鍥捐〃涓嶆樉绀洪棶棰樿瑙乕甯歌闂閫夐」鍗(https://demo.ucharts.cn)
-## <font color=#FF0000> 鏂版墜璇峰厛瀹屾暣闃呰甯姪鏂囨。鍙婂父瑙侀棶棰�3閬嶏紝鍙充晶钃濊壊鎸夐挳绀轰緥椤圭洰璇风湅2閬嶏紒 </font> 
-## [DEMO婕旂ず鍙婂湪绾跨敓鎴愬伐鍏凤紙v2.0鏂囨。锛塰ttps://demo.ucharts.cn](https://demo.ucharts.cn)
-## [鍥捐〃缁勪欢鍦ㄩ」鐩腑鐨勫簲鐢ㄥ弬瑙� UReport鏁版嵁鎶ヨ〃](https://ext.dcloud.net.cn/plugin?id=4651) 
-- 绉嬩簯鍥捐〃缁勪欢 淇H5绔湪cli椤圭洰涓婨Charts寮曠敤鍦板潃閿欒鐨刡ug
-- 绀轰緥椤圭洰 澧炲姞ECharts鐨刦ormatter鐢ㄦ硶鐨勭ず渚�(璇﹁绀轰緥椤圭洰format-e.vue)
-- uCharts.js 澧炲姞鍦嗙幆鍥句腑蹇冭儗鏅壊鐨勯厤缃甧xtra.ring.centerColor
-- uCharts.js 淇寰俊灏忕▼搴忓畨鍗撶鏌辩姸鍥惧紑鍚�忔槑鑹插悗鏄剧ず涓嶆纭殑bug
-## 2.0.0-20210413锛�2021-04-13锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇鐧惧害灏忕▼搴忓涓浘琛ㄧ湡鏈烘湭鑳芥纭幏鍙栨牴鍏冪礌dom灏哄鐨刡ug
-- 绉嬩簯鍥捐〃缁勪欢 淇鐧惧害灏忕▼搴忔í灞忔ā寮忔柟鍚戜笉姝g‘鐨刡ug
-- 绉嬩簯鍥捐〃缁勪欢 淇敼ontouch鏃讹紝@getTouchStart@getTouchMove@getTouchEnd鐨勮Е鍙戞潯浠�
-- uCharts.js 淇楗煎浘绫绘暟鎹牸寮弒eries灞炴�т笉鐢熸晥鐨刡ug
-- uCharts.js 澧炲姞鏃跺簭鍖哄煙鍥� 璇﹁绀轰緥椤圭洰涓璾charts.vue
-## 2.0.0-20210412-2锛�2021-04-12锛�
-## v1.0鐗堟湰宸插仠鏇达紝寤鸿杞瑄ni_modules鐗堟湰缁勪欢鏂瑰紡璋冪敤锛岀偣鍑诲彸渚х豢鑹层�愪娇鐢℉BuilderX瀵煎叆鎻掍欢銆戝嵆鍙娇鐢紝绀轰緥椤圭洰璇风偣鍑诲彸渚ц摑鑹叉寜閽�愪娇鐢℉BuilderX瀵煎叆绀轰緥椤圭洰銆戙��
-## 鍒濇浣跨敤濡傛灉鎻愮ず鏈敞鍐�&lt;qiun-data-charts&gt;缁勪欢锛岃閲嶅惎HBuilderX銆傚浠嶄笉濂界敤锛岃閲嶅惎鐢佃剳锛屾闂宸蹭簬DCloud瀹樻柟纭锛孒BuilderX涓嬩釜鐗堟湰浼氫慨澶嶃��
-## [DEMO婕旂ず鍙婂湪绾跨敓鎴愬伐鍏凤紙v2.0鏂囨。锛塰ttps://demo.ucharts.cn](https://demo.ucharts.cn)
-## [鍥捐〃缁勪欢鍦╱niCloudAdmin涓殑搴旂敤 UReport鏁版嵁鎶ヨ〃](https://ext.dcloud.net.cn/plugin?id=4651) 
-- 绉嬩簯鍥捐〃缁勪欢 淇uCharts鍦ˋPP绔í灞忔ā寮忎笅涓嶈兘姝g‘娓叉煋鐨刡ug
-- 绀轰緥椤圭洰 澧炲姞ECharts鏌辩姸鍥炬笎鍙樿壊銆佸渾瑙掓煴鐘跺浘銆佹í鍚戞煴鐘跺浘锛堟潯鐘跺浘锛夌殑绀轰緥
-## 2.0.0-20210412锛�2021-04-12锛�
-- 绉嬩簯鍥捐〃缁勪欢 淇created涓垽鏂璭charts瀵艰嚧APP绔棤娉曡瘑鍒紝鏀瑰洖mounted涓垽鏂璭charts鍒濆鍖�
-- uCharts.js 淇2d妯″紡涓媠eries.textOffset鏈箻鍍忕礌姣旂殑bug
-## 2.0.0-20210411锛�2021-04-11锛�
-## v1.0鐗堟湰宸插仠鏇达紝寤鸿杞瑄ni_modules鐗堟湰缁勪欢鏂瑰紡璋冪敤锛岀偣鍑诲彸渚х豢鑹层�愪娇鐢℉BuilderX瀵煎叆鎻掍欢銆戝嵆鍙娇鐢紝绀轰緥椤圭洰璇风偣鍑诲彸渚ц摑鑹叉寜閽�愪娇鐢℉BuilderX瀵煎叆绀轰緥椤圭洰銆戙��
-## 鍒濇浣跨敤濡傛灉鎻愮ず鏈敞鍐�<qiun-data-charts>缁勪欢锛岃閲嶅惎HBuilderX锛屽苟娓呯┖灏忕▼搴忓紑鍙戣�呭伐鍏风紦瀛樸��
-## [DEMO婕旂ず鍙婂湪绾跨敓鎴愬伐鍏凤紙v2.0鏂囨。锛塰ttps://demo.ucharts.cn](https://demo.ucharts.cn)
-## [鍥捐〃缁勪欢鍦╱niCloudAdmin涓殑搴旂敤 UReport鏁版嵁鎶ヨ〃](https://ext.dcloud.net.cn/plugin?id=4651) 
-- uCharts.js 鎶樼嚎鍥惧尯鍩熷浘澧炲姞connectNulls鏂偣缁繛鐨勫姛鑳斤紝璇﹁绀轰緥椤圭洰涓璾charts.vue
-- 绉嬩簯鍥捐〃缁勪欢 鍙樻洿鍒濆鍖栨柟娉曚负created锛屽彉鏇磘ype2d榛樿鍊间负true锛屼紭鍖�2d妯″紡涓嬬粍浠跺垵濮嬪寲鍚巇om鑾峰彇涓嶅埌鐨刡ug
-- 绉嬩簯鍥捐〃缁勪欢 淇宸﹀彸甯冨眬鏃讹紝鍙充晶鍥捐〃鐐瑰嚮鍧愭爣閿欒鐨刡ug锛屼慨澶峵ooltip鏌辩姸鍥捐嚜瀹氫箟棰滆壊鏄剧ずobject鐨刡ug
-## 2.0.0-20210410锛�2021-04-10锛�
-- 淇宸﹀彸甯冨眬鏃讹紝鍙充晶鍥捐〃鐐瑰嚮鍧愭爣閿欒鐨刡ug锛屼慨澶嶆煴鐘跺浘鑷畾涔夐鑹瞭ooltip鏄剧ずobject鐨刡ug
-- 澧炲姞鏍囪绾垮強鏌辩姸鍥捐嚜瀹氫箟棰滆壊鐨刣emo
-## 2.0.0-20210409锛�2021-04-08锛�
-## v1.0鐗堟湰宸插仠鏇达紝寤鸿杞瑄ni_modules鐗堟湰缁勪欢鏂瑰紡璋冪敤锛岀偣鍑诲彸渚с�愪娇鐢℉BuilderX瀵煎叆鎻掍欢銆戝嵆鍙綋楠岋紝DEMO婕旂ず鍙婂湪绾跨敓鎴愬伐鍏凤紙v2.0鏂囨。锛塠https://demo.ucharts.cn](https://demo.ucharts.cn)
-## 鍥捐〃缁勪欢鍦╱niCloudAdmin涓殑搴旂敤 [UReport鏁版嵁鎶ヨ〃](https://ext.dcloud.net.cn/plugin?id=4651) 
-- uCharts.js 淇閽夐拤灏忕▼搴忕櫨搴﹀皬绋嬪簭measureText涓嶅噯纭殑bug锛屼慨澶�2d妯″紡涓嬮ゼ鍥剧被activeRadius涓烘寜姣斾緥鏀惧ぇ鐨刡ug
-- 淇缁勪欢鍦ㄦ敮浠樺疂灏忕▼搴忕鐐瑰嚮浣嶇疆涓嶅噯纭殑bug
-## 2.0.0-20210408锛�2021-04-07锛�
-- 淇缁勪欢鍦ㄦ敮浠樺疂灏忕▼搴忕涓嶈兘鏄剧ず鐨刡ug锛堢洰鍓嶆敮浠樺疂灏忕▼涓嶈兘鐐瑰嚮浜や簰锛屽悗缁慨澶嶏級
-- uCharts.js 淇楂樺垎灞忎笅鏌辩姸鍥剧被锛屽渾寮ц繘搴︽潯 鑷畾涔夊搴︿笉鑳芥寜姣斾緥鏀惧ぇ鐨刡ug
-## 2.0.0-20210407锛�2021-04-06锛�
-## v1.0鐗堟湰宸插仠鏇达紝寤鸿杞瑄ni_modules鐗堟湰缁勪欢鏂瑰紡璋冪敤锛岀偣鍑诲彸渚с�愪娇鐢℉BuilderX瀵煎叆鎻掍欢銆戝嵆鍙綋楠岋紝DEMO婕旂ず鍙婂湪绾跨敓鎴愬伐鍏凤紙v2.0鏂囨。锛塠https://demo.ucharts.cn](https://demo.ucharts.cn)
-## 澧炲姞 閫氳繃tofix鍜寀nit蹇�熸牸寮忓寲y杞寸殑demo add by `howcode`
-## 澧炲姞 鍥捐〃缁勪欢鍦╱niCloudAdmin涓殑搴旂敤 [UReport鏁版嵁鎶ヨ〃](https://ext.dcloud.net.cn/plugin?id=4651) 
-## 2.0.0-20210406锛�2021-04-05锛�
-# 绉嬩簯鍥捐〃缁勪欢+uCharts v2.0鐗堟湰鍚屾涓婄嚎锛屼娇鐢ㄦ柟娉曡瑙乭ttps://demo.ucharts.cn甯姪椤�
-## 2.0.0锛�2021-04-05锛�
-# 绉嬩簯鍥捐〃缁勪欢+uCharts v2.0鐗堟湰鍚屾涓婄嚎锛屼娇鐢ㄦ柟娉曡瑙乭ttps://demo.ucharts.cn甯姪椤�
diff --git a/src/components/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue b/src/components/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue
deleted file mode 100644
index bdcbb9f..0000000
--- a/src/components/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.vue
+++ /dev/null
@@ -1,1614 +0,0 @@
-<!-- 
- * qiun-data-charts 绉嬩簯楂樻�ц兘璺ㄥ叏绔浘琛ㄧ粍浠�
- * Copyright (c) 2021 QIUN庐 绉嬩簯 https://www.ucharts.cn All rights reserved.
- * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- * 澶嶅埗浣跨敤璇蜂繚鐣欐湰娈垫敞閲婏紝鎰熻阿鏀寔寮�婧愶紒
- * 涓烘柟渚挎洿澶氬紑鍙戣�呬娇鐢紝濡傛湁鏇村ソ鐨勫缓璁鎻愪氦鐮佷簯 Pull Requests 锛�
- *
- * uCharts庐瀹樻柟缃戠珯
- * https://www.uCharts.cn
- * 
- * 寮�婧愬湴鍧�:
- * https://gitee.com/uCharts/uCharts
- * 
- * uni-app鎻掍欢甯傚満鍦板潃锛�
- * http://ext.dcloud.net.cn/plugin?id=271
- * 
- -->
- <template>
-  <view class="chartsview" :id="'ChartBoxId'+cid">
-    <view v-if="mixinDatacomLoading">
-      <!-- 鑷畾涔夊姞杞界姸鎬侊紝璇锋敼杩欓噷 -->
-      <qiun-loading :loadingType="loadingType" />
-    </view>
-    <view v-if="mixinDatacomErrorMessage && errorShow" @tap="reloading">
-      <!-- 鑷畾涔夐敊璇彁绀猴紝璇锋敼杩欓噷 -->
-      <qiun-error :errorMessage="errorMessage" />
-    </view>
-    <!-- APP鍜孒5閲囩敤renderjs娓叉煋鍥捐〃 -->
-    <!-- #ifdef APP-VUE || H5 -->
-    <block v-if="echarts">
-      <view
-        :style="{ background: background }"
-        style="width: 100%;height: 100%;"
-        :data-directory="directory"
-        :id="'EC'+cid" 
-        :prop="echartsOpts" 
-        :change:prop="rdcharts.ecinit" 
-        :resize="echartsResize"
-        :change:resize="rdcharts.ecresize"
-        v-show="showchart"
-      />
-    </block>
-    <block v-else>
-      <view
-        v-on:tap="rdcharts.tap"
-        v-on:mousemove="rdcharts.mouseMove"
-        v-on:mousedown="rdcharts.mouseDown"
-        v-on:mouseup="rdcharts.mouseUp"
-        v-on:touchstart="rdcharts.touchStart"
-        v-on:touchmove="rdcharts.touchMove"
-        v-on:touchend="rdcharts.touchEnd"
-        :id="'UC'+cid"
-        :prop="uchartsOpts"
-        :change:prop="rdcharts.ucinit"
-      >
-        <canvas
-          :id="cid"
-          :canvasId="cid"
-          :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
-          :disable-scroll="disableScroll"
-          @error="_error"
-          v-show="showchart"
-        />
-      </view>
-    </block>
-    <!-- #endif -->
-    <!-- 鏀粯瀹濆皬绋嬪簭 -->
-    <!-- #ifdef MP-ALIPAY -->
-    <block v-if="ontouch">
-      <canvas
-        :id="cid"
-        :canvasId="cid"
-        :width="cWidth * pixel"
-        :height="cHeight * pixel"
-        :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
-        :disable-scroll="disScroll"
-        @tap="_tap"
-        @touchstart="_touchStart"
-        @touchmove="_touchMove"
-        @touchend="_touchEnd"
-        @error="_error"
-        v-show="showchart"
-      />
-    </block>
-    <block v-if="!ontouch">
-      <canvas
-        :id="cid"
-        :canvasId="cid"
-        :width="cWidth * pixel"
-        :height="cHeight * pixel"
-        :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
-        :disable-scroll="disScroll"
-        @tap="_tap"
-        @error="_error"
-        v-show="showchart"
-      />
-    </block>
-    <!-- #endif -->
-    <!-- 鍏朵粬灏忕▼搴忛�氳繃vue娓叉煋鍥捐〃 -->
-    <!-- #ifdef MP-WEIXIN || MP-BAIDU || MP-QQ || MP-TOUTIAO || MP-KUAISHOU || MP-LARK || MP-JD || MP-360 -->
-    <block v-if="type2d">
-      <view v-if="ontouch" @tap="_tap">
-        <canvas
-          :id="cid"
-          :canvasId="cid"
-          :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
-          type="2d"
-          :disable-scroll="disScroll"
-          @touchstart="_touchStart"
-          @touchmove="_touchMove"
-          @touchend="_touchEnd"
-          @error="_error"
-          v-show="showchart"
-        />
-      </view>
-      <view v-if="!ontouch" @tap="_tap">
-        <canvas
-          :id="cid"
-          :canvasId="cid"
-          :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
-          type="2d"
-          :disable-scroll="disScroll"
-          @error="_error"
-          v-show="showchart"
-        />
-      </view>
-    </block>
-    <block v-if="!type2d">
-      <view v-if="ontouch" @tap="_tap">
-        <canvas
-          :id="cid"
-          :canvasId="cid"
-          :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
-          @touchstart="_touchStart"
-          @touchmove="_touchMove"
-          @touchend="_touchEnd"
-          :disable-scroll="disScroll"
-          @error="_error"
-          v-if="showchart"
-        />
-      </view>
-      <view v-if="!ontouch" >
-        <canvas
-          :id="cid"
-          :canvasId="cid"
-          :style="{ width: cWidth + 'px', height: cHeight + 'px', background: background }"
-          :disable-scroll="disScroll"
-          @tap="_tap"
-          @error="_error"
-          v-if="showchart"
-        />
-      </view>
-    </block>
-    <!-- #endif -->
-  </view>
-</template>
-
-<script>
-import uCharts from '../../js_sdk/u-charts/u-charts.js';
-import cfu from '../../js_sdk/u-charts/config-ucharts.js';
-// #ifdef APP-VUE || H5
-import cfe from '../../js_sdk/u-charts/config-echarts.js';
-// #endif
-
-function deepCloneAssign(origin = {}, ...args) {
-  for (let i in args) {
-    for (let key in args[i]) {
-      if (args[i].hasOwnProperty(key)) {
-        origin[key] = args[i][key] && typeof args[i][key] === 'object' ? deepCloneAssign(Array.isArray(args[i][key]) ? [] : {}, origin[key], args[i][key]) : args[i][key];
-      }
-    }
-  }
-  return origin;
-}
-
-function formatterAssign(args,formatter) {
-  for (let key in args) {
-    if(args.hasOwnProperty(key) && args[key] !== null && typeof args[key] === 'object'){
-      formatterAssign(args[key],formatter)
-    }else if(key === 'format' && typeof args[key] === 'string'){
-      args['formatter'] = formatter[args[key]] ? formatter[args[key]] : undefined;
-    }
-  }
-  return args;
-}
-
-// 鏃堕棿杞崲鍑芥暟锛屼负浜嗗尮閰島niClinetDB璇诲彇鍑虹殑鏃堕棿涓巆ategories涓嶅悓
-function getFormatDate(date) {
-	var seperator = "-";
-	var year = date.getFullYear();
-	var month = date.getMonth() + 1;
-	var strDate = date.getDate();
-	if (month >= 1 && month <= 9) {
-			month = "0" + month;
-	}
-	if (strDate >= 0 && strDate <= 9) {
-			strDate = "0" + strDate;
-	}
-	var currentdate = year + seperator + month + seperator + strDate;
-	return currentdate;
-}
-
-var lastMoveTime = null;
-/**
- * 闃叉姈
- *
- * @param { Function } fn 瑕佹墽琛岀殑鏂规硶
- * @param { Number } wait  闃叉姈澶氬皯姣
- *
- * 鍦� vue 涓娇鐢紙娉ㄦ剰锛氫笉鑳戒娇鐢ㄧ澶村嚱鏁帮紝鍚﹀垯this鎸囧悜涓嶅锛屽苟涓斾笉鑳藉啀娆″皝瑁呭锛�
- * move(){  // 閿欒璋冪敤鏂瑰紡
- *   debounce(function () {
- *   console.log(this.title);
- * }, 1000)}锛�;
- * 搴旇鐩存帴浣跨敤锛�// 姝g‘璋冪敤鏂瑰紡
- * move: debounce(function () {
- *   console.log(this.title);
- * }, 1000)
- */
-function debounce(fn, wait) {
-  let timer = false;
-  return function() {
-    clearTimeout(timer);
-    timer && clearTimeout(timer);
-    timer = setTimeout(() => {
-      timer = false;
-      fn.apply(this, arguments); // 鎶婂弬鏁颁紶杩涘幓
-    }, wait);
-  };
-}
-
-export default {
-  name: 'qiun-data-charts',
-  mixins: [uniCloud.mixinDatacom],
-  props: {
-    type: {
-      type: String,
-      default: null
-    },
-    canvasId: {
-      type: String,
-      default: 'uchartsid'
-    },
-    canvas2d: {
-      type: Boolean,
-      default: false
-    },
-    background: {
-      type: String,
-      default: 'rgba(0,0,0,0)'
-    },
-    animation: {
-      type: Boolean,
-      default: true
-    },
-    chartData: {
-      type: Object,
-      default() {
-        return {
-          categories: [],
-          series: []
-        };
-      }
-    },
-    opts: {
-      type: Object,
-      default() {
-        return {};
-      }
-    },
-    eopts: {
-      type: Object,
-      default() {
-        return {};
-      }
-    },
-    loadingType: {
-      type: Number,
-      default: 2
-    },
-    errorShow: {
-      type: Boolean,
-      default: true
-    },
-    errorReload: {
-      type: Boolean,
-      default: true
-    },
-    errorMessage: {
-      type: String,
-      default: null
-    },
-    inScrollView: {
-      type: Boolean,
-      default: false
-    },
-    reshow: {
-      type: Boolean,
-      default: false
-    },
-    reload: {
-      type: Boolean,
-      default: false
-    },
-    disableScroll: {
-      type: Boolean,
-      default: false
-    },
-    optsWatch: {
-      type: Boolean,
-      default: true
-    },
-    onzoom: {
-      type: Boolean,
-      default: false
-    },
-    ontap: {
-      type: Boolean,
-      default: true
-    },
-    ontouch: {
-      type: Boolean,
-      default: false
-    },
-    onmouse: {
-      type: Boolean,
-      default: true
-    },
-    onmovetip: {
-      type: Boolean,
-      default: false
-    },
-    echartsH5: {
-      type: Boolean,
-      default: false
-    },
-    echartsApp: {
-      type: Boolean,
-      default: false
-    },
-    tooltipShow: {
-      type: Boolean,
-      default: true
-    },
-    tooltipFormat: {
-      type: String,
-      default: undefined
-    },
-    tooltipCustom: {
-      type: Object,
-      default: undefined
-    },
-    startDate: {
-      type: String,
-      default: undefined
-    },
-    endDate: {
-      type: String,
-      default: undefined
-    },
-    textEnum: {
-      type: Array,
-      default () {
-        return []
-      }
-    },
-    groupEnum: {
-      type: Array,
-      default () {
-        return []
-      }
-    },
-    pageScrollTop: {
-      type: Number,
-      default: 0
-    },
-    directory: {
-      type: String,
-      default: '/'
-    },
-    tapLegend: {
-      type: Boolean,
-      default: true
-    },
-    menus: {
-      type: Array,
-      default () {
-        return []
-      }
-    }
-  },
-  data() {
-    return {
-      cid: 'uchartsid',
-      inWx: false,
-      inAli: false,
-      inTt: false,
-      inBd: false,
-      inH5: false,
-      inApp: false,
-      inWin: false,
-      type2d: true,
-      disScroll: false,
-      openmouse: false,
-      pixel: 1,
-      cWidth: 375,
-      cHeight: 250,
-      showchart: false,
-      echarts: false,
-      echartsResize:{
-        state:false
-      },
-      uchartsOpts: {},
-      echartsOpts: {},
-      drawData:{},
-      lastDrawTime:null,
-    };
-  },
-  created(){
-    this.cid = this.canvasId
-    if (this.canvasId == 'uchartsid' || this.canvasId == '') {
-      let t = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
-      let len = t.length
-      let id = ''
-      for (let i = 0; i < 32; i++) {
-        id += t.charAt(Math.floor(Math.random() * len))
-      }
-      this.cid = id
-    }
-    const systemInfo = uni.getSystemInfoSync()
-    if(systemInfo.platform === 'windows' || systemInfo.platform === 'mac'){
-      this.inWin = true;
-    }
-    // #ifdef MP-WEIXIN
-    this.inWx = true;
-    if (this.canvas2d === false || systemInfo.platform === 'windows' || systemInfo.platform === 'mac') {
-      this.type2d = false;
-    }else{
-      this.type2d = true;
-      this.pixel = systemInfo.pixelRatio;
-    }
-    // #endif
-    //闈炲井淇″皬绋嬪簭绔己鍒跺叧闂璫anvas2d妯″紡
-    // #ifndef MP-WEIXIN
-    this.type2d = false;
-    // #endif
-    // #ifdef  MP-TOUTIAO || MP-LARK || MP-ALIPAY
-    this.type2d = this.canvas2d;
-    // #endif
-    // #ifdef MP-ALIPAY
-    this.inAli = true;
-    this.pixel = systemInfo.pixelRatio;
-    // #endif
-    // #ifdef MP-BAIDU
-    this.inBd = true;
-    // #endif
-    // #ifdef MP-TOUTIAO
-    this.inTt = true;
-    // #endif
-    this.disScroll = this.disableScroll;
-  },
-  mounted() {
-    // #ifdef APP-VUE
-    this.inApp = true;
-    if (this.echartsApp === true) {
-      this.echarts = true;
-      this.openmouse = false;
-    }
-    // #endif
-    // #ifdef APP-NVUE
-    this.inApp = true;
-    this.mixinDatacomLoading = false
-    this.mixinDatacomErrorMessage = "鏆備笉鏀寔NVUE"
-    // #endif
-    // #ifdef H5
-    this.inH5 = true;
-    if(this.inWin === true){
-      this.openmouse = this.onmouse;
-    }
-    if (this.echartsH5 === true) {
-      this.echarts = true;
-    }
-    // #endif
-    this.$nextTick(()=>{
-      this.beforeInit();
-    })
-    // #ifndef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO || APP-VUE
-    const time = this.inH5 ? 500 : 200;
-    const _this = this;
-    uni.onWindowResize(
-      debounce(function(res) {
-        if (_this.mixinDatacomLoading == true) {
-          return;
-        }
-        let errmsg = _this.mixinDatacomErrorMessage;
-        if (errmsg !== null && errmsg !== 'null' && errmsg !== '') {
-          return;
-        }
-        if (_this.echarts) {
-          _this.echartsResize.state = !_this.echartsResize.state;
-        } else {
-          _this.resizeHandler();
-        }
-      }, time)
-    );
-    // #endif
-  },
-  destroyed(){
-    if(this.echarts === true){
-      delete cfe.option[this.cid]
-      delete cfe.instance[this.cid]
-    }else{
-      delete cfu.option[this.cid]
-      delete cfu.instance[this.cid]
-    }
-    // #ifndef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO
-    uni.offWindowResize(()=>{})
-    // #endif
-  },
-  watch: {
-    chartDataProps: {
-      handler(val, oldval) {
-        if (typeof val === 'object') {
-          if (JSON.stringify(val) !== JSON.stringify(oldval)) {
-            this._clearChart();
-            if (val.series && val.series.length > 0) {
-              this.beforeInit();
-            }else{
-              this.mixinDatacomLoading = true;
-              this.showchart = false;
-              this.mixinDatacomErrorMessage = null;
-            }
-          }
-        } else {
-          this.mixinDatacomLoading = false;
-          this._clearChart();
-          this.showchart = false;
-          this.mixinDatacomErrorMessage = '鍙傛暟閿欒锛歝hartData鏁版嵁绫诲瀷閿欒';
-        }
-      },
-      immediate: false,
-      deep: true
-    },
-    localdata:{
-      handler(val, oldval) {
-        if (JSON.stringify(val) !== JSON.stringify(oldval)) {
-          if (val.length > 0) {
-            this.beforeInit();
-          }else{
-            this.mixinDatacomLoading = true;
-            this._clearChart();
-            this.showchart = false;
-            this.mixinDatacomErrorMessage = null;
-          }
-        }
-      },
-      immediate: false,
-      deep: true
-    },
-    optsProps: {
-      handler(val, oldval) {
-        if (typeof val === 'object') {
-          if (JSON.stringify(val) !== JSON.stringify(oldval) && this.echarts === false && this.optsWatch == true) {
-            this.checkData(this.drawData);
-          }
-        } else {
-          this.mixinDatacomLoading = false;
-          this._clearChart();
-          this.showchart = false;
-          this.mixinDatacomErrorMessage = '鍙傛暟閿欒锛歰pts鏁版嵁绫诲瀷閿欒';
-        }
-      },
-      immediate: false,
-      deep: true
-    },
-    eoptsProps: {
-      handler(val, oldval) {
-        if (typeof val === 'object') {
-          if (JSON.stringify(val) !== JSON.stringify(oldval) && this.echarts === true) {
-            this.checkData(this.drawData);
-          }
-        } else {
-          this.mixinDatacomLoading = false;
-          this.showchart = false;
-          this.mixinDatacomErrorMessage = '鍙傛暟閿欒锛歟opts鏁版嵁绫诲瀷閿欒';
-        }
-      },
-      immediate: false,
-      deep: true
-    },
-    reshow(val, oldval) {
-      if (val === true && this.mixinDatacomLoading === false) {
-        setTimeout(() => {
-          this.mixinDatacomErrorMessage = null;
-          this.echartsResize.state = !this.echartsResize.state;
-          this.checkData(this.drawData);
-        }, 200);
-      }
-    },
-    reload(val, oldval) {
-      if (val === true) {
-        this.showchart = false;
-        this.mixinDatacomErrorMessage = null;
-        this.reloading();
-      }
-    },
-    mixinDatacomErrorMessage(val, oldval) {
-      if (val) {
-        this.emitMsg({name: 'error', params: {type:"error", errorShow: this.errorShow, msg: val, id: this.cid}});
-        if(this.errorShow){
-          console.log('[绉嬩簯鍥捐〃缁勪欢]' + val);
-        }
-      }
-    },
-    errorMessage(val, oldval) {
-      if (val && this.errorShow && val !== null && val !== 'null' && val !== '') {
-        this.showchart = false;
-        this.mixinDatacomLoading = false;
-        this.mixinDatacomErrorMessage = val;
-      } else {
-        this.showchart = false;
-        this.mixinDatacomErrorMessage = null;
-        this.reloading();
-      }
-    }
-  },
-  computed: {
-    optsProps() {
-      return JSON.parse(JSON.stringify(this.opts));
-    },
-    eoptsProps() {
-      return JSON.parse(JSON.stringify(this.eopts));
-    },
-    chartDataProps() {
-      return JSON.parse(JSON.stringify(this.chartData));
-    },
-  },
-  methods: {
-    beforeInit(){
-      this.mixinDatacomErrorMessage = null;
-      if (typeof this.chartData === 'object' && this.chartData != null && this.chartData.series !== undefined && this.chartData.series.length > 0) {
-        //鎷疯礉涓�涓媍hartData锛屼负浜唎pts鍙樻洿鍚庣粺涓�鏁版嵁鏉ユ簮
-        this.drawData = deepCloneAssign({}, this.chartData);
-        this.mixinDatacomLoading = false;
-        this.showchart = true;
-        this.checkData(this.chartData);
-      }else if(this.localdata.length>0){
-        this.mixinDatacomLoading = false;
-        this.showchart = true;
-        this.localdataInit(this.localdata);
-      }else if(this.collection !== ''){
-        this.mixinDatacomLoading = false;
-        this.getCloudData();
-      }else{
-        this.mixinDatacomLoading = true;
-      }
-    },
-    localdataInit(resdata){
-      //鏇挎崲enum绫诲瀷涓烘纭殑鎻忚堪
-      if(this.groupEnum.length>0){
-        for (let i = 0; i < resdata.length; i++) {
-          for (let j = 0; j < this.groupEnum.length; j++) {
-            if(resdata[i].group === this.groupEnum[j].value){
-              resdata[i].group = this.groupEnum[j].text
-            }
-          }
-        }
-      }
-      if(this.textEnum.length>0){
-        for (let i = 0; i < resdata.length; i++) {
-          for (let j = 0; j < this.textEnum.length; j++) {
-            if(resdata[i].text === this.textEnum[j].value){
-              resdata[i].text = this.textEnum[j].text
-            }
-          }
-        }
-      }
-      let needCategories = false;
-      let tmpData = {categories:[], series:[]}
-      let tmpcategories = []
-      let tmpseries = [];
-      //鎷兼帴categories
-      if(this.echarts === true){
-        needCategories = cfe.categories.includes(this.type)
-      }else{
-        needCategories = cfu.categories.includes(this.type)
-      }
-      if(needCategories === true){
-        //濡傛灉props涓殑chartData甯︽湁categories锛屽垯浼樺厛浣跨敤chartData鐨刢ategories
-        if(this.chartData && this.chartData.categories && this.chartData.categories.length>0){
-          tmpcategories = this.chartData.categories
-        }else{
-          //濡傛灉鏄棩鏈熺被鍨嬬殑鏁版嵁锛屼笉绠℃槸鏈湴鏁版嵁杩樻槸浜戞暟鎹紝閮芥寜璧锋鏃ユ湡鑷姩鎷兼帴categories
-          if(this.startDate && this.endDate){
-            let idate = new Date(this.startDate)
-            let edate = new Date(this.endDate)
-            while (idate <= edate) {
-            	tmpcategories.push(getFormatDate(idate))
-            	idate = idate.setDate(idate.getDate() + 1)
-            	idate = new Date(idate)
-            }
-          //鍚﹀垯浠庣粨鏋滀腑鍘婚噸骞舵嫾鎺ategories
-          }else{
-            let tempckey = {};
-            resdata.map(function(item, index) {
-              if (item.text != undefined && !tempckey[item.text]) {
-                tmpcategories.push(item.text)
-                tempckey[item.text] = true
-              }
-            });
-          }
-        }
-        tmpData.categories = tmpcategories
-      }
-      //鎷兼帴series
-      let tempskey = {};
-      resdata.map(function(item, index) {
-        if (item.group != undefined && !tempskey[item.group]) {
-          tmpseries.push({ name: item.group, data: [] });
-          tempskey[item.group] = true;
-        }
-      });
-      //濡傛灉娌℃湁鑾峰彇鍒板垎缁勫悕绉�(鍙兘鏄甫categories鐨勬暟鎹紝涔熷彲鑳芥槸涓嶅甫鐨勯ゼ鍥剧被)
-      if (tmpseries.length == 0) {
-        tmpseries = [{ name: '榛樿鍒嗙粍', data: [] }];
-        //濡傛灉鏄渶瑕乧ategories鐨勫浘琛ㄧ被鍨�
-        if(needCategories === true){
-          for (let j = 0; j < tmpcategories.length; j++) {
-            let seriesdata = 0;
-            for (let i = 0; i < resdata.length; i++) {
-              if (resdata[i].text == tmpcategories[j]) {
-                seriesdata = resdata[i].value;
-              }
-            }
-            tmpseries[0].data.push(seriesdata);
-          }
-        //濡傛灉鏄ゼ鍥剧被鐨勫浘琛ㄧ被鍨�
-        }else{
-          for (let i = 0; i < resdata.length; i++) {
-            tmpseries[0].data.push({"name": resdata[i].text,"value": resdata[i].value});
-          }
-        }
-      //濡傛灉鏈夊垎缁勫悕
-      } else {
-        for (let k = 0; k < tmpseries.length; k++) {
-          //濡傛灉鏈塩ategories
-          if (tmpcategories.length > 0) {
-            for (let j = 0; j < tmpcategories.length; j++) {
-              let seriesdata = 0;
-              for (let i = 0; i < resdata.length; i++) {
-                if (tmpseries[k].name == resdata[i].group && resdata[i].text == tmpcategories[j]) {
-                  seriesdata = resdata[i].value;
-                }
-              }
-              tmpseries[k].data.push(seriesdata);
-            }
-          //濡傛灉浼犱簡group鑰屾病鏈変紶text锛屽嵆娌℃湁categories锛堟甯告儏鍐典笅杩欑鏁版嵁鏄笉绗﹀悎鏁版嵁瑕佹眰瑙勮寖鐨勶級
-          } else {
-            for (let i = 0; i < resdata.length; i++) {
-              if (tmpseries[k].name == resdata[i].group) {
-                tmpseries[k].data.push(resdata[i].value);
-              }
-            }
-          }
-        }
-      }
-      tmpData.series = tmpseries
-      //鎷疯礉涓�涓媍hartData锛屼负浜唎pts鍙樻洿鍚庣粺涓�鏁版嵁鏉ユ簮
-      this.drawData = deepCloneAssign({}, tmpData);
-      this.checkData(tmpData)
-    },
-    reloading() {
-      if(this.errorReload === false){
-        return;
-      }
-      this.showchart = false;
-      this.mixinDatacomErrorMessage = null;
-      if (this.collection !== '') {
-        this.mixinDatacomLoading = false;
-        this.onMixinDatacomPropsChange(true);
-      } else {
-        this.beforeInit();
-      }
-    },
-    checkData(anyData) {
-      let cid = this.cid
-      //澶嶄綅opts鎴杄opts
-      if(this.echarts === true){
-        cfe.option[cid] = deepCloneAssign({}, this.eopts);
-        cfe.option[cid].id = cid;
-        cfe.option[cid].type = this.type;
-      }else{
-        if (this.type && cfu.type.includes(this.type)) {
-          cfu.option[cid] = deepCloneAssign({}, cfu[this.type], this.opts);
-          cfu.option[cid].canvasId = cid;
-        } else {
-          this.mixinDatacomLoading = false;
-          this.showchart = false;
-          this.mixinDatacomErrorMessage = '鍙傛暟閿欒锛歱rops鍙傛暟涓璽ype绫诲瀷涓嶆纭�';
-        }
-      }
-      //鎸傝浇categories鍜宻eries
-      let newData = deepCloneAssign({}, anyData);
-      if (newData.series !== undefined && newData.series.length > 0) {
-        this.mixinDatacomErrorMessage = null;
-        if (this.echarts === true) {
-          cfe.option[cid].chartData = newData;
-          this.$nextTick(()=>{
-            this.init()
-          })
-        }else{
-          cfu.option[cid].categories = newData.categories;
-          cfu.option[cid].series = newData.series;
-          this.$nextTick(()=>{
-            this.init()
-          })
-        }
-      }
-    },
-    resizeHandler() {
-      //娓叉煋闃叉姈
-      let currTime = Date.now();
-      let lastDrawTime = this.lastDrawTime?this.lastDrawTime:currTime-3000;
-      let duration = currTime - lastDrawTime;
-      if (duration < 1000) return;
-      let chartdom = uni
-        .createSelectorQuery()
-        // #ifndef MP-ALIPAY
-        .in(this)
-        // #endif
-        .select('#ChartBoxId'+this.cid)
-        .boundingClientRect(data => {
-          this.showchart = true;
-          if (data.width > 0 && data.height > 0) {
-            if (data.width !== this.cWidth || data.height !== this.cHeight) {
-              this.checkData(this.drawData)
-            }
-          }
-        })
-        .exec();
-    },
-    getCloudData() {
-      if (this.mixinDatacomLoading == true) {
-        return;
-      }
-      this.mixinDatacomLoading = true;
-      this.mixinDatacomGet()
-        .then(res => {
-          this.mixinDatacomResData = res.result.data;
-          this.localdataInit(this.mixinDatacomResData);
-        })
-        .catch(err => {
-          this.mixinDatacomLoading = false;
-          this.showchart = false;
-          this.mixinDatacomErrorMessage = '璇锋眰閿欒锛�' + err;
-        });
-    },
-    onMixinDatacomPropsChange(needReset, changed) {
-      if (needReset == true && this.collection !== '') {
-        this.showchart = false;
-        this.mixinDatacomErrorMessage = null;
-        this._clearChart();
-        this.getCloudData();
-      }
-    },
-    _clearChart() {
-      let cid = this.cid
-      if (this.echarts !== true && cfu.option[cid] && cfu.option[cid].context) {
-        const ctx = cfu.option[cid].context;
-        if(typeof ctx === "object" && !!!cfu.option[cid].update){
-          ctx.clearRect(0, 0, this.cWidth*this.pixel, this.cHeight*this.pixel);
-          ctx.draw();
-        }
-      }
-    },
-    init() {
-      let cid = this.cid
-      let chartdom = uni
-        .createSelectorQuery()
-        // #ifndef MP-ALIPAY
-        .in(this)
-        // #endif
-        .select('#ChartBoxId'+cid)
-        .boundingClientRect(data => {
-          if (data.width > 0 && data.height > 0) {
-            this.mixinDatacomLoading = false;
-            this.showchart = true;
-            this.lastDrawTime = Date.now();
-            this.cWidth = data.width;
-            this.cHeight = data.height;
-            if(this.echarts !== true){
-              cfu.option[cid].background = this.background == 'rgba(0,0,0,0)' ? '#FFFFFF' : this.background;
-              cfu.option[cid].canvas2d = this.type2d;
-              cfu.option[cid].pixelRatio = this.pixel;
-              cfu.option[cid].animation = this.animation;
-              cfu.option[cid].width = data.width * this.pixel;
-              cfu.option[cid].height = data.height * this.pixel;
-              cfu.option[cid].onzoom = this.onzoom;
-              cfu.option[cid].ontap = this.ontap;
-              cfu.option[cid].ontouch = this.ontouch;
-              cfu.option[cid].onmouse = this.openmouse;
-              cfu.option[cid].onmovetip = this.onmovetip;
-              cfu.option[cid].tooltipShow = this.tooltipShow;
-              cfu.option[cid].tooltipFormat = this.tooltipFormat;
-              cfu.option[cid].tooltipCustom = this.tooltipCustom;
-              cfu.option[cid].inScrollView = this.inScrollView;
-              cfu.option[cid].lastDrawTime = this.lastDrawTime;
-              cfu.option[cid].tapLegend = this.tapLegend;
-            }
-            //濡傛灉鏄疕5鎴栬�匒pp绔紝閲囩敤renderjs娓叉煋鍥捐〃
-            if (this.inH5 || this.inApp) {
-              if (this.echarts == true) {
-                cfe.option[cid].ontap = this.ontap;
-                cfe.option[cid].onmouse = this.openmouse;
-                cfe.option[cid].tooltipShow = this.tooltipShow;
-                cfe.option[cid].tooltipFormat = this.tooltipFormat;
-                cfe.option[cid].tooltipCustom = this.tooltipCustom;
-                cfe.option[cid].lastDrawTime = this.lastDrawTime;
-                this.echartsOpts = deepCloneAssign({}, cfe.option[cid]);
-              } else {
-                cfu.option[cid].rotateLock = cfu.option[cid].rotate;
-                this.uchartsOpts = deepCloneAssign({}, cfu.option[cid]);
-              }
-            //濡傛灉鏄皬绋嬪簭绔紝閲囩敤uCharts娓叉煋
-            } else {
-              cfu.option[cid] = formatterAssign(cfu.option[cid],cfu.formatter)
-              this.mixinDatacomErrorMessage = null;
-              this.mixinDatacomLoading = false;
-              this.showchart = true;
-              this.$nextTick(()=>{
-                if (this.type2d === true) {
-                  const query = uni.createSelectorQuery().in(this)
-                  query
-                    .select('#' + cid)
-                    .fields({ node: true, size: true })
-                    .exec(res => {
-                      if (res[0]) {
-                        const canvas = res[0].node;
-                        const ctx = canvas.getContext('2d');
-                        cfu.option[cid].context = ctx;
-                        cfu.option[cid].rotateLock = cfu.option[cid].rotate;
-                        if(cfu.instance[cid] && cfu.option[cid] && cfu.option[cid].update === true){
-                          this._updataUChart(cid)
-                        }else{
-                          canvas.width = data.width * this.pixel;
-                          canvas.height = data.height * this.pixel;
-                          canvas._width = data.width * this.pixel;
-                          canvas._height = data.height * this.pixel;
-                          setTimeout(()=>{
-                            cfu.option[cid].context.restore();
-                            cfu.option[cid].context.save();
-                            this._newChart(cid)
-                          },100)
-                        }
-                      } else {
-                        this.showchart = false;
-                        this.mixinDatacomErrorMessage = '鍙傛暟閿欒锛氬紑鍚�2d妯″紡鍚庯紝鏈幏鍙栧埌dom鑺傜偣锛宑anvas-id:' + cid;
-                      }
-                    });
-                } else {
-                  if(this.inAli){
-                    cfu.option[cid].rotateLock = cfu.option[cid].rotate;
-                  }
-                  cfu.option[cid].context = uni.createCanvasContext(cid, this);
-                  if(cfu.instance[cid] && cfu.option[cid] && cfu.option[cid].update === true){
-                    this._updataUChart(cid)
-                  }else{
-                    setTimeout(()=>{
-                      cfu.option[cid].context.restore();
-                      cfu.option[cid].context.save();
-                      this._newChart(cid)
-                    },100)
-                  }
-                }
-              })
-            }
-          } else {
-            this.mixinDatacomLoading = false;
-            this.showchart = false;
-            if (this.reshow == true) {
-              this.mixinDatacomErrorMessage = '甯冨眬閿欒锛氭湭鑾峰彇鍒扮埗鍏冪礌瀹介珮灏哄锛乧anvas-id:' + cid;
-            }
-          }
-        })
-        .exec();
-    },
-    saveImage(){
-    	uni.canvasToTempFilePath({
-    	  canvasId: this.cid,
-    	  success: res=>{
-    	    //#ifdef H5
-    			var a = document.createElement("a");
-    			a.href = res.tempFilePath;
-    			a.download = this.cid;
-    			a.target = '_blank'
-    			a.click();
-    	    //#endif
-    	    //#ifndef H5
-    	      uni.saveImageToPhotosAlbum({
-              filePath: res.tempFilePath,
-              success: function () {
-                uni.showToast({
-                  title: '淇濆瓨鎴愬姛',
-                  duration: 2000
-                });
-              }
-    	      });
-    	    //#endif
-    	  } 
-    	},this);
-    },
-    getImage(){
-      if(this.type2d == false){
-        uni.canvasToTempFilePath({
-          canvasId: this.cid,
-          success: res=>{
-            this.emitMsg({name: 'getImage', params: {type:"getImage", base64: res.tempFilePath}});
-          }
-        },this);
-      }else{
-        const query = uni.createSelectorQuery().in(this)
-        query
-          .select('#' + this.cid)
-          .fields({ node: true, size: true })
-          .exec(res => {
-            if (res[0]) {
-              const canvas = res[0].node;
-              this.emitMsg({name: 'getImage', params: {type:"getImage", base64: canvas.toDataURL('image/png')}});
-            }
-          });
-      }
-    },
-    // #ifndef APP-VUE || H5
-    _newChart(cid) {
-      if (this.mixinDatacomLoading == true) {
-        return;
-      }
-      this.showchart = true;
-      cfu.instance[cid] = new uCharts(cfu.option[cid]);
-      cfu.instance[cid].addEventListener('renderComplete', () => {
-        this.emitMsg({name: 'complete', params: {type:"complete", complete: true, id: cid, opts: cfu.instance[cid].opts}});
-        cfu.instance[cid].delEventListener('renderComplete')
-      });
-      cfu.instance[cid].addEventListener('scrollLeft', () => {
-        this.emitMsg({name: 'scrollLeft', params: {type:"scrollLeft", scrollLeft: true, id: cid, opts: cfu.instance[cid].opts}});
-      });
-      cfu.instance[cid].addEventListener('scrollRight', () => {
-        this.emitMsg({name: 'scrollRight', params: {type:"scrollRight", scrollRight: true, id: cid, opts: cfu.instance[cid].opts}});
-      });
-    },
-    _updataUChart(cid) {
-      cfu.instance[cid].updateData(cfu.option[cid])
-    },
-    _tooltipDefault(item, category, index, opts) {
-      if (category) {
-        let data = item.data
-        if(typeof item.data === "object"){
-          data = item.data.value
-        }
-        return category + ' ' + item.name + ':' + data;
-      } else {
-        if (item.properties && item.properties.name) {
-          return item.properties.name;
-        } else {
-          return item.name + ':' + item.data;
-        }
-      }
-    },
-    _showTooltip(e) {
-      let cid = this.cid
-      let tc = cfu.option[cid].tooltipCustom
-      if (tc && tc !== undefined && tc !== null) {
-        let offset = undefined;
-        if (tc.x >= 0 && tc.y >= 0) {
-          offset = { x: tc.x, y: tc.y + 10 };
-        }
-        cfu.instance[cid].showToolTip(e, {
-          index: tc.index,
-          offset: offset,
-          textList: tc.textList,
-          formatter: (item, category, index, opts) => {
-            if (typeof cfu.option[cid].tooltipFormat === 'string' && cfu.formatter[cfu.option[cid].tooltipFormat]) {
-              return cfu.formatter[cfu.option[cid].tooltipFormat](item, category, index, opts);
-            } else {
-              return this._tooltipDefault(item, category, index, opts);
-            }
-          }
-        });
-      } else {
-        cfu.instance[cid].showToolTip(e, {
-          formatter: (item, category, index, opts) => {
-            if (typeof cfu.option[cid].tooltipFormat === 'string' && cfu.formatter[cfu.option[cid].tooltipFormat]) {
-              return cfu.formatter[cfu.option[cid].tooltipFormat](item, category, index, opts);
-            } else {
-              return this._tooltipDefault(item, category, index, opts);
-            }
-          }
-        });
-      }
-    },
-    _tap(e,move) {
-      let cid = this.cid
-      let currentIndex = null;
-      let legendIndex = null;
-      if (this.inScrollView === true || this.inAli) {
-        let chartdom = uni
-          .createSelectorQuery()
-          // #ifndef MP-ALIPAY
-          .in(this)
-          .select('#ChartBoxId'+cid)
-          // #endif
-          // #ifdef MP-ALIPAY
-          .select('#'+this.cid)
-          // #endif
-          .boundingClientRect(data => {
-            e.changedTouches=[];
-            if (this.inAli) {
-              e.changedTouches.unshift({ x: e.detail.clientX - data.left, y: e.detail.clientY - data.top});
-            }else{
-              e.changedTouches.unshift({ x: e.detail.x - data.left, y: e.detail.y - data.top - this.pageScrollTop});
-            }
-            if(move){
-              if (this.tooltipShow === true) {
-                this._showTooltip(e);
-              }
-            }else{
-              currentIndex = cfu.instance[cid].getCurrentDataIndex(e);
-              legendIndex = cfu.instance[cid].getLegendDataIndex(e);
-              if(this.tapLegend === true){
-                cfu.instance[cid].touchLegend(e);
-              }
-              if (this.tooltipShow === true) {
-                this._showTooltip(e);
-              }
-              this.emitMsg({name: 'getIndex', params: { type:"getIndex", event:{ x: e.detail.x - data.left, y: e.detail.y - data.top }, currentIndex: currentIndex, legendIndex: legendIndex, id: cid, opts: cfu.instance[cid].opts}});
-            }
-          })
-          .exec();
-      } else {
-        if(move){
-          if (this.tooltipShow === true) {
-            this._showTooltip(e);
-          }
-        }else{
-          e.changedTouches=[];
-          e.changedTouches.unshift({ x: e.detail.x - e.currentTarget.offsetLeft, y: e.detail.y - e.currentTarget.offsetTop });
-          currentIndex = cfu.instance[cid].getCurrentDataIndex(e);
-          legendIndex = cfu.instance[cid].getLegendDataIndex(e);
-          if(this.tapLegend === true){
-            cfu.instance[cid].touchLegend(e);
-          }
-          if (this.tooltipShow === true) {
-            this._showTooltip(e);
-          }
-          this.emitMsg({name: 'getIndex', params: {type:"getIndex", event:{ x: e.detail.x, y: e.detail.y - e.currentTarget.offsetTop }, currentIndex: currentIndex, legendIndex: legendIndex, id: cid, opts: cfu.instance[cid].opts}});
-        }
-      }
-    },
-    _touchStart(e) {
-      let cid = this.cid
-      lastMoveTime=Date.now();
-      if(cfu.option[cid].enableScroll === true && e.touches.length == 1){
-        cfu.instance[cid].scrollStart(e);
-      }
-      this.emitMsg({name:'getTouchStart', params:{type:"touchStart", event:e.changedTouches[0], id:cid, opts: cfu.instance[cid].opts}});
-    },
-    _touchMove(e) {
-      let cid = this.cid
-      let currMoveTime = Date.now();
-      let duration = currMoveTime - lastMoveTime;
-      let touchMoveLimit = cfu.option[cid].touchMoveLimit || 24;
-      if (duration < Math.floor(1000 / touchMoveLimit)) return;//姣忕60甯�
-      lastMoveTime = currMoveTime;
-      if(cfu.option[cid].enableScroll === true && e.changedTouches.length == 1){
-        cfu.instance[cid].scroll(e);
-      }
-      if(this.ontap === true && cfu.option[cid].enableScroll === false && this.onmovetip === true){
-        this._tap(e,true)
-      }
-      if(this.ontouch === true && cfu.option[cid].enableScroll === true && this.onzoom === true && e.changedTouches.length == 2){
-        cfu.instance[cid].dobuleZoom(e);
-      }
-      this.emitMsg({name: 'getTouchMove', params: {type:"touchMove", event:e.changedTouches[0], id: cid, opts: cfu.instance[cid].opts}});
-    },
-    _touchEnd(e) {
-      let cid = this.cid
-      if(cfu.option[cid].enableScroll === true && e.touches.length == 0){
-        cfu.instance[cid].scrollEnd(e);
-      }
-      this.emitMsg({name:'getTouchEnd', params:{type:"touchEnd", event:e.changedTouches[0], id:cid, opts: cfu.instance[cid].opts}});
-      if(this.ontap === true && cfu.option[cid].enableScroll === false && this.onmovetip === true){
-        this._tap(e,true)
-      }
-    },
-    // #endif
-    _error(e) {
-      this.mixinDatacomErrorMessage = e.detail.errMsg;
-    },
-    emitMsg(msg) {
-      this.$emit(msg.name, msg.params);
-    },
-    getRenderType() {
-      //闃叉濡傛灉寮�鍚痚charts涓旂埗鍏冪礌涓簐-if鐨勬儏鍐祌enderjs鐩戝惉涓嶅埌prop鍙樺寲鐨勯棶棰�
-      if(this.echarts===true && this.mixinDatacomLoading===false){
-        this.beforeInit()
-      }
-    },
-    toJSON(){
-      return this
-    }
-  }
-};
-</script>
-
-<!-- #ifdef APP-VUE || H5 -->
-<script module="rdcharts" lang="renderjs">
-import uChartsRD from '../../js_sdk/u-charts/u-charts.js';
-import cfu from '../../js_sdk/u-charts/config-ucharts.js';
-import cfe from '../../js_sdk/u-charts/config-echarts.js';
-
-var that = {};
-var rootdom = null;
-
-function rddeepCloneAssign(origin = {}, ...args) {
-  for (let i in args) {
-    for (let key in args[i]) {
-      if (args[i].hasOwnProperty(key)) {
-        origin[key] = args[i][key] && typeof args[i][key] === 'object' ? rddeepCloneAssign(Array.isArray(args[i][key]) ? [] : {}, origin[key], args[i][key]) : args[i][key];
-      }
-    }
-  }
-  return origin;
-}
-
-function rdformatterAssign(args,formatter) {
-  for (let key in args) {
-    if(args.hasOwnProperty(key) && args[key] !== null && typeof args[key] === 'object'){
-      rdformatterAssign(args[key],formatter)
-    }else if(key === 'format' && typeof args[key] === 'string'){
-      args['formatter'] = formatter[args[key]] ? formatter[args[key]] : undefined;
-    }
-  }
-  return args;
-}
-
-export default {
-  data() {
-    return {
-      rid:null
-    }
-  },
-  mounted() {
-    rootdom = {top:0,left:0}
-    let dm = document.querySelectorAll('uni-main')[0]
-    if(dm === undefined){
-      dm = document.querySelectorAll('uni-page-wrapper')[0]
-    }
-    if(dm !== undefined){
-      rootdom = {top:dm.offsetTop,left:dm.offsetLeft}
-    }
-    setTimeout(()=>{
-      if(this.rid === null){
-        this.$ownerInstance && this.$ownerInstance.callMethod('getRenderType')
-      }
-    },200)
-  },
-  destroyed(){
-    delete cfu.option[this.rid]
-    delete cfu.instance[this.rid]
-    delete cfe.option[this.rid]
-    delete cfe.instance[this.rid]
-  },
-  methods: {
-    //==============浠ヤ笅鏄疎Charts鐨勬柟娉�====================
-    ecinit(newVal, oldVal, owner, instance){
-      let cid = JSON.stringify(newVal.id)
-      this.rid = cid
-      that[cid] = this.$ownerInstance || instance
-      let eopts = JSON.parse(JSON.stringify(newVal))
-      let type = eopts.type;
-      //杞藉叆骞惰鐩栭粯璁ら厤缃�
-      if (type && cfe.type.includes(type)) {
-        cfe.option[cid] = rddeepCloneAssign({}, cfe[type], eopts);
-      }else{
-        cfe.option[cid] = rddeepCloneAssign({}, eopts);
-      }
-      let newData = eopts.chartData;
-      if(newData){
-        //鎸傝浇categories鍜宻eries
-        if(cfe.option[cid].xAxis && cfe.option[cid].xAxis.type && cfe.option[cid].xAxis.type === 'category'){
-          cfe.option[cid].xAxis.data = newData.categories
-        }
-        if(cfe.option[cid].yAxis && cfe.option[cid].yAxis.type && cfe.option[cid].yAxis.type === 'category'){
-          cfe.option[cid].yAxis.data = newData.categories
-        }
-        cfe.option[cid].series = []
-        for (var i = 0; i < newData.series.length; i++) {
-          cfe.option[cid].seriesTemplate = cfe.option[cid].seriesTemplate ? cfe.option[cid].seriesTemplate : {}
-          let Template = rddeepCloneAssign({},cfe.option[cid].seriesTemplate,newData.series[i])
-          cfe.option[cid].series.push(Template)
-        }
-      }
-      
-      if (typeof window.echarts === 'object') {
-          this.newEChart()
-      }else{
-        const script = document.createElement('script')
-        script.src = './uni_modules/qiun-data-charts/static/app-plus/echarts.min.js'
-        const rooturl = window.location.origin
-        const directory = instance.getDataset().directory
-        script.src = rooturl + directory + 'uni_modules/qiun-data-charts/static/h5/echarts.min.js'
-        script.onload = this.newEChart
-        document.head.appendChild(script)
-      }
-    },
-    ecresize(newVal, oldVal, owner, instance){
-      if(cfe.instance[this.rid]){
-        cfe.instance[this.rid].resize()
-      }
-    },
-    newEChart(){
-      let cid = this.rid
-      if(cfe.instance[cid] === undefined){
-        cfe.instance[cid] = echarts.init(that[cid].$el.children[0])
-        //ontap寮�鍚悗鎵嶈Е鍙慶lick浜嬩欢
-        if(cfe.option[cid].ontap === true){
-          cfe.instance[cid].on('click', resdata => {
-            let event = JSON.parse(JSON.stringify({
-              x:resdata.event.offsetX,y:resdata.event.offsetY
-            }))
-            that[cid].callMethod('emitMsg',{name:"getIndex", params:{type:"getIndex", event:event, currentIndex:resdata.dataIndex, value:resdata.data, seriesName: resdata.seriesName,id:cid}})
-          })
-          // 澧炲姞ECharts鐨刪ighlight娑堟伅锛屽疄鐜版寜涓嬬Щ鍔ㄨ繑鍥炵储寮曞姛鑳姐�俛dd by onefish 鍒涘缓浜� 2021-12-11 09:50
-          cfe.instance[cid].on('highlight', resdata => {
-            that[cid].callMethod('emitMsg',{name:"getHighlight", params:{type:"highlight", res:resdata, id:cid}})
-          })
-        }
-        this.updataEChart(cid,cfe.option[cid])
-      }else{
-        this.updataEChart(cid,cfe.option[cid])
-      }
-    },
-    updataEChart(cid,option){
-      //鏇挎崲option鍐協ormat灞炴�т负formatter鐨勯瀹氫箟鏂规硶
-      option = rdformatterAssign(option,cfe.formatter)
-      if(option.tooltip){
-        option.tooltip.show = option.tooltipShow?true:false;
-        option.tooltip.position = this.tooltipPosition()
-        //tooltipFormat鏂规硶锛屾浛鎹㈢粍浠剁殑tooltipFormat涓篶onfig-echarts.js鍐呭搴旂殑鏂规硶
-        if (typeof option.tooltipFormat === 'string' && cfe.formatter[option.tooltipFormat]) {
-          option.tooltip.formatter = option.tooltip.formatter ? option.tooltip.formatter : cfe.formatter[option.tooltipFormat]
-        }
-      }
-      // 棰滆壊娓愬彉娣诲姞鐨勬柟娉�
-      if (option.series) {
-      	for (let i in option.series) {
-      		let linearGradient = option.series[i].linearGradient
-      		if (linearGradient) {
-      			option.series[i].color = new echarts.graphic.LinearGradient(linearGradient[0],linearGradient[1],linearGradient[2],linearGradient[3],linearGradient[4])
-      		}
-      	}
-      }
-      cfe.instance[cid].setOption(option, option.notMerge)
-      cfe.instance[cid].on('finished', function(){
-        that[cid].callMethod('emitMsg',{name:"complete",params:{type:"complete",complete:true,id:cid}})
-        if(cfe.instance[cid]){
-          cfe.instance[cid].off('finished')
-        }
-      });
-
-      //淇init鍒濆鍖栧疄渚嬭幏鍙栧楂樹笉姝g‘闂
-      if(
-        typeof that[cid].$el.children[0].clientWidth != 'undefined' &&
-          (
-            Math.abs( that[cid].$el.children[0].clientWidth - cfe.instance[cid].getWidth() )>3 ||
-            Math.abs( that[cid].$el.children[0].clientHeight - cfe.instance[cid].getHeight() )>3
-          )
-      ){this.ecresize();}
-    },
-    tooltipPosition(){
-      return (point, params, dom, rect, size) => {
-      	let x = point[0]
-      	let y = point[1]
-      	let viewWidth = size.viewSize[0]
-      	let viewHeight = size.viewSize[1]
-      	let boxWidth = size.contentSize[0]
-      	let boxHeight = size.contentSize[1]
-      	let posX = x + 30 
-      	let posY = y + 30 
-      	if (posX + boxWidth > viewWidth) { 
-      		posX = x - boxWidth - 30
-      	}
-      	if (posY + boxHeight > viewHeight) {
-      		posY = y - boxHeight - 30
-      	}
-      	return [posX, posY]
-      }
-    },
-    //==============浠ヤ笅鏄痷Charts鐨勬柟娉�====================
-    ucinit(newVal, oldVal, owner, instance){
-      if(JSON.stringify(newVal) == JSON.stringify(oldVal)){
-        return;
-      }
-      if(!newVal.canvasId){
-        return;
-      }
-      let cid = JSON.parse(JSON.stringify(newVal.canvasId))
-      this.rid = cid
-      that[cid] = this.$ownerInstance || instance
-      cfu.option[cid] = JSON.parse(JSON.stringify(newVal))
-      cfu.option[cid] = rdformatterAssign(cfu.option[cid],cfu.formatter)
-      let canvasdom = document.getElementById(cid)
-      if(canvasdom && canvasdom.children[0]){
-        cfu.option[cid].context = canvasdom.children[0].getContext("2d")
-        if(cfu.instance[cid] && cfu.option[cid] && cfu.option[cid].update === true){
-          this.updataUChart()
-        }else{
-          setTimeout(()=>{
-            cfu.option[cid].context.restore();
-            cfu.option[cid].context.save();
-            this.newUChart()
-          },100)
-        }
-      }
-    },
-    newUChart() {
-      let cid = this.rid
-      cfu.instance[cid] = new uChartsRD(cfu.option[cid])
-      cfu.instance[cid].addEventListener('renderComplete', () => {
-        that[cid].callMethod('emitMsg',{name:"complete",params:{type:"complete",complete:true,id:cid, opts: cfu.instance[cid].opts}})
-        cfu.instance[cid].delEventListener('renderComplete')
-      });
-      cfu.instance[cid].addEventListener('scrollLeft', () => {
-        that[cid].callMethod('emitMsg',{name:"scrollLeft",params:{type:"scrollLeft",scrollLeft:true,id:cid, opts: cfu.instance[cid].opts}})
-      });
-      cfu.instance[cid].addEventListener('scrollRight', () => {
-        that[cid].callMethod('emitMsg',{name:"scrollRight",params:{type:"scrollRight",scrollRight:true,id:cid, opts: cfu.instance[cid].opts}})
-      });
-    },
-    updataUChart() {
-      let cid = this.rid
-      cfu.instance[cid].updateData(cfu.option[cid])
-    },
-    tooltipDefault(item, category, index, opts) {
-      if (category) {
-        let data = item.data
-        if(typeof item.data === "object"){
-          data = item.data.value
-        }
-        return category + ' ' + item.name + ':' + data;
-      } else {
-        if (item.properties && item.properties.name) {
-          return item.properties.name ;
-        } else {
-          return item.name + ':' + item.data;
-        }
-      }
-    },
-    showTooltip(e,cid) {
-      let tc = cfu.option[cid].tooltipCustom
-      if (tc && tc !== undefined && tc !== null) {
-        let offset = undefined;
-        if (tc.x >= 0 && tc.y >= 0) {
-          offset = { x: tc.x, y: tc.y + 10 };
-        }
-        cfu.instance[cid].showToolTip(e, {
-          index: tc.index,
-          offset: offset,
-          textList: tc.textList,
-          formatter: (item, category, index, opts) => {
-            if (typeof cfu.option[cid].tooltipFormat === 'string' && cfu.formatter[cfu.option[cid].tooltipFormat]) {
-              return cfu.formatter[cfu.option[cid].tooltipFormat](item, category, index, opts);
-            } else {
-              return this.tooltipDefault(item, category, index, opts);
-            }
-          }
-        });
-      } else {
-        cfu.instance[cid].showToolTip(e, {
-          formatter: (item, category, index, opts) => {
-            if (typeof cfu.option[cid].tooltipFormat === 'string' && cfu.formatter[cfu.option[cid].tooltipFormat]) {
-              return cfu.formatter[cfu.option[cid].tooltipFormat](item, category, index, opts);
-            } else {
-              return this.tooltipDefault(item, category, index, opts);
-            }
-          }
-        });
-      }
-    },
-    tap(e) {
-      let cid = this.rid
-      let ontap = cfu.option[cid].ontap
-      let tooltipShow = cfu.option[cid].tooltipShow
-      let tapLegend = cfu.option[cid].tapLegend
-      if(ontap == false) return;
-      let currentIndex=null
-      let legendIndex=null
-      let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect()
-      let tmpe = {}
-      if(e.detail.x){//tap鎴栬�卌lick鐨勪簨浠�
-        tmpe = { x: e.detail.x - rchartdom.left, y:e.detail.y - rchartdom.top + rootdom.top}
-      }else{//mouse鐨勪簨浠�
-        tmpe = { x: e.clientX - rchartdom.left, y:e.clientY - rchartdom.top + rootdom.top}
-      }
-      e.changedTouches = [];
-      e.changedTouches.unshift(tmpe)
-      currentIndex=cfu.instance[cid].getCurrentDataIndex(e)
-      legendIndex=cfu.instance[cid].getLegendDataIndex(e)
-      if(tapLegend === true){
-        cfu.instance[cid].touchLegend(e);
-      }
-      if(tooltipShow==true){
-        this.showTooltip(e,cid)
-      }
-      that[cid].callMethod('emitMsg',{name:"getIndex",params:{type:"getIndex",event:tmpe,currentIndex:currentIndex,legendIndex:legendIndex,id:cid, opts: cfu.instance[cid].opts}})
-    },
-    touchStart(e) {
-      let cid = this.rid
-      let ontouch = cfu.option[cid].ontouch
-      if(ontouch == false) return;
-      if(cfu.option[cid].enableScroll === true && e.touches.length == 1){
-        cfu.instance[cid].scrollStart(e);
-      }
-      that[cid].callMethod('emitMsg',{name:"getTouchStart",params:{type:"touchStart",event:e.changedTouches[0],id:cid, opts: cfu.instance[cid].opts}})
-    },
-    touchMove(e) {
-      let cid = this.rid
-      let ontouch = cfu.option[cid].ontouch
-      if(ontouch == false) return;
-      if(cfu.option[cid].enableScroll === true && e.changedTouches.length == 1){
-        cfu.instance[cid].scroll(e);
-      }
-      if(cfu.option[cid].ontap === true && cfu.option[cid].enableScroll === false && cfu.option[cid].onmovetip === true){
-        let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect()
-        let tmpe = { x: e.changedTouches[0].clientX - rchartdom.left, y:e.changedTouches[0].clientY - rchartdom.top + rootdom.top}
-        e.changedTouches.unshift(tmpe)
-        if(cfu.option[cid].tooltipShow === true){
-          this.showTooltip(e,cid)
-        }
-      }
-      if(ontouch === true && cfu.option[cid].enableScroll === true && cfu.option[cid].onzoom === true && e.changedTouches.length == 2){
-        cfu.instance[cid].dobuleZoom(e);
-      }
-      that[cid].callMethod('emitMsg',{name:"getTouchMove",params:{type:"touchMove",event:e.changedTouches[0],id:cid, opts: cfu.instance[cid].opts}})
-    },
-    touchEnd(e) {
-      let cid = this.rid
-      let ontouch = cfu.option[cid].ontouch
-      if(ontouch == false) return;
-      if(cfu.option[cid].enableScroll === true && e.touches.length == 0){
-        cfu.instance[cid].scrollEnd(e);
-      }
-      that[cid].callMethod('emitMsg',{name:"getTouchEnd",params:{type:"touchEnd",event:e.changedTouches[0],id:cid, opts: cfu.instance[cid].opts}})
-    },
-    mouseDown(e) {
-      let cid = this.rid
-      let onmouse = cfu.option[cid].onmouse
-      if(onmouse == false) return;
-      let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect()
-      let tmpe = {}
-      tmpe = { x: e.clientX - rchartdom.left, y:e.clientY - rchartdom.top + rootdom.top}
-      e.changedTouches = [];
-      e.changedTouches.unshift(tmpe)
-      cfu.instance[cid].scrollStart(e)
-      cfu.option[cid].mousedown=true;
-      that[cid].callMethod('emitMsg',{name:"getTouchStart",params:{type:"mouseDown",event:tmpe,id:cid, opts: cfu.instance[cid].opts}})
-    },
-    mouseMove(e) {
-      let cid = this.rid
-      let onmouse = cfu.option[cid].onmouse
-      let tooltipShow = cfu.option[cid].tooltipShow
-      if(onmouse == false) return;
-      let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect()
-      let tmpe = {}
-      tmpe = { x: e.clientX - rchartdom.left, y:e.clientY - rchartdom.top + rootdom.top}
-      e.changedTouches = [];
-      e.changedTouches.unshift(tmpe)
-      if(cfu.option[cid].mousedown){
-        cfu.instance[cid].scroll(e)
-        that[cid].callMethod('emitMsg',{name:"getTouchMove",params:{type:"mouseMove",event:tmpe,id:cid, opts: cfu.instance[cid].opts}})
-      }else if(cfu.instance[cid]){
-        if(tooltipShow==true){
-          this.showTooltip(e,cid)
-        }
-      }
-    },
-    mouseUp(e) {
-      let cid = this.rid
-      let onmouse = cfu.option[cid].onmouse
-      if(onmouse == false) return;
-      let rchartdom = document.getElementById('UC'+cid).getBoundingClientRect()
-      let tmpe = {}
-      tmpe = { x: e.clientX - rchartdom.left, y:e.clientY - rchartdom.top + rootdom.top}
-      e.changedTouches = [];
-      e.changedTouches.unshift(tmpe)
-      cfu.instance[cid].scrollEnd(e)
-      cfu.option[cid].mousedown=false;
-      that[cid].callMethod('emitMsg',{name:"getTouchEnd",params:{type:"mouseUp",event:tmpe,id:cid, opts: cfu.instance[cid].opts}})
-    },
-  }
-}
-</script>
-<!-- #endif -->
-
-<style scoped>
-.chartsview {
-  width: 100%;
-  height: 100%;
-  display: flex;
-  flex: 1;
-  justify-content: center;
-  align-items: center;
-}
-</style>
diff --git a/src/components/qiun-data-charts/components/qiun-error/qiun-error.vue b/src/components/qiun-data-charts/components/qiun-error/qiun-error.vue
deleted file mode 100644
index b15b19f..0000000
--- a/src/components/qiun-data-charts/components/qiun-error/qiun-error.vue
+++ /dev/null
@@ -1,46 +0,0 @@
-<template>
-	<view class="chartsview">
-		<view class="charts-error"></view>
-		<view class="charts-font">{{errorMessage==null?'璇风偣鍑婚噸璇�':errorMessage}}</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: 'qiun-error',
-		props: {
-			errorMessage: {
-				type: String,
-				default: null
-			},
-		},
-		data() {
-			return {
-				
-			};
-		},
-	}
-</script>
-
-<style>
-	.chartsview {
-		width: 100%;
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-		flex: 1;
-		justify-content: center;
-		align-items: center;
-	}
-	.charts-font{
-		font-size: 14px;
-		color: #CCCCCC;
-		margin-top: 10px;
-	}
-	.charts-error{
-		width: 128px;
-		height: 128px;
-		background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAUz0lEQVR4Xu1de3Bc1X3+zmp3jYVWfkPAgCWwY8zLEglNQCSW0yT9o2SQaDKdNulUykwfM+k09p+J3ImYIPJXi9yZzDSZZiwyaZuZBCwnNG1DMogEmUAAy7xs/MAyNhCMjWWtsK1deU/n23OvtLu6j3Pv3t29d71nxjOSde455/5+3/m9z7kCjRY4BR7eK7fkcmhrasLT37hbTAY+QYADigDHagwFYGhc7gZwHMAUgG4hMPzNe8RoWInTAECAnHl4r+yREt0DXWIbhx3cJ5fHP8TYjntFR4DTBDqUIwBmMrJDCtyPHDoQw0Q8jkeXinCLtECp43Gwh56R22IxTBbu+KFxOTbQJbo9DlW17rYASGdlNySeKl2JADpbkmKiait0mWhoXHZkmzE52CkocmvavvOsbMvl8MhAl+jlQrg2CQzu6BI9NV2Yw+T2AJiVo+DuL2kSeLQ1KfrC8kLcYbkYBv/pbjEWhjUNjUvSpk9KSAicm2tGXxjAaUcbewBkJAm6xeLBp1PJ2os06ttcDl8H0CEEaGnvGegSg2EAQZTW4B0AEntSS2ov0mhgJc5jmwT6IDEWi2E0zNZ2WEFhC4CZjCRxH7GwAfpbkmIkLC9EFQBg20BXeOySsNBGZx2OXkB6Vg5CgAbMZgD7BTDSkhTDOgM3+kSDAr7iANNz8n4hQRdxojUu9kTjVRurtKKAJwBIKZfPZPOuYWFgY6wlgV4hau+GNVjsnQKeAJDOSIp/Wt6lbSKeQG8jSOSdAbV+wisA7FxDSGAqBmwNS5DIiGIucyNwKiGedutTz3/3BgCb4JBJoGqDIJ2VW4REmxRog0S3lGgT/NlfY3RzCgJjQmJSCkxeDuDwBgCb8HAhvQkCIdCbSgQfmSPDmWGDzHsm1UqwjBEUAMbqERCeAEBGz2RknwR2uW0yAZQdL6DR+WEW90syXLmjtW8So0Jg9MoE9tSD4esZANUAAd1M5NAjGOULaaOkAzCKGEaj7Ar7AoBHEGxrSYqdOnxMZ+W3ZA59ZehxnWkC7yMlJkUMIy1x7IyaVPANAAMEHTlgTACO1rYERlqTot+J8nbp58C5VcEBDftnOEpAKAsAgYPAPgNZQbYFP3QeCAybJ/Bg2CVC2QDwCoJUAtudiJKuExCQLoZbPKirAoOHovuIThVByuXii2jE/C9I2TaXBYsfmThyahMtCWy1A4ERbj7rvvRI9aCa3F7pINm3n5XdXgtjFgHAYCQrW4v8bBo6MYFep5cwmEefuSwQpDNSRoq9+osdrqRaGBqXMhfDVi8gWASAdEbuswuyGCKNSLatBygXBHUqAQohMmHESAKrqzSro4TIS2yOq10dVQQAuyKQUoC7BXnIxHQWwwL4ay/qIM/8DHaFJuijv7M99QzaNmAx6hzQFsvhKSmxvakJo7oHUooA4MUA0wHBTDYfQnVUB6bFnLc1JHqiFgPwxPnSzhKjLUn0B+UpsDoqFkOfLvO5HN8AMN5lOJUU2+2IMD0ne0QOtCcq0k7OANe1VGToag7qaBRXeiFFAJjOyBENsV20Jqcgj2FQHgvyJWYvAQfPAJuvAv7198ADm4DMHJBKAmuag5ypemPpGNiVWk2pDcCDDDQCPTU7EOgmjrxMRgA8dgBYmwJOXwBuWgH87m3gz26OLgDy6q9G9RSLvIAymFZUGsaCjJzE7qB1+vvngXRGQebG5QB/P30eaF2iQBHllk8wxdDfGq/eYVLLQJBfEOQNOpk3/Bg86hbA8iAZwt2/a78asX8zsKRJ/fzYQeDttFIHUbcJqi0JnM4FaOX9g2Sw7lgHTgPTs0DHRxTjT5wDtqzTfTr8/aoJArfTwX055P1519q6apGV4v8/XlU6nzv/vo8CvzwK3L0W2LS6Wquo/DzVAoFrMiivyzVSvpUnycIMVAUU///2kgIC9b+pDqq5jirMVXEX0RUAfMkwgoDrMoFQBUbUcoqxVFJsrdQCtAAQZhBUijChGlfiwdSSypx81gaAAQLLA6OhIlaNF2MGqriMm1cFqJoEtlai0lobAIzqZbPYF7RrV2N+BT79L99c8Eh+dzI474RGYSqB9qDyBuaLawMgnZE8Exjau24C56TPAZ8+vsD0594GPrHW50DWjwVuD2gBwDgm/q1AX6VOB/v5YeDWNerlXnsf+MKGYF/ULQvrdTZXAFQioeN1kVHqTxuAgSo2xiWCdk+DVgWuAEjPyt31XqARJYAZa92ZSqq7CMttjgCoh1r9cgkU1ueDuq7PEQDTs/JY0Nm8sBI0gusKxCCMZDIogsyqzJIDiA3YAqCx+yvDs4BHLVsKBFoPEPDLNYbToUCZUsASAFHY/SfTCxWtq5qBK4ziEB2a1VmfsqTAIgBUupLXL/Evshj0NNCaBM7NAr89sTDSp64HOj/id+ToP1eOR7AYAD4qg6tBwufeARhabV8BfPJaFWxZEgeSMWDTmstaApD8vuMCRQAI47Gs37wFrG4GrksBR882mG212VhW3rpEtPvZiL6OhvmZyOszFPm7D6qqX+76L6xfGIH/l7mkVMGNKy773Z8njIyh1081cfHBkJAEfgqZv2kV8Cmj4HP/H4ADZ1RBqNmYbfvEtV7hVX/9/X7HYR4AYUr6PPmmYjSZ/7kblRT47yOK8Uyu8DxA6xXqHADVw2XsARQhuSWBFV7rBeYBoHsyuNJ7582zwBNHgNVLgb+8TTH/8YOq/o+7ffPVCwynpAiC+W+cUfOcnwOuvlIdO4ti86MG5gGQdrkFtFoE2fUykJ4F+u4AknHgx6+pnf/ZduCW1QD9f3oDPA/A5tcFpA3x8ingxXcVuPJ61Dgt27MRuKG1Wm8c6DyevYE8AMJk/f/nq8BNK5VeN10/k8mvnwZ+ZRw1pfjnYdCOq1VZuJd2/Bzwv0cXGL9hpdr1PGNIgMUF8Oe3AquWehk1FH0nUknR6WUleQCENe37vZeUFOi/AyhUDbQL/JwE5q4ngI4YNxBxl7NiZ5kBoCePAb9/R4mBq64EejcGX9DhhTl++sYTaPdya7sCgPoySM1LvujzM8Dzd3cuMNy08ikZeBqYqoE7njv1t28p3c3f/+hapSLs2jszAI1Luo40JMn4j64s7v3PzympQNeSgLtnLfDxiHkYXkvGFAA0r2Yjsf3sPF0km/r/H+9aEP8P8ORPEhh5ecErIPNpGLJxF7/3oWLcfesV80rboQ+UyDf7f3HTYuPx+XeAX00Ct68BPn0D8O8TasyvbgZakrpvEIp+nuyAPACmM/KsW7k3b+N4/ABA5lSq8cIH0/o39f9f3KoYQYab0uDnR4BjZ4Gv3LYAgB+9qiQB+xe2X0+q4kw22hL8V9roTXz3BTXP1z6mVAJzDfxHqUIDNELN02f9hI7/T6v7zSklbml8MfFCXzzoRp1Pv57n/Wj5M/RrJnn2/QG4rlVJIPM4+DfvWVjB9/YpFfFJIzBEZv7iMHAirUT+59qBO2zcu7zuf1ftfrOKtxAUVElBF3cGTTtzPBaNtiaFhRy0nlHoGIDc/a+fUlez0Dq/ZY26kiXoRoCR0G5WvRkoMnf0/xwFXnwPiAFINgE3LAOmLwKnjPEoKejfW7Xj0+q0Mef92seLVQNLvF95H/iTm4CNJfZC0O8e5HheAkJCNwBkHsv++zuDXKq/sSgd/uu1xf47gfnWOR5mVeNe1Qx8adOClW8l+n8woQzDL9682Cik7fDTg8D1KaD3Zn9rrdRTlHA0mmmvLJJOHopERFg8AK+EIgiomo6dAy7OKdXwNx3AiRngRy8DOQl0XgN8Zp19tJDMJZMLRX/pOh7eqwhMNRCmZtpkVreiePEECADLj0SH6WWd1kIgPP6G2sVty4Av36pE/+43gDMX1K6+b8NiEJhGHqXEV263Bwm9AY731Q6gJVF7qnDnT7ynbCS6zDx8QpXJgNi8JPBwmljouoC1f3X7FdDHH30DmMsBG1YosU+m0Vg8exG4pkV5B2begCFg5htIMCf7gDOadsCXbgGusbEjqkkbMp+iv7QR5POG+eUGADL/rWmgSQBzEui4CvjT9cBUBnjikPqbCYJzF4EfGBdNMW5g5xmYBKY3cOgMsGEVcClXTVY7z+WkArxUCIkoFIA6keLXx4DXTiuDb2ubihdkcsCnDZ+fDPzZIRX+pYvJRBPF6GfbVPRQt124FE4AULJZBOe0YwFUAZG9mv2Fd4G9J4tdOEb0fnNCVQxtuQHoug4gCH5yADgxrdjtZPRZeQqvnFISgEmiMDV6ZjbueP0DgBm9PYes9Tizhr84mr98Ol9Qwps66OszZOyF+WS2GSQKiw2gCcD6BkBMABT9DNLY6XFKgicnVWCIuQR6BMwb0Ojz0hhipg3x5dsilR6ubwA0xwGCgDvaLsJHJtPPP/yBKvQg862SQG5gYByArZI5ELc1+Pi7PgCmM5JfuArNRZBuL0uGMkdg5dsXPktwcPfS4PMq9s1xzDAxS9KZlYxQ0wdAlOIAFOPU5Wxm1s6KKfTzqbvLYT7HNWMANCZZixihVp8AYHSPlrxdWpcMMiN8/Pmua1QW0E+LajbQeNf6A4BZ1MGw5z98bDFLybAnDqvYPptOkMcJGBGuB+BraReFRCYU/OPXgVMfWjOW+p4Gn1nu5RbedZMIHOe7L6pevJa+EqlvtzWU9XdPoeCQ1AM6vbCp+0t3P3c96wJZzMHG6l4WdJR7VuCR54ELc6q4xEu0sCymBfiwp2ygbj1AgOvzPBQjcU8dL9bpNPQops1dT7sgCGYxScSxGURa2+rubXh+mWo84KkeICu7IcFbQEPb6Pqx6mdpXBV9HvlgoRiktLS7nJcw9X4ipuIM9CJWXqHSxVFqXkrDRZgOhdgROZsDvv8ScMnMWgiV9uWOXxfACR6qErp8BJpVY7KF2UW3UrUwgEQC51qTQrtiU1UFz8pJIRDqj67MzAGPva5EPsO7zPkHwXyO98NX1IeomE4myFgnQHAxysiQMkPBLIZlsWoEmrYLyHfxdC6g1i/PxfJkD9O/bOWIf/OaGep7Nur8eEwBoNCFpHQw6wb/9s7yDcwq0FDbBVwAQAQ8gULCUVSPn1y4J4BlX+uWqfIv85iXFaHN4g7uaJ4INr84wtLzrAReeFs99Ve3Fx8O/ZfnVd3hXdeqbxOFuXnxAOYBENaLoZwITWnA3ct6APN0L/tTbFOEXxFXP3OnT11UI5HxhY2HPnjYhCqFpeY8+8BWGGnk89/fB9AOYWPRCXMLYW1eDMB5APCHqBaGEAisDWCI+PDZ4ttDSplEYKxfody79uUKKOapI55J4Glg2gIsJqF6IYAIMvZh/2MGQG5bA3ymLXgI0IATAj3ml0G8VmxLieOtS4SnlYXufoByydoUUwdHeUhkdk6dLqbzwCNndO8KG5nO8DGZblYHs2bwJweLgWQGmFgbyDgBG08OXx+AB1K0IAv/3ctHPP1cExO6G0LKBYDu82Q+q4a52ynSWTlUGEFkKpht+ZJiu4L/T8/g8+1Ac6JY/ejObdcvlRSWRWc8vSUlRt3S9mXdEKJzRrDcFwzL86ynZ7qYzW+tAA3Knx5Qhaa0GcotrHQ706f16T6J0ZYk+r3cE1SEuHRGTgDYHBZGVWIdhcz3WhlcuJ7CdDGDUn/crozJcprbDtYCAeDpY5PFAIiYO+iV2Nz15udcyk0Xc+7CqiPeKPLAxvJAoPO5WOOr7KMugTttEBQBoJ7VQCHzGS9wqiX0AiyCwKxBqBYIjPA9v9LuJK0n4gn0ul0XE5m7gr0wpbSveYqmnDF0nw3qWhm3gI4OCHQkyiIA6NwXoEuMsPSjH8/IX2ausiuiIcjawXJtAXOVgYBAYjKVRKedYWj3vYDQJ4cqy8rwjO4GAq502uWGdyfjsvHFkPDw2n4lAoOphHjQaalOIHACkSUAqF/SWUy6BR6iQLt6WaMERlqTot8rCBheTiTQYWcM2h539BKCrBcih/09dEBAvuWAYW5eMh8x9JnXyBu5hS359xQYa4ljp+N51ygUioSdaUGvjyBIJbDdLdpHKV7YxyqxxNyBIwDq0SMImiE1Gk870GOuz+oEGN1E1xPvUTo6ViNm1GpaTyCwC/O7AoChRwnsq9VbNuZ1pIA2CCy9BIk9rgDg9OmMHAbw9QYzQkkBLRAYkcNRAMoIBPYLoE8LAAYI6j5TGEr26i3KUyFo4ZDaANBMReott9ErUAq41RI4TaYNAA4ShWNkgVI2QoPZVRO5vYItAIbGZYcQWJZZiv2DncIoh8x/XCLSN4u6ESSqfw8UAEPjeaOvj1+kBLCuqQmd37hb8Gfz+0Juueio0jGS6/ZTDGq+6CIJMLhPLk+cx9lYDO1k+kPPyBEhMDnQJQbNh1g4ks1iopErqDhe9scT6JnLYBgC91vN5hbrd1vhIgB851nZlsvhWLYZKyj6DWmAgS6xrXCwhlHoRtry/s4a/1QSHWY4l6FcKbCtcNOxT0ygpyUp6KH5apY2gLHrt1AFCIHOWAwdpgoonKURKvZFc9eHuKtjQHcpY/Mle3NoQw7dsgkTfr4VXDq5rRH48F7Zk8uhrakJo1bMNwdqZA1d+empgx3zPQ3iobMnN9Bu3AYIPFDcoWu1mc+lBAIADsQDpshhpGEY+gNDLZgfCADoNSQvqPLkTSuxfuNq7IwJhODTCv4YUYunsjkc3f8+Bo7M4v8KYy5cixmPKVxXaWymnDWXLQGGxiVjAmaCoZy1XPbPSon9O+4VHSYhaIdJid2lhJESUzvu1f80nBNhywYA3cY5oOhI8uqlaLk+hfWXPUc1CHAijSOnL2CGXePAZKHBzd0PgEG50jZR6pZrTGXZpWwA+J248Vw4KNAAQDj4ULNVBA6Abz8ru8Ul9SVyITCVbUY/DRsjxLxLSmhdYSYEHh3oEiMch2rm0iXssqHSxI57xfZKU/ChZ+QjAOb1c6XnM+g3T4NKzRc4AIbGZR8TSeaCYzH0Ua8ZIeY8QzXbSBEAcvlSZyvwBKYPndb10LjkBQ1a4NV8P51u8zTQ6eynT+AA8LOIxjO1o0ADALWjfShmjhwACgNPoaCgsnWOO+VLwrJOq3VEDgCGLrbMjdeK0EEGZqr9DpEDgFXgqdpEK50vlsPUQJf/nHwt1///89bqDjCPWPAAAAAASUVORK5CYII=");
-		background-position: center;
-	}
-</style>
diff --git a/src/components/qiun-data-charts/components/qiun-loading/loading1.vue b/src/components/qiun-data-charts/components/qiun-loading/loading1.vue
deleted file mode 100644
index b701394..0000000
--- a/src/components/qiun-data-charts/components/qiun-loading/loading1.vue
+++ /dev/null
@@ -1,162 +0,0 @@
-<template>
-	 <view class="container loading1">
-		<view class="shape shape1"></view>
-		<view class="shape shape2"></view>
-		<view class="shape shape3"></view>
-		<view class="shape shape4"></view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: 'loading1',
-		data() {
-			return {
-				
-			};
-		}
-	}
-</script>
-
-<style scoped="true">
-.container {
-  width: 30px;
-  height: 30px;
-  position: relative;
-}
-.container.loading1 {
-  -webkit-transform: rotate(45deg);
-          transform: rotate(45deg);
-}
-
-.container .shape {
-  position: absolute;
-  width: 10px;
-  height: 10px;
-  border-radius: 1px;
-}
-.container .shape.shape1 {
-  left: 0;
-  background-color: #1890FF;
-}
-.container .shape.shape2 {
-  right: 0;
-  background-color: #91CB74;
-}
-.container .shape.shape3 {
-  bottom: 0;
-  background-color: #FAC858;
-}
-.container .shape.shape4 {
-  bottom: 0;
-  right: 0;
-  background-color: #EE6666;
-}
-
-.loading1 .shape1 {
-  -webkit-animation: animation1shape1 0.5s ease 0s infinite alternate;
-          animation: animation1shape1 0.5s ease 0s infinite alternate;
-}
-
-@-webkit-keyframes animation1shape1 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(16px, 16px);
-            transform: translate(16px, 16px);
-  }
-}
-
-@keyframes animation1shape1 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(16px, 16px);
-            transform: translate(16px, 16px);
-  }
-}
-.loading1 .shape2 {
-  -webkit-animation: animation1shape2 0.5s ease 0s infinite alternate;
-          animation: animation1shape2 0.5s ease 0s infinite alternate;
-}
-
-@-webkit-keyframes animation1shape2 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(-16px, 16px);
-            transform: translate(-16px, 16px);
-  }
-}
-
-@keyframes animation1shape2 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(-16px, 16px);
-            transform: translate(-16px, 16px);
-  }
-}
-.loading1 .shape3 {
-  -webkit-animation: animation1shape3 0.5s ease 0s infinite alternate;
-          animation: animation1shape3 0.5s ease 0s infinite alternate;
-}
-
-@-webkit-keyframes animation1shape3 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(16px, -16px);
-            transform: translate(16px, -16px);
-  }
-}
-
-@keyframes animation1shape3 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(16px, -16px);
-            transform: translate(16px, -16px);
-  }
-}
-.loading1 .shape4 {
-  -webkit-animation: animation1shape4 0.5s ease 0s infinite alternate;
-          animation: animation1shape4 0.5s ease 0s infinite alternate;
-}
-
-@-webkit-keyframes animation1shape4 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(-16px, -16px);
-            transform: translate(-16px, -16px);
-  }
-}
-
-@keyframes animation1shape4 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(-16px, -16px);
-            transform: translate(-16px, -16px);
-  }
-}
-
-
-</style>
diff --git a/src/components/qiun-data-charts/components/qiun-loading/loading2.vue b/src/components/qiun-data-charts/components/qiun-loading/loading2.vue
deleted file mode 100644
index 7541b31..0000000
--- a/src/components/qiun-data-charts/components/qiun-loading/loading2.vue
+++ /dev/null
@@ -1,170 +0,0 @@
-<template>
-	 <view class="container loading2">
-		<view class="shape shape1"></view>
-		<view class="shape shape2"></view>
-		<view class="shape shape3"></view>
-		<view class="shape shape4"></view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: 'loading2',
-		data() {
-			return {
-				
-			};
-		}
-	}
-</script>
-
-<style scoped="true">
-.container {
-  width: 30px;
-  height: 30px;
-  position: relative;
-}
-
-.container.loading2 {
-  -webkit-transform: rotate(10deg);
-          transform: rotate(10deg);
-}
-.container.loading2 .shape {
-  border-radius: 5px;
-}
-.container.loading2{
-  -webkit-animation: rotation 1s infinite;
-          animation: rotation 1s infinite;
-}
-
-.container .shape {
-  position: absolute;
-  width: 10px;
-  height: 10px;
-  border-radius: 1px;
-}
-.container .shape.shape1 {
-  left: 0;
-  background-color: #1890FF;
-}
-.container .shape.shape2 {
-  right: 0;
-  background-color: #91CB74;
-}
-.container .shape.shape3 {
-  bottom: 0;
-  background-color: #FAC858;
-}
-.container .shape.shape4 {
-  bottom: 0;
-  right: 0;
-  background-color: #EE6666;
-}
-
-
-.loading2 .shape1 {
-  -webkit-animation: animation2shape1 0.5s ease 0s infinite alternate;
-          animation: animation2shape1 0.5s ease 0s infinite alternate;
-}
-
-@-webkit-keyframes animation2shape1 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(20px, 20px);
-            transform: translate(20px, 20px);
-  }
-}
-
-@keyframes animation2shape1 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(20px, 20px);
-            transform: translate(20px, 20px);
-  }
-}
-.loading2 .shape2 {
-  -webkit-animation: animation2shape2 0.5s ease 0s infinite alternate;
-          animation: animation2shape2 0.5s ease 0s infinite alternate;
-}
-
-@-webkit-keyframes animation2shape2 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(-20px, 20px);
-            transform: translate(-20px, 20px);
-  }
-}
-
-@keyframes animation2shape2 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(-20px, 20px);
-            transform: translate(-20px, 20px);
-  }
-}
-.loading2 .shape3 {
-  -webkit-animation: animation2shape3 0.5s ease 0s infinite alternate;
-          animation: animation2shape3 0.5s ease 0s infinite alternate;
-}
-
-@-webkit-keyframes animation2shape3 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(20px, -20px);
-            transform: translate(20px, -20px);
-  }
-}
-
-@keyframes animation2shape3 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(20px, -20px);
-            transform: translate(20px, -20px);
-  }
-}
-.loading2 .shape4 {
-  -webkit-animation: animation2shape4 0.5s ease 0s infinite alternate;
-          animation: animation2shape4 0.5s ease 0s infinite alternate;
-}
-
-@-webkit-keyframes animation2shape4 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(-20px, -20px);
-            transform: translate(-20px, -20px);
-  }
-}
-
-@keyframes animation2shape4 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(-20px, -20px);
-            transform: translate(-20px, -20px);
-  }
-}
-
-</style>
diff --git a/src/components/qiun-data-charts/components/qiun-loading/loading3.vue b/src/components/qiun-data-charts/components/qiun-loading/loading3.vue
deleted file mode 100644
index 8e14db3..0000000
--- a/src/components/qiun-data-charts/components/qiun-loading/loading3.vue
+++ /dev/null
@@ -1,173 +0,0 @@
-<template>
-	 <view class="container loading3">
-		<view class="shape shape1"></view>
-		<view class="shape shape2"></view>
-		<view class="shape shape3"></view>
-		<view class="shape shape4"></view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: 'loading3',
-		data() {
-			return {
-				
-			};
-		}
-	}
-</script>
-
-<style scoped="true">
-.container {
-  width: 30px;
-  height: 30px;
-  position: relative;
-}
-
- .container.loading3 {
-  -webkit-animation: rotation 1s infinite;
-          animation: rotation 1s infinite;
-}
-.container.loading3 .shape1 {
-  border-top-left-radius: 10px;
-}
-.container.loading3 .shape2 {
-  border-top-right-radius: 10px;
-}
-.container.loading3 .shape3 {
-  border-bottom-left-radius: 10px;
-}
-.container.loading3 .shape4 {
-  border-bottom-right-radius: 10px;
-}
-
-.container .shape {
-  position: absolute;
-  width: 10px;
-  height: 10px;
-  border-radius: 1px;
-}
-.container .shape.shape1 {
-  left: 0;
-  background-color: #1890FF;
-}
-.container .shape.shape2 {
-  right: 0;
-  background-color: #91CB74;
-}
-.container .shape.shape3 {
-  bottom: 0;
-  background-color: #FAC858;
-}
-.container .shape.shape4 {
-  bottom: 0;
-  right: 0;
-  background-color: #EE6666;
-}
-
-.loading3 .shape1 {
-  -webkit-animation: animation3shape1 0.5s ease 0s infinite alternate;
-          animation: animation3shape1 0.5s ease 0s infinite alternate;
-}
-
-@-webkit-keyframes animation3shape1 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(5px, 5px);
-            transform: translate(5px, 5px);
-  }
-}
-
-@keyframes animation3shape1 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(5px, 5px);
-            transform: translate(5px, 5px);
-  }
-}
-.loading3 .shape2 {
-  -webkit-animation: animation3shape2 0.5s ease 0s infinite alternate;
-          animation: animation3shape2 0.5s ease 0s infinite alternate;
-}
-
-@-webkit-keyframes animation3shape2 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(-5px, 5px);
-            transform: translate(-5px, 5px);
-  }
-}
-
-@keyframes animation3shape2 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(-5px, 5px);
-            transform: translate(-5px, 5px);
-  }
-}
-.loading3 .shape3 {
-  -webkit-animation: animation3shape3 0.5s ease 0s infinite alternate;
-          animation: animation3shape3 0.5s ease 0s infinite alternate;
-}
-
-@-webkit-keyframes animation3shape3 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(5px, -5px);
-            transform: translate(5px, -5px);
-  }
-}
-
-@keyframes animation3shape3 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(5px, -5px);
-            transform: translate(5px, -5px);
-  }
-}
-.loading3 .shape4 {
-  -webkit-animation: animation3shape4 0.5s ease 0s infinite alternate;
-          animation: animation3shape4 0.5s ease 0s infinite alternate;
-}
-
-@-webkit-keyframes animation3shape4 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(-5px, -5px);
-            transform: translate(-5px, -5px);
-  }
-}
-
-@keyframes animation3shape4 {
-  from {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  to {
-    -webkit-transform: translate(-5px, -5px);
-            transform: translate(-5px, -5px);
-  }
-}
-</style>
diff --git a/src/components/qiun-data-charts/components/qiun-loading/loading4.vue b/src/components/qiun-data-charts/components/qiun-loading/loading4.vue
deleted file mode 100644
index 77c55b7..0000000
--- a/src/components/qiun-data-charts/components/qiun-loading/loading4.vue
+++ /dev/null
@@ -1,222 +0,0 @@
-<template>
-	 <view class="container loading5">
-		<view class="shape shape1"></view>
-		<view class="shape shape2"></view>
-		<view class="shape shape3"></view>
-		<view class="shape shape4"></view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: 'loading5',
-		data() {
-			return {
-				
-			};
-		}
-	}
-</script>
-
-<style scoped="true">
-.container {
-  width: 30px;
-  height: 30px;
-  position: relative;
-}
-
-.container.loading5 .shape {
-  width: 15px;
-  height: 15px;
-}
-
-.container .shape {
-  position: absolute;
-  width: 10px;
-  height: 10px;
-  border-radius: 1px;
-}
-.container .shape.shape1 {
-  left: 0;
-  background-color: #1890FF;
-}
-.container .shape.shape2 {
-  right: 0;
-  background-color: #91CB74;
-}
-.container .shape.shape3 {
-  bottom: 0;
-  background-color: #FAC858;
-}
-.container .shape.shape4 {
-  bottom: 0;
-  right: 0;
-  background-color: #EE6666;
-}
-
-.loading5 .shape1 {
-  animation: animation5shape1 2s ease 0s infinite reverse;
-}
-
-@-webkit-keyframes animation5shape1 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(0, 15px);
-            transform: translate(0, 15px);
-  }
-  50% {
-    -webkit-transform: translate(15px, 15px);
-            transform: translate(15px, 15px);
-  }
-  75% {
-    -webkit-transform: translate(15px, 0);
-            transform: translate(15px, 0);
-  }
-}
-
-@keyframes animation5shape1 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(0, 15px);
-            transform: translate(0, 15px);
-  }
-  50% {
-    -webkit-transform: translate(15px, 15px);
-            transform: translate(15px, 15px);
-  }
-  75% {
-    -webkit-transform: translate(15px, 0);
-            transform: translate(15px, 0);
-  }
-}
-.loading5 .shape2 {
-  animation: animation5shape2 2s ease 0s infinite reverse;
-}
-
-@-webkit-keyframes animation5shape2 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(-15px, 0);
-            transform: translate(-15px, 0);
-  }
-  50% {
-    -webkit-transform: translate(-15px, 15px);
-            transform: translate(-15px, 15px);
-  }
-  75% {
-    -webkit-transform: translate(0, 15px);
-            transform: translate(0, 15px);
-  }
-}
-
-@keyframes animation5shape2 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(-15px, 0);
-            transform: translate(-15px, 0);
-  }
-  50% {
-    -webkit-transform: translate(-15px, 15px);
-            transform: translate(-15px, 15px);
-  }
-  75% {
-    -webkit-transform: translate(0, 15px);
-            transform: translate(0, 15px);
-  }
-}
-.loading5 .shape3 {
-  animation: animation5shape3 2s ease 0s infinite reverse;
-}
-
-@-webkit-keyframes animation5shape3 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(15px, 0);
-            transform: translate(15px, 0);
-  }
-  50% {
-    -webkit-transform: translate(15px, -15px);
-            transform: translate(15px, -15px);
-  }
-  75% {
-    -webkit-transform: translate(0, -15px);
-            transform: translate(0, -15px);
-  }
-}
-
-@keyframes animation5shape3 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(15px, 0);
-            transform: translate(15px, 0);
-  }
-  50% {
-    -webkit-transform: translate(15px, -15px);
-            transform: translate(15px, -15px);
-  }
-  75% {
-    -webkit-transform: translate(0, -15px);
-            transform: translate(0, -15px);
-  }
-}
-.loading5 .shape4 {
-  animation: animation5shape4 2s ease 0s infinite reverse;
-}
-
-@-webkit-keyframes animation5shape4 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(0, -15px);
-            transform: translate(0, -15px);
-  }
-  50% {
-    -webkit-transform: translate(-15px, -15px);
-            transform: translate(-15px, -15px);
-  }
-  75% {
-    -webkit-transform: translate(-15px, 0);
-            transform: translate(-15px, 0);
-  }
-}
-
-@keyframes animation5shape4 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(0, -15px);
-            transform: translate(0, -15px);
-  }
-  50% {
-    -webkit-transform: translate(-15px, -15px);
-            transform: translate(-15px, -15px);
-  }
-  75% {
-    -webkit-transform: translate(-15px, 0);
-            transform: translate(-15px, 0);
-  }
-}
-
-</style>
diff --git a/src/components/qiun-data-charts/components/qiun-loading/loading5.vue b/src/components/qiun-data-charts/components/qiun-loading/loading5.vue
deleted file mode 100644
index cb93a55..0000000
--- a/src/components/qiun-data-charts/components/qiun-loading/loading5.vue
+++ /dev/null
@@ -1,229 +0,0 @@
-<template>
-	 <view class="container loading6">
-		<view class="shape shape1"></view>
-		<view class="shape shape2"></view>
-		<view class="shape shape3"></view>
-		<view class="shape shape4"></view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: 'loading6',
-		data() {
-			return {
-				
-			};
-		}
-	}
-</script>
-<style scoped="true">
-.container {
-  width: 30px;
-  height: 30px;
-  position: relative;
-}
-
-.container.loading6 {
-  -webkit-animation: rotation 1s infinite;
-          animation: rotation 1s infinite;
-}
-.container.loading6 .shape {
-  width: 12px;
-  height: 12px;
-  border-radius: 2px;
-}
-.container .shape {
-  position: absolute;
-  width: 10px;
-  height: 10px;
-  border-radius: 1px;
-}
-.container .shape.shape1 {
-  left: 0;
-  background-color: #1890FF;
-}
-.container .shape.shape2 {
-  right: 0;
-  background-color: #91CB74;
-}
-.container .shape.shape3 {
-  bottom: 0;
-  background-color: #FAC858;
-}
-.container .shape.shape4 {
-  bottom: 0;
-  right: 0;
-  background-color: #EE6666;
-}
-
-
-.loading6 .shape1 {
-  -webkit-animation: animation6shape1 2s linear 0s infinite normal;
-          animation: animation6shape1 2s linear 0s infinite normal;
-}
-
-@-webkit-keyframes animation6shape1 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(0, 18px);
-            transform: translate(0, 18px);
-  }
-  50% {
-    -webkit-transform: translate(18px, 18px);
-            transform: translate(18px, 18px);
-  }
-  75% {
-    -webkit-transform: translate(18px, 0);
-            transform: translate(18px, 0);
-  }
-}
-
-@keyframes animation6shape1 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(0, 18px);
-            transform: translate(0, 18px);
-  }
-  50% {
-    -webkit-transform: translate(18px, 18px);
-            transform: translate(18px, 18px);
-  }
-  75% {
-    -webkit-transform: translate(18px, 0);
-            transform: translate(18px, 0);
-  }
-}
-.loading6 .shape2 {
-  -webkit-animation: animation6shape2 2s linear 0s infinite normal;
-          animation: animation6shape2 2s linear 0s infinite normal;
-}
-
-@-webkit-keyframes animation6shape2 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(-18px, 0);
-            transform: translate(-18px, 0);
-  }
-  50% {
-    -webkit-transform: translate(-18px, 18px);
-            transform: translate(-18px, 18px);
-  }
-  75% {
-    -webkit-transform: translate(0, 18px);
-            transform: translate(0, 18px);
-  }
-}
-
-@keyframes animation6shape2 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(-18px, 0);
-            transform: translate(-18px, 0);
-  }
-  50% {
-    -webkit-transform: translate(-18px, 18px);
-            transform: translate(-18px, 18px);
-  }
-  75% {
-    -webkit-transform: translate(0, 18px);
-            transform: translate(0, 18px);
-  }
-}
-.loading6 .shape3 {
-  -webkit-animation: animation6shape3 2s linear 0s infinite normal;
-          animation: animation6shape3 2s linear 0s infinite normal;
-}
-
-@-webkit-keyframes animation6shape3 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(18px, 0);
-            transform: translate(18px, 0);
-  }
-  50% {
-    -webkit-transform: translate(18px, -18px);
-            transform: translate(18px, -18px);
-  }
-  75% {
-    -webkit-transform: translate(0, -18px);
-            transform: translate(0, -18px);
-  }
-}
-
-@keyframes animation6shape3 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(18px, 0);
-            transform: translate(18px, 0);
-  }
-  50% {
-    -webkit-transform: translate(18px, -18px);
-            transform: translate(18px, -18px);
-  }
-  75% {
-    -webkit-transform: translate(0, -18px);
-            transform: translate(0, -18px);
-  }
-}
-.loading6 .shape4 {
-  -webkit-animation: animation6shape4 2s linear 0s infinite normal;
-          animation: animation6shape4 2s linear 0s infinite normal;
-}
-
-@-webkit-keyframes animation6shape4 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(0, -18px);
-            transform: translate(0, -18px);
-  }
-  50% {
-    -webkit-transform: translate(-18px, -18px);
-            transform: translate(-18px, -18px);
-  }
-  75% {
-    -webkit-transform: translate(-18px, 0);
-            transform: translate(-18px, 0);
-  }
-}
-
-@keyframes animation6shape4 {
-  0% {
-    -webkit-transform: translate(0, 0);
-            transform: translate(0, 0);
-  }
-  25% {
-    -webkit-transform: translate(0, -18px);
-            transform: translate(0, -18px);
-  }
-  50% {
-    -webkit-transform: translate(-18px, -18px);
-            transform: translate(-18px, -18px);
-  }
-  75% {
-    -webkit-transform: translate(-18px, 0);
-            transform: translate(-18px, 0);
-  }
-}
-</style>
diff --git a/src/components/qiun-data-charts/components/qiun-loading/qiun-loading.vue b/src/components/qiun-data-charts/components/qiun-loading/qiun-loading.vue
deleted file mode 100644
index 7789060..0000000
--- a/src/components/qiun-data-charts/components/qiun-loading/qiun-loading.vue
+++ /dev/null
@@ -1,36 +0,0 @@
-<template>
-	<view>
-	 <Loading1 v-if="loadingType==1"/>
-	 <Loading2 v-if="loadingType==2"/>
-	 <Loading3 v-if="loadingType==3"/>
-	 <Loading4 v-if="loadingType==4"/>
-	 <Loading5 v-if="loadingType==5"/>
-	</view>
-</template>
-
-<script>
-	import Loading1 from "./loading1.vue";
-	import Loading2 from "./loading2.vue";
-	import Loading3 from "./loading3.vue";
-	import Loading4 from "./loading4.vue";
-	import Loading5 from "./loading5.vue";
-	export default {
-		components:{Loading1,Loading2,Loading3,Loading4,Loading5},
-		name: 'qiun-loading',
-		props: {
-			loadingType: {
-				type: Number,
-				default: 2
-			},
-		},
-		data() {
-			return {
-				
-			};
-		},
-	}
-</script>
-
-<style>
-
-</style>
diff --git a/src/components/qiun-data-charts/js_sdk/u-charts/config-echarts.js b/src/components/qiun-data-charts/js_sdk/u-charts/config-echarts.js
deleted file mode 100644
index 7b8168f..0000000
--- a/src/components/qiun-data-charts/js_sdk/u-charts/config-echarts.js
+++ /dev/null
@@ -1,422 +0,0 @@
-/*
- * uCharts庐
- * 楂樻�ц兘璺ㄥ钩鍙板浘琛ㄥ簱锛屾敮鎸丠5銆丄PP銆佸皬绋嬪簭锛堝井淇�/鏀粯瀹�/鐧惧害/澶存潯/QQ/360锛夈�乂ue銆乀aro绛夋敮鎸乧anvas鐨勬鏋跺钩鍙�
- * Copyright (c) 2021 QIUN庐绉嬩簯 https://www.ucharts.cn All rights reserved.
- * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- * 澶嶅埗浣跨敤璇蜂繚鐣欐湰娈垫敞閲婏紝鎰熻阿鏀寔寮�婧愶紒
- * 
- * uCharts庐瀹樻柟缃戠珯
- * https://www.uCharts.cn
- * 
- * 寮�婧愬湴鍧�:
- * https://gitee.com/uCharts/uCharts
- * 
- * uni-app鎻掍欢甯傚満鍦板潃锛�
- * http://ext.dcloud.net.cn/plugin?id=271
- * 
- */
-
-// 閫氱敤閰嶇疆椤�
-
-// 涓婚棰滆壊閰嶇疆锛氬姣忎釜鍥捐〃绫诲瀷闇�瑕佷笉鍚屼富棰橈紝璇峰湪瀵瑰簲鍥捐〃绫诲瀷涓婃洿鏀筩olor灞炴��
-const color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'];
-
-const cfe = {
-  //demotype涓鸿嚜瀹氫箟鍥捐〃绫诲瀷
-	"type": ["pie", "ring", "rose", "funnel", "line", "column", "area", "radar", "gauge","candle","demotype"],
-  //澧炲姞鑷畾涔夊浘琛ㄧ被鍨嬶紝濡傛灉闇�瑕乧ategories锛岃鍦ㄨ繖閲屽姞鍏ユ偍鐨勫浘琛ㄧ被鍨嬩緥濡傛渶鍚庣殑"demotype"
-	"categories": ["line", "column", "area", "radar", "gauge", "candle","demotype"],
-  //instance涓哄疄渚嬪彉閲忔壙杞藉睘鎬э紝option涓篹opts鎵胯浇灞炴�э紝涓嶈鍒犻櫎
-	"instance": {},
-	"option": {},
-  //涓嬮潰鏄嚜瀹氫箟format閰嶇疆锛屽洜闄5绔鐨勫叾浠栫鏃犳硶閫氳繃props浼犻�掑嚱鏁帮紝鍙兘閫氳繃姝ゅ睘鎬у搴斾笅鏍囩殑鏂瑰紡鏉ユ浛鎹�
-  "formatter":{
-    "tooltipDemo1":function(res){
-      let result = ''
-      for (let i in res) {
-      	if (i == 0) {
-      		result += res[i].axisValueLabel + '骞撮攢鍞'
-      	}
-      	let value = '--'
-      	if (res[i].data !== null) {
-      		value = res[i].data
-      	}
-      	// #ifdef H5
-      	result += '\n' + res[i].seriesName + '锛�' + value + ' 涓囧厓'
-      	// #endif
-      	
-      	// #ifdef APP-PLUS
-      	result += '<br/>' + res[i].marker + res[i].seriesName + '锛�' + value + ' 涓囧厓'
-      	// #endif
-      }
-      return result;
-    },
-    legendFormat:function(name){
-      return "鑷畾涔夊浘渚�+"+name;
-    },
-    yAxisFormatDemo:function (value, index) {
-      return value + '鍏�';
-    },
-    seriesFormatDemo:function(res){
-      return res.name + '骞�' + res.value + '鍏�';
-    }
-  },
-  //杩欓噷婕旂ず浜嗚嚜瀹氫箟鎮ㄧ殑鍥捐〃绫诲瀷鐨刼ption锛屽彲浠ラ殢鎰忓懡鍚嶏紝涔嬪悗鍦ㄧ粍浠朵笂 type="demotype" 鍚庯紝缁勪欢浼氳皟鐢ㄨ繖涓姳鎷彿閲岀殑option锛屽鏋滅粍浠朵笂杩樺瓨鍦╡opts鍙傛暟锛屼細灏哾emotype涓巈opts涓璷ption鍚堝苟鍚庢覆鏌撳浘琛ㄣ��
-  "demotype":{
-    "color": color,
-    //鍦ㄨ繖閲屽~鍐檈charts鐨刼ption鍗冲彲
-    
-  },
-  //涓嬮潰鏄嚜瀹氫箟閰嶇疆锛岃娣诲姞椤圭洰鎵�闇�鐨勯�氱敤閰嶇疆
-	"column": {
-		"color": color,
-		"title": {
-			"text": ''
-		},
-		"tooltip": {
-			"trigger": 'axis'
-		},
-		"grid": {
-			"top": 30,
-			"bottom": 50,
-			"right": 15,
-			"left": 40
-		},
-		"legend": {
-			"bottom": 'left',
-		},
-		"toolbox": {
-			"show": false,
-		},
-		"xAxis": {
-			"type": 'category',
-			"axisLabel": {
-				"color": '#666666'
-			},
-			"axisLine": {
-				"lineStyle": {
-					"color": '#CCCCCC'
-				}
-			},
-			"boundaryGap": true,
-			"data": []
-		},
-		"yAxis": {
-			"type": 'value',
-			"axisTick": {
-				"show": false,
-			},
-			"axisLabel": {
-				"color": '#666666'
-			},
-			"axisLine": {
-				"lineStyle": {
-					"color": '#CCCCCC'
-				}
-			},
-		},
-		"seriesTemplate": {
-			"name": '',
-			"type": 'bar',
-			"data": [],
-			"barwidth": 20,
-			"label": {
-				"show": true,
-        "color": "#666666",
-				"position": 'top',
-			},
-		},
-	},
-	"line": {
-		"color": color,
-		"title": {
-			"text": ''
-		},
-		"tooltip": {
-			"trigger": 'axis'
-		},
-		"grid": {
-			"top": 30,
-			"bottom": 50,
-			"right": 15,
-			"left": 40
-		},
-		"legend": {
-			"bottom": 'left',
-		},
-		"toolbox": {
-			"show": false,
-		},
-		"xAxis": {
-			"type": 'category',
-			"axisLabel": {
-				"color": '#666666'
-			},
-			"axisLine": {
-				"lineStyle": {
-					"color": '#CCCCCC'
-				}
-			},
-			"boundaryGap": true,
-			"data": []
-		},
-		"yAxis": {
-			"type": 'value',
-			"axisTick": {
-				"show": false,
-			},
-			"axisLabel": {
-				"color": '#666666'
-			},
-			"axisLine": {
-				"lineStyle": {
-					"color": '#CCCCCC'
-				}
-			},
-		},
-		"seriesTemplate": {
-			"name": '',
-			"type": 'line',
-			"data": [],
-			"barwidth": 20,
-			"label": {
-				"show": true,
-        "color": "#666666",
-				"position": 'top',
-			},
-		},
-	},
-	"area": {
-		"color": color,
-		"title": {
-			"text": ''
-		},
-		"tooltip": {
-			"trigger": 'axis'
-		},
-		"grid": {
-			"top": 30,
-			"bottom": 50,
-			"right": 15,
-			"left": 40
-		},
-		"legend": {
-			"bottom": 'left',
-		},
-		"toolbox": {
-			"show": false,
-		},
-		"xAxis": {
-			"type": 'category',
-			"axisLabel": {
-				"color": '#666666'
-			},
-			"axisLine": {
-				"lineStyle": {
-					"color": '#CCCCCC'
-				}
-			},
-			"boundaryGap": true,
-			"data": []
-		},
-		"yAxis": {
-			"type": 'value',
-			"axisTick": {
-				"show": false,
-			},
-			"axisLabel": {
-				"color": '#666666'
-			},
-			"axisLine": {
-				"lineStyle": {
-					"color": '#CCCCCC'
-				}
-			},
-		},
-		"seriesTemplate": {
-			"name": '',
-			"type": 'line',
-			"data": [],
-			"areaStyle": {},
-			"label": {
-				"show": true,
-        "color": "#666666",
-				"position": 'top',
-			},
-		},
-	},
-	"pie": {
-		"color": color,
-		"title": {
-			"text": ''
-		},
-		"tooltip": {
-			"trigger": 'item'
-		},
-		"grid": {
-			"top": 40,
-			"bottom": 30,
-			"right": 15,
-			"left": 15
-		},
-		"legend": {
-			"bottom": 'left',
-		},
-		"seriesTemplate": {
-			"name": '',
-			"type": 'pie',
-			"data": [],
-			"radius": '50%',
-			"label": {
-				"show": true,
-        "color": "#666666",
-				"position": 'top',
-			},
-		},
-	},
-	"ring": {
-		"color": color,
-		"title": {
-			"text": ''
-		},
-		"tooltip": {
-			"trigger": 'item'
-		},
-		"grid": {
-			"top": 40,
-			"bottom": 30,
-			"right": 15,
-			"left": 15
-		},
-		"legend": {
-			"bottom": 'left',
-		},
-		"seriesTemplate": {
-			"name": '',
-			"type": 'pie',
-			"data": [],
-			"radius": ['40%', '70%'],
-			"avoidLabelOverlap": false,
-			"label": {
-				"show": true,
-        "color": "#666666",
-				"position": 'top',
-			},
-			"labelLine": {
-				"show": true
-			},
-		},
-	},
-	"rose": {
-		"color": color,
-		"title": {
-			"text": ''
-		},
-		"tooltip": {
-			"trigger": 'item'
-		},
-		"legend": {
-			"top": 'bottom'
-		},
-		"seriesTemplate": {
-			"name": '',
-			"type": 'pie',
-			"data": [],
-			"radius": "55%",
-			"center": ['50%', '50%'],
-			"roseType": 'area',
-		},
-	},
-	"funnel": {
-		"color": color,
-		"title": {
-			"text": ''
-		},
-		"tooltip": {
-			"trigger": 'item',
-			"formatter": "{b} : {c}%"
-		},
-		"legend": {
-			"top": 'bottom'
-		},
-		"seriesTemplate": {
-			"name": '',
-			"type": 'funnel',
-			"left": '10%',
-			"top": 60,
-			"bottom": 60,
-			"width": '80%',
-			"min": 0,
-			"max": 100,
-			"minSize": '0%',
-			"maxSize": '100%',
-			"sort": 'descending',
-			"gap": 2,
-			"label": {
-				"show": true,
-				"position": 'inside'
-			},
-			"labelLine": {
-				"length": 10,
-				"lineStyle": {
-					"width": 1,
-					"type": 'solid'
-				}
-			},
-			"itemStyle": {
-				"bordercolor": '#fff',
-				"borderwidth": 1
-			},
-			"emphasis": {
-				"label": {
-					"fontSize": 20
-				}
-			},
-			"data": [],
-		},
-	},
-	"gauge": {
-		"color": color,
-		"tooltip": {
-        "formatter": '{a} <br/>{b} : {c}%'
-    },
-		"seriesTemplate": {
-			"name": '涓氬姟鎸囨爣',
-      "type": 'gauge',
-      "detail": {"formatter": '{value}%'},
-      "data": [{"value": 50, "name": '瀹屾垚鐜�'}]
-		},
-	},
-	"candle": {
-		"xAxis": {
-			"data": []
-		},
-		"yAxis": {},
-		"color": color,
-		"title": {
-			"text": ''
-		},
-		"dataZoom": [{
-				"type": 'inside',
-				"xAxisIndex": [0, 1],
-				"start": 10,
-				"end": 100
-			},
-			{
-				"show": true,
-				"xAxisIndex": [0, 1],
-				"type": 'slider',
-				"bottom": 10,
-				"start": 10,
-				"end": 100
-			}
-		],
-		"seriesTemplate": {
-			"name": '',
-			"type": 'k',
-			"data": [],
-		},
-	}
-}
-
-export default cfe;
\ No newline at end of file
diff --git a/src/components/qiun-data-charts/js_sdk/u-charts/config-ucharts.js b/src/components/qiun-data-charts/js_sdk/u-charts/config-ucharts.js
deleted file mode 100644
index 17b28b3..0000000
--- a/src/components/qiun-data-charts/js_sdk/u-charts/config-ucharts.js
+++ /dev/null
@@ -1,606 +0,0 @@
-/*
- * uCharts庐
- * 楂樻�ц兘璺ㄥ钩鍙板浘琛ㄥ簱锛屾敮鎸丠5銆丄PP銆佸皬绋嬪簭锛堝井淇�/鏀粯瀹�/鐧惧害/澶存潯/QQ/360锛夈�乂ue銆乀aro绛夋敮鎸乧anvas鐨勬鏋跺钩鍙�
- * Copyright (c) 2021 QIUN庐绉嬩簯 https://www.ucharts.cn All rights reserved.
- * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- * 澶嶅埗浣跨敤璇蜂繚鐣欐湰娈垫敞閲婏紝鎰熻阿鏀寔寮�婧愶紒
- * 
- * uCharts庐瀹樻柟缃戠珯
- * https://www.uCharts.cn
- * 
- * 寮�婧愬湴鍧�:
- * https://gitee.com/uCharts/uCharts
- * 
- * uni-app鎻掍欢甯傚満鍦板潃锛�
- * http://ext.dcloud.net.cn/plugin?id=271
- * 
- */
-
-// 涓婚棰滆壊閰嶇疆锛氬姣忎釜鍥捐〃绫诲瀷闇�瑕佷笉鍚屼富棰橈紝璇峰湪瀵瑰簲鍥捐〃绫诲瀷涓婃洿鏀筩olor灞炴��
-const color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'];
-
-//浜嬩欢杞崲鍑芥暟锛屼富瑕佺敤浣滄牸寮忓寲x杞翠负鏃堕棿杞达紝鏍规嵁闇�姹傝嚜琛屼慨鏀�
-const formatDateTime = (timeStamp, returnType)=>{
-  var date = new Date();
-  date.setTime(timeStamp * 1000);
-  var y = date.getFullYear();
-  var m = date.getMonth() + 1;
-  m = m < 10 ? ('0' + m) : m;
-  var d = date.getDate();
-  d = d < 10 ? ('0' + d) : d;
-  var h = date.getHours();
-  h = h < 10 ? ('0' + h) : h;
-  var minute = date.getMinutes();
-  var second = date.getSeconds();
-  minute = minute < 10 ? ('0' + minute) : minute;
-  second = second < 10 ? ('0' + second) : second;
-  if(returnType == 'full'){return y + '-' + m + '-' + d + ' '+ h +':' + minute + ':' + second;}
-  if(returnType == 'y-m-d'){return y + '-' + m + '-' + d;}
-  if(returnType == 'h:m'){return  h +':' + minute;}
-  if(returnType == 'h:m:s'){return  h +':' + minute +':' + second;}
-  return [y, m, d, h, minute, second];
-}
-
-const cfu = {
-  //demotype涓鸿嚜瀹氫箟鍥捐〃绫诲瀷锛屼竴鑸笉闇�瑕佽嚜瀹氫箟鍥捐〃绫诲瀷锛屽彧闇�瑕佹敼鏍硅妭鐐逛笂瀵瑰簲鐨勭被鍨嬪嵆鍙�
-	"type":["pie","ring","rose","word","funnel","map","arcbar","line","column","mount","bar","area","radar","gauge","candle","mix","tline","tarea","scatter","bubble","demotype"],
-	"range":["楗肩姸鍥�","鍦嗙幆鍥�","鐜懓鍥�","璇嶄簯鍥�","婕忔枟鍥�","鍦板浘","鍦嗗姬杩涘害鏉�","鎶樼嚎鍥�","鏌辩姸鍥�","灞卞嘲鍥�","鏉$姸鍥�","鍖哄煙鍥�","闆疯揪鍥�","浠〃鐩�","K绾垮浘","娣峰悎鍥�","鏃堕棿杞存姌绾�","鏃堕棿杞村尯鍩�","鏁g偣鍥�","姘旀场鍥�","鑷畾涔夌被鍨�"],
-  //澧炲姞鑷畾涔夊浘琛ㄧ被鍨嬶紝濡傛灉闇�瑕乧ategories锛岃鍦ㄨ繖閲屽姞鍏ユ偍鐨勫浘琛ㄧ被鍨嬶紝渚嬪鏈�鍚庣殑"demotype"
-  //鑷畾涔夌被鍨嬫椂闇�瑕佹敞鎰�"tline","tarea","scatter","bubble"绛夋椂闂磋酱锛堢煝閲弜杞达級绫诲浘琛紝娌℃湁categories锛屼笉闇�瑕佸姞鍏ategories
-	"categories":["line","column","mount","bar","area","radar","gauge","candle","mix","demotype"],
-  //instance涓哄疄渚嬪彉閲忔壙杞藉睘鎬э紝涓嶈鍒犻櫎
-  "instance":{},
-  //option涓簅pts鍙奺opts鎵胯浇灞炴�э紝涓嶈鍒犻櫎
-  "option":{},
-  //涓嬮潰鏄嚜瀹氫箟format閰嶇疆锛屽洜闄5绔鐨勫叾浠栫鏃犳硶閫氳繃props浼犻�掑嚱鏁帮紝鍙兘閫氳繃姝ゅ睘鎬у搴斾笅鏍囩殑鏂瑰紡鏉ユ浛鎹�
-  "formatter":{
-    "yAxisDemo1":function(val, index, opts){return val+'鍏�'},
-    "yAxisDemo2":function(val, index, opts){return val.toFixed(2)},
-    "xAxisDemo1":function(val, index, opts){return val+'骞�';},
-    "xAxisDemo2":function(val, index, opts){return formatDateTime(val,'h:m')},
-    "seriesDemo1":function(val, index, series, opts){return val+'鍏�'},
-    "tooltipDemo1":function(item, category, index, opts){
-      if(index==0){
-      	return '闅忎究鐢�'+item.data+'骞�'
-      }else{
-      	return '鍏朵粬鎴戞病鏀�'+item.data+'澶�'
-      }
-    },
-    "pieDemo":function(val, index, series, opts){
-      if(index !== undefined){
-        return series[index].name+'锛�'+series[index].data+'鍏�'
-      }
-    },
-  },
-  //杩欓噷婕旂ず浜嗚嚜瀹氫箟鎮ㄧ殑鍥捐〃绫诲瀷鐨刼ption锛屽彲浠ラ殢鎰忓懡鍚嶏紝涔嬪悗鍦ㄧ粍浠朵笂 type="demotype" 鍚庯紝缁勪欢浼氳皟鐢ㄨ繖涓姳鎷彿閲岀殑option锛屽鏋滅粍浠朵笂杩樺瓨鍦╫pts鍙傛暟锛屼細灏哾emotype涓巓pts涓璷ption鍚堝苟鍚庢覆鏌撳浘琛ㄣ��
-  "demotype":{
-    //鎴戣繖閲屾妸鏇茬嚎鍥惧綋鍋氫簡鑷畾涔夊浘琛ㄧ被鍨嬶紝鎮ㄥ彲浠ユ牴鎹渶瑕侀殢鎰忔寚瀹氱被鍨嬫垨閰嶇疆
-    "type": "line",
-    "color": color,
-    "padding": [15,10,0,15],
-    "xAxis": {
-      "disableGrid": true,
-    },
-    "yAxis": {
-      "gridType": "dash",
-      "dashLength": 2,
-    },
-    "legend": {
-    },
-    "extra": {
-    	"line": {
-    		"type": "curve",
-    		"width": 2
-    	},
-    }
-  },
-  //涓嬮潰鏄嚜瀹氫箟閰嶇疆锛岃娣诲姞椤圭洰鎵�闇�鐨勯�氱敤閰嶇疆
-	"pie":{
-		"type": "pie",
-    "color": color,
-		"padding": [5,5,5,5],
-		"extra": {
-			"pie": {
-				"activeOpacity": 0.5,
-				"activeRadius": 10,
-				"offsetAngle": 0,
-				"labelWidth": 15,
-				"border": true,
-				"borderWidth": 3,
-				"borderColor": "#FFFFFF"
-			},
-		}
-	},
-	"ring":{
-		"type": "ring",
-    "color": color,
-		"padding": [5,5,5,5],
-		"rotate": false,
-		"dataLabel": true,
-		"legend": {
-			"show": true,
-			"position": "right",
-      "lineHeight": 25,
-		},
-		"title": {
-			"name": "鏀剁泭鐜�",
-			"fontSize": 15,
-			"color": "#666666"
-		},
-		"subtitle": {
-			"name": "70%",
-			"fontSize": 25,
-			"color": "#7cb5ec"
-		},
-		"extra": {
-			"ring": {
-				"ringWidth":30,
-				"activeOpacity": 0.5,
-				"activeRadius": 10,
-				"offsetAngle": 0,
-				"labelWidth": 15,
-				"border": true,
-				"borderWidth": 3,
-				"borderColor": "#FFFFFF"
-			},
-		},
-	},
-	"rose":{
-		"type": "rose",
-    "color": color,
-		"padding": [5,5,5,5],
-		"legend": {
-			"show": true,
-			"position": "left",
-      "lineHeight": 25,
-		},
-		"extra": {
-			"rose": {
-				"type": "area",
-				"minRadius": 50,
-				"activeOpacity": 0.5,
-				"activeRadius": 10,
-				"offsetAngle": 0,
-				"labelWidth": 15,
-				"border": false,
-				"borderWidth": 2,
-				"borderColor": "#FFFFFF"
-			},
-		}
-	},
-	"word":{
-		"type": "word",
-    "color": color,
-		"extra": {
-			"word": {
-				"type": "normal",
-				"autoColors": false
-			}
-		}
-	},
-	"funnel":{
-		"type": "funnel",
-    "color": color,
-		"padding": [15,15,0,15],
-		"extra": {
-			"funnel": {
-				"activeOpacity": 0.3,
-				"activeWidth": 10,
-				"border": true,
-				"borderWidth": 2,
-				"borderColor": "#FFFFFF",
-				"fillOpacity": 1,
-				"labelAlign": "right"
-			},
-		}
-	},
-	"map":{
-		"type": "map",
-    "color": color,
-		"padding": [0,0,0,0],
-    "dataLabel": true,
-		"extra": {
-			"map": {
-				"border": true,
-				"borderWidth": 1,
-				"borderColor": "#666666",
-				"fillOpacity": 0.6,
-				"activeBorderColor": "#F04864",
-				"activeFillColor": "#FACC14",
-				"activeFillOpacity": 1
-			},
-		}
-	},
-	"arcbar":{
-		"type": "arcbar",
-    "color": color,
-		"title": {
-			"name": "鐧惧垎姣�",
-			"fontSize": 25,
-			"color": "#00FF00"
-		},
-		"subtitle": {
-			"name": "榛樿鏍囬",
-			"fontSize": 15,
-			"color": "#666666"
-		},
-		"extra": {
-			"arcbar": {
-				"type": "default",
-				"width": 12,
-				"backgroundColor": "#E9E9E9",
-				"startAngle": 0.75,
-				"endAngle": 0.25,
-				"gap": 2
-			}
-		}
-	},
-	"line":{
-		"type": "line",
-    "color": color,
-		"padding": [15,10,0,15],
-		"xAxis": {
-      "disableGrid": true,
-		},
-		"yAxis": {
-      "gridType": "dash",
-      "dashLength": 2,
-		},
-		"legend": {
-		},
-		"extra": {
-			"line": {
-				"type": "straight",
-				"width": 2,
-        "activeType": "hollow"
-			},
-		}
-	},
-  "tline":{
-  	"type": "line",
-    "color": color,
-  	"padding": [15,10,0,15],
-  	"xAxis": {
-      "disableGrid": false,
-      "boundaryGap":"justify",
-  	},
-  	"yAxis": {
-      "gridType": "dash",
-      "dashLength": 2,
-      "data":[
-        {
-          "min":0,
-          "max":80
-        }
-      ]
-  	},
-  	"legend": {
-  	},
-  	"extra": {
-  		"line": {
-  			"type": "curve",
-  			"width": 2,
-        "activeType": "hollow"
-  		},
-  	}
-  },
-  "tarea":{
-  	"type": "area",
-    "color": color,
-  	"padding": [15,10,0,15],
-  	"xAxis": {
-      "disableGrid": true,
-      "boundaryGap":"justify",
-  	},
-  	"yAxis": {
-      "gridType": "dash",
-      "dashLength": 2,
-      "data":[
-        {
-          "min":0,
-          "max":80
-        }
-      ]
-  	},
-  	"legend": {
-  	},
-  	"extra": {
-  		"area": {
-  			"type": "curve",
-  			"opacity": 0.2,
-  			"addLine": true,
-  			"width": 2,
-  			"gradient": true,
-        "activeType": "hollow"
-  		},
-  	}
-  },
-	"column":{
-		"type": "column",
-    "color": color,
-		"padding": [15,15,0,5],
-		"xAxis": {
-      "disableGrid": true,
-		},
-		"yAxis": {
-      "data":[{"min":0}]
-		},
-		"legend": {
-		},
-		"extra": {
-			"column": {
-				"type": "group",
-				"width": 30,
-				"activeBgColor": "#000000",
-				"activeBgOpacity": 0.08
-			},
-		}
-	},
-  "mount":{
-  	"type": "mount",
-    "color": color,
-  	"padding": [15,15,0,5],
-  	"xAxis": {
-      "disableGrid": true,
-  	},
-  	"yAxis": {
-      "data":[{"min":0}]
-  	},
-  	"legend": {
-  	},
-  	"extra": {
-  		"mount": {
-  			"type": "mount",
-  			"widthRatio": 1.5,
-  		},
-  	}
-  },
-  "bar":{
-  	"type": "bar",
-    "color": color,
-  	"padding": [15,30,0,5],
-  	"xAxis": {
-      "boundaryGap":"justify",
-      "disableGrid":false,
-      "min":0,
-      "axisLine":false
-  	},
-  	"yAxis": {
-  	},
-  	"legend": {
-  	},
-  	"extra": {
-  		"bar": {
-  			"type": "group",
-  			"width": 30,
-  			"meterBorde": 1,
-  			"meterFillColor": "#FFFFFF",
-  			"activeBgColor": "#000000",
-  			"activeBgOpacity": 0.08
-  		},
-  	}
-  },
-	"area":{
-		"type": "area",
-		"color": color,
-		"padding": [15,15,0,15],
-		"xAxis": {
-      "disableGrid": true,
-		},
-		"yAxis": {
-      "gridType": "dash",
-      "dashLength": 2,
-		},
-		"legend": {
-		},
-		"extra": {
-			"area": {
-				"type": "straight",
-				"opacity": 0.2,
-				"addLine": true,
-				"width": 2,
-				"gradient": false,
-        "activeType": "hollow"
-			},
-		}
-	},
-	"radar":{
-		"type": "radar",
-		"color": color,
-		"padding": [5,5,5,5],
-    "dataLabel": false,
-		"legend": {
-			"show": true,
-			"position": "right",
-      "lineHeight": 25,
-		},
-		"extra": {
-			"radar": {
-				"gridType": "radar",
-				"gridColor": "#CCCCCC",
-				"gridCount": 3,
-				"opacity": 0.2,
-				"max": 200,
-				"labelShow": true
-			},
-		}
-	},
-	"gauge":{
-		"type": "gauge",
-		"color": color,
-		"title": {
-			"name": "66Km/H",
-			"fontSize": 25,
-			"color": "#2fc25b",
-			"offsetY": 50
-		},
-		"subtitle": {
-			"name": "瀹炴椂閫熷害",
-			"fontSize": 15,
-			"color": "#1890ff",
-			"offsetY": -50
-		},
-		"extra": {
-			"gauge": {
-				"type": "default",
-				"width": 30,
-				"labelColor": "#666666",
-				"startAngle": 0.75,
-				"endAngle": 0.25,
-				"startNumber": 0,
-				"endNumber": 100,
-				"labelFormat": "",
-				"splitLine": {
-					"fixRadius": 0,
-					"splitNumber": 10,
-					"width": 30,
-					"color": "#FFFFFF",
-					"childNumber": 5,
-					"childWidth": 12
-				},
-				"pointer": {
-					"width": 24,
-					"color": "auto"
-				}
-			}
-		}
-	},
-	"candle":{
-		"type": "candle",
-		"color": color,
-		"padding": [15,15,0,15],
-		"enableScroll": true,
-		"enableMarkLine": true,
-		"dataLabel": false,
-		"xAxis": {
-			"labelCount": 4,
-			"itemCount": 40,
-			"disableGrid": true,
-			"gridColor": "#CCCCCC",
-			"gridType": "solid",
-			"dashLength": 4,
-			"scrollShow": true,
-			"scrollAlign": "left",
-			"scrollColor": "#A6A6A6",
-			"scrollBackgroundColor": "#EFEBEF"
-		},
-		"yAxis": {
-		},
-		"legend": {
-		},
-		"extra": {
-			"candle": {
-				"color": {
-					"upLine": "#f04864",
-					"upFill": "#f04864",
-					"downLine": "#2fc25b",
-					"downFill": "#2fc25b"
-				},
-				"average": {
-					"show": true,
-					"name": ["MA5","MA10","MA30"],
-					"day": [5,10,20],
-					"color": ["#1890ff","#2fc25b","#facc14"]
-				}
-			},
-			"markLine": {
-				"type": "dash",
-				"dashLength": 5,
-				"data": [
-					{
-						"value": 2150,
-						"lineColor": "#f04864",
-						"showLabel": true
-					},
-					{
-						"value": 2350,
-						"lineColor": "#f04864",
-						"showLabel": true
-					}
-				]
-			}
-		}
-	},
-	"mix":{
-		"type": "mix",
-		"color": color,
-		"padding": [15,15,0,15],
-		"xAxis": {
-      "disableGrid": true,
-		},
-		"yAxis": {
-			"disabled": false,
-			"disableGrid": false,
-			"splitNumber": 5,
-			"gridType": "dash",
-			"dashLength": 4,
-			"gridColor": "#CCCCCC",
-			"padding": 10,
-			"showTitle": true,
-			"data": []
-		},
-		"legend": {
-		},
-		"extra": {
-			"mix": {
-				"column": {
-					"width": 20
-				}
-			},
-		}
-	},
-	"scatter":{
-		"type": "scatter",
-		"color":color,
-		"padding":[15,15,0,15],
-    "dataLabel":false,
-    "xAxis": {
-      "disableGrid": false,
-      "gridType":"dash",
-      "splitNumber":5,
-      "boundaryGap":"justify",
-      "min":0
-    },
-    "yAxis": {
-      "disableGrid": false,
-      "gridType":"dash",
-    },
-    "legend": {
-    },
-    "extra": {
-    	"scatter": {
-    	},
-    }
-	},
-	"bubble":{
-		"type": "bubble",
-		"color":color,
-		"padding":[15,15,0,15],
-    "xAxis": {
-      "disableGrid": false,
-      "gridType":"dash",
-      "splitNumber":5,
-      "boundaryGap":"justify",
-      "min":0,
-      "max":250
-    },
-    "yAxis": {
-      "disableGrid": false,
-      "gridType":"dash",
-      "data":[{
-        "min":0,
-        "max":150
-      }]
-    },
-    "legend": {
-    },
-    "extra": {
-    	"bubble": {
-        "border":2,
-        "opacity": 0.5,
-    	},
-    }
-	}
-}
-
-export default cfu;
\ No newline at end of file
diff --git a/src/components/qiun-data-charts/js_sdk/u-charts/readme.md b/src/components/qiun-data-charts/js_sdk/u-charts/readme.md
deleted file mode 100644
index d307ba3..0000000
--- a/src/components/qiun-data-charts/js_sdk/u-charts/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# uCharts JSSDK璇存槑
-1銆佸涓嶄娇鐢╱Charts缁勪欢锛屽彲鐩存帴寮曠敤u-charts.js锛屾墦鍖呯紪璇戝悗浼歚鑷姩鍘嬬缉`锛屽帇缂╁悗浣撶Н绾︿负`120kb`銆�
-2銆佸鏋�120kb鐨勪綋绉粛闇�鍘嬬缉锛岃鎵嬪埌uCharts瀹樼綉閫氳繃鍦ㄧ嚎瀹氬埗閫夋嫨鎮ㄩ渶瑕佺殑鍥捐〃銆�
-3銆乧onfig-ucharts.js涓簎Charts缁勪欢鐨勭敤鎴烽厤缃枃浠讹紝鍗囩骇鍓嶈`鑷澶囦唤config-ucharts.js`鏂囦欢锛屼互鍏嶈寮哄埗瑕嗙洊銆�
-4銆乧onfig-echarts.js涓篍Charts缁勪欢鐨勭敤鎴烽厤缃枃浠讹紝鍗囩骇鍓嶈`鑷澶囦唤config-echarts.js`鏂囦欢锛屼互鍏嶈寮哄埗瑕嗙洊銆�
\ No newline at end of file
diff --git a/src/components/qiun-data-charts/js_sdk/u-charts/u-charts.js b/src/components/qiun-data-charts/js_sdk/u-charts/u-charts.js
deleted file mode 100644
index f78bde5..0000000
--- a/src/components/qiun-data-charts/js_sdk/u-charts/u-charts.js
+++ /dev/null
@@ -1,7706 +0,0 @@
-/*
- * uCharts (R)
- * 楂樻�ц兘璺ㄥ钩鍙板浘琛ㄥ簱锛屾敮鎸丠5銆丄PP銆佸皬绋嬪簭锛堝井淇�/鏀粯瀹�/鐧惧害/澶存潯/QQ/360/蹇墜锛夈�乂ue銆乀aro绛夋敮鎸乧anvas鐨勬鏋跺钩鍙�
- * Copyright (C) 2018-2022 QIUN (R) 绉嬩簯 https://www.ucharts.cn All rights reserved.
- * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- * 澶嶅埗浣跨敤璇蜂繚鐣欐湰娈垫敞閲婏紝鎰熻阿鏀寔寮�婧愶紒
- * 
- * uCharts (R) 瀹樻柟缃戠珯
- * https://www.uCharts.cn
- * 
- * 寮�婧愬湴鍧�:
- * https://gitee.com/uCharts/uCharts
- * 
- * uni-app鎻掍欢甯傚満鍦板潃锛�
- * http://ext.dcloud.net.cn/plugin?id=271
- * 
- */
-
-'use strict';
-
-var config = {
-  version: 'v2.5.0-20230101',
-  yAxisWidth: 15,
-  xAxisHeight: 22,
-  padding: [10, 10, 10, 10],
-  rotate: false,
-  fontSize: 13,
-  fontColor: '#666666',
-  dataPointShape: ['circle', 'circle', 'circle', 'circle'],
-  color: ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'],
-  linearColor: ['#0EE2F8', '#2BDCA8', '#FA7D8D', '#EB88E2', '#2AE3A0', '#0EE2F8', '#EB88E2', '#6773E3', '#F78A85'],
-  pieChartLinePadding: 15,
-  pieChartTextPadding: 5,
-  titleFontSize: 20,
-  subtitleFontSize: 15,
-  radarLabelTextMargin: 13,
-};
-
-var assign = function(target, ...varArgs) {
-  if (target == null) {
-    throw new TypeError('[uCharts] Cannot convert undefined or null to object');
-  }
-  if (!varArgs || varArgs.length <= 0) {
-    return target;
-  }
-  // 娣卞害鍚堝苟瀵硅薄
-  function deepAssign(obj1, obj2) {
-    for (let key in obj2) {
-      obj1[key] = obj1[key] && obj1[key].toString() === "[object Object]" ?
-        deepAssign(obj1[key], obj2[key]) : obj1[key] = obj2[key];
-    }
-    return obj1;
-  }
-  varArgs.forEach(val => {
-    target = deepAssign(target, val);
-  });
-  return target;
-};
-
-var util = {
-  toFixed: function toFixed(num, limit) {
-    limit = limit || 2;
-    if (this.isFloat(num)) {
-      num = num.toFixed(limit);
-    }
-    return num;
-  },
-  isFloat: function isFloat(num) {
-    return num % 1 !== 0;
-  },
-  approximatelyEqual: function approximatelyEqual(num1, num2) {
-    return Math.abs(num1 - num2) < 1e-10;
-  },
-  isSameSign: function isSameSign(num1, num2) {
-    return Math.abs(num1) === num1 && Math.abs(num2) === num2 || Math.abs(num1) !== num1 && Math.abs(num2) !== num2;
-  },
-  isSameXCoordinateArea: function isSameXCoordinateArea(p1, p2) {
-    return this.isSameSign(p1.x, p2.x);
-  },
-  isCollision: function isCollision(obj1, obj2) {
-    obj1.end = {};
-    obj1.end.x = obj1.start.x + obj1.width;
-    obj1.end.y = obj1.start.y - obj1.height;
-    obj2.end = {};
-    obj2.end.x = obj2.start.x + obj2.width;
-    obj2.end.y = obj2.start.y - obj2.height;
-    var flag = obj2.start.x > obj1.end.x || obj2.end.x < obj1.start.x || obj2.end.y > obj1.start.y || obj2.start.y < obj1.end.y;
-    return !flag;
-  }
-};
-
-//鍏煎H5鐐瑰嚮浜嬩欢
-function getH5Offset(e) {
-  e.mp = {
-    changedTouches: []
-  };
-  e.mp.changedTouches.push({
-    x: e.offsetX,
-    y: e.offsetY
-  });
-  return e;
-}
-
-// hex 杞� rgba
-function hexToRgb(hexValue, opc) {
-  var rgx = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
-  var hex = hexValue.replace(rgx, function(m, r, g, b) {
-    return r + r + g + g + b + b;
-  });
-  var rgb = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
-  var r = parseInt(rgb[1], 16);
-  var g = parseInt(rgb[2], 16);
-  var b = parseInt(rgb[3], 16);
-  return 'rgba(' + r + ',' + g + ',' + b + ',' + opc + ')';
-}
-
-function findRange(num, type, limit) {
-  if (isNaN(num)) {
-    throw new Error('[uCharts] series鏁版嵁闇�涓篘umber鏍煎紡');
-  }
-  limit = limit || 10;
-  type = type ? type : 'upper';
-  var multiple = 1;
-  while (limit < 1) {
-    limit *= 10;
-    multiple *= 10;
-  }
-  if (type === 'upper') {
-    num = Math.ceil(num * multiple);
-  } else {
-    num = Math.floor(num * multiple);
-  }
-  while (num % limit !== 0) {
-    if (type === 'upper') {
-      if (num == num + 1) { //淇鏁版嵁鍊艰繃澶um++鏃犳晥鐨刡ug by 鍚戞棩钁� @xrk_jy
-        break;
-      }
-      num++;
-    } else {
-      num--;
-    }
-  }
-  return num / multiple;
-}
-
-function calCandleMA(dayArr, nameArr, colorArr, kdata) {
-  let seriesTemp = [];
-  for (let k = 0; k < dayArr.length; k++) {
-    let seriesItem = {
-      data: [],
-      name: nameArr[k],
-      color: colorArr[k]
-    };
-    for (let i = 0, len = kdata.length; i < len; i++) {
-      if (i < dayArr[k]) {
-        seriesItem.data.push(null);
-        continue;
-      }
-      let sum = 0;
-      for (let j = 0; j < dayArr[k]; j++) {
-        sum += kdata[i - j][1];
-      }
-      seriesItem.data.push(+(sum / dayArr[k]).toFixed(3));
-    }
-    seriesTemp.push(seriesItem);
-  }
-  return seriesTemp;
-}
-
-function calValidDistance(self, distance, chartData, config, opts) {
-  var dataChartAreaWidth = opts.width - opts.area[1] - opts.area[3];
-  var dataChartWidth = chartData.eachSpacing * (opts.chartData.xAxisData.xAxisPoints.length - 1);
-  if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){
-    if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2
-    dataChartWidth += (opts.extra.mount.widthRatio - 1)*chartData.eachSpacing;
-  }
-  var validDistance = distance;
-  if (distance >= 0) {
-    validDistance = 0;
-    self.uevent.trigger('scrollLeft');
-    self.scrollOption.position = 'left'
-    opts.xAxis.scrollPosition = 'left';
-  } else if (Math.abs(distance) >= dataChartWidth - dataChartAreaWidth) {
-    validDistance = dataChartAreaWidth - dataChartWidth;
-    self.uevent.trigger('scrollRight');
-    self.scrollOption.position = 'right'
-    opts.xAxis.scrollPosition = 'right';
-  } else {
-    self.scrollOption.position = distance
-    opts.xAxis.scrollPosition = distance;
-  }
-  return validDistance;
-}
-
-function isInAngleRange(angle, startAngle, endAngle) {
-  function adjust(angle) {
-    while (angle < 0) {
-      angle += 2 * Math.PI;
-    }
-    while (angle > 2 * Math.PI) {
-      angle -= 2 * Math.PI;
-    }
-    return angle;
-  }
-  angle = adjust(angle);
-  startAngle = adjust(startAngle);
-  endAngle = adjust(endAngle);
-  if (startAngle > endAngle) {
-    endAngle += 2 * Math.PI;
-    if (angle < startAngle) {
-      angle += 2 * Math.PI;
-    }
-  }
-  return angle >= startAngle && angle <= endAngle;
-}
-
-function createCurveControlPoints(points, i) {
-  function isNotMiddlePoint(points, i) {
-    if (points[i - 1] && points[i + 1]) {
-      return points[i].y >= Math.max(points[i - 1].y, points[i + 1].y) || points[i].y <= Math.min(points[i - 1].y,
-        points[i + 1].y);
-    } else {
-      return false;
-    }
-  }
-  function isNotMiddlePointX(points, i) {
-    if (points[i - 1] && points[i + 1]) {
-      return points[i].x >= Math.max(points[i - 1].x, points[i + 1].x) || points[i].x <= Math.min(points[i - 1].x,
-        points[i + 1].x);
-    } else {
-      return false;
-    }
-  }
-  var a = 0.2;
-  var b = 0.2;
-  var pAx = null;
-  var pAy = null;
-  var pBx = null;
-  var pBy = null;
-  if (i < 1) {
-    pAx = points[0].x + (points[1].x - points[0].x) * a;
-    pAy = points[0].y + (points[1].y - points[0].y) * a;
-  } else {
-    pAx = points[i].x + (points[i + 1].x - points[i - 1].x) * a;
-    pAy = points[i].y + (points[i + 1].y - points[i - 1].y) * a;
-  }
-
-  if (i > points.length - 3) {
-    var last = points.length - 1;
-    pBx = points[last].x - (points[last].x - points[last - 1].x) * b;
-    pBy = points[last].y - (points[last].y - points[last - 1].y) * b;
-  } else {
-    pBx = points[i + 1].x - (points[i + 2].x - points[i].x) * b;
-    pBy = points[i + 1].y - (points[i + 2].y - points[i].y) * b;
-  }
-  if (isNotMiddlePoint(points, i + 1)) {
-    pBy = points[i + 1].y;
-  }
-  if (isNotMiddlePoint(points, i)) {
-    pAy = points[i].y;
-  }
-  if (isNotMiddlePointX(points, i + 1)) {
-    pBx = points[i + 1].x;
-  }
-  if (isNotMiddlePointX(points, i)) {
-    pAx = points[i].x;
-  }
-  if (pAy >= Math.max(points[i].y, points[i + 1].y) || pAy <= Math.min(points[i].y, points[i + 1].y)) {
-    pAy = points[i].y;
-  }
-  if (pBy >= Math.max(points[i].y, points[i + 1].y) || pBy <= Math.min(points[i].y, points[i + 1].y)) {
-    pBy = points[i + 1].y;
-  }
-  if (pAx >= Math.max(points[i].x, points[i + 1].x) || pAx <= Math.min(points[i].x, points[i + 1].x)) {
-    pAx = points[i].x;
-  }
-  if (pBx >= Math.max(points[i].x, points[i + 1].x) || pBx <= Math.min(points[i].x, points[i + 1].x)) {
-    pBx = points[i + 1].x;
-  }
-  return {
-    ctrA: {
-      x: pAx,
-      y: pAy
-    },
-    ctrB: {
-      x: pBx,
-      y: pBy
-    }
-  };
-}
-
-
-function convertCoordinateOrigin(x, y, center) {
-  return {
-    x: center.x + x,
-    y: center.y - y
-  };
-}
-
-function avoidCollision(obj, target) {
-  if (target) {
-    // is collision test
-    while (util.isCollision(obj, target)) {
-      if (obj.start.x > 0) {
-        obj.start.y--;
-      } else if (obj.start.x < 0) {
-        obj.start.y++;
-      } else {
-        if (obj.start.y > 0) {
-          obj.start.y++;
-        } else {
-          obj.start.y--;
-        }
-      }
-    }
-  }
-  return obj;
-}
-
-function fixPieSeries(series, opts, config){
-  let pieSeriesArr = [];
-  if(series.length>0 && series[0].data.constructor.toString().indexOf('Array') > -1){
-    opts._pieSeries_ = series;
-    let oldseries = series[0].data;
-    for (var i = 0; i < oldseries.length; i++) {
-      oldseries[i].formatter = series[0].formatter;
-      oldseries[i].data = oldseries[i].value;
-      pieSeriesArr.push(oldseries[i]);
-    }
-    opts.series = pieSeriesArr;
-  }else{
-    pieSeriesArr = series;
-  }
-  return pieSeriesArr;
-}
-
-function fillSeries(series, opts, config) {
-  var index = 0;
-  for (var i = 0; i < series.length; i++) {
-    let item = series[i];
-    if (!item.color) {
-      item.color = config.color[index];
-      index = (index + 1) % config.color.length;
-    }
-    if (!item.linearIndex) {
-      item.linearIndex = i;
-    }
-    if (!item.index) {
-      item.index = 0;
-    }
-    if (!item.type) {
-      item.type = opts.type;
-    }
-    if (typeof item.show == "undefined") {
-      item.show = true;
-    }
-    if (!item.type) {
-      item.type = opts.type;
-    }
-    if (!item.pointShape) {
-      item.pointShape = "circle";
-    }
-    if (!item.legendShape) {
-      switch (item.type) {
-        case 'line':
-          item.legendShape = "line";
-          break;
-        case 'column':
-        case 'bar':
-          item.legendShape = "rect";
-          break;
-        case 'area':
-        case 'mount':
-          item.legendShape = "triangle";
-          break;
-        default:
-          item.legendShape = "circle";
-      }
-    }
-  }
-  return series;
-}
-
-function fillCustomColor(linearType, customColor, series, config) {
-  var newcolor = customColor || [];
-  if (linearType == 'custom' && newcolor.length == 0 ) {
-    newcolor = config.linearColor;
-  }
-  if (linearType == 'custom' && newcolor.length < series.length) {
-    let chazhi = series.length - newcolor.length;
-    for (var i = 0; i < chazhi; i++) {
-      newcolor.push(config.linearColor[(i + 1) % config.linearColor.length]);
-    }
-  }
-  return newcolor;
-}
-
-function getDataRange(minData, maxData) {
-  var limit = 0;
-  var range = maxData - minData;
-  if (range >= 10000) {
-    limit = 1000;
-  } else if (range >= 1000) {
-    limit = 100;
-  } else if (range >= 100) {
-    limit = 10;
-  } else if (range >= 10) {
-    limit = 5;
-  } else if (range >= 1) {
-    limit = 1;
-  } else if (range >= 0.1) {
-    limit = 0.1;
-  } else if (range >= 0.01) {
-    limit = 0.01;
-  } else if (range >= 0.001) {
-    limit = 0.001;
-  } else if (range >= 0.0001) {
-    limit = 0.0001;
-  } else if (range >= 0.00001) {
-    limit = 0.00001;
-  } else {
-    limit = 0.000001;
-  }
-  return {
-    minRange: findRange(minData, 'lower', limit),
-    maxRange: findRange(maxData, 'upper', limit)
-  };
-}
-
-function measureText(text, fontSize, context) {
-  var width = 0;
-  text = String(text);
-  // #ifdef MP-ALIPAY || MP-BAIDU || APP-NVUE
-  context = false;
-  // #endif
-  if (context !== false && context !== undefined && context.setFontSize && context.measureText) {
-    context.setFontSize(fontSize);
-    return context.measureText(text).width;
-  } else {
-    var text = text.split('');
-    for (let i = 0; i < text.length; i++) {
-      let item = text[i];
-      if (/[a-zA-Z]/.test(item)) {
-        width += 7;
-      } else if (/[0-9]/.test(item)) {
-        width += 5.5;
-      } else if (/\./.test(item)) {
-        width += 2.7;
-      } else if (/-/.test(item)) {
-        width += 3.25;
-      } else if (/:/.test(item)) {
-        width += 2.5;
-      } else if (/[\u4e00-\u9fa5]/.test(item)) {
-        width += 10;
-      } else if (/\(|\)/.test(item)) {
-        width += 3.73;
-      } else if (/\s/.test(item)) {
-        width += 2.5;
-      } else if (/%/.test(item)) {
-        width += 8;
-      } else {
-        width += 10;
-      }
-    }
-    return width * fontSize / 10;
-  }
-}
-
-function dataCombine(series) {
-  return series.reduce(function(a, b) {
-    return (a.data ? a.data : a).concat(b.data);
-  }, []);
-}
-
-function dataCombineStack(series, len) {
-  var sum = new Array(len);
-  for (var j = 0; j < sum.length; j++) {
-    sum[j] = 0;
-  }
-  for (var i = 0; i < series.length; i++) {
-    for (var j = 0; j < sum.length; j++) {
-      sum[j] += series[i].data[j];
-    }
-  }
-  return series.reduce(function(a, b) {
-    return (a.data ? a.data : a).concat(b.data).concat(sum);
-  }, []);
-}
-
-function getTouches(touches, opts, e) {
-  let x, y;
-  if (touches.clientX) {
-    if (opts.rotate) {
-      y = opts.height - touches.clientX * opts.pix;
-      x = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix;
-    } else {
-      x = touches.clientX * opts.pix;
-      y = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix;
-    }
-  } else {
-    if (opts.rotate) {
-      y = opts.height - touches.x * opts.pix;
-      x = touches.y * opts.pix;
-    } else {
-      x = touches.x * opts.pix;
-      y = touches.y * opts.pix;
-    }
-  }
-  return {
-    x: x,
-    y: y
-  }
-}
-
-function getSeriesDataItem(series, index, group) {
-  var data = [];
-  var newSeries = [];
-  var indexIsArr = index.constructor.toString().indexOf('Array') > -1;
-  if(indexIsArr){
-    let tempSeries = filterSeries(series);
-    for (var i = 0; i < group.length; i++) {
-      newSeries.push(tempSeries[group[i]]);
-    }
-  }else{
-    newSeries = series;
-  };
-  for (let i = 0; i < newSeries.length; i++) {
-    let item = newSeries[i];
-    let tmpindex = -1;
-    if(indexIsArr){
-      tmpindex = index[i];
-    }else{
-      tmpindex = index;
-    }
-    if (item.data[tmpindex] !== null && typeof item.data[tmpindex] !== 'undefined' && item.show) {
-      let seriesItem = {};
-      seriesItem.color = item.color;
-      seriesItem.type = item.type;
-      seriesItem.style = item.style;
-      seriesItem.pointShape = item.pointShape;
-      seriesItem.disableLegend = item.disableLegend;
-      seriesItem.legendShape = item.legendShape;
-      seriesItem.name = item.name;
-      seriesItem.show = item.show;
-      seriesItem.data = item.formatter ? item.formatter(item.data[tmpindex]) : item.data[tmpindex];
-      data.push(seriesItem);
-    }
-  }
-  return data;
-}
-
-function getMaxTextListLength(list, fontSize, context) {
-  var lengthList = list.map(function(item) {
-    return measureText(item, fontSize, context);
-  });
-  return Math.max.apply(null, lengthList);
-}
-
-function getRadarCoordinateSeries(length) {
-  var eachAngle = 2 * Math.PI / length;
-  var CoordinateSeries = [];
-  for (var i = 0; i < length; i++) {
-    CoordinateSeries.push(eachAngle * i);
-  }
-  return CoordinateSeries.map(function(item) {
-    return -1 * item + Math.PI / 2;
-  });
-}
-
-function getToolTipData(seriesData, opts, index, group, categories) {
-  var option = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
-  var calPoints = opts.chartData.calPoints?opts.chartData.calPoints:[];
-  let points = {};
-  if(group.length > 0){
-    let filterPoints = [];
-    for (let i = 0; i < group.length; i++) {
-      filterPoints.push(calPoints[group[i]])
-    }
-    points = filterPoints[0][index[0]];
-  }else{
-    for (let i = 0; i < calPoints.length; i++) {
-      if(calPoints[i][index]){
-        points = calPoints[i][index];
-        break;
-      }
-    }
-  };
-  var textList = seriesData.map(function(item) {
-    let titleText = null;
-    if (opts.categories && opts.categories.length>0) {
-      titleText = categories[index];
-    };
-    return {
-      text: option.formatter ? option.formatter(item, titleText, index, opts) : item.name + ': ' + item.data,
-      color: item.color,
-      legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape
-    };
-  });
-  var offset = {
-    x: Math.round(points.x),
-    y: Math.round(points.y)
-  };
-  return {
-    textList: textList,
-    offset: offset
-  };
-}
-
-function getMixToolTipData(seriesData, opts, index, categories) {
-  var option = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
-  var points = opts.chartData.xAxisPoints[index] + opts.chartData.eachSpacing / 2;
-  var textList = seriesData.map(function(item) {
-    return {
-      text: option.formatter ? option.formatter(item, categories[index], index, opts) : item.name + ': ' + item.data,
-      color: item.color,
-      disableLegend: item.disableLegend ? true : false,
-      legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape
-    };
-  });
-  textList = textList.filter(function(item) {
-    if (item.disableLegend !== true) {
-      return item;
-    }
-  });
-  var offset = {
-    x: Math.round(points),
-    y: 0
-  };
-  return {
-    textList: textList,
-    offset: offset
-  };
-}
-
-function getCandleToolTipData(series, seriesData, opts, index, categories, extra) {
-  var option = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {};
-  var calPoints = opts.chartData.calPoints;
-  let upColor = extra.color.upFill;
-  let downColor = extra.color.downFill;
-  //棰滆壊椤哄簭涓哄紑鐩橈紝鏀剁洏锛屾渶浣庯紝鏈�楂�
-  let color = [upColor, upColor, downColor, upColor];
-  var textList = [];
-  seriesData.map(function(item) {
-    if (index == 0) {
-      if (item.data[1] - item.data[0] < 0) {
-        color[1] = downColor;
-      } else {
-        color[1] = upColor;
-      }
-    } else {
-      if (item.data[0] < series[index - 1][1]) {
-        color[0] = downColor;
-      }
-      if (item.data[1] < item.data[0]) {
-        color[1] = downColor;
-      }
-      if (item.data[2] > series[index - 1][1]) {
-        color[2] = upColor;
-      }
-      if (item.data[3] < series[index - 1][1]) {
-        color[3] = downColor;
-      }
-    }
-    let text1 = {
-      text: '寮�鐩橈細' + item.data[0],
-      color: color[0],
-      legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape
-    };
-    let text2 = {
-      text: '鏀剁洏锛�' + item.data[1],
-      color: color[1],
-      legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape
-    };
-    let text3 = {
-      text: '鏈�浣庯細' + item.data[2],
-      color: color[2],
-      legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape
-    };
-    let text4 = {
-      text: '鏈�楂橈細' + item.data[3],
-      color: color[3],
-      legendShape: opts.extra.tooltip.legendShape == 'auto'? item.legendShape : opts.extra.tooltip.legendShape
-    };
-    textList.push(text1, text2, text3, text4);
-  });
-  var validCalPoints = [];
-  var offset = {
-    x: 0,
-    y: 0
-  };
-  for (let i = 0; i < calPoints.length; i++) {
-    let points = calPoints[i];
-    if (typeof points[index] !== 'undefined' && points[index] !== null) {
-      validCalPoints.push(points[index]);
-    }
-  }
-  offset.x = Math.round(validCalPoints[0][0].x);
-  return {
-    textList: textList,
-    offset: offset
-  };
-}
-
-function filterSeries(series) {
-  let tempSeries = [];
-  for (let i = 0; i < series.length; i++) {
-    if (series[i].show == true) {
-      tempSeries.push(series[i])
-    }
-  }
-  return tempSeries;
-}
-
-function findCurrentIndex(currentPoints, calPoints, opts, config) {
-  var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
-  var current={ index:-1, group:[] };
-  var spacing = opts.chartData.eachSpacing / 2;
-  let xAxisPoints = [];
-  if (calPoints && calPoints.length > 0) {
-    if (!opts.categories) {
-      spacing = 0;
-    }else{
-      for (let i = 1; i < opts.chartData.xAxisPoints.length; i++) {
-        xAxisPoints.push(opts.chartData.xAxisPoints[i] - spacing);
-      }
-      if ((opts.type == 'line' || opts.type == 'area') && opts.xAxis.boundaryGap == 'justify') {
-        xAxisPoints = opts.chartData.xAxisPoints;
-      }
-    }
-    if (isInExactChartArea(currentPoints, opts, config)) {
-      if (!opts.categories) {
-        let timePoints = Array(calPoints.length);
-        for (let i = 0; i < calPoints.length; i++) {
-          timePoints[i] = Array(calPoints[i].length)
-          for (let j = 0; j < calPoints[i].length; j++) {
-            timePoints[i][j] = (Math.abs(calPoints[i][j].x - currentPoints.x));
-          }
-        };
-        let pointValue =  Array(timePoints.length);
-        let pointIndex =  Array(timePoints.length);
-        for (let i = 0; i < timePoints.length; i++) {
-          pointValue[i] = Math.min.apply(null, timePoints[i]);
-          pointIndex[i] = timePoints[i].indexOf(pointValue[i]);
-        }
-        let minValue = Math.min.apply(null, pointValue);
-        current.index = [];
-        for (let i = 0; i < pointValue.length; i++) {
-          if(pointValue[i] == minValue){
-            current.group.push(i);
-            current.index.push(pointIndex[i]);
-          }
-        };
-      }else{
-        xAxisPoints.forEach(function(item, index) {
-          if (currentPoints.x + offset + spacing > item) {
-            current.index = index;
-          }
-        });
-      }
-    }
-  }
-  return current;
-}
-
-function findBarChartCurrentIndex(currentPoints, calPoints, opts, config) {
-  var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
-  var current={ index:-1, group:[] };
-  var spacing = opts.chartData.eachSpacing / 2;
-  let yAxisPoints = opts.chartData.yAxisPoints;
-  if (calPoints && calPoints.length > 0) {
-    if (isInExactChartArea(currentPoints, opts, config)) {
-      yAxisPoints.forEach(function(item, index) {
-        if (currentPoints.y + offset + spacing > item) {
-          current.index = index;
-        }
-      });
-    }
-  }
-  return current;
-}
-
-function findLegendIndex(currentPoints, legendData, opts) {
-  let currentIndex = -1;
-  let gap = 0;
-  if (isInExactLegendArea(currentPoints, legendData.area)) {
-    let points = legendData.points;
-    let index = -1;
-    for (let i = 0, len = points.length; i < len; i++) {
-      let item = points[i];
-      for (let j = 0; j < item.length; j++) {
-        index += 1;
-        let area = item[j]['area'];
-        if (area && currentPoints.x > area[0] - gap && currentPoints.x < area[2] + gap && currentPoints.y > area[1] - gap && currentPoints.y < area[3] + gap) {
-          currentIndex = index;
-          break;
-        }
-      }
-    }
-    return currentIndex;
-  }
-  return currentIndex;
-}
-
-function isInExactLegendArea(currentPoints, area) {
-  return currentPoints.x > area.start.x && currentPoints.x < area.end.x && currentPoints.y > area.start.y && currentPoints.y < area.end.y;
-}
-
-function isInExactChartArea(currentPoints, opts, config) {
-  return currentPoints.x <= opts.width - opts.area[1] + 10 && currentPoints.x >= opts.area[3] - 10 && currentPoints.y >= opts.area[0] && currentPoints.y <= opts.height - opts.area[2];
-}
-
-function findRadarChartCurrentIndex(currentPoints, radarData, count) {
-  var eachAngleArea = 2 * Math.PI / count;
-  var currentIndex = -1;
-  if (isInExactPieChartArea(currentPoints, radarData.center, radarData.radius)) {
-    var fixAngle = function fixAngle(angle) {
-      if (angle < 0) {
-        angle += 2 * Math.PI;
-      }
-      if (angle > 2 * Math.PI) {
-        angle -= 2 * Math.PI;
-      }
-      return angle;
-    };
-    var angle = Math.atan2(radarData.center.y - currentPoints.y, currentPoints.x - radarData.center.x);
-    angle = -1 * angle;
-    if (angle < 0) {
-      angle += 2 * Math.PI;
-    }
-    var angleList = radarData.angleList.map(function(item) {
-      item = fixAngle(-1 * item);
-      return item;
-    });
-    angleList.forEach(function(item, index) {
-      var rangeStart = fixAngle(item - eachAngleArea / 2);
-      var rangeEnd = fixAngle(item + eachAngleArea / 2);
-      if (rangeEnd < rangeStart) {
-        rangeEnd += 2 * Math.PI;
-      }
-      if (angle >= rangeStart && angle <= rangeEnd || angle + 2 * Math.PI >= rangeStart && angle + 2 * Math.PI <= rangeEnd) {
-        currentIndex = index;
-      }
-    });
-  }
-  return currentIndex;
-}
-
-function findFunnelChartCurrentIndex(currentPoints, funnelData) {
-  var currentIndex = -1;
-  for (var i = 0, len = funnelData.series.length; i < len; i++) {
-    var item = funnelData.series[i];
-    if (currentPoints.x > item.funnelArea[0] && currentPoints.x < item.funnelArea[2] && currentPoints.y > item.funnelArea[1] && currentPoints.y < item.funnelArea[3]) {
-      currentIndex = i;
-      break;
-    }
-  }
-  return currentIndex;
-}
-
-function findWordChartCurrentIndex(currentPoints, wordData) {
-  var currentIndex = -1;
-  for (var i = 0, len = wordData.length; i < len; i++) {
-    var item = wordData[i];
-    if (currentPoints.x > item.area[0] && currentPoints.x < item.area[2] && currentPoints.y > item.area[1] && currentPoints.y < item.area[3]) {
-      currentIndex = i;
-      break;
-    }
-  }
-  return currentIndex;
-}
-
-function findMapChartCurrentIndex(currentPoints, opts) {
-  var currentIndex = -1;
-  var cData = opts.chartData.mapData;
-  var data = opts.series;
-  var tmp = pointToCoordinate(currentPoints.y, currentPoints.x, cData.bounds, cData.scale, cData.xoffset, cData.yoffset);
-  var poi = [tmp.x, tmp.y];
-  for (var i = 0, len = data.length; i < len; i++) {
-    var item = data[i].geometry.coordinates;
-    if (isPoiWithinPoly(poi, item, opts.chartData.mapData.mercator)) {
-      currentIndex = i;
-      break;
-    }
-  }
-  return currentIndex;
-}
-
-function findRoseChartCurrentIndex(currentPoints, pieData, opts) {
-  var currentIndex = -1;
-  var series = getRoseDataPoints(opts._series_, opts.extra.rose.type, pieData.radius, pieData.radius);
-  if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) {
-    var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x);
-    angle = -angle;
-    if(opts.extra.rose && opts.extra.rose.offsetAngle){
-      angle = angle - opts.extra.rose.offsetAngle * Math.PI / 180;
-    }
-    for (var i = 0, len = series.length; i < len; i++) {
-      if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._rose_proportion_ * 2 * Math.PI)) {
-        currentIndex = i;
-        break;
-      }
-    }
-  }
-  return currentIndex;
-}
-
-function findPieChartCurrentIndex(currentPoints, pieData, opts) {
-  var currentIndex = -1;
-  var series = getPieDataPoints(pieData.series);
-  if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) {
-    var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x);
-    angle = -angle;
-    if(opts.extra.pie && opts.extra.pie.offsetAngle){
-      angle = angle - opts.extra.pie.offsetAngle * Math.PI / 180;
-    }
-    if(opts.extra.ring && opts.extra.ring.offsetAngle){
-      angle = angle - opts.extra.ring.offsetAngle * Math.PI / 180;
-    }
-    for (var i = 0, len = series.length; i < len; i++) {
-      if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._proportion_ * 2 * Math.PI)) {
-        currentIndex = i;
-        break;
-      }
-    }
-  }
-  return currentIndex;
-}
-
-function isInExactPieChartArea(currentPoints, center, radius) {
-  return Math.pow(currentPoints.x - center.x, 2) + Math.pow(currentPoints.y - center.y, 2) <= Math.pow(radius, 2);
-}
-
-
-function splitPoints(points,eachSeries) {
-  var newPoints = [];
-  var items = [];
-  points.forEach(function(item, index) {
-    if(eachSeries.connectNulls){
-      if (item !== null) {
-        items.push(item);
-      }
-    }else{
-      if (item !== null) {
-        items.push(item);
-      } else {
-        if (items.length) {
-          newPoints.push(items);
-        }
-        items = [];
-      }
-    }
-    
-  });
-  if (items.length) {
-    newPoints.push(items);
-  }
-  return newPoints;
-}
-
-
-function calLegendData(series, opts, config, chartData, context) {
-  let legendData = {
-    area: {
-      start: {
-        x: 0,
-        y: 0
-      },
-      end: {
-        x: 0,
-        y: 0
-      },
-      width: 0,
-      height: 0,
-      wholeWidth: 0,
-      wholeHeight: 0
-    },
-    points: [],
-    widthArr: [],
-    heightArr: []
-  };
-  if (opts.legend.show === false) {
-    chartData.legendData = legendData;
-    return legendData;
-  }
-  let padding = opts.legend.padding * opts.pix;
-  let margin = opts.legend.margin * opts.pix;
-  let fontSize = opts.legend.fontSize ? opts.legend.fontSize * opts.pix : config.fontSize;
-  let shapeWidth = 15 * opts.pix;
-  let shapeRight = 5 * opts.pix;
-  let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize);
-  if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {
-    let legendList = [];
-    let widthCount = 0;
-    let widthCountArr = [];
-    let currentRow = [];
-    for (let i = 0; i < series.length; i++) {
-      let item = series[i];
-      const legendText = item.legendText ? item.legendText : item.name;
-      let itemWidth = shapeWidth + shapeRight + measureText(legendText || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix;
-      if (widthCount + itemWidth > opts.width - opts.area[1] - opts.area[3]) {
-        legendList.push(currentRow);
-        widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix);
-        widthCount = itemWidth;
-        currentRow = [item];
-      } else {
-        widthCount += itemWidth;
-        currentRow.push(item);
-      }
-    }
-    if (currentRow.length) {
-      legendList.push(currentRow);
-      widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix);
-      legendData.widthArr = widthCountArr;
-      let legendWidth = Math.max.apply(null, widthCountArr);
-      switch (opts.legend.float) {
-        case 'left':
-          legendData.area.start.x = opts.area[3];
-          legendData.area.end.x = opts.area[3] + legendWidth + 2 * padding;
-          break;
-        case 'right':
-          legendData.area.start.x = opts.width - opts.area[1] - legendWidth - 2 * padding;
-          legendData.area.end.x = opts.width - opts.area[1];
-          break;
-        default:
-          legendData.area.start.x = (opts.width - legendWidth) / 2 - padding;
-          legendData.area.end.x = (opts.width + legendWidth) / 2 + padding;
-      }
-      legendData.area.width = legendWidth + 2 * padding;
-      legendData.area.wholeWidth = legendWidth + 2 * padding;
-      legendData.area.height = legendList.length * lineHeight + 2 * padding;
-      legendData.area.wholeHeight = legendList.length * lineHeight + 2 * padding + 2 * margin;
-      legendData.points = legendList;
-    }
-  } else {
-    let len = series.length;
-    let maxHeight = opts.height - opts.area[0] - opts.area[2] - 2 * margin - 2 * padding;
-    let maxLength = Math.min(Math.floor(maxHeight / lineHeight), len);
-    legendData.area.height = maxLength * lineHeight + padding * 2;
-    legendData.area.wholeHeight = maxLength * lineHeight + padding * 2;
-    switch (opts.legend.float) {
-      case 'top':
-        legendData.area.start.y = opts.area[0] + margin;
-        legendData.area.end.y = opts.area[0] + margin + legendData.area.height;
-        break;
-      case 'bottom':
-        legendData.area.start.y = opts.height - opts.area[2] - margin - legendData.area.height;
-        legendData.area.end.y = opts.height - opts.area[2] - margin;
-        break;
-      default:
-        legendData.area.start.y = (opts.height - legendData.area.height) / 2;
-        legendData.area.end.y = (opts.height + legendData.area.height) / 2;
-    }
-    let lineNum = len % maxLength === 0 ? len / maxLength : Math.floor((len / maxLength) + 1);
-    let currentRow = [];
-    for (let i = 0; i < lineNum; i++) {
-      let temp = series.slice(i * maxLength, i * maxLength + maxLength);
-      currentRow.push(temp);
-    }
-    legendData.points = currentRow;
-    if (currentRow.length) {
-      for (let i = 0; i < currentRow.length; i++) {
-        let item = currentRow[i];
-        let maxWidth = 0;
-        for (let j = 0; j < item.length; j++) {
-          let itemWidth = shapeWidth + shapeRight + measureText(item[j].name || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix;
-          if (itemWidth > maxWidth) {
-            maxWidth = itemWidth;
-          }
-        }
-        legendData.widthArr.push(maxWidth);
-        legendData.heightArr.push(item.length * lineHeight + padding * 2);
-      }
-      let legendWidth = 0
-      for (let i = 0; i < legendData.widthArr.length; i++) {
-        legendWidth += legendData.widthArr[i];
-      }
-      legendData.area.width = legendWidth - opts.legend.itemGap * opts.pix + 2 * padding;
-      legendData.area.wholeWidth = legendData.area.width + padding;
-    }
-  }
-  switch (opts.legend.position) {
-    case 'top':
-      legendData.area.start.y = opts.area[0] + margin;
-      legendData.area.end.y = opts.area[0] + margin + legendData.area.height;
-      break;
-    case 'bottom':
-      legendData.area.start.y = opts.height - opts.area[2] - legendData.area.height - margin;
-      legendData.area.end.y = opts.height - opts.area[2] - margin;
-      break;
-    case 'left':
-      legendData.area.start.x = opts.area[3];
-      legendData.area.end.x = opts.area[3] + legendData.area.width;
-      break;
-    case 'right':
-      legendData.area.start.x = opts.width - opts.area[1] - legendData.area.width;
-      legendData.area.end.x = opts.width - opts.area[1];
-      break;
-  }
-  chartData.legendData = legendData;
-  return legendData;
-}
-
-function calCategoriesData(categories, opts, config, eachSpacing, context) {
-  var result = {
-    angle: 0,
-    xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix
-  };
-  var fontSize = opts.xAxis.fontSize * opts.pix;
-  var categoriesTextLenth = categories.map(function(item,index) {
-    var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item;
-    return measureText(String(xitem), fontSize, context);
-  });
-  var maxTextLength = Math.max.apply(this, categoriesTextLenth);
-  if (opts.xAxis.rotateLabel == true) {
-    result.angle = opts.xAxis.rotateAngle * Math.PI / 180;
-    let tempHeight = opts.xAxis.marginTop * opts.pix * 2 +  Math.abs(maxTextLength * Math.sin(result.angle))
-    tempHeight = tempHeight < fontSize + opts.xAxis.marginTop * opts.pix * 2 ? tempHeight + opts.xAxis.marginTop * opts.pix * 2 : tempHeight;
-    result.xAxisHeight = tempHeight;
-  }
-  if (opts.enableScroll && opts.xAxis.scrollShow) {
-    result.xAxisHeight += 6 * opts.pix;
-  }
-  if (opts.xAxis.disabled){
-    result.xAxisHeight = 0;
-  }
-  return result;
-}
-
-function getXAxisTextList(series, opts, config, stack) {
-  var index = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;
-  var data;
-  if (stack == 'stack') {
-    data = dataCombineStack(series, opts.categories.length);
-  } else {
-    data = dataCombine(series);
-  }
-  var sorted = [];
-  // remove null from data
-  data = data.filter(function(item) {
-    //return item !== null;
-    if (typeof item === 'object' && item !== null) {
-      if (item.constructor.toString().indexOf('Array') > -1) {
-        return item !== null;
-      } else {
-        return item.value !== null;
-      }
-    } else {
-      return item !== null;
-    }
-  });
-  data.map(function(item) {
-    if (typeof item === 'object') {
-      if (item.constructor.toString().indexOf('Array') > -1) {
-        if (opts.type == 'candle') {
-          item.map(function(subitem) {
-            sorted.push(subitem);
-          })
-        } else {
-          sorted.push(item[0]);
-        }
-      } else {
-        sorted.push(item.value);
-      }
-    } else {
-      sorted.push(item);
-    }
-  })
-
-  var minData = 0;
-  var maxData = 0;
-  if (sorted.length > 0) {
-    minData = Math.min.apply(this, sorted);
-    maxData = Math.max.apply(this, sorted);
-  }
-  //涓轰簡鍏煎v1.9.0涔嬪墠鐨勯」鐩�
-  if (index > -1) {
-    if (typeof opts.xAxis.data[index].min === 'number') {
-      minData = Math.min(opts.xAxis.data[index].min, minData);
-    }
-    if (typeof opts.xAxis.data[index].max === 'number') {
-      maxData = Math.max(opts.xAxis.data[index].max, maxData);
-    }
-  } else {
-    if (typeof opts.xAxis.min === 'number') {
-      minData = Math.min(opts.xAxis.min, minData);
-    }
-    if (typeof opts.xAxis.max === 'number') {
-      maxData = Math.max(opts.xAxis.max, maxData);
-    }
-  }
-  if (minData === maxData) {
-    var rangeSpan = maxData || 10;
-    maxData += rangeSpan;
-  }
-  //var dataRange = getDataRange(minData, maxData);
-  var minRange = minData;
-  var maxRange = maxData;
-  var range = [];
-  var eachRange = (maxRange - minRange) / opts.xAxis.splitNumber;
-  for (var i = 0; i <= opts.xAxis.splitNumber; i++) {
-    range.push(minRange + eachRange * i);
-  }
-  return range;
-}
-
-function calXAxisData(series, opts, config, context) {
-  //鍫嗗彔鍥鹃噸绠梇杞�
-  var columnstyle = assign({}, {
-    type: ""
-  }, opts.extra.bar);
-  var result = {
-    angle: 0,
-    xAxisHeight: opts.xAxis.lineHeight * opts.pix + opts.xAxis.marginTop * opts.pix
-  };
-  result.ranges = getXAxisTextList(series, opts, config, columnstyle.type);
-  result.rangesFormat = result.ranges.map(function(item) {
-    //item = opts.xAxis.formatter ? opts.xAxis.formatter(item) : util.toFixed(item, 2);
-    item = util.toFixed(item, 2);
-    return item;
-  });
-  var xAxisScaleValues = result.ranges.map(function(item) {
-    // 濡傛灉鍒诲害鍊兼槸娴偣鏁�,鍒欎繚鐣欎袱浣嶅皬鏁�
-    item = util.toFixed(item, 2);
-    // 鑻ユ湁鑷畾涔夋牸寮忓垯璋冪敤鑷畾涔夌殑鏍煎紡鍖栧嚱鏁�
-    //item = opts.xAxis.formatter ? opts.xAxis.formatter(Number(item)) : item;
-    return item;
-  });
-  result = Object.assign(result, getXAxisPoints(xAxisScaleValues, opts, config));
-  // 璁$畻X杞村埢搴︾殑灞炴�ц濡傛瘡涓埢搴︾殑闂撮殧,鍒诲害鐨勮捣濮嬬偣\缁撴潫鐐逛互鍙婃�婚暱
-  var eachSpacing = result.eachSpacing;
-  var textLength = xAxisScaleValues.map(function(item) {
-    return measureText(item, opts.xAxis.fontSize * opts.pix, context);
-  });
-  if (opts.xAxis.disabled === true) {
-    result.xAxisHeight = 0;
-  }
-  return result;
-}
-
-function getRadarDataPoints(angleList, center, radius, series, opts) {
-  var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;
-  var radarOption = opts.extra.radar || {};
-  radarOption.max = radarOption.max || 0;
-  var maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series)));
-  var data = [];
-  for (let i = 0; i < series.length; i++) {
-    let each = series[i];
-    let listItem = {};
-    listItem.color = each.color;
-    listItem.legendShape = each.legendShape;
-    listItem.pointShape = each.pointShape;
-    listItem.data = [];
-    each.data.forEach(function(item, index) {
-      let tmp = {};
-      tmp.angle = angleList[index];
-      tmp.proportion = item / maxData;
-      tmp.value = item;
-      tmp.position = convertCoordinateOrigin(radius * tmp.proportion * process * Math.cos(tmp.angle), radius * tmp.proportion * process * Math.sin(tmp.angle), center);
-      listItem.data.push(tmp);
-    });
-    data.push(listItem);
-  }
-  return data;
-}
-
-function getPieDataPoints(series, radius) {
-  var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
-  var count = 0;
-  var _start_ = 0;
-  for (let i = 0; i < series.length; i++) {
-    let item = series[i];
-    item.data = item.data === null ? 0 : item.data;
-    count += item.data;
-  }
-  for (let i = 0; i < series.length; i++) {
-    let item = series[i];
-    item.data = item.data === null ? 0 : item.data;
-    if (count === 0) {
-      item._proportion_ = 1 / series.length * process;
-    } else {
-      item._proportion_ = item.data / count * process;
-    }
-    item._radius_ = radius;
-  }
-  for (let i = 0; i < series.length; i++) {
-    let item = series[i];
-    item._start_ = _start_;
-    _start_ += 2 * item._proportion_ * Math.PI;
-  }
-  return series;
-}
-
-function getFunnelDataPoints(series, radius, option, eachSpacing) {
-  var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  for (let i = 0; i < series.length; i++) {
-    if(option.type == 'funnel'){
-      series[i].radius = series[i].data / series[0].data * radius * process;
-    }else{
-      series[i].radius =  (eachSpacing * (series.length - i)) / (eachSpacing * series.length) * radius * process;
-    }
-    series[i]._proportion_ = series[i].data / series[0].data;
-  }
-  // if(option.type !== 'pyramid'){
-  //   series.reverse();
-  // }
-  return series;
-}
-
-function getRoseDataPoints(series, type, minRadius, radius) {
-  var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  var count = 0;
-  var _start_ = 0;
-  var dataArr = [];
-  for (let i = 0; i < series.length; i++) {
-    let item = series[i];
-    item.data = item.data === null ? 0 : item.data;
-    count += item.data;
-    dataArr.push(item.data);
-  }
-  var minData = Math.min.apply(null, dataArr);
-  var maxData = Math.max.apply(null, dataArr);
-  var radiusLength = radius - minRadius;
-  for (let i = 0; i < series.length; i++) {
-    let item = series[i];
-    item.data = item.data === null ? 0 : item.data;
-    if (count === 0) {
-      item._proportion_ = 1 / series.length * process;
-      item._rose_proportion_ = 1 / series.length * process;
-    } else {
-      item._proportion_ = item.data / count * process;
-      if(type == 'area'){
-        item._rose_proportion_ = 1 / series.length * process;
-      }else{
-        item._rose_proportion_ = item.data / count * process;
-      }
-    }
-    item._radius_ = minRadius + radiusLength * ((item.data - minData) / (maxData - minData)) || radius;
-  }
-  for (let i = 0; i < series.length; i++) {
-    let item = series[i];
-    item._start_ = _start_;
-    _start_ += 2 * item._rose_proportion_ * Math.PI;
-  }
-  return series;
-}
-
-function getArcbarDataPoints(series, arcbarOption) {
-  var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
-  if (process == 1) {
-    process = 0.999999;
-  }
-  for (let i = 0; i < series.length; i++) {
-    let item = series[i];
-    item.data = item.data === null ? 0 : item.data;
-    let totalAngle;
-    if (arcbarOption.type == 'circle') {
-      totalAngle = 2;
-    } else {
-      if(arcbarOption.direction == 'ccw'){
-        if (arcbarOption.startAngle < arcbarOption.endAngle) {
-          totalAngle = 2 + arcbarOption.startAngle - arcbarOption.endAngle;
-        } else {
-          totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;
-        }
-      }else{
-        if (arcbarOption.endAngle < arcbarOption.startAngle) {
-          totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle;
-        } else {
-          totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;
-        }
-      }
-    }
-    item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle;
-    if(arcbarOption.direction == 'ccw'){
-      item._proportion_ = arcbarOption.startAngle - totalAngle * item.data * process ;
-    }
-    if (item._proportion_ >= 2) {
-      item._proportion_ = item._proportion_ % 2;
-    }
-  }
-  return series;
-}
-
-function getGaugeArcbarDataPoints(series, arcbarOption) {
-  var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
-  if (process == 1) {
-    process = 0.999999;
-  }
-  for (let i = 0; i < series.length; i++) {
-    let item = series[i];
-    item.data = item.data === null ? 0 : item.data;
-    let totalAngle;
-    if (arcbarOption.type == 'circle') {
-      totalAngle = 2;
-    } else {
-      if (arcbarOption.endAngle < arcbarOption.startAngle) {
-        totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle;
-      } else {
-        totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;
-      }
-    }
-    item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle;
-    if (item._proportion_ >= 2) {
-      item._proportion_ = item._proportion_ % 2;
-    }
-  }
-  return series;
-}
-
-function getGaugeAxisPoints(categories, startAngle, endAngle) {
-  let totalAngle;
-  if (endAngle < startAngle) {
-    totalAngle = 2 + endAngle - startAngle;
-  } else {
-    totalAngle = startAngle - endAngle;
-  }
-  let tempStartAngle = startAngle;
-  for (let i = 0; i < categories.length; i++) {
-    categories[i].value = categories[i].value === null ? 0 : categories[i].value;
-    categories[i]._startAngle_ = tempStartAngle;
-    categories[i]._endAngle_ = totalAngle * categories[i].value + startAngle;
-    if (categories[i]._endAngle_ >= 2) {
-      categories[i]._endAngle_ = categories[i]._endAngle_ % 2;
-    }
-    tempStartAngle = categories[i]._endAngle_;
-  }
-  return categories;
-}
-
-function getGaugeDataPoints(series, categories, gaugeOption) {
-  let process = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;
-  for (let i = 0; i < series.length; i++) {
-    let item = series[i];
-    item.data = item.data === null ? 0 : item.data;
-    if (gaugeOption.pointer.color == 'auto') {
-      for (let i = 0; i < categories.length; i++) {
-        if (item.data <= categories[i].value) {
-          item.color = categories[i].color;
-          break;
-        }
-      }
-    } else {
-      item.color = gaugeOption.pointer.color;
-    }
-    let totalAngle;
-    if (gaugeOption.endAngle < gaugeOption.startAngle) {
-      totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;
-    } else {
-      totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;
-    }
-    item._endAngle_ = totalAngle * item.data + gaugeOption.startAngle;
-    item._oldAngle_ = gaugeOption.oldAngle;
-    if (gaugeOption.oldAngle < gaugeOption.endAngle) {
-      item._oldAngle_ += 2;
-    }
-    if (item.data >= gaugeOption.oldData) {
-      item._proportion_ = (item._endAngle_ - item._oldAngle_) * process + gaugeOption.oldAngle;
-    } else {
-      item._proportion_ = item._oldAngle_ - (item._oldAngle_ - item._endAngle_) * process;
-    }
-    if (item._proportion_ >= 2) {
-      item._proportion_ = item._proportion_ % 2;
-    }
-  }
-  return series;
-}
-
-function getPieTextMaxLength(series, config, context, opts) {
-  series = getPieDataPoints(series);
-  let maxLength = 0;
-  for (let i = 0; i < series.length; i++) {
-    let item = series[i];
-    let text = item.formatter ? item.formatter(+item._proportion_.toFixed(2)) : util.toFixed(item._proportion_ * 100) + '%';
-    maxLength = Math.max(maxLength, measureText(text, item.textSize * opts.pix || config.fontSize, context));
-  }
-  return maxLength;
-}
-
-function fixColumeData(points, eachSpacing, columnLen, index, config, opts) {
-  return points.map(function(item) {
-    if (item === null) {
-      return null;
-    }
-    var seriesGap = 0;
-    var categoryGap = 0;
-    if (opts.type == 'mix') {
-      seriesGap = opts.extra.mix.column.seriesGap * opts.pix || 0;
-      categoryGap = opts.extra.mix.column.categoryGap * opts.pix || 0;
-    } else {
-      seriesGap = opts.extra.column.seriesGap * opts.pix || 0;
-      categoryGap = opts.extra.column.categoryGap * opts.pix || 0;
-    }
-    seriesGap =  Math.min(seriesGap, eachSpacing / columnLen)
-    categoryGap =  Math.min(categoryGap, eachSpacing / columnLen)
-    item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen);
-    if (opts.extra.mix && opts.extra.mix.column.width && +opts.extra.mix.column.width > 0) {
-      item.width = Math.min(item.width, +opts.extra.mix.column.width * opts.pix);
-    }
-    if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {
-      item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);
-    }
-    if (item.width <= 0) {
-      item.width = 1;
-    }
-    item.x += (index + 0.5 - columnLen / 2) * (item.width + seriesGap);
-    return item;
-  });
-}
-
-function fixBarData(points, eachSpacing, columnLen, index, config, opts) {
-  return points.map(function(item) {
-    if (item === null) {
-      return null;
-    }
-    var seriesGap = 0;
-    var categoryGap = 0;
-    seriesGap = opts.extra.bar.seriesGap * opts.pix || 0;
-    categoryGap = opts.extra.bar.categoryGap * opts.pix || 0;
-    seriesGap =  Math.min(seriesGap, eachSpacing / columnLen)
-    categoryGap =  Math.min(categoryGap, eachSpacing / columnLen)
-    item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen);
-    if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) {
-      item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix);
-    }
-    if (item.width <= 0) {
-      item.width = 1;
-    }
-    item.y += (index + 0.5 - columnLen / 2) * (item.width + seriesGap);
-    return item;
-  });
-}
-
-function fixColumeMeterData(points, eachSpacing, columnLen, index, config, opts, border) {
-  var categoryGap = opts.extra.column.categoryGap * opts.pix || 0;
-  return points.map(function(item) {
-    if (item === null) {
-      return null;
-    }
-    item.width = eachSpacing - 2 * categoryGap;
-    if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {
-      item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);
-    }
-    if (index > 0) {
-      item.width -= border;
-    }
-    return item;
-  });
-}
-
-function fixColumeStackData(points, eachSpacing, columnLen, index, config, opts, series) {
-  var categoryGap = opts.extra.column.categoryGap * opts.pix || 0;
-  return points.map(function(item, indexn) {
-    if (item === null) {
-      return null;
-    }
-    item.width = Math.ceil(eachSpacing - 2 * categoryGap);
-    if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {
-      item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);
-    }
-    if (item.width <= 0) {
-      item.width = 1;
-    }
-    return item;
-  });
-}
-
-function fixBarStackData(points, eachSpacing, columnLen, index, config, opts, series) {
-  var categoryGap = opts.extra.bar.categoryGap * opts.pix || 0;
-  return points.map(function(item, indexn) {
-    if (item === null) {
-      return null;
-    }
-    item.width = Math.ceil(eachSpacing - 2 * categoryGap);
-    if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) {
-      item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix);
-    }
-    if (item.width <= 0) {
-      item.width = 1;
-    }
-    return item;
-  });
-}
-
-function getXAxisPoints(categories, opts, config) {
-  var spacingValid = opts.width - opts.area[1] - opts.area[3];
-  var dataCount = opts.enableScroll ? Math.min(opts.xAxis.itemCount, categories.length) : categories.length;
-  if ((opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' || opts.type == 'bar') && dataCount > 1 && opts.xAxis.boundaryGap == 'justify') {
-    dataCount -= 1;
-  }
-  var widthRatio = 0;
-  if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){
-    if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2
-    widthRatio = opts.extra.mount.widthRatio - 1;
-    dataCount += widthRatio;
-  }
-  var eachSpacing = spacingValid / dataCount;
-  var xAxisPoints = [];
-  var startX = opts.area[3];
-  var endX = opts.width - opts.area[1];
-  categories.forEach(function(item, index) {
-    xAxisPoints.push(startX + widthRatio / 2 * eachSpacing + index * eachSpacing);
-  });
-  if (opts.xAxis.boundaryGap !== 'justify') {
-    if (opts.enableScroll === true) {
-      xAxisPoints.push(startX + widthRatio * eachSpacing + categories.length * eachSpacing);
-    } else {
-      xAxisPoints.push(endX);
-    }
-  }
-  return {
-    xAxisPoints: xAxisPoints,
-    startX: startX,
-    endX: endX,
-    eachSpacing: eachSpacing
-  };
-}
-
-function getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {
-  var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;
-  var points = [];
-  var validHeight = opts.height - opts.area[0] - opts.area[2];
-  data.forEach(function(item, index) {
-    if (item === null) {
-      points.push(null);
-    } else {
-      var cPoints = [];
-      item.forEach(function(items, indexs) {
-        var point = {};
-        point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);
-        var value = items.value || items;
-        var height = validHeight * (value - minRange) / (maxRange - minRange);
-        height *= process;
-        point.y = opts.height - Math.round(height) - opts.area[2];
-        cPoints.push(point);
-      });
-      points.push(cPoints);
-    }
-  });
-  return points;
-}
-
-function getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {
-  var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;
-  var boundaryGap = 'center';
-  if (opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' ) {
-    boundaryGap = opts.xAxis.boundaryGap;
-  }
-  var points = [];
-  var validHeight = opts.height - opts.area[0] - opts.area[2];
-  var validWidth = opts.width - opts.area[1] - opts.area[3];
-  data.forEach(function(item, index) {
-    if (item === null) {
-      points.push(null);
-    } else {
-      var point = {};
-      point.color = item.color;
-      point.x = xAxisPoints[index];
-      var value = item;
-      if (typeof item === 'object' && item !== null) {
-        if (item.constructor.toString().indexOf('Array') > -1) {
-          let xranges, xminRange, xmaxRange;
-          xranges = [].concat(opts.chartData.xAxisData.ranges);
-          xminRange = xranges.shift();
-          xmaxRange = xranges.pop();
-          value = item[1];
-          point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);
-          if(opts.type == 'bubble'){
-            point.r = item[2];
-            point.t = item[3];
-          }
-        } else {
-          value = item.value;
-        }
-      }
-      if (boundaryGap == 'center') {
-        point.x += eachSpacing / 2;
-      }
-      var height = validHeight * (value - minRange) / (maxRange - minRange);
-      height *= process;
-      point.y = opts.height - height - opts.area[2];
-      points.push(point);
-    }
-  });
-  return points;
-}
-
-function getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process){
-  var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1;
-  var boundaryGap = opts.xAxis.boundaryGap;
-  var points = [];
-  var validHeight = opts.height - opts.area[0] - opts.area[2];
-  var validWidth = opts.width - opts.area[1] - opts.area[3];
-  data.forEach(function(item, index) {
-    if (item === null) {
-      points.push(null);
-    } else {
-      var point = {};
-      point.color = item.color;
-      if(lineOption.animation == 'vertical'){
-        point.x = xAxisPoints[index];
-        var value = item;
-        if (typeof item === 'object' && item !== null) {
-          if (item.constructor.toString().indexOf('Array') > -1) {
-            let xranges, xminRange, xmaxRange;
-            xranges = [].concat(opts.chartData.xAxisData.ranges);
-            xminRange = xranges.shift();
-            xmaxRange = xranges.pop();
-            value = item[1];
-            point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);
-          } else {
-            value = item.value;
-          }
-        }
-        if (boundaryGap == 'center') {
-          point.x += eachSpacing / 2;
-        }
-        var height = validHeight * (value - minRange) / (maxRange - minRange);
-        height *= process;
-        point.y = opts.height - height - opts.area[2];
-        points.push(point);
-      }else{
-        point.x = xAxisPoints[0] + eachSpacing * index * process;
-        var value = item;
-        if (boundaryGap == 'center') {
-          point.x += eachSpacing / 2;
-        }
-        var height = validHeight * (value - minRange) / (maxRange - minRange);
-        point.y = opts.height - height - opts.area[2];
-        points.push(point);
-      }
-    }
-  });
-  return points;
-}
-
-function getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process){
-  var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1;
-  var points = [];
-  var validHeight = opts.height - opts.area[0] - opts.area[2];
-  var validWidth = opts.width - opts.area[1] - opts.area[3];
-  data.forEach(function(item, index) {
-    if (item === null) {
-      points.push(null);
-    } else {
-      var point = {};
-      point.color = item.color;
-      point.x = xAxisPoints[index];
-      var value = item;
-      if (typeof item === 'object' && item !== null) {
-        if (item.constructor.toString().indexOf('Array') > -1) {
-          let xranges, xminRange, xmaxRange;
-          xranges = [].concat(opts.chartData.xAxisData.ranges);
-          xminRange = xranges.shift();
-          xmaxRange = xranges.pop();
-          value = item[1];
-          point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);
-        } else {
-          value = item.value;
-        }
-      }
-      point.x += eachSpacing / 2;
-      var height = validHeight * (value * process - minRange) / (maxRange - minRange);
-      point.y = opts.height - height - opts.area[2];
-      points.push(point);
-    }
-  });
-  return points;
-}
-
-function getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints) {
-  var process = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : 1;
-  var points = [];
-  var validHeight = opts.height - opts.area[0] - opts.area[2];
-  var validWidth = opts.width - opts.area[1] - opts.area[3];
-  var mountWidth = eachSpacing * mountOption.widthRatio;
-  series.forEach(function(item, index) {
-    if (item === null) {
-      points.push(null);
-    } else {
-      var point = {};
-      point.color = item.color;
-      point.x = xAxisPoints[index];
-      point.x += eachSpacing / 2;
-      var value = item.data;
-      var height = validHeight * (value * process - minRange) / (maxRange - minRange);
-      point.y = opts.height - height - opts.area[2];
-      point.value = value;
-      point.width = mountWidth;
-      points.push(point);
-    }
-  });
-  return points;
-}
-
-function getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config) {
-  var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;
-  var points = [];
-  var validHeight = opts.height - opts.area[0] - opts.area[2];
-  var validWidth = opts.width - opts.area[1] - opts.area[3];
-  data.forEach(function(item, index) {
-    if (item === null) {
-      points.push(null);
-    } else {
-      var point = {};
-      point.color = item.color;
-      point.y = yAxisPoints[index];
-      var value = item;
-      if (typeof item === 'object' && item !== null) {
-        value = item.value;
-      }
-      var height = validWidth * (value - minRange) / (maxRange - minRange);
-      height *= process;
-      point.height = height;
-      point.value = value;
-      point.x = height + opts.area[3];
-      points.push(point);
-    }
-  });
-  return points;
-}
-
-function getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) {
-  var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1;
-  var points = [];
-  var validHeight = opts.height - opts.area[0] - opts.area[2];
-  data.forEach(function(item, index) {
-    if (item === null) {
-      points.push(null);
-    } else {
-      var point = {};
-      point.color = item.color;
-      point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);
-
-      if (seriesIndex > 0) {
-        var value = 0;
-        for (let i = 0; i <= seriesIndex; i++) {
-          value += stackSeries[i].data[index];
-        }
-        var value0 = value - item;
-        var height = validHeight * (value - minRange) / (maxRange - minRange);
-        var height0 = validHeight * (value0 - minRange) / (maxRange - minRange);
-      } else {
-        var value = item;
-        if (typeof item === 'object' && item !== null) {
-          value = item.value;
-        }
-        var height = validHeight * (value - minRange) / (maxRange - minRange);
-        var height0 = 0;
-      }
-      var heightc = height0;
-      height *= process;
-      heightc *= process;
-      point.y = opts.height - Math.round(height) - opts.area[2];
-      point.y0 = opts.height - Math.round(heightc) - opts.area[2];
-      points.push(point);
-    }
-  });
-  return points;
-}
-
-function getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) {
-  var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1;
-  var points = [];
-  var validHeight = opts.width - opts.area[1] - opts.area[3];
-  data.forEach(function(item, index) {
-    if (item === null) {
-      points.push(null);
-    } else {
-      var point = {};
-      point.color = item.color;
-      point.y = yAxisPoints[index];
-      if (seriesIndex > 0) {
-        var value = 0;
-        for (let i = 0; i <= seriesIndex; i++) {
-          value += stackSeries[i].data[index];
-        }
-        var value0 = value - item;
-        var height = validHeight * (value - minRange) / (maxRange - minRange);
-        var height0 = validHeight * (value0 - minRange) / (maxRange - minRange);
-      } else {
-        var value = item;
-        if (typeof item === 'object' && item !== null) {
-          value = item.value;
-        }
-        var height = validHeight * (value - minRange) / (maxRange - minRange);
-        var height0 = 0;
-      }
-      var heightc = height0;
-      height *= process;
-      heightc *= process;
-      point.height = height - heightc;
-      point.x = opts.area[3] + height;
-      point.x0 = opts.area[3] + heightc;
-      points.push(point);
-    }
-  });
-  return points;
-}
-
-function getYAxisTextList(series, opts, config, stack, yData) {
-  var index = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : -1;
-  var data;
-  if (stack == 'stack') {
-    data = dataCombineStack(series, opts.categories.length);
-  } else {
-    data = dataCombine(series);
-  }
-  var sorted = [];
-  // remove null from data
-  data = data.filter(function(item) {
-    //return item !== null;
-    if (typeof item === 'object' && item !== null) {
-      if (item.constructor.toString().indexOf('Array') > -1) {
-        return item !== null;
-      } else {
-        return item.value !== null;
-      }
-    } else {
-      return item !== null;
-    }
-  });
-  data.map(function(item) {
-    if (typeof item === 'object') {
-      if (item.constructor.toString().indexOf('Array') > -1) {
-        if (opts.type == 'candle') {
-          item.map(function(subitem) {
-            sorted.push(subitem);
-          })
-        } else {
-          sorted.push(item[1]);
-        }
-      } else {
-        sorted.push(item.value);
-      }
-    } else {
-      sorted.push(item);
-    }
-  })
-  var minData = yData.min || 0;
-  var maxData = yData.max || 0;
-  if (sorted.length > 0) {
-    minData = Math.min.apply(this, sorted);
-    maxData = Math.max.apply(this, sorted);
-  }
-  if (minData === maxData) {
-    if(maxData == 0){
-      maxData = 10;
-    }else{
-      minData = 0;
-    }
-  }
-  var dataRange = getDataRange(minData, maxData);
-  var minRange = (yData.min === undefined || yData.min === null) ? dataRange.minRange : yData.min;
-  var maxRange = (yData.max === undefined || yData.max === null) ? dataRange.maxRange : yData.max;
-  var eachRange = (maxRange - minRange) / opts.yAxis.splitNumber;
-  var range = [];
-  for (var i = 0; i <= opts.yAxis.splitNumber; i++) {
-    range.push(minRange + eachRange * i);
-  }
-  return range.reverse();
-}
-
-function calYAxisData(series, opts, config, context) {
-  //鍫嗗彔鍥鹃噸绠梇杞�
-  var columnstyle = assign({}, {
-    type: ""
-  }, opts.extra.column);
-  //濡傛灉鏄Y杞达紝閲嶆柊璁$畻
-  var YLength = opts.yAxis.data.length;
-  var newSeries = new Array(YLength);
-  if (YLength > 0) {
-    for (let i = 0; i < YLength; i++) {
-      newSeries[i] = [];
-      for (let j = 0; j < series.length; j++) {
-        if (series[j].index == i) {
-          newSeries[i].push(series[j]);
-        }
-      }
-    }
-    var rangesArr = new Array(YLength);
-    var rangesFormatArr = new Array(YLength);
-    var yAxisWidthArr = new Array(YLength);
-
-    for (let i = 0; i < YLength; i++) {
-      let yData = opts.yAxis.data[i];
-      //濡傛灉鎬诲紑鍏充笉鏄剧ず锛屽己鍒舵瘡涓猋杞翠负涓嶆樉绀�
-      if (opts.yAxis.disabled == true) {
-        yData.disabled = true;
-      }
-      if(yData.type === 'categories'){
-        if(!yData.formatter){
-          yData.formatter = (val,index,opts) => {return val + (yData.unit || '')};
-        }
-        yData.categories = yData.categories || opts.categories;
-        rangesArr[i] = yData.categories;
-      }else{
-        if(!yData.formatter){
-          yData.formatter = (val,index,opts) => {return util.toFixed(val, yData.tofix || 0) + (yData.unit || '')};
-        }
-        rangesArr[i] = getYAxisTextList(newSeries[i], opts, config, columnstyle.type, yData, i);
-      }
-      let yAxisFontSizes = yData.fontSize * opts.pix || config.fontSize;
-      yAxisWidthArr[i] = {
-        position: yData.position ? yData.position : 'left',
-        width: 0
-      };
-      rangesFormatArr[i] = rangesArr[i].map(function(items,index) {
-        items = yData.formatter(items,index,opts);
-        yAxisWidthArr[i].width = Math.max(yAxisWidthArr[i].width, measureText(items, yAxisFontSizes, context) + 5);
-        return items;
-      });
-      let calibration = yData.calibration ? 4 * opts.pix : 0;
-      yAxisWidthArr[i].width += calibration + 3 * opts.pix;
-      if (yData.disabled === true) {
-        yAxisWidthArr[i].width = 0;
-      }
-    }
-  } else {
-    var rangesArr = new Array(1);
-    var rangesFormatArr = new Array(1);
-    var yAxisWidthArr = new Array(1);
-    if(opts.type === 'bar'){
-      rangesArr[0] = opts.categories;
-      if(!opts.yAxis.formatter){
-        opts.yAxis.formatter = (val,index,opts) => {return val + (opts.yAxis.unit || '')}
-      }
-    }else{
-      if(!opts.yAxis.formatter){
-        opts.yAxis.formatter = (val,index,opts) => {return val.toFixed(opts.yAxis.tofix ) + (opts.yAxis.unit || '')}
-      }
-      rangesArr[0] = getYAxisTextList(series, opts, config, columnstyle.type, {});
-    }
-    yAxisWidthArr[0] = {
-      position: 'left',
-      width: 0
-    };
-    var yAxisFontSize = opts.yAxis.fontSize * opts.pix || config.fontSize;
-    rangesFormatArr[0] = rangesArr[0].map(function(item,index) {
-      item = opts.yAxis.formatter(item,index,opts);
-      yAxisWidthArr[0].width = Math.max(yAxisWidthArr[0].width, measureText(item, yAxisFontSize, context) + 5);
-      return item;
-    });
-    yAxisWidthArr[0].width += 3 * opts.pix;
-    if (opts.yAxis.disabled === true) {
-      yAxisWidthArr[0] = {
-        position: 'left',
-        width: 0
-      };
-      opts.yAxis.data[0] = {
-        disabled: true
-      };
-    } else {
-      opts.yAxis.data[0] = {
-        disabled: false,
-        position: 'left',
-        max: opts.yAxis.max,
-        min: opts.yAxis.min,
-        formatter: opts.yAxis.formatter
-      };
-      if(opts.type === 'bar'){
-        opts.yAxis.data[0].categories = opts.categories;
-        opts.yAxis.data[0].type = 'categories';
-      }
-    }
-  }
-  return {
-    rangesFormat: rangesFormatArr,
-    ranges: rangesArr,
-    yAxisWidth: yAxisWidthArr
-  };
-}
-
-function calTooltipYAxisData(point, series, opts, config, eachSpacing) {
-  let ranges = [].concat(opts.chartData.yAxisData.ranges);
-  let spacingValid = opts.height - opts.area[0] - opts.area[2];
-  let minAxis = opts.area[0];
-  let items = [];
-  for (let i = 0; i < ranges.length; i++) {
-    let maxVal = Math.max.apply(this, ranges[i]);
-    let minVal = Math.min.apply(this, ranges[i]);
-    let item = maxVal - (maxVal - minVal) * (point - minAxis) / spacingValid;
-    item = opts.yAxis.data && opts.yAxis.data[i].formatter ? opts.yAxis.data[i].formatter(item, i, opts) : item.toFixed(0);
-    items.push(String(item))
-  }
-  return items;
-}
-
-function calMarkLineData(points, opts) {
-  let minRange, maxRange;
-  let spacingValid = opts.height - opts.area[0] - opts.area[2];
-  for (let i = 0; i < points.length; i++) {
-    points[i].yAxisIndex = points[i].yAxisIndex ? points[i].yAxisIndex : 0;
-    let range = [].concat(opts.chartData.yAxisData.ranges[points[i].yAxisIndex]);
-    minRange = range.pop();
-    maxRange = range.shift();
-    let height = spacingValid * (points[i].value - minRange) / (maxRange - minRange);
-    points[i].y = opts.height - Math.round(height) - opts.area[2];
-  }
-  return points;
-}
-
-function contextRotate(context, opts) {
-  if (opts.rotateLock !== true) {
-    context.translate(opts.height, 0);
-    context.rotate(90 * Math.PI / 180);
-  } else if (opts._rotate_ !== true) {
-    context.translate(opts.height, 0);
-    context.rotate(90 * Math.PI / 180);
-    opts._rotate_ = true;
-  }
-}
-
-function drawPointShape(points, color, shape, context, opts) {
-  context.beginPath();
-  if (opts.dataPointShapeType == 'hollow') {
-    context.setStrokeStyle(color);
-    context.setFillStyle(opts.background);
-    context.setLineWidth(2 * opts.pix);
-  } else {
-    context.setStrokeStyle("#ffffff");
-    context.setFillStyle(color);
-    context.setLineWidth(1 * opts.pix);
-  }
-  if (shape === 'diamond') {
-    points.forEach(function(item, index) {
-      if (item !== null) {
-        context.moveTo(item.x, item.y - 4.5);
-        context.lineTo(item.x - 4.5, item.y);
-        context.lineTo(item.x, item.y + 4.5);
-        context.lineTo(item.x + 4.5, item.y);
-        context.lineTo(item.x, item.y - 4.5);
-      }
-    });
-  } else if (shape === 'circle') {
-    points.forEach(function(item, index) {
-      if (item !== null) {
-        context.moveTo(item.x + 2.5 * opts.pix, item.y);
-        context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);
-      }
-    });
-  } else if (shape === 'square') {
-    points.forEach(function(item, index) {
-      if (item !== null) {
-        context.moveTo(item.x - 3.5, item.y - 3.5);
-        context.rect(item.x - 3.5, item.y - 3.5, 7, 7);
-      }
-    });
-  } else if (shape === 'triangle') {
-    points.forEach(function(item, index) {
-      if (item !== null) {
-        context.moveTo(item.x, item.y - 4.5);
-        context.lineTo(item.x - 4.5, item.y + 4.5);
-        context.lineTo(item.x + 4.5, item.y + 4.5);
-        context.lineTo(item.x, item.y - 4.5);
-      }
-    });
-  } else if (shape === 'none') {
-    return;
-  }
-  context.closePath();
-  context.fill();
-  context.stroke();
-}
-
-function drawActivePoint(points, color, shape, context, opts, option, seriesIndex) {
-  if(!opts.tooltip){
-    return
-  }
-  if(opts.tooltip.group.length>0 && opts.tooltip.group.includes(seriesIndex) == false){
-    return
-  }
-  var pointIndex = typeof opts.tooltip.index === 'number' ? opts.tooltip.index : opts.tooltip.index[opts.tooltip.group.indexOf(seriesIndex)];
-  context.beginPath();
-  if (option.activeType == 'hollow') {
-    context.setStrokeStyle(color);
-    context.setFillStyle(opts.background);
-    context.setLineWidth(2 * opts.pix);
-  } else {
-    context.setStrokeStyle("#ffffff");
-    context.setFillStyle(color);
-    context.setLineWidth(1 * opts.pix);
-  }
-  if (shape === 'diamond') {
-    points.forEach(function(item, index) {
-      if (item !== null && pointIndex == index ) {
-        context.moveTo(item.x, item.y - 4.5);
-        context.lineTo(item.x - 4.5, item.y);
-        context.lineTo(item.x, item.y + 4.5);
-        context.lineTo(item.x + 4.5, item.y);
-        context.lineTo(item.x, item.y - 4.5);
-      }
-    });
-  } else if (shape === 'circle') {
-    points.forEach(function(item, index) {
-      if (item !== null && pointIndex == index) {
-        context.moveTo(item.x + 2.5 * opts.pix, item.y);
-        context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);
-      }
-    });
-  } else if (shape === 'square') {
-    points.forEach(function(item, index) {
-      if (item !== null && pointIndex == index) {
-        context.moveTo(item.x - 3.5, item.y - 3.5);
-        context.rect(item.x - 3.5, item.y - 3.5, 7, 7);
-      }
-    });
-  } else if (shape === 'triangle') {
-    points.forEach(function(item, index) {
-      if (item !== null && pointIndex == index) {
-        context.moveTo(item.x, item.y - 4.5);
-        context.lineTo(item.x - 4.5, item.y + 4.5);
-        context.lineTo(item.x + 4.5, item.y + 4.5);
-        context.lineTo(item.x, item.y - 4.5);
-      }
-    });
-  } else if (shape === 'none') {
-    return;
-  }
-  context.closePath();
-  context.fill();
-  context.stroke();
-}
-
-function drawRingTitle(opts, config, context, center) {
-  var titlefontSize = opts.title.fontSize || config.titleFontSize;
-  var subtitlefontSize = opts.subtitle.fontSize || config.subtitleFontSize;
-  var title = opts.title.name || '';
-  var subtitle = opts.subtitle.name || '';
-  var titleFontColor = opts.title.color || opts.fontColor;
-  var subtitleFontColor = opts.subtitle.color || opts.fontColor;
-  var titleHeight = title ? titlefontSize : 0;
-  var subtitleHeight = subtitle ? subtitlefontSize : 0;
-  var margin = 5;
-  if (subtitle) {
-    var textWidth = measureText(subtitle, subtitlefontSize * opts.pix, context);
-    var startX = center.x - textWidth / 2 + (opts.subtitle.offsetX|| 0) * opts.pix ;
-    var startY = center.y + subtitlefontSize * opts.pix / 2 + (opts.subtitle.offsetY || 0) * opts.pix;
-    if (title) {
-      startY += (titleHeight * opts.pix + margin) / 2;
-    }
-    context.beginPath();
-    context.setFontSize(subtitlefontSize * opts.pix);
-    context.setFillStyle(subtitleFontColor);
-    context.fillText(subtitle, startX, startY);
-    context.closePath();
-    context.stroke();
-  }
-  if (title) {
-    var _textWidth = measureText(title, titlefontSize * opts.pix, context);
-    var _startX = center.x - _textWidth / 2 + (opts.title.offsetX || 0);
-    var _startY = center.y + titlefontSize * opts.pix / 2 + (opts.title.offsetY || 0) * opts.pix;
-    if (subtitle) {
-      _startY -= (subtitleHeight * opts.pix + margin) / 2;
-    }
-    context.beginPath();
-    context.setFontSize(titlefontSize * opts.pix);
-    context.setFillStyle(titleFontColor);
-    context.fillText(title, _startX, _startY);
-    context.closePath();
-    context.stroke();
-  }
-}
-
-function drawPointText(points, series, config, context, opts) {
-  // 缁樺埗鏁版嵁鏂囨
-  var data = series.data;
-  var textOffset = series.textOffset ? series.textOffset : 0;
-  points.forEach(function(item, index) {
-    if (item !== null) {
-      context.beginPath();
-      var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;
-      context.setFontSize(fontSize);
-      context.setFillStyle(series.textColor || opts.fontColor);
-      var value = data[index]
-      if (typeof data[index] === 'object' && data[index] !== null) {
-        if (data[index].constructor.toString().indexOf('Array')>-1) {
-          value = data[index][1];
-        } else {
-          value = data[index].value
-        }
-      }
-      var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value;
-      context.setTextAlign('center');
-      context.fillText(String(formatVal), item.x, item.y - 4 + textOffset * opts.pix);
-      context.closePath();
-      context.stroke();
-      context.setTextAlign('left');
-    }
-  });
-}
-
-function drawColumePointText(points, series, config, context, opts) {
-  // 缁樺埗鏁版嵁鏂囨
-  var data = series.data;
-  var textOffset = series.textOffset ? series.textOffset : 0;
-  var Position = opts.extra.column.labelPosition;
-  points.forEach(function(item, index) {
-    if (item !== null) {
-      context.beginPath();
-      var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;
-      context.setFontSize(fontSize);
-      context.setFillStyle(series.textColor || opts.fontColor);
-      var value = data[index]
-      if (typeof data[index] === 'object' && data[index] !== null) {
-        if (data[index].constructor.toString().indexOf('Array')>-1) {
-          value = data[index][1];
-        } else {
-          value = data[index].value
-        }
-      }
-      var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value;
-      context.setTextAlign('center');
-      var startY = item.y - 4 * opts.pix + textOffset * opts.pix;
-      if(item.y > series.zeroPoints){
-        startY = item.y + textOffset * opts.pix + fontSize;
-      }
-      if(Position == 'insideTop'){
-        startY = item.y + fontSize + textOffset * opts.pix;
-        if(item.y > series.zeroPoints){
-          startY = item.y - textOffset * opts.pix - 4 * opts.pix;
-        }
-      }
-      if(Position == 'center'){
-        startY = item.y + textOffset * opts.pix + (opts.height - opts.area[2] - item.y + fontSize)/2;
-        if(series.zeroPoints < opts.height - opts.area[2]){
-          startY = item.y + textOffset * opts.pix + (series.zeroPoints - item.y + fontSize)/2;
-        }
-        if(item.y > series.zeroPoints){
-          startY = item.y - textOffset * opts.pix - (item.y - series.zeroPoints - fontSize)/2;
-        }
-        if(opts.extra.column.type == 'stack'){
-          startY = item.y + textOffset * opts.pix + (item.y0 - item.y + fontSize)/2;
-        }
-      }
-      if(Position == 'bottom'){
-        startY = opts.height - opts.area[2] + textOffset * opts.pix - 4 * opts.pix;
-        if(series.zeroPoints < opts.height - opts.area[2]){
-          startY = series.zeroPoints + textOffset * opts.pix - 4 * opts.pix;
-        }
-        if(item.y > series.zeroPoints){
-          startY = series.zeroPoints - textOffset * opts.pix + fontSize + 2 * opts.pix;
-        }
-        if(opts.extra.column.type == 'stack'){
-          startY = item.y0 + textOffset * opts.pix - 4 * opts.pix;
-        }
-      }
-      context.fillText(String(formatVal), item.x, startY);
-      context.closePath();
-      context.stroke();
-      context.setTextAlign('left');
-    }
-  });
-}
-
-function drawMountPointText(points, series, config, context, opts, zeroPoints) {
-  // 缁樺埗鏁版嵁鏂囨
-  var data = series.data;
-  var textOffset = series.textOffset ? series.textOffset : 0;
-  var Position = opts.extra.mount.labelPosition;
-  points.forEach(function(item, index) {
-    if (item !== null) {
-      context.beginPath();
-      var fontSize = series[index].textSize ? series[index].textSize * opts.pix : config.fontSize;
-      context.setFontSize(fontSize);
-      context.setFillStyle(series[index].textColor || opts.fontColor);
-      var value = item.value
-      var formatVal = series[index].formatter ? series[index].formatter(value,index,series,opts) : value;
-      context.setTextAlign('center');
-      var startY = item.y - 4 * opts.pix + textOffset * opts.pix;
-      if(item.y > zeroPoints){
-        startY = item.y + textOffset * opts.pix + fontSize;
-      }
-      context.fillText(String(formatVal), item.x, startY);
-      context.closePath();
-      context.stroke();
-      context.setTextAlign('left');
-    }
-  });
-}
-
-function drawBarPointText(points, series, config, context, opts) {
-  // 缁樺埗鏁版嵁鏂囨
-  var data = series.data;
-  var textOffset = series.textOffset ? series.textOffset : 0;
-  points.forEach(function(item, index) {
-    if (item !== null) {
-      context.beginPath();
-      var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;
-      context.setFontSize(fontSize);
-      context.setFillStyle(series.textColor || opts.fontColor);
-      var value = data[index]
-      if (typeof data[index] === 'object' && data[index] !== null) {
-        value = data[index].value ;
-      }
-      var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value;
-      context.setTextAlign('left');
-      context.fillText(String(formatVal), item.x + 4 * opts.pix , item.y + fontSize / 2 - 3 );
-      context.closePath();
-      context.stroke();
-    }
-  });
-}
-
-function drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context) {
-  radius -= gaugeOption.width / 2 + gaugeOption.labelOffset * opts.pix;
-  radius = radius < 10 ? 10 : radius;
-  let totalAngle;
-  if (gaugeOption.endAngle < gaugeOption.startAngle) {
-    totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;
-  } else {
-    totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;
-  }
-  let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;
-  let totalNumber = gaugeOption.endNumber - gaugeOption.startNumber;
-  let splitNumber = totalNumber / gaugeOption.splitLine.splitNumber;
-  let nowAngle = gaugeOption.startAngle;
-  let nowNumber = gaugeOption.startNumber;
-  for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) {
-    var pos = {
-      x: radius * Math.cos(nowAngle * Math.PI),
-      y: radius * Math.sin(nowAngle * Math.PI)
-    };
-    var labelText = gaugeOption.formatter ? gaugeOption.formatter(nowNumber,i,opts) : nowNumber;
-    pos.x += centerPosition.x - measureText(labelText, config.fontSize, context) / 2;
-    pos.y += centerPosition.y;
-    var startX = pos.x;
-    var startY = pos.y;
-    context.beginPath();
-    context.setFontSize(config.fontSize);
-    context.setFillStyle(gaugeOption.labelColor || opts.fontColor);
-    context.fillText(labelText, startX, startY + config.fontSize / 2);
-    context.closePath();
-    context.stroke();
-    nowAngle += splitAngle;
-    if (nowAngle >= 2) {
-      nowAngle = nowAngle % 2;
-    }
-    nowNumber += splitNumber;
-  }
-}
-
-function drawRadarLabel(angleList, radius, centerPosition, opts, config, context) {
-  var radarOption = opts.extra.radar || {};
-  angleList.forEach(function(angle, index) {
-    if(radarOption.labelPointShow === true && opts.categories[index] !== ''){
-      var posPoint = {
-        x: radius * Math.cos(angle),
-        y: radius * Math.sin(angle)
-      };
-      var posPointAxis = convertCoordinateOrigin(posPoint.x, posPoint.y, centerPosition);
-      context.setFillStyle(radarOption.labelPointColor);
-      context.beginPath();
-      context.arc(posPointAxis.x, posPointAxis.y, radarOption.labelPointRadius * opts.pix, 0, 2 * Math.PI, false);
-      context.closePath();
-      context.fill();
-    }
-    if(radarOption.labelShow === true){
-      var pos = {
-        x: (radius + config.radarLabelTextMargin * opts.pix) * Math.cos(angle),
-        y: (radius + config.radarLabelTextMargin * opts.pix) * Math.sin(angle)
-      };
-      var posRelativeCanvas = convertCoordinateOrigin(pos.x, pos.y, centerPosition);
-      var startX = posRelativeCanvas.x;
-      var startY = posRelativeCanvas.y;
-      if (util.approximatelyEqual(pos.x, 0)) {
-        startX -= measureText(opts.categories[index] || '', config.fontSize, context) / 2;
-      } else if (pos.x < 0) {
-        startX -= measureText(opts.categories[index] || '', config.fontSize, context);
-      }
-      context.beginPath();
-      context.setFontSize(config.fontSize);
-      context.setFillStyle(radarOption.labelColor || opts.fontColor);
-      context.fillText(opts.categories[index] || '', startX, startY + config.fontSize / 2);
-      context.closePath();
-      context.stroke();
-    }
-  });
-
-}
-
-function drawPieText(series, opts, config, context, radius, center) {
-  var lineRadius = config.pieChartLinePadding;
-  var textObjectCollection = [];
-  var lastTextObject = null;
-  var seriesConvert = series.map(function(item,index) {
-    var text = item.formatter ? item.formatter(item,index,series,opts) : util.toFixed(item._proportion_.toFixed(4) * 100) + '%';
-    text = item.labelText ? item.labelText : text;
-    var arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._proportion_ / 2);
-    if (item._rose_proportion_) {
-      arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._rose_proportion_ / 2);
-    }
-    var color = item.color;
-    var radius = item._radius_;
-    return {
-      arc: arc,
-      text: text,
-      color: color,
-      radius: radius,
-      textColor: item.textColor,
-      textSize: item.textSize,
-      labelShow: item.labelShow
-    };
-  });
-  for (let i = 0; i < seriesConvert.length; i++) {
-    let item = seriesConvert[i];
-    // line end
-    let orginX1 = Math.cos(item.arc) * (item.radius + lineRadius);
-    let orginY1 = Math.sin(item.arc) * (item.radius + lineRadius);
-    // line start
-    let orginX2 = Math.cos(item.arc) * item.radius;
-    let orginY2 = Math.sin(item.arc) * item.radius;
-    // text start
-    let orginX3 = orginX1 >= 0 ? orginX1 + config.pieChartTextPadding : orginX1 - config.pieChartTextPadding;
-    let orginY3 = orginY1;
-    let textWidth = measureText(item.text, item.textSize * opts.pix || config.fontSize, context);
-    let startY = orginY3;
-    if (lastTextObject && util.isSameXCoordinateArea(lastTextObject.start, {
-        x: orginX3
-      })) {
-      if (orginX3 > 0) {
-        startY = Math.min(orginY3, lastTextObject.start.y);
-      } else if (orginX1 < 0) {
-        startY = Math.max(orginY3, lastTextObject.start.y);
-      } else {
-        if (orginY3 > 0) {
-          startY = Math.max(orginY3, lastTextObject.start.y);
-        } else {
-          startY = Math.min(orginY3, lastTextObject.start.y);
-        }
-      }
-    }
-    if (orginX3 < 0) {
-      orginX3 -= textWidth;
-    }
-    let textObject = {
-      lineStart: {
-        x: orginX2,
-        y: orginY2
-      },
-      lineEnd: {
-        x: orginX1,
-        y: orginY1
-      },
-      start: {
-        x: orginX3,
-        y: startY
-      },
-      width: textWidth,
-      height: config.fontSize,
-      text: item.text,
-      color: item.color,
-      textColor: item.textColor,
-      textSize: item.textSize
-    };
-    lastTextObject = avoidCollision(textObject, lastTextObject);
-    textObjectCollection.push(lastTextObject);
-  }
-  for (let i = 0; i < textObjectCollection.length; i++) {
-    if(seriesConvert[i].labelShow === false){
-      continue;
-    }
-    let item = textObjectCollection[i];
-    let lineStartPoistion = convertCoordinateOrigin(item.lineStart.x, item.lineStart.y, center);
-    let lineEndPoistion = convertCoordinateOrigin(item.lineEnd.x, item.lineEnd.y, center);
-    let textPosition = convertCoordinateOrigin(item.start.x, item.start.y, center);
-    context.setLineWidth(1 * opts.pix);
-    context.setFontSize(item.textSize * opts.pix || config.fontSize);
-    context.beginPath();
-    context.setStrokeStyle(item.color);
-    context.setFillStyle(item.color);
-    context.moveTo(lineStartPoistion.x, lineStartPoistion.y);
-    let curveStartX = item.start.x < 0 ? textPosition.x + item.width : textPosition.x;
-    let textStartX = item.start.x < 0 ? textPosition.x - 5 : textPosition.x + 5;
-    context.quadraticCurveTo(lineEndPoistion.x, lineEndPoistion.y, curveStartX, textPosition.y);
-    context.moveTo(lineStartPoistion.x, lineStartPoistion.y);
-    context.stroke();
-    context.closePath();
-    context.beginPath();
-    context.moveTo(textPosition.x + item.width, textPosition.y);
-    context.arc(curveStartX, textPosition.y, 2 * opts.pix, 0, 2 * Math.PI);
-    context.closePath();
-    context.fill();
-    context.beginPath();
-    context.setFontSize(item.textSize * opts.pix || config.fontSize);
-    context.setFillStyle(item.textColor || opts.fontColor);
-    context.fillText(item.text, textStartX, textPosition.y + 3);
-    context.closePath();
-    context.stroke();
-    context.closePath();
-  }
-}
-
-function drawToolTipSplitLine(offsetX, opts, config, context) {
-  var toolTipOption = opts.extra.tooltip || {};
-  toolTipOption.gridType = toolTipOption.gridType == undefined ? 'solid' : toolTipOption.gridType;
-  toolTipOption.dashLength = toolTipOption.dashLength == undefined ? 4 : toolTipOption.dashLength;
-  var startY = opts.area[0];
-  var endY = opts.height - opts.area[2];
-  if (toolTipOption.gridType == 'dash') {
-    context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);
-  }
-  context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');
-  context.setLineWidth(1 * opts.pix);
-  context.beginPath();
-  context.moveTo(offsetX, startY);
-  context.lineTo(offsetX, endY);
-  context.stroke();
-  context.setLineDash([]);
-  if (toolTipOption.xAxisLabel) {
-    let labelText = opts.categories[opts.tooltip.index];
-    context.setFontSize(config.fontSize);
-    let textWidth = measureText(labelText, config.fontSize, context);
-    let textX = offsetX - 0.5 * textWidth;
-    let textY = endY + 2 * opts.pix;
-    context.beginPath();
-    context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));
-    context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);
-    context.setLineWidth(1 * opts.pix);
-    context.rect(textX - toolTipOption.boxPadding * opts.pix, textY, textWidth + 2 * toolTipOption.boxPadding * opts.pix, config.fontSize + 2 * toolTipOption.boxPadding * opts.pix);
-    context.closePath();
-    context.stroke();
-    context.fill();
-    context.beginPath();
-    context.setFontSize(config.fontSize);
-    context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor);
-    context.fillText(String(labelText), textX, textY + toolTipOption.boxPadding * opts.pix + config.fontSize);
-    context.closePath();
-    context.stroke();
-  }
-}
-
-function drawMarkLine(opts, config, context) {
-  let markLineOption = assign({}, {
-    type: 'solid',
-    dashLength: 4,
-    data: []
-  }, opts.extra.markLine);
-  let startX = opts.area[3];
-  let endX = opts.width - opts.area[1];
-  let points = calMarkLineData(markLineOption.data, opts);
-  for (let i = 0; i < points.length; i++) {
-    let item = assign({}, {
-      lineColor: '#DE4A42',
-      showLabel: false,
-      labelFontSize: 13,
-      labelPadding: 6,
-      labelFontColor: '#666666',
-      labelBgColor: '#DFE8FF',
-      labelBgOpacity: 0.8,
-      labelAlign: 'left',
-      labelOffsetX: 0,
-      labelOffsetY: 0,
-    }, points[i]);
-    if (markLineOption.type == 'dash') {
-      context.setLineDash([markLineOption.dashLength, markLineOption.dashLength]);
-    }
-    context.setStrokeStyle(item.lineColor);
-    context.setLineWidth(1 * opts.pix);
-    context.beginPath();
-    context.moveTo(startX, item.y);
-    context.lineTo(endX, item.y);
-    context.stroke();
-    context.setLineDash([]);
-    if (item.showLabel) {
-      let fontSize = item.labelFontSize * opts.pix;
-      let labelText = item.labelText ? item.labelText : item.value;
-      context.setFontSize(fontSize);
-      let textWidth = measureText(labelText, fontSize, context);
-      let bgWidth = textWidth + item.labelPadding * opts.pix * 2;
-      let bgStartX = item.labelAlign == 'left' ? opts.area[3] - bgWidth : opts.width - opts.area[1];
-      bgStartX += item.labelOffsetX;
-      let bgStartY = item.y - 0.5 * fontSize - item.labelPadding * opts.pix;
-      bgStartY += item.labelOffsetY;
-      let textX = bgStartX + item.labelPadding * opts.pix;
-      let textY = item.y;
-      context.setFillStyle(hexToRgb(item.labelBgColor, item.labelBgOpacity));
-      context.setStrokeStyle(item.labelBgColor);
-      context.setLineWidth(1 * opts.pix);
-      context.beginPath();
-      context.rect(bgStartX, bgStartY, bgWidth, fontSize + 2 * item.labelPadding * opts.pix);
-      context.closePath();
-      context.stroke();
-      context.fill();
-      context.setFontSize(fontSize);
-      context.setTextAlign('left');
-      context.setFillStyle(item.labelFontColor);
-      context.fillText(String(labelText), textX, bgStartY + fontSize + item.labelPadding * opts.pix/2);
-      context.stroke();
-      context.setTextAlign('left');
-    }
-  }
-}
-
-function drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints) {
-  var toolTipOption = assign({}, {
-    gridType: 'solid',
-    dashLength: 4
-  }, opts.extra.tooltip);
-  var startX = opts.area[3];
-  var endX = opts.width - opts.area[1];
-  if (toolTipOption.gridType == 'dash') {
-    context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);
-  }
-  context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');
-  context.setLineWidth(1 * opts.pix);
-  context.beginPath();
-  context.moveTo(startX, opts.tooltip.offset.y);
-  context.lineTo(endX, opts.tooltip.offset.y);
-  context.stroke();
-  context.setLineDash([]);
-  if (toolTipOption.yAxisLabel) {
-    let boxPadding = toolTipOption.boxPadding * opts.pix;
-    let labelText = calTooltipYAxisData(opts.tooltip.offset.y, opts.series, opts, config, eachSpacing);
-    let widthArr = opts.chartData.yAxisData.yAxisWidth;
-    let tStartLeft = opts.area[3];
-    let tStartRight = opts.width - opts.area[1];
-    for (let i = 0; i < labelText.length; i++) {
-      context.setFontSize(toolTipOption.fontSize * opts.pix);
-      let textWidth = measureText(labelText[i], toolTipOption.fontSize * opts.pix, context);
-      let bgStartX, bgEndX, bgWidth;
-      if (widthArr[i].position == 'left') {
-        bgStartX = tStartLeft - (textWidth + boxPadding * 2) - 2 * opts.pix;
-        bgEndX = Math.max(bgStartX, bgStartX + textWidth + boxPadding * 2);
-      } else {
-        bgStartX = tStartRight + 2 * opts.pix;
-        bgEndX = Math.max(bgStartX + widthArr[i].width, bgStartX + textWidth + boxPadding * 2);
-      }
-      bgWidth = bgEndX - bgStartX;
-      let textX = bgStartX + (bgWidth - textWidth) / 2;
-      let textY = opts.tooltip.offset.y;
-      context.beginPath();
-      context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));
-      context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);
-      context.setLineWidth(1 * opts.pix);
-      context.rect(bgStartX, textY - 0.5 * config.fontSize - boxPadding, bgWidth, config.fontSize + 2 * boxPadding);
-      context.closePath();
-      context.stroke();
-      context.fill();
-      context.beginPath();
-      context.setFontSize(config.fontSize);
-      context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor);
-      context.fillText(labelText[i], textX, textY + 0.5 * config.fontSize);
-      context.closePath();
-      context.stroke();
-      if (widthArr[i].position == 'left') {
-        tStartLeft -= (widthArr[i].width + opts.yAxis.padding * opts.pix);
-      } else {
-        tStartRight += widthArr[i].width + opts.yAxis.padding * opts.pix;
-      }
-    }
-  }
-}
-
-function drawToolTipSplitArea(offsetX, opts, config, context, eachSpacing) {
-  var toolTipOption = assign({}, {
-    activeBgColor: '#000000',
-    activeBgOpacity: 0.08,
-    activeWidth: eachSpacing
-  }, opts.extra.column);
-  toolTipOption.activeWidth = toolTipOption.activeWidth > eachSpacing ? eachSpacing : toolTipOption.activeWidth;
-  var startY = opts.area[0];
-  var endY = opts.height - opts.area[2];
-  context.beginPath();
-  context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity));
-  context.rect(offsetX - toolTipOption.activeWidth / 2, startY, toolTipOption.activeWidth, endY - startY);
-  context.closePath();
-  context.fill();
-  context.setFillStyle("#FFFFFF");
-}
-
-function drawBarToolTipSplitArea(offsetX, opts, config, context, eachSpacing) {
-  var toolTipOption = assign({}, {
-    activeBgColor: '#000000',
-    activeBgOpacity: 0.08
-  }, opts.extra.bar);
-  var startX = opts.area[3];
-  var endX = opts.width - opts.area[1];
-  context.beginPath();
-  context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity));
-  context.rect( startX ,offsetX - eachSpacing / 2 ,  endX - startX,eachSpacing);
-  context.closePath();
-  context.fill();
-  context.setFillStyle("#FFFFFF");
-}
-
-
-function drawToolTip(textList, offset, opts, config, context, eachSpacing, xAxisPoints) {
-  var toolTipOption = assign({}, {
-    showBox: true,
-    showArrow: true,
-    showCategory: false,
-    bgColor: '#000000',
-    bgOpacity: 0.7,
-    borderColor: '#000000',
-    borderWidth: 0,
-    borderRadius: 0,
-    borderOpacity: 0.7,
-    boxPadding: 3,
-    fontColor: '#FFFFFF',
-    fontSize: 13,
-    lineHeight: 20,
-    legendShow: true,
-    legendShape: 'auto',
-    splitLine: true,
-  }, opts.extra.tooltip);
-  if(toolTipOption.showCategory==true && opts.categories){
-    textList.unshift({text:opts.categories[opts.tooltip.index],color:null})
-  }
-  var fontSize = toolTipOption.fontSize * opts.pix;
-  var lineHeight = toolTipOption.lineHeight * opts.pix;
-  var boxPadding = toolTipOption.boxPadding * opts.pix;
-  var legendWidth = fontSize;
-  var legendMarginRight = 5 * opts.pix;
-  if(toolTipOption.legendShow == false){
-    legendWidth = 0;
-    legendMarginRight = 0;
-  }
-  var arrowWidth = toolTipOption.showArrow ? 8 * opts.pix : 0;
-  var isOverRightBorder = false;
-  if (opts.type == 'line' || opts.type == 'mount' || opts.type == 'area' || opts.type == 'candle' || opts.type == 'mix') {
-    if (toolTipOption.splitLine == true) {
-      drawToolTipSplitLine(opts.tooltip.offset.x, opts, config, context);
-    }
-  }
-  offset = assign({
-    x: 0,
-    y: 0
-  }, offset);
-  offset.y -= 8 * opts.pix;
-  var textWidth = textList.map(function(item) {
-    return measureText(item.text, fontSize, context);
-  });
-  var toolTipWidth = legendWidth + legendMarginRight + 4 * boxPadding + Math.max.apply(null, textWidth);
-  var toolTipHeight = 2 * boxPadding + textList.length * lineHeight;
-  if (toolTipOption.showBox == false) {
-    return
-  }
-  // if beyond the right border
-  if (offset.x - Math.abs(opts._scrollDistance_ || 0) + arrowWidth + toolTipWidth > opts.width) {
-    isOverRightBorder = true;
-  }
-  if (toolTipHeight + offset.y > opts.height) {
-    offset.y = opts.height - toolTipHeight;
-  }
-  // draw background rect
-  context.beginPath();
-  context.setFillStyle(hexToRgb(toolTipOption.bgColor, toolTipOption.bgOpacity));
-  context.setLineWidth(toolTipOption.borderWidth * opts.pix);
-  context.setStrokeStyle(hexToRgb(toolTipOption.borderColor, toolTipOption.borderOpacity));
-  var radius = toolTipOption.borderRadius;
-  if (isOverRightBorder) {
-    // 澧炲姞宸︿晶浠嶇劧瓒呭嚭鐨勫垽鏂�
-    if(toolTipWidth + arrowWidth > opts.width){
-      offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width)
-    }
-    if(toolTipWidth > offset.x){
-      offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width)
-    }
-    if (toolTipOption.showArrow) {
-      context.moveTo(offset.x, offset.y + 10 * opts.pix);
-      context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix);
-    }
-    context.arc(offset.x - arrowWidth - radius, offset.y + toolTipHeight - radius, radius, 0, Math.PI / 2, false);
-    context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + toolTipHeight - radius, radius,
-      Math.PI / 2, Math.PI, false);
-    context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false);
-    context.arc(offset.x - arrowWidth - radius, offset.y + radius, radius, -Math.PI / 2, 0, false);
-    if (toolTipOption.showArrow) {
-      context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix);
-      context.lineTo(offset.x, offset.y + 10 * opts.pix);
-    }
-  } else {
-    if (toolTipOption.showArrow) {
-      context.moveTo(offset.x, offset.y + 10 * opts.pix);
-      context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix);
-    }
-    context.arc(offset.x + arrowWidth + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false);
-    context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + radius, radius, -Math.PI / 2, 0,
-      false);
-    context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + toolTipHeight - radius, radius, 0,
-      Math.PI / 2, false);
-    context.arc(offset.x + arrowWidth + radius, offset.y + toolTipHeight - radius, radius, Math.PI / 2, Math.PI, false);
-    if (toolTipOption.showArrow) {
-      context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix);
-      context.lineTo(offset.x, offset.y + 10 * opts.pix);
-    }
-  }
-  context.closePath();
-  context.fill();
-  if (toolTipOption.borderWidth > 0) {
-    context.stroke();
-  }
-  // draw legend
-  if(toolTipOption.legendShow){
-    textList.forEach(function(item, index) {
-      if (item.color !== null) {
-        context.beginPath();
-        context.setFillStyle(item.color);
-        var startX = offset.x + arrowWidth + 2 * boxPadding;
-        var startY = offset.y + (lineHeight - fontSize) / 2 + lineHeight * index + boxPadding + 1;
-        if (isOverRightBorder) {
-          startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding;
-        }
-        switch (item.legendShape) {
-          case 'line':
-            context.moveTo(startX, startY + 0.5 * legendWidth - 2 * opts.pix);
-            context.fillRect(startX, startY + 0.5 * legendWidth - 2 * opts.pix, legendWidth, 4 * opts.pix);
-            break;
-          case 'triangle':
-            context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);
-            context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix);
-            context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix);
-            context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);
-            break;
-          case 'diamond':
-            context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);
-            context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * legendWidth);
-            context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth + 5 * opts.pix);
-            context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * legendWidth);
-            context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);
-            break;
-          case 'circle':
-            context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth);
-            context.arc(startX + 7.5 * opts.pix, startY + 0.5 * legendWidth, 5 * opts.pix, 0, 2 * Math.PI);
-            break;
-          case 'rect':
-            context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix);
-            context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);
-            break;
-          case 'square':
-            context.moveTo(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix);
-            context.fillRect(startX + 2 * opts.pix, startY + 0.5 * legendWidth - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix);
-            break;
-          default:
-            context.moveTo(startX, startY + 0.5 * legendWidth - 5 * opts.pix);
-            context.fillRect(startX, startY + 0.5 * legendWidth - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);
-        }
-        context.closePath();
-        context.fill();
-      }
-    });
-  }
-  
-  // draw text list
-  textList.forEach(function(item, index) {
-    var startX = offset.x + arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight;
-    if (isOverRightBorder) {
-      startX = offset.x - toolTipWidth - arrowWidth + 2 * boxPadding + legendWidth + legendMarginRight;
-    }
-    var startY = offset.y + lineHeight * index + (lineHeight - fontSize)/2 - 1 + boxPadding + fontSize;
-    context.beginPath();
-    context.setFontSize(fontSize);
-    context.setTextBaseline('normal');
-    context.setFillStyle(toolTipOption.fontColor);
-    context.fillText(item.text, startX, startY);
-    context.closePath();
-    context.stroke();
-  });
-}
-
-function drawColumnDataPoints(series, opts, config, context) {
-  let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  let xAxisData = opts.chartData.xAxisData,
-    xAxisPoints = xAxisData.xAxisPoints,
-    eachSpacing = xAxisData.eachSpacing;
-  let columnOption = assign({}, {
-    type: 'group',
-    width: eachSpacing / 2,
-    meterBorder: 4,
-    meterFillColor: '#FFFFFF',
-    barBorderCircle: false,
-    barBorderRadius: [],
-    seriesGap: 2,
-    linearType: 'none',
-    linearOpacity: 1,
-    customColor: [],
-    colorStop: 0,
-    labelPosition: 'outside'
-  }, opts.extra.column);
-  let calPoints = [];
-  context.save();
-  let leftNum = -2;
-  let rightNum = xAxisPoints.length + 2;
-  if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
-    context.translate(opts._scrollDistance_, 0);
-    leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;
-    rightNum = leftNum + opts.xAxis.itemCount + 4;
-  }
-  if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {
-    drawToolTipSplitArea(opts.tooltip.offset.x, opts, config, context, eachSpacing);
-  }
-  columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);
-  series.forEach(function(eachSeries, seriesIndex) {
-    let ranges, minRange, maxRange;
-    ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
-    minRange = ranges.pop();
-    maxRange = ranges.shift();
-    
-    // 璁$畻0杞村潗鏍�
-    let spacingValid = opts.height - opts.area[0] - opts.area[2];
-    let zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange);
-    let zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2];
-    eachSeries.zeroPoints = zeroPoints;
-    var data = eachSeries.data;
-    switch (columnOption.type) {
-      case 'group':
-        var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, zeroPoints, process);
-        var tooltipPoints = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);
-        calPoints.push(tooltipPoints);
-        points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);
-        for (let i = 0; i < points.length; i++) {
-          let item = points[i];
-          //fix issues/I27B1N yyoinge & Joeshu
-          if (item !== null && i > leftNum && i < rightNum) {
-            var startX = item.x - item.width / 2;
-            var height = opts.height - item.y - opts.area[2];
-            context.beginPath();
-            var fillColor = item.color || eachSeries.color
-            var strokeColor = item.color || eachSeries.color
-            if (columnOption.linearType !== 'none') {
-              var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);
-              //閫忔槑娓愬彉
-              if (columnOption.linearType == 'opacity') {
-                grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));
-                grd.addColorStop(1, hexToRgb(fillColor, 1));
-              } else {
-                grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));
-                grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity));
-                grd.addColorStop(1, hexToRgb(fillColor, 1));
-              }
-              fillColor = grd
-            }
-            // 鍦嗚杈规
-            if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {
-              const left = startX;
-              const top = item.y > zeroPoints ? zeroPoints : item.y;
-              const width = item.width;
-              const height = Math.abs(zeroPoints - item.y);
-              if (columnOption.barBorderCircle) {
-                columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];
-              }
-              if(item.y > zeroPoints){
-                columnOption.barBorderRadius = [0, 0,width / 2, width / 2];
-              }
-              let [r0, r1, r2, r3] = columnOption.barBorderRadius;
-              let minRadius = Math.min(width/2,height/2);
-              r0 = r0 > minRadius ? minRadius : r0;
-              r1 = r1 > minRadius ? minRadius : r1;
-              r2 = r2 > minRadius ? minRadius : r2;
-              r3 = r3 > minRadius ? minRadius : r3;
-              r0 = r0 < 0 ? 0 : r0;
-              r1 = r1 < 0 ? 0 : r1;
-              r2 = r2 < 0 ? 0 : r2;
-              r3 = r3 < 0 ? 0 : r3;
-              context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);
-              context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);
-              context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);
-              context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);
-            } else {
-              context.moveTo(startX, item.y);
-              context.lineTo(startX + item.width, item.y);
-              context.lineTo(startX + item.width, zeroPoints);
-              context.lineTo(startX, zeroPoints);
-              context.lineTo(startX, item.y);
-              context.setLineWidth(1)
-              context.setStrokeStyle(strokeColor);
-            }
-            context.setFillStyle(fillColor);
-            context.closePath();
-            //context.stroke();
-            context.fill();
-          }
-        };
-        break;
-      case 'stack':
-        // 缁樺埗鍫嗗彔鏁版嵁鍥�
-        var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);
-        calPoints.push(points);
-        points = fixColumeStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series);
-        for (let i = 0; i < points.length; i++) {
-          let item = points[i];
-          if (item !== null && i > leftNum && i < rightNum) {
-            context.beginPath();
-            var fillColor = item.color || eachSeries.color;
-            var startX = item.x - item.width / 2 + 1;
-            var height = opts.height - item.y - opts.area[2];
-            var height0 = opts.height - item.y0 - opts.area[2];
-            if (seriesIndex > 0) {
-              height -= height0;
-            }
-            context.setFillStyle(fillColor);
-            context.moveTo(startX, item.y);
-            context.fillRect(startX, item.y, item.width, height);
-            context.closePath();
-            context.fill();
-          }
-        };
-        break;
-      case 'meter':
-        // 缁樺埗娓╁害璁℃暟鎹浘
-        var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
-        calPoints.push(points);
-        points = fixColumeMeterData(points, eachSpacing, series.length, seriesIndex, config, opts, columnOption.meterBorder);
-          for (let i = 0; i < points.length; i++) {
-            let item = points[i];
-            if (item !== null && i > leftNum && i < rightNum) {
-              //鐢昏儗鏅鑹�
-              context.beginPath();
-              if (seriesIndex == 0 && columnOption.meterBorder > 0) {
-                context.setStrokeStyle(eachSeries.color);
-                context.setLineWidth(columnOption.meterBorder * opts.pix);
-              }
-              if(seriesIndex == 0){
-                context.setFillStyle(columnOption.meterFillColor);
-              }else{
-                context.setFillStyle(item.color || eachSeries.color);
-              }
-              var startX = item.x - item.width / 2;
-              var height = opts.height - item.y - opts.area[2];
-              if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {
-                const left = startX;
-                const top = item.y;
-                const width = item.width;
-                const height = zeroPoints - item.y;
-                if (columnOption.barBorderCircle) {
-                  columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];
-                }
-                let [r0, r1, r2, r3] = columnOption.barBorderRadius;
-                let minRadius = Math.min(width/2,height/2);
-                r0 = r0 > minRadius ? minRadius : r0;
-                r1 = r1 > minRadius ? minRadius : r1;
-                r2 = r2 > minRadius ? minRadius : r2;
-                r3 = r3 > minRadius ? minRadius : r3;
-                r0 = r0 < 0 ? 0 : r0;
-                r1 = r1 < 0 ? 0 : r1;
-                r2 = r2 < 0 ? 0 : r2;
-                r3 = r3 < 0 ? 0 : r3;
-                context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);
-                context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);
-                context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);
-                context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);
-                context.fill();
-              }else{
-                context.moveTo(startX, item.y);
-                context.lineTo(startX + item.width, item.y);
-                context.lineTo(startX + item.width, zeroPoints);
-                context.lineTo(startX, zeroPoints);
-                context.lineTo(startX, item.y);
-                context.fill();
-              }
-              if (seriesIndex == 0 && columnOption.meterBorder > 0) {
-                context.closePath();
-                context.stroke();
-              }
-            }
-          }
-        break;
-    }
-  });
-
-  if (opts.dataLabel !== false && process === 1) {
-    series.forEach(function(eachSeries, seriesIndex) {
-      let ranges, minRange, maxRange;
-      ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
-      minRange = ranges.pop();
-      maxRange = ranges.shift();
-      var data = eachSeries.data;
-      switch (columnOption.type) {
-        case 'group':
-          var points = getColumnDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
-          points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);
-          drawColumePointText(points, eachSeries, config, context, opts);
-          break;
-        case 'stack':
-          var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);
-          drawColumePointText(points, eachSeries, config, context, opts);
-          break;
-        case 'meter':
-          var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
-          drawColumePointText(points, eachSeries, config, context, opts);
-          break;
-      }
-    });
-  }
-  context.restore();
-  return {
-    xAxisPoints: xAxisPoints,
-    calPoints: calPoints,
-    eachSpacing: eachSpacing
-  };
-}
-
-function drawMountDataPoints(series, opts, config, context) {
-  let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  let xAxisData = opts.chartData.xAxisData,
-    xAxisPoints = xAxisData.xAxisPoints,
-    eachSpacing = xAxisData.eachSpacing;
-  let mountOption = assign({}, {
-    type: 'mount',
-    widthRatio: 1,
-    borderWidth: 1,
-    barBorderCircle: false,
-    barBorderRadius: [],
-    linearType: 'none',
-    linearOpacity: 1,
-    customColor: [],
-    colorStop: 0,
-  }, opts.extra.mount);
-  mountOption.widthRatio = mountOption.widthRatio <= 0 ? 0 : mountOption.widthRatio;
-  mountOption.widthRatio = mountOption.widthRatio >= 2 ? 2 : mountOption.widthRatio;
-  let calPoints = [];
-  context.save();
-  let leftNum = -2;
-  let rightNum = xAxisPoints.length + 2;
-  if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
-    context.translate(opts._scrollDistance_, 0);
-    leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;
-    rightNum = leftNum + opts.xAxis.itemCount + 4;
-  }
-  mountOption.customColor = fillCustomColor(mountOption.linearType, mountOption.customColor, series, config);
-    let ranges, minRange, maxRange;
-    ranges = [].concat(opts.chartData.yAxisData.ranges[0]);
-    minRange = ranges.pop();
-    maxRange = ranges.shift();
-    
-    // 璁$畻0杞村潗鏍�
-    let spacingValid = opts.height - opts.area[0] - opts.area[2];
-    let zeroHeight = spacingValid * (0 - minRange) / (maxRange - minRange);
-    let zeroPoints = opts.height - Math.round(zeroHeight) - opts.area[2];
-    
-    var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process);
-    switch (mountOption.type) {
-      case 'bar':
-        for (let i = 0; i < points.length; i++) {
-          let item = points[i];
-          if (item !== null && i > leftNum && i < rightNum) {
-            var startX = item.x - eachSpacing*mountOption.widthRatio/2;
-            var height = opts.height - item.y - opts.area[2];
-            context.beginPath();
-            var fillColor = item.color || series[i].color
-            var strokeColor = item.color || series[i].color
-            if (mountOption.linearType !== 'none') {
-              var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);
-              //閫忔槑娓愬彉
-              if (mountOption.linearType == 'opacity') {
-                grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));
-                grd.addColorStop(1, hexToRgb(fillColor, 1));
-              } else {
-                grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));
-                grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));
-                grd.addColorStop(1, hexToRgb(fillColor, 1));
-              }
-              fillColor = grd
-            }
-            // 鍦嗚杈规
-            if ((mountOption.barBorderRadius && mountOption.barBorderRadius.length === 4) || mountOption.barBorderCircle === true) {
-              const left = startX;
-              const top = item.y > zeroPoints ? zeroPoints : item.y;
-              const width = item.width;
-              const height = Math.abs(zeroPoints - item.y);
-              if (mountOption.barBorderCircle) {
-                mountOption.barBorderRadius = [width / 2, width / 2, 0, 0];
-              }
-              if(item.y > zeroPoints){
-                mountOption.barBorderRadius = [0, 0,width / 2, width / 2];
-              }
-              let [r0, r1, r2, r3] = mountOption.barBorderRadius;
-              let minRadius = Math.min(width/2,height/2);
-              r0 = r0 > minRadius ? minRadius : r0;
-              r1 = r1 > minRadius ? minRadius : r1;
-              r2 = r2 > minRadius ? minRadius : r2;
-              r3 = r3 > minRadius ? minRadius : r3;
-              r0 = r0 < 0 ? 0 : r0;
-              r1 = r1 < 0 ? 0 : r1;
-              r2 = r2 < 0 ? 0 : r2;
-              r3 = r3 < 0 ? 0 : r3;
-              context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);
-              context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);
-              context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);
-              context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);
-            } else {
-              context.moveTo(startX, item.y);
-              context.lineTo(startX + item.width, item.y);
-              context.lineTo(startX + item.width, zeroPoints);
-              context.lineTo(startX, zeroPoints);
-              context.lineTo(startX, item.y);
-            }
-            context.setStrokeStyle(strokeColor);
-            context.setFillStyle(fillColor);
-            if(mountOption.borderWidth > 0){
-              context.setLineWidth(mountOption.borderWidth * opts.pix);
-              context.closePath();
-              context.stroke();
-            }
-            context.fill();
-          }
-        };
-        break;
-      case 'triangle':
-        for (let i = 0; i < points.length; i++) {
-          let item = points[i];
-          if (item !== null && i > leftNum && i < rightNum) {
-            var startX = item.x - eachSpacing*mountOption.widthRatio/2;
-            var height = opts.height - item.y - opts.area[2];
-            context.beginPath();
-            var fillColor = item.color || series[i].color
-            var strokeColor = item.color || series[i].color
-            if (mountOption.linearType !== 'none') {
-              var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);
-              //閫忔槑娓愬彉
-              if (mountOption.linearType == 'opacity') {
-                grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));
-                grd.addColorStop(1, hexToRgb(fillColor, 1));
-              } else {
-                grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));
-                grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));
-                grd.addColorStop(1, hexToRgb(fillColor, 1));
-              }
-              fillColor = grd
-            }
-            context.moveTo(startX, zeroPoints);
-            context.lineTo(item.x, item.y);
-            context.lineTo(startX + item.width, zeroPoints);
-            context.setStrokeStyle(strokeColor);
-            context.setFillStyle(fillColor);
-            if(mountOption.borderWidth > 0){
-              context.setLineWidth(mountOption.borderWidth * opts.pix);
-              context.stroke();
-            }
-            context.fill();
-          }
-        };
-        break;
-      case 'mount':
-        for (let i = 0; i < points.length; i++) {
-          let item = points[i];
-          if (item !== null && i > leftNum && i < rightNum) {
-            var startX = item.x - eachSpacing*mountOption.widthRatio/2;
-            var height = opts.height - item.y - opts.area[2];
-            context.beginPath();
-            var fillColor = item.color || series[i].color
-            var strokeColor = item.color || series[i].color
-            if (mountOption.linearType !== 'none') {
-              var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);
-              //閫忔槑娓愬彉
-              if (mountOption.linearType == 'opacity') {
-                grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));
-                grd.addColorStop(1, hexToRgb(fillColor, 1));
-              } else {
-                grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));
-                grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));
-                grd.addColorStop(1, hexToRgb(fillColor, 1));
-              }
-              fillColor = grd
-            }
-            context.moveTo(startX, zeroPoints);
-            context.bezierCurveTo(item.x - item.width/4, zeroPoints, item.x - item.width/4, item.y, item.x, item.y);
-            context.bezierCurveTo(item.x + item.width/4, item.y, item.x + item.width/4, zeroPoints, startX + item.width, zeroPoints);
-            context.setStrokeStyle(strokeColor);
-            context.setFillStyle(fillColor);
-            if(mountOption.borderWidth > 0){
-              context.setLineWidth(mountOption.borderWidth * opts.pix);
-              context.stroke();
-            }
-            context.fill();
-          }
-        };
-        break;
-      case 'sharp':
-        for (let i = 0; i < points.length; i++) {
-          let item = points[i];
-          if (item !== null && i > leftNum && i < rightNum) {
-            var startX = item.x - eachSpacing*mountOption.widthRatio/2;
-            var height = opts.height - item.y - opts.area[2];
-            context.beginPath();
-            var fillColor = item.color || series[i].color
-            var strokeColor = item.color || series[i].color
-            if (mountOption.linearType !== 'none') {
-              var grd = context.createLinearGradient(startX, item.y, startX, zeroPoints);
-              //閫忔槑娓愬彉
-              if (mountOption.linearType == 'opacity') {
-                grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));
-                grd.addColorStop(1, hexToRgb(fillColor, 1));
-              } else {
-                grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));
-                grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));
-                grd.addColorStop(1, hexToRgb(fillColor, 1));
-              }
-              fillColor = grd
-            }
-            context.moveTo(startX, zeroPoints);
-            context.quadraticCurveTo(item.x - 0, zeroPoints - height/4, item.x, item.y);
-            context.quadraticCurveTo(item.x + 0, zeroPoints - height/4, startX + item.width, zeroPoints)
-            context.setStrokeStyle(strokeColor);
-            context.setFillStyle(fillColor);
-            if(mountOption.borderWidth > 0){
-              context.setLineWidth(mountOption.borderWidth * opts.pix);
-              context.stroke();
-            }
-            context.fill();
-          }
-        };
-        break;
-    }
-
-  if (opts.dataLabel !== false && process === 1) {
-    let ranges, minRange, maxRange;
-    ranges = [].concat(opts.chartData.yAxisData.ranges[0]);
-    minRange = ranges.pop();
-    maxRange = ranges.shift();
-    var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, zeroPoints, process);
-    drawMountPointText(points, series, config, context, opts, zeroPoints);
-  }
-  context.restore();
-  return {
-    xAxisPoints: xAxisPoints,
-    calPoints: points,
-    eachSpacing: eachSpacing
-  };
-}
-
-function drawBarDataPoints(series, opts, config, context) {
-  let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  let yAxisPoints = [];
-  let eachSpacing = (opts.height - opts.area[0] - opts.area[2])/opts.categories.length;
-  for (let i = 0; i < opts.categories.length; i++) {
-    yAxisPoints.push(opts.area[0] + eachSpacing / 2 + eachSpacing * i);
-  }
-  let columnOption = assign({}, {
-    type: 'group',
-    width: eachSpacing / 2,
-    meterBorder: 4,
-    meterFillColor: '#FFFFFF',
-    barBorderCircle: false,
-    barBorderRadius: [],
-    seriesGap: 2,
-    linearType: 'none',
-    linearOpacity: 1,
-    customColor: [],
-    colorStop: 0,
-  }, opts.extra.bar);
-  let calPoints = [];
-  context.save();
-  let leftNum = -2;
-  let rightNum = yAxisPoints.length + 2;
-  if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {
-    drawBarToolTipSplitArea(opts.tooltip.offset.y, opts, config, context, eachSpacing);
-  }
-  columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);
-  series.forEach(function(eachSeries, seriesIndex) {
-    let ranges, minRange, maxRange;
-    ranges = [].concat(opts.chartData.xAxisData.ranges);
-    maxRange = ranges.pop();
-    minRange = ranges.shift();
-    var data = eachSeries.data;
-    switch (columnOption.type) {
-      case 'group':
-        var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process);
-        var tooltipPoints = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);
-        calPoints.push(tooltipPoints);
-        points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts);
-        for (let i = 0; i < points.length; i++) {
-          let item = points[i];
-          //fix issues/I27B1N yyoinge & Joeshu
-          if (item !== null && i > leftNum && i < rightNum) {
-            //var startX = item.x - item.width / 2;
-            var startX = opts.area[3];
-            var startY = item.y - item.width / 2;
-            var height = item.height;
-            context.beginPath();
-            var fillColor = item.color || eachSeries.color
-            var strokeColor = item.color || eachSeries.color
-            if (columnOption.linearType !== 'none') {
-              var grd = context.createLinearGradient(startX, item.y, item.x, item.y);
-              //閫忔槑娓愬彉
-              if (columnOption.linearType == 'opacity') {
-                grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));
-                grd.addColorStop(1, hexToRgb(fillColor, 1));
-              } else {
-                grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));
-                grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity));
-                grd.addColorStop(1, hexToRgb(fillColor, 1));
-              }
-              fillColor = grd
-            }
-            // 鍦嗚杈规
-            if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {
-              const left = startX;
-              const width = item.width;
-              const top = item.y - item.width / 2;
-              const height = item.height;
-              if (columnOption.barBorderCircle) {
-                columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];
-              }
-              let [r0, r1, r2, r3] = columnOption.barBorderRadius;
-              let minRadius = Math.min(width/2,height/2);
-              r0 = r0 > minRadius ? minRadius : r0;
-              r1 = r1 > minRadius ? minRadius : r1;
-              r2 = r2 > minRadius ? minRadius : r2;
-              r3 = r3 > minRadius ? minRadius : r3;
-              r0 = r0 < 0 ? 0 : r0;
-              r1 = r1 < 0 ? 0 : r1;
-              r2 = r2 < 0 ? 0 : r2;
-              r3 = r3 < 0 ? 0 : r3;
-              
-              context.arc(left + r3, top + r3, r3, -Math.PI, -Math.PI / 2);
-              context.arc(item.x - r0, top + r0, r0, -Math.PI / 2, 0);
-              context.arc(item.x - r1, top + width - r1, r1, 0, Math.PI / 2);
-              context.arc(left + r2, top + width - r2, r2, Math.PI / 2, Math.PI);
-            } else {
-              context.moveTo(startX, startY);
-              context.lineTo(item.x, startY);
-              context.lineTo(item.x, startY + item.width);
-              context.lineTo(startX, startY + item.width);
-              context.lineTo(startX, startY);
-              context.setLineWidth(1)
-              context.setStrokeStyle(strokeColor);
-            }
-            context.setFillStyle(fillColor);
-            context.closePath();
-            //context.stroke();
-            context.fill();
-          }
-        };
-        break;
-      case 'stack':
-        // 缁樺埗鍫嗗彔鏁版嵁鍥�
-        var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);
-        calPoints.push(points);
-        points = fixBarStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series);
-        for (let i = 0; i < points.length; i++) {
-          let item = points[i];
-          if (item !== null && i > leftNum && i < rightNum) {
-            context.beginPath();
-            var fillColor = item.color || eachSeries.color;
-            var startX = item.x0;
-            context.setFillStyle(fillColor);
-            context.moveTo(startX, item.y - item.width/2);
-            context.fillRect(startX, item.y - item.width/2, item.height , item.width);
-            context.closePath();
-            context.fill();
-          }
-        };
-        break;
-    }
-  });
-
-  if (opts.dataLabel !== false && process === 1) {
-    series.forEach(function(eachSeries, seriesIndex) {
-      let ranges, minRange, maxRange;
-      ranges = [].concat(opts.chartData.xAxisData.ranges);
-      maxRange = ranges.pop();
-      minRange = ranges.shift();
-      var data = eachSeries.data;
-      switch (columnOption.type) {
-        case 'group':
-          var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process);
-          points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts);
-          drawBarPointText(points, eachSeries, config, context, opts);
-          break;
-        case 'stack':
-          var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);
-          drawBarPointText(points, eachSeries, config, context, opts);
-          break;
-      }
-    });
-  }
-  return {
-    yAxisPoints: yAxisPoints,
-    calPoints: calPoints,
-    eachSpacing: eachSpacing
-  };
-}
-
-function drawCandleDataPoints(series, seriesMA, opts, config, context) {
-  var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;
-  var candleOption = assign({}, {
-    color: {},
-    average: {}
-  }, opts.extra.candle);
-  candleOption.color = assign({}, {
-    upLine: '#f04864',
-    upFill: '#f04864',
-    downLine: '#2fc25b',
-    downFill: '#2fc25b'
-  }, candleOption.color);
-  candleOption.average = assign({}, {
-    show: false,
-    name: [],
-    day: [],
-    color: config.color
-  }, candleOption.average);
-  opts.extra.candle = candleOption;
-  let xAxisData = opts.chartData.xAxisData,
-    xAxisPoints = xAxisData.xAxisPoints,
-    eachSpacing = xAxisData.eachSpacing;
-  let calPoints = [];
-  context.save();
-  let leftNum = -2;
-  let rightNum = xAxisPoints.length + 2;
-  let leftSpace = 0;
-  let rightSpace = opts.width + eachSpacing;
-  if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
-    context.translate(opts._scrollDistance_, 0);
-    leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;
-    rightNum = leftNum + opts.xAxis.itemCount + 4;
-    leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];
-    rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;
-  }
-  //鐢诲潎绾�
-  if (candleOption.average.show || seriesMA) { //Merge pull request !12 from 閭辫吹缈�
-    seriesMA.forEach(function(eachSeries, seriesIndex) {
-      let ranges, minRange, maxRange;
-      ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
-      minRange = ranges.pop();
-      maxRange = ranges.shift();
-      var data = eachSeries.data;
-      var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
-      var splitPointList = splitPoints(points,eachSeries);
-      for (let i = 0; i < splitPointList.length; i++) {
-        let points = splitPointList[i];
-        context.beginPath();
-        context.setStrokeStyle(eachSeries.color);
-        context.setLineWidth(1);
-        if (points.length === 1) {
-          context.moveTo(points[0].x, points[0].y);
-          context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);
-        } else {
-          context.moveTo(points[0].x, points[0].y);
-          let startPoint = 0;
-          for (let j = 0; j < points.length; j++) {
-            let item = points[j];
-            if (startPoint == 0 && item.x > leftSpace) {
-              context.moveTo(item.x, item.y);
-              startPoint = 1;
-            }
-            if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-              var ctrlPoint = createCurveControlPoints(points, j - 1);
-              context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x,
-                item.y);
-            }
-          }
-          context.moveTo(points[0].x, points[0].y);
-        }
-        context.closePath();
-        context.stroke();
-      }
-    });
-  }
-  //鐢籏绾�
-  series.forEach(function(eachSeries, seriesIndex) {
-    let ranges, minRange, maxRange;
-    ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
-    minRange = ranges.pop();
-    maxRange = ranges.shift();
-    var data = eachSeries.data;
-    var points = getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
-    calPoints.push(points);
-    var splitPointList = splitPoints(points,eachSeries);
-    for (let i = 0; i < splitPointList[0].length; i++) {
-      if (i > leftNum && i < rightNum) {
-        let item = splitPointList[0][i];
-        context.beginPath();
-        //濡傛灉涓婃定
-        if (data[i][1] - data[i][0] > 0) {
-          context.setStrokeStyle(candleOption.color.upLine);
-          context.setFillStyle(candleOption.color.upFill);
-          context.setLineWidth(1 * opts.pix);
-          context.moveTo(item[3].x, item[3].y); //椤剁偣
-          context.lineTo(item[1].x, item[1].y); //鏀剁洏涓棿鐐�
-          context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //鏀剁洏宸︿晶鐐�
-          context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //寮�鐩樺乏渚х偣
-          context.lineTo(item[0].x, item[0].y); //寮�鐩樹腑闂寸偣
-          context.lineTo(item[2].x, item[2].y); //搴曠偣
-          context.lineTo(item[0].x, item[0].y); //寮�鐩樹腑闂寸偣
-          context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //寮�鐩樺彸渚х偣
-          context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //鏀剁洏鍙充晶鐐�
-          context.lineTo(item[1].x, item[1].y); //鏀剁洏涓棿鐐�
-          context.moveTo(item[3].x, item[3].y); //椤剁偣
-        } else {
-          context.setStrokeStyle(candleOption.color.downLine);
-          context.setFillStyle(candleOption.color.downFill);
-          context.setLineWidth(1 * opts.pix);
-          context.moveTo(item[3].x, item[3].y); //椤剁偣
-          context.lineTo(item[0].x, item[0].y); //寮�鐩樹腑闂寸偣
-          context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //寮�鐩樺乏渚х偣
-          context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //鏀剁洏宸︿晶鐐�
-          context.lineTo(item[1].x, item[1].y); //鏀剁洏涓棿鐐�
-          context.lineTo(item[2].x, item[2].y); //搴曠偣
-          context.lineTo(item[1].x, item[1].y); //鏀剁洏涓棿鐐�
-          context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //鏀剁洏鍙充晶鐐�
-          context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //寮�鐩樺彸渚х偣
-          context.lineTo(item[0].x, item[0].y); //寮�鐩樹腑闂寸偣
-          context.moveTo(item[3].x, item[3].y); //椤剁偣
-        }
-        context.closePath();
-        context.fill();
-        context.stroke();
-      }
-    }
-  });
-  context.restore();
-  return {
-    xAxisPoints: xAxisPoints,
-    calPoints: calPoints,
-    eachSpacing: eachSpacing
-  };
-}
-
-function drawAreaDataPoints(series, opts, config, context) {
-  var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  var areaOption = assign({}, {
-    type: 'straight',
-    opacity: 0.2,
-    addLine: false,
-    width: 2,
-    gradient: false,
-    activeType: 'none'
-  }, opts.extra.area);
-  let xAxisData = opts.chartData.xAxisData,
-    xAxisPoints = xAxisData.xAxisPoints,
-    eachSpacing = xAxisData.eachSpacing;
-  let endY = opts.height - opts.area[2];
-  let calPoints = [];
-  context.save();
-  let leftSpace = 0;
-  let rightSpace = opts.width + eachSpacing;
-  if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
-    context.translate(opts._scrollDistance_, 0);
-    leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];
-    rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;
-  }
-  series.forEach(function(eachSeries, seriesIndex) {
-    let ranges, minRange, maxRange;
-    ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
-    minRange = ranges.pop();
-    maxRange = ranges.shift();
-    let data = eachSeries.data;
-    let points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
-    calPoints.push(points);
-    let splitPointList = splitPoints(points,eachSeries);
-    for (let i = 0; i < splitPointList.length; i++) {
-      let points = splitPointList[i];
-      // 缁樺埗鍖哄煙鏁�
-      context.beginPath();
-      context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity));
-      if (areaOption.gradient) {
-        let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]);
-        gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity));
-        gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1));
-        context.setFillStyle(gradient);
-      } else {
-        context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity));
-      }
-      context.setLineWidth(areaOption.width * opts.pix);
-      if (points.length > 1) {
-        let firstPoint = points[0];
-        let lastPoint = points[points.length - 1];
-        context.moveTo(firstPoint.x, firstPoint.y);
-        let startPoint = 0;
-        if (areaOption.type === 'curve') {
-          for (let j = 0; j < points.length; j++) {
-            let item = points[j];
-            if (startPoint == 0 && item.x > leftSpace) {
-              context.moveTo(item.x, item.y);
-              startPoint = 1;
-            }
-            if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-              let ctrlPoint = createCurveControlPoints(points, j - 1);
-              context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);
-            }
-          };
-        } 
-        if (areaOption.type === 'straight') {
-          for (let j = 0; j < points.length; j++) {
-            let item = points[j];
-            if (startPoint == 0 && item.x > leftSpace) {
-              context.moveTo(item.x, item.y);
-              startPoint = 1;
-            }
-            if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-              context.lineTo(item.x, item.y);
-            }
-          };
-        }
-        if (areaOption.type === 'step') {
-          for (let j = 0; j < points.length; j++) {
-            let item = points[j];
-            if (startPoint == 0 && item.x > leftSpace) {
-              context.moveTo(item.x, item.y);
-              startPoint = 1;
-            }
-            if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-              context.lineTo(item.x, points[j - 1].y);
-              context.lineTo(item.x, item.y);
-            }
-          };
-        }
-        context.lineTo(lastPoint.x, endY);
-        context.lineTo(firstPoint.x, endY);
-        context.lineTo(firstPoint.x, firstPoint.y);
-      } else {
-        let item = points[0];
-        context.moveTo(item.x - eachSpacing / 2, item.y);
-        // context.lineTo(item.x + eachSpacing / 2, item.y);
-        // context.lineTo(item.x + eachSpacing / 2, endY);
-        // context.lineTo(item.x - eachSpacing / 2, endY);
-        // context.moveTo(item.x - eachSpacing / 2, item.y);
-      }
-      context.closePath();
-      context.fill();
-      //鐢昏繛绾�
-      if (areaOption.addLine) {
-        if (eachSeries.lineType == 'dash') {
-          let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;
-          dashLength *= opts.pix;
-          context.setLineDash([dashLength, dashLength]);
-        }
-        context.beginPath();
-        context.setStrokeStyle(eachSeries.color);
-        context.setLineWidth(areaOption.width * opts.pix);
-        if (points.length === 1) {
-          context.moveTo(points[0].x, points[0].y);
-          // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);
-        } else {
-          context.moveTo(points[0].x, points[0].y);
-          let startPoint = 0;
-          if (areaOption.type === 'curve') {
-            for (let j = 0; j < points.length; j++) {
-              let item = points[j];
-              if (startPoint == 0 && item.x > leftSpace) {
-                context.moveTo(item.x, item.y);
-                startPoint = 1;
-              }
-              if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-                let ctrlPoint = createCurveControlPoints(points, j - 1);
-                context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);
-              }
-            };
-          }
-          if (areaOption.type === 'straight') {
-            for (let j = 0; j < points.length; j++) {
-              let item = points[j];
-              if (startPoint == 0 && item.x > leftSpace) {
-                context.moveTo(item.x, item.y);
-                startPoint = 1;
-              }
-              if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-                context.lineTo(item.x, item.y);
-              }
-            };
-          }
-          if (areaOption.type === 'step') {
-            for (let j = 0; j < points.length; j++) {
-              let item = points[j];
-              if (startPoint == 0 && item.x > leftSpace) {
-                context.moveTo(item.x, item.y);
-                startPoint = 1;
-              }
-              if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-                context.lineTo(item.x, points[j - 1].y);
-                context.lineTo(item.x, item.y);
-              }
-            };
-          }
-          context.moveTo(points[0].x, points[0].y);
-        }
-        context.stroke();
-        context.setLineDash([]);
-      }
-    }
-    //鐢荤偣
-    if (opts.dataPointShape !== false) {
-      drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);
-    }
-    drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, areaOption,seriesIndex);
-  });
-
-  if (opts.dataLabel !== false && process === 1) {
-    series.forEach(function(eachSeries, seriesIndex) {
-      let ranges, minRange, maxRange;
-      ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
-      minRange = ranges.pop();
-      maxRange = ranges.shift();
-      var data = eachSeries.data;
-      var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
-      drawPointText(points, eachSeries, config, context, opts);
-    });
-  }
-  context.restore();
-  return {
-    xAxisPoints: xAxisPoints,
-    calPoints: calPoints,
-    eachSpacing: eachSpacing
-  };
-}
-
-function drawScatterDataPoints(series, opts, config, context) {
-  var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  var scatterOption = assign({}, {
-    type: 'circle'
-  }, opts.extra.scatter);
-  let xAxisData = opts.chartData.xAxisData,
-    xAxisPoints = xAxisData.xAxisPoints,
-    eachSpacing = xAxisData.eachSpacing;
-  var calPoints = [];
-  context.save();
-  let leftSpace = 0;
-  let rightSpace = opts.width + eachSpacing;
-  if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
-    context.translate(opts._scrollDistance_, 0);
-    leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];
-    rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;
-  }
-  series.forEach(function(eachSeries, seriesIndex) {
-    let ranges, minRange, maxRange;
-    ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
-    minRange = ranges.pop();
-    maxRange = ranges.shift();
-    var data = eachSeries.data;
-    var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
-    context.beginPath();
-    context.setStrokeStyle(eachSeries.color);
-    context.setFillStyle(eachSeries.color);
-    context.setLineWidth(1 * opts.pix);
-    var shape = eachSeries.pointShape;
-    if (shape === 'diamond') {
-      points.forEach(function(item, index) {
-        if (item !== null) {
-          context.moveTo(item.x, item.y - 4.5);
-          context.lineTo(item.x - 4.5, item.y);
-          context.lineTo(item.x, item.y + 4.5);
-          context.lineTo(item.x + 4.5, item.y);
-          context.lineTo(item.x, item.y - 4.5);
-        }
-      });
-    } else if (shape === 'circle') {
-      points.forEach(function(item, index) {
-        if (item !== null) {
-          context.moveTo(item.x + 2.5 * opts.pix, item.y);
-          context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);
-        }
-      });
-    } else if (shape === 'square') {
-      points.forEach(function(item, index) {
-        if (item !== null) {
-          context.moveTo(item.x - 3.5, item.y - 3.5);
-          context.rect(item.x - 3.5, item.y - 3.5, 7, 7);
-        }
-      });
-    } else if (shape === 'triangle') {
-      points.forEach(function(item, index) {
-        if (item !== null) {
-          context.moveTo(item.x, item.y - 4.5);
-          context.lineTo(item.x - 4.5, item.y + 4.5);
-          context.lineTo(item.x + 4.5, item.y + 4.5);
-          context.lineTo(item.x, item.y - 4.5);
-        }
-      });
-    } else if (shape === 'triangle') {
-      return;
-    }
-    context.closePath();
-    context.fill();
-    context.stroke();
-  });
-  if (opts.dataLabel !== false && process === 1) {
-    series.forEach(function(eachSeries, seriesIndex) {
-      let ranges, minRange, maxRange;
-      ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
-      minRange = ranges.pop();
-      maxRange = ranges.shift();
-      var data = eachSeries.data;
-      var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
-      drawPointText(points, eachSeries, config, context, opts);
-    });
-  }
-  context.restore();
-  return {
-    xAxisPoints: xAxisPoints,
-    calPoints: calPoints,
-    eachSpacing: eachSpacing
-  };
-}
-
-function drawBubbleDataPoints(series, opts, config, context) {
-  var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  var bubbleOption = assign({}, {
-    opacity: 1,
-    border:2
-  }, opts.extra.bubble);
-  let xAxisData = opts.chartData.xAxisData,
-    xAxisPoints = xAxisData.xAxisPoints,
-    eachSpacing = xAxisData.eachSpacing;
-  var calPoints = [];
-  context.save();
-  let leftSpace = 0;
-  let rightSpace = opts.width + eachSpacing;
-  if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
-    context.translate(opts._scrollDistance_, 0);
-    leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];
-    rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;
-  }
-  series.forEach(function(eachSeries, seriesIndex) {
-    let ranges, minRange, maxRange;
-    ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
-    minRange = ranges.pop();
-    maxRange = ranges.shift();
-    var data = eachSeries.data;
-    var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
-    context.beginPath();
-    context.setStrokeStyle(eachSeries.color);
-    context.setLineWidth(bubbleOption.border * opts.pix);
-    context.setFillStyle(hexToRgb(eachSeries.color, bubbleOption.opacity));
-    points.forEach(function(item, index) {
-      context.moveTo(item.x + item.r, item.y);
-      context.arc(item.x, item.y, item.r * opts.pix, 0, 2 * Math.PI, false);
-    });
-    context.closePath();
-    context.fill();
-    context.stroke();
-    
-    if (opts.dataLabel !== false && process === 1) {
-      points.forEach(function(item, index) {
-        context.beginPath();
-        var fontSize = eachSeries.textSize * opts.pix || config.fontSize;
-        context.setFontSize(fontSize);
-        context.setFillStyle(eachSeries.textColor || "#FFFFFF");
-        context.setTextAlign('center');
-        context.fillText(String(item.t), item.x, item.y + fontSize/2);
-        context.closePath();
-        context.stroke();
-        context.setTextAlign('left');
-      });
-    }
-  });
-  context.restore();
-  return {
-    xAxisPoints: xAxisPoints,
-    calPoints: calPoints,
-    eachSpacing: eachSpacing
-  };
-}
-
-function drawLineDataPoints(series, opts, config, context) {
-  var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  var lineOption = assign({}, {
-    type: 'straight',
-    width: 2,
-    activeType: 'none',
-    linearType: 'none',
-    onShadow: false,
-    animation: 'vertical',
-  }, opts.extra.line);
-  lineOption.width *= opts.pix;
-  let xAxisData = opts.chartData.xAxisData,
-    xAxisPoints = xAxisData.xAxisPoints,
-    eachSpacing = xAxisData.eachSpacing;
-  var calPoints = [];
-  context.save();
-  let leftSpace = 0;
-  let rightSpace = opts.width + eachSpacing;
-  if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
-    context.translate(opts._scrollDistance_, 0);
-    leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];
-    rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;
-  }
-  series.forEach(function(eachSeries, seriesIndex) {
-    // 杩欐寰堢濂囩殑浠g爜鐢ㄤ簬瑙e喅ios16鐨剆etStrokeStyle澶辨晥鐨刡ug
-    context.beginPath();
-    context.setStrokeStyle(eachSeries.color);
-    context.moveTo(-10000, -10000);
-    context.lineTo(-10001, -10001);
-    context.stroke();
-    let ranges, minRange, maxRange;
-    ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
-    minRange = ranges.pop();
-    maxRange = ranges.shift();
-    var data = eachSeries.data;
-    var points = getLineDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, lineOption, process);
-    calPoints.push(points);
-    var splitPointList = splitPoints(points,eachSeries);
-    if (eachSeries.lineType == 'dash') {
-      let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;
-      dashLength *= opts.pix;
-      context.setLineDash([dashLength, dashLength]);
-    }
-    context.beginPath();
-    var strokeColor = eachSeries.color;
-    if (lineOption.linearType !== 'none' && eachSeries.linearColor && eachSeries.linearColor.length > 0) {
-      var grd = context.createLinearGradient(opts.chartData.xAxisData.startX, opts.height/2, opts.chartData.xAxisData.endX, opts.height/2);
-      for (var i = 0; i < eachSeries.linearColor.length; i++) {
-        grd.addColorStop(eachSeries.linearColor[i][0], hexToRgb(eachSeries.linearColor[i][1], 1));
-      }
-      strokeColor = grd
-    }
-    context.setStrokeStyle(strokeColor);
-    if (lineOption.onShadow == true && eachSeries.setShadow && eachSeries.setShadow.length > 0) {
-      context.setShadow(eachSeries.setShadow[0], eachSeries.setShadow[1], eachSeries.setShadow[2], eachSeries.setShadow[3]);
-    }else{
-      context.setShadow(0, 0, 0, 'rgba(0,0,0,0)');
-    }
-    context.setLineWidth(lineOption.width);
-    splitPointList.forEach(function(points, index) {
-      if (points.length === 1) {
-        context.moveTo(points[0].x, points[0].y);
-        // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);
-      } else {
-        context.moveTo(points[0].x, points[0].y);
-        let startPoint = 0;
-        if (lineOption.type === 'curve') {
-          for (let j = 0; j < points.length; j++) {
-            let item = points[j];
-            if (startPoint == 0 && item.x > leftSpace) {
-              context.moveTo(item.x, item.y);
-              startPoint = 1;
-            }
-            if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-              var ctrlPoint = createCurveControlPoints(points, j - 1);
-              context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);
-            }
-          };
-        }
-        if (lineOption.type === 'straight') {
-          for (let j = 0; j < points.length; j++) {
-            let item = points[j];
-            if (startPoint == 0 && item.x > leftSpace) {
-              context.moveTo(item.x, item.y);
-              startPoint = 1;
-            }
-            if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-              context.lineTo(item.x, item.y);
-            }
-          };
-        }
-        if (lineOption.type === 'step') {
-          for (let j = 0; j < points.length; j++) {
-            let item = points[j];
-            if (startPoint == 0 && item.x > leftSpace) {
-              context.moveTo(item.x, item.y);
-              startPoint = 1;
-            }
-            if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-              context.lineTo(item.x, points[j - 1].y);
-              context.lineTo(item.x, item.y);
-            }
-          };
-        }
-        context.moveTo(points[0].x, points[0].y);
-      }
-    });
-    context.stroke();
-    context.setLineDash([]);
-    if (opts.dataPointShape !== false) {
-      drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);
-    }
-    drawActivePoint(points, eachSeries.color, eachSeries.pointShape, context, opts, lineOption);
-  });
-  if (opts.dataLabel !== false && process === 1) {
-    series.forEach(function(eachSeries, seriesIndex) {
-      let ranges, minRange, maxRange;
-      ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
-      minRange = ranges.pop();
-      maxRange = ranges.shift();
-      var data = eachSeries.data;
-      var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
-      drawPointText(points, eachSeries, config, context, opts);
-    });
-  }
-  context.restore();
-  return {
-    xAxisPoints: xAxisPoints,
-    calPoints: calPoints,
-    eachSpacing: eachSpacing
-  };
-}
-
-function drawMixDataPoints(series, opts, config, context) {
-  let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  let xAxisData = opts.chartData.xAxisData,
-    xAxisPoints = xAxisData.xAxisPoints,
-    eachSpacing = xAxisData.eachSpacing;
-  let columnOption = assign({}, {
-    width: eachSpacing / 2,
-    barBorderCircle: false,
-    barBorderRadius: [],
-    seriesGap: 2,
-    linearType: 'none',
-    linearOpacity: 1,
-    customColor: [],
-    colorStop: 0,
-  }, opts.extra.mix.column);
-  let areaOption = assign({}, {
-    opacity: 0.2,
-    gradient: false
-  }, opts.extra.mix.area);
-  let lineOption = assign({}, {
-    width: 2
-  }, opts.extra.mix.line);
-  let endY = opts.height - opts.area[2];
-  let calPoints = [];
-  var columnIndex = 0;
-  var columnLength = 0;
-  series.forEach(function(eachSeries, seriesIndex) {
-    if (eachSeries.type == 'column') {
-      columnLength += 1;
-    }
-  });
-  context.save();
-  let leftNum = -2;
-  let rightNum = xAxisPoints.length + 2;
-  let leftSpace = 0;
-  let rightSpace = opts.width + eachSpacing;
-  if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
-    context.translate(opts._scrollDistance_, 0);
-    leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;
-    rightNum = leftNum + opts.xAxis.itemCount + 4;
-    leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];
-    rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;
-  }
-  columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);
-  series.forEach(function(eachSeries, seriesIndex) {
-    let ranges, minRange, maxRange;
-    ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
-    minRange = ranges.pop();
-    maxRange = ranges.shift();
-    var data = eachSeries.data;
-    var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
-    calPoints.push(points);
-    // 缁樺埗鏌辩姸鏁版嵁鍥�
-    if (eachSeries.type == 'column') {
-      points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);
-      for (let i = 0; i < points.length; i++) {
-        let item = points[i];
-        if (item !== null && i > leftNum && i < rightNum) {
-          var startX = item.x - item.width / 2;
-          var height = opts.height - item.y - opts.area[2];
-          context.beginPath();
-          var fillColor = item.color || eachSeries.color
-          var strokeColor = item.color || eachSeries.color
-          if (columnOption.linearType !== 'none') {
-            var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);
-            //閫忔槑娓愬彉
-            if (columnOption.linearType == 'opacity') {
-              grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));
-              grd.addColorStop(1, hexToRgb(fillColor, 1));
-            } else {
-              grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));
-              grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));
-              grd.addColorStop(1, hexToRgb(fillColor, 1));
-            }
-            fillColor = grd
-          }
-          // 鍦嗚杈规
-          if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle) {
-            const left = startX;
-            const top = item.y;
-            const width = item.width;
-            const height = opts.height - opts.area[2] - item.y;
-            if (columnOption.barBorderCircle) {
-              columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];
-            }
-            let [r0, r1, r2, r3] = columnOption.barBorderRadius;
-            let minRadius = Math.min(width/2,height/2);
-            r0 = r0 > minRadius ? minRadius : r0;
-            r1 = r1 > minRadius ? minRadius : r1;
-            r2 = r2 > minRadius ? minRadius : r2;
-            r3 = r3 > minRadius ? minRadius : r3;
-            r0 = r0 < 0 ? 0 : r0;
-            r1 = r1 < 0 ? 0 : r1;
-            r2 = r2 < 0 ? 0 : r2;
-            r3 = r3 < 0 ? 0 : r3;
-            context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);
-            context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);
-            context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);
-            context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);
-          } else {
-            context.moveTo(startX, item.y);
-            context.lineTo(startX + item.width, item.y);
-            context.lineTo(startX + item.width, opts.height - opts.area[2]);
-            context.lineTo(startX, opts.height - opts.area[2]);
-            context.lineTo(startX, item.y);
-            context.setLineWidth(1)
-            context.setStrokeStyle(strokeColor);
-          }
-          context.setFillStyle(fillColor);
-          context.closePath();
-          context.fill();
-        }
-      }
-      columnIndex += 1;
-    }
-    //缁樺埗鍖哄煙鍥炬暟鎹�
-    if (eachSeries.type == 'area') {
-      let splitPointList = splitPoints(points,eachSeries);
-      for (let i = 0; i < splitPointList.length; i++) {
-        let points = splitPointList[i];
-        // 缁樺埗鍖哄煙鏁版嵁
-        context.beginPath();
-        context.setStrokeStyle(eachSeries.color);
-        context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity));
-        if (areaOption.gradient) {
-          let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]);
-          gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity));
-          gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1));
-          context.setFillStyle(gradient);
-        } else {
-          context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity));
-        }
-        context.setLineWidth(2 * opts.pix);
-        if (points.length > 1) {
-          var firstPoint = points[0];
-          let lastPoint = points[points.length - 1];
-          context.moveTo(firstPoint.x, firstPoint.y);
-          let startPoint = 0;
-          if (eachSeries.style === 'curve') {
-            for (let j = 0; j < points.length; j++) {
-              let item = points[j];
-              if (startPoint == 0 && item.x > leftSpace) {
-                context.moveTo(item.x, item.y);
-                startPoint = 1;
-              }
-              if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-                var ctrlPoint = createCurveControlPoints(points, j - 1);
-                context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);
-              }
-            };
-          } else {
-            for (let j = 0; j < points.length; j++) {
-              let item = points[j];
-              if (startPoint == 0 && item.x > leftSpace) {
-                context.moveTo(item.x, item.y);
-                startPoint = 1;
-              }
-              if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-                context.lineTo(item.x, item.y);
-              }
-            };
-          }
-          context.lineTo(lastPoint.x, endY);
-          context.lineTo(firstPoint.x, endY);
-          context.lineTo(firstPoint.x, firstPoint.y);
-        } else {
-          let item = points[0];
-          context.moveTo(item.x - eachSpacing / 2, item.y);
-          // context.lineTo(item.x + eachSpacing / 2, item.y);
-          // context.lineTo(item.x + eachSpacing / 2, endY);
-          // context.lineTo(item.x - eachSpacing / 2, endY);
-          // context.moveTo(item.x - eachSpacing / 2, item.y);
-        }
-        context.closePath();
-        context.fill();
-      }
-    }
-    // 缁樺埗鎶樼嚎鏁版嵁鍥�
-    if (eachSeries.type == 'line') {
-      var splitPointList = splitPoints(points,eachSeries);
-      splitPointList.forEach(function(points, index) {
-        if (eachSeries.lineType == 'dash') {
-          let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;
-          dashLength *= opts.pix;
-          context.setLineDash([dashLength, dashLength]);
-        }
-        context.beginPath();
-        context.setStrokeStyle(eachSeries.color);
-        context.setLineWidth(lineOption.width * opts.pix);
-        if (points.length === 1) {
-          context.moveTo(points[0].x, points[0].y);
-          // context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);
-        } else {
-          context.moveTo(points[0].x, points[0].y);
-          let startPoint = 0;
-          if (eachSeries.style == 'curve') {
-            for (let j = 0; j < points.length; j++) {
-              let item = points[j];
-              if (startPoint == 0 && item.x > leftSpace) {
-                context.moveTo(item.x, item.y);
-                startPoint = 1;
-              }
-              if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-                var ctrlPoint = createCurveControlPoints(points, j - 1);
-                context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y,
-                  item.x, item.y);
-              }
-            }
-          } else {
-            for (let j = 0; j < points.length; j++) {
-              let item = points[j];
-              if (startPoint == 0 && item.x > leftSpace) {
-                context.moveTo(item.x, item.y);
-                startPoint = 1;
-              }
-              if (j > 0 && item.x > leftSpace && item.x < rightSpace) {
-                context.lineTo(item.x, item.y);
-              }
-            }
-          }
-          context.moveTo(points[0].x, points[0].y);
-        }
-        context.stroke();
-        context.setLineDash([]);
-      });
-    }
-    // 缁樺埗鐐规暟鎹浘
-    if (eachSeries.type == 'point') {
-      eachSeries.addPoint = true;
-    }
-    if (eachSeries.addPoint == true && eachSeries.type !== 'column') {
-      drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);
-    }
-  });
-  if (opts.dataLabel !== false && process === 1) {
-    var columnIndex = 0;
-    series.forEach(function(eachSeries, seriesIndex) {
-      let ranges, minRange, maxRange;
-      ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);
-      minRange = ranges.pop();
-      maxRange = ranges.shift();
-      var data = eachSeries.data;
-      var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);
-      if (eachSeries.type !== 'column') {
-        drawPointText(points, eachSeries, config, context, opts);
-      } else {
-        points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);
-        drawPointText(points, eachSeries, config, context, opts);
-        columnIndex += 1;
-      }
-    });
-  }
-  context.restore();
-  return {
-    xAxisPoints: xAxisPoints,
-    calPoints: calPoints,
-    eachSpacing: eachSpacing,
-  }
-}
-
-
-function drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints) {
-  var toolTipOption = opts.extra.tooltip || {};
-  if (toolTipOption.horizentalLine && opts.tooltip && process === 1 && (opts.type == 'line' || opts.type == 'area' || opts.type == 'column' || opts.type == 'mount' || opts.type == 'candle' || opts.type == 'mix')) {
-    drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints)
-  }
-  context.save();
-  if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {
-    context.translate(opts._scrollDistance_, 0);
-  }
-  if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {
-    drawToolTip(opts.tooltip.textList, opts.tooltip.offset, opts, config, context, eachSpacing, xAxisPoints);
-  }
-  context.restore();
-
-}
-
-function drawXAxis(categories, opts, config, context) {
-
-  let xAxisData = opts.chartData.xAxisData,
-    xAxisPoints = xAxisData.xAxisPoints,
-    startX = xAxisData.startX,
-    endX = xAxisData.endX,
-    eachSpacing = xAxisData.eachSpacing;
-  var boundaryGap = 'center';
-  if (opts.type == 'bar' || opts.type == 'line' || opts.type == 'area'|| opts.type == 'scatter' || opts.type == 'bubble') {
-    boundaryGap = opts.xAxis.boundaryGap;
-  }
-  var startY = opts.height - opts.area[2];
-  var endY = opts.area[0];
-
-  //缁樺埗婊氬姩鏉�
-  if (opts.enableScroll && opts.xAxis.scrollShow) {
-    var scrollY = opts.height - opts.area[2] + config.xAxisHeight;
-    var scrollScreenWidth = endX - startX;
-    var scrollTotalWidth = eachSpacing * (xAxisPoints.length - 1);
-    if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){
-      if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2
-      scrollTotalWidth += (opts.extra.mount.widthRatio - 1)*eachSpacing;
-    }
-    var scrollWidth = scrollScreenWidth * scrollScreenWidth / scrollTotalWidth;
-    var scrollLeft = 0;
-    if (opts._scrollDistance_) {
-      scrollLeft = -opts._scrollDistance_ * (scrollScreenWidth) / scrollTotalWidth;
-    }
-    context.beginPath();
-    context.setLineCap('round');
-    context.setLineWidth(6 * opts.pix);
-    context.setStrokeStyle(opts.xAxis.scrollBackgroundColor || "#EFEBEF");
-    context.moveTo(startX, scrollY);
-    context.lineTo(endX, scrollY);
-    context.stroke();
-    context.closePath();
-    context.beginPath();
-    context.setLineCap('round');
-    context.setLineWidth(6 * opts.pix);
-    context.setStrokeStyle(opts.xAxis.scrollColor || "#A6A6A6");
-    context.moveTo(startX + scrollLeft, scrollY);
-    context.lineTo(startX + scrollLeft + scrollWidth, scrollY);
-    context.stroke();
-    context.closePath();
-    context.setLineCap('butt');
-  }
-  context.save();
-  if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {
-    context.translate(opts._scrollDistance_, 0);
-  }
-  //缁樺埗X杞村埢搴︾嚎
-  if (opts.xAxis.calibration === true) {
-    context.setStrokeStyle(opts.xAxis.gridColor || "#cccccc");
-    context.setLineCap('butt');
-    context.setLineWidth(1 * opts.pix);
-    xAxisPoints.forEach(function(item, index) {
-      if (index > 0) {
-        context.beginPath();
-        context.moveTo(item - eachSpacing / 2, startY);
-        context.lineTo(item - eachSpacing / 2, startY + 3 * opts.pix);
-        context.closePath();
-        context.stroke();
-      }
-    });
-  }
-  //缁樺埗X杞寸綉鏍�
-  if (opts.xAxis.disableGrid !== true) {
-    context.setStrokeStyle(opts.xAxis.gridColor || "#cccccc");
-    context.setLineCap('butt');
-    context.setLineWidth(1 * opts.pix);
-    if (opts.xAxis.gridType == 'dash') {
-      context.setLineDash([opts.xAxis.dashLength * opts.pix, opts.xAxis.dashLength * opts.pix]);
-    }
-    opts.xAxis.gridEval = opts.xAxis.gridEval || 1;
-    xAxisPoints.forEach(function(item, index) {
-      if (index % opts.xAxis.gridEval == 0) {
-        context.beginPath();
-        context.moveTo(item, startY);
-        context.lineTo(item, endY);
-        context.stroke();
-      }
-    });
-    context.setLineDash([]);
-  }
-  //缁樺埗X杞存枃妗�
-  if (opts.xAxis.disabled !== true) {
-    // 瀵筙杞村垪琛ㄥ仛鎶界█澶勭悊
-    //榛樿鍏ㄩ儴鏄剧ずX杞存爣绛�
-    let maxXAxisListLength = categories.length;
-    //濡傛灉璁剧疆浜哫杞村崟灞忔暟閲�
-    if (opts.xAxis.labelCount) {
-      //濡傛灉璁剧疆X杞村瘑搴�
-      if (opts.xAxis.itemCount) {
-        maxXAxisListLength = Math.ceil(categories.length / opts.xAxis.itemCount * opts.xAxis.labelCount);
-      } else {
-        maxXAxisListLength = opts.xAxis.labelCount;
-      }
-      maxXAxisListLength -= 1;
-    }
-
-    let ratio = Math.ceil(categories.length / maxXAxisListLength);
-
-    let newCategories = [];
-    let cgLength = categories.length;
-    for (let i = 0; i < cgLength; i++) {
-      if (i % ratio !== 0) {
-        newCategories.push("");
-      } else {
-        newCategories.push(categories[i]);
-      }
-    }
-    newCategories[cgLength - 1] = categories[cgLength - 1];
-    var xAxisFontSize = opts.xAxis.fontSize * opts.pix || config.fontSize;
-    if (config._xAxisTextAngle_ === 0) {
-      newCategories.forEach(function(item, index) {
-        var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item;
-        var offset = -measureText(String(xitem), xAxisFontSize, context) / 2;
-        if (boundaryGap == 'center') {
-          offset += eachSpacing / 2;
-        }
-        var scrollHeight = 0;
-        if (opts.xAxis.scrollShow) {
-          scrollHeight = 6 * opts.pix;
-        }
-        // 濡傛灉鍦ㄤ富瑙嗗浘鍖哄煙鍐�
-        var _scrollDistance_ = opts._scrollDistance_ || 0;
-        var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index];
-        if((truePoints - Math.abs(_scrollDistance_)) >= (opts.area[3] - 1) && (truePoints - Math.abs(_scrollDistance_)) <= (opts.width - opts.area[1] + 1)){
-          context.beginPath();
-          context.setFontSize(xAxisFontSize);
-          context.setFillStyle(opts.xAxis.fontColor || opts.fontColor);
-          context.fillText(String(xitem), xAxisPoints[index] + offset, startY + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.fontSize) * opts.pix / 2 + opts.xAxis.fontSize * opts.pix);
-          context.closePath();
-          context.stroke();
-        }
-      });
-    } else {
-      newCategories.forEach(function(item, index) {
-        var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item) : item;
-        // 濡傛灉鍦ㄤ富瑙嗗浘鍖哄煙鍐�
-        var _scrollDistance_ = opts._scrollDistance_ || 0;
-        var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index];
-        if((truePoints - Math.abs(_scrollDistance_)) >= (opts.area[3] - 1) && (truePoints - Math.abs(_scrollDistance_)) <= (opts.width - opts.area[1] + 1)){
-          context.save();
-          context.beginPath();
-          context.setFontSize(xAxisFontSize);
-          context.setFillStyle(opts.xAxis.fontColor || opts.fontColor);
-          var textWidth = measureText(String(xitem), xAxisFontSize, context);
-          var offsetX = xAxisPoints[index];
-          if (boundaryGap == 'center') {
-            offsetX = xAxisPoints[index] + eachSpacing / 2;
-          }
-          var scrollHeight = 0;
-          if (opts.xAxis.scrollShow) {
-            scrollHeight = 6 * opts.pix;
-          }
-          var offsetY = startY + opts.xAxis.marginTop * opts.pix + xAxisFontSize - xAxisFontSize * Math.abs(Math.sin(config._xAxisTextAngle_));
-          if(opts.xAxis.rotateAngle < 0){
-            offsetX -= xAxisFontSize / 2;
-            textWidth = 0;
-          }else{
-            offsetX += xAxisFontSize / 2;
-            textWidth = -textWidth;
-          }
-          context.translate(offsetX, offsetY);
-          context.rotate(-1 * config._xAxisTextAngle_);
-          context.fillText(String(xitem), textWidth , 0 );
-          context.closePath();
-          context.stroke();
-          context.restore();
-        }
-      });
-    }
-  }
-  context.restore();
-  
-  //鐢籜杞存爣棰�
-  if (opts.xAxis.title) {
-    context.beginPath();
-    context.setFontSize(opts.xAxis.titleFontSize * opts.pix);
-    context.setFillStyle(opts.xAxis.titleFontColor);
-    context.fillText(String(opts.xAxis.title), opts.width - opts.area[1] + opts.xAxis.titleOffsetX * opts.pix,opts.height - opts.area[2] + opts.xAxis.marginTop * opts.pix + (opts.xAxis.lineHeight - opts.xAxis.titleFontSize) * opts.pix / 2 + (opts.xAxis.titleFontSize + opts.xAxis.titleOffsetY) * opts.pix);
-    context.closePath();
-    context.stroke();
-  }
-  
-  //缁樺埗X杞磋酱绾�
-  if (opts.xAxis.axisLine) {
-    context.beginPath();
-    context.setStrokeStyle(opts.xAxis.axisLineColor);
-    context.setLineWidth(1 * opts.pix);
-    context.moveTo(startX, opts.height - opts.area[2]);
-    context.lineTo(endX, opts.height - opts.area[2]);
-    context.stroke();
-  }
-}
-
-function drawYAxisGrid(categories, opts, config, context) {
-  if (opts.yAxis.disableGrid === true) {
-    return;
-  }
-  let spacingValid = opts.height - opts.area[0] - opts.area[2];
-  let eachSpacing = spacingValid / opts.yAxis.splitNumber;
-  let startX = opts.area[3];
-  let xAxisPoints = opts.chartData.xAxisData.xAxisPoints,
-    xAxiseachSpacing = opts.chartData.xAxisData.eachSpacing;
-  let TotalWidth = xAxiseachSpacing * (xAxisPoints.length - 1);
-  if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1 ){
-    if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2
-    TotalWidth += (opts.extra.mount.widthRatio - 1) * xAxiseachSpacing;
-  }
-  let endX = startX + TotalWidth;
-  let points = [];
-  let startY = 1
-  if (opts.xAxis.axisLine === false) {
-    startY = 0
-  }
-  for (let i = startY; i < opts.yAxis.splitNumber + 1; i++) {
-    points.push(opts.height - opts.area[2] - eachSpacing * i);
-  }
-  context.save();
-  if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {
-    context.translate(opts._scrollDistance_, 0);
-  }
-  if (opts.yAxis.gridType == 'dash') {
-    context.setLineDash([opts.yAxis.dashLength * opts.pix, opts.yAxis.dashLength * opts.pix]);
-  }
-  context.setStrokeStyle(opts.yAxis.gridColor);
-  context.setLineWidth(1 * opts.pix);
-  points.forEach(function(item, index) {
-    context.beginPath();
-    context.moveTo(startX, item);
-    context.lineTo(endX, item);
-    context.stroke();
-  });
-  context.setLineDash([]);
-  context.restore();
-}
-
-function drawYAxis(series, opts, config, context) {
-  if (opts.yAxis.disabled === true) {
-    return;
-  }
-  var spacingValid = opts.height - opts.area[0] - opts.area[2];
-  var eachSpacing = spacingValid / opts.yAxis.splitNumber;
-  var startX = opts.area[3];
-  var endX = opts.width - opts.area[1];
-  var endY = opts.height - opts.area[2];
-  // set YAxis background
-  context.beginPath();
-  context.setFillStyle(opts.background);
-  if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'left') {
-    context.fillRect(0, 0, startX, endY + 2 * opts.pix);
-  }
-  if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'right') {
-    context.fillRect(endX, 0, opts.width, endY + 2 * opts.pix);
-  }
-  context.closePath();
-  context.stroke();
-  
-  let tStartLeft = opts.area[3];
-  let tStartRight = opts.width - opts.area[1];
-  let tStartCenter = opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2;
-  if (opts.yAxis.data) {
-    for (let i = 0; i < opts.yAxis.data.length; i++) {
-      let yData = opts.yAxis.data[i];
-      var points = [];
-      if(yData.type === 'categories'){
-        for (let i = 0; i <= yData.categories.length; i++) {
-          points.push(opts.area[0] + spacingValid / yData.categories.length / 2 + spacingValid / yData.categories.length * i);
-        }
-      }else{
-        for (let i = 0; i <= opts.yAxis.splitNumber; i++) {
-          points.push(opts.area[0] + eachSpacing * i);
-        }
-      }
-      if (yData.disabled !== true) {
-        let rangesFormat = opts.chartData.yAxisData.rangesFormat[i];
-        let yAxisFontSize = yData.fontSize ? yData.fontSize * opts.pix : config.fontSize;
-        let yAxisWidth = opts.chartData.yAxisData.yAxisWidth[i];
-        let textAlign = yData.textAlign || "right";
-        //鐢籝杞村埢搴﹀強鏂囨
-        rangesFormat.forEach(function(item, index) {
-          var pos = points[index];
-          context.beginPath();
-          context.setFontSize(yAxisFontSize);
-          context.setLineWidth(1 * opts.pix);
-          context.setStrokeStyle(yData.axisLineColor || '#cccccc');
-          context.setFillStyle(yData.fontColor || opts.fontColor);
-          let tmpstrat = 0;
-          let gapwidth = 4 * opts.pix;
-          if (yAxisWidth.position == 'left') {
-            //鐢诲埢搴︾嚎
-            if (yData.calibration == true) {
-              context.moveTo(tStartLeft, pos);
-              context.lineTo(tStartLeft - 3 * opts.pix, pos);
-              gapwidth += 3 * opts.pix;
-            }
-            //鐢绘枃瀛�
-            switch (textAlign) {
-              case "left":
-                context.setTextAlign('left');
-                tmpstrat = tStartLeft - yAxisWidth.width
-                break;
-              case "right":
-                context.setTextAlign('right');
-                tmpstrat = tStartLeft - gapwidth
-                break;
-              default:
-                context.setTextAlign('center');
-                tmpstrat = tStartLeft - yAxisWidth.width / 2
-            }
-            context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);
-
-          } else if (yAxisWidth.position == 'right') {
-            //鐢诲埢搴︾嚎
-            if (yData.calibration == true) {
-              context.moveTo(tStartRight, pos);
-              context.lineTo(tStartRight + 3 * opts.pix, pos);
-              gapwidth += 3 * opts.pix;
-            }
-            switch (textAlign) {
-              case "left":
-                context.setTextAlign('left');
-                tmpstrat = tStartRight + gapwidth
-                break;
-              case "right":
-                context.setTextAlign('right');
-                tmpstrat = tStartRight + yAxisWidth.width
-                break;
-              default:
-                context.setTextAlign('center');
-                tmpstrat = tStartRight + yAxisWidth.width / 2
-            }
-            context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);
-          } else if (yAxisWidth.position == 'center') {
-            //鐢诲埢搴︾嚎
-            if (yData.calibration == true) {
-              context.moveTo(tStartCenter, pos);
-              context.lineTo(tStartCenter - 3 * opts.pix, pos);
-              gapwidth += 3 * opts.pix;
-            }
-            //鐢绘枃瀛�
-            switch (textAlign) {
-              case "left":
-                context.setTextAlign('left');
-                tmpstrat = tStartCenter - yAxisWidth.width
-                break;
-              case "right":
-                context.setTextAlign('right');
-                tmpstrat = tStartCenter - gapwidth
-                break;
-              default:
-                context.setTextAlign('center');
-                tmpstrat = tStartCenter - yAxisWidth.width / 2
-            }
-            context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);
-          }
-          context.closePath();
-          context.stroke();
-          context.setTextAlign('left');
-        });
-        //鐢籝杞磋酱绾�
-        if (yData.axisLine !== false) {
-          context.beginPath();
-          context.setStrokeStyle(yData.axisLineColor || '#cccccc');
-          context.setLineWidth(1 * opts.pix);
-          if (yAxisWidth.position == 'left') {
-            context.moveTo(tStartLeft, opts.height - opts.area[2]);
-            context.lineTo(tStartLeft, opts.area[0]);
-          } else if (yAxisWidth.position == 'right') {
-            context.moveTo(tStartRight, opts.height - opts.area[2]);
-            context.lineTo(tStartRight, opts.area[0]);
-          } else if (yAxisWidth.position == 'center') {
-            context.moveTo(tStartCenter, opts.height - opts.area[2]);
-            context.lineTo(tStartCenter, opts.area[0]);
-          }
-          context.stroke();
-        }
-        //鐢籝杞存爣棰�
-        if (opts.yAxis.showTitle) {
-          let titleFontSize = yData.titleFontSize * opts.pix || config.fontSize;
-          let title = yData.title;
-          context.beginPath();
-          context.setFontSize(titleFontSize);
-          context.setFillStyle(yData.titleFontColor || opts.fontColor);
-          if (yAxisWidth.position == 'left') {
-            context.fillText(title, tStartLeft - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);
-          } else if (yAxisWidth.position == 'right') {
-            context.fillText(title, tStartRight - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);
-          } else if (yAxisWidth.position == 'center') {
-            context.fillText(title, tStartCenter - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);
-          }
-          context.closePath();
-          context.stroke();
-        }
-        if (yAxisWidth.position == 'left') {
-          tStartLeft -= (yAxisWidth.width + opts.yAxis.padding * opts.pix);
-        } else {
-          tStartRight += yAxisWidth.width + opts.yAxis.padding * opts.pix;
-        }
-      }
-    }
-  }
-
-}
-
-function drawLegend(series, opts, config, context, chartData) {
-  if (opts.legend.show === false) {
-    return;
-  }
-  let legendData = chartData.legendData;
-  let legendList = legendData.points;
-  let legendArea = legendData.area;
-  let padding = opts.legend.padding * opts.pix;
-  let fontSize = opts.legend.fontSize * opts.pix;
-  let shapeWidth = 15 * opts.pix;
-  let shapeRight = 5 * opts.pix;
-  let itemGap = opts.legend.itemGap * opts.pix;
-  let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize);
-  //鐢昏儗鏅強杈规
-  context.beginPath();
-  context.setLineWidth(opts.legend.borderWidth * opts.pix);
-  context.setStrokeStyle(opts.legend.borderColor);
-  context.setFillStyle(opts.legend.backgroundColor);
-  context.moveTo(legendArea.start.x, legendArea.start.y);
-  context.rect(legendArea.start.x, legendArea.start.y, legendArea.width, legendArea.height);
-  context.closePath();
-  context.fill();
-  context.stroke();
-  legendList.forEach(function(itemList, listIndex) {
-    let width = 0;
-    let height = 0;
-    width = legendData.widthArr[listIndex];
-    height = legendData.heightArr[listIndex];
-    let startX = 0;
-    let startY = 0;
-    if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {
-      switch (opts.legend.float) {
-        case 'left':
-          startX = legendArea.start.x + padding;
-        break;
-        case 'right':
-          startX = legendArea.start.x + legendArea.width - width;
-        break;
-        default:
-        startX = legendArea.start.x + (legendArea.width - width) / 2;
-      }
-      startY = legendArea.start.y + padding + listIndex * lineHeight;
-    } else {
-      if (listIndex == 0) {
-        width = 0;
-      } else {
-        width = legendData.widthArr[listIndex - 1];
-      }
-      startX = legendArea.start.x + padding + width;
-      startY = legendArea.start.y + padding + (legendArea.height - height) / 2;
-    }
-    context.setFontSize(config.fontSize);
-    for (let i = 0; i < itemList.length; i++) {
-      let item = itemList[i];
-      item.area = [0, 0, 0, 0];
-      item.area[0] = startX;
-      item.area[1] = startY;
-      item.area[3] = startY + lineHeight;
-      context.beginPath();
-      context.setLineWidth(1 * opts.pix);
-      context.setStrokeStyle(item.show ? item.color : opts.legend.hiddenColor);
-      context.setFillStyle(item.show ? item.color : opts.legend.hiddenColor);
-      switch (item.legendShape) {
-        case 'line':
-          context.moveTo(startX, startY + 0.5 * lineHeight - 2 * opts.pix);
-          context.fillRect(startX, startY + 0.5 * lineHeight - 2 * opts.pix, 15 * opts.pix, 4 * opts.pix);
-          break;
-        case 'triangle':
-          context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);
-          context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);
-          context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);
-          context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);
-          break;
-        case 'diamond':
-          context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);
-          context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight);
-          context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);
-          context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight);
-          context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);
-          break;
-        case 'circle':
-          context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight);
-          context.arc(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight, 5 * opts.pix, 0, 2 * Math.PI);
-          break;
-        case 'rect':
-          context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix);
-          context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);
-          break;
-        case 'square':
-          context.moveTo(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);
-          context.fillRect(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix);
-          break;
-        case 'none':
-          break;
-        default:
-          context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix);
-          context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);
-      }
-      context.closePath();
-      context.fill();
-      context.stroke();
-      startX += shapeWidth + shapeRight;
-      let fontTrans = 0.5 * lineHeight + 0.5 * fontSize - 2;
-      const legendText = item.legendText ? item.legendText : item.name;
-      context.beginPath();
-      context.setFontSize(fontSize);
-      context.setFillStyle(item.show ? opts.legend.fontColor : opts.legend.hiddenColor);
-      context.fillText(legendText, startX, startY + fontTrans);
-      context.closePath();
-      context.stroke();
-      if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {
-        startX += measureText(legendText, fontSize, context) + itemGap;
-        item.area[2] = startX;
-      } else {
-        item.area[2] = startX + measureText(legendText, fontSize, context) + itemGap;;
-        startX -= shapeWidth + shapeRight;
-        startY += lineHeight;
-      }
-    }
-  });
-}
-
-function drawPieDataPoints(series, opts, config, context) {
-  var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  var pieOption = assign({}, {
-    activeOpacity: 0.5,
-    activeRadius: 10,
-    offsetAngle: 0,
-    labelWidth: 15,
-    ringWidth: 30,
-    customRadius: 0,
-    border: false,
-    borderWidth: 2,
-    borderColor: '#FFFFFF',
-    centerColor: '#FFFFFF',
-    linearType: 'none',
-    customColor: [],
-  }, opts.type == "pie" ? opts.extra.pie : opts.extra.ring);
-  var centerPosition = {
-    x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,
-    y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2
-  };
-  if (config.pieChartLinePadding == 0) {
-    config.pieChartLinePadding = pieOption.activeRadius * opts.pix;
-  }
-
-  var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);
-  radius = radius < 10 ? 10 : radius;
-  if (pieOption.customRadius > 0) {
-    radius = pieOption.customRadius * opts.pix;
-  }
-  series = getPieDataPoints(series, radius, process);
-  var activeRadius = pieOption.activeRadius * opts.pix;
-  pieOption.customColor = fillCustomColor(pieOption.linearType, pieOption.customColor, series, config);
-  series = series.map(function(eachSeries) {
-    eachSeries._start_ += (pieOption.offsetAngle) * Math.PI / 180;
-    return eachSeries;
-  });
-  series.forEach(function(eachSeries, seriesIndex) {
-    if (opts.tooltip) {
-      if (opts.tooltip.index == seriesIndex) {
-        context.beginPath();
-        context.setFillStyle(hexToRgb(eachSeries.color, pieOption.activeOpacity || 0.5));
-        context.moveTo(centerPosition.x, centerPosition.y);
-        context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_ + activeRadius, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI);
-        context.closePath();
-        context.fill();
-      }
-    }
-    context.beginPath();
-    context.setLineWidth(pieOption.borderWidth * opts.pix);
-    context.lineJoin = "round";
-    context.setStrokeStyle(pieOption.borderColor);
-    var fillcolor = eachSeries.color;
-    if (pieOption.linearType == 'custom') {
-      var grd;
-      if(context.createCircularGradient){
-        grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_)
-      }else{
-        grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_)
-      }
-      grd.addColorStop(0, hexToRgb(pieOption.customColor[eachSeries.linearIndex], 1))
-      grd.addColorStop(1, hexToRgb(eachSeries.color, 1))
-      fillcolor = grd
-    }
-    context.setFillStyle(fillcolor);
-    context.moveTo(centerPosition.x, centerPosition.y);
-    context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI);
-    context.closePath();
-    context.fill();
-    if (pieOption.border == true) {
-      context.stroke();
-    }
-  });
-  if (opts.type === 'ring') {
-    var innerPieWidth = radius * 0.6;
-    if (typeof pieOption.ringWidth === 'number' && pieOption.ringWidth > 0) {
-      innerPieWidth = Math.max(0, radius - pieOption.ringWidth * opts.pix);
-    }
-    context.beginPath();
-    context.setFillStyle(pieOption.centerColor);
-    context.moveTo(centerPosition.x, centerPosition.y);
-    context.arc(centerPosition.x, centerPosition.y, innerPieWidth, 0, 2 * Math.PI);
-    context.closePath();
-    context.fill();
-  }
-  if (opts.dataLabel !== false && process === 1) {
-    drawPieText(series, opts, config, context, radius, centerPosition);
-  }
-  if (process === 1 && opts.type === 'ring') {
-    drawRingTitle(opts, config, context, centerPosition);
-  }
-  return {
-    center: centerPosition,
-    radius: radius,
-    series: series
-  };
-}
-
-function drawRoseDataPoints(series, opts, config, context) {
-  var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  var roseOption = assign({}, {
-    type: 'area',
-    activeOpacity: 0.5,
-    activeRadius: 10,
-    offsetAngle: 0,
-    labelWidth: 15,
-    border: false,
-    borderWidth: 2,
-    borderColor: '#FFFFFF',
-    linearType: 'none',
-    customColor: [],
-  }, opts.extra.rose);
-  if (config.pieChartLinePadding == 0) {
-    config.pieChartLinePadding = roseOption.activeRadius * opts.pix;
-  }
-  var centerPosition = {
-    x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,
-    y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2
-  };
-  var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);
-  radius = radius < 10 ? 10 : radius;
-  var minRadius = roseOption.minRadius || radius * 0.5;
-  if(radius < minRadius){
-    radius = minRadius + 10;
-  }
-  series = getRoseDataPoints(series, roseOption.type, minRadius, radius, process);
-  var activeRadius = roseOption.activeRadius * opts.pix;
-  roseOption.customColor = fillCustomColor(roseOption.linearType, roseOption.customColor, series, config);
-  series = series.map(function(eachSeries) {
-    eachSeries._start_ += (roseOption.offsetAngle || 0) * Math.PI / 180;
-    return eachSeries;
-  });
-  series.forEach(function(eachSeries, seriesIndex) {
-    if (opts.tooltip) {
-      if (opts.tooltip.index == seriesIndex) {
-        context.beginPath();
-        context.setFillStyle(hexToRgb(eachSeries.color, roseOption.activeOpacity || 0.5));
-        context.moveTo(centerPosition.x, centerPosition.y);
-        context.arc(centerPosition.x, centerPosition.y, activeRadius + eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI);
-        context.closePath();
-        context.fill();
-      }
-    }
-    context.beginPath();
-    context.setLineWidth(roseOption.borderWidth * opts.pix);
-    context.lineJoin = "round";
-    context.setStrokeStyle(roseOption.borderColor);
-    var fillcolor = eachSeries.color;
-    if (roseOption.linearType == 'custom') {
-      var grd;
-      if(context.createCircularGradient){
-        grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_)
-      }else{
-        grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_)
-      }
-      grd.addColorStop(0, hexToRgb(roseOption.customColor[eachSeries.linearIndex], 1))
-      grd.addColorStop(1, hexToRgb(eachSeries.color, 1))
-      fillcolor = grd
-    }
-    context.setFillStyle(fillcolor);
-    context.moveTo(centerPosition.x, centerPosition.y);
-    context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI);
-    context.closePath();
-    context.fill();
-    if (roseOption.border == true) {
-      context.stroke();
-    }
-  });
-
-  if (opts.dataLabel !== false && process === 1) {
-    drawPieText(series, opts, config, context, radius, centerPosition);
-  }
-  return {
-    center: centerPosition,
-    radius: radius,
-    series: series
-  };
-}
-
-function drawArcbarDataPoints(series, opts, config, context) {
-  var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  var arcbarOption = assign({}, {
-    startAngle: 0.75,
-    endAngle: 0.25,
-    type: 'default',
-    direction: 'cw',
-    lineCap: 'round',
-    width: 12 ,
-    gap: 2 ,
-    linearType: 'none',
-    customColor: [],
-  }, opts.extra.arcbar);
-  series = getArcbarDataPoints(series, arcbarOption, process);
-  var centerPosition;
-  if (arcbarOption.centerX || arcbarOption.centerY) {
-    centerPosition = {
-      x: arcbarOption.centerX ? arcbarOption.centerX : opts.width / 2,
-      y: arcbarOption.centerY ? arcbarOption.centerY : opts.height / 2
-    };
-  } else {
-    centerPosition = {
-      x: opts.width / 2,
-      y: opts.height / 2
-    };
-  }
-  var radius;
-  if (arcbarOption.radius) {
-    radius = arcbarOption.radius;
-  } else {
-    radius = Math.min(centerPosition.x, centerPosition.y);
-    radius -= 5 * opts.pix;
-    radius -= arcbarOption.width / 2;
-  }
-  radius = radius < 10 ? 10 : radius;
-  arcbarOption.customColor = fillCustomColor(arcbarOption.linearType, arcbarOption.customColor, series, config);
-  
-  for (let i = 0; i < series.length; i++) {
-    let eachSeries = series[i];
-    //鑳屾櫙棰滆壊
-    context.setLineWidth(arcbarOption.width * opts.pix);
-    context.setStrokeStyle(arcbarOption.backgroundColor || '#E9E9E9');
-    context.setLineCap(arcbarOption.lineCap);
-    context.beginPath();
-    if (arcbarOption.type == 'default') {
-      context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, arcbarOption.endAngle * Math.PI, arcbarOption.direction == 'ccw');
-    } else {
-      context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, 0, 2 * Math.PI, arcbarOption.direction == 'ccw');
-    }
-    context.stroke();
-    //杩涘害鏉�
-    var fillColor = eachSeries.color
-    if(arcbarOption.linearType == 'custom'){
-      var grd = context.createLinearGradient(centerPosition.x - radius, centerPosition.y, centerPosition.x + radius, centerPosition.y);
-      grd.addColorStop(1, hexToRgb(arcbarOption.customColor[eachSeries.linearIndex], 1))
-      grd.addColorStop(0, hexToRgb(eachSeries.color, 1))
-      fillColor = grd;
-    }
-    context.setLineWidth(arcbarOption.width * opts.pix);
-    context.setStrokeStyle(fillColor);
-    context.setLineCap(arcbarOption.lineCap);
-    context.beginPath();
-    context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, eachSeries._proportion_ * Math.PI, arcbarOption.direction == 'ccw');
-    context.stroke();
-  }
-  drawRingTitle(opts, config, context, centerPosition);
-  return {
-    center: centerPosition,
-    radius: radius,
-    series: series
-  };
-}
-
-function drawGaugeDataPoints(categories, series, opts, config, context) {
-  var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;
-  var gaugeOption = assign({}, {
-    type: 'default',
-    startAngle: 0.75,
-    endAngle: 0.25,
-    width: 15,
-    labelOffset:13,
-    splitLine: {
-      fixRadius: 0,
-      splitNumber: 10,
-      width: 15,
-      color: '#FFFFFF',
-      childNumber: 5,
-      childWidth: 5
-    },
-    pointer: {
-      width: 15,
-      color: 'auto'
-    }
-  }, opts.extra.gauge);
-  if (gaugeOption.oldAngle == undefined) {
-    gaugeOption.oldAngle = gaugeOption.startAngle;
-  }
-  if (gaugeOption.oldData == undefined) {
-    gaugeOption.oldData = 0;
-  }
-  categories = getGaugeAxisPoints(categories, gaugeOption.startAngle, gaugeOption.endAngle);
-  var centerPosition = {
-    x: opts.width / 2,
-    y: opts.height / 2
-  };
-  var radius = Math.min(centerPosition.x, centerPosition.y);
-  radius -= 5 * opts.pix;
-  radius -= gaugeOption.width / 2;
-  radius = radius < 10 ? 10 : radius;
-  var innerRadius = radius - gaugeOption.width;
-  var totalAngle = 0;
-  //鍒ゆ柇浠〃鐩樼殑鏍峰紡锛歞efault鐧惧害鏍峰紡锛宲rogress鏂版牱寮�
-  if (gaugeOption.type == 'progress') {
-    //## 绗竴姝ョ敾涓績鍦嗗舰鑳屾櫙鍜岃繘搴︽潯鑳屾櫙
-    //涓績鍦嗗舰鑳屾櫙
-    var pieRadius = radius - gaugeOption.width * 3;
-    context.beginPath();
-    let gradient = context.createLinearGradient(centerPosition.x, centerPosition.y - pieRadius, centerPosition.x, centerPosition.y + pieRadius);
-    //閰嶇疆娓愬彉濉厖锛堣捣鐐癸細涓績鐐瑰悜涓婂噺鍗婂緞锛涚粨鏉熺偣涓績鐐瑰悜涓嬪姞鍗婂緞锛�
-    gradient.addColorStop('0', hexToRgb(series[0].color, 0.3));
-    gradient.addColorStop('1.0', hexToRgb("#FFFFFF", 0.1));
-    context.setFillStyle(gradient);
-    context.arc(centerPosition.x, centerPosition.y, pieRadius, 0, 2 * Math.PI, false);
-    context.fill();
-    //鐢昏繘搴︽潯鑳屾櫙
-    context.setLineWidth(gaugeOption.width);
-    context.setStrokeStyle(hexToRgb(series[0].color, 0.3));
-    context.setLineCap('round');
-    context.beginPath();
-    context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, gaugeOption.endAngle * Math.PI, false);
-    context.stroke();
-    //## 绗簩姝ョ敾鍒诲害绾�
-    if (gaugeOption.endAngle < gaugeOption.startAngle) {
-      totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;
-    } else {
-      totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;
-    }
-    let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;
-    let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;
-    let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;
-    let endX = -radius - gaugeOption.width - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;
-    context.save();
-    context.translate(centerPosition.x, centerPosition.y);
-    context.rotate((gaugeOption.startAngle - 1) * Math.PI);
-    let len = gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1;
-    let proc = series[0].data * process;
-    for (let i = 0; i < len; i++) {
-      context.beginPath();
-      //鍒诲害绾块殢杩涘害鍙樿壊
-      if (proc > (i / len)) {
-        context.setStrokeStyle(hexToRgb(series[0].color, 1));
-      } else {
-        context.setStrokeStyle(hexToRgb(series[0].color, 0.3));
-      }
-      context.setLineWidth(3 * opts.pix);
-      context.moveTo(startX, 0);
-      context.lineTo(endX, 0);
-      context.stroke();
-      context.rotate(childAngle * Math.PI);
-    }
-    context.restore();
-    //## 绗笁姝ョ敾杩涘害鏉�
-    series = getGaugeArcbarDataPoints(series, gaugeOption, process);
-    context.setLineWidth(gaugeOption.width);
-    context.setStrokeStyle(series[0].color);
-    context.setLineCap('round');
-    context.beginPath();
-    context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, series[0]._proportion_ * Math.PI, false);
-    context.stroke();
-    //## 绗洓姝ョ敾鎸囬拡
-    let pointerRadius = radius - gaugeOption.width * 2.5;
-    context.save();
-    context.translate(centerPosition.x, centerPosition.y);
-    context.rotate((series[0]._proportion_ - 1) * Math.PI);
-    context.beginPath();
-    context.setLineWidth(gaugeOption.width / 3);
-    let gradient3 = context.createLinearGradient(0, -pointerRadius * 0.6, 0, pointerRadius * 0.6);
-    gradient3.addColorStop('0', hexToRgb('#FFFFFF', 0));
-    gradient3.addColorStop('0.5', hexToRgb(series[0].color, 1));
-    gradient3.addColorStop('1.0', hexToRgb('#FFFFFF', 0));
-    context.setStrokeStyle(gradient3);
-    context.arc(0, 0, pointerRadius, 0.85 * Math.PI, 1.15 * Math.PI, false);
-    context.stroke();
-    context.beginPath();
-    context.setLineWidth(1);
-    context.setStrokeStyle(series[0].color);
-    context.setFillStyle(series[0].color);
-    context.moveTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);
-    context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2 - 4, 0);
-    context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, 4);
-    context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);
-    context.stroke();
-    context.fill();
-    context.restore();
-    //default鐧惧害鏍峰紡
-  } else {
-    //鐢昏儗鏅�
-    context.setLineWidth(gaugeOption.width);
-    context.setLineCap('butt');
-    for (let i = 0; i < categories.length; i++) {
-      let eachCategories = categories[i];
-      context.beginPath();
-      context.setStrokeStyle(eachCategories.color);
-      context.arc(centerPosition.x, centerPosition.y, radius, eachCategories._startAngle_ * Math.PI, eachCategories._endAngle_ * Math.PI, false);
-      context.stroke();
-    }
-    context.save();
-    //鐢诲埢搴︾嚎
-    if (gaugeOption.endAngle < gaugeOption.startAngle) {
-      totalAngle = 2 + gaugeOption.endAngle - gaugeOption.startAngle;
-    } else {
-      totalAngle = gaugeOption.startAngle - gaugeOption.endAngle;
-    }
-    let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;
-    let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;
-    let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;
-    let endX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;
-    let childendX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.childWidth;
-    context.translate(centerPosition.x, centerPosition.y);
-    context.rotate((gaugeOption.startAngle - 1) * Math.PI);
-    for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) {
-      context.beginPath();
-      context.setStrokeStyle(gaugeOption.splitLine.color);
-      context.setLineWidth(2 * opts.pix);
-      context.moveTo(startX, 0);
-      context.lineTo(endX, 0);
-      context.stroke();
-      context.rotate(splitAngle * Math.PI);
-    }
-    context.restore();
-    context.save();
-    context.translate(centerPosition.x, centerPosition.y);
-    context.rotate((gaugeOption.startAngle - 1) * Math.PI);
-    for (let i = 0; i < gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1; i++) {
-      context.beginPath();
-      context.setStrokeStyle(gaugeOption.splitLine.color);
-      context.setLineWidth(1 * opts.pix);
-      context.moveTo(startX, 0);
-      context.lineTo(childendX, 0);
-      context.stroke();
-      context.rotate(childAngle * Math.PI);
-    }
-    context.restore();
-    //鐢绘寚閽�
-    series = getGaugeDataPoints(series, categories, gaugeOption, process);
-    for (let i = 0; i < series.length; i++) {
-      let eachSeries = series[i];
-      context.save();
-      context.translate(centerPosition.x, centerPosition.y);
-      context.rotate((eachSeries._proportion_ - 1) * Math.PI);
-      context.beginPath();
-      context.setFillStyle(eachSeries.color);
-      context.moveTo(gaugeOption.pointer.width, 0);
-      context.lineTo(0, -gaugeOption.pointer.width / 2);
-      context.lineTo(-innerRadius, 0);
-      context.lineTo(0, gaugeOption.pointer.width / 2);
-      context.lineTo(gaugeOption.pointer.width, 0);
-      context.closePath();
-      context.fill();
-      context.beginPath();
-      context.setFillStyle('#FFFFFF');
-      context.arc(0, 0, gaugeOption.pointer.width / 6, 0, 2 * Math.PI, false);
-      context.fill();
-      context.restore();
-    }
-    if (opts.dataLabel !== false) {
-      drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context);
-    }
-  }
-  //鐢讳华琛ㄧ洏鏍囬锛屽壇鏍囬
-  drawRingTitle(opts, config, context, centerPosition);
-  if (process === 1 && opts.type === 'gauge') {
-    opts.extra.gauge.oldAngle = series[0]._proportion_;
-    opts.extra.gauge.oldData = series[0].data;
-  }
-  return {
-    center: centerPosition,
-    radius: radius,
-    innerRadius: innerRadius,
-    categories: categories,
-    totalAngle: totalAngle
-  };
-}
-
-function drawRadarDataPoints(series, opts, config, context) {
-  var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  var radarOption = assign({}, {
-    gridColor: '#cccccc',
-    gridType: 'radar',
-    gridEval:1,
-    axisLabel:false,
-    axisLabelTofix:0,
-    labelShow:true,
-    labelColor:'#666666',
-    labelPointShow:false,
-    labelPointRadius:3,
-    labelPointColor:'#cccccc',
-    opacity: 0.2,
-    gridCount: 3,
-    border:false,
-    borderWidth:2,
-    linearType: 'none',
-    customColor: [],
-  }, opts.extra.radar);
-  var coordinateAngle = getRadarCoordinateSeries(opts.categories.length);
-  var centerPosition = {
-    x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,
-    y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2
-  };
-  var xr = (opts.width - opts.area[1] - opts.area[3]) / 2
-  var yr = (opts.height - opts.area[0] - opts.area[2]) / 2
-  var radius = Math.min(xr - (getMaxTextListLength(opts.categories, config.fontSize, context) + config.radarLabelTextMargin), yr - config.radarLabelTextMargin);
-  radius -= config.radarLabelTextMargin * opts.pix;
-  radius = radius < 10 ? 10 : radius;
-  radius = radarOption.radius ? radarOption.radius : radius;
-  // 鐢诲垎鍓茬嚎
-  context.beginPath();
-  context.setLineWidth(1 * opts.pix);
-  context.setStrokeStyle(radarOption.gridColor);
-  coordinateAngle.forEach(function(angle,index) {
-    var pos = convertCoordinateOrigin(radius * Math.cos(angle), radius * Math.sin(angle), centerPosition);
-    context.moveTo(centerPosition.x, centerPosition.y);
-    if (index % radarOption.gridEval == 0) {
-      context.lineTo(pos.x, pos.y);
-    }
-  });
-  context.stroke();
-  context.closePath();
-  
-  // 鐢昏儗鏅綉鏍�
-  var _loop = function _loop(i) {
-    var startPos = {};
-    context.beginPath();
-    context.setLineWidth(1 * opts.pix);
-    context.setStrokeStyle(radarOption.gridColor);
-    if (radarOption.gridType == 'radar') {
-      coordinateAngle.forEach(function(angle, index) {
-        var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(angle), radius /
-          radarOption.gridCount * i * Math.sin(angle), centerPosition);
-        if (index === 0) {
-          startPos = pos;
-          context.moveTo(pos.x, pos.y);
-        } else {
-          context.lineTo(pos.x, pos.y);
-        }
-      });
-      context.lineTo(startPos.x, startPos.y);
-    } else {
-      var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(1.5), radius / radarOption.gridCount * i * Math.sin(1.5), centerPosition);
-      context.arc(centerPosition.x, centerPosition.y, centerPosition.y - pos.y, 0, 2 * Math.PI, false);
-    }
-    context.stroke();
-    context.closePath();
-  };
-  for (var i = 1; i <= radarOption.gridCount; i++) {
-    _loop(i);
-  }
-  radarOption.customColor = fillCustomColor(radarOption.linearType, radarOption.customColor, series, config);
-  var radarDataPoints = getRadarDataPoints(coordinateAngle, centerPosition, radius, series, opts, process);
-  radarDataPoints.forEach(function(eachSeries, seriesIndex) {
-    // 缁樺埗鍖哄煙鏁版嵁
-    context.beginPath();
-    context.setLineWidth(radarOption.borderWidth * opts.pix);
-    context.setStrokeStyle(eachSeries.color);
-    
-    var fillcolor = hexToRgb(eachSeries.color, radarOption.opacity);
-    if (radarOption.linearType == 'custom') {
-      var grd;
-      if(context.createCircularGradient){
-        grd = context.createCircularGradient(centerPosition.x, centerPosition.y, radius)
-      }else{
-        grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, radius)
-      }
-      grd.addColorStop(0, hexToRgb(radarOption.customColor[series[seriesIndex].linearIndex], radarOption.opacity))
-      grd.addColorStop(1, hexToRgb(eachSeries.color, radarOption.opacity))
-      fillcolor = grd
-    }
-    
-    context.setFillStyle(fillcolor);
-    eachSeries.data.forEach(function(item, index) {
-      if (index === 0) {
-        context.moveTo(item.position.x, item.position.y);
-      } else {
-        context.lineTo(item.position.x, item.position.y);
-      }
-    });
-    context.closePath();
-    context.fill();
-    if(radarOption.border === true){
-      context.stroke();
-    }
-    context.closePath();
-    if (opts.dataPointShape !== false) {
-      var points = eachSeries.data.map(function(item) {
-        return item.position;
-      });
-      drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);
-    }
-  });
-  // 鐢诲埢搴﹀��
-  if(radarOption.axisLabel === true){
-    const maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series)));
-    const stepLength = radius / radarOption.gridCount;
-    const fontSize = opts.fontSize * opts.pix;
-    context.setFontSize(fontSize);
-    context.setFillStyle(opts.fontColor);
-    context.setTextAlign('left');
-    for (var i = 0; i < radarOption.gridCount + 1; i++) {
-      let label = i * maxData / radarOption.gridCount;
-      label = label.toFixed(radarOption.axisLabelTofix);
-      context.fillText(String(label), centerPosition.x + 3 * opts.pix, centerPosition.y - i * stepLength + fontSize / 2);
-    }
-  }
-  
-  // draw label text
-  drawRadarLabel(coordinateAngle, radius, centerPosition, opts, config, context);
-  
-  // draw dataLabel
-  if (opts.dataLabel !== false && process === 1) {
-    radarDataPoints.forEach(function(eachSeries, seriesIndex) {
-      context.beginPath();
-      var fontSize = eachSeries.textSize * opts.pix || config.fontSize;
-      context.setFontSize(fontSize);
-      context.setFillStyle(eachSeries.textColor || opts.fontColor);
-      eachSeries.data.forEach(function(item, index) {
-        //濡傛灉鏄腑蹇冪偣鍨傜洿鐨勪笂涓嬬偣浣�
-        if(Math.abs(item.position.x - centerPosition.x)<2){
-          //濡傛灉鍦ㄤ笂闈�
-          if(item.position.y < centerPosition.y){
-            context.setTextAlign('center');
-            context.fillText(item.value, item.position.x, item.position.y - 4);
-          }else{
-            context.setTextAlign('center');
-            context.fillText(item.value, item.position.x, item.position.y + fontSize + 2);
-          }
-        }else{
-          //濡傛灉鍦ㄥ乏渚�
-          if(item.position.x < centerPosition.x){
-            context.setTextAlign('right');
-            context.fillText(item.value, item.position.x - 4, item.position.y + fontSize / 2 - 2);
-          }else{
-            context.setTextAlign('left');
-            context.fillText(item.value, item.position.x + 4, item.position.y + fontSize / 2 - 2);
-          }
-        }
-      });
-      context.closePath();
-      context.stroke();
-    });
-    context.setTextAlign('left');
-  }
-  
-  return {
-    center: centerPosition,
-    radius: radius,
-    angleList: coordinateAngle
-  };
-}
-
-// 缁忕含搴﹁浆澧ㄥ崱鎵�
-function lonlat2mercator(longitude, latitude) {
-  var mercator = Array(2);
-  var x = longitude * 20037508.34 / 180;
-  var y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180);
-  y = y * 20037508.34 / 180;
-  mercator[0] = x;
-  mercator[1] = y;
-  return mercator;
-}
-
-// 澧ㄥ崱鎵樿浆缁忕含搴�
-function mercator2lonlat(longitude, latitude) {
-  var lonlat = Array(2)
-  var x = longitude / 20037508.34 * 180;
-  var y = latitude / 20037508.34 * 180;
-  y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2);
-  lonlat[0] = x;
-  lonlat[1] = y;
-  return lonlat;
-}
-
-function getBoundingBox(data) {
-  var bounds = {},coords;
-  bounds.xMin = 180;
-  bounds.xMax = 0;
-  bounds.yMin = 90;
-  bounds.yMax = 0
-  for (var i = 0; i < data.length; i++) {
-    var coorda = data[i].geometry.coordinates
-    for (var k = 0; k < coorda.length; k++) {
-      coords = coorda[k];
-      if (coords.length == 1) {
-        coords = coords[0]
-      }
-      for (var j = 0; j < coords.length; j++) {
-        var longitude = coords[j][0];
-        var latitude = coords[j][1];
-        var point = {
-          x: longitude,
-          y: latitude
-        }
-        bounds.xMin = bounds.xMin < point.x ? bounds.xMin : point.x;
-        bounds.xMax = bounds.xMax > point.x ? bounds.xMax : point.x;
-        bounds.yMin = bounds.yMin < point.y ? bounds.yMin : point.y;
-        bounds.yMax = bounds.yMax > point.y ? bounds.yMax : point.y;
-      }
-    }
-  }
-  return bounds;
-}
-
-function coordinateToPoint(latitude, longitude, bounds, scale, xoffset, yoffset) {
-  return {
-    x: (longitude - bounds.xMin) * scale + xoffset,
-    y: (bounds.yMax - latitude) * scale + yoffset
-  };
-}
-
-function pointToCoordinate(pointY, pointX, bounds, scale, xoffset, yoffset) {
-  return {
-    x: (pointX - xoffset) / scale + bounds.xMin,
-    y: bounds.yMax - (pointY - yoffset) / scale
-  };
-}
-
-function isRayIntersectsSegment(poi, s_poi, e_poi) {
-  if (s_poi[1] == e_poi[1]) {
-    return false;
-  }
-  if (s_poi[1] > poi[1] && e_poi[1] > poi[1]) {
-    return false;
-  }
-  if (s_poi[1] < poi[1] && e_poi[1] < poi[1]) {
-    return false;
-  }
-  if (s_poi[1] == poi[1] && e_poi[1] > poi[1]) {
-    return false;
-  }
-  if (e_poi[1] == poi[1] && s_poi[1] > poi[1]) {
-    return false;
-  }
-  if (s_poi[0] < poi[0] && e_poi[1] < poi[1]) {
-    return false;
-  }
-  let xseg = e_poi[0] - (e_poi[0] - s_poi[0]) * (e_poi[1] - poi[1]) / (e_poi[1] - s_poi[1]);
-  if (xseg < poi[0]) {
-    return false;
-  } else {
-    return true;
-  }
-}
-
-function isPoiWithinPoly(poi, poly, mercator) {
-  let sinsc = 0;
-  for (let i = 0; i < poly.length; i++) {
-    let epoly = poly[i][0];
-    if (poly.length == 1) {
-      epoly = poly[i][0]
-    }
-    for (let j = 0; j < epoly.length - 1; j++) {
-      let s_poi = epoly[j];
-      let e_poi = epoly[j + 1];
-      if (mercator) {
-        s_poi = lonlat2mercator(epoly[j][0], epoly[j][1]);
-        e_poi = lonlat2mercator(epoly[j + 1][0], epoly[j + 1][1]);
-      }
-      if (isRayIntersectsSegment(poi, s_poi, e_poi)) {
-        sinsc += 1;
-      }
-    }
-  }
-  if (sinsc % 2 == 1) {
-    return true;
-  } else {
-    return false;
-  }
-}
-
-function drawMapDataPoints(series, opts, config, context) {
-  var mapOption = assign({}, {
-    border: true,
-    mercator: false,
-    borderWidth: 1,
-    active:true,
-    borderColor: '#666666',
-    fillOpacity: 0.6,
-    activeBorderColor: '#f04864',
-    activeFillColor: '#facc14',
-    activeFillOpacity: 1
-  }, opts.extra.map);
-  var coords, point;
-  var data = series;
-  var bounds = getBoundingBox(data);
-  if (mapOption.mercator) {
-    var max = lonlat2mercator(bounds.xMax, bounds.yMax)
-    var min = lonlat2mercator(bounds.xMin, bounds.yMin)
-    bounds.xMax = max[0]
-    bounds.yMax = max[1]
-    bounds.xMin = min[0]
-    bounds.yMin = min[1]
-  }
-  var xScale = opts.width / Math.abs(bounds.xMax - bounds.xMin);
-  var yScale = opts.height / Math.abs(bounds.yMax - bounds.yMin);
-  var scale = xScale < yScale ? xScale : yScale;
-  var xoffset = opts.width / 2 - Math.abs(bounds.xMax - bounds.xMin) / 2 * scale;
-  var yoffset = opts.height / 2 - Math.abs(bounds.yMax - bounds.yMin) / 2 * scale;
-  for (var i = 0; i < data.length; i++) {
-    context.beginPath();
-    context.setLineWidth(mapOption.borderWidth * opts.pix);
-    context.setStrokeStyle(mapOption.borderColor);
-    context.setFillStyle(hexToRgb(series[i].color, series[i].fillOpacity||mapOption.fillOpacity));
-    if (mapOption.active == true && opts.tooltip) {
-      if (opts.tooltip.index == i) {
-        context.setStrokeStyle(mapOption.activeBorderColor);
-        context.setFillStyle(hexToRgb(mapOption.activeFillColor, mapOption.activeFillOpacity));
-      }
-    }
-    var coorda = data[i].geometry.coordinates
-    for (var k = 0; k < coorda.length; k++) {
-      coords = coorda[k];
-      if (coords.length == 1) {
-        coords = coords[0]
-      }
-      for (var j = 0; j < coords.length; j++) {
-        var gaosi = Array(2);
-        if (mapOption.mercator) {
-          gaosi = lonlat2mercator(coords[j][0], coords[j][1])
-        } else {
-          gaosi = coords[j]
-        }
-        point = coordinateToPoint(gaosi[1], gaosi[0], bounds, scale, xoffset, yoffset)
-        if (j === 0) {
-          context.beginPath();
-          context.moveTo(point.x, point.y);
-        } else {
-          context.lineTo(point.x, point.y);
-        }
-      }
-      context.fill();
-      if (mapOption.border == true) {
-        context.stroke();
-      }
-    }
-  }
-  if (opts.dataLabel == true) {
-    for (var i = 0; i < data.length; i++) {
-      var centerPoint = data[i].properties.centroid;
-      if (centerPoint) {
-        if (mapOption.mercator) {
-          centerPoint = lonlat2mercator(data[i].properties.centroid[0], data[i].properties.centroid[1])
-        }
-        point = coordinateToPoint(centerPoint[1], centerPoint[0], bounds, scale, xoffset, yoffset);
-        let fontSize = data[i].textSize * opts.pix || config.fontSize;
-        let fontColor = data[i].textColor || opts.fontColor;
-        if(mapOption.active && mapOption.activeTextColor && opts.tooltip && opts.tooltip.index == i){
-          fontColor = mapOption.activeTextColor;
-        }
-        let text = data[i].properties.name;
-        context.beginPath();
-        context.setFontSize(fontSize)
-        context.setFillStyle(fontColor)
-        context.fillText(text, point.x - measureText(text, fontSize, context) / 2, point.y + fontSize / 2);
-        context.closePath();
-        context.stroke();
-      }
-    }
-  }
-  opts.chartData.mapData = {
-    bounds: bounds,
-    scale: scale,
-    xoffset: xoffset,
-    yoffset: yoffset,
-    mercator: mapOption.mercator
-  }
-  drawToolTipBridge(opts, config, context, 1);
-  context.draw();
-}
-
-function normalInt(min, max, iter) {
-  iter = iter == 0 ? 1 : iter;
-  var arr = [];
-  for (var i = 0; i < iter; i++) {
-    arr[i] = Math.random();
-  };
-  return Math.floor(arr.reduce(function(i, j) {
-    return i + j
-  }) / iter * (max - min)) + min;
-};
-
-function collisionNew(area, points, width, height) {
-  var isIn = false;
-  for (let i = 0; i < points.length; i++) {
-    if (points[i].area) {
-      if (area[3] < points[i].area[1] || area[0] > points[i].area[2] || area[1] > points[i].area[3] || area[2] < points[i].area[0]) {
-        if (area[0] < 0 || area[1] < 0 || area[2] > width || area[3] > height) {
-          isIn = true;
-          break;
-        } else {
-          isIn = false;
-        }
-      } else {
-        isIn = true;
-        break;
-      }
-    }
-  }
-  return isIn;
-};
-
-function getWordCloudPoint(opts, type, context) {
-  let points = opts.series;
-  switch (type) {
-    case 'normal':
-      for (let i = 0; i < points.length; i++) {
-        let text = points[i].name;
-        let tHeight = points[i].textSize * opts.pix;
-        let tWidth = measureText(text, tHeight, context);
-        let x, y;
-        let area;
-        let breaknum = 0;
-        while (true) {
-          breaknum++;
-          x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;
-          y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;
-          area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 +
-            opts.height / 2
-          ];
-          let isCollision = collisionNew(area, points, opts.width, opts.height);
-          if (!isCollision) break;
-          if (breaknum == 1000) {
-            area = [-100, -100, -100, -100];
-            break;
-          }
-        };
-        points[i].area = area;
-      }
-      break;
-    case 'vertical':
-      function Spin() {
-        //鑾峰彇鍧囧寑闅忔満鍊硷紝鏄惁鏃嬭浆锛屾棆杞殑姒傜巼涓猴紙1-0.5锛�
-        if (Math.random() > 0.7) {
-          return true;
-        } else {
-          return false
-        };
-      };
-      for (let i = 0; i < points.length; i++) {
-        let text = points[i].name;
-        let tHeight = points[i].textSize * opts.pix;
-        let tWidth = measureText(text, tHeight, context);
-        let isSpin = Spin();
-        let x, y, area, areav;
-        let breaknum = 0;
-        while (true) {
-          breaknum++;
-          let isCollision;
-          if (isSpin) {
-            x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;
-            y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;
-            area = [y - 5 - tWidth + opts.width / 2, (-x - 5 + opts.height / 2), y + 5 + opts.width / 2, (-x + tHeight + 5 + opts.height / 2)];
-            areav = [opts.width - (opts.width / 2 - opts.height / 2) - (-x + tHeight + 5 + opts.height / 2) - 5, (opts.height / 2 - opts.width / 2) + (y - 5 - tWidth + opts.width / 2) - 5, opts.width - (opts.width / 2 - opts.height / 2) - (-x + tHeight + 5 + opts.height / 2) + tHeight, (opts.height / 2 - opts.width / 2) + (y - 5 - tWidth + opts.width / 2) + tWidth + 5];
-            isCollision = collisionNew(areav, points, opts.height, opts.width);
-          } else {
-            x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;
-            y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;
-            area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 + opts.height / 2];
-            isCollision = collisionNew(area, points, opts.width, opts.height);
-          }
-          if (!isCollision) break;
-          if (breaknum == 1000) {
-            area = [-1000, -1000, -1000, -1000];
-            break;
-          }
-        };
-        if (isSpin) {
-          points[i].area = areav;
-          points[i].areav = area;
-        } else {
-          points[i].area = area;
-        }
-        points[i].rotate = isSpin;
-      };
-      break;
-  }
-  return points;
-}
-
-function drawWordCloudDataPoints(series, opts, config, context) {
-  let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  let wordOption = assign({}, {
-    type: 'normal',
-    autoColors: true
-  }, opts.extra.word);
-  if (!opts.chartData.wordCloudData) {
-    opts.chartData.wordCloudData = getWordCloudPoint(opts, wordOption.type, context);
-  }
-  context.beginPath();
-  context.setFillStyle(opts.background);
-  context.rect(0, 0, opts.width, opts.height);
-  context.fill();
-  context.save();
-  let points = opts.chartData.wordCloudData;
-  context.translate(opts.width / 2, opts.height / 2);
-  for (let i = 0; i < points.length; i++) {
-    context.save();
-    if (points[i].rotate) {
-      context.rotate(90 * Math.PI / 180);
-    }
-    let text = points[i].name;
-    let tHeight = points[i].textSize * opts.pix;
-    let tWidth = measureText(text, tHeight, context);
-    context.beginPath();
-    context.setStrokeStyle(points[i].color);
-    context.setFillStyle(points[i].color);
-    context.setFontSize(tHeight);
-    if (points[i].rotate) {
-      if (points[i].areav[0] > 0) {
-        if (opts.tooltip) {
-          if (opts.tooltip.index == i) {
-            context.strokeText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);
-          } else {
-            context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);
-          }
-        } else {
-          context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);
-        }
-      }
-    } else {
-      if (points[i].area[0] > 0) {
-        if (opts.tooltip) {
-          if (opts.tooltip.index == i) {
-            context.strokeText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);
-          } else {
-            context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);
-          }
-        } else {
-          context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);
-        }
-      }
-    }
-    context.stroke();
-    context.restore();
-  }
-  context.restore();
-}
-
-function drawFunnelDataPoints(series, opts, config, context) {
-  let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;
-  let funnelOption = assign({}, {
-    type:'funnel',
-    activeWidth: 10,
-    activeOpacity: 0.3,
-    border: false,
-    borderWidth: 2,
-    borderColor: '#FFFFFF',
-    fillOpacity: 1,
-    minSize: 0,
-    labelAlign: 'right',
-    linearType: 'none',
-    customColor: [],
-  }, opts.extra.funnel);
-  let eachSpacing = (opts.height - opts.area[0] - opts.area[2]) / series.length;
-  let centerPosition = {
-    x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,
-    y: opts.height - opts.area[2]
-  };
-  let activeWidth = funnelOption.activeWidth * opts.pix;
-  let radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - activeWidth, (opts.height - opts.area[0] - opts.area[2]) / 2 - activeWidth);
-  let seriesNew = getFunnelDataPoints(series, radius, funnelOption, eachSpacing, process);
-  context.save();
-  context.translate(centerPosition.x, centerPosition.y);
-  funnelOption.customColor = fillCustomColor(funnelOption.linearType, funnelOption.customColor, series, config);
-  if(funnelOption.type == 'pyramid'){
-    for (let i = 0; i < seriesNew.length; i++) {
-      if (i == seriesNew.length -1) {
-        if (opts.tooltip) {
-          if (opts.tooltip.index == i) {
-            context.beginPath();
-            context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));
-            context.moveTo(-activeWidth, -eachSpacing);
-            context.lineTo(-seriesNew[i].radius - activeWidth, 0);
-            context.lineTo(seriesNew[i].radius + activeWidth, 0);
-            context.lineTo(activeWidth, -eachSpacing);
-            context.lineTo(-activeWidth, -eachSpacing);
-            context.closePath();
-            context.fill();
-          }
-        }
-        seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i];
-        context.beginPath();
-        context.setLineWidth(funnelOption.borderWidth * opts.pix);
-        context.setStrokeStyle(funnelOption.borderColor);
-        var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);
-        if (funnelOption.linearType == 'custom') {
-          var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);
-          grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));
-          grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));
-          grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));
-          fillColor = grd
-        }
-        context.setFillStyle(fillColor);
-        context.moveTo(0, -eachSpacing);
-        context.lineTo(-seriesNew[i].radius, 0);
-        context.lineTo(seriesNew[i].radius, 0);
-        context.lineTo(0, -eachSpacing);
-        context.closePath();
-        context.fill();
-        if (funnelOption.border == true) {
-          context.stroke();
-        }
-      } else {
-        if (opts.tooltip) {
-          if (opts.tooltip.index == i) {
-            context.beginPath();
-            context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));
-            context.moveTo(0, 0);
-            context.lineTo(-seriesNew[i].radius - activeWidth, 0);
-            context.lineTo(-seriesNew[i + 1].radius - activeWidth, -eachSpacing);
-            context.lineTo(seriesNew[i + 1].radius + activeWidth, -eachSpacing);
-            context.lineTo(seriesNew[i].radius + activeWidth, 0);
-            context.lineTo(0, 0);
-            context.closePath();
-            context.fill();
-          }
-        }
-        seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i];
-        context.beginPath();
-        context.setLineWidth(funnelOption.borderWidth * opts.pix);
-        context.setStrokeStyle(funnelOption.borderColor);
-        var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);
-        if (funnelOption.linearType == 'custom') {
-          var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);
-          grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));
-          grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));
-          grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));
-          fillColor = grd
-        }
-        context.setFillStyle(fillColor);
-        context.moveTo(0, 0);
-        context.lineTo(-seriesNew[i].radius, 0);
-        context.lineTo(-seriesNew[i + 1].radius, -eachSpacing);
-        context.lineTo(seriesNew[i + 1].radius, -eachSpacing);
-        context.lineTo(seriesNew[i].radius, 0);
-        context.lineTo(0, 0);
-        context.closePath();
-        context.fill();
-        if (funnelOption.border == true) {
-          context.stroke();
-        }
-      }
-      context.translate(0, -eachSpacing)
-    }
-  }else{
-    context.translate(0, - (seriesNew.length - 1) * eachSpacing);
-    for (let i = 0; i < seriesNew.length; i++) {
-      if (i == seriesNew.length - 1) {
-        if (opts.tooltip) {
-          if (opts.tooltip.index == i) {
-            context.beginPath();
-            context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));
-            context.moveTo(-activeWidth - funnelOption.minSize/2, 0);
-            context.lineTo(-seriesNew[i].radius - activeWidth, -eachSpacing);
-            context.lineTo(seriesNew[i].radius + activeWidth, -eachSpacing);
-            context.lineTo(activeWidth + funnelOption.minSize/2, 0);
-            context.lineTo(-activeWidth - funnelOption.minSize/2, 0);
-            context.closePath();
-            context.fill();
-          }
-        }
-        seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing, centerPosition.x + seriesNew[i].radius, centerPosition.y ];
-        context.beginPath();
-        context.setLineWidth(funnelOption.borderWidth * opts.pix);
-        context.setStrokeStyle(funnelOption.borderColor);
-        var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);
-        if (funnelOption.linearType == 'custom') {
-          var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);
-          grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));
-          grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));
-          grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));
-          fillColor = grd
-        }
-        context.setFillStyle(fillColor);
-        context.moveTo(0, 0);
-        context.lineTo(-funnelOption.minSize/2, 0);
-        context.lineTo(-seriesNew[i].radius, -eachSpacing);
-        context.lineTo(seriesNew[i].radius, -eachSpacing);
-        context.lineTo(funnelOption.minSize/2, 0);
-        context.lineTo(0, 0);
-        context.closePath();
-        context.fill();
-        if (funnelOption.border == true) {
-          context.stroke();
-        }
-      } else {
-        if (opts.tooltip) {
-          if (opts.tooltip.index == i) {
-            context.beginPath();
-            context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));
-            context.moveTo(0, 0);
-            context.lineTo(-seriesNew[i + 1].radius - activeWidth, 0);
-            context.lineTo(-seriesNew[i].radius - activeWidth, -eachSpacing);
-            context.lineTo(seriesNew[i].radius + activeWidth, -eachSpacing);
-            context.lineTo(seriesNew[i + 1].radius + activeWidth, 0);
-            context.lineTo(0, 0);
-            context.closePath();
-            context.fill();
-          }
-        }
-        seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (seriesNew.length - i), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * (seriesNew.length - i - 1)];
-        context.beginPath();
-        context.setLineWidth(funnelOption.borderWidth * opts.pix);
-        context.setStrokeStyle(funnelOption.borderColor);
-        var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);
-        if (funnelOption.linearType == 'custom') {
-          var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);
-          grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));
-          grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));
-          grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));
-          fillColor = grd
-        }
-        context.setFillStyle(fillColor);
-        context.moveTo(0, 0);
-        context.lineTo(-seriesNew[i + 1].radius, 0);
-        context.lineTo(-seriesNew[i].radius, -eachSpacing);
-        context.lineTo(seriesNew[i].radius, -eachSpacing);
-        context.lineTo(seriesNew[i + 1].radius, 0);
-        context.lineTo(0, 0);
-        context.closePath();
-        context.fill();
-        if (funnelOption.border == true) {
-          context.stroke();
-        }
-      }
-      context.translate(0, eachSpacing)
-    }
-  }
-  
-  context.restore();
-  if (opts.dataLabel !== false && process === 1) {
-    drawFunnelText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition);
-  }
-  if (process === 1) {
-    drawFunnelCenterText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition);
-  }
-  return {
-    center: centerPosition,
-    radius: radius,
-    series: seriesNew
-  };
-}
-
-function drawFunnelText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) {
-  for (let i = 0; i < series.length; i++) {
-    let item = series[i];
-    if(item.labelShow === false){
-      continue;
-    }
-    let startX, endX, startY, fontSize;
-    let text = item.formatter ? item.formatter(item,i,series,opts) : util.toFixed(item._proportion_ * 100) + '%';
-    text = item.labelText ? item.labelText : text;
-    if (labelAlign == 'right') {
-      if (i == series.length -1) {
-        startX = (item.funnelArea[2] + centerPosition.x) / 2;
-      } else {
-        startX = (item.funnelArea[2] + series[i + 1].funnelArea[2]) / 2;
-      }
-      endX = startX + activeWidth * 2;
-      startY = item.funnelArea[1] + eachSpacing / 2;
-      fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix;
-      context.setLineWidth(1 * opts.pix);
-      context.setStrokeStyle(item.color);
-      context.setFillStyle(item.color);
-      context.beginPath();
-      context.moveTo(startX, startY);
-      context.lineTo(endX, startY);
-      context.stroke();
-      context.closePath();
-      context.beginPath();
-      context.moveTo(endX, startY);
-      context.arc(endX, startY, 2 * opts.pix, 0, 2 * Math.PI);
-      context.closePath();
-      context.fill();
-      context.beginPath();
-      context.setFontSize(fontSize);
-      context.setFillStyle(item.textColor || opts.fontColor);
-      context.fillText(text, endX + 5, startY + fontSize / 2 - 2);
-      context.closePath();
-      context.stroke();
-      context.closePath();
-    }
-    if (labelAlign == 'left') {
-      if (i == series.length -1) {
-        startX = (item.funnelArea[0] + centerPosition.x) / 2;
-      } else {
-        startX = (item.funnelArea[0] + series[i + 1].funnelArea[0]) / 2;
-      }
-      endX = startX - activeWidth * 2;
-      startY = item.funnelArea[1] + eachSpacing / 2;
-      fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix;
-      context.setLineWidth(1 * opts.pix);
-      context.setStrokeStyle(item.color);
-      context.setFillStyle(item.color);
-      context.beginPath();
-      context.moveTo(startX, startY);
-      context.lineTo(endX, startY);
-      context.stroke();
-      context.closePath();
-      context.beginPath();
-      context.moveTo(endX, startY);
-      context.arc(endX, startY, 2, 0, 2 * Math.PI);
-      context.closePath();
-      context.fill();
-      context.beginPath();
-      context.setFontSize(fontSize);
-      context.setFillStyle(item.textColor || opts.fontColor);
-      context.fillText(text, endX - 5 - measureText(text, fontSize, context), startY + fontSize / 2 - 2);
-      context.closePath();
-      context.stroke();
-      context.closePath();
-    }
-  }
-}
-
-function drawFunnelCenterText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) {
-  for (let i = 0; i < series.length; i++) {
-    let item = series[i];
-    let startY, fontSize;
-    if (item.centerText) {
-      startY = item.funnelArea[1] + eachSpacing / 2;
-      fontSize = item.centerTextSize * opts.pix || opts.fontSize * opts.pix;
-      context.beginPath();
-      context.setFontSize(fontSize);
-      context.setFillStyle(item.centerTextColor || "#FFFFFF");
-      context.fillText(item.centerText, centerPosition.x - measureText(item.centerText, fontSize, context) / 2, startY + fontSize / 2 - 2);
-      context.closePath();
-      context.stroke();
-      context.closePath();
-    }
-  }
-}
-
-
-function drawCanvas(opts, context) {
-  context.save();
-  context.translate(0, 0.5);
-  context.restore();
-  context.draw();
-}
-
-var Timing = {
-  easeIn: function easeIn(pos) {
-    return Math.pow(pos, 3);
-  },
-  easeOut: function easeOut(pos) {
-    return Math.pow(pos - 1, 3) + 1;
-  },
-  easeInOut: function easeInOut(pos) {
-    if ((pos /= 0.5) < 1) {
-      return 0.5 * Math.pow(pos, 3);
-    } else {
-      return 0.5 * (Math.pow(pos - 2, 3) + 2);
-    }
-  },
-  linear: function linear(pos) {
-    return pos;
-  }
-};
-
-function Animation(opts) {
-  this.isStop = false;
-  opts.duration = typeof opts.duration === 'undefined' ? 1000 : opts.duration;
-  opts.timing = opts.timing || 'easeInOut';
-  var delay = 17;
-  function createAnimationFrame() {
-    if (typeof setTimeout !== 'undefined') {
-      return function(step, delay) {
-        setTimeout(function() {
-          var timeStamp = +new Date();
-          step(timeStamp);
-        }, delay);
-      };
-    } else if (typeof requestAnimationFrame !== 'undefined') {
-      return requestAnimationFrame;
-    } else {
-      return function(step) {
-        step(null);
-      };
-    }
-  };
-  var animationFrame = createAnimationFrame();
-  var startTimeStamp = null;
-  var _step = function step(timestamp) {
-    if (timestamp === null || this.isStop === true) {
-      opts.onProcess && opts.onProcess(1);
-      opts.onAnimationFinish && opts.onAnimationFinish();
-      return;
-    }
-    if (startTimeStamp === null) {
-      startTimeStamp = timestamp;
-    }
-    if (timestamp - startTimeStamp < opts.duration) {
-      var process = (timestamp - startTimeStamp) / opts.duration;
-      var timingFunction = Timing[opts.timing];
-      process = timingFunction(process);
-      opts.onProcess && opts.onProcess(process);
-      animationFrame(_step, delay);
-    } else {
-      opts.onProcess && opts.onProcess(1);
-      opts.onAnimationFinish && opts.onAnimationFinish();
-    }
-  };
-  _step = _step.bind(this);
-  animationFrame(_step, delay);
-}
-
-Animation.prototype.stop = function() {
-  this.isStop = true;
-};
-
-function drawCharts(type, opts, config, context) {
-  var _this = this;
-  var series = opts.series;
-  //鍏煎ECharts楗煎浘绫绘暟鎹牸寮�
-  if (type === 'pie' || type === 'ring' || type === 'mount' || type === 'rose' || type === 'funnel') {
-    series = fixPieSeries(series, opts, config);
-  }
-  var categories = opts.categories;
-  if (type === 'mount') {
-    categories = [];
-    for (let j = 0; j < series.length; j++) {
-      if(series[j].show !== false) categories.push(series[j].name)
-    }
-    opts.categories = categories;
-  }
-  series = fillSeries(series, opts, config);
-  var duration = opts.animation ? opts.duration : 0;
-  _this.animationInstance && _this.animationInstance.stop();
-  var seriesMA = null;
-  if (type == 'candle') {
-    let average = assign({}, opts.extra.candle.average);
-    if (average.show) {
-      seriesMA = calCandleMA(average.day, average.name, average.color, series[0].data);
-      seriesMA = fillSeries(seriesMA, opts, config);
-      opts.seriesMA = seriesMA;
-    } else if (opts.seriesMA) {
-      seriesMA = opts.seriesMA = fillSeries(opts.seriesMA, opts, config);
-    } else {
-      seriesMA = series;
-    }
-  } else {
-    seriesMA = series;
-  }
-  /* 杩囨护鎺塻how=false鐨剆eries */
-  opts._series_ = series = filterSeries(series);
-  //閲嶆柊璁$畻鍥捐〃鍖哄煙
-  opts.area = new Array(4);
-  //澶嶄綅缁樺浘鍖哄煙
-  for (let j = 0; j < 4; j++) {
-    opts.area[j] = opts.padding[j] * opts.pix;
-  }
-  //閫氳繃璁$畻涓夊ぇ鍖哄煙锛氬浘渚嬨�乆杞淬�乊杞寸殑澶у皬锛岀‘瀹氱粯鍥惧尯鍩�
-  var _calLegendData = calLegendData(seriesMA, opts, config, opts.chartData, context),
-    legendHeight = _calLegendData.area.wholeHeight,
-    legendWidth = _calLegendData.area.wholeWidth;
-
-  switch (opts.legend.position) {
-    case 'top':
-      opts.area[0] += legendHeight;
-      break;
-    case 'bottom':
-      opts.area[2] += legendHeight;
-      break;
-    case 'left':
-      opts.area[3] += legendWidth;
-      break;
-    case 'right':
-      opts.area[1] += legendWidth;
-      break;
-  }
-
-  let _calYAxisData = {},
-    yAxisWidth = 0;
-  if (opts.type === 'line' || opts.type === 'column'|| opts.type === 'mount' || opts.type === 'area' || opts.type === 'mix' || opts.type === 'candle' || opts.type === 'scatter'  || opts.type === 'bubble' || opts.type === 'bar') {
-      _calYAxisData = calYAxisData(series, opts, config, context);
-      yAxisWidth = _calYAxisData.yAxisWidth;
-    //濡傛灉鏄剧ずY杞存爣棰�
-    if (opts.yAxis.showTitle) {
-      let maxTitleHeight = 0;
-      for (let i = 0; i < opts.yAxis.data.length; i++) {
-        maxTitleHeight = Math.max(maxTitleHeight, opts.yAxis.data[i].titleFontSize ? opts.yAxis.data[i].titleFontSize * opts.pix : config.fontSize)
-      }
-      opts.area[0] += maxTitleHeight;
-    }
-    let rightIndex = 0,
-      leftIndex = 0;
-    //璁$畻涓荤粯鍥惧尯鍩熷乏鍙充綅缃�
-    for (let i = 0; i < yAxisWidth.length; i++) {
-      if (yAxisWidth[i].position == 'left') {
-        if (leftIndex > 0) {
-          opts.area[3] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix;
-        } else {
-          opts.area[3] += yAxisWidth[i].width;
-        }
-        leftIndex += 1;
-      } else if (yAxisWidth[i].position == 'right') {
-        if (rightIndex > 0) {
-          opts.area[1] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix;
-        } else {
-          opts.area[1] += yAxisWidth[i].width;
-        }
-        rightIndex += 1;
-      }
-    }
-  } else {
-    config.yAxisWidth = yAxisWidth;
-  }
-  opts.chartData.yAxisData = _calYAxisData;
-
-  if (opts.categories && opts.categories.length && opts.type !== 'radar' && opts.type !== 'gauge' && opts.type !== 'bar') {
-    opts.chartData.xAxisData = getXAxisPoints(opts.categories, opts, config);
-    let _calCategoriesData = calCategoriesData(opts.categories, opts, config, opts.chartData.xAxisData.eachSpacing, context),
-      xAxisHeight = _calCategoriesData.xAxisHeight,
-      angle = _calCategoriesData.angle;
-    config.xAxisHeight = xAxisHeight;
-    config._xAxisTextAngle_ = angle;
-    opts.area[2] += xAxisHeight;
-    opts.chartData.categoriesData = _calCategoriesData;
-  } else {
-    if (opts.type === 'line' || opts.type === 'area' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') {
-      opts.chartData.xAxisData = calXAxisData(series, opts, config, context);
-      categories = opts.chartData.xAxisData.rangesFormat;
-      let _calCategoriesData = calCategoriesData(categories, opts, config, opts.chartData.xAxisData.eachSpacing, context),
-        xAxisHeight = _calCategoriesData.xAxisHeight,
-        angle = _calCategoriesData.angle;
-      config.xAxisHeight = xAxisHeight;
-      config._xAxisTextAngle_ = angle;
-      opts.area[2] += xAxisHeight;
-      opts.chartData.categoriesData = _calCategoriesData;
-    } else {
-      opts.chartData.xAxisData = {
-        xAxisPoints: []
-      };
-    }
-  }
-
-  //璁$畻鍙冲榻愬亸绉昏窛绂�
-  if (opts.enableScroll && opts.xAxis.scrollAlign == 'right' && opts._scrollDistance_ === undefined) {
-    let offsetLeft = 0,
-      xAxisPoints = opts.chartData.xAxisData.xAxisPoints,
-      startX = opts.chartData.xAxisData.startX,
-      endX = opts.chartData.xAxisData.endX,
-      eachSpacing = opts.chartData.xAxisData.eachSpacing;
-    let totalWidth = eachSpacing * (xAxisPoints.length - 1);
-    let screenWidth = endX - startX;
-    offsetLeft = screenWidth - totalWidth;
-    _this.scrollOption.currentOffset = offsetLeft;
-    _this.scrollOption.startTouchX = offsetLeft;
-    _this.scrollOption.distance = 0;
-    _this.scrollOption.lastMoveTime = 0;
-    opts._scrollDistance_ = offsetLeft;
-  }
-
-  if (type === 'pie' || type === 'ring' || type === 'rose') {
-    config._pieTextMaxLength_ = opts.dataLabel === false ? 0 : getPieTextMaxLength(seriesMA, config, context, opts);
-  }
-  
-  switch (type) {
-    case 'word':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          drawWordCloudDataPoints(series, opts, config, context, process);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'map':
-      context.clearRect(0, 0, opts.width, opts.height);
-      drawMapDataPoints(series, opts, config, context);
-      setTimeout(()=>{
-        this.uevent.trigger('renderComplete');
-      },50)
-      break;
-    case 'funnel':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          opts.chartData.funnelData = drawFunnelDataPoints(series, opts, config, context, process);
-          drawLegend(opts.series, opts, config, context, opts.chartData);
-          drawToolTipBridge(opts, config, context, process);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'line':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          drawYAxisGrid(categories, opts, config, context);
-          drawXAxis(categories, opts, config, context);
-          var _drawLineDataPoints = drawLineDataPoints(series, opts, config, context, process),
-            xAxisPoints = _drawLineDataPoints.xAxisPoints,
-            calPoints = _drawLineDataPoints.calPoints,
-            eachSpacing = _drawLineDataPoints.eachSpacing;
-          opts.chartData.xAxisPoints = xAxisPoints;
-          opts.chartData.calPoints = calPoints;
-          opts.chartData.eachSpacing = eachSpacing;
-          drawYAxis(series, opts, config, context);
-          if (opts.enableMarkLine !== false && process === 1) {
-            drawMarkLine(opts, config, context);
-          }
-          drawLegend(opts.series, opts, config, context, opts.chartData);
-          drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'scatter':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          drawYAxisGrid(categories, opts, config, context);
-          drawXAxis(categories, opts, config, context);
-          var _drawScatterDataPoints = drawScatterDataPoints(series, opts, config, context, process),
-            xAxisPoints = _drawScatterDataPoints.xAxisPoints,
-            calPoints = _drawScatterDataPoints.calPoints,
-            eachSpacing = _drawScatterDataPoints.eachSpacing;
-          opts.chartData.xAxisPoints = xAxisPoints;
-          opts.chartData.calPoints = calPoints;
-          opts.chartData.eachSpacing = eachSpacing;
-          drawYAxis(series, opts, config, context);
-          if (opts.enableMarkLine !== false && process === 1) {
-            drawMarkLine(opts, config, context);
-          }
-          drawLegend(opts.series, opts, config, context, opts.chartData);
-          drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'bubble':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          drawYAxisGrid(categories, opts, config, context);
-          drawXAxis(categories, opts, config, context);
-          var _drawBubbleDataPoints = drawBubbleDataPoints(series, opts, config, context, process),
-            xAxisPoints = _drawBubbleDataPoints.xAxisPoints,
-            calPoints = _drawBubbleDataPoints.calPoints,
-            eachSpacing = _drawBubbleDataPoints.eachSpacing;
-          opts.chartData.xAxisPoints = xAxisPoints;
-          opts.chartData.calPoints = calPoints;
-          opts.chartData.eachSpacing = eachSpacing;
-          drawYAxis(series, opts, config, context);
-          if (opts.enableMarkLine !== false && process === 1) {
-            drawMarkLine(opts, config, context);
-          }
-          drawLegend(opts.series, opts, config, context, opts.chartData);
-          drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'mix':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          drawYAxisGrid(categories, opts, config, context);
-          drawXAxis(categories, opts, config, context);
-          var _drawMixDataPoints = drawMixDataPoints(series, opts, config, context, process),
-            xAxisPoints = _drawMixDataPoints.xAxisPoints,
-            calPoints = _drawMixDataPoints.calPoints,
-            eachSpacing = _drawMixDataPoints.eachSpacing;
-          opts.chartData.xAxisPoints = xAxisPoints;
-          opts.chartData.calPoints = calPoints;
-          opts.chartData.eachSpacing = eachSpacing;
-          drawYAxis(series, opts, config, context);
-          if (opts.enableMarkLine !== false && process === 1) {
-            drawMarkLine(opts, config, context);
-          }
-          drawLegend(opts.series, opts, config, context, opts.chartData);
-          drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'column':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          drawYAxisGrid(categories, opts, config, context);
-          drawXAxis(categories, opts, config, context);
-          var _drawColumnDataPoints = drawColumnDataPoints(series, opts, config, context, process),
-            xAxisPoints = _drawColumnDataPoints.xAxisPoints,
-            calPoints = _drawColumnDataPoints.calPoints,
-            eachSpacing = _drawColumnDataPoints.eachSpacing;
-          opts.chartData.xAxisPoints = xAxisPoints;
-          opts.chartData.calPoints = calPoints;
-          opts.chartData.eachSpacing = eachSpacing;
-          drawYAxis(series, opts, config, context);
-          if (opts.enableMarkLine !== false && process === 1) {
-            drawMarkLine(opts, config, context);
-          }
-          drawLegend(opts.series, opts, config, context, opts.chartData);
-          drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'mount':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          drawYAxisGrid(categories, opts, config, context);
-          drawXAxis(categories, opts, config, context);
-          var _drawMountDataPoints = drawMountDataPoints(series, opts, config, context, process),
-            xAxisPoints = _drawMountDataPoints.xAxisPoints,
-            calPoints = _drawMountDataPoints.calPoints,
-            eachSpacing = _drawMountDataPoints.eachSpacing;
-          opts.chartData.xAxisPoints = xAxisPoints;
-          opts.chartData.calPoints = calPoints;
-          opts.chartData.eachSpacing = eachSpacing;
-          drawYAxis(series, opts, config, context);
-          if (opts.enableMarkLine !== false && process === 1) {
-            drawMarkLine(opts, config, context);
-          }
-          drawLegend(opts.series, opts, config, context, opts.chartData);
-          drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'bar':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          drawXAxis(categories, opts, config, context);
-          var _drawBarDataPoints = drawBarDataPoints(series, opts, config, context, process),
-            yAxisPoints = _drawBarDataPoints.yAxisPoints,
-            calPoints = _drawBarDataPoints.calPoints,
-            eachSpacing = _drawBarDataPoints.eachSpacing;
-          opts.chartData.yAxisPoints = yAxisPoints;
-          opts.chartData.xAxisPoints = opts.chartData.xAxisData.xAxisPoints;
-          opts.chartData.calPoints = calPoints;
-          opts.chartData.eachSpacing = eachSpacing;
-          drawYAxis(series, opts, config, context);
-          if (opts.enableMarkLine !== false && process === 1) {
-            drawMarkLine(opts, config, context);
-          }
-          drawLegend(opts.series, opts, config, context, opts.chartData);
-          drawToolTipBridge(opts, config, context, process, eachSpacing, yAxisPoints);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'area':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          drawYAxisGrid(categories, opts, config, context);
-          drawXAxis(categories, opts, config, context);
-          var _drawAreaDataPoints = drawAreaDataPoints(series, opts, config, context, process),
-            xAxisPoints = _drawAreaDataPoints.xAxisPoints,
-            calPoints = _drawAreaDataPoints.calPoints,
-            eachSpacing = _drawAreaDataPoints.eachSpacing;
-          opts.chartData.xAxisPoints = xAxisPoints;
-          opts.chartData.calPoints = calPoints;
-          opts.chartData.eachSpacing = eachSpacing;
-          drawYAxis(series, opts, config, context);
-          if (opts.enableMarkLine !== false && process === 1) {
-            drawMarkLine(opts, config, context);
-          }
-          drawLegend(opts.series, opts, config, context, opts.chartData);
-          drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'ring':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process);
-          drawLegend(opts.series, opts, config, context, opts.chartData);
-          drawToolTipBridge(opts, config, context, process);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'pie':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process);
-          drawLegend(opts.series, opts, config, context, opts.chartData);
-          drawToolTipBridge(opts, config, context, process);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'rose':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          opts.chartData.pieData = drawRoseDataPoints(series, opts, config, context, process);
-          drawLegend(opts.series, opts, config, context, opts.chartData);
-          drawToolTipBridge(opts, config, context, process);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'radar':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          opts.chartData.radarData = drawRadarDataPoints(series, opts, config, context, process);
-          drawLegend(opts.series, opts, config, context, opts.chartData);
-          drawToolTipBridge(opts, config, context, process);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'arcbar':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          opts.chartData.arcbarData = drawArcbarDataPoints(series, opts, config, context, process);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'gauge':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          opts.chartData.gaugeData = drawGaugeDataPoints(categories, series, opts, config, context, process);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-    case 'candle':
-      this.animationInstance = new Animation({
-        timing: opts.timing,
-        duration: duration,
-        onProcess: function onProcess(process) {
-          context.clearRect(0, 0, opts.width, opts.height);
-          if (opts.rotate) {
-            contextRotate(context, opts);
-          }
-          drawYAxisGrid(categories, opts, config, context);
-          drawXAxis(categories, opts, config, context);
-          var _drawCandleDataPoints = drawCandleDataPoints(series, seriesMA, opts, config, context, process),
-            xAxisPoints = _drawCandleDataPoints.xAxisPoints,
-            calPoints = _drawCandleDataPoints.calPoints,
-            eachSpacing = _drawCandleDataPoints.eachSpacing;
-          opts.chartData.xAxisPoints = xAxisPoints;
-          opts.chartData.calPoints = calPoints;
-          opts.chartData.eachSpacing = eachSpacing;
-          drawYAxis(series, opts, config, context);
-          if (opts.enableMarkLine !== false && process === 1) {
-            drawMarkLine(opts, config, context);
-          }
-          if (seriesMA) {
-            drawLegend(seriesMA, opts, config, context, opts.chartData);
-          } else {
-            drawLegend(opts.series, opts, config, context, opts.chartData);
-          }
-          drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);
-          drawCanvas(opts, context);
-        },
-        onAnimationFinish: function onAnimationFinish() {
-          _this.uevent.trigger('renderComplete');
-        }
-      });
-      break;
-  }
-}
-
-function uChartsEvent() {
-  this.events = {};
-}
-
-uChartsEvent.prototype.addEventListener = function(type, listener) {
-  this.events[type] = this.events[type] || [];
-  this.events[type].push(listener);
-};
-
-uChartsEvent.prototype.delEventListener = function(type) {
-  this.events[type] = [];
-};
-
-uChartsEvent.prototype.trigger = function() {
-  for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
-    args[_key] = arguments[_key];
-  }
-  var type = args[0];
-  var params = args.slice(1);
-  if (!!this.events[type]) {
-    this.events[type].forEach(function(listener) {
-      try {
-        listener.apply(null, params);
-      } catch (e) {
-          //console.log('[uCharts] '+e);
-      }
-    });
-  }
-};
-
-var uCharts = function uCharts(opts) {
-  opts.pix = opts.pixelRatio ? opts.pixelRatio : 1;
-  opts.fontSize = opts.fontSize ? opts.fontSize : 13;
-  opts.fontColor = opts.fontColor ? opts.fontColor : config.fontColor;
-  if (opts.background == "" || opts.background == "none") {
-    opts.background = "#FFFFFF"
-  }
-  opts.title = assign({}, opts.title);
-  opts.subtitle = assign({}, opts.subtitle);
-  opts.duration = opts.duration ? opts.duration : 1000;
-  opts.yAxis = assign({}, {
-    data: [],
-    showTitle: false,
-    disabled: false,
-    disableGrid: false,
-    gridSet: 'number',
-    splitNumber: 5,
-    gridType: 'solid',
-    dashLength: 4 * opts.pix,
-    gridColor: '#cccccc',
-    padding: 10,
-    fontColor: '#666666'
-  }, opts.yAxis);
-  opts.xAxis = assign({}, {
-    rotateLabel: false,
-    rotateAngle:45,
-    disabled: false,
-    disableGrid: false,
-    splitNumber: 5,
-    calibration:false,
-    fontColor: '#666666',
-    fontSize: 13,
-    lineHeight: 20,
-    marginTop: 0,
-    gridType: 'solid',
-    dashLength: 4,
-    scrollAlign: 'left',
-    boundaryGap: 'center',
-    axisLine: true,
-    axisLineColor: '#cccccc',
-    titleFontSize: 13,
-    titleOffsetY: 0,
-    titleOffsetX: 0,
-    titleFontColor: '#666666'
-  }, opts.xAxis);
-  opts.xAxis.scrollPosition = opts.xAxis.scrollAlign;
-  opts.legend = assign({}, {
-    show: true,
-    position: 'bottom',
-    float: 'center',
-    backgroundColor: 'rgba(0,0,0,0)',
-    borderColor: 'rgba(0,0,0,0)',
-    borderWidth: 0,
-    padding: 5,
-    margin: 5,
-    itemGap: 10,
-    fontSize: opts.fontSize,
-    lineHeight: opts.fontSize,
-    fontColor: opts.fontColor,
-    formatter: {},
-    hiddenColor: '#CECECE'
-  }, opts.legend);
-  opts.extra = assign({
-    tooltip:{
-      legendShape: 'auto'
-    }
-  }, opts.extra);
-  opts.rotate = opts.rotate ? true : false;
-  opts.animation = opts.animation ? true : false;
-  opts.rotate = opts.rotate ? true : false;
-  opts.canvas2d = opts.canvas2d ? true : false;
-  
-  let config$$1 = assign({}, config);
-  config$$1.color = opts.color ? opts.color : config$$1.color;
-  if (opts.type == 'pie') {
-    config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.pie.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;
-  }
-  if (opts.type == 'ring') {
-    config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.ring.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;
-  }
-  if (opts.type == 'rose') {
-    config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.rose.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;
-  }
-  config$$1.pieChartTextPadding = opts.dataLabel === false ? 0 : config$$1.pieChartTextPadding * opts.pix;
-
-  //灞忓箷鏃嬭浆
-  config$$1.rotate = opts.rotate;
-  if (opts.rotate) {
-    let tempWidth = opts.width;
-    let tempHeight = opts.height;
-    opts.width = tempHeight;
-    opts.height = tempWidth;
-  }
-
-  //閫傞厤楂樺垎灞�
-  opts.padding = opts.padding ? opts.padding : config$$1.padding;
-  config$$1.yAxisWidth = config.yAxisWidth * opts.pix;
-  config$$1.fontSize = opts.fontSize * opts.pix;
-  config$$1.titleFontSize = config.titleFontSize * opts.pix;
-  config$$1.subtitleFontSize = config.subtitleFontSize * opts.pix;
-  if(!opts.context){
-    throw new Error('[uCharts] 鏈幏鍙栧埌context锛佹敞鎰忥細v2.0鐗堟湰鍚庯紝闇�瑕佽嚜琛岃幏鍙朿anvas鐨勭粯鍥句笂涓嬫枃骞朵紶鍏pts.context锛�');
-  }
-  this.context = opts.context;
-  if (!this.context.setTextAlign) {
-    this.context.setStrokeStyle = function(e) {
-      return this.strokeStyle = e;
-    }
-    this.context.setLineWidth = function(e) {
-      return this.lineWidth = e;
-    }
-    this.context.setLineCap = function(e) {
-      return this.lineCap = e;
-    }
-    this.context.setFontSize = function(e) {
-      return this.font = e + "px sans-serif";
-    }
-    this.context.setFillStyle = function(e) {
-      return this.fillStyle = e;
-    }
-    this.context.setTextAlign = function(e) {
-      return this.textAlign = e;
-    }
-    this.context.setTextBaseline = function(e) {
-      return this.textBaseline = e;
-    }
-    this.context.setShadow = function(offsetX,offsetY,blur,color) {
-      this.shadowColor = color;
-      this.shadowOffsetX = offsetX;
-      this.shadowOffsetY = offsetY;
-      this.shadowBlur = blur;
-    }
-    this.context.draw = function() {}
-  }
-  //鍏煎NVUEsetLineDash
-  if(!this.context.setLineDash){
-    this.context.setLineDash = function(e) {}
-  }
-  opts.chartData = {};
-  this.uevent = new uChartsEvent();
-  this.scrollOption = {
-    currentOffset: 0,
-    startTouchX: 0,
-    distance: 0,
-    lastMoveTime: 0
-  };
-  this.opts = opts;
-  this.config = config$$1;
-  drawCharts.call(this, opts.type, opts, config$$1, this.context);
-};
-
-uCharts.prototype.updateData = function() {
-  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-  this.opts = assign({}, this.opts, data);
-  this.opts.updateData = true;
-  let scrollPosition = data.scrollPosition || 'current';
-  switch (scrollPosition) {
-    case 'current':
-      this.opts._scrollDistance_ = this.scrollOption.currentOffset;
-      break;
-    case 'left':
-      this.opts._scrollDistance_ = 0;
-      this.scrollOption = {
-        currentOffset: 0,
-        startTouchX: 0,
-        distance: 0,
-        lastMoveTime: 0
-      };
-      break;
-    case 'right':
-      let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context), yAxisWidth = _calYAxisData.yAxisWidth;
-      this.config.yAxisWidth = yAxisWidth;
-      let offsetLeft = 0;
-      let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), xAxisPoints = _getXAxisPoints0.xAxisPoints,
-        startX = _getXAxisPoints0.startX,
-        endX = _getXAxisPoints0.endX,
-        eachSpacing = _getXAxisPoints0.eachSpacing;
-      let totalWidth = eachSpacing * (xAxisPoints.length - 1);
-      let screenWidth = endX - startX;
-      offsetLeft = screenWidth - totalWidth;
-      this.scrollOption = {
-        currentOffset: offsetLeft,
-        startTouchX: offsetLeft,
-        distance: 0,
-        lastMoveTime: 0
-      };
-      this.opts._scrollDistance_ = offsetLeft;
-      break;
-  }
-  drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);
-};
-
-uCharts.prototype.zoom = function() {
-  var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.opts.xAxis.itemCount;
-  if (this.opts.enableScroll !== true) {
-    console.log('[uCharts] 璇峰惎鐢ㄦ粴鍔ㄦ潯鍚庝娇鐢�')
-    return;
-  }
-  //褰撳墠灞忓箷涓棿鐐�
-  let centerPoint = Math.round(Math.abs(this.scrollOption.currentOffset) / this.opts.chartData.eachSpacing) + Math.round(this.opts.xAxis.itemCount / 2);
-  this.opts.animation = false;
-  this.opts.xAxis.itemCount = val.itemCount;
-  //閲嶆柊璁$畻x杞村亸绉昏窛绂�
-  let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context),
-    yAxisWidth = _calYAxisData.yAxisWidth;
-  this.config.yAxisWidth = yAxisWidth;
-  let offsetLeft = 0;
-  let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),
-    xAxisPoints = _getXAxisPoints0.xAxisPoints,
-    startX = _getXAxisPoints0.startX,
-    endX = _getXAxisPoints0.endX,
-    eachSpacing = _getXAxisPoints0.eachSpacing;
-  let centerLeft = eachSpacing * centerPoint;
-  let screenWidth = endX - startX;
-  let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1);
-  offsetLeft = screenWidth / 2 - centerLeft;
-  if (offsetLeft > 0) {
-    offsetLeft = 0;
-  }
-  if (offsetLeft < MaxLeft) {
-    offsetLeft = MaxLeft;
-  }
-  this.scrollOption = {
-    currentOffset: offsetLeft,
-    startTouchX: 0,
-    distance: 0,
-    lastMoveTime: 0
-  };
-  calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts);
-  this.opts._scrollDistance_ = offsetLeft;
-  drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);
-};
-
-uCharts.prototype.dobuleZoom = function(e) {
-  if (this.opts.enableScroll !== true) {
-    console.log('[uCharts] 璇峰惎鐢ㄦ粴鍔ㄦ潯鍚庝娇鐢�')
-    return;
-  }
-  const tcs = e.changedTouches;
-  if (tcs.length < 2) {
-    return;
-  }
-  for (var i = 0; i < tcs.length; i++) {
-    tcs[i].x = tcs[i].x ? tcs[i].x : tcs[i].clientX;
-    tcs[i].y = tcs[i].y ? tcs[i].y : tcs[i].clientY;
-  }
-  const ntcs = [getTouches(tcs[0], this.opts, e),getTouches(tcs[1], this.opts, e)]; 
-  const xlength = Math.abs(ntcs[0].x - ntcs[1].x);
-  // 璁板綍鍒濆鐨勪袱鎸囦箣闂寸殑鏁版嵁
-  if(!this.scrollOption.moveCount){
-    let cts0 = {changedTouches:[{x:tcs[0].x,y:this.opts.area[0] / this.opts.pix + 2}]};
-    let cts1 = {changedTouches:[{x:tcs[1].x,y:this.opts.area[0] / this.opts.pix + 2}]};
-    if(this.opts.rotate){
-      cts0 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[0].y}]};
-      cts1 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[1].y}]};
-    }
-    const moveCurrent1 = this.getCurrentDataIndex(cts0).index;
-    const moveCurrent2 = this.getCurrentDataIndex(cts1).index;
-    const moveCount = Math.abs(moveCurrent1 - moveCurrent2);
-    this.scrollOption.moveCount = moveCount;
-    this.scrollOption.moveCurrent1 = Math.min(moveCurrent1, moveCurrent2);
-    this.scrollOption.moveCurrent2 = Math.max(moveCurrent1, moveCurrent2);
-    return;
-  }
-  
-  let currentEachSpacing = xlength / this.scrollOption.moveCount;
-  let itemCount = (this.opts.width - this.opts.area[1] - this.opts.area[3]) / currentEachSpacing;
-  itemCount = itemCount <= 2 ? 2 : itemCount;
-  itemCount = itemCount >= this.opts.categories.length ? this.opts.categories.length : itemCount;
-  this.opts.animation = false;
-  this.opts.xAxis.itemCount = itemCount;
-  // 閲嶆柊璁$畻婊氬姩鏉″亸绉昏窛绂�
-  let offsetLeft = 0;
-  let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),
-    xAxisPoints = _getXAxisPoints0.xAxisPoints,
-    startX = _getXAxisPoints0.startX,
-    endX = _getXAxisPoints0.endX,
-    eachSpacing = _getXAxisPoints0.eachSpacing;
-  let currentLeft = eachSpacing * this.scrollOption.moveCurrent1;
-  let screenWidth = endX - startX;
-  let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1);
-  offsetLeft = -currentLeft+Math.min(ntcs[0].x,ntcs[1].x)-this.opts.area[3]-eachSpacing;
-  if (offsetLeft > 0) {
-    offsetLeft = 0;
-  }
-  if (offsetLeft < MaxLeft) {
-    offsetLeft = MaxLeft;
-  }
-  this.scrollOption.currentOffset= offsetLeft;
-  this.scrollOption.startTouchX= 0;
-  this.scrollOption.distance=0;
-  calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts);
-  this.opts._scrollDistance_ = offsetLeft;
-  drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);
-}
-
-uCharts.prototype.stopAnimation = function() {
-  this.animationInstance && this.animationInstance.stop();
-};
-
-uCharts.prototype.addEventListener = function(type, listener) {
-  this.uevent.addEventListener(type, listener);
-};
-
-uCharts.prototype.delEventListener = function(type) {
-  this.uevent.delEventListener(type);
-};
-
-uCharts.prototype.getCurrentDataIndex = function(e) {
-  var touches = null;
-  if (e.changedTouches) {
-    touches = e.changedTouches[0];
-  } else {
-    touches = e.mp.changedTouches[0];
-  }
-  if (touches) {
-    let _touches$ = getTouches(touches, this.opts, e);
-    if (this.opts.type === 'pie' || this.opts.type === 'ring') {
-      return findPieChartCurrentIndex({
-        x: _touches$.x,
-        y: _touches$.y
-      }, this.opts.chartData.pieData, this.opts);
-    } else if (this.opts.type === 'rose') {
-      return findRoseChartCurrentIndex({
-        x: _touches$.x,
-        y: _touches$.y
-      }, this.opts.chartData.pieData, this.opts);
-    } else if (this.opts.type === 'radar') {
-      return findRadarChartCurrentIndex({
-        x: _touches$.x,
-        y: _touches$.y
-      }, this.opts.chartData.radarData, this.opts.categories.length);
-    } else if (this.opts.type === 'funnel') {
-      return findFunnelChartCurrentIndex({
-        x: _touches$.x,
-        y: _touches$.y
-      }, this.opts.chartData.funnelData);
-    } else if (this.opts.type === 'map') {
-      return findMapChartCurrentIndex({
-        x: _touches$.x,
-        y: _touches$.y
-      }, this.opts);
-    } else if (this.opts.type === 'word') {
-      return findWordChartCurrentIndex({
-        x: _touches$.x,
-        y: _touches$.y
-      }, this.opts.chartData.wordCloudData);
-    } else if (this.opts.type === 'bar') {
-      return findBarChartCurrentIndex({
-        x: _touches$.x,
-        y: _touches$.y
-      }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset));
-    } else {
-      return findCurrentIndex({
-        x: _touches$.x,
-        y: _touches$.y
-      }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset));
-    }
-  }
-  return -1;
-};
-
-uCharts.prototype.getLegendDataIndex = function(e) {
-  var touches = null;
-  if (e.changedTouches) {
-    touches = e.changedTouches[0];
-  } else {
-    touches = e.mp.changedTouches[0];
-  }
-  if (touches) {
-    let _touches$ = getTouches(touches, this.opts, e);
-    return findLegendIndex({
-      x: _touches$.x,
-      y: _touches$.y
-    }, this.opts.chartData.legendData);
-  }
-  return -1;
-};
-
-uCharts.prototype.touchLegend = function(e) {
-  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-  var touches = null;
-  if (e.changedTouches) {
-    touches = e.changedTouches[0];
-  } else {
-    touches = e.mp.changedTouches[0];
-  }
-  if (touches) {
-    var _touches$ = getTouches(touches, this.opts, e);
-    var index = this.getLegendDataIndex(e);
-    if (index >= 0) {
-      if (this.opts.type == 'candle') {
-        this.opts.seriesMA[index].show = !this.opts.seriesMA[index].show;
-      } else {
-        this.opts.series[index].show = !this.opts.series[index].show;
-      }
-      this.opts.animation = option.animation ? true : false;
-      this.opts._scrollDistance_ = this.scrollOption.currentOffset;
-      drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);
-    }
-  }
-
-};
-
-uCharts.prototype.showToolTip = function(e) {
-  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-  var touches = null;
-  if (e.changedTouches) {
-    touches = e.changedTouches[0];
-  } else {
-    touches = e.mp.changedTouches[0];
-  }
-  if (!touches) {
-    console.log("[uCharts] 鏈幏鍙栧埌event鍧愭爣淇℃伅");
-  }
-  var _touches$ = getTouches(touches, this.opts, e);
-  var currentOffset = this.scrollOption.currentOffset;
-  var opts = assign({}, this.opts, {
-    _scrollDistance_: currentOffset,
-    animation: false
-  });
-  if (this.opts.type === 'line' || this.opts.type === 'area' || this.opts.type === 'column' || this.opts.type === 'scatter' || this.opts.type === 'bubble') {
-    var current = this.getCurrentDataIndex(e);
-    var index = option.index == undefined ? current.index : option.index;
-    if (index > -1 || index.length>0) {
-      var seriesData = getSeriesDataItem(this.opts.series, index, current.group);
-      if (seriesData.length !== 0) {
-        var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option),
-          textList = _getToolTipData.textList,
-          offset = _getToolTipData.offset;
-        offset.y = _touches$.y;
-        opts.tooltip = {
-          textList: option.textList !== undefined ? option.textList : textList,
-          offset: option.offset !== undefined ? option.offset : offset,
-          option: option,
-          index: index,
-          group: current.group
-        };
-      }
-    }
-    drawCharts.call(this, opts.type, opts, this.config, this.context);
-  }
-  if (this.opts.type === 'mount') {
-    var index = option.index == undefined ? this.getCurrentDataIndex(e).index : option.index;
-    if (index > -1) {
-      var opts = assign({}, this.opts, {animation: false});
-      var seriesData = assign({}, opts._series_[index]);
-      var textList = [{
-        text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data,
-        color: seriesData.color,
-        legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape
-      }];
-      var offset = {
-        x: opts.chartData.calPoints[index].x,
-        y: _touches$.y
-      };
-      opts.tooltip = {
-        textList: option.textList ? option.textList : textList,
-        offset: option.offset !== undefined ? option.offset : offset,
-        option: option,
-        index: index
-      };
-    }
-    
-    drawCharts.call(this, opts.type, opts, this.config, this.context);
-  }
-  if (this.opts.type === 'bar') {
-    var current = this.getCurrentDataIndex(e);
-    var index = option.index == undefined ? current.index : option.index;
-    if (index > -1 || index.length>0) {
-      var seriesData = getSeriesDataItem(this.opts.series, index, current.group);
-      if (seriesData.length !== 0) {
-        var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option),
-          textList = _getToolTipData.textList,
-          offset = _getToolTipData.offset;
-        offset.x = _touches$.x;
-        opts.tooltip = {
-          textList: option.textList !== undefined ? option.textList : textList,
-          offset: option.offset !== undefined ? option.offset : offset,
-          option: option,
-          index: index
-        };
-      }
-    }
-    drawCharts.call(this, opts.type, opts, this.config, this.context);
-  }
-  if (this.opts.type === 'mix') {
-    var current = this.getCurrentDataIndex(e);
-    var index = option.index == undefined ? current.index : option.index;
-    if (index > -1) {
-      var currentOffset = this.scrollOption.currentOffset;
-      var opts = assign({}, this.opts, {
-        _scrollDistance_: currentOffset,
-        animation: false
-      });
-      var seriesData = getSeriesDataItem(this.opts.series, index);
-      if (seriesData.length !== 0) {
-        var _getMixToolTipData = getMixToolTipData(seriesData, this.opts, index, this.opts.categories, option),
-          textList = _getMixToolTipData.textList,
-          offset = _getMixToolTipData.offset;
-        offset.y = _touches$.y;
-        opts.tooltip = {
-          textList: option.textList ? option.textList : textList,
-          offset: option.offset !== undefined ? option.offset : offset,
-          option: option,
-          index: index
-        };
-      }
-    }
-    drawCharts.call(this, opts.type, opts, this.config, this.context);
-  }
-  if (this.opts.type === 'candle') {
-    var current = this.getCurrentDataIndex(e);
-    var index = option.index == undefined ? current.index : option.index;
-    if (index > -1) {
-      var currentOffset = this.scrollOption.currentOffset;
-      var opts = assign({}, this.opts, {
-        _scrollDistance_: currentOffset,
-        animation: false
-      });
-      var seriesData = getSeriesDataItem(this.opts.series, index);
-      if (seriesData.length !== 0) {
-        var _getToolTipData = getCandleToolTipData(this.opts.series[0].data, seriesData, this.opts, index, this.opts.categories, this.opts.extra.candle, option),
-          textList = _getToolTipData.textList,
-          offset = _getToolTipData.offset;
-        offset.y = _touches$.y;
-        opts.tooltip = {
-          textList: option.textList ? option.textList : textList,
-          offset: option.offset !== undefined ? option.offset : offset,
-          option: option,
-          index: index
-        };
-      }
-    }
-    drawCharts.call(this, opts.type, opts, this.config, this.context);
-  }
-  if (this.opts.type === 'pie' || this.opts.type === 'ring' || this.opts.type === 'rose' || this.opts.type === 'funnel') {
-    var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;
-    if (index > -1) {
-      var opts = assign({}, this.opts, {animation: false});
-      var seriesData = assign({}, opts._series_[index]);
-      var textList = [{
-        text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data,
-        color: seriesData.color,
-        legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape
-      }];
-      var offset = {
-        x: _touches$.x,
-        y: _touches$.y
-      };
-      opts.tooltip = {
-        textList: option.textList ? option.textList : textList,
-        offset: option.offset !== undefined ? option.offset : offset,
-        option: option,
-        index: index
-      };
-    }
-    drawCharts.call(this, opts.type, opts, this.config, this.context);
-  }
-  if (this.opts.type === 'map') {
-    var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;
-    if (index > -1) {
-      var opts = assign({}, this.opts, {animation: false});
-      var seriesData = assign({}, this.opts.series[index]);
-      seriesData.name = seriesData.properties.name
-      var textList = [{
-        text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name,
-        color: seriesData.color,
-        legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape
-      }];
-      var offset = {
-        x: _touches$.x,
-        y: _touches$.y
-      };
-      opts.tooltip = {
-        textList: option.textList ? option.textList : textList,
-        offset: option.offset !== undefined ? option.offset : offset,
-        option: option,
-        index: index
-      };
-    }
-    opts.updateData = false;
-    drawCharts.call(this, opts.type, opts, this.config, this.context);
-  }
-  if (this.opts.type === 'word') {
-    var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;
-    if (index > -1) {
-      var opts = assign({}, this.opts, {animation: false});
-      var seriesData = assign({}, this.opts.series[index]);
-      var textList = [{
-        text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name,
-        color: seriesData.color,
-        legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? seriesData.legendShape : this.opts.extra.tooltip.legendShape
-      }];
-      var offset = {
-        x: _touches$.x,
-        y: _touches$.y
-      };
-      opts.tooltip = {
-        textList: option.textList ? option.textList : textList,
-        offset: option.offset !== undefined ? option.offset : offset,
-        option: option,
-        index: index
-      };
-    }
-    opts.updateData = false;
-    drawCharts.call(this, opts.type, opts, this.config, this.context);
-  }
-  if (this.opts.type === 'radar') {
-    var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;
-    if (index > -1) {
-      var opts = assign({}, this.opts, {animation: false});
-      var seriesData = getSeriesDataItem(this.opts.series, index);
-      if (seriesData.length !== 0) {
-        var textList = seriesData.map((item) => {
-          return {
-            text: option.formatter ? option.formatter(item, this.opts.categories[index], index, this.opts) : item.name + ': ' + item.data,
-            color: item.color,
-            legendShape: this.opts.extra.tooltip.legendShape == 'auto' ? item.legendShape : this.opts.extra.tooltip.legendShape
-          };
-        });
-        var offset = {
-          x: _touches$.x,
-          y: _touches$.y
-        };
-        opts.tooltip = {
-          textList: option.textList ? option.textList : textList,
-          offset: option.offset !== undefined ? option.offset : offset,
-          option: option,
-          index: index
-        };
-      }
-    }
-    drawCharts.call(this, opts.type, opts, this.config, this.context);
-  }
-};
-
-uCharts.prototype.translate = function(distance) {
-  this.scrollOption = {
-    currentOffset: distance,
-    startTouchX: distance,
-    distance: 0,
-    lastMoveTime: 0
-  };
-  let opts = assign({}, this.opts, {
-    _scrollDistance_: distance,
-    animation: false
-  });
-  drawCharts.call(this, this.opts.type, opts, this.config, this.context);
-};
-
-uCharts.prototype.scrollStart = function(e) {
-  var touches = null;
-  if (e.changedTouches) {
-    touches = e.changedTouches[0];
-  } else {
-    touches = e.mp.changedTouches[0];
-  }
-  var _touches$ = getTouches(touches, this.opts, e);
-  if (touches && this.opts.enableScroll === true) {
-    this.scrollOption.startTouchX = _touches$.x;
-  }
-};
-
-uCharts.prototype.scroll = function(e) {
-  if (this.scrollOption.lastMoveTime === 0) {
-    this.scrollOption.lastMoveTime = Date.now();
-  }
-  let Limit = this.opts.touchMoveLimit || 60;
-  let currMoveTime = Date.now();
-  let duration = currMoveTime - this.scrollOption.lastMoveTime;
-  if (duration < Math.floor(1000 / Limit)) return;
-  if (this.scrollOption.startTouchX == 0) return;
-  this.scrollOption.lastMoveTime = currMoveTime;
-  var touches = null;
-  if (e.changedTouches) {
-    touches = e.changedTouches[0];
-  } else {
-    touches = e.mp.changedTouches[0];
-  }
-  if (touches && this.opts.enableScroll === true) {
-    var _touches$ = getTouches(touches, this.opts, e);
-    var _distance;
-    _distance = _touches$.x - this.scrollOption.startTouchX;
-    var currentOffset = this.scrollOption.currentOffset;
-    var validDistance = calValidDistance(this, currentOffset + _distance, this.opts.chartData, this.config, this.opts);
-    this.scrollOption.distance = _distance = validDistance - currentOffset;
-    var opts = assign({}, this.opts, {
-      _scrollDistance_: currentOffset + _distance,
-      animation: false
-    });
-		this.opts = opts;
-    drawCharts.call(this, opts.type, opts, this.config, this.context);
-    return currentOffset + _distance;
-  }
-};
-
-uCharts.prototype.scrollEnd = function(e) {
-  if (this.opts.enableScroll === true) {
-    var _scrollOption = this.scrollOption,
-      currentOffset = _scrollOption.currentOffset,
-      distance = _scrollOption.distance;
-    this.scrollOption.currentOffset = currentOffset + distance;
-    this.scrollOption.distance = 0;
-    this.scrollOption.moveCount = 0;
-  }
-};
-
-export default uCharts;
\ No newline at end of file
diff --git a/src/components/qiun-data-charts/js_sdk/u-charts/u-charts.min.js b/src/components/qiun-data-charts/js_sdk/u-charts/u-charts.min.js
deleted file mode 100644
index 0902ecd..0000000
--- a/src/components/qiun-data-charts/js_sdk/u-charts/u-charts.min.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * uCharts (R)
- * 楂樻�ц兘璺ㄥ钩鍙板浘琛ㄥ簱锛屾敮鎸丠5銆丄PP銆佸皬绋嬪簭锛堝井淇�/鏀粯瀹�/鐧惧害/澶存潯/QQ/360/蹇墜锛夈�乂ue銆乀aro绛夋敮鎸乧anvas鐨勬鏋跺钩鍙�
- * Copyright (C) 2021 QIUN (R) 绉嬩簯 https://www.ucharts.cn All rights reserved.
- * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
- * 澶嶅埗浣跨敤璇蜂繚鐣欐湰娈垫敞閲婏紝鎰熻阿鏀寔寮�婧愶紒
- * 
- * uCharts (R) 瀹樻柟缃戠珯
- * https://www.uCharts.cn
- * 
- * 寮�婧愬湴鍧�:
- * https://gitee.com/uCharts/uCharts
- * 
- * uni-app鎻掍欢甯傚満鍦板潃锛�
- * http://ext.dcloud.net.cn/plugin?id=271
- * 
- */
-"use strict";var config={version:"v2.5.0-20230101",yAxisWidth:15,xAxisHeight:22,padding:[10,10,10,10],rotate:false,fontSize:13,fontColor:"#666666",dataPointShape:["circle","circle","circle","circle"],color:["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],linearColor:["#0EE2F8","#2BDCA8","#FA7D8D","#EB88E2","#2AE3A0","#0EE2F8","#EB88E2","#6773E3","#F78A85"],pieChartLinePadding:15,pieChartTextPadding:5,titleFontSize:20,subtitleFontSize:15,radarLabelTextMargin:13};var assign=function(e,...t){if(e==null){throw new TypeError("[uCharts] Cannot convert undefined or null to object")}if(!t||t.length<=0){return e}function i(e,a){for(let t in a){e[t]=e[t]&&e[t].toString()==="[object Object]"?i(e[t],a[t]):e[t]=a[t]}return e}t.forEach(t=>{e=i(e,t)});return e};var util={toFixed:function t(e,a){a=a||2;if(this.isFloat(e)){e=e.toFixed(a)}return e},isFloat:function t(e){return e%1!==0},approximatelyEqual:function t(e,a){return Math.abs(e-a)<1e-10},isSameSign:function t(e,a){return Math.abs(e)===e&&Math.abs(a)===a||Math.abs(e)!==e&&Math.abs(a)!==a},isSameXCoordinateArea:function t(e,a){return this.isSameSign(e.x,a.x)},isCollision:function t(e,a){e.end={};e.end.x=e.start.x+e.width;e.end.y=e.start.y-e.height;a.end={};a.end.x=a.start.x+a.width;a.end.y=a.start.y-a.height;var i=a.start.x>e.end.x||a.end.x<e.start.x||a.end.y>e.start.y||a.start.y<e.end.y;return!i}};function getH5Offset(t){t.mp={changedTouches:[]};t.mp.changedTouches.push({x:t.offsetX,y:t.offsetY});return t}function hexToRgb(t,e){var a=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;var i=t.replace(a,function(t,e,a,i){return e+e+a+a+i+i});var r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(i);var o=parseInt(r[1],16);var n=parseInt(r[2],16);var l=parseInt(r[3],16);return"rgba("+o+","+n+","+l+","+e+")"}function findRange(t,e,a){if(isNaN(t)){throw new Error("[uCharts] series鏁版嵁闇�涓篘umber鏍煎紡")}a=a||10;e=e?e:"upper";var i=1;while(a<1){a*=10;i*=10}if(e==="upper"){t=Math.ceil(t*i)}else{t=Math.floor(t*i)}while(t%a!==0){if(e==="upper"){if(t==t+1){break}t++}else{t--}}return t/i}function calCandleMA(o,t,e,n){let a=[];for(let r=0;r<o.length;r++){let i={data:[],name:t[r],color:e[r]};for(let a=0,t=n.length;a<t;a++){if(a<o[r]){i.data.push(null);continue}let e=0;for(let t=0;t<o[r];t++){e+=n[a-t][1]}i.data.push(+(e/o[r]).toFixed(3))}a.push(i)}return a}function calValidDistance(t,e,a,i,r){var o=r.width-r.area[1]-r.area[3];var n=a.eachSpacing*(r.chartData.xAxisData.xAxisPoints.length-1);if(r.type=="mount"&&r.extra&&r.extra.mount&&r.extra.mount.widthRatio&&r.extra.mount.widthRatio>1){if(r.extra.mount.widthRatio>2)r.extra.mount.widthRatio=2;n+=(r.extra.mount.widthRatio-1)*a.eachSpacing}var l=e;if(e>=0){l=0;t.uevent.trigger("scrollLeft");t.scrollOption.position="left";r.xAxis.scrollPosition="left"}else if(Math.abs(e)>=n-o){l=o-n;t.uevent.trigger("scrollRight");t.scrollOption.position="right";r.xAxis.scrollPosition="right"}else{t.scrollOption.position=e;r.xAxis.scrollPosition=e}return l}function isInAngleRange(t,e,a){function i(t){while(t<0){t+=2*Math.PI}while(t>2*Math.PI){t-=2*Math.PI}return t}t=i(t);e=i(e);a=i(a);if(e>a){a+=2*Math.PI;if(t<e){t+=2*Math.PI}}return t>=e&&t<=a}function createCurveControlPoints(t,e){function a(t,e){if(t[e-1]&&t[e+1]){return t[e].y>=Math.max(t[e-1].y,t[e+1].y)||t[e].y<=Math.min(t[e-1].y,t[e+1].y)}else{return false}}function c(t,e){if(t[e-1]&&t[e+1]){return t[e].x>=Math.max(t[e-1].x,t[e+1].x)||t[e].x<=Math.min(t[e-1].x,t[e+1].x)}else{return false}}var i=.2;var r=.2;var o=null;var n=null;var l=null;var s=null;if(e<1){o=t[0].x+(t[1].x-t[0].x)*i;n=t[0].y+(t[1].y-t[0].y)*i}else{o=t[e].x+(t[e+1].x-t[e-1].x)*i;n=t[e].y+(t[e+1].y-t[e-1].y)*i}if(e>t.length-3){var h=t.length-1;l=t[h].x-(t[h].x-t[h-1].x)*r;s=t[h].y-(t[h].y-t[h-1].y)*r}else{l=t[e+1].x-(t[e+2].x-t[e].x)*r;s=t[e+1].y-(t[e+2].y-t[e].y)*r}if(a(t,e+1)){s=t[e+1].y}if(a(t,e)){n=t[e].y}if(c(t,e+1)){l=t[e+1].x}if(c(t,e)){o=t[e].x}if(n>=Math.max(t[e].y,t[e+1].y)||n<=Math.min(t[e].y,t[e+1].y)){n=t[e].y}if(s>=Math.max(t[e].y,t[e+1].y)||s<=Math.min(t[e].y,t[e+1].y)){s=t[e+1].y}if(o>=Math.max(t[e].x,t[e+1].x)||o<=Math.min(t[e].x,t[e+1].x)){o=t[e].x}if(l>=Math.max(t[e].x,t[e+1].x)||l<=Math.min(t[e].x,t[e+1].x)){l=t[e+1].x}return{ctrA:{x:o,y:n},ctrB:{x:l,y:s}}}function convertCoordinateOrigin(t,e,a){return{x:a.x+t,y:a.y-e}}function avoidCollision(t,e){if(e){while(util.isCollision(t,e)){if(t.start.x>0){t.start.y--}else if(t.start.x<0){t.start.y++}else{if(t.start.y>0){t.start.y++}else{t.start.y--}}}}return t}function fixPieSeries(e,a,t){let i=[];if(e.length>0&&e[0].data.constructor.toString().indexOf("Array")>-1){a._pieSeries_=e;let t=e[0].data;for(var r=0;r<t.length;r++){t[r].formatter=e[0].formatter;t[r].data=t[r].value;i.push(t[r])}a.series=i}else{i=e}return i}function fillSeries(e,a,i){var r=0;for(var o=0;o<e.length;o++){let t=e[o];if(!t.color){t.color=i.color[r];r=(r+1)%i.color.length}if(!t.linearIndex){t.linearIndex=o}if(!t.index){t.index=0}if(!t.type){t.type=a.type}if(typeof t.show=="undefined"){t.show=true}if(!t.type){t.type=a.type}if(!t.pointShape){t.pointShape="circle"}if(!t.legendShape){switch(t.type){case"line":t.legendShape="line";break;case"column":case"bar":t.legendShape="rect";break;case"area":case"mount":t.legendShape="triangle";break;default:t.legendShape="circle"}}}return e}function fillCustomColor(t,e,a,i){var r=e||[];if(t=="custom"&&r.length==0){r=i.linearColor}if(t=="custom"&&r.length<a.length){let t=a.length-r.length;for(var o=0;o<t;o++){r.push(i.linearColor[(o+1)%i.linearColor.length])}}return r}function getDataRange(t,e){var a=0;var i=e-t;if(i>=1e4){a=1e3}else if(i>=1e3){a=100}else if(i>=100){a=10}else if(i>=10){a=5}else if(i>=1){a=1}else if(i>=.1){a=.1}else if(i>=.01){a=.01}else if(i>=.001){a=.001}else if(i>=1e-4){a=1e-4}else if(i>=1e-5){a=1e-5}else{a=1e-6}return{minRange:findRange(t,"lower",a),maxRange:findRange(e,"upper",a)}}function measureText(a,t,e){var i=0;a=String(a);e=false;if(e!==false&&e!==undefined&&e.setFontSize&&e.measureText){e.setFontSize(t);return e.measureText(a).width}else{var a=a.split("");for(let e=0;e<a.length;e++){let t=a[e];if(/[a-zA-Z]/.test(t)){i+=7}else if(/[0-9]/.test(t)){i+=5.5}else if(/\./.test(t)){i+=2.7}else if(/-/.test(t)){i+=3.25}else if(/:/.test(t)){i+=2.5}else if(/[\u4e00-\u9fa5]/.test(t)){i+=10}else if(/\(|\)/.test(t)){i+=3.73}else if(/\s/.test(t)){i+=2.5}else if(/%/.test(t)){i+=8}else{i+=10}}return i*t/10}}function dataCombine(t){return t.reduce(function(t,e){return(t.data?t.data:t).concat(e.data)},[])}function dataCombineStack(t,e){var a=new Array(e);for(var i=0;i<a.length;i++){a[i]=0}for(var r=0;r<t.length;r++){for(var i=0;i<a.length;i++){a[i]+=t[r].data[i]}}return t.reduce(function(t,e){return(t.data?t.data:t).concat(e.data).concat(a)},[])}function getTouches(t,e,a){let i,r;if(t.clientX){if(e.rotate){r=e.height-t.clientX*e.pix;i=(t.pageY-a.currentTarget.offsetTop-e.height/e.pix/2*(e.pix-1))*e.pix}else{i=t.clientX*e.pix;r=(t.pageY-a.currentTarget.offsetTop-e.height/e.pix/2*(e.pix-1))*e.pix}}else{if(e.rotate){r=e.height-t.x*e.pix;i=t.y*e.pix}else{i=t.x*e.pix;r=t.y*e.pix}}return{x:i,y:r}}function getSeriesDataItem(e,i,a){var r=[];var o=[];var n=i.constructor.toString().indexOf("Array")>-1;if(n){let t=filterSeries(e);for(var l=0;l<a.length;l++){o.push(t[a[l]])}}else{o=e}for(let t=0;t<o.length;t++){let e=o[t];let a=-1;if(n){a=i[t]}else{a=i}if(e.data[a]!==null&&typeof e.data[a]!=="undefined"&&e.show){let t={};t.color=e.color;t.type=e.type;t.style=e.style;t.pointShape=e.pointShape;t.disableLegend=e.disableLegend;t.legendShape=e.legendShape;t.name=e.name;t.show=e.show;t.data=e.formatter?e.formatter(e.data[a]):e.data[a];r.push(t)}}return r}function getMaxTextListLength(t,e,a){var i=t.map(function(t){return measureText(t,e,a)});return Math.max.apply(null,i)}function getRadarCoordinateSeries(t){var e=2*Math.PI/t;var a=[];for(var i=0;i<t;i++){a.push(e*i)}return a.map(function(t){return-1*t+Math.PI/2})}function getToolTipData(t,a,i,r,o){var n=arguments.length>5&&arguments[5]!==undefined?arguments[5]:{};var l=a.chartData.calPoints?a.chartData.calPoints:[];let s={};if(r.length>0){let e=[];for(let t=0;t<r.length;t++){e.push(l[r[t]])}s=e[0][i[0]]}else{for(let t=0;t<l.length;t++){if(l[t][i]){s=l[t][i];break}}}var e=t.map(function(t){let e=null;if(a.categories&&a.categories.length>0){e=o[i]}return{text:n.formatter?n.formatter(t,e,i,a):t.name+": "+t.data,color:t.color,legendShape:a.extra.tooltip.legendShape=="auto"?t.legendShape:a.extra.tooltip.legendShape}});var h={x:Math.round(s.x),y:Math.round(s.y)};return{textList:e,offset:h}}function getMixToolTipData(t,e,a,i){var r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:{};var o=e.chartData.xAxisPoints[a]+e.chartData.eachSpacing/2;var n=t.map(function(t){return{text:r.formatter?r.formatter(t,i[a],a,e):t.name+": "+t.data,color:t.color,disableLegend:t.disableLegend?true:false,legendShape:e.extra.tooltip.legendShape=="auto"?t.legendShape:e.extra.tooltip.legendShape}});n=n.filter(function(t){if(t.disableLegend!==true){return t}});var l={x:Math.round(o),y:0};return{textList:n,offset:l}}function getCandleToolTipData(o,e,n,l,i,t){var r=arguments.length>6&&arguments[6]!==undefined?arguments[6]:{};var a=n.chartData.calPoints;let s=t.color.upFill;let h=t.color.downFill;let c=[s,s,h,s];var d=[];e.map(function(t){if(l==0){if(t.data[1]-t.data[0]<0){c[1]=h}else{c[1]=s}}else{if(t.data[0]<o[l-1][1]){c[0]=h}if(t.data[1]<t.data[0]){c[1]=h}if(t.data[2]>o[l-1][1]){c[2]=s}if(t.data[3]<o[l-1][1]){c[3]=h}}let e={text:"寮�鐩橈細"+t.data[0],color:c[0],legendShape:n.extra.tooltip.legendShape=="auto"?t.legendShape:n.extra.tooltip.legendShape};let a={text:"鏀剁洏锛�"+t.data[1],color:c[1],legendShape:n.extra.tooltip.legendShape=="auto"?t.legendShape:n.extra.tooltip.legendShape};let i={text:"鏈�浣庯細"+t.data[2],color:c[2],legendShape:n.extra.tooltip.legendShape=="auto"?t.legendShape:n.extra.tooltip.legendShape};let r={text:"鏈�楂橈細"+t.data[3],color:c[3],legendShape:n.extra.tooltip.legendShape=="auto"?t.legendShape:n.extra.tooltip.legendShape};d.push(e,a,i,r)});var x=[];var f={x:0,y:0};for(let e=0;e<a.length;e++){let t=a[e];if(typeof t[l]!=="undefined"&&t[l]!==null){x.push(t[l])}}f.x=Math.round(x[0][0].x);return{textList:d,offset:f}}function filterSeries(e){let a=[];for(let t=0;t<e.length;t++){if(e[t].show==true){a.push(e[t])}}return a}function findCurrentIndex(o,n,e,t){var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:0;var l={index:-1,group:[]};var i=e.chartData.eachSpacing/2;let r=[];if(n&&n.length>0){if(!e.categories){i=0}else{for(let t=1;t<e.chartData.xAxisPoints.length;t++){r.push(e.chartData.xAxisPoints[t]-i)}if((e.type=="line"||e.type=="area")&&e.xAxis.boundaryGap=="justify"){r=e.chartData.xAxisPoints}}if(isInExactChartArea(o,e,t)){if(!e.categories){let a=Array(n.length);for(let e=0;e<n.length;e++){a[e]=Array(n[e].length);for(let t=0;t<n[e].length;t++){a[e][t]=Math.abs(n[e][t].x-o.x)}}let e=Array(a.length);let i=Array(a.length);for(let t=0;t<a.length;t++){e[t]=Math.min.apply(null,a[t]);i[t]=a[t].indexOf(e[t])}let r=Math.min.apply(null,e);l.index=[];for(let t=0;t<e.length;t++){if(e[t]==r){l.group.push(t);l.index.push(i[t])}}}else{r.forEach(function(t,e){if(o.x+a+i>t){l.index=e}})}}}return l}function findBarChartCurrentIndex(a,t,e,i){var r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:0;var o={index:-1,group:[]};var n=e.chartData.eachSpacing/2;let l=e.chartData.yAxisPoints;if(t&&t.length>0){if(isInExactChartArea(a,e,i)){l.forEach(function(t,e){if(a.y+r+n>t){o.index=e}})}}return o}function findLegendIndex(o,t,e){let n=-1;let l=0;if(isInExactLegendArea(o,t.area)){let i=t.points;let r=-1;for(let t=0,e=i.length;t<e;t++){let a=i[t];for(let e=0;e<a.length;e++){r+=1;let t=a[e]["area"];if(t&&o.x>t[0]-l&&o.x<t[2]+l&&o.y>t[1]-l&&o.y<t[3]+l){n=r;break}}}return n}return n}function isInExactLegendArea(t,e){return t.x>e.start.x&&t.x<e.end.x&&t.y>e.start.y&&t.y<e.end.y}function isInExactChartArea(t,e,a){return t.x<=e.width-e.area[1]+10&&t.x>=e.area[3]-10&&t.y>=e.area[0]&&t.y<=e.height-e.area[2]}function findRadarChartCurrentIndex(t,e,a){var r=2*Math.PI/a;var o=-1;if(isInExactPieChartArea(t,e.center,e.radius)){var n=function t(e){if(e<0){e+=2*Math.PI}if(e>2*Math.PI){e-=2*Math.PI}return e};var l=Math.atan2(e.center.y-t.y,t.x-e.center.x);l=-1*l;if(l<0){l+=2*Math.PI}var i=e.angleList.map(function(t){t=n(-1*t);return t});i.forEach(function(t,e){var a=n(t-r/2);var i=n(t+r/2);if(i<a){i+=2*Math.PI}if(l>=a&&l<=i||l+2*Math.PI>=a&&l+2*Math.PI<=i){o=e}})}return o}function findFunnelChartCurrentIndex(t,e){var a=-1;for(var i=0,r=e.series.length;i<r;i++){var o=e.series[i];if(t.x>o.funnelArea[0]&&t.x<o.funnelArea[2]&&t.y>o.funnelArea[1]&&t.y<o.funnelArea[3]){a=i;break}}return a}function findWordChartCurrentIndex(t,e){var a=-1;for(var i=0,r=e.length;i<r;i++){var o=e[i];if(t.x>o.area[0]&&t.x<o.area[2]&&t.y>o.area[1]&&t.y<o.area[3]){a=i;break}}return a}function findMapChartCurrentIndex(t,e){var a=-1;var i=e.chartData.mapData;var r=e.series;var o=pointToCoordinate(t.y,t.x,i.bounds,i.scale,i.xoffset,i.yoffset);var n=[o.x,o.y];for(var l=0,s=r.length;l<s;l++){var h=r[l].geometry.coordinates;if(isPoiWithinPoly(n,h,e.chartData.mapData.mercator)){a=l;break}}return a}function findRoseChartCurrentIndex(t,e,a){var i=-1;var r=getRoseDataPoints(a._series_,a.extra.rose.type,e.radius,e.radius);if(e&&e.center&&isInExactPieChartArea(t,e.center,e.radius)){var o=Math.atan2(e.center.y-t.y,t.x-e.center.x);o=-o;if(a.extra.rose&&a.extra.rose.offsetAngle){o=o-a.extra.rose.offsetAngle*Math.PI/180}for(var n=0,l=r.length;n<l;n++){if(isInAngleRange(o,r[n]._start_,r[n]._start_+r[n]._rose_proportion_*2*Math.PI)){i=n;break}}}return i}function findPieChartCurrentIndex(t,e,a){var i=-1;var r=getPieDataPoints(e.series);if(e&&e.center&&isInExactPieChartArea(t,e.center,e.radius)){var o=Math.atan2(e.center.y-t.y,t.x-e.center.x);o=-o;if(a.extra.pie&&a.extra.pie.offsetAngle){o=o-a.extra.pie.offsetAngle*Math.PI/180}if(a.extra.ring&&a.extra.ring.offsetAngle){o=o-a.extra.ring.offsetAngle*Math.PI/180}for(var n=0,l=r.length;n<l;n++){if(isInAngleRange(o,r[n]._start_,r[n]._start_+r[n]._proportion_*2*Math.PI)){i=n;break}}}return i}function isInExactPieChartArea(t,e,a){return Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)<=Math.pow(a,2)}function splitPoints(t,a){var i=[];var r=[];t.forEach(function(t,e){if(a.connectNulls){if(t!==null){r.push(t)}}else{if(t!==null){r.push(t)}else{if(r.length){i.push(r)}r=[]}}});if(r.length){i.push(r)}return i}function calLegendData(l,s,e,t,h){let c={area:{start:{x:0,y:0},end:{x:0,y:0},width:0,height:0,wholeWidth:0,wholeHeight:0},points:[],widthArr:[],heightArr:[]};if(s.legend.show===false){t.legendData=c;return c}let d=s.legend.padding*s.pix;let x=s.legend.margin*s.pix;let f=s.legend.fontSize?s.legend.fontSize*s.pix:e.fontSize;let p=15*s.pix;let g=5*s.pix;let u=Math.max(s.legend.lineHeight*s.pix,f);if(s.legend.position=="top"||s.legend.position=="bottom"){let i=[];let r=0;let o=[];let n=[];for(let a=0;a<l.length;a++){let t=l[a];const y=t.legendText?t.legendText:t.name;let e=p+g+measureText(y||"undefined",f,h)+s.legend.itemGap*s.pix;if(r+e>s.width-s.area[1]-s.area[3]){i.push(n);o.push(r-s.legend.itemGap*s.pix);r=e;n=[t]}else{r+=e;n.push(t)}}if(n.length){i.push(n);o.push(r-s.legend.itemGap*s.pix);c.widthArr=o;let t=Math.max.apply(null,o);switch(s.legend.float){case"left":c.area.start.x=s.area[3];c.area.end.x=s.area[3]+t+2*d;break;case"right":c.area.start.x=s.width-s.area[1]-t-2*d;c.area.end.x=s.width-s.area[1];break;default:c.area.start.x=(s.width-t)/2-d;c.area.end.x=(s.width+t)/2+d}c.area.width=t+2*d;c.area.wholeWidth=t+2*d;c.area.height=i.length*u+2*d;c.area.wholeHeight=i.length*u+2*d+2*x;c.points=i}}else{let t=l.length;let e=s.height-s.area[0]-s.area[2]-2*x-2*d;let a=Math.min(Math.floor(e/u),t);c.area.height=a*u+d*2;c.area.wholeHeight=a*u+d*2;switch(s.legend.float){case"top":c.area.start.y=s.area[0]+x;c.area.end.y=s.area[0]+x+c.area.height;break;case"bottom":c.area.start.y=s.height-s.area[2]-x-c.area.height;c.area.end.y=s.height-s.area[2]-x;break;default:c.area.start.y=(s.height-c.area.height)/2;c.area.end.y=(s.height+c.area.height)/2}let i=t%a===0?t/a:Math.floor(t/a+1);let r=[];for(let e=0;e<i;e++){let t=l.slice(e*a,e*a+a);r.push(t)}c.points=r;if(r.length){for(let t=0;t<r.length;t++){let a=r[t];let i=0;for(let e=0;e<a.length;e++){let t=p+g+measureText(a[e].name||"undefined",f,h)+s.legend.itemGap*s.pix;if(t>i){i=t}}c.widthArr.push(i);c.heightArr.push(a.length*u+d*2)}let e=0;for(let t=0;t<c.widthArr.length;t++){e+=c.widthArr[t]}c.area.width=e-s.legend.itemGap*s.pix+2*d;c.area.wholeWidth=c.area.width+d}}switch(s.legend.position){case"top":c.area.start.y=s.area[0]+x;c.area.end.y=s.area[0]+x+c.area.height;break;case"bottom":c.area.start.y=s.height-s.area[2]-c.area.height-x;c.area.end.y=s.height-s.area[2]-x;break;case"left":c.area.start.x=s.area[3];c.area.end.x=s.area[3]+c.area.width;break;case"right":c.area.start.x=s.width-s.area[1]-c.area.width;c.area.end.x=s.width-s.area[1];break}t.legendData=c;return c}function calCategoriesData(t,i,e,a,r){var o={angle:0,xAxisHeight:i.xAxis.lineHeight*i.pix+i.xAxis.marginTop*i.pix};var n=i.xAxis.fontSize*i.pix;var l=t.map(function(t,e){var a=i.xAxis.formatter?i.xAxis.formatter(t,e,i):t;return measureText(String(a),n,r)});var s=Math.max.apply(this,l);if(i.xAxis.rotateLabel==true){o.angle=i.xAxis.rotateAngle*Math.PI/180;let t=i.xAxis.marginTop*i.pix*2+Math.abs(s*Math.sin(o.angle));t=t<n+i.xAxis.marginTop*i.pix*2?t+i.xAxis.marginTop*i.pix*2:t;o.xAxisHeight=t}if(i.enableScroll&&i.xAxis.scrollShow){o.xAxisHeight+=6*i.pix}if(i.xAxis.disabled){o.xAxisHeight=0}return o}function getXAxisTextList(t,e,h,c){var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:-1;var i;if(c=="stack"){i=dataCombineStack(t,e.categories.length)}else{i=dataCombine(t)}var r=[];i=i.filter(function(t){if(typeof t==="object"&&t!==null){if(t.constructor.toString().indexOf("Array")>-1){return t!==null}else{return t.value!==null}}else{return t!==null}});i.map(function(t){if(typeof t==="object"){if(t.constructor.toString().indexOf("Array")>-1){if(e.type=="candle"){t.map(function(t){r.push(t)})}else{r.push(t[0])}}else{r.push(t.value)}}else{r.push(t)}});var o=0;var n=0;if(r.length>0){o=Math.min.apply(this,r);n=Math.max.apply(this,r)}if(a>-1){if(typeof e.xAxis.data[a].min==="number"){o=Math.min(e.xAxis.data[a].min,o)}if(typeof e.xAxis.data[a].max==="number"){n=Math.max(e.xAxis.data[a].max,n)}}else{if(typeof e.xAxis.min==="number"){o=Math.min(e.xAxis.min,o)}if(typeof e.xAxis.max==="number"){n=Math.max(e.xAxis.max,n)}}if(o===n){var d=n||10;n+=d}var l=o;var x=n;var f=[];var p=(x-l)/e.xAxis.splitNumber;for(var s=0;s<=e.xAxis.splitNumber;s++){f.push(l+p*s)}return f}function calXAxisData(t,e,a,i){var r=assign({},{type:""},e.extra.bar);var o={angle:0,xAxisHeight:e.xAxis.lineHeight*e.pix+e.xAxis.marginTop*e.pix};o.ranges=getXAxisTextList(t,e,a,r.type);o.rangesFormat=o.ranges.map(function(t){t=util.toFixed(t,2);return t});var n=o.ranges.map(function(t){t=util.toFixed(t,2);return t});o=Object.assign(o,getXAxisPoints(n,e,a));var l=o.eachSpacing;var s=n.map(function(t){return measureText(t,e.xAxis.fontSize*e.pix,i)});if(e.xAxis.disabled===true){o.xAxisHeight=0}return o}function getRadarDataPoints(r,o,n,a,t){var l=arguments.length>5&&arguments[5]!==undefined?arguments[5]:1;var e=t.extra.radar||{};e.max=e.max||0;var s=Math.max(e.max,Math.max.apply(null,dataCombine(a)));var h=[];for(let e=0;e<a.length;e++){let t=a[e];let i={};i.color=t.color;i.legendShape=t.legendShape;i.pointShape=t.pointShape;i.data=[];t.data.forEach(function(t,e){let a={};a.angle=r[e];a.proportion=t/s;a.value=t;a.position=convertCoordinateOrigin(n*a.proportion*l*Math.cos(a.angle),n*a.proportion*l*Math.sin(a.angle),o);i.data.push(a)});h.push(i)}return h}function getPieDataPoints(a,i){var r=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;var o=0;var n=0;for(let e=0;e<a.length;e++){let t=a[e];t.data=t.data===null?0:t.data;o+=t.data}for(let e=0;e<a.length;e++){let t=a[e];t.data=t.data===null?0:t.data;if(o===0){t._proportion_=1/a.length*r}else{t._proportion_=t.data/o*r}t._radius_=i}for(let e=0;e<a.length;e++){let t=a[e];t._start_=n;n+=2*t._proportion_*Math.PI}return a}function getFunnelDataPoints(e,a,i,r){var o=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;for(let t=0;t<e.length;t++){if(i.type=="funnel"){e[t].radius=e[t].data/e[0].data*a*o}else{e[t].radius=r*(e.length-t)/(r*e.length)*a*o}e[t]._proportion_=e[t].data/e[0].data}return e}function getRoseDataPoints(a,i,r,o){var n=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var l=0;var s=0;var h=[];for(let e=0;e<a.length;e++){let t=a[e];t.data=t.data===null?0:t.data;l+=t.data;h.push(t.data)}var c=Math.min.apply(null,h);var d=Math.max.apply(null,h);var x=o-r;for(let e=0;e<a.length;e++){let t=a[e];t.data=t.data===null?0:t.data;if(l===0){t._proportion_=1/a.length*n;t._rose_proportion_=1/a.length*n}else{t._proportion_=t.data/l*n;if(i=="area"){t._rose_proportion_=1/a.length*n}else{t._rose_proportion_=t.data/l*n}}t._radius_=r+x*((t.data-c)/(d-c))||o}for(let e=0;e<a.length;e++){let t=a[e];t._start_=s;s+=2*t._rose_proportion_*Math.PI}return a}function getArcbarDataPoints(i,r){var o=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;if(o==1){o=.999999}for(let a=0;a<i.length;a++){let t=i[a];t.data=t.data===null?0:t.data;let e;if(r.type=="circle"){e=2}else{if(r.direction=="ccw"){if(r.startAngle<r.endAngle){e=2+r.startAngle-r.endAngle}else{e=r.startAngle-r.endAngle}}else{if(r.endAngle<r.startAngle){e=2+r.endAngle-r.startAngle}else{e=r.startAngle-r.endAngle}}}t._proportion_=e*t.data*o+r.startAngle;if(r.direction=="ccw"){t._proportion_=r.startAngle-e*t.data*o}if(t._proportion_>=2){t._proportion_=t._proportion_%2}}return i}function getGaugeArcbarDataPoints(i,r){var o=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;if(o==1){o=.999999}for(let a=0;a<i.length;a++){let t=i[a];t.data=t.data===null?0:t.data;let e;if(r.type=="circle"){e=2}else{if(r.endAngle<r.startAngle){e=2+r.endAngle-r.startAngle}else{e=r.startAngle-r.endAngle}}t._proportion_=e*t.data*o+r.startAngle;if(t._proportion_>=2){t._proportion_=t._proportion_%2}}return i}function getGaugeAxisPoints(e,a,t){let i;if(t<a){i=2+t-a}else{i=a-t}let r=a;for(let t=0;t<e.length;t++){e[t].value=e[t].value===null?0:e[t].value;e[t]._startAngle_=r;e[t]._endAngle_=i*e[t].value+a;if(e[t]._endAngle_>=2){e[t]._endAngle_=e[t]._endAngle_%2}r=e[t]._endAngle_}return e}function getGaugeDataPoints(i,r,o){let n=arguments.length>3&&arguments[3]!==undefined?arguments[3]:1;for(let a=0;a<i.length;a++){let e=i[a];e.data=e.data===null?0:e.data;if(o.pointer.color=="auto"){for(let t=0;t<r.length;t++){if(e.data<=r[t].value){e.color=r[t].color;break}}}else{e.color=o.pointer.color}let t;if(o.endAngle<o.startAngle){t=2+o.endAngle-o.startAngle}else{t=o.startAngle-o.endAngle}e._endAngle_=t*e.data+o.startAngle;e._oldAngle_=o.oldAngle;if(o.oldAngle<o.endAngle){e._oldAngle_+=2}if(e.data>=o.oldData){e._proportion_=(e._endAngle_-e._oldAngle_)*n+o.oldAngle}else{e._proportion_=e._oldAngle_-(e._oldAngle_-e._endAngle_)*n}if(e._proportion_>=2){e._proportion_=e._proportion_%2}}return i}function getPieTextMaxLength(i,r,o,n){i=getPieDataPoints(i);let l=0;for(let a=0;a<i.length;a++){let t=i[a];let e=t.formatter?t.formatter(+t._proportion_.toFixed(2)):util.toFixed(t._proportion_*100)+"%";l=Math.max(l,measureText(e,t.textSize*n.pix||r.fontSize,o))}return l}function fixColumeData(t,i,r,o,e,n){return t.map(function(t){if(t===null){return null}var e=0;var a=0;if(n.type=="mix"){e=n.extra.mix.column.seriesGap*n.pix||0;a=n.extra.mix.column.categoryGap*n.pix||0}else{e=n.extra.column.seriesGap*n.pix||0;a=n.extra.column.categoryGap*n.pix||0}e=Math.min(e,i/r);a=Math.min(a,i/r);t.width=Math.ceil((i-2*a-e*(r-1))/r);if(n.extra.mix&&n.extra.mix.column.width&&+n.extra.mix.column.width>0){t.width=Math.min(t.width,+n.extra.mix.column.width*n.pix)}if(n.extra.column&&n.extra.column.width&&+n.extra.column.width>0){t.width=Math.min(t.width,+n.extra.column.width*n.pix)}if(t.width<=0){t.width=1}t.x+=(o+.5-r/2)*(t.width+e);return t})}function fixBarData(t,i,r,o,e,n){return t.map(function(t){if(t===null){return null}var e=0;var a=0;e=n.extra.bar.seriesGap*n.pix||0;a=n.extra.bar.categoryGap*n.pix||0;e=Math.min(e,i/r);a=Math.min(a,i/r);t.width=Math.ceil((i-2*a-e*(r-1))/r);if(n.extra.bar&&n.extra.bar.width&&+n.extra.bar.width>0){t.width=Math.min(t.width,+n.extra.bar.width*n.pix)}if(t.width<=0){t.width=1}t.y+=(o+.5-r/2)*(t.width+e);return t})}function fixColumeMeterData(t,e,a,i,r,o,n){var l=o.extra.column.categoryGap*o.pix||0;return t.map(function(t){if(t===null){return null}t.width=e-2*l;if(o.extra.column&&o.extra.column.width&&+o.extra.column.width>0){t.width=Math.min(t.width,+o.extra.column.width*o.pix)}if(i>0){t.width-=n}return t})}function fixColumeStackData(t,a,e,i,r,o,n){var l=o.extra.column.categoryGap*o.pix||0;return t.map(function(t,e){if(t===null){return null}t.width=Math.ceil(a-2*l);if(o.extra.column&&o.extra.column.width&&+o.extra.column.width>0){t.width=Math.min(t.width,+o.extra.column.width*o.pix)}if(t.width<=0){t.width=1}return t})}function fixBarStackData(t,a,e,i,r,o,n){var l=o.extra.bar.categoryGap*o.pix||0;return t.map(function(t,e){if(t===null){return null}t.width=Math.ceil(a-2*l);if(o.extra.bar&&o.extra.bar.width&&+o.extra.bar.width>0){t.width=Math.min(t.width,+o.extra.bar.width*o.pix)}if(t.width<=0){t.width=1}return t})}function getXAxisPoints(t,e,h){var a=e.width-e.area[1]-e.area[3];var i=e.enableScroll?Math.min(e.xAxis.itemCount,t.length):t.length;if((e.type=="line"||e.type=="area"||e.type=="scatter"||e.type=="bubble"||e.type=="bar")&&i>1&&e.xAxis.boundaryGap=="justify"){i-=1}var r=0;if(e.type=="mount"&&e.extra&&e.extra.mount&&e.extra.mount.widthRatio&&e.extra.mount.widthRatio>1){if(e.extra.mount.widthRatio>2)e.extra.mount.widthRatio=2;r=e.extra.mount.widthRatio-1;i+=r}var o=a/i;var n=[];var l=e.area[3];var s=e.width-e.area[1];t.forEach(function(t,e){n.push(l+r/2*o+e*o)});if(e.xAxis.boundaryGap!=="justify"){if(e.enableScroll===true){n.push(l+r*o+t.length*o)}else{n.push(s)}}return{xAxisPoints:n,startX:l,endX:s,eachSpacing:o}}function getCandleDataPoints(t,l,s,h,c,d,a){var x=arguments.length>7&&arguments[7]!==undefined?arguments[7]:1;var e=[];var f=d.height-d.area[0]-d.area[2];t.forEach(function(t,o){if(t===null){e.push(null)}else{var n=[];t.forEach(function(t,e){var a={};a.x=h[o]+Math.round(c/2);var i=t.value||t;var r=f*(i-l)/(s-l);r*=x;a.y=d.height-Math.round(r)-d.area[2];n.push(a)});e.push(n)}});return e}function getDataPoints(t,a,n,l,s,h,e){var c=arguments.length>7&&arguments[7]!==undefined?arguments[7]:1;var d="center";if(h.type=="line"||h.type=="area"||h.type=="scatter"||h.type=="bubble"){d=h.xAxis.boundaryGap}var x=[];var f=h.height-h.area[0]-h.area[2];var p=h.width-h.area[1]-h.area[3];t.forEach(function(i,t){if(i===null){x.push(null)}else{var r={};r.color=i.color;r.x=l[t];var o=i;if(typeof i==="object"&&i!==null){if(i.constructor.toString().indexOf("Array")>-1){let t,e,a;t=[].concat(h.chartData.xAxisData.ranges);e=t.shift();a=t.pop();o=i[1];r.x=h.area[3]+p*(i[0]-e)/(a-e);if(h.type=="bubble"){r.r=i[2];r.t=i[3]}}else{o=i.value}}if(d=="center"){r.x+=s/2}var e=f*(o-a)/(n-a);e*=c;r.y=h.height-e-h.area[2];x.push(r)}});return x}function getLineDataPoints(t,a,n,l,s,h,e,p,c){var c=arguments.length>8&&arguments[8]!==undefined?arguments[8]:1;var d=h.xAxis.boundaryGap;var x=[];var f=h.height-h.area[0]-h.area[2];var u=h.width-h.area[1]-h.area[3];t.forEach(function(i,t){if(i===null){x.push(null)}else{var r={};r.color=i.color;if(p.animation=="vertical"){r.x=l[t];var o=i;if(typeof i==="object"&&i!==null){if(i.constructor.toString().indexOf("Array")>-1){let t,e,a;t=[].concat(h.chartData.xAxisData.ranges);e=t.shift();a=t.pop();o=i[1];r.x=h.area[3]+u*(i[0]-e)/(a-e)}else{o=i.value}}if(d=="center"){r.x+=s/2}var e=f*(o-a)/(n-a);e*=c;r.y=h.height-e-h.area[2];x.push(r)}else{r.x=l[0]+s*t*c;var o=i;if(d=="center"){r.x+=s/2}var e=f*(o-a)/(n-a);r.y=h.height-e-h.area[2];x.push(r)}}});return x}function getColumnDataPoints(t,a,n,l,s,h,e,i,c){var c=arguments.length>8&&arguments[8]!==undefined?arguments[8]:1;var d=[];var x=h.height-h.area[0]-h.area[2];var f=h.width-h.area[1]-h.area[3];t.forEach(function(i,t){if(i===null){d.push(null)}else{var r={};r.color=i.color;r.x=l[t];var o=i;if(typeof i==="object"&&i!==null){if(i.constructor.toString().indexOf("Array")>-1){let t,e,a;t=[].concat(h.chartData.xAxisData.ranges);e=t.shift();a=t.pop();o=i[1];r.x=h.area[3]+f*(i[0]-e)/(a-e)}else{o=i.value}}r.x+=s/2;var e=x*(o*c-a)/(n-a);r.y=h.height-e-h.area[2];d.push(r)}});return d}function getMountDataPoints(t,o,n,l,s,h,e,a){var c=arguments.length>8&&arguments[8]!==undefined?arguments[8]:1;var d=[];var x=h.height-h.area[0]-h.area[2];var i=h.width-h.area[1]-h.area[3];var f=s*e.widthRatio;t.forEach(function(t,e){if(t===null){d.push(null)}else{var a={};a.color=t.color;a.x=l[e];a.x+=s/2;var i=t.data;var r=x*(i*c-o)/(n-o);a.y=h.height-r-h.area[2];a.value=i;a.width=f;d.push(a)}});return d}function getBarDataPoints(t,o,n,l,e,s,a){var h=arguments.length>7&&arguments[7]!==undefined?arguments[7]:1;var c=[];var i=s.height-s.area[0]-s.area[2];var d=s.width-s.area[1]-s.area[3];t.forEach(function(t,e){if(t===null){c.push(null)}else{var a={};a.color=t.color;a.y=l[e];var i=t;if(typeof t==="object"&&t!==null){i=t.value}var r=d*(i-o)/(n-o);r*=h;a.height=r;a.value=i;a.x=r+s.area[3];c.push(a)}});return c}function getStackDataPoints(t,s,h,c,g,d,e,x,y){var f=arguments.length>9&&arguments[9]!==undefined?arguments[9]:1;var p=[];var u=d.height-d.area[0]-d.area[2];t.forEach(function(t,e){if(t===null){p.push(null)}else{var a={};a.color=t.color;a.x=c[e]+Math.round(g/2);if(x>0){var i=0;for(let t=0;t<=x;t++){i+=y[t].data[e]}var r=i-t;var o=u*(i-s)/(h-s);var n=u*(r-s)/(h-s)}else{var i=t;if(typeof t==="object"&&t!==null){i=t.value}var o=u*(i-s)/(h-s);var n=0}var l=n;o*=f;l*=f;a.y=d.height-Math.round(o)-d.area[2];a.y0=d.height-Math.round(l)-d.area[2];p.push(a)}});return p}function getBarStackDataPoints(t,s,h,c,e,d,a,x,g){var f=arguments.length>9&&arguments[9]!==undefined?arguments[9]:1;var p=[];var u=d.width-d.area[1]-d.area[3];t.forEach(function(t,e){if(t===null){p.push(null)}else{var a={};a.color=t.color;a.y=c[e];if(x>0){var i=0;for(let t=0;t<=x;t++){i+=g[t].data[e]}var r=i-t;var o=u*(i-s)/(h-s);var n=u*(r-s)/(h-s)}else{var i=t;if(typeof t==="object"&&t!==null){i=t.value}var o=u*(i-s)/(h-s);var n=0}var l=n;o*=f;l*=f;a.height=o-l;a.x=d.area[3]+o;a.x0=d.area[3]+l;p.push(a)}});return p}function getYAxisTextList(t,e,h,c,a){var d=arguments.length>5&&arguments[5]!==undefined?arguments[5]:-1;var i;if(c=="stack"){i=dataCombineStack(t,e.categories.length)}else{i=dataCombine(t)}var r=[];i=i.filter(function(t){if(typeof t==="object"&&t!==null){if(t.constructor.toString().indexOf("Array")>-1){return t!==null}else{return t.value!==null}}else{return t!==null}});i.map(function(t){if(typeof t==="object"){if(t.constructor.toString().indexOf("Array")>-1){if(e.type=="candle"){t.map(function(t){r.push(t)})}else{r.push(t[1])}}else{r.push(t.value)}}else{r.push(t)}});var o=a.min||0;var n=a.max||0;if(r.length>0){o=Math.min.apply(this,r);n=Math.max.apply(this,r)}if(o===n){if(n==0){n=10}else{o=0}}var l=getDataRange(o,n);var x=a.min===undefined||a.min===null?l.minRange:a.min;var f=a.max===undefined||a.max===null?l.maxRange:a.max;var p=(f-x)/e.yAxis.splitNumber;var u=[];for(var s=0;s<=e.yAxis.splitNumber;s++){u.push(x+p*s)}return u.reverse()}function calYAxisData(a,o,e,n){var l=assign({},{type:""},o.extra.column);var t=o.yAxis.data.length;var s=new Array(t);if(t>0){for(let e=0;e<t;e++){s[e]=[];for(let t=0;t<a.length;t++){if(a[t].index==e){s[e].push(a[t])}}}var h=new Array(t);var c=new Array(t);var d=new Array(t);for(let r=0;r<t;r++){let i=o.yAxis.data[r];if(o.yAxis.disabled==true){i.disabled=true}if(i.type==="categories"){if(!i.formatter){i.formatter=(t,e,a)=>{return t+(i.unit||"")}}i.categories=i.categories||o.categories;h[r]=i.categories}else{if(!i.formatter){i.formatter=(t,e,a)=>{return util.toFixed(t,i.tofix||0)+(i.unit||"")}}h[r]=getYAxisTextList(s[r],o,e,l.type,i,r)}let a=i.fontSize*o.pix||e.fontSize;d[r]={position:i.position?i.position:"left",width:0};c[r]=h[r].map(function(t,e){t=i.formatter(t,e,o);d[r].width=Math.max(d[r].width,measureText(t,a,n)+5);return t});let t=i.calibration?4*o.pix:0;d[r].width+=t+3*o.pix;if(i.disabled===true){d[r].width=0}}}else{var h=new Array(1);var c=new Array(1);var d=new Array(1);if(o.type==="bar"){h[0]=o.categories;if(!o.yAxis.formatter){o.yAxis.formatter=(t,e,a)=>{return t+(a.yAxis.unit||"")}}}else{if(!o.yAxis.formatter){o.yAxis.formatter=(t,e,a)=>{return t.toFixed(a.yAxis.tofix)+(a.yAxis.unit||"")}}h[0]=getYAxisTextList(a,o,e,l.type,{})}d[0]={position:"left",width:0};var i=o.yAxis.fontSize*o.pix||e.fontSize;c[0]=h[0].map(function(t,e){t=o.yAxis.formatter(t,e,o);d[0].width=Math.max(d[0].width,measureText(t,i,n)+5);return t});d[0].width+=3*o.pix;if(o.yAxis.disabled===true){d[0]={position:"left",width:0};o.yAxis.data[0]={disabled:true}}else{o.yAxis.data[0]={disabled:false,position:"left",max:o.yAxis.max,min:o.yAxis.min,formatter:o.yAxis.formatter};if(o.type==="bar"){o.yAxis.data[0].categories=o.categories;o.yAxis.data[0].type="categories"}}}return{rangesFormat:c,ranges:h,yAxisWidth:d}}function calTooltipYAxisData(r,t,o,e,a){let n=[].concat(o.chartData.yAxisData.ranges);let l=o.height-o.area[0]-o.area[2];let s=o.area[0];let h=[];for(let i=0;i<n.length;i++){let t=Math.max.apply(this,n[i]);let e=Math.min.apply(this,n[i]);let a=t-(t-e)*(r-s)/l;a=o.yAxis.data&&o.yAxis.data[i].formatter?o.yAxis.data[i].formatter(a,i,o):a.toFixed(0);h.push(String(a))}return h}function calMarkLineData(i,r){let o,n;let l=r.height-r.area[0]-r.area[2];for(let a=0;a<i.length;a++){i[a].yAxisIndex=i[a].yAxisIndex?i[a].yAxisIndex:0;let t=[].concat(r.chartData.yAxisData.ranges[i[a].yAxisIndex]);o=t.pop();n=t.shift();let e=l*(i[a].value-o)/(n-o);i[a].y=r.height-Math.round(e)-r.area[2]}return i}function contextRotate(t,e){if(e.rotateLock!==true){t.translate(e.height,0);t.rotate(90*Math.PI/180)}else if(e._rotate_!==true){t.translate(e.height,0);t.rotate(90*Math.PI/180);e._rotate_=true}}function drawPointShape(t,e,a,i,r){i.beginPath();if(r.dataPointShapeType=="hollow"){i.setStrokeStyle(e);i.setFillStyle(r.background);i.setLineWidth(2*r.pix)}else{i.setStrokeStyle("#ffffff");i.setFillStyle(e);i.setLineWidth(1*r.pix)}if(a==="diamond"){t.forEach(function(t,e){if(t!==null){i.moveTo(t.x,t.y-4.5);i.lineTo(t.x-4.5,t.y);i.lineTo(t.x,t.y+4.5);i.lineTo(t.x+4.5,t.y);i.lineTo(t.x,t.y-4.5)}})}else if(a==="circle"){t.forEach(function(t,e){if(t!==null){i.moveTo(t.x+2.5*r.pix,t.y);i.arc(t.x,t.y,3*r.pix,0,2*Math.PI,false)}})}else if(a==="square"){t.forEach(function(t,e){if(t!==null){i.moveTo(t.x-3.5,t.y-3.5);i.rect(t.x-3.5,t.y-3.5,7,7)}})}else if(a==="triangle"){t.forEach(function(t,e){if(t!==null){i.moveTo(t.x,t.y-4.5);i.lineTo(t.x-4.5,t.y+4.5);i.lineTo(t.x+4.5,t.y+4.5);i.lineTo(t.x,t.y-4.5)}})}else if(a==="none"){return}i.closePath();i.fill();i.stroke()}function drawActivePoint(t,e,a,i,r,o,n){if(!r.tooltip){return}if(r.tooltip.group.length>0&&r.tooltip.group.includes(n)==false){return}var l=typeof r.tooltip.index==="number"?r.tooltip.index:r.tooltip.index[r.tooltip.group.indexOf(n)];i.beginPath();if(o.activeType=="hollow"){i.setStrokeStyle(e);i.setFillStyle(r.background);i.setLineWidth(2*r.pix)}else{i.setStrokeStyle("#ffffff");i.setFillStyle(e);i.setLineWidth(1*r.pix)}if(a==="diamond"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x,t.y-4.5);i.lineTo(t.x-4.5,t.y);i.lineTo(t.x,t.y+4.5);i.lineTo(t.x+4.5,t.y);i.lineTo(t.x,t.y-4.5)}})}else if(a==="circle"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x+2.5*r.pix,t.y);i.arc(t.x,t.y,3*r.pix,0,2*Math.PI,false)}})}else if(a==="square"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x-3.5,t.y-3.5);i.rect(t.x-3.5,t.y-3.5,7,7)}})}else if(a==="triangle"){t.forEach(function(t,e){if(t!==null&&l==e){i.moveTo(t.x,t.y-4.5);i.lineTo(t.x-4.5,t.y+4.5);i.lineTo(t.x+4.5,t.y+4.5);i.lineTo(t.x,t.y-4.5)}})}else if(a==="none"){return}i.closePath();i.fill();i.stroke()}function drawRingTitle(t,e,a,i){var r=t.title.fontSize||e.titleFontSize;var o=t.subtitle.fontSize||e.subtitleFontSize;var n=t.title.name||"";var l=t.subtitle.name||"";var c=t.title.color||t.fontColor;var d=t.subtitle.color||t.fontColor;var x=n?r:0;var f=l?o:0;var s=5;if(l){var p=measureText(l,o*t.pix,a);var u=i.x-p/2+(t.subtitle.offsetX||0)*t.pix;var h=i.y+o*t.pix/2+(t.subtitle.offsetY||0)*t.pix;if(n){h+=(x*t.pix+s)/2}a.beginPath();a.setFontSize(o*t.pix);a.setFillStyle(d);a.fillText(l,u,h);a.closePath();a.stroke()}if(n){var g=measureText(n,r*t.pix,a);var y=i.x-g/2+(t.title.offsetX||0);var v=i.y+r*t.pix/2+(t.title.offsetY||0)*t.pix;if(l){v-=(f*t.pix+s)/2}a.beginPath();a.setFontSize(r*t.pix);a.setFillStyle(c);a.fillText(n,y,v);a.closePath();a.stroke()}}function drawPointText(t,o,n,l,s){var h=o.data;var c=o.textOffset?o.textOffset:0;t.forEach(function(t,e){if(t!==null){l.beginPath();var a=o.textSize?o.textSize*s.pix:n.fontSize;l.setFontSize(a);l.setFillStyle(o.textColor||s.fontColor);var i=h[e];if(typeof h[e]==="object"&&h[e]!==null){if(h[e].constructor.toString().indexOf("Array")>-1){i=h[e][1]}else{i=h[e].value}}var r=o.formatter?o.formatter(i,e,o,s):i;l.setTextAlign("center");l.fillText(String(r),t.x,t.y-4+c*s.pix);l.closePath();l.stroke();l.setTextAlign("left")}})}function drawColumePointText(t,n,l,s,h){var c=n.data;var d=n.textOffset?n.textOffset:0;var x=h.extra.column.labelPosition;t.forEach(function(t,e){if(t!==null){s.beginPath();var a=n.textSize?n.textSize*h.pix:l.fontSize;s.setFontSize(a);s.setFillStyle(n.textColor||h.fontColor);var i=c[e];if(typeof c[e]==="object"&&c[e]!==null){if(c[e].constructor.toString().indexOf("Array")>-1){i=c[e][1]}else{i=c[e].value}}var r=n.formatter?n.formatter(i,e,n,h):i;s.setTextAlign("center");var o=t.y-4*h.pix+d*h.pix;if(t.y>n.zeroPoints){o=t.y+d*h.pix+a}if(x=="insideTop"){o=t.y+a+d*h.pix;if(t.y>n.zeroPoints){o=t.y-d*h.pix-4*h.pix}}if(x=="center"){o=t.y+d*h.pix+(h.height-h.area[2]-t.y+a)/2;if(n.zeroPoints<h.height-h.area[2]){o=t.y+d*h.pix+(n.zeroPoints-t.y+a)/2}if(t.y>n.zeroPoints){o=t.y-d*h.pix-(t.y-n.zeroPoints-a)/2}if(h.extra.column.type=="stack"){o=t.y+d*h.pix+(t.y0-t.y+a)/2}}if(x=="bottom"){o=h.height-h.area[2]+d*h.pix-4*h.pix;if(n.zeroPoints<h.height-h.area[2]){o=n.zeroPoints+d*h.pix-4*h.pix}if(t.y>n.zeroPoints){o=n.zeroPoints-d*h.pix+a+2*h.pix}if(h.extra.column.type=="stack"){o=t.y0+d*h.pix-4*h.pix}}s.fillText(String(r),t.x,o);s.closePath();s.stroke();s.setTextAlign("left")}})}function drawMountPointText(t,n,l,s,h,c){var e=n.data;var d=n.textOffset?n.textOffset:0;var a=h.extra.mount.labelPosition;t.forEach(function(t,e){if(t!==null){s.beginPath();var a=n[e].textSize?n[e].textSize*h.pix:l.fontSize;s.setFontSize(a);s.setFillStyle(n[e].textColor||h.fontColor);var i=t.value;var r=n[e].formatter?n[e].formatter(i,e,n,h):i;s.setTextAlign("center");var o=t.y-4*h.pix+d*h.pix;if(t.y>c){o=t.y+d*h.pix+a}s.fillText(String(r),t.x,o);s.closePath();s.stroke();s.setTextAlign("left")}})}function drawBarPointText(t,o,n,l,s){var h=o.data;var e=o.textOffset?o.textOffset:0;t.forEach(function(t,e){if(t!==null){l.beginPath();var a=o.textSize?o.textSize*s.pix:n.fontSize;l.setFontSize(a);l.setFillStyle(o.textColor||s.fontColor);var i=h[e];if(typeof h[e]==="object"&&h[e]!==null){i=h[e].value}var r=o.formatter?o.formatter(i,e,o,s):i;l.setTextAlign("left");l.fillText(String(r),t.x+4*s.pix,t.y+a/2-3);l.closePath();l.stroke()}})}function drawGaugeLabel(e,a,i,r,o,n){a-=e.width/2+e.labelOffset*r.pix;a=a<10?10:a;let t;if(e.endAngle<e.startAngle){t=2+e.endAngle-e.startAngle}else{t=e.startAngle-e.endAngle}let c=t/e.splitLine.splitNumber;let d=e.endNumber-e.startNumber;let x=d/e.splitLine.splitNumber;let l=e.startAngle;let s=e.startNumber;for(let t=0;t<e.splitLine.splitNumber+1;t++){var h={x:a*Math.cos(l*Math.PI),y:a*Math.sin(l*Math.PI)};var f=e.formatter?e.formatter(s,t,r):s;h.x+=i.x-measureText(f,o.fontSize,n)/2;h.y+=i.y;var p=h.x;var u=h.y;n.beginPath();n.setFontSize(o.fontSize);n.setFillStyle(e.labelColor||r.fontColor);n.fillText(f,p,u+o.fontSize/2);n.closePath();n.stroke();l+=c;if(l>=2){l=l%2}s+=x}}function drawRadarLabel(t,s,h,c,d,x){var f=c.extra.radar||{};t.forEach(function(t,e){if(f.labelPointShow===true&&c.categories[e]!==""){var a={x:s*Math.cos(t),y:s*Math.sin(t)};var i=convertCoordinateOrigin(a.x,a.y,h);x.setFillStyle(f.labelPointColor);x.beginPath();x.arc(i.x,i.y,f.labelPointRadius*c.pix,0,2*Math.PI,false);x.closePath();x.fill()}if(f.labelShow===true){var r={x:(s+d.radarLabelTextMargin*c.pix)*Math.cos(t),y:(s+d.radarLabelTextMargin*c.pix)*Math.sin(t)};var o=convertCoordinateOrigin(r.x,r.y,h);var n=o.x;var l=o.y;if(util.approximatelyEqual(r.x,0)){n-=measureText(c.categories[e]||"",d.fontSize,x)/2}else if(r.x<0){n-=measureText(c.categories[e]||"",d.fontSize,x)}x.beginPath();x.setFontSize(d.fontSize);x.setFillStyle(f.labelColor||c.fontColor);x.fillText(c.categories[e]||"",n,l+d.fontSize/2);x.closePath();x.stroke()}})}function drawPieText(n,d,x,f,t,l){var p=x.pieChartLinePadding;var u=[];var g=null;var y=n.map(function(t,e){var a=t.formatter?t.formatter(t,e,n,d):util.toFixed(t._proportion_.toFixed(4)*100)+"%";a=t.labelText?t.labelText:a;var i=2*Math.PI-(t._start_+2*Math.PI*t._proportion_/2);if(t._rose_proportion_){i=2*Math.PI-(t._start_+2*Math.PI*t._rose_proportion_/2)}var r=t.color;var o=t._radius_;return{arc:i,text:a,color:r,radius:o,textColor:t.textColor,textSize:t.textSize,labelShow:t.labelShow}});for(let c=0;c<y.length;c++){let t=y[c];let e=Math.cos(t.arc)*(t.radius+p);let a=Math.sin(t.arc)*(t.radius+p);let i=Math.cos(t.arc)*t.radius;let r=Math.sin(t.arc)*t.radius;let o=e>=0?e+x.pieChartTextPadding:e-x.pieChartTextPadding;let n=a;let l=measureText(t.text,t.textSize*d.pix||x.fontSize,f);let s=n;if(g&&util.isSameXCoordinateArea(g.start,{x:o})){if(o>0){s=Math.min(n,g.start.y)}else if(e<0){s=Math.max(n,g.start.y)}else{if(n>0){s=Math.max(n,g.start.y)}else{s=Math.min(n,g.start.y)}}}if(o<0){o-=l}let h={lineStart:{x:i,y:r},lineEnd:{x:e,y:a},start:{x:o,y:s},width:l,height:x.fontSize,text:t.text,color:t.color,textColor:t.textColor,textSize:t.textSize};g=avoidCollision(h,g);u.push(g)}for(let n=0;n<u.length;n++){if(y[n].labelShow===false){continue}let t=u[n];let e=convertCoordinateOrigin(t.lineStart.x,t.lineStart.y,l);let a=convertCoordinateOrigin(t.lineEnd.x,t.lineEnd.y,l);let i=convertCoordinateOrigin(t.start.x,t.start.y,l);f.setLineWidth(1*d.pix);f.setFontSize(t.textSize*d.pix||x.fontSize);f.beginPath();f.setStrokeStyle(t.color);f.setFillStyle(t.color);f.moveTo(e.x,e.y);let r=t.start.x<0?i.x+t.width:i.x;let o=t.start.x<0?i.x-5:i.x+5;f.quadraticCurveTo(a.x,a.y,r,i.y);f.moveTo(e.x,e.y);f.stroke();f.closePath();f.beginPath();f.moveTo(i.x+t.width,i.y);f.arc(r,i.y,2*d.pix,0,2*Math.PI);f.closePath();f.fill();f.beginPath();f.setFontSize(t.textSize*d.pix||x.fontSize);f.setFillStyle(t.textColor||d.fontColor);f.fillText(t.text,o,i.y+3);f.closePath();f.stroke();f.closePath()}}function drawToolTipSplitLine(r,o,n,l){var s=o.extra.tooltip||{};s.gridType=s.gridType==undefined?"solid":s.gridType;s.dashLength=s.dashLength==undefined?4:s.dashLength;var t=o.area[0];var h=o.height-o.area[2];if(s.gridType=="dash"){l.setLineDash([s.dashLength,s.dashLength])}l.setStrokeStyle(s.gridColor||"#cccccc");l.setLineWidth(1*o.pix);l.beginPath();l.moveTo(r,t);l.lineTo(r,h);l.stroke();l.setLineDash([]);if(s.xAxisLabel){let t=o.categories[o.tooltip.index];l.setFontSize(n.fontSize);let e=measureText(t,n.fontSize,l);let a=r-.5*e;let i=h+2*o.pix;l.beginPath();l.setFillStyle(hexToRgb(s.labelBgColor||n.toolTipBackground,s.labelBgOpacity||n.toolTipOpacity));l.setStrokeStyle(s.labelBgColor||n.toolTipBackground);l.setLineWidth(1*o.pix);l.rect(a-s.boxPadding*o.pix,i,e+2*s.boxPadding*o.pix,n.fontSize+2*s.boxPadding*o.pix);l.closePath();l.stroke();l.fill();l.beginPath();l.setFontSize(n.fontSize);l.setFillStyle(s.labelFontColor||o.fontColor);l.fillText(String(t),a,i+s.boxPadding*o.pix+n.fontSize);l.closePath();l.stroke()}}function drawMarkLine(h,t,c){let e=assign({},{type:"solid",dashLength:4,data:[]},h.extra.markLine);let a=h.area[3];let i=h.width-h.area[1];let r=calMarkLineData(e.data,h);for(let t=0;t<r.length;t++){let s=assign({},{lineColor:"#DE4A42",showLabel:false,labelFontSize:13,labelPadding:6,labelFontColor:"#666666",labelBgColor:"#DFE8FF",labelBgOpacity:.8,labelAlign:"left",labelOffsetX:0,labelOffsetY:0},r[t]);if(e.type=="dash"){c.setLineDash([e.dashLength,e.dashLength])}c.setStrokeStyle(s.lineColor);c.setLineWidth(1*h.pix);c.beginPath();c.moveTo(a,s.y);c.lineTo(i,s.y);c.stroke();c.setLineDash([]);if(s.showLabel){let t=s.labelFontSize*h.pix;let e=s.labelText?s.labelText:s.value;c.setFontSize(t);let a=measureText(e,t,c);let i=a+s.labelPadding*h.pix*2;let r=s.labelAlign=="left"?h.area[3]-i:h.width-h.area[1];r+=s.labelOffsetX;let o=s.y-.5*t-s.labelPadding*h.pix;o+=s.labelOffsetY;let n=r+s.labelPadding*h.pix;let l=s.y;c.setFillStyle(hexToRgb(s.labelBgColor,s.labelBgOpacity));c.setStrokeStyle(s.labelBgColor);c.setLineWidth(1*h.pix);c.beginPath();c.rect(r,o,i,t+2*s.labelPadding*h.pix);c.closePath();c.stroke();c.fill();c.setFontSize(t);c.setTextAlign("left");c.setFillStyle(s.labelFontColor);c.fillText(String(e),n,o+t+s.labelPadding*h.pix/2);c.stroke();c.setTextAlign("left")}}}function drawToolTipHorizentalLine(x,f,p,t,e){var u=assign({},{gridType:"solid",dashLength:4},x.extra.tooltip);var a=x.area[3];var i=x.width-x.area[1];if(u.gridType=="dash"){p.setLineDash([u.dashLength,u.dashLength])}p.setStrokeStyle(u.gridColor||"#cccccc");p.setLineWidth(1*x.pix);p.beginPath();p.moveTo(a,x.tooltip.offset.y);p.lineTo(i,x.tooltip.offset.y);p.stroke();p.setLineDash([]);if(u.yAxisLabel){let l=u.boxPadding*x.pix;let s=calTooltipYAxisData(x.tooltip.offset.y,x.series,x,f,t);let h=x.chartData.yAxisData.yAxisWidth;let c=x.area[3];let d=x.width-x.area[1];for(let n=0;n<s.length;n++){p.setFontSize(u.fontSize*x.pix);let t=measureText(s[n],u.fontSize*x.pix,p);let e,a,i;if(h[n].position=="left"){e=c-(t+l*2)-2*x.pix;a=Math.max(e,e+t+l*2)}else{e=d+2*x.pix;a=Math.max(e+h[n].width,e+t+l*2)}i=a-e;let r=e+(i-t)/2;let o=x.tooltip.offset.y;p.beginPath();p.setFillStyle(hexToRgb(u.labelBgColor||f.toolTipBackground,u.labelBgOpacity||f.toolTipOpacity));p.setStrokeStyle(u.labelBgColor||f.toolTipBackground);p.setLineWidth(1*x.pix);p.rect(e,o-.5*f.fontSize-l,i,f.fontSize+2*l);p.closePath();p.stroke();p.fill();p.beginPath();p.setFontSize(f.fontSize);p.setFillStyle(u.labelFontColor||x.fontColor);p.fillText(s[n],r,o+.5*f.fontSize);p.closePath();p.stroke();if(h[n].position=="left"){c-=h[n].width+x.yAxis.padding*x.pix}else{d+=h[n].width+x.yAxis.padding*x.pix}}}}function drawToolTipSplitArea(t,e,a,i,r){var o=assign({},{activeBgColor:"#000000",activeBgOpacity:.08,activeWidth:r},e.extra.column);o.activeWidth=o.activeWidth>r?r:o.activeWidth;var n=e.area[0];var l=e.height-e.area[2];i.beginPath();i.setFillStyle(hexToRgb(o.activeBgColor,o.activeBgOpacity));i.rect(t-o.activeWidth/2,n,o.activeWidth,l-n);i.closePath();i.fill();i.setFillStyle("#FFFFFF")}function drawBarToolTipSplitArea(t,e,a,i,r){var o=assign({},{activeBgColor:"#000000",activeBgOpacity:.08},e.extra.bar);var n=e.area[3];var l=e.width-e.area[1];i.beginPath();i.setFillStyle(hexToRgb(o.activeBgColor,o.activeBgOpacity));i.rect(n,t-r/2,l-n,r);i.closePath();i.fill();i.setFillStyle("#FFFFFF")}function drawToolTip(e,r,o,a,n,i,f){var l=assign({},{showBox:true,showArrow:true,showCategory:false,bgColor:"#000000",bgOpacity:.7,borderColor:"#000000",borderWidth:0,borderRadius:0,borderOpacity:.7,boxPadding:3,fontColor:"#FFFFFF",fontSize:13,lineHeight:20,legendShow:true,legendShape:"auto",splitLine:true},o.extra.tooltip);if(l.showCategory==true&&o.categories){e.unshift({text:o.categories[o.tooltip.index],color:null})}var s=l.fontSize*o.pix;var p=l.lineHeight*o.pix;var h=l.boxPadding*o.pix;var c=s;var u=5*o.pix;if(l.legendShow==false){c=0;u=0}var d=l.showArrow?8*o.pix:0;var g=false;if(o.type=="line"||o.type=="mount"||o.type=="area"||o.type=="candle"||o.type=="mix"){if(l.splitLine==true){drawToolTipSplitLine(o.tooltip.offset.x,o,a,n)}}r=assign({x:0,y:0},r);r.y-=8*o.pix;var y=e.map(function(t){return measureText(t.text,s,n)});var x=c+u+4*h+Math.max.apply(null,y);var v=2*h+e.length*p;if(l.showBox==false){return}if(r.x-Math.abs(o._scrollDistance_||0)+d+x>o.width){g=true}if(v+r.y>o.height){r.y=o.height-v}n.beginPath();n.setFillStyle(hexToRgb(l.bgColor,l.bgOpacity));n.setLineWidth(l.borderWidth*o.pix);n.setStrokeStyle(hexToRgb(l.borderColor,l.borderOpacity));var t=l.borderRadius;if(g){if(x+d>o.width){r.x=o.width+Math.abs(o._scrollDistance_||0)+d+(x-o.width)}if(x>r.x){r.x=o.width+Math.abs(o._scrollDistance_||0)+d+(x-o.width)}if(l.showArrow){n.moveTo(r.x,r.y+10*o.pix);n.lineTo(r.x-d,r.y+10*o.pix+5*o.pix)}n.arc(r.x-d-t,r.y+v-t,t,0,Math.PI/2,false);n.arc(r.x-d-Math.round(x)+t,r.y+v-t,t,Math.PI/2,Math.PI,false);n.arc(r.x-d-Math.round(x)+t,r.y+t,t,-Math.PI,-Math.PI/2,false);n.arc(r.x-d-t,r.y+t,t,-Math.PI/2,0,false);if(l.showArrow){n.lineTo(r.x-d,r.y+10*o.pix-5*o.pix);n.lineTo(r.x,r.y+10*o.pix)}}else{if(l.showArrow){n.moveTo(r.x,r.y+10*o.pix);n.lineTo(r.x+d,r.y+10*o.pix-5*o.pix)}n.arc(r.x+d+t,r.y+t,t,-Math.PI,-Math.PI/2,false);n.arc(r.x+d+Math.round(x)-t,r.y+t,t,-Math.PI/2,0,false);n.arc(r.x+d+Math.round(x)-t,r.y+v-t,t,0,Math.PI/2,false);n.arc(r.x+d+t,r.y+v-t,t,Math.PI/2,Math.PI,false);if(l.showArrow){n.lineTo(r.x+d,r.y+10*o.pix+5*o.pix);n.lineTo(r.x,r.y+10*o.pix)}}n.closePath();n.fill();if(l.borderWidth>0){n.stroke()}if(l.legendShow){e.forEach(function(t,e){if(t.color!==null){n.beginPath();n.setFillStyle(t.color);var a=r.x+d+2*h;var i=r.y+(p-s)/2+p*e+h+1;if(g){a=r.x-x-d+2*h}switch(t.legendShape){case"line":n.moveTo(a,i+.5*c-2*o.pix);n.fillRect(a,i+.5*c-2*o.pix,c,4*o.pix);break;case"triangle":n.moveTo(a+7.5*o.pix,i+.5*c-5*o.pix);n.lineTo(a+2.5*o.pix,i+.5*c+5*o.pix);n.lineTo(a+12.5*o.pix,i+.5*c+5*o.pix);n.lineTo(a+7.5*o.pix,i+.5*c-5*o.pix);break;case"diamond":n.moveTo(a+7.5*o.pix,i+.5*c-5*o.pix);n.lineTo(a+2.5*o.pix,i+.5*c);n.lineTo(a+7.5*o.pix,i+.5*c+5*o.pix);n.lineTo(a+12.5*o.pix,i+.5*c);n.lineTo(a+7.5*o.pix,i+.5*c-5*o.pix);break;case"circle":n.moveTo(a+7.5*o.pix,i+.5*c);n.arc(a+7.5*o.pix,i+.5*c,5*o.pix,0,2*Math.PI);break;case"rect":n.moveTo(a,i+.5*c-5*o.pix);n.fillRect(a,i+.5*c-5*o.pix,15*o.pix,10*o.pix);break;case"square":n.moveTo(a+2*o.pix,i+.5*c-5*o.pix);n.fillRect(a+2*o.pix,i+.5*c-5*o.pix,10*o.pix,10*o.pix);break;default:n.moveTo(a,i+.5*c-5*o.pix);n.fillRect(a,i+.5*c-5*o.pix,15*o.pix,10*o.pix)}n.closePath();n.fill()}})}e.forEach(function(t,e){var a=r.x+d+2*h+c+u;if(g){a=r.x-x-d+2*h+c+u}var i=r.y+p*e+(p-s)/2-1+h+s;n.beginPath();n.setFontSize(s);n.setTextBaseline("normal");n.setFillStyle(l.fontColor);n.fillText(t.text,a,i);n.closePath();n.stroke()})}function drawColumnDataPoints(T,b,S,w){let A=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let t=b.chartData.xAxisData,P=t.xAxisPoints,C=t.eachSpacing;let D=assign({},{type:"group",width:C/2,meterBorder:4,meterFillColor:"#FFFFFF",barBorderCircle:false,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0,labelPosition:"outside"},b.extra.column);let M=[];w.save();let L=-2;let F=P.length+2;if(b._scrollDistance_&&b._scrollDistance_!==0&&b.enableScroll===true){w.translate(b._scrollDistance_,0);L=Math.floor(-b._scrollDistance_/C)-2;F=L+b.xAxis.itemCount+4}if(b.tooltip&&b.tooltip.textList&&b.tooltip.textList.length&&A===1){drawToolTipSplitArea(b.tooltip.offset.x,b,S,w,C)}D.customColor=fillCustomColor(D.linearType,D.customColor,T,S);T.forEach(function(a,i){let e,t,o;e=[].concat(b.chartData.yAxisData.ranges[a.index]);t=e.pop();o=e.shift();let x=b.height-b.area[0]-b.area[2];let f=x*(0-t)/(o-t);let n=b.height-Math.round(f)-b.area[2];a.zeroPoints=n;var p=a.data;switch(D.type){case"group":var r=getColumnDataPoints(p,t,o,P,C,b,S,n,A);var u=getStackDataPoints(p,t,o,P,C,b,S,i,T,A);M.push(u);r=fixColumeData(r,C,T.length,i,S,b);for(let t=0;t<r.length;t++){let o=r[t];if(o!==null&&t>L&&t<F){var l=o.x-o.width/2;var s=b.height-o.y-b.area[2];w.beginPath();var g=o.color||a.color;var y=o.color||a.color;if(D.linearType!=="none"){var v=w.createLinearGradient(l,o.y,l,n);if(D.linearType=="opacity"){v.addColorStop(0,hexToRgb(g,D.linearOpacity));v.addColorStop(1,hexToRgb(g,1))}else{v.addColorStop(0,hexToRgb(D.customColor[a.linearIndex],D.linearOpacity));v.addColorStop(D.colorStop,hexToRgb(D.customColor[a.linearIndex],D.linearOpacity));v.addColorStop(1,hexToRgb(g,1))}g=v}if(D.barBorderRadius&&D.barBorderRadius.length===4||D.barBorderCircle===true){const h=l;const c=o.y>n?n:o.y;const d=o.width;const s=Math.abs(n-o.y);if(D.barBorderCircle){D.barBorderRadius=[d/2,d/2,0,0]}if(o.y>n){D.barBorderRadius=[0,0,d/2,d/2]}let[t,e,a,i]=D.barBorderRadius;let r=Math.min(d/2,s/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;w.arc(h+t,c+t,t,-Math.PI,-Math.PI/2);w.arc(h+d-e,c+e,e,-Math.PI/2,0);w.arc(h+d-a,c+s-a,a,0,Math.PI/2);w.arc(h+i,c+s-i,i,Math.PI/2,Math.PI)}else{w.moveTo(l,o.y);w.lineTo(l+o.width,o.y);w.lineTo(l+o.width,n);w.lineTo(l,n);w.lineTo(l,o.y);w.setLineWidth(1);w.setStrokeStyle(y)}w.setFillStyle(g);w.closePath();w.fill()}};break;case"stack":var r=getStackDataPoints(p,t,o,P,C,b,S,i,T,A);M.push(r);r=fixColumeStackData(r,C,T.length,i,S,b,T);for(let e=0;e<r.length;e++){let t=r[e];if(t!==null&&e>L&&e<F){w.beginPath();var g=t.color||a.color;var l=t.x-t.width/2+1;var s=b.height-t.y-b.area[2];var m=b.height-t.y0-b.area[2];if(i>0){s-=m}w.setFillStyle(g);w.moveTo(l,t.y);w.fillRect(l,t.y,t.width,s);w.closePath();w.fill()}};break;case"meter":var r=getDataPoints(p,t,o,P,C,b,S,A);M.push(r);r=fixColumeMeterData(r,C,T.length,i,S,b,D.meterBorder);for(let t=0;t<r.length;t++){let o=r[t];if(o!==null&&t>L&&t<F){w.beginPath();if(i==0&&D.meterBorder>0){w.setStrokeStyle(a.color);w.setLineWidth(D.meterBorder*b.pix)}if(i==0){w.setFillStyle(D.meterFillColor)}else{w.setFillStyle(o.color||a.color)}var l=o.x-o.width/2;var s=b.height-o.y-b.area[2];if(D.barBorderRadius&&D.barBorderRadius.length===4||D.barBorderCircle===true){const h=l;const c=o.y;const d=o.width;const s=n-o.y;if(D.barBorderCircle){D.barBorderRadius=[d/2,d/2,0,0]}let[t,e,a,i]=D.barBorderRadius;let r=Math.min(d/2,s/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;w.arc(h+t,c+t,t,-Math.PI,-Math.PI/2);w.arc(h+d-e,c+e,e,-Math.PI/2,0);w.arc(h+d-a,c+s-a,a,0,Math.PI/2);w.arc(h+i,c+s-i,i,Math.PI/2,Math.PI);w.fill()}else{w.moveTo(l,o.y);w.lineTo(l+o.width,o.y);w.lineTo(l+o.width,n);w.lineTo(l,n);w.lineTo(l,o.y);w.fill()}if(i==0&&D.meterBorder>0){w.closePath();w.stroke()}}}break}});if(b.dataLabel!==false&&A===1){T.forEach(function(t,e){let a,i,r;a=[].concat(b.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;switch(D.type){case"group":var n=getColumnDataPoints(o,i,r,P,C,b,S,A);n=fixColumeData(n,C,T.length,e,S,b);drawColumePointText(n,t,S,w,b);break;case"stack":var n=getStackDataPoints(o,i,r,P,C,b,S,e,T,A);drawColumePointText(n,t,S,w,b);break;case"meter":var n=getDataPoints(o,i,r,P,C,b,S,A);drawColumePointText(n,t,S,w,b);break}})}w.restore();return{xAxisPoints:P,calPoints:M,eachSpacing:C}}function drawMountDataPoints(i,r,o,n){let f=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let t=r.chartData.xAxisData,p=t.xAxisPoints,l=t.eachSpacing;let s=assign({},{type:"mount",widthRatio:1,borderWidth:1,barBorderCircle:false,barBorderRadius:[],linearType:"none",linearOpacity:1,customColor:[],colorStop:0},r.extra.mount);s.widthRatio=s.widthRatio<=0?0:s.widthRatio;s.widthRatio=s.widthRatio>=2?2:s.widthRatio;let e=[];n.save();let u=-2;let g=p.length+2;if(r._scrollDistance_&&r._scrollDistance_!==0&&r.enableScroll===true){n.translate(r._scrollDistance_,0);u=Math.floor(-r._scrollDistance_/l)-2;g=u+r.xAxis.itemCount+4}s.customColor=fillCustomColor(s.linearType,s.customColor,i,o);let y,v,m;y=[].concat(r.chartData.yAxisData.ranges[0]);v=y.pop();m=y.shift();let T=r.height-r.area[0]-r.area[2];let b=T*(0-v)/(m-v);let h=r.height-Math.round(b)-r.area[2];var c=getMountDataPoints(i,v,m,p,l,r,s,h,f);switch(s.type){case"bar":for(let t=0;t<c.length;t++){let o=c[t];if(o!==null&&t>u&&t<g){var d=o.x-l*s.widthRatio/2;var S=r.height-o.y-r.area[2];n.beginPath();var a=o.color||i[t].color;var w=o.color||i[t].color;if(s.linearType!=="none"){var x=n.createLinearGradient(d,o.y,d,h);if(s.linearType=="opacity"){x.addColorStop(0,hexToRgb(a,s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}else{x.addColorStop(0,hexToRgb(s.customColor[i[t].linearIndex],s.linearOpacity));x.addColorStop(s.colorStop,hexToRgb(s.customColor[i[t].linearIndex],s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}a=x}if(s.barBorderRadius&&s.barBorderRadius.length===4||s.barBorderCircle===true){const A=d;const P=o.y>h?h:o.y;const C=o.width;const S=Math.abs(h-o.y);if(s.barBorderCircle){s.barBorderRadius=[C/2,C/2,0,0]}if(o.y>h){s.barBorderRadius=[0,0,C/2,C/2]}let[t,e,a,i]=s.barBorderRadius;let r=Math.min(C/2,S/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;n.arc(A+t,P+t,t,-Math.PI,-Math.PI/2);n.arc(A+C-e,P+e,e,-Math.PI/2,0);n.arc(A+C-a,P+S-a,a,0,Math.PI/2);n.arc(A+i,P+S-i,i,Math.PI/2,Math.PI)}else{n.moveTo(d,o.y);n.lineTo(d+o.width,o.y);n.lineTo(d+o.width,h);n.lineTo(d,h);n.lineTo(d,o.y)}n.setStrokeStyle(w);n.setFillStyle(a);if(s.borderWidth>0){n.setLineWidth(s.borderWidth*r.pix);n.closePath();n.stroke()}n.fill()}};break;case"triangle":for(let e=0;e<c.length;e++){let t=c[e];if(t!==null&&e>u&&e<g){var d=t.x-l*s.widthRatio/2;var S=r.height-t.y-r.area[2];n.beginPath();var a=t.color||i[e].color;var w=t.color||i[e].color;if(s.linearType!=="none"){var x=n.createLinearGradient(d,t.y,d,h);if(s.linearType=="opacity"){x.addColorStop(0,hexToRgb(a,s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}else{x.addColorStop(0,hexToRgb(s.customColor[i[e].linearIndex],s.linearOpacity));x.addColorStop(s.colorStop,hexToRgb(s.customColor[i[e].linearIndex],s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}a=x}n.moveTo(d,h);n.lineTo(t.x,t.y);n.lineTo(d+t.width,h);n.setStrokeStyle(w);n.setFillStyle(a);if(s.borderWidth>0){n.setLineWidth(s.borderWidth*r.pix);n.stroke()}n.fill()}};break;case"mount":for(let e=0;e<c.length;e++){let t=c[e];if(t!==null&&e>u&&e<g){var d=t.x-l*s.widthRatio/2;var S=r.height-t.y-r.area[2];n.beginPath();var a=t.color||i[e].color;var w=t.color||i[e].color;if(s.linearType!=="none"){var x=n.createLinearGradient(d,t.y,d,h);if(s.linearType=="opacity"){x.addColorStop(0,hexToRgb(a,s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}else{x.addColorStop(0,hexToRgb(s.customColor[i[e].linearIndex],s.linearOpacity));x.addColorStop(s.colorStop,hexToRgb(s.customColor[i[e].linearIndex],s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}a=x}n.moveTo(d,h);n.bezierCurveTo(t.x-t.width/4,h,t.x-t.width/4,t.y,t.x,t.y);n.bezierCurveTo(t.x+t.width/4,t.y,t.x+t.width/4,h,d+t.width,h);n.setStrokeStyle(w);n.setFillStyle(a);if(s.borderWidth>0){n.setLineWidth(s.borderWidth*r.pix);n.stroke()}n.fill()}};break;case"sharp":for(let e=0;e<c.length;e++){let t=c[e];if(t!==null&&e>u&&e<g){var d=t.x-l*s.widthRatio/2;var S=r.height-t.y-r.area[2];n.beginPath();var a=t.color||i[e].color;var w=t.color||i[e].color;if(s.linearType!=="none"){var x=n.createLinearGradient(d,t.y,d,h);if(s.linearType=="opacity"){x.addColorStop(0,hexToRgb(a,s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}else{x.addColorStop(0,hexToRgb(s.customColor[i[e].linearIndex],s.linearOpacity));x.addColorStop(s.colorStop,hexToRgb(s.customColor[i[e].linearIndex],s.linearOpacity));x.addColorStop(1,hexToRgb(a,1))}a=x}n.moveTo(d,h);n.quadraticCurveTo(t.x-0,h-S/4,t.x,t.y);n.quadraticCurveTo(t.x+0,h-S/4,d+t.width,h);n.setStrokeStyle(w);n.setFillStyle(a);if(s.borderWidth>0){n.setLineWidth(s.borderWidth*r.pix);n.stroke()}n.fill()}};break}if(r.dataLabel!==false&&f===1){let t,e,a;t=[].concat(r.chartData.yAxisData.ranges[0]);e=t.pop();a=t.shift();var c=getMountDataPoints(i,e,a,p,l,r,s,h,f);drawMountPointText(c,i,o,n,r,h)}n.restore();return{xAxisPoints:p,calPoints:c,eachSpacing:l}}function drawBarDataPoints(y,v,m,T){let b=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let S=[];let w=(v.height-v.area[0]-v.area[2])/v.categories.length;for(let t=0;t<v.categories.length;t++){S.push(v.area[0]+w/2+w*t)}let A=assign({},{type:"group",width:w/2,meterBorder:4,meterFillColor:"#FFFFFF",barBorderCircle:false,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0},v.extra.bar);let P=[];T.save();let C=-2;let D=S.length+2;if(v.tooltip&&v.tooltip.textList&&v.tooltip.textList.length&&b===1){drawBarToolTipSplitArea(v.tooltip.offset.y,v,m,T,w)}A.customColor=fillCustomColor(A.linearType,A.customColor,y,m);y.forEach(function(a,t){let o,e,d;o=[].concat(v.chartData.xAxisData.ranges);d=o.pop();e=o.shift();var x=a.data;switch(A.type){case"group":var i=getBarDataPoints(x,e,d,S,w,v,m,b);var f=getBarStackDataPoints(x,e,d,S,w,v,m,t,y,b);P.push(f);i=fixBarData(i,w,y.length,t,m,v);for(let t=0;t<i.length;t++){let o=i[t];if(o!==null&&t>C&&t<D){var n=v.area[3];var r=o.y-o.width/2;var p=o.height;T.beginPath();var l=o.color||a.color;var u=o.color||a.color;if(A.linearType!=="none"){var s=T.createLinearGradient(n,o.y,o.x,o.y);if(A.linearType=="opacity"){s.addColorStop(0,hexToRgb(l,A.linearOpacity));s.addColorStop(1,hexToRgb(l,1))}else{s.addColorStop(0,hexToRgb(A.customColor[a.linearIndex],A.linearOpacity));s.addColorStop(A.colorStop,hexToRgb(A.customColor[a.linearIndex],A.linearOpacity));s.addColorStop(1,hexToRgb(l,1))}l=s}if(A.barBorderRadius&&A.barBorderRadius.length===4||A.barBorderCircle===true){const g=n;const h=o.width;const c=o.y-o.width/2;const p=o.height;if(A.barBorderCircle){A.barBorderRadius=[h/2,h/2,0,0]}let[t,e,a,i]=A.barBorderRadius;let r=Math.min(h/2,p/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;T.arc(g+i,c+i,i,-Math.PI,-Math.PI/2);T.arc(o.x-t,c+t,t,-Math.PI/2,0);T.arc(o.x-e,c+h-e,e,0,Math.PI/2);T.arc(g+a,c+h-a,a,Math.PI/2,Math.PI)}else{T.moveTo(n,r);T.lineTo(o.x,r);T.lineTo(o.x,r+o.width);T.lineTo(n,r+o.width);T.lineTo(n,r);T.setLineWidth(1);T.setStrokeStyle(u)}T.setFillStyle(l);T.closePath();T.fill()}};break;case"stack":var i=getBarStackDataPoints(x,e,d,S,w,v,m,t,y,b);P.push(i);i=fixBarStackData(i,w,y.length,t,m,v,y);for(let e=0;e<i.length;e++){let t=i[e];if(t!==null&&e>C&&e<D){T.beginPath();var l=t.color||a.color;var n=t.x0;T.setFillStyle(l);T.moveTo(n,t.y-t.width/2);T.fillRect(n,t.y-t.width/2,t.height,t.width);T.closePath();T.fill()}};break}});if(v.dataLabel!==false&&b===1){y.forEach(function(t,e){let a,i,r;a=[].concat(v.chartData.xAxisData.ranges);r=a.pop();i=a.shift();var o=t.data;switch(A.type){case"group":var n=getBarDataPoints(o,i,r,S,w,v,m,b);n=fixBarData(n,w,y.length,e,m,v);drawBarPointText(n,t,m,T,v);break;case"stack":var n=getBarStackDataPoints(o,i,r,S,w,v,m,e,y,b);drawBarPointText(n,t,m,T,v);break}})}return{yAxisPoints:S,calPoints:P,eachSpacing:w}}function drawCandleDataPoints(e,t,h,c,d){var g=arguments.length>5&&arguments[5]!==undefined?arguments[5]:1;var s=assign({},{color:{},average:{}},h.extra.candle);s.color=assign({},{upLine:"#f04864",upFill:"#f04864",downLine:"#2fc25b",downFill:"#2fc25b"},s.color);s.average=assign({},{show:false,name:[],day:[],color:c.color},s.average);h.extra.candle=s;let a=h.chartData.xAxisData,x=a.xAxisPoints,f=a.eachSpacing;let y=[];d.save();let p=-2;let v=x.length+2;let u=0;let m=h.width+f;if(h._scrollDistance_&&h._scrollDistance_!==0&&h.enableScroll===true){d.translate(h._scrollDistance_,0);p=Math.floor(-h._scrollDistance_/f)-2;v=p+h.xAxis.itemCount+4;u=-h._scrollDistance_-f*2+h.area[3];m=u+(h.xAxis.itemCount+4)*f}if(s.average.show||t){t.forEach(function(e,t){let a,i,r;a=[].concat(h.chartData.yAxisData.ranges[e.index]);i=a.pop();r=a.shift();var o=e.data;var n=getDataPoints(o,i,r,x,f,h,c,g);var l=splitPoints(n,e);for(let t=0;t<l.length;t++){let i=l[t];d.beginPath();d.setStrokeStyle(e.color);d.setLineWidth(1);if(i.length===1){d.moveTo(i[0].x,i[0].y);d.arc(i[0].x,i[0].y,1,0,2*Math.PI)}else{d.moveTo(i[0].x,i[0].y);let a=0;for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>u){d.moveTo(t.x,t.y);a=1}if(e>0&&t.x>u&&t.x<m){var s=createCurveControlPoints(i,e-1);d.bezierCurveTo(s.ctrA.x,s.ctrA.y,s.ctrB.x,s.ctrB.y,t.x,t.y)}}d.moveTo(i[0].x,i[0].y)}d.closePath();d.stroke()}})}e.forEach(function(t,e){let a,i,r;a=[].concat(h.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getCandleDataPoints(o,i,r,x,f,h,c,g);y.push(n);var l=splitPoints(n,t);for(let e=0;e<l[0].length;e++){if(e>p&&e<v){let t=l[0][e];d.beginPath();if(o[e][1]-o[e][0]>0){d.setStrokeStyle(s.color.upLine);d.setFillStyle(s.color.upFill);d.setLineWidth(1*h.pix);d.moveTo(t[3].x,t[3].y);d.lineTo(t[1].x,t[1].y);d.lineTo(t[1].x-f/4,t[1].y);d.lineTo(t[0].x-f/4,t[0].y);d.lineTo(t[0].x,t[0].y);d.lineTo(t[2].x,t[2].y);d.lineTo(t[0].x,t[0].y);d.lineTo(t[0].x+f/4,t[0].y);d.lineTo(t[1].x+f/4,t[1].y);d.lineTo(t[1].x,t[1].y);d.moveTo(t[3].x,t[3].y)}else{d.setStrokeStyle(s.color.downLine);d.setFillStyle(s.color.downFill);d.setLineWidth(1*h.pix);d.moveTo(t[3].x,t[3].y);d.lineTo(t[0].x,t[0].y);d.lineTo(t[0].x-f/4,t[0].y);d.lineTo(t[1].x-f/4,t[1].y);d.lineTo(t[1].x,t[1].y);d.lineTo(t[2].x,t[2].y);d.lineTo(t[1].x,t[1].y);d.lineTo(t[1].x+f/4,t[1].y);d.lineTo(t[0].x+f/4,t[0].y);d.lineTo(t[0].x,t[0].y);d.moveTo(t[3].x,t[3].y)}d.closePath();d.fill();d.stroke()}}});d.restore();return{xAxisPoints:x,calPoints:y,eachSpacing:f}}function drawAreaDataPoints(t,s,h,c){var d=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var x=assign({},{type:"straight",opacity:.2,addLine:false,width:2,gradient:false,activeType:"none"},s.extra.area);let e=s.chartData.xAxisData,f=e.xAxisPoints,p=e.eachSpacing;let y=s.height-s.area[2];let v=[];c.save();let u=0;let g=s.width+p;if(s._scrollDistance_&&s._scrollDistance_!==0&&s.enableScroll===true){c.translate(s._scrollDistance_,0);u=-s._scrollDistance_-p*2+s.area[3];g=u+(s.xAxis.itemCount+4)*p}t.forEach(function(e,t){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[e.index]);i=a.pop();r=a.shift();let o=e.data;let n=getDataPoints(o,i,r,f,p,s,h,d);v.push(n);let l=splitPoints(n,e);for(let t=0;t<l.length;t++){let r=l[t];c.beginPath();c.setStrokeStyle(hexToRgb(e.color,x.opacity));if(x.gradient){let t=c.createLinearGradient(0,s.area[0],0,s.height-s.area[2]);t.addColorStop("0",hexToRgb(e.color,x.opacity));t.addColorStop("1.0",hexToRgb("#FFFFFF",.1));c.setFillStyle(t)}else{c.setFillStyle(hexToRgb(e.color,x.opacity))}c.setLineWidth(x.width*s.pix);if(r.length>1){let t=r[0];let e=r[r.length-1];c.moveTo(t.x,t.y);let i=0;if(x.type==="curve"){for(let a=0;a<r.length;a++){let e=r[a];if(i==0&&e.x>u){c.moveTo(e.x,e.y);i=1}if(a>0&&e.x>u&&e.x<g){let t=createCurveControlPoints(r,a-1);c.bezierCurveTo(t.ctrA.x,t.ctrA.y,t.ctrB.x,t.ctrB.y,e.x,e.y)}}}if(x.type==="straight"){for(let e=0;e<r.length;e++){let t=r[e];if(i==0&&t.x>u){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.x<g){c.lineTo(t.x,t.y)}}}if(x.type==="step"){for(let e=0;e<r.length;e++){let t=r[e];if(i==0&&t.x>u){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.x<g){c.lineTo(t.x,r[e-1].y);c.lineTo(t.x,t.y)}}}c.lineTo(e.x,y);c.lineTo(t.x,y);c.lineTo(t.x,t.y)}else{let t=r[0];c.moveTo(t.x-p/2,t.y)}c.closePath();c.fill();if(x.addLine){if(e.lineType=="dash"){let t=e.dashLength?e.dashLength:8;t*=s.pix;c.setLineDash([t,t])}c.beginPath();c.setStrokeStyle(e.color);c.setLineWidth(x.width*s.pix);if(r.length===1){c.moveTo(r[0].x,r[0].y)}else{c.moveTo(r[0].x,r[0].y);let i=0;if(x.type==="curve"){for(let a=0;a<r.length;a++){let e=r[a];if(i==0&&e.x>u){c.moveTo(e.x,e.y);i=1}if(a>0&&e.x>u&&e.x<g){let t=createCurveControlPoints(r,a-1);c.bezierCurveTo(t.ctrA.x,t.ctrA.y,t.ctrB.x,t.ctrB.y,e.x,e.y)}}}if(x.type==="straight"){for(let e=0;e<r.length;e++){let t=r[e];if(i==0&&t.x>u){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.x<g){c.lineTo(t.x,t.y)}}}if(x.type==="step"){for(let e=0;e<r.length;e++){let t=r[e];if(i==0&&t.x>u){c.moveTo(t.x,t.y);i=1}if(e>0&&t.x>u&&t.x<g){c.lineTo(t.x,r[e-1].y);c.lineTo(t.x,t.y)}}}c.moveTo(r[0].x,r[0].y)}c.stroke();c.setLineDash([])}}if(s.dataPointShape!==false){drawPointShape(n,e.color,e.pointShape,c,s)}drawActivePoint(n,e.color,e.pointShape,c,s,x,t)});if(s.dataLabel!==false&&d===1){t.forEach(function(t,e){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,f,p,s,h,d);drawPointText(n,t,h,c,s)})}c.restore();return{xAxisPoints:f,calPoints:v,eachSpacing:p}}function drawScatterDataPoints(t,s,h,c){var d=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var i=assign({},{type:"circle"},s.extra.scatter);let e=s.chartData.xAxisData,x=e.xAxisPoints,f=e.eachSpacing;var r=[];c.save();let a=0;let o=s.width+f;if(s._scrollDistance_&&s._scrollDistance_!==0&&s.enableScroll===true){c.translate(s._scrollDistance_,0);a=-s._scrollDistance_-f*2+s.area[3];o=a+(s.xAxis.itemCount+4)*f}t.forEach(function(t,e){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,x,f,s,h,d);c.beginPath();c.setStrokeStyle(t.color);c.setFillStyle(t.color);c.setLineWidth(1*s.pix);var l=t.pointShape;if(l==="diamond"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x,t.y-4.5);c.lineTo(t.x-4.5,t.y);c.lineTo(t.x,t.y+4.5);c.lineTo(t.x+4.5,t.y);c.lineTo(t.x,t.y-4.5)}})}else if(l==="circle"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x+2.5*s.pix,t.y);c.arc(t.x,t.y,3*s.pix,0,2*Math.PI,false)}})}else if(l==="square"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x-3.5,t.y-3.5);c.rect(t.x-3.5,t.y-3.5,7,7)}})}else if(l==="triangle"){n.forEach(function(t,e){if(t!==null){c.moveTo(t.x,t.y-4.5);c.lineTo(t.x-4.5,t.y+4.5);c.lineTo(t.x+4.5,t.y+4.5);c.lineTo(t.x,t.y-4.5)}})}else if(l==="triangle"){return}c.closePath();c.fill();c.stroke()});if(s.dataLabel!==false&&d===1){t.forEach(function(t,e){let a,i,r;a=[].concat(s.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,x,f,s,h,d);drawPointText(n,t,h,c,s)})}c.restore();return{xAxisPoints:x,calPoints:r,eachSpacing:f}}function drawBubbleDataPoints(a,l,s,h){var c=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var d=assign({},{opacity:1,border:2},l.extra.bubble);let t=l.chartData.xAxisData,x=t.xAxisPoints,f=t.eachSpacing;var i=[];h.save();let e=0;let r=l.width+f;if(l._scrollDistance_&&l._scrollDistance_!==0&&l.enableScroll===true){h.translate(l._scrollDistance_,0);e=-l._scrollDistance_-f*2+l.area[3];r=e+(l.xAxis.itemCount+4)*f}a.forEach(function(i,t){let e,a,r;e=[].concat(l.chartData.yAxisData.ranges[i.index]);a=e.pop();r=e.shift();var o=i.data;var n=getDataPoints(o,a,r,x,f,l,s,c);h.beginPath();h.setStrokeStyle(i.color);h.setLineWidth(d.border*l.pix);h.setFillStyle(hexToRgb(i.color,d.opacity));n.forEach(function(t,e){h.moveTo(t.x+t.r,t.y);h.arc(t.x,t.y,t.r*l.pix,0,2*Math.PI,false)});h.closePath();h.fill();h.stroke();if(l.dataLabel!==false&&c===1){n.forEach(function(t,e){h.beginPath();var a=i.textSize*l.pix||s.fontSize;h.setFontSize(a);h.setFillStyle(i.textColor||"#FFFFFF");h.setTextAlign("center");h.fillText(String(t.t),t.x,t.y+a/2);h.closePath();h.stroke();h.setTextAlign("left")})}});h.restore();return{xAxisPoints:x,calPoints:i,eachSpacing:f}}function drawLineDataPoints(t,d,x,f){var p=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var u=assign({},{type:"straight",width:2,activeType:"none",linearType:"none",onShadow:false,animation:"vertical"},d.extra.line);u.width*=d.pix;let e=d.chartData.xAxisData,g=e.xAxisPoints,y=e.eachSpacing;var T=[];f.save();let v=0;let m=d.width+y;if(d._scrollDistance_&&d._scrollDistance_!==0&&d.enableScroll===true){f.translate(d._scrollDistance_,0);v=-d._scrollDistance_-y*2+d.area[3];m=v+(d.xAxis.itemCount+4)*y}t.forEach(function(e,c){f.beginPath();f.setStrokeStyle(e.color);f.moveTo(-1e4,-1e4);f.lineTo(-10001,-10001);f.stroke();let t,a,i;t=[].concat(d.chartData.yAxisData.ranges[e.index]);a=t.pop();i=t.shift();var r=e.data;var o=getLineDataPoints(r,a,i,g,y,d,x,u,p);T.push(o);var n=splitPoints(o,e);if(e.lineType=="dash"){let t=e.dashLength?e.dashLength:8;t*=d.pix;f.setLineDash([t,t])}f.beginPath();var l=e.color;if(u.linearType!=="none"&&e.linearColor&&e.linearColor.length>0){var s=f.createLinearGradient(d.chartData.xAxisData.startX,d.height/2,d.chartData.xAxisData.endX,d.height/2);for(var h=0;h<e.linearColor.length;h++){s.addColorStop(e.linearColor[h][0],hexToRgb(e.linearColor[h][1],1))}l=s}f.setStrokeStyle(l);if(u.onShadow==true&&e.setShadow&&e.setShadow.length>0){f.setShadow(e.setShadow[0],e.setShadow[1],e.setShadow[2],e.setShadow[3])}else{f.setShadow(0,0,0,"rgba(0,0,0,0)")}f.setLineWidth(u.width);n.forEach(function(i,t){if(i.length===1){f.moveTo(i[0].x,i[0].y)}else{f.moveTo(i[0].x,i[0].y);let a=0;if(u.type==="curve"){for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>v){f.moveTo(t.x,t.y);a=1}if(e>0&&t.x>v&&t.x<m){var r=createCurveControlPoints(i,e-1);f.bezierCurveTo(r.ctrA.x,r.ctrA.y,r.ctrB.x,r.ctrB.y,t.x,t.y)}}}if(u.type==="straight"){for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>v){f.moveTo(t.x,t.y);a=1}if(e>0&&t.x>v&&t.x<m){f.lineTo(t.x,t.y)}}}if(u.type==="step"){for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>v){f.moveTo(t.x,t.y);a=1}if(e>0&&t.x>v&&t.x<m){f.lineTo(t.x,i[e-1].y);f.lineTo(t.x,t.y)}}}f.moveTo(i[0].x,i[0].y)}});f.stroke();f.setLineDash([]);if(d.dataPointShape!==false){drawPointShape(o,e.color,e.pointShape,f,d)}drawActivePoint(o,e.color,e.pointShape,f,d,u)});if(d.dataLabel!==false&&p===1){t.forEach(function(t,e){let a,i,r;a=[].concat(d.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,g,y,d,x,p);drawPointText(n,t,x,f,d)})}f.restore();return{xAxisPoints:g,calPoints:T,eachSpacing:y}}function drawMixDataPoints(t,v,m,T){let D=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let e=v.chartData.xAxisData,b=e.xAxisPoints,S=e.eachSpacing;let w=assign({},{width:S/2,barBorderCircle:false,barBorderRadius:[],seriesGap:2,linearType:"none",linearOpacity:1,customColor:[],colorStop:0},v.extra.mix.column);let A=assign({},{opacity:.2,gradient:false},v.extra.mix.area);let M=assign({},{width:2},v.extra.mix.line);let L=v.height-v.area[2];let F=[];var _=0;var k=0;t.forEach(function(t,e){if(t.type=="column"){k+=1}});T.save();let R=-2;let I=b.length+2;let P=0;let C=v.width+S;if(v._scrollDistance_&&v._scrollDistance_!==0&&v.enableScroll===true){T.translate(v._scrollDistance_,0);R=Math.floor(-v._scrollDistance_/S)-2;I=R+v.xAxis.itemCount+4;P=-v._scrollDistance_-S*2+v.area[3];C=P+(v.xAxis.itemCount+4)*S}w.customColor=fillCustomColor(w.linearType,w.customColor,t,m);t.forEach(function(n,t){let o,x,f;o=[].concat(v.chartData.yAxisData.ranges[n.index]);x=o.pop();f=o.shift();var p=n.data;var a=getDataPoints(p,x,f,b,S,v,m,D);F.push(a);if(n.type=="column"){a=fixColumeData(a,S,k,_,m,v);for(let t=0;t<a.length;t++){let o=a[t];if(o!==null&&t>R&&t<I){var l=o.x-o.width/2;var s=v.height-o.y-v.area[2];T.beginPath();var e=o.color||n.color;var u=o.color||n.color;if(w.linearType!=="none"){var i=T.createLinearGradient(l,o.y,l,v.height-v.area[2]);if(w.linearType=="opacity"){i.addColorStop(0,hexToRgb(e,w.linearOpacity));i.addColorStop(1,hexToRgb(e,1))}else{i.addColorStop(0,hexToRgb(w.customColor[n.linearIndex],w.linearOpacity));i.addColorStop(w.colorStop,hexToRgb(w.customColor[n.linearIndex],w.linearOpacity));i.addColorStop(1,hexToRgb(e,1))}e=i}if(w.barBorderRadius&&w.barBorderRadius.length===4||w.barBorderCircle){const h=l;const c=o.y;const d=o.width;const s=v.height-v.area[2]-o.y;if(w.barBorderCircle){w.barBorderRadius=[d/2,d/2,0,0]}let[t,e,a,i]=w.barBorderRadius;let r=Math.min(d/2,s/2);t=t>r?r:t;e=e>r?r:e;a=a>r?r:a;i=i>r?r:i;t=t<0?0:t;e=e<0?0:e;a=a<0?0:a;i=i<0?0:i;T.arc(h+t,c+t,t,-Math.PI,-Math.PI/2);T.arc(h+d-e,c+e,e,-Math.PI/2,0);T.arc(h+d-a,c+s-a,a,0,Math.PI/2);T.arc(h+i,c+s-i,i,Math.PI/2,Math.PI)}else{T.moveTo(l,o.y);T.lineTo(l+o.width,o.y);T.lineTo(l+o.width,v.height-v.area[2]);T.lineTo(l,v.height-v.area[2]);T.lineTo(l,o.y);T.setLineWidth(1);T.setStrokeStyle(u)}T.setFillStyle(e);T.closePath();T.fill()}}_+=1}if(n.type=="area"){let e=splitPoints(a,n);for(let t=0;t<e.length;t++){let i=e[t];T.beginPath();T.setStrokeStyle(n.color);T.setStrokeStyle(hexToRgb(n.color,A.opacity));if(A.gradient){let t=T.createLinearGradient(0,v.area[0],0,v.height-v.area[2]);t.addColorStop("0",hexToRgb(n.color,A.opacity));t.addColorStop("1.0",hexToRgb("#FFFFFF",.1));T.setFillStyle(t)}else{T.setFillStyle(hexToRgb(n.color,A.opacity))}T.setLineWidth(2*v.pix);if(i.length>1){var r=i[0];let t=i[i.length-1];T.moveTo(r.x,r.y);let a=0;if(n.style==="curve"){for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>P){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.x<C){var g=createCurveControlPoints(i,e-1);T.bezierCurveTo(g.ctrA.x,g.ctrA.y,g.ctrB.x,g.ctrB.y,t.x,t.y)}}}else{for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>P){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.x<C){T.lineTo(t.x,t.y)}}}T.lineTo(t.x,L);T.lineTo(r.x,L);T.lineTo(r.x,r.y)}else{let t=i[0];T.moveTo(t.x-S/2,t.y)}T.closePath();T.fill()}}if(n.type=="line"){var y=splitPoints(a,n);y.forEach(function(i,t){if(n.lineType=="dash"){let t=n.dashLength?n.dashLength:8;t*=v.pix;T.setLineDash([t,t])}T.beginPath();T.setStrokeStyle(n.color);T.setLineWidth(M.width*v.pix);if(i.length===1){T.moveTo(i[0].x,i[0].y)}else{T.moveTo(i[0].x,i[0].y);let a=0;if(n.style=="curve"){for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>P){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.x<C){var r=createCurveControlPoints(i,e-1);T.bezierCurveTo(r.ctrA.x,r.ctrA.y,r.ctrB.x,r.ctrB.y,t.x,t.y)}}}else{for(let e=0;e<i.length;e++){let t=i[e];if(a==0&&t.x>P){T.moveTo(t.x,t.y);a=1}if(e>0&&t.x>P&&t.x<C){T.lineTo(t.x,t.y)}}}T.moveTo(i[0].x,i[0].y)}T.stroke();T.setLineDash([])})}if(n.type=="point"){n.addPoint=true}if(n.addPoint==true&&n.type!=="column"){drawPointShape(a,n.color,n.pointShape,T,v)}});if(v.dataLabel!==false&&D===1){var _=0;t.forEach(function(t,e){let a,i,r;a=[].concat(v.chartData.yAxisData.ranges[t.index]);i=a.pop();r=a.shift();var o=t.data;var n=getDataPoints(o,i,r,b,S,v,m,D);if(t.type!=="column"){drawPointText(n,t,m,T,v)}else{n=fixColumeData(n,S,k,_,m,v);drawPointText(n,t,m,T,v);_+=1}})}T.restore();return{xAxisPoints:b,calPoints:F,eachSpacing:S}}function drawToolTipBridge(t,e,a,i,r,o){var n=t.extra.tooltip||{};if(n.horizentalLine&&t.tooltip&&i===1&&(t.type=="line"||t.type=="area"||t.type=="column"||t.type=="mount"||t.type=="candle"||t.type=="mix")){drawToolTipHorizentalLine(t,e,a,r,o)}a.save();if(t._scrollDistance_&&t._scrollDistance_!==0&&t.enableScroll===true){a.translate(t._scrollDistance_,0)}if(t.tooltip&&t.tooltip.textList&&t.tooltip.textList.length&&i===1){drawToolTip(t.tooltip.textList,t.tooltip.offset,t,e,a,r,o)}a.restore()}function drawXAxis(r,h,c,d){let e=h.chartData.xAxisData,x=e.xAxisPoints,t=e.startX,a=e.endX,f=e.eachSpacing;var p="center";if(h.type=="bar"||h.type=="line"||h.type=="area"||h.type=="scatter"||h.type=="bubble"){p=h.xAxis.boundaryGap}var u=h.height-h.area[2];var i=h.area[0];if(h.enableScroll&&h.xAxis.scrollShow){var o=h.height-h.area[2]+c.xAxisHeight;var n=a-t;var l=f*(x.length-1);if(h.type=="mount"&&h.extra&&h.extra.mount&&h.extra.mount.widthRatio&&h.extra.mount.widthRatio>1){if(h.extra.mount.widthRatio>2)h.extra.mount.widthRatio=2;l+=(h.extra.mount.widthRatio-1)*f}var s=n*n/l;var y=0;if(h._scrollDistance_){y=-h._scrollDistance_*n/l}d.beginPath();d.setLineCap("round");d.setLineWidth(6*h.pix);d.setStrokeStyle(h.xAxis.scrollBackgroundColor||"#EFEBEF");d.moveTo(t,o);d.lineTo(a,o);d.stroke();d.closePath();d.beginPath();d.setLineCap("round");d.setLineWidth(6*h.pix);d.setStrokeStyle(h.xAxis.scrollColor||"#A6A6A6");d.moveTo(t+y,o);d.lineTo(t+y+s,o);d.stroke();d.closePath();d.setLineCap("butt")}d.save();if(h._scrollDistance_&&h._scrollDistance_!==0){d.translate(h._scrollDistance_,0)}if(h.xAxis.calibration===true){d.setStrokeStyle(h.xAxis.gridColor||"#cccccc");d.setLineCap("butt");d.setLineWidth(1*h.pix);x.forEach(function(t,e){if(e>0){d.beginPath();d.moveTo(t-f/2,u);d.lineTo(t-f/2,u+3*h.pix);d.closePath();d.stroke()}})}if(h.xAxis.disableGrid!==true){d.setStrokeStyle(h.xAxis.gridColor||"#cccccc");d.setLineCap("butt");d.setLineWidth(1*h.pix);if(h.xAxis.gridType=="dash"){d.setLineDash([h.xAxis.dashLength*h.pix,h.xAxis.dashLength*h.pix])}h.xAxis.gridEval=h.xAxis.gridEval||1;x.forEach(function(t,e){if(e%h.xAxis.gridEval==0){d.beginPath();d.moveTo(t,u);d.lineTo(t,i);d.stroke()}});d.setLineDash([])}if(h.xAxis.disabled!==true){let t=r.length;if(h.xAxis.labelCount){if(h.xAxis.itemCount){t=Math.ceil(r.length/h.xAxis.itemCount*h.xAxis.labelCount)}else{t=h.xAxis.labelCount}t-=1}let e=Math.ceil(r.length/t);let a=[];let i=r.length;for(let t=0;t<i;t++){if(t%e!==0){a.push("")}else{a.push(r[t])}}a[i-1]=r[i-1];var g=h.xAxis.fontSize*h.pix||c.fontSize;if(c._xAxisTextAngle_===0){a.forEach(function(t,e){var a=h.xAxis.formatter?h.xAxis.formatter(t,e,h):t;var i=-measureText(String(a),g,d)/2;if(p=="center"){i+=f/2}var r=0;if(h.xAxis.scrollShow){r=6*h.pix}var o=h._scrollDistance_||0;var n=p=="center"?x[e]+f/2:x[e];if(n-Math.abs(o)>=h.area[3]-1&&n-Math.abs(o)<=h.width-h.area[1]+1){d.beginPath();d.setFontSize(g);d.setFillStyle(h.xAxis.fontColor||h.fontColor);d.fillText(String(a),x[e]+i,u+h.xAxis.marginTop*h.pix+(h.xAxis.lineHeight-h.xAxis.fontSize)*h.pix/2+h.xAxis.fontSize*h.pix);d.closePath();d.stroke()}})}else{a.forEach(function(t,e){var a=h.xAxis.formatter?h.xAxis.formatter(t):t;var i=h._scrollDistance_||0;var r=p=="center"?x[e]+f/2:x[e];if(r-Math.abs(i)>=h.area[3]-1&&r-Math.abs(i)<=h.width-h.area[1]+1){d.save();d.beginPath();d.setFontSize(g);d.setFillStyle(h.xAxis.fontColor||h.fontColor);var o=measureText(String(a),g,d);var n=x[e];if(p=="center"){n=x[e]+f/2}var l=0;if(h.xAxis.scrollShow){l=6*h.pix}var s=u+h.xAxis.marginTop*h.pix+g-g*Math.abs(Math.sin(c._xAxisTextAngle_));if(h.xAxis.rotateAngle<0){n-=g/2;o=0}else{n+=g/2;o=-o}d.translate(n,s);d.rotate(-1*c._xAxisTextAngle_);d.fillText(String(a),o,0);d.closePath();d.stroke();d.restore()}})}}d.restore();if(h.xAxis.title){d.beginPath();d.setFontSize(h.xAxis.titleFontSize*h.pix);d.setFillStyle(h.xAxis.titleFontColor);d.fillText(String(h.xAxis.title),h.width-h.area[1]+h.xAxis.titleOffsetX*h.pix,h.height-h.area[2]+h.xAxis.marginTop*h.pix+(h.xAxis.lineHeight-h.xAxis.titleFontSize)*h.pix/2+(h.xAxis.titleFontSize+h.xAxis.titleOffsetY)*h.pix);d.closePath();d.stroke()}if(h.xAxis.axisLine){d.beginPath();d.setStrokeStyle(h.xAxis.axisLineColor);d.setLineWidth(1*h.pix);d.moveTo(t,h.height-h.area[2]);d.lineTo(a,h.height-h.area[2]);d.stroke()}}function drawYAxisGrid(c,e,d,a){if(e.yAxis.disableGrid===true){return}let t=e.height-e.area[0]-e.area[2];let i=t/e.yAxis.splitNumber;let r=e.area[3];let o=e.chartData.xAxisData.xAxisPoints,n=e.chartData.xAxisData.eachSpacing;let l=n*(o.length-1);if(e.type=="mount"&&e.extra&&e.extra.mount&&e.extra.mount.widthRatio&&e.extra.mount.widthRatio>1){if(e.extra.mount.widthRatio>2)e.extra.mount.widthRatio=2;l+=(e.extra.mount.widthRatio-1)*n}let x=r+l;let s=[];let h=1;if(e.xAxis.axisLine===false){h=0}for(let t=h;t<e.yAxis.splitNumber+1;t++){s.push(e.height-e.area[2]-i*t)}a.save();if(e._scrollDistance_&&e._scrollDistance_!==0){a.translate(e._scrollDistance_,0)}if(e.yAxis.gridType=="dash"){a.setLineDash([e.yAxis.dashLength*e.pix,e.yAxis.dashLength*e.pix])}a.setStrokeStyle(e.yAxis.gridColor);a.setLineWidth(1*e.pix);s.forEach(function(t,e){a.beginPath();a.moveTo(r,t);a.lineTo(x,t);a.stroke()});a.setLineDash([]);a.restore()}function drawYAxis(e,h,a,c){if(h.yAxis.disabled===true){return}var i=h.height-h.area[0]-h.area[2];var r=i/h.yAxis.splitNumber;var o=h.area[3];var n=h.width-h.area[1];var t=h.height-h.area[2];c.beginPath();c.setFillStyle(h.background);if(h.enableScroll==true&&h.xAxis.scrollPosition&&h.xAxis.scrollPosition!=="left"){c.fillRect(0,0,o,t+2*h.pix)}if(h.enableScroll==true&&h.xAxis.scrollPosition&&h.xAxis.scrollPosition!=="right"){c.fillRect(n,0,h.width,t+2*h.pix)}c.closePath();c.stroke();let d=h.area[3];let x=h.width-h.area[1];let f=h.area[3]+(h.width-h.area[1]-h.area[3])/2;if(h.yAxis.data){for(let e=0;e<h.yAxis.data.length;e++){let s=h.yAxis.data[e];var p=[];if(s.type==="categories"){for(let t=0;t<=s.categories.length;t++){p.push(h.area[0]+i/s.categories.length/2+i/s.categories.length*t)}}else{for(let t=0;t<=h.yAxis.splitNumber;t++){p.push(h.area[0]+r*t)}}if(s.disabled!==true){let t=h.chartData.yAxisData.rangesFormat[e];let o=s.fontSize?s.fontSize*h.pix:a.fontSize;let n=h.chartData.yAxisData.yAxisWidth[e];let l=s.textAlign||"right";t.forEach(function(t,e){var a=p[e];c.beginPath();c.setFontSize(o);c.setLineWidth(1*h.pix);c.setStrokeStyle(s.axisLineColor||"#cccccc");c.setFillStyle(s.fontColor||h.fontColor);let i=0;let r=4*h.pix;if(n.position=="left"){if(s.calibration==true){c.moveTo(d,a);c.lineTo(d-3*h.pix,a);r+=3*h.pix}switch(l){case"left":c.setTextAlign("left");i=d-n.width;break;case"right":c.setTextAlign("right");i=d-r;break;default:c.setTextAlign("center");i=d-n.width/2}c.fillText(String(t),i,a+o/2-3*h.pix)}else if(n.position=="right"){if(s.calibration==true){c.moveTo(x,a);c.lineTo(x+3*h.pix,a);r+=3*h.pix}switch(l){case"left":c.setTextAlign("left");i=x+r;break;case"right":c.setTextAlign("right");i=x+n.width;break;default:c.setTextAlign("center");i=x+n.width/2}c.fillText(String(t),i,a+o/2-3*h.pix)}else if(n.position=="center"){if(s.calibration==true){c.moveTo(f,a);c.lineTo(f-3*h.pix,a);r+=3*h.pix}switch(l){case"left":c.setTextAlign("left");i=f-n.width;break;case"right":c.setTextAlign("right");i=f-r;break;default:c.setTextAlign("center");i=f-n.width/2}c.fillText(String(t),i,a+o/2-3*h.pix)}c.closePath();c.stroke();c.setTextAlign("left")});if(s.axisLine!==false){c.beginPath();c.setStrokeStyle(s.axisLineColor||"#cccccc");c.setLineWidth(1*h.pix);if(n.position=="left"){c.moveTo(d,h.height-h.area[2]);c.lineTo(d,h.area[0])}else if(n.position=="right"){c.moveTo(x,h.height-h.area[2]);c.lineTo(x,h.area[0])}else if(n.position=="center"){c.moveTo(f,h.height-h.area[2]);c.lineTo(f,h.area[0])}c.stroke()}if(h.yAxis.showTitle){let t=s.titleFontSize*h.pix||a.fontSize;let e=s.title;c.beginPath();c.setFontSize(t);c.setFillStyle(s.titleFontColor||h.fontColor);if(n.position=="left"){c.fillText(e,d-measureText(e,t,c)/2+(s.titleOffsetX||0),h.area[0]-(10-(s.titleOffsetY||0))*h.pix)}else if(n.position=="right"){c.fillText(e,x-measureText(e,t,c)/2+(s.titleOffsetX||0),h.area[0]-(10-(s.titleOffsetY||0))*h.pix)}else if(n.position=="center"){c.fillText(e,f-measureText(e,t,c)/2+(s.titleOffsetX||0),h.area[0]-(10-(s.titleOffsetY||0))*h.pix)}c.closePath();c.stroke()}if(n.position=="left"){d-=n.width+h.yAxis.padding*h.pix}else{x+=n.width+h.yAxis.padding*h.pix}}}}}function drawLegend(t,l,y,s,e){if(l.legend.show===false){return}let h=e.legendData;let a=h.points;let c=h.area;let d=l.legend.padding*l.pix;let x=l.legend.fontSize*l.pix;let f=15*l.pix;let p=5*l.pix;let u=l.legend.itemGap*l.pix;let g=Math.max(l.legend.lineHeight*l.pix,x);s.beginPath();s.setLineWidth(l.legend.borderWidth*l.pix);s.setStrokeStyle(l.legend.borderColor);s.setFillStyle(l.legend.backgroundColor);s.moveTo(c.start.x,c.start.y);s.rect(c.start.x,c.start.y,c.width,c.height);s.closePath();s.fill();s.stroke();a.forEach(function(i,t){let e=0;let a=0;e=h.widthArr[t];a=h.heightArr[t];let r=0;let o=0;if(l.legend.position=="top"||l.legend.position=="bottom"){switch(l.legend.float){case"left":r=c.start.x+d;break;case"right":r=c.start.x+c.width-e;break;default:r=c.start.x+(c.width-e)/2}o=c.start.y+d+t*g}else{if(t==0){e=0}else{e=h.widthArr[t-1]}r=c.start.x+d+e;o=c.start.y+d+(c.height-a)/2}s.setFontSize(y.fontSize);for(let a=0;a<i.length;a++){let t=i[a];t.area=[0,0,0,0];t.area[0]=r;t.area[1]=o;t.area[3]=o+g;s.beginPath();s.setLineWidth(1*l.pix);s.setStrokeStyle(t.show?t.color:l.legend.hiddenColor);s.setFillStyle(t.show?t.color:l.legend.hiddenColor);switch(t.legendShape){case"line":s.moveTo(r,o+.5*g-2*l.pix);s.fillRect(r,o+.5*g-2*l.pix,15*l.pix,4*l.pix);break;case"triangle":s.moveTo(r+7.5*l.pix,o+.5*g-5*l.pix);s.lineTo(r+2.5*l.pix,o+.5*g+5*l.pix);s.lineTo(r+12.5*l.pix,o+.5*g+5*l.pix);s.lineTo(r+7.5*l.pix,o+.5*g-5*l.pix);break;case"diamond":s.moveTo(r+7.5*l.pix,o+.5*g-5*l.pix);s.lineTo(r+2.5*l.pix,o+.5*g);s.lineTo(r+7.5*l.pix,o+.5*g+5*l.pix);s.lineTo(r+12.5*l.pix,o+.5*g);s.lineTo(r+7.5*l.pix,o+.5*g-5*l.pix);break;case"circle":s.moveTo(r+7.5*l.pix,o+.5*g);s.arc(r+7.5*l.pix,o+.5*g,5*l.pix,0,2*Math.PI);break;case"rect":s.moveTo(r,o+.5*g-5*l.pix);s.fillRect(r,o+.5*g-5*l.pix,15*l.pix,10*l.pix);break;case"square":s.moveTo(r+5*l.pix,o+.5*g-5*l.pix);s.fillRect(r+5*l.pix,o+.5*g-5*l.pix,10*l.pix,10*l.pix);break;case"none":break;default:s.moveTo(r,o+.5*g-5*l.pix);s.fillRect(r,o+.5*g-5*l.pix,15*l.pix,10*l.pix)}s.closePath();s.fill();s.stroke();r+=f+p;let e=.5*g+.5*x-2;const n=t.legendText?t.legendText:t.name;s.beginPath();s.setFontSize(x);s.setFillStyle(t.show?l.legend.fontColor:l.legend.hiddenColor);s.fillText(n,r,o+e);s.closePath();s.stroke();if(l.legend.position=="top"||l.legend.position=="bottom"){r+=measureText(n,x,s)+u;t.area[2]=r}else{t.area[2]=r+measureText(n,x,s)+u;r-=f+p;o+=g}}})}function drawPieDataPoints(t,r,e,o){var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var n=assign({},{activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,ringWidth:30,customRadius:0,border:false,borderWidth:2,borderColor:"#FFFFFF",centerColor:"#FFFFFF",linearType:"none",customColor:[]},r.type=="pie"?r.extra.pie:r.extra.ring);var l={x:r.area[3]+(r.width-r.area[1]-r.area[3])/2,y:r.area[0]+(r.height-r.area[0]-r.area[2])/2};if(e.pieChartLinePadding==0){e.pieChartLinePadding=n.activeRadius*r.pix}var i=Math.min((r.width-r.area[1]-r.area[3])/2-e.pieChartLinePadding-e.pieChartTextPadding-e._pieTextMaxLength_,(r.height-r.area[0]-r.area[2])/2-e.pieChartLinePadding-e.pieChartTextPadding);i=i<10?10:i;if(n.customRadius>0){i=n.customRadius*r.pix}t=getPieDataPoints(t,i,a);var h=n.activeRadius*r.pix;n.customColor=fillCustomColor(n.linearType,n.customColor,t,e);t=t.map(function(t){t._start_+=n.offsetAngle*Math.PI/180;return t});t.forEach(function(t,e){if(r.tooltip){if(r.tooltip.index==e){o.beginPath();o.setFillStyle(hexToRgb(t.color,n.activeOpacity||.5));o.moveTo(l.x,l.y);o.arc(l.x,l.y,t._radius_+h,t._start_,t._start_+2*t._proportion_*Math.PI);o.closePath();o.fill()}}o.beginPath();o.setLineWidth(n.borderWidth*r.pix);o.lineJoin="round";o.setStrokeStyle(n.borderColor);var a=t.color;if(n.linearType=="custom"){var i;if(o.createCircularGradient){i=o.createCircularGradient(l.x,l.y,t._radius_)}else{i=o.createRadialGradient(l.x,l.y,0,l.x,l.y,t._radius_)}i.addColorStop(0,hexToRgb(n.customColor[t.linearIndex],1));i.addColorStop(1,hexToRgb(t.color,1));a=i}o.setFillStyle(a);o.moveTo(l.x,l.y);o.arc(l.x,l.y,t._radius_,t._start_,t._start_+2*t._proportion_*Math.PI);o.closePath();o.fill();if(n.border==true){o.stroke()}});if(r.type==="ring"){var s=i*.6;if(typeof n.ringWidth==="number"&&n.ringWidth>0){s=Math.max(0,i-n.ringWidth*r.pix)}o.beginPath();o.setFillStyle(n.centerColor);o.moveTo(l.x,l.y);o.arc(l.x,l.y,s,0,2*Math.PI);o.closePath();o.fill()}if(r.dataLabel!==false&&a===1){drawPieText(t,r,e,o,i,l)}if(a===1&&r.type==="ring"){drawRingTitle(r,e,o,l)}return{center:l,radius:i,series:t}}function drawRoseDataPoints(t,r,e,o){var a=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var n=assign({},{type:"area",activeOpacity:.5,activeRadius:10,offsetAngle:0,labelWidth:15,border:false,borderWidth:2,borderColor:"#FFFFFF",linearType:"none",customColor:[]},r.extra.rose);if(e.pieChartLinePadding==0){e.pieChartLinePadding=n.activeRadius*r.pix}var l={x:r.area[3]+(r.width-r.area[1]-r.area[3])/2,y:r.area[0]+(r.height-r.area[0]-r.area[2])/2};var i=Math.min((r.width-r.area[1]-r.area[3])/2-e.pieChartLinePadding-e.pieChartTextPadding-e._pieTextMaxLength_,(r.height-r.area[0]-r.area[2])/2-e.pieChartLinePadding-e.pieChartTextPadding);i=i<10?10:i;var s=n.minRadius||i*.5;if(i<s){i=s+10}t=getRoseDataPoints(t,n.type,s,i,a);var h=n.activeRadius*r.pix;n.customColor=fillCustomColor(n.linearType,n.customColor,t,e);t=t.map(function(t){t._start_+=(n.offsetAngle||0)*Math.PI/180;return t});t.forEach(function(t,e){if(r.tooltip){if(r.tooltip.index==e){o.beginPath();o.setFillStyle(hexToRgb(t.color,n.activeOpacity||.5));o.moveTo(l.x,l.y);o.arc(l.x,l.y,h+t._radius_,t._start_,t._start_+2*t._rose_proportion_*Math.PI);o.closePath();o.fill()}}o.beginPath();o.setLineWidth(n.borderWidth*r.pix);o.lineJoin="round";o.setStrokeStyle(n.borderColor);var a=t.color;if(n.linearType=="custom"){var i;if(o.createCircularGradient){i=o.createCircularGradient(l.x,l.y,t._radius_)}else{i=o.createRadialGradient(l.x,l.y,0,l.x,l.y,t._radius_)}i.addColorStop(0,hexToRgb(n.customColor[t.linearIndex],1));i.addColorStop(1,hexToRgb(t.color,1));a=i}o.setFillStyle(a);o.moveTo(l.x,l.y);o.arc(l.x,l.y,t._radius_,t._start_,t._start_+2*t._rose_proportion_*Math.PI);o.closePath();o.fill();if(n.border==true){o.stroke()}});if(r.dataLabel!==false&&a===1){drawPieText(t,r,e,o,i,l)}return{center:l,radius:i,series:t}}function drawArcbarDataPoints(a,i,t,r){var e=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var o=assign({},{startAngle:.75,endAngle:.25,type:"default",direction:"cw",lineCap:"round",width:12,gap:2,linearType:"none",customColor:[]},i.extra.arcbar);a=getArcbarDataPoints(a,o,e);var n;if(o.centerX||o.centerY){n={x:o.centerX?o.centerX:i.width/2,y:o.centerY?o.centerY:i.height/2}}else{n={x:i.width/2,y:i.height/2}}var l;if(o.radius){l=o.radius}else{l=Math.min(n.x,n.y);l-=5*i.pix;l-=o.width/2}l=l<10?10:l;o.customColor=fillCustomColor(o.linearType,o.customColor,a,t);for(let e=0;e<a.length;e++){let t=a[e];r.setLineWidth(o.width*i.pix);r.setStrokeStyle(o.backgroundColor||"#E9E9E9");r.setLineCap(o.lineCap);r.beginPath();if(o.type=="default"){r.arc(n.x,n.y,l-(o.width*i.pix+o.gap*i.pix)*e,o.startAngle*Math.PI,o.endAngle*Math.PI,o.direction=="ccw")}else{r.arc(n.x,n.y,l-(o.width*i.pix+o.gap*i.pix)*e,0,2*Math.PI,o.direction=="ccw")}r.stroke();var s=t.color;if(o.linearType=="custom"){var h=r.createLinearGradient(n.x-l,n.y,n.x+l,n.y);h.addColorStop(1,hexToRgb(o.customColor[t.linearIndex],1));h.addColorStop(0,hexToRgb(t.color,1));s=h}r.setLineWidth(o.width*i.pix);r.setStrokeStyle(s);r.setLineCap(o.lineCap);r.beginPath();r.arc(n.x,n.y,l-(o.width*i.pix+o.gap*i.pix)*e,o.startAngle*Math.PI,t._proportion_*Math.PI,o.direction=="ccw");r.stroke()}drawRingTitle(i,t,r,n);return{center:n,radius:l,series:a}}function drawGaugeDataPoints(n,h,c,t,d){var x=arguments.length>5&&arguments[5]!==undefined?arguments[5]:1;var f=assign({},{type:"default",startAngle:.75,endAngle:.25,width:15,labelOffset:13,splitLine:{fixRadius:0,splitNumber:10,width:15,color:"#FFFFFF",childNumber:5,childWidth:5},pointer:{width:15,color:"auto"}},c.extra.gauge);if(f.oldAngle==undefined){f.oldAngle=f.startAngle}if(f.oldData==undefined){f.oldData=0}n=getGaugeAxisPoints(n,f.startAngle,f.endAngle);var p={x:c.width/2,y:c.height/2};var u=Math.min(p.x,p.y);u-=5*c.pix;u-=f.width/2;u=u<10?10:u;var g=u-f.width;var y=0;if(f.type=="progress"){var v=u-f.width*3;d.beginPath();let t=d.createLinearGradient(p.x,p.y-v,p.x,p.y+v);t.addColorStop("0",hexToRgb(h[0].color,.3));t.addColorStop("1.0",hexToRgb("#FFFFFF",.1));d.setFillStyle(t);d.arc(p.x,p.y,v,0,2*Math.PI,false);d.fill();d.setLineWidth(f.width);d.setStrokeStyle(hexToRgb(h[0].color,.3));d.setLineCap("round");d.beginPath();d.arc(p.x,p.y,g,f.startAngle*Math.PI,f.endAngle*Math.PI,false);d.stroke();if(f.endAngle<f.startAngle){y=2+f.endAngle-f.startAngle}else{y=f.startAngle-f.endAngle}let e=y/f.splitLine.splitNumber;let a=y/f.splitLine.splitNumber/f.splitLine.childNumber;let i=-u-f.width*.5-f.splitLine.fixRadius;let r=-u-f.width-f.splitLine.fixRadius+f.splitLine.width;d.save();d.translate(p.x,p.y);d.rotate((f.startAngle-1)*Math.PI);let o=f.splitLine.splitNumber*f.splitLine.childNumber+1;let n=h[0].data*x;for(let t=0;t<o;t++){d.beginPath();if(n>t/o){d.setStrokeStyle(hexToRgb(h[0].color,1))}else{d.setStrokeStyle(hexToRgb(h[0].color,.3))}d.setLineWidth(3*c.pix);d.moveTo(i,0);d.lineTo(r,0);d.stroke();d.rotate(a*Math.PI)}d.restore();h=getGaugeArcbarDataPoints(h,f,x);d.setLineWidth(f.width);d.setStrokeStyle(h[0].color);d.setLineCap("round");d.beginPath();d.arc(p.x,p.y,g,f.startAngle*Math.PI,h[0]._proportion_*Math.PI,false);d.stroke();let l=u-f.width*2.5;d.save();d.translate(p.x,p.y);d.rotate((h[0]._proportion_-1)*Math.PI);d.beginPath();d.setLineWidth(f.width/3);let s=d.createLinearGradient(0,-l*.6,0,l*.6);s.addColorStop("0",hexToRgb("#FFFFFF",0));s.addColorStop("0.5",hexToRgb(h[0].color,1));s.addColorStop("1.0",hexToRgb("#FFFFFF",0));d.setStrokeStyle(s);d.arc(0,0,l,.85*Math.PI,1.15*Math.PI,false);d.stroke();d.beginPath();d.setLineWidth(1);d.setStrokeStyle(h[0].color);d.setFillStyle(h[0].color);d.moveTo(-l-f.width/3/2,-4);d.lineTo(-l-f.width/3/2-4,0);d.lineTo(-l-f.width/3/2,4);d.lineTo(-l-f.width/3/2,-4);d.stroke();d.fill();d.restore()}else{d.setLineWidth(f.width);d.setLineCap("butt");for(let e=0;e<n.length;e++){let t=n[e];d.beginPath();d.setStrokeStyle(t.color);d.arc(p.x,p.y,u,t._startAngle_*Math.PI,t._endAngle_*Math.PI,false);d.stroke()}d.save();if(f.endAngle<f.startAngle){y=2+f.endAngle-f.startAngle}else{y=f.startAngle-f.endAngle}let e=y/f.splitLine.splitNumber;let a=y/f.splitLine.splitNumber/f.splitLine.childNumber;let i=-u-f.width*.5-f.splitLine.fixRadius;let r=-u-f.width*.5-f.splitLine.fixRadius+f.splitLine.width;let o=-u-f.width*.5-f.splitLine.fixRadius+f.splitLine.childWidth;d.translate(p.x,p.y);d.rotate((f.startAngle-1)*Math.PI);for(let t=0;t<f.splitLine.splitNumber+1;t++){d.beginPath();d.setStrokeStyle(f.splitLine.color);d.setLineWidth(2*c.pix);d.moveTo(i,0);d.lineTo(r,0);d.stroke();d.rotate(e*Math.PI)}d.restore();d.save();d.translate(p.x,p.y);d.rotate((f.startAngle-1)*Math.PI);for(let t=0;t<f.splitLine.splitNumber*f.splitLine.childNumber+1;t++){d.beginPath();d.setStrokeStyle(f.splitLine.color);d.setLineWidth(1*c.pix);d.moveTo(i,0);d.lineTo(o,0);d.stroke();d.rotate(a*Math.PI)}d.restore();h=getGaugeDataPoints(h,n,f,x);for(let e=0;e<h.length;e++){let t=h[e];d.save();d.translate(p.x,p.y);d.rotate((t._proportion_-1)*Math.PI);d.beginPath();d.setFillStyle(t.color);d.moveTo(f.pointer.width,0);d.lineTo(0,-f.pointer.width/2);d.lineTo(-g,0);d.lineTo(0,f.pointer.width/2);d.lineTo(f.pointer.width,0);d.closePath();d.fill();d.beginPath();d.setFillStyle("#FFFFFF");d.arc(0,0,f.pointer.width/6,0,2*Math.PI,false);d.fill();d.restore()}if(c.dataLabel!==false){drawGaugeLabel(f,u,p,c,t,d)}}drawRingTitle(c,t,d,p);if(x===1&&c.type==="gauge"){c.extra.gauge.oldAngle=h[0]._proportion_;c.extra.gauge.oldData=h[0].data}return{center:p,radius:u,innerRadius:g,categories:n,totalAngle:y}}function drawRadarDataPoints(o,n,i,l){var t=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;var s=assign({},{gridColor:"#cccccc",gridType:"radar",gridEval:1,axisLabel:false,axisLabelTofix:0,labelShow:true,labelColor:"#666666",labelPointShow:false,labelPointRadius:3,labelPointColor:"#cccccc",opacity:.2,gridCount:3,border:false,borderWidth:2,linearType:"none",customColor:[]},n.extra.radar);var a=getRadarCoordinateSeries(n.categories.length);var h={x:n.area[3]+(n.width-n.area[1]-n.area[3])/2,y:n.area[0]+(n.height-n.area[0]-n.area[2])/2};var r=(n.width-n.area[1]-n.area[3])/2;var d=(n.height-n.area[0]-n.area[2])/2;var c=Math.min(r-(getMaxTextListLength(n.categories,i.fontSize,l)+i.radarLabelTextMargin),d-i.radarLabelTextMargin);c-=i.radarLabelTextMargin*n.pix;c=c<10?10:c;c=s.radius?s.radius:c;l.beginPath();l.setLineWidth(1*n.pix);l.setStrokeStyle(s.gridColor);a.forEach(function(t,e){var a=convertCoordinateOrigin(c*Math.cos(t),c*Math.sin(t),h);l.moveTo(h.x,h.y);if(e%s.gridEval==0){l.lineTo(a.x,a.y)}});l.stroke();l.closePath();var x=function t(i){var r={};l.beginPath();l.setLineWidth(1*n.pix);l.setStrokeStyle(s.gridColor);if(s.gridType=="radar"){a.forEach(function(t,e){var a=convertCoordinateOrigin(c/s.gridCount*i*Math.cos(t),c/s.gridCount*i*Math.sin(t),h);if(e===0){r=a;l.moveTo(a.x,a.y)}else{l.lineTo(a.x,a.y)}});l.lineTo(r.x,r.y)}else{var e=convertCoordinateOrigin(c/s.gridCount*i*Math.cos(1.5),c/s.gridCount*i*Math.sin(1.5),h);l.arc(h.x,h.y,h.y-e.y,0,2*Math.PI,false)}l.stroke();l.closePath()};for(var e=1;e<=s.gridCount;e++){x(e)}s.customColor=fillCustomColor(s.linearType,s.customColor,o,i);var f=getRadarDataPoints(a,h,c,o,n,t);f.forEach(function(t,e){l.beginPath();l.setLineWidth(s.borderWidth*n.pix);l.setStrokeStyle(t.color);var a=hexToRgb(t.color,s.opacity);if(s.linearType=="custom"){var i;if(l.createCircularGradient){i=l.createCircularGradient(h.x,h.y,c)}else{i=l.createRadialGradient(h.x,h.y,0,h.x,h.y,c)}i.addColorStop(0,hexToRgb(s.customColor[o[e].linearIndex],s.opacity));i.addColorStop(1,hexToRgb(t.color,s.opacity));a=i}l.setFillStyle(a);t.data.forEach(function(t,e){if(e===0){l.moveTo(t.position.x,t.position.y)}else{l.lineTo(t.position.x,t.position.y)}});l.closePath();l.fill();if(s.border===true){l.stroke()}l.closePath();if(n.dataPointShape!==false){var r=t.data.map(function(t){return t.position});drawPointShape(r,t.color,t.pointShape,l,n)}});if(s.axisLabel===true){const p=Math.max(s.max,Math.max.apply(null,dataCombine(o)));const u=c/s.gridCount;const g=n.fontSize*n.pix;l.setFontSize(g);l.setFillStyle(n.fontColor);l.setTextAlign("left");for(var e=0;e<s.gridCount+1;e++){let t=e*p/s.gridCount;t=t.toFixed(s.axisLabelTofix);l.fillText(String(t),h.x+3*n.pix,h.y-e*u+g/2)}}drawRadarLabel(a,c,h,n,i,l);if(n.dataLabel!==false&&t===1){f.forEach(function(t,e){l.beginPath();var a=t.textSize*n.pix||i.fontSize;l.setFontSize(a);l.setFillStyle(t.textColor||n.fontColor);t.data.forEach(function(t,e){if(Math.abs(t.position.x-h.x)<2){if(t.position.y<h.y){l.setTextAlign("center");l.fillText(t.value,t.position.x,t.position.y-4)}else{l.setTextAlign("center");l.fillText(t.value,t.position.x,t.position.y+a+2)}}else{if(t.position.x<h.x){l.setTextAlign("right");l.fillText(t.value,t.position.x-4,t.position.y+a/2-2)}else{l.setTextAlign("left");l.fillText(t.value,t.position.x+4,t.position.y+a/2-2)}}});l.closePath();l.stroke()});l.setTextAlign("left")}return{center:h,radius:c,angleList:a}}function lonlat2mercator(t,e){var a=Array(2);var i=t*20037508.34/180;var r=Math.log(Math.tan((90+e)*Math.PI/360))/(Math.PI/180);r=r*20037508.34/180;a[0]=i;a[1]=r;return a}function mercator2lonlat(t,e){var a=Array(2);var i=t/20037508.34*180;var r=e/20037508.34*180;r=180/Math.PI*(2*Math.atan(Math.exp(r*Math.PI/180))-Math.PI/2);a[0]=i;a[1]=r;return a}function getBoundingBox(t){var e={},a;e.xMin=180;e.xMax=0;e.yMin=90;e.yMax=0;for(var i=0;i<t.length;i++){var r=t[i].geometry.coordinates;for(var o=0;o<r.length;o++){a=r[o];if(a.length==1){a=a[0]}for(var n=0;n<a.length;n++){var l=a[n][0];var s=a[n][1];var h={x:l,y:s};e.xMin=e.xMin<h.x?e.xMin:h.x;e.xMax=e.xMax>h.x?e.xMax:h.x;e.yMin=e.yMin<h.y?e.yMin:h.y;e.yMax=e.yMax>h.y?e.yMax:h.y}}}return e}function coordinateToPoint(t,e,a,i,r,o){return{x:(e-a.xMin)*i+r,y:(a.yMax-t)*i+o}}function pointToCoordinate(t,e,a,i,r,o){return{x:(e-r)/i+a.xMin,y:a.yMax-(t-o)/i}}function isRayIntersectsSegment(t,e,a){if(e[1]==a[1]){return false}if(e[1]>t[1]&&a[1]>t[1]){return false}if(e[1]<t[1]&&a[1]<t[1]){return false}if(e[1]==t[1]&&a[1]>t[1]){return false}if(a[1]==t[1]&&e[1]>t[1]){return false}if(e[0]<t[0]&&a[1]<t[1]){return false}let i=a[0]-(a[0]-e[0])*(a[1]-t[1])/(a[1]-e[1]);if(i<t[0]){return false}else{return true}}function isPoiWithinPoly(r,e,o){let n=0;for(let t=0;t<e.length;t++){let i=e[t][0];if(e.length==1){i=e[t][0]}for(let a=0;a<i.length-1;a++){let t=i[a];let e=i[a+1];if(o){t=lonlat2mercator(i[a][0],i[a][1]);e=lonlat2mercator(i[a+1][0],i[a+1][1])}if(isRayIntersectsSegment(r,t,e)){n+=1}}}if(n%2==1){return true}else{return false}}function drawMapDataPoints(a,i,d,r){var o=assign({},{border:true,mercator:false,borderWidth:1,active:true,borderColor:"#666666",fillOpacity:.6,activeBorderColor:"#f04864",activeFillColor:"#facc14",activeFillOpacity:1},i.extra.map);var t,n;var l=a;var s=getBoundingBox(l);if(o.mercator){var x=lonlat2mercator(s.xMax,s.yMax);var f=lonlat2mercator(s.xMin,s.yMin);s.xMax=x[0];s.yMax=x[1];s.xMin=f[0];s.yMin=f[1]}var p=i.width/Math.abs(s.xMax-s.xMin);var u=i.height/Math.abs(s.yMax-s.yMin);var h=p<u?p:u;var g=i.width/2-Math.abs(s.xMax-s.xMin)/2*h;var y=i.height/2-Math.abs(s.yMax-s.yMin)/2*h;for(var c=0;c<l.length;c++){r.beginPath();r.setLineWidth(o.borderWidth*i.pix);r.setStrokeStyle(o.borderColor);r.setFillStyle(hexToRgb(a[c].color,a[c].fillOpacity||o.fillOpacity));if(o.active==true&&i.tooltip){if(i.tooltip.index==c){r.setStrokeStyle(o.activeBorderColor);r.setFillStyle(hexToRgb(o.activeFillColor,o.activeFillOpacity))}}var v=l[c].geometry.coordinates;for(var m=0;m<v.length;m++){t=v[m];if(t.length==1){t=t[0]}for(var e=0;e<t.length;e++){var T=Array(2);if(o.mercator){T=lonlat2mercator(t[e][0],t[e][1])}else{T=t[e]}n=coordinateToPoint(T[1],T[0],s,h,g,y);if(e===0){r.beginPath();r.moveTo(n.x,n.y)}else{r.lineTo(n.x,n.y)}}r.fill();if(o.border==true){r.stroke()}}}if(i.dataLabel==true){for(var c=0;c<l.length;c++){var b=l[c].properties.centroid;if(b){if(o.mercator){b=lonlat2mercator(l[c].properties.centroid[0],l[c].properties.centroid[1])}n=coordinateToPoint(b[1],b[0],s,h,g,y);let t=l[c].textSize*i.pix||d.fontSize;let e=l[c].textColor||i.fontColor;if(o.active&&o.activeTextColor&&i.tooltip&&i.tooltip.index==c){e=o.activeTextColor}let a=l[c].properties.name;r.beginPath();r.setFontSize(t);r.setFillStyle(e);r.fillText(a,n.x-measureText(a,t,r)/2,n.y+t/2);r.closePath();r.stroke()}}}i.chartData.mapData={bounds:s,scale:h,xoffset:g,yoffset:y,mercator:o.mercator};drawToolTipBridge(i,d,r,1);r.draw()}function normalInt(t,e,a){a=a==0?1:a;var i=[];for(var r=0;r<a;r++){i[r]=Math.random()}return Math.floor(i.reduce(function(t,e){return t+e})/a*(e-t))+t}function collisionNew(e,a,i,r){var o=false;for(let t=0;t<a.length;t++){if(a[t].area){if(e[3]<a[t].area[1]||e[0]>a[t].area[2]||e[1]>a[t].area[3]||e[2]<a[t].area[0]){if(e[0]<0||e[1]<0||e[2]>i||e[3]>r){o=true;break}else{o=false}}else{o=true;break}}}return o}function getWordCloudPoint(c,t,d){let x=c.series;switch(t){case"normal":for(let l=0;l<x.length;l++){let t=x[l].name;let e=x[l].textSize*c.pix;let a=measureText(t,e,d);let i,r;let o;let n=0;while(true){n++;i=normalInt(-c.width/2,c.width/2,5)-a/2;r=normalInt(-c.height/2,c.height/2,5)+e/2;o=[i-5+c.width/2,r-5-e+c.height/2,i+a+5+c.width/2,r+5+c.height/2];let t=collisionNew(o,x,c.width,c.height);if(!t)break;if(n==1e3){o=[-100,-100,-100,-100];break}}x[l].area=o}break;case"vertical":function f(){if(Math.random()>.7){return true}else{return false}};for(let h=0;h<x.length;h++){let t=x[h].name;let e=x[h].textSize*c.pix;let a=measureText(t,e,d);let i=f();let r,o,n,l;let s=0;while(true){s++;let t;if(i){r=normalInt(-c.width/2,c.width/2,5)-a/2;o=normalInt(-c.height/2,c.height/2,5)+e/2;n=[o-5-a+c.width/2,-r-5+c.height/2,o+5+c.width/2,-r+e+5+c.height/2];l=[c.width-(c.width/2-c.height/2)-(-r+e+5+c.height/2)-5,c.height/2-c.width/2+(o-5-a+c.width/2)-5,c.width-(c.width/2-c.height/2)-(-r+e+5+c.height/2)+e,c.height/2-c.width/2+(o-5-a+c.width/2)+a+5];t=collisionNew(l,x,c.height,c.width)}else{r=normalInt(-c.width/2,c.width/2,5)-a/2;o=normalInt(-c.height/2,c.height/2,5)+e/2;n=[r-5+c.width/2,o-5-e+c.height/2,r+a+5+c.width/2,o+5+c.height/2];t=collisionNew(n,x,c.width,c.height)}if(!t)break;if(s==1e3){n=[-1e3,-1e3,-1e3,-1e3];break}}if(i){x[h].area=l;x[h].areav=n}else{x[h].area=n}x[h].rotate=i};break}return x}function drawWordCloudDataPoints(t,r,e,o){let n=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let a=assign({},{type:"normal",autoColors:true},r.extra.word);if(!r.chartData.wordCloudData){r.chartData.wordCloudData=getWordCloudPoint(r,a.type,o)}o.beginPath();o.setFillStyle(r.background);o.rect(0,0,r.width,r.height);o.fill();o.save();let l=r.chartData.wordCloudData;o.translate(r.width/2,r.height/2);for(let i=0;i<l.length;i++){o.save();if(l[i].rotate){o.rotate(90*Math.PI/180)}let t=l[i].name;let e=l[i].textSize*r.pix;let a=measureText(t,e,o);o.beginPath();o.setStrokeStyle(l[i].color);o.setFillStyle(l[i].color);o.setFontSize(e);if(l[i].rotate){if(l[i].areav[0]>0){if(r.tooltip){if(r.tooltip.index==i){o.strokeText(t,(l[i].areav[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].areav[1]+5+e-r.height/2)*n)}else{o.fillText(t,(l[i].areav[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].areav[1]+5+e-r.height/2)*n)}}else{o.fillText(t,(l[i].areav[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].areav[1]+5+e-r.height/2)*n)}}}else{if(l[i].area[0]>0){if(r.tooltip){if(r.tooltip.index==i){o.strokeText(t,(l[i].area[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].area[1]+5+e-r.height/2)*n)}else{o.fillText(t,(l[i].area[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].area[1]+5+e-r.height/2)*n)}}else{o.fillText(t,(l[i].area[0]+5-r.width/2)*n-a*(1-n)/2,(l[i].area[1]+5+e-r.height/2)*n)}}}o.stroke();o.restore()}o.restore()}function drawFunnelDataPoints(t,e,c,a){let d=arguments.length>4&&arguments[4]!==undefined?arguments[4]:1;let i=assign({},{type:"funnel",activeWidth:10,activeOpacity:.3,border:false,borderWidth:2,borderColor:"#FFFFFF",fillOpacity:1,minSize:0,labelAlign:"right",linearType:"none",customColor:[]},e.extra.funnel);let r=(e.height-e.area[0]-e.area[2])/t.length;let o={x:e.area[3]+(e.width-e.area[1]-e.area[3])/2,y:e.height-e.area[2]};let n=i.activeWidth*e.pix;let x=Math.min((e.width-e.area[1]-e.area[3])/2-n,(e.height-e.area[0]-e.area[2])/2-n);let l=getFunnelDataPoints(t,x,i,r,d);a.save();a.translate(o.x,o.y);i.customColor=fillCustomColor(i.linearType,i.customColor,t,c);if(i.type=="pyramid"){for(let t=0;t<l.length;t++){if(t==l.length-1){if(e.tooltip){if(e.tooltip.index==t){a.beginPath();a.setFillStyle(hexToRgb(l[t].color,i.activeOpacity));a.moveTo(-n,-r);a.lineTo(-l[t].radius-n,0);a.lineTo(l[t].radius+n,0);a.lineTo(n,-r);a.lineTo(-n,-r);a.closePath();a.fill()}}l[t].funnelArea=[o.x-l[t].radius,o.y-r*(t+1),o.x+l[t].radius,o.y-r*t];a.beginPath();a.setLineWidth(i.borderWidth*e.pix);a.setStrokeStyle(i.borderColor);var s=hexToRgb(l[t].color,i.fillOpacity);if(i.linearType=="custom"){var h=a.createLinearGradient(l[t].radius,-r,-l[t].radius,-r);h.addColorStop(0,hexToRgb(l[t].color,i.fillOpacity));h.addColorStop(.5,hexToRgb(i.customColor[l[t].linearIndex],i.fillOpacity));h.addColorStop(1,hexToRgb(l[t].color,i.fillOpacity));s=h}a.setFillStyle(s);a.moveTo(0,-r);a.lineTo(-l[t].radius,0);a.lineTo(l[t].radius,0);a.lineTo(0,-r);a.closePath();a.fill();if(i.border==true){a.stroke()}}else{if(e.tooltip){if(e.tooltip.index==t){a.beginPath();a.setFillStyle(hexToRgb(l[t].color,i.activeOpacity));a.moveTo(0,0);a.lineTo(-l[t].radius-n,0);a.lineTo(-l[t+1].radius-n,-r);a.lineTo(l[t+1].radius+n,-r);a.lineTo(l[t].radius+n,0);a.lineTo(0,0);a.closePath();a.fill()}}l[t].funnelArea=[o.x-l[t].radius,o.y-r*(t+1),o.x+l[t].radius,o.y-r*t];a.beginPath();a.setLineWidth(i.borderWidth*e.pix);a.setStrokeStyle(i.borderColor);var s=hexToRgb(l[t].color,i.fillOpacity);if(i.linearType=="custom"){var h=a.createLinearGradient(l[t].radius,-r,-l[t].radius,-r);h.addColorStop(0,hexToRgb(l[t].color,i.fillOpacity));h.addColorStop(.5,hexToRgb(i.customColor[l[t].linearIndex],i.fillOpacity));h.addColorStop(1,hexToRgb(l[t].color,i.fillOpacity));s=h}a.setFillStyle(s);a.moveTo(0,0);a.lineTo(-l[t].radius,0);a.lineTo(-l[t+1].radius,-r);a.lineTo(l[t+1].radius,-r);a.lineTo(l[t].radius,0);a.lineTo(0,0);a.closePath();a.fill();if(i.border==true){a.stroke()}}a.translate(0,-r)}}else{a.translate(0,-(l.length-1)*r);for(let t=0;t<l.length;t++){if(t==l.length-1){if(e.tooltip){if(e.tooltip.index==t){a.beginPath();a.setFillStyle(hexToRgb(l[t].color,i.activeOpacity));a.moveTo(-n-i.minSize/2,0);a.lineTo(-l[t].radius-n,-r);a.lineTo(l[t].radius+n,-r);a.lineTo(n+i.minSize/2,0);a.lineTo(-n-i.minSize/2,0);a.closePath();a.fill()}}l[t].funnelArea=[o.x-l[t].radius,o.y-r,o.x+l[t].radius,o.y];a.beginPath();a.setLineWidth(i.borderWidth*e.pix);a.setStrokeStyle(i.borderColor);var s=hexToRgb(l[t].color,i.fillOpacity);if(i.linearType=="custom"){var h=a.createLinearGradient(l[t].radius,-r,-l[t].radius,-r);h.addColorStop(0,hexToRgb(l[t].color,i.fillOpacity));h.addColorStop(.5,hexToRgb(i.customColor[l[t].linearIndex],i.fillOpacity));h.addColorStop(1,hexToRgb(l[t].color,i.fillOpacity));s=h}a.setFillStyle(s);a.moveTo(0,0);a.lineTo(-i.minSize/2,0);a.lineTo(-l[t].radius,-r);a.lineTo(l[t].radius,-r);a.lineTo(i.minSize/2,0);a.lineTo(0,0);a.closePath();a.fill();if(i.border==true){a.stroke()}}else{if(e.tooltip){if(e.tooltip.index==t){a.beginPath();a.setFillStyle(hexToRgb(l[t].color,i.activeOpacity));a.moveTo(0,0);a.lineTo(-l[t+1].radius-n,0);a.lineTo(-l[t].radius-n,-r);a.lineTo(l[t].radius+n,-r);a.lineTo(l[t+1].radius+n,0);a.lineTo(0,0);a.closePath();a.fill()}}l[t].funnelArea=[o.x-l[t].radius,o.y-r*(l.length-t),o.x+l[t].radius,o.y-r*(l.length-t-1)];a.beginPath();a.setLineWidth(i.borderWidth*e.pix);a.setStrokeStyle(i.borderColor);var s=hexToRgb(l[t].color,i.fillOpacity);if(i.linearType=="custom"){var h=a.createLinearGradient(l[t].radius,-r,-l[t].radius,-r);h.addColorStop(0,hexToRgb(l[t].color,i.fillOpacity));h.addColorStop(.5,hexToRgb(i.customColor[l[t].linearIndex],i.fillOpacity));h.addColorStop(1,hexToRgb(l[t].color,i.fillOpacity));s=h}a.setFillStyle(s);a.moveTo(0,0);a.lineTo(-l[t+1].radius,0);a.lineTo(-l[t].radius,-r);a.lineTo(l[t].radius,-r);a.lineTo(l[t+1].radius,0);a.lineTo(0,0);a.closePath();a.fill();if(i.border==true){a.stroke()}}a.translate(0,r)}}a.restore();if(e.dataLabel!==false&&d===1){drawFunnelText(l,e,a,r,i.labelAlign,n,o)}if(d===1){drawFunnelCenterText(l,e,a,r,i.labelAlign,n,o)}return{center:o,radius:x,series:l}}function drawFunnelText(l,s,h,c,d,x,f){for(let n=0;n<l.length;n++){let t=l[n];if(t.labelShow===false){continue}let e,a,i,r;let o=t.formatter?t.formatter(t,n,l,s):util.toFixed(t._proportion_*100)+"%";o=t.labelText?t.labelText:o;if(d=="right"){if(n==l.length-1){e=(t.funnelArea[2]+f.x)/2}else{e=(t.funnelArea[2]+l[n+1].funnelArea[2])/2}a=e+x*2;i=t.funnelArea[1]+c/2;r=t.textSize*s.pix||s.fontSize*s.pix;h.setLineWidth(1*s.pix);h.setStrokeStyle(t.color);h.setFillStyle(t.color);h.beginPath();h.moveTo(e,i);h.lineTo(a,i);h.stroke();h.closePath();h.beginPath();h.moveTo(a,i);h.arc(a,i,2*s.pix,0,2*Math.PI);h.closePath();h.fill();h.beginPath();h.setFontSize(r);h.setFillStyle(t.textColor||s.fontColor);h.fillText(o,a+5,i+r/2-2);h.closePath();h.stroke();h.closePath()}if(d=="left"){if(n==l.length-1){e=(t.funnelArea[0]+f.x)/2}else{e=(t.funnelArea[0]+l[n+1].funnelArea[0])/2}a=e-x*2;i=t.funnelArea[1]+c/2;r=t.textSize*s.pix||s.fontSize*s.pix;h.setLineWidth(1*s.pix);h.setStrokeStyle(t.color);h.setFillStyle(t.color);h.beginPath();h.moveTo(e,i);h.lineTo(a,i);h.stroke();h.closePath();h.beginPath();h.moveTo(a,i);h.arc(a,i,2,0,2*Math.PI);h.closePath();h.fill();h.beginPath();h.setFontSize(r);h.setFillStyle(t.textColor||s.fontColor);h.fillText(o,a-5-measureText(o,r,h),i+r/2-2);h.closePath();h.stroke();h.closePath()}}}function drawFunnelCenterText(r,o,n,l,t,e,s){for(let i=0;i<r.length;i++){let t=r[i];let e,a;if(t.centerText){e=t.funnelArea[1]+l/2;a=t.centerTextSize*o.pix||o.fontSize*o.pix;n.beginPath();n.setFontSize(a);n.setFillStyle(t.centerTextColor||"#FFFFFF");n.fillText(t.centerText,s.x-measureText(t.centerText,a,n)/2,e+a/2-2);n.closePath();n.stroke();n.closePath()}}}function drawCanvas(t,e){e.save();e.translate(0,.5);e.restore();e.draw()}var Timing={easeIn:function t(e){return Math.pow(e,3)},easeOut:function t(e){return Math.pow(e-1,3)+1},easeInOut:function t(e){if((e/=.5)<1){return.5*Math.pow(e,3)}else{return.5*(Math.pow(e-2,3)+2)}},linear:function t(e){return e}};function Animation(r){this.isStop=false;r.duration=typeof r.duration==="undefined"?1e3:r.duration;r.timing=r.timing||"easeInOut";var o=17;function t(){if(typeof setTimeout!=="undefined"){return function(e,t){setTimeout(function(){var t=+new Date;e(t)},t)}}else if(typeof requestAnimationFrame!=="undefined"){return requestAnimationFrame}else{return function(t){t(null)}}}var n=t();var l=null;var s=function t(e){if(e===null||this.isStop===true){r.onProcess&&r.onProcess(1);r.onAnimationFinish&&r.onAnimationFinish();return}if(l===null){l=e}if(e-l<r.duration){var a=(e-l)/r.duration;var i=Timing[r.timing];a=i(a);r.onProcess&&r.onProcess(a);n(s,o)}else{r.onProcess&&r.onProcess(1);r.onAnimationFinish&&r.onAnimationFinish()}};s=s.bind(this);n(s,o)}Animation.prototype.stop=function(){this.isStop=true};function drawCharts(t,l,n,s){var h=this;var c=l.series;if(t==="pie"||t==="ring"||t==="mount"||t==="rose"||t==="funnel"){c=fixPieSeries(c,l,n)}var d=l.categories;if(t==="mount"){d=[];for(let t=0;t<c.length;t++){if(c[t].show!==false)d.push(c[t].name)}l.categories=d}c=fillSeries(c,l,n);var e=l.animation?l.duration:0;h.animationInstance&&h.animationInstance.stop();var x=null;if(t=="candle"){let t=assign({},l.extra.candle.average);if(t.show){x=calCandleMA(t.day,t.name,t.color,c[0].data);x=fillSeries(x,l,n);l.seriesMA=x}else if(l.seriesMA){x=l.seriesMA=fillSeries(l.seriesMA,l,n)}else{x=c}}else{x=c}l._series_=c=filterSeries(c);l.area=new Array(4);for(let t=0;t<4;t++){l.area[t]=l.padding[t]*l.pix}var a=calLegendData(x,l,n,l.chartData,s),r=a.area.wholeHeight,o=a.area.wholeWidth;switch(l.legend.position){case"top":l.area[0]+=r;break;case"bottom":l.area[2]+=r;break;case"left":l.area[3]+=o;break;case"right":l.area[1]+=o;break}let f={},i=0;if(l.type==="line"||l.type==="column"||l.type==="mount"||l.type==="area"||l.type==="mix"||l.type==="candle"||l.type==="scatter"||l.type==="bubble"||l.type==="bar"){f=calYAxisData(c,l,n,s);i=f.yAxisWidth;if(l.yAxis.showTitle){let e=0;for(let t=0;t<l.yAxis.data.length;t++){e=Math.max(e,l.yAxis.data[t].titleFontSize?l.yAxis.data[t].titleFontSize*l.pix:n.fontSize)}l.area[0]+=e}let e=0,a=0;for(let t=0;t<i.length;t++){if(i[t].position=="left"){if(a>0){l.area[3]+=i[t].width+l.yAxis.padding*l.pix}else{l.area[3]+=i[t].width}a+=1}else if(i[t].position=="right"){if(e>0){l.area[1]+=i[t].width+l.yAxis.padding*l.pix}else{l.area[1]+=i[t].width}e+=1}}}else{n.yAxisWidth=i}l.chartData.yAxisData=f;if(l.categories&&l.categories.length&&l.type!=="radar"&&l.type!=="gauge"&&l.type!=="bar"){l.chartData.xAxisData=getXAxisPoints(l.categories,l,n);let t=calCategoriesData(l.categories,l,n,l.chartData.xAxisData.eachSpacing,s),e=t.xAxisHeight,a=t.angle;n.xAxisHeight=e;n._xAxisTextAngle_=a;l.area[2]+=e;l.chartData.categoriesData=t}else{if(l.type==="line"||l.type==="area"||l.type==="scatter"||l.type==="bubble"||l.type==="bar"){l.chartData.xAxisData=calXAxisData(c,l,n,s);d=l.chartData.xAxisData.rangesFormat;let t=calCategoriesData(d,l,n,l.chartData.xAxisData.eachSpacing,s),e=t.xAxisHeight,a=t.angle;n.xAxisHeight=e;n._xAxisTextAngle_=a;l.area[2]+=e;l.chartData.categoriesData=t}else{l.chartData.xAxisData={xAxisPoints:[]}}}if(l.enableScroll&&l.xAxis.scrollAlign=="right"&&l._scrollDistance_===undefined){let t=0,e=l.chartData.xAxisData.xAxisPoints,a=l.chartData.xAxisData.startX,i=l.chartData.xAxisData.endX,r=l.chartData.xAxisData.eachSpacing;let o=r*(e.length-1);let n=i-a;t=n-o;h.scrollOption.currentOffset=t;h.scrollOption.startTouchX=t;h.scrollOption.distance=0;h.scrollOption.lastMoveTime=0;l._scrollDistance_=t}if(t==="pie"||t==="ring"||t==="rose"){n._pieTextMaxLength_=l.dataLabel===false?0:getPieTextMaxLength(x,n,s,l)}switch(t){case"word":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function(t){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawWordCloudDataPoints(c,l,n,s,t);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"map":s.clearRect(0,0,l.width,l.height);drawMapDataPoints(c,l,n,s);setTimeout(()=>{this.uevent.trigger("renderComplete")},50);break;case"funnel":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function(t){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.funnelData=drawFunnelDataPoints(c,l,n,s,t);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,t);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"line":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawLineDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"scatter":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawScatterDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"bubble":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawBubbleDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"mix":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawMixDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"column":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawColumnDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"mount":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawMountDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"bar":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawXAxis(d,l,n,s);var a=drawBarDataPoints(c,l,n,s,e),i=a.yAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.yAxisPoints=i;l.chartData.xAxisPoints=l.chartData.xAxisData.xAxisPoints;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"area":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawAreaDataPoints(c,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"ring":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.pieData=drawPieDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"pie":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.pieData=drawPieDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"rose":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.pieData=drawRoseDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"radar":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.radarData=drawRadarDataPoints(c,l,n,s,e);drawLegend(l.series,l,n,s,l.chartData);drawToolTipBridge(l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"arcbar":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.arcbarData=drawArcbarDataPoints(c,l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"gauge":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}l.chartData.gaugeData=drawGaugeDataPoints(d,c,l,n,s,e);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break;case"candle":this.animationInstance=new Animation({timing:l.timing,duration:e,onProcess:function t(e){s.clearRect(0,0,l.width,l.height);if(l.rotate){contextRotate(s,l)}drawYAxisGrid(d,l,n,s);drawXAxis(d,l,n,s);var a=drawCandleDataPoints(c,x,l,n,s,e),i=a.xAxisPoints,r=a.calPoints,o=a.eachSpacing;l.chartData.xAxisPoints=i;l.chartData.calPoints=r;l.chartData.eachSpacing=o;drawYAxis(c,l,n,s);if(l.enableMarkLine!==false&&e===1){drawMarkLine(l,n,s)}if(x){drawLegend(x,l,n,s,l.chartData)}else{drawLegend(l.series,l,n,s,l.chartData)}drawToolTipBridge(l,n,s,e,o,i);drawCanvas(l,s)},onAnimationFinish:function t(){h.uevent.trigger("renderComplete")}});break}}function uChartsEvent(){this.events={}}uChartsEvent.prototype.addEventListener=function(t,e){this.events[t]=this.events[t]||[];this.events[t].push(e)};uChartsEvent.prototype.delEventListener=function(t){this.events[t]=[]};uChartsEvent.prototype.trigger=function(){for(var t=arguments.length,e=Array(t),a=0;a<t;a++){e[a]=arguments[a]}var i=e[0];var r=e.slice(1);if(!!this.events[i]){this.events[i].forEach(function(t){try{t.apply(null,r)}catch(t){}})}};var uCharts=function t(a){a.pix=a.pixelRatio?a.pixelRatio:1;a.fontSize=a.fontSize?a.fontSize:13;a.fontColor=a.fontColor?a.fontColor:config.fontColor;if(a.background==""||a.background=="none"){a.background="#FFFFFF"}a.title=assign({},a.title);a.subtitle=assign({},a.subtitle);a.duration=a.duration?a.duration:1e3;a.yAxis=assign({},{data:[],showTitle:false,disabled:false,disableGrid:false,gridSet:"number",splitNumber:5,gridType:"solid",dashLength:4*a.pix,gridColor:"#cccccc",padding:10,fontColor:"#666666"},a.yAxis);a.xAxis=assign({},{rotateLabel:false,rotateAngle:45,disabled:false,disableGrid:false,splitNumber:5,calibration:false,fontColor:"#666666",fontSize:13,lineHeight:20,marginTop:0,gridType:"solid",dashLength:4,scrollAlign:"left",boundaryGap:"center",axisLine:true,axisLineColor:"#cccccc",titleFontSize:13,titleOffsetY:0,titleOffsetX:0,titleFontColor:"#666666"},a.xAxis);a.xAxis.scrollPosition=a.xAxis.scrollAlign;a.legend=assign({},{show:true,position:"bottom",float:"center",backgroundColor:"rgba(0,0,0,0)",borderColor:"rgba(0,0,0,0)",borderWidth:0,padding:5,margin:5,itemGap:10,fontSize:a.fontSize,lineHeight:a.fontSize,fontColor:a.fontColor,formatter:{},hiddenColor:"#CECECE"},a.legend);a.extra=assign({tooltip:{legendShape:"auto"}},a.extra);a.rotate=a.rotate?true:false;a.animation=a.animation?true:false;a.rotate=a.rotate?true:false;a.canvas2d=a.canvas2d?true:false;let e=assign({},config);e.color=a.color?a.color:e.color;if(a.type=="pie"){e.pieChartLinePadding=a.dataLabel===false?0:a.extra.pie.labelWidth*a.pix||e.pieChartLinePadding*a.pix}if(a.type=="ring"){e.pieChartLinePadding=a.dataLabel===false?0:a.extra.ring.labelWidth*a.pix||e.pieChartLinePadding*a.pix}if(a.type=="rose"){e.pieChartLinePadding=a.dataLabel===false?0:a.extra.rose.labelWidth*a.pix||e.pieChartLinePadding*a.pix}e.pieChartTextPadding=a.dataLabel===false?0:e.pieChartTextPadding*a.pix;e.rotate=a.rotate;if(a.rotate){let t=a.width;let e=a.height;a.width=e;a.height=t}a.padding=a.padding?a.padding:e.padding;e.yAxisWidth=config.yAxisWidth*a.pix;e.fontSize=a.fontSize*a.pix;e.titleFontSize=config.titleFontSize*a.pix;e.subtitleFontSize=config.subtitleFontSize*a.pix;if(!a.context){throw new Error("[uCharts] 鏈幏鍙栧埌context锛佹敞鎰忥細v2.0鐗堟湰鍚庯紝闇�瑕佽嚜琛岃幏鍙朿anvas鐨勭粯鍥句笂涓嬫枃骞朵紶鍏pts.context锛�")}this.context=a.context;if(!this.context.setTextAlign){this.context.setStrokeStyle=function(t){return this.strokeStyle=t};this.context.setLineWidth=function(t){return this.lineWidth=t};this.context.setLineCap=function(t){return this.lineCap=t};this.context.setFontSize=function(t){return this.font=t+"px sans-serif"};this.context.setFillStyle=function(t){return this.fillStyle=t};this.context.setTextAlign=function(t){return this.textAlign=t};this.context.setTextBaseline=function(t){return this.textBaseline=t};this.context.setShadow=function(t,e,a,i){this.shadowColor=i;this.shadowOffsetX=t;this.shadowOffsetY=e;this.shadowBlur=a};this.context.draw=function(){}}if(!this.context.setLineDash){this.context.setLineDash=function(t){}}a.chartData={};this.uevent=new uChartsEvent;this.scrollOption={currentOffset:0,startTouchX:0,distance:0,lastMoveTime:0};this.opts=a;this.config=e;drawCharts.call(this,a.type,a,e,this.context)};uCharts.prototype.updateData=function(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};this.opts=assign({},this.opts,t);this.opts.updateData=true;let c=t.scrollPosition||"current";switch(c){case"current":this.opts._scrollDistance_=this.scrollOption.currentOffset;break;case"left":this.opts._scrollDistance_=0;this.scrollOption={currentOffset:0,startTouchX:0,distance:0,lastMoveTime:0};break;case"right":let t=calYAxisData(this.opts.series,this.opts,this.config,this.context),e=t.yAxisWidth;this.config.yAxisWidth=e;let a=0;let i=getXAxisPoints(this.opts.categories,this.opts,this.config),r=i.xAxisPoints,o=i.startX,n=i.endX,l=i.eachSpacing;let s=l*(r.length-1);let h=n-o;a=h-s;this.scrollOption={currentOffset:a,startTouchX:a,distance:0,lastMoveTime:0};this.opts._scrollDistance_=a;break}drawCharts.call(this,this.opts.type,this.opts,this.config,this.context)};uCharts.prototype.zoom=function(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.opts.xAxis.itemCount;if(this.opts.enableScroll!==true){console.log("[uCharts] 璇峰惎鐢ㄦ粴鍔ㄦ潯鍚庝娇鐢�");return}let e=Math.round(Math.abs(this.scrollOption.currentOffset)/this.opts.chartData.eachSpacing)+Math.round(this.opts.xAxis.itemCount/2);this.opts.animation=false;this.opts.xAxis.itemCount=t.itemCount;let a=calYAxisData(this.opts.series,this.opts,this.config,this.context),i=a.yAxisWidth;this.config.yAxisWidth=i;let r=0;let o=getXAxisPoints(this.opts.categories,this.opts,this.config),h=o.xAxisPoints,c=o.startX,d=o.endX,n=o.eachSpacing;let x=n*e;let l=d-c;let s=l-n*(h.length-1);r=l/2-x;if(r>0){r=0}if(r<s){r=s}this.scrollOption={currentOffset:r,startTouchX:0,distance:0,lastMoveTime:0};calValidDistance(this,r,this.opts.chartData,this.config,this.opts);this.opts._scrollDistance_=r;drawCharts.call(this,this.opts.type,this.opts,this.config,this.context)};uCharts.prototype.dobuleZoom=function(t){if(this.opts.enableScroll!==true){console.log("[uCharts] 璇峰惎鐢ㄦ粴鍔ㄦ潯鍚庝娇鐢�");return}const a=t.changedTouches;if(a.length<2){return}for(var e=0;e<a.length;e++){a[e].x=a[e].x?a[e].x:a[e].clientX;a[e].y=a[e].y?a[e].y:a[e].clientY}const i=[getTouches(a[0],this.opts,t),getTouches(a[1],this.opts,t)];const c=Math.abs(i[0].x-i[1].x);if(!this.scrollOption.moveCount){let t={changedTouches:[{x:a[0].x,y:this.opts.area[0]/this.opts.pix+2}]};let e={changedTouches:[{x:a[1].x,y:this.opts.area[0]/this.opts.pix+2}]};if(this.opts.rotate){t={changedTouches:[{x:this.opts.height/this.opts.pix-this.opts.area[0]/this.opts.pix-2,y:a[0].y}]};e={changedTouches:[{x:this.opts.height/this.opts.pix-this.opts.area[0]/this.opts.pix-2,y:a[1].y}]}}const s=this.getCurrentDataIndex(t).index;const h=this.getCurrentDataIndex(e).index;const v=Math.abs(s-h);this.scrollOption.moveCount=v;this.scrollOption.moveCurrent1=Math.min(s,h);this.scrollOption.moveCurrent2=Math.max(s,h);return}let d=c/this.scrollOption.moveCount;let r=(this.opts.width-this.opts.area[1]-this.opts.area[3])/d;r=r<=2?2:r;r=r>=this.opts.categories.length?this.opts.categories.length:r;this.opts.animation=false;this.opts.xAxis.itemCount=r;let o=0;let n=getXAxisPoints(this.opts.categories,this.opts,this.config),x=n.xAxisPoints,f=n.startX,p=n.endX,l=n.eachSpacing;let u=l*this.scrollOption.moveCurrent1;let g=p-f;let y=g-l*(x.length-1);o=-u+Math.min(i[0].x,i[1].x)-this.opts.area[3]-l;if(o>0){o=0}if(o<y){o=y}this.scrollOption.currentOffset=o;this.scrollOption.startTouchX=0;this.scrollOption.distance=0;calValidDistance(this,o,this.opts.chartData,this.config,this.opts);this.opts._scrollDistance_=o;drawCharts.call(this,this.opts.type,this.opts,this.config,this.context)};uCharts.prototype.stopAnimation=function(){this.animationInstance&&this.animationInstance.stop()};uCharts.prototype.addEventListener=function(t,e){this.uevent.addEventListener(t,e)};uCharts.prototype.delEventListener=function(t){this.uevent.delEventListener(t)};uCharts.prototype.getCurrentDataIndex=function(e){var a=null;if(e.changedTouches){a=e.changedTouches[0]}else{a=e.mp.changedTouches[0]}if(a){let t=getTouches(a,this.opts,e);if(this.opts.type==="pie"||this.opts.type==="ring"){return findPieChartCurrentIndex({x:t.x,y:t.y},this.opts.chartData.pieData,this.opts)}else if(this.opts.type==="rose"){return findRoseChartCurrentIndex({x:t.x,y:t.y},this.opts.chartData.pieData,this.opts)}else if(this.opts.type==="radar"){return findRadarChartCurrentIndex({x:t.x,y:t.y},this.opts.chartData.radarData,this.opts.categories.length)}else if(this.opts.type==="funnel"){return findFunnelChartCurrentIndex({x:t.x,y:t.y},this.opts.chartData.funnelData)}else if(this.opts.type==="map"){return findMapChartCurrentIndex({x:t.x,y:t.y},this.opts)}else if(this.opts.type==="word"){return findWordChartCurrentIndex({x:t.x,y:t.y},this.opts.chartData.wordCloudData)}else if(this.opts.type==="bar"){return findBarChartCurrentIndex({x:t.x,y:t.y},this.opts.chartData.calPoints,this.opts,this.config,Math.abs(this.scrollOption.currentOffset))}else{return findCurrentIndex({x:t.x,y:t.y},this.opts.chartData.calPoints,this.opts,this.config,Math.abs(this.scrollOption.currentOffset))}}return-1};uCharts.prototype.getLegendDataIndex=function(e){var a=null;if(e.changedTouches){a=e.changedTouches[0]}else{a=e.mp.changedTouches[0]}if(a){let t=getTouches(a,this.opts,e);return findLegendIndex({x:t.x,y:t.y},this.opts.chartData.legendData)}return-1};uCharts.prototype.touchLegend=function(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var a=null;if(t.changedTouches){a=t.changedTouches[0]}else{a=t.mp.changedTouches[0]}if(a){var i=getTouches(a,this.opts,t);var r=this.getLegendDataIndex(t);if(r>=0){if(this.opts.type=="candle"){this.opts.seriesMA[r].show=!this.opts.seriesMA[r].show}else{this.opts.series[r].show=!this.opts.series[r].show}this.opts.animation=e.animation?true:false;this.opts._scrollDistance_=this.scrollOption.currentOffset;drawCharts.call(this,this.opts.type,this.opts,this.config,this.context)}}};uCharts.prototype.showToolTip=function(t){var e=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var c=null;if(t.changedTouches){c=t.changedTouches[0]}else{c=t.mp.changedTouches[0]}if(!c){console.log("[uCharts] 鏈幏鍙栧埌event鍧愭爣淇℃伅")}var a=getTouches(c,this.opts,t);var d=this.scrollOption.currentOffset;var i=assign({},this.opts,{_scrollDistance_:d,animation:false});if(this.opts.type==="line"||this.opts.type==="area"||this.opts.type==="column"||this.opts.type==="scatter"||this.opts.type==="bubble"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1||o.length>0){var n=getSeriesDataItem(this.opts.series,o,r.group);if(n.length!==0){var l=getToolTipData(n,this.opts,o,r.group,this.opts.categories,e),s=l.textList,h=l.offset;h.y=a.y;i.tooltip={textList:e.textList!==undefined?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o,group:r.group}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="mount"){var o=e.index==undefined?this.getCurrentDataIndex(t).index:e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},i._series_[o]);var s=[{text:e.formatter?e.formatter(n,undefined,o,i):n.name+": "+n.data,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:i.chartData.calPoints[o].x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="bar"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1||o.length>0){var n=getSeriesDataItem(this.opts.series,o,r.group);if(n.length!==0){var l=getToolTipData(n,this.opts,o,r.group,this.opts.categories,e),s=l.textList,h=l.offset;h.x=a.x;i.tooltip={textList:e.textList!==undefined?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="mix"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1){var d=this.scrollOption.currentOffset;var i=assign({},this.opts,{_scrollDistance_:d,animation:false});var n=getSeriesDataItem(this.opts.series,o);if(n.length!==0){var x=getMixToolTipData(n,this.opts,o,this.opts.categories,e),s=x.textList,h=x.offset;h.y=a.y;i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="candle"){var r=this.getCurrentDataIndex(t);var o=e.index==undefined?r.index:e.index;if(o>-1){var d=this.scrollOption.currentOffset;var i=assign({},this.opts,{_scrollDistance_:d,animation:false});var n=getSeriesDataItem(this.opts.series,o);if(n.length!==0){var l=getCandleToolTipData(this.opts.series[0].data,n,this.opts,o,this.opts.categories,this.opts.extra.candle,e),s=l.textList,h=l.offset;h.y=a.y;i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="pie"||this.opts.type==="ring"||this.opts.type==="rose"||this.opts.type==="funnel"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},i._series_[o]);var s=[{text:e.formatter?e.formatter(n,undefined,o,i):n.name+": "+n.data,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="map"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},this.opts.series[o]);n.name=n.properties.name;var s=[{text:e.formatter?e.formatter(n,undefined,o,this.opts):n.name,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}i.updateData=false;drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="word"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=assign({},this.opts.series[o]);var s=[{text:e.formatter?e.formatter(n,undefined,o,this.opts):n.name,color:n.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?n.legendShape:this.opts.extra.tooltip.legendShape}];var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}i.updateData=false;drawCharts.call(this,i.type,i,this.config,this.context)}if(this.opts.type==="radar"){var o=e.index==undefined?this.getCurrentDataIndex(t):e.index;if(o>-1){var i=assign({},this.opts,{animation:false});var n=getSeriesDataItem(this.opts.series,o);if(n.length!==0){var s=n.map(t=>{return{text:e.formatter?e.formatter(t,this.opts.categories[o],o,this.opts):t.name+": "+t.data,color:t.color,legendShape:this.opts.extra.tooltip.legendShape=="auto"?t.legendShape:this.opts.extra.tooltip.legendShape}});var h={x:a.x,y:a.y};i.tooltip={textList:e.textList?e.textList:s,offset:e.offset!==undefined?e.offset:h,option:e,index:o}}}drawCharts.call(this,i.type,i,this.config,this.context)}};uCharts.prototype.translate=function(t){this.scrollOption={currentOffset:t,startTouchX:t,distance:0,lastMoveTime:0};let e=assign({},this.opts,{_scrollDistance_:t,animation:false});drawCharts.call(this,this.opts.type,e,this.config,this.context)};uCharts.prototype.scrollStart=function(t){var e=null;if(t.changedTouches){e=t.changedTouches[0]}else{e=t.mp.changedTouches[0]}var a=getTouches(e,this.opts,t);if(e&&this.opts.enableScroll===true){this.scrollOption.startTouchX=a.x}};uCharts.prototype.scroll=function(t){if(this.scrollOption.lastMoveTime===0){this.scrollOption.lastMoveTime=Date.now()}let e=this.opts.touchMoveLimit||60;let a=Date.now();let i=a-this.scrollOption.lastMoveTime;if(i<Math.floor(1e3/e))return;if(this.scrollOption.startTouchX==0)return;this.scrollOption.lastMoveTime=a;var r=null;if(t.changedTouches){r=t.changedTouches[0]}else{r=t.mp.changedTouches[0]}if(r&&this.opts.enableScroll===true){var o=getTouches(r,this.opts,t);var n;n=o.x-this.scrollOption.startTouchX;var l=this.scrollOption.currentOffset;var s=calValidDistance(this,l+n,this.opts.chartData,this.config,this.opts);this.scrollOption.distance=n=s-l;var h=assign({},this.opts,{_scrollDistance_:l+n,animation:false});this.opts=h;drawCharts.call(this,h.type,h,this.config,this.context);return l+n}};uCharts.prototype.scrollEnd=function(t){if(this.opts.enableScroll===true){var e=this.scrollOption,a=e.currentOffset,i=e.distance;this.scrollOption.currentOffset=a+i;this.scrollOption.distance=0;this.scrollOption.moveCount=0}};export default uCharts;
\ No newline at end of file
diff --git a/src/components/qiun-data-charts/license.md b/src/components/qiun-data-charts/license.md
deleted file mode 100644
index 261eeb9..0000000
--- a/src/components/qiun-data-charts/license.md
+++ /dev/null
@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed 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.
diff --git a/src/components/qiun-data-charts/package.json b/src/components/qiun-data-charts/package.json
deleted file mode 100644
index eb4f706..0000000
--- a/src/components/qiun-data-charts/package.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
-  "id": "qiun-data-charts",
-  "displayName": "绉嬩簯 ucharts echarts 楂樻�ц兘璺ㄥ叏绔浘琛ㄧ粍浠�",
-  "version": "2.5.0-20230101",
-  "description": "uCharts 鏂板姝h礋鏌辩姸鍥撅紒鏀寔H5鍙夾PP鐢� ucharts echarts 娓叉煋鍥捐〃锛寀niapp鍙鍖栭閫夌粍浠�",
-  "keywords": [
-    "ucharts",
-    "echarts",
-    "f2",
-    "鍥捐〃",
-    "鍙鍖�"
-],
-  "repository": "https://gitee.com/uCharts/uCharts",
-"engines": {
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": "474119"
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鎻掍欢涓嶉噰闆嗕换浣曟暟鎹�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/~qiun",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": [],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "y",
-          "鑱旂洘": "y"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/components/qiun-data-charts/readme.md b/src/components/qiun-data-charts/readme.md
deleted file mode 100644
index 53a49a0..0000000
--- a/src/components/qiun-data-charts/readme.md
+++ /dev/null
@@ -1,84 +0,0 @@
-![logo](https://img-blog.csdnimg.cn/4a276226973841468c1be356f8d9438b.png)
-
-
-[![star](https://gitee.com/uCharts/uCharts/badge/star.svg?theme=gvp)](https://gitee.com/uCharts/uCharts/stargazers)
-[![fork](https://gitee.com/uCharts/uCharts/badge/fork.svg?theme=gvp)](https://gitee.com/uCharts/uCharts/members)
-[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
-[![npm package](https://img.shields.io/npm/v/@qiun/ucharts.svg?style=flat-square)](https://www.npmjs.com/~qiun)
-
-
-## uCharts绠�浠�
-
-`uCharts`鏄竴娆惧熀浜巂canvas API`寮�鍙戠殑閫傜敤浜庢墍鏈夊墠绔簲鐢ㄧ殑鍥捐〃搴擄紝寮�鍙戣�呯紪鍐欎竴濂椾唬鐮侊紝鍙繍琛屽埌 Web銆乮OS銆丄ndroid锛堝熀浜� uni-app / taro 锛夈�佷互鍙婂悇绉嶅皬绋嬪簭锛堝井淇�/鏀粯瀹�/鐧惧害/澶存潯/椋炰功/QQ/蹇墜/閽夐拤/娣樺疂锛夈�佸揩搴旂敤绛夋洿澶氭敮鎸� canvas API 鐨勫钩鍙般��
-
-## 瀹樻柟缃戠珯
-
-## [https://www.ucharts.cn](https://www.ucharts.cn)
-
-## 蹇�熶綋楠�
-
-涓�濂椾唬鐮佺紪鍒板涓钩鍙帮紝渚濇鎵弿浜岀淮鐮侊紝浜茶嚜浣撻獙uCharts鍥捐〃璺ㄥ钩鍙版晥鏋滐紒鍏朵粬骞冲彴璇疯嚜琛岀紪璇戙��
-
-![](https://www.ucharts.cn/images/web/guide/qrcode20220224.png)
-
-![](https://img-blog.csdnimg.cn/7d0115593ff24ac39a224fb7c6ed72a4.png)
-
-## 鑷村紑鍙戣��
-
-鎰熻阿鍚勪綅寮�鍙戣�卄浜斿勾`鏉ュ绉嬩簯鍙妘Charts鐨勬敮鎸侊紝uCharts鐨勮繘姝ョ涓嶅紑鍚勪綅寮�鍙戣�呯殑榧撳姳涓庤础鐚�備负鏇村ソ鐨勫府鍔╁悇浣嶅紑鍙戣�呬娇鐢ㄥ浘琛ㄥ伐鍏凤紝鎴戜滑鎺ㄥ嚭浜嗘柊鐗堝畼缃戯紝澧炲姞浜嗗湪绾垮畾鍒躲�侀棶绛旂ぞ鍖恒�佸湪绾块厤缃瓑涓�浜涘鍊兼湇鍔★紝涓虹‘淇濇偍鑳芥洿濂界殑搴旂敤鍥捐〃缁勪欢锛屽缓璁偍鍏坄浠旂粏闃呰瀹樼綉鎸囧崡`浠ュ強`甯歌闂`锛岃�屼笉鏄笅杞戒笅鏉鐩存帴浣跨敤`銆傚浠嶇劧涓嶈兘瑙e喅锛岃鍒癭瀹樼綉绀惧尯`鎴栧紑閫氫細鍛樺悗鍔犲叆`涓撳睘VIP浼氬憳缇鎻愰棶灏嗕細寰堝揩寰楀埌鍥炵瓟銆�
-
-## 瑙嗛鏁欑▼
-
-## [uCharts鏂版墜鍏ラ棬鏁欑▼](https://www.bilibili.com/video/BV1qA411Q7se/?share_source=copy_web&vd_source=42a1242f9aaade6427736af69eb2e1d9)
-
-
-## 绀剧兢鏀寔
-
-uCharts瀹樻柟鎷ユ湁5涓�2000浜虹殑QQ缇ゅ強涓撳睘VIP浼氬憳缇ゆ敮鎸侊紝搴炲ぇ鐨勭敤鎴烽噺璇佹槑鎴戜滑涓�鐩村湪鍔姏锛岃鍚勪綅鏀惧績浣跨敤锛乽Charts鐨勫紑婧愬浘琛ㄧ粍浠剁殑寮�鍙戯紝鍥㈤槦浠樺嚭浜嗗ぇ閲忕殑鏃堕棿涓庣簿鍔涳紝缁忚繃鍥涙潵鐨勮�冮獙锛屼笉浼氭湁姣旇緝鏄庢樉鐨刡ug锛岃鍚勪綅鏀惧績浣跨敤銆傚鏋滄偍鏈夋洿濂界殑鎯虫硶锛屽彲浠ュ湪`鐮佷簯鎻愪氦Pull Requests`浠ュ府鍔╂洿澶氬紑鍙戣�呭畬鎴愰渶姹傦紝鍐嶆鎰熻阿鍚勪綅瀵箄Charts鐨勯紦鍔变笌鏀寔锛�
-
-#### 瀹樻柟浜ゆ祦缇�
-- 浜ゆ祦缇�1锛�371774600锛堝凡婊★級
-- 浜ゆ祦缇�2锛�619841586锛堝凡婊★級
-- 浜ゆ祦缇�3锛�955340127锛堝凡婊★級
-- 浜ゆ祦缇�4锛�641669795锛堝凡婊★級
-- 浜ゆ祦缇�5锛�236294809锛堝彧鑳芥壂鐮佸姞鍏ワ級
-
-![](https://www.ucharts.cn/images/web/qq5.jpg)
-
-- 鍙d护`uniapp`
-
-#### 涓撳睘VIP浼氬憳缇�
-- 寮�閫氫細鍛樺悗璇﹁銆愯处鍙疯鎯呫�戦〉闈腑椤堕儴鐨勬粴鍔ㄩ�氱煡
-- 鍙d护`鎮ㄧ殑鐢ㄦ埛ID`
-
-## 鐗堟潈淇℃伅
-
-uCharts濮嬬粓鍧氭寔寮�婧愶紝閬靛惊 [Apache Licence 2.0](https://www.apache.org/licenses/LICENSE-2.0.html) 寮�婧愬崗璁紝鎰忓懗鐫�鎮ㄦ棤闇�鏀粯浠讳綍璐圭敤锛屽嵆鍙皢uCharts搴旂敤鍒版偍鐨勪骇鍝佷腑銆�
-
-娉ㄦ剰锛氳繖骞朵笉鎰忓懗鐫�鎮ㄥ彲浠ュ皢uCharts搴旂敤鍒伴潪娉曠殑棰嗗煙锛屾瘮濡傛秹鍙婅祵鍗氾紝鏆村姏绛夋柟闈€�傚鍥犳浜х敓绾犵悍鎴栨硶寰嬮棶棰橈紝uCharts鐩稿叧鏂瑰強绉嬩簯绉戞妧涓嶆壙鎷呬换浣曡矗浠汇��
-
-## 鍚堜綔浼欎即
-
-[![DIY瀹樼綉](https://www.ucharts.cn/images/web/guide/links/diy-gw.png)](https://www.diygw.com/)
-[![HasChat](https://www.ucharts.cn/images/web/guide/links/haschat.png)](https://gitee.com/howcode/has-chat)
-[![uViewUI](https://www.ucharts.cn/images/web/guide/links/uView.png)](https://www.uviewui.com/)
-[![鍥鹃笩UI](https://www.ucharts.cn/images/web/guide/links/tuniao.png)](https://ext.dcloud.net.cn/plugin?id=7088)
-[![thorui](https://www.ucharts.cn/images/web/guide/links/thorui.png)](https://ext.dcloud.net.cn/publisher?id=202)
-[![FirstUI](https://www.ucharts.cn/images/web/guide/links/first.png)](https://www.firstui.cn/)
-[![nProUI](https://www.ucharts.cn/images/web/guide/links/nPro.png)](https://ext.dcloud.net.cn/plugin?id=5169)
-[![GraceUI](https://www.ucharts.cn/images/web/guide/links/grace.png)](https://www.graceui.com/)
-
-
-## 鏇存柊璁板綍
-
-璇﹁瀹樼綉鎸囧崡涓鏄庯紝[鐐瑰嚮姝ゅ鏌ョ湅](https://www.ucharts.cn/v2/#/guide/index?id=100)
-
-
-## 鐩稿叧閾炬帴
-- [uCharts瀹樼綉](https://www.ucharts.cn)
-- [DCloud鎻掍欢甯傚満鍦板潃](https://ext.dcloud.net.cn/plugin?id=271)
-- [uCharts鐮佷簯寮�婧愭墭绠″湴鍧�](https://gitee.com/uCharts/uCharts) [![star](https://gitee.com/uCharts/uCharts/badge/star.svg?theme=gvp)](https://gitee.com/uCharts/uCharts/stargazers)
-- [uCharts npm寮�婧愬湴鍧�](https://www.ucharts.cn)
-- [ECharts瀹樼綉](https://echarts.apache.org/zh/index.html)
-- [ECharts閰嶇疆鎵嬪唽](https://echarts.apache.org/zh/option.html)
-- [鍥捐〃缁勪欢鍦ㄩ」鐩腑鐨勫簲鐢� ReportPlus鏁版嵁鎶ヨ〃](https://www.ucharts.cn/v2/#/layout/info?id=1) 
\ No newline at end of file
diff --git a/src/components/qiun-data-charts/static/app-plus/echarts.min.js b/src/components/qiun-data-charts/static/app-plus/echarts.min.js
deleted file mode 100644
index 5396a03..0000000
--- a/src/components/qiun-data-charts/static/app-plus/echarts.min.js
+++ /dev/null
@@ -1,23 +0,0 @@
-
-/*
-* 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.
-* 鐗堟湰涓�4.2.1锛屼慨鏀逛竴澶勬簮鐮侊細this.el.hide() 鏀逛负 this.el?this.el.hide():true
-*/
-
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use strict";function e(t,e){"createCanvas"===t&&(nw=null),ew[t]=e}function i(t){if(null==t||"object"!=typeof t)return t;var e=t,n=Y_.call(t);if("[object Array]"===n){if(!O(t)){e=[];for(var o=0,a=t.length;o<a;o++)e[o]=i(t[o])}}else if(j_[n]){if(!O(t)){var r=t.constructor;if(t.constructor.from)e=r.from(t);else{e=new r(t.length);for(var o=0,a=t.length;o<a;o++)e[o]=i(t[o])}}}else if(!X_[n]&&!O(t)&&!M(t)){e={};for(var s in t)t.hasOwnProperty(s)&&(e[s]=i(t[s]))}return e}function n(t,e,o){if(!w(e)||!w(t))return o?i(e):t;for(var a in e)if(e.hasOwnProperty(a)){var r=t[a],s=e[a];!w(s)||!w(r)||y(s)||y(r)||M(s)||M(r)||b(s)||b(r)||O(s)||O(r)?!o&&a in t||(t[a]=i(e[a],!0)):n(r,s,o)}return t}function o(t,e){for(var i=t[0],o=1,a=t.length;o<a;o++)i=n(i,t[o],e);return i}function a(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function r(t,e,i){for(var n in e)e.hasOwnProperty(n)&&(i?null!=e[n]:null==t[n])&&(t[n]=e[n]);return t}function s(){return nw||(nw=iw().getContext("2d")),nw}function l(t,e){if(t){if(t.indexOf)return t.indexOf(e);for(var i=0,n=t.length;i<n;i++)if(t[i]===e)return i}return-1}function u(t,e){function i(){}var n=t.prototype;i.prototype=e.prototype,t.prototype=new i;for(var o in n)t.prototype[o]=n[o];t.prototype.constructor=t,t.superClass=e}function h(t,e,i){r(t="prototype"in t?t.prototype:t,e="prototype"in e?e.prototype:e,i)}function c(t){if(t)return"string"!=typeof t&&"number"==typeof t.length}function d(t,e,i){if(t&&e)if(t.forEach&&t.forEach===K_)t.forEach(e,i);else if(t.length===+t.length)for(var n=0,o=t.length;n<o;n++)e.call(i,t[n],n,t);else for(var a in t)t.hasOwnProperty(a)&&e.call(i,t[a],a,t)}function f(t,e,i){if(t&&e){if(t.map&&t.map===Q_)return t.map(e,i);for(var n=[],o=0,a=t.length;o<a;o++)n.push(e.call(i,t[o],o,t));return n}}function p(t,e,i,n){if(t&&e){if(t.reduce&&t.reduce===tw)return t.reduce(e,i,n);for(var o=0,a=t.length;o<a;o++)i=e.call(n,i,t[o],o,t);return i}}function g(t,e,i){if(t&&e){if(t.filter&&t.filter===$_)return t.filter(e,i);for(var n=[],o=0,a=t.length;o<a;o++)e.call(i,t[o],o,t)&&n.push(t[o]);return n}}function m(t,e){var i=J_.call(arguments,2);return function(){return t.apply(e,i.concat(J_.call(arguments)))}}function v(t){var e=J_.call(arguments,1);return function(){return t.apply(this,e.concat(J_.call(arguments)))}}function y(t){return"[object Array]"===Y_.call(t)}function x(t){return"function"==typeof t}function _(t){return"[object String]"===Y_.call(t)}function w(t){var e=typeof t;return"function"===e||!!t&&"object"===e}function b(t){return!!X_[Y_.call(t)]}function S(t){return!!j_[Y_.call(t)]}function M(t){return"object"==typeof t&&"number"==typeof t.nodeType&&"object"==typeof t.ownerDocument}function I(t){return t!==t}function T(t){for(var e=0,i=arguments.length;e<i;e++)if(null!=arguments[e])return arguments[e]}function A(t,e){return null!=t?t:e}function D(t,e,i){return null!=t?t:null!=e?e:i}function C(){return Function.call.apply(J_,arguments)}function L(t){if("number"==typeof t)return[t,t,t,t];var e=t.length;return 2===e?[t[0],t[1],t[0],t[1]]:3===e?[t[0],t[1],t[2],t[1]]:t}function k(t,e){if(!t)throw new Error(e)}function P(t){return null==t?null:"function"==typeof t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}function N(t){t[ow]=!0}function O(t){return t[ow]}function E(t){function e(t,e){i?n.set(t,e):n.set(e,t)}var i=y(t);this.data={};var n=this;t instanceof E?t.each(e):t&&d(t,e)}function R(t){return new E(t)}function z(t,e){for(var i=new t.constructor(t.length+e.length),n=0;n<t.length;n++)i[n]=t[n];var o=t.length;for(n=0;n<e.length;n++)i[n+o]=e[n];return i}function B(){}function V(t,e){var i=new rw(2);return null==t&&(t=0),null==e&&(e=0),i[0]=t,i[1]=e,i}function G(t,e){return t[0]=e[0],t[1]=e[1],t}function F(t){var e=new rw(2);return e[0]=t[0],e[1]=t[1],e}function W(t,e,i){return t[0]=e,t[1]=i,t}function H(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t}function Z(t,e,i,n){return t[0]=e[0]+i[0]*n,t[1]=e[1]+i[1]*n,t}function U(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t}function X(t){return Math.sqrt(j(t))}function j(t){return t[0]*t[0]+t[1]*t[1]}function Y(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t}function q(t,e){var i=X(e);return 0===i?(t[0]=0,t[1]=0):(t[0]=e[0]/i,t[1]=e[1]/i),t}function K(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))}function $(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}function J(t,e,i,n){return t[0]=e[0]+n*(i[0]-e[0]),t[1]=e[1]+n*(i[1]-e[1]),t}function Q(t,e,i){var n=e[0],o=e[1];return t[0]=i[0]*n+i[2]*o+i[4],t[1]=i[1]*n+i[3]*o+i[5],t}function tt(t,e,i){return t[0]=Math.min(e[0],i[0]),t[1]=Math.min(e[1],i[1]),t}function et(t,e,i){return t[0]=Math.max(e[0],i[0]),t[1]=Math.max(e[1],i[1]),t}function it(){this.on("mousedown",this._dragStart,this),this.on("mousemove",this._drag,this),this.on("mouseup",this._dragEnd,this),this.on("globalout",this._dragEnd,this)}function nt(t,e){return{target:t,topTarget:e&&e.topTarget}}function ot(t,e){var i=t._$eventProcessor;return null!=e&&i&&i.normalizeQuery&&(e=i.normalizeQuery(e)),e}function at(t,e,i,n,o,a){var r=t._$handlers;if("function"==typeof i&&(o=n,n=i,i=null),!n||!e)return t;i=ot(t,i),r[e]||(r[e]=[]);for(var s=0;s<r[e].length;s++)if(r[e][s].h===n)return t;var l={h:n,one:a,query:i,ctx:o||t,callAtLast:n.zrEventfulCallAtLast},u=r[e].length-1,h=r[e][u];return h&&h.callAtLast?r[e].splice(u,0,l):r[e].push(l),t}function rt(t){return t.getBoundingClientRect?t.getBoundingClientRect():{left:0,top:0}}function st(t,e,i,n){return i=i||{},n||!U_.canvasSupported?lt(t,e,i):U_.browser.firefox&&null!=e.layerX&&e.layerX!==e.offsetX?(i.zrX=e.layerX,i.zrY=e.layerY):null!=e.offsetX?(i.zrX=e.offsetX,i.zrY=e.offsetY):lt(t,e,i),i}function lt(t,e,i){var n=rt(t);i.zrX=e.clientX-n.left,i.zrY=e.clientY-n.top}function ut(t,e,i){if(null!=(e=e||window.event).zrX)return e;var n=e.type;if(n&&n.indexOf("touch")>=0){var o="touchend"!==n?e.targetTouches[0]:e.changedTouches[0];o&&st(t,o,e,i)}else st(t,e,e,i),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var a=e.button;return null==e.which&&void 0!==a&&gw.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function ht(t,e,i){pw?t.addEventListener(e,i):t.attachEvent("on"+e,i)}function ct(t,e,i){pw?t.removeEventListener(e,i):t.detachEvent("on"+e,i)}function dt(t){return 2===t.which||3===t.which}function ft(t){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1];return Math.sqrt(e*e+i*i)}function pt(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}function gt(t,e,i){return{type:t,event:i,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:i.zrX,offsetY:i.zrY,gestureEvent:i.gestureEvent,pinchX:i.pinchX,pinchY:i.pinchY,pinchScale:i.pinchScale,wheelDelta:i.zrDelta,zrByTouch:i.zrByTouch,which:i.which,stop:mt}}function mt(t){mw(this.event)}function vt(){}function yt(t,e,i){if(t[t.rectHover?"rectContain":"contain"](e,i)){for(var n,o=t;o;){if(o.clipPath&&!o.clipPath.contain(e,i))return!1;o.silent&&(n=!0),o=o.parent}return!n||xw}return!1}function xt(){var t=new bw(6);return _t(t),t}function _t(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function wt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function bt(t,e,i){var n=e[0]*i[0]+e[2]*i[1],o=e[1]*i[0]+e[3]*i[1],a=e[0]*i[2]+e[2]*i[3],r=e[1]*i[2]+e[3]*i[3],s=e[0]*i[4]+e[2]*i[5]+e[4],l=e[1]*i[4]+e[3]*i[5]+e[5];return t[0]=n,t[1]=o,t[2]=a,t[3]=r,t[4]=s,t[5]=l,t}function St(t,e,i){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+i[0],t[5]=e[5]+i[1],t}function Mt(t,e,i){var n=e[0],o=e[2],a=e[4],r=e[1],s=e[3],l=e[5],u=Math.sin(i),h=Math.cos(i);return t[0]=n*h+r*u,t[1]=-n*u+r*h,t[2]=o*h+s*u,t[3]=-o*u+h*s,t[4]=h*a+u*l,t[5]=h*l-u*a,t}function It(t,e,i){var n=i[0],o=i[1];return t[0]=e[0]*n,t[1]=e[1]*o,t[2]=e[2]*n,t[3]=e[3]*o,t[4]=e[4]*n,t[5]=e[5]*o,t}function Tt(t,e){var i=e[0],n=e[2],o=e[4],a=e[1],r=e[3],s=e[5],l=i*r-a*n;return l?(l=1/l,t[0]=r*l,t[1]=-a*l,t[2]=-n*l,t[3]=i*l,t[4]=(n*s-r*o)*l,t[5]=(a*o-i*s)*l,t):null}function At(t){var e=xt();return wt(e,t),e}function Dt(t){return t>Iw||t<-Iw}function Ct(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null!=t.loop&&t.loop,this.gap=t.gap||0,this.easing=t.easing||"Linear",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart,this._pausedTime=0,this._paused=!1}function Lt(t){return(t=Math.round(t))<0?0:t>255?255:t}function kt(t){return(t=Math.round(t))<0?0:t>360?360:t}function Pt(t){return t<0?0:t>1?1:t}function Nt(t){return Lt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100*255:parseInt(t,10))}function Ot(t){return Pt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100:parseFloat(t))}function Et(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}function Rt(t,e,i){return t+(e-t)*i}function zt(t,e,i,n,o){return t[0]=e,t[1]=i,t[2]=n,t[3]=o,t}function Bt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Vt(t,e){Vw&&Bt(Vw,e),Vw=Bw.put(t,Vw||e.slice())}function Gt(t,e){if(t){e=e||[];var i=Bw.get(t);if(i)return Bt(e,i);var n=(t+="").replace(/ /g,"").toLowerCase();if(n in zw)return Bt(e,zw[n]),Vt(t,e),e;if("#"!==n.charAt(0)){var o=n.indexOf("("),a=n.indexOf(")");if(-1!==o&&a+1===n.length){var r=n.substr(0,o),s=n.substr(o+1,a-(o+1)).split(","),l=1;switch(r){case"rgba":if(4!==s.length)return void zt(e,0,0,0,1);l=Ot(s.pop());case"rgb":return 3!==s.length?void zt(e,0,0,0,1):(zt(e,Nt(s[0]),Nt(s[1]),Nt(s[2]),l),Vt(t,e),e);case"hsla":return 4!==s.length?void zt(e,0,0,0,1):(s[3]=Ot(s[3]),Ft(s,e),Vt(t,e),e);case"hsl":return 3!==s.length?void zt(e,0,0,0,1):(Ft(s,e),Vt(t,e),e);default:return}}zt(e,0,0,0,1)}else{if(4===n.length)return(u=parseInt(n.substr(1),16))>=0&&u<=4095?(zt(e,(3840&u)>>4|(3840&u)>>8,240&u|(240&u)>>4,15&u|(15&u)<<4,1),Vt(t,e),e):void zt(e,0,0,0,1);if(7===n.length){var u=parseInt(n.substr(1),16);return u>=0&&u<=16777215?(zt(e,(16711680&u)>>16,(65280&u)>>8,255&u,1),Vt(t,e),e):void zt(e,0,0,0,1)}}}}function Ft(t,e){var i=(parseFloat(t[0])%360+360)%360/360,n=Ot(t[1]),o=Ot(t[2]),a=o<=.5?o*(n+1):o+n-o*n,r=2*o-a;return e=e||[],zt(e,Lt(255*Et(r,a,i+1/3)),Lt(255*Et(r,a,i)),Lt(255*Et(r,a,i-1/3)),1),4===t.length&&(e[3]=t[3]),e}function Wt(t){if(t){var e,i,n=t[0]/255,o=t[1]/255,a=t[2]/255,r=Math.min(n,o,a),s=Math.max(n,o,a),l=s-r,u=(s+r)/2;if(0===l)e=0,i=0;else{i=u<.5?l/(s+r):l/(2-s-r);var h=((s-n)/6+l/2)/l,c=((s-o)/6+l/2)/l,d=((s-a)/6+l/2)/l;n===s?e=d-c:o===s?e=1/3+h-d:a===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var f=[360*e,i,u];return null!=t[3]&&f.push(t[3]),f}}function Ht(t,e){var i=Gt(t);if(i){for(var n=0;n<3;n++)i[n]=e<0?i[n]*(1-e)|0:(255-i[n])*e+i[n]|0,i[n]>255?i[n]=255:t[n]<0&&(i[n]=0);return qt(i,4===i.length?"rgba":"rgb")}}function Zt(t){var e=Gt(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)}function Ut(t,e,i){if(e&&e.length&&t>=0&&t<=1){i=i||[];var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=e[o],s=e[a],l=n-o;return i[0]=Lt(Rt(r[0],s[0],l)),i[1]=Lt(Rt(r[1],s[1],l)),i[2]=Lt(Rt(r[2],s[2],l)),i[3]=Pt(Rt(r[3],s[3],l)),i}}function Xt(t,e,i){if(e&&e.length&&t>=0&&t<=1){var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=Gt(e[o]),s=Gt(e[a]),l=n-o,u=qt([Lt(Rt(r[0],s[0],l)),Lt(Rt(r[1],s[1],l)),Lt(Rt(r[2],s[2],l)),Pt(Rt(r[3],s[3],l))],"rgba");return i?{color:u,leftIndex:o,rightIndex:a,value:n}:u}}function jt(t,e,i,n){if(t=Gt(t))return t=Wt(t),null!=e&&(t[0]=kt(e)),null!=i&&(t[1]=Ot(i)),null!=n&&(t[2]=Ot(n)),qt(Ft(t),"rgba")}function Yt(t,e){if((t=Gt(t))&&null!=e)return t[3]=Pt(e),qt(t,"rgba")}function qt(t,e){if(t&&t.length){var i=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(i+=","+t[3]),e+"("+i+")"}}function Kt(t,e){return t[e]}function $t(t,e,i){t[e]=i}function Jt(t,e,i){return(e-t)*i+t}function Qt(t,e,i){return i>.5?e:t}function te(t,e,i,n,o){var a=t.length;if(1===o)for(s=0;s<a;s++)n[s]=Jt(t[s],e[s],i);else for(var r=a&&t[0].length,s=0;s<a;s++)for(var l=0;l<r;l++)n[s][l]=Jt(t[s][l],e[s][l],i)}function ee(t,e,i){var n=t.length,o=e.length;if(n!==o)if(n>o)t.length=o;else for(r=n;r<o;r++)t.push(1===i?e[r]:Hw.call(e[r]));for(var a=t[0]&&t[0].length,r=0;r<t.length;r++)if(1===i)isNaN(t[r])&&(t[r]=e[r]);else for(var s=0;s<a;s++)isNaN(t[r][s])&&(t[r][s]=e[r][s])}function ie(t,e,i){if(t===e)return!0;var n=t.length;if(n!==e.length)return!1;if(1===i){for(a=0;a<n;a++)if(t[a]!==e[a])return!1}else for(var o=t[0].length,a=0;a<n;a++)for(var r=0;r<o;r++)if(t[a][r]!==e[a][r])return!1;return!0}function ne(t,e,i,n,o,a,r,s,l){var u=t.length;if(1===l)for(c=0;c<u;c++)s[c]=oe(t[c],e[c],i[c],n[c],o,a,r);else for(var h=t[0].length,c=0;c<u;c++)for(var d=0;d<h;d++)s[c][d]=oe(t[c][d],e[c][d],i[c][d],n[c][d],o,a,r)}function oe(t,e,i,n,o,a,r){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)*r+(-3*(e-i)-2*s-l)*a+s*o+e}function ae(t){if(c(t)){var e=t.length;if(c(t[0])){for(var i=[],n=0;n<e;n++)i.push(Hw.call(t[n]));return i}return Hw.call(t)}return t}function re(t){return t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.floor(t[2]),"rgba("+t.join(",")+")"}function se(t){var e=t[t.length-1].value;return c(e&&e[0])?2:1}function le(t,e,i,n,o,a){var r=t._getter,s=t._setter,l="spline"===e,u=n.length;if(u){var h,d=c(n[0].value),f=!1,p=!1,g=d?se(n):0;n.sort(function(t,e){return t.time-e.time}),h=n[u-1].time;for(var m=[],v=[],y=n[0].value,x=!0,_=0;_<u;_++){m.push(n[_].time/h);var w=n[_].value;if(d&&ie(w,y,g)||!d&&w===y||(x=!1),y=w,"string"==typeof w){var b=Gt(w);b?(w=b,f=!0):p=!0}v.push(w)}if(a||!x){for(var S=v[u-1],_=0;_<u-1;_++)d?ee(v[_],S,g):!isNaN(v[_])||isNaN(S)||p||f||(v[_]=S);d&&ee(r(t._target,o),S,g);var M,I,T,A,D,C,L=0,k=0;if(f)var P=[0,0,0,0];var N=new Ct({target:t._target,life:h,loop:t._loop,delay:t._delay,onframe:function(t,e){var i;if(e<0)i=0;else if(e<k){for(i=M=Math.min(L+1,u-1);i>=0&&!(m[i]<=e);i--);i=Math.min(i,u-2)}else{for(i=L;i<u&&!(m[i]>e);i++);i=Math.min(i-1,u-2)}L=i,k=e;var n=m[i+1]-m[i];if(0!==n)if(I=(e-m[i])/n,l)if(A=v[i],T=v[0===i?i:i-1],D=v[i>u-2?u-1:i+1],C=v[i>u-3?u-1:i+2],d)ne(T,A,D,C,I,I*I,I*I*I,r(t,o),g);else{if(f)a=ne(T,A,D,C,I,I*I,I*I*I,P,1),a=re(P);else{if(p)return Qt(A,D,I);a=oe(T,A,D,C,I,I*I,I*I*I)}s(t,o,a)}else if(d)te(v[i],v[i+1],I,r(t,o),g);else{var a;if(f)te(v[i],v[i+1],I,P,1),a=re(P);else{if(p)return Qt(v[i],v[i+1],I);a=Jt(v[i],v[i+1],I)}s(t,o,a)}},ondestroy:i});return e&&"spline"!==e&&(N.easing=e),N}}}function ue(t,e,i,n,o,a,r,s){_(n)?(a=o,o=n,n=0):x(o)?(a=o,o="linear",n=0):x(n)?(a=n,n=0):x(i)?(a=i,i=500):i||(i=500),t.stopAnimation(),he(t,"",t,e,i,n,s);var l=t.animators.slice(),u=l.length;u||a&&a();for(var h=0;h<l.length;h++)l[h].done(function(){--u||a&&a()}).start(o,r)}function he(t,e,i,n,o,a,r){var s={},l=0;for(var u in n)n.hasOwnProperty(u)&&(null!=i[u]?w(n[u])&&!c(n[u])?he(t,e?e+"."+u:u,i[u],n[u],o,a,r):(r?(s[u]=i[u],ce(t,e,u,n[u])):s[u]=n[u],l++):null==n[u]||r||ce(t,e,u,n[u]));l>0&&t.animate(e,!1).when(null==o?500:o,s).delay(a||0)}function ce(t,e,i,n){if(e){var o={};o[e]={},o[e][i]=n,t.attr(o)}else t.attr(i,n)}function de(t,e,i,n){i<0&&(t+=i,i=-i),n<0&&(e+=n,n=-n),this.x=t,this.y=e,this.width=i,this.height=n}function fe(t){for(var e=0;t>=eb;)e|=1&t,t>>=1;return t+e}function pe(t,e,i,n){var o=e+1;if(o===i)return 1;if(n(t[o++],t[e])<0){for(;o<i&&n(t[o],t[o-1])<0;)o++;ge(t,e,o)}else for(;o<i&&n(t[o],t[o-1])>=0;)o++;return o-e}function ge(t,e,i){for(i--;e<i;){var n=t[e];t[e++]=t[i],t[i--]=n}}function me(t,e,i,n,o){for(n===e&&n++;n<i;n++){for(var a,r=t[n],s=e,l=n;s<l;)o(r,t[a=s+l>>>1])<0?l=a:s=a+1;var u=n-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=r}}function ve(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])>0){for(s=n-o;l<s&&a(t,e[i+o+l])>0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),r+=o,l+=o}else{for(s=o+1;l<s&&a(t,e[i+o-l])<=0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s);var u=r;r=o-l,l=o-u}for(r++;r<l;){var h=r+(l-r>>>1);a(t,e[i+h])>0?r=h+1:l=h}return l}function ye(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])<0){for(s=o+1;l<s&&a(t,e[i+o-l])<0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s);var u=r;r=o-l,l=o-u}else{for(s=n-o;l<s&&a(t,e[i+o+l])>=0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),r+=o,l+=o}for(r++;r<l;){var h=r+(l-r>>>1);a(t,e[i+h])<0?l=h:r=h+1}return l}function xe(t,e){function i(i){var s=a[i],u=r[i],h=a[i+1],c=r[i+1];r[i]=u+c,i===l-3&&(a[i+1]=a[i+2],r[i+1]=r[i+2]),l--;var d=ye(t[h],t,s,u,0,e);s+=d,0!==(u-=d)&&0!==(c=ve(t[s+u-1],t,h,c,c-1,e))&&(u<=c?n(s,u,h,c):o(s,u,h,c))}function n(i,n,o,a){var r=0;for(r=0;r<n;r++)u[r]=t[i+r];var l=0,h=o,c=i;if(t[c++]=t[h++],0!=--a)if(1!==n){for(var d,f,p,g=s;;){d=0,f=0,p=!1;do{if(e(t[h],u[l])<0){if(t[c++]=t[h++],f++,d=0,0==--a){p=!0;break}}else if(t[c++]=u[l++],d++,f=0,1==--n){p=!0;break}}while((d|f)<g);if(p)break;do{if(0!==(d=ye(t[h],u,l,n,0,e))){for(r=0;r<d;r++)t[c+r]=u[l+r];if(c+=d,l+=d,(n-=d)<=1){p=!0;break}}if(t[c++]=t[h++],0==--a){p=!0;break}if(0!==(f=ve(u[l],t,h,a,0,e))){for(r=0;r<f;r++)t[c+r]=t[h+r];if(c+=f,h+=f,0===(a-=f)){p=!0;break}}if(t[c++]=u[l++],1==--n){p=!0;break}g--}while(d>=ib||f>=ib);if(p)break;g<0&&(g=0),g+=2}if((s=g)<1&&(s=1),1===n){for(r=0;r<a;r++)t[c+r]=t[h+r];t[c+a]=u[l]}else{if(0===n)throw new Error;for(r=0;r<n;r++)t[c+r]=u[l+r]}}else{for(r=0;r<a;r++)t[c+r]=t[h+r];t[c+a]=u[l]}else for(r=0;r<n;r++)t[c+r]=u[l+r]}function o(i,n,o,a){var r=0;for(r=0;r<a;r++)u[r]=t[o+r];var l=i+n-1,h=a-1,c=o+a-1,d=0,f=0;if(t[c--]=t[l--],0!=--n)if(1!==a){for(var p=s;;){var g=0,m=0,v=!1;do{if(e(u[h],t[l])<0){if(t[c--]=t[l--],g++,m=0,0==--n){v=!0;break}}else if(t[c--]=u[h--],m++,g=0,1==--a){v=!0;break}}while((g|m)<p);if(v)break;do{if(0!=(g=n-ye(u[h],t,i,n,n-1,e))){for(n-=g,f=(c-=g)+1,d=(l-=g)+1,r=g-1;r>=0;r--)t[f+r]=t[d+r];if(0===n){v=!0;break}}if(t[c--]=u[h--],1==--a){v=!0;break}if(0!=(m=a-ve(t[l],u,0,a,a-1,e))){for(a-=m,f=(c-=m)+1,d=(h-=m)+1,r=0;r<m;r++)t[f+r]=u[d+r];if(a<=1){v=!0;break}}if(t[c--]=t[l--],0==--n){v=!0;break}p--}while(g>=ib||m>=ib);if(v)break;p<0&&(p=0),p+=2}if((s=p)<1&&(s=1),1===a){for(f=(c-=n)+1,d=(l-=n)+1,r=n-1;r>=0;r--)t[f+r]=t[d+r];t[c]=u[h]}else{if(0===a)throw new Error;for(d=c-(a-1),r=0;r<a;r++)t[d+r]=u[r]}}else{for(f=(c-=n)+1,d=(l-=n)+1,r=n-1;r>=0;r--)t[f+r]=t[d+r];t[c]=u[h]}else for(d=c-(a-1),r=0;r<a;r++)t[d+r]=u[r]}var a,r,s=ib,l=0,u=[];a=[],r=[],this.mergeRuns=function(){for(;l>1;){var t=l-2;if(t>=1&&r[t-1]<=r[t]+r[t+1]||t>=2&&r[t-2]<=r[t]+r[t-1])r[t-1]<r[t+1]&&t--;else if(r[t]>r[t+1])break;i(t)}},this.forceMergeRuns=function(){for(;l>1;){var t=l-2;t>0&&r[t-1]<r[t+1]&&t--,i(t)}},this.pushRun=function(t,e){a[l]=t,r[l]=e,l+=1}}function _e(t,e,i,n){i||(i=0),n||(n=t.length);var o=n-i;if(!(o<2)){var a=0;if(o<eb)return a=pe(t,i,n,e),void me(t,i,n,i+a,e);var r=new xe(t,e),s=fe(o);do{if((a=pe(t,i,n,e))<s){var l=o;l>s&&(l=s),me(t,i,i+l,i+a,e),a=l}r.pushRun(i,a),r.mergeRuns(),o-=a,i+=a}while(0!==o);r.forceMergeRuns()}}function we(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}function be(t,e,i){var n=null==e.x?0:e.x,o=null==e.x2?1:e.x2,a=null==e.y?0:e.y,r=null==e.y2?0:e.y2;return e.global||(n=n*i.width+i.x,o=o*i.width+i.x,a=a*i.height+i.y,r=r*i.height+i.y),n=isNaN(n)?0:n,o=isNaN(o)?1:o,a=isNaN(a)?0:a,r=isNaN(r)?0:r,t.createLinearGradient(n,a,o,r)}function Se(t,e,i){var n=i.width,o=i.height,a=Math.min(n,o),r=null==e.x?.5:e.x,s=null==e.y?.5:e.y,l=null==e.r?.5:e.r;return e.global||(r=r*n+i.x,s=s*o+i.y,l*=a),t.createRadialGradient(r,s,0,r,s,l)}function Me(){return!1}function Ie(t,e,i){var n=iw(),o=e.getWidth(),a=e.getHeight(),r=n.style;return r&&(r.position="absolute",r.left=0,r.top=0,r.width=o+"px",r.height=a+"px",n.setAttribute("data-zr-dom-id",t)),n.width=o*i,n.height=a*i,n}function Te(t){if("string"==typeof t){var e=mb.get(t);return e&&e.image}return t}function Ae(t,e,i,n,o){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!i)return e;var a=mb.get(t),r={hostEl:i,cb:n,cbPayload:o};return a?!Ce(e=a.image)&&a.pending.push(r):((e=new Image).onload=e.onerror=De,mb.put(t,e.__cachedImgObj={image:e,pending:[r]}),e.src=e.__zrImageSrc=t),e}return t}return e}function De(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e<t.pending.length;e++){var i=t.pending[e],n=i.cb;n&&n(this,i.cbPayload),i.hostEl.dirty()}t.pending.length=0}function Ce(t){return t&&t.width&&t.height}function Le(t,e){var i=t+":"+(e=e||wb);if(vb[i])return vb[i];for(var n=(t+"").split("\n"),o=0,a=0,r=n.length;a<r;a++)o=Math.max(We(n[a],e).width,o);return yb>xb&&(yb=0,vb={}),yb++,vb[i]=o,o}function ke(t,e,i,n,o,a,r,s){return r?Ne(t,e,i,n,o,a,r,s):Pe(t,e,i,n,o,a,s)}function Pe(t,e,i,n,o,a,r){var s=He(t,e,o,a,r),l=Le(t,e);o&&(l+=o[1]+o[3]);var u=s.outerHeight,h=new de(Oe(0,l,i),Ee(0,u,n),l,u);return h.lineHeight=s.lineHeight,h}function Ne(t,e,i,n,o,a,r,s){var l=Ze(t,{rich:r,truncate:s,font:e,textAlign:i,textPadding:o,textLineHeight:a}),u=l.outerWidth,h=l.outerHeight;return new de(Oe(0,u,i),Ee(0,h,n),u,h)}function Oe(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function Ee(t,e,i){return"middle"===i?t-=e/2:"bottom"===i&&(t-=e),t}function Re(t,e,i){var n=e.x,o=e.y,a=e.height,r=e.width,s=a/2,l="left",u="top";switch(t){case"left":n-=i,o+=s,l="right",u="middle";break;case"right":n+=i+r,o+=s,u="middle";break;case"top":n+=r/2,o-=i,l="center",u="bottom";break;case"bottom":n+=r/2,o+=a+i,l="center";break;case"inside":n+=r/2,o+=s,l="center",u="middle";break;case"insideLeft":n+=i,o+=s,u="middle";break;case"insideRight":n+=r-i,o+=s,l="right",u="middle";break;case"insideTop":n+=r/2,o+=i,l="center";break;case"insideBottom":n+=r/2,o+=a-i,l="center",u="bottom";break;case"insideTopLeft":n+=i,o+=i;break;case"insideTopRight":n+=r-i,o+=i,l="right";break;case"insideBottomLeft":n+=i,o+=a-i,u="bottom";break;case"insideBottomRight":n+=r-i,o+=a-i,l="right",u="bottom"}return{x:n,y:o,textAlign:l,textVerticalAlign:u}}function ze(t,e,i,n,o){if(!e)return"";var a=(t+"").split("\n");o=Be(e,i,n,o);for(var r=0,s=a.length;r<s;r++)a[r]=Ve(a[r],o);return a.join("\n")}function Be(t,e,i,n){(n=a({},n)).font=e;var i=A(i,"...");n.maxIterations=A(n.maxIterations,2);var o=n.minChar=A(n.minChar,0);n.cnCharWidth=Le("鍥�",e);var r=n.ascCharWidth=Le("a",e);n.placeholder=A(n.placeholder,"");for(var s=t=Math.max(0,t-1),l=0;l<o&&s>=r;l++)s-=r;var u=Le(i,e);return u>s&&(i="",u=0),s=t-u,n.ellipsis=i,n.ellipsisWidth=u,n.contentWidth=s,n.containerWidth=t,n}function Ve(t,e){var i=e.containerWidth,n=e.font,o=e.contentWidth;if(!i)return"";var a=Le(t,n);if(a<=i)return t;for(var r=0;;r++){if(a<=o||r>=e.maxIterations){t+=e.ellipsis;break}var s=0===r?Ge(t,o,e.ascCharWidth,e.cnCharWidth):a>0?Math.floor(t.length*o/a):0;a=Le(t=t.substr(0,s),n)}return""===t&&(t=e.placeholder),t}function Ge(t,e,i,n){for(var o=0,a=0,r=t.length;a<r&&o<e;a++){var s=t.charCodeAt(a);o+=0<=s&&s<=127?i:n}return a}function Fe(t){return Le("鍥�",t)}function We(t,e){return bb.measureText(t,e)}function He(t,e,i,n,o){null!=t&&(t+="");var a=A(n,Fe(e)),r=t?t.split("\n"):[],s=r.length*a,l=s;if(i&&(l+=i[0]+i[2]),t&&o){var u=o.outerHeight,h=o.outerWidth;if(null!=u&&l>u)t="",r=[];else if(null!=h)for(var c=Be(h-(i?i[1]+i[3]:0),e,o.ellipsis,{minChar:o.minChar,placeholder:o.placeholder}),d=0,f=r.length;d<f;d++)r[d]=Ve(r[d],c)}return{lines:r,height:s,outerHeight:l,lineHeight:a}}function Ze(t,e){var i={lines:[],width:0,height:0};if(null!=t&&(t+=""),!t)return i;for(var n,o=_b.lastIndex=0;null!=(n=_b.exec(t));){var a=n.index;a>o&&Ue(i,t.substring(o,a)),Ue(i,n[2],n[1]),o=_b.lastIndex}o<t.length&&Ue(i,t.substring(o,t.length));var r=i.lines,s=0,l=0,u=[],h=e.textPadding,c=e.truncate,d=c&&c.outerWidth,f=c&&c.outerHeight;h&&(null!=d&&(d-=h[1]+h[3]),null!=f&&(f-=h[0]+h[2]));for(L=0;L<r.length;L++){for(var p=r[L],g=0,m=0,v=0;v<p.tokens.length;v++){var y=(k=p.tokens[v]).styleName&&e.rich[k.styleName]||{},x=k.textPadding=y.textPadding,_=k.font=y.font||e.font,w=k.textHeight=A(y.textHeight,Fe(_));if(x&&(w+=x[0]+x[2]),k.height=w,k.lineHeight=D(y.textLineHeight,e.textLineHeight,w),k.textAlign=y&&y.textAlign||e.textAlign,k.textVerticalAlign=y&&y.textVerticalAlign||"middle",null!=f&&s+k.lineHeight>f)return{lines:[],width:0,height:0};k.textWidth=Le(k.text,_);var b=y.textWidth,S=null==b||"auto"===b;if("string"==typeof b&&"%"===b.charAt(b.length-1))k.percentWidth=b,u.push(k),b=0;else{if(S){b=k.textWidth;var M=y.textBackgroundColor,I=M&&M.image;I&&Ce(I=Te(I))&&(b=Math.max(b,I.width*w/I.height))}var T=x?x[1]+x[3]:0;b+=T;var C=null!=d?d-m:null;null!=C&&C<b&&(!S||C<T?(k.text="",k.textWidth=b=0):(k.text=ze(k.text,C-T,_,c.ellipsis,{minChar:c.minChar}),k.textWidth=Le(k.text,_),b=k.textWidth+T))}m+=k.width=b,y&&(g=Math.max(g,k.lineHeight))}p.width=m,p.lineHeight=g,s+=g,l=Math.max(l,m)}i.outerWidth=i.width=A(e.textWidth,l),i.outerHeight=i.height=A(e.textHeight,s),h&&(i.outerWidth+=h[1]+h[3],i.outerHeight+=h[0]+h[2]);for(var L=0;L<u.length;L++){var k=u[L],P=k.percentWidth;k.width=parseInt(P,10)/100*l}return i}function Ue(t,e,i){for(var n=""===e,o=e.split("\n"),a=t.lines,r=0;r<o.length;r++){var s=o[r],l={styleName:i,text:s,isLineHolder:!s&&!n};if(r)a.push({tokens:[l]});else{var u=(a[a.length-1]||(a[0]={tokens:[]})).tokens,h=u.length;1===h&&u[0].isLineHolder?u[0]=l:(s||!h||n)&&u.push(l)}}}function Xe(t){var e=(t.fontSize||t.fontFamily)&&[t.fontStyle,t.fontWeight,(t.fontSize||12)+"px",t.fontFamily||"sans-serif"].join(" ");return e&&P(e)||t.textFont||t.font}function je(t,e){var i,n,o,a,r=e.x,s=e.y,l=e.width,u=e.height,h=e.r;l<0&&(r+=l,l=-l),u<0&&(s+=u,u=-u),"number"==typeof h?i=n=o=a=h:h instanceof Array?1===h.length?i=n=o=a=h[0]:2===h.length?(i=o=h[0],n=a=h[1]):3===h.length?(i=h[0],n=a=h[1],o=h[2]):(i=h[0],n=h[1],o=h[2],a=h[3]):i=n=o=a=0;var c;i+n>l&&(i*=l/(c=i+n),n*=l/c),o+a>l&&(o*=l/(c=o+a),a*=l/c),n+o>u&&(n*=u/(c=n+o),o*=u/c),i+a>u&&(i*=u/(c=i+a),a*=u/c),t.moveTo(r+i,s),t.lineTo(r+l-n,s),0!==n&&t.arc(r+l-n,s+n,n,-Math.PI/2,0),t.lineTo(r+l,s+u-o),0!==o&&t.arc(r+l-o,s+u-o,o,0,Math.PI/2),t.lineTo(r+a,s+u),0!==a&&t.arc(r+a,s+u-a,a,Math.PI/2,Math.PI),t.lineTo(r,s+i),0!==i&&t.arc(r+i,s+i,i,Math.PI,1.5*Math.PI)}function Ye(t){return qe(t),d(t.rich,qe),t}function qe(t){if(t){t.font=Xe(t);var e=t.textAlign;"middle"===e&&(e="center"),t.textAlign=null==e||Mb[e]?e:"left";var i=t.textVerticalAlign||t.textBaseline;"center"===i&&(i="middle"),t.textVerticalAlign=null==i||Ib[i]?i:"top",t.textPadding&&(t.textPadding=L(t.textPadding))}}function Ke(t,e,i,n,o,a){n.rich?Je(t,e,i,n,o,a):$e(t,e,i,n,o,a)}function $e(t,e,i,n,o,a){var r,s=ii(n),l=!1,u=e.__attrCachedBy===rb.PLAIN_TEXT;a!==sb?(a&&(r=a.style,l=!s&&u&&r),e.__attrCachedBy=s?rb.NONE:rb.PLAIN_TEXT):u&&(e.__attrCachedBy=rb.NONE);var h=n.font||Sb;l&&h===(r.font||Sb)||(e.font=h);var c=t.__computedFont;t.__styleFont!==h&&(t.__styleFont=h,c=t.__computedFont=e.font);var d=n.textPadding,f=n.textLineHeight,p=t.__textCotentBlock;p&&!t.__dirtyText||(p=t.__textCotentBlock=He(i,c,d,f,n.truncate));var g=p.outerHeight,m=p.lines,v=p.lineHeight,y=ai(g,n,o),x=y.baseX,_=y.baseY,w=y.textAlign||"left",b=y.textVerticalAlign;ti(e,n,o,x,_);var S=Ee(_,g,b),M=x,I=S;if(s||d){var T=Le(i,c);d&&(T+=d[1]+d[3]);var A=Oe(x,T,w);s&&ni(t,e,n,A,S,T,g),d&&(M=hi(x,w,d),I+=d[0])}e.textAlign=w,e.textBaseline="middle",e.globalAlpha=n.opacity||1;for(B=0;B<Tb.length;B++){var D=Tb[B],C=D[0],L=D[1],k=n[C];l&&k===r[C]||(e[L]=ab(e,L,k||D[2]))}I+=v/2;var P=n.textStrokeWidth,N=l?r.textStrokeWidth:null,O=!l||P!==N,E=!l||O||n.textStroke!==r.textStroke,R=si(n.textStroke,P),z=li(n.textFill);if(R&&(O&&(e.lineWidth=P),E&&(e.strokeStyle=R)),z&&(l&&n.textFill===r.textFill||(e.fillStyle=z)),1===m.length)R&&e.strokeText(m[0],M,I),z&&e.fillText(m[0],M,I);else for(var B=0;B<m.length;B++)R&&e.strokeText(m[B],M,I),z&&e.fillText(m[B],M,I),I+=v}function Je(t,e,i,n,o,a){a!==sb&&(e.__attrCachedBy=rb.NONE);var r=t.__textCotentBlock;r&&!t.__dirtyText||(r=t.__textCotentBlock=Ze(i,n)),Qe(t,e,r,n,o)}function Qe(t,e,i,n,o){var a=i.width,r=i.outerWidth,s=i.outerHeight,l=n.textPadding,u=ai(s,n,o),h=u.baseX,c=u.baseY,d=u.textAlign,f=u.textVerticalAlign;ti(e,n,o,h,c);var p=Oe(h,r,d),g=Ee(c,s,f),m=p,v=g;l&&(m+=l[3],v+=l[0]);var y=m+a;ii(n)&&ni(t,e,n,p,g,r,s);for(var x=0;x<i.lines.length;x++){for(var _,w=i.lines[x],b=w.tokens,S=b.length,M=w.lineHeight,I=w.width,T=0,A=m,D=y,C=S-1;T<S&&(!(_=b[T]).textAlign||"left"===_.textAlign);)ei(t,e,_,n,M,v,A,"left"),I-=_.width,A+=_.width,T++;for(;C>=0&&"right"===(_=b[C]).textAlign;)ei(t,e,_,n,M,v,D,"right"),I-=_.width,D-=_.width,C--;for(A+=(a-(A-m)-(y-D)-I)/2;T<=C;)ei(t,e,_=b[T],n,M,v,A+_.width/2,"center"),A+=_.width,T++;v+=M}}function ti(t,e,i,n,o){if(i&&e.textRotation){var a=e.textOrigin;"center"===a?(n=i.width/2+i.x,o=i.height/2+i.y):a&&(n=a[0]+i.x,o=a[1]+i.y),t.translate(n,o),t.rotate(-e.textRotation),t.translate(-n,-o)}}function ei(t,e,i,n,o,a,r,s){var l=n.rich[i.styleName]||{};l.text=i.text;var u=i.textVerticalAlign,h=a+o/2;"top"===u?h=a+i.height/2:"bottom"===u&&(h=a+o-i.height/2),!i.isLineHolder&&ii(l)&&ni(t,e,l,"right"===s?r-i.width:"center"===s?r-i.width/2:r,h-i.height/2,i.width,i.height);var c=i.textPadding;c&&(r=hi(r,s,c),h-=i.height/2-c[2]-i.textHeight/2),ri(e,"shadowBlur",D(l.textShadowBlur,n.textShadowBlur,0)),ri(e,"shadowColor",l.textShadowColor||n.textShadowColor||"transparent"),ri(e,"shadowOffsetX",D(l.textShadowOffsetX,n.textShadowOffsetX,0)),ri(e,"shadowOffsetY",D(l.textShadowOffsetY,n.textShadowOffsetY,0)),ri(e,"textAlign",s),ri(e,"textBaseline","middle"),ri(e,"font",i.font||Sb);var d=si(l.textStroke||n.textStroke,p),f=li(l.textFill||n.textFill),p=A(l.textStrokeWidth,n.textStrokeWidth);d&&(ri(e,"lineWidth",p),ri(e,"strokeStyle",d),e.strokeText(i.text,r,h)),f&&(ri(e,"fillStyle",f),e.fillText(i.text,r,h))}function ii(t){return!!(t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor)}function ni(t,e,i,n,o,a,r){var s=i.textBackgroundColor,l=i.textBorderWidth,u=i.textBorderColor,h=_(s);if(ri(e,"shadowBlur",i.textBoxShadowBlur||0),ri(e,"shadowColor",i.textBoxShadowColor||"transparent"),ri(e,"shadowOffsetX",i.textBoxShadowOffsetX||0),ri(e,"shadowOffsetY",i.textBoxShadowOffsetY||0),h||l&&u){e.beginPath();var c=i.textBorderRadius;c?je(e,{x:n,y:o,width:a,height:r,r:c}):e.rect(n,o,a,r),e.closePath()}if(h)if(ri(e,"fillStyle",s),null!=i.fillOpacity){f=e.globalAlpha;e.globalAlpha=i.fillOpacity*i.opacity,e.fill(),e.globalAlpha=f}else e.fill();else if(w(s)){var d=s.image;(d=Ae(d,null,t,oi,s))&&Ce(d)&&e.drawImage(d,n,o,a,r)}if(l&&u)if(ri(e,"lineWidth",l),ri(e,"strokeStyle",u),null!=i.strokeOpacity){var f=e.globalAlpha;e.globalAlpha=i.strokeOpacity*i.opacity,e.stroke(),e.globalAlpha=f}else e.stroke()}function oi(t,e){e.image=t}function ai(t,e,i){var n=e.x||0,o=e.y||0,a=e.textAlign,r=e.textVerticalAlign;if(i){var s=e.textPosition;if(s instanceof Array)n=i.x+ui(s[0],i.width),o=i.y+ui(s[1],i.height);else{var l=Re(s,i,e.textDistance);n=l.x,o=l.y,a=a||l.textAlign,r=r||l.textVerticalAlign}var u=e.textOffset;u&&(n+=u[0],o+=u[1])}return{baseX:n,baseY:o,textAlign:a,textVerticalAlign:r}}function ri(t,e,i){return t[e]=ab(t,e,i),t[e]}function si(t,e){return null==t||e<=0||"transparent"===t||"none"===t?null:t.image||t.colorStops?"#000":t}function li(t){return null==t||"none"===t?null:t.image||t.colorStops?"#000":t}function ui(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t}function hi(t,e,i){return"right"===e?t-i[1]:"center"===e?t+i[3]/2-i[1]/2:t+i[3]}function ci(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor||e.textPadding)}function di(t){t=t||{},Kw.call(this,t);for(var e in t)t.hasOwnProperty(e)&&"style"!==e&&(this[e]=t[e]);this.style=new ub(t.style,this),this._rect=null,this.__clipPaths=[]}function fi(t){di.call(this,t)}function pi(t){return parseInt(t,10)}function gi(t){return!!t&&(!!t.__builtin__||"function"==typeof t.resize&&"function"==typeof t.refresh)}function mi(t,e,i){return Cb.copy(t.getBoundingRect()),t.transform&&Cb.applyTransform(t.transform),Lb.width=e,Lb.height=i,!Cb.intersect(Lb)}function vi(t,e){if(t===e)return!1;if(!t||!e||t.length!==e.length)return!0;for(var i=0;i<t.length;i++)if(t[i]!==e[i])return!0}function yi(t,e){for(var i=0;i<t.length;i++){var n=t[i];n.setTransform(e),e.beginPath(),n.buildPath(e,n.shape),e.clip(),n.restoreTransform(e)}}function xi(t,e){var i=document.createElement("div");return i.style.cssText=["position:relative","overflow:hidden","width:"+t+"px","height:"+e+"px","padding:0","margin:0","border-width:0"].join(";")+";",i}function _i(t){return"mousewheel"===t&&U_.browser.firefox?"DOMMouseScroll":t}function wi(t){t._touching=!0,clearTimeout(t._touchTimer),t._touchTimer=setTimeout(function(){t._touching=!1},700)}function bi(t){var e=t.pointerType;return"pen"===e||"touch"===e}function Si(t){function e(t,e){return function(){if(!e._touching)return t.apply(e,arguments)}}d(Ob,function(e){t._handlers[e]=m(zb[e],t)}),d(Rb,function(e){t._handlers[e]=m(zb[e],t)}),d(Nb,function(i){t._handlers[i]=e(zb[i],t)})}function Mi(t){function e(e,i){d(e,function(e){ht(t,_i(e),i._handlers[e])},i)}fw.call(this),this.dom=t,this._touching=!1,this._touchTimer,this._handlers={},Si(this),U_.pointerEventsSupported?e(Rb,this):(U_.touchEventsSupported&&e(Ob,this),e(Nb,this))}function Ii(t,e){var i=new Wb(H_(),t,e);return Fb[i.id]=i,i}function Ti(t,e){Gb[t]=e}function Ai(t){delete Fb[t]}function Di(t){return t instanceof Array?t:null==t?[]:[t]}function Ci(t,e,i){if(t){t[e]=t[e]||{},t.emphasis=t.emphasis||{},t.emphasis[e]=t.emphasis[e]||{};for(var n=0,o=i.length;n<o;n++){var a=i[n];!t.emphasis[e].hasOwnProperty(a)&&t[e].hasOwnProperty(a)&&(t.emphasis[e][a]=t[e][a])}}}function Li(t){return!Ub(t)||Xb(t)||t instanceof Date?t:t.value}function ki(t){return Ub(t)&&!(t instanceof Array)}function Pi(t,e){e=(e||[]).slice();var i=f(t||[],function(t,e){return{exist:t}});return Zb(e,function(t,n){if(Ub(t)){for(o=0;o<i.length;o++)if(!i[o].option&&null!=t.id&&i[o].exist.id===t.id+"")return i[o].option=t,void(e[n]=null);for(var o=0;o<i.length;o++){var a=i[o].exist;if(!(i[o].option||null!=a.id&&null!=t.id||null==t.name||Ei(t)||Ei(a)||a.name!==t.name+""))return i[o].option=t,void(e[n]=null)}}}),Zb(e,function(t,e){if(Ub(t)){for(var n=0;n<i.length;n++){var o=i[n].exist;if(!i[n].option&&!Ei(o)&&null==t.id){i[n].option=t;break}}n>=i.length&&i.push({option:t})}}),i}function Ni(t){var e=R();Zb(t,function(t,i){var n=t.exist;n&&e.set(n.id,t)}),Zb(t,function(t,i){var n=t.option;k(!n||null==n.id||!e.get(n.id)||e.get(n.id)===t,"id duplicates: "+(n&&n.id)),n&&null!=n.id&&e.set(n.id,t),!t.keyInfo&&(t.keyInfo={})}),Zb(t,function(t,i){var n=t.exist,o=t.option,a=t.keyInfo;if(Ub(o)){if(a.name=null!=o.name?o.name+"":n?n.name:jb+i,n)a.id=n.id;else if(null!=o.id)a.id=o.id+"";else{var r=0;do{a.id="\0"+a.name+"\0"+r++}while(e.get(a.id))}e.set(a.id,t)}})}function Oi(t){var e=t.name;return!(!e||!e.indexOf(jb))}function Ei(t){return Ub(t)&&t.id&&0===(t.id+"").indexOf("\0_ec_\0")}function Ri(t,e){function i(t,e,i){for(var n=0,o=t.length;n<o;n++)for(var a=t[n].seriesId,r=Di(t[n].dataIndex),s=i&&i[a],l=0,u=r.length;l<u;l++){var h=r[l];s&&s[h]?s[h]=null:(e[a]||(e[a]={}))[h]=1}}function n(t,e){var i=[];for(var o in t)if(t.hasOwnProperty(o)&&null!=t[o])if(e)i.push(+o);else{var a=n(t[o],!0);a.length&&i.push({seriesId:o,dataIndex:a})}return i}var o={},a={};return i(t||[],o),i(e||[],a,o),[n(o),n(a)]}function zi(t,e){return null!=e.dataIndexInside?e.dataIndexInside:null!=e.dataIndex?y(e.dataIndex)?f(e.dataIndex,function(e){return t.indexOfRawIndex(e)}):t.indexOfRawIndex(e.dataIndex):null!=e.name?y(e.name)?f(e.name,function(e){return t.indexOfName(e)}):t.indexOfName(e.name):void 0}function Bi(){var t="__\0ec_inner_"+qb+++"_"+Math.random().toFixed(5);return function(e){return e[t]||(e[t]={})}}function Vi(t,e,i){if(_(e)){var n={};n[e+"Index"]=0,e=n}var o=i&&i.defaultMainType;!o||Gi(e,o+"Index")||Gi(e,o+"Id")||Gi(e,o+"Name")||(e[o+"Index"]=0);var a={};return Zb(e,function(n,o){var n=e[o];if("dataIndex"!==o&&"dataIndexInside"!==o){var r=o.match(/^(\w+)(Index|Id|Name)$/)||[],s=r[1],u=(r[2]||"").toLowerCase();if(!(!s||!u||null==n||"index"===u&&"none"===n||i&&i.includeMainTypes&&l(i.includeMainTypes,s)<0)){var h={mainType:s};"index"===u&&"all"===n||(h[u]=n);var c=t.queryComponents(h);a[s+"Models"]=c,a[s+"Model"]=c[0]}}else a[o]=n}),a}function Gi(t,e){return t&&t.hasOwnProperty(e)}function Fi(t,e,i){t.setAttribute?t.setAttribute(e,i):t[e]=i}function Wi(t,e){return t.getAttribute?t.getAttribute(e):t[e]}function Hi(t){return"auto"===t?U_.domSupported?"html":"richText":t||"html"}function Zi(t,e){var i=R(),n=[];return d(t,function(t){var o=e(t);(i.get(o)||(n.push(o),i.set(o,[]))).push(t)}),{keys:n,buckets:i}}function Ui(t){var e={main:"",sub:""};return t&&(t=t.split(Kb),e.main=t[0]||"",e.sub=t[1]||""),e}function Xi(t){k(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t),'componentType "'+t+'" illegal')}function ji(t,e){t.$constructor=t,t.extend=function(t){var e=this,i=function(){t.$constructor?t.$constructor.apply(this,arguments):e.apply(this,arguments)};return a(i.prototype,t),i.extend=this.extend,i.superCall=qi,i.superApply=Ki,u(i,this),i.superClass=e,i}}function Yi(t){var e=["__\0is_clz",Jb++,Math.random().toFixed(3)].join("_");t.prototype[e]=!0,t.isInstance=function(t){return!(!t||!t[e])}}function qi(t,e){var i=C(arguments,2);return this.superClass.prototype[e].apply(t,i)}function Ki(t,e,i){return this.superClass.prototype[e].apply(t,i)}function $i(t,e){function i(t){var e=n[t.main];return e&&e[$b]||((e=n[t.main]={})[$b]=!0),e}e=e||{};var n={};if(t.registerClass=function(t,e){return e&&(Xi(e),(e=Ui(e)).sub?e.sub!==$b&&(i(e)[e.sub]=t):n[e.main]=t),t},t.getClass=function(t,e,i){var o=n[t];if(o&&o[$b]&&(o=e?o[e]:null),i&&!o)throw new Error(e?"Component "+t+"."+(e||"")+" not exists. Load it first.":t+".type should be specified.");return o},t.getClassesByMainType=function(t){t=Ui(t);var e=[],i=n[t.main];return i&&i[$b]?d(i,function(t,i){i!==$b&&e.push(t)}):e.push(i),e},t.hasClass=function(t){return t=Ui(t),!!n[t.main]},t.getAllClassMainTypes=function(){var t=[];return d(n,function(e,i){t.push(i)}),t},t.hasSubTypes=function(t){t=Ui(t);var e=n[t.main];return e&&e[$b]},t.parseClassType=Ui,e.registerWhenExtend){var o=t.extend;o&&(t.extend=function(e){var i=o.call(this,e);return t.registerClass(i,e.type)})}return t}function Ji(t){return t>-rS&&t<rS}function Qi(t){return t>rS||t<-rS}function tn(t,e,i,n,o){var a=1-o;return a*a*(a*t+3*o*e)+o*o*(o*n+3*a*i)}function en(t,e,i,n,o){var a=1-o;return 3*(((e-t)*a+2*(i-e)*o)*a+(n-i)*o*o)}function nn(t,e,i,n,o,a){var r=n+3*(e-i)-t,s=3*(i-2*e+t),l=3*(e-t),u=t-o,h=s*s-3*r*l,c=s*l-9*r*u,d=l*l-3*s*u,f=0;if(Ji(h)&&Ji(c))Ji(s)?a[0]=0:(M=-l/s)>=0&&M<=1&&(a[f++]=M);else{var p=c*c-4*h*d;if(Ji(p)){var g=c/h,m=-g/2;(M=-s/r+g)>=0&&M<=1&&(a[f++]=M),m>=0&&m<=1&&(a[f++]=m)}else if(p>0){var v=aS(p),y=h*s+1.5*r*(-c+v),x=h*s+1.5*r*(-c-v);(M=(-s-((y=y<0?-oS(-y,uS):oS(y,uS))+(x=x<0?-oS(-x,uS):oS(x,uS))))/(3*r))>=0&&M<=1&&(a[f++]=M)}else{var _=(2*h*s-3*r*c)/(2*aS(h*h*h)),w=Math.acos(_)/3,b=aS(h),S=Math.cos(w),M=(-s-2*b*S)/(3*r),m=(-s+b*(S+lS*Math.sin(w)))/(3*r),I=(-s+b*(S-lS*Math.sin(w)))/(3*r);M>=0&&M<=1&&(a[f++]=M),m>=0&&m<=1&&(a[f++]=m),I>=0&&I<=1&&(a[f++]=I)}}return f}function on(t,e,i,n,o){var a=6*i-12*e+6*t,r=9*e+3*n-3*t-9*i,s=3*e-3*t,l=0;if(Ji(r))Qi(a)&&(c=-s/a)>=0&&c<=1&&(o[l++]=c);else{var u=a*a-4*r*s;if(Ji(u))o[0]=-a/(2*r);else if(u>0){var h=aS(u),c=(-a+h)/(2*r),d=(-a-h)/(2*r);c>=0&&c<=1&&(o[l++]=c),d>=0&&d<=1&&(o[l++]=d)}}return l}function an(t,e,i,n,o,a){var r=(e-t)*o+t,s=(i-e)*o+e,l=(n-i)*o+i,u=(s-r)*o+r,h=(l-s)*o+s,c=(h-u)*o+u;a[0]=t,a[1]=r,a[2]=u,a[3]=c,a[4]=c,a[5]=h,a[6]=l,a[7]=n}function rn(t,e,i,n,o,a,r,s,l,u,h){var c,d,f,p,g,m=.005,v=1/0;hS[0]=l,hS[1]=u;for(var y=0;y<1;y+=.05)cS[0]=tn(t,i,o,r,y),cS[1]=tn(e,n,a,s,y),(p=hw(hS,cS))<v&&(c=y,v=p);v=1/0;for(var x=0;x<32&&!(m<sS);x++)d=c-m,f=c+m,cS[0]=tn(t,i,o,r,d),cS[1]=tn(e,n,a,s,d),p=hw(cS,hS),d>=0&&p<v?(c=d,v=p):(dS[0]=tn(t,i,o,r,f),dS[1]=tn(e,n,a,s,f),g=hw(dS,hS),f<=1&&g<v?(c=f,v=g):m*=.5);return h&&(h[0]=tn(t,i,o,r,c),h[1]=tn(e,n,a,s,c)),aS(v)}function sn(t,e,i,n){var o=1-n;return o*(o*t+2*n*e)+n*n*i}function ln(t,e,i,n){return 2*((1-n)*(e-t)+n*(i-e))}function un(t,e,i,n,o){var a=t-2*e+i,r=2*(e-t),s=t-n,l=0;if(Ji(a))Qi(r)&&(c=-s/r)>=0&&c<=1&&(o[l++]=c);else{var u=r*r-4*a*s;if(Ji(u))(c=-r/(2*a))>=0&&c<=1&&(o[l++]=c);else if(u>0){var h=aS(u),c=(-r+h)/(2*a),d=(-r-h)/(2*a);c>=0&&c<=1&&(o[l++]=c),d>=0&&d<=1&&(o[l++]=d)}}return l}function hn(t,e,i){var n=t+i-2*e;return 0===n?.5:(t-e)/n}function cn(t,e,i,n,o){var a=(e-t)*n+t,r=(i-e)*n+e,s=(r-a)*n+a;o[0]=t,o[1]=a,o[2]=s,o[3]=s,o[4]=r,o[5]=i}function dn(t,e,i,n,o,a,r,s,l){var u,h=.005,c=1/0;hS[0]=r,hS[1]=s;for(var d=0;d<1;d+=.05)cS[0]=sn(t,i,o,d),cS[1]=sn(e,n,a,d),(m=hw(hS,cS))<c&&(u=d,c=m);c=1/0;for(var f=0;f<32&&!(h<sS);f++){var p=u-h,g=u+h;cS[0]=sn(t,i,o,p),cS[1]=sn(e,n,a,p);var m=hw(cS,hS);if(p>=0&&m<c)u=p,c=m;else{dS[0]=sn(t,i,o,g),dS[1]=sn(e,n,a,g);var v=hw(dS,hS);g<=1&&v<c?(u=g,c=v):h*=.5}}return l&&(l[0]=sn(t,i,o,u),l[1]=sn(e,n,a,u)),aS(c)}function fn(t,e,i){if(0!==t.length){var n,o=t[0],a=o[0],r=o[0],s=o[1],l=o[1];for(n=1;n<t.length;n++)o=t[n],a=fS(a,o[0]),r=pS(r,o[0]),s=fS(s,o[1]),l=pS(l,o[1]);e[0]=a,e[1]=s,i[0]=r,i[1]=l}}function pn(t,e,i,n,o,a){o[0]=fS(t,i),o[1]=fS(e,n),a[0]=pS(t,i),a[1]=pS(e,n)}function gn(t,e,i,n,o,a,r,s,l,u){var h,c=on,d=tn,f=c(t,i,o,r,wS);for(l[0]=1/0,l[1]=1/0,u[0]=-1/0,u[1]=-1/0,h=0;h<f;h++){var p=d(t,i,o,r,wS[h]);l[0]=fS(p,l[0]),u[0]=pS(p,u[0])}for(f=c(e,n,a,s,bS),h=0;h<f;h++){var g=d(e,n,a,s,bS[h]);l[1]=fS(g,l[1]),u[1]=pS(g,u[1])}l[0]=fS(t,l[0]),u[0]=pS(t,u[0]),l[0]=fS(r,l[0]),u[0]=pS(r,u[0]),l[1]=fS(e,l[1]),u[1]=pS(e,u[1]),l[1]=fS(s,l[1]),u[1]=pS(s,u[1])}function mn(t,e,i,n,o,a,r,s){var l=hn,u=sn,h=pS(fS(l(t,i,o),1),0),c=pS(fS(l(e,n,a),1),0),d=u(t,i,o,h),f=u(e,n,a,c);r[0]=fS(t,o,d),r[1]=fS(e,a,f),s[0]=pS(t,o,d),s[1]=pS(e,a,f)}function vn(t,e,i,n,o,a,r,s,l){var u=tt,h=et,c=Math.abs(o-a);if(c%vS<1e-4&&c>1e-4)return s[0]=t-i,s[1]=e-n,l[0]=t+i,void(l[1]=e+n);if(yS[0]=mS(o)*i+t,yS[1]=gS(o)*n+e,xS[0]=mS(a)*i+t,xS[1]=gS(a)*n+e,u(s,yS,xS),h(l,yS,xS),(o%=vS)<0&&(o+=vS),(a%=vS)<0&&(a+=vS),o>a&&!r?a+=vS:o<a&&r&&(o+=vS),r){var d=a;a=o,o=d}for(var f=0;f<a;f+=Math.PI/2)f>o&&(_S[0]=mS(f)*i+t,_S[1]=gS(f)*n+e,u(s,_S,s),h(l,_S,l))}function yn(t,e,i,n,o,a,r){if(0===o)return!1;var s=o,l=0,u=t;if(r>e+s&&r>n+s||r<e-s&&r<n-s||a>t+s&&a>i+s||a<t-s&&a<i-s)return!1;if(t===i)return Math.abs(a-t)<=s/2;var h=(l=(e-n)/(t-i))*a-r+(u=(t*n-i*e)/(t-i));return h*h/(l*l+1)<=s/2*s/2}function xn(t,e,i,n,o,a,r,s,l,u,h){if(0===l)return!1;var c=l;return!(h>e+c&&h>n+c&&h>a+c&&h>s+c||h<e-c&&h<n-c&&h<a-c&&h<s-c||u>t+c&&u>i+c&&u>o+c&&u>r+c||u<t-c&&u<i-c&&u<o-c&&u<r-c)&&rn(t,e,i,n,o,a,r,s,u,h,null)<=c/2}function _n(t,e,i,n,o,a,r,s,l){if(0===r)return!1;var u=r;return!(l>e+u&&l>n+u&&l>a+u||l<e-u&&l<n-u&&l<a-u||s>t+u&&s>i+u&&s>o+u||s<t-u&&s<i-u&&s<o-u)&&dn(t,e,i,n,o,a,s,l,null)<=u/2}function wn(t){return(t%=RS)<0&&(t+=RS),t}function bn(t,e,i,n,o,a,r,s,l){if(0===r)return!1;var u=r;s-=t,l-=e;var h=Math.sqrt(s*s+l*l);if(h-u>i||h+u<i)return!1;if(Math.abs(n-o)%zS<1e-4)return!0;if(a){var c=n;n=wn(o),o=wn(c)}else n=wn(n),o=wn(o);n>o&&(o+=zS);var d=Math.atan2(l,s);return d<0&&(d+=zS),d>=n&&d<=o||d+zS>=n&&d+zS<=o}function Sn(t,e,i,n,o,a){if(a>e&&a>n||a<e&&a<n)return 0;if(n===e)return 0;var r=n<e?1:-1,s=(a-e)/(n-e);1!==s&&0!==s||(r=n<e?.5:-.5);var l=s*(i-t)+t;return l===o?1/0:l>o?r:0}function Mn(t,e){return Math.abs(t-e)<GS}function In(){var t=WS[0];WS[0]=WS[1],WS[1]=t}function Tn(t,e,i,n,o,a,r,s,l,u){if(u>e&&u>n&&u>a&&u>s||u<e&&u<n&&u<a&&u<s)return 0;var h=nn(e,n,a,s,u,FS);if(0===h)return 0;for(var c,d,f=0,p=-1,g=0;g<h;g++){var m=FS[g],v=0===m||1===m?.5:1;tn(t,i,o,r,m)<l||(p<0&&(p=on(e,n,a,s,WS),WS[1]<WS[0]&&p>1&&In(),c=tn(e,n,a,s,WS[0]),p>1&&(d=tn(e,n,a,s,WS[1]))),2===p?m<WS[0]?f+=c<e?v:-v:m<WS[1]?f+=d<c?v:-v:f+=s<d?v:-v:m<WS[0]?f+=c<e?v:-v:f+=s<c?v:-v)}return f}function An(t,e,i,n,o,a,r,s){if(s>e&&s>n&&s>a||s<e&&s<n&&s<a)return 0;var l=un(e,n,a,s,FS);if(0===l)return 0;var u=hn(e,n,a);if(u>=0&&u<=1){for(var h=0,c=sn(e,n,a,u),d=0;d<l;d++){f=0===FS[d]||1===FS[d]?.5:1;(p=sn(t,i,o,FS[d]))<r||(FS[d]<u?h+=c<e?f:-f:h+=a<c?f:-f)}return h}var f=0===FS[0]||1===FS[0]?.5:1,p=sn(t,i,o,FS[0]);return p<r?0:a<e?f:-f}function Dn(t,e,i,n,o,a,r,s){if((s-=e)>i||s<-i)return 0;u=Math.sqrt(i*i-s*s);FS[0]=-u,FS[1]=u;var l=Math.abs(n-o);if(l<1e-4)return 0;if(l%VS<1e-4){n=0,o=VS;p=a?1:-1;return r>=FS[0]+t&&r<=FS[1]+t?p:0}if(a){var u=n;n=wn(o),o=wn(u)}else n=wn(n),o=wn(o);n>o&&(o+=VS);for(var h=0,c=0;c<2;c++){var d=FS[c];if(d+t>r){var f=Math.atan2(s,d),p=a?1:-1;f<0&&(f=VS+f),(f>=n&&f<=o||f+VS>=n&&f+VS<=o)&&(f>Math.PI/2&&f<1.5*Math.PI&&(p=-p),h+=p)}}return h}function Cn(t,e,i,n,o){for(var a=0,r=0,s=0,l=0,u=0,h=0;h<t.length;){var c=t[h++];switch(c===BS.M&&h>1&&(i||(a+=Sn(r,s,l,u,n,o))),1===h&&(l=r=t[h],u=s=t[h+1]),c){case BS.M:r=l=t[h++],s=u=t[h++];break;case BS.L:if(i){if(yn(r,s,t[h],t[h+1],e,n,o))return!0}else a+=Sn(r,s,t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.C:if(i){if(xn(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=Tn(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.Q:if(i){if(_n(r,s,t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=An(r,s,t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.A:var d=t[h++],f=t[h++],p=t[h++],g=t[h++],m=t[h++],v=t[h++];h+=1;var y=1-t[h++],x=Math.cos(m)*p+d,_=Math.sin(m)*g+f;h>1?a+=Sn(r,s,x,_,n,o):(l=x,u=_);var w=(n-d)*g/p+d;if(i){if(bn(d,f,g,m,m+v,y,e,w,o))return!0}else a+=Dn(d,f,g,m,m+v,y,w,o);r=Math.cos(m+v)*p+d,s=Math.sin(m+v)*g+f;break;case BS.R:l=r=t[h++],u=s=t[h++];var x=l+t[h++],_=u+t[h++];if(i){if(yn(l,u,x,u,e,n,o)||yn(x,u,x,_,e,n,o)||yn(x,_,l,_,e,n,o)||yn(l,_,l,u,e,n,o))return!0}else a+=Sn(x,u,x,_,n,o),a+=Sn(l,_,l,u,n,o);break;case BS.Z:if(i){if(yn(r,s,l,u,e,n,o))return!0}else a+=Sn(r,s,l,u,n,o);r=l,s=u}}return i||Mn(s,u)||(a+=Sn(r,s,l,u,n,o)||0),0!==a}function Ln(t,e,i){return Cn(t,0,!1,e,i)}function kn(t,e,i,n){return Cn(t,e,!0,i,n)}function Pn(t){di.call(this,t),this.path=null}function Nn(t,e,i,n,o,a,r,s,l,u,h){var c=l*(tM/180),d=QS(c)*(t-i)/2+JS(c)*(e-n)/2,f=-1*JS(c)*(t-i)/2+QS(c)*(e-n)/2,p=d*d/(r*r)+f*f/(s*s);p>1&&(r*=$S(p),s*=$S(p));var g=(o===a?-1:1)*$S((r*r*(s*s)-r*r*(f*f)-s*s*(d*d))/(r*r*(f*f)+s*s*(d*d)))||0,m=g*r*f/s,v=g*-s*d/r,y=(t+i)/2+QS(c)*m-JS(c)*v,x=(e+n)/2+JS(c)*m+QS(c)*v,_=nM([1,0],[(d-m)/r,(f-v)/s]),w=[(d-m)/r,(f-v)/s],b=[(-1*d-m)/r,(-1*f-v)/s],S=nM(w,b);iM(w,b)<=-1&&(S=tM),iM(w,b)>=1&&(S=0),0===a&&S>0&&(S-=2*tM),1===a&&S<0&&(S+=2*tM),h.addData(u,y,x,r,s,_,S,c,a)}function On(t){if(!t)return new ES;for(var e,i=0,n=0,o=i,a=n,r=new ES,s=ES.CMD,l=t.match(oM),u=0;u<l.length;u++){for(var h,c=l[u],d=c.charAt(0),f=c.match(aM)||[],p=f.length,g=0;g<p;g++)f[g]=parseFloat(f[g]);for(var m=0;m<p;){var v,y,x,_,w,b,S,M=i,I=n;switch(d){case"l":i+=f[m++],n+=f[m++],h=s.L,r.addData(h,i,n);break;case"L":i=f[m++],n=f[m++],h=s.L,r.addData(h,i,n);break;case"m":i+=f[m++],n+=f[m++],h=s.M,r.addData(h,i,n),o=i,a=n,d="l";break;case"M":i=f[m++],n=f[m++],h=s.M,r.addData(h,i,n),o=i,a=n,d="L";break;case"h":i+=f[m++],h=s.L,r.addData(h,i,n);break;case"H":i=f[m++],h=s.L,r.addData(h,i,n);break;case"v":n+=f[m++],h=s.L,r.addData(h,i,n);break;case"V":n=f[m++],h=s.L,r.addData(h,i,n);break;case"C":h=s.C,r.addData(h,f[m++],f[m++],f[m++],f[m++],f[m++],f[m++]),i=f[m-2],n=f[m-1];break;case"c":h=s.C,r.addData(h,f[m++]+i,f[m++]+n,f[m++]+i,f[m++]+n,f[m++]+i,f[m++]+n),i+=f[m-2],n+=f[m-1];break;case"S":v=i,y=n;var T=r.len(),A=r.data;e===s.C&&(v+=i-A[T-4],y+=n-A[T-3]),h=s.C,M=f[m++],I=f[m++],i=f[m++],n=f[m++],r.addData(h,v,y,M,I,i,n);break;case"s":v=i,y=n;var T=r.len(),A=r.data;e===s.C&&(v+=i-A[T-4],y+=n-A[T-3]),h=s.C,M=i+f[m++],I=n+f[m++],i+=f[m++],n+=f[m++],r.addData(h,v,y,M,I,i,n);break;case"Q":M=f[m++],I=f[m++],i=f[m++],n=f[m++],h=s.Q,r.addData(h,M,I,i,n);break;case"q":M=f[m++]+i,I=f[m++]+n,i+=f[m++],n+=f[m++],h=s.Q,r.addData(h,M,I,i,n);break;case"T":v=i,y=n;var T=r.len(),A=r.data;e===s.Q&&(v+=i-A[T-4],y+=n-A[T-3]),i=f[m++],n=f[m++],h=s.Q,r.addData(h,v,y,i,n);break;case"t":v=i,y=n;var T=r.len(),A=r.data;e===s.Q&&(v+=i-A[T-4],y+=n-A[T-3]),i+=f[m++],n+=f[m++],h=s.Q,r.addData(h,v,y,i,n);break;case"A":x=f[m++],_=f[m++],w=f[m++],b=f[m++],S=f[m++],Nn(M=i,I=n,i=f[m++],n=f[m++],b,S,x,_,w,h=s.A,r);break;case"a":x=f[m++],_=f[m++],w=f[m++],b=f[m++],S=f[m++],Nn(M=i,I=n,i+=f[m++],n+=f[m++],b,S,x,_,w,h=s.A,r)}}"z"!==d&&"Z"!==d||(h=s.Z,r.addData(h),i=o,n=a),e=h}return r.toStatic(),r}function En(t,e){var i=On(t);return e=e||{},e.buildPath=function(t){if(t.setData)t.setData(i.data),(e=t.getContext())&&t.rebuildPath(e);else{var e=t;i.rebuildPath(e)}},e.applyTransform=function(t){KS(i,t),this.dirty(!0)},e}function Rn(t,e){return new Pn(En(t,e))}function zn(t,e){return Pn.extend(En(t,e))}function Bn(t,e,i,n,o,a,r){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)*r+(-3*(e-i)-2*s-l)*a+s*o+e}function Vn(t,e,i){var n=e.points,o=e.smooth;if(n&&n.length>=2){if(o&&"spline"!==o){var a=fM(n,o,i,e.smoothConstraint);t.moveTo(n[0][0],n[0][1]);for(var r=n.length,s=0;s<(i?r:r-1);s++){var l=a[2*s],u=a[2*s+1],h=n[(s+1)%r];t.bezierCurveTo(l[0],l[1],u[0],u[1],h[0],h[1])}}else{"spline"===o&&(n=dM(n,i)),t.moveTo(n[0][0],n[0][1]);for(var s=1,c=n.length;s<c;s++)t.lineTo(n[s][0],n[s][1])}i&&t.closePath()}}function Gn(t,e,i){var n=i&&i.lineWidth;if(e&&n){var o=e.x1,a=e.x2,r=e.y1,s=e.y2;mM(2*o)===mM(2*a)?t.x1=t.x2=Wn(o,n,!0):(t.x1=o,t.x2=a),mM(2*r)===mM(2*s)?t.y1=t.y2=Wn(r,n,!0):(t.y1=r,t.y2=s)}}function Fn(t,e,i){var n=i&&i.lineWidth;if(e&&n){var o=e.x,a=e.y,r=e.width,s=e.height;t.x=Wn(o,n,!0),t.y=Wn(a,n,!0),t.width=Math.max(Wn(o+r,n,!1)-t.x,0===r?0:1),t.height=Math.max(Wn(a+s,n,!1)-t.y,0===s?0:1)}}function Wn(t,e,i){var n=mM(2*t);return(n+mM(e))%2==0?n/2:(n+(i?1:-1))/2}function Hn(t,e,i){var n=t.cpx2,o=t.cpy2;return null===n||null===o?[(i?en:tn)(t.x1,t.cpx1,t.cpx2,t.x2,e),(i?en:tn)(t.y1,t.cpy1,t.cpy2,t.y2,e)]:[(i?ln:sn)(t.x1,t.cpx1,t.x2,e),(i?ln:sn)(t.y1,t.cpy1,t.y2,e)]}function Zn(t){di.call(this,t),this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.notClear=!0}function Un(t){return Pn.extend(t)}function Xn(t,e,i,n){var o=Rn(t,e);return i&&("center"===n&&(i=Yn(i,o.getBoundingRect())),qn(o,i)),o}function jn(t,e,i){var n=new fi({style:{image:t,x:e.x,y:e.y,width:e.width,height:e.height},onload:function(t){if("center"===i){var o={width:t.width,height:t.height};n.setStyle(Yn(e,o))}}});return n}function Yn(t,e){var i,n=e.width/e.height,o=t.height*n;return i=o<=t.width?t.height:(o=t.width)/n,{x:t.x+t.width/2-o/2,y:t.y+t.height/2-i/2,width:o,height:i}}function qn(t,e){if(t.applyTransform){var i=t.getBoundingRect().calculateTransform(e);t.applyTransform(i)}}function Kn(t){var e=t.shape,i=t.style.lineWidth;return CM(2*e.x1)===CM(2*e.x2)&&(e.x1=e.x2=Jn(e.x1,i,!0)),CM(2*e.y1)===CM(2*e.y2)&&(e.y1=e.y2=Jn(e.y1,i,!0)),t}function $n(t){var e=t.shape,i=t.style.lineWidth,n=e.x,o=e.y,a=e.width,r=e.height;return e.x=Jn(e.x,i,!0),e.y=Jn(e.y,i,!0),e.width=Math.max(Jn(n+a,i,!1)-e.x,0===a?0:1),e.height=Math.max(Jn(o+r,i,!1)-e.y,0===r?0:1),t}function Jn(t,e,i){var n=CM(2*t);return(n+CM(e))%2==0?n/2:(n+(i?1:-1))/2}function Qn(t){return null!=t&&"none"!==t}function to(t){if("string"!=typeof t)return t;var e=EM.get(t);return e||(e=Ht(t,-.1),RM<1e4&&(EM.set(t,e),RM++)),e}function eo(t){if(t.__hoverStlDirty){t.__hoverStlDirty=!1;var e=t.__hoverStl;if(e){var i=t.__cachedNormalStl={};t.__cachedNormalZ2=t.z2;var n=t.style;for(var o in e)null!=e[o]&&(i[o]=n[o]);i.fill=n.fill,i.stroke=n.stroke}else t.__cachedNormalStl=t.__cachedNormalZ2=null}}function io(t){var e=t.__hoverStl;if(e&&!t.__highlighted){var i=t.useHoverLayer;t.__highlighted=i?"layer":"plain";var n=t.__zr;if(n||!i){var o=t,a=t.style;i&&(a=(o=n.addHover(t)).style),bo(a),i||eo(o),a.extendFrom(e),no(a,e,"fill"),no(a,e,"stroke"),wo(a),i||(t.dirty(!1),t.z2+=NM)}}}function no(t,e,i){!Qn(e[i])&&Qn(t[i])&&(t[i]=to(t[i]))}function oo(t){var e=t.__highlighted;if(e)if(t.__highlighted=!1,"layer"===e)t.__zr&&t.__zr.removeHover(t);else if(e){var i=t.style,n=t.__cachedNormalStl;n&&(bo(i),t.setStyle(n),wo(i));var o=t.__cachedNormalZ2;null!=o&&t.z2-o===NM&&(t.z2=o)}}function ao(t,e){t.isGroup?t.traverse(function(t){!t.isGroup&&e(t)}):e(t)}function ro(t,e){e=t.__hoverStl=!1!==e&&(e||{}),t.__hoverStlDirty=!0,t.__highlighted&&(t.__cachedNormalStl=null,oo(t),io(t))}function so(t){return t&&t.__isEmphasisEntered}function lo(t){this.__hoverSilentOnTouch&&t.zrByTouch||!this.__isEmphasisEntered&&ao(this,io)}function uo(t){this.__hoverSilentOnTouch&&t.zrByTouch||!this.__isEmphasisEntered&&ao(this,oo)}function ho(){this.__isEmphasisEntered=!0,ao(this,io)}function co(){this.__isEmphasisEntered=!1,ao(this,oo)}function fo(t,e,i){t.isGroup?t.traverse(function(t){!t.isGroup&&ro(t,t.hoverStyle||e)}):ro(t,t.hoverStyle||e),po(t,i)}function po(t,e){var i=!1===e;if(t.__hoverSilentOnTouch=null!=e&&e.hoverSilentOnTouch,!i||t.__hoverStyleTrigger){var n=i?"off":"on";t[n]("mouseover",lo)[n]("mouseout",uo),t[n]("emphasis",ho)[n]("normal",co),t.__hoverStyleTrigger=!i}}function go(t,e,i,n,o,a,r){var s,l=(o=o||PM).labelFetcher,u=o.labelDataIndex,h=o.labelDimIndex,c=i.getShallow("show"),d=n.getShallow("show");(c||d)&&(l&&(s=l.getFormattedLabel(u,"normal",null,h)),null==s&&(s=x(o.defaultText)?o.defaultText(u,o):o.defaultText));var f=c?s:null,p=d?A(l?l.getFormattedLabel(u,"emphasis",null,h):null,s):null;null==f&&null==p||(mo(t,i,a,o),mo(e,n,r,o,!0)),t.text=f,e.text=p}function mo(t,e,i,n,o){return vo(t,e,n,o),i&&a(t,i),t}function vo(t,e,i,n){if((i=i||PM).isRectText){var o=e.getShallow("position")||(n?null:"inside");"outside"===o&&(o="top"),t.textPosition=o,t.textOffset=e.getShallow("offset");var a=e.getShallow("rotate");null!=a&&(a*=Math.PI/180),t.textRotation=a,t.textDistance=A(e.getShallow("distance"),n?null:5)}var r,s=e.ecModel,l=s&&s.option.textStyle,u=yo(e);if(u){r={};for(var h in u)if(u.hasOwnProperty(h)){var c=e.getModel(["rich",h]);xo(r[h]={},c,l,i,n)}}return t.rich=r,xo(t,e,l,i,n,!0),i.forceRich&&!i.textStyle&&(i.textStyle={}),t}function yo(t){for(var e;t&&t!==t.ecModel;){var i=(t.option||PM).rich;if(i){e=e||{};for(var n in i)i.hasOwnProperty(n)&&(e[n]=1)}t=t.parentModel}return e}function xo(t,e,i,n,o,a){i=!o&&i||PM,t.textFill=_o(e.getShallow("color"),n)||i.color,t.textStroke=_o(e.getShallow("textBorderColor"),n)||i.textBorderColor,t.textStrokeWidth=A(e.getShallow("textBorderWidth"),i.textBorderWidth),t.insideRawTextPosition=t.textPosition,o||(a&&(t.insideRollbackOpt=n,wo(t)),null==t.textFill&&(t.textFill=n.autoColor)),t.fontStyle=e.getShallow("fontStyle")||i.fontStyle,t.fontWeight=e.getShallow("fontWeight")||i.fontWeight,t.fontSize=e.getShallow("fontSize")||i.fontSize,t.fontFamily=e.getShallow("fontFamily")||i.fontFamily,t.textAlign=e.getShallow("align"),t.textVerticalAlign=e.getShallow("verticalAlign")||e.getShallow("baseline"),t.textLineHeight=e.getShallow("lineHeight"),t.textWidth=e.getShallow("width"),t.textHeight=e.getShallow("height"),t.textTag=e.getShallow("tag"),a&&n.disableBox||(t.textBackgroundColor=_o(e.getShallow("backgroundColor"),n),t.textPadding=e.getShallow("padding"),t.textBorderColor=_o(e.getShallow("borderColor"),n),t.textBorderWidth=e.getShallow("borderWidth"),t.textBorderRadius=e.getShallow("borderRadius"),t.textBoxShadowColor=e.getShallow("shadowColor"),t.textBoxShadowBlur=e.getShallow("shadowBlur"),t.textBoxShadowOffsetX=e.getShallow("shadowOffsetX"),t.textBoxShadowOffsetY=e.getShallow("shadowOffsetY")),t.textShadowColor=e.getShallow("textShadowColor")||i.textShadowColor,t.textShadowBlur=e.getShallow("textShadowBlur")||i.textShadowBlur,t.textShadowOffsetX=e.getShallow("textShadowOffsetX")||i.textShadowOffsetX,t.textShadowOffsetY=e.getShallow("textShadowOffsetY")||i.textShadowOffsetY}function _o(t,e){return"auto"!==t?t:e&&e.autoColor?e.autoColor:null}function wo(t){var e=t.insideRollbackOpt;if(e&&null==t.textFill){var i,n=e.useInsideStyle,o=t.insideRawTextPosition,a=e.autoColor;!1!==n&&(!0===n||e.isRectText&&o&&"string"==typeof o&&o.indexOf("inside")>=0)?(i={textFill:null,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth},t.textFill="#fff",null==t.textStroke&&(t.textStroke=a,null==t.textStrokeWidth&&(t.textStrokeWidth=2))):null!=a&&(i={textFill:null},t.textFill=a),i&&(t.insideRollback=i)}}function bo(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textStroke=e.textStroke,t.textStrokeWidth=e.textStrokeWidth,t.insideRollback=null)}function So(t,e){var i=e||e.getModel("textStyle");return P([t.fontStyle||i&&i.getShallow("fontStyle")||"",t.fontWeight||i&&i.getShallow("fontWeight")||"",(t.fontSize||i&&i.getShallow("fontSize")||12)+"px",t.fontFamily||i&&i.getShallow("fontFamily")||"sans-serif"].join(" "))}function Mo(t,e,i,n,o,a){if("function"==typeof o&&(a=o,o=null),n&&n.isAnimationEnabled()){var r=t?"Update":"",s=n.getShallow("animationDuration"+r),l=n.getShallow("animationEasing"+r),u=n.getShallow("animationDelay"+r);"function"==typeof u&&(u=u(o,n.getAnimationDelayParams?n.getAnimationDelayParams(e,o):null)),"function"==typeof s&&(s=s(o)),s>0?e.animateTo(i,s,u||0,l,a,!!a):(e.stopAnimation(),e.attr(i),a&&a())}else e.stopAnimation(),e.attr(i),a&&a()}function Io(t,e,i,n,o){Mo(!0,t,e,i,n,o)}function To(t,e,i,n,o){Mo(!1,t,e,i,n,o)}function Ao(t,e){for(var i=_t([]);t&&t!==e;)bt(i,t.getLocalTransform(),i),t=t.parent;return i}function Do(t,e,i){return e&&!c(e)&&(e=Tw.getLocalTransform(e)),i&&(e=Tt([],e)),Q([],t,e)}function Co(t,e,i){var n=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),o=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),a=["left"===t?-n:"right"===t?n:0,"top"===t?-o:"bottom"===t?o:0];return a=Do(a,e,i),Math.abs(a[0])>Math.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function Lo(t,e,i,n){function o(t){var e={position:F(t.position),rotation:t.rotation};return t.shape&&(e.shape=a({},t.shape)),e}if(t&&e){var r=function(t){var e={};return t.traverse(function(t){!t.isGroup&&t.anid&&(e[t.anid]=t)}),e}(t);e.traverse(function(t){if(!t.isGroup&&t.anid){var e=r[t.anid];if(e){var n=o(t);t.attr(o(e)),Io(t,n,i,t.dataIndex)}}})}}function ko(t,e){return f(t,function(t){var i=t[0];i=LM(i,e.x),i=kM(i,e.x+e.width);var n=t[1];return n=LM(n,e.y),n=kM(n,e.y+e.height),[i,n]})}function Po(t,e,i){var n=(e=a({rectHover:!0},e)).style={strokeNoScale:!0};if(i=i||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(n.image=t.slice(8),r(n,i),new fi(e)):Xn(t.replace("path://",""),e,i,"center")}function No(t,e,i){this.parentModel=e,this.ecModel=i,this.option=t}function Oo(t,e,i){for(var n=0;n<e.length&&(!e[n]||null!=(t=t&&"object"==typeof t?t[e[n]]:null));n++);return null==t&&i&&(t=i.get(e)),t}function Eo(t,e){var i=HM(t).getParent;return i?i.call(t,e):t.parentModel}function Ro(t){return[t||"",ZM++,Math.random().toFixed(5)].join("_")}function zo(t){return t.replace(/^\s+/,"").replace(/\s+$/,"")}function Bo(t,e,i,n){var o=e[1]-e[0],a=i[1]-i[0];if(0===o)return 0===a?i[0]:(i[0]+i[1])/2;if(n)if(o>0){if(t<=e[0])return i[0];if(t>=e[1])return i[1]}else{if(t>=e[0])return i[0];if(t<=e[1])return i[1]}else{if(t===e[0])return i[0];if(t===e[1])return i[1]}return(t-e[0])/o*a+i[0]}function Vo(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return"string"==typeof t?zo(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t}function Go(t,e,i){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),i?t:+t}function Fo(t){return t.sort(function(t,e){return t-e}),t}function Wo(t){if(t=+t,isNaN(t))return 0;for(var e=1,i=0;Math.round(t*e)/e!==t;)e*=10,i++;return i}function Ho(t){var e=t.toString(),i=e.indexOf("e");if(i>0){var n=+e.slice(i+1);return n<0?-n:0}var o=e.indexOf(".");return o<0?0:e.length-1-o}function Zo(t,e){var i=Math.log,n=Math.LN10,o=Math.floor(i(t[1]-t[0])/n),a=Math.round(i(Math.abs(e[1]-e[0]))/n),r=Math.min(Math.max(-o+a,0),20);return isFinite(r)?r:20}function Uo(t,e,i){if(!t[e])return 0;var n=p(t,function(t,e){return t+(isNaN(e)?0:e)},0);if(0===n)return 0;for(var o=Math.pow(10,i),a=f(t,function(t){return(isNaN(t)?0:t)/n*o*100}),r=100*o,s=f(a,function(t){return Math.floor(t)}),l=p(s,function(t,e){return t+e},0),u=f(a,function(t,e){return t-s[e]});l<r;){for(var h=Number.NEGATIVE_INFINITY,c=null,d=0,g=u.length;d<g;++d)u[d]>h&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/o}function Xo(t){var e=2*Math.PI;return(t%e+e)%e}function jo(t){return t>-UM&&t<UM}function Yo(t){if(t instanceof Date)return t;if("string"==typeof t){var e=jM.exec(t);if(!e)return new Date(NaN);if(e[8]){var i=+e[4]||0;return"Z"!==e[8].toUpperCase()&&(i-=e[8].slice(0,3)),new Date(Date.UTC(+e[1],+(e[2]||1)-1,+e[3]||1,i,+(e[5]||0),+e[6]||0,+e[7]||0))}return new Date(+e[1],+(e[2]||1)-1,+e[3]||1,+e[4]||0,+(e[5]||0),+e[6]||0,+e[7]||0)}return null==t?new Date(NaN):new Date(Math.round(t))}function qo(t){return Math.pow(10,Ko(t))}function Ko(t){return Math.floor(Math.log(t)/Math.LN10)}function $o(t,e){var i,n=Ko(t),o=Math.pow(10,n),a=t/o;return i=e?a<1.5?1:a<2.5?2:a<4?3:a<7?5:10:a<1?1:a<2?2:a<3?3:a<5?5:10,t=i*o,n>=-20?+t.toFixed(n<0?-n:0):t}function Jo(t){function e(t,i,n){return t.interval[n]<i.interval[n]||t.interval[n]===i.interval[n]&&(t.close[n]-i.close[n]==(n?-1:1)||!n&&e(t,i,1))}t.sort(function(t,i){return e(t,i,0)?-1:1});for(var i=-1/0,n=1,o=0;o<t.length;){for(var a=t[o].interval,r=t[o].close,s=0;s<2;s++)a[s]<=i&&(a[s]=i,r[s]=s?1:1-n),i=a[s],n=r[s];a[0]===a[1]&&r[0]*r[1]!=1?t.splice(o,1):o++}return t}function Qo(t){return t-parseFloat(t)>=0}function ta(t){return isNaN(t)?"-":(t=(t+"").split("."))[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")}function ea(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()}),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}function ia(t){return null==t?"":(t+"").replace(KM,function(t,e){return $M[e]})}function na(t,e,i){y(e)||(e=[e]);var n=e.length;if(!n)return"";for(var o=e[0].$vars||[],a=0;a<o.length;a++){var r=JM[a];t=t.replace(QM(r),QM(r,0))}for(var s=0;s<n;s++)for(var l=0;l<o.length;l++){var u=e[s][o[l]];t=t.replace(QM(JM[l],s),i?ia(u):u)}return t}function oa(t,e,i){return d(e,function(e,n){t=t.replace("{"+n+"}",i?ia(e):e)}),t}function aa(t,e){var i=(t=_(t)?{color:t,extraCssText:e}:t||{}).color,n=t.type,e=t.extraCssText,o=t.renderMode||"html",a=t.markerId||"X";return i?"html"===o?"subItem"===n?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+ia(i)+";"+(e||"")+'"></span>':'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+ia(i)+";"+(e||"")+'"></span>':{renderMode:o,content:"{marker"+a+"|}  ",style:{color:i}}:""}function ra(t,e){return t+="","0000".substr(0,e-t.length)+t}function sa(t,e,i){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var n=Yo(e),o=i?"UTC":"",a=n["get"+o+"FullYear"](),r=n["get"+o+"Month"]()+1,s=n["get"+o+"Date"](),l=n["get"+o+"Hours"](),u=n["get"+o+"Minutes"](),h=n["get"+o+"Seconds"](),c=n["get"+o+"Milliseconds"]();return t=t.replace("MM",ra(r,2)).replace("M",r).replace("yyyy",a).replace("yy",a%100).replace("dd",ra(s,2)).replace("d",s).replace("hh",ra(l,2)).replace("h",l).replace("mm",ra(u,2)).replace("m",u).replace("ss",ra(h,2)).replace("s",h).replace("SSS",ra(c,3))}function la(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}function ua(t,e,i,n,o){var a=0,r=0;null==n&&(n=1/0),null==o&&(o=1/0);var s=0;e.eachChild(function(l,u){var h,c,d=l.position,f=l.getBoundingRect(),p=e.childAt(u+1),g=p&&p.getBoundingRect();if("horizontal"===t){var m=f.width+(g?-g.x+f.x:0);(h=a+m)>n||l.newline?(a=0,h=m,r+=s+i,s=f.height):s=Math.max(s,f.height)}else{var v=f.height+(g?-g.y+f.y:0);(c=r+v)>o||l.newline?(a+=s+i,r=0,c=v,s=f.width):s=Math.max(s,f.width)}l.newline||(d[0]=a,d[1]=r,"horizontal"===t?a=h+i:r=c+i)})}function ha(t,e,i){var n=e.width,o=e.height,a=Vo(t.x,n),r=Vo(t.y,o),s=Vo(t.x2,n),l=Vo(t.y2,o);return(isNaN(a)||isNaN(parseFloat(t.x)))&&(a=0),(isNaN(s)||isNaN(parseFloat(t.x2)))&&(s=n),(isNaN(r)||isNaN(parseFloat(t.y)))&&(r=0),(isNaN(l)||isNaN(parseFloat(t.y2)))&&(l=o),i=qM(i||0),{width:Math.max(s-a-i[1]-i[3],0),height:Math.max(l-r-i[0]-i[2],0)}}function ca(t,e,i){i=qM(i||0);var n=e.width,o=e.height,a=Vo(t.left,n),r=Vo(t.top,o),s=Vo(t.right,n),l=Vo(t.bottom,o),u=Vo(t.width,n),h=Vo(t.height,o),c=i[2]+i[0],d=i[1]+i[3],f=t.aspect;switch(isNaN(u)&&(u=n-s-d-a),isNaN(h)&&(h=o-l-c-r),null!=f&&(isNaN(u)&&isNaN(h)&&(f>n/o?u=.8*n:h=.8*o),isNaN(u)&&(u=f*h),isNaN(h)&&(h=u/f)),isNaN(a)&&(a=n-s-u-d),isNaN(r)&&(r=o-l-h-c),t.left||t.right){case"center":a=n/2-u/2-i[3];break;case"right":a=n-u-d}switch(t.top||t.bottom){case"middle":case"center":r=o/2-h/2-i[0];break;case"bottom":r=o-h-c}a=a||0,r=r||0,isNaN(u)&&(u=n-d-a-(s||0)),isNaN(h)&&(h=o-c-r-(l||0));var p=new de(a+i[3],r+i[0],u,h);return p.margin=i,p}function da(t,e,i,n,o){var a=!o||!o.hv||o.hv[0],s=!o||!o.hv||o.hv[1],l=o&&o.boundingMode||"all";if(a||s){var u;if("raw"===l)u="group"===t.type?new de(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(u=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(u=u.clone()).applyTransform(h)}e=ca(r({width:u.width,height:u.height},e),i,n);var c=t.position,d=a?e.x-u.x:0,f=s?e.y-u.y:0;t.attr("position","raw"===l?[d,f]:[c[0]+d,c[1]+f])}}function fa(t,e){return null!=t[oI[e][0]]||null!=t[oI[e][1]]&&null!=t[oI[e][2]]}function pa(t,e,i){function n(i,n){var r={},l=0,u={},h=0;if(iI(i,function(e){u[e]=t[e]}),iI(i,function(t){o(e,t)&&(r[t]=u[t]=e[t]),a(r,t)&&l++,a(u,t)&&h++}),s[n])return a(e,i[1])?u[i[2]]=null:a(e,i[2])&&(u[i[1]]=null),u;if(2!==h&&l){if(l>=2)return r;for(var c=0;c<i.length;c++){var d=i[c];if(!o(r,d)&&o(t,d)){r[d]=t[d];break}}return r}return u}function o(t,e){return t.hasOwnProperty(e)}function a(t,e){return null!=t[e]&&"auto"!==t[e]}function r(t,e,i){iI(t,function(t){e[t]=i[t]})}!w(i)&&(i={});var s=i.ignoreSize;!y(s)&&(s=[s,s]);var l=n(oI[0],0),u=n(oI[1],1);r(oI[0],t,l),r(oI[1],t,u)}function ga(t){return ma({},t)}function ma(t,e){return e&&t&&iI(nI,function(i){e.hasOwnProperty(i)&&(t[i]=e[i])}),t}function va(t,e){for(var i=t.length,n=0;n<i;n++)if(t[n].length>e)return t[n];return t[i-1]}function ya(t){var e=t.get("coordinateSystem"),i={coordSysName:e,coordSysDims:[],axisMap:R(),categoryAxisMap:R()},n=fI[e];if(n)return n(t,i,i.axisMap,i.categoryAxisMap),i}function xa(t){return"category"===t.get("type")}function _a(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===vI?{}:[]),this.sourceFormat=t.sourceFormat||yI,this.seriesLayoutBy=t.seriesLayoutBy||_I,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&R(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}function wa(t){var e=t.option.source,i=yI;if(S(e))i=xI;else if(y(e)){0===e.length&&(i=gI);for(var n=0,o=e.length;n<o;n++){var a=e[n];if(null!=a){if(y(a)){i=gI;break}if(w(a)){i=mI;break}}}}else if(w(e)){for(var r in e)if(e.hasOwnProperty(r)&&c(e[r])){i=vI;break}}else if(null!=e)throw new Error("Invalid data");bI(t).sourceFormat=i}function ba(t){return bI(t).source}function Sa(t){bI(t).datasetMap=R()}function Ma(t){var e=t.option,i=e.data,n=S(i)?xI:pI,o=!1,a=e.seriesLayoutBy,r=e.sourceHeader,s=e.dimensions,l=La(t);if(l){var u=l.option;i=u.source,n=bI(l).sourceFormat,o=!0,a=a||u.seriesLayoutBy,null==r&&(r=u.sourceHeader),s=s||u.dimensions}var h=Ia(i,n,a,r,s),c=e.encode;!c&&l&&(c=Ca(t,l,i,n,a,h)),bI(t).source=new _a({data:i,fromDataset:o,seriesLayoutBy:a,sourceFormat:n,dimensionsDefine:h.dimensionsDefine,startIndex:h.startIndex,dimensionsDetectCount:h.dimensionsDetectCount,encodeDefine:c})}function Ia(t,e,i,n,o){if(!t)return{dimensionsDefine:Ta(o)};var a,r,s;if(e===gI)"auto"===n||null==n?Aa(function(t){null!=t&&"-"!==t&&(_(t)?null==r&&(r=1):r=0)},i,t,10):r=n?1:0,o||1!==r||(o=[],Aa(function(t,e){o[e]=null!=t?t:""},i,t)),a=o?o.length:i===wI?t.length:t[0]?t[0].length:null;else if(e===mI)o||(o=Da(t),s=!0);else if(e===vI)o||(o=[],s=!0,d(t,function(t,e){o.push(e)}));else if(e===pI){var l=Li(t[0]);a=y(l)&&l.length||1}var u;return s&&d(o,function(t,e){"name"===(w(t)?t.name:t)&&(u=e)}),{startIndex:r,dimensionsDefine:Ta(o),dimensionsDetectCount:a,potentialNameDimIndex:u}}function Ta(t){if(t){var e=R();return f(t,function(t,i){if(null==(t=a({},w(t)?t:{name:t})).name)return t;t.name+="",null==t.displayName&&(t.displayName=t.name);var n=e.get(t.name);return n?t.name+="-"+n.count++:e.set(t.name,{count:1}),t})}}function Aa(t,e,i,n){if(null==n&&(n=1/0),e===wI)for(a=0;a<i.length&&a<n;a++)t(i[a]?i[a][0]:null,a);else for(var o=i[0]||[],a=0;a<o.length&&a<n;a++)t(o[a],a)}function Da(t){for(var e,i=0;i<t.length&&!(e=t[i++]););if(e){var n=[];return d(e,function(t,e){n.push(e)}),n}}function Ca(t,e,i,n,o,a){var r=ya(t),s={},l=[],u=[],h=t.subType,c=R(["pie","map","funnel"]),f=R(["line","bar","pictorialBar","scatter","effectScatter","candlestick","boxplot"]);if(r&&null!=f.get(h)){var p=t.ecModel,g=bI(p).datasetMap,m=e.uid+"_"+o,v=g.get(m)||g.set(m,{categoryWayDim:1,valueWayDim:0});d(r.coordSysDims,function(t){if(null==r.firstCategoryDimIndex){e=v.valueWayDim++;s[t]=e,u.push(e)}else if(r.categoryAxisMap.get(t))s[t]=0,l.push(0);else{var e=v.categoryWayDim++;s[t]=e,u.push(e)}})}else if(null!=c.get(h)){for(var y,x=0;x<5&&null==y;x++)Pa(i,n,o,a.dimensionsDefine,a.startIndex,x)||(y=x);if(null!=y){s.value=y;var _=a.potentialNameDimIndex||Math.max(y-1,0);u.push(_),l.push(_)}}return l.length&&(s.itemName=l),u.length&&(s.seriesName=u),s}function La(t){var e=t.option;if(!e.data)return t.ecModel.getComponent("dataset",e.datasetIndex||0)}function ka(t,e){return Pa(t.data,t.sourceFormat,t.seriesLayoutBy,t.dimensionsDefine,t.startIndex,e)}function Pa(t,e,i,n,o,a){function r(t){return(null==t||!isFinite(t)||""===t)&&(!(!_(t)||"-"===t)||void 0)}var s;if(S(t))return!1;var l;if(n&&(l=w(l=n[a])?l.name:l),e===gI)if(i===wI){for(var u=t[a],h=0;h<(u||[]).length&&h<5;h++)if(null!=(s=r(u[o+h])))return s}else for(h=0;h<t.length&&h<5;h++){var c=t[o+h];if(c&&null!=(s=r(c[a])))return s}else if(e===mI){if(!l)return;for(h=0;h<t.length&&h<5;h++)if((d=t[h])&&null!=(s=r(d[l])))return s}else if(e===vI){if(!l)return;if(!(u=t[l])||S(u))return!1;for(h=0;h<u.length&&h<5;h++)if(null!=(s=r(u[h])))return s}else if(e===pI)for(h=0;h<t.length&&h<5;h++){var d=t[h],f=Li(d);if(!y(f))return!1;if(null!=(s=r(f[a])))return s}return!1}function Na(t,e){if(e){var i=e.seiresIndex,n=e.seriesId,o=e.seriesName;return null!=i&&t.componentIndex!==i||null!=n&&t.id!==n||null!=o&&t.name!==o}}function Oa(t,e){var o=t.color&&!t.colorLayer;d(e,function(e,a){"colorLayer"===a&&o||lI.hasClass(a)||("object"==typeof e?t[a]=t[a]?n(t[a],e,!1):i(e):null==t[a]&&(t[a]=e))})}function Ea(t){t=t,this.option={},this.option[SI]=1,this._componentsMap=R({series:[]}),this._seriesIndices,this._seriesIndicesMap,Oa(t,this._theme.option),n(t,hI,!1),this.mergeOption(t)}function Ra(t,e){y(e)||(e=e?[e]:[]);var i={};return d(e,function(e){i[e]=(t.get(e)||[]).slice()}),i}function za(t,e,i){return e.type?e.type:i?i.subType:lI.determineSubType(t,e)}function Ba(t,e){t._seriesIndicesMap=R(t._seriesIndices=f(e,function(t){return t.componentIndex})||[])}function Va(t,e){return e.hasOwnProperty("subType")?g(t,function(t){return t.subType===e.subType}):t}function Ga(t){d(II,function(e){this[e]=m(t[e],t)},this)}function Fa(){this._coordinateSystems=[]}function Wa(t){this._api=t,this._timelineOptions=[],this._mediaList=[],this._mediaDefault,this._currentMediaIndices=[],this._optionBackup,this._newBaseOption}function Ha(t,e,i){var n,o,a=[],r=[],s=t.timeline;if(t.baseOption&&(o=t.baseOption),(s||t.options)&&(o=o||{},a=(t.options||[]).slice()),t.media){o=o||{};var l=t.media;AI(l,function(t){t&&t.option&&(t.query?r.push(t):n||(n=t))})}return o||(o=t),o.timeline||(o.timeline=s),AI([o].concat(a).concat(f(r,function(t){return t.option})),function(t){AI(e,function(e){e(t,i)})}),{baseOption:o,timelineOptions:a,mediaDefault:n,mediaList:r}}function Za(t,e,i){var n={width:e,height:i,aspectratio:e/i},o=!0;return d(t,function(t,e){var i=e.match(kI);if(i&&i[1]&&i[2]){var a=i[1],r=i[2].toLowerCase();Ua(n[r],t,a)||(o=!1)}}),o}function Ua(t,e,i){return"min"===i?t>=e:"max"===i?t<=e:t===e}function Xa(t,e){return t.join(",")===e.join(",")}function ja(t,e){AI(e=e||{},function(e,i){if(null!=e){var n=t[i];if(lI.hasClass(i)){e=Di(e);var o=Pi(n=Di(n),e);t[i]=CI(o,function(t){return t.option&&t.exist?LI(t.exist,t.option,!0):t.exist||t.option})}else t[i]=LI(n,e,!0)}})}function Ya(t){var e=t&&t.itemStyle;if(e)for(var i=0,o=OI.length;i<o;i++){var a=OI[i],r=e.normal,s=e.emphasis;r&&r[a]&&(t[a]=t[a]||{},t[a].normal?n(t[a].normal,r[a]):t[a].normal=r[a],r[a]=null),s&&s[a]&&(t[a]=t[a]||{},t[a].emphasis?n(t[a].emphasis,s[a]):t[a].emphasis=s[a],s[a]=null)}}function qa(t,e,i){if(t&&t[e]&&(t[e].normal||t[e].emphasis)){var n=t[e].normal,o=t[e].emphasis;n&&(i?(t[e].normal=t[e].emphasis=null,r(t[e],n)):t[e]=n),o&&(t.emphasis=t.emphasis||{},t.emphasis[e]=o)}}function Ka(t){qa(t,"itemStyle"),qa(t,"lineStyle"),qa(t,"areaStyle"),qa(t,"label"),qa(t,"labelLine"),qa(t,"upperLabel"),qa(t,"edgeLabel")}function $a(t,e){var i=NI(t)&&t[e],n=NI(i)&&i.textStyle;if(n)for(var o=0,a=Yb.length;o<a;o++){var e=Yb[o];n.hasOwnProperty(e)&&(i[e]=n[e])}}function Ja(t){t&&(Ka(t),$a(t,"label"),t.emphasis&&$a(t.emphasis,"label"))}function Qa(t){if(NI(t)){Ya(t),Ka(t),$a(t,"label"),$a(t,"upperLabel"),$a(t,"edgeLabel"),t.emphasis&&($a(t.emphasis,"label"),$a(t.emphasis,"upperLabel"),$a(t.emphasis,"edgeLabel"));var e=t.markPoint;e&&(Ya(e),Ja(e));var i=t.markLine;i&&(Ya(i),Ja(i));var n=t.markArea;n&&Ja(n);var o=t.data;if("graph"===t.type){o=o||t.nodes;var a=t.links||t.edges;if(a&&!S(a))for(s=0;s<a.length;s++)Ja(a[s]);d(t.categories,function(t){Ka(t)})}if(o&&!S(o))for(s=0;s<o.length;s++)Ja(o[s]);if((e=t.markPoint)&&e.data)for(var r=e.data,s=0;s<r.length;s++)Ja(r[s]);if((i=t.markLine)&&i.data)for(var l=i.data,s=0;s<l.length;s++)y(l[s])?(Ja(l[s][0]),Ja(l[s][1])):Ja(l[s]);"gauge"===t.type?($a(t,"axisLabel"),$a(t,"title"),$a(t,"detail")):"treemap"===t.type?(qa(t.breadcrumb,"itemStyle"),d(t.levels,function(t){Ka(t)})):"tree"===t.type&&Ka(t.leaves)}}function tr(t){return y(t)?t:t?[t]:[]}function er(t){return(y(t)?t[0]:t)||{}}function ir(t,e){e=e.split(",");for(var i=t,n=0;n<e.length&&null!=(i=i&&i[e[n]]);n++);return i}function nr(t,e,i,n){e=e.split(",");for(var o,a=t,r=0;r<e.length-1;r++)null==a[o=e[r]]&&(a[o]={}),a=a[o];(n||null==a[e[r]])&&(a[e[r]]=i)}function or(t){d(RI,function(e){e[0]in t&&!(e[1]in t)&&(t[e[1]]=t[e[0]])})}function ar(t){d(t,function(e,i){var n=[],o=[NaN,NaN],a=[e.stackResultDimension,e.stackedOverDimension],r=e.data,s=e.isStackedByIndex,l=r.map(a,function(a,l,u){var h=r.get(e.stackedDimension,u);if(isNaN(h))return o;var c,d;s?d=r.getRawIndex(u):c=r.get(e.stackedByDimension,u);for(var f=NaN,p=i-1;p>=0;p--){var g=t[p];if(s||(d=g.data.rawIndexOf(g.stackedByDimension,c)),d>=0){var m=g.data.getByRawIndex(g.stackResultDimension,d);if(h>=0&&m>0||h<=0&&m<0){h+=m,f=m;break}}}return n[0]=h,n[1]=f,n});r.hostModel.setData(l),e.data=l})}function rr(t,e){_a.isInstance(t)||(t=_a.seriesDataToSource(t)),this._source=t;var i=this._data=t.data,n=t.sourceFormat;n===xI&&(this._offset=0,this._dimSize=e,this._data=i),a(this,GI[n===gI?n+"_"+t.seriesLayoutBy:n])}function sr(){return this._data.length}function lr(t){return this._data[t]}function ur(t){for(var e=0;e<t.length;e++)this._data.push(t[e])}function hr(t,e,i,n){return null!=i?t[i]:t}function cr(t,e,i,n){return dr(t[n],this._dimensionInfos[e])}function dr(t,e){var i=e&&e.type;if("ordinal"===i){var n=e&&e.ordinalMeta;return n?n.parseAndCollect(t):t}return"time"===i&&"number"!=typeof t&&null!=t&&"-"!==t&&(t=+Yo(t)),null==t||""===t?NaN:+t}function fr(t,e,i){if(t){var n=t.getRawDataItem(e);if(null!=n){var o,a,r=t.getProvider().getSource().sourceFormat,s=t.getDimensionInfo(i);return s&&(o=s.name,a=s.index),FI[r](n,e,a,o)}}}function pr(t,e,i){if(t){var n=t.getProvider().getSource().sourceFormat;if(n===pI||n===mI){var o=t.getRawDataItem(e);return n!==pI||w(o)||(o=null),o?o[i]:void 0}}}function gr(t){return new mr(t)}function mr(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0,this.context}function vr(t,e,i,n,o,a){XI.reset(i,n,o,a),t._callingProgress=e,t._callingProgress({start:i,end:n,count:n-i,next:XI.next},t.context)}function yr(t,e){t._dueIndex=t._outputDueEnd=t._dueEnd=0,t._settedOutputEnd=null;var i,n;!e&&t._reset&&((i=t._reset(t.context))&&i.progress&&(n=i.forceFirstProgress,i=i.progress),y(i)&&!i.length&&(i=null)),t._progress=i,t._modBy=t._modDataCount=null;var o=t._downstream;return o&&o.dirty(),n}function xr(t){var e=t.name;Oi(t)||(t.name=_r(t)||e)}function _r(t){var e=t.getRawData(),i=[];return d(e.mapDimension("seriesName",!0),function(t){var n=e.getDimensionInfo(t);n.displayName&&i.push(n.displayName)}),i.join(" ")}function wr(t){return t.model.getRawData().count()}function br(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),Sr}function Sr(t,e){t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function Mr(t,e){d(t.CHANGABLE_METHODS,function(i){t.wrapMethod(i,v(Ir,e))})}function Ir(t){var e=Tr(t);e&&e.setOutputEnd(this.count())}function Tr(t){var e=(t.ecModel||{}).scheduler,i=e&&e.getPipeline(t.uid);if(i){var n=i.currentTask;if(n){var o=n.agentStubMap;o&&(n=o.get(t.uid))}return n}}function Ar(){this.group=new tb,this.uid=Ro("viewChart"),this.renderTask=gr({plan:Lr,reset:kr}),this.renderTask.context={view:this}}function Dr(t,e){if(t&&(t.trigger(e),"group"===t.type))for(var i=0;i<t.childCount();i++)Dr(t.childAt(i),e)}function Cr(t,e,i){var n=zi(t,e);null!=n?d(Di(n),function(e){Dr(t.getItemGraphicEl(e),i)}):t.eachItemGraphicEl(function(t){Dr(t,i)})}function Lr(t){return QI(t.model)}function kr(t){var e=t.model,i=t.ecModel,n=t.api,o=t.payload,a=e.pipelineContext.progressiveRender,r=t.view,s=o&&JI(o).updateMethod,l=a?"incrementalPrepareRender":s&&r[s]?s:"render";return"render"!==l&&r[l](e,i,n,o),eT[l]}function Pr(t,e,i){function n(){h=(new Date).getTime(),c=null,t.apply(r,s||[])}var o,a,r,s,l,u=0,h=0,c=null;e=e||0;var d=function(){o=(new Date).getTime(),r=this,s=arguments;var t=l||e,d=l||i;l=null,a=o-(d?u:h)-t,clearTimeout(c),d?c=setTimeout(n,t):a>=0?n():c=setTimeout(n,-a),u=o};return d.clear=function(){c&&(clearTimeout(c),c=null)},d.debounceNextCall=function(t){l=t},d}function Nr(t,e,i,n){var o=t[e];if(o){var a=o[iT]||o,r=o[oT];if(o[nT]!==i||r!==n){if(null==i||!n)return t[e]=a;(o=t[e]=Pr(a,i,"debounce"===n))[iT]=a,o[oT]=n,o[nT]=i}return o}}function Or(t,e){var i=t[e];i&&i[iT]&&(t[e]=i[iT])}function Er(t,e,i,n){this.ecInstance=t,this.api=e,this.unfinished;var i=this._dataProcessorHandlers=i.slice(),n=this._visualHandlers=n.slice();this._allHandlers=i.concat(n),this._stageTaskMap=R()}function Rr(t,e,i,n,o){function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}o=o||{};var r;d(e,function(e,s){if(!o.visualType||o.visualType===e.visualType){var l=t._stageTaskMap.get(e.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,d=h.agentStubMap;d.each(function(t){a(o,t)&&(t.dirty(),c=!0)}),c&&h.dirty(),hT(h,n);var f=t.getPerformArgs(h,o.block);d.each(function(t){t.perform(f)}),r|=h.perform(f)}else u&&u.each(function(s,l){a(o,s)&&s.dirty();var u=t.getPerformArgs(s,o.block);u.skip=!e.performRawSeries&&i.isSeriesFiltered(s.context.model),hT(s,n),r|=s.perform(u)})}}),t.unfinished|=r}function zr(t,e,i,n,o){function a(i){var a=i.uid,s=r.get(a)||r.set(a,gr({plan:Hr,reset:Zr,count:Xr}));s.context={model:i,ecModel:n,api:o,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:t},jr(t,i,s)}var r=i.seriesTaskMap||(i.seriesTaskMap=R()),s=e.seriesType,l=e.getTargetSeries;e.createOnAllSeries?n.eachRawSeries(a):s?n.eachRawSeriesByType(s,a):l&&l(n,o).each(a);var u=t._pipelineMap;r.each(function(t,e){u.get(e)||(t.dispose(),r.removeKey(e))})}function Br(t,e,i,n,o){function a(e){var i=e.uid,n=s.get(i);n||(n=s.set(i,gr({reset:Gr,onDirty:Wr})),r.dirty()),n.context={model:e,overallProgress:h,modifyOutputEnd:c},n.agent=r,n.__block=h,jr(t,e,n)}var r=i.overallTask=i.overallTask||gr({reset:Vr});r.context={ecModel:n,api:o,overallReset:e.overallReset,scheduler:t};var s=r.agentStubMap=r.agentStubMap||R(),l=e.seriesType,u=e.getTargetSeries,h=!0,c=e.modifyOutputEnd;l?n.eachRawSeriesByType(l,a):u?u(n,o).each(a):(h=!1,d(n.getSeries(),a));var f=t._pipelineMap;s.each(function(t,e){f.get(e)||(t.dispose(),r.dirty(),s.removeKey(e))})}function Vr(t){t.overallReset(t.ecModel,t.api,t.payload)}function Gr(t,e){return t.overallProgress&&Fr}function Fr(){this.agent.dirty(),this.getDownstream().dirty()}function Wr(){this.agent&&this.agent.dirty()}function Hr(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function Zr(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=Di(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?f(e,function(t,e){return Ur(e)}):cT}function Ur(t){return function(e,i){var n=i.data,o=i.resetDefines[t];if(o&&o.dataEach)for(var a=e.start;a<e.end;a++)o.dataEach(n,a);else o&&o.progress&&o.progress(e,n)}}function Xr(t){return t.data.count()}function jr(t,e,i){var n=e.uid,o=t._pipelineMap.get(n);!o.head&&(o.head=i),o.tail&&o.tail.pipe(i),o.tail=i,i.__idxInPipeline=o.count++,i.__pipeline=o}function Yr(t){dT=null;try{t(fT,pT)}catch(t){}return dT}function qr(t,e){for(var i in e.prototype)t[i]=B}function Kr(t){for(_(t)&&(t=(new DOMParser).parseFromString(t,"text/xml")),9===t.nodeType&&(t=t.firstChild);"svg"!==t.nodeName.toLowerCase()||1!==t.nodeType;)t=t.nextSibling;return t}function $r(){this._defs={},this._root=null,this._isDefine=!1,this._isText=!1}function Jr(t,e){for(var i=t.firstChild;i;){if(1===i.nodeType){var n=i.getAttribute("offset");n=n.indexOf("%")>0?parseInt(n,10)/100:n?parseFloat(n):0;var o=i.getAttribute("stop-color")||"#000000";e.addColorStop(n,o)}i=i.nextSibling}}function Qr(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),r(e.__inheritedStyle,t.__inheritedStyle))}function ts(t){for(var e=P(t).split(_T),i=[],n=0;n<e.length;n+=2){var o=parseFloat(e[n]),a=parseFloat(e[n+1]);i.push([o,a])}return i}function es(t,e,i,n){var o=e.__inheritedStyle||{},r="text"===e.type;if(1===t.nodeType&&(ns(t,e),a(o,os(t)),!n))for(var s in ST)if(ST.hasOwnProperty(s)){var l=t.getAttribute(s);null!=l&&(o[ST[s]]=l)}var u=r?"textFill":"fill",h=r?"textStroke":"stroke";e.style=e.style||new ub;var c=e.style;null!=o.fill&&c.set(u,is(o.fill,i)),null!=o.stroke&&c.set(h,is(o.stroke,i)),d(["lineWidth","opacity","fillOpacity","strokeOpacity","miterLimit","fontSize"],function(t){var e="lineWidth"===t&&r?"textStrokeWidth":t;null!=o[t]&&c.set(e,parseFloat(o[t]))}),o.textBaseline&&"auto"!==o.textBaseline||(o.textBaseline="alphabetic"),"alphabetic"===o.textBaseline&&(o.textBaseline="bottom"),"start"===o.textAlign&&(o.textAlign="left"),"end"===o.textAlign&&(o.textAlign="right"),d(["lineDashOffset","lineCap","lineJoin","fontWeight","fontFamily","fontStyle","textAlign","textBaseline"],function(t){null!=o[t]&&c.set(t,o[t])}),o.lineDash&&(e.style.lineDash=P(o.lineDash).split(_T)),c[h]&&"none"!==c[h]&&(e[h]=!0),e.__inheritedStyle=o}function is(t,e){var i=e&&t&&t.match(MT);return i?e[P(i[1])]:t}function ns(t,e){var i=t.getAttribute("transform");if(i){var n=null,o=[];(i=i.replace(/,/g," ")).replace(IT,function(t,e,i){o.push(e,i)});for(var a=o.length-1;a>0;a-=2){var r=o[a],s=o[a-1];switch(n=n||xt(),s){case"translate":r=P(r).split(_T),St(n,n,[parseFloat(r[0]),parseFloat(r[1]||0)]);break;case"scale":r=P(r).split(_T),It(n,n,[parseFloat(r[0]),parseFloat(r[1]||r[0])]);break;case"rotate":r=P(r).split(_T),Mt(n,n,parseFloat(r[0]));break;case"skew":r=P(r).split(_T),console.warn("Skew transform is not supported yet");break;case"matrix":r=P(r).split(_T);n[0]=parseFloat(r[0]),n[1]=parseFloat(r[1]),n[2]=parseFloat(r[2]),n[3]=parseFloat(r[3]),n[4]=parseFloat(r[4]),n[5]=parseFloat(r[5])}}e.setLocalTransform(n)}}function os(t){var e=t.getAttribute("style"),i={};if(!e)return i;var n={};TT.lastIndex=0;for(var o;null!=(o=TT.exec(e));)n[o[1]]=o[2];for(var a in ST)ST.hasOwnProperty(a)&&null!=n[a]&&(i[ST[a]]=n[a]);return i}function as(t,e,i){var n=e/t.width,o=i/t.height,a=Math.min(n,o);return{scale:[a,a],position:[-(t.x+t.width/2)*a+e/2,-(t.y+t.height/2)*a+i/2]}}function rs(t,e){return(new $r).parse(t,e)}function ss(t){return function(e,i,n){e=e&&e.toLowerCase(),fw.prototype[t].call(this,e,i,n)}}function ls(){fw.call(this)}function us(t,e,n){function o(t,e){return t.__prio-e.__prio}n=n||{},"string"==typeof e&&(e=JT[e]),this.id,this.group,this._dom=t;var a=this._zr=Ii(t,{renderer:n.renderer||"canvas",devicePixelRatio:n.devicePixelRatio,width:n.width,height:n.height});this._throttledZrFlush=Pr(m(a.flush,a),17),(e=i(e))&&BI(e,!0),this._theme=e,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new Fa;var r=this._api=As(this);_e($T,o),_e(YT,o),this._scheduler=new Er(this,r,YT,$T),fw.call(this,this._ecEventProcessor=new Ds),this._messageCenter=new ls,this._initEvents(),this.resize=m(this.resize,this),this._pendingActions=[],a.animation.on("frame",this._onframe,this),vs(a,this),N(this)}function hs(t,e,i){var n,o=this._model,a=this._coordSysMgr.getCoordinateSystems();e=Vi(o,e);for(var r=0;r<a.length;r++){var s=a[r];if(s[t]&&null!=(n=s[t](o,e,i)))return n}}function cs(t){var e=t._model,i=t._scheduler;i.restorePipelines(e),i.prepareStageTasks(),ys(t,"component",e,i),ys(t,"chart",e,i),i.plan()}function ds(t,e,i,n,o){function a(n){n&&n.__alive&&n[e]&&n[e](n.__model,r,t._api,i)}var r=t._model;if(n){var s={};s[n+"Id"]=i[n+"Id"],s[n+"Index"]=i[n+"Index"],s[n+"Name"]=i[n+"Name"];var l={mainType:n,query:s};o&&(l.subType=o);var u=i.excludeSeriesId;null!=u&&(u=R(Di(u))),r&&r.eachComponent(l,function(e){u&&null!=u.get(e.id)||a(t["series"===n?"_chartsMap":"_componentsMap"][e.__viewId])},t)}else kT(t._componentsViews.concat(t._chartsViews),a)}function fs(t,e){var i=t._chartsMap,n=t._scheduler;e.eachSeries(function(t){n.updateStreamModes(t,i[t.__viewId])})}function ps(t,e){var i=t.type,n=t.escapeConnect,o=XT[i],s=o.actionInfo,l=(s.update||"update").split(":"),u=l.pop();l=null!=l[0]&&OT(l[0]),this[GT]=!0;var h=[t],c=!1;t.batch&&(c=!0,h=f(t.batch,function(e){return e=r(a({},e),t),e.batch=null,e}));var d,p=[],g="highlight"===i||"downplay"===i;kT(h,function(t){d=o.action(t,this._model,this._api),(d=d||a({},t)).type=s.event||d.type,p.push(d),g?ds(this,u,t,"series"):l&&ds(this,u,t,l.main,l.sub)},this),"none"===u||g||l||(this[FT]?(cs(this),ZT.update.call(this,t),this[FT]=!1):ZT[u].call(this,t)),d=c?{type:s.event||i,escapeConnect:n,batch:p}:p[0],this[GT]=!1,!e&&this._messageCenter.trigger(d.type,d)}function gs(t){for(var e=this._pendingActions;e.length;){var i=e.shift();ps.call(this,i,t)}}function ms(t){!t&&this.trigger("updated")}function vs(t,e){t.on("rendered",function(){e.trigger("rendered"),!t.animation.isFinished()||e[FT]||e._scheduler.unfinished||e._pendingActions.length||e.trigger("finished")})}function ys(t,e,i,n){function o(t){var e="_ec_"+t.id+"_"+t.type,o=s[e];if(!o){var h=OT(t.type);(o=new(a?qI.getClass(h.main,h.sub):Ar.getClass(h.sub))).init(i,u),s[e]=o,r.push(o),l.add(o.group)}t.__viewId=o.__id=e,o.__alive=!0,o.__model=t,o.group.__ecComponentInfo={mainType:t.mainType,index:t.componentIndex},!a&&n.prepareView(o,t,i,u)}for(var a="component"===e,r=a?t._componentsViews:t._chartsViews,s=a?t._componentsMap:t._chartsMap,l=t._zr,u=t._api,h=0;h<r.length;h++)r[h].__alive=!1;a?i.eachComponent(function(t,e){"series"!==t&&o(e)}):i.eachSeries(o);for(h=0;h<r.length;){var c=r[h];c.__alive?h++:(!a&&c.renderTask.dispose(),l.remove(c.group),c.dispose(i,u),r.splice(h,1),delete s[c.__id],c.__id=c.group.__ecComponentInfo=null)}}function xs(t){t.clearColorPalette(),t.eachSeries(function(t){t.clearColorPalette()})}function _s(t,e,i,n){ws(t,e,i,n),kT(t._chartsViews,function(t){t.__alive=!1}),bs(t,e,i,n),kT(t._chartsViews,function(t){t.__alive||t.remove(e,i)})}function ws(t,e,i,n,o){kT(o||t._componentsViews,function(t){var o=t.__model;t.render(o,e,i,n),Ts(o,t)})}function bs(t,e,i,n,o){var a,r=t._scheduler;e.eachSeries(function(e){var i=t._chartsMap[e.__viewId];i.__alive=!0;var s=i.renderTask;r.updatePayload(s,n),o&&o.get(e.uid)&&s.dirty(),a|=s.perform(r.getPerformArgs(s)),i.group.silent=!!e.get("silent"),Ts(e,i),Is(e,i)}),r.unfinished|=a,Ms(t._zr,e),sT(t._zr.dom,e)}function Ss(t,e){kT(KT,function(i){i(t,e)})}function Ms(t,e){var i=t.storage,n=0;i.traverse(function(t){t.isGroup||n++}),n>e.get("hoverLayerThreshold")&&!U_.node&&i.traverse(function(t){t.isGroup||(t.useHoverLayer=!0)})}function Is(t,e){var i=t.get("blendMode")||null;e.group.traverse(function(t){t.isGroup||t.style.blend!==i&&t.setStyle("blend",i),t.eachPendingDisplayable&&t.eachPendingDisplayable(function(t){t.setStyle("blend",i)})})}function Ts(t,e){var i=t.get("z"),n=t.get("zlevel");e.group.traverse(function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=n&&(t.zlevel=n))})}function As(t){var e=t._coordSysMgr;return a(new Ga(t),{getCoordinateSystems:m(e.getCoordinateSystems,e),getComponentByElement:function(e){for(;e;){var i=e.__ecComponentInfo;if(null!=i)return t._model.getComponent(i.mainType,i.index);e=e.parent}}})}function Ds(){this.eventInfo}function Cs(t){function e(t,e){for(var n=0;n<t.length;n++)t[n][i]=e}var i="__connectUpdateStatus";kT(jT,function(n,o){t._messageCenter.on(o,function(n){if(eA[t.group]&&0!==t[i]){if(n&&n.escapeConnect)return;var o=t.makeActionFromEvent(n),a=[];kT(tA,function(e){e!==t&&e.group===t.group&&a.push(e)}),e(a,0),kT(a,function(t){1!==t[i]&&t.dispatchAction(o)}),e(a,2)}})})}function Ls(t){eA[t]=!1}function ks(t){return tA[Wi(t,oA)]}function Ps(t,e){JT[t]=e}function Ns(t){qT.push(t)}function Os(t,e){Vs(YT,t,e,RT)}function Es(t,e,i){"function"==typeof e&&(i=e,e="");var n=NT(t)?t.type:[t,t={event:e}][0];t.event=(t.event||n).toLowerCase(),e=t.event,LT(WT.test(n)&&WT.test(e)),XT[n]||(XT[n]={action:i,actionInfo:t}),jT[e]=n}function Rs(t,e){Fa.register(t,e)}function zs(t,e){Vs($T,t,e,zT,"layout")}function Bs(t,e){Vs($T,t,e,BT,"visual")}function Vs(t,e,i,n,o){(PT(e)||NT(e))&&(i=e,e=n);var a=Er.wrapStageHandler(i,o);return a.__prio=e,a.__raw=i,t.push(a),a}function Gs(t,e){QT[t]=e}function Fs(t){return lI.extend(t)}function Ws(t){return qI.extend(t)}function Hs(t){return YI.extend(t)}function Zs(t){return Ar.extend(t)}function Us(t){return t}function Xs(t,e,i,n,o){this._old=t,this._new=e,this._oldKeyGetter=i||Us,this._newKeyGetter=n||Us,this.context=o}function js(t,e,i,n,o){for(var a=0;a<t.length;a++){var r="_ec_"+o[n](t[a],a),s=e[r];null==s?(i.push(r),e[r]=a):(s.length||(e[r]=s=[s]),s.push(a))}}function Ys(t){var e={},i=e.encode={},n=R(),o=[],a=[];d(t.dimensions,function(e){var r=t.getDimensionInfo(e),s=r.coordDim;if(s){var l=i[s];i.hasOwnProperty(s)||(l=i[s]=[]),l[r.coordDimIndex]=e,r.isExtraCoord||(n.set(s,1),Ks(r.type)&&(o[0]=e)),r.defaultTooltip&&a.push(e)}sA.each(function(t,e){var n=i[e];i.hasOwnProperty(e)||(n=i[e]=[]);var o=r.otherDims[e];null!=o&&!1!==o&&(n[o]=r.name)})});var r=[],s={};n.each(function(t,e){var n=i[e];s[e]=n[0],r=r.concat(n)}),e.dataDimsOnCoord=r,e.encodeFirstDimNotExtra=s;var l=i.label;l&&l.length&&(o=l.slice());var u=i.tooltip;return u&&u.length?a=u.slice():a.length||(a=o.slice()),i.defaultedLabel=o,i.defaultedTooltip=a,e}function qs(t){return"category"===t?"ordinal":"time"===t?"time":"float"}function Ks(t){return!("ordinal"===t||"time"===t)}function $s(t){return t._rawCount>65535?dA:pA}function Js(t){var e=t.constructor;return e===Array?t.slice():new e(t)}function Qs(t,e){d(gA.concat(e.__wrappedMethods||[]),function(i){e.hasOwnProperty(i)&&(t[i]=e[i])}),t.__wrappedMethods=e.__wrappedMethods,d(mA,function(n){t[n]=i(e[n])}),t._calculationInfo=a(e._calculationInfo)}function tl(t,e,i,n,o){var a=cA[e.type],r=n-1,s=e.name,l=t[s][r];if(l&&l.length<i){for(var u=new a(Math.min(o-r*i,i)),h=0;h<l.length;h++)u[h]=l[h];t[s][r]=u}for(var c=n*i;c<o;c+=i)t[s].push(new a(Math.min(o-c,i)))}function el(t){var e=t._invertedIndicesMap;d(e,function(i,n){var o=t._dimensionInfos[n].ordinalMeta;if(o){i=e[n]=new fA(o.categories.length);for(a=0;a<i.length;a++)i[a]=uA;for(var a=0;a<t._count;a++)i[t.get(n,a)]=a}})}function il(t,e,i){var n;if(null!=e){var o=t._chunkSize,a=Math.floor(i/o),r=i%o,s=t.dimensions[e],l=t._storage[s][a];if(l){n=l[r];var u=t._dimensionInfos[s].ordinalMeta;u&&u.categories.length&&(n=u.categories[n])}}return n}function nl(t){return t}function ol(t){return t<this._count&&t>=0?this._indices[t]:-1}function al(t,e){var i=t._idList[e];return null==i&&(i=il(t,t._idDimIdx,e)),null==i&&(i=hA+e),i}function rl(t){return y(t)||(t=[t]),t}function sl(t,e){var i=t.dimensions,n=new vA(f(i,t.getDimensionInfo,t),t.hostModel);Qs(n,t);for(var o=n._storage={},a=t._storage,r=0;r<i.length;r++){var s=i[r];a[s]&&(l(e,s)>=0?(o[s]=ll(a[s]),n._rawExtent[s]=ul(),n._extent[s]=null):o[s]=a[s])}return n}function ll(t){for(var e=new Array(t.length),i=0;i<t.length;i++)e[i]=Js(t[i]);return e}function ul(){return[1/0,-1/0]}function hl(t,e,n){function o(t,e,i){null!=sA.get(e)?t.otherDims[e]=i:(t.coordDim=e,t.coordDimIndex=i,h.set(e,!0))}_a.isInstance(e)||(e=_a.seriesDataToSource(e)),n=n||{},t=(t||[]).slice();for(var s=(n.dimsDef||[]).slice(),l=R(n.encodeDef),u=R(),h=R(),c=[],f=cl(e,t,s,n.dimCount),p=0;p<f;p++){var g=s[p]=a({},w(s[p])?s[p]:{name:s[p]}),m=g.name,v=c[p]={otherDims:{}};null!=m&&null==u.get(m)&&(v.name=v.displayName=m,u.set(m,p)),null!=g.type&&(v.type=g.type),null!=g.displayName&&(v.displayName=g.displayName)}l.each(function(t,e){if(1===(t=Di(t).slice()).length&&t[0]<0)l.set(e,!1);else{var i=l.set(e,[]);d(t,function(t,n){_(t)&&(t=u.get(t)),null!=t&&t<f&&(i[n]=t,o(c[t],e,n))})}});var y=0;d(t,function(t,e){var n,t,a,s;if(_(t))n=t,t={};else{n=t.name;var u=t.ordinalMeta;t.ordinalMeta=null,(t=i(t)).ordinalMeta=u,a=t.dimsDef,s=t.otherDims,t.name=t.coordDim=t.coordDimIndex=t.dimsDef=t.otherDims=null}var h=l.get(n);if(!1!==h){if(!(h=Di(h)).length)for(var f=0;f<(a&&a.length||1);f++){for(;y<c.length&&null!=c[y].coordDim;)y++;y<c.length&&h.push(y++)}d(h,function(e,i){var l=c[e];if(o(r(l,t),n,i),null==l.name&&a){var u=a[i];!w(u)&&(u={name:u}),l.name=l.displayName=u.name,l.defaultTooltip=u.defaultTooltip}s&&r(l.otherDims,s)})}});var x=n.generateCoord,b=n.generateCoordCount,S=null!=b;b=x?b||1:0;for(var M=x||"value",I=0;I<f;I++)null==(v=c[I]=c[I]||{}).coordDim&&(v.coordDim=dl(M,h,S),v.coordDimIndex=0,(!x||b<=0)&&(v.isExtraCoord=!0),b--),null==v.name&&(v.name=dl(v.coordDim,u)),null==v.type&&ka(e,I,v.name)&&(v.type="ordinal");return c}function cl(t,e,i,n){var o=Math.max(t.dimensionsDetectCount||1,e.length,i.length,n||0);return d(e,function(t){var e=t.dimsDef;e&&(o=Math.max(o,e.length))}),o}function dl(t,e,i){if(i||null!=e.get(t)){for(var n=0;null!=e.get(t+n);)n++;t+=n}return e.set(t,!0),t}function fl(t,e,i){var n,o,a,r,s=(i=i||{}).byIndex,l=i.stackedCoordDimension,u=!(!t||!t.get("stack"));if(d(e,function(t,i){_(t)&&(e[i]=t={name:t}),u&&!t.isExtraCoord&&(s||n||!t.ordinalMeta||(n=t),o||"ordinal"===t.type||"time"===t.type||l&&l!==t.coordDim||(o=t))}),!o||s||n||(s=!0),o){a="__\0ecstackresult",r="__\0ecstackedover",n&&(n.createInvertedIndices=!0);var h=o.coordDim,c=o.type,f=0;d(e,function(t){t.coordDim===h&&f++}),e.push({name:a,coordDim:h,coordDimIndex:f,type:c,isExtraCoord:!0,isCalculationCoord:!0}),f++,e.push({name:r,coordDim:r,coordDimIndex:f,type:c,isExtraCoord:!0,isCalculationCoord:!0})}return{stackedDimension:o&&o.name,stackedByDimension:n&&n.name,isStackedByIndex:s,stackedOverDimension:r,stackResultDimension:a}}function pl(t,e){return!!e&&e===t.getCalculationInfo("stackedDimension")}function gl(t,e){return pl(t,e)?t.getCalculationInfo("stackResultDimension"):e}function ml(t,e,i){i=i||{},_a.isInstance(t)||(t=_a.seriesDataToSource(t));var n,o=e.get("coordinateSystem"),a=Fa.get(o),r=ya(e);r&&(n=f(r.coordSysDims,function(t){var e={name:t},i=r.axisMap.get(t);if(i){var n=i.get("type");e.type=qs(n)}return e})),n||(n=a&&(a.getDimensionsInfo?a.getDimensionsInfo():a.dimensions.slice())||["x","y"]);var s,l,u=_A(t,{coordDimensions:n,generateCoord:i.generateCoord});r&&d(u,function(t,e){var i=t.coordDim,n=r.categoryAxisMap.get(i);n&&(null==s&&(s=e),t.ordinalMeta=n.getOrdinalMeta()),null!=t.otherDims.itemName&&(l=!0)}),l||null==s||(u[s].otherDims.itemName=0);var h=fl(e,u),c=new vA(u,e);c.setCalculationInfo(h);var p=null!=s&&vl(t)?function(t,e,i,n){return n===s?i:this.defaultDimValueGetter(t,e,i,n)}:null;return c.hasItemOption=!1,c.initData(t,null,p),c}function vl(t){if(t.sourceFormat===pI){var e=yl(t.data||[]);return null!=e&&!y(Li(e))}}function yl(t){for(var e=0;e<t.length&&null==t[e];)e++;return t[e]}function xl(t){this._setting=t||{},this._extent=[1/0,-1/0],this._interval=0,this.init&&this.init.apply(this,arguments)}function _l(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this._map}function wl(t){return t._map||(t._map=R(t.categories))}function bl(t){return w(t)&&null!=t.value?t.value:t+""}function Sl(t,e,i,n){var o={},a=t[1]-t[0],r=o.interval=$o(a/e,!0);null!=i&&r<i&&(r=o.interval=i),null!=n&&r>n&&(r=o.interval=n);var s=o.intervalPrecision=Ml(r);return Tl(o.niceTickExtent=[MA(Math.ceil(t[0]/r)*r,s),MA(Math.floor(t[1]/r)*r,s)],t),o}function Ml(t){return Ho(t)+2}function Il(t,e,i){t[e]=Math.max(Math.min(t[e],i[1]),i[0])}function Tl(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),Il(t,0,e),Il(t,1,e),t[0]>t[1]&&(t[0]=t[1])}function Al(t,e,i,n){var o=[];if(!t)return o;e[0]<i[0]&&o.push(e[0]);for(var a=i[0];a<=i[1]&&(o.push(a),(a=MA(a+t,n))!==o[o.length-1]);)if(o.length>1e4)return[];return e[1]>(o.length?o[o.length-1]:i[1])&&o.push(e[1]),o}function Dl(t){return t.get("stack")||AA+t.seriesIndex}function Cl(t){return t.dim+t.index}function Ll(t){var e=[],i=t.axis;if("category"===i.type){for(var n=i.getBandWidth(),o=0;o<t.count;o++)e.push(r({bandWidth:n,axisKey:"axis0",stackId:AA+o},t));for(var a=Nl(e),s=[],o=0;o<t.count;o++){var l=a.axis0[AA+o];l.offsetCenter=l.offset+l.width/2,s.push(l)}return s}}function kl(t,e){var i=[];return e.eachSeriesByType(t,function(t){Rl(t)&&!zl(t)&&i.push(t)}),i}function Pl(t){var e=[];return d(t,function(t){var i=t.getData(),n=t.coordinateSystem.getBaseAxis(),o=n.getExtent(),a="category"===n.type?n.getBandWidth():Math.abs(o[1]-o[0])/i.count(),r=Vo(t.get("barWidth"),a),s=Vo(t.get("barMaxWidth"),a),l=t.get("barGap"),u=t.get("barCategoryGap");e.push({bandWidth:a,barWidth:r,barMaxWidth:s,barGap:l,barCategoryGap:u,axisKey:Cl(n),stackId:Dl(t)})}),Nl(e)}function Nl(t){var e={};d(t,function(t,i){var n=t.axisKey,o=t.bandWidth,a=e[n]||{bandWidth:o,remainedWidth:o,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},r=a.stacks;e[n]=a;var s=t.stackId;r[s]||a.autoWidthCount++,r[s]=r[s]||{width:0,maxWidth:0};var l=t.barWidth;l&&!r[s].width&&(r[s].width=l,l=Math.min(a.remainedWidth,l),a.remainedWidth-=l);var u=t.barMaxWidth;u&&(r[s].maxWidth=u);var h=t.barGap;null!=h&&(a.gap=h);var c=t.barCategoryGap;null!=c&&(a.categoryGap=c)});var i={};return d(e,function(t,e){i[e]={};var n=t.stacks,o=t.bandWidth,a=Vo(t.categoryGap,o),r=Vo(t.gap,1),s=t.remainedWidth,l=t.autoWidthCount,u=(s-a)/(l+(l-1)*r);u=Math.max(u,0),d(n,function(t,e){var i=t.maxWidth;i&&i<u&&(i=Math.min(i,s),t.width&&(i=Math.min(i,t.width)),s-=i,t.width=i,l--)}),u=(s-a)/(l+(l-1)*r),u=Math.max(u,0);var h,c=0;d(n,function(t,e){t.width||(t.width=u),h=t,c+=t.width*(1+r)}),h&&(c-=h.width*r);var f=-c/2;d(n,function(t,n){i[e][n]=i[e][n]||{offset:f,width:t.width},f+=t.width*(1+r)})}),i}function Ol(t,e,i){if(t&&e){var n=t[Cl(e)];return null!=n&&null!=i&&(n=n[Dl(i)]),n}}function El(t,e){var i=kl(t,e),n=Pl(i),o={};d(i,function(t){var e=t.getData(),i=t.coordinateSystem,a=i.getBaseAxis(),r=Dl(t),s=n[Cl(a)][r],l=s.offset,u=s.width,h=i.getOtherAxis(a),c=t.get("barMinHeight")||0;o[r]=o[r]||[],e.setLayout({offset:l,size:u});for(var d=e.mapDimension(h.dim),f=e.mapDimension(a.dim),p=pl(e,d),g=h.isHorizontal(),m=Bl(a,h,p),v=0,y=e.count();v<y;v++){var x=e.get(d,v),_=e.get(f,v);if(!isNaN(x)){var w=x>=0?"p":"n",b=m;p&&(o[r][_]||(o[r][_]={p:m,n:m}),b=o[r][_][w]);var S,M,I,T;if(g)S=b,M=(A=i.dataToPoint([x,_]))[1]+l,I=A[0]-m,T=u,Math.abs(I)<c&&(I=(I<0?-1:1)*c),p&&(o[r][_][w]+=I);else{var A=i.dataToPoint([_,x]);S=A[0]+l,M=b,I=u,T=A[1]-m,Math.abs(T)<c&&(T=(T<=0?-1:1)*c),p&&(o[r][_][w]+=T)}e.setItemLayout(v,{x:S,y:M,width:I,height:T})}}},this)}function Rl(t){return t.coordinateSystem&&"cartesian2d"===t.coordinateSystem.type}function zl(t){return t.pipelineContext&&t.pipelineContext.large}function Bl(t,e,i){var n,o,a=e.getGlobalExtent();a[0]>a[1]?(n=a[1],o=a[0]):(n=a[0],o=a[1]);var r=e.toGlobalCoord(e.dataToCoord(0));return r<n&&(r=n),r>o&&(r=o),r}function Vl(t,e){return VA(t,BA(e))}function Gl(t,e){var i,n,o,a=t.type,r=e.getMin(),s=e.getMax(),l=null!=r,u=null!=s,h=t.getExtent();"ordinal"===a?i=e.getCategories().length:(y(n=e.get("boundaryGap"))||(n=[n||0,n||0]),"boolean"==typeof n[0]&&(n=[0,0]),n[0]=Vo(n[0],1),n[1]=Vo(n[1],1),o=h[1]-h[0]||Math.abs(h[0])),null==r&&(r="ordinal"===a?i?0:NaN:h[0]-n[0]*o),null==s&&(s="ordinal"===a?i?i-1:NaN:h[1]+n[1]*o),"dataMin"===r?r=h[0]:"function"==typeof r&&(r=r({min:h[0],max:h[1]})),"dataMax"===s?s=h[1]:"function"==typeof s&&(s=s({min:h[0],max:h[1]})),(null==r||!isFinite(r))&&(r=NaN),(null==s||!isFinite(s))&&(s=NaN),t.setBlank(I(r)||I(s)||"ordinal"===a&&!t.getOrdinalMeta().categories.length),e.getNeedCrossZero()&&(r>0&&s>0&&!l&&(r=0),r<0&&s<0&&!u&&(s=0));var c=e.ecModel;if(c&&"time"===a){var f,p=kl("bar",c);if(d(p,function(t){f|=t.getBaseAxis()===e.axis}),f){var g=Pl(p),m=Fl(r,s,e,g);r=m.min,s=m.max}}return[r,s]}function Fl(t,e,i,n){var o=i.axis.getExtent(),a=o[1]-o[0],r=Ol(n,i.axis);if(void 0===r)return{min:t,max:e};var s=1/0;d(r,function(t){s=Math.min(t.offset,s)});var l=-1/0;d(r,function(t){l=Math.max(t.offset+t.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/a)-h;return e+=c*(l/u),t-=c*(s/u),{min:t,max:e}}function Wl(t,e){var i=Gl(t,e),n=null!=e.getMin(),o=null!=e.getMax(),a=e.get("splitNumber");"log"===t.type&&(t.base=e.get("logBase"));var r=t.type;t.setExtent(i[0],i[1]),t.niceExtent({splitNumber:a,fixMin:n,fixMax:o,minInterval:"interval"===r||"time"===r?e.get("minInterval"):null,maxInterval:"interval"===r||"time"===r?e.get("maxInterval"):null});var s=e.get("interval");null!=s&&t.setInterval&&t.setInterval(s)}function Hl(t,e){if(e=e||t.get("type"))switch(e){case"category":return new SA(t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),[1/0,-1/0]);case"value":return new TA;default:return(xl.getClass(e)||TA).create(t)}}function Zl(t){var e=t.scale.getExtent(),i=e[0],n=e[1];return!(i>0&&n>0||i<0&&n<0)}function Ul(t){var e=t.getLabelModel().get("formatter"),i="category"===t.type?t.scale.getExtent()[0]:null;return"string"==typeof e?e=function(e){return function(i){return i=t.scale.getLabel(i),e.replace("{value}",null!=i?i:"")}}(e):"function"==typeof e?function(n,o){return null!=i&&(o=n-i),e(Xl(t,n),o)}:function(e){return t.scale.getLabel(e)}}function Xl(t,e){return"category"===t.type?t.scale.getLabel(e):e}function jl(t){var e=t.model,i=t.scale;if(e.get("axisLabel.show")&&!i.isBlank()){var n,o,a="category"===t.type,r=i.getExtent();o=a?i.count():(n=i.getTicks()).length;var s,l=t.getLabelModel(),u=Ul(t),h=1;o>40&&(h=Math.ceil(o/40));for(var c=0;c<o;c+=h){var d=u(n?n[c]:r[0]+c),f=Yl(l.getTextRect(d),l.get("rotate")||0);s?s.union(f):s=f}return s}}function Yl(t,e){var i=e*Math.PI/180,n=t.plain(),o=n.width,a=n.height,r=o*Math.cos(i)+a*Math.sin(i),s=o*Math.sin(i)+a*Math.cos(i);return new de(n.x,n.y,r,s)}function ql(t){var e=t.get("interval");return null==e?"auto":e}function Kl(t){return"category"===t.type&&0===ql(t.getLabelModel())}function $l(t,e){if("image"!==this.type){var i=this.style,n=this.shape;n&&"line"===n.symbolType?i.stroke=t:this.__isEmptyBrush?(i.stroke=t,i.fill=e||"#fff"):(i.fill&&(i.fill=t),i.stroke&&(i.stroke=t)),this.dirty(!1)}}function Jl(t,e,i,n,o,a,r){var s=0===t.indexOf("empty");s&&(t=t.substr(5,1).toLowerCase()+t.substr(6));var l;return l=0===t.indexOf("image://")?jn(t.slice(8),new de(e,i,n,o),r?"center":"cover"):0===t.indexOf("path://")?Xn(t.slice(7),{},new de(e,i,n,o),r?"center":"cover"):new JA({shape:{symbolType:t,x:e,y:i,width:n,height:o}}),l.__isEmptyBrush=s,l.setColor=$l,l.setColor(a),l}function Ql(t,e){return Math.abs(t-e)<eD}function tu(t,e,i){var n=0,o=t[0];if(!o)return!1;for(var a=1;a<t.length;a++){var r=t[a];n+=Sn(o[0],o[1],r[0],r[1],e,i),o=r}var s=t[0];return Ql(o[0],s[0])&&Ql(o[1],s[1])||(n+=Sn(o[0],o[1],s[0],s[1],e,i)),0!==n}function eu(t,e,i){if(this.name=t,this.geometries=e,i)i=[i[0],i[1]];else{var n=this.getBoundingRect();i=[n.x+n.width/2,n.y+n.height/2]}this.center=i}function iu(t){if(!t.UTF8Encoding)return t;var e=t.UTF8Scale;null==e&&(e=1024);for(var i=t.features,n=0;n<i.length;n++)for(var o=i[n].geometry,a=o.coordinates,r=o.encodeOffsets,s=0;s<a.length;s++){var l=a[s];if("Polygon"===o.type)a[s]=nu(l,r[s],e);else if("MultiPolygon"===o.type)for(var u=0;u<l.length;u++){var h=l[u];l[u]=nu(h,r[s][u],e)}}return t.UTF8Encoding=!1,t}function nu(t,e,i){for(var n=[],o=e[0],a=e[1],r=0;r<t.length;r+=2){var s=t.charCodeAt(r)-64,l=t.charCodeAt(r+1)-64;s=s>>1^-(1&s),l=l>>1^-(1&l),o=s+=o,a=l+=a,n.push([s/i,l/i])}return n}function ou(t){return"category"===t.type?ru(t):uu(t)}function au(t,e){return"category"===t.type?lu(t,e):{ticks:t.scale.getTicks()}}function ru(t){var e=t.getLabelModel(),i=su(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:i.labelCategoryInterval}:i}function su(t,e){var i=hu(t,"labels"),n=ql(e),o=cu(i,n);if(o)return o;var a,r;return a=x(n)?vu(t,n):mu(t,r="auto"===n?fu(t):n),du(i,n,{labels:a,labelCategoryInterval:r})}function lu(t,e){var i=hu(t,"ticks"),n=ql(e),o=cu(i,n);if(o)return o;var a,r;if(e.get("show")&&!t.scale.isBlank()||(a=[]),x(n))a=vu(t,n,!0);else if("auto"===n){var s=su(t,t.getLabelModel());r=s.labelCategoryInterval,a=f(s.labels,function(t){return t.tickValue})}else a=mu(t,r=n,!0);return du(i,n,{ticks:a,tickCategoryInterval:r})}function uu(t){var e=t.scale.getTicks(),i=Ul(t);return{labels:f(e,function(e,n){return{formattedLabel:i(e,n),rawLabel:t.scale.getLabel(e),tickValue:e}})}}function hu(t,e){return nD(t)[e]||(nD(t)[e]=[])}function cu(t,e){for(var i=0;i<t.length;i++)if(t[i].key===e)return t[i].value}function du(t,e,i){return t.push({key:e,value:i}),i}function fu(t){var e=nD(t).autoInterval;return null!=e?e:nD(t).autoInterval=t.calculateCategoryInterval()}function pu(t){var e=gu(t),i=Ul(t),n=(e.axisRotate-e.labelRotate)/180*Math.PI,o=t.scale,a=o.getExtent(),r=o.count();if(a[1]-a[0]<1)return 0;var s=1;r>40&&(s=Math.max(1,Math.floor(r/40)));for(var l=a[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(n)),c=Math.abs(u*Math.sin(n)),d=0,f=0;l<=a[1];l+=s){var p=0,g=0,m=ke(i(l),e.font,"center","top");p=1.3*m.width,g=1.3*m.height,d=Math.max(d,p,7),f=Math.max(f,g,7)}var v=d/h,y=f/c;isNaN(v)&&(v=1/0),isNaN(y)&&(y=1/0);var x=Math.max(0,Math.floor(Math.min(v,y))),_=nD(t.model),w=_.lastAutoInterval,b=_.lastTickCount;return null!=w&&null!=b&&Math.abs(w-x)<=1&&Math.abs(b-r)<=1&&w>x?x=w:(_.lastTickCount=r,_.lastAutoInterval=x),x}function gu(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}function mu(t,e,i){function n(t){l.push(i?t:{formattedLabel:o(t),rawLabel:a.getLabel(t),tickValue:t})}var o=Ul(t),a=t.scale,r=a.getExtent(),s=t.getLabelModel(),l=[],u=Math.max((e||0)+1,1),h=r[0],c=a.count();0!==h&&u>1&&c/u>2&&(h=Math.round(Math.ceil(h/u)*u));var d=Kl(t),f=s.get("showMinLabel")||d,p=s.get("showMaxLabel")||d;f&&h!==r[0]&&n(r[0]);for(var g=h;g<=r[1];g+=u)n(g);return p&&g!==r[1]&&n(r[1]),l}function vu(t,e,i){var n=t.scale,o=Ul(t),a=[];return d(n.getTicks(),function(t){var r=n.getLabel(t);e(t,r)&&a.push(i?t:{formattedLabel:o(t),rawLabel:r,tickValue:t})}),a}function yu(t,e){var i=(t[1]-t[0])/e/2;t[0]+=i,t[1]-=i}function xu(t,e,i,n,o){function a(t,e){return h?t>e:t<e}var r=e.length;if(t.onBand&&!n&&r){var s,l=t.getExtent();if(1===r)e[0].coord=l[0],s=e[1]={coord:l[0]};else{var u=e[1].coord-e[0].coord;d(e,function(t){t.coord-=u/2;var e=e||0;e%2>0&&(t.coord-=u/(2*(e+1)))}),s={coord:e[r-1].coord+u},e.push(s)}var h=l[0]>l[1];a(e[0].coord,l[0])&&(o?e[0].coord=l[0]:e.shift()),o&&a(l[0],e[0].coord)&&e.unshift({coord:l[0]}),a(l[1],s.coord)&&(o?s.coord=l[1]:e.pop()),o&&a(s.coord,l[1])&&e.push({coord:l[1]})}}function _u(t,e){var i=t.mapDimension("defaultedLabel",!0),n=i.length;if(1===n)return fr(t,e,i[0]);if(n){for(var o=[],a=0;a<i.length;a++){var r=fr(t,e,i[a]);o.push(r)}return o.join(" ")}}function wu(t,e,i){tb.call(this),this.updateData(t,e,i)}function bu(t){return[t[0]/2,t[1]/2]}function Su(t,e){this.parent.drift(t,e)}function Mu(){!so(this)&&Tu.call(this)}function Iu(){!so(this)&&Au.call(this)}function Tu(){if(!this.incremental&&!this.useHoverLayer){var t=this.__symbolOriginalScale,e=t[1]/t[0];this.animateTo({scale:[Math.max(1.1*t[0],t[0]+3),Math.max(1.1*t[1],t[1]+3*e)]},400,"elasticOut")}}function Au(){this.incremental||this.useHoverLayer||this.animateTo({scale:this.__symbolOriginalScale},400,"elasticOut")}function Du(t){this.group=new tb,this._symbolCtor=t||wu}function Cu(t,e,i,n){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(n.isIgnore&&n.isIgnore(i))&&!(n.clipShape&&!n.clipShape.contain(e[0],e[1]))&&"none"!==t.getItemVisual(i,"symbol")}function Lu(t){return null==t||w(t)||(t={isIgnore:t}),t||{}}function ku(t){var e=t.hostModel;return{itemStyle:e.getModel("itemStyle").getItemStyle(["color"]),hoverItemStyle:e.getModel("emphasis.itemStyle").getItemStyle(),symbolRotate:e.get("symbolRotate"),symbolOffset:e.get("symbolOffset"),hoverAnimation:e.get("hoverAnimation"),labelModel:e.getModel("label"),hoverLabelModel:e.getModel("emphasis.label"),cursorStyle:e.get("cursor")}}function Pu(t,e,i){var n,o=t.getBaseAxis(),a=t.getOtherAxis(o),r=Nu(a,i),s=o.dim,l=a.dim,u=e.mapDimension(l),h=e.mapDimension(s),c="x"===l||"radius"===l?1:0,d=f(t.dimensions,function(t){return e.mapDimension(t)}),p=e.getCalculationInfo("stackResultDimension");return(n|=pl(e,d[0]))&&(d[0]=p),(n|=pl(e,d[1]))&&(d[1]=p),{dataDimsForPoint:d,valueStart:r,valueAxisDim:l,baseAxisDim:s,stacked:!!n,valueDim:u,baseDim:h,baseDataOffset:c,stackedOverDimension:e.getCalculationInfo("stackedOverDimension")}}function Nu(t,e){var i=0,n=t.scale.getExtent();return"start"===e?i=n[0]:"end"===e?i=n[1]:n[0]>0?i=n[0]:n[1]<0&&(i=n[1]),i}function Ou(t,e,i,n){var o=NaN;t.stacked&&(o=i.get(i.getCalculationInfo("stackedOverDimension"),n)),isNaN(o)&&(o=t.valueStart);var a=t.baseDataOffset,r=[];return r[a]=i.get(t.baseDim,n),r[1-a]=o,e.dataToPoint(r)}function Eu(t,e){var i=[];return e.diff(t).add(function(t){i.push({cmd:"+",idx:t})}).update(function(t,e){i.push({cmd:"=",idx:e,idx1:t})}).remove(function(t){i.push({cmd:"-",idx:t})}).execute(),i}function Ru(t){return isNaN(t[0])||isNaN(t[1])}function zu(t,e,i,n,o,a,r,s,l,u,h){return"none"!==u&&u?Bu.apply(this,arguments):Vu.apply(this,arguments)}function Bu(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f<n;f++){var p=e[d];if(d>=o||d<0)break;if(Ru(p)){if(h){d+=a;continue}break}if(d===i)t[a>0?"moveTo":"lineTo"](p[0],p[1]);else if(l>0){var g=e[c],m="y"===u?1:0,v=(p[m]-g[m])*l;_D(bD,g),bD[m]=g[m]+v,_D(SD,p),SD[m]=p[m]-v,t.bezierCurveTo(bD[0],bD[1],SD[0],SD[1],p[0],p[1])}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Vu(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f<n;f++){var p=e[d];if(d>=o||d<0)break;if(Ru(p)){if(h){d+=a;continue}break}if(d===i)t[a>0?"moveTo":"lineTo"](p[0],p[1]),_D(bD,p);else if(l>0){var g=d+a,m=e[g];if(h)for(;m&&Ru(e[g]);)m=e[g+=a];var v=.5,y=e[c];if(!(m=e[g])||Ru(m))_D(SD,p);else{Ru(m)&&!h&&(m=p),U(wD,m,y);var x,_;if("x"===u||"y"===u){var w="x"===u?0:1;x=Math.abs(p[w]-y[w]),_=Math.abs(p[w]-m[w])}else x=uw(p,y),_=uw(p,m);xD(SD,p,wD,-l*(1-(v=_/(_+x))))}vD(bD,bD,s),yD(bD,bD,r),vD(SD,SD,s),yD(SD,SD,r),t.bezierCurveTo(bD[0],bD[1],SD[0],SD[1],p[0],p[1]),xD(bD,p,wD,l*v)}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Gu(t,e){var i=[1/0,1/0],n=[-1/0,-1/0];if(e)for(var o=0;o<t.length;o++){var a=t[o];a[0]<i[0]&&(i[0]=a[0]),a[1]<i[1]&&(i[1]=a[1]),a[0]>n[0]&&(n[0]=a[0]),a[1]>n[1]&&(n[1]=a[1])}return{min:e?i:n,max:e?n:i}}function Fu(t,e){if(t.length===e.length){for(var i=0;i<t.length;i++){var n=t[i],o=e[i];if(n[0]!==o[0]||n[1]!==o[1])return}return!0}}function Wu(t){return"number"==typeof t?t:t?.5:0}function Hu(t){var e=t.getGlobalExtent();if(t.onBand){var i=t.getBandWidth()/2-1,n=e[1]>e[0]?1:-1;e[0]+=n*i,e[1]-=n*i}return e}function Zu(t,e,i){if(!i.valueDim)return[];for(var n=[],o=0,a=e.count();o<a;o++)n.push(Ou(i,t,e,o));return n}function Uu(t,e,i,n){var o=Hu(t.getAxis("x")),a=Hu(t.getAxis("y")),r=t.getBaseAxis().isHorizontal(),s=Math.min(o[0],o[1]),l=Math.min(a[0],a[1]),u=Math.max(o[0],o[1])-s,h=Math.max(a[0],a[1])-l;if(i)s-=.5,u+=.5,l-=.5,h+=.5;else{var c=n.get("lineStyle.width")||2,d=n.get("clipOverflow")?c/2:Math.max(u,h);r?(l-=d,h+=2*d):(s-=d,u+=2*d)}var f=new yM({shape:{x:s,y:l,width:u,height:h}});return e&&(f.shape[r?"width":"height"]=0,To(f,{shape:{width:u,height:h}},n)),f}function Xu(t,e,i,n){var o=t.getAngleAxis(),a=t.getRadiusAxis().getExtent().slice();a[0]>a[1]&&a.reverse();var r=o.getExtent(),s=Math.PI/180;i&&(a[0]-=.5,a[1]+=.5);var l=new hM({shape:{cx:Go(t.cx,1),cy:Go(t.cy,1),r0:Go(a[0],1),r:Go(a[1],1),startAngle:-r[0]*s,endAngle:-r[1]*s,clockwise:o.inverse}});return e&&(l.shape.endAngle=-r[0]*s,To(l,{shape:{endAngle:-r[1]*s}},n)),l}function ju(t,e,i,n){return"polar"===t.type?Xu(t,e,i,n):Uu(t,e,i,n)}function Yu(t,e,i){for(var n=e.getBaseAxis(),o="x"===n.dim||"radius"===n.dim?0:1,a=[],r=0;r<t.length-1;r++){var s=t[r+1],l=t[r];a.push(l);var u=[];switch(i){case"end":u[o]=s[o],u[1-o]=l[1-o],a.push(u);break;case"middle":var h=(l[o]+s[o])/2,c=[];u[o]=c[o]=h,u[1-o]=l[1-o],c[1-o]=s[1-o],a.push(u),a.push(c);break;default:u[o]=l[o],u[1-o]=s[1-o],a.push(u)}}return t[r]&&a.push(t[r]),a}function qu(t,e){var i=t.getVisual("visualMeta");if(i&&i.length&&t.count()&&"cartesian2d"===e.type){for(var n,o,a=i.length-1;a>=0;a--){var r=i[a].dimension,s=t.dimensions[r],l=t.getDimensionInfo(s);if("x"===(n=l&&l.coordDim)||"y"===n){o=i[a];break}}if(o){var u=e.getAxis(n),h=f(o.stops,function(t){return{coord:u.toGlobalCoord(u.dataToCoord(t.value)),color:t.color}}),c=h.length,p=o.outerColors.slice();c&&h[0].coord>h[c-1].coord&&(h.reverse(),p.reverse());var g=h[0].coord-10,m=h[c-1].coord+10,v=m-g;if(v<.001)return"transparent";d(h,function(t){t.offset=(t.coord-g)/v}),h.push({offset:c?h[c-1].offset:.5,color:p[1]||"transparent"}),h.unshift({offset:c?h[0].offset:.5,color:p[0]||"transparent"});var y=new TM(0,0,0,0,h,!0);return y[n]=g,y[n+"2"]=m,y}}}function Ku(t,e,i){var n=t.get("showAllSymbol"),o="auto"===n;if(!n||o){var a=i.getAxesByScale("ordinal")[0];if(a&&(!o||!$u(a,e))){var r=e.mapDimension(a.dim),s={};return d(a.getViewLabels(),function(t){s[t.tickValue]=1}),function(t){return!s.hasOwnProperty(e.get(r,t))}}}}function $u(t,e){var i=t.getExtent(),n=Math.abs(i[1]-i[0])/t.scale.count();isNaN(n)&&(n=0);for(var o=e.count(),a=Math.max(1,Math.round(o/5)),r=0;r<o;r+=a)if(1.5*wu.getSymbolSize(e,r)[t.isHorizontal()?1:0]>n)return!1;return!0}function Ju(t){return this._axes[t]}function Qu(t){LD.call(this,t)}function th(t,e){return e.type||(e.data?"category":"value")}function eh(t,e,i){return t.getCoordSysModel()===e}function ih(t,e,i){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,i),this.model=t}function nh(t,e,i,n){function o(t){return t.dim+"_"+t.index}i.getAxesOnZeroOf=function(){return a?[a]:[]};var a,r=t[e],s=i.model,l=s.get("axisLine.onZero"),u=s.get("axisLine.onZeroAxisIndex");if(l){if(null!=u)oh(r[u])&&(a=r[u]);else for(var h in r)if(r.hasOwnProperty(h)&&oh(r[h])&&!n[o(r[h])]){a=r[h];break}a&&(n[o(a)]=!0)}}function oh(t){return t&&"category"!==t.type&&"time"!==t.type&&Zl(t)}function ah(t,e){var i=t.getExtent(),n=i[0]+i[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return n-t+e}}function rh(t,e){return f(VD,function(e){return t.getReferringComponents(e)[0]})}function sh(t){return"cartesian2d"===t.get("coordinateSystem")}function lh(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e}function uh(t,e,i,n){var o,a,r=Xo(i-t.rotation),s=n[0]>n[1],l="start"===e&&!s||"start"!==e&&s;return jo(r-GD/2)?(a=l?"bottom":"top",o="center"):jo(r-1.5*GD)?(a=l?"top":"bottom",o="center"):(a="middle",o=r<1.5*GD&&r>GD/2?l?"left":"right":l?"right":"left"),{rotation:r,textAlign:o,textVerticalAlign:a}}function hh(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)}function ch(t,e,i){if(!Kl(t.axis)){var n=t.get("axisLabel.showMinLabel"),o=t.get("axisLabel.showMaxLabel");e=e||[],i=i||[];var a=e[0],r=e[1],s=e[e.length-1],l=e[e.length-2],u=i[0],h=i[1],c=i[i.length-1],d=i[i.length-2];!1===n?(dh(a),dh(u)):fh(a,r)&&(n?(dh(r),dh(h)):(dh(a),dh(u))),!1===o?(dh(s),dh(c)):fh(l,s)&&(o?(dh(l),dh(d)):(dh(s),dh(c)))}}function dh(t){t&&(t.ignore=!0)}function fh(t,e,i){var n=t&&t.getBoundingRect().clone(),o=e&&e.getBoundingRect().clone();if(n&&o){var a=_t([]);return Mt(a,a,-t.rotation),n.applyTransform(bt([],a,t.getLocalTransform())),o.applyTransform(bt([],a,e.getLocalTransform())),n.intersect(o)}}function ph(t){return"middle"===t||"center"===t}function gh(t,e,i){var n=e.axis;if(e.get("axisTick.show")&&!n.scale.isBlank()){for(var o=e.getModel("axisTick"),a=o.getModel("lineStyle"),s=o.get("length"),l=n.getTicksCoords(),u=[],h=[],c=t._transform,d=[],f=0;f<l.length;f++){var p=l[f].coord;u[0]=p,u[1]=0,h[0]=p,h[1]=i.tickDirection*s,c&&(Q(u,u,c),Q(h,h,c));var g=new _M(Kn({anid:"tick_"+l[f].tickValue,shape:{x1:u[0],y1:u[1],x2:h[0],y2:h[1]},style:r(a.getLineStyle(),{stroke:e.get("axisLine.lineStyle.color")}),z2:2,silent:!0}));t.group.add(g),d.push(g)}return d}}function mh(t,e,i){var n=e.axis;if(T(i.axisLabelShow,e.get("axisLabel.show"))&&!n.scale.isBlank()){var o=e.getModel("axisLabel"),a=o.get("margin"),r=n.getViewLabels(),s=(T(i.labelRotate,o.get("rotate"))||0)*GD/180,l=HD(i.rotation,s,i.labelDirection),u=e.getCategories(!0),h=[],c=hh(e),f=e.get("triggerEvent");return d(r,function(r,s){var d=r.tickValue,p=r.formattedLabel,g=r.rawLabel,m=o;u&&u[d]&&u[d].textStyle&&(m=new No(u[d].textStyle,o,e.ecModel));var v=m.getTextColor()||e.get("axisLine.lineStyle.color"),y=[n.dataToCoord(d),i.labelOffset+i.labelDirection*a],x=new rM({anid:"label_"+d,position:y,rotation:l.rotation,silent:c,z2:10});mo(x.style,m,{text:p,textAlign:m.getShallow("align",!0)||l.textAlign,textVerticalAlign:m.getShallow("verticalAlign",!0)||m.getShallow("baseline",!0)||l.textVerticalAlign,textFill:"function"==typeof v?v("category"===n.type?g:"value"===n.type?d+"":d,s):v}),f&&(x.eventData=lh(e),x.eventData.targetType="axisLabel",x.eventData.value=g),t._dumbGroup.add(x),x.updateTransform(),h.push(x),t.group.add(x),x.decomposeTransform()}),h}}function vh(t,e){var i={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return yh(i,t,e),i.seriesInvolved&&_h(i,t),i}function yh(t,e,i){var n=e.getComponent("tooltip"),o=e.getComponent("axisPointer"),a=o.get("link",!0)||[],r=[];ZD(i.getCoordinateSystems(),function(i){function s(n,s,l){var c=l.model.getModel("axisPointer",o),d=c.get("show");if(d&&("auto"!==d||n||Th(c))){null==s&&(s=c.get("triggerTooltip"));var f=(c=n?xh(l,h,o,e,n,s):c).get("snap"),p=Ah(l.model),g=s||f||"category"===l.type,m=t.axesInfo[p]={key:p,axis:l,coordSys:i,axisPointerModel:c,triggerTooltip:s,involveSeries:g,snap:f,useHandle:Th(c),seriesModels:[]};u[p]=m,t.seriesInvolved|=g;var v=wh(a,l);if(null!=v){var y=r[v]||(r[v]={axesInfo:{}});y.axesInfo[p]=m,y.mapper=a[v].mapper,m.linkGroup=y}}}if(i.axisPointerEnabled){var l=Ah(i.model),u=t.coordSysAxesInfo[l]={};t.coordSysMap[l]=i;var h=i.model.getModel("tooltip",n);if(ZD(i.getAxes(),UD(s,!1,null)),i.getTooltipAxes&&n&&h.get("show")){var c="axis"===h.get("trigger"),d="cross"===h.get("axisPointer.type"),f=i.getTooltipAxes(h.get("axisPointer.axis"));(c||d)&&ZD(f.baseAxes,UD(s,!d||"cross",c)),d&&ZD(f.otherAxes,UD(s,"cross",!1))}}})}function xh(t,e,n,o,a,s){var l=e.getModel("axisPointer"),u={};ZD(["type","snap","lineStyle","shadowStyle","label","animation","animationDurationUpdate","animationEasingUpdate","z"],function(t){u[t]=i(l.get(t))}),u.snap="category"!==t.type&&!!s,"cross"===l.get("type")&&(u.type="line");var h=u.label||(u.label={});if(null==h.show&&(h.show=!1),"cross"===a){var c=l.get("label.show");if(h.show=null==c||c,!s){var d=u.lineStyle=l.get("crossStyle");d&&r(h,d.textStyle)}}return t.model.getModel("axisPointer",new No(u,n,o))}function _h(t,e){e.eachSeries(function(e){var i=e.coordinateSystem,n=e.get("tooltip.trigger",!0),o=e.get("tooltip.show",!0);i&&"none"!==n&&!1!==n&&"item"!==n&&!1!==o&&!1!==e.get("axisPointer.show",!0)&&ZD(t.coordSysAxesInfo[Ah(i.model)],function(t){var n=t.axis;i.getAxis(n.dim)===n&&(t.seriesModels.push(e),null==t.seriesDataCount&&(t.seriesDataCount=0),t.seriesDataCount+=e.getData().count())})},this)}function wh(t,e){for(var i=e.model,n=e.dim,o=0;o<t.length;o++){var a=t[o]||{};if(bh(a[n+"AxisId"],i.id)||bh(a[n+"AxisIndex"],i.componentIndex)||bh(a[n+"AxisName"],i.name))return o}}function bh(t,e){return"all"===t||y(t)&&l(t,e)>=0||t===e}function Sh(t){var e=Mh(t);if(e){var i=e.axisPointerModel,n=e.axis.scale,o=i.option,a=i.get("status"),r=i.get("value");null!=r&&(r=n.parse(r));var s=Th(i);null==a&&(o.status=s?"show":"hide");var l=n.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==r||r>l[1])&&(r=l[1]),r<l[0]&&(r=l[0]),o.value=r,s&&(o.status=e.axis.scale.isBlank()?"hide":"show")}}function Mh(t){var e=(t.ecModel.getComponent("axisPointer")||{}).coordSysAxesInfo;return e&&e.axesInfo[Ah(t)]}function Ih(t){var e=Mh(t);return e&&e.axisPointerModel}function Th(t){return!!t.get("handle.show")}function Ah(t){return t.type+"||"+t.id}function Dh(t,e,i,n,o,a){var r=XD.getAxisPointerClass(t.axisPointerClass);if(r){var s=Ih(e);s?(t._axisPointer||(t._axisPointer=new r)).render(e,s,n,a):Ch(t,n)}}function Ch(t,e,i){var n=t._axisPointer;n&&n.dispose(e,i),t._axisPointer=null}function Lh(t,e,i){i=i||{};var n=t.coordinateSystem,o=e.axis,a={},r=o.getAxesOnZeroOf()[0],s=o.position,l=r?"onZero":s,u=o.dim,h=n.getRect(),c=[h.x,h.x+h.width,h.y,h.y+h.height],d={left:0,right:1,top:0,bottom:1,onZero:2},f=e.get("offset")||0,p="x"===u?[c[2]-f,c[3]+f]:[c[0]-f,c[1]+f];if(r){var g=r.toGlobalCoord(r.dataToCoord(0));p[d.onZero]=Math.max(Math.min(g,p[1]),p[0])}a.position=["y"===u?p[d[l]]:c[0],"x"===u?p[d[l]]:c[3]],a.rotation=Math.PI/2*("x"===u?0:1);var m={top:-1,bottom:1,left:-1,right:1};a.labelDirection=a.tickDirection=a.nameDirection=m[s],a.labelOffset=r?p[d[s]]-p[d.onZero]:0,e.get("axisTick.inside")&&(a.tickDirection=-a.tickDirection),T(i.labelInside,e.get("axisLabel.inside"))&&(a.labelDirection=-a.labelDirection);var v=e.get("axisLabel.rotate");return a.labelRotate="top"===l?-v:v,a.z2=1,a}function kh(t,e,i,n,o,a,r){go(t,e,i.getModel("label"),i.getModel("emphasis.label"),{labelFetcher:o,labelDataIndex:a,defaultText:_u(o.getData(),a),isRectText:!0,autoColor:n}),Ph(t),Ph(e)}function Ph(t,e){"outside"===t.textPosition&&(t.textPosition=e)}function Nh(t,e,i){i.style.text=null,Io(i,{shape:{width:0}},e,t,function(){i.parent&&i.parent.remove(i)})}function Oh(t,e,i){i.style.text=null,Io(i,{shape:{r:i.shape.r0}},e,t,function(){i.parent&&i.parent.remove(i)})}function Eh(t,e,i,n,o,a,s,l){var u=e.getItemVisual(i,"color"),h=e.getItemVisual(i,"opacity"),c=n.getModel("itemStyle"),d=n.getModel("emphasis.itemStyle").getBarItemStyle();l||t.setShape("r",c.get("barBorderRadius")||0),t.useStyle(r({fill:u,opacity:h},c.getBarItemStyle()));var f=n.getShallow("cursor");f&&t.attr("cursor",f);var p=s?o.height>0?"bottom":"top":o.width>0?"left":"right";l||kh(t.style,d,n,u,a,i,p),fo(t,d)}function Rh(t,e){var i=t.get(tC)||0;return Math.min(i,Math.abs(e.width),Math.abs(e.height))}function zh(t,e,i){var n=t.getData(),o=[],a=n.getLayout("valueAxisHorizontal")?1:0;o[1-a]=n.getLayout("valueAxisStart");var r=new nC({shape:{points:n.getLayout("largePoints")},incremental:!!i,__startPoint:o,__valueIdx:a});e.add(r),Bh(r,t,n)}function Bh(t,e,i){var n=i.getVisual("borderColor")||i.getVisual("color"),o=e.getModel("itemStyle").getItemStyle(["color","borderColor"]);t.useStyle(o),t.style.fill=null,t.style.stroke=n,t.style.lineWidth=i.getLayout("barWidth")}function Vh(t,e,i,n){var o=e.getData(),a=this.dataIndex,r=o.getName(a),s=e.get("selectedOffset");n.dispatchAction({type:"pieToggleSelect",from:t,name:r,seriesId:e.id}),o.each(function(t){Gh(o.getItemGraphicEl(t),o.getItemLayout(t),e.isSelected(o.getName(t)),s,i)})}function Gh(t,e,i,n,o){var a=(e.startAngle+e.endAngle)/2,r=Math.cos(a),s=Math.sin(a),l=i?n:0,u=[r*l,s*l];o?t.animate().when(200,{position:u}).start("bounceOut"):t.attr("position",u)}function Fh(t,e){function i(){a.ignore=a.hoverIgnore,r.ignore=r.hoverIgnore}function n(){a.ignore=a.normalIgnore,r.ignore=r.normalIgnore}tb.call(this);var o=new hM({z2:2}),a=new gM,r=new rM;this.add(o),this.add(a),this.add(r),this.updateData(t,e,!0),this.on("emphasis",i).on("normal",n).on("mouseover",i).on("mouseout",n)}function Wh(t,e,i,n,o,a,r){function s(e,i){for(var n=e;n>=0&&(t[n].y-=i,!(n>0&&t[n].y>t[n-1].y+t[n-1].height));n--);}function l(t,e,i,n,o,a){for(var r=e?Number.MAX_VALUE:0,s=0,l=t.length;s<l;s++){var u=Math.abs(t[s].y-n),h=t[s].len,c=t[s].len2,d=u<o+h?Math.sqrt((o+h+c)*(o+h+c)-u*u):Math.abs(t[s].x-i);e&&d>=r&&(d=r-10),!e&&d<=r&&(d=r+10),t[s].x=i+d*a,r=d}}t.sort(function(t,e){return t.y-e.y});for(var u,h=0,c=t.length,d=[],f=[],p=0;p<c;p++)(u=t[p].y-h)<0&&function(e,i,n,o){for(var a=e;a<i;a++)if(t[a].y+=n,a>e&&a+1<i&&t[a+1].y>t[a].y+t[a].height)return void s(a,n/2);s(i-1,n/2)}(p,c,-u),h=t[p].y+t[p].height;r-h<0&&s(c-1,h-r);for(p=0;p<c;p++)t[p].y>=i?f.push(t[p]):d.push(t[p]);l(d,!1,e,i,n,o),l(f,!0,e,i,n,o)}function Hh(t,e,i,n,o,a){for(var r=[],s=[],l=0;l<t.length;l++)Zh(t[l])||(t[l].x<e?r.push(t[l]):s.push(t[l]));Wh(s,e,i,n,1,o,a),Wh(r,e,i,n,-1,o,a);for(l=0;l<t.length;l++)if(!Zh(t[l])){var u=t[l].linePoints;if(u){var h=u[1][0]-u[2][0];t[l].x<e?u[2][0]=t[l].x+3:u[2][0]=t[l].x-3,u[1][1]=u[2][1]=t[l].y,u[1][0]=u[2][0]+h}}}function Zh(t){return"center"===t.position}function Uh(){this.group=new tb}function Xh(t,e,i){aD.call(this,t,e,i),this.type="value",this.angle=0,this.name="",this.model}function jh(t,e,i){this._model=t,this.dimensions=[],this._indicatorAxes=f(t.getIndicatorModels(),function(t,e){var i="indicator_"+e,n=new Xh(i,new TA);return n.name=t.get("name"),n.model=t,t.axis=n,this.dimensions.push(i),n},this),this.resize(t,i),this.cx,this.cy,this.r,this.r0,this.startAngle}function Yh(t,e){return r({show:e},t)}function qh(t){return y(t)||(t=[+t,+t]),t}function Kh(t){for(var e,i=0;i<t.length;i++){var n=t[i].getBoundingRect();(e=e||n.clone()).union(n)}return e}function $h(t,e){var i,n,o=t.svgXML;try{k(null!=(n=(i=o&&rs(o,{ignoreViewBox:!0,ignoreRootClip:!0})||{}).root))}catch(t){throw new Error("Invalid svg format\n"+t.message)}var a=i.width,r=i.height,s=i.viewBoxRect;if(e||(e=null==a||null==r?n.getBoundingRect():new de(0,0,0,0),null!=a&&(e.width=a),null!=r&&(e.height=r)),s){var l=as(s,e.width,e.height),u=n;(n=new tb).add(u),u.scale=l.scale,u.position=l.position}return n.setClipPath(new yM({shape:e.plain()})),{root:n,boundingRect:e}}function Jh(t){return function(e,i){var n=[];return d(Qh(e),function(o){var a=NC[o.type][t];a&&n.push(a(e,o,i))}),n}}function Qh(t){return DT.retrieveMap(t)||[]}function tc(t,e,i){nc(t)[e]=i}function ec(t,e,i){var n=nc(t);n[e]===i&&(n[e]=null)}function ic(t,e){return!!nc(t)[e]}function nc(t){return t[EC]||(t[EC]={})}function oc(t){this.pointerChecker,this._zr=t,this._opt={};var e=m,n=e(ac,this),o=e(rc,this),a=e(sc,this),s=e(lc,this),l=e(uc,this);fw.call(this),this.setPointerChecker=function(t){this.pointerChecker=t},this.enable=function(e,u){this.disable(),this._opt=r(i(u)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),null==e&&(e=!0),!0!==e&&"move"!==e&&"pan"!==e||(t.on("mousedown",n),t.on("mousemove",o),t.on("mouseup",a)),!0!==e&&"scale"!==e&&"zoom"!==e||(t.on("mousewheel",s),t.on("pinch",l))},this.disable=function(){t.off("mousedown",n),t.off("mousemove",o),t.off("mouseup",a),t.off("mousewheel",s),t.off("pinch",l)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}function ac(t){if(!(dt(t)||t.target&&t.target.draggable)){var e=t.offsetX,i=t.offsetY;this.pointerChecker&&this.pointerChecker(t,e,i)&&(this._x=e,this._y=i,this._dragging=!0)}}function rc(t){if(this._dragging&&dc("moveOnMouseMove",t,this._opt)&&"pinch"!==t.gestureEvent&&!ic(this._zr,"globalPan")){var e=t.offsetX,i=t.offsetY,n=this._x,o=this._y,a=e-n,r=i-o;this._x=e,this._y=i,this._opt.preventDefaultMouseMove&&mw(t.event),cc(this,"pan","moveOnMouseMove",t,{dx:a,dy:r,oldX:n,oldY:o,newX:e,newY:i})}}function sc(t){dt(t)||(this._dragging=!1)}function lc(t){var e=dc("zoomOnMouseWheel",t,this._opt),i=dc("moveOnMouseWheel",t,this._opt),n=t.wheelDelta,o=Math.abs(n),a=t.offsetX,r=t.offsetY;if(0!==n&&(e||i)){if(e){var s=o>3?1.4:o>1?1.2:1.1;hc(this,"zoom","zoomOnMouseWheel",t,{scale:n>0?s:1/s,originX:a,originY:r})}if(i){var l=Math.abs(n);hc(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:(n>0?1:-1)*(l>3?.4:l>1?.15:.05),originX:a,originY:r})}}}function uc(t){ic(this._zr,"globalPan")||hc(this,"zoom",null,t,{scale:t.pinchScale>1?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY})}function hc(t,e,i,n,o){t.pointerChecker&&t.pointerChecker(n,o.originX,o.originY)&&(mw(n.event),cc(t,e,i,n,o))}function cc(t,e,i,n,o){o.isAvailableBehavior=m(dc,null,i,n),t.trigger(e,o)}function dc(t,e,i){var n=i[t];return!t||n&&(!_(n)||e.event[n+"Key"])}function fc(t,e,i){var n=t.target,o=n.position;o[0]+=e,o[1]+=i,n.dirty()}function pc(t,e,i,n){var o=t.target,a=t.zoomLimit,r=o.position,s=o.scale,l=t.zoom=t.zoom||1;if(l*=e,a){var u=a.min||0,h=a.max||1/0;l=Math.max(Math.min(h,l),u)}var c=l/t.zoom;t.zoom=l,r[0]-=(i-r[0])*(c-1),r[1]-=(n-r[1])*(c-1),s[0]*=c,s[1]*=c,o.dirty()}function gc(t,e,i){var n=e.getComponentByElement(t.topTarget),o=n&&n.coordinateSystem;return n&&n!==i&&!RC[n.mainType]&&o&&o.model!==i}function mc(t,e){var i=t.getItemStyle(),n=t.get("areaColor");return null!=n&&(i.fill=n),i}function vc(t,e,i,n,o){i.off("click"),i.off("mousedown"),e.get("selectedMode")&&(i.on("mousedown",function(){t._mouseDownFlag=!0}),i.on("click",function(a){if(t._mouseDownFlag){t._mouseDownFlag=!1;for(var r=a.target;!r.__regions;)r=r.parent;if(r){var s={type:("geo"===e.mainType?"geo":"map")+"ToggleSelect",batch:f(r.__regions,function(t){return{name:t.name,from:o.uid}})};s[e.mainType+"Id"]=e.id,n.dispatchAction(s),yc(e,i)}}}))}function yc(t,e){e.eachChild(function(e){d(e.__regions,function(i){e.trigger(t.isSelected(i.name)?"emphasis":"normal")})})}function xc(t,e){var i=new tb;this.uid=Ro("ec_map_draw"),this._controller=new oc(t.getZr()),this._controllerHost={target:e?i:null},this.group=i,this._updateGroup=e,this._mouseDownFlag,this._mapName,this._initialized,i.add(this._regionsGroup=new tb),i.add(this._backgroundGroup=new tb)}function _c(t){var e=this[zC];e&&e.recordVersion===this[BC]&&wc(e,t)}function wc(t,e){var i=t.circle,n=t.labelModel,o=t.hoverLabelModel,a=t.emphasisText,r=t.normalText;e?(i.style.extendFrom(mo({},o,{text:o.get("show")?a:null},{isRectText:!0,useInsideStyle:!1},!0)),i.__mapOriginalZ2=i.z2,i.z2+=NM):(mo(i.style,n,{text:n.get("show")?r:null,textPosition:n.getShallow("position")||"bottom"},{isRectText:!0,useInsideStyle:!1}),i.dirty(!1),null!=i.__mapOriginalZ2&&(i.z2=i.__mapOriginalZ2,i.__mapOriginalZ2=null))}function bc(t,e,i){var n=t.getZoom(),o=t.getCenter(),a=e.zoom,r=t.dataToPoint(o);if(null!=e.dx&&null!=e.dy){r[0]-=e.dx,r[1]-=e.dy;o=t.pointToData(r);t.setCenter(o)}if(null!=a){if(i){var s=i.min||0,l=i.max||1/0;a=Math.max(Math.min(n*a,l),s)/n}t.scale[0]*=a,t.scale[1]*=a;var u=t.position,h=(e.originX-u[0])*(a-1),c=(e.originY-u[1])*(a-1);u[0]-=h,u[1]-=c,t.updateTransform();o=t.pointToData(r);t.setCenter(o),t.setZoom(a*n)}return{center:t.getCenter(),zoom:t.getZoom()}}function Sc(){Tw.call(this)}function Mc(t){this.name=t,this.zoomLimit,Tw.call(this),this._roamTransformable=new Sc,this._rawTransformable=new Sc,this._center,this._zoom}function Ic(t,e,i,n){var o=i.seriesModel,a=o?o.coordinateSystem:null;return a===this?a[t](n):null}function Tc(t,e,i,n){Mc.call(this,t),this.map=e;var o=OC.load(e,i);this._nameCoordMap=o.nameCoordMap,this._regionsMap=o.regionsMap,this._invertLongitute=null==n||n,this.regions=o.regions,this._rect=o.boundingRect}function Ac(t,e,i,n){var o=i.geoModel,a=i.seriesModel,r=o?o.coordinateSystem:a?a.coordinateSystem||(a.getReferringComponents("geo")[0]||{}).coordinateSystem:null;return r===this?r[t](n):null}function Dc(t,e){var i=t.get("boundingCoords");if(null!=i){var n=i[0],o=i[1];isNaN(n[0])||isNaN(n[1])||isNaN(o[0])||isNaN(o[1])||this.setBoundingRect(n[0],n[1],o[0]-n[0],o[1]-n[1])}var a,r=this.getBoundingRect(),s=t.get("layoutCenter"),l=t.get("layoutSize"),u=e.getWidth(),h=e.getHeight(),c=r.width/r.height*this.aspectScale,d=!1;s&&l&&(s=[Vo(s[0],u),Vo(s[1],h)],l=Vo(l,Math.min(u,h)),isNaN(s[0])||isNaN(s[1])||isNaN(l)||(d=!0));if(d){var f={};c>1?(f.width=l,f.height=l/c):(f.height=l,f.width=l*c),f.y=s[1]-f.height/2,f.x=s[0]-f.width/2}else(a=t.getBoxLayoutParams()).aspect=c,f=ca(a,{width:u,height:h});this.setViewRect(f.x,f.y,f.width,f.height),this.setCenter(t.get("center")),this.setZoom(t.get("zoom"))}function Cc(t,e){d(e.get("geoCoord"),function(e,i){t.addGeoCoord(i,e)})}function Lc(t,e){var i={};return d(t,function(t){t.each(t.mapDimension("value"),function(e,n){var o="ec-"+t.getName(n);i[o]=i[o]||[],isNaN(e)||i[o].push(e)})}),t[0].map(t[0].mapDimension("value"),function(n,o){for(var a="ec-"+t[0].getName(o),r=0,s=1/0,l=-1/0,u=i[a].length,h=0;h<u;h++)s=Math.min(s,i[a][h]),l=Math.max(l,i[a][h]),r+=i[a][h];var c;return c="min"===e?s:"max"===e?l:"average"===e?r/u:r,0===u?NaN:c})}function kc(t){var e=t.mainData,i=t.datas;i||(i={main:e},t.datasAttr={main:"data"}),t.datas=t.mainData=null,zc(e,i,t),FC(i,function(i){FC(e.TRANSFERABLE_METHODS,function(e){i.wrapMethod(e,v(Pc,t))})}),e.wrapMethod("cloneShallow",v(Oc,t)),FC(e.CHANGABLE_METHODS,function(i){e.wrapMethod(i,v(Nc,t))}),k(i[e.dataType]===e)}function Pc(t,e){if(Rc(this)){var i=a({},this[WC]);i[this.dataType]=e,zc(e,i,t)}else Bc(e,this.dataType,this[HC],t);return e}function Nc(t,e){return t.struct&&t.struct.update(this),e}function Oc(t,e){return FC(e[WC],function(i,n){i!==e&&Bc(i.cloneShallow(),n,e,t)}),e}function Ec(t){var e=this[HC];return null==t||null==e?e:e[WC][t]}function Rc(t){return t[HC]===t}function zc(t,e,i){t[WC]={},FC(e,function(e,n){Bc(e,n,t,i)})}function Bc(t,e,i,n){i[WC][e]=t,t[HC]=i,t.dataType=e,n.struct&&(t[n.structAttr]=n.struct,n.struct[n.datasAttr[e]]=t),t.getLinkedData=Ec}function Vc(t,e,i){this.root,this.data,this._nodes=[],this.hostModel=t,this.levelModels=f(e||[],function(e){return new No(e,t,t.ecModel)}),this.leavesModel=new No(i||{},t,t.ecModel)}function Gc(t,e){var i=e.children;t.parentNode!==e&&(i.push(t),t.parentNode=e)}function Fc(t){t.hierNode={defaultAncestor:null,ancestor:t,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var e,i,n=[t];e=n.pop();)if(i=e.children,e.isExpand&&i.length)for(var o=i.length-1;o>=0;o--){var a=i[o];a.hierNode={defaultAncestor:null,ancestor:a,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},n.push(a)}}function Wc(t,e){var i=t.isExpand?t.children:[],n=t.parentNode.children,o=t.hierNode.i?n[t.hierNode.i-1]:null;if(i.length){jc(t);var a=(i[0].hierNode.prelim+i[i.length-1].hierNode.prelim)/2;o?(t.hierNode.prelim=o.hierNode.prelim+e(t,o),t.hierNode.modifier=t.hierNode.prelim-a):t.hierNode.prelim=a}else o&&(t.hierNode.prelim=o.hierNode.prelim+e(t,o));t.parentNode.hierNode.defaultAncestor=Yc(t,o,t.parentNode.hierNode.defaultAncestor||n[0],e)}function Hc(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function Zc(t){return arguments.length?t:Qc}function Uc(t,e){var i={};return t-=Math.PI/2,i.x=e*Math.cos(t),i.y=e*Math.sin(t),i}function Xc(t,e){return ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function jc(t){for(var e=t.children,i=e.length,n=0,o=0;--i>=0;){var a=e[i];a.hierNode.prelim+=n,a.hierNode.modifier+=n,o+=a.hierNode.change,n+=a.hierNode.shift+o}}function Yc(t,e,i,n){if(e){for(var o=t,a=t,r=a.parentNode.children[0],s=e,l=o.hierNode.modifier,u=a.hierNode.modifier,h=r.hierNode.modifier,c=s.hierNode.modifier;s=qc(s),a=Kc(a),s&&a;){o=qc(o),r=Kc(r),o.hierNode.ancestor=t;var d=s.hierNode.prelim+c-a.hierNode.prelim-u+n(s,a);d>0&&(Jc($c(s,t,i),t,d),u+=d,l+=d),c+=s.hierNode.modifier,u+=a.hierNode.modifier,l+=o.hierNode.modifier,h+=r.hierNode.modifier}s&&!qc(o)&&(o.hierNode.thread=s,o.hierNode.modifier+=c-l),a&&!Kc(r)&&(r.hierNode.thread=a,r.hierNode.modifier+=u-h,i=t)}return i}function qc(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function Kc(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function $c(t,e,i){return t.hierNode.ancestor.parentNode===e.parentNode?t.hierNode.ancestor:i}function Jc(t,e,i){var n=i/(e.hierNode.i-t.hierNode.i);e.hierNode.change-=n,e.hierNode.shift+=i,e.hierNode.modifier+=i,e.hierNode.prelim+=i,t.hierNode.change+=n}function Qc(t,e){return t.parentNode===e.parentNode?1:2}function td(t,e){var i=t.getItemLayout(e);return i&&!isNaN(i.x)&&!isNaN(i.y)&&"none"!==t.getItemVisual(e,"symbol")}function ed(t,e,i){return i.itemModel=e,i.itemStyle=e.getModel("itemStyle").getItemStyle(),i.hoverItemStyle=e.getModel("emphasis.itemStyle").getItemStyle(),i.lineStyle=e.getModel("lineStyle").getLineStyle(),i.labelModel=e.getModel("label"),i.hoverLabelModel=e.getModel("emphasis.label"),!1===t.isExpand&&0!==t.children.length?i.symbolInnerColor=i.itemStyle.fill:i.symbolInnerColor="#fff",i}function id(t,e,i,n,o,a){var s=!i,l=t.tree.getNodeByDataIndex(e),a=ed(l,l.getModel(),a),u=t.tree.root,h=l.parentNode===u?l:l.parentNode||l,c=t.getItemGraphicEl(h.dataIndex),d=h.getLayout(),f=c?{x:c.position[0],y:c.position[1],rawX:c.__radialOldRawX,rawY:c.__radialOldRawY}:d,p=l.getLayout();s?(i=new wu(t,e,a)).attr("position",[f.x,f.y]):i.updateData(t,e,a),i.__radialOldRawX=i.__radialRawX,i.__radialOldRawY=i.__radialRawY,i.__radialRawX=p.rawX,i.__radialRawY=p.rawY,n.add(i),t.setItemGraphicEl(e,i),Io(i,{position:[p.x,p.y]},o);var g=i.getSymbolPath();if("radial"===a.layout){var m,v,y=u.children[0],x=y.getLayout(),_=y.children.length;if(p.x===x.x&&!0===l.isExpand){var w={};w.x=(y.children[0].getLayout().x+y.children[_-1].getLayout().x)/2,w.y=(y.children[0].getLayout().y+y.children[_-1].getLayout().y)/2,(m=Math.atan2(w.y-x.y,w.x-x.x))<0&&(m=2*Math.PI+m),(v=w.x<x.x)&&(m-=Math.PI)}else(m=Math.atan2(p.y-x.y,p.x-x.x))<0&&(m=2*Math.PI+m),0===l.children.length||0!==l.children.length&&!1===l.isExpand?(v=p.x<x.x)&&(m-=Math.PI):(v=p.x>x.x)||(m-=Math.PI);var b=v?"left":"right";g.setStyle({textPosition:b,textRotation:-m,textOrigin:"center",verticalAlign:"middle"})}if(l.parentNode&&l.parentNode!==u){var S=i.__edge;S||(S=i.__edge=new bM({shape:od(a,f,f),style:r({opacity:0,strokeNoScale:!0},a.lineStyle)})),Io(S,{shape:od(a,d,p),style:{opacity:1}},o),n.add(S)}}function nd(t,e,i,n,o,a){for(var r,s=t.tree.getNodeByDataIndex(e),l=t.tree.root,a=ed(s,s.getModel(),a),u=s.parentNode===l?s:s.parentNode||s;null==(r=u.getLayout());)u=u.parentNode===l?u:u.parentNode||u;Io(i,{position:[r.x+1,r.y+1]},o,function(){n.remove(i),t.setItemGraphicEl(e,null)}),i.fadeOut(null,{keepLabel:!0});var h=i.__edge;h&&Io(h,{shape:od(a,r,r),style:{opacity:0}},o,function(){n.remove(h)})}function od(t,e,i){var n,o,a,r,s,l,u,h,c=t.orient;if("radial"===t.layout){s=e.rawX,u=e.rawY,l=i.rawX,h=i.rawY;var d=Uc(s,u),f=Uc(s,u+(h-u)*t.curvature),p=Uc(l,h+(u-h)*t.curvature),g=Uc(l,h);return{x1:d.x,y1:d.y,x2:g.x,y2:g.y,cpx1:f.x,cpy1:f.y,cpx2:p.x,cpy2:p.y}}return s=e.x,u=e.y,l=i.x,h=i.y,"LR"!==c&&"RL"!==c||(n=s+(l-s)*t.curvature,o=u,a=l+(s-l)*t.curvature,r=h),"TB"!==c&&"BT"!==c||(n=s,o=u+(h-u)*t.curvature,a=l,r=h+(u-h)*t.curvature),{x1:s,y1:u,x2:l,y2:h,cpx1:n,cpy1:o,cpx2:a,cpy2:r}}function ad(t,e,i){for(var n,o=[t],a=[];n=o.pop();)if(a.push(n),n.isExpand){var r=n.children;if(r.length)for(var s=0;s<r.length;s++)o.push(r[s])}for(;n=a.pop();)e(n,i)}function rd(t,e){for(var i,n=[t];i=n.pop();)if(e(i),i.isExpand){var o=i.children;if(o.length)for(var a=o.length-1;a>=0;a--)n.push(o[a])}}function sd(t,e){var i=Xc(t,e);t.layoutInfo=i;var n=t.get("layout"),o=0,a=0,r=null;"radial"===n?(o=2*Math.PI,a=Math.min(i.height,i.width)/2,r=Zc(function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth})):(o=i.width,a=i.height,r=Zc());var s=t.getData().tree.root,l=s.children[0];if(l){Fc(s),ad(l,Wc,r),s.hierNode.modifier=-l.hierNode.prelim,rd(l,Hc);var u=l,h=l,c=l;rd(l,function(t){var e=t.getLayout().x;e<u.getLayout().x&&(u=t),e>h.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)});var d=u===h?1:r(u,h)/2,f=d-u.getLayout().x,p=0,g=0,m=0,v=0;if("radial"===n)p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),rd(l,function(t){m=(t.getLayout().x+f)*p,v=(t.depth-1)*g;var e=Uc(m,v);t.setLayout({x:e.x,y:e.y,rawX:m,rawY:v},!0)});else{var y=t.getOrient();"RL"===y||"LR"===y?(g=a/(h.getLayout().x+d+f),p=o/(c.depth-1||1),rd(l,function(t){v=(t.getLayout().x+f)*g,m="LR"===y?(t.depth-1)*p:o-(t.depth-1)*p,t.setLayout({x:m,y:v},!0)})):"TB"!==y&&"BT"!==y||(p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),rd(l,function(t){m=(t.getLayout().x+f)*p,v="TB"===y?(t.depth-1)*g:a-(t.depth-1)*g,t.setLayout({x:m,y:v},!0)}))}}}function ld(t,e,i){if(t&&l(e,t.type)>=0){var n=i.getData().tree.root,o=t.targetNode;if("string"==typeof o&&(o=n.getNodeById(o)),o&&n.contains(o))return{node:o};var a=t.targetNodeId;if(null!=a&&(o=n.getNodeById(a)))return{node:o}}}function ud(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reverse()}function hd(t,e){return l(ud(t),e)>=0}function cd(t,e){for(var i=[];t;){var n=t.dataIndex;i.push({name:t.name,dataIndex:n,value:e.getRawValue(n)}),t=t.parentNode}return i.reverse(),i}function dd(t){var e=0;d(t.children,function(t){dd(t);var i=t.value;y(i)&&(i=i[0]),e+=i});var i=t.value;y(i)&&(i=i[0]),(null==i||isNaN(i))&&(i=e),i<0&&(i=0),y(t.value)?t.value[0]=i:t.value=i}function fd(t,e){var i=e.get("color");if(i){var n;return d(t=t||[],function(t){var e=new No(t),i=e.get("color");(e.get("itemStyle.color")||i&&"none"!==i)&&(n=!0)}),n||((t[0]||(t[0]={})).color=i.slice()),t}}function pd(t){this.group=new tb,t.add(this.group)}function gd(t,e,i,n,o,a){var r=[[o?t:t-UC,e],[t+i,e],[t+i,e+n],[o?t:t-UC,e+n]];return!a&&r.splice(2,0,[t+i+UC,e+n/2]),!o&&r.push([t,e+n/2]),r}function md(t,e,i){t.eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.componentIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:i&&i.dataIndex,name:i&&i.name},treePathInfo:i&&cd(i,e)}}function vd(){var t,e=[],i={};return{add:function(t,n,o,a,r){return _(a)&&(r=a,a=0),!i[t.id]&&(i[t.id]=1,e.push({el:t,target:n,time:o,delay:a,easing:r}),!0)},done:function(e){return t=e,this},start:function(){for(var n=e.length,o=0,a=e.length;o<a;o++){var r=e[o];r.el.animateTo(r.target,r.time,r.delay,r.easing,function(){--n||(e.length=0,i={},t&&t())})}return this}}}function yd(t,e,n,o,r,s,l,u,h,c){function d(t,e){w?!t.invisible&&s.push(t):(e(),t.__tmWillVisible||(t.invisible=!1))}function f(e,n,o,a,r,s){var u=l.getModel(),h=T(t.getFormattedLabel(l.dataIndex,"normal",null,null,s?"upperLabel":"label"),u.get("name"));if(!s&&v.isLeafRoot){var c=t.get("drillDownIcon",!0);h=c?c+" "+h:h}var d=u.getModel(s?JC:KC),f=u.getModel(s?QC:$C),p=d.getShallow("show");go(e,n,d,f,{defaultText:p?h:null,autoColor:o,isRectText:!0}),s&&(e.textRect=i(s)),e.truncate=p&&d.get("ellipsis")?{outerWidth:a,outerHeight:r,minChar:2}:null}function p(t,i,o,a){var s=null!=S&&n[t][S],l=r[t];return s?(n[t][S]=null,g(l,s,t)):w||((s=new i({z:xd(o,a)})).__tmDepth=o,s.__tmStorageName=t,m(l,s,t)),e[t][b]=s}function g(t,e,i){(t[b]={}).old="nodeGroup"===i?e.position.slice():a({},e.shape)}function m(t,e,i){var n=t[b]={},a=l.parentNode;if(a&&(!o||"drillDown"===o.direction)){var s=0,u=0,h=r.background[a.getRawIndex()];!o&&h&&h.old&&(s=h.old.width,u=h.old.height),n.old="nodeGroup"===i?[0,u]:{x:s,y:u,width:0,height:0}}n.fadein="nodeGroup"!==i}if(l){var v=l.getLayout();if(v&&v.isInView){var y=v.width,x=v.height,_=v.borderWidth,w=v.invisible,b=l.getRawIndex(),S=u&&u.getRawIndex(),M=l.viewChildren,I=v.upperHeight,A=M&&M.length,D=l.getModel("itemStyle"),C=l.getModel("emphasis.itemStyle"),L=p("nodeGroup",jC);if(L){if(h.add(L),L.attr("position",[v.x||0,v.y||0]),L.__tmNodeWidth=y,L.__tmNodeHeight=x,v.isAboveViewRoot)return L;var k=p("background",YC,c,eL);if(k&&function(e,i,n){i.dataIndex=l.dataIndex,i.seriesIndex=t.seriesIndex,i.setShape({x:0,y:0,width:y,height:x});var o=l.getVisual("borderColor",!0),a=C.get("borderColor");d(i,function(){var t=oL(D);t.fill=o;var e=nL(C);if(e.fill=a,n){var r=y-2*_;f(t,e,o,r,I,{x:_,y:0,width:r,height:I})}else t.text=e.text=null;i.setStyle(t),fo(i,e)}),e.add(i)}(L,k,A&&v.upperHeight),!A){var P=p("content",YC,c,iL);P&&function(e,i){i.dataIndex=l.dataIndex,i.seriesIndex=t.seriesIndex;var n=Math.max(y-2*_,0),o=Math.max(x-2*_,0);i.culling=!0,i.setShape({x:_,y:_,width:n,height:o});var a=l.getVisual("color",!0);d(i,function(){var t=oL(D);t.fill=a;var e=nL(C);f(t,e,a,n,o),i.setStyle(t),fo(i,e)}),e.add(i)}(L,P)}return L}}}}function xd(t,e){var i=t*tL+e;return(i-1)/i}function _d(t){var e=t.pieceList;t.hasSpecialVisual=!1,d(e,function(e,i){e.originIndex=i,null!=e.visual&&(t.hasSpecialVisual=!0)})}function wd(t){var e=t.categories,i=t.visual,n=t.categoryMap={};if(sL(e,function(t,e){n[t]=e}),!y(i)){var o=[];w(i)?sL(i,function(t,e){var i=n[e];o[null!=i?i:uL]=t}):o[uL]=i,i=Ld(t,o)}for(var a=e.length-1;a>=0;a--)null==i[a]&&(delete n[e[a]],e.pop())}function bd(t,e){var i=t.visual,n=[];w(i)?sL(i,function(t){n.push(t)}):null!=i&&n.push(i);var o={color:1,symbol:1};e||1!==n.length||o.hasOwnProperty(t.type)||(n[1]=n[0]),Ld(t,n)}function Sd(t){return{applyVisual:function(e,i,n){e=this.mapValueToVisual(e),n("color",t(i("color"),e))},_doMap:Dd([0,1])}}function Md(t){var e=this.option.visual;return e[Math.round(Bo(t,[0,1],[0,e.length-1],!0))]||{}}function Id(t){return function(e,i,n){n(t,this.mapValueToVisual(e))}}function Td(t){var e=this.option.visual;return e[this.option.loop&&t!==uL?t%e.length:t]}function Ad(){return this.option.visual[0]}function Dd(t){return{linear:function(e){return Bo(e,t,this.option.visual,!0)},category:Td,piecewise:function(e,i){var n=Cd.call(this,i);return null==n&&(n=Bo(e,t,this.option.visual,!0)),n},fixed:Ad}}function Cd(t){var e=this.option,i=e.pieceList;if(e.hasSpecialVisual){var n=i[hL.findPieceIndex(t,i)];if(n&&n.visual)return n.visual[this.type]}}function Ld(t,e){return t.visual=e,"color"===t.type&&(t.parsedVisual=f(e,function(t){return Gt(t)})),e}function kd(t,e,i){return t?e<=i:e<i}function Pd(t,e,i,n,o,a){var r=t.getModel(),s=t.getLayout();if(s&&!s.invisible&&s.isInView){var l,u=t.getModel(pL),h=Nd(u,e,i[t.depth],n),c=u.get("borderColor"),f=u.get("borderColorSaturation");null!=f&&(c=Ed(f,l=Od(h))),t.setVisual("borderColor",c);var p=t.viewChildren;if(p&&p.length){var g=zd(t,r,s,u,h,p);d(p,function(t,e){(t.depth>=o.length||t===o[t.depth])&&Pd(t,Vd(r,h,t,e,g,a),i,n,o,a)})}else l=Od(h),t.setVisual("color",l)}}function Nd(t,e,i,n){var o=a({},e);return d(["color","colorAlpha","colorSaturation"],function(a){var r=t.get(a,!0);null==r&&i&&(r=i[a]),null==r&&(r=e[a]),null==r&&(r=n.get(a)),null!=r&&(o[a]=r)}),o}function Od(t){var e=Rd(t,"color");if(e){var i=Rd(t,"colorAlpha"),n=Rd(t,"colorSaturation");return n&&(e=jt(e,null,null,n)),i&&(e=Yt(e,i)),e}}function Ed(t,e){return null!=e?jt(e,null,null,t):null}function Rd(t,e){var i=t[e];if(null!=i&&"none"!==i)return i}function zd(t,e,i,n,o,a){if(a&&a.length){var r=Bd(e,"color")||null!=o.color&&"none"!==o.color&&(Bd(e,"colorAlpha")||Bd(e,"colorSaturation"));if(r){var s=e.get("visualMin"),l=e.get("visualMax"),u=i.dataExtent.slice();null!=s&&s<u[0]&&(u[0]=s),null!=l&&l>u[1]&&(u[1]=l);var h=e.get("colorMappingBy"),c={type:r.name,dataExtent:u,visual:r.range};"color"!==c.type||"index"!==h&&"id"!==h?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var d=new hL(c);return d.__drColorMappingBy=h,d}}}function Bd(t,e){var i=t.get(e);return fL(i)&&i.length?{name:e,range:i}:null}function Vd(t,e,i,n,o,r){var s=a({},e);if(o){var l=o.type,u="color"===l&&o.__drColorMappingBy,h="index"===u?n:"id"===u?r.mapIdToIndex(i.getId()):i.getValue(t.get("visualDimension"));s[l]=o.mapValueToVisual(h)}return s}function Gd(t,e,i,n){var o,a;if(!t.isRemoved()){var r=t.getLayout();o=r.width,a=r.height;var s=(f=t.getModel()).get(_L),l=f.get(wL)/2,u=Kd(f),h=Math.max(s,u),c=s-l,d=h-l,f=t.getModel();t.setLayout({borderWidth:s,upperHeight:h,upperLabelHeight:u},!0);var p=(o=mL(o-2*c,0))*(a=mL(a-c-d,0)),g=Fd(t,f,p,e,i,n);if(g.length){var m={x:c,y:d,width:o,height:a},v=vL(o,a),y=1/0,x=[];x.area=0;for(var _=0,w=g.length;_<w;){var b=g[_];x.push(b),x.area+=b.getLayout().area;var S=Ud(x,v,e.squareRatio);S<=y?(_++,y=S):(x.area-=x.pop().getLayout().area,Xd(x,v,m,l,!1),v=vL(m.width,m.height),x.length=x.area=0,y=1/0)}if(x.length&&Xd(x,v,m,l,!0),!i){var M=f.get("childrenVisibleMin");null!=M&&p<M&&(i=!0)}for(var _=0,w=g.length;_<w;_++)Gd(g[_],e,i,n+1)}}}function Fd(t,e,i,n,o,a){var r=t.children||[],s=n.sort;"asc"!==s&&"desc"!==s&&(s=null);var l=null!=n.leafDepth&&n.leafDepth<=a;if(o&&!l)return t.viewChildren=[];Hd(r=g(r,function(t){return!t.isRemoved()}),s);var u=Zd(e,r,s);if(0===u.sum)return t.viewChildren=[];if(u.sum=Wd(e,i,u.sum,s,r),0===u.sum)return t.viewChildren=[];for(var h=0,c=r.length;h<c;h++){var d=r[h].getValue()/u.sum*i;r[h].setLayout({area:d})}return l&&(r.length&&t.setLayout({isLeafRoot:!0},!0),r.length=0),t.viewChildren=r,t.setLayout({dataExtent:u.dataExtent},!0),r}function Wd(t,e,i,n,o){if(!n)return i;for(var a=t.get("visibleMin"),r=o.length,s=r,l=r-1;l>=0;l--){var u=o["asc"===n?r-l-1:l].getValue();u/i*e<a&&(s=l,i-=u)}return"asc"===n?o.splice(0,r-s):o.splice(s,r-s),i}function Hd(t,e){return e&&t.sort(function(t,i){var n="asc"===e?t.getValue()-i.getValue():i.getValue()-t.getValue();return 0===n?"asc"===e?t.dataIndex-i.dataIndex:i.dataIndex-t.dataIndex:n}),t}function Zd(t,e,i){for(var n=0,o=0,a=e.length;o<a;o++)n+=e[o].getValue();var r=t.get("visualDimension");if(e&&e.length)if("value"===r&&i)s=[e[e.length-1].getValue(),e[0].getValue()],"asc"===i&&s.reverse();else{var s=[1/0,-1/0];xL(e,function(t){var e=t.getValue(r);e<s[0]&&(s[0]=e),e>s[1]&&(s[1]=e)})}else s=[NaN,NaN];return{sum:n,dataExtent:s}}function Ud(t,e,i){for(var n,o=0,a=1/0,r=0,s=t.length;r<s;r++)(n=t[r].getLayout().area)&&(n<a&&(a=n),n>o&&(o=n));var l=t.area*t.area,u=e*e*i;return l?mL(u*o/l,l/(u*a)):1/0}function Xd(t,e,i,n,o){var a=e===i.width?0:1,r=1-a,s=["x","y"],l=["width","height"],u=i[s[a]],h=e?t.area/e:0;(o||h>i[l[r]])&&(h=i[l[r]]);for(var c=0,d=t.length;c<d;c++){var f=t[c],p={},g=h?f.getLayout().area/h:0,m=p[l[r]]=mL(h-2*n,0),v=i[s[a]]+i[l[a]]-u,y=c===d-1||v<g?v:g,x=p[l[a]]=mL(y-2*n,0);p[s[r]]=i[s[r]]+vL(n,m/2),p[s[a]]=u+vL(n,x/2),u+=y,f.setLayout(p,!0)}i[s[r]]+=h,i[l[r]]-=h}function jd(t,e,i,n,o){var a=(e||{}).node,r=[n,o];if(!a||a===i)return r;for(var s,l=n*o,u=l*t.option.zoomToNodeRatio;s=a.parentNode;){for(var h=0,c=s.children,d=0,f=c.length;d<f;d++)h+=c[d].getValue();var p=a.getValue();if(0===p)return r;u*=h/p;var g=s.getModel(),m=g.get(_L);(u+=4*m*m+(3*m+Math.max(m,Kd(g)))*Math.pow(u,.5))>XM&&(u=XM),a=s}u<l&&(u=l);var v=Math.pow(u/l,.5);return[n*v,o*v]}function Yd(t,e,i){if(e)return{x:e.x,y:e.y};var n={x:0,y:0};if(!i)return n;var o=i.node,a=o.getLayout();if(!a)return n;for(var r=[a.width/2,a.height/2],s=o;s;){var l=s.getLayout();r[0]+=l.x,r[1]+=l.y,s=s.parentNode}return{x:t.width/2-r[0],y:t.height/2-r[1]}}function qd(t,e,i,n,o){var a=t.getLayout(),r=i[o],s=r&&r===t;if(!(r&&!s||o===i.length&&t!==n)){t.setLayout({isInView:!0,invisible:!s&&!e.intersect(a),isAboveViewRoot:s},!0);var l=new de(e.x-a.x,e.y-a.y,e.width,e.height);xL(t.viewChildren||[],function(t){qd(t,l,i,n,o+1)})}}function Kd(t){return t.get(bL)?t.get(SL):0}function $d(t){return"_EC_"+t}function Jd(t,e){this.id=null==t?"":t,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=null==e?-1:e}function Qd(t,e,i){this.node1=t,this.node2=e,this.dataIndex=null==i?-1:i}function tf(t){return isNaN(+t.cpx1)||isNaN(+t.cpy1)}function ef(t){return"_"+t+"Type"}function nf(t,e,i){var n=e.getItemVisual(i,"color"),o=e.getItemVisual(i,t),a=e.getItemVisual(i,t+"Size");if(o&&"none"!==o){y(a)||(a=[a,a]);var r=Jl(o,-a[0]/2,-a[1]/2,a[0],a[1],n);return r.name=t,r}}function of(t){var e=new PL({name:"line"});return af(e.shape,t),e}function af(t,e){var i=e[0],n=e[1],o=e[2];t.x1=i[0],t.y1=i[1],t.x2=n[0],t.y2=n[1],t.percent=1,o?(t.cpx1=o[0],t.cpy1=o[1]):(t.cpx1=NaN,t.cpy1=NaN)}function rf(t,e,i){tb.call(this),this._createLine(t,e,i)}function sf(t){this._ctor=t||rf,this.group=new tb}function lf(t,e,i,n){if(df(e.getItemLayout(i))){var o=new t._ctor(e,i,n);e.setItemGraphicEl(i,o),t.group.add(o)}}function uf(t,e,i,n,o,a){var r=e.getItemGraphicEl(n);df(i.getItemLayout(o))?(r?r.updateData(i,o,a):r=new t._ctor(i,o,a),i.setItemGraphicEl(o,r),t.group.add(r)):t.group.remove(r)}function hf(t){var e=t.hostModel;return{lineStyle:e.getModel("lineStyle").getLineStyle(),hoverLineStyle:e.getModel("emphasis.lineStyle").getLineStyle(),labelModel:e.getModel("label"),hoverLabelModel:e.getModel("emphasis.label")}}function cf(t){return isNaN(t[0])||isNaN(t[1])}function df(t){return!cf(t[0])&&!cf(t[1])}function ff(t,e,i){for(var n,o=t[0],a=t[1],r=t[2],s=1/0,l=i*i,u=.1,h=.1;h<=.9;h+=.1)RL[0]=VL(o[0],a[0],r[0],h),RL[1]=VL(o[1],a[1],r[1],h),(f=FL(GL(RL,e)-l))<s&&(s=f,n=h);for(var c=0;c<32;c++){var d=n+u;zL[0]=VL(o[0],a[0],r[0],n),zL[1]=VL(o[1],a[1],r[1],n),BL[0]=VL(o[0],a[0],r[0],d),BL[1]=VL(o[1],a[1],r[1],d);var f=GL(zL,e)-l;if(FL(f)<.01)break;var p=GL(BL,e)-l;u/=2,f<0?p>=0?n+=u:n-=u:p>=0?n-=u:n+=u}return n}function pf(t,e){return t.getVisual("opacity")||t.getModel().get(e)}function gf(t,e,i){var n=t.getGraphicEl(),o=pf(t,e);null!=i&&(null==o&&(o=1),o*=i),n.downplay&&n.downplay(),n.traverse(function(t){if("group"!==t.type){var e=t.lineLabelOriginalOpacity;null!=e&&null==i||(e=o),t.setStyle("opacity",e)}})}function mf(t,e){var i=pf(t,e),n=t.getGraphicEl();n.highlight&&n.highlight(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",i)})}function vf(t){return t instanceof Array||(t=[t,t]),t}function yf(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var i=t.getGraph();i.eachNode(function(t){var e=t.getModel();t.setLayout([+e.get("x"),+e.get("y")])}),xf(i)}}function xf(t){t.eachEdge(function(t){var e=t.getModel().get("lineStyle.curveness")||0,i=F(t.node1.getLayout()),n=F(t.node2.getLayout()),o=[i,n];+e&&o.push([(i[0]+n[0])/2-(i[1]-n[1])*e,(i[1]+n[1])/2-(n[0]-i[0])*e]),t.setLayout(o)})}function _f(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var i=e.getBoundingRect(),n=t.getData(),o=n.graph,a=0,r=n.getSum("value"),s=2*Math.PI/(r||n.count()),l=i.width/2+i.x,u=i.height/2+i.y,h=Math.min(i.width,i.height)/2;o.eachNode(function(t){var e=t.getValue("value");a+=s*(r?e:1)/2,t.setLayout([h*Math.cos(a)+l,h*Math.sin(a)+u]),a+=s*(r?e:1)/2}),n.setLayout({cx:l,cy:u}),o.eachEdge(function(t){var e,i=t.getModel().get("lineStyle.curveness")||0,n=F(t.node1.getLayout()),o=F(t.node2.getLayout()),a=(n[0]+o[0])/2,r=(n[1]+o[1])/2;+i&&(e=[l*(i*=3)+a*(1-i),u*i+r*(1-i)]),t.setLayout([n,o,e])})}}function wf(t,e,i){for(var n=i.rect,o=n.width,a=n.height,r=[n.x+o/2,n.y+a/2],s=null==i.gravity?.1:i.gravity,l=0;l<t.length;l++){var u=t[l];u.p||(u.p=V(o*(Math.random()-.5)+r[0],a*(Math.random()-.5)+r[1])),u.pp=F(u.p),u.edges=null}var h=.6;return{warmUp:function(){h=.5},setFixed:function(e){t[e].fixed=!0},setUnfixed:function(e){t[e].fixed=!1},step:function(i){for(var n=[],o=t.length,a=0;a<e.length;a++){var l=e[a],u=l.n1;U(n,(p=l.n2).p,u.p);var c=X(n)-l.d,d=p.w/(u.w+p.w);isNaN(d)&&(d=0),q(n,n),!u.fixed&&XL(u.p,u.p,n,d*c*h),!p.fixed&&XL(p.p,p.p,n,-(1-d)*c*h)}for(a=0;a<o;a++)(v=t[a]).fixed||(U(n,r,v.p),XL(v.p,v.p,n,s*h));for(a=0;a<o;a++)for(var u=t[a],f=a+1;f<o;f++){var p=t[f];U(n,p.p,u.p),0===(c=X(n))&&(W(n,Math.random()-.5,Math.random()-.5),c=1);var g=(u.rep+p.rep)/c/c;!u.fixed&&XL(u.pp,u.pp,n,g),!p.fixed&&XL(p.pp,p.pp,n,-g)}for(var m=[],a=0;a<o;a++){var v=t[a];v.fixed||(U(m,v.p,v.pp),XL(v.p,v.p,m,h),G(v.pp,v.p))}h*=.992,i&&i(t,e,h<.01)}}}function bf(t,e,i){var n=t.getBoxLayoutParams();return n.aspect=i,ca(n,{width:e.getWidth(),height:e.getHeight()})}function Sf(t,e){var i=t.get("center"),n=e.getWidth(),o=e.getHeight(),a=Math.min(n,o);return{cx:Vo(i[0],e.getWidth()),cy:Vo(i[1],e.getHeight()),r:Vo(t.get("radius"),a/2)}}function Mf(t,e){return e&&("string"==typeof e?t=e.replace("{value}",null!=t?t:""):"function"==typeof e&&(t=e(t))),t}function If(t,e){function i(){a.ignore=a.hoverIgnore,r.ignore=r.hoverIgnore}function n(){a.ignore=a.normalIgnore,r.ignore=r.normalIgnore}tb.call(this);var o=new pM,a=new gM,r=new rM;this.add(o),this.add(a),this.add(r),this.updateData(t,e,!0),this.on("emphasis",i).on("normal",n).on("mouseover",i).on("mouseout",n)}function Tf(t,e){return ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Af(t,e){for(var i=t.mapDimension("value"),n=t.mapArray(i,function(t){return t}),o=[],a="ascending"===e,r=0,s=t.count();r<s;r++)o[r]=r;return"function"==typeof e?o.sort(e):"none"!==e&&o.sort(function(t,e){return a?n[t]-n[e]:n[e]-n[t]}),o}function Df(t){t.each(function(e){var i,n,o,a,r=t.getItemModel(e),s=r.getModel("label").get("position"),l=r.getModel("labelLine"),u=t.getItemLayout(e),h=u.points,c="inner"===s||"inside"===s||"center"===s;if(c)i="center",a=[[n=(h[0][0]+h[1][0]+h[2][0]+h[3][0])/4,o=(h[0][1]+h[1][1]+h[2][1]+h[3][1])/4],[n,o]];else{var d,f,p,g=l.get("length");"left"===s?(d=(h[3][0]+h[0][0])/2,f=(h[3][1]+h[0][1])/2,n=(p=d-g)-5,i="right"):(d=(h[1][0]+h[2][0])/2,f=(h[1][1]+h[2][1])/2,n=(p=d+g)+5,i="left");var m=f;a=[[d,f],[p,m]],o=m}u.label={linePoints:a,x:n,y:o,verticalAlign:"middle",textAlign:i,inside:c}})}function Cf(t){if(!t.parallel){var e=!1;d(t.series,function(t){t&&"parallel"===t.type&&(e=!0)}),e&&(t.parallel=[{}])}}function Lf(t){d(Di(t.parallelAxis),function(e){if(w(e)){var i=e.parallelIndex||0,o=Di(t.parallel)[i];o&&o.parallelAxisDefault&&n(e,o.parallelAxisDefault,!1)}})}function kf(t,e){var i=t[e]-t[1-e];return{span:Math.abs(i),sign:i>0?-1:i<0?1:e?-1:1}}function Pf(t,e){return Math.min(e[1],Math.max(e[0],t))}function Nf(t,e,i){this._axesMap=R(),this._axesLayout={},this.dimensions=t.dimensions,this._rect,this._model=t,this._init(t,e,i)}function Of(t,e){return ek(ik(t,e[0]),e[1])}function Ef(t,e){var i=e.layoutLength/(e.axisCount-1);return{position:i*t,axisNameAvailableWidth:i,axisLabelShow:!0}}function Rf(t,e){var i,n,o=e.layoutLength,a=e.axisExpandWidth,r=e.axisCount,s=e.axisCollapseWidth,l=e.winInnerIndices,u=s,h=!1;return t<l[0]?(i=t*s,n=s):t<=l[1]?(i=e.axisExpandWindow0Pos+t*a-e.axisExpandWindow[0],u=a,h=!0):(i=o-(r-1-t)*s,n=s),{position:i,axisNameAvailableWidth:u,axisLabelShow:h,nameTruncateMaxWidth:n}}function zf(t){fw.call(this),this._zr=t,this.group=new tb,this._brushType,this._brushOption,this._panels,this._track=[],this._dragging,this._covers=[],this._creatingCover,this._creatingPanel,this._enableGlobalPan,this._uid="brushController_"+bk++,this._handlers={},hk(Sk,function(t,e){this._handlers[e]=m(t,this)},this)}function Bf(t,e){var o=t._zr;t._enableGlobalPan||tc(o,yk,t._uid),hk(t._handlers,function(t,e){o.on(e,t)}),t._brushType=e.brushType,t._brushOption=n(i(wk),e,!0)}function Vf(t){var e=t._zr;ec(e,yk,t._uid),hk(t._handlers,function(t,i){e.off(i,t)}),t._brushType=t._brushOption=null}function Gf(t,e){var i=Mk[e.brushType].createCover(t,e);return i.__brushOption=e,Hf(i,e),t.group.add(i),i}function Ff(t,e){var i=Uf(e);return i.endCreating&&(i.endCreating(t,e),Hf(e,e.__brushOption)),e}function Wf(t,e){var i=e.__brushOption;Uf(e).updateCoverShape(t,e,i.range,i)}function Hf(t,e){var i=e.z;null==i&&(i=gk),t.traverse(function(t){t.z=i,t.z2=i})}function Zf(t,e){Uf(e).updateCommon(t,e),Wf(t,e)}function Uf(t){return Mk[t.__brushOption.brushType]}function Xf(t,e,i){var n=t._panels;if(!n)return!0;var o,a=t._transform;return hk(n,function(t){t.isTargetByCursor(e,i,a)&&(o=t)}),o}function jf(t,e){var i=t._panels;if(!i)return!0;var n=e.__brushOption.panelId;return null==n||i[n]}function Yf(t){var e=t._covers,i=e.length;return hk(e,function(e){t.group.remove(e)},t),e.length=0,!!i}function qf(t,e){var n=ck(t._covers,function(t){var e=t.__brushOption,n=i(e.range);return{brushType:e.brushType,panelId:e.panelId,range:n}});t.trigger("brush",n,{isEnd:!!e.isEnd,removeOnClick:!!e.removeOnClick})}function Kf(t){var e=t._track;if(!e.length)return!1;var i=e[e.length-1],n=e[0],o=i[0]-n[0],a=i[1]-n[1];return pk(o*o+a*a,.5)>mk}function $f(t){var e=t.length-1;return e<0&&(e=0),[t[0],t[e]]}function Jf(t,e,i,n){var o=new tb;return o.add(new yM({name:"main",style:ip(i),silent:!0,draggable:!0,cursor:"move",drift:uk(t,e,o,"nswe"),ondragend:uk(qf,e,{isEnd:!0})})),hk(n,function(i){o.add(new yM({name:i,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:uk(t,e,o,i),ondragend:uk(qf,e,{isEnd:!0})}))}),o}function Qf(t,e,i,n){var o=n.brushStyle.lineWidth||0,a=fk(o,vk),r=i[0][0],s=i[1][0],l=r-o/2,u=s-o/2,h=i[0][1],c=i[1][1],d=h-a+o/2,f=c-a+o/2,p=h-r,g=c-s,m=p+o,v=g+o;ep(t,e,"main",r,s,p,g),n.transformable&&(ep(t,e,"w",l,u,a,v),ep(t,e,"e",d,u,a,v),ep(t,e,"n",l,u,m,a),ep(t,e,"s",l,f,m,a),ep(t,e,"nw",l,u,a,a),ep(t,e,"ne",d,u,a,a),ep(t,e,"sw",l,f,a,a),ep(t,e,"se",d,f,a,a))}function tp(t,e){var i=e.__brushOption,n=i.transformable,o=e.childAt(0);o.useStyle(ip(i)),o.attr({silent:!n,cursor:n?"move":"default"}),hk(["w","e","n","s","se","sw","ne","nw"],function(i){var o=e.childOfName(i),a=ap(t,i);o&&o.attr({silent:!n,invisible:!n,cursor:n?_k[a]+"-resize":null})})}function ep(t,e,i,n,o,a,r){var s=e.childOfName(i);s&&s.setShape(hp(up(t,e,[[n,o],[n+a,o+r]])))}function ip(t){return r({strokeNoScale:!0},t.brushStyle)}function np(t,e,i,n){var o=[dk(t,i),dk(e,n)],a=[fk(t,i),fk(e,n)];return[[o[0],a[0]],[o[1],a[1]]]}function op(t){return Ao(t.group)}function ap(t,e){if(e.length>1)return("e"===(n=[ap(t,(e=e.split(""))[0]),ap(t,e[1])])[0]||"w"===n[0])&&n.reverse(),n.join("");var i={left:"w",right:"e",top:"n",bottom:"s"},n=Co({w:"left",e:"right",n:"top",s:"bottom"}[e],op(t));return i[n]}function rp(t,e,i,n,o,a,r,s){var l=n.__brushOption,u=t(l.range),h=lp(i,a,r);hk(o.split(""),function(t){var e=xk[t];u[e[0]][e[1]]+=h[e[0]]}),l.range=e(np(u[0][0],u[1][0],u[0][1],u[1][1])),Zf(i,n),qf(i,{isEnd:!1})}function sp(t,e,i,n,o){var a=e.__brushOption.range,r=lp(t,i,n);hk(a,function(t){t[0]+=r[0],t[1]+=r[1]}),Zf(t,e),qf(t,{isEnd:!1})}function lp(t,e,i){var n=t.group,o=n.transformCoordToLocal(e,i),a=n.transformCoordToLocal(0,0);return[o[0]-a[0],o[1]-a[1]]}function up(t,e,n){var o=jf(t,e);return o&&!0!==o?o.clipPath(n,t._transform):i(n)}function hp(t){var e=dk(t[0][0],t[1][0]),i=dk(t[0][1],t[1][1]);return{x:e,y:i,width:fk(t[0][0],t[1][0])-e,height:fk(t[0][1],t[1][1])-i}}function cp(t,e,i){if(t._brushType){var n=t._zr,o=t._covers,a=Xf(t,e,i);if(!t._dragging)for(var r=0;r<o.length;r++){var s=o[r].__brushOption;if(a&&(!0===a||s.panelId===a.panelId)&&Mk[s.brushType].contain(o[r],i[0],i[1]))return}a&&n.setCursorStyle("crosshair")}}function dp(t){var e=t.event;e.preventDefault&&e.preventDefault()}function fp(t,e,i){return t.childOfName("main").contain(e,i)}function pp(t,e,n,o){var a,r=t._creatingCover,s=t._creatingPanel,l=t._brushOption;if(t._track.push(n.slice()),Kf(t)||r){if(s&&!r){"single"===l.brushMode&&Yf(t);var u=i(l);u.brushType=gp(u.brushType,s),u.panelId=!0===s?null:s.panelId,r=t._creatingCover=Gf(t,u),t._covers.push(r)}if(r){var h=Mk[gp(t._brushType,s)];r.__brushOption.range=h.getCreatingRange(up(t,r,t._track)),o&&(Ff(t,r),h.updateCommon(t,r)),Wf(t,r),a={isEnd:o}}}else o&&"single"===l.brushMode&&l.removeOnClick&&Xf(t,e,n)&&Yf(t)&&(a={isEnd:o,removeOnClick:!0});return a}function gp(t,e){return"auto"===t?e.defaultBrushType:t}function mp(t){if(this._dragging){dp(t);var e=pp(this,t,this.group.transformCoordToLocal(t.offsetX,t.offsetY),!0);this._dragging=!1,this._track=[],this._creatingCover=null,e&&qf(this,e)}}function vp(t){return{createCover:function(e,i){return Jf(uk(rp,function(e){var i=[e,[0,100]];return t&&i.reverse(),i},function(e){return e[t]}),e,i,[["w","e"],["n","s"]][t])},getCreatingRange:function(e){var i=$f(e);return[dk(i[0][t],i[1][t]),fk(i[0][t],i[1][t])]},updateCoverShape:function(e,i,n,o){var a,r=jf(e,i);if(!0!==r&&r.getLinearBrushOtherExtent)a=r.getLinearBrushOtherExtent(t,e._transform);else{var s=e._zr;a=[0,[s.getWidth(),s.getHeight()][1-t]]}var l=[n,a];t&&l.reverse(),Qf(e,i,l,o)},updateCommon:tp,contain:fp}}function yp(t){return t=wp(t),function(e,i){return ko(e,t)}}function xp(t,e){return t=wp(t),function(i){var n=null!=e?e:i,o=n?t.width:t.height,a=n?t.x:t.y;return[a,a+(o||0)]}}function _p(t,e,i){return t=wp(t),function(n,o,a){return t.contain(o[0],o[1])&&!gc(n,e,i)}}function wp(t){return de.create(t)}function bp(t,e,i){return i&&"axisAreaSelect"===i.type&&e.findComponents({mainType:"parallelAxis",query:i})[0]===t}function Sp(t){var e=t.axis;return f(t.activeIntervals,function(t){return{brushType:"lineX",panelId:"pl",range:[e.dataToCoord(t[0],!0),e.dataToCoord(t[1],!0)]}})}function Mp(t,e){return e.getComponent("parallel",t.get("parallelIndex"))}function Ip(t,e){var i=t._model;return i.get("axisExpandable")&&i.get("axisExpandTriggerOn")===e}function Tp(t,e){if(!t.encodeDefine){var i=e.ecModel.getComponent("parallel",e.get("parallelIndex"));if(i){var n=t.encodeDefine=R();d(i.dimensions,function(t){var e=Ap(t);n.set(t,e)})}}}function Ap(t){return+t.replace("dim","")}function Dp(t,e,i){var n=t.model,o=t.getRect(),a=new yM({shape:{x:o.x,y:o.y,width:o.width,height:o.height}}),r="horizontal"===n.get("layout")?"width":"height";return a.setShape(r,0),To(a,{shape:{width:o.width,height:o.height}},e,i),a}function Cp(t,e,i,n){for(var o=[],a=0;a<i.length;a++){var r=i[a],s=t.get(t.mapDimension(r),e);Np(s,n.getAxis(r).type)||o.push(n.dataToPoint(s,r))}return o}function Lp(t,e,i,n,o){var a=Cp(t,i,n,o),r=new gM({shape:{points:a},silent:!0,z2:10});return e.add(r),t.setItemGraphicEl(i,r),r}function kp(t){var e=t.get("smooth",!0);return!0===e&&(e=Dk),{lineStyle:t.getModel("lineStyle").getLineStyle(),smooth:null!=e?e:Dk}}function Pp(t,e,i,n){var o=n.lineStyle;e.hasItemOption&&(o=e.getItemModel(i).getModel("lineStyle").getLineStyle()),t.useStyle(o);var a=t.style;a.fill=null,a.stroke=e.getItemVisual(i,"color"),a.opacity=e.getItemVisual(i,"opacity"),n.smooth&&(t.shape.smooth=n.smooth)}function Np(t,e){return"category"===e?null==t:null==t||isNaN(t)}function Op(t,e){return t.getVisual("opacity")||t.getModel().get(e)}function Ep(t,e,i){var n=t.getGraphicEl(),o=Op(t,e);null!=i&&(null==o&&(o=1),o*=i),n.downplay&&n.downplay(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",o)})}function Rp(t,e){var i=Op(t,e),n=t.getGraphicEl();n.highlight&&n.highlight(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",i)})}function zp(t,e,i){var n=new yM({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return To(n,{shape:{width:t.width+20,height:t.height+20}},e,i),n}function Bp(t,e){return ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Vp(t,e,i,n,o,a,r,s){Fp(t,e,i,o,a,s),Zp(t,e,a,o,n,r,s),eg(t,s)}function Gp(t){d(t,function(t){var e=Qp(t.outEdges,Jp),i=Qp(t.inEdges,Jp),n=Math.max(e,i);t.setLayout({value:n},!0)})}function Fp(t,e,i,n,o,a){for(var r=[],s=[],l=[],u=[],h=0,c=0;c<e.length;c++)r[c]=1;for(c=0;c<t.length;c++)s[c]=t[c].inEdges.length,0===s[c]&&l.push(t[c]);for(;l.length;){for(var d=0;d<l.length;d++){var f=l[d];"vertical"===a?(f.setLayout({y:h},!0),f.setLayout({dy:i},!0)):(f.setLayout({x:h},!0),f.setLayout({dx:i},!0));for(var p=0;p<f.outEdges.length;p++){var g=f.outEdges[p];r[e.indexOf(g)]=0;var m=g.node2;0==--s[t.indexOf(m)]&&u.push(m)}}++h,l=u,u=[]}for(c=0;c<r.length;c++);Wp(t,h,a),Hp(t,"vertical"===a?(o-i)/(h-1):(n-i)/(h-1),a)}function Wp(t,e,i){d(t,function(t){t.outEdges.length||("vertical"===i?t.setLayout({y:e-1},!0):t.setLayout({x:e-1},!0))})}function Hp(t,e,i){d(t,function(t){if("vertical"===i){var n=t.getLayout().y*e;t.setLayout({y:n},!0)}else{var o=t.getLayout().x*e;t.setLayout({x:o},!0)}})}function Zp(t,e,i,n,o,a,r){var s=Up(t,r);Xp(t,s,e,i,n,o,r),jp(s,o,i,n,r);for(var l=1;a>0;a--)Yp(s,l*=.99,r),jp(s,o,i,n,r),tg(s,l,r),jp(s,o,i,n,r)}function Up(t,e){var i=[],n="vertical"===e?"y":"x",o=Zi(t,function(t){return t.getLayout()[n]});return o.keys.sort(function(t,e){return t-e}),d(o.keys,function(t){i.push(o.buckets.get(t))}),i}function Xp(t,e,i,n,o,a,r){var s=[];d(e,function(t){var e=t.length,i=0,l=0;d(t,function(t){i+=t.getLayout().value}),l="vertical"===r?(o-(e-1)*a)/i:(n-(e-1)*a)/i,s.push(l)}),s.sort(function(t,e){return t-e});var l=s[0];d(e,function(t){d(t,function(t,e){var i=t.getLayout().value*l;"vertical"===r?(t.setLayout({x:e},!0),t.setLayout({dx:i},!0)):(t.setLayout({y:e},!0),t.setLayout({dy:i},!0))})}),d(i,function(t){var e=+t.getValue()*l;t.setLayout({dy:e},!0)})}function jp(t,e,i,n,o){d(t,function(t){var a,r,s,l=0,u=t.length;if("vertical"===o){var h;for(t.sort(function(t,e){return t.getLayout().x-e.getLayout().x}),s=0;s<u;s++)(r=l-(a=t[s]).getLayout().x)>0&&(h=a.getLayout().x+r,a.setLayout({x:h},!0)),l=a.getLayout().x+a.getLayout().dx+e;if((r=l-e-n)>0)for(h=a.getLayout().x-r,a.setLayout({x:h},!0),l=h,s=u-2;s>=0;--s)(r=(a=t[s]).getLayout().x+a.getLayout().dx+e-l)>0&&(h=a.getLayout().x-r,a.setLayout({x:h},!0)),l=a.getLayout().x}else{var c;for(t.sort(function(t,e){return t.getLayout().y-e.getLayout().y}),s=0;s<u;s++)(r=l-(a=t[s]).getLayout().y)>0&&(c=a.getLayout().y+r,a.setLayout({y:c},!0)),l=a.getLayout().y+a.getLayout().dy+e;if((r=l-e-i)>0)for(c=a.getLayout().y-r,a.setLayout({y:c},!0),l=c,s=u-2;s>=0;--s)(r=(a=t[s]).getLayout().y+a.getLayout().dy+e-l)>0&&(c=a.getLayout().y-r,a.setLayout({y:c},!0)),l=a.getLayout().y}})}function Yp(t,e,i){d(t.slice().reverse(),function(t){d(t,function(t){if(t.outEdges.length){var n=Qp(t.outEdges,qp,i)/Qp(t.outEdges,Jp,i);if("vertical"===i){var o=t.getLayout().x+(n-$p(t,i))*e;t.setLayout({x:o},!0)}else{var a=t.getLayout().y+(n-$p(t,i))*e;t.setLayout({y:a},!0)}}})})}function qp(t,e){return $p(t.node2,e)*t.getValue()}function Kp(t,e){return $p(t.node1,e)*t.getValue()}function $p(t,e){return"vertical"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function Jp(t){return t.getValue()}function Qp(t,e,i){for(var n=0,o=t.length,a=-1;++a<o;){var r=+e.call(t,t[a],i);isNaN(r)||(n+=r)}return n}function tg(t,e,i){d(t,function(t){d(t,function(t){if(t.inEdges.length){var n=Qp(t.inEdges,Kp,i)/Qp(t.inEdges,Jp,i);if("vertical"===i){var o=t.getLayout().x+(n-$p(t,i))*e;t.setLayout({x:o},!0)}else{var a=t.getLayout().y+(n-$p(t,i))*e;t.setLayout({y:a},!0)}}})})}function eg(t,e){d(t,function(t){"vertical"===e?(t.outEdges.sort(function(t,e){return t.node2.getLayout().x-e.node2.getLayout().x}),t.inEdges.sort(function(t,e){return t.node1.getLayout().x-e.node1.getLayout().x})):(t.outEdges.sort(function(t,e){return t.node2.getLayout().y-e.node2.getLayout().y}),t.inEdges.sort(function(t,e){return t.node1.getLayout().y-e.node1.getLayout().y}))}),d(t,function(t){var e=0,i=0;d(t.outEdges,function(t){t.setLayout({sy:e},!0),e+=t.getLayout().dy}),d(t.inEdges,function(t){t.setLayout({ty:i},!0),i+=t.getLayout().dy})})}function ig(t,e,i,n,o){var a=t.ends,r=new zk({shape:{points:o?og(a,n,t):a}});return ng(t,r,e,i,o),r}function ng(t,e,i,n,o){var a=i.hostModel;(0,zM[o?"initProps":"updateProps"])(e,{shape:{points:t.ends}},a,n);var r=i.getItemModel(n),s=r.getModel(Ek),l=i.getItemVisual(n,"color"),u=s.getItemStyle(["borderColor"]);u.stroke=l,u.strokeNoScale=!0,e.useStyle(u),e.z2=100,fo(e,r.getModel(Rk).getItemStyle())}function og(t,e,i){return f(t,function(t){return t=t.slice(),t[e]=i.initBaseline,t})}function ag(t){var e=[],i=[];return t.eachSeriesByType("boxplot",function(t){var n=t.getBaseAxis(),o=l(i,n);o<0&&(o=i.length,i[o]=n,e[o]={axis:n,seriesModels:[]}),e[o].seriesModels.push(t)}),e}function rg(t){var e,i,n=t.axis,o=t.seriesModels,a=o.length,r=t.boxWidthList=[],s=t.boxOffsetList=[],l=[];if("category"===n.type)i=n.getBandWidth();else{var u=0;Vk(o,function(t){u=Math.max(u,t.getData().count())}),e=n.getExtent(),Math.abs(e[1]-e[0])}Vk(o,function(t){var e=t.get("boxWidth");y(e)||(e=[e,e]),l.push([Vo(e[0],i)||0,Vo(e[1],i)||0])});var h=.8*i-2,c=h/a*.3,d=(h-c*(a-1))/a,f=d/2-h/2;Vk(o,function(t,e){s.push(f),f+=c+d,r.push(Math.min(Math.max(d,l[e][0]),l[e][1]))})}function sg(t,e,i){function n(t,i,n){var o=s.get(i,n),a=[];a[u]=t,a[h]=o;var l;return isNaN(t)||isNaN(o)?l=[NaN,NaN]:(l=r.dataToPoint(a))[u]+=e,l}function o(t,e,i){var n=e.slice(),o=e.slice();n[u]+=l,o[u]-=l,i?t.push(n,o):t.push(o,n)}function a(t,e){var i=e.slice(),n=e.slice();i[u]-=l,n[u]+=l,t.push(i,n)}var r=t.coordinateSystem,s=t.getData(),l=i/2,u="horizontal"===t.get("layout")?0:1,h=1-u,c=["x","y"],d=s.mapDimension(c[u]),f=s.mapDimension(c[h],!0);if(!(null==d||f.length<5))for(var p=0;p<s.count();p++){var g=s.get(d,p),m=n(g,f[2],p),v=n(g,f[0],p),y=n(g,f[1],p),x=n(g,f[3],p),_=n(g,f[4],p),w=[];o(w,y,0),o(w,x,1),w.push(v,y,_,x),a(w,v),a(w,_),a(w,m),s.setItemLayout(p,{initBaseline:m[h],ends:w})}}function lg(t,e,i){var n=t.ends;return new Hk({shape:{points:i?hg(n,t):n},z2:100})}function ug(t,e,i,n){var o=e.getItemModel(i),a=o.getModel(Gk),r=e.getItemVisual(i,"color"),s=e.getItemVisual(i,"borderColor")||r,l=a.getItemStyle(Wk);t.useStyle(l),t.style.strokeNoScale=!0,t.style.fill=r,t.style.stroke=s,t.__simpleBox=n,fo(t,o.getModel(Fk).getItemStyle())}function hg(t,e){return f(t,function(t){return t=t.slice(),t[1]=e.initBaseline,t})}function cg(t,e,i){var n=t.getData(),o=n.getLayout("largePoints"),a=new Zk({shape:{points:o},__sign:1});e.add(a);var r=new Zk({shape:{points:o},__sign:-1});e.add(r),dg(1,a,t,n),dg(-1,r,t,n),i&&(a.incremental=!0,r.incremental=!0)}function dg(t,e,i,n){var o=t>0?"P":"N",a=n.getVisual("borderColor"+o)||n.getVisual("color"+o),r=i.getModel(Gk).getItemStyle(Wk);e.useStyle(r),e.style.fill=null,e.style.stroke=a}function fg(t,e,i,n,o){return i>n?-1:i<n?1:e>0?t.get(o,e-1)<=n?1:-1:1}function pg(t,e){var i,n=t.getBaseAxis(),o="category"===n.type?n.getBandWidth():(i=n.getExtent(),Math.abs(i[1]-i[0])/e.count()),a=Vo(A(t.get("barMaxWidth"),o),o),r=Vo(A(t.get("barMinWidth"),1),o),s=t.get("barWidth");return null!=s?Vo(s,o):Math.max(Math.min(o/2,a),r)}function gg(t){return y(t)||(t=[+t,+t]),t}function mg(t,e){t.eachChild(function(t){t.attr({z:e.z,zlevel:e.zlevel,style:{stroke:"stroke"===e.brushType?e.color:null,fill:"fill"===e.brushType?e.color:null}})})}function vg(t,e){tb.call(this);var i=new wu(t,e),n=new tb;this.add(i),this.add(n),n.beforeUpdate=function(){this.attr(i.getScale())},this.updateData(t,e)}function yg(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=f(e,function(t){var e={coords:[t[0].coord,t[1].coord]};return t[0].name&&(e.fromName=t[0].name),t[1].name&&(e.toName=t[1].name),o([e,t[0],t[1]])}))}function xg(t,e,i){tb.call(this),this.add(this.createLine(t,e,i)),this._updateEffectSymbol(t,e)}function _g(t,e,i){tb.call(this),this._createPolyline(t,e,i)}function wg(t,e,i){xg.call(this,t,e,i),this._lastFrame=0,this._lastFramePercent=0}function bg(){this.group=new tb}function Sg(t){return t instanceof Array||(t=[t,t]),t}function Mg(){var t=iw();this.canvas=t,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}function Ig(t,e,i){var n=t[1]-t[0],o=(e=f(e,function(e){return{interval:[(e.interval[0]-t[0])/n,(e.interval[1]-t[0])/n]}})).length,a=0;return function(t){for(n=a;n<o;n++)if((r=e[n].interval)[0]<=t&&t<=r[1]){a=n;break}if(n===o)for(var n=a-1;n>=0;n--){var r=e[n].interval;if(r[0]<=t&&t<=r[1]){a=n;break}}return n>=0&&n<o&&i[n]}}function Tg(t,e){var i=t[1]-t[0];return e=[(e[0]-t[0])/i,(e[1]-t[0])/i],function(t){return t>=e[0]&&t<=e[1]}}function Ag(t){var e=t.dimensions;return"lng"===e[0]&&"lat"===e[1]}function Dg(t,e,i,n){var o=t.getItemLayout(e),a=i.get("symbolRepeat"),r=i.get("symbolClip"),s=i.get("symbolPosition")||"start",l=(i.get("symbolRotate")||0)*Math.PI/180||0,u=i.get("symbolPatternSize")||2,h=i.isAnimationEnabled(),c={dataIndex:e,layout:o,itemModel:i,symbolType:t.getItemVisual(e,"symbol")||"circle",color:t.getItemVisual(e,"color"),symbolClip:r,symbolRepeat:a,symbolRepeatDirection:i.get("symbolRepeatDirection"),symbolPatternSize:u,rotation:l,animationModel:h?i:null,hoverAnimation:h&&i.get("hoverAnimation"),z2:i.getShallow("z",!0)||0};Cg(i,a,o,n,c),kg(t,e,o,a,r,c.boundingLength,c.pxSign,u,n,c),Pg(i,c.symbolScale,l,n,c);var d=c.symbolSize,f=i.get("symbolOffset");return y(f)&&(f=[Vo(f[0],d[0]),Vo(f[1],d[1])]),Ng(i,d,o,a,r,f,s,c.valueLineWidth,c.boundingLength,c.repeatCutLength,n,c),c}function Cg(t,e,i,n,o){var a,r=n.valueDim,s=t.get("symbolBoundingData"),l=n.coordSys.getOtherAxis(n.coordSys.getBaseAxis()),u=l.toGlobalCoord(l.dataToCoord(0)),h=1-+(i[r.wh]<=0);if(y(s)){var c=[Lg(l,s[0])-u,Lg(l,s[1])-u];c[1]<c[0]&&c.reverse(),a=c[h]}else a=null!=s?Lg(l,s)-u:e?n.coordSysExtent[r.index][h]-u:i[r.wh];o.boundingLength=a,e&&(o.repeatCutLength=i[r.wh]),o.pxSign=a>0?1:a<0?-1:0}function Lg(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function kg(t,e,i,n,o,a,r,s,l,u){var h=l.valueDim,c=l.categoryDim,d=Math.abs(i[c.wh]),f=t.getItemVisual(e,"symbolSize");y(f)?f=f.slice():(null==f&&(f="100%"),f=[f,f]),f[c.index]=Vo(f[c.index],d),f[h.index]=Vo(f[h.index],n?d:Math.abs(a)),u.symbolSize=f,(u.symbolScale=[f[0]/s,f[1]/s])[h.index]*=(l.isHorizontal?-1:1)*r}function Pg(t,e,i,n,o){var a=t.get(cP)||0;a&&(fP.attr({scale:e.slice(),rotation:i}),fP.updateTransform(),a/=fP.getLineScale(),a*=e[n.valueDim.index]),o.valueLineWidth=a}function Ng(t,e,i,n,o,r,s,l,u,h,c,d){var f=c.categoryDim,p=c.valueDim,g=d.pxSign,m=Math.max(e[p.index]+l,0),v=m;if(n){var y=Math.abs(u),x=T(t.get("symbolMargin"),"15%")+"",_=!1;x.lastIndexOf("!")===x.length-1&&(_=!0,x=x.slice(0,x.length-1)),x=Vo(x,e[p.index]);var w=Math.max(m+2*x,0),b=_?0:2*x,S=Qo(n),M=S?n:Kg((y+b)/w);w=m+2*(x=(y-M*m)/2/(_?M:M-1)),b=_?0:2*x,S||"fixed"===n||(M=h?Kg((Math.abs(h)+b)/w):0),v=M*w-b,d.repeatTimes=M,d.symbolMargin=x}var I=g*(v/2),A=d.pathPosition=[];A[f.index]=i[f.wh]/2,A[p.index]="start"===s?I:"end"===s?u-I:u/2,r&&(A[0]+=r[0],A[1]+=r[1]);var D=d.bundlePosition=[];D[f.index]=i[f.xy],D[p.index]=i[p.xy];var C=d.barRectShape=a({},i);C[p.wh]=g*Math.max(Math.abs(i[p.wh]),Math.abs(A[p.index]+I)),C[f.wh]=i[f.wh];var L=d.clipShape={};L[f.xy]=-i[f.xy],L[f.wh]=c.ecSize[f.wh],L[p.xy]=0,L[p.wh]=i[p.wh]}function Og(t){var e=t.symbolPatternSize,i=Jl(t.symbolType,-e/2,-e/2,e,e,t.color);return i.attr({culling:!0}),"image"!==i.type&&i.setStyle({strokeNoScale:!0}),i}function Eg(t,e,i,n){function o(t){var e=l.slice(),n=i.pxSign,o=t;return("start"===i.symbolRepeatDirection?n>0:n<0)&&(o=h-1-t),e[u.index]=d*(o-h/2+.5)+l[u.index],{position:e,scale:i.symbolScale.slice(),rotation:i.rotation}}var a=t.__pictorialBundle,r=i.symbolSize,s=i.valueLineWidth,l=i.pathPosition,u=e.valueDim,h=i.repeatTimes||0,c=0,d=r[e.valueDim.index]+s+2*i.symbolMargin;for(jg(t,function(t){t.__pictorialAnimationIndex=c,t.__pictorialRepeatTimes=h,c<h?Yg(t,null,o(c),i,n):Yg(t,null,{scale:[0,0]},i,n,function(){a.remove(t)}),Wg(t,i),c++});c<h;c++){var f=Og(i);f.__pictorialAnimationIndex=c,f.__pictorialRepeatTimes=h,a.add(f);var p=o(c);Yg(f,{position:p.position,scale:[0,0]},{scale:p.scale,rotation:p.rotation},i,n),f.on("mouseover",function(){jg(t,function(t){t.trigger("emphasis")})}).on("mouseout",function(){jg(t,function(t){t.trigger("normal")})}),Wg(f,i)}}function Rg(t,e,i,n){var o=t.__pictorialBundle,a=t.__pictorialMainPath;a?Yg(a,null,{position:i.pathPosition.slice(),scale:i.symbolScale.slice(),rotation:i.rotation},i,n):(a=t.__pictorialMainPath=Og(i),o.add(a),Yg(a,{position:i.pathPosition.slice(),scale:[0,0],rotation:i.rotation},{scale:i.symbolScale.slice()},i,n),a.on("mouseover",function(){this.trigger("emphasis")}).on("mouseout",function(){this.trigger("normal")})),Wg(a,i)}function zg(t,e,i){var n=a({},e.barRectShape),o=t.__pictorialBarRect;o?Yg(o,null,{shape:n},e,i):(o=t.__pictorialBarRect=new yM({z2:2,shape:n,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),t.add(o))}function Bg(t,e,i,n){if(i.symbolClip){var o=t.__pictorialClipPath,r=a({},i.clipShape),s=e.valueDim,l=i.animationModel,u=i.dataIndex;if(o)Io(o,{shape:r},l,u);else{r[s.wh]=0,o=new yM({shape:r}),t.__pictorialBundle.setClipPath(o),t.__pictorialClipPath=o;var h={};h[s.wh]=i.clipShape[s.wh],zM[n?"updateProps":"initProps"](o,{shape:h},l,u)}}}function Vg(t,e){var i=t.getItemModel(e);return i.getAnimationDelayParams=Gg,i.isAnimationEnabled=Fg,i}function Gg(t){return{index:t.__pictorialAnimationIndex,count:t.__pictorialRepeatTimes}}function Fg(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function Wg(t,e){t.off("emphasis").off("normal");var i=e.symbolScale.slice();e.hoverAnimation&&t.on("emphasis",function(){this.animateTo({scale:[1.1*i[0],1.1*i[1]]},400,"elasticOut")}).on("normal",function(){this.animateTo({scale:i.slice()},400,"elasticOut")})}function Hg(t,e,i,n){var o=new tb,a=new tb;return o.add(a),o.__pictorialBundle=a,a.attr("position",i.bundlePosition.slice()),i.symbolRepeat?Eg(o,e,i):Rg(o,e,i),zg(o,i,n),Bg(o,e,i,n),o.__pictorialShapeStr=Xg(t,i),o.__pictorialSymbolMeta=i,o}function Zg(t,e,i){var n=i.animationModel,o=i.dataIndex;Io(t.__pictorialBundle,{position:i.bundlePosition.slice()},n,o),i.symbolRepeat?Eg(t,e,i,!0):Rg(t,e,i,!0),zg(t,i,!0),Bg(t,e,i,!0)}function Ug(t,e,i,n){var o=n.__pictorialBarRect;o&&(o.style.text=null);var a=[];jg(n,function(t){a.push(t)}),n.__pictorialMainPath&&a.push(n.__pictorialMainPath),n.__pictorialClipPath&&(i=null),d(a,function(t){Io(t,{scale:[0,0]},i,e,function(){n.parent&&n.parent.remove(n)})}),t.setItemGraphicEl(e,null)}function Xg(t,e){return[t.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function jg(t,e,i){d(t.__pictorialBundle.children(),function(n){n!==t.__pictorialBarRect&&e.call(i,n)})}function Yg(t,e,i,n,o,a){e&&t.attr(e),n.symbolClip&&!o?i&&t.attr(i):i&&zM[o?"updateProps":"initProps"](t,i,n.animationModel,n.dataIndex,a)}function qg(t,e,i){var n=i.color,o=i.dataIndex,a=i.itemModel,s=a.getModel("itemStyle").getItemStyle(["color"]),l=a.getModel("emphasis.itemStyle").getItemStyle(),u=a.getShallow("cursor");jg(t,function(t){t.setColor(n),t.setStyle(r({fill:n,opacity:i.opacity},s)),fo(t,l),u&&(t.cursor=u),t.z2=i.z2});var h={},c=e.valueDim.posDesc[+(i.boundingLength>0)],d=t.__pictorialBarRect;kh(d.style,h,a,n,e.seriesModel,o,c),fo(d,h)}function Kg(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}function $g(t,e,i){this.dimension="single",this.dimensions=["single"],this._axis=null,this._rect,this._init(t,e,i),this.model=t}function Jg(t,e){e=e||{};var i=t.coordinateSystem,n=t.axis,o={},a=n.position,r=n.orient,s=i.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};o.position=["vertical"===r?u.vertical[a]:l[0],"horizontal"===r?u.horizontal[a]:l[3]];var h={horizontal:0,vertical:1};o.rotation=Math.PI/2*h[r];var c={top:-1,bottom:1,right:1,left:-1};o.labelDirection=o.tickDirection=o.nameDirection=c[a],t.get("axisTick.inside")&&(o.tickDirection=-o.tickDirection),T(e.labelInside,t.get("axisLabel.inside"))&&(o.labelDirection=-o.labelDirection);var d=e.rotate;return null==d&&(d=t.get("axisLabel.rotate")),o.labelRotation="top"===a?-d:d,o.z2=1,o}function Qg(t,e,i,n,o){var r=t.axis;if(!r.scale.isBlank()&&r.containData(e))if(t.involveSeries){var s=tm(e,t),l=s.payloadBatch,u=s.snapToValue;l[0]&&null==o.seriesIndex&&a(o,l[0]),!n&&t.snap&&r.containData(u)&&null!=u&&(e=u),i.showPointer(t,e,l,o),i.showTooltip(t,s,u)}else i.showPointer(t,e)}function tm(t,e){var i=e.axis,n=i.dim,o=t,a=[],r=Number.MAX_VALUE,s=-1;return _P(e.seriesModels,function(e,l){var u,h,c=e.getData().mapDimension(n,!0);if(e.getAxisTooltipData){var d=e.getAxisTooltipData(c,t,i);h=d.dataIndices,u=d.nestestValue}else{if(!(h=e.getData().indicesOfNearest(c[0],t,"category"===i.type?.5:null)).length)return;u=e.getData().get(c[0],h[0])}if(null!=u&&isFinite(u)){var f=t-u,p=Math.abs(f);p<=r&&((p<r||f>=0&&s<0)&&(r=p,s=f,o=u,a.length=0),_P(h,function(t){a.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})}))}}),{payloadBatch:a,snapToValue:o}}function em(t,e,i,n){t[e.key]={value:i,payloadBatch:n}}function im(t,e,i,n){var o=i.payloadBatch,a=e.axis,r=a.model,s=e.axisPointerModel;if(e.triggerTooltip&&o.length){var l=e.coordSys.model,u=Ah(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:a.dim,axisIndex:r.componentIndex,axisType:r.type,axisId:r.id,value:n,valueLabelOpt:{precision:s.get("label.precision"),formatter:s.get("label.formatter")},seriesDataIndices:o.slice()})}}function nm(t,e,i){var n=i.axesInfo=[];_P(e,function(e,i){var o=e.axisPointerModel.option,a=t[i];a?(!e.useHandle&&(o.status="show"),o.value=a.value,o.seriesDataIndices=(a.payloadBatch||[]).slice()):!e.useHandle&&(o.status="hide"),"show"===o.status&&n.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:o.value})})}function om(t,e,i,n){if(!lm(e)&&t.list.length){var o=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:i.tooltipOption,position:i.position,dataIndexInside:o.dataIndexInside,dataIndex:o.dataIndex,seriesIndex:o.seriesIndex,dataByCoordSys:t.list})}else n({type:"hideTip"})}function am(t,e,i){var n=i.getZr(),o=bP(n).axisPointerLastHighlights||{},a=bP(n).axisPointerLastHighlights={};_P(t,function(t,e){var i=t.axisPointerModel.option;"show"===i.status&&_P(i.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;a[e]=t})});var r=[],s=[];d(o,function(t,e){!a[e]&&s.push(t)}),d(a,function(t,e){!o[e]&&r.push(t)}),s.length&&i.dispatchAction({type:"downplay",escapeConnect:!0,batch:s}),r.length&&i.dispatchAction({type:"highlight",escapeConnect:!0,batch:r})}function rm(t,e){for(var i=0;i<(t||[]).length;i++){var n=t[i];if(e.axis.dim===n.axisDim&&e.axis.model.componentIndex===n.axisIndex)return n}}function sm(t){var e=t.axis.model,i={},n=i.axisDim=t.axis.dim;return i.axisIndex=i[n+"AxisIndex"]=e.componentIndex,i.axisName=i[n+"AxisName"]=e.name,i.axisId=i[n+"AxisId"]=e.id,i}function lm(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function um(t,e,i){if(!U_.node){var n=e.getZr();SP(n).records||(SP(n).records={}),hm(n,e),(SP(n).records[t]||(SP(n).records[t]={})).handler=i}}function hm(t,e){function i(i,n){t.on(i,function(i){var o=pm(e);MP(SP(t).records,function(t){t&&n(t,i,o.dispatchAction)}),cm(o.pendings,e)})}SP(t).initialized||(SP(t).initialized=!0,i("click",v(fm,"click")),i("mousemove",v(fm,"mousemove")),i("globalout",dm))}function cm(t,e){var i,n=t.showTip.length,o=t.hideTip.length;n?i=t.showTip[n-1]:o&&(i=t.hideTip[o-1]),i&&(i.dispatchAction=null,e.dispatchAction(i))}function dm(t,e,i){t.handler("leave",null,i)}function fm(t,e,i,n){e.handler(t,i,n)}function pm(t){var e={showTip:[],hideTip:[]},i=function(n){var o=e[n.type];o?o.push(n):(n.dispatchAction=i,t.dispatchAction(n))};return{dispatchAction:i,pendings:e}}function gm(t,e){if(!U_.node){var i=e.getZr();(SP(i).records||{})[t]&&(SP(i).records[t]=null)}}function mm(){}function vm(t,e,i,n){ym(TP(i).lastProp,n)||(TP(i).lastProp=n,e?Io(i,n,t):(i.stopAnimation(),i.attr(n)))}function ym(t,e){if(w(t)&&w(e)){var i=!0;return d(e,function(e,n){i=i&&ym(t[n],e)}),!!i}return t===e}function xm(t,e){t[e.get("label.show")?"show":"hide"]()}function _m(t){return{position:t.position.slice(),rotation:t.rotation||0}}function wm(t,e,i){var n=e.get("z"),o=e.get("zlevel");t&&t.traverse(function(t){"group"!==t.type&&(null!=n&&(t.z=n),null!=o&&(t.zlevel=o),t.silent=i)})}function bm(t){var e,i=t.get("type"),n=t.getModel(i+"Style");return"line"===i?(e=n.getLineStyle()).fill=null:"shadow"===i&&((e=n.getAreaStyle()).stroke=null),e}function Sm(t,e,i,n,o){var a=Im(i.get("value"),e.axis,e.ecModel,i.get("seriesDataIndices"),{precision:i.get("label.precision"),formatter:i.get("label.formatter")}),r=i.getModel("label"),s=qM(r.get("padding")||0),l=r.getFont(),u=ke(a,l),h=o.position,c=u.width+s[1]+s[3],d=u.height+s[0]+s[2],f=o.align;"right"===f&&(h[0]-=c),"center"===f&&(h[0]-=c/2);var p=o.verticalAlign;"bottom"===p&&(h[1]-=d),"middle"===p&&(h[1]-=d/2),Mm(h,c,d,n);var g=r.get("backgroundColor");g&&"auto"!==g||(g=e.get("axisLine.lineStyle.color")),t.label={shape:{x:0,y:0,width:c,height:d,r:r.get("borderRadius")},position:h.slice(),style:{text:a,textFont:l,textFill:r.getTextColor(),textPosition:"inside",fill:g,stroke:r.get("borderColor")||"transparent",lineWidth:r.get("borderWidth")||0,shadowBlur:r.get("shadowBlur"),shadowColor:r.get("shadowColor"),shadowOffsetX:r.get("shadowOffsetX"),shadowOffsetY:r.get("shadowOffsetY")},z2:10}}function Mm(t,e,i,n){var o=n.getWidth(),a=n.getHeight();t[0]=Math.min(t[0]+e,o)-e,t[1]=Math.min(t[1]+i,a)-i,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}function Im(t,e,i,n,o){t=e.scale.parse(t);var a=e.scale.getLabel(t,{precision:o.precision}),r=o.formatter;if(r){var s={value:Xl(e,t),seriesData:[]};d(n,function(t){var e=i.getSeriesByIndex(t.seriesIndex),n=t.dataIndexInside,o=e&&e.getDataParams(n);o&&s.seriesData.push(o)}),_(r)?a=r.replace("{value}",a):x(r)&&(a=r(s))}return a}function Tm(t,e,i){var n=xt();return Mt(n,n,i.rotation),St(n,n,i.position),Do([t.dataToCoord(e),(i.labelOffset||0)+(i.labelDirection||1)*(i.labelMargin||0)],n)}function Am(t,e,i,n,o,a){var r=FD.innerTextLayout(i.rotation,0,i.labelDirection);i.labelMargin=o.get("label.margin"),Sm(e,n,o,a,{position:Tm(n.axis,t,i),align:r.textAlign,verticalAlign:r.textVerticalAlign})}function Dm(t,e,i){return i=i||0,{x1:t[i],y1:t[1-i],x2:e[i],y2:e[1-i]}}function Cm(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}}function Lm(t,e,i,n,o,a){return{cx:t,cy:e,r0:i,r:n,startAngle:o,endAngle:a,clockwise:!0}}function km(t,e){var i={};return i[e.dim+"AxisIndex"]=e.index,t.getCartesian(i)}function Pm(t){return"x"===t.dim?0:1}function Nm(t){return t.isHorizontal()?0:1}function Om(t,e){var i=t.getRect();return[i[kP[e]],i[kP[e]]+i[PP[e]]]}function Em(t,e,i){var n=new yM({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return To(n,{shape:{width:t.width+20,height:t.height+20}},e,i),n}function Rm(t,e,i){if(t.count())for(var n,o=e.coordinateSystem,a=e.getLayerSeries(),r=t.mapDimension("single"),s=t.mapDimension("value"),l=f(a,function(e){return f(e.indices,function(e){var i=o.dataToPoint(t.get(r,e));return i[1]=t.get(s,e),i})}),u=zm(l),h=u.y0,c=i/u.max,d=a.length,p=a[0].indices.length,g=0;g<p;++g){n=h[g]*c,t.setItemLayout(a[0].indices[g],{layerIndex:0,x:l[0][g][0],y0:n,y:l[0][g][1]*c});for(var m=1;m<d;++m)n+=l[m-1][g][1]*c,t.setItemLayout(a[m].indices[g],{layerIndex:m,x:l[m][g][0],y0:n,y:l[m][g][1]*c})}}function zm(t){for(var e=t.length,i=t[0].length,n=[],o=[],a=0,r={},s=0;s<i;++s){for(var l=0,u=0;l<e;++l)u+=t[l][s][1];u>a&&(a=u),n.push(u)}for(var h=0;h<i;++h)o[h]=(a-n[h])/2;a=0;for(var c=0;c<i;++c){var d=n[c]+o[c];d>a&&(a=d)}return r.y0=o,r.max=a,r}function Bm(t){var e=0;d(t.children,function(t){Bm(t);var i=t.value;y(i)&&(i=i[0]),e+=i});var i=t.value;y(i)&&(i=i[0]),(null==i||isNaN(i))&&(i=e),i<0&&(i=0),y(t.value)?t.value[0]=i:t.value=i}function Vm(t,e,i){function n(){r.ignore=r.hoverIgnore}function o(){r.ignore=r.normalIgnore}tb.call(this);var a=new hM({z2:zP});a.seriesIndex=e.seriesIndex;var r=new rM({z2:BP,silent:t.getModel("label").get("silent")});this.add(a),this.add(r),this.updateData(!0,t,"normal",e,i),this.on("emphasis",n).on("normal",o).on("mouseover",n).on("mouseout",o)}function Gm(t,e,i){var n=t.getVisual("color"),o=t.getVisual("visualMeta");o&&0!==o.length||(n=null);var a=t.getModel("itemStyle").get("color");if(a)return a;if(n)return n;if(0===t.depth)return i.option.color[0];var r=i.option.color.length;return a=i.option.color[Fm(t)%r]}function Fm(t){for(var e=t;e.depth>1;)e=e.parentNode;return l(t.getAncestors()[0].children,e)}function Wm(t,e,i){return i!==RP.NONE&&(i===RP.SELF?t===e:i===RP.ANCESTOR?t===e||t.isAncestorOf(e):t===e||t.isDescendantOf(e))}function Hm(t,e,i){e.getData().setItemVisual(t.dataIndex,"color",i)}function Zm(t,e){var i=t.children||[];t.children=Um(i,e),i.length&&d(t.children,function(t){Zm(t,e)})}function Um(t,e){if("function"==typeof e)return t.sort(e);var i="asc"===e;return t.sort(function(t,e){var n=(t.getValue()-e.getValue())*(i?1:-1);return 0===n?(t.dataIndex-e.dataIndex)*(i?-1:1):n})}function Xm(t,e){return e=e||[0,0],f(["x","y"],function(i,n){var o=this.getAxis(i),a=e[n],r=t[n]/2;return"category"===o.type?o.getBandWidth():Math.abs(o.dataToCoord(a-r)-o.dataToCoord(a+r))},this)}function jm(t,e){return e=e||[0,0],f([0,1],function(i){var n=e[i],o=t[i]/2,a=[],r=[];return a[i]=n-o,r[i]=n+o,a[1-i]=r[1-i]=e[1-i],Math.abs(this.dataToPoint(a)[i]-this.dataToPoint(r)[i])},this)}function Ym(t,e){var i=this.getAxis(),n=e instanceof Array?e[0]:e,o=(t instanceof Array?t[0]:t)/2;return"category"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(n-o)-i.dataToCoord(n+o))}function qm(t,e){return f(["Radius","Angle"],function(i,n){var o=this["get"+i+"Axis"](),a=e[n],r=t[n]/2,s="dataTo"+i,l="category"===o.type?o.getBandWidth():Math.abs(o[s](a-r)-o[s](a+r));return"Angle"===i&&(l=l*Math.PI/180),l},this)}function Km(t){var e,i=t.type;if("path"===i){var n=t.shape,o=null!=n.width&&null!=n.height?{x:n.x||0,y:n.y||0,width:n.width,height:n.height}:null,a=lv(n);(e=Xn(a,null,o,n.layout||"center")).__customPathData=a}else"image"===i?(e=new fi({})).__customImagePath=t.style.image:"text"===i?(e=new rM({})).__customText=t.style.text:e=new(0,zM[i.charAt(0).toUpperCase()+i.slice(1)]);return e.__customGraphicType=i,e.name=t.name,e}function $m(t,e,n,o,a,r,s){var l={},u=n.style||{};if(n.shape&&(l.shape=i(n.shape)),n.position&&(l.position=n.position.slice()),n.scale&&(l.scale=n.scale.slice()),n.origin&&(l.origin=n.origin.slice()),n.rotation&&(l.rotation=n.rotation),"image"===t.type&&n.style){h=l.style={};d(["x","y","width","height"],function(e){Jm(e,h,u,t.style,r)})}if("text"===t.type&&n.style){var h=l.style={};d(["x","y"],function(e){Jm(e,h,u,t.style,r)}),!u.hasOwnProperty("textFill")&&u.fill&&(u.textFill=u.fill),!u.hasOwnProperty("textStroke")&&u.stroke&&(u.textStroke=u.stroke)}if("group"!==t.type&&(t.useStyle(u),r)){t.style.opacity=0;var c=u.opacity;null==c&&(c=1),To(t,{style:{opacity:c}},o,e)}r?t.attr(l):Io(t,l,o,e),n.hasOwnProperty("z2")&&t.attr("z2",n.z2||0),n.hasOwnProperty("silent")&&t.attr("silent",n.silent),n.hasOwnProperty("invisible")&&t.attr("invisible",n.invisible),n.hasOwnProperty("ignore")&&t.attr("ignore",n.ignore),n.hasOwnProperty("info")&&t.attr("info",n.info);var f=n.styleEmphasis,p=!1===f;t.__cusHasEmphStl&&null==f||!t.__cusHasEmphStl&&p||(ro(t,f),t.__cusHasEmphStl=!p),s&&po(t,!p)}function Jm(t,e,i,n,o){null==i[t]||o||(e[t]=i[t],i[t]=n[t])}function Qm(t,e,i,n){function o(t){null==t&&(t=h),v&&(c=e.getItemModel(t),d=c.getModel(UP),f=c.getModel(XP),p=e.getItemVisual(t,"color"),v=!1)}var s=t.get("renderItem"),l=t.coordinateSystem,u={};l&&(u=l.prepareCustoms?l.prepareCustoms():YP[l.type](l));var h,c,d,f,p,g=r({getWidth:n.getWidth,getHeight:n.getHeight,getZr:n.getZr,getDevicePixelRatio:n.getDevicePixelRatio,value:function(t,i){return null==i&&(i=h),e.get(e.getDimension(t||0),i)},style:function(i,n){null==n&&(n=h),o(n);var r=c.getModel(HP).getItemStyle();null!=p&&(r.fill=p);var s=e.getItemVisual(n,"opacity");return null!=s&&(r.opacity=s),mo(r,d,null,{autoColor:p,isRectText:!0}),r.text=d.getShallow("show")?A(t.getFormattedLabel(n,"normal"),_u(e,n)):null,i&&a(r,i),r},styleEmphasis:function(i,n){null==n&&(n=h),o(n);var r=c.getModel(ZP).getItemStyle();return mo(r,f,null,{isRectText:!0},!0),r.text=f.getShallow("show")?D(t.getFormattedLabel(n,"emphasis"),t.getFormattedLabel(n,"normal"),_u(e,n)):null,i&&a(r,i),r},visual:function(t,i){return null==i&&(i=h),e.getItemVisual(i,t)},barLayout:function(t){if(l.getBaseAxis)return Ll(r({axis:l.getBaseAxis()},t),n)},currentSeriesIndices:function(){return i.getCurrentSeriesIndices()},font:function(t){return So(t,i)}},u.api||{}),m={context:{},seriesId:t.id,seriesName:t.name,seriesIndex:t.seriesIndex,coordSys:u.coordSys,dataInsideLength:e.count(),encode:tv(t.getData())},v=!0;return function(t,i){return h=t,v=!0,s&&s(r({dataIndexInside:t,dataIndex:e.getRawIndex(t),actionType:i?i.type:null},m),g)}}function tv(t){var e={};return d(t.dimensions,function(i,n){var o=t.getDimensionInfo(i);if(!o.isExtraCoord){var a=o.coordDim;(e[a]=e[a]||[])[o.coordDimIndex]=n}}),e}function ev(t,e,i,n,o,a){return(t=iv(t,e,i,n,o,a,!0))&&a.setItemGraphicEl(e,t),t}function iv(t,e,i,n,o,a,r){var s=!i,l=(i=i||{}).type,u=i.shape,h=i.style;if(t&&(s||null!=l&&l!==t.__customGraphicType||"path"===l&&uv(u)&&lv(u)!==t.__customPathData||"image"===l&&hv(h,"image")&&h.image!==t.__customImagePath||"text"===l&&hv(u,"text")&&h.text!==t.__customText)&&(o.remove(t),t=null),!s){var c=!t;return!t&&(t=Km(i)),$m(t,e,i,n,a,c,r),"group"===l&&nv(t,e,i,n,a),o.add(t),t}}function nv(t,e,i,n,o){var a=i.children,r=a?a.length:0,s=i.$mergeChildren,l="byName"===s||i.diffChildrenByName,u=!1===s;if(r||l||u)if(l)ov({oldChildren:t.children()||[],newChildren:a||[],dataIndex:e,animatableModel:n,group:t,data:o});else{u&&t.removeAll();for(var h=0;h<r;h++)a[h]&&iv(t.childAt(h),e,a[h],n,t,o)}}function ov(t){new Xs(t.oldChildren,t.newChildren,av,av,t).add(rv).update(rv).remove(sv).execute()}function av(t,e){var i=t&&t.name;return null!=i?i:jP+e}function rv(t,e){var i=this.context,n=null!=t?i.newChildren[t]:null;iv(null!=e?i.oldChildren[e]:null,i.dataIndex,n,i.animatableModel,i.group,i.data)}function sv(t){var e=this.context,i=e.oldChildren[t];i&&e.group.remove(i)}function lv(t){return t&&(t.pathData||t.d)}function uv(t){return t&&(t.hasOwnProperty("pathData")||t.hasOwnProperty("d"))}function hv(t,e){return t&&t.hasOwnProperty(e)}function cv(t,e,i,n){var o=i.type,a=new(0,zM[o.charAt(0).toUpperCase()+o.slice(1)])(i);e.add(a),n.set(t,a),a.__ecGraphicId=t}function dv(t,e){var i=t&&t.parent;i&&("group"===t.type&&t.traverse(function(t){dv(t,e)}),e.removeKey(t.__ecGraphicId),i.remove(t))}function fv(t){return t=a({},t),d(["id","parentId","$action","hv","bounding"].concat(nI),function(e){delete t[e]}),t}function pv(t,e){var i;return d(e,function(e){null!=t[e]&&"auto"!==t[e]&&(i=!0)}),i}function gv(t,e){var i=t.exist;if(e.id=t.keyInfo.id,!e.type&&i&&(e.type=i.type),null==e.parentId){var n=e.parentOption;n?e.parentId=n.id:i&&(e.parentId=i.parentId)}e.parentOption=null}function mv(t,e,i){var o=a({},i),r=t[e],s=i.$action||"merge";"merge"===s?r?(n(r,o,!0),pa(r,o,{ignoreSize:!0}),ma(i,r)):t[e]=o:"replace"===s?t[e]=o:"remove"===s&&r&&(t[e]=null)}function vv(t,e){t&&(t.hv=e.hv=[pv(e,["left","right"]),pv(e,["top","bottom"])],"group"===t.type&&(null==t.width&&(t.width=e.width=0),null==t.height&&(t.height=e.height=0)))}function yv(t,e,i){var n=t.eventData;t.silent||t.ignore||n||(n=t.eventData={componentType:"graphic",componentIndex:e.componentIndex,name:t.name}),n&&(n.info=t.info)}function xv(t,e,i){var n,o={},a="toggleSelected"===t;return i.eachComponent("legend",function(i){a&&null!=n?i[n?"select":"unSelect"](e.name):(i[t](e.name),n=i.isSelected(e.name)),d(i.getData(),function(t){var e=t.get("name");if("\n"!==e&&""!==e){var n=i.isSelected(e);o.hasOwnProperty(e)?o[e]=o[e]&&n:o[e]=n}})}),{name:e.name,selected:o}}function _v(t,e,i){var n=e.getBoxLayoutParams(),o=e.get("padding"),a={width:i.getWidth(),height:i.getHeight()},r=ca(n,a,o);aI(e.get("orient"),t,e.get("itemGap"),r.width,r.height),da(t,n,a,o)}function wv(t,e){var i=qM(e.get("padding")),n=e.getItemStyle(["color","opacity"]);return n.fill=e.get("backgroundColor"),t=new yM({shape:{x:t.x-i[3],y:t.y-i[0],width:t.width+i[1]+i[3],height:t.height+i[0]+i[2],r:e.get("borderRadius")},style:n,silent:!0,z2:-1})}function bv(t,e){e.dispatchAction({type:"legendToggleSelect",name:t})}function Sv(t,e,i,n){var o=i.getZr().storage.getDisplayList()[0];o&&o.useHoverLayer||i.dispatchAction({type:"highlight",seriesName:t,name:e,excludeSeriesId:n})}function Mv(t,e,i,n){var o=i.getZr().storage.getDisplayList()[0];o&&o.useHoverLayer||i.dispatchAction({type:"downplay",seriesName:t,name:e,excludeSeriesId:n})}function Iv(t,e,i){var n=[1,1];n[t.getOrient().index]=0,pa(e,i,{type:"box",ignoreSize:n})}function Tv(t){var e="left "+t+"s cubic-bezier(0.23, 1, 0.32, 1),top "+t+"s cubic-bezier(0.23, 1, 0.32, 1)";return f(lN,function(t){return t+"transition:"+e}).join(";")}function Av(t){var e=[],i=t.get("fontSize"),n=t.getTextColor();return n&&e.push("color:"+n),e.push("font:"+t.getFont()),i&&e.push("line-height:"+Math.round(3*i/2)+"px"),rN(["decoration","align"],function(i){var n=t.get(i);n&&e.push("text-"+i+":"+n)}),e.join(";")}function Dv(t){var e=[],i=t.get("transitionDuration"),n=t.get("backgroundColor"),o=t.getModel("textStyle"),a=t.get("padding");return i&&e.push(Tv(i)),n&&(U_.canvasSupported?e.push("background-Color:"+n):(e.push("background-Color:#"+Zt(n)),e.push("filter:alpha(opacity=70)"))),rN(["width","color","radius"],function(i){var n="border-"+i,o=sN(n),a=t.get(o);null!=a&&e.push(n+":"+a+("color"===i?"":"px"))}),e.push(Av(o)),null!=a&&e.push("padding:"+qM(a).join("px ")+"px"),e.join(";")+";"}function Cv(t,e){if(U_.wxa)return null;var i=document.createElement("div"),n=this._zr=e.getZr();this.el=i,this._x=e.getWidth()/2,this._y=e.getHeight()/2,t.appendChild(i),this._container=t,this._show=!1,this._hideTimeout;var o=this;i.onmouseenter=function(){o._enterable&&(clearTimeout(o._hideTimeout),o._show=!0),o._inContent=!0},i.onmousemove=function(e){if(e=e||window.event,!o._enterable){var i=n.handler;ut(t,e,!0),i.dispatch("mousemove",e)}},i.onmouseleave=function(){o._enterable&&o._show&&o.hideLater(o._hideDelay),o._inContent=!1}}function Lv(t){this._zr=t.getZr(),this._show=!1,this._hideTimeout}function kv(t){for(var e=t.pop();t.length;){var i=t.pop();i&&(No.isInstance(i)&&(i=i.get("tooltip",!0)),"string"==typeof i&&(i={formatter:i}),e=new No(i,e,e.ecModel))}return e}function Pv(t,e){return t.dispatchAction||m(e.dispatchAction,e)}function Nv(t,e,i,n,o,a,r){var s=i.getOuterSize(),l=s.width,u=s.height;return null!=a&&(t+l+a>n?t-=l+a:t+=a),null!=r&&(e+u+r>o?e-=u+r:e+=r),[t,e]}function Ov(t,e,i,n,o){var a=i.getOuterSize(),r=a.width,s=a.height;return t=Math.min(t+r,n)-r,e=Math.min(e+s,o)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}function Ev(t,e,i){var n=i[0],o=i[1],a=0,r=0,s=e.width,l=e.height;switch(t){case"inside":a=e.x+s/2-n/2,r=e.y+l/2-o/2;break;case"top":a=e.x+s/2-n/2,r=e.y-o-5;break;case"bottom":a=e.x+s/2-n/2,r=e.y+l+5;break;case"left":a=e.x-n-5,r=e.y+l/2-o/2;break;case"right":a=e.x+s+5,r=e.y+l/2-o/2}return[a,r]}function Rv(t){return"center"===t||"middle"===t}function zv(t){return t.get("stack")||"__ec_stack_"+t.seriesIndex}function Bv(t){return t.dim}function Vv(t,e){var i={};d(t,function(t,e){var n=t.getData(),o=t.coordinateSystem.getBaseAxis(),a=o.getExtent(),r="category"===o.type?o.getBandWidth():Math.abs(a[1]-a[0])/n.count(),s=i[Bv(o)]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},l=s.stacks;i[Bv(o)]=s;var u=zv(t);l[u]||s.autoWidthCount++,l[u]=l[u]||{width:0,maxWidth:0};var h=Vo(t.get("barWidth"),r),c=Vo(t.get("barMaxWidth"),r),d=t.get("barGap"),f=t.get("barCategoryGap");h&&!l[u].width&&(h=Math.min(s.remainedWidth,h),l[u].width=h,s.remainedWidth-=h),c&&(l[u].maxWidth=c),null!=d&&(s.gap=d),null!=f&&(s.categoryGap=f)});var n={};return d(i,function(t,e){n[e]={};var i=t.stacks,o=t.bandWidth,a=Vo(t.categoryGap,o),r=Vo(t.gap,1),s=t.remainedWidth,l=t.autoWidthCount,u=(s-a)/(l+(l-1)*r);u=Math.max(u,0),d(i,function(t,e){var i=t.maxWidth;i&&i<u&&(i=Math.min(i,s),t.width&&(i=Math.min(i,t.width)),s-=i,t.width=i,l--)}),u=(s-a)/(l+(l-1)*r),u=Math.max(u,0);var h,c=0;d(i,function(t,e){t.width||(t.width=u),h=t,c+=t.width*(1+r)}),h&&(c-=h.width*r);var f=-c/2;d(i,function(t,i){n[e][i]=n[e][i]||{offset:f,width:t.width},f+=t.width*(1+r)})}),n}function Gv(t,e){aD.call(this,"radius",t,e),this.type="category"}function Fv(t,e){e=e||[0,360],aD.call(this,"angle",t,e),this.type="category"}function Wv(t,e){return e.type||(e.data?"category":"value")}function Hv(t,e,i){var n=e.get("center"),o=i.getWidth(),a=i.getHeight();t.cx=Vo(n[0],o),t.cy=Vo(n[1],a);var r=t.getRadiusAxis(),s=Math.min(o,a)/2,l=Vo(e.get("radius"),s);r.inverse?r.setExtent(l,0):r.setExtent(0,l)}function Zv(t,e){var i=this,n=i.getAngleAxis(),o=i.getRadiusAxis();if(n.scale.setExtent(1/0,-1/0),o.scale.setExtent(1/0,-1/0),t.eachSeries(function(t){if(t.coordinateSystem===i){var e=t.getData();d(e.mapDimension("radius",!0),function(t){o.scale.unionExtentFromData(e,gl(e,t))}),d(e.mapDimension("angle",!0),function(t){n.scale.unionExtentFromData(e,gl(e,t))})}}),Wl(n.scale,n.model),Wl(o.scale,o.model),"category"===n.type&&!n.onBand){var a=n.getExtent(),r=360/n.scale.count();n.inverse?a[1]+=r:a[1]-=r,n.setExtent(a[0],a[1])}}function Uv(t,e){if(t.type=e.get("type"),t.scale=Hl(e),t.onBand=e.get("boundaryGap")&&"category"===t.type,t.inverse=e.get("inverse"),"angleAxis"===e.mainType){t.inverse^=e.get("clockwise");var i=e.get("startAngle");t.setExtent(i,i+(t.inverse?-360:360))}e.axis=t,t.model=e}function Xv(t,e,i){e[1]>e[0]&&(e=e.slice().reverse());var n=t.coordToPoint([e[0],i]),o=t.coordToPoint([e[1],i]);return{x1:n[0],y1:n[1],x2:o[0],y2:o[1]}}function jv(t){return t.getRadiusAxis().inverse?0:1}function Yv(t){var e=t[0],i=t[t.length-1];e&&i&&Math.abs(Math.abs(e.coord-i.coord)-360)<1e-4&&t.pop()}function qv(t,e,i){return{position:[t.cx,t.cy],rotation:i/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:e.getModel("axisLabel").get("rotate"),z2:1}}function Kv(t,e,i,n,o){var a=e.axis,r=a.dataToCoord(t),s=n.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l,u,h,c=n.getRadiusAxis().getExtent();if("radius"===a.dim){var d=xt();Mt(d,d,s),St(d,d,[n.cx,n.cy]),l=Do([r,-o],d);var f=e.getModel("axisLabel").get("rotate")||0,p=FD.innerTextLayout(s,f*Math.PI/180,-1);u=p.textAlign,h=p.textVerticalAlign}else{var g=c[1];l=n.coordToPoint([g+o,r]);var m=n.cx,v=n.cy;u=Math.abs(l[0]-m)/g<.3?"center":l[0]>m?"left":"right",h=Math.abs(l[1]-v)/g<.3?"middle":l[1]>v?"top":"bottom"}return{position:l,align:u,verticalAlign:h}}function $v(t,e){e.update="updateView",Es(e,function(e,i){var n={};return i.eachComponent({mainType:"geo",query:e},function(i){i[t](e.name),d(i.coordinateSystem.regions,function(t){n[t.name]=i.isSelected(t.name)||!1})}),{selected:n,name:e.name}})}function Jv(t){var e={};d(t,function(t){e[t]=1}),t.length=0,d(e,function(e,i){t.push(i)})}function Qv(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}function ty(t,e,n){function o(){var t=function(){};return t.prototype.__hidden=t.prototype,new t}var a={};return MN(e,function(e){var r=a[e]=o();MN(t[e],function(t,o){if(hL.isValidType(o)){var a={type:o,visual:t};n&&n(a,e),r[o]=new hL(a),"opacity"===o&&((a=i(a)).type="colorAlpha",r.__hidden.__alphaForOpacity=new hL(a))}})}),a}function ey(t,e,n){var o;d(n,function(t){e.hasOwnProperty(t)&&Qv(e[t])&&(o=!0)}),o&&d(n,function(n){e.hasOwnProperty(n)&&Qv(e[n])?t[n]=i(e[n]):delete t[n]})}function iy(t,e,i,n,o,a){function r(t){return i.getItemVisual(h,t)}function s(t,e){i.setItemVisual(h,t,e)}function l(t,l){h=null==a?t:l;var c=i.getRawDataItem(h);if(!c||!1!==c.visualMap)for(var d=n.call(o,t),f=e[d],p=u[d],g=0,m=p.length;g<m;g++){var v=p[g];f[v]&&f[v].applyVisual(t,r,s)}}var u={};d(t,function(t){var i=hL.prepareVisualTypes(e[t]);u[t]=i});var h;null==a?i.each(l):i.each([a],l)}function ny(t,e,i,n){var o={};return d(t,function(t){var i=hL.prepareVisualTypes(e[t]);o[t]=i}),{progress:function(t,a){null!=n&&(n=a.getDimension(n));for(var r;null!=(r=t.next());){var s=a.getRawDataItem(r);if(!s||!1!==s.visualMap)for(var l=null!=n?a.get(n,r,!0):r,u=i(l),h=e[u],c=o[u],d=0,f=c.length;d<f;d++){var p=c[d];h[p]&&h[p].applyVisual(l,function(t){return a.getItemVisual(r,t)},function(t,e){a.setItemVisual(r,t,e)})}}}}}function oy(t){var e=["x","y"],i=["width","height"];return{point:function(e,i,n){if(e){var o=n.range;return ay(e[t],o)}},rect:function(n,o,a){if(n){var r=a.range,s=[n[e[t]],n[e[t]]+n[i[t]]];return s[1]<s[0]&&s.reverse(),ay(s[0],r)||ay(s[1],r)||ay(r[0],s)||ay(r[1],s)}}}}function ay(t,e){return e[0]<=t&&t<=e[1]}function ry(t,e,i,n,o){for(var a=0,r=o[o.length-1];a<o.length;a++){var s=o[a];if(sy(t,e,i,n,s[0],s[1],r[0],r[1]))return!0;r=s}}function sy(t,e,i,n,o,a,r,s){var l=uy(i-t,o-r,n-e,a-s);if(ly(l))return!1;var u=uy(o-t,o-r,a-e,a-s)/l;if(u<0||u>1)return!1;var h=uy(i-t,o-t,n-e,a-e)/l;return!(h<0||h>1)}function ly(t){return t<=1e-6&&t>=-1e-6}function uy(t,e,i,n){return t*n-e*i}function hy(t,e,i){var n=this._targetInfoList=[],o={},a=dy(e,t);TN(PN,function(t,e){(!i||!i.include||AN(i.include,e)>=0)&&t(a,n,o)})}function cy(t){return t[0]>t[1]&&t.reverse(),t}function dy(t,e){return Vi(t,e,{includeMainTypes:LN})}function fy(t,e,i,n){var o=i.getAxis(["x","y"][t]),a=cy(f([0,1],function(t){return e?o.coordToData(o.toLocalCoord(n[t])):o.toGlobalCoord(o.dataToCoord(n[t]))})),r=[];return r[t]=a,r[1-t]=[NaN,NaN],{values:a,xyMinMax:r}}function py(t,e,i,n){return[e[0]-n[t]*i[0],e[1]-n[t]*i[1]]}function gy(t,e){var i=my(t),n=my(e),o=[i[0]/n[0],i[1]/n[1]];return isNaN(o[0])&&(o[0]=1),isNaN(o[1])&&(o[1]=1),o}function my(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}function vy(t,e,i,n,o){if(o){var a=t.getZr();a[VN]||(a[BN]||(a[BN]=yy),Nr(a,BN,i,e)(t,n))}}function yy(t,e){if(!t.isDisposed()){var i=t.getZr();i[VN]=!0,t.dispatchAction({type:"brushSelect",batch:e}),i[VN]=!1}}function xy(t,e,i,n){for(var o=0,a=e.length;o<a;o++){var r=e[o];if(t[r.brushType](n,i,r.selectors,r))return!0}}function _y(t){var e=t.brushSelector;if(_(e)){var i=[];return d(IN,function(t,n){i[n]=function(i,n,o,a){var r=n.getItemLayout(i);return t[e](r,o,a)}}),i}if(x(e)){var n={};return d(IN,function(t,i){n[i]=e}),n}return e}function wy(t,e){var i=t.option.seriesIndex;return null!=i&&"all"!==i&&(y(i)?l(i,e)<0:e!==i)}function by(t){var e=t.selectors={};return d(IN[t.brushType],function(i,n){e[n]=function(n){return i(n,e,t)}}),t}function Sy(t){return new de(t[0][0],t[1][0],t[0][1]-t[0][0],t[1][1]-t[1][0])}function My(t,e){return n({brushType:t.brushType,brushMode:t.brushMode,transformable:t.transformable,brushStyle:new No(t.brushStyle).getItemStyle(),removeOnClick:t.removeOnClick,z:t.z},e,!0)}function Iy(t,e,i,n){(!n||n.$from!==t.id)&&this._brushController.setPanels(t.brushTargetManager.makePanelOpts(i)).enableBrush(t.brushOption).updateCovers(t.areas.slice())}function Ty(t,e){HN[t]=e}function Ay(t){return HN[t]}function Dy(t,e,i){this.model=t,this.ecModel=e,this.api=i,this._brushType,this._brushMode}function Cy(t,e,i){this._model=t}function Ly(t,e,i,n){var o=i.calendarModel,a=i.seriesModel,r=o?o.coordinateSystem:a?a.coordinateSystem:null;return r===this?r[t](n):null}function ky(t,e){var i=t.cellSize;y(i)?1===i.length&&(i[1]=i[0]):i=t.cellSize=[i,i];var n=f([0,1],function(t){return fa(e,t)&&(i[t]="auto"),null!=i[t]&&"auto"!==i[t]});pa(t,e,{type:"box",ignoreSize:n})}function Py(t){return l(qN,t)>=0}function Ny(t,e,i){function n(t,e){return l(e.nodes,t)>=0}function o(t,n){var o=!1;return e(function(e){d(i(t,e)||[],function(t){n.records[e.name][t]&&(o=!0)})}),o}function a(t,n){n.nodes.push(t),e(function(e){d(i(t,e)||[],function(t){n.records[e.name][t]=!0})})}return function(i){var r={nodes:[],records:{}};if(e(function(t){r.records[t.name]={}}),!i)return r;a(i,r);var s;do{s=!1,t(function(t){!n(t,r)&&o(t,r)&&(a(t,r),s=!0)})}while(s);return r}}function Oy(t,e,i){var n=[1/0,-1/0];return $N(i,function(t){var i=t.getData();i&&$N(i.mapDimension(e,!0),function(t){var e=i.getApproximateExtent(t);e[0]<n[0]&&(n[0]=e[0]),e[1]>n[1]&&(n[1]=e[1])})}),n[1]<n[0]&&(n=[NaN,NaN]),Ey(t,n),n}function Ey(t,e){var i=t.getAxisModel(),n=i.getMin(!0),o="category"===i.get("type"),a=o&&i.getCategories().length;null!=n&&"dataMin"!==n&&"function"!=typeof n?e[0]=n:o&&(e[0]=a>0?0:NaN);var r=i.getMax(!0);return null!=r&&"dataMax"!==r&&"function"!=typeof r?e[1]=r:o&&(e[1]=a>0?a-1:NaN),i.get("scale",!0)||(e[0]>0&&(e[0]=0),e[1]<0&&(e[1]=0)),e}function Ry(t,e){var i=t.getAxisModel(),n=t._percentWindow,o=t._valueWindow;if(n){var a=Zo(o,[0,500]);a=Math.min(a,20);var r=e||0===n[0]&&100===n[1];i.setRange(r?null:+o[0].toFixed(a),r?null:+o[1].toFixed(a))}}function zy(t){var e=t._minMaxSpan={},i=t._dataZoomModel;$N(["min","max"],function(n){e[n+"Span"]=i.get(n+"Span");var o=i.get(n+"ValueSpan");if(null!=o&&(e[n+"ValueSpan"]=o,null!=(o=t.getAxisModel().axis.scale.parse(o)))){var a=t._dataExtent;e[n+"Span"]=Bo(a[0]+o,a,[0,100],!0)}})}function By(t){var e={};return tO(["start","end","startValue","endValue","throttle"],function(i){t.hasOwnProperty(i)&&(e[i]=t[i])}),e}function Vy(t,e){var i=t._rangePropMode,n=t.get("rangeMode");tO([["start","startValue"],["end","endValue"]],function(t,o){var a=null!=e[t[0]],r=null!=e[t[1]];a&&!r?i[o]="percent":!a&&r?i[o]="value":n?i[o]=n[o]:a&&(i[o]="percent")})}function Gy(t){return{x:"y",y:"x",radius:"angle",angle:"radius"}[t]}function Fy(t){return"vertical"===t?"ns-resize":"ew-resize"}function Wy(t,e){var i=Uy(t),n=e.dataZoomId,o=e.coordId;d(i,function(t,i){var a=t.dataZoomInfos;a[n]&&l(e.allCoordIds,o)<0&&(delete a[n],t.count--)}),jy(i);var a=i[o];a||((a=i[o]={coordId:o,dataZoomInfos:{},count:0}).controller=Xy(t,a),a.dispatchAction=v(Yy,t)),!a.dataZoomInfos[n]&&a.count++,a.dataZoomInfos[n]=e;var r=qy(a.dataZoomInfos);a.controller.enable(r.controlType,r.opt),a.controller.setPointerChecker(e.containsPoint),Nr(a,"dispatchAction",e.dataZoomModel.get("throttle",!0),"fixRate")}function Hy(t,e){var i=Uy(t);d(i,function(t){t.controller.dispose();var i=t.dataZoomInfos;i[e]&&(delete i[e],t.count--)}),jy(i)}function Zy(t){return t.type+"\0_"+t.id}function Uy(t){var e=t.getZr();return e[fO]||(e[fO]={})}function Xy(t,e){var i=new oc(t.getZr());return d(["pan","zoom","scrollMove"],function(t){i.on(t,function(i){var n=[];d(e.dataZoomInfos,function(o){if(i.isAvailableBehavior(o.dataZoomModel.option)){var a=(o.getRange||{})[t],r=a&&a(e.controller,i);!o.dataZoomModel.get("disabled",!0)&&r&&n.push({dataZoomId:o.dataZoomId,start:r[0],end:r[1]})}}),n.length&&e.dispatchAction(n)})}),i}function jy(t){d(t,function(e,i){e.count||(e.controller.dispose(),delete t[i])})}function Yy(t,e){t.dispatchAction({type:"dataZoom",batch:e})}function qy(t){var e,i={type_true:2,type_move:1,type_false:0,type_undefined:-1},n=!0;return d(t,function(t){var o=t.dataZoomModel,a=!o.get("disabled",!0)&&(!o.get("zoomLock",!0)||"move");i["type_"+a]>i["type_"+e]&&(e=a),n&=o.get("preventDefaultMouseMove",!0)}),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!n}}}function Ky(t){return function(e,i,n,o){var a=this._range,r=a.slice(),s=e.axisModels[0];if(s){var l=t(r,s,e,i,n,o);return QL(l,r,[0,100],"all"),this._range=r,a[0]!==r[0]||a[1]!==r[1]?r:void 0}}}function $y(t,e){return t&&t.hasOwnProperty&&t.hasOwnProperty(e)}function Jy(t,e,i,n){for(var o=e.targetVisuals[n],a=hL.prepareVisualTypes(o),r={color:t.getData().getVisual("color")},s=0,l=a.length;s<l;s++){var u=a[s],h=o["opacity"===u?"__alphaForOpacity":u];h&&h.applyVisual(i,function(t){return r[t]},function(t,e){r[t]=e})}return r.color}function Qy(t,e,i){if(i[0]===i[1])return i.slice();for(var n=(i[1]-i[0])/200,o=i[0],a=[],r=0;r<=200&&o<i[1];r++)a.push(o),o+=n;return a.push(i[1]),a}function tx(t,e,i){var n=t.option,o=n.align;if(null!=o&&"auto"!==o)return o;for(var a={width:e.getWidth(),height:e.getHeight()},r="horizontal"===n.orient?1:0,s=[["left","right","width"],["top","bottom","height"]],l=s[r],u=[0,null,10],h={},c=0;c<3;c++)h[s[1-r][c]]=u[c],h[l[c]]=2===c?i[0]:n[l[c]];var d=[["x","width",3],["y","height",0]][r],f=ca(h,a,n.padding);return l[(f.margin[d[2]]||0)+f[d[0]]+.5*f[d[1]]<.5*a[d[1]]?0:1]}function ex(t){return d(t||[],function(e){null!=t.dataIndex&&(t.dataIndexInside=t.dataIndex,t.dataIndex=null)}),t}function ix(t,e,i,n){return new pM({shape:{points:t},draggable:!!i,cursor:e,drift:i,onmousemove:function(t){mw(t.event)},ondragend:n})}function nx(t,e){return 0===t?[[0,0],[e,0],[e,-e]]:[[0,0],[e,0],[e,e]]}function ox(t,e,i,n){return t?[[0,-RO(e,zO(i,0))],[VO,0],[0,RO(e,zO(n-i,0))]]:[[0,0],[5,-5],[5,5]]}function ax(t,e,i){var n=BO/2,o=t.get("hoverLinkDataSize");return o&&(n=OO(o,e,i,!0)/2),n}function rx(t){var e=t.get("hoverLinkOnHandle");return!!(null==e?t.get("realtime"):e)}function sx(t){return"vertical"===t?"ns-resize":"ew-resize"}function lx(t,e){var i=t.inverse;("vertical"===t.orient?!i:i)&&e.reverse()}function ux(t){Ci(t,"label",["show"])}function hx(t){return!(isNaN(parseFloat(t.x))&&isNaN(parseFloat(t.y)))}function cx(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}function dx(t,e,i,n,o,a){var r=[],s=pl(e,n)?e.getCalculationInfo("stackResultDimension"):n,l=yx(e,s,t),u=e.indicesOfNearest(s,l)[0];r[o]=e.get(i,u),r[a]=e.get(n,u);var h=Wo(e.get(n,u));return(h=Math.min(h,20))>=0&&(r[a]=+r[a].toFixed(h)),r}function fx(t,e){var n=t.getData(),o=t.coordinateSystem;if(e&&!cx(e)&&!y(e.coord)&&o){var a=o.dimensions,r=px(e,n,o,t);if((e=i(e)).type&&YO[e.type]&&r.baseAxis&&r.valueAxis){var s=XO(a,r.baseAxis.dim),l=XO(a,r.valueAxis.dim);e.coord=YO[e.type](n,r.baseDataDim,r.valueDataDim,s,l),e.value=e.coord[l]}else{for(var u=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],h=0;h<2;h++)YO[u[h]]&&(u[h]=yx(n,n.mapDimension(a[h]),u[h]));e.coord=u}}return e}function px(t,e,i,n){var o={};return null!=t.valueIndex||null!=t.valueDim?(o.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,o.valueAxis=i.getAxis(gx(n,o.valueDataDim)),o.baseAxis=i.getOtherAxis(o.valueAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim)):(o.baseAxis=n.getBaseAxis(),o.valueAxis=i.getOtherAxis(o.baseAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim),o.valueDataDim=e.mapDimension(o.valueAxis.dim)),o}function gx(t,e){var i=t.getData(),n=i.dimensions;e=i.getDimension(e);for(var o=0;o<n.length;o++){var a=i.getDimensionInfo(n[o]);if(a.name===e)return a.coordDim}}function mx(t,e){return!(t&&t.containData&&e.coord&&!hx(e))||t.containData(e.coord)}function vx(t,e,i,n){return n<2?t.coord&&t.coord[n]:t.value}function yx(t,e,i){if("average"===i){var n=0,o=0;return t.each(e,function(t,e){isNaN(t)||(n+=t,o++)}),n/o}return"median"===i?t.getMedian(e):t.getDataExtent(e,!0)["max"===i?1:0]}function xx(t,e,i){var n=e.coordinateSystem;t.each(function(o){var a,r=t.getItemModel(o),s=Vo(r.get("x"),i.getWidth()),l=Vo(r.get("y"),i.getHeight());if(isNaN(s)||isNaN(l)){if(e.getMarkerPosition)a=e.getMarkerPosition(t.getValues(t.dimensions,o));else if(n){var u=t.get(n.dimensions[0],o),h=t.get(n.dimensions[1],o);a=n.dataToPoint([u,h])}}else a=[s,l];isNaN(s)||(a[0]=s),isNaN(l)||(a[1]=l),t.setItemLayout(o,a)})}function _x(t,e,i){var n;n=t?f(t&&t.dimensions,function(t){return r({name:t},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{})}):[{name:"value",type:"float"}];var o=new vA(n,i),a=f(i.get("data"),v(fx,e));return t&&(a=g(a,v(mx,t))),o.initData(a,null,t?vx:function(t){return t.value}),o}function bx(t){return!isNaN(t)&&!isFinite(t)}function Sx(t,e,i,n){var o=1-t,a=n.dimensions[t];return bx(e[o])&&bx(i[o])&&e[t]===i[t]&&n.getAxis(a).containData(e[t])}function Mx(t,e){if("cartesian2d"===t.type){var i=e[0].coord,n=e[1].coord;if(i&&n&&(Sx(1,i,n,t)||Sx(0,i,n,t)))return!0}return mx(t,e[0])&&mx(t,e[1])}function Ix(t,e,i,n,o){var a,r=n.coordinateSystem,s=t.getItemModel(e),l=Vo(s.get("x"),o.getWidth()),u=Vo(s.get("y"),o.getHeight());if(isNaN(l)||isNaN(u)){if(n.getMarkerPosition)a=n.getMarkerPosition(t.getValues(t.dimensions,e));else{var h=r.dimensions,c=t.get(h[0],e),d=t.get(h[1],e);a=r.dataToPoint([c,d])}if("cartesian2d"===r.type){var f=r.getAxis("x"),p=r.getAxis("y"),h=r.dimensions;bx(t.get(h[0],e))?a[0]=f.toGlobalCoord(f.getExtent()[i?0:1]):bx(t.get(h[1],e))&&(a[1]=p.toGlobalCoord(p.getExtent()[i?0:1]))}isNaN(l)||(a[0]=l),isNaN(u)||(a[1]=u)}else a=[l,u];t.setItemLayout(e,a)}function Tx(t,e,i){var n;n=t?f(t&&t.dimensions,function(t){return r({name:t},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{})}):[{name:"value",type:"float"}];var o=new vA(n,i),a=new vA(n,i),s=new vA([],i),l=f(i.get("data"),v(KO,e,t,i));t&&(l=g(l,v(Mx,t)));var u=t?vx:function(t){return t.value};return o.initData(f(l,function(t){return t[0]}),null,u),a.initData(f(l,function(t){return t[1]}),null,u),s.initData(f(l,function(t){return t[2]})),s.hasItemOption=!0,{from:o,to:a,line:s}}function Ax(t){return!isNaN(t)&&!isFinite(t)}function Dx(t,e,i,n){var o=1-t;return Ax(e[o])&&Ax(i[o])}function Cx(t,e){var i=e.coord[0],n=e.coord[1];return!("cartesian2d"!==t.type||!i||!n||!Dx(1,i,n,t)&&!Dx(0,i,n,t))||(mx(t,{coord:i,x:e.x0,y:e.y0})||mx(t,{coord:n,x:e.x1,y:e.y1}))}function Lx(t,e,i,n,o){var a,r=n.coordinateSystem,s=t.getItemModel(e),l=Vo(s.get(i[0]),o.getWidth()),u=Vo(s.get(i[1]),o.getHeight());if(isNaN(l)||isNaN(u)){if(n.getMarkerPosition)a=n.getMarkerPosition(t.getValues(i,e));else{var h=[f=t.get(i[0],e),p=t.get(i[1],e)];r.clampData&&r.clampData(h,h),a=r.dataToPoint(h,!0)}if("cartesian2d"===r.type){var c=r.getAxis("x"),d=r.getAxis("y"),f=t.get(i[0],e),p=t.get(i[1],e);Ax(f)?a[0]=c.toGlobalCoord(c.getExtent()["x0"===i[0]?0:1]):Ax(p)&&(a[1]=d.toGlobalCoord(d.getExtent()["y0"===i[1]?0:1]))}isNaN(l)||(a[0]=l),isNaN(u)||(a[1]=u)}else a=[l,u];return a}function kx(t,e,i){var n,o,a=["x0","y0","x1","y1"];t?(n=f(t&&t.dimensions,function(t){var i=e.getData();return r({name:t},i.getDimensionInfo(i.mapDimension(t))||{})}),o=new vA(f(a,function(t,e){return{name:t,type:n[e%2].type}}),i)):o=new vA(n=[{name:"value",type:"float"}],i);var s=f(i.get("data"),v($O,e,t,i));t&&(s=g(s,v(Cx,t)));var l=t?function(t,e,i,n){return t.coord[Math.floor(n/2)][n%2]}:function(t){return t.value};return o.initData(s,null,l),o.hasItemOption=!0,o}function Px(t){var e=t.type,i={number:"value",time:"time"};if(i[e]&&(t.axisType=i[e],delete t.type),Nx(t),Ox(t,"controlPosition")){var n=t.controlStyle||(t.controlStyle={});Ox(n,"position")||(n.position=t.controlPosition),"none"!==n.position||Ox(n,"show")||(n.show=!1,delete n.position),delete t.controlPosition}d(t.data||[],function(t){w(t)&&!y(t)&&(!Ox(t,"value")&&Ox(t,"name")&&(t.value=t.name),Nx(t))})}function Nx(t){var e=t.itemStyle||(t.itemStyle={}),i=e.emphasis||(e.emphasis={}),n=t.label||t.label||{},o=n.normal||(n.normal={}),a={normal:1,emphasis:1};d(n,function(t,e){a[e]||Ox(o,e)||(o[e]=t)}),i.label&&!Ox(n,"emphasis")&&(n.emphasis=i.label,delete i.label)}function Ox(t,e){return t.hasOwnProperty(e)}function Ex(t,e){return ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},t.get("padding"))}function Rx(t,e,n,o){return Xn(t.get(e).replace(/^path:\/\//,""),i(o||{}),new de(n[0],n[1],n[2],n[3]),"center")}function zx(t,e,i,o,a,r){var s=e.get("color");a?(a.setColor(s),i.add(a),r&&r.onUpdate(a)):((a=Jl(t.get("symbol"),-1,-1,2,2,s)).setStyle("strokeNoScale",!0),i.add(a),r&&r.onCreate(a));var l=e.getItemStyle(["color","symbol","symbolSize"]);a.setStyle(l),o=n({rectHover:!0,z2:100},o,!0);var u=t.get("symbolSize");(u=u instanceof Array?u.slice():[+u,+u])[0]/=2,u[1]/=2,o.scale=u;var h=t.get("symbolOffset");if(h){var c=o.position=o.position||[0,0];c[0]+=Vo(h[0],u[0]),c[1]+=Vo(h[1],u[1])}var d=t.get("symbolRotate");return o.rotation=(d||0)*Math.PI/180||0,a.attr(o),a.updateTransform(),a}function Bx(t,e,i,n,o){if(!t.dragging){var a=n.getModel("checkpointStyle"),r=i.dataToCoord(n.getData().get(["value"],e));o||!a.get("animation",!0)?t.attr({position:[r,0]}):(t.stopAnimation(!0),t.animateTo({position:[r,0]},a.get("animationDuration",!0),a.get("animationEasing",!0)))}}function Vx(t){return 0===t.indexOf("my")}function Gx(t){this.model=t}function Fx(t){this.model=t}function Wx(t){var e={},i=[],n=[];return t.eachRawSeries(function(t){var o=t.coordinateSystem;if(!o||"cartesian2d"!==o.type&&"polar"!==o.type)i.push(t);else{var a=o.getBaseAxis();if("category"===a.type){var r=a.dim+"_"+a.index;e[r]||(e[r]={categoryAxis:a,valueAxis:o.getOtherAxis(a),series:[]},n.push({axisDim:a.dim,axisIndex:a.index})),e[r].series.push(t)}else i.push(t)}}),{seriesGroupByCategoryAxis:e,other:i,meta:n}}function Hx(t){var e=[];return d(t,function(t,i){var n=t.categoryAxis,o=t.valueAxis.dim,a=[" "].concat(f(t.series,function(t){return t.name})),r=[n.model.getCategories()];d(t.series,function(t){r.push(t.getRawData().mapArray(o,function(t){return t}))});for(var s=[a.join(fE)],l=0;l<r[0].length;l++){for(var u=[],h=0;h<r.length;h++)u.push(r[h][l]);s.push(u.join(fE))}e.push(s.join("\n"))}),e.join("\n\n"+dE+"\n\n")}function Zx(t){return f(t,function(t){var e=t.getRawData(),i=[t.name],n=[];return e.each(e.dimensions,function(){for(var t=arguments.length,o=arguments[t-1],a=e.getName(o),r=0;r<t-1;r++)n[r]=arguments[r];i.push((a?a+fE:"")+n.join(fE))}),i.join("\n")}).join("\n\n"+dE+"\n\n")}function Ux(t){var e=Wx(t);return{value:g([Hx(e.seriesGroupByCategoryAxis),Zx(e.other)],function(t){return t.replace(/[\n\t\s]/g,"")}).join("\n\n"+dE+"\n\n"),meta:e.meta}}function Xx(t){return t.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function jx(t){if(t.slice(0,t.indexOf("\n")).indexOf(fE)>=0)return!0}function Yx(t){for(var e=t.split(/\n+/g),i=[],n=f(Xx(e.shift()).split(pE),function(t){return{name:t,data:[]}}),o=0;o<e.length;o++){var a=Xx(e[o]).split(pE);i.push(a.shift());for(var r=0;r<a.length;r++)n[r]&&(n[r].data[o]=a[r])}return{series:n,categories:i}}function qx(t){for(var e=t.split(/\n+/g),i=Xx(e.shift()),n=[],o=0;o<e.length;o++){var a,r=Xx(e[o]).split(pE),s="",l=!1;isNaN(r[0])?(l=!0,s=r[0],r=r.slice(1),n[o]={name:s,value:[]},a=n[o].value):a=n[o]=[];for(var u=0;u<r.length;u++)a.push(+r[u]);1===a.length&&(l?n[o].value=a[0]:n[o]=a[0])}return{name:i,data:n}}function Kx(t,e){var i={series:[]};return d(t.split(new RegExp("\n*"+dE+"\n*","g")),function(t,n){if(jx(t)){var o=Yx(t),a=e[n],r=a.axisDim+"Axis";a&&(i[r]=i[r]||[],i[r][a.axisIndex]={data:o.categories},i.series=i.series.concat(o.series))}else{o=qx(t);i.series.push(o)}}),i}function $x(t){this._dom=null,this.model=t}function Jx(t,e){return f(t,function(t,i){var n=e&&e[i];return w(n)&&!y(n)?(w(t)&&!y(t)&&(t=t.value),r({value:t},n)):t})}function Qx(t,e){var i=n_(t);gE(e,function(e,n){for(var o=i.length-1;o>=0&&!i[o][n];o--);if(o<0){var a=t.queryComponents({mainType:"dataZoom",subType:"select",id:n})[0];if(a){var r=a.getPercentRange();i[0][n]={dataZoomId:n,start:r[0],end:r[1]}}}}),i.push(e)}function t_(t){var e=n_(t),i=e[e.length-1];e.length>1&&e.pop();var n={};return gE(i,function(t,i){for(var o=e.length-1;o>=0;o--)if(t=e[o][i]){n[i]=t;break}}),n}function e_(t){t[mE]=null}function i_(t){return n_(t).length}function n_(t){var e=t[mE];return e||(e=t[mE]=[{}]),e}function o_(t,e,i){(this._brushController=new zf(i.getZr())).on("brush",m(this._onBrush,this)).mount(),this._isZoomActive}function a_(t){var e={};return d(["xAxisIndex","yAxisIndex"],function(i){e[i]=t[i],null==e[i]&&(e[i]="all"),(!1===e[i]||"none"===e[i])&&(e[i]=[])}),e}function r_(t,e){t.setIconStatus("back",i_(e)>1?"emphasis":"normal")}function s_(t,e,i,n,o){var a=i._isZoomActive;n&&"takeGlobalCursor"===n.type&&(a="dataZoomSelect"===n.key&&n.dataZoomSelectActive),i._isZoomActive=a,t.setIconStatus("zoom",a?"emphasis":"normal");var r=new hy(a_(t.option),e,{include:["grid"]});i._brushController.setPanels(r.makePanelOpts(o,function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"})).enableBrush(!!a&&{brushType:"auto",brushStyle:{lineWidth:0,fill:"rgba(0,0,0,0.2)"}})}function l_(t){this.model=t}function u_(t){return SE(t)}function h_(){if(!TE&&AE){TE=!0;var t=AE.styleSheets;t.length<31?AE.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):t[0].addRule(".zrvml","behavior:url(#default#VML)")}}function c_(t){return parseInt(t,10)}function d_(t,e){h_(),this.root=t,this.storage=e;var i=document.createElement("div"),n=document.createElement("div");i.style.cssText="display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;",n.style.cssText="position:absolute;left:0;top:0;",t.appendChild(i),this._vmlRoot=n,this._vmlViewport=i,this.resize();var o=e.delFromStorage,a=e.addToStorage;e.delFromStorage=function(t){o.call(e,t),t&&t.onRemove&&t.onRemove(n)},e.addToStorage=function(t){t.onAdd&&t.onAdd(n),a.call(e,t)},this._firstPaint=!0}function f_(t){return function(){Yw('In IE8.0 VML mode painter not support method "'+t+'"')}}function p_(t){return document.createElementNS(sR,t)}function g_(t){return cR(1e4*t)/1e4}function m_(t){return t<vR&&t>-vR}function v_(t,e){var i=e?t.textFill:t.fill;return null!=i&&i!==hR}function y_(t,e){var i=e?t.textStroke:t.stroke;return null!=i&&i!==hR}function x_(t,e){e&&__(t,"transform","matrix("+uR.call(e,",")+")")}function __(t,e,i){(!i||"linear"!==i.type&&"radial"!==i.type)&&t.setAttribute(e,i)}function w_(t,e,i){t.setAttributeNS("http://www.w3.org/1999/xlink",e,i)}function b_(t,e,i,n){if(v_(e,i)){var o=i?e.textFill:e.fill;o="transparent"===o?hR:o,"none"!==t.getAttribute("clip-path")&&o===hR&&(o="rgba(0, 0, 0, 0.002)"),__(t,"fill",o),__(t,"fill-opacity",null!=e.fillOpacity?e.fillOpacity*e.opacity:e.opacity)}else __(t,"fill",hR);if(y_(e,i)){var a=i?e.textStroke:e.stroke;__(t,"stroke",a="transparent"===a?hR:a),__(t,"stroke-width",(i?e.textStrokeWidth:e.lineWidth)/(!i&&e.strokeNoScale?n.getLineScale():1)),__(t,"paint-order",i?"stroke":"fill"),__(t,"stroke-opacity",null!=e.strokeOpacity?e.strokeOpacity:e.opacity),e.lineDash?(__(t,"stroke-dasharray",e.lineDash.join(",")),__(t,"stroke-dashoffset",cR(e.lineDashOffset||0))):__(t,"stroke-dasharray",""),e.lineCap&&__(t,"stroke-linecap",e.lineCap),e.lineJoin&&__(t,"stroke-linejoin",e.lineJoin),e.miterLimit&&__(t,"stroke-miterlimit",e.miterLimit)}else __(t,"stroke",hR)}function S_(t){for(var e=[],i=t.data,n=t.len(),o=0;o<n;){var a="",r=0;switch(i[o++]){case lR.M:a="M",r=2;break;case lR.L:a="L",r=2;break;case lR.Q:a="Q",r=4;break;case lR.C:a="C",r=6;break;case lR.A:var s=i[o++],l=i[o++],u=i[o++],h=i[o++],c=i[o++],d=i[o++],f=i[o++],p=i[o++],g=Math.abs(d),m=m_(g-gR)&&!m_(g),v=!1;v=g>=gR||!m_(g)&&(d>-pR&&d<0||d>pR)==!!p;var y=g_(s+u*fR(c)),x=g_(l+h*dR(c));m&&(d=p?gR-1e-4:1e-4-gR,v=!0,9===o&&e.push("M",y,x));var _=g_(s+u*fR(c+d)),w=g_(l+h*dR(c+d));e.push("A",g_(u),g_(h),cR(f*mR),+v,+p,_,w);break;case lR.Z:a="Z";break;case lR.R:var _=g_(i[o++]),w=g_(i[o++]),b=g_(i[o++]),S=g_(i[o++]);e.push("M",_,w,"L",_+b,w,"L",_+b,w+S,"L",_,w+S,"L",_,w)}a&&e.push(a);for(var M=0;M<r;M++)e.push(g_(i[o++]))}return e.join(" ")}function M_(t){return"middle"===t?"middle":"bottom"===t?"after-edge":"hanging"}function I_(){}function T_(t,e,i,n){for(var o=0,a=e.length,r=0,s=0;o<a;o++){var l=e[o];if(l.removed){for(var u=[],h=s;h<s+l.count;h++)u.push(h);l.indices=u,s+=l.count}else{for(var u=[],h=r;h<r+l.count;h++)u.push(h);l.indices=u,r+=l.count,l.added||(s+=l.count)}}return e}function A_(t){return{newPos:t.newPos,components:t.components.slice(0)}}function D_(t,e,i,n,o){this._zrId=t,this._svgRoot=e,this._tagNames="string"==typeof i?[i]:i,this._markLabel=n,this._domName=o||"_dom",this.nextId=0}function C_(t,e){D_.call(this,t,e,["linearGradient","radialGradient"],"__gradient_in_use__")}function L_(t,e){D_.call(this,t,e,"clipPath","__clippath_in_use__")}function k_(t,e){D_.call(this,t,e,["filter"],"__filter_in_use__","_shadowDom")}function P_(t){return t&&(t.shadowBlur||t.shadowOffsetX||t.shadowOffsetY||t.textShadowBlur||t.textShadowOffsetX||t.textShadowOffsetY)}function N_(t){return parseInt(t,10)}function O_(t){return t instanceof Pn?yR:t instanceof fi?xR:t instanceof rM?_R:yR}function E_(t,e){return e&&t&&e.parentNode!==t}function R_(t,e,i){if(E_(t,e)&&i){var n=i.nextSibling;n?t.insertBefore(e,n):t.appendChild(e)}}function z_(t,e){if(E_(t,e)){var i=t.firstChild;i?t.insertBefore(e,i):t.appendChild(e)}}function B_(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)}function V_(t){return t.__textSvgEl}function G_(t){return t.__svgEl}function F_(t){return function(){Yw('In SVG mode painter not support method "'+t+'"')}}var W_=2311,H_=function(){return W_++},Z_={},U_=Z_="object"==typeof wx&&"function"==typeof wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasSupported:!0,domSupported:!1}:"undefined"==typeof navigator?{browser:{},os:{},node:!0,worker:!1,canvasSupported:!0,svgSupported:!0,domSupported:!1}:function(t){var e={},i={},n=t.match(/Firefox\/([\d.]+)/),o=t.match(/MSIE\s([\d.]+)/)||t.match(/Trident\/.+?rv:(([\d.]+))/),a=t.match(/Edge\/([\d.]+)/),r=/micromessenger/i.test(t);return n&&(i.firefox=!0,i.version=n[1]),o&&(i.ie=!0,i.version=o[1]),a&&(i.edge=!0,i.version=a[1]),r&&(i.weChat=!0),{browser:i,os:e,node:!1,canvasSupported:!!document.createElement("canvas").getContext,svgSupported:"undefined"!=typeof SVGRect,touchEventsSupported:"ontouchstart"in window&&!i.ie&&!i.edge,pointerEventsSupported:"onpointerdown"in window&&(i.edge||i.ie&&i.version>=11),domSupported:"undefined"!=typeof document}}(navigator.userAgent),X_={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},j_={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},Y_=Object.prototype.toString,q_=Array.prototype,K_=q_.forEach,$_=q_.filter,J_=q_.slice,Q_=q_.map,tw=q_.reduce,ew={},iw=function(){return ew.createCanvas()};ew.createCanvas=function(){return document.createElement("canvas")};var nw,ow="__ec_primitive__";E.prototype={constructor:E,get:function(t){return this.data.hasOwnProperty(t)?this.data[t]:null},set:function(t,e){return this.data[t]=e},each:function(t,e){void 0!==e&&(t=m(t,e));for(var i in this.data)this.data.hasOwnProperty(i)&&t(this.data[i],i)},removeKey:function(t){delete this.data[t]}};var aw=(Object.freeze||Object)({$override:e,clone:i,merge:n,mergeAll:o,extend:a,defaults:r,createCanvas:iw,getContext:s,indexOf:l,inherits:u,mixin:h,isArrayLike:c,each:d,map:f,reduce:p,filter:g,find:function(t,e,i){if(t&&e)for(var n=0,o=t.length;n<o;n++)if(e.call(i,t[n],n,t))return t[n]},bind:m,curry:v,isArray:y,isFunction:x,isString:_,isObject:w,isBuiltInObject:b,isTypedArray:S,isDom:M,eqNaN:I,retrieve:T,retrieve2:A,retrieve3:D,slice:C,normalizeCssArray:L,assert:k,trim:P,setAsPrimitive:N,isPrimitive:O,createHashMap:R,concatArray:z,noop:B}),rw="undefined"==typeof Float32Array?Array:Float32Array,sw=X,lw=j,uw=K,hw=$,cw=(Object.freeze||Object)({create:V,copy:G,clone:F,set:W,add:H,scaleAndAdd:Z,sub:U,len:X,length:sw,lenSquare:j,lengthSquare:lw,mul:function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},div:function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},dot:function(t,e){return t[0]*e[0]+t[1]*e[1]},scale:Y,normalize:q,distance:K,dist:uw,distanceSquare:$,distSquare:hw,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},lerp:J,applyTransform:Q,min:tt,max:et});it.prototype={constructor:it,_dragStart:function(t){var e=t.target;e&&e.draggable&&(this._draggingTarget=e,e.dragging=!0,this._x=t.offsetX,this._y=t.offsetY,this.dispatchToElement(nt(e,t),"dragstart",t.event))},_drag:function(t){var e=this._draggingTarget;if(e){var i=t.offsetX,n=t.offsetY,o=i-this._x,a=n-this._y;this._x=i,this._y=n,e.drift(o,a,t),this.dispatchToElement(nt(e,t),"drag",t.event);var r=this.findHover(i,n,e).target,s=this._dropTarget;this._dropTarget=r,e!==r&&(s&&r!==s&&this.dispatchToElement(nt(s,t),"dragleave",t.event),r&&r!==s&&this.dispatchToElement(nt(r,t),"dragenter",t.event))}},_dragEnd:function(t){var e=this._draggingTarget;e&&(e.dragging=!1),this.dispatchToElement(nt(e,t),"dragend",t.event),this._dropTarget&&this.dispatchToElement(nt(this._dropTarget,t),"drop",t.event),this._draggingTarget=null,this._dropTarget=null}};var dw=Array.prototype.slice,fw=function(t){this._$handlers={},this._$eventProcessor=t};fw.prototype={constructor:fw,one:function(t,e,i,n){return at(this,t,e,i,n,!0)},on:function(t,e,i,n){return at(this,t,e,i,n,!1)},isSilent:function(t){var e=this._$handlers;return!e[t]||!e[t].length},off:function(t,e){var i=this._$handlers;if(!t)return this._$handlers={},this;if(e){if(i[t]){for(var n=[],o=0,a=i[t].length;o<a;o++)i[t][o].h!==e&&n.push(i[t][o]);i[t]=n}i[t]&&0===i[t].length&&delete i[t]}else delete i[t];return this},trigger:function(t){var e=this._$handlers[t],i=this._$eventProcessor;if(e){var n=arguments,o=n.length;o>3&&(n=dw.call(n,1));for(var a=e.length,r=0;r<a;){var s=e[r];if(i&&i.filter&&null!=s.query&&!i.filter(t,s.query))r++;else{switch(o){case 1:s.h.call(s.ctx);break;case 2:s.h.call(s.ctx,n[1]);break;case 3:s.h.call(s.ctx,n[1],n[2]);break;default:s.h.apply(s.ctx,n)}s.one?(e.splice(r,1),a--):r++}}}return i&&i.afterTrigger&&i.afterTrigger(t),this},triggerWithContext:function(t){var e=this._$handlers[t],i=this._$eventProcessor;if(e){var n=arguments,o=n.length;o>4&&(n=dw.call(n,1,n.length-1));for(var a=n[n.length-1],r=e.length,s=0;s<r;){var l=e[s];if(i&&i.filter&&null!=l.query&&!i.filter(t,l.query))s++;else{switch(o){case 1:l.h.call(a);break;case 2:l.h.call(a,n[1]);break;case 3:l.h.call(a,n[1],n[2]);break;default:l.h.apply(a,n)}l.one?(e.splice(s,1),r--):s++}}}return i&&i.afterTrigger&&i.afterTrigger(t),this}};var pw="undefined"!=typeof window&&!!window.addEventListener,gw=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,mw=pw?function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0}:function(t){t.returnValue=!1,t.cancelBubble=!0},vw=function(){this._track=[]};vw.prototype={constructor:vw,recognize:function(t,e,i){return this._doTrack(t,e,i),this._recognize(t)},clear:function(){return this._track.length=0,this},_doTrack:function(t,e,i){var n=t.touches;if(n){for(var o={points:[],touches:[],target:e,event:t},a=0,r=n.length;a<r;a++){var s=n[a],l=st(i,s,{});o.points.push([l.zrX,l.zrY]),o.touches.push(s)}this._track.push(o)}},_recognize:function(t){for(var e in yw)if(yw.hasOwnProperty(e)){var i=yw[e](this._track,t);if(i)return i}}};var yw={pinch:function(t,e){var i=t.length;if(i){var n=(t[i-1]||{}).points,o=(t[i-2]||{}).points||n;if(o&&o.length>1&&n&&n.length>1){var a=ft(n)/ft(o);!isFinite(a)&&(a=1),e.pinchScale=a;var r=pt(n);return e.pinchX=r[0],e.pinchY=r[1],{type:"pinch",target:t[0].target,event:e}}}}},xw="silent";vt.prototype.dispose=function(){};var _w=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],ww=function(t,e,i,n){fw.call(this),this.storage=t,this.painter=e,this.painterRoot=n,i=i||new vt,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,this._gestureMgr,it.call(this),this.setHandlerProxy(i)};ww.prototype={constructor:ww,setHandlerProxy:function(t){this.proxy&&this.proxy.dispose(),t&&(d(_w,function(e){t.on&&t.on(e,this[e],this)},this),t.handler=this),this.proxy=t},mousemove:function(t){var e=t.zrX,i=t.zrY,n=this._hovered,o=n.target;o&&!o.__zr&&(o=(n=this.findHover(n.x,n.y)).target);var a=this._hovered=this.findHover(e,i),r=a.target,s=this.proxy;s.setCursor&&s.setCursor(r?r.cursor:"default"),o&&r!==o&&this.dispatchToElement(n,"mouseout",t),this.dispatchToElement(a,"mousemove",t),r&&r!==o&&this.dispatchToElement(a,"mouseover",t)},mouseout:function(t){this.dispatchToElement(this._hovered,"mouseout",t);var e,i=t.toElement||t.relatedTarget;do{i=i&&i.parentNode}while(i&&9!==i.nodeType&&!(e=i===this.painterRoot));!e&&this.trigger("globalout",{event:t})},resize:function(t){this._hovered={}},dispatch:function(t,e){var i=this[t];i&&i.call(this,e)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},dispatchToElement:function(t,e,i){var n=(t=t||{}).target;if(!n||!n.silent){for(var o="on"+e,a=gt(e,t,i);n&&(n[o]&&(a.cancelBubble=n[o].call(n,a)),n.trigger(e,a),n=n.parent,!a.cancelBubble););a.cancelBubble||(this.trigger(e,a),this.painter&&this.painter.eachOtherLayer(function(t){"function"==typeof t[o]&&t[o].call(t,a),t.trigger&&t.trigger(e,a)}))}},findHover:function(t,e,i){for(var n=this.storage.getDisplayList(),o={x:t,y:e},a=n.length-1;a>=0;a--){var r;if(n[a]!==i&&!n[a].ignore&&(r=yt(n[a],t,e))&&(!o.topTarget&&(o.topTarget=n[a]),r!==xw)){o.target=n[a];break}}return o},processGesture:function(t,e){this._gestureMgr||(this._gestureMgr=new vw);var i=this._gestureMgr;"start"===e&&i.clear();var n=i.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if("end"===e&&i.clear(),n){var o=n.type;t.gestureEvent=o,this.dispatchToElement({target:n.target},o,n.event)}}},d(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){ww.prototype[t]=function(e){var i=this.findHover(e.zrX,e.zrY),n=i.target;if("mousedown"===t)this._downEl=n,this._downPoint=[e.zrX,e.zrY],this._upEl=n;else if("mouseup"===t)this._upEl=n;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||uw(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(i,t,e)}}),h(ww,fw),h(ww,it);var bw="undefined"==typeof Float32Array?Array:Float32Array,Sw=(Object.freeze||Object)({create:xt,identity:_t,copy:wt,mul:bt,translate:St,rotate:Mt,scale:It,invert:Tt,clone:At}),Mw=_t,Iw=5e-5,Tw=function(t){(t=t||{}).position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},Aw=Tw.prototype;Aw.transform=null,Aw.needLocalTransform=function(){return Dt(this.rotation)||Dt(this.position[0])||Dt(this.position[1])||Dt(this.scale[0]-1)||Dt(this.scale[1]-1)};var Dw=[];Aw.updateTransform=function(){var t=this.parent,e=t&&t.transform,i=this.needLocalTransform(),n=this.transform;if(i||e){n=n||xt(),i?this.getLocalTransform(n):Mw(n),e&&(i?bt(n,t.transform,n):wt(n,t.transform)),this.transform=n;var o=this.globalScaleRatio;if(null!=o&&1!==o){this.getGlobalScale(Dw);var a=Dw[0]<0?-1:1,r=Dw[1]<0?-1:1,s=((Dw[0]-a)*o+a)/Dw[0]||0,l=((Dw[1]-r)*o+r)/Dw[1]||0;n[0]*=s,n[1]*=s,n[2]*=l,n[3]*=l}this.invTransform=this.invTransform||xt(),Tt(this.invTransform,n)}else n&&Mw(n)},Aw.getLocalTransform=function(t){return Tw.getLocalTransform(this,t)},Aw.setTransform=function(t){var e=this.transform,i=t.dpr||1;e?t.setTransform(i*e[0],i*e[1],i*e[2],i*e[3],i*e[4],i*e[5]):t.setTransform(i,0,0,i,0,0)},Aw.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var Cw=[],Lw=xt();Aw.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],i=t[2]*t[2]+t[3]*t[3],n=this.position,o=this.scale;Dt(e-1)&&(e=Math.sqrt(e)),Dt(i-1)&&(i=Math.sqrt(i)),t[0]<0&&(e=-e),t[3]<0&&(i=-i),n[0]=t[4],n[1]=t[5],o[0]=e,o[1]=i,this.rotation=Math.atan2(-t[1]/i,t[0]/e)}},Aw.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(bt(Cw,t.invTransform,e),e=Cw);var i=this.origin;i&&(i[0]||i[1])&&(Lw[4]=i[0],Lw[5]=i[1],bt(Cw,e,Lw),Cw[4]-=i[0],Cw[5]-=i[1],e=Cw),this.setLocalTransform(e)}},Aw.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},Aw.transformCoordToLocal=function(t,e){var i=[t,e],n=this.invTransform;return n&&Q(i,i,n),i},Aw.transformCoordToGlobal=function(t,e){var i=[t,e],n=this.transform;return n&&Q(i,i,n),i},Tw.getLocalTransform=function(t,e){Mw(e=e||[]);var i=t.origin,n=t.scale||[1,1],o=t.rotation||0,a=t.position||[0,0];return i&&(e[4]-=i[0],e[5]-=i[1]),It(e,e,n),o&&Mt(e,e,o),i&&(e[4]+=i[0],e[5]+=i[1]),e[4]+=a[0],e[5]+=a[1],e};var kw={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-kw.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*kw.bounceIn(2*t):.5*kw.bounceOut(2*t-1)+.5}};Ct.prototype={constructor:Ct,step:function(t,e){if(this._initialized||(this._startTime=t+this._delay,this._initialized=!0),this._paused)this._pausedTime+=e;else{var i=(t-this._startTime-this._pausedTime)/this._life;if(!(i<0)){i=Math.min(i,1);var n=this.easing,o="string"==typeof n?kw[n]:n,a="function"==typeof o?o(i):i;return this.fire("frame",a),1===i?this.loop?(this.restart(t),"restart"):(this._needsRemove=!0,"destroy"):null}}},restart:function(t){var e=(t-this._startTime-this._pausedTime)%this._life;this._startTime=t-e+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(t,e){this[t="on"+t]&&this[t](this._target,e)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var Pw=function(){this.head=null,this.tail=null,this._len=0},Nw=Pw.prototype;Nw.insert=function(t){var e=new Ow(t);return this.insertEntry(e),e},Nw.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},Nw.remove=function(t){var e=t.prev,i=t.next;e?e.next=i:this.head=i,i?i.prev=e:this.tail=e,t.next=t.prev=null,this._len--},Nw.len=function(){return this._len},Nw.clear=function(){this.head=this.tail=null,this._len=0};var Ow=function(t){this.value=t,this.next,this.prev},Ew=function(t){this._list=new Pw,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null},Rw=Ew.prototype;Rw.put=function(t,e){var i=this._list,n=this._map,o=null;if(null==n[t]){var a=i.len(),r=this._lastRemovedEntry;if(a>=this._maxSize&&a>0){var s=i.head;i.remove(s),delete n[s.key],o=s.value,this._lastRemovedEntry=s}r?r.value=e:r=new Ow(e),r.key=t,i.insertEntry(r),n[t]=r}return o},Rw.get=function(t){var e=this._map[t],i=this._list;if(null!=e)return e!==i.tail&&(i.remove(e),i.insertEntry(e)),e.value},Rw.clear=function(){this._list.clear(),this._map={}};var zw={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},Bw=new Ew(20),Vw=null,Gw=Ut,Fw=Xt,Ww=(Object.freeze||Object)({parse:Gt,lift:Ht,toHex:Zt,fastLerp:Ut,fastMapToColor:Gw,lerp:Xt,mapToColor:Fw,modifyHSL:jt,modifyAlpha:Yt,stringify:qt}),Hw=Array.prototype.slice,Zw=function(t,e,i,n){this._tracks={},this._target=t,this._loop=e||!1,this._getter=i||Kt,this._setter=n||$t,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};Zw.prototype={when:function(t,e){var i=this._tracks;for(var n in e)if(e.hasOwnProperty(n)){if(!i[n]){i[n]=[];var o=this._getter(this._target,n);if(null==o)continue;0!==t&&i[n].push({time:0,value:ae(o)})}i[n].push({time:t,value:e[n]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;t<this._clipList.length;t++)this._clipList[t].pause();this._paused=!0},resume:function(){for(var t=0;t<this._clipList.length;t++)this._clipList[t].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var t=this._doneList,e=t.length,i=0;i<e;i++)t[i].call(this)},start:function(t,e){var i,n=this,o=0;for(var a in this._tracks)if(this._tracks.hasOwnProperty(a)){var r=le(this,t,function(){--o||n._doneCallback()},this._tracks[a],a,e);r&&(this._clipList.push(r),o++,this.animation&&this.animation.addClip(r),i=r)}if(i){var s=i.onframe;i.onframe=function(t,e){s(t,e);for(var i=0;i<n._onframeList.length;i++)n._onframeList[i](t,e)}}return o||this._doneCallback(),this},stop:function(t){for(var e=this._clipList,i=this.animation,n=0;n<e.length;n++){var o=e[n];t&&o.onframe(this._target,1),i&&i.removeClip(o)}e.length=0},delay:function(t){return this._delay=t,this},done:function(t){return t&&this._doneList.push(t),this},getClips:function(){return this._clipList}};var Uw=1;"undefined"!=typeof window&&(Uw=Math.max(window.devicePixelRatio||1,1));var Xw=Uw,jw=function(){},Yw=jw,qw=function(){this.animators=[]};qw.prototype={constructor:qw,animate:function(t,e){var i,n=!1,o=this,a=this.__zr;if(t){var r=t.split("."),s=o;n="shape"===r[0];for(var u=0,h=r.length;u<h;u++)s&&(s=s[r[u]]);s&&(i=s)}else i=o;if(i){var c=o.animators,d=new Zw(i,e);return d.during(function(t){o.dirty(n)}).done(function(){c.splice(l(c,d),1)}),c.push(d),a&&a.animation.addAnimator(d),d}Yw('Property "'+t+'" is not existed in element '+o.id)},stopAnimation:function(t){for(var e=this.animators,i=e.length,n=0;n<i;n++)e[n].stop(t);return e.length=0,this},animateTo:function(t,e,i,n,o,a){ue(this,t,e,i,n,o,a)},animateFrom:function(t,e,i,n,o,a){ue(this,t,e,i,n,o,a,!0)}};var Kw=function(t){Tw.call(this,t),fw.call(this,t),qw.call(this,t),this.id=t.id||H_()};Kw.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,isGroup:!1,drift:function(t,e){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=t,i[5]+=e,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(t,e){},attrKV:function(t,e){if("position"===t||"scale"===t||"origin"===t){if(e){var i=this[t];i||(i=this[t]=[]),i[0]=e[0],i[1]=e[1]}}else this[t]=e},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(w(t))for(var i in t)t.hasOwnProperty(i)&&this.attrKV(i,t[i]);return this.dirty(!1),this},setClipPath:function(t){var e=this.__zr;e&&t.addSelfToZr(e),this.clipPath&&this.clipPath!==t&&this.removeClipPath(),this.clipPath=t,t.__zr=e,t.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var t=this.clipPath;t&&(t.__zr&&t.removeSelfFromZr(t.__zr),t.__zr=null,t.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(t){this.__zr=t;var e=this.animators;if(e)for(var i=0;i<e.length;i++)t.animation.addAnimator(e[i]);this.clipPath&&this.clipPath.addSelfToZr(t)},removeSelfFromZr:function(t){this.__zr=null;var e=this.animators;if(e)for(var i=0;i<e.length;i++)t.animation.removeAnimator(e[i]);this.clipPath&&this.clipPath.removeSelfFromZr(t)}},h(Kw,qw),h(Kw,Tw),h(Kw,fw);var $w=Q,Jw=Math.min,Qw=Math.max;de.prototype={constructor:de,union:function(t){var e=Jw(t.x,this.x),i=Jw(t.y,this.y);this.width=Qw(t.x+t.width,this.x+this.width)-e,this.height=Qw(t.y+t.height,this.y+this.height)-i,this.x=e,this.y=i},applyTransform:function(){var t=[],e=[],i=[],n=[];return function(o){if(o){t[0]=i[0]=this.x,t[1]=n[1]=this.y,e[0]=n[0]=this.x+this.width,e[1]=i[1]=this.y+this.height,$w(t,t,o),$w(e,e,o),$w(i,i,o),$w(n,n,o),this.x=Jw(t[0],e[0],i[0],n[0]),this.y=Jw(t[1],e[1],i[1],n[1]);var a=Qw(t[0],e[0],i[0],n[0]),r=Qw(t[1],e[1],i[1],n[1]);this.width=a-this.x,this.height=r-this.y}}}(),calculateTransform:function(t){var e=this,i=t.width/e.width,n=t.height/e.height,o=xt();return St(o,o,[-e.x,-e.y]),It(o,o,[i,n]),St(o,o,[t.x,t.y]),o},intersect:function(t){if(!t)return!1;t instanceof de||(t=de.create(t));var e=this,i=e.x,n=e.x+e.width,o=e.y,a=e.y+e.height,r=t.x,s=t.x+t.width,l=t.y,u=t.y+t.height;return!(n<r||s<i||a<l||u<o)},contain:function(t,e){var i=this;return t>=i.x&&t<=i.x+i.width&&e>=i.y&&e<=i.y+i.height},clone:function(){return new de(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},de.create=function(t){return new de(t.x,t.y,t.width,t.height)};var tb=function(t){t=t||{},Kw.call(this,t);for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};tb.prototype={constructor:tb,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,i=0;i<e.length;i++)if(e[i].name===t)return e[i]},childCount:function(){return this._children.length},add:function(t){return t&&t!==this&&t.parent!==this&&(this._children.push(t),this._doAdd(t)),this},addBefore:function(t,e){if(t&&t!==this&&t.parent!==this&&e&&e.parent===this){var i=this._children,n=i.indexOf(e);n>=0&&(i.splice(n,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,i=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof tb&&t.addChildrenToStorage(e)),i&&i.refresh()},remove:function(t){var e=this.__zr,i=this.__storage,n=this._children,o=l(n,t);return o<0?this:(n.splice(o,1),t.parent=null,i&&(i.delFromStorage(t),t instanceof tb&&t.delChildrenFromStorage(i)),e&&e.refresh(),this)},removeAll:function(){var t,e,i=this._children,n=this.__storage;for(e=0;e<i.length;e++)t=i[e],n&&(n.delFromStorage(t),t instanceof tb&&t.delChildrenFromStorage(n)),t.parent=null;return i.length=0,this},eachChild:function(t,e){for(var i=this._children,n=0;n<i.length;n++){var o=i[n];t.call(e,o,n)}return this},traverse:function(t,e){for(var i=0;i<this._children.length;i++){var n=this._children[i];t.call(e,n),"group"===n.type&&n.traverse(t,e)}return this},addChildrenToStorage:function(t){for(var e=0;e<this._children.length;e++){var i=this._children[e];t.addToStorage(i),i instanceof tb&&i.addChildrenToStorage(t)}},delChildrenFromStorage:function(t){for(var e=0;e<this._children.length;e++){var i=this._children[e];t.delFromStorage(i),i instanceof tb&&i.delChildrenFromStorage(t)}},dirty:function(){return this.__dirty=!0,this.__zr&&this.__zr.refresh(),this},getBoundingRect:function(t){for(var e=null,i=new de(0,0,0,0),n=t||this._children,o=[],a=0;a<n.length;a++){var r=n[a];if(!r.ignore&&!r.invisible){var s=r.getBoundingRect(),l=r.getLocalTransform(o);l?(i.copy(s),i.applyTransform(l),(e=e||i.clone()).union(i)):(e=e||s.clone()).union(s)}}return e||i}},u(tb,Kw);var eb=32,ib=7,nb=function(){this._roots=[],this._displayList=[],this._displayListLen=0};nb.prototype={constructor:nb,traverse:function(t,e){for(var i=0;i<this._roots.length;i++)this._roots[i].traverse(t,e)},getDisplayList:function(t,e){return e=e||!1,t&&this.updateDisplayList(e),this._displayList},updateDisplayList:function(t){this._displayListLen=0;for(var e=this._roots,i=this._displayList,n=0,o=e.length;n<o;n++)this._updateAndAddDisplayable(e[n],null,t);i.length=this._displayListLen,U_.canvasSupported&&_e(i,we)},_updateAndAddDisplayable:function(t,e,i){if(!t.ignore||i){t.beforeUpdate(),t.__dirty&&t.update(),t.afterUpdate();var n=t.clipPath;if(n){e=e?e.slice():[];for(var o=n,a=t;o;)o.parent=a,o.updateTransform(),e.push(o),a=o,o=o.clipPath}if(t.isGroup){for(var r=t._children,s=0;s<r.length;s++){var l=r[s];t.__dirty&&(l.__dirty=!0),this._updateAndAddDisplayable(l,e,i)}t.__dirty=!1}else t.__clipPaths=e,this._displayList[this._displayListLen++]=t}},addRoot:function(t){t.__storage!==this&&(t instanceof tb&&t.addChildrenToStorage(this),this.addToStorage(t),this._roots.push(t))},delRoot:function(t){if(null==t){for(i=0;i<this._roots.length;i++){var e=this._roots[i];e instanceof tb&&e.delChildrenFromStorage(this)}return this._roots=[],this._displayList=[],void(this._displayListLen=0)}if(t instanceof Array)for(var i=0,n=t.length;i<n;i++)this.delRoot(t[i]);else{var o=l(this._roots,t);o>=0&&(this.delFromStorage(t),this._roots.splice(o,1),t instanceof tb&&t.delChildrenFromStorage(this))}},addToStorage:function(t){return t&&(t.__storage=this,t.dirty(!1)),this},delFromStorage:function(t){return t&&(t.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:we};var ob={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1},ab=function(t,e,i){return ob.hasOwnProperty(e)?i*=t.dpr:i},rb={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2},sb=9,lb=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],ub=function(t){this.extendFrom(t,!1)};ub.prototype={constructor:ub,fill:"#000",stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:"#000",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:"inside",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:"transparent",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:"transparent",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(t,e,i){var n=this,o=i&&i.style,a=!o||t.__attrCachedBy!==rb.STYLE_BIND;t.__attrCachedBy=rb.STYLE_BIND;for(var r=0;r<lb.length;r++){var s=lb[r],l=s[0];(a||n[l]!==o[l])&&(t[l]=ab(t,l,n[l]||s[1]))}if((a||n.fill!==o.fill)&&(t.fillStyle=n.fill),(a||n.stroke!==o.stroke)&&(t.strokeStyle=n.stroke),(a||n.opacity!==o.opacity)&&(t.globalAlpha=null==n.opacity?1:n.opacity),(a||n.blend!==o.blend)&&(t.globalCompositeOperation=n.blend||"source-over"),this.hasStroke()){var u=n.lineWidth;t.lineWidth=u/(this.strokeNoScale&&e&&e.getLineScale?e.getLineScale():1)}},hasFill:function(){var t=this.fill;return null!=t&&"none"!==t},hasStroke:function(){var t=this.stroke;return null!=t&&"none"!==t&&this.lineWidth>0},extendFrom:function(t,e){if(t)for(var i in t)!t.hasOwnProperty(i)||!0!==e&&(!1===e?this.hasOwnProperty(i):null==t[i])||(this[i]=t[i])},set:function(t,e){"string"==typeof t?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(t,e,i){for(var n=("radial"===e.type?Se:be)(t,e,i),o=e.colorStops,a=0;a<o.length;a++)n.addColorStop(o[a].offset,o[a].color);return n}};for(var hb=ub.prototype,cb=0;cb<lb.length;cb++){var db=lb[cb];db[0]in hb||(hb[db[0]]=db[1])}ub.getGradient=hb.getGradient;var fb=function(t,e){this.image=t,this.repeat=e,this.type="pattern"};fb.prototype.getCanvasPattern=function(t){return t.createPattern(this.image,this.repeat||"repeat")};var pb=function(t,e,i){var n;i=i||Xw,"string"==typeof t?n=Ie(t,e,i):w(t)&&(t=(n=t).id),this.id=t,this.dom=n;var o=n.style;o&&(n.onselectstart=Me,o["-webkit-user-select"]="none",o["user-select"]="none",o["-webkit-touch-callout"]="none",o["-webkit-tap-highlight-color"]="rgba(0,0,0,0)",o.padding=0,o.margin=0,o["border-width"]=0),this.domBack=null,this.ctxBack=null,this.painter=e,this.config=null,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.dpr=i};pb.prototype={constructor:pb,__dirty:!0,__used:!1,__drawIndex:0,__startIndex:0,__endIndex:0,incremental:!1,getElementCount:function(){return this.__endIndex-this.__startIndex},initContext:function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},createBackBuffer:function(){var t=this.dpr;this.domBack=Ie("back-"+this.id,this.painter,t),this.ctxBack=this.domBack.getContext("2d"),1!==t&&this.ctxBack.scale(t,t)},resize:function(t,e){var i=this.dpr,n=this.dom,o=n.style,a=this.domBack;o&&(o.width=t+"px",o.height=e+"px"),n.width=t*i,n.height=e*i,a&&(a.width=t*i,a.height=e*i,1!==i&&this.ctxBack.scale(i,i))},clear:function(t,e){var i=this.dom,n=this.ctx,o=i.width,a=i.height,e=e||this.clearColor,r=this.motionBlur&&!t,s=this.lastFrameAlpha,l=this.dpr;if(r&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(i,0,0,o/l,a/l)),n.clearRect(0,0,o,a),e&&"transparent"!==e){var u;e.colorStops?(u=e.__canvasGradient||ub.getGradient(n,e,{x:0,y:0,width:o,height:a}),e.__canvasGradient=u):e.image&&(u=fb.prototype.getCanvasPattern.call(e,n)),n.save(),n.fillStyle=u||e,n.fillRect(0,0,o,a),n.restore()}if(r){var h=this.domBack;n.save(),n.globalAlpha=s,n.drawImage(h,0,0,o,a),n.restore()}}};var gb="undefined"!=typeof window&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){setTimeout(t,16)},mb=new Ew(50),vb={},yb=0,xb=5e3,_b=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,wb="12px sans-serif",bb={};bb.measureText=function(t,e){var i=s();return i.font=e||wb,i.measureText(t)};var Sb=wb,Mb={left:1,right:1,center:1},Ib={top:1,bottom:1,middle:1},Tb=[["textShadowBlur","shadowBlur",0],["textShadowOffsetX","shadowOffsetX",0],["textShadowOffsetY","shadowOffsetY",0],["textShadowColor","shadowColor","transparent"]],Ab=new de,Db=function(){};Db.prototype={constructor:Db,drawRectText:function(t,e){var i=this.style;e=i.textRect||e,this.__dirty&&Ye(i);var n=i.text;if(null!=n&&(n+=""),ci(n,i)){t.save();var o=this.transform;i.transformText?this.setTransform(t):o&&(Ab.copy(e),Ab.applyTransform(o),e=Ab),Ke(this,t,n,i,e,sb),t.restore()}}},di.prototype={constructor:di,type:"displayable",__dirty:!0,invisible:!1,z:0,z2:0,zlevel:0,draggable:!1,dragging:!1,silent:!1,culling:!1,cursor:"pointer",rectHover:!1,progressive:!1,incremental:!1,globalScaleRatio:1,beforeBrush:function(t){},afterBrush:function(t){},brush:function(t,e){},getBoundingRect:function(){},contain:function(t,e){return this.rectContain(t,e)},traverse:function(t,e){t.call(e,this)},rectContain:function(t,e){var i=this.transformCoordToLocal(t,e);return this.getBoundingRect().contain(i[0],i[1])},dirty:function(){this.__dirty=this.__dirtyText=!0,this._rect=null,this.__zr&&this.__zr.refresh()},animateStyle:function(t){return this.animate("style",t)},attrKV:function(t,e){"style"!==t?Kw.prototype.attrKV.call(this,t,e):this.style.set(e)},setStyle:function(t,e){return this.style.set(t,e),this.dirty(!1),this},useStyle:function(t){return this.style=new ub(t,this),this.dirty(!1),this}},u(di,Kw),h(di,Db),fi.prototype={constructor:fi,type:"image",brush:function(t,e){var i=this.style,n=i.image;i.bind(t,this,e);var o=this._image=Ae(n,this._image,this,this.onload);if(o&&Ce(o)){var a=i.x||0,r=i.y||0,s=i.width,l=i.height,u=o.width/o.height;if(null==s&&null!=l?s=l*u:null==l&&null!=s?l=s/u:null==s&&null==l&&(s=o.width,l=o.height),this.setTransform(t),i.sWidth&&i.sHeight){var h=i.sx||0,c=i.sy||0;t.drawImage(o,h,c,i.sWidth,i.sHeight,a,r,s,l)}else if(i.sx&&i.sy){var d=s-(h=i.sx),f=l-(c=i.sy);t.drawImage(o,h,c,d,f,a,r,s,l)}else t.drawImage(o,a,r,s,l);null!=i.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))}},getBoundingRect:function(){var t=this.style;return this._rect||(this._rect=new de(t.x||0,t.y||0,t.width||0,t.height||0)),this._rect}},u(fi,di);var Cb=new de(0,0,0,0),Lb=new de(0,0,0,0),kb=function(t,e,i){this.type="canvas";var n=!t.nodeName||"CANVAS"===t.nodeName.toUpperCase();this._opts=i=a({},i||{}),this.dpr=i.devicePixelRatio||Xw,this._singleCanvas=n,this.root=t;var o=t.style;o&&(o["-webkit-tap-highlight-color"]="transparent",o["-webkit-user-select"]=o["user-select"]=o["-webkit-touch-callout"]="none",t.innerHTML=""),this.storage=e;var r=this._zlevelList=[],s=this._layers={};if(this._layerConfig={},this._needsManuallyCompositing=!1,n){var l=t.width,u=t.height;null!=i.width&&(l=i.width),null!=i.height&&(u=i.height),this.dpr=i.devicePixelRatio||1,t.width=l*this.dpr,t.height=u*this.dpr,this._width=l,this._height=u;var h=new pb(t,this,this.dpr);h.__builtin__=!0,h.initContext(),s[314159]=h,h.zlevel=314159,r.push(314159),this._domRoot=t}else{this._width=this._getSize(0),this._height=this._getSize(1);var c=this._domRoot=xi(this._width,this._height);t.appendChild(c)}this._hoverlayer=null,this._hoverElements=[]};kb.prototype={constructor:kb,getType:function(){return"canvas"},isSingleCanvas:function(){return this._singleCanvas},getViewportRoot:function(){return this._domRoot},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(t){var e=this.storage.getDisplayList(!0),i=this._zlevelList;this._redrawId=Math.random(),this._paintList(e,t,this._redrawId);for(var n=0;n<i.length;n++){var o=i[n],a=this._layers[o];if(!a.__builtin__&&a.refresh){var r=0===n?this._backgroundColor:null;a.refresh(r)}}return this.refreshHover(),this},addHover:function(t,e){if(!t.__hoverMir){var i=new t.constructor({style:t.style,shape:t.shape,z:t.z,z2:t.z2,silent:t.silent});return i.__from=t,t.__hoverMir=i,e&&i.setStyle(e),this._hoverElements.push(i),i}},removeHover:function(t){var e=t.__hoverMir,i=this._hoverElements,n=l(i,e);n>=0&&i.splice(n,1),t.__hoverMir=null},clearHover:function(t){for(var e=this._hoverElements,i=0;i<e.length;i++){var n=e[i].__from;n&&(n.__hoverMir=null)}e.length=0},refreshHover:function(){var t=this._hoverElements,e=t.length,i=this._hoverlayer;if(i&&i.clear(),e){_e(t,this.storage.displayableSortFunc),i||(i=this._hoverlayer=this.getLayer(1e5));var n={};i.ctx.save();for(var o=0;o<e;){var a=t[o],r=a.__from;r&&r.__zr?(o++,r.invisible||(a.transform=r.transform,a.invTransform=r.invTransform,a.__clipPaths=r.__clipPaths,this._doPaintEl(a,i,!0,n))):(t.splice(o,1),r.__hoverMir=null,e--)}i.ctx.restore()}},getHoverLayer:function(){return this.getLayer(1e5)},_paintList:function(t,e,i){if(this._redrawId===i){e=e||!1,this._updateLayerStatus(t);var n=this._doPaintList(t,e);if(this._needsManuallyCompositing&&this._compositeManually(),!n){var o=this;gb(function(){o._paintList(t,e,i)})}}},_compositeManually:function(){var t=this.getLayer(314159).ctx,e=this._domRoot.width,i=this._domRoot.height;t.clearRect(0,0,e,i),this.eachBuiltinLayer(function(n){n.virtual&&t.drawImage(n.dom,0,0,e,i)})},_doPaintList:function(t,e){for(var i=[],n=0;n<this._zlevelList.length;n++){var o=this._zlevelList[n];(s=this._layers[o]).__builtin__&&s!==this._hoverlayer&&(s.__dirty||e)&&i.push(s)}for(var a=!0,r=0;r<i.length;r++){var s=i[r],l=s.ctx,u={};l.save();var h=e?s.__startIndex:s.__drawIndex,c=!e&&s.incremental&&Date.now,f=c&&Date.now(),p=s.zlevel===this._zlevelList[0]?this._backgroundColor:null;if(s.__startIndex===s.__endIndex)s.clear(!1,p);else if(h===s.__startIndex){var g=t[h];g.incremental&&g.notClear&&!e||s.clear(!1,p)}-1===h&&(console.error("For some unknown reason. drawIndex is -1"),h=s.__startIndex);for(var m=h;m<s.__endIndex;m++){var v=t[m];if(this._doPaintEl(v,s,e,u),v.__dirty=v.__dirtyText=!1,c&&Date.now()-f>15)break}s.__drawIndex=m,s.__drawIndex<s.__endIndex&&(a=!1),u.prevElClipPaths&&l.restore(),l.restore()}return U_.wxa&&d(this._layers,function(t){t&&t.ctx&&t.ctx.draw&&t.ctx.draw()}),a},_doPaintEl:function(t,e,i,n){var o=e.ctx,a=t.transform;if((e.__dirty||i)&&!t.invisible&&0!==t.style.opacity&&(!a||a[0]||a[3])&&(!t.culling||!mi(t,this._width,this._height))){var r=t.__clipPaths;n.prevElClipPaths&&!vi(r,n.prevElClipPaths)||(n.prevElClipPaths&&(e.ctx.restore(),n.prevElClipPaths=null,n.prevEl=null),r&&(o.save(),yi(r,o),n.prevElClipPaths=r)),t.beforeBrush&&t.beforeBrush(o),t.brush(o,n.prevEl||null),n.prevEl=t,t.afterBrush&&t.afterBrush(o)}},getLayer:function(t,e){this._singleCanvas&&!this._needsManuallyCompositing&&(t=314159);var i=this._layers[t];return i||((i=new pb("zr_"+t,this,this.dpr)).zlevel=t,i.__builtin__=!0,this._layerConfig[t]&&n(i,this._layerConfig[t],!0),e&&(i.virtual=e),this.insertLayer(t,i),i.initContext()),i},insertLayer:function(t,e){var i=this._layers,n=this._zlevelList,o=n.length,a=null,r=-1,s=this._domRoot;if(i[t])Yw("ZLevel "+t+" has been used already");else if(gi(e)){if(o>0&&t>n[0]){for(r=0;r<o-1&&!(n[r]<t&&n[r+1]>t);r++);a=i[n[r]]}if(n.splice(r+1,0,t),i[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?s.insertBefore(e.dom,l.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom)}else Yw("Layer of zlevel "+t+" is not valid")},eachLayer:function(t,e){var i,n,o=this._zlevelList;for(n=0;n<o.length;n++)i=o[n],t.call(e,this._layers[i],i)},eachBuiltinLayer:function(t,e){var i,n,o,a=this._zlevelList;for(o=0;o<a.length;o++)n=a[o],(i=this._layers[n]).__builtin__&&t.call(e,i,n)},eachOtherLayer:function(t,e){var i,n,o,a=this._zlevelList;for(o=0;o<a.length;o++)n=a[o],(i=this._layers[n]).__builtin__||t.call(e,i,n)},getLayers:function(){return this._layers},_updateLayerStatus:function(t){function e(t){i&&(i.__endIndex!==t&&(i.__dirty=!0),i.__endIndex=t)}if(this.eachBuiltinLayer(function(t,e){t.__dirty=t.__used=!1}),this._singleCanvas)for(o=1;o<t.length;o++)if((r=t[o]).zlevel!==t[o-1].zlevel||r.incremental){this._needsManuallyCompositing=!0;break}for(var i=null,n=0,o=0;o<t.length;o++){var a,r=t[o],s=r.zlevel;r.incremental?((a=this.getLayer(s+.001,this._needsManuallyCompositing)).incremental=!0,n=1):a=this.getLayer(s+(n>0?.01:0),this._needsManuallyCompositing),a.__builtin__||Yw("ZLevel "+s+" has been used by unkown layer "+a.id),a!==i&&(a.__used=!0,a.__startIndex!==o&&(a.__dirty=!0),a.__startIndex=o,a.incremental?a.__drawIndex=-1:a.__drawIndex=o,e(o),i=a),r.__dirty&&(a.__dirty=!0,a.incremental&&a.__drawIndex<0&&(a.__drawIndex=o))}e(o),this.eachBuiltinLayer(function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},setBackgroundColor:function(t){this._backgroundColor=t},configLayer:function(t,e){if(e){var i=this._layerConfig;i[t]?n(i[t],e,!0):i[t]=e;for(var o=0;o<this._zlevelList.length;o++){var a=this._zlevelList[o];a!==t&&a!==t+.01||n(this._layers[a],i[t],!0)}}},delLayer:function(t){var e=this._layers,i=this._zlevelList,n=e[t];n&&(n.dom.parentNode.removeChild(n.dom),delete e[t],i.splice(l(i,t),1))},resize:function(t,e){if(this._domRoot.style){var i=this._domRoot;i.style.display="none";var n=this._opts;if(null!=t&&(n.width=t),null!=e&&(n.height=e),t=this._getSize(0),e=this._getSize(1),i.style.display="",this._width!==t||e!==this._height){i.style.width=t+"px",i.style.height=e+"px";for(var o in this._layers)this._layers.hasOwnProperty(o)&&this._layers[o].resize(t,e);d(this._progressiveLayers,function(i){i.resize(t,e)}),this.refresh(!0)}this._width=t,this._height=e}else{if(null==t||null==e)return;this._width=t,this._height=e,this.getLayer(314159).resize(t,e)}return this},clearLayer:function(t){var e=this._layers[t];e&&e.clear()},dispose:function(){this.root.innerHTML="",this.root=this.storage=this._domRoot=this._layers=null},getRenderedCanvas:function(t){if(t=t||{},this._singleCanvas&&!this._compositeManually)return this._layers[314159].dom;var e=new pb("image",this,t.pixelRatio||this.dpr);if(e.initContext(),e.clear(!1,t.backgroundColor||this._backgroundColor),t.pixelRatio<=this.dpr){this.refresh();var i=e.dom.width,n=e.dom.height,o=e.ctx;this.eachLayer(function(t){t.__builtin__?o.drawImage(t.dom,0,0,i,n):t.renderToCanvas&&(e.ctx.save(),t.renderToCanvas(e.ctx),e.ctx.restore())})}else for(var a={},r=this.storage.getDisplayList(!0),s=0;s<r.length;s++){var l=r[s];this._doPaintEl(l,e,!0,a)}return e.dom},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,i=["width","height"][t],n=["clientWidth","clientHeight"][t],o=["paddingLeft","paddingTop"][t],a=["paddingRight","paddingBottom"][t];if(null!=e[i]&&"auto"!==e[i])return parseFloat(e[i]);var r=this.root,s=document.defaultView.getComputedStyle(r);return(r[n]||pi(s[i])||pi(r.style[i]))-(pi(s[o])||0)-(pi(s[a])||0)|0},pathToImage:function(t,e){e=e||this.dpr;var i=document.createElement("canvas"),n=i.getContext("2d"),o=t.getBoundingRect(),a=t.style,r=a.shadowBlur*e,s=a.shadowOffsetX*e,l=a.shadowOffsetY*e,u=a.hasStroke()?a.lineWidth:0,h=Math.max(u/2,-s+r),c=Math.max(u/2,s+r),d=Math.max(u/2,-l+r),f=Math.max(u/2,l+r),p=o.width+h+c,g=o.height+d+f;i.width=p*e,i.height=g*e,n.scale(e,e),n.clearRect(0,0,p,g),n.dpr=e;var m={position:t.position,rotation:t.rotation,scale:t.scale};t.position=[h-o.x,d-o.y],t.rotation=0,t.scale=[1,1],t.updateTransform(),t&&t.brush(n);var v=new fi({style:{x:0,y:0,image:i}});return null!=m.position&&(v.position=t.position=m.position),null!=m.rotation&&(v.rotation=t.rotation=m.rotation),null!=m.scale&&(v.scale=t.scale=m.scale),v}};var Pb=function(t){t=t||{},this.stage=t.stage||{},this.onframe=t.onframe||function(){},this._clips=[],this._running=!1,this._time,this._pausedTime,this._pauseStart,this._paused=!1,fw.call(this)};Pb.prototype={constructor:Pb,addClip:function(t){this._clips.push(t)},addAnimator:function(t){t.animation=this;for(var e=t.getClips(),i=0;i<e.length;i++)this.addClip(e[i])},removeClip:function(t){var e=l(this._clips,t);e>=0&&this._clips.splice(e,1)},removeAnimator:function(t){for(var e=t.getClips(),i=0;i<e.length;i++)this.removeClip(e[i]);t.animation=null},_update:function(){for(var t=(new Date).getTime()-this._pausedTime,e=t-this._time,i=this._clips,n=i.length,o=[],a=[],r=0;r<n;r++){var s=i[r],l=s.step(t,e);l&&(o.push(l),a.push(s))}for(r=0;r<n;)i[r]._needsRemove?(i[r]=i[n-1],i.pop(),n--):r++;n=o.length;for(r=0;r<n;r++)a[r].fire(o[r]);this._time=t,this.onframe(e),this.trigger("frame",e),this.stage.update&&this.stage.update()},_startLoop:function(){function t(){e._running&&(gb(t),!e._paused&&e._update())}var e=this;this._running=!0,gb(t)},start:function(){this._time=(new Date).getTime(),this._pausedTime=0,this._startLoop()},stop:function(){this._running=!1},pause:function(){this._paused||(this._pauseStart=(new Date).getTime(),this._paused=!0)},resume:function(){this._paused&&(this._pausedTime+=(new Date).getTime()-this._pauseStart,this._paused=!1)},clear:function(){this._clips=[]},isFinished:function(){return!this._clips.length},animate:function(t,e){var i=new Zw(t,(e=e||{}).loop,e.getter,e.setter);return this.addAnimator(i),i}},h(Pb,fw);var Nb=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],Ob=["touchstart","touchend","touchmove"],Eb={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},Rb=f(Nb,function(t){var e=t.replace("mouse","pointer");return Eb[e]?e:t}),zb={mousemove:function(t){t=ut(this.dom,t),this.trigger("mousemove",t)},mouseout:function(t){var e=(t=ut(this.dom,t)).toElement||t.relatedTarget;if(e!==this.dom)for(;e&&9!==e.nodeType;){if(e===this.dom)return;e=e.parentNode}this.trigger("mouseout",t)},touchstart:function(t){(t=ut(this.dom,t)).zrByTouch=!0,this._lastTouchMoment=new Date,this.handler.processGesture(this,t,"start"),zb.mousemove.call(this,t),zb.mousedown.call(this,t),wi(this)},touchmove:function(t){(t=ut(this.dom,t)).zrByTouch=!0,this.handler.processGesture(this,t,"change"),zb.mousemove.call(this,t),wi(this)},touchend:function(t){(t=ut(this.dom,t)).zrByTouch=!0,this.handler.processGesture(this,t,"end"),zb.mouseup.call(this,t),+new Date-this._lastTouchMoment<300&&zb.click.call(this,t),wi(this)},pointerdown:function(t){zb.mousedown.call(this,t)},pointermove:function(t){bi(t)||zb.mousemove.call(this,t)},pointerup:function(t){zb.mouseup.call(this,t)},pointerout:function(t){bi(t)||zb.mouseout.call(this,t)}};d(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){zb[t]=function(e){e=ut(this.dom,e),this.trigger(t,e)}});var Bb=Mi.prototype;Bb.dispose=function(){for(var t=Nb.concat(Ob),e=0;e<t.length;e++){var i=t[e];ct(this.dom,_i(i),this._handlers[i])}},Bb.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},h(Mi,fw);var Vb=!U_.canvasSupported,Gb={canvas:kb},Fb={},Wb=function(t,e,i){i=i||{},this.dom=e,this.id=t;var n=this,o=new nb,a=i.renderer;if(Vb){if(!Gb.vml)throw new Error("You need to require 'zrender/vml/vml' to support IE8");a="vml"}else a&&Gb[a]||(a="canvas");var r=new Gb[a](e,o,i,t);this.storage=o,this.painter=r;var s=U_.node||U_.worker?null:new Mi(r.getViewportRoot());this.handler=new ww(o,r,s,r.root),this.animation=new Pb({stage:{update:m(this.flush,this)}}),this.animation.start(),this._needsRefresh;var l=o.delFromStorage,u=o.addToStorage;o.delFromStorage=function(t){l.call(o,t),t&&t.removeSelfFromZr(n)},o.addToStorage=function(t){u.call(o,t),t.addSelfToZr(n)}};Wb.prototype={constructor:Wb,getId:function(){return this.id},add:function(t){this.storage.addRoot(t),this._needsRefresh=!0},remove:function(t){this.storage.delRoot(t),this._needsRefresh=!0},configLayer:function(t,e){this.painter.configLayer&&this.painter.configLayer(t,e),this._needsRefresh=!0},setBackgroundColor:function(t){this.painter.setBackgroundColor&&this.painter.setBackgroundColor(t),this._needsRefresh=!0},refreshImmediately:function(){this._needsRefresh=!1,this.painter.refresh(),this._needsRefresh=!1},refresh:function(){this._needsRefresh=!0},flush:function(){var t;this._needsRefresh&&(t=!0,this.refreshImmediately()),this._needsRefreshHover&&(t=!0,this.refreshHoverImmediately()),t&&this.trigger("rendered")},addHover:function(t,e){if(this.painter.addHover){var i=this.painter.addHover(t,e);return this.refreshHover(),i}},removeHover:function(t){this.painter.removeHover&&(this.painter.removeHover(t),this.refreshHover())},clearHover:function(){this.painter.clearHover&&(this.painter.clearHover(),this.refreshHover())},refreshHover:function(){this._needsRefreshHover=!0},refreshHoverImmediately:function(){this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.refreshHover()},resize:function(t){t=t||{},this.painter.resize(t.width,t.height),this.handler.resize()},clearAnimation:function(){this.animation.clear()},getWidth:function(){return this.painter.getWidth()},getHeight:function(){return this.painter.getHeight()},pathToImage:function(t,e){return this.painter.pathToImage(t,e)},setCursorStyle:function(t){this.handler.setCursorStyle(t)},findHover:function(t,e){return this.handler.findHover(t,e)},on:function(t,e,i){this.handler.on(t,e,i)},off:function(t,e){this.handler.off(t,e)},trigger:function(t,e){this.handler.trigger(t,e)},clear:function(){this.storage.delRoot(),this.painter.clear()},dispose:function(){this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,Ai(this.id)}};var Hb=(Object.freeze||Object)({version:"4.0.7",init:Ii,dispose:function(t){if(t)t.dispose();else{for(var e in Fb)Fb.hasOwnProperty(e)&&Fb[e].dispose();Fb={}}return this},getInstance:function(t){return Fb[t]},registerPainter:Ti}),Zb=d,Ub=w,Xb=y,jb="series\0",Yb=["fontStyle","fontWeight","fontSize","fontFamily","rich","tag","color","textBorderColor","textBorderWidth","width","height","lineHeight","align","verticalAlign","baseline","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","backgroundColor","borderColor","borderWidth","borderRadius","padding"],qb=0,Kb=".",$b="___EC__COMPONENT__CONTAINER___",Jb=0,Qb=function(t){for(var e=0;e<t.length;e++)t[e][1]||(t[e][1]=t[e][0]);return function(e,i,n){for(var o={},a=0;a<t.length;a++){var r=t[a][1];if(!(i&&l(i,r)>=0||n&&l(n,r)<0)){var s=e.getShallow(r);null!=s&&(o[t[a][0]]=s)}}return o}},tS=Qb([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),eS={getLineStyle:function(t){var e=tS(this,t),i=this.getLineDash(e.lineWidth);return i&&(e.lineDash=i),e},getLineDash:function(t){null==t&&(t=1);var e=this.get("type"),i=Math.max(t,2),n=4*t;return"solid"===e||null==e?null:"dashed"===e?[n,n]:[i,i]}},iS=Qb([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),nS={getAreaStyle:function(t,e){return iS(this,t,e)}},oS=Math.pow,aS=Math.sqrt,rS=1e-8,sS=1e-4,lS=aS(3),uS=1/3,hS=V(),cS=V(),dS=V(),fS=Math.min,pS=Math.max,gS=Math.sin,mS=Math.cos,vS=2*Math.PI,yS=V(),xS=V(),_S=V(),wS=[],bS=[],SS={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},MS=[],IS=[],TS=[],AS=[],DS=Math.min,CS=Math.max,LS=Math.cos,kS=Math.sin,PS=Math.sqrt,NS=Math.abs,OS="undefined"!=typeof Float32Array,ES=function(t){this._saveData=!t,this._saveData&&(this.data=[]),this._ctx=null};ES.prototype={constructor:ES,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(t,e){this._ux=NS(1/Xw/t)||0,this._uy=NS(1/Xw/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),t&&(this.dpr=t.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(SS.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){var i=NS(t-this._xi)>this._ux||NS(e-this._yi)>this._uy||this._len<5;return this.addData(SS.L,t,e),this._ctx&&i&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),i&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,i,n,o,a){return this.addData(SS.C,t,e,i,n,o,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,i,n,o,a):this._ctx.bezierCurveTo(t,e,i,n,o,a)),this._xi=o,this._yi=a,this},quadraticCurveTo:function(t,e,i,n){return this.addData(SS.Q,t,e,i,n),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,i,n):this._ctx.quadraticCurveTo(t,e,i,n)),this._xi=i,this._yi=n,this},arc:function(t,e,i,n,o,a){return this.addData(SS.A,t,e,i,i,n,o-n,0,a?0:1),this._ctx&&this._ctx.arc(t,e,i,n,o,a),this._xi=LS(o)*i+t,this._yi=kS(o)*i+e,this},arcTo:function(t,e,i,n,o){return this._ctx&&this._ctx.arcTo(t,e,i,n,o),this},rect:function(t,e,i,n){return this._ctx&&this._ctx.rect(t,e,i,n),this.addData(SS.R,t,e,i,n),this},closePath:function(){this.addData(SS.Z);var t=this._ctx,e=this._x0,i=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,i),t.closePath()),this._xi=e,this._yi=i,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,i=0;i<t.length;i++)e+=t[i];this._dashSum=e}return this},setLineDashOffset:function(t){return this._dashOffset=t,this},len:function(){return this._len},setData:function(t){var e=t.length;this.data&&this.data.length===e||!OS||(this.data=new Float32Array(e));for(var i=0;i<e;i++)this.data[i]=t[i];this._len=e},appendPath:function(t){t instanceof Array||(t=[t]);for(var e=t.length,i=0,n=this._len,o=0;o<e;o++)i+=t[o].len();OS&&this.data instanceof Float32Array&&(this.data=new Float32Array(n+i));for(o=0;o<e;o++)for(var a=t[o].data,r=0;r<a.length;r++)this.data[n++]=a[r];this._len=n},addData:function(t){if(this._saveData){var e=this.data;this._len+arguments.length>e.length&&(this._expandData(),e=this.data);for(var i=0;i<arguments.length;i++)e[this._len++]=arguments[i];this._prevCmd=t}},_expandData:function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e<this._len;e++)t[e]=this.data[e];this.data=t}},_needsDash:function(){return this._lineDash},_dashedLineTo:function(t,e){var i,n,o=this._dashSum,a=this._dashOffset,r=this._lineDash,s=this._ctx,l=this._xi,u=this._yi,h=t-l,c=e-u,d=PS(h*h+c*c),f=l,p=u,g=r.length;for(h/=d,c/=d,a<0&&(a=o+a),f-=(a%=o)*h,p-=a*c;h>0&&f<=t||h<0&&f>=t||0===h&&(c>0&&p<=e||c<0&&p>=e);)f+=h*(i=r[n=this._dashIdx]),p+=c*i,this._dashIdx=(n+1)%g,h>0&&f<l||h<0&&f>l||c>0&&p<u||c<0&&p>u||s[n%2?"moveTo":"lineTo"](h>=0?DS(f,t):CS(f,t),c>=0?DS(p,e):CS(p,e));h=f-t,c=p-e,this._dashOffset=-PS(h*h+c*c)},_dashedBezierTo:function(t,e,i,n,o,a){var r,s,l,u,h,c=this._dashSum,d=this._dashOffset,f=this._lineDash,p=this._ctx,g=this._xi,m=this._yi,v=tn,y=0,x=this._dashIdx,_=f.length,w=0;for(d<0&&(d=c+d),d%=c,r=0;r<1;r+=.1)s=v(g,t,i,o,r+.1)-v(g,t,i,o,r),l=v(m,e,n,a,r+.1)-v(m,e,n,a,r),y+=PS(s*s+l*l);for(;x<_&&!((w+=f[x])>d);x++);for(r=(w-d)/y;r<=1;)u=v(g,t,i,o,r),h=v(m,e,n,a,r),x%2?p.moveTo(u,h):p.lineTo(u,h),r+=f[x]/y,x=(x+1)%_;x%2!=0&&p.lineTo(o,a),s=o-u,l=a-h,this._dashOffset=-PS(s*s+l*l)},_dashedQuadraticTo:function(t,e,i,n){var o=i,a=n;i=(i+2*t)/3,n=(n+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,i,n,o,a)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,OS&&(this.data=new Float32Array(t)))},getBoundingRect:function(){MS[0]=MS[1]=TS[0]=TS[1]=Number.MAX_VALUE,IS[0]=IS[1]=AS[0]=AS[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,i=0,n=0,o=0,a=0;a<t.length;){var r=t[a++];switch(1===a&&(n=e=t[a],o=i=t[a+1]),r){case SS.M:e=n=t[a++],i=o=t[a++],TS[0]=n,TS[1]=o,AS[0]=n,AS[1]=o;break;case SS.L:pn(e,i,t[a],t[a+1],TS,AS),e=t[a++],i=t[a++];break;case SS.C:gn(e,i,t[a++],t[a++],t[a++],t[a++],t[a],t[a+1],TS,AS),e=t[a++],i=t[a++];break;case SS.Q:mn(e,i,t[a++],t[a++],t[a],t[a+1],TS,AS),e=t[a++],i=t[a++];break;case SS.A:var s=t[a++],l=t[a++],u=t[a++],h=t[a++],c=t[a++],d=t[a++]+c;a+=1;var f=1-t[a++];1===a&&(n=LS(c)*u+s,o=kS(c)*h+l),vn(s,l,u,h,c,d,f,TS,AS),e=LS(d)*u+s,i=kS(d)*h+l;break;case SS.R:pn(n=e=t[a++],o=i=t[a++],n+t[a++],o+t[a++],TS,AS);break;case SS.Z:e=n,i=o}tt(MS,MS,TS),et(IS,IS,AS)}return 0===a&&(MS[0]=MS[1]=IS[0]=IS[1]=0),new de(MS[0],MS[1],IS[0]-MS[0],IS[1]-MS[1])},rebuildPath:function(t){for(var e,i,n,o,a,r,s=this.data,l=this._ux,u=this._uy,h=this._len,c=0;c<h;){var d=s[c++];switch(1===c&&(e=n=s[c],i=o=s[c+1]),d){case SS.M:e=n=s[c++],i=o=s[c++],t.moveTo(n,o);break;case SS.L:a=s[c++],r=s[c++],(NS(a-n)>l||NS(r-o)>u||c===h-1)&&(t.lineTo(a,r),n=a,o=r);break;case SS.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case SS.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case SS.A:var f=s[c++],p=s[c++],g=s[c++],m=s[c++],v=s[c++],y=s[c++],x=s[c++],_=s[c++],w=g>m?g:m,b=g>m?1:g/m,S=g>m?m/g:1,M=v+y;Math.abs(g-m)>.001?(t.translate(f,p),t.rotate(x),t.scale(b,S),t.arc(0,0,w,v,M,1-_),t.scale(1/b,1/S),t.rotate(-x),t.translate(-f,-p)):t.arc(f,p,w,v,M,1-_),1===c&&(e=LS(v)*g+f,i=kS(v)*m+p),n=LS(M)*g+f,o=kS(M)*m+p;break;case SS.R:e=n=s[c],i=o=s[c+1],t.rect(s[c++],s[c++],s[c++],s[c++]);break;case SS.Z:t.closePath(),n=e,o=i}}}},ES.CMD=SS;var RS=2*Math.PI,zS=2*Math.PI,BS=ES.CMD,VS=2*Math.PI,GS=1e-4,FS=[-1,-1,-1],WS=[-1,-1],HS=fb.prototype.getCanvasPattern,ZS=Math.abs,US=new ES(!0);Pn.prototype={constructor:Pn,type:"path",__dirtyPath:!0,strokeContainThreshold:5,subPixelOptimize:!1,brush:function(t,e){var i=this.style,n=this.path||US,o=i.hasStroke(),a=i.hasFill(),r=i.fill,s=i.stroke,l=a&&!!r.colorStops,u=o&&!!s.colorStops,h=a&&!!r.image,c=o&&!!s.image;if(i.bind(t,this,e),this.setTransform(t),this.__dirty){var d;l&&(d=d||this.getBoundingRect(),this._fillGradient=i.getGradient(t,r,d)),u&&(d=d||this.getBoundingRect(),this._strokeGradient=i.getGradient(t,s,d))}l?t.fillStyle=this._fillGradient:h&&(t.fillStyle=HS.call(r,t)),u?t.strokeStyle=this._strokeGradient:c&&(t.strokeStyle=HS.call(s,t));var f=i.lineDash,p=i.lineDashOffset,g=!!t.setLineDash,m=this.getGlobalScale();if(n.setScale(m[0],m[1]),this.__dirtyPath||f&&!g&&o?(n.beginPath(t),f&&!g&&(n.setLineDash(f),n.setLineDashOffset(p)),this.buildPath(n,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(t.beginPath(),this.path.rebuildPath(t)),a)if(null!=i.fillOpacity){v=t.globalAlpha;t.globalAlpha=i.fillOpacity*i.opacity,n.fill(t),t.globalAlpha=v}else n.fill(t);if(f&&g&&(t.setLineDash(f),t.lineDashOffset=p),o)if(null!=i.strokeOpacity){var v=t.globalAlpha;t.globalAlpha=i.strokeOpacity*i.opacity,n.stroke(t),t.globalAlpha=v}else n.stroke(t);f&&g&&t.setLineDash([]),null!=i.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))},buildPath:function(t,e,i){},createPathProxy:function(){this.path=new ES},getBoundingRect:function(){var t=this._rect,e=this.style,i=!t;if(i){var n=this.path;n||(n=this.path=new ES),this.__dirtyPath&&(n.beginPath(),this.buildPath(n,this.shape,!1)),t=n.getBoundingRect()}if(this._rect=t,e.hasStroke()){var o=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||i){o.copy(t);var a=e.lineWidth,r=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(a=Math.max(a,this.strokeContainThreshold||4)),r>1e-10&&(o.width+=a/r,o.height+=a/r,o.x-=a/r/2,o.y-=a/r/2)}return o}return t},contain:function(t,e){var i=this.transformCoordToLocal(t,e),n=this.getBoundingRect(),o=this.style;if(t=i[0],e=i[1],n.contain(t,e)){var a=this.path.data;if(o.hasStroke()){var r=o.lineWidth,s=o.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(o.hasFill()||(r=Math.max(r,this.strokeContainThreshold)),kn(a,r/s,t,e)))return!0}if(o.hasFill())return Ln(a,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=this.__dirtyText=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?(this.setShape(e),this.__dirtyPath=!0,this._rect=null):di.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var i=this.shape;if(i){if(w(t))for(var n in t)t.hasOwnProperty(n)&&(i[n]=t[n]);else i[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&ZS(t[0]-1)>1e-10&&ZS(t[3]-1)>1e-10?Math.sqrt(ZS(t[0]*t[3]-t[2]*t[1])):1}},Pn.extend=function(t){var e=function(e){Pn.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var i=t.shape;if(i){this.shape=this.shape||{};var n=this.shape;for(var o in i)!n.hasOwnProperty(o)&&i.hasOwnProperty(o)&&(n[o]=i[o])}t.init&&t.init.call(this,e)};u(e,Pn);for(var i in t)"style"!==i&&"shape"!==i&&(e.prototype[i]=t[i]);return e},u(Pn,di);var XS=ES.CMD,jS=[[],[],[]],YS=Math.sqrt,qS=Math.atan2,KS=function(t,e){var i,n,o,a,r,s,l=t.data,u=XS.M,h=XS.C,c=XS.L,d=XS.R,f=XS.A,p=XS.Q;for(o=0,a=0;o<l.length;){switch(i=l[o++],a=o,n=0,i){case u:case c:n=1;break;case h:n=3;break;case p:n=2;break;case f:var g=e[4],m=e[5],v=YS(e[0]*e[0]+e[1]*e[1]),y=YS(e[2]*e[2]+e[3]*e[3]),x=qS(-e[1]/y,e[0]/v);l[o]*=v,l[o++]+=g,l[o]*=y,l[o++]+=m,l[o++]*=v,l[o++]*=y,l[o++]+=x,l[o++]+=x,a=o+=2;break;case d:s[0]=l[o++],s[1]=l[o++],Q(s,s,e),l[a++]=s[0],l[a++]=s[1],s[0]+=l[o++],s[1]+=l[o++],Q(s,s,e),l[a++]=s[0],l[a++]=s[1]}for(r=0;r<n;r++)(s=jS[r])[0]=l[o++],s[1]=l[o++],Q(s,s,e),l[a++]=s[0],l[a++]=s[1]}},$S=Math.sqrt,JS=Math.sin,QS=Math.cos,tM=Math.PI,eM=function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},iM=function(t,e){return(t[0]*e[0]+t[1]*e[1])/(eM(t)*eM(e))},nM=function(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(iM(t,e))},oM=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,aM=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g,rM=function(t){di.call(this,t)};rM.prototype={constructor:rM,type:"text",brush:function(t,e){var i=this.style;this.__dirty&&Ye(i),i.fill=i.stroke=i.shadowBlur=i.shadowColor=i.shadowOffsetX=i.shadowOffsetY=null;var n=i.text;null!=n&&(n+=""),ci(n,i)?(this.setTransform(t),Ke(this,t,n,i,null,e),this.restoreTransform(t)):t.__attrCachedBy=rb.NONE},getBoundingRect:function(){var t=this.style;if(this.__dirty&&Ye(t),!this._rect){var e=t.text;null!=e?e+="":e="";var i=ke(t.text+"",t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich);if(i.x+=t.x||0,i.y+=t.y||0,si(t.textStroke,t.textStrokeWidth)){var n=t.textStrokeWidth;i.x-=n/2,i.y-=n/2,i.width+=n,i.height+=n}this._rect=i}return this._rect}},u(rM,di);var sM=Pn.extend({type:"circle",shape:{cx:0,cy:0,r:0},buildPath:function(t,e,i){i&&t.moveTo(e.cx+e.r,e.cy),t.arc(e.cx,e.cy,e.r,0,2*Math.PI,!0)}}),lM=[["shadowBlur",0],["shadowColor","#000"],["shadowOffsetX",0],["shadowOffsetY",0]],uM=function(t){return U_.browser.ie&&U_.browser.version>=11?function(){var e,i=this.__clipPaths,n=this.style;if(i)for(var o=0;o<i.length;o++){var a=i[o],r=a&&a.shape,s=a&&a.type;if(r&&("sector"===s&&r.startAngle===r.endAngle||"rect"===s&&(!r.width||!r.height))){for(l=0;l<lM.length;l++)lM[l][2]=n[lM[l][0]],n[lM[l][0]]=lM[l][1];e=!0;break}}if(t.apply(this,arguments),e)for(var l=0;l<lM.length;l++)n[lM[l][0]]=lM[l][2]}:t},hM=Pn.extend({type:"sector",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},brush:uM(Pn.prototype.brush),buildPath:function(t,e){var i=e.cx,n=e.cy,o=Math.max(e.r0||0,0),a=Math.max(e.r,0),r=e.startAngle,s=e.endAngle,l=e.clockwise,u=Math.cos(r),h=Math.sin(r);t.moveTo(u*o+i,h*o+n),t.lineTo(u*a+i,h*a+n),t.arc(i,n,a,r,s,!l),t.lineTo(Math.cos(s)*o+i,Math.sin(s)*o+n),0!==o&&t.arc(i,n,o,s,r,l),t.closePath()}}),cM=Pn.extend({type:"ring",shape:{cx:0,cy:0,r:0,r0:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=2*Math.PI;t.moveTo(i+e.r,n),t.arc(i,n,e.r,0,o,!1),t.moveTo(i+e.r0,n),t.arc(i,n,e.r0,0,o,!0)}}),dM=function(t,e){for(var i=t.length,n=[],o=0,a=1;a<i;a++)o+=K(t[a-1],t[a]);var r=o/2;r=r<i?i:r;for(a=0;a<r;a++){var s,l,u,h=a/(r-1)*(e?i:i-1),c=Math.floor(h),d=h-c,f=t[c%i];e?(s=t[(c-1+i)%i],l=t[(c+1)%i],u=t[(c+2)%i]):(s=t[0===c?c:c-1],l=t[c>i-2?i-1:c+1],u=t[c>i-3?i-1:c+2]);var p=d*d,g=d*p;n.push([Bn(s[0],f[0],l[0],u[0],d,p,g),Bn(s[1],f[1],l[1],u[1],d,p,g)])}return n},fM=function(t,e,i,n){var o,a,r,s,l=[],u=[],h=[],c=[];if(n){r=[1/0,1/0],s=[-1/0,-1/0];for(var d=0,f=t.length;d<f;d++)tt(r,r,t[d]),et(s,s,t[d]);tt(r,r,n[0]),et(s,s,n[1])}for(var d=0,f=t.length;d<f;d++){var p=t[d];if(i)o=t[d?d-1:f-1],a=t[(d+1)%f];else{if(0===d||d===f-1){l.push(F(t[d]));continue}o=t[d-1],a=t[d+1]}U(u,a,o),Y(u,u,e);var g=K(p,o),m=K(p,a),v=g+m;0!==v&&(g/=v,m/=v),Y(h,u,-g),Y(c,u,m);var y=H([],p,h),x=H([],p,c);n&&(et(y,y,r),tt(y,y,s),et(x,x,r),tt(x,x,s)),l.push(y),l.push(x)}return i&&l.push(l.shift()),l},pM=Pn.extend({type:"polygon",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(t,e){Vn(t,e,!0)}}),gM=Pn.extend({type:"polyline",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:"#000",fill:null},buildPath:function(t,e){Vn(t,e,!1)}}),mM=Math.round,vM={},yM=Pn.extend({type:"rect",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(t,e){var i,n,o,a;this.subPixelOptimize?(Fn(vM,e,this.style),i=vM.x,n=vM.y,o=vM.width,a=vM.height,vM.r=e.r,e=vM):(i=e.x,n=e.y,o=e.width,a=e.height),e.r?je(t,e):t.rect(i,n,o,a),t.closePath()}}),xM={},_M=Pn.extend({type:"line",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i,n,o,a;this.subPixelOptimize?(Gn(xM,e,this.style),i=xM.x1,n=xM.y1,o=xM.x2,a=xM.y2):(i=e.x1,n=e.y1,o=e.x2,a=e.y2);var r=e.percent;0!==r&&(t.moveTo(i,n),r<1&&(o=i*(1-r)+o*r,a=n*(1-r)+a*r),t.lineTo(o,a))},pointAt:function(t){var e=this.shape;return[e.x1*(1-t)+e.x2*t,e.y1*(1-t)+e.y2*t]}}),wM=[],bM=Pn.extend({type:"bezier-curve",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i=e.x1,n=e.y1,o=e.x2,a=e.y2,r=e.cpx1,s=e.cpy1,l=e.cpx2,u=e.cpy2,h=e.percent;0!==h&&(t.moveTo(i,n),null==l||null==u?(h<1&&(cn(i,r,o,h,wM),r=wM[1],o=wM[2],cn(n,s,a,h,wM),s=wM[1],a=wM[2]),t.quadraticCurveTo(r,s,o,a)):(h<1&&(an(i,r,l,o,h,wM),r=wM[1],l=wM[2],o=wM[3],an(n,s,u,a,h,wM),s=wM[1],u=wM[2],a=wM[3]),t.bezierCurveTo(r,s,l,u,o,a)))},pointAt:function(t){return Hn(this.shape,t,!1)},tangentAt:function(t){var e=Hn(this.shape,t,!0);return q(e,e)}}),SM=Pn.extend({type:"arc",shape:{cx:0,cy:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i=e.cx,n=e.cy,o=Math.max(e.r,0),a=e.startAngle,r=e.endAngle,s=e.clockwise,l=Math.cos(a),u=Math.sin(a);t.moveTo(l*o+i,u*o+n),t.arc(i,n,o,a,r,!s)}}),MM=Pn.extend({type:"compound",shape:{paths:null},_updatePathDirty:function(){for(var t=this.__dirtyPath,e=this.shape.paths,i=0;i<e.length;i++)t=t||e[i].__dirtyPath;this.__dirtyPath=t,this.__dirty=this.__dirty||t},beforeBrush:function(){this._updatePathDirty();for(var t=this.shape.paths||[],e=this.getGlobalScale(),i=0;i<t.length;i++)t[i].path||t[i].createPathProxy(),t[i].path.setScale(e[0],e[1])},buildPath:function(t,e){for(var i=e.paths||[],n=0;n<i.length;n++)i[n].buildPath(t,i[n].shape,!0)},afterBrush:function(){for(var t=this.shape.paths||[],e=0;e<t.length;e++)t[e].__dirtyPath=!1},getBoundingRect:function(){return this._updatePathDirty(),Pn.prototype.getBoundingRect.call(this)}}),IM=function(t){this.colorStops=t||[]};IM.prototype={constructor:IM,addColorStop:function(t,e){this.colorStops.push({offset:t,color:e})}};var TM=function(t,e,i,n,o,a){this.x=null==t?0:t,this.y=null==e?0:e,this.x2=null==i?1:i,this.y2=null==n?0:n,this.type="linear",this.global=a||!1,IM.call(this,o)};TM.prototype={constructor:TM},u(TM,IM);var AM=function(t,e,i,n,o){this.x=null==t?.5:t,this.y=null==e?.5:e,this.r=null==i?.5:i,this.type="radial",this.global=o||!1,IM.call(this,n)};AM.prototype={constructor:AM},u(AM,IM),Zn.prototype.incremental=!0,Zn.prototype.clearDisplaybles=function(){this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.dirty(),this.notClear=!1},Zn.prototype.addDisplayable=function(t,e){e?this._temporaryDisplayables.push(t):this._displayables.push(t),this.dirty()},Zn.prototype.addDisplayables=function(t,e){e=e||!1;for(var i=0;i<t.length;i++)this.addDisplayable(t[i],e)},Zn.prototype.eachPendingDisplayable=function(t){for(e=this._cursor;e<this._displayables.length;e++)t&&t(this._displayables[e]);for(var e=0;e<this._temporaryDisplayables.length;e++)t&&t(this._temporaryDisplayables[e])},Zn.prototype.update=function(){this.updateTransform();for(t=this._cursor;t<this._displayables.length;t++)(e=this._displayables[t]).parent=this,e.update(),e.parent=null;for(var t=0;t<this._temporaryDisplayables.length;t++){var e=this._temporaryDisplayables[t];e.parent=this,e.update(),e.parent=null}},Zn.prototype.brush=function(t,e){for(i=this._cursor;i<this._displayables.length;i++)(n=this._displayables[i]).beforeBrush&&n.beforeBrush(t),n.brush(t,i===this._cursor?null:this._displayables[i-1]),n.afterBrush&&n.afterBrush(t);this._cursor=i;for(var i=0;i<this._temporaryDisplayables.length;i++){var n=this._temporaryDisplayables[i];n.beforeBrush&&n.beforeBrush(t),n.brush(t,0===i?null:this._temporaryDisplayables[i-1]),n.afterBrush&&n.afterBrush(t)}this._temporaryDisplayables=[],this.notClear=!0};var DM=[];Zn.prototype.getBoundingRect=function(){if(!this._rect){for(var t=new de(1/0,1/0,-1/0,-1/0),e=0;e<this._displayables.length;e++){var i=this._displayables[e],n=i.getBoundingRect().clone();i.needLocalTransform()&&n.applyTransform(i.getLocalTransform(DM)),t.union(n)}this._rect=t}return this._rect},Zn.prototype.contain=function(t,e){var i=this.transformCoordToLocal(t,e);if(this.getBoundingRect().contain(i[0],i[1]))for(var n=0;n<this._displayables.length;n++)if(this._displayables[n].contain(t,e))return!0;return!1},u(Zn,di);var CM=Math.round,LM=Math.max,kM=Math.min,PM={},NM=1,OM=function(t,e){for(var i=[],n=t.length,o=0;o<n;o++){var a=t[o];a.path||a.createPathProxy(),a.__dirtyPath&&a.buildPath(a.path,a.shape,!0),i.push(a.path)}var r=new Pn(e);return r.createPathProxy(),r.buildPath=function(t){t.appendPath(i);var e=t.getContext();e&&t.rebuildPath(e)},r},EM=R(),RM=0,zM=(Object.freeze||Object)({Z2_EMPHASIS_LIFT:NM,extendShape:Un,extendPath:function(t,e){return zn(t,e)},makePath:Xn,makeImage:jn,mergePath:OM,resizePath:qn,subPixelOptimizeLine:Kn,subPixelOptimizeRect:$n,subPixelOptimize:Jn,setElementHoverStyle:ro,isInEmphasis:so,setHoverStyle:fo,setAsHoverStyleTrigger:po,setLabelStyle:go,setTextStyle:mo,setText:function(t,e,i){var n,o={isRectText:!0};!1===i?n=!0:o.autoColor=i,vo(t,e,o,n)},getFont:So,updateProps:Io,initProps:To,getTransform:Ao,applyTransform:Do,transformDirection:Co,groupTransition:Lo,clipPointsByRect:ko,clipRectByRect:function(t,e){var i=LM(t.x,e.x),n=kM(t.x+t.width,e.x+e.width),o=LM(t.y,e.y),a=kM(t.y+t.height,e.y+e.height);if(n>=i&&a>=o)return{x:i,y:o,width:n-i,height:a-o}},createIcon:Po,Group:tb,Image:fi,Text:rM,Circle:sM,Sector:hM,Ring:cM,Polygon:pM,Polyline:gM,Rect:yM,Line:_M,BezierCurve:bM,Arc:SM,IncrementalDisplayable:Zn,CompoundPath:MM,LinearGradient:TM,RadialGradient:AM,BoundingRect:de}),BM=["textStyle","color"],VM={getTextColor:function(t){var e=this.ecModel;return this.getShallow("color")||(!t&&e?e.get(BM):null)},getFont:function(){return So({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},getTextRect:function(t){return ke(t,this.getFont(),this.getShallow("align"),this.getShallow("verticalAlign")||this.getShallow("baseline"),this.getShallow("padding"),this.getShallow("lineHeight"),this.getShallow("rich"),this.getShallow("truncateText"))}},GM=Qb([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["textPosition"],["textAlign"]]),FM={getItemStyle:function(t,e){var i=GM(this,t,e),n=this.getBorderLineDash();return n&&(i.lineDash=n),i},getBorderLineDash:function(){var t=this.get("borderType");return"solid"===t||null==t?null:"dashed"===t?[5,5]:[1,1]}},WM=h,HM=Bi();No.prototype={constructor:No,init:null,mergeOption:function(t){n(this.option,t,!0)},get:function(t,e){return null==t?this.option:Oo(this.option,this.parsePath(t),!e&&Eo(this,t))},getShallow:function(t,e){var i=this.option,n=null==i?i:i[t],o=!e&&Eo(this,t);return null==n&&o&&(n=o.getShallow(t)),n},getModel:function(t,e){var i,n=null==t?this.option:Oo(this.option,t=this.parsePath(t));return e=e||(i=Eo(this,t))&&i.getModel(t),new No(n,e,this.ecModel)},isEmpty:function(){return null==this.option},restoreData:function(){},clone:function(){return new(0,this.constructor)(i(this.option))},setReadOnly:function(t){},parsePath:function(t){return"string"==typeof t&&(t=t.split(".")),t},customizeGetParent:function(t){HM(this).getParent=t},isAnimationEnabled:function(){if(!U_.node){if(null!=this.option.animation)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}},ji(No),Yi(No),WM(No,eS),WM(No,nS),WM(No,VM),WM(No,FM);var ZM=0,UM=1e-4,XM=9007199254740991,jM=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/,YM=(Object.freeze||Object)({linearMap:Bo,parsePercent:Vo,round:Go,asc:Fo,getPrecision:Wo,getPrecisionSafe:Ho,getPixelPrecision:Zo,getPercentWithPrecision:Uo,MAX_SAFE_INTEGER:XM,remRadian:Xo,isRadianAroundZero:jo,parseDate:Yo,quantity:qo,nice:$o,quantile:function(t,e){var i=(t.length-1)*e+1,n=Math.floor(i),o=+t[n-1],a=i-n;return a?o+a*(t[n]-o):o},reformIntervals:Jo,isNumeric:Qo}),qM=L,KM=/([&<>"'])/g,$M={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},JM=["a","b","c","d","e","f","g"],QM=function(t,e){return"{"+t+(null==e?"":e)+"}"},tI=ze,eI=(Object.freeze||Object)({addCommas:ta,toCamelCase:ea,normalizeCssArray:qM,encodeHTML:ia,formatTpl:na,formatTplSimple:oa,getTooltipMarker:aa,formatTime:sa,capitalFirst:la,truncateText:tI,getTextBoundingRect:function(t){return ke(t.text,t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich,t.truncate)},getTextRect:function(t,e,i,n,o,a,r,s){return ke(t,e,i,n,o,s,a,r)}}),iI=d,nI=["left","right","top","bottom","width","height"],oI=[["width","left","right"],["height","top","bottom"]],aI=ua,rI=(v(ua,"vertical"),v(ua,"horizontal"),{getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}}),sI=Bi(),lI=No.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,i,n){No.call(this,t,e,i,n),this.uid=Ro("ec_cpt_model")},init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,o=i?ga(t):{};n(t,e.getTheme().get(this.mainType)),n(t,this.getDefaultOption()),i&&pa(t,o,i)},mergeOption:function(t,e){n(this.option,t,!0);var i=this.layoutMode;i&&pa(this.option,t,i)},optionUpdated:function(t,e){},getDefaultOption:function(){var t=sI(this);if(!t.defaultOption){for(var e=[],i=this.constructor;i;){var o=i.prototype.defaultOption;o&&e.push(o),i=i.superClass}for(var a={},r=e.length-1;r>=0;r--)a=n(a,e[r],!0);t.defaultOption=a}return t.defaultOption},getReferringComponents:function(t){return this.ecModel.queryComponents({mainType:t,index:this.get(t+"Index",!0),id:this.get(t+"Id",!0)})}});$i(lI,{registerWhenExtend:!0}),function(t){var e={};t.registerSubTypeDefaulter=function(t,i){t=Ui(t),e[t.main]=i},t.determineSubType=function(i,n){var o=n.type;if(!o){var a=Ui(i).main;t.hasSubTypes(i)&&e[a]&&(o=e[a](n))}return o}}(lI),function(t,e){function i(t){var i={},a=[];return d(t,function(r){var s=n(i,r),u=o(s.originalDeps=e(r),t);s.entryCount=u.length,0===s.entryCount&&a.push(r),d(u,function(t){l(s.predecessor,t)<0&&s.predecessor.push(t);var e=n(i,t);l(e.successor,t)<0&&e.successor.push(r)})}),{graph:i,noEntryList:a}}function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}function o(t,e){var i=[];return d(t,function(t){l(e,t)>=0&&i.push(t)}),i}t.topologicalTravel=function(t,e,n,o){function a(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}if(t.length){var r=i(e),s=r.graph,l=r.noEntryList,u={};for(d(t,function(t){u[t]=!0});l.length;){var h=l.pop(),c=s[h],f=!!u[h];f&&(n.call(o,h,c.originalDeps.slice()),delete u[h]),d(c.successor,f?function(t){u[t]=!0,a(t)}:a)}d(u,function(){throw new Error("Circle dependency may exists")})}}}(lI,function(t){var e=[];return d(lI.getClassesByMainType(t),function(t){e=e.concat(t.prototype.dependencies||[])}),e=f(e,function(t){return Ui(t).main}),"dataset"!==t&&l(e,"dataset")<=0&&e.unshift("dataset"),e}),h(lI,rI);var uI="";"undefined"!=typeof navigator&&(uI=navigator.platform||"");var hI={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:uI.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:"auto",animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},cI=Bi(),dI={clearColorPalette:function(){cI(this).colorIdx=0,cI(this).colorNameMap={}},getColorFromPalette:function(t,e,i){var n=cI(e=e||this),o=n.colorIdx||0,a=n.colorNameMap=n.colorNameMap||{};if(a.hasOwnProperty(t))return a[t];var r=Di(this.get("color",!0)),s=this.get("colorLayer",!0),l=null!=i&&s?va(s,i):r;if((l=l||r)&&l.length){var u=l[o];return t&&(a[t]=u),n.colorIdx=(o+1)%l.length,u}}},fI={cartesian2d:function(t,e,i,n){var o=t.getReferringComponents("xAxis")[0],a=t.getReferringComponents("yAxis")[0];e.coordSysDims=["x","y"],i.set("x",o),i.set("y",a),xa(o)&&(n.set("x",o),e.firstCategoryDimIndex=0),xa(a)&&(n.set("y",a),e.firstCategoryDimIndex=1)},singleAxis:function(t,e,i,n){var o=t.getReferringComponents("singleAxis")[0];e.coordSysDims=["single"],i.set("single",o),xa(o)&&(n.set("single",o),e.firstCategoryDimIndex=0)},polar:function(t,e,i,n){var o=t.getReferringComponents("polar")[0],a=o.findAxisModel("radiusAxis"),r=o.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],i.set("radius",a),i.set("angle",r),xa(a)&&(n.set("radius",a),e.firstCategoryDimIndex=0),xa(r)&&(n.set("angle",r),e.firstCategoryDimIndex=1)},geo:function(t,e,i,n){e.coordSysDims=["lng","lat"]},parallel:function(t,e,i,n){var o=t.ecModel,a=o.getComponent("parallel",t.get("parallelIndex")),r=e.coordSysDims=a.dimensions.slice();d(a.parallelAxisIndex,function(t,a){var s=o.getComponent("parallelAxis",t),l=r[a];i.set(l,s),xa(s)&&null==e.firstCategoryDimIndex&&(n.set(l,s),e.firstCategoryDimIndex=a)})}},pI="original",gI="arrayRows",mI="objectRows",vI="keyedColumns",yI="unknown",xI="typedArray",_I="column",wI="row";_a.seriesDataToSource=function(t){return new _a({data:t,sourceFormat:S(t)?xI:pI,fromDataset:!1})},Yi(_a);var bI=Bi(),SI="\0_ec_inner",MI=No.extend({init:function(t,e,i,n){i=i||{},this.option=null,this._theme=new No(i),this._optionManager=n},setOption:function(t,e){k(!(SI in t),"please use chart.getOption()"),this._optionManager.setOption(t,e),this.resetOption(null)},resetOption:function(t){var e=!1,i=this._optionManager;if(!t||"recreate"===t){var n=i.mountOption("recreate"===t);this.option&&"recreate"!==t?(this.restoreData(),this.mergeOption(n)):Ea.call(this,n),e=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var o=i.getTimelineOption(this);o&&(this.mergeOption(o),e=!0)}if(!t||"recreate"===t||"media"===t){var a=i.getMediaOption(this,this._api);a.length&&d(a,function(t){this.mergeOption(t,e=!0)},this)}return e},mergeOption:function(t){var e=this.option,o=this._componentsMap,r=[];Sa(this),d(t,function(t,o){null!=t&&(lI.hasClass(o)?o&&r.push(o):e[o]=null==e[o]?i(t):n(e[o],t,!0))}),lI.topologicalTravel(r,lI.getAllClassMainTypes(),function(i,n){var r=Di(t[i]),s=Pi(o.get(i),r);Ni(s),d(s,function(t,e){var n=t.option;w(n)&&(t.keyInfo.mainType=i,t.keyInfo.subType=za(i,n,t.exist))});var l=Ra(o,n);e[i]=[],o.set(i,[]),d(s,function(t,n){var r=t.exist,s=t.option;if(k(w(s)||r,"Empty component definition"),s){var u=lI.getClass(i,t.keyInfo.subType,!0);if(r&&r instanceof u)r.name=t.keyInfo.name,r.mergeOption(s,this),r.optionUpdated(s,!1);else{var h=a({dependentModels:l,componentIndex:n},t.keyInfo);a(r=new u(s,this,this,h),h),r.init(s,this,this,h),r.optionUpdated(null,!0)}}else r.mergeOption({},this),r.optionUpdated({},!1);o.get(i)[n]=r,e[i][n]=r.option},this),"series"===i&&Ba(this,o.get("series"))},this),this._seriesIndicesMap=R(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var t=i(this.option);return d(t,function(e,i){if(lI.hasClass(i)){for(var n=(e=Di(e)).length-1;n>=0;n--)Ei(e[n])&&e.splice(n,1);t[i]=e}}),delete t[SI],t},getTheme:function(){return this._theme},getComponent:function(t,e){var i=this._componentsMap.get(t);if(i)return i[e||0]},queryComponents:function(t){var e=t.mainType;if(!e)return[];var i=t.index,n=t.id,o=t.name,a=this._componentsMap.get(e);if(!a||!a.length)return[];var r;if(null!=i)y(i)||(i=[i]),r=g(f(i,function(t){return a[t]}),function(t){return!!t});else if(null!=n){var s=y(n);r=g(a,function(t){return s&&l(n,t.id)>=0||!s&&t.id===n})}else if(null!=o){var u=y(o);r=g(a,function(t){return u&&l(o,t.name)>=0||!u&&t.name===o})}else r=a.slice();return Va(r,t)},findComponents:function(t){var e=t.query,i=t.mainType,n=function(t){var e=i+"Index",n=i+"Id",o=i+"Name";return!t||null==t[e]&&null==t[n]&&null==t[o]?null:{mainType:i,index:t[e],id:t[n],name:t[o]}}(e);return function(e){return t.filter?g(e,t.filter):e}(Va(n?this.queryComponents(n):this._componentsMap.get(i),t))},eachComponent:function(t,e,i){var n=this._componentsMap;"function"==typeof t?(i=e,e=t,n.each(function(t,n){d(t,function(t,o){e.call(i,n,t,o)})})):_(t)?d(n.get(t),e,i):w(t)&&d(this.findComponents(t),e,i)},getSeriesByName:function(t){return g(this._componentsMap.get("series"),function(e){return e.name===t})},getSeriesByIndex:function(t){return this._componentsMap.get("series")[t]},getSeriesByType:function(t){return g(this._componentsMap.get("series"),function(e){return e.subType===t})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(t,e){d(this._seriesIndices,function(i){var n=this._componentsMap.get("series")[i];t.call(e,n,i)},this)},eachRawSeries:function(t,e){d(this._componentsMap.get("series"),t,e)},eachSeriesByType:function(t,e,i){d(this._seriesIndices,function(n){var o=this._componentsMap.get("series")[n];o.subType===t&&e.call(i,o,n)},this)},eachRawSeriesByType:function(t,e,i){return d(this.getSeriesByType(t),e,i)},isSeriesFiltered:function(t){return null==this._seriesIndicesMap.get(t.componentIndex)},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(t,e){Ba(this,g(this._componentsMap.get("series"),t,e))},restoreData:function(t){var e=this._componentsMap;Ba(this,e.get("series"));var i=[];e.each(function(t,e){i.push(e)}),lI.topologicalTravel(i,lI.getAllClassMainTypes(),function(i,n){d(e.get(i),function(e){("series"!==i||!Na(e,t))&&e.restoreData()})})}});h(MI,dI);var II=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"],TI={};Fa.prototype={constructor:Fa,create:function(t,e){var i=[];d(TI,function(n,o){var a=n.create(t,e);i=i.concat(a||[])}),this._coordinateSystems=i},update:function(t,e){d(this._coordinateSystems,function(i){i.update&&i.update(t,e)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},Fa.register=function(t,e){TI[t]=e},Fa.get=function(t){return TI[t]};var AI=d,DI=i,CI=f,LI=n,kI=/^(min|max)?(.+)$/;Wa.prototype={constructor:Wa,setOption:function(t,e){t&&d(Di(t.series),function(t){t&&t.data&&S(t.data)&&N(t.data)}),t=DI(t,!0);var i=this._optionBackup,n=Ha.call(this,t,e,!i);this._newBaseOption=n.baseOption,i?(ja(i.baseOption,n.baseOption),n.timelineOptions.length&&(i.timelineOptions=n.timelineOptions),n.mediaList.length&&(i.mediaList=n.mediaList),n.mediaDefault&&(i.mediaDefault=n.mediaDefault)):this._optionBackup=n},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=CI(e.timelineOptions,DI),this._mediaList=CI(e.mediaList,DI),this._mediaDefault=DI(e.mediaDefault),this._currentMediaIndices=[],DI(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,i=this._timelineOptions;if(i.length){var n=t.getComponent("timeline");n&&(e=DI(i[n.getCurrentIndex()],!0))}return e},getMediaOption:function(t){var e=this._api.getWidth(),i=this._api.getHeight(),n=this._mediaList,o=this._mediaDefault,a=[],r=[];if(!n.length&&!o)return r;for(var s=0,l=n.length;s<l;s++)Za(n[s].query,e,i)&&a.push(s);return!a.length&&o&&(a=[-1]),a.length&&!Xa(a,this._currentMediaIndices)&&(r=CI(a,function(t){return DI(-1===t?o.option:n[t].option)})),this._currentMediaIndices=a,r}};var PI=d,NI=w,OI=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"],EI=function(t,e){PI(tr(t.series),function(t){NI(t)&&Qa(t)});var i=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","parallelAxis","radar"];e&&i.push("valueAxis","categoryAxis","logAxis","timeAxis"),PI(i,function(e){PI(tr(t[e]),function(t){t&&($a(t,"axisLabel"),$a(t.axisPointer,"label"))})}),PI(tr(t.parallel),function(t){var e=t&&t.parallelAxisDefault;$a(e,"axisLabel"),$a(e&&e.axisPointer,"label")}),PI(tr(t.calendar),function(t){qa(t,"itemStyle"),$a(t,"dayLabel"),$a(t,"monthLabel"),$a(t,"yearLabel")}),PI(tr(t.radar),function(t){$a(t,"name")}),PI(tr(t.geo),function(t){NI(t)&&(Ja(t),PI(tr(t.regions),function(t){Ja(t)}))}),PI(tr(t.timeline),function(t){Ja(t),qa(t,"label"),qa(t,"itemStyle"),qa(t,"controlStyle",!0);var e=t.data;y(e)&&d(e,function(t){w(t)&&(qa(t,"label"),qa(t,"itemStyle"))})}),PI(tr(t.toolbox),function(t){qa(t,"iconStyle"),PI(t.feature,function(t){qa(t,"iconStyle")})}),$a(er(t.axisPointer),"label"),$a(er(t.tooltip).axisPointer,"label")},RI=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],zI=["grid","geo","parallel","legend","toolbox","title","visualMap","dataZoom","timeline"],BI=function(t,e){EI(t,e),t.series=Di(t.series),d(t.series,function(t){if(w(t)){var e=t.type;if("pie"!==e&&"gauge"!==e||null!=t.clockWise&&(t.clockwise=t.clockWise),"gauge"===e){var i=ir(t,"pointer.color");null!=i&&nr(t,"itemStyle.normal.color",i)}or(t)}}),t.dataRange&&(t.visualMap=t.dataRange),d(zI,function(e){var i=t[e];i&&(y(i)||(i=[i]),d(i,function(t){or(t)}))})},VI=rr.prototype;VI.pure=!1,VI.persistent=!0,VI.getSource=function(){return this._source};var GI={arrayRows_column:{pure:!0,count:function(){return Math.max(0,this._data.length-this._source.startIndex)},getItem:function(t){return this._data[t+this._source.startIndex]},appendData:ur},arrayRows_row:{pure:!0,count:function(){var t=this._data[0];return t?Math.max(0,t.length-this._source.startIndex):0},getItem:function(t){t+=this._source.startIndex;for(var e=[],i=this._data,n=0;n<i.length;n++){var o=i[n];e.push(o?o[t]:null)}return e},appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},objectRows:{pure:!0,count:sr,getItem:lr,appendData:ur},keyedColumns:{pure:!0,count:function(){var t=this._source.dimensionsDefine[0].name,e=this._data[t];return e?e.length:0},getItem:function(t){for(var e=[],i=this._source.dimensionsDefine,n=0;n<i.length;n++){var o=this._data[i[n].name];e.push(o?o[t]:null)}return e},appendData:function(t){var e=this._data;d(t,function(t,i){for(var n=e[i]||(e[i]=[]),o=0;o<(t||[]).length;o++)n.push(t[o])})}},original:{count:sr,getItem:lr,appendData:ur},typedArray:{persistent:!1,pure:!0,count:function(){return this._data?this._data.length/this._dimSize:0},getItem:function(t,e){t-=this._offset,e=e||[];for(var i=this._dimSize*t,n=0;n<this._dimSize;n++)e[n]=this._data[i+n];return e},appendData:function(t){this._data=t},clean:function(){this._offset+=this.count(),this._data=null}}},FI={arrayRows:hr,objectRows:function(t,e,i,n){return null!=i?t[n]:t},keyedColumns:hr,original:function(t,e,i,n){var o=Li(t);return null!=i&&o instanceof Array?o[i]:o},typedArray:hr},WI={arrayRows:cr,objectRows:function(t,e,i,n){return dr(t[e],this._dimensionInfos[e])},keyedColumns:cr,original:function(t,e,i,n){var o=t&&(null==t.value?t:t.value);return!this._rawData.pure&&ki(t)&&(this.hasItemOption=!0),dr(o instanceof Array?o[n]:o,this._dimensionInfos[e])},typedArray:function(t,e,i,n){return t[n]}},HI=/\{@(.+?)\}/g,ZI={getDataParams:function(t,e){var i=this.getData(e),n=this.getRawValue(t,e),o=i.getRawIndex(t),a=i.getName(t),r=i.getRawDataItem(t),s=i.getItemVisual(t,"color"),l=this.ecModel.getComponent("tooltip"),u=Hi(l&&l.get("renderMode")),h=this.mainType,c="series"===h;return{componentType:h,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:c?this.subType:null,seriesIndex:this.seriesIndex,seriesId:c?this.id:null,seriesName:c?this.name:null,name:a,dataIndex:o,data:r,dataType:e,value:n,color:s,marker:aa({color:s,renderMode:u}),$vars:["seriesName","name","value"]}},getFormattedLabel:function(t,e,i,n,o){e=e||"normal";var a=this.getData(i),r=a.getItemModel(t),s=this.getDataParams(t,i);null!=n&&s.value instanceof Array&&(s.value=s.value[n]);var l=r.get("normal"===e?[o||"label","formatter"]:[e,o||"label","formatter"]);return"function"==typeof l?(s.status=e,l(s)):"string"==typeof l?na(l,s).replace(HI,function(e,i){var n=i.length;return"["===i.charAt(0)&&"]"===i.charAt(n-1)&&(i=+i.slice(1,n-1)),fr(a,t,i)}):void 0},getRawValue:function(t,e){return fr(this.getData(e),t)},formatTooltip:function(){}},UI=mr.prototype;UI.perform=function(t){function e(t){return!(t>=1)&&(t=1),t}var i=this._upstream,n=t&&t.skip;if(this._dirty&&i){var o=this.context;o.data=o.outputData=i.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!n&&(a=this._plan(this.context));var r=e(this._modBy),s=this._modDataCount||0,l=e(t&&t.modBy),u=t&&t.modDataCount||0;r===l&&s===u||(a="reset");var h;(this._dirty||"reset"===a)&&(this._dirty=!1,h=yr(this,n)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=i?i._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var d=this._dueIndex,f=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!n&&(h||d<f)){var p=this._progress;if(y(p))for(var g=0;g<p.length;g++)vr(this,p[g],d,f,l,u);else vr(this,p,d,f,l,u)}this._dueIndex=f;var m=null!=this._settedOutputEnd?this._settedOutputEnd:f;this._outputDueEnd=m}else this._dueIndex=this._outputDueEnd=null!=this._settedOutputEnd?this._settedOutputEnd:this._dueEnd;return this.unfinished()};var XI=function(){function t(){return n<i?n++:null}function e(){var t=n%r*o+Math.ceil(n/r),e=n>=i?null:t<a?t:n;return n++,e}var i,n,o,a,r,s={reset:function(l,u,h,c){n=l,i=u,o=h,a=c,r=Math.ceil(a/o),s.next=o>1&&a>0?e:t}};return s}();UI.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},UI.unfinished=function(){return this._progress&&this._dueIndex<this._dueEnd},UI.pipe=function(t){(this._downstream!==t||this._dirty)&&(this._downstream=t,t._upstream=this,t.dirty())},UI.dispose=function(){this._disposed||(this._upstream&&(this._upstream._downstream=null),this._downstream&&(this._downstream._upstream=null),this._dirty=!1,this._disposed=!0)},UI.getUpstream=function(){return this._upstream},UI.getDownstream=function(){return this._downstream},UI.setOutputEnd=function(t){this._outputDueEnd=this._settedOutputEnd=t};var jI=Bi(),YI=lI.extend({type:"series.__base__",seriesIndex:0,coordinateSystem:null,defaultOption:null,legendDataProvider:null,visualColorAccessPath:"itemStyle.color",layoutMode:null,init:function(t,e,i,n){this.seriesIndex=this.componentIndex,this.dataTask=gr({count:wr,reset:br}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,i),Ma(this);var o=this.getInitialData(t,i);Mr(o,this),this.dataTask.context.data=o,jI(this).dataBeforeProcessed=o,xr(this)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,o=i?ga(t):{},a=this.subType;lI.hasClass(a)&&(a+="Series"),n(t,e.getTheme().get(this.subType)),n(t,this.getDefaultOption()),Ci(t,"label",["show"]),this.fillDataTextStyle(t.data),i&&pa(t,o,i)},mergeOption:function(t,e){t=n(this.option,t,!0),this.fillDataTextStyle(t.data);var i=this.layoutMode;i&&pa(this.option,t,i),Ma(this);var o=this.getInitialData(t,e);Mr(o,this),this.dataTask.dirty(),this.dataTask.context.data=o,jI(this).dataBeforeProcessed=o,xr(this)},fillDataTextStyle:function(t){if(t&&!S(t))for(var e=["show"],i=0;i<t.length;i++)t[i]&&t[i].label&&Ci(t[i],"label",e)},getInitialData:function(){},appendData:function(t){this.getRawData().appendData(t.data)},getData:function(t){var e=Tr(this);if(e){var i=e.context.data;return null==t?i:i.getLinkedData(t)}return jI(this).data},setData:function(t){var e=Tr(this);if(e){var i=e.context;i.data!==t&&e.modifyOutputEnd&&e.setOutputEnd(t.count()),i.outputData=t,e!==this.dataTask&&(i.data=t)}jI(this).data=t},getSource:function(){return ba(this)},getRawData:function(){return jI(this).dataBeforeProcessed},getBaseAxis:function(){var t=this.coordinateSystem;return t&&t.getBaseAxis&&t.getBaseAxis()},formatTooltip:function(t,e,i,n){function o(t){return{renderMode:n,content:ia(ta(t)),style:l}}var a=this,r="html"===(n=n||"html")?"<br/>":"\n",s="richText"===n,l={},u=0,h=this.getData(),c=h.mapDimension("defaultedTooltip",!0),f=c.length,g=this.getRawValue(t),m=y(g),v=h.getItemVisual(t,"color");w(v)&&v.colorStops&&(v=(v.colorStops[0]||{}).color),v=v||"transparent";var x=(f>1||m&&!f?function(i){function o(t,i){var o=h.getDimensionInfo(i);if(o&&!1!==o.otherDims.tooltip){var c=o.type,d="sub"+a.seriesIndex+"at"+u,p=aa({color:v,type:"subItem",renderMode:n,markerId:d}),g="string"==typeof p?p:p.content,m=(r?g+ia(o.displayName||"-")+": ":"")+ia("ordinal"===c?t+"":"time"===c?e?"":sa("yyyy/MM/dd hh:mm:ss",t):ta(t));m&&f.push(m),s&&(l[d]=v,++u)}}var r=p(i,function(t,e,i){var n=h.getDimensionInfo(i);return t|=n&&!1!==n.tooltip&&null!=n.displayName},0),f=[];c.length?d(c,function(e){o(fr(h,t,e),e)}):d(i,o);var g=r?s?"\n":"<br/>":"",m=g+f.join(g||", ");return{renderMode:n,content:m,style:l}}(g):o(f?fr(h,t,c[0]):m?g[0]:g)).content,_=a.seriesIndex+"at"+u,b=aa({color:v,type:"item",renderMode:n,markerId:_});l[_]=v,++u;var S=h.getName(t),M=this.name;Oi(this)||(M=""),M=M?ia(M)+(e?": ":r):"";var I="string"==typeof b?b:b.content;return{html:e?I+M+x:M+I+(S?ia(S)+": "+x:x),markers:l}},isAnimationEnabled:function(){if(U_.node)return!1;var t=this.getShallow("animation");return t&&this.getData().count()>this.getShallow("animationThreshold")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,i){var n=this.ecModel,o=dI.getColorFromPalette.call(this,t,e,i);return o||(o=n.getColorFromPalette(t,e,i)),o},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});h(YI,ZI),h(YI,dI);var qI=function(){this.group=new tb,this.uid=Ro("viewComponent")};qI.prototype={constructor:qI,init:function(t,e){},render:function(t,e,i,n){},dispose:function(){},filterForExposedEvent:null};var KI=qI.prototype;KI.updateView=KI.updateLayout=KI.updateVisual=function(t,e,i,n){},ji(qI),$i(qI,{registerWhenExtend:!0});var $I=function(){var t=Bi();return function(e){var i=t(e),n=e.pipelineContext,o=i.large,a=i.progressiveRender,r=i.large=n.large,s=i.progressiveRender=n.progressiveRender;return!!(o^r||a^s)&&"reset"}},JI=Bi(),QI=$I();Ar.prototype={type:"chart",init:function(t,e){},render:function(t,e,i,n){},highlight:function(t,e,i,n){Cr(t.getData(),n,"emphasis")},downplay:function(t,e,i,n){Cr(t.getData(),n,"normal")},remove:function(t,e){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};var tT=Ar.prototype;tT.updateView=tT.updateLayout=tT.updateVisual=function(t,e,i,n){this.render(t,e,i,n)},ji(Ar),$i(Ar,{registerWhenExtend:!0}),Ar.markUpdateMethod=function(t,e){JI(t).updateMethod=e};var eT={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},iT="\0__throttleOriginMethod",nT="\0__throttleRate",oT="\0__throttleType",aT={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var i=t.getData(),n=(t.visualColorAccessPath||"itemStyle.color").split("."),o=t.get(n)||t.getColorFromPalette(t.name,null,e.getSeriesCount());if(i.setVisual("color",o),!e.isSeriesFiltered(t)){"function"!=typeof o||o instanceof IM||i.each(function(e){i.setItemVisual(e,"color",o(t.getDataParams(e)))});return{dataEach:i.hasItemOption?function(t,e){var i=t.getItemModel(e).get(n,!0);null!=i&&t.setItemVisual(e,"color",i)}:null}}}},rT={toolbox:{brush:{title:{rect:"鐭╁舰閫夋嫨",polygon:"鍦堥��",lineX:"妯悜閫夋嫨",lineY:"绾靛悜閫夋嫨",keep:"淇濇寔閫夋嫨",clear:"娓呴櫎閫夋嫨"}},dataView:{title:"鏁版嵁瑙嗗浘",lang:["鏁版嵁瑙嗗浘","鍏抽棴","鍒锋柊"]},dataZoom:{title:{zoom:"鍖哄煙缂╂斁",back:"鍖哄煙缂╂斁杩樺師"}},magicType:{title:{line:"鍒囨崲涓烘姌绾垮浘",bar:"鍒囨崲涓烘煴鐘跺浘",stack:"鍒囨崲涓哄爢鍙�",tiled:"鍒囨崲涓哄钩閾�"}},restore:{title:"杩樺師"},saveAsImage:{title:"淇濆瓨涓哄浘鐗�",lang:["鍙抽敭鍙﹀瓨涓哄浘鐗�"]}},series:{typeNames:{pie:"楗煎浘",bar:"鏌辩姸鍥�",line:"鎶樼嚎鍥�",scatter:"鏁g偣鍥�",effectScatter:"娑熸吉鏁g偣鍥�",radar:"闆疯揪鍥�",tree:"鏍戝浘",treemap:"鐭╁舰鏍戝浘",boxplot:"绠卞瀷鍥�",candlestick:"K绾垮浘",k:"K绾垮浘",heatmap:"鐑姏鍥�",map:"鍦板浘",parallel:"骞宠鍧愭爣鍥�",lines:"绾垮浘",graph:"鍏崇郴鍥�",sankey:"妗戝熀鍥�",funnel:"婕忔枟鍥�",gauge:"浠〃鐩樺浘",pictorialBar:"璞″舰鏌卞浘",themeRiver:"涓婚娌虫祦鍥�",sunburst:"鏃棩鍥�"}},aria:{general:{withTitle:"杩欐槸涓�涓叧浜庘�渰title}鈥濈殑鍥捐〃銆�",withoutTitle:"杩欐槸涓�涓浘琛紝"},series:{single:{prefix:"",withName:"鍥捐〃绫诲瀷鏄瘂seriesType}锛岃〃绀簕seriesName}銆�",withoutName:"鍥捐〃绫诲瀷鏄瘂seriesType}銆�"},multiple:{prefix:"瀹冪敱{seriesCount}涓浘琛ㄧ郴鍒楃粍鎴愩��",withName:"绗瑊seriesId}涓郴鍒楁槸涓�涓〃绀簕seriesName}鐨剓seriesType}锛�",withoutName:"绗瑊seriesId}涓郴鍒楁槸涓�涓獅seriesType}锛�",separator:{middle:"锛�",end:"銆�"}}},data:{allData:"鍏舵暟鎹槸鈥斺��",partialData:"鍏朵腑锛屽墠{displayCnt}椤规槸鈥斺��",withName:"{name}鐨勬暟鎹槸{value}",withoutName:"{value}",separator:{middle:"锛�",end:""}}}},sT=function(t,e){function i(t,e){if("string"!=typeof t)return t;var i=t;return d(e,function(t,e){i=i.replace(new RegExp("\\{\\s*"+e+"\\s*\\}","g"),t)}),i}function n(t){var e=a.get(t);if(null==e){for(var i=t.split("."),n=rT.aria,o=0;o<i.length;++o)n=n[i[o]];return n}return e}function o(t){return rT.series.typeNames[t]||"鑷畾涔夊浘"}var a=e.getModel("aria");if(a.get("show"))if(a.get("description"))t.setAttribute("aria-label",a.get("description"));else{var r=0;e.eachSeries(function(t,e){++r},this);var s,l=a.get("data.maxCount")||10,u=a.get("series.maxCount")||10,h=Math.min(r,u);if(!(r<1)){var c=function(){var t=e.getModel("title").option;return t&&t.length&&(t=t[0]),t&&t.text}();s=c?i(n("general.withTitle"),{title:c}):n("general.withoutTitle");var f=[];s+=i(n(r>1?"series.multiple.prefix":"series.single.prefix"),{seriesCount:r}),e.eachSeries(function(t,e){if(e<h){var a,s=t.get("name"),u="series."+(r>1?"multiple":"single")+".";a=i(a=n(s?u+"withName":u+"withoutName"),{seriesId:t.seriesIndex,seriesName:t.get("name"),seriesType:o(t.subType)});var c=t.getData();window.data=c,c.count()>l?a+=i(n("data.partialData"),{displayCnt:l}):a+=n("data.allData");for(var d=[],p=0;p<c.count();p++)if(p<l){var g=c.getName(p),m=fr(c,p);d.push(i(n(g?"data.withName":"data.withoutName"),{name:g,value:m}))}a+=d.join(n("data.separator.middle"))+n("data.separator.end"),f.push(a)}}),s+=f.join(n("series.multiple.separator.middle"))+n("series.multiple.separator.end"),t.setAttribute("aria-label",s)}}},lT=Math.PI,uT=Er.prototype;uT.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each(function(t){var e=t.overallTask;e&&e.dirty()})},uT.getPerformArgs=function(t,e){if(t.__pipeline){var i=this._pipelineMap.get(t.__pipeline.id),n=i.context,o=!e&&i.progressiveEnabled&&(!n||n.progressiveRender)&&t.__idxInPipeline>i.blockIndex?i.step:null,a=n&&n.modDataCount;return{step:o,modBy:null!=a?Math.ceil(a/o):null,modDataCount:a}}},uT.getPipeline=function(t){return this._pipelineMap.get(t)},uT.updateStreamModes=function(t,e){var i=this._pipelineMap.get(t.uid),n=t.getData().count(),o=i.progressiveEnabled&&e.incrementalPrepareRender&&n>=i.threshold,a=t.get("large")&&n>=t.get("largeThreshold"),r="mod"===t.get("progressiveChunkMode")?n:null;t.pipelineContext=i.context={progressiveRender:o,modDataCount:r,large:a}},uT.restorePipelines=function(t){var e=this,i=e._pipelineMap=R();t.eachSeries(function(t){var n=t.getProgressive(),o=t.uid;i.set(o,{id:o,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:n&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(n||700),count:0}),jr(e,t,t.dataTask)})},uT.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.ecInstance.getModel(),i=this.api;d(this._allHandlers,function(n){var o=t.get(n.uid)||t.set(n.uid,[]);n.reset&&zr(this,n,o,e,i),n.overallReset&&Br(this,n,o,e,i)},this)},uT.prepareView=function(t,e,i,n){var o=t.renderTask,a=o.context;a.model=e,a.ecModel=i,a.api=n,o.__block=!t.incrementalPrepareRender,jr(this,e,o)},uT.performDataProcessorTasks=function(t,e){Rr(this,this._dataProcessorHandlers,t,e,{block:!0})},uT.performVisualTasks=function(t,e,i){Rr(this,this._visualHandlers,t,e,i)},uT.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},uT.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})};var hT=uT.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},cT=Ur(0);Er.wrapStageHandler=function(t,e){return x(t)&&(t={overallReset:t,seriesType:Yr(t)}),t.uid=Ro("stageHandler"),e&&(t.visualType=e),t};var dT,fT={},pT={};qr(fT,MI),qr(pT,Ga),fT.eachSeriesByType=fT.eachRawSeriesByType=function(t){dT=t},fT.eachComponent=function(t){"series"===t.mainType&&t.subType&&(dT=t.subType)};var gT=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],mT={color:gT,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],gT]},vT=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],yT={color:vT,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:"#eee"},crossStyle:{color:"#eee"}}},legend:{textStyle:{color:"#eee"}},textStyle:{color:"#eee"},title:{textStyle:{color:"#eee"}},toolbox:{iconStyle:{normal:{borderColor:"#eee"}}},dataZoom:{textStyle:{color:"#eee"}},visualMap:{textStyle:{color:"#eee"}},timeline:{lineStyle:{color:"#eee"},itemStyle:{normal:{color:vT[1]}},label:{normal:{textStyle:{color:"#eee"}}},controlStyle:{normal:{color:"#eee",borderColor:"#eee"}}},timeAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},logAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},valueAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},categoryAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},line:{symbol:"circle"},graph:{color:vT},gauge:{title:{textStyle:{color:"#eee"}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};yT.categoryAxis.splitLine.show=!1,lI.extend({type:"dataset",defaultOption:{seriesLayoutBy:_I,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){wa(this)}}),qI.extend({type:"dataset"});var xT=Pn.extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(t,e){var i=.5522848,n=e.cx,o=e.cy,a=e.rx,r=e.ry,s=a*i,l=r*i;t.moveTo(n-a,o),t.bezierCurveTo(n-a,o-l,n-s,o-r,n,o-r),t.bezierCurveTo(n+s,o-r,n+a,o-l,n+a,o),t.bezierCurveTo(n+a,o+l,n+s,o+r,n,o+r),t.bezierCurveTo(n-s,o+r,n-a,o+l,n-a,o),t.closePath()}}),_T=/[\s,]+/;$r.prototype.parse=function(t,e){e=e||{};var i=Kr(t);if(!i)throw new Error("Illegal svg");var n=new tb;this._root=n;var o=i.getAttribute("viewBox")||"",a=parseFloat(i.getAttribute("width")||e.width),r=parseFloat(i.getAttribute("height")||e.height);isNaN(a)&&(a=null),isNaN(r)&&(r=null),es(i,n,null,!0);for(var s=i.firstChild;s;)this._parseNode(s,n),s=s.nextSibling;var l,u;if(o){var h=P(o).split(_T);h.length>=4&&(l={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(l&&null!=a&&null!=r&&(u=as(l,a,r),!e.ignoreViewBox)){var c=n;(n=new tb).add(c),c.scale=u.scale.slice(),c.position=u.position.slice()}return e.ignoreRootClip||null==a||null==r||n.setClipPath(new yM({shape:{x:0,y:0,width:a,height:r}})),{root:n,width:a,height:r,viewBoxRect:l,viewBoxTransform:u}},$r.prototype._parseNode=function(t,e){var i=t.nodeName.toLowerCase();"defs"===i?this._isDefine=!0:"text"===i&&(this._isText=!0);var n;if(this._isDefine){if(r=bT[i]){var o=r.call(this,t),a=t.getAttribute("id");a&&(this._defs[a]=o)}}else{var r=wT[i];r&&(n=r.call(this,t,e),e.add(n))}for(var s=t.firstChild;s;)1===s.nodeType&&this._parseNode(s,n),3===s.nodeType&&this._isText&&this._parseText(s,n),s=s.nextSibling;"defs"===i?this._isDefine=!1:"text"===i&&(this._isText=!1)},$r.prototype._parseText=function(t,e){if(1===t.nodeType){var i=t.getAttribute("dx")||0,n=t.getAttribute("dy")||0;this._textX+=parseFloat(i),this._textY+=parseFloat(n)}var o=new rM({style:{text:t.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});Qr(e,o),es(t,o,this._defs);var a=o.style.fontSize;a&&a<9&&(o.style.fontSize=9,o.scale=o.scale||[1,1],o.scale[0]*=a/9,o.scale[1]*=a/9);var r=o.getBoundingRect();return this._textX+=r.width,e.add(o),o};var wT={g:function(t,e){var i=new tb;return Qr(e,i),es(t,i,this._defs),i},rect:function(t,e){var i=new yM;return Qr(e,i),es(t,i,this._defs),i.setShape({x:parseFloat(t.getAttribute("x")||0),y:parseFloat(t.getAttribute("y")||0),width:parseFloat(t.getAttribute("width")||0),height:parseFloat(t.getAttribute("height")||0)}),i},circle:function(t,e){var i=new sM;return Qr(e,i),es(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),r:parseFloat(t.getAttribute("r")||0)}),i},line:function(t,e){var i=new _M;return Qr(e,i),es(t,i,this._defs),i.setShape({x1:parseFloat(t.getAttribute("x1")||0),y1:parseFloat(t.getAttribute("y1")||0),x2:parseFloat(t.getAttribute("x2")||0),y2:parseFloat(t.getAttribute("y2")||0)}),i},ellipse:function(t,e){var i=new xT;return Qr(e,i),es(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),rx:parseFloat(t.getAttribute("rx")||0),ry:parseFloat(t.getAttribute("ry")||0)}),i},polygon:function(t,e){var i=t.getAttribute("points");i&&(i=ts(i));var n=new pM({shape:{points:i||[]}});return Qr(e,n),es(t,n,this._defs),n},polyline:function(t,e){var i=new Pn;Qr(e,i),es(t,i,this._defs);var n=t.getAttribute("points");return n&&(n=ts(n)),new gM({shape:{points:n||[]}})},image:function(t,e){var i=new fi;return Qr(e,i),es(t,i,this._defs),i.setStyle({image:t.getAttribute("xlink:href"),x:t.getAttribute("x"),y:t.getAttribute("y"),width:t.getAttribute("width"),height:t.getAttribute("height")}),i},text:function(t,e){var i=t.getAttribute("x")||0,n=t.getAttribute("y")||0,o=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0;this._textX=parseFloat(i)+parseFloat(o),this._textY=parseFloat(n)+parseFloat(a);var r=new tb;return Qr(e,r),es(t,r,this._defs),r},tspan:function(t,e){var i=t.getAttribute("x"),n=t.getAttribute("y");null!=i&&(this._textX=parseFloat(i)),null!=n&&(this._textY=parseFloat(n));var o=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0,r=new tb;return Qr(e,r),es(t,r,this._defs),this._textX+=o,this._textY+=a,r},path:function(t,e){var i=Rn(t.getAttribute("d")||"");return Qr(e,i),es(t,i,this._defs),i}},bT={lineargradient:function(t){var e=parseInt(t.getAttribute("x1")||0,10),i=parseInt(t.getAttribute("y1")||0,10),n=parseInt(t.getAttribute("x2")||10,10),o=parseInt(t.getAttribute("y2")||0,10),a=new TM(e,i,n,o);return Jr(t,a),a},radialgradient:function(t){}},ST={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-align":"textAlign","alignment-baseline":"textBaseline"},MT=/url\(\s*#(.*?)\)/,IT=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g,TT=/([^\s:;]+)\s*:\s*([^:;]+)/g,AT=R(),DT={registerMap:function(t,e,i){var n;return y(e)?n=e:e.svg?n=[{type:"svg",source:e.svg,specialAreas:e.specialAreas}]:(e.geoJson&&!e.features&&(i=e.specialAreas,e=e.geoJson),n=[{type:"geoJSON",source:e,specialAreas:i}]),d(n,function(t){var e=t.type;"geoJson"===e&&(e=t.type="geoJSON"),(0,CT[e])(t)}),AT.set(t,n)},retrieveMap:function(t){return AT.get(t)}},CT={geoJSON:function(t){var e=t.source;t.geoJSON=_(e)?"undefined"!=typeof JSON&&JSON.parse?JSON.parse(e):new Function("return ("+e+");")():e},svg:function(t){t.svgXML=Kr(t.source)}},LT=k,kT=d,PT=x,NT=w,OT=lI.parseClassType,ET={zrender:"4.0.6"},RT=1e3,zT=1e3,BT=3e3,VT={PROCESSOR:{FILTER:RT,STATISTIC:5e3},VISUAL:{LAYOUT:zT,GLOBAL:2e3,CHART:BT,COMPONENT:4e3,BRUSH:5e3}},GT="__flagInMainProcess",FT="__optionUpdated",WT=/^[a-zA-Z0-9_]+$/;ls.prototype.on=ss("on"),ls.prototype.off=ss("off"),ls.prototype.one=ss("one"),h(ls,fw);var HT=us.prototype;HT._onframe=function(){if(!this._disposed){var t=this._scheduler;if(this[FT]){var e=this[FT].silent;this[GT]=!0,cs(this),ZT.update.call(this),this[GT]=!1,this[FT]=!1,gs.call(this,e),ms.call(this,e)}else if(t.unfinished){var i=1,n=this._model;this._api;t.unfinished=!1;do{var o=+new Date;t.performSeriesTasks(n),t.performDataProcessorTasks(n),fs(this,n),t.performVisualTasks(n),bs(this,this._model,0,"remain"),i-=+new Date-o}while(i>0&&t.unfinished);t.unfinished||this._zr.flush()}}},HT.getDom=function(){return this._dom},HT.getZr=function(){return this._zr},HT.setOption=function(t,e,i){var n;if(NT(e)&&(i=e.lazyUpdate,n=e.silent,e=e.notMerge),this[GT]=!0,!this._model||e){var o=new Wa(this._api),a=this._theme,r=this._model=new MI(null,null,a,o);r.scheduler=this._scheduler,r.init(null,null,a,o)}this._model.setOption(t,qT),i?(this[FT]={silent:n},this[GT]=!1):(cs(this),ZT.update.call(this),this._zr.flush(),this[FT]=!1,this[GT]=!1,gs.call(this,n),ms.call(this,n))},HT.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},HT.getModel=function(){return this._model},HT.getOption=function(){return this._model&&this._model.getOption()},HT.getWidth=function(){return this._zr.getWidth()},HT.getHeight=function(){return this._zr.getHeight()},HT.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},HT.getRenderedCanvas=function(t){if(U_.canvasSupported)return(t=t||{}).pixelRatio=t.pixelRatio||1,t.backgroundColor=t.backgroundColor||this._model.get("backgroundColor"),this._zr.painter.getRenderedCanvas(t)},HT.getSvgDataUrl=function(){if(U_.svgSupported){var t=this._zr;return d(t.storage.getDisplayList(),function(t){t.stopAnimation(!0)}),t.painter.pathToDataUrl()}},HT.getDataURL=function(t){var e=(t=t||{}).excludeComponents,i=this._model,n=[],o=this;kT(e,function(t){i.eachComponent({mainType:t},function(t){var e=o._componentsMap[t.__viewId];e.group.ignore||(n.push(e),e.group.ignore=!0)})});var a="svg"===this._zr.painter.getType()?this.getSvgDataUrl():this.getRenderedCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return kT(n,function(t){t.group.ignore=!1}),a},HT.getConnectedDataURL=function(t){if(U_.canvasSupported){var e=this.group,n=Math.min,o=Math.max;if(eA[e]){var a=1/0,r=1/0,s=-1/0,l=-1/0,u=[],h=t&&t.pixelRatio||1;d(tA,function(h,c){if(h.group===e){var d=h.getRenderedCanvas(i(t)),f=h.getDom().getBoundingClientRect();a=n(f.left,a),r=n(f.top,r),s=o(f.right,s),l=o(f.bottom,l),u.push({dom:d,left:f.left,top:f.top})}});var c=(s*=h)-(a*=h),f=(l*=h)-(r*=h),p=iw();p.width=c,p.height=f;var g=Ii(p);return kT(u,function(t){var e=new fi({style:{x:t.left*h-a,y:t.top*h-r,image:t.dom}});g.add(e)}),g.refreshImmediately(),p.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}},HT.convertToPixel=v(hs,"convertToPixel"),HT.convertFromPixel=v(hs,"convertFromPixel"),HT.containPixel=function(t,e){var i;return t=Vi(this._model,t),d(t,function(t,n){n.indexOf("Models")>=0&&d(t,function(t){var o=t.coordinateSystem;if(o&&o.containPoint)i|=!!o.containPoint(e);else if("seriesModels"===n){var a=this._chartsMap[t.__viewId];a&&a.containPoint&&(i|=a.containPoint(e,t))}},this)},this),!!i},HT.getVisual=function(t,e){var i=(t=Vi(this._model,t,{defaultMainType:"series"})).seriesModel.getData(),n=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?i.indexOfRawIndex(t.dataIndex):null;return null!=n?i.getItemVisual(n,e):i.getVisual(e)},HT.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},HT.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var ZT={prepareAndUpdate:function(t){cs(this),ZT.update.call(this,t)},update:function(t){var e=this._model,i=this._api,n=this._zr,o=this._coordSysMgr,a=this._scheduler;if(e){a.restoreData(e,t),a.performSeriesTasks(e),o.create(e,i),a.performDataProcessorTasks(e,t),fs(this,e),o.update(e,i),xs(e),a.performVisualTasks(e,t),_s(this,e,i,t);var r=e.get("backgroundColor")||"transparent";if(U_.canvasSupported)n.setBackgroundColor(r);else{var s=Gt(r);r=qt(s,"rgb"),0===s[3]&&(r="transparent")}Ss(e,i)}},updateTransform:function(t){var e=this._model,i=this,n=this._api;if(e){var o=[];e.eachComponent(function(a,r){var s=i.getViewOfComponentModel(r);if(s&&s.__alive)if(s.updateTransform){var l=s.updateTransform(r,e,n,t);l&&l.update&&o.push(s)}else o.push(s)});var a=R();e.eachSeries(function(o){var r=i._chartsMap[o.__viewId];if(r.updateTransform){var s=r.updateTransform(o,e,n,t);s&&s.update&&a.set(o.uid,1)}else a.set(o.uid,1)}),xs(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0,dirtyMap:a}),bs(i,e,0,t,a),Ss(e,this._api)}},updateView:function(t){var e=this._model;e&&(Ar.markUpdateMethod(t,"updateView"),xs(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),_s(this,this._model,this._api,t),Ss(e,this._api))},updateVisual:function(t){ZT.update.call(this,t)},updateLayout:function(t){ZT.update.call(this,t)}};HT.resize=function(t){this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var i=e.resetOption("media"),n=t&&t.silent;this[GT]=!0,i&&cs(this),ZT.update.call(this),this[GT]=!1,gs.call(this,n),ms.call(this,n)}},HT.showLoading=function(t,e){if(NT(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),QT[t]){var i=QT[t](this._api,e),n=this._zr;this._loadingFX=i,n.add(i)}},HT.hideLoading=function(){this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},HT.makeActionFromEvent=function(t){var e=a({},t);return e.type=jT[t.type],e},HT.dispatchAction=function(t,e){NT(e)||(e={silent:!!e}),XT[t.type]&&this._model&&(this[GT]?this._pendingActions.push(t):(ps.call(this,t,e.silent),e.flush?this._zr.flush(!0):!1!==e.flush&&U_.browser.weChat&&this._throttledZrFlush(),gs.call(this,e.silent),ms.call(this,e.silent)))},HT.appendData=function(t){var e=t.seriesIndex;this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0},HT.on=ss("on"),HT.off=ss("off"),HT.one=ss("one");var UT=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];HT._initEvents=function(){kT(UT,function(t){var e=function(e){var i,n=this.getModel(),o=e.target;if("globalout"===t)i={};else if(o&&null!=o.dataIndex){var r=o.dataModel||n.getSeriesByIndex(o.seriesIndex);i=r&&r.getDataParams(o.dataIndex,o.dataType,o)||{}}else o&&o.eventData&&(i=a({},o.eventData));if(i){var s=i.componentType,l=i.componentIndex;"markLine"!==s&&"markPoint"!==s&&"markArea"!==s||(s="series",l=i.seriesIndex);var u=s&&null!=l&&n.getComponent(s,l),h=u&&this["series"===u.mainType?"_chartsMap":"_componentsMap"][u.__viewId];i.event=e,i.type=t,this._ecEventProcessor.eventInfo={targetEl:o,packedEvent:i,model:u,view:h},this.trigger(t,i)}};e.zrEventfulCallAtLast=!0,this._zr.on(t,e,this)},this),kT(jT,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},HT.isDisposed=function(){return this._disposed},HT.clear=function(){this.setOption({series:[]},!0)},HT.dispose=function(){if(!this._disposed){this._disposed=!0,Fi(this.getDom(),oA,"");var t=this._api,e=this._model;kT(this._componentsViews,function(i){i.dispose(e,t)}),kT(this._chartsViews,function(i){i.dispose(e,t)}),this._zr.dispose(),delete tA[this.id]}},h(us,fw),Ds.prototype={constructor:Ds,normalizeQuery:function(t){var e={},i={},n={};if(_(t)){var o=OT(t);e.mainType=o.main||null,e.subType=o.sub||null}else{var a=["Index","Name","Id"],r={name:1,dataIndex:1,dataType:1};d(t,function(t,o){for(var s=!1,l=0;l<a.length;l++){var u=a[l],h=o.lastIndexOf(u);if(h>0&&h===o.length-u.length){var c=o.slice(0,h);"data"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}r.hasOwnProperty(o)&&(i[o]=t,s=!0),s||(n[o]=t)})}return{cptQuery:e,dataQuery:i,otherQuery:n}},filter:function(t,e,i){function n(t,e,i,n){return null==t[i]||e[n||i]===t[i]}var o=this.eventInfo;if(!o)return!0;var a=o.targetEl,r=o.packedEvent,s=o.model,l=o.view;if(!s||!l)return!0;var u=e.cptQuery,h=e.dataQuery;return n(u,s,"mainType")&&n(u,s,"subType")&&n(u,s,"index","componentIndex")&&n(u,s,"name")&&n(u,s,"id")&&n(h,r,"name")&&n(h,r,"dataIndex")&&n(h,r,"dataType")&&(!l.filterForExposedEvent||l.filterForExposedEvent(t,e.otherQuery,a,r))},afterTrigger:function(){this.eventInfo=null}};var XT={},jT={},YT=[],qT=[],KT=[],$T=[],JT={},QT={},tA={},eA={},iA=new Date-0,nA=new Date-0,oA="_echarts_instance_",aA=Ls;Bs(2e3,aT),Ns(BI),Os(5e3,function(t){var e=R();t.eachSeries(function(t){var i=t.get("stack");if(i){var n=e.get(i)||e.set(i,[]),o=t.getData(),a={stackResultDimension:o.getCalculationInfo("stackResultDimension"),stackedOverDimension:o.getCalculationInfo("stackedOverDimension"),stackedDimension:o.getCalculationInfo("stackedDimension"),stackedByDimension:o.getCalculationInfo("stackedByDimension"),isStackedByIndex:o.getCalculationInfo("isStackedByIndex"),data:o,seriesModel:t};if(!a.stackedDimension||!a.isStackedByIndex&&!a.stackedByDimension)return;n.length&&o.setCalculationInfo("stackedOnSeries",n[n.length-1].seriesModel),n.push(a)}}),e.each(ar)}),Gs("default",function(t,e){r(e=e||{},{text:"loading",color:"#c23531",textColor:"#000",maskColor:"rgba(255, 255, 255, 0.8)",zlevel:0});var i=new yM({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4}),n=new SM({shape:{startAngle:-lT/2,endAngle:-lT/2+.1,r:10},style:{stroke:e.color,lineCap:"round",lineWidth:5},zlevel:e.zlevel,z:10001}),o=new yM({style:{fill:"none",text:e.text,textPosition:"right",textDistance:10,textFill:e.textColor},zlevel:e.zlevel,z:10001});n.animateShape(!0).when(1e3,{endAngle:3*lT/2}).start("circularInOut"),n.animateShape(!0).when(1e3,{startAngle:3*lT/2}).delay(300).start("circularInOut");var a=new tb;return a.add(n),a.add(o),a.add(i),a.resize=function(){var e=t.getWidth()/2,a=t.getHeight()/2;n.setShape({cx:e,cy:a});var r=n.shape.r;o.setShape({x:e-r,y:a-r,width:2*r,height:2*r}),i.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},a.resize(),a}),Es({type:"highlight",event:"highlight",update:"highlight"},B),Es({type:"downplay",event:"downplay",update:"downplay"},B),Ps("light",mT),Ps("dark",yT);var rA={};Xs.prototype={constructor:Xs,add:function(t){return this._add=t,this},update:function(t){return this._update=t,this},remove:function(t){return this._remove=t,this},execute:function(){var t=this._old,e=this._new,i={},n=[],o=[];for(js(t,{},n,"_oldKeyGetter",this),js(e,i,o,"_newKeyGetter",this),a=0;a<t.length;a++)null!=(s=i[r=n[a]])?((u=s.length)?(1===u&&(i[r]=null),s=s.unshift()):i[r]=null,this._update&&this._update(s,a)):this._remove&&this._remove(a);for(var a=0;a<o.length;a++){var r=o[a];if(i.hasOwnProperty(r)){var s=i[r];if(null==s)continue;if(s.length)for(var l=0,u=s.length;l<u;l++)this._add&&this._add(s[l]);else this._add&&this._add(s)}}}};var sA=R(["tooltip","label","itemName","itemId","seriesName"]),lA=w,uA=-1,hA="e\0\0",cA={float:"undefined"==typeof Float64Array?Array:Float64Array,int:"undefined"==typeof Int32Array?Array:Int32Array,ordinal:Array,number:Array,time:Array},dA="undefined"==typeof Uint32Array?Array:Uint32Array,fA="undefined"==typeof Int32Array?Array:Int32Array,pA="undefined"==typeof Uint16Array?Array:Uint16Array,gA=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_rawData","_chunkSize","_chunkCount","_dimValueGetter","_count","_rawCount","_nameDimIdx","_idDimIdx"],mA=["_extent","_approximateExtent","_rawExtent"],vA=function(t,e){t=t||["x","y"];for(var i={},n=[],o={},a=0;a<t.length;a++){var r=t[a];_(r)&&(r={name:r});var s=r.name;r.type=r.type||"float",r.coordDim||(r.coordDim=s,r.coordDimIndex=0),r.otherDims=r.otherDims||{},n.push(s),i[s]=r,r.index=a,r.createInvertedIndices&&(o[s]=[])}this.dimensions=n,this._dimensionInfos=i,this.hostModel=e,this.dataType,this._indices=null,this._count=0,this._rawCount=0,this._storage={},this._nameList=[],this._idList=[],this._optionModels=[],this._visual={},this._layout={},this._itemVisuals=[],this.hasItemVisual={},this._itemLayouts=[],this._graphicEls=[],this._chunkSize=1e5,this._chunkCount=0,this._rawData,this._rawExtent={},this._extent={},this._approximateExtent={},this._dimensionsSummary=Ys(this),this._invertedIndicesMap=o,this._calculationInfo={}},yA=vA.prototype;yA.type="list",yA.hasItemOption=!0,yA.getDimension=function(t){return isNaN(t)||(t=this.dimensions[t]||t),t},yA.getDimensionInfo=function(t){return this._dimensionInfos[this.getDimension(t)]},yA.getDimensionsOnCoord=function(){return this._dimensionsSummary.dataDimsOnCoord.slice()},yA.mapDimension=function(t,e){var i=this._dimensionsSummary;if(null==e)return i.encodeFirstDimNotExtra[t];var n=i.encode[t];return!0===e?(n||[]).slice():n&&n[e]},yA.initData=function(t,e,i){(_a.isInstance(t)||c(t))&&(t=new rr(t,this.dimensions.length)),this._rawData=t,this._storage={},this._indices=null,this._nameList=e||[],this._idList=[],this._nameRepeatCount={},i||(this.hasItemOption=!1),this.defaultDimValueGetter=WI[this._rawData.getSource().sourceFormat],this._dimValueGetter=i=i||this.defaultDimValueGetter,this._dimValueGetterArrayRows=WI.arrayRows,this._rawExtent={},this._initDataFromProvider(0,t.count()),t.pure&&(this.hasItemOption=!1)},yA.getProvider=function(){return this._rawData},yA.appendData=function(t){var e=this._rawData,i=this.count();e.appendData(t);var n=e.count();e.persistent||(n+=i),this._initDataFromProvider(i,n)},yA.appendValues=function(t,e){for(var i=this._chunkSize,n=this._storage,o=this.dimensions,a=o.length,r=this._rawExtent,s=this.count(),l=s+Math.max(t.length,e?e.length:0),u=this._chunkCount,h=0;h<a;h++)r[v=o[h]]||(r[v]=[1/0,-1/0]),n[v]||(n[v]=[]),tl(n,this._dimensionInfos[v],i,u,l),this._chunkCount=n[v].length;for(var c=new Array(a),d=s;d<l;d++){for(var f=d-s,p=Math.floor(d/i),g=d%i,m=0;m<a;m++){var v=o[m],y=this._dimValueGetterArrayRows(t[f]||c,v,f,m);n[v][p][g]=y;var x=r[v];y<x[0]&&(x[0]=y),y>x[1]&&(x[1]=y)}e&&(this._nameList[d]=e[f])}this._rawCount=this._count=l,this._extent={},el(this)},yA._initDataFromProvider=function(t,e){if(!(t>=e)){for(var i,n=this._chunkSize,o=this._rawData,a=this._storage,r=this.dimensions,s=r.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=0;p<s;p++){c[w=r[p]]||(c[w]=[1/0,-1/0]);var g=l[w];0===g.otherDims.itemName&&(i=this._nameDimIdx=p),0===g.otherDims.itemId&&(this._idDimIdx=p),a[w]||(a[w]=[]),tl(a,g,n,f,e),this._chunkCount=a[w].length}for(var m=new Array(s),v=t;v<e;v++){m=o.getItem(v,m);for(var y=Math.floor(v/n),x=v%n,_=0;_<s;_++){var w=r[_],b=a[w][y],S=this._dimValueGetter(m,w,v,_);b[x]=S;var M=c[w];S<M[0]&&(M[0]=S),S>M[1]&&(M[1]=S)}if(!o.pure){var I=u[v];if(m&&null==I)if(null!=m.name)u[v]=I=m.name;else if(null!=i){var T=r[i],A=a[T][y];if(A){I=A[x];var D=l[T].ordinalMeta;D&&D.categories.length&&(I=D.categories[I])}}var C=null==m?null:m.id;null==C&&null!=I&&(d[I]=d[I]||0,C=I,d[I]>0&&(C+="__ec__"+d[I]),d[I]++),null!=C&&(h[v]=C)}}!o.persistent&&o.clean&&o.clean(),this._rawCount=this._count=e,this._extent={},el(this)}},yA.count=function(){return this._count},yA.getIndices=function(){var t=this._indices;if(t){var e=t.constructor,i=this._count;if(e===Array){n=new e(i);for(o=0;o<i;o++)n[o]=t[o]}else n=new e(t.buffer,0,i)}else for(var n=new(e=$s(this))(this.count()),o=0;o<n.length;o++)n[o]=o;return n},yA.get=function(t,e){if(!(e>=0&&e<this._count))return NaN;var i=this._storage;if(!i[t])return NaN;e=this.getRawIndex(e);var n=Math.floor(e/this._chunkSize),o=e%this._chunkSize;return i[t][n][o]},yA.getByRawIndex=function(t,e){if(!(e>=0&&e<this._rawCount))return NaN;var i=this._storage[t];if(!i)return NaN;var n=Math.floor(e/this._chunkSize),o=e%this._chunkSize;return i[n][o]},yA._getFast=function(t,e){var i=Math.floor(e/this._chunkSize),n=e%this._chunkSize;return this._storage[t][i][n]},yA.getValues=function(t,e){var i=[];y(t)||(e=t,t=this.dimensions);for(var n=0,o=t.length;n<o;n++)i.push(this.get(t[n],e));return i},yA.hasValue=function(t){for(var e=this._dimensionsSummary.dataDimsOnCoord,i=this._dimensionInfos,n=0,o=e.length;n<o;n++)if("ordinal"!==i[e[n]].type&&isNaN(this.get(e[n],t)))return!1;return!0},yA.getDataExtent=function(t){t=this.getDimension(t);var e=[1/0,-1/0];if(!this._storage[t])return e;var i,n=this.count();if(!this._indices)return this._rawExtent[t].slice();if(i=this._extent[t])return i.slice();for(var o=(i=e)[0],a=i[1],r=0;r<n;r++){var s=this._getFast(t,this.getRawIndex(r));s<o&&(o=s),s>a&&(a=s)}return i=[o,a],this._extent[t]=i,i},yA.getApproximateExtent=function(t){return t=this.getDimension(t),this._approximateExtent[t]||this.getDataExtent(t)},yA.setApproximateExtent=function(t,e){e=this.getDimension(e),this._approximateExtent[e]=t.slice()},yA.getCalculationInfo=function(t){return this._calculationInfo[t]},yA.setCalculationInfo=function(t,e){lA(t)?a(this._calculationInfo,t):this._calculationInfo[t]=e},yA.getSum=function(t){var e=0;if(this._storage[t])for(var i=0,n=this.count();i<n;i++){var o=this.get(t,i);isNaN(o)||(e+=o)}return e},yA.getMedian=function(t){var e=[];this.each(t,function(t,i){isNaN(t)||e.push(t)});var i=[].concat(e).sort(function(t,e){return t-e}),n=this.count();return 0===n?0:n%2==1?i[(n-1)/2]:(i[n/2]+i[n/2-1])/2},yA.rawIndexOf=function(t,e){var i=(t&&this._invertedIndicesMap[t])[e];return null==i||isNaN(i)?uA:i},yA.indexOfName=function(t){for(var e=0,i=this.count();e<i;e++)if(this.getName(e)===t)return e;return-1},yA.indexOfRawIndex=function(t){if(!this._indices)return t;if(t>=this._rawCount||t<0)return-1;var e=this._indices,i=e[t];if(null!=i&&i<this._count&&i===t)return t;for(var n=0,o=this._count-1;n<=o;){var a=(n+o)/2|0;if(e[a]<t)n=a+1;else{if(!(e[a]>t))return a;o=a-1}}return-1},yA.indicesOfNearest=function(t,e,i){var n=[];if(!this._storage[t])return n;null==i&&(i=1/0);for(var o=Number.MAX_VALUE,a=-1,r=0,s=this.count();r<s;r++){var l=e-this.get(t,r),u=Math.abs(l);l<=i&&u<=o&&((u<o||l>=0&&a<0)&&(o=u,a=l,n.length=0),n.push(r))}return n},yA.getRawIndex=nl,yA.getRawDataItem=function(t){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(t));for(var e=[],i=0;i<this.dimensions.length;i++){var n=this.dimensions[i];e.push(this.get(n,t))}return e},yA.getName=function(t){var e=this.getRawIndex(t);return this._nameList[e]||il(this,this._nameDimIdx,e)||""},yA.getId=function(t){return al(this,this.getRawIndex(t))},yA.each=function(t,e,i,n){if(this._count){"function"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this;for(var o=(t=f(rl(t),this.getDimension,this)).length,a=0;a<this.count();a++)switch(o){case 0:e.call(i,a);break;case 1:e.call(i,this.get(t[0],a),a);break;case 2:e.call(i,this.get(t[0],a),this.get(t[1],a),a);break;default:for(var r=0,s=[];r<o;r++)s[r]=this.get(t[r],a);s[r]=a,e.apply(i,s)}}},yA.filterSelf=function(t,e,i,n){if(this._count){"function"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this,t=f(rl(t),this.getDimension,this);for(var o=this.count(),a=new($s(this))(o),r=[],s=t.length,l=0,u=t[0],h=0;h<o;h++){var c,d=this.getRawIndex(h);if(0===s)c=e.call(i,h);else if(1===s){var p=this._getFast(u,d);c=e.call(i,p,h)}else{for(var g=0;g<s;g++)r[g]=this._getFast(u,d);r[g]=h,c=e.apply(i,r)}c&&(a[l++]=d)}return l<o&&(this._indices=a),this._count=l,this._extent={},this.getRawIndex=this._indices?ol:nl,this}},yA.selectRange=function(t){if(this._count){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(i);var n=e.length;if(n){var o=this.count(),a=new($s(this))(o),r=0,s=e[0],l=t[s][0],u=t[s][1],h=!1;if(!this._indices){var c=0;if(1===n){for(var d=this._storage[e[0]],f=0;f<this._chunkCount;f++)for(var p=d[f],g=Math.min(this._count-f*this._chunkSize,this._chunkSize),m=0;m<g;m++)((w=p[m])>=l&&w<=u||isNaN(w))&&(a[r++]=c),c++;h=!0}else if(2===n){for(var d=this._storage[s],v=this._storage[e[1]],y=t[e[1]][0],x=t[e[1]][1],f=0;f<this._chunkCount;f++)for(var p=d[f],_=v[f],g=Math.min(this._count-f*this._chunkSize,this._chunkSize),m=0;m<g;m++){var w=p[m],b=_[m];(w>=l&&w<=u||isNaN(w))&&(b>=y&&b<=x||isNaN(b))&&(a[r++]=c),c++}h=!0}}if(!h)if(1===n)for(m=0;m<o;m++){M=this.getRawIndex(m);((w=this._getFast(s,M))>=l&&w<=u||isNaN(w))&&(a[r++]=M)}else for(m=0;m<o;m++){for(var S=!0,M=this.getRawIndex(m),f=0;f<n;f++){var I=e[f];((w=this._getFast(i,M))<t[I][0]||w>t[I][1])&&(S=!1)}S&&(a[r++]=this.getRawIndex(m))}return r<o&&(this._indices=a),this._count=r,this._extent={},this.getRawIndex=this._indices?ol:nl,this}}},yA.mapArray=function(t,e,i,n){"function"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this;var o=[];return this.each(t,function(){o.push(e&&e.apply(this,arguments))},i),o},yA.map=function(t,e,i,n){i=i||n||this;var o=sl(this,t=f(rl(t),this.getDimension,this));o._indices=this._indices,o.getRawIndex=o._indices?ol:nl;for(var a=o._storage,r=[],s=this._chunkSize,l=t.length,u=this.count(),h=[],c=o._rawExtent,d=0;d<u;d++){for(var p=0;p<l;p++)h[p]=this.get(t[p],d);h[l]=d;var g=e&&e.apply(i,h);if(null!=g){"object"!=typeof g&&(r[0]=g,g=r);for(var m=this.getRawIndex(d),v=Math.floor(m/s),y=m%s,x=0;x<g.length;x++){var _=t[x],w=g[x],b=c[_],S=a[_];S&&(S[v][y]=w),w<b[0]&&(b[0]=w),w>b[1]&&(b[1]=w)}}}return o},yA.downSample=function(t,e,i,n){for(var o=sl(this,[t]),a=o._storage,r=[],s=Math.floor(1/e),l=a[t],u=this.count(),h=this._chunkSize,c=o._rawExtent[t],d=new($s(this))(u),f=0,p=0;p<u;p+=s){s>u-p&&(s=u-p,r.length=s);for(var g=0;g<s;g++){var m=this.getRawIndex(p+g),v=Math.floor(m/h),y=m%h;r[g]=l[v][y]}var x=i(r),_=this.getRawIndex(Math.min(p+n(r,x)||0,u-1)),w=_%h;l[Math.floor(_/h)][w]=x,x<c[0]&&(c[0]=x),x>c[1]&&(c[1]=x),d[f++]=_}return o._count=f,o._indices=d,o.getRawIndex=ol,o},yA.getItemModel=function(t){var e=this.hostModel;return new No(this.getRawDataItem(t),e,e&&e.ecModel)},yA.diff=function(t){var e=this;return new Xs(t?t.getIndices():[],this.getIndices(),function(e){return al(t,e)},function(t){return al(e,t)})},yA.getVisual=function(t){var e=this._visual;return e&&e[t]},yA.setVisual=function(t,e){if(lA(t))for(var i in t)t.hasOwnProperty(i)&&this.setVisual(i,t[i]);else this._visual=this._visual||{},this._visual[t]=e},yA.setLayout=function(t,e){if(lA(t))for(var i in t)t.hasOwnProperty(i)&&this.setLayout(i,t[i]);else this._layout[t]=e},yA.getLayout=function(t){return this._layout[t]},yA.getItemLayout=function(t){return this._itemLayouts[t]},yA.setItemLayout=function(t,e,i){this._itemLayouts[t]=i?a(this._itemLayouts[t]||{},e):e},yA.clearItemLayouts=function(){this._itemLayouts.length=0},yA.getItemVisual=function(t,e,i){var n=this._itemVisuals[t],o=n&&n[e];return null!=o||i?o:this.getVisual(e)},yA.setItemVisual=function(t,e,i){var n=this._itemVisuals[t]||{},o=this.hasItemVisual;if(this._itemVisuals[t]=n,lA(e))for(var a in e)e.hasOwnProperty(a)&&(n[a]=e[a],o[a]=!0);else n[e]=i,o[e]=!0},yA.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var xA=function(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType};yA.setItemGraphicEl=function(t,e){var i=this.hostModel;e&&(e.dataIndex=t,e.dataType=this.dataType,e.seriesIndex=i&&i.seriesIndex,"group"===e.type&&e.traverse(xA,e)),this._graphicEls[t]=e},yA.getItemGraphicEl=function(t){return this._graphicEls[t]},yA.eachItemGraphicEl=function(t,e){d(this._graphicEls,function(i,n){i&&t&&t.call(e,i,n)})},yA.cloneShallow=function(t){if(!t){var e=f(this.dimensions,this.getDimensionInfo,this);t=new vA(e,this.hostModel)}if(t._storage=this._storage,Qs(t,this),this._indices){var i=this._indices.constructor;t._indices=new i(this._indices)}else t._indices=null;return t.getRawIndex=t._indices?ol:nl,t},yA.wrapMethod=function(t,e){var i=this[t];"function"==typeof i&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=i.apply(this,arguments);return e.apply(this,[t].concat(C(arguments)))})},yA.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],yA.CHANGABLE_METHODS=["filterSelf","selectRange"];var _A=function(t,e){return e=e||{},hl(e.coordDimensions||[],t,{dimsDef:e.dimensionsDefine||t.dimensionsDefine,encodeDef:e.encodeDefine||t.encodeDefine,dimCount:e.dimensionsCount,generateCoord:e.generateCoord,generateCoordCount:e.generateCoordCount})};xl.prototype.parse=function(t){return t},xl.prototype.getSetting=function(t){return this._setting[t]},xl.prototype.contain=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},xl.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},xl.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},xl.prototype.unionExtent=function(t){var e=this._extent;t[0]<e[0]&&(e[0]=t[0]),t[1]>e[1]&&(e[1]=t[1])},xl.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},xl.prototype.getExtent=function(){return this._extent.slice()},xl.prototype.setExtent=function(t,e){var i=this._extent;isNaN(t)||(i[0]=t),isNaN(e)||(i[1]=e)},xl.prototype.isBlank=function(){return this._isBlank},xl.prototype.setBlank=function(t){this._isBlank=t},xl.prototype.getLabel=null,ji(xl),$i(xl,{registerWhenExtend:!0}),_l.createByAxisModel=function(t){var e=t.option,i=e.data,n=i&&f(i,bl);return new _l({categories:n,needCollect:!n,deduplication:!1!==e.dedplication})};var wA=_l.prototype;wA.getOrdinal=function(t){return wl(this).get(t)},wA.parseAndCollect=function(t){var e,i=this._needCollect;if("string"!=typeof t&&!i)return t;if(i&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var n=wl(this);return null==(e=n.get(t))&&(i?(e=this.categories.length,this.categories[e]=t,n.set(t,e)):e=NaN),e};var bA=xl.prototype,SA=xl.extend({type:"ordinal",init:function(t,e){t&&!y(t)||(t=new _l({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return"string"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),bA.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return bA.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(bA.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,i=e[0];i<=e[1];)t.push(i),i++;return t},getLabel:function(t){if(!this.isBlank())return this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:B,niceExtent:B});SA.create=function(){return new SA};var MA=Go,IA=Go,TA=xl.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var i=this._extent;isNaN(t)||(i[0]=parseFloat(t)),isNaN(e)||(i[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]<e[0]&&(e[0]=t[0]),t[1]>e[1]&&(e[1]=t[1]),TA.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Ml(t)},getTicks:function(){return Al(this._interval,this._extent,this._niceExtent,this._intervalPrecision)},getLabel:function(t,e){if(null==t)return"";var i=e&&e.precision;return null==i?i=Ho(t)||0:"auto"===i&&(i=this._intervalPrecision),t=IA(t,i,!0),ta(t)},niceTicks:function(t,e,i){t=t||5;var n=this._extent,o=n[1]-n[0];if(isFinite(o)){o<0&&(o=-o,n.reverse());var a=Sl(n,t,e,i);this._intervalPrecision=a.intervalPrecision,this._interval=a.interval,this._niceExtent=a.niceTickExtent}},niceExtent:function(t){var e=this._extent;if(e[0]===e[1])if(0!==e[0]){var i=e[0];t.fixMax?e[0]-=i/2:(e[1]+=i/2,e[0]-=i/2)}else e[1]=1;var n=e[1]-e[0];isFinite(n)||(e[0]=0,e[1]=1),this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var o=this._interval;t.fixMin||(e[0]=IA(Math.floor(e[0]/o)*o)),t.fixMax||(e[1]=IA(Math.ceil(e[1]/o)*o))}});TA.create=function(){return new TA};var AA="__ec_stack_",DA="undefined"!=typeof Float32Array?Float32Array:Array,CA={seriesType:"bar",plan:$I(),reset:function(t){if(Rl(t)&&zl(t)){var e=t.getData(),i=t.coordinateSystem,n=i.getBaseAxis(),o=i.getOtherAxis(n),a=e.mapDimension(o.dim),r=e.mapDimension(n.dim),s=o.isHorizontal(),l=s?0:1,u=Ol(Pl([t]),n,t).width;return u>.5||(u=.5),{progress:function(t,e){for(var n,h=new DA(2*t.count),c=[],d=[],f=0;null!=(n=t.next());)d[l]=e.get(a,n),d[1-l]=e.get(r,n),c=i.dataToPoint(d,null,c),h[f++]=c[0],h[f++]=c[1];e.setLayout({largePoints:h,barWidth:u,valueAxisStart:Bl(0,o),valueAxisHorizontal:s})}}}}},LA=TA.prototype,kA=Math.ceil,PA=Math.floor,NA=function(t,e,i,n){for(;i<n;){var o=i+n>>>1;t[o][1]<e?i=o+1:n=o}return i},OA=TA.extend({type:"time",getLabel:function(t){var e=this._stepLvl,i=new Date(t);return sa(e[0],i,this.getSetting("useUTC"))},niceExtent:function(t){var e=this._extent;if(e[0]===e[1]&&(e[0]-=864e5,e[1]+=864e5),e[1]===-1/0&&e[0]===1/0){var i=new Date;e[1]=+new Date(i.getFullYear(),i.getMonth(),i.getDate()),e[0]=e[1]-864e5}this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var n=this._interval;t.fixMin||(e[0]=Go(PA(e[0]/n)*n)),t.fixMax||(e[1]=Go(kA(e[1]/n)*n))},niceTicks:function(t,e,i){t=t||10;var n=this._extent,o=n[1]-n[0],a=o/t;null!=e&&a<e&&(a=e),null!=i&&a>i&&(a=i);var r=EA.length,s=NA(EA,a,0,r),l=EA[Math.min(s,r-1)],u=l[1];"year"===l[0]&&(u*=$o(o/u/t,!0));var h=this.getSetting("useUTC")?0:60*new Date(+n[0]||+n[1]).getTimezoneOffset()*1e3,c=[Math.round(kA((n[0]-h)/u)*u+h),Math.round(PA((n[1]-h)/u)*u+h)];Tl(c,n),this._stepLvl=l,this._interval=u,this._niceExtent=c},parse:function(t){return+Yo(t)}});d(["contain","normalize"],function(t){OA.prototype[t]=function(e){return LA[t].call(this,this.parse(e))}});var EA=[["hh:mm:ss",1e3],["hh:mm:ss",5e3],["hh:mm:ss",1e4],["hh:mm:ss",15e3],["hh:mm:ss",3e4],["hh:mm\nMM-dd",6e4],["hh:mm\nMM-dd",3e5],["hh:mm\nMM-dd",6e5],["hh:mm\nMM-dd",9e5],["hh:mm\nMM-dd",18e5],["hh:mm\nMM-dd",36e5],["hh:mm\nMM-dd",72e5],["hh:mm\nMM-dd",216e5],["hh:mm\nMM-dd",432e5],["MM-dd\nyyyy",864e5],["MM-dd\nyyyy",1728e5],["MM-dd\nyyyy",2592e5],["MM-dd\nyyyy",3456e5],["MM-dd\nyyyy",432e6],["MM-dd\nyyyy",5184e5],["week",6048e5],["MM-dd\nyyyy",864e6],["week",12096e5],["week",18144e5],["month",26784e5],["week",36288e5],["month",53568e5],["week",6048e6],["quarter",8208e6],["month",107136e5],["month",13392e6],["half-year",16416e6],["month",214272e5],["month",26784e6],["year",32832e6]];OA.create=function(t){return new OA({useUTC:t.ecModel.get("useUTC")})};var RA=xl.prototype,zA=TA.prototype,BA=Ho,VA=Go,GA=Math.floor,FA=Math.ceil,WA=Math.pow,HA=Math.log,ZA=xl.extend({type:"log",base:10,$constructor:function(){xl.apply(this,arguments),this._originalScale=new TA},getTicks:function(){var t=this._originalScale,e=this._extent,i=t.getExtent();return f(zA.getTicks.call(this),function(n){var o=Go(WA(this.base,n));return o=n===e[0]&&t.__fixMin?Vl(o,i[0]):o,o=n===e[1]&&t.__fixMax?Vl(o,i[1]):o},this)},getLabel:zA.getLabel,scale:function(t){return t=RA.scale.call(this,t),WA(this.base,t)},setExtent:function(t,e){var i=this.base;t=HA(t)/HA(i),e=HA(e)/HA(i),zA.setExtent.call(this,t,e)},getExtent:function(){var t=this.base,e=RA.getExtent.call(this);e[0]=WA(t,e[0]),e[1]=WA(t,e[1]);var i=this._originalScale,n=i.getExtent();return i.__fixMin&&(e[0]=Vl(e[0],n[0])),i.__fixMax&&(e[1]=Vl(e[1],n[1])),e},unionExtent:function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=HA(t[0])/HA(e),t[1]=HA(t[1])/HA(e),RA.unionExtent.call(this,t)},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},niceTicks:function(t){t=t||10;var e=this._extent,i=e[1]-e[0];if(!(i===1/0||i<=0)){var n=qo(i);for(t/i*n<=.5&&(n*=10);!isNaN(n)&&Math.abs(n)<1&&Math.abs(n)>0;)n*=10;var o=[Go(FA(e[0]/n)*n),Go(GA(e[1]/n)*n)];this._interval=n,this._niceExtent=o}},niceExtent:function(t){zA.niceExtent.call(this,t);var e=this._originalScale;e.__fixMin=t.fixMin,e.__fixMax=t.fixMax}});d(["contain","normalize"],function(t){ZA.prototype[t]=function(e){return e=HA(e)/HA(this.base),RA[t].call(this,e)}}),ZA.create=function(){return new ZA};var UA={getMin:function(t){var e=this.option,i=t||null==e.rangeStart?e.min:e.rangeStart;return this.axis&&null!=i&&"dataMin"!==i&&"function"!=typeof i&&!I(i)&&(i=this.axis.scale.parse(i)),i},getMax:function(t){var e=this.option,i=t||null==e.rangeEnd?e.max:e.rangeEnd;return this.axis&&null!=i&&"dataMax"!==i&&"function"!=typeof i&&!I(i)&&(i=this.axis.scale.parse(i)),i},getNeedCrossZero:function(){var t=this.option;return null==t.rangeStart&&null==t.rangeEnd&&!t.scale},getCoordSysModel:B,setRange:function(t,e){this.option.rangeStart=t,this.option.rangeEnd=e},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}},XA=Un({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n+a),t.lineTo(i-o,n+a),t.closePath()}}),jA=Un({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n),t.lineTo(i,n+a),t.lineTo(i-o,n),t.closePath()}}),YA=Un({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.x,n=e.y,o=e.width/5*3,a=Math.max(o,e.height),r=o/2,s=r*r/(a-r),l=n-a+r+s,u=Math.asin(s/r),h=Math.cos(u)*r,c=Math.sin(u),d=Math.cos(u),f=.6*r,p=.7*r;t.moveTo(i-h,l+s),t.arc(i,l,r,Math.PI-u,2*Math.PI+u),t.bezierCurveTo(i+h-c*f,l+s+d*f,i,n-p,i,n),t.bezierCurveTo(i,n-p,i-h+c*f,l+s+d*f,i-h,l+s),t.closePath()}}),qA=Un({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.height,n=e.width,o=e.x,a=e.y,r=n/3*2;t.moveTo(o,a),t.lineTo(o+r,a+i),t.lineTo(o,a+i/4*3),t.lineTo(o-r,a+i),t.lineTo(o,a),t.closePath()}}),KA={line:function(t,e,i,n,o){o.x1=t,o.y1=e+n/2,o.x2=t+i,o.y2=e+n/2},rect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n},roundRect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n,o.r=Math.min(i,n)/4},square:function(t,e,i,n,o){var a=Math.min(i,n);o.x=t,o.y=e,o.width=a,o.height=a},circle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.r=Math.min(i,n)/2},diamond:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n},pin:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},arrow:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},triangle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n}},$A={};d({line:_M,rect:yM,roundRect:yM,square:yM,circle:sM,diamond:jA,pin:YA,arrow:qA,triangle:XA},function(t,e){$A[e]=new t});var JA=Un({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},beforeBrush:function(){var t=this.style;"pin"===this.shape.symbolType&&"inside"===t.textPosition&&(t.textPosition=["50%","40%"],t.textAlign="center",t.textVerticalAlign="middle")},buildPath:function(t,e,i){var n=e.symbolType,o=$A[n];"none"!==e.symbolType&&(o||(o=$A[n="rect"]),KA[n](e.x,e.y,e.width,e.height,o.shape),o.buildPath(t,o.shape,i))}}),QA={isDimensionStacked:pl,enableDataStack:fl,getStackedDimension:gl},tD=(Object.freeze||Object)({createList:function(t){return ml(t.getSource(),t)},getLayoutRect:ca,dataStack:QA,createScale:function(t,e){var i=e;No.isInstance(e)||h(i=new No(e),UA);var n=Hl(i);return n.setExtent(t[0],t[1]),Wl(n,i),n},mixinAxisModelCommonMethods:function(t){h(t,UA)},completeDimensions:hl,createDimensions:_A,createSymbol:Jl}),eD=1e-8;eu.prototype={constructor:eu,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,i=[e,e],n=[-e,-e],o=[],a=[],r=this.geometries,s=0;s<r.length;s++)"polygon"===r[s].type&&(fn(r[s].exterior,o,a),tt(i,i,o),et(n,n,a));return 0===s&&(i[0]=i[1]=n[0]=n[1]=0),this._rect=new de(i[0],i[1],n[0]-i[0],n[1]-i[1])},contain:function(t){var e=this.getBoundingRect(),i=this.geometries;if(!e.contain(t[0],t[1]))return!1;t:for(var n=0,o=i.length;n<o;n++)if("polygon"===i[n].type){var a=i[n].exterior,r=i[n].interiors;if(tu(a,t[0],t[1])){for(var s=0;s<(r?r.length:0);s++)if(tu(r[s]))continue t;return!0}}return!1},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=o.width/o.height;i?n||(n=i/a):i=a*n;for(var r=new de(t,e,i,n),s=o.calculateTransform(r),l=this.geometries,u=0;u<l.length;u++)if("polygon"===l[u].type){for(var h=l[u].exterior,c=l[u].interiors,d=0;d<h.length;d++)Q(h[d],h[d],s);for(var f=0;f<(c?c.length:0);f++)for(d=0;d<c[f].length;d++)Q(c[f][d],c[f][d],s)}(o=this._rect).copy(r),this.center=[o.x+o.width/2,o.y+o.height/2]},cloneShallow:function(t){null==t&&(t=this.name);var e=new eu(t,this.geometries,this.center);return e._rect=this._rect,e.transformTo=null,e}};var iD=function(t){return iu(t),f(g(t.features,function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0}),function(t){var e=t.properties,i=t.geometry,n=i.coordinates,o=[];"Polygon"===i.type&&o.push({type:"polygon",exterior:n[0],interiors:n.slice(1)}),"MultiPolygon"===i.type&&d(n,function(t){t[0]&&o.push({type:"polygon",exterior:t[0],interiors:t.slice(1)})});var a=new eu(e.name,o,e.cp);return a.properties=e,a})},nD=Bi(),oD=[0,1],aD=function(t,e,i){this.dim=t,this.scale=e,this._extent=i||[0,0],this.inverse=!1,this.onBand=!1};aD.prototype={constructor:aD,contain:function(t){var e=this._extent,i=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return t>=i&&t<=n},containData:function(t){return this.contain(this.dataToCoord(t))},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(t){return Zo(t||this.scale.getExtent(),this._extent)},setExtent:function(t,e){var i=this._extent;i[0]=t,i[1]=e},dataToCoord:function(t,e){var i=this._extent,n=this.scale;return t=n.normalize(t),this.onBand&&"ordinal"===n.type&&yu(i=i.slice(),n.count()),Bo(t,oD,i,e)},coordToData:function(t,e){var i=this._extent,n=this.scale;this.onBand&&"ordinal"===n.type&&yu(i=i.slice(),n.count());var o=Bo(t,i,oD,e);return this.scale.scale(o)},pointToData:function(t,e){},getTicksCoords:function(t){var e=(t=t||{}).tickModel||this.getTickModel(),i=au(this,e),n=f(i.ticks,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this),o=e.get("alignWithLabel");return xu(this,n,i.tickCategoryInterval,o,t.clamp),n},getViewLabels:function(){return ou(this).labels},getLabelModel:function(){return this.model.getModel("axisLabel")},getTickModel:function(){return this.model.getModel("axisTick")},getBandWidth:function(){var t=this._extent,e=this.scale.getExtent(),i=e[1]-e[0]+(this.onBand?1:0);0===i&&(i=1);var n=Math.abs(t[1]-t[0]);return Math.abs(n)/i},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return pu(this)}};var rD=iD,sD={};d(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(t){sD[t]=aw[t]});var lD={};d(["extendShape","extendPath","makePath","makeImage","mergePath","resizePath","createIcon","setHoverStyle","setLabelStyle","setTextStyle","setText","getFont","updateProps","initProps","getTransform","clipPointsByRect","clipRectByRect","Group","Image","Text","Circle","Sector","Ring","Polygon","Polyline","Rect","Line","BezierCurve","Arc","IncrementalDisplayable","CompoundPath","LinearGradient","RadialGradient","BoundingRect"],function(t){lD[t]=zM[t]}),YI.extend({type:"series.line",dependencies:["grid","polar"],getInitialData:function(t,e){return ml(this.getSource(),this)},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,clipOverflow:!0,label:{position:"top"},lineStyle:{width:2,type:"solid"},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0}});var uD=wu.prototype,hD=wu.getSymbolSize=function(t,e){var i=t.getItemVisual(e,"symbolSize");return i instanceof Array?i.slice():[+i,+i]};uD._createSymbol=function(t,e,i,n,o){this.removeAll();var a=Jl(t,-1,-1,2,2,e.getItemVisual(i,"color"),o);a.attr({z2:100,culling:!0,scale:bu(n)}),a.drift=Su,this._symbolType=t,this.add(a)},uD.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(t)},uD.getSymbolPath=function(){return this.childAt(0)},uD.getScale=function(){return this.childAt(0).scale},uD.highlight=function(){this.childAt(0).trigger("emphasis")},uD.downplay=function(){this.childAt(0).trigger("normal")},uD.setZ=function(t,e){var i=this.childAt(0);i.zlevel=t,i.z=e},uD.setDraggable=function(t){var e=this.childAt(0);e.draggable=t,e.cursor=t?"move":"pointer"},uD.updateData=function(t,e,i){this.silent=!1;var n=t.getItemVisual(e,"symbol")||"circle",o=t.hostModel,a=hD(t,e),r=n!==this._symbolType;if(r){var s=t.getItemVisual(e,"symbolKeepAspect");this._createSymbol(n,t,e,a,s)}else(l=this.childAt(0)).silent=!1,Io(l,{scale:bu(a)},o,e);if(this._updateCommon(t,e,a,i),r){var l=this.childAt(0),u=i&&i.fadeIn,h={scale:l.scale.slice()};u&&(h.style={opacity:l.style.opacity}),l.scale=[0,0],u&&(l.style.opacity=0),To(l,h,o,e)}this._seriesModel=o};var cD=["itemStyle"],dD=["emphasis","itemStyle"],fD=["label"],pD=["emphasis","label"];uD._updateCommon=function(t,e,i,n){var o=this.childAt(0),r=t.hostModel,s=t.getItemVisual(e,"color");"image"!==o.type&&o.useStyle({strokeNoScale:!0});var l=n&&n.itemStyle,u=n&&n.hoverItemStyle,h=n&&n.symbolRotate,c=n&&n.symbolOffset,d=n&&n.labelModel,f=n&&n.hoverLabelModel,p=n&&n.hoverAnimation,g=n&&n.cursorStyle;if(!n||t.hasItemOption){var m=n&&n.itemModel?n.itemModel:t.getItemModel(e);l=m.getModel(cD).getItemStyle(["color"]),u=m.getModel(dD).getItemStyle(),h=m.getShallow("symbolRotate"),c=m.getShallow("symbolOffset"),d=m.getModel(fD),f=m.getModel(pD),p=m.getShallow("hoverAnimation"),g=m.getShallow("cursor")}else u=a({},u);var v=o.style;o.attr("rotation",(h||0)*Math.PI/180||0),c&&o.attr("position",[Vo(c[0],i[0]),Vo(c[1],i[1])]),g&&o.attr("cursor",g),o.setColor(s,n&&n.symbolInnerColor),o.setStyle(l);var y=t.getItemVisual(e,"opacity");null!=y&&(v.opacity=y);var x=t.getItemVisual(e,"liftZ"),_=o.__z2Origin;null!=x?null==_&&(o.__z2Origin=o.z2,o.z2+=x):null!=_&&(o.z2=_,o.__z2Origin=null);var w=n&&n.useNameLabel;go(v,u,d,f,{labelFetcher:r,labelDataIndex:e,defaultText:function(e,i){return w?t.getName(e):_u(t,e)},isRectText:!0,autoColor:s}),o.off("mouseover").off("mouseout").off("emphasis").off("normal"),o.hoverStyle=u,fo(o),o.__symbolOriginalScale=bu(i),p&&r.isAnimationEnabled()&&o.on("mouseover",Mu).on("mouseout",Iu).on("emphasis",Tu).on("normal",Au)},uD.fadeOut=function(t,e){var i=this.childAt(0);this.silent=i.silent=!0,!(e&&e.keepLabel)&&(i.style.text=null),Io(i,{style:{opacity:0},scale:[0,0]},this._seriesModel,this.dataIndex,t)},u(wu,tb);var gD=Du.prototype;gD.updateData=function(t,e){e=Lu(e);var i=this.group,n=t.hostModel,o=this._data,a=this._symbolCtor,r=ku(t);o||i.removeAll(),t.diff(o).add(function(n){var o=t.getItemLayout(n);if(Cu(t,o,n,e)){var s=new a(t,n,r);s.attr("position",o),t.setItemGraphicEl(n,s),i.add(s)}}).update(function(s,l){var u=o.getItemGraphicEl(l),h=t.getItemLayout(s);Cu(t,h,s,e)?(u?(u.updateData(t,s,r),Io(u,{position:h},n)):(u=new a(t,s)).attr("position",h),i.add(u),t.setItemGraphicEl(s,u)):i.remove(u)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&e.fadeOut(function(){i.remove(e)})}).execute(),this._data=t},gD.isPersistent=function(){return!0},gD.updateLayout=function(){var t=this._data;t&&t.eachItemGraphicEl(function(e,i){var n=t.getItemLayout(i);e.attr("position",n)})},gD.incrementalPrepareUpdate=function(t){this._seriesScope=ku(t),this._data=null,this.group.removeAll()},gD.incrementalUpdate=function(t,e,i){i=Lu(i);for(var n=t.start;n<t.end;n++){var o=e.getItemLayout(n);if(Cu(e,o,n,i)){var a=new this._symbolCtor(e,n,this._seriesScope);a.traverse(function(t){t.isGroup||(t.incremental=t.useHoverLayer=!0)}),a.attr("position",o),this.group.add(a),e.setItemGraphicEl(n,a)}}},gD.remove=function(t){var e=this.group,i=this._data;i&&t?i.eachItemGraphicEl(function(t){t.fadeOut(function(){e.remove(t)})}):e.removeAll()};var mD=function(t,e,i,n,o,a,r,s){for(var l=Eu(t,e),u=[],h=[],c=[],d=[],f=[],p=[],g=[],m=Pu(o,e,r),v=Pu(a,t,s),y=0;y<l.length;y++){var x=l[y],_=!0;switch(x.cmd){case"=":var w=t.getItemLayout(x.idx),b=e.getItemLayout(x.idx1);(isNaN(w[0])||isNaN(w[1]))&&(w=b.slice()),u.push(w),h.push(b),c.push(i[x.idx]),d.push(n[x.idx1]),g.push(e.getRawIndex(x.idx1));break;case"+":S=x.idx;u.push(o.dataToPoint([e.get(m.dataDimsForPoint[0],S),e.get(m.dataDimsForPoint[1],S)])),h.push(e.getItemLayout(S).slice()),c.push(Ou(m,o,e,S)),d.push(n[S]),g.push(e.getRawIndex(S));break;case"-":var S=x.idx,M=t.getRawIndex(S);M!==S?(u.push(t.getItemLayout(S)),h.push(a.dataToPoint([t.get(v.dataDimsForPoint[0],S),t.get(v.dataDimsForPoint[1],S)])),c.push(i[S]),d.push(Ou(v,a,t,S)),g.push(M)):_=!1}_&&(f.push(x),p.push(p.length))}p.sort(function(t,e){return g[t]-g[e]});for(var I=[],T=[],A=[],D=[],C=[],y=0;y<p.length;y++){S=p[y];I[y]=u[S],T[y]=h[S],A[y]=c[S],D[y]=d[S],C[y]=f[S]}return{current:I,next:T,stackedOnCurrent:A,stackedOnNext:D,status:C}},vD=tt,yD=et,xD=Z,_D=G,wD=[],bD=[],SD=[],MD=Pn.extend({type:"ec-polyline",shape:{points:[],smooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},style:{fill:null,stroke:"#000"},brush:uM(Pn.prototype.brush),buildPath:function(t,e){var i=e.points,n=0,o=i.length,a=Gu(i,e.smoothConstraint);if(e.connectNulls){for(;o>0&&Ru(i[o-1]);o--);for(;n<o&&Ru(i[n]);n++);}for(;n<o;)n+=zu(t,i,n,o,o,1,a.min,a.max,e.smooth,e.smoothMonotone,e.connectNulls)+1}}),ID=Pn.extend({type:"ec-polygon",shape:{points:[],stackedOnPoints:[],smooth:0,stackedOnSmooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},brush:uM(Pn.prototype.brush),buildPath:function(t,e){var i=e.points,n=e.stackedOnPoints,o=0,a=i.length,r=e.smoothMonotone,s=Gu(i,e.smoothConstraint),l=Gu(n,e.smoothConstraint);if(e.connectNulls){for(;a>0&&Ru(i[a-1]);a--);for(;o<a&&Ru(i[o]);o++);}for(;o<a;){var u=zu(t,i,o,a,a,1,s.min,s.max,e.smooth,r,e.connectNulls);zu(t,n,o+u-1,u,a,-1,l.min,l.max,e.stackedOnSmooth,r,e.connectNulls),o+=u+1,t.closePath()}}});Ar.extend({type:"line",init:function(){var t=new tb,e=new Du;this.group.add(e.group),this._symbolDraw=e,this._lineGroup=t},render:function(t,e,i){var n=t.coordinateSystem,o=this.group,a=t.getData(),s=t.getModel("lineStyle"),l=t.getModel("areaStyle"),u=a.mapArray(a.getItemLayout),h="polar"===n.type,c=this._coordSys,d=this._symbolDraw,f=this._polyline,p=this._polygon,g=this._lineGroup,m=t.get("animation"),v=!l.isEmpty(),y=l.get("origin"),x=Zu(n,a,Pu(n,a,y)),_=t.get("showSymbol"),w=_&&!h&&Ku(t,a,n),b=this._data;b&&b.eachItemGraphicEl(function(t,e){t.__temp&&(o.remove(t),b.setItemGraphicEl(e,null))}),_||d.remove(),o.add(g);var S=!h&&t.get("step");f&&c.type===n.type&&S===this._step?(v&&!p?p=this._newPolygon(u,x,n,m):p&&!v&&(g.remove(p),p=this._polygon=null),g.setClipPath(ju(n,!1,!1,t)),_&&d.updateData(a,{isIgnore:w,clipShape:ju(n,!1,!0,t)}),a.eachItemGraphicEl(function(t){t.stopAnimation(!0)}),Fu(this._stackedOnPoints,x)&&Fu(this._points,u)||(m?this._updateAnimation(a,x,n,i,S,y):(S&&(u=Yu(u,n,S),x=Yu(x,n,S)),f.setShape({points:u}),p&&p.setShape({points:u,stackedOnPoints:x})))):(_&&d.updateData(a,{isIgnore:w,clipShape:ju(n,!1,!0,t)}),S&&(u=Yu(u,n,S),x=Yu(x,n,S)),f=this._newPolyline(u,n,m),v&&(p=this._newPolygon(u,x,n,m)),g.setClipPath(ju(n,!0,!1,t)));var M=qu(a,n)||a.getVisual("color");f.useStyle(r(s.getLineStyle(),{fill:"none",stroke:M,lineJoin:"bevel"}));var I=t.get("smooth");if(I=Wu(t.get("smooth")),f.setShape({smooth:I,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")}),p){var T=a.getCalculationInfo("stackedOnSeries"),A=0;p.useStyle(r(l.getAreaStyle(),{fill:M,opacity:.7,lineJoin:"bevel"})),T&&(A=Wu(T.get("smooth"))),p.setShape({smooth:I,stackedOnSmooth:A,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")})}this._data=a,this._coordSys=n,this._stackedOnPoints=x,this._points=u,this._step=S,this._valueOrigin=y},dispose:function(){},highlight:function(t,e,i,n){var o=t.getData(),a=zi(o,n);if(!(a instanceof Array)&&null!=a&&a>=0){var r=o.getItemGraphicEl(a);if(!r){var s=o.getItemLayout(a);if(!s)return;(r=new wu(o,a)).position=s,r.setZ(t.get("zlevel"),t.get("z")),r.ignore=isNaN(s[0])||isNaN(s[1]),r.__temp=!0,o.setItemGraphicEl(a,r),r.stopSymbolAnimation(!0),this.group.add(r)}r.highlight()}else Ar.prototype.highlight.call(this,t,e,i,n)},downplay:function(t,e,i,n){var o=t.getData(),a=zi(o,n);if(null!=a&&a>=0){var r=o.getItemGraphicEl(a);r&&(r.__temp?(o.setItemGraphicEl(a,null),this.group.remove(r)):r.downplay())}else Ar.prototype.downplay.call(this,t,e,i,n)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new MD({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e,e},_newPolygon:function(t,e){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new ID({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(i),this._polygon=i,i},_updateAnimation:function(t,e,i,n,o,a){var r=this._polyline,s=this._polygon,l=t.hostModel,u=mD(this._data,t,this._stackedOnPoints,e,this._coordSys,i,this._valueOrigin,a),h=u.current,c=u.stackedOnCurrent,d=u.next,f=u.stackedOnNext;o&&(h=Yu(u.current,i,o),c=Yu(u.stackedOnCurrent,i,o),d=Yu(u.next,i,o),f=Yu(u.stackedOnNext,i,o)),r.shape.__points=u.current,r.shape.points=h,Io(r,{shape:{points:d}},l),s&&(s.setShape({points:h,stackedOnPoints:c}),Io(s,{shape:{points:d,stackedOnPoints:f}},l));for(var p=[],g=u.status,m=0;m<g.length;m++)if("="===g[m].cmd){var v=t.getItemGraphicEl(g[m].idx1);v&&p.push({el:v,ptIdx:m})}r.animators&&r.animators.length&&r.animators[0].during(function(){for(var t=0;t<p.length;t++)p[t].el.attr("position",r.shape.__points[p[t].ptIdx])})},remove:function(t){var e=this.group,i=this._data;this._lineGroup.removeAll(),this._symbolDraw.remove(!0),i&&i.eachItemGraphicEl(function(t,n){t.__temp&&(e.remove(t),i.setItemGraphicEl(n,null))}),this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._data=null}});var TD=function(t,e,i){return{seriesType:t,performRawSeries:!0,reset:function(t,n,o){var a=t.getData(),r=t.get("symbol")||e,s=t.get("symbolSize"),l=t.get("symbolKeepAspect");if(a.setVisual({legendSymbol:i||r,symbol:r,symbolSize:s,symbolKeepAspect:l}),!n.isSeriesFiltered(t)){var u="function"==typeof s;return{dataEach:a.hasItemOption||u?function(e,i){if("function"==typeof s){var n=t.getRawValue(i),o=t.getDataParams(i);e.setItemVisual(i,"symbolSize",s(n,o))}if(e.hasItemOption){var a=e.getItemModel(i),r=a.getShallow("symbol",!0),l=a.getShallow("symbolSize",!0),u=a.getShallow("symbolKeepAspect",!0);null!=r&&e.setItemVisual(i,"symbol",r),null!=l&&e.setItemVisual(i,"symbolSize",l),null!=u&&e.setItemVisual(i,"symbolKeepAspect",u)}}:null}}}}},AD=function(t){return{seriesType:t,plan:$I(),reset:function(t){var e=t.getData(),i=t.coordinateSystem,n=t.pipelineContext.large;if(i){var o=f(i.dimensions,function(t){return e.mapDimension(t)}).slice(0,2),a=o.length,r=e.getCalculationInfo("stackResultDimension");return pl(e,o[0])&&(o[0]=r),pl(e,o[1])&&(o[1]=r),a&&{progress:function(t,e){for(var r=t.end-t.start,s=n&&new Float32Array(r*a),l=t.start,u=0,h=[],c=[];l<t.end;l++){var d;if(1===a)f=e.get(o[0],l),d=!isNaN(f)&&i.dataToPoint(f,null,c);else{var f=h[0]=e.get(o[0],l),p=h[1]=e.get(o[1],l);d=!isNaN(f)&&!isNaN(p)&&i.dataToPoint(h,null,c)}n?(s[u++]=d?d[0]:NaN,s[u++]=d?d[1]:NaN):e.setItemLayout(l,d&&d.slice()||[NaN,NaN])}n&&e.setLayout("symbolPoints",s)}}}}}},DD={average:function(t){for(var e=0,i=0,n=0;n<t.length;n++)isNaN(t[n])||(e+=t[n],i++);return 0===i?NaN:e/i},sum:function(t){for(var e=0,i=0;i<t.length;i++)e+=t[i]||0;return e},max:function(t){for(var e=-1/0,i=0;i<t.length;i++)t[i]>e&&(e=t[i]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,i=0;i<t.length;i++)t[i]<e&&(e=t[i]);return isFinite(e)?e:NaN},nearest:function(t){return t[0]}},CD=function(t,e){return Math.round(t.length/2)},LD=function(t){this._axes={},this._dimList=[],this.name=t||""};LD.prototype={constructor:LD,type:"cartesian",getAxis:function(t){return this._axes[t]},getAxes:function(){return f(this._dimList,Ju,this)},getAxesByScale:function(t){return t=t.toLowerCase(),g(this.getAxes(),function(e){return e.scale.type===t})},addAxis:function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},dataToCoord:function(t){return this._dataCoordConvert(t,"dataToCoord")},coordToData:function(t){return this._dataCoordConvert(t,"coordToData")},_dataCoordConvert:function(t,e){for(var i=this._dimList,n=t instanceof Array?[]:{},o=0;o<i.length;o++){var a=i[o],r=this._axes[a];n[a]=r[e](t[a])}return n}},Qu.prototype={constructor:Qu,type:"cartesian2d",dimensions:["x","y"],getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},containPoint:function(t){var e=this.getAxis("x"),i=this.getAxis("y");return e.contain(e.toLocalCoord(t[0]))&&i.contain(i.toLocalCoord(t[1]))},containData:function(t){return this.getAxis("x").containData(t[0])&&this.getAxis("y").containData(t[1])},dataToPoint:function(t,e,i){var n=this.getAxis("x"),o=this.getAxis("y");return i=i||[],i[0]=n.toGlobalCoord(n.dataToCoord(t[0])),i[1]=o.toGlobalCoord(o.dataToCoord(t[1])),i},clampData:function(t,e){var i=this.getAxis("x").scale,n=this.getAxis("y").scale,o=i.getExtent(),a=n.getExtent(),r=i.parse(t[0]),s=n.parse(t[1]);return e=e||[],e[0]=Math.min(Math.max(Math.min(o[0],o[1]),r),Math.max(o[0],o[1])),e[1]=Math.min(Math.max(Math.min(a[0],a[1]),s),Math.max(a[0],a[1])),e},pointToData:function(t,e){var i=this.getAxis("x"),n=this.getAxis("y");return e=e||[],e[0]=i.coordToData(i.toLocalCoord(t[0])),e[1]=n.coordToData(n.toLocalCoord(t[1])),e},getOtherAxis:function(t){return this.getAxis("x"===t.dim?"y":"x")}},u(Qu,LD);var kD=function(t,e,i,n,o){aD.call(this,t,e,i),this.type=n||"value",this.position=o||"bottom"};kD.prototype={constructor:kD,index:0,getAxesOnZeroOf:null,model:null,isHorizontal:function(){var t=this.position;return"top"===t||"bottom"===t},getGlobalExtent:function(t){var e=this.getExtent();return e[0]=this.toGlobalCoord(e[0]),e[1]=this.toGlobalCoord(e[1]),t&&e[0]>e[1]&&e.reverse(),e},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},toLocalCoord:null,toGlobalCoord:null},u(kD,aD);var PD={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},ND={};ND.categoryAxis=n({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},PD),ND.valueAxis=n({boundaryGap:[0,0],splitNumber:5},PD),ND.timeAxis=r({scale:!0,min:"dataMin",max:"dataMax"},ND.valueAxis),ND.logAxis=r({scale:!0,logBase:10},ND.valueAxis);var OD=["value","category","time","log"],ED=function(t,e,i,a){d(OD,function(r){e.extend({type:t+"Axis."+r,mergeDefaultAndTheme:function(e,o){var a=this.layoutMode,s=a?ga(e):{};n(e,o.getTheme().get(r+"Axis")),n(e,this.getDefaultOption()),e.type=i(t,e),a&&pa(e,s,a)},optionUpdated:function(){"category"===this.option.type&&(this.__ordinalMeta=_l.createByAxisModel(this))},getCategories:function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:o([{},ND[r+"Axis"],a],!0)})}),lI.registerSubTypeDefaulter(t+"Axis",v(i,t))},RD=lI.extend({type:"cartesian2dAxis",axis:null,init:function(){RD.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){RD.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){RD.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});n(RD.prototype,UA);var zD={offset:0};ED("x",RD,th,zD),ED("y",RD,th,zD),lI.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});var BD=ih.prototype;BD.type="grid",BD.axisPointerEnabled=!0,BD.getRect=function(){return this._rect},BD.update=function(t,e){var i=this._axesMap;this._updateScale(t,this.model),d(i.x,function(t){Wl(t.scale,t.model)}),d(i.y,function(t){Wl(t.scale,t.model)});var n={};d(i.x,function(t){nh(i,"y",t,n)}),d(i.y,function(t){nh(i,"x",t,n)}),this.resize(this.model,e)},BD.resize=function(t,e,i){function n(){d(a,function(t){var e=t.isHorizontal(),i=e?[0,o.width]:[0,o.height],n=t.inverse?1:0;t.setExtent(i[n],i[1-n]),ah(t,e?o.x:o.y)})}var o=ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()});this._rect=o;var a=this._axesList;n(),!i&&t.get("containLabel")&&(d(a,function(t){if(!t.model.get("axisLabel.inside")){var e=jl(t);if(e){var i=t.isHorizontal()?"height":"width",n=t.model.get("axisLabel.margin");o[i]-=e[i]+n,"top"===t.position?o.y+=e.height+n:"left"===t.position&&(o.x+=e.width+n)}}}),n())},BD.getAxis=function(t,e){var i=this._axesMap[t];if(null!=i){if(null==e)for(var n in i)if(i.hasOwnProperty(n))return i[n];return i[e]}},BD.getAxes=function(){return this._axesList.slice()},BD.getCartesian=function(t,e){if(null!=t&&null!=e){var i="x"+t+"y"+e;return this._coordsMap[i]}w(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var n=0,o=this._coordsList;n<o.length;n++)if(o[n].getAxis("x").index===t||o[n].getAxis("y").index===e)return o[n]},BD.getCartesians=function(){return this._coordsList.slice()},BD.convertToPixel=function(t,e,i){var n=this._findConvertTarget(t,e);return n.cartesian?n.cartesian.dataToPoint(i):n.axis?n.axis.toGlobalCoord(n.axis.dataToCoord(i)):null},BD.convertFromPixel=function(t,e,i){var n=this._findConvertTarget(t,e);return n.cartesian?n.cartesian.pointToData(i):n.axis?n.axis.coordToData(n.axis.toLocalCoord(i)):null},BD._findConvertTarget=function(t,e){var i,n,o=e.seriesModel,a=e.xAxisModel||o&&o.getReferringComponents("xAxis")[0],r=e.yAxisModel||o&&o.getReferringComponents("yAxis")[0],s=e.gridModel,u=this._coordsList;return o?l(u,i=o.coordinateSystem)<0&&(i=null):a&&r?i=this.getCartesian(a.componentIndex,r.componentIndex):a?n=this.getAxis("x",a.componentIndex):r?n=this.getAxis("y",r.componentIndex):s&&s.coordinateSystem===this&&(i=this._coordsList[0]),{cartesian:i,axis:n}},BD.containPoint=function(t){var e=this._coordsList[0];if(e)return e.containPoint(t)},BD._initCartesian=function(t,e,i){function n(i){return function(n,s){if(eh(n,t,e)){var l=n.get("position");"x"===i?"top"!==l&&"bottom"!==l&&o[l="bottom"]&&(l="top"===l?"bottom":"top"):"left"!==l&&"right"!==l&&o[l="left"]&&(l="left"===l?"right":"left"),o[l]=!0;var u=new kD(i,Hl(n),[0,0],n.get("type"),l),h="category"===u.type;u.onBand=h&&n.get("boundaryGap"),u.inverse=n.get("inverse"),n.axis=u,u.model=n,u.grid=this,u.index=s,this._axesList.push(u),a[i][s]=u,r[i]++}}}var o={left:!1,right:!1,top:!1,bottom:!1},a={x:{},y:{}},r={x:0,y:0};if(e.eachComponent("xAxis",n("x"),this),e.eachComponent("yAxis",n("y"),this),!r.x||!r.y)return this._axesMap={},void(this._axesList=[]);this._axesMap=a,d(a.x,function(e,i){d(a.y,function(n,o){var a="x"+i+"y"+o,r=new Qu(a);r.grid=this,r.model=t,this._coordsMap[a]=r,this._coordsList.push(r),r.addAxis(e),r.addAxis(n)},this)},this)},BD._updateScale=function(t,e){function i(t,e,i){d(t.mapDimension(e.dim,!0),function(i){e.scale.unionExtentFromData(t,gl(t,i))})}d(this._axesList,function(t){t.scale.setExtent(1/0,-1/0)}),t.eachSeries(function(n){if(sh(n)){var o=rh(n),a=o[0],r=o[1];if(!eh(a,e,t)||!eh(r,e,t))return;var s=this.getCartesian(a.componentIndex,r.componentIndex),l=n.getData(),u=s.getAxis("x"),h=s.getAxis("y");"list"===l.type&&(i(l,u),i(l,h))}},this)},BD.getTooltipAxes=function(t){var e=[],i=[];return d(this.getCartesians(),function(n){var o=null!=t&&"auto"!==t?n.getAxis(t):n.getBaseAxis(),a=n.getOtherAxis(o);l(e,o)<0&&e.push(o),l(i,a)<0&&i.push(a)}),{baseAxes:e,otherAxes:i}};var VD=["xAxis","yAxis"];ih.create=function(t,e){var i=[];return t.eachComponent("grid",function(n,o){var a=new ih(n,t,e);a.name="grid_"+o,a.resize(n,e,!0),n.coordinateSystem=a,i.push(a)}),t.eachSeries(function(t){if(sh(t)){var e=rh(t),i=e[0],n=e[1],o=i.getCoordSysModel().coordinateSystem;t.coordinateSystem=o.getCartesian(i.componentIndex,n.componentIndex)}}),i},ih.dimensions=ih.prototype.dimensions=Qu.prototype.dimensions,Fa.register("cartesian2d",ih);var GD=Math.PI,FD=function(t,e){this.opt=e,this.axisModel=t,r(e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0}),this.group=new tb;var i=new tb({position:e.position.slice(),rotation:e.rotation});i.updateTransform(),this._transform=i.transform,this._dumbGroup=i};FD.prototype={constructor:FD,hasBuilder:function(t){return!!WD[t]},add:function(t){WD[t].call(this)},getGroup:function(){return this.group}};var WD={axisLine:function(){var t=this.opt,e=this.axisModel;if(e.get("axisLine.show")){var i=this.axisModel.axis.getExtent(),n=this._transform,o=[i[0],0],r=[i[1],0];n&&(Q(o,o,n),Q(r,r,n));var s=a({lineCap:"round"},e.getModel("axisLine.lineStyle").getLineStyle());this.group.add(new _M(Kn({anid:"line",shape:{x1:o[0],y1:o[1],x2:r[0],y2:r[1]},style:s,strokeContainThreshold:t.strokeContainThreshold||5,silent:!0,z2:1})));var l=e.get("axisLine.symbol"),u=e.get("axisLine.symbolSize"),h=e.get("axisLine.symbolOffset")||0;if("number"==typeof h&&(h=[h,h]),null!=l){"string"==typeof l&&(l=[l,l]),"string"!=typeof u&&"number"!=typeof u||(u=[u,u]);var c=u[0],f=u[1];d([{rotate:t.rotation+Math.PI/2,offset:h[0],r:0},{rotate:t.rotation-Math.PI/2,offset:h[1],r:Math.sqrt((o[0]-r[0])*(o[0]-r[0])+(o[1]-r[1])*(o[1]-r[1]))}],function(e,i){if("none"!==l[i]&&null!=l[i]){var n=Jl(l[i],-c/2,-f/2,c,f,s.stroke,!0),a=e.r+e.offset,r=[o[0]+a*Math.cos(t.rotation),o[1]-a*Math.sin(t.rotation)];n.attr({rotation:e.rotate,position:r,silent:!0,z2:11}),this.group.add(n)}},this)}}},axisTickLabel:function(){var t=this.axisModel,e=this.opt,i=gh(this,t,e);ch(t,mh(this,t,e),i)},axisName:function(){var t=this.opt,e=this.axisModel,i=T(t.axisName,e.get("name"));if(i){var n,o=e.get("nameLocation"),r=t.nameDirection,s=e.getModel("nameTextStyle"),l=e.get("nameGap")||0,u=this.axisModel.axis.getExtent(),h=u[0]>u[1]?-1:1,c=["start"===o?u[0]-h*l:"end"===o?u[1]+h*l:(u[0]+u[1])/2,ph(o)?t.labelOffset+r*l:0],d=e.get("nameRotate");null!=d&&(d=d*GD/180);var f;ph(o)?n=HD(t.rotation,null!=d?d:t.rotation,r):(n=uh(t,o,d||0,u),null!=(f=t.axisNameAvailableWidth)&&(f=Math.abs(f/Math.sin(n.rotation)),!isFinite(f)&&(f=null)));var p=s.getFont(),g=e.get("nameTruncate",!0)||{},m=g.ellipsis,v=T(t.nameTruncateMaxWidth,g.maxWidth,f),y=null!=m&&null!=v?tI(i,v,p,m,{minChar:2,placeholder:g.placeholder}):i,x=e.get("tooltip",!0),_=e.mainType,w={componentType:_,name:i,$vars:["name"]};w[_+"Index"]=e.componentIndex;var b=new rM({anid:"name",__fullText:i,__truncatedText:y,position:c,rotation:n.rotation,silent:hh(e),z2:1,tooltip:x&&x.show?a({content:i,formatter:function(){return i},formatterParams:w},x):null});mo(b.style,s,{text:y,textFont:p,textFill:s.getTextColor()||e.get("axisLine.lineStyle.color"),textAlign:n.textAlign,textVerticalAlign:n.textVerticalAlign}),e.get("triggerEvent")&&(b.eventData=lh(e),b.eventData.targetType="axisName",b.eventData.name=i),this._dumbGroup.add(b),b.updateTransform(),this.group.add(b),b.decomposeTransform()}}},HD=FD.innerTextLayout=function(t,e,i){var n,o,a=Xo(e-t);return jo(a)?(o=i>0?"top":"bottom",n="center"):jo(a-GD)?(o=i>0?"bottom":"top",n="center"):(o="middle",n=a>0&&a<GD?i>0?"right":"left":i>0?"left":"right"),{rotation:a,textAlign:n,textVerticalAlign:o}},ZD=d,UD=v,XD=Ws({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(t,e,i,n){this.axisPointerClass&&Sh(t),XD.superApply(this,"render",arguments),Dh(this,t,0,i,0,!0)},updateAxisPointer:function(t,e,i,n,o){Dh(this,t,0,i,0,!1)},remove:function(t,e){var i=this._axisPointer;i&&i.remove(e),XD.superApply(this,"remove",arguments)},dispose:function(t,e){Ch(this,e),XD.superApply(this,"dispose",arguments)}}),jD=[];XD.registerAxisPointerClass=function(t,e){jD[t]=e},XD.getAxisPointerClass=function(t){return t&&jD[t]};var YD=["axisLine","axisTickLabel","axisName"],qD=["splitArea","splitLine"],KD=XD.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(t,e,i,n){this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new tb,this.group.add(this._axisGroup),t.get("show")){var a=t.getCoordSysModel(),r=Lh(a,t),s=new FD(t,r);d(YD,s.add,s),this._axisGroup.add(s.getGroup()),d(qD,function(e){t.get(e+".show")&&this["_"+e](t,a)},this),Lo(o,this._axisGroup,t),KD.superCall(this,"render",t,e,i,n)}},remove:function(){this._splitAreaColors=null},_splitLine:function(t,e){var i=t.axis;if(!i.scale.isBlank()){var n=t.getModel("splitLine"),o=n.getModel("lineStyle"),a=o.get("color");a=y(a)?a:[a];for(var s=e.coordinateSystem.getRect(),l=i.isHorizontal(),u=0,h=i.getTicksCoords({tickModel:n}),c=[],d=[],f=o.getLineStyle(),p=0;p<h.length;p++){var g=i.toGlobalCoord(h[p].coord);l?(c[0]=g,c[1]=s.y,d[0]=g,d[1]=s.y+s.height):(c[0]=s.x,c[1]=g,d[0]=s.x+s.width,d[1]=g);var m=u++%a.length,v=h[p].tickValue;this._axisGroup.add(new _M(Kn({anid:null!=v?"line_"+h[p].tickValue:null,shape:{x1:c[0],y1:c[1],x2:d[0],y2:d[1]},style:r({stroke:a[m]},f),silent:!0})))}}},_splitArea:function(t,e){var i=t.axis;if(!i.scale.isBlank()){var n=t.getModel("splitArea"),o=n.getModel("areaStyle"),a=o.get("color"),s=e.coordinateSystem.getRect(),l=i.getTicksCoords({tickModel:n,clamp:!0});if(l.length){var u=a.length,h=this._splitAreaColors,c=R(),d=0;if(h)for(m=0;m<l.length;m++){var f=h.get(l[m].tickValue);if(null!=f){d=(f+(u-1)*m)%u;break}}var p=i.toGlobalCoord(l[0].coord),g=o.getAreaStyle();a=y(a)?a:[a];for(var m=1;m<l.length;m++){var v,x,_,w,b=i.toGlobalCoord(l[m].coord);i.isHorizontal()?(v=p,x=s.y,_=b-v,w=s.height,p=v+_):(v=s.x,x=p,_=s.width,p=x+(w=b-x));var S=l[m-1].tickValue;null!=S&&c.set(S,d),this._axisGroup.add(new yM({anid:null!=S?"area_"+S:null,shape:{x:v,y:x,width:_,height:w},style:r({fill:a[d]},g),silent:!0})),d=(d+1)%u}this._splitAreaColors=c}}}});KD.extend({type:"xAxis"}),KD.extend({type:"yAxis"}),Ws({type:"grid",render:function(t,e){this.group.removeAll(),t.get("show")&&this.group.add(new yM({shape:t.coordinateSystem.getRect(),style:r({fill:t.get("backgroundColor")},t.getItemStyle()),silent:!0,z2:-1}))}}),Ns(function(t){t.xAxis&&t.yAxis&&!t.grid&&(t.grid={})}),Bs(TD("line","circle","line")),zs(AD("line")),Os(VT.PROCESSOR.STATISTIC,function(t){return{seriesType:t,modifyOutputEnd:!0,reset:function(t,e,i){var n=t.getData(),o=t.get("sampling"),a=t.coordinateSystem;if("cartesian2d"===a.type&&o){var r=a.getBaseAxis(),s=a.getOtherAxis(r),l=r.getExtent(),u=l[1]-l[0],h=Math.round(n.count()/u);if(h>1){var c;"string"==typeof o?c=DD[o]:"function"==typeof o&&(c=o),c&&t.setData(n.downSample(n.mapDimension(s.dim),1/h,c,CD))}}}}}("line"));var $D=YI.extend({type:"series.__base_bar__",getInitialData:function(t,e){return ml(this.getSource(),this)},getMarkerPosition:function(t){var e=this.coordinateSystem;if(e){var i=e.dataToPoint(e.clampData(t)),n=this.getData(),o=n.getLayout("offset"),a=n.getLayout("size");return i[e.getBaseAxis().isHorizontal()?0:1]+=o+a/2,i}return[NaN,NaN]},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod",itemStyle:{},emphasis:{}}});$D.extend({type:"series.bar",dependencies:["grid","polar"],brushSelector:"rect",getProgressive:function(){return!!this.get("large")&&this.get("progressive")},getProgressiveThreshold:function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return e>t&&(t=e),t}});var JD=Qb([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),QD={getBarItemStyle:function(t){var e=JD(this,t);if(this.getBorderLineDash){var i=this.getBorderLineDash();i&&(e.lineDash=i)}return e}},tC=["itemStyle","barBorderWidth"];a(No.prototype,QD),Zs({type:"bar",render:function(t,e,i){this._updateDrawMode(t);var n=t.get("coordinateSystem");return"cartesian2d"!==n&&"polar"!==n||(this._isLargeDraw?this._renderLarge(t,e,i):this._renderNormal(t,e,i)),this.group},incrementalPrepareRender:function(t,e,i){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,i,n){this._incrementalRenderLarge(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(t,e,i){var n,o=this.group,a=t.getData(),r=this._data,s=t.coordinateSystem,l=s.getBaseAxis();"cartesian2d"===s.type?n=l.isHorizontal():"polar"===s.type&&(n="angle"===l.dim);var u=t.isAnimationEnabled()?t:null;a.diff(r).add(function(e){if(a.hasValue(e)){var i=a.getItemModel(e),r=iC[s.type](a,e,i),l=eC[s.type](a,e,i,r,n,u);a.setItemGraphicEl(e,l),o.add(l),Eh(l,a,e,i,r,t,n,"polar"===s.type)}}).update(function(e,i){var l=r.getItemGraphicEl(i);if(a.hasValue(e)){var h=a.getItemModel(e),c=iC[s.type](a,e,h);l?Io(l,{shape:c},u,e):l=eC[s.type](a,e,h,c,n,u,!0),a.setItemGraphicEl(e,l),o.add(l),Eh(l,a,e,h,c,t,n,"polar"===s.type)}else o.remove(l)}).remove(function(t){var e=r.getItemGraphicEl(t);"cartesian2d"===s.type?e&&Nh(t,u,e):e&&Oh(t,u,e)}).execute(),this._data=a},_renderLarge:function(t,e,i){this._clear(),zh(t,this.group)},_incrementalRenderLarge:function(t,e){zh(e,this.group,!0)},dispose:B,remove:function(t){this._clear(t)},_clear:function(t){var e=this.group,i=this._data;t&&t.get("animation")&&i&&!this._isLargeDraw?i.eachItemGraphicEl(function(e){"sector"===e.type?Oh(e.dataIndex,t,e):Nh(e.dataIndex,t,e)}):e.removeAll(),this._data=null}});var eC={cartesian2d:function(t,e,i,n,o,r,s){var l=new yM({shape:a({},n)});if(r){var u=l.shape,h=o?"height":"width",c={};u[h]=0,c[h]=n[h],zM[s?"updateProps":"initProps"](l,{shape:c},r,e)}return l},polar:function(t,e,i,n,o,a,s){var l=n.startAngle<n.endAngle,u=new hM({shape:r({clockwise:l},n)});if(a){var h=u.shape,c=o?"r":"endAngle",d={};h[c]=o?0:n.startAngle,d[c]=n[c],zM[s?"updateProps":"initProps"](u,{shape:d},a,e)}return u}},iC={cartesian2d:function(t,e,i){var n=t.getItemLayout(e),o=Rh(i,n),a=n.width>0?1:-1,r=n.height>0?1:-1;return{x:n.x+a*o/2,y:n.y+r*o/2,width:n.width-a*o,height:n.height-r*o}},polar:function(t,e,i){var n=t.getItemLayout(e);return{cx:n.cx,cy:n.cy,r0:n.r0,r:n.r,startAngle:n.startAngle,endAngle:n.endAngle}}},nC=Pn.extend({type:"largeBar",shape:{points:[]},buildPath:function(t,e){for(var i=e.points,n=this.__startPoint,o=this.__valueIdx,a=0;a<i.length;a+=2)n[this.__valueIdx]=i[a+o],t.moveTo(n[0],n[1]),t.lineTo(i[a],i[a+1])}});zs(v(El,"bar")),zs(CA),Bs({seriesType:"bar",reset:function(t){t.getData().setVisual("legendSymbol","roundRect")}});var oC=function(t,e,i){e=y(e)&&{coordDimensions:e}||a({},e);var n=t.getSource(),o=_A(n,e),r=new vA(o,t);return r.initData(n,i),r},aC={updateSelectedMap:function(t){this._targetList=y(t)?t.slice():[],this._selectTargetMap=p(t||[],function(t,e){return t.set(e.name,e),t},R())},select:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);"single"===this.get("selectedMode")&&this._selectTargetMap.each(function(t){t.selected=!1}),i&&(i.selected=!0)},unSelect:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);i&&(i.selected=!1)},toggleSelected:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);if(null!=i)return this[i.selected?"unSelect":"select"](t,e),i.selected},isSelected:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);return i&&i.selected}},rC=Hs({type:"series.pie",init:function(t){rC.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()},this.updateSelectedMap(this._createSelectableList()),this._defaultLabelLine(t)},mergeOption:function(t){rC.superCall(this,"mergeOption",t),this.updateSelectedMap(this._createSelectableList())},getInitialData:function(t,e){return oC(this,["value"])},_createSelectableList:function(){for(var t=this.getRawData(),e=t.mapDimension("value"),i=[],n=0,o=t.count();n<o;n++)i.push({name:t.getName(n),value:t.get(e,n),selected:pr(t,n,"selected")});return i},getDataParams:function(t){var e=this.getData(),i=rC.superCall(this,"getDataParams",t),n=[];return e.each(e.mapDimension("value"),function(t){n.push(t)}),i.percent=Uo(n,t,e.hostModel.get("percentPrecision")),i.$vars.push("percent"),i},_defaultLabelLine:function(t){Ci(t,"labelLine",["show"]);var e=t.labelLine,i=t.emphasis.labelLine;e.show=e.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,selectedOffset:10,hoverOffset:10,avoidLabelOverlap:!0,percentPrecision:2,stillShowZeroSum:!0,label:{rotate:!1,show:!0,position:"outer"},labelLine:{show:!0,length:15,length2:15,smooth:!1,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1},animationType:"expansion",animationEasing:"cubicOut"}});h(rC,aC);var sC=Fh.prototype;sC.updateData=function(t,e,i){function n(){s.stopAnimation(!0),s.animateTo({shape:{r:h.r+l.get("hoverOffset")}},300,"elasticOut")}function o(){s.stopAnimation(!0),s.animateTo({shape:{r:h.r}},300,"elasticOut")}var s=this.childAt(0),l=t.hostModel,u=t.getItemModel(e),h=t.getItemLayout(e),c=a({},h);c.label=null,i?(s.setShape(c),"scale"===l.getShallow("animationType")?(s.shape.r=h.r0,To(s,{shape:{r:h.r}},l,e)):(s.shape.endAngle=h.startAngle,Io(s,{shape:{endAngle:h.endAngle}},l,e))):Io(s,{shape:c},l,e);var d=t.getItemVisual(e,"color");s.useStyle(r({lineJoin:"bevel",fill:d},u.getModel("itemStyle").getItemStyle())),s.hoverStyle=u.getModel("emphasis.itemStyle").getItemStyle();var f=u.getShallow("cursor");f&&s.attr("cursor",f),Gh(this,t.getItemLayout(e),l.isSelected(null,e),l.get("selectedOffset"),l.get("animation")),s.off("mouseover").off("mouseout").off("emphasis").off("normal"),u.get("hoverAnimation")&&l.isAnimationEnabled()&&s.on("mouseover",n).on("mouseout",o).on("emphasis",n).on("normal",o),this._updateLabel(t,e),fo(this)},sC._updateLabel=function(t,e){var i=this.childAt(1),n=this.childAt(2),o=t.hostModel,a=t.getItemModel(e),r=t.getItemLayout(e).label,s=t.getItemVisual(e,"color");Io(i,{shape:{points:r.linePoints||[[r.x,r.y],[r.x,r.y],[r.x,r.y]]}},o,e),Io(n,{style:{x:r.x,y:r.y}},o,e),n.attr({rotation:r.rotation,origin:[r.x,r.y],z2:10});var l=a.getModel("label"),u=a.getModel("emphasis.label"),h=a.getModel("labelLine"),c=a.getModel("emphasis.labelLine"),s=t.getItemVisual(e,"color");go(n.style,n.hoverStyle={},l,u,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:t.getName(e),autoColor:s,useInsideStyle:!!r.inside},{textAlign:r.textAlign,textVerticalAlign:r.verticalAlign,opacity:t.getItemVisual(e,"opacity")}),n.ignore=n.normalIgnore=!l.get("show"),n.hoverIgnore=!u.get("show"),i.ignore=i.normalIgnore=!h.get("show"),i.hoverIgnore=!c.get("show"),i.setStyle({stroke:s,opacity:t.getItemVisual(e,"opacity")}),i.setStyle(h.getModel("lineStyle").getLineStyle()),i.hoverStyle=c.getModel("lineStyle").getLineStyle();var d=h.get("smooth");d&&!0===d&&(d=.4),i.setShape({smooth:d})},u(Fh,tb);Ar.extend({type:"pie",init:function(){var t=new tb;this._sectorGroup=t},render:function(t,e,i,n){if(!n||n.from!==this.uid){var o=t.getData(),a=this._data,r=this.group,s=e.get("animation"),l=!a,u=t.get("animationType"),h=v(Vh,this.uid,t,s,i),c=t.get("selectedMode");if(o.diff(a).add(function(t){var e=new Fh(o,t);l&&"scale"!==u&&e.eachChild(function(t){t.stopAnimation(!0)}),c&&e.on("click",h),o.setItemGraphicEl(t,e),r.add(e)}).update(function(t,e){var i=a.getItemGraphicEl(e);i.updateData(o,t),i.off("click"),c&&i.on("click",h),r.add(i),o.setItemGraphicEl(t,i)}).remove(function(t){var e=a.getItemGraphicEl(t);r.remove(e)}).execute(),s&&l&&o.count()>0&&"scale"!==u){var d=o.getItemLayout(0),f=Math.max(i.getWidth(),i.getHeight())/2,p=m(r.removeClipPath,r);r.setClipPath(this._createClipPath(d.cx,d.cy,f,d.startAngle,d.clockwise,p,t))}else r.removeClipPath();this._data=o}},dispose:function(){},_createClipPath:function(t,e,i,n,o,a,r){var s=new hM({shape:{cx:t,cy:e,r0:0,r:i,startAngle:n,endAngle:n,clockwise:o}});return To(s,{shape:{endAngle:n+(o?1:-1)*Math.PI*2}},r,a),s},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var lC=function(t,e){d(e,function(e){e.update="updateView",Es(e,function(i,n){var o={};return n.eachComponent({mainType:"series",subType:t,query:i},function(t){t[e.method]&&t[e.method](i.name,i.dataIndex);var n=t.getData();n.each(function(e){var i=n.getName(e);o[i]=t.isSelected(i)||!1})}),{name:i.name,selected:o}})})},uC=function(t){return{getTargetSeries:function(e){var i={},n=R();return e.eachSeriesByType(t,function(t){t.__paletteScope=i,n.set(t.uid,t)}),n},reset:function(t,e){var i=t.getRawData(),n={},o=t.getData();o.each(function(t){var e=o.getRawIndex(t);n[e]=t}),i.each(function(e){var a=n[e],r=null!=a&&o.getItemVisual(a,"color",!0);if(r)i.setItemVisual(e,"color",r);else{var s=i.getItemModel(e).get("itemStyle.color")||t.getColorFromPalette(i.getName(e)||e+"",t.__paletteScope,i.count());i.setItemVisual(e,"color",s),null!=a&&o.setItemVisual(a,"color",s)}})}}},hC=function(t,e,i,n){var o,a,r=t.getData(),s=[],l=!1;r.each(function(i){var n,u,h,c,d=r.getItemLayout(i),f=r.getItemModel(i),p=f.getModel("label"),g=p.get("position")||f.get("emphasis.label.position"),m=f.getModel("labelLine"),v=m.get("length"),y=m.get("length2"),x=(d.startAngle+d.endAngle)/2,_=Math.cos(x),w=Math.sin(x);o=d.cx,a=d.cy;var b="inside"===g||"inner"===g;if("center"===g)n=d.cx,u=d.cy,c="center";else{var S=(b?(d.r+d.r0)/2*_:d.r*_)+o,M=(b?(d.r+d.r0)/2*w:d.r*w)+a;if(n=S+3*_,u=M+3*w,!b){var I=S+_*(v+e-d.r),T=M+w*(v+e-d.r),A=I+(_<0?-1:1)*y,D=T;n=A+(_<0?-5:5),u=D,h=[[S,M],[I,T],[A,D]]}c=b?"center":_>0?"left":"right"}var C=p.getFont(),L=p.get("rotate")?_<0?-x+Math.PI:-x:0,k=ke(t.getFormattedLabel(i,"normal")||r.getName(i),C,c,"top");l=!!L,d.label={x:n,y:u,position:g,height:k.height,len:v,len2:y,linePoints:h,textAlign:c,verticalAlign:"middle",rotation:L,inside:b},b||s.push(d.label)}),!l&&t.get("avoidLabelOverlap")&&Hh(s,o,a,e,i,n)},cC=2*Math.PI,dC=Math.PI/180,fC=function(t){return{seriesType:t,reset:function(t,e){var i=e.findComponents({mainType:"legend"});if(i&&i.length){var n=t.getData();n.filterSelf(function(t){for(var e=n.getName(t),o=0;o<i.length;o++)if(!i[o].isSelected(e))return!1;return!0})}}}};lC("pie",[{type:"pieToggleSelect",event:"pieselectchanged",method:"toggleSelected"},{type:"pieSelect",event:"pieselected",method:"select"},{type:"pieUnSelect",event:"pieunselected",method:"unSelect"}]),Bs(uC("pie")),zs(v(function(t,e,i,n){e.eachSeriesByType(t,function(t){var e=t.getData(),n=e.mapDimension("value"),o=t.get("center"),a=t.get("radius");y(a)||(a=[0,a]),y(o)||(o=[o,o]);var r=i.getWidth(),s=i.getHeight(),l=Math.min(r,s),u=Vo(o[0],r),h=Vo(o[1],s),c=Vo(a[0],l/2),d=Vo(a[1],l/2),f=-t.get("startAngle")*dC,p=t.get("minAngle")*dC,g=0;e.each(n,function(t){!isNaN(t)&&g++});var m=e.getSum(n),v=Math.PI/(m||g)*2,x=t.get("clockwise"),_=t.get("roseType"),w=t.get("stillShowZeroSum"),b=e.getDataExtent(n);b[0]=0;var S=cC,M=0,I=f,T=x?1:-1;if(e.each(n,function(t,i){var n;if(isNaN(t))e.setItemLayout(i,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:x,cx:u,cy:h,r0:c,r:_?NaN:d});else{(n="area"!==_?0===m&&w?v:t*v:cC/g)<p?(n=p,S-=p):M+=t;var o=I+T*n;e.setItemLayout(i,{angle:n,startAngle:I,endAngle:o,clockwise:x,cx:u,cy:h,r0:c,r:_?Bo(t,b,[c,d]):d}),I=o}}),S<cC&&g)if(S<=.001){var A=cC/g;e.each(n,function(t,i){if(!isNaN(t)){var n=e.getItemLayout(i);n.angle=A,n.startAngle=f+T*i*A,n.endAngle=f+T*(i+1)*A}})}else v=S/M,I=f,e.each(n,function(t,i){if(!isNaN(t)){var n=e.getItemLayout(i),o=n.angle===p?p:t*v;n.startAngle=I,n.endAngle=I+T*o,I+=T*o}});hC(t,d,r,s)})},"pie")),Os(fC("pie")),YI.extend({type:"series.scatter",dependencies:["grid","polar","geo","singleAxis","calendar"],getInitialData:function(t,e){return ml(this.getSource(),this)},brushSelector:"point",getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?5e3:this.get("progressive"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?1e4:this.get("progressiveThreshold"):t},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8}}});var pC=Un({shape:{points:null},symbolProxy:null,buildPath:function(t,e){var i=e.points,n=e.size,o=this.symbolProxy,a=o.shape;if(!((t.getContext?t.getContext():t)&&n[0]<4))for(var r=0;r<i.length;){var s=i[r++],l=i[r++];isNaN(s)||isNaN(l)||(a.x=s-n[0]/2,a.y=l-n[1]/2,a.width=n[0],a.height=n[1],o.buildPath(t,a,!0))}},afterBrush:function(t){var e=this.shape,i=e.points,n=e.size;if(n[0]<4){this.setTransform(t);for(var o=0;o<i.length;){var a=i[o++],r=i[o++];isNaN(a)||isNaN(r)||t.fillRect(a-n[0]/2,r-n[1]/2,n[0],n[1])}this.restoreTransform(t)}},findDataIndex:function(t,e){for(var i=this.shape,n=i.points,o=i.size,a=Math.max(o[0],4),r=Math.max(o[1],4),s=n.length/2-1;s>=0;s--){var l=2*s,u=n[l]-a/2,h=n[l+1]-r/2;if(t>=u&&e>=h&&t<=u+a&&e<=h+r)return s}return-1}}),gC=Uh.prototype;gC.isPersistent=function(){return!this._incremental},gC.updateData=function(t){this.group.removeAll();var e=new pC({rectHover:!0,cursor:"default"});e.setShape({points:t.getLayout("symbolPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},gC.updateLayout=function(t){if(!this._incremental){var e=t.getLayout("symbolPoints");this.group.eachChild(function(t){if(null!=t.startIndex){var i=2*(t.endIndex-t.startIndex),n=4*t.startIndex*2;e=new Float32Array(e.buffer,n,i)}t.setShape("points",e)})}},gC.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>2e6?(this._incremental||(this._incremental=new Zn({silent:!0})),this.group.add(this._incremental)):this._incremental=null},gC.incrementalUpdate=function(t,e){var i;this._incremental?(i=new pC,this._incremental.addDisplayable(i,!0)):((i=new pC({rectHover:!0,cursor:"default",startIndex:t.start,endIndex:t.end})).incremental=!0,this.group.add(i)),i.setShape({points:e.getLayout("symbolPoints")}),this._setCommon(i,e,!!this._incremental)},gC._setCommon=function(t,e,i){var n=e.hostModel,o=e.getVisual("symbolSize");t.setShape("size",o instanceof Array?o:[o,o]),t.symbolProxy=Jl(e.getVisual("symbol"),0,0,0,0),t.setColor=t.symbolProxy.setColor;var a=t.shape.size[0]<4;t.useStyle(n.getModel("itemStyle").getItemStyle(a?["color","shadowBlur","shadowColor"]:["color"]));var r=e.getVisual("color");r&&t.setColor(r),i||(t.seriesIndex=n.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var i=t.findDataIndex(e.offsetX,e.offsetY);i>=0&&(t.dataIndex=i+(t.startIndex||0))}))},gC.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},gC._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()},Zs({type:"scatter",render:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).updateData(n),this._finished=!0},incrementalPrepareRender:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).incrementalPrepareUpdate(n),this._finished=!1},incrementalRender:function(t,e,i){this._symbolDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,i){var n=t.getData();if(this.group.dirty(),!this._finished||n.count()>1e4||!this._symbolDraw.isPersistent())return{update:!0};var o=AD().reset(t);o.progress&&o.progress({start:0,end:n.count()},n),this._symbolDraw.updateLayout(n)},_updateSymbolDraw:function(t,e){var i=this._symbolDraw,n=e.pipelineContext.large;return i&&n===this._isLargeDraw||(i&&i.remove(),i=this._symbolDraw=n?new Uh:new Du,this._isLargeDraw=n,this.group.removeAll()),this.group.add(i.group),i},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}}),Bs(TD("scatter","circle")),zs(AD("scatter")),u(Xh,aD),jh.prototype.getIndicatorAxes=function(){return this._indicatorAxes},jh.prototype.dataToPoint=function(t,e){var i=this._indicatorAxes[e];return this.coordToPoint(i.dataToCoord(t),e)},jh.prototype.coordToPoint=function(t,e){var i=this._indicatorAxes[e].angle;return[this.cx+t*Math.cos(i),this.cy-t*Math.sin(i)]},jh.prototype.pointToData=function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=Math.sqrt(e*e+i*i);e/=n,i/=n;for(var o,a=Math.atan2(-i,e),r=1/0,s=-1,l=0;l<this._indicatorAxes.length;l++){var u=this._indicatorAxes[l],h=Math.abs(a-u.angle);h<r&&(o=u,s=l,r=h)}return[s,+(o&&o.coodToData(n))]},jh.prototype.resize=function(t,e){var i=t.get("center"),n=e.getWidth(),o=e.getHeight(),a=Math.min(n,o)/2;this.cx=Vo(i[0],n),this.cy=Vo(i[1],o),this.startAngle=t.get("startAngle")*Math.PI/180;var r=t.get("radius");"string"!=typeof r&&"number"!=typeof r||(r=[0,r]),this.r0=Vo(r[0],a),this.r=Vo(r[1],a),d(this._indicatorAxes,function(t,e){t.setExtent(this.r0,this.r);var i=this.startAngle+e*Math.PI*2/this._indicatorAxes.length;i=Math.atan2(Math.sin(i),Math.cos(i)),t.angle=i},this)},jh.prototype.update=function(t,e){function i(t){var e=Math.pow(10,Math.floor(Math.log(t)/Math.LN10)),i=t/e;return 2===i?i=5:i*=2,i*e}var n=this._indicatorAxes,o=this._model;d(n,function(t){t.scale.setExtent(1/0,-1/0)}),t.eachSeriesByType("radar",function(e,i){if("radar"===e.get("coordinateSystem")&&t.getComponent("radar",e.get("radarIndex"))===o){var a=e.getData();d(n,function(t){t.scale.unionExtentFromData(a,a.mapDimension(t.dim))})}},this);var a=o.get("splitNumber");d(n,function(t,e){var n=Gl(t.scale,t.model);Wl(t.scale,t.model);var o=t.model,r=t.scale,s=o.getMin(),l=o.getMax(),u=r.getInterval();if(null!=s&&null!=l)r.setExtent(+s,+l),r.setInterval((l-s)/a);else if(null!=s){var h;do{h=s+u*a,r.setExtent(+s,h),r.setInterval(u),u=i(u)}while(h<n[1]&&isFinite(h)&&isFinite(n[1]))}else if(null!=l){var c;do{c=l-u*a,r.setExtent(c,+l),r.setInterval(u),u=i(u)}while(c>n[0]&&isFinite(c)&&isFinite(n[0]))}else{r.getTicks().length-1>a&&(u=i(u));var d=Math.round((n[0]+n[1])/2/u)*u,f=Math.round(a/2);r.setExtent(Go(d-f*u),Go(d+(a-f)*u)),r.setInterval(u)}})},jh.dimensions=[],jh.create=function(t,e){var i=[];return t.eachComponent("radar",function(n){var o=new jh(n,t,e);i.push(o),n.coordinateSystem=o}),t.eachSeriesByType("radar",function(t){"radar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("radarIndex")||0])}),i},Fa.register("radar",jh);var mC=ND.valueAxis,vC=(Fs({type:"radar",optionUpdated:function(){var t=this.get("boundaryGap"),e=this.get("splitNumber"),o=this.get("scale"),s=this.get("axisLine"),l=this.get("axisTick"),u=this.get("axisLabel"),h=this.get("name"),c=this.get("name.show"),d=this.get("name.formatter"),p=this.get("nameGap"),g=this.get("triggerEvent"),m=f(this.get("indicator")||[],function(f){null!=f.max&&f.max>0&&!f.min?f.min=0:null!=f.min&&f.min<0&&!f.max&&(f.max=0);var m=h;if(null!=f.color&&(m=r({color:f.color},h)),f=n(i(f),{boundaryGap:t,splitNumber:e,scale:o,axisLine:s,axisTick:l,axisLabel:u,name:f.text,nameLocation:"end",nameGap:p,nameTextStyle:m,triggerEvent:g},!1),c||(f.name=""),"string"==typeof d){var v=f.name;f.name=d.replace("{value}",null!=v?v:"")}else"function"==typeof d&&(f.name=d(f.name,f));var y=a(new No(f,null,this.ecModel),UA);return y.mainType="radar",y.componentIndex=this.componentIndex,y},this);this.getIndicatorModels=function(){return m}},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"75%",startAngle:90,name:{show:!0},boundaryGap:[0,0],splitNumber:5,nameGap:15,scale:!1,shape:"polygon",axisLine:n({lineStyle:{color:"#bbb"}},mC.axisLine),axisLabel:Yh(mC.axisLabel,!1),axisTick:Yh(mC.axisTick,!1),splitLine:Yh(mC.splitLine,!0),splitArea:Yh(mC.splitArea,!0),indicator:[]}}),["axisLine","axisTickLabel","axisName"]);Ws({type:"radar",render:function(t,e,i){this.group.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},_buildAxes:function(t){var e=t.coordinateSystem;d(f(e.getIndicatorAxes(),function(t){return new FD(t.model,{position:[e.cx,e.cy],rotation:t.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})}),function(t){d(vC,t.add,t),this.group.add(t.getGroup())},this)},_buildSplitLineAndArea:function(t){function e(t,e,i){var n=i%e.length;return t[n]=t[n]||[],n}var i=t.coordinateSystem,n=i.getIndicatorAxes();if(n.length){var o=t.get("shape"),a=t.getModel("splitLine"),s=t.getModel("splitArea"),l=a.getModel("lineStyle"),u=s.getModel("areaStyle"),h=a.get("show"),c=s.get("show"),p=l.get("color"),g=u.get("color");p=y(p)?p:[p],g=y(g)?g:[g];var m=[],v=[];if("circle"===o)for(var x=n[0].getTicksCoords(),_=i.cx,w=i.cy,b=0;b<x.length;b++)h&&m[D=e(m,p,b)].push(new sM({shape:{cx:_,cy:w,r:x[b].coord}})),c&&b<x.length-1&&v[D=e(v,g,b)].push(new cM({shape:{cx:_,cy:w,r0:x[b].coord,r:x[b+1].coord}}));else for(var S,M=f(n,function(t,e){var n=t.getTicksCoords();return S=null==S?n.length-1:Math.min(n.length-1,S),f(n,function(t){return i.coordToPoint(t.coord,e)})}),I=[],b=0;b<=S;b++){for(var T=[],A=0;A<n.length;A++)T.push(M[A][b]);if(T[0]&&T.push(T[0].slice()),h&&m[D=e(m,p,b)].push(new gM({shape:{points:T}})),c&&I){var D=e(v,g,b-1);v[D].push(new pM({shape:{points:T.concat(I)}}))}I=T.slice().reverse()}var C=l.getLineStyle(),L=u.getAreaStyle();d(v,function(t,e){this.group.add(OM(t,{style:r({stroke:"none",fill:g[e%g.length]},L),silent:!0}))},this),d(m,function(t,e){this.group.add(OM(t,{style:r({fill:"none",stroke:p[e%p.length]},C),silent:!0}))},this)}}});var yC=YI.extend({type:"series.radar",dependencies:["radar"],init:function(t){yC.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()}},getInitialData:function(t,e){return oC(this,{generateCoord:"indicator_",generateCoordCount:1/0})},formatTooltip:function(t){var e=this.getData(),i=this.coordinateSystem.getIndicatorAxes(),n=this.getData().getName(t);return ia(""===n?this.name:n)+"<br/>"+f(i,function(i,n){var o=e.get(e.mapDimension(i.dim),t);return ia(i.name+" : "+o)}).join("<br />")},defaultOption:{zlevel:0,z:2,coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid"},label:{position:"top"},symbol:"emptyCircle",symbolSize:4}});Zs({type:"radar",render:function(t,e,n){function o(t,e){var i=t.getItemVisual(e,"symbol")||"circle",n=t.getItemVisual(e,"color");if("none"!==i){var o=qh(t.getItemVisual(e,"symbolSize")),a=Jl(i,-1,-1,2,2,n);return a.attr({style:{strokeNoScale:!0},z2:100,scale:[o[0]/2,o[1]/2]}),a}}function a(e,i,n,a,r,s){n.removeAll();for(var l=0;l<i.length-1;l++){var u=o(a,r);u&&(u.__dimIdx=l,e[l]?(u.attr("position",e[l]),zM[s?"initProps":"updateProps"](u,{position:i[l]},t,r)):u.attr("position",i[l]),n.add(u))}}function s(t){return f(t,function(t){return[l.cx,l.cy]})}var l=t.coordinateSystem,u=this.group,h=t.getData(),c=this._data;h.diff(c).add(function(e){var i=h.getItemLayout(e);if(i){var n=new pM,o=new gM,r={shape:{points:i}};n.shape.points=s(i),o.shape.points=s(i),To(n,r,t,e),To(o,r,t,e);var l=new tb,u=new tb;l.add(o),l.add(n),l.add(u),a(o.shape.points,i,u,h,e,!0),h.setItemGraphicEl(e,l)}}).update(function(e,i){var n=c.getItemGraphicEl(i),o=n.childAt(0),r=n.childAt(1),s=n.childAt(2),l={shape:{points:h.getItemLayout(e)}};l.shape.points&&(a(o.shape.points,l.shape.points,s,h,e,!1),Io(o,l,t),Io(r,l,t),h.setItemGraphicEl(e,n))}).remove(function(t){u.remove(c.getItemGraphicEl(t))}).execute(),h.eachItemGraphicEl(function(t,e){function n(){l.attr("ignore",m)}function o(){l.attr("ignore",g)}var a=h.getItemModel(e),s=t.childAt(0),l=t.childAt(1),c=t.childAt(2),d=h.getItemVisual(e,"color");u.add(t),s.useStyle(r(a.getModel("lineStyle").getLineStyle(),{fill:"none",stroke:d})),s.hoverStyle=a.getModel("emphasis.lineStyle").getLineStyle();var f=a.getModel("areaStyle"),p=a.getModel("emphasis.areaStyle"),g=f.isEmpty()&&f.parentModel.isEmpty(),m=p.isEmpty()&&p.parentModel.isEmpty();m=m&&g,l.ignore=g,l.useStyle(r(f.getAreaStyle(),{fill:d,opacity:.7})),l.hoverStyle=p.getAreaStyle();var v=a.getModel("itemStyle").getItemStyle(["color"]),y=a.getModel("emphasis.itemStyle").getItemStyle(),x=a.getModel("label"),_=a.getModel("emphasis.label");c.eachChild(function(t){t.setStyle(v),t.hoverStyle=i(y),go(t.style,t.hoverStyle,x,_,{labelFetcher:h.hostModel,labelDataIndex:e,labelDimIndex:t.__dimIdx,defaultText:h.get(h.dimensions[t.__dimIdx],e),autoColor:d,isRectText:!0})}),t.off("mouseover").off("mouseout").off("normal").off("emphasis"),t.on("emphasis",n).on("mouseover",n).on("normal",o).on("mouseout",o),fo(t)}),this._data=h},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});Bs(uC("radar")),Bs(TD("radar","circle")),zs(function(t){t.eachSeriesByType("radar",function(t){var e=t.getData(),i=[],n=t.coordinateSystem;if(n){for(var o=n.getIndicatorAxes(),a=0;a<o.length;a++)e.each(e.mapDimension(o[a].dim),function(t,e){i[e]=i[e]||[],i[e][a]=n.dataToPoint(t,a)});e.each(function(t){i[t][0]&&i[t].push(i[t][0].slice()),e.setItemLayout(t,i[t])})}})}),Os(fC("radar")),Ns(function(t){var e=t.polar;if(e){y(e)||(e=[e]);var i=[];d(e,function(e,n){e.indicator?(e.type&&!e.shape&&(e.shape=e.type),t.radar=t.radar||[],y(t.radar)||(t.radar=[t.radar]),t.radar.push(e)):i.push(e)}),t.polar=i}d(t.series,function(t){t&&"radar"===t.type&&t.polarIndex&&(t.radarIndex=t.polarIndex)})});for(var xC=[126,25],_C=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]],wC=0;wC<_C.length;wC++)for(var bC=0;bC<_C[wC].length;bC++)_C[wC][bC][0]/=10.5,_C[wC][bC][1]/=-14,_C[wC][bC][0]+=xC[0],_C[wC][bC][1]+=xC[1];var SC=function(t,e){"china"===t&&e.push(new eu("鍗楁捣璇稿矝",f(_C,function(t){return{type:"polygon",exterior:t}}),xC))},MC={"鍗楁捣璇稿矝":[32,80],"骞夸笢":[0,-10],"棣欐腐":[10,5],"婢抽棬":[-10,10],"澶╂触":[5,5]},IC=function(t,e){if("china"===t){var i=MC[e.name];if(i){var n=e.center;n[0]+=i[0]/10.5,n[1]+=-i[1]/14}}},TC={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]},AC=function(t,e){if("world"===t){var i=TC[e.name];if(i){var n=e.center;n[0]=i[0],n[1]=i[1]}}},DC=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]],CC=function(t,e){"china"===t&&"鍙版咕"===e.name&&e.geometries.push({type:"polygon",exterior:DC[0]})},LC=Bi(),kC={load:function(t,e){var i=LC(e).parsed;if(i)return i;var n,o=e.specialAreas||{},a=e.geoJSON;try{n=a?iD(a):[]}catch(t){throw new Error("Invalid geoJson format\n"+t.message)}return d(n,function(e){var i=e.name;IC(t,e),AC(t,e),CC(t,e);var n=o[i];n&&e.transformTo(n.left,n.top,n.width,n.height)}),SC(t,n),LC(e).parsed={regions:n,boundingRect:Kh(n)}}},PC=Bi(),NC={geoJSON:kC,svg:{load:function(t,e){var i=PC(e).originRoot;if(i)return{root:i,boundingRect:PC(e).boundingRect};var n=$h(e);return PC(e).originRoot=n.root,PC(e).boundingRect=n.boundingRect,n},makeGraphic:function(t,e,i){var n=PC(e),o=n.rootMap||(n.rootMap=R()),a=o.get(i);if(a)return a;var r=n.originRoot,s=n.boundingRect;return n.originRootHostKey?a=$h(e,s).root:(n.originRootHostKey=i,a=r),o.set(i,a)},removeGraphic:function(t,e,i){var n=PC(e),o=n.rootMap;o&&o.removeKey(i),i===n.originRootHostKey&&(n.originRootHostKey=null)}}},OC={load:function(t,e){var i,n=[],o=R(),a=R();return d(Qh(t),function(r){var s=NC[r.type].load(t,r);d(s.regions,function(t){var i=t.name;e&&e.hasOwnProperty(i)&&(t=t.cloneShallow(i=e[i])),n.push(t),o.set(i,t),a.set(i,t.center)});var l=s.boundingRect;l&&(i?i.union(l):i=l.clone())}),{regions:n,regionsMap:o,nameCoordMap:a,boundingRect:i||new de(0,0,0,0)}},makeGraphic:Jh("makeGraphic"),removeGraphic:Jh("removeGraphic")};h(YI.extend({type:"series.map",dependencies:["geo"],layoutMode:"box",needsDrawMap:!1,seriesGroup:[],getInitialData:function(t){for(var e=oC(this,["value"]),i=e.mapDimension("value"),n=R(),o=[],a=[],r=0,s=e.count();r<s;r++){var l=e.getName(r);n.set(l,!0),o.push({name:l,value:e.get(i,r),selected:pr(e,r,"selected")})}return d(OC.load(this.getMapType(),this.option.nameMap).regions,function(t){var e=t.name;n.get(e)||(o.push({name:e}),a.push(e))}),this.updateSelectedMap(o),e.appendValues([],a),e},getHostGeoModel:function(){var t=this.option.geoIndex;return null!=t?this.dependentModels.geo[t]:null},getMapType:function(){return(this.getHostGeoModel()||this).option.map},getRawValue:function(t){var e=this.getData();return e.get(e.mapDimension("value"),t)},getRegionModel:function(t){var e=this.getData();return e.getItemModel(e.indexOfName(t))},formatTooltip:function(t){for(var e=this.getData(),i=ta(this.getRawValue(t)),n=e.getName(t),o=this.seriesGroup,a=[],r=0;r<o.length;r++){var s=o[r].originalData.indexOfName(n),l=e.mapDimension("value");isNaN(o[r].originalData.get(l,s))||a.push(ia(o[r].name))}return a.join(", ")+"<br />"+ia(n+" : "+i)},getTooltipPosition:function(t){if(null!=t){var e=this.getData().getName(t),i=this.coordinateSystem,n=i.getRegion(e);return n&&i.dataToPoint(n.center)}},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},defaultOption:{zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}}}}),aC);var EC="\0_ec_interaction_mutex";Es({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),h(oc,fw);var RC={axisPointer:1,tooltip:1,brush:1};xc.prototype={constructor:xc,draw:function(t,e,i,n,o){var a="geo"===t.mainType,r=t.getData&&t.getData();a&&e.eachComponent({mainType:"series",subType:"map"},function(e){r||e.getHostGeoModel()!==t||(r=e.getData())});var s=t.coordinateSystem;this._updateBackground(s);var l=this._regionsGroup,u=this.group,h=s.scale,c={position:s.position,scale:h};!l.childAt(0)||o?u.attr(c):Io(u,c,t),l.removeAll();var f=["itemStyle"],p=["emphasis","itemStyle"],g=["label"],m=["emphasis","label"],v=R();d(s.regions,function(e){var i=v.get(e.name)||v.set(e.name,new tb),n=new MM({shape:{paths:[]}});i.add(n);var o,s=(C=t.getRegionModel(e.name)||t).getModel(f),u=C.getModel(p),c=mc(s),y=mc(u),x=C.getModel(g),_=C.getModel(m);if(r){o=r.indexOfName(e.name);var w=r.getItemVisual(o,"color",!0);w&&(c.fill=w)}d(e.geometries,function(t){if("polygon"===t.type){n.shape.paths.push(new pM({shape:{points:t.exterior}}));for(var e=0;e<(t.interiors?t.interiors.length:0);e++)n.shape.paths.push(new pM({shape:{points:t.interiors[e]}}))}}),n.setStyle(c),n.style.strokeNoScale=!0,n.culling=!0;var b=x.get("show"),S=_.get("show"),M=r&&isNaN(r.get(r.mapDimension("value"),o)),I=r&&r.getItemLayout(o);if(a||M&&(b||S)||I&&I.showLabel){var T,A=a?e.name:o;(!r||o>=0)&&(T=t);var D=new rM({position:e.center.slice(),scale:[1/h[0],1/h[1]],z2:10,silent:!0});go(D.style,D.hoverStyle={},x,_,{labelFetcher:T,labelDataIndex:A,defaultText:e.name,useInsideStyle:!1},{textAlign:"center",textVerticalAlign:"middle"}),i.add(D)}if(r)r.setItemGraphicEl(o,i);else{var C=t.getRegionModel(e.name);n.eventData={componentType:"geo",componentIndex:t.componentIndex,geoIndex:t.componentIndex,name:e.name,region:C&&C.option||{}}}(i.__regions||(i.__regions=[])).push(e),fo(i,y,{hoverSilentOnTouch:!!t.get("selectedMode")}),l.add(i)}),this._updateController(t,e,i),vc(this,t,l,i,n),yc(t,l)},remove:function(){this._regionsGroup.removeAll(),this._backgroundGroup.removeAll(),this._controller.dispose(),this._mapName&&OC.removeGraphic(this._mapName,this.uid),this._mapName=null,this._controllerHost={}},_updateBackground:function(t){var e=t.map;this._mapName!==e&&d(OC.makeGraphic(e,this.uid),function(t){this._backgroundGroup.add(t)},this),this._mapName=e},_updateController:function(t,e,i){function n(){var e={type:"geoRoam",componentType:l};return e[l+"Id"]=t.id,e}var o=t.coordinateSystem,r=this._controller,s=this._controllerHost;s.zoomLimit=t.get("scaleLimit"),s.zoom=o.getZoom(),r.enable(t.get("roam")||!1);var l=t.mainType;r.off("pan").on("pan",function(t){this._mouseDownFlag=!1,fc(s,t.dx,t.dy),i.dispatchAction(a(n(),{dx:t.dx,dy:t.dy}))},this),r.off("zoom").on("zoom",function(t){if(this._mouseDownFlag=!1,pc(s,t.scale,t.originX,t.originY),i.dispatchAction(a(n(),{zoom:t.scale,originX:t.originX,originY:t.originY})),this._updateGroup){var e=this.group.scale;this._regionsGroup.traverse(function(t){"text"===t.type&&t.attr("scale",[1/e[0],1/e[1]])})}},this),r.setPointerChecker(function(e,n,a){return o.getViewRectAfterRoam().contain(n,a)&&!gc(e,i,t)})}};var zC="__seriesMapHighDown",BC="__seriesMapCallKey";Zs({type:"map",render:function(t,e,i,n){if(!n||"mapToggleSelect"!==n.type||n.from!==this.uid){var o=this.group;if(o.removeAll(),!t.getHostGeoModel()){if(n&&"geoRoam"===n.type&&"series"===n.componentType&&n.seriesId===t.id)(a=this._mapDraw)&&o.add(a.group);else if(t.needsDrawMap){var a=this._mapDraw||new xc(i,!0);o.add(a.group),a.draw(t,e,i,this,n),this._mapDraw=a}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;t.get("showLegendSymbol")&&e.getComponent("legend")&&this._renderSymbols(t,e,i)}}},remove:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},dispose:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},_renderSymbols:function(t,e,i){var n=t.originalData,o=this.group;n.each(n.mapDimension("value"),function(e,i){if(!isNaN(e)){var r=n.getItemLayout(i);if(r&&r.point){var s=r.point,l=r.offset,u=new sM({style:{fill:t.getData().getVisual("color")},shape:{cx:s[0]+9*l,cy:s[1],r:3},silent:!0,z2:8+(l?0:NM+1)});if(!l){var h=t.mainSeries.getData(),c=n.getName(i),d=h.indexOfName(c),f=n.getItemModel(i),p=f.getModel("label"),g=f.getModel("emphasis.label"),m=h.getItemGraphicEl(d),y=A(t.getFormattedLabel(d,"normal"),c),x=A(t.getFormattedLabel(d,"emphasis"),y),_=m[zC],w=Math.random();if(!_){_=m[zC]={};var b=v(_c,!0),S=v(_c,!1);m.on("mouseover",b).on("mouseout",S).on("emphasis",b).on("normal",S)}m[BC]=w,a(_,{recordVersion:w,circle:u,labelModel:p,hoverLabelModel:g,emphasisText:x,normalText:y}),wc(_,!1)}o.add(u)}}})}}),Es({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(t,e){var i=t.componentType||"series";e.eachComponent({mainType:i,query:t},function(e){var n=e.coordinateSystem;if("geo"===n.type){var o=bc(n,t,e.get("scaleLimit"));e.setCenter&&e.setCenter(o.center),e.setZoom&&e.setZoom(o.zoom),"series"===i&&d(e.seriesGroup,function(t){t.setCenter(o.center),t.setZoom(o.zoom)})}})});var VC=Q;h(Sc,Tw),Mc.prototype={constructor:Mc,type:"view",dimensions:["x","y"],setBoundingRect:function(t,e,i,n){return this._rect=new de(t,e,i,n),this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(t,e,i,n){this.transformTo(t,e,i,n),this._viewRect=new de(t,e,i,n)},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=this._rawTransformable;a.transform=o.calculateTransform(new de(t,e,i,n)),a.decomposeTransform(),this._updateTransform()},setCenter:function(t){t&&(this._center=t,this._updateCenterAndZoom())},setZoom:function(t){t=t||1;var e=this.zoomLimit;e&&(null!=e.max&&(t=Math.min(e.max,t)),null!=e.min&&(t=Math.max(e.min,t))),this._zoom=t,this._updateCenterAndZoom()},getDefaultCenter:function(){var t=this.getBoundingRect();return[t.x+t.width/2,t.y+t.height/2]},getCenter:function(){return this._center||this.getDefaultCenter()},getZoom:function(){return this._zoom||1},getRoamTransform:function(){return this._roamTransformable.getLocalTransform()},_updateCenterAndZoom:function(){var t=this._rawTransformable.getLocalTransform(),e=this._roamTransformable,i=this.getDefaultCenter(),n=this.getCenter(),o=this.getZoom();n=Q([],n,t),i=Q([],i,t),e.origin=n,e.position=[i[0]-n[0],i[1]-n[1]],e.scale=[o,o],this._updateTransform()},_updateTransform:function(){var t=this._roamTransformable,e=this._rawTransformable;e.parent=t,t.updateTransform(),e.updateTransform(),wt(this.transform||(this.transform=[]),e.transform||xt()),this._rawTransform=e.getLocalTransform(),this.invTransform=this.invTransform||[],Tt(this.invTransform,this.transform),this.decomposeTransform()},getViewRect:function(){return this._viewRect},getViewRectAfterRoam:function(){var t=this.getBoundingRect().clone();return t.applyTransform(this.transform),t},dataToPoint:function(t,e,i){var n=e?this._rawTransform:this.transform;return i=i||[],n?VC(i,t,n):G(i,t)},pointToData:function(t){var e=this.invTransform;return e?VC([],t,e):[t[0],t[1]]},convertToPixel:v(Ic,"dataToPoint"),convertFromPixel:v(Ic,"pointToData"),containPoint:function(t){return this.getViewRectAfterRoam().contain(t[0],t[1])}},h(Mc,Tw),Tc.prototype={constructor:Tc,type:"geo",dimensions:["lng","lat"],containCoord:function(t){for(var e=this.regions,i=0;i<e.length;i++)if(e[i].contain(t))return!0;return!1},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=this._invertLongitute;o=o.clone(),a&&(o.y=-o.y-o.height);var r=this._rawTransformable;if(r.transform=o.calculateTransform(new de(t,e,i,n)),r.decomposeTransform(),a){var s=r.scale;s[1]=-s[1]}r.updateTransform(),this._updateTransform()},getRegion:function(t){return this._regionsMap.get(t)},getRegionByCoord:function(t){for(var e=this.regions,i=0;i<e.length;i++)if(e[i].contain(t))return e[i]},addGeoCoord:function(t,e){this._nameCoordMap.set(t,e)},getGeoCoord:function(t){return this._nameCoordMap.get(t)},getBoundingRect:function(){return this._rect},dataToPoint:function(t,e,i){if("string"==typeof t&&(t=this.getGeoCoord(t)),t)return Mc.prototype.dataToPoint.call(this,t,e,i)},convertToPixel:v(Ac,"dataToPoint"),convertFromPixel:v(Ac,"pointToData")},h(Tc,Mc);var GC={dimensions:Tc.prototype.dimensions,create:function(t,e){var i=[];t.eachComponent("geo",function(t,n){var o=t.get("map"),a=t.get("aspectScale"),r=!0,s=DT.retrieveMap(o);s&&s[0]&&"svg"===s[0].type?(null==a&&(a=1),r=!1):null==a&&(a=.75);var l=new Tc(o+n,o,t.get("nameMap"),r);l.aspectScale=a,l.zoomLimit=t.get("scaleLimit"),i.push(l),Cc(l,t),t.coordinateSystem=l,l.model=t,l.resize=Dc,l.resize(t,e)}),t.eachSeries(function(t){if("geo"===t.get("coordinateSystem")){var e=t.get("geoIndex")||0;t.coordinateSystem=i[e]}});var n={};return t.eachSeriesByType("map",function(t){if(!t.getHostGeoModel()){var e=t.getMapType();n[e]=n[e]||[],n[e].push(t)}}),d(n,function(t,n){var a=new Tc(n,n,o(f(t,function(t){return t.get("nameMap")})));a.zoomLimit=T.apply(null,f(t,function(t){return t.get("scaleLimit")})),i.push(a),a.resize=Dc,a.aspectScale=t[0].get("aspectScale"),a.resize(t[0],e),d(t,function(t){t.coordinateSystem=a,Cc(a,t)})}),i},getFilledRegions:function(t,e,i){for(var n=(t||[]).slice(),o=R(),a=0;a<n.length;a++)o.set(n[a].name,n[a]);return d(OC.load(e,i).regions,function(t){var e=t.name;!o.get(e)&&n.push({name:e})}),n}};Rs("geo",GC);zs(function(t){var e={};t.eachSeriesByType("map",function(i){var n=i.getMapType();if(!i.getHostGeoModel()&&!e[n]){var o={};d(i.seriesGroup,function(e){var i=e.coordinateSystem,n=e.originalData;e.get("showLegendSymbol")&&t.getComponent("legend")&&n.each(n.mapDimension("value"),function(t,e){var a=n.getName(e),r=i.getRegion(a);if(r&&!isNaN(t)){var s=o[a]||0,l=i.dataToPoint(r.center);o[a]=s+1,n.setItemLayout(e,{point:l,offset:s})}})});var a=i.getData();a.each(function(t){var e=a.getName(t),i=a.getItemLayout(t)||{};i.showLabel=!o[e],a.setItemLayout(t,i)}),e[n]=!0}})}),Bs(function(t){t.eachSeriesByType("map",function(t){var e=t.get("color"),i=t.getModel("itemStyle"),n=i.get("areaColor"),o=i.get("color")||e[t.seriesIndex%e.length];t.getData().setVisual({areaColor:n,color:o})})}),Os(VT.PROCESSOR.STATISTIC,function(t){var e={};t.eachSeriesByType("map",function(t){var i=t.getHostGeoModel(),n=i?"o"+i.id:"i"+t.getMapType();(e[n]=e[n]||[]).push(t)}),d(e,function(t,e){for(var i=Lc(f(t,function(t){return t.getData()}),t[0].get("mapValueCalculation")),n=0;n<t.length;n++)t[n].originalData=t[n].getData();for(n=0;n<t.length;n++)t[n].seriesGroup=t,t[n].needsDrawMap=0===n&&!t[n].getHostGeoModel(),t[n].setData(i.cloneShallow()),t[n].mainSeries=t[0]})}),Ns(function(t){var e=[];d(t.series,function(t){t&&"map"===t.type&&(e.push(t),t.map=t.map||t.mapType,r(t,t.mapLocation))})}),lC("map",[{type:"mapToggleSelect",event:"mapselectchanged",method:"toggleSelected"},{type:"mapSelect",event:"mapselected",method:"select"},{type:"mapUnSelect",event:"mapunselected",method:"unSelect"}]);var FC=d,WC="\0__link_datas",HC="\0__link_mainData",ZC=function(t,e){this.name=t||"",this.depth=0,this.height=0,this.parentNode=null,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.hostTree=e};ZC.prototype={constructor:ZC,isRemoved:function(){return this.dataIndex<0},eachNode:function(t,e,i){"function"==typeof t&&(i=e,e=t,t=null),_(t=t||{})&&(t={order:t});var n,o=t.order||"preorder",a=this[t.attr||"children"];"preorder"===o&&(n=e.call(i,this));for(var r=0;!n&&r<a.length;r++)a[r].eachNode(t,e,i);"postorder"===o&&e.call(i,this)},updateDepthAndHeight:function(t){var e=0;this.depth=t;for(var i=0;i<this.children.length;i++){var n=this.children[i];n.updateDepthAndHeight(t+1),n.height>e&&(e=n.height)}this.height=e+1},getNodeById:function(t){if(this.getId()===t)return this;for(var e=0,i=this.children,n=i.length;e<n;e++){var o=i[e].getNodeById(t);if(o)return o}},contains:function(t){if(t===this)return!0;for(var e=0,i=this.children,n=i.length;e<n;e++){var o=i[e].contains(t);if(o)return o}},getAncestors:function(t){for(var e=[],i=t?this:this.parentNode;i;)e.push(i),i=i.parentNode;return e.reverse(),e},getValue:function(t){var e=this.hostTree.data;return e.get(e.getDimension(t||"value"),this.dataIndex)},setLayout:function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},getLayout:function(){return this.hostTree.data.getItemLayout(this.dataIndex)},getModel:function(t){if(!(this.dataIndex<0)){var e,i=this.hostTree,n=i.data.getItemModel(this.dataIndex),o=this.getLevelModel();return o||0!==this.children.length&&(0===this.children.length||!1!==this.isExpand)||(e=this.getLeavesModel()),n.getModel(t,(o||e||i.hostModel).getModel(t))}},getLevelModel:function(){return(this.hostTree.levelModels||[])[this.depth]},getLeavesModel:function(){return this.hostTree.leavesModel},setVisual:function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},getVisual:function(t,e){return this.hostTree.data.getItemVisual(this.dataIndex,t,e)},getRawIndex:function(){return this.hostTree.data.getRawIndex(this.dataIndex)},getId:function(){return this.hostTree.data.getId(this.dataIndex)},isAncestorOf:function(t){for(var e=t.parentNode;e;){if(e===this)return!0;e=e.parentNode}return!1},isDescendantOf:function(t){return t!==this&&t.isAncestorOf(this)}},Vc.prototype={constructor:Vc,type:"tree",eachNode:function(t,e,i){this.root.eachNode(t,e,i)},getNodeByDataIndex:function(t){var e=this.data.getRawIndex(t);return this._nodes[e]},getNodeByName:function(t){return this.root.getNodeByName(t)},update:function(){for(var t=this.data,e=this._nodes,i=0,n=e.length;i<n;i++)e[i].dataIndex=-1;for(var i=0,n=t.count();i<n;i++)e[t.getRawIndex(i)].dataIndex=i},clearLayouts:function(){this.data.clearItemLayouts()}},Vc.createTree=function(t,e,i){function n(t,e){var i=t.value;r=Math.max(r,y(i)?i.length:1),a.push(t);var s=new ZC(t.name,o);e?Gc(s,e):o.root=s,o._nodes.push(s);var l=t.children;if(l)for(var u=0;u<l.length;u++)n(l[u],s)}var o=new Vc(e,i.levels,i.leaves),a=[],r=1;n(t),o.root.updateDepthAndHeight(0);var s=_A(a,{coordDimensions:["value"],dimensionsCount:r}),l=new vA(s,e);return l.initData(a),kc({mainData:l,struct:o,structAttr:"tree"}),o.update(),o},YI.extend({type:"series.tree",layoutInfo:null,layoutMode:"box",getInitialData:function(t){var e={name:t.name,children:t.data},i=t.leaves||{},n={};n.leaves=i;var o=Vc.createTree(e,this,n),a=0;o.eachNode("preorder",function(t){t.depth>a&&(a=t.depth)});var r=t.expandAndCollapse&&t.initialTreeDepth>=0?t.initialTreeDepth:a;return o.root.eachNode("preorder",function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=r}),o.data},getOrient:function(){var t=this.get("orient");return"horizontal"===t?t="LR":"vertical"===t&&(t="TB"),t},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},formatTooltip:function(t){for(var e=this.getData().tree,i=e.root.children[0],n=e.getNodeByDataIndex(t),o=n.getValue(),a=n.name;n&&n!==i;)a=n.parentNode.name+"."+a,n=n.parentNode;return ia(a+(isNaN(o)||null==o?"":" : "+o))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderColor:"#c23531",borderWidth:1.5},label:{show:!0,color:"#555"},leaves:{label:{show:!0}},animationEasing:"linear",animationDuration:700,animationDurationUpdate:1e3}}),Zs({type:"tree",init:function(t,e){this._oldTree,this._mainGroup=new tb,this._controller=new oc(e.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},render:function(t,e,i,n){var o=t.getData(),a=t.layoutInfo,r=this._mainGroup,s=t.get("layout");"radial"===s?r.attr("position",[a.x+a.width/2,a.y+a.height/2]):r.attr("position",[a.x,a.y]),this._updateViewCoordSys(t),this._updateController(t,e,i);var l=this._data,u={expandAndCollapse:t.get("expandAndCollapse"),layout:s,orient:t.getOrient(),curvature:t.get("lineStyle.curveness"),symbolRotate:t.get("symbolRotate"),symbolOffset:t.get("symbolOffset"),hoverAnimation:t.get("hoverAnimation"),useNameLabel:!0,fadeIn:!0};o.diff(l).add(function(e){td(o,e)&&id(o,e,null,r,t,u)}).update(function(e,i){var n=l.getItemGraphicEl(i);td(o,e)?id(o,e,n,r,t,u):n&&nd(l,i,n,r,t,u)}).remove(function(e){var i=l.getItemGraphicEl(e);i&&nd(l,e,i,r,t,u)}).execute(),this._nodeScaleRatio=t.get("nodeScaleRatio"),this._updateNodeAndLinkScale(t),!0===u.expandAndCollapse&&o.eachItemGraphicEl(function(e,n){e.off("click").on("click",function(){i.dispatchAction({type:"treeExpandAndCollapse",seriesId:t.id,dataIndex:n})})}),this._data=o},_updateViewCoordSys:function(t){var e=t.getData(),i=[];e.each(function(t){var n=e.getItemLayout(t);!n||isNaN(n.x)||isNaN(n.y)||i.push([+n.x,+n.y])});var n=[],o=[];fn(i,n,o),o[0]-n[0]==0&&(o[0]+=1,n[0]-=1),o[1]-n[1]==0&&(o[1]+=1,n[1]-=1);var a=t.coordinateSystem=new Mc;a.zoomLimit=t.get("scaleLimit"),a.setBoundingRect(n[0],n[1],o[0]-n[0],o[1]-n[1]),a.setCenter(t.get("center")),a.setZoom(t.get("zoom")),this.group.attr({position:a.position,scale:a.scale}),this._viewCoordSys=a},_updateController:function(t,e,i){var n=this._controller,o=this._controllerHost,a=this.group;n.setPointerChecker(function(e,n,o){var r=a.getBoundingRect();return r.applyTransform(a.transform),r.contain(n,o)&&!gc(e,i,t)}),n.enable(t.get("roam")),o.zoomLimit=t.get("scaleLimit"),o.zoom=t.coordinateSystem.getZoom(),n.off("pan").off("zoom").on("pan",function(e){fc(o,e.dx,e.dy),i.dispatchAction({seriesId:t.id,type:"treeRoam",dx:e.dx,dy:e.dy})},this).on("zoom",function(e){pc(o,e.scale,e.originX,e.originY),i.dispatchAction({seriesId:t.id,type:"treeRoam",zoom:e.scale,originX:e.originX,originY:e.originY}),this._updateNodeAndLinkScale(t)},this)},_updateNodeAndLinkScale:function(t){var e=t.getData(),i=this._getNodeGlobalScale(t),n=[i,i];e.eachItemGraphicEl(function(t,e){t.attr("scale",n)})},_getNodeGlobalScale:function(t){var e=t.coordinateSystem;if("view"!==e.type)return 1;var i=this._nodeScaleRatio,n=e.scale,o=n&&n[0]||1;return((e.getZoom()-1)*i+1)/o},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},remove:function(){this._mainGroup.removeAll(),this._data=null}}),Es({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var i=t.dataIndex,n=e.getData().tree.getNodeByDataIndex(i);n.isExpand=!n.isExpand})}),Es({type:"treeRoam",event:"treeRoam",update:"none"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var i=bc(e.coordinateSystem,t);e.setCenter&&e.setCenter(i.center),e.setZoom&&e.setZoom(i.zoom)})});Bs(TD("tree","circle")),zs(function(t,e){t.eachSeriesByType("tree",function(t){sd(t,e)})}),YI.extend({type:"series.treemap",layoutMode:"box",dependencies:["grid","polar"],_viewRoot:null,defaultOption:{progressive:0,hoverLayerThreshold:1/0,left:"center",top:"middle",right:null,bottom:null,width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"鈻�",zoomToNodeRatio:.1024,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",borderColor:"rgba(255,255,255,0.7)",borderWidth:1,shadowColor:"rgba(150,150,150,1)",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:"#fff"}},emphasis:{textStyle:{}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",ellipsis:!0},upperLabel:{show:!1,position:[0,"50%"],height:20,color:"#fff",ellipsis:!0,verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],color:"#fff",ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(t,e){var i={name:t.name,children:t.data};dd(i);var n=t.levels||[];n=t.levels=fd(n,e);var o={};return o.levels=n,Vc.createTree(i,this,o).data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=ta(y(i)?i[0]:i);return ia(e.getName(t)+": "+n)},getDataParams:function(t){var e=YI.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=cd(i,this),e},setLayoutInfo:function(t){this.layoutInfo=this.layoutInfo||{},a(this.layoutInfo,t)},mapIdToIndex:function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=R(),this._idIndexMapCount=0);var i=e.get(t);return null==i&&e.set(t,i=this._idIndexMapCount++),i},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)}});var UC=5;pd.prototype={constructor:pd,render:function(t,e,i,n){var o=t.getModel("breadcrumb"),a=this.group;if(a.removeAll(),o.get("show")&&i){var r=o.getModel("itemStyle"),s=r.getModel("textStyle"),l={pos:{left:o.get("left"),right:o.get("right"),top:o.get("top"),bottom:o.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:o.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(i,l,s),this._renderContent(t,l,r,s,n),da(a,l.pos,l.box)}},_prepare:function(t,e,i){for(var n=t;n;n=n.parentNode){var o=n.getModel().get("name"),a=i.getTextRect(o),r=Math.max(a.width+16,e.emptyItemWidth);e.totalWidth+=r+8,e.renderList.push({node:n,text:o,width:r})}},_renderContent:function(t,e,i,n,o){for(var a=0,s=e.emptyItemWidth,l=t.get("breadcrumb.height"),u=ha(e.pos,e.box),h=e.totalWidth,c=e.renderList,d=c.length-1;d>=0;d--){var f=c[d],p=f.node,g=f.width,m=f.text;h>u.width&&(h-=g-s,g=s,m=null);var y=new pM({shape:{points:gd(a,0,g,l,d===c.length-1,0===d)},style:r(i.getItemStyle(),{lineJoin:"bevel",text:m,textFill:n.getTextColor(),textFont:n.getFont()}),z:10,onclick:v(o,p)});this.group.add(y),md(y,t,p),a+=g+8}},remove:function(){this.group.removeAll()}};var XC=m,jC=tb,YC=yM,qC=d,KC=["label"],$C=["emphasis","label"],JC=["upperLabel"],QC=["emphasis","upperLabel"],tL=10,eL=1,iL=2,nL=Qb([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),oL=function(t){var e=nL(t);return e.stroke=e.fill=e.lineWidth=null,e};Zs({type:"treemap",init:function(t,e){this._containerGroup,this._storage={nodeGroup:[],background:[],content:[]},this._oldTree,this._breadcrumb,this._controller,this._state="ready"},render:function(t,e,i,n){if(!(l(e.findComponents({mainType:"series",subType:"treemap",query:n}),t)<0)){this.seriesModel=t,this.api=i,this.ecModel=e;var o=ld(n,["treemapZoomToNode","treemapRootToNode"],t),a=n&&n.type,r=t.layoutInfo,s=!this._oldTree,u=this._storage,h="treemapRootToNode"===a&&o&&u?{rootNodeGroup:u.nodeGroup[o.node.getRawIndex()],direction:n.direction}:null,c=this._giveContainerGroup(r),d=this._doRender(c,t,h);s||a&&"treemapZoomToNode"!==a&&"treemapRootToNode"!==a?d.renderFinally():this._doAnimation(c,d,t,h),this._resetController(i),this._renderBreadcrumb(t,i,o)}},_giveContainerGroup:function(t){var e=this._containerGroup;return e||(e=this._containerGroup=new jC,this._initEvents(e),this.group.add(e)),e.attr("position",[t.x,t.y]),e},_doRender:function(t,e,i){function n(t,e,i,o,a){function r(t){return t.getId()}function s(r,s){var l=null!=r?t[r]:null,u=null!=s?e[s]:null,c=h(l,u,i,a);c&&n(l&&l.viewChildren||[],u&&u.viewChildren||[],c,o,a+1)}o?(e=t,qC(t,function(t,e){!t.isRemoved()&&s(e,e)})):new Xs(e,t,r,r).add(s).update(s).remove(v(s,null)).execute()}var o=e.getData().tree,a=this._oldTree,r={nodeGroup:[],background:[],content:[]},s={nodeGroup:[],background:[],content:[]},l=this._storage,u=[],h=v(yd,e,s,l,i,r,u);n(o.root?[o.root]:[],a&&a.root?[a.root]:[],t,o===a||!a,0);var c=function(t){var e={nodeGroup:[],background:[],content:[]};return t&&qC(t,function(t,i){var n=e[i];qC(t,function(t){t&&(n.push(t),t.__tmWillDelete=1)})}),e}(l);return this._oldTree=o,this._storage=s,{lastsForAnimation:r,willDeleteEls:c,renderFinally:function(){qC(c,function(t){qC(t,function(t){t.parent&&t.parent.remove(t)})}),qC(u,function(t){t.invisible=!0,t.dirty()})}}},_doAnimation:function(t,e,i,n){if(i.get("animation")){var o=i.get("animationDurationUpdate"),r=i.get("animationEasing"),s=vd();qC(e.willDeleteEls,function(t,e){qC(t,function(t,i){if(!t.invisible){var a,l=t.parent;if(n&&"drillDown"===n.direction)a=l===n.rootNodeGroup?{shape:{x:0,y:0,width:l.__tmNodeWidth,height:l.__tmNodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var u=0,h=0;l.__tmWillDelete||(u=l.__tmNodeWidth/2,h=l.__tmNodeHeight/2),a="nodeGroup"===e?{position:[u,h],style:{opacity:0}}:{shape:{x:u,y:h,width:0,height:0},style:{opacity:0}}}a&&s.add(t,a,o,r)}})}),qC(this._storage,function(t,i){qC(t,function(t,n){var l=e.lastsForAnimation[i][n],u={};l&&("nodeGroup"===i?l.old&&(u.position=t.position.slice(),t.attr("position",l.old)):(l.old&&(u.shape=a({},t.shape),t.setShape(l.old)),l.fadein?(t.setStyle("opacity",0),u.style={opacity:1}):1!==t.style.opacity&&(u.style={opacity:1})),s.add(t,u,o,r))})},this),this._state="animating",s.done(XC(function(){this._state="ready",e.renderFinally()},this)).start()}},_resetController:function(t){var e=this._controller;e||((e=this._controller=new oc(t.getZr())).enable(this.seriesModel.get("roam")),e.on("pan",XC(this._onPan,this)),e.on("zoom",XC(this._onZoom,this)));var i=new de(0,0,t.getWidth(),t.getHeight());e.setPointerChecker(function(t,e,n){return i.contain(e,n)})},_clearController:function(){var t=this._controller;t&&(t.dispose(),t=null)},_onPan:function(t){if("animating"!==this._state&&(Math.abs(t.dx)>3||Math.abs(t.dy)>3)){var e=this.seriesModel.getData().tree.root;if(!e)return;var i=e.getLayout();if(!i)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:i.x+t.dx,y:i.y+t.dy,width:i.width,height:i.height}})}},_onZoom:function(t){var e=t.originX,i=t.originY;if("animating"!==this._state){var n=this.seriesModel.getData().tree.root;if(!n)return;var o=n.getLayout();if(!o)return;var a=new de(o.x,o.y,o.width,o.height),r=this.seriesModel.layoutInfo;e-=r.x,i-=r.y;var s=xt();St(s,s,[-e,-i]),It(s,s,[t.scale,t.scale]),St(s,s,[e,i]),a.applyTransform(s),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:a.x,y:a.y,width:a.width,height:a.height}})}},_initEvents:function(t){t.on("click",function(t){if("ready"===this._state){var e=this.seriesModel.get("nodeClick",!0);if(e){var i=this.findTarget(t.offsetX,t.offsetY);if(i){var n=i.node;if(n.getLayout().isLeafRoot)this._rootToNode(i);else if("zoomToNode"===e)this._zoomToNode(i);else if("link"===e){var o=n.hostTree.data.getItemModel(n.dataIndex),a=o.get("link",!0),r=o.get("target",!0)||"blank";a&&window.open(a,r)}}}}},this)},_renderBreadcrumb:function(t,e,i){i||(i=null!=t.get("leafDepth",!0)?{node:t.getViewRoot()}:this.findTarget(e.getWidth()/2,e.getHeight()/2))||(i={node:t.getData().tree.root}),(this._breadcrumb||(this._breadcrumb=new pd(this.group))).render(t,e,i.node,XC(function(e){"animating"!==this._state&&(hd(t.getViewRoot(),e)?this._rootToNode({node:e}):this._zoomToNode({node:e}))},this))},remove:function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage={nodeGroup:[],background:[],content:[]},this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},dispose:function(){this._clearController()},_zoomToNode:function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},_rootToNode:function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},findTarget:function(t,e){var i;return this.seriesModel.getViewRoot().eachNode({attr:"viewChildren",order:"preorder"},function(n){var o=this._storage.background[n.getRawIndex()];if(o){var a=o.transformCoordToLocal(t,e),r=o.shape;if(!(r.x<=a[0]&&a[0]<=r.x+r.width&&r.y<=a[1]&&a[1]<=r.y+r.height))return!1;i={node:n,offsetX:a[0],offsetY:a[1]}}},this),i}});for(var aL=["treemapZoomToNode","treemapRender","treemapMove"],rL=0;rL<aL.length;rL++)Es({type:aL[rL],update:"updateView"},function(){});Es({type:"treemapRootToNode",update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"treemap",query:t},function(e,i){var n=ld(t,["treemapZoomToNode","treemapRootToNode"],e);if(n){var o=e.getViewRoot();o&&(t.direction=hd(o,n.node)?"rollUp":"drillDown"),e.resetViewRoot(n.node)}})});var sL=d,lL=w,uL=-1,hL=function(t){var e=t.mappingMethod,n=t.type,o=this.option=i(t);this.type=n,this.mappingMethod=e,this._normalizeData=dL[e];var a=cL[n];this.applyVisual=a.applyVisual,this.getColorMapper=a.getColorMapper,this._doMap=a._doMap[e],"piecewise"===e?(bd(o),_d(o)):"category"===e?o.categories?wd(o):bd(o,!0):(k("linear"!==e||o.dataExtent),bd(o))};hL.prototype={constructor:hL,mapValueToVisual:function(t){var e=this._normalizeData(t);return this._doMap(e,t)},getNormalizer:function(){return m(this._normalizeData,this)}};var cL=hL.visualHandlers={color:{applyVisual:Id("color"),getColorMapper:function(){var t=this.option;return m("category"===t.mappingMethod?function(t,e){return!e&&(t=this._normalizeData(t)),Td.call(this,t)}:function(e,i,n){var o=!!n;return!i&&(e=this._normalizeData(e)),n=Ut(e,t.parsedVisual,n),o?n:qt(n,"rgba")},this)},_doMap:{linear:function(t){return qt(Ut(t,this.option.parsedVisual),"rgba")},category:Td,piecewise:function(t,e){var i=Cd.call(this,e);return null==i&&(i=qt(Ut(t,this.option.parsedVisual),"rgba")),i},fixed:Ad}},colorHue:Sd(function(t,e){return jt(t,e)}),colorSaturation:Sd(function(t,e){return jt(t,null,e)}),colorLightness:Sd(function(t,e){return jt(t,null,null,e)}),colorAlpha:Sd(function(t,e){return Yt(t,e)}),opacity:{applyVisual:Id("opacity"),_doMap:Dd([0,1])},liftZ:{applyVisual:Id("liftZ"),_doMap:{linear:Ad,category:Ad,piecewise:Ad,fixed:Ad}},symbol:{applyVisual:function(t,e,i){var n=this.mapValueToVisual(t);if(_(n))i("symbol",n);else if(lL(n))for(var o in n)n.hasOwnProperty(o)&&i(o,n[o])},_doMap:{linear:Md,category:Td,piecewise:function(t,e){var i=Cd.call(this,e);return null==i&&(i=Md.call(this,t)),i},fixed:Ad}},symbolSize:{applyVisual:Id("symbolSize"),_doMap:Dd([0,1])}},dL={linear:function(t){return Bo(t,this.option.dataExtent,[0,1],!0)},piecewise:function(t){var e=this.option.pieceList,i=hL.findPieceIndex(t,e,!0);if(null!=i)return Bo(i,[0,e.length-1],[0,1],!0)},category:function(t){var e=this.option.categories?this.option.categoryMap[t]:t;return null==e?uL:e},fixed:B};hL.listVisualTypes=function(){var t=[];return d(cL,function(e,i){t.push(i)}),t},hL.addVisualHandler=function(t,e){cL[t]=e},hL.isValidType=function(t){return cL.hasOwnProperty(t)},hL.eachVisual=function(t,e,i){w(t)?d(t,e,i):e.call(i,t)},hL.mapVisual=function(t,e,i){var n,o=y(t)?[]:w(t)?{}:(n=!0,null);return hL.eachVisual(t,function(t,a){var r=e.call(i,t,a);n?o=r:o[a]=r}),o},hL.retrieveVisuals=function(t){var e,i={};return t&&sL(cL,function(n,o){t.hasOwnProperty(o)&&(i[o]=t[o],e=!0)}),e?i:null},hL.prepareVisualTypes=function(t){if(lL(t)){var e=[];sL(t,function(t,i){e.push(i)}),t=e}else{if(!y(t))return[];t=t.slice()}return t.sort(function(t,e){return"color"===e&&"color"!==t&&0===t.indexOf("color")?1:-1}),t},hL.dependsOn=function(t,e){return"color"===e?!(!t||0!==t.indexOf(e)):t===e},hL.findPieceIndex=function(t,e,i){function n(e,i){var n=Math.abs(e-t);n<a&&(a=n,o=i)}for(var o,a=1/0,r=0,s=e.length;r<s;r++){var l=e[r].value;if(null!=l){if(l===t||"string"==typeof l&&l===t+"")return r;i&&n(l,r)}}for(var r=0,s=e.length;r<s;r++){var u=e[r],h=u.interval,c=u.close;if(h){if(h[0]===-1/0){if(kd(c[1],t,h[1]))return r}else if(h[1]===1/0){if(kd(c[0],h[0],t))return r}else if(kd(c[0],h[0],t)&&kd(c[1],t,h[1]))return r;i&&n(h[0],r),i&&n(h[1],r)}}if(i)return t===1/0?e.length-1:t===-1/0?0:o};var fL=y,pL="itemStyle",gL={seriesType:"treemap",reset:function(t,e,i,n){var o=t.getData().tree,a=o.root,r=t.getModel(pL);a.isRemoved()||Pd(a,{},f(o.levelModels,function(t){return t?t.get(pL):null}),r,t.getViewRoot().getAncestors(),t)}},mL=Math.max,vL=Math.min,yL=T,xL=d,_L=["itemStyle","borderWidth"],wL=["itemStyle","gapWidth"],bL=["upperLabel","show"],SL=["upperLabel","height"],ML={seriesType:"treemap",reset:function(t,e,i,n){var o=i.getWidth(),r=i.getHeight(),s=t.option,l=ca(t.getBoxLayoutParams(),{width:i.getWidth(),height:i.getHeight()}),u=s.size||[],h=Vo(yL(l.width,u[0]),o),c=Vo(yL(l.height,u[1]),r),d=n&&n.type,f=ld(n,["treemapZoomToNode","treemapRootToNode"],t),p="treemapRender"===d||"treemapMove"===d?n.rootRect:null,g=t.getViewRoot(),m=ud(g);if("treemapMove"!==d){var v="treemapZoomToNode"===d?jd(t,f,g,h,c):p?[p.width,p.height]:[h,c],y=s.sort;y&&"asc"!==y&&"desc"!==y&&(y="desc");var x={squareRatio:s.squareRatio,sort:y,leafDepth:s.leafDepth};g.hostTree.clearLayouts();_={x:0,y:0,width:v[0],height:v[1],area:v[0]*v[1]};g.setLayout(_),Gd(g,x,!1,0);var _=g.getLayout();xL(m,function(t,e){var i=(m[e+1]||g).getValue();t.setLayout(a({dataExtent:[i,i],borderWidth:0,upperHeight:0},_))})}var w=t.getData().tree.root;w.setLayout(Yd(l,p,f),!0),t.setLayoutInfo(l),qd(w,new de(-l.x,-l.y,o,r),m,g,0)}};Bs(gL),zs(ML);var IL=function(t){this._directed=t||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},TL=IL.prototype;TL.type="graph",TL.isDirected=function(){return this._directed},TL.addNode=function(t,e){t=t||""+e;var i=this._nodesMap;if(!i[$d(t)]){var n=new Jd(t,e);return n.hostGraph=this,this.nodes.push(n),i[$d(t)]=n,n}},TL.getNodeByIndex=function(t){var e=this.data.getRawIndex(t);return this.nodes[e]},TL.getNodeById=function(t){return this._nodesMap[$d(t)]},TL.addEdge=function(t,e,i){var n=this._nodesMap,o=this._edgesMap;if("number"==typeof t&&(t=this.nodes[t]),"number"==typeof e&&(e=this.nodes[e]),Jd.isInstance(t)||(t=n[$d(t)]),Jd.isInstance(e)||(e=n[$d(e)]),t&&e){var a=t.id+"-"+e.id;if(!o[a]){var r=new Qd(t,e,i);return r.hostGraph=this,this._directed&&(t.outEdges.push(r),e.inEdges.push(r)),t.edges.push(r),t!==e&&e.edges.push(r),this.edges.push(r),o[a]=r,r}}},TL.getEdgeByIndex=function(t){var e=this.edgeData.getRawIndex(t);return this.edges[e]},TL.getEdge=function(t,e){Jd.isInstance(t)&&(t=t.id),Jd.isInstance(e)&&(e=e.id);var i=this._edgesMap;return this._directed?i[t+"-"+e]:i[t+"-"+e]||i[e+"-"+t]},TL.eachNode=function(t,e){for(var i=this.nodes,n=i.length,o=0;o<n;o++)i[o].dataIndex>=0&&t.call(e,i[o],o)},TL.eachEdge=function(t,e){for(var i=this.edges,n=i.length,o=0;o<n;o++)i[o].dataIndex>=0&&i[o].node1.dataIndex>=0&&i[o].node2.dataIndex>=0&&t.call(e,i[o],o)},TL.breadthFirstTraverse=function(t,e,i,n){if(Jd.isInstance(e)||(e=this._nodesMap[$d(e)]),e){for(var o="out"===i?"outEdges":"in"===i?"inEdges":"edges",a=0;a<this.nodes.length;a++)this.nodes[a].__visited=!1;if(!t.call(n,e,null))for(var r=[e];r.length;)for(var s=r.shift(),l=s[o],a=0;a<l.length;a++){var u=l[a],h=u.node1===s?u.node2:u.node1;if(!h.__visited){if(t.call(n,h,s))return;r.push(h),h.__visited=!0}}}},TL.update=function(){for(var t=this.data,e=this.edgeData,i=this.nodes,n=this.edges,o=0,a=i.length;o<a;o++)i[o].dataIndex=-1;for(var o=0,a=t.count();o<a;o++)i[t.getRawIndex(o)].dataIndex=o;e.filterSelf(function(t){var i=n[e.getRawIndex(t)];return i.node1.dataIndex>=0&&i.node2.dataIndex>=0});for(var o=0,a=n.length;o<a;o++)n[o].dataIndex=-1;for(var o=0,a=e.count();o<a;o++)n[e.getRawIndex(o)].dataIndex=o},TL.clone=function(){for(var t=new IL(this._directed),e=this.nodes,i=this.edges,n=0;n<e.length;n++)t.addNode(e[n].id,e[n].dataIndex);for(n=0;n<i.length;n++){var o=i[n];t.addEdge(o.node1.id,o.node2.id,o.dataIndex)}return t},Jd.prototype={constructor:Jd,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(t){if(!(this.dataIndex<0))return this.hostGraph.data.getItemModel(this.dataIndex).getModel(t)}},Qd.prototype.getModel=function(t){if(!(this.dataIndex<0))return this.hostGraph.edgeData.getItemModel(this.dataIndex).getModel(t)};var AL=function(t,e){return{getValue:function(i){var n=this[t][e];return n.get(n.getDimension(i||"value"),this.dataIndex)},setVisual:function(i,n){this.dataIndex>=0&&this[t][e].setItemVisual(this.dataIndex,i,n)},getVisual:function(i,n){return this[t][e].getItemVisual(this.dataIndex,i,n)},setLayout:function(i,n){this.dataIndex>=0&&this[t][e].setItemLayout(this.dataIndex,i,n)},getLayout:function(){return this[t][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[t][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[t][e].getRawIndex(this.dataIndex)}}};h(Jd,AL("hostGraph","data")),h(Qd,AL("hostGraph","edgeData")),IL.Node=Jd,IL.Edge=Qd,Yi(Jd),Yi(Qd);var DL=function(t,e,i,n,o){for(var a=new IL(n),r=0;r<t.length;r++)a.addNode(T(t[r].id,t[r].name,r),r);for(var s=[],u=[],h=0,r=0;r<e.length;r++){var c=e[r],d=c.source,f=c.target;a.addEdge(d,f,h)&&(u.push(c),s.push(T(c.id,d+" > "+f)),h++)}var p,g=i.get("coordinateSystem");if("cartesian2d"===g||"polar"===g)p=ml(t,i);else{var m=Fa.get(g),v=m&&"view"!==m.type?m.dimensions||[]:[];l(v,"value")<0&&v.concat(["value"]);var y=_A(t,{coordDimensions:v});(p=new vA(y,i)).initData(t)}var x=new vA(["value"],i);return x.initData(u,s),o&&o(p,x),kc({mainData:p,struct:a,structAttr:"graph",datas:{node:p,edge:x},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a},CL=Hs({type:"series.graph",init:function(t){CL.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeOption:function(t){CL.superApply(this,"mergeOption",arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeDefaultAndTheme:function(t){CL.superApply(this,"mergeDefaultAndTheme",arguments),Ci(t,["edgeLabel"],["show"])},getInitialData:function(t,e){var i=t.edges||t.links||[],n=t.data||t.nodes||[],o=this;if(n&&i)return DL(n,i,this,!0,function(t,i){function n(t){return(t=this.parsePath(t))&&"label"===t[0]?r:t&&"emphasis"===t[0]&&"label"===t[1]?l:this.parentModel}t.wrapMethod("getItemModel",function(t){var e=o._categoriesModels[t.getShallow("category")];return e&&(e.parentModel=t.parentModel,t.parentModel=e),t});var a=o.getModel("edgeLabel"),r=new No({label:a.option},a.parentModel,e),s=o.getModel("emphasis.edgeLabel"),l=new No({emphasis:{label:s.option}},s.parentModel,e);i.wrapMethod("getItemModel",function(t){return t.customizeGetParent(n),t})}).data},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(t,e,i){if("edge"===i){var n=this.getData(),o=this.getDataParams(t,i),a=n.graph.getEdgeByIndex(t),r=n.getName(a.node1.dataIndex),s=n.getName(a.node2.dataIndex),l=[];return null!=r&&l.push(r),null!=s&&l.push(s),l=ia(l.join(" > ")),o.value&&(l+=" : "+ia(o.value)),l}return CL.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var t=f(this.option.categories||[],function(t){return null!=t.value?t:a({value:0},t)}),e=new vA(["value"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray(function(t){return e.getItemModel(t,!0)})},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},isAnimationEnabled:function(){return CL.superCall(this,"isAnimationEnabled")&&!("force"===this.get("layout")&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle"},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,curveness:0,opacity:.5},emphasis:{label:{show:!0}}}}),LL=_M.prototype,kL=bM.prototype,PL=Un({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(t,e){(tf(e)?LL:kL).buildPath(t,e)},pointAt:function(t){return tf(this.shape)?LL.pointAt.call(this,t):kL.pointAt.call(this,t)},tangentAt:function(t){var e=this.shape,i=tf(e)?[e.x2-e.x1,e.y2-e.y1]:kL.tangentAt.call(this,t);return q(i,i)}}),NL=["fromSymbol","toSymbol"],OL=rf.prototype;OL.beforeUpdate=function(){var t=this,e=t.childOfName("fromSymbol"),i=t.childOfName("toSymbol"),n=t.childOfName("label");if(e||i||!n.ignore){for(var o=1,a=this.parent;a;)a.scale&&(o/=a.scale[0]),a=a.parent;var r=t.childOfName("line");if(this.__dirty||r.__dirty){var s=r.shape.percent,l=r.pointAt(0),u=r.pointAt(s),h=U([],u,l);if(q(h,h),e&&(e.attr("position",l),c=r.tangentAt(0),e.attr("rotation",Math.PI/2-Math.atan2(c[1],c[0])),e.attr("scale",[o*s,o*s])),i){i.attr("position",u);var c=r.tangentAt(1);i.attr("rotation",-Math.PI/2-Math.atan2(c[1],c[0])),i.attr("scale",[o*s,o*s])}if(!n.ignore){n.attr("position",u);var d,f,p,g=5*o;if("end"===n.__position)d=[h[0]*g+u[0],h[1]*g+u[1]],f=h[0]>.8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";else if("middle"===n.__position){var m=s/2,v=[(c=r.tangentAt(m))[1],-c[0]],y=r.pointAt(m);v[1]>0&&(v[0]=-v[0],v[1]=-v[1]),d=[y[0]+v[0]*g,y[1]+v[1]*g],f="center",p="bottom";var x=-Math.atan2(c[1],c[0]);u[0]<l[0]&&(x=Math.PI+x),n.attr("rotation",x)}else d=[-h[0]*g+l[0],-h[1]*g+l[1]],f=h[0]>.8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";n.attr({style:{textVerticalAlign:n.__verticalAlign||p,textAlign:n.__textAlign||f},position:d,scale:[o,o]})}}}},OL._createLine=function(t,e,i){var n=t.hostModel,o=of(t.getItemLayout(e));o.shape.percent=0,To(o,{shape:{percent:1}},n,e),this.add(o);var a=new rM({name:"label",lineLabelOriginalOpacity:1});this.add(a),d(NL,function(i){var n=nf(i,t,e);this.add(n),this[ef(i)]=t.getItemVisual(e,i)},this),this._updateCommonStl(t,e,i)},OL.updateData=function(t,e,i){var n=t.hostModel,o=this.childOfName("line"),a=t.getItemLayout(e),r={shape:{}};af(r.shape,a),Io(o,r,n,e),d(NL,function(i){var n=t.getItemVisual(e,i),o=ef(i);if(this[o]!==n){this.remove(this.childOfName(i));var a=nf(i,t,e);this.add(a)}this[o]=n},this),this._updateCommonStl(t,e,i)},OL._updateCommonStl=function(t,e,i){var n=t.hostModel,o=this.childOfName("line"),a=i&&i.lineStyle,s=i&&i.hoverLineStyle,l=i&&i.labelModel,u=i&&i.hoverLabelModel;if(!i||t.hasItemOption){var h=t.getItemModel(e);a=h.getModel("lineStyle").getLineStyle(),s=h.getModel("emphasis.lineStyle").getLineStyle(),l=h.getModel("label"),u=h.getModel("emphasis.label")}var c=t.getItemVisual(e,"color"),f=D(t.getItemVisual(e,"opacity"),a.opacity,1);o.useStyle(r({strokeNoScale:!0,fill:"none",stroke:c,opacity:f},a)),o.hoverStyle=s,d(NL,function(t){var e=this.childOfName(t);e&&(e.setColor(c),e.setStyle({opacity:f}))},this);var p,g,m=l.getShallow("show"),v=u.getShallow("show"),y=this.childOfName("label");if((m||v)&&(p=c||"#000",null==(g=n.getFormattedLabel(e,"normal",t.dataType)))){var x=n.getRawValue(e);g=null==x?t.getName(e):isFinite(x)?Go(x):x}var _=m?g:null,w=v?A(n.getFormattedLabel(e,"emphasis",t.dataType),g):null,b=y.style;null==_&&null==w||(mo(y.style,l,{text:_},{autoColor:p}),y.__textAlign=b.textAlign,y.__verticalAlign=b.textVerticalAlign,y.__position=l.get("position")||"middle"),y.hoverStyle=null!=w?{text:w,textFill:u.getTextColor(!0),fontStyle:u.getShallow("fontStyle"),fontWeight:u.getShallow("fontWeight"),fontSize:u.getShallow("fontSize"),fontFamily:u.getShallow("fontFamily")}:{text:null},y.ignore=!m&&!v,fo(this)},OL.highlight=function(){this.trigger("emphasis")},OL.downplay=function(){this.trigger("normal")},OL.updateLayout=function(t,e){this.setLinePoints(t.getItemLayout(e))},OL.setLinePoints=function(t){var e=this.childOfName("line");af(e.shape,t),e.dirty()},u(rf,tb);var EL=sf.prototype;EL.isPersistent=function(){return!0},EL.updateData=function(t){var e=this,i=e.group,n=e._lineData;e._lineData=t,n||i.removeAll();var o=hf(t);t.diff(n).add(function(i){lf(e,t,i,o)}).update(function(i,a){uf(e,n,t,a,i,o)}).remove(function(t){i.remove(n.getItemGraphicEl(t))}).execute()},EL.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl(function(e,i){e.updateLayout(t,i)},this)},EL.incrementalPrepareUpdate=function(t){this._seriesScope=hf(t),this._lineData=null,this.group.removeAll()},EL.incrementalUpdate=function(t,e){for(var i=t.start;i<t.end;i++)if(df(e.getItemLayout(i))){var n=new this._ctor(e,i,this._seriesScope);n.traverse(function(t){t.isGroup||(t.incremental=t.useHoverLayer=!0)}),this.group.add(n),e.setItemGraphicEl(i,n)}},EL.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},EL._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var RL=[],zL=[],BL=[],VL=sn,GL=hw,FL=Math.abs,WL=function(t,e){function i(t){var e=t.getVisual("symbolSize");return e instanceof Array&&(e=(e[0]+e[1])/2),e}var n=[],o=cn,a=[[],[],[]],r=[[],[]],s=[];e/=2,t.eachEdge(function(t,l){var u=t.getLayout(),h=t.getVisual("fromSymbol"),c=t.getVisual("toSymbol");u.__original||(u.__original=[F(u[0]),F(u[1])],u[2]&&u.__original.push(F(u[2])));var d=u.__original;if(null!=u[2]){if(G(a[0],d[0]),G(a[1],d[2]),G(a[2],d[1]),h&&"none"!==h){var f=i(t.node1),p=ff(a,d[0],f*e);o(a[0][0],a[1][0],a[2][0],p,n),a[0][0]=n[3],a[1][0]=n[4],o(a[0][1],a[1][1],a[2][1],p,n),a[0][1]=n[3],a[1][1]=n[4]}if(c&&"none"!==c){var f=i(t.node2),p=ff(a,d[1],f*e);o(a[0][0],a[1][0],a[2][0],p,n),a[1][0]=n[1],a[2][0]=n[2],o(a[0][1],a[1][1],a[2][1],p,n),a[1][1]=n[1],a[2][1]=n[2]}G(u[0],a[0]),G(u[1],a[2]),G(u[2],a[1])}else{if(G(r[0],d[0]),G(r[1],d[1]),U(s,r[1],r[0]),q(s,s),h&&"none"!==h){f=i(t.node1);Z(r[0],r[0],s,f*e)}if(c&&"none"!==c){f=i(t.node2);Z(r[1],r[1],s,-f*e)}G(u[0],r[0]),G(u[1],r[1])}})},HL="__focusNodeAdjacency",ZL=["itemStyle","opacity"],UL=["lineStyle","opacity"];Zs({type:"graph",init:function(t,e){var i=new Du,n=new sf,o=this.group;this._controller=new oc(e.getZr()),this._controllerHost={target:o},o.add(i.group),o.add(n.group),this._symbolDraw=i,this._lineDraw=n,this._firstRender=!0},render:function(t,e,i){var n=t.coordinateSystem;this._model=t,this._nodeScaleRatio=t.get("nodeScaleRatio");var o=this._symbolDraw,a=this._lineDraw,r=this.group;if("view"===n.type){var s={position:n.position,scale:n.scale};this._firstRender?r.attr(s):Io(r,s,t)}WL(t.getGraph(),this._getNodeGlobalScale(t));var l=t.getData();o.updateData(l);var u=t.getEdgeData();a.updateData(u),this._updateNodeAndLinkScale(),this._updateController(t,e,i),clearTimeout(this._layoutTimeout);var h=t.forceLayout,c=t.get("force.layoutAnimation");h&&this._startForceLayoutIteration(h,c),l.eachItemGraphicEl(function(e,n){var o=l.getItemModel(n);e.off("drag").off("dragend");var a=o.get("draggable");a&&e.on("drag",function(){h&&(h.warmUp(),!this._layouting&&this._startForceLayoutIteration(h,c),h.setFixed(n),l.setItemLayout(n,e.position))},this).on("dragend",function(){h&&h.setUnfixed(n)},this),e.setDraggable(a&&h),e[HL]&&e.off("mouseover",e[HL]),e.__unfocusNodeAdjacency&&e.off("mouseout",e.__unfocusNodeAdjacency),o.get("focusNodeAdjacency")&&(e.on("mouseover",e[HL]=function(){i.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,dataIndex:e.dataIndex})}),e.on("mouseout",e.__unfocusNodeAdjacency=function(){i.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))},this),l.graph.eachEdge(function(e){var n=e.getGraphicEl();n[HL]&&n.off("mouseover",n[HL]),n.__unfocusNodeAdjacency&&n.off("mouseout",n.__unfocusNodeAdjacency),e.getModel().get("focusNodeAdjacency")&&(n.on("mouseover",n[HL]=function(){i.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,edgeDataIndex:e.dataIndex})}),n.on("mouseout",n.__unfocusNodeAdjacency=function(){i.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))});var d="circular"===t.get("layout")&&t.get("circular.rotateLabel"),f=l.getLayout("cx"),p=l.getLayout("cy");l.eachItemGraphicEl(function(t,e){var i=t.getSymbolPath();if(d){var n=l.getItemLayout(e),o=Math.atan2(n[1]-p,n[0]-f);o<0&&(o=2*Math.PI+o);var a=n[0]<f;a&&(o-=Math.PI);var r=a?"left":"right";i.setStyle({textRotation:-o,textPosition:r,textOrigin:"center"}),i.hoverStyle&&(i.hoverStyle.textPosition=r)}else i.setStyle({textRotation:0})}),this._firstRender=!1},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},focusNodeAdjacency:function(t,e,i,n){var o=this._model.getData().graph,a=n.dataIndex,r=n.edgeDataIndex,s=o.getNodeByIndex(a),l=o.getEdgeByIndex(r);(s||l)&&(o.eachNode(function(t){gf(t,ZL,.1)}),o.eachEdge(function(t){gf(t,UL,.1)}),s&&(mf(s,ZL),d(s.edges,function(t){t.dataIndex<0||(mf(t,UL),mf(t.node1,ZL),mf(t.node2,ZL))})),l&&(mf(l,UL),mf(l.node1,ZL),mf(l.node2,ZL)))},unfocusNodeAdjacency:function(t,e,i,n){var o=this._model.getData().graph;o.eachNode(function(t){gf(t,ZL)}),o.eachEdge(function(t){gf(t,UL)})},_startForceLayoutIteration:function(t,e){var i=this;!function n(){t.step(function(t){i.updateLayout(i._model),(i._layouting=!t)&&(e?i._layoutTimeout=setTimeout(n,16):n())})}()},_updateController:function(t,e,i){var n=this._controller,o=this._controllerHost,a=this.group;n.setPointerChecker(function(e,n,o){var r=a.getBoundingRect();return r.applyTransform(a.transform),r.contain(n,o)&&!gc(e,i,t)}),"view"===t.coordinateSystem.type?(n.enable(t.get("roam")),o.zoomLimit=t.get("scaleLimit"),o.zoom=t.coordinateSystem.getZoom(),n.off("pan").off("zoom").on("pan",function(e){fc(o,e.dx,e.dy),i.dispatchAction({seriesId:t.id,type:"graphRoam",dx:e.dx,dy:e.dy})}).on("zoom",function(e){pc(o,e.scale,e.originX,e.originY),i.dispatchAction({seriesId:t.id,type:"graphRoam",zoom:e.scale,originX:e.originX,originY:e.originY}),this._updateNodeAndLinkScale(),WL(t.getGraph(),this._getNodeGlobalScale(t)),this._lineDraw.updateLayout()},this)):n.disable()},_updateNodeAndLinkScale:function(){var t=this._model,e=t.getData(),i=this._getNodeGlobalScale(t),n=[i,i];e.eachItemGraphicEl(function(t,e){t.attr("scale",n)})},_getNodeGlobalScale:function(t){var e=t.coordinateSystem;if("view"!==e.type)return 1;var i=this._nodeScaleRatio,n=e.scale,o=n&&n[0]||1;return((e.getZoom()-1)*i+1)/o},updateLayout:function(t){WL(t.getGraph(),this._getNodeGlobalScale(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()}}),Es({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},function(){}),Es({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},function(){}),Es({type:"graphRoam",event:"graphRoam",update:"none"},function(t,e){e.eachComponent({mainType:"series",query:t},function(e){var i=bc(e.coordinateSystem,t);e.setCenter&&e.setCenter(i.center),e.setZoom&&e.setZoom(i.zoom)})});var XL=Z;Os(function(t){var e=t.findComponents({mainType:"legend"});e&&e.length&&t.eachSeriesByType("graph",function(t){var i=t.getCategoriesData(),n=t.getGraph().data,o=i.mapArray(i.getName);n.filterSelf(function(t){var i=n.getItemModel(t).getShallow("category");if(null!=i){"number"==typeof i&&(i=o[i]);for(var a=0;a<e.length;a++)if(!e[a].isSelected(i))return!1}return!0})},this)}),Bs(TD("graph","circle",null)),Bs(function(t){var e={};t.eachSeriesByType("graph",function(t){var i=t.getCategoriesData(),n=t.getData(),o={};i.each(function(n){var a=i.getName(n);o["ec-"+a]=n;var r=i.getItemModel(n).get("itemStyle.color")||t.getColorFromPalette(a,e);i.setItemVisual(n,"color",r)}),i.count()&&n.each(function(t){var e=n.getItemModel(t).getShallow("category");null!=e&&("string"==typeof e&&(e=o["ec-"+e]),n.getItemVisual(t,"color",!0)||n.setItemVisual(t,"color",i.getItemVisual(e,"color")))})})}),Bs(function(t){t.eachSeriesByType("graph",function(t){var e=t.getGraph(),i=t.getEdgeData(),n=vf(t.get("edgeSymbol")),o=vf(t.get("edgeSymbolSize")),a="lineStyle.color".split("."),r="lineStyle.opacity".split(".");i.setVisual("fromSymbol",n&&n[0]),i.setVisual("toSymbol",n&&n[1]),i.setVisual("fromSymbolSize",o&&o[0]),i.setVisual("toSymbolSize",o&&o[1]),i.setVisual("color",t.get(a)),i.setVisual("opacity",t.get(r)),i.each(function(t){var n=i.getItemModel(t),o=e.getEdgeByIndex(t),s=vf(n.getShallow("symbol",!0)),l=vf(n.getShallow("symbolSize",!0)),u=n.get(a),h=n.get(r);switch(u){case"source":u=o.node1.getVisual("color");break;case"target":u=o.node2.getVisual("color")}s[0]&&o.setVisual("fromSymbol",s[0]),s[1]&&o.setVisual("toSymbol",s[1]),l[0]&&o.setVisual("fromSymbolSize",l[0]),l[1]&&o.setVisual("toSymbolSize",l[1]),o.setVisual("color",u),o.setVisual("opacity",h)})})}),zs(function(t,e){t.eachSeriesByType("graph",function(t){var e=t.get("layout"),i=t.coordinateSystem;if(i&&"view"!==i.type){var n=t.getData(),o=[];d(i.dimensions,function(t){o=o.concat(n.mapDimension(t,!0))});for(var a=0;a<n.count();a++){for(var r=[],s=!1,l=0;l<o.length;l++){var u=n.get(o[l],a);isNaN(u)||(s=!0),r.push(u)}s?n.setItemLayout(a,i.dataToPoint(r)):n.setItemLayout(a,[NaN,NaN])}xf(n.graph)}else e&&"none"!==e||yf(t)})}),zs(function(t){t.eachSeriesByType("graph",function(t){"circular"===t.get("layout")&&_f(t)})}),zs(function(t){t.eachSeriesByType("graph",function(t){var e=t.coordinateSystem;if(!e||"view"===e.type)if("force"===t.get("layout")){var i=t.preservedPoints||{},n=t.getGraph(),o=n.data,a=n.edgeData,r=t.getModel("force"),s=r.get("initLayout");t.preservedPoints?o.each(function(t){var e=o.getId(t);o.setItemLayout(t,i[e]||[NaN,NaN])}):s&&"none"!==s?"circular"===s&&_f(t):yf(t);var l=o.getDataExtent("value"),u=a.getDataExtent("value"),h=r.get("repulsion"),c=r.get("edgeLength");y(h)||(h=[h,h]),y(c)||(c=[c,c]),c=[c[1],c[0]];var d=o.mapArray("value",function(t,e){var i=o.getItemLayout(e),n=Bo(t,l,h);return isNaN(n)&&(n=(h[0]+h[1])/2),{w:n,rep:n,fixed:o.getItemModel(e).get("fixed"),p:!i||isNaN(i[0])||isNaN(i[1])?null:i}}),f=a.mapArray("value",function(t,e){var i=n.getEdgeByIndex(e),o=Bo(t,u,c);return isNaN(o)&&(o=(c[0]+c[1])/2),{n1:d[i.node1.dataIndex],n2:d[i.node2.dataIndex],d:o,curveness:i.getModel().get("lineStyle.curveness")||0}}),p=(e=t.coordinateSystem).getBoundingRect(),g=wf(d,f,{rect:p,gravity:r.get("gravity")}),m=g.step;g.step=function(t){for(var e=0,a=d.length;e<a;e++)d[e].fixed&&G(d[e].p,n.getNodeByIndex(e).getLayout());m(function(e,a,r){for(var s=0,l=e.length;s<l;s++)e[s].fixed||n.getNodeByIndex(s).setLayout(e[s].p),i[o.getId(s)]=e[s].p;for(var s=0,l=a.length;s<l;s++){var u=a[s],h=n.getEdgeByIndex(s),c=u.n1.p,d=u.n2.p,f=h.getLayout();(f=f?f.slice():[])[0]=f[0]||[],f[1]=f[1]||[],G(f[0],c),G(f[1],d),+u.curveness&&(f[2]=[(c[0]+d[0])/2-(c[1]-d[1])*u.curveness,(c[1]+d[1])/2-(d[0]-c[0])*u.curveness]),h.setLayout(f)}t&&t(r)})},t.forceLayout=g,t.preservedPoints=i,g.step()}else t.forceLayout=null})}),Rs("graphView",{create:function(t,e){var i=[];return t.eachSeriesByType("graph",function(t){var n=t.get("coordinateSystem");if(!n||"view"===n){var o=t.getData(),a=[],r=[];fn(o.mapArray(function(t){var e=o.getItemModel(t);return[+e.get("x"),+e.get("y")]}),a,r),r[0]-a[0]==0&&(r[0]+=1,a[0]-=1),r[1]-a[1]==0&&(r[1]+=1,a[1]-=1);var s=(r[0]-a[0])/(r[1]-a[1]),l=bf(t,e,s);isNaN(s)&&(a=[l.x,l.y],r=[l.x+l.width,l.y+l.height]);var u=r[0]-a[0],h=r[1]-a[1],c=l.width,d=l.height,f=t.coordinateSystem=new Mc;f.zoomLimit=t.get("scaleLimit"),f.setBoundingRect(a[0],a[1],u,h),f.setViewRect(l.x,l.y,c,d),f.setCenter(t.get("center")),f.setZoom(t.get("zoom")),i.push(f)}}),i}});YI.extend({type:"series.gauge",getInitialData:function(t,e){var i=t.data||[];return y(i)||(i=[i]),t.data=i,oC(this,["value"])},defaultOption:{zlevel:0,z:2,center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,lineStyle:{color:[[.2,"#91c7ae"],[.8,"#63869e"],[1,"#c23531"]],width:30}},splitLine:{show:!0,length:30,lineStyle:{color:"#eee",width:2,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:8,lineStyle:{color:"#eee",width:1,type:"solid"}},axisLabel:{show:!0,distance:5,color:"auto"},pointer:{show:!0,length:"80%",width:8},itemStyle:{color:"auto"},title:{show:!0,offsetCenter:[0,"-40%"],color:"#333",fontSize:15},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"auto",fontSize:30}}});var jL=Pn.extend({type:"echartsGaugePointer",shape:{angle:0,width:10,r:10,x:0,y:0},buildPath:function(t,e){var i=Math.cos,n=Math.sin,o=e.r,a=e.width,r=e.angle,s=e.x-i(r)*a*(a>=o/3?1:2),l=e.y-n(r)*a*(a>=o/3?1:2);r=e.angle-Math.PI/2,t.moveTo(s,l),t.lineTo(e.x+i(r)*a,e.y+n(r)*a),t.lineTo(e.x+i(e.angle)*o,e.y+n(e.angle)*o),t.lineTo(e.x-i(r)*a,e.y-n(r)*a),t.lineTo(s,l)}}),YL=2*Math.PI,qL=(Ar.extend({type:"gauge",render:function(t,e,i){this.group.removeAll();var n=t.get("axisLine.lineStyle.color"),o=Sf(t,i);this._renderMain(t,e,i,n,o)},dispose:function(){},_renderMain:function(t,e,i,n,o){for(var a=this.group,r=t.getModel("axisLine").getModel("lineStyle"),s=t.get("clockwise"),l=-t.get("startAngle")/180*Math.PI,u=-t.get("endAngle")/180*Math.PI,h=(u-l)%YL,c=l,d=r.get("width"),f=0;f<n.length;f++){var p=Math.min(Math.max(n[f][0],0),1),g=new hM({shape:{startAngle:c,endAngle:u=l+h*p,cx:o.cx,cy:o.cy,clockwise:s,r0:o.r-d,r:o.r},silent:!0});g.setStyle({fill:n[f][1]}),g.setStyle(r.getLineStyle(["color","borderWidth","borderColor"])),a.add(g),c=u}var m=function(t){if(t<=0)return n[0][1];for(var e=0;e<n.length;e++)if(n[e][0]>=t&&(0===e?0:n[e-1][0])<t)return n[e][1];return n[e-1][1]};if(!s){var v=l;l=u,u=v}this._renderTicks(t,e,i,m,o,l,u,s),this._renderPointer(t,e,i,m,o,l,u,s),this._renderTitle(t,e,i,m,o),this._renderDetail(t,e,i,m,o)},_renderTicks:function(t,e,i,n,o,a,r,s){for(var l=this.group,u=o.cx,h=o.cy,c=o.r,d=+t.get("min"),f=+t.get("max"),p=t.getModel("splitLine"),g=t.getModel("axisTick"),m=t.getModel("axisLabel"),v=t.get("splitNumber"),y=g.get("splitNumber"),x=Vo(p.get("length"),c),_=Vo(g.get("length"),c),w=a,b=(r-a)/v,S=b/y,M=p.getModel("lineStyle").getLineStyle(),I=g.getModel("lineStyle").getLineStyle(),T=0;T<=v;T++){var A=Math.cos(w),D=Math.sin(w);if(p.get("show")){var C=new _M({shape:{x1:A*c+u,y1:D*c+h,x2:A*(c-x)+u,y2:D*(c-x)+h},style:M,silent:!0});"auto"===M.stroke&&C.setStyle({stroke:n(T/v)}),l.add(C)}if(m.get("show")){var L=Mf(Go(T/v*(f-d)+d),m.get("formatter")),k=m.get("distance"),P=n(T/v);l.add(new rM({style:mo({},m,{text:L,x:A*(c-x-k)+u,y:D*(c-x-k)+h,textVerticalAlign:D<-.4?"top":D>.4?"bottom":"middle",textAlign:A<-.4?"left":A>.4?"right":"center"},{autoColor:P}),silent:!0}))}if(g.get("show")&&T!==v){for(var N=0;N<=y;N++){var A=Math.cos(w),D=Math.sin(w),O=new _M({shape:{x1:A*c+u,y1:D*c+h,x2:A*(c-_)+u,y2:D*(c-_)+h},silent:!0,style:I});"auto"===I.stroke&&O.setStyle({stroke:n((T+N/y)/v)}),l.add(O),w+=S}w-=S}else w+=b}},_renderPointer:function(t,e,i,n,o,a,r,s){var l=this.group,u=this._data;if(t.get("pointer.show")){var h=[+t.get("min"),+t.get("max")],c=[a,r],d=t.getData(),f=d.mapDimension("value");d.diff(u).add(function(e){var i=new jL({shape:{angle:a}});To(i,{shape:{angle:Bo(d.get(f,e),h,c,!0)}},t),l.add(i),d.setItemGraphicEl(e,i)}).update(function(e,i){var n=u.getItemGraphicEl(i);Io(n,{shape:{angle:Bo(d.get(f,e),h,c,!0)}},t),l.add(n),d.setItemGraphicEl(e,n)}).remove(function(t){var e=u.getItemGraphicEl(t);l.remove(e)}).execute(),d.eachItemGraphicEl(function(t,e){var i=d.getItemModel(e),a=i.getModel("pointer");t.setShape({x:o.cx,y:o.cy,width:Vo(a.get("width"),o.r),r:Vo(a.get("length"),o.r)}),t.useStyle(i.getModel("itemStyle").getItemStyle()),"auto"===t.style.fill&&t.setStyle("fill",n(Bo(d.get(f,e),h,[0,1],!0))),fo(t,i.getModel("emphasis.itemStyle").getItemStyle())}),this._data=d}else u&&u.eachItemGraphicEl(function(t){l.remove(t)})},_renderTitle:function(t,e,i,n,o){var a=t.getData(),r=a.mapDimension("value"),s=t.getModel("title");if(s.get("show")){var l=s.get("offsetCenter"),u=o.cx+Vo(l[0],o.r),h=o.cy+Vo(l[1],o.r),c=+t.get("min"),d=+t.get("max"),f=n(Bo(t.getData().get(r,0),[c,d],[0,1],!0));this.group.add(new rM({silent:!0,style:mo({},s,{x:u,y:h,text:a.getName(0),textAlign:"center",textVerticalAlign:"middle"},{autoColor:f,forceRich:!0})}))}},_renderDetail:function(t,e,i,n,o){var a=t.getModel("detail"),r=+t.get("min"),s=+t.get("max");if(a.get("show")){var l=a.get("offsetCenter"),u=o.cx+Vo(l[0],o.r),h=o.cy+Vo(l[1],o.r),c=Vo(a.get("width"),o.r),d=Vo(a.get("height"),o.r),f=t.getData(),p=f.get(f.mapDimension("value"),0),g=n(Bo(p,[r,s],[0,1],!0));this.group.add(new rM({silent:!0,style:mo({},a,{x:u,y:h,text:Mf(p,a.get("formatter")),textWidth:isNaN(c)?null:c,textHeight:isNaN(d)?null:d,textAlign:"center",textVerticalAlign:"middle"},{autoColor:g,forceRich:!0})}))}}}),Hs({type:"series.funnel",init:function(t){qL.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()},this._defaultLabelLine(t)},getInitialData:function(t,e){return oC(this,["value"])},_defaultLabelLine:function(t){Ci(t,"labelLine",["show"]);var e=t.labelLine,i=t.emphasis.labelLine;e.show=e.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},getDataParams:function(t){var e=this.getData(),i=qL.superCall(this,"getDataParams",t),n=e.mapDimension("value"),o=e.getSum(n);return i.percent=o?+(e.get(n,t)/o*100).toFixed(2):0,i.$vars.push("percent"),i},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1,type:"solid"}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}}}})),KL=If.prototype,$L=["itemStyle","opacity"];KL.updateData=function(t,e,i){var n=this.childAt(0),o=t.hostModel,a=t.getItemModel(e),s=t.getItemLayout(e),l=t.getItemModel(e).get($L);l=null==l?1:l,n.useStyle({}),i?(n.setShape({points:s.points}),n.setStyle({opacity:0}),To(n,{style:{opacity:l}},o,e)):Io(n,{style:{opacity:l},shape:{points:s.points}},o,e);var u=a.getModel("itemStyle"),h=t.getItemVisual(e,"color");n.setStyle(r({lineJoin:"round",fill:h},u.getItemStyle(["opacity"]))),n.hoverStyle=u.getModel("emphasis").getItemStyle(),this._updateLabel(t,e),fo(this)},KL._updateLabel=function(t,e){var i=this.childAt(1),n=this.childAt(2),o=t.hostModel,a=t.getItemModel(e),r=t.getItemLayout(e).label,s=t.getItemVisual(e,"color");Io(i,{shape:{points:r.linePoints||r.linePoints}},o,e),Io(n,{style:{x:r.x,y:r.y}},o,e),n.attr({rotation:r.rotation,origin:[r.x,r.y],z2:10});var l=a.getModel("label"),u=a.getModel("emphasis.label"),h=a.getModel("labelLine"),c=a.getModel("emphasis.labelLine"),s=t.getItemVisual(e,"color");go(n.style,n.hoverStyle={},l,u,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:t.getName(e),autoColor:s,useInsideStyle:!!r.inside},{textAlign:r.textAlign,textVerticalAlign:r.verticalAlign}),n.ignore=n.normalIgnore=!l.get("show"),n.hoverIgnore=!u.get("show"),i.ignore=i.normalIgnore=!h.get("show"),i.hoverIgnore=!c.get("show"),i.setStyle({stroke:s}),i.setStyle(h.getModel("lineStyle").getLineStyle()),i.hoverStyle=c.getModel("lineStyle").getLineStyle()},u(If,tb);Ar.extend({type:"funnel",render:function(t,e,i){var n=t.getData(),o=this._data,a=this.group;n.diff(o).add(function(t){var e=new If(n,t);n.setItemGraphicEl(t,e),a.add(e)}).update(function(t,e){var i=o.getItemGraphicEl(e);i.updateData(n,t),a.add(i),n.setItemGraphicEl(t,i)}).remove(function(t){var e=o.getItemGraphicEl(t);a.remove(e)}).execute(),this._data=n},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});Bs(uC("funnel")),zs(function(t,e,i){t.eachSeriesByType("funnel",function(t){var i=t.getData(),n=i.mapDimension("value"),o=t.get("sort"),a=Tf(t,e),r=Af(i,o),s=[Vo(t.get("minSize"),a.width),Vo(t.get("maxSize"),a.width)],l=i.getDataExtent(n),u=t.get("min"),h=t.get("max");null==u&&(u=Math.min(l[0],0)),null==h&&(h=l[1]);var c=t.get("funnelAlign"),d=t.get("gap"),f=(a.height-d*(i.count()-1))/i.count(),p=a.y,g=function(t,e){var o,r=Bo(i.get(n,t)||0,[u,h],s,!0);switch(c){case"left":o=a.x;break;case"center":o=a.x+(a.width-r)/2;break;case"right":o=a.x+a.width-r}return[[o,e],[o+r,e]]};"ascending"===o&&(f=-f,d=-d,p+=a.height,r=r.reverse());for(var m=0;m<r.length;m++){var v=r[m],y=r[m+1],x=i.getItemModel(v).get("itemStyle.height");null==x?x=f:(x=Vo(x,a.height),"ascending"===o&&(x=-x));var _=g(v,p),w=g(y,p+x);p+=x+d,i.setItemLayout(v,{points:_.concat(w.slice().reverse())})}Df(i)})}),Os(fC("funnel"));var JL=function(t,e,i,n,o){aD.call(this,t,e,i),this.type=n||"value",this.axisIndex=o};JL.prototype={constructor:JL,model:null,isHorizontal:function(){return"horizontal"!==this.coordinateSystem.getModel().get("layout")}},u(JL,aD);var QL=function(t,e,i,n,o,a){e[0]=Pf(e[0],i),e[1]=Pf(e[1],i),t=t||0;var r=i[1]-i[0];null!=o&&(o=Pf(o,[0,r])),null!=a&&(a=Math.max(a,null!=o?o:0)),"all"===n&&(o=a=Math.abs(e[1]-e[0]),n=0);var s=kf(e,n);e[n]+=t;var l=o||0,u=i.slice();s.sign<0?u[0]+=l:u[1]-=l,e[n]=Pf(e[n],u);h=kf(e,n);null!=o&&(h.sign!==s.sign||h.span<o)&&(e[1-n]=e[n]+s.sign*o);var h=kf(e,n);return null!=a&&h.span>a&&(e[1-n]=e[n]+h.sign*a),e},tk=d,ek=Math.min,ik=Math.max,nk=Math.floor,ok=Math.ceil,ak=Go,rk=Math.PI;Nf.prototype={type:"parallel",constructor:Nf,_init:function(t,e,i){var n=t.dimensions,o=t.parallelAxisIndex;tk(n,function(t,i){var n=o[i],a=e.getComponent("parallelAxis",n),r=this._axesMap.set(t,new JL(t,Hl(a),[0,0],a.get("type"),n)),s="category"===r.type;r.onBand=s&&a.get("boundaryGap"),r.inverse=a.get("inverse"),a.axis=r,r.model=a,r.coordinateSystem=a.coordinateSystem=this},this)},update:function(t,e){this._updateAxesFromSeries(this._model,t)},containPoint:function(t){var e=this._makeLayoutInfo(),i=e.axisBase,n=e.layoutBase,o=e.pixelDimIndex,a=t[1-o],r=t[o];return a>=i&&a<=i+e.axisLength&&r>=n&&r<=n+e.layoutLength},getModel:function(){return this._model},_updateAxesFromSeries:function(t,e){e.eachSeries(function(i){if(t.contains(i,e)){var n=i.getData();tk(this.dimensions,function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(n,n.mapDimension(t)),Wl(e.scale,e.model)},this)}},this)},resize:function(t,e){this._rect=ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},getRect:function(){return this._rect},_makeLayoutInfo:function(){var t,e=this._model,i=this._rect,n=["x","y"],o=["width","height"],a=e.get("layout"),r="horizontal"===a?0:1,s=i[o[r]],l=[0,s],u=this.dimensions.length,h=Of(e.get("axisExpandWidth"),l),c=Of(e.get("axisExpandCount")||0,[0,u]),d=e.get("axisExpandable")&&u>3&&u>c&&c>1&&h>0&&s>0,f=e.get("axisExpandWindow");f?(t=Of(f[1]-f[0],l),f[1]=f[0]+t):(t=Of(h*(c-1),l),(f=[h*(e.get("axisExpandCenter")||nk(u/2))-t/2])[1]=f[0]+t);var p=(s-t)/(u-c);p<3&&(p=0);var g=[nk(ak(f[0]/h,1))+1,ok(ak(f[1]/h,1))-1],m=p/h*f[0];return{layout:a,pixelDimIndex:r,layoutBase:i[n[r]],layoutLength:s,axisBase:i[n[1-r]],axisLength:i[o[1-r]],axisExpandable:d,axisExpandWidth:h,axisCollapseWidth:p,axisExpandWindow:f,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:m}},_layoutAxes:function(){var t=this._rect,e=this._axesMap,i=this.dimensions,n=this._makeLayoutInfo(),o=n.layout;e.each(function(t){var e=[0,n.axisLength],i=t.inverse?1:0;t.setExtent(e[i],e[1-i])}),tk(i,function(e,i){var a=(n.axisExpandable?Rf:Ef)(i,n),r={horizontal:{x:a.position,y:n.axisLength},vertical:{x:0,y:a.position}},s={horizontal:rk/2,vertical:0},l=[r[o].x+t.x,r[o].y+t.y],u=s[o],h=xt();Mt(h,h,u),St(h,h,l),this._axesLayout[e]={position:l,rotation:u,transform:h,axisNameAvailableWidth:a.axisNameAvailableWidth,axisLabelShow:a.axisLabelShow,nameTruncateMaxWidth:a.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},getAxis:function(t){return this._axesMap.get(t)},dataToPoint:function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},eachActiveState:function(t,e,i,n){null==i&&(i=0),null==n&&(n=t.count());var o=this._axesMap,a=this.dimensions,r=[],s=[];d(a,function(e){r.push(t.mapDimension(e)),s.push(o.get(e).model)});for(var l=this.hasAxisBrushed(),u=i;u<n;u++){var h;if(l){h="active";for(var c=t.getValues(r,u),f=0,p=a.length;f<p;f++)if("inactive"===s[f].getActiveState(c[f])){h="inactive";break}}else h="normal";e(h,u)}},hasAxisBrushed:function(){for(var t=this.dimensions,e=this._axesMap,i=!1,n=0,o=t.length;n<o;n++)"normal"!==e.get(t[n]).model.getActiveState()&&(i=!0);return i},axisCoordToPoint:function(t,e){return Do([t,0],this._axesLayout[e].transform)},getAxisLayout:function(t){return i(this._axesLayout[t])},getSlidedAxisExpandWindow:function(t){var e=this._makeLayoutInfo(),i=e.pixelDimIndex,n=e.axisExpandWindow.slice(),o=n[1]-n[0],a=[0,e.axisExpandWidth*(e.axisCount-1)];if(!this.containPoint(t))return{behavior:"none",axisExpandWindow:n};var r,s=t[i]-e.layoutBase-e.axisExpandWindow0Pos,l="slide",u=e.axisCollapseWidth,h=this._model.get("axisExpandSlideTriggerArea"),c=null!=h[0];if(u)c&&u&&s<o*h[0]?(l="jump",r=s-o*h[2]):c&&u&&s>o*(1-h[0])?(l="jump",r=s-o*(1-h[2])):(r=s-o*h[1])>=0&&(r=s-o*(1-h[1]))<=0&&(r=0),(r*=e.axisExpandWidth/u)?QL(r,n,a,"all"):l="none";else{o=n[1]-n[0];(n=[ik(0,a[1]*s/o-o/2)])[1]=ek(a[1],n[0]+o),n[0]=n[1]-o}return{axisExpandWindow:n,behavior:l}}},Fa.register("parallel",{create:function(t,e){var i=[];return t.eachComponent("parallel",function(n,o){var a=new Nf(n,t,e);a.name="parallel_"+o,a.resize(n,e),n.coordinateSystem=a,a.model=n,i.push(a)}),t.eachSeries(function(e){if("parallel"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"parallel",index:e.get("parallelIndex"),id:e.get("parallelId")})[0];e.coordinateSystem=i.coordinateSystem}}),i}});var sk=lI.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return Qb([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},setActiveIntervals:function(t){var e=this.activeIntervals=i(t);if(e)for(var n=e.length-1;n>=0;n--)Fo(e[n])},getActiveState:function(t){var e=this.activeIntervals;if(!e.length)return"normal";if(null==t||isNaN(t))return"inactive";if(1===e.length){var i=e[0];if(i[0]<=t&&t<=i[1])return"active"}else for(var n=0,o=e.length;n<o;n++)if(e[n][0]<=t&&t<=e[n][1])return"active";return"inactive"}}),lk={type:"value",dim:null,areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};n(sk.prototype,UA),ED("parallel",sk,function(t,e){return e.type||(e.data?"category":"value")},lk),lI.extend({type:"parallel",dependencies:["parallelAxis"],coordinateSystem:null,dimensions:null,parallelAxisIndex:null,layoutMode:"box",defaultOption:{zlevel:0,z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},init:function(){lI.prototype.init.apply(this,arguments),this.mergeOption({})},mergeOption:function(t){var e=this.option;t&&n(e,t,!0),this._initDimensions()},contains:function(t,e){var i=t.get("parallelIndex");return null!=i&&e.getComponent("parallel",i)===this},setAxisExpand:function(t){d(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(e){t.hasOwnProperty(e)&&(this.option[e]=t[e])},this)},_initDimensions:function(){var t=this.dimensions=[],e=this.parallelAxisIndex=[];d(g(this.dependentModels.parallelAxis,function(t){return(t.get("parallelIndex")||0)===this.componentIndex},this),function(i){t.push("dim"+i.get("dim")),e.push(i.componentIndex)})}}),Es({type:"axisAreaSelect",event:"axisAreaSelected"},function(t,e){e.eachComponent({mainType:"parallelAxis",query:t},function(e){e.axis.model.setActiveIntervals(t.intervals)})}),Es("parallelAxisExpand",function(t,e){e.eachComponent({mainType:"parallel",query:t},function(e){e.setAxisExpand(t)})});var uk=v,hk=d,ck=f,dk=Math.min,fk=Math.max,pk=Math.pow,gk=1e4,mk=6,vk=6,yk="globalPan",xk={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},_k={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},wk={brushStyle:{lineWidth:2,stroke:"rgba(0,0,0,0.3)",fill:"rgba(0,0,0,0.1)"},transformable:!0,brushMode:"single",removeOnClick:!1},bk=0;zf.prototype={constructor:zf,enableBrush:function(t){return this._brushType&&Vf(this),t.brushType&&Bf(this,t),this},setPanels:function(t){if(t&&t.length){var e=this._panels={};d(t,function(t){e[t.panelId]=i(t)})}else this._panels=null;return this},mount:function(t){t=t||{},this._enableGlobalPan=t.enableGlobalPan;var e=this.group;return this._zr.add(e),e.attr({position:t.position||[0,0],rotation:t.rotation||0,scale:t.scale||[1,1]}),this._transform=e.getLocalTransform(),this},eachCover:function(t,e){hk(this._covers,t,e)},updateCovers:function(t){function e(t,e){return(null!=t.id?t.id:a+e)+"-"+t.brushType}function o(e,i){var n=t[e];if(null!=i&&r[i]===u)s[e]=r[i];else{var o=s[e]=null!=i?(r[i].__brushOption=n,r[i]):Ff(l,Gf(l,n));Zf(l,o)}}t=f(t,function(t){return n(i(wk),t,!0)});var a="\0-brush-index-",r=this._covers,s=this._covers=[],l=this,u=this._creatingCover;return new Xs(r,t,function(t,i){return e(t.__brushOption,i)},e).add(o).update(o).remove(function(t){r[t]!==u&&l.group.remove(r[t])}).execute(),this},unmount:function(){return this.enableBrush(!1),Yf(this),this._zr.remove(this.group),this},dispose:function(){this.unmount(),this.off()}},h(zf,fw);var Sk={mousedown:function(t){if(this._dragging)mp.call(this,t);else if(!t.target||!t.target.draggable){dp(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null,(this._creatingPanel=Xf(this,t,e))&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);if(cp(this,t,e),this._dragging){dp(t);var i=pp(this,t,e,!1);i&&qf(this,i)}},mouseup:mp},Mk={lineX:vp(0),lineY:vp(1),rect:{createCover:function(t,e){return Jf(uk(rp,function(t){return t},function(t){return t}),t,e,["w","e","n","s","se","sw","ne","nw"])},getCreatingRange:function(t){var e=$f(t);return np(e[1][0],e[1][1],e[0][0],e[0][1])},updateCoverShape:function(t,e,i,n){Qf(t,e,i,n)},updateCommon:tp,contain:fp},polygon:{createCover:function(t,e){var i=new tb;return i.add(new gM({name:"main",style:ip(e),silent:!0})),i},getCreatingRange:function(t){return t},endCreating:function(t,e){e.remove(e.childAt(0)),e.add(new pM({name:"main",draggable:!0,drift:uk(sp,t,e),ondragend:uk(qf,t,{isEnd:!0})}))},updateCoverShape:function(t,e,i,n){e.childAt(0).setShape({points:up(t,e,i)})},updateCommon:tp,contain:fp}},Ik=["axisLine","axisTickLabel","axisName"],Tk=Ws({type:"parallelAxis",init:function(t,e){Tk.superApply(this,"init",arguments),(this._brushController=new zf(e.getZr())).on("brush",m(this._onBrush,this))},render:function(t,e,i,n){if(!bp(t,e,n)){this.axisModel=t,this.api=i,this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new tb,this.group.add(this._axisGroup),t.get("show")){var r=Mp(t,e),s=r.coordinateSystem,l=t.getAreaSelectStyle(),u=l.width,h=t.axis.dim,c=a({strokeContainThreshold:u},s.getAxisLayout(h)),f=new FD(t,c);d(Ik,f.add,f),this._axisGroup.add(f.getGroup()),this._refreshBrushController(c,l,t,r,u,i);var p=n&&!1===n.animation?null:t;Lo(o,this._axisGroup,p)}}},_refreshBrushController:function(t,e,i,n,o,a){var r=i.axis.getExtent(),s=r[1]-r[0],l=Math.min(30,.1*Math.abs(s)),u=de.create({x:r[0],y:-o/2,width:s,height:o});u.x-=l,u.width+=2*l,this._brushController.mount({enableGlobalPan:!0,rotation:t.rotation,position:t.position}).setPanels([{panelId:"pl",clipPath:yp(u),isTargetByCursor:_p(u,a,n),getLinearBrushOtherExtent:xp(u,0)}]).enableBrush({brushType:"lineX",brushStyle:e,removeOnClick:!0}).updateCovers(Sp(i))},_onBrush:function(t,e){var i=this.axisModel,n=i.axis,o=f(t,function(t){return[n.coordToData(t.range[0],!0),n.coordToData(t.range[1],!0)]});(!i.option.realtime===e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:i.id,intervals:o})},dispose:function(){this._brushController.dispose()}});Ws({type:"parallel",render:function(t,e,i){this._model=t,this._api=i,this._handlers||(this._handlers={},d(Ak,function(t,e){i.getZr().on(e,this._handlers[e]=m(t,this))},this)),Nr(this,"_throttledDispatchExpand",t.get("axisExpandRate"),"fixRate")},dispose:function(t,e){d(this._handlers,function(t,i){e.getZr().off(i,t)}),this._handlers=null},_throttledDispatchExpand:function(t){this._dispatchExpand(t)},_dispatchExpand:function(t){t&&this._api.dispatchAction(a({type:"parallelAxisExpand"},t))}});var Ak={mousedown:function(t){Ip(this,"click")&&(this._mouseDownPoint=[t.offsetX,t.offsetY])},mouseup:function(t){var e=this._mouseDownPoint;if(Ip(this,"click")&&e){var i=[t.offsetX,t.offsetY];if(Math.pow(e[0]-i[0],2)+Math.pow(e[1]-i[1],2)>5)return;var n=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);"none"!==n.behavior&&this._dispatchExpand({axisExpandWindow:n.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&Ip(this,"mousemove")){var e=this._model,i=e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]),n=i.behavior;"jump"===n&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand("none"===n?null:{axisExpandWindow:i.axisExpandWindow,animation:"jump"===n&&null})}}};Ns(function(t){Cf(t),Lf(t)}),YI.extend({type:"series.parallel",dependencies:["parallel"],visualColorAccessPath:"lineStyle.color",getInitialData:function(t,e){var i=this.getSource();return Tp(i,this),ml(i,this)},getRawIndicesByActiveState:function(t){var e=this.coordinateSystem,i=this.getData(),n=[];return e.eachActiveState(i,function(e,o){t===e&&n.push(i.getRawIndex(o))}),n},defaultOption:{zlevel:0,z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"}});var Dk=.3,Ck=(Ar.extend({type:"parallel",init:function(){this._dataGroup=new tb,this.group.add(this._dataGroup),this._data,this._initialized},render:function(t,e,i,n){var o=this._dataGroup,a=t.getData(),r=this._data,s=t.coordinateSystem,l=s.dimensions,u=kp(t);if(a.diff(r).add(function(t){Pp(Lp(a,o,t,l,s),a,t,u)}).update(function(e,i){var o=r.getItemGraphicEl(i),h=Cp(a,e,l,s);a.setItemGraphicEl(e,o),Io(o,{shape:{points:h}},n&&!1===n.animation?null:t,e),Pp(o,a,e,u)}).remove(function(t){var e=r.getItemGraphicEl(t);o.remove(e)}).execute(),!this._initialized){this._initialized=!0;var h=Dp(s,t,function(){setTimeout(function(){o.removeClipPath()})});o.setClipPath(h)}this._data=a},incrementalPrepareRender:function(t,e,i){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},incrementalRender:function(t,e,i){for(var n=e.getData(),o=e.coordinateSystem,a=o.dimensions,r=kp(e),s=t.start;s<t.end;s++){var l=Lp(n,this._dataGroup,s,a,o);l.incremental=!0,Pp(l,n,s,r)}},dispose:function(){},remove:function(){this._dataGroup&&this._dataGroup.removeAll(),this._data=null}}),["lineStyle","normal","opacity"]);Bs({seriesType:"parallel",reset:function(t,e,i){var n=t.getModel("itemStyle"),o=t.getModel("lineStyle"),a=e.get("color"),r=o.get("color")||n.get("color")||a[t.seriesIndex%a.length],s=t.get("inactiveOpacity"),l=t.get("activeOpacity"),u=t.getModel("lineStyle").getLineStyle(),h=t.coordinateSystem,c=t.getData(),d={normal:u.opacity,active:l,inactive:s};return c.setVisual("color",r),{progress:function(t,e){h.eachActiveState(e,function(t,i){var n=d[t];if("normal"===t&&e.hasItemOption){var o=e.getItemModel(i).get(Ck,!0);null!=o&&(n=o)}e.setItemVisual(i,"opacity",n)},t.start,t.end)}}}});var Lk=YI.extend({type:"series.sankey",layoutInfo:null,getInitialData:function(t){var e=t.edges||t.links,i=t.data||t.nodes;if(i&&e)return DL(i,e,this,!0).data},setNodePosition:function(t,e){var i=this.option.data[t];i.localX=e[0],i.localY=e[1]},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},formatTooltip:function(t,e,i){if("edge"===i){var n=this.getDataParams(t,i),o=n.data,a=o.source+" -- "+o.target;return n.value&&(a+=" : "+n.value),ia(a)}return Lk.superCall(this,"formatTooltip",t,e)},optionUpdated:function(){var t=this.option;!0===t.focusNodeAdjacency&&(t.focusNodeAdjacency="allEdges")},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",layout:null,left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,focusNodeAdjacency:!1,layoutIterations:32,label:{show:!0,position:"right",color:"#000",fontSize:12},itemStyle:{borderWidth:1,borderColor:"#333"},lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.6}},animationEasing:"linear",animationDuration:1e3}}),kk=["itemStyle","opacity"],Pk=["lineStyle","opacity"],Nk=Un({shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,cpx2:0,cpy2:0,extent:0,orient:""},buildPath:function(t,e){var i=e.extent;"vertical"===e.orient?(t.moveTo(e.x1,e.y1),t.bezierCurveTo(e.cpx1,e.cpy1,e.cpx2,e.cpy2,e.x2,e.y2),t.lineTo(e.x2+i,e.y2),t.bezierCurveTo(e.cpx2+i,e.cpy2,e.cpx1+i,e.cpy1,e.x1+i,e.y1)):(t.moveTo(e.x1,e.y1),t.bezierCurveTo(e.cpx1,e.cpy1,e.cpx2,e.cpy2,e.x2,e.y2),t.lineTo(e.x2,e.y2+i),t.bezierCurveTo(e.cpx2,e.cpy2+i,e.cpx1,e.cpy1+i,e.x1,e.y1+i)),t.closePath()}});Zs({type:"sankey",_model:null,_focusAdjacencyDisabled:!1,render:function(t,e,i){var n=this,o=t.getGraph(),a=this.group,r=t.layoutInfo,s=r.width,l=r.height,u=t.getData(),h=t.getData("edge"),c=t.get("orient");this._model=t,a.removeAll(),a.attr("position",[r.x,r.y]),o.eachEdge(function(e){var i=new Nk;i.dataIndex=e.dataIndex,i.seriesIndex=t.seriesIndex,i.dataType="edge";var n,o,r,u,d,f,p,g,m=e.getModel("lineStyle"),v=m.get("curveness"),y=e.node1.getLayout(),x=e.node1.getModel(),_=x.get("localX"),w=x.get("localY"),b=e.node2.getLayout(),S=e.node2.getModel(),M=S.get("localX"),I=S.get("localY"),T=e.getLayout();switch(i.shape.extent=Math.max(1,T.dy),i.shape.orient=c,"vertical"===c?(n=(null!=_?_*s:y.x)+T.sy,o=(null!=w?w*l:y.y)+y.dy,r=(null!=M?M*s:b.x)+T.ty,d=n,f=o*(1-v)+(u=null!=I?I*l:b.y)*v,p=r,g=o*v+u*(1-v)):(n=(null!=_?_*s:y.x)+y.dx,o=(null!=w?w*l:y.y)+T.sy,d=n*(1-v)+(r=null!=M?M*s:b.x)*v,f=o,p=n*v+r*(1-v),g=u=(null!=I?I*l:b.y)+T.ty),i.setShape({x1:n,y1:o,x2:r,y2:u,cpx1:d,cpy1:f,cpx2:p,cpy2:g}),i.setStyle(m.getItemStyle()),i.style.fill){case"source":i.style.fill=e.node1.getVisual("color");break;case"target":i.style.fill=e.node2.getVisual("color")}fo(i,e.getModel("emphasis.lineStyle").getItemStyle()),a.add(i),h.setItemGraphicEl(e.dataIndex,i)}),o.eachNode(function(e){var i=e.getLayout(),n=e.getModel(),o=n.get("localX"),r=n.get("localY"),h=n.getModel("label"),c=n.getModel("emphasis.label"),d=new yM({shape:{x:null!=o?o*s:i.x,y:null!=r?r*l:i.y,width:i.dx,height:i.dy},style:n.getModel("itemStyle").getItemStyle()}),f=e.getModel("emphasis.itemStyle").getItemStyle();go(d.style,f,h,c,{labelFetcher:t,labelDataIndex:e.dataIndex,defaultText:e.id,isRectText:!0}),d.setStyle("fill",e.getVisual("color")),fo(d,f),a.add(d),u.setItemGraphicEl(e.dataIndex,d),d.dataType="node"}),u.eachItemGraphicEl(function(e,o){var a=u.getItemModel(o);a.get("draggable")&&(e.drift=function(e,a){n._focusAdjacencyDisabled=!0,this.shape.x+=e,this.shape.y+=a,this.dirty(),i.dispatchAction({type:"dragNode",seriesId:t.id,dataIndex:u.getRawIndex(o),localX:this.shape.x/s,localY:this.shape.y/l})},e.ondragend=function(){n._focusAdjacencyDisabled=!1},e.draggable=!0,e.cursor="move"),a.get("focusNodeAdjacency")&&(e.off("mouseover").on("mouseover",function(){n._focusAdjacencyDisabled||i.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,dataIndex:e.dataIndex})}),e.off("mouseout").on("mouseout",function(){n._focusAdjacencyDisabled||i.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))}),h.eachItemGraphicEl(function(e,o){h.getItemModel(o).get("focusNodeAdjacency")&&(e.off("mouseover").on("mouseover",function(){n._focusAdjacencyDisabled||i.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,edgeDataIndex:e.dataIndex})}),e.off("mouseout").on("mouseout",function(){n._focusAdjacencyDisabled||i.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))}),!this._data&&t.get("animation")&&a.setClipPath(zp(a.getBoundingRect(),t,function(){a.removeClipPath()})),this._data=t.getData()},dispose:function(){},focusNodeAdjacency:function(t,e,i,n){var o=this._model.getData(),a=o.graph,r=n.dataIndex,s=o.getItemModel(r),l=n.edgeDataIndex;if(null!=r||null!=l){var u=a.getNodeByIndex(r),h=a.getEdgeByIndex(l);if(a.eachNode(function(t){Ep(t,kk,.1)}),a.eachEdge(function(t){Ep(t,Pk,.1)}),u){Rp(u,kk);var c=s.get("focusNodeAdjacency");"outEdges"===c?d(u.outEdges,function(t){t.dataIndex<0||(Rp(t,Pk),Rp(t.node2,kk))}):"inEdges"===c?d(u.inEdges,function(t){t.dataIndex<0||(Rp(t,Pk),Rp(t.node1,kk))}):"allEdges"===c&&d(u.edges,function(t){t.dataIndex<0||(Rp(t,Pk),Rp(t.node1,kk),Rp(t.node2,kk))})}h&&(Rp(h,Pk),Rp(h.node1,kk),Rp(h.node2,kk))}},unfocusNodeAdjacency:function(t,e,i,n){var o=this._model.getGraph();o.eachNode(function(t){Ep(t,kk)}),o.eachEdge(function(t){Ep(t,Pk)})}}),Es({type:"dragNode",event:"dragNode",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"sankey",query:t},function(e){e.setNodePosition(t.dataIndex,[t.localX,t.localY])})});zs(function(t,e,i){t.eachSeriesByType("sankey",function(t){var i=t.get("nodeWidth"),n=t.get("nodeGap"),o=Bp(t,e);t.layoutInfo=o;var a=o.width,r=o.height,s=t.getGraph(),l=s.nodes,u=s.edges;Gp(l),Vp(l,u,i,n,a,r,0!==g(l,function(t){return 0===t.getLayout().value}).length?0:t.get("layoutIterations"),t.get("orient"))})}),Bs(function(t,e){t.eachSeriesByType("sankey",function(t){var e=t.getGraph().nodes;if(e.length){var i=1/0,n=-1/0;d(e,function(t){var e=t.getLayout().value;e<i&&(i=e),e>n&&(n=e)}),d(e,function(e){var o=new hL({type:"color",mappingMethod:"linear",dataExtent:[i,n],visual:t.get("color")}).mapValueToVisual(e.getLayout().value);e.setVisual("color",o);var a=e.getModel().get("itemStyle.color");null!=a&&e.setVisual("color",a)})}})});var Ok={_baseAxisDim:null,getInitialData:function(t,e){var i,n,o=e.getComponent("xAxis",this.get("xAxisIndex")),a=e.getComponent("yAxis",this.get("yAxisIndex")),r=o.get("type"),s=a.get("type");"category"===r?(t.layout="horizontal",i=o.getOrdinalMeta(),n=!0):"category"===s?(t.layout="vertical",i=a.getOrdinalMeta(),n=!0):t.layout=t.layout||"horizontal";var l=["x","y"],u="horizontal"===t.layout?0:1,h=this._baseAxisDim=l[u],c=l[1-u],f=[o,a],p=f[u].get("type"),g=f[1-u].get("type"),m=t.data;if(m&&n){var v=[];d(m,function(t,e){var i;t.value&&y(t.value)?(i=t.value.slice(),t.value.unshift(e)):y(t)?(i=t.slice(),t.unshift(e)):i=t,v.push(i)}),t.data=v}var x=this.defaultValueDimensions;return oC(this,{coordDimensions:[{name:h,type:qs(p),ordinalMeta:i,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:c,type:qs(g),dimsDef:x.slice()}],dimensionsCount:x.length+1})},getBaseAxis:function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+"Axis",this.get(t+"AxisIndex")).axis}};h(YI.extend({type:"series.boxplot",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,shadowColor:"rgba(0,0,0,0.4)"}},animationEasing:"elasticOut",animationDuration:800}}),Ok,!0);var Ek=["itemStyle"],Rk=["emphasis","itemStyle"],zk=(Ar.extend({type:"boxplot",render:function(t,e,i){var n=t.getData(),o=this.group,a=this._data;this._data||o.removeAll();var r="horizontal"===t.get("layout")?1:0;n.diff(a).add(function(t){if(n.hasValue(t)){var e=ig(n.getItemLayout(t),n,t,r,!0);n.setItemGraphicEl(t,e),o.add(e)}}).update(function(t,e){var i=a.getItemGraphicEl(e);if(n.hasValue(t)){var s=n.getItemLayout(t);i?ng(s,i,n,t):i=ig(s,n,t,r),o.add(i),n.setItemGraphicEl(t,i)}else o.remove(i)}).remove(function(t){var e=a.getItemGraphicEl(t);e&&o.remove(e)}).execute(),this._data=n},remove:function(t){var e=this.group,i=this._data;this._data=null,i&&i.eachItemGraphicEl(function(t){t&&e.remove(t)})},dispose:B}),Pn.extend({type:"boxplotBoxPath",shape:{},buildPath:function(t,e){var i=e.points,n=0;for(t.moveTo(i[n][0],i[n][1]),n++;n<4;n++)t.lineTo(i[n][0],i[n][1]);for(t.closePath();n<i.length;n++)t.moveTo(i[n][0],i[n][1]),n++,t.lineTo(i[n][0],i[n][1])}})),Bk=["itemStyle","borderColor"],Vk=d;Bs(function(t,e){var i=t.get("color");t.eachRawSeriesByType("boxplot",function(e){var n=i[e.seriesIndex%i.length],o=e.getData();o.setVisual({legendSymbol:"roundRect",color:e.get(Bk)||n}),t.isSeriesFiltered(e)||o.each(function(t){var e=o.getItemModel(t);o.setItemVisual(t,{color:e.get(Bk,!0)})})})}),zs(function(t){var e=ag(t);Vk(e,function(t){var e=t.seriesModels;e.length&&(rg(t),Vk(e,function(e,i){sg(e,t.boxOffsetList[i],t.boxWidthList[i])}))})}),h(YI.extend({type:"series.candlestick",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,itemStyle:{color:"#c23531",color0:"#314656",borderWidth:1,borderColor:"#c23531",borderColor0:"#314656"},emphasis:{itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationUpdate:!1,animationEasing:"linear",animationDuration:300},getShadowDim:function(){return"open"},brushSelector:function(t,e,i){var n=e.getItemLayout(t);return n&&i.rect(n.brushRect)}}),Ok,!0);var Gk=["itemStyle"],Fk=["emphasis","itemStyle"],Wk=["color","color0","borderColor","borderColor0"],Hk=(Ar.extend({type:"candlestick",render:function(t,e,i){this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},incrementalPrepareRender:function(t,e,i){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,i,n){this._isLargeDraw?this._incrementalRenderLarge(t,e):this._incrementalRenderNormal(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(t){var e=t.getData(),i=this._data,n=this.group,o=e.getLayout("isSimpleBox");this._data||n.removeAll(),e.diff(i).add(function(i){if(e.hasValue(i)){var a,r=e.getItemLayout(i);To(a=lg(r,0,!0),{shape:{points:r.ends}},t,i),ug(a,e,i,o),n.add(a),e.setItemGraphicEl(i,a)}}).update(function(a,r){var s=i.getItemGraphicEl(r);if(e.hasValue(a)){var l=e.getItemLayout(a);s?Io(s,{shape:{points:l.ends}},t,a):s=lg(l),ug(s,e,a,o),n.add(s),e.setItemGraphicEl(a,s)}else n.remove(s)}).remove(function(t){var e=i.getItemGraphicEl(t);e&&n.remove(e)}).execute(),this._data=e},_renderLarge:function(t){this._clear(),cg(t,this.group)},_incrementalRenderNormal:function(t,e){for(var i,n=e.getData(),o=n.getLayout("isSimpleBox");null!=(i=t.next());){var a;ug(a=lg(n.getItemLayout(i)),n,i,o),a.incremental=!0,this.group.add(a)}},_incrementalRenderLarge:function(t,e){cg(e,this.group,!0)},remove:function(t){this._clear()},_clear:function(){this.group.removeAll(),this._data=null},dispose:B}),Pn.extend({type:"normalCandlestickBox",shape:{},buildPath:function(t,e){var i=e.points;this.__simpleBox?(t.moveTo(i[4][0],i[4][1]),t.lineTo(i[6][0],i[6][1])):(t.moveTo(i[0][0],i[0][1]),t.lineTo(i[1][0],i[1][1]),t.lineTo(i[2][0],i[2][1]),t.lineTo(i[3][0],i[3][1]),t.closePath(),t.moveTo(i[4][0],i[4][1]),t.lineTo(i[5][0],i[5][1]),t.moveTo(i[6][0],i[6][1]),t.lineTo(i[7][0],i[7][1]))}})),Zk=Pn.extend({type:"largeCandlestickBox",shape:{},buildPath:function(t,e){for(var i=e.points,n=0;n<i.length;)if(this.__sign===i[n++]){var o=i[n++];t.moveTo(o,i[n++]),t.lineTo(o,i[n++])}else n+=3}}),Uk=["itemStyle","borderColor"],Xk=["itemStyle","borderColor0"],jk=["itemStyle","color"],Yk=["itemStyle","color0"],qk={seriesType:"candlestick",plan:$I(),performRawSeries:!0,reset:function(t,e){function i(t,e){return e.get(t>0?jk:Yk)}function n(t,e){return e.get(t>0?Uk:Xk)}var o=t.getData(),a=t.pipelineContext.large;if(o.setVisual({legendSymbol:"roundRect",colorP:i(1,t),colorN:i(-1,t),borderColorP:n(1,t),borderColorN:n(-1,t)}),!e.isSeriesFiltered(t))return!a&&{progress:function(t,e){for(var o;null!=(o=t.next());){var a=e.getItemModel(o),r=e.getItemLayout(o).sign;e.setItemVisual(o,{color:i(r,a),borderColor:n(r,a)})}}}}},Kk="undefined"!=typeof Float32Array?Float32Array:Array,$k={seriesType:"candlestick",plan:$I(),reset:function(t){var e=t.coordinateSystem,i=t.getData(),n=pg(t,i),o=0,a=1,r=["x","y"],s=i.mapDimension(r[o]),l=i.mapDimension(r[a],!0),u=l[0],h=l[1],c=l[2],d=l[3];if(i.setLayout({candleWidth:n,isSimpleBox:n<=1.3}),!(null==s||l.length<4))return{progress:t.pipelineContext.large?function(t,i){for(var n,r,l=new Kk(5*t.count),f=0,p=[],g=[];null!=(r=t.next());){var m=i.get(s,r),v=i.get(u,r),y=i.get(h,r),x=i.get(c,r),_=i.get(d,r);isNaN(m)||isNaN(x)||isNaN(_)?(l[f++]=NaN,f+=4):(l[f++]=fg(i,r,v,y,h),p[o]=m,p[a]=x,n=e.dataToPoint(p,null,g),l[f++]=n?n[0]:NaN,l[f++]=n?n[1]:NaN,p[a]=_,n=e.dataToPoint(p,null,g),l[f++]=n?n[1]:NaN)}i.setLayout("largePoints",l)}:function(t,i){function r(t,i){var n=[];return n[o]=i,n[a]=t,isNaN(i)||isNaN(t)?[NaN,NaN]:e.dataToPoint(n)}function l(t,e,i){var a=e.slice(),r=e.slice();a[o]=Jn(a[o]+n/2,1,!1),r[o]=Jn(r[o]-n/2,1,!0),i?t.push(a,r):t.push(r,a)}function f(t){return t[o]=Jn(t[o],1),t}for(var p;null!=(p=t.next());){var g=i.get(s,p),m=i.get(u,p),v=i.get(h,p),y=i.get(c,p),x=i.get(d,p),_=Math.min(m,v),w=Math.max(m,v),b=r(_,g),S=r(w,g),M=r(y,g),I=r(x,g),T=[];l(T,S,0),l(T,b,1),T.push(f(I),f(S),f(M),f(b)),i.setItemLayout(p,{sign:fg(i,p,m,v,h),initBaseline:m>v?S[a]:b[a],ends:T,brushRect:function(t,e,i){var s=r(t,i),l=r(e,i);return s[o]-=n/2,l[o]-=n/2,{x:s[0],y:s[1],width:a?n:l[0]-s[0],height:a?l[1]-s[1]:n}}(y,x,g)})}}}}};Ns(function(t){t&&y(t.series)&&d(t.series,function(t){w(t)&&"k"===t.type&&(t.type="candlestick")})}),Bs(qk),zs($k),YI.extend({type:"series.effectScatter",dependencies:["grid","polar"],getInitialData:function(t,e){return ml(this.getSource(),this)},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10}});var Jk=vg.prototype;Jk.stopEffectAnimation=function(){this.childAt(1).removeAll()},Jk.startEffectAnimation=function(t){for(var e=t.symbolType,i=t.color,n=this.childAt(1),o=0;o<3;o++){var a=Jl(e,-1,-1,2,2,i);a.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scale:[.5,.5]});var r=-o/3*t.period+t.effectOffset;a.animate("",!0).when(t.period,{scale:[t.rippleScale/2,t.rippleScale/2]}).delay(r).start(),a.animateStyle(!0).when(t.period,{opacity:0}).delay(r).start(),n.add(a)}mg(n,t)},Jk.updateEffectAnimation=function(t){for(var e=this._effectCfg,i=this.childAt(1),n=["symbolType","period","rippleScale"],o=0;o<n.length;o++){var a=n[o];if(e[a]!==t[a])return this.stopEffectAnimation(),void this.startEffectAnimation(t)}mg(i,t)},Jk.highlight=function(){this.trigger("emphasis")},Jk.downplay=function(){this.trigger("normal")},Jk.updateData=function(t,e){var i=t.hostModel;this.childAt(0).updateData(t,e);var n=this.childAt(1),o=t.getItemModel(e),a=t.getItemVisual(e,"symbol"),r=gg(t.getItemVisual(e,"symbolSize")),s=t.getItemVisual(e,"color");n.attr("scale",r),n.traverse(function(t){t.attr({fill:s})});var l=o.getShallow("symbolOffset");if(l){var u=n.position;u[0]=Vo(l[0],r[0]),u[1]=Vo(l[1],r[1])}n.rotation=(o.getShallow("symbolRotate")||0)*Math.PI/180||0;var h={};if(h.showEffectOn=i.get("showEffectOn"),h.rippleScale=o.get("rippleEffect.scale"),h.brushType=o.get("rippleEffect.brushType"),h.period=1e3*o.get("rippleEffect.period"),h.effectOffset=e/t.count(),h.z=o.getShallow("z")||0,h.zlevel=o.getShallow("zlevel")||0,h.symbolType=a,h.color=s,this.off("mouseover").off("mouseout").off("emphasis").off("normal"),"render"===h.showEffectOn)this._effectCfg?this.updateEffectAnimation(h):this.startEffectAnimation(h),this._effectCfg=h;else{this._effectCfg=null,this.stopEffectAnimation();var c=this.childAt(0),d=function(){c.highlight(),"render"!==h.showEffectOn&&this.startEffectAnimation(h)},f=function(){c.downplay(),"render"!==h.showEffectOn&&this.stopEffectAnimation()};this.on("mouseover",d,this).on("mouseout",f,this).on("emphasis",d,this).on("normal",f,this)}this._effectCfg=h},Jk.fadeOut=function(t){this.off("mouseover").off("mouseout").off("emphasis").off("normal"),t&&t()},u(vg,tb),Zs({type:"effectScatter",init:function(){this._symbolDraw=new Du(vg)},render:function(t,e,i){var n=t.getData(),o=this._symbolDraw;o.updateData(n),this.group.add(o.group)},updateTransform:function(t,e,i){var n=t.getData();this.group.dirty();var o=AD().reset(t);o.progress&&o.progress({start:0,end:n.count()},n),this._symbolDraw.updateLayout(n)},_updateGroupTransform:function(t){var e=t.coordinateSystem;e&&e.getRoamTransform&&(this.group.transform=At(e.getRoamTransform()),this.group.decomposeTransform())},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(e)},dispose:function(){}}),Bs(TD("effectScatter","circle")),zs(AD("effectScatter"));var Qk="undefined"==typeof Uint32Array?Array:Uint32Array,tP="undefined"==typeof Float64Array?Array:Float64Array,eP=YI.extend({type:"series.lines",dependencies:["grid","polar"],visualColorAccessPath:"lineStyle.color",init:function(t){t.data=t.data||[],yg(t);var e=this._processFlatCoordsArray(t.data);this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset,e.flatCoords&&(t.data=new Float32Array(e.count)),eP.superApply(this,"init",arguments)},mergeOption:function(t){if(t.data=t.data||[],yg(t),t.data){var e=this._processFlatCoordsArray(t.data);this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset,e.flatCoords&&(t.data=new Float32Array(e.count))}eP.superApply(this,"mergeOption",arguments)},appendData:function(t){var e=this._processFlatCoordsArray(t.data);e.flatCoords&&(this._flatCoords?(this._flatCoords=z(this._flatCoords,e.flatCoords),this._flatCoordsOffset=z(this._flatCoordsOffset,e.flatCoordsOffset)):(this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset),t.data=new Float32Array(e.count)),this.getRawData().appendData(t.data)},_getCoordsFromItemModel:function(t){var e=this.getData().getItemModel(t);return e.option instanceof Array?e.option:e.getShallow("coords")},getLineCoordsCount:function(t){return this._flatCoordsOffset?this._flatCoordsOffset[2*t+1]:this._getCoordsFromItemModel(t).length},getLineCoords:function(t,e){if(this._flatCoordsOffset){for(var i=this._flatCoordsOffset[2*t],n=this._flatCoordsOffset[2*t+1],o=0;o<n;o++)e[o]=e[o]||[],e[o][0]=this._flatCoords[i+2*o],e[o][1]=this._flatCoords[i+2*o+1];return n}for(var a=this._getCoordsFromItemModel(t),o=0;o<a.length;o++)e[o]=e[o]||[],e[o][0]=a[o][0],e[o][1]=a[o][1];return a.length},_processFlatCoordsArray:function(t){var e=0;if(this._flatCoords&&(e=this._flatCoords.length),"number"==typeof t[0]){for(var i=t.length,n=new Qk(i),o=new tP(i),a=0,r=0,s=0,l=0;l<i;){s++;var u=t[l++];n[r++]=a+e,n[r++]=u;for(var h=0;h<u;h++){var c=t[l++],d=t[l++];o[a++]=c,o[a++]=d}}return{flatCoordsOffset:new Uint32Array(n.buffer,0,r),flatCoords:o,count:s}}return{flatCoordsOffset:null,flatCoords:null,count:t.length}},getInitialData:function(t,e){var i=new vA(["value"],this);return i.hasItemOption=!1,i.initData(t.data,[],function(t,e,n,o){if(t instanceof Array)return NaN;i.hasItemOption=!0;var a=t.value;return null!=a?a instanceof Array?a[o]:a:void 0}),i},formatTooltip:function(t){var e=this.getData().getItemModel(t),i=e.get("name");if(i)return i;var n=e.get("fromName"),o=e.get("toName"),a=[];return null!=n&&a.push(n),null!=o&&a.push(o),ia(a.join(" > "))},preventIncremental:function(){return!!this.get("effect.show")},getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get("progressive"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get("progressiveThreshold"):t},defaultOption:{coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,label:{show:!1,position:"end"},lineStyle:{opacity:.5}}}),iP=xg.prototype;iP.createLine=function(t,e,i){return new rf(t,e,i)},iP._updateEffectSymbol=function(t,e){var i=t.getItemModel(e).getModel("effect"),n=i.get("symbolSize"),o=i.get("symbol");y(n)||(n=[n,n]);var a=i.get("color")||t.getItemVisual(e,"color"),r=this.childAt(1);this._symbolType!==o&&(this.remove(r),(r=Jl(o,-.5,-.5,1,1,a)).z2=100,r.culling=!0,this.add(r)),r&&(r.setStyle("shadowColor",a),r.setStyle(i.getItemStyle(["color"])),r.attr("scale",n),r.setColor(a),r.attr("scale",n),this._symbolType=o,this._updateEffectAnimation(t,i,e))},iP._updateEffectAnimation=function(t,e,i){var n=this.childAt(1);if(n){var o=this,a=t.getItemLayout(i),r=1e3*e.get("period"),s=e.get("loop"),l=e.get("constantSpeed"),u=T(e.get("delay"),function(e){return e/t.count()*r/3}),h="function"==typeof u;if(n.ignore=!0,this.updateAnimationPoints(n,a),l>0&&(r=this.getLineLength(n)/l*1e3),r!==this._period||s!==this._loop){n.stopAnimation();var c=u;h&&(c=u(i)),n.__t>0&&(c=-r*n.__t),n.__t=0;var d=n.animate("",s).when(r,{__t:1}).delay(c).during(function(){o.updateSymbolPosition(n)});s||d.done(function(){o.remove(n)}),d.start()}this._period=r,this._loop=s}},iP.getLineLength=function(t){return uw(t.__p1,t.__cp1)+uw(t.__cp1,t.__p2)},iP.updateAnimationPoints=function(t,e){t.__p1=e[0],t.__p2=e[1],t.__cp1=e[2]||[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]},iP.updateData=function(t,e,i){this.childAt(0).updateData(t,e,i),this._updateEffectSymbol(t,e)},iP.updateSymbolPosition=function(t){var e=t.__p1,i=t.__p2,n=t.__cp1,o=t.__t,a=t.position,r=sn,s=ln;a[0]=r(e[0],n[0],i[0],o),a[1]=r(e[1],n[1],i[1],o);var l=s(e[0],n[0],i[0],o),u=s(e[1],n[1],i[1],o);t.rotation=-Math.atan2(u,l)-Math.PI/2,t.ignore=!1},iP.updateLayout=function(t,e){this.childAt(0).updateLayout(t,e);var i=t.getItemModel(e).getModel("effect");this._updateEffectAnimation(t,i,e)},u(xg,tb);var nP=_g.prototype;nP._createPolyline=function(t,e,i){var n=t.getItemLayout(e),o=new gM({shape:{points:n}});this.add(o),this._updateCommonStl(t,e,i)},nP.updateData=function(t,e,i){var n=t.hostModel;Io(this.childAt(0),{shape:{points:t.getItemLayout(e)}},n,e),this._updateCommonStl(t,e,i)},nP._updateCommonStl=function(t,e,i){var n=this.childAt(0),o=t.getItemModel(e),a=t.getItemVisual(e,"color"),s=i&&i.lineStyle,l=i&&i.hoverLineStyle;i&&!t.hasItemOption||(s=o.getModel("lineStyle").getLineStyle(),l=o.getModel("emphasis.lineStyle").getLineStyle()),n.useStyle(r({strokeNoScale:!0,fill:"none",stroke:a},s)),n.hoverStyle=l,fo(this)},nP.updateLayout=function(t,e){this.childAt(0).setShape("points",t.getItemLayout(e))},u(_g,tb);var oP=wg.prototype;oP.createLine=function(t,e,i){return new _g(t,e,i)},oP.updateAnimationPoints=function(t,e){this._points=e;for(var i=[0],n=0,o=1;o<e.length;o++){var a=e[o-1],r=e[o];n+=uw(a,r),i.push(n)}if(0!==n){for(o=0;o<i.length;o++)i[o]/=n;this._offsets=i,this._length=n}},oP.getLineLength=function(t){return this._length},oP.updateSymbolPosition=function(t){var e=t.__t,i=this._points,n=this._offsets,o=i.length;if(n){var a=this._lastFrame;if(e<this._lastFramePercent){for(r=Math.min(a+1,o-1);r>=0&&!(n[r]<=e);r--);r=Math.min(r,o-2)}else{for(var r=a;r<o&&!(n[r]>e);r++);r=Math.min(r-1,o-2)}J(t.position,i[r],i[r+1],(e-n[r])/(n[r+1]-n[r]));var s=i[r+1][0]-i[r][0],l=i[r+1][1]-i[r][1];t.rotation=-Math.atan2(l,s)-Math.PI/2,this._lastFrame=r,this._lastFramePercent=e,t.ignore=!1}},u(wg,xg);var aP=Un({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(t,e){var i=e.segs,n=e.curveness;if(e.polyline)for(r=0;r<i.length;){var o=i[r++];if(o>0){t.moveTo(i[r++],i[r++]);for(var a=1;a<o;a++)t.lineTo(i[r++],i[r++])}}else for(var r=0;r<i.length;){var s=i[r++],l=i[r++],u=i[r++],h=i[r++];if(t.moveTo(s,l),n>0){var c=(s+u)/2-(l-h)*n,d=(l+h)/2-(u-s)*n;t.quadraticCurveTo(c,d,u,h)}else t.lineTo(u,h)}},findDataIndex:function(t,e){var i=this.shape,n=i.segs,o=i.curveness;if(i.polyline)for(var a=0,r=0;r<n.length;){var s=n[r++];if(s>0)for(var l=n[r++],u=n[r++],h=1;h<s;h++)if(yn(l,u,c=n[r++],d=n[r++]))return a;a++}else for(var a=0,r=0;r<n.length;){var l=n[r++],u=n[r++],c=n[r++],d=n[r++];if(o>0){if(_n(l,u,(l+c)/2-(u-d)*o,(u+d)/2-(c-l)*o,c,d))return a}else if(yn(l,u,c,d))return a;a++}return-1}}),rP=bg.prototype;rP.isPersistent=function(){return!this._incremental},rP.updateData=function(t){this.group.removeAll();var e=new aP({rectHover:!0,cursor:"default"});e.setShape({segs:t.getLayout("linesPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},rP.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>5e5?(this._incremental||(this._incremental=new Zn({silent:!0})),this.group.add(this._incremental)):this._incremental=null},rP.incrementalUpdate=function(t,e){var i=new aP;i.setShape({segs:e.getLayout("linesPoints")}),this._setCommon(i,e,!!this._incremental),this._incremental?this._incremental.addDisplayable(i,!0):(i.rectHover=!0,i.cursor="default",i.__startIndex=t.start,this.group.add(i))},rP.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},rP._setCommon=function(t,e,i){var n=e.hostModel;t.setShape({polyline:n.get("polyline"),curveness:n.get("lineStyle.curveness")}),t.useStyle(n.getModel("lineStyle").getLineStyle()),t.style.strokeNoScale=!0;var o=e.getVisual("color");o&&t.setStyle("stroke",o),t.setStyle("fill"),i||(t.seriesIndex=n.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var i=t.findDataIndex(e.offsetX,e.offsetY);i>0&&(t.dataIndex=i+t.__startIndex)}))},rP._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var sP={seriesType:"lines",plan:$I(),reset:function(t){var e=t.coordinateSystem,i=t.get("polyline"),n=t.pipelineContext.large;return{progress:function(o,a){var r=[];if(n){var s,l=o.end-o.start;if(i){for(var u=0,h=o.start;h<o.end;h++)u+=t.getLineCoordsCount(h);s=new Float32Array(l+2*u)}else s=new Float32Array(4*l);for(var c=0,d=[],h=o.start;h<o.end;h++){g=t.getLineCoords(h,r),i&&(s[c++]=g);for(var f=0;f<g;f++)d=e.dataToPoint(r[f],!1,d),s[c++]=d[0],s[c++]=d[1]}a.setLayout("linesPoints",s)}else for(h=o.start;h<o.end;h++){var p=a.getItemModel(h),g=t.getLineCoords(h,r),m=[];if(i)for(var v=0;v<g;v++)m.push(e.dataToPoint(r[v]));else{m[0]=e.dataToPoint(r[0]),m[1]=e.dataToPoint(r[1]);var y=p.get("lineStyle.curveness");+y&&(m[2]=[(m[0][0]+m[1][0])/2-(m[0][1]-m[1][1])*y,(m[0][1]+m[1][1])/2-(m[1][0]-m[0][0])*y])}a.setItemLayout(h,m)}}}}};Zs({type:"lines",init:function(){},render:function(t,e,i){var n=t.getData(),o=this._updateLineDraw(n,t),a=t.get("zlevel"),r=t.get("effect.trailLength"),s=i.getZr(),l="svg"===s.painter.getType();l||s.painter.getLayer(a).clear(!0),null==this._lastZlevel||l||s.configLayer(this._lastZlevel,{motionBlur:!1}),this._showEffect(t)&&r&&(l||s.configLayer(a,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(r/10+.9,1),0)})),o.updateData(n),this._lastZlevel=a,this._finished=!0},incrementalPrepareRender:function(t,e,i){var n=t.getData();this._updateLineDraw(n,t).incrementalPrepareUpdate(n),this._clearLayer(i),this._finished=!1},incrementalRender:function(t,e,i){this._lineDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,i){var n=t.getData(),o=t.pipelineContext;if(!this._finished||o.large||o.progressiveRender)return{update:!0};var a=sP.reset(t);a.progress&&a.progress({start:0,end:n.count()},n),this._lineDraw.updateLayout(),this._clearLayer(i)},_updateLineDraw:function(t,e){var i=this._lineDraw,n=this._showEffect(e),o=!!e.get("polyline"),a=e.pipelineContext.large;return i&&n===this._hasEffet&&o===this._isPolyline&&a===this._isLargeDraw||(i&&i.remove(),i=this._lineDraw=a?new bg:new sf(o?n?wg:_g:n?xg:rf),this._hasEffet=n,this._isPolyline=o,this._isLargeDraw=a,this.group.removeAll()),this.group.add(i.group),i},_showEffect:function(t){return!!t.get("effect.show")},_clearLayer:function(t){var e=t.getZr();"svg"===e.painter.getType()||null==this._lastZlevel||e.painter.getLayer(this._lastZlevel).clear(!0)},remove:function(t,e){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(e)},dispose:function(){}});var lP="lineStyle.opacity".split("."),uP={seriesType:"lines",reset:function(t,e,i){var n=Sg(t.get("symbol")),o=Sg(t.get("symbolSize")),a=t.getData();return a.setVisual("fromSymbol",n&&n[0]),a.setVisual("toSymbol",n&&n[1]),a.setVisual("fromSymbolSize",o&&o[0]),a.setVisual("toSymbolSize",o&&o[1]),a.setVisual("opacity",t.get(lP)),{dataEach:a.hasItemOption?function(t,e){var i=t.getItemModel(e),n=Sg(i.getShallow("symbol",!0)),o=Sg(i.getShallow("symbolSize",!0)),a=i.get(lP);n[0]&&t.setItemVisual(e,"fromSymbol",n[0]),n[1]&&t.setItemVisual(e,"toSymbol",n[1]),o[0]&&t.setItemVisual(e,"fromSymbolSize",o[0]),o[1]&&t.setItemVisual(e,"toSymbolSize",o[1]),t.setItemVisual(e,"opacity",a)}:null}}};zs(sP),Bs(uP),YI.extend({type:"series.heatmap",getInitialData:function(t,e){return ml(this.getSource(),this,{generateCoord:"value"})},preventIncremental:function(){var t=Fa.get(this.get("coordinateSystem"));if(t&&t.dimensions)return"lng"===t.dimensions[0]&&"lat"===t.dimensions[1]},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0}});Mg.prototype={update:function(t,e,i,n,o,a){var r=this._getBrush(),s=this._getGradient(t,o,"inRange"),l=this._getGradient(t,o,"outOfRange"),u=this.pointSize+this.blurSize,h=this.canvas,c=h.getContext("2d"),d=t.length;h.width=e,h.height=i;for(var f=0;f<d;++f){var p=t[f],g=p[0],m=p[1],v=n(p[2]);c.globalAlpha=v,c.drawImage(r,g-u,m-u)}if(!h.width||!h.height)return h;for(var y=c.getImageData(0,0,h.width,h.height),x=y.data,_=0,w=x.length,b=this.minOpacity,S=this.maxOpacity-b;_<w;){var v=x[_+3]/256,M=4*Math.floor(255*v);if(v>0){var I=a(v)?s:l;v>0&&(v=v*S+b),x[_++]=I[M],x[_++]=I[M+1],x[_++]=I[M+2],x[_++]=I[M+3]*v*256}else _+=4}return c.putImageData(y,0,0),h},_getBrush:function(){var t=this._brushCanvas||(this._brushCanvas=iw()),e=this.pointSize+this.blurSize,i=2*e;t.width=i,t.height=i;var n=t.getContext("2d");return n.clearRect(0,0,i,i),n.shadowOffsetX=i,n.shadowBlur=this.blurSize,n.shadowColor="#000",n.beginPath(),n.arc(-e,e,this.pointSize,0,2*Math.PI,!0),n.closePath(),n.fill(),t},_getGradient:function(t,e,i){for(var n=this._gradientPixels,o=n[i]||(n[i]=new Uint8ClampedArray(1024)),a=[0,0,0,0],r=0,s=0;s<256;s++)e[i](s/255,!0,a),o[r++]=a[0],o[r++]=a[1],o[r++]=a[2],o[r++]=a[3];return o}},Zs({type:"heatmap",render:function(t,e,i){var n;e.eachComponent("visualMap",function(e){e.eachTargetSeries(function(i){i===t&&(n=e)})}),this.group.removeAll(),this._incrementalDisplayable=null;var o=t.coordinateSystem;"cartesian2d"===o.type||"calendar"===o.type?this._renderOnCartesianAndCalendar(t,i,0,t.getData().count()):Ag(o)&&this._renderOnGeo(o,t,n,i)},incrementalPrepareRender:function(t,e,i){this.group.removeAll()},incrementalRender:function(t,e,i,n){e.coordinateSystem&&this._renderOnCartesianAndCalendar(e,n,t.start,t.end,!0)},_renderOnCartesianAndCalendar:function(t,e,i,n,o){var r,s,l=t.coordinateSystem;if("cartesian2d"===l.type){var u=l.getAxis("x"),h=l.getAxis("y");r=u.getBandWidth(),s=h.getBandWidth()}for(var c=this.group,d=t.getData(),f=t.getModel("itemStyle").getItemStyle(["color"]),p=t.getModel("emphasis.itemStyle").getItemStyle(),g=t.getModel("label"),m=t.getModel("emphasis.label"),v=l.type,y="cartesian2d"===v?[d.mapDimension("x"),d.mapDimension("y"),d.mapDimension("value")]:[d.mapDimension("time"),d.mapDimension("value")],x=i;x<n;x++){var _;if("cartesian2d"===v){if(isNaN(d.get(y[2],x)))continue;var w=l.dataToPoint([d.get(y[0],x),d.get(y[1],x)]);_=new yM({shape:{x:w[0]-r/2,y:w[1]-s/2,width:r,height:s},style:{fill:d.getItemVisual(x,"color"),opacity:d.getItemVisual(x,"opacity")}})}else{if(isNaN(d.get(y[1],x)))continue;_=new yM({z2:1,shape:l.dataToRect([d.get(y[0],x)]).contentShape,style:{fill:d.getItemVisual(x,"color"),opacity:d.getItemVisual(x,"opacity")}})}var b=d.getItemModel(x);d.hasItemOption&&(f=b.getModel("itemStyle").getItemStyle(["color"]),p=b.getModel("emphasis.itemStyle").getItemStyle(),g=b.getModel("label"),m=b.getModel("emphasis.label"));var S=t.getRawValue(x),M="-";S&&null!=S[2]&&(M=S[2]),go(f,p,g,m,{labelFetcher:t,labelDataIndex:x,defaultText:M,isRectText:!0}),_.setStyle(f),fo(_,d.hasItemOption?p:a({},p)),_.incremental=o,o&&(_.useHoverLayer=!0),c.add(_),d.setItemGraphicEl(x,_)}},_renderOnGeo:function(t,e,i,n){var o=i.targetVisuals.inRange,a=i.targetVisuals.outOfRange,r=e.getData(),s=this._hmLayer||this._hmLayer||new Mg;s.blurSize=e.get("blurSize"),s.pointSize=e.get("pointSize"),s.minOpacity=e.get("minOpacity"),s.maxOpacity=e.get("maxOpacity");var l=t.getViewRect().clone(),u=t.getRoamTransform();l.applyTransform(u);var h=Math.max(l.x,0),c=Math.max(l.y,0),d=Math.min(l.width+l.x,n.getWidth()),f=Math.min(l.height+l.y,n.getHeight()),p=d-h,g=f-c,m=[r.mapDimension("lng"),r.mapDimension("lat"),r.mapDimension("value")],v=r.mapArray(m,function(e,i,n){var o=t.dataToPoint([e,i]);return o[0]-=h,o[1]-=c,o.push(n),o}),y=i.getExtent(),x="visualMap.continuous"===i.type?Tg(y,i.option.range):Ig(y,i.getPieceList(),i.option.selected);s.update(v,p,g,o.color.getNormalizer(),{inRange:o.color.getColorMapper(),outOfRange:a.color.getColorMapper()},x);var _=new fi({style:{width:p,height:g,x:h,y:c,image:s.canvas},silent:!0});this.group.add(_)},dispose:function(){}});var hP=$D.extend({type:"series.pictorialBar",dependencies:["grid"],defaultOption:{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",progressive:0,hoverAnimation:!1},getInitialData:function(t){return t.stack=null,hP.superApply(this,"getInitialData",arguments)}}),cP=["itemStyle","borderWidth"],dP=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],fP=new sM;Zs({type:"pictorialBar",render:function(t,e,i){var n=this.group,o=t.getData(),a=this._data,r=t.coordinateSystem,s=!!r.getBaseAxis().isHorizontal(),l=r.grid.getRect(),u={ecSize:{width:i.getWidth(),height:i.getHeight()},seriesModel:t,coordSys:r,coordSysExtent:[[l.x,l.x+l.width],[l.y,l.y+l.height]],isHorizontal:s,valueDim:dP[+s],categoryDim:dP[1-s]};return o.diff(a).add(function(t){if(o.hasValue(t)){var e=Vg(o,t),i=Dg(o,t,e,u),a=Hg(o,u,i);o.setItemGraphicEl(t,a),n.add(a),qg(a,u,i)}}).update(function(t,e){var i=a.getItemGraphicEl(e);if(o.hasValue(t)){var r=Vg(o,t),s=Dg(o,t,r,u),l=Xg(o,s);i&&l!==i.__pictorialShapeStr&&(n.remove(i),o.setItemGraphicEl(t,null),i=null),i?Zg(i,u,s):i=Hg(o,u,s,!0),o.setItemGraphicEl(t,i),i.__pictorialSymbolMeta=s,n.add(i),qg(i,u,s)}else n.remove(i)}).remove(function(t){var e=a.getItemGraphicEl(t);e&&Ug(a,t,e.__pictorialSymbolMeta.animationModel,e)}).execute(),this._data=o,this.group},dispose:B,remove:function(t,e){var i=this.group,n=this._data;t.get("animation")?n&&n.eachItemGraphicEl(function(e){Ug(n,e.dataIndex,t,e)}):i.removeAll()}});zs(v(El,"pictorialBar")),Bs(TD("pictorialBar","roundRect"));var pP=function(t,e,i,n,o){aD.call(this,t,e,i),this.type=n||"value",this.position=o||"bottom",this.orient=null};pP.prototype={constructor:pP,model:null,isHorizontal:function(){var t=this.position;return"top"===t||"bottom"===t},pointToData:function(t,e){return this.coordinateSystem.pointToData(t,e)[0]},toGlobalCoord:null,toLocalCoord:null},u(pP,aD),$g.prototype={type:"singleAxis",axisPointerEnabled:!0,constructor:$g,_init:function(t,e,i){var n=this.dimension,o=new pP(n,Hl(t),[0,0],t.get("type"),t.get("position")),a="category"===o.type;o.onBand=a&&t.get("boundaryGap"),o.inverse=t.get("inverse"),o.orient=t.get("orient"),t.axis=o,o.model=t,o.coordinateSystem=this,this._axis=o},update:function(t,e){t.eachSeries(function(t){if(t.coordinateSystem===this){var e=t.getData();d(e.mapDimension(this.dimension,!0),function(t){this._axis.scale.unionExtentFromData(e,t)},this),Wl(this._axis.scale,this._axis.model)}},this)},resize:function(t,e){this._rect=ca({left:t.get("left"),top:t.get("top"),right:t.get("right"),bottom:t.get("bottom"),width:t.get("width"),height:t.get("height")},{width:e.getWidth(),height:e.getHeight()}),this._adjustAxis()},getRect:function(){return this._rect},_adjustAxis:function(){var t=this._rect,e=this._axis,i=e.isHorizontal(),n=i?[0,t.width]:[0,t.height],o=e.reverse?1:0;e.setExtent(n[o],n[1-o]),this._updateAxisTransform(e,i?t.x:t.y)},_updateAxisTransform:function(t,e){var i=t.getExtent(),n=i[0]+i[1],o=t.isHorizontal();t.toGlobalCoord=o?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord=o?function(t){return t-e}:function(t){return n-t+e}},getAxis:function(){return this._axis},getBaseAxis:function(){return this._axis},getAxes:function(){return[this._axis]},getTooltipAxes:function(){return{baseAxes:[this.getAxis()]}},containPoint:function(t){var e=this.getRect(),i=this.getAxis();return"horizontal"===i.orient?i.contain(i.toLocalCoord(t[0]))&&t[1]>=e.y&&t[1]<=e.y+e.height:i.contain(i.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},pointToData:function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t["horizontal"===e.orient?0:1]))]},dataToPoint:function(t){var e=this.getAxis(),i=this.getRect(),n=[],o="horizontal"===e.orient?0:1;return t instanceof Array&&(t=t[0]),n[o]=e.toGlobalCoord(e.dataToCoord(+t)),n[1-o]=0===o?i.y+i.height/2:i.x+i.width/2,n}},Fa.register("single",{create:function(t,e){var i=[];return t.eachComponent("singleAxis",function(n,o){var a=new $g(n,t,e);a.name="single_"+o,a.resize(n,e),n.coordinateSystem=a,i.push(a)}),t.eachSeries(function(e){if("singleAxis"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"singleAxis",index:e.get("singleAxisIndex"),id:e.get("singleAxisId")})[0];e.coordinateSystem=i&&i.coordinateSystem}}),i},dimensions:$g.prototype.dimensions});var gP=["axisLine","axisTickLabel","axisName"],mP=XD.extend({type:"singleAxis",axisPointerClass:"SingleAxisPointer",render:function(t,e,i,n){var o=this.group;o.removeAll();var a=Jg(t),r=new FD(t,a);d(gP,r.add,r),o.add(r.getGroup()),t.get("splitLine.show")&&this._splitLine(t),mP.superCall(this,"render",t,e,i,n)},_splitLine:function(t){var e=t.axis;if(!e.scale.isBlank()){var i=t.getModel("splitLine"),n=i.getModel("lineStyle"),o=n.get("width"),a=n.get("color");a=a instanceof Array?a:[a];for(var r=t.coordinateSystem.getRect(),s=e.isHorizontal(),l=[],u=0,h=e.getTicksCoords({tickModel:i}),c=[],d=[],f=0;f<h.length;++f){var p=e.toGlobalCoord(h[f].coord);s?(c[0]=p,c[1]=r.y,d[0]=p,d[1]=r.y+r.height):(c[0]=r.x,c[1]=p,d[0]=r.x+r.width,d[1]=p);var g=u++%a.length;l[g]=l[g]||[],l[g].push(new _M(Kn({shape:{x1:c[0],y1:c[1],x2:d[0],y2:d[1]},style:{lineWidth:o},silent:!0})))}for(f=0;f<l.length;++f)this.group.add(OM(l[f],{style:{stroke:a[f%a.length],lineDash:n.getLineDash(o),lineWidth:o},silent:!0}))}}}),vP=lI.extend({type:"singleAxis",layoutMode:"box",axis:null,coordinateSystem:null,getCoordSysModel:function(){return this}}),yP={left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:2,type:"solid"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:2}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}};n(vP.prototype,UA),ED("single",vP,function(t,e){return e.type||(e.data?"category":"value")},yP);var xP=function(t,e){var i,n=[],o=t.seriesIndex;if(null==o||!(i=e.getSeriesByIndex(o)))return{point:[]};var a=i.getData(),r=zi(a,t);if(null==r||r<0||y(r))return{point:[]};var s=a.getItemGraphicEl(r),l=i.coordinateSystem;if(i.getTooltipPosition)n=i.getTooltipPosition(r)||[];else if(l&&l.dataToPoint)n=l.dataToPoint(a.getValues(f(l.dimensions,function(t){return a.mapDimension(t)}),r,!0))||[];else if(s){var u=s.getBoundingRect().clone();u.applyTransform(s.transform),n=[u.x+u.width/2,u.y+u.height/2]}return{point:n,el:s}},_P=d,wP=v,bP=Bi(),SP=(Fs({type:"axisPointer",coordSysAxesInfo:null,defaultOption:{show:"auto",triggerOn:null,zlevel:0,z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#aaa",width:1,type:"solid"},shadowStyle:{color:"rgba(150,150,150,0.3)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,shadowBlur:3,shadowColor:"#aaa"},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}}}),Bi()),MP=d,IP=Ws({type:"axisPointer",render:function(t,e,i){var n=e.getComponent("tooltip"),o=t.get("triggerOn")||n&&n.get("triggerOn")||"mousemove|click";um("axisPointer",i,function(t,e,i){"none"!==o&&("leave"===t||o.indexOf(t)>=0)&&i({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})})},remove:function(t,e){gm(e.getZr(),"axisPointer"),IP.superApply(this._model,"remove",arguments)},dispose:function(t,e){gm("axisPointer",e),IP.superApply(this._model,"dispose",arguments)}}),TP=Bi(),AP=i,DP=m;(mm.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(t,e,i,n){var o=e.get("value"),a=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=i,n||this._lastValue!==o||this._lastStatus!==a){this._lastValue=o,this._lastStatus=a;var r=this._group,s=this._handle;if(!a||"hide"===a)return r&&r.hide(),void(s&&s.hide());r&&r.show(),s&&s.show();var l={};this.makeElOption(l,o,t,e,i);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(i),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(r){var c=v(vm,e,h);this.updatePointerEl(r,l,c,e),this.updateLabelEl(r,l,c,e)}else r=this._group=new tb,this.createPointerEl(r,l,t,e),this.createLabelEl(r,l,t,e),i.getZr().add(r);wm(r,e,!0),this._renderHandle(o)}},remove:function(t){this.clear(t)},dispose:function(t){this.clear(t)},determineAnimation:function(t,e){var i=e.get("animation"),n=t.axis,o="category"===n.type,a=e.get("snap");if(!a&&!o)return!1;if("auto"===i||null==i){var r=this.animationThreshold;if(o&&n.getBandWidth()>r)return!0;if(a){var s=Mh(t).seriesDataCount,l=n.getExtent();return Math.abs(l[0]-l[1])/s>r}return!1}return!0===i},makeElOption:function(t,e,i,n,o){},createPointerEl:function(t,e,i,n){var o=e.pointer;if(o){var a=TP(t).pointerEl=new zM[o.type](AP(e.pointer));t.add(a)}},createLabelEl:function(t,e,i,n){if(e.label){var o=TP(t).labelEl=new yM(AP(e.label));t.add(o),xm(o,n)}},updatePointerEl:function(t,e,i){var n=TP(t).pointerEl;n&&(n.setStyle(e.pointer.style),i(n,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,i,n){var o=TP(t).labelEl;o&&(o.setStyle(e.label.style),i(o,{shape:e.label.shape,position:e.label.position}),xm(o,n))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e=this._axisPointerModel,i=this._api.getZr(),n=this._handle,o=e.getModel("handle"),a=e.get("status");if(!o.get("show")||!a||"hide"===a)return n&&i.remove(n),void(this._handle=null);var r;this._handle||(r=!0,n=this._handle=Po(o.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){mw(t.event)},onmousedown:DP(this._onHandleDragMove,this,0,0),drift:DP(this._onHandleDragMove,this),ondragend:DP(this._onHandleDragEnd,this)}),i.add(n)),wm(n,e,!1);var s=["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];n.setStyle(o.getItemStyle(null,s));var l=o.get("size");y(l)||(l=[l,l]),n.attr("scale",[l[0]/2,l[1]/2]),Nr(this,"_doDispatchAxisPointer",o.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,r)}},_moveHandleToValue:function(t,e){vm(this._axisPointerModel,!e&&this._moveAnimation,this._handle,_m(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var i=this._handle;if(i){this._dragging=!0;var n=this.updateHandleTransform(_m(i),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=n,i.stopAnimation(),i.attr(_m(n)),TP(i).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},_onHandleDragEnd:function(t){if(this._dragging=!1,this._handle){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),i=this._group,n=this._handle;e&&i&&(this._lastGraphicKey=null,i&&e.remove(i),n&&e.remove(n),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}}}).constructor=mm,ji(mm);var CP=mm.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.grid,s=n.get("type"),l=km(r,a).getOtherAxis(a).getGlobalExtent(),u=a.toGlobalCoord(a.dataToCoord(e,!0));if(s&&"none"!==s){var h=bm(n),c=LP[s](a,u,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Am(e,t,Lh(r.model,i),i,n,o)},getHandleTransform:function(t,e,i){var n=Lh(e.axis.grid.model,e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:Tm(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.grid,r=o.getGlobalExtent(!0),s=km(a,o).getOtherAxis(o).getGlobalExtent(),l="x"===o.dim?0:1,u=t.position;u[l]+=e[l],u[l]=Math.min(r[1],u[l]),u[l]=Math.max(r[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];var d=[{verticalAlign:"middle"},{align:"center"}];return{position:u,rotation:t.rotation,cursorPoint:c,tooltipOption:d[l]}}}),LP={line:function(t,e,i,n){var o=Dm([e,i[0]],[e,i[1]],Pm(t));return Kn({shape:o,style:n}),{type:"Line",shape:o}},shadow:function(t,e,i,n){var o=Math.max(1,t.getBandWidth()),a=i[1]-i[0];return{type:"Rect",shape:Cm([e-o/2,i[0]],[o,a],Pm(t))}}};XD.registerAxisPointerClass("CartesianAxisPointer",CP),Ns(function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!y(e)&&(t.axisPointer.link=[e])}}),Os(VT.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=vh(t,e)}),Es({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},function(t,e,i){var n=t.currTrigger,o=[t.x,t.y],a=t,r=t.dispatchAction||m(i.dispatchAction,i),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){lm(o)&&(o=xP({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},e).point);var l=lm(o),u=a.axesInfo,h=s.axesInfo,c="leave"===n||lm(o),d={},f={},p={list:[],map:{}},g={showPointer:wP(em,f),showTooltip:wP(im,p)};_P(s.coordSysMap,function(t,e){var i=l||t.containPoint(o);_P(s.coordSysAxesInfo[e],function(t,e){var n=t.axis,a=rm(u,t);if(!c&&i&&(!u||a)){var r=a&&a.value;null!=r||l||(r=n.pointToData(o)),null!=r&&Qg(t,r,g,!1,d)}})});var v={};return _P(h,function(t,e){var i=t.linkGroup;i&&!f[e]&&_P(i.axesInfo,function(e,n){var o=f[n];if(e!==t&&o){var a=o.value;i.mapper&&(a=t.axis.scale.parse(i.mapper(a,sm(e),sm(t)))),v[t.key]=a}})}),_P(v,function(t,e){Qg(h[e],t,g,!0,d)}),nm(f,h,d),om(p,o,t,r),am(h,0,i),d}});var kP=["x","y"],PP=["width","height"],NP=mm.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.coordinateSystem,s=Om(r,1-Nm(a)),l=r.dataToPoint(e)[0],u=n.get("type");if(u&&"none"!==u){var h=bm(n),c=OP[u](a,l,s,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Am(e,t,Jg(i),i,n,o)},getHandleTransform:function(t,e,i){var n=Jg(e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:Tm(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.coordinateSystem,r=Nm(o),s=Om(a,r),l=t.position;l[r]+=e[r],l[r]=Math.min(s[1],l[r]),l[r]=Math.max(s[0],l[r]);var u=Om(a,1-r),h=(u[1]+u[0])/2,c=[h,h];return c[r]=l[r],{position:l,rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}}}),OP={line:function(t,e,i,n){var o=Dm([e,i[0]],[e,i[1]],Nm(t));return Kn({shape:o,style:n}),{type:"Line",shape:o}},shadow:function(t,e,i,n){var o=t.getBandWidth(),a=i[1]-i[0];return{type:"Rect",shape:Cm([e-o/2,i[0]],[o,a],Nm(t))}}};XD.registerAxisPointerClass("SingleAxisPointer",NP),Ws({type:"single"});var EP=YI.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(t){EP.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()}},fixData:function(t){var e=t.length,i=[];Zi(t,function(t){return t[2]}).buckets.each(function(t,e){i.push({name:e,dataList:t})});for(var n=i.length,o=-1,a=-1,r=0;r<n;++r){var s=i[r].dataList.length;s>o&&(o=s,a=r)}for(var l=0;l<n;++l)if(l!==a)for(var u=i[l].name,h=0;h<o;++h){for(var c=i[a].dataList[h][0],d=i[l].dataList.length,f=-1,p=0;p<d;++p)if(i[l].dataList[p][0]===c){f=p;break}-1===f&&(t[e]=[],t[e][0]=c,t[e][1]=0,t[e][2]=u,e++)}return t},getInitialData:function(t,e){for(var i=e.queryComponents({mainType:"singleAxis",index:this.get("singleAxisIndex"),id:this.get("singleAxisId")})[0].get("type"),n=g(t.data,function(t){return void 0!==t[2]}),o=this.fixData(n||[]),a=[],r=this.nameMap=R(),s=0,l=0;l<o.length;++l)a.push(o[l][2]),r.get(o[l][2])||(r.set(o[l][2],s),s++);var u=_A(o,{coordDimensions:["single"],dimensionsDefine:[{name:"time",type:qs(i)},{name:"value",type:"float"},{name:"name",type:"ordinal"}],encodeDefine:{single:0,value:1,itemName:2}}),h=new vA(u,this);return h.initData(o),h},getLayerSeries:function(){for(var t=this.getData(),e=t.count(),i=[],n=0;n<e;++n)i[n]=n;var o=t.mapDimension("single"),a=[];return Zi(i,function(e){return t.get("name",e)}).buckets.each(function(e,i){e.sort(function(e,i){return t.get(o,e)-t.get(o,i)}),a.push({name:i,indices:e})}),a},getAxisTooltipData:function(t,e,i){y(t)||(t=t?[t]:[]);for(var n,o=this.getData(),a=this.getLayerSeries(),r=[],s=a.length,l=0;l<s;++l){for(var u=Number.MAX_VALUE,h=-1,c=a[l].indices.length,d=0;d<c;++d){var f=o.get(t[0],a[l].indices[d]),p=Math.abs(f-e);p<=u&&(n=f,u=p,h=a[l].indices[d])}r.push(h)}return{dataIndices:r,nestestValue:n}},formatTooltip:function(t){var e=this.getData(),i=e.getName(t),n=e.get(e.mapDimension("value"),t);return(isNaN(n)||null==n)&&(n="-"),ia(i+" : "+n)},defaultOption:{zlevel:0,z:2,coordinateSystem:"singleAxis",boundaryGap:["10%","10%"],singleAxisIndex:0,animationEasing:"linear",label:{margin:4,show:!0,position:"left",color:"#000",fontSize:11},emphasis:{label:{show:!0}}}});Zs({type:"themeRiver",init:function(){this._layers=[]},render:function(t,e,i){function n(t){return t.name}function o(e,i,n){var o=this._layers;if("remove"!==e){for(var u,h=[],c=[],f=l[i].indices,p=0;p<f.length;p++){var g=r.getItemLayout(f[p]),m=g.x,v=g.y0,y=g.y;h.push([m,v]),c.push([m,v+y]),u=r.getItemVisual(f[p],"color")}var x,_,w=r.getItemLayout(f[0]),b=r.getItemModel(f[p-1]),S=b.getModel("label"),M=S.get("margin");if("add"===e){I=d[i]=new tb;x=new ID({shape:{points:h,stackedOnPoints:c,smooth:.4,stackedOnSmooth:.4,smoothConstraint:!1},z2:0}),_=new rM({style:{x:w.x-M,y:w.y0+w.y/2}}),I.add(x),I.add(_),s.add(I),x.setClipPath(Em(x.getBoundingRect(),t,function(){x.removeClipPath()}))}else{var I=o[n];x=I.childAt(0),_=I.childAt(1),s.add(I),d[i]=I,Io(x,{shape:{points:h,stackedOnPoints:c}},t),Io(_,{style:{x:w.x-M,y:w.y0+w.y/2}},t)}var T=b.getModel("emphasis.itemStyle"),A=b.getModel("itemStyle");mo(_.style,S,{text:S.get("show")?t.getFormattedLabel(f[p-1],"normal")||r.getName(f[p-1]):null,textVerticalAlign:"middle"}),x.setStyle(a({fill:u},A.getItemStyle(["color"]))),fo(x,T.getItemStyle())}else s.remove(o[i])}var r=t.getData(),s=this.group,l=t.getLayerSeries(),u=r.getLayout("layoutInfo"),h=u.rect,c=u.boundaryGap;s.attr("position",[0,h.y+c[0]]);var d={};new Xs(this._layersSeries||[],l,n,n).add(m(o,this,"add")).update(m(o,this,"update")).remove(m(o,this,"remove")).execute(),this._layersSeries=l,this._layers=d},dispose:function(){}});zs(function(t,e){t.eachSeriesByType("themeRiver",function(t){var e=t.getData(),i=t.coordinateSystem,n={},o=i.getRect();n.rect=o;var a=t.get("boundaryGap"),r=i.getAxis();n.boundaryGap=a,"horizontal"===r.orient?(a[0]=Vo(a[0],o.height),a[1]=Vo(a[1],o.height),Rm(e,t,o.height-a[0]-a[1])):(a[0]=Vo(a[0],o.width),a[1]=Vo(a[1],o.width),Rm(e,t,o.width-a[0]-a[1])),e.setLayout("layoutInfo",n)})}),Bs(function(t){t.eachSeriesByType("themeRiver",function(t){var e=t.getData(),i=t.getRawData(),n=t.get("color"),o=R();e.each(function(t){o.set(e.getRawIndex(t),t)}),i.each(function(a){var r=i.getName(a),s=n[(t.nameMap.get(r)-1)%n.length];i.setItemVisual(a,"color",s);var l=o.get(a);null!=l&&e.setItemVisual(l,"color",s)})})}),Os(fC("themeRiver")),YI.extend({type:"series.sunburst",_viewRoot:null,getInitialData:function(t,e){var i={name:t.name,children:t.data};Bm(i);var n=t.levels||[],o={};return o.levels=n,Vc.createTree(i,this,o).data},optionUpdated:function(){this.resetViewRoot()},getDataParams:function(t){var e=YI.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=cd(i,this),e},defaultOption:{zlevel:0,z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,percentPrecision:2,stillShowZeroSum:!0,highlightPolicy:"descendant",nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0,emphasis:{}},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1,emphasis:{},highlight:{opacity:1},downplay:{opacity:.9}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicOut",data:[],levels:[],sort:"desc"},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)}});var RP={NONE:"none",DESCENDANT:"descendant",ANCESTOR:"ancestor",SELF:"self"},zP=2,BP=4,VP=Vm.prototype;VP.updateData=function(t,e,i,o,s){this.node=e,e.piece=this,o=o||this._seriesModel,s=s||this._ecModel;var l=this.childAt(0);l.dataIndex=e.dataIndex;var u=e.getModel(),h=e.getLayout(),c=a({},h);c.label=null;var d=Gm(e,0,s);Hm(e,o,d);var f,p=u.getModel("itemStyle").getItemStyle();f=r({lineJoin:"bevel",fill:(f="normal"===i?p:n(u.getModel(i+".itemStyle").getItemStyle(),p)).fill||d},f),t?(l.setShape(c),l.shape.r=h.r0,Io(l,{shape:{r:h.r}},o,e.dataIndex),l.useStyle(f)):"object"==typeof f.fill&&f.fill.type||"object"==typeof l.style.fill&&l.style.fill.type?(Io(l,{shape:c},o),l.useStyle(f)):Io(l,{shape:c,style:f},o),this._updateLabel(o,d,i);var g=u.getShallow("cursor");if(g&&l.attr("cursor",g),t){var m=o.getShallow("highlightPolicy");this._initEvents(l,e,o,m)}this._seriesModel=o||this._seriesModel,this._ecModel=s||this._ecModel},VP.onEmphasis=function(t){var e=this;this.node.hostTree.root.eachNode(function(i){i.piece&&(e.node===i?i.piece.updateData(!1,i,"emphasis"):Wm(i,e.node,t)?i.piece.childAt(0).trigger("highlight"):t!==RP.NONE&&i.piece.childAt(0).trigger("downplay"))})},VP.onNormal=function(){this.node.hostTree.root.eachNode(function(t){t.piece&&t.piece.updateData(!1,t,"normal")})},VP.onHighlight=function(){this.updateData(!1,this.node,"highlight")},VP.onDownplay=function(){this.updateData(!1,this.node,"downplay")},VP._updateLabel=function(t,e,i){function n(t){var e=r.get(t);return null==e?a.get(t):e}var o=this.node.getModel(),a=o.getModel("label"),r="normal"===i||"emphasis"===i?a:o.getModel(i+".label"),s=o.getModel("emphasis.label"),l=T(t.getFormattedLabel(this.node.dataIndex,"normal",null,null,"label"),this.node.name);!1===n("show")&&(l="");var u=this.node.getLayout(),h=r.get("minAngle");null==h&&(h=a.get("minAngle")),h=h/180*Math.PI;var c=u.endAngle-u.startAngle;null!=h&&Math.abs(c)<h&&(l="");var d=this.childAt(1);go(d.style,d.hoverStyle||{},a,s,{defaultText:r.getShallow("show")?l:null,autoColor:e,useInsideStyle:!0});var f,p=(u.startAngle+u.endAngle)/2,g=Math.cos(p),m=Math.sin(p),v=n("position"),y=n("distance")||0,x=n("align");"outside"===v?(f=u.r+y,x=p>Math.PI/2?"right":"left"):x&&"center"!==x?"left"===x?(f=u.r0+y,p>Math.PI/2&&(x="right")):"right"===x&&(f=u.r-y,p>Math.PI/2&&(x="left")):(f=(u.r+u.r0)/2,x="center"),d.attr("style",{text:l,textAlign:x,textVerticalAlign:n("verticalAlign")||"middle",opacity:n("opacity")});var _=f*g+u.cx,w=f*m+u.cy;d.attr("position",[_,w]);var b=n("rotate"),S=0;"radial"===b?(S=-p)<-Math.PI/2&&(S+=Math.PI):"tangential"===b?(S=Math.PI/2-p)>Math.PI/2?S-=Math.PI:S<-Math.PI/2&&(S+=Math.PI):"number"==typeof b&&(S=b*Math.PI/180),d.attr("rotation",S)},VP._initEvents=function(t,e,i,n){t.off("mouseover").off("mouseout").off("emphasis").off("normal");var o=this,a=function(){o.onEmphasis(n)},r=function(){o.onNormal()};i.isAnimationEnabled()&&t.on("mouseover",a).on("mouseout",r).on("emphasis",a).on("normal",r).on("downplay",function(){o.onDownplay()}).on("highlight",function(){o.onHighlight()})},u(Vm,tb);Ar.extend({type:"sunburst",init:function(){},render:function(t,e,i,n){function o(i,n){if(c||!i||i.getValue()||(i=null),i!==l&&n!==l)if(n&&n.piece)i?(n.piece.updateData(!1,i,"normal",t,e),s.setItemGraphicEl(i.dataIndex,n.piece)):a(n);else if(i){var o=new Vm(i,t,e);h.add(o),s.setItemGraphicEl(i.dataIndex,o)}}function a(t){t&&t.piece&&(h.remove(t.piece),t.piece=null)}var r=this;this.seriesModel=t,this.api=i,this.ecModel=e;var s=t.getData(),l=s.tree.root,u=t.getViewRoot(),h=this.group,c=t.get("renderLabelForZeroData"),d=[];u.eachNode(function(t){d.push(t)});var f=this._oldChildren||[];if(function(t,e){function i(t){return t.getId()}function n(i,n){o(null==i?null:t[i],null==n?null:e[n])}0===t.length&&0===e.length||new Xs(e,t,i,i).add(n).update(n).remove(v(n,null)).execute()}(d,f),function(i,n){if(n.depth>0){r.virtualPiece?r.virtualPiece.updateData(!1,i,"normal",t,e):(r.virtualPiece=new Vm(i,t,e),h.add(r.virtualPiece)),n.piece._onclickEvent&&n.piece.off("click",n.piece._onclickEvent);var o=function(t){r._rootToNode(n.parentNode)};n.piece._onclickEvent=o,r.virtualPiece.on("click",o)}else r.virtualPiece&&(h.remove(r.virtualPiece),r.virtualPiece=null)}(l,u),n&&n.highlight&&n.highlight.piece){var p=t.getShallow("highlightPolicy");n.highlight.piece.onEmphasis(p)}else if(n&&n.unhighlight){var g=this.virtualPiece;!g&&l.children.length&&(g=l.children[0].piece),g&&g.onNormal()}this._initEvents(),this._oldChildren=d},dispose:function(){},_initEvents:function(){var t=this,e=function(e){var i=!1;t.seriesModel.getViewRoot().eachNode(function(n){if(!i&&n.piece&&n.piece.childAt(0)===e.target){var o=n.getModel().get("nodeClick");if("rootToNode"===o)t._rootToNode(n);else if("link"===o){var a=n.getModel(),r=a.get("link");if(r){var s=a.get("target",!0)||"_blank";window.open(r,s)}}i=!0}})};this.group._onclickEvent&&this.group.off("click",this.group._onclickEvent),this.group.on("click",e),this.group._onclickEvent=e},_rootToNode:function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:"sunburstRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var GP="sunburstRootToNode";Es({type:GP,update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){var n=ld(t,[GP],e);if(n){var o=e.getViewRoot();o&&(t.direction=hd(o,n.node)?"rollUp":"drillDown"),e.resetViewRoot(n.node)}})});var FP="sunburstHighlight";Es({type:FP,update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){var n=ld(t,[FP],e);n&&(t.highlight=n.node)})});Es({type:"sunburstUnhighlight",update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){t.unhighlight=!0})});var WP=Math.PI/180;Bs(v(uC,"sunburst")),zs(v(function(t,e,i,n){e.eachSeriesByType(t,function(t){var e=t.get("center"),n=t.get("radius");y(n)||(n=[0,n]),y(e)||(e=[e,e]);var o=i.getWidth(),a=i.getHeight(),r=Math.min(o,a),s=Vo(e[0],o),l=Vo(e[1],a),u=Vo(n[0],r/2),h=Vo(n[1],r/2),c=-t.get("startAngle")*WP,f=t.get("minAngle")*WP,p=t.getData().tree.root,g=t.getViewRoot(),m=g.depth,v=t.get("sort");null!=v&&Zm(g,v);var x=0;d(g.children,function(t){!isNaN(t.getValue())&&x++});var _=g.getValue(),w=Math.PI/(_||x)*2,b=g.depth>0,S=g.height-(b?-1:1),M=(h-u)/(S||1),I=t.get("clockwise"),T=t.get("stillShowZeroSum"),A=I?1:-1,D=function(t,e){if(t){var i=e;if(t!==p){var n=t.getValue(),o=0===_&&T?w:n*w;o<f&&(o=f),i=e+A*o;var a=t.depth-m-(b?-1:1),h=u+M*a,c=u+M*(a+1),g=t.getModel();null!=g.get("r0")&&(h=Vo(g.get("r0"),r/2)),null!=g.get("r")&&(c=Vo(g.get("r"),r/2)),t.setLayout({angle:o,startAngle:e,endAngle:i,clockwise:I,cx:s,cy:l,r0:h,r:c})}if(t.children&&t.children.length){var v=0;d(t.children,function(t){v+=D(t,e+v)})}return i-e}};if(b){var C=u,L=u+M,k=2*Math.PI;p.setLayout({angle:k,startAngle:c,endAngle:c+k,clockwise:I,cx:s,cy:l,r0:C,r:L})}D(g,c)})},"sunburst")),Os(v(fC,"sunburst"));var HP=["itemStyle"],ZP=["emphasis","itemStyle"],UP=["label"],XP=["emphasis","label"],jP="e\0\0",YP={cartesian2d:function(t){var e=t.grid.getRect();return{coordSys:{type:"cartesian2d",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(e){return t.dataToPoint(e)},size:m(Xm,t)}}},geo:function(t){var e=t.getBoundingRect();return{coordSys:{type:"geo",x:e.x,y:e.y,width:e.width,height:e.height,zoom:t.getZoom()},api:{coord:function(e){return t.dataToPoint(e)},size:m(jm,t)}}},singleAxis:function(t){var e=t.getRect();return{coordSys:{type:"singleAxis",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(e){return t.dataToPoint(e)},size:m(Ym,t)}}},polar:function(t){var e=t.getRadiusAxis(),i=t.getAngleAxis(),n=e.getExtent();return n[0]>n[1]&&n.reverse(),{coordSys:{type:"polar",cx:t.cx,cy:t.cy,r:n[1],r0:n[0]},api:{coord:m(function(n){var o=e.dataToRadius(n[0]),a=i.dataToAngle(n[1]),r=t.coordToPoint([o,a]);return r.push(o,a*Math.PI/180),r}),size:m(qm,t)}}},calendar:function(t){var e=t.getRect(),i=t.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:t.getCellWidth(),cellHeight:t.getCellHeight(),rangeInfo:{start:i.start,end:i.end,weeks:i.weeks,dayCount:i.allDay}},api:{coord:function(e,i){return t.dataToPoint(e,i)}}}}};YI.extend({type:"series.custom",dependencies:["grid","polar","geo","singleAxis","calendar"],defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,useTransform:!0},getInitialData:function(t,e){return ml(this.getSource(),this)},getDataParams:function(t,e,i){var n=YI.prototype.getDataParams.apply(this,arguments);return i&&(n.info=i.info),n}}),Ar.extend({type:"custom",_data:null,render:function(t,e,i,n){var o=this._data,a=t.getData(),r=this.group,s=Qm(t,a,e,i);a.diff(o).add(function(e){ev(null,e,s(e,n),t,r,a)}).update(function(e,i){ev(o.getItemGraphicEl(i),e,s(e,n),t,r,a)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&r.remove(e)}).execute(),this._data=a},incrementalPrepareRender:function(t,e,i){this.group.removeAll(),this._data=null},incrementalRender:function(t,e,i,n,o){for(var a=e.getData(),r=Qm(e,a,i,n),s=t.start;s<t.end;s++)ev(null,s,r(s,o),e,this.group,a).traverse(function(t){t.isGroup||(t.incremental=!0,t.useHoverLayer=!0)})},dispose:B,filterForExposedEvent:function(t,e,i,n){var o=e.element;if(null==o||i.name===o)return!0;for(;(i=i.parent)&&i!==this.group;)if(i.name===o)return!0;return!1}}),Ns(function(t){var e=t.graphic;y(e)?e[0]&&e[0].elements?t.graphic=[t.graphic[0]]:t.graphic=[{elements:e}]:e&&!e.elements&&(t.graphic=[{elements:[e]}])});var qP=Fs({type:"graphic",defaultOption:{elements:[],parentId:null},_elOptionsToUpdate:null,mergeOption:function(t){var e=this.option.elements;this.option.elements=null,qP.superApply(this,"mergeOption",arguments),this.option.elements=e},optionUpdated:function(t,e){var i=this.option,n=(e?i:t).elements,o=i.elements=e?[]:i.elements,a=[];this._flatten(n,a);var r=Pi(o,a);Ni(r);var s=this._elOptionsToUpdate=[];d(r,function(t,e){var i=t.option;i&&(s.push(i),gv(t,i),mv(o,e,i),vv(o[e],i))},this);for(var l=o.length-1;l>=0;l--)null==o[l]?o.splice(l,1):delete o[l].$action},_flatten:function(t,e,i){d(t,function(t){if(t){i&&(t.parentOption=i),e.push(t);var n=t.children;"group"===t.type&&n&&this._flatten(n,e,t),delete t.children}},this)},useElOptionsToUpdate:function(){var t=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,t}});Ws({type:"graphic",init:function(t,e){this._elMap=R(),this._lastGraphicModel},render:function(t,e,i){t!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=t,this._updateElements(t),this._relocate(t,i)},_updateElements:function(t){var e=t.useElOptionsToUpdate();if(e){var i=this._elMap,n=this.group;d(e,function(e){var o=e.$action,a=e.id,r=i.get(a),s=e.parentId,l=null!=s?i.get(s):n,u=e.style;"text"===e.type&&u&&(e.hv&&e.hv[1]&&(u.textVerticalAlign=u.textBaseline=null),!u.hasOwnProperty("textFill")&&u.fill&&(u.textFill=u.fill),!u.hasOwnProperty("textStroke")&&u.stroke&&(u.textStroke=u.stroke));var h=fv(e);o&&"merge"!==o?"replace"===o?(dv(r,i),cv(a,l,h,i)):"remove"===o&&dv(r,i):r?r.attr(h):cv(a,l,h,i);var c=i.get(a);c&&(c.__ecGraphicWidth=e.width,c.__ecGraphicHeight=e.height,yv(c,t))})}},_relocate:function(t,e){for(var i=t.option.elements,n=this.group,o=this._elMap,a=i.length-1;a>=0;a--){var r=i[a],s=o.get(r.id);if(s){var l=s.parent;da(s,r,l===n?{width:e.getWidth(),height:e.getHeight()}:{width:l.__ecGraphicWidth||0,height:l.__ecGraphicHeight||0},null,{hv:r.hv,boundingMode:r.bounding})}}},_clear:function(){var t=this._elMap;t.each(function(e){dv(e,t)}),this._elMap=R()},dispose:function(){this._clear()}});var KP=Fs({type:"legend.plain",dependencies:["series"],layoutMode:{type:"box",ignoreSize:!0},init:function(t,e,i){this.mergeDefaultAndTheme(t,i),t.selected=t.selected||{}},mergeOption:function(t){KP.superCall(this,"mergeOption",t)},optionUpdated:function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&"single"===this.get("selectedMode")){for(var e=!1,i=0;i<t.length;i++){var n=t[i].get("name");if(this.isSelected(n)){this.select(n),e=!0;break}}!e&&this.select(t[0].get("name"))}},_updateData:function(t){var e=[],i=[];t.eachRawSeries(function(n){var o=n.name;i.push(o);var a;if(n.legendDataProvider){var r=n.legendDataProvider(),s=r.mapArray(r.getName);t.isSeriesFiltered(n)||(i=i.concat(s)),s.length?e=e.concat(s):a=!0}else a=!0;a&&Oi(n)&&e.push(n.name)}),this._availableNames=i;var n=f(this.get("data")||e,function(t){return"string"!=typeof t&&"number"!=typeof t||(t={name:t}),new No(t,this,this.ecModel)},this);this._data=n},getData:function(){return this._data},select:function(t){var e=this.option.selected;"single"===this.get("selectedMode")&&d(this._data,function(t){e[t.get("name")]=!1}),e[t]=!0},unSelect:function(t){"single"!==this.get("selectedMode")&&(this.option.selected[t]=!1)},toggleSelected:function(t){var e=this.option.selected;e.hasOwnProperty(t)||(e[t]=!0),this[e[t]?"unSelect":"select"](t)},isSelected:function(t){var e=this.option.selected;return!(e.hasOwnProperty(t)&&!e[t])&&l(this._availableNames,t)>=0},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",textStyle:{color:"#333"},selectedMode:!0,tooltip:{show:!1}}});Es("legendToggleSelect","legendselectchanged",v(xv,"toggleSelected")),Es("legendSelect","legendselected",v(xv,"select")),Es("legendUnSelect","legendunselected",v(xv,"unSelect"));var $P=v,JP=d,QP=tb,tN=Ws({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new QP),this._backgroundEl,this._isFirstRender=!0},getContentGroup:function(){return this._contentGroup},render:function(t,e,i){var n=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get("show",!0)){var o=t.get("align");o&&"auto"!==o||(o="right"===t.get("left")&&"vertical"===t.get("orient")?"right":"left"),this.renderInner(o,t,e,i);var a=t.getBoxLayoutParams(),s={width:i.getWidth(),height:i.getHeight()},l=t.get("padding"),u=ca(a,s,l),h=this.layoutInner(t,o,u,n),c=ca(r({width:h.width,height:h.height},a),s,l);this.group.attr("position",[c.x-h.x,c.y-h.y]),this.group.add(this._backgroundEl=wv(h,t))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl)},renderInner:function(t,e,i,n){var o=this.getContentGroup(),a=R(),r=e.get("selectedMode"),s=[];i.eachRawSeries(function(t){!t.get("legendHoverLink")&&s.push(t.id)}),JP(e.getData(),function(l,u){var h=l.get("name");if(this.newlineDisabled||""!==h&&"\n"!==h){var c=i.getSeriesByName(h)[0];if(!a.get(h))if(c){var d=c.getData(),f=d.getVisual("color");"function"==typeof f&&(f=f(c.getDataParams(0)));var p=d.getVisual("legendSymbol")||"roundRect",g=d.getVisual("symbol");this._createItem(h,u,l,e,p,g,t,f,r).on("click",$P(bv,h,n)).on("mouseover",$P(Sv,c.name,null,n,s)).on("mouseout",$P(Mv,c.name,null,n,s)),a.set(h,!0)}else i.eachRawSeries(function(i){if(!a.get(h)&&i.legendDataProvider){var o=i.legendDataProvider(),c=o.indexOfName(h);if(c<0)return;var d=o.getItemVisual(c,"color");this._createItem(h,u,l,e,"roundRect",null,t,d,r).on("click",$P(bv,h,n)).on("mouseover",$P(Sv,null,h,n,s)).on("mouseout",$P(Mv,null,h,n,s)),a.set(h,!0)}},this)}else o.add(new QP({newline:!0}))},this)},_createItem:function(t,e,i,n,o,r,s,l,u){var h=n.get("itemWidth"),c=n.get("itemHeight"),d=n.get("inactiveColor"),f=n.get("symbolKeepAspect"),p=n.isSelected(t),g=new QP,m=i.getModel("textStyle"),v=i.get("icon"),y=i.getModel("tooltip"),x=y.parentModel;if(o=v||o,g.add(Jl(o,0,0,h,c,p?l:d,null==f||f)),!v&&r&&(r!==o||"none"===r)){var _=.8*c;"none"===r&&(r="circle"),g.add(Jl(r,(h-_)/2,(c-_)/2,_,_,p?l:d,null==f||f))}var w="left"===s?h+5:-5,b=s,S=n.get("formatter"),M=t;"string"==typeof S&&S?M=S.replace("{name}",null!=t?t:""):"function"==typeof S&&(M=S(t)),g.add(new rM({style:mo({},m,{text:M,x:w,y:c/2,textFill:p?m.getTextColor():d,textAlign:b,textVerticalAlign:"middle"})}));var I=new yM({shape:g.getBoundingRect(),invisible:!0,tooltip:y.get("show")?a({content:t,formatter:x.get("formatter",!0)||function(){return t},formatterParams:{componentType:"legend",legendIndex:n.componentIndex,name:t,$vars:["name"]}},y.option):null});return g.add(I),g.eachChild(function(t){t.silent=!0}),I.silent=!u,this.getContentGroup().add(g),fo(g),g.__legendDataIndex=e,g},layoutInner:function(t,e,i){var n=this.getContentGroup();aI(t.get("orient"),n,t.get("itemGap"),i.width,i.height);var o=n.getBoundingRect();return n.attr("position",[-o.x,-o.y]),this.group.getBoundingRect()},remove:function(){this.getContentGroup().removeAll(),this._isFirstRender=!0}});Os(function(t){var e=t.findComponents({mainType:"legend"});e&&e.length&&t.filterSeries(function(t){for(var i=0;i<e.length;i++)if(!e[i].isSelected(t.name))return!1;return!0})}),lI.registerSubTypeDefaulter("legend",function(){return"plain"});var eN=KP.extend({type:"legend.scroll",setScrollDataIndex:function(t){this.option.scrollDataIndex=t},defaultOption:{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:"end",pageFormatter:"{current}/{total}",pageIcons:{horizontal:["M0,0L12,-10L12,10z","M0,0L-12,-10L-12,10z"],vertical:["M0,0L20,0L10,-20z","M0,0L20,0L10,20z"]},pageIconColor:"#2f4554",pageIconInactiveColor:"#aaa",pageIconSize:15,pageTextStyle:{color:"#333"},animationDurationUpdate:800},init:function(t,e,i,n){var o=ga(t);eN.superCall(this,"init",t,e,i,n),Iv(this,t,o)},mergeOption:function(t,e){eN.superCall(this,"mergeOption",t,e),Iv(this,this.option,t)},getOrient:function(){return"vertical"===this.get("orient")?{index:1,name:"vertical"}:{index:0,name:"horizontal"}}}),iN=tb,nN=["width","height"],oN=["x","y"],aN=tN.extend({type:"legend.scroll",newlineDisabled:!0,init:function(){aN.superCall(this,"init"),this._currentIndex=0,this.group.add(this._containerGroup=new iN),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new iN),this._showController},resetInner:function(){aN.superCall(this,"resetInner"),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},renderInner:function(t,e,i,n){function o(t,i){var o=t+"DataIndex",l=Po(e.get("pageIcons",!0)[e.getOrient().name][i],{onclick:m(a._pageGo,a,o,e,n)},{x:-s[0]/2,y:-s[1]/2,width:s[0],height:s[1]});l.name=t,r.add(l)}var a=this;aN.superCall(this,"renderInner",t,e,i,n);var r=this._controllerGroup,s=e.get("pageIconSize",!0);y(s)||(s=[s,s]),o("pagePrev",0);var l=e.getModel("pageTextStyle");r.add(new rM({name:"pageText",style:{textFill:l.getTextColor(),font:l.getFont(),textVerticalAlign:"middle",textAlign:"center"},silent:!0})),o("pageNext",1)},layoutInner:function(t,e,i,n){var o=this.getContentGroup(),a=this._containerGroup,r=this._controllerGroup,s=t.getOrient().index,l=nN[s],u=nN[1-s],h=oN[1-s];aI(t.get("orient"),o,t.get("itemGap"),s?i.width:null,s?null:i.height),aI("horizontal",r,t.get("pageButtonItemGap",!0));var c=o.getBoundingRect(),d=r.getBoundingRect(),f=this._showController=c[l]>i[l],p=[-c.x,-c.y];n||(p[s]=o.position[s]);var g=[0,0],m=[-d.x,-d.y],v=A(t.get("pageButtonGap",!0),t.get("itemGap",!0));f&&("end"===t.get("pageButtonPosition",!0)?m[s]+=i[l]-d[l]:g[s]+=d[l]+v),m[1-s]+=c[u]/2-d[u]/2,o.attr("position",p),a.attr("position",g),r.attr("position",m);var y=this.group.getBoundingRect();if((y={x:0,y:0})[l]=f?i[l]:c[l],y[u]=Math.max(c[u],d[u]),y[h]=Math.min(0,d[h]+m[1-s]),a.__rectSize=i[l],f){var x={x:0,y:0};x[l]=Math.max(i[l]-d[l]-v,0),x[u]=y[u],a.setClipPath(new yM({shape:x})),a.__rectSize=x[l]}else r.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var _=this._getPageInfo(t);return null!=_.pageIndex&&Io(o,{position:_.contentPosition},!!f&&t),this._updatePageInfoView(t,_),y},_pageGo:function(t,e,i){var n=this._getPageInfo(e)[t];null!=n&&i.dispatchAction({type:"legendScroll",scrollDataIndex:n,legendId:e.id})},_updatePageInfoView:function(t,e){var i=this._controllerGroup;d(["pagePrev","pageNext"],function(n){var o=null!=e[n+"DataIndex"],a=i.childOfName(n);a&&(a.setStyle("fill",o?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),a.cursor=o?"pointer":"default")});var n=i.childOfName("pageText"),o=t.get("pageFormatter"),a=e.pageIndex,r=null!=a?a+1:0,s=e.pageCount;n&&o&&n.setStyle("text",_(o)?o.replace("{current}",r).replace("{total}",s):o({current:r,total:s}))},_getPageInfo:function(t){function e(t){if(t){var e=t.getBoundingRect(),i=e[l]+t.position[r];return{s:i,e:i+e[s],i:t.__legendDataIndex}}}function i(t,e){return t.e>=e&&t.s<=e+a}var n=t.get("scrollDataIndex",!0),o=this.getContentGroup(),a=this._containerGroup.__rectSize,r=t.getOrient().index,s=nN[r],l=oN[r],u=this._findTargetItemIndex(n),h=o.children(),c=h[u],d=h.length,f=d?1:0,p={contentPosition:o.position.slice(),pageCount:f,pageIndex:f-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!c)return p;var g=e(c);p.contentPosition[r]=-g.s;for(var m=u+1,v=g,y=g,x=null;m<=d;++m)(!(x=e(h[m]))&&y.e>v.s+a||x&&!i(x,v.s))&&(v=y.i>v.i?y:x)&&(null==p.pageNextDataIndex&&(p.pageNextDataIndex=v.i),++p.pageCount),y=x;for(var m=u-1,v=g,y=g,x=null;m>=-1;--m)(x=e(h[m]))&&i(y,x.s)||!(v.i<y.i)||(y=v,null==p.pagePrevDataIndex&&(p.pagePrevDataIndex=v.i),++p.pageCount,++p.pageIndex),v=x;return p},_findTargetItemIndex:function(t){var e,i=this.getContentGroup();return this._showController?i.eachChild(function(i,n){i.__legendDataIndex===t&&(e=n)}):e=0,e}});Es("legendScroll","legendscroll",function(t,e){var i=t.scrollDataIndex;null!=i&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},function(t){t.setScrollDataIndex(i)})}),Fs({type:"tooltip",dependencies:["axisPointer"],defaultOption:{zlevel:0,z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"rgba(50,50,50,0.7)",borderColor:"#333",borderRadius:4,borderWidth:0,padding:5,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#fff",fontSize:14}}});var rN=d,sN=ea,lN=["","-webkit-","-moz-","-o-"];Cv.prototype={constructor:Cv,_enterable:!0,update:function(){var t=this._container,e=t.currentStyle||document.defaultView.getComputedStyle(t),i=t.style;"absolute"!==i.position&&"absolute"!==e.position&&(i.position="relative")},show:function(t){clearTimeout(this._hideTimeout);var e=this.el;e.style.cssText="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;"+Dv(t)+";left:"+this._x+"px;top:"+this._y+"px;"+(t.get("extraCssText")||""),e.style.display=e.innerHTML?"block":"none",e.style.pointerEvents=this._enterable?"auto":"none",this._show=!0},setContent:function(t){this.el.innerHTML=null==t?"":t},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el;return[t.clientWidth,t.clientHeight]},moveTo:function(t,e){var i,n=this._zr;n&&n.painter&&(i=n.painter.getViewportRootOffset())&&(t+=i.offsetLeft,e+=i.offsetTop);var o=this.el.style;o.left=t+"px",o.top=e+"px",this._x=t,this._y=e},hide:function(){this.el.style.display="none",this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(m(this.hide,this),t)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){var t=this.el.clientWidth,e=this.el.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var i=document.defaultView.getComputedStyle(this.el);i&&(t+=parseInt(i.paddingLeft,10)+parseInt(i.paddingRight,10)+parseInt(i.borderLeftWidth,10)+parseInt(i.borderRightWidth,10),e+=parseInt(i.paddingTop,10)+parseInt(i.paddingBottom,10)+parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10))}return{width:t,height:e}}},Lv.prototype={constructor:Lv,_enterable:!0,update:function(){},show:function(t){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.attr("show",!0),this._show=!0},setContent:function(t,e,i){this.el&&this._zr.remove(this.el);for(var n={},o=t,a=o.indexOf("{marker");a>=0;){var r=o.indexOf("|}"),s=o.substr(a+"{marker".length,r-a-"{marker".length);s.indexOf("sub")>-1?n["marker"+s]={textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:e[s],textOffset:[3,0]}:n["marker"+s]={textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:e[s]},a=(o=o.substr(r+1)).indexOf("{marker")}this.el=new rM({style:{rich:n,text:t,textLineHeight:20,textBackgroundColor:i.get("backgroundColor"),textBorderRadius:i.get("borderRadius"),textFill:i.get("textStyle.color"),textPadding:i.get("padding")},z:i.get("z")}),this._zr.add(this.el);var l=this;this.el.on("mouseover",function(){l._enterable&&(clearTimeout(l._hideTimeout),l._show=!0),l._inContent=!0}),this.el.on("mouseout",function(){l._enterable&&l._show&&l.hideLater(l._hideDelay),l._inContent=!1})},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el.getBoundingRect();return[t.width,t.height]},moveTo:function(t,e){this.el&&this.el.attr("position",[t,e])},hide:function(){this.el?this.el.hide():true,this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(m(this.hide,this),t)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){return this.getSize()}};var uN=m,hN=d,cN=Vo,dN=new yM({shape:{x:-1,y:-1,width:2,height:2}});Ws({type:"tooltip",init:function(t,e){if(!U_.node){var i=t.getComponent("tooltip").get("renderMode");this._renderMode=Hi(i);var n;"html"===this._renderMode?(n=new Cv(e.getDom(),e),this._newLine="<br/>"):(n=new Lv(e),this._newLine="\n"),this._tooltipContent=n}},render:function(t,e,i){if(!U_.node){this.group.removeAll(),this._tooltipModel=t,this._ecModel=e,this._api=i,this._lastDataByCoordSys=null,this._alwaysShowContent=t.get("alwaysShowContent");var n=this._tooltipContent;n.update(),n.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var t=this._tooltipModel.get("triggerOn");um("itemTooltip",this._api,uN(function(e,i,n){"none"!==t&&(t.indexOf(e)>=0?this._tryShow(i,n):"leave"===e&&this._hide(n))},this))},_keepShow:function(){var t=this._tooltipModel,e=this._ecModel,i=this._api;if(null!=this._lastX&&null!=this._lastY&&"none"!==t.get("triggerOn")){var n=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){n.manuallyShowTip(t,e,i,{x:n._lastX,y:n._lastY})})}},manuallyShowTip:function(t,e,i,n){if(n.from!==this.uid&&!U_.node){var o=Pv(n,i);this._ticket="";var a=n.dataByCoordSys;if(n.tooltip&&null!=n.x&&null!=n.y){var r=dN;r.position=[n.x,n.y],r.update(),r.tooltip=n.tooltip,this._tryShow({offsetX:n.x,offsetY:n.y,target:r},o)}else if(a)this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,event:{},dataByCoordSys:n.dataByCoordSys,tooltipOption:n.tooltipOption},o);else if(null!=n.seriesIndex){if(this._manuallyAxisShowTip(t,e,i,n))return;var s=xP(n,e),l=s.point[0],u=s.point[1];null!=l&&null!=u&&this._tryShow({offsetX:l,offsetY:u,position:n.position,target:s.el,event:{}},o)}else null!=n.x&&null!=n.y&&(i.dispatchAction({type:"updateAxisPointer",x:n.x,y:n.y}),this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,target:i.getZr().findHover(n.x,n.y).target,event:{}},o))}},manuallyHideTip:function(t,e,i,n){var o=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,n.from!==this.uid&&this._hide(Pv(n,i))},_manuallyAxisShowTip:function(t,e,i,n){var o=n.seriesIndex,a=n.dataIndex,r=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=o&&null!=a&&null!=r){var s=e.getSeriesByIndex(o);if(s&&"axis"===(t=kv([s.getData().getItemModel(a),s,(s.coordinateSystem||{}).model,t])).get("trigger"))return i.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:a,position:n.position}),!0}},_tryShow:function(t,e){var i=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var n=t.dataByCoordSys;n&&n.length?this._showAxisTooltip(n,t):i&&null!=i.dataIndex?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(t,i,e)):i&&i.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(t,i,e)):(this._lastDataByCoordSys=null,this._hide(e))}},_showOrMove:function(t,e){var i=t.get("showDelay");e=m(e,this),clearTimeout(this._showTimout),i>0?this._showTimout=setTimeout(e,i):e()},_showAxisTooltip:function(t,e){var i=this._ecModel,o=this._tooltipModel,a=[e.offsetX,e.offsetY],r=[],s=[],l=kv([e.tooltipOption,o]),u=this._renderMode,h=this._newLine,c={};hN(t,function(t){hN(t.dataByAxis,function(t){var e=i.getComponent(t.axisDim+"Axis",t.axisIndex),o=t.value,a=[];if(e&&null!=o){var l=Im(o,e.axis,i,t.seriesDataIndices,t.valueLabelOpt);d(t.seriesDataIndices,function(r){var h=i.getSeriesByIndex(r.seriesIndex),d=r.dataIndexInside,f=h&&h.getDataParams(d);if(f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=Xl(e.axis,o),f.axisValueLabel=l,f){s.push(f);var p,g=h.formatTooltip(d,!0,null,u);if(w(g)){p=g.html;var m=g.markers;n(c,m)}else p=g;a.push(p)}});var f=l;"html"!==u?r.push(a.join(h)):r.push((f?ia(f)+h:"")+a.join(h))}})},this),r.reverse(),r=r.join(this._newLine+this._newLine);var f=e.position;this._showOrMove(l,function(){this._updateContentNotChangedOnAxis(t)?this._updatePosition(l,f,a[0],a[1],this._tooltipContent,s):this._showTooltipContent(l,r,s,Math.random(),a[0],a[1],f,void 0,c)})},_showSeriesItemTooltip:function(t,e,i){var n=this._ecModel,o=e.seriesIndex,a=n.getSeriesByIndex(o),r=e.dataModel||a,s=e.dataIndex,l=e.dataType,u=r.getData(),h=kv([u.getItemModel(s),r,a&&(a.coordinateSystem||{}).model,this._tooltipModel]),c=h.get("trigger");if(null==c||"item"===c){var d,f,p=r.getDataParams(s,l),g=r.formatTooltip(s,!1,l,this._renderMode);w(g)?(d=g.html,f=g.markers):(d=g,f=null);var m="item_"+r.name+"_"+s;this._showOrMove(h,function(){this._showTooltipContent(h,d,p,m,t.offsetX,t.offsetY,t.position,t.target,f)}),i({type:"showTip",dataIndexInside:s,dataIndex:u.getRawIndex(s),seriesIndex:o,from:this.uid})}},_showComponentItemTooltip:function(t,e,i){var n=e.tooltip;if("string"==typeof n){var o=n;n={content:o,formatter:o}}var a=new No(n,this._tooltipModel,this._ecModel),r=a.get("content"),s=Math.random();this._showOrMove(a,function(){this._showTooltipContent(a,r,a.get("formatterParams")||{},s,t.offsetX,t.offsetY,t.position,e)}),i({type:"showTip",from:this.uid})},_showTooltipContent:function(t,e,i,n,o,a,r,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent,h=t.get("formatter");r=r||t.get("position");var c=e;if(h&&"string"==typeof h)c=na(h,i,!0);else if("function"==typeof h){var d=uN(function(e,n){e===this._ticket&&(u.setContent(n,l,t),this._updatePosition(t,r,o,a,u,i,s))},this);this._ticket=n,c=h(i,n,d)}u.setContent(c,l,t),u.show(t),this._updatePosition(t,r,o,a,u,i,s)}},_updatePosition:function(t,e,i,n,o,a,r){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=o.getSize(),h=t.get("align"),c=t.get("verticalAlign"),d=r&&r.getBoundingRect().clone();if(r&&d.applyTransform(r.transform),"function"==typeof e&&(e=e([i,n],a,o.el,d,{viewSize:[s,l],contentSize:u.slice()})),y(e))i=cN(e[0],s),n=cN(e[1],l);else if(w(e)){e.width=u[0],e.height=u[1];var f=ca(e,{width:s,height:l});i=f.x,n=f.y,h=null,c=null}else"string"==typeof e&&r?(i=(p=Ev(e,d,u))[0],n=p[1]):(i=(p=Nv(i,n,o,s,l,h?null:20,c?null:20))[0],n=p[1]);if(h&&(i-=Rv(h)?u[0]/2:"right"===h?u[0]:0),c&&(n-=Rv(c)?u[1]/2:"bottom"===c?u[1]:0),t.get("confine")){var p=Ov(i,n,o,s,l);i=p[0],n=p[1]}o.moveTo(i,n)},_updateContentNotChangedOnAxis:function(t){var e=this._lastDataByCoordSys,i=!!e&&e.length===t.length;return i&&hN(e,function(e,n){var o=e.dataByAxis||{},a=(t[n]||{}).dataByAxis||[];(i&=o.length===a.length)&&hN(o,function(t,e){var n=a[e]||{},o=t.seriesDataIndices||[],r=n.seriesDataIndices||[];(i&=t.value===n.value&&t.axisType===n.axisType&&t.axisId===n.axisId&&o.length===r.length)&&hN(o,function(t,e){var n=r[e];i&=t.seriesIndex===n.seriesIndex&&t.dataIndex===n.dataIndex})})}),this._lastDataByCoordSys=t,!!i},_hide:function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},dispose:function(t,e){U_.node||(this._tooltipContent.hide(),gm("itemTooltip",e))}}),Es({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),Es({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){}),Gv.prototype={constructor:Gv,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToRadius:aD.prototype.dataToCoord,radiusToData:aD.prototype.coordToData},u(Gv,aD);var fN=Bi();Fv.prototype={constructor:Fv,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToAngle:aD.prototype.dataToCoord,angleToData:aD.prototype.coordToData,calculateCategoryInterval:function(){var t=this,e=t.getLabelModel(),i=t.scale,n=i.getExtent(),o=i.count();if(n[1]-n[0]<1)return 0;var a=n[0],r=t.dataToCoord(a+1)-t.dataToCoord(a),s=Math.abs(r),l=ke(a,e.getFont(),"center","top"),u=Math.max(l.height,7)/s;isNaN(u)&&(u=1/0);var h=Math.max(0,Math.floor(u)),c=fN(t.model),d=c.lastAutoInterval,f=c.lastTickCount;return null!=d&&null!=f&&Math.abs(d-h)<=1&&Math.abs(f-o)<=1&&d>h?h=d:(c.lastTickCount=o,c.lastAutoInterval=h),h}},u(Fv,aD);var pN=function(t){this.name=t||"",this.cx=0,this.cy=0,this._radiusAxis=new Gv,this._angleAxis=new Fv,this._radiusAxis.polar=this._angleAxis.polar=this};pN.prototype={type:"polar",axisPointerEnabled:!0,constructor:pN,dimensions:["radius","angle"],model:null,containPoint:function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},containData:function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},getAxis:function(t){return this["_"+t+"Axis"]},getAxes:function(){return[this._radiusAxis,this._angleAxis]},getAxesByScale:function(t){var e=[],i=this._angleAxis,n=this._radiusAxis;return i.scale.type===t&&e.push(i),n.scale.type===t&&e.push(n),e},getAngleAxis:function(){return this._angleAxis},getRadiusAxis:function(){return this._radiusAxis},getOtherAxis:function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},getTooltipAxes:function(t){var e=null!=t&&"auto"!==t?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},dataToPoint:function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},pointToData:function(t,e){var i=this.pointToCoord(t);return[this._radiusAxis.radiusToData(i[0],e),this._angleAxis.angleToData(i[1],e)]},pointToCoord:function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=this.getAngleAxis(),o=n.getExtent(),a=Math.min(o[0],o[1]),r=Math.max(o[0],o[1]);n.inverse?a=r-360:r=a+360;var s=Math.sqrt(e*e+i*i);e/=s,i/=s;for(var l=Math.atan2(-i,e)/Math.PI*180,u=l<a?1:-1;l<a||l>r;)l+=360*u;return[s,l]},coordToPoint:function(t){var e=t[0],i=t[1]/180*Math.PI;return[Math.cos(i)*e+this.cx,-Math.sin(i)*e+this.cy]}};var gN=lI.extend({type:"polarAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"polar",index:this.option.polarIndex,id:this.option.polarId})[0]}});n(gN.prototype,UA);var mN={angle:{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}},radius:{splitNumber:5}};ED("angle",gN,Wv,mN.angle),ED("radius",gN,Wv,mN.radius),Fs({type:"polar",dependencies:["polarAxis","angleAxis"],coordinateSystem:null,findAxisModel:function(t){var e;return this.ecModel.eachComponent(t,function(t){t.getCoordSysModel()===this&&(e=t)},this),e},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"80%"}});var vN={dimensions:pN.prototype.dimensions,create:function(t,e){var i=[];return t.eachComponent("polar",function(t,n){var o=new pN(n);o.update=Zv;var a=o.getRadiusAxis(),r=o.getAngleAxis(),s=t.findAxisModel("radiusAxis"),l=t.findAxisModel("angleAxis");Uv(a,s),Uv(r,l),Hv(o,t,e),i.push(o),t.coordinateSystem=o,o.model=t}),t.eachSeries(function(e){if("polar"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"polar",index:e.get("polarIndex"),id:e.get("polarId")})[0];e.coordinateSystem=i.coordinateSystem}}),i}};Fa.register("polar",vN);var yN=["axisLine","axisLabel","axisTick","splitLine","splitArea"];XD.extend({type:"angleAxis",axisPointerClass:"PolarAxisPointer",render:function(t,e){if(this.group.removeAll(),t.get("show")){var n=t.axis,o=n.polar,a=o.getRadiusAxis().getExtent(),r=n.getTicksCoords(),s=f(n.getViewLabels(),function(t){return(t=i(t)).coord=n.dataToCoord(t.tickValue),t});Yv(s),Yv(r),d(yN,function(e){!t.get(e+".show")||n.scale.isBlank()&&"axisLine"!==e||this["_"+e](t,o,r,a,s)},this)}},_axisLine:function(t,e,i,n){var o=t.getModel("axisLine.lineStyle"),a=new sM({shape:{cx:e.cx,cy:e.cy,r:n[jv(e)]},style:o.getLineStyle(),z2:1,silent:!0});a.style.fill=null,this.group.add(a)},_axisTick:function(t,e,i,n){var o=t.getModel("axisTick"),a=(o.get("inside")?-1:1)*o.get("length"),s=n[jv(e)],l=f(i,function(t){return new _M({shape:Xv(e,[s,s+a],t.coord)})});this.group.add(OM(l,{style:r(o.getModel("lineStyle").getLineStyle(),{stroke:t.get("axisLine.lineStyle.color")})}))},_axisLabel:function(t,e,i,n,o){var a=t.getCategories(!0),r=t.getModel("axisLabel"),s=r.get("margin");d(o,function(i,o){var l=r,u=i.tickValue,h=n[jv(e)],c=e.coordToPoint([h+s,i.coord]),d=e.cx,f=e.cy,p=Math.abs(c[0]-d)/h<.3?"center":c[0]>d?"left":"right",g=Math.abs(c[1]-f)/h<.3?"middle":c[1]>f?"top":"bottom";a&&a[u]&&a[u].textStyle&&(l=new No(a[u].textStyle,r,r.ecModel));var m=new rM({silent:!0});this.group.add(m),mo(m.style,l,{x:c[0],y:c[1],textFill:l.getTextColor()||t.get("axisLine.lineStyle.color"),text:i.formattedLabel,textAlign:p,textVerticalAlign:g})},this)},_splitLine:function(t,e,i,n){var o=t.getModel("splitLine").getModel("lineStyle"),a=o.get("color"),s=0;a=a instanceof Array?a:[a];for(var l=[],u=0;u<i.length;u++){var h=s++%a.length;l[h]=l[h]||[],l[h].push(new _M({shape:Xv(e,n,i[u].coord)}))}for(u=0;u<l.length;u++)this.group.add(OM(l[u],{style:r({stroke:a[u%a.length]},o.getLineStyle()),silent:!0,z:t.get("z")}))},_splitArea:function(t,e,i,n){if(i.length){var o=t.getModel("splitArea").getModel("areaStyle"),a=o.get("color"),s=0;a=a instanceof Array?a:[a];for(var l=[],u=Math.PI/180,h=-i[0].coord*u,c=Math.min(n[0],n[1]),d=Math.max(n[0],n[1]),f=t.get("clockwise"),p=1;p<i.length;p++){var g=s++%a.length;l[g]=l[g]||[],l[g].push(new hM({shape:{cx:e.cx,cy:e.cy,r0:c,r:d,startAngle:h,endAngle:-i[p].coord*u,clockwise:f},silent:!0})),h=-i[p].coord*u}for(p=0;p<l.length;p++)this.group.add(OM(l[p],{style:r({fill:a[p%a.length]},o.getAreaStyle()),silent:!0}))}}});var xN=["axisLine","axisTickLabel","axisName"],_N=["splitLine","splitArea"];XD.extend({type:"radiusAxis",axisPointerClass:"PolarAxisPointer",render:function(t,e){if(this.group.removeAll(),t.get("show")){var i=t.axis,n=i.polar,o=n.getAngleAxis(),a=i.getTicksCoords(),r=o.getExtent()[0],s=i.getExtent(),l=qv(n,t,r),u=new FD(t,l);d(xN,u.add,u),this.group.add(u.getGroup()),d(_N,function(e){t.get(e+".show")&&!i.scale.isBlank()&&this["_"+e](t,n,r,s,a)},this)}},_splitLine:function(t,e,i,n,o){var a=t.getModel("splitLine").getModel("lineStyle"),s=a.get("color"),l=0;s=s instanceof Array?s:[s];for(var u=[],h=0;h<o.length;h++){var c=l++%s.length;u[c]=u[c]||[],u[c].push(new sM({shape:{cx:e.cx,cy:e.cy,r:o[h].coord},silent:!0}))}for(h=0;h<u.length;h++)this.group.add(OM(u[h],{style:r({stroke:s[h%s.length],fill:null},a.getLineStyle()),silent:!0}))},_splitArea:function(t,e,i,n,o){if(o.length){var a=t.getModel("splitArea").getModel("areaStyle"),s=a.get("color"),l=0;s=s instanceof Array?s:[s];for(var u=[],h=o[0].coord,c=1;c<o.length;c++){var d=l++%s.length;u[d]=u[d]||[],u[d].push(new hM({shape:{cx:e.cx,cy:e.cy,r0:h,r:o[c].coord,startAngle:0,endAngle:2*Math.PI},silent:!0})),h=o[c].coord}for(c=0;c<u.length;c++)this.group.add(OM(u[c],{style:r({fill:s[c%s.length]},a.getAreaStyle()),silent:!0}))}}});var wN=mm.extend({makeElOption:function(t,e,i,n,o){var a=i.axis;"angle"===a.dim&&(this.animationThreshold=Math.PI/18);var r,s=a.polar,l=s.getOtherAxis(a).getExtent();r=a["dataTo"+la(a.dim)](e);var u=n.get("type");if(u&&"none"!==u){var h=bm(n),c=bN[u](a,s,r,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Sm(t,i,n,o,Kv(e,i,0,s,n.get("label.margin")))}}),bN={line:function(t,e,i,n,o){return"angle"===t.dim?{type:"Line",shape:Dm(e.coordToPoint([n[0],i]),e.coordToPoint([n[1],i]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:i}}},shadow:function(t,e,i,n,o){var a=Math.max(1,t.getBandWidth()),r=Math.PI/180;return"angle"===t.dim?{type:"Sector",shape:Lm(e.cx,e.cy,n[0],n[1],(-i-a/2)*r,(a/2-i)*r)}:{type:"Sector",shape:Lm(e.cx,e.cy,i-a/2,i+a/2,0,2*Math.PI)}}};XD.registerAxisPointerClass("PolarAxisPointer",wN),zs(v(function(t,e,i){i.getWidth(),i.getHeight();var n={},o=Vv(g(e.getSeriesByType(t),function(t){return!e.isSeriesFiltered(t)&&t.coordinateSystem&&"polar"===t.coordinateSystem.type}));e.eachSeriesByType(t,function(t){if("polar"===t.coordinateSystem.type){var e=t.getData(),i=t.coordinateSystem,a=i.getBaseAxis(),r=zv(t),s=o[Bv(a)][r],l=s.offset,u=s.width,h=i.getOtherAxis(a),c=t.coordinateSystem.cx,d=t.coordinateSystem.cy,f=t.get("barMinHeight")||0,p=t.get("barMinAngle")||0;n[r]=n[r]||[];for(var g=e.mapDimension(h.dim),m=e.mapDimension(a.dim),v=pl(e,g),y=h.getExtent()[0],x=0,_=e.count();x<_;x++){var w=e.get(g,x),b=e.get(m,x);if(!isNaN(w)){var S=w>=0?"p":"n",M=y;v&&(n[r][b]||(n[r][b]={p:y,n:y}),M=n[r][b][S]);var I,T,A,D;if("radius"===h.dim){var C=h.dataToRadius(w)-y,L=a.dataToAngle(b);Math.abs(C)<f&&(C=(C<0?-1:1)*f),I=M,T=M+C,D=(A=L-l)-u,v&&(n[r][b][S]=T)}else{var k=h.dataToAngle(w,!0)-y,P=a.dataToRadius(b);Math.abs(k)<p&&(k=(k<0?-1:1)*p),T=(I=P+l)+u,A=M,D=M+k,v&&(n[r][b][S]=D)}e.setItemLayout(x,{cx:c,cy:d,r0:I,r:T,startAngle:-A*Math.PI/180,endAngle:-D*Math.PI/180})}}}},this)},"bar")),Ws({type:"polar"}),h(lI.extend({type:"geo",coordinateSystem:null,layoutMode:"box",init:function(t){lI.prototype.init.apply(this,arguments),Ci(t,"label",["show"])},optionUpdated:function(){var t=this.option,e=this;t.regions=GC.getFilledRegions(t.regions,t.map,t.nameMap),this._optionModelMap=p(t.regions||[],function(t,i){return i.name&&t.set(i.name,new No(i,e)),t},R()),this.updateSelectedMap(t.regions)},defaultOption:{zlevel:0,z:0,show:!0,left:"center",top:"center",aspectScale:null,silent:!1,map:"",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",color:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},regions:[]},getRegionModel:function(t){return this._optionModelMap.get(t)||new No(null,this,this.ecModel)},getFormattedLabel:function(t,e){var i=this.getRegionModel(t).get("label."+e+".formatter"),n={name:t};return"function"==typeof i?(n.status=e,i(n)):"string"==typeof i?i.replace("{a}",null!=t?t:""):void 0},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t}}),aC),Ws({type:"geo",init:function(t,e){var i=new xc(e,!0);this._mapDraw=i,this.group.add(i.group)},render:function(t,e,i,n){if(!n||"geoToggleSelect"!==n.type||n.from!==this.uid){var o=this._mapDraw;t.get("show")?o.draw(t,e,i,this,n):this._mapDraw.group.removeAll(),this.group.silent=t.get("silent")}},dispose:function(){this._mapDraw&&this._mapDraw.remove()}}),$v("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"}),$v("select",{type:"geoSelect",event:"geoselected"}),$v("unSelect",{type:"geoUnSelect",event:"geounselected"});var SN=["rect","polygon","keep","clear"],MN=d,IN={lineX:oy(0),lineY:oy(1),rect:{point:function(t,e,i){return t&&i.boundingRect.contain(t[0],t[1])},rect:function(t,e,i){return t&&i.boundingRect.intersect(t)}},polygon:{point:function(t,e,i){return t&&i.boundingRect.contain(t[0],t[1])&&tu(i.range,t[0],t[1])},rect:function(t,e,i){var n=i.range;if(!t||n.length<=1)return!1;var o=t.x,a=t.y,r=t.width,s=t.height,l=n[0];return!!(tu(n,o,a)||tu(n,o+r,a)||tu(n,o,a+s)||tu(n,o+r,a+s)||de.create(t).contain(l[0],l[1])||ry(o,a,o+r,a,n)||ry(o,a,o,a+s,n)||ry(o+r,a,o+r,a+s,n)||ry(o,a+s,o+r,a+s,n))||void 0}}},TN=d,AN=l,DN=v,CN=["dataToPoint","pointToData"],LN=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"],kN=hy.prototype;kN.setOutputRanges=function(t,e){this.matchOutputRanges(t,e,function(t,e,i){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var n=EN[t.brushType](0,i,e);t.__rangeOffset={offset:RN[t.brushType](n.values,t.range,[1,1]),xyMinMax:n.xyMinMax}}})},kN.matchOutputRanges=function(t,e,i){TN(t,function(t){var n=this.findTargetInfo(t,e);n&&!0!==n&&d(n.coordSyses,function(n){var o=EN[t.brushType](1,n,t.range);i(t,o.values,n,e)})},this)},kN.setInputRanges=function(t,e){TN(t,function(t){var i=this.findTargetInfo(t,e);if(t.range=t.range||[],i&&!0!==i){t.panelId=i.panelId;var n=EN[t.brushType](0,i.coordSys,t.coordRange),o=t.__rangeOffset;t.range=o?RN[t.brushType](n.values,o.offset,gy(n.xyMinMax,o.xyMinMax)):n.values}},this)},kN.makePanelOpts=function(t,e){return f(this._targetInfoList,function(i){var n=i.getPanelRect();return{panelId:i.panelId,defaultBrushType:e&&e(i),clipPath:yp(n),isTargetByCursor:_p(n,t,i.coordSysModel),getLinearBrushOtherExtent:xp(n)}})},kN.controlSeries=function(t,e,i){var n=this.findTargetInfo(t,i);return!0===n||n&&AN(n.coordSyses,e.coordinateSystem)>=0},kN.findTargetInfo=function(t,e){for(var i=this._targetInfoList,n=dy(e,t),o=0;o<i.length;o++){var a=i[o],r=t.panelId;if(r){if(a.panelId===r)return a}else for(o=0;o<NN.length;o++)if(NN[o](n,a))return a}return!0};var PN={grid:function(t,e){var i=t.xAxisModels,n=t.yAxisModels,o=t.gridModels,a=R(),r={},s={};(i||n||o)&&(TN(i,function(t){var e=t.axis.grid.model;a.set(e.id,e),r[e.id]=!0}),TN(n,function(t){var e=t.axis.grid.model;a.set(e.id,e),s[e.id]=!0}),TN(o,function(t){a.set(t.id,t),r[t.id]=!0,s[t.id]=!0}),a.each(function(t){var o=t.coordinateSystem,a=[];TN(o.getCartesians(),function(t,e){(AN(i,t.getAxis("x").model)>=0||AN(n,t.getAxis("y").model)>=0)&&a.push(t)}),e.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:a[0],coordSyses:a,getPanelRect:ON.grid,xAxisDeclared:r[t.id],yAxisDeclared:s[t.id]})}))},geo:function(t,e){TN(t.geoModels,function(t){var i=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:i,coordSyses:[i],getPanelRect:ON.geo})})}},NN=[function(t,e){var i=t.xAxisModel,n=t.yAxisModel,o=t.gridModel;return!o&&i&&(o=i.axis.grid.model),!o&&n&&(o=n.axis.grid.model),o&&o===e.gridModel},function(t,e){var i=t.geoModel;return i&&i===e.geoModel}],ON={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(Ao(t)),e}},EN={lineX:DN(fy,0),lineY:DN(fy,1),rect:function(t,e,i){var n=e[CN[t]]([i[0][0],i[1][0]]),o=e[CN[t]]([i[0][1],i[1][1]]),a=[cy([n[0],o[0]]),cy([n[1],o[1]])];return{values:a,xyMinMax:a}},polygon:function(t,e,i){var n=[[1/0,-1/0],[1/0,-1/0]];return{values:f(i,function(i){var o=e[CN[t]](i);return n[0][0]=Math.min(n[0][0],o[0]),n[1][0]=Math.min(n[1][0],o[1]),n[0][1]=Math.max(n[0][1],o[0]),n[1][1]=Math.max(n[1][1],o[1]),o}),xyMinMax:n}}},RN={lineX:DN(py,0),lineY:DN(py,1),rect:function(t,e,i){return[[t[0][0]-i[0]*e[0][0],t[0][1]-i[0]*e[0][1]],[t[1][0]-i[1]*e[1][0],t[1][1]-i[1]*e[1][1]]]},polygon:function(t,e,i){return f(t,function(t,n){return[t[0]-i[0]*e[n][0],t[1]-i[1]*e[n][1]]})}},zN=["inBrush","outOfBrush"],BN="__ecBrushSelect",VN="__ecInBrushSelectEvent",GN=VT.VISUAL.BRUSH;zs(GN,function(t,e,i){t.eachComponent({mainType:"brush"},function(e){i&&"takeGlobalCursor"===i.type&&e.setBrushOption("brush"===i.key?i.brushOption:{brushType:!1}),(e.brushTargetManager=new hy(e.option,t)).setInputRanges(e.areas,t)})}),Bs(GN,function(t,e,n){var o,a,s=[];t.eachComponent({mainType:"brush"},function(e,n){function l(t){return"all"===m||v[t]}function u(t){return!!t.length}function h(t,e){var i=t.coordinateSystem;w|=i.hasAxisBrushed(),l(e)&&i.eachActiveState(t.getData(),function(t,e){"active"===t&&(x[e]=1)})}function c(i,n,o){var a=_y(i);if(a&&!wy(e,n)&&(d(b,function(n){a[n.brushType]&&e.brushTargetManager.controlSeries(n,i,t)&&o.push(n),w|=u(o)}),l(n)&&u(o))){var r=i.getData();r.each(function(t){xy(a,o,r,t)&&(x[t]=1)})}}var p={brushId:e.id,brushIndex:n,brushName:e.name,areas:i(e.areas),selected:[]};s.push(p);var g=e.option,m=g.brushLink,v=[],x=[],_=[],w=0;n||(o=g.throttleType,a=g.throttleDelay);var b=f(e.areas,function(t){return by(r({boundingRect:FN[t.brushType](t)},t))}),S=ty(e.option,zN,function(t){t.mappingMethod="fixed"});y(m)&&d(m,function(t){v[t]=1}),t.eachSeries(function(t,e){var i=_[e]=[];"parallel"===t.subType?h(t,e):c(t,e,i)}),t.eachSeries(function(t,e){var i={seriesId:t.id,seriesIndex:e,seriesName:t.name,dataIndex:[]};p.selected.push(i);var n=_y(t),o=_[e],a=t.getData(),r=l(e)?function(t){return x[t]?(i.dataIndex.push(a.getRawIndex(t)),"inBrush"):"outOfBrush"}:function(t){return xy(n,o,a,t)?(i.dataIndex.push(a.getRawIndex(t)),"inBrush"):"outOfBrush"};(l(e)?w:u(o))&&iy(zN,S,a,r)})}),vy(e,o,a,s,n)});var FN={lineX:B,lineY:B,rect:function(t){return Sy(t.range)},polygon:function(t){for(var e,i=t.range,n=0,o=i.length;n<o;n++){e=e||[[1/0,-1/0],[1/0,-1/0]];var a=i[n];a[0]<e[0][0]&&(e[0][0]=a[0]),a[0]>e[0][1]&&(e[0][1]=a[0]),a[1]<e[1][0]&&(e[1][0]=a[1]),a[1]>e[1][1]&&(e[1][1]=a[1])}return e&&Sy(e)}},WN=["#ddd"];Fs({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel","series"],defaultOption:{toolbox:null,brushLink:null,seriesIndex:"all",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(120,140,180,0.3)",borderColor:"rgba(120,140,180,0.8)"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(t,e){var i=this.option;!e&&ey(i,t,["inBrush","outOfBrush"]);var n=i.inBrush=i.inBrush||{};i.outOfBrush=i.outOfBrush||{color:WN},n.hasOwnProperty("liftZ")||(n.liftZ=5)},setAreas:function(t){t&&(this.areas=f(t,function(t){return My(this.option,t)},this))},setBrushOption:function(t){this.brushOption=My(this.option,t),this.brushType=this.brushOption.brushType}});Ws({type:"brush",init:function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new zf(e.getZr())).on("brush",m(this._onBrush,this)).mount()},render:function(t){return this.model=t,Iy.apply(this,arguments)},updateTransform:Iy,updateView:Iy,dispose:function(){this._brushController.dispose()},_onBrush:function(t,e){var n=this.model.id;this.model.brushTargetManager.setOutputRanges(t,this.ecModel),(!e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:n,areas:i(t),$from:n})}}),Es({type:"brush",event:"brush"},function(t,e){e.eachComponent({mainType:"brush",query:t},function(e){e.setAreas(t.areas)})}),Es({type:"brushSelect",event:"brushSelected",update:"none"},function(){});var HN={},ZN=rT.toolbox.brush;Dy.defaultOption={show:!0,type:["rect","polygon","lineX","lineY","keep","clear"],icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:i(ZN.title)};var UN=Dy.prototype;UN.render=UN.updateView=function(t,e,i){var n,o,a;e.eachComponent({mainType:"brush"},function(t){n=t.brushType,o=t.brushOption.brushMode||"single",a|=t.areas.length}),this._brushType=n,this._brushMode=o,d(t.get("type",!0),function(e){t.setIconStatus(e,("keep"===e?"multiple"===o:"clear"===e?a:e===n)?"emphasis":"normal")})},UN.getIcons=function(){var t=this.model,e=t.get("icon",!0),i={};return d(t.get("type",!0),function(t){e[t]&&(i[t]=e[t])}),i},UN.onclick=function(t,e,i){var n=this._brushType,o=this._brushMode;"clear"===i?(e.dispatchAction({type:"axisAreaSelect",intervals:[]}),e.dispatchAction({type:"brush",command:"clear",areas:[]})):e.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===i?n:n!==i&&i,brushMode:"keep"===i?"multiple"===o?"single":"multiple":o}})},Ty("brush",Dy),Ns(function(t,e){var i=t&&t.brush;if(y(i)||(i=i?[i]:[]),i.length){var n=[];d(i,function(t){var e=t.hasOwnProperty("toolbox")?t.toolbox:[];e instanceof Array&&(n=n.concat(e))});var o=t&&t.toolbox;y(o)&&(o=o[0]),o||(o={feature:{}},t.toolbox=[o]);var a=o.feature||(o.feature={}),r=a.brush||(a.brush={}),s=r.type||(r.type=[]);s.push.apply(s,n),Jv(s),e&&!s.length&&s.push.apply(s,SN)}});Cy.prototype={constructor:Cy,type:"calendar",dimensions:["time","value"],getDimensionsInfo:function(){return[{name:"time",type:"time"},"value"]},getRangeInfo:function(){return this._rangeInfo},getModel:function(){return this._model},getRect:function(){return this._rect},getCellWidth:function(){return this._sw},getCellHeight:function(){return this._sh},getOrient:function(){return this._orient},getFirstDayOfWeek:function(){return this._firstDayOfWeek},getDateInfo:function(t){var e=(t=Yo(t)).getFullYear(),i=t.getMonth()+1;i=i<10?"0"+i:i;var n=t.getDate();n=n<10?"0"+n:n;var o=t.getDay();return o=Math.abs((o+7-this.getFirstDayOfWeek())%7),{y:e,m:i,d:n,day:o,time:t.getTime(),formatedDate:e+"-"+i+"-"+n,date:t}},getNextNDay:function(t,e){return 0===(e=e||0)?this.getDateInfo(t):((t=new Date(this.getDateInfo(t).time)).setDate(t.getDate()+e),this.getDateInfo(t))},update:function(t,e){function i(t,e){return null!=t[e]&&"auto"!==t[e]}this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay"),this._orient=this._model.get("orient"),this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var n=this._rangeInfo.weeks||1,o=["width","height"],a=this._model.get("cellSize").slice(),r=this._model.getBoxLayoutParams(),s="horizontal"===this._orient?[n,7]:[7,n];d([0,1],function(t){i(a,t)&&(r[o[t]]=a[t]*s[t])});var l={width:e.getWidth(),height:e.getHeight()},u=this._rect=ca(r,l);d([0,1],function(t){i(a,t)||(a[t]=u[o[t]]/s[t])}),this._sw=a[0],this._sh=a[1]},dataToPoint:function(t,e){y(t)&&(t=t[0]),null==e&&(e=!0);var i=this.getDateInfo(t),n=this._rangeInfo,o=i.formatedDate;if(e&&!(i.time>=n.start.time&&i.time<n.end.time+864e5))return[NaN,NaN];var a=i.day,r=this._getRangeInfo([n.start.time,o]).nthWeek;return"vertical"===this._orient?[this._rect.x+a*this._sw+this._sw/2,this._rect.y+r*this._sh+this._sh/2]:[this._rect.x+r*this._sw+this._sw/2,this._rect.y+a*this._sh+this._sh/2]},pointToData:function(t){var e=this.pointToDate(t);return e&&e.time},dataToRect:function(t,e){var i=this.dataToPoint(t,e);return{contentShape:{x:i[0]-(this._sw-this._lineWidth)/2,y:i[1]-(this._sh-this._lineWidth)/2,width:this._sw-this._lineWidth,height:this._sh-this._lineWidth},center:i,tl:[i[0]-this._sw/2,i[1]-this._sh/2],tr:[i[0]+this._sw/2,i[1]-this._sh/2],br:[i[0]+this._sw/2,i[1]+this._sh/2],bl:[i[0]-this._sw/2,i[1]+this._sh/2]}},pointToDate:function(t){var e=Math.floor((t[0]-this._rect.x)/this._sw)+1,i=Math.floor((t[1]-this._rect.y)/this._sh)+1,n=this._rangeInfo.range;return"vertical"===this._orient?this._getDateByWeeksAndDay(i,e-1,n):this._getDateByWeeksAndDay(e,i-1,n)},convertToPixel:v(Ly,"dataToPoint"),convertFromPixel:v(Ly,"pointToData"),_initRangeOption:function(){var t=this._model.get("range"),e=t;if(y(e)&&1===e.length&&(e=e[0]),/^\d{4}$/.test(e)&&(t=[e+"-01-01",e+"-12-31"]),/^\d{4}[\/|-]\d{1,2}$/.test(e)){var i=this.getDateInfo(e),n=i.date;n.setMonth(n.getMonth()+1);var o=this.getNextNDay(n,-1);t=[i.formatedDate,o.formatedDate]}/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(e)&&(t=[e,e]);var a=this._getRangeInfo(t);return a.start.time>a.end.time&&t.reverse(),t},_getRangeInfo:function(t){var e;(t=[this.getDateInfo(t[0]),this.getDateInfo(t[1])])[0].time>t[1].time&&(e=!0,t.reverse());var i=Math.floor(t[1].time/864e5)-Math.floor(t[0].time/864e5)+1,n=new Date(t[0].time),o=n.getDate(),a=t[1].date.getDate();if(n.setDate(o+i-1),n.getDate()!==a)for(var r=n.getTime()-t[1].time>0?1:-1;n.getDate()!==a&&(n.getTime()-t[1].time)*r>0;)i-=r,n.setDate(o+i-1);var s=Math.floor((i+t[0].day+6)/7),l=e?1-s:s-1;return e&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:i,weeks:s,nthWeek:l,fweek:t[0].day,lweek:t[1].day}},_getDateByWeeksAndDay:function(t,e,i){var n=this._getRangeInfo(i);if(t>n.weeks||0===t&&e<n.fweek||t===n.weeks&&e>n.lweek)return!1;var o=7*(t-1)-n.fweek+e,a=new Date(n.start.time);return a.setDate(n.start.d+o),this.getDateInfo(a)}},Cy.dimensions=Cy.prototype.dimensions,Cy.getDimensionsInfo=Cy.prototype.getDimensionsInfo,Cy.create=function(t,e){var i=[];return t.eachComponent("calendar",function(n){var o=new Cy(n,t,e);i.push(o),n.coordinateSystem=o}),t.eachSeries(function(t){"calendar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("calendarIndex")||0])}),i},Fa.register("calendar",Cy);var XN=lI.extend({type:"calendar",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},init:function(t,e,i,n){var o=ga(t);XN.superApply(this,"init",arguments),ky(t,o)},mergeOption:function(t,e){XN.superApply(this,"mergeOption",arguments),ky(this.option,t)}}),jN={EN:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],CN:["涓�鏈�","浜屾湀","涓夋湀","鍥涙湀","浜旀湀","鍏湀","涓冩湀","鍏湀","涔濇湀","鍗佹湀","鍗佷竴鏈�","鍗佷簩鏈�"]},YN={EN:["S","M","T","W","T","F","S"],CN:["鏃�","涓�","浜�","涓�","鍥�","浜�","鍏�"]};Ws({type:"calendar",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(t,e,i){var n=this.group;n.removeAll();var o=t.coordinateSystem,a=o.getRangeInfo(),r=o.getOrient();this._renderDayRect(t,a,n),this._renderLines(t,a,r,n),this._renderYearText(t,a,r,n),this._renderMonthText(t,r,n),this._renderWeekText(t,a,r,n)},_renderDayRect:function(t,e,i){for(var n=t.coordinateSystem,o=t.getModel("itemStyle").getItemStyle(),a=n.getCellWidth(),r=n.getCellHeight(),s=e.start.time;s<=e.end.time;s=n.getNextNDay(s,1).time){var l=n.dataToRect([s],!1).tl,u=new yM({shape:{x:l[0],y:l[1],width:a,height:r},cursor:"default",style:o});i.add(u)}},_renderLines:function(t,e,i,n){function o(e){a._firstDayOfMonth.push(r.getDateInfo(e)),a._firstDayPoints.push(r.dataToRect([e],!1).tl);var o=a._getLinePointsOfOneWeek(t,e,i);a._tlpoints.push(o[0]),a._blpoints.push(o[o.length-1]),l&&a._drawSplitline(o,s,n)}var a=this,r=t.coordinateSystem,s=t.getModel("splitLine.lineStyle").getLineStyle(),l=t.get("splitLine.show"),u=s.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var h=e.start,c=0;h.time<=e.end.time;c++){o(h.formatedDate),0===c&&(h=r.getDateInfo(e.start.y+"-"+e.start.m));var d=h.date;d.setMonth(d.getMonth()+1),h=r.getDateInfo(d)}o(r.getNextNDay(e.end.time,1).formatedDate),l&&this._drawSplitline(a._getEdgesPoints(a._tlpoints,u,i),s,n),l&&this._drawSplitline(a._getEdgesPoints(a._blpoints,u,i),s,n)},_getEdgesPoints:function(t,e,i){var n=[t[0].slice(),t[t.length-1].slice()],o="horizontal"===i?0:1;return n[0][o]=n[0][o]-e/2,n[1][o]=n[1][o]+e/2,n},_drawSplitline:function(t,e,i){var n=new gM({z2:20,shape:{points:t},style:e});i.add(n)},_getLinePointsOfOneWeek:function(t,e,i){var n=t.coordinateSystem;e=n.getDateInfo(e);for(var o=[],a=0;a<7;a++){var r=n.getNextNDay(e.time,a),s=n.dataToRect([r.time],!1);o[2*r.day]=s.tl,o[2*r.day+1]=s["horizontal"===i?"bl":"tr"]}return o},_formatterLabel:function(t,e){return"string"==typeof t&&t?oa(t,e):"function"==typeof t?t(e):e.nameMap},_yearTextPositionControl:function(t,e,i,n,o){e=e.slice();var a=["center","bottom"];"bottom"===n?(e[1]+=o,a=["center","top"]):"left"===n?e[0]-=o:"right"===n?(e[0]+=o,a=["center","top"]):e[1]-=o;var r=0;return"left"!==n&&"right"!==n||(r=Math.PI/2),{rotation:r,position:e,style:{textAlign:a[0],textVerticalAlign:a[1]}}},_renderYearText:function(t,e,i,n){var o=t.getModel("yearLabel");if(o.get("show")){var a=o.get("margin"),r=o.get("position");r||(r="horizontal"!==i?"top":"left");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h="horizontal"===i?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},d=e.start.y;+e.end.y>+e.start.y&&(d=d+"-"+e.end.y);var f=o.get("formatter"),p={start:e.start.y,end:e.end.y,nameMap:d},g=this._formatterLabel(f,p),m=new rM({z2:30});mo(m.style,o,{text:g}),m.attr(this._yearTextPositionControl(m,c[r],i,r,a)),n.add(m)}},_monthTextPositionControl:function(t,e,i,n,o){var a="left",r="top",s=t[0],l=t[1];return"horizontal"===i?(l+=o,e&&(a="center"),"start"===n&&(r="bottom")):(s+=o,e&&(r="middle"),"start"===n&&(a="right")),{x:s,y:l,textAlign:a,textVerticalAlign:r}},_renderMonthText:function(t,e,i){var n=t.getModel("monthLabel");if(n.get("show")){var o=n.get("nameMap"),r=n.get("margin"),s=n.get("position"),l=n.get("align"),u=[this._tlpoints,this._blpoints];_(o)&&(o=jN[o.toUpperCase()]||[]);var h="start"===s?0:1,c="horizontal"===e?0:1;r="start"===s?-r:r;for(var d="center"===l,f=0;f<u[h].length-1;f++){var p=u[h][f].slice(),g=this._firstDayOfMonth[f];if(d){var m=this._firstDayPoints[f];p[c]=(m[c]+u[0][f+1][c])/2}var v=n.get("formatter"),y=o[+g.m-1],x={yyyy:g.y,yy:(g.y+"").slice(2),MM:g.m,M:+g.m,nameMap:y},w=this._formatterLabel(v,x),b=new rM({z2:30});a(mo(b.style,n,{text:w}),this._monthTextPositionControl(p,d,e,s,r)),i.add(b)}}},_weekTextPositionControl:function(t,e,i,n,o){var a="center",r="middle",s=t[0],l=t[1],u="start"===i;return"horizontal"===e?(s=s+n+(u?1:-1)*o[0]/2,a=u?"right":"left"):(l=l+n+(u?1:-1)*o[1]/2,r=u?"bottom":"top"),{x:s,y:l,textAlign:a,textVerticalAlign:r}},_renderWeekText:function(t,e,i,n){var o=t.getModel("dayLabel");if(o.get("show")){var r=t.coordinateSystem,s=o.get("position"),l=o.get("nameMap"),u=o.get("margin"),h=r.getFirstDayOfWeek();_(l)&&(l=YN[l.toUpperCase()]||[]);var c=r.getNextNDay(e.end.time,7-e.lweek).time,d=[r.getCellWidth(),r.getCellHeight()];u=Vo(u,d["horizontal"===i?0:1]),"start"===s&&(c=r.getNextNDay(e.start.time,-(7+e.fweek)).time,u=-u);for(var f=0;f<7;f++){var p=r.getNextNDay(c,f),g=r.dataToRect([p.time],!1).center,m=f;m=Math.abs((f+h)%7);var v=new rM({z2:30});a(mo(v.style,o,{text:l[m]}),this._weekTextPositionControl(g,i,s,u,d)),n.add(v)}}}}),Fs({type:"title",layoutMode:{type:"box",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bolder",color:"#333"},subtextStyle:{color:"#aaa"}}}),Ws({type:"title",render:function(t,e,i){if(this.group.removeAll(),t.get("show")){var n=this.group,o=t.getModel("textStyle"),a=t.getModel("subtextStyle"),r=t.get("textAlign"),s=t.get("textBaseline"),l=new rM({style:mo({},o,{text:t.get("text"),textFill:o.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get("subtext"),c=new rM({style:mo({},a,{text:h,textFill:a.getTextColor(),y:u.height+t.get("itemGap"),textVerticalAlign:"top"},{disableBox:!0}),z2:10}),d=t.get("link"),f=t.get("sublink"),p=t.get("triggerEvent",!0);l.silent=!d&&!p,c.silent=!f&&!p,d&&l.on("click",function(){window.open(d,"_"+t.get("target"))}),f&&c.on("click",function(){window.open(f,"_"+t.get("subtarget"))}),l.eventData=c.eventData=p?{componentType:"title",componentIndex:t.componentIndex}:null,n.add(l),h&&n.add(c);var g=n.getBoundingRect(),m=t.getBoxLayoutParams();m.width=g.width,m.height=g.height;var v=ca(m,{width:i.getWidth(),height:i.getHeight()},t.get("padding"));r||("middle"===(r=t.get("left")||t.get("right"))&&(r="center"),"right"===r?v.x+=v.width:"center"===r&&(v.x+=v.width/2)),s||("center"===(s=t.get("top")||t.get("bottom"))&&(s="middle"),"bottom"===s?v.y+=v.height:"middle"===s&&(v.y+=v.height/2),s=s||"top"),n.attr("position",[v.x,v.y]);var y={textAlign:r,textVerticalAlign:s};l.setStyle(y),c.setStyle(y),g=n.getBoundingRect();var x=v.margin,_=t.getItemStyle(["color","opacity"]);_.fill=t.get("backgroundColor");var w=new yM({shape:{x:g.x-x[3],y:g.y-x[0],width:g.width+x[1]+x[3],height:g.height+x[0]+x[2],r:t.get("borderRadius")},style:_,silent:!0});$n(w),n.add(w)}}}),lI.registerSubTypeDefaulter("dataZoom",function(){return"slider"});var qN=["cartesian2d","polar","singleAxis"],KN=function(t,e){var i=f(t=t.slice(),la),n=f(e=(e||[]).slice(),la);return function(o,a){d(t,function(t,r){for(var s={name:t,capital:i[r]},l=0;l<e.length;l++)s[e[l]]=t+n[l];o.call(a,s)})}}(["x","y","z","radius","angle","single"],["axisIndex","axis","index","id"]),$N=d,JN=Fo,QN=function(t,e,i,n){this._dimName=t,this._axisIndex=e,this._valueWindow,this._percentWindow,this._dataExtent,this._minMaxSpan,this.ecModel=n,this._dataZoomModel=i};QN.prototype={constructor:QN,hostedBy:function(t){return this._dataZoomModel===t},getDataValueWindow:function(){return this._valueWindow.slice()},getDataPercentWindow:function(){return this._percentWindow.slice()},getTargetSeriesModels:function(){var t=[],e=this.ecModel;return e.eachSeries(function(i){if(Py(i.get("coordinateSystem"))){var n=this._dimName,o=e.queryComponents({mainType:n+"Axis",index:i.get(n+"AxisIndex"),id:i.get(n+"AxisId")})[0];this._axisIndex===(o&&o.componentIndex)&&t.push(i)}},this),t},getAxisModel:function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},getOtherAxisModel:function(){var t,e,i=this._dimName,n=this.ecModel,o=this.getAxisModel();"x"===i||"y"===i?(e="gridIndex",t="x"===i?"y":"x"):(e="polarIndex",t="angle"===i?"radius":"angle");var a;return n.eachComponent(t+"Axis",function(t){(t.get(e)||0)===(o.get(e)||0)&&(a=t)}),a},getMinMaxSpan:function(){return i(this._minMaxSpan)},calculateDataWindow:function(t){var e=this._dataExtent,i=this.getAxisModel().axis.scale,n=this._dataZoomModel.getRangePropMode(),o=[0,100],a=[t.start,t.end],r=[];return $N(["startValue","endValue"],function(e){r.push(null!=t[e]?i.parse(t[e]):null)}),$N([0,1],function(t){var s=r[t],l=a[t];"percent"===n[t]?(null==l&&(l=o[t]),s=i.parse(Bo(l,o,e,!0))):l=Bo(s,e,o,!0),r[t]=s,a[t]=l}),{valueWindow:JN(r),percentWindow:JN(a)}},reset:function(t){if(t===this._dataZoomModel){var e=this.getTargetSeriesModels();this._dataExtent=Oy(this,this._dimName,e);var i=this.calculateDataWindow(t.option);this._valueWindow=i.valueWindow,this._percentWindow=i.percentWindow,zy(this),Ry(this)}},restore:function(t){t===this._dataZoomModel&&(this._valueWindow=this._percentWindow=null,Ry(this,!0))},filterData:function(t,e){function i(t){return t>=r[0]&&t<=r[1]}if(t===this._dataZoomModel){var n=this._dimName,o=this.getTargetSeriesModels(),a=t.get("filterMode"),r=this._valueWindow;"none"!==a&&$N(o,function(t){var e=t.getData(),o=e.mapDimension(n,!0);o.length&&("weakFilter"===a?e.filterSelf(function(t){for(var i,n,a,s=0;s<o.length;s++){var l=e.get(o[s],t),u=!isNaN(l),h=l<r[0],c=l>r[1];if(u&&!h&&!c)return!0;u&&(a=!0),h&&(i=!0),c&&(n=!0)}return a&&i&&n}):$N(o,function(n){if("empty"===a)t.setData(e.map(n,function(t){return i(t)?t:NaN}));else{var o={};o[n]=r,e.selectRange(o)}}),$N(o,function(t){e.setApproximateExtent(r,t)}))})}}};var tO=d,eO=KN,iO=Fs({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(t,e,i){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var n=By(t);this.mergeDefaultAndTheme(t,i),this.doInit(n)},mergeOption:function(t){var e=By(t);n(this.option,t,!0),this.doInit(e)},doInit:function(t){var e=this.option;U_.canvasSupported||(e.realtime=!1),this._setDefaultThrottle(t),Vy(this,t),tO([["start","startValue"],["end","endValue"]],function(t,i){"value"===this._rangePropMode[i]&&(e[t[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var t=this._axisProxies;this.eachTargetAxis(function(e,i,n,o){var a=this.dependentModels[e.axis][i],r=a.__dzAxisProxy||(a.__dzAxisProxy=new QN(e.name,i,this,o));t[e.name+"_"+i]=r},this)},_resetTarget:function(){var t=this.option,e=this._judgeAutoMode();eO(function(e){var i=e.axisIndex;t[i]=Di(t[i])},this),"axisIndex"===e?this._autoSetAxisIndex():"orient"===e&&this._autoSetOrient()},_judgeAutoMode:function(){var t=this.option,e=!1;eO(function(i){null!=t[i.axisIndex]&&(e=!0)},this);var i=t.orient;return null==i&&e?"orient":e?void 0:(null==i&&(t.orient="horizontal"),"axisIndex")},_autoSetAxisIndex:function(){var t=!0,e=this.get("orient",!0),i=this.option,n=this.dependentModels;if(t){var o="vertical"===e?"y":"x";n[o+"Axis"].length?(i[o+"AxisIndex"]=[0],t=!1):tO(n.singleAxis,function(n){t&&n.get("orient",!0)===e&&(i.singleAxisIndex=[n.componentIndex],t=!1)})}t&&eO(function(e){if(t){var n=[],o=this.dependentModels[e.axis];if(o.length&&!n.length)for(var a=0,r=o.length;a<r;a++)"category"===o[a].get("type")&&n.push(a);i[e.axisIndex]=n,n.length&&(t=!1)}},this),t&&this.ecModel.eachSeries(function(t){this._isSeriesHasAllAxesTypeOf(t,"value")&&eO(function(e){var n=i[e.axisIndex],o=t.get(e.axisIndex),a=t.get(e.axisId);l(n,o=t.ecModel.queryComponents({mainType:e.axis,index:o,id:a})[0].componentIndex)<0&&n.push(o)})},this)},_autoSetOrient:function(){var t;this.eachTargetAxis(function(e){!t&&(t=e.name)},this),this.option.orient="y"===t?"vertical":"horizontal"},_isSeriesHasAllAxesTypeOf:function(t,e){var i=!0;return eO(function(n){var o=t.get(n.axisIndex),a=this.dependentModels[n.axis][o];a&&a.get("type")===e||(i=!1)},this),i},_setDefaultThrottle:function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var e=this.ecModel.option;this.option.throttle=e.animation&&e.animationDurationUpdate>0?100:20}},getFirstTargetAxisModel:function(){var t;return eO(function(e){if(null==t){var i=this.get(e.axisIndex);i.length&&(t=this.dependentModels[e.axis][i[0]])}},this),t},eachTargetAxis:function(t,e){var i=this.ecModel;eO(function(n){tO(this.get(n.axisIndex),function(o){t.call(e,n,o,this,i)},this)},this)},getAxisProxy:function(t,e){return this._axisProxies[t+"_"+e]},getAxisModel:function(t,e){var i=this.getAxisProxy(t,e);return i&&i.getAxisModel()},setRawRange:function(t,e){var i=this.option;tO([["start","startValue"],["end","endValue"]],function(e){null==t[e[0]]&&null==t[e[1]]||(i[e[0]]=t[e[0]],i[e[1]]=t[e[1]])},this),!e&&Vy(this,t)},getPercentRange:function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},getValueRange:function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var i=this.findRepresentativeAxisProxy();return i?i.getDataValueWindow():void 0},findRepresentativeAxisProxy:function(t){if(t)return t.__dzAxisProxy;var e=this._axisProxies;for(var i in e)if(e.hasOwnProperty(i)&&e[i].hostedBy(this))return e[i];for(var i in e)if(e.hasOwnProperty(i)&&!e[i].hostedBy(this))return e[i]},getRangePropMode:function(){return this._rangePropMode.slice()}}),nO=qI.extend({type:"dataZoom",render:function(t,e,i,n){this.dataZoomModel=t,this.ecModel=e,this.api=i},getTargetCoordInfo:function(){function t(t,e,i,n){for(var o,a=0;a<i.length;a++)if(i[a].model===t){o=i[a];break}o||i.push(o={model:t,axisModels:[],coordIndex:n}),o.axisModels.push(e)}var e=this.dataZoomModel,i=this.ecModel,n={};return e.eachTargetAxis(function(e,o){var a=i.getComponent(e.axis,o);if(a){var r=a.getCoordSysModel();r&&t(r,a,n[r.mainType]||(n[r.mainType]=[]),r.componentIndex)}},this),n}}),oO=(iO.extend({type:"dataZoom.slider",layoutMode:"box",defaultOption:{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#2f4554",width:.5,opacity:.3},areaStyle:{color:"rgba(47,69,84,0.3)",opacity:.3}},borderColor:"#ddd",fillerColor:"rgba(167,183,204,0.4)",handleIcon:"M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z",handleSize:"100%",handleStyle:{color:"#a7b7cc"},labelPrecision:null,labelFormatter:null,showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#333"}}}),yM),aO=Bo,rO=Fo,sO=m,lO=d,uO="horizontal",hO=5,cO=["line","bar","candlestick","scatter"],dO=nO.extend({type:"dataZoom.slider",init:function(t,e){this._displayables={},this._orient,this._range,this._handleEnds,this._size,this._handleWidth,this._handleHeight,this._location,this._dragging,this._dataShadowInfo,this.api=e},render:function(t,e,i,n){dO.superApply(this,"render",arguments),Nr(this,"_dispatchZoomAction",this.dataZoomModel.get("throttle"),"fixRate"),this._orient=t.get("orient"),!1!==this.dataZoomModel.get("show")?(n&&"dataZoom"===n.type&&n.from===this.uid||this._buildView(),this._updateView()):this.group.removeAll()},remove:function(){dO.superApply(this,"remove",arguments),Or(this,"_dispatchZoomAction")},dispose:function(){dO.superApply(this,"dispose",arguments),Or(this,"_dispatchZoomAction")},_buildView:function(){var t=this.group;t.removeAll(),this._resetLocation(),this._resetInterval();var e=this._displayables.barGroup=new tb;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},_resetLocation:function(){var t=this.dataZoomModel,e=this.api,i=this._findCoordRect(),n={width:e.getWidth(),height:e.getHeight()},o=this._orient===uO?{right:n.width-i.x-i.width,top:n.height-30-7,width:i.width,height:30}:{right:7,top:i.y,width:30,height:i.height},a=ga(t.option);d(["right","top","width","height"],function(t){"ph"===a[t]&&(a[t]=o[t])});var r=ca(a,n,t.padding);this._location={x:r.x,y:r.y},this._size=[r.width,r.height],"vertical"===this._orient&&this._size.reverse()},_positionGroup:function(){var t=this.group,e=this._location,i=this._orient,n=this.dataZoomModel.getFirstTargetAxisModel(),o=n&&n.get("inverse"),a=this._displayables.barGroup,r=(this._dataShadowInfo||{}).otherAxisInverse;a.attr(i!==uO||o?i===uO&&o?{scale:r?[-1,1]:[-1,-1]}:"vertical"!==i||o?{scale:r?[-1,-1]:[-1,1],rotation:Math.PI/2}:{scale:r?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:r?[1,1]:[1,-1]});var s=t.getBoundingRect([a]);t.attr("position",[e.x-s.x,e.y-s.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var t=this.dataZoomModel,e=this._size,i=this._displayables.barGroup;i.add(new oO({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get("backgroundColor")},z2:-40})),i.add(new oO({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:"transparent"},z2:0,onclick:m(this._onClickPanelClick,this)}))},_renderDataShadow:function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(t){var e=this._size,i=t.series,n=i.getRawData(),o=i.getShadowDim?i.getShadowDim():t.otherDim;if(null!=o){var a=n.getDataExtent(o),s=.3*(a[1]-a[0]);a=[a[0]-s,a[1]+s];var l,u=[0,e[1]],h=[0,e[0]],c=[[e[0],0],[0,0]],d=[],f=h[1]/(n.count()-1),p=0,g=Math.round(n.count()/e[0]);n.each([o],function(t,e){if(g>0&&e%g)p+=f;else{var i=null==t||isNaN(t)||""===t,n=i?0:aO(t,a,u,!0);i&&!l&&e?(c.push([c[c.length-1][0],0]),d.push([d[d.length-1][0],0])):!i&&l&&(c.push([p,0]),d.push([p,0])),c.push([p,n]),d.push([p,n]),p+=f,l=i}});var m=this.dataZoomModel;this._displayables.barGroup.add(new pM({shape:{points:c},style:r({fill:m.get("dataBackgroundColor")},m.getModel("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new gM({shape:{points:d},style:m.getModel("dataBackground.lineStyle").getLineStyle(),silent:!0,z2:-19}))}}},_prepareDataShadowInfo:function(){var t=this.dataZoomModel,e=t.get("showDataShadow");if(!1!==e){var i,n=this.ecModel;return t.eachTargetAxis(function(o,a){d(t.getAxisProxy(o.name,a).getTargetSeriesModels(),function(t){if(!(i||!0!==e&&l(cO,t.get("type"))<0)){var r,s=n.getComponent(o.axis,a).axis,u=Gy(o.name),h=t.coordinateSystem;null!=u&&h.getOtherAxis&&(r=h.getOtherAxis(s).inverse),u=t.getData().mapDimension(u),i={thisAxis:s,series:t,thisDim:o.name,otherDim:u,otherAxisInverse:r}}},this)},this),i}},_renderHandle:function(){var t=this._displayables,e=t.handles=[],i=t.handleLabels=[],n=this._displayables.barGroup,o=this._size,a=this.dataZoomModel;n.add(t.filler=new oO({draggable:!0,cursor:Fy(this._orient),drift:sO(this._onDragMove,this,"all"),onmousemove:function(t){mw(t.event)},ondragstart:sO(this._showDataInfo,this,!0),ondragend:sO(this._onDragEnd,this),onmouseover:sO(this._showDataInfo,this,!0),onmouseout:sO(this._showDataInfo,this,!1),style:{fill:a.get("fillerColor"),textPosition:"inside"}})),n.add(new oO($n({silent:!0,shape:{x:0,y:0,width:o[0],height:o[1]},style:{stroke:a.get("dataBackgroundColor")||a.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}}))),lO([0,1],function(t){var o=Po(a.get("handleIcon"),{cursor:Fy(this._orient),draggable:!0,drift:sO(this._onDragMove,this,t),onmousemove:function(t){mw(t.event)},ondragend:sO(this._onDragEnd,this),onmouseover:sO(this._showDataInfo,this,!0),onmouseout:sO(this._showDataInfo,this,!1)},{x:-1,y:0,width:2,height:2}),r=o.getBoundingRect();this._handleHeight=Vo(a.get("handleSize"),this._size[1]),this._handleWidth=r.width/r.height*this._handleHeight,o.setStyle(a.getModel("handleStyle").getItemStyle());var s=a.get("handleColor");null!=s&&(o.style.fill=s),n.add(e[t]=o);var l=a.textStyleModel;this.group.add(i[t]=new rM({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",textFill:l.getTextColor(),textFont:l.getFont()},z2:10}))},this)},_resetInterval:function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[aO(t[0],[0,100],e,!0),aO(t[1],[0,100],e,!0)]},_updateInterval:function(t,e){var i=this.dataZoomModel,n=this._handleEnds,o=this._getViewExtent(),a=i.findRepresentativeAxisProxy().getMinMaxSpan(),r=[0,100];QL(e,n,o,i.get("zoomLock")?"all":t,null!=a.minSpan?aO(a.minSpan,r,o,!0):null,null!=a.maxSpan?aO(a.maxSpan,r,o,!0):null);var s=this._range,l=this._range=rO([aO(n[0],o,r,!0),aO(n[1],o,r,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},_updateView:function(t){var e=this._displayables,i=this._handleEnds,n=rO(i.slice()),o=this._size;lO([0,1],function(t){var n=e.handles[t],a=this._handleHeight;n.attr({scale:[a/2,a/2],position:[i[t],o[1]/2-a/2]})},this),e.filler.setShape({x:n[0],y:0,width:n[1]-n[0],height:o[1]}),this._updateDataInfo(t)},_updateDataInfo:function(t){function e(t){var e=Ao(n.handles[t].parent,this.group),i=Co(0===t?"right":"left",e),s=this._handleWidth/2+hO,l=Do([c[t]+(0===t?-s:s),this._size[1]/2],e);o[t].setStyle({x:l[0],y:l[1],textVerticalAlign:a===uO?"middle":i,textAlign:a===uO?i:"center",text:r[t]})}var i=this.dataZoomModel,n=this._displayables,o=n.handleLabels,a=this._orient,r=["",""];if(i.get("showDetail")){var s=i.findRepresentativeAxisProxy();if(s){var l=s.getAxisModel().axis,u=this._range,h=t?s.calculateDataWindow({start:u[0],end:u[1]}).valueWindow:s.getDataValueWindow();r=[this._formatLabel(h[0],l),this._formatLabel(h[1],l)]}}var c=rO(this._handleEnds.slice());e.call(this,0),e.call(this,1)},_formatLabel:function(t,e){var i=this.dataZoomModel,n=i.get("labelFormatter"),o=i.get("labelPrecision");null!=o&&"auto"!==o||(o=e.getPixelPrecision());var a=null==t||isNaN(t)?"":"category"===e.type||"time"===e.type?e.scale.getLabel(Math.round(t)):t.toFixed(Math.min(o,20));return x(n)?n(t,a):_(n)?n.replace("{value}",a):a},_showDataInfo:function(t){t=this._dragging||t;var e=this._displayables.handleLabels;e[0].attr("invisible",!t),e[1].attr("invisible",!t)},_onDragMove:function(t,e,i){this._dragging=!0;var n=Do([e,i],this._displayables.barGroup.getLocalTransform(),!0),o=this._updateInterval(t,n[0]),a=this.dataZoomModel.get("realtime");this._updateView(!a),o&&a&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1),!this.dataZoomModel.get("realtime")&&this._dispatchZoomAction()},_onClickPanelClick:function(t){var e=this._size,i=this._displayables.barGroup.transformCoordToLocal(t.offsetX,t.offsetY);if(!(i[0]<0||i[0]>e[0]||i[1]<0||i[1]>e[1])){var n=this._handleEnds,o=(n[0]+n[1])/2,a=this._updateInterval("all",i[0]-o);this._updateView(),a&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var t=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:t[0],end:t[1]})},_findCoordRect:function(){var t;if(lO(this.getTargetCoordInfo(),function(e){if(!t&&e.length){var i=e[0].model.coordinateSystem;t=i.getRect&&i.getRect()}}),!t){var e=this.api.getWidth(),i=this.api.getHeight();t={x:.2*e,y:.2*i,width:.6*e,height:.6*i}}return t}});iO.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}});var fO="\0_ec_dataZoom_roams",pO=m,gO=nO.extend({type:"dataZoom.inside",init:function(t,e){this._range},render:function(t,e,i,n){gO.superApply(this,"render",arguments),this._range=t.getPercentRange(),d(this.getTargetCoordInfo(),function(e,n){var o=f(e,function(t){return Zy(t.model)});d(e,function(e){var a=e.model,r={};d(["pan","zoom","scrollMove"],function(t){r[t]=pO(mO[t],this,e,n)},this),Wy(i,{coordId:Zy(a),allCoordIds:o,containsPoint:function(t,e,i){return a.coordinateSystem.containPoint([e,i])},dataZoomId:t.id,dataZoomModel:t,getRange:r})},this)},this)},dispose:function(){Hy(this.api,this.dataZoomModel.id),gO.superApply(this,"dispose",arguments),this._range=null}}),mO={zoom:function(t,e,i,n){var o=this._range,a=o.slice(),r=t.axisModels[0];if(r){var s=vO[e](null,[n.originX,n.originY],r,i,t),l=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(a[1]-a[0])+a[0],u=Math.max(1/n.scale,0);a[0]=(a[0]-l)*u+l,a[1]=(a[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return QL(0,a,[0,100],0,h.minSpan,h.maxSpan),this._range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}},pan:Ky(function(t,e,i,n,o,a){var r=vO[n]([a.oldX,a.oldY],[a.newX,a.newY],e,o,i);return r.signal*(t[1]-t[0])*r.pixel/r.pixelLength}),scrollMove:Ky(function(t,e,i,n,o,a){return vO[n]([0,0],[a.scrollDelta,a.scrollDelta],e,o,i).signal*(t[1]-t[0])*a.scrollDelta})},vO={grid:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem.getRect();return t=t||[0,0],"x"===a.dim?(r.pixel=e[0]-t[0],r.pixelLength=s.width,r.pixelStart=s.x,r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=s.height,r.pixelStart=s.y,r.signal=a.inverse?-1:1),r},polar:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===i.mainType?(r.pixel=e[0]-t[0],r.pixelLength=l[1]-l[0],r.pixelStart=l[0],r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=u[1]-u[0],r.pixelStart=u[0],r.signal=a.inverse?-1:1),r},singleAxis:function(t,e,i,n,o){var a=i.axis,r=o.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===a.orient?(s.pixel=e[0]-t[0],s.pixelLength=r.width,s.pixelStart=r.x,s.signal=a.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=r.height,s.pixelStart=r.y,s.signal=a.inverse?-1:1),s}};Os({getTargetSeries:function(t){var e=R();return t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,i,n){d(n.getAxisProxy(t.name,i).getTargetSeriesModels(),function(t){e.set(t.uid,t)})})}),e},modifyOutputEnd:!0,overallReset:function(t,e){t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,i,n){n.getAxisProxy(t.name,i).reset(n,e)}),t.eachTargetAxis(function(t,i,n){n.getAxisProxy(t.name,i).filterData(n,e)})}),t.eachComponent("dataZoom",function(t){var e=t.findRepresentativeAxisProxy(),i=e.getDataPercentWindow(),n=e.getDataValueWindow();t.setRawRange({start:i[0],end:i[1],startValue:n[0],endValue:n[1]},!0)})}}),Es("dataZoom",function(t,e){var i=Ny(m(e.eachComponent,e,"dataZoom"),KN,function(t,e){return t.get(e.axisIndex)}),n=[];e.eachComponent({mainType:"dataZoom",query:t},function(t,e){n.push.apply(n,i(t).nodes)}),d(n,function(e,i){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})})});var yO=d,xO=function(t){var e=t&&t.visualMap;y(e)||(e=e?[e]:[]),yO(e,function(t){if(t){$y(t,"splitList")&&!$y(t,"pieces")&&(t.pieces=t.splitList,delete t.splitList);var e=t.pieces;e&&y(e)&&yO(e,function(t){w(t)&&($y(t,"start")&&!$y(t,"min")&&(t.min=t.start),$y(t,"end")&&!$y(t,"max")&&(t.max=t.end))})}})};lI.registerSubTypeDefaulter("visualMap",function(t){return t.categories||(t.pieces?t.pieces.length>0:t.splitNumber>0)&&!t.calculable?"piecewise":"continuous"});var _O=VT.VISUAL.COMPONENT;Bs(_O,{createOnAllSeries:!0,reset:function(t,e){var i=[];return e.eachComponent("visualMap",function(e){var n=t.pipelineContext;!e.isTargetSeries(t)||n&&n.large||i.push(ny(e.stateList,e.targetVisuals,m(e.getValueState,e),e.getDataDimension(t.getData())))}),i}}),Bs(_O,{createOnAllSeries:!0,reset:function(t,e){var i=t.getData(),n=[];e.eachComponent("visualMap",function(e){if(e.isTargetSeries(t)){var o=e.getVisualMeta(m(Jy,null,t,e))||{stops:[],outerColors:[]},a=e.getDataDimension(i),r=i.getDimensionInfo(a);null!=r&&(o.dimension=r.index,n.push(o))}}),t.getData().setVisual("visualMeta",n)}});var wO={get:function(t,e,n){var o=i((bO[t]||{})[e]);return n&&y(o)?o[o.length-1]:o}},bO={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},SO=hL.mapVisual,MO=hL.eachVisual,IO=y,TO=d,AO=Fo,DO=Bo,CO=B,LO=Fs({type:"visualMap",dependencies:["series"],stateList:["inRange","outOfRange"],replacableOptionKeys:["inRange","outOfRange","target","controller","color"],dataBound:[-1/0,1/0],layoutMode:{type:"box",ignoreSize:!0},defaultOption:{show:!0,zlevel:0,z:4,seriesIndex:"all",min:0,max:200,dimension:null,inRange:null,outOfRange:null,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,color:null,formatter:null,text:null,textStyle:{color:"#333"}},init:function(t,e,i){this._dataExtent,this.targetVisuals={},this.controllerVisuals={},this.textStyleModel,this.itemSize,this.mergeDefaultAndTheme(t,i)},optionUpdated:function(t,e){var i=this.option;U_.canvasSupported||(i.realtime=!1),!e&&ey(i,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},resetVisual:function(t){var e=this.stateList;t=m(t,this),this.controllerVisuals=ty(this.option.controller,e,t),this.targetVisuals=ty(this.option.target,e,t)},getTargetSeriesIndices:function(){var t=this.option.seriesIndex,e=[];return null==t||"all"===t?this.ecModel.eachSeries(function(t,i){e.push(i)}):e=Di(t),e},eachTargetSeries:function(t,e){d(this.getTargetSeriesIndices(),function(i){t.call(e,this.ecModel.getSeriesByIndex(i))},this)},isTargetSeries:function(t){var e=!1;return this.eachTargetSeries(function(i){i===t&&(e=!0)}),e},formatValueText:function(t,e,i){function n(t){return t===l[0]?"min":t===l[1]?"max":(+t).toFixed(Math.min(s,20))}var o,a,r=this.option,s=r.precision,l=this.dataBound,u=r.formatter;return i=i||["<",">"],y(t)&&(t=t.slice(),o=!0),a=e?t:o?[n(t[0]),n(t[1])]:n(t),_(u)?u.replace("{value}",o?a[0]:a).replace("{value2}",o?a[1]:a):x(u)?o?u(t[0],t[1]):u(t):o?t[0]===l[0]?i[0]+" "+a[1]:t[1]===l[1]?i[1]+" "+a[0]:a[0]+" - "+a[1]:a},resetExtent:function(){var t=this.option,e=AO([t.min,t.max]);this._dataExtent=e},getDataDimension:function(t){var e=this.option.dimension,i=t.dimensions;if(null!=e||i.length){if(null!=e)return t.getDimension(e);for(var n=t.dimensions,o=n.length-1;o>=0;o--){var a=n[o];if(!t.getDimensionInfo(a).isCalculationCoord)return a}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){function t(t){IO(o.color)&&!t.inRange&&(t.inRange={color:o.color.slice().reverse()}),t.inRange=t.inRange||{color:e.get("gradientColor")},TO(this.stateList,function(e){var i=t[e];if(_(i)){var n=wO.get(i,"active",l);n?(t[e]={},t[e][i]=n):delete t[e]}},this)}var e=this.ecModel,o=this.option,a={inRange:o.inRange,outOfRange:o.outOfRange},r=o.target||(o.target={}),s=o.controller||(o.controller={});n(r,a),n(s,a);var l=this.isCategory();t.call(this,r),t.call(this,s),function(t,e,i){var n=t[e],o=t[i];n&&!o&&(o=t[i]={},TO(n,function(t,e){if(hL.isValidType(e)){var i=wO.get(e,"inactive",l);null!=i&&(o[e]=i,"color"!==e||o.hasOwnProperty("opacity")||o.hasOwnProperty("colorAlpha")||(o.opacity=[0,0]))}}))}.call(this,r,"inRange","outOfRange"),function(t){var e=(t.inRange||{}).symbol||(t.outOfRange||{}).symbol,n=(t.inRange||{}).symbolSize||(t.outOfRange||{}).symbolSize,o=this.get("inactiveColor");TO(this.stateList,function(a){var r=this.itemSize,s=t[a];s||(s=t[a]={color:l?o:[o]}),null==s.symbol&&(s.symbol=e&&i(e)||(l?"roundRect":["roundRect"])),null==s.symbolSize&&(s.symbolSize=n&&i(n)||(l?r[0]:[r[0],r[0]])),s.symbol=SO(s.symbol,function(t){return"none"===t||"square"===t?"roundRect":t});var u=s.symbolSize;if(null!=u){var h=-1/0;MO(u,function(t){t>h&&(h=t)}),s.symbolSize=SO(u,function(t){return DO(t,[0,h],[0,r[0]],!0)})}},this)}.call(this,s)},resetItemSize:function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},isCategory:function(){return!!this.option.categories},setSelected:CO,getValueState:CO,getVisualMeta:CO}),kO=[20,140],PO=LO.extend({type:"visualMap.continuous",defaultOption:{align:"auto",calculable:!1,range:null,realtime:!0,itemHeight:null,itemWidth:null,hoverLink:!0,hoverLinkDataSize:null,hoverLinkOnHandle:null},optionUpdated:function(t,e){PO.superApply(this,"optionUpdated",arguments),this.resetExtent(),this.resetVisual(function(t){t.mappingMethod="linear",t.dataExtent=this.getExtent()}),this._resetRange()},resetItemSize:function(){PO.superApply(this,"resetItemSize",arguments);var t=this.itemSize;"horizontal"===this._orient&&t.reverse(),(null==t[0]||isNaN(t[0]))&&(t[0]=kO[0]),(null==t[1]||isNaN(t[1]))&&(t[1]=kO[1])},_resetRange:function(){var t=this.getExtent(),e=this.option.range;!e||e.auto?(t.auto=1,this.option.range=t):y(e)&&(e[0]>e[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},completeVisualOption:function(){LO.prototype.completeVisualOption.apply(this,arguments),d(this.stateList,function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=0)},this)},setSelected:function(t){this.option.range=t.slice(),this._resetRange()},getSelected:function(){var t=this.getExtent(),e=Fo((this.get("range")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]<t[0]&&(e[0]=t[0]),e[1]<t[0]&&(e[1]=t[0]),e},getValueState:function(t){var e=this.option.range,i=this.getExtent();return(e[0]<=i[0]||e[0]<=t)&&(e[1]>=i[1]||t<=e[1])?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],o=i.getData();o.each(this.getDataDimension(o),function(e,i){t[0]<=e&&e<=t[1]&&n.push(i)},this),e.push({seriesId:i.id,dataIndex:n})},this),e},getVisualMeta:function(t){function e(e,i){o.push({value:e,color:t(e,i)})}for(var i=Qy(0,0,this.getExtent()),n=Qy(0,0,this.option.range.slice()),o=[],a=0,r=0,s=n.length,l=i.length;r<l&&(!n.length||i[r]<=n[0]);r++)i[r]<n[a]&&e(i[r],"outOfRange");for(u=1;a<s;a++,u=0)u&&o.length&&e(n[a],"outOfRange"),e(n[a],"inRange");for(var u=1;r<l;r++)(!n.length||n[n.length-1]<i[r])&&(u&&(o.length&&e(o[o.length-1].value,"outOfRange"),u=0),e(i[r],"outOfRange"));var h=o.length;return{stops:o,outerColors:[h?o[0].color:"transparent",h?o[h-1].color:"transparent"]}}}),NO=Ws({type:"visualMap",autoPositionValues:{left:1,right:1,top:1,bottom:1},init:function(t,e){this.ecModel=t,this.api=e,this.visualMapModel},render:function(t,e,i,n){this.visualMapModel=t,!1!==t.get("show")?this.doRender.apply(this,arguments):this.group.removeAll()},renderBackground:function(t){var e=this.visualMapModel,i=qM(e.get("padding")||0),n=t.getBoundingRect();t.add(new yM({z2:-1,silent:!0,shape:{x:n.x-i[3],y:n.y-i[0],width:n.width+i[3]+i[1],height:n.height+i[0]+i[2]},style:{fill:e.get("backgroundColor"),stroke:e.get("borderColor"),lineWidth:e.get("borderWidth")}}))},getControllerVisual:function(t,e,i){function n(t){return s[t]}function o(t,e){s[t]=e}var a=(i=i||{}).forceState,r=this.visualMapModel,s={};if("symbol"===e&&(s.symbol=r.get("itemSymbol")),"color"===e){var l=r.get("contentColor");s.color=l}var u=r.controllerVisuals[a||r.getValueState(t)];return d(hL.prepareVisualTypes(u),function(a){var r=u[a];i.convertOpacityToAlpha&&"opacity"===a&&(a="colorAlpha",r=u.__alphaForOpacity),hL.dependsOn(a,e)&&r&&r.applyVisual(t,n,o)}),s[e]},positionGroup:function(t){var e=this.visualMapModel,i=this.api;da(t,e.getBoxLayoutParams(),{width:i.getWidth(),height:i.getHeight()})},doRender:B}),OO=Bo,EO=d,RO=Math.min,zO=Math.max,BO=12,VO=6,GO=NO.extend({type:"visualMap.continuous",init:function(){GO.superApply(this,"init",arguments),this._shapes={},this._dataInterval=[],this._handleEnds=[],this._orient,this._useHandle,this._hoverLinkDataIndices=[],this._dragging,this._hovering},doRender:function(t,e,i,n){n&&"selectDataRange"===n.type&&n.from===this.uid||this._buildView()},_buildView:function(){this.group.removeAll();var t=this.visualMapModel,e=this.group;this._orient=t.get("orient"),this._useHandle=t.get("calculable"),this._resetInterval(),this._renderBar(e);var i=t.get("text");this._renderEndsText(e,i,0),this._renderEndsText(e,i,1),this._updateView(!0),this.renderBackground(e),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(e)},_renderEndsText:function(t,e,i){if(e){var n=e[1-i];n=null!=n?n+"":"";var o=this.visualMapModel,a=o.get("textGap"),r=o.itemSize,s=this._shapes.barGroup,l=this._applyTransform([r[0]/2,0===i?-a:r[1]+a],s),u=this._applyTransform(0===i?"bottom":"top",s),h=this._orient,c=this.visualMapModel.textStyleModel;this.group.add(new rM({style:{x:l[0],y:l[1],textVerticalAlign:"horizontal"===h?"middle":u,textAlign:"horizontal"===h?u:"center",text:n,textFont:c.getFont(),textFill:c.getTextColor()}}))}},_renderBar:function(t){var e=this.visualMapModel,i=this._shapes,n=e.itemSize,o=this._orient,a=this._useHandle,r=tx(e,this.api,n),s=i.barGroup=this._createBarGroup(r);s.add(i.outOfRange=ix()),s.add(i.inRange=ix(null,a?sx(this._orient):null,m(this._dragHandle,this,"all",!1),m(this._dragHandle,this,"all",!0)));var l=e.textStyleModel.getTextRect("鍥�"),u=zO(l.width,l.height);a&&(i.handleThumbs=[],i.handleLabels=[],i.handleLabelPoints=[],this._createHandle(s,0,n,u,o,r),this._createHandle(s,1,n,u,o,r)),this._createIndicator(s,n,u,o),t.add(s)},_createHandle:function(t,e,i,n,o){var a=m(this._dragHandle,this,e,!1),r=m(this._dragHandle,this,e,!0),s=ix(nx(e,n),sx(this._orient),a,r);s.position[0]=i[0],t.add(s);var l=this.visualMapModel.textStyleModel,u=new rM({draggable:!0,drift:a,onmousemove:function(t){mw(t.event)},ondragend:r,style:{x:0,y:0,text:"",textFont:l.getFont(),textFill:l.getTextColor()}});this.group.add(u);var h=["horizontal"===o?n/2:1.5*n,"horizontal"===o?0===e?-1.5*n:1.5*n:0===e?-n/2:n/2],c=this._shapes;c.handleThumbs[e]=s,c.handleLabelPoints[e]=h,c.handleLabels[e]=u},_createIndicator:function(t,e,i,n){var o=ix([[0,0]],"move");o.position[0]=e[0],o.attr({invisible:!0,silent:!0}),t.add(o);var a=this.visualMapModel.textStyleModel,r=new rM({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textFont:a.getFont(),textFill:a.getTextColor()}});this.group.add(r);var s=["horizontal"===n?i/2:VO+3,0],l=this._shapes;l.indicator=o,l.indicatorLabel=r,l.indicatorLabelPoint=s},_dragHandle:function(t,e,i,n){if(this._useHandle){if(this._dragging=!e,!e){var o=this._applyTransform([i,n],this._shapes.barGroup,!0);this._updateInterval(t,o[1]),this._updateView()}e===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),e?!this._hovering&&this._clearHoverLinkToSeries():rx(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[t],!1)}},_resetInterval:function(){var t=this.visualMapModel,e=this._dataInterval=t.getSelected(),i=t.getExtent(),n=[0,t.itemSize[1]];this._handleEnds=[OO(e[0],i,n,!0),OO(e[1],i,n,!0)]},_updateInterval:function(t,e){e=e||0;var i=this.visualMapModel,n=this._handleEnds,o=[0,i.itemSize[1]];QL(e,n,o,t,0);var a=i.getExtent();this._dataInterval=[OO(n[0],o,a,!0),OO(n[1],o,a,!0)]},_updateView:function(t){var e=this.visualMapModel,i=e.getExtent(),n=this._shapes,o=[0,e.itemSize[1]],a=t?o:this._handleEnds,r=this._createBarVisual(this._dataInterval,i,a,"inRange"),s=this._createBarVisual(i,i,o,"outOfRange");n.inRange.setStyle({fill:r.barColor,opacity:r.opacity}).setShape("points",r.barPoints),n.outOfRange.setStyle({fill:s.barColor,opacity:s.opacity}).setShape("points",s.barPoints),this._updateHandle(a,r)},_createBarVisual:function(t,e,i,n){var o={forceState:n,convertOpacityToAlpha:!0},a=this._makeColorGradient(t,o),r=[this.getControllerVisual(t[0],"symbolSize",o),this.getControllerVisual(t[1],"symbolSize",o)],s=this._createBarPoints(i,r);return{barColor:new TM(0,0,0,1,a),barPoints:s,handlesColor:[a[0].color,a[a.length-1].color]}},_makeColorGradient:function(t,e){var i=[],n=(t[1]-t[0])/100;i.push({color:this.getControllerVisual(t[0],"color",e),offset:0});for(var o=1;o<100;o++){var a=t[0]+n*o;if(a>t[1])break;i.push({color:this.getControllerVisual(a,"color",e),offset:o/100})}return i.push({color:this.getControllerVisual(t[1],"color",e),offset:1}),i},_createBarPoints:function(t,e){var i=this.visualMapModel.itemSize;return[[i[0]-e[0],t[0]],[i[0],t[0]],[i[0],t[1]],[i[0]-e[1],t[1]]]},_createBarGroup:function(t){var e=this._orient,i=this.visualMapModel.get("inverse");return new tb("horizontal"!==e||i?"horizontal"===e&&i?{scale:"bottom"===t?[-1,1]:[1,1],rotation:-Math.PI/2}:"vertical"!==e||i?{scale:"left"===t?[1,1]:[-1,1]}:{scale:"left"===t?[1,-1]:[-1,-1]}:{scale:"bottom"===t?[1,1]:[-1,1],rotation:Math.PI/2})},_updateHandle:function(t,e){if(this._useHandle){var i=this._shapes,n=this.visualMapModel,o=i.handleThumbs,a=i.handleLabels;EO([0,1],function(r){var s=o[r];s.setStyle("fill",e.handlesColor[r]),s.position[1]=t[r];var l=Do(i.handleLabelPoints[r],Ao(s,this.group));a[r].setStyle({x:l[0],y:l[1],text:n.formatValueText(this._dataInterval[r]),textVerticalAlign:"middle",textAlign:this._applyTransform("horizontal"===this._orient?0===r?"bottom":"top":"left",i.barGroup)})},this)}},_showIndicator:function(t,e,i,n){var o=this.visualMapModel,a=o.getExtent(),r=o.itemSize,s=[0,r[1]],l=OO(t,a,s,!0),u=this._shapes,h=u.indicator;if(h){h.position[1]=l,h.attr("invisible",!1),h.setShape("points",ox(!!i,n,l,r[1]));var c={convertOpacityToAlpha:!0},d=this.getControllerVisual(t,"color",c);h.setStyle("fill",d);var f=Do(u.indicatorLabelPoint,Ao(h,this.group)),p=u.indicatorLabel;p.attr("invisible",!1);var g=this._applyTransform("left",u.barGroup),m=this._orient;p.setStyle({text:(i||"")+o.formatValueText(e),textVerticalAlign:"horizontal"===m?g:"middle",textAlign:"horizontal"===m?"center":g,x:f[0],y:f[1]})}},_enableHoverLinkToSeries:function(){var t=this;this._shapes.barGroup.on("mousemove",function(e){if(t._hovering=!0,!t._dragging){var i=t.visualMapModel.itemSize,n=t._applyTransform([e.offsetX,e.offsetY],t._shapes.barGroup,!0,!0);n[1]=RO(zO(0,n[1]),i[1]),t._doHoverLinkToSeries(n[1],0<=n[0]&&n[0]<=i[0])}}).on("mouseout",function(){t._hovering=!1,!t._dragging&&t._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),t.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(t,e){var i=this.visualMapModel,n=i.itemSize;if(i.option.hoverLink){var o=[0,n[1]],a=i.getExtent();t=RO(zO(o[0],t),o[1]);var r=ax(i,a,o),s=[t-r,t+r],l=OO(t,o,a,!0),u=[OO(s[0],o,a,!0),OO(s[1],o,a,!0)];s[0]<o[0]&&(u[0]=-1/0),s[1]>o[1]&&(u[1]=1/0),e&&(u[0]===-1/0?this._showIndicator(l,u[1],"< ",r):u[1]===1/0?this._showIndicator(l,u[0],"> ",r):this._showIndicator(l,l,"鈮� ",r));var h=this._hoverLinkDataIndices,c=[];(e||rx(i))&&(c=this._hoverLinkDataIndices=i.findTargetDataIndices(u));var d=Ri(h,c);this._dispatchHighDown("downplay",ex(d[0])),this._dispatchHighDown("highlight",ex(d[1]))}},_hoverLinkFromSeriesMouseOver:function(t){var e=t.target,i=this.visualMapModel;if(e&&null!=e.dataIndex){var n=this.ecModel.getSeriesByIndex(e.seriesIndex);if(i.isTargetSeries(n)){var o=n.getData(e.dataType),a=o.get(i.getDataDimension(o),e.dataIndex,!0);isNaN(a)||this._showIndicator(a,a)}}},_hideIndicator:function(){var t=this._shapes;t.indicator&&t.indicator.attr("invisible",!0),t.indicatorLabel&&t.indicatorLabel.attr("invisible",!0)},_clearHoverLinkToSeries:function(){this._hideIndicator();var t=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",ex(t)),t.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var t=this.api.getZr();t.off("mouseover",this._hoverLinkFromSeriesMouseOver),t.off("mouseout",this._hideIndicator)},_applyTransform:function(t,e,i,n){var o=Ao(e,n?null:this.group);return zM[y(t)?"applyTransform":"transformDirection"](t,o,i)},_dispatchHighDown:function(t,e){e&&e.length&&this.api.dispatchAction({type:t,batch:e})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});Es({type:"selectDataRange",event:"dataRangeSelected",update:"update"},function(t,e){e.eachComponent({mainType:"visualMap",query:t},function(e){e.setSelected(t.selected)})}),Ns(xO);var FO=LO.extend({type:"visualMap.piecewise",defaultOption:{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieceList:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0,showLabel:null},optionUpdated:function(t,e){FO.superApply(this,"optionUpdated",arguments),this._pieceList=[],this.resetExtent();var n=this._mode=this._determineMode();WO[this._mode].call(this),this._resetSelected(t,e);var o=this.option.categories;this.resetVisual(function(t,e){"categories"===n?(t.mappingMethod="category",t.categories=i(o)):(t.dataExtent=this.getExtent(),t.mappingMethod="piecewise",t.pieceList=f(this._pieceList,function(t){var t=i(t);return"inRange"!==e&&(t.visual=null),t}))})},completeVisualOption:function(){function t(t,e,i){return t&&t[e]&&(w(t[e])?t[e].hasOwnProperty(i):t[e]===i)}var e=this.option,i={},n=hL.listVisualTypes(),o=this.isCategory();d(e.pieces,function(t){d(n,function(e){t.hasOwnProperty(e)&&(i[e]=1)})}),d(i,function(i,n){var a=0;d(this.stateList,function(i){a|=t(e,i,n)||t(e.target,i,n)},this),!a&&d(this.stateList,function(t){(e[t]||(e[t]={}))[n]=wO.get(n,"inRange"===t?"active":"inactive",o)})},this),LO.prototype.completeVisualOption.apply(this,arguments)},_resetSelected:function(t,e){var i=this.option,n=this._pieceList,o=(e?i:t).selected||{};if(i.selected=o,d(n,function(t,e){var i=this.getSelectedMapKey(t);o.hasOwnProperty(i)||(o[i]=!0)},this),"single"===i.selectedMode){var a=!1;d(n,function(t,e){var i=this.getSelectedMapKey(t);o[i]&&(a?o[i]=!1:a=!0)},this)}},getSelectedMapKey:function(t){return"categories"===this._mode?t.value+"":t.index+""},getPieceList:function(){return this._pieceList},_determineMode:function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},setSelected:function(t){this.option.selected=i(t)},getValueState:function(t){var e=hL.findPieceIndex(t,this._pieceList);return null!=e&&this.option.selected[this.getSelectedMapKey(this._pieceList[e])]?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],o=i.getData();o.each(this.getDataDimension(o),function(e,i){hL.findPieceIndex(e,this._pieceList)===t&&n.push(i)},this),e.push({seriesId:i.id,dataIndex:n})},this),e},getRepresentValue:function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var i=t.interval||[];e=i[0]===-1/0&&i[1]===1/0?0:(i[0]+i[1])/2}return e},getVisualMeta:function(t){function e(e,a){var r=o.getRepresentValue({interval:e});a||(a=o.getValueState(r));var s=t(r,a);e[0]===-1/0?n[0]=s:e[1]===1/0?n[1]=s:i.push({value:e[0],color:s},{value:e[1],color:s})}if(!this.isCategory()){var i=[],n=[],o=this,a=this._pieceList.slice();if(a.length){var r=a[0].interval[0];r!==-1/0&&a.unshift({interval:[-1/0,r]}),(r=a[a.length-1].interval[1])!==1/0&&a.push({interval:[r,1/0]})}else a.push({interval:[-1/0,1/0]});var s=-1/0;return d(a,function(t){var i=t.interval;i&&(i[0]>s&&e([s,i[0]],"outOfRange"),e(i.slice()),s=i[1])},this),{stops:i,outerColors:n}}}}),WO={splitNumber:function(){var t=this.option,e=this._pieceList,i=Math.min(t.precision,20),n=this.getExtent(),o=t.splitNumber;o=Math.max(parseInt(o,10),1),t.splitNumber=o;for(var a=(n[1]-n[0])/o;+a.toFixed(i)!==a&&i<5;)i++;t.precision=i,a=+a.toFixed(i);var r=0;t.minOpen&&e.push({index:r++,interval:[-1/0,n[0]],close:[0,0]});for(var s=n[0],l=r+o;r<l;s+=a){var u=r===o-1?n[1]:s+a;e.push({index:r++,interval:[s,u],close:[1,1]})}t.maxOpen&&e.push({index:r++,interval:[n[1],1/0],close:[0,0]}),Jo(e),d(e,function(t){t.text=this.formatValueText(t.interval)},this)},categories:function(){var t=this.option;d(t.categories,function(t){this._pieceList.push({text:this.formatValueText(t,!0),value:t})},this),lx(t,this._pieceList)},pieces:function(){var t=this.option,e=this._pieceList;d(t.pieces,function(t,i){w(t)||(t={value:t});var n={text:"",index:i};if(null!=t.label&&(n.text=t.label),t.hasOwnProperty("value")){var o=n.value=t.value;n.interval=[o,o],n.close=[1,1]}else{for(var a=n.interval=[],r=n.close=[0,0],s=[1,0,1],l=[-1/0,1/0],u=[],h=0;h<2;h++){for(var c=[["gte","gt","min"],["lte","lt","max"]][h],d=0;d<3&&null==a[h];d++)a[h]=t[c[d]],r[h]=s[d],u[h]=2===d;null==a[h]&&(a[h]=l[h])}u[0]&&a[1]===1/0&&(r[0]=0),u[1]&&a[0]===-1/0&&(r[1]=0),a[0]===a[1]&&r[0]&&r[1]&&(n.value=a[0])}n.visual=hL.retrieveVisuals(t),e.push(n)},this),lx(t,e),Jo(e),d(e,function(t){var e=t.close,i=[["<","鈮�"][e[1]],[">","鈮�"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,i)},this)}};NO.extend({type:"visualMap.piecewise",doRender:function(){var t=this.group;t.removeAll();var e=this.visualMapModel,i=e.get("textGap"),n=e.textStyleModel,o=n.getFont(),a=n.getTextColor(),r=this._getItemAlign(),s=e.itemSize,l=this._getViewData(),u=l.endsText,h=T(e.get("showLabel",!0),!u);u&&this._renderEndsText(t,u[0],s,h,r),d(l.viewPieceList,function(n){var l=n.piece,u=new tb;u.onclick=m(this._onItemClick,this,l),this._enableHoverLink(u,n.indexInModelPieceList);var c=e.getRepresentValue(l);if(this._createItemSymbol(u,c,[0,0,s[0],s[1]]),h){var d=this.visualMapModel.getValueState(c);u.add(new rM({style:{x:"right"===r?-i:s[0]+i,y:s[1]/2,text:l.text,textVerticalAlign:"middle",textAlign:r,textFont:o,textFill:a,opacity:"outOfRange"===d?.5:1}}))}t.add(u)},this),u&&this._renderEndsText(t,u[1],s,h,r),aI(e.get("orient"),t,e.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},_enableHoverLink:function(t,e){function i(t){var i=this.visualMapModel;i.option.hoverLink&&this.api.dispatchAction({type:t,batch:ex(i.findTargetDataIndices(e))})}t.on("mouseover",m(i,this,"highlight")).on("mouseout",m(i,this,"downplay"))},_getItemAlign:function(){var t=this.visualMapModel,e=t.option;if("vertical"===e.orient)return tx(t,this.api,t.itemSize);var i=e.align;return i&&"auto"!==i||(i="left"),i},_renderEndsText:function(t,e,i,n,o){if(e){var a=new tb,r=this.visualMapModel.textStyleModel;a.add(new rM({style:{x:n?"right"===o?i[0]:0:i[0]/2,y:i[1]/2,textVerticalAlign:"middle",textAlign:n?o:"center",text:e,textFont:r.getFont(),textFill:r.getTextColor()}})),t.add(a)}},_getViewData:function(){var t=this.visualMapModel,e=f(t.getPieceList(),function(t,e){return{piece:t,indexInModelPieceList:e}}),i=t.get("text"),n=t.get("orient"),o=t.get("inverse");return("horizontal"===n?o:!o)?e.reverse():i&&(i=i.slice().reverse()),{viewPieceList:e,endsText:i}},_createItemSymbol:function(t,e,i){t.add(Jl(this.getControllerVisual(e,"symbol"),i[0],i[1],i[2],i[3],this.getControllerVisual(e,"color")))},_onItemClick:function(t){var e=this.visualMapModel,n=e.option,o=i(n.selected),a=e.getSelectedMapKey(t);"single"===n.selectedMode?(o[a]=!0,d(o,function(t,e){o[e]=e===a})):o[a]=!o[a],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:o})}});Ns(xO);var HO=ta,ZO=ia,UO=Fs({type:"marker",dependencies:["series","grid","polar","geo"],init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i),this.mergeOption(t,i,n.createdBySelf,!0)},isAnimationEnabled:function(){if(U_.node)return!1;var t=this.__hostSeries;return this.getShallow("animation")&&t&&t.isAnimationEnabled()},mergeOption:function(t,e,i,n){var o=this.constructor,r=this.mainType+"Model";i||e.eachSeries(function(t){var i=t.get(this.mainType,!0),s=t[r];i&&i.data?(s?s.mergeOption(i,e,!0):(n&&ux(i),d(i.data,function(t){t instanceof Array?(ux(t[0]),ux(t[1])):ux(t)}),a(s=new o(i,this,e),{mainType:this.mainType,seriesIndex:t.seriesIndex,name:t.name,createdBySelf:!0}),s.__hostSeries=t),t[r]=s):t[r]=null},this)},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=y(i)?f(i,HO).join(", "):HO(i),o=e.getName(t),a=ZO(this.name);return(null!=i||o)&&(a+="<br />"),o&&(a+=ZO(o),null!=i&&(a+=" : ")),null!=i&&(a+=ZO(n)),a},getData:function(){return this._data},setData:function(t){this._data=t}});h(UO,ZI),UO.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});var XO=l,jO=v,YO={min:jO(dx,"min"),max:jO(dx,"max"),average:jO(dx,"average")},qO=Ws({type:"marker",init:function(){this.markerGroupMap=R()},render:function(t,e,i){var n=this.markerGroupMap;n.each(function(t){t.__keep=!1});var o=this.type+"Model";e.eachSeries(function(t){var n=t[o];n&&this.renderSeries(t,n,e,i)},this),n.each(function(t){!t.__keep&&this.group.remove(t.group)},this)},renderSeries:function(){}});qO.extend({type:"markPoint",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markPointModel;e&&(xx(e.getData(),t,i),this.markerGroupMap.get(t.id).updateLayout(e))},this)},renderSeries:function(t,e,i,n){var o=t.coordinateSystem,a=t.id,r=t.getData(),s=this.markerGroupMap,l=s.get(a)||s.set(a,new Du),u=_x(o,t,e);e.setData(u),xx(e.getData(),t,n),u.each(function(t){var i=u.getItemModel(t),n=i.getShallow("symbolSize");"function"==typeof n&&(n=n(e.getRawValue(t),e.getDataParams(t))),u.setItemVisual(t,{symbolSize:n,color:i.get("itemStyle.color")||r.getVisual("color"),symbol:i.getShallow("symbol")})}),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl(function(t){t.traverse(function(t){t.dataModel=e})}),l.__keep=!0,l.group.silent=e.get("silent")||t.get("silent")}}),Ns(function(t){t.markPoint=t.markPoint||{}}),UO.extend({type:"markLine",defaultOption:{zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end"},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"}});var KO=function(t,e,o,r){var s=t.getData(),l=r.type;if(!y(r)&&("min"===l||"max"===l||"average"===l||"median"===l||null!=r.xAxis||null!=r.yAxis)){var u,h;if(null!=r.yAxis||null!=r.xAxis)u=null!=r.yAxis?"y":"x",e.getAxis(u),h=T(r.yAxis,r.xAxis);else{var c=px(r,s,e,t);u=c.valueDataDim,c.valueAxis,h=yx(s,u,l)}var d="x"===u?0:1,f=1-d,p=i(r),g={};p.type=null,p.coord=[],g.coord=[],p.coord[f]=-1/0,g.coord[f]=1/0;var m=o.get("precision");m>=0&&"number"==typeof h&&(h=+h.toFixed(Math.min(m,20))),p.coord[d]=g.coord[d]=h,r=[p,g,{type:l,valueIndex:r.valueIndex,value:h}]}return r=[fx(t,r[0]),fx(t,r[1]),a({},r[2])],r[2].type=r[2].type||"",n(r[2],r[0]),n(r[2],r[1]),r};qO.extend({type:"markLine",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markLineModel;if(e){var n=e.getData(),o=e.__from,a=e.__to;o.each(function(e){Ix(o,e,!0,t,i),Ix(a,e,!1,t,i)}),n.each(function(t){n.setItemLayout(t,[o.getItemLayout(t),a.getItemLayout(t)])}),this.markerGroupMap.get(t.id).updateLayout()}},this)},renderSeries:function(t,e,i,n){function o(e,i,o){var a=e.getItemModel(i);Ix(e,i,o,t,n),e.setItemVisual(i,{symbolSize:a.get("symbolSize")||g[o?0:1],symbol:a.get("symbol",!0)||p[o?0:1],color:a.get("itemStyle.color")||s.getVisual("color")})}var a=t.coordinateSystem,r=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(r)||l.set(r,new sf);this.group.add(u.group);var h=Tx(a,t,e),c=h.from,d=h.to,f=h.line;e.__from=c,e.__to=d,e.setData(f);var p=e.get("symbol"),g=e.get("symbolSize");y(p)||(p=[p,p]),"number"==typeof g&&(g=[g,g]),h.from.each(function(t){o(c,t,!0),o(d,t,!1)}),f.each(function(t){var e=f.getItemModel(t).get("lineStyle.color");f.setItemVisual(t,{color:e||c.getItemVisual(t,"color")}),f.setItemLayout(t,[c.getItemLayout(t),d.getItemLayout(t)]),f.setItemVisual(t,{fromSymbolSize:c.getItemVisual(t,"symbolSize"),fromSymbol:c.getItemVisual(t,"symbol"),toSymbolSize:d.getItemVisual(t,"symbolSize"),toSymbol:d.getItemVisual(t,"symbol")})}),u.updateData(f),h.line.eachItemGraphicEl(function(t,i){t.traverse(function(t){t.dataModel=e})}),u.__keep=!0,u.group.silent=e.get("silent")||t.get("silent")}}),Ns(function(t){t.markLine=t.markLine||{}}),UO.extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}}});var $O=function(t,e,i,n){var a=fx(t,n[0]),r=fx(t,n[1]),s=T,l=a.coord,u=r.coord;l[0]=s(l[0],-1/0),l[1]=s(l[1],-1/0),u[0]=s(u[0],1/0),u[1]=s(u[1],1/0);var h=o([{},a,r]);return h.coord=[a.coord,r.coord],h.x0=a.x,h.y0=a.y,h.x1=r.x,h.y1=r.y,h},JO=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];qO.extend({type:"markArea",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markAreaModel;if(e){var n=e.getData();n.each(function(e){var o=f(JO,function(o){return Lx(n,e,o,t,i)});n.setItemLayout(e,o),n.getItemGraphicEl(e).setShape("points",o)})}},this)},renderSeries:function(t,e,i,n){var o=t.coordinateSystem,a=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(a)||l.set(a,{group:new tb});this.group.add(u.group),u.__keep=!0;var h=kx(o,t,e);e.setData(h),h.each(function(e){h.setItemLayout(e,f(JO,function(i){return Lx(h,e,i,t,n)})),h.setItemVisual(e,{color:s.getVisual("color")})}),h.diff(u.__data).add(function(t){var e=new pM({shape:{points:h.getItemLayout(t)}});h.setItemGraphicEl(t,e),u.group.add(e)}).update(function(t,i){var n=u.__data.getItemGraphicEl(i);Io(n,{shape:{points:h.getItemLayout(t)}},e,t),u.group.add(n),h.setItemGraphicEl(t,n)}).remove(function(t){var e=u.__data.getItemGraphicEl(t);u.group.remove(e)}).execute(),h.eachItemGraphicEl(function(t,i){var n=h.getItemModel(i),o=n.getModel("label"),a=n.getModel("emphasis.label"),s=h.getItemVisual(i,"color");t.useStyle(r(n.getModel("itemStyle").getItemStyle(),{fill:Yt(s,.4),stroke:s})),t.hoverStyle=n.getModel("emphasis.itemStyle").getItemStyle(),go(t.style,t.hoverStyle,o,a,{labelFetcher:e,labelDataIndex:i,defaultText:h.getName(i)||"",isRectText:!0,autoColor:s}),fo(t,{}),t.dataModel=e}),u.__data=h,u.group.silent=e.get("silent")||t.get("silent")}}),Ns(function(t){t.markArea=t.markArea||{}});lI.registerSubTypeDefaulter("timeline",function(){return"slider"}),Es({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(t,e){var i=e.getComponent("timeline");return i&&null!=t.currentIndex&&(i.setCurrentIndex(t.currentIndex),!i.get("loop",!0)&&i.isIndexMax()&&i.setPlayState(!1)),e.resetOption("timeline"),r({currentIndex:i.option.currentIndex},t)}),Es({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(t,e){var i=e.getComponent("timeline");i&&null!=t.playState&&i.setPlayState(t.playState)});var QO=lI.extend({type:"timeline",layoutMode:"box",defaultOption:{zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},init:function(t,e,i){this._data,this._names,this.mergeDefaultAndTheme(t,i),this._initData()},mergeOption:function(t){QO.superApply(this,"mergeOption",arguments),this._initData()},setCurrentIndex:function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(t>=e&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(t){this.option.autoPlay=!!t},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var t=this.option,e=t.data||[],n=t.axisType,o=this._names=[];if("category"===n){var a=[];d(e,function(t,e){var n,r=Li(t);w(t)?(n=i(t)).value=e:n=e,a.push(n),_(r)||null!=r&&!isNaN(r)||(r=""),o.push(r+"")}),e=a}var r={category:"ordinal",time:"time"}[n]||"number";(this._data=new vA([{name:"value",type:r}],this)).initData(e,o)},getData:function(){return this._data},getCategories:function(){if("category"===this.get("axisType"))return this._names.slice()}});h(QO.extend({type:"timeline.slider",defaultOption:{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"emptyCircle",symbolSize:10,lineStyle:{show:!0,width:2,color:"#304654"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#304654"},itemStyle:{color:"#304654",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:13,color:"#c23531",borderWidth:5,borderColor:"rgba(194,53,49, 0.5)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",prevIcon:"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{label:{show:!0,color:"#c23531"},itemStyle:{color:"#c23531"},controlStyle:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}}),ZI);var tE=qI.extend({type:"timeline"}),eE=function(t,e,i,n){aD.call(this,t,e,i),this.type=n||"value",this.model=null};eE.prototype={constructor:eE,getLabelModel:function(){return this.model.getModel("label")},isHorizontal:function(){return"horizontal"===this.model.get("orient")}},u(eE,aD);var iE=m,nE=d,oE=Math.PI;tE.extend({type:"timeline.slider",init:function(t,e){this.api=e,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(t,e,i,n){if(this.model=t,this.api=i,this.ecModel=e,this.group.removeAll(),t.get("show",!0)){var o=this._layout(t,i),a=this._createGroup("mainGroup"),r=this._createGroup("labelGroup"),s=this._axis=this._createAxis(o,t);t.formatTooltip=function(t){return ia(s.scale.getLabel(t))},nE(["AxisLine","AxisTick","Control","CurrentPointer"],function(e){this["_render"+e](o,a,s,t)},this),this._renderAxisLabel(o,r,s,t),this._position(o,t)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(t,e){var i=t.get("label.position"),n=t.get("orient"),o=Ex(t,e);null==i||"auto"===i?i="horizontal"===n?o.y+o.height/2<e.getHeight()/2?"-":"+":o.x+o.width/2<e.getWidth()/2?"+":"-":isNaN(i)&&(i={horizontal:{top:"-",bottom:"+"},vertical:{left:"-",right:"+"}}[n][i]);var a={horizontal:"center",vertical:i>=0||"+"===i?"left":"right"},r={horizontal:i>=0||"+"===i?"top":"bottom",vertical:"middle"},s={horizontal:0,vertical:oE/2},l="vertical"===n?o.height:o.width,u=t.getModel("controlStyle"),h=u.get("show",!0),c=h?u.get("itemSize"):0,d=h?u.get("itemGap"):0,f=c+d,p=t.get("label.rotate")||0;p=p*oE/180;var g,m,v,y,x=u.get("position",!0),_=h&&u.get("showPlayBtn",!0),w=h&&u.get("showPrevBtn",!0),b=h&&u.get("showNextBtn",!0),S=0,M=l;return"left"===x||"bottom"===x?(_&&(g=[0,0],S+=f),w&&(m=[S,0],S+=f),b&&(v=[M-c,0],M-=f)):(_&&(g=[M-c,0],M-=f),w&&(m=[0,0],S+=f),b&&(v=[M-c,0],M-=f)),y=[S,M],t.get("inverse")&&y.reverse(),{viewRect:o,mainLength:l,orient:n,rotation:s[n],labelRotation:p,labelPosOpt:i,labelAlign:t.get("label.align")||a[n],labelBaseline:t.get("label.verticalAlign")||t.get("label.baseline")||r[n],playPosition:g,prevBtnPosition:m,nextBtnPosition:v,axisExtent:y,controlSize:c,controlGap:d}},_position:function(t,e){function i(t){var e=t.position;t.origin=[c[0][0]-e[0],c[1][0]-e[1]]}function n(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}function o(t,e,i,n,o){t[n]+=i[n][o]-e[n][o]}var a=this._mainGroup,r=this._labelGroup,s=t.viewRect;if("vertical"===t.orient){var l=xt(),u=s.x,h=s.y+s.height;St(l,l,[-u,-h]),Mt(l,l,-oE/2),St(l,l,[u,h]),(s=s.clone()).applyTransform(l)}var c=n(s),d=n(a.getBoundingRect()),f=n(r.getBoundingRect()),p=a.position,g=r.position;g[0]=p[0]=c[0][0];var m=t.labelPosOpt;if(isNaN(m))o(p,d,c,1,v="+"===m?0:1),o(g,f,c,1,1-v);else{var v=m>=0?0:1;o(p,d,c,1,v),g[1]=p[1]+m}a.attr("position",p),r.attr("position",g),a.rotation=r.rotation=t.rotation,i(a),i(r)},_createAxis:function(t,e){var i=e.getData(),n=e.get("axisType"),o=Hl(e,n);o.getTicks=function(){return i.mapArray(["value"],function(t){return t})};var a=i.getDataExtent("value");o.setExtent(a[0],a[1]),o.niceTicks();var r=new eE("value",o,t.axisExtent,n);return r.model=e,r},_createGroup:function(t){var e=this["_"+t]=new tb;return this.group.add(e),e},_renderAxisLine:function(t,e,i,n){var o=i.getExtent();n.get("lineStyle.show")&&e.add(new _M({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:a({lineCap:"round"},n.getModel("lineStyle").getLineStyle()),silent:!0,z2:1}))},_renderAxisTick:function(t,e,i,n){var o=n.getData(),a=i.scale.getTicks();nE(a,function(t){var a=i.dataToCoord(t),r=o.getItemModel(t),s=r.getModel("itemStyle"),l=r.getModel("emphasis.itemStyle"),u={position:[a,0],onclick:iE(this._changeTimeline,this,t)},h=zx(r,s,e,u);fo(h,l.getItemStyle()),r.get("tooltip")?(h.dataIndex=t,h.dataModel=n):h.dataIndex=h.dataModel=null},this)},_renderAxisLabel:function(t,e,i,n){if(i.getLabelModel().get("show")){var o=n.getData(),a=i.getViewLabels();nE(a,function(n){var a=n.tickValue,r=o.getItemModel(a),s=r.getModel("label"),l=r.getModel("emphasis.label"),u=i.dataToCoord(n.tickValue),h=new rM({position:[u,0],rotation:t.labelRotation-t.rotation,onclick:iE(this._changeTimeline,this,a),silent:!1});mo(h.style,s,{text:n.formattedLabel,textAlign:t.labelAlign,textVerticalAlign:t.labelBaseline}),e.add(h),fo(h,mo({},l))},this)}},_renderControl:function(t,e,i,n){function o(t,i,o,h){if(t){var c=Rx(n,i,u,{position:t,origin:[a/2,0],rotation:h?-r:0,rectHover:!0,style:s,onclick:o});e.add(c),fo(c,l)}}var a=t.controlSize,r=t.rotation,s=n.getModel("controlStyle").getItemStyle(),l=n.getModel("emphasis.controlStyle").getItemStyle(),u=[0,-a/2,a,a],h=n.getPlayState(),c=n.get("inverse",!0);o(t.nextBtnPosition,"controlStyle.nextIcon",iE(this._changeTimeline,this,c?"-":"+")),o(t.prevBtnPosition,"controlStyle.prevIcon",iE(this._changeTimeline,this,c?"+":"-")),o(t.playPosition,"controlStyle."+(h?"stopIcon":"playIcon"),iE(this._handlePlayClick,this,!h),!0)},_renderCurrentPointer:function(t,e,i,n){var o=n.getData(),a=n.getCurrentIndex(),r=o.getItemModel(a).getModel("checkpointStyle"),s=this,l={onCreate:function(t){t.draggable=!0,t.drift=iE(s._handlePointerDrag,s),t.ondragend=iE(s._handlePointerDragend,s),Bx(t,a,i,n,!0)},onUpdate:function(t){Bx(t,a,i,n)}};this._currentPointer=zx(r,r,this._mainGroup,{},this._currentPointer,l)},_handlePlayClick:function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},_handlePointerDrag:function(t,e,i){this._clearTimer(),this._pointerChangeTimeline([i.offsetX,i.offsetY])},_handlePointerDragend:function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},_pointerChangeTimeline:function(t,e){var i=this._toAxisCoord(t)[0],n=Fo(this._axis.getExtent().slice());i>n[1]&&(i=n[1]),i<n[0]&&(i=n[0]),this._currentPointer.position[0]=i,this._currentPointer.dirty();var o=this._findNearestTick(i),a=this.model;(e||o!==a.getCurrentIndex()&&a.get("realtime"))&&this._changeTimeline(o)},_doPlayStop:function(){this._clearTimer(),this.model.getPlayState()&&(this._timer=setTimeout(iE(function(){var t=this.model;this._changeTimeline(t.getCurrentIndex()+(t.get("rewind",!0)?-1:1))},this),this.model.get("playInterval")))},_toAxisCoord:function(t){return Do(t,this._mainGroup.getLocalTransform(),!0)},_findNearestTick:function(t){var e,i=this.model.getData(),n=1/0,o=this._axis;return i.each(["value"],function(i,a){var r=o.dataToCoord(i),s=Math.abs(r-t);s<n&&(n=s,e=a)}),e},_clearTimer:function(){this._timer&&(clearTimeout(this._timer),this._timer=null)},_changeTimeline:function(t){var e=this.model.getCurrentIndex();"+"===t?t=e+1:"-"===t&&(t=e-1),this.api.dispatchAction({type:"timelineChange",currentIndex:t,from:this.uid})}}),Ns(function(t){var e=t&&t.timeline;y(e)||(e=e?[e]:[]),d(e,function(t){t&&Px(t)})});var aE=Fs({type:"toolbox",layoutMode:{type:"box",ignoreSize:!0},optionUpdated:function(){aE.superApply(this,"optionUpdated",arguments),d(this.option.feature,function(t,e){var i=Ay(e);i&&n(t,i.defaultOption)})},defaultOption:{show:!0,z:6,zlevel:0,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}}}});Ws({type:"toolbox",render:function(t,e,i,n){function o(o,r){var s,c=h[o],d=h[r],f=new No(l[c],t,t.ecModel);if(c&&!d){if(Vx(c))s={model:f,onclick:f.option.onclick,featureName:c};else{var p=Ay(c);if(!p)return;s=new p(f,e,i)}u[c]=s}else{if(!(s=u[d]))return;s.model=f,s.ecModel=e,s.api=i}c||!d?f.get("show")&&!s.unusable?(a(f,s,c),f.setIconStatus=function(t,e){var i=this.option,n=this.iconPaths;i.iconStatus=i.iconStatus||{},i.iconStatus[t]=e,n[t]&&n[t].trigger(e)},s.render&&s.render(f,e,i,n)):s.remove&&s.remove(e,i):s.dispose&&s.dispose(e,i)}function a(n,o,a){var l=n.getModel("iconStyle"),u=n.getModel("emphasis.iconStyle"),h=o.getIcons?o.getIcons():n.get("icon"),c=n.get("title")||{};if("string"==typeof h){var f=h,p=c;c={},(h={})[a]=f,c[a]=p}var g=n.iconPaths={};d(h,function(a,h){var d=Po(a,{},{x:-s/2,y:-s/2,width:s,height:s});d.setStyle(l.getItemStyle()),d.hoverStyle=u.getItemStyle(),fo(d),t.get("showTitle")&&(d.__title=c[h],d.on("mouseover",function(){var t=u.getItemStyle();d.setStyle({text:c[h],textPosition:t.textPosition||"bottom",textFill:t.fill||t.stroke||"#000",textAlign:t.textAlign||"center"})}).on("mouseout",function(){d.setStyle({textFill:null})})),d.trigger(n.get("iconStatus."+h)||"normal"),r.add(d),d.on("click",m(o.onclick,o,e,i,h)),g[h]=d})}var r=this.group;if(r.removeAll(),t.get("show")){var s=+t.get("itemSize"),l=t.get("feature")||{},u=this._features||(this._features={}),h=[];d(l,function(t,e){h.push(e)}),new Xs(this._featureNames||[],h).add(o).update(o).remove(v(o,null)).execute(),this._featureNames=h,_v(r,t,i),r.add(wv(r.getBoundingRect(),t)),r.eachChild(function(t){var e=t.__title,n=t.hoverStyle;if(n&&e){var o=ke(e,Xe(n)),a=t.position[0]+r.position[0],l=!1;t.position[1]+r.position[1]+s+o.height>i.getHeight()&&(n.textPosition="top",l=!0);var u=l?-5-o.height:s+8;a+o.width/2>i.getWidth()?(n.textPosition=["100%",u],n.textAlign="right"):a-o.width/2<0&&(n.textPosition=[0,u],n.textAlign="left")}})}},updateView:function(t,e,i,n){d(this._features,function(t){t.updateView&&t.updateView(t.model,e,i,n)})},remove:function(t,e){d(this._features,function(i){i.remove&&i.remove(t,e)}),this.group.removeAll()},dispose:function(t,e){d(this._features,function(i){i.dispose&&i.dispose(t,e)})}});var rE=rT.toolbox.saveAsImage;Gx.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:rE.title,type:"png",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:rE.lang.slice()},Gx.prototype.unusable=!U_.canvasSupported,Gx.prototype.onclick=function(t,e){var i=this.model,n=i.get("name")||t.get("title.0.text")||"echarts",o=document.createElement("a"),a=i.get("type",!0)||"png";o.download=n+"."+a,o.target="_blank";var r=e.getConnectedDataURL({type:a,backgroundColor:i.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",excludeComponents:i.get("excludeComponents"),pixelRatio:i.get("pixelRatio")});if(o.href=r,"function"!=typeof MouseEvent||U_.browser.ie||U_.browser.edge)if(window.navigator.msSaveOrOpenBlob){for(var s=atob(r.split(",")[1]),l=s.length,u=new Uint8Array(l);l--;)u[l]=s.charCodeAt(l);var h=new Blob([u]);window.navigator.msSaveOrOpenBlob(h,n+"."+a)}else{var c=i.get("lang"),d='<body style="margin:0;"><img src="'+r+'" style="max-width:100%;" title="'+(c&&c[0]||"")+'" /></body>';window.open().document.write(d)}else{var f=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});o.dispatchEvent(f)}},Ty("saveAsImage",Gx);var sE=rT.toolbox.magicType;Fx.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z",tiled:"M2.3,2.2h22.8V25H2.3V2.2z M35,2.2h22.8V25H35V2.2zM2.3,35h22.8v22.8H2.3V35z M35,35h22.8v22.8H35V35z"},title:i(sE.title),option:{},seriesIndex:{}};var lE=Fx.prototype;lE.getIcons=function(){var t=this.model,e=t.get("icon"),i={};return d(t.get("type"),function(t){e[t]&&(i[t]=e[t])}),i};var uE={line:function(t,e,i,o){if("bar"===t)return n({id:e,type:"line",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},o.get("option.line")||{},!0)},bar:function(t,e,i,o){if("line"===t)return n({id:e,type:"bar",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},o.get("option.bar")||{},!0)},stack:function(t,e,i,o){if("line"===t||"bar"===t)return n({id:e,stack:"__ec_magicType_stack__"},o.get("option.stack")||{},!0)},tiled:function(t,e,i,o){if("line"===t||"bar"===t)return n({id:e,stack:""},o.get("option.tiled")||{},!0)}},hE=[["line","bar"],["stack","tiled"]];lE.onclick=function(t,e,i){var n=this.model,o=n.get("seriesIndex."+i);if(uE[i]){var a={series:[]};d(hE,function(t){l(t,i)>=0&&d(t,function(t){n.setIconStatus(t,"normal")})}),n.setIconStatus(i,"emphasis"),t.eachComponent({mainType:"series",query:null==o?null:{seriesIndex:o}},function(e){var o=e.subType,s=e.id,l=uE[i](o,s,e,n);l&&(r(l,e.option),a.series.push(l));var u=e.coordinateSystem;if(u&&"cartesian2d"===u.type&&("line"===i||"bar"===i)){var h=u.getAxesByScale("ordinal")[0];if(h){var c=h.dim+"Axis",d=t.queryComponents({mainType:c,index:e.get(name+"Index"),id:e.get(name+"Id")})[0].componentIndex;a[c]=a[c]||[];for(var f=0;f<=d;f++)a[c][d]=a[c][d]||{};a[c][d].boundaryGap="bar"===i}}}),e.dispatchAction({type:"changeMagicType",currentType:i,newOption:a})}},Es({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(t,e){e.mergeOption(t.newOption)}),Ty("magicType",Fx);var cE=rT.toolbox.dataView,dE=new Array(60).join("-"),fE="\t",pE=new RegExp("["+fE+"]+","g");$x.defaultOption={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:i(cE.title),lang:i(cE.lang),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"},$x.prototype.onclick=function(t,e){function i(){n.removeChild(a),x._dom=null}var n=e.getDom(),o=this.model;this._dom&&n.removeChild(this._dom);var a=document.createElement("div");a.style.cssText="position:absolute;left:5px;top:5px;bottom:5px;right:5px;",a.style.backgroundColor=o.get("backgroundColor")||"#fff";var r=document.createElement("h4"),s=o.get("lang")||[];r.innerHTML=s[0]||o.get("title"),r.style.cssText="margin: 10px 20px;",r.style.color=o.get("textColor");var l=document.createElement("div"),u=document.createElement("textarea");l.style.cssText="display:block;width:100%;overflow:auto;";var h=o.get("optionToContent"),c=o.get("contentToOption"),d=Ux(t);if("function"==typeof h){var f=h(e.getOption());"string"==typeof f?l.innerHTML=f:M(f)&&l.appendChild(f)}else l.appendChild(u),u.readOnly=o.get("readOnly"),u.style.cssText="width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;",u.style.color=o.get("textColor"),u.style.borderColor=o.get("textareaBorderColor"),u.style.backgroundColor=o.get("textareaColor"),u.value=d.value;var p=d.meta,g=document.createElement("div");g.style.cssText="position:absolute;bottom:0;left:0;right:0;";var m="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",v=document.createElement("div"),y=document.createElement("div");m+=";background-color:"+o.get("buttonColor"),m+=";color:"+o.get("buttonTextColor");var x=this;ht(v,"click",i),ht(y,"click",function(){var t;try{t="function"==typeof c?c(l,e.getOption()):Kx(u.value,p)}catch(t){throw i(),new Error("Data view format error "+t)}t&&e.dispatchAction({type:"changeDataView",newOption:t}),i()}),v.innerHTML=s[1],y.innerHTML=s[2],y.style.cssText=m,v.style.cssText=m,!o.get("readOnly")&&g.appendChild(y),g.appendChild(v),ht(u,"keydown",function(t){if(9===(t.keyCode||t.which)){var e=this.value,i=this.selectionStart,n=this.selectionEnd;this.value=e.substring(0,i)+fE+e.substring(n),this.selectionStart=this.selectionEnd=i+1,mw(t)}}),a.appendChild(r),a.appendChild(l),a.appendChild(g),l.style.height=n.clientHeight-80+"px",n.appendChild(a),this._dom=a},$x.prototype.remove=function(t,e){this._dom&&e.getDom().removeChild(this._dom)},$x.prototype.dispose=function(t,e){this.remove(t,e)},Ty("dataView",$x),Es({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(t,e){var i=[];d(t.newOption.series,function(t){var n=e.getSeriesByName(t.name)[0];if(n){var o=n.get("data");i.push({name:t.name,data:Jx(t.data,o)})}else i.push(a({type:"scatter"},t))}),e.mergeOption(r({series:i},t.newOption))});var gE=d,mE="\0_ec_hist_store";iO.extend({type:"dataZoom.select"}),nO.extend({type:"dataZoom.select"});var vE=rT.toolbox.dataZoom,yE=d,xE="\0_ec_\0toolbox-dataZoom_";o_.defaultOption={show:!0,icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:i(vE.title)};var _E=o_.prototype;_E.render=function(t,e,i,n){this.model=t,this.ecModel=e,this.api=i,s_(t,e,this,n,i),r_(t,e)},_E.onclick=function(t,e,i){wE[i].call(this)},_E.remove=function(t,e){this._brushController.unmount()},_E.dispose=function(t,e){this._brushController.dispose()};var wE={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(t_(this.ecModel))}};_E._onBrush=function(t,e){function i(t,e,i){var r=e.getAxis(t),s=r.model,l=n(t,s,a),u=l.findRepresentativeAxisProxy(s).getMinMaxSpan();null==u.minValueSpan&&null==u.maxValueSpan||(i=QL(0,i.slice(),r.scale.getExtent(),0,u.minValueSpan,u.maxValueSpan)),l&&(o[l.id]={dataZoomId:l.id,startValue:i[0],endValue:i[1]})}function n(t,e,i){var n;return i.eachComponent({mainType:"dataZoom",subType:"select"},function(i){i.getAxisModel(t,e.componentIndex)&&(n=i)}),n}if(e.isEnd&&t.length){var o={},a=this.ecModel;this._brushController.updateCovers([]),new hy(a_(this.model.option),a,{include:["grid"]}).matchOutputRanges(t,a,function(t,e,n){if("cartesian2d"===n.type){var o=t.brushType;"rect"===o?(i("x",n,e[0]),i("y",n,e[1])):i({lineX:"x",lineY:"y"}[o],n,e)}}),Qx(a,o),this._dispatchZoomAction(o)}},_E._dispatchZoomAction=function(t){var e=[];yE(t,function(t,n){e.push(i(t))}),e.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:e})},Ty("dataZoom",o_),Ns(function(t){function e(t,e){if(e){var o=t+"Index",a=e[o];null==a||"all"===a||y(a)||(a=!1===a||"none"===a?[]:[a]),i(t,function(e,i){if(null==a||"all"===a||-1!==l(a,i)){var r={type:"select",$fromToolbox:!0,id:xE+t+i};r[o]=i,n.push(r)}})}}function i(e,i){var n=t[e];y(n)||(n=n?[n]:[]),yE(n,i)}if(t){var n=t.dataZoom||(t.dataZoom=[]);y(n)||(t.dataZoom=n=[n]);var o=t.toolbox;if(o&&(y(o)&&(o=o[0]),o&&o.feature)){var a=o.feature.dataZoom;e("xAxis",a),e("yAxis",a)}}});var bE=rT.toolbox.restore;l_.defaultOption={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:bE.title},l_.prototype.onclick=function(t,e,i){e_(t),e.dispatchAction({type:"restore",from:this.uid})},Ty("restore",l_),Es({type:"restore",event:"restore",update:"prepareAndUpdate"},function(t,e){e.resetOption("recreate")});var SE,ME="urn:schemas-microsoft-com:vml",IE="undefined"==typeof window?null:window,TE=!1,AE=IE&&IE.document;if(AE&&!U_.canvasSupported)try{!AE.namespaces.zrvml&&AE.namespaces.add("zrvml",ME),SE=function(t){return AE.createElement("<zrvml:"+t+' class="zrvml">')}}catch(t){SE=function(t){return AE.createElement("<"+t+' xmlns="'+ME+'" class="zrvml">')}}var DE=ES.CMD,CE=Math.round,LE=Math.sqrt,kE=Math.abs,PE=Math.cos,NE=Math.sin,OE=Math.max;if(!U_.canvasSupported){var EE=21600,RE=EE/2,zE=function(t){t.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",t.coordsize=EE+","+EE,t.coordorigin="0,0"},BE=function(t){return String(t).replace(/&/g,"&amp;").replace(/"/g,"&quot;")},VE=function(t,e,i){return"rgb("+[t,e,i].join(",")+")"},GE=function(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)},FE=function(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)},WE=function(t,e,i){return 1e5*(parseFloat(t)||0)+1e3*(parseFloat(e)||0)+i},HE=function(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t},ZE=function(t,e,i){var n=Gt(e);i=+i,isNaN(i)&&(i=1),n&&(t.color=VE(n[0],n[1],n[2]),t.opacity=i*n[3])},UE=function(t){var e=Gt(t);return[VE(e[0],e[1],e[2]),e[3]]},XE=function(t,e,i){var n=e.fill;if(null!=n)if(n instanceof IM){var o,a=0,r=[0,0],s=0,l=1,u=i.getBoundingRect(),h=u.width,c=u.height;if("linear"===n.type){o="gradient";var d=i.transform,f=[n.x*h,n.y*c],p=[n.x2*h,n.y2*c];d&&(Q(f,f,d),Q(p,p,d));var g=p[0]-f[0],m=p[1]-f[1];(a=180*Math.atan2(g,m)/Math.PI)<0&&(a+=360),a<1e-6&&(a=0)}else{o="gradientradial";var f=[n.x*h,n.y*c],d=i.transform,v=i.scale,y=h,x=c;r=[(f[0]-u.x)/y,(f[1]-u.y)/x],d&&Q(f,f,d),y/=v[0]*EE,x/=v[1]*EE;var _=OE(y,x);s=0/_,l=2*n.r/_-s}var w=n.colorStops.slice();w.sort(function(t,e){return t.offset-e.offset});for(var b=w.length,S=[],M=[],I=0;I<b;I++){var T=w[I],A=UE(T.color);M.push(T.offset*l+s+" "+A[0]),0!==I&&I!==b-1||S.push(A)}if(b>=2){var D=S[0][0],C=S[1][0],L=S[0][1]*e.opacity,k=S[1][1]*e.opacity;t.type=o,t.method="none",t.focus="100%",t.angle=a,t.color=D,t.color2=C,t.colors=M.join(","),t.opacity=k,t.opacity2=L}"radial"===o&&(t.focusposition=r.join(","))}else ZE(t,n,e.opacity)},jE=function(t,e){null!=e.lineDash&&(t.dashstyle=e.lineDash.join(" ")),null==e.stroke||e.stroke instanceof IM||ZE(t,e.stroke,e.opacity)},YE=function(t,e,i,n){var o="fill"===e,a=t.getElementsByTagName(e)[0];null!=i[e]&&"none"!==i[e]&&(o||!o&&i.lineWidth)?(t[o?"filled":"stroked"]="true",i[e]instanceof IM&&FE(t,a),a||(a=u_(e)),o?XE(a,i,n):jE(a,i),GE(t,a)):(t[o?"filled":"stroked"]="false",FE(t,a))},qE=[[],[],[]],KE=function(t,e){var i,n,o,a,r,s,l=DE.M,u=DE.C,h=DE.L,c=DE.A,d=DE.Q,f=[],p=t.data,g=t.len();for(a=0;a<g;){switch(o=p[a++],n="",i=0,o){case l:n=" m ",i=1,r=p[a++],s=p[a++],qE[0][0]=r,qE[0][1]=s;break;case h:n=" l ",i=1,r=p[a++],s=p[a++],qE[0][0]=r,qE[0][1]=s;break;case d:case u:n=" c ",i=3;var m,v,y=p[a++],x=p[a++],_=p[a++],w=p[a++];o===d?(m=_,v=w,_=(_+2*y)/3,w=(w+2*x)/3,y=(r+2*y)/3,x=(s+2*x)/3):(m=p[a++],v=p[a++]),qE[0][0]=y,qE[0][1]=x,qE[1][0]=_,qE[1][1]=w,qE[2][0]=m,qE[2][1]=v,r=m,s=v;break;case c:var b=0,S=0,M=1,I=1,T=0;e&&(b=e[4],S=e[5],M=LE(e[0]*e[0]+e[1]*e[1]),I=LE(e[2]*e[2]+e[3]*e[3]),T=Math.atan2(-e[1]/I,e[0]/M));var A=p[a++],D=p[a++],C=p[a++],L=p[a++],k=p[a++]+T,P=p[a++]+k+T;a++;var N=p[a++],O=A+PE(k)*C,E=D+NE(k)*L,y=A+PE(P)*C,x=D+NE(P)*L,R=N?" wa ":" at ";Math.abs(O-y)<1e-4&&(Math.abs(P-k)>.01?N&&(O+=.0125):Math.abs(E-D)<1e-4?N&&O<A||!N&&O>A?x-=.0125:x+=.0125:N&&E<D||!N&&E>D?y+=.0125:y-=.0125),f.push(R,CE(((A-C)*M+b)*EE-RE),",",CE(((D-L)*I+S)*EE-RE),",",CE(((A+C)*M+b)*EE-RE),",",CE(((D+L)*I+S)*EE-RE),",",CE((O*M+b)*EE-RE),",",CE((E*I+S)*EE-RE),",",CE((y*M+b)*EE-RE),",",CE((x*I+S)*EE-RE)),r=y,s=x;break;case DE.R:var z=qE[0],B=qE[1];z[0]=p[a++],z[1]=p[a++],B[0]=z[0]+p[a++],B[1]=z[1]+p[a++],e&&(Q(z,z,e),Q(B,B,e)),z[0]=CE(z[0]*EE-RE),B[0]=CE(B[0]*EE-RE),z[1]=CE(z[1]*EE-RE),B[1]=CE(B[1]*EE-RE),f.push(" m ",z[0],",",z[1]," l ",B[0],",",z[1]," l ",B[0],",",B[1]," l ",z[0],",",B[1]);break;case DE.Z:f.push(" x ")}if(i>0){f.push(n);for(var V=0;V<i;V++){var G=qE[V];e&&Q(G,G,e),f.push(CE(G[0]*EE-RE),",",CE(G[1]*EE-RE),V<i-1?",":"")}}}return f.join("")};Pn.prototype.brushVML=function(t){var e=this.style,i=this._vmlEl;i||(i=u_("shape"),zE(i),this._vmlEl=i),YE(i,"fill",e,this),YE(i,"stroke",e,this);var n=this.transform,o=null!=n,a=i.getElementsByTagName("stroke")[0];if(a){var r=e.lineWidth;if(o&&!e.strokeNoScale){var s=n[0]*n[3]-n[1]*n[2];r*=LE(kE(s))}a.weight=r+"px"}var l=this.path||(this.path=new ES);this.__dirtyPath&&(l.beginPath(),l.subPixelOptimize=!1,this.buildPath(l,this.shape),l.toStatic(),this.__dirtyPath=!1),i.path=KE(l,this.transform),i.style.zIndex=WE(this.zlevel,this.z,this.z2),GE(t,i),null!=e.text?this.drawRectText(t,this.getBoundingRect()):this.removeRectText(t)},Pn.prototype.onRemove=function(t){FE(t,this._vmlEl),this.removeRectText(t)},Pn.prototype.onAdd=function(t){GE(t,this._vmlEl),this.appendRectText(t)};var $E=function(t){return"object"==typeof t&&t.tagName&&"IMG"===t.tagName.toUpperCase()};fi.prototype.brushVML=function(t){var e,i,n=this.style,o=n.image;if($E(o)){var a=o.src;if(a===this._imageSrc)e=this._imageWidth,i=this._imageHeight;else{var r=o.runtimeStyle,s=r.width,l=r.height;r.width="auto",r.height="auto",e=o.width,i=o.height,r.width=s,r.height=l,this._imageSrc=a,this._imageWidth=e,this._imageHeight=i}o=a}else o===this._imageSrc&&(e=this._imageWidth,i=this._imageHeight);if(o){var u=n.x||0,h=n.y||0,c=n.width,d=n.height,f=n.sWidth,p=n.sHeight,g=n.sx||0,m=n.sy||0,v=f&&p,y=this._vmlEl;y||(y=AE.createElement("div"),zE(y),this._vmlEl=y);var x,_=y.style,w=!1,b=1,S=1;if(this.transform&&(x=this.transform,b=LE(x[0]*x[0]+x[1]*x[1]),S=LE(x[2]*x[2]+x[3]*x[3]),w=x[1]||x[2]),w){var M=[u,h],I=[u+c,h],T=[u,h+d],A=[u+c,h+d];Q(M,M,x),Q(I,I,x),Q(T,T,x),Q(A,A,x);var D=OE(M[0],I[0],T[0],A[0]),C=OE(M[1],I[1],T[1],A[1]),L=[];L.push("M11=",x[0]/b,",","M12=",x[2]/S,",","M21=",x[1]/b,",","M22=",x[3]/S,",","Dx=",CE(u*b+x[4]),",","Dy=",CE(h*S+x[5])),_.padding="0 "+CE(D)+"px "+CE(C)+"px 0",_.filter="progid:DXImageTransform.Microsoft.Matrix("+L.join("")+", SizingMethod=clip)"}else x&&(u=u*b+x[4],h=h*S+x[5]),_.filter="",_.left=CE(u)+"px",_.top=CE(h)+"px";var k=this._imageEl,P=this._cropEl;k||(k=AE.createElement("div"),this._imageEl=k);var N=k.style;if(v){if(e&&i)N.width=CE(b*e*c/f)+"px",N.height=CE(S*i*d/p)+"px";else{var O=new Image,E=this;O.onload=function(){O.onload=null,e=O.width,i=O.height,N.width=CE(b*e*c/f)+"px",N.height=CE(S*i*d/p)+"px",E._imageWidth=e,E._imageHeight=i,E._imageSrc=o},O.src=o}P||((P=AE.createElement("div")).style.overflow="hidden",this._cropEl=P);var R=P.style;R.width=CE((c+g*c/f)*b),R.height=CE((d+m*d/p)*S),R.filter="progid:DXImageTransform.Microsoft.Matrix(Dx="+-g*c/f*b+",Dy="+-m*d/p*S+")",P.parentNode||y.appendChild(P),k.parentNode!==P&&P.appendChild(k)}else N.width=CE(b*c)+"px",N.height=CE(S*d)+"px",y.appendChild(k),P&&P.parentNode&&(y.removeChild(P),this._cropEl=null);var z="",B=n.opacity;B<1&&(z+=".Alpha(opacity="+CE(100*B)+") "),z+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+o+", SizingMethod=scale)",N.filter=z,y.style.zIndex=WE(this.zlevel,this.z,this.z2),GE(t,y),null!=n.text&&this.drawRectText(t,this.getBoundingRect())}},fi.prototype.onRemove=function(t){FE(t,this._vmlEl),this._vmlEl=null,this._cropEl=null,this._imageEl=null,this.removeRectText(t)},fi.prototype.onAdd=function(t){GE(t,this._vmlEl),this.appendRectText(t)};var JE,QE={},tR=0,eR=document.createElement("div"),iR=function(t){var e=QE[t];if(!e){tR>100&&(tR=0,QE={});var i,n=eR.style;try{n.font=t,i=n.fontFamily.split(",")[0]}catch(t){}e={style:n.fontStyle||"normal",variant:n.fontVariant||"normal",weight:n.fontWeight||"normal",size:0|parseFloat(n.fontSize||12),family:i||"Microsoft YaHei"},QE[t]=e,tR++}return e};!function(t,e){bb[t]=e}("measureText",function(t,e){var i=AE;JE||((JE=i.createElement("div")).style.cssText="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;",AE.body.appendChild(JE));try{JE.style.font=e}catch(t){}return JE.innerHTML="",JE.appendChild(i.createTextNode(t)),{width:JE.offsetWidth}});for(var nR=new de,oR=[Db,di,fi,Pn,rM],aR=0;aR<oR.length;aR++){var rR=oR[aR].prototype;rR.drawRectText=function(t,e,i,n){var o=this.style;this.__dirty&&Ye(o);var a=o.text;if(null!=a&&(a+=""),a){if(o.rich){var r=Ze(a,o);a=[];for(var s=0;s<r.lines.length;s++){for(var l=r.lines[s].tokens,u=[],h=0;h<l.length;h++)u.push(l[h].text);a.push(u.join(""))}a=a.join("\n")}var c,d,f=o.textAlign,p=o.textVerticalAlign,g=iR(o.font),m=g.style+" "+g.variant+" "+g.weight+" "+g.size+'px "'+g.family+'"';i=i||ke(a,m,f,p,o.textPadding,o.textLineHeight);var v=this.transform;if(v&&!n&&(nR.copy(e),nR.applyTransform(v),e=nR),n)c=e.x,d=e.y;else{var y=o.textPosition,x=o.textDistance;if(y instanceof Array)c=e.x+HE(y[0],e.width),d=e.y+HE(y[1],e.height),f=f||"left";else{var _=Re(y,e,x);c=_.x,d=_.y,f=f||_.textAlign,p=p||_.textVerticalAlign}}c=Oe(c,i.width,f),d=Ee(d,i.height,p),d+=i.height/2;var w,b,S,M=u_,I=this._textVmlEl;I?b=(w=(S=I.firstChild).nextSibling).nextSibling:(I=M("line"),w=M("path"),b=M("textpath"),S=M("skew"),b.style["v-text-align"]="left",zE(I),w.textpathok=!0,b.on=!0,I.from="0 0",I.to="1000 0.05",GE(I,S),GE(I,w),GE(I,b),this._textVmlEl=I);var T=[c,d],A=I.style;v&&n?(Q(T,T,v),S.on=!0,S.matrix=v[0].toFixed(3)+","+v[2].toFixed(3)+","+v[1].toFixed(3)+","+v[3].toFixed(3)+",0,0",S.offset=(CE(T[0])||0)+","+(CE(T[1])||0),S.origin="0 0",A.left="0px",A.top="0px"):(S.on=!1,A.left=CE(c)+"px",A.top=CE(d)+"px"),b.string=BE(a);try{b.style.font=m}catch(t){}YE(I,"fill",{fill:o.textFill,opacity:o.opacity},this),YE(I,"stroke",{stroke:o.textStroke,opacity:o.opacity,lineDash:o.lineDash},this),I.style.zIndex=WE(this.zlevel,this.z,this.z2),GE(t,I)}},rR.removeRectText=function(t){FE(t,this._textVmlEl),this._textVmlEl=null},rR.appendRectText=function(t){GE(t,this._textVmlEl)}}rM.prototype.brushVML=function(t){var e=this.style;null!=e.text?this.drawRectText(t,{x:e.x||0,y:e.y||0,width:0,height:0},this.getBoundingRect(),!0):this.removeRectText(t)},rM.prototype.onRemove=function(t){this.removeRectText(t)},rM.prototype.onAdd=function(t){this.appendRectText(t)}}d_.prototype={constructor:d_,getType:function(){return"vml"},getViewportRoot:function(){return this._vmlViewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0,!0);this._paintList(t)},_paintList:function(t){for(var e=this._vmlRoot,i=0;i<t.length;i++){var n=t[i];n.invisible||n.ignore?(n.__alreadyNotVisible||n.onRemove(e),n.__alreadyNotVisible=!0):(n.__alreadyNotVisible&&n.onAdd(e),n.__alreadyNotVisible=!1,n.__dirty&&(n.beforeBrush&&n.beforeBrush(),(n.brushVML||n.brush).call(n,e),n.afterBrush&&n.afterBrush())),n.__dirty=!1}this._firstPaint&&(this._vmlViewport.appendChild(e),this._firstPaint=!1)},resize:function(t,e){var t=null==t?this._getWidth():t,e=null==e?this._getHeight():e;if(this._width!==t||this._height!==e){this._width=t,this._height=e;var i=this._vmlViewport.style;i.width=t+"px",i.height=e+"px"}},dispose:function(){this.root.innerHTML="",this._vmlRoot=this._vmlViewport=this.storage=null},getWidth:function(){return this._width},getHeight:function(){return this._height},clear:function(){this._vmlViewport&&this.root.removeChild(this._vmlViewport)},_getWidth:function(){var t=this.root,e=t.currentStyle;return(t.clientWidth||c_(e.width))-c_(e.paddingLeft)-c_(e.paddingRight)|0},_getHeight:function(){var t=this.root,e=t.currentStyle;return(t.clientHeight||c_(e.height))-c_(e.paddingTop)-c_(e.paddingBottom)|0}},d(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(t){d_.prototype[t]=f_(t)}),Ti("vml",d_);var sR="http://www.w3.org/2000/svg",lR=ES.CMD,uR=Array.prototype.join,hR="none",cR=Math.round,dR=Math.sin,fR=Math.cos,pR=Math.PI,gR=2*Math.PI,mR=180/pR,vR=1e-4,yR={};yR.brush=function(t){var e=t.style,i=t.__svgEl;i||(i=p_("path"),t.__svgEl=i),t.path||t.createPathProxy();var n=t.path;if(t.__dirtyPath){n.beginPath(),n.subPixelOptimize=!1,t.buildPath(n,t.shape),t.__dirtyPath=!1;var o=S_(n);o.indexOf("NaN")<0&&__(i,"d",o)}b_(i,e,!1,t),x_(i,t.transform),null!=e.text&&bR(t,t.getBoundingRect())};var xR={};xR.brush=function(t){var e=t.style,i=e.image;if(i instanceof HTMLImageElement&&(i=i.src),i){var n=e.x||0,o=e.y||0,a=e.width,r=e.height,s=t.__svgEl;s||(s=p_("image"),t.__svgEl=s),i!==t.__imageSrc&&(w_(s,"href",i),t.__imageSrc=i),__(s,"width",a),__(s,"height",r),__(s,"x",n),__(s,"y",o),x_(s,t.transform),null!=e.text&&bR(t,t.getBoundingRect())}};var _R={},wR=new de,bR=function(t,e,i){var n=t.style;t.__dirty&&Ye(n);var o=n.text;if(null!=o){o+="";var a=t.__textSvgEl;a||(a=p_("text"),t.__textSvgEl=a);var r,s,l=n.textPosition,u=n.textDistance,h=n.textAlign||"left";"number"==typeof n.fontSize&&(n.fontSize+="px");var c=n.font||[n.fontStyle||"",n.fontWeight||"",n.fontSize||"",n.fontFamily||""].join(" ")||wb,d=M_(n.textVerticalAlign),f=(i=ke(o,c,h,d,n.textPadding,n.textLineHeight)).lineHeight;if(l instanceof Array)r=e.x+l[0],s=e.y+l[1];else{var p=Re(l,e,u);r=p.x,s=p.y,d=M_(p.textVerticalAlign),h=p.textAlign}__(a,"alignment-baseline",d),c&&(a.style.font=c);var g=n.textPadding;if(__(a,"x",r),__(a,"y",s),b_(a,n,!0,t),t instanceof rM||t.style.transformText)x_(a,t.transform);else{if(t.transform)wR.copy(e),wR.applyTransform(t.transform),e=wR;else{var m=t.transformCoordToGlobal(e.x,e.y);e.x=m[0],e.y=m[1],t.transform=_t(xt())}var v=n.textOrigin;"center"===v?(r=i.width/2+r,s=i.height/2+s):v&&(r=v[0]+r,s=v[1]+s);var y=-n.textRotation||0,x=xt();Mt(x,x,y),St(x,x,m=[t.transform[4],t.transform[5]]),x_(a,x)}var _=o.split("\n"),w=_.length,b=h;"left"===b?(b="start",g&&(r+=g[3])):"right"===b?(b="end",g&&(r-=g[1])):"center"===b&&(b="middle",g&&(r+=(g[3]-g[1])/2));var S=0;if("after-edge"===d?(S=-i.height+f,g&&(S-=g[2])):"middle"===d?(S=(-i.height+f)/2,g&&(s+=(g[0]-g[2])/2)):g&&(S+=g[0]),t.__text!==o||t.__textFont!==c){var M=t.__tspanList||[];t.__tspanList=M;for(T=0;T<w;T++)(A=M[T])?A.innerHTML="":(A=M[T]=p_("tspan"),a.appendChild(A),__(A,"alignment-baseline",d),__(A,"text-anchor",b)),__(A,"x",r),__(A,"y",s+T*f+S),A.appendChild(document.createTextNode(_[T]));for(;T<M.length;T++)a.removeChild(M[T]);M.length=w,t.__text=o,t.__textFont=c}else if(t.__tspanList.length)for(var I=t.__tspanList.length,T=0;T<I;++T){var A=t.__tspanList[T];A&&(__(A,"x",r),__(A,"y",s+T*f+S))}}};_R.drawRectText=bR,_R.brush=function(t){var e=t.style;null!=e.text&&(e.textPosition=[0,0],bR(t,{x:e.x||0,y:e.y||0,width:0,height:0},t.getBoundingRect()))},I_.prototype={diff:function(t,e,i){i||(i=function(t,e){return t===e}),this.equals=i;var n=this;t=t.slice();var o=(e=e.slice()).length,a=t.length,r=1,s=o+a,l=[{newPos:-1,components:[]}],u=this.extractCommon(l[0],e,t,0);if(l[0].newPos+1>=o&&u+1>=a){for(var h=[],c=0;c<e.length;c++)h.push(c);return[{indices:h,count:e.length}]}for(;r<=s;){var d=function(){for(var i=-1*r;i<=r;i+=2){var s,u=l[i-1],h=l[i+1],c=(h?h.newPos:0)-i;u&&(l[i-1]=void 0);var d=u&&u.newPos+1<o,f=h&&0<=c&&c<a;if(d||f){if(!d||f&&u.newPos<h.newPos?(s=A_(h),n.pushComponent(s.components,void 0,!0)):((s=u).newPos++,n.pushComponent(s.components,!0,void 0)),c=n.extractCommon(s,e,t,i),s.newPos+1>=o&&c+1>=a)return T_(0,s.components);l[i]=s}else l[i]=void 0}r++}();if(d)return d}},pushComponent:function(t,e,i){var n=t[t.length-1];n&&n.added===e&&n.removed===i?t[t.length-1]={count:n.count+1,added:e,removed:i}:t.push({count:1,added:e,removed:i})},extractCommon:function(t,e,i,n){for(var o=e.length,a=i.length,r=t.newPos,s=r-n,l=0;r+1<o&&s+1<a&&this.equals(e[r+1],i[s+1]);)r++,s++,l++;return l&&t.components.push({count:l}),t.newPos=r,s},tokenize:function(t){return t.slice()},join:function(t){return t.slice()}};var SR=new I_,MR=function(t,e,i){return SR.diff(t,e,i)};D_.prototype.createElement=p_,D_.prototype.getDefs=function(t){var e=this._svgRoot,i=this._svgRoot.getElementsByTagName("defs");return 0===i.length?t?((i=e.insertBefore(this.createElement("defs"),e.firstChild)).contains||(i.contains=function(t){var e=i.children;if(!e)return!1;for(var n=e.length-1;n>=0;--n)if(e[n]===t)return!0;return!1}),i):null:i[0]},D_.prototype.update=function(t,e){if(t){var i=this.getDefs(!1);if(t[this._domName]&&i.contains(t[this._domName]))"function"==typeof e&&e(t);else{var n=this.add(t);n&&(t[this._domName]=n)}}},D_.prototype.addDom=function(t){this.getDefs(!0).appendChild(t)},D_.prototype.removeDom=function(t){var e=this.getDefs(!1);e&&t[this._domName]&&(e.removeChild(t[this._domName]),t[this._domName]=null)},D_.prototype.getDoms=function(){var t=this.getDefs(!1);if(!t)return[];var e=[];return d(this._tagNames,function(i){var n=t.getElementsByTagName(i);e=e.concat([].slice.call(n))}),e},D_.prototype.markAllUnused=function(){var t=this;d(this.getDoms(),function(e){e[t._markLabel]="0"})},D_.prototype.markUsed=function(t){t&&(t[this._markLabel]="1")},D_.prototype.removeUnused=function(){var t=this.getDefs(!1);if(t){var e=this;d(this.getDoms(),function(i){"1"!==i[e._markLabel]&&t.removeChild(i)})}},D_.prototype.getSvgProxy=function(t){return t instanceof Pn?yR:t instanceof fi?xR:t instanceof rM?_R:yR},D_.prototype.getTextSvgElement=function(t){return t.__textSvgEl},D_.prototype.getSvgElement=function(t){return t.__svgEl},u(C_,D_),C_.prototype.addWithoutUpdate=function(t,e){if(e&&e.style){var i=this;d(["fill","stroke"],function(n){if(e.style[n]&&("linear"===e.style[n].type||"radial"===e.style[n].type)){var o,a=e.style[n],r=i.getDefs(!0);a._dom?(o=a._dom,r.contains(a._dom)||i.addDom(o)):o=i.add(a),i.markUsed(e);var s=o.getAttribute("id");t.setAttribute(n,"url(#"+s+")")}})}},C_.prototype.add=function(t){var e;if("linear"===t.type)e=this.createElement("linearGradient");else{if("radial"!==t.type)return Yw("Illegal gradient type."),null;e=this.createElement("radialGradient")}return t.id=t.id||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-gradient-"+t.id),this.updateDom(t,e),this.addDom(e),e},C_.prototype.update=function(t){var e=this;D_.prototype.update.call(this,t,function(){var i=t.type,n=t._dom.tagName;"linear"===i&&"linearGradient"===n||"radial"===i&&"radialGradient"===n?e.updateDom(t,t._dom):(e.removeDom(t),e.add(t))})},C_.prototype.updateDom=function(t,e){if("linear"===t.type)e.setAttribute("x1",t.x),e.setAttribute("y1",t.y),e.setAttribute("x2",t.x2),e.setAttribute("y2",t.y2);else{if("radial"!==t.type)return void Yw("Illegal gradient type.");e.setAttribute("cx",t.x),e.setAttribute("cy",t.y),e.setAttribute("r",t.r)}t.global?e.setAttribute("gradientUnits","userSpaceOnUse"):e.setAttribute("gradientUnits","objectBoundingBox"),e.innerHTML="";for(var i=t.colorStops,n=0,o=i.length;n<o;++n){var a=this.createElement("stop");a.setAttribute("offset",100*i[n].offset+"%");var r=i[n].color;if(r.indexOf(!1)){var s=Gt(r)[3],l=Zt(r);a.setAttribute("stop-color","#"+l),a.setAttribute("stop-opacity",s)}else a.setAttribute("stop-color",i[n].color);e.appendChild(a)}t._dom=e},C_.prototype.markUsed=function(t){if(t.style){var e=t.style.fill;e&&e._dom&&D_.prototype.markUsed.call(this,e._dom),(e=t.style.stroke)&&e._dom&&D_.prototype.markUsed.call(this,e._dom)}},u(L_,D_),L_.prototype.update=function(t){var e=this.getSvgElement(t);e&&this.updateDom(e,t.__clipPaths,!1);var i=this.getTextSvgElement(t);i&&this.updateDom(i,t.__clipPaths,!0),this.markUsed(t)},L_.prototype.updateDom=function(t,e,i){if(e&&e.length>0){var n,o,a=this.getDefs(!0),r=e[0],s=i?"_textDom":"_dom";r[s]?(o=r[s].getAttribute("id"),n=r[s],a.contains(n)||a.appendChild(n)):(o="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,(n=this.createElement("clipPath")).setAttribute("id",o),a.appendChild(n),r[s]=n);var l=this.getSvgProxy(r);if(r.transform&&r.parent.invTransform&&!i){var u=Array.prototype.slice.call(r.transform);bt(r.transform,r.parent.invTransform,r.transform),l.brush(r),r.transform=u}else l.brush(r);var h=this.getSvgElement(r);n.innerHTML="",n.appendChild(h.cloneNode()),t.setAttribute("clip-path","url(#"+o+")"),e.length>1&&this.updateDom(n,e.slice(1),i)}else t&&t.setAttribute("clip-path","none")},L_.prototype.markUsed=function(t){var e=this;t.__clipPaths&&t.__clipPaths.length>0&&d(t.__clipPaths,function(t){t._dom&&D_.prototype.markUsed.call(e,t._dom),t._textDom&&D_.prototype.markUsed.call(e,t._textDom)})},u(k_,D_),k_.prototype.addWithoutUpdate=function(t,e){if(e&&P_(e.style)){var i,n=e.style;n._shadowDom?(i=n._shadowDom,this.getDefs(!0).contains(n._shadowDom)||this.addDom(i)):i=this.add(e),this.markUsed(e);var o=i.getAttribute("id");t.style.filter="url(#"+o+")"}},k_.prototype.add=function(t){var e=this.createElement("filter"),i=t.style;return i._shadowDomId=i._shadowDomId||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-shadow-"+i._shadowDomId),this.updateDom(t,e),this.addDom(e),e},k_.prototype.update=function(t,e){var i=e.style;if(P_(i)){var n=this;D_.prototype.update.call(this,e,function(t){n.updateDom(e,t._shadowDom)})}else this.remove(t,i)},k_.prototype.remove=function(t,e){null!=e._shadowDomId&&(this.removeDom(e),t.style.filter="")},k_.prototype.updateDom=function(t,e){var i=e.getElementsByTagName("feDropShadow");i=0===i.length?this.createElement("feDropShadow"):i[0];var n,o,a,r,s=t.style,l=t.scale?t.scale[0]||1:1,u=t.scale?t.scale[1]||1:1;if(s.shadowBlur||s.shadowOffsetX||s.shadowOffsetY)n=s.shadowOffsetX||0,o=s.shadowOffsetY||0,a=s.shadowBlur,r=s.shadowColor;else{if(!s.textShadowBlur)return void this.removeDom(e,s);n=s.textShadowOffsetX||0,o=s.textShadowOffsetY||0,a=s.textShadowBlur,r=s.textShadowColor}i.setAttribute("dx",n/l),i.setAttribute("dy",o/u),i.setAttribute("flood-color",r);var h=a/2/l+" "+a/2/u;i.setAttribute("stdDeviation",h),e.setAttribute("x","-100%"),e.setAttribute("y","-100%"),e.setAttribute("width",Math.ceil(a/2*200)+"%"),e.setAttribute("height",Math.ceil(a/2*200)+"%"),e.appendChild(i),s._shadowDom=e},k_.prototype.markUsed=function(t){var e=t.style;e&&e._shadowDom&&D_.prototype.markUsed.call(this,e._shadowDom)};var IR=function(t,e,i,n){this.root=t,this.storage=e,this._opts=i=a({},i||{});var o=p_("svg");o.setAttribute("xmlns","http://www.w3.org/2000/svg"),o.setAttribute("version","1.1"),o.setAttribute("baseProfile","full"),o.style.cssText="user-select:none;position:absolute;left:0;top:0;",this.gradientManager=new C_(n,o),this.clipPathManager=new L_(n,o),this.shadowManager=new k_(n,o);var r=document.createElement("div");r.style.cssText="overflow:hidden;position:relative",this._svgRoot=o,this._viewport=r,t.appendChild(r),r.appendChild(o),this.resize(i.width,i.height),this._visibleList=[]};IR.prototype={constructor:IR,getType:function(){return"svg"},getViewportRoot:function(){return this._viewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0);this._paintList(t)},setBackgroundColor:function(t){this._viewport.style.background=t},_paintList:function(t){this.gradientManager.markAllUnused(),this.clipPathManager.markAllUnused(),this.shadowManager.markAllUnused();var e,i=this._svgRoot,n=this._visibleList,o=t.length,a=[];for(e=0;e<o;e++){var r=O_(f=t[e]),s=G_(f)||V_(f);f.invisible||(f.__dirty&&(r&&r.brush(f),this.clipPathManager.update(f),f.style&&(this.gradientManager.update(f.style.fill),this.gradientManager.update(f.style.stroke),this.shadowManager.update(s,f)),f.__dirty=!1),a.push(f))}var l,u=MR(n,a);for(e=0;e<u.length;e++)if((c=u[e]).removed)for(d=0;d<c.count;d++){var s=G_(f=n[c.indices[d]]),h=V_(f);B_(i,s),B_(i,h)}for(e=0;e<u.length;e++){var c=u[e];if(c.added)for(d=0;d<c.count;d++){var s=G_(f=a[c.indices[d]]),h=V_(f);l?R_(i,s,l):z_(i,s),s?R_(i,h,s):l?R_(i,h,l):z_(i,h),R_(i,h,s),l=h||s||l,this.gradientManager.addWithoutUpdate(s,f),this.shadowManager.addWithoutUpdate(l,f),this.clipPathManager.markUsed(f)}else if(!c.removed)for(var d=0;d<c.count;d++){var f=a[c.indices[d]];l=s=V_(f)||G_(f)||l,this.gradientManager.markUsed(f),this.gradientManager.addWithoutUpdate(s,f),this.shadowManager.markUsed(f),this.shadowManager.addWithoutUpdate(s,f),this.clipPathManager.markUsed(f)}}this.gradientManager.removeUnused(),this.clipPathManager.removeUnused(),this.shadowManager.removeUnused(),this._visibleList=a},_getDefs:function(t){var e=this._svgRoot,i=this._svgRoot.getElementsByTagName("defs");return 0===i.length?t?((i=e.insertBefore(p_("defs"),e.firstChild)).contains||(i.contains=function(t){var e=i.children;if(!e)return!1;for(var n=e.length-1;n>=0;--n)if(e[n]===t)return!0;return!1}),i):null:i[0]},resize:function(t,e){var i=this._viewport;i.style.display="none";var n=this._opts;if(null!=t&&(n.width=t),null!=e&&(n.height=e),t=this._getSize(0),e=this._getSize(1),i.style.display="",this._width!==t||this._height!==e){this._width=t,this._height=e;var o=i.style;o.width=t+"px",o.height=e+"px";var a=this._svgRoot;a.setAttribute("width",t),a.setAttribute("height",e)}},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,i=["width","height"][t],n=["clientWidth","clientHeight"][t],o=["paddingLeft","paddingTop"][t],a=["paddingRight","paddingBottom"][t];if(null!=e[i]&&"auto"!==e[i])return parseFloat(e[i]);var r=this.root,s=document.defaultView.getComputedStyle(r);return(r[n]||N_(s[i])||N_(r.style[i]))-(N_(s[o])||0)-(N_(s[a])||0)|0},dispose:function(){this.root.innerHTML="",this._svgRoot=this._viewport=this.storage=null},clear:function(){this._viewport&&this.root.removeChild(this._viewport)},pathToDataUrl:function(){return this.refresh(),"data:image/svg+xml;charset=UTF-8,"+this._svgRoot.outerHTML}},d(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(t){IR.prototype[t]=F_(t)}),Ti("svg",IR),t.version="4.2.1",t.dependencies=ET,t.PRIORITY=VT,t.init=function(t,e,i){var n=ks(t);if(n)return n;var o=new us(t,e,i);return o.id="ec_"+iA++,tA[o.id]=o,Fi(t,oA,o.id),Cs(o),o},t.connect=function(t){if(y(t)){var e=t;t=null,kT(e,function(e){null!=e.group&&(t=e.group)}),t=t||"g_"+nA++,kT(e,function(e){e.group=t})}return eA[t]=!0,t},t.disConnect=Ls,t.disconnect=aA,t.dispose=function(t){"string"==typeof t?t=tA[t]:t instanceof us||(t=ks(t)),t instanceof us&&!t.isDisposed()&&t.dispose()},t.getInstanceByDom=ks,t.getInstanceById=function(t){return tA[t]},t.registerTheme=Ps,t.registerPreprocessor=Ns,t.registerProcessor=Os,t.registerPostUpdate=function(t){KT.push(t)},t.registerAction=Es,t.registerCoordinateSystem=Rs,t.getCoordinateSystemDimensions=function(t){var e=Fa.get(t);if(e)return e.getDimensionsInfo?e.getDimensionsInfo():e.dimensions.slice()},t.registerLayout=zs,t.registerVisual=Bs,t.registerLoading=Gs,t.extendComponentModel=Fs,t.extendComponentView=Ws,t.extendSeriesModel=Hs,t.extendChartView=Zs,t.setCanvasCreator=function(t){e("createCanvas",t)},t.registerMap=function(t,e,i){DT.registerMap(t,e,i)},t.getMap=function(t){var e=DT.retrieveMap(t);return e&&e[0]&&{geoJson:e[0].geoJSON,specialAreas:e[0].specialAreas}},t.dataTool=rA,t.zrender=Hb,t.number=YM,t.format=eI,t.throttle=Pr,t.helper=tD,t.matrix=Sw,t.vector=cw,t.color=Ww,t.parseGeoJSON=iD,t.parseGeoJson=rD,t.util=sD,t.graphic=lD,t.List=vA,t.Model=No,t.Axis=aD,t.env=U_});
\ No newline at end of file
diff --git a/src/components/qiun-data-charts/static/h5/echarts.min.js b/src/components/qiun-data-charts/static/h5/echarts.min.js
deleted file mode 100644
index 5396a03..0000000
--- a/src/components/qiun-data-charts/static/h5/echarts.min.js
+++ /dev/null
@@ -1,23 +0,0 @@
-
-/*
-* 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.
-* 鐗堟湰涓�4.2.1锛屼慨鏀逛竴澶勬簮鐮侊細this.el.hide() 鏀逛负 this.el?this.el.hide():true
-*/
-
-
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use strict";function e(t,e){"createCanvas"===t&&(nw=null),ew[t]=e}function i(t){if(null==t||"object"!=typeof t)return t;var e=t,n=Y_.call(t);if("[object Array]"===n){if(!O(t)){e=[];for(var o=0,a=t.length;o<a;o++)e[o]=i(t[o])}}else if(j_[n]){if(!O(t)){var r=t.constructor;if(t.constructor.from)e=r.from(t);else{e=new r(t.length);for(var o=0,a=t.length;o<a;o++)e[o]=i(t[o])}}}else if(!X_[n]&&!O(t)&&!M(t)){e={};for(var s in t)t.hasOwnProperty(s)&&(e[s]=i(t[s]))}return e}function n(t,e,o){if(!w(e)||!w(t))return o?i(e):t;for(var a in e)if(e.hasOwnProperty(a)){var r=t[a],s=e[a];!w(s)||!w(r)||y(s)||y(r)||M(s)||M(r)||b(s)||b(r)||O(s)||O(r)?!o&&a in t||(t[a]=i(e[a],!0)):n(r,s,o)}return t}function o(t,e){for(var i=t[0],o=1,a=t.length;o<a;o++)i=n(i,t[o],e);return i}function a(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function r(t,e,i){for(var n in e)e.hasOwnProperty(n)&&(i?null!=e[n]:null==t[n])&&(t[n]=e[n]);return t}function s(){return nw||(nw=iw().getContext("2d")),nw}function l(t,e){if(t){if(t.indexOf)return t.indexOf(e);for(var i=0,n=t.length;i<n;i++)if(t[i]===e)return i}return-1}function u(t,e){function i(){}var n=t.prototype;i.prototype=e.prototype,t.prototype=new i;for(var o in n)t.prototype[o]=n[o];t.prototype.constructor=t,t.superClass=e}function h(t,e,i){r(t="prototype"in t?t.prototype:t,e="prototype"in e?e.prototype:e,i)}function c(t){if(t)return"string"!=typeof t&&"number"==typeof t.length}function d(t,e,i){if(t&&e)if(t.forEach&&t.forEach===K_)t.forEach(e,i);else if(t.length===+t.length)for(var n=0,o=t.length;n<o;n++)e.call(i,t[n],n,t);else for(var a in t)t.hasOwnProperty(a)&&e.call(i,t[a],a,t)}function f(t,e,i){if(t&&e){if(t.map&&t.map===Q_)return t.map(e,i);for(var n=[],o=0,a=t.length;o<a;o++)n.push(e.call(i,t[o],o,t));return n}}function p(t,e,i,n){if(t&&e){if(t.reduce&&t.reduce===tw)return t.reduce(e,i,n);for(var o=0,a=t.length;o<a;o++)i=e.call(n,i,t[o],o,t);return i}}function g(t,e,i){if(t&&e){if(t.filter&&t.filter===$_)return t.filter(e,i);for(var n=[],o=0,a=t.length;o<a;o++)e.call(i,t[o],o,t)&&n.push(t[o]);return n}}function m(t,e){var i=J_.call(arguments,2);return function(){return t.apply(e,i.concat(J_.call(arguments)))}}function v(t){var e=J_.call(arguments,1);return function(){return t.apply(this,e.concat(J_.call(arguments)))}}function y(t){return"[object Array]"===Y_.call(t)}function x(t){return"function"==typeof t}function _(t){return"[object String]"===Y_.call(t)}function w(t){var e=typeof t;return"function"===e||!!t&&"object"===e}function b(t){return!!X_[Y_.call(t)]}function S(t){return!!j_[Y_.call(t)]}function M(t){return"object"==typeof t&&"number"==typeof t.nodeType&&"object"==typeof t.ownerDocument}function I(t){return t!==t}function T(t){for(var e=0,i=arguments.length;e<i;e++)if(null!=arguments[e])return arguments[e]}function A(t,e){return null!=t?t:e}function D(t,e,i){return null!=t?t:null!=e?e:i}function C(){return Function.call.apply(J_,arguments)}function L(t){if("number"==typeof t)return[t,t,t,t];var e=t.length;return 2===e?[t[0],t[1],t[0],t[1]]:3===e?[t[0],t[1],t[2],t[1]]:t}function k(t,e){if(!t)throw new Error(e)}function P(t){return null==t?null:"function"==typeof t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}function N(t){t[ow]=!0}function O(t){return t[ow]}function E(t){function e(t,e){i?n.set(t,e):n.set(e,t)}var i=y(t);this.data={};var n=this;t instanceof E?t.each(e):t&&d(t,e)}function R(t){return new E(t)}function z(t,e){for(var i=new t.constructor(t.length+e.length),n=0;n<t.length;n++)i[n]=t[n];var o=t.length;for(n=0;n<e.length;n++)i[n+o]=e[n];return i}function B(){}function V(t,e){var i=new rw(2);return null==t&&(t=0),null==e&&(e=0),i[0]=t,i[1]=e,i}function G(t,e){return t[0]=e[0],t[1]=e[1],t}function F(t){var e=new rw(2);return e[0]=t[0],e[1]=t[1],e}function W(t,e,i){return t[0]=e,t[1]=i,t}function H(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t}function Z(t,e,i,n){return t[0]=e[0]+i[0]*n,t[1]=e[1]+i[1]*n,t}function U(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t}function X(t){return Math.sqrt(j(t))}function j(t){return t[0]*t[0]+t[1]*t[1]}function Y(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t}function q(t,e){var i=X(e);return 0===i?(t[0]=0,t[1]=0):(t[0]=e[0]/i,t[1]=e[1]/i),t}function K(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))}function $(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}function J(t,e,i,n){return t[0]=e[0]+n*(i[0]-e[0]),t[1]=e[1]+n*(i[1]-e[1]),t}function Q(t,e,i){var n=e[0],o=e[1];return t[0]=i[0]*n+i[2]*o+i[4],t[1]=i[1]*n+i[3]*o+i[5],t}function tt(t,e,i){return t[0]=Math.min(e[0],i[0]),t[1]=Math.min(e[1],i[1]),t}function et(t,e,i){return t[0]=Math.max(e[0],i[0]),t[1]=Math.max(e[1],i[1]),t}function it(){this.on("mousedown",this._dragStart,this),this.on("mousemove",this._drag,this),this.on("mouseup",this._dragEnd,this),this.on("globalout",this._dragEnd,this)}function nt(t,e){return{target:t,topTarget:e&&e.topTarget}}function ot(t,e){var i=t._$eventProcessor;return null!=e&&i&&i.normalizeQuery&&(e=i.normalizeQuery(e)),e}function at(t,e,i,n,o,a){var r=t._$handlers;if("function"==typeof i&&(o=n,n=i,i=null),!n||!e)return t;i=ot(t,i),r[e]||(r[e]=[]);for(var s=0;s<r[e].length;s++)if(r[e][s].h===n)return t;var l={h:n,one:a,query:i,ctx:o||t,callAtLast:n.zrEventfulCallAtLast},u=r[e].length-1,h=r[e][u];return h&&h.callAtLast?r[e].splice(u,0,l):r[e].push(l),t}function rt(t){return t.getBoundingClientRect?t.getBoundingClientRect():{left:0,top:0}}function st(t,e,i,n){return i=i||{},n||!U_.canvasSupported?lt(t,e,i):U_.browser.firefox&&null!=e.layerX&&e.layerX!==e.offsetX?(i.zrX=e.layerX,i.zrY=e.layerY):null!=e.offsetX?(i.zrX=e.offsetX,i.zrY=e.offsetY):lt(t,e,i),i}function lt(t,e,i){var n=rt(t);i.zrX=e.clientX-n.left,i.zrY=e.clientY-n.top}function ut(t,e,i){if(null!=(e=e||window.event).zrX)return e;var n=e.type;if(n&&n.indexOf("touch")>=0){var o="touchend"!==n?e.targetTouches[0]:e.changedTouches[0];o&&st(t,o,e,i)}else st(t,e,e,i),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var a=e.button;return null==e.which&&void 0!==a&&gw.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function ht(t,e,i){pw?t.addEventListener(e,i):t.attachEvent("on"+e,i)}function ct(t,e,i){pw?t.removeEventListener(e,i):t.detachEvent("on"+e,i)}function dt(t){return 2===t.which||3===t.which}function ft(t){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1];return Math.sqrt(e*e+i*i)}function pt(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}function gt(t,e,i){return{type:t,event:i,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:i.zrX,offsetY:i.zrY,gestureEvent:i.gestureEvent,pinchX:i.pinchX,pinchY:i.pinchY,pinchScale:i.pinchScale,wheelDelta:i.zrDelta,zrByTouch:i.zrByTouch,which:i.which,stop:mt}}function mt(t){mw(this.event)}function vt(){}function yt(t,e,i){if(t[t.rectHover?"rectContain":"contain"](e,i)){for(var n,o=t;o;){if(o.clipPath&&!o.clipPath.contain(e,i))return!1;o.silent&&(n=!0),o=o.parent}return!n||xw}return!1}function xt(){var t=new bw(6);return _t(t),t}function _t(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function wt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function bt(t,e,i){var n=e[0]*i[0]+e[2]*i[1],o=e[1]*i[0]+e[3]*i[1],a=e[0]*i[2]+e[2]*i[3],r=e[1]*i[2]+e[3]*i[3],s=e[0]*i[4]+e[2]*i[5]+e[4],l=e[1]*i[4]+e[3]*i[5]+e[5];return t[0]=n,t[1]=o,t[2]=a,t[3]=r,t[4]=s,t[5]=l,t}function St(t,e,i){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+i[0],t[5]=e[5]+i[1],t}function Mt(t,e,i){var n=e[0],o=e[2],a=e[4],r=e[1],s=e[3],l=e[5],u=Math.sin(i),h=Math.cos(i);return t[0]=n*h+r*u,t[1]=-n*u+r*h,t[2]=o*h+s*u,t[3]=-o*u+h*s,t[4]=h*a+u*l,t[5]=h*l-u*a,t}function It(t,e,i){var n=i[0],o=i[1];return t[0]=e[0]*n,t[1]=e[1]*o,t[2]=e[2]*n,t[3]=e[3]*o,t[4]=e[4]*n,t[5]=e[5]*o,t}function Tt(t,e){var i=e[0],n=e[2],o=e[4],a=e[1],r=e[3],s=e[5],l=i*r-a*n;return l?(l=1/l,t[0]=r*l,t[1]=-a*l,t[2]=-n*l,t[3]=i*l,t[4]=(n*s-r*o)*l,t[5]=(a*o-i*s)*l,t):null}function At(t){var e=xt();return wt(e,t),e}function Dt(t){return t>Iw||t<-Iw}function Ct(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null!=t.loop&&t.loop,this.gap=t.gap||0,this.easing=t.easing||"Linear",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart,this._pausedTime=0,this._paused=!1}function Lt(t){return(t=Math.round(t))<0?0:t>255?255:t}function kt(t){return(t=Math.round(t))<0?0:t>360?360:t}function Pt(t){return t<0?0:t>1?1:t}function Nt(t){return Lt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100*255:parseInt(t,10))}function Ot(t){return Pt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100:parseFloat(t))}function Et(t,e,i){return i<0?i+=1:i>1&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}function Rt(t,e,i){return t+(e-t)*i}function zt(t,e,i,n,o){return t[0]=e,t[1]=i,t[2]=n,t[3]=o,t}function Bt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Vt(t,e){Vw&&Bt(Vw,e),Vw=Bw.put(t,Vw||e.slice())}function Gt(t,e){if(t){e=e||[];var i=Bw.get(t);if(i)return Bt(e,i);var n=(t+="").replace(/ /g,"").toLowerCase();if(n in zw)return Bt(e,zw[n]),Vt(t,e),e;if("#"!==n.charAt(0)){var o=n.indexOf("("),a=n.indexOf(")");if(-1!==o&&a+1===n.length){var r=n.substr(0,o),s=n.substr(o+1,a-(o+1)).split(","),l=1;switch(r){case"rgba":if(4!==s.length)return void zt(e,0,0,0,1);l=Ot(s.pop());case"rgb":return 3!==s.length?void zt(e,0,0,0,1):(zt(e,Nt(s[0]),Nt(s[1]),Nt(s[2]),l),Vt(t,e),e);case"hsla":return 4!==s.length?void zt(e,0,0,0,1):(s[3]=Ot(s[3]),Ft(s,e),Vt(t,e),e);case"hsl":return 3!==s.length?void zt(e,0,0,0,1):(Ft(s,e),Vt(t,e),e);default:return}}zt(e,0,0,0,1)}else{if(4===n.length)return(u=parseInt(n.substr(1),16))>=0&&u<=4095?(zt(e,(3840&u)>>4|(3840&u)>>8,240&u|(240&u)>>4,15&u|(15&u)<<4,1),Vt(t,e),e):void zt(e,0,0,0,1);if(7===n.length){var u=parseInt(n.substr(1),16);return u>=0&&u<=16777215?(zt(e,(16711680&u)>>16,(65280&u)>>8,255&u,1),Vt(t,e),e):void zt(e,0,0,0,1)}}}}function Ft(t,e){var i=(parseFloat(t[0])%360+360)%360/360,n=Ot(t[1]),o=Ot(t[2]),a=o<=.5?o*(n+1):o+n-o*n,r=2*o-a;return e=e||[],zt(e,Lt(255*Et(r,a,i+1/3)),Lt(255*Et(r,a,i)),Lt(255*Et(r,a,i-1/3)),1),4===t.length&&(e[3]=t[3]),e}function Wt(t){if(t){var e,i,n=t[0]/255,o=t[1]/255,a=t[2]/255,r=Math.min(n,o,a),s=Math.max(n,o,a),l=s-r,u=(s+r)/2;if(0===l)e=0,i=0;else{i=u<.5?l/(s+r):l/(2-s-r);var h=((s-n)/6+l/2)/l,c=((s-o)/6+l/2)/l,d=((s-a)/6+l/2)/l;n===s?e=d-c:o===s?e=1/3+h-d:a===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var f=[360*e,i,u];return null!=t[3]&&f.push(t[3]),f}}function Ht(t,e){var i=Gt(t);if(i){for(var n=0;n<3;n++)i[n]=e<0?i[n]*(1-e)|0:(255-i[n])*e+i[n]|0,i[n]>255?i[n]=255:t[n]<0&&(i[n]=0);return qt(i,4===i.length?"rgba":"rgb")}}function Zt(t){var e=Gt(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)}function Ut(t,e,i){if(e&&e.length&&t>=0&&t<=1){i=i||[];var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=e[o],s=e[a],l=n-o;return i[0]=Lt(Rt(r[0],s[0],l)),i[1]=Lt(Rt(r[1],s[1],l)),i[2]=Lt(Rt(r[2],s[2],l)),i[3]=Pt(Rt(r[3],s[3],l)),i}}function Xt(t,e,i){if(e&&e.length&&t>=0&&t<=1){var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=Gt(e[o]),s=Gt(e[a]),l=n-o,u=qt([Lt(Rt(r[0],s[0],l)),Lt(Rt(r[1],s[1],l)),Lt(Rt(r[2],s[2],l)),Pt(Rt(r[3],s[3],l))],"rgba");return i?{color:u,leftIndex:o,rightIndex:a,value:n}:u}}function jt(t,e,i,n){if(t=Gt(t))return t=Wt(t),null!=e&&(t[0]=kt(e)),null!=i&&(t[1]=Ot(i)),null!=n&&(t[2]=Ot(n)),qt(Ft(t),"rgba")}function Yt(t,e){if((t=Gt(t))&&null!=e)return t[3]=Pt(e),qt(t,"rgba")}function qt(t,e){if(t&&t.length){var i=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(i+=","+t[3]),e+"("+i+")"}}function Kt(t,e){return t[e]}function $t(t,e,i){t[e]=i}function Jt(t,e,i){return(e-t)*i+t}function Qt(t,e,i){return i>.5?e:t}function te(t,e,i,n,o){var a=t.length;if(1===o)for(s=0;s<a;s++)n[s]=Jt(t[s],e[s],i);else for(var r=a&&t[0].length,s=0;s<a;s++)for(var l=0;l<r;l++)n[s][l]=Jt(t[s][l],e[s][l],i)}function ee(t,e,i){var n=t.length,o=e.length;if(n!==o)if(n>o)t.length=o;else for(r=n;r<o;r++)t.push(1===i?e[r]:Hw.call(e[r]));for(var a=t[0]&&t[0].length,r=0;r<t.length;r++)if(1===i)isNaN(t[r])&&(t[r]=e[r]);else for(var s=0;s<a;s++)isNaN(t[r][s])&&(t[r][s]=e[r][s])}function ie(t,e,i){if(t===e)return!0;var n=t.length;if(n!==e.length)return!1;if(1===i){for(a=0;a<n;a++)if(t[a]!==e[a])return!1}else for(var o=t[0].length,a=0;a<n;a++)for(var r=0;r<o;r++)if(t[a][r]!==e[a][r])return!1;return!0}function ne(t,e,i,n,o,a,r,s,l){var u=t.length;if(1===l)for(c=0;c<u;c++)s[c]=oe(t[c],e[c],i[c],n[c],o,a,r);else for(var h=t[0].length,c=0;c<u;c++)for(var d=0;d<h;d++)s[c][d]=oe(t[c][d],e[c][d],i[c][d],n[c][d],o,a,r)}function oe(t,e,i,n,o,a,r){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)*r+(-3*(e-i)-2*s-l)*a+s*o+e}function ae(t){if(c(t)){var e=t.length;if(c(t[0])){for(var i=[],n=0;n<e;n++)i.push(Hw.call(t[n]));return i}return Hw.call(t)}return t}function re(t){return t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.floor(t[2]),"rgba("+t.join(",")+")"}function se(t){var e=t[t.length-1].value;return c(e&&e[0])?2:1}function le(t,e,i,n,o,a){var r=t._getter,s=t._setter,l="spline"===e,u=n.length;if(u){var h,d=c(n[0].value),f=!1,p=!1,g=d?se(n):0;n.sort(function(t,e){return t.time-e.time}),h=n[u-1].time;for(var m=[],v=[],y=n[0].value,x=!0,_=0;_<u;_++){m.push(n[_].time/h);var w=n[_].value;if(d&&ie(w,y,g)||!d&&w===y||(x=!1),y=w,"string"==typeof w){var b=Gt(w);b?(w=b,f=!0):p=!0}v.push(w)}if(a||!x){for(var S=v[u-1],_=0;_<u-1;_++)d?ee(v[_],S,g):!isNaN(v[_])||isNaN(S)||p||f||(v[_]=S);d&&ee(r(t._target,o),S,g);var M,I,T,A,D,C,L=0,k=0;if(f)var P=[0,0,0,0];var N=new Ct({target:t._target,life:h,loop:t._loop,delay:t._delay,onframe:function(t,e){var i;if(e<0)i=0;else if(e<k){for(i=M=Math.min(L+1,u-1);i>=0&&!(m[i]<=e);i--);i=Math.min(i,u-2)}else{for(i=L;i<u&&!(m[i]>e);i++);i=Math.min(i-1,u-2)}L=i,k=e;var n=m[i+1]-m[i];if(0!==n)if(I=(e-m[i])/n,l)if(A=v[i],T=v[0===i?i:i-1],D=v[i>u-2?u-1:i+1],C=v[i>u-3?u-1:i+2],d)ne(T,A,D,C,I,I*I,I*I*I,r(t,o),g);else{if(f)a=ne(T,A,D,C,I,I*I,I*I*I,P,1),a=re(P);else{if(p)return Qt(A,D,I);a=oe(T,A,D,C,I,I*I,I*I*I)}s(t,o,a)}else if(d)te(v[i],v[i+1],I,r(t,o),g);else{var a;if(f)te(v[i],v[i+1],I,P,1),a=re(P);else{if(p)return Qt(v[i],v[i+1],I);a=Jt(v[i],v[i+1],I)}s(t,o,a)}},ondestroy:i});return e&&"spline"!==e&&(N.easing=e),N}}}function ue(t,e,i,n,o,a,r,s){_(n)?(a=o,o=n,n=0):x(o)?(a=o,o="linear",n=0):x(n)?(a=n,n=0):x(i)?(a=i,i=500):i||(i=500),t.stopAnimation(),he(t,"",t,e,i,n,s);var l=t.animators.slice(),u=l.length;u||a&&a();for(var h=0;h<l.length;h++)l[h].done(function(){--u||a&&a()}).start(o,r)}function he(t,e,i,n,o,a,r){var s={},l=0;for(var u in n)n.hasOwnProperty(u)&&(null!=i[u]?w(n[u])&&!c(n[u])?he(t,e?e+"."+u:u,i[u],n[u],o,a,r):(r?(s[u]=i[u],ce(t,e,u,n[u])):s[u]=n[u],l++):null==n[u]||r||ce(t,e,u,n[u]));l>0&&t.animate(e,!1).when(null==o?500:o,s).delay(a||0)}function ce(t,e,i,n){if(e){var o={};o[e]={},o[e][i]=n,t.attr(o)}else t.attr(i,n)}function de(t,e,i,n){i<0&&(t+=i,i=-i),n<0&&(e+=n,n=-n),this.x=t,this.y=e,this.width=i,this.height=n}function fe(t){for(var e=0;t>=eb;)e|=1&t,t>>=1;return t+e}function pe(t,e,i,n){var o=e+1;if(o===i)return 1;if(n(t[o++],t[e])<0){for(;o<i&&n(t[o],t[o-1])<0;)o++;ge(t,e,o)}else for(;o<i&&n(t[o],t[o-1])>=0;)o++;return o-e}function ge(t,e,i){for(i--;e<i;){var n=t[e];t[e++]=t[i],t[i--]=n}}function me(t,e,i,n,o){for(n===e&&n++;n<i;n++){for(var a,r=t[n],s=e,l=n;s<l;)o(r,t[a=s+l>>>1])<0?l=a:s=a+1;var u=n-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=r}}function ve(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])>0){for(s=n-o;l<s&&a(t,e[i+o+l])>0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),r+=o,l+=o}else{for(s=o+1;l<s&&a(t,e[i+o-l])<=0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s);var u=r;r=o-l,l=o-u}for(r++;r<l;){var h=r+(l-r>>>1);a(t,e[i+h])>0?r=h+1:l=h}return l}function ye(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])<0){for(s=o+1;l<s&&a(t,e[i+o-l])<0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s);var u=r;r=o-l,l=o-u}else{for(s=n-o;l<s&&a(t,e[i+o+l])>=0;)r=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),r+=o,l+=o}for(r++;r<l;){var h=r+(l-r>>>1);a(t,e[i+h])<0?l=h:r=h+1}return l}function xe(t,e){function i(i){var s=a[i],u=r[i],h=a[i+1],c=r[i+1];r[i]=u+c,i===l-3&&(a[i+1]=a[i+2],r[i+1]=r[i+2]),l--;var d=ye(t[h],t,s,u,0,e);s+=d,0!==(u-=d)&&0!==(c=ve(t[s+u-1],t,h,c,c-1,e))&&(u<=c?n(s,u,h,c):o(s,u,h,c))}function n(i,n,o,a){var r=0;for(r=0;r<n;r++)u[r]=t[i+r];var l=0,h=o,c=i;if(t[c++]=t[h++],0!=--a)if(1!==n){for(var d,f,p,g=s;;){d=0,f=0,p=!1;do{if(e(t[h],u[l])<0){if(t[c++]=t[h++],f++,d=0,0==--a){p=!0;break}}else if(t[c++]=u[l++],d++,f=0,1==--n){p=!0;break}}while((d|f)<g);if(p)break;do{if(0!==(d=ye(t[h],u,l,n,0,e))){for(r=0;r<d;r++)t[c+r]=u[l+r];if(c+=d,l+=d,(n-=d)<=1){p=!0;break}}if(t[c++]=t[h++],0==--a){p=!0;break}if(0!==(f=ve(u[l],t,h,a,0,e))){for(r=0;r<f;r++)t[c+r]=t[h+r];if(c+=f,h+=f,0===(a-=f)){p=!0;break}}if(t[c++]=u[l++],1==--n){p=!0;break}g--}while(d>=ib||f>=ib);if(p)break;g<0&&(g=0),g+=2}if((s=g)<1&&(s=1),1===n){for(r=0;r<a;r++)t[c+r]=t[h+r];t[c+a]=u[l]}else{if(0===n)throw new Error;for(r=0;r<n;r++)t[c+r]=u[l+r]}}else{for(r=0;r<a;r++)t[c+r]=t[h+r];t[c+a]=u[l]}else for(r=0;r<n;r++)t[c+r]=u[l+r]}function o(i,n,o,a){var r=0;for(r=0;r<a;r++)u[r]=t[o+r];var l=i+n-1,h=a-1,c=o+a-1,d=0,f=0;if(t[c--]=t[l--],0!=--n)if(1!==a){for(var p=s;;){var g=0,m=0,v=!1;do{if(e(u[h],t[l])<0){if(t[c--]=t[l--],g++,m=0,0==--n){v=!0;break}}else if(t[c--]=u[h--],m++,g=0,1==--a){v=!0;break}}while((g|m)<p);if(v)break;do{if(0!=(g=n-ye(u[h],t,i,n,n-1,e))){for(n-=g,f=(c-=g)+1,d=(l-=g)+1,r=g-1;r>=0;r--)t[f+r]=t[d+r];if(0===n){v=!0;break}}if(t[c--]=u[h--],1==--a){v=!0;break}if(0!=(m=a-ve(t[l],u,0,a,a-1,e))){for(a-=m,f=(c-=m)+1,d=(h-=m)+1,r=0;r<m;r++)t[f+r]=u[d+r];if(a<=1){v=!0;break}}if(t[c--]=t[l--],0==--n){v=!0;break}p--}while(g>=ib||m>=ib);if(v)break;p<0&&(p=0),p+=2}if((s=p)<1&&(s=1),1===a){for(f=(c-=n)+1,d=(l-=n)+1,r=n-1;r>=0;r--)t[f+r]=t[d+r];t[c]=u[h]}else{if(0===a)throw new Error;for(d=c-(a-1),r=0;r<a;r++)t[d+r]=u[r]}}else{for(f=(c-=n)+1,d=(l-=n)+1,r=n-1;r>=0;r--)t[f+r]=t[d+r];t[c]=u[h]}else for(d=c-(a-1),r=0;r<a;r++)t[d+r]=u[r]}var a,r,s=ib,l=0,u=[];a=[],r=[],this.mergeRuns=function(){for(;l>1;){var t=l-2;if(t>=1&&r[t-1]<=r[t]+r[t+1]||t>=2&&r[t-2]<=r[t]+r[t-1])r[t-1]<r[t+1]&&t--;else if(r[t]>r[t+1])break;i(t)}},this.forceMergeRuns=function(){for(;l>1;){var t=l-2;t>0&&r[t-1]<r[t+1]&&t--,i(t)}},this.pushRun=function(t,e){a[l]=t,r[l]=e,l+=1}}function _e(t,e,i,n){i||(i=0),n||(n=t.length);var o=n-i;if(!(o<2)){var a=0;if(o<eb)return a=pe(t,i,n,e),void me(t,i,n,i+a,e);var r=new xe(t,e),s=fe(o);do{if((a=pe(t,i,n,e))<s){var l=o;l>s&&(l=s),me(t,i,i+l,i+a,e),a=l}r.pushRun(i,a),r.mergeRuns(),o-=a,i+=a}while(0!==o);r.forceMergeRuns()}}function we(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}function be(t,e,i){var n=null==e.x?0:e.x,o=null==e.x2?1:e.x2,a=null==e.y?0:e.y,r=null==e.y2?0:e.y2;return e.global||(n=n*i.width+i.x,o=o*i.width+i.x,a=a*i.height+i.y,r=r*i.height+i.y),n=isNaN(n)?0:n,o=isNaN(o)?1:o,a=isNaN(a)?0:a,r=isNaN(r)?0:r,t.createLinearGradient(n,a,o,r)}function Se(t,e,i){var n=i.width,o=i.height,a=Math.min(n,o),r=null==e.x?.5:e.x,s=null==e.y?.5:e.y,l=null==e.r?.5:e.r;return e.global||(r=r*n+i.x,s=s*o+i.y,l*=a),t.createRadialGradient(r,s,0,r,s,l)}function Me(){return!1}function Ie(t,e,i){var n=iw(),o=e.getWidth(),a=e.getHeight(),r=n.style;return r&&(r.position="absolute",r.left=0,r.top=0,r.width=o+"px",r.height=a+"px",n.setAttribute("data-zr-dom-id",t)),n.width=o*i,n.height=a*i,n}function Te(t){if("string"==typeof t){var e=mb.get(t);return e&&e.image}return t}function Ae(t,e,i,n,o){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!i)return e;var a=mb.get(t),r={hostEl:i,cb:n,cbPayload:o};return a?!Ce(e=a.image)&&a.pending.push(r):((e=new Image).onload=e.onerror=De,mb.put(t,e.__cachedImgObj={image:e,pending:[r]}),e.src=e.__zrImageSrc=t),e}return t}return e}function De(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e<t.pending.length;e++){var i=t.pending[e],n=i.cb;n&&n(this,i.cbPayload),i.hostEl.dirty()}t.pending.length=0}function Ce(t){return t&&t.width&&t.height}function Le(t,e){var i=t+":"+(e=e||wb);if(vb[i])return vb[i];for(var n=(t+"").split("\n"),o=0,a=0,r=n.length;a<r;a++)o=Math.max(We(n[a],e).width,o);return yb>xb&&(yb=0,vb={}),yb++,vb[i]=o,o}function ke(t,e,i,n,o,a,r,s){return r?Ne(t,e,i,n,o,a,r,s):Pe(t,e,i,n,o,a,s)}function Pe(t,e,i,n,o,a,r){var s=He(t,e,o,a,r),l=Le(t,e);o&&(l+=o[1]+o[3]);var u=s.outerHeight,h=new de(Oe(0,l,i),Ee(0,u,n),l,u);return h.lineHeight=s.lineHeight,h}function Ne(t,e,i,n,o,a,r,s){var l=Ze(t,{rich:r,truncate:s,font:e,textAlign:i,textPadding:o,textLineHeight:a}),u=l.outerWidth,h=l.outerHeight;return new de(Oe(0,u,i),Ee(0,h,n),u,h)}function Oe(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function Ee(t,e,i){return"middle"===i?t-=e/2:"bottom"===i&&(t-=e),t}function Re(t,e,i){var n=e.x,o=e.y,a=e.height,r=e.width,s=a/2,l="left",u="top";switch(t){case"left":n-=i,o+=s,l="right",u="middle";break;case"right":n+=i+r,o+=s,u="middle";break;case"top":n+=r/2,o-=i,l="center",u="bottom";break;case"bottom":n+=r/2,o+=a+i,l="center";break;case"inside":n+=r/2,o+=s,l="center",u="middle";break;case"insideLeft":n+=i,o+=s,u="middle";break;case"insideRight":n+=r-i,o+=s,l="right",u="middle";break;case"insideTop":n+=r/2,o+=i,l="center";break;case"insideBottom":n+=r/2,o+=a-i,l="center",u="bottom";break;case"insideTopLeft":n+=i,o+=i;break;case"insideTopRight":n+=r-i,o+=i,l="right";break;case"insideBottomLeft":n+=i,o+=a-i,u="bottom";break;case"insideBottomRight":n+=r-i,o+=a-i,l="right",u="bottom"}return{x:n,y:o,textAlign:l,textVerticalAlign:u}}function ze(t,e,i,n,o){if(!e)return"";var a=(t+"").split("\n");o=Be(e,i,n,o);for(var r=0,s=a.length;r<s;r++)a[r]=Ve(a[r],o);return a.join("\n")}function Be(t,e,i,n){(n=a({},n)).font=e;var i=A(i,"...");n.maxIterations=A(n.maxIterations,2);var o=n.minChar=A(n.minChar,0);n.cnCharWidth=Le("鍥�",e);var r=n.ascCharWidth=Le("a",e);n.placeholder=A(n.placeholder,"");for(var s=t=Math.max(0,t-1),l=0;l<o&&s>=r;l++)s-=r;var u=Le(i,e);return u>s&&(i="",u=0),s=t-u,n.ellipsis=i,n.ellipsisWidth=u,n.contentWidth=s,n.containerWidth=t,n}function Ve(t,e){var i=e.containerWidth,n=e.font,o=e.contentWidth;if(!i)return"";var a=Le(t,n);if(a<=i)return t;for(var r=0;;r++){if(a<=o||r>=e.maxIterations){t+=e.ellipsis;break}var s=0===r?Ge(t,o,e.ascCharWidth,e.cnCharWidth):a>0?Math.floor(t.length*o/a):0;a=Le(t=t.substr(0,s),n)}return""===t&&(t=e.placeholder),t}function Ge(t,e,i,n){for(var o=0,a=0,r=t.length;a<r&&o<e;a++){var s=t.charCodeAt(a);o+=0<=s&&s<=127?i:n}return a}function Fe(t){return Le("鍥�",t)}function We(t,e){return bb.measureText(t,e)}function He(t,e,i,n,o){null!=t&&(t+="");var a=A(n,Fe(e)),r=t?t.split("\n"):[],s=r.length*a,l=s;if(i&&(l+=i[0]+i[2]),t&&o){var u=o.outerHeight,h=o.outerWidth;if(null!=u&&l>u)t="",r=[];else if(null!=h)for(var c=Be(h-(i?i[1]+i[3]:0),e,o.ellipsis,{minChar:o.minChar,placeholder:o.placeholder}),d=0,f=r.length;d<f;d++)r[d]=Ve(r[d],c)}return{lines:r,height:s,outerHeight:l,lineHeight:a}}function Ze(t,e){var i={lines:[],width:0,height:0};if(null!=t&&(t+=""),!t)return i;for(var n,o=_b.lastIndex=0;null!=(n=_b.exec(t));){var a=n.index;a>o&&Ue(i,t.substring(o,a)),Ue(i,n[2],n[1]),o=_b.lastIndex}o<t.length&&Ue(i,t.substring(o,t.length));var r=i.lines,s=0,l=0,u=[],h=e.textPadding,c=e.truncate,d=c&&c.outerWidth,f=c&&c.outerHeight;h&&(null!=d&&(d-=h[1]+h[3]),null!=f&&(f-=h[0]+h[2]));for(L=0;L<r.length;L++){for(var p=r[L],g=0,m=0,v=0;v<p.tokens.length;v++){var y=(k=p.tokens[v]).styleName&&e.rich[k.styleName]||{},x=k.textPadding=y.textPadding,_=k.font=y.font||e.font,w=k.textHeight=A(y.textHeight,Fe(_));if(x&&(w+=x[0]+x[2]),k.height=w,k.lineHeight=D(y.textLineHeight,e.textLineHeight,w),k.textAlign=y&&y.textAlign||e.textAlign,k.textVerticalAlign=y&&y.textVerticalAlign||"middle",null!=f&&s+k.lineHeight>f)return{lines:[],width:0,height:0};k.textWidth=Le(k.text,_);var b=y.textWidth,S=null==b||"auto"===b;if("string"==typeof b&&"%"===b.charAt(b.length-1))k.percentWidth=b,u.push(k),b=0;else{if(S){b=k.textWidth;var M=y.textBackgroundColor,I=M&&M.image;I&&Ce(I=Te(I))&&(b=Math.max(b,I.width*w/I.height))}var T=x?x[1]+x[3]:0;b+=T;var C=null!=d?d-m:null;null!=C&&C<b&&(!S||C<T?(k.text="",k.textWidth=b=0):(k.text=ze(k.text,C-T,_,c.ellipsis,{minChar:c.minChar}),k.textWidth=Le(k.text,_),b=k.textWidth+T))}m+=k.width=b,y&&(g=Math.max(g,k.lineHeight))}p.width=m,p.lineHeight=g,s+=g,l=Math.max(l,m)}i.outerWidth=i.width=A(e.textWidth,l),i.outerHeight=i.height=A(e.textHeight,s),h&&(i.outerWidth+=h[1]+h[3],i.outerHeight+=h[0]+h[2]);for(var L=0;L<u.length;L++){var k=u[L],P=k.percentWidth;k.width=parseInt(P,10)/100*l}return i}function Ue(t,e,i){for(var n=""===e,o=e.split("\n"),a=t.lines,r=0;r<o.length;r++){var s=o[r],l={styleName:i,text:s,isLineHolder:!s&&!n};if(r)a.push({tokens:[l]});else{var u=(a[a.length-1]||(a[0]={tokens:[]})).tokens,h=u.length;1===h&&u[0].isLineHolder?u[0]=l:(s||!h||n)&&u.push(l)}}}function Xe(t){var e=(t.fontSize||t.fontFamily)&&[t.fontStyle,t.fontWeight,(t.fontSize||12)+"px",t.fontFamily||"sans-serif"].join(" ");return e&&P(e)||t.textFont||t.font}function je(t,e){var i,n,o,a,r=e.x,s=e.y,l=e.width,u=e.height,h=e.r;l<0&&(r+=l,l=-l),u<0&&(s+=u,u=-u),"number"==typeof h?i=n=o=a=h:h instanceof Array?1===h.length?i=n=o=a=h[0]:2===h.length?(i=o=h[0],n=a=h[1]):3===h.length?(i=h[0],n=a=h[1],o=h[2]):(i=h[0],n=h[1],o=h[2],a=h[3]):i=n=o=a=0;var c;i+n>l&&(i*=l/(c=i+n),n*=l/c),o+a>l&&(o*=l/(c=o+a),a*=l/c),n+o>u&&(n*=u/(c=n+o),o*=u/c),i+a>u&&(i*=u/(c=i+a),a*=u/c),t.moveTo(r+i,s),t.lineTo(r+l-n,s),0!==n&&t.arc(r+l-n,s+n,n,-Math.PI/2,0),t.lineTo(r+l,s+u-o),0!==o&&t.arc(r+l-o,s+u-o,o,0,Math.PI/2),t.lineTo(r+a,s+u),0!==a&&t.arc(r+a,s+u-a,a,Math.PI/2,Math.PI),t.lineTo(r,s+i),0!==i&&t.arc(r+i,s+i,i,Math.PI,1.5*Math.PI)}function Ye(t){return qe(t),d(t.rich,qe),t}function qe(t){if(t){t.font=Xe(t);var e=t.textAlign;"middle"===e&&(e="center"),t.textAlign=null==e||Mb[e]?e:"left";var i=t.textVerticalAlign||t.textBaseline;"center"===i&&(i="middle"),t.textVerticalAlign=null==i||Ib[i]?i:"top",t.textPadding&&(t.textPadding=L(t.textPadding))}}function Ke(t,e,i,n,o,a){n.rich?Je(t,e,i,n,o,a):$e(t,e,i,n,o,a)}function $e(t,e,i,n,o,a){var r,s=ii(n),l=!1,u=e.__attrCachedBy===rb.PLAIN_TEXT;a!==sb?(a&&(r=a.style,l=!s&&u&&r),e.__attrCachedBy=s?rb.NONE:rb.PLAIN_TEXT):u&&(e.__attrCachedBy=rb.NONE);var h=n.font||Sb;l&&h===(r.font||Sb)||(e.font=h);var c=t.__computedFont;t.__styleFont!==h&&(t.__styleFont=h,c=t.__computedFont=e.font);var d=n.textPadding,f=n.textLineHeight,p=t.__textCotentBlock;p&&!t.__dirtyText||(p=t.__textCotentBlock=He(i,c,d,f,n.truncate));var g=p.outerHeight,m=p.lines,v=p.lineHeight,y=ai(g,n,o),x=y.baseX,_=y.baseY,w=y.textAlign||"left",b=y.textVerticalAlign;ti(e,n,o,x,_);var S=Ee(_,g,b),M=x,I=S;if(s||d){var T=Le(i,c);d&&(T+=d[1]+d[3]);var A=Oe(x,T,w);s&&ni(t,e,n,A,S,T,g),d&&(M=hi(x,w,d),I+=d[0])}e.textAlign=w,e.textBaseline="middle",e.globalAlpha=n.opacity||1;for(B=0;B<Tb.length;B++){var D=Tb[B],C=D[0],L=D[1],k=n[C];l&&k===r[C]||(e[L]=ab(e,L,k||D[2]))}I+=v/2;var P=n.textStrokeWidth,N=l?r.textStrokeWidth:null,O=!l||P!==N,E=!l||O||n.textStroke!==r.textStroke,R=si(n.textStroke,P),z=li(n.textFill);if(R&&(O&&(e.lineWidth=P),E&&(e.strokeStyle=R)),z&&(l&&n.textFill===r.textFill||(e.fillStyle=z)),1===m.length)R&&e.strokeText(m[0],M,I),z&&e.fillText(m[0],M,I);else for(var B=0;B<m.length;B++)R&&e.strokeText(m[B],M,I),z&&e.fillText(m[B],M,I),I+=v}function Je(t,e,i,n,o,a){a!==sb&&(e.__attrCachedBy=rb.NONE);var r=t.__textCotentBlock;r&&!t.__dirtyText||(r=t.__textCotentBlock=Ze(i,n)),Qe(t,e,r,n,o)}function Qe(t,e,i,n,o){var a=i.width,r=i.outerWidth,s=i.outerHeight,l=n.textPadding,u=ai(s,n,o),h=u.baseX,c=u.baseY,d=u.textAlign,f=u.textVerticalAlign;ti(e,n,o,h,c);var p=Oe(h,r,d),g=Ee(c,s,f),m=p,v=g;l&&(m+=l[3],v+=l[0]);var y=m+a;ii(n)&&ni(t,e,n,p,g,r,s);for(var x=0;x<i.lines.length;x++){for(var _,w=i.lines[x],b=w.tokens,S=b.length,M=w.lineHeight,I=w.width,T=0,A=m,D=y,C=S-1;T<S&&(!(_=b[T]).textAlign||"left"===_.textAlign);)ei(t,e,_,n,M,v,A,"left"),I-=_.width,A+=_.width,T++;for(;C>=0&&"right"===(_=b[C]).textAlign;)ei(t,e,_,n,M,v,D,"right"),I-=_.width,D-=_.width,C--;for(A+=(a-(A-m)-(y-D)-I)/2;T<=C;)ei(t,e,_=b[T],n,M,v,A+_.width/2,"center"),A+=_.width,T++;v+=M}}function ti(t,e,i,n,o){if(i&&e.textRotation){var a=e.textOrigin;"center"===a?(n=i.width/2+i.x,o=i.height/2+i.y):a&&(n=a[0]+i.x,o=a[1]+i.y),t.translate(n,o),t.rotate(-e.textRotation),t.translate(-n,-o)}}function ei(t,e,i,n,o,a,r,s){var l=n.rich[i.styleName]||{};l.text=i.text;var u=i.textVerticalAlign,h=a+o/2;"top"===u?h=a+i.height/2:"bottom"===u&&(h=a+o-i.height/2),!i.isLineHolder&&ii(l)&&ni(t,e,l,"right"===s?r-i.width:"center"===s?r-i.width/2:r,h-i.height/2,i.width,i.height);var c=i.textPadding;c&&(r=hi(r,s,c),h-=i.height/2-c[2]-i.textHeight/2),ri(e,"shadowBlur",D(l.textShadowBlur,n.textShadowBlur,0)),ri(e,"shadowColor",l.textShadowColor||n.textShadowColor||"transparent"),ri(e,"shadowOffsetX",D(l.textShadowOffsetX,n.textShadowOffsetX,0)),ri(e,"shadowOffsetY",D(l.textShadowOffsetY,n.textShadowOffsetY,0)),ri(e,"textAlign",s),ri(e,"textBaseline","middle"),ri(e,"font",i.font||Sb);var d=si(l.textStroke||n.textStroke,p),f=li(l.textFill||n.textFill),p=A(l.textStrokeWidth,n.textStrokeWidth);d&&(ri(e,"lineWidth",p),ri(e,"strokeStyle",d),e.strokeText(i.text,r,h)),f&&(ri(e,"fillStyle",f),e.fillText(i.text,r,h))}function ii(t){return!!(t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor)}function ni(t,e,i,n,o,a,r){var s=i.textBackgroundColor,l=i.textBorderWidth,u=i.textBorderColor,h=_(s);if(ri(e,"shadowBlur",i.textBoxShadowBlur||0),ri(e,"shadowColor",i.textBoxShadowColor||"transparent"),ri(e,"shadowOffsetX",i.textBoxShadowOffsetX||0),ri(e,"shadowOffsetY",i.textBoxShadowOffsetY||0),h||l&&u){e.beginPath();var c=i.textBorderRadius;c?je(e,{x:n,y:o,width:a,height:r,r:c}):e.rect(n,o,a,r),e.closePath()}if(h)if(ri(e,"fillStyle",s),null!=i.fillOpacity){f=e.globalAlpha;e.globalAlpha=i.fillOpacity*i.opacity,e.fill(),e.globalAlpha=f}else e.fill();else if(w(s)){var d=s.image;(d=Ae(d,null,t,oi,s))&&Ce(d)&&e.drawImage(d,n,o,a,r)}if(l&&u)if(ri(e,"lineWidth",l),ri(e,"strokeStyle",u),null!=i.strokeOpacity){var f=e.globalAlpha;e.globalAlpha=i.strokeOpacity*i.opacity,e.stroke(),e.globalAlpha=f}else e.stroke()}function oi(t,e){e.image=t}function ai(t,e,i){var n=e.x||0,o=e.y||0,a=e.textAlign,r=e.textVerticalAlign;if(i){var s=e.textPosition;if(s instanceof Array)n=i.x+ui(s[0],i.width),o=i.y+ui(s[1],i.height);else{var l=Re(s,i,e.textDistance);n=l.x,o=l.y,a=a||l.textAlign,r=r||l.textVerticalAlign}var u=e.textOffset;u&&(n+=u[0],o+=u[1])}return{baseX:n,baseY:o,textAlign:a,textVerticalAlign:r}}function ri(t,e,i){return t[e]=ab(t,e,i),t[e]}function si(t,e){return null==t||e<=0||"transparent"===t||"none"===t?null:t.image||t.colorStops?"#000":t}function li(t){return null==t||"none"===t?null:t.image||t.colorStops?"#000":t}function ui(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t}function hi(t,e,i){return"right"===e?t-i[1]:"center"===e?t+i[3]/2-i[1]/2:t+i[3]}function ci(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor||e.textPadding)}function di(t){t=t||{},Kw.call(this,t);for(var e in t)t.hasOwnProperty(e)&&"style"!==e&&(this[e]=t[e]);this.style=new ub(t.style,this),this._rect=null,this.__clipPaths=[]}function fi(t){di.call(this,t)}function pi(t){return parseInt(t,10)}function gi(t){return!!t&&(!!t.__builtin__||"function"==typeof t.resize&&"function"==typeof t.refresh)}function mi(t,e,i){return Cb.copy(t.getBoundingRect()),t.transform&&Cb.applyTransform(t.transform),Lb.width=e,Lb.height=i,!Cb.intersect(Lb)}function vi(t,e){if(t===e)return!1;if(!t||!e||t.length!==e.length)return!0;for(var i=0;i<t.length;i++)if(t[i]!==e[i])return!0}function yi(t,e){for(var i=0;i<t.length;i++){var n=t[i];n.setTransform(e),e.beginPath(),n.buildPath(e,n.shape),e.clip(),n.restoreTransform(e)}}function xi(t,e){var i=document.createElement("div");return i.style.cssText=["position:relative","overflow:hidden","width:"+t+"px","height:"+e+"px","padding:0","margin:0","border-width:0"].join(";")+";",i}function _i(t){return"mousewheel"===t&&U_.browser.firefox?"DOMMouseScroll":t}function wi(t){t._touching=!0,clearTimeout(t._touchTimer),t._touchTimer=setTimeout(function(){t._touching=!1},700)}function bi(t){var e=t.pointerType;return"pen"===e||"touch"===e}function Si(t){function e(t,e){return function(){if(!e._touching)return t.apply(e,arguments)}}d(Ob,function(e){t._handlers[e]=m(zb[e],t)}),d(Rb,function(e){t._handlers[e]=m(zb[e],t)}),d(Nb,function(i){t._handlers[i]=e(zb[i],t)})}function Mi(t){function e(e,i){d(e,function(e){ht(t,_i(e),i._handlers[e])},i)}fw.call(this),this.dom=t,this._touching=!1,this._touchTimer,this._handlers={},Si(this),U_.pointerEventsSupported?e(Rb,this):(U_.touchEventsSupported&&e(Ob,this),e(Nb,this))}function Ii(t,e){var i=new Wb(H_(),t,e);return Fb[i.id]=i,i}function Ti(t,e){Gb[t]=e}function Ai(t){delete Fb[t]}function Di(t){return t instanceof Array?t:null==t?[]:[t]}function Ci(t,e,i){if(t){t[e]=t[e]||{},t.emphasis=t.emphasis||{},t.emphasis[e]=t.emphasis[e]||{};for(var n=0,o=i.length;n<o;n++){var a=i[n];!t.emphasis[e].hasOwnProperty(a)&&t[e].hasOwnProperty(a)&&(t.emphasis[e][a]=t[e][a])}}}function Li(t){return!Ub(t)||Xb(t)||t instanceof Date?t:t.value}function ki(t){return Ub(t)&&!(t instanceof Array)}function Pi(t,e){e=(e||[]).slice();var i=f(t||[],function(t,e){return{exist:t}});return Zb(e,function(t,n){if(Ub(t)){for(o=0;o<i.length;o++)if(!i[o].option&&null!=t.id&&i[o].exist.id===t.id+"")return i[o].option=t,void(e[n]=null);for(var o=0;o<i.length;o++){var a=i[o].exist;if(!(i[o].option||null!=a.id&&null!=t.id||null==t.name||Ei(t)||Ei(a)||a.name!==t.name+""))return i[o].option=t,void(e[n]=null)}}}),Zb(e,function(t,e){if(Ub(t)){for(var n=0;n<i.length;n++){var o=i[n].exist;if(!i[n].option&&!Ei(o)&&null==t.id){i[n].option=t;break}}n>=i.length&&i.push({option:t})}}),i}function Ni(t){var e=R();Zb(t,function(t,i){var n=t.exist;n&&e.set(n.id,t)}),Zb(t,function(t,i){var n=t.option;k(!n||null==n.id||!e.get(n.id)||e.get(n.id)===t,"id duplicates: "+(n&&n.id)),n&&null!=n.id&&e.set(n.id,t),!t.keyInfo&&(t.keyInfo={})}),Zb(t,function(t,i){var n=t.exist,o=t.option,a=t.keyInfo;if(Ub(o)){if(a.name=null!=o.name?o.name+"":n?n.name:jb+i,n)a.id=n.id;else if(null!=o.id)a.id=o.id+"";else{var r=0;do{a.id="\0"+a.name+"\0"+r++}while(e.get(a.id))}e.set(a.id,t)}})}function Oi(t){var e=t.name;return!(!e||!e.indexOf(jb))}function Ei(t){return Ub(t)&&t.id&&0===(t.id+"").indexOf("\0_ec_\0")}function Ri(t,e){function i(t,e,i){for(var n=0,o=t.length;n<o;n++)for(var a=t[n].seriesId,r=Di(t[n].dataIndex),s=i&&i[a],l=0,u=r.length;l<u;l++){var h=r[l];s&&s[h]?s[h]=null:(e[a]||(e[a]={}))[h]=1}}function n(t,e){var i=[];for(var o in t)if(t.hasOwnProperty(o)&&null!=t[o])if(e)i.push(+o);else{var a=n(t[o],!0);a.length&&i.push({seriesId:o,dataIndex:a})}return i}var o={},a={};return i(t||[],o),i(e||[],a,o),[n(o),n(a)]}function zi(t,e){return null!=e.dataIndexInside?e.dataIndexInside:null!=e.dataIndex?y(e.dataIndex)?f(e.dataIndex,function(e){return t.indexOfRawIndex(e)}):t.indexOfRawIndex(e.dataIndex):null!=e.name?y(e.name)?f(e.name,function(e){return t.indexOfName(e)}):t.indexOfName(e.name):void 0}function Bi(){var t="__\0ec_inner_"+qb+++"_"+Math.random().toFixed(5);return function(e){return e[t]||(e[t]={})}}function Vi(t,e,i){if(_(e)){var n={};n[e+"Index"]=0,e=n}var o=i&&i.defaultMainType;!o||Gi(e,o+"Index")||Gi(e,o+"Id")||Gi(e,o+"Name")||(e[o+"Index"]=0);var a={};return Zb(e,function(n,o){var n=e[o];if("dataIndex"!==o&&"dataIndexInside"!==o){var r=o.match(/^(\w+)(Index|Id|Name)$/)||[],s=r[1],u=(r[2]||"").toLowerCase();if(!(!s||!u||null==n||"index"===u&&"none"===n||i&&i.includeMainTypes&&l(i.includeMainTypes,s)<0)){var h={mainType:s};"index"===u&&"all"===n||(h[u]=n);var c=t.queryComponents(h);a[s+"Models"]=c,a[s+"Model"]=c[0]}}else a[o]=n}),a}function Gi(t,e){return t&&t.hasOwnProperty(e)}function Fi(t,e,i){t.setAttribute?t.setAttribute(e,i):t[e]=i}function Wi(t,e){return t.getAttribute?t.getAttribute(e):t[e]}function Hi(t){return"auto"===t?U_.domSupported?"html":"richText":t||"html"}function Zi(t,e){var i=R(),n=[];return d(t,function(t){var o=e(t);(i.get(o)||(n.push(o),i.set(o,[]))).push(t)}),{keys:n,buckets:i}}function Ui(t){var e={main:"",sub:""};return t&&(t=t.split(Kb),e.main=t[0]||"",e.sub=t[1]||""),e}function Xi(t){k(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t),'componentType "'+t+'" illegal')}function ji(t,e){t.$constructor=t,t.extend=function(t){var e=this,i=function(){t.$constructor?t.$constructor.apply(this,arguments):e.apply(this,arguments)};return a(i.prototype,t),i.extend=this.extend,i.superCall=qi,i.superApply=Ki,u(i,this),i.superClass=e,i}}function Yi(t){var e=["__\0is_clz",Jb++,Math.random().toFixed(3)].join("_");t.prototype[e]=!0,t.isInstance=function(t){return!(!t||!t[e])}}function qi(t,e){var i=C(arguments,2);return this.superClass.prototype[e].apply(t,i)}function Ki(t,e,i){return this.superClass.prototype[e].apply(t,i)}function $i(t,e){function i(t){var e=n[t.main];return e&&e[$b]||((e=n[t.main]={})[$b]=!0),e}e=e||{};var n={};if(t.registerClass=function(t,e){return e&&(Xi(e),(e=Ui(e)).sub?e.sub!==$b&&(i(e)[e.sub]=t):n[e.main]=t),t},t.getClass=function(t,e,i){var o=n[t];if(o&&o[$b]&&(o=e?o[e]:null),i&&!o)throw new Error(e?"Component "+t+"."+(e||"")+" not exists. Load it first.":t+".type should be specified.");return o},t.getClassesByMainType=function(t){t=Ui(t);var e=[],i=n[t.main];return i&&i[$b]?d(i,function(t,i){i!==$b&&e.push(t)}):e.push(i),e},t.hasClass=function(t){return t=Ui(t),!!n[t.main]},t.getAllClassMainTypes=function(){var t=[];return d(n,function(e,i){t.push(i)}),t},t.hasSubTypes=function(t){t=Ui(t);var e=n[t.main];return e&&e[$b]},t.parseClassType=Ui,e.registerWhenExtend){var o=t.extend;o&&(t.extend=function(e){var i=o.call(this,e);return t.registerClass(i,e.type)})}return t}function Ji(t){return t>-rS&&t<rS}function Qi(t){return t>rS||t<-rS}function tn(t,e,i,n,o){var a=1-o;return a*a*(a*t+3*o*e)+o*o*(o*n+3*a*i)}function en(t,e,i,n,o){var a=1-o;return 3*(((e-t)*a+2*(i-e)*o)*a+(n-i)*o*o)}function nn(t,e,i,n,o,a){var r=n+3*(e-i)-t,s=3*(i-2*e+t),l=3*(e-t),u=t-o,h=s*s-3*r*l,c=s*l-9*r*u,d=l*l-3*s*u,f=0;if(Ji(h)&&Ji(c))Ji(s)?a[0]=0:(M=-l/s)>=0&&M<=1&&(a[f++]=M);else{var p=c*c-4*h*d;if(Ji(p)){var g=c/h,m=-g/2;(M=-s/r+g)>=0&&M<=1&&(a[f++]=M),m>=0&&m<=1&&(a[f++]=m)}else if(p>0){var v=aS(p),y=h*s+1.5*r*(-c+v),x=h*s+1.5*r*(-c-v);(M=(-s-((y=y<0?-oS(-y,uS):oS(y,uS))+(x=x<0?-oS(-x,uS):oS(x,uS))))/(3*r))>=0&&M<=1&&(a[f++]=M)}else{var _=(2*h*s-3*r*c)/(2*aS(h*h*h)),w=Math.acos(_)/3,b=aS(h),S=Math.cos(w),M=(-s-2*b*S)/(3*r),m=(-s+b*(S+lS*Math.sin(w)))/(3*r),I=(-s+b*(S-lS*Math.sin(w)))/(3*r);M>=0&&M<=1&&(a[f++]=M),m>=0&&m<=1&&(a[f++]=m),I>=0&&I<=1&&(a[f++]=I)}}return f}function on(t,e,i,n,o){var a=6*i-12*e+6*t,r=9*e+3*n-3*t-9*i,s=3*e-3*t,l=0;if(Ji(r))Qi(a)&&(c=-s/a)>=0&&c<=1&&(o[l++]=c);else{var u=a*a-4*r*s;if(Ji(u))o[0]=-a/(2*r);else if(u>0){var h=aS(u),c=(-a+h)/(2*r),d=(-a-h)/(2*r);c>=0&&c<=1&&(o[l++]=c),d>=0&&d<=1&&(o[l++]=d)}}return l}function an(t,e,i,n,o,a){var r=(e-t)*o+t,s=(i-e)*o+e,l=(n-i)*o+i,u=(s-r)*o+r,h=(l-s)*o+s,c=(h-u)*o+u;a[0]=t,a[1]=r,a[2]=u,a[3]=c,a[4]=c,a[5]=h,a[6]=l,a[7]=n}function rn(t,e,i,n,o,a,r,s,l,u,h){var c,d,f,p,g,m=.005,v=1/0;hS[0]=l,hS[1]=u;for(var y=0;y<1;y+=.05)cS[0]=tn(t,i,o,r,y),cS[1]=tn(e,n,a,s,y),(p=hw(hS,cS))<v&&(c=y,v=p);v=1/0;for(var x=0;x<32&&!(m<sS);x++)d=c-m,f=c+m,cS[0]=tn(t,i,o,r,d),cS[1]=tn(e,n,a,s,d),p=hw(cS,hS),d>=0&&p<v?(c=d,v=p):(dS[0]=tn(t,i,o,r,f),dS[1]=tn(e,n,a,s,f),g=hw(dS,hS),f<=1&&g<v?(c=f,v=g):m*=.5);return h&&(h[0]=tn(t,i,o,r,c),h[1]=tn(e,n,a,s,c)),aS(v)}function sn(t,e,i,n){var o=1-n;return o*(o*t+2*n*e)+n*n*i}function ln(t,e,i,n){return 2*((1-n)*(e-t)+n*(i-e))}function un(t,e,i,n,o){var a=t-2*e+i,r=2*(e-t),s=t-n,l=0;if(Ji(a))Qi(r)&&(c=-s/r)>=0&&c<=1&&(o[l++]=c);else{var u=r*r-4*a*s;if(Ji(u))(c=-r/(2*a))>=0&&c<=1&&(o[l++]=c);else if(u>0){var h=aS(u),c=(-r+h)/(2*a),d=(-r-h)/(2*a);c>=0&&c<=1&&(o[l++]=c),d>=0&&d<=1&&(o[l++]=d)}}return l}function hn(t,e,i){var n=t+i-2*e;return 0===n?.5:(t-e)/n}function cn(t,e,i,n,o){var a=(e-t)*n+t,r=(i-e)*n+e,s=(r-a)*n+a;o[0]=t,o[1]=a,o[2]=s,o[3]=s,o[4]=r,o[5]=i}function dn(t,e,i,n,o,a,r,s,l){var u,h=.005,c=1/0;hS[0]=r,hS[1]=s;for(var d=0;d<1;d+=.05)cS[0]=sn(t,i,o,d),cS[1]=sn(e,n,a,d),(m=hw(hS,cS))<c&&(u=d,c=m);c=1/0;for(var f=0;f<32&&!(h<sS);f++){var p=u-h,g=u+h;cS[0]=sn(t,i,o,p),cS[1]=sn(e,n,a,p);var m=hw(cS,hS);if(p>=0&&m<c)u=p,c=m;else{dS[0]=sn(t,i,o,g),dS[1]=sn(e,n,a,g);var v=hw(dS,hS);g<=1&&v<c?(u=g,c=v):h*=.5}}return l&&(l[0]=sn(t,i,o,u),l[1]=sn(e,n,a,u)),aS(c)}function fn(t,e,i){if(0!==t.length){var n,o=t[0],a=o[0],r=o[0],s=o[1],l=o[1];for(n=1;n<t.length;n++)o=t[n],a=fS(a,o[0]),r=pS(r,o[0]),s=fS(s,o[1]),l=pS(l,o[1]);e[0]=a,e[1]=s,i[0]=r,i[1]=l}}function pn(t,e,i,n,o,a){o[0]=fS(t,i),o[1]=fS(e,n),a[0]=pS(t,i),a[1]=pS(e,n)}function gn(t,e,i,n,o,a,r,s,l,u){var h,c=on,d=tn,f=c(t,i,o,r,wS);for(l[0]=1/0,l[1]=1/0,u[0]=-1/0,u[1]=-1/0,h=0;h<f;h++){var p=d(t,i,o,r,wS[h]);l[0]=fS(p,l[0]),u[0]=pS(p,u[0])}for(f=c(e,n,a,s,bS),h=0;h<f;h++){var g=d(e,n,a,s,bS[h]);l[1]=fS(g,l[1]),u[1]=pS(g,u[1])}l[0]=fS(t,l[0]),u[0]=pS(t,u[0]),l[0]=fS(r,l[0]),u[0]=pS(r,u[0]),l[1]=fS(e,l[1]),u[1]=pS(e,u[1]),l[1]=fS(s,l[1]),u[1]=pS(s,u[1])}function mn(t,e,i,n,o,a,r,s){var l=hn,u=sn,h=pS(fS(l(t,i,o),1),0),c=pS(fS(l(e,n,a),1),0),d=u(t,i,o,h),f=u(e,n,a,c);r[0]=fS(t,o,d),r[1]=fS(e,a,f),s[0]=pS(t,o,d),s[1]=pS(e,a,f)}function vn(t,e,i,n,o,a,r,s,l){var u=tt,h=et,c=Math.abs(o-a);if(c%vS<1e-4&&c>1e-4)return s[0]=t-i,s[1]=e-n,l[0]=t+i,void(l[1]=e+n);if(yS[0]=mS(o)*i+t,yS[1]=gS(o)*n+e,xS[0]=mS(a)*i+t,xS[1]=gS(a)*n+e,u(s,yS,xS),h(l,yS,xS),(o%=vS)<0&&(o+=vS),(a%=vS)<0&&(a+=vS),o>a&&!r?a+=vS:o<a&&r&&(o+=vS),r){var d=a;a=o,o=d}for(var f=0;f<a;f+=Math.PI/2)f>o&&(_S[0]=mS(f)*i+t,_S[1]=gS(f)*n+e,u(s,_S,s),h(l,_S,l))}function yn(t,e,i,n,o,a,r){if(0===o)return!1;var s=o,l=0,u=t;if(r>e+s&&r>n+s||r<e-s&&r<n-s||a>t+s&&a>i+s||a<t-s&&a<i-s)return!1;if(t===i)return Math.abs(a-t)<=s/2;var h=(l=(e-n)/(t-i))*a-r+(u=(t*n-i*e)/(t-i));return h*h/(l*l+1)<=s/2*s/2}function xn(t,e,i,n,o,a,r,s,l,u,h){if(0===l)return!1;var c=l;return!(h>e+c&&h>n+c&&h>a+c&&h>s+c||h<e-c&&h<n-c&&h<a-c&&h<s-c||u>t+c&&u>i+c&&u>o+c&&u>r+c||u<t-c&&u<i-c&&u<o-c&&u<r-c)&&rn(t,e,i,n,o,a,r,s,u,h,null)<=c/2}function _n(t,e,i,n,o,a,r,s,l){if(0===r)return!1;var u=r;return!(l>e+u&&l>n+u&&l>a+u||l<e-u&&l<n-u&&l<a-u||s>t+u&&s>i+u&&s>o+u||s<t-u&&s<i-u&&s<o-u)&&dn(t,e,i,n,o,a,s,l,null)<=u/2}function wn(t){return(t%=RS)<0&&(t+=RS),t}function bn(t,e,i,n,o,a,r,s,l){if(0===r)return!1;var u=r;s-=t,l-=e;var h=Math.sqrt(s*s+l*l);if(h-u>i||h+u<i)return!1;if(Math.abs(n-o)%zS<1e-4)return!0;if(a){var c=n;n=wn(o),o=wn(c)}else n=wn(n),o=wn(o);n>o&&(o+=zS);var d=Math.atan2(l,s);return d<0&&(d+=zS),d>=n&&d<=o||d+zS>=n&&d+zS<=o}function Sn(t,e,i,n,o,a){if(a>e&&a>n||a<e&&a<n)return 0;if(n===e)return 0;var r=n<e?1:-1,s=(a-e)/(n-e);1!==s&&0!==s||(r=n<e?.5:-.5);var l=s*(i-t)+t;return l===o?1/0:l>o?r:0}function Mn(t,e){return Math.abs(t-e)<GS}function In(){var t=WS[0];WS[0]=WS[1],WS[1]=t}function Tn(t,e,i,n,o,a,r,s,l,u){if(u>e&&u>n&&u>a&&u>s||u<e&&u<n&&u<a&&u<s)return 0;var h=nn(e,n,a,s,u,FS);if(0===h)return 0;for(var c,d,f=0,p=-1,g=0;g<h;g++){var m=FS[g],v=0===m||1===m?.5:1;tn(t,i,o,r,m)<l||(p<0&&(p=on(e,n,a,s,WS),WS[1]<WS[0]&&p>1&&In(),c=tn(e,n,a,s,WS[0]),p>1&&(d=tn(e,n,a,s,WS[1]))),2===p?m<WS[0]?f+=c<e?v:-v:m<WS[1]?f+=d<c?v:-v:f+=s<d?v:-v:m<WS[0]?f+=c<e?v:-v:f+=s<c?v:-v)}return f}function An(t,e,i,n,o,a,r,s){if(s>e&&s>n&&s>a||s<e&&s<n&&s<a)return 0;var l=un(e,n,a,s,FS);if(0===l)return 0;var u=hn(e,n,a);if(u>=0&&u<=1){for(var h=0,c=sn(e,n,a,u),d=0;d<l;d++){f=0===FS[d]||1===FS[d]?.5:1;(p=sn(t,i,o,FS[d]))<r||(FS[d]<u?h+=c<e?f:-f:h+=a<c?f:-f)}return h}var f=0===FS[0]||1===FS[0]?.5:1,p=sn(t,i,o,FS[0]);return p<r?0:a<e?f:-f}function Dn(t,e,i,n,o,a,r,s){if((s-=e)>i||s<-i)return 0;u=Math.sqrt(i*i-s*s);FS[0]=-u,FS[1]=u;var l=Math.abs(n-o);if(l<1e-4)return 0;if(l%VS<1e-4){n=0,o=VS;p=a?1:-1;return r>=FS[0]+t&&r<=FS[1]+t?p:0}if(a){var u=n;n=wn(o),o=wn(u)}else n=wn(n),o=wn(o);n>o&&(o+=VS);for(var h=0,c=0;c<2;c++){var d=FS[c];if(d+t>r){var f=Math.atan2(s,d),p=a?1:-1;f<0&&(f=VS+f),(f>=n&&f<=o||f+VS>=n&&f+VS<=o)&&(f>Math.PI/2&&f<1.5*Math.PI&&(p=-p),h+=p)}}return h}function Cn(t,e,i,n,o){for(var a=0,r=0,s=0,l=0,u=0,h=0;h<t.length;){var c=t[h++];switch(c===BS.M&&h>1&&(i||(a+=Sn(r,s,l,u,n,o))),1===h&&(l=r=t[h],u=s=t[h+1]),c){case BS.M:r=l=t[h++],s=u=t[h++];break;case BS.L:if(i){if(yn(r,s,t[h],t[h+1],e,n,o))return!0}else a+=Sn(r,s,t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.C:if(i){if(xn(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=Tn(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.Q:if(i){if(_n(r,s,t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=An(r,s,t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case BS.A:var d=t[h++],f=t[h++],p=t[h++],g=t[h++],m=t[h++],v=t[h++];h+=1;var y=1-t[h++],x=Math.cos(m)*p+d,_=Math.sin(m)*g+f;h>1?a+=Sn(r,s,x,_,n,o):(l=x,u=_);var w=(n-d)*g/p+d;if(i){if(bn(d,f,g,m,m+v,y,e,w,o))return!0}else a+=Dn(d,f,g,m,m+v,y,w,o);r=Math.cos(m+v)*p+d,s=Math.sin(m+v)*g+f;break;case BS.R:l=r=t[h++],u=s=t[h++];var x=l+t[h++],_=u+t[h++];if(i){if(yn(l,u,x,u,e,n,o)||yn(x,u,x,_,e,n,o)||yn(x,_,l,_,e,n,o)||yn(l,_,l,u,e,n,o))return!0}else a+=Sn(x,u,x,_,n,o),a+=Sn(l,_,l,u,n,o);break;case BS.Z:if(i){if(yn(r,s,l,u,e,n,o))return!0}else a+=Sn(r,s,l,u,n,o);r=l,s=u}}return i||Mn(s,u)||(a+=Sn(r,s,l,u,n,o)||0),0!==a}function Ln(t,e,i){return Cn(t,0,!1,e,i)}function kn(t,e,i,n){return Cn(t,e,!0,i,n)}function Pn(t){di.call(this,t),this.path=null}function Nn(t,e,i,n,o,a,r,s,l,u,h){var c=l*(tM/180),d=QS(c)*(t-i)/2+JS(c)*(e-n)/2,f=-1*JS(c)*(t-i)/2+QS(c)*(e-n)/2,p=d*d/(r*r)+f*f/(s*s);p>1&&(r*=$S(p),s*=$S(p));var g=(o===a?-1:1)*$S((r*r*(s*s)-r*r*(f*f)-s*s*(d*d))/(r*r*(f*f)+s*s*(d*d)))||0,m=g*r*f/s,v=g*-s*d/r,y=(t+i)/2+QS(c)*m-JS(c)*v,x=(e+n)/2+JS(c)*m+QS(c)*v,_=nM([1,0],[(d-m)/r,(f-v)/s]),w=[(d-m)/r,(f-v)/s],b=[(-1*d-m)/r,(-1*f-v)/s],S=nM(w,b);iM(w,b)<=-1&&(S=tM),iM(w,b)>=1&&(S=0),0===a&&S>0&&(S-=2*tM),1===a&&S<0&&(S+=2*tM),h.addData(u,y,x,r,s,_,S,c,a)}function On(t){if(!t)return new ES;for(var e,i=0,n=0,o=i,a=n,r=new ES,s=ES.CMD,l=t.match(oM),u=0;u<l.length;u++){for(var h,c=l[u],d=c.charAt(0),f=c.match(aM)||[],p=f.length,g=0;g<p;g++)f[g]=parseFloat(f[g]);for(var m=0;m<p;){var v,y,x,_,w,b,S,M=i,I=n;switch(d){case"l":i+=f[m++],n+=f[m++],h=s.L,r.addData(h,i,n);break;case"L":i=f[m++],n=f[m++],h=s.L,r.addData(h,i,n);break;case"m":i+=f[m++],n+=f[m++],h=s.M,r.addData(h,i,n),o=i,a=n,d="l";break;case"M":i=f[m++],n=f[m++],h=s.M,r.addData(h,i,n),o=i,a=n,d="L";break;case"h":i+=f[m++],h=s.L,r.addData(h,i,n);break;case"H":i=f[m++],h=s.L,r.addData(h,i,n);break;case"v":n+=f[m++],h=s.L,r.addData(h,i,n);break;case"V":n=f[m++],h=s.L,r.addData(h,i,n);break;case"C":h=s.C,r.addData(h,f[m++],f[m++],f[m++],f[m++],f[m++],f[m++]),i=f[m-2],n=f[m-1];break;case"c":h=s.C,r.addData(h,f[m++]+i,f[m++]+n,f[m++]+i,f[m++]+n,f[m++]+i,f[m++]+n),i+=f[m-2],n+=f[m-1];break;case"S":v=i,y=n;var T=r.len(),A=r.data;e===s.C&&(v+=i-A[T-4],y+=n-A[T-3]),h=s.C,M=f[m++],I=f[m++],i=f[m++],n=f[m++],r.addData(h,v,y,M,I,i,n);break;case"s":v=i,y=n;var T=r.len(),A=r.data;e===s.C&&(v+=i-A[T-4],y+=n-A[T-3]),h=s.C,M=i+f[m++],I=n+f[m++],i+=f[m++],n+=f[m++],r.addData(h,v,y,M,I,i,n);break;case"Q":M=f[m++],I=f[m++],i=f[m++],n=f[m++],h=s.Q,r.addData(h,M,I,i,n);break;case"q":M=f[m++]+i,I=f[m++]+n,i+=f[m++],n+=f[m++],h=s.Q,r.addData(h,M,I,i,n);break;case"T":v=i,y=n;var T=r.len(),A=r.data;e===s.Q&&(v+=i-A[T-4],y+=n-A[T-3]),i=f[m++],n=f[m++],h=s.Q,r.addData(h,v,y,i,n);break;case"t":v=i,y=n;var T=r.len(),A=r.data;e===s.Q&&(v+=i-A[T-4],y+=n-A[T-3]),i+=f[m++],n+=f[m++],h=s.Q,r.addData(h,v,y,i,n);break;case"A":x=f[m++],_=f[m++],w=f[m++],b=f[m++],S=f[m++],Nn(M=i,I=n,i=f[m++],n=f[m++],b,S,x,_,w,h=s.A,r);break;case"a":x=f[m++],_=f[m++],w=f[m++],b=f[m++],S=f[m++],Nn(M=i,I=n,i+=f[m++],n+=f[m++],b,S,x,_,w,h=s.A,r)}}"z"!==d&&"Z"!==d||(h=s.Z,r.addData(h),i=o,n=a),e=h}return r.toStatic(),r}function En(t,e){var i=On(t);return e=e||{},e.buildPath=function(t){if(t.setData)t.setData(i.data),(e=t.getContext())&&t.rebuildPath(e);else{var e=t;i.rebuildPath(e)}},e.applyTransform=function(t){KS(i,t),this.dirty(!0)},e}function Rn(t,e){return new Pn(En(t,e))}function zn(t,e){return Pn.extend(En(t,e))}function Bn(t,e,i,n,o,a,r){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)*r+(-3*(e-i)-2*s-l)*a+s*o+e}function Vn(t,e,i){var n=e.points,o=e.smooth;if(n&&n.length>=2){if(o&&"spline"!==o){var a=fM(n,o,i,e.smoothConstraint);t.moveTo(n[0][0],n[0][1]);for(var r=n.length,s=0;s<(i?r:r-1);s++){var l=a[2*s],u=a[2*s+1],h=n[(s+1)%r];t.bezierCurveTo(l[0],l[1],u[0],u[1],h[0],h[1])}}else{"spline"===o&&(n=dM(n,i)),t.moveTo(n[0][0],n[0][1]);for(var s=1,c=n.length;s<c;s++)t.lineTo(n[s][0],n[s][1])}i&&t.closePath()}}function Gn(t,e,i){var n=i&&i.lineWidth;if(e&&n){var o=e.x1,a=e.x2,r=e.y1,s=e.y2;mM(2*o)===mM(2*a)?t.x1=t.x2=Wn(o,n,!0):(t.x1=o,t.x2=a),mM(2*r)===mM(2*s)?t.y1=t.y2=Wn(r,n,!0):(t.y1=r,t.y2=s)}}function Fn(t,e,i){var n=i&&i.lineWidth;if(e&&n){var o=e.x,a=e.y,r=e.width,s=e.height;t.x=Wn(o,n,!0),t.y=Wn(a,n,!0),t.width=Math.max(Wn(o+r,n,!1)-t.x,0===r?0:1),t.height=Math.max(Wn(a+s,n,!1)-t.y,0===s?0:1)}}function Wn(t,e,i){var n=mM(2*t);return(n+mM(e))%2==0?n/2:(n+(i?1:-1))/2}function Hn(t,e,i){var n=t.cpx2,o=t.cpy2;return null===n||null===o?[(i?en:tn)(t.x1,t.cpx1,t.cpx2,t.x2,e),(i?en:tn)(t.y1,t.cpy1,t.cpy2,t.y2,e)]:[(i?ln:sn)(t.x1,t.cpx1,t.x2,e),(i?ln:sn)(t.y1,t.cpy1,t.y2,e)]}function Zn(t){di.call(this,t),this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.notClear=!0}function Un(t){return Pn.extend(t)}function Xn(t,e,i,n){var o=Rn(t,e);return i&&("center"===n&&(i=Yn(i,o.getBoundingRect())),qn(o,i)),o}function jn(t,e,i){var n=new fi({style:{image:t,x:e.x,y:e.y,width:e.width,height:e.height},onload:function(t){if("center"===i){var o={width:t.width,height:t.height};n.setStyle(Yn(e,o))}}});return n}function Yn(t,e){var i,n=e.width/e.height,o=t.height*n;return i=o<=t.width?t.height:(o=t.width)/n,{x:t.x+t.width/2-o/2,y:t.y+t.height/2-i/2,width:o,height:i}}function qn(t,e){if(t.applyTransform){var i=t.getBoundingRect().calculateTransform(e);t.applyTransform(i)}}function Kn(t){var e=t.shape,i=t.style.lineWidth;return CM(2*e.x1)===CM(2*e.x2)&&(e.x1=e.x2=Jn(e.x1,i,!0)),CM(2*e.y1)===CM(2*e.y2)&&(e.y1=e.y2=Jn(e.y1,i,!0)),t}function $n(t){var e=t.shape,i=t.style.lineWidth,n=e.x,o=e.y,a=e.width,r=e.height;return e.x=Jn(e.x,i,!0),e.y=Jn(e.y,i,!0),e.width=Math.max(Jn(n+a,i,!1)-e.x,0===a?0:1),e.height=Math.max(Jn(o+r,i,!1)-e.y,0===r?0:1),t}function Jn(t,e,i){var n=CM(2*t);return(n+CM(e))%2==0?n/2:(n+(i?1:-1))/2}function Qn(t){return null!=t&&"none"!==t}function to(t){if("string"!=typeof t)return t;var e=EM.get(t);return e||(e=Ht(t,-.1),RM<1e4&&(EM.set(t,e),RM++)),e}function eo(t){if(t.__hoverStlDirty){t.__hoverStlDirty=!1;var e=t.__hoverStl;if(e){var i=t.__cachedNormalStl={};t.__cachedNormalZ2=t.z2;var n=t.style;for(var o in e)null!=e[o]&&(i[o]=n[o]);i.fill=n.fill,i.stroke=n.stroke}else t.__cachedNormalStl=t.__cachedNormalZ2=null}}function io(t){var e=t.__hoverStl;if(e&&!t.__highlighted){var i=t.useHoverLayer;t.__highlighted=i?"layer":"plain";var n=t.__zr;if(n||!i){var o=t,a=t.style;i&&(a=(o=n.addHover(t)).style),bo(a),i||eo(o),a.extendFrom(e),no(a,e,"fill"),no(a,e,"stroke"),wo(a),i||(t.dirty(!1),t.z2+=NM)}}}function no(t,e,i){!Qn(e[i])&&Qn(t[i])&&(t[i]=to(t[i]))}function oo(t){var e=t.__highlighted;if(e)if(t.__highlighted=!1,"layer"===e)t.__zr&&t.__zr.removeHover(t);else if(e){var i=t.style,n=t.__cachedNormalStl;n&&(bo(i),t.setStyle(n),wo(i));var o=t.__cachedNormalZ2;null!=o&&t.z2-o===NM&&(t.z2=o)}}function ao(t,e){t.isGroup?t.traverse(function(t){!t.isGroup&&e(t)}):e(t)}function ro(t,e){e=t.__hoverStl=!1!==e&&(e||{}),t.__hoverStlDirty=!0,t.__highlighted&&(t.__cachedNormalStl=null,oo(t),io(t))}function so(t){return t&&t.__isEmphasisEntered}function lo(t){this.__hoverSilentOnTouch&&t.zrByTouch||!this.__isEmphasisEntered&&ao(this,io)}function uo(t){this.__hoverSilentOnTouch&&t.zrByTouch||!this.__isEmphasisEntered&&ao(this,oo)}function ho(){this.__isEmphasisEntered=!0,ao(this,io)}function co(){this.__isEmphasisEntered=!1,ao(this,oo)}function fo(t,e,i){t.isGroup?t.traverse(function(t){!t.isGroup&&ro(t,t.hoverStyle||e)}):ro(t,t.hoverStyle||e),po(t,i)}function po(t,e){var i=!1===e;if(t.__hoverSilentOnTouch=null!=e&&e.hoverSilentOnTouch,!i||t.__hoverStyleTrigger){var n=i?"off":"on";t[n]("mouseover",lo)[n]("mouseout",uo),t[n]("emphasis",ho)[n]("normal",co),t.__hoverStyleTrigger=!i}}function go(t,e,i,n,o,a,r){var s,l=(o=o||PM).labelFetcher,u=o.labelDataIndex,h=o.labelDimIndex,c=i.getShallow("show"),d=n.getShallow("show");(c||d)&&(l&&(s=l.getFormattedLabel(u,"normal",null,h)),null==s&&(s=x(o.defaultText)?o.defaultText(u,o):o.defaultText));var f=c?s:null,p=d?A(l?l.getFormattedLabel(u,"emphasis",null,h):null,s):null;null==f&&null==p||(mo(t,i,a,o),mo(e,n,r,o,!0)),t.text=f,e.text=p}function mo(t,e,i,n,o){return vo(t,e,n,o),i&&a(t,i),t}function vo(t,e,i,n){if((i=i||PM).isRectText){var o=e.getShallow("position")||(n?null:"inside");"outside"===o&&(o="top"),t.textPosition=o,t.textOffset=e.getShallow("offset");var a=e.getShallow("rotate");null!=a&&(a*=Math.PI/180),t.textRotation=a,t.textDistance=A(e.getShallow("distance"),n?null:5)}var r,s=e.ecModel,l=s&&s.option.textStyle,u=yo(e);if(u){r={};for(var h in u)if(u.hasOwnProperty(h)){var c=e.getModel(["rich",h]);xo(r[h]={},c,l,i,n)}}return t.rich=r,xo(t,e,l,i,n,!0),i.forceRich&&!i.textStyle&&(i.textStyle={}),t}function yo(t){for(var e;t&&t!==t.ecModel;){var i=(t.option||PM).rich;if(i){e=e||{};for(var n in i)i.hasOwnProperty(n)&&(e[n]=1)}t=t.parentModel}return e}function xo(t,e,i,n,o,a){i=!o&&i||PM,t.textFill=_o(e.getShallow("color"),n)||i.color,t.textStroke=_o(e.getShallow("textBorderColor"),n)||i.textBorderColor,t.textStrokeWidth=A(e.getShallow("textBorderWidth"),i.textBorderWidth),t.insideRawTextPosition=t.textPosition,o||(a&&(t.insideRollbackOpt=n,wo(t)),null==t.textFill&&(t.textFill=n.autoColor)),t.fontStyle=e.getShallow("fontStyle")||i.fontStyle,t.fontWeight=e.getShallow("fontWeight")||i.fontWeight,t.fontSize=e.getShallow("fontSize")||i.fontSize,t.fontFamily=e.getShallow("fontFamily")||i.fontFamily,t.textAlign=e.getShallow("align"),t.textVerticalAlign=e.getShallow("verticalAlign")||e.getShallow("baseline"),t.textLineHeight=e.getShallow("lineHeight"),t.textWidth=e.getShallow("width"),t.textHeight=e.getShallow("height"),t.textTag=e.getShallow("tag"),a&&n.disableBox||(t.textBackgroundColor=_o(e.getShallow("backgroundColor"),n),t.textPadding=e.getShallow("padding"),t.textBorderColor=_o(e.getShallow("borderColor"),n),t.textBorderWidth=e.getShallow("borderWidth"),t.textBorderRadius=e.getShallow("borderRadius"),t.textBoxShadowColor=e.getShallow("shadowColor"),t.textBoxShadowBlur=e.getShallow("shadowBlur"),t.textBoxShadowOffsetX=e.getShallow("shadowOffsetX"),t.textBoxShadowOffsetY=e.getShallow("shadowOffsetY")),t.textShadowColor=e.getShallow("textShadowColor")||i.textShadowColor,t.textShadowBlur=e.getShallow("textShadowBlur")||i.textShadowBlur,t.textShadowOffsetX=e.getShallow("textShadowOffsetX")||i.textShadowOffsetX,t.textShadowOffsetY=e.getShallow("textShadowOffsetY")||i.textShadowOffsetY}function _o(t,e){return"auto"!==t?t:e&&e.autoColor?e.autoColor:null}function wo(t){var e=t.insideRollbackOpt;if(e&&null==t.textFill){var i,n=e.useInsideStyle,o=t.insideRawTextPosition,a=e.autoColor;!1!==n&&(!0===n||e.isRectText&&o&&"string"==typeof o&&o.indexOf("inside")>=0)?(i={textFill:null,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth},t.textFill="#fff",null==t.textStroke&&(t.textStroke=a,null==t.textStrokeWidth&&(t.textStrokeWidth=2))):null!=a&&(i={textFill:null},t.textFill=a),i&&(t.insideRollback=i)}}function bo(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textStroke=e.textStroke,t.textStrokeWidth=e.textStrokeWidth,t.insideRollback=null)}function So(t,e){var i=e||e.getModel("textStyle");return P([t.fontStyle||i&&i.getShallow("fontStyle")||"",t.fontWeight||i&&i.getShallow("fontWeight")||"",(t.fontSize||i&&i.getShallow("fontSize")||12)+"px",t.fontFamily||i&&i.getShallow("fontFamily")||"sans-serif"].join(" "))}function Mo(t,e,i,n,o,a){if("function"==typeof o&&(a=o,o=null),n&&n.isAnimationEnabled()){var r=t?"Update":"",s=n.getShallow("animationDuration"+r),l=n.getShallow("animationEasing"+r),u=n.getShallow("animationDelay"+r);"function"==typeof u&&(u=u(o,n.getAnimationDelayParams?n.getAnimationDelayParams(e,o):null)),"function"==typeof s&&(s=s(o)),s>0?e.animateTo(i,s,u||0,l,a,!!a):(e.stopAnimation(),e.attr(i),a&&a())}else e.stopAnimation(),e.attr(i),a&&a()}function Io(t,e,i,n,o){Mo(!0,t,e,i,n,o)}function To(t,e,i,n,o){Mo(!1,t,e,i,n,o)}function Ao(t,e){for(var i=_t([]);t&&t!==e;)bt(i,t.getLocalTransform(),i),t=t.parent;return i}function Do(t,e,i){return e&&!c(e)&&(e=Tw.getLocalTransform(e)),i&&(e=Tt([],e)),Q([],t,e)}function Co(t,e,i){var n=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),o=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),a=["left"===t?-n:"right"===t?n:0,"top"===t?-o:"bottom"===t?o:0];return a=Do(a,e,i),Math.abs(a[0])>Math.abs(a[1])?a[0]>0?"right":"left":a[1]>0?"bottom":"top"}function Lo(t,e,i,n){function o(t){var e={position:F(t.position),rotation:t.rotation};return t.shape&&(e.shape=a({},t.shape)),e}if(t&&e){var r=function(t){var e={};return t.traverse(function(t){!t.isGroup&&t.anid&&(e[t.anid]=t)}),e}(t);e.traverse(function(t){if(!t.isGroup&&t.anid){var e=r[t.anid];if(e){var n=o(t);t.attr(o(e)),Io(t,n,i,t.dataIndex)}}})}}function ko(t,e){return f(t,function(t){var i=t[0];i=LM(i,e.x),i=kM(i,e.x+e.width);var n=t[1];return n=LM(n,e.y),n=kM(n,e.y+e.height),[i,n]})}function Po(t,e,i){var n=(e=a({rectHover:!0},e)).style={strokeNoScale:!0};if(i=i||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(n.image=t.slice(8),r(n,i),new fi(e)):Xn(t.replace("path://",""),e,i,"center")}function No(t,e,i){this.parentModel=e,this.ecModel=i,this.option=t}function Oo(t,e,i){for(var n=0;n<e.length&&(!e[n]||null!=(t=t&&"object"==typeof t?t[e[n]]:null));n++);return null==t&&i&&(t=i.get(e)),t}function Eo(t,e){var i=HM(t).getParent;return i?i.call(t,e):t.parentModel}function Ro(t){return[t||"",ZM++,Math.random().toFixed(5)].join("_")}function zo(t){return t.replace(/^\s+/,"").replace(/\s+$/,"")}function Bo(t,e,i,n){var o=e[1]-e[0],a=i[1]-i[0];if(0===o)return 0===a?i[0]:(i[0]+i[1])/2;if(n)if(o>0){if(t<=e[0])return i[0];if(t>=e[1])return i[1]}else{if(t>=e[0])return i[0];if(t<=e[1])return i[1]}else{if(t===e[0])return i[0];if(t===e[1])return i[1]}return(t-e[0])/o*a+i[0]}function Vo(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return"string"==typeof t?zo(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t}function Go(t,e,i){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),i?t:+t}function Fo(t){return t.sort(function(t,e){return t-e}),t}function Wo(t){if(t=+t,isNaN(t))return 0;for(var e=1,i=0;Math.round(t*e)/e!==t;)e*=10,i++;return i}function Ho(t){var e=t.toString(),i=e.indexOf("e");if(i>0){var n=+e.slice(i+1);return n<0?-n:0}var o=e.indexOf(".");return o<0?0:e.length-1-o}function Zo(t,e){var i=Math.log,n=Math.LN10,o=Math.floor(i(t[1]-t[0])/n),a=Math.round(i(Math.abs(e[1]-e[0]))/n),r=Math.min(Math.max(-o+a,0),20);return isFinite(r)?r:20}function Uo(t,e,i){if(!t[e])return 0;var n=p(t,function(t,e){return t+(isNaN(e)?0:e)},0);if(0===n)return 0;for(var o=Math.pow(10,i),a=f(t,function(t){return(isNaN(t)?0:t)/n*o*100}),r=100*o,s=f(a,function(t){return Math.floor(t)}),l=p(s,function(t,e){return t+e},0),u=f(a,function(t,e){return t-s[e]});l<r;){for(var h=Number.NEGATIVE_INFINITY,c=null,d=0,g=u.length;d<g;++d)u[d]>h&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/o}function Xo(t){var e=2*Math.PI;return(t%e+e)%e}function jo(t){return t>-UM&&t<UM}function Yo(t){if(t instanceof Date)return t;if("string"==typeof t){var e=jM.exec(t);if(!e)return new Date(NaN);if(e[8]){var i=+e[4]||0;return"Z"!==e[8].toUpperCase()&&(i-=e[8].slice(0,3)),new Date(Date.UTC(+e[1],+(e[2]||1)-1,+e[3]||1,i,+(e[5]||0),+e[6]||0,+e[7]||0))}return new Date(+e[1],+(e[2]||1)-1,+e[3]||1,+e[4]||0,+(e[5]||0),+e[6]||0,+e[7]||0)}return null==t?new Date(NaN):new Date(Math.round(t))}function qo(t){return Math.pow(10,Ko(t))}function Ko(t){return Math.floor(Math.log(t)/Math.LN10)}function $o(t,e){var i,n=Ko(t),o=Math.pow(10,n),a=t/o;return i=e?a<1.5?1:a<2.5?2:a<4?3:a<7?5:10:a<1?1:a<2?2:a<3?3:a<5?5:10,t=i*o,n>=-20?+t.toFixed(n<0?-n:0):t}function Jo(t){function e(t,i,n){return t.interval[n]<i.interval[n]||t.interval[n]===i.interval[n]&&(t.close[n]-i.close[n]==(n?-1:1)||!n&&e(t,i,1))}t.sort(function(t,i){return e(t,i,0)?-1:1});for(var i=-1/0,n=1,o=0;o<t.length;){for(var a=t[o].interval,r=t[o].close,s=0;s<2;s++)a[s]<=i&&(a[s]=i,r[s]=s?1:1-n),i=a[s],n=r[s];a[0]===a[1]&&r[0]*r[1]!=1?t.splice(o,1):o++}return t}function Qo(t){return t-parseFloat(t)>=0}function ta(t){return isNaN(t)?"-":(t=(t+"").split("."))[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")}function ea(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()}),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}function ia(t){return null==t?"":(t+"").replace(KM,function(t,e){return $M[e]})}function na(t,e,i){y(e)||(e=[e]);var n=e.length;if(!n)return"";for(var o=e[0].$vars||[],a=0;a<o.length;a++){var r=JM[a];t=t.replace(QM(r),QM(r,0))}for(var s=0;s<n;s++)for(var l=0;l<o.length;l++){var u=e[s][o[l]];t=t.replace(QM(JM[l],s),i?ia(u):u)}return t}function oa(t,e,i){return d(e,function(e,n){t=t.replace("{"+n+"}",i?ia(e):e)}),t}function aa(t,e){var i=(t=_(t)?{color:t,extraCssText:e}:t||{}).color,n=t.type,e=t.extraCssText,o=t.renderMode||"html",a=t.markerId||"X";return i?"html"===o?"subItem"===n?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+ia(i)+";"+(e||"")+'"></span>':'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+ia(i)+";"+(e||"")+'"></span>':{renderMode:o,content:"{marker"+a+"|}  ",style:{color:i}}:""}function ra(t,e){return t+="","0000".substr(0,e-t.length)+t}function sa(t,e,i){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var n=Yo(e),o=i?"UTC":"",a=n["get"+o+"FullYear"](),r=n["get"+o+"Month"]()+1,s=n["get"+o+"Date"](),l=n["get"+o+"Hours"](),u=n["get"+o+"Minutes"](),h=n["get"+o+"Seconds"](),c=n["get"+o+"Milliseconds"]();return t=t.replace("MM",ra(r,2)).replace("M",r).replace("yyyy",a).replace("yy",a%100).replace("dd",ra(s,2)).replace("d",s).replace("hh",ra(l,2)).replace("h",l).replace("mm",ra(u,2)).replace("m",u).replace("ss",ra(h,2)).replace("s",h).replace("SSS",ra(c,3))}function la(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}function ua(t,e,i,n,o){var a=0,r=0;null==n&&(n=1/0),null==o&&(o=1/0);var s=0;e.eachChild(function(l,u){var h,c,d=l.position,f=l.getBoundingRect(),p=e.childAt(u+1),g=p&&p.getBoundingRect();if("horizontal"===t){var m=f.width+(g?-g.x+f.x:0);(h=a+m)>n||l.newline?(a=0,h=m,r+=s+i,s=f.height):s=Math.max(s,f.height)}else{var v=f.height+(g?-g.y+f.y:0);(c=r+v)>o||l.newline?(a+=s+i,r=0,c=v,s=f.width):s=Math.max(s,f.width)}l.newline||(d[0]=a,d[1]=r,"horizontal"===t?a=h+i:r=c+i)})}function ha(t,e,i){var n=e.width,o=e.height,a=Vo(t.x,n),r=Vo(t.y,o),s=Vo(t.x2,n),l=Vo(t.y2,o);return(isNaN(a)||isNaN(parseFloat(t.x)))&&(a=0),(isNaN(s)||isNaN(parseFloat(t.x2)))&&(s=n),(isNaN(r)||isNaN(parseFloat(t.y)))&&(r=0),(isNaN(l)||isNaN(parseFloat(t.y2)))&&(l=o),i=qM(i||0),{width:Math.max(s-a-i[1]-i[3],0),height:Math.max(l-r-i[0]-i[2],0)}}function ca(t,e,i){i=qM(i||0);var n=e.width,o=e.height,a=Vo(t.left,n),r=Vo(t.top,o),s=Vo(t.right,n),l=Vo(t.bottom,o),u=Vo(t.width,n),h=Vo(t.height,o),c=i[2]+i[0],d=i[1]+i[3],f=t.aspect;switch(isNaN(u)&&(u=n-s-d-a),isNaN(h)&&(h=o-l-c-r),null!=f&&(isNaN(u)&&isNaN(h)&&(f>n/o?u=.8*n:h=.8*o),isNaN(u)&&(u=f*h),isNaN(h)&&(h=u/f)),isNaN(a)&&(a=n-s-u-d),isNaN(r)&&(r=o-l-h-c),t.left||t.right){case"center":a=n/2-u/2-i[3];break;case"right":a=n-u-d}switch(t.top||t.bottom){case"middle":case"center":r=o/2-h/2-i[0];break;case"bottom":r=o-h-c}a=a||0,r=r||0,isNaN(u)&&(u=n-d-a-(s||0)),isNaN(h)&&(h=o-c-r-(l||0));var p=new de(a+i[3],r+i[0],u,h);return p.margin=i,p}function da(t,e,i,n,o){var a=!o||!o.hv||o.hv[0],s=!o||!o.hv||o.hv[1],l=o&&o.boundingMode||"all";if(a||s){var u;if("raw"===l)u="group"===t.type?new de(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(u=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(u=u.clone()).applyTransform(h)}e=ca(r({width:u.width,height:u.height},e),i,n);var c=t.position,d=a?e.x-u.x:0,f=s?e.y-u.y:0;t.attr("position","raw"===l?[d,f]:[c[0]+d,c[1]+f])}}function fa(t,e){return null!=t[oI[e][0]]||null!=t[oI[e][1]]&&null!=t[oI[e][2]]}function pa(t,e,i){function n(i,n){var r={},l=0,u={},h=0;if(iI(i,function(e){u[e]=t[e]}),iI(i,function(t){o(e,t)&&(r[t]=u[t]=e[t]),a(r,t)&&l++,a(u,t)&&h++}),s[n])return a(e,i[1])?u[i[2]]=null:a(e,i[2])&&(u[i[1]]=null),u;if(2!==h&&l){if(l>=2)return r;for(var c=0;c<i.length;c++){var d=i[c];if(!o(r,d)&&o(t,d)){r[d]=t[d];break}}return r}return u}function o(t,e){return t.hasOwnProperty(e)}function a(t,e){return null!=t[e]&&"auto"!==t[e]}function r(t,e,i){iI(t,function(t){e[t]=i[t]})}!w(i)&&(i={});var s=i.ignoreSize;!y(s)&&(s=[s,s]);var l=n(oI[0],0),u=n(oI[1],1);r(oI[0],t,l),r(oI[1],t,u)}function ga(t){return ma({},t)}function ma(t,e){return e&&t&&iI(nI,function(i){e.hasOwnProperty(i)&&(t[i]=e[i])}),t}function va(t,e){for(var i=t.length,n=0;n<i;n++)if(t[n].length>e)return t[n];return t[i-1]}function ya(t){var e=t.get("coordinateSystem"),i={coordSysName:e,coordSysDims:[],axisMap:R(),categoryAxisMap:R()},n=fI[e];if(n)return n(t,i,i.axisMap,i.categoryAxisMap),i}function xa(t){return"category"===t.get("type")}function _a(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===vI?{}:[]),this.sourceFormat=t.sourceFormat||yI,this.seriesLayoutBy=t.seriesLayoutBy||_I,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&R(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}function wa(t){var e=t.option.source,i=yI;if(S(e))i=xI;else if(y(e)){0===e.length&&(i=gI);for(var n=0,o=e.length;n<o;n++){var a=e[n];if(null!=a){if(y(a)){i=gI;break}if(w(a)){i=mI;break}}}}else if(w(e)){for(var r in e)if(e.hasOwnProperty(r)&&c(e[r])){i=vI;break}}else if(null!=e)throw new Error("Invalid data");bI(t).sourceFormat=i}function ba(t){return bI(t).source}function Sa(t){bI(t).datasetMap=R()}function Ma(t){var e=t.option,i=e.data,n=S(i)?xI:pI,o=!1,a=e.seriesLayoutBy,r=e.sourceHeader,s=e.dimensions,l=La(t);if(l){var u=l.option;i=u.source,n=bI(l).sourceFormat,o=!0,a=a||u.seriesLayoutBy,null==r&&(r=u.sourceHeader),s=s||u.dimensions}var h=Ia(i,n,a,r,s),c=e.encode;!c&&l&&(c=Ca(t,l,i,n,a,h)),bI(t).source=new _a({data:i,fromDataset:o,seriesLayoutBy:a,sourceFormat:n,dimensionsDefine:h.dimensionsDefine,startIndex:h.startIndex,dimensionsDetectCount:h.dimensionsDetectCount,encodeDefine:c})}function Ia(t,e,i,n,o){if(!t)return{dimensionsDefine:Ta(o)};var a,r,s;if(e===gI)"auto"===n||null==n?Aa(function(t){null!=t&&"-"!==t&&(_(t)?null==r&&(r=1):r=0)},i,t,10):r=n?1:0,o||1!==r||(o=[],Aa(function(t,e){o[e]=null!=t?t:""},i,t)),a=o?o.length:i===wI?t.length:t[0]?t[0].length:null;else if(e===mI)o||(o=Da(t),s=!0);else if(e===vI)o||(o=[],s=!0,d(t,function(t,e){o.push(e)}));else if(e===pI){var l=Li(t[0]);a=y(l)&&l.length||1}var u;return s&&d(o,function(t,e){"name"===(w(t)?t.name:t)&&(u=e)}),{startIndex:r,dimensionsDefine:Ta(o),dimensionsDetectCount:a,potentialNameDimIndex:u}}function Ta(t){if(t){var e=R();return f(t,function(t,i){if(null==(t=a({},w(t)?t:{name:t})).name)return t;t.name+="",null==t.displayName&&(t.displayName=t.name);var n=e.get(t.name);return n?t.name+="-"+n.count++:e.set(t.name,{count:1}),t})}}function Aa(t,e,i,n){if(null==n&&(n=1/0),e===wI)for(a=0;a<i.length&&a<n;a++)t(i[a]?i[a][0]:null,a);else for(var o=i[0]||[],a=0;a<o.length&&a<n;a++)t(o[a],a)}function Da(t){for(var e,i=0;i<t.length&&!(e=t[i++]););if(e){var n=[];return d(e,function(t,e){n.push(e)}),n}}function Ca(t,e,i,n,o,a){var r=ya(t),s={},l=[],u=[],h=t.subType,c=R(["pie","map","funnel"]),f=R(["line","bar","pictorialBar","scatter","effectScatter","candlestick","boxplot"]);if(r&&null!=f.get(h)){var p=t.ecModel,g=bI(p).datasetMap,m=e.uid+"_"+o,v=g.get(m)||g.set(m,{categoryWayDim:1,valueWayDim:0});d(r.coordSysDims,function(t){if(null==r.firstCategoryDimIndex){e=v.valueWayDim++;s[t]=e,u.push(e)}else if(r.categoryAxisMap.get(t))s[t]=0,l.push(0);else{var e=v.categoryWayDim++;s[t]=e,u.push(e)}})}else if(null!=c.get(h)){for(var y,x=0;x<5&&null==y;x++)Pa(i,n,o,a.dimensionsDefine,a.startIndex,x)||(y=x);if(null!=y){s.value=y;var _=a.potentialNameDimIndex||Math.max(y-1,0);u.push(_),l.push(_)}}return l.length&&(s.itemName=l),u.length&&(s.seriesName=u),s}function La(t){var e=t.option;if(!e.data)return t.ecModel.getComponent("dataset",e.datasetIndex||0)}function ka(t,e){return Pa(t.data,t.sourceFormat,t.seriesLayoutBy,t.dimensionsDefine,t.startIndex,e)}function Pa(t,e,i,n,o,a){function r(t){return(null==t||!isFinite(t)||""===t)&&(!(!_(t)||"-"===t)||void 0)}var s;if(S(t))return!1;var l;if(n&&(l=w(l=n[a])?l.name:l),e===gI)if(i===wI){for(var u=t[a],h=0;h<(u||[]).length&&h<5;h++)if(null!=(s=r(u[o+h])))return s}else for(h=0;h<t.length&&h<5;h++){var c=t[o+h];if(c&&null!=(s=r(c[a])))return s}else if(e===mI){if(!l)return;for(h=0;h<t.length&&h<5;h++)if((d=t[h])&&null!=(s=r(d[l])))return s}else if(e===vI){if(!l)return;if(!(u=t[l])||S(u))return!1;for(h=0;h<u.length&&h<5;h++)if(null!=(s=r(u[h])))return s}else if(e===pI)for(h=0;h<t.length&&h<5;h++){var d=t[h],f=Li(d);if(!y(f))return!1;if(null!=(s=r(f[a])))return s}return!1}function Na(t,e){if(e){var i=e.seiresIndex,n=e.seriesId,o=e.seriesName;return null!=i&&t.componentIndex!==i||null!=n&&t.id!==n||null!=o&&t.name!==o}}function Oa(t,e){var o=t.color&&!t.colorLayer;d(e,function(e,a){"colorLayer"===a&&o||lI.hasClass(a)||("object"==typeof e?t[a]=t[a]?n(t[a],e,!1):i(e):null==t[a]&&(t[a]=e))})}function Ea(t){t=t,this.option={},this.option[SI]=1,this._componentsMap=R({series:[]}),this._seriesIndices,this._seriesIndicesMap,Oa(t,this._theme.option),n(t,hI,!1),this.mergeOption(t)}function Ra(t,e){y(e)||(e=e?[e]:[]);var i={};return d(e,function(e){i[e]=(t.get(e)||[]).slice()}),i}function za(t,e,i){return e.type?e.type:i?i.subType:lI.determineSubType(t,e)}function Ba(t,e){t._seriesIndicesMap=R(t._seriesIndices=f(e,function(t){return t.componentIndex})||[])}function Va(t,e){return e.hasOwnProperty("subType")?g(t,function(t){return t.subType===e.subType}):t}function Ga(t){d(II,function(e){this[e]=m(t[e],t)},this)}function Fa(){this._coordinateSystems=[]}function Wa(t){this._api=t,this._timelineOptions=[],this._mediaList=[],this._mediaDefault,this._currentMediaIndices=[],this._optionBackup,this._newBaseOption}function Ha(t,e,i){var n,o,a=[],r=[],s=t.timeline;if(t.baseOption&&(o=t.baseOption),(s||t.options)&&(o=o||{},a=(t.options||[]).slice()),t.media){o=o||{};var l=t.media;AI(l,function(t){t&&t.option&&(t.query?r.push(t):n||(n=t))})}return o||(o=t),o.timeline||(o.timeline=s),AI([o].concat(a).concat(f(r,function(t){return t.option})),function(t){AI(e,function(e){e(t,i)})}),{baseOption:o,timelineOptions:a,mediaDefault:n,mediaList:r}}function Za(t,e,i){var n={width:e,height:i,aspectratio:e/i},o=!0;return d(t,function(t,e){var i=e.match(kI);if(i&&i[1]&&i[2]){var a=i[1],r=i[2].toLowerCase();Ua(n[r],t,a)||(o=!1)}}),o}function Ua(t,e,i){return"min"===i?t>=e:"max"===i?t<=e:t===e}function Xa(t,e){return t.join(",")===e.join(",")}function ja(t,e){AI(e=e||{},function(e,i){if(null!=e){var n=t[i];if(lI.hasClass(i)){e=Di(e);var o=Pi(n=Di(n),e);t[i]=CI(o,function(t){return t.option&&t.exist?LI(t.exist,t.option,!0):t.exist||t.option})}else t[i]=LI(n,e,!0)}})}function Ya(t){var e=t&&t.itemStyle;if(e)for(var i=0,o=OI.length;i<o;i++){var a=OI[i],r=e.normal,s=e.emphasis;r&&r[a]&&(t[a]=t[a]||{},t[a].normal?n(t[a].normal,r[a]):t[a].normal=r[a],r[a]=null),s&&s[a]&&(t[a]=t[a]||{},t[a].emphasis?n(t[a].emphasis,s[a]):t[a].emphasis=s[a],s[a]=null)}}function qa(t,e,i){if(t&&t[e]&&(t[e].normal||t[e].emphasis)){var n=t[e].normal,o=t[e].emphasis;n&&(i?(t[e].normal=t[e].emphasis=null,r(t[e],n)):t[e]=n),o&&(t.emphasis=t.emphasis||{},t.emphasis[e]=o)}}function Ka(t){qa(t,"itemStyle"),qa(t,"lineStyle"),qa(t,"areaStyle"),qa(t,"label"),qa(t,"labelLine"),qa(t,"upperLabel"),qa(t,"edgeLabel")}function $a(t,e){var i=NI(t)&&t[e],n=NI(i)&&i.textStyle;if(n)for(var o=0,a=Yb.length;o<a;o++){var e=Yb[o];n.hasOwnProperty(e)&&(i[e]=n[e])}}function Ja(t){t&&(Ka(t),$a(t,"label"),t.emphasis&&$a(t.emphasis,"label"))}function Qa(t){if(NI(t)){Ya(t),Ka(t),$a(t,"label"),$a(t,"upperLabel"),$a(t,"edgeLabel"),t.emphasis&&($a(t.emphasis,"label"),$a(t.emphasis,"upperLabel"),$a(t.emphasis,"edgeLabel"));var e=t.markPoint;e&&(Ya(e),Ja(e));var i=t.markLine;i&&(Ya(i),Ja(i));var n=t.markArea;n&&Ja(n);var o=t.data;if("graph"===t.type){o=o||t.nodes;var a=t.links||t.edges;if(a&&!S(a))for(s=0;s<a.length;s++)Ja(a[s]);d(t.categories,function(t){Ka(t)})}if(o&&!S(o))for(s=0;s<o.length;s++)Ja(o[s]);if((e=t.markPoint)&&e.data)for(var r=e.data,s=0;s<r.length;s++)Ja(r[s]);if((i=t.markLine)&&i.data)for(var l=i.data,s=0;s<l.length;s++)y(l[s])?(Ja(l[s][0]),Ja(l[s][1])):Ja(l[s]);"gauge"===t.type?($a(t,"axisLabel"),$a(t,"title"),$a(t,"detail")):"treemap"===t.type?(qa(t.breadcrumb,"itemStyle"),d(t.levels,function(t){Ka(t)})):"tree"===t.type&&Ka(t.leaves)}}function tr(t){return y(t)?t:t?[t]:[]}function er(t){return(y(t)?t[0]:t)||{}}function ir(t,e){e=e.split(",");for(var i=t,n=0;n<e.length&&null!=(i=i&&i[e[n]]);n++);return i}function nr(t,e,i,n){e=e.split(",");for(var o,a=t,r=0;r<e.length-1;r++)null==a[o=e[r]]&&(a[o]={}),a=a[o];(n||null==a[e[r]])&&(a[e[r]]=i)}function or(t){d(RI,function(e){e[0]in t&&!(e[1]in t)&&(t[e[1]]=t[e[0]])})}function ar(t){d(t,function(e,i){var n=[],o=[NaN,NaN],a=[e.stackResultDimension,e.stackedOverDimension],r=e.data,s=e.isStackedByIndex,l=r.map(a,function(a,l,u){var h=r.get(e.stackedDimension,u);if(isNaN(h))return o;var c,d;s?d=r.getRawIndex(u):c=r.get(e.stackedByDimension,u);for(var f=NaN,p=i-1;p>=0;p--){var g=t[p];if(s||(d=g.data.rawIndexOf(g.stackedByDimension,c)),d>=0){var m=g.data.getByRawIndex(g.stackResultDimension,d);if(h>=0&&m>0||h<=0&&m<0){h+=m,f=m;break}}}return n[0]=h,n[1]=f,n});r.hostModel.setData(l),e.data=l})}function rr(t,e){_a.isInstance(t)||(t=_a.seriesDataToSource(t)),this._source=t;var i=this._data=t.data,n=t.sourceFormat;n===xI&&(this._offset=0,this._dimSize=e,this._data=i),a(this,GI[n===gI?n+"_"+t.seriesLayoutBy:n])}function sr(){return this._data.length}function lr(t){return this._data[t]}function ur(t){for(var e=0;e<t.length;e++)this._data.push(t[e])}function hr(t,e,i,n){return null!=i?t[i]:t}function cr(t,e,i,n){return dr(t[n],this._dimensionInfos[e])}function dr(t,e){var i=e&&e.type;if("ordinal"===i){var n=e&&e.ordinalMeta;return n?n.parseAndCollect(t):t}return"time"===i&&"number"!=typeof t&&null!=t&&"-"!==t&&(t=+Yo(t)),null==t||""===t?NaN:+t}function fr(t,e,i){if(t){var n=t.getRawDataItem(e);if(null!=n){var o,a,r=t.getProvider().getSource().sourceFormat,s=t.getDimensionInfo(i);return s&&(o=s.name,a=s.index),FI[r](n,e,a,o)}}}function pr(t,e,i){if(t){var n=t.getProvider().getSource().sourceFormat;if(n===pI||n===mI){var o=t.getRawDataItem(e);return n!==pI||w(o)||(o=null),o?o[i]:void 0}}}function gr(t){return new mr(t)}function mr(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0,this.context}function vr(t,e,i,n,o,a){XI.reset(i,n,o,a),t._callingProgress=e,t._callingProgress({start:i,end:n,count:n-i,next:XI.next},t.context)}function yr(t,e){t._dueIndex=t._outputDueEnd=t._dueEnd=0,t._settedOutputEnd=null;var i,n;!e&&t._reset&&((i=t._reset(t.context))&&i.progress&&(n=i.forceFirstProgress,i=i.progress),y(i)&&!i.length&&(i=null)),t._progress=i,t._modBy=t._modDataCount=null;var o=t._downstream;return o&&o.dirty(),n}function xr(t){var e=t.name;Oi(t)||(t.name=_r(t)||e)}function _r(t){var e=t.getRawData(),i=[];return d(e.mapDimension("seriesName",!0),function(t){var n=e.getDimensionInfo(t);n.displayName&&i.push(n.displayName)}),i.join(" ")}function wr(t){return t.model.getRawData().count()}function br(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),Sr}function Sr(t,e){t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function Mr(t,e){d(t.CHANGABLE_METHODS,function(i){t.wrapMethod(i,v(Ir,e))})}function Ir(t){var e=Tr(t);e&&e.setOutputEnd(this.count())}function Tr(t){var e=(t.ecModel||{}).scheduler,i=e&&e.getPipeline(t.uid);if(i){var n=i.currentTask;if(n){var o=n.agentStubMap;o&&(n=o.get(t.uid))}return n}}function Ar(){this.group=new tb,this.uid=Ro("viewChart"),this.renderTask=gr({plan:Lr,reset:kr}),this.renderTask.context={view:this}}function Dr(t,e){if(t&&(t.trigger(e),"group"===t.type))for(var i=0;i<t.childCount();i++)Dr(t.childAt(i),e)}function Cr(t,e,i){var n=zi(t,e);null!=n?d(Di(n),function(e){Dr(t.getItemGraphicEl(e),i)}):t.eachItemGraphicEl(function(t){Dr(t,i)})}function Lr(t){return QI(t.model)}function kr(t){var e=t.model,i=t.ecModel,n=t.api,o=t.payload,a=e.pipelineContext.progressiveRender,r=t.view,s=o&&JI(o).updateMethod,l=a?"incrementalPrepareRender":s&&r[s]?s:"render";return"render"!==l&&r[l](e,i,n,o),eT[l]}function Pr(t,e,i){function n(){h=(new Date).getTime(),c=null,t.apply(r,s||[])}var o,a,r,s,l,u=0,h=0,c=null;e=e||0;var d=function(){o=(new Date).getTime(),r=this,s=arguments;var t=l||e,d=l||i;l=null,a=o-(d?u:h)-t,clearTimeout(c),d?c=setTimeout(n,t):a>=0?n():c=setTimeout(n,-a),u=o};return d.clear=function(){c&&(clearTimeout(c),c=null)},d.debounceNextCall=function(t){l=t},d}function Nr(t,e,i,n){var o=t[e];if(o){var a=o[iT]||o,r=o[oT];if(o[nT]!==i||r!==n){if(null==i||!n)return t[e]=a;(o=t[e]=Pr(a,i,"debounce"===n))[iT]=a,o[oT]=n,o[nT]=i}return o}}function Or(t,e){var i=t[e];i&&i[iT]&&(t[e]=i[iT])}function Er(t,e,i,n){this.ecInstance=t,this.api=e,this.unfinished;var i=this._dataProcessorHandlers=i.slice(),n=this._visualHandlers=n.slice();this._allHandlers=i.concat(n),this._stageTaskMap=R()}function Rr(t,e,i,n,o){function a(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}o=o||{};var r;d(e,function(e,s){if(!o.visualType||o.visualType===e.visualType){var l=t._stageTaskMap.get(e.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,d=h.agentStubMap;d.each(function(t){a(o,t)&&(t.dirty(),c=!0)}),c&&h.dirty(),hT(h,n);var f=t.getPerformArgs(h,o.block);d.each(function(t){t.perform(f)}),r|=h.perform(f)}else u&&u.each(function(s,l){a(o,s)&&s.dirty();var u=t.getPerformArgs(s,o.block);u.skip=!e.performRawSeries&&i.isSeriesFiltered(s.context.model),hT(s,n),r|=s.perform(u)})}}),t.unfinished|=r}function zr(t,e,i,n,o){function a(i){var a=i.uid,s=r.get(a)||r.set(a,gr({plan:Hr,reset:Zr,count:Xr}));s.context={model:i,ecModel:n,api:o,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:t},jr(t,i,s)}var r=i.seriesTaskMap||(i.seriesTaskMap=R()),s=e.seriesType,l=e.getTargetSeries;e.createOnAllSeries?n.eachRawSeries(a):s?n.eachRawSeriesByType(s,a):l&&l(n,o).each(a);var u=t._pipelineMap;r.each(function(t,e){u.get(e)||(t.dispose(),r.removeKey(e))})}function Br(t,e,i,n,o){function a(e){var i=e.uid,n=s.get(i);n||(n=s.set(i,gr({reset:Gr,onDirty:Wr})),r.dirty()),n.context={model:e,overallProgress:h,modifyOutputEnd:c},n.agent=r,n.__block=h,jr(t,e,n)}var r=i.overallTask=i.overallTask||gr({reset:Vr});r.context={ecModel:n,api:o,overallReset:e.overallReset,scheduler:t};var s=r.agentStubMap=r.agentStubMap||R(),l=e.seriesType,u=e.getTargetSeries,h=!0,c=e.modifyOutputEnd;l?n.eachRawSeriesByType(l,a):u?u(n,o).each(a):(h=!1,d(n.getSeries(),a));var f=t._pipelineMap;s.each(function(t,e){f.get(e)||(t.dispose(),r.dirty(),s.removeKey(e))})}function Vr(t){t.overallReset(t.ecModel,t.api,t.payload)}function Gr(t,e){return t.overallProgress&&Fr}function Fr(){this.agent.dirty(),this.getDownstream().dirty()}function Wr(){this.agent&&this.agent.dirty()}function Hr(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function Zr(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=Di(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?f(e,function(t,e){return Ur(e)}):cT}function Ur(t){return function(e,i){var n=i.data,o=i.resetDefines[t];if(o&&o.dataEach)for(var a=e.start;a<e.end;a++)o.dataEach(n,a);else o&&o.progress&&o.progress(e,n)}}function Xr(t){return t.data.count()}function jr(t,e,i){var n=e.uid,o=t._pipelineMap.get(n);!o.head&&(o.head=i),o.tail&&o.tail.pipe(i),o.tail=i,i.__idxInPipeline=o.count++,i.__pipeline=o}function Yr(t){dT=null;try{t(fT,pT)}catch(t){}return dT}function qr(t,e){for(var i in e.prototype)t[i]=B}function Kr(t){for(_(t)&&(t=(new DOMParser).parseFromString(t,"text/xml")),9===t.nodeType&&(t=t.firstChild);"svg"!==t.nodeName.toLowerCase()||1!==t.nodeType;)t=t.nextSibling;return t}function $r(){this._defs={},this._root=null,this._isDefine=!1,this._isText=!1}function Jr(t,e){for(var i=t.firstChild;i;){if(1===i.nodeType){var n=i.getAttribute("offset");n=n.indexOf("%")>0?parseInt(n,10)/100:n?parseFloat(n):0;var o=i.getAttribute("stop-color")||"#000000";e.addColorStop(n,o)}i=i.nextSibling}}function Qr(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),r(e.__inheritedStyle,t.__inheritedStyle))}function ts(t){for(var e=P(t).split(_T),i=[],n=0;n<e.length;n+=2){var o=parseFloat(e[n]),a=parseFloat(e[n+1]);i.push([o,a])}return i}function es(t,e,i,n){var o=e.__inheritedStyle||{},r="text"===e.type;if(1===t.nodeType&&(ns(t,e),a(o,os(t)),!n))for(var s in ST)if(ST.hasOwnProperty(s)){var l=t.getAttribute(s);null!=l&&(o[ST[s]]=l)}var u=r?"textFill":"fill",h=r?"textStroke":"stroke";e.style=e.style||new ub;var c=e.style;null!=o.fill&&c.set(u,is(o.fill,i)),null!=o.stroke&&c.set(h,is(o.stroke,i)),d(["lineWidth","opacity","fillOpacity","strokeOpacity","miterLimit","fontSize"],function(t){var e="lineWidth"===t&&r?"textStrokeWidth":t;null!=o[t]&&c.set(e,parseFloat(o[t]))}),o.textBaseline&&"auto"!==o.textBaseline||(o.textBaseline="alphabetic"),"alphabetic"===o.textBaseline&&(o.textBaseline="bottom"),"start"===o.textAlign&&(o.textAlign="left"),"end"===o.textAlign&&(o.textAlign="right"),d(["lineDashOffset","lineCap","lineJoin","fontWeight","fontFamily","fontStyle","textAlign","textBaseline"],function(t){null!=o[t]&&c.set(t,o[t])}),o.lineDash&&(e.style.lineDash=P(o.lineDash).split(_T)),c[h]&&"none"!==c[h]&&(e[h]=!0),e.__inheritedStyle=o}function is(t,e){var i=e&&t&&t.match(MT);return i?e[P(i[1])]:t}function ns(t,e){var i=t.getAttribute("transform");if(i){var n=null,o=[];(i=i.replace(/,/g," ")).replace(IT,function(t,e,i){o.push(e,i)});for(var a=o.length-1;a>0;a-=2){var r=o[a],s=o[a-1];switch(n=n||xt(),s){case"translate":r=P(r).split(_T),St(n,n,[parseFloat(r[0]),parseFloat(r[1]||0)]);break;case"scale":r=P(r).split(_T),It(n,n,[parseFloat(r[0]),parseFloat(r[1]||r[0])]);break;case"rotate":r=P(r).split(_T),Mt(n,n,parseFloat(r[0]));break;case"skew":r=P(r).split(_T),console.warn("Skew transform is not supported yet");break;case"matrix":r=P(r).split(_T);n[0]=parseFloat(r[0]),n[1]=parseFloat(r[1]),n[2]=parseFloat(r[2]),n[3]=parseFloat(r[3]),n[4]=parseFloat(r[4]),n[5]=parseFloat(r[5])}}e.setLocalTransform(n)}}function os(t){var e=t.getAttribute("style"),i={};if(!e)return i;var n={};TT.lastIndex=0;for(var o;null!=(o=TT.exec(e));)n[o[1]]=o[2];for(var a in ST)ST.hasOwnProperty(a)&&null!=n[a]&&(i[ST[a]]=n[a]);return i}function as(t,e,i){var n=e/t.width,o=i/t.height,a=Math.min(n,o);return{scale:[a,a],position:[-(t.x+t.width/2)*a+e/2,-(t.y+t.height/2)*a+i/2]}}function rs(t,e){return(new $r).parse(t,e)}function ss(t){return function(e,i,n){e=e&&e.toLowerCase(),fw.prototype[t].call(this,e,i,n)}}function ls(){fw.call(this)}function us(t,e,n){function o(t,e){return t.__prio-e.__prio}n=n||{},"string"==typeof e&&(e=JT[e]),this.id,this.group,this._dom=t;var a=this._zr=Ii(t,{renderer:n.renderer||"canvas",devicePixelRatio:n.devicePixelRatio,width:n.width,height:n.height});this._throttledZrFlush=Pr(m(a.flush,a),17),(e=i(e))&&BI(e,!0),this._theme=e,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new Fa;var r=this._api=As(this);_e($T,o),_e(YT,o),this._scheduler=new Er(this,r,YT,$T),fw.call(this,this._ecEventProcessor=new Ds),this._messageCenter=new ls,this._initEvents(),this.resize=m(this.resize,this),this._pendingActions=[],a.animation.on("frame",this._onframe,this),vs(a,this),N(this)}function hs(t,e,i){var n,o=this._model,a=this._coordSysMgr.getCoordinateSystems();e=Vi(o,e);for(var r=0;r<a.length;r++){var s=a[r];if(s[t]&&null!=(n=s[t](o,e,i)))return n}}function cs(t){var e=t._model,i=t._scheduler;i.restorePipelines(e),i.prepareStageTasks(),ys(t,"component",e,i),ys(t,"chart",e,i),i.plan()}function ds(t,e,i,n,o){function a(n){n&&n.__alive&&n[e]&&n[e](n.__model,r,t._api,i)}var r=t._model;if(n){var s={};s[n+"Id"]=i[n+"Id"],s[n+"Index"]=i[n+"Index"],s[n+"Name"]=i[n+"Name"];var l={mainType:n,query:s};o&&(l.subType=o);var u=i.excludeSeriesId;null!=u&&(u=R(Di(u))),r&&r.eachComponent(l,function(e){u&&null!=u.get(e.id)||a(t["series"===n?"_chartsMap":"_componentsMap"][e.__viewId])},t)}else kT(t._componentsViews.concat(t._chartsViews),a)}function fs(t,e){var i=t._chartsMap,n=t._scheduler;e.eachSeries(function(t){n.updateStreamModes(t,i[t.__viewId])})}function ps(t,e){var i=t.type,n=t.escapeConnect,o=XT[i],s=o.actionInfo,l=(s.update||"update").split(":"),u=l.pop();l=null!=l[0]&&OT(l[0]),this[GT]=!0;var h=[t],c=!1;t.batch&&(c=!0,h=f(t.batch,function(e){return e=r(a({},e),t),e.batch=null,e}));var d,p=[],g="highlight"===i||"downplay"===i;kT(h,function(t){d=o.action(t,this._model,this._api),(d=d||a({},t)).type=s.event||d.type,p.push(d),g?ds(this,u,t,"series"):l&&ds(this,u,t,l.main,l.sub)},this),"none"===u||g||l||(this[FT]?(cs(this),ZT.update.call(this,t),this[FT]=!1):ZT[u].call(this,t)),d=c?{type:s.event||i,escapeConnect:n,batch:p}:p[0],this[GT]=!1,!e&&this._messageCenter.trigger(d.type,d)}function gs(t){for(var e=this._pendingActions;e.length;){var i=e.shift();ps.call(this,i,t)}}function ms(t){!t&&this.trigger("updated")}function vs(t,e){t.on("rendered",function(){e.trigger("rendered"),!t.animation.isFinished()||e[FT]||e._scheduler.unfinished||e._pendingActions.length||e.trigger("finished")})}function ys(t,e,i,n){function o(t){var e="_ec_"+t.id+"_"+t.type,o=s[e];if(!o){var h=OT(t.type);(o=new(a?qI.getClass(h.main,h.sub):Ar.getClass(h.sub))).init(i,u),s[e]=o,r.push(o),l.add(o.group)}t.__viewId=o.__id=e,o.__alive=!0,o.__model=t,o.group.__ecComponentInfo={mainType:t.mainType,index:t.componentIndex},!a&&n.prepareView(o,t,i,u)}for(var a="component"===e,r=a?t._componentsViews:t._chartsViews,s=a?t._componentsMap:t._chartsMap,l=t._zr,u=t._api,h=0;h<r.length;h++)r[h].__alive=!1;a?i.eachComponent(function(t,e){"series"!==t&&o(e)}):i.eachSeries(o);for(h=0;h<r.length;){var c=r[h];c.__alive?h++:(!a&&c.renderTask.dispose(),l.remove(c.group),c.dispose(i,u),r.splice(h,1),delete s[c.__id],c.__id=c.group.__ecComponentInfo=null)}}function xs(t){t.clearColorPalette(),t.eachSeries(function(t){t.clearColorPalette()})}function _s(t,e,i,n){ws(t,e,i,n),kT(t._chartsViews,function(t){t.__alive=!1}),bs(t,e,i,n),kT(t._chartsViews,function(t){t.__alive||t.remove(e,i)})}function ws(t,e,i,n,o){kT(o||t._componentsViews,function(t){var o=t.__model;t.render(o,e,i,n),Ts(o,t)})}function bs(t,e,i,n,o){var a,r=t._scheduler;e.eachSeries(function(e){var i=t._chartsMap[e.__viewId];i.__alive=!0;var s=i.renderTask;r.updatePayload(s,n),o&&o.get(e.uid)&&s.dirty(),a|=s.perform(r.getPerformArgs(s)),i.group.silent=!!e.get("silent"),Ts(e,i),Is(e,i)}),r.unfinished|=a,Ms(t._zr,e),sT(t._zr.dom,e)}function Ss(t,e){kT(KT,function(i){i(t,e)})}function Ms(t,e){var i=t.storage,n=0;i.traverse(function(t){t.isGroup||n++}),n>e.get("hoverLayerThreshold")&&!U_.node&&i.traverse(function(t){t.isGroup||(t.useHoverLayer=!0)})}function Is(t,e){var i=t.get("blendMode")||null;e.group.traverse(function(t){t.isGroup||t.style.blend!==i&&t.setStyle("blend",i),t.eachPendingDisplayable&&t.eachPendingDisplayable(function(t){t.setStyle("blend",i)})})}function Ts(t,e){var i=t.get("z"),n=t.get("zlevel");e.group.traverse(function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=n&&(t.zlevel=n))})}function As(t){var e=t._coordSysMgr;return a(new Ga(t),{getCoordinateSystems:m(e.getCoordinateSystems,e),getComponentByElement:function(e){for(;e;){var i=e.__ecComponentInfo;if(null!=i)return t._model.getComponent(i.mainType,i.index);e=e.parent}}})}function Ds(){this.eventInfo}function Cs(t){function e(t,e){for(var n=0;n<t.length;n++)t[n][i]=e}var i="__connectUpdateStatus";kT(jT,function(n,o){t._messageCenter.on(o,function(n){if(eA[t.group]&&0!==t[i]){if(n&&n.escapeConnect)return;var o=t.makeActionFromEvent(n),a=[];kT(tA,function(e){e!==t&&e.group===t.group&&a.push(e)}),e(a,0),kT(a,function(t){1!==t[i]&&t.dispatchAction(o)}),e(a,2)}})})}function Ls(t){eA[t]=!1}function ks(t){return tA[Wi(t,oA)]}function Ps(t,e){JT[t]=e}function Ns(t){qT.push(t)}function Os(t,e){Vs(YT,t,e,RT)}function Es(t,e,i){"function"==typeof e&&(i=e,e="");var n=NT(t)?t.type:[t,t={event:e}][0];t.event=(t.event||n).toLowerCase(),e=t.event,LT(WT.test(n)&&WT.test(e)),XT[n]||(XT[n]={action:i,actionInfo:t}),jT[e]=n}function Rs(t,e){Fa.register(t,e)}function zs(t,e){Vs($T,t,e,zT,"layout")}function Bs(t,e){Vs($T,t,e,BT,"visual")}function Vs(t,e,i,n,o){(PT(e)||NT(e))&&(i=e,e=n);var a=Er.wrapStageHandler(i,o);return a.__prio=e,a.__raw=i,t.push(a),a}function Gs(t,e){QT[t]=e}function Fs(t){return lI.extend(t)}function Ws(t){return qI.extend(t)}function Hs(t){return YI.extend(t)}function Zs(t){return Ar.extend(t)}function Us(t){return t}function Xs(t,e,i,n,o){this._old=t,this._new=e,this._oldKeyGetter=i||Us,this._newKeyGetter=n||Us,this.context=o}function js(t,e,i,n,o){for(var a=0;a<t.length;a++){var r="_ec_"+o[n](t[a],a),s=e[r];null==s?(i.push(r),e[r]=a):(s.length||(e[r]=s=[s]),s.push(a))}}function Ys(t){var e={},i=e.encode={},n=R(),o=[],a=[];d(t.dimensions,function(e){var r=t.getDimensionInfo(e),s=r.coordDim;if(s){var l=i[s];i.hasOwnProperty(s)||(l=i[s]=[]),l[r.coordDimIndex]=e,r.isExtraCoord||(n.set(s,1),Ks(r.type)&&(o[0]=e)),r.defaultTooltip&&a.push(e)}sA.each(function(t,e){var n=i[e];i.hasOwnProperty(e)||(n=i[e]=[]);var o=r.otherDims[e];null!=o&&!1!==o&&(n[o]=r.name)})});var r=[],s={};n.each(function(t,e){var n=i[e];s[e]=n[0],r=r.concat(n)}),e.dataDimsOnCoord=r,e.encodeFirstDimNotExtra=s;var l=i.label;l&&l.length&&(o=l.slice());var u=i.tooltip;return u&&u.length?a=u.slice():a.length||(a=o.slice()),i.defaultedLabel=o,i.defaultedTooltip=a,e}function qs(t){return"category"===t?"ordinal":"time"===t?"time":"float"}function Ks(t){return!("ordinal"===t||"time"===t)}function $s(t){return t._rawCount>65535?dA:pA}function Js(t){var e=t.constructor;return e===Array?t.slice():new e(t)}function Qs(t,e){d(gA.concat(e.__wrappedMethods||[]),function(i){e.hasOwnProperty(i)&&(t[i]=e[i])}),t.__wrappedMethods=e.__wrappedMethods,d(mA,function(n){t[n]=i(e[n])}),t._calculationInfo=a(e._calculationInfo)}function tl(t,e,i,n,o){var a=cA[e.type],r=n-1,s=e.name,l=t[s][r];if(l&&l.length<i){for(var u=new a(Math.min(o-r*i,i)),h=0;h<l.length;h++)u[h]=l[h];t[s][r]=u}for(var c=n*i;c<o;c+=i)t[s].push(new a(Math.min(o-c,i)))}function el(t){var e=t._invertedIndicesMap;d(e,function(i,n){var o=t._dimensionInfos[n].ordinalMeta;if(o){i=e[n]=new fA(o.categories.length);for(a=0;a<i.length;a++)i[a]=uA;for(var a=0;a<t._count;a++)i[t.get(n,a)]=a}})}function il(t,e,i){var n;if(null!=e){var o=t._chunkSize,a=Math.floor(i/o),r=i%o,s=t.dimensions[e],l=t._storage[s][a];if(l){n=l[r];var u=t._dimensionInfos[s].ordinalMeta;u&&u.categories.length&&(n=u.categories[n])}}return n}function nl(t){return t}function ol(t){return t<this._count&&t>=0?this._indices[t]:-1}function al(t,e){var i=t._idList[e];return null==i&&(i=il(t,t._idDimIdx,e)),null==i&&(i=hA+e),i}function rl(t){return y(t)||(t=[t]),t}function sl(t,e){var i=t.dimensions,n=new vA(f(i,t.getDimensionInfo,t),t.hostModel);Qs(n,t);for(var o=n._storage={},a=t._storage,r=0;r<i.length;r++){var s=i[r];a[s]&&(l(e,s)>=0?(o[s]=ll(a[s]),n._rawExtent[s]=ul(),n._extent[s]=null):o[s]=a[s])}return n}function ll(t){for(var e=new Array(t.length),i=0;i<t.length;i++)e[i]=Js(t[i]);return e}function ul(){return[1/0,-1/0]}function hl(t,e,n){function o(t,e,i){null!=sA.get(e)?t.otherDims[e]=i:(t.coordDim=e,t.coordDimIndex=i,h.set(e,!0))}_a.isInstance(e)||(e=_a.seriesDataToSource(e)),n=n||{},t=(t||[]).slice();for(var s=(n.dimsDef||[]).slice(),l=R(n.encodeDef),u=R(),h=R(),c=[],f=cl(e,t,s,n.dimCount),p=0;p<f;p++){var g=s[p]=a({},w(s[p])?s[p]:{name:s[p]}),m=g.name,v=c[p]={otherDims:{}};null!=m&&null==u.get(m)&&(v.name=v.displayName=m,u.set(m,p)),null!=g.type&&(v.type=g.type),null!=g.displayName&&(v.displayName=g.displayName)}l.each(function(t,e){if(1===(t=Di(t).slice()).length&&t[0]<0)l.set(e,!1);else{var i=l.set(e,[]);d(t,function(t,n){_(t)&&(t=u.get(t)),null!=t&&t<f&&(i[n]=t,o(c[t],e,n))})}});var y=0;d(t,function(t,e){var n,t,a,s;if(_(t))n=t,t={};else{n=t.name;var u=t.ordinalMeta;t.ordinalMeta=null,(t=i(t)).ordinalMeta=u,a=t.dimsDef,s=t.otherDims,t.name=t.coordDim=t.coordDimIndex=t.dimsDef=t.otherDims=null}var h=l.get(n);if(!1!==h){if(!(h=Di(h)).length)for(var f=0;f<(a&&a.length||1);f++){for(;y<c.length&&null!=c[y].coordDim;)y++;y<c.length&&h.push(y++)}d(h,function(e,i){var l=c[e];if(o(r(l,t),n,i),null==l.name&&a){var u=a[i];!w(u)&&(u={name:u}),l.name=l.displayName=u.name,l.defaultTooltip=u.defaultTooltip}s&&r(l.otherDims,s)})}});var x=n.generateCoord,b=n.generateCoordCount,S=null!=b;b=x?b||1:0;for(var M=x||"value",I=0;I<f;I++)null==(v=c[I]=c[I]||{}).coordDim&&(v.coordDim=dl(M,h,S),v.coordDimIndex=0,(!x||b<=0)&&(v.isExtraCoord=!0),b--),null==v.name&&(v.name=dl(v.coordDim,u)),null==v.type&&ka(e,I,v.name)&&(v.type="ordinal");return c}function cl(t,e,i,n){var o=Math.max(t.dimensionsDetectCount||1,e.length,i.length,n||0);return d(e,function(t){var e=t.dimsDef;e&&(o=Math.max(o,e.length))}),o}function dl(t,e,i){if(i||null!=e.get(t)){for(var n=0;null!=e.get(t+n);)n++;t+=n}return e.set(t,!0),t}function fl(t,e,i){var n,o,a,r,s=(i=i||{}).byIndex,l=i.stackedCoordDimension,u=!(!t||!t.get("stack"));if(d(e,function(t,i){_(t)&&(e[i]=t={name:t}),u&&!t.isExtraCoord&&(s||n||!t.ordinalMeta||(n=t),o||"ordinal"===t.type||"time"===t.type||l&&l!==t.coordDim||(o=t))}),!o||s||n||(s=!0),o){a="__\0ecstackresult",r="__\0ecstackedover",n&&(n.createInvertedIndices=!0);var h=o.coordDim,c=o.type,f=0;d(e,function(t){t.coordDim===h&&f++}),e.push({name:a,coordDim:h,coordDimIndex:f,type:c,isExtraCoord:!0,isCalculationCoord:!0}),f++,e.push({name:r,coordDim:r,coordDimIndex:f,type:c,isExtraCoord:!0,isCalculationCoord:!0})}return{stackedDimension:o&&o.name,stackedByDimension:n&&n.name,isStackedByIndex:s,stackedOverDimension:r,stackResultDimension:a}}function pl(t,e){return!!e&&e===t.getCalculationInfo("stackedDimension")}function gl(t,e){return pl(t,e)?t.getCalculationInfo("stackResultDimension"):e}function ml(t,e,i){i=i||{},_a.isInstance(t)||(t=_a.seriesDataToSource(t));var n,o=e.get("coordinateSystem"),a=Fa.get(o),r=ya(e);r&&(n=f(r.coordSysDims,function(t){var e={name:t},i=r.axisMap.get(t);if(i){var n=i.get("type");e.type=qs(n)}return e})),n||(n=a&&(a.getDimensionsInfo?a.getDimensionsInfo():a.dimensions.slice())||["x","y"]);var s,l,u=_A(t,{coordDimensions:n,generateCoord:i.generateCoord});r&&d(u,function(t,e){var i=t.coordDim,n=r.categoryAxisMap.get(i);n&&(null==s&&(s=e),t.ordinalMeta=n.getOrdinalMeta()),null!=t.otherDims.itemName&&(l=!0)}),l||null==s||(u[s].otherDims.itemName=0);var h=fl(e,u),c=new vA(u,e);c.setCalculationInfo(h);var p=null!=s&&vl(t)?function(t,e,i,n){return n===s?i:this.defaultDimValueGetter(t,e,i,n)}:null;return c.hasItemOption=!1,c.initData(t,null,p),c}function vl(t){if(t.sourceFormat===pI){var e=yl(t.data||[]);return null!=e&&!y(Li(e))}}function yl(t){for(var e=0;e<t.length&&null==t[e];)e++;return t[e]}function xl(t){this._setting=t||{},this._extent=[1/0,-1/0],this._interval=0,this.init&&this.init.apply(this,arguments)}function _l(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this._map}function wl(t){return t._map||(t._map=R(t.categories))}function bl(t){return w(t)&&null!=t.value?t.value:t+""}function Sl(t,e,i,n){var o={},a=t[1]-t[0],r=o.interval=$o(a/e,!0);null!=i&&r<i&&(r=o.interval=i),null!=n&&r>n&&(r=o.interval=n);var s=o.intervalPrecision=Ml(r);return Tl(o.niceTickExtent=[MA(Math.ceil(t[0]/r)*r,s),MA(Math.floor(t[1]/r)*r,s)],t),o}function Ml(t){return Ho(t)+2}function Il(t,e,i){t[e]=Math.max(Math.min(t[e],i[1]),i[0])}function Tl(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),Il(t,0,e),Il(t,1,e),t[0]>t[1]&&(t[0]=t[1])}function Al(t,e,i,n){var o=[];if(!t)return o;e[0]<i[0]&&o.push(e[0]);for(var a=i[0];a<=i[1]&&(o.push(a),(a=MA(a+t,n))!==o[o.length-1]);)if(o.length>1e4)return[];return e[1]>(o.length?o[o.length-1]:i[1])&&o.push(e[1]),o}function Dl(t){return t.get("stack")||AA+t.seriesIndex}function Cl(t){return t.dim+t.index}function Ll(t){var e=[],i=t.axis;if("category"===i.type){for(var n=i.getBandWidth(),o=0;o<t.count;o++)e.push(r({bandWidth:n,axisKey:"axis0",stackId:AA+o},t));for(var a=Nl(e),s=[],o=0;o<t.count;o++){var l=a.axis0[AA+o];l.offsetCenter=l.offset+l.width/2,s.push(l)}return s}}function kl(t,e){var i=[];return e.eachSeriesByType(t,function(t){Rl(t)&&!zl(t)&&i.push(t)}),i}function Pl(t){var e=[];return d(t,function(t){var i=t.getData(),n=t.coordinateSystem.getBaseAxis(),o=n.getExtent(),a="category"===n.type?n.getBandWidth():Math.abs(o[1]-o[0])/i.count(),r=Vo(t.get("barWidth"),a),s=Vo(t.get("barMaxWidth"),a),l=t.get("barGap"),u=t.get("barCategoryGap");e.push({bandWidth:a,barWidth:r,barMaxWidth:s,barGap:l,barCategoryGap:u,axisKey:Cl(n),stackId:Dl(t)})}),Nl(e)}function Nl(t){var e={};d(t,function(t,i){var n=t.axisKey,o=t.bandWidth,a=e[n]||{bandWidth:o,remainedWidth:o,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},r=a.stacks;e[n]=a;var s=t.stackId;r[s]||a.autoWidthCount++,r[s]=r[s]||{width:0,maxWidth:0};var l=t.barWidth;l&&!r[s].width&&(r[s].width=l,l=Math.min(a.remainedWidth,l),a.remainedWidth-=l);var u=t.barMaxWidth;u&&(r[s].maxWidth=u);var h=t.barGap;null!=h&&(a.gap=h);var c=t.barCategoryGap;null!=c&&(a.categoryGap=c)});var i={};return d(e,function(t,e){i[e]={};var n=t.stacks,o=t.bandWidth,a=Vo(t.categoryGap,o),r=Vo(t.gap,1),s=t.remainedWidth,l=t.autoWidthCount,u=(s-a)/(l+(l-1)*r);u=Math.max(u,0),d(n,function(t,e){var i=t.maxWidth;i&&i<u&&(i=Math.min(i,s),t.width&&(i=Math.min(i,t.width)),s-=i,t.width=i,l--)}),u=(s-a)/(l+(l-1)*r),u=Math.max(u,0);var h,c=0;d(n,function(t,e){t.width||(t.width=u),h=t,c+=t.width*(1+r)}),h&&(c-=h.width*r);var f=-c/2;d(n,function(t,n){i[e][n]=i[e][n]||{offset:f,width:t.width},f+=t.width*(1+r)})}),i}function Ol(t,e,i){if(t&&e){var n=t[Cl(e)];return null!=n&&null!=i&&(n=n[Dl(i)]),n}}function El(t,e){var i=kl(t,e),n=Pl(i),o={};d(i,function(t){var e=t.getData(),i=t.coordinateSystem,a=i.getBaseAxis(),r=Dl(t),s=n[Cl(a)][r],l=s.offset,u=s.width,h=i.getOtherAxis(a),c=t.get("barMinHeight")||0;o[r]=o[r]||[],e.setLayout({offset:l,size:u});for(var d=e.mapDimension(h.dim),f=e.mapDimension(a.dim),p=pl(e,d),g=h.isHorizontal(),m=Bl(a,h,p),v=0,y=e.count();v<y;v++){var x=e.get(d,v),_=e.get(f,v);if(!isNaN(x)){var w=x>=0?"p":"n",b=m;p&&(o[r][_]||(o[r][_]={p:m,n:m}),b=o[r][_][w]);var S,M,I,T;if(g)S=b,M=(A=i.dataToPoint([x,_]))[1]+l,I=A[0]-m,T=u,Math.abs(I)<c&&(I=(I<0?-1:1)*c),p&&(o[r][_][w]+=I);else{var A=i.dataToPoint([_,x]);S=A[0]+l,M=b,I=u,T=A[1]-m,Math.abs(T)<c&&(T=(T<=0?-1:1)*c),p&&(o[r][_][w]+=T)}e.setItemLayout(v,{x:S,y:M,width:I,height:T})}}},this)}function Rl(t){return t.coordinateSystem&&"cartesian2d"===t.coordinateSystem.type}function zl(t){return t.pipelineContext&&t.pipelineContext.large}function Bl(t,e,i){var n,o,a=e.getGlobalExtent();a[0]>a[1]?(n=a[1],o=a[0]):(n=a[0],o=a[1]);var r=e.toGlobalCoord(e.dataToCoord(0));return r<n&&(r=n),r>o&&(r=o),r}function Vl(t,e){return VA(t,BA(e))}function Gl(t,e){var i,n,o,a=t.type,r=e.getMin(),s=e.getMax(),l=null!=r,u=null!=s,h=t.getExtent();"ordinal"===a?i=e.getCategories().length:(y(n=e.get("boundaryGap"))||(n=[n||0,n||0]),"boolean"==typeof n[0]&&(n=[0,0]),n[0]=Vo(n[0],1),n[1]=Vo(n[1],1),o=h[1]-h[0]||Math.abs(h[0])),null==r&&(r="ordinal"===a?i?0:NaN:h[0]-n[0]*o),null==s&&(s="ordinal"===a?i?i-1:NaN:h[1]+n[1]*o),"dataMin"===r?r=h[0]:"function"==typeof r&&(r=r({min:h[0],max:h[1]})),"dataMax"===s?s=h[1]:"function"==typeof s&&(s=s({min:h[0],max:h[1]})),(null==r||!isFinite(r))&&(r=NaN),(null==s||!isFinite(s))&&(s=NaN),t.setBlank(I(r)||I(s)||"ordinal"===a&&!t.getOrdinalMeta().categories.length),e.getNeedCrossZero()&&(r>0&&s>0&&!l&&(r=0),r<0&&s<0&&!u&&(s=0));var c=e.ecModel;if(c&&"time"===a){var f,p=kl("bar",c);if(d(p,function(t){f|=t.getBaseAxis()===e.axis}),f){var g=Pl(p),m=Fl(r,s,e,g);r=m.min,s=m.max}}return[r,s]}function Fl(t,e,i,n){var o=i.axis.getExtent(),a=o[1]-o[0],r=Ol(n,i.axis);if(void 0===r)return{min:t,max:e};var s=1/0;d(r,function(t){s=Math.min(t.offset,s)});var l=-1/0;d(r,function(t){l=Math.max(t.offset+t.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/a)-h;return e+=c*(l/u),t-=c*(s/u),{min:t,max:e}}function Wl(t,e){var i=Gl(t,e),n=null!=e.getMin(),o=null!=e.getMax(),a=e.get("splitNumber");"log"===t.type&&(t.base=e.get("logBase"));var r=t.type;t.setExtent(i[0],i[1]),t.niceExtent({splitNumber:a,fixMin:n,fixMax:o,minInterval:"interval"===r||"time"===r?e.get("minInterval"):null,maxInterval:"interval"===r||"time"===r?e.get("maxInterval"):null});var s=e.get("interval");null!=s&&t.setInterval&&t.setInterval(s)}function Hl(t,e){if(e=e||t.get("type"))switch(e){case"category":return new SA(t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),[1/0,-1/0]);case"value":return new TA;default:return(xl.getClass(e)||TA).create(t)}}function Zl(t){var e=t.scale.getExtent(),i=e[0],n=e[1];return!(i>0&&n>0||i<0&&n<0)}function Ul(t){var e=t.getLabelModel().get("formatter"),i="category"===t.type?t.scale.getExtent()[0]:null;return"string"==typeof e?e=function(e){return function(i){return i=t.scale.getLabel(i),e.replace("{value}",null!=i?i:"")}}(e):"function"==typeof e?function(n,o){return null!=i&&(o=n-i),e(Xl(t,n),o)}:function(e){return t.scale.getLabel(e)}}function Xl(t,e){return"category"===t.type?t.scale.getLabel(e):e}function jl(t){var e=t.model,i=t.scale;if(e.get("axisLabel.show")&&!i.isBlank()){var n,o,a="category"===t.type,r=i.getExtent();o=a?i.count():(n=i.getTicks()).length;var s,l=t.getLabelModel(),u=Ul(t),h=1;o>40&&(h=Math.ceil(o/40));for(var c=0;c<o;c+=h){var d=u(n?n[c]:r[0]+c),f=Yl(l.getTextRect(d),l.get("rotate")||0);s?s.union(f):s=f}return s}}function Yl(t,e){var i=e*Math.PI/180,n=t.plain(),o=n.width,a=n.height,r=o*Math.cos(i)+a*Math.sin(i),s=o*Math.sin(i)+a*Math.cos(i);return new de(n.x,n.y,r,s)}function ql(t){var e=t.get("interval");return null==e?"auto":e}function Kl(t){return"category"===t.type&&0===ql(t.getLabelModel())}function $l(t,e){if("image"!==this.type){var i=this.style,n=this.shape;n&&"line"===n.symbolType?i.stroke=t:this.__isEmptyBrush?(i.stroke=t,i.fill=e||"#fff"):(i.fill&&(i.fill=t),i.stroke&&(i.stroke=t)),this.dirty(!1)}}function Jl(t,e,i,n,o,a,r){var s=0===t.indexOf("empty");s&&(t=t.substr(5,1).toLowerCase()+t.substr(6));var l;return l=0===t.indexOf("image://")?jn(t.slice(8),new de(e,i,n,o),r?"center":"cover"):0===t.indexOf("path://")?Xn(t.slice(7),{},new de(e,i,n,o),r?"center":"cover"):new JA({shape:{symbolType:t,x:e,y:i,width:n,height:o}}),l.__isEmptyBrush=s,l.setColor=$l,l.setColor(a),l}function Ql(t,e){return Math.abs(t-e)<eD}function tu(t,e,i){var n=0,o=t[0];if(!o)return!1;for(var a=1;a<t.length;a++){var r=t[a];n+=Sn(o[0],o[1],r[0],r[1],e,i),o=r}var s=t[0];return Ql(o[0],s[0])&&Ql(o[1],s[1])||(n+=Sn(o[0],o[1],s[0],s[1],e,i)),0!==n}function eu(t,e,i){if(this.name=t,this.geometries=e,i)i=[i[0],i[1]];else{var n=this.getBoundingRect();i=[n.x+n.width/2,n.y+n.height/2]}this.center=i}function iu(t){if(!t.UTF8Encoding)return t;var e=t.UTF8Scale;null==e&&(e=1024);for(var i=t.features,n=0;n<i.length;n++)for(var o=i[n].geometry,a=o.coordinates,r=o.encodeOffsets,s=0;s<a.length;s++){var l=a[s];if("Polygon"===o.type)a[s]=nu(l,r[s],e);else if("MultiPolygon"===o.type)for(var u=0;u<l.length;u++){var h=l[u];l[u]=nu(h,r[s][u],e)}}return t.UTF8Encoding=!1,t}function nu(t,e,i){for(var n=[],o=e[0],a=e[1],r=0;r<t.length;r+=2){var s=t.charCodeAt(r)-64,l=t.charCodeAt(r+1)-64;s=s>>1^-(1&s),l=l>>1^-(1&l),o=s+=o,a=l+=a,n.push([s/i,l/i])}return n}function ou(t){return"category"===t.type?ru(t):uu(t)}function au(t,e){return"category"===t.type?lu(t,e):{ticks:t.scale.getTicks()}}function ru(t){var e=t.getLabelModel(),i=su(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:i.labelCategoryInterval}:i}function su(t,e){var i=hu(t,"labels"),n=ql(e),o=cu(i,n);if(o)return o;var a,r;return a=x(n)?vu(t,n):mu(t,r="auto"===n?fu(t):n),du(i,n,{labels:a,labelCategoryInterval:r})}function lu(t,e){var i=hu(t,"ticks"),n=ql(e),o=cu(i,n);if(o)return o;var a,r;if(e.get("show")&&!t.scale.isBlank()||(a=[]),x(n))a=vu(t,n,!0);else if("auto"===n){var s=su(t,t.getLabelModel());r=s.labelCategoryInterval,a=f(s.labels,function(t){return t.tickValue})}else a=mu(t,r=n,!0);return du(i,n,{ticks:a,tickCategoryInterval:r})}function uu(t){var e=t.scale.getTicks(),i=Ul(t);return{labels:f(e,function(e,n){return{formattedLabel:i(e,n),rawLabel:t.scale.getLabel(e),tickValue:e}})}}function hu(t,e){return nD(t)[e]||(nD(t)[e]=[])}function cu(t,e){for(var i=0;i<t.length;i++)if(t[i].key===e)return t[i].value}function du(t,e,i){return t.push({key:e,value:i}),i}function fu(t){var e=nD(t).autoInterval;return null!=e?e:nD(t).autoInterval=t.calculateCategoryInterval()}function pu(t){var e=gu(t),i=Ul(t),n=(e.axisRotate-e.labelRotate)/180*Math.PI,o=t.scale,a=o.getExtent(),r=o.count();if(a[1]-a[0]<1)return 0;var s=1;r>40&&(s=Math.max(1,Math.floor(r/40)));for(var l=a[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(n)),c=Math.abs(u*Math.sin(n)),d=0,f=0;l<=a[1];l+=s){var p=0,g=0,m=ke(i(l),e.font,"center","top");p=1.3*m.width,g=1.3*m.height,d=Math.max(d,p,7),f=Math.max(f,g,7)}var v=d/h,y=f/c;isNaN(v)&&(v=1/0),isNaN(y)&&(y=1/0);var x=Math.max(0,Math.floor(Math.min(v,y))),_=nD(t.model),w=_.lastAutoInterval,b=_.lastTickCount;return null!=w&&null!=b&&Math.abs(w-x)<=1&&Math.abs(b-r)<=1&&w>x?x=w:(_.lastTickCount=r,_.lastAutoInterval=x),x}function gu(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}function mu(t,e,i){function n(t){l.push(i?t:{formattedLabel:o(t),rawLabel:a.getLabel(t),tickValue:t})}var o=Ul(t),a=t.scale,r=a.getExtent(),s=t.getLabelModel(),l=[],u=Math.max((e||0)+1,1),h=r[0],c=a.count();0!==h&&u>1&&c/u>2&&(h=Math.round(Math.ceil(h/u)*u));var d=Kl(t),f=s.get("showMinLabel")||d,p=s.get("showMaxLabel")||d;f&&h!==r[0]&&n(r[0]);for(var g=h;g<=r[1];g+=u)n(g);return p&&g!==r[1]&&n(r[1]),l}function vu(t,e,i){var n=t.scale,o=Ul(t),a=[];return d(n.getTicks(),function(t){var r=n.getLabel(t);e(t,r)&&a.push(i?t:{formattedLabel:o(t),rawLabel:r,tickValue:t})}),a}function yu(t,e){var i=(t[1]-t[0])/e/2;t[0]+=i,t[1]-=i}function xu(t,e,i,n,o){function a(t,e){return h?t>e:t<e}var r=e.length;if(t.onBand&&!n&&r){var s,l=t.getExtent();if(1===r)e[0].coord=l[0],s=e[1]={coord:l[0]};else{var u=e[1].coord-e[0].coord;d(e,function(t){t.coord-=u/2;var e=e||0;e%2>0&&(t.coord-=u/(2*(e+1)))}),s={coord:e[r-1].coord+u},e.push(s)}var h=l[0]>l[1];a(e[0].coord,l[0])&&(o?e[0].coord=l[0]:e.shift()),o&&a(l[0],e[0].coord)&&e.unshift({coord:l[0]}),a(l[1],s.coord)&&(o?s.coord=l[1]:e.pop()),o&&a(s.coord,l[1])&&e.push({coord:l[1]})}}function _u(t,e){var i=t.mapDimension("defaultedLabel",!0),n=i.length;if(1===n)return fr(t,e,i[0]);if(n){for(var o=[],a=0;a<i.length;a++){var r=fr(t,e,i[a]);o.push(r)}return o.join(" ")}}function wu(t,e,i){tb.call(this),this.updateData(t,e,i)}function bu(t){return[t[0]/2,t[1]/2]}function Su(t,e){this.parent.drift(t,e)}function Mu(){!so(this)&&Tu.call(this)}function Iu(){!so(this)&&Au.call(this)}function Tu(){if(!this.incremental&&!this.useHoverLayer){var t=this.__symbolOriginalScale,e=t[1]/t[0];this.animateTo({scale:[Math.max(1.1*t[0],t[0]+3),Math.max(1.1*t[1],t[1]+3*e)]},400,"elasticOut")}}function Au(){this.incremental||this.useHoverLayer||this.animateTo({scale:this.__symbolOriginalScale},400,"elasticOut")}function Du(t){this.group=new tb,this._symbolCtor=t||wu}function Cu(t,e,i,n){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(n.isIgnore&&n.isIgnore(i))&&!(n.clipShape&&!n.clipShape.contain(e[0],e[1]))&&"none"!==t.getItemVisual(i,"symbol")}function Lu(t){return null==t||w(t)||(t={isIgnore:t}),t||{}}function ku(t){var e=t.hostModel;return{itemStyle:e.getModel("itemStyle").getItemStyle(["color"]),hoverItemStyle:e.getModel("emphasis.itemStyle").getItemStyle(),symbolRotate:e.get("symbolRotate"),symbolOffset:e.get("symbolOffset"),hoverAnimation:e.get("hoverAnimation"),labelModel:e.getModel("label"),hoverLabelModel:e.getModel("emphasis.label"),cursorStyle:e.get("cursor")}}function Pu(t,e,i){var n,o=t.getBaseAxis(),a=t.getOtherAxis(o),r=Nu(a,i),s=o.dim,l=a.dim,u=e.mapDimension(l),h=e.mapDimension(s),c="x"===l||"radius"===l?1:0,d=f(t.dimensions,function(t){return e.mapDimension(t)}),p=e.getCalculationInfo("stackResultDimension");return(n|=pl(e,d[0]))&&(d[0]=p),(n|=pl(e,d[1]))&&(d[1]=p),{dataDimsForPoint:d,valueStart:r,valueAxisDim:l,baseAxisDim:s,stacked:!!n,valueDim:u,baseDim:h,baseDataOffset:c,stackedOverDimension:e.getCalculationInfo("stackedOverDimension")}}function Nu(t,e){var i=0,n=t.scale.getExtent();return"start"===e?i=n[0]:"end"===e?i=n[1]:n[0]>0?i=n[0]:n[1]<0&&(i=n[1]),i}function Ou(t,e,i,n){var o=NaN;t.stacked&&(o=i.get(i.getCalculationInfo("stackedOverDimension"),n)),isNaN(o)&&(o=t.valueStart);var a=t.baseDataOffset,r=[];return r[a]=i.get(t.baseDim,n),r[1-a]=o,e.dataToPoint(r)}function Eu(t,e){var i=[];return e.diff(t).add(function(t){i.push({cmd:"+",idx:t})}).update(function(t,e){i.push({cmd:"=",idx:e,idx1:t})}).remove(function(t){i.push({cmd:"-",idx:t})}).execute(),i}function Ru(t){return isNaN(t[0])||isNaN(t[1])}function zu(t,e,i,n,o,a,r,s,l,u,h){return"none"!==u&&u?Bu.apply(this,arguments):Vu.apply(this,arguments)}function Bu(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f<n;f++){var p=e[d];if(d>=o||d<0)break;if(Ru(p)){if(h){d+=a;continue}break}if(d===i)t[a>0?"moveTo":"lineTo"](p[0],p[1]);else if(l>0){var g=e[c],m="y"===u?1:0,v=(p[m]-g[m])*l;_D(bD,g),bD[m]=g[m]+v,_D(SD,p),SD[m]=p[m]-v,t.bezierCurveTo(bD[0],bD[1],SD[0],SD[1],p[0],p[1])}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Vu(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f<n;f++){var p=e[d];if(d>=o||d<0)break;if(Ru(p)){if(h){d+=a;continue}break}if(d===i)t[a>0?"moveTo":"lineTo"](p[0],p[1]),_D(bD,p);else if(l>0){var g=d+a,m=e[g];if(h)for(;m&&Ru(e[g]);)m=e[g+=a];var v=.5,y=e[c];if(!(m=e[g])||Ru(m))_D(SD,p);else{Ru(m)&&!h&&(m=p),U(wD,m,y);var x,_;if("x"===u||"y"===u){var w="x"===u?0:1;x=Math.abs(p[w]-y[w]),_=Math.abs(p[w]-m[w])}else x=uw(p,y),_=uw(p,m);xD(SD,p,wD,-l*(1-(v=_/(_+x))))}vD(bD,bD,s),yD(bD,bD,r),vD(SD,SD,s),yD(SD,SD,r),t.bezierCurveTo(bD[0],bD[1],SD[0],SD[1],p[0],p[1]),xD(bD,p,wD,l*v)}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}function Gu(t,e){var i=[1/0,1/0],n=[-1/0,-1/0];if(e)for(var o=0;o<t.length;o++){var a=t[o];a[0]<i[0]&&(i[0]=a[0]),a[1]<i[1]&&(i[1]=a[1]),a[0]>n[0]&&(n[0]=a[0]),a[1]>n[1]&&(n[1]=a[1])}return{min:e?i:n,max:e?n:i}}function Fu(t,e){if(t.length===e.length){for(var i=0;i<t.length;i++){var n=t[i],o=e[i];if(n[0]!==o[0]||n[1]!==o[1])return}return!0}}function Wu(t){return"number"==typeof t?t:t?.5:0}function Hu(t){var e=t.getGlobalExtent();if(t.onBand){var i=t.getBandWidth()/2-1,n=e[1]>e[0]?1:-1;e[0]+=n*i,e[1]-=n*i}return e}function Zu(t,e,i){if(!i.valueDim)return[];for(var n=[],o=0,a=e.count();o<a;o++)n.push(Ou(i,t,e,o));return n}function Uu(t,e,i,n){var o=Hu(t.getAxis("x")),a=Hu(t.getAxis("y")),r=t.getBaseAxis().isHorizontal(),s=Math.min(o[0],o[1]),l=Math.min(a[0],a[1]),u=Math.max(o[0],o[1])-s,h=Math.max(a[0],a[1])-l;if(i)s-=.5,u+=.5,l-=.5,h+=.5;else{var c=n.get("lineStyle.width")||2,d=n.get("clipOverflow")?c/2:Math.max(u,h);r?(l-=d,h+=2*d):(s-=d,u+=2*d)}var f=new yM({shape:{x:s,y:l,width:u,height:h}});return e&&(f.shape[r?"width":"height"]=0,To(f,{shape:{width:u,height:h}},n)),f}function Xu(t,e,i,n){var o=t.getAngleAxis(),a=t.getRadiusAxis().getExtent().slice();a[0]>a[1]&&a.reverse();var r=o.getExtent(),s=Math.PI/180;i&&(a[0]-=.5,a[1]+=.5);var l=new hM({shape:{cx:Go(t.cx,1),cy:Go(t.cy,1),r0:Go(a[0],1),r:Go(a[1],1),startAngle:-r[0]*s,endAngle:-r[1]*s,clockwise:o.inverse}});return e&&(l.shape.endAngle=-r[0]*s,To(l,{shape:{endAngle:-r[1]*s}},n)),l}function ju(t,e,i,n){return"polar"===t.type?Xu(t,e,i,n):Uu(t,e,i,n)}function Yu(t,e,i){for(var n=e.getBaseAxis(),o="x"===n.dim||"radius"===n.dim?0:1,a=[],r=0;r<t.length-1;r++){var s=t[r+1],l=t[r];a.push(l);var u=[];switch(i){case"end":u[o]=s[o],u[1-o]=l[1-o],a.push(u);break;case"middle":var h=(l[o]+s[o])/2,c=[];u[o]=c[o]=h,u[1-o]=l[1-o],c[1-o]=s[1-o],a.push(u),a.push(c);break;default:u[o]=l[o],u[1-o]=s[1-o],a.push(u)}}return t[r]&&a.push(t[r]),a}function qu(t,e){var i=t.getVisual("visualMeta");if(i&&i.length&&t.count()&&"cartesian2d"===e.type){for(var n,o,a=i.length-1;a>=0;a--){var r=i[a].dimension,s=t.dimensions[r],l=t.getDimensionInfo(s);if("x"===(n=l&&l.coordDim)||"y"===n){o=i[a];break}}if(o){var u=e.getAxis(n),h=f(o.stops,function(t){return{coord:u.toGlobalCoord(u.dataToCoord(t.value)),color:t.color}}),c=h.length,p=o.outerColors.slice();c&&h[0].coord>h[c-1].coord&&(h.reverse(),p.reverse());var g=h[0].coord-10,m=h[c-1].coord+10,v=m-g;if(v<.001)return"transparent";d(h,function(t){t.offset=(t.coord-g)/v}),h.push({offset:c?h[c-1].offset:.5,color:p[1]||"transparent"}),h.unshift({offset:c?h[0].offset:.5,color:p[0]||"transparent"});var y=new TM(0,0,0,0,h,!0);return y[n]=g,y[n+"2"]=m,y}}}function Ku(t,e,i){var n=t.get("showAllSymbol"),o="auto"===n;if(!n||o){var a=i.getAxesByScale("ordinal")[0];if(a&&(!o||!$u(a,e))){var r=e.mapDimension(a.dim),s={};return d(a.getViewLabels(),function(t){s[t.tickValue]=1}),function(t){return!s.hasOwnProperty(e.get(r,t))}}}}function $u(t,e){var i=t.getExtent(),n=Math.abs(i[1]-i[0])/t.scale.count();isNaN(n)&&(n=0);for(var o=e.count(),a=Math.max(1,Math.round(o/5)),r=0;r<o;r+=a)if(1.5*wu.getSymbolSize(e,r)[t.isHorizontal()?1:0]>n)return!1;return!0}function Ju(t){return this._axes[t]}function Qu(t){LD.call(this,t)}function th(t,e){return e.type||(e.data?"category":"value")}function eh(t,e,i){return t.getCoordSysModel()===e}function ih(t,e,i){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,i),this.model=t}function nh(t,e,i,n){function o(t){return t.dim+"_"+t.index}i.getAxesOnZeroOf=function(){return a?[a]:[]};var a,r=t[e],s=i.model,l=s.get("axisLine.onZero"),u=s.get("axisLine.onZeroAxisIndex");if(l){if(null!=u)oh(r[u])&&(a=r[u]);else for(var h in r)if(r.hasOwnProperty(h)&&oh(r[h])&&!n[o(r[h])]){a=r[h];break}a&&(n[o(a)]=!0)}}function oh(t){return t&&"category"!==t.type&&"time"!==t.type&&Zl(t)}function ah(t,e){var i=t.getExtent(),n=i[0]+i[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return n-t+e}}function rh(t,e){return f(VD,function(e){return t.getReferringComponents(e)[0]})}function sh(t){return"cartesian2d"===t.get("coordinateSystem")}function lh(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+"Index"]=t.componentIndex,e}function uh(t,e,i,n){var o,a,r=Xo(i-t.rotation),s=n[0]>n[1],l="start"===e&&!s||"start"!==e&&s;return jo(r-GD/2)?(a=l?"bottom":"top",o="center"):jo(r-1.5*GD)?(a=l?"top":"bottom",o="center"):(a="middle",o=r<1.5*GD&&r>GD/2?l?"left":"right":l?"right":"left"),{rotation:r,textAlign:o,textVerticalAlign:a}}function hh(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)}function ch(t,e,i){if(!Kl(t.axis)){var n=t.get("axisLabel.showMinLabel"),o=t.get("axisLabel.showMaxLabel");e=e||[],i=i||[];var a=e[0],r=e[1],s=e[e.length-1],l=e[e.length-2],u=i[0],h=i[1],c=i[i.length-1],d=i[i.length-2];!1===n?(dh(a),dh(u)):fh(a,r)&&(n?(dh(r),dh(h)):(dh(a),dh(u))),!1===o?(dh(s),dh(c)):fh(l,s)&&(o?(dh(l),dh(d)):(dh(s),dh(c)))}}function dh(t){t&&(t.ignore=!0)}function fh(t,e,i){var n=t&&t.getBoundingRect().clone(),o=e&&e.getBoundingRect().clone();if(n&&o){var a=_t([]);return Mt(a,a,-t.rotation),n.applyTransform(bt([],a,t.getLocalTransform())),o.applyTransform(bt([],a,e.getLocalTransform())),n.intersect(o)}}function ph(t){return"middle"===t||"center"===t}function gh(t,e,i){var n=e.axis;if(e.get("axisTick.show")&&!n.scale.isBlank()){for(var o=e.getModel("axisTick"),a=o.getModel("lineStyle"),s=o.get("length"),l=n.getTicksCoords(),u=[],h=[],c=t._transform,d=[],f=0;f<l.length;f++){var p=l[f].coord;u[0]=p,u[1]=0,h[0]=p,h[1]=i.tickDirection*s,c&&(Q(u,u,c),Q(h,h,c));var g=new _M(Kn({anid:"tick_"+l[f].tickValue,shape:{x1:u[0],y1:u[1],x2:h[0],y2:h[1]},style:r(a.getLineStyle(),{stroke:e.get("axisLine.lineStyle.color")}),z2:2,silent:!0}));t.group.add(g),d.push(g)}return d}}function mh(t,e,i){var n=e.axis;if(T(i.axisLabelShow,e.get("axisLabel.show"))&&!n.scale.isBlank()){var o=e.getModel("axisLabel"),a=o.get("margin"),r=n.getViewLabels(),s=(T(i.labelRotate,o.get("rotate"))||0)*GD/180,l=HD(i.rotation,s,i.labelDirection),u=e.getCategories(!0),h=[],c=hh(e),f=e.get("triggerEvent");return d(r,function(r,s){var d=r.tickValue,p=r.formattedLabel,g=r.rawLabel,m=o;u&&u[d]&&u[d].textStyle&&(m=new No(u[d].textStyle,o,e.ecModel));var v=m.getTextColor()||e.get("axisLine.lineStyle.color"),y=[n.dataToCoord(d),i.labelOffset+i.labelDirection*a],x=new rM({anid:"label_"+d,position:y,rotation:l.rotation,silent:c,z2:10});mo(x.style,m,{text:p,textAlign:m.getShallow("align",!0)||l.textAlign,textVerticalAlign:m.getShallow("verticalAlign",!0)||m.getShallow("baseline",!0)||l.textVerticalAlign,textFill:"function"==typeof v?v("category"===n.type?g:"value"===n.type?d+"":d,s):v}),f&&(x.eventData=lh(e),x.eventData.targetType="axisLabel",x.eventData.value=g),t._dumbGroup.add(x),x.updateTransform(),h.push(x),t.group.add(x),x.decomposeTransform()}),h}}function vh(t,e){var i={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return yh(i,t,e),i.seriesInvolved&&_h(i,t),i}function yh(t,e,i){var n=e.getComponent("tooltip"),o=e.getComponent("axisPointer"),a=o.get("link",!0)||[],r=[];ZD(i.getCoordinateSystems(),function(i){function s(n,s,l){var c=l.model.getModel("axisPointer",o),d=c.get("show");if(d&&("auto"!==d||n||Th(c))){null==s&&(s=c.get("triggerTooltip"));var f=(c=n?xh(l,h,o,e,n,s):c).get("snap"),p=Ah(l.model),g=s||f||"category"===l.type,m=t.axesInfo[p]={key:p,axis:l,coordSys:i,axisPointerModel:c,triggerTooltip:s,involveSeries:g,snap:f,useHandle:Th(c),seriesModels:[]};u[p]=m,t.seriesInvolved|=g;var v=wh(a,l);if(null!=v){var y=r[v]||(r[v]={axesInfo:{}});y.axesInfo[p]=m,y.mapper=a[v].mapper,m.linkGroup=y}}}if(i.axisPointerEnabled){var l=Ah(i.model),u=t.coordSysAxesInfo[l]={};t.coordSysMap[l]=i;var h=i.model.getModel("tooltip",n);if(ZD(i.getAxes(),UD(s,!1,null)),i.getTooltipAxes&&n&&h.get("show")){var c="axis"===h.get("trigger"),d="cross"===h.get("axisPointer.type"),f=i.getTooltipAxes(h.get("axisPointer.axis"));(c||d)&&ZD(f.baseAxes,UD(s,!d||"cross",c)),d&&ZD(f.otherAxes,UD(s,"cross",!1))}}})}function xh(t,e,n,o,a,s){var l=e.getModel("axisPointer"),u={};ZD(["type","snap","lineStyle","shadowStyle","label","animation","animationDurationUpdate","animationEasingUpdate","z"],function(t){u[t]=i(l.get(t))}),u.snap="category"!==t.type&&!!s,"cross"===l.get("type")&&(u.type="line");var h=u.label||(u.label={});if(null==h.show&&(h.show=!1),"cross"===a){var c=l.get("label.show");if(h.show=null==c||c,!s){var d=u.lineStyle=l.get("crossStyle");d&&r(h,d.textStyle)}}return t.model.getModel("axisPointer",new No(u,n,o))}function _h(t,e){e.eachSeries(function(e){var i=e.coordinateSystem,n=e.get("tooltip.trigger",!0),o=e.get("tooltip.show",!0);i&&"none"!==n&&!1!==n&&"item"!==n&&!1!==o&&!1!==e.get("axisPointer.show",!0)&&ZD(t.coordSysAxesInfo[Ah(i.model)],function(t){var n=t.axis;i.getAxis(n.dim)===n&&(t.seriesModels.push(e),null==t.seriesDataCount&&(t.seriesDataCount=0),t.seriesDataCount+=e.getData().count())})},this)}function wh(t,e){for(var i=e.model,n=e.dim,o=0;o<t.length;o++){var a=t[o]||{};if(bh(a[n+"AxisId"],i.id)||bh(a[n+"AxisIndex"],i.componentIndex)||bh(a[n+"AxisName"],i.name))return o}}function bh(t,e){return"all"===t||y(t)&&l(t,e)>=0||t===e}function Sh(t){var e=Mh(t);if(e){var i=e.axisPointerModel,n=e.axis.scale,o=i.option,a=i.get("status"),r=i.get("value");null!=r&&(r=n.parse(r));var s=Th(i);null==a&&(o.status=s?"show":"hide");var l=n.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==r||r>l[1])&&(r=l[1]),r<l[0]&&(r=l[0]),o.value=r,s&&(o.status=e.axis.scale.isBlank()?"hide":"show")}}function Mh(t){var e=(t.ecModel.getComponent("axisPointer")||{}).coordSysAxesInfo;return e&&e.axesInfo[Ah(t)]}function Ih(t){var e=Mh(t);return e&&e.axisPointerModel}function Th(t){return!!t.get("handle.show")}function Ah(t){return t.type+"||"+t.id}function Dh(t,e,i,n,o,a){var r=XD.getAxisPointerClass(t.axisPointerClass);if(r){var s=Ih(e);s?(t._axisPointer||(t._axisPointer=new r)).render(e,s,n,a):Ch(t,n)}}function Ch(t,e,i){var n=t._axisPointer;n&&n.dispose(e,i),t._axisPointer=null}function Lh(t,e,i){i=i||{};var n=t.coordinateSystem,o=e.axis,a={},r=o.getAxesOnZeroOf()[0],s=o.position,l=r?"onZero":s,u=o.dim,h=n.getRect(),c=[h.x,h.x+h.width,h.y,h.y+h.height],d={left:0,right:1,top:0,bottom:1,onZero:2},f=e.get("offset")||0,p="x"===u?[c[2]-f,c[3]+f]:[c[0]-f,c[1]+f];if(r){var g=r.toGlobalCoord(r.dataToCoord(0));p[d.onZero]=Math.max(Math.min(g,p[1]),p[0])}a.position=["y"===u?p[d[l]]:c[0],"x"===u?p[d[l]]:c[3]],a.rotation=Math.PI/2*("x"===u?0:1);var m={top:-1,bottom:1,left:-1,right:1};a.labelDirection=a.tickDirection=a.nameDirection=m[s],a.labelOffset=r?p[d[s]]-p[d.onZero]:0,e.get("axisTick.inside")&&(a.tickDirection=-a.tickDirection),T(i.labelInside,e.get("axisLabel.inside"))&&(a.labelDirection=-a.labelDirection);var v=e.get("axisLabel.rotate");return a.labelRotate="top"===l?-v:v,a.z2=1,a}function kh(t,e,i,n,o,a,r){go(t,e,i.getModel("label"),i.getModel("emphasis.label"),{labelFetcher:o,labelDataIndex:a,defaultText:_u(o.getData(),a),isRectText:!0,autoColor:n}),Ph(t),Ph(e)}function Ph(t,e){"outside"===t.textPosition&&(t.textPosition=e)}function Nh(t,e,i){i.style.text=null,Io(i,{shape:{width:0}},e,t,function(){i.parent&&i.parent.remove(i)})}function Oh(t,e,i){i.style.text=null,Io(i,{shape:{r:i.shape.r0}},e,t,function(){i.parent&&i.parent.remove(i)})}function Eh(t,e,i,n,o,a,s,l){var u=e.getItemVisual(i,"color"),h=e.getItemVisual(i,"opacity"),c=n.getModel("itemStyle"),d=n.getModel("emphasis.itemStyle").getBarItemStyle();l||t.setShape("r",c.get("barBorderRadius")||0),t.useStyle(r({fill:u,opacity:h},c.getBarItemStyle()));var f=n.getShallow("cursor");f&&t.attr("cursor",f);var p=s?o.height>0?"bottom":"top":o.width>0?"left":"right";l||kh(t.style,d,n,u,a,i,p),fo(t,d)}function Rh(t,e){var i=t.get(tC)||0;return Math.min(i,Math.abs(e.width),Math.abs(e.height))}function zh(t,e,i){var n=t.getData(),o=[],a=n.getLayout("valueAxisHorizontal")?1:0;o[1-a]=n.getLayout("valueAxisStart");var r=new nC({shape:{points:n.getLayout("largePoints")},incremental:!!i,__startPoint:o,__valueIdx:a});e.add(r),Bh(r,t,n)}function Bh(t,e,i){var n=i.getVisual("borderColor")||i.getVisual("color"),o=e.getModel("itemStyle").getItemStyle(["color","borderColor"]);t.useStyle(o),t.style.fill=null,t.style.stroke=n,t.style.lineWidth=i.getLayout("barWidth")}function Vh(t,e,i,n){var o=e.getData(),a=this.dataIndex,r=o.getName(a),s=e.get("selectedOffset");n.dispatchAction({type:"pieToggleSelect",from:t,name:r,seriesId:e.id}),o.each(function(t){Gh(o.getItemGraphicEl(t),o.getItemLayout(t),e.isSelected(o.getName(t)),s,i)})}function Gh(t,e,i,n,o){var a=(e.startAngle+e.endAngle)/2,r=Math.cos(a),s=Math.sin(a),l=i?n:0,u=[r*l,s*l];o?t.animate().when(200,{position:u}).start("bounceOut"):t.attr("position",u)}function Fh(t,e){function i(){a.ignore=a.hoverIgnore,r.ignore=r.hoverIgnore}function n(){a.ignore=a.normalIgnore,r.ignore=r.normalIgnore}tb.call(this);var o=new hM({z2:2}),a=new gM,r=new rM;this.add(o),this.add(a),this.add(r),this.updateData(t,e,!0),this.on("emphasis",i).on("normal",n).on("mouseover",i).on("mouseout",n)}function Wh(t,e,i,n,o,a,r){function s(e,i){for(var n=e;n>=0&&(t[n].y-=i,!(n>0&&t[n].y>t[n-1].y+t[n-1].height));n--);}function l(t,e,i,n,o,a){for(var r=e?Number.MAX_VALUE:0,s=0,l=t.length;s<l;s++){var u=Math.abs(t[s].y-n),h=t[s].len,c=t[s].len2,d=u<o+h?Math.sqrt((o+h+c)*(o+h+c)-u*u):Math.abs(t[s].x-i);e&&d>=r&&(d=r-10),!e&&d<=r&&(d=r+10),t[s].x=i+d*a,r=d}}t.sort(function(t,e){return t.y-e.y});for(var u,h=0,c=t.length,d=[],f=[],p=0;p<c;p++)(u=t[p].y-h)<0&&function(e,i,n,o){for(var a=e;a<i;a++)if(t[a].y+=n,a>e&&a+1<i&&t[a+1].y>t[a].y+t[a].height)return void s(a,n/2);s(i-1,n/2)}(p,c,-u),h=t[p].y+t[p].height;r-h<0&&s(c-1,h-r);for(p=0;p<c;p++)t[p].y>=i?f.push(t[p]):d.push(t[p]);l(d,!1,e,i,n,o),l(f,!0,e,i,n,o)}function Hh(t,e,i,n,o,a){for(var r=[],s=[],l=0;l<t.length;l++)Zh(t[l])||(t[l].x<e?r.push(t[l]):s.push(t[l]));Wh(s,e,i,n,1,o,a),Wh(r,e,i,n,-1,o,a);for(l=0;l<t.length;l++)if(!Zh(t[l])){var u=t[l].linePoints;if(u){var h=u[1][0]-u[2][0];t[l].x<e?u[2][0]=t[l].x+3:u[2][0]=t[l].x-3,u[1][1]=u[2][1]=t[l].y,u[1][0]=u[2][0]+h}}}function Zh(t){return"center"===t.position}function Uh(){this.group=new tb}function Xh(t,e,i){aD.call(this,t,e,i),this.type="value",this.angle=0,this.name="",this.model}function jh(t,e,i){this._model=t,this.dimensions=[],this._indicatorAxes=f(t.getIndicatorModels(),function(t,e){var i="indicator_"+e,n=new Xh(i,new TA);return n.name=t.get("name"),n.model=t,t.axis=n,this.dimensions.push(i),n},this),this.resize(t,i),this.cx,this.cy,this.r,this.r0,this.startAngle}function Yh(t,e){return r({show:e},t)}function qh(t){return y(t)||(t=[+t,+t]),t}function Kh(t){for(var e,i=0;i<t.length;i++){var n=t[i].getBoundingRect();(e=e||n.clone()).union(n)}return e}function $h(t,e){var i,n,o=t.svgXML;try{k(null!=(n=(i=o&&rs(o,{ignoreViewBox:!0,ignoreRootClip:!0})||{}).root))}catch(t){throw new Error("Invalid svg format\n"+t.message)}var a=i.width,r=i.height,s=i.viewBoxRect;if(e||(e=null==a||null==r?n.getBoundingRect():new de(0,0,0,0),null!=a&&(e.width=a),null!=r&&(e.height=r)),s){var l=as(s,e.width,e.height),u=n;(n=new tb).add(u),u.scale=l.scale,u.position=l.position}return n.setClipPath(new yM({shape:e.plain()})),{root:n,boundingRect:e}}function Jh(t){return function(e,i){var n=[];return d(Qh(e),function(o){var a=NC[o.type][t];a&&n.push(a(e,o,i))}),n}}function Qh(t){return DT.retrieveMap(t)||[]}function tc(t,e,i){nc(t)[e]=i}function ec(t,e,i){var n=nc(t);n[e]===i&&(n[e]=null)}function ic(t,e){return!!nc(t)[e]}function nc(t){return t[EC]||(t[EC]={})}function oc(t){this.pointerChecker,this._zr=t,this._opt={};var e=m,n=e(ac,this),o=e(rc,this),a=e(sc,this),s=e(lc,this),l=e(uc,this);fw.call(this),this.setPointerChecker=function(t){this.pointerChecker=t},this.enable=function(e,u){this.disable(),this._opt=r(i(u)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),null==e&&(e=!0),!0!==e&&"move"!==e&&"pan"!==e||(t.on("mousedown",n),t.on("mousemove",o),t.on("mouseup",a)),!0!==e&&"scale"!==e&&"zoom"!==e||(t.on("mousewheel",s),t.on("pinch",l))},this.disable=function(){t.off("mousedown",n),t.off("mousemove",o),t.off("mouseup",a),t.off("mousewheel",s),t.off("pinch",l)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}function ac(t){if(!(dt(t)||t.target&&t.target.draggable)){var e=t.offsetX,i=t.offsetY;this.pointerChecker&&this.pointerChecker(t,e,i)&&(this._x=e,this._y=i,this._dragging=!0)}}function rc(t){if(this._dragging&&dc("moveOnMouseMove",t,this._opt)&&"pinch"!==t.gestureEvent&&!ic(this._zr,"globalPan")){var e=t.offsetX,i=t.offsetY,n=this._x,o=this._y,a=e-n,r=i-o;this._x=e,this._y=i,this._opt.preventDefaultMouseMove&&mw(t.event),cc(this,"pan","moveOnMouseMove",t,{dx:a,dy:r,oldX:n,oldY:o,newX:e,newY:i})}}function sc(t){dt(t)||(this._dragging=!1)}function lc(t){var e=dc("zoomOnMouseWheel",t,this._opt),i=dc("moveOnMouseWheel",t,this._opt),n=t.wheelDelta,o=Math.abs(n),a=t.offsetX,r=t.offsetY;if(0!==n&&(e||i)){if(e){var s=o>3?1.4:o>1?1.2:1.1;hc(this,"zoom","zoomOnMouseWheel",t,{scale:n>0?s:1/s,originX:a,originY:r})}if(i){var l=Math.abs(n);hc(this,"scrollMove","moveOnMouseWheel",t,{scrollDelta:(n>0?1:-1)*(l>3?.4:l>1?.15:.05),originX:a,originY:r})}}}function uc(t){ic(this._zr,"globalPan")||hc(this,"zoom",null,t,{scale:t.pinchScale>1?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY})}function hc(t,e,i,n,o){t.pointerChecker&&t.pointerChecker(n,o.originX,o.originY)&&(mw(n.event),cc(t,e,i,n,o))}function cc(t,e,i,n,o){o.isAvailableBehavior=m(dc,null,i,n),t.trigger(e,o)}function dc(t,e,i){var n=i[t];return!t||n&&(!_(n)||e.event[n+"Key"])}function fc(t,e,i){var n=t.target,o=n.position;o[0]+=e,o[1]+=i,n.dirty()}function pc(t,e,i,n){var o=t.target,a=t.zoomLimit,r=o.position,s=o.scale,l=t.zoom=t.zoom||1;if(l*=e,a){var u=a.min||0,h=a.max||1/0;l=Math.max(Math.min(h,l),u)}var c=l/t.zoom;t.zoom=l,r[0]-=(i-r[0])*(c-1),r[1]-=(n-r[1])*(c-1),s[0]*=c,s[1]*=c,o.dirty()}function gc(t,e,i){var n=e.getComponentByElement(t.topTarget),o=n&&n.coordinateSystem;return n&&n!==i&&!RC[n.mainType]&&o&&o.model!==i}function mc(t,e){var i=t.getItemStyle(),n=t.get("areaColor");return null!=n&&(i.fill=n),i}function vc(t,e,i,n,o){i.off("click"),i.off("mousedown"),e.get("selectedMode")&&(i.on("mousedown",function(){t._mouseDownFlag=!0}),i.on("click",function(a){if(t._mouseDownFlag){t._mouseDownFlag=!1;for(var r=a.target;!r.__regions;)r=r.parent;if(r){var s={type:("geo"===e.mainType?"geo":"map")+"ToggleSelect",batch:f(r.__regions,function(t){return{name:t.name,from:o.uid}})};s[e.mainType+"Id"]=e.id,n.dispatchAction(s),yc(e,i)}}}))}function yc(t,e){e.eachChild(function(e){d(e.__regions,function(i){e.trigger(t.isSelected(i.name)?"emphasis":"normal")})})}function xc(t,e){var i=new tb;this.uid=Ro("ec_map_draw"),this._controller=new oc(t.getZr()),this._controllerHost={target:e?i:null},this.group=i,this._updateGroup=e,this._mouseDownFlag,this._mapName,this._initialized,i.add(this._regionsGroup=new tb),i.add(this._backgroundGroup=new tb)}function _c(t){var e=this[zC];e&&e.recordVersion===this[BC]&&wc(e,t)}function wc(t,e){var i=t.circle,n=t.labelModel,o=t.hoverLabelModel,a=t.emphasisText,r=t.normalText;e?(i.style.extendFrom(mo({},o,{text:o.get("show")?a:null},{isRectText:!0,useInsideStyle:!1},!0)),i.__mapOriginalZ2=i.z2,i.z2+=NM):(mo(i.style,n,{text:n.get("show")?r:null,textPosition:n.getShallow("position")||"bottom"},{isRectText:!0,useInsideStyle:!1}),i.dirty(!1),null!=i.__mapOriginalZ2&&(i.z2=i.__mapOriginalZ2,i.__mapOriginalZ2=null))}function bc(t,e,i){var n=t.getZoom(),o=t.getCenter(),a=e.zoom,r=t.dataToPoint(o);if(null!=e.dx&&null!=e.dy){r[0]-=e.dx,r[1]-=e.dy;o=t.pointToData(r);t.setCenter(o)}if(null!=a){if(i){var s=i.min||0,l=i.max||1/0;a=Math.max(Math.min(n*a,l),s)/n}t.scale[0]*=a,t.scale[1]*=a;var u=t.position,h=(e.originX-u[0])*(a-1),c=(e.originY-u[1])*(a-1);u[0]-=h,u[1]-=c,t.updateTransform();o=t.pointToData(r);t.setCenter(o),t.setZoom(a*n)}return{center:t.getCenter(),zoom:t.getZoom()}}function Sc(){Tw.call(this)}function Mc(t){this.name=t,this.zoomLimit,Tw.call(this),this._roamTransformable=new Sc,this._rawTransformable=new Sc,this._center,this._zoom}function Ic(t,e,i,n){var o=i.seriesModel,a=o?o.coordinateSystem:null;return a===this?a[t](n):null}function Tc(t,e,i,n){Mc.call(this,t),this.map=e;var o=OC.load(e,i);this._nameCoordMap=o.nameCoordMap,this._regionsMap=o.regionsMap,this._invertLongitute=null==n||n,this.regions=o.regions,this._rect=o.boundingRect}function Ac(t,e,i,n){var o=i.geoModel,a=i.seriesModel,r=o?o.coordinateSystem:a?a.coordinateSystem||(a.getReferringComponents("geo")[0]||{}).coordinateSystem:null;return r===this?r[t](n):null}function Dc(t,e){var i=t.get("boundingCoords");if(null!=i){var n=i[0],o=i[1];isNaN(n[0])||isNaN(n[1])||isNaN(o[0])||isNaN(o[1])||this.setBoundingRect(n[0],n[1],o[0]-n[0],o[1]-n[1])}var a,r=this.getBoundingRect(),s=t.get("layoutCenter"),l=t.get("layoutSize"),u=e.getWidth(),h=e.getHeight(),c=r.width/r.height*this.aspectScale,d=!1;s&&l&&(s=[Vo(s[0],u),Vo(s[1],h)],l=Vo(l,Math.min(u,h)),isNaN(s[0])||isNaN(s[1])||isNaN(l)||(d=!0));if(d){var f={};c>1?(f.width=l,f.height=l/c):(f.height=l,f.width=l*c),f.y=s[1]-f.height/2,f.x=s[0]-f.width/2}else(a=t.getBoxLayoutParams()).aspect=c,f=ca(a,{width:u,height:h});this.setViewRect(f.x,f.y,f.width,f.height),this.setCenter(t.get("center")),this.setZoom(t.get("zoom"))}function Cc(t,e){d(e.get("geoCoord"),function(e,i){t.addGeoCoord(i,e)})}function Lc(t,e){var i={};return d(t,function(t){t.each(t.mapDimension("value"),function(e,n){var o="ec-"+t.getName(n);i[o]=i[o]||[],isNaN(e)||i[o].push(e)})}),t[0].map(t[0].mapDimension("value"),function(n,o){for(var a="ec-"+t[0].getName(o),r=0,s=1/0,l=-1/0,u=i[a].length,h=0;h<u;h++)s=Math.min(s,i[a][h]),l=Math.max(l,i[a][h]),r+=i[a][h];var c;return c="min"===e?s:"max"===e?l:"average"===e?r/u:r,0===u?NaN:c})}function kc(t){var e=t.mainData,i=t.datas;i||(i={main:e},t.datasAttr={main:"data"}),t.datas=t.mainData=null,zc(e,i,t),FC(i,function(i){FC(e.TRANSFERABLE_METHODS,function(e){i.wrapMethod(e,v(Pc,t))})}),e.wrapMethod("cloneShallow",v(Oc,t)),FC(e.CHANGABLE_METHODS,function(i){e.wrapMethod(i,v(Nc,t))}),k(i[e.dataType]===e)}function Pc(t,e){if(Rc(this)){var i=a({},this[WC]);i[this.dataType]=e,zc(e,i,t)}else Bc(e,this.dataType,this[HC],t);return e}function Nc(t,e){return t.struct&&t.struct.update(this),e}function Oc(t,e){return FC(e[WC],function(i,n){i!==e&&Bc(i.cloneShallow(),n,e,t)}),e}function Ec(t){var e=this[HC];return null==t||null==e?e:e[WC][t]}function Rc(t){return t[HC]===t}function zc(t,e,i){t[WC]={},FC(e,function(e,n){Bc(e,n,t,i)})}function Bc(t,e,i,n){i[WC][e]=t,t[HC]=i,t.dataType=e,n.struct&&(t[n.structAttr]=n.struct,n.struct[n.datasAttr[e]]=t),t.getLinkedData=Ec}function Vc(t,e,i){this.root,this.data,this._nodes=[],this.hostModel=t,this.levelModels=f(e||[],function(e){return new No(e,t,t.ecModel)}),this.leavesModel=new No(i||{},t,t.ecModel)}function Gc(t,e){var i=e.children;t.parentNode!==e&&(i.push(t),t.parentNode=e)}function Fc(t){t.hierNode={defaultAncestor:null,ancestor:t,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var e,i,n=[t];e=n.pop();)if(i=e.children,e.isExpand&&i.length)for(var o=i.length-1;o>=0;o--){var a=i[o];a.hierNode={defaultAncestor:null,ancestor:a,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},n.push(a)}}function Wc(t,e){var i=t.isExpand?t.children:[],n=t.parentNode.children,o=t.hierNode.i?n[t.hierNode.i-1]:null;if(i.length){jc(t);var a=(i[0].hierNode.prelim+i[i.length-1].hierNode.prelim)/2;o?(t.hierNode.prelim=o.hierNode.prelim+e(t,o),t.hierNode.modifier=t.hierNode.prelim-a):t.hierNode.prelim=a}else o&&(t.hierNode.prelim=o.hierNode.prelim+e(t,o));t.parentNode.hierNode.defaultAncestor=Yc(t,o,t.parentNode.hierNode.defaultAncestor||n[0],e)}function Hc(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function Zc(t){return arguments.length?t:Qc}function Uc(t,e){var i={};return t-=Math.PI/2,i.x=e*Math.cos(t),i.y=e*Math.sin(t),i}function Xc(t,e){return ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function jc(t){for(var e=t.children,i=e.length,n=0,o=0;--i>=0;){var a=e[i];a.hierNode.prelim+=n,a.hierNode.modifier+=n,o+=a.hierNode.change,n+=a.hierNode.shift+o}}function Yc(t,e,i,n){if(e){for(var o=t,a=t,r=a.parentNode.children[0],s=e,l=o.hierNode.modifier,u=a.hierNode.modifier,h=r.hierNode.modifier,c=s.hierNode.modifier;s=qc(s),a=Kc(a),s&&a;){o=qc(o),r=Kc(r),o.hierNode.ancestor=t;var d=s.hierNode.prelim+c-a.hierNode.prelim-u+n(s,a);d>0&&(Jc($c(s,t,i),t,d),u+=d,l+=d),c+=s.hierNode.modifier,u+=a.hierNode.modifier,l+=o.hierNode.modifier,h+=r.hierNode.modifier}s&&!qc(o)&&(o.hierNode.thread=s,o.hierNode.modifier+=c-l),a&&!Kc(r)&&(r.hierNode.thread=a,r.hierNode.modifier+=u-h,i=t)}return i}function qc(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function Kc(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function $c(t,e,i){return t.hierNode.ancestor.parentNode===e.parentNode?t.hierNode.ancestor:i}function Jc(t,e,i){var n=i/(e.hierNode.i-t.hierNode.i);e.hierNode.change-=n,e.hierNode.shift+=i,e.hierNode.modifier+=i,e.hierNode.prelim+=i,t.hierNode.change+=n}function Qc(t,e){return t.parentNode===e.parentNode?1:2}function td(t,e){var i=t.getItemLayout(e);return i&&!isNaN(i.x)&&!isNaN(i.y)&&"none"!==t.getItemVisual(e,"symbol")}function ed(t,e,i){return i.itemModel=e,i.itemStyle=e.getModel("itemStyle").getItemStyle(),i.hoverItemStyle=e.getModel("emphasis.itemStyle").getItemStyle(),i.lineStyle=e.getModel("lineStyle").getLineStyle(),i.labelModel=e.getModel("label"),i.hoverLabelModel=e.getModel("emphasis.label"),!1===t.isExpand&&0!==t.children.length?i.symbolInnerColor=i.itemStyle.fill:i.symbolInnerColor="#fff",i}function id(t,e,i,n,o,a){var s=!i,l=t.tree.getNodeByDataIndex(e),a=ed(l,l.getModel(),a),u=t.tree.root,h=l.parentNode===u?l:l.parentNode||l,c=t.getItemGraphicEl(h.dataIndex),d=h.getLayout(),f=c?{x:c.position[0],y:c.position[1],rawX:c.__radialOldRawX,rawY:c.__radialOldRawY}:d,p=l.getLayout();s?(i=new wu(t,e,a)).attr("position",[f.x,f.y]):i.updateData(t,e,a),i.__radialOldRawX=i.__radialRawX,i.__radialOldRawY=i.__radialRawY,i.__radialRawX=p.rawX,i.__radialRawY=p.rawY,n.add(i),t.setItemGraphicEl(e,i),Io(i,{position:[p.x,p.y]},o);var g=i.getSymbolPath();if("radial"===a.layout){var m,v,y=u.children[0],x=y.getLayout(),_=y.children.length;if(p.x===x.x&&!0===l.isExpand){var w={};w.x=(y.children[0].getLayout().x+y.children[_-1].getLayout().x)/2,w.y=(y.children[0].getLayout().y+y.children[_-1].getLayout().y)/2,(m=Math.atan2(w.y-x.y,w.x-x.x))<0&&(m=2*Math.PI+m),(v=w.x<x.x)&&(m-=Math.PI)}else(m=Math.atan2(p.y-x.y,p.x-x.x))<0&&(m=2*Math.PI+m),0===l.children.length||0!==l.children.length&&!1===l.isExpand?(v=p.x<x.x)&&(m-=Math.PI):(v=p.x>x.x)||(m-=Math.PI);var b=v?"left":"right";g.setStyle({textPosition:b,textRotation:-m,textOrigin:"center",verticalAlign:"middle"})}if(l.parentNode&&l.parentNode!==u){var S=i.__edge;S||(S=i.__edge=new bM({shape:od(a,f,f),style:r({opacity:0,strokeNoScale:!0},a.lineStyle)})),Io(S,{shape:od(a,d,p),style:{opacity:1}},o),n.add(S)}}function nd(t,e,i,n,o,a){for(var r,s=t.tree.getNodeByDataIndex(e),l=t.tree.root,a=ed(s,s.getModel(),a),u=s.parentNode===l?s:s.parentNode||s;null==(r=u.getLayout());)u=u.parentNode===l?u:u.parentNode||u;Io(i,{position:[r.x+1,r.y+1]},o,function(){n.remove(i),t.setItemGraphicEl(e,null)}),i.fadeOut(null,{keepLabel:!0});var h=i.__edge;h&&Io(h,{shape:od(a,r,r),style:{opacity:0}},o,function(){n.remove(h)})}function od(t,e,i){var n,o,a,r,s,l,u,h,c=t.orient;if("radial"===t.layout){s=e.rawX,u=e.rawY,l=i.rawX,h=i.rawY;var d=Uc(s,u),f=Uc(s,u+(h-u)*t.curvature),p=Uc(l,h+(u-h)*t.curvature),g=Uc(l,h);return{x1:d.x,y1:d.y,x2:g.x,y2:g.y,cpx1:f.x,cpy1:f.y,cpx2:p.x,cpy2:p.y}}return s=e.x,u=e.y,l=i.x,h=i.y,"LR"!==c&&"RL"!==c||(n=s+(l-s)*t.curvature,o=u,a=l+(s-l)*t.curvature,r=h),"TB"!==c&&"BT"!==c||(n=s,o=u+(h-u)*t.curvature,a=l,r=h+(u-h)*t.curvature),{x1:s,y1:u,x2:l,y2:h,cpx1:n,cpy1:o,cpx2:a,cpy2:r}}function ad(t,e,i){for(var n,o=[t],a=[];n=o.pop();)if(a.push(n),n.isExpand){var r=n.children;if(r.length)for(var s=0;s<r.length;s++)o.push(r[s])}for(;n=a.pop();)e(n,i)}function rd(t,e){for(var i,n=[t];i=n.pop();)if(e(i),i.isExpand){var o=i.children;if(o.length)for(var a=o.length-1;a>=0;a--)n.push(o[a])}}function sd(t,e){var i=Xc(t,e);t.layoutInfo=i;var n=t.get("layout"),o=0,a=0,r=null;"radial"===n?(o=2*Math.PI,a=Math.min(i.height,i.width)/2,r=Zc(function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth})):(o=i.width,a=i.height,r=Zc());var s=t.getData().tree.root,l=s.children[0];if(l){Fc(s),ad(l,Wc,r),s.hierNode.modifier=-l.hierNode.prelim,rd(l,Hc);var u=l,h=l,c=l;rd(l,function(t){var e=t.getLayout().x;e<u.getLayout().x&&(u=t),e>h.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)});var d=u===h?1:r(u,h)/2,f=d-u.getLayout().x,p=0,g=0,m=0,v=0;if("radial"===n)p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),rd(l,function(t){m=(t.getLayout().x+f)*p,v=(t.depth-1)*g;var e=Uc(m,v);t.setLayout({x:e.x,y:e.y,rawX:m,rawY:v},!0)});else{var y=t.getOrient();"RL"===y||"LR"===y?(g=a/(h.getLayout().x+d+f),p=o/(c.depth-1||1),rd(l,function(t){v=(t.getLayout().x+f)*g,m="LR"===y?(t.depth-1)*p:o-(t.depth-1)*p,t.setLayout({x:m,y:v},!0)})):"TB"!==y&&"BT"!==y||(p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),rd(l,function(t){m=(t.getLayout().x+f)*p,v="TB"===y?(t.depth-1)*g:a-(t.depth-1)*g,t.setLayout({x:m,y:v},!0)}))}}}function ld(t,e,i){if(t&&l(e,t.type)>=0){var n=i.getData().tree.root,o=t.targetNode;if("string"==typeof o&&(o=n.getNodeById(o)),o&&n.contains(o))return{node:o};var a=t.targetNodeId;if(null!=a&&(o=n.getNodeById(a)))return{node:o}}}function ud(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reverse()}function hd(t,e){return l(ud(t),e)>=0}function cd(t,e){for(var i=[];t;){var n=t.dataIndex;i.push({name:t.name,dataIndex:n,value:e.getRawValue(n)}),t=t.parentNode}return i.reverse(),i}function dd(t){var e=0;d(t.children,function(t){dd(t);var i=t.value;y(i)&&(i=i[0]),e+=i});var i=t.value;y(i)&&(i=i[0]),(null==i||isNaN(i))&&(i=e),i<0&&(i=0),y(t.value)?t.value[0]=i:t.value=i}function fd(t,e){var i=e.get("color");if(i){var n;return d(t=t||[],function(t){var e=new No(t),i=e.get("color");(e.get("itemStyle.color")||i&&"none"!==i)&&(n=!0)}),n||((t[0]||(t[0]={})).color=i.slice()),t}}function pd(t){this.group=new tb,t.add(this.group)}function gd(t,e,i,n,o,a){var r=[[o?t:t-UC,e],[t+i,e],[t+i,e+n],[o?t:t-UC,e+n]];return!a&&r.splice(2,0,[t+i+UC,e+n/2]),!o&&r.push([t,e+n/2]),r}function md(t,e,i){t.eventData={componentType:"series",componentSubType:"treemap",componentIndex:e.componentIndex,seriesIndex:e.componentIndex,seriesName:e.name,seriesType:"treemap",selfType:"breadcrumb",nodeData:{dataIndex:i&&i.dataIndex,name:i&&i.name},treePathInfo:i&&cd(i,e)}}function vd(){var t,e=[],i={};return{add:function(t,n,o,a,r){return _(a)&&(r=a,a=0),!i[t.id]&&(i[t.id]=1,e.push({el:t,target:n,time:o,delay:a,easing:r}),!0)},done:function(e){return t=e,this},start:function(){for(var n=e.length,o=0,a=e.length;o<a;o++){var r=e[o];r.el.animateTo(r.target,r.time,r.delay,r.easing,function(){--n||(e.length=0,i={},t&&t())})}return this}}}function yd(t,e,n,o,r,s,l,u,h,c){function d(t,e){w?!t.invisible&&s.push(t):(e(),t.__tmWillVisible||(t.invisible=!1))}function f(e,n,o,a,r,s){var u=l.getModel(),h=T(t.getFormattedLabel(l.dataIndex,"normal",null,null,s?"upperLabel":"label"),u.get("name"));if(!s&&v.isLeafRoot){var c=t.get("drillDownIcon",!0);h=c?c+" "+h:h}var d=u.getModel(s?JC:KC),f=u.getModel(s?QC:$C),p=d.getShallow("show");go(e,n,d,f,{defaultText:p?h:null,autoColor:o,isRectText:!0}),s&&(e.textRect=i(s)),e.truncate=p&&d.get("ellipsis")?{outerWidth:a,outerHeight:r,minChar:2}:null}function p(t,i,o,a){var s=null!=S&&n[t][S],l=r[t];return s?(n[t][S]=null,g(l,s,t)):w||((s=new i({z:xd(o,a)})).__tmDepth=o,s.__tmStorageName=t,m(l,s,t)),e[t][b]=s}function g(t,e,i){(t[b]={}).old="nodeGroup"===i?e.position.slice():a({},e.shape)}function m(t,e,i){var n=t[b]={},a=l.parentNode;if(a&&(!o||"drillDown"===o.direction)){var s=0,u=0,h=r.background[a.getRawIndex()];!o&&h&&h.old&&(s=h.old.width,u=h.old.height),n.old="nodeGroup"===i?[0,u]:{x:s,y:u,width:0,height:0}}n.fadein="nodeGroup"!==i}if(l){var v=l.getLayout();if(v&&v.isInView){var y=v.width,x=v.height,_=v.borderWidth,w=v.invisible,b=l.getRawIndex(),S=u&&u.getRawIndex(),M=l.viewChildren,I=v.upperHeight,A=M&&M.length,D=l.getModel("itemStyle"),C=l.getModel("emphasis.itemStyle"),L=p("nodeGroup",jC);if(L){if(h.add(L),L.attr("position",[v.x||0,v.y||0]),L.__tmNodeWidth=y,L.__tmNodeHeight=x,v.isAboveViewRoot)return L;var k=p("background",YC,c,eL);if(k&&function(e,i,n){i.dataIndex=l.dataIndex,i.seriesIndex=t.seriesIndex,i.setShape({x:0,y:0,width:y,height:x});var o=l.getVisual("borderColor",!0),a=C.get("borderColor");d(i,function(){var t=oL(D);t.fill=o;var e=nL(C);if(e.fill=a,n){var r=y-2*_;f(t,e,o,r,I,{x:_,y:0,width:r,height:I})}else t.text=e.text=null;i.setStyle(t),fo(i,e)}),e.add(i)}(L,k,A&&v.upperHeight),!A){var P=p("content",YC,c,iL);P&&function(e,i){i.dataIndex=l.dataIndex,i.seriesIndex=t.seriesIndex;var n=Math.max(y-2*_,0),o=Math.max(x-2*_,0);i.culling=!0,i.setShape({x:_,y:_,width:n,height:o});var a=l.getVisual("color",!0);d(i,function(){var t=oL(D);t.fill=a;var e=nL(C);f(t,e,a,n,o),i.setStyle(t),fo(i,e)}),e.add(i)}(L,P)}return L}}}}function xd(t,e){var i=t*tL+e;return(i-1)/i}function _d(t){var e=t.pieceList;t.hasSpecialVisual=!1,d(e,function(e,i){e.originIndex=i,null!=e.visual&&(t.hasSpecialVisual=!0)})}function wd(t){var e=t.categories,i=t.visual,n=t.categoryMap={};if(sL(e,function(t,e){n[t]=e}),!y(i)){var o=[];w(i)?sL(i,function(t,e){var i=n[e];o[null!=i?i:uL]=t}):o[uL]=i,i=Ld(t,o)}for(var a=e.length-1;a>=0;a--)null==i[a]&&(delete n[e[a]],e.pop())}function bd(t,e){var i=t.visual,n=[];w(i)?sL(i,function(t){n.push(t)}):null!=i&&n.push(i);var o={color:1,symbol:1};e||1!==n.length||o.hasOwnProperty(t.type)||(n[1]=n[0]),Ld(t,n)}function Sd(t){return{applyVisual:function(e,i,n){e=this.mapValueToVisual(e),n("color",t(i("color"),e))},_doMap:Dd([0,1])}}function Md(t){var e=this.option.visual;return e[Math.round(Bo(t,[0,1],[0,e.length-1],!0))]||{}}function Id(t){return function(e,i,n){n(t,this.mapValueToVisual(e))}}function Td(t){var e=this.option.visual;return e[this.option.loop&&t!==uL?t%e.length:t]}function Ad(){return this.option.visual[0]}function Dd(t){return{linear:function(e){return Bo(e,t,this.option.visual,!0)},category:Td,piecewise:function(e,i){var n=Cd.call(this,i);return null==n&&(n=Bo(e,t,this.option.visual,!0)),n},fixed:Ad}}function Cd(t){var e=this.option,i=e.pieceList;if(e.hasSpecialVisual){var n=i[hL.findPieceIndex(t,i)];if(n&&n.visual)return n.visual[this.type]}}function Ld(t,e){return t.visual=e,"color"===t.type&&(t.parsedVisual=f(e,function(t){return Gt(t)})),e}function kd(t,e,i){return t?e<=i:e<i}function Pd(t,e,i,n,o,a){var r=t.getModel(),s=t.getLayout();if(s&&!s.invisible&&s.isInView){var l,u=t.getModel(pL),h=Nd(u,e,i[t.depth],n),c=u.get("borderColor"),f=u.get("borderColorSaturation");null!=f&&(c=Ed(f,l=Od(h))),t.setVisual("borderColor",c);var p=t.viewChildren;if(p&&p.length){var g=zd(t,r,s,u,h,p);d(p,function(t,e){(t.depth>=o.length||t===o[t.depth])&&Pd(t,Vd(r,h,t,e,g,a),i,n,o,a)})}else l=Od(h),t.setVisual("color",l)}}function Nd(t,e,i,n){var o=a({},e);return d(["color","colorAlpha","colorSaturation"],function(a){var r=t.get(a,!0);null==r&&i&&(r=i[a]),null==r&&(r=e[a]),null==r&&(r=n.get(a)),null!=r&&(o[a]=r)}),o}function Od(t){var e=Rd(t,"color");if(e){var i=Rd(t,"colorAlpha"),n=Rd(t,"colorSaturation");return n&&(e=jt(e,null,null,n)),i&&(e=Yt(e,i)),e}}function Ed(t,e){return null!=e?jt(e,null,null,t):null}function Rd(t,e){var i=t[e];if(null!=i&&"none"!==i)return i}function zd(t,e,i,n,o,a){if(a&&a.length){var r=Bd(e,"color")||null!=o.color&&"none"!==o.color&&(Bd(e,"colorAlpha")||Bd(e,"colorSaturation"));if(r){var s=e.get("visualMin"),l=e.get("visualMax"),u=i.dataExtent.slice();null!=s&&s<u[0]&&(u[0]=s),null!=l&&l>u[1]&&(u[1]=l);var h=e.get("colorMappingBy"),c={type:r.name,dataExtent:u,visual:r.range};"color"!==c.type||"index"!==h&&"id"!==h?c.mappingMethod="linear":(c.mappingMethod="category",c.loop=!0);var d=new hL(c);return d.__drColorMappingBy=h,d}}}function Bd(t,e){var i=t.get(e);return fL(i)&&i.length?{name:e,range:i}:null}function Vd(t,e,i,n,o,r){var s=a({},e);if(o){var l=o.type,u="color"===l&&o.__drColorMappingBy,h="index"===u?n:"id"===u?r.mapIdToIndex(i.getId()):i.getValue(t.get("visualDimension"));s[l]=o.mapValueToVisual(h)}return s}function Gd(t,e,i,n){var o,a;if(!t.isRemoved()){var r=t.getLayout();o=r.width,a=r.height;var s=(f=t.getModel()).get(_L),l=f.get(wL)/2,u=Kd(f),h=Math.max(s,u),c=s-l,d=h-l,f=t.getModel();t.setLayout({borderWidth:s,upperHeight:h,upperLabelHeight:u},!0);var p=(o=mL(o-2*c,0))*(a=mL(a-c-d,0)),g=Fd(t,f,p,e,i,n);if(g.length){var m={x:c,y:d,width:o,height:a},v=vL(o,a),y=1/0,x=[];x.area=0;for(var _=0,w=g.length;_<w;){var b=g[_];x.push(b),x.area+=b.getLayout().area;var S=Ud(x,v,e.squareRatio);S<=y?(_++,y=S):(x.area-=x.pop().getLayout().area,Xd(x,v,m,l,!1),v=vL(m.width,m.height),x.length=x.area=0,y=1/0)}if(x.length&&Xd(x,v,m,l,!0),!i){var M=f.get("childrenVisibleMin");null!=M&&p<M&&(i=!0)}for(var _=0,w=g.length;_<w;_++)Gd(g[_],e,i,n+1)}}}function Fd(t,e,i,n,o,a){var r=t.children||[],s=n.sort;"asc"!==s&&"desc"!==s&&(s=null);var l=null!=n.leafDepth&&n.leafDepth<=a;if(o&&!l)return t.viewChildren=[];Hd(r=g(r,function(t){return!t.isRemoved()}),s);var u=Zd(e,r,s);if(0===u.sum)return t.viewChildren=[];if(u.sum=Wd(e,i,u.sum,s,r),0===u.sum)return t.viewChildren=[];for(var h=0,c=r.length;h<c;h++){var d=r[h].getValue()/u.sum*i;r[h].setLayout({area:d})}return l&&(r.length&&t.setLayout({isLeafRoot:!0},!0),r.length=0),t.viewChildren=r,t.setLayout({dataExtent:u.dataExtent},!0),r}function Wd(t,e,i,n,o){if(!n)return i;for(var a=t.get("visibleMin"),r=o.length,s=r,l=r-1;l>=0;l--){var u=o["asc"===n?r-l-1:l].getValue();u/i*e<a&&(s=l,i-=u)}return"asc"===n?o.splice(0,r-s):o.splice(s,r-s),i}function Hd(t,e){return e&&t.sort(function(t,i){var n="asc"===e?t.getValue()-i.getValue():i.getValue()-t.getValue();return 0===n?"asc"===e?t.dataIndex-i.dataIndex:i.dataIndex-t.dataIndex:n}),t}function Zd(t,e,i){for(var n=0,o=0,a=e.length;o<a;o++)n+=e[o].getValue();var r=t.get("visualDimension");if(e&&e.length)if("value"===r&&i)s=[e[e.length-1].getValue(),e[0].getValue()],"asc"===i&&s.reverse();else{var s=[1/0,-1/0];xL(e,function(t){var e=t.getValue(r);e<s[0]&&(s[0]=e),e>s[1]&&(s[1]=e)})}else s=[NaN,NaN];return{sum:n,dataExtent:s}}function Ud(t,e,i){for(var n,o=0,a=1/0,r=0,s=t.length;r<s;r++)(n=t[r].getLayout().area)&&(n<a&&(a=n),n>o&&(o=n));var l=t.area*t.area,u=e*e*i;return l?mL(u*o/l,l/(u*a)):1/0}function Xd(t,e,i,n,o){var a=e===i.width?0:1,r=1-a,s=["x","y"],l=["width","height"],u=i[s[a]],h=e?t.area/e:0;(o||h>i[l[r]])&&(h=i[l[r]]);for(var c=0,d=t.length;c<d;c++){var f=t[c],p={},g=h?f.getLayout().area/h:0,m=p[l[r]]=mL(h-2*n,0),v=i[s[a]]+i[l[a]]-u,y=c===d-1||v<g?v:g,x=p[l[a]]=mL(y-2*n,0);p[s[r]]=i[s[r]]+vL(n,m/2),p[s[a]]=u+vL(n,x/2),u+=y,f.setLayout(p,!0)}i[s[r]]+=h,i[l[r]]-=h}function jd(t,e,i,n,o){var a=(e||{}).node,r=[n,o];if(!a||a===i)return r;for(var s,l=n*o,u=l*t.option.zoomToNodeRatio;s=a.parentNode;){for(var h=0,c=s.children,d=0,f=c.length;d<f;d++)h+=c[d].getValue();var p=a.getValue();if(0===p)return r;u*=h/p;var g=s.getModel(),m=g.get(_L);(u+=4*m*m+(3*m+Math.max(m,Kd(g)))*Math.pow(u,.5))>XM&&(u=XM),a=s}u<l&&(u=l);var v=Math.pow(u/l,.5);return[n*v,o*v]}function Yd(t,e,i){if(e)return{x:e.x,y:e.y};var n={x:0,y:0};if(!i)return n;var o=i.node,a=o.getLayout();if(!a)return n;for(var r=[a.width/2,a.height/2],s=o;s;){var l=s.getLayout();r[0]+=l.x,r[1]+=l.y,s=s.parentNode}return{x:t.width/2-r[0],y:t.height/2-r[1]}}function qd(t,e,i,n,o){var a=t.getLayout(),r=i[o],s=r&&r===t;if(!(r&&!s||o===i.length&&t!==n)){t.setLayout({isInView:!0,invisible:!s&&!e.intersect(a),isAboveViewRoot:s},!0);var l=new de(e.x-a.x,e.y-a.y,e.width,e.height);xL(t.viewChildren||[],function(t){qd(t,l,i,n,o+1)})}}function Kd(t){return t.get(bL)?t.get(SL):0}function $d(t){return"_EC_"+t}function Jd(t,e){this.id=null==t?"":t,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=null==e?-1:e}function Qd(t,e,i){this.node1=t,this.node2=e,this.dataIndex=null==i?-1:i}function tf(t){return isNaN(+t.cpx1)||isNaN(+t.cpy1)}function ef(t){return"_"+t+"Type"}function nf(t,e,i){var n=e.getItemVisual(i,"color"),o=e.getItemVisual(i,t),a=e.getItemVisual(i,t+"Size");if(o&&"none"!==o){y(a)||(a=[a,a]);var r=Jl(o,-a[0]/2,-a[1]/2,a[0],a[1],n);return r.name=t,r}}function of(t){var e=new PL({name:"line"});return af(e.shape,t),e}function af(t,e){var i=e[0],n=e[1],o=e[2];t.x1=i[0],t.y1=i[1],t.x2=n[0],t.y2=n[1],t.percent=1,o?(t.cpx1=o[0],t.cpy1=o[1]):(t.cpx1=NaN,t.cpy1=NaN)}function rf(t,e,i){tb.call(this),this._createLine(t,e,i)}function sf(t){this._ctor=t||rf,this.group=new tb}function lf(t,e,i,n){if(df(e.getItemLayout(i))){var o=new t._ctor(e,i,n);e.setItemGraphicEl(i,o),t.group.add(o)}}function uf(t,e,i,n,o,a){var r=e.getItemGraphicEl(n);df(i.getItemLayout(o))?(r?r.updateData(i,o,a):r=new t._ctor(i,o,a),i.setItemGraphicEl(o,r),t.group.add(r)):t.group.remove(r)}function hf(t){var e=t.hostModel;return{lineStyle:e.getModel("lineStyle").getLineStyle(),hoverLineStyle:e.getModel("emphasis.lineStyle").getLineStyle(),labelModel:e.getModel("label"),hoverLabelModel:e.getModel("emphasis.label")}}function cf(t){return isNaN(t[0])||isNaN(t[1])}function df(t){return!cf(t[0])&&!cf(t[1])}function ff(t,e,i){for(var n,o=t[0],a=t[1],r=t[2],s=1/0,l=i*i,u=.1,h=.1;h<=.9;h+=.1)RL[0]=VL(o[0],a[0],r[0],h),RL[1]=VL(o[1],a[1],r[1],h),(f=FL(GL(RL,e)-l))<s&&(s=f,n=h);for(var c=0;c<32;c++){var d=n+u;zL[0]=VL(o[0],a[0],r[0],n),zL[1]=VL(o[1],a[1],r[1],n),BL[0]=VL(o[0],a[0],r[0],d),BL[1]=VL(o[1],a[1],r[1],d);var f=GL(zL,e)-l;if(FL(f)<.01)break;var p=GL(BL,e)-l;u/=2,f<0?p>=0?n+=u:n-=u:p>=0?n-=u:n+=u}return n}function pf(t,e){return t.getVisual("opacity")||t.getModel().get(e)}function gf(t,e,i){var n=t.getGraphicEl(),o=pf(t,e);null!=i&&(null==o&&(o=1),o*=i),n.downplay&&n.downplay(),n.traverse(function(t){if("group"!==t.type){var e=t.lineLabelOriginalOpacity;null!=e&&null==i||(e=o),t.setStyle("opacity",e)}})}function mf(t,e){var i=pf(t,e),n=t.getGraphicEl();n.highlight&&n.highlight(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",i)})}function vf(t){return t instanceof Array||(t=[t,t]),t}function yf(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var i=t.getGraph();i.eachNode(function(t){var e=t.getModel();t.setLayout([+e.get("x"),+e.get("y")])}),xf(i)}}function xf(t){t.eachEdge(function(t){var e=t.getModel().get("lineStyle.curveness")||0,i=F(t.node1.getLayout()),n=F(t.node2.getLayout()),o=[i,n];+e&&o.push([(i[0]+n[0])/2-(i[1]-n[1])*e,(i[1]+n[1])/2-(n[0]-i[0])*e]),t.setLayout(o)})}function _f(t){var e=t.coordinateSystem;if(!e||"view"===e.type){var i=e.getBoundingRect(),n=t.getData(),o=n.graph,a=0,r=n.getSum("value"),s=2*Math.PI/(r||n.count()),l=i.width/2+i.x,u=i.height/2+i.y,h=Math.min(i.width,i.height)/2;o.eachNode(function(t){var e=t.getValue("value");a+=s*(r?e:1)/2,t.setLayout([h*Math.cos(a)+l,h*Math.sin(a)+u]),a+=s*(r?e:1)/2}),n.setLayout({cx:l,cy:u}),o.eachEdge(function(t){var e,i=t.getModel().get("lineStyle.curveness")||0,n=F(t.node1.getLayout()),o=F(t.node2.getLayout()),a=(n[0]+o[0])/2,r=(n[1]+o[1])/2;+i&&(e=[l*(i*=3)+a*(1-i),u*i+r*(1-i)]),t.setLayout([n,o,e])})}}function wf(t,e,i){for(var n=i.rect,o=n.width,a=n.height,r=[n.x+o/2,n.y+a/2],s=null==i.gravity?.1:i.gravity,l=0;l<t.length;l++){var u=t[l];u.p||(u.p=V(o*(Math.random()-.5)+r[0],a*(Math.random()-.5)+r[1])),u.pp=F(u.p),u.edges=null}var h=.6;return{warmUp:function(){h=.5},setFixed:function(e){t[e].fixed=!0},setUnfixed:function(e){t[e].fixed=!1},step:function(i){for(var n=[],o=t.length,a=0;a<e.length;a++){var l=e[a],u=l.n1;U(n,(p=l.n2).p,u.p);var c=X(n)-l.d,d=p.w/(u.w+p.w);isNaN(d)&&(d=0),q(n,n),!u.fixed&&XL(u.p,u.p,n,d*c*h),!p.fixed&&XL(p.p,p.p,n,-(1-d)*c*h)}for(a=0;a<o;a++)(v=t[a]).fixed||(U(n,r,v.p),XL(v.p,v.p,n,s*h));for(a=0;a<o;a++)for(var u=t[a],f=a+1;f<o;f++){var p=t[f];U(n,p.p,u.p),0===(c=X(n))&&(W(n,Math.random()-.5,Math.random()-.5),c=1);var g=(u.rep+p.rep)/c/c;!u.fixed&&XL(u.pp,u.pp,n,g),!p.fixed&&XL(p.pp,p.pp,n,-g)}for(var m=[],a=0;a<o;a++){var v=t[a];v.fixed||(U(m,v.p,v.pp),XL(v.p,v.p,m,h),G(v.pp,v.p))}h*=.992,i&&i(t,e,h<.01)}}}function bf(t,e,i){var n=t.getBoxLayoutParams();return n.aspect=i,ca(n,{width:e.getWidth(),height:e.getHeight()})}function Sf(t,e){var i=t.get("center"),n=e.getWidth(),o=e.getHeight(),a=Math.min(n,o);return{cx:Vo(i[0],e.getWidth()),cy:Vo(i[1],e.getHeight()),r:Vo(t.get("radius"),a/2)}}function Mf(t,e){return e&&("string"==typeof e?t=e.replace("{value}",null!=t?t:""):"function"==typeof e&&(t=e(t))),t}function If(t,e){function i(){a.ignore=a.hoverIgnore,r.ignore=r.hoverIgnore}function n(){a.ignore=a.normalIgnore,r.ignore=r.normalIgnore}tb.call(this);var o=new pM,a=new gM,r=new rM;this.add(o),this.add(a),this.add(r),this.updateData(t,e,!0),this.on("emphasis",i).on("normal",n).on("mouseover",i).on("mouseout",n)}function Tf(t,e){return ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Af(t,e){for(var i=t.mapDimension("value"),n=t.mapArray(i,function(t){return t}),o=[],a="ascending"===e,r=0,s=t.count();r<s;r++)o[r]=r;return"function"==typeof e?o.sort(e):"none"!==e&&o.sort(function(t,e){return a?n[t]-n[e]:n[e]-n[t]}),o}function Df(t){t.each(function(e){var i,n,o,a,r=t.getItemModel(e),s=r.getModel("label").get("position"),l=r.getModel("labelLine"),u=t.getItemLayout(e),h=u.points,c="inner"===s||"inside"===s||"center"===s;if(c)i="center",a=[[n=(h[0][0]+h[1][0]+h[2][0]+h[3][0])/4,o=(h[0][1]+h[1][1]+h[2][1]+h[3][1])/4],[n,o]];else{var d,f,p,g=l.get("length");"left"===s?(d=(h[3][0]+h[0][0])/2,f=(h[3][1]+h[0][1])/2,n=(p=d-g)-5,i="right"):(d=(h[1][0]+h[2][0])/2,f=(h[1][1]+h[2][1])/2,n=(p=d+g)+5,i="left");var m=f;a=[[d,f],[p,m]],o=m}u.label={linePoints:a,x:n,y:o,verticalAlign:"middle",textAlign:i,inside:c}})}function Cf(t){if(!t.parallel){var e=!1;d(t.series,function(t){t&&"parallel"===t.type&&(e=!0)}),e&&(t.parallel=[{}])}}function Lf(t){d(Di(t.parallelAxis),function(e){if(w(e)){var i=e.parallelIndex||0,o=Di(t.parallel)[i];o&&o.parallelAxisDefault&&n(e,o.parallelAxisDefault,!1)}})}function kf(t,e){var i=t[e]-t[1-e];return{span:Math.abs(i),sign:i>0?-1:i<0?1:e?-1:1}}function Pf(t,e){return Math.min(e[1],Math.max(e[0],t))}function Nf(t,e,i){this._axesMap=R(),this._axesLayout={},this.dimensions=t.dimensions,this._rect,this._model=t,this._init(t,e,i)}function Of(t,e){return ek(ik(t,e[0]),e[1])}function Ef(t,e){var i=e.layoutLength/(e.axisCount-1);return{position:i*t,axisNameAvailableWidth:i,axisLabelShow:!0}}function Rf(t,e){var i,n,o=e.layoutLength,a=e.axisExpandWidth,r=e.axisCount,s=e.axisCollapseWidth,l=e.winInnerIndices,u=s,h=!1;return t<l[0]?(i=t*s,n=s):t<=l[1]?(i=e.axisExpandWindow0Pos+t*a-e.axisExpandWindow[0],u=a,h=!0):(i=o-(r-1-t)*s,n=s),{position:i,axisNameAvailableWidth:u,axisLabelShow:h,nameTruncateMaxWidth:n}}function zf(t){fw.call(this),this._zr=t,this.group=new tb,this._brushType,this._brushOption,this._panels,this._track=[],this._dragging,this._covers=[],this._creatingCover,this._creatingPanel,this._enableGlobalPan,this._uid="brushController_"+bk++,this._handlers={},hk(Sk,function(t,e){this._handlers[e]=m(t,this)},this)}function Bf(t,e){var o=t._zr;t._enableGlobalPan||tc(o,yk,t._uid),hk(t._handlers,function(t,e){o.on(e,t)}),t._brushType=e.brushType,t._brushOption=n(i(wk),e,!0)}function Vf(t){var e=t._zr;ec(e,yk,t._uid),hk(t._handlers,function(t,i){e.off(i,t)}),t._brushType=t._brushOption=null}function Gf(t,e){var i=Mk[e.brushType].createCover(t,e);return i.__brushOption=e,Hf(i,e),t.group.add(i),i}function Ff(t,e){var i=Uf(e);return i.endCreating&&(i.endCreating(t,e),Hf(e,e.__brushOption)),e}function Wf(t,e){var i=e.__brushOption;Uf(e).updateCoverShape(t,e,i.range,i)}function Hf(t,e){var i=e.z;null==i&&(i=gk),t.traverse(function(t){t.z=i,t.z2=i})}function Zf(t,e){Uf(e).updateCommon(t,e),Wf(t,e)}function Uf(t){return Mk[t.__brushOption.brushType]}function Xf(t,e,i){var n=t._panels;if(!n)return!0;var o,a=t._transform;return hk(n,function(t){t.isTargetByCursor(e,i,a)&&(o=t)}),o}function jf(t,e){var i=t._panels;if(!i)return!0;var n=e.__brushOption.panelId;return null==n||i[n]}function Yf(t){var e=t._covers,i=e.length;return hk(e,function(e){t.group.remove(e)},t),e.length=0,!!i}function qf(t,e){var n=ck(t._covers,function(t){var e=t.__brushOption,n=i(e.range);return{brushType:e.brushType,panelId:e.panelId,range:n}});t.trigger("brush",n,{isEnd:!!e.isEnd,removeOnClick:!!e.removeOnClick})}function Kf(t){var e=t._track;if(!e.length)return!1;var i=e[e.length-1],n=e[0],o=i[0]-n[0],a=i[1]-n[1];return pk(o*o+a*a,.5)>mk}function $f(t){var e=t.length-1;return e<0&&(e=0),[t[0],t[e]]}function Jf(t,e,i,n){var o=new tb;return o.add(new yM({name:"main",style:ip(i),silent:!0,draggable:!0,cursor:"move",drift:uk(t,e,o,"nswe"),ondragend:uk(qf,e,{isEnd:!0})})),hk(n,function(i){o.add(new yM({name:i,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:uk(t,e,o,i),ondragend:uk(qf,e,{isEnd:!0})}))}),o}function Qf(t,e,i,n){var o=n.brushStyle.lineWidth||0,a=fk(o,vk),r=i[0][0],s=i[1][0],l=r-o/2,u=s-o/2,h=i[0][1],c=i[1][1],d=h-a+o/2,f=c-a+o/2,p=h-r,g=c-s,m=p+o,v=g+o;ep(t,e,"main",r,s,p,g),n.transformable&&(ep(t,e,"w",l,u,a,v),ep(t,e,"e",d,u,a,v),ep(t,e,"n",l,u,m,a),ep(t,e,"s",l,f,m,a),ep(t,e,"nw",l,u,a,a),ep(t,e,"ne",d,u,a,a),ep(t,e,"sw",l,f,a,a),ep(t,e,"se",d,f,a,a))}function tp(t,e){var i=e.__brushOption,n=i.transformable,o=e.childAt(0);o.useStyle(ip(i)),o.attr({silent:!n,cursor:n?"move":"default"}),hk(["w","e","n","s","se","sw","ne","nw"],function(i){var o=e.childOfName(i),a=ap(t,i);o&&o.attr({silent:!n,invisible:!n,cursor:n?_k[a]+"-resize":null})})}function ep(t,e,i,n,o,a,r){var s=e.childOfName(i);s&&s.setShape(hp(up(t,e,[[n,o],[n+a,o+r]])))}function ip(t){return r({strokeNoScale:!0},t.brushStyle)}function np(t,e,i,n){var o=[dk(t,i),dk(e,n)],a=[fk(t,i),fk(e,n)];return[[o[0],a[0]],[o[1],a[1]]]}function op(t){return Ao(t.group)}function ap(t,e){if(e.length>1)return("e"===(n=[ap(t,(e=e.split(""))[0]),ap(t,e[1])])[0]||"w"===n[0])&&n.reverse(),n.join("");var i={left:"w",right:"e",top:"n",bottom:"s"},n=Co({w:"left",e:"right",n:"top",s:"bottom"}[e],op(t));return i[n]}function rp(t,e,i,n,o,a,r,s){var l=n.__brushOption,u=t(l.range),h=lp(i,a,r);hk(o.split(""),function(t){var e=xk[t];u[e[0]][e[1]]+=h[e[0]]}),l.range=e(np(u[0][0],u[1][0],u[0][1],u[1][1])),Zf(i,n),qf(i,{isEnd:!1})}function sp(t,e,i,n,o){var a=e.__brushOption.range,r=lp(t,i,n);hk(a,function(t){t[0]+=r[0],t[1]+=r[1]}),Zf(t,e),qf(t,{isEnd:!1})}function lp(t,e,i){var n=t.group,o=n.transformCoordToLocal(e,i),a=n.transformCoordToLocal(0,0);return[o[0]-a[0],o[1]-a[1]]}function up(t,e,n){var o=jf(t,e);return o&&!0!==o?o.clipPath(n,t._transform):i(n)}function hp(t){var e=dk(t[0][0],t[1][0]),i=dk(t[0][1],t[1][1]);return{x:e,y:i,width:fk(t[0][0],t[1][0])-e,height:fk(t[0][1],t[1][1])-i}}function cp(t,e,i){if(t._brushType){var n=t._zr,o=t._covers,a=Xf(t,e,i);if(!t._dragging)for(var r=0;r<o.length;r++){var s=o[r].__brushOption;if(a&&(!0===a||s.panelId===a.panelId)&&Mk[s.brushType].contain(o[r],i[0],i[1]))return}a&&n.setCursorStyle("crosshair")}}function dp(t){var e=t.event;e.preventDefault&&e.preventDefault()}function fp(t,e,i){return t.childOfName("main").contain(e,i)}function pp(t,e,n,o){var a,r=t._creatingCover,s=t._creatingPanel,l=t._brushOption;if(t._track.push(n.slice()),Kf(t)||r){if(s&&!r){"single"===l.brushMode&&Yf(t);var u=i(l);u.brushType=gp(u.brushType,s),u.panelId=!0===s?null:s.panelId,r=t._creatingCover=Gf(t,u),t._covers.push(r)}if(r){var h=Mk[gp(t._brushType,s)];r.__brushOption.range=h.getCreatingRange(up(t,r,t._track)),o&&(Ff(t,r),h.updateCommon(t,r)),Wf(t,r),a={isEnd:o}}}else o&&"single"===l.brushMode&&l.removeOnClick&&Xf(t,e,n)&&Yf(t)&&(a={isEnd:o,removeOnClick:!0});return a}function gp(t,e){return"auto"===t?e.defaultBrushType:t}function mp(t){if(this._dragging){dp(t);var e=pp(this,t,this.group.transformCoordToLocal(t.offsetX,t.offsetY),!0);this._dragging=!1,this._track=[],this._creatingCover=null,e&&qf(this,e)}}function vp(t){return{createCover:function(e,i){return Jf(uk(rp,function(e){var i=[e,[0,100]];return t&&i.reverse(),i},function(e){return e[t]}),e,i,[["w","e"],["n","s"]][t])},getCreatingRange:function(e){var i=$f(e);return[dk(i[0][t],i[1][t]),fk(i[0][t],i[1][t])]},updateCoverShape:function(e,i,n,o){var a,r=jf(e,i);if(!0!==r&&r.getLinearBrushOtherExtent)a=r.getLinearBrushOtherExtent(t,e._transform);else{var s=e._zr;a=[0,[s.getWidth(),s.getHeight()][1-t]]}var l=[n,a];t&&l.reverse(),Qf(e,i,l,o)},updateCommon:tp,contain:fp}}function yp(t){return t=wp(t),function(e,i){return ko(e,t)}}function xp(t,e){return t=wp(t),function(i){var n=null!=e?e:i,o=n?t.width:t.height,a=n?t.x:t.y;return[a,a+(o||0)]}}function _p(t,e,i){return t=wp(t),function(n,o,a){return t.contain(o[0],o[1])&&!gc(n,e,i)}}function wp(t){return de.create(t)}function bp(t,e,i){return i&&"axisAreaSelect"===i.type&&e.findComponents({mainType:"parallelAxis",query:i})[0]===t}function Sp(t){var e=t.axis;return f(t.activeIntervals,function(t){return{brushType:"lineX",panelId:"pl",range:[e.dataToCoord(t[0],!0),e.dataToCoord(t[1],!0)]}})}function Mp(t,e){return e.getComponent("parallel",t.get("parallelIndex"))}function Ip(t,e){var i=t._model;return i.get("axisExpandable")&&i.get("axisExpandTriggerOn")===e}function Tp(t,e){if(!t.encodeDefine){var i=e.ecModel.getComponent("parallel",e.get("parallelIndex"));if(i){var n=t.encodeDefine=R();d(i.dimensions,function(t){var e=Ap(t);n.set(t,e)})}}}function Ap(t){return+t.replace("dim","")}function Dp(t,e,i){var n=t.model,o=t.getRect(),a=new yM({shape:{x:o.x,y:o.y,width:o.width,height:o.height}}),r="horizontal"===n.get("layout")?"width":"height";return a.setShape(r,0),To(a,{shape:{width:o.width,height:o.height}},e,i),a}function Cp(t,e,i,n){for(var o=[],a=0;a<i.length;a++){var r=i[a],s=t.get(t.mapDimension(r),e);Np(s,n.getAxis(r).type)||o.push(n.dataToPoint(s,r))}return o}function Lp(t,e,i,n,o){var a=Cp(t,i,n,o),r=new gM({shape:{points:a},silent:!0,z2:10});return e.add(r),t.setItemGraphicEl(i,r),r}function kp(t){var e=t.get("smooth",!0);return!0===e&&(e=Dk),{lineStyle:t.getModel("lineStyle").getLineStyle(),smooth:null!=e?e:Dk}}function Pp(t,e,i,n){var o=n.lineStyle;e.hasItemOption&&(o=e.getItemModel(i).getModel("lineStyle").getLineStyle()),t.useStyle(o);var a=t.style;a.fill=null,a.stroke=e.getItemVisual(i,"color"),a.opacity=e.getItemVisual(i,"opacity"),n.smooth&&(t.shape.smooth=n.smooth)}function Np(t,e){return"category"===e?null==t:null==t||isNaN(t)}function Op(t,e){return t.getVisual("opacity")||t.getModel().get(e)}function Ep(t,e,i){var n=t.getGraphicEl(),o=Op(t,e);null!=i&&(null==o&&(o=1),o*=i),n.downplay&&n.downplay(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",o)})}function Rp(t,e){var i=Op(t,e),n=t.getGraphicEl();n.highlight&&n.highlight(),n.traverse(function(t){"group"!==t.type&&t.setStyle("opacity",i)})}function zp(t,e,i){var n=new yM({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return To(n,{shape:{width:t.width+20,height:t.height+20}},e,i),n}function Bp(t,e){return ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}function Vp(t,e,i,n,o,a,r,s){Fp(t,e,i,o,a,s),Zp(t,e,a,o,n,r,s),eg(t,s)}function Gp(t){d(t,function(t){var e=Qp(t.outEdges,Jp),i=Qp(t.inEdges,Jp),n=Math.max(e,i);t.setLayout({value:n},!0)})}function Fp(t,e,i,n,o,a){for(var r=[],s=[],l=[],u=[],h=0,c=0;c<e.length;c++)r[c]=1;for(c=0;c<t.length;c++)s[c]=t[c].inEdges.length,0===s[c]&&l.push(t[c]);for(;l.length;){for(var d=0;d<l.length;d++){var f=l[d];"vertical"===a?(f.setLayout({y:h},!0),f.setLayout({dy:i},!0)):(f.setLayout({x:h},!0),f.setLayout({dx:i},!0));for(var p=0;p<f.outEdges.length;p++){var g=f.outEdges[p];r[e.indexOf(g)]=0;var m=g.node2;0==--s[t.indexOf(m)]&&u.push(m)}}++h,l=u,u=[]}for(c=0;c<r.length;c++);Wp(t,h,a),Hp(t,"vertical"===a?(o-i)/(h-1):(n-i)/(h-1),a)}function Wp(t,e,i){d(t,function(t){t.outEdges.length||("vertical"===i?t.setLayout({y:e-1},!0):t.setLayout({x:e-1},!0))})}function Hp(t,e,i){d(t,function(t){if("vertical"===i){var n=t.getLayout().y*e;t.setLayout({y:n},!0)}else{var o=t.getLayout().x*e;t.setLayout({x:o},!0)}})}function Zp(t,e,i,n,o,a,r){var s=Up(t,r);Xp(t,s,e,i,n,o,r),jp(s,o,i,n,r);for(var l=1;a>0;a--)Yp(s,l*=.99,r),jp(s,o,i,n,r),tg(s,l,r),jp(s,o,i,n,r)}function Up(t,e){var i=[],n="vertical"===e?"y":"x",o=Zi(t,function(t){return t.getLayout()[n]});return o.keys.sort(function(t,e){return t-e}),d(o.keys,function(t){i.push(o.buckets.get(t))}),i}function Xp(t,e,i,n,o,a,r){var s=[];d(e,function(t){var e=t.length,i=0,l=0;d(t,function(t){i+=t.getLayout().value}),l="vertical"===r?(o-(e-1)*a)/i:(n-(e-1)*a)/i,s.push(l)}),s.sort(function(t,e){return t-e});var l=s[0];d(e,function(t){d(t,function(t,e){var i=t.getLayout().value*l;"vertical"===r?(t.setLayout({x:e},!0),t.setLayout({dx:i},!0)):(t.setLayout({y:e},!0),t.setLayout({dy:i},!0))})}),d(i,function(t){var e=+t.getValue()*l;t.setLayout({dy:e},!0)})}function jp(t,e,i,n,o){d(t,function(t){var a,r,s,l=0,u=t.length;if("vertical"===o){var h;for(t.sort(function(t,e){return t.getLayout().x-e.getLayout().x}),s=0;s<u;s++)(r=l-(a=t[s]).getLayout().x)>0&&(h=a.getLayout().x+r,a.setLayout({x:h},!0)),l=a.getLayout().x+a.getLayout().dx+e;if((r=l-e-n)>0)for(h=a.getLayout().x-r,a.setLayout({x:h},!0),l=h,s=u-2;s>=0;--s)(r=(a=t[s]).getLayout().x+a.getLayout().dx+e-l)>0&&(h=a.getLayout().x-r,a.setLayout({x:h},!0)),l=a.getLayout().x}else{var c;for(t.sort(function(t,e){return t.getLayout().y-e.getLayout().y}),s=0;s<u;s++)(r=l-(a=t[s]).getLayout().y)>0&&(c=a.getLayout().y+r,a.setLayout({y:c},!0)),l=a.getLayout().y+a.getLayout().dy+e;if((r=l-e-i)>0)for(c=a.getLayout().y-r,a.setLayout({y:c},!0),l=c,s=u-2;s>=0;--s)(r=(a=t[s]).getLayout().y+a.getLayout().dy+e-l)>0&&(c=a.getLayout().y-r,a.setLayout({y:c},!0)),l=a.getLayout().y}})}function Yp(t,e,i){d(t.slice().reverse(),function(t){d(t,function(t){if(t.outEdges.length){var n=Qp(t.outEdges,qp,i)/Qp(t.outEdges,Jp,i);if("vertical"===i){var o=t.getLayout().x+(n-$p(t,i))*e;t.setLayout({x:o},!0)}else{var a=t.getLayout().y+(n-$p(t,i))*e;t.setLayout({y:a},!0)}}})})}function qp(t,e){return $p(t.node2,e)*t.getValue()}function Kp(t,e){return $p(t.node1,e)*t.getValue()}function $p(t,e){return"vertical"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function Jp(t){return t.getValue()}function Qp(t,e,i){for(var n=0,o=t.length,a=-1;++a<o;){var r=+e.call(t,t[a],i);isNaN(r)||(n+=r)}return n}function tg(t,e,i){d(t,function(t){d(t,function(t){if(t.inEdges.length){var n=Qp(t.inEdges,Kp,i)/Qp(t.inEdges,Jp,i);if("vertical"===i){var o=t.getLayout().x+(n-$p(t,i))*e;t.setLayout({x:o},!0)}else{var a=t.getLayout().y+(n-$p(t,i))*e;t.setLayout({y:a},!0)}}})})}function eg(t,e){d(t,function(t){"vertical"===e?(t.outEdges.sort(function(t,e){return t.node2.getLayout().x-e.node2.getLayout().x}),t.inEdges.sort(function(t,e){return t.node1.getLayout().x-e.node1.getLayout().x})):(t.outEdges.sort(function(t,e){return t.node2.getLayout().y-e.node2.getLayout().y}),t.inEdges.sort(function(t,e){return t.node1.getLayout().y-e.node1.getLayout().y}))}),d(t,function(t){var e=0,i=0;d(t.outEdges,function(t){t.setLayout({sy:e},!0),e+=t.getLayout().dy}),d(t.inEdges,function(t){t.setLayout({ty:i},!0),i+=t.getLayout().dy})})}function ig(t,e,i,n,o){var a=t.ends,r=new zk({shape:{points:o?og(a,n,t):a}});return ng(t,r,e,i,o),r}function ng(t,e,i,n,o){var a=i.hostModel;(0,zM[o?"initProps":"updateProps"])(e,{shape:{points:t.ends}},a,n);var r=i.getItemModel(n),s=r.getModel(Ek),l=i.getItemVisual(n,"color"),u=s.getItemStyle(["borderColor"]);u.stroke=l,u.strokeNoScale=!0,e.useStyle(u),e.z2=100,fo(e,r.getModel(Rk).getItemStyle())}function og(t,e,i){return f(t,function(t){return t=t.slice(),t[e]=i.initBaseline,t})}function ag(t){var e=[],i=[];return t.eachSeriesByType("boxplot",function(t){var n=t.getBaseAxis(),o=l(i,n);o<0&&(o=i.length,i[o]=n,e[o]={axis:n,seriesModels:[]}),e[o].seriesModels.push(t)}),e}function rg(t){var e,i,n=t.axis,o=t.seriesModels,a=o.length,r=t.boxWidthList=[],s=t.boxOffsetList=[],l=[];if("category"===n.type)i=n.getBandWidth();else{var u=0;Vk(o,function(t){u=Math.max(u,t.getData().count())}),e=n.getExtent(),Math.abs(e[1]-e[0])}Vk(o,function(t){var e=t.get("boxWidth");y(e)||(e=[e,e]),l.push([Vo(e[0],i)||0,Vo(e[1],i)||0])});var h=.8*i-2,c=h/a*.3,d=(h-c*(a-1))/a,f=d/2-h/2;Vk(o,function(t,e){s.push(f),f+=c+d,r.push(Math.min(Math.max(d,l[e][0]),l[e][1]))})}function sg(t,e,i){function n(t,i,n){var o=s.get(i,n),a=[];a[u]=t,a[h]=o;var l;return isNaN(t)||isNaN(o)?l=[NaN,NaN]:(l=r.dataToPoint(a))[u]+=e,l}function o(t,e,i){var n=e.slice(),o=e.slice();n[u]+=l,o[u]-=l,i?t.push(n,o):t.push(o,n)}function a(t,e){var i=e.slice(),n=e.slice();i[u]-=l,n[u]+=l,t.push(i,n)}var r=t.coordinateSystem,s=t.getData(),l=i/2,u="horizontal"===t.get("layout")?0:1,h=1-u,c=["x","y"],d=s.mapDimension(c[u]),f=s.mapDimension(c[h],!0);if(!(null==d||f.length<5))for(var p=0;p<s.count();p++){var g=s.get(d,p),m=n(g,f[2],p),v=n(g,f[0],p),y=n(g,f[1],p),x=n(g,f[3],p),_=n(g,f[4],p),w=[];o(w,y,0),o(w,x,1),w.push(v,y,_,x),a(w,v),a(w,_),a(w,m),s.setItemLayout(p,{initBaseline:m[h],ends:w})}}function lg(t,e,i){var n=t.ends;return new Hk({shape:{points:i?hg(n,t):n},z2:100})}function ug(t,e,i,n){var o=e.getItemModel(i),a=o.getModel(Gk),r=e.getItemVisual(i,"color"),s=e.getItemVisual(i,"borderColor")||r,l=a.getItemStyle(Wk);t.useStyle(l),t.style.strokeNoScale=!0,t.style.fill=r,t.style.stroke=s,t.__simpleBox=n,fo(t,o.getModel(Fk).getItemStyle())}function hg(t,e){return f(t,function(t){return t=t.slice(),t[1]=e.initBaseline,t})}function cg(t,e,i){var n=t.getData(),o=n.getLayout("largePoints"),a=new Zk({shape:{points:o},__sign:1});e.add(a);var r=new Zk({shape:{points:o},__sign:-1});e.add(r),dg(1,a,t,n),dg(-1,r,t,n),i&&(a.incremental=!0,r.incremental=!0)}function dg(t,e,i,n){var o=t>0?"P":"N",a=n.getVisual("borderColor"+o)||n.getVisual("color"+o),r=i.getModel(Gk).getItemStyle(Wk);e.useStyle(r),e.style.fill=null,e.style.stroke=a}function fg(t,e,i,n,o){return i>n?-1:i<n?1:e>0?t.get(o,e-1)<=n?1:-1:1}function pg(t,e){var i,n=t.getBaseAxis(),o="category"===n.type?n.getBandWidth():(i=n.getExtent(),Math.abs(i[1]-i[0])/e.count()),a=Vo(A(t.get("barMaxWidth"),o),o),r=Vo(A(t.get("barMinWidth"),1),o),s=t.get("barWidth");return null!=s?Vo(s,o):Math.max(Math.min(o/2,a),r)}function gg(t){return y(t)||(t=[+t,+t]),t}function mg(t,e){t.eachChild(function(t){t.attr({z:e.z,zlevel:e.zlevel,style:{stroke:"stroke"===e.brushType?e.color:null,fill:"fill"===e.brushType?e.color:null}})})}function vg(t,e){tb.call(this);var i=new wu(t,e),n=new tb;this.add(i),this.add(n),n.beforeUpdate=function(){this.attr(i.getScale())},this.updateData(t,e)}function yg(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=f(e,function(t){var e={coords:[t[0].coord,t[1].coord]};return t[0].name&&(e.fromName=t[0].name),t[1].name&&(e.toName=t[1].name),o([e,t[0],t[1]])}))}function xg(t,e,i){tb.call(this),this.add(this.createLine(t,e,i)),this._updateEffectSymbol(t,e)}function _g(t,e,i){tb.call(this),this._createPolyline(t,e,i)}function wg(t,e,i){xg.call(this,t,e,i),this._lastFrame=0,this._lastFramePercent=0}function bg(){this.group=new tb}function Sg(t){return t instanceof Array||(t=[t,t]),t}function Mg(){var t=iw();this.canvas=t,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}function Ig(t,e,i){var n=t[1]-t[0],o=(e=f(e,function(e){return{interval:[(e.interval[0]-t[0])/n,(e.interval[1]-t[0])/n]}})).length,a=0;return function(t){for(n=a;n<o;n++)if((r=e[n].interval)[0]<=t&&t<=r[1]){a=n;break}if(n===o)for(var n=a-1;n>=0;n--){var r=e[n].interval;if(r[0]<=t&&t<=r[1]){a=n;break}}return n>=0&&n<o&&i[n]}}function Tg(t,e){var i=t[1]-t[0];return e=[(e[0]-t[0])/i,(e[1]-t[0])/i],function(t){return t>=e[0]&&t<=e[1]}}function Ag(t){var e=t.dimensions;return"lng"===e[0]&&"lat"===e[1]}function Dg(t,e,i,n){var o=t.getItemLayout(e),a=i.get("symbolRepeat"),r=i.get("symbolClip"),s=i.get("symbolPosition")||"start",l=(i.get("symbolRotate")||0)*Math.PI/180||0,u=i.get("symbolPatternSize")||2,h=i.isAnimationEnabled(),c={dataIndex:e,layout:o,itemModel:i,symbolType:t.getItemVisual(e,"symbol")||"circle",color:t.getItemVisual(e,"color"),symbolClip:r,symbolRepeat:a,symbolRepeatDirection:i.get("symbolRepeatDirection"),symbolPatternSize:u,rotation:l,animationModel:h?i:null,hoverAnimation:h&&i.get("hoverAnimation"),z2:i.getShallow("z",!0)||0};Cg(i,a,o,n,c),kg(t,e,o,a,r,c.boundingLength,c.pxSign,u,n,c),Pg(i,c.symbolScale,l,n,c);var d=c.symbolSize,f=i.get("symbolOffset");return y(f)&&(f=[Vo(f[0],d[0]),Vo(f[1],d[1])]),Ng(i,d,o,a,r,f,s,c.valueLineWidth,c.boundingLength,c.repeatCutLength,n,c),c}function Cg(t,e,i,n,o){var a,r=n.valueDim,s=t.get("symbolBoundingData"),l=n.coordSys.getOtherAxis(n.coordSys.getBaseAxis()),u=l.toGlobalCoord(l.dataToCoord(0)),h=1-+(i[r.wh]<=0);if(y(s)){var c=[Lg(l,s[0])-u,Lg(l,s[1])-u];c[1]<c[0]&&c.reverse(),a=c[h]}else a=null!=s?Lg(l,s)-u:e?n.coordSysExtent[r.index][h]-u:i[r.wh];o.boundingLength=a,e&&(o.repeatCutLength=i[r.wh]),o.pxSign=a>0?1:a<0?-1:0}function Lg(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function kg(t,e,i,n,o,a,r,s,l,u){var h=l.valueDim,c=l.categoryDim,d=Math.abs(i[c.wh]),f=t.getItemVisual(e,"symbolSize");y(f)?f=f.slice():(null==f&&(f="100%"),f=[f,f]),f[c.index]=Vo(f[c.index],d),f[h.index]=Vo(f[h.index],n?d:Math.abs(a)),u.symbolSize=f,(u.symbolScale=[f[0]/s,f[1]/s])[h.index]*=(l.isHorizontal?-1:1)*r}function Pg(t,e,i,n,o){var a=t.get(cP)||0;a&&(fP.attr({scale:e.slice(),rotation:i}),fP.updateTransform(),a/=fP.getLineScale(),a*=e[n.valueDim.index]),o.valueLineWidth=a}function Ng(t,e,i,n,o,r,s,l,u,h,c,d){var f=c.categoryDim,p=c.valueDim,g=d.pxSign,m=Math.max(e[p.index]+l,0),v=m;if(n){var y=Math.abs(u),x=T(t.get("symbolMargin"),"15%")+"",_=!1;x.lastIndexOf("!")===x.length-1&&(_=!0,x=x.slice(0,x.length-1)),x=Vo(x,e[p.index]);var w=Math.max(m+2*x,0),b=_?0:2*x,S=Qo(n),M=S?n:Kg((y+b)/w);w=m+2*(x=(y-M*m)/2/(_?M:M-1)),b=_?0:2*x,S||"fixed"===n||(M=h?Kg((Math.abs(h)+b)/w):0),v=M*w-b,d.repeatTimes=M,d.symbolMargin=x}var I=g*(v/2),A=d.pathPosition=[];A[f.index]=i[f.wh]/2,A[p.index]="start"===s?I:"end"===s?u-I:u/2,r&&(A[0]+=r[0],A[1]+=r[1]);var D=d.bundlePosition=[];D[f.index]=i[f.xy],D[p.index]=i[p.xy];var C=d.barRectShape=a({},i);C[p.wh]=g*Math.max(Math.abs(i[p.wh]),Math.abs(A[p.index]+I)),C[f.wh]=i[f.wh];var L=d.clipShape={};L[f.xy]=-i[f.xy],L[f.wh]=c.ecSize[f.wh],L[p.xy]=0,L[p.wh]=i[p.wh]}function Og(t){var e=t.symbolPatternSize,i=Jl(t.symbolType,-e/2,-e/2,e,e,t.color);return i.attr({culling:!0}),"image"!==i.type&&i.setStyle({strokeNoScale:!0}),i}function Eg(t,e,i,n){function o(t){var e=l.slice(),n=i.pxSign,o=t;return("start"===i.symbolRepeatDirection?n>0:n<0)&&(o=h-1-t),e[u.index]=d*(o-h/2+.5)+l[u.index],{position:e,scale:i.symbolScale.slice(),rotation:i.rotation}}var a=t.__pictorialBundle,r=i.symbolSize,s=i.valueLineWidth,l=i.pathPosition,u=e.valueDim,h=i.repeatTimes||0,c=0,d=r[e.valueDim.index]+s+2*i.symbolMargin;for(jg(t,function(t){t.__pictorialAnimationIndex=c,t.__pictorialRepeatTimes=h,c<h?Yg(t,null,o(c),i,n):Yg(t,null,{scale:[0,0]},i,n,function(){a.remove(t)}),Wg(t,i),c++});c<h;c++){var f=Og(i);f.__pictorialAnimationIndex=c,f.__pictorialRepeatTimes=h,a.add(f);var p=o(c);Yg(f,{position:p.position,scale:[0,0]},{scale:p.scale,rotation:p.rotation},i,n),f.on("mouseover",function(){jg(t,function(t){t.trigger("emphasis")})}).on("mouseout",function(){jg(t,function(t){t.trigger("normal")})}),Wg(f,i)}}function Rg(t,e,i,n){var o=t.__pictorialBundle,a=t.__pictorialMainPath;a?Yg(a,null,{position:i.pathPosition.slice(),scale:i.symbolScale.slice(),rotation:i.rotation},i,n):(a=t.__pictorialMainPath=Og(i),o.add(a),Yg(a,{position:i.pathPosition.slice(),scale:[0,0],rotation:i.rotation},{scale:i.symbolScale.slice()},i,n),a.on("mouseover",function(){this.trigger("emphasis")}).on("mouseout",function(){this.trigger("normal")})),Wg(a,i)}function zg(t,e,i){var n=a({},e.barRectShape),o=t.__pictorialBarRect;o?Yg(o,null,{shape:n},e,i):(o=t.__pictorialBarRect=new yM({z2:2,shape:n,silent:!0,style:{stroke:"transparent",fill:"transparent",lineWidth:0}}),t.add(o))}function Bg(t,e,i,n){if(i.symbolClip){var o=t.__pictorialClipPath,r=a({},i.clipShape),s=e.valueDim,l=i.animationModel,u=i.dataIndex;if(o)Io(o,{shape:r},l,u);else{r[s.wh]=0,o=new yM({shape:r}),t.__pictorialBundle.setClipPath(o),t.__pictorialClipPath=o;var h={};h[s.wh]=i.clipShape[s.wh],zM[n?"updateProps":"initProps"](o,{shape:h},l,u)}}}function Vg(t,e){var i=t.getItemModel(e);return i.getAnimationDelayParams=Gg,i.isAnimationEnabled=Fg,i}function Gg(t){return{index:t.__pictorialAnimationIndex,count:t.__pictorialRepeatTimes}}function Fg(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow("animation")}function Wg(t,e){t.off("emphasis").off("normal");var i=e.symbolScale.slice();e.hoverAnimation&&t.on("emphasis",function(){this.animateTo({scale:[1.1*i[0],1.1*i[1]]},400,"elasticOut")}).on("normal",function(){this.animateTo({scale:i.slice()},400,"elasticOut")})}function Hg(t,e,i,n){var o=new tb,a=new tb;return o.add(a),o.__pictorialBundle=a,a.attr("position",i.bundlePosition.slice()),i.symbolRepeat?Eg(o,e,i):Rg(o,e,i),zg(o,i,n),Bg(o,e,i,n),o.__pictorialShapeStr=Xg(t,i),o.__pictorialSymbolMeta=i,o}function Zg(t,e,i){var n=i.animationModel,o=i.dataIndex;Io(t.__pictorialBundle,{position:i.bundlePosition.slice()},n,o),i.symbolRepeat?Eg(t,e,i,!0):Rg(t,e,i,!0),zg(t,i,!0),Bg(t,e,i,!0)}function Ug(t,e,i,n){var o=n.__pictorialBarRect;o&&(o.style.text=null);var a=[];jg(n,function(t){a.push(t)}),n.__pictorialMainPath&&a.push(n.__pictorialMainPath),n.__pictorialClipPath&&(i=null),d(a,function(t){Io(t,{scale:[0,0]},i,e,function(){n.parent&&n.parent.remove(n)})}),t.setItemGraphicEl(e,null)}function Xg(t,e){return[t.getItemVisual(e.dataIndex,"symbol")||"none",!!e.symbolRepeat,!!e.symbolClip].join(":")}function jg(t,e,i){d(t.__pictorialBundle.children(),function(n){n!==t.__pictorialBarRect&&e.call(i,n)})}function Yg(t,e,i,n,o,a){e&&t.attr(e),n.symbolClip&&!o?i&&t.attr(i):i&&zM[o?"updateProps":"initProps"](t,i,n.animationModel,n.dataIndex,a)}function qg(t,e,i){var n=i.color,o=i.dataIndex,a=i.itemModel,s=a.getModel("itemStyle").getItemStyle(["color"]),l=a.getModel("emphasis.itemStyle").getItemStyle(),u=a.getShallow("cursor");jg(t,function(t){t.setColor(n),t.setStyle(r({fill:n,opacity:i.opacity},s)),fo(t,l),u&&(t.cursor=u),t.z2=i.z2});var h={},c=e.valueDim.posDesc[+(i.boundingLength>0)],d=t.__pictorialBarRect;kh(d.style,h,a,n,e.seriesModel,o,c),fo(d,h)}function Kg(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}function $g(t,e,i){this.dimension="single",this.dimensions=["single"],this._axis=null,this._rect,this._init(t,e,i),this.model=t}function Jg(t,e){e=e||{};var i=t.coordinateSystem,n=t.axis,o={},a=n.position,r=n.orient,s=i.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};o.position=["vertical"===r?u.vertical[a]:l[0],"horizontal"===r?u.horizontal[a]:l[3]];var h={horizontal:0,vertical:1};o.rotation=Math.PI/2*h[r];var c={top:-1,bottom:1,right:1,left:-1};o.labelDirection=o.tickDirection=o.nameDirection=c[a],t.get("axisTick.inside")&&(o.tickDirection=-o.tickDirection),T(e.labelInside,t.get("axisLabel.inside"))&&(o.labelDirection=-o.labelDirection);var d=e.rotate;return null==d&&(d=t.get("axisLabel.rotate")),o.labelRotation="top"===a?-d:d,o.z2=1,o}function Qg(t,e,i,n,o){var r=t.axis;if(!r.scale.isBlank()&&r.containData(e))if(t.involveSeries){var s=tm(e,t),l=s.payloadBatch,u=s.snapToValue;l[0]&&null==o.seriesIndex&&a(o,l[0]),!n&&t.snap&&r.containData(u)&&null!=u&&(e=u),i.showPointer(t,e,l,o),i.showTooltip(t,s,u)}else i.showPointer(t,e)}function tm(t,e){var i=e.axis,n=i.dim,o=t,a=[],r=Number.MAX_VALUE,s=-1;return _P(e.seriesModels,function(e,l){var u,h,c=e.getData().mapDimension(n,!0);if(e.getAxisTooltipData){var d=e.getAxisTooltipData(c,t,i);h=d.dataIndices,u=d.nestestValue}else{if(!(h=e.getData().indicesOfNearest(c[0],t,"category"===i.type?.5:null)).length)return;u=e.getData().get(c[0],h[0])}if(null!=u&&isFinite(u)){var f=t-u,p=Math.abs(f);p<=r&&((p<r||f>=0&&s<0)&&(r=p,s=f,o=u,a.length=0),_P(h,function(t){a.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})}))}}),{payloadBatch:a,snapToValue:o}}function em(t,e,i,n){t[e.key]={value:i,payloadBatch:n}}function im(t,e,i,n){var o=i.payloadBatch,a=e.axis,r=a.model,s=e.axisPointerModel;if(e.triggerTooltip&&o.length){var l=e.coordSys.model,u=Ah(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:a.dim,axisIndex:r.componentIndex,axisType:r.type,axisId:r.id,value:n,valueLabelOpt:{precision:s.get("label.precision"),formatter:s.get("label.formatter")},seriesDataIndices:o.slice()})}}function nm(t,e,i){var n=i.axesInfo=[];_P(e,function(e,i){var o=e.axisPointerModel.option,a=t[i];a?(!e.useHandle&&(o.status="show"),o.value=a.value,o.seriesDataIndices=(a.payloadBatch||[]).slice()):!e.useHandle&&(o.status="hide"),"show"===o.status&&n.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:o.value})})}function om(t,e,i,n){if(!lm(e)&&t.list.length){var o=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:i.tooltipOption,position:i.position,dataIndexInside:o.dataIndexInside,dataIndex:o.dataIndex,seriesIndex:o.seriesIndex,dataByCoordSys:t.list})}else n({type:"hideTip"})}function am(t,e,i){var n=i.getZr(),o=bP(n).axisPointerLastHighlights||{},a=bP(n).axisPointerLastHighlights={};_P(t,function(t,e){var i=t.axisPointerModel.option;"show"===i.status&&_P(i.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;a[e]=t})});var r=[],s=[];d(o,function(t,e){!a[e]&&s.push(t)}),d(a,function(t,e){!o[e]&&r.push(t)}),s.length&&i.dispatchAction({type:"downplay",escapeConnect:!0,batch:s}),r.length&&i.dispatchAction({type:"highlight",escapeConnect:!0,batch:r})}function rm(t,e){for(var i=0;i<(t||[]).length;i++){var n=t[i];if(e.axis.dim===n.axisDim&&e.axis.model.componentIndex===n.axisIndex)return n}}function sm(t){var e=t.axis.model,i={},n=i.axisDim=t.axis.dim;return i.axisIndex=i[n+"AxisIndex"]=e.componentIndex,i.axisName=i[n+"AxisName"]=e.name,i.axisId=i[n+"AxisId"]=e.id,i}function lm(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function um(t,e,i){if(!U_.node){var n=e.getZr();SP(n).records||(SP(n).records={}),hm(n,e),(SP(n).records[t]||(SP(n).records[t]={})).handler=i}}function hm(t,e){function i(i,n){t.on(i,function(i){var o=pm(e);MP(SP(t).records,function(t){t&&n(t,i,o.dispatchAction)}),cm(o.pendings,e)})}SP(t).initialized||(SP(t).initialized=!0,i("click",v(fm,"click")),i("mousemove",v(fm,"mousemove")),i("globalout",dm))}function cm(t,e){var i,n=t.showTip.length,o=t.hideTip.length;n?i=t.showTip[n-1]:o&&(i=t.hideTip[o-1]),i&&(i.dispatchAction=null,e.dispatchAction(i))}function dm(t,e,i){t.handler("leave",null,i)}function fm(t,e,i,n){e.handler(t,i,n)}function pm(t){var e={showTip:[],hideTip:[]},i=function(n){var o=e[n.type];o?o.push(n):(n.dispatchAction=i,t.dispatchAction(n))};return{dispatchAction:i,pendings:e}}function gm(t,e){if(!U_.node){var i=e.getZr();(SP(i).records||{})[t]&&(SP(i).records[t]=null)}}function mm(){}function vm(t,e,i,n){ym(TP(i).lastProp,n)||(TP(i).lastProp=n,e?Io(i,n,t):(i.stopAnimation(),i.attr(n)))}function ym(t,e){if(w(t)&&w(e)){var i=!0;return d(e,function(e,n){i=i&&ym(t[n],e)}),!!i}return t===e}function xm(t,e){t[e.get("label.show")?"show":"hide"]()}function _m(t){return{position:t.position.slice(),rotation:t.rotation||0}}function wm(t,e,i){var n=e.get("z"),o=e.get("zlevel");t&&t.traverse(function(t){"group"!==t.type&&(null!=n&&(t.z=n),null!=o&&(t.zlevel=o),t.silent=i)})}function bm(t){var e,i=t.get("type"),n=t.getModel(i+"Style");return"line"===i?(e=n.getLineStyle()).fill=null:"shadow"===i&&((e=n.getAreaStyle()).stroke=null),e}function Sm(t,e,i,n,o){var a=Im(i.get("value"),e.axis,e.ecModel,i.get("seriesDataIndices"),{precision:i.get("label.precision"),formatter:i.get("label.formatter")}),r=i.getModel("label"),s=qM(r.get("padding")||0),l=r.getFont(),u=ke(a,l),h=o.position,c=u.width+s[1]+s[3],d=u.height+s[0]+s[2],f=o.align;"right"===f&&(h[0]-=c),"center"===f&&(h[0]-=c/2);var p=o.verticalAlign;"bottom"===p&&(h[1]-=d),"middle"===p&&(h[1]-=d/2),Mm(h,c,d,n);var g=r.get("backgroundColor");g&&"auto"!==g||(g=e.get("axisLine.lineStyle.color")),t.label={shape:{x:0,y:0,width:c,height:d,r:r.get("borderRadius")},position:h.slice(),style:{text:a,textFont:l,textFill:r.getTextColor(),textPosition:"inside",fill:g,stroke:r.get("borderColor")||"transparent",lineWidth:r.get("borderWidth")||0,shadowBlur:r.get("shadowBlur"),shadowColor:r.get("shadowColor"),shadowOffsetX:r.get("shadowOffsetX"),shadowOffsetY:r.get("shadowOffsetY")},z2:10}}function Mm(t,e,i,n){var o=n.getWidth(),a=n.getHeight();t[0]=Math.min(t[0]+e,o)-e,t[1]=Math.min(t[1]+i,a)-i,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}function Im(t,e,i,n,o){t=e.scale.parse(t);var a=e.scale.getLabel(t,{precision:o.precision}),r=o.formatter;if(r){var s={value:Xl(e,t),seriesData:[]};d(n,function(t){var e=i.getSeriesByIndex(t.seriesIndex),n=t.dataIndexInside,o=e&&e.getDataParams(n);o&&s.seriesData.push(o)}),_(r)?a=r.replace("{value}",a):x(r)&&(a=r(s))}return a}function Tm(t,e,i){var n=xt();return Mt(n,n,i.rotation),St(n,n,i.position),Do([t.dataToCoord(e),(i.labelOffset||0)+(i.labelDirection||1)*(i.labelMargin||0)],n)}function Am(t,e,i,n,o,a){var r=FD.innerTextLayout(i.rotation,0,i.labelDirection);i.labelMargin=o.get("label.margin"),Sm(e,n,o,a,{position:Tm(n.axis,t,i),align:r.textAlign,verticalAlign:r.textVerticalAlign})}function Dm(t,e,i){return i=i||0,{x1:t[i],y1:t[1-i],x2:e[i],y2:e[1-i]}}function Cm(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}}function Lm(t,e,i,n,o,a){return{cx:t,cy:e,r0:i,r:n,startAngle:o,endAngle:a,clockwise:!0}}function km(t,e){var i={};return i[e.dim+"AxisIndex"]=e.index,t.getCartesian(i)}function Pm(t){return"x"===t.dim?0:1}function Nm(t){return t.isHorizontal()?0:1}function Om(t,e){var i=t.getRect();return[i[kP[e]],i[kP[e]]+i[PP[e]]]}function Em(t,e,i){var n=new yM({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return To(n,{shape:{width:t.width+20,height:t.height+20}},e,i),n}function Rm(t,e,i){if(t.count())for(var n,o=e.coordinateSystem,a=e.getLayerSeries(),r=t.mapDimension("single"),s=t.mapDimension("value"),l=f(a,function(e){return f(e.indices,function(e){var i=o.dataToPoint(t.get(r,e));return i[1]=t.get(s,e),i})}),u=zm(l),h=u.y0,c=i/u.max,d=a.length,p=a[0].indices.length,g=0;g<p;++g){n=h[g]*c,t.setItemLayout(a[0].indices[g],{layerIndex:0,x:l[0][g][0],y0:n,y:l[0][g][1]*c});for(var m=1;m<d;++m)n+=l[m-1][g][1]*c,t.setItemLayout(a[m].indices[g],{layerIndex:m,x:l[m][g][0],y0:n,y:l[m][g][1]*c})}}function zm(t){for(var e=t.length,i=t[0].length,n=[],o=[],a=0,r={},s=0;s<i;++s){for(var l=0,u=0;l<e;++l)u+=t[l][s][1];u>a&&(a=u),n.push(u)}for(var h=0;h<i;++h)o[h]=(a-n[h])/2;a=0;for(var c=0;c<i;++c){var d=n[c]+o[c];d>a&&(a=d)}return r.y0=o,r.max=a,r}function Bm(t){var e=0;d(t.children,function(t){Bm(t);var i=t.value;y(i)&&(i=i[0]),e+=i});var i=t.value;y(i)&&(i=i[0]),(null==i||isNaN(i))&&(i=e),i<0&&(i=0),y(t.value)?t.value[0]=i:t.value=i}function Vm(t,e,i){function n(){r.ignore=r.hoverIgnore}function o(){r.ignore=r.normalIgnore}tb.call(this);var a=new hM({z2:zP});a.seriesIndex=e.seriesIndex;var r=new rM({z2:BP,silent:t.getModel("label").get("silent")});this.add(a),this.add(r),this.updateData(!0,t,"normal",e,i),this.on("emphasis",n).on("normal",o).on("mouseover",n).on("mouseout",o)}function Gm(t,e,i){var n=t.getVisual("color"),o=t.getVisual("visualMeta");o&&0!==o.length||(n=null);var a=t.getModel("itemStyle").get("color");if(a)return a;if(n)return n;if(0===t.depth)return i.option.color[0];var r=i.option.color.length;return a=i.option.color[Fm(t)%r]}function Fm(t){for(var e=t;e.depth>1;)e=e.parentNode;return l(t.getAncestors()[0].children,e)}function Wm(t,e,i){return i!==RP.NONE&&(i===RP.SELF?t===e:i===RP.ANCESTOR?t===e||t.isAncestorOf(e):t===e||t.isDescendantOf(e))}function Hm(t,e,i){e.getData().setItemVisual(t.dataIndex,"color",i)}function Zm(t,e){var i=t.children||[];t.children=Um(i,e),i.length&&d(t.children,function(t){Zm(t,e)})}function Um(t,e){if("function"==typeof e)return t.sort(e);var i="asc"===e;return t.sort(function(t,e){var n=(t.getValue()-e.getValue())*(i?1:-1);return 0===n?(t.dataIndex-e.dataIndex)*(i?-1:1):n})}function Xm(t,e){return e=e||[0,0],f(["x","y"],function(i,n){var o=this.getAxis(i),a=e[n],r=t[n]/2;return"category"===o.type?o.getBandWidth():Math.abs(o.dataToCoord(a-r)-o.dataToCoord(a+r))},this)}function jm(t,e){return e=e||[0,0],f([0,1],function(i){var n=e[i],o=t[i]/2,a=[],r=[];return a[i]=n-o,r[i]=n+o,a[1-i]=r[1-i]=e[1-i],Math.abs(this.dataToPoint(a)[i]-this.dataToPoint(r)[i])},this)}function Ym(t,e){var i=this.getAxis(),n=e instanceof Array?e[0]:e,o=(t instanceof Array?t[0]:t)/2;return"category"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(n-o)-i.dataToCoord(n+o))}function qm(t,e){return f(["Radius","Angle"],function(i,n){var o=this["get"+i+"Axis"](),a=e[n],r=t[n]/2,s="dataTo"+i,l="category"===o.type?o.getBandWidth():Math.abs(o[s](a-r)-o[s](a+r));return"Angle"===i&&(l=l*Math.PI/180),l},this)}function Km(t){var e,i=t.type;if("path"===i){var n=t.shape,o=null!=n.width&&null!=n.height?{x:n.x||0,y:n.y||0,width:n.width,height:n.height}:null,a=lv(n);(e=Xn(a,null,o,n.layout||"center")).__customPathData=a}else"image"===i?(e=new fi({})).__customImagePath=t.style.image:"text"===i?(e=new rM({})).__customText=t.style.text:e=new(0,zM[i.charAt(0).toUpperCase()+i.slice(1)]);return e.__customGraphicType=i,e.name=t.name,e}function $m(t,e,n,o,a,r,s){var l={},u=n.style||{};if(n.shape&&(l.shape=i(n.shape)),n.position&&(l.position=n.position.slice()),n.scale&&(l.scale=n.scale.slice()),n.origin&&(l.origin=n.origin.slice()),n.rotation&&(l.rotation=n.rotation),"image"===t.type&&n.style){h=l.style={};d(["x","y","width","height"],function(e){Jm(e,h,u,t.style,r)})}if("text"===t.type&&n.style){var h=l.style={};d(["x","y"],function(e){Jm(e,h,u,t.style,r)}),!u.hasOwnProperty("textFill")&&u.fill&&(u.textFill=u.fill),!u.hasOwnProperty("textStroke")&&u.stroke&&(u.textStroke=u.stroke)}if("group"!==t.type&&(t.useStyle(u),r)){t.style.opacity=0;var c=u.opacity;null==c&&(c=1),To(t,{style:{opacity:c}},o,e)}r?t.attr(l):Io(t,l,o,e),n.hasOwnProperty("z2")&&t.attr("z2",n.z2||0),n.hasOwnProperty("silent")&&t.attr("silent",n.silent),n.hasOwnProperty("invisible")&&t.attr("invisible",n.invisible),n.hasOwnProperty("ignore")&&t.attr("ignore",n.ignore),n.hasOwnProperty("info")&&t.attr("info",n.info);var f=n.styleEmphasis,p=!1===f;t.__cusHasEmphStl&&null==f||!t.__cusHasEmphStl&&p||(ro(t,f),t.__cusHasEmphStl=!p),s&&po(t,!p)}function Jm(t,e,i,n,o){null==i[t]||o||(e[t]=i[t],i[t]=n[t])}function Qm(t,e,i,n){function o(t){null==t&&(t=h),v&&(c=e.getItemModel(t),d=c.getModel(UP),f=c.getModel(XP),p=e.getItemVisual(t,"color"),v=!1)}var s=t.get("renderItem"),l=t.coordinateSystem,u={};l&&(u=l.prepareCustoms?l.prepareCustoms():YP[l.type](l));var h,c,d,f,p,g=r({getWidth:n.getWidth,getHeight:n.getHeight,getZr:n.getZr,getDevicePixelRatio:n.getDevicePixelRatio,value:function(t,i){return null==i&&(i=h),e.get(e.getDimension(t||0),i)},style:function(i,n){null==n&&(n=h),o(n);var r=c.getModel(HP).getItemStyle();null!=p&&(r.fill=p);var s=e.getItemVisual(n,"opacity");return null!=s&&(r.opacity=s),mo(r,d,null,{autoColor:p,isRectText:!0}),r.text=d.getShallow("show")?A(t.getFormattedLabel(n,"normal"),_u(e,n)):null,i&&a(r,i),r},styleEmphasis:function(i,n){null==n&&(n=h),o(n);var r=c.getModel(ZP).getItemStyle();return mo(r,f,null,{isRectText:!0},!0),r.text=f.getShallow("show")?D(t.getFormattedLabel(n,"emphasis"),t.getFormattedLabel(n,"normal"),_u(e,n)):null,i&&a(r,i),r},visual:function(t,i){return null==i&&(i=h),e.getItemVisual(i,t)},barLayout:function(t){if(l.getBaseAxis)return Ll(r({axis:l.getBaseAxis()},t),n)},currentSeriesIndices:function(){return i.getCurrentSeriesIndices()},font:function(t){return So(t,i)}},u.api||{}),m={context:{},seriesId:t.id,seriesName:t.name,seriesIndex:t.seriesIndex,coordSys:u.coordSys,dataInsideLength:e.count(),encode:tv(t.getData())},v=!0;return function(t,i){return h=t,v=!0,s&&s(r({dataIndexInside:t,dataIndex:e.getRawIndex(t),actionType:i?i.type:null},m),g)}}function tv(t){var e={};return d(t.dimensions,function(i,n){var o=t.getDimensionInfo(i);if(!o.isExtraCoord){var a=o.coordDim;(e[a]=e[a]||[])[o.coordDimIndex]=n}}),e}function ev(t,e,i,n,o,a){return(t=iv(t,e,i,n,o,a,!0))&&a.setItemGraphicEl(e,t),t}function iv(t,e,i,n,o,a,r){var s=!i,l=(i=i||{}).type,u=i.shape,h=i.style;if(t&&(s||null!=l&&l!==t.__customGraphicType||"path"===l&&uv(u)&&lv(u)!==t.__customPathData||"image"===l&&hv(h,"image")&&h.image!==t.__customImagePath||"text"===l&&hv(u,"text")&&h.text!==t.__customText)&&(o.remove(t),t=null),!s){var c=!t;return!t&&(t=Km(i)),$m(t,e,i,n,a,c,r),"group"===l&&nv(t,e,i,n,a),o.add(t),t}}function nv(t,e,i,n,o){var a=i.children,r=a?a.length:0,s=i.$mergeChildren,l="byName"===s||i.diffChildrenByName,u=!1===s;if(r||l||u)if(l)ov({oldChildren:t.children()||[],newChildren:a||[],dataIndex:e,animatableModel:n,group:t,data:o});else{u&&t.removeAll();for(var h=0;h<r;h++)a[h]&&iv(t.childAt(h),e,a[h],n,t,o)}}function ov(t){new Xs(t.oldChildren,t.newChildren,av,av,t).add(rv).update(rv).remove(sv).execute()}function av(t,e){var i=t&&t.name;return null!=i?i:jP+e}function rv(t,e){var i=this.context,n=null!=t?i.newChildren[t]:null;iv(null!=e?i.oldChildren[e]:null,i.dataIndex,n,i.animatableModel,i.group,i.data)}function sv(t){var e=this.context,i=e.oldChildren[t];i&&e.group.remove(i)}function lv(t){return t&&(t.pathData||t.d)}function uv(t){return t&&(t.hasOwnProperty("pathData")||t.hasOwnProperty("d"))}function hv(t,e){return t&&t.hasOwnProperty(e)}function cv(t,e,i,n){var o=i.type,a=new(0,zM[o.charAt(0).toUpperCase()+o.slice(1)])(i);e.add(a),n.set(t,a),a.__ecGraphicId=t}function dv(t,e){var i=t&&t.parent;i&&("group"===t.type&&t.traverse(function(t){dv(t,e)}),e.removeKey(t.__ecGraphicId),i.remove(t))}function fv(t){return t=a({},t),d(["id","parentId","$action","hv","bounding"].concat(nI),function(e){delete t[e]}),t}function pv(t,e){var i;return d(e,function(e){null!=t[e]&&"auto"!==t[e]&&(i=!0)}),i}function gv(t,e){var i=t.exist;if(e.id=t.keyInfo.id,!e.type&&i&&(e.type=i.type),null==e.parentId){var n=e.parentOption;n?e.parentId=n.id:i&&(e.parentId=i.parentId)}e.parentOption=null}function mv(t,e,i){var o=a({},i),r=t[e],s=i.$action||"merge";"merge"===s?r?(n(r,o,!0),pa(r,o,{ignoreSize:!0}),ma(i,r)):t[e]=o:"replace"===s?t[e]=o:"remove"===s&&r&&(t[e]=null)}function vv(t,e){t&&(t.hv=e.hv=[pv(e,["left","right"]),pv(e,["top","bottom"])],"group"===t.type&&(null==t.width&&(t.width=e.width=0),null==t.height&&(t.height=e.height=0)))}function yv(t,e,i){var n=t.eventData;t.silent||t.ignore||n||(n=t.eventData={componentType:"graphic",componentIndex:e.componentIndex,name:t.name}),n&&(n.info=t.info)}function xv(t,e,i){var n,o={},a="toggleSelected"===t;return i.eachComponent("legend",function(i){a&&null!=n?i[n?"select":"unSelect"](e.name):(i[t](e.name),n=i.isSelected(e.name)),d(i.getData(),function(t){var e=t.get("name");if("\n"!==e&&""!==e){var n=i.isSelected(e);o.hasOwnProperty(e)?o[e]=o[e]&&n:o[e]=n}})}),{name:e.name,selected:o}}function _v(t,e,i){var n=e.getBoxLayoutParams(),o=e.get("padding"),a={width:i.getWidth(),height:i.getHeight()},r=ca(n,a,o);aI(e.get("orient"),t,e.get("itemGap"),r.width,r.height),da(t,n,a,o)}function wv(t,e){var i=qM(e.get("padding")),n=e.getItemStyle(["color","opacity"]);return n.fill=e.get("backgroundColor"),t=new yM({shape:{x:t.x-i[3],y:t.y-i[0],width:t.width+i[1]+i[3],height:t.height+i[0]+i[2],r:e.get("borderRadius")},style:n,silent:!0,z2:-1})}function bv(t,e){e.dispatchAction({type:"legendToggleSelect",name:t})}function Sv(t,e,i,n){var o=i.getZr().storage.getDisplayList()[0];o&&o.useHoverLayer||i.dispatchAction({type:"highlight",seriesName:t,name:e,excludeSeriesId:n})}function Mv(t,e,i,n){var o=i.getZr().storage.getDisplayList()[0];o&&o.useHoverLayer||i.dispatchAction({type:"downplay",seriesName:t,name:e,excludeSeriesId:n})}function Iv(t,e,i){var n=[1,1];n[t.getOrient().index]=0,pa(e,i,{type:"box",ignoreSize:n})}function Tv(t){var e="left "+t+"s cubic-bezier(0.23, 1, 0.32, 1),top "+t+"s cubic-bezier(0.23, 1, 0.32, 1)";return f(lN,function(t){return t+"transition:"+e}).join(";")}function Av(t){var e=[],i=t.get("fontSize"),n=t.getTextColor();return n&&e.push("color:"+n),e.push("font:"+t.getFont()),i&&e.push("line-height:"+Math.round(3*i/2)+"px"),rN(["decoration","align"],function(i){var n=t.get(i);n&&e.push("text-"+i+":"+n)}),e.join(";")}function Dv(t){var e=[],i=t.get("transitionDuration"),n=t.get("backgroundColor"),o=t.getModel("textStyle"),a=t.get("padding");return i&&e.push(Tv(i)),n&&(U_.canvasSupported?e.push("background-Color:"+n):(e.push("background-Color:#"+Zt(n)),e.push("filter:alpha(opacity=70)"))),rN(["width","color","radius"],function(i){var n="border-"+i,o=sN(n),a=t.get(o);null!=a&&e.push(n+":"+a+("color"===i?"":"px"))}),e.push(Av(o)),null!=a&&e.push("padding:"+qM(a).join("px ")+"px"),e.join(";")+";"}function Cv(t,e){if(U_.wxa)return null;var i=document.createElement("div"),n=this._zr=e.getZr();this.el=i,this._x=e.getWidth()/2,this._y=e.getHeight()/2,t.appendChild(i),this._container=t,this._show=!1,this._hideTimeout;var o=this;i.onmouseenter=function(){o._enterable&&(clearTimeout(o._hideTimeout),o._show=!0),o._inContent=!0},i.onmousemove=function(e){if(e=e||window.event,!o._enterable){var i=n.handler;ut(t,e,!0),i.dispatch("mousemove",e)}},i.onmouseleave=function(){o._enterable&&o._show&&o.hideLater(o._hideDelay),o._inContent=!1}}function Lv(t){this._zr=t.getZr(),this._show=!1,this._hideTimeout}function kv(t){for(var e=t.pop();t.length;){var i=t.pop();i&&(No.isInstance(i)&&(i=i.get("tooltip",!0)),"string"==typeof i&&(i={formatter:i}),e=new No(i,e,e.ecModel))}return e}function Pv(t,e){return t.dispatchAction||m(e.dispatchAction,e)}function Nv(t,e,i,n,o,a,r){var s=i.getOuterSize(),l=s.width,u=s.height;return null!=a&&(t+l+a>n?t-=l+a:t+=a),null!=r&&(e+u+r>o?e-=u+r:e+=r),[t,e]}function Ov(t,e,i,n,o){var a=i.getOuterSize(),r=a.width,s=a.height;return t=Math.min(t+r,n)-r,e=Math.min(e+s,o)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}function Ev(t,e,i){var n=i[0],o=i[1],a=0,r=0,s=e.width,l=e.height;switch(t){case"inside":a=e.x+s/2-n/2,r=e.y+l/2-o/2;break;case"top":a=e.x+s/2-n/2,r=e.y-o-5;break;case"bottom":a=e.x+s/2-n/2,r=e.y+l+5;break;case"left":a=e.x-n-5,r=e.y+l/2-o/2;break;case"right":a=e.x+s+5,r=e.y+l/2-o/2}return[a,r]}function Rv(t){return"center"===t||"middle"===t}function zv(t){return t.get("stack")||"__ec_stack_"+t.seriesIndex}function Bv(t){return t.dim}function Vv(t,e){var i={};d(t,function(t,e){var n=t.getData(),o=t.coordinateSystem.getBaseAxis(),a=o.getExtent(),r="category"===o.type?o.getBandWidth():Math.abs(a[1]-a[0])/n.count(),s=i[Bv(o)]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},l=s.stacks;i[Bv(o)]=s;var u=zv(t);l[u]||s.autoWidthCount++,l[u]=l[u]||{width:0,maxWidth:0};var h=Vo(t.get("barWidth"),r),c=Vo(t.get("barMaxWidth"),r),d=t.get("barGap"),f=t.get("barCategoryGap");h&&!l[u].width&&(h=Math.min(s.remainedWidth,h),l[u].width=h,s.remainedWidth-=h),c&&(l[u].maxWidth=c),null!=d&&(s.gap=d),null!=f&&(s.categoryGap=f)});var n={};return d(i,function(t,e){n[e]={};var i=t.stacks,o=t.bandWidth,a=Vo(t.categoryGap,o),r=Vo(t.gap,1),s=t.remainedWidth,l=t.autoWidthCount,u=(s-a)/(l+(l-1)*r);u=Math.max(u,0),d(i,function(t,e){var i=t.maxWidth;i&&i<u&&(i=Math.min(i,s),t.width&&(i=Math.min(i,t.width)),s-=i,t.width=i,l--)}),u=(s-a)/(l+(l-1)*r),u=Math.max(u,0);var h,c=0;d(i,function(t,e){t.width||(t.width=u),h=t,c+=t.width*(1+r)}),h&&(c-=h.width*r);var f=-c/2;d(i,function(t,i){n[e][i]=n[e][i]||{offset:f,width:t.width},f+=t.width*(1+r)})}),n}function Gv(t,e){aD.call(this,"radius",t,e),this.type="category"}function Fv(t,e){e=e||[0,360],aD.call(this,"angle",t,e),this.type="category"}function Wv(t,e){return e.type||(e.data?"category":"value")}function Hv(t,e,i){var n=e.get("center"),o=i.getWidth(),a=i.getHeight();t.cx=Vo(n[0],o),t.cy=Vo(n[1],a);var r=t.getRadiusAxis(),s=Math.min(o,a)/2,l=Vo(e.get("radius"),s);r.inverse?r.setExtent(l,0):r.setExtent(0,l)}function Zv(t,e){var i=this,n=i.getAngleAxis(),o=i.getRadiusAxis();if(n.scale.setExtent(1/0,-1/0),o.scale.setExtent(1/0,-1/0),t.eachSeries(function(t){if(t.coordinateSystem===i){var e=t.getData();d(e.mapDimension("radius",!0),function(t){o.scale.unionExtentFromData(e,gl(e,t))}),d(e.mapDimension("angle",!0),function(t){n.scale.unionExtentFromData(e,gl(e,t))})}}),Wl(n.scale,n.model),Wl(o.scale,o.model),"category"===n.type&&!n.onBand){var a=n.getExtent(),r=360/n.scale.count();n.inverse?a[1]+=r:a[1]-=r,n.setExtent(a[0],a[1])}}function Uv(t,e){if(t.type=e.get("type"),t.scale=Hl(e),t.onBand=e.get("boundaryGap")&&"category"===t.type,t.inverse=e.get("inverse"),"angleAxis"===e.mainType){t.inverse^=e.get("clockwise");var i=e.get("startAngle");t.setExtent(i,i+(t.inverse?-360:360))}e.axis=t,t.model=e}function Xv(t,e,i){e[1]>e[0]&&(e=e.slice().reverse());var n=t.coordToPoint([e[0],i]),o=t.coordToPoint([e[1],i]);return{x1:n[0],y1:n[1],x2:o[0],y2:o[1]}}function jv(t){return t.getRadiusAxis().inverse?0:1}function Yv(t){var e=t[0],i=t[t.length-1];e&&i&&Math.abs(Math.abs(e.coord-i.coord)-360)<1e-4&&t.pop()}function qv(t,e,i){return{position:[t.cx,t.cy],rotation:i/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:e.getModel("axisLabel").get("rotate"),z2:1}}function Kv(t,e,i,n,o){var a=e.axis,r=a.dataToCoord(t),s=n.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l,u,h,c=n.getRadiusAxis().getExtent();if("radius"===a.dim){var d=xt();Mt(d,d,s),St(d,d,[n.cx,n.cy]),l=Do([r,-o],d);var f=e.getModel("axisLabel").get("rotate")||0,p=FD.innerTextLayout(s,f*Math.PI/180,-1);u=p.textAlign,h=p.textVerticalAlign}else{var g=c[1];l=n.coordToPoint([g+o,r]);var m=n.cx,v=n.cy;u=Math.abs(l[0]-m)/g<.3?"center":l[0]>m?"left":"right",h=Math.abs(l[1]-v)/g<.3?"middle":l[1]>v?"top":"bottom"}return{position:l,align:u,verticalAlign:h}}function $v(t,e){e.update="updateView",Es(e,function(e,i){var n={};return i.eachComponent({mainType:"geo",query:e},function(i){i[t](e.name),d(i.coordinateSystem.regions,function(t){n[t.name]=i.isSelected(t.name)||!1})}),{selected:n,name:e.name}})}function Jv(t){var e={};d(t,function(t){e[t]=1}),t.length=0,d(e,function(e,i){t.push(i)})}function Qv(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}function ty(t,e,n){function o(){var t=function(){};return t.prototype.__hidden=t.prototype,new t}var a={};return MN(e,function(e){var r=a[e]=o();MN(t[e],function(t,o){if(hL.isValidType(o)){var a={type:o,visual:t};n&&n(a,e),r[o]=new hL(a),"opacity"===o&&((a=i(a)).type="colorAlpha",r.__hidden.__alphaForOpacity=new hL(a))}})}),a}function ey(t,e,n){var o;d(n,function(t){e.hasOwnProperty(t)&&Qv(e[t])&&(o=!0)}),o&&d(n,function(n){e.hasOwnProperty(n)&&Qv(e[n])?t[n]=i(e[n]):delete t[n]})}function iy(t,e,i,n,o,a){function r(t){return i.getItemVisual(h,t)}function s(t,e){i.setItemVisual(h,t,e)}function l(t,l){h=null==a?t:l;var c=i.getRawDataItem(h);if(!c||!1!==c.visualMap)for(var d=n.call(o,t),f=e[d],p=u[d],g=0,m=p.length;g<m;g++){var v=p[g];f[v]&&f[v].applyVisual(t,r,s)}}var u={};d(t,function(t){var i=hL.prepareVisualTypes(e[t]);u[t]=i});var h;null==a?i.each(l):i.each([a],l)}function ny(t,e,i,n){var o={};return d(t,function(t){var i=hL.prepareVisualTypes(e[t]);o[t]=i}),{progress:function(t,a){null!=n&&(n=a.getDimension(n));for(var r;null!=(r=t.next());){var s=a.getRawDataItem(r);if(!s||!1!==s.visualMap)for(var l=null!=n?a.get(n,r,!0):r,u=i(l),h=e[u],c=o[u],d=0,f=c.length;d<f;d++){var p=c[d];h[p]&&h[p].applyVisual(l,function(t){return a.getItemVisual(r,t)},function(t,e){a.setItemVisual(r,t,e)})}}}}}function oy(t){var e=["x","y"],i=["width","height"];return{point:function(e,i,n){if(e){var o=n.range;return ay(e[t],o)}},rect:function(n,o,a){if(n){var r=a.range,s=[n[e[t]],n[e[t]]+n[i[t]]];return s[1]<s[0]&&s.reverse(),ay(s[0],r)||ay(s[1],r)||ay(r[0],s)||ay(r[1],s)}}}}function ay(t,e){return e[0]<=t&&t<=e[1]}function ry(t,e,i,n,o){for(var a=0,r=o[o.length-1];a<o.length;a++){var s=o[a];if(sy(t,e,i,n,s[0],s[1],r[0],r[1]))return!0;r=s}}function sy(t,e,i,n,o,a,r,s){var l=uy(i-t,o-r,n-e,a-s);if(ly(l))return!1;var u=uy(o-t,o-r,a-e,a-s)/l;if(u<0||u>1)return!1;var h=uy(i-t,o-t,n-e,a-e)/l;return!(h<0||h>1)}function ly(t){return t<=1e-6&&t>=-1e-6}function uy(t,e,i,n){return t*n-e*i}function hy(t,e,i){var n=this._targetInfoList=[],o={},a=dy(e,t);TN(PN,function(t,e){(!i||!i.include||AN(i.include,e)>=0)&&t(a,n,o)})}function cy(t){return t[0]>t[1]&&t.reverse(),t}function dy(t,e){return Vi(t,e,{includeMainTypes:LN})}function fy(t,e,i,n){var o=i.getAxis(["x","y"][t]),a=cy(f([0,1],function(t){return e?o.coordToData(o.toLocalCoord(n[t])):o.toGlobalCoord(o.dataToCoord(n[t]))})),r=[];return r[t]=a,r[1-t]=[NaN,NaN],{values:a,xyMinMax:r}}function py(t,e,i,n){return[e[0]-n[t]*i[0],e[1]-n[t]*i[1]]}function gy(t,e){var i=my(t),n=my(e),o=[i[0]/n[0],i[1]/n[1]];return isNaN(o[0])&&(o[0]=1),isNaN(o[1])&&(o[1]=1),o}function my(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}function vy(t,e,i,n,o){if(o){var a=t.getZr();a[VN]||(a[BN]||(a[BN]=yy),Nr(a,BN,i,e)(t,n))}}function yy(t,e){if(!t.isDisposed()){var i=t.getZr();i[VN]=!0,t.dispatchAction({type:"brushSelect",batch:e}),i[VN]=!1}}function xy(t,e,i,n){for(var o=0,a=e.length;o<a;o++){var r=e[o];if(t[r.brushType](n,i,r.selectors,r))return!0}}function _y(t){var e=t.brushSelector;if(_(e)){var i=[];return d(IN,function(t,n){i[n]=function(i,n,o,a){var r=n.getItemLayout(i);return t[e](r,o,a)}}),i}if(x(e)){var n={};return d(IN,function(t,i){n[i]=e}),n}return e}function wy(t,e){var i=t.option.seriesIndex;return null!=i&&"all"!==i&&(y(i)?l(i,e)<0:e!==i)}function by(t){var e=t.selectors={};return d(IN[t.brushType],function(i,n){e[n]=function(n){return i(n,e,t)}}),t}function Sy(t){return new de(t[0][0],t[1][0],t[0][1]-t[0][0],t[1][1]-t[1][0])}function My(t,e){return n({brushType:t.brushType,brushMode:t.brushMode,transformable:t.transformable,brushStyle:new No(t.brushStyle).getItemStyle(),removeOnClick:t.removeOnClick,z:t.z},e,!0)}function Iy(t,e,i,n){(!n||n.$from!==t.id)&&this._brushController.setPanels(t.brushTargetManager.makePanelOpts(i)).enableBrush(t.brushOption).updateCovers(t.areas.slice())}function Ty(t,e){HN[t]=e}function Ay(t){return HN[t]}function Dy(t,e,i){this.model=t,this.ecModel=e,this.api=i,this._brushType,this._brushMode}function Cy(t,e,i){this._model=t}function Ly(t,e,i,n){var o=i.calendarModel,a=i.seriesModel,r=o?o.coordinateSystem:a?a.coordinateSystem:null;return r===this?r[t](n):null}function ky(t,e){var i=t.cellSize;y(i)?1===i.length&&(i[1]=i[0]):i=t.cellSize=[i,i];var n=f([0,1],function(t){return fa(e,t)&&(i[t]="auto"),null!=i[t]&&"auto"!==i[t]});pa(t,e,{type:"box",ignoreSize:n})}function Py(t){return l(qN,t)>=0}function Ny(t,e,i){function n(t,e){return l(e.nodes,t)>=0}function o(t,n){var o=!1;return e(function(e){d(i(t,e)||[],function(t){n.records[e.name][t]&&(o=!0)})}),o}function a(t,n){n.nodes.push(t),e(function(e){d(i(t,e)||[],function(t){n.records[e.name][t]=!0})})}return function(i){var r={nodes:[],records:{}};if(e(function(t){r.records[t.name]={}}),!i)return r;a(i,r);var s;do{s=!1,t(function(t){!n(t,r)&&o(t,r)&&(a(t,r),s=!0)})}while(s);return r}}function Oy(t,e,i){var n=[1/0,-1/0];return $N(i,function(t){var i=t.getData();i&&$N(i.mapDimension(e,!0),function(t){var e=i.getApproximateExtent(t);e[0]<n[0]&&(n[0]=e[0]),e[1]>n[1]&&(n[1]=e[1])})}),n[1]<n[0]&&(n=[NaN,NaN]),Ey(t,n),n}function Ey(t,e){var i=t.getAxisModel(),n=i.getMin(!0),o="category"===i.get("type"),a=o&&i.getCategories().length;null!=n&&"dataMin"!==n&&"function"!=typeof n?e[0]=n:o&&(e[0]=a>0?0:NaN);var r=i.getMax(!0);return null!=r&&"dataMax"!==r&&"function"!=typeof r?e[1]=r:o&&(e[1]=a>0?a-1:NaN),i.get("scale",!0)||(e[0]>0&&(e[0]=0),e[1]<0&&(e[1]=0)),e}function Ry(t,e){var i=t.getAxisModel(),n=t._percentWindow,o=t._valueWindow;if(n){var a=Zo(o,[0,500]);a=Math.min(a,20);var r=e||0===n[0]&&100===n[1];i.setRange(r?null:+o[0].toFixed(a),r?null:+o[1].toFixed(a))}}function zy(t){var e=t._minMaxSpan={},i=t._dataZoomModel;$N(["min","max"],function(n){e[n+"Span"]=i.get(n+"Span");var o=i.get(n+"ValueSpan");if(null!=o&&(e[n+"ValueSpan"]=o,null!=(o=t.getAxisModel().axis.scale.parse(o)))){var a=t._dataExtent;e[n+"Span"]=Bo(a[0]+o,a,[0,100],!0)}})}function By(t){var e={};return tO(["start","end","startValue","endValue","throttle"],function(i){t.hasOwnProperty(i)&&(e[i]=t[i])}),e}function Vy(t,e){var i=t._rangePropMode,n=t.get("rangeMode");tO([["start","startValue"],["end","endValue"]],function(t,o){var a=null!=e[t[0]],r=null!=e[t[1]];a&&!r?i[o]="percent":!a&&r?i[o]="value":n?i[o]=n[o]:a&&(i[o]="percent")})}function Gy(t){return{x:"y",y:"x",radius:"angle",angle:"radius"}[t]}function Fy(t){return"vertical"===t?"ns-resize":"ew-resize"}function Wy(t,e){var i=Uy(t),n=e.dataZoomId,o=e.coordId;d(i,function(t,i){var a=t.dataZoomInfos;a[n]&&l(e.allCoordIds,o)<0&&(delete a[n],t.count--)}),jy(i);var a=i[o];a||((a=i[o]={coordId:o,dataZoomInfos:{},count:0}).controller=Xy(t,a),a.dispatchAction=v(Yy,t)),!a.dataZoomInfos[n]&&a.count++,a.dataZoomInfos[n]=e;var r=qy(a.dataZoomInfos);a.controller.enable(r.controlType,r.opt),a.controller.setPointerChecker(e.containsPoint),Nr(a,"dispatchAction",e.dataZoomModel.get("throttle",!0),"fixRate")}function Hy(t,e){var i=Uy(t);d(i,function(t){t.controller.dispose();var i=t.dataZoomInfos;i[e]&&(delete i[e],t.count--)}),jy(i)}function Zy(t){return t.type+"\0_"+t.id}function Uy(t){var e=t.getZr();return e[fO]||(e[fO]={})}function Xy(t,e){var i=new oc(t.getZr());return d(["pan","zoom","scrollMove"],function(t){i.on(t,function(i){var n=[];d(e.dataZoomInfos,function(o){if(i.isAvailableBehavior(o.dataZoomModel.option)){var a=(o.getRange||{})[t],r=a&&a(e.controller,i);!o.dataZoomModel.get("disabled",!0)&&r&&n.push({dataZoomId:o.dataZoomId,start:r[0],end:r[1]})}}),n.length&&e.dispatchAction(n)})}),i}function jy(t){d(t,function(e,i){e.count||(e.controller.dispose(),delete t[i])})}function Yy(t,e){t.dispatchAction({type:"dataZoom",batch:e})}function qy(t){var e,i={type_true:2,type_move:1,type_false:0,type_undefined:-1},n=!0;return d(t,function(t){var o=t.dataZoomModel,a=!o.get("disabled",!0)&&(!o.get("zoomLock",!0)||"move");i["type_"+a]>i["type_"+e]&&(e=a),n&=o.get("preventDefaultMouseMove",!0)}),{controlType:e,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!n}}}function Ky(t){return function(e,i,n,o){var a=this._range,r=a.slice(),s=e.axisModels[0];if(s){var l=t(r,s,e,i,n,o);return QL(l,r,[0,100],"all"),this._range=r,a[0]!==r[0]||a[1]!==r[1]?r:void 0}}}function $y(t,e){return t&&t.hasOwnProperty&&t.hasOwnProperty(e)}function Jy(t,e,i,n){for(var o=e.targetVisuals[n],a=hL.prepareVisualTypes(o),r={color:t.getData().getVisual("color")},s=0,l=a.length;s<l;s++){var u=a[s],h=o["opacity"===u?"__alphaForOpacity":u];h&&h.applyVisual(i,function(t){return r[t]},function(t,e){r[t]=e})}return r.color}function Qy(t,e,i){if(i[0]===i[1])return i.slice();for(var n=(i[1]-i[0])/200,o=i[0],a=[],r=0;r<=200&&o<i[1];r++)a.push(o),o+=n;return a.push(i[1]),a}function tx(t,e,i){var n=t.option,o=n.align;if(null!=o&&"auto"!==o)return o;for(var a={width:e.getWidth(),height:e.getHeight()},r="horizontal"===n.orient?1:0,s=[["left","right","width"],["top","bottom","height"]],l=s[r],u=[0,null,10],h={},c=0;c<3;c++)h[s[1-r][c]]=u[c],h[l[c]]=2===c?i[0]:n[l[c]];var d=[["x","width",3],["y","height",0]][r],f=ca(h,a,n.padding);return l[(f.margin[d[2]]||0)+f[d[0]]+.5*f[d[1]]<.5*a[d[1]]?0:1]}function ex(t){return d(t||[],function(e){null!=t.dataIndex&&(t.dataIndexInside=t.dataIndex,t.dataIndex=null)}),t}function ix(t,e,i,n){return new pM({shape:{points:t},draggable:!!i,cursor:e,drift:i,onmousemove:function(t){mw(t.event)},ondragend:n})}function nx(t,e){return 0===t?[[0,0],[e,0],[e,-e]]:[[0,0],[e,0],[e,e]]}function ox(t,e,i,n){return t?[[0,-RO(e,zO(i,0))],[VO,0],[0,RO(e,zO(n-i,0))]]:[[0,0],[5,-5],[5,5]]}function ax(t,e,i){var n=BO/2,o=t.get("hoverLinkDataSize");return o&&(n=OO(o,e,i,!0)/2),n}function rx(t){var e=t.get("hoverLinkOnHandle");return!!(null==e?t.get("realtime"):e)}function sx(t){return"vertical"===t?"ns-resize":"ew-resize"}function lx(t,e){var i=t.inverse;("vertical"===t.orient?!i:i)&&e.reverse()}function ux(t){Ci(t,"label",["show"])}function hx(t){return!(isNaN(parseFloat(t.x))&&isNaN(parseFloat(t.y)))}function cx(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}function dx(t,e,i,n,o,a){var r=[],s=pl(e,n)?e.getCalculationInfo("stackResultDimension"):n,l=yx(e,s,t),u=e.indicesOfNearest(s,l)[0];r[o]=e.get(i,u),r[a]=e.get(n,u);var h=Wo(e.get(n,u));return(h=Math.min(h,20))>=0&&(r[a]=+r[a].toFixed(h)),r}function fx(t,e){var n=t.getData(),o=t.coordinateSystem;if(e&&!cx(e)&&!y(e.coord)&&o){var a=o.dimensions,r=px(e,n,o,t);if((e=i(e)).type&&YO[e.type]&&r.baseAxis&&r.valueAxis){var s=XO(a,r.baseAxis.dim),l=XO(a,r.valueAxis.dim);e.coord=YO[e.type](n,r.baseDataDim,r.valueDataDim,s,l),e.value=e.coord[l]}else{for(var u=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],h=0;h<2;h++)YO[u[h]]&&(u[h]=yx(n,n.mapDimension(a[h]),u[h]));e.coord=u}}return e}function px(t,e,i,n){var o={};return null!=t.valueIndex||null!=t.valueDim?(o.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,o.valueAxis=i.getAxis(gx(n,o.valueDataDim)),o.baseAxis=i.getOtherAxis(o.valueAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim)):(o.baseAxis=n.getBaseAxis(),o.valueAxis=i.getOtherAxis(o.baseAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim),o.valueDataDim=e.mapDimension(o.valueAxis.dim)),o}function gx(t,e){var i=t.getData(),n=i.dimensions;e=i.getDimension(e);for(var o=0;o<n.length;o++){var a=i.getDimensionInfo(n[o]);if(a.name===e)return a.coordDim}}function mx(t,e){return!(t&&t.containData&&e.coord&&!hx(e))||t.containData(e.coord)}function vx(t,e,i,n){return n<2?t.coord&&t.coord[n]:t.value}function yx(t,e,i){if("average"===i){var n=0,o=0;return t.each(e,function(t,e){isNaN(t)||(n+=t,o++)}),n/o}return"median"===i?t.getMedian(e):t.getDataExtent(e,!0)["max"===i?1:0]}function xx(t,e,i){var n=e.coordinateSystem;t.each(function(o){var a,r=t.getItemModel(o),s=Vo(r.get("x"),i.getWidth()),l=Vo(r.get("y"),i.getHeight());if(isNaN(s)||isNaN(l)){if(e.getMarkerPosition)a=e.getMarkerPosition(t.getValues(t.dimensions,o));else if(n){var u=t.get(n.dimensions[0],o),h=t.get(n.dimensions[1],o);a=n.dataToPoint([u,h])}}else a=[s,l];isNaN(s)||(a[0]=s),isNaN(l)||(a[1]=l),t.setItemLayout(o,a)})}function _x(t,e,i){var n;n=t?f(t&&t.dimensions,function(t){return r({name:t},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{})}):[{name:"value",type:"float"}];var o=new vA(n,i),a=f(i.get("data"),v(fx,e));return t&&(a=g(a,v(mx,t))),o.initData(a,null,t?vx:function(t){return t.value}),o}function bx(t){return!isNaN(t)&&!isFinite(t)}function Sx(t,e,i,n){var o=1-t,a=n.dimensions[t];return bx(e[o])&&bx(i[o])&&e[t]===i[t]&&n.getAxis(a).containData(e[t])}function Mx(t,e){if("cartesian2d"===t.type){var i=e[0].coord,n=e[1].coord;if(i&&n&&(Sx(1,i,n,t)||Sx(0,i,n,t)))return!0}return mx(t,e[0])&&mx(t,e[1])}function Ix(t,e,i,n,o){var a,r=n.coordinateSystem,s=t.getItemModel(e),l=Vo(s.get("x"),o.getWidth()),u=Vo(s.get("y"),o.getHeight());if(isNaN(l)||isNaN(u)){if(n.getMarkerPosition)a=n.getMarkerPosition(t.getValues(t.dimensions,e));else{var h=r.dimensions,c=t.get(h[0],e),d=t.get(h[1],e);a=r.dataToPoint([c,d])}if("cartesian2d"===r.type){var f=r.getAxis("x"),p=r.getAxis("y"),h=r.dimensions;bx(t.get(h[0],e))?a[0]=f.toGlobalCoord(f.getExtent()[i?0:1]):bx(t.get(h[1],e))&&(a[1]=p.toGlobalCoord(p.getExtent()[i?0:1]))}isNaN(l)||(a[0]=l),isNaN(u)||(a[1]=u)}else a=[l,u];t.setItemLayout(e,a)}function Tx(t,e,i){var n;n=t?f(t&&t.dimensions,function(t){return r({name:t},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{})}):[{name:"value",type:"float"}];var o=new vA(n,i),a=new vA(n,i),s=new vA([],i),l=f(i.get("data"),v(KO,e,t,i));t&&(l=g(l,v(Mx,t)));var u=t?vx:function(t){return t.value};return o.initData(f(l,function(t){return t[0]}),null,u),a.initData(f(l,function(t){return t[1]}),null,u),s.initData(f(l,function(t){return t[2]})),s.hasItemOption=!0,{from:o,to:a,line:s}}function Ax(t){return!isNaN(t)&&!isFinite(t)}function Dx(t,e,i,n){var o=1-t;return Ax(e[o])&&Ax(i[o])}function Cx(t,e){var i=e.coord[0],n=e.coord[1];return!("cartesian2d"!==t.type||!i||!n||!Dx(1,i,n,t)&&!Dx(0,i,n,t))||(mx(t,{coord:i,x:e.x0,y:e.y0})||mx(t,{coord:n,x:e.x1,y:e.y1}))}function Lx(t,e,i,n,o){var a,r=n.coordinateSystem,s=t.getItemModel(e),l=Vo(s.get(i[0]),o.getWidth()),u=Vo(s.get(i[1]),o.getHeight());if(isNaN(l)||isNaN(u)){if(n.getMarkerPosition)a=n.getMarkerPosition(t.getValues(i,e));else{var h=[f=t.get(i[0],e),p=t.get(i[1],e)];r.clampData&&r.clampData(h,h),a=r.dataToPoint(h,!0)}if("cartesian2d"===r.type){var c=r.getAxis("x"),d=r.getAxis("y"),f=t.get(i[0],e),p=t.get(i[1],e);Ax(f)?a[0]=c.toGlobalCoord(c.getExtent()["x0"===i[0]?0:1]):Ax(p)&&(a[1]=d.toGlobalCoord(d.getExtent()["y0"===i[1]?0:1]))}isNaN(l)||(a[0]=l),isNaN(u)||(a[1]=u)}else a=[l,u];return a}function kx(t,e,i){var n,o,a=["x0","y0","x1","y1"];t?(n=f(t&&t.dimensions,function(t){var i=e.getData();return r({name:t},i.getDimensionInfo(i.mapDimension(t))||{})}),o=new vA(f(a,function(t,e){return{name:t,type:n[e%2].type}}),i)):o=new vA(n=[{name:"value",type:"float"}],i);var s=f(i.get("data"),v($O,e,t,i));t&&(s=g(s,v(Cx,t)));var l=t?function(t,e,i,n){return t.coord[Math.floor(n/2)][n%2]}:function(t){return t.value};return o.initData(s,null,l),o.hasItemOption=!0,o}function Px(t){var e=t.type,i={number:"value",time:"time"};if(i[e]&&(t.axisType=i[e],delete t.type),Nx(t),Ox(t,"controlPosition")){var n=t.controlStyle||(t.controlStyle={});Ox(n,"position")||(n.position=t.controlPosition),"none"!==n.position||Ox(n,"show")||(n.show=!1,delete n.position),delete t.controlPosition}d(t.data||[],function(t){w(t)&&!y(t)&&(!Ox(t,"value")&&Ox(t,"name")&&(t.value=t.name),Nx(t))})}function Nx(t){var e=t.itemStyle||(t.itemStyle={}),i=e.emphasis||(e.emphasis={}),n=t.label||t.label||{},o=n.normal||(n.normal={}),a={normal:1,emphasis:1};d(n,function(t,e){a[e]||Ox(o,e)||(o[e]=t)}),i.label&&!Ox(n,"emphasis")&&(n.emphasis=i.label,delete i.label)}function Ox(t,e){return t.hasOwnProperty(e)}function Ex(t,e){return ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},t.get("padding"))}function Rx(t,e,n,o){return Xn(t.get(e).replace(/^path:\/\//,""),i(o||{}),new de(n[0],n[1],n[2],n[3]),"center")}function zx(t,e,i,o,a,r){var s=e.get("color");a?(a.setColor(s),i.add(a),r&&r.onUpdate(a)):((a=Jl(t.get("symbol"),-1,-1,2,2,s)).setStyle("strokeNoScale",!0),i.add(a),r&&r.onCreate(a));var l=e.getItemStyle(["color","symbol","symbolSize"]);a.setStyle(l),o=n({rectHover:!0,z2:100},o,!0);var u=t.get("symbolSize");(u=u instanceof Array?u.slice():[+u,+u])[0]/=2,u[1]/=2,o.scale=u;var h=t.get("symbolOffset");if(h){var c=o.position=o.position||[0,0];c[0]+=Vo(h[0],u[0]),c[1]+=Vo(h[1],u[1])}var d=t.get("symbolRotate");return o.rotation=(d||0)*Math.PI/180||0,a.attr(o),a.updateTransform(),a}function Bx(t,e,i,n,o){if(!t.dragging){var a=n.getModel("checkpointStyle"),r=i.dataToCoord(n.getData().get(["value"],e));o||!a.get("animation",!0)?t.attr({position:[r,0]}):(t.stopAnimation(!0),t.animateTo({position:[r,0]},a.get("animationDuration",!0),a.get("animationEasing",!0)))}}function Vx(t){return 0===t.indexOf("my")}function Gx(t){this.model=t}function Fx(t){this.model=t}function Wx(t){var e={},i=[],n=[];return t.eachRawSeries(function(t){var o=t.coordinateSystem;if(!o||"cartesian2d"!==o.type&&"polar"!==o.type)i.push(t);else{var a=o.getBaseAxis();if("category"===a.type){var r=a.dim+"_"+a.index;e[r]||(e[r]={categoryAxis:a,valueAxis:o.getOtherAxis(a),series:[]},n.push({axisDim:a.dim,axisIndex:a.index})),e[r].series.push(t)}else i.push(t)}}),{seriesGroupByCategoryAxis:e,other:i,meta:n}}function Hx(t){var e=[];return d(t,function(t,i){var n=t.categoryAxis,o=t.valueAxis.dim,a=[" "].concat(f(t.series,function(t){return t.name})),r=[n.model.getCategories()];d(t.series,function(t){r.push(t.getRawData().mapArray(o,function(t){return t}))});for(var s=[a.join(fE)],l=0;l<r[0].length;l++){for(var u=[],h=0;h<r.length;h++)u.push(r[h][l]);s.push(u.join(fE))}e.push(s.join("\n"))}),e.join("\n\n"+dE+"\n\n")}function Zx(t){return f(t,function(t){var e=t.getRawData(),i=[t.name],n=[];return e.each(e.dimensions,function(){for(var t=arguments.length,o=arguments[t-1],a=e.getName(o),r=0;r<t-1;r++)n[r]=arguments[r];i.push((a?a+fE:"")+n.join(fE))}),i.join("\n")}).join("\n\n"+dE+"\n\n")}function Ux(t){var e=Wx(t);return{value:g([Hx(e.seriesGroupByCategoryAxis),Zx(e.other)],function(t){return t.replace(/[\n\t\s]/g,"")}).join("\n\n"+dE+"\n\n"),meta:e.meta}}function Xx(t){return t.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function jx(t){if(t.slice(0,t.indexOf("\n")).indexOf(fE)>=0)return!0}function Yx(t){for(var e=t.split(/\n+/g),i=[],n=f(Xx(e.shift()).split(pE),function(t){return{name:t,data:[]}}),o=0;o<e.length;o++){var a=Xx(e[o]).split(pE);i.push(a.shift());for(var r=0;r<a.length;r++)n[r]&&(n[r].data[o]=a[r])}return{series:n,categories:i}}function qx(t){for(var e=t.split(/\n+/g),i=Xx(e.shift()),n=[],o=0;o<e.length;o++){var a,r=Xx(e[o]).split(pE),s="",l=!1;isNaN(r[0])?(l=!0,s=r[0],r=r.slice(1),n[o]={name:s,value:[]},a=n[o].value):a=n[o]=[];for(var u=0;u<r.length;u++)a.push(+r[u]);1===a.length&&(l?n[o].value=a[0]:n[o]=a[0])}return{name:i,data:n}}function Kx(t,e){var i={series:[]};return d(t.split(new RegExp("\n*"+dE+"\n*","g")),function(t,n){if(jx(t)){var o=Yx(t),a=e[n],r=a.axisDim+"Axis";a&&(i[r]=i[r]||[],i[r][a.axisIndex]={data:o.categories},i.series=i.series.concat(o.series))}else{o=qx(t);i.series.push(o)}}),i}function $x(t){this._dom=null,this.model=t}function Jx(t,e){return f(t,function(t,i){var n=e&&e[i];return w(n)&&!y(n)?(w(t)&&!y(t)&&(t=t.value),r({value:t},n)):t})}function Qx(t,e){var i=n_(t);gE(e,function(e,n){for(var o=i.length-1;o>=0&&!i[o][n];o--);if(o<0){var a=t.queryComponents({mainType:"dataZoom",subType:"select",id:n})[0];if(a){var r=a.getPercentRange();i[0][n]={dataZoomId:n,start:r[0],end:r[1]}}}}),i.push(e)}function t_(t){var e=n_(t),i=e[e.length-1];e.length>1&&e.pop();var n={};return gE(i,function(t,i){for(var o=e.length-1;o>=0;o--)if(t=e[o][i]){n[i]=t;break}}),n}function e_(t){t[mE]=null}function i_(t){return n_(t).length}function n_(t){var e=t[mE];return e||(e=t[mE]=[{}]),e}function o_(t,e,i){(this._brushController=new zf(i.getZr())).on("brush",m(this._onBrush,this)).mount(),this._isZoomActive}function a_(t){var e={};return d(["xAxisIndex","yAxisIndex"],function(i){e[i]=t[i],null==e[i]&&(e[i]="all"),(!1===e[i]||"none"===e[i])&&(e[i]=[])}),e}function r_(t,e){t.setIconStatus("back",i_(e)>1?"emphasis":"normal")}function s_(t,e,i,n,o){var a=i._isZoomActive;n&&"takeGlobalCursor"===n.type&&(a="dataZoomSelect"===n.key&&n.dataZoomSelectActive),i._isZoomActive=a,t.setIconStatus("zoom",a?"emphasis":"normal");var r=new hy(a_(t.option),e,{include:["grid"]});i._brushController.setPanels(r.makePanelOpts(o,function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"})).enableBrush(!!a&&{brushType:"auto",brushStyle:{lineWidth:0,fill:"rgba(0,0,0,0.2)"}})}function l_(t){this.model=t}function u_(t){return SE(t)}function h_(){if(!TE&&AE){TE=!0;var t=AE.styleSheets;t.length<31?AE.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):t[0].addRule(".zrvml","behavior:url(#default#VML)")}}function c_(t){return parseInt(t,10)}function d_(t,e){h_(),this.root=t,this.storage=e;var i=document.createElement("div"),n=document.createElement("div");i.style.cssText="display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;",n.style.cssText="position:absolute;left:0;top:0;",t.appendChild(i),this._vmlRoot=n,this._vmlViewport=i,this.resize();var o=e.delFromStorage,a=e.addToStorage;e.delFromStorage=function(t){o.call(e,t),t&&t.onRemove&&t.onRemove(n)},e.addToStorage=function(t){t.onAdd&&t.onAdd(n),a.call(e,t)},this._firstPaint=!0}function f_(t){return function(){Yw('In IE8.0 VML mode painter not support method "'+t+'"')}}function p_(t){return document.createElementNS(sR,t)}function g_(t){return cR(1e4*t)/1e4}function m_(t){return t<vR&&t>-vR}function v_(t,e){var i=e?t.textFill:t.fill;return null!=i&&i!==hR}function y_(t,e){var i=e?t.textStroke:t.stroke;return null!=i&&i!==hR}function x_(t,e){e&&__(t,"transform","matrix("+uR.call(e,",")+")")}function __(t,e,i){(!i||"linear"!==i.type&&"radial"!==i.type)&&t.setAttribute(e,i)}function w_(t,e,i){t.setAttributeNS("http://www.w3.org/1999/xlink",e,i)}function b_(t,e,i,n){if(v_(e,i)){var o=i?e.textFill:e.fill;o="transparent"===o?hR:o,"none"!==t.getAttribute("clip-path")&&o===hR&&(o="rgba(0, 0, 0, 0.002)"),__(t,"fill",o),__(t,"fill-opacity",null!=e.fillOpacity?e.fillOpacity*e.opacity:e.opacity)}else __(t,"fill",hR);if(y_(e,i)){var a=i?e.textStroke:e.stroke;__(t,"stroke",a="transparent"===a?hR:a),__(t,"stroke-width",(i?e.textStrokeWidth:e.lineWidth)/(!i&&e.strokeNoScale?n.getLineScale():1)),__(t,"paint-order",i?"stroke":"fill"),__(t,"stroke-opacity",null!=e.strokeOpacity?e.strokeOpacity:e.opacity),e.lineDash?(__(t,"stroke-dasharray",e.lineDash.join(",")),__(t,"stroke-dashoffset",cR(e.lineDashOffset||0))):__(t,"stroke-dasharray",""),e.lineCap&&__(t,"stroke-linecap",e.lineCap),e.lineJoin&&__(t,"stroke-linejoin",e.lineJoin),e.miterLimit&&__(t,"stroke-miterlimit",e.miterLimit)}else __(t,"stroke",hR)}function S_(t){for(var e=[],i=t.data,n=t.len(),o=0;o<n;){var a="",r=0;switch(i[o++]){case lR.M:a="M",r=2;break;case lR.L:a="L",r=2;break;case lR.Q:a="Q",r=4;break;case lR.C:a="C",r=6;break;case lR.A:var s=i[o++],l=i[o++],u=i[o++],h=i[o++],c=i[o++],d=i[o++],f=i[o++],p=i[o++],g=Math.abs(d),m=m_(g-gR)&&!m_(g),v=!1;v=g>=gR||!m_(g)&&(d>-pR&&d<0||d>pR)==!!p;var y=g_(s+u*fR(c)),x=g_(l+h*dR(c));m&&(d=p?gR-1e-4:1e-4-gR,v=!0,9===o&&e.push("M",y,x));var _=g_(s+u*fR(c+d)),w=g_(l+h*dR(c+d));e.push("A",g_(u),g_(h),cR(f*mR),+v,+p,_,w);break;case lR.Z:a="Z";break;case lR.R:var _=g_(i[o++]),w=g_(i[o++]),b=g_(i[o++]),S=g_(i[o++]);e.push("M",_,w,"L",_+b,w,"L",_+b,w+S,"L",_,w+S,"L",_,w)}a&&e.push(a);for(var M=0;M<r;M++)e.push(g_(i[o++]))}return e.join(" ")}function M_(t){return"middle"===t?"middle":"bottom"===t?"after-edge":"hanging"}function I_(){}function T_(t,e,i,n){for(var o=0,a=e.length,r=0,s=0;o<a;o++){var l=e[o];if(l.removed){for(var u=[],h=s;h<s+l.count;h++)u.push(h);l.indices=u,s+=l.count}else{for(var u=[],h=r;h<r+l.count;h++)u.push(h);l.indices=u,r+=l.count,l.added||(s+=l.count)}}return e}function A_(t){return{newPos:t.newPos,components:t.components.slice(0)}}function D_(t,e,i,n,o){this._zrId=t,this._svgRoot=e,this._tagNames="string"==typeof i?[i]:i,this._markLabel=n,this._domName=o||"_dom",this.nextId=0}function C_(t,e){D_.call(this,t,e,["linearGradient","radialGradient"],"__gradient_in_use__")}function L_(t,e){D_.call(this,t,e,"clipPath","__clippath_in_use__")}function k_(t,e){D_.call(this,t,e,["filter"],"__filter_in_use__","_shadowDom")}function P_(t){return t&&(t.shadowBlur||t.shadowOffsetX||t.shadowOffsetY||t.textShadowBlur||t.textShadowOffsetX||t.textShadowOffsetY)}function N_(t){return parseInt(t,10)}function O_(t){return t instanceof Pn?yR:t instanceof fi?xR:t instanceof rM?_R:yR}function E_(t,e){return e&&t&&e.parentNode!==t}function R_(t,e,i){if(E_(t,e)&&i){var n=i.nextSibling;n?t.insertBefore(e,n):t.appendChild(e)}}function z_(t,e){if(E_(t,e)){var i=t.firstChild;i?t.insertBefore(e,i):t.appendChild(e)}}function B_(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)}function V_(t){return t.__textSvgEl}function G_(t){return t.__svgEl}function F_(t){return function(){Yw('In SVG mode painter not support method "'+t+'"')}}var W_=2311,H_=function(){return W_++},Z_={},U_=Z_="object"==typeof wx&&"function"==typeof wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:"undefined"==typeof document&&"undefined"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasSupported:!0,domSupported:!1}:"undefined"==typeof navigator?{browser:{},os:{},node:!0,worker:!1,canvasSupported:!0,svgSupported:!0,domSupported:!1}:function(t){var e={},i={},n=t.match(/Firefox\/([\d.]+)/),o=t.match(/MSIE\s([\d.]+)/)||t.match(/Trident\/.+?rv:(([\d.]+))/),a=t.match(/Edge\/([\d.]+)/),r=/micromessenger/i.test(t);return n&&(i.firefox=!0,i.version=n[1]),o&&(i.ie=!0,i.version=o[1]),a&&(i.edge=!0,i.version=a[1]),r&&(i.weChat=!0),{browser:i,os:e,node:!1,canvasSupported:!!document.createElement("canvas").getContext,svgSupported:"undefined"!=typeof SVGRect,touchEventsSupported:"ontouchstart"in window&&!i.ie&&!i.edge,pointerEventsSupported:"onpointerdown"in window&&(i.edge||i.ie&&i.version>=11),domSupported:"undefined"!=typeof document}}(navigator.userAgent),X_={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},j_={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},Y_=Object.prototype.toString,q_=Array.prototype,K_=q_.forEach,$_=q_.filter,J_=q_.slice,Q_=q_.map,tw=q_.reduce,ew={},iw=function(){return ew.createCanvas()};ew.createCanvas=function(){return document.createElement("canvas")};var nw,ow="__ec_primitive__";E.prototype={constructor:E,get:function(t){return this.data.hasOwnProperty(t)?this.data[t]:null},set:function(t,e){return this.data[t]=e},each:function(t,e){void 0!==e&&(t=m(t,e));for(var i in this.data)this.data.hasOwnProperty(i)&&t(this.data[i],i)},removeKey:function(t){delete this.data[t]}};var aw=(Object.freeze||Object)({$override:e,clone:i,merge:n,mergeAll:o,extend:a,defaults:r,createCanvas:iw,getContext:s,indexOf:l,inherits:u,mixin:h,isArrayLike:c,each:d,map:f,reduce:p,filter:g,find:function(t,e,i){if(t&&e)for(var n=0,o=t.length;n<o;n++)if(e.call(i,t[n],n,t))return t[n]},bind:m,curry:v,isArray:y,isFunction:x,isString:_,isObject:w,isBuiltInObject:b,isTypedArray:S,isDom:M,eqNaN:I,retrieve:T,retrieve2:A,retrieve3:D,slice:C,normalizeCssArray:L,assert:k,trim:P,setAsPrimitive:N,isPrimitive:O,createHashMap:R,concatArray:z,noop:B}),rw="undefined"==typeof Float32Array?Array:Float32Array,sw=X,lw=j,uw=K,hw=$,cw=(Object.freeze||Object)({create:V,copy:G,clone:F,set:W,add:H,scaleAndAdd:Z,sub:U,len:X,length:sw,lenSquare:j,lengthSquare:lw,mul:function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},div:function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},dot:function(t,e){return t[0]*e[0]+t[1]*e[1]},scale:Y,normalize:q,distance:K,dist:uw,distanceSquare:$,distSquare:hw,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},lerp:J,applyTransform:Q,min:tt,max:et});it.prototype={constructor:it,_dragStart:function(t){var e=t.target;e&&e.draggable&&(this._draggingTarget=e,e.dragging=!0,this._x=t.offsetX,this._y=t.offsetY,this.dispatchToElement(nt(e,t),"dragstart",t.event))},_drag:function(t){var e=this._draggingTarget;if(e){var i=t.offsetX,n=t.offsetY,o=i-this._x,a=n-this._y;this._x=i,this._y=n,e.drift(o,a,t),this.dispatchToElement(nt(e,t),"drag",t.event);var r=this.findHover(i,n,e).target,s=this._dropTarget;this._dropTarget=r,e!==r&&(s&&r!==s&&this.dispatchToElement(nt(s,t),"dragleave",t.event),r&&r!==s&&this.dispatchToElement(nt(r,t),"dragenter",t.event))}},_dragEnd:function(t){var e=this._draggingTarget;e&&(e.dragging=!1),this.dispatchToElement(nt(e,t),"dragend",t.event),this._dropTarget&&this.dispatchToElement(nt(this._dropTarget,t),"drop",t.event),this._draggingTarget=null,this._dropTarget=null}};var dw=Array.prototype.slice,fw=function(t){this._$handlers={},this._$eventProcessor=t};fw.prototype={constructor:fw,one:function(t,e,i,n){return at(this,t,e,i,n,!0)},on:function(t,e,i,n){return at(this,t,e,i,n,!1)},isSilent:function(t){var e=this._$handlers;return!e[t]||!e[t].length},off:function(t,e){var i=this._$handlers;if(!t)return this._$handlers={},this;if(e){if(i[t]){for(var n=[],o=0,a=i[t].length;o<a;o++)i[t][o].h!==e&&n.push(i[t][o]);i[t]=n}i[t]&&0===i[t].length&&delete i[t]}else delete i[t];return this},trigger:function(t){var e=this._$handlers[t],i=this._$eventProcessor;if(e){var n=arguments,o=n.length;o>3&&(n=dw.call(n,1));for(var a=e.length,r=0;r<a;){var s=e[r];if(i&&i.filter&&null!=s.query&&!i.filter(t,s.query))r++;else{switch(o){case 1:s.h.call(s.ctx);break;case 2:s.h.call(s.ctx,n[1]);break;case 3:s.h.call(s.ctx,n[1],n[2]);break;default:s.h.apply(s.ctx,n)}s.one?(e.splice(r,1),a--):r++}}}return i&&i.afterTrigger&&i.afterTrigger(t),this},triggerWithContext:function(t){var e=this._$handlers[t],i=this._$eventProcessor;if(e){var n=arguments,o=n.length;o>4&&(n=dw.call(n,1,n.length-1));for(var a=n[n.length-1],r=e.length,s=0;s<r;){var l=e[s];if(i&&i.filter&&null!=l.query&&!i.filter(t,l.query))s++;else{switch(o){case 1:l.h.call(a);break;case 2:l.h.call(a,n[1]);break;case 3:l.h.call(a,n[1],n[2]);break;default:l.h.apply(a,n)}l.one?(e.splice(s,1),r--):s++}}}return i&&i.afterTrigger&&i.afterTrigger(t),this}};var pw="undefined"!=typeof window&&!!window.addEventListener,gw=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,mw=pw?function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0}:function(t){t.returnValue=!1,t.cancelBubble=!0},vw=function(){this._track=[]};vw.prototype={constructor:vw,recognize:function(t,e,i){return this._doTrack(t,e,i),this._recognize(t)},clear:function(){return this._track.length=0,this},_doTrack:function(t,e,i){var n=t.touches;if(n){for(var o={points:[],touches:[],target:e,event:t},a=0,r=n.length;a<r;a++){var s=n[a],l=st(i,s,{});o.points.push([l.zrX,l.zrY]),o.touches.push(s)}this._track.push(o)}},_recognize:function(t){for(var e in yw)if(yw.hasOwnProperty(e)){var i=yw[e](this._track,t);if(i)return i}}};var yw={pinch:function(t,e){var i=t.length;if(i){var n=(t[i-1]||{}).points,o=(t[i-2]||{}).points||n;if(o&&o.length>1&&n&&n.length>1){var a=ft(n)/ft(o);!isFinite(a)&&(a=1),e.pinchScale=a;var r=pt(n);return e.pinchX=r[0],e.pinchY=r[1],{type:"pinch",target:t[0].target,event:e}}}}},xw="silent";vt.prototype.dispose=function(){};var _w=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],ww=function(t,e,i,n){fw.call(this),this.storage=t,this.painter=e,this.painterRoot=n,i=i||new vt,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,this._gestureMgr,it.call(this),this.setHandlerProxy(i)};ww.prototype={constructor:ww,setHandlerProxy:function(t){this.proxy&&this.proxy.dispose(),t&&(d(_w,function(e){t.on&&t.on(e,this[e],this)},this),t.handler=this),this.proxy=t},mousemove:function(t){var e=t.zrX,i=t.zrY,n=this._hovered,o=n.target;o&&!o.__zr&&(o=(n=this.findHover(n.x,n.y)).target);var a=this._hovered=this.findHover(e,i),r=a.target,s=this.proxy;s.setCursor&&s.setCursor(r?r.cursor:"default"),o&&r!==o&&this.dispatchToElement(n,"mouseout",t),this.dispatchToElement(a,"mousemove",t),r&&r!==o&&this.dispatchToElement(a,"mouseover",t)},mouseout:function(t){this.dispatchToElement(this._hovered,"mouseout",t);var e,i=t.toElement||t.relatedTarget;do{i=i&&i.parentNode}while(i&&9!==i.nodeType&&!(e=i===this.painterRoot));!e&&this.trigger("globalout",{event:t})},resize:function(t){this._hovered={}},dispatch:function(t,e){var i=this[t];i&&i.call(this,e)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},dispatchToElement:function(t,e,i){var n=(t=t||{}).target;if(!n||!n.silent){for(var o="on"+e,a=gt(e,t,i);n&&(n[o]&&(a.cancelBubble=n[o].call(n,a)),n.trigger(e,a),n=n.parent,!a.cancelBubble););a.cancelBubble||(this.trigger(e,a),this.painter&&this.painter.eachOtherLayer(function(t){"function"==typeof t[o]&&t[o].call(t,a),t.trigger&&t.trigger(e,a)}))}},findHover:function(t,e,i){for(var n=this.storage.getDisplayList(),o={x:t,y:e},a=n.length-1;a>=0;a--){var r;if(n[a]!==i&&!n[a].ignore&&(r=yt(n[a],t,e))&&(!o.topTarget&&(o.topTarget=n[a]),r!==xw)){o.target=n[a];break}}return o},processGesture:function(t,e){this._gestureMgr||(this._gestureMgr=new vw);var i=this._gestureMgr;"start"===e&&i.clear();var n=i.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if("end"===e&&i.clear(),n){var o=n.type;t.gestureEvent=o,this.dispatchToElement({target:n.target},o,n.event)}}},d(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){ww.prototype[t]=function(e){var i=this.findHover(e.zrX,e.zrY),n=i.target;if("mousedown"===t)this._downEl=n,this._downPoint=[e.zrX,e.zrY],this._upEl=n;else if("mouseup"===t)this._upEl=n;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||uw(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(i,t,e)}}),h(ww,fw),h(ww,it);var bw="undefined"==typeof Float32Array?Array:Float32Array,Sw=(Object.freeze||Object)({create:xt,identity:_t,copy:wt,mul:bt,translate:St,rotate:Mt,scale:It,invert:Tt,clone:At}),Mw=_t,Iw=5e-5,Tw=function(t){(t=t||{}).position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},Aw=Tw.prototype;Aw.transform=null,Aw.needLocalTransform=function(){return Dt(this.rotation)||Dt(this.position[0])||Dt(this.position[1])||Dt(this.scale[0]-1)||Dt(this.scale[1]-1)};var Dw=[];Aw.updateTransform=function(){var t=this.parent,e=t&&t.transform,i=this.needLocalTransform(),n=this.transform;if(i||e){n=n||xt(),i?this.getLocalTransform(n):Mw(n),e&&(i?bt(n,t.transform,n):wt(n,t.transform)),this.transform=n;var o=this.globalScaleRatio;if(null!=o&&1!==o){this.getGlobalScale(Dw);var a=Dw[0]<0?-1:1,r=Dw[1]<0?-1:1,s=((Dw[0]-a)*o+a)/Dw[0]||0,l=((Dw[1]-r)*o+r)/Dw[1]||0;n[0]*=s,n[1]*=s,n[2]*=l,n[3]*=l}this.invTransform=this.invTransform||xt(),Tt(this.invTransform,n)}else n&&Mw(n)},Aw.getLocalTransform=function(t){return Tw.getLocalTransform(this,t)},Aw.setTransform=function(t){var e=this.transform,i=t.dpr||1;e?t.setTransform(i*e[0],i*e[1],i*e[2],i*e[3],i*e[4],i*e[5]):t.setTransform(i,0,0,i,0,0)},Aw.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var Cw=[],Lw=xt();Aw.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],i=t[2]*t[2]+t[3]*t[3],n=this.position,o=this.scale;Dt(e-1)&&(e=Math.sqrt(e)),Dt(i-1)&&(i=Math.sqrt(i)),t[0]<0&&(e=-e),t[3]<0&&(i=-i),n[0]=t[4],n[1]=t[5],o[0]=e,o[1]=i,this.rotation=Math.atan2(-t[1]/i,t[0]/e)}},Aw.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(bt(Cw,t.invTransform,e),e=Cw);var i=this.origin;i&&(i[0]||i[1])&&(Lw[4]=i[0],Lw[5]=i[1],bt(Cw,e,Lw),Cw[4]-=i[0],Cw[5]-=i[1],e=Cw),this.setLocalTransform(e)}},Aw.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1]),t):(t[0]=1,t[1]=1,t)},Aw.transformCoordToLocal=function(t,e){var i=[t,e],n=this.invTransform;return n&&Q(i,i,n),i},Aw.transformCoordToGlobal=function(t,e){var i=[t,e],n=this.transform;return n&&Q(i,i,n),i},Tw.getLocalTransform=function(t,e){Mw(e=e||[]);var i=t.origin,n=t.scale||[1,1],o=t.rotation||0,a=t.position||[0,0];return i&&(e[4]-=i[0],e[5]-=i[1]),It(e,e,n),o&&Mt(e,e,o),i&&(e[4]+=i[0],e[5]+=i[1]),e[4]+=a[0],e[5]+=a[1],e};var kw={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-kw.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*kw.bounceIn(2*t):.5*kw.bounceOut(2*t-1)+.5}};Ct.prototype={constructor:Ct,step:function(t,e){if(this._initialized||(this._startTime=t+this._delay,this._initialized=!0),this._paused)this._pausedTime+=e;else{var i=(t-this._startTime-this._pausedTime)/this._life;if(!(i<0)){i=Math.min(i,1);var n=this.easing,o="string"==typeof n?kw[n]:n,a="function"==typeof o?o(i):i;return this.fire("frame",a),1===i?this.loop?(this.restart(t),"restart"):(this._needsRemove=!0,"destroy"):null}}},restart:function(t){var e=(t-this._startTime-this._pausedTime)%this._life;this._startTime=t-e+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(t,e){this[t="on"+t]&&this[t](this._target,e)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var Pw=function(){this.head=null,this.tail=null,this._len=0},Nw=Pw.prototype;Nw.insert=function(t){var e=new Ow(t);return this.insertEntry(e),e},Nw.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},Nw.remove=function(t){var e=t.prev,i=t.next;e?e.next=i:this.head=i,i?i.prev=e:this.tail=e,t.next=t.prev=null,this._len--},Nw.len=function(){return this._len},Nw.clear=function(){this.head=this.tail=null,this._len=0};var Ow=function(t){this.value=t,this.next,this.prev},Ew=function(t){this._list=new Pw,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null},Rw=Ew.prototype;Rw.put=function(t,e){var i=this._list,n=this._map,o=null;if(null==n[t]){var a=i.len(),r=this._lastRemovedEntry;if(a>=this._maxSize&&a>0){var s=i.head;i.remove(s),delete n[s.key],o=s.value,this._lastRemovedEntry=s}r?r.value=e:r=new Ow(e),r.key=t,i.insertEntry(r),n[t]=r}return o},Rw.get=function(t){var e=this._map[t],i=this._list;if(null!=e)return e!==i.tail&&(i.remove(e),i.insertEntry(e)),e.value},Rw.clear=function(){this._list.clear(),this._map={}};var zw={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},Bw=new Ew(20),Vw=null,Gw=Ut,Fw=Xt,Ww=(Object.freeze||Object)({parse:Gt,lift:Ht,toHex:Zt,fastLerp:Ut,fastMapToColor:Gw,lerp:Xt,mapToColor:Fw,modifyHSL:jt,modifyAlpha:Yt,stringify:qt}),Hw=Array.prototype.slice,Zw=function(t,e,i,n){this._tracks={},this._target=t,this._loop=e||!1,this._getter=i||Kt,this._setter=n||$t,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};Zw.prototype={when:function(t,e){var i=this._tracks;for(var n in e)if(e.hasOwnProperty(n)){if(!i[n]){i[n]=[];var o=this._getter(this._target,n);if(null==o)continue;0!==t&&i[n].push({time:0,value:ae(o)})}i[n].push({time:t,value:e[n]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;t<this._clipList.length;t++)this._clipList[t].pause();this._paused=!0},resume:function(){for(var t=0;t<this._clipList.length;t++)this._clipList[t].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var t=this._doneList,e=t.length,i=0;i<e;i++)t[i].call(this)},start:function(t,e){var i,n=this,o=0;for(var a in this._tracks)if(this._tracks.hasOwnProperty(a)){var r=le(this,t,function(){--o||n._doneCallback()},this._tracks[a],a,e);r&&(this._clipList.push(r),o++,this.animation&&this.animation.addClip(r),i=r)}if(i){var s=i.onframe;i.onframe=function(t,e){s(t,e);for(var i=0;i<n._onframeList.length;i++)n._onframeList[i](t,e)}}return o||this._doneCallback(),this},stop:function(t){for(var e=this._clipList,i=this.animation,n=0;n<e.length;n++){var o=e[n];t&&o.onframe(this._target,1),i&&i.removeClip(o)}e.length=0},delay:function(t){return this._delay=t,this},done:function(t){return t&&this._doneList.push(t),this},getClips:function(){return this._clipList}};var Uw=1;"undefined"!=typeof window&&(Uw=Math.max(window.devicePixelRatio||1,1));var Xw=Uw,jw=function(){},Yw=jw,qw=function(){this.animators=[]};qw.prototype={constructor:qw,animate:function(t,e){var i,n=!1,o=this,a=this.__zr;if(t){var r=t.split("."),s=o;n="shape"===r[0];for(var u=0,h=r.length;u<h;u++)s&&(s=s[r[u]]);s&&(i=s)}else i=o;if(i){var c=o.animators,d=new Zw(i,e);return d.during(function(t){o.dirty(n)}).done(function(){c.splice(l(c,d),1)}),c.push(d),a&&a.animation.addAnimator(d),d}Yw('Property "'+t+'" is not existed in element '+o.id)},stopAnimation:function(t){for(var e=this.animators,i=e.length,n=0;n<i;n++)e[n].stop(t);return e.length=0,this},animateTo:function(t,e,i,n,o,a){ue(this,t,e,i,n,o,a)},animateFrom:function(t,e,i,n,o,a){ue(this,t,e,i,n,o,a,!0)}};var Kw=function(t){Tw.call(this,t),fw.call(this,t),qw.call(this,t),this.id=t.id||H_()};Kw.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,isGroup:!1,drift:function(t,e){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var i=this.transform;i||(i=this.transform=[1,0,0,1,0,0]),i[4]+=t,i[5]+=e,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(t,e){},attrKV:function(t,e){if("position"===t||"scale"===t||"origin"===t){if(e){var i=this[t];i||(i=this[t]=[]),i[0]=e[0],i[1]=e[1]}}else this[t]=e},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(w(t))for(var i in t)t.hasOwnProperty(i)&&this.attrKV(i,t[i]);return this.dirty(!1),this},setClipPath:function(t){var e=this.__zr;e&&t.addSelfToZr(e),this.clipPath&&this.clipPath!==t&&this.removeClipPath(),this.clipPath=t,t.__zr=e,t.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var t=this.clipPath;t&&(t.__zr&&t.removeSelfFromZr(t.__zr),t.__zr=null,t.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(t){this.__zr=t;var e=this.animators;if(e)for(var i=0;i<e.length;i++)t.animation.addAnimator(e[i]);this.clipPath&&this.clipPath.addSelfToZr(t)},removeSelfFromZr:function(t){this.__zr=null;var e=this.animators;if(e)for(var i=0;i<e.length;i++)t.animation.removeAnimator(e[i]);this.clipPath&&this.clipPath.removeSelfFromZr(t)}},h(Kw,qw),h(Kw,Tw),h(Kw,fw);var $w=Q,Jw=Math.min,Qw=Math.max;de.prototype={constructor:de,union:function(t){var e=Jw(t.x,this.x),i=Jw(t.y,this.y);this.width=Qw(t.x+t.width,this.x+this.width)-e,this.height=Qw(t.y+t.height,this.y+this.height)-i,this.x=e,this.y=i},applyTransform:function(){var t=[],e=[],i=[],n=[];return function(o){if(o){t[0]=i[0]=this.x,t[1]=n[1]=this.y,e[0]=n[0]=this.x+this.width,e[1]=i[1]=this.y+this.height,$w(t,t,o),$w(e,e,o),$w(i,i,o),$w(n,n,o),this.x=Jw(t[0],e[0],i[0],n[0]),this.y=Jw(t[1],e[1],i[1],n[1]);var a=Qw(t[0],e[0],i[0],n[0]),r=Qw(t[1],e[1],i[1],n[1]);this.width=a-this.x,this.height=r-this.y}}}(),calculateTransform:function(t){var e=this,i=t.width/e.width,n=t.height/e.height,o=xt();return St(o,o,[-e.x,-e.y]),It(o,o,[i,n]),St(o,o,[t.x,t.y]),o},intersect:function(t){if(!t)return!1;t instanceof de||(t=de.create(t));var e=this,i=e.x,n=e.x+e.width,o=e.y,a=e.y+e.height,r=t.x,s=t.x+t.width,l=t.y,u=t.y+t.height;return!(n<r||s<i||a<l||u<o)},contain:function(t,e){var i=this;return t>=i.x&&t<=i.x+i.width&&e>=i.y&&e<=i.y+i.height},clone:function(){return new de(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},de.create=function(t){return new de(t.x,t.y,t.width,t.height)};var tb=function(t){t=t||{},Kw.call(this,t);for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};tb.prototype={constructor:tb,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,i=0;i<e.length;i++)if(e[i].name===t)return e[i]},childCount:function(){return this._children.length},add:function(t){return t&&t!==this&&t.parent!==this&&(this._children.push(t),this._doAdd(t)),this},addBefore:function(t,e){if(t&&t!==this&&t.parent!==this&&e&&e.parent===this){var i=this._children,n=i.indexOf(e);n>=0&&(i.splice(n,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,i=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof tb&&t.addChildrenToStorage(e)),i&&i.refresh()},remove:function(t){var e=this.__zr,i=this.__storage,n=this._children,o=l(n,t);return o<0?this:(n.splice(o,1),t.parent=null,i&&(i.delFromStorage(t),t instanceof tb&&t.delChildrenFromStorage(i)),e&&e.refresh(),this)},removeAll:function(){var t,e,i=this._children,n=this.__storage;for(e=0;e<i.length;e++)t=i[e],n&&(n.delFromStorage(t),t instanceof tb&&t.delChildrenFromStorage(n)),t.parent=null;return i.length=0,this},eachChild:function(t,e){for(var i=this._children,n=0;n<i.length;n++){var o=i[n];t.call(e,o,n)}return this},traverse:function(t,e){for(var i=0;i<this._children.length;i++){var n=this._children[i];t.call(e,n),"group"===n.type&&n.traverse(t,e)}return this},addChildrenToStorage:function(t){for(var e=0;e<this._children.length;e++){var i=this._children[e];t.addToStorage(i),i instanceof tb&&i.addChildrenToStorage(t)}},delChildrenFromStorage:function(t){for(var e=0;e<this._children.length;e++){var i=this._children[e];t.delFromStorage(i),i instanceof tb&&i.delChildrenFromStorage(t)}},dirty:function(){return this.__dirty=!0,this.__zr&&this.__zr.refresh(),this},getBoundingRect:function(t){for(var e=null,i=new de(0,0,0,0),n=t||this._children,o=[],a=0;a<n.length;a++){var r=n[a];if(!r.ignore&&!r.invisible){var s=r.getBoundingRect(),l=r.getLocalTransform(o);l?(i.copy(s),i.applyTransform(l),(e=e||i.clone()).union(i)):(e=e||s.clone()).union(s)}}return e||i}},u(tb,Kw);var eb=32,ib=7,nb=function(){this._roots=[],this._displayList=[],this._displayListLen=0};nb.prototype={constructor:nb,traverse:function(t,e){for(var i=0;i<this._roots.length;i++)this._roots[i].traverse(t,e)},getDisplayList:function(t,e){return e=e||!1,t&&this.updateDisplayList(e),this._displayList},updateDisplayList:function(t){this._displayListLen=0;for(var e=this._roots,i=this._displayList,n=0,o=e.length;n<o;n++)this._updateAndAddDisplayable(e[n],null,t);i.length=this._displayListLen,U_.canvasSupported&&_e(i,we)},_updateAndAddDisplayable:function(t,e,i){if(!t.ignore||i){t.beforeUpdate(),t.__dirty&&t.update(),t.afterUpdate();var n=t.clipPath;if(n){e=e?e.slice():[];for(var o=n,a=t;o;)o.parent=a,o.updateTransform(),e.push(o),a=o,o=o.clipPath}if(t.isGroup){for(var r=t._children,s=0;s<r.length;s++){var l=r[s];t.__dirty&&(l.__dirty=!0),this._updateAndAddDisplayable(l,e,i)}t.__dirty=!1}else t.__clipPaths=e,this._displayList[this._displayListLen++]=t}},addRoot:function(t){t.__storage!==this&&(t instanceof tb&&t.addChildrenToStorage(this),this.addToStorage(t),this._roots.push(t))},delRoot:function(t){if(null==t){for(i=0;i<this._roots.length;i++){var e=this._roots[i];e instanceof tb&&e.delChildrenFromStorage(this)}return this._roots=[],this._displayList=[],void(this._displayListLen=0)}if(t instanceof Array)for(var i=0,n=t.length;i<n;i++)this.delRoot(t[i]);else{var o=l(this._roots,t);o>=0&&(this.delFromStorage(t),this._roots.splice(o,1),t instanceof tb&&t.delChildrenFromStorage(this))}},addToStorage:function(t){return t&&(t.__storage=this,t.dirty(!1)),this},delFromStorage:function(t){return t&&(t.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:we};var ob={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1},ab=function(t,e,i){return ob.hasOwnProperty(e)?i*=t.dpr:i},rb={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2},sb=9,lb=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],ub=function(t){this.extendFrom(t,!1)};ub.prototype={constructor:ub,fill:"#000",stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:"#000",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:"inside",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:"transparent",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:"transparent",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(t,e,i){var n=this,o=i&&i.style,a=!o||t.__attrCachedBy!==rb.STYLE_BIND;t.__attrCachedBy=rb.STYLE_BIND;for(var r=0;r<lb.length;r++){var s=lb[r],l=s[0];(a||n[l]!==o[l])&&(t[l]=ab(t,l,n[l]||s[1]))}if((a||n.fill!==o.fill)&&(t.fillStyle=n.fill),(a||n.stroke!==o.stroke)&&(t.strokeStyle=n.stroke),(a||n.opacity!==o.opacity)&&(t.globalAlpha=null==n.opacity?1:n.opacity),(a||n.blend!==o.blend)&&(t.globalCompositeOperation=n.blend||"source-over"),this.hasStroke()){var u=n.lineWidth;t.lineWidth=u/(this.strokeNoScale&&e&&e.getLineScale?e.getLineScale():1)}},hasFill:function(){var t=this.fill;return null!=t&&"none"!==t},hasStroke:function(){var t=this.stroke;return null!=t&&"none"!==t&&this.lineWidth>0},extendFrom:function(t,e){if(t)for(var i in t)!t.hasOwnProperty(i)||!0!==e&&(!1===e?this.hasOwnProperty(i):null==t[i])||(this[i]=t[i])},set:function(t,e){"string"==typeof t?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(t,e,i){for(var n=("radial"===e.type?Se:be)(t,e,i),o=e.colorStops,a=0;a<o.length;a++)n.addColorStop(o[a].offset,o[a].color);return n}};for(var hb=ub.prototype,cb=0;cb<lb.length;cb++){var db=lb[cb];db[0]in hb||(hb[db[0]]=db[1])}ub.getGradient=hb.getGradient;var fb=function(t,e){this.image=t,this.repeat=e,this.type="pattern"};fb.prototype.getCanvasPattern=function(t){return t.createPattern(this.image,this.repeat||"repeat")};var pb=function(t,e,i){var n;i=i||Xw,"string"==typeof t?n=Ie(t,e,i):w(t)&&(t=(n=t).id),this.id=t,this.dom=n;var o=n.style;o&&(n.onselectstart=Me,o["-webkit-user-select"]="none",o["user-select"]="none",o["-webkit-touch-callout"]="none",o["-webkit-tap-highlight-color"]="rgba(0,0,0,0)",o.padding=0,o.margin=0,o["border-width"]=0),this.domBack=null,this.ctxBack=null,this.painter=e,this.config=null,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.dpr=i};pb.prototype={constructor:pb,__dirty:!0,__used:!1,__drawIndex:0,__startIndex:0,__endIndex:0,incremental:!1,getElementCount:function(){return this.__endIndex-this.__startIndex},initContext:function(){this.ctx=this.dom.getContext("2d"),this.ctx.dpr=this.dpr},createBackBuffer:function(){var t=this.dpr;this.domBack=Ie("back-"+this.id,this.painter,t),this.ctxBack=this.domBack.getContext("2d"),1!==t&&this.ctxBack.scale(t,t)},resize:function(t,e){var i=this.dpr,n=this.dom,o=n.style,a=this.domBack;o&&(o.width=t+"px",o.height=e+"px"),n.width=t*i,n.height=e*i,a&&(a.width=t*i,a.height=e*i,1!==i&&this.ctxBack.scale(i,i))},clear:function(t,e){var i=this.dom,n=this.ctx,o=i.width,a=i.height,e=e||this.clearColor,r=this.motionBlur&&!t,s=this.lastFrameAlpha,l=this.dpr;if(r&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation="copy",this.ctxBack.drawImage(i,0,0,o/l,a/l)),n.clearRect(0,0,o,a),e&&"transparent"!==e){var u;e.colorStops?(u=e.__canvasGradient||ub.getGradient(n,e,{x:0,y:0,width:o,height:a}),e.__canvasGradient=u):e.image&&(u=fb.prototype.getCanvasPattern.call(e,n)),n.save(),n.fillStyle=u||e,n.fillRect(0,0,o,a),n.restore()}if(r){var h=this.domBack;n.save(),n.globalAlpha=s,n.drawImage(h,0,0,o,a),n.restore()}}};var gb="undefined"!=typeof window&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){setTimeout(t,16)},mb=new Ew(50),vb={},yb=0,xb=5e3,_b=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,wb="12px sans-serif",bb={};bb.measureText=function(t,e){var i=s();return i.font=e||wb,i.measureText(t)};var Sb=wb,Mb={left:1,right:1,center:1},Ib={top:1,bottom:1,middle:1},Tb=[["textShadowBlur","shadowBlur",0],["textShadowOffsetX","shadowOffsetX",0],["textShadowOffsetY","shadowOffsetY",0],["textShadowColor","shadowColor","transparent"]],Ab=new de,Db=function(){};Db.prototype={constructor:Db,drawRectText:function(t,e){var i=this.style;e=i.textRect||e,this.__dirty&&Ye(i);var n=i.text;if(null!=n&&(n+=""),ci(n,i)){t.save();var o=this.transform;i.transformText?this.setTransform(t):o&&(Ab.copy(e),Ab.applyTransform(o),e=Ab),Ke(this,t,n,i,e,sb),t.restore()}}},di.prototype={constructor:di,type:"displayable",__dirty:!0,invisible:!1,z:0,z2:0,zlevel:0,draggable:!1,dragging:!1,silent:!1,culling:!1,cursor:"pointer",rectHover:!1,progressive:!1,incremental:!1,globalScaleRatio:1,beforeBrush:function(t){},afterBrush:function(t){},brush:function(t,e){},getBoundingRect:function(){},contain:function(t,e){return this.rectContain(t,e)},traverse:function(t,e){t.call(e,this)},rectContain:function(t,e){var i=this.transformCoordToLocal(t,e);return this.getBoundingRect().contain(i[0],i[1])},dirty:function(){this.__dirty=this.__dirtyText=!0,this._rect=null,this.__zr&&this.__zr.refresh()},animateStyle:function(t){return this.animate("style",t)},attrKV:function(t,e){"style"!==t?Kw.prototype.attrKV.call(this,t,e):this.style.set(e)},setStyle:function(t,e){return this.style.set(t,e),this.dirty(!1),this},useStyle:function(t){return this.style=new ub(t,this),this.dirty(!1),this}},u(di,Kw),h(di,Db),fi.prototype={constructor:fi,type:"image",brush:function(t,e){var i=this.style,n=i.image;i.bind(t,this,e);var o=this._image=Ae(n,this._image,this,this.onload);if(o&&Ce(o)){var a=i.x||0,r=i.y||0,s=i.width,l=i.height,u=o.width/o.height;if(null==s&&null!=l?s=l*u:null==l&&null!=s?l=s/u:null==s&&null==l&&(s=o.width,l=o.height),this.setTransform(t),i.sWidth&&i.sHeight){var h=i.sx||0,c=i.sy||0;t.drawImage(o,h,c,i.sWidth,i.sHeight,a,r,s,l)}else if(i.sx&&i.sy){var d=s-(h=i.sx),f=l-(c=i.sy);t.drawImage(o,h,c,d,f,a,r,s,l)}else t.drawImage(o,a,r,s,l);null!=i.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))}},getBoundingRect:function(){var t=this.style;return this._rect||(this._rect=new de(t.x||0,t.y||0,t.width||0,t.height||0)),this._rect}},u(fi,di);var Cb=new de(0,0,0,0),Lb=new de(0,0,0,0),kb=function(t,e,i){this.type="canvas";var n=!t.nodeName||"CANVAS"===t.nodeName.toUpperCase();this._opts=i=a({},i||{}),this.dpr=i.devicePixelRatio||Xw,this._singleCanvas=n,this.root=t;var o=t.style;o&&(o["-webkit-tap-highlight-color"]="transparent",o["-webkit-user-select"]=o["user-select"]=o["-webkit-touch-callout"]="none",t.innerHTML=""),this.storage=e;var r=this._zlevelList=[],s=this._layers={};if(this._layerConfig={},this._needsManuallyCompositing=!1,n){var l=t.width,u=t.height;null!=i.width&&(l=i.width),null!=i.height&&(u=i.height),this.dpr=i.devicePixelRatio||1,t.width=l*this.dpr,t.height=u*this.dpr,this._width=l,this._height=u;var h=new pb(t,this,this.dpr);h.__builtin__=!0,h.initContext(),s[314159]=h,h.zlevel=314159,r.push(314159),this._domRoot=t}else{this._width=this._getSize(0),this._height=this._getSize(1);var c=this._domRoot=xi(this._width,this._height);t.appendChild(c)}this._hoverlayer=null,this._hoverElements=[]};kb.prototype={constructor:kb,getType:function(){return"canvas"},isSingleCanvas:function(){return this._singleCanvas},getViewportRoot:function(){return this._domRoot},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(t){var e=this.storage.getDisplayList(!0),i=this._zlevelList;this._redrawId=Math.random(),this._paintList(e,t,this._redrawId);for(var n=0;n<i.length;n++){var o=i[n],a=this._layers[o];if(!a.__builtin__&&a.refresh){var r=0===n?this._backgroundColor:null;a.refresh(r)}}return this.refreshHover(),this},addHover:function(t,e){if(!t.__hoverMir){var i=new t.constructor({style:t.style,shape:t.shape,z:t.z,z2:t.z2,silent:t.silent});return i.__from=t,t.__hoverMir=i,e&&i.setStyle(e),this._hoverElements.push(i),i}},removeHover:function(t){var e=t.__hoverMir,i=this._hoverElements,n=l(i,e);n>=0&&i.splice(n,1),t.__hoverMir=null},clearHover:function(t){for(var e=this._hoverElements,i=0;i<e.length;i++){var n=e[i].__from;n&&(n.__hoverMir=null)}e.length=0},refreshHover:function(){var t=this._hoverElements,e=t.length,i=this._hoverlayer;if(i&&i.clear(),e){_e(t,this.storage.displayableSortFunc),i||(i=this._hoverlayer=this.getLayer(1e5));var n={};i.ctx.save();for(var o=0;o<e;){var a=t[o],r=a.__from;r&&r.__zr?(o++,r.invisible||(a.transform=r.transform,a.invTransform=r.invTransform,a.__clipPaths=r.__clipPaths,this._doPaintEl(a,i,!0,n))):(t.splice(o,1),r.__hoverMir=null,e--)}i.ctx.restore()}},getHoverLayer:function(){return this.getLayer(1e5)},_paintList:function(t,e,i){if(this._redrawId===i){e=e||!1,this._updateLayerStatus(t);var n=this._doPaintList(t,e);if(this._needsManuallyCompositing&&this._compositeManually(),!n){var o=this;gb(function(){o._paintList(t,e,i)})}}},_compositeManually:function(){var t=this.getLayer(314159).ctx,e=this._domRoot.width,i=this._domRoot.height;t.clearRect(0,0,e,i),this.eachBuiltinLayer(function(n){n.virtual&&t.drawImage(n.dom,0,0,e,i)})},_doPaintList:function(t,e){for(var i=[],n=0;n<this._zlevelList.length;n++){var o=this._zlevelList[n];(s=this._layers[o]).__builtin__&&s!==this._hoverlayer&&(s.__dirty||e)&&i.push(s)}for(var a=!0,r=0;r<i.length;r++){var s=i[r],l=s.ctx,u={};l.save();var h=e?s.__startIndex:s.__drawIndex,c=!e&&s.incremental&&Date.now,f=c&&Date.now(),p=s.zlevel===this._zlevelList[0]?this._backgroundColor:null;if(s.__startIndex===s.__endIndex)s.clear(!1,p);else if(h===s.__startIndex){var g=t[h];g.incremental&&g.notClear&&!e||s.clear(!1,p)}-1===h&&(console.error("For some unknown reason. drawIndex is -1"),h=s.__startIndex);for(var m=h;m<s.__endIndex;m++){var v=t[m];if(this._doPaintEl(v,s,e,u),v.__dirty=v.__dirtyText=!1,c&&Date.now()-f>15)break}s.__drawIndex=m,s.__drawIndex<s.__endIndex&&(a=!1),u.prevElClipPaths&&l.restore(),l.restore()}return U_.wxa&&d(this._layers,function(t){t&&t.ctx&&t.ctx.draw&&t.ctx.draw()}),a},_doPaintEl:function(t,e,i,n){var o=e.ctx,a=t.transform;if((e.__dirty||i)&&!t.invisible&&0!==t.style.opacity&&(!a||a[0]||a[3])&&(!t.culling||!mi(t,this._width,this._height))){var r=t.__clipPaths;n.prevElClipPaths&&!vi(r,n.prevElClipPaths)||(n.prevElClipPaths&&(e.ctx.restore(),n.prevElClipPaths=null,n.prevEl=null),r&&(o.save(),yi(r,o),n.prevElClipPaths=r)),t.beforeBrush&&t.beforeBrush(o),t.brush(o,n.prevEl||null),n.prevEl=t,t.afterBrush&&t.afterBrush(o)}},getLayer:function(t,e){this._singleCanvas&&!this._needsManuallyCompositing&&(t=314159);var i=this._layers[t];return i||((i=new pb("zr_"+t,this,this.dpr)).zlevel=t,i.__builtin__=!0,this._layerConfig[t]&&n(i,this._layerConfig[t],!0),e&&(i.virtual=e),this.insertLayer(t,i),i.initContext()),i},insertLayer:function(t,e){var i=this._layers,n=this._zlevelList,o=n.length,a=null,r=-1,s=this._domRoot;if(i[t])Yw("ZLevel "+t+" has been used already");else if(gi(e)){if(o>0&&t>n[0]){for(r=0;r<o-1&&!(n[r]<t&&n[r+1]>t);r++);a=i[n[r]]}if(n.splice(r+1,0,t),i[t]=e,!e.virtual)if(a){var l=a.dom;l.nextSibling?s.insertBefore(e.dom,l.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom)}else Yw("Layer of zlevel "+t+" is not valid")},eachLayer:function(t,e){var i,n,o=this._zlevelList;for(n=0;n<o.length;n++)i=o[n],t.call(e,this._layers[i],i)},eachBuiltinLayer:function(t,e){var i,n,o,a=this._zlevelList;for(o=0;o<a.length;o++)n=a[o],(i=this._layers[n]).__builtin__&&t.call(e,i,n)},eachOtherLayer:function(t,e){var i,n,o,a=this._zlevelList;for(o=0;o<a.length;o++)n=a[o],(i=this._layers[n]).__builtin__||t.call(e,i,n)},getLayers:function(){return this._layers},_updateLayerStatus:function(t){function e(t){i&&(i.__endIndex!==t&&(i.__dirty=!0),i.__endIndex=t)}if(this.eachBuiltinLayer(function(t,e){t.__dirty=t.__used=!1}),this._singleCanvas)for(o=1;o<t.length;o++)if((r=t[o]).zlevel!==t[o-1].zlevel||r.incremental){this._needsManuallyCompositing=!0;break}for(var i=null,n=0,o=0;o<t.length;o++){var a,r=t[o],s=r.zlevel;r.incremental?((a=this.getLayer(s+.001,this._needsManuallyCompositing)).incremental=!0,n=1):a=this.getLayer(s+(n>0?.01:0),this._needsManuallyCompositing),a.__builtin__||Yw("ZLevel "+s+" has been used by unkown layer "+a.id),a!==i&&(a.__used=!0,a.__startIndex!==o&&(a.__dirty=!0),a.__startIndex=o,a.incremental?a.__drawIndex=-1:a.__drawIndex=o,e(o),i=a),r.__dirty&&(a.__dirty=!0,a.incremental&&a.__drawIndex<0&&(a.__drawIndex=o))}e(o),this.eachBuiltinLayer(function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},setBackgroundColor:function(t){this._backgroundColor=t},configLayer:function(t,e){if(e){var i=this._layerConfig;i[t]?n(i[t],e,!0):i[t]=e;for(var o=0;o<this._zlevelList.length;o++){var a=this._zlevelList[o];a!==t&&a!==t+.01||n(this._layers[a],i[t],!0)}}},delLayer:function(t){var e=this._layers,i=this._zlevelList,n=e[t];n&&(n.dom.parentNode.removeChild(n.dom),delete e[t],i.splice(l(i,t),1))},resize:function(t,e){if(this._domRoot.style){var i=this._domRoot;i.style.display="none";var n=this._opts;if(null!=t&&(n.width=t),null!=e&&(n.height=e),t=this._getSize(0),e=this._getSize(1),i.style.display="",this._width!==t||e!==this._height){i.style.width=t+"px",i.style.height=e+"px";for(var o in this._layers)this._layers.hasOwnProperty(o)&&this._layers[o].resize(t,e);d(this._progressiveLayers,function(i){i.resize(t,e)}),this.refresh(!0)}this._width=t,this._height=e}else{if(null==t||null==e)return;this._width=t,this._height=e,this.getLayer(314159).resize(t,e)}return this},clearLayer:function(t){var e=this._layers[t];e&&e.clear()},dispose:function(){this.root.innerHTML="",this.root=this.storage=this._domRoot=this._layers=null},getRenderedCanvas:function(t){if(t=t||{},this._singleCanvas&&!this._compositeManually)return this._layers[314159].dom;var e=new pb("image",this,t.pixelRatio||this.dpr);if(e.initContext(),e.clear(!1,t.backgroundColor||this._backgroundColor),t.pixelRatio<=this.dpr){this.refresh();var i=e.dom.width,n=e.dom.height,o=e.ctx;this.eachLayer(function(t){t.__builtin__?o.drawImage(t.dom,0,0,i,n):t.renderToCanvas&&(e.ctx.save(),t.renderToCanvas(e.ctx),e.ctx.restore())})}else for(var a={},r=this.storage.getDisplayList(!0),s=0;s<r.length;s++){var l=r[s];this._doPaintEl(l,e,!0,a)}return e.dom},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,i=["width","height"][t],n=["clientWidth","clientHeight"][t],o=["paddingLeft","paddingTop"][t],a=["paddingRight","paddingBottom"][t];if(null!=e[i]&&"auto"!==e[i])return parseFloat(e[i]);var r=this.root,s=document.defaultView.getComputedStyle(r);return(r[n]||pi(s[i])||pi(r.style[i]))-(pi(s[o])||0)-(pi(s[a])||0)|0},pathToImage:function(t,e){e=e||this.dpr;var i=document.createElement("canvas"),n=i.getContext("2d"),o=t.getBoundingRect(),a=t.style,r=a.shadowBlur*e,s=a.shadowOffsetX*e,l=a.shadowOffsetY*e,u=a.hasStroke()?a.lineWidth:0,h=Math.max(u/2,-s+r),c=Math.max(u/2,s+r),d=Math.max(u/2,-l+r),f=Math.max(u/2,l+r),p=o.width+h+c,g=o.height+d+f;i.width=p*e,i.height=g*e,n.scale(e,e),n.clearRect(0,0,p,g),n.dpr=e;var m={position:t.position,rotation:t.rotation,scale:t.scale};t.position=[h-o.x,d-o.y],t.rotation=0,t.scale=[1,1],t.updateTransform(),t&&t.brush(n);var v=new fi({style:{x:0,y:0,image:i}});return null!=m.position&&(v.position=t.position=m.position),null!=m.rotation&&(v.rotation=t.rotation=m.rotation),null!=m.scale&&(v.scale=t.scale=m.scale),v}};var Pb=function(t){t=t||{},this.stage=t.stage||{},this.onframe=t.onframe||function(){},this._clips=[],this._running=!1,this._time,this._pausedTime,this._pauseStart,this._paused=!1,fw.call(this)};Pb.prototype={constructor:Pb,addClip:function(t){this._clips.push(t)},addAnimator:function(t){t.animation=this;for(var e=t.getClips(),i=0;i<e.length;i++)this.addClip(e[i])},removeClip:function(t){var e=l(this._clips,t);e>=0&&this._clips.splice(e,1)},removeAnimator:function(t){for(var e=t.getClips(),i=0;i<e.length;i++)this.removeClip(e[i]);t.animation=null},_update:function(){for(var t=(new Date).getTime()-this._pausedTime,e=t-this._time,i=this._clips,n=i.length,o=[],a=[],r=0;r<n;r++){var s=i[r],l=s.step(t,e);l&&(o.push(l),a.push(s))}for(r=0;r<n;)i[r]._needsRemove?(i[r]=i[n-1],i.pop(),n--):r++;n=o.length;for(r=0;r<n;r++)a[r].fire(o[r]);this._time=t,this.onframe(e),this.trigger("frame",e),this.stage.update&&this.stage.update()},_startLoop:function(){function t(){e._running&&(gb(t),!e._paused&&e._update())}var e=this;this._running=!0,gb(t)},start:function(){this._time=(new Date).getTime(),this._pausedTime=0,this._startLoop()},stop:function(){this._running=!1},pause:function(){this._paused||(this._pauseStart=(new Date).getTime(),this._paused=!0)},resume:function(){this._paused&&(this._pausedTime+=(new Date).getTime()-this._pauseStart,this._paused=!1)},clear:function(){this._clips=[]},isFinished:function(){return!this._clips.length},animate:function(t,e){var i=new Zw(t,(e=e||{}).loop,e.getter,e.setter);return this.addAnimator(i),i}},h(Pb,fw);var Nb=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],Ob=["touchstart","touchend","touchmove"],Eb={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},Rb=f(Nb,function(t){var e=t.replace("mouse","pointer");return Eb[e]?e:t}),zb={mousemove:function(t){t=ut(this.dom,t),this.trigger("mousemove",t)},mouseout:function(t){var e=(t=ut(this.dom,t)).toElement||t.relatedTarget;if(e!==this.dom)for(;e&&9!==e.nodeType;){if(e===this.dom)return;e=e.parentNode}this.trigger("mouseout",t)},touchstart:function(t){(t=ut(this.dom,t)).zrByTouch=!0,this._lastTouchMoment=new Date,this.handler.processGesture(this,t,"start"),zb.mousemove.call(this,t),zb.mousedown.call(this,t),wi(this)},touchmove:function(t){(t=ut(this.dom,t)).zrByTouch=!0,this.handler.processGesture(this,t,"change"),zb.mousemove.call(this,t),wi(this)},touchend:function(t){(t=ut(this.dom,t)).zrByTouch=!0,this.handler.processGesture(this,t,"end"),zb.mouseup.call(this,t),+new Date-this._lastTouchMoment<300&&zb.click.call(this,t),wi(this)},pointerdown:function(t){zb.mousedown.call(this,t)},pointermove:function(t){bi(t)||zb.mousemove.call(this,t)},pointerup:function(t){zb.mouseup.call(this,t)},pointerout:function(t){bi(t)||zb.mouseout.call(this,t)}};d(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){zb[t]=function(e){e=ut(this.dom,e),this.trigger(t,e)}});var Bb=Mi.prototype;Bb.dispose=function(){for(var t=Nb.concat(Ob),e=0;e<t.length;e++){var i=t[e];ct(this.dom,_i(i),this._handlers[i])}},Bb.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||"default")},h(Mi,fw);var Vb=!U_.canvasSupported,Gb={canvas:kb},Fb={},Wb=function(t,e,i){i=i||{},this.dom=e,this.id=t;var n=this,o=new nb,a=i.renderer;if(Vb){if(!Gb.vml)throw new Error("You need to require 'zrender/vml/vml' to support IE8");a="vml"}else a&&Gb[a]||(a="canvas");var r=new Gb[a](e,o,i,t);this.storage=o,this.painter=r;var s=U_.node||U_.worker?null:new Mi(r.getViewportRoot());this.handler=new ww(o,r,s,r.root),this.animation=new Pb({stage:{update:m(this.flush,this)}}),this.animation.start(),this._needsRefresh;var l=o.delFromStorage,u=o.addToStorage;o.delFromStorage=function(t){l.call(o,t),t&&t.removeSelfFromZr(n)},o.addToStorage=function(t){u.call(o,t),t.addSelfToZr(n)}};Wb.prototype={constructor:Wb,getId:function(){return this.id},add:function(t){this.storage.addRoot(t),this._needsRefresh=!0},remove:function(t){this.storage.delRoot(t),this._needsRefresh=!0},configLayer:function(t,e){this.painter.configLayer&&this.painter.configLayer(t,e),this._needsRefresh=!0},setBackgroundColor:function(t){this.painter.setBackgroundColor&&this.painter.setBackgroundColor(t),this._needsRefresh=!0},refreshImmediately:function(){this._needsRefresh=!1,this.painter.refresh(),this._needsRefresh=!1},refresh:function(){this._needsRefresh=!0},flush:function(){var t;this._needsRefresh&&(t=!0,this.refreshImmediately()),this._needsRefreshHover&&(t=!0,this.refreshHoverImmediately()),t&&this.trigger("rendered")},addHover:function(t,e){if(this.painter.addHover){var i=this.painter.addHover(t,e);return this.refreshHover(),i}},removeHover:function(t){this.painter.removeHover&&(this.painter.removeHover(t),this.refreshHover())},clearHover:function(){this.painter.clearHover&&(this.painter.clearHover(),this.refreshHover())},refreshHover:function(){this._needsRefreshHover=!0},refreshHoverImmediately:function(){this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.refreshHover()},resize:function(t){t=t||{},this.painter.resize(t.width,t.height),this.handler.resize()},clearAnimation:function(){this.animation.clear()},getWidth:function(){return this.painter.getWidth()},getHeight:function(){return this.painter.getHeight()},pathToImage:function(t,e){return this.painter.pathToImage(t,e)},setCursorStyle:function(t){this.handler.setCursorStyle(t)},findHover:function(t,e){return this.handler.findHover(t,e)},on:function(t,e,i){this.handler.on(t,e,i)},off:function(t,e){this.handler.off(t,e)},trigger:function(t,e){this.handler.trigger(t,e)},clear:function(){this.storage.delRoot(),this.painter.clear()},dispose:function(){this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,Ai(this.id)}};var Hb=(Object.freeze||Object)({version:"4.0.7",init:Ii,dispose:function(t){if(t)t.dispose();else{for(var e in Fb)Fb.hasOwnProperty(e)&&Fb[e].dispose();Fb={}}return this},getInstance:function(t){return Fb[t]},registerPainter:Ti}),Zb=d,Ub=w,Xb=y,jb="series\0",Yb=["fontStyle","fontWeight","fontSize","fontFamily","rich","tag","color","textBorderColor","textBorderWidth","width","height","lineHeight","align","verticalAlign","baseline","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","textShadowColor","textShadowBlur","textShadowOffsetX","textShadowOffsetY","backgroundColor","borderColor","borderWidth","borderRadius","padding"],qb=0,Kb=".",$b="___EC__COMPONENT__CONTAINER___",Jb=0,Qb=function(t){for(var e=0;e<t.length;e++)t[e][1]||(t[e][1]=t[e][0]);return function(e,i,n){for(var o={},a=0;a<t.length;a++){var r=t[a][1];if(!(i&&l(i,r)>=0||n&&l(n,r)<0)){var s=e.getShallow(r);null!=s&&(o[t[a][0]]=s)}}return o}},tS=Qb([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),eS={getLineStyle:function(t){var e=tS(this,t),i=this.getLineDash(e.lineWidth);return i&&(e.lineDash=i),e},getLineDash:function(t){null==t&&(t=1);var e=this.get("type"),i=Math.max(t,2),n=4*t;return"solid"===e||null==e?null:"dashed"===e?[n,n]:[i,i]}},iS=Qb([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),nS={getAreaStyle:function(t,e){return iS(this,t,e)}},oS=Math.pow,aS=Math.sqrt,rS=1e-8,sS=1e-4,lS=aS(3),uS=1/3,hS=V(),cS=V(),dS=V(),fS=Math.min,pS=Math.max,gS=Math.sin,mS=Math.cos,vS=2*Math.PI,yS=V(),xS=V(),_S=V(),wS=[],bS=[],SS={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},MS=[],IS=[],TS=[],AS=[],DS=Math.min,CS=Math.max,LS=Math.cos,kS=Math.sin,PS=Math.sqrt,NS=Math.abs,OS="undefined"!=typeof Float32Array,ES=function(t){this._saveData=!t,this._saveData&&(this.data=[]),this._ctx=null};ES.prototype={constructor:ES,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(t,e){this._ux=NS(1/Xw/t)||0,this._uy=NS(1/Xw/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),t&&(this.dpr=t.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(SS.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){var i=NS(t-this._xi)>this._ux||NS(e-this._yi)>this._uy||this._len<5;return this.addData(SS.L,t,e),this._ctx&&i&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),i&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,i,n,o,a){return this.addData(SS.C,t,e,i,n,o,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,i,n,o,a):this._ctx.bezierCurveTo(t,e,i,n,o,a)),this._xi=o,this._yi=a,this},quadraticCurveTo:function(t,e,i,n){return this.addData(SS.Q,t,e,i,n),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,i,n):this._ctx.quadraticCurveTo(t,e,i,n)),this._xi=i,this._yi=n,this},arc:function(t,e,i,n,o,a){return this.addData(SS.A,t,e,i,i,n,o-n,0,a?0:1),this._ctx&&this._ctx.arc(t,e,i,n,o,a),this._xi=LS(o)*i+t,this._yi=kS(o)*i+e,this},arcTo:function(t,e,i,n,o){return this._ctx&&this._ctx.arcTo(t,e,i,n,o),this},rect:function(t,e,i,n){return this._ctx&&this._ctx.rect(t,e,i,n),this.addData(SS.R,t,e,i,n),this},closePath:function(){this.addData(SS.Z);var t=this._ctx,e=this._x0,i=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,i),t.closePath()),this._xi=e,this._yi=i,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,i=0;i<t.length;i++)e+=t[i];this._dashSum=e}return this},setLineDashOffset:function(t){return this._dashOffset=t,this},len:function(){return this._len},setData:function(t){var e=t.length;this.data&&this.data.length===e||!OS||(this.data=new Float32Array(e));for(var i=0;i<e;i++)this.data[i]=t[i];this._len=e},appendPath:function(t){t instanceof Array||(t=[t]);for(var e=t.length,i=0,n=this._len,o=0;o<e;o++)i+=t[o].len();OS&&this.data instanceof Float32Array&&(this.data=new Float32Array(n+i));for(o=0;o<e;o++)for(var a=t[o].data,r=0;r<a.length;r++)this.data[n++]=a[r];this._len=n},addData:function(t){if(this._saveData){var e=this.data;this._len+arguments.length>e.length&&(this._expandData(),e=this.data);for(var i=0;i<arguments.length;i++)e[this._len++]=arguments[i];this._prevCmd=t}},_expandData:function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e<this._len;e++)t[e]=this.data[e];this.data=t}},_needsDash:function(){return this._lineDash},_dashedLineTo:function(t,e){var i,n,o=this._dashSum,a=this._dashOffset,r=this._lineDash,s=this._ctx,l=this._xi,u=this._yi,h=t-l,c=e-u,d=PS(h*h+c*c),f=l,p=u,g=r.length;for(h/=d,c/=d,a<0&&(a=o+a),f-=(a%=o)*h,p-=a*c;h>0&&f<=t||h<0&&f>=t||0===h&&(c>0&&p<=e||c<0&&p>=e);)f+=h*(i=r[n=this._dashIdx]),p+=c*i,this._dashIdx=(n+1)%g,h>0&&f<l||h<0&&f>l||c>0&&p<u||c<0&&p>u||s[n%2?"moveTo":"lineTo"](h>=0?DS(f,t):CS(f,t),c>=0?DS(p,e):CS(p,e));h=f-t,c=p-e,this._dashOffset=-PS(h*h+c*c)},_dashedBezierTo:function(t,e,i,n,o,a){var r,s,l,u,h,c=this._dashSum,d=this._dashOffset,f=this._lineDash,p=this._ctx,g=this._xi,m=this._yi,v=tn,y=0,x=this._dashIdx,_=f.length,w=0;for(d<0&&(d=c+d),d%=c,r=0;r<1;r+=.1)s=v(g,t,i,o,r+.1)-v(g,t,i,o,r),l=v(m,e,n,a,r+.1)-v(m,e,n,a,r),y+=PS(s*s+l*l);for(;x<_&&!((w+=f[x])>d);x++);for(r=(w-d)/y;r<=1;)u=v(g,t,i,o,r),h=v(m,e,n,a,r),x%2?p.moveTo(u,h):p.lineTo(u,h),r+=f[x]/y,x=(x+1)%_;x%2!=0&&p.lineTo(o,a),s=o-u,l=a-h,this._dashOffset=-PS(s*s+l*l)},_dashedQuadraticTo:function(t,e,i,n){var o=i,a=n;i=(i+2*t)/3,n=(n+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,i,n,o,a)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,OS&&(this.data=new Float32Array(t)))},getBoundingRect:function(){MS[0]=MS[1]=TS[0]=TS[1]=Number.MAX_VALUE,IS[0]=IS[1]=AS[0]=AS[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,i=0,n=0,o=0,a=0;a<t.length;){var r=t[a++];switch(1===a&&(n=e=t[a],o=i=t[a+1]),r){case SS.M:e=n=t[a++],i=o=t[a++],TS[0]=n,TS[1]=o,AS[0]=n,AS[1]=o;break;case SS.L:pn(e,i,t[a],t[a+1],TS,AS),e=t[a++],i=t[a++];break;case SS.C:gn(e,i,t[a++],t[a++],t[a++],t[a++],t[a],t[a+1],TS,AS),e=t[a++],i=t[a++];break;case SS.Q:mn(e,i,t[a++],t[a++],t[a],t[a+1],TS,AS),e=t[a++],i=t[a++];break;case SS.A:var s=t[a++],l=t[a++],u=t[a++],h=t[a++],c=t[a++],d=t[a++]+c;a+=1;var f=1-t[a++];1===a&&(n=LS(c)*u+s,o=kS(c)*h+l),vn(s,l,u,h,c,d,f,TS,AS),e=LS(d)*u+s,i=kS(d)*h+l;break;case SS.R:pn(n=e=t[a++],o=i=t[a++],n+t[a++],o+t[a++],TS,AS);break;case SS.Z:e=n,i=o}tt(MS,MS,TS),et(IS,IS,AS)}return 0===a&&(MS[0]=MS[1]=IS[0]=IS[1]=0),new de(MS[0],MS[1],IS[0]-MS[0],IS[1]-MS[1])},rebuildPath:function(t){for(var e,i,n,o,a,r,s=this.data,l=this._ux,u=this._uy,h=this._len,c=0;c<h;){var d=s[c++];switch(1===c&&(e=n=s[c],i=o=s[c+1]),d){case SS.M:e=n=s[c++],i=o=s[c++],t.moveTo(n,o);break;case SS.L:a=s[c++],r=s[c++],(NS(a-n)>l||NS(r-o)>u||c===h-1)&&(t.lineTo(a,r),n=a,o=r);break;case SS.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case SS.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case SS.A:var f=s[c++],p=s[c++],g=s[c++],m=s[c++],v=s[c++],y=s[c++],x=s[c++],_=s[c++],w=g>m?g:m,b=g>m?1:g/m,S=g>m?m/g:1,M=v+y;Math.abs(g-m)>.001?(t.translate(f,p),t.rotate(x),t.scale(b,S),t.arc(0,0,w,v,M,1-_),t.scale(1/b,1/S),t.rotate(-x),t.translate(-f,-p)):t.arc(f,p,w,v,M,1-_),1===c&&(e=LS(v)*g+f,i=kS(v)*m+p),n=LS(M)*g+f,o=kS(M)*m+p;break;case SS.R:e=n=s[c],i=o=s[c+1],t.rect(s[c++],s[c++],s[c++],s[c++]);break;case SS.Z:t.closePath(),n=e,o=i}}}},ES.CMD=SS;var RS=2*Math.PI,zS=2*Math.PI,BS=ES.CMD,VS=2*Math.PI,GS=1e-4,FS=[-1,-1,-1],WS=[-1,-1],HS=fb.prototype.getCanvasPattern,ZS=Math.abs,US=new ES(!0);Pn.prototype={constructor:Pn,type:"path",__dirtyPath:!0,strokeContainThreshold:5,subPixelOptimize:!1,brush:function(t,e){var i=this.style,n=this.path||US,o=i.hasStroke(),a=i.hasFill(),r=i.fill,s=i.stroke,l=a&&!!r.colorStops,u=o&&!!s.colorStops,h=a&&!!r.image,c=o&&!!s.image;if(i.bind(t,this,e),this.setTransform(t),this.__dirty){var d;l&&(d=d||this.getBoundingRect(),this._fillGradient=i.getGradient(t,r,d)),u&&(d=d||this.getBoundingRect(),this._strokeGradient=i.getGradient(t,s,d))}l?t.fillStyle=this._fillGradient:h&&(t.fillStyle=HS.call(r,t)),u?t.strokeStyle=this._strokeGradient:c&&(t.strokeStyle=HS.call(s,t));var f=i.lineDash,p=i.lineDashOffset,g=!!t.setLineDash,m=this.getGlobalScale();if(n.setScale(m[0],m[1]),this.__dirtyPath||f&&!g&&o?(n.beginPath(t),f&&!g&&(n.setLineDash(f),n.setLineDashOffset(p)),this.buildPath(n,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(t.beginPath(),this.path.rebuildPath(t)),a)if(null!=i.fillOpacity){v=t.globalAlpha;t.globalAlpha=i.fillOpacity*i.opacity,n.fill(t),t.globalAlpha=v}else n.fill(t);if(f&&g&&(t.setLineDash(f),t.lineDashOffset=p),o)if(null!=i.strokeOpacity){var v=t.globalAlpha;t.globalAlpha=i.strokeOpacity*i.opacity,n.stroke(t),t.globalAlpha=v}else n.stroke(t);f&&g&&t.setLineDash([]),null!=i.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))},buildPath:function(t,e,i){},createPathProxy:function(){this.path=new ES},getBoundingRect:function(){var t=this._rect,e=this.style,i=!t;if(i){var n=this.path;n||(n=this.path=new ES),this.__dirtyPath&&(n.beginPath(),this.buildPath(n,this.shape,!1)),t=n.getBoundingRect()}if(this._rect=t,e.hasStroke()){var o=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||i){o.copy(t);var a=e.lineWidth,r=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(a=Math.max(a,this.strokeContainThreshold||4)),r>1e-10&&(o.width+=a/r,o.height+=a/r,o.x-=a/r/2,o.y-=a/r/2)}return o}return t},contain:function(t,e){var i=this.transformCoordToLocal(t,e),n=this.getBoundingRect(),o=this.style;if(t=i[0],e=i[1],n.contain(t,e)){var a=this.path.data;if(o.hasStroke()){var r=o.lineWidth,s=o.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(o.hasFill()||(r=Math.max(r,this.strokeContainThreshold)),kn(a,r/s,t,e)))return!0}if(o.hasFill())return Ln(a,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=this.__dirtyText=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?(this.setShape(e),this.__dirtyPath=!0,this._rect=null):di.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var i=this.shape;if(i){if(w(t))for(var n in t)t.hasOwnProperty(n)&&(i[n]=t[n]);else i[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&ZS(t[0]-1)>1e-10&&ZS(t[3]-1)>1e-10?Math.sqrt(ZS(t[0]*t[3]-t[2]*t[1])):1}},Pn.extend=function(t){var e=function(e){Pn.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var i=t.shape;if(i){this.shape=this.shape||{};var n=this.shape;for(var o in i)!n.hasOwnProperty(o)&&i.hasOwnProperty(o)&&(n[o]=i[o])}t.init&&t.init.call(this,e)};u(e,Pn);for(var i in t)"style"!==i&&"shape"!==i&&(e.prototype[i]=t[i]);return e},u(Pn,di);var XS=ES.CMD,jS=[[],[],[]],YS=Math.sqrt,qS=Math.atan2,KS=function(t,e){var i,n,o,a,r,s,l=t.data,u=XS.M,h=XS.C,c=XS.L,d=XS.R,f=XS.A,p=XS.Q;for(o=0,a=0;o<l.length;){switch(i=l[o++],a=o,n=0,i){case u:case c:n=1;break;case h:n=3;break;case p:n=2;break;case f:var g=e[4],m=e[5],v=YS(e[0]*e[0]+e[1]*e[1]),y=YS(e[2]*e[2]+e[3]*e[3]),x=qS(-e[1]/y,e[0]/v);l[o]*=v,l[o++]+=g,l[o]*=y,l[o++]+=m,l[o++]*=v,l[o++]*=y,l[o++]+=x,l[o++]+=x,a=o+=2;break;case d:s[0]=l[o++],s[1]=l[o++],Q(s,s,e),l[a++]=s[0],l[a++]=s[1],s[0]+=l[o++],s[1]+=l[o++],Q(s,s,e),l[a++]=s[0],l[a++]=s[1]}for(r=0;r<n;r++)(s=jS[r])[0]=l[o++],s[1]=l[o++],Q(s,s,e),l[a++]=s[0],l[a++]=s[1]}},$S=Math.sqrt,JS=Math.sin,QS=Math.cos,tM=Math.PI,eM=function(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])},iM=function(t,e){return(t[0]*e[0]+t[1]*e[1])/(eM(t)*eM(e))},nM=function(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(iM(t,e))},oM=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,aM=/-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g,rM=function(t){di.call(this,t)};rM.prototype={constructor:rM,type:"text",brush:function(t,e){var i=this.style;this.__dirty&&Ye(i),i.fill=i.stroke=i.shadowBlur=i.shadowColor=i.shadowOffsetX=i.shadowOffsetY=null;var n=i.text;null!=n&&(n+=""),ci(n,i)?(this.setTransform(t),Ke(this,t,n,i,null,e),this.restoreTransform(t)):t.__attrCachedBy=rb.NONE},getBoundingRect:function(){var t=this.style;if(this.__dirty&&Ye(t),!this._rect){var e=t.text;null!=e?e+="":e="";var i=ke(t.text+"",t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich);if(i.x+=t.x||0,i.y+=t.y||0,si(t.textStroke,t.textStrokeWidth)){var n=t.textStrokeWidth;i.x-=n/2,i.y-=n/2,i.width+=n,i.height+=n}this._rect=i}return this._rect}},u(rM,di);var sM=Pn.extend({type:"circle",shape:{cx:0,cy:0,r:0},buildPath:function(t,e,i){i&&t.moveTo(e.cx+e.r,e.cy),t.arc(e.cx,e.cy,e.r,0,2*Math.PI,!0)}}),lM=[["shadowBlur",0],["shadowColor","#000"],["shadowOffsetX",0],["shadowOffsetY",0]],uM=function(t){return U_.browser.ie&&U_.browser.version>=11?function(){var e,i=this.__clipPaths,n=this.style;if(i)for(var o=0;o<i.length;o++){var a=i[o],r=a&&a.shape,s=a&&a.type;if(r&&("sector"===s&&r.startAngle===r.endAngle||"rect"===s&&(!r.width||!r.height))){for(l=0;l<lM.length;l++)lM[l][2]=n[lM[l][0]],n[lM[l][0]]=lM[l][1];e=!0;break}}if(t.apply(this,arguments),e)for(var l=0;l<lM.length;l++)n[lM[l][0]]=lM[l][2]}:t},hM=Pn.extend({type:"sector",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},brush:uM(Pn.prototype.brush),buildPath:function(t,e){var i=e.cx,n=e.cy,o=Math.max(e.r0||0,0),a=Math.max(e.r,0),r=e.startAngle,s=e.endAngle,l=e.clockwise,u=Math.cos(r),h=Math.sin(r);t.moveTo(u*o+i,h*o+n),t.lineTo(u*a+i,h*a+n),t.arc(i,n,a,r,s,!l),t.lineTo(Math.cos(s)*o+i,Math.sin(s)*o+n),0!==o&&t.arc(i,n,o,s,r,l),t.closePath()}}),cM=Pn.extend({type:"ring",shape:{cx:0,cy:0,r:0,r0:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=2*Math.PI;t.moveTo(i+e.r,n),t.arc(i,n,e.r,0,o,!1),t.moveTo(i+e.r0,n),t.arc(i,n,e.r0,0,o,!0)}}),dM=function(t,e){for(var i=t.length,n=[],o=0,a=1;a<i;a++)o+=K(t[a-1],t[a]);var r=o/2;r=r<i?i:r;for(a=0;a<r;a++){var s,l,u,h=a/(r-1)*(e?i:i-1),c=Math.floor(h),d=h-c,f=t[c%i];e?(s=t[(c-1+i)%i],l=t[(c+1)%i],u=t[(c+2)%i]):(s=t[0===c?c:c-1],l=t[c>i-2?i-1:c+1],u=t[c>i-3?i-1:c+2]);var p=d*d,g=d*p;n.push([Bn(s[0],f[0],l[0],u[0],d,p,g),Bn(s[1],f[1],l[1],u[1],d,p,g)])}return n},fM=function(t,e,i,n){var o,a,r,s,l=[],u=[],h=[],c=[];if(n){r=[1/0,1/0],s=[-1/0,-1/0];for(var d=0,f=t.length;d<f;d++)tt(r,r,t[d]),et(s,s,t[d]);tt(r,r,n[0]),et(s,s,n[1])}for(var d=0,f=t.length;d<f;d++){var p=t[d];if(i)o=t[d?d-1:f-1],a=t[(d+1)%f];else{if(0===d||d===f-1){l.push(F(t[d]));continue}o=t[d-1],a=t[d+1]}U(u,a,o),Y(u,u,e);var g=K(p,o),m=K(p,a),v=g+m;0!==v&&(g/=v,m/=v),Y(h,u,-g),Y(c,u,m);var y=H([],p,h),x=H([],p,c);n&&(et(y,y,r),tt(y,y,s),et(x,x,r),tt(x,x,s)),l.push(y),l.push(x)}return i&&l.push(l.shift()),l},pM=Pn.extend({type:"polygon",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(t,e){Vn(t,e,!0)}}),gM=Pn.extend({type:"polyline",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:"#000",fill:null},buildPath:function(t,e){Vn(t,e,!1)}}),mM=Math.round,vM={},yM=Pn.extend({type:"rect",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(t,e){var i,n,o,a;this.subPixelOptimize?(Fn(vM,e,this.style),i=vM.x,n=vM.y,o=vM.width,a=vM.height,vM.r=e.r,e=vM):(i=e.x,n=e.y,o=e.width,a=e.height),e.r?je(t,e):t.rect(i,n,o,a),t.closePath()}}),xM={},_M=Pn.extend({type:"line",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i,n,o,a;this.subPixelOptimize?(Gn(xM,e,this.style),i=xM.x1,n=xM.y1,o=xM.x2,a=xM.y2):(i=e.x1,n=e.y1,o=e.x2,a=e.y2);var r=e.percent;0!==r&&(t.moveTo(i,n),r<1&&(o=i*(1-r)+o*r,a=n*(1-r)+a*r),t.lineTo(o,a))},pointAt:function(t){var e=this.shape;return[e.x1*(1-t)+e.x2*t,e.y1*(1-t)+e.y2*t]}}),wM=[],bM=Pn.extend({type:"bezier-curve",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i=e.x1,n=e.y1,o=e.x2,a=e.y2,r=e.cpx1,s=e.cpy1,l=e.cpx2,u=e.cpy2,h=e.percent;0!==h&&(t.moveTo(i,n),null==l||null==u?(h<1&&(cn(i,r,o,h,wM),r=wM[1],o=wM[2],cn(n,s,a,h,wM),s=wM[1],a=wM[2]),t.quadraticCurveTo(r,s,o,a)):(h<1&&(an(i,r,l,o,h,wM),r=wM[1],l=wM[2],o=wM[3],an(n,s,u,a,h,wM),s=wM[1],u=wM[2],a=wM[3]),t.bezierCurveTo(r,s,l,u,o,a)))},pointAt:function(t){return Hn(this.shape,t,!1)},tangentAt:function(t){var e=Hn(this.shape,t,!0);return q(e,e)}}),SM=Pn.extend({type:"arc",shape:{cx:0,cy:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},style:{stroke:"#000",fill:null},buildPath:function(t,e){var i=e.cx,n=e.cy,o=Math.max(e.r,0),a=e.startAngle,r=e.endAngle,s=e.clockwise,l=Math.cos(a),u=Math.sin(a);t.moveTo(l*o+i,u*o+n),t.arc(i,n,o,a,r,!s)}}),MM=Pn.extend({type:"compound",shape:{paths:null},_updatePathDirty:function(){for(var t=this.__dirtyPath,e=this.shape.paths,i=0;i<e.length;i++)t=t||e[i].__dirtyPath;this.__dirtyPath=t,this.__dirty=this.__dirty||t},beforeBrush:function(){this._updatePathDirty();for(var t=this.shape.paths||[],e=this.getGlobalScale(),i=0;i<t.length;i++)t[i].path||t[i].createPathProxy(),t[i].path.setScale(e[0],e[1])},buildPath:function(t,e){for(var i=e.paths||[],n=0;n<i.length;n++)i[n].buildPath(t,i[n].shape,!0)},afterBrush:function(){for(var t=this.shape.paths||[],e=0;e<t.length;e++)t[e].__dirtyPath=!1},getBoundingRect:function(){return this._updatePathDirty(),Pn.prototype.getBoundingRect.call(this)}}),IM=function(t){this.colorStops=t||[]};IM.prototype={constructor:IM,addColorStop:function(t,e){this.colorStops.push({offset:t,color:e})}};var TM=function(t,e,i,n,o,a){this.x=null==t?0:t,this.y=null==e?0:e,this.x2=null==i?1:i,this.y2=null==n?0:n,this.type="linear",this.global=a||!1,IM.call(this,o)};TM.prototype={constructor:TM},u(TM,IM);var AM=function(t,e,i,n,o){this.x=null==t?.5:t,this.y=null==e?.5:e,this.r=null==i?.5:i,this.type="radial",this.global=o||!1,IM.call(this,n)};AM.prototype={constructor:AM},u(AM,IM),Zn.prototype.incremental=!0,Zn.prototype.clearDisplaybles=function(){this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.dirty(),this.notClear=!1},Zn.prototype.addDisplayable=function(t,e){e?this._temporaryDisplayables.push(t):this._displayables.push(t),this.dirty()},Zn.prototype.addDisplayables=function(t,e){e=e||!1;for(var i=0;i<t.length;i++)this.addDisplayable(t[i],e)},Zn.prototype.eachPendingDisplayable=function(t){for(e=this._cursor;e<this._displayables.length;e++)t&&t(this._displayables[e]);for(var e=0;e<this._temporaryDisplayables.length;e++)t&&t(this._temporaryDisplayables[e])},Zn.prototype.update=function(){this.updateTransform();for(t=this._cursor;t<this._displayables.length;t++)(e=this._displayables[t]).parent=this,e.update(),e.parent=null;for(var t=0;t<this._temporaryDisplayables.length;t++){var e=this._temporaryDisplayables[t];e.parent=this,e.update(),e.parent=null}},Zn.prototype.brush=function(t,e){for(i=this._cursor;i<this._displayables.length;i++)(n=this._displayables[i]).beforeBrush&&n.beforeBrush(t),n.brush(t,i===this._cursor?null:this._displayables[i-1]),n.afterBrush&&n.afterBrush(t);this._cursor=i;for(var i=0;i<this._temporaryDisplayables.length;i++){var n=this._temporaryDisplayables[i];n.beforeBrush&&n.beforeBrush(t),n.brush(t,0===i?null:this._temporaryDisplayables[i-1]),n.afterBrush&&n.afterBrush(t)}this._temporaryDisplayables=[],this.notClear=!0};var DM=[];Zn.prototype.getBoundingRect=function(){if(!this._rect){for(var t=new de(1/0,1/0,-1/0,-1/0),e=0;e<this._displayables.length;e++){var i=this._displayables[e],n=i.getBoundingRect().clone();i.needLocalTransform()&&n.applyTransform(i.getLocalTransform(DM)),t.union(n)}this._rect=t}return this._rect},Zn.prototype.contain=function(t,e){var i=this.transformCoordToLocal(t,e);if(this.getBoundingRect().contain(i[0],i[1]))for(var n=0;n<this._displayables.length;n++)if(this._displayables[n].contain(t,e))return!0;return!1},u(Zn,di);var CM=Math.round,LM=Math.max,kM=Math.min,PM={},NM=1,OM=function(t,e){for(var i=[],n=t.length,o=0;o<n;o++){var a=t[o];a.path||a.createPathProxy(),a.__dirtyPath&&a.buildPath(a.path,a.shape,!0),i.push(a.path)}var r=new Pn(e);return r.createPathProxy(),r.buildPath=function(t){t.appendPath(i);var e=t.getContext();e&&t.rebuildPath(e)},r},EM=R(),RM=0,zM=(Object.freeze||Object)({Z2_EMPHASIS_LIFT:NM,extendShape:Un,extendPath:function(t,e){return zn(t,e)},makePath:Xn,makeImage:jn,mergePath:OM,resizePath:qn,subPixelOptimizeLine:Kn,subPixelOptimizeRect:$n,subPixelOptimize:Jn,setElementHoverStyle:ro,isInEmphasis:so,setHoverStyle:fo,setAsHoverStyleTrigger:po,setLabelStyle:go,setTextStyle:mo,setText:function(t,e,i){var n,o={isRectText:!0};!1===i?n=!0:o.autoColor=i,vo(t,e,o,n)},getFont:So,updateProps:Io,initProps:To,getTransform:Ao,applyTransform:Do,transformDirection:Co,groupTransition:Lo,clipPointsByRect:ko,clipRectByRect:function(t,e){var i=LM(t.x,e.x),n=kM(t.x+t.width,e.x+e.width),o=LM(t.y,e.y),a=kM(t.y+t.height,e.y+e.height);if(n>=i&&a>=o)return{x:i,y:o,width:n-i,height:a-o}},createIcon:Po,Group:tb,Image:fi,Text:rM,Circle:sM,Sector:hM,Ring:cM,Polygon:pM,Polyline:gM,Rect:yM,Line:_M,BezierCurve:bM,Arc:SM,IncrementalDisplayable:Zn,CompoundPath:MM,LinearGradient:TM,RadialGradient:AM,BoundingRect:de}),BM=["textStyle","color"],VM={getTextColor:function(t){var e=this.ecModel;return this.getShallow("color")||(!t&&e?e.get(BM):null)},getFont:function(){return So({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},getTextRect:function(t){return ke(t,this.getFont(),this.getShallow("align"),this.getShallow("verticalAlign")||this.getShallow("baseline"),this.getShallow("padding"),this.getShallow("lineHeight"),this.getShallow("rich"),this.getShallow("truncateText"))}},GM=Qb([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["textPosition"],["textAlign"]]),FM={getItemStyle:function(t,e){var i=GM(this,t,e),n=this.getBorderLineDash();return n&&(i.lineDash=n),i},getBorderLineDash:function(){var t=this.get("borderType");return"solid"===t||null==t?null:"dashed"===t?[5,5]:[1,1]}},WM=h,HM=Bi();No.prototype={constructor:No,init:null,mergeOption:function(t){n(this.option,t,!0)},get:function(t,e){return null==t?this.option:Oo(this.option,this.parsePath(t),!e&&Eo(this,t))},getShallow:function(t,e){var i=this.option,n=null==i?i:i[t],o=!e&&Eo(this,t);return null==n&&o&&(n=o.getShallow(t)),n},getModel:function(t,e){var i,n=null==t?this.option:Oo(this.option,t=this.parsePath(t));return e=e||(i=Eo(this,t))&&i.getModel(t),new No(n,e,this.ecModel)},isEmpty:function(){return null==this.option},restoreData:function(){},clone:function(){return new(0,this.constructor)(i(this.option))},setReadOnly:function(t){},parsePath:function(t){return"string"==typeof t&&(t=t.split(".")),t},customizeGetParent:function(t){HM(this).getParent=t},isAnimationEnabled:function(){if(!U_.node){if(null!=this.option.animation)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}},ji(No),Yi(No),WM(No,eS),WM(No,nS),WM(No,VM),WM(No,FM);var ZM=0,UM=1e-4,XM=9007199254740991,jM=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/,YM=(Object.freeze||Object)({linearMap:Bo,parsePercent:Vo,round:Go,asc:Fo,getPrecision:Wo,getPrecisionSafe:Ho,getPixelPrecision:Zo,getPercentWithPrecision:Uo,MAX_SAFE_INTEGER:XM,remRadian:Xo,isRadianAroundZero:jo,parseDate:Yo,quantity:qo,nice:$o,quantile:function(t,e){var i=(t.length-1)*e+1,n=Math.floor(i),o=+t[n-1],a=i-n;return a?o+a*(t[n]-o):o},reformIntervals:Jo,isNumeric:Qo}),qM=L,KM=/([&<>"'])/g,$M={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},JM=["a","b","c","d","e","f","g"],QM=function(t,e){return"{"+t+(null==e?"":e)+"}"},tI=ze,eI=(Object.freeze||Object)({addCommas:ta,toCamelCase:ea,normalizeCssArray:qM,encodeHTML:ia,formatTpl:na,formatTplSimple:oa,getTooltipMarker:aa,formatTime:sa,capitalFirst:la,truncateText:tI,getTextBoundingRect:function(t){return ke(t.text,t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich,t.truncate)},getTextRect:function(t,e,i,n,o,a,r,s){return ke(t,e,i,n,o,s,a,r)}}),iI=d,nI=["left","right","top","bottom","width","height"],oI=[["width","left","right"],["height","top","bottom"]],aI=ua,rI=(v(ua,"vertical"),v(ua,"horizontal"),{getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}}),sI=Bi(),lI=No.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,i,n){No.call(this,t,e,i,n),this.uid=Ro("ec_cpt_model")},init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,o=i?ga(t):{};n(t,e.getTheme().get(this.mainType)),n(t,this.getDefaultOption()),i&&pa(t,o,i)},mergeOption:function(t,e){n(this.option,t,!0);var i=this.layoutMode;i&&pa(this.option,t,i)},optionUpdated:function(t,e){},getDefaultOption:function(){var t=sI(this);if(!t.defaultOption){for(var e=[],i=this.constructor;i;){var o=i.prototype.defaultOption;o&&e.push(o),i=i.superClass}for(var a={},r=e.length-1;r>=0;r--)a=n(a,e[r],!0);t.defaultOption=a}return t.defaultOption},getReferringComponents:function(t){return this.ecModel.queryComponents({mainType:t,index:this.get(t+"Index",!0),id:this.get(t+"Id",!0)})}});$i(lI,{registerWhenExtend:!0}),function(t){var e={};t.registerSubTypeDefaulter=function(t,i){t=Ui(t),e[t.main]=i},t.determineSubType=function(i,n){var o=n.type;if(!o){var a=Ui(i).main;t.hasSubTypes(i)&&e[a]&&(o=e[a](n))}return o}}(lI),function(t,e){function i(t){var i={},a=[];return d(t,function(r){var s=n(i,r),u=o(s.originalDeps=e(r),t);s.entryCount=u.length,0===s.entryCount&&a.push(r),d(u,function(t){l(s.predecessor,t)<0&&s.predecessor.push(t);var e=n(i,t);l(e.successor,t)<0&&e.successor.push(r)})}),{graph:i,noEntryList:a}}function n(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}function o(t,e){var i=[];return d(t,function(t){l(e,t)>=0&&i.push(t)}),i}t.topologicalTravel=function(t,e,n,o){function a(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}if(t.length){var r=i(e),s=r.graph,l=r.noEntryList,u={};for(d(t,function(t){u[t]=!0});l.length;){var h=l.pop(),c=s[h],f=!!u[h];f&&(n.call(o,h,c.originalDeps.slice()),delete u[h]),d(c.successor,f?function(t){u[t]=!0,a(t)}:a)}d(u,function(){throw new Error("Circle dependency may exists")})}}}(lI,function(t){var e=[];return d(lI.getClassesByMainType(t),function(t){e=e.concat(t.prototype.dependencies||[])}),e=f(e,function(t){return Ui(t).main}),"dataset"!==t&&l(e,"dataset")<=0&&e.unshift("dataset"),e}),h(lI,rI);var uI="";"undefined"!=typeof navigator&&(uI=navigator.platform||"");var hI={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:uI.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:"auto",animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},cI=Bi(),dI={clearColorPalette:function(){cI(this).colorIdx=0,cI(this).colorNameMap={}},getColorFromPalette:function(t,e,i){var n=cI(e=e||this),o=n.colorIdx||0,a=n.colorNameMap=n.colorNameMap||{};if(a.hasOwnProperty(t))return a[t];var r=Di(this.get("color",!0)),s=this.get("colorLayer",!0),l=null!=i&&s?va(s,i):r;if((l=l||r)&&l.length){var u=l[o];return t&&(a[t]=u),n.colorIdx=(o+1)%l.length,u}}},fI={cartesian2d:function(t,e,i,n){var o=t.getReferringComponents("xAxis")[0],a=t.getReferringComponents("yAxis")[0];e.coordSysDims=["x","y"],i.set("x",o),i.set("y",a),xa(o)&&(n.set("x",o),e.firstCategoryDimIndex=0),xa(a)&&(n.set("y",a),e.firstCategoryDimIndex=1)},singleAxis:function(t,e,i,n){var o=t.getReferringComponents("singleAxis")[0];e.coordSysDims=["single"],i.set("single",o),xa(o)&&(n.set("single",o),e.firstCategoryDimIndex=0)},polar:function(t,e,i,n){var o=t.getReferringComponents("polar")[0],a=o.findAxisModel("radiusAxis"),r=o.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],i.set("radius",a),i.set("angle",r),xa(a)&&(n.set("radius",a),e.firstCategoryDimIndex=0),xa(r)&&(n.set("angle",r),e.firstCategoryDimIndex=1)},geo:function(t,e,i,n){e.coordSysDims=["lng","lat"]},parallel:function(t,e,i,n){var o=t.ecModel,a=o.getComponent("parallel",t.get("parallelIndex")),r=e.coordSysDims=a.dimensions.slice();d(a.parallelAxisIndex,function(t,a){var s=o.getComponent("parallelAxis",t),l=r[a];i.set(l,s),xa(s)&&null==e.firstCategoryDimIndex&&(n.set(l,s),e.firstCategoryDimIndex=a)})}},pI="original",gI="arrayRows",mI="objectRows",vI="keyedColumns",yI="unknown",xI="typedArray",_I="column",wI="row";_a.seriesDataToSource=function(t){return new _a({data:t,sourceFormat:S(t)?xI:pI,fromDataset:!1})},Yi(_a);var bI=Bi(),SI="\0_ec_inner",MI=No.extend({init:function(t,e,i,n){i=i||{},this.option=null,this._theme=new No(i),this._optionManager=n},setOption:function(t,e){k(!(SI in t),"please use chart.getOption()"),this._optionManager.setOption(t,e),this.resetOption(null)},resetOption:function(t){var e=!1,i=this._optionManager;if(!t||"recreate"===t){var n=i.mountOption("recreate"===t);this.option&&"recreate"!==t?(this.restoreData(),this.mergeOption(n)):Ea.call(this,n),e=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var o=i.getTimelineOption(this);o&&(this.mergeOption(o),e=!0)}if(!t||"recreate"===t||"media"===t){var a=i.getMediaOption(this,this._api);a.length&&d(a,function(t){this.mergeOption(t,e=!0)},this)}return e},mergeOption:function(t){var e=this.option,o=this._componentsMap,r=[];Sa(this),d(t,function(t,o){null!=t&&(lI.hasClass(o)?o&&r.push(o):e[o]=null==e[o]?i(t):n(e[o],t,!0))}),lI.topologicalTravel(r,lI.getAllClassMainTypes(),function(i,n){var r=Di(t[i]),s=Pi(o.get(i),r);Ni(s),d(s,function(t,e){var n=t.option;w(n)&&(t.keyInfo.mainType=i,t.keyInfo.subType=za(i,n,t.exist))});var l=Ra(o,n);e[i]=[],o.set(i,[]),d(s,function(t,n){var r=t.exist,s=t.option;if(k(w(s)||r,"Empty component definition"),s){var u=lI.getClass(i,t.keyInfo.subType,!0);if(r&&r instanceof u)r.name=t.keyInfo.name,r.mergeOption(s,this),r.optionUpdated(s,!1);else{var h=a({dependentModels:l,componentIndex:n},t.keyInfo);a(r=new u(s,this,this,h),h),r.init(s,this,this,h),r.optionUpdated(null,!0)}}else r.mergeOption({},this),r.optionUpdated({},!1);o.get(i)[n]=r,e[i][n]=r.option},this),"series"===i&&Ba(this,o.get("series"))},this),this._seriesIndicesMap=R(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var t=i(this.option);return d(t,function(e,i){if(lI.hasClass(i)){for(var n=(e=Di(e)).length-1;n>=0;n--)Ei(e[n])&&e.splice(n,1);t[i]=e}}),delete t[SI],t},getTheme:function(){return this._theme},getComponent:function(t,e){var i=this._componentsMap.get(t);if(i)return i[e||0]},queryComponents:function(t){var e=t.mainType;if(!e)return[];var i=t.index,n=t.id,o=t.name,a=this._componentsMap.get(e);if(!a||!a.length)return[];var r;if(null!=i)y(i)||(i=[i]),r=g(f(i,function(t){return a[t]}),function(t){return!!t});else if(null!=n){var s=y(n);r=g(a,function(t){return s&&l(n,t.id)>=0||!s&&t.id===n})}else if(null!=o){var u=y(o);r=g(a,function(t){return u&&l(o,t.name)>=0||!u&&t.name===o})}else r=a.slice();return Va(r,t)},findComponents:function(t){var e=t.query,i=t.mainType,n=function(t){var e=i+"Index",n=i+"Id",o=i+"Name";return!t||null==t[e]&&null==t[n]&&null==t[o]?null:{mainType:i,index:t[e],id:t[n],name:t[o]}}(e);return function(e){return t.filter?g(e,t.filter):e}(Va(n?this.queryComponents(n):this._componentsMap.get(i),t))},eachComponent:function(t,e,i){var n=this._componentsMap;"function"==typeof t?(i=e,e=t,n.each(function(t,n){d(t,function(t,o){e.call(i,n,t,o)})})):_(t)?d(n.get(t),e,i):w(t)&&d(this.findComponents(t),e,i)},getSeriesByName:function(t){return g(this._componentsMap.get("series"),function(e){return e.name===t})},getSeriesByIndex:function(t){return this._componentsMap.get("series")[t]},getSeriesByType:function(t){return g(this._componentsMap.get("series"),function(e){return e.subType===t})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(t,e){d(this._seriesIndices,function(i){var n=this._componentsMap.get("series")[i];t.call(e,n,i)},this)},eachRawSeries:function(t,e){d(this._componentsMap.get("series"),t,e)},eachSeriesByType:function(t,e,i){d(this._seriesIndices,function(n){var o=this._componentsMap.get("series")[n];o.subType===t&&e.call(i,o,n)},this)},eachRawSeriesByType:function(t,e,i){return d(this.getSeriesByType(t),e,i)},isSeriesFiltered:function(t){return null==this._seriesIndicesMap.get(t.componentIndex)},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(t,e){Ba(this,g(this._componentsMap.get("series"),t,e))},restoreData:function(t){var e=this._componentsMap;Ba(this,e.get("series"));var i=[];e.each(function(t,e){i.push(e)}),lI.topologicalTravel(i,lI.getAllClassMainTypes(),function(i,n){d(e.get(i),function(e){("series"!==i||!Na(e,t))&&e.restoreData()})})}});h(MI,dI);var II=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"],TI={};Fa.prototype={constructor:Fa,create:function(t,e){var i=[];d(TI,function(n,o){var a=n.create(t,e);i=i.concat(a||[])}),this._coordinateSystems=i},update:function(t,e){d(this._coordinateSystems,function(i){i.update&&i.update(t,e)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},Fa.register=function(t,e){TI[t]=e},Fa.get=function(t){return TI[t]};var AI=d,DI=i,CI=f,LI=n,kI=/^(min|max)?(.+)$/;Wa.prototype={constructor:Wa,setOption:function(t,e){t&&d(Di(t.series),function(t){t&&t.data&&S(t.data)&&N(t.data)}),t=DI(t,!0);var i=this._optionBackup,n=Ha.call(this,t,e,!i);this._newBaseOption=n.baseOption,i?(ja(i.baseOption,n.baseOption),n.timelineOptions.length&&(i.timelineOptions=n.timelineOptions),n.mediaList.length&&(i.mediaList=n.mediaList),n.mediaDefault&&(i.mediaDefault=n.mediaDefault)):this._optionBackup=n},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=CI(e.timelineOptions,DI),this._mediaList=CI(e.mediaList,DI),this._mediaDefault=DI(e.mediaDefault),this._currentMediaIndices=[],DI(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,i=this._timelineOptions;if(i.length){var n=t.getComponent("timeline");n&&(e=DI(i[n.getCurrentIndex()],!0))}return e},getMediaOption:function(t){var e=this._api.getWidth(),i=this._api.getHeight(),n=this._mediaList,o=this._mediaDefault,a=[],r=[];if(!n.length&&!o)return r;for(var s=0,l=n.length;s<l;s++)Za(n[s].query,e,i)&&a.push(s);return!a.length&&o&&(a=[-1]),a.length&&!Xa(a,this._currentMediaIndices)&&(r=CI(a,function(t){return DI(-1===t?o.option:n[t].option)})),this._currentMediaIndices=a,r}};var PI=d,NI=w,OI=["areaStyle","lineStyle","nodeStyle","linkStyle","chordStyle","label","labelLine"],EI=function(t,e){PI(tr(t.series),function(t){NI(t)&&Qa(t)});var i=["xAxis","yAxis","radiusAxis","angleAxis","singleAxis","parallelAxis","radar"];e&&i.push("valueAxis","categoryAxis","logAxis","timeAxis"),PI(i,function(e){PI(tr(t[e]),function(t){t&&($a(t,"axisLabel"),$a(t.axisPointer,"label"))})}),PI(tr(t.parallel),function(t){var e=t&&t.parallelAxisDefault;$a(e,"axisLabel"),$a(e&&e.axisPointer,"label")}),PI(tr(t.calendar),function(t){qa(t,"itemStyle"),$a(t,"dayLabel"),$a(t,"monthLabel"),$a(t,"yearLabel")}),PI(tr(t.radar),function(t){$a(t,"name")}),PI(tr(t.geo),function(t){NI(t)&&(Ja(t),PI(tr(t.regions),function(t){Ja(t)}))}),PI(tr(t.timeline),function(t){Ja(t),qa(t,"label"),qa(t,"itemStyle"),qa(t,"controlStyle",!0);var e=t.data;y(e)&&d(e,function(t){w(t)&&(qa(t,"label"),qa(t,"itemStyle"))})}),PI(tr(t.toolbox),function(t){qa(t,"iconStyle"),PI(t.feature,function(t){qa(t,"iconStyle")})}),$a(er(t.axisPointer),"label"),$a(er(t.tooltip).axisPointer,"label")},RI=[["x","left"],["y","top"],["x2","right"],["y2","bottom"]],zI=["grid","geo","parallel","legend","toolbox","title","visualMap","dataZoom","timeline"],BI=function(t,e){EI(t,e),t.series=Di(t.series),d(t.series,function(t){if(w(t)){var e=t.type;if("pie"!==e&&"gauge"!==e||null!=t.clockWise&&(t.clockwise=t.clockWise),"gauge"===e){var i=ir(t,"pointer.color");null!=i&&nr(t,"itemStyle.normal.color",i)}or(t)}}),t.dataRange&&(t.visualMap=t.dataRange),d(zI,function(e){var i=t[e];i&&(y(i)||(i=[i]),d(i,function(t){or(t)}))})},VI=rr.prototype;VI.pure=!1,VI.persistent=!0,VI.getSource=function(){return this._source};var GI={arrayRows_column:{pure:!0,count:function(){return Math.max(0,this._data.length-this._source.startIndex)},getItem:function(t){return this._data[t+this._source.startIndex]},appendData:ur},arrayRows_row:{pure:!0,count:function(){var t=this._data[0];return t?Math.max(0,t.length-this._source.startIndex):0},getItem:function(t){t+=this._source.startIndex;for(var e=[],i=this._data,n=0;n<i.length;n++){var o=i[n];e.push(o?o[t]:null)}return e},appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: "row".')}},objectRows:{pure:!0,count:sr,getItem:lr,appendData:ur},keyedColumns:{pure:!0,count:function(){var t=this._source.dimensionsDefine[0].name,e=this._data[t];return e?e.length:0},getItem:function(t){for(var e=[],i=this._source.dimensionsDefine,n=0;n<i.length;n++){var o=this._data[i[n].name];e.push(o?o[t]:null)}return e},appendData:function(t){var e=this._data;d(t,function(t,i){for(var n=e[i]||(e[i]=[]),o=0;o<(t||[]).length;o++)n.push(t[o])})}},original:{count:sr,getItem:lr,appendData:ur},typedArray:{persistent:!1,pure:!0,count:function(){return this._data?this._data.length/this._dimSize:0},getItem:function(t,e){t-=this._offset,e=e||[];for(var i=this._dimSize*t,n=0;n<this._dimSize;n++)e[n]=this._data[i+n];return e},appendData:function(t){this._data=t},clean:function(){this._offset+=this.count(),this._data=null}}},FI={arrayRows:hr,objectRows:function(t,e,i,n){return null!=i?t[n]:t},keyedColumns:hr,original:function(t,e,i,n){var o=Li(t);return null!=i&&o instanceof Array?o[i]:o},typedArray:hr},WI={arrayRows:cr,objectRows:function(t,e,i,n){return dr(t[e],this._dimensionInfos[e])},keyedColumns:cr,original:function(t,e,i,n){var o=t&&(null==t.value?t:t.value);return!this._rawData.pure&&ki(t)&&(this.hasItemOption=!0),dr(o instanceof Array?o[n]:o,this._dimensionInfos[e])},typedArray:function(t,e,i,n){return t[n]}},HI=/\{@(.+?)\}/g,ZI={getDataParams:function(t,e){var i=this.getData(e),n=this.getRawValue(t,e),o=i.getRawIndex(t),a=i.getName(t),r=i.getRawDataItem(t),s=i.getItemVisual(t,"color"),l=this.ecModel.getComponent("tooltip"),u=Hi(l&&l.get("renderMode")),h=this.mainType,c="series"===h;return{componentType:h,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:c?this.subType:null,seriesIndex:this.seriesIndex,seriesId:c?this.id:null,seriesName:c?this.name:null,name:a,dataIndex:o,data:r,dataType:e,value:n,color:s,marker:aa({color:s,renderMode:u}),$vars:["seriesName","name","value"]}},getFormattedLabel:function(t,e,i,n,o){e=e||"normal";var a=this.getData(i),r=a.getItemModel(t),s=this.getDataParams(t,i);null!=n&&s.value instanceof Array&&(s.value=s.value[n]);var l=r.get("normal"===e?[o||"label","formatter"]:[e,o||"label","formatter"]);return"function"==typeof l?(s.status=e,l(s)):"string"==typeof l?na(l,s).replace(HI,function(e,i){var n=i.length;return"["===i.charAt(0)&&"]"===i.charAt(n-1)&&(i=+i.slice(1,n-1)),fr(a,t,i)}):void 0},getRawValue:function(t,e){return fr(this.getData(e),t)},formatTooltip:function(){}},UI=mr.prototype;UI.perform=function(t){function e(t){return!(t>=1)&&(t=1),t}var i=this._upstream,n=t&&t.skip;if(this._dirty&&i){var o=this.context;o.data=o.outputData=i.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var a;this._plan&&!n&&(a=this._plan(this.context));var r=e(this._modBy),s=this._modDataCount||0,l=e(t&&t.modBy),u=t&&t.modDataCount||0;r===l&&s===u||(a="reset");var h;(this._dirty||"reset"===a)&&(this._dirty=!1,h=yr(this,n)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=i?i._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var d=this._dueIndex,f=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!n&&(h||d<f)){var p=this._progress;if(y(p))for(var g=0;g<p.length;g++)vr(this,p[g],d,f,l,u);else vr(this,p,d,f,l,u)}this._dueIndex=f;var m=null!=this._settedOutputEnd?this._settedOutputEnd:f;this._outputDueEnd=m}else this._dueIndex=this._outputDueEnd=null!=this._settedOutputEnd?this._settedOutputEnd:this._dueEnd;return this.unfinished()};var XI=function(){function t(){return n<i?n++:null}function e(){var t=n%r*o+Math.ceil(n/r),e=n>=i?null:t<a?t:n;return n++,e}var i,n,o,a,r,s={reset:function(l,u,h,c){n=l,i=u,o=h,a=c,r=Math.ceil(a/o),s.next=o>1&&a>0?e:t}};return s}();UI.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},UI.unfinished=function(){return this._progress&&this._dueIndex<this._dueEnd},UI.pipe=function(t){(this._downstream!==t||this._dirty)&&(this._downstream=t,t._upstream=this,t.dirty())},UI.dispose=function(){this._disposed||(this._upstream&&(this._upstream._downstream=null),this._downstream&&(this._downstream._upstream=null),this._dirty=!1,this._disposed=!0)},UI.getUpstream=function(){return this._upstream},UI.getDownstream=function(){return this._downstream},UI.setOutputEnd=function(t){this._outputDueEnd=this._settedOutputEnd=t};var jI=Bi(),YI=lI.extend({type:"series.__base__",seriesIndex:0,coordinateSystem:null,defaultOption:null,legendDataProvider:null,visualColorAccessPath:"itemStyle.color",layoutMode:null,init:function(t,e,i,n){this.seriesIndex=this.componentIndex,this.dataTask=gr({count:wr,reset:br}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,i),Ma(this);var o=this.getInitialData(t,i);Mr(o,this),this.dataTask.context.data=o,jI(this).dataBeforeProcessed=o,xr(this)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,o=i?ga(t):{},a=this.subType;lI.hasClass(a)&&(a+="Series"),n(t,e.getTheme().get(this.subType)),n(t,this.getDefaultOption()),Ci(t,"label",["show"]),this.fillDataTextStyle(t.data),i&&pa(t,o,i)},mergeOption:function(t,e){t=n(this.option,t,!0),this.fillDataTextStyle(t.data);var i=this.layoutMode;i&&pa(this.option,t,i),Ma(this);var o=this.getInitialData(t,e);Mr(o,this),this.dataTask.dirty(),this.dataTask.context.data=o,jI(this).dataBeforeProcessed=o,xr(this)},fillDataTextStyle:function(t){if(t&&!S(t))for(var e=["show"],i=0;i<t.length;i++)t[i]&&t[i].label&&Ci(t[i],"label",e)},getInitialData:function(){},appendData:function(t){this.getRawData().appendData(t.data)},getData:function(t){var e=Tr(this);if(e){var i=e.context.data;return null==t?i:i.getLinkedData(t)}return jI(this).data},setData:function(t){var e=Tr(this);if(e){var i=e.context;i.data!==t&&e.modifyOutputEnd&&e.setOutputEnd(t.count()),i.outputData=t,e!==this.dataTask&&(i.data=t)}jI(this).data=t},getSource:function(){return ba(this)},getRawData:function(){return jI(this).dataBeforeProcessed},getBaseAxis:function(){var t=this.coordinateSystem;return t&&t.getBaseAxis&&t.getBaseAxis()},formatTooltip:function(t,e,i,n){function o(t){return{renderMode:n,content:ia(ta(t)),style:l}}var a=this,r="html"===(n=n||"html")?"<br/>":"\n",s="richText"===n,l={},u=0,h=this.getData(),c=h.mapDimension("defaultedTooltip",!0),f=c.length,g=this.getRawValue(t),m=y(g),v=h.getItemVisual(t,"color");w(v)&&v.colorStops&&(v=(v.colorStops[0]||{}).color),v=v||"transparent";var x=(f>1||m&&!f?function(i){function o(t,i){var o=h.getDimensionInfo(i);if(o&&!1!==o.otherDims.tooltip){var c=o.type,d="sub"+a.seriesIndex+"at"+u,p=aa({color:v,type:"subItem",renderMode:n,markerId:d}),g="string"==typeof p?p:p.content,m=(r?g+ia(o.displayName||"-")+": ":"")+ia("ordinal"===c?t+"":"time"===c?e?"":sa("yyyy/MM/dd hh:mm:ss",t):ta(t));m&&f.push(m),s&&(l[d]=v,++u)}}var r=p(i,function(t,e,i){var n=h.getDimensionInfo(i);return t|=n&&!1!==n.tooltip&&null!=n.displayName},0),f=[];c.length?d(c,function(e){o(fr(h,t,e),e)}):d(i,o);var g=r?s?"\n":"<br/>":"",m=g+f.join(g||", ");return{renderMode:n,content:m,style:l}}(g):o(f?fr(h,t,c[0]):m?g[0]:g)).content,_=a.seriesIndex+"at"+u,b=aa({color:v,type:"item",renderMode:n,markerId:_});l[_]=v,++u;var S=h.getName(t),M=this.name;Oi(this)||(M=""),M=M?ia(M)+(e?": ":r):"";var I="string"==typeof b?b:b.content;return{html:e?I+M+x:M+I+(S?ia(S)+": "+x:x),markers:l}},isAnimationEnabled:function(){if(U_.node)return!1;var t=this.getShallow("animation");return t&&this.getData().count()>this.getShallow("animationThreshold")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,i){var n=this.ecModel,o=dI.getColorFromPalette.call(this,t,e,i);return o||(o=n.getColorFromPalette(t,e,i)),o},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});h(YI,ZI),h(YI,dI);var qI=function(){this.group=new tb,this.uid=Ro("viewComponent")};qI.prototype={constructor:qI,init:function(t,e){},render:function(t,e,i,n){},dispose:function(){},filterForExposedEvent:null};var KI=qI.prototype;KI.updateView=KI.updateLayout=KI.updateVisual=function(t,e,i,n){},ji(qI),$i(qI,{registerWhenExtend:!0});var $I=function(){var t=Bi();return function(e){var i=t(e),n=e.pipelineContext,o=i.large,a=i.progressiveRender,r=i.large=n.large,s=i.progressiveRender=n.progressiveRender;return!!(o^r||a^s)&&"reset"}},JI=Bi(),QI=$I();Ar.prototype={type:"chart",init:function(t,e){},render:function(t,e,i,n){},highlight:function(t,e,i,n){Cr(t.getData(),n,"emphasis")},downplay:function(t,e,i,n){Cr(t.getData(),n,"normal")},remove:function(t,e){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};var tT=Ar.prototype;tT.updateView=tT.updateLayout=tT.updateVisual=function(t,e,i,n){this.render(t,e,i,n)},ji(Ar),$i(Ar,{registerWhenExtend:!0}),Ar.markUpdateMethod=function(t,e){JI(t).updateMethod=e};var eT={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},iT="\0__throttleOriginMethod",nT="\0__throttleRate",oT="\0__throttleType",aT={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var i=t.getData(),n=(t.visualColorAccessPath||"itemStyle.color").split("."),o=t.get(n)||t.getColorFromPalette(t.name,null,e.getSeriesCount());if(i.setVisual("color",o),!e.isSeriesFiltered(t)){"function"!=typeof o||o instanceof IM||i.each(function(e){i.setItemVisual(e,"color",o(t.getDataParams(e)))});return{dataEach:i.hasItemOption?function(t,e){var i=t.getItemModel(e).get(n,!0);null!=i&&t.setItemVisual(e,"color",i)}:null}}}},rT={toolbox:{brush:{title:{rect:"鐭╁舰閫夋嫨",polygon:"鍦堥��",lineX:"妯悜閫夋嫨",lineY:"绾靛悜閫夋嫨",keep:"淇濇寔閫夋嫨",clear:"娓呴櫎閫夋嫨"}},dataView:{title:"鏁版嵁瑙嗗浘",lang:["鏁版嵁瑙嗗浘","鍏抽棴","鍒锋柊"]},dataZoom:{title:{zoom:"鍖哄煙缂╂斁",back:"鍖哄煙缂╂斁杩樺師"}},magicType:{title:{line:"鍒囨崲涓烘姌绾垮浘",bar:"鍒囨崲涓烘煴鐘跺浘",stack:"鍒囨崲涓哄爢鍙�",tiled:"鍒囨崲涓哄钩閾�"}},restore:{title:"杩樺師"},saveAsImage:{title:"淇濆瓨涓哄浘鐗�",lang:["鍙抽敭鍙﹀瓨涓哄浘鐗�"]}},series:{typeNames:{pie:"楗煎浘",bar:"鏌辩姸鍥�",line:"鎶樼嚎鍥�",scatter:"鏁g偣鍥�",effectScatter:"娑熸吉鏁g偣鍥�",radar:"闆疯揪鍥�",tree:"鏍戝浘",treemap:"鐭╁舰鏍戝浘",boxplot:"绠卞瀷鍥�",candlestick:"K绾垮浘",k:"K绾垮浘",heatmap:"鐑姏鍥�",map:"鍦板浘",parallel:"骞宠鍧愭爣鍥�",lines:"绾垮浘",graph:"鍏崇郴鍥�",sankey:"妗戝熀鍥�",funnel:"婕忔枟鍥�",gauge:"浠〃鐩樺浘",pictorialBar:"璞″舰鏌卞浘",themeRiver:"涓婚娌虫祦鍥�",sunburst:"鏃棩鍥�"}},aria:{general:{withTitle:"杩欐槸涓�涓叧浜庘�渰title}鈥濈殑鍥捐〃銆�",withoutTitle:"杩欐槸涓�涓浘琛紝"},series:{single:{prefix:"",withName:"鍥捐〃绫诲瀷鏄瘂seriesType}锛岃〃绀簕seriesName}銆�",withoutName:"鍥捐〃绫诲瀷鏄瘂seriesType}銆�"},multiple:{prefix:"瀹冪敱{seriesCount}涓浘琛ㄧ郴鍒楃粍鎴愩��",withName:"绗瑊seriesId}涓郴鍒楁槸涓�涓〃绀簕seriesName}鐨剓seriesType}锛�",withoutName:"绗瑊seriesId}涓郴鍒楁槸涓�涓獅seriesType}锛�",separator:{middle:"锛�",end:"銆�"}}},data:{allData:"鍏舵暟鎹槸鈥斺��",partialData:"鍏朵腑锛屽墠{displayCnt}椤规槸鈥斺��",withName:"{name}鐨勬暟鎹槸{value}",withoutName:"{value}",separator:{middle:"锛�",end:""}}}},sT=function(t,e){function i(t,e){if("string"!=typeof t)return t;var i=t;return d(e,function(t,e){i=i.replace(new RegExp("\\{\\s*"+e+"\\s*\\}","g"),t)}),i}function n(t){var e=a.get(t);if(null==e){for(var i=t.split("."),n=rT.aria,o=0;o<i.length;++o)n=n[i[o]];return n}return e}function o(t){return rT.series.typeNames[t]||"鑷畾涔夊浘"}var a=e.getModel("aria");if(a.get("show"))if(a.get("description"))t.setAttribute("aria-label",a.get("description"));else{var r=0;e.eachSeries(function(t,e){++r},this);var s,l=a.get("data.maxCount")||10,u=a.get("series.maxCount")||10,h=Math.min(r,u);if(!(r<1)){var c=function(){var t=e.getModel("title").option;return t&&t.length&&(t=t[0]),t&&t.text}();s=c?i(n("general.withTitle"),{title:c}):n("general.withoutTitle");var f=[];s+=i(n(r>1?"series.multiple.prefix":"series.single.prefix"),{seriesCount:r}),e.eachSeries(function(t,e){if(e<h){var a,s=t.get("name"),u="series."+(r>1?"multiple":"single")+".";a=i(a=n(s?u+"withName":u+"withoutName"),{seriesId:t.seriesIndex,seriesName:t.get("name"),seriesType:o(t.subType)});var c=t.getData();window.data=c,c.count()>l?a+=i(n("data.partialData"),{displayCnt:l}):a+=n("data.allData");for(var d=[],p=0;p<c.count();p++)if(p<l){var g=c.getName(p),m=fr(c,p);d.push(i(n(g?"data.withName":"data.withoutName"),{name:g,value:m}))}a+=d.join(n("data.separator.middle"))+n("data.separator.end"),f.push(a)}}),s+=f.join(n("series.multiple.separator.middle"))+n("series.multiple.separator.end"),t.setAttribute("aria-label",s)}}},lT=Math.PI,uT=Er.prototype;uT.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each(function(t){var e=t.overallTask;e&&e.dirty()})},uT.getPerformArgs=function(t,e){if(t.__pipeline){var i=this._pipelineMap.get(t.__pipeline.id),n=i.context,o=!e&&i.progressiveEnabled&&(!n||n.progressiveRender)&&t.__idxInPipeline>i.blockIndex?i.step:null,a=n&&n.modDataCount;return{step:o,modBy:null!=a?Math.ceil(a/o):null,modDataCount:a}}},uT.getPipeline=function(t){return this._pipelineMap.get(t)},uT.updateStreamModes=function(t,e){var i=this._pipelineMap.get(t.uid),n=t.getData().count(),o=i.progressiveEnabled&&e.incrementalPrepareRender&&n>=i.threshold,a=t.get("large")&&n>=t.get("largeThreshold"),r="mod"===t.get("progressiveChunkMode")?n:null;t.pipelineContext=i.context={progressiveRender:o,modDataCount:r,large:a}},uT.restorePipelines=function(t){var e=this,i=e._pipelineMap=R();t.eachSeries(function(t){var n=t.getProgressive(),o=t.uid;i.set(o,{id:o,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:n&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(n||700),count:0}),jr(e,t,t.dataTask)})},uT.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.ecInstance.getModel(),i=this.api;d(this._allHandlers,function(n){var o=t.get(n.uid)||t.set(n.uid,[]);n.reset&&zr(this,n,o,e,i),n.overallReset&&Br(this,n,o,e,i)},this)},uT.prepareView=function(t,e,i,n){var o=t.renderTask,a=o.context;a.model=e,a.ecModel=i,a.api=n,o.__block=!t.incrementalPrepareRender,jr(this,e,o)},uT.performDataProcessorTasks=function(t,e){Rr(this,this._dataProcessorHandlers,t,e,{block:!0})},uT.performVisualTasks=function(t,e,i){Rr(this,this._visualHandlers,t,e,i)},uT.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},uT.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})};var hT=uT.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},cT=Ur(0);Er.wrapStageHandler=function(t,e){return x(t)&&(t={overallReset:t,seriesType:Yr(t)}),t.uid=Ro("stageHandler"),e&&(t.visualType=e),t};var dT,fT={},pT={};qr(fT,MI),qr(pT,Ga),fT.eachSeriesByType=fT.eachRawSeriesByType=function(t){dT=t},fT.eachComponent=function(t){"series"===t.mainType&&t.subType&&(dT=t.subType)};var gT=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],mT={color:gT,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],gT]},vT=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],yT={color:vT,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:"#eee"},crossStyle:{color:"#eee"}}},legend:{textStyle:{color:"#eee"}},textStyle:{color:"#eee"},title:{textStyle:{color:"#eee"}},toolbox:{iconStyle:{normal:{borderColor:"#eee"}}},dataZoom:{textStyle:{color:"#eee"}},visualMap:{textStyle:{color:"#eee"}},timeline:{lineStyle:{color:"#eee"},itemStyle:{normal:{color:vT[1]}},label:{normal:{textStyle:{color:"#eee"}}},controlStyle:{normal:{color:"#eee",borderColor:"#eee"}}},timeAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},logAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},valueAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},categoryAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},line:{symbol:"circle"},graph:{color:vT},gauge:{title:{textStyle:{color:"#eee"}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};yT.categoryAxis.splitLine.show=!1,lI.extend({type:"dataset",defaultOption:{seriesLayoutBy:_I,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){wa(this)}}),qI.extend({type:"dataset"});var xT=Pn.extend({type:"ellipse",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(t,e){var i=.5522848,n=e.cx,o=e.cy,a=e.rx,r=e.ry,s=a*i,l=r*i;t.moveTo(n-a,o),t.bezierCurveTo(n-a,o-l,n-s,o-r,n,o-r),t.bezierCurveTo(n+s,o-r,n+a,o-l,n+a,o),t.bezierCurveTo(n+a,o+l,n+s,o+r,n,o+r),t.bezierCurveTo(n-s,o+r,n-a,o+l,n-a,o),t.closePath()}}),_T=/[\s,]+/;$r.prototype.parse=function(t,e){e=e||{};var i=Kr(t);if(!i)throw new Error("Illegal svg");var n=new tb;this._root=n;var o=i.getAttribute("viewBox")||"",a=parseFloat(i.getAttribute("width")||e.width),r=parseFloat(i.getAttribute("height")||e.height);isNaN(a)&&(a=null),isNaN(r)&&(r=null),es(i,n,null,!0);for(var s=i.firstChild;s;)this._parseNode(s,n),s=s.nextSibling;var l,u;if(o){var h=P(o).split(_T);h.length>=4&&(l={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(l&&null!=a&&null!=r&&(u=as(l,a,r),!e.ignoreViewBox)){var c=n;(n=new tb).add(c),c.scale=u.scale.slice(),c.position=u.position.slice()}return e.ignoreRootClip||null==a||null==r||n.setClipPath(new yM({shape:{x:0,y:0,width:a,height:r}})),{root:n,width:a,height:r,viewBoxRect:l,viewBoxTransform:u}},$r.prototype._parseNode=function(t,e){var i=t.nodeName.toLowerCase();"defs"===i?this._isDefine=!0:"text"===i&&(this._isText=!0);var n;if(this._isDefine){if(r=bT[i]){var o=r.call(this,t),a=t.getAttribute("id");a&&(this._defs[a]=o)}}else{var r=wT[i];r&&(n=r.call(this,t,e),e.add(n))}for(var s=t.firstChild;s;)1===s.nodeType&&this._parseNode(s,n),3===s.nodeType&&this._isText&&this._parseText(s,n),s=s.nextSibling;"defs"===i?this._isDefine=!1:"text"===i&&(this._isText=!1)},$r.prototype._parseText=function(t,e){if(1===t.nodeType){var i=t.getAttribute("dx")||0,n=t.getAttribute("dy")||0;this._textX+=parseFloat(i),this._textY+=parseFloat(n)}var o=new rM({style:{text:t.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});Qr(e,o),es(t,o,this._defs);var a=o.style.fontSize;a&&a<9&&(o.style.fontSize=9,o.scale=o.scale||[1,1],o.scale[0]*=a/9,o.scale[1]*=a/9);var r=o.getBoundingRect();return this._textX+=r.width,e.add(o),o};var wT={g:function(t,e){var i=new tb;return Qr(e,i),es(t,i,this._defs),i},rect:function(t,e){var i=new yM;return Qr(e,i),es(t,i,this._defs),i.setShape({x:parseFloat(t.getAttribute("x")||0),y:parseFloat(t.getAttribute("y")||0),width:parseFloat(t.getAttribute("width")||0),height:parseFloat(t.getAttribute("height")||0)}),i},circle:function(t,e){var i=new sM;return Qr(e,i),es(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),r:parseFloat(t.getAttribute("r")||0)}),i},line:function(t,e){var i=new _M;return Qr(e,i),es(t,i,this._defs),i.setShape({x1:parseFloat(t.getAttribute("x1")||0),y1:parseFloat(t.getAttribute("y1")||0),x2:parseFloat(t.getAttribute("x2")||0),y2:parseFloat(t.getAttribute("y2")||0)}),i},ellipse:function(t,e){var i=new xT;return Qr(e,i),es(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute("cx")||0),cy:parseFloat(t.getAttribute("cy")||0),rx:parseFloat(t.getAttribute("rx")||0),ry:parseFloat(t.getAttribute("ry")||0)}),i},polygon:function(t,e){var i=t.getAttribute("points");i&&(i=ts(i));var n=new pM({shape:{points:i||[]}});return Qr(e,n),es(t,n,this._defs),n},polyline:function(t,e){var i=new Pn;Qr(e,i),es(t,i,this._defs);var n=t.getAttribute("points");return n&&(n=ts(n)),new gM({shape:{points:n||[]}})},image:function(t,e){var i=new fi;return Qr(e,i),es(t,i,this._defs),i.setStyle({image:t.getAttribute("xlink:href"),x:t.getAttribute("x"),y:t.getAttribute("y"),width:t.getAttribute("width"),height:t.getAttribute("height")}),i},text:function(t,e){var i=t.getAttribute("x")||0,n=t.getAttribute("y")||0,o=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0;this._textX=parseFloat(i)+parseFloat(o),this._textY=parseFloat(n)+parseFloat(a);var r=new tb;return Qr(e,r),es(t,r,this._defs),r},tspan:function(t,e){var i=t.getAttribute("x"),n=t.getAttribute("y");null!=i&&(this._textX=parseFloat(i)),null!=n&&(this._textY=parseFloat(n));var o=t.getAttribute("dx")||0,a=t.getAttribute("dy")||0,r=new tb;return Qr(e,r),es(t,r,this._defs),this._textX+=o,this._textY+=a,r},path:function(t,e){var i=Rn(t.getAttribute("d")||"");return Qr(e,i),es(t,i,this._defs),i}},bT={lineargradient:function(t){var e=parseInt(t.getAttribute("x1")||0,10),i=parseInt(t.getAttribute("y1")||0,10),n=parseInt(t.getAttribute("x2")||10,10),o=parseInt(t.getAttribute("y2")||0,10),a=new TM(e,i,n,o);return Jr(t,a),a},radialgradient:function(t){}},ST={fill:"fill",stroke:"stroke","stroke-width":"lineWidth",opacity:"opacity","fill-opacity":"fillOpacity","stroke-opacity":"strokeOpacity","stroke-dasharray":"lineDash","stroke-dashoffset":"lineDashOffset","stroke-linecap":"lineCap","stroke-linejoin":"lineJoin","stroke-miterlimit":"miterLimit","font-family":"fontFamily","font-size":"fontSize","font-style":"fontStyle","font-weight":"fontWeight","text-align":"textAlign","alignment-baseline":"textBaseline"},MT=/url\(\s*#(.*?)\)/,IT=/(translate|scale|rotate|skewX|skewY|matrix)\(([\-\s0-9\.e,]*)\)/g,TT=/([^\s:;]+)\s*:\s*([^:;]+)/g,AT=R(),DT={registerMap:function(t,e,i){var n;return y(e)?n=e:e.svg?n=[{type:"svg",source:e.svg,specialAreas:e.specialAreas}]:(e.geoJson&&!e.features&&(i=e.specialAreas,e=e.geoJson),n=[{type:"geoJSON",source:e,specialAreas:i}]),d(n,function(t){var e=t.type;"geoJson"===e&&(e=t.type="geoJSON"),(0,CT[e])(t)}),AT.set(t,n)},retrieveMap:function(t){return AT.get(t)}},CT={geoJSON:function(t){var e=t.source;t.geoJSON=_(e)?"undefined"!=typeof JSON&&JSON.parse?JSON.parse(e):new Function("return ("+e+");")():e},svg:function(t){t.svgXML=Kr(t.source)}},LT=k,kT=d,PT=x,NT=w,OT=lI.parseClassType,ET={zrender:"4.0.6"},RT=1e3,zT=1e3,BT=3e3,VT={PROCESSOR:{FILTER:RT,STATISTIC:5e3},VISUAL:{LAYOUT:zT,GLOBAL:2e3,CHART:BT,COMPONENT:4e3,BRUSH:5e3}},GT="__flagInMainProcess",FT="__optionUpdated",WT=/^[a-zA-Z0-9_]+$/;ls.prototype.on=ss("on"),ls.prototype.off=ss("off"),ls.prototype.one=ss("one"),h(ls,fw);var HT=us.prototype;HT._onframe=function(){if(!this._disposed){var t=this._scheduler;if(this[FT]){var e=this[FT].silent;this[GT]=!0,cs(this),ZT.update.call(this),this[GT]=!1,this[FT]=!1,gs.call(this,e),ms.call(this,e)}else if(t.unfinished){var i=1,n=this._model;this._api;t.unfinished=!1;do{var o=+new Date;t.performSeriesTasks(n),t.performDataProcessorTasks(n),fs(this,n),t.performVisualTasks(n),bs(this,this._model,0,"remain"),i-=+new Date-o}while(i>0&&t.unfinished);t.unfinished||this._zr.flush()}}},HT.getDom=function(){return this._dom},HT.getZr=function(){return this._zr},HT.setOption=function(t,e,i){var n;if(NT(e)&&(i=e.lazyUpdate,n=e.silent,e=e.notMerge),this[GT]=!0,!this._model||e){var o=new Wa(this._api),a=this._theme,r=this._model=new MI(null,null,a,o);r.scheduler=this._scheduler,r.init(null,null,a,o)}this._model.setOption(t,qT),i?(this[FT]={silent:n},this[GT]=!1):(cs(this),ZT.update.call(this),this._zr.flush(),this[FT]=!1,this[GT]=!1,gs.call(this,n),ms.call(this,n))},HT.setTheme=function(){console.error("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},HT.getModel=function(){return this._model},HT.getOption=function(){return this._model&&this._model.getOption()},HT.getWidth=function(){return this._zr.getWidth()},HT.getHeight=function(){return this._zr.getHeight()},HT.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},HT.getRenderedCanvas=function(t){if(U_.canvasSupported)return(t=t||{}).pixelRatio=t.pixelRatio||1,t.backgroundColor=t.backgroundColor||this._model.get("backgroundColor"),this._zr.painter.getRenderedCanvas(t)},HT.getSvgDataUrl=function(){if(U_.svgSupported){var t=this._zr;return d(t.storage.getDisplayList(),function(t){t.stopAnimation(!0)}),t.painter.pathToDataUrl()}},HT.getDataURL=function(t){var e=(t=t||{}).excludeComponents,i=this._model,n=[],o=this;kT(e,function(t){i.eachComponent({mainType:t},function(t){var e=o._componentsMap[t.__viewId];e.group.ignore||(n.push(e),e.group.ignore=!0)})});var a="svg"===this._zr.painter.getType()?this.getSvgDataUrl():this.getRenderedCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return kT(n,function(t){t.group.ignore=!1}),a},HT.getConnectedDataURL=function(t){if(U_.canvasSupported){var e=this.group,n=Math.min,o=Math.max;if(eA[e]){var a=1/0,r=1/0,s=-1/0,l=-1/0,u=[],h=t&&t.pixelRatio||1;d(tA,function(h,c){if(h.group===e){var d=h.getRenderedCanvas(i(t)),f=h.getDom().getBoundingClientRect();a=n(f.left,a),r=n(f.top,r),s=o(f.right,s),l=o(f.bottom,l),u.push({dom:d,left:f.left,top:f.top})}});var c=(s*=h)-(a*=h),f=(l*=h)-(r*=h),p=iw();p.width=c,p.height=f;var g=Ii(p);return kT(u,function(t){var e=new fi({style:{x:t.left*h-a,y:t.top*h-r,image:t.dom}});g.add(e)}),g.refreshImmediately(),p.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}},HT.convertToPixel=v(hs,"convertToPixel"),HT.convertFromPixel=v(hs,"convertFromPixel"),HT.containPixel=function(t,e){var i;return t=Vi(this._model,t),d(t,function(t,n){n.indexOf("Models")>=0&&d(t,function(t){var o=t.coordinateSystem;if(o&&o.containPoint)i|=!!o.containPoint(e);else if("seriesModels"===n){var a=this._chartsMap[t.__viewId];a&&a.containPoint&&(i|=a.containPoint(e,t))}},this)},this),!!i},HT.getVisual=function(t,e){var i=(t=Vi(this._model,t,{defaultMainType:"series"})).seriesModel.getData(),n=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?i.indexOfRawIndex(t.dataIndex):null;return null!=n?i.getItemVisual(n,e):i.getVisual(e)},HT.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},HT.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var ZT={prepareAndUpdate:function(t){cs(this),ZT.update.call(this,t)},update:function(t){var e=this._model,i=this._api,n=this._zr,o=this._coordSysMgr,a=this._scheduler;if(e){a.restoreData(e,t),a.performSeriesTasks(e),o.create(e,i),a.performDataProcessorTasks(e,t),fs(this,e),o.update(e,i),xs(e),a.performVisualTasks(e,t),_s(this,e,i,t);var r=e.get("backgroundColor")||"transparent";if(U_.canvasSupported)n.setBackgroundColor(r);else{var s=Gt(r);r=qt(s,"rgb"),0===s[3]&&(r="transparent")}Ss(e,i)}},updateTransform:function(t){var e=this._model,i=this,n=this._api;if(e){var o=[];e.eachComponent(function(a,r){var s=i.getViewOfComponentModel(r);if(s&&s.__alive)if(s.updateTransform){var l=s.updateTransform(r,e,n,t);l&&l.update&&o.push(s)}else o.push(s)});var a=R();e.eachSeries(function(o){var r=i._chartsMap[o.__viewId];if(r.updateTransform){var s=r.updateTransform(o,e,n,t);s&&s.update&&a.set(o.uid,1)}else a.set(o.uid,1)}),xs(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0,dirtyMap:a}),bs(i,e,0,t,a),Ss(e,this._api)}},updateView:function(t){var e=this._model;e&&(Ar.markUpdateMethod(t,"updateView"),xs(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),_s(this,this._model,this._api,t),Ss(e,this._api))},updateVisual:function(t){ZT.update.call(this,t)},updateLayout:function(t){ZT.update.call(this,t)}};HT.resize=function(t){this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var i=e.resetOption("media"),n=t&&t.silent;this[GT]=!0,i&&cs(this),ZT.update.call(this),this[GT]=!1,gs.call(this,n),ms.call(this,n)}},HT.showLoading=function(t,e){if(NT(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),QT[t]){var i=QT[t](this._api,e),n=this._zr;this._loadingFX=i,n.add(i)}},HT.hideLoading=function(){this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},HT.makeActionFromEvent=function(t){var e=a({},t);return e.type=jT[t.type],e},HT.dispatchAction=function(t,e){NT(e)||(e={silent:!!e}),XT[t.type]&&this._model&&(this[GT]?this._pendingActions.push(t):(ps.call(this,t,e.silent),e.flush?this._zr.flush(!0):!1!==e.flush&&U_.browser.weChat&&this._throttledZrFlush(),gs.call(this,e.silent),ms.call(this,e.silent)))},HT.appendData=function(t){var e=t.seriesIndex;this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0},HT.on=ss("on"),HT.off=ss("off"),HT.one=ss("one");var UT=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];HT._initEvents=function(){kT(UT,function(t){var e=function(e){var i,n=this.getModel(),o=e.target;if("globalout"===t)i={};else if(o&&null!=o.dataIndex){var r=o.dataModel||n.getSeriesByIndex(o.seriesIndex);i=r&&r.getDataParams(o.dataIndex,o.dataType,o)||{}}else o&&o.eventData&&(i=a({},o.eventData));if(i){var s=i.componentType,l=i.componentIndex;"markLine"!==s&&"markPoint"!==s&&"markArea"!==s||(s="series",l=i.seriesIndex);var u=s&&null!=l&&n.getComponent(s,l),h=u&&this["series"===u.mainType?"_chartsMap":"_componentsMap"][u.__viewId];i.event=e,i.type=t,this._ecEventProcessor.eventInfo={targetEl:o,packedEvent:i,model:u,view:h},this.trigger(t,i)}};e.zrEventfulCallAtLast=!0,this._zr.on(t,e,this)},this),kT(jT,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},HT.isDisposed=function(){return this._disposed},HT.clear=function(){this.setOption({series:[]},!0)},HT.dispose=function(){if(!this._disposed){this._disposed=!0,Fi(this.getDom(),oA,"");var t=this._api,e=this._model;kT(this._componentsViews,function(i){i.dispose(e,t)}),kT(this._chartsViews,function(i){i.dispose(e,t)}),this._zr.dispose(),delete tA[this.id]}},h(us,fw),Ds.prototype={constructor:Ds,normalizeQuery:function(t){var e={},i={},n={};if(_(t)){var o=OT(t);e.mainType=o.main||null,e.subType=o.sub||null}else{var a=["Index","Name","Id"],r={name:1,dataIndex:1,dataType:1};d(t,function(t,o){for(var s=!1,l=0;l<a.length;l++){var u=a[l],h=o.lastIndexOf(u);if(h>0&&h===o.length-u.length){var c=o.slice(0,h);"data"!==c&&(e.mainType=c,e[u.toLowerCase()]=t,s=!0)}}r.hasOwnProperty(o)&&(i[o]=t,s=!0),s||(n[o]=t)})}return{cptQuery:e,dataQuery:i,otherQuery:n}},filter:function(t,e,i){function n(t,e,i,n){return null==t[i]||e[n||i]===t[i]}var o=this.eventInfo;if(!o)return!0;var a=o.targetEl,r=o.packedEvent,s=o.model,l=o.view;if(!s||!l)return!0;var u=e.cptQuery,h=e.dataQuery;return n(u,s,"mainType")&&n(u,s,"subType")&&n(u,s,"index","componentIndex")&&n(u,s,"name")&&n(u,s,"id")&&n(h,r,"name")&&n(h,r,"dataIndex")&&n(h,r,"dataType")&&(!l.filterForExposedEvent||l.filterForExposedEvent(t,e.otherQuery,a,r))},afterTrigger:function(){this.eventInfo=null}};var XT={},jT={},YT=[],qT=[],KT=[],$T=[],JT={},QT={},tA={},eA={},iA=new Date-0,nA=new Date-0,oA="_echarts_instance_",aA=Ls;Bs(2e3,aT),Ns(BI),Os(5e3,function(t){var e=R();t.eachSeries(function(t){var i=t.get("stack");if(i){var n=e.get(i)||e.set(i,[]),o=t.getData(),a={stackResultDimension:o.getCalculationInfo("stackResultDimension"),stackedOverDimension:o.getCalculationInfo("stackedOverDimension"),stackedDimension:o.getCalculationInfo("stackedDimension"),stackedByDimension:o.getCalculationInfo("stackedByDimension"),isStackedByIndex:o.getCalculationInfo("isStackedByIndex"),data:o,seriesModel:t};if(!a.stackedDimension||!a.isStackedByIndex&&!a.stackedByDimension)return;n.length&&o.setCalculationInfo("stackedOnSeries",n[n.length-1].seriesModel),n.push(a)}}),e.each(ar)}),Gs("default",function(t,e){r(e=e||{},{text:"loading",color:"#c23531",textColor:"#000",maskColor:"rgba(255, 255, 255, 0.8)",zlevel:0});var i=new yM({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4}),n=new SM({shape:{startAngle:-lT/2,endAngle:-lT/2+.1,r:10},style:{stroke:e.color,lineCap:"round",lineWidth:5},zlevel:e.zlevel,z:10001}),o=new yM({style:{fill:"none",text:e.text,textPosition:"right",textDistance:10,textFill:e.textColor},zlevel:e.zlevel,z:10001});n.animateShape(!0).when(1e3,{endAngle:3*lT/2}).start("circularInOut"),n.animateShape(!0).when(1e3,{startAngle:3*lT/2}).delay(300).start("circularInOut");var a=new tb;return a.add(n),a.add(o),a.add(i),a.resize=function(){var e=t.getWidth()/2,a=t.getHeight()/2;n.setShape({cx:e,cy:a});var r=n.shape.r;o.setShape({x:e-r,y:a-r,width:2*r,height:2*r}),i.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},a.resize(),a}),Es({type:"highlight",event:"highlight",update:"highlight"},B),Es({type:"downplay",event:"downplay",update:"downplay"},B),Ps("light",mT),Ps("dark",yT);var rA={};Xs.prototype={constructor:Xs,add:function(t){return this._add=t,this},update:function(t){return this._update=t,this},remove:function(t){return this._remove=t,this},execute:function(){var t=this._old,e=this._new,i={},n=[],o=[];for(js(t,{},n,"_oldKeyGetter",this),js(e,i,o,"_newKeyGetter",this),a=0;a<t.length;a++)null!=(s=i[r=n[a]])?((u=s.length)?(1===u&&(i[r]=null),s=s.unshift()):i[r]=null,this._update&&this._update(s,a)):this._remove&&this._remove(a);for(var a=0;a<o.length;a++){var r=o[a];if(i.hasOwnProperty(r)){var s=i[r];if(null==s)continue;if(s.length)for(var l=0,u=s.length;l<u;l++)this._add&&this._add(s[l]);else this._add&&this._add(s)}}}};var sA=R(["tooltip","label","itemName","itemId","seriesName"]),lA=w,uA=-1,hA="e\0\0",cA={float:"undefined"==typeof Float64Array?Array:Float64Array,int:"undefined"==typeof Int32Array?Array:Int32Array,ordinal:Array,number:Array,time:Array},dA="undefined"==typeof Uint32Array?Array:Uint32Array,fA="undefined"==typeof Int32Array?Array:Int32Array,pA="undefined"==typeof Uint16Array?Array:Uint16Array,gA=["hasItemOption","_nameList","_idList","_invertedIndicesMap","_rawData","_chunkSize","_chunkCount","_dimValueGetter","_count","_rawCount","_nameDimIdx","_idDimIdx"],mA=["_extent","_approximateExtent","_rawExtent"],vA=function(t,e){t=t||["x","y"];for(var i={},n=[],o={},a=0;a<t.length;a++){var r=t[a];_(r)&&(r={name:r});var s=r.name;r.type=r.type||"float",r.coordDim||(r.coordDim=s,r.coordDimIndex=0),r.otherDims=r.otherDims||{},n.push(s),i[s]=r,r.index=a,r.createInvertedIndices&&(o[s]=[])}this.dimensions=n,this._dimensionInfos=i,this.hostModel=e,this.dataType,this._indices=null,this._count=0,this._rawCount=0,this._storage={},this._nameList=[],this._idList=[],this._optionModels=[],this._visual={},this._layout={},this._itemVisuals=[],this.hasItemVisual={},this._itemLayouts=[],this._graphicEls=[],this._chunkSize=1e5,this._chunkCount=0,this._rawData,this._rawExtent={},this._extent={},this._approximateExtent={},this._dimensionsSummary=Ys(this),this._invertedIndicesMap=o,this._calculationInfo={}},yA=vA.prototype;yA.type="list",yA.hasItemOption=!0,yA.getDimension=function(t){return isNaN(t)||(t=this.dimensions[t]||t),t},yA.getDimensionInfo=function(t){return this._dimensionInfos[this.getDimension(t)]},yA.getDimensionsOnCoord=function(){return this._dimensionsSummary.dataDimsOnCoord.slice()},yA.mapDimension=function(t,e){var i=this._dimensionsSummary;if(null==e)return i.encodeFirstDimNotExtra[t];var n=i.encode[t];return!0===e?(n||[]).slice():n&&n[e]},yA.initData=function(t,e,i){(_a.isInstance(t)||c(t))&&(t=new rr(t,this.dimensions.length)),this._rawData=t,this._storage={},this._indices=null,this._nameList=e||[],this._idList=[],this._nameRepeatCount={},i||(this.hasItemOption=!1),this.defaultDimValueGetter=WI[this._rawData.getSource().sourceFormat],this._dimValueGetter=i=i||this.defaultDimValueGetter,this._dimValueGetterArrayRows=WI.arrayRows,this._rawExtent={},this._initDataFromProvider(0,t.count()),t.pure&&(this.hasItemOption=!1)},yA.getProvider=function(){return this._rawData},yA.appendData=function(t){var e=this._rawData,i=this.count();e.appendData(t);var n=e.count();e.persistent||(n+=i),this._initDataFromProvider(i,n)},yA.appendValues=function(t,e){for(var i=this._chunkSize,n=this._storage,o=this.dimensions,a=o.length,r=this._rawExtent,s=this.count(),l=s+Math.max(t.length,e?e.length:0),u=this._chunkCount,h=0;h<a;h++)r[v=o[h]]||(r[v]=[1/0,-1/0]),n[v]||(n[v]=[]),tl(n,this._dimensionInfos[v],i,u,l),this._chunkCount=n[v].length;for(var c=new Array(a),d=s;d<l;d++){for(var f=d-s,p=Math.floor(d/i),g=d%i,m=0;m<a;m++){var v=o[m],y=this._dimValueGetterArrayRows(t[f]||c,v,f,m);n[v][p][g]=y;var x=r[v];y<x[0]&&(x[0]=y),y>x[1]&&(x[1]=y)}e&&(this._nameList[d]=e[f])}this._rawCount=this._count=l,this._extent={},el(this)},yA._initDataFromProvider=function(t,e){if(!(t>=e)){for(var i,n=this._chunkSize,o=this._rawData,a=this._storage,r=this.dimensions,s=r.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=0;p<s;p++){c[w=r[p]]||(c[w]=[1/0,-1/0]);var g=l[w];0===g.otherDims.itemName&&(i=this._nameDimIdx=p),0===g.otherDims.itemId&&(this._idDimIdx=p),a[w]||(a[w]=[]),tl(a,g,n,f,e),this._chunkCount=a[w].length}for(var m=new Array(s),v=t;v<e;v++){m=o.getItem(v,m);for(var y=Math.floor(v/n),x=v%n,_=0;_<s;_++){var w=r[_],b=a[w][y],S=this._dimValueGetter(m,w,v,_);b[x]=S;var M=c[w];S<M[0]&&(M[0]=S),S>M[1]&&(M[1]=S)}if(!o.pure){var I=u[v];if(m&&null==I)if(null!=m.name)u[v]=I=m.name;else if(null!=i){var T=r[i],A=a[T][y];if(A){I=A[x];var D=l[T].ordinalMeta;D&&D.categories.length&&(I=D.categories[I])}}var C=null==m?null:m.id;null==C&&null!=I&&(d[I]=d[I]||0,C=I,d[I]>0&&(C+="__ec__"+d[I]),d[I]++),null!=C&&(h[v]=C)}}!o.persistent&&o.clean&&o.clean(),this._rawCount=this._count=e,this._extent={},el(this)}},yA.count=function(){return this._count},yA.getIndices=function(){var t=this._indices;if(t){var e=t.constructor,i=this._count;if(e===Array){n=new e(i);for(o=0;o<i;o++)n[o]=t[o]}else n=new e(t.buffer,0,i)}else for(var n=new(e=$s(this))(this.count()),o=0;o<n.length;o++)n[o]=o;return n},yA.get=function(t,e){if(!(e>=0&&e<this._count))return NaN;var i=this._storage;if(!i[t])return NaN;e=this.getRawIndex(e);var n=Math.floor(e/this._chunkSize),o=e%this._chunkSize;return i[t][n][o]},yA.getByRawIndex=function(t,e){if(!(e>=0&&e<this._rawCount))return NaN;var i=this._storage[t];if(!i)return NaN;var n=Math.floor(e/this._chunkSize),o=e%this._chunkSize;return i[n][o]},yA._getFast=function(t,e){var i=Math.floor(e/this._chunkSize),n=e%this._chunkSize;return this._storage[t][i][n]},yA.getValues=function(t,e){var i=[];y(t)||(e=t,t=this.dimensions);for(var n=0,o=t.length;n<o;n++)i.push(this.get(t[n],e));return i},yA.hasValue=function(t){for(var e=this._dimensionsSummary.dataDimsOnCoord,i=this._dimensionInfos,n=0,o=e.length;n<o;n++)if("ordinal"!==i[e[n]].type&&isNaN(this.get(e[n],t)))return!1;return!0},yA.getDataExtent=function(t){t=this.getDimension(t);var e=[1/0,-1/0];if(!this._storage[t])return e;var i,n=this.count();if(!this._indices)return this._rawExtent[t].slice();if(i=this._extent[t])return i.slice();for(var o=(i=e)[0],a=i[1],r=0;r<n;r++){var s=this._getFast(t,this.getRawIndex(r));s<o&&(o=s),s>a&&(a=s)}return i=[o,a],this._extent[t]=i,i},yA.getApproximateExtent=function(t){return t=this.getDimension(t),this._approximateExtent[t]||this.getDataExtent(t)},yA.setApproximateExtent=function(t,e){e=this.getDimension(e),this._approximateExtent[e]=t.slice()},yA.getCalculationInfo=function(t){return this._calculationInfo[t]},yA.setCalculationInfo=function(t,e){lA(t)?a(this._calculationInfo,t):this._calculationInfo[t]=e},yA.getSum=function(t){var e=0;if(this._storage[t])for(var i=0,n=this.count();i<n;i++){var o=this.get(t,i);isNaN(o)||(e+=o)}return e},yA.getMedian=function(t){var e=[];this.each(t,function(t,i){isNaN(t)||e.push(t)});var i=[].concat(e).sort(function(t,e){return t-e}),n=this.count();return 0===n?0:n%2==1?i[(n-1)/2]:(i[n/2]+i[n/2-1])/2},yA.rawIndexOf=function(t,e){var i=(t&&this._invertedIndicesMap[t])[e];return null==i||isNaN(i)?uA:i},yA.indexOfName=function(t){for(var e=0,i=this.count();e<i;e++)if(this.getName(e)===t)return e;return-1},yA.indexOfRawIndex=function(t){if(!this._indices)return t;if(t>=this._rawCount||t<0)return-1;var e=this._indices,i=e[t];if(null!=i&&i<this._count&&i===t)return t;for(var n=0,o=this._count-1;n<=o;){var a=(n+o)/2|0;if(e[a]<t)n=a+1;else{if(!(e[a]>t))return a;o=a-1}}return-1},yA.indicesOfNearest=function(t,e,i){var n=[];if(!this._storage[t])return n;null==i&&(i=1/0);for(var o=Number.MAX_VALUE,a=-1,r=0,s=this.count();r<s;r++){var l=e-this.get(t,r),u=Math.abs(l);l<=i&&u<=o&&((u<o||l>=0&&a<0)&&(o=u,a=l,n.length=0),n.push(r))}return n},yA.getRawIndex=nl,yA.getRawDataItem=function(t){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(t));for(var e=[],i=0;i<this.dimensions.length;i++){var n=this.dimensions[i];e.push(this.get(n,t))}return e},yA.getName=function(t){var e=this.getRawIndex(t);return this._nameList[e]||il(this,this._nameDimIdx,e)||""},yA.getId=function(t){return al(this,this.getRawIndex(t))},yA.each=function(t,e,i,n){if(this._count){"function"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this;for(var o=(t=f(rl(t),this.getDimension,this)).length,a=0;a<this.count();a++)switch(o){case 0:e.call(i,a);break;case 1:e.call(i,this.get(t[0],a),a);break;case 2:e.call(i,this.get(t[0],a),this.get(t[1],a),a);break;default:for(var r=0,s=[];r<o;r++)s[r]=this.get(t[r],a);s[r]=a,e.apply(i,s)}}},yA.filterSelf=function(t,e,i,n){if(this._count){"function"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this,t=f(rl(t),this.getDimension,this);for(var o=this.count(),a=new($s(this))(o),r=[],s=t.length,l=0,u=t[0],h=0;h<o;h++){var c,d=this.getRawIndex(h);if(0===s)c=e.call(i,h);else if(1===s){var p=this._getFast(u,d);c=e.call(i,p,h)}else{for(var g=0;g<s;g++)r[g]=this._getFast(u,d);r[g]=h,c=e.apply(i,r)}c&&(a[l++]=d)}return l<o&&(this._indices=a),this._count=l,this._extent={},this.getRawIndex=this._indices?ol:nl,this}},yA.selectRange=function(t){if(this._count){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(i);var n=e.length;if(n){var o=this.count(),a=new($s(this))(o),r=0,s=e[0],l=t[s][0],u=t[s][1],h=!1;if(!this._indices){var c=0;if(1===n){for(var d=this._storage[e[0]],f=0;f<this._chunkCount;f++)for(var p=d[f],g=Math.min(this._count-f*this._chunkSize,this._chunkSize),m=0;m<g;m++)((w=p[m])>=l&&w<=u||isNaN(w))&&(a[r++]=c),c++;h=!0}else if(2===n){for(var d=this._storage[s],v=this._storage[e[1]],y=t[e[1]][0],x=t[e[1]][1],f=0;f<this._chunkCount;f++)for(var p=d[f],_=v[f],g=Math.min(this._count-f*this._chunkSize,this._chunkSize),m=0;m<g;m++){var w=p[m],b=_[m];(w>=l&&w<=u||isNaN(w))&&(b>=y&&b<=x||isNaN(b))&&(a[r++]=c),c++}h=!0}}if(!h)if(1===n)for(m=0;m<o;m++){M=this.getRawIndex(m);((w=this._getFast(s,M))>=l&&w<=u||isNaN(w))&&(a[r++]=M)}else for(m=0;m<o;m++){for(var S=!0,M=this.getRawIndex(m),f=0;f<n;f++){var I=e[f];((w=this._getFast(i,M))<t[I][0]||w>t[I][1])&&(S=!1)}S&&(a[r++]=this.getRawIndex(m))}return r<o&&(this._indices=a),this._count=r,this._extent={},this.getRawIndex=this._indices?ol:nl,this}}},yA.mapArray=function(t,e,i,n){"function"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this;var o=[];return this.each(t,function(){o.push(e&&e.apply(this,arguments))},i),o},yA.map=function(t,e,i,n){i=i||n||this;var o=sl(this,t=f(rl(t),this.getDimension,this));o._indices=this._indices,o.getRawIndex=o._indices?ol:nl;for(var a=o._storage,r=[],s=this._chunkSize,l=t.length,u=this.count(),h=[],c=o._rawExtent,d=0;d<u;d++){for(var p=0;p<l;p++)h[p]=this.get(t[p],d);h[l]=d;var g=e&&e.apply(i,h);if(null!=g){"object"!=typeof g&&(r[0]=g,g=r);for(var m=this.getRawIndex(d),v=Math.floor(m/s),y=m%s,x=0;x<g.length;x++){var _=t[x],w=g[x],b=c[_],S=a[_];S&&(S[v][y]=w),w<b[0]&&(b[0]=w),w>b[1]&&(b[1]=w)}}}return o},yA.downSample=function(t,e,i,n){for(var o=sl(this,[t]),a=o._storage,r=[],s=Math.floor(1/e),l=a[t],u=this.count(),h=this._chunkSize,c=o._rawExtent[t],d=new($s(this))(u),f=0,p=0;p<u;p+=s){s>u-p&&(s=u-p,r.length=s);for(var g=0;g<s;g++){var m=this.getRawIndex(p+g),v=Math.floor(m/h),y=m%h;r[g]=l[v][y]}var x=i(r),_=this.getRawIndex(Math.min(p+n(r,x)||0,u-1)),w=_%h;l[Math.floor(_/h)][w]=x,x<c[0]&&(c[0]=x),x>c[1]&&(c[1]=x),d[f++]=_}return o._count=f,o._indices=d,o.getRawIndex=ol,o},yA.getItemModel=function(t){var e=this.hostModel;return new No(this.getRawDataItem(t),e,e&&e.ecModel)},yA.diff=function(t){var e=this;return new Xs(t?t.getIndices():[],this.getIndices(),function(e){return al(t,e)},function(t){return al(e,t)})},yA.getVisual=function(t){var e=this._visual;return e&&e[t]},yA.setVisual=function(t,e){if(lA(t))for(var i in t)t.hasOwnProperty(i)&&this.setVisual(i,t[i]);else this._visual=this._visual||{},this._visual[t]=e},yA.setLayout=function(t,e){if(lA(t))for(var i in t)t.hasOwnProperty(i)&&this.setLayout(i,t[i]);else this._layout[t]=e},yA.getLayout=function(t){return this._layout[t]},yA.getItemLayout=function(t){return this._itemLayouts[t]},yA.setItemLayout=function(t,e,i){this._itemLayouts[t]=i?a(this._itemLayouts[t]||{},e):e},yA.clearItemLayouts=function(){this._itemLayouts.length=0},yA.getItemVisual=function(t,e,i){var n=this._itemVisuals[t],o=n&&n[e];return null!=o||i?o:this.getVisual(e)},yA.setItemVisual=function(t,e,i){var n=this._itemVisuals[t]||{},o=this.hasItemVisual;if(this._itemVisuals[t]=n,lA(e))for(var a in e)e.hasOwnProperty(a)&&(n[a]=e[a],o[a]=!0);else n[e]=i,o[e]=!0},yA.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var xA=function(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType};yA.setItemGraphicEl=function(t,e){var i=this.hostModel;e&&(e.dataIndex=t,e.dataType=this.dataType,e.seriesIndex=i&&i.seriesIndex,"group"===e.type&&e.traverse(xA,e)),this._graphicEls[t]=e},yA.getItemGraphicEl=function(t){return this._graphicEls[t]},yA.eachItemGraphicEl=function(t,e){d(this._graphicEls,function(i,n){i&&t&&t.call(e,i,n)})},yA.cloneShallow=function(t){if(!t){var e=f(this.dimensions,this.getDimensionInfo,this);t=new vA(e,this.hostModel)}if(t._storage=this._storage,Qs(t,this),this._indices){var i=this._indices.constructor;t._indices=new i(this._indices)}else t._indices=null;return t.getRawIndex=t._indices?ol:nl,t},yA.wrapMethod=function(t,e){var i=this[t];"function"==typeof i&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=i.apply(this,arguments);return e.apply(this,[t].concat(C(arguments)))})},yA.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],yA.CHANGABLE_METHODS=["filterSelf","selectRange"];var _A=function(t,e){return e=e||{},hl(e.coordDimensions||[],t,{dimsDef:e.dimensionsDefine||t.dimensionsDefine,encodeDef:e.encodeDefine||t.encodeDefine,dimCount:e.dimensionsCount,generateCoord:e.generateCoord,generateCoordCount:e.generateCoordCount})};xl.prototype.parse=function(t){return t},xl.prototype.getSetting=function(t){return this._setting[t]},xl.prototype.contain=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},xl.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},xl.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},xl.prototype.unionExtent=function(t){var e=this._extent;t[0]<e[0]&&(e[0]=t[0]),t[1]>e[1]&&(e[1]=t[1])},xl.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},xl.prototype.getExtent=function(){return this._extent.slice()},xl.prototype.setExtent=function(t,e){var i=this._extent;isNaN(t)||(i[0]=t),isNaN(e)||(i[1]=e)},xl.prototype.isBlank=function(){return this._isBlank},xl.prototype.setBlank=function(t){this._isBlank=t},xl.prototype.getLabel=null,ji(xl),$i(xl,{registerWhenExtend:!0}),_l.createByAxisModel=function(t){var e=t.option,i=e.data,n=i&&f(i,bl);return new _l({categories:n,needCollect:!n,deduplication:!1!==e.dedplication})};var wA=_l.prototype;wA.getOrdinal=function(t){return wl(this).get(t)},wA.parseAndCollect=function(t){var e,i=this._needCollect;if("string"!=typeof t&&!i)return t;if(i&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var n=wl(this);return null==(e=n.get(t))&&(i?(e=this.categories.length,this.categories[e]=t,n.set(t,e)):e=NaN),e};var bA=xl.prototype,SA=xl.extend({type:"ordinal",init:function(t,e){t&&!y(t)||(t=new _l({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return"string"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),bA.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return bA.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(bA.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,i=e[0];i<=e[1];)t.push(i),i++;return t},getLabel:function(t){if(!this.isBlank())return this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:B,niceExtent:B});SA.create=function(){return new SA};var MA=Go,IA=Go,TA=xl.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var i=this._extent;isNaN(t)||(i[0]=parseFloat(t)),isNaN(e)||(i[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]<e[0]&&(e[0]=t[0]),t[1]>e[1]&&(e[1]=t[1]),TA.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Ml(t)},getTicks:function(){return Al(this._interval,this._extent,this._niceExtent,this._intervalPrecision)},getLabel:function(t,e){if(null==t)return"";var i=e&&e.precision;return null==i?i=Ho(t)||0:"auto"===i&&(i=this._intervalPrecision),t=IA(t,i,!0),ta(t)},niceTicks:function(t,e,i){t=t||5;var n=this._extent,o=n[1]-n[0];if(isFinite(o)){o<0&&(o=-o,n.reverse());var a=Sl(n,t,e,i);this._intervalPrecision=a.intervalPrecision,this._interval=a.interval,this._niceExtent=a.niceTickExtent}},niceExtent:function(t){var e=this._extent;if(e[0]===e[1])if(0!==e[0]){var i=e[0];t.fixMax?e[0]-=i/2:(e[1]+=i/2,e[0]-=i/2)}else e[1]=1;var n=e[1]-e[0];isFinite(n)||(e[0]=0,e[1]=1),this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var o=this._interval;t.fixMin||(e[0]=IA(Math.floor(e[0]/o)*o)),t.fixMax||(e[1]=IA(Math.ceil(e[1]/o)*o))}});TA.create=function(){return new TA};var AA="__ec_stack_",DA="undefined"!=typeof Float32Array?Float32Array:Array,CA={seriesType:"bar",plan:$I(),reset:function(t){if(Rl(t)&&zl(t)){var e=t.getData(),i=t.coordinateSystem,n=i.getBaseAxis(),o=i.getOtherAxis(n),a=e.mapDimension(o.dim),r=e.mapDimension(n.dim),s=o.isHorizontal(),l=s?0:1,u=Ol(Pl([t]),n,t).width;return u>.5||(u=.5),{progress:function(t,e){for(var n,h=new DA(2*t.count),c=[],d=[],f=0;null!=(n=t.next());)d[l]=e.get(a,n),d[1-l]=e.get(r,n),c=i.dataToPoint(d,null,c),h[f++]=c[0],h[f++]=c[1];e.setLayout({largePoints:h,barWidth:u,valueAxisStart:Bl(0,o),valueAxisHorizontal:s})}}}}},LA=TA.prototype,kA=Math.ceil,PA=Math.floor,NA=function(t,e,i,n){for(;i<n;){var o=i+n>>>1;t[o][1]<e?i=o+1:n=o}return i},OA=TA.extend({type:"time",getLabel:function(t){var e=this._stepLvl,i=new Date(t);return sa(e[0],i,this.getSetting("useUTC"))},niceExtent:function(t){var e=this._extent;if(e[0]===e[1]&&(e[0]-=864e5,e[1]+=864e5),e[1]===-1/0&&e[0]===1/0){var i=new Date;e[1]=+new Date(i.getFullYear(),i.getMonth(),i.getDate()),e[0]=e[1]-864e5}this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var n=this._interval;t.fixMin||(e[0]=Go(PA(e[0]/n)*n)),t.fixMax||(e[1]=Go(kA(e[1]/n)*n))},niceTicks:function(t,e,i){t=t||10;var n=this._extent,o=n[1]-n[0],a=o/t;null!=e&&a<e&&(a=e),null!=i&&a>i&&(a=i);var r=EA.length,s=NA(EA,a,0,r),l=EA[Math.min(s,r-1)],u=l[1];"year"===l[0]&&(u*=$o(o/u/t,!0));var h=this.getSetting("useUTC")?0:60*new Date(+n[0]||+n[1]).getTimezoneOffset()*1e3,c=[Math.round(kA((n[0]-h)/u)*u+h),Math.round(PA((n[1]-h)/u)*u+h)];Tl(c,n),this._stepLvl=l,this._interval=u,this._niceExtent=c},parse:function(t){return+Yo(t)}});d(["contain","normalize"],function(t){OA.prototype[t]=function(e){return LA[t].call(this,this.parse(e))}});var EA=[["hh:mm:ss",1e3],["hh:mm:ss",5e3],["hh:mm:ss",1e4],["hh:mm:ss",15e3],["hh:mm:ss",3e4],["hh:mm\nMM-dd",6e4],["hh:mm\nMM-dd",3e5],["hh:mm\nMM-dd",6e5],["hh:mm\nMM-dd",9e5],["hh:mm\nMM-dd",18e5],["hh:mm\nMM-dd",36e5],["hh:mm\nMM-dd",72e5],["hh:mm\nMM-dd",216e5],["hh:mm\nMM-dd",432e5],["MM-dd\nyyyy",864e5],["MM-dd\nyyyy",1728e5],["MM-dd\nyyyy",2592e5],["MM-dd\nyyyy",3456e5],["MM-dd\nyyyy",432e6],["MM-dd\nyyyy",5184e5],["week",6048e5],["MM-dd\nyyyy",864e6],["week",12096e5],["week",18144e5],["month",26784e5],["week",36288e5],["month",53568e5],["week",6048e6],["quarter",8208e6],["month",107136e5],["month",13392e6],["half-year",16416e6],["month",214272e5],["month",26784e6],["year",32832e6]];OA.create=function(t){return new OA({useUTC:t.ecModel.get("useUTC")})};var RA=xl.prototype,zA=TA.prototype,BA=Ho,VA=Go,GA=Math.floor,FA=Math.ceil,WA=Math.pow,HA=Math.log,ZA=xl.extend({type:"log",base:10,$constructor:function(){xl.apply(this,arguments),this._originalScale=new TA},getTicks:function(){var t=this._originalScale,e=this._extent,i=t.getExtent();return f(zA.getTicks.call(this),function(n){var o=Go(WA(this.base,n));return o=n===e[0]&&t.__fixMin?Vl(o,i[0]):o,o=n===e[1]&&t.__fixMax?Vl(o,i[1]):o},this)},getLabel:zA.getLabel,scale:function(t){return t=RA.scale.call(this,t),WA(this.base,t)},setExtent:function(t,e){var i=this.base;t=HA(t)/HA(i),e=HA(e)/HA(i),zA.setExtent.call(this,t,e)},getExtent:function(){var t=this.base,e=RA.getExtent.call(this);e[0]=WA(t,e[0]),e[1]=WA(t,e[1]);var i=this._originalScale,n=i.getExtent();return i.__fixMin&&(e[0]=Vl(e[0],n[0])),i.__fixMax&&(e[1]=Vl(e[1],n[1])),e},unionExtent:function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=HA(t[0])/HA(e),t[1]=HA(t[1])/HA(e),RA.unionExtent.call(this,t)},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},niceTicks:function(t){t=t||10;var e=this._extent,i=e[1]-e[0];if(!(i===1/0||i<=0)){var n=qo(i);for(t/i*n<=.5&&(n*=10);!isNaN(n)&&Math.abs(n)<1&&Math.abs(n)>0;)n*=10;var o=[Go(FA(e[0]/n)*n),Go(GA(e[1]/n)*n)];this._interval=n,this._niceExtent=o}},niceExtent:function(t){zA.niceExtent.call(this,t);var e=this._originalScale;e.__fixMin=t.fixMin,e.__fixMax=t.fixMax}});d(["contain","normalize"],function(t){ZA.prototype[t]=function(e){return e=HA(e)/HA(this.base),RA[t].call(this,e)}}),ZA.create=function(){return new ZA};var UA={getMin:function(t){var e=this.option,i=t||null==e.rangeStart?e.min:e.rangeStart;return this.axis&&null!=i&&"dataMin"!==i&&"function"!=typeof i&&!I(i)&&(i=this.axis.scale.parse(i)),i},getMax:function(t){var e=this.option,i=t||null==e.rangeEnd?e.max:e.rangeEnd;return this.axis&&null!=i&&"dataMax"!==i&&"function"!=typeof i&&!I(i)&&(i=this.axis.scale.parse(i)),i},getNeedCrossZero:function(){var t=this.option;return null==t.rangeStart&&null==t.rangeEnd&&!t.scale},getCoordSysModel:B,setRange:function(t,e){this.option.rangeStart=t,this.option.rangeEnd=e},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}},XA=Un({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n+a),t.lineTo(i-o,n+a),t.closePath()}}),jA=Un({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n),t.lineTo(i,n+a),t.lineTo(i-o,n),t.closePath()}}),YA=Un({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.x,n=e.y,o=e.width/5*3,a=Math.max(o,e.height),r=o/2,s=r*r/(a-r),l=n-a+r+s,u=Math.asin(s/r),h=Math.cos(u)*r,c=Math.sin(u),d=Math.cos(u),f=.6*r,p=.7*r;t.moveTo(i-h,l+s),t.arc(i,l,r,Math.PI-u,2*Math.PI+u),t.bezierCurveTo(i+h-c*f,l+s+d*f,i,n-p,i,n),t.bezierCurveTo(i,n-p,i-h+c*f,l+s+d*f,i-h,l+s),t.closePath()}}),qA=Un({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.height,n=e.width,o=e.x,a=e.y,r=n/3*2;t.moveTo(o,a),t.lineTo(o+r,a+i),t.lineTo(o,a+i/4*3),t.lineTo(o-r,a+i),t.lineTo(o,a),t.closePath()}}),KA={line:function(t,e,i,n,o){o.x1=t,o.y1=e+n/2,o.x2=t+i,o.y2=e+n/2},rect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n},roundRect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n,o.r=Math.min(i,n)/4},square:function(t,e,i,n,o){var a=Math.min(i,n);o.x=t,o.y=e,o.width=a,o.height=a},circle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.r=Math.min(i,n)/2},diamond:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n},pin:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},arrow:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},triangle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n}},$A={};d({line:_M,rect:yM,roundRect:yM,square:yM,circle:sM,diamond:jA,pin:YA,arrow:qA,triangle:XA},function(t,e){$A[e]=new t});var JA=Un({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},beforeBrush:function(){var t=this.style;"pin"===this.shape.symbolType&&"inside"===t.textPosition&&(t.textPosition=["50%","40%"],t.textAlign="center",t.textVerticalAlign="middle")},buildPath:function(t,e,i){var n=e.symbolType,o=$A[n];"none"!==e.symbolType&&(o||(o=$A[n="rect"]),KA[n](e.x,e.y,e.width,e.height,o.shape),o.buildPath(t,o.shape,i))}}),QA={isDimensionStacked:pl,enableDataStack:fl,getStackedDimension:gl},tD=(Object.freeze||Object)({createList:function(t){return ml(t.getSource(),t)},getLayoutRect:ca,dataStack:QA,createScale:function(t,e){var i=e;No.isInstance(e)||h(i=new No(e),UA);var n=Hl(i);return n.setExtent(t[0],t[1]),Wl(n,i),n},mixinAxisModelCommonMethods:function(t){h(t,UA)},completeDimensions:hl,createDimensions:_A,createSymbol:Jl}),eD=1e-8;eu.prototype={constructor:eu,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,i=[e,e],n=[-e,-e],o=[],a=[],r=this.geometries,s=0;s<r.length;s++)"polygon"===r[s].type&&(fn(r[s].exterior,o,a),tt(i,i,o),et(n,n,a));return 0===s&&(i[0]=i[1]=n[0]=n[1]=0),this._rect=new de(i[0],i[1],n[0]-i[0],n[1]-i[1])},contain:function(t){var e=this.getBoundingRect(),i=this.geometries;if(!e.contain(t[0],t[1]))return!1;t:for(var n=0,o=i.length;n<o;n++)if("polygon"===i[n].type){var a=i[n].exterior,r=i[n].interiors;if(tu(a,t[0],t[1])){for(var s=0;s<(r?r.length:0);s++)if(tu(r[s]))continue t;return!0}}return!1},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=o.width/o.height;i?n||(n=i/a):i=a*n;for(var r=new de(t,e,i,n),s=o.calculateTransform(r),l=this.geometries,u=0;u<l.length;u++)if("polygon"===l[u].type){for(var h=l[u].exterior,c=l[u].interiors,d=0;d<h.length;d++)Q(h[d],h[d],s);for(var f=0;f<(c?c.length:0);f++)for(d=0;d<c[f].length;d++)Q(c[f][d],c[f][d],s)}(o=this._rect).copy(r),this.center=[o.x+o.width/2,o.y+o.height/2]},cloneShallow:function(t){null==t&&(t=this.name);var e=new eu(t,this.geometries,this.center);return e._rect=this._rect,e.transformTo=null,e}};var iD=function(t){return iu(t),f(g(t.features,function(t){return t.geometry&&t.properties&&t.geometry.coordinates.length>0}),function(t){var e=t.properties,i=t.geometry,n=i.coordinates,o=[];"Polygon"===i.type&&o.push({type:"polygon",exterior:n[0],interiors:n.slice(1)}),"MultiPolygon"===i.type&&d(n,function(t){t[0]&&o.push({type:"polygon",exterior:t[0],interiors:t.slice(1)})});var a=new eu(e.name,o,e.cp);return a.properties=e,a})},nD=Bi(),oD=[0,1],aD=function(t,e,i){this.dim=t,this.scale=e,this._extent=i||[0,0],this.inverse=!1,this.onBand=!1};aD.prototype={constructor:aD,contain:function(t){var e=this._extent,i=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return t>=i&&t<=n},containData:function(t){return this.contain(this.dataToCoord(t))},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(t){return Zo(t||this.scale.getExtent(),this._extent)},setExtent:function(t,e){var i=this._extent;i[0]=t,i[1]=e},dataToCoord:function(t,e){var i=this._extent,n=this.scale;return t=n.normalize(t),this.onBand&&"ordinal"===n.type&&yu(i=i.slice(),n.count()),Bo(t,oD,i,e)},coordToData:function(t,e){var i=this._extent,n=this.scale;this.onBand&&"ordinal"===n.type&&yu(i=i.slice(),n.count());var o=Bo(t,i,oD,e);return this.scale.scale(o)},pointToData:function(t,e){},getTicksCoords:function(t){var e=(t=t||{}).tickModel||this.getTickModel(),i=au(this,e),n=f(i.ticks,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this),o=e.get("alignWithLabel");return xu(this,n,i.tickCategoryInterval,o,t.clamp),n},getViewLabels:function(){return ou(this).labels},getLabelModel:function(){return this.model.getModel("axisLabel")},getTickModel:function(){return this.model.getModel("axisTick")},getBandWidth:function(){var t=this._extent,e=this.scale.getExtent(),i=e[1]-e[0]+(this.onBand?1:0);0===i&&(i=1);var n=Math.abs(t[1]-t[0]);return Math.abs(n)/i},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return pu(this)}};var rD=iD,sD={};d(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(t){sD[t]=aw[t]});var lD={};d(["extendShape","extendPath","makePath","makeImage","mergePath","resizePath","createIcon","setHoverStyle","setLabelStyle","setTextStyle","setText","getFont","updateProps","initProps","getTransform","clipPointsByRect","clipRectByRect","Group","Image","Text","Circle","Sector","Ring","Polygon","Polyline","Rect","Line","BezierCurve","Arc","IncrementalDisplayable","CompoundPath","LinearGradient","RadialGradient","BoundingRect"],function(t){lD[t]=zM[t]}),YI.extend({type:"series.line",dependencies:["grid","polar"],getInitialData:function(t,e){return ml(this.getSource(),this)},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,clipOverflow:!0,label:{position:"top"},lineStyle:{width:2,type:"solid"},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0}});var uD=wu.prototype,hD=wu.getSymbolSize=function(t,e){var i=t.getItemVisual(e,"symbolSize");return i instanceof Array?i.slice():[+i,+i]};uD._createSymbol=function(t,e,i,n,o){this.removeAll();var a=Jl(t,-1,-1,2,2,e.getItemVisual(i,"color"),o);a.attr({z2:100,culling:!0,scale:bu(n)}),a.drift=Su,this._symbolType=t,this.add(a)},uD.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(t)},uD.getSymbolPath=function(){return this.childAt(0)},uD.getScale=function(){return this.childAt(0).scale},uD.highlight=function(){this.childAt(0).trigger("emphasis")},uD.downplay=function(){this.childAt(0).trigger("normal")},uD.setZ=function(t,e){var i=this.childAt(0);i.zlevel=t,i.z=e},uD.setDraggable=function(t){var e=this.childAt(0);e.draggable=t,e.cursor=t?"move":"pointer"},uD.updateData=function(t,e,i){this.silent=!1;var n=t.getItemVisual(e,"symbol")||"circle",o=t.hostModel,a=hD(t,e),r=n!==this._symbolType;if(r){var s=t.getItemVisual(e,"symbolKeepAspect");this._createSymbol(n,t,e,a,s)}else(l=this.childAt(0)).silent=!1,Io(l,{scale:bu(a)},o,e);if(this._updateCommon(t,e,a,i),r){var l=this.childAt(0),u=i&&i.fadeIn,h={scale:l.scale.slice()};u&&(h.style={opacity:l.style.opacity}),l.scale=[0,0],u&&(l.style.opacity=0),To(l,h,o,e)}this._seriesModel=o};var cD=["itemStyle"],dD=["emphasis","itemStyle"],fD=["label"],pD=["emphasis","label"];uD._updateCommon=function(t,e,i,n){var o=this.childAt(0),r=t.hostModel,s=t.getItemVisual(e,"color");"image"!==o.type&&o.useStyle({strokeNoScale:!0});var l=n&&n.itemStyle,u=n&&n.hoverItemStyle,h=n&&n.symbolRotate,c=n&&n.symbolOffset,d=n&&n.labelModel,f=n&&n.hoverLabelModel,p=n&&n.hoverAnimation,g=n&&n.cursorStyle;if(!n||t.hasItemOption){var m=n&&n.itemModel?n.itemModel:t.getItemModel(e);l=m.getModel(cD).getItemStyle(["color"]),u=m.getModel(dD).getItemStyle(),h=m.getShallow("symbolRotate"),c=m.getShallow("symbolOffset"),d=m.getModel(fD),f=m.getModel(pD),p=m.getShallow("hoverAnimation"),g=m.getShallow("cursor")}else u=a({},u);var v=o.style;o.attr("rotation",(h||0)*Math.PI/180||0),c&&o.attr("position",[Vo(c[0],i[0]),Vo(c[1],i[1])]),g&&o.attr("cursor",g),o.setColor(s,n&&n.symbolInnerColor),o.setStyle(l);var y=t.getItemVisual(e,"opacity");null!=y&&(v.opacity=y);var x=t.getItemVisual(e,"liftZ"),_=o.__z2Origin;null!=x?null==_&&(o.__z2Origin=o.z2,o.z2+=x):null!=_&&(o.z2=_,o.__z2Origin=null);var w=n&&n.useNameLabel;go(v,u,d,f,{labelFetcher:r,labelDataIndex:e,defaultText:function(e,i){return w?t.getName(e):_u(t,e)},isRectText:!0,autoColor:s}),o.off("mouseover").off("mouseout").off("emphasis").off("normal"),o.hoverStyle=u,fo(o),o.__symbolOriginalScale=bu(i),p&&r.isAnimationEnabled()&&o.on("mouseover",Mu).on("mouseout",Iu).on("emphasis",Tu).on("normal",Au)},uD.fadeOut=function(t,e){var i=this.childAt(0);this.silent=i.silent=!0,!(e&&e.keepLabel)&&(i.style.text=null),Io(i,{style:{opacity:0},scale:[0,0]},this._seriesModel,this.dataIndex,t)},u(wu,tb);var gD=Du.prototype;gD.updateData=function(t,e){e=Lu(e);var i=this.group,n=t.hostModel,o=this._data,a=this._symbolCtor,r=ku(t);o||i.removeAll(),t.diff(o).add(function(n){var o=t.getItemLayout(n);if(Cu(t,o,n,e)){var s=new a(t,n,r);s.attr("position",o),t.setItemGraphicEl(n,s),i.add(s)}}).update(function(s,l){var u=o.getItemGraphicEl(l),h=t.getItemLayout(s);Cu(t,h,s,e)?(u?(u.updateData(t,s,r),Io(u,{position:h},n)):(u=new a(t,s)).attr("position",h),i.add(u),t.setItemGraphicEl(s,u)):i.remove(u)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&e.fadeOut(function(){i.remove(e)})}).execute(),this._data=t},gD.isPersistent=function(){return!0},gD.updateLayout=function(){var t=this._data;t&&t.eachItemGraphicEl(function(e,i){var n=t.getItemLayout(i);e.attr("position",n)})},gD.incrementalPrepareUpdate=function(t){this._seriesScope=ku(t),this._data=null,this.group.removeAll()},gD.incrementalUpdate=function(t,e,i){i=Lu(i);for(var n=t.start;n<t.end;n++){var o=e.getItemLayout(n);if(Cu(e,o,n,i)){var a=new this._symbolCtor(e,n,this._seriesScope);a.traverse(function(t){t.isGroup||(t.incremental=t.useHoverLayer=!0)}),a.attr("position",o),this.group.add(a),e.setItemGraphicEl(n,a)}}},gD.remove=function(t){var e=this.group,i=this._data;i&&t?i.eachItemGraphicEl(function(t){t.fadeOut(function(){e.remove(t)})}):e.removeAll()};var mD=function(t,e,i,n,o,a,r,s){for(var l=Eu(t,e),u=[],h=[],c=[],d=[],f=[],p=[],g=[],m=Pu(o,e,r),v=Pu(a,t,s),y=0;y<l.length;y++){var x=l[y],_=!0;switch(x.cmd){case"=":var w=t.getItemLayout(x.idx),b=e.getItemLayout(x.idx1);(isNaN(w[0])||isNaN(w[1]))&&(w=b.slice()),u.push(w),h.push(b),c.push(i[x.idx]),d.push(n[x.idx1]),g.push(e.getRawIndex(x.idx1));break;case"+":S=x.idx;u.push(o.dataToPoint([e.get(m.dataDimsForPoint[0],S),e.get(m.dataDimsForPoint[1],S)])),h.push(e.getItemLayout(S).slice()),c.push(Ou(m,o,e,S)),d.push(n[S]),g.push(e.getRawIndex(S));break;case"-":var S=x.idx,M=t.getRawIndex(S);M!==S?(u.push(t.getItemLayout(S)),h.push(a.dataToPoint([t.get(v.dataDimsForPoint[0],S),t.get(v.dataDimsForPoint[1],S)])),c.push(i[S]),d.push(Ou(v,a,t,S)),g.push(M)):_=!1}_&&(f.push(x),p.push(p.length))}p.sort(function(t,e){return g[t]-g[e]});for(var I=[],T=[],A=[],D=[],C=[],y=0;y<p.length;y++){S=p[y];I[y]=u[S],T[y]=h[S],A[y]=c[S],D[y]=d[S],C[y]=f[S]}return{current:I,next:T,stackedOnCurrent:A,stackedOnNext:D,status:C}},vD=tt,yD=et,xD=Z,_D=G,wD=[],bD=[],SD=[],MD=Pn.extend({type:"ec-polyline",shape:{points:[],smooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},style:{fill:null,stroke:"#000"},brush:uM(Pn.prototype.brush),buildPath:function(t,e){var i=e.points,n=0,o=i.length,a=Gu(i,e.smoothConstraint);if(e.connectNulls){for(;o>0&&Ru(i[o-1]);o--);for(;n<o&&Ru(i[n]);n++);}for(;n<o;)n+=zu(t,i,n,o,o,1,a.min,a.max,e.smooth,e.smoothMonotone,e.connectNulls)+1}}),ID=Pn.extend({type:"ec-polygon",shape:{points:[],stackedOnPoints:[],smooth:0,stackedOnSmooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},brush:uM(Pn.prototype.brush),buildPath:function(t,e){var i=e.points,n=e.stackedOnPoints,o=0,a=i.length,r=e.smoothMonotone,s=Gu(i,e.smoothConstraint),l=Gu(n,e.smoothConstraint);if(e.connectNulls){for(;a>0&&Ru(i[a-1]);a--);for(;o<a&&Ru(i[o]);o++);}for(;o<a;){var u=zu(t,i,o,a,a,1,s.min,s.max,e.smooth,r,e.connectNulls);zu(t,n,o+u-1,u,a,-1,l.min,l.max,e.stackedOnSmooth,r,e.connectNulls),o+=u+1,t.closePath()}}});Ar.extend({type:"line",init:function(){var t=new tb,e=new Du;this.group.add(e.group),this._symbolDraw=e,this._lineGroup=t},render:function(t,e,i){var n=t.coordinateSystem,o=this.group,a=t.getData(),s=t.getModel("lineStyle"),l=t.getModel("areaStyle"),u=a.mapArray(a.getItemLayout),h="polar"===n.type,c=this._coordSys,d=this._symbolDraw,f=this._polyline,p=this._polygon,g=this._lineGroup,m=t.get("animation"),v=!l.isEmpty(),y=l.get("origin"),x=Zu(n,a,Pu(n,a,y)),_=t.get("showSymbol"),w=_&&!h&&Ku(t,a,n),b=this._data;b&&b.eachItemGraphicEl(function(t,e){t.__temp&&(o.remove(t),b.setItemGraphicEl(e,null))}),_||d.remove(),o.add(g);var S=!h&&t.get("step");f&&c.type===n.type&&S===this._step?(v&&!p?p=this._newPolygon(u,x,n,m):p&&!v&&(g.remove(p),p=this._polygon=null),g.setClipPath(ju(n,!1,!1,t)),_&&d.updateData(a,{isIgnore:w,clipShape:ju(n,!1,!0,t)}),a.eachItemGraphicEl(function(t){t.stopAnimation(!0)}),Fu(this._stackedOnPoints,x)&&Fu(this._points,u)||(m?this._updateAnimation(a,x,n,i,S,y):(S&&(u=Yu(u,n,S),x=Yu(x,n,S)),f.setShape({points:u}),p&&p.setShape({points:u,stackedOnPoints:x})))):(_&&d.updateData(a,{isIgnore:w,clipShape:ju(n,!1,!0,t)}),S&&(u=Yu(u,n,S),x=Yu(x,n,S)),f=this._newPolyline(u,n,m),v&&(p=this._newPolygon(u,x,n,m)),g.setClipPath(ju(n,!0,!1,t)));var M=qu(a,n)||a.getVisual("color");f.useStyle(r(s.getLineStyle(),{fill:"none",stroke:M,lineJoin:"bevel"}));var I=t.get("smooth");if(I=Wu(t.get("smooth")),f.setShape({smooth:I,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")}),p){var T=a.getCalculationInfo("stackedOnSeries"),A=0;p.useStyle(r(l.getAreaStyle(),{fill:M,opacity:.7,lineJoin:"bevel"})),T&&(A=Wu(T.get("smooth"))),p.setShape({smooth:I,stackedOnSmooth:A,smoothMonotone:t.get("smoothMonotone"),connectNulls:t.get("connectNulls")})}this._data=a,this._coordSys=n,this._stackedOnPoints=x,this._points=u,this._step=S,this._valueOrigin=y},dispose:function(){},highlight:function(t,e,i,n){var o=t.getData(),a=zi(o,n);if(!(a instanceof Array)&&null!=a&&a>=0){var r=o.getItemGraphicEl(a);if(!r){var s=o.getItemLayout(a);if(!s)return;(r=new wu(o,a)).position=s,r.setZ(t.get("zlevel"),t.get("z")),r.ignore=isNaN(s[0])||isNaN(s[1]),r.__temp=!0,o.setItemGraphicEl(a,r),r.stopSymbolAnimation(!0),this.group.add(r)}r.highlight()}else Ar.prototype.highlight.call(this,t,e,i,n)},downplay:function(t,e,i,n){var o=t.getData(),a=zi(o,n);if(null!=a&&a>=0){var r=o.getItemGraphicEl(a);r&&(r.__temp?(o.setItemGraphicEl(a,null),this.group.remove(r)):r.downplay())}else Ar.prototype.downplay.call(this,t,e,i,n)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new MD({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e,e},_newPolygon:function(t,e){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new ID({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(i),this._polygon=i,i},_updateAnimation:function(t,e,i,n,o,a){var r=this._polyline,s=this._polygon,l=t.hostModel,u=mD(this._data,t,this._stackedOnPoints,e,this._coordSys,i,this._valueOrigin,a),h=u.current,c=u.stackedOnCurrent,d=u.next,f=u.stackedOnNext;o&&(h=Yu(u.current,i,o),c=Yu(u.stackedOnCurrent,i,o),d=Yu(u.next,i,o),f=Yu(u.stackedOnNext,i,o)),r.shape.__points=u.current,r.shape.points=h,Io(r,{shape:{points:d}},l),s&&(s.setShape({points:h,stackedOnPoints:c}),Io(s,{shape:{points:d,stackedOnPoints:f}},l));for(var p=[],g=u.status,m=0;m<g.length;m++)if("="===g[m].cmd){var v=t.getItemGraphicEl(g[m].idx1);v&&p.push({el:v,ptIdx:m})}r.animators&&r.animators.length&&r.animators[0].during(function(){for(var t=0;t<p.length;t++)p[t].el.attr("position",r.shape.__points[p[t].ptIdx])})},remove:function(t){var e=this.group,i=this._data;this._lineGroup.removeAll(),this._symbolDraw.remove(!0),i&&i.eachItemGraphicEl(function(t,n){t.__temp&&(e.remove(t),i.setItemGraphicEl(n,null))}),this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._data=null}});var TD=function(t,e,i){return{seriesType:t,performRawSeries:!0,reset:function(t,n,o){var a=t.getData(),r=t.get("symbol")||e,s=t.get("symbolSize"),l=t.get("symbolKeepAspect");if(a.setVisual({legendSymbol:i||r,symbol:r,symbolSize:s,symbolKeepAspect:l}),!n.isSeriesFiltered(t)){var u="function"==typeof s;return{dataEach:a.hasItemOption||u?function(e,i){if("function"==typeof s){var n=t.getRawValue(i),o=t.getDataParams(i);e.setItemVisual(i,"symbolSize",s(n,o))}if(e.hasItemOption){var a=e.getItemModel(i),r=a.getShallow("symbol",!0),l=a.getShallow("symbolSize",!0),u=a.getShallow("symbolKeepAspect",!0);null!=r&&e.setItemVisual(i,"symbol",r),null!=l&&e.setItemVisual(i,"symbolSize",l),null!=u&&e.setItemVisual(i,"symbolKeepAspect",u)}}:null}}}}},AD=function(t){return{seriesType:t,plan:$I(),reset:function(t){var e=t.getData(),i=t.coordinateSystem,n=t.pipelineContext.large;if(i){var o=f(i.dimensions,function(t){return e.mapDimension(t)}).slice(0,2),a=o.length,r=e.getCalculationInfo("stackResultDimension");return pl(e,o[0])&&(o[0]=r),pl(e,o[1])&&(o[1]=r),a&&{progress:function(t,e){for(var r=t.end-t.start,s=n&&new Float32Array(r*a),l=t.start,u=0,h=[],c=[];l<t.end;l++){var d;if(1===a)f=e.get(o[0],l),d=!isNaN(f)&&i.dataToPoint(f,null,c);else{var f=h[0]=e.get(o[0],l),p=h[1]=e.get(o[1],l);d=!isNaN(f)&&!isNaN(p)&&i.dataToPoint(h,null,c)}n?(s[u++]=d?d[0]:NaN,s[u++]=d?d[1]:NaN):e.setItemLayout(l,d&&d.slice()||[NaN,NaN])}n&&e.setLayout("symbolPoints",s)}}}}}},DD={average:function(t){for(var e=0,i=0,n=0;n<t.length;n++)isNaN(t[n])||(e+=t[n],i++);return 0===i?NaN:e/i},sum:function(t){for(var e=0,i=0;i<t.length;i++)e+=t[i]||0;return e},max:function(t){for(var e=-1/0,i=0;i<t.length;i++)t[i]>e&&(e=t[i]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,i=0;i<t.length;i++)t[i]<e&&(e=t[i]);return isFinite(e)?e:NaN},nearest:function(t){return t[0]}},CD=function(t,e){return Math.round(t.length/2)},LD=function(t){this._axes={},this._dimList=[],this.name=t||""};LD.prototype={constructor:LD,type:"cartesian",getAxis:function(t){return this._axes[t]},getAxes:function(){return f(this._dimList,Ju,this)},getAxesByScale:function(t){return t=t.toLowerCase(),g(this.getAxes(),function(e){return e.scale.type===t})},addAxis:function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},dataToCoord:function(t){return this._dataCoordConvert(t,"dataToCoord")},coordToData:function(t){return this._dataCoordConvert(t,"coordToData")},_dataCoordConvert:function(t,e){for(var i=this._dimList,n=t instanceof Array?[]:{},o=0;o<i.length;o++){var a=i[o],r=this._axes[a];n[a]=r[e](t[a])}return n}},Qu.prototype={constructor:Qu,type:"cartesian2d",dimensions:["x","y"],getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAxis("x")},containPoint:function(t){var e=this.getAxis("x"),i=this.getAxis("y");return e.contain(e.toLocalCoord(t[0]))&&i.contain(i.toLocalCoord(t[1]))},containData:function(t){return this.getAxis("x").containData(t[0])&&this.getAxis("y").containData(t[1])},dataToPoint:function(t,e,i){var n=this.getAxis("x"),o=this.getAxis("y");return i=i||[],i[0]=n.toGlobalCoord(n.dataToCoord(t[0])),i[1]=o.toGlobalCoord(o.dataToCoord(t[1])),i},clampData:function(t,e){var i=this.getAxis("x").scale,n=this.getAxis("y").scale,o=i.getExtent(),a=n.getExtent(),r=i.parse(t[0]),s=n.parse(t[1]);return e=e||[],e[0]=Math.min(Math.max(Math.min(o[0],o[1]),r),Math.max(o[0],o[1])),e[1]=Math.min(Math.max(Math.min(a[0],a[1]),s),Math.max(a[0],a[1])),e},pointToData:function(t,e){var i=this.getAxis("x"),n=this.getAxis("y");return e=e||[],e[0]=i.coordToData(i.toLocalCoord(t[0])),e[1]=n.coordToData(n.toLocalCoord(t[1])),e},getOtherAxis:function(t){return this.getAxis("x"===t.dim?"y":"x")}},u(Qu,LD);var kD=function(t,e,i,n,o){aD.call(this,t,e,i),this.type=n||"value",this.position=o||"bottom"};kD.prototype={constructor:kD,index:0,getAxesOnZeroOf:null,model:null,isHorizontal:function(){var t=this.position;return"top"===t||"bottom"===t},getGlobalExtent:function(t){var e=this.getExtent();return e[0]=this.toGlobalCoord(e[0]),e[1]=this.toGlobalCoord(e[1]),t&&e[0]>e[1]&&e.reverse(),e},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},toLocalCoord:null,toGlobalCoord:null},u(kD,aD);var PD={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},ND={};ND.categoryAxis=n({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},PD),ND.valueAxis=n({boundaryGap:[0,0],splitNumber:5},PD),ND.timeAxis=r({scale:!0,min:"dataMin",max:"dataMax"},ND.valueAxis),ND.logAxis=r({scale:!0,logBase:10},ND.valueAxis);var OD=["value","category","time","log"],ED=function(t,e,i,a){d(OD,function(r){e.extend({type:t+"Axis."+r,mergeDefaultAndTheme:function(e,o){var a=this.layoutMode,s=a?ga(e):{};n(e,o.getTheme().get(r+"Axis")),n(e,this.getDefaultOption()),e.type=i(t,e),a&&pa(e,s,a)},optionUpdated:function(){"category"===this.option.type&&(this.__ordinalMeta=_l.createByAxisModel(this))},getCategories:function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:o([{},ND[r+"Axis"],a],!0)})}),lI.registerSubTypeDefaulter(t+"Axis",v(i,t))},RD=lI.extend({type:"cartesian2dAxis",axis:null,init:function(){RD.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){RD.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){RD.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});n(RD.prototype,UA);var zD={offset:0};ED("x",RD,th,zD),ED("y",RD,th,zD),lI.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});var BD=ih.prototype;BD.type="grid",BD.axisPointerEnabled=!0,BD.getRect=function(){return this._rect},BD.update=function(t,e){var i=this._axesMap;this._updateScale(t,this.model),d(i.x,function(t){Wl(t.scale,t.model)}),d(i.y,function(t){Wl(t.scale,t.model)});var n={};d(i.x,function(t){nh(i,"y",t,n)}),d(i.y,function(t){nh(i,"x",t,n)}),this.resize(this.model,e)},BD.resize=function(t,e,i){function n(){d(a,function(t){var e=t.isHorizontal(),i=e?[0,o.width]:[0,o.height],n=t.inverse?1:0;t.setExtent(i[n],i[1-n]),ah(t,e?o.x:o.y)})}var o=ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()});this._rect=o;var a=this._axesList;n(),!i&&t.get("containLabel")&&(d(a,function(t){if(!t.model.get("axisLabel.inside")){var e=jl(t);if(e){var i=t.isHorizontal()?"height":"width",n=t.model.get("axisLabel.margin");o[i]-=e[i]+n,"top"===t.position?o.y+=e.height+n:"left"===t.position&&(o.x+=e.width+n)}}}),n())},BD.getAxis=function(t,e){var i=this._axesMap[t];if(null!=i){if(null==e)for(var n in i)if(i.hasOwnProperty(n))return i[n];return i[e]}},BD.getAxes=function(){return this._axesList.slice()},BD.getCartesian=function(t,e){if(null!=t&&null!=e){var i="x"+t+"y"+e;return this._coordsMap[i]}w(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var n=0,o=this._coordsList;n<o.length;n++)if(o[n].getAxis("x").index===t||o[n].getAxis("y").index===e)return o[n]},BD.getCartesians=function(){return this._coordsList.slice()},BD.convertToPixel=function(t,e,i){var n=this._findConvertTarget(t,e);return n.cartesian?n.cartesian.dataToPoint(i):n.axis?n.axis.toGlobalCoord(n.axis.dataToCoord(i)):null},BD.convertFromPixel=function(t,e,i){var n=this._findConvertTarget(t,e);return n.cartesian?n.cartesian.pointToData(i):n.axis?n.axis.coordToData(n.axis.toLocalCoord(i)):null},BD._findConvertTarget=function(t,e){var i,n,o=e.seriesModel,a=e.xAxisModel||o&&o.getReferringComponents("xAxis")[0],r=e.yAxisModel||o&&o.getReferringComponents("yAxis")[0],s=e.gridModel,u=this._coordsList;return o?l(u,i=o.coordinateSystem)<0&&(i=null):a&&r?i=this.getCartesian(a.componentIndex,r.componentIndex):a?n=this.getAxis("x",a.componentIndex):r?n=this.getAxis("y",r.componentIndex):s&&s.coordinateSystem===this&&(i=this._coordsList[0]),{cartesian:i,axis:n}},BD.containPoint=function(t){var e=this._coordsList[0];if(e)return e.containPoint(t)},BD._initCartesian=function(t,e,i){function n(i){return function(n,s){if(eh(n,t,e)){var l=n.get("position");"x"===i?"top"!==l&&"bottom"!==l&&o[l="bottom"]&&(l="top"===l?"bottom":"top"):"left"!==l&&"right"!==l&&o[l="left"]&&(l="left"===l?"right":"left"),o[l]=!0;var u=new kD(i,Hl(n),[0,0],n.get("type"),l),h="category"===u.type;u.onBand=h&&n.get("boundaryGap"),u.inverse=n.get("inverse"),n.axis=u,u.model=n,u.grid=this,u.index=s,this._axesList.push(u),a[i][s]=u,r[i]++}}}var o={left:!1,right:!1,top:!1,bottom:!1},a={x:{},y:{}},r={x:0,y:0};if(e.eachComponent("xAxis",n("x"),this),e.eachComponent("yAxis",n("y"),this),!r.x||!r.y)return this._axesMap={},void(this._axesList=[]);this._axesMap=a,d(a.x,function(e,i){d(a.y,function(n,o){var a="x"+i+"y"+o,r=new Qu(a);r.grid=this,r.model=t,this._coordsMap[a]=r,this._coordsList.push(r),r.addAxis(e),r.addAxis(n)},this)},this)},BD._updateScale=function(t,e){function i(t,e,i){d(t.mapDimension(e.dim,!0),function(i){e.scale.unionExtentFromData(t,gl(t,i))})}d(this._axesList,function(t){t.scale.setExtent(1/0,-1/0)}),t.eachSeries(function(n){if(sh(n)){var o=rh(n),a=o[0],r=o[1];if(!eh(a,e,t)||!eh(r,e,t))return;var s=this.getCartesian(a.componentIndex,r.componentIndex),l=n.getData(),u=s.getAxis("x"),h=s.getAxis("y");"list"===l.type&&(i(l,u),i(l,h))}},this)},BD.getTooltipAxes=function(t){var e=[],i=[];return d(this.getCartesians(),function(n){var o=null!=t&&"auto"!==t?n.getAxis(t):n.getBaseAxis(),a=n.getOtherAxis(o);l(e,o)<0&&e.push(o),l(i,a)<0&&i.push(a)}),{baseAxes:e,otherAxes:i}};var VD=["xAxis","yAxis"];ih.create=function(t,e){var i=[];return t.eachComponent("grid",function(n,o){var a=new ih(n,t,e);a.name="grid_"+o,a.resize(n,e,!0),n.coordinateSystem=a,i.push(a)}),t.eachSeries(function(t){if(sh(t)){var e=rh(t),i=e[0],n=e[1],o=i.getCoordSysModel().coordinateSystem;t.coordinateSystem=o.getCartesian(i.componentIndex,n.componentIndex)}}),i},ih.dimensions=ih.prototype.dimensions=Qu.prototype.dimensions,Fa.register("cartesian2d",ih);var GD=Math.PI,FD=function(t,e){this.opt=e,this.axisModel=t,r(e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0}),this.group=new tb;var i=new tb({position:e.position.slice(),rotation:e.rotation});i.updateTransform(),this._transform=i.transform,this._dumbGroup=i};FD.prototype={constructor:FD,hasBuilder:function(t){return!!WD[t]},add:function(t){WD[t].call(this)},getGroup:function(){return this.group}};var WD={axisLine:function(){var t=this.opt,e=this.axisModel;if(e.get("axisLine.show")){var i=this.axisModel.axis.getExtent(),n=this._transform,o=[i[0],0],r=[i[1],0];n&&(Q(o,o,n),Q(r,r,n));var s=a({lineCap:"round"},e.getModel("axisLine.lineStyle").getLineStyle());this.group.add(new _M(Kn({anid:"line",shape:{x1:o[0],y1:o[1],x2:r[0],y2:r[1]},style:s,strokeContainThreshold:t.strokeContainThreshold||5,silent:!0,z2:1})));var l=e.get("axisLine.symbol"),u=e.get("axisLine.symbolSize"),h=e.get("axisLine.symbolOffset")||0;if("number"==typeof h&&(h=[h,h]),null!=l){"string"==typeof l&&(l=[l,l]),"string"!=typeof u&&"number"!=typeof u||(u=[u,u]);var c=u[0],f=u[1];d([{rotate:t.rotation+Math.PI/2,offset:h[0],r:0},{rotate:t.rotation-Math.PI/2,offset:h[1],r:Math.sqrt((o[0]-r[0])*(o[0]-r[0])+(o[1]-r[1])*(o[1]-r[1]))}],function(e,i){if("none"!==l[i]&&null!=l[i]){var n=Jl(l[i],-c/2,-f/2,c,f,s.stroke,!0),a=e.r+e.offset,r=[o[0]+a*Math.cos(t.rotation),o[1]-a*Math.sin(t.rotation)];n.attr({rotation:e.rotate,position:r,silent:!0,z2:11}),this.group.add(n)}},this)}}},axisTickLabel:function(){var t=this.axisModel,e=this.opt,i=gh(this,t,e);ch(t,mh(this,t,e),i)},axisName:function(){var t=this.opt,e=this.axisModel,i=T(t.axisName,e.get("name"));if(i){var n,o=e.get("nameLocation"),r=t.nameDirection,s=e.getModel("nameTextStyle"),l=e.get("nameGap")||0,u=this.axisModel.axis.getExtent(),h=u[0]>u[1]?-1:1,c=["start"===o?u[0]-h*l:"end"===o?u[1]+h*l:(u[0]+u[1])/2,ph(o)?t.labelOffset+r*l:0],d=e.get("nameRotate");null!=d&&(d=d*GD/180);var f;ph(o)?n=HD(t.rotation,null!=d?d:t.rotation,r):(n=uh(t,o,d||0,u),null!=(f=t.axisNameAvailableWidth)&&(f=Math.abs(f/Math.sin(n.rotation)),!isFinite(f)&&(f=null)));var p=s.getFont(),g=e.get("nameTruncate",!0)||{},m=g.ellipsis,v=T(t.nameTruncateMaxWidth,g.maxWidth,f),y=null!=m&&null!=v?tI(i,v,p,m,{minChar:2,placeholder:g.placeholder}):i,x=e.get("tooltip",!0),_=e.mainType,w={componentType:_,name:i,$vars:["name"]};w[_+"Index"]=e.componentIndex;var b=new rM({anid:"name",__fullText:i,__truncatedText:y,position:c,rotation:n.rotation,silent:hh(e),z2:1,tooltip:x&&x.show?a({content:i,formatter:function(){return i},formatterParams:w},x):null});mo(b.style,s,{text:y,textFont:p,textFill:s.getTextColor()||e.get("axisLine.lineStyle.color"),textAlign:n.textAlign,textVerticalAlign:n.textVerticalAlign}),e.get("triggerEvent")&&(b.eventData=lh(e),b.eventData.targetType="axisName",b.eventData.name=i),this._dumbGroup.add(b),b.updateTransform(),this.group.add(b),b.decomposeTransform()}}},HD=FD.innerTextLayout=function(t,e,i){var n,o,a=Xo(e-t);return jo(a)?(o=i>0?"top":"bottom",n="center"):jo(a-GD)?(o=i>0?"bottom":"top",n="center"):(o="middle",n=a>0&&a<GD?i>0?"right":"left":i>0?"left":"right"),{rotation:a,textAlign:n,textVerticalAlign:o}},ZD=d,UD=v,XD=Ws({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(t,e,i,n){this.axisPointerClass&&Sh(t),XD.superApply(this,"render",arguments),Dh(this,t,0,i,0,!0)},updateAxisPointer:function(t,e,i,n,o){Dh(this,t,0,i,0,!1)},remove:function(t,e){var i=this._axisPointer;i&&i.remove(e),XD.superApply(this,"remove",arguments)},dispose:function(t,e){Ch(this,e),XD.superApply(this,"dispose",arguments)}}),jD=[];XD.registerAxisPointerClass=function(t,e){jD[t]=e},XD.getAxisPointerClass=function(t){return t&&jD[t]};var YD=["axisLine","axisTickLabel","axisName"],qD=["splitArea","splitLine"],KD=XD.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(t,e,i,n){this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new tb,this.group.add(this._axisGroup),t.get("show")){var a=t.getCoordSysModel(),r=Lh(a,t),s=new FD(t,r);d(YD,s.add,s),this._axisGroup.add(s.getGroup()),d(qD,function(e){t.get(e+".show")&&this["_"+e](t,a)},this),Lo(o,this._axisGroup,t),KD.superCall(this,"render",t,e,i,n)}},remove:function(){this._splitAreaColors=null},_splitLine:function(t,e){var i=t.axis;if(!i.scale.isBlank()){var n=t.getModel("splitLine"),o=n.getModel("lineStyle"),a=o.get("color");a=y(a)?a:[a];for(var s=e.coordinateSystem.getRect(),l=i.isHorizontal(),u=0,h=i.getTicksCoords({tickModel:n}),c=[],d=[],f=o.getLineStyle(),p=0;p<h.length;p++){var g=i.toGlobalCoord(h[p].coord);l?(c[0]=g,c[1]=s.y,d[0]=g,d[1]=s.y+s.height):(c[0]=s.x,c[1]=g,d[0]=s.x+s.width,d[1]=g);var m=u++%a.length,v=h[p].tickValue;this._axisGroup.add(new _M(Kn({anid:null!=v?"line_"+h[p].tickValue:null,shape:{x1:c[0],y1:c[1],x2:d[0],y2:d[1]},style:r({stroke:a[m]},f),silent:!0})))}}},_splitArea:function(t,e){var i=t.axis;if(!i.scale.isBlank()){var n=t.getModel("splitArea"),o=n.getModel("areaStyle"),a=o.get("color"),s=e.coordinateSystem.getRect(),l=i.getTicksCoords({tickModel:n,clamp:!0});if(l.length){var u=a.length,h=this._splitAreaColors,c=R(),d=0;if(h)for(m=0;m<l.length;m++){var f=h.get(l[m].tickValue);if(null!=f){d=(f+(u-1)*m)%u;break}}var p=i.toGlobalCoord(l[0].coord),g=o.getAreaStyle();a=y(a)?a:[a];for(var m=1;m<l.length;m++){var v,x,_,w,b=i.toGlobalCoord(l[m].coord);i.isHorizontal()?(v=p,x=s.y,_=b-v,w=s.height,p=v+_):(v=s.x,x=p,_=s.width,p=x+(w=b-x));var S=l[m-1].tickValue;null!=S&&c.set(S,d),this._axisGroup.add(new yM({anid:null!=S?"area_"+S:null,shape:{x:v,y:x,width:_,height:w},style:r({fill:a[d]},g),silent:!0})),d=(d+1)%u}this._splitAreaColors=c}}}});KD.extend({type:"xAxis"}),KD.extend({type:"yAxis"}),Ws({type:"grid",render:function(t,e){this.group.removeAll(),t.get("show")&&this.group.add(new yM({shape:t.coordinateSystem.getRect(),style:r({fill:t.get("backgroundColor")},t.getItemStyle()),silent:!0,z2:-1}))}}),Ns(function(t){t.xAxis&&t.yAxis&&!t.grid&&(t.grid={})}),Bs(TD("line","circle","line")),zs(AD("line")),Os(VT.PROCESSOR.STATISTIC,function(t){return{seriesType:t,modifyOutputEnd:!0,reset:function(t,e,i){var n=t.getData(),o=t.get("sampling"),a=t.coordinateSystem;if("cartesian2d"===a.type&&o){var r=a.getBaseAxis(),s=a.getOtherAxis(r),l=r.getExtent(),u=l[1]-l[0],h=Math.round(n.count()/u);if(h>1){var c;"string"==typeof o?c=DD[o]:"function"==typeof o&&(c=o),c&&t.setData(n.downSample(n.mapDimension(s.dim),1/h,c,CD))}}}}}("line"));var $D=YI.extend({type:"series.__base_bar__",getInitialData:function(t,e){return ml(this.getSource(),this)},getMarkerPosition:function(t){var e=this.coordinateSystem;if(e){var i=e.dataToPoint(e.clampData(t)),n=this.getData(),o=n.getLayout("offset"),a=n.getLayout("size");return i[e.getBaseAxis().isHorizontal()?0:1]+=o+a/2,i}return[NaN,NaN]},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod",itemStyle:{},emphasis:{}}});$D.extend({type:"series.bar",dependencies:["grid","polar"],brushSelector:"rect",getProgressive:function(){return!!this.get("large")&&this.get("progressive")},getProgressiveThreshold:function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return e>t&&(t=e),t}});var JD=Qb([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),QD={getBarItemStyle:function(t){var e=JD(this,t);if(this.getBorderLineDash){var i=this.getBorderLineDash();i&&(e.lineDash=i)}return e}},tC=["itemStyle","barBorderWidth"];a(No.prototype,QD),Zs({type:"bar",render:function(t,e,i){this._updateDrawMode(t);var n=t.get("coordinateSystem");return"cartesian2d"!==n&&"polar"!==n||(this._isLargeDraw?this._renderLarge(t,e,i):this._renderNormal(t,e,i)),this.group},incrementalPrepareRender:function(t,e,i){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,i,n){this._incrementalRenderLarge(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(t,e,i){var n,o=this.group,a=t.getData(),r=this._data,s=t.coordinateSystem,l=s.getBaseAxis();"cartesian2d"===s.type?n=l.isHorizontal():"polar"===s.type&&(n="angle"===l.dim);var u=t.isAnimationEnabled()?t:null;a.diff(r).add(function(e){if(a.hasValue(e)){var i=a.getItemModel(e),r=iC[s.type](a,e,i),l=eC[s.type](a,e,i,r,n,u);a.setItemGraphicEl(e,l),o.add(l),Eh(l,a,e,i,r,t,n,"polar"===s.type)}}).update(function(e,i){var l=r.getItemGraphicEl(i);if(a.hasValue(e)){var h=a.getItemModel(e),c=iC[s.type](a,e,h);l?Io(l,{shape:c},u,e):l=eC[s.type](a,e,h,c,n,u,!0),a.setItemGraphicEl(e,l),o.add(l),Eh(l,a,e,h,c,t,n,"polar"===s.type)}else o.remove(l)}).remove(function(t){var e=r.getItemGraphicEl(t);"cartesian2d"===s.type?e&&Nh(t,u,e):e&&Oh(t,u,e)}).execute(),this._data=a},_renderLarge:function(t,e,i){this._clear(),zh(t,this.group)},_incrementalRenderLarge:function(t,e){zh(e,this.group,!0)},dispose:B,remove:function(t){this._clear(t)},_clear:function(t){var e=this.group,i=this._data;t&&t.get("animation")&&i&&!this._isLargeDraw?i.eachItemGraphicEl(function(e){"sector"===e.type?Oh(e.dataIndex,t,e):Nh(e.dataIndex,t,e)}):e.removeAll(),this._data=null}});var eC={cartesian2d:function(t,e,i,n,o,r,s){var l=new yM({shape:a({},n)});if(r){var u=l.shape,h=o?"height":"width",c={};u[h]=0,c[h]=n[h],zM[s?"updateProps":"initProps"](l,{shape:c},r,e)}return l},polar:function(t,e,i,n,o,a,s){var l=n.startAngle<n.endAngle,u=new hM({shape:r({clockwise:l},n)});if(a){var h=u.shape,c=o?"r":"endAngle",d={};h[c]=o?0:n.startAngle,d[c]=n[c],zM[s?"updateProps":"initProps"](u,{shape:d},a,e)}return u}},iC={cartesian2d:function(t,e,i){var n=t.getItemLayout(e),o=Rh(i,n),a=n.width>0?1:-1,r=n.height>0?1:-1;return{x:n.x+a*o/2,y:n.y+r*o/2,width:n.width-a*o,height:n.height-r*o}},polar:function(t,e,i){var n=t.getItemLayout(e);return{cx:n.cx,cy:n.cy,r0:n.r0,r:n.r,startAngle:n.startAngle,endAngle:n.endAngle}}},nC=Pn.extend({type:"largeBar",shape:{points:[]},buildPath:function(t,e){for(var i=e.points,n=this.__startPoint,o=this.__valueIdx,a=0;a<i.length;a+=2)n[this.__valueIdx]=i[a+o],t.moveTo(n[0],n[1]),t.lineTo(i[a],i[a+1])}});zs(v(El,"bar")),zs(CA),Bs({seriesType:"bar",reset:function(t){t.getData().setVisual("legendSymbol","roundRect")}});var oC=function(t,e,i){e=y(e)&&{coordDimensions:e}||a({},e);var n=t.getSource(),o=_A(n,e),r=new vA(o,t);return r.initData(n,i),r},aC={updateSelectedMap:function(t){this._targetList=y(t)?t.slice():[],this._selectTargetMap=p(t||[],function(t,e){return t.set(e.name,e),t},R())},select:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);"single"===this.get("selectedMode")&&this._selectTargetMap.each(function(t){t.selected=!1}),i&&(i.selected=!0)},unSelect:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);i&&(i.selected=!1)},toggleSelected:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);if(null!=i)return this[i.selected?"unSelect":"select"](t,e),i.selected},isSelected:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);return i&&i.selected}},rC=Hs({type:"series.pie",init:function(t){rC.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()},this.updateSelectedMap(this._createSelectableList()),this._defaultLabelLine(t)},mergeOption:function(t){rC.superCall(this,"mergeOption",t),this.updateSelectedMap(this._createSelectableList())},getInitialData:function(t,e){return oC(this,["value"])},_createSelectableList:function(){for(var t=this.getRawData(),e=t.mapDimension("value"),i=[],n=0,o=t.count();n<o;n++)i.push({name:t.getName(n),value:t.get(e,n),selected:pr(t,n,"selected")});return i},getDataParams:function(t){var e=this.getData(),i=rC.superCall(this,"getDataParams",t),n=[];return e.each(e.mapDimension("value"),function(t){n.push(t)}),i.percent=Uo(n,t,e.hostModel.get("percentPrecision")),i.$vars.push("percent"),i},_defaultLabelLine:function(t){Ci(t,"labelLine",["show"]);var e=t.labelLine,i=t.emphasis.labelLine;e.show=e.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,selectedOffset:10,hoverOffset:10,avoidLabelOverlap:!0,percentPrecision:2,stillShowZeroSum:!0,label:{rotate:!1,show:!0,position:"outer"},labelLine:{show:!0,length:15,length2:15,smooth:!1,lineStyle:{width:1,type:"solid"}},itemStyle:{borderWidth:1},animationType:"expansion",animationEasing:"cubicOut"}});h(rC,aC);var sC=Fh.prototype;sC.updateData=function(t,e,i){function n(){s.stopAnimation(!0),s.animateTo({shape:{r:h.r+l.get("hoverOffset")}},300,"elasticOut")}function o(){s.stopAnimation(!0),s.animateTo({shape:{r:h.r}},300,"elasticOut")}var s=this.childAt(0),l=t.hostModel,u=t.getItemModel(e),h=t.getItemLayout(e),c=a({},h);c.label=null,i?(s.setShape(c),"scale"===l.getShallow("animationType")?(s.shape.r=h.r0,To(s,{shape:{r:h.r}},l,e)):(s.shape.endAngle=h.startAngle,Io(s,{shape:{endAngle:h.endAngle}},l,e))):Io(s,{shape:c},l,e);var d=t.getItemVisual(e,"color");s.useStyle(r({lineJoin:"bevel",fill:d},u.getModel("itemStyle").getItemStyle())),s.hoverStyle=u.getModel("emphasis.itemStyle").getItemStyle();var f=u.getShallow("cursor");f&&s.attr("cursor",f),Gh(this,t.getItemLayout(e),l.isSelected(null,e),l.get("selectedOffset"),l.get("animation")),s.off("mouseover").off("mouseout").off("emphasis").off("normal"),u.get("hoverAnimation")&&l.isAnimationEnabled()&&s.on("mouseover",n).on("mouseout",o).on("emphasis",n).on("normal",o),this._updateLabel(t,e),fo(this)},sC._updateLabel=function(t,e){var i=this.childAt(1),n=this.childAt(2),o=t.hostModel,a=t.getItemModel(e),r=t.getItemLayout(e).label,s=t.getItemVisual(e,"color");Io(i,{shape:{points:r.linePoints||[[r.x,r.y],[r.x,r.y],[r.x,r.y]]}},o,e),Io(n,{style:{x:r.x,y:r.y}},o,e),n.attr({rotation:r.rotation,origin:[r.x,r.y],z2:10});var l=a.getModel("label"),u=a.getModel("emphasis.label"),h=a.getModel("labelLine"),c=a.getModel("emphasis.labelLine"),s=t.getItemVisual(e,"color");go(n.style,n.hoverStyle={},l,u,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:t.getName(e),autoColor:s,useInsideStyle:!!r.inside},{textAlign:r.textAlign,textVerticalAlign:r.verticalAlign,opacity:t.getItemVisual(e,"opacity")}),n.ignore=n.normalIgnore=!l.get("show"),n.hoverIgnore=!u.get("show"),i.ignore=i.normalIgnore=!h.get("show"),i.hoverIgnore=!c.get("show"),i.setStyle({stroke:s,opacity:t.getItemVisual(e,"opacity")}),i.setStyle(h.getModel("lineStyle").getLineStyle()),i.hoverStyle=c.getModel("lineStyle").getLineStyle();var d=h.get("smooth");d&&!0===d&&(d=.4),i.setShape({smooth:d})},u(Fh,tb);Ar.extend({type:"pie",init:function(){var t=new tb;this._sectorGroup=t},render:function(t,e,i,n){if(!n||n.from!==this.uid){var o=t.getData(),a=this._data,r=this.group,s=e.get("animation"),l=!a,u=t.get("animationType"),h=v(Vh,this.uid,t,s,i),c=t.get("selectedMode");if(o.diff(a).add(function(t){var e=new Fh(o,t);l&&"scale"!==u&&e.eachChild(function(t){t.stopAnimation(!0)}),c&&e.on("click",h),o.setItemGraphicEl(t,e),r.add(e)}).update(function(t,e){var i=a.getItemGraphicEl(e);i.updateData(o,t),i.off("click"),c&&i.on("click",h),r.add(i),o.setItemGraphicEl(t,i)}).remove(function(t){var e=a.getItemGraphicEl(t);r.remove(e)}).execute(),s&&l&&o.count()>0&&"scale"!==u){var d=o.getItemLayout(0),f=Math.max(i.getWidth(),i.getHeight())/2,p=m(r.removeClipPath,r);r.setClipPath(this._createClipPath(d.cx,d.cy,f,d.startAngle,d.clockwise,p,t))}else r.removeClipPath();this._data=o}},dispose:function(){},_createClipPath:function(t,e,i,n,o,a,r){var s=new hM({shape:{cx:t,cy:e,r0:0,r:i,startAngle:n,endAngle:n,clockwise:o}});return To(s,{shape:{endAngle:n+(o?1:-1)*Math.PI*2}},r,a),s},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var lC=function(t,e){d(e,function(e){e.update="updateView",Es(e,function(i,n){var o={};return n.eachComponent({mainType:"series",subType:t,query:i},function(t){t[e.method]&&t[e.method](i.name,i.dataIndex);var n=t.getData();n.each(function(e){var i=n.getName(e);o[i]=t.isSelected(i)||!1})}),{name:i.name,selected:o}})})},uC=function(t){return{getTargetSeries:function(e){var i={},n=R();return e.eachSeriesByType(t,function(t){t.__paletteScope=i,n.set(t.uid,t)}),n},reset:function(t,e){var i=t.getRawData(),n={},o=t.getData();o.each(function(t){var e=o.getRawIndex(t);n[e]=t}),i.each(function(e){var a=n[e],r=null!=a&&o.getItemVisual(a,"color",!0);if(r)i.setItemVisual(e,"color",r);else{var s=i.getItemModel(e).get("itemStyle.color")||t.getColorFromPalette(i.getName(e)||e+"",t.__paletteScope,i.count());i.setItemVisual(e,"color",s),null!=a&&o.setItemVisual(a,"color",s)}})}}},hC=function(t,e,i,n){var o,a,r=t.getData(),s=[],l=!1;r.each(function(i){var n,u,h,c,d=r.getItemLayout(i),f=r.getItemModel(i),p=f.getModel("label"),g=p.get("position")||f.get("emphasis.label.position"),m=f.getModel("labelLine"),v=m.get("length"),y=m.get("length2"),x=(d.startAngle+d.endAngle)/2,_=Math.cos(x),w=Math.sin(x);o=d.cx,a=d.cy;var b="inside"===g||"inner"===g;if("center"===g)n=d.cx,u=d.cy,c="center";else{var S=(b?(d.r+d.r0)/2*_:d.r*_)+o,M=(b?(d.r+d.r0)/2*w:d.r*w)+a;if(n=S+3*_,u=M+3*w,!b){var I=S+_*(v+e-d.r),T=M+w*(v+e-d.r),A=I+(_<0?-1:1)*y,D=T;n=A+(_<0?-5:5),u=D,h=[[S,M],[I,T],[A,D]]}c=b?"center":_>0?"left":"right"}var C=p.getFont(),L=p.get("rotate")?_<0?-x+Math.PI:-x:0,k=ke(t.getFormattedLabel(i,"normal")||r.getName(i),C,c,"top");l=!!L,d.label={x:n,y:u,position:g,height:k.height,len:v,len2:y,linePoints:h,textAlign:c,verticalAlign:"middle",rotation:L,inside:b},b||s.push(d.label)}),!l&&t.get("avoidLabelOverlap")&&Hh(s,o,a,e,i,n)},cC=2*Math.PI,dC=Math.PI/180,fC=function(t){return{seriesType:t,reset:function(t,e){var i=e.findComponents({mainType:"legend"});if(i&&i.length){var n=t.getData();n.filterSelf(function(t){for(var e=n.getName(t),o=0;o<i.length;o++)if(!i[o].isSelected(e))return!1;return!0})}}}};lC("pie",[{type:"pieToggleSelect",event:"pieselectchanged",method:"toggleSelected"},{type:"pieSelect",event:"pieselected",method:"select"},{type:"pieUnSelect",event:"pieunselected",method:"unSelect"}]),Bs(uC("pie")),zs(v(function(t,e,i,n){e.eachSeriesByType(t,function(t){var e=t.getData(),n=e.mapDimension("value"),o=t.get("center"),a=t.get("radius");y(a)||(a=[0,a]),y(o)||(o=[o,o]);var r=i.getWidth(),s=i.getHeight(),l=Math.min(r,s),u=Vo(o[0],r),h=Vo(o[1],s),c=Vo(a[0],l/2),d=Vo(a[1],l/2),f=-t.get("startAngle")*dC,p=t.get("minAngle")*dC,g=0;e.each(n,function(t){!isNaN(t)&&g++});var m=e.getSum(n),v=Math.PI/(m||g)*2,x=t.get("clockwise"),_=t.get("roseType"),w=t.get("stillShowZeroSum"),b=e.getDataExtent(n);b[0]=0;var S=cC,M=0,I=f,T=x?1:-1;if(e.each(n,function(t,i){var n;if(isNaN(t))e.setItemLayout(i,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:x,cx:u,cy:h,r0:c,r:_?NaN:d});else{(n="area"!==_?0===m&&w?v:t*v:cC/g)<p?(n=p,S-=p):M+=t;var o=I+T*n;e.setItemLayout(i,{angle:n,startAngle:I,endAngle:o,clockwise:x,cx:u,cy:h,r0:c,r:_?Bo(t,b,[c,d]):d}),I=o}}),S<cC&&g)if(S<=.001){var A=cC/g;e.each(n,function(t,i){if(!isNaN(t)){var n=e.getItemLayout(i);n.angle=A,n.startAngle=f+T*i*A,n.endAngle=f+T*(i+1)*A}})}else v=S/M,I=f,e.each(n,function(t,i){if(!isNaN(t)){var n=e.getItemLayout(i),o=n.angle===p?p:t*v;n.startAngle=I,n.endAngle=I+T*o,I+=T*o}});hC(t,d,r,s)})},"pie")),Os(fC("pie")),YI.extend({type:"series.scatter",dependencies:["grid","polar","geo","singleAxis","calendar"],getInitialData:function(t,e){return ml(this.getSource(),this)},brushSelector:"point",getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?5e3:this.get("progressive"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?1e4:this.get("progressiveThreshold"):t},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8}}});var pC=Un({shape:{points:null},symbolProxy:null,buildPath:function(t,e){var i=e.points,n=e.size,o=this.symbolProxy,a=o.shape;if(!((t.getContext?t.getContext():t)&&n[0]<4))for(var r=0;r<i.length;){var s=i[r++],l=i[r++];isNaN(s)||isNaN(l)||(a.x=s-n[0]/2,a.y=l-n[1]/2,a.width=n[0],a.height=n[1],o.buildPath(t,a,!0))}},afterBrush:function(t){var e=this.shape,i=e.points,n=e.size;if(n[0]<4){this.setTransform(t);for(var o=0;o<i.length;){var a=i[o++],r=i[o++];isNaN(a)||isNaN(r)||t.fillRect(a-n[0]/2,r-n[1]/2,n[0],n[1])}this.restoreTransform(t)}},findDataIndex:function(t,e){for(var i=this.shape,n=i.points,o=i.size,a=Math.max(o[0],4),r=Math.max(o[1],4),s=n.length/2-1;s>=0;s--){var l=2*s,u=n[l]-a/2,h=n[l+1]-r/2;if(t>=u&&e>=h&&t<=u+a&&e<=h+r)return s}return-1}}),gC=Uh.prototype;gC.isPersistent=function(){return!this._incremental},gC.updateData=function(t){this.group.removeAll();var e=new pC({rectHover:!0,cursor:"default"});e.setShape({points:t.getLayout("symbolPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},gC.updateLayout=function(t){if(!this._incremental){var e=t.getLayout("symbolPoints");this.group.eachChild(function(t){if(null!=t.startIndex){var i=2*(t.endIndex-t.startIndex),n=4*t.startIndex*2;e=new Float32Array(e.buffer,n,i)}t.setShape("points",e)})}},gC.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>2e6?(this._incremental||(this._incremental=new Zn({silent:!0})),this.group.add(this._incremental)):this._incremental=null},gC.incrementalUpdate=function(t,e){var i;this._incremental?(i=new pC,this._incremental.addDisplayable(i,!0)):((i=new pC({rectHover:!0,cursor:"default",startIndex:t.start,endIndex:t.end})).incremental=!0,this.group.add(i)),i.setShape({points:e.getLayout("symbolPoints")}),this._setCommon(i,e,!!this._incremental)},gC._setCommon=function(t,e,i){var n=e.hostModel,o=e.getVisual("symbolSize");t.setShape("size",o instanceof Array?o:[o,o]),t.symbolProxy=Jl(e.getVisual("symbol"),0,0,0,0),t.setColor=t.symbolProxy.setColor;var a=t.shape.size[0]<4;t.useStyle(n.getModel("itemStyle").getItemStyle(a?["color","shadowBlur","shadowColor"]:["color"]));var r=e.getVisual("color");r&&t.setColor(r),i||(t.seriesIndex=n.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var i=t.findDataIndex(e.offsetX,e.offsetY);i>=0&&(t.dataIndex=i+(t.startIndex||0))}))},gC.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},gC._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()},Zs({type:"scatter",render:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).updateData(n),this._finished=!0},incrementalPrepareRender:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).incrementalPrepareUpdate(n),this._finished=!1},incrementalRender:function(t,e,i){this._symbolDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,i){var n=t.getData();if(this.group.dirty(),!this._finished||n.count()>1e4||!this._symbolDraw.isPersistent())return{update:!0};var o=AD().reset(t);o.progress&&o.progress({start:0,end:n.count()},n),this._symbolDraw.updateLayout(n)},_updateSymbolDraw:function(t,e){var i=this._symbolDraw,n=e.pipelineContext.large;return i&&n===this._isLargeDraw||(i&&i.remove(),i=this._symbolDraw=n?new Uh:new Du,this._isLargeDraw=n,this.group.removeAll()),this.group.add(i.group),i},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}}),Bs(TD("scatter","circle")),zs(AD("scatter")),u(Xh,aD),jh.prototype.getIndicatorAxes=function(){return this._indicatorAxes},jh.prototype.dataToPoint=function(t,e){var i=this._indicatorAxes[e];return this.coordToPoint(i.dataToCoord(t),e)},jh.prototype.coordToPoint=function(t,e){var i=this._indicatorAxes[e].angle;return[this.cx+t*Math.cos(i),this.cy-t*Math.sin(i)]},jh.prototype.pointToData=function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=Math.sqrt(e*e+i*i);e/=n,i/=n;for(var o,a=Math.atan2(-i,e),r=1/0,s=-1,l=0;l<this._indicatorAxes.length;l++){var u=this._indicatorAxes[l],h=Math.abs(a-u.angle);h<r&&(o=u,s=l,r=h)}return[s,+(o&&o.coodToData(n))]},jh.prototype.resize=function(t,e){var i=t.get("center"),n=e.getWidth(),o=e.getHeight(),a=Math.min(n,o)/2;this.cx=Vo(i[0],n),this.cy=Vo(i[1],o),this.startAngle=t.get("startAngle")*Math.PI/180;var r=t.get("radius");"string"!=typeof r&&"number"!=typeof r||(r=[0,r]),this.r0=Vo(r[0],a),this.r=Vo(r[1],a),d(this._indicatorAxes,function(t,e){t.setExtent(this.r0,this.r);var i=this.startAngle+e*Math.PI*2/this._indicatorAxes.length;i=Math.atan2(Math.sin(i),Math.cos(i)),t.angle=i},this)},jh.prototype.update=function(t,e){function i(t){var e=Math.pow(10,Math.floor(Math.log(t)/Math.LN10)),i=t/e;return 2===i?i=5:i*=2,i*e}var n=this._indicatorAxes,o=this._model;d(n,function(t){t.scale.setExtent(1/0,-1/0)}),t.eachSeriesByType("radar",function(e,i){if("radar"===e.get("coordinateSystem")&&t.getComponent("radar",e.get("radarIndex"))===o){var a=e.getData();d(n,function(t){t.scale.unionExtentFromData(a,a.mapDimension(t.dim))})}},this);var a=o.get("splitNumber");d(n,function(t,e){var n=Gl(t.scale,t.model);Wl(t.scale,t.model);var o=t.model,r=t.scale,s=o.getMin(),l=o.getMax(),u=r.getInterval();if(null!=s&&null!=l)r.setExtent(+s,+l),r.setInterval((l-s)/a);else if(null!=s){var h;do{h=s+u*a,r.setExtent(+s,h),r.setInterval(u),u=i(u)}while(h<n[1]&&isFinite(h)&&isFinite(n[1]))}else if(null!=l){var c;do{c=l-u*a,r.setExtent(c,+l),r.setInterval(u),u=i(u)}while(c>n[0]&&isFinite(c)&&isFinite(n[0]))}else{r.getTicks().length-1>a&&(u=i(u));var d=Math.round((n[0]+n[1])/2/u)*u,f=Math.round(a/2);r.setExtent(Go(d-f*u),Go(d+(a-f)*u)),r.setInterval(u)}})},jh.dimensions=[],jh.create=function(t,e){var i=[];return t.eachComponent("radar",function(n){var o=new jh(n,t,e);i.push(o),n.coordinateSystem=o}),t.eachSeriesByType("radar",function(t){"radar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("radarIndex")||0])}),i},Fa.register("radar",jh);var mC=ND.valueAxis,vC=(Fs({type:"radar",optionUpdated:function(){var t=this.get("boundaryGap"),e=this.get("splitNumber"),o=this.get("scale"),s=this.get("axisLine"),l=this.get("axisTick"),u=this.get("axisLabel"),h=this.get("name"),c=this.get("name.show"),d=this.get("name.formatter"),p=this.get("nameGap"),g=this.get("triggerEvent"),m=f(this.get("indicator")||[],function(f){null!=f.max&&f.max>0&&!f.min?f.min=0:null!=f.min&&f.min<0&&!f.max&&(f.max=0);var m=h;if(null!=f.color&&(m=r({color:f.color},h)),f=n(i(f),{boundaryGap:t,splitNumber:e,scale:o,axisLine:s,axisTick:l,axisLabel:u,name:f.text,nameLocation:"end",nameGap:p,nameTextStyle:m,triggerEvent:g},!1),c||(f.name=""),"string"==typeof d){var v=f.name;f.name=d.replace("{value}",null!=v?v:"")}else"function"==typeof d&&(f.name=d(f.name,f));var y=a(new No(f,null,this.ecModel),UA);return y.mainType="radar",y.componentIndex=this.componentIndex,y},this);this.getIndicatorModels=function(){return m}},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"75%",startAngle:90,name:{show:!0},boundaryGap:[0,0],splitNumber:5,nameGap:15,scale:!1,shape:"polygon",axisLine:n({lineStyle:{color:"#bbb"}},mC.axisLine),axisLabel:Yh(mC.axisLabel,!1),axisTick:Yh(mC.axisTick,!1),splitLine:Yh(mC.splitLine,!0),splitArea:Yh(mC.splitArea,!0),indicator:[]}}),["axisLine","axisTickLabel","axisName"]);Ws({type:"radar",render:function(t,e,i){this.group.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},_buildAxes:function(t){var e=t.coordinateSystem;d(f(e.getIndicatorAxes(),function(t){return new FD(t.model,{position:[e.cx,e.cy],rotation:t.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})}),function(t){d(vC,t.add,t),this.group.add(t.getGroup())},this)},_buildSplitLineAndArea:function(t){function e(t,e,i){var n=i%e.length;return t[n]=t[n]||[],n}var i=t.coordinateSystem,n=i.getIndicatorAxes();if(n.length){var o=t.get("shape"),a=t.getModel("splitLine"),s=t.getModel("splitArea"),l=a.getModel("lineStyle"),u=s.getModel("areaStyle"),h=a.get("show"),c=s.get("show"),p=l.get("color"),g=u.get("color");p=y(p)?p:[p],g=y(g)?g:[g];var m=[],v=[];if("circle"===o)for(var x=n[0].getTicksCoords(),_=i.cx,w=i.cy,b=0;b<x.length;b++)h&&m[D=e(m,p,b)].push(new sM({shape:{cx:_,cy:w,r:x[b].coord}})),c&&b<x.length-1&&v[D=e(v,g,b)].push(new cM({shape:{cx:_,cy:w,r0:x[b].coord,r:x[b+1].coord}}));else for(var S,M=f(n,function(t,e){var n=t.getTicksCoords();return S=null==S?n.length-1:Math.min(n.length-1,S),f(n,function(t){return i.coordToPoint(t.coord,e)})}),I=[],b=0;b<=S;b++){for(var T=[],A=0;A<n.length;A++)T.push(M[A][b]);if(T[0]&&T.push(T[0].slice()),h&&m[D=e(m,p,b)].push(new gM({shape:{points:T}})),c&&I){var D=e(v,g,b-1);v[D].push(new pM({shape:{points:T.concat(I)}}))}I=T.slice().reverse()}var C=l.getLineStyle(),L=u.getAreaStyle();d(v,function(t,e){this.group.add(OM(t,{style:r({stroke:"none",fill:g[e%g.length]},L),silent:!0}))},this),d(m,function(t,e){this.group.add(OM(t,{style:r({fill:"none",stroke:p[e%p.length]},C),silent:!0}))},this)}}});var yC=YI.extend({type:"series.radar",dependencies:["radar"],init:function(t){yC.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()}},getInitialData:function(t,e){return oC(this,{generateCoord:"indicator_",generateCoordCount:1/0})},formatTooltip:function(t){var e=this.getData(),i=this.coordinateSystem.getIndicatorAxes(),n=this.getData().getName(t);return ia(""===n?this.name:n)+"<br/>"+f(i,function(i,n){var o=e.get(e.mapDimension(i.dim),t);return ia(i.name+" : "+o)}).join("<br />")},defaultOption:{zlevel:0,z:2,coordinateSystem:"radar",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:"solid"},label:{position:"top"},symbol:"emptyCircle",symbolSize:4}});Zs({type:"radar",render:function(t,e,n){function o(t,e){var i=t.getItemVisual(e,"symbol")||"circle",n=t.getItemVisual(e,"color");if("none"!==i){var o=qh(t.getItemVisual(e,"symbolSize")),a=Jl(i,-1,-1,2,2,n);return a.attr({style:{strokeNoScale:!0},z2:100,scale:[o[0]/2,o[1]/2]}),a}}function a(e,i,n,a,r,s){n.removeAll();for(var l=0;l<i.length-1;l++){var u=o(a,r);u&&(u.__dimIdx=l,e[l]?(u.attr("position",e[l]),zM[s?"initProps":"updateProps"](u,{position:i[l]},t,r)):u.attr("position",i[l]),n.add(u))}}function s(t){return f(t,function(t){return[l.cx,l.cy]})}var l=t.coordinateSystem,u=this.group,h=t.getData(),c=this._data;h.diff(c).add(function(e){var i=h.getItemLayout(e);if(i){var n=new pM,o=new gM,r={shape:{points:i}};n.shape.points=s(i),o.shape.points=s(i),To(n,r,t,e),To(o,r,t,e);var l=new tb,u=new tb;l.add(o),l.add(n),l.add(u),a(o.shape.points,i,u,h,e,!0),h.setItemGraphicEl(e,l)}}).update(function(e,i){var n=c.getItemGraphicEl(i),o=n.childAt(0),r=n.childAt(1),s=n.childAt(2),l={shape:{points:h.getItemLayout(e)}};l.shape.points&&(a(o.shape.points,l.shape.points,s,h,e,!1),Io(o,l,t),Io(r,l,t),h.setItemGraphicEl(e,n))}).remove(function(t){u.remove(c.getItemGraphicEl(t))}).execute(),h.eachItemGraphicEl(function(t,e){function n(){l.attr("ignore",m)}function o(){l.attr("ignore",g)}var a=h.getItemModel(e),s=t.childAt(0),l=t.childAt(1),c=t.childAt(2),d=h.getItemVisual(e,"color");u.add(t),s.useStyle(r(a.getModel("lineStyle").getLineStyle(),{fill:"none",stroke:d})),s.hoverStyle=a.getModel("emphasis.lineStyle").getLineStyle();var f=a.getModel("areaStyle"),p=a.getModel("emphasis.areaStyle"),g=f.isEmpty()&&f.parentModel.isEmpty(),m=p.isEmpty()&&p.parentModel.isEmpty();m=m&&g,l.ignore=g,l.useStyle(r(f.getAreaStyle(),{fill:d,opacity:.7})),l.hoverStyle=p.getAreaStyle();var v=a.getModel("itemStyle").getItemStyle(["color"]),y=a.getModel("emphasis.itemStyle").getItemStyle(),x=a.getModel("label"),_=a.getModel("emphasis.label");c.eachChild(function(t){t.setStyle(v),t.hoverStyle=i(y),go(t.style,t.hoverStyle,x,_,{labelFetcher:h.hostModel,labelDataIndex:e,labelDimIndex:t.__dimIdx,defaultText:h.get(h.dimensions[t.__dimIdx],e),autoColor:d,isRectText:!0})}),t.off("mouseover").off("mouseout").off("normal").off("emphasis"),t.on("emphasis",n).on("mouseover",n).on("normal",o).on("mouseout",o),fo(t)}),this._data=h},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});Bs(uC("radar")),Bs(TD("radar","circle")),zs(function(t){t.eachSeriesByType("radar",function(t){var e=t.getData(),i=[],n=t.coordinateSystem;if(n){for(var o=n.getIndicatorAxes(),a=0;a<o.length;a++)e.each(e.mapDimension(o[a].dim),function(t,e){i[e]=i[e]||[],i[e][a]=n.dataToPoint(t,a)});e.each(function(t){i[t][0]&&i[t].push(i[t][0].slice()),e.setItemLayout(t,i[t])})}})}),Os(fC("radar")),Ns(function(t){var e=t.polar;if(e){y(e)||(e=[e]);var i=[];d(e,function(e,n){e.indicator?(e.type&&!e.shape&&(e.shape=e.type),t.radar=t.radar||[],y(t.radar)||(t.radar=[t.radar]),t.radar.push(e)):i.push(e)}),t.polar=i}d(t.series,function(t){t&&"radar"===t.type&&t.polarIndex&&(t.radarIndex=t.polarIndex)})});for(var xC=[126,25],_C=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]],wC=0;wC<_C.length;wC++)for(var bC=0;bC<_C[wC].length;bC++)_C[wC][bC][0]/=10.5,_C[wC][bC][1]/=-14,_C[wC][bC][0]+=xC[0],_C[wC][bC][1]+=xC[1];var SC=function(t,e){"china"===t&&e.push(new eu("鍗楁捣璇稿矝",f(_C,function(t){return{type:"polygon",exterior:t}}),xC))},MC={"鍗楁捣璇稿矝":[32,80],"骞夸笢":[0,-10],"棣欐腐":[10,5],"婢抽棬":[-10,10],"澶╂触":[5,5]},IC=function(t,e){if("china"===t){var i=MC[e.name];if(i){var n=e.center;n[0]+=i[0]/10.5,n[1]+=-i[1]/14}}},TC={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]},AC=function(t,e){if("world"===t){var i=TC[e.name];if(i){var n=e.center;n[0]=i[0],n[1]=i[1]}}},DC=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]],CC=function(t,e){"china"===t&&"鍙版咕"===e.name&&e.geometries.push({type:"polygon",exterior:DC[0]})},LC=Bi(),kC={load:function(t,e){var i=LC(e).parsed;if(i)return i;var n,o=e.specialAreas||{},a=e.geoJSON;try{n=a?iD(a):[]}catch(t){throw new Error("Invalid geoJson format\n"+t.message)}return d(n,function(e){var i=e.name;IC(t,e),AC(t,e),CC(t,e);var n=o[i];n&&e.transformTo(n.left,n.top,n.width,n.height)}),SC(t,n),LC(e).parsed={regions:n,boundingRect:Kh(n)}}},PC=Bi(),NC={geoJSON:kC,svg:{load:function(t,e){var i=PC(e).originRoot;if(i)return{root:i,boundingRect:PC(e).boundingRect};var n=$h(e);return PC(e).originRoot=n.root,PC(e).boundingRect=n.boundingRect,n},makeGraphic:function(t,e,i){var n=PC(e),o=n.rootMap||(n.rootMap=R()),a=o.get(i);if(a)return a;var r=n.originRoot,s=n.boundingRect;return n.originRootHostKey?a=$h(e,s).root:(n.originRootHostKey=i,a=r),o.set(i,a)},removeGraphic:function(t,e,i){var n=PC(e),o=n.rootMap;o&&o.removeKey(i),i===n.originRootHostKey&&(n.originRootHostKey=null)}}},OC={load:function(t,e){var i,n=[],o=R(),a=R();return d(Qh(t),function(r){var s=NC[r.type].load(t,r);d(s.regions,function(t){var i=t.name;e&&e.hasOwnProperty(i)&&(t=t.cloneShallow(i=e[i])),n.push(t),o.set(i,t),a.set(i,t.center)});var l=s.boundingRect;l&&(i?i.union(l):i=l.clone())}),{regions:n,regionsMap:o,nameCoordMap:a,boundingRect:i||new de(0,0,0,0)}},makeGraphic:Jh("makeGraphic"),removeGraphic:Jh("removeGraphic")};h(YI.extend({type:"series.map",dependencies:["geo"],layoutMode:"box",needsDrawMap:!1,seriesGroup:[],getInitialData:function(t){for(var e=oC(this,["value"]),i=e.mapDimension("value"),n=R(),o=[],a=[],r=0,s=e.count();r<s;r++){var l=e.getName(r);n.set(l,!0),o.push({name:l,value:e.get(i,r),selected:pr(e,r,"selected")})}return d(OC.load(this.getMapType(),this.option.nameMap).regions,function(t){var e=t.name;n.get(e)||(o.push({name:e}),a.push(e))}),this.updateSelectedMap(o),e.appendValues([],a),e},getHostGeoModel:function(){var t=this.option.geoIndex;return null!=t?this.dependentModels.geo[t]:null},getMapType:function(){return(this.getHostGeoModel()||this).option.map},getRawValue:function(t){var e=this.getData();return e.get(e.mapDimension("value"),t)},getRegionModel:function(t){var e=this.getData();return e.getItemModel(e.indexOfName(t))},formatTooltip:function(t){for(var e=this.getData(),i=ta(this.getRawValue(t)),n=e.getName(t),o=this.seriesGroup,a=[],r=0;r<o.length;r++){var s=o[r].originalData.indexOfName(n),l=e.mapDimension("value");isNaN(o[r].originalData.get(l,s))||a.push(ia(o[r].name))}return a.join(", ")+"<br />"+ia(n+" : "+i)},getTooltipPosition:function(t){if(null!=t){var e=this.getData().getName(t),i=this.coordinateSystem,n=i.getRegion(e);return n&&i.dataToPoint(n.center)}},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},defaultOption:{zlevel:0,z:2,coordinateSystem:"geo",map:"",left:"center",top:"center",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",areaColor:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{areaColor:"rgba(255,215,0,0.8)"}}}}),aC);var EC="\0_ec_interaction_mutex";Es({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),h(oc,fw);var RC={axisPointer:1,tooltip:1,brush:1};xc.prototype={constructor:xc,draw:function(t,e,i,n,o){var a="geo"===t.mainType,r=t.getData&&t.getData();a&&e.eachComponent({mainType:"series",subType:"map"},function(e){r||e.getHostGeoModel()!==t||(r=e.getData())});var s=t.coordinateSystem;this._updateBackground(s);var l=this._regionsGroup,u=this.group,h=s.scale,c={position:s.position,scale:h};!l.childAt(0)||o?u.attr(c):Io(u,c,t),l.removeAll();var f=["itemStyle"],p=["emphasis","itemStyle"],g=["label"],m=["emphasis","label"],v=R();d(s.regions,function(e){var i=v.get(e.name)||v.set(e.name,new tb),n=new MM({shape:{paths:[]}});i.add(n);var o,s=(C=t.getRegionModel(e.name)||t).getModel(f),u=C.getModel(p),c=mc(s),y=mc(u),x=C.getModel(g),_=C.getModel(m);if(r){o=r.indexOfName(e.name);var w=r.getItemVisual(o,"color",!0);w&&(c.fill=w)}d(e.geometries,function(t){if("polygon"===t.type){n.shape.paths.push(new pM({shape:{points:t.exterior}}));for(var e=0;e<(t.interiors?t.interiors.length:0);e++)n.shape.paths.push(new pM({shape:{points:t.interiors[e]}}))}}),n.setStyle(c),n.style.strokeNoScale=!0,n.culling=!0;var b=x.get("show"),S=_.get("show"),M=r&&isNaN(r.get(r.mapDimension("value"),o)),I=r&&r.getItemLayout(o);if(a||M&&(b||S)||I&&I.showLabel){var T,A=a?e.name:o;(!r||o>=0)&&(T=t);var D=new rM({position:e.center.slice(),scale:[1/h[0],1/h[1]],z2:10,silent:!0});go(D.style,D.hoverStyle={},x,_,{labelFetcher:T,labelDataIndex:A,defaultText:e.name,useInsideStyle:!1},{textAlign:"center",textVerticalAlign:"middle"}),i.add(D)}if(r)r.setItemGraphicEl(o,i);else{var C=t.getRegionModel(e.name);n.eventData={componentType:"geo",componentIndex:t.componentIndex,geoIndex:t.componentIndex,name:e.name,region:C&&C.option||{}}}(i.__regions||(i.__regions=[])).push(e),fo(i,y,{hoverSilentOnTouch:!!t.get("selectedMode")}),l.add(i)}),this._updateController(t,e,i),vc(this,t,l,i,n),yc(t,l)},remove:function(){this._regionsGroup.removeAll(),this._backgroundGroup.removeAll(),this._controller.dispose(),this._mapName&&OC.removeGraphic(this._mapName,this.uid),this._mapName=null,this._controllerHost={}},_updateBackground:function(t){var e=t.map;this._mapName!==e&&d(OC.makeGraphic(e,this.uid),function(t){this._backgroundGroup.add(t)},this),this._mapName=e},_updateController:function(t,e,i){function n(){var e={type:"geoRoam",componentType:l};return e[l+"Id"]=t.id,e}var o=t.coordinateSystem,r=this._controller,s=this._controllerHost;s.zoomLimit=t.get("scaleLimit"),s.zoom=o.getZoom(),r.enable(t.get("roam")||!1);var l=t.mainType;r.off("pan").on("pan",function(t){this._mouseDownFlag=!1,fc(s,t.dx,t.dy),i.dispatchAction(a(n(),{dx:t.dx,dy:t.dy}))},this),r.off("zoom").on("zoom",function(t){if(this._mouseDownFlag=!1,pc(s,t.scale,t.originX,t.originY),i.dispatchAction(a(n(),{zoom:t.scale,originX:t.originX,originY:t.originY})),this._updateGroup){var e=this.group.scale;this._regionsGroup.traverse(function(t){"text"===t.type&&t.attr("scale",[1/e[0],1/e[1]])})}},this),r.setPointerChecker(function(e,n,a){return o.getViewRectAfterRoam().contain(n,a)&&!gc(e,i,t)})}};var zC="__seriesMapHighDown",BC="__seriesMapCallKey";Zs({type:"map",render:function(t,e,i,n){if(!n||"mapToggleSelect"!==n.type||n.from!==this.uid){var o=this.group;if(o.removeAll(),!t.getHostGeoModel()){if(n&&"geoRoam"===n.type&&"series"===n.componentType&&n.seriesId===t.id)(a=this._mapDraw)&&o.add(a.group);else if(t.needsDrawMap){var a=this._mapDraw||new xc(i,!0);o.add(a.group),a.draw(t,e,i,this,n),this._mapDraw=a}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;t.get("showLegendSymbol")&&e.getComponent("legend")&&this._renderSymbols(t,e,i)}}},remove:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},dispose:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},_renderSymbols:function(t,e,i){var n=t.originalData,o=this.group;n.each(n.mapDimension("value"),function(e,i){if(!isNaN(e)){var r=n.getItemLayout(i);if(r&&r.point){var s=r.point,l=r.offset,u=new sM({style:{fill:t.getData().getVisual("color")},shape:{cx:s[0]+9*l,cy:s[1],r:3},silent:!0,z2:8+(l?0:NM+1)});if(!l){var h=t.mainSeries.getData(),c=n.getName(i),d=h.indexOfName(c),f=n.getItemModel(i),p=f.getModel("label"),g=f.getModel("emphasis.label"),m=h.getItemGraphicEl(d),y=A(t.getFormattedLabel(d,"normal"),c),x=A(t.getFormattedLabel(d,"emphasis"),y),_=m[zC],w=Math.random();if(!_){_=m[zC]={};var b=v(_c,!0),S=v(_c,!1);m.on("mouseover",b).on("mouseout",S).on("emphasis",b).on("normal",S)}m[BC]=w,a(_,{recordVersion:w,circle:u,labelModel:p,hoverLabelModel:g,emphasisText:x,normalText:y}),wc(_,!1)}o.add(u)}}})}}),Es({type:"geoRoam",event:"geoRoam",update:"updateTransform"},function(t,e){var i=t.componentType||"series";e.eachComponent({mainType:i,query:t},function(e){var n=e.coordinateSystem;if("geo"===n.type){var o=bc(n,t,e.get("scaleLimit"));e.setCenter&&e.setCenter(o.center),e.setZoom&&e.setZoom(o.zoom),"series"===i&&d(e.seriesGroup,function(t){t.setCenter(o.center),t.setZoom(o.zoom)})}})});var VC=Q;h(Sc,Tw),Mc.prototype={constructor:Mc,type:"view",dimensions:["x","y"],setBoundingRect:function(t,e,i,n){return this._rect=new de(t,e,i,n),this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(t,e,i,n){this.transformTo(t,e,i,n),this._viewRect=new de(t,e,i,n)},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=this._rawTransformable;a.transform=o.calculateTransform(new de(t,e,i,n)),a.decomposeTransform(),this._updateTransform()},setCenter:function(t){t&&(this._center=t,this._updateCenterAndZoom())},setZoom:function(t){t=t||1;var e=this.zoomLimit;e&&(null!=e.max&&(t=Math.min(e.max,t)),null!=e.min&&(t=Math.max(e.min,t))),this._zoom=t,this._updateCenterAndZoom()},getDefaultCenter:function(){var t=this.getBoundingRect();return[t.x+t.width/2,t.y+t.height/2]},getCenter:function(){return this._center||this.getDefaultCenter()},getZoom:function(){return this._zoom||1},getRoamTransform:function(){return this._roamTransformable.getLocalTransform()},_updateCenterAndZoom:function(){var t=this._rawTransformable.getLocalTransform(),e=this._roamTransformable,i=this.getDefaultCenter(),n=this.getCenter(),o=this.getZoom();n=Q([],n,t),i=Q([],i,t),e.origin=n,e.position=[i[0]-n[0],i[1]-n[1]],e.scale=[o,o],this._updateTransform()},_updateTransform:function(){var t=this._roamTransformable,e=this._rawTransformable;e.parent=t,t.updateTransform(),e.updateTransform(),wt(this.transform||(this.transform=[]),e.transform||xt()),this._rawTransform=e.getLocalTransform(),this.invTransform=this.invTransform||[],Tt(this.invTransform,this.transform),this.decomposeTransform()},getViewRect:function(){return this._viewRect},getViewRectAfterRoam:function(){var t=this.getBoundingRect().clone();return t.applyTransform(this.transform),t},dataToPoint:function(t,e,i){var n=e?this._rawTransform:this.transform;return i=i||[],n?VC(i,t,n):G(i,t)},pointToData:function(t){var e=this.invTransform;return e?VC([],t,e):[t[0],t[1]]},convertToPixel:v(Ic,"dataToPoint"),convertFromPixel:v(Ic,"pointToData"),containPoint:function(t){return this.getViewRectAfterRoam().contain(t[0],t[1])}},h(Mc,Tw),Tc.prototype={constructor:Tc,type:"geo",dimensions:["lng","lat"],containCoord:function(t){for(var e=this.regions,i=0;i<e.length;i++)if(e[i].contain(t))return!0;return!1},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=this._invertLongitute;o=o.clone(),a&&(o.y=-o.y-o.height);var r=this._rawTransformable;if(r.transform=o.calculateTransform(new de(t,e,i,n)),r.decomposeTransform(),a){var s=r.scale;s[1]=-s[1]}r.updateTransform(),this._updateTransform()},getRegion:function(t){return this._regionsMap.get(t)},getRegionByCoord:function(t){for(var e=this.regions,i=0;i<e.length;i++)if(e[i].contain(t))return e[i]},addGeoCoord:function(t,e){this._nameCoordMap.set(t,e)},getGeoCoord:function(t){return this._nameCoordMap.get(t)},getBoundingRect:function(){return this._rect},dataToPoint:function(t,e,i){if("string"==typeof t&&(t=this.getGeoCoord(t)),t)return Mc.prototype.dataToPoint.call(this,t,e,i)},convertToPixel:v(Ac,"dataToPoint"),convertFromPixel:v(Ac,"pointToData")},h(Tc,Mc);var GC={dimensions:Tc.prototype.dimensions,create:function(t,e){var i=[];t.eachComponent("geo",function(t,n){var o=t.get("map"),a=t.get("aspectScale"),r=!0,s=DT.retrieveMap(o);s&&s[0]&&"svg"===s[0].type?(null==a&&(a=1),r=!1):null==a&&(a=.75);var l=new Tc(o+n,o,t.get("nameMap"),r);l.aspectScale=a,l.zoomLimit=t.get("scaleLimit"),i.push(l),Cc(l,t),t.coordinateSystem=l,l.model=t,l.resize=Dc,l.resize(t,e)}),t.eachSeries(function(t){if("geo"===t.get("coordinateSystem")){var e=t.get("geoIndex")||0;t.coordinateSystem=i[e]}});var n={};return t.eachSeriesByType("map",function(t){if(!t.getHostGeoModel()){var e=t.getMapType();n[e]=n[e]||[],n[e].push(t)}}),d(n,function(t,n){var a=new Tc(n,n,o(f(t,function(t){return t.get("nameMap")})));a.zoomLimit=T.apply(null,f(t,function(t){return t.get("scaleLimit")})),i.push(a),a.resize=Dc,a.aspectScale=t[0].get("aspectScale"),a.resize(t[0],e),d(t,function(t){t.coordinateSystem=a,Cc(a,t)})}),i},getFilledRegions:function(t,e,i){for(var n=(t||[]).slice(),o=R(),a=0;a<n.length;a++)o.set(n[a].name,n[a]);return d(OC.load(e,i).regions,function(t){var e=t.name;!o.get(e)&&n.push({name:e})}),n}};Rs("geo",GC);zs(function(t){var e={};t.eachSeriesByType("map",function(i){var n=i.getMapType();if(!i.getHostGeoModel()&&!e[n]){var o={};d(i.seriesGroup,function(e){var i=e.coordinateSystem,n=e.originalData;e.get("showLegendSymbol")&&t.getComponent("legend")&&n.each(n.mapDimension("value"),function(t,e){var a=n.getName(e),r=i.getRegion(a);if(r&&!isNaN(t)){var s=o[a]||0,l=i.dataToPoint(r.center);o[a]=s+1,n.setItemLayout(e,{point:l,offset:s})}})});var a=i.getData();a.each(function(t){var e=a.getName(t),i=a.getItemLayout(t)||{};i.showLabel=!o[e],a.setItemLayout(t,i)}),e[n]=!0}})}),Bs(function(t){t.eachSeriesByType("map",function(t){var e=t.get("color"),i=t.getModel("itemStyle"),n=i.get("areaColor"),o=i.get("color")||e[t.seriesIndex%e.length];t.getData().setVisual({areaColor:n,color:o})})}),Os(VT.PROCESSOR.STATISTIC,function(t){var e={};t.eachSeriesByType("map",function(t){var i=t.getHostGeoModel(),n=i?"o"+i.id:"i"+t.getMapType();(e[n]=e[n]||[]).push(t)}),d(e,function(t,e){for(var i=Lc(f(t,function(t){return t.getData()}),t[0].get("mapValueCalculation")),n=0;n<t.length;n++)t[n].originalData=t[n].getData();for(n=0;n<t.length;n++)t[n].seriesGroup=t,t[n].needsDrawMap=0===n&&!t[n].getHostGeoModel(),t[n].setData(i.cloneShallow()),t[n].mainSeries=t[0]})}),Ns(function(t){var e=[];d(t.series,function(t){t&&"map"===t.type&&(e.push(t),t.map=t.map||t.mapType,r(t,t.mapLocation))})}),lC("map",[{type:"mapToggleSelect",event:"mapselectchanged",method:"toggleSelected"},{type:"mapSelect",event:"mapselected",method:"select"},{type:"mapUnSelect",event:"mapunselected",method:"unSelect"}]);var FC=d,WC="\0__link_datas",HC="\0__link_mainData",ZC=function(t,e){this.name=t||"",this.depth=0,this.height=0,this.parentNode=null,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.hostTree=e};ZC.prototype={constructor:ZC,isRemoved:function(){return this.dataIndex<0},eachNode:function(t,e,i){"function"==typeof t&&(i=e,e=t,t=null),_(t=t||{})&&(t={order:t});var n,o=t.order||"preorder",a=this[t.attr||"children"];"preorder"===o&&(n=e.call(i,this));for(var r=0;!n&&r<a.length;r++)a[r].eachNode(t,e,i);"postorder"===o&&e.call(i,this)},updateDepthAndHeight:function(t){var e=0;this.depth=t;for(var i=0;i<this.children.length;i++){var n=this.children[i];n.updateDepthAndHeight(t+1),n.height>e&&(e=n.height)}this.height=e+1},getNodeById:function(t){if(this.getId()===t)return this;for(var e=0,i=this.children,n=i.length;e<n;e++){var o=i[e].getNodeById(t);if(o)return o}},contains:function(t){if(t===this)return!0;for(var e=0,i=this.children,n=i.length;e<n;e++){var o=i[e].contains(t);if(o)return o}},getAncestors:function(t){for(var e=[],i=t?this:this.parentNode;i;)e.push(i),i=i.parentNode;return e.reverse(),e},getValue:function(t){var e=this.hostTree.data;return e.get(e.getDimension(t||"value"),this.dataIndex)},setLayout:function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},getLayout:function(){return this.hostTree.data.getItemLayout(this.dataIndex)},getModel:function(t){if(!(this.dataIndex<0)){var e,i=this.hostTree,n=i.data.getItemModel(this.dataIndex),o=this.getLevelModel();return o||0!==this.children.length&&(0===this.children.length||!1!==this.isExpand)||(e=this.getLeavesModel()),n.getModel(t,(o||e||i.hostModel).getModel(t))}},getLevelModel:function(){return(this.hostTree.levelModels||[])[this.depth]},getLeavesModel:function(){return this.hostTree.leavesModel},setVisual:function(t,e){this.dataIndex>=0&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},getVisual:function(t,e){return this.hostTree.data.getItemVisual(this.dataIndex,t,e)},getRawIndex:function(){return this.hostTree.data.getRawIndex(this.dataIndex)},getId:function(){return this.hostTree.data.getId(this.dataIndex)},isAncestorOf:function(t){for(var e=t.parentNode;e;){if(e===this)return!0;e=e.parentNode}return!1},isDescendantOf:function(t){return t!==this&&t.isAncestorOf(this)}},Vc.prototype={constructor:Vc,type:"tree",eachNode:function(t,e,i){this.root.eachNode(t,e,i)},getNodeByDataIndex:function(t){var e=this.data.getRawIndex(t);return this._nodes[e]},getNodeByName:function(t){return this.root.getNodeByName(t)},update:function(){for(var t=this.data,e=this._nodes,i=0,n=e.length;i<n;i++)e[i].dataIndex=-1;for(var i=0,n=t.count();i<n;i++)e[t.getRawIndex(i)].dataIndex=i},clearLayouts:function(){this.data.clearItemLayouts()}},Vc.createTree=function(t,e,i){function n(t,e){var i=t.value;r=Math.max(r,y(i)?i.length:1),a.push(t);var s=new ZC(t.name,o);e?Gc(s,e):o.root=s,o._nodes.push(s);var l=t.children;if(l)for(var u=0;u<l.length;u++)n(l[u],s)}var o=new Vc(e,i.levels,i.leaves),a=[],r=1;n(t),o.root.updateDepthAndHeight(0);var s=_A(a,{coordDimensions:["value"],dimensionsCount:r}),l=new vA(s,e);return l.initData(a),kc({mainData:l,struct:o,structAttr:"tree"}),o.update(),o},YI.extend({type:"series.tree",layoutInfo:null,layoutMode:"box",getInitialData:function(t){var e={name:t.name,children:t.data},i=t.leaves||{},n={};n.leaves=i;var o=Vc.createTree(e,this,n),a=0;o.eachNode("preorder",function(t){t.depth>a&&(a=t.depth)});var r=t.expandAndCollapse&&t.initialTreeDepth>=0?t.initialTreeDepth:a;return o.root.eachNode("preorder",function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=r}),o.data},getOrient:function(){var t=this.get("orient");return"horizontal"===t?t="LR":"vertical"===t&&(t="TB"),t},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},formatTooltip:function(t){for(var e=this.getData().tree,i=e.root.children[0],n=e.getNodeByDataIndex(t),o=n.getValue(),a=n.name;n&&n!==i;)a=n.parentNode.name+"."+a,n=n.parentNode;return ia(a+(isNaN(o)||null==o?"":" : "+o))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",left:"12%",top:"12%",right:"12%",bottom:"12%",layout:"orthogonal",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:"LR",symbol:"emptyCircle",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:"#ccc",width:1.5,curveness:.5},itemStyle:{color:"lightsteelblue",borderColor:"#c23531",borderWidth:1.5},label:{show:!0,color:"#555"},leaves:{label:{show:!0}},animationEasing:"linear",animationDuration:700,animationDurationUpdate:1e3}}),Zs({type:"tree",init:function(t,e){this._oldTree,this._mainGroup=new tb,this._controller=new oc(e.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},render:function(t,e,i,n){var o=t.getData(),a=t.layoutInfo,r=this._mainGroup,s=t.get("layout");"radial"===s?r.attr("position",[a.x+a.width/2,a.y+a.height/2]):r.attr("position",[a.x,a.y]),this._updateViewCoordSys(t),this._updateController(t,e,i);var l=this._data,u={expandAndCollapse:t.get("expandAndCollapse"),layout:s,orient:t.getOrient(),curvature:t.get("lineStyle.curveness"),symbolRotate:t.get("symbolRotate"),symbolOffset:t.get("symbolOffset"),hoverAnimation:t.get("hoverAnimation"),useNameLabel:!0,fadeIn:!0};o.diff(l).add(function(e){td(o,e)&&id(o,e,null,r,t,u)}).update(function(e,i){var n=l.getItemGraphicEl(i);td(o,e)?id(o,e,n,r,t,u):n&&nd(l,i,n,r,t,u)}).remove(function(e){var i=l.getItemGraphicEl(e);i&&nd(l,e,i,r,t,u)}).execute(),this._nodeScaleRatio=t.get("nodeScaleRatio"),this._updateNodeAndLinkScale(t),!0===u.expandAndCollapse&&o.eachItemGraphicEl(function(e,n){e.off("click").on("click",function(){i.dispatchAction({type:"treeExpandAndCollapse",seriesId:t.id,dataIndex:n})})}),this._data=o},_updateViewCoordSys:function(t){var e=t.getData(),i=[];e.each(function(t){var n=e.getItemLayout(t);!n||isNaN(n.x)||isNaN(n.y)||i.push([+n.x,+n.y])});var n=[],o=[];fn(i,n,o),o[0]-n[0]==0&&(o[0]+=1,n[0]-=1),o[1]-n[1]==0&&(o[1]+=1,n[1]-=1);var a=t.coordinateSystem=new Mc;a.zoomLimit=t.get("scaleLimit"),a.setBoundingRect(n[0],n[1],o[0]-n[0],o[1]-n[1]),a.setCenter(t.get("center")),a.setZoom(t.get("zoom")),this.group.attr({position:a.position,scale:a.scale}),this._viewCoordSys=a},_updateController:function(t,e,i){var n=this._controller,o=this._controllerHost,a=this.group;n.setPointerChecker(function(e,n,o){var r=a.getBoundingRect();return r.applyTransform(a.transform),r.contain(n,o)&&!gc(e,i,t)}),n.enable(t.get("roam")),o.zoomLimit=t.get("scaleLimit"),o.zoom=t.coordinateSystem.getZoom(),n.off("pan").off("zoom").on("pan",function(e){fc(o,e.dx,e.dy),i.dispatchAction({seriesId:t.id,type:"treeRoam",dx:e.dx,dy:e.dy})},this).on("zoom",function(e){pc(o,e.scale,e.originX,e.originY),i.dispatchAction({seriesId:t.id,type:"treeRoam",zoom:e.scale,originX:e.originX,originY:e.originY}),this._updateNodeAndLinkScale(t)},this)},_updateNodeAndLinkScale:function(t){var e=t.getData(),i=this._getNodeGlobalScale(t),n=[i,i];e.eachItemGraphicEl(function(t,e){t.attr("scale",n)})},_getNodeGlobalScale:function(t){var e=t.coordinateSystem;if("view"!==e.type)return 1;var i=this._nodeScaleRatio,n=e.scale,o=n&&n[0]||1;return((e.getZoom()-1)*i+1)/o},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},remove:function(){this._mainGroup.removeAll(),this._data=null}}),Es({type:"treeExpandAndCollapse",event:"treeExpandAndCollapse",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var i=t.dataIndex,n=e.getData().tree.getNodeByDataIndex(i);n.isExpand=!n.isExpand})}),Es({type:"treeRoam",event:"treeRoam",update:"none"},function(t,e){e.eachComponent({mainType:"series",subType:"tree",query:t},function(e){var i=bc(e.coordinateSystem,t);e.setCenter&&e.setCenter(i.center),e.setZoom&&e.setZoom(i.zoom)})});Bs(TD("tree","circle")),zs(function(t,e){t.eachSeriesByType("tree",function(t){sd(t,e)})}),YI.extend({type:"series.treemap",layoutMode:"box",dependencies:["grid","polar"],_viewRoot:null,defaultOption:{progressive:0,hoverLayerThreshold:1/0,left:"center",top:"middle",right:null,bottom:null,width:"80%",height:"80%",sort:!0,clipWindow:"origin",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:"鈻�",zoomToNodeRatio:.1024,roam:!0,nodeClick:"zoomToNode",animation:!0,animationDurationUpdate:900,animationEasing:"quinticInOut",breadcrumb:{show:!0,height:22,left:"center",top:"bottom",emptyItemWidth:25,itemStyle:{color:"rgba(0,0,0,0.7)",borderColor:"rgba(255,255,255,0.7)",borderWidth:1,shadowColor:"rgba(150,150,150,1)",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:"#fff"}},emphasis:{textStyle:{}}},label:{show:!0,distance:0,padding:5,position:"inside",color:"#fff",ellipsis:!0},upperLabel:{show:!1,position:[0,"50%"],height:20,color:"#fff",ellipsis:!0,verticalAlign:"middle"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:"#fff",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,"50%"],color:"#fff",ellipsis:!0,verticalAlign:"middle"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:"index",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(t,e){var i={name:t.name,children:t.data};dd(i);var n=t.levels||[];n=t.levels=fd(n,e);var o={};return o.levels=n,Vc.createTree(i,this,o).data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=ta(y(i)?i[0]:i);return ia(e.getName(t)+": "+n)},getDataParams:function(t){var e=YI.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=cd(i,this),e},setLayoutInfo:function(t){this.layoutInfo=this.layoutInfo||{},a(this.layoutInfo,t)},mapIdToIndex:function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=R(),this._idIndexMapCount=0);var i=e.get(t);return null==i&&e.set(t,i=this._idIndexMapCount++),i},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)}});var UC=5;pd.prototype={constructor:pd,render:function(t,e,i,n){var o=t.getModel("breadcrumb"),a=this.group;if(a.removeAll(),o.get("show")&&i){var r=o.getModel("itemStyle"),s=r.getModel("textStyle"),l={pos:{left:o.get("left"),right:o.get("right"),top:o.get("top"),bottom:o.get("bottom")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:o.get("emptyItemWidth"),totalWidth:0,renderList:[]};this._prepare(i,l,s),this._renderContent(t,l,r,s,n),da(a,l.pos,l.box)}},_prepare:function(t,e,i){for(var n=t;n;n=n.parentNode){var o=n.getModel().get("name"),a=i.getTextRect(o),r=Math.max(a.width+16,e.emptyItemWidth);e.totalWidth+=r+8,e.renderList.push({node:n,text:o,width:r})}},_renderContent:function(t,e,i,n,o){for(var a=0,s=e.emptyItemWidth,l=t.get("breadcrumb.height"),u=ha(e.pos,e.box),h=e.totalWidth,c=e.renderList,d=c.length-1;d>=0;d--){var f=c[d],p=f.node,g=f.width,m=f.text;h>u.width&&(h-=g-s,g=s,m=null);var y=new pM({shape:{points:gd(a,0,g,l,d===c.length-1,0===d)},style:r(i.getItemStyle(),{lineJoin:"bevel",text:m,textFill:n.getTextColor(),textFont:n.getFont()}),z:10,onclick:v(o,p)});this.group.add(y),md(y,t,p),a+=g+8}},remove:function(){this.group.removeAll()}};var XC=m,jC=tb,YC=yM,qC=d,KC=["label"],$C=["emphasis","label"],JC=["upperLabel"],QC=["emphasis","upperLabel"],tL=10,eL=1,iL=2,nL=Qb([["fill","color"],["stroke","strokeColor"],["lineWidth","strokeWidth"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),oL=function(t){var e=nL(t);return e.stroke=e.fill=e.lineWidth=null,e};Zs({type:"treemap",init:function(t,e){this._containerGroup,this._storage={nodeGroup:[],background:[],content:[]},this._oldTree,this._breadcrumb,this._controller,this._state="ready"},render:function(t,e,i,n){if(!(l(e.findComponents({mainType:"series",subType:"treemap",query:n}),t)<0)){this.seriesModel=t,this.api=i,this.ecModel=e;var o=ld(n,["treemapZoomToNode","treemapRootToNode"],t),a=n&&n.type,r=t.layoutInfo,s=!this._oldTree,u=this._storage,h="treemapRootToNode"===a&&o&&u?{rootNodeGroup:u.nodeGroup[o.node.getRawIndex()],direction:n.direction}:null,c=this._giveContainerGroup(r),d=this._doRender(c,t,h);s||a&&"treemapZoomToNode"!==a&&"treemapRootToNode"!==a?d.renderFinally():this._doAnimation(c,d,t,h),this._resetController(i),this._renderBreadcrumb(t,i,o)}},_giveContainerGroup:function(t){var e=this._containerGroup;return e||(e=this._containerGroup=new jC,this._initEvents(e),this.group.add(e)),e.attr("position",[t.x,t.y]),e},_doRender:function(t,e,i){function n(t,e,i,o,a){function r(t){return t.getId()}function s(r,s){var l=null!=r?t[r]:null,u=null!=s?e[s]:null,c=h(l,u,i,a);c&&n(l&&l.viewChildren||[],u&&u.viewChildren||[],c,o,a+1)}o?(e=t,qC(t,function(t,e){!t.isRemoved()&&s(e,e)})):new Xs(e,t,r,r).add(s).update(s).remove(v(s,null)).execute()}var o=e.getData().tree,a=this._oldTree,r={nodeGroup:[],background:[],content:[]},s={nodeGroup:[],background:[],content:[]},l=this._storage,u=[],h=v(yd,e,s,l,i,r,u);n(o.root?[o.root]:[],a&&a.root?[a.root]:[],t,o===a||!a,0);var c=function(t){var e={nodeGroup:[],background:[],content:[]};return t&&qC(t,function(t,i){var n=e[i];qC(t,function(t){t&&(n.push(t),t.__tmWillDelete=1)})}),e}(l);return this._oldTree=o,this._storage=s,{lastsForAnimation:r,willDeleteEls:c,renderFinally:function(){qC(c,function(t){qC(t,function(t){t.parent&&t.parent.remove(t)})}),qC(u,function(t){t.invisible=!0,t.dirty()})}}},_doAnimation:function(t,e,i,n){if(i.get("animation")){var o=i.get("animationDurationUpdate"),r=i.get("animationEasing"),s=vd();qC(e.willDeleteEls,function(t,e){qC(t,function(t,i){if(!t.invisible){var a,l=t.parent;if(n&&"drillDown"===n.direction)a=l===n.rootNodeGroup?{shape:{x:0,y:0,width:l.__tmNodeWidth,height:l.__tmNodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var u=0,h=0;l.__tmWillDelete||(u=l.__tmNodeWidth/2,h=l.__tmNodeHeight/2),a="nodeGroup"===e?{position:[u,h],style:{opacity:0}}:{shape:{x:u,y:h,width:0,height:0},style:{opacity:0}}}a&&s.add(t,a,o,r)}})}),qC(this._storage,function(t,i){qC(t,function(t,n){var l=e.lastsForAnimation[i][n],u={};l&&("nodeGroup"===i?l.old&&(u.position=t.position.slice(),t.attr("position",l.old)):(l.old&&(u.shape=a({},t.shape),t.setShape(l.old)),l.fadein?(t.setStyle("opacity",0),u.style={opacity:1}):1!==t.style.opacity&&(u.style={opacity:1})),s.add(t,u,o,r))})},this),this._state="animating",s.done(XC(function(){this._state="ready",e.renderFinally()},this)).start()}},_resetController:function(t){var e=this._controller;e||((e=this._controller=new oc(t.getZr())).enable(this.seriesModel.get("roam")),e.on("pan",XC(this._onPan,this)),e.on("zoom",XC(this._onZoom,this)));var i=new de(0,0,t.getWidth(),t.getHeight());e.setPointerChecker(function(t,e,n){return i.contain(e,n)})},_clearController:function(){var t=this._controller;t&&(t.dispose(),t=null)},_onPan:function(t){if("animating"!==this._state&&(Math.abs(t.dx)>3||Math.abs(t.dy)>3)){var e=this.seriesModel.getData().tree.root;if(!e)return;var i=e.getLayout();if(!i)return;this.api.dispatchAction({type:"treemapMove",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:i.x+t.dx,y:i.y+t.dy,width:i.width,height:i.height}})}},_onZoom:function(t){var e=t.originX,i=t.originY;if("animating"!==this._state){var n=this.seriesModel.getData().tree.root;if(!n)return;var o=n.getLayout();if(!o)return;var a=new de(o.x,o.y,o.width,o.height),r=this.seriesModel.layoutInfo;e-=r.x,i-=r.y;var s=xt();St(s,s,[-e,-i]),It(s,s,[t.scale,t.scale]),St(s,s,[e,i]),a.applyTransform(s),this.api.dispatchAction({type:"treemapRender",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:a.x,y:a.y,width:a.width,height:a.height}})}},_initEvents:function(t){t.on("click",function(t){if("ready"===this._state){var e=this.seriesModel.get("nodeClick",!0);if(e){var i=this.findTarget(t.offsetX,t.offsetY);if(i){var n=i.node;if(n.getLayout().isLeafRoot)this._rootToNode(i);else if("zoomToNode"===e)this._zoomToNode(i);else if("link"===e){var o=n.hostTree.data.getItemModel(n.dataIndex),a=o.get("link",!0),r=o.get("target",!0)||"blank";a&&window.open(a,r)}}}}},this)},_renderBreadcrumb:function(t,e,i){i||(i=null!=t.get("leafDepth",!0)?{node:t.getViewRoot()}:this.findTarget(e.getWidth()/2,e.getHeight()/2))||(i={node:t.getData().tree.root}),(this._breadcrumb||(this._breadcrumb=new pd(this.group))).render(t,e,i.node,XC(function(e){"animating"!==this._state&&(hd(t.getViewRoot(),e)?this._rootToNode({node:e}):this._zoomToNode({node:e}))},this))},remove:function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage={nodeGroup:[],background:[],content:[]},this._state="ready",this._breadcrumb&&this._breadcrumb.remove()},dispose:function(){this._clearController()},_zoomToNode:function(t){this.api.dispatchAction({type:"treemapZoomToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},_rootToNode:function(t){this.api.dispatchAction({type:"treemapRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},findTarget:function(t,e){var i;return this.seriesModel.getViewRoot().eachNode({attr:"viewChildren",order:"preorder"},function(n){var o=this._storage.background[n.getRawIndex()];if(o){var a=o.transformCoordToLocal(t,e),r=o.shape;if(!(r.x<=a[0]&&a[0]<=r.x+r.width&&r.y<=a[1]&&a[1]<=r.y+r.height))return!1;i={node:n,offsetX:a[0],offsetY:a[1]}}},this),i}});for(var aL=["treemapZoomToNode","treemapRender","treemapMove"],rL=0;rL<aL.length;rL++)Es({type:aL[rL],update:"updateView"},function(){});Es({type:"treemapRootToNode",update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"treemap",query:t},function(e,i){var n=ld(t,["treemapZoomToNode","treemapRootToNode"],e);if(n){var o=e.getViewRoot();o&&(t.direction=hd(o,n.node)?"rollUp":"drillDown"),e.resetViewRoot(n.node)}})});var sL=d,lL=w,uL=-1,hL=function(t){var e=t.mappingMethod,n=t.type,o=this.option=i(t);this.type=n,this.mappingMethod=e,this._normalizeData=dL[e];var a=cL[n];this.applyVisual=a.applyVisual,this.getColorMapper=a.getColorMapper,this._doMap=a._doMap[e],"piecewise"===e?(bd(o),_d(o)):"category"===e?o.categories?wd(o):bd(o,!0):(k("linear"!==e||o.dataExtent),bd(o))};hL.prototype={constructor:hL,mapValueToVisual:function(t){var e=this._normalizeData(t);return this._doMap(e,t)},getNormalizer:function(){return m(this._normalizeData,this)}};var cL=hL.visualHandlers={color:{applyVisual:Id("color"),getColorMapper:function(){var t=this.option;return m("category"===t.mappingMethod?function(t,e){return!e&&(t=this._normalizeData(t)),Td.call(this,t)}:function(e,i,n){var o=!!n;return!i&&(e=this._normalizeData(e)),n=Ut(e,t.parsedVisual,n),o?n:qt(n,"rgba")},this)},_doMap:{linear:function(t){return qt(Ut(t,this.option.parsedVisual),"rgba")},category:Td,piecewise:function(t,e){var i=Cd.call(this,e);return null==i&&(i=qt(Ut(t,this.option.parsedVisual),"rgba")),i},fixed:Ad}},colorHue:Sd(function(t,e){return jt(t,e)}),colorSaturation:Sd(function(t,e){return jt(t,null,e)}),colorLightness:Sd(function(t,e){return jt(t,null,null,e)}),colorAlpha:Sd(function(t,e){return Yt(t,e)}),opacity:{applyVisual:Id("opacity"),_doMap:Dd([0,1])},liftZ:{applyVisual:Id("liftZ"),_doMap:{linear:Ad,category:Ad,piecewise:Ad,fixed:Ad}},symbol:{applyVisual:function(t,e,i){var n=this.mapValueToVisual(t);if(_(n))i("symbol",n);else if(lL(n))for(var o in n)n.hasOwnProperty(o)&&i(o,n[o])},_doMap:{linear:Md,category:Td,piecewise:function(t,e){var i=Cd.call(this,e);return null==i&&(i=Md.call(this,t)),i},fixed:Ad}},symbolSize:{applyVisual:Id("symbolSize"),_doMap:Dd([0,1])}},dL={linear:function(t){return Bo(t,this.option.dataExtent,[0,1],!0)},piecewise:function(t){var e=this.option.pieceList,i=hL.findPieceIndex(t,e,!0);if(null!=i)return Bo(i,[0,e.length-1],[0,1],!0)},category:function(t){var e=this.option.categories?this.option.categoryMap[t]:t;return null==e?uL:e},fixed:B};hL.listVisualTypes=function(){var t=[];return d(cL,function(e,i){t.push(i)}),t},hL.addVisualHandler=function(t,e){cL[t]=e},hL.isValidType=function(t){return cL.hasOwnProperty(t)},hL.eachVisual=function(t,e,i){w(t)?d(t,e,i):e.call(i,t)},hL.mapVisual=function(t,e,i){var n,o=y(t)?[]:w(t)?{}:(n=!0,null);return hL.eachVisual(t,function(t,a){var r=e.call(i,t,a);n?o=r:o[a]=r}),o},hL.retrieveVisuals=function(t){var e,i={};return t&&sL(cL,function(n,o){t.hasOwnProperty(o)&&(i[o]=t[o],e=!0)}),e?i:null},hL.prepareVisualTypes=function(t){if(lL(t)){var e=[];sL(t,function(t,i){e.push(i)}),t=e}else{if(!y(t))return[];t=t.slice()}return t.sort(function(t,e){return"color"===e&&"color"!==t&&0===t.indexOf("color")?1:-1}),t},hL.dependsOn=function(t,e){return"color"===e?!(!t||0!==t.indexOf(e)):t===e},hL.findPieceIndex=function(t,e,i){function n(e,i){var n=Math.abs(e-t);n<a&&(a=n,o=i)}for(var o,a=1/0,r=0,s=e.length;r<s;r++){var l=e[r].value;if(null!=l){if(l===t||"string"==typeof l&&l===t+"")return r;i&&n(l,r)}}for(var r=0,s=e.length;r<s;r++){var u=e[r],h=u.interval,c=u.close;if(h){if(h[0]===-1/0){if(kd(c[1],t,h[1]))return r}else if(h[1]===1/0){if(kd(c[0],h[0],t))return r}else if(kd(c[0],h[0],t)&&kd(c[1],t,h[1]))return r;i&&n(h[0],r),i&&n(h[1],r)}}if(i)return t===1/0?e.length-1:t===-1/0?0:o};var fL=y,pL="itemStyle",gL={seriesType:"treemap",reset:function(t,e,i,n){var o=t.getData().tree,a=o.root,r=t.getModel(pL);a.isRemoved()||Pd(a,{},f(o.levelModels,function(t){return t?t.get(pL):null}),r,t.getViewRoot().getAncestors(),t)}},mL=Math.max,vL=Math.min,yL=T,xL=d,_L=["itemStyle","borderWidth"],wL=["itemStyle","gapWidth"],bL=["upperLabel","show"],SL=["upperLabel","height"],ML={seriesType:"treemap",reset:function(t,e,i,n){var o=i.getWidth(),r=i.getHeight(),s=t.option,l=ca(t.getBoxLayoutParams(),{width:i.getWidth(),height:i.getHeight()}),u=s.size||[],h=Vo(yL(l.width,u[0]),o),c=Vo(yL(l.height,u[1]),r),d=n&&n.type,f=ld(n,["treemapZoomToNode","treemapRootToNode"],t),p="treemapRender"===d||"treemapMove"===d?n.rootRect:null,g=t.getViewRoot(),m=ud(g);if("treemapMove"!==d){var v="treemapZoomToNode"===d?jd(t,f,g,h,c):p?[p.width,p.height]:[h,c],y=s.sort;y&&"asc"!==y&&"desc"!==y&&(y="desc");var x={squareRatio:s.squareRatio,sort:y,leafDepth:s.leafDepth};g.hostTree.clearLayouts();_={x:0,y:0,width:v[0],height:v[1],area:v[0]*v[1]};g.setLayout(_),Gd(g,x,!1,0);var _=g.getLayout();xL(m,function(t,e){var i=(m[e+1]||g).getValue();t.setLayout(a({dataExtent:[i,i],borderWidth:0,upperHeight:0},_))})}var w=t.getData().tree.root;w.setLayout(Yd(l,p,f),!0),t.setLayoutInfo(l),qd(w,new de(-l.x,-l.y,o,r),m,g,0)}};Bs(gL),zs(ML);var IL=function(t){this._directed=t||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},TL=IL.prototype;TL.type="graph",TL.isDirected=function(){return this._directed},TL.addNode=function(t,e){t=t||""+e;var i=this._nodesMap;if(!i[$d(t)]){var n=new Jd(t,e);return n.hostGraph=this,this.nodes.push(n),i[$d(t)]=n,n}},TL.getNodeByIndex=function(t){var e=this.data.getRawIndex(t);return this.nodes[e]},TL.getNodeById=function(t){return this._nodesMap[$d(t)]},TL.addEdge=function(t,e,i){var n=this._nodesMap,o=this._edgesMap;if("number"==typeof t&&(t=this.nodes[t]),"number"==typeof e&&(e=this.nodes[e]),Jd.isInstance(t)||(t=n[$d(t)]),Jd.isInstance(e)||(e=n[$d(e)]),t&&e){var a=t.id+"-"+e.id;if(!o[a]){var r=new Qd(t,e,i);return r.hostGraph=this,this._directed&&(t.outEdges.push(r),e.inEdges.push(r)),t.edges.push(r),t!==e&&e.edges.push(r),this.edges.push(r),o[a]=r,r}}},TL.getEdgeByIndex=function(t){var e=this.edgeData.getRawIndex(t);return this.edges[e]},TL.getEdge=function(t,e){Jd.isInstance(t)&&(t=t.id),Jd.isInstance(e)&&(e=e.id);var i=this._edgesMap;return this._directed?i[t+"-"+e]:i[t+"-"+e]||i[e+"-"+t]},TL.eachNode=function(t,e){for(var i=this.nodes,n=i.length,o=0;o<n;o++)i[o].dataIndex>=0&&t.call(e,i[o],o)},TL.eachEdge=function(t,e){for(var i=this.edges,n=i.length,o=0;o<n;o++)i[o].dataIndex>=0&&i[o].node1.dataIndex>=0&&i[o].node2.dataIndex>=0&&t.call(e,i[o],o)},TL.breadthFirstTraverse=function(t,e,i,n){if(Jd.isInstance(e)||(e=this._nodesMap[$d(e)]),e){for(var o="out"===i?"outEdges":"in"===i?"inEdges":"edges",a=0;a<this.nodes.length;a++)this.nodes[a].__visited=!1;if(!t.call(n,e,null))for(var r=[e];r.length;)for(var s=r.shift(),l=s[o],a=0;a<l.length;a++){var u=l[a],h=u.node1===s?u.node2:u.node1;if(!h.__visited){if(t.call(n,h,s))return;r.push(h),h.__visited=!0}}}},TL.update=function(){for(var t=this.data,e=this.edgeData,i=this.nodes,n=this.edges,o=0,a=i.length;o<a;o++)i[o].dataIndex=-1;for(var o=0,a=t.count();o<a;o++)i[t.getRawIndex(o)].dataIndex=o;e.filterSelf(function(t){var i=n[e.getRawIndex(t)];return i.node1.dataIndex>=0&&i.node2.dataIndex>=0});for(var o=0,a=n.length;o<a;o++)n[o].dataIndex=-1;for(var o=0,a=e.count();o<a;o++)n[e.getRawIndex(o)].dataIndex=o},TL.clone=function(){for(var t=new IL(this._directed),e=this.nodes,i=this.edges,n=0;n<e.length;n++)t.addNode(e[n].id,e[n].dataIndex);for(n=0;n<i.length;n++){var o=i[n];t.addEdge(o.node1.id,o.node2.id,o.dataIndex)}return t},Jd.prototype={constructor:Jd,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(t){if(!(this.dataIndex<0))return this.hostGraph.data.getItemModel(this.dataIndex).getModel(t)}},Qd.prototype.getModel=function(t){if(!(this.dataIndex<0))return this.hostGraph.edgeData.getItemModel(this.dataIndex).getModel(t)};var AL=function(t,e){return{getValue:function(i){var n=this[t][e];return n.get(n.getDimension(i||"value"),this.dataIndex)},setVisual:function(i,n){this.dataIndex>=0&&this[t][e].setItemVisual(this.dataIndex,i,n)},getVisual:function(i,n){return this[t][e].getItemVisual(this.dataIndex,i,n)},setLayout:function(i,n){this.dataIndex>=0&&this[t][e].setItemLayout(this.dataIndex,i,n)},getLayout:function(){return this[t][e].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[t][e].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[t][e].getRawIndex(this.dataIndex)}}};h(Jd,AL("hostGraph","data")),h(Qd,AL("hostGraph","edgeData")),IL.Node=Jd,IL.Edge=Qd,Yi(Jd),Yi(Qd);var DL=function(t,e,i,n,o){for(var a=new IL(n),r=0;r<t.length;r++)a.addNode(T(t[r].id,t[r].name,r),r);for(var s=[],u=[],h=0,r=0;r<e.length;r++){var c=e[r],d=c.source,f=c.target;a.addEdge(d,f,h)&&(u.push(c),s.push(T(c.id,d+" > "+f)),h++)}var p,g=i.get("coordinateSystem");if("cartesian2d"===g||"polar"===g)p=ml(t,i);else{var m=Fa.get(g),v=m&&"view"!==m.type?m.dimensions||[]:[];l(v,"value")<0&&v.concat(["value"]);var y=_A(t,{coordDimensions:v});(p=new vA(y,i)).initData(t)}var x=new vA(["value"],i);return x.initData(u,s),o&&o(p,x),kc({mainData:p,struct:a,structAttr:"graph",datas:{node:p,edge:x},datasAttr:{node:"data",edge:"edgeData"}}),a.update(),a},CL=Hs({type:"series.graph",init:function(t){CL.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeOption:function(t){CL.superApply(this,"mergeOption",arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeDefaultAndTheme:function(t){CL.superApply(this,"mergeDefaultAndTheme",arguments),Ci(t,["edgeLabel"],["show"])},getInitialData:function(t,e){var i=t.edges||t.links||[],n=t.data||t.nodes||[],o=this;if(n&&i)return DL(n,i,this,!0,function(t,i){function n(t){return(t=this.parsePath(t))&&"label"===t[0]?r:t&&"emphasis"===t[0]&&"label"===t[1]?l:this.parentModel}t.wrapMethod("getItemModel",function(t){var e=o._categoriesModels[t.getShallow("category")];return e&&(e.parentModel=t.parentModel,t.parentModel=e),t});var a=o.getModel("edgeLabel"),r=new No({label:a.option},a.parentModel,e),s=o.getModel("emphasis.edgeLabel"),l=new No({emphasis:{label:s.option}},s.parentModel,e);i.wrapMethod("getItemModel",function(t){return t.customizeGetParent(n),t})}).data},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(t,e,i){if("edge"===i){var n=this.getData(),o=this.getDataParams(t,i),a=n.graph.getEdgeByIndex(t),r=n.getName(a.node1.dataIndex),s=n.getName(a.node2.dataIndex),l=[];return null!=r&&l.push(r),null!=s&&l.push(s),l=ia(l.join(" > ")),o.value&&(l+=" : "+ia(o.value)),l}return CL.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var t=f(this.option.categories||[],function(t){return null!=t.value?t:a({value:0},t)}),e=new vA(["value"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray(function(t){return e.getItemModel(t,!0)})},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},isAnimationEnabled:function(){return CL.superCall(this,"isAnimationEnabled")&&!("force"===this.get("layout")&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,edgeLength:30,layoutAnimation:!0},left:"center",top:"center",symbol:"circle",symbolSize:10,edgeSymbol:["none","none"],edgeSymbolSize:10,edgeLabel:{position:"middle"},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:"{b}"},itemStyle:{},lineStyle:{color:"#aaa",width:1,curveness:0,opacity:.5},emphasis:{label:{show:!0}}}}),LL=_M.prototype,kL=bM.prototype,PL=Un({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(t,e){(tf(e)?LL:kL).buildPath(t,e)},pointAt:function(t){return tf(this.shape)?LL.pointAt.call(this,t):kL.pointAt.call(this,t)},tangentAt:function(t){var e=this.shape,i=tf(e)?[e.x2-e.x1,e.y2-e.y1]:kL.tangentAt.call(this,t);return q(i,i)}}),NL=["fromSymbol","toSymbol"],OL=rf.prototype;OL.beforeUpdate=function(){var t=this,e=t.childOfName("fromSymbol"),i=t.childOfName("toSymbol"),n=t.childOfName("label");if(e||i||!n.ignore){for(var o=1,a=this.parent;a;)a.scale&&(o/=a.scale[0]),a=a.parent;var r=t.childOfName("line");if(this.__dirty||r.__dirty){var s=r.shape.percent,l=r.pointAt(0),u=r.pointAt(s),h=U([],u,l);if(q(h,h),e&&(e.attr("position",l),c=r.tangentAt(0),e.attr("rotation",Math.PI/2-Math.atan2(c[1],c[0])),e.attr("scale",[o*s,o*s])),i){i.attr("position",u);var c=r.tangentAt(1);i.attr("rotation",-Math.PI/2-Math.atan2(c[1],c[0])),i.attr("scale",[o*s,o*s])}if(!n.ignore){n.attr("position",u);var d,f,p,g=5*o;if("end"===n.__position)d=[h[0]*g+u[0],h[1]*g+u[1]],f=h[0]>.8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";else if("middle"===n.__position){var m=s/2,v=[(c=r.tangentAt(m))[1],-c[0]],y=r.pointAt(m);v[1]>0&&(v[0]=-v[0],v[1]=-v[1]),d=[y[0]+v[0]*g,y[1]+v[1]*g],f="center",p="bottom";var x=-Math.atan2(c[1],c[0]);u[0]<l[0]&&(x=Math.PI+x),n.attr("rotation",x)}else d=[-h[0]*g+l[0],-h[1]*g+l[1]],f=h[0]>.8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";n.attr({style:{textVerticalAlign:n.__verticalAlign||p,textAlign:n.__textAlign||f},position:d,scale:[o,o]})}}}},OL._createLine=function(t,e,i){var n=t.hostModel,o=of(t.getItemLayout(e));o.shape.percent=0,To(o,{shape:{percent:1}},n,e),this.add(o);var a=new rM({name:"label",lineLabelOriginalOpacity:1});this.add(a),d(NL,function(i){var n=nf(i,t,e);this.add(n),this[ef(i)]=t.getItemVisual(e,i)},this),this._updateCommonStl(t,e,i)},OL.updateData=function(t,e,i){var n=t.hostModel,o=this.childOfName("line"),a=t.getItemLayout(e),r={shape:{}};af(r.shape,a),Io(o,r,n,e),d(NL,function(i){var n=t.getItemVisual(e,i),o=ef(i);if(this[o]!==n){this.remove(this.childOfName(i));var a=nf(i,t,e);this.add(a)}this[o]=n},this),this._updateCommonStl(t,e,i)},OL._updateCommonStl=function(t,e,i){var n=t.hostModel,o=this.childOfName("line"),a=i&&i.lineStyle,s=i&&i.hoverLineStyle,l=i&&i.labelModel,u=i&&i.hoverLabelModel;if(!i||t.hasItemOption){var h=t.getItemModel(e);a=h.getModel("lineStyle").getLineStyle(),s=h.getModel("emphasis.lineStyle").getLineStyle(),l=h.getModel("label"),u=h.getModel("emphasis.label")}var c=t.getItemVisual(e,"color"),f=D(t.getItemVisual(e,"opacity"),a.opacity,1);o.useStyle(r({strokeNoScale:!0,fill:"none",stroke:c,opacity:f},a)),o.hoverStyle=s,d(NL,function(t){var e=this.childOfName(t);e&&(e.setColor(c),e.setStyle({opacity:f}))},this);var p,g,m=l.getShallow("show"),v=u.getShallow("show"),y=this.childOfName("label");if((m||v)&&(p=c||"#000",null==(g=n.getFormattedLabel(e,"normal",t.dataType)))){var x=n.getRawValue(e);g=null==x?t.getName(e):isFinite(x)?Go(x):x}var _=m?g:null,w=v?A(n.getFormattedLabel(e,"emphasis",t.dataType),g):null,b=y.style;null==_&&null==w||(mo(y.style,l,{text:_},{autoColor:p}),y.__textAlign=b.textAlign,y.__verticalAlign=b.textVerticalAlign,y.__position=l.get("position")||"middle"),y.hoverStyle=null!=w?{text:w,textFill:u.getTextColor(!0),fontStyle:u.getShallow("fontStyle"),fontWeight:u.getShallow("fontWeight"),fontSize:u.getShallow("fontSize"),fontFamily:u.getShallow("fontFamily")}:{text:null},y.ignore=!m&&!v,fo(this)},OL.highlight=function(){this.trigger("emphasis")},OL.downplay=function(){this.trigger("normal")},OL.updateLayout=function(t,e){this.setLinePoints(t.getItemLayout(e))},OL.setLinePoints=function(t){var e=this.childOfName("line");af(e.shape,t),e.dirty()},u(rf,tb);var EL=sf.prototype;EL.isPersistent=function(){return!0},EL.updateData=function(t){var e=this,i=e.group,n=e._lineData;e._lineData=t,n||i.removeAll();var o=hf(t);t.diff(n).add(function(i){lf(e,t,i,o)}).update(function(i,a){uf(e,n,t,a,i,o)}).remove(function(t){i.remove(n.getItemGraphicEl(t))}).execute()},EL.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl(function(e,i){e.updateLayout(t,i)},this)},EL.incrementalPrepareUpdate=function(t){this._seriesScope=hf(t),this._lineData=null,this.group.removeAll()},EL.incrementalUpdate=function(t,e){for(var i=t.start;i<t.end;i++)if(df(e.getItemLayout(i))){var n=new this._ctor(e,i,this._seriesScope);n.traverse(function(t){t.isGroup||(t.incremental=t.useHoverLayer=!0)}),this.group.add(n),e.setItemGraphicEl(i,n)}},EL.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},EL._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var RL=[],zL=[],BL=[],VL=sn,GL=hw,FL=Math.abs,WL=function(t,e){function i(t){var e=t.getVisual("symbolSize");return e instanceof Array&&(e=(e[0]+e[1])/2),e}var n=[],o=cn,a=[[],[],[]],r=[[],[]],s=[];e/=2,t.eachEdge(function(t,l){var u=t.getLayout(),h=t.getVisual("fromSymbol"),c=t.getVisual("toSymbol");u.__original||(u.__original=[F(u[0]),F(u[1])],u[2]&&u.__original.push(F(u[2])));var d=u.__original;if(null!=u[2]){if(G(a[0],d[0]),G(a[1],d[2]),G(a[2],d[1]),h&&"none"!==h){var f=i(t.node1),p=ff(a,d[0],f*e);o(a[0][0],a[1][0],a[2][0],p,n),a[0][0]=n[3],a[1][0]=n[4],o(a[0][1],a[1][1],a[2][1],p,n),a[0][1]=n[3],a[1][1]=n[4]}if(c&&"none"!==c){var f=i(t.node2),p=ff(a,d[1],f*e);o(a[0][0],a[1][0],a[2][0],p,n),a[1][0]=n[1],a[2][0]=n[2],o(a[0][1],a[1][1],a[2][1],p,n),a[1][1]=n[1],a[2][1]=n[2]}G(u[0],a[0]),G(u[1],a[2]),G(u[2],a[1])}else{if(G(r[0],d[0]),G(r[1],d[1]),U(s,r[1],r[0]),q(s,s),h&&"none"!==h){f=i(t.node1);Z(r[0],r[0],s,f*e)}if(c&&"none"!==c){f=i(t.node2);Z(r[1],r[1],s,-f*e)}G(u[0],r[0]),G(u[1],r[1])}})},HL="__focusNodeAdjacency",ZL=["itemStyle","opacity"],UL=["lineStyle","opacity"];Zs({type:"graph",init:function(t,e){var i=new Du,n=new sf,o=this.group;this._controller=new oc(e.getZr()),this._controllerHost={target:o},o.add(i.group),o.add(n.group),this._symbolDraw=i,this._lineDraw=n,this._firstRender=!0},render:function(t,e,i){var n=t.coordinateSystem;this._model=t,this._nodeScaleRatio=t.get("nodeScaleRatio");var o=this._symbolDraw,a=this._lineDraw,r=this.group;if("view"===n.type){var s={position:n.position,scale:n.scale};this._firstRender?r.attr(s):Io(r,s,t)}WL(t.getGraph(),this._getNodeGlobalScale(t));var l=t.getData();o.updateData(l);var u=t.getEdgeData();a.updateData(u),this._updateNodeAndLinkScale(),this._updateController(t,e,i),clearTimeout(this._layoutTimeout);var h=t.forceLayout,c=t.get("force.layoutAnimation");h&&this._startForceLayoutIteration(h,c),l.eachItemGraphicEl(function(e,n){var o=l.getItemModel(n);e.off("drag").off("dragend");var a=o.get("draggable");a&&e.on("drag",function(){h&&(h.warmUp(),!this._layouting&&this._startForceLayoutIteration(h,c),h.setFixed(n),l.setItemLayout(n,e.position))},this).on("dragend",function(){h&&h.setUnfixed(n)},this),e.setDraggable(a&&h),e[HL]&&e.off("mouseover",e[HL]),e.__unfocusNodeAdjacency&&e.off("mouseout",e.__unfocusNodeAdjacency),o.get("focusNodeAdjacency")&&(e.on("mouseover",e[HL]=function(){i.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,dataIndex:e.dataIndex})}),e.on("mouseout",e.__unfocusNodeAdjacency=function(){i.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))},this),l.graph.eachEdge(function(e){var n=e.getGraphicEl();n[HL]&&n.off("mouseover",n[HL]),n.__unfocusNodeAdjacency&&n.off("mouseout",n.__unfocusNodeAdjacency),e.getModel().get("focusNodeAdjacency")&&(n.on("mouseover",n[HL]=function(){i.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,edgeDataIndex:e.dataIndex})}),n.on("mouseout",n.__unfocusNodeAdjacency=function(){i.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))});var d="circular"===t.get("layout")&&t.get("circular.rotateLabel"),f=l.getLayout("cx"),p=l.getLayout("cy");l.eachItemGraphicEl(function(t,e){var i=t.getSymbolPath();if(d){var n=l.getItemLayout(e),o=Math.atan2(n[1]-p,n[0]-f);o<0&&(o=2*Math.PI+o);var a=n[0]<f;a&&(o-=Math.PI);var r=a?"left":"right";i.setStyle({textRotation:-o,textPosition:r,textOrigin:"center"}),i.hoverStyle&&(i.hoverStyle.textPosition=r)}else i.setStyle({textRotation:0})}),this._firstRender=!1},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},focusNodeAdjacency:function(t,e,i,n){var o=this._model.getData().graph,a=n.dataIndex,r=n.edgeDataIndex,s=o.getNodeByIndex(a),l=o.getEdgeByIndex(r);(s||l)&&(o.eachNode(function(t){gf(t,ZL,.1)}),o.eachEdge(function(t){gf(t,UL,.1)}),s&&(mf(s,ZL),d(s.edges,function(t){t.dataIndex<0||(mf(t,UL),mf(t.node1,ZL),mf(t.node2,ZL))})),l&&(mf(l,UL),mf(l.node1,ZL),mf(l.node2,ZL)))},unfocusNodeAdjacency:function(t,e,i,n){var o=this._model.getData().graph;o.eachNode(function(t){gf(t,ZL)}),o.eachEdge(function(t){gf(t,UL)})},_startForceLayoutIteration:function(t,e){var i=this;!function n(){t.step(function(t){i.updateLayout(i._model),(i._layouting=!t)&&(e?i._layoutTimeout=setTimeout(n,16):n())})}()},_updateController:function(t,e,i){var n=this._controller,o=this._controllerHost,a=this.group;n.setPointerChecker(function(e,n,o){var r=a.getBoundingRect();return r.applyTransform(a.transform),r.contain(n,o)&&!gc(e,i,t)}),"view"===t.coordinateSystem.type?(n.enable(t.get("roam")),o.zoomLimit=t.get("scaleLimit"),o.zoom=t.coordinateSystem.getZoom(),n.off("pan").off("zoom").on("pan",function(e){fc(o,e.dx,e.dy),i.dispatchAction({seriesId:t.id,type:"graphRoam",dx:e.dx,dy:e.dy})}).on("zoom",function(e){pc(o,e.scale,e.originX,e.originY),i.dispatchAction({seriesId:t.id,type:"graphRoam",zoom:e.scale,originX:e.originX,originY:e.originY}),this._updateNodeAndLinkScale(),WL(t.getGraph(),this._getNodeGlobalScale(t)),this._lineDraw.updateLayout()},this)):n.disable()},_updateNodeAndLinkScale:function(){var t=this._model,e=t.getData(),i=this._getNodeGlobalScale(t),n=[i,i];e.eachItemGraphicEl(function(t,e){t.attr("scale",n)})},_getNodeGlobalScale:function(t){var e=t.coordinateSystem;if("view"!==e.type)return 1;var i=this._nodeScaleRatio,n=e.scale,o=n&&n[0]||1;return((e.getZoom()-1)*i+1)/o},updateLayout:function(t){WL(t.getGraph(),this._getNodeGlobalScale(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()}}),Es({type:"focusNodeAdjacency",event:"focusNodeAdjacency",update:"series:focusNodeAdjacency"},function(){}),Es({type:"unfocusNodeAdjacency",event:"unfocusNodeAdjacency",update:"series:unfocusNodeAdjacency"},function(){}),Es({type:"graphRoam",event:"graphRoam",update:"none"},function(t,e){e.eachComponent({mainType:"series",query:t},function(e){var i=bc(e.coordinateSystem,t);e.setCenter&&e.setCenter(i.center),e.setZoom&&e.setZoom(i.zoom)})});var XL=Z;Os(function(t){var e=t.findComponents({mainType:"legend"});e&&e.length&&t.eachSeriesByType("graph",function(t){var i=t.getCategoriesData(),n=t.getGraph().data,o=i.mapArray(i.getName);n.filterSelf(function(t){var i=n.getItemModel(t).getShallow("category");if(null!=i){"number"==typeof i&&(i=o[i]);for(var a=0;a<e.length;a++)if(!e[a].isSelected(i))return!1}return!0})},this)}),Bs(TD("graph","circle",null)),Bs(function(t){var e={};t.eachSeriesByType("graph",function(t){var i=t.getCategoriesData(),n=t.getData(),o={};i.each(function(n){var a=i.getName(n);o["ec-"+a]=n;var r=i.getItemModel(n).get("itemStyle.color")||t.getColorFromPalette(a,e);i.setItemVisual(n,"color",r)}),i.count()&&n.each(function(t){var e=n.getItemModel(t).getShallow("category");null!=e&&("string"==typeof e&&(e=o["ec-"+e]),n.getItemVisual(t,"color",!0)||n.setItemVisual(t,"color",i.getItemVisual(e,"color")))})})}),Bs(function(t){t.eachSeriesByType("graph",function(t){var e=t.getGraph(),i=t.getEdgeData(),n=vf(t.get("edgeSymbol")),o=vf(t.get("edgeSymbolSize")),a="lineStyle.color".split("."),r="lineStyle.opacity".split(".");i.setVisual("fromSymbol",n&&n[0]),i.setVisual("toSymbol",n&&n[1]),i.setVisual("fromSymbolSize",o&&o[0]),i.setVisual("toSymbolSize",o&&o[1]),i.setVisual("color",t.get(a)),i.setVisual("opacity",t.get(r)),i.each(function(t){var n=i.getItemModel(t),o=e.getEdgeByIndex(t),s=vf(n.getShallow("symbol",!0)),l=vf(n.getShallow("symbolSize",!0)),u=n.get(a),h=n.get(r);switch(u){case"source":u=o.node1.getVisual("color");break;case"target":u=o.node2.getVisual("color")}s[0]&&o.setVisual("fromSymbol",s[0]),s[1]&&o.setVisual("toSymbol",s[1]),l[0]&&o.setVisual("fromSymbolSize",l[0]),l[1]&&o.setVisual("toSymbolSize",l[1]),o.setVisual("color",u),o.setVisual("opacity",h)})})}),zs(function(t,e){t.eachSeriesByType("graph",function(t){var e=t.get("layout"),i=t.coordinateSystem;if(i&&"view"!==i.type){var n=t.getData(),o=[];d(i.dimensions,function(t){o=o.concat(n.mapDimension(t,!0))});for(var a=0;a<n.count();a++){for(var r=[],s=!1,l=0;l<o.length;l++){var u=n.get(o[l],a);isNaN(u)||(s=!0),r.push(u)}s?n.setItemLayout(a,i.dataToPoint(r)):n.setItemLayout(a,[NaN,NaN])}xf(n.graph)}else e&&"none"!==e||yf(t)})}),zs(function(t){t.eachSeriesByType("graph",function(t){"circular"===t.get("layout")&&_f(t)})}),zs(function(t){t.eachSeriesByType("graph",function(t){var e=t.coordinateSystem;if(!e||"view"===e.type)if("force"===t.get("layout")){var i=t.preservedPoints||{},n=t.getGraph(),o=n.data,a=n.edgeData,r=t.getModel("force"),s=r.get("initLayout");t.preservedPoints?o.each(function(t){var e=o.getId(t);o.setItemLayout(t,i[e]||[NaN,NaN])}):s&&"none"!==s?"circular"===s&&_f(t):yf(t);var l=o.getDataExtent("value"),u=a.getDataExtent("value"),h=r.get("repulsion"),c=r.get("edgeLength");y(h)||(h=[h,h]),y(c)||(c=[c,c]),c=[c[1],c[0]];var d=o.mapArray("value",function(t,e){var i=o.getItemLayout(e),n=Bo(t,l,h);return isNaN(n)&&(n=(h[0]+h[1])/2),{w:n,rep:n,fixed:o.getItemModel(e).get("fixed"),p:!i||isNaN(i[0])||isNaN(i[1])?null:i}}),f=a.mapArray("value",function(t,e){var i=n.getEdgeByIndex(e),o=Bo(t,u,c);return isNaN(o)&&(o=(c[0]+c[1])/2),{n1:d[i.node1.dataIndex],n2:d[i.node2.dataIndex],d:o,curveness:i.getModel().get("lineStyle.curveness")||0}}),p=(e=t.coordinateSystem).getBoundingRect(),g=wf(d,f,{rect:p,gravity:r.get("gravity")}),m=g.step;g.step=function(t){for(var e=0,a=d.length;e<a;e++)d[e].fixed&&G(d[e].p,n.getNodeByIndex(e).getLayout());m(function(e,a,r){for(var s=0,l=e.length;s<l;s++)e[s].fixed||n.getNodeByIndex(s).setLayout(e[s].p),i[o.getId(s)]=e[s].p;for(var s=0,l=a.length;s<l;s++){var u=a[s],h=n.getEdgeByIndex(s),c=u.n1.p,d=u.n2.p,f=h.getLayout();(f=f?f.slice():[])[0]=f[0]||[],f[1]=f[1]||[],G(f[0],c),G(f[1],d),+u.curveness&&(f[2]=[(c[0]+d[0])/2-(c[1]-d[1])*u.curveness,(c[1]+d[1])/2-(d[0]-c[0])*u.curveness]),h.setLayout(f)}t&&t(r)})},t.forceLayout=g,t.preservedPoints=i,g.step()}else t.forceLayout=null})}),Rs("graphView",{create:function(t,e){var i=[];return t.eachSeriesByType("graph",function(t){var n=t.get("coordinateSystem");if(!n||"view"===n){var o=t.getData(),a=[],r=[];fn(o.mapArray(function(t){var e=o.getItemModel(t);return[+e.get("x"),+e.get("y")]}),a,r),r[0]-a[0]==0&&(r[0]+=1,a[0]-=1),r[1]-a[1]==0&&(r[1]+=1,a[1]-=1);var s=(r[0]-a[0])/(r[1]-a[1]),l=bf(t,e,s);isNaN(s)&&(a=[l.x,l.y],r=[l.x+l.width,l.y+l.height]);var u=r[0]-a[0],h=r[1]-a[1],c=l.width,d=l.height,f=t.coordinateSystem=new Mc;f.zoomLimit=t.get("scaleLimit"),f.setBoundingRect(a[0],a[1],u,h),f.setViewRect(l.x,l.y,c,d),f.setCenter(t.get("center")),f.setZoom(t.get("zoom")),i.push(f)}}),i}});YI.extend({type:"series.gauge",getInitialData:function(t,e){var i=t.data||[];return y(i)||(i=[i]),t.data=i,oC(this,["value"])},defaultOption:{zlevel:0,z:2,center:["50%","50%"],legendHoverLink:!0,radius:"75%",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,lineStyle:{color:[[.2,"#91c7ae"],[.8,"#63869e"],[1,"#c23531"]],width:30}},splitLine:{show:!0,length:30,lineStyle:{color:"#eee",width:2,type:"solid"}},axisTick:{show:!0,splitNumber:5,length:8,lineStyle:{color:"#eee",width:1,type:"solid"}},axisLabel:{show:!0,distance:5,color:"auto"},pointer:{show:!0,length:"80%",width:8},itemStyle:{color:"auto"},title:{show:!0,offsetCenter:[0,"-40%"],color:"#333",fontSize:15},detail:{show:!0,backgroundColor:"rgba(0,0,0,0)",borderWidth:0,borderColor:"#ccc",width:100,height:null,padding:[5,10],offsetCenter:[0,"40%"],color:"auto",fontSize:30}}});var jL=Pn.extend({type:"echartsGaugePointer",shape:{angle:0,width:10,r:10,x:0,y:0},buildPath:function(t,e){var i=Math.cos,n=Math.sin,o=e.r,a=e.width,r=e.angle,s=e.x-i(r)*a*(a>=o/3?1:2),l=e.y-n(r)*a*(a>=o/3?1:2);r=e.angle-Math.PI/2,t.moveTo(s,l),t.lineTo(e.x+i(r)*a,e.y+n(r)*a),t.lineTo(e.x+i(e.angle)*o,e.y+n(e.angle)*o),t.lineTo(e.x-i(r)*a,e.y-n(r)*a),t.lineTo(s,l)}}),YL=2*Math.PI,qL=(Ar.extend({type:"gauge",render:function(t,e,i){this.group.removeAll();var n=t.get("axisLine.lineStyle.color"),o=Sf(t,i);this._renderMain(t,e,i,n,o)},dispose:function(){},_renderMain:function(t,e,i,n,o){for(var a=this.group,r=t.getModel("axisLine").getModel("lineStyle"),s=t.get("clockwise"),l=-t.get("startAngle")/180*Math.PI,u=-t.get("endAngle")/180*Math.PI,h=(u-l)%YL,c=l,d=r.get("width"),f=0;f<n.length;f++){var p=Math.min(Math.max(n[f][0],0),1),g=new hM({shape:{startAngle:c,endAngle:u=l+h*p,cx:o.cx,cy:o.cy,clockwise:s,r0:o.r-d,r:o.r},silent:!0});g.setStyle({fill:n[f][1]}),g.setStyle(r.getLineStyle(["color","borderWidth","borderColor"])),a.add(g),c=u}var m=function(t){if(t<=0)return n[0][1];for(var e=0;e<n.length;e++)if(n[e][0]>=t&&(0===e?0:n[e-1][0])<t)return n[e][1];return n[e-1][1]};if(!s){var v=l;l=u,u=v}this._renderTicks(t,e,i,m,o,l,u,s),this._renderPointer(t,e,i,m,o,l,u,s),this._renderTitle(t,e,i,m,o),this._renderDetail(t,e,i,m,o)},_renderTicks:function(t,e,i,n,o,a,r,s){for(var l=this.group,u=o.cx,h=o.cy,c=o.r,d=+t.get("min"),f=+t.get("max"),p=t.getModel("splitLine"),g=t.getModel("axisTick"),m=t.getModel("axisLabel"),v=t.get("splitNumber"),y=g.get("splitNumber"),x=Vo(p.get("length"),c),_=Vo(g.get("length"),c),w=a,b=(r-a)/v,S=b/y,M=p.getModel("lineStyle").getLineStyle(),I=g.getModel("lineStyle").getLineStyle(),T=0;T<=v;T++){var A=Math.cos(w),D=Math.sin(w);if(p.get("show")){var C=new _M({shape:{x1:A*c+u,y1:D*c+h,x2:A*(c-x)+u,y2:D*(c-x)+h},style:M,silent:!0});"auto"===M.stroke&&C.setStyle({stroke:n(T/v)}),l.add(C)}if(m.get("show")){var L=Mf(Go(T/v*(f-d)+d),m.get("formatter")),k=m.get("distance"),P=n(T/v);l.add(new rM({style:mo({},m,{text:L,x:A*(c-x-k)+u,y:D*(c-x-k)+h,textVerticalAlign:D<-.4?"top":D>.4?"bottom":"middle",textAlign:A<-.4?"left":A>.4?"right":"center"},{autoColor:P}),silent:!0}))}if(g.get("show")&&T!==v){for(var N=0;N<=y;N++){var A=Math.cos(w),D=Math.sin(w),O=new _M({shape:{x1:A*c+u,y1:D*c+h,x2:A*(c-_)+u,y2:D*(c-_)+h},silent:!0,style:I});"auto"===I.stroke&&O.setStyle({stroke:n((T+N/y)/v)}),l.add(O),w+=S}w-=S}else w+=b}},_renderPointer:function(t,e,i,n,o,a,r,s){var l=this.group,u=this._data;if(t.get("pointer.show")){var h=[+t.get("min"),+t.get("max")],c=[a,r],d=t.getData(),f=d.mapDimension("value");d.diff(u).add(function(e){var i=new jL({shape:{angle:a}});To(i,{shape:{angle:Bo(d.get(f,e),h,c,!0)}},t),l.add(i),d.setItemGraphicEl(e,i)}).update(function(e,i){var n=u.getItemGraphicEl(i);Io(n,{shape:{angle:Bo(d.get(f,e),h,c,!0)}},t),l.add(n),d.setItemGraphicEl(e,n)}).remove(function(t){var e=u.getItemGraphicEl(t);l.remove(e)}).execute(),d.eachItemGraphicEl(function(t,e){var i=d.getItemModel(e),a=i.getModel("pointer");t.setShape({x:o.cx,y:o.cy,width:Vo(a.get("width"),o.r),r:Vo(a.get("length"),o.r)}),t.useStyle(i.getModel("itemStyle").getItemStyle()),"auto"===t.style.fill&&t.setStyle("fill",n(Bo(d.get(f,e),h,[0,1],!0))),fo(t,i.getModel("emphasis.itemStyle").getItemStyle())}),this._data=d}else u&&u.eachItemGraphicEl(function(t){l.remove(t)})},_renderTitle:function(t,e,i,n,o){var a=t.getData(),r=a.mapDimension("value"),s=t.getModel("title");if(s.get("show")){var l=s.get("offsetCenter"),u=o.cx+Vo(l[0],o.r),h=o.cy+Vo(l[1],o.r),c=+t.get("min"),d=+t.get("max"),f=n(Bo(t.getData().get(r,0),[c,d],[0,1],!0));this.group.add(new rM({silent:!0,style:mo({},s,{x:u,y:h,text:a.getName(0),textAlign:"center",textVerticalAlign:"middle"},{autoColor:f,forceRich:!0})}))}},_renderDetail:function(t,e,i,n,o){var a=t.getModel("detail"),r=+t.get("min"),s=+t.get("max");if(a.get("show")){var l=a.get("offsetCenter"),u=o.cx+Vo(l[0],o.r),h=o.cy+Vo(l[1],o.r),c=Vo(a.get("width"),o.r),d=Vo(a.get("height"),o.r),f=t.getData(),p=f.get(f.mapDimension("value"),0),g=n(Bo(p,[r,s],[0,1],!0));this.group.add(new rM({silent:!0,style:mo({},a,{x:u,y:h,text:Mf(p,a.get("formatter")),textWidth:isNaN(c)?null:c,textHeight:isNaN(d)?null:d,textAlign:"center",textVerticalAlign:"middle"},{autoColor:g,forceRich:!0})}))}}}),Hs({type:"series.funnel",init:function(t){qL.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()},this._defaultLabelLine(t)},getInitialData:function(t,e){return oC(this,["value"])},_defaultLabelLine:function(t){Ci(t,"labelLine",["show"]);var e=t.labelLine,i=t.emphasis.labelLine;e.show=e.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},getDataParams:function(t){var e=this.getData(),i=qL.superCall(this,"getDataParams",t),n=e.mapDimension("value"),o=e.getSum(n);return i.percent=o?+(e.get(n,t)/o*100).toFixed(2):0,i.$vars.push("percent"),i},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:"0%",maxSize:"100%",sort:"descending",gap:0,funnelAlign:"center",label:{show:!0,position:"outer"},labelLine:{show:!0,length:20,lineStyle:{width:1,type:"solid"}},itemStyle:{borderColor:"#fff",borderWidth:1},emphasis:{label:{show:!0}}}})),KL=If.prototype,$L=["itemStyle","opacity"];KL.updateData=function(t,e,i){var n=this.childAt(0),o=t.hostModel,a=t.getItemModel(e),s=t.getItemLayout(e),l=t.getItemModel(e).get($L);l=null==l?1:l,n.useStyle({}),i?(n.setShape({points:s.points}),n.setStyle({opacity:0}),To(n,{style:{opacity:l}},o,e)):Io(n,{style:{opacity:l},shape:{points:s.points}},o,e);var u=a.getModel("itemStyle"),h=t.getItemVisual(e,"color");n.setStyle(r({lineJoin:"round",fill:h},u.getItemStyle(["opacity"]))),n.hoverStyle=u.getModel("emphasis").getItemStyle(),this._updateLabel(t,e),fo(this)},KL._updateLabel=function(t,e){var i=this.childAt(1),n=this.childAt(2),o=t.hostModel,a=t.getItemModel(e),r=t.getItemLayout(e).label,s=t.getItemVisual(e,"color");Io(i,{shape:{points:r.linePoints||r.linePoints}},o,e),Io(n,{style:{x:r.x,y:r.y}},o,e),n.attr({rotation:r.rotation,origin:[r.x,r.y],z2:10});var l=a.getModel("label"),u=a.getModel("emphasis.label"),h=a.getModel("labelLine"),c=a.getModel("emphasis.labelLine"),s=t.getItemVisual(e,"color");go(n.style,n.hoverStyle={},l,u,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:t.getName(e),autoColor:s,useInsideStyle:!!r.inside},{textAlign:r.textAlign,textVerticalAlign:r.verticalAlign}),n.ignore=n.normalIgnore=!l.get("show"),n.hoverIgnore=!u.get("show"),i.ignore=i.normalIgnore=!h.get("show"),i.hoverIgnore=!c.get("show"),i.setStyle({stroke:s}),i.setStyle(h.getModel("lineStyle").getLineStyle()),i.hoverStyle=c.getModel("lineStyle").getLineStyle()},u(If,tb);Ar.extend({type:"funnel",render:function(t,e,i){var n=t.getData(),o=this._data,a=this.group;n.diff(o).add(function(t){var e=new If(n,t);n.setItemGraphicEl(t,e),a.add(e)}).update(function(t,e){var i=o.getItemGraphicEl(e);i.updateData(n,t),a.add(i),n.setItemGraphicEl(t,i)}).remove(function(t){var e=o.getItemGraphicEl(t);a.remove(e)}).execute(),this._data=n},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});Bs(uC("funnel")),zs(function(t,e,i){t.eachSeriesByType("funnel",function(t){var i=t.getData(),n=i.mapDimension("value"),o=t.get("sort"),a=Tf(t,e),r=Af(i,o),s=[Vo(t.get("minSize"),a.width),Vo(t.get("maxSize"),a.width)],l=i.getDataExtent(n),u=t.get("min"),h=t.get("max");null==u&&(u=Math.min(l[0],0)),null==h&&(h=l[1]);var c=t.get("funnelAlign"),d=t.get("gap"),f=(a.height-d*(i.count()-1))/i.count(),p=a.y,g=function(t,e){var o,r=Bo(i.get(n,t)||0,[u,h],s,!0);switch(c){case"left":o=a.x;break;case"center":o=a.x+(a.width-r)/2;break;case"right":o=a.x+a.width-r}return[[o,e],[o+r,e]]};"ascending"===o&&(f=-f,d=-d,p+=a.height,r=r.reverse());for(var m=0;m<r.length;m++){var v=r[m],y=r[m+1],x=i.getItemModel(v).get("itemStyle.height");null==x?x=f:(x=Vo(x,a.height),"ascending"===o&&(x=-x));var _=g(v,p),w=g(y,p+x);p+=x+d,i.setItemLayout(v,{points:_.concat(w.slice().reverse())})}Df(i)})}),Os(fC("funnel"));var JL=function(t,e,i,n,o){aD.call(this,t,e,i),this.type=n||"value",this.axisIndex=o};JL.prototype={constructor:JL,model:null,isHorizontal:function(){return"horizontal"!==this.coordinateSystem.getModel().get("layout")}},u(JL,aD);var QL=function(t,e,i,n,o,a){e[0]=Pf(e[0],i),e[1]=Pf(e[1],i),t=t||0;var r=i[1]-i[0];null!=o&&(o=Pf(o,[0,r])),null!=a&&(a=Math.max(a,null!=o?o:0)),"all"===n&&(o=a=Math.abs(e[1]-e[0]),n=0);var s=kf(e,n);e[n]+=t;var l=o||0,u=i.slice();s.sign<0?u[0]+=l:u[1]-=l,e[n]=Pf(e[n],u);h=kf(e,n);null!=o&&(h.sign!==s.sign||h.span<o)&&(e[1-n]=e[n]+s.sign*o);var h=kf(e,n);return null!=a&&h.span>a&&(e[1-n]=e[n]+h.sign*a),e},tk=d,ek=Math.min,ik=Math.max,nk=Math.floor,ok=Math.ceil,ak=Go,rk=Math.PI;Nf.prototype={type:"parallel",constructor:Nf,_init:function(t,e,i){var n=t.dimensions,o=t.parallelAxisIndex;tk(n,function(t,i){var n=o[i],a=e.getComponent("parallelAxis",n),r=this._axesMap.set(t,new JL(t,Hl(a),[0,0],a.get("type"),n)),s="category"===r.type;r.onBand=s&&a.get("boundaryGap"),r.inverse=a.get("inverse"),a.axis=r,r.model=a,r.coordinateSystem=a.coordinateSystem=this},this)},update:function(t,e){this._updateAxesFromSeries(this._model,t)},containPoint:function(t){var e=this._makeLayoutInfo(),i=e.axisBase,n=e.layoutBase,o=e.pixelDimIndex,a=t[1-o],r=t[o];return a>=i&&a<=i+e.axisLength&&r>=n&&r<=n+e.layoutLength},getModel:function(){return this._model},_updateAxesFromSeries:function(t,e){e.eachSeries(function(i){if(t.contains(i,e)){var n=i.getData();tk(this.dimensions,function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(n,n.mapDimension(t)),Wl(e.scale,e.model)},this)}},this)},resize:function(t,e){this._rect=ca(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},getRect:function(){return this._rect},_makeLayoutInfo:function(){var t,e=this._model,i=this._rect,n=["x","y"],o=["width","height"],a=e.get("layout"),r="horizontal"===a?0:1,s=i[o[r]],l=[0,s],u=this.dimensions.length,h=Of(e.get("axisExpandWidth"),l),c=Of(e.get("axisExpandCount")||0,[0,u]),d=e.get("axisExpandable")&&u>3&&u>c&&c>1&&h>0&&s>0,f=e.get("axisExpandWindow");f?(t=Of(f[1]-f[0],l),f[1]=f[0]+t):(t=Of(h*(c-1),l),(f=[h*(e.get("axisExpandCenter")||nk(u/2))-t/2])[1]=f[0]+t);var p=(s-t)/(u-c);p<3&&(p=0);var g=[nk(ak(f[0]/h,1))+1,ok(ak(f[1]/h,1))-1],m=p/h*f[0];return{layout:a,pixelDimIndex:r,layoutBase:i[n[r]],layoutLength:s,axisBase:i[n[1-r]],axisLength:i[o[1-r]],axisExpandable:d,axisExpandWidth:h,axisCollapseWidth:p,axisExpandWindow:f,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:m}},_layoutAxes:function(){var t=this._rect,e=this._axesMap,i=this.dimensions,n=this._makeLayoutInfo(),o=n.layout;e.each(function(t){var e=[0,n.axisLength],i=t.inverse?1:0;t.setExtent(e[i],e[1-i])}),tk(i,function(e,i){var a=(n.axisExpandable?Rf:Ef)(i,n),r={horizontal:{x:a.position,y:n.axisLength},vertical:{x:0,y:a.position}},s={horizontal:rk/2,vertical:0},l=[r[o].x+t.x,r[o].y+t.y],u=s[o],h=xt();Mt(h,h,u),St(h,h,l),this._axesLayout[e]={position:l,rotation:u,transform:h,axisNameAvailableWidth:a.axisNameAvailableWidth,axisLabelShow:a.axisLabelShow,nameTruncateMaxWidth:a.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},getAxis:function(t){return this._axesMap.get(t)},dataToPoint:function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},eachActiveState:function(t,e,i,n){null==i&&(i=0),null==n&&(n=t.count());var o=this._axesMap,a=this.dimensions,r=[],s=[];d(a,function(e){r.push(t.mapDimension(e)),s.push(o.get(e).model)});for(var l=this.hasAxisBrushed(),u=i;u<n;u++){var h;if(l){h="active";for(var c=t.getValues(r,u),f=0,p=a.length;f<p;f++)if("inactive"===s[f].getActiveState(c[f])){h="inactive";break}}else h="normal";e(h,u)}},hasAxisBrushed:function(){for(var t=this.dimensions,e=this._axesMap,i=!1,n=0,o=t.length;n<o;n++)"normal"!==e.get(t[n]).model.getActiveState()&&(i=!0);return i},axisCoordToPoint:function(t,e){return Do([t,0],this._axesLayout[e].transform)},getAxisLayout:function(t){return i(this._axesLayout[t])},getSlidedAxisExpandWindow:function(t){var e=this._makeLayoutInfo(),i=e.pixelDimIndex,n=e.axisExpandWindow.slice(),o=n[1]-n[0],a=[0,e.axisExpandWidth*(e.axisCount-1)];if(!this.containPoint(t))return{behavior:"none",axisExpandWindow:n};var r,s=t[i]-e.layoutBase-e.axisExpandWindow0Pos,l="slide",u=e.axisCollapseWidth,h=this._model.get("axisExpandSlideTriggerArea"),c=null!=h[0];if(u)c&&u&&s<o*h[0]?(l="jump",r=s-o*h[2]):c&&u&&s>o*(1-h[0])?(l="jump",r=s-o*(1-h[2])):(r=s-o*h[1])>=0&&(r=s-o*(1-h[1]))<=0&&(r=0),(r*=e.axisExpandWidth/u)?QL(r,n,a,"all"):l="none";else{o=n[1]-n[0];(n=[ik(0,a[1]*s/o-o/2)])[1]=ek(a[1],n[0]+o),n[0]=n[1]-o}return{axisExpandWindow:n,behavior:l}}},Fa.register("parallel",{create:function(t,e){var i=[];return t.eachComponent("parallel",function(n,o){var a=new Nf(n,t,e);a.name="parallel_"+o,a.resize(n,e),n.coordinateSystem=a,a.model=n,i.push(a)}),t.eachSeries(function(e){if("parallel"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"parallel",index:e.get("parallelIndex"),id:e.get("parallelId")})[0];e.coordinateSystem=i.coordinateSystem}}),i}});var sk=lI.extend({type:"baseParallelAxis",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return Qb([["fill","color"],["lineWidth","borderWidth"],["stroke","borderColor"],["width","width"],["opacity","opacity"]])(this.getModel("areaSelectStyle"))},setActiveIntervals:function(t){var e=this.activeIntervals=i(t);if(e)for(var n=e.length-1;n>=0;n--)Fo(e[n])},getActiveState:function(t){var e=this.activeIntervals;if(!e.length)return"normal";if(null==t||isNaN(t))return"inactive";if(1===e.length){var i=e[0];if(i[0]<=t&&t<=i[1])return"active"}else for(var n=0,o=e.length;n<o;n++)if(e[n][0]<=t&&t<=e[n][1])return"active";return"inactive"}}),lk={type:"value",dim:null,areaSelectStyle:{width:20,borderWidth:1,borderColor:"rgba(160,197,232)",color:"rgba(160,197,232)",opacity:.3},realtime:!0,z:10};n(sk.prototype,UA),ED("parallel",sk,function(t,e){return e.type||(e.data?"category":"value")},lk),lI.extend({type:"parallel",dependencies:["parallelAxis"],coordinateSystem:null,dimensions:null,parallelAxisIndex:null,layoutMode:"box",defaultOption:{zlevel:0,z:0,left:80,top:60,right:80,bottom:60,layout:"horizontal",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:"click",parallelAxisDefault:null},init:function(){lI.prototype.init.apply(this,arguments),this.mergeOption({})},mergeOption:function(t){var e=this.option;t&&n(e,t,!0),this._initDimensions()},contains:function(t,e){var i=t.get("parallelIndex");return null!=i&&e.getComponent("parallel",i)===this},setAxisExpand:function(t){d(["axisExpandable","axisExpandCenter","axisExpandCount","axisExpandWidth","axisExpandWindow"],function(e){t.hasOwnProperty(e)&&(this.option[e]=t[e])},this)},_initDimensions:function(){var t=this.dimensions=[],e=this.parallelAxisIndex=[];d(g(this.dependentModels.parallelAxis,function(t){return(t.get("parallelIndex")||0)===this.componentIndex},this),function(i){t.push("dim"+i.get("dim")),e.push(i.componentIndex)})}}),Es({type:"axisAreaSelect",event:"axisAreaSelected"},function(t,e){e.eachComponent({mainType:"parallelAxis",query:t},function(e){e.axis.model.setActiveIntervals(t.intervals)})}),Es("parallelAxisExpand",function(t,e){e.eachComponent({mainType:"parallel",query:t},function(e){e.setAxisExpand(t)})});var uk=v,hk=d,ck=f,dk=Math.min,fk=Math.max,pk=Math.pow,gk=1e4,mk=6,vk=6,yk="globalPan",xk={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},_k={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},wk={brushStyle:{lineWidth:2,stroke:"rgba(0,0,0,0.3)",fill:"rgba(0,0,0,0.1)"},transformable:!0,brushMode:"single",removeOnClick:!1},bk=0;zf.prototype={constructor:zf,enableBrush:function(t){return this._brushType&&Vf(this),t.brushType&&Bf(this,t),this},setPanels:function(t){if(t&&t.length){var e=this._panels={};d(t,function(t){e[t.panelId]=i(t)})}else this._panels=null;return this},mount:function(t){t=t||{},this._enableGlobalPan=t.enableGlobalPan;var e=this.group;return this._zr.add(e),e.attr({position:t.position||[0,0],rotation:t.rotation||0,scale:t.scale||[1,1]}),this._transform=e.getLocalTransform(),this},eachCover:function(t,e){hk(this._covers,t,e)},updateCovers:function(t){function e(t,e){return(null!=t.id?t.id:a+e)+"-"+t.brushType}function o(e,i){var n=t[e];if(null!=i&&r[i]===u)s[e]=r[i];else{var o=s[e]=null!=i?(r[i].__brushOption=n,r[i]):Ff(l,Gf(l,n));Zf(l,o)}}t=f(t,function(t){return n(i(wk),t,!0)});var a="\0-brush-index-",r=this._covers,s=this._covers=[],l=this,u=this._creatingCover;return new Xs(r,t,function(t,i){return e(t.__brushOption,i)},e).add(o).update(o).remove(function(t){r[t]!==u&&l.group.remove(r[t])}).execute(),this},unmount:function(){return this.enableBrush(!1),Yf(this),this._zr.remove(this.group),this},dispose:function(){this.unmount(),this.off()}},h(zf,fw);var Sk={mousedown:function(t){if(this._dragging)mp.call(this,t);else if(!t.target||!t.target.draggable){dp(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null,(this._creatingPanel=Xf(this,t,e))&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);if(cp(this,t,e),this._dragging){dp(t);var i=pp(this,t,e,!1);i&&qf(this,i)}},mouseup:mp},Mk={lineX:vp(0),lineY:vp(1),rect:{createCover:function(t,e){return Jf(uk(rp,function(t){return t},function(t){return t}),t,e,["w","e","n","s","se","sw","ne","nw"])},getCreatingRange:function(t){var e=$f(t);return np(e[1][0],e[1][1],e[0][0],e[0][1])},updateCoverShape:function(t,e,i,n){Qf(t,e,i,n)},updateCommon:tp,contain:fp},polygon:{createCover:function(t,e){var i=new tb;return i.add(new gM({name:"main",style:ip(e),silent:!0})),i},getCreatingRange:function(t){return t},endCreating:function(t,e){e.remove(e.childAt(0)),e.add(new pM({name:"main",draggable:!0,drift:uk(sp,t,e),ondragend:uk(qf,t,{isEnd:!0})}))},updateCoverShape:function(t,e,i,n){e.childAt(0).setShape({points:up(t,e,i)})},updateCommon:tp,contain:fp}},Ik=["axisLine","axisTickLabel","axisName"],Tk=Ws({type:"parallelAxis",init:function(t,e){Tk.superApply(this,"init",arguments),(this._brushController=new zf(e.getZr())).on("brush",m(this._onBrush,this))},render:function(t,e,i,n){if(!bp(t,e,n)){this.axisModel=t,this.api=i,this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new tb,this.group.add(this._axisGroup),t.get("show")){var r=Mp(t,e),s=r.coordinateSystem,l=t.getAreaSelectStyle(),u=l.width,h=t.axis.dim,c=a({strokeContainThreshold:u},s.getAxisLayout(h)),f=new FD(t,c);d(Ik,f.add,f),this._axisGroup.add(f.getGroup()),this._refreshBrushController(c,l,t,r,u,i);var p=n&&!1===n.animation?null:t;Lo(o,this._axisGroup,p)}}},_refreshBrushController:function(t,e,i,n,o,a){var r=i.axis.getExtent(),s=r[1]-r[0],l=Math.min(30,.1*Math.abs(s)),u=de.create({x:r[0],y:-o/2,width:s,height:o});u.x-=l,u.width+=2*l,this._brushController.mount({enableGlobalPan:!0,rotation:t.rotation,position:t.position}).setPanels([{panelId:"pl",clipPath:yp(u),isTargetByCursor:_p(u,a,n),getLinearBrushOtherExtent:xp(u,0)}]).enableBrush({brushType:"lineX",brushStyle:e,removeOnClick:!0}).updateCovers(Sp(i))},_onBrush:function(t,e){var i=this.axisModel,n=i.axis,o=f(t,function(t){return[n.coordToData(t.range[0],!0),n.coordToData(t.range[1],!0)]});(!i.option.realtime===e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"axisAreaSelect",parallelAxisId:i.id,intervals:o})},dispose:function(){this._brushController.dispose()}});Ws({type:"parallel",render:function(t,e,i){this._model=t,this._api=i,this._handlers||(this._handlers={},d(Ak,function(t,e){i.getZr().on(e,this._handlers[e]=m(t,this))},this)),Nr(this,"_throttledDispatchExpand",t.get("axisExpandRate"),"fixRate")},dispose:function(t,e){d(this._handlers,function(t,i){e.getZr().off(i,t)}),this._handlers=null},_throttledDispatchExpand:function(t){this._dispatchExpand(t)},_dispatchExpand:function(t){t&&this._api.dispatchAction(a({type:"parallelAxisExpand"},t))}});var Ak={mousedown:function(t){Ip(this,"click")&&(this._mouseDownPoint=[t.offsetX,t.offsetY])},mouseup:function(t){var e=this._mouseDownPoint;if(Ip(this,"click")&&e){var i=[t.offsetX,t.offsetY];if(Math.pow(e[0]-i[0],2)+Math.pow(e[1]-i[1],2)>5)return;var n=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);"none"!==n.behavior&&this._dispatchExpand({axisExpandWindow:n.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&Ip(this,"mousemove")){var e=this._model,i=e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]),n=i.behavior;"jump"===n&&this._throttledDispatchExpand.debounceNextCall(e.get("axisExpandDebounce")),this._throttledDispatchExpand("none"===n?null:{axisExpandWindow:i.axisExpandWindow,animation:"jump"===n&&null})}}};Ns(function(t){Cf(t),Lf(t)}),YI.extend({type:"series.parallel",dependencies:["parallel"],visualColorAccessPath:"lineStyle.color",getInitialData:function(t,e){var i=this.getSource();return Tp(i,this),ml(i,this)},getRawIndicesByActiveState:function(t){var e=this.coordinateSystem,i=this.getData(),n=[];return e.eachActiveState(i,function(e,o){t===e&&n.push(i.getRawIndex(o))}),n},defaultOption:{zlevel:0,z:2,coordinateSystem:"parallel",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:"solid"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:"linear"}});var Dk=.3,Ck=(Ar.extend({type:"parallel",init:function(){this._dataGroup=new tb,this.group.add(this._dataGroup),this._data,this._initialized},render:function(t,e,i,n){var o=this._dataGroup,a=t.getData(),r=this._data,s=t.coordinateSystem,l=s.dimensions,u=kp(t);if(a.diff(r).add(function(t){Pp(Lp(a,o,t,l,s),a,t,u)}).update(function(e,i){var o=r.getItemGraphicEl(i),h=Cp(a,e,l,s);a.setItemGraphicEl(e,o),Io(o,{shape:{points:h}},n&&!1===n.animation?null:t,e),Pp(o,a,e,u)}).remove(function(t){var e=r.getItemGraphicEl(t);o.remove(e)}).execute(),!this._initialized){this._initialized=!0;var h=Dp(s,t,function(){setTimeout(function(){o.removeClipPath()})});o.setClipPath(h)}this._data=a},incrementalPrepareRender:function(t,e,i){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},incrementalRender:function(t,e,i){for(var n=e.getData(),o=e.coordinateSystem,a=o.dimensions,r=kp(e),s=t.start;s<t.end;s++){var l=Lp(n,this._dataGroup,s,a,o);l.incremental=!0,Pp(l,n,s,r)}},dispose:function(){},remove:function(){this._dataGroup&&this._dataGroup.removeAll(),this._data=null}}),["lineStyle","normal","opacity"]);Bs({seriesType:"parallel",reset:function(t,e,i){var n=t.getModel("itemStyle"),o=t.getModel("lineStyle"),a=e.get("color"),r=o.get("color")||n.get("color")||a[t.seriesIndex%a.length],s=t.get("inactiveOpacity"),l=t.get("activeOpacity"),u=t.getModel("lineStyle").getLineStyle(),h=t.coordinateSystem,c=t.getData(),d={normal:u.opacity,active:l,inactive:s};return c.setVisual("color",r),{progress:function(t,e){h.eachActiveState(e,function(t,i){var n=d[t];if("normal"===t&&e.hasItemOption){var o=e.getItemModel(i).get(Ck,!0);null!=o&&(n=o)}e.setItemVisual(i,"opacity",n)},t.start,t.end)}}}});var Lk=YI.extend({type:"series.sankey",layoutInfo:null,getInitialData:function(t){var e=t.edges||t.links,i=t.data||t.nodes;if(i&&e)return DL(i,e,this,!0).data},setNodePosition:function(t,e){var i=this.option.data[t];i.localX=e[0],i.localY=e[1]},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},formatTooltip:function(t,e,i){if("edge"===i){var n=this.getDataParams(t,i),o=n.data,a=o.source+" -- "+o.target;return n.value&&(a+=" : "+n.value),ia(a)}return Lk.superCall(this,"formatTooltip",t,e)},optionUpdated:function(){var t=this.option;!0===t.focusNodeAdjacency&&(t.focusNodeAdjacency="allEdges")},defaultOption:{zlevel:0,z:2,coordinateSystem:"view",layout:null,left:"5%",top:"5%",right:"20%",bottom:"5%",orient:"horizontal",nodeWidth:20,nodeGap:8,draggable:!0,focusNodeAdjacency:!1,layoutIterations:32,label:{show:!0,position:"right",color:"#000",fontSize:12},itemStyle:{borderWidth:1,borderColor:"#333"},lineStyle:{color:"#314656",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.6}},animationEasing:"linear",animationDuration:1e3}}),kk=["itemStyle","opacity"],Pk=["lineStyle","opacity"],Nk=Un({shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,cpx2:0,cpy2:0,extent:0,orient:""},buildPath:function(t,e){var i=e.extent;"vertical"===e.orient?(t.moveTo(e.x1,e.y1),t.bezierCurveTo(e.cpx1,e.cpy1,e.cpx2,e.cpy2,e.x2,e.y2),t.lineTo(e.x2+i,e.y2),t.bezierCurveTo(e.cpx2+i,e.cpy2,e.cpx1+i,e.cpy1,e.x1+i,e.y1)):(t.moveTo(e.x1,e.y1),t.bezierCurveTo(e.cpx1,e.cpy1,e.cpx2,e.cpy2,e.x2,e.y2),t.lineTo(e.x2,e.y2+i),t.bezierCurveTo(e.cpx2,e.cpy2+i,e.cpx1,e.cpy1+i,e.x1,e.y1+i)),t.closePath()}});Zs({type:"sankey",_model:null,_focusAdjacencyDisabled:!1,render:function(t,e,i){var n=this,o=t.getGraph(),a=this.group,r=t.layoutInfo,s=r.width,l=r.height,u=t.getData(),h=t.getData("edge"),c=t.get("orient");this._model=t,a.removeAll(),a.attr("position",[r.x,r.y]),o.eachEdge(function(e){var i=new Nk;i.dataIndex=e.dataIndex,i.seriesIndex=t.seriesIndex,i.dataType="edge";var n,o,r,u,d,f,p,g,m=e.getModel("lineStyle"),v=m.get("curveness"),y=e.node1.getLayout(),x=e.node1.getModel(),_=x.get("localX"),w=x.get("localY"),b=e.node2.getLayout(),S=e.node2.getModel(),M=S.get("localX"),I=S.get("localY"),T=e.getLayout();switch(i.shape.extent=Math.max(1,T.dy),i.shape.orient=c,"vertical"===c?(n=(null!=_?_*s:y.x)+T.sy,o=(null!=w?w*l:y.y)+y.dy,r=(null!=M?M*s:b.x)+T.ty,d=n,f=o*(1-v)+(u=null!=I?I*l:b.y)*v,p=r,g=o*v+u*(1-v)):(n=(null!=_?_*s:y.x)+y.dx,o=(null!=w?w*l:y.y)+T.sy,d=n*(1-v)+(r=null!=M?M*s:b.x)*v,f=o,p=n*v+r*(1-v),g=u=(null!=I?I*l:b.y)+T.ty),i.setShape({x1:n,y1:o,x2:r,y2:u,cpx1:d,cpy1:f,cpx2:p,cpy2:g}),i.setStyle(m.getItemStyle()),i.style.fill){case"source":i.style.fill=e.node1.getVisual("color");break;case"target":i.style.fill=e.node2.getVisual("color")}fo(i,e.getModel("emphasis.lineStyle").getItemStyle()),a.add(i),h.setItemGraphicEl(e.dataIndex,i)}),o.eachNode(function(e){var i=e.getLayout(),n=e.getModel(),o=n.get("localX"),r=n.get("localY"),h=n.getModel("label"),c=n.getModel("emphasis.label"),d=new yM({shape:{x:null!=o?o*s:i.x,y:null!=r?r*l:i.y,width:i.dx,height:i.dy},style:n.getModel("itemStyle").getItemStyle()}),f=e.getModel("emphasis.itemStyle").getItemStyle();go(d.style,f,h,c,{labelFetcher:t,labelDataIndex:e.dataIndex,defaultText:e.id,isRectText:!0}),d.setStyle("fill",e.getVisual("color")),fo(d,f),a.add(d),u.setItemGraphicEl(e.dataIndex,d),d.dataType="node"}),u.eachItemGraphicEl(function(e,o){var a=u.getItemModel(o);a.get("draggable")&&(e.drift=function(e,a){n._focusAdjacencyDisabled=!0,this.shape.x+=e,this.shape.y+=a,this.dirty(),i.dispatchAction({type:"dragNode",seriesId:t.id,dataIndex:u.getRawIndex(o),localX:this.shape.x/s,localY:this.shape.y/l})},e.ondragend=function(){n._focusAdjacencyDisabled=!1},e.draggable=!0,e.cursor="move"),a.get("focusNodeAdjacency")&&(e.off("mouseover").on("mouseover",function(){n._focusAdjacencyDisabled||i.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,dataIndex:e.dataIndex})}),e.off("mouseout").on("mouseout",function(){n._focusAdjacencyDisabled||i.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))}),h.eachItemGraphicEl(function(e,o){h.getItemModel(o).get("focusNodeAdjacency")&&(e.off("mouseover").on("mouseover",function(){n._focusAdjacencyDisabled||i.dispatchAction({type:"focusNodeAdjacency",seriesId:t.id,edgeDataIndex:e.dataIndex})}),e.off("mouseout").on("mouseout",function(){n._focusAdjacencyDisabled||i.dispatchAction({type:"unfocusNodeAdjacency",seriesId:t.id})}))}),!this._data&&t.get("animation")&&a.setClipPath(zp(a.getBoundingRect(),t,function(){a.removeClipPath()})),this._data=t.getData()},dispose:function(){},focusNodeAdjacency:function(t,e,i,n){var o=this._model.getData(),a=o.graph,r=n.dataIndex,s=o.getItemModel(r),l=n.edgeDataIndex;if(null!=r||null!=l){var u=a.getNodeByIndex(r),h=a.getEdgeByIndex(l);if(a.eachNode(function(t){Ep(t,kk,.1)}),a.eachEdge(function(t){Ep(t,Pk,.1)}),u){Rp(u,kk);var c=s.get("focusNodeAdjacency");"outEdges"===c?d(u.outEdges,function(t){t.dataIndex<0||(Rp(t,Pk),Rp(t.node2,kk))}):"inEdges"===c?d(u.inEdges,function(t){t.dataIndex<0||(Rp(t,Pk),Rp(t.node1,kk))}):"allEdges"===c&&d(u.edges,function(t){t.dataIndex<0||(Rp(t,Pk),Rp(t.node1,kk),Rp(t.node2,kk))})}h&&(Rp(h,Pk),Rp(h.node1,kk),Rp(h.node2,kk))}},unfocusNodeAdjacency:function(t,e,i,n){var o=this._model.getGraph();o.eachNode(function(t){Ep(t,kk)}),o.eachEdge(function(t){Ep(t,Pk)})}}),Es({type:"dragNode",event:"dragNode",update:"update"},function(t,e){e.eachComponent({mainType:"series",subType:"sankey",query:t},function(e){e.setNodePosition(t.dataIndex,[t.localX,t.localY])})});zs(function(t,e,i){t.eachSeriesByType("sankey",function(t){var i=t.get("nodeWidth"),n=t.get("nodeGap"),o=Bp(t,e);t.layoutInfo=o;var a=o.width,r=o.height,s=t.getGraph(),l=s.nodes,u=s.edges;Gp(l),Vp(l,u,i,n,a,r,0!==g(l,function(t){return 0===t.getLayout().value}).length?0:t.get("layoutIterations"),t.get("orient"))})}),Bs(function(t,e){t.eachSeriesByType("sankey",function(t){var e=t.getGraph().nodes;if(e.length){var i=1/0,n=-1/0;d(e,function(t){var e=t.getLayout().value;e<i&&(i=e),e>n&&(n=e)}),d(e,function(e){var o=new hL({type:"color",mappingMethod:"linear",dataExtent:[i,n],visual:t.get("color")}).mapValueToVisual(e.getLayout().value);e.setVisual("color",o);var a=e.getModel().get("itemStyle.color");null!=a&&e.setVisual("color",a)})}})});var Ok={_baseAxisDim:null,getInitialData:function(t,e){var i,n,o=e.getComponent("xAxis",this.get("xAxisIndex")),a=e.getComponent("yAxis",this.get("yAxisIndex")),r=o.get("type"),s=a.get("type");"category"===r?(t.layout="horizontal",i=o.getOrdinalMeta(),n=!0):"category"===s?(t.layout="vertical",i=a.getOrdinalMeta(),n=!0):t.layout=t.layout||"horizontal";var l=["x","y"],u="horizontal"===t.layout?0:1,h=this._baseAxisDim=l[u],c=l[1-u],f=[o,a],p=f[u].get("type"),g=f[1-u].get("type"),m=t.data;if(m&&n){var v=[];d(m,function(t,e){var i;t.value&&y(t.value)?(i=t.value.slice(),t.value.unshift(e)):y(t)?(i=t.slice(),t.unshift(e)):i=t,v.push(i)}),t.data=v}var x=this.defaultValueDimensions;return oC(this,{coordDimensions:[{name:h,type:qs(p),ordinalMeta:i,otherDims:{tooltip:!1,itemName:0},dimsDef:["base"]},{name:c,type:qs(g),dimsDef:x.slice()}],dimensionsCount:x.length+1})},getBaseAxis:function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+"Axis",this.get(t+"AxisIndex")).axis}};h(YI.extend({type:"series.boxplot",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"min",defaultTooltip:!0},{name:"Q1",defaultTooltip:!0},{name:"median",defaultTooltip:!0},{name:"Q3",defaultTooltip:!0},{name:"max",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,boxWidth:[7,50],itemStyle:{color:"#fff",borderWidth:1},emphasis:{itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,shadowColor:"rgba(0,0,0,0.4)"}},animationEasing:"elasticOut",animationDuration:800}}),Ok,!0);var Ek=["itemStyle"],Rk=["emphasis","itemStyle"],zk=(Ar.extend({type:"boxplot",render:function(t,e,i){var n=t.getData(),o=this.group,a=this._data;this._data||o.removeAll();var r="horizontal"===t.get("layout")?1:0;n.diff(a).add(function(t){if(n.hasValue(t)){var e=ig(n.getItemLayout(t),n,t,r,!0);n.setItemGraphicEl(t,e),o.add(e)}}).update(function(t,e){var i=a.getItemGraphicEl(e);if(n.hasValue(t)){var s=n.getItemLayout(t);i?ng(s,i,n,t):i=ig(s,n,t,r),o.add(i),n.setItemGraphicEl(t,i)}else o.remove(i)}).remove(function(t){var e=a.getItemGraphicEl(t);e&&o.remove(e)}).execute(),this._data=n},remove:function(t){var e=this.group,i=this._data;this._data=null,i&&i.eachItemGraphicEl(function(t){t&&e.remove(t)})},dispose:B}),Pn.extend({type:"boxplotBoxPath",shape:{},buildPath:function(t,e){var i=e.points,n=0;for(t.moveTo(i[n][0],i[n][1]),n++;n<4;n++)t.lineTo(i[n][0],i[n][1]);for(t.closePath();n<i.length;n++)t.moveTo(i[n][0],i[n][1]),n++,t.lineTo(i[n][0],i[n][1])}})),Bk=["itemStyle","borderColor"],Vk=d;Bs(function(t,e){var i=t.get("color");t.eachRawSeriesByType("boxplot",function(e){var n=i[e.seriesIndex%i.length],o=e.getData();o.setVisual({legendSymbol:"roundRect",color:e.get(Bk)||n}),t.isSeriesFiltered(e)||o.each(function(t){var e=o.getItemModel(t);o.setItemVisual(t,{color:e.get(Bk,!0)})})})}),zs(function(t){var e=ag(t);Vk(e,function(t){var e=t.seriesModels;e.length&&(rg(t),Vk(e,function(e,i){sg(e,t.boxOffsetList[i],t.boxWidthList[i])}))})}),h(YI.extend({type:"series.candlestick",dependencies:["xAxis","yAxis","grid"],defaultValueDimensions:[{name:"open",defaultTooltip:!0},{name:"close",defaultTooltip:!0},{name:"lowest",defaultTooltip:!0},{name:"highest",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,layout:null,itemStyle:{color:"#c23531",color0:"#314656",borderWidth:1,borderColor:"#c23531",borderColor0:"#314656"},emphasis:{itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:"mod",animationUpdate:!1,animationEasing:"linear",animationDuration:300},getShadowDim:function(){return"open"},brushSelector:function(t,e,i){var n=e.getItemLayout(t);return n&&i.rect(n.brushRect)}}),Ok,!0);var Gk=["itemStyle"],Fk=["emphasis","itemStyle"],Wk=["color","color0","borderColor","borderColor0"],Hk=(Ar.extend({type:"candlestick",render:function(t,e,i){this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},incrementalPrepareRender:function(t,e,i){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,i,n){this._isLargeDraw?this._incrementalRenderLarge(t,e):this._incrementalRenderNormal(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(t){var e=t.getData(),i=this._data,n=this.group,o=e.getLayout("isSimpleBox");this._data||n.removeAll(),e.diff(i).add(function(i){if(e.hasValue(i)){var a,r=e.getItemLayout(i);To(a=lg(r,0,!0),{shape:{points:r.ends}},t,i),ug(a,e,i,o),n.add(a),e.setItemGraphicEl(i,a)}}).update(function(a,r){var s=i.getItemGraphicEl(r);if(e.hasValue(a)){var l=e.getItemLayout(a);s?Io(s,{shape:{points:l.ends}},t,a):s=lg(l),ug(s,e,a,o),n.add(s),e.setItemGraphicEl(a,s)}else n.remove(s)}).remove(function(t){var e=i.getItemGraphicEl(t);e&&n.remove(e)}).execute(),this._data=e},_renderLarge:function(t){this._clear(),cg(t,this.group)},_incrementalRenderNormal:function(t,e){for(var i,n=e.getData(),o=n.getLayout("isSimpleBox");null!=(i=t.next());){var a;ug(a=lg(n.getItemLayout(i)),n,i,o),a.incremental=!0,this.group.add(a)}},_incrementalRenderLarge:function(t,e){cg(e,this.group,!0)},remove:function(t){this._clear()},_clear:function(){this.group.removeAll(),this._data=null},dispose:B}),Pn.extend({type:"normalCandlestickBox",shape:{},buildPath:function(t,e){var i=e.points;this.__simpleBox?(t.moveTo(i[4][0],i[4][1]),t.lineTo(i[6][0],i[6][1])):(t.moveTo(i[0][0],i[0][1]),t.lineTo(i[1][0],i[1][1]),t.lineTo(i[2][0],i[2][1]),t.lineTo(i[3][0],i[3][1]),t.closePath(),t.moveTo(i[4][0],i[4][1]),t.lineTo(i[5][0],i[5][1]),t.moveTo(i[6][0],i[6][1]),t.lineTo(i[7][0],i[7][1]))}})),Zk=Pn.extend({type:"largeCandlestickBox",shape:{},buildPath:function(t,e){for(var i=e.points,n=0;n<i.length;)if(this.__sign===i[n++]){var o=i[n++];t.moveTo(o,i[n++]),t.lineTo(o,i[n++])}else n+=3}}),Uk=["itemStyle","borderColor"],Xk=["itemStyle","borderColor0"],jk=["itemStyle","color"],Yk=["itemStyle","color0"],qk={seriesType:"candlestick",plan:$I(),performRawSeries:!0,reset:function(t,e){function i(t,e){return e.get(t>0?jk:Yk)}function n(t,e){return e.get(t>0?Uk:Xk)}var o=t.getData(),a=t.pipelineContext.large;if(o.setVisual({legendSymbol:"roundRect",colorP:i(1,t),colorN:i(-1,t),borderColorP:n(1,t),borderColorN:n(-1,t)}),!e.isSeriesFiltered(t))return!a&&{progress:function(t,e){for(var o;null!=(o=t.next());){var a=e.getItemModel(o),r=e.getItemLayout(o).sign;e.setItemVisual(o,{color:i(r,a),borderColor:n(r,a)})}}}}},Kk="undefined"!=typeof Float32Array?Float32Array:Array,$k={seriesType:"candlestick",plan:$I(),reset:function(t){var e=t.coordinateSystem,i=t.getData(),n=pg(t,i),o=0,a=1,r=["x","y"],s=i.mapDimension(r[o]),l=i.mapDimension(r[a],!0),u=l[0],h=l[1],c=l[2],d=l[3];if(i.setLayout({candleWidth:n,isSimpleBox:n<=1.3}),!(null==s||l.length<4))return{progress:t.pipelineContext.large?function(t,i){for(var n,r,l=new Kk(5*t.count),f=0,p=[],g=[];null!=(r=t.next());){var m=i.get(s,r),v=i.get(u,r),y=i.get(h,r),x=i.get(c,r),_=i.get(d,r);isNaN(m)||isNaN(x)||isNaN(_)?(l[f++]=NaN,f+=4):(l[f++]=fg(i,r,v,y,h),p[o]=m,p[a]=x,n=e.dataToPoint(p,null,g),l[f++]=n?n[0]:NaN,l[f++]=n?n[1]:NaN,p[a]=_,n=e.dataToPoint(p,null,g),l[f++]=n?n[1]:NaN)}i.setLayout("largePoints",l)}:function(t,i){function r(t,i){var n=[];return n[o]=i,n[a]=t,isNaN(i)||isNaN(t)?[NaN,NaN]:e.dataToPoint(n)}function l(t,e,i){var a=e.slice(),r=e.slice();a[o]=Jn(a[o]+n/2,1,!1),r[o]=Jn(r[o]-n/2,1,!0),i?t.push(a,r):t.push(r,a)}function f(t){return t[o]=Jn(t[o],1),t}for(var p;null!=(p=t.next());){var g=i.get(s,p),m=i.get(u,p),v=i.get(h,p),y=i.get(c,p),x=i.get(d,p),_=Math.min(m,v),w=Math.max(m,v),b=r(_,g),S=r(w,g),M=r(y,g),I=r(x,g),T=[];l(T,S,0),l(T,b,1),T.push(f(I),f(S),f(M),f(b)),i.setItemLayout(p,{sign:fg(i,p,m,v,h),initBaseline:m>v?S[a]:b[a],ends:T,brushRect:function(t,e,i){var s=r(t,i),l=r(e,i);return s[o]-=n/2,l[o]-=n/2,{x:s[0],y:s[1],width:a?n:l[0]-s[0],height:a?l[1]-s[1]:n}}(y,x,g)})}}}}};Ns(function(t){t&&y(t.series)&&d(t.series,function(t){w(t)&&"k"===t.type&&(t.type="candlestick")})}),Bs(qk),zs($k),YI.extend({type:"series.effectScatter",dependencies:["grid","polar"],getInitialData:function(t,e){return ml(this.getSource(),this)},brushSelector:"point",defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,effectType:"ripple",progressive:0,showEffectOn:"render",rippleEffect:{period:4,scale:2.5,brushType:"fill"},symbolSize:10}});var Jk=vg.prototype;Jk.stopEffectAnimation=function(){this.childAt(1).removeAll()},Jk.startEffectAnimation=function(t){for(var e=t.symbolType,i=t.color,n=this.childAt(1),o=0;o<3;o++){var a=Jl(e,-1,-1,2,2,i);a.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scale:[.5,.5]});var r=-o/3*t.period+t.effectOffset;a.animate("",!0).when(t.period,{scale:[t.rippleScale/2,t.rippleScale/2]}).delay(r).start(),a.animateStyle(!0).when(t.period,{opacity:0}).delay(r).start(),n.add(a)}mg(n,t)},Jk.updateEffectAnimation=function(t){for(var e=this._effectCfg,i=this.childAt(1),n=["symbolType","period","rippleScale"],o=0;o<n.length;o++){var a=n[o];if(e[a]!==t[a])return this.stopEffectAnimation(),void this.startEffectAnimation(t)}mg(i,t)},Jk.highlight=function(){this.trigger("emphasis")},Jk.downplay=function(){this.trigger("normal")},Jk.updateData=function(t,e){var i=t.hostModel;this.childAt(0).updateData(t,e);var n=this.childAt(1),o=t.getItemModel(e),a=t.getItemVisual(e,"symbol"),r=gg(t.getItemVisual(e,"symbolSize")),s=t.getItemVisual(e,"color");n.attr("scale",r),n.traverse(function(t){t.attr({fill:s})});var l=o.getShallow("symbolOffset");if(l){var u=n.position;u[0]=Vo(l[0],r[0]),u[1]=Vo(l[1],r[1])}n.rotation=(o.getShallow("symbolRotate")||0)*Math.PI/180||0;var h={};if(h.showEffectOn=i.get("showEffectOn"),h.rippleScale=o.get("rippleEffect.scale"),h.brushType=o.get("rippleEffect.brushType"),h.period=1e3*o.get("rippleEffect.period"),h.effectOffset=e/t.count(),h.z=o.getShallow("z")||0,h.zlevel=o.getShallow("zlevel")||0,h.symbolType=a,h.color=s,this.off("mouseover").off("mouseout").off("emphasis").off("normal"),"render"===h.showEffectOn)this._effectCfg?this.updateEffectAnimation(h):this.startEffectAnimation(h),this._effectCfg=h;else{this._effectCfg=null,this.stopEffectAnimation();var c=this.childAt(0),d=function(){c.highlight(),"render"!==h.showEffectOn&&this.startEffectAnimation(h)},f=function(){c.downplay(),"render"!==h.showEffectOn&&this.stopEffectAnimation()};this.on("mouseover",d,this).on("mouseout",f,this).on("emphasis",d,this).on("normal",f,this)}this._effectCfg=h},Jk.fadeOut=function(t){this.off("mouseover").off("mouseout").off("emphasis").off("normal"),t&&t()},u(vg,tb),Zs({type:"effectScatter",init:function(){this._symbolDraw=new Du(vg)},render:function(t,e,i){var n=t.getData(),o=this._symbolDraw;o.updateData(n),this.group.add(o.group)},updateTransform:function(t,e,i){var n=t.getData();this.group.dirty();var o=AD().reset(t);o.progress&&o.progress({start:0,end:n.count()},n),this._symbolDraw.updateLayout(n)},_updateGroupTransform:function(t){var e=t.coordinateSystem;e&&e.getRoamTransform&&(this.group.transform=At(e.getRoamTransform()),this.group.decomposeTransform())},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(e)},dispose:function(){}}),Bs(TD("effectScatter","circle")),zs(AD("effectScatter"));var Qk="undefined"==typeof Uint32Array?Array:Uint32Array,tP="undefined"==typeof Float64Array?Array:Float64Array,eP=YI.extend({type:"series.lines",dependencies:["grid","polar"],visualColorAccessPath:"lineStyle.color",init:function(t){t.data=t.data||[],yg(t);var e=this._processFlatCoordsArray(t.data);this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset,e.flatCoords&&(t.data=new Float32Array(e.count)),eP.superApply(this,"init",arguments)},mergeOption:function(t){if(t.data=t.data||[],yg(t),t.data){var e=this._processFlatCoordsArray(t.data);this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset,e.flatCoords&&(t.data=new Float32Array(e.count))}eP.superApply(this,"mergeOption",arguments)},appendData:function(t){var e=this._processFlatCoordsArray(t.data);e.flatCoords&&(this._flatCoords?(this._flatCoords=z(this._flatCoords,e.flatCoords),this._flatCoordsOffset=z(this._flatCoordsOffset,e.flatCoordsOffset)):(this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset),t.data=new Float32Array(e.count)),this.getRawData().appendData(t.data)},_getCoordsFromItemModel:function(t){var e=this.getData().getItemModel(t);return e.option instanceof Array?e.option:e.getShallow("coords")},getLineCoordsCount:function(t){return this._flatCoordsOffset?this._flatCoordsOffset[2*t+1]:this._getCoordsFromItemModel(t).length},getLineCoords:function(t,e){if(this._flatCoordsOffset){for(var i=this._flatCoordsOffset[2*t],n=this._flatCoordsOffset[2*t+1],o=0;o<n;o++)e[o]=e[o]||[],e[o][0]=this._flatCoords[i+2*o],e[o][1]=this._flatCoords[i+2*o+1];return n}for(var a=this._getCoordsFromItemModel(t),o=0;o<a.length;o++)e[o]=e[o]||[],e[o][0]=a[o][0],e[o][1]=a[o][1];return a.length},_processFlatCoordsArray:function(t){var e=0;if(this._flatCoords&&(e=this._flatCoords.length),"number"==typeof t[0]){for(var i=t.length,n=new Qk(i),o=new tP(i),a=0,r=0,s=0,l=0;l<i;){s++;var u=t[l++];n[r++]=a+e,n[r++]=u;for(var h=0;h<u;h++){var c=t[l++],d=t[l++];o[a++]=c,o[a++]=d}}return{flatCoordsOffset:new Uint32Array(n.buffer,0,r),flatCoords:o,count:s}}return{flatCoordsOffset:null,flatCoords:null,count:t.length}},getInitialData:function(t,e){var i=new vA(["value"],this);return i.hasItemOption=!1,i.initData(t.data,[],function(t,e,n,o){if(t instanceof Array)return NaN;i.hasItemOption=!0;var a=t.value;return null!=a?a instanceof Array?a[o]:a:void 0}),i},formatTooltip:function(t){var e=this.getData().getItemModel(t),i=e.get("name");if(i)return i;var n=e.get("fromName"),o=e.get("toName"),a=[];return null!=n&&a.push(n),null!=o&&a.push(o),ia(a.join(" > "))},preventIncremental:function(){return!!this.get("effect.show")},getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get("progressive"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get("progressiveThreshold"):t},defaultOption:{coordinateSystem:"geo",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,xAxisIndex:0,yAxisIndex:0,symbol:["none","none"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:"circle",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,label:{show:!1,position:"end"},lineStyle:{opacity:.5}}}),iP=xg.prototype;iP.createLine=function(t,e,i){return new rf(t,e,i)},iP._updateEffectSymbol=function(t,e){var i=t.getItemModel(e).getModel("effect"),n=i.get("symbolSize"),o=i.get("symbol");y(n)||(n=[n,n]);var a=i.get("color")||t.getItemVisual(e,"color"),r=this.childAt(1);this._symbolType!==o&&(this.remove(r),(r=Jl(o,-.5,-.5,1,1,a)).z2=100,r.culling=!0,this.add(r)),r&&(r.setStyle("shadowColor",a),r.setStyle(i.getItemStyle(["color"])),r.attr("scale",n),r.setColor(a),r.attr("scale",n),this._symbolType=o,this._updateEffectAnimation(t,i,e))},iP._updateEffectAnimation=function(t,e,i){var n=this.childAt(1);if(n){var o=this,a=t.getItemLayout(i),r=1e3*e.get("period"),s=e.get("loop"),l=e.get("constantSpeed"),u=T(e.get("delay"),function(e){return e/t.count()*r/3}),h="function"==typeof u;if(n.ignore=!0,this.updateAnimationPoints(n,a),l>0&&(r=this.getLineLength(n)/l*1e3),r!==this._period||s!==this._loop){n.stopAnimation();var c=u;h&&(c=u(i)),n.__t>0&&(c=-r*n.__t),n.__t=0;var d=n.animate("",s).when(r,{__t:1}).delay(c).during(function(){o.updateSymbolPosition(n)});s||d.done(function(){o.remove(n)}),d.start()}this._period=r,this._loop=s}},iP.getLineLength=function(t){return uw(t.__p1,t.__cp1)+uw(t.__cp1,t.__p2)},iP.updateAnimationPoints=function(t,e){t.__p1=e[0],t.__p2=e[1],t.__cp1=e[2]||[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]},iP.updateData=function(t,e,i){this.childAt(0).updateData(t,e,i),this._updateEffectSymbol(t,e)},iP.updateSymbolPosition=function(t){var e=t.__p1,i=t.__p2,n=t.__cp1,o=t.__t,a=t.position,r=sn,s=ln;a[0]=r(e[0],n[0],i[0],o),a[1]=r(e[1],n[1],i[1],o);var l=s(e[0],n[0],i[0],o),u=s(e[1],n[1],i[1],o);t.rotation=-Math.atan2(u,l)-Math.PI/2,t.ignore=!1},iP.updateLayout=function(t,e){this.childAt(0).updateLayout(t,e);var i=t.getItemModel(e).getModel("effect");this._updateEffectAnimation(t,i,e)},u(xg,tb);var nP=_g.prototype;nP._createPolyline=function(t,e,i){var n=t.getItemLayout(e),o=new gM({shape:{points:n}});this.add(o),this._updateCommonStl(t,e,i)},nP.updateData=function(t,e,i){var n=t.hostModel;Io(this.childAt(0),{shape:{points:t.getItemLayout(e)}},n,e),this._updateCommonStl(t,e,i)},nP._updateCommonStl=function(t,e,i){var n=this.childAt(0),o=t.getItemModel(e),a=t.getItemVisual(e,"color"),s=i&&i.lineStyle,l=i&&i.hoverLineStyle;i&&!t.hasItemOption||(s=o.getModel("lineStyle").getLineStyle(),l=o.getModel("emphasis.lineStyle").getLineStyle()),n.useStyle(r({strokeNoScale:!0,fill:"none",stroke:a},s)),n.hoverStyle=l,fo(this)},nP.updateLayout=function(t,e){this.childAt(0).setShape("points",t.getItemLayout(e))},u(_g,tb);var oP=wg.prototype;oP.createLine=function(t,e,i){return new _g(t,e,i)},oP.updateAnimationPoints=function(t,e){this._points=e;for(var i=[0],n=0,o=1;o<e.length;o++){var a=e[o-1],r=e[o];n+=uw(a,r),i.push(n)}if(0!==n){for(o=0;o<i.length;o++)i[o]/=n;this._offsets=i,this._length=n}},oP.getLineLength=function(t){return this._length},oP.updateSymbolPosition=function(t){var e=t.__t,i=this._points,n=this._offsets,o=i.length;if(n){var a=this._lastFrame;if(e<this._lastFramePercent){for(r=Math.min(a+1,o-1);r>=0&&!(n[r]<=e);r--);r=Math.min(r,o-2)}else{for(var r=a;r<o&&!(n[r]>e);r++);r=Math.min(r-1,o-2)}J(t.position,i[r],i[r+1],(e-n[r])/(n[r+1]-n[r]));var s=i[r+1][0]-i[r][0],l=i[r+1][1]-i[r][1];t.rotation=-Math.atan2(l,s)-Math.PI/2,this._lastFrame=r,this._lastFramePercent=e,t.ignore=!1}},u(wg,xg);var aP=Un({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(t,e){var i=e.segs,n=e.curveness;if(e.polyline)for(r=0;r<i.length;){var o=i[r++];if(o>0){t.moveTo(i[r++],i[r++]);for(var a=1;a<o;a++)t.lineTo(i[r++],i[r++])}}else for(var r=0;r<i.length;){var s=i[r++],l=i[r++],u=i[r++],h=i[r++];if(t.moveTo(s,l),n>0){var c=(s+u)/2-(l-h)*n,d=(l+h)/2-(u-s)*n;t.quadraticCurveTo(c,d,u,h)}else t.lineTo(u,h)}},findDataIndex:function(t,e){var i=this.shape,n=i.segs,o=i.curveness;if(i.polyline)for(var a=0,r=0;r<n.length;){var s=n[r++];if(s>0)for(var l=n[r++],u=n[r++],h=1;h<s;h++)if(yn(l,u,c=n[r++],d=n[r++]))return a;a++}else for(var a=0,r=0;r<n.length;){var l=n[r++],u=n[r++],c=n[r++],d=n[r++];if(o>0){if(_n(l,u,(l+c)/2-(u-d)*o,(u+d)/2-(c-l)*o,c,d))return a}else if(yn(l,u,c,d))return a;a++}return-1}}),rP=bg.prototype;rP.isPersistent=function(){return!this._incremental},rP.updateData=function(t){this.group.removeAll();var e=new aP({rectHover:!0,cursor:"default"});e.setShape({segs:t.getLayout("linesPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},rP.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>5e5?(this._incremental||(this._incremental=new Zn({silent:!0})),this.group.add(this._incremental)):this._incremental=null},rP.incrementalUpdate=function(t,e){var i=new aP;i.setShape({segs:e.getLayout("linesPoints")}),this._setCommon(i,e,!!this._incremental),this._incremental?this._incremental.addDisplayable(i,!0):(i.rectHover=!0,i.cursor="default",i.__startIndex=t.start,this.group.add(i))},rP.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},rP._setCommon=function(t,e,i){var n=e.hostModel;t.setShape({polyline:n.get("polyline"),curveness:n.get("lineStyle.curveness")}),t.useStyle(n.getModel("lineStyle").getLineStyle()),t.style.strokeNoScale=!0;var o=e.getVisual("color");o&&t.setStyle("stroke",o),t.setStyle("fill"),i||(t.seriesIndex=n.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var i=t.findDataIndex(e.offsetX,e.offsetY);i>0&&(t.dataIndex=i+t.__startIndex)}))},rP._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var sP={seriesType:"lines",plan:$I(),reset:function(t){var e=t.coordinateSystem,i=t.get("polyline"),n=t.pipelineContext.large;return{progress:function(o,a){var r=[];if(n){var s,l=o.end-o.start;if(i){for(var u=0,h=o.start;h<o.end;h++)u+=t.getLineCoordsCount(h);s=new Float32Array(l+2*u)}else s=new Float32Array(4*l);for(var c=0,d=[],h=o.start;h<o.end;h++){g=t.getLineCoords(h,r),i&&(s[c++]=g);for(var f=0;f<g;f++)d=e.dataToPoint(r[f],!1,d),s[c++]=d[0],s[c++]=d[1]}a.setLayout("linesPoints",s)}else for(h=o.start;h<o.end;h++){var p=a.getItemModel(h),g=t.getLineCoords(h,r),m=[];if(i)for(var v=0;v<g;v++)m.push(e.dataToPoint(r[v]));else{m[0]=e.dataToPoint(r[0]),m[1]=e.dataToPoint(r[1]);var y=p.get("lineStyle.curveness");+y&&(m[2]=[(m[0][0]+m[1][0])/2-(m[0][1]-m[1][1])*y,(m[0][1]+m[1][1])/2-(m[1][0]-m[0][0])*y])}a.setItemLayout(h,m)}}}}};Zs({type:"lines",init:function(){},render:function(t,e,i){var n=t.getData(),o=this._updateLineDraw(n,t),a=t.get("zlevel"),r=t.get("effect.trailLength"),s=i.getZr(),l="svg"===s.painter.getType();l||s.painter.getLayer(a).clear(!0),null==this._lastZlevel||l||s.configLayer(this._lastZlevel,{motionBlur:!1}),this._showEffect(t)&&r&&(l||s.configLayer(a,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(r/10+.9,1),0)})),o.updateData(n),this._lastZlevel=a,this._finished=!0},incrementalPrepareRender:function(t,e,i){var n=t.getData();this._updateLineDraw(n,t).incrementalPrepareUpdate(n),this._clearLayer(i),this._finished=!1},incrementalRender:function(t,e,i){this._lineDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,i){var n=t.getData(),o=t.pipelineContext;if(!this._finished||o.large||o.progressiveRender)return{update:!0};var a=sP.reset(t);a.progress&&a.progress({start:0,end:n.count()},n),this._lineDraw.updateLayout(),this._clearLayer(i)},_updateLineDraw:function(t,e){var i=this._lineDraw,n=this._showEffect(e),o=!!e.get("polyline"),a=e.pipelineContext.large;return i&&n===this._hasEffet&&o===this._isPolyline&&a===this._isLargeDraw||(i&&i.remove(),i=this._lineDraw=a?new bg:new sf(o?n?wg:_g:n?xg:rf),this._hasEffet=n,this._isPolyline=o,this._isLargeDraw=a,this.group.removeAll()),this.group.add(i.group),i},_showEffect:function(t){return!!t.get("effect.show")},_clearLayer:function(t){var e=t.getZr();"svg"===e.painter.getType()||null==this._lastZlevel||e.painter.getLayer(this._lastZlevel).clear(!0)},remove:function(t,e){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(e)},dispose:function(){}});var lP="lineStyle.opacity".split("."),uP={seriesType:"lines",reset:function(t,e,i){var n=Sg(t.get("symbol")),o=Sg(t.get("symbolSize")),a=t.getData();return a.setVisual("fromSymbol",n&&n[0]),a.setVisual("toSymbol",n&&n[1]),a.setVisual("fromSymbolSize",o&&o[0]),a.setVisual("toSymbolSize",o&&o[1]),a.setVisual("opacity",t.get(lP)),{dataEach:a.hasItemOption?function(t,e){var i=t.getItemModel(e),n=Sg(i.getShallow("symbol",!0)),o=Sg(i.getShallow("symbolSize",!0)),a=i.get(lP);n[0]&&t.setItemVisual(e,"fromSymbol",n[0]),n[1]&&t.setItemVisual(e,"toSymbol",n[1]),o[0]&&t.setItemVisual(e,"fromSymbolSize",o[0]),o[1]&&t.setItemVisual(e,"toSymbolSize",o[1]),t.setItemVisual(e,"opacity",a)}:null}}};zs(sP),Bs(uP),YI.extend({type:"series.heatmap",getInitialData:function(t,e){return ml(this.getSource(),this,{generateCoord:"value"})},preventIncremental:function(){var t=Fa.get(this.get("coordinateSystem"));if(t&&t.dimensions)return"lng"===t.dimensions[0]&&"lat"===t.dimensions[1]},defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0}});Mg.prototype={update:function(t,e,i,n,o,a){var r=this._getBrush(),s=this._getGradient(t,o,"inRange"),l=this._getGradient(t,o,"outOfRange"),u=this.pointSize+this.blurSize,h=this.canvas,c=h.getContext("2d"),d=t.length;h.width=e,h.height=i;for(var f=0;f<d;++f){var p=t[f],g=p[0],m=p[1],v=n(p[2]);c.globalAlpha=v,c.drawImage(r,g-u,m-u)}if(!h.width||!h.height)return h;for(var y=c.getImageData(0,0,h.width,h.height),x=y.data,_=0,w=x.length,b=this.minOpacity,S=this.maxOpacity-b;_<w;){var v=x[_+3]/256,M=4*Math.floor(255*v);if(v>0){var I=a(v)?s:l;v>0&&(v=v*S+b),x[_++]=I[M],x[_++]=I[M+1],x[_++]=I[M+2],x[_++]=I[M+3]*v*256}else _+=4}return c.putImageData(y,0,0),h},_getBrush:function(){var t=this._brushCanvas||(this._brushCanvas=iw()),e=this.pointSize+this.blurSize,i=2*e;t.width=i,t.height=i;var n=t.getContext("2d");return n.clearRect(0,0,i,i),n.shadowOffsetX=i,n.shadowBlur=this.blurSize,n.shadowColor="#000",n.beginPath(),n.arc(-e,e,this.pointSize,0,2*Math.PI,!0),n.closePath(),n.fill(),t},_getGradient:function(t,e,i){for(var n=this._gradientPixels,o=n[i]||(n[i]=new Uint8ClampedArray(1024)),a=[0,0,0,0],r=0,s=0;s<256;s++)e[i](s/255,!0,a),o[r++]=a[0],o[r++]=a[1],o[r++]=a[2],o[r++]=a[3];return o}},Zs({type:"heatmap",render:function(t,e,i){var n;e.eachComponent("visualMap",function(e){e.eachTargetSeries(function(i){i===t&&(n=e)})}),this.group.removeAll(),this._incrementalDisplayable=null;var o=t.coordinateSystem;"cartesian2d"===o.type||"calendar"===o.type?this._renderOnCartesianAndCalendar(t,i,0,t.getData().count()):Ag(o)&&this._renderOnGeo(o,t,n,i)},incrementalPrepareRender:function(t,e,i){this.group.removeAll()},incrementalRender:function(t,e,i,n){e.coordinateSystem&&this._renderOnCartesianAndCalendar(e,n,t.start,t.end,!0)},_renderOnCartesianAndCalendar:function(t,e,i,n,o){var r,s,l=t.coordinateSystem;if("cartesian2d"===l.type){var u=l.getAxis("x"),h=l.getAxis("y");r=u.getBandWidth(),s=h.getBandWidth()}for(var c=this.group,d=t.getData(),f=t.getModel("itemStyle").getItemStyle(["color"]),p=t.getModel("emphasis.itemStyle").getItemStyle(),g=t.getModel("label"),m=t.getModel("emphasis.label"),v=l.type,y="cartesian2d"===v?[d.mapDimension("x"),d.mapDimension("y"),d.mapDimension("value")]:[d.mapDimension("time"),d.mapDimension("value")],x=i;x<n;x++){var _;if("cartesian2d"===v){if(isNaN(d.get(y[2],x)))continue;var w=l.dataToPoint([d.get(y[0],x),d.get(y[1],x)]);_=new yM({shape:{x:w[0]-r/2,y:w[1]-s/2,width:r,height:s},style:{fill:d.getItemVisual(x,"color"),opacity:d.getItemVisual(x,"opacity")}})}else{if(isNaN(d.get(y[1],x)))continue;_=new yM({z2:1,shape:l.dataToRect([d.get(y[0],x)]).contentShape,style:{fill:d.getItemVisual(x,"color"),opacity:d.getItemVisual(x,"opacity")}})}var b=d.getItemModel(x);d.hasItemOption&&(f=b.getModel("itemStyle").getItemStyle(["color"]),p=b.getModel("emphasis.itemStyle").getItemStyle(),g=b.getModel("label"),m=b.getModel("emphasis.label"));var S=t.getRawValue(x),M="-";S&&null!=S[2]&&(M=S[2]),go(f,p,g,m,{labelFetcher:t,labelDataIndex:x,defaultText:M,isRectText:!0}),_.setStyle(f),fo(_,d.hasItemOption?p:a({},p)),_.incremental=o,o&&(_.useHoverLayer=!0),c.add(_),d.setItemGraphicEl(x,_)}},_renderOnGeo:function(t,e,i,n){var o=i.targetVisuals.inRange,a=i.targetVisuals.outOfRange,r=e.getData(),s=this._hmLayer||this._hmLayer||new Mg;s.blurSize=e.get("blurSize"),s.pointSize=e.get("pointSize"),s.minOpacity=e.get("minOpacity"),s.maxOpacity=e.get("maxOpacity");var l=t.getViewRect().clone(),u=t.getRoamTransform();l.applyTransform(u);var h=Math.max(l.x,0),c=Math.max(l.y,0),d=Math.min(l.width+l.x,n.getWidth()),f=Math.min(l.height+l.y,n.getHeight()),p=d-h,g=f-c,m=[r.mapDimension("lng"),r.mapDimension("lat"),r.mapDimension("value")],v=r.mapArray(m,function(e,i,n){var o=t.dataToPoint([e,i]);return o[0]-=h,o[1]-=c,o.push(n),o}),y=i.getExtent(),x="visualMap.continuous"===i.type?Tg(y,i.option.range):Ig(y,i.getPieceList(),i.option.selected);s.update(v,p,g,o.color.getNormalizer(),{inRange:o.color.getColorMapper(),outOfRange:a.color.getColorMapper()},x);var _=new fi({style:{width:p,height:g,x:h,y:c,image:s.canvas},silent:!0});this.group.add(_)},dispose:function(){}});var hP=$D.extend({type:"series.pictorialBar",dependencies:["grid"],defaultOption:{symbol:"circle",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:"end",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:"-100%",progressive:0,hoverAnimation:!1},getInitialData:function(t){return t.stack=null,hP.superApply(this,"getInitialData",arguments)}}),cP=["itemStyle","borderWidth"],dP=[{xy:"x",wh:"width",index:0,posDesc:["left","right"]},{xy:"y",wh:"height",index:1,posDesc:["top","bottom"]}],fP=new sM;Zs({type:"pictorialBar",render:function(t,e,i){var n=this.group,o=t.getData(),a=this._data,r=t.coordinateSystem,s=!!r.getBaseAxis().isHorizontal(),l=r.grid.getRect(),u={ecSize:{width:i.getWidth(),height:i.getHeight()},seriesModel:t,coordSys:r,coordSysExtent:[[l.x,l.x+l.width],[l.y,l.y+l.height]],isHorizontal:s,valueDim:dP[+s],categoryDim:dP[1-s]};return o.diff(a).add(function(t){if(o.hasValue(t)){var e=Vg(o,t),i=Dg(o,t,e,u),a=Hg(o,u,i);o.setItemGraphicEl(t,a),n.add(a),qg(a,u,i)}}).update(function(t,e){var i=a.getItemGraphicEl(e);if(o.hasValue(t)){var r=Vg(o,t),s=Dg(o,t,r,u),l=Xg(o,s);i&&l!==i.__pictorialShapeStr&&(n.remove(i),o.setItemGraphicEl(t,null),i=null),i?Zg(i,u,s):i=Hg(o,u,s,!0),o.setItemGraphicEl(t,i),i.__pictorialSymbolMeta=s,n.add(i),qg(i,u,s)}else n.remove(i)}).remove(function(t){var e=a.getItemGraphicEl(t);e&&Ug(a,t,e.__pictorialSymbolMeta.animationModel,e)}).execute(),this._data=o,this.group},dispose:B,remove:function(t,e){var i=this.group,n=this._data;t.get("animation")?n&&n.eachItemGraphicEl(function(e){Ug(n,e.dataIndex,t,e)}):i.removeAll()}});zs(v(El,"pictorialBar")),Bs(TD("pictorialBar","roundRect"));var pP=function(t,e,i,n,o){aD.call(this,t,e,i),this.type=n||"value",this.position=o||"bottom",this.orient=null};pP.prototype={constructor:pP,model:null,isHorizontal:function(){var t=this.position;return"top"===t||"bottom"===t},pointToData:function(t,e){return this.coordinateSystem.pointToData(t,e)[0]},toGlobalCoord:null,toLocalCoord:null},u(pP,aD),$g.prototype={type:"singleAxis",axisPointerEnabled:!0,constructor:$g,_init:function(t,e,i){var n=this.dimension,o=new pP(n,Hl(t),[0,0],t.get("type"),t.get("position")),a="category"===o.type;o.onBand=a&&t.get("boundaryGap"),o.inverse=t.get("inverse"),o.orient=t.get("orient"),t.axis=o,o.model=t,o.coordinateSystem=this,this._axis=o},update:function(t,e){t.eachSeries(function(t){if(t.coordinateSystem===this){var e=t.getData();d(e.mapDimension(this.dimension,!0),function(t){this._axis.scale.unionExtentFromData(e,t)},this),Wl(this._axis.scale,this._axis.model)}},this)},resize:function(t,e){this._rect=ca({left:t.get("left"),top:t.get("top"),right:t.get("right"),bottom:t.get("bottom"),width:t.get("width"),height:t.get("height")},{width:e.getWidth(),height:e.getHeight()}),this._adjustAxis()},getRect:function(){return this._rect},_adjustAxis:function(){var t=this._rect,e=this._axis,i=e.isHorizontal(),n=i?[0,t.width]:[0,t.height],o=e.reverse?1:0;e.setExtent(n[o],n[1-o]),this._updateAxisTransform(e,i?t.x:t.y)},_updateAxisTransform:function(t,e){var i=t.getExtent(),n=i[0]+i[1],o=t.isHorizontal();t.toGlobalCoord=o?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord=o?function(t){return t-e}:function(t){return n-t+e}},getAxis:function(){return this._axis},getBaseAxis:function(){return this._axis},getAxes:function(){return[this._axis]},getTooltipAxes:function(){return{baseAxes:[this.getAxis()]}},containPoint:function(t){var e=this.getRect(),i=this.getAxis();return"horizontal"===i.orient?i.contain(i.toLocalCoord(t[0]))&&t[1]>=e.y&&t[1]<=e.y+e.height:i.contain(i.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},pointToData:function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t["horizontal"===e.orient?0:1]))]},dataToPoint:function(t){var e=this.getAxis(),i=this.getRect(),n=[],o="horizontal"===e.orient?0:1;return t instanceof Array&&(t=t[0]),n[o]=e.toGlobalCoord(e.dataToCoord(+t)),n[1-o]=0===o?i.y+i.height/2:i.x+i.width/2,n}},Fa.register("single",{create:function(t,e){var i=[];return t.eachComponent("singleAxis",function(n,o){var a=new $g(n,t,e);a.name="single_"+o,a.resize(n,e),n.coordinateSystem=a,i.push(a)}),t.eachSeries(function(e){if("singleAxis"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"singleAxis",index:e.get("singleAxisIndex"),id:e.get("singleAxisId")})[0];e.coordinateSystem=i&&i.coordinateSystem}}),i},dimensions:$g.prototype.dimensions});var gP=["axisLine","axisTickLabel","axisName"],mP=XD.extend({type:"singleAxis",axisPointerClass:"SingleAxisPointer",render:function(t,e,i,n){var o=this.group;o.removeAll();var a=Jg(t),r=new FD(t,a);d(gP,r.add,r),o.add(r.getGroup()),t.get("splitLine.show")&&this._splitLine(t),mP.superCall(this,"render",t,e,i,n)},_splitLine:function(t){var e=t.axis;if(!e.scale.isBlank()){var i=t.getModel("splitLine"),n=i.getModel("lineStyle"),o=n.get("width"),a=n.get("color");a=a instanceof Array?a:[a];for(var r=t.coordinateSystem.getRect(),s=e.isHorizontal(),l=[],u=0,h=e.getTicksCoords({tickModel:i}),c=[],d=[],f=0;f<h.length;++f){var p=e.toGlobalCoord(h[f].coord);s?(c[0]=p,c[1]=r.y,d[0]=p,d[1]=r.y+r.height):(c[0]=r.x,c[1]=p,d[0]=r.x+r.width,d[1]=p);var g=u++%a.length;l[g]=l[g]||[],l[g].push(new _M(Kn({shape:{x1:c[0],y1:c[1],x2:d[0],y2:d[1]},style:{lineWidth:o},silent:!0})))}for(f=0;f<l.length;++f)this.group.add(OM(l[f],{style:{stroke:a[f%a.length],lineDash:n.getLineDash(o),lineWidth:o},silent:!0}))}}}),vP=lI.extend({type:"singleAxis",layoutMode:"box",axis:null,coordinateSystem:null,getCoordSysModel:function(){return this}}),yP={left:"5%",top:"5%",right:"5%",bottom:"5%",type:"value",position:"bottom",orient:"horizontal",axisLine:{show:!0,lineStyle:{width:2,type:"solid"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:2}},axisLabel:{show:!0,interval:"auto"},splitLine:{show:!0,lineStyle:{type:"dashed",opacity:.2}}};n(vP.prototype,UA),ED("single",vP,function(t,e){return e.type||(e.data?"category":"value")},yP);var xP=function(t,e){var i,n=[],o=t.seriesIndex;if(null==o||!(i=e.getSeriesByIndex(o)))return{point:[]};var a=i.getData(),r=zi(a,t);if(null==r||r<0||y(r))return{point:[]};var s=a.getItemGraphicEl(r),l=i.coordinateSystem;if(i.getTooltipPosition)n=i.getTooltipPosition(r)||[];else if(l&&l.dataToPoint)n=l.dataToPoint(a.getValues(f(l.dimensions,function(t){return a.mapDimension(t)}),r,!0))||[];else if(s){var u=s.getBoundingRect().clone();u.applyTransform(s.transform),n=[u.x+u.width/2,u.y+u.height/2]}return{point:n,el:s}},_P=d,wP=v,bP=Bi(),SP=(Fs({type:"axisPointer",coordSysAxesInfo:null,defaultOption:{show:"auto",triggerOn:null,zlevel:0,z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#aaa",width:1,type:"solid"},shadowStyle:{color:"rgba(150,150,150,0.3)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,shadowBlur:3,shadowColor:"#aaa"},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}}}),Bi()),MP=d,IP=Ws({type:"axisPointer",render:function(t,e,i){var n=e.getComponent("tooltip"),o=t.get("triggerOn")||n&&n.get("triggerOn")||"mousemove|click";um("axisPointer",i,function(t,e,i){"none"!==o&&("leave"===t||o.indexOf(t)>=0)&&i({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})})},remove:function(t,e){gm(e.getZr(),"axisPointer"),IP.superApply(this._model,"remove",arguments)},dispose:function(t,e){gm("axisPointer",e),IP.superApply(this._model,"dispose",arguments)}}),TP=Bi(),AP=i,DP=m;(mm.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(t,e,i,n){var o=e.get("value"),a=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=i,n||this._lastValue!==o||this._lastStatus!==a){this._lastValue=o,this._lastStatus=a;var r=this._group,s=this._handle;if(!a||"hide"===a)return r&&r.hide(),void(s&&s.hide());r&&r.show(),s&&s.show();var l={};this.makeElOption(l,o,t,e,i);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(i),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(r){var c=v(vm,e,h);this.updatePointerEl(r,l,c,e),this.updateLabelEl(r,l,c,e)}else r=this._group=new tb,this.createPointerEl(r,l,t,e),this.createLabelEl(r,l,t,e),i.getZr().add(r);wm(r,e,!0),this._renderHandle(o)}},remove:function(t){this.clear(t)},dispose:function(t){this.clear(t)},determineAnimation:function(t,e){var i=e.get("animation"),n=t.axis,o="category"===n.type,a=e.get("snap");if(!a&&!o)return!1;if("auto"===i||null==i){var r=this.animationThreshold;if(o&&n.getBandWidth()>r)return!0;if(a){var s=Mh(t).seriesDataCount,l=n.getExtent();return Math.abs(l[0]-l[1])/s>r}return!1}return!0===i},makeElOption:function(t,e,i,n,o){},createPointerEl:function(t,e,i,n){var o=e.pointer;if(o){var a=TP(t).pointerEl=new zM[o.type](AP(e.pointer));t.add(a)}},createLabelEl:function(t,e,i,n){if(e.label){var o=TP(t).labelEl=new yM(AP(e.label));t.add(o),xm(o,n)}},updatePointerEl:function(t,e,i){var n=TP(t).pointerEl;n&&(n.setStyle(e.pointer.style),i(n,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,i,n){var o=TP(t).labelEl;o&&(o.setStyle(e.label.style),i(o,{shape:e.label.shape,position:e.label.position}),xm(o,n))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e=this._axisPointerModel,i=this._api.getZr(),n=this._handle,o=e.getModel("handle"),a=e.get("status");if(!o.get("show")||!a||"hide"===a)return n&&i.remove(n),void(this._handle=null);var r;this._handle||(r=!0,n=this._handle=Po(o.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){mw(t.event)},onmousedown:DP(this._onHandleDragMove,this,0,0),drift:DP(this._onHandleDragMove,this),ondragend:DP(this._onHandleDragEnd,this)}),i.add(n)),wm(n,e,!1);var s=["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];n.setStyle(o.getItemStyle(null,s));var l=o.get("size");y(l)||(l=[l,l]),n.attr("scale",[l[0]/2,l[1]/2]),Nr(this,"_doDispatchAxisPointer",o.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,r)}},_moveHandleToValue:function(t,e){vm(this._axisPointerModel,!e&&this._moveAnimation,this._handle,_m(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var i=this._handle;if(i){this._dragging=!0;var n=this.updateHandleTransform(_m(i),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=n,i.stopAnimation(),i.attr(_m(n)),TP(i).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},_onHandleDragEnd:function(t){if(this._dragging=!1,this._handle){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),i=this._group,n=this._handle;e&&i&&(this._lastGraphicKey=null,i&&e.remove(i),n&&e.remove(n),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,i){return i=i||0,{x:t[i],y:t[1-i],width:e[i],height:e[1-i]}}}).constructor=mm,ji(mm);var CP=mm.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.grid,s=n.get("type"),l=km(r,a).getOtherAxis(a).getGlobalExtent(),u=a.toGlobalCoord(a.dataToCoord(e,!0));if(s&&"none"!==s){var h=bm(n),c=LP[s](a,u,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Am(e,t,Lh(r.model,i),i,n,o)},getHandleTransform:function(t,e,i){var n=Lh(e.axis.grid.model,e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:Tm(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.grid,r=o.getGlobalExtent(!0),s=km(a,o).getOtherAxis(o).getGlobalExtent(),l="x"===o.dim?0:1,u=t.position;u[l]+=e[l],u[l]=Math.min(r[1],u[l]),u[l]=Math.max(r[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];var d=[{verticalAlign:"middle"},{align:"center"}];return{position:u,rotation:t.rotation,cursorPoint:c,tooltipOption:d[l]}}}),LP={line:function(t,e,i,n){var o=Dm([e,i[0]],[e,i[1]],Pm(t));return Kn({shape:o,style:n}),{type:"Line",shape:o}},shadow:function(t,e,i,n){var o=Math.max(1,t.getBandWidth()),a=i[1]-i[0];return{type:"Rect",shape:Cm([e-o/2,i[0]],[o,a],Pm(t))}}};XD.registerAxisPointerClass("CartesianAxisPointer",CP),Ns(function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!y(e)&&(t.axisPointer.link=[e])}}),Os(VT.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=vh(t,e)}),Es({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},function(t,e,i){var n=t.currTrigger,o=[t.x,t.y],a=t,r=t.dispatchAction||m(i.dispatchAction,i),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){lm(o)&&(o=xP({seriesIndex:a.seriesIndex,dataIndex:a.dataIndex},e).point);var l=lm(o),u=a.axesInfo,h=s.axesInfo,c="leave"===n||lm(o),d={},f={},p={list:[],map:{}},g={showPointer:wP(em,f),showTooltip:wP(im,p)};_P(s.coordSysMap,function(t,e){var i=l||t.containPoint(o);_P(s.coordSysAxesInfo[e],function(t,e){var n=t.axis,a=rm(u,t);if(!c&&i&&(!u||a)){var r=a&&a.value;null!=r||l||(r=n.pointToData(o)),null!=r&&Qg(t,r,g,!1,d)}})});var v={};return _P(h,function(t,e){var i=t.linkGroup;i&&!f[e]&&_P(i.axesInfo,function(e,n){var o=f[n];if(e!==t&&o){var a=o.value;i.mapper&&(a=t.axis.scale.parse(i.mapper(a,sm(e),sm(t)))),v[t.key]=a}})}),_P(v,function(t,e){Qg(h[e],t,g,!0,d)}),nm(f,h,d),om(p,o,t,r),am(h,0,i),d}});var kP=["x","y"],PP=["width","height"],NP=mm.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.coordinateSystem,s=Om(r,1-Nm(a)),l=r.dataToPoint(e)[0],u=n.get("type");if(u&&"none"!==u){var h=bm(n),c=OP[u](a,l,s,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Am(e,t,Jg(i),i,n,o)},getHandleTransform:function(t,e,i){var n=Jg(e,{labelInside:!1});return n.labelMargin=i.get("handle.margin"),{position:Tm(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.coordinateSystem,r=Nm(o),s=Om(a,r),l=t.position;l[r]+=e[r],l[r]=Math.min(s[1],l[r]),l[r]=Math.max(s[0],l[r]);var u=Om(a,1-r),h=(u[1]+u[0])/2,c=[h,h];return c[r]=l[r],{position:l,rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:"middle"}}}}),OP={line:function(t,e,i,n){var o=Dm([e,i[0]],[e,i[1]],Nm(t));return Kn({shape:o,style:n}),{type:"Line",shape:o}},shadow:function(t,e,i,n){var o=t.getBandWidth(),a=i[1]-i[0];return{type:"Rect",shape:Cm([e-o/2,i[0]],[o,a],Nm(t))}}};XD.registerAxisPointerClass("SingleAxisPointer",NP),Ws({type:"single"});var EP=YI.extend({type:"series.themeRiver",dependencies:["singleAxis"],nameMap:null,init:function(t){EP.superApply(this,"init",arguments),this.legendDataProvider=function(){return this.getRawData()}},fixData:function(t){var e=t.length,i=[];Zi(t,function(t){return t[2]}).buckets.each(function(t,e){i.push({name:e,dataList:t})});for(var n=i.length,o=-1,a=-1,r=0;r<n;++r){var s=i[r].dataList.length;s>o&&(o=s,a=r)}for(var l=0;l<n;++l)if(l!==a)for(var u=i[l].name,h=0;h<o;++h){for(var c=i[a].dataList[h][0],d=i[l].dataList.length,f=-1,p=0;p<d;++p)if(i[l].dataList[p][0]===c){f=p;break}-1===f&&(t[e]=[],t[e][0]=c,t[e][1]=0,t[e][2]=u,e++)}return t},getInitialData:function(t,e){for(var i=e.queryComponents({mainType:"singleAxis",index:this.get("singleAxisIndex"),id:this.get("singleAxisId")})[0].get("type"),n=g(t.data,function(t){return void 0!==t[2]}),o=this.fixData(n||[]),a=[],r=this.nameMap=R(),s=0,l=0;l<o.length;++l)a.push(o[l][2]),r.get(o[l][2])||(r.set(o[l][2],s),s++);var u=_A(o,{coordDimensions:["single"],dimensionsDefine:[{name:"time",type:qs(i)},{name:"value",type:"float"},{name:"name",type:"ordinal"}],encodeDefine:{single:0,value:1,itemName:2}}),h=new vA(u,this);return h.initData(o),h},getLayerSeries:function(){for(var t=this.getData(),e=t.count(),i=[],n=0;n<e;++n)i[n]=n;var o=t.mapDimension("single"),a=[];return Zi(i,function(e){return t.get("name",e)}).buckets.each(function(e,i){e.sort(function(e,i){return t.get(o,e)-t.get(o,i)}),a.push({name:i,indices:e})}),a},getAxisTooltipData:function(t,e,i){y(t)||(t=t?[t]:[]);for(var n,o=this.getData(),a=this.getLayerSeries(),r=[],s=a.length,l=0;l<s;++l){for(var u=Number.MAX_VALUE,h=-1,c=a[l].indices.length,d=0;d<c;++d){var f=o.get(t[0],a[l].indices[d]),p=Math.abs(f-e);p<=u&&(n=f,u=p,h=a[l].indices[d])}r.push(h)}return{dataIndices:r,nestestValue:n}},formatTooltip:function(t){var e=this.getData(),i=e.getName(t),n=e.get(e.mapDimension("value"),t);return(isNaN(n)||null==n)&&(n="-"),ia(i+" : "+n)},defaultOption:{zlevel:0,z:2,coordinateSystem:"singleAxis",boundaryGap:["10%","10%"],singleAxisIndex:0,animationEasing:"linear",label:{margin:4,show:!0,position:"left",color:"#000",fontSize:11},emphasis:{label:{show:!0}}}});Zs({type:"themeRiver",init:function(){this._layers=[]},render:function(t,e,i){function n(t){return t.name}function o(e,i,n){var o=this._layers;if("remove"!==e){for(var u,h=[],c=[],f=l[i].indices,p=0;p<f.length;p++){var g=r.getItemLayout(f[p]),m=g.x,v=g.y0,y=g.y;h.push([m,v]),c.push([m,v+y]),u=r.getItemVisual(f[p],"color")}var x,_,w=r.getItemLayout(f[0]),b=r.getItemModel(f[p-1]),S=b.getModel("label"),M=S.get("margin");if("add"===e){I=d[i]=new tb;x=new ID({shape:{points:h,stackedOnPoints:c,smooth:.4,stackedOnSmooth:.4,smoothConstraint:!1},z2:0}),_=new rM({style:{x:w.x-M,y:w.y0+w.y/2}}),I.add(x),I.add(_),s.add(I),x.setClipPath(Em(x.getBoundingRect(),t,function(){x.removeClipPath()}))}else{var I=o[n];x=I.childAt(0),_=I.childAt(1),s.add(I),d[i]=I,Io(x,{shape:{points:h,stackedOnPoints:c}},t),Io(_,{style:{x:w.x-M,y:w.y0+w.y/2}},t)}var T=b.getModel("emphasis.itemStyle"),A=b.getModel("itemStyle");mo(_.style,S,{text:S.get("show")?t.getFormattedLabel(f[p-1],"normal")||r.getName(f[p-1]):null,textVerticalAlign:"middle"}),x.setStyle(a({fill:u},A.getItemStyle(["color"]))),fo(x,T.getItemStyle())}else s.remove(o[i])}var r=t.getData(),s=this.group,l=t.getLayerSeries(),u=r.getLayout("layoutInfo"),h=u.rect,c=u.boundaryGap;s.attr("position",[0,h.y+c[0]]);var d={};new Xs(this._layersSeries||[],l,n,n).add(m(o,this,"add")).update(m(o,this,"update")).remove(m(o,this,"remove")).execute(),this._layersSeries=l,this._layers=d},dispose:function(){}});zs(function(t,e){t.eachSeriesByType("themeRiver",function(t){var e=t.getData(),i=t.coordinateSystem,n={},o=i.getRect();n.rect=o;var a=t.get("boundaryGap"),r=i.getAxis();n.boundaryGap=a,"horizontal"===r.orient?(a[0]=Vo(a[0],o.height),a[1]=Vo(a[1],o.height),Rm(e,t,o.height-a[0]-a[1])):(a[0]=Vo(a[0],o.width),a[1]=Vo(a[1],o.width),Rm(e,t,o.width-a[0]-a[1])),e.setLayout("layoutInfo",n)})}),Bs(function(t){t.eachSeriesByType("themeRiver",function(t){var e=t.getData(),i=t.getRawData(),n=t.get("color"),o=R();e.each(function(t){o.set(e.getRawIndex(t),t)}),i.each(function(a){var r=i.getName(a),s=n[(t.nameMap.get(r)-1)%n.length];i.setItemVisual(a,"color",s);var l=o.get(a);null!=l&&e.setItemVisual(l,"color",s)})})}),Os(fC("themeRiver")),YI.extend({type:"series.sunburst",_viewRoot:null,getInitialData:function(t,e){var i={name:t.name,children:t.data};Bm(i);var n=t.levels||[],o={};return o.levels=n,Vc.createTree(i,this,o).data},optionUpdated:function(){this.resetViewRoot()},getDataParams:function(t){var e=YI.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=cd(i,this),e},defaultOption:{zlevel:0,z:2,center:["50%","50%"],radius:[0,"75%"],clockwise:!0,startAngle:90,minAngle:0,percentPrecision:2,stillShowZeroSum:!0,highlightPolicy:"descendant",nodeClick:"rootToNode",renderLabelForZeroData:!1,label:{rotate:"radial",show:!0,opacity:1,align:"center",position:"inside",distance:5,silent:!0,emphasis:{}},itemStyle:{borderWidth:1,borderColor:"white",borderType:"solid",shadowBlur:0,shadowColor:"rgba(0, 0, 0, 0.2)",shadowOffsetX:0,shadowOffsetY:0,opacity:1,emphasis:{},highlight:{opacity:1},downplay:{opacity:.9}},animationType:"expansion",animationDuration:1e3,animationDurationUpdate:500,animationEasing:"cubicOut",data:[],levels:[],sort:"desc"},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)}});var RP={NONE:"none",DESCENDANT:"descendant",ANCESTOR:"ancestor",SELF:"self"},zP=2,BP=4,VP=Vm.prototype;VP.updateData=function(t,e,i,o,s){this.node=e,e.piece=this,o=o||this._seriesModel,s=s||this._ecModel;var l=this.childAt(0);l.dataIndex=e.dataIndex;var u=e.getModel(),h=e.getLayout(),c=a({},h);c.label=null;var d=Gm(e,0,s);Hm(e,o,d);var f,p=u.getModel("itemStyle").getItemStyle();f=r({lineJoin:"bevel",fill:(f="normal"===i?p:n(u.getModel(i+".itemStyle").getItemStyle(),p)).fill||d},f),t?(l.setShape(c),l.shape.r=h.r0,Io(l,{shape:{r:h.r}},o,e.dataIndex),l.useStyle(f)):"object"==typeof f.fill&&f.fill.type||"object"==typeof l.style.fill&&l.style.fill.type?(Io(l,{shape:c},o),l.useStyle(f)):Io(l,{shape:c,style:f},o),this._updateLabel(o,d,i);var g=u.getShallow("cursor");if(g&&l.attr("cursor",g),t){var m=o.getShallow("highlightPolicy");this._initEvents(l,e,o,m)}this._seriesModel=o||this._seriesModel,this._ecModel=s||this._ecModel},VP.onEmphasis=function(t){var e=this;this.node.hostTree.root.eachNode(function(i){i.piece&&(e.node===i?i.piece.updateData(!1,i,"emphasis"):Wm(i,e.node,t)?i.piece.childAt(0).trigger("highlight"):t!==RP.NONE&&i.piece.childAt(0).trigger("downplay"))})},VP.onNormal=function(){this.node.hostTree.root.eachNode(function(t){t.piece&&t.piece.updateData(!1,t,"normal")})},VP.onHighlight=function(){this.updateData(!1,this.node,"highlight")},VP.onDownplay=function(){this.updateData(!1,this.node,"downplay")},VP._updateLabel=function(t,e,i){function n(t){var e=r.get(t);return null==e?a.get(t):e}var o=this.node.getModel(),a=o.getModel("label"),r="normal"===i||"emphasis"===i?a:o.getModel(i+".label"),s=o.getModel("emphasis.label"),l=T(t.getFormattedLabel(this.node.dataIndex,"normal",null,null,"label"),this.node.name);!1===n("show")&&(l="");var u=this.node.getLayout(),h=r.get("minAngle");null==h&&(h=a.get("minAngle")),h=h/180*Math.PI;var c=u.endAngle-u.startAngle;null!=h&&Math.abs(c)<h&&(l="");var d=this.childAt(1);go(d.style,d.hoverStyle||{},a,s,{defaultText:r.getShallow("show")?l:null,autoColor:e,useInsideStyle:!0});var f,p=(u.startAngle+u.endAngle)/2,g=Math.cos(p),m=Math.sin(p),v=n("position"),y=n("distance")||0,x=n("align");"outside"===v?(f=u.r+y,x=p>Math.PI/2?"right":"left"):x&&"center"!==x?"left"===x?(f=u.r0+y,p>Math.PI/2&&(x="right")):"right"===x&&(f=u.r-y,p>Math.PI/2&&(x="left")):(f=(u.r+u.r0)/2,x="center"),d.attr("style",{text:l,textAlign:x,textVerticalAlign:n("verticalAlign")||"middle",opacity:n("opacity")});var _=f*g+u.cx,w=f*m+u.cy;d.attr("position",[_,w]);var b=n("rotate"),S=0;"radial"===b?(S=-p)<-Math.PI/2&&(S+=Math.PI):"tangential"===b?(S=Math.PI/2-p)>Math.PI/2?S-=Math.PI:S<-Math.PI/2&&(S+=Math.PI):"number"==typeof b&&(S=b*Math.PI/180),d.attr("rotation",S)},VP._initEvents=function(t,e,i,n){t.off("mouseover").off("mouseout").off("emphasis").off("normal");var o=this,a=function(){o.onEmphasis(n)},r=function(){o.onNormal()};i.isAnimationEnabled()&&t.on("mouseover",a).on("mouseout",r).on("emphasis",a).on("normal",r).on("downplay",function(){o.onDownplay()}).on("highlight",function(){o.onHighlight()})},u(Vm,tb);Ar.extend({type:"sunburst",init:function(){},render:function(t,e,i,n){function o(i,n){if(c||!i||i.getValue()||(i=null),i!==l&&n!==l)if(n&&n.piece)i?(n.piece.updateData(!1,i,"normal",t,e),s.setItemGraphicEl(i.dataIndex,n.piece)):a(n);else if(i){var o=new Vm(i,t,e);h.add(o),s.setItemGraphicEl(i.dataIndex,o)}}function a(t){t&&t.piece&&(h.remove(t.piece),t.piece=null)}var r=this;this.seriesModel=t,this.api=i,this.ecModel=e;var s=t.getData(),l=s.tree.root,u=t.getViewRoot(),h=this.group,c=t.get("renderLabelForZeroData"),d=[];u.eachNode(function(t){d.push(t)});var f=this._oldChildren||[];if(function(t,e){function i(t){return t.getId()}function n(i,n){o(null==i?null:t[i],null==n?null:e[n])}0===t.length&&0===e.length||new Xs(e,t,i,i).add(n).update(n).remove(v(n,null)).execute()}(d,f),function(i,n){if(n.depth>0){r.virtualPiece?r.virtualPiece.updateData(!1,i,"normal",t,e):(r.virtualPiece=new Vm(i,t,e),h.add(r.virtualPiece)),n.piece._onclickEvent&&n.piece.off("click",n.piece._onclickEvent);var o=function(t){r._rootToNode(n.parentNode)};n.piece._onclickEvent=o,r.virtualPiece.on("click",o)}else r.virtualPiece&&(h.remove(r.virtualPiece),r.virtualPiece=null)}(l,u),n&&n.highlight&&n.highlight.piece){var p=t.getShallow("highlightPolicy");n.highlight.piece.onEmphasis(p)}else if(n&&n.unhighlight){var g=this.virtualPiece;!g&&l.children.length&&(g=l.children[0].piece),g&&g.onNormal()}this._initEvents(),this._oldChildren=d},dispose:function(){},_initEvents:function(){var t=this,e=function(e){var i=!1;t.seriesModel.getViewRoot().eachNode(function(n){if(!i&&n.piece&&n.piece.childAt(0)===e.target){var o=n.getModel().get("nodeClick");if("rootToNode"===o)t._rootToNode(n);else if("link"===o){var a=n.getModel(),r=a.get("link");if(r){var s=a.get("target",!0)||"_blank";window.open(r,s)}}i=!0}})};this.group._onclickEvent&&this.group.off("click",this.group._onclickEvent),this.group.on("click",e),this.group._onclickEvent=e},_rootToNode:function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:"sunburstRootToNode",from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var GP="sunburstRootToNode";Es({type:GP,update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){var n=ld(t,[GP],e);if(n){var o=e.getViewRoot();o&&(t.direction=hd(o,n.node)?"rollUp":"drillDown"),e.resetViewRoot(n.node)}})});var FP="sunburstHighlight";Es({type:FP,update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){var n=ld(t,[FP],e);n&&(t.highlight=n.node)})});Es({type:"sunburstUnhighlight",update:"updateView"},function(t,e){e.eachComponent({mainType:"series",subType:"sunburst",query:t},function(e,i){t.unhighlight=!0})});var WP=Math.PI/180;Bs(v(uC,"sunburst")),zs(v(function(t,e,i,n){e.eachSeriesByType(t,function(t){var e=t.get("center"),n=t.get("radius");y(n)||(n=[0,n]),y(e)||(e=[e,e]);var o=i.getWidth(),a=i.getHeight(),r=Math.min(o,a),s=Vo(e[0],o),l=Vo(e[1],a),u=Vo(n[0],r/2),h=Vo(n[1],r/2),c=-t.get("startAngle")*WP,f=t.get("minAngle")*WP,p=t.getData().tree.root,g=t.getViewRoot(),m=g.depth,v=t.get("sort");null!=v&&Zm(g,v);var x=0;d(g.children,function(t){!isNaN(t.getValue())&&x++});var _=g.getValue(),w=Math.PI/(_||x)*2,b=g.depth>0,S=g.height-(b?-1:1),M=(h-u)/(S||1),I=t.get("clockwise"),T=t.get("stillShowZeroSum"),A=I?1:-1,D=function(t,e){if(t){var i=e;if(t!==p){var n=t.getValue(),o=0===_&&T?w:n*w;o<f&&(o=f),i=e+A*o;var a=t.depth-m-(b?-1:1),h=u+M*a,c=u+M*(a+1),g=t.getModel();null!=g.get("r0")&&(h=Vo(g.get("r0"),r/2)),null!=g.get("r")&&(c=Vo(g.get("r"),r/2)),t.setLayout({angle:o,startAngle:e,endAngle:i,clockwise:I,cx:s,cy:l,r0:h,r:c})}if(t.children&&t.children.length){var v=0;d(t.children,function(t){v+=D(t,e+v)})}return i-e}};if(b){var C=u,L=u+M,k=2*Math.PI;p.setLayout({angle:k,startAngle:c,endAngle:c+k,clockwise:I,cx:s,cy:l,r0:C,r:L})}D(g,c)})},"sunburst")),Os(v(fC,"sunburst"));var HP=["itemStyle"],ZP=["emphasis","itemStyle"],UP=["label"],XP=["emphasis","label"],jP="e\0\0",YP={cartesian2d:function(t){var e=t.grid.getRect();return{coordSys:{type:"cartesian2d",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(e){return t.dataToPoint(e)},size:m(Xm,t)}}},geo:function(t){var e=t.getBoundingRect();return{coordSys:{type:"geo",x:e.x,y:e.y,width:e.width,height:e.height,zoom:t.getZoom()},api:{coord:function(e){return t.dataToPoint(e)},size:m(jm,t)}}},singleAxis:function(t){var e=t.getRect();return{coordSys:{type:"singleAxis",x:e.x,y:e.y,width:e.width,height:e.height},api:{coord:function(e){return t.dataToPoint(e)},size:m(Ym,t)}}},polar:function(t){var e=t.getRadiusAxis(),i=t.getAngleAxis(),n=e.getExtent();return n[0]>n[1]&&n.reverse(),{coordSys:{type:"polar",cx:t.cx,cy:t.cy,r:n[1],r0:n[0]},api:{coord:m(function(n){var o=e.dataToRadius(n[0]),a=i.dataToAngle(n[1]),r=t.coordToPoint([o,a]);return r.push(o,a*Math.PI/180),r}),size:m(qm,t)}}},calendar:function(t){var e=t.getRect(),i=t.getRangeInfo();return{coordSys:{type:"calendar",x:e.x,y:e.y,width:e.width,height:e.height,cellWidth:t.getCellWidth(),cellHeight:t.getCellHeight(),rangeInfo:{start:i.start,end:i.end,weeks:i.weeks,dayCount:i.allDay}},api:{coord:function(e,i){return t.dataToPoint(e,i)}}}}};YI.extend({type:"series.custom",dependencies:["grid","polar","geo","singleAxis","calendar"],defaultOption:{coordinateSystem:"cartesian2d",zlevel:0,z:2,legendHoverLink:!0,useTransform:!0},getInitialData:function(t,e){return ml(this.getSource(),this)},getDataParams:function(t,e,i){var n=YI.prototype.getDataParams.apply(this,arguments);return i&&(n.info=i.info),n}}),Ar.extend({type:"custom",_data:null,render:function(t,e,i,n){var o=this._data,a=t.getData(),r=this.group,s=Qm(t,a,e,i);a.diff(o).add(function(e){ev(null,e,s(e,n),t,r,a)}).update(function(e,i){ev(o.getItemGraphicEl(i),e,s(e,n),t,r,a)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&r.remove(e)}).execute(),this._data=a},incrementalPrepareRender:function(t,e,i){this.group.removeAll(),this._data=null},incrementalRender:function(t,e,i,n,o){for(var a=e.getData(),r=Qm(e,a,i,n),s=t.start;s<t.end;s++)ev(null,s,r(s,o),e,this.group,a).traverse(function(t){t.isGroup||(t.incremental=!0,t.useHoverLayer=!0)})},dispose:B,filterForExposedEvent:function(t,e,i,n){var o=e.element;if(null==o||i.name===o)return!0;for(;(i=i.parent)&&i!==this.group;)if(i.name===o)return!0;return!1}}),Ns(function(t){var e=t.graphic;y(e)?e[0]&&e[0].elements?t.graphic=[t.graphic[0]]:t.graphic=[{elements:e}]:e&&!e.elements&&(t.graphic=[{elements:[e]}])});var qP=Fs({type:"graphic",defaultOption:{elements:[],parentId:null},_elOptionsToUpdate:null,mergeOption:function(t){var e=this.option.elements;this.option.elements=null,qP.superApply(this,"mergeOption",arguments),this.option.elements=e},optionUpdated:function(t,e){var i=this.option,n=(e?i:t).elements,o=i.elements=e?[]:i.elements,a=[];this._flatten(n,a);var r=Pi(o,a);Ni(r);var s=this._elOptionsToUpdate=[];d(r,function(t,e){var i=t.option;i&&(s.push(i),gv(t,i),mv(o,e,i),vv(o[e],i))},this);for(var l=o.length-1;l>=0;l--)null==o[l]?o.splice(l,1):delete o[l].$action},_flatten:function(t,e,i){d(t,function(t){if(t){i&&(t.parentOption=i),e.push(t);var n=t.children;"group"===t.type&&n&&this._flatten(n,e,t),delete t.children}},this)},useElOptionsToUpdate:function(){var t=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,t}});Ws({type:"graphic",init:function(t,e){this._elMap=R(),this._lastGraphicModel},render:function(t,e,i){t!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=t,this._updateElements(t),this._relocate(t,i)},_updateElements:function(t){var e=t.useElOptionsToUpdate();if(e){var i=this._elMap,n=this.group;d(e,function(e){var o=e.$action,a=e.id,r=i.get(a),s=e.parentId,l=null!=s?i.get(s):n,u=e.style;"text"===e.type&&u&&(e.hv&&e.hv[1]&&(u.textVerticalAlign=u.textBaseline=null),!u.hasOwnProperty("textFill")&&u.fill&&(u.textFill=u.fill),!u.hasOwnProperty("textStroke")&&u.stroke&&(u.textStroke=u.stroke));var h=fv(e);o&&"merge"!==o?"replace"===o?(dv(r,i),cv(a,l,h,i)):"remove"===o&&dv(r,i):r?r.attr(h):cv(a,l,h,i);var c=i.get(a);c&&(c.__ecGraphicWidth=e.width,c.__ecGraphicHeight=e.height,yv(c,t))})}},_relocate:function(t,e){for(var i=t.option.elements,n=this.group,o=this._elMap,a=i.length-1;a>=0;a--){var r=i[a],s=o.get(r.id);if(s){var l=s.parent;da(s,r,l===n?{width:e.getWidth(),height:e.getHeight()}:{width:l.__ecGraphicWidth||0,height:l.__ecGraphicHeight||0},null,{hv:r.hv,boundingMode:r.bounding})}}},_clear:function(){var t=this._elMap;t.each(function(e){dv(e,t)}),this._elMap=R()},dispose:function(){this._clear()}});var KP=Fs({type:"legend.plain",dependencies:["series"],layoutMode:{type:"box",ignoreSize:!0},init:function(t,e,i){this.mergeDefaultAndTheme(t,i),t.selected=t.selected||{}},mergeOption:function(t){KP.superCall(this,"mergeOption",t)},optionUpdated:function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&"single"===this.get("selectedMode")){for(var e=!1,i=0;i<t.length;i++){var n=t[i].get("name");if(this.isSelected(n)){this.select(n),e=!0;break}}!e&&this.select(t[0].get("name"))}},_updateData:function(t){var e=[],i=[];t.eachRawSeries(function(n){var o=n.name;i.push(o);var a;if(n.legendDataProvider){var r=n.legendDataProvider(),s=r.mapArray(r.getName);t.isSeriesFiltered(n)||(i=i.concat(s)),s.length?e=e.concat(s):a=!0}else a=!0;a&&Oi(n)&&e.push(n.name)}),this._availableNames=i;var n=f(this.get("data")||e,function(t){return"string"!=typeof t&&"number"!=typeof t||(t={name:t}),new No(t,this,this.ecModel)},this);this._data=n},getData:function(){return this._data},select:function(t){var e=this.option.selected;"single"===this.get("selectedMode")&&d(this._data,function(t){e[t.get("name")]=!1}),e[t]=!0},unSelect:function(t){"single"!==this.get("selectedMode")&&(this.option.selected[t]=!1)},toggleSelected:function(t){var e=this.option.selected;e.hasOwnProperty(t)||(e[t]=!0),this[e[t]?"unSelect":"select"](t)},isSelected:function(t){var e=this.option.selected;return!(e.hasOwnProperty(t)&&!e[t])&&l(this._availableNames,t)>=0},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",textStyle:{color:"#333"},selectedMode:!0,tooltip:{show:!1}}});Es("legendToggleSelect","legendselectchanged",v(xv,"toggleSelected")),Es("legendSelect","legendselected",v(xv,"select")),Es("legendUnSelect","legendunselected",v(xv,"unSelect"));var $P=v,JP=d,QP=tb,tN=Ws({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new QP),this._backgroundEl,this._isFirstRender=!0},getContentGroup:function(){return this._contentGroup},render:function(t,e,i){var n=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get("show",!0)){var o=t.get("align");o&&"auto"!==o||(o="right"===t.get("left")&&"vertical"===t.get("orient")?"right":"left"),this.renderInner(o,t,e,i);var a=t.getBoxLayoutParams(),s={width:i.getWidth(),height:i.getHeight()},l=t.get("padding"),u=ca(a,s,l),h=this.layoutInner(t,o,u,n),c=ca(r({width:h.width,height:h.height},a),s,l);this.group.attr("position",[c.x-h.x,c.y-h.y]),this.group.add(this._backgroundEl=wv(h,t))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl)},renderInner:function(t,e,i,n){var o=this.getContentGroup(),a=R(),r=e.get("selectedMode"),s=[];i.eachRawSeries(function(t){!t.get("legendHoverLink")&&s.push(t.id)}),JP(e.getData(),function(l,u){var h=l.get("name");if(this.newlineDisabled||""!==h&&"\n"!==h){var c=i.getSeriesByName(h)[0];if(!a.get(h))if(c){var d=c.getData(),f=d.getVisual("color");"function"==typeof f&&(f=f(c.getDataParams(0)));var p=d.getVisual("legendSymbol")||"roundRect",g=d.getVisual("symbol");this._createItem(h,u,l,e,p,g,t,f,r).on("click",$P(bv,h,n)).on("mouseover",$P(Sv,c.name,null,n,s)).on("mouseout",$P(Mv,c.name,null,n,s)),a.set(h,!0)}else i.eachRawSeries(function(i){if(!a.get(h)&&i.legendDataProvider){var o=i.legendDataProvider(),c=o.indexOfName(h);if(c<0)return;var d=o.getItemVisual(c,"color");this._createItem(h,u,l,e,"roundRect",null,t,d,r).on("click",$P(bv,h,n)).on("mouseover",$P(Sv,null,h,n,s)).on("mouseout",$P(Mv,null,h,n,s)),a.set(h,!0)}},this)}else o.add(new QP({newline:!0}))},this)},_createItem:function(t,e,i,n,o,r,s,l,u){var h=n.get("itemWidth"),c=n.get("itemHeight"),d=n.get("inactiveColor"),f=n.get("symbolKeepAspect"),p=n.isSelected(t),g=new QP,m=i.getModel("textStyle"),v=i.get("icon"),y=i.getModel("tooltip"),x=y.parentModel;if(o=v||o,g.add(Jl(o,0,0,h,c,p?l:d,null==f||f)),!v&&r&&(r!==o||"none"===r)){var _=.8*c;"none"===r&&(r="circle"),g.add(Jl(r,(h-_)/2,(c-_)/2,_,_,p?l:d,null==f||f))}var w="left"===s?h+5:-5,b=s,S=n.get("formatter"),M=t;"string"==typeof S&&S?M=S.replace("{name}",null!=t?t:""):"function"==typeof S&&(M=S(t)),g.add(new rM({style:mo({},m,{text:M,x:w,y:c/2,textFill:p?m.getTextColor():d,textAlign:b,textVerticalAlign:"middle"})}));var I=new yM({shape:g.getBoundingRect(),invisible:!0,tooltip:y.get("show")?a({content:t,formatter:x.get("formatter",!0)||function(){return t},formatterParams:{componentType:"legend",legendIndex:n.componentIndex,name:t,$vars:["name"]}},y.option):null});return g.add(I),g.eachChild(function(t){t.silent=!0}),I.silent=!u,this.getContentGroup().add(g),fo(g),g.__legendDataIndex=e,g},layoutInner:function(t,e,i){var n=this.getContentGroup();aI(t.get("orient"),n,t.get("itemGap"),i.width,i.height);var o=n.getBoundingRect();return n.attr("position",[-o.x,-o.y]),this.group.getBoundingRect()},remove:function(){this.getContentGroup().removeAll(),this._isFirstRender=!0}});Os(function(t){var e=t.findComponents({mainType:"legend"});e&&e.length&&t.filterSeries(function(t){for(var i=0;i<e.length;i++)if(!e[i].isSelected(t.name))return!1;return!0})}),lI.registerSubTypeDefaulter("legend",function(){return"plain"});var eN=KP.extend({type:"legend.scroll",setScrollDataIndex:function(t){this.option.scrollDataIndex=t},defaultOption:{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:"end",pageFormatter:"{current}/{total}",pageIcons:{horizontal:["M0,0L12,-10L12,10z","M0,0L-12,-10L-12,10z"],vertical:["M0,0L20,0L10,-20z","M0,0L20,0L10,20z"]},pageIconColor:"#2f4554",pageIconInactiveColor:"#aaa",pageIconSize:15,pageTextStyle:{color:"#333"},animationDurationUpdate:800},init:function(t,e,i,n){var o=ga(t);eN.superCall(this,"init",t,e,i,n),Iv(this,t,o)},mergeOption:function(t,e){eN.superCall(this,"mergeOption",t,e),Iv(this,this.option,t)},getOrient:function(){return"vertical"===this.get("orient")?{index:1,name:"vertical"}:{index:0,name:"horizontal"}}}),iN=tb,nN=["width","height"],oN=["x","y"],aN=tN.extend({type:"legend.scroll",newlineDisabled:!0,init:function(){aN.superCall(this,"init"),this._currentIndex=0,this.group.add(this._containerGroup=new iN),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new iN),this._showController},resetInner:function(){aN.superCall(this,"resetInner"),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},renderInner:function(t,e,i,n){function o(t,i){var o=t+"DataIndex",l=Po(e.get("pageIcons",!0)[e.getOrient().name][i],{onclick:m(a._pageGo,a,o,e,n)},{x:-s[0]/2,y:-s[1]/2,width:s[0],height:s[1]});l.name=t,r.add(l)}var a=this;aN.superCall(this,"renderInner",t,e,i,n);var r=this._controllerGroup,s=e.get("pageIconSize",!0);y(s)||(s=[s,s]),o("pagePrev",0);var l=e.getModel("pageTextStyle");r.add(new rM({name:"pageText",style:{textFill:l.getTextColor(),font:l.getFont(),textVerticalAlign:"middle",textAlign:"center"},silent:!0})),o("pageNext",1)},layoutInner:function(t,e,i,n){var o=this.getContentGroup(),a=this._containerGroup,r=this._controllerGroup,s=t.getOrient().index,l=nN[s],u=nN[1-s],h=oN[1-s];aI(t.get("orient"),o,t.get("itemGap"),s?i.width:null,s?null:i.height),aI("horizontal",r,t.get("pageButtonItemGap",!0));var c=o.getBoundingRect(),d=r.getBoundingRect(),f=this._showController=c[l]>i[l],p=[-c.x,-c.y];n||(p[s]=o.position[s]);var g=[0,0],m=[-d.x,-d.y],v=A(t.get("pageButtonGap",!0),t.get("itemGap",!0));f&&("end"===t.get("pageButtonPosition",!0)?m[s]+=i[l]-d[l]:g[s]+=d[l]+v),m[1-s]+=c[u]/2-d[u]/2,o.attr("position",p),a.attr("position",g),r.attr("position",m);var y=this.group.getBoundingRect();if((y={x:0,y:0})[l]=f?i[l]:c[l],y[u]=Math.max(c[u],d[u]),y[h]=Math.min(0,d[h]+m[1-s]),a.__rectSize=i[l],f){var x={x:0,y:0};x[l]=Math.max(i[l]-d[l]-v,0),x[u]=y[u],a.setClipPath(new yM({shape:x})),a.__rectSize=x[l]}else r.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var _=this._getPageInfo(t);return null!=_.pageIndex&&Io(o,{position:_.contentPosition},!!f&&t),this._updatePageInfoView(t,_),y},_pageGo:function(t,e,i){var n=this._getPageInfo(e)[t];null!=n&&i.dispatchAction({type:"legendScroll",scrollDataIndex:n,legendId:e.id})},_updatePageInfoView:function(t,e){var i=this._controllerGroup;d(["pagePrev","pageNext"],function(n){var o=null!=e[n+"DataIndex"],a=i.childOfName(n);a&&(a.setStyle("fill",o?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),a.cursor=o?"pointer":"default")});var n=i.childOfName("pageText"),o=t.get("pageFormatter"),a=e.pageIndex,r=null!=a?a+1:0,s=e.pageCount;n&&o&&n.setStyle("text",_(o)?o.replace("{current}",r).replace("{total}",s):o({current:r,total:s}))},_getPageInfo:function(t){function e(t){if(t){var e=t.getBoundingRect(),i=e[l]+t.position[r];return{s:i,e:i+e[s],i:t.__legendDataIndex}}}function i(t,e){return t.e>=e&&t.s<=e+a}var n=t.get("scrollDataIndex",!0),o=this.getContentGroup(),a=this._containerGroup.__rectSize,r=t.getOrient().index,s=nN[r],l=oN[r],u=this._findTargetItemIndex(n),h=o.children(),c=h[u],d=h.length,f=d?1:0,p={contentPosition:o.position.slice(),pageCount:f,pageIndex:f-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!c)return p;var g=e(c);p.contentPosition[r]=-g.s;for(var m=u+1,v=g,y=g,x=null;m<=d;++m)(!(x=e(h[m]))&&y.e>v.s+a||x&&!i(x,v.s))&&(v=y.i>v.i?y:x)&&(null==p.pageNextDataIndex&&(p.pageNextDataIndex=v.i),++p.pageCount),y=x;for(var m=u-1,v=g,y=g,x=null;m>=-1;--m)(x=e(h[m]))&&i(y,x.s)||!(v.i<y.i)||(y=v,null==p.pagePrevDataIndex&&(p.pagePrevDataIndex=v.i),++p.pageCount,++p.pageIndex),v=x;return p},_findTargetItemIndex:function(t){var e,i=this.getContentGroup();return this._showController?i.eachChild(function(i,n){i.__legendDataIndex===t&&(e=n)}):e=0,e}});Es("legendScroll","legendscroll",function(t,e){var i=t.scrollDataIndex;null!=i&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},function(t){t.setScrollDataIndex(i)})}),Fs({type:"tooltip",dependencies:["axisPointer"],defaultOption:{zlevel:0,z:60,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",renderMode:"auto",confine:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"rgba(50,50,50,0.7)",borderColor:"#333",borderRadius:4,borderWidth:0,padding:5,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#fff",fontSize:14}}});var rN=d,sN=ea,lN=["","-webkit-","-moz-","-o-"];Cv.prototype={constructor:Cv,_enterable:!0,update:function(){var t=this._container,e=t.currentStyle||document.defaultView.getComputedStyle(t),i=t.style;"absolute"!==i.position&&"absolute"!==e.position&&(i.position="relative")},show:function(t){clearTimeout(this._hideTimeout);var e=this.el;e.style.cssText="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;"+Dv(t)+";left:"+this._x+"px;top:"+this._y+"px;"+(t.get("extraCssText")||""),e.style.display=e.innerHTML?"block":"none",e.style.pointerEvents=this._enterable?"auto":"none",this._show=!0},setContent:function(t){this.el.innerHTML=null==t?"":t},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el;return[t.clientWidth,t.clientHeight]},moveTo:function(t,e){var i,n=this._zr;n&&n.painter&&(i=n.painter.getViewportRootOffset())&&(t+=i.offsetLeft,e+=i.offsetTop);var o=this.el.style;o.left=t+"px",o.top=e+"px",this._x=t,this._y=e},hide:function(){this.el.style.display="none",this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(m(this.hide,this),t)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){var t=this.el.clientWidth,e=this.el.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var i=document.defaultView.getComputedStyle(this.el);i&&(t+=parseInt(i.paddingLeft,10)+parseInt(i.paddingRight,10)+parseInt(i.borderLeftWidth,10)+parseInt(i.borderRightWidth,10),e+=parseInt(i.paddingTop,10)+parseInt(i.paddingBottom,10)+parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10))}return{width:t,height:e}}},Lv.prototype={constructor:Lv,_enterable:!0,update:function(){},show:function(t){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.attr("show",!0),this._show=!0},setContent:function(t,e,i){this.el&&this._zr.remove(this.el);for(var n={},o=t,a=o.indexOf("{marker");a>=0;){var r=o.indexOf("|}"),s=o.substr(a+"{marker".length,r-a-"{marker".length);s.indexOf("sub")>-1?n["marker"+s]={textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:e[s],textOffset:[3,0]}:n["marker"+s]={textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:e[s]},a=(o=o.substr(r+1)).indexOf("{marker")}this.el=new rM({style:{rich:n,text:t,textLineHeight:20,textBackgroundColor:i.get("backgroundColor"),textBorderRadius:i.get("borderRadius"),textFill:i.get("textStyle.color"),textPadding:i.get("padding")},z:i.get("z")}),this._zr.add(this.el);var l=this;this.el.on("mouseover",function(){l._enterable&&(clearTimeout(l._hideTimeout),l._show=!0),l._inContent=!0}),this.el.on("mouseout",function(){l._enterable&&l._show&&l.hideLater(l._hideDelay),l._inContent=!1})},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el.getBoundingRect();return[t.width,t.height]},moveTo:function(t,e){this.el&&this.el.attr("position",[t,e])},hide:function(){this.el?this.el.hide():true,this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(m(this.hide,this),t)):this.hide())},isShow:function(){return this._show},getOuterSize:function(){return this.getSize()}};var uN=m,hN=d,cN=Vo,dN=new yM({shape:{x:-1,y:-1,width:2,height:2}});Ws({type:"tooltip",init:function(t,e){if(!U_.node){var i=t.getComponent("tooltip").get("renderMode");this._renderMode=Hi(i);var n;"html"===this._renderMode?(n=new Cv(e.getDom(),e),this._newLine="<br/>"):(n=new Lv(e),this._newLine="\n"),this._tooltipContent=n}},render:function(t,e,i){if(!U_.node){this.group.removeAll(),this._tooltipModel=t,this._ecModel=e,this._api=i,this._lastDataByCoordSys=null,this._alwaysShowContent=t.get("alwaysShowContent");var n=this._tooltipContent;n.update(),n.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var t=this._tooltipModel.get("triggerOn");um("itemTooltip",this._api,uN(function(e,i,n){"none"!==t&&(t.indexOf(e)>=0?this._tryShow(i,n):"leave"===e&&this._hide(n))},this))},_keepShow:function(){var t=this._tooltipModel,e=this._ecModel,i=this._api;if(null!=this._lastX&&null!=this._lastY&&"none"!==t.get("triggerOn")){var n=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){n.manuallyShowTip(t,e,i,{x:n._lastX,y:n._lastY})})}},manuallyShowTip:function(t,e,i,n){if(n.from!==this.uid&&!U_.node){var o=Pv(n,i);this._ticket="";var a=n.dataByCoordSys;if(n.tooltip&&null!=n.x&&null!=n.y){var r=dN;r.position=[n.x,n.y],r.update(),r.tooltip=n.tooltip,this._tryShow({offsetX:n.x,offsetY:n.y,target:r},o)}else if(a)this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,event:{},dataByCoordSys:n.dataByCoordSys,tooltipOption:n.tooltipOption},o);else if(null!=n.seriesIndex){if(this._manuallyAxisShowTip(t,e,i,n))return;var s=xP(n,e),l=s.point[0],u=s.point[1];null!=l&&null!=u&&this._tryShow({offsetX:l,offsetY:u,position:n.position,target:s.el,event:{}},o)}else null!=n.x&&null!=n.y&&(i.dispatchAction({type:"updateAxisPointer",x:n.x,y:n.y}),this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,target:i.getZr().findHover(n.x,n.y).target,event:{}},o))}},manuallyHideTip:function(t,e,i,n){var o=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&o.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,n.from!==this.uid&&this._hide(Pv(n,i))},_manuallyAxisShowTip:function(t,e,i,n){var o=n.seriesIndex,a=n.dataIndex,r=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=o&&null!=a&&null!=r){var s=e.getSeriesByIndex(o);if(s&&"axis"===(t=kv([s.getData().getItemModel(a),s,(s.coordinateSystem||{}).model,t])).get("trigger"))return i.dispatchAction({type:"updateAxisPointer",seriesIndex:o,dataIndex:a,position:n.position}),!0}},_tryShow:function(t,e){var i=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var n=t.dataByCoordSys;n&&n.length?this._showAxisTooltip(n,t):i&&null!=i.dataIndex?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(t,i,e)):i&&i.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(t,i,e)):(this._lastDataByCoordSys=null,this._hide(e))}},_showOrMove:function(t,e){var i=t.get("showDelay");e=m(e,this),clearTimeout(this._showTimout),i>0?this._showTimout=setTimeout(e,i):e()},_showAxisTooltip:function(t,e){var i=this._ecModel,o=this._tooltipModel,a=[e.offsetX,e.offsetY],r=[],s=[],l=kv([e.tooltipOption,o]),u=this._renderMode,h=this._newLine,c={};hN(t,function(t){hN(t.dataByAxis,function(t){var e=i.getComponent(t.axisDim+"Axis",t.axisIndex),o=t.value,a=[];if(e&&null!=o){var l=Im(o,e.axis,i,t.seriesDataIndices,t.valueLabelOpt);d(t.seriesDataIndices,function(r){var h=i.getSeriesByIndex(r.seriesIndex),d=r.dataIndexInside,f=h&&h.getDataParams(d);if(f.axisDim=t.axisDim,f.axisIndex=t.axisIndex,f.axisType=t.axisType,f.axisId=t.axisId,f.axisValue=Xl(e.axis,o),f.axisValueLabel=l,f){s.push(f);var p,g=h.formatTooltip(d,!0,null,u);if(w(g)){p=g.html;var m=g.markers;n(c,m)}else p=g;a.push(p)}});var f=l;"html"!==u?r.push(a.join(h)):r.push((f?ia(f)+h:"")+a.join(h))}})},this),r.reverse(),r=r.join(this._newLine+this._newLine);var f=e.position;this._showOrMove(l,function(){this._updateContentNotChangedOnAxis(t)?this._updatePosition(l,f,a[0],a[1],this._tooltipContent,s):this._showTooltipContent(l,r,s,Math.random(),a[0],a[1],f,void 0,c)})},_showSeriesItemTooltip:function(t,e,i){var n=this._ecModel,o=e.seriesIndex,a=n.getSeriesByIndex(o),r=e.dataModel||a,s=e.dataIndex,l=e.dataType,u=r.getData(),h=kv([u.getItemModel(s),r,a&&(a.coordinateSystem||{}).model,this._tooltipModel]),c=h.get("trigger");if(null==c||"item"===c){var d,f,p=r.getDataParams(s,l),g=r.formatTooltip(s,!1,l,this._renderMode);w(g)?(d=g.html,f=g.markers):(d=g,f=null);var m="item_"+r.name+"_"+s;this._showOrMove(h,function(){this._showTooltipContent(h,d,p,m,t.offsetX,t.offsetY,t.position,t.target,f)}),i({type:"showTip",dataIndexInside:s,dataIndex:u.getRawIndex(s),seriesIndex:o,from:this.uid})}},_showComponentItemTooltip:function(t,e,i){var n=e.tooltip;if("string"==typeof n){var o=n;n={content:o,formatter:o}}var a=new No(n,this._tooltipModel,this._ecModel),r=a.get("content"),s=Math.random();this._showOrMove(a,function(){this._showTooltipContent(a,r,a.get("formatterParams")||{},s,t.offsetX,t.offsetY,t.position,e)}),i({type:"showTip",from:this.uid})},_showTooltipContent:function(t,e,i,n,o,a,r,s,l){if(this._ticket="",t.get("showContent")&&t.get("show")){var u=this._tooltipContent,h=t.get("formatter");r=r||t.get("position");var c=e;if(h&&"string"==typeof h)c=na(h,i,!0);else if("function"==typeof h){var d=uN(function(e,n){e===this._ticket&&(u.setContent(n,l,t),this._updatePosition(t,r,o,a,u,i,s))},this);this._ticket=n,c=h(i,n,d)}u.setContent(c,l,t),u.show(t),this._updatePosition(t,r,o,a,u,i,s)}},_updatePosition:function(t,e,i,n,o,a,r){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=o.getSize(),h=t.get("align"),c=t.get("verticalAlign"),d=r&&r.getBoundingRect().clone();if(r&&d.applyTransform(r.transform),"function"==typeof e&&(e=e([i,n],a,o.el,d,{viewSize:[s,l],contentSize:u.slice()})),y(e))i=cN(e[0],s),n=cN(e[1],l);else if(w(e)){e.width=u[0],e.height=u[1];var f=ca(e,{width:s,height:l});i=f.x,n=f.y,h=null,c=null}else"string"==typeof e&&r?(i=(p=Ev(e,d,u))[0],n=p[1]):(i=(p=Nv(i,n,o,s,l,h?null:20,c?null:20))[0],n=p[1]);if(h&&(i-=Rv(h)?u[0]/2:"right"===h?u[0]:0),c&&(n-=Rv(c)?u[1]/2:"bottom"===c?u[1]:0),t.get("confine")){var p=Ov(i,n,o,s,l);i=p[0],n=p[1]}o.moveTo(i,n)},_updateContentNotChangedOnAxis:function(t){var e=this._lastDataByCoordSys,i=!!e&&e.length===t.length;return i&&hN(e,function(e,n){var o=e.dataByAxis||{},a=(t[n]||{}).dataByAxis||[];(i&=o.length===a.length)&&hN(o,function(t,e){var n=a[e]||{},o=t.seriesDataIndices||[],r=n.seriesDataIndices||[];(i&=t.value===n.value&&t.axisType===n.axisType&&t.axisId===n.axisId&&o.length===r.length)&&hN(o,function(t,e){var n=r[e];i&=t.seriesIndex===n.seriesIndex&&t.dataIndex===n.dataIndex})})}),this._lastDataByCoordSys=t,!!i},_hide:function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},dispose:function(t,e){U_.node||(this._tooltipContent.hide(),gm("itemTooltip",e))}}),Es({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),Es({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){}),Gv.prototype={constructor:Gv,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToRadius:aD.prototype.dataToCoord,radiusToData:aD.prototype.coordToData},u(Gv,aD);var fN=Bi();Fv.prototype={constructor:Fv,pointToData:function(t,e){return this.polar.pointToData(t,e)["radius"===this.dim?0:1]},dataToAngle:aD.prototype.dataToCoord,angleToData:aD.prototype.coordToData,calculateCategoryInterval:function(){var t=this,e=t.getLabelModel(),i=t.scale,n=i.getExtent(),o=i.count();if(n[1]-n[0]<1)return 0;var a=n[0],r=t.dataToCoord(a+1)-t.dataToCoord(a),s=Math.abs(r),l=ke(a,e.getFont(),"center","top"),u=Math.max(l.height,7)/s;isNaN(u)&&(u=1/0);var h=Math.max(0,Math.floor(u)),c=fN(t.model),d=c.lastAutoInterval,f=c.lastTickCount;return null!=d&&null!=f&&Math.abs(d-h)<=1&&Math.abs(f-o)<=1&&d>h?h=d:(c.lastTickCount=o,c.lastAutoInterval=h),h}},u(Fv,aD);var pN=function(t){this.name=t||"",this.cx=0,this.cy=0,this._radiusAxis=new Gv,this._angleAxis=new Fv,this._radiusAxis.polar=this._angleAxis.polar=this};pN.prototype={type:"polar",axisPointerEnabled:!0,constructor:pN,dimensions:["radius","angle"],model:null,containPoint:function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},containData:function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},getAxis:function(t){return this["_"+t+"Axis"]},getAxes:function(){return[this._radiusAxis,this._angleAxis]},getAxesByScale:function(t){var e=[],i=this._angleAxis,n=this._radiusAxis;return i.scale.type===t&&e.push(i),n.scale.type===t&&e.push(n),e},getAngleAxis:function(){return this._angleAxis},getRadiusAxis:function(){return this._radiusAxis},getOtherAxis:function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},getBaseAxis:function(){return this.getAxesByScale("ordinal")[0]||this.getAxesByScale("time")[0]||this.getAngleAxis()},getTooltipAxes:function(t){var e=null!=t&&"auto"!==t?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},dataToPoint:function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},pointToData:function(t,e){var i=this.pointToCoord(t);return[this._radiusAxis.radiusToData(i[0],e),this._angleAxis.angleToData(i[1],e)]},pointToCoord:function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=this.getAngleAxis(),o=n.getExtent(),a=Math.min(o[0],o[1]),r=Math.max(o[0],o[1]);n.inverse?a=r-360:r=a+360;var s=Math.sqrt(e*e+i*i);e/=s,i/=s;for(var l=Math.atan2(-i,e)/Math.PI*180,u=l<a?1:-1;l<a||l>r;)l+=360*u;return[s,l]},coordToPoint:function(t){var e=t[0],i=t[1]/180*Math.PI;return[Math.cos(i)*e+this.cx,-Math.sin(i)*e+this.cy]}};var gN=lI.extend({type:"polarAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"polar",index:this.option.polarIndex,id:this.option.polarId})[0]}});n(gN.prototype,UA);var mN={angle:{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}},radius:{splitNumber:5}};ED("angle",gN,Wv,mN.angle),ED("radius",gN,Wv,mN.radius),Fs({type:"polar",dependencies:["polarAxis","angleAxis"],coordinateSystem:null,findAxisModel:function(t){var e;return this.ecModel.eachComponent(t,function(t){t.getCoordSysModel()===this&&(e=t)},this),e},defaultOption:{zlevel:0,z:0,center:["50%","50%"],radius:"80%"}});var vN={dimensions:pN.prototype.dimensions,create:function(t,e){var i=[];return t.eachComponent("polar",function(t,n){var o=new pN(n);o.update=Zv;var a=o.getRadiusAxis(),r=o.getAngleAxis(),s=t.findAxisModel("radiusAxis"),l=t.findAxisModel("angleAxis");Uv(a,s),Uv(r,l),Hv(o,t,e),i.push(o),t.coordinateSystem=o,o.model=t}),t.eachSeries(function(e){if("polar"===e.get("coordinateSystem")){var i=t.queryComponents({mainType:"polar",index:e.get("polarIndex"),id:e.get("polarId")})[0];e.coordinateSystem=i.coordinateSystem}}),i}};Fa.register("polar",vN);var yN=["axisLine","axisLabel","axisTick","splitLine","splitArea"];XD.extend({type:"angleAxis",axisPointerClass:"PolarAxisPointer",render:function(t,e){if(this.group.removeAll(),t.get("show")){var n=t.axis,o=n.polar,a=o.getRadiusAxis().getExtent(),r=n.getTicksCoords(),s=f(n.getViewLabels(),function(t){return(t=i(t)).coord=n.dataToCoord(t.tickValue),t});Yv(s),Yv(r),d(yN,function(e){!t.get(e+".show")||n.scale.isBlank()&&"axisLine"!==e||this["_"+e](t,o,r,a,s)},this)}},_axisLine:function(t,e,i,n){var o=t.getModel("axisLine.lineStyle"),a=new sM({shape:{cx:e.cx,cy:e.cy,r:n[jv(e)]},style:o.getLineStyle(),z2:1,silent:!0});a.style.fill=null,this.group.add(a)},_axisTick:function(t,e,i,n){var o=t.getModel("axisTick"),a=(o.get("inside")?-1:1)*o.get("length"),s=n[jv(e)],l=f(i,function(t){return new _M({shape:Xv(e,[s,s+a],t.coord)})});this.group.add(OM(l,{style:r(o.getModel("lineStyle").getLineStyle(),{stroke:t.get("axisLine.lineStyle.color")})}))},_axisLabel:function(t,e,i,n,o){var a=t.getCategories(!0),r=t.getModel("axisLabel"),s=r.get("margin");d(o,function(i,o){var l=r,u=i.tickValue,h=n[jv(e)],c=e.coordToPoint([h+s,i.coord]),d=e.cx,f=e.cy,p=Math.abs(c[0]-d)/h<.3?"center":c[0]>d?"left":"right",g=Math.abs(c[1]-f)/h<.3?"middle":c[1]>f?"top":"bottom";a&&a[u]&&a[u].textStyle&&(l=new No(a[u].textStyle,r,r.ecModel));var m=new rM({silent:!0});this.group.add(m),mo(m.style,l,{x:c[0],y:c[1],textFill:l.getTextColor()||t.get("axisLine.lineStyle.color"),text:i.formattedLabel,textAlign:p,textVerticalAlign:g})},this)},_splitLine:function(t,e,i,n){var o=t.getModel("splitLine").getModel("lineStyle"),a=o.get("color"),s=0;a=a instanceof Array?a:[a];for(var l=[],u=0;u<i.length;u++){var h=s++%a.length;l[h]=l[h]||[],l[h].push(new _M({shape:Xv(e,n,i[u].coord)}))}for(u=0;u<l.length;u++)this.group.add(OM(l[u],{style:r({stroke:a[u%a.length]},o.getLineStyle()),silent:!0,z:t.get("z")}))},_splitArea:function(t,e,i,n){if(i.length){var o=t.getModel("splitArea").getModel("areaStyle"),a=o.get("color"),s=0;a=a instanceof Array?a:[a];for(var l=[],u=Math.PI/180,h=-i[0].coord*u,c=Math.min(n[0],n[1]),d=Math.max(n[0],n[1]),f=t.get("clockwise"),p=1;p<i.length;p++){var g=s++%a.length;l[g]=l[g]||[],l[g].push(new hM({shape:{cx:e.cx,cy:e.cy,r0:c,r:d,startAngle:h,endAngle:-i[p].coord*u,clockwise:f},silent:!0})),h=-i[p].coord*u}for(p=0;p<l.length;p++)this.group.add(OM(l[p],{style:r({fill:a[p%a.length]},o.getAreaStyle()),silent:!0}))}}});var xN=["axisLine","axisTickLabel","axisName"],_N=["splitLine","splitArea"];XD.extend({type:"radiusAxis",axisPointerClass:"PolarAxisPointer",render:function(t,e){if(this.group.removeAll(),t.get("show")){var i=t.axis,n=i.polar,o=n.getAngleAxis(),a=i.getTicksCoords(),r=o.getExtent()[0],s=i.getExtent(),l=qv(n,t,r),u=new FD(t,l);d(xN,u.add,u),this.group.add(u.getGroup()),d(_N,function(e){t.get(e+".show")&&!i.scale.isBlank()&&this["_"+e](t,n,r,s,a)},this)}},_splitLine:function(t,e,i,n,o){var a=t.getModel("splitLine").getModel("lineStyle"),s=a.get("color"),l=0;s=s instanceof Array?s:[s];for(var u=[],h=0;h<o.length;h++){var c=l++%s.length;u[c]=u[c]||[],u[c].push(new sM({shape:{cx:e.cx,cy:e.cy,r:o[h].coord},silent:!0}))}for(h=0;h<u.length;h++)this.group.add(OM(u[h],{style:r({stroke:s[h%s.length],fill:null},a.getLineStyle()),silent:!0}))},_splitArea:function(t,e,i,n,o){if(o.length){var a=t.getModel("splitArea").getModel("areaStyle"),s=a.get("color"),l=0;s=s instanceof Array?s:[s];for(var u=[],h=o[0].coord,c=1;c<o.length;c++){var d=l++%s.length;u[d]=u[d]||[],u[d].push(new hM({shape:{cx:e.cx,cy:e.cy,r0:h,r:o[c].coord,startAngle:0,endAngle:2*Math.PI},silent:!0})),h=o[c].coord}for(c=0;c<u.length;c++)this.group.add(OM(u[c],{style:r({fill:s[c%s.length]},a.getAreaStyle()),silent:!0}))}}});var wN=mm.extend({makeElOption:function(t,e,i,n,o){var a=i.axis;"angle"===a.dim&&(this.animationThreshold=Math.PI/18);var r,s=a.polar,l=s.getOtherAxis(a).getExtent();r=a["dataTo"+la(a.dim)](e);var u=n.get("type");if(u&&"none"!==u){var h=bm(n),c=bN[u](a,s,r,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Sm(t,i,n,o,Kv(e,i,0,s,n.get("label.margin")))}}),bN={line:function(t,e,i,n,o){return"angle"===t.dim?{type:"Line",shape:Dm(e.coordToPoint([n[0],i]),e.coordToPoint([n[1],i]))}:{type:"Circle",shape:{cx:e.cx,cy:e.cy,r:i}}},shadow:function(t,e,i,n,o){var a=Math.max(1,t.getBandWidth()),r=Math.PI/180;return"angle"===t.dim?{type:"Sector",shape:Lm(e.cx,e.cy,n[0],n[1],(-i-a/2)*r,(a/2-i)*r)}:{type:"Sector",shape:Lm(e.cx,e.cy,i-a/2,i+a/2,0,2*Math.PI)}}};XD.registerAxisPointerClass("PolarAxisPointer",wN),zs(v(function(t,e,i){i.getWidth(),i.getHeight();var n={},o=Vv(g(e.getSeriesByType(t),function(t){return!e.isSeriesFiltered(t)&&t.coordinateSystem&&"polar"===t.coordinateSystem.type}));e.eachSeriesByType(t,function(t){if("polar"===t.coordinateSystem.type){var e=t.getData(),i=t.coordinateSystem,a=i.getBaseAxis(),r=zv(t),s=o[Bv(a)][r],l=s.offset,u=s.width,h=i.getOtherAxis(a),c=t.coordinateSystem.cx,d=t.coordinateSystem.cy,f=t.get("barMinHeight")||0,p=t.get("barMinAngle")||0;n[r]=n[r]||[];for(var g=e.mapDimension(h.dim),m=e.mapDimension(a.dim),v=pl(e,g),y=h.getExtent()[0],x=0,_=e.count();x<_;x++){var w=e.get(g,x),b=e.get(m,x);if(!isNaN(w)){var S=w>=0?"p":"n",M=y;v&&(n[r][b]||(n[r][b]={p:y,n:y}),M=n[r][b][S]);var I,T,A,D;if("radius"===h.dim){var C=h.dataToRadius(w)-y,L=a.dataToAngle(b);Math.abs(C)<f&&(C=(C<0?-1:1)*f),I=M,T=M+C,D=(A=L-l)-u,v&&(n[r][b][S]=T)}else{var k=h.dataToAngle(w,!0)-y,P=a.dataToRadius(b);Math.abs(k)<p&&(k=(k<0?-1:1)*p),T=(I=P+l)+u,A=M,D=M+k,v&&(n[r][b][S]=D)}e.setItemLayout(x,{cx:c,cy:d,r0:I,r:T,startAngle:-A*Math.PI/180,endAngle:-D*Math.PI/180})}}}},this)},"bar")),Ws({type:"polar"}),h(lI.extend({type:"geo",coordinateSystem:null,layoutMode:"box",init:function(t){lI.prototype.init.apply(this,arguments),Ci(t,"label",["show"])},optionUpdated:function(){var t=this.option,e=this;t.regions=GC.getFilledRegions(t.regions,t.map,t.nameMap),this._optionModelMap=p(t.regions||[],function(t,i){return i.name&&t.set(i.name,new No(i,e)),t},R()),this.updateSelectedMap(t.regions)},defaultOption:{zlevel:0,z:0,show:!0,left:"center",top:"center",aspectScale:null,silent:!1,map:"",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:"#000"},itemStyle:{borderWidth:.5,borderColor:"#444",color:"#eee"},emphasis:{label:{show:!0,color:"rgb(100,0,0)"},itemStyle:{color:"rgba(255,215,0,0.8)"}},regions:[]},getRegionModel:function(t){return this._optionModelMap.get(t)||new No(null,this,this.ecModel)},getFormattedLabel:function(t,e){var i=this.getRegionModel(t).get("label."+e+".formatter"),n={name:t};return"function"==typeof i?(n.status=e,i(n)):"string"==typeof i?i.replace("{a}",null!=t?t:""):void 0},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t}}),aC),Ws({type:"geo",init:function(t,e){var i=new xc(e,!0);this._mapDraw=i,this.group.add(i.group)},render:function(t,e,i,n){if(!n||"geoToggleSelect"!==n.type||n.from!==this.uid){var o=this._mapDraw;t.get("show")?o.draw(t,e,i,this,n):this._mapDraw.group.removeAll(),this.group.silent=t.get("silent")}},dispose:function(){this._mapDraw&&this._mapDraw.remove()}}),$v("toggleSelected",{type:"geoToggleSelect",event:"geoselectchanged"}),$v("select",{type:"geoSelect",event:"geoselected"}),$v("unSelect",{type:"geoUnSelect",event:"geounselected"});var SN=["rect","polygon","keep","clear"],MN=d,IN={lineX:oy(0),lineY:oy(1),rect:{point:function(t,e,i){return t&&i.boundingRect.contain(t[0],t[1])},rect:function(t,e,i){return t&&i.boundingRect.intersect(t)}},polygon:{point:function(t,e,i){return t&&i.boundingRect.contain(t[0],t[1])&&tu(i.range,t[0],t[1])},rect:function(t,e,i){var n=i.range;if(!t||n.length<=1)return!1;var o=t.x,a=t.y,r=t.width,s=t.height,l=n[0];return!!(tu(n,o,a)||tu(n,o+r,a)||tu(n,o,a+s)||tu(n,o+r,a+s)||de.create(t).contain(l[0],l[1])||ry(o,a,o+r,a,n)||ry(o,a,o,a+s,n)||ry(o+r,a,o+r,a+s,n)||ry(o,a+s,o+r,a+s,n))||void 0}}},TN=d,AN=l,DN=v,CN=["dataToPoint","pointToData"],LN=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"],kN=hy.prototype;kN.setOutputRanges=function(t,e){this.matchOutputRanges(t,e,function(t,e,i){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var n=EN[t.brushType](0,i,e);t.__rangeOffset={offset:RN[t.brushType](n.values,t.range,[1,1]),xyMinMax:n.xyMinMax}}})},kN.matchOutputRanges=function(t,e,i){TN(t,function(t){var n=this.findTargetInfo(t,e);n&&!0!==n&&d(n.coordSyses,function(n){var o=EN[t.brushType](1,n,t.range);i(t,o.values,n,e)})},this)},kN.setInputRanges=function(t,e){TN(t,function(t){var i=this.findTargetInfo(t,e);if(t.range=t.range||[],i&&!0!==i){t.panelId=i.panelId;var n=EN[t.brushType](0,i.coordSys,t.coordRange),o=t.__rangeOffset;t.range=o?RN[t.brushType](n.values,o.offset,gy(n.xyMinMax,o.xyMinMax)):n.values}},this)},kN.makePanelOpts=function(t,e){return f(this._targetInfoList,function(i){var n=i.getPanelRect();return{panelId:i.panelId,defaultBrushType:e&&e(i),clipPath:yp(n),isTargetByCursor:_p(n,t,i.coordSysModel),getLinearBrushOtherExtent:xp(n)}})},kN.controlSeries=function(t,e,i){var n=this.findTargetInfo(t,i);return!0===n||n&&AN(n.coordSyses,e.coordinateSystem)>=0},kN.findTargetInfo=function(t,e){for(var i=this._targetInfoList,n=dy(e,t),o=0;o<i.length;o++){var a=i[o],r=t.panelId;if(r){if(a.panelId===r)return a}else for(o=0;o<NN.length;o++)if(NN[o](n,a))return a}return!0};var PN={grid:function(t,e){var i=t.xAxisModels,n=t.yAxisModels,o=t.gridModels,a=R(),r={},s={};(i||n||o)&&(TN(i,function(t){var e=t.axis.grid.model;a.set(e.id,e),r[e.id]=!0}),TN(n,function(t){var e=t.axis.grid.model;a.set(e.id,e),s[e.id]=!0}),TN(o,function(t){a.set(t.id,t),r[t.id]=!0,s[t.id]=!0}),a.each(function(t){var o=t.coordinateSystem,a=[];TN(o.getCartesians(),function(t,e){(AN(i,t.getAxis("x").model)>=0||AN(n,t.getAxis("y").model)>=0)&&a.push(t)}),e.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:a[0],coordSyses:a,getPanelRect:ON.grid,xAxisDeclared:r[t.id],yAxisDeclared:s[t.id]})}))},geo:function(t,e){TN(t.geoModels,function(t){var i=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:i,coordSyses:[i],getPanelRect:ON.geo})})}},NN=[function(t,e){var i=t.xAxisModel,n=t.yAxisModel,o=t.gridModel;return!o&&i&&(o=i.axis.grid.model),!o&&n&&(o=n.axis.grid.model),o&&o===e.gridModel},function(t,e){var i=t.geoModel;return i&&i===e.geoModel}],ON={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(Ao(t)),e}},EN={lineX:DN(fy,0),lineY:DN(fy,1),rect:function(t,e,i){var n=e[CN[t]]([i[0][0],i[1][0]]),o=e[CN[t]]([i[0][1],i[1][1]]),a=[cy([n[0],o[0]]),cy([n[1],o[1]])];return{values:a,xyMinMax:a}},polygon:function(t,e,i){var n=[[1/0,-1/0],[1/0,-1/0]];return{values:f(i,function(i){var o=e[CN[t]](i);return n[0][0]=Math.min(n[0][0],o[0]),n[1][0]=Math.min(n[1][0],o[1]),n[0][1]=Math.max(n[0][1],o[0]),n[1][1]=Math.max(n[1][1],o[1]),o}),xyMinMax:n}}},RN={lineX:DN(py,0),lineY:DN(py,1),rect:function(t,e,i){return[[t[0][0]-i[0]*e[0][0],t[0][1]-i[0]*e[0][1]],[t[1][0]-i[1]*e[1][0],t[1][1]-i[1]*e[1][1]]]},polygon:function(t,e,i){return f(t,function(t,n){return[t[0]-i[0]*e[n][0],t[1]-i[1]*e[n][1]]})}},zN=["inBrush","outOfBrush"],BN="__ecBrushSelect",VN="__ecInBrushSelectEvent",GN=VT.VISUAL.BRUSH;zs(GN,function(t,e,i){t.eachComponent({mainType:"brush"},function(e){i&&"takeGlobalCursor"===i.type&&e.setBrushOption("brush"===i.key?i.brushOption:{brushType:!1}),(e.brushTargetManager=new hy(e.option,t)).setInputRanges(e.areas,t)})}),Bs(GN,function(t,e,n){var o,a,s=[];t.eachComponent({mainType:"brush"},function(e,n){function l(t){return"all"===m||v[t]}function u(t){return!!t.length}function h(t,e){var i=t.coordinateSystem;w|=i.hasAxisBrushed(),l(e)&&i.eachActiveState(t.getData(),function(t,e){"active"===t&&(x[e]=1)})}function c(i,n,o){var a=_y(i);if(a&&!wy(e,n)&&(d(b,function(n){a[n.brushType]&&e.brushTargetManager.controlSeries(n,i,t)&&o.push(n),w|=u(o)}),l(n)&&u(o))){var r=i.getData();r.each(function(t){xy(a,o,r,t)&&(x[t]=1)})}}var p={brushId:e.id,brushIndex:n,brushName:e.name,areas:i(e.areas),selected:[]};s.push(p);var g=e.option,m=g.brushLink,v=[],x=[],_=[],w=0;n||(o=g.throttleType,a=g.throttleDelay);var b=f(e.areas,function(t){return by(r({boundingRect:FN[t.brushType](t)},t))}),S=ty(e.option,zN,function(t){t.mappingMethod="fixed"});y(m)&&d(m,function(t){v[t]=1}),t.eachSeries(function(t,e){var i=_[e]=[];"parallel"===t.subType?h(t,e):c(t,e,i)}),t.eachSeries(function(t,e){var i={seriesId:t.id,seriesIndex:e,seriesName:t.name,dataIndex:[]};p.selected.push(i);var n=_y(t),o=_[e],a=t.getData(),r=l(e)?function(t){return x[t]?(i.dataIndex.push(a.getRawIndex(t)),"inBrush"):"outOfBrush"}:function(t){return xy(n,o,a,t)?(i.dataIndex.push(a.getRawIndex(t)),"inBrush"):"outOfBrush"};(l(e)?w:u(o))&&iy(zN,S,a,r)})}),vy(e,o,a,s,n)});var FN={lineX:B,lineY:B,rect:function(t){return Sy(t.range)},polygon:function(t){for(var e,i=t.range,n=0,o=i.length;n<o;n++){e=e||[[1/0,-1/0],[1/0,-1/0]];var a=i[n];a[0]<e[0][0]&&(e[0][0]=a[0]),a[0]>e[0][1]&&(e[0][1]=a[0]),a[1]<e[1][0]&&(e[1][0]=a[1]),a[1]>e[1][1]&&(e[1][1]=a[1])}return e&&Sy(e)}},WN=["#ddd"];Fs({type:"brush",dependencies:["geo","grid","xAxis","yAxis","parallel","series"],defaultOption:{toolbox:null,brushLink:null,seriesIndex:"all",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:"rect",brushMode:"single",transformable:!0,brushStyle:{borderWidth:1,color:"rgba(120,140,180,0.3)",borderColor:"rgba(120,140,180,0.8)"},throttleType:"fixRate",throttleDelay:0,removeOnClick:!0,z:1e4},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(t,e){var i=this.option;!e&&ey(i,t,["inBrush","outOfBrush"]);var n=i.inBrush=i.inBrush||{};i.outOfBrush=i.outOfBrush||{color:WN},n.hasOwnProperty("liftZ")||(n.liftZ=5)},setAreas:function(t){t&&(this.areas=f(t,function(t){return My(this.option,t)},this))},setBrushOption:function(t){this.brushOption=My(this.option,t),this.brushType=this.brushOption.brushType}});Ws({type:"brush",init:function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new zf(e.getZr())).on("brush",m(this._onBrush,this)).mount()},render:function(t){return this.model=t,Iy.apply(this,arguments)},updateTransform:Iy,updateView:Iy,dispose:function(){this._brushController.dispose()},_onBrush:function(t,e){var n=this.model.id;this.model.brushTargetManager.setOutputRanges(t,this.ecModel),(!e.isEnd||e.removeOnClick)&&this.api.dispatchAction({type:"brush",brushId:n,areas:i(t),$from:n})}}),Es({type:"brush",event:"brush"},function(t,e){e.eachComponent({mainType:"brush",query:t},function(e){e.setAreas(t.areas)})}),Es({type:"brushSelect",event:"brushSelected",update:"none"},function(){});var HN={},ZN=rT.toolbox.brush;Dy.defaultOption={show:!0,type:["rect","polygon","lineX","lineY","keep","clear"],icon:{rect:"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13",polygon:"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2",lineX:"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4",lineY:"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4",keep:"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z",clear:"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2"},title:i(ZN.title)};var UN=Dy.prototype;UN.render=UN.updateView=function(t,e,i){var n,o,a;e.eachComponent({mainType:"brush"},function(t){n=t.brushType,o=t.brushOption.brushMode||"single",a|=t.areas.length}),this._brushType=n,this._brushMode=o,d(t.get("type",!0),function(e){t.setIconStatus(e,("keep"===e?"multiple"===o:"clear"===e?a:e===n)?"emphasis":"normal")})},UN.getIcons=function(){var t=this.model,e=t.get("icon",!0),i={};return d(t.get("type",!0),function(t){e[t]&&(i[t]=e[t])}),i},UN.onclick=function(t,e,i){var n=this._brushType,o=this._brushMode;"clear"===i?(e.dispatchAction({type:"axisAreaSelect",intervals:[]}),e.dispatchAction({type:"brush",command:"clear",areas:[]})):e.dispatchAction({type:"takeGlobalCursor",key:"brush",brushOption:{brushType:"keep"===i?n:n!==i&&i,brushMode:"keep"===i?"multiple"===o?"single":"multiple":o}})},Ty("brush",Dy),Ns(function(t,e){var i=t&&t.brush;if(y(i)||(i=i?[i]:[]),i.length){var n=[];d(i,function(t){var e=t.hasOwnProperty("toolbox")?t.toolbox:[];e instanceof Array&&(n=n.concat(e))});var o=t&&t.toolbox;y(o)&&(o=o[0]),o||(o={feature:{}},t.toolbox=[o]);var a=o.feature||(o.feature={}),r=a.brush||(a.brush={}),s=r.type||(r.type=[]);s.push.apply(s,n),Jv(s),e&&!s.length&&s.push.apply(s,SN)}});Cy.prototype={constructor:Cy,type:"calendar",dimensions:["time","value"],getDimensionsInfo:function(){return[{name:"time",type:"time"},"value"]},getRangeInfo:function(){return this._rangeInfo},getModel:function(){return this._model},getRect:function(){return this._rect},getCellWidth:function(){return this._sw},getCellHeight:function(){return this._sh},getOrient:function(){return this._orient},getFirstDayOfWeek:function(){return this._firstDayOfWeek},getDateInfo:function(t){var e=(t=Yo(t)).getFullYear(),i=t.getMonth()+1;i=i<10?"0"+i:i;var n=t.getDate();n=n<10?"0"+n:n;var o=t.getDay();return o=Math.abs((o+7-this.getFirstDayOfWeek())%7),{y:e,m:i,d:n,day:o,time:t.getTime(),formatedDate:e+"-"+i+"-"+n,date:t}},getNextNDay:function(t,e){return 0===(e=e||0)?this.getDateInfo(t):((t=new Date(this.getDateInfo(t).time)).setDate(t.getDate()+e),this.getDateInfo(t))},update:function(t,e){function i(t,e){return null!=t[e]&&"auto"!==t[e]}this._firstDayOfWeek=+this._model.getModel("dayLabel").get("firstDay"),this._orient=this._model.get("orient"),this._lineWidth=this._model.getModel("itemStyle").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var n=this._rangeInfo.weeks||1,o=["width","height"],a=this._model.get("cellSize").slice(),r=this._model.getBoxLayoutParams(),s="horizontal"===this._orient?[n,7]:[7,n];d([0,1],function(t){i(a,t)&&(r[o[t]]=a[t]*s[t])});var l={width:e.getWidth(),height:e.getHeight()},u=this._rect=ca(r,l);d([0,1],function(t){i(a,t)||(a[t]=u[o[t]]/s[t])}),this._sw=a[0],this._sh=a[1]},dataToPoint:function(t,e){y(t)&&(t=t[0]),null==e&&(e=!0);var i=this.getDateInfo(t),n=this._rangeInfo,o=i.formatedDate;if(e&&!(i.time>=n.start.time&&i.time<n.end.time+864e5))return[NaN,NaN];var a=i.day,r=this._getRangeInfo([n.start.time,o]).nthWeek;return"vertical"===this._orient?[this._rect.x+a*this._sw+this._sw/2,this._rect.y+r*this._sh+this._sh/2]:[this._rect.x+r*this._sw+this._sw/2,this._rect.y+a*this._sh+this._sh/2]},pointToData:function(t){var e=this.pointToDate(t);return e&&e.time},dataToRect:function(t,e){var i=this.dataToPoint(t,e);return{contentShape:{x:i[0]-(this._sw-this._lineWidth)/2,y:i[1]-(this._sh-this._lineWidth)/2,width:this._sw-this._lineWidth,height:this._sh-this._lineWidth},center:i,tl:[i[0]-this._sw/2,i[1]-this._sh/2],tr:[i[0]+this._sw/2,i[1]-this._sh/2],br:[i[0]+this._sw/2,i[1]+this._sh/2],bl:[i[0]-this._sw/2,i[1]+this._sh/2]}},pointToDate:function(t){var e=Math.floor((t[0]-this._rect.x)/this._sw)+1,i=Math.floor((t[1]-this._rect.y)/this._sh)+1,n=this._rangeInfo.range;return"vertical"===this._orient?this._getDateByWeeksAndDay(i,e-1,n):this._getDateByWeeksAndDay(e,i-1,n)},convertToPixel:v(Ly,"dataToPoint"),convertFromPixel:v(Ly,"pointToData"),_initRangeOption:function(){var t=this._model.get("range"),e=t;if(y(e)&&1===e.length&&(e=e[0]),/^\d{4}$/.test(e)&&(t=[e+"-01-01",e+"-12-31"]),/^\d{4}[\/|-]\d{1,2}$/.test(e)){var i=this.getDateInfo(e),n=i.date;n.setMonth(n.getMonth()+1);var o=this.getNextNDay(n,-1);t=[i.formatedDate,o.formatedDate]}/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(e)&&(t=[e,e]);var a=this._getRangeInfo(t);return a.start.time>a.end.time&&t.reverse(),t},_getRangeInfo:function(t){var e;(t=[this.getDateInfo(t[0]),this.getDateInfo(t[1])])[0].time>t[1].time&&(e=!0,t.reverse());var i=Math.floor(t[1].time/864e5)-Math.floor(t[0].time/864e5)+1,n=new Date(t[0].time),o=n.getDate(),a=t[1].date.getDate();if(n.setDate(o+i-1),n.getDate()!==a)for(var r=n.getTime()-t[1].time>0?1:-1;n.getDate()!==a&&(n.getTime()-t[1].time)*r>0;)i-=r,n.setDate(o+i-1);var s=Math.floor((i+t[0].day+6)/7),l=e?1-s:s-1;return e&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:i,weeks:s,nthWeek:l,fweek:t[0].day,lweek:t[1].day}},_getDateByWeeksAndDay:function(t,e,i){var n=this._getRangeInfo(i);if(t>n.weeks||0===t&&e<n.fweek||t===n.weeks&&e>n.lweek)return!1;var o=7*(t-1)-n.fweek+e,a=new Date(n.start.time);return a.setDate(n.start.d+o),this.getDateInfo(a)}},Cy.dimensions=Cy.prototype.dimensions,Cy.getDimensionsInfo=Cy.prototype.getDimensionsInfo,Cy.create=function(t,e){var i=[];return t.eachComponent("calendar",function(n){var o=new Cy(n,t,e);i.push(o),n.coordinateSystem=o}),t.eachSeries(function(t){"calendar"===t.get("coordinateSystem")&&(t.coordinateSystem=i[t.get("calendarIndex")||0])}),i},Fa.register("calendar",Cy);var XN=lI.extend({type:"calendar",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:"horizontal",splitLine:{show:!0,lineStyle:{color:"#000",width:1,type:"solid"}},itemStyle:{color:"#fff",borderWidth:1,borderColor:"#ccc"},dayLabel:{show:!0,firstDay:0,position:"start",margin:"50%",nameMap:"en",color:"#000"},monthLabel:{show:!0,position:"start",margin:5,align:"center",nameMap:"en",formatter:null,color:"#000"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:"#ccc",fontFamily:"sans-serif",fontWeight:"bolder",fontSize:20}},init:function(t,e,i,n){var o=ga(t);XN.superApply(this,"init",arguments),ky(t,o)},mergeOption:function(t,e){XN.superApply(this,"mergeOption",arguments),ky(this.option,t)}}),jN={EN:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],CN:["涓�鏈�","浜屾湀","涓夋湀","鍥涙湀","浜旀湀","鍏湀","涓冩湀","鍏湀","涔濇湀","鍗佹湀","鍗佷竴鏈�","鍗佷簩鏈�"]},YN={EN:["S","M","T","W","T","F","S"],CN:["鏃�","涓�","浜�","涓�","鍥�","浜�","鍏�"]};Ws({type:"calendar",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(t,e,i){var n=this.group;n.removeAll();var o=t.coordinateSystem,a=o.getRangeInfo(),r=o.getOrient();this._renderDayRect(t,a,n),this._renderLines(t,a,r,n),this._renderYearText(t,a,r,n),this._renderMonthText(t,r,n),this._renderWeekText(t,a,r,n)},_renderDayRect:function(t,e,i){for(var n=t.coordinateSystem,o=t.getModel("itemStyle").getItemStyle(),a=n.getCellWidth(),r=n.getCellHeight(),s=e.start.time;s<=e.end.time;s=n.getNextNDay(s,1).time){var l=n.dataToRect([s],!1).tl,u=new yM({shape:{x:l[0],y:l[1],width:a,height:r},cursor:"default",style:o});i.add(u)}},_renderLines:function(t,e,i,n){function o(e){a._firstDayOfMonth.push(r.getDateInfo(e)),a._firstDayPoints.push(r.dataToRect([e],!1).tl);var o=a._getLinePointsOfOneWeek(t,e,i);a._tlpoints.push(o[0]),a._blpoints.push(o[o.length-1]),l&&a._drawSplitline(o,s,n)}var a=this,r=t.coordinateSystem,s=t.getModel("splitLine.lineStyle").getLineStyle(),l=t.get("splitLine.show"),u=s.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var h=e.start,c=0;h.time<=e.end.time;c++){o(h.formatedDate),0===c&&(h=r.getDateInfo(e.start.y+"-"+e.start.m));var d=h.date;d.setMonth(d.getMonth()+1),h=r.getDateInfo(d)}o(r.getNextNDay(e.end.time,1).formatedDate),l&&this._drawSplitline(a._getEdgesPoints(a._tlpoints,u,i),s,n),l&&this._drawSplitline(a._getEdgesPoints(a._blpoints,u,i),s,n)},_getEdgesPoints:function(t,e,i){var n=[t[0].slice(),t[t.length-1].slice()],o="horizontal"===i?0:1;return n[0][o]=n[0][o]-e/2,n[1][o]=n[1][o]+e/2,n},_drawSplitline:function(t,e,i){var n=new gM({z2:20,shape:{points:t},style:e});i.add(n)},_getLinePointsOfOneWeek:function(t,e,i){var n=t.coordinateSystem;e=n.getDateInfo(e);for(var o=[],a=0;a<7;a++){var r=n.getNextNDay(e.time,a),s=n.dataToRect([r.time],!1);o[2*r.day]=s.tl,o[2*r.day+1]=s["horizontal"===i?"bl":"tr"]}return o},_formatterLabel:function(t,e){return"string"==typeof t&&t?oa(t,e):"function"==typeof t?t(e):e.nameMap},_yearTextPositionControl:function(t,e,i,n,o){e=e.slice();var a=["center","bottom"];"bottom"===n?(e[1]+=o,a=["center","top"]):"left"===n?e[0]-=o:"right"===n?(e[0]+=o,a=["center","top"]):e[1]-=o;var r=0;return"left"!==n&&"right"!==n||(r=Math.PI/2),{rotation:r,position:e,style:{textAlign:a[0],textVerticalAlign:a[1]}}},_renderYearText:function(t,e,i,n){var o=t.getModel("yearLabel");if(o.get("show")){var a=o.get("margin"),r=o.get("position");r||(r="horizontal"!==i?"top":"left");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h="horizontal"===i?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},d=e.start.y;+e.end.y>+e.start.y&&(d=d+"-"+e.end.y);var f=o.get("formatter"),p={start:e.start.y,end:e.end.y,nameMap:d},g=this._formatterLabel(f,p),m=new rM({z2:30});mo(m.style,o,{text:g}),m.attr(this._yearTextPositionControl(m,c[r],i,r,a)),n.add(m)}},_monthTextPositionControl:function(t,e,i,n,o){var a="left",r="top",s=t[0],l=t[1];return"horizontal"===i?(l+=o,e&&(a="center"),"start"===n&&(r="bottom")):(s+=o,e&&(r="middle"),"start"===n&&(a="right")),{x:s,y:l,textAlign:a,textVerticalAlign:r}},_renderMonthText:function(t,e,i){var n=t.getModel("monthLabel");if(n.get("show")){var o=n.get("nameMap"),r=n.get("margin"),s=n.get("position"),l=n.get("align"),u=[this._tlpoints,this._blpoints];_(o)&&(o=jN[o.toUpperCase()]||[]);var h="start"===s?0:1,c="horizontal"===e?0:1;r="start"===s?-r:r;for(var d="center"===l,f=0;f<u[h].length-1;f++){var p=u[h][f].slice(),g=this._firstDayOfMonth[f];if(d){var m=this._firstDayPoints[f];p[c]=(m[c]+u[0][f+1][c])/2}var v=n.get("formatter"),y=o[+g.m-1],x={yyyy:g.y,yy:(g.y+"").slice(2),MM:g.m,M:+g.m,nameMap:y},w=this._formatterLabel(v,x),b=new rM({z2:30});a(mo(b.style,n,{text:w}),this._monthTextPositionControl(p,d,e,s,r)),i.add(b)}}},_weekTextPositionControl:function(t,e,i,n,o){var a="center",r="middle",s=t[0],l=t[1],u="start"===i;return"horizontal"===e?(s=s+n+(u?1:-1)*o[0]/2,a=u?"right":"left"):(l=l+n+(u?1:-1)*o[1]/2,r=u?"bottom":"top"),{x:s,y:l,textAlign:a,textVerticalAlign:r}},_renderWeekText:function(t,e,i,n){var o=t.getModel("dayLabel");if(o.get("show")){var r=t.coordinateSystem,s=o.get("position"),l=o.get("nameMap"),u=o.get("margin"),h=r.getFirstDayOfWeek();_(l)&&(l=YN[l.toUpperCase()]||[]);var c=r.getNextNDay(e.end.time,7-e.lweek).time,d=[r.getCellWidth(),r.getCellHeight()];u=Vo(u,d["horizontal"===i?0:1]),"start"===s&&(c=r.getNextNDay(e.start.time,-(7+e.fweek)).time,u=-u);for(var f=0;f<7;f++){var p=r.getNextNDay(c,f),g=r.dataToRect([p.time],!1).center,m=f;m=Math.abs((f+h)%7);var v=new rM({z2:30});a(mo(v.style,o,{text:l[m]}),this._weekTextPositionControl(g,i,s,u,d)),n.add(v)}}}}),Fs({type:"title",layoutMode:{type:"box",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bolder",color:"#333"},subtextStyle:{color:"#aaa"}}}),Ws({type:"title",render:function(t,e,i){if(this.group.removeAll(),t.get("show")){var n=this.group,o=t.getModel("textStyle"),a=t.getModel("subtextStyle"),r=t.get("textAlign"),s=t.get("textBaseline"),l=new rM({style:mo({},o,{text:t.get("text"),textFill:o.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get("subtext"),c=new rM({style:mo({},a,{text:h,textFill:a.getTextColor(),y:u.height+t.get("itemGap"),textVerticalAlign:"top"},{disableBox:!0}),z2:10}),d=t.get("link"),f=t.get("sublink"),p=t.get("triggerEvent",!0);l.silent=!d&&!p,c.silent=!f&&!p,d&&l.on("click",function(){window.open(d,"_"+t.get("target"))}),f&&c.on("click",function(){window.open(f,"_"+t.get("subtarget"))}),l.eventData=c.eventData=p?{componentType:"title",componentIndex:t.componentIndex}:null,n.add(l),h&&n.add(c);var g=n.getBoundingRect(),m=t.getBoxLayoutParams();m.width=g.width,m.height=g.height;var v=ca(m,{width:i.getWidth(),height:i.getHeight()},t.get("padding"));r||("middle"===(r=t.get("left")||t.get("right"))&&(r="center"),"right"===r?v.x+=v.width:"center"===r&&(v.x+=v.width/2)),s||("center"===(s=t.get("top")||t.get("bottom"))&&(s="middle"),"bottom"===s?v.y+=v.height:"middle"===s&&(v.y+=v.height/2),s=s||"top"),n.attr("position",[v.x,v.y]);var y={textAlign:r,textVerticalAlign:s};l.setStyle(y),c.setStyle(y),g=n.getBoundingRect();var x=v.margin,_=t.getItemStyle(["color","opacity"]);_.fill=t.get("backgroundColor");var w=new yM({shape:{x:g.x-x[3],y:g.y-x[0],width:g.width+x[1]+x[3],height:g.height+x[0]+x[2],r:t.get("borderRadius")},style:_,silent:!0});$n(w),n.add(w)}}}),lI.registerSubTypeDefaulter("dataZoom",function(){return"slider"});var qN=["cartesian2d","polar","singleAxis"],KN=function(t,e){var i=f(t=t.slice(),la),n=f(e=(e||[]).slice(),la);return function(o,a){d(t,function(t,r){for(var s={name:t,capital:i[r]},l=0;l<e.length;l++)s[e[l]]=t+n[l];o.call(a,s)})}}(["x","y","z","radius","angle","single"],["axisIndex","axis","index","id"]),$N=d,JN=Fo,QN=function(t,e,i,n){this._dimName=t,this._axisIndex=e,this._valueWindow,this._percentWindow,this._dataExtent,this._minMaxSpan,this.ecModel=n,this._dataZoomModel=i};QN.prototype={constructor:QN,hostedBy:function(t){return this._dataZoomModel===t},getDataValueWindow:function(){return this._valueWindow.slice()},getDataPercentWindow:function(){return this._percentWindow.slice()},getTargetSeriesModels:function(){var t=[],e=this.ecModel;return e.eachSeries(function(i){if(Py(i.get("coordinateSystem"))){var n=this._dimName,o=e.queryComponents({mainType:n+"Axis",index:i.get(n+"AxisIndex"),id:i.get(n+"AxisId")})[0];this._axisIndex===(o&&o.componentIndex)&&t.push(i)}},this),t},getAxisModel:function(){return this.ecModel.getComponent(this._dimName+"Axis",this._axisIndex)},getOtherAxisModel:function(){var t,e,i=this._dimName,n=this.ecModel,o=this.getAxisModel();"x"===i||"y"===i?(e="gridIndex",t="x"===i?"y":"x"):(e="polarIndex",t="angle"===i?"radius":"angle");var a;return n.eachComponent(t+"Axis",function(t){(t.get(e)||0)===(o.get(e)||0)&&(a=t)}),a},getMinMaxSpan:function(){return i(this._minMaxSpan)},calculateDataWindow:function(t){var e=this._dataExtent,i=this.getAxisModel().axis.scale,n=this._dataZoomModel.getRangePropMode(),o=[0,100],a=[t.start,t.end],r=[];return $N(["startValue","endValue"],function(e){r.push(null!=t[e]?i.parse(t[e]):null)}),$N([0,1],function(t){var s=r[t],l=a[t];"percent"===n[t]?(null==l&&(l=o[t]),s=i.parse(Bo(l,o,e,!0))):l=Bo(s,e,o,!0),r[t]=s,a[t]=l}),{valueWindow:JN(r),percentWindow:JN(a)}},reset:function(t){if(t===this._dataZoomModel){var e=this.getTargetSeriesModels();this._dataExtent=Oy(this,this._dimName,e);var i=this.calculateDataWindow(t.option);this._valueWindow=i.valueWindow,this._percentWindow=i.percentWindow,zy(this),Ry(this)}},restore:function(t){t===this._dataZoomModel&&(this._valueWindow=this._percentWindow=null,Ry(this,!0))},filterData:function(t,e){function i(t){return t>=r[0]&&t<=r[1]}if(t===this._dataZoomModel){var n=this._dimName,o=this.getTargetSeriesModels(),a=t.get("filterMode"),r=this._valueWindow;"none"!==a&&$N(o,function(t){var e=t.getData(),o=e.mapDimension(n,!0);o.length&&("weakFilter"===a?e.filterSelf(function(t){for(var i,n,a,s=0;s<o.length;s++){var l=e.get(o[s],t),u=!isNaN(l),h=l<r[0],c=l>r[1];if(u&&!h&&!c)return!0;u&&(a=!0),h&&(i=!0),c&&(n=!0)}return a&&i&&n}):$N(o,function(n){if("empty"===a)t.setData(e.map(n,function(t){return i(t)?t:NaN}));else{var o={};o[n]=r,e.selectRange(o)}}),$N(o,function(t){e.setApproximateExtent(r,t)}))})}}};var tO=d,eO=KN,iO=Fs({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(t,e,i){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var n=By(t);this.mergeDefaultAndTheme(t,i),this.doInit(n)},mergeOption:function(t){var e=By(t);n(this.option,t,!0),this.doInit(e)},doInit:function(t){var e=this.option;U_.canvasSupported||(e.realtime=!1),this._setDefaultThrottle(t),Vy(this,t),tO([["start","startValue"],["end","endValue"]],function(t,i){"value"===this._rangePropMode[i]&&(e[t[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var t=this._axisProxies;this.eachTargetAxis(function(e,i,n,o){var a=this.dependentModels[e.axis][i],r=a.__dzAxisProxy||(a.__dzAxisProxy=new QN(e.name,i,this,o));t[e.name+"_"+i]=r},this)},_resetTarget:function(){var t=this.option,e=this._judgeAutoMode();eO(function(e){var i=e.axisIndex;t[i]=Di(t[i])},this),"axisIndex"===e?this._autoSetAxisIndex():"orient"===e&&this._autoSetOrient()},_judgeAutoMode:function(){var t=this.option,e=!1;eO(function(i){null!=t[i.axisIndex]&&(e=!0)},this);var i=t.orient;return null==i&&e?"orient":e?void 0:(null==i&&(t.orient="horizontal"),"axisIndex")},_autoSetAxisIndex:function(){var t=!0,e=this.get("orient",!0),i=this.option,n=this.dependentModels;if(t){var o="vertical"===e?"y":"x";n[o+"Axis"].length?(i[o+"AxisIndex"]=[0],t=!1):tO(n.singleAxis,function(n){t&&n.get("orient",!0)===e&&(i.singleAxisIndex=[n.componentIndex],t=!1)})}t&&eO(function(e){if(t){var n=[],o=this.dependentModels[e.axis];if(o.length&&!n.length)for(var a=0,r=o.length;a<r;a++)"category"===o[a].get("type")&&n.push(a);i[e.axisIndex]=n,n.length&&(t=!1)}},this),t&&this.ecModel.eachSeries(function(t){this._isSeriesHasAllAxesTypeOf(t,"value")&&eO(function(e){var n=i[e.axisIndex],o=t.get(e.axisIndex),a=t.get(e.axisId);l(n,o=t.ecModel.queryComponents({mainType:e.axis,index:o,id:a})[0].componentIndex)<0&&n.push(o)})},this)},_autoSetOrient:function(){var t;this.eachTargetAxis(function(e){!t&&(t=e.name)},this),this.option.orient="y"===t?"vertical":"horizontal"},_isSeriesHasAllAxesTypeOf:function(t,e){var i=!0;return eO(function(n){var o=t.get(n.axisIndex),a=this.dependentModels[n.axis][o];a&&a.get("type")===e||(i=!1)},this),i},_setDefaultThrottle:function(t){if(t.hasOwnProperty("throttle")&&(this._autoThrottle=!1),this._autoThrottle){var e=this.ecModel.option;this.option.throttle=e.animation&&e.animationDurationUpdate>0?100:20}},getFirstTargetAxisModel:function(){var t;return eO(function(e){if(null==t){var i=this.get(e.axisIndex);i.length&&(t=this.dependentModels[e.axis][i[0]])}},this),t},eachTargetAxis:function(t,e){var i=this.ecModel;eO(function(n){tO(this.get(n.axisIndex),function(o){t.call(e,n,o,this,i)},this)},this)},getAxisProxy:function(t,e){return this._axisProxies[t+"_"+e]},getAxisModel:function(t,e){var i=this.getAxisProxy(t,e);return i&&i.getAxisModel()},setRawRange:function(t,e){var i=this.option;tO([["start","startValue"],["end","endValue"]],function(e){null==t[e[0]]&&null==t[e[1]]||(i[e[0]]=t[e[0]],i[e[1]]=t[e[1]])},this),!e&&Vy(this,t)},getPercentRange:function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},getValueRange:function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var i=this.findRepresentativeAxisProxy();return i?i.getDataValueWindow():void 0},findRepresentativeAxisProxy:function(t){if(t)return t.__dzAxisProxy;var e=this._axisProxies;for(var i in e)if(e.hasOwnProperty(i)&&e[i].hostedBy(this))return e[i];for(var i in e)if(e.hasOwnProperty(i)&&!e[i].hostedBy(this))return e[i]},getRangePropMode:function(){return this._rangePropMode.slice()}}),nO=qI.extend({type:"dataZoom",render:function(t,e,i,n){this.dataZoomModel=t,this.ecModel=e,this.api=i},getTargetCoordInfo:function(){function t(t,e,i,n){for(var o,a=0;a<i.length;a++)if(i[a].model===t){o=i[a];break}o||i.push(o={model:t,axisModels:[],coordIndex:n}),o.axisModels.push(e)}var e=this.dataZoomModel,i=this.ecModel,n={};return e.eachTargetAxis(function(e,o){var a=i.getComponent(e.axis,o);if(a){var r=a.getCoordSysModel();r&&t(r,a,n[r.mainType]||(n[r.mainType]=[]),r.componentIndex)}},this),n}}),oO=(iO.extend({type:"dataZoom.slider",layoutMode:"box",defaultOption:{show:!0,right:"ph",top:"ph",width:"ph",height:"ph",left:null,bottom:null,backgroundColor:"rgba(47,69,84,0)",dataBackground:{lineStyle:{color:"#2f4554",width:.5,opacity:.3},areaStyle:{color:"rgba(47,69,84,0.3)",opacity:.3}},borderColor:"#ddd",fillerColor:"rgba(167,183,204,0.4)",handleIcon:"M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z",handleSize:"100%",handleStyle:{color:"#a7b7cc"},labelPrecision:null,labelFormatter:null,showDetail:!0,showDataShadow:"auto",realtime:!0,zoomLock:!1,textStyle:{color:"#333"}}}),yM),aO=Bo,rO=Fo,sO=m,lO=d,uO="horizontal",hO=5,cO=["line","bar","candlestick","scatter"],dO=nO.extend({type:"dataZoom.slider",init:function(t,e){this._displayables={},this._orient,this._range,this._handleEnds,this._size,this._handleWidth,this._handleHeight,this._location,this._dragging,this._dataShadowInfo,this.api=e},render:function(t,e,i,n){dO.superApply(this,"render",arguments),Nr(this,"_dispatchZoomAction",this.dataZoomModel.get("throttle"),"fixRate"),this._orient=t.get("orient"),!1!==this.dataZoomModel.get("show")?(n&&"dataZoom"===n.type&&n.from===this.uid||this._buildView(),this._updateView()):this.group.removeAll()},remove:function(){dO.superApply(this,"remove",arguments),Or(this,"_dispatchZoomAction")},dispose:function(){dO.superApply(this,"dispose",arguments),Or(this,"_dispatchZoomAction")},_buildView:function(){var t=this.group;t.removeAll(),this._resetLocation(),this._resetInterval();var e=this._displayables.barGroup=new tb;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},_resetLocation:function(){var t=this.dataZoomModel,e=this.api,i=this._findCoordRect(),n={width:e.getWidth(),height:e.getHeight()},o=this._orient===uO?{right:n.width-i.x-i.width,top:n.height-30-7,width:i.width,height:30}:{right:7,top:i.y,width:30,height:i.height},a=ga(t.option);d(["right","top","width","height"],function(t){"ph"===a[t]&&(a[t]=o[t])});var r=ca(a,n,t.padding);this._location={x:r.x,y:r.y},this._size=[r.width,r.height],"vertical"===this._orient&&this._size.reverse()},_positionGroup:function(){var t=this.group,e=this._location,i=this._orient,n=this.dataZoomModel.getFirstTargetAxisModel(),o=n&&n.get("inverse"),a=this._displayables.barGroup,r=(this._dataShadowInfo||{}).otherAxisInverse;a.attr(i!==uO||o?i===uO&&o?{scale:r?[-1,1]:[-1,-1]}:"vertical"!==i||o?{scale:r?[-1,-1]:[-1,1],rotation:Math.PI/2}:{scale:r?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:r?[1,1]:[1,-1]});var s=t.getBoundingRect([a]);t.attr("position",[e.x-s.x,e.y-s.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var t=this.dataZoomModel,e=this._size,i=this._displayables.barGroup;i.add(new oO({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get("backgroundColor")},z2:-40})),i.add(new oO({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:"transparent"},z2:0,onclick:m(this._onClickPanelClick,this)}))},_renderDataShadow:function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(t){var e=this._size,i=t.series,n=i.getRawData(),o=i.getShadowDim?i.getShadowDim():t.otherDim;if(null!=o){var a=n.getDataExtent(o),s=.3*(a[1]-a[0]);a=[a[0]-s,a[1]+s];var l,u=[0,e[1]],h=[0,e[0]],c=[[e[0],0],[0,0]],d=[],f=h[1]/(n.count()-1),p=0,g=Math.round(n.count()/e[0]);n.each([o],function(t,e){if(g>0&&e%g)p+=f;else{var i=null==t||isNaN(t)||""===t,n=i?0:aO(t,a,u,!0);i&&!l&&e?(c.push([c[c.length-1][0],0]),d.push([d[d.length-1][0],0])):!i&&l&&(c.push([p,0]),d.push([p,0])),c.push([p,n]),d.push([p,n]),p+=f,l=i}});var m=this.dataZoomModel;this._displayables.barGroup.add(new pM({shape:{points:c},style:r({fill:m.get("dataBackgroundColor")},m.getModel("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new gM({shape:{points:d},style:m.getModel("dataBackground.lineStyle").getLineStyle(),silent:!0,z2:-19}))}}},_prepareDataShadowInfo:function(){var t=this.dataZoomModel,e=t.get("showDataShadow");if(!1!==e){var i,n=this.ecModel;return t.eachTargetAxis(function(o,a){d(t.getAxisProxy(o.name,a).getTargetSeriesModels(),function(t){if(!(i||!0!==e&&l(cO,t.get("type"))<0)){var r,s=n.getComponent(o.axis,a).axis,u=Gy(o.name),h=t.coordinateSystem;null!=u&&h.getOtherAxis&&(r=h.getOtherAxis(s).inverse),u=t.getData().mapDimension(u),i={thisAxis:s,series:t,thisDim:o.name,otherDim:u,otherAxisInverse:r}}},this)},this),i}},_renderHandle:function(){var t=this._displayables,e=t.handles=[],i=t.handleLabels=[],n=this._displayables.barGroup,o=this._size,a=this.dataZoomModel;n.add(t.filler=new oO({draggable:!0,cursor:Fy(this._orient),drift:sO(this._onDragMove,this,"all"),onmousemove:function(t){mw(t.event)},ondragstart:sO(this._showDataInfo,this,!0),ondragend:sO(this._onDragEnd,this),onmouseover:sO(this._showDataInfo,this,!0),onmouseout:sO(this._showDataInfo,this,!1),style:{fill:a.get("fillerColor"),textPosition:"inside"}})),n.add(new oO($n({silent:!0,shape:{x:0,y:0,width:o[0],height:o[1]},style:{stroke:a.get("dataBackgroundColor")||a.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}}))),lO([0,1],function(t){var o=Po(a.get("handleIcon"),{cursor:Fy(this._orient),draggable:!0,drift:sO(this._onDragMove,this,t),onmousemove:function(t){mw(t.event)},ondragend:sO(this._onDragEnd,this),onmouseover:sO(this._showDataInfo,this,!0),onmouseout:sO(this._showDataInfo,this,!1)},{x:-1,y:0,width:2,height:2}),r=o.getBoundingRect();this._handleHeight=Vo(a.get("handleSize"),this._size[1]),this._handleWidth=r.width/r.height*this._handleHeight,o.setStyle(a.getModel("handleStyle").getItemStyle());var s=a.get("handleColor");null!=s&&(o.style.fill=s),n.add(e[t]=o);var l=a.textStyleModel;this.group.add(i[t]=new rM({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",textFill:l.getTextColor(),textFont:l.getFont()},z2:10}))},this)},_resetInterval:function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[aO(t[0],[0,100],e,!0),aO(t[1],[0,100],e,!0)]},_updateInterval:function(t,e){var i=this.dataZoomModel,n=this._handleEnds,o=this._getViewExtent(),a=i.findRepresentativeAxisProxy().getMinMaxSpan(),r=[0,100];QL(e,n,o,i.get("zoomLock")?"all":t,null!=a.minSpan?aO(a.minSpan,r,o,!0):null,null!=a.maxSpan?aO(a.maxSpan,r,o,!0):null);var s=this._range,l=this._range=rO([aO(n[0],o,r,!0),aO(n[1],o,r,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},_updateView:function(t){var e=this._displayables,i=this._handleEnds,n=rO(i.slice()),o=this._size;lO([0,1],function(t){var n=e.handles[t],a=this._handleHeight;n.attr({scale:[a/2,a/2],position:[i[t],o[1]/2-a/2]})},this),e.filler.setShape({x:n[0],y:0,width:n[1]-n[0],height:o[1]}),this._updateDataInfo(t)},_updateDataInfo:function(t){function e(t){var e=Ao(n.handles[t].parent,this.group),i=Co(0===t?"right":"left",e),s=this._handleWidth/2+hO,l=Do([c[t]+(0===t?-s:s),this._size[1]/2],e);o[t].setStyle({x:l[0],y:l[1],textVerticalAlign:a===uO?"middle":i,textAlign:a===uO?i:"center",text:r[t]})}var i=this.dataZoomModel,n=this._displayables,o=n.handleLabels,a=this._orient,r=["",""];if(i.get("showDetail")){var s=i.findRepresentativeAxisProxy();if(s){var l=s.getAxisModel().axis,u=this._range,h=t?s.calculateDataWindow({start:u[0],end:u[1]}).valueWindow:s.getDataValueWindow();r=[this._formatLabel(h[0],l),this._formatLabel(h[1],l)]}}var c=rO(this._handleEnds.slice());e.call(this,0),e.call(this,1)},_formatLabel:function(t,e){var i=this.dataZoomModel,n=i.get("labelFormatter"),o=i.get("labelPrecision");null!=o&&"auto"!==o||(o=e.getPixelPrecision());var a=null==t||isNaN(t)?"":"category"===e.type||"time"===e.type?e.scale.getLabel(Math.round(t)):t.toFixed(Math.min(o,20));return x(n)?n(t,a):_(n)?n.replace("{value}",a):a},_showDataInfo:function(t){t=this._dragging||t;var e=this._displayables.handleLabels;e[0].attr("invisible",!t),e[1].attr("invisible",!t)},_onDragMove:function(t,e,i){this._dragging=!0;var n=Do([e,i],this._displayables.barGroup.getLocalTransform(),!0),o=this._updateInterval(t,n[0]),a=this.dataZoomModel.get("realtime");this._updateView(!a),o&&a&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1),!this.dataZoomModel.get("realtime")&&this._dispatchZoomAction()},_onClickPanelClick:function(t){var e=this._size,i=this._displayables.barGroup.transformCoordToLocal(t.offsetX,t.offsetY);if(!(i[0]<0||i[0]>e[0]||i[1]<0||i[1]>e[1])){var n=this._handleEnds,o=(n[0]+n[1])/2,a=this._updateInterval("all",i[0]-o);this._updateView(),a&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var t=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:t[0],end:t[1]})},_findCoordRect:function(){var t;if(lO(this.getTargetCoordInfo(),function(e){if(!t&&e.length){var i=e[0].model.coordinateSystem;t=i.getRect&&i.getRect()}}),!t){var e=this.api.getWidth(),i=this.api.getHeight();t={x:.2*e,y:.2*i,width:.6*e,height:.6*i}}return t}});iO.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}});var fO="\0_ec_dataZoom_roams",pO=m,gO=nO.extend({type:"dataZoom.inside",init:function(t,e){this._range},render:function(t,e,i,n){gO.superApply(this,"render",arguments),this._range=t.getPercentRange(),d(this.getTargetCoordInfo(),function(e,n){var o=f(e,function(t){return Zy(t.model)});d(e,function(e){var a=e.model,r={};d(["pan","zoom","scrollMove"],function(t){r[t]=pO(mO[t],this,e,n)},this),Wy(i,{coordId:Zy(a),allCoordIds:o,containsPoint:function(t,e,i){return a.coordinateSystem.containPoint([e,i])},dataZoomId:t.id,dataZoomModel:t,getRange:r})},this)},this)},dispose:function(){Hy(this.api,this.dataZoomModel.id),gO.superApply(this,"dispose",arguments),this._range=null}}),mO={zoom:function(t,e,i,n){var o=this._range,a=o.slice(),r=t.axisModels[0];if(r){var s=vO[e](null,[n.originX,n.originY],r,i,t),l=(s.signal>0?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(a[1]-a[0])+a[0],u=Math.max(1/n.scale,0);a[0]=(a[0]-l)*u+l,a[1]=(a[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return QL(0,a,[0,100],0,h.minSpan,h.maxSpan),this._range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}},pan:Ky(function(t,e,i,n,o,a){var r=vO[n]([a.oldX,a.oldY],[a.newX,a.newY],e,o,i);return r.signal*(t[1]-t[0])*r.pixel/r.pixelLength}),scrollMove:Ky(function(t,e,i,n,o,a){return vO[n]([0,0],[a.scrollDelta,a.scrollDelta],e,o,i).signal*(t[1]-t[0])*a.scrollDelta})},vO={grid:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem.getRect();return t=t||[0,0],"x"===a.dim?(r.pixel=e[0]-t[0],r.pixelLength=s.width,r.pixelStart=s.x,r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=s.height,r.pixelStart=s.y,r.signal=a.inverse?-1:1),r},polar:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===i.mainType?(r.pixel=e[0]-t[0],r.pixelLength=l[1]-l[0],r.pixelStart=l[0],r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=u[1]-u[0],r.pixelStart=u[0],r.signal=a.inverse?-1:1),r},singleAxis:function(t,e,i,n,o){var a=i.axis,r=o.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===a.orient?(s.pixel=e[0]-t[0],s.pixelLength=r.width,s.pixelStart=r.x,s.signal=a.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=r.height,s.pixelStart=r.y,s.signal=a.inverse?-1:1),s}};Os({getTargetSeries:function(t){var e=R();return t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,i,n){d(n.getAxisProxy(t.name,i).getTargetSeriesModels(),function(t){e.set(t.uid,t)})})}),e},modifyOutputEnd:!0,overallReset:function(t,e){t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,i,n){n.getAxisProxy(t.name,i).reset(n,e)}),t.eachTargetAxis(function(t,i,n){n.getAxisProxy(t.name,i).filterData(n,e)})}),t.eachComponent("dataZoom",function(t){var e=t.findRepresentativeAxisProxy(),i=e.getDataPercentWindow(),n=e.getDataValueWindow();t.setRawRange({start:i[0],end:i[1],startValue:n[0],endValue:n[1]},!0)})}}),Es("dataZoom",function(t,e){var i=Ny(m(e.eachComponent,e,"dataZoom"),KN,function(t,e){return t.get(e.axisIndex)}),n=[];e.eachComponent({mainType:"dataZoom",query:t},function(t,e){n.push.apply(n,i(t).nodes)}),d(n,function(e,i){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})})});var yO=d,xO=function(t){var e=t&&t.visualMap;y(e)||(e=e?[e]:[]),yO(e,function(t){if(t){$y(t,"splitList")&&!$y(t,"pieces")&&(t.pieces=t.splitList,delete t.splitList);var e=t.pieces;e&&y(e)&&yO(e,function(t){w(t)&&($y(t,"start")&&!$y(t,"min")&&(t.min=t.start),$y(t,"end")&&!$y(t,"max")&&(t.max=t.end))})}})};lI.registerSubTypeDefaulter("visualMap",function(t){return t.categories||(t.pieces?t.pieces.length>0:t.splitNumber>0)&&!t.calculable?"piecewise":"continuous"});var _O=VT.VISUAL.COMPONENT;Bs(_O,{createOnAllSeries:!0,reset:function(t,e){var i=[];return e.eachComponent("visualMap",function(e){var n=t.pipelineContext;!e.isTargetSeries(t)||n&&n.large||i.push(ny(e.stateList,e.targetVisuals,m(e.getValueState,e),e.getDataDimension(t.getData())))}),i}}),Bs(_O,{createOnAllSeries:!0,reset:function(t,e){var i=t.getData(),n=[];e.eachComponent("visualMap",function(e){if(e.isTargetSeries(t)){var o=e.getVisualMeta(m(Jy,null,t,e))||{stops:[],outerColors:[]},a=e.getDataDimension(i),r=i.getDimensionInfo(a);null!=r&&(o.dimension=r.index,n.push(o))}}),t.getData().setVisual("visualMeta",n)}});var wO={get:function(t,e,n){var o=i((bO[t]||{})[e]);return n&&y(o)?o[o.length-1]:o}},bO={color:{active:["#006edd","#e0ffff"],inactive:["rgba(0,0,0,0)"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:["circle","roundRect","diamond"],inactive:["none"]},symbolSize:{active:[10,50],inactive:[0,0]}},SO=hL.mapVisual,MO=hL.eachVisual,IO=y,TO=d,AO=Fo,DO=Bo,CO=B,LO=Fs({type:"visualMap",dependencies:["series"],stateList:["inRange","outOfRange"],replacableOptionKeys:["inRange","outOfRange","target","controller","color"],dataBound:[-1/0,1/0],layoutMode:{type:"box",ignoreSize:!0},defaultOption:{show:!0,zlevel:0,z:4,seriesIndex:"all",min:0,max:200,dimension:null,inRange:null,outOfRange:null,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:"vertical",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",contentColor:"#5793f3",inactiveColor:"#aaa",borderWidth:0,padding:5,textGap:10,precision:0,color:null,formatter:null,text:null,textStyle:{color:"#333"}},init:function(t,e,i){this._dataExtent,this.targetVisuals={},this.controllerVisuals={},this.textStyleModel,this.itemSize,this.mergeDefaultAndTheme(t,i)},optionUpdated:function(t,e){var i=this.option;U_.canvasSupported||(i.realtime=!1),!e&&ey(i,t,this.replacableOptionKeys),this.textStyleModel=this.getModel("textStyle"),this.resetItemSize(),this.completeVisualOption()},resetVisual:function(t){var e=this.stateList;t=m(t,this),this.controllerVisuals=ty(this.option.controller,e,t),this.targetVisuals=ty(this.option.target,e,t)},getTargetSeriesIndices:function(){var t=this.option.seriesIndex,e=[];return null==t||"all"===t?this.ecModel.eachSeries(function(t,i){e.push(i)}):e=Di(t),e},eachTargetSeries:function(t,e){d(this.getTargetSeriesIndices(),function(i){t.call(e,this.ecModel.getSeriesByIndex(i))},this)},isTargetSeries:function(t){var e=!1;return this.eachTargetSeries(function(i){i===t&&(e=!0)}),e},formatValueText:function(t,e,i){function n(t){return t===l[0]?"min":t===l[1]?"max":(+t).toFixed(Math.min(s,20))}var o,a,r=this.option,s=r.precision,l=this.dataBound,u=r.formatter;return i=i||["<",">"],y(t)&&(t=t.slice(),o=!0),a=e?t:o?[n(t[0]),n(t[1])]:n(t),_(u)?u.replace("{value}",o?a[0]:a).replace("{value2}",o?a[1]:a):x(u)?o?u(t[0],t[1]):u(t):o?t[0]===l[0]?i[0]+" "+a[1]:t[1]===l[1]?i[1]+" "+a[0]:a[0]+" - "+a[1]:a},resetExtent:function(){var t=this.option,e=AO([t.min,t.max]);this._dataExtent=e},getDataDimension:function(t){var e=this.option.dimension,i=t.dimensions;if(null!=e||i.length){if(null!=e)return t.getDimension(e);for(var n=t.dimensions,o=n.length-1;o>=0;o--){var a=n[o];if(!t.getDimensionInfo(a).isCalculationCoord)return a}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){function t(t){IO(o.color)&&!t.inRange&&(t.inRange={color:o.color.slice().reverse()}),t.inRange=t.inRange||{color:e.get("gradientColor")},TO(this.stateList,function(e){var i=t[e];if(_(i)){var n=wO.get(i,"active",l);n?(t[e]={},t[e][i]=n):delete t[e]}},this)}var e=this.ecModel,o=this.option,a={inRange:o.inRange,outOfRange:o.outOfRange},r=o.target||(o.target={}),s=o.controller||(o.controller={});n(r,a),n(s,a);var l=this.isCategory();t.call(this,r),t.call(this,s),function(t,e,i){var n=t[e],o=t[i];n&&!o&&(o=t[i]={},TO(n,function(t,e){if(hL.isValidType(e)){var i=wO.get(e,"inactive",l);null!=i&&(o[e]=i,"color"!==e||o.hasOwnProperty("opacity")||o.hasOwnProperty("colorAlpha")||(o.opacity=[0,0]))}}))}.call(this,r,"inRange","outOfRange"),function(t){var e=(t.inRange||{}).symbol||(t.outOfRange||{}).symbol,n=(t.inRange||{}).symbolSize||(t.outOfRange||{}).symbolSize,o=this.get("inactiveColor");TO(this.stateList,function(a){var r=this.itemSize,s=t[a];s||(s=t[a]={color:l?o:[o]}),null==s.symbol&&(s.symbol=e&&i(e)||(l?"roundRect":["roundRect"])),null==s.symbolSize&&(s.symbolSize=n&&i(n)||(l?r[0]:[r[0],r[0]])),s.symbol=SO(s.symbol,function(t){return"none"===t||"square"===t?"roundRect":t});var u=s.symbolSize;if(null!=u){var h=-1/0;MO(u,function(t){t>h&&(h=t)}),s.symbolSize=SO(u,function(t){return DO(t,[0,h],[0,r[0]],!0)})}},this)}.call(this,s)},resetItemSize:function(){this.itemSize=[parseFloat(this.get("itemWidth")),parseFloat(this.get("itemHeight"))]},isCategory:function(){return!!this.option.categories},setSelected:CO,getValueState:CO,getVisualMeta:CO}),kO=[20,140],PO=LO.extend({type:"visualMap.continuous",defaultOption:{align:"auto",calculable:!1,range:null,realtime:!0,itemHeight:null,itemWidth:null,hoverLink:!0,hoverLinkDataSize:null,hoverLinkOnHandle:null},optionUpdated:function(t,e){PO.superApply(this,"optionUpdated",arguments),this.resetExtent(),this.resetVisual(function(t){t.mappingMethod="linear",t.dataExtent=this.getExtent()}),this._resetRange()},resetItemSize:function(){PO.superApply(this,"resetItemSize",arguments);var t=this.itemSize;"horizontal"===this._orient&&t.reverse(),(null==t[0]||isNaN(t[0]))&&(t[0]=kO[0]),(null==t[1]||isNaN(t[1]))&&(t[1]=kO[1])},_resetRange:function(){var t=this.getExtent(),e=this.option.range;!e||e.auto?(t.auto=1,this.option.range=t):y(e)&&(e[0]>e[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},completeVisualOption:function(){LO.prototype.completeVisualOption.apply(this,arguments),d(this.stateList,function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=0)},this)},setSelected:function(t){this.option.range=t.slice(),this._resetRange()},getSelected:function(){var t=this.getExtent(),e=Fo((this.get("range")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]<t[0]&&(e[0]=t[0]),e[1]<t[0]&&(e[1]=t[0]),e},getValueState:function(t){var e=this.option.range,i=this.getExtent();return(e[0]<=i[0]||e[0]<=t)&&(e[1]>=i[1]||t<=e[1])?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],o=i.getData();o.each(this.getDataDimension(o),function(e,i){t[0]<=e&&e<=t[1]&&n.push(i)},this),e.push({seriesId:i.id,dataIndex:n})},this),e},getVisualMeta:function(t){function e(e,i){o.push({value:e,color:t(e,i)})}for(var i=Qy(0,0,this.getExtent()),n=Qy(0,0,this.option.range.slice()),o=[],a=0,r=0,s=n.length,l=i.length;r<l&&(!n.length||i[r]<=n[0]);r++)i[r]<n[a]&&e(i[r],"outOfRange");for(u=1;a<s;a++,u=0)u&&o.length&&e(n[a],"outOfRange"),e(n[a],"inRange");for(var u=1;r<l;r++)(!n.length||n[n.length-1]<i[r])&&(u&&(o.length&&e(o[o.length-1].value,"outOfRange"),u=0),e(i[r],"outOfRange"));var h=o.length;return{stops:o,outerColors:[h?o[0].color:"transparent",h?o[h-1].color:"transparent"]}}}),NO=Ws({type:"visualMap",autoPositionValues:{left:1,right:1,top:1,bottom:1},init:function(t,e){this.ecModel=t,this.api=e,this.visualMapModel},render:function(t,e,i,n){this.visualMapModel=t,!1!==t.get("show")?this.doRender.apply(this,arguments):this.group.removeAll()},renderBackground:function(t){var e=this.visualMapModel,i=qM(e.get("padding")||0),n=t.getBoundingRect();t.add(new yM({z2:-1,silent:!0,shape:{x:n.x-i[3],y:n.y-i[0],width:n.width+i[3]+i[1],height:n.height+i[0]+i[2]},style:{fill:e.get("backgroundColor"),stroke:e.get("borderColor"),lineWidth:e.get("borderWidth")}}))},getControllerVisual:function(t,e,i){function n(t){return s[t]}function o(t,e){s[t]=e}var a=(i=i||{}).forceState,r=this.visualMapModel,s={};if("symbol"===e&&(s.symbol=r.get("itemSymbol")),"color"===e){var l=r.get("contentColor");s.color=l}var u=r.controllerVisuals[a||r.getValueState(t)];return d(hL.prepareVisualTypes(u),function(a){var r=u[a];i.convertOpacityToAlpha&&"opacity"===a&&(a="colorAlpha",r=u.__alphaForOpacity),hL.dependsOn(a,e)&&r&&r.applyVisual(t,n,o)}),s[e]},positionGroup:function(t){var e=this.visualMapModel,i=this.api;da(t,e.getBoxLayoutParams(),{width:i.getWidth(),height:i.getHeight()})},doRender:B}),OO=Bo,EO=d,RO=Math.min,zO=Math.max,BO=12,VO=6,GO=NO.extend({type:"visualMap.continuous",init:function(){GO.superApply(this,"init",arguments),this._shapes={},this._dataInterval=[],this._handleEnds=[],this._orient,this._useHandle,this._hoverLinkDataIndices=[],this._dragging,this._hovering},doRender:function(t,e,i,n){n&&"selectDataRange"===n.type&&n.from===this.uid||this._buildView()},_buildView:function(){this.group.removeAll();var t=this.visualMapModel,e=this.group;this._orient=t.get("orient"),this._useHandle=t.get("calculable"),this._resetInterval(),this._renderBar(e);var i=t.get("text");this._renderEndsText(e,i,0),this._renderEndsText(e,i,1),this._updateView(!0),this.renderBackground(e),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(e)},_renderEndsText:function(t,e,i){if(e){var n=e[1-i];n=null!=n?n+"":"";var o=this.visualMapModel,a=o.get("textGap"),r=o.itemSize,s=this._shapes.barGroup,l=this._applyTransform([r[0]/2,0===i?-a:r[1]+a],s),u=this._applyTransform(0===i?"bottom":"top",s),h=this._orient,c=this.visualMapModel.textStyleModel;this.group.add(new rM({style:{x:l[0],y:l[1],textVerticalAlign:"horizontal"===h?"middle":u,textAlign:"horizontal"===h?u:"center",text:n,textFont:c.getFont(),textFill:c.getTextColor()}}))}},_renderBar:function(t){var e=this.visualMapModel,i=this._shapes,n=e.itemSize,o=this._orient,a=this._useHandle,r=tx(e,this.api,n),s=i.barGroup=this._createBarGroup(r);s.add(i.outOfRange=ix()),s.add(i.inRange=ix(null,a?sx(this._orient):null,m(this._dragHandle,this,"all",!1),m(this._dragHandle,this,"all",!0)));var l=e.textStyleModel.getTextRect("鍥�"),u=zO(l.width,l.height);a&&(i.handleThumbs=[],i.handleLabels=[],i.handleLabelPoints=[],this._createHandle(s,0,n,u,o,r),this._createHandle(s,1,n,u,o,r)),this._createIndicator(s,n,u,o),t.add(s)},_createHandle:function(t,e,i,n,o){var a=m(this._dragHandle,this,e,!1),r=m(this._dragHandle,this,e,!0),s=ix(nx(e,n),sx(this._orient),a,r);s.position[0]=i[0],t.add(s);var l=this.visualMapModel.textStyleModel,u=new rM({draggable:!0,drift:a,onmousemove:function(t){mw(t.event)},ondragend:r,style:{x:0,y:0,text:"",textFont:l.getFont(),textFill:l.getTextColor()}});this.group.add(u);var h=["horizontal"===o?n/2:1.5*n,"horizontal"===o?0===e?-1.5*n:1.5*n:0===e?-n/2:n/2],c=this._shapes;c.handleThumbs[e]=s,c.handleLabelPoints[e]=h,c.handleLabels[e]=u},_createIndicator:function(t,e,i,n){var o=ix([[0,0]],"move");o.position[0]=e[0],o.attr({invisible:!0,silent:!0}),t.add(o);var a=this.visualMapModel.textStyleModel,r=new rM({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textFont:a.getFont(),textFill:a.getTextColor()}});this.group.add(r);var s=["horizontal"===n?i/2:VO+3,0],l=this._shapes;l.indicator=o,l.indicatorLabel=r,l.indicatorLabelPoint=s},_dragHandle:function(t,e,i,n){if(this._useHandle){if(this._dragging=!e,!e){var o=this._applyTransform([i,n],this._shapes.barGroup,!0);this._updateInterval(t,o[1]),this._updateView()}e===!this.visualMapModel.get("realtime")&&this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),e?!this._hovering&&this._clearHoverLinkToSeries():rx(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[t],!1)}},_resetInterval:function(){var t=this.visualMapModel,e=this._dataInterval=t.getSelected(),i=t.getExtent(),n=[0,t.itemSize[1]];this._handleEnds=[OO(e[0],i,n,!0),OO(e[1],i,n,!0)]},_updateInterval:function(t,e){e=e||0;var i=this.visualMapModel,n=this._handleEnds,o=[0,i.itemSize[1]];QL(e,n,o,t,0);var a=i.getExtent();this._dataInterval=[OO(n[0],o,a,!0),OO(n[1],o,a,!0)]},_updateView:function(t){var e=this.visualMapModel,i=e.getExtent(),n=this._shapes,o=[0,e.itemSize[1]],a=t?o:this._handleEnds,r=this._createBarVisual(this._dataInterval,i,a,"inRange"),s=this._createBarVisual(i,i,o,"outOfRange");n.inRange.setStyle({fill:r.barColor,opacity:r.opacity}).setShape("points",r.barPoints),n.outOfRange.setStyle({fill:s.barColor,opacity:s.opacity}).setShape("points",s.barPoints),this._updateHandle(a,r)},_createBarVisual:function(t,e,i,n){var o={forceState:n,convertOpacityToAlpha:!0},a=this._makeColorGradient(t,o),r=[this.getControllerVisual(t[0],"symbolSize",o),this.getControllerVisual(t[1],"symbolSize",o)],s=this._createBarPoints(i,r);return{barColor:new TM(0,0,0,1,a),barPoints:s,handlesColor:[a[0].color,a[a.length-1].color]}},_makeColorGradient:function(t,e){var i=[],n=(t[1]-t[0])/100;i.push({color:this.getControllerVisual(t[0],"color",e),offset:0});for(var o=1;o<100;o++){var a=t[0]+n*o;if(a>t[1])break;i.push({color:this.getControllerVisual(a,"color",e),offset:o/100})}return i.push({color:this.getControllerVisual(t[1],"color",e),offset:1}),i},_createBarPoints:function(t,e){var i=this.visualMapModel.itemSize;return[[i[0]-e[0],t[0]],[i[0],t[0]],[i[0],t[1]],[i[0]-e[1],t[1]]]},_createBarGroup:function(t){var e=this._orient,i=this.visualMapModel.get("inverse");return new tb("horizontal"!==e||i?"horizontal"===e&&i?{scale:"bottom"===t?[-1,1]:[1,1],rotation:-Math.PI/2}:"vertical"!==e||i?{scale:"left"===t?[1,1]:[-1,1]}:{scale:"left"===t?[1,-1]:[-1,-1]}:{scale:"bottom"===t?[1,1]:[-1,1],rotation:Math.PI/2})},_updateHandle:function(t,e){if(this._useHandle){var i=this._shapes,n=this.visualMapModel,o=i.handleThumbs,a=i.handleLabels;EO([0,1],function(r){var s=o[r];s.setStyle("fill",e.handlesColor[r]),s.position[1]=t[r];var l=Do(i.handleLabelPoints[r],Ao(s,this.group));a[r].setStyle({x:l[0],y:l[1],text:n.formatValueText(this._dataInterval[r]),textVerticalAlign:"middle",textAlign:this._applyTransform("horizontal"===this._orient?0===r?"bottom":"top":"left",i.barGroup)})},this)}},_showIndicator:function(t,e,i,n){var o=this.visualMapModel,a=o.getExtent(),r=o.itemSize,s=[0,r[1]],l=OO(t,a,s,!0),u=this._shapes,h=u.indicator;if(h){h.position[1]=l,h.attr("invisible",!1),h.setShape("points",ox(!!i,n,l,r[1]));var c={convertOpacityToAlpha:!0},d=this.getControllerVisual(t,"color",c);h.setStyle("fill",d);var f=Do(u.indicatorLabelPoint,Ao(h,this.group)),p=u.indicatorLabel;p.attr("invisible",!1);var g=this._applyTransform("left",u.barGroup),m=this._orient;p.setStyle({text:(i||"")+o.formatValueText(e),textVerticalAlign:"horizontal"===m?g:"middle",textAlign:"horizontal"===m?"center":g,x:f[0],y:f[1]})}},_enableHoverLinkToSeries:function(){var t=this;this._shapes.barGroup.on("mousemove",function(e){if(t._hovering=!0,!t._dragging){var i=t.visualMapModel.itemSize,n=t._applyTransform([e.offsetX,e.offsetY],t._shapes.barGroup,!0,!0);n[1]=RO(zO(0,n[1]),i[1]),t._doHoverLinkToSeries(n[1],0<=n[0]&&n[0]<=i[0])}}).on("mouseout",function(){t._hovering=!1,!t._dragging&&t._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on("mouseover",this._hoverLinkFromSeriesMouseOver,this),t.on("mouseout",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(t,e){var i=this.visualMapModel,n=i.itemSize;if(i.option.hoverLink){var o=[0,n[1]],a=i.getExtent();t=RO(zO(o[0],t),o[1]);var r=ax(i,a,o),s=[t-r,t+r],l=OO(t,o,a,!0),u=[OO(s[0],o,a,!0),OO(s[1],o,a,!0)];s[0]<o[0]&&(u[0]=-1/0),s[1]>o[1]&&(u[1]=1/0),e&&(u[0]===-1/0?this._showIndicator(l,u[1],"< ",r):u[1]===1/0?this._showIndicator(l,u[0],"> ",r):this._showIndicator(l,l,"鈮� ",r));var h=this._hoverLinkDataIndices,c=[];(e||rx(i))&&(c=this._hoverLinkDataIndices=i.findTargetDataIndices(u));var d=Ri(h,c);this._dispatchHighDown("downplay",ex(d[0])),this._dispatchHighDown("highlight",ex(d[1]))}},_hoverLinkFromSeriesMouseOver:function(t){var e=t.target,i=this.visualMapModel;if(e&&null!=e.dataIndex){var n=this.ecModel.getSeriesByIndex(e.seriesIndex);if(i.isTargetSeries(n)){var o=n.getData(e.dataType),a=o.get(i.getDataDimension(o),e.dataIndex,!0);isNaN(a)||this._showIndicator(a,a)}}},_hideIndicator:function(){var t=this._shapes;t.indicator&&t.indicator.attr("invisible",!0),t.indicatorLabel&&t.indicatorLabel.attr("invisible",!0)},_clearHoverLinkToSeries:function(){this._hideIndicator();var t=this._hoverLinkDataIndices;this._dispatchHighDown("downplay",ex(t)),t.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var t=this.api.getZr();t.off("mouseover",this._hoverLinkFromSeriesMouseOver),t.off("mouseout",this._hideIndicator)},_applyTransform:function(t,e,i,n){var o=Ao(e,n?null:this.group);return zM[y(t)?"applyTransform":"transformDirection"](t,o,i)},_dispatchHighDown:function(t,e){e&&e.length&&this.api.dispatchAction({type:t,batch:e})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});Es({type:"selectDataRange",event:"dataRangeSelected",update:"update"},function(t,e){e.eachComponent({mainType:"visualMap",query:t},function(e){e.setSelected(t.selected)})}),Ns(xO);var FO=LO.extend({type:"visualMap.piecewise",defaultOption:{selected:null,minOpen:!1,maxOpen:!1,align:"auto",itemWidth:20,itemHeight:14,itemSymbol:"roundRect",pieceList:null,categories:null,splitNumber:5,selectedMode:"multiple",itemGap:10,hoverLink:!0,showLabel:null},optionUpdated:function(t,e){FO.superApply(this,"optionUpdated",arguments),this._pieceList=[],this.resetExtent();var n=this._mode=this._determineMode();WO[this._mode].call(this),this._resetSelected(t,e);var o=this.option.categories;this.resetVisual(function(t,e){"categories"===n?(t.mappingMethod="category",t.categories=i(o)):(t.dataExtent=this.getExtent(),t.mappingMethod="piecewise",t.pieceList=f(this._pieceList,function(t){var t=i(t);return"inRange"!==e&&(t.visual=null),t}))})},completeVisualOption:function(){function t(t,e,i){return t&&t[e]&&(w(t[e])?t[e].hasOwnProperty(i):t[e]===i)}var e=this.option,i={},n=hL.listVisualTypes(),o=this.isCategory();d(e.pieces,function(t){d(n,function(e){t.hasOwnProperty(e)&&(i[e]=1)})}),d(i,function(i,n){var a=0;d(this.stateList,function(i){a|=t(e,i,n)||t(e.target,i,n)},this),!a&&d(this.stateList,function(t){(e[t]||(e[t]={}))[n]=wO.get(n,"inRange"===t?"active":"inactive",o)})},this),LO.prototype.completeVisualOption.apply(this,arguments)},_resetSelected:function(t,e){var i=this.option,n=this._pieceList,o=(e?i:t).selected||{};if(i.selected=o,d(n,function(t,e){var i=this.getSelectedMapKey(t);o.hasOwnProperty(i)||(o[i]=!0)},this),"single"===i.selectedMode){var a=!1;d(n,function(t,e){var i=this.getSelectedMapKey(t);o[i]&&(a?o[i]=!1:a=!0)},this)}},getSelectedMapKey:function(t){return"categories"===this._mode?t.value+"":t.index+""},getPieceList:function(){return this._pieceList},_determineMode:function(){var t=this.option;return t.pieces&&t.pieces.length>0?"pieces":this.option.categories?"categories":"splitNumber"},setSelected:function(t){this.option.selected=i(t)},getValueState:function(t){var e=hL.findPieceIndex(t,this._pieceList);return null!=e&&this.option.selected[this.getSelectedMapKey(this._pieceList[e])]?"inRange":"outOfRange"},findTargetDataIndices:function(t){var e=[];return this.eachTargetSeries(function(i){var n=[],o=i.getData();o.each(this.getDataDimension(o),function(e,i){hL.findPieceIndex(e,this._pieceList)===t&&n.push(i)},this),e.push({seriesId:i.id,dataIndex:n})},this),e},getRepresentValue:function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var i=t.interval||[];e=i[0]===-1/0&&i[1]===1/0?0:(i[0]+i[1])/2}return e},getVisualMeta:function(t){function e(e,a){var r=o.getRepresentValue({interval:e});a||(a=o.getValueState(r));var s=t(r,a);e[0]===-1/0?n[0]=s:e[1]===1/0?n[1]=s:i.push({value:e[0],color:s},{value:e[1],color:s})}if(!this.isCategory()){var i=[],n=[],o=this,a=this._pieceList.slice();if(a.length){var r=a[0].interval[0];r!==-1/0&&a.unshift({interval:[-1/0,r]}),(r=a[a.length-1].interval[1])!==1/0&&a.push({interval:[r,1/0]})}else a.push({interval:[-1/0,1/0]});var s=-1/0;return d(a,function(t){var i=t.interval;i&&(i[0]>s&&e([s,i[0]],"outOfRange"),e(i.slice()),s=i[1])},this),{stops:i,outerColors:n}}}}),WO={splitNumber:function(){var t=this.option,e=this._pieceList,i=Math.min(t.precision,20),n=this.getExtent(),o=t.splitNumber;o=Math.max(parseInt(o,10),1),t.splitNumber=o;for(var a=(n[1]-n[0])/o;+a.toFixed(i)!==a&&i<5;)i++;t.precision=i,a=+a.toFixed(i);var r=0;t.minOpen&&e.push({index:r++,interval:[-1/0,n[0]],close:[0,0]});for(var s=n[0],l=r+o;r<l;s+=a){var u=r===o-1?n[1]:s+a;e.push({index:r++,interval:[s,u],close:[1,1]})}t.maxOpen&&e.push({index:r++,interval:[n[1],1/0],close:[0,0]}),Jo(e),d(e,function(t){t.text=this.formatValueText(t.interval)},this)},categories:function(){var t=this.option;d(t.categories,function(t){this._pieceList.push({text:this.formatValueText(t,!0),value:t})},this),lx(t,this._pieceList)},pieces:function(){var t=this.option,e=this._pieceList;d(t.pieces,function(t,i){w(t)||(t={value:t});var n={text:"",index:i};if(null!=t.label&&(n.text=t.label),t.hasOwnProperty("value")){var o=n.value=t.value;n.interval=[o,o],n.close=[1,1]}else{for(var a=n.interval=[],r=n.close=[0,0],s=[1,0,1],l=[-1/0,1/0],u=[],h=0;h<2;h++){for(var c=[["gte","gt","min"],["lte","lt","max"]][h],d=0;d<3&&null==a[h];d++)a[h]=t[c[d]],r[h]=s[d],u[h]=2===d;null==a[h]&&(a[h]=l[h])}u[0]&&a[1]===1/0&&(r[0]=0),u[1]&&a[0]===-1/0&&(r[1]=0),a[0]===a[1]&&r[0]&&r[1]&&(n.value=a[0])}n.visual=hL.retrieveVisuals(t),e.push(n)},this),lx(t,e),Jo(e),d(e,function(t){var e=t.close,i=[["<","鈮�"][e[1]],[">","鈮�"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,i)},this)}};NO.extend({type:"visualMap.piecewise",doRender:function(){var t=this.group;t.removeAll();var e=this.visualMapModel,i=e.get("textGap"),n=e.textStyleModel,o=n.getFont(),a=n.getTextColor(),r=this._getItemAlign(),s=e.itemSize,l=this._getViewData(),u=l.endsText,h=T(e.get("showLabel",!0),!u);u&&this._renderEndsText(t,u[0],s,h,r),d(l.viewPieceList,function(n){var l=n.piece,u=new tb;u.onclick=m(this._onItemClick,this,l),this._enableHoverLink(u,n.indexInModelPieceList);var c=e.getRepresentValue(l);if(this._createItemSymbol(u,c,[0,0,s[0],s[1]]),h){var d=this.visualMapModel.getValueState(c);u.add(new rM({style:{x:"right"===r?-i:s[0]+i,y:s[1]/2,text:l.text,textVerticalAlign:"middle",textAlign:r,textFont:o,textFill:a,opacity:"outOfRange"===d?.5:1}}))}t.add(u)},this),u&&this._renderEndsText(t,u[1],s,h,r),aI(e.get("orient"),t,e.get("itemGap")),this.renderBackground(t),this.positionGroup(t)},_enableHoverLink:function(t,e){function i(t){var i=this.visualMapModel;i.option.hoverLink&&this.api.dispatchAction({type:t,batch:ex(i.findTargetDataIndices(e))})}t.on("mouseover",m(i,this,"highlight")).on("mouseout",m(i,this,"downplay"))},_getItemAlign:function(){var t=this.visualMapModel,e=t.option;if("vertical"===e.orient)return tx(t,this.api,t.itemSize);var i=e.align;return i&&"auto"!==i||(i="left"),i},_renderEndsText:function(t,e,i,n,o){if(e){var a=new tb,r=this.visualMapModel.textStyleModel;a.add(new rM({style:{x:n?"right"===o?i[0]:0:i[0]/2,y:i[1]/2,textVerticalAlign:"middle",textAlign:n?o:"center",text:e,textFont:r.getFont(),textFill:r.getTextColor()}})),t.add(a)}},_getViewData:function(){var t=this.visualMapModel,e=f(t.getPieceList(),function(t,e){return{piece:t,indexInModelPieceList:e}}),i=t.get("text"),n=t.get("orient"),o=t.get("inverse");return("horizontal"===n?o:!o)?e.reverse():i&&(i=i.slice().reverse()),{viewPieceList:e,endsText:i}},_createItemSymbol:function(t,e,i){t.add(Jl(this.getControllerVisual(e,"symbol"),i[0],i[1],i[2],i[3],this.getControllerVisual(e,"color")))},_onItemClick:function(t){var e=this.visualMapModel,n=e.option,o=i(n.selected),a=e.getSelectedMapKey(t);"single"===n.selectedMode?(o[a]=!0,d(o,function(t,e){o[e]=e===a})):o[a]=!o[a],this.api.dispatchAction({type:"selectDataRange",from:this.uid,visualMapId:this.visualMapModel.id,selected:o})}});Ns(xO);var HO=ta,ZO=ia,UO=Fs({type:"marker",dependencies:["series","grid","polar","geo"],init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i),this.mergeOption(t,i,n.createdBySelf,!0)},isAnimationEnabled:function(){if(U_.node)return!1;var t=this.__hostSeries;return this.getShallow("animation")&&t&&t.isAnimationEnabled()},mergeOption:function(t,e,i,n){var o=this.constructor,r=this.mainType+"Model";i||e.eachSeries(function(t){var i=t.get(this.mainType,!0),s=t[r];i&&i.data?(s?s.mergeOption(i,e,!0):(n&&ux(i),d(i.data,function(t){t instanceof Array?(ux(t[0]),ux(t[1])):ux(t)}),a(s=new o(i,this,e),{mainType:this.mainType,seriesIndex:t.seriesIndex,name:t.name,createdBySelf:!0}),s.__hostSeries=t),t[r]=s):t[r]=null},this)},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=y(i)?f(i,HO).join(", "):HO(i),o=e.getName(t),a=ZO(this.name);return(null!=i||o)&&(a+="<br />"),o&&(a+=ZO(o),null!=i&&(a+=" : ")),null!=i&&(a+=ZO(n)),a},getData:function(){return this._data},setData:function(t){this._data=t}});h(UO,ZI),UO.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});var XO=l,jO=v,YO={min:jO(dx,"min"),max:jO(dx,"max"),average:jO(dx,"average")},qO=Ws({type:"marker",init:function(){this.markerGroupMap=R()},render:function(t,e,i){var n=this.markerGroupMap;n.each(function(t){t.__keep=!1});var o=this.type+"Model";e.eachSeries(function(t){var n=t[o];n&&this.renderSeries(t,n,e,i)},this),n.each(function(t){!t.__keep&&this.group.remove(t.group)},this)},renderSeries:function(){}});qO.extend({type:"markPoint",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markPointModel;e&&(xx(e.getData(),t,i),this.markerGroupMap.get(t.id).updateLayout(e))},this)},renderSeries:function(t,e,i,n){var o=t.coordinateSystem,a=t.id,r=t.getData(),s=this.markerGroupMap,l=s.get(a)||s.set(a,new Du),u=_x(o,t,e);e.setData(u),xx(e.getData(),t,n),u.each(function(t){var i=u.getItemModel(t),n=i.getShallow("symbolSize");"function"==typeof n&&(n=n(e.getRawValue(t),e.getDataParams(t))),u.setItemVisual(t,{symbolSize:n,color:i.get("itemStyle.color")||r.getVisual("color"),symbol:i.getShallow("symbol")})}),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl(function(t){t.traverse(function(t){t.dataModel=e})}),l.__keep=!0,l.group.silent=e.get("silent")||t.get("silent")}}),Ns(function(t){t.markPoint=t.markPoint||{}}),UO.extend({type:"markLine",defaultOption:{zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end"},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"}});var KO=function(t,e,o,r){var s=t.getData(),l=r.type;if(!y(r)&&("min"===l||"max"===l||"average"===l||"median"===l||null!=r.xAxis||null!=r.yAxis)){var u,h;if(null!=r.yAxis||null!=r.xAxis)u=null!=r.yAxis?"y":"x",e.getAxis(u),h=T(r.yAxis,r.xAxis);else{var c=px(r,s,e,t);u=c.valueDataDim,c.valueAxis,h=yx(s,u,l)}var d="x"===u?0:1,f=1-d,p=i(r),g={};p.type=null,p.coord=[],g.coord=[],p.coord[f]=-1/0,g.coord[f]=1/0;var m=o.get("precision");m>=0&&"number"==typeof h&&(h=+h.toFixed(Math.min(m,20))),p.coord[d]=g.coord[d]=h,r=[p,g,{type:l,valueIndex:r.valueIndex,value:h}]}return r=[fx(t,r[0]),fx(t,r[1]),a({},r[2])],r[2].type=r[2].type||"",n(r[2],r[0]),n(r[2],r[1]),r};qO.extend({type:"markLine",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markLineModel;if(e){var n=e.getData(),o=e.__from,a=e.__to;o.each(function(e){Ix(o,e,!0,t,i),Ix(a,e,!1,t,i)}),n.each(function(t){n.setItemLayout(t,[o.getItemLayout(t),a.getItemLayout(t)])}),this.markerGroupMap.get(t.id).updateLayout()}},this)},renderSeries:function(t,e,i,n){function o(e,i,o){var a=e.getItemModel(i);Ix(e,i,o,t,n),e.setItemVisual(i,{symbolSize:a.get("symbolSize")||g[o?0:1],symbol:a.get("symbol",!0)||p[o?0:1],color:a.get("itemStyle.color")||s.getVisual("color")})}var a=t.coordinateSystem,r=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(r)||l.set(r,new sf);this.group.add(u.group);var h=Tx(a,t,e),c=h.from,d=h.to,f=h.line;e.__from=c,e.__to=d,e.setData(f);var p=e.get("symbol"),g=e.get("symbolSize");y(p)||(p=[p,p]),"number"==typeof g&&(g=[g,g]),h.from.each(function(t){o(c,t,!0),o(d,t,!1)}),f.each(function(t){var e=f.getItemModel(t).get("lineStyle.color");f.setItemVisual(t,{color:e||c.getItemVisual(t,"color")}),f.setItemLayout(t,[c.getItemLayout(t),d.getItemLayout(t)]),f.setItemVisual(t,{fromSymbolSize:c.getItemVisual(t,"symbolSize"),fromSymbol:c.getItemVisual(t,"symbol"),toSymbolSize:d.getItemVisual(t,"symbolSize"),toSymbol:d.getItemVisual(t,"symbol")})}),u.updateData(f),h.line.eachItemGraphicEl(function(t,i){t.traverse(function(t){t.dataModel=e})}),u.__keep=!0,u.group.silent=e.get("silent")||t.get("silent")}}),Ns(function(t){t.markLine=t.markLine||{}}),UO.extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}}});var $O=function(t,e,i,n){var a=fx(t,n[0]),r=fx(t,n[1]),s=T,l=a.coord,u=r.coord;l[0]=s(l[0],-1/0),l[1]=s(l[1],-1/0),u[0]=s(u[0],1/0),u[1]=s(u[1],1/0);var h=o([{},a,r]);return h.coord=[a.coord,r.coord],h.x0=a.x,h.y0=a.y,h.x1=r.x,h.y1=r.y,h},JO=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];qO.extend({type:"markArea",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markAreaModel;if(e){var n=e.getData();n.each(function(e){var o=f(JO,function(o){return Lx(n,e,o,t,i)});n.setItemLayout(e,o),n.getItemGraphicEl(e).setShape("points",o)})}},this)},renderSeries:function(t,e,i,n){var o=t.coordinateSystem,a=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(a)||l.set(a,{group:new tb});this.group.add(u.group),u.__keep=!0;var h=kx(o,t,e);e.setData(h),h.each(function(e){h.setItemLayout(e,f(JO,function(i){return Lx(h,e,i,t,n)})),h.setItemVisual(e,{color:s.getVisual("color")})}),h.diff(u.__data).add(function(t){var e=new pM({shape:{points:h.getItemLayout(t)}});h.setItemGraphicEl(t,e),u.group.add(e)}).update(function(t,i){var n=u.__data.getItemGraphicEl(i);Io(n,{shape:{points:h.getItemLayout(t)}},e,t),u.group.add(n),h.setItemGraphicEl(t,n)}).remove(function(t){var e=u.__data.getItemGraphicEl(t);u.group.remove(e)}).execute(),h.eachItemGraphicEl(function(t,i){var n=h.getItemModel(i),o=n.getModel("label"),a=n.getModel("emphasis.label"),s=h.getItemVisual(i,"color");t.useStyle(r(n.getModel("itemStyle").getItemStyle(),{fill:Yt(s,.4),stroke:s})),t.hoverStyle=n.getModel("emphasis.itemStyle").getItemStyle(),go(t.style,t.hoverStyle,o,a,{labelFetcher:e,labelDataIndex:i,defaultText:h.getName(i)||"",isRectText:!0,autoColor:s}),fo(t,{}),t.dataModel=e}),u.__data=h,u.group.silent=e.get("silent")||t.get("silent")}}),Ns(function(t){t.markArea=t.markArea||{}});lI.registerSubTypeDefaulter("timeline",function(){return"slider"}),Es({type:"timelineChange",event:"timelineChanged",update:"prepareAndUpdate"},function(t,e){var i=e.getComponent("timeline");return i&&null!=t.currentIndex&&(i.setCurrentIndex(t.currentIndex),!i.get("loop",!0)&&i.isIndexMax()&&i.setPlayState(!1)),e.resetOption("timeline"),r({currentIndex:i.option.currentIndex},t)}),Es({type:"timelinePlayChange",event:"timelinePlayChanged",update:"update"},function(t,e){var i=e.getComponent("timeline");i&&null!=t.playState&&i.setPlayState(t.playState)});var QO=lI.extend({type:"timeline",layoutMode:"box",defaultOption:{zlevel:0,z:4,show:!0,axisType:"time",realtime:!0,left:"20%",top:null,right:"20%",bottom:0,width:null,height:40,padding:5,controlPosition:"left",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:"#000"},data:[]},init:function(t,e,i){this._data,this._names,this.mergeDefaultAndTheme(t,i),this._initData()},mergeOption:function(t){QO.superApply(this,"mergeOption",arguments),this._initData()},setCurrentIndex:function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(t>=e&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(t){this.option.autoPlay=!!t},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var t=this.option,e=t.data||[],n=t.axisType,o=this._names=[];if("category"===n){var a=[];d(e,function(t,e){var n,r=Li(t);w(t)?(n=i(t)).value=e:n=e,a.push(n),_(r)||null!=r&&!isNaN(r)||(r=""),o.push(r+"")}),e=a}var r={category:"ordinal",time:"time"}[n]||"number";(this._data=new vA([{name:"value",type:r}],this)).initData(e,o)},getData:function(){return this._data},getCategories:function(){if("category"===this.get("axisType"))return this._names.slice()}});h(QO.extend({type:"timeline.slider",defaultOption:{backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,orient:"horizontal",inverse:!1,tooltip:{trigger:"item"},symbol:"emptyCircle",symbolSize:10,lineStyle:{show:!0,width:2,color:"#304654"},label:{position:"auto",show:!0,interval:"auto",rotate:0,color:"#304654"},itemStyle:{color:"#304654",borderWidth:1},checkpointStyle:{symbol:"circle",symbolSize:13,color:"#c23531",borderWidth:5,borderColor:"rgba(194,53,49, 0.5)",animation:!0,animationDuration:300,animationEasing:"quinticInOut"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,itemGap:12,position:"left",playIcon:"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z",stopIcon:"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z",nextIcon:"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z",prevIcon:"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z",color:"#304654",borderColor:"#304654",borderWidth:1},emphasis:{label:{show:!0,color:"#c23531"},itemStyle:{color:"#c23531"},controlStyle:{color:"#c23531",borderColor:"#c23531",borderWidth:2}},data:[]}}),ZI);var tE=qI.extend({type:"timeline"}),eE=function(t,e,i,n){aD.call(this,t,e,i),this.type=n||"value",this.model=null};eE.prototype={constructor:eE,getLabelModel:function(){return this.model.getModel("label")},isHorizontal:function(){return"horizontal"===this.model.get("orient")}},u(eE,aD);var iE=m,nE=d,oE=Math.PI;tE.extend({type:"timeline.slider",init:function(t,e){this.api=e,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(t,e,i,n){if(this.model=t,this.api=i,this.ecModel=e,this.group.removeAll(),t.get("show",!0)){var o=this._layout(t,i),a=this._createGroup("mainGroup"),r=this._createGroup("labelGroup"),s=this._axis=this._createAxis(o,t);t.formatTooltip=function(t){return ia(s.scale.getLabel(t))},nE(["AxisLine","AxisTick","Control","CurrentPointer"],function(e){this["_render"+e](o,a,s,t)},this),this._renderAxisLabel(o,r,s,t),this._position(o,t)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(t,e){var i=t.get("label.position"),n=t.get("orient"),o=Ex(t,e);null==i||"auto"===i?i="horizontal"===n?o.y+o.height/2<e.getHeight()/2?"-":"+":o.x+o.width/2<e.getWidth()/2?"+":"-":isNaN(i)&&(i={horizontal:{top:"-",bottom:"+"},vertical:{left:"-",right:"+"}}[n][i]);var a={horizontal:"center",vertical:i>=0||"+"===i?"left":"right"},r={horizontal:i>=0||"+"===i?"top":"bottom",vertical:"middle"},s={horizontal:0,vertical:oE/2},l="vertical"===n?o.height:o.width,u=t.getModel("controlStyle"),h=u.get("show",!0),c=h?u.get("itemSize"):0,d=h?u.get("itemGap"):0,f=c+d,p=t.get("label.rotate")||0;p=p*oE/180;var g,m,v,y,x=u.get("position",!0),_=h&&u.get("showPlayBtn",!0),w=h&&u.get("showPrevBtn",!0),b=h&&u.get("showNextBtn",!0),S=0,M=l;return"left"===x||"bottom"===x?(_&&(g=[0,0],S+=f),w&&(m=[S,0],S+=f),b&&(v=[M-c,0],M-=f)):(_&&(g=[M-c,0],M-=f),w&&(m=[0,0],S+=f),b&&(v=[M-c,0],M-=f)),y=[S,M],t.get("inverse")&&y.reverse(),{viewRect:o,mainLength:l,orient:n,rotation:s[n],labelRotation:p,labelPosOpt:i,labelAlign:t.get("label.align")||a[n],labelBaseline:t.get("label.verticalAlign")||t.get("label.baseline")||r[n],playPosition:g,prevBtnPosition:m,nextBtnPosition:v,axisExtent:y,controlSize:c,controlGap:d}},_position:function(t,e){function i(t){var e=t.position;t.origin=[c[0][0]-e[0],c[1][0]-e[1]]}function n(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}function o(t,e,i,n,o){t[n]+=i[n][o]-e[n][o]}var a=this._mainGroup,r=this._labelGroup,s=t.viewRect;if("vertical"===t.orient){var l=xt(),u=s.x,h=s.y+s.height;St(l,l,[-u,-h]),Mt(l,l,-oE/2),St(l,l,[u,h]),(s=s.clone()).applyTransform(l)}var c=n(s),d=n(a.getBoundingRect()),f=n(r.getBoundingRect()),p=a.position,g=r.position;g[0]=p[0]=c[0][0];var m=t.labelPosOpt;if(isNaN(m))o(p,d,c,1,v="+"===m?0:1),o(g,f,c,1,1-v);else{var v=m>=0?0:1;o(p,d,c,1,v),g[1]=p[1]+m}a.attr("position",p),r.attr("position",g),a.rotation=r.rotation=t.rotation,i(a),i(r)},_createAxis:function(t,e){var i=e.getData(),n=e.get("axisType"),o=Hl(e,n);o.getTicks=function(){return i.mapArray(["value"],function(t){return t})};var a=i.getDataExtent("value");o.setExtent(a[0],a[1]),o.niceTicks();var r=new eE("value",o,t.axisExtent,n);return r.model=e,r},_createGroup:function(t){var e=this["_"+t]=new tb;return this.group.add(e),e},_renderAxisLine:function(t,e,i,n){var o=i.getExtent();n.get("lineStyle.show")&&e.add(new _M({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:a({lineCap:"round"},n.getModel("lineStyle").getLineStyle()),silent:!0,z2:1}))},_renderAxisTick:function(t,e,i,n){var o=n.getData(),a=i.scale.getTicks();nE(a,function(t){var a=i.dataToCoord(t),r=o.getItemModel(t),s=r.getModel("itemStyle"),l=r.getModel("emphasis.itemStyle"),u={position:[a,0],onclick:iE(this._changeTimeline,this,t)},h=zx(r,s,e,u);fo(h,l.getItemStyle()),r.get("tooltip")?(h.dataIndex=t,h.dataModel=n):h.dataIndex=h.dataModel=null},this)},_renderAxisLabel:function(t,e,i,n){if(i.getLabelModel().get("show")){var o=n.getData(),a=i.getViewLabels();nE(a,function(n){var a=n.tickValue,r=o.getItemModel(a),s=r.getModel("label"),l=r.getModel("emphasis.label"),u=i.dataToCoord(n.tickValue),h=new rM({position:[u,0],rotation:t.labelRotation-t.rotation,onclick:iE(this._changeTimeline,this,a),silent:!1});mo(h.style,s,{text:n.formattedLabel,textAlign:t.labelAlign,textVerticalAlign:t.labelBaseline}),e.add(h),fo(h,mo({},l))},this)}},_renderControl:function(t,e,i,n){function o(t,i,o,h){if(t){var c=Rx(n,i,u,{position:t,origin:[a/2,0],rotation:h?-r:0,rectHover:!0,style:s,onclick:o});e.add(c),fo(c,l)}}var a=t.controlSize,r=t.rotation,s=n.getModel("controlStyle").getItemStyle(),l=n.getModel("emphasis.controlStyle").getItemStyle(),u=[0,-a/2,a,a],h=n.getPlayState(),c=n.get("inverse",!0);o(t.nextBtnPosition,"controlStyle.nextIcon",iE(this._changeTimeline,this,c?"-":"+")),o(t.prevBtnPosition,"controlStyle.prevIcon",iE(this._changeTimeline,this,c?"+":"-")),o(t.playPosition,"controlStyle."+(h?"stopIcon":"playIcon"),iE(this._handlePlayClick,this,!h),!0)},_renderCurrentPointer:function(t,e,i,n){var o=n.getData(),a=n.getCurrentIndex(),r=o.getItemModel(a).getModel("checkpointStyle"),s=this,l={onCreate:function(t){t.draggable=!0,t.drift=iE(s._handlePointerDrag,s),t.ondragend=iE(s._handlePointerDragend,s),Bx(t,a,i,n,!0)},onUpdate:function(t){Bx(t,a,i,n)}};this._currentPointer=zx(r,r,this._mainGroup,{},this._currentPointer,l)},_handlePlayClick:function(t){this._clearTimer(),this.api.dispatchAction({type:"timelinePlayChange",playState:t,from:this.uid})},_handlePointerDrag:function(t,e,i){this._clearTimer(),this._pointerChangeTimeline([i.offsetX,i.offsetY])},_handlePointerDragend:function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},_pointerChangeTimeline:function(t,e){var i=this._toAxisCoord(t)[0],n=Fo(this._axis.getExtent().slice());i>n[1]&&(i=n[1]),i<n[0]&&(i=n[0]),this._currentPointer.position[0]=i,this._currentPointer.dirty();var o=this._findNearestTick(i),a=this.model;(e||o!==a.getCurrentIndex()&&a.get("realtime"))&&this._changeTimeline(o)},_doPlayStop:function(){this._clearTimer(),this.model.getPlayState()&&(this._timer=setTimeout(iE(function(){var t=this.model;this._changeTimeline(t.getCurrentIndex()+(t.get("rewind",!0)?-1:1))},this),this.model.get("playInterval")))},_toAxisCoord:function(t){return Do(t,this._mainGroup.getLocalTransform(),!0)},_findNearestTick:function(t){var e,i=this.model.getData(),n=1/0,o=this._axis;return i.each(["value"],function(i,a){var r=o.dataToCoord(i),s=Math.abs(r-t);s<n&&(n=s,e=a)}),e},_clearTimer:function(){this._timer&&(clearTimeout(this._timer),this._timer=null)},_changeTimeline:function(t){var e=this.model.getCurrentIndex();"+"===t?t=e+1:"-"===t&&(t=e-1),this.api.dispatchAction({type:"timelineChange",currentIndex:t,from:this.uid})}}),Ns(function(t){var e=t&&t.timeline;y(e)||(e=e?[e]:[]),d(e,function(t){t&&Px(t)})});var aE=Fs({type:"toolbox",layoutMode:{type:"box",ignoreSize:!0},optionUpdated:function(){aE.superApply(this,"optionUpdated",arguments),d(this.option.feature,function(t,e){var i=Ay(e);i&&n(t,i.defaultOption)})},defaultOption:{show:!0,z:6,zlevel:0,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}}}});Ws({type:"toolbox",render:function(t,e,i,n){function o(o,r){var s,c=h[o],d=h[r],f=new No(l[c],t,t.ecModel);if(c&&!d){if(Vx(c))s={model:f,onclick:f.option.onclick,featureName:c};else{var p=Ay(c);if(!p)return;s=new p(f,e,i)}u[c]=s}else{if(!(s=u[d]))return;s.model=f,s.ecModel=e,s.api=i}c||!d?f.get("show")&&!s.unusable?(a(f,s,c),f.setIconStatus=function(t,e){var i=this.option,n=this.iconPaths;i.iconStatus=i.iconStatus||{},i.iconStatus[t]=e,n[t]&&n[t].trigger(e)},s.render&&s.render(f,e,i,n)):s.remove&&s.remove(e,i):s.dispose&&s.dispose(e,i)}function a(n,o,a){var l=n.getModel("iconStyle"),u=n.getModel("emphasis.iconStyle"),h=o.getIcons?o.getIcons():n.get("icon"),c=n.get("title")||{};if("string"==typeof h){var f=h,p=c;c={},(h={})[a]=f,c[a]=p}var g=n.iconPaths={};d(h,function(a,h){var d=Po(a,{},{x:-s/2,y:-s/2,width:s,height:s});d.setStyle(l.getItemStyle()),d.hoverStyle=u.getItemStyle(),fo(d),t.get("showTitle")&&(d.__title=c[h],d.on("mouseover",function(){var t=u.getItemStyle();d.setStyle({text:c[h],textPosition:t.textPosition||"bottom",textFill:t.fill||t.stroke||"#000",textAlign:t.textAlign||"center"})}).on("mouseout",function(){d.setStyle({textFill:null})})),d.trigger(n.get("iconStatus."+h)||"normal"),r.add(d),d.on("click",m(o.onclick,o,e,i,h)),g[h]=d})}var r=this.group;if(r.removeAll(),t.get("show")){var s=+t.get("itemSize"),l=t.get("feature")||{},u=this._features||(this._features={}),h=[];d(l,function(t,e){h.push(e)}),new Xs(this._featureNames||[],h).add(o).update(o).remove(v(o,null)).execute(),this._featureNames=h,_v(r,t,i),r.add(wv(r.getBoundingRect(),t)),r.eachChild(function(t){var e=t.__title,n=t.hoverStyle;if(n&&e){var o=ke(e,Xe(n)),a=t.position[0]+r.position[0],l=!1;t.position[1]+r.position[1]+s+o.height>i.getHeight()&&(n.textPosition="top",l=!0);var u=l?-5-o.height:s+8;a+o.width/2>i.getWidth()?(n.textPosition=["100%",u],n.textAlign="right"):a-o.width/2<0&&(n.textPosition=[0,u],n.textAlign="left")}})}},updateView:function(t,e,i,n){d(this._features,function(t){t.updateView&&t.updateView(t.model,e,i,n)})},remove:function(t,e){d(this._features,function(i){i.remove&&i.remove(t,e)}),this.group.removeAll()},dispose:function(t,e){d(this._features,function(i){i.dispose&&i.dispose(t,e)})}});var rE=rT.toolbox.saveAsImage;Gx.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:rE.title,type:"png",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:rE.lang.slice()},Gx.prototype.unusable=!U_.canvasSupported,Gx.prototype.onclick=function(t,e){var i=this.model,n=i.get("name")||t.get("title.0.text")||"echarts",o=document.createElement("a"),a=i.get("type",!0)||"png";o.download=n+"."+a,o.target="_blank";var r=e.getConnectedDataURL({type:a,backgroundColor:i.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",excludeComponents:i.get("excludeComponents"),pixelRatio:i.get("pixelRatio")});if(o.href=r,"function"!=typeof MouseEvent||U_.browser.ie||U_.browser.edge)if(window.navigator.msSaveOrOpenBlob){for(var s=atob(r.split(",")[1]),l=s.length,u=new Uint8Array(l);l--;)u[l]=s.charCodeAt(l);var h=new Blob([u]);window.navigator.msSaveOrOpenBlob(h,n+"."+a)}else{var c=i.get("lang"),d='<body style="margin:0;"><img src="'+r+'" style="max-width:100%;" title="'+(c&&c[0]||"")+'" /></body>';window.open().document.write(d)}else{var f=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});o.dispatchEvent(f)}},Ty("saveAsImage",Gx);var sE=rT.toolbox.magicType;Fx.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z",tiled:"M2.3,2.2h22.8V25H2.3V2.2z M35,2.2h22.8V25H35V2.2zM2.3,35h22.8v22.8H2.3V35z M35,35h22.8v22.8H35V35z"},title:i(sE.title),option:{},seriesIndex:{}};var lE=Fx.prototype;lE.getIcons=function(){var t=this.model,e=t.get("icon"),i={};return d(t.get("type"),function(t){e[t]&&(i[t]=e[t])}),i};var uE={line:function(t,e,i,o){if("bar"===t)return n({id:e,type:"line",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},o.get("option.line")||{},!0)},bar:function(t,e,i,o){if("line"===t)return n({id:e,type:"bar",data:i.get("data"),stack:i.get("stack"),markPoint:i.get("markPoint"),markLine:i.get("markLine")},o.get("option.bar")||{},!0)},stack:function(t,e,i,o){if("line"===t||"bar"===t)return n({id:e,stack:"__ec_magicType_stack__"},o.get("option.stack")||{},!0)},tiled:function(t,e,i,o){if("line"===t||"bar"===t)return n({id:e,stack:""},o.get("option.tiled")||{},!0)}},hE=[["line","bar"],["stack","tiled"]];lE.onclick=function(t,e,i){var n=this.model,o=n.get("seriesIndex."+i);if(uE[i]){var a={series:[]};d(hE,function(t){l(t,i)>=0&&d(t,function(t){n.setIconStatus(t,"normal")})}),n.setIconStatus(i,"emphasis"),t.eachComponent({mainType:"series",query:null==o?null:{seriesIndex:o}},function(e){var o=e.subType,s=e.id,l=uE[i](o,s,e,n);l&&(r(l,e.option),a.series.push(l));var u=e.coordinateSystem;if(u&&"cartesian2d"===u.type&&("line"===i||"bar"===i)){var h=u.getAxesByScale("ordinal")[0];if(h){var c=h.dim+"Axis",d=t.queryComponents({mainType:c,index:e.get(name+"Index"),id:e.get(name+"Id")})[0].componentIndex;a[c]=a[c]||[];for(var f=0;f<=d;f++)a[c][d]=a[c][d]||{};a[c][d].boundaryGap="bar"===i}}}),e.dispatchAction({type:"changeMagicType",currentType:i,newOption:a})}},Es({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(t,e){e.mergeOption(t.newOption)}),Ty("magicType",Fx);var cE=rT.toolbox.dataView,dE=new Array(60).join("-"),fE="\t",pE=new RegExp("["+fE+"]+","g");$x.defaultOption={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:i(cE.title),lang:i(cE.lang),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"},$x.prototype.onclick=function(t,e){function i(){n.removeChild(a),x._dom=null}var n=e.getDom(),o=this.model;this._dom&&n.removeChild(this._dom);var a=document.createElement("div");a.style.cssText="position:absolute;left:5px;top:5px;bottom:5px;right:5px;",a.style.backgroundColor=o.get("backgroundColor")||"#fff";var r=document.createElement("h4"),s=o.get("lang")||[];r.innerHTML=s[0]||o.get("title"),r.style.cssText="margin: 10px 20px;",r.style.color=o.get("textColor");var l=document.createElement("div"),u=document.createElement("textarea");l.style.cssText="display:block;width:100%;overflow:auto;";var h=o.get("optionToContent"),c=o.get("contentToOption"),d=Ux(t);if("function"==typeof h){var f=h(e.getOption());"string"==typeof f?l.innerHTML=f:M(f)&&l.appendChild(f)}else l.appendChild(u),u.readOnly=o.get("readOnly"),u.style.cssText="width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;",u.style.color=o.get("textColor"),u.style.borderColor=o.get("textareaBorderColor"),u.style.backgroundColor=o.get("textareaColor"),u.value=d.value;var p=d.meta,g=document.createElement("div");g.style.cssText="position:absolute;bottom:0;left:0;right:0;";var m="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",v=document.createElement("div"),y=document.createElement("div");m+=";background-color:"+o.get("buttonColor"),m+=";color:"+o.get("buttonTextColor");var x=this;ht(v,"click",i),ht(y,"click",function(){var t;try{t="function"==typeof c?c(l,e.getOption()):Kx(u.value,p)}catch(t){throw i(),new Error("Data view format error "+t)}t&&e.dispatchAction({type:"changeDataView",newOption:t}),i()}),v.innerHTML=s[1],y.innerHTML=s[2],y.style.cssText=m,v.style.cssText=m,!o.get("readOnly")&&g.appendChild(y),g.appendChild(v),ht(u,"keydown",function(t){if(9===(t.keyCode||t.which)){var e=this.value,i=this.selectionStart,n=this.selectionEnd;this.value=e.substring(0,i)+fE+e.substring(n),this.selectionStart=this.selectionEnd=i+1,mw(t)}}),a.appendChild(r),a.appendChild(l),a.appendChild(g),l.style.height=n.clientHeight-80+"px",n.appendChild(a),this._dom=a},$x.prototype.remove=function(t,e){this._dom&&e.getDom().removeChild(this._dom)},$x.prototype.dispose=function(t,e){this.remove(t,e)},Ty("dataView",$x),Es({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(t,e){var i=[];d(t.newOption.series,function(t){var n=e.getSeriesByName(t.name)[0];if(n){var o=n.get("data");i.push({name:t.name,data:Jx(t.data,o)})}else i.push(a({type:"scatter"},t))}),e.mergeOption(r({series:i},t.newOption))});var gE=d,mE="\0_ec_hist_store";iO.extend({type:"dataZoom.select"}),nO.extend({type:"dataZoom.select"});var vE=rT.toolbox.dataZoom,yE=d,xE="\0_ec_\0toolbox-dataZoom_";o_.defaultOption={show:!0,icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:i(vE.title)};var _E=o_.prototype;_E.render=function(t,e,i,n){this.model=t,this.ecModel=e,this.api=i,s_(t,e,this,n,i),r_(t,e)},_E.onclick=function(t,e,i){wE[i].call(this)},_E.remove=function(t,e){this._brushController.unmount()},_E.dispose=function(t,e){this._brushController.dispose()};var wE={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(t_(this.ecModel))}};_E._onBrush=function(t,e){function i(t,e,i){var r=e.getAxis(t),s=r.model,l=n(t,s,a),u=l.findRepresentativeAxisProxy(s).getMinMaxSpan();null==u.minValueSpan&&null==u.maxValueSpan||(i=QL(0,i.slice(),r.scale.getExtent(),0,u.minValueSpan,u.maxValueSpan)),l&&(o[l.id]={dataZoomId:l.id,startValue:i[0],endValue:i[1]})}function n(t,e,i){var n;return i.eachComponent({mainType:"dataZoom",subType:"select"},function(i){i.getAxisModel(t,e.componentIndex)&&(n=i)}),n}if(e.isEnd&&t.length){var o={},a=this.ecModel;this._brushController.updateCovers([]),new hy(a_(this.model.option),a,{include:["grid"]}).matchOutputRanges(t,a,function(t,e,n){if("cartesian2d"===n.type){var o=t.brushType;"rect"===o?(i("x",n,e[0]),i("y",n,e[1])):i({lineX:"x",lineY:"y"}[o],n,e)}}),Qx(a,o),this._dispatchZoomAction(o)}},_E._dispatchZoomAction=function(t){var e=[];yE(t,function(t,n){e.push(i(t))}),e.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:e})},Ty("dataZoom",o_),Ns(function(t){function e(t,e){if(e){var o=t+"Index",a=e[o];null==a||"all"===a||y(a)||(a=!1===a||"none"===a?[]:[a]),i(t,function(e,i){if(null==a||"all"===a||-1!==l(a,i)){var r={type:"select",$fromToolbox:!0,id:xE+t+i};r[o]=i,n.push(r)}})}}function i(e,i){var n=t[e];y(n)||(n=n?[n]:[]),yE(n,i)}if(t){var n=t.dataZoom||(t.dataZoom=[]);y(n)||(t.dataZoom=n=[n]);var o=t.toolbox;if(o&&(y(o)&&(o=o[0]),o&&o.feature)){var a=o.feature.dataZoom;e("xAxis",a),e("yAxis",a)}}});var bE=rT.toolbox.restore;l_.defaultOption={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:bE.title},l_.prototype.onclick=function(t,e,i){e_(t),e.dispatchAction({type:"restore",from:this.uid})},Ty("restore",l_),Es({type:"restore",event:"restore",update:"prepareAndUpdate"},function(t,e){e.resetOption("recreate")});var SE,ME="urn:schemas-microsoft-com:vml",IE="undefined"==typeof window?null:window,TE=!1,AE=IE&&IE.document;if(AE&&!U_.canvasSupported)try{!AE.namespaces.zrvml&&AE.namespaces.add("zrvml",ME),SE=function(t){return AE.createElement("<zrvml:"+t+' class="zrvml">')}}catch(t){SE=function(t){return AE.createElement("<"+t+' xmlns="'+ME+'" class="zrvml">')}}var DE=ES.CMD,CE=Math.round,LE=Math.sqrt,kE=Math.abs,PE=Math.cos,NE=Math.sin,OE=Math.max;if(!U_.canvasSupported){var EE=21600,RE=EE/2,zE=function(t){t.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",t.coordsize=EE+","+EE,t.coordorigin="0,0"},BE=function(t){return String(t).replace(/&/g,"&amp;").replace(/"/g,"&quot;")},VE=function(t,e,i){return"rgb("+[t,e,i].join(",")+")"},GE=function(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)},FE=function(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)},WE=function(t,e,i){return 1e5*(parseFloat(t)||0)+1e3*(parseFloat(e)||0)+i},HE=function(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t},ZE=function(t,e,i){var n=Gt(e);i=+i,isNaN(i)&&(i=1),n&&(t.color=VE(n[0],n[1],n[2]),t.opacity=i*n[3])},UE=function(t){var e=Gt(t);return[VE(e[0],e[1],e[2]),e[3]]},XE=function(t,e,i){var n=e.fill;if(null!=n)if(n instanceof IM){var o,a=0,r=[0,0],s=0,l=1,u=i.getBoundingRect(),h=u.width,c=u.height;if("linear"===n.type){o="gradient";var d=i.transform,f=[n.x*h,n.y*c],p=[n.x2*h,n.y2*c];d&&(Q(f,f,d),Q(p,p,d));var g=p[0]-f[0],m=p[1]-f[1];(a=180*Math.atan2(g,m)/Math.PI)<0&&(a+=360),a<1e-6&&(a=0)}else{o="gradientradial";var f=[n.x*h,n.y*c],d=i.transform,v=i.scale,y=h,x=c;r=[(f[0]-u.x)/y,(f[1]-u.y)/x],d&&Q(f,f,d),y/=v[0]*EE,x/=v[1]*EE;var _=OE(y,x);s=0/_,l=2*n.r/_-s}var w=n.colorStops.slice();w.sort(function(t,e){return t.offset-e.offset});for(var b=w.length,S=[],M=[],I=0;I<b;I++){var T=w[I],A=UE(T.color);M.push(T.offset*l+s+" "+A[0]),0!==I&&I!==b-1||S.push(A)}if(b>=2){var D=S[0][0],C=S[1][0],L=S[0][1]*e.opacity,k=S[1][1]*e.opacity;t.type=o,t.method="none",t.focus="100%",t.angle=a,t.color=D,t.color2=C,t.colors=M.join(","),t.opacity=k,t.opacity2=L}"radial"===o&&(t.focusposition=r.join(","))}else ZE(t,n,e.opacity)},jE=function(t,e){null!=e.lineDash&&(t.dashstyle=e.lineDash.join(" ")),null==e.stroke||e.stroke instanceof IM||ZE(t,e.stroke,e.opacity)},YE=function(t,e,i,n){var o="fill"===e,a=t.getElementsByTagName(e)[0];null!=i[e]&&"none"!==i[e]&&(o||!o&&i.lineWidth)?(t[o?"filled":"stroked"]="true",i[e]instanceof IM&&FE(t,a),a||(a=u_(e)),o?XE(a,i,n):jE(a,i),GE(t,a)):(t[o?"filled":"stroked"]="false",FE(t,a))},qE=[[],[],[]],KE=function(t,e){var i,n,o,a,r,s,l=DE.M,u=DE.C,h=DE.L,c=DE.A,d=DE.Q,f=[],p=t.data,g=t.len();for(a=0;a<g;){switch(o=p[a++],n="",i=0,o){case l:n=" m ",i=1,r=p[a++],s=p[a++],qE[0][0]=r,qE[0][1]=s;break;case h:n=" l ",i=1,r=p[a++],s=p[a++],qE[0][0]=r,qE[0][1]=s;break;case d:case u:n=" c ",i=3;var m,v,y=p[a++],x=p[a++],_=p[a++],w=p[a++];o===d?(m=_,v=w,_=(_+2*y)/3,w=(w+2*x)/3,y=(r+2*y)/3,x=(s+2*x)/3):(m=p[a++],v=p[a++]),qE[0][0]=y,qE[0][1]=x,qE[1][0]=_,qE[1][1]=w,qE[2][0]=m,qE[2][1]=v,r=m,s=v;break;case c:var b=0,S=0,M=1,I=1,T=0;e&&(b=e[4],S=e[5],M=LE(e[0]*e[0]+e[1]*e[1]),I=LE(e[2]*e[2]+e[3]*e[3]),T=Math.atan2(-e[1]/I,e[0]/M));var A=p[a++],D=p[a++],C=p[a++],L=p[a++],k=p[a++]+T,P=p[a++]+k+T;a++;var N=p[a++],O=A+PE(k)*C,E=D+NE(k)*L,y=A+PE(P)*C,x=D+NE(P)*L,R=N?" wa ":" at ";Math.abs(O-y)<1e-4&&(Math.abs(P-k)>.01?N&&(O+=.0125):Math.abs(E-D)<1e-4?N&&O<A||!N&&O>A?x-=.0125:x+=.0125:N&&E<D||!N&&E>D?y+=.0125:y-=.0125),f.push(R,CE(((A-C)*M+b)*EE-RE),",",CE(((D-L)*I+S)*EE-RE),",",CE(((A+C)*M+b)*EE-RE),",",CE(((D+L)*I+S)*EE-RE),",",CE((O*M+b)*EE-RE),",",CE((E*I+S)*EE-RE),",",CE((y*M+b)*EE-RE),",",CE((x*I+S)*EE-RE)),r=y,s=x;break;case DE.R:var z=qE[0],B=qE[1];z[0]=p[a++],z[1]=p[a++],B[0]=z[0]+p[a++],B[1]=z[1]+p[a++],e&&(Q(z,z,e),Q(B,B,e)),z[0]=CE(z[0]*EE-RE),B[0]=CE(B[0]*EE-RE),z[1]=CE(z[1]*EE-RE),B[1]=CE(B[1]*EE-RE),f.push(" m ",z[0],",",z[1]," l ",B[0],",",z[1]," l ",B[0],",",B[1]," l ",z[0],",",B[1]);break;case DE.Z:f.push(" x ")}if(i>0){f.push(n);for(var V=0;V<i;V++){var G=qE[V];e&&Q(G,G,e),f.push(CE(G[0]*EE-RE),",",CE(G[1]*EE-RE),V<i-1?",":"")}}}return f.join("")};Pn.prototype.brushVML=function(t){var e=this.style,i=this._vmlEl;i||(i=u_("shape"),zE(i),this._vmlEl=i),YE(i,"fill",e,this),YE(i,"stroke",e,this);var n=this.transform,o=null!=n,a=i.getElementsByTagName("stroke")[0];if(a){var r=e.lineWidth;if(o&&!e.strokeNoScale){var s=n[0]*n[3]-n[1]*n[2];r*=LE(kE(s))}a.weight=r+"px"}var l=this.path||(this.path=new ES);this.__dirtyPath&&(l.beginPath(),l.subPixelOptimize=!1,this.buildPath(l,this.shape),l.toStatic(),this.__dirtyPath=!1),i.path=KE(l,this.transform),i.style.zIndex=WE(this.zlevel,this.z,this.z2),GE(t,i),null!=e.text?this.drawRectText(t,this.getBoundingRect()):this.removeRectText(t)},Pn.prototype.onRemove=function(t){FE(t,this._vmlEl),this.removeRectText(t)},Pn.prototype.onAdd=function(t){GE(t,this._vmlEl),this.appendRectText(t)};var $E=function(t){return"object"==typeof t&&t.tagName&&"IMG"===t.tagName.toUpperCase()};fi.prototype.brushVML=function(t){var e,i,n=this.style,o=n.image;if($E(o)){var a=o.src;if(a===this._imageSrc)e=this._imageWidth,i=this._imageHeight;else{var r=o.runtimeStyle,s=r.width,l=r.height;r.width="auto",r.height="auto",e=o.width,i=o.height,r.width=s,r.height=l,this._imageSrc=a,this._imageWidth=e,this._imageHeight=i}o=a}else o===this._imageSrc&&(e=this._imageWidth,i=this._imageHeight);if(o){var u=n.x||0,h=n.y||0,c=n.width,d=n.height,f=n.sWidth,p=n.sHeight,g=n.sx||0,m=n.sy||0,v=f&&p,y=this._vmlEl;y||(y=AE.createElement("div"),zE(y),this._vmlEl=y);var x,_=y.style,w=!1,b=1,S=1;if(this.transform&&(x=this.transform,b=LE(x[0]*x[0]+x[1]*x[1]),S=LE(x[2]*x[2]+x[3]*x[3]),w=x[1]||x[2]),w){var M=[u,h],I=[u+c,h],T=[u,h+d],A=[u+c,h+d];Q(M,M,x),Q(I,I,x),Q(T,T,x),Q(A,A,x);var D=OE(M[0],I[0],T[0],A[0]),C=OE(M[1],I[1],T[1],A[1]),L=[];L.push("M11=",x[0]/b,",","M12=",x[2]/S,",","M21=",x[1]/b,",","M22=",x[3]/S,",","Dx=",CE(u*b+x[4]),",","Dy=",CE(h*S+x[5])),_.padding="0 "+CE(D)+"px "+CE(C)+"px 0",_.filter="progid:DXImageTransform.Microsoft.Matrix("+L.join("")+", SizingMethod=clip)"}else x&&(u=u*b+x[4],h=h*S+x[5]),_.filter="",_.left=CE(u)+"px",_.top=CE(h)+"px";var k=this._imageEl,P=this._cropEl;k||(k=AE.createElement("div"),this._imageEl=k);var N=k.style;if(v){if(e&&i)N.width=CE(b*e*c/f)+"px",N.height=CE(S*i*d/p)+"px";else{var O=new Image,E=this;O.onload=function(){O.onload=null,e=O.width,i=O.height,N.width=CE(b*e*c/f)+"px",N.height=CE(S*i*d/p)+"px",E._imageWidth=e,E._imageHeight=i,E._imageSrc=o},O.src=o}P||((P=AE.createElement("div")).style.overflow="hidden",this._cropEl=P);var R=P.style;R.width=CE((c+g*c/f)*b),R.height=CE((d+m*d/p)*S),R.filter="progid:DXImageTransform.Microsoft.Matrix(Dx="+-g*c/f*b+",Dy="+-m*d/p*S+")",P.parentNode||y.appendChild(P),k.parentNode!==P&&P.appendChild(k)}else N.width=CE(b*c)+"px",N.height=CE(S*d)+"px",y.appendChild(k),P&&P.parentNode&&(y.removeChild(P),this._cropEl=null);var z="",B=n.opacity;B<1&&(z+=".Alpha(opacity="+CE(100*B)+") "),z+="progid:DXImageTransform.Microsoft.AlphaImageLoader(src="+o+", SizingMethod=scale)",N.filter=z,y.style.zIndex=WE(this.zlevel,this.z,this.z2),GE(t,y),null!=n.text&&this.drawRectText(t,this.getBoundingRect())}},fi.prototype.onRemove=function(t){FE(t,this._vmlEl),this._vmlEl=null,this._cropEl=null,this._imageEl=null,this.removeRectText(t)},fi.prototype.onAdd=function(t){GE(t,this._vmlEl),this.appendRectText(t)};var JE,QE={},tR=0,eR=document.createElement("div"),iR=function(t){var e=QE[t];if(!e){tR>100&&(tR=0,QE={});var i,n=eR.style;try{n.font=t,i=n.fontFamily.split(",")[0]}catch(t){}e={style:n.fontStyle||"normal",variant:n.fontVariant||"normal",weight:n.fontWeight||"normal",size:0|parseFloat(n.fontSize||12),family:i||"Microsoft YaHei"},QE[t]=e,tR++}return e};!function(t,e){bb[t]=e}("measureText",function(t,e){var i=AE;JE||((JE=i.createElement("div")).style.cssText="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;",AE.body.appendChild(JE));try{JE.style.font=e}catch(t){}return JE.innerHTML="",JE.appendChild(i.createTextNode(t)),{width:JE.offsetWidth}});for(var nR=new de,oR=[Db,di,fi,Pn,rM],aR=0;aR<oR.length;aR++){var rR=oR[aR].prototype;rR.drawRectText=function(t,e,i,n){var o=this.style;this.__dirty&&Ye(o);var a=o.text;if(null!=a&&(a+=""),a){if(o.rich){var r=Ze(a,o);a=[];for(var s=0;s<r.lines.length;s++){for(var l=r.lines[s].tokens,u=[],h=0;h<l.length;h++)u.push(l[h].text);a.push(u.join(""))}a=a.join("\n")}var c,d,f=o.textAlign,p=o.textVerticalAlign,g=iR(o.font),m=g.style+" "+g.variant+" "+g.weight+" "+g.size+'px "'+g.family+'"';i=i||ke(a,m,f,p,o.textPadding,o.textLineHeight);var v=this.transform;if(v&&!n&&(nR.copy(e),nR.applyTransform(v),e=nR),n)c=e.x,d=e.y;else{var y=o.textPosition,x=o.textDistance;if(y instanceof Array)c=e.x+HE(y[0],e.width),d=e.y+HE(y[1],e.height),f=f||"left";else{var _=Re(y,e,x);c=_.x,d=_.y,f=f||_.textAlign,p=p||_.textVerticalAlign}}c=Oe(c,i.width,f),d=Ee(d,i.height,p),d+=i.height/2;var w,b,S,M=u_,I=this._textVmlEl;I?b=(w=(S=I.firstChild).nextSibling).nextSibling:(I=M("line"),w=M("path"),b=M("textpath"),S=M("skew"),b.style["v-text-align"]="left",zE(I),w.textpathok=!0,b.on=!0,I.from="0 0",I.to="1000 0.05",GE(I,S),GE(I,w),GE(I,b),this._textVmlEl=I);var T=[c,d],A=I.style;v&&n?(Q(T,T,v),S.on=!0,S.matrix=v[0].toFixed(3)+","+v[2].toFixed(3)+","+v[1].toFixed(3)+","+v[3].toFixed(3)+",0,0",S.offset=(CE(T[0])||0)+","+(CE(T[1])||0),S.origin="0 0",A.left="0px",A.top="0px"):(S.on=!1,A.left=CE(c)+"px",A.top=CE(d)+"px"),b.string=BE(a);try{b.style.font=m}catch(t){}YE(I,"fill",{fill:o.textFill,opacity:o.opacity},this),YE(I,"stroke",{stroke:o.textStroke,opacity:o.opacity,lineDash:o.lineDash},this),I.style.zIndex=WE(this.zlevel,this.z,this.z2),GE(t,I)}},rR.removeRectText=function(t){FE(t,this._textVmlEl),this._textVmlEl=null},rR.appendRectText=function(t){GE(t,this._textVmlEl)}}rM.prototype.brushVML=function(t){var e=this.style;null!=e.text?this.drawRectText(t,{x:e.x||0,y:e.y||0,width:0,height:0},this.getBoundingRect(),!0):this.removeRectText(t)},rM.prototype.onRemove=function(t){this.removeRectText(t)},rM.prototype.onAdd=function(t){this.appendRectText(t)}}d_.prototype={constructor:d_,getType:function(){return"vml"},getViewportRoot:function(){return this._vmlViewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0,!0);this._paintList(t)},_paintList:function(t){for(var e=this._vmlRoot,i=0;i<t.length;i++){var n=t[i];n.invisible||n.ignore?(n.__alreadyNotVisible||n.onRemove(e),n.__alreadyNotVisible=!0):(n.__alreadyNotVisible&&n.onAdd(e),n.__alreadyNotVisible=!1,n.__dirty&&(n.beforeBrush&&n.beforeBrush(),(n.brushVML||n.brush).call(n,e),n.afterBrush&&n.afterBrush())),n.__dirty=!1}this._firstPaint&&(this._vmlViewport.appendChild(e),this._firstPaint=!1)},resize:function(t,e){var t=null==t?this._getWidth():t,e=null==e?this._getHeight():e;if(this._width!==t||this._height!==e){this._width=t,this._height=e;var i=this._vmlViewport.style;i.width=t+"px",i.height=e+"px"}},dispose:function(){this.root.innerHTML="",this._vmlRoot=this._vmlViewport=this.storage=null},getWidth:function(){return this._width},getHeight:function(){return this._height},clear:function(){this._vmlViewport&&this.root.removeChild(this._vmlViewport)},_getWidth:function(){var t=this.root,e=t.currentStyle;return(t.clientWidth||c_(e.width))-c_(e.paddingLeft)-c_(e.paddingRight)|0},_getHeight:function(){var t=this.root,e=t.currentStyle;return(t.clientHeight||c_(e.height))-c_(e.paddingTop)-c_(e.paddingBottom)|0}},d(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(t){d_.prototype[t]=f_(t)}),Ti("vml",d_);var sR="http://www.w3.org/2000/svg",lR=ES.CMD,uR=Array.prototype.join,hR="none",cR=Math.round,dR=Math.sin,fR=Math.cos,pR=Math.PI,gR=2*Math.PI,mR=180/pR,vR=1e-4,yR={};yR.brush=function(t){var e=t.style,i=t.__svgEl;i||(i=p_("path"),t.__svgEl=i),t.path||t.createPathProxy();var n=t.path;if(t.__dirtyPath){n.beginPath(),n.subPixelOptimize=!1,t.buildPath(n,t.shape),t.__dirtyPath=!1;var o=S_(n);o.indexOf("NaN")<0&&__(i,"d",o)}b_(i,e,!1,t),x_(i,t.transform),null!=e.text&&bR(t,t.getBoundingRect())};var xR={};xR.brush=function(t){var e=t.style,i=e.image;if(i instanceof HTMLImageElement&&(i=i.src),i){var n=e.x||0,o=e.y||0,a=e.width,r=e.height,s=t.__svgEl;s||(s=p_("image"),t.__svgEl=s),i!==t.__imageSrc&&(w_(s,"href",i),t.__imageSrc=i),__(s,"width",a),__(s,"height",r),__(s,"x",n),__(s,"y",o),x_(s,t.transform),null!=e.text&&bR(t,t.getBoundingRect())}};var _R={},wR=new de,bR=function(t,e,i){var n=t.style;t.__dirty&&Ye(n);var o=n.text;if(null!=o){o+="";var a=t.__textSvgEl;a||(a=p_("text"),t.__textSvgEl=a);var r,s,l=n.textPosition,u=n.textDistance,h=n.textAlign||"left";"number"==typeof n.fontSize&&(n.fontSize+="px");var c=n.font||[n.fontStyle||"",n.fontWeight||"",n.fontSize||"",n.fontFamily||""].join(" ")||wb,d=M_(n.textVerticalAlign),f=(i=ke(o,c,h,d,n.textPadding,n.textLineHeight)).lineHeight;if(l instanceof Array)r=e.x+l[0],s=e.y+l[1];else{var p=Re(l,e,u);r=p.x,s=p.y,d=M_(p.textVerticalAlign),h=p.textAlign}__(a,"alignment-baseline",d),c&&(a.style.font=c);var g=n.textPadding;if(__(a,"x",r),__(a,"y",s),b_(a,n,!0,t),t instanceof rM||t.style.transformText)x_(a,t.transform);else{if(t.transform)wR.copy(e),wR.applyTransform(t.transform),e=wR;else{var m=t.transformCoordToGlobal(e.x,e.y);e.x=m[0],e.y=m[1],t.transform=_t(xt())}var v=n.textOrigin;"center"===v?(r=i.width/2+r,s=i.height/2+s):v&&(r=v[0]+r,s=v[1]+s);var y=-n.textRotation||0,x=xt();Mt(x,x,y),St(x,x,m=[t.transform[4],t.transform[5]]),x_(a,x)}var _=o.split("\n"),w=_.length,b=h;"left"===b?(b="start",g&&(r+=g[3])):"right"===b?(b="end",g&&(r-=g[1])):"center"===b&&(b="middle",g&&(r+=(g[3]-g[1])/2));var S=0;if("after-edge"===d?(S=-i.height+f,g&&(S-=g[2])):"middle"===d?(S=(-i.height+f)/2,g&&(s+=(g[0]-g[2])/2)):g&&(S+=g[0]),t.__text!==o||t.__textFont!==c){var M=t.__tspanList||[];t.__tspanList=M;for(T=0;T<w;T++)(A=M[T])?A.innerHTML="":(A=M[T]=p_("tspan"),a.appendChild(A),__(A,"alignment-baseline",d),__(A,"text-anchor",b)),__(A,"x",r),__(A,"y",s+T*f+S),A.appendChild(document.createTextNode(_[T]));for(;T<M.length;T++)a.removeChild(M[T]);M.length=w,t.__text=o,t.__textFont=c}else if(t.__tspanList.length)for(var I=t.__tspanList.length,T=0;T<I;++T){var A=t.__tspanList[T];A&&(__(A,"x",r),__(A,"y",s+T*f+S))}}};_R.drawRectText=bR,_R.brush=function(t){var e=t.style;null!=e.text&&(e.textPosition=[0,0],bR(t,{x:e.x||0,y:e.y||0,width:0,height:0},t.getBoundingRect()))},I_.prototype={diff:function(t,e,i){i||(i=function(t,e){return t===e}),this.equals=i;var n=this;t=t.slice();var o=(e=e.slice()).length,a=t.length,r=1,s=o+a,l=[{newPos:-1,components:[]}],u=this.extractCommon(l[0],e,t,0);if(l[0].newPos+1>=o&&u+1>=a){for(var h=[],c=0;c<e.length;c++)h.push(c);return[{indices:h,count:e.length}]}for(;r<=s;){var d=function(){for(var i=-1*r;i<=r;i+=2){var s,u=l[i-1],h=l[i+1],c=(h?h.newPos:0)-i;u&&(l[i-1]=void 0);var d=u&&u.newPos+1<o,f=h&&0<=c&&c<a;if(d||f){if(!d||f&&u.newPos<h.newPos?(s=A_(h),n.pushComponent(s.components,void 0,!0)):((s=u).newPos++,n.pushComponent(s.components,!0,void 0)),c=n.extractCommon(s,e,t,i),s.newPos+1>=o&&c+1>=a)return T_(0,s.components);l[i]=s}else l[i]=void 0}r++}();if(d)return d}},pushComponent:function(t,e,i){var n=t[t.length-1];n&&n.added===e&&n.removed===i?t[t.length-1]={count:n.count+1,added:e,removed:i}:t.push({count:1,added:e,removed:i})},extractCommon:function(t,e,i,n){for(var o=e.length,a=i.length,r=t.newPos,s=r-n,l=0;r+1<o&&s+1<a&&this.equals(e[r+1],i[s+1]);)r++,s++,l++;return l&&t.components.push({count:l}),t.newPos=r,s},tokenize:function(t){return t.slice()},join:function(t){return t.slice()}};var SR=new I_,MR=function(t,e,i){return SR.diff(t,e,i)};D_.prototype.createElement=p_,D_.prototype.getDefs=function(t){var e=this._svgRoot,i=this._svgRoot.getElementsByTagName("defs");return 0===i.length?t?((i=e.insertBefore(this.createElement("defs"),e.firstChild)).contains||(i.contains=function(t){var e=i.children;if(!e)return!1;for(var n=e.length-1;n>=0;--n)if(e[n]===t)return!0;return!1}),i):null:i[0]},D_.prototype.update=function(t,e){if(t){var i=this.getDefs(!1);if(t[this._domName]&&i.contains(t[this._domName]))"function"==typeof e&&e(t);else{var n=this.add(t);n&&(t[this._domName]=n)}}},D_.prototype.addDom=function(t){this.getDefs(!0).appendChild(t)},D_.prototype.removeDom=function(t){var e=this.getDefs(!1);e&&t[this._domName]&&(e.removeChild(t[this._domName]),t[this._domName]=null)},D_.prototype.getDoms=function(){var t=this.getDefs(!1);if(!t)return[];var e=[];return d(this._tagNames,function(i){var n=t.getElementsByTagName(i);e=e.concat([].slice.call(n))}),e},D_.prototype.markAllUnused=function(){var t=this;d(this.getDoms(),function(e){e[t._markLabel]="0"})},D_.prototype.markUsed=function(t){t&&(t[this._markLabel]="1")},D_.prototype.removeUnused=function(){var t=this.getDefs(!1);if(t){var e=this;d(this.getDoms(),function(i){"1"!==i[e._markLabel]&&t.removeChild(i)})}},D_.prototype.getSvgProxy=function(t){return t instanceof Pn?yR:t instanceof fi?xR:t instanceof rM?_R:yR},D_.prototype.getTextSvgElement=function(t){return t.__textSvgEl},D_.prototype.getSvgElement=function(t){return t.__svgEl},u(C_,D_),C_.prototype.addWithoutUpdate=function(t,e){if(e&&e.style){var i=this;d(["fill","stroke"],function(n){if(e.style[n]&&("linear"===e.style[n].type||"radial"===e.style[n].type)){var o,a=e.style[n],r=i.getDefs(!0);a._dom?(o=a._dom,r.contains(a._dom)||i.addDom(o)):o=i.add(a),i.markUsed(e);var s=o.getAttribute("id");t.setAttribute(n,"url(#"+s+")")}})}},C_.prototype.add=function(t){var e;if("linear"===t.type)e=this.createElement("linearGradient");else{if("radial"!==t.type)return Yw("Illegal gradient type."),null;e=this.createElement("radialGradient")}return t.id=t.id||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-gradient-"+t.id),this.updateDom(t,e),this.addDom(e),e},C_.prototype.update=function(t){var e=this;D_.prototype.update.call(this,t,function(){var i=t.type,n=t._dom.tagName;"linear"===i&&"linearGradient"===n||"radial"===i&&"radialGradient"===n?e.updateDom(t,t._dom):(e.removeDom(t),e.add(t))})},C_.prototype.updateDom=function(t,e){if("linear"===t.type)e.setAttribute("x1",t.x),e.setAttribute("y1",t.y),e.setAttribute("x2",t.x2),e.setAttribute("y2",t.y2);else{if("radial"!==t.type)return void Yw("Illegal gradient type.");e.setAttribute("cx",t.x),e.setAttribute("cy",t.y),e.setAttribute("r",t.r)}t.global?e.setAttribute("gradientUnits","userSpaceOnUse"):e.setAttribute("gradientUnits","objectBoundingBox"),e.innerHTML="";for(var i=t.colorStops,n=0,o=i.length;n<o;++n){var a=this.createElement("stop");a.setAttribute("offset",100*i[n].offset+"%");var r=i[n].color;if(r.indexOf(!1)){var s=Gt(r)[3],l=Zt(r);a.setAttribute("stop-color","#"+l),a.setAttribute("stop-opacity",s)}else a.setAttribute("stop-color",i[n].color);e.appendChild(a)}t._dom=e},C_.prototype.markUsed=function(t){if(t.style){var e=t.style.fill;e&&e._dom&&D_.prototype.markUsed.call(this,e._dom),(e=t.style.stroke)&&e._dom&&D_.prototype.markUsed.call(this,e._dom)}},u(L_,D_),L_.prototype.update=function(t){var e=this.getSvgElement(t);e&&this.updateDom(e,t.__clipPaths,!1);var i=this.getTextSvgElement(t);i&&this.updateDom(i,t.__clipPaths,!0),this.markUsed(t)},L_.prototype.updateDom=function(t,e,i){if(e&&e.length>0){var n,o,a=this.getDefs(!0),r=e[0],s=i?"_textDom":"_dom";r[s]?(o=r[s].getAttribute("id"),n=r[s],a.contains(n)||a.appendChild(n)):(o="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,(n=this.createElement("clipPath")).setAttribute("id",o),a.appendChild(n),r[s]=n);var l=this.getSvgProxy(r);if(r.transform&&r.parent.invTransform&&!i){var u=Array.prototype.slice.call(r.transform);bt(r.transform,r.parent.invTransform,r.transform),l.brush(r),r.transform=u}else l.brush(r);var h=this.getSvgElement(r);n.innerHTML="",n.appendChild(h.cloneNode()),t.setAttribute("clip-path","url(#"+o+")"),e.length>1&&this.updateDom(n,e.slice(1),i)}else t&&t.setAttribute("clip-path","none")},L_.prototype.markUsed=function(t){var e=this;t.__clipPaths&&t.__clipPaths.length>0&&d(t.__clipPaths,function(t){t._dom&&D_.prototype.markUsed.call(e,t._dom),t._textDom&&D_.prototype.markUsed.call(e,t._textDom)})},u(k_,D_),k_.prototype.addWithoutUpdate=function(t,e){if(e&&P_(e.style)){var i,n=e.style;n._shadowDom?(i=n._shadowDom,this.getDefs(!0).contains(n._shadowDom)||this.addDom(i)):i=this.add(e),this.markUsed(e);var o=i.getAttribute("id");t.style.filter="url(#"+o+")"}},k_.prototype.add=function(t){var e=this.createElement("filter"),i=t.style;return i._shadowDomId=i._shadowDomId||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-shadow-"+i._shadowDomId),this.updateDom(t,e),this.addDom(e),e},k_.prototype.update=function(t,e){var i=e.style;if(P_(i)){var n=this;D_.prototype.update.call(this,e,function(t){n.updateDom(e,t._shadowDom)})}else this.remove(t,i)},k_.prototype.remove=function(t,e){null!=e._shadowDomId&&(this.removeDom(e),t.style.filter="")},k_.prototype.updateDom=function(t,e){var i=e.getElementsByTagName("feDropShadow");i=0===i.length?this.createElement("feDropShadow"):i[0];var n,o,a,r,s=t.style,l=t.scale?t.scale[0]||1:1,u=t.scale?t.scale[1]||1:1;if(s.shadowBlur||s.shadowOffsetX||s.shadowOffsetY)n=s.shadowOffsetX||0,o=s.shadowOffsetY||0,a=s.shadowBlur,r=s.shadowColor;else{if(!s.textShadowBlur)return void this.removeDom(e,s);n=s.textShadowOffsetX||0,o=s.textShadowOffsetY||0,a=s.textShadowBlur,r=s.textShadowColor}i.setAttribute("dx",n/l),i.setAttribute("dy",o/u),i.setAttribute("flood-color",r);var h=a/2/l+" "+a/2/u;i.setAttribute("stdDeviation",h),e.setAttribute("x","-100%"),e.setAttribute("y","-100%"),e.setAttribute("width",Math.ceil(a/2*200)+"%"),e.setAttribute("height",Math.ceil(a/2*200)+"%"),e.appendChild(i),s._shadowDom=e},k_.prototype.markUsed=function(t){var e=t.style;e&&e._shadowDom&&D_.prototype.markUsed.call(this,e._shadowDom)};var IR=function(t,e,i,n){this.root=t,this.storage=e,this._opts=i=a({},i||{});var o=p_("svg");o.setAttribute("xmlns","http://www.w3.org/2000/svg"),o.setAttribute("version","1.1"),o.setAttribute("baseProfile","full"),o.style.cssText="user-select:none;position:absolute;left:0;top:0;",this.gradientManager=new C_(n,o),this.clipPathManager=new L_(n,o),this.shadowManager=new k_(n,o);var r=document.createElement("div");r.style.cssText="overflow:hidden;position:relative",this._svgRoot=o,this._viewport=r,t.appendChild(r),r.appendChild(o),this.resize(i.width,i.height),this._visibleList=[]};IR.prototype={constructor:IR,getType:function(){return"svg"},getViewportRoot:function(){return this._viewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0);this._paintList(t)},setBackgroundColor:function(t){this._viewport.style.background=t},_paintList:function(t){this.gradientManager.markAllUnused(),this.clipPathManager.markAllUnused(),this.shadowManager.markAllUnused();var e,i=this._svgRoot,n=this._visibleList,o=t.length,a=[];for(e=0;e<o;e++){var r=O_(f=t[e]),s=G_(f)||V_(f);f.invisible||(f.__dirty&&(r&&r.brush(f),this.clipPathManager.update(f),f.style&&(this.gradientManager.update(f.style.fill),this.gradientManager.update(f.style.stroke),this.shadowManager.update(s,f)),f.__dirty=!1),a.push(f))}var l,u=MR(n,a);for(e=0;e<u.length;e++)if((c=u[e]).removed)for(d=0;d<c.count;d++){var s=G_(f=n[c.indices[d]]),h=V_(f);B_(i,s),B_(i,h)}for(e=0;e<u.length;e++){var c=u[e];if(c.added)for(d=0;d<c.count;d++){var s=G_(f=a[c.indices[d]]),h=V_(f);l?R_(i,s,l):z_(i,s),s?R_(i,h,s):l?R_(i,h,l):z_(i,h),R_(i,h,s),l=h||s||l,this.gradientManager.addWithoutUpdate(s,f),this.shadowManager.addWithoutUpdate(l,f),this.clipPathManager.markUsed(f)}else if(!c.removed)for(var d=0;d<c.count;d++){var f=a[c.indices[d]];l=s=V_(f)||G_(f)||l,this.gradientManager.markUsed(f),this.gradientManager.addWithoutUpdate(s,f),this.shadowManager.markUsed(f),this.shadowManager.addWithoutUpdate(s,f),this.clipPathManager.markUsed(f)}}this.gradientManager.removeUnused(),this.clipPathManager.removeUnused(),this.shadowManager.removeUnused(),this._visibleList=a},_getDefs:function(t){var e=this._svgRoot,i=this._svgRoot.getElementsByTagName("defs");return 0===i.length?t?((i=e.insertBefore(p_("defs"),e.firstChild)).contains||(i.contains=function(t){var e=i.children;if(!e)return!1;for(var n=e.length-1;n>=0;--n)if(e[n]===t)return!0;return!1}),i):null:i[0]},resize:function(t,e){var i=this._viewport;i.style.display="none";var n=this._opts;if(null!=t&&(n.width=t),null!=e&&(n.height=e),t=this._getSize(0),e=this._getSize(1),i.style.display="",this._width!==t||this._height!==e){this._width=t,this._height=e;var o=i.style;o.width=t+"px",o.height=e+"px";var a=this._svgRoot;a.setAttribute("width",t),a.setAttribute("height",e)}},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,i=["width","height"][t],n=["clientWidth","clientHeight"][t],o=["paddingLeft","paddingTop"][t],a=["paddingRight","paddingBottom"][t];if(null!=e[i]&&"auto"!==e[i])return parseFloat(e[i]);var r=this.root,s=document.defaultView.getComputedStyle(r);return(r[n]||N_(s[i])||N_(r.style[i]))-(N_(s[o])||0)-(N_(s[a])||0)|0},dispose:function(){this.root.innerHTML="",this._svgRoot=this._viewport=this.storage=null},clear:function(){this._viewport&&this.root.removeChild(this._viewport)},pathToDataUrl:function(){return this.refresh(),"data:image/svg+xml;charset=UTF-8,"+this._svgRoot.outerHTML}},d(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(t){IR.prototype[t]=F_(t)}),Ti("svg",IR),t.version="4.2.1",t.dependencies=ET,t.PRIORITY=VT,t.init=function(t,e,i){var n=ks(t);if(n)return n;var o=new us(t,e,i);return o.id="ec_"+iA++,tA[o.id]=o,Fi(t,oA,o.id),Cs(o),o},t.connect=function(t){if(y(t)){var e=t;t=null,kT(e,function(e){null!=e.group&&(t=e.group)}),t=t||"g_"+nA++,kT(e,function(e){e.group=t})}return eA[t]=!0,t},t.disConnect=Ls,t.disconnect=aA,t.dispose=function(t){"string"==typeof t?t=tA[t]:t instanceof us||(t=ks(t)),t instanceof us&&!t.isDisposed()&&t.dispose()},t.getInstanceByDom=ks,t.getInstanceById=function(t){return tA[t]},t.registerTheme=Ps,t.registerPreprocessor=Ns,t.registerProcessor=Os,t.registerPostUpdate=function(t){KT.push(t)},t.registerAction=Es,t.registerCoordinateSystem=Rs,t.getCoordinateSystemDimensions=function(t){var e=Fa.get(t);if(e)return e.getDimensionsInfo?e.getDimensionsInfo():e.dimensions.slice()},t.registerLayout=zs,t.registerVisual=Bs,t.registerLoading=Gs,t.extendComponentModel=Fs,t.extendComponentView=Ws,t.extendSeriesModel=Hs,t.extendChartView=Zs,t.setCanvasCreator=function(t){e("createCanvas",t)},t.registerMap=function(t,e,i){DT.registerMap(t,e,i)},t.getMap=function(t){var e=DT.retrieveMap(t);return e&&e[0]&&{geoJson:e[0].geoJSON,specialAreas:e[0].specialAreas}},t.dataTool=rA,t.zrender=Hb,t.number=YM,t.format=eI,t.throttle=Pr,t.helper=tD,t.matrix=Sw,t.vector=cw,t.color=Ww,t.parseGeoJSON=iD,t.parseGeoJson=rD,t.util=sD,t.graphic=lD,t.List=vA,t.Model=No,t.Axis=aD,t.env=U_});
\ No newline at end of file
diff --git a/src/components/ruoyi/DictTag/index.vue b/src/components/ruoyi/DictTag/index.vue
deleted file mode 100644
index 3ae8228..0000000
--- a/src/components/ruoyi/DictTag/index.vue
+++ /dev/null
@@ -1,54 +0,0 @@
-<template>
-  <div>
-    <template v-for="(item, index) in options">
-      <template v-if="values.includes(item.value)">
-        <span
-          v-if="item.elTagType == 'default' || item.elTagType == ''"
-          :key="item.value"
-          :index="index"
-          :class="item.elTagClass"
-        >{{ item.label }}</span>
-        <uni-tag
-          v-else
-          :key="item.value + ''"
-          :index="index"
-          :type="elTagType(item.elTagType)"
-          :class="item.elTagClass"
-          :text="item.label"
-        />
-      </template>
-    </template>
-  </div>
-</template>
-
-<script setup>
-const props = defineProps({
-  // 鏁版嵁
-  options: {
-    type: Array,
-    default: null,
-  },
-  // 褰撳墠鐨勫��
-  value: [Number, String, Array],
-})
-
-const values = computed(() => {
-  if (props.value !== null && typeof props.value !== 'undefined') {
-    return Array.isArray(props.value) ? props.value : [String(props.value)];
-  } else {
-    return [];
-  }
-})
-
-const elTagType = (tagType) =>{
-  tagType === 'danger' ? 'error' : tagType
-  tagType === 'info' ? 'default' : tagType
-}
-
-</script>
-
-<style scoped>
-.uni-tag + .uni-tag {
-  margin-left: 10px;
-}
-</style>
\ No newline at end of file
diff --git a/src/components/u-city-select/area.js b/src/components/u-city-select/area.js
deleted file mode 100644
index 0d602e9..0000000
--- a/src/components/u-city-select/area.js
+++ /dev/null
@@ -1 +0,0 @@
-var areaData=[[[{"label":"涓滃煄鍖�","value":"110101"},{"label":"瑗垮煄鍖�","value":"110102"},{"label":"鏈濋槼鍖�","value":"110105"},{"label":"涓板彴鍖�","value":"110106"},{"label":"鐭虫櫙灞卞尯","value":"110107"},{"label":"娴锋穩鍖�","value":"110108"},{"label":"闂ㄥご娌熷尯","value":"110109"},{"label":"鎴垮北鍖�","value":"110111"},{"label":"閫氬窞鍖�","value":"110112"},{"label":"椤轰箟鍖�","value":"110113"},{"label":"鏄屽钩鍖�","value":"110114"},{"label":"澶у叴鍖�","value":"110115"},{"label":"鎬�鏌斿尯","value":"110116"},{"label":"骞宠胺鍖�","value":"110117"},{"label":"瀵嗕簯鍖�","value":"110118"},{"label":"寤跺簡鍖�","value":"110119"}]],[[{"label":"鍜屽钩鍖�","value":"120101"},{"label":"娌充笢鍖�","value":"120102"},{"label":"娌宠タ鍖�","value":"120103"},{"label":"鍗楀紑鍖�","value":"120104"},{"label":"娌冲寳鍖�","value":"120105"},{"label":"绾㈡ˉ鍖�","value":"120106"},{"label":"涓滀附鍖�","value":"120110"},{"label":"瑗块潚鍖�","value":"120111"},{"label":"娲ュ崡鍖�","value":"120112"},{"label":"鍖楄景鍖�","value":"120113"},{"label":"姝︽竻鍖�","value":"120114"},{"label":"瀹濆澔鍖�","value":"120115"},{"label":"婊ㄦ捣鏂板尯","value":"120116"},{"label":"瀹佹渤鍖�","value":"120117"},{"label":"闈欐捣鍖�","value":"120118"},{"label":"钃熷窞鍖�","value":"120119"}]],[[{"label":"闀垮畨鍖�","value":"130102"},{"label":"妗ヨタ鍖�","value":"130104"},{"label":"鏂板崕鍖�","value":"130105"},{"label":"浜曢檳鐭垮尯","value":"130107"},{"label":"瑁曞崕鍖�","value":"130108"},{"label":"钘佸煄鍖�","value":"130109"},{"label":"楣挎硥鍖�","value":"130110"},{"label":"鏍惧煄鍖�","value":"130111"},{"label":"浜曢檳鍘�","value":"130121"},{"label":"姝e畾鍘�","value":"130123"},{"label":"琛屽攼鍘�","value":"130125"},{"label":"鐏靛鍘�","value":"130126"},{"label":"楂橀倯鍘�","value":"130127"},{"label":"娣辨辰鍘�","value":"130128"},{"label":"璧炵殗鍘�","value":"130129"},{"label":"鏃犳瀬鍘�","value":"130130"},{"label":"骞冲北鍘�","value":"130131"},{"label":"鍏冩皬鍘�","value":"130132"},{"label":"璧靛幙","value":"130133"},{"label":"鐭冲搴勯珮鏂版妧鏈骇涓氬紑鍙戝尯","value":"130171"},{"label":"鐭冲搴勫惊鐜寲宸ュ洯鍖�","value":"130172"},{"label":"杈涢泦甯�","value":"130181"},{"label":"鏅嬪窞甯�","value":"130183"},{"label":"鏂颁箰甯�","value":"130184"}],[{"label":"璺崡鍖�","value":"130202"},{"label":"璺寳鍖�","value":"130203"},{"label":"鍙ゅ喍鍖�","value":"130204"},{"label":"寮�骞冲尯","value":"130205"},{"label":"涓板崡鍖�","value":"130207"},{"label":"涓版鼎鍖�","value":"130208"},{"label":"鏇瑰鐢稿尯","value":"130209"},{"label":"婊﹀幙","value":"130223"},{"label":"婊﹀崡鍘�","value":"130224"},{"label":"涔愪涵鍘�","value":"130225"},{"label":"杩佽タ鍘�","value":"130227"},{"label":"鐜夌敯鍘�","value":"130229"},{"label":"鍞愬北甯傝姦鍙扮粡娴庢妧鏈紑鍙戝尯","value":"130271"},{"label":"鍞愬北甯傛眽娌界鐞嗗尯","value":"130272"},{"label":"鍞愬北楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"130273"},{"label":"娌冲寳鍞愬北娴锋腐缁忔祹寮�鍙戝尯","value":"130274"},{"label":"閬靛寲甯�","value":"130281"},{"label":"杩佸畨甯�","value":"130283"}],[{"label":"娴锋腐鍖�","value":"130302"},{"label":"灞辨捣鍏冲尯","value":"130303"},{"label":"鍖楁埓娌冲尯","value":"130304"},{"label":"鎶氬畞鍖�","value":"130306"},{"label":"闈掗緳婊℃棌鑷不鍘�","value":"130321"},{"label":"鏄岄粠鍘�","value":"130322"},{"label":"鍗㈤緳鍘�","value":"130324"},{"label":"绉︾殗宀涘競缁忔祹鎶�鏈紑鍙戝尯","value":"130371"},{"label":"鍖楁埓娌虫柊鍖�","value":"130372"}],[{"label":"閭北鍖�","value":"130402"},{"label":"涓涘彴鍖�","value":"130403"},{"label":"澶嶅叴鍖�","value":"130404"},{"label":"宄板嘲鐭垮尯","value":"130406"},{"label":"鑲ヤ埂鍖�","value":"130407"},{"label":"姘稿勾鍖�","value":"130408"},{"label":"涓存汲鍘�","value":"130423"},{"label":"鎴愬畨鍘�","value":"130424"},{"label":"澶у悕鍘�","value":"130425"},{"label":"娑夊幙","value":"130426"},{"label":"纾佸幙","value":"130427"},{"label":"閭卞幙","value":"130430"},{"label":"楦℃辰鍘�","value":"130431"},{"label":"骞垮钩鍘�","value":"130432"},{"label":"棣嗛櫠鍘�","value":"130433"},{"label":"榄忓幙","value":"130434"},{"label":"鏇插懆鍘�","value":"130435"},{"label":"閭兏缁忔祹鎶�鏈紑鍙戝尯","value":"130471"},{"label":"閭兏鍐�鍗楁柊鍖�","value":"130473"},{"label":"姝﹀畨甯�","value":"130481"}],[{"label":"妗ヤ笢鍖�","value":"130502"},{"label":"妗ヨタ鍖�","value":"130503"},{"label":"閭㈠彴鍘�","value":"130521"},{"label":"涓村煄鍘�","value":"130522"},{"label":"鍐呬笜鍘�","value":"130523"},{"label":"鏌忎埂鍘�","value":"130524"},{"label":"闅嗗哀鍘�","value":"130525"},{"label":"浠诲幙","value":"130526"},{"label":"鍗楀拰鍘�","value":"130527"},{"label":"瀹佹檵鍘�","value":"130528"},{"label":"宸ㄩ箍鍘�","value":"130529"},{"label":"鏂版渤鍘�","value":"130530"},{"label":"骞垮畻鍘�","value":"130531"},{"label":"骞充埂鍘�","value":"130532"},{"label":"濞佸幙","value":"130533"},{"label":"娓呮渤鍘�","value":"130534"},{"label":"涓磋タ鍘�","value":"130535"},{"label":"娌冲寳閭㈠彴缁忔祹寮�鍙戝尯","value":"130571"},{"label":"鍗楀甯�","value":"130581"},{"label":"娌欐渤甯�","value":"130582"}],[{"label":"绔炵鍖�","value":"130602"},{"label":"鑾叉睜鍖�","value":"130606"},{"label":"婊″煄鍖�","value":"130607"},{"label":"娓呰嫅鍖�","value":"130608"},{"label":"寰愭按鍖�","value":"130609"},{"label":"娑炴按鍘�","value":"130623"},{"label":"闃滃钩鍘�","value":"130624"},{"label":"瀹氬叴鍘�","value":"130626"},{"label":"鍞愬幙","value":"130627"},{"label":"楂橀槼鍘�","value":"130628"},{"label":"瀹瑰煄鍘�","value":"130629"},{"label":"娑炴簮鍘�","value":"130630"},{"label":"鏈涢兘鍘�","value":"130631"},{"label":"瀹夋柊鍘�","value":"130632"},{"label":"鏄撳幙","value":"130633"},{"label":"鏇查槼鍘�","value":"130634"},{"label":"锠″幙","value":"130635"},{"label":"椤哄钩鍘�","value":"130636"},{"label":"鍗氶噹鍘�","value":"130637"},{"label":"闆勫幙","value":"130638"},{"label":"淇濆畾楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"130671"},{"label":"淇濆畾鐧芥矡鏂板煄","value":"130672"},{"label":"娑垮窞甯�","value":"130681"},{"label":"瀹氬窞甯�","value":"130682"},{"label":"瀹夊浗甯�","value":"130683"},{"label":"楂樼搴楀競","value":"130684"}],[{"label":"妗ヤ笢鍖�","value":"130702"},{"label":"妗ヨタ鍖�","value":"130703"},{"label":"瀹e寲鍖�","value":"130705"},{"label":"涓嬭姳鍥尯","value":"130706"},{"label":"涓囧叏鍖�","value":"130708"},{"label":"宕囩ぜ鍖�","value":"130709"},{"label":"寮犲寳鍘�","value":"130722"},{"label":"搴蜂繚鍘�","value":"130723"},{"label":"娌芥簮鍘�","value":"130724"},{"label":"灏氫箟鍘�","value":"130725"},{"label":"钄氬幙","value":"130726"},{"label":"闃冲師鍘�","value":"130727"},{"label":"鎬�瀹夊幙","value":"130728"},{"label":"鎬�鏉ュ幙","value":"130730"},{"label":"娑块箍鍘�","value":"130731"},{"label":"璧ゅ煄鍘�","value":"130732"},{"label":"寮犲鍙e競楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"130771"},{"label":"寮犲鍙e競瀵熷寳绠$悊鍖�","value":"130772"},{"label":"寮犲鍙e競濉炲寳绠$悊鍖�","value":"130773"}],[{"label":"鍙屾ˉ鍖�","value":"130802"},{"label":"鍙屾沪鍖�","value":"130803"},{"label":"楣版墜钀ュ瓙鐭垮尯","value":"130804"},{"label":"鎵垮痉鍘�","value":"130821"},{"label":"鍏撮殕鍘�","value":"130822"},{"label":"婊﹀钩鍘�","value":"130824"},{"label":"闅嗗寲鍘�","value":"130825"},{"label":"涓板畞婊℃棌鑷不鍘�","value":"130826"},{"label":"瀹藉煄婊℃棌鑷不鍘�","value":"130827"},{"label":"鍥村満婊℃棌钂欏彜鏃忚嚜娌诲幙","value":"130828"},{"label":"鎵垮痉楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"130871"},{"label":"骞虫硥甯�","value":"130881"}],[{"label":"鏂板崕鍖�","value":"130902"},{"label":"杩愭渤鍖�","value":"130903"},{"label":"娌у幙","value":"130921"},{"label":"闈掑幙","value":"130922"},{"label":"涓滃厜鍘�","value":"130923"},{"label":"娴峰叴鍘�","value":"130924"},{"label":"鐩愬北鍘�","value":"130925"},{"label":"鑲冨畞鍘�","value":"130926"},{"label":"鍗楃毊鍘�","value":"130927"},{"label":"鍚存ˉ鍘�","value":"130928"},{"label":"鐚幙","value":"130929"},{"label":"瀛熸潙鍥炴棌鑷不鍘�","value":"130930"},{"label":"娌冲寳娌у窞缁忔祹寮�鍙戝尯","value":"130971"},{"label":"娌у窞楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"130972"},{"label":"娌у窞娓ゆ捣鏂板尯","value":"130973"},{"label":"娉婂ご甯�","value":"130981"},{"label":"浠讳笜甯�","value":"130982"},{"label":"榛勯獏甯�","value":"130983"},{"label":"娌抽棿甯�","value":"130984"}],[{"label":"瀹夋鍖�","value":"131002"},{"label":"骞块槼鍖�","value":"131003"},{"label":"鍥哄畨鍘�","value":"131022"},{"label":"姘告竻鍘�","value":"131023"},{"label":"棣欐渤鍘�","value":"131024"},{"label":"澶у煄鍘�","value":"131025"},{"label":"鏂囧畨鍘�","value":"131026"},{"label":"澶у巶鍥炴棌鑷不鍘�","value":"131028"},{"label":"寤婂潑缁忔祹鎶�鏈紑鍙戝尯","value":"131071"},{"label":"闇稿窞甯�","value":"131081"},{"label":"涓夋渤甯�","value":"131082"}],[{"label":"妗冨煄鍖�","value":"131102"},{"label":"鍐�宸炲尯","value":"131103"},{"label":"鏋e己鍘�","value":"131121"},{"label":"姝﹂倯鍘�","value":"131122"},{"label":"姝﹀己鍘�","value":"131123"},{"label":"楗堕槼鍘�","value":"131124"},{"label":"瀹夊钩鍘�","value":"131125"},{"label":"鏁呭煄鍘�","value":"131126"},{"label":"鏅幙","value":"131127"},{"label":"闃滃煄鍘�","value":"131128"},{"label":"娌冲寳琛℃按缁忔祹寮�鍙戝尯","value":"131171"},{"label":"琛℃按婊ㄦ箹鏂板尯","value":"131172"},{"label":"娣卞窞甯�","value":"131182"}]],[[{"label":"灏忓簵鍖�","value":"140105"},{"label":"杩庢辰鍖�","value":"140106"},{"label":"鏉忚姳宀尯","value":"140107"},{"label":"灏栬崏鍧尯","value":"140108"},{"label":"涓囨煆鏋楀尯","value":"140109"},{"label":"鏅嬫簮鍖�","value":"140110"},{"label":"娓呭緪鍘�","value":"140121"},{"label":"闃虫洸鍘�","value":"140122"},{"label":"濞勭儲鍘�","value":"140123"},{"label":"灞辫タ杞瀷缁煎悎鏀归潻绀鸿寖鍖�","value":"140171"},{"label":"鍙や氦甯�","value":"140181"}],[{"label":"鍩庡尯","value":"140202"},{"label":"鐭垮尯","value":"140203"},{"label":"鍗楅儕鍖�","value":"140211"},{"label":"鏂拌崳鍖�","value":"140212"},{"label":"闃抽珮鍘�","value":"140221"},{"label":"澶╅晣鍘�","value":"140222"},{"label":"骞跨伒鍘�","value":"140223"},{"label":"鐏典笜鍘�","value":"140224"},{"label":"娴戞簮鍘�","value":"140225"},{"label":"宸︿簯鍘�","value":"140226"},{"label":"澶у悓鍘�","value":"140227"},{"label":"灞辫タ澶у悓缁忔祹寮�鍙戝尯","value":"140271"}],[{"label":"鍩庡尯","value":"140302"},{"label":"鐭垮尯","value":"140303"},{"label":"閮婂尯","value":"140311"},{"label":"骞冲畾鍘�","value":"140321"},{"label":"鐩傚幙","value":"140322"},{"label":"灞辫タ闃虫硥缁忔祹寮�鍙戝尯","value":"140371"}],[{"label":"鍩庡尯","value":"140402"},{"label":"閮婂尯","value":"140411"},{"label":"闀挎不鍘�","value":"140421"},{"label":"瑗勫灒鍘�","value":"140423"},{"label":"灞暀鍘�","value":"140424"},{"label":"骞抽『鍘�","value":"140425"},{"label":"榛庡煄鍘�","value":"140426"},{"label":"澹跺叧鍘�","value":"140427"},{"label":"闀垮瓙鍘�","value":"140428"},{"label":"姝︿埂鍘�","value":"140429"},{"label":"娌佸幙","value":"140430"},{"label":"娌佹簮鍘�","value":"140431"},{"label":"灞辫タ闀挎不楂樻柊鎶�鏈骇涓氬洯鍖�","value":"140471"},{"label":"娼炲煄甯�","value":"140481"}],[{"label":"鍩庡尯","value":"140502"},{"label":"娌佹按鍘�","value":"140521"},{"label":"闃冲煄鍘�","value":"140522"},{"label":"闄靛窛鍘�","value":"140524"},{"label":"娉藉窞鍘�","value":"140525"},{"label":"楂樺钩甯�","value":"140581"}],[{"label":"鏈斿煄鍖�","value":"140602"},{"label":"骞抽瞾鍖�","value":"140603"},{"label":"灞遍槾鍘�","value":"140621"},{"label":"搴斿幙","value":"140622"},{"label":"鍙崇帀鍘�","value":"140623"},{"label":"鎬�浠佸幙","value":"140624"},{"label":"灞辫タ鏈斿窞缁忔祹寮�鍙戝尯","value":"140671"}],[{"label":"姒嗘鍖�","value":"140702"},{"label":"姒嗙ぞ鍘�","value":"140721"},{"label":"宸︽潈鍘�","value":"140722"},{"label":"鍜岄『鍘�","value":"140723"},{"label":"鏄旈槼鍘�","value":"140724"},{"label":"瀵块槼鍘�","value":"140725"},{"label":"澶胺鍘�","value":"140726"},{"label":"绁佸幙","value":"140727"},{"label":"骞抽仴鍘�","value":"140728"},{"label":"鐏电煶鍘�","value":"140729"},{"label":"浠嬩紤甯�","value":"140781"}],[{"label":"鐩愭箹鍖�","value":"140802"},{"label":"涓寸寳鍘�","value":"140821"},{"label":"涓囪崳鍘�","value":"140822"},{"label":"闂诲枩鍘�","value":"140823"},{"label":"绋峰北鍘�","value":"140824"},{"label":"鏂扮粵鍘�","value":"140825"},{"label":"缁涘幙","value":"140826"},{"label":"鍨f洸鍘�","value":"140827"},{"label":"澶忓幙","value":"140828"},{"label":"骞抽檰鍘�","value":"140829"},{"label":"鑺煄鍘�","value":"140830"},{"label":"姘告祹甯�","value":"140881"},{"label":"娌虫触甯�","value":"140882"}],[{"label":"蹇诲簻鍖�","value":"140902"},{"label":"瀹氳鍘�","value":"140921"},{"label":"浜斿彴鍘�","value":"140922"},{"label":"浠e幙","value":"140923"},{"label":"绻佸硻鍘�","value":"140924"},{"label":"瀹佹鍘�","value":"140925"},{"label":"闈欎箰鍘�","value":"140926"},{"label":"绁炴睜鍘�","value":"140927"},{"label":"浜斿鍘�","value":"140928"},{"label":"宀㈠矚鍘�","value":"140929"},{"label":"娌虫洸鍘�","value":"140930"},{"label":"淇濆痉鍘�","value":"140931"},{"label":"鍋忓叧鍘�","value":"140932"},{"label":"浜斿彴灞遍鏅悕鑳滃尯","value":"140971"},{"label":"鍘熷钩甯�","value":"140981"}],[{"label":"灏ч兘鍖�","value":"141002"},{"label":"鏇叉矁鍘�","value":"141021"},{"label":"缈煎煄鍘�","value":"141022"},{"label":"瑗勬本鍘�","value":"141023"},{"label":"娲礊鍘�","value":"141024"},{"label":"鍙ゅ幙","value":"141025"},{"label":"瀹夋辰鍘�","value":"141026"},{"label":"娴北鍘�","value":"141027"},{"label":"鍚夊幙","value":"141028"},{"label":"涔″畞鍘�","value":"141029"},{"label":"澶у畞鍘�","value":"141030"},{"label":"闅板幙","value":"141031"},{"label":"姘稿拰鍘�","value":"141032"},{"label":"钂插幙","value":"141033"},{"label":"姹捐タ鍘�","value":"141034"},{"label":"渚┈甯�","value":"141081"},{"label":"闇嶅窞甯�","value":"141082"}],[{"label":"绂荤煶鍖�","value":"141102"},{"label":"鏂囨按鍘�","value":"141121"},{"label":"浜ゅ煄鍘�","value":"141122"},{"label":"鍏村幙","value":"141123"},{"label":"涓村幙","value":"141124"},{"label":"鏌虫灄鍘�","value":"141125"},{"label":"鐭虫ゼ鍘�","value":"141126"},{"label":"宀氬幙","value":"141127"},{"label":"鏂瑰北鍘�","value":"141128"},{"label":"涓槼鍘�","value":"141129"},{"label":"浜ゅ彛鍘�","value":"141130"},{"label":"瀛濅箟甯�","value":"141181"},{"label":"姹鹃槼甯�","value":"141182"}]],[[{"label":"鏂板煄鍖�","value":"150102"},{"label":"鍥炴皯鍖�","value":"150103"},{"label":"鐜夋硥鍖�","value":"150104"},{"label":"璧涚綍鍖�","value":"150105"},{"label":"鍦熼粯鐗瑰乏鏃�","value":"150121"},{"label":"鎵樺厠鎵樺幙","value":"150122"},{"label":"鍜屾灄鏍煎皵鍘�","value":"150123"},{"label":"娓呮按娌冲幙","value":"150124"},{"label":"姝﹀窛鍘�","value":"150125"},{"label":"鍛煎拰娴╃壒閲戞捣宸ヤ笟鍥尯","value":"150171"},{"label":"鍛煎拰娴╃壒缁忔祹鎶�鏈紑鍙戝尯","value":"150172"}],[{"label":"涓滄渤鍖�","value":"150202"},{"label":"鏄嗛兘浠戝尯","value":"150203"},{"label":"闈掑北鍖�","value":"150204"},{"label":"鐭虫嫄鍖�","value":"150205"},{"label":"鐧戒簯閯傚崥鐭垮尯","value":"150206"},{"label":"涔濆師鍖�","value":"150207"},{"label":"鍦熼粯鐗瑰彸鏃�","value":"150221"},{"label":"鍥洪槼鍘�","value":"150222"},{"label":"杈惧皵缃曡寕鏄庡畨鑱斿悎鏃�","value":"150223"},{"label":"鍖呭ご绋�鍦熼珮鏂版妧鏈骇涓氬紑鍙戝尯","value":"150271"}],[{"label":"娴峰媰婀惧尯","value":"150302"},{"label":"娴峰崡鍖�","value":"150303"},{"label":"涔岃揪鍖�","value":"150304"}],[{"label":"绾㈠北鍖�","value":"150402"},{"label":"鍏冨疂灞卞尯","value":"150403"},{"label":"鏉惧北鍖�","value":"150404"},{"label":"闃块瞾绉戝皵娌佹棗","value":"150421"},{"label":"宸存灄宸︽棗","value":"150422"},{"label":"宸存灄鍙虫棗","value":"150423"},{"label":"鏋楄タ鍘�","value":"150424"},{"label":"鍏嬩粈鍏嬭吘鏃�","value":"150425"},{"label":"缈佺墰鐗规棗","value":"150426"},{"label":"鍠�鍠囨瞾鏃�","value":"150428"},{"label":"瀹佸煄鍘�","value":"150429"},{"label":"鏁栨眽鏃�","value":"150430"}],[{"label":"绉戝皵娌佸尯","value":"150502"},{"label":"绉戝皵娌佸乏缈间腑鏃�","value":"150521"},{"label":"绉戝皵娌佸乏缈煎悗鏃�","value":"150522"},{"label":"寮�椴佸幙","value":"150523"},{"label":"搴撲鸡鏃�","value":"150524"},{"label":"濂堟浖鏃�","value":"150525"},{"label":"鎵庨瞾鐗规棗","value":"150526"},{"label":"閫氳窘缁忔祹鎶�鏈紑鍙戝尯","value":"150571"},{"label":"闇嶆灄閮嫆甯�","value":"150581"}],[{"label":"涓滆儨鍖�","value":"150602"},{"label":"搴峰反浠�鍖�","value":"150603"},{"label":"杈炬媺鐗规棗","value":"150621"},{"label":"鍑嗘牸灏旀棗","value":"150622"},{"label":"閯傛墭鍏嬪墠鏃�","value":"150623"},{"label":"閯傛墭鍏嬫棗","value":"150624"},{"label":"鏉敠鏃�","value":"150625"},{"label":"涔屽鏃�","value":"150626"},{"label":"浼婇噾闇嶆礇鏃�","value":"150627"}],[{"label":"娴锋媺灏斿尯","value":"150702"},{"label":"鎵庤祲璇哄皵鍖�","value":"150703"},{"label":"闃胯崳鏃�","value":"150721"},{"label":"鑾姏杈剧摝杈炬枴灏旀棌鑷不鏃�","value":"150722"},{"label":"閯備鸡鏄ヨ嚜娌绘棗","value":"150723"},{"label":"閯傛俯鍏嬫棌鑷不鏃�","value":"150724"},{"label":"闄堝反灏旇檸鏃�","value":"150725"},{"label":"鏂板反灏旇檸宸︽棗","value":"150726"},{"label":"鏂板反灏旇檸鍙虫棗","value":"150727"},{"label":"婊℃床閲屽競","value":"150781"},{"label":"鐗欏厠鐭冲競","value":"150782"},{"label":"鎵庡叞灞競","value":"150783"},{"label":"棰濆皵鍙ょ撼甯�","value":"150784"},{"label":"鏍规渤甯�","value":"150785"}],[{"label":"涓存渤鍖�","value":"150802"},{"label":"浜斿師鍘�","value":"150821"},{"label":"纾村彛鍘�","value":"150822"},{"label":"涔屾媺鐗瑰墠鏃�","value":"150823"},{"label":"涔屾媺鐗逛腑鏃�","value":"150824"},{"label":"涔屾媺鐗瑰悗鏃�","value":"150825"},{"label":"鏉敠鍚庢棗","value":"150826"}],[{"label":"闆嗗畞鍖�","value":"150902"},{"label":"鍗撹祫鍘�","value":"150921"},{"label":"鍖栧痉鍘�","value":"150922"},{"label":"鍟嗛兘鍘�","value":"150923"},{"label":"鍏村拰鍘�","value":"150924"},{"label":"鍑夊煄鍘�","value":"150925"},{"label":"瀵熷搱灏斿彸缈煎墠鏃�","value":"150926"},{"label":"瀵熷搱灏斿彸缈间腑鏃�","value":"150927"},{"label":"瀵熷搱灏斿彸缈煎悗鏃�","value":"150928"},{"label":"鍥涘瓙鐜嬫棗","value":"150929"},{"label":"涓伴晣甯�","value":"150981"}],[{"label":"涔屽叞娴╃壒甯�","value":"152201"},{"label":"闃垮皵灞卞競","value":"152202"},{"label":"绉戝皵娌佸彸缈煎墠鏃�","value":"152221"},{"label":"绉戝皵娌佸彸缈间腑鏃�","value":"152222"},{"label":"鎵庤祲鐗规棗","value":"152223"},{"label":"绐佹硥鍘�","value":"152224"}],[{"label":"浜岃繛娴╃壒甯�","value":"152501"},{"label":"閿℃灄娴╃壒甯�","value":"152502"},{"label":"闃垮反鍢庢棗","value":"152522"},{"label":"鑻忓凹鐗瑰乏鏃�","value":"152523"},{"label":"鑻忓凹鐗瑰彸鏃�","value":"152524"},{"label":"涓滀箤鐝犵﹩娌佹棗","value":"152525"},{"label":"瑗夸箤鐝犵﹩娌佹棗","value":"152526"},{"label":"澶粏瀵烘棗","value":"152527"},{"label":"闀堕粍鏃�","value":"152528"},{"label":"姝i暥鐧芥棗","value":"152529"},{"label":"姝h摑鏃�","value":"152530"},{"label":"澶氫鸡鍘�","value":"152531"},{"label":"涔屾媺鐩栫濮斾細","value":"152571"}],[{"label":"闃挎媺鍠勫乏鏃�","value":"152921"},{"label":"闃挎媺鍠勫彸鏃�","value":"152922"},{"label":"棰濇祹绾虫棗","value":"152923"},{"label":"鍐呰挋鍙ら樋鎷夊杽缁忔祹寮�鍙戝尯","value":"152971"}]],[[{"label":"鍜屽钩鍖�","value":"210102"},{"label":"娌堟渤鍖�","value":"210103"},{"label":"澶т笢鍖�","value":"210104"},{"label":"鐨囧鍖�","value":"210105"},{"label":"閾佽タ鍖�","value":"210106"},{"label":"鑻忓灞尯","value":"210111"},{"label":"娴戝崡鍖�","value":"210112"},{"label":"娌堝寳鏂板尯","value":"210113"},{"label":"浜庢椽鍖�","value":"210114"},{"label":"杈戒腑鍖�","value":"210115"},{"label":"搴峰钩鍘�","value":"210123"},{"label":"娉曞簱鍘�","value":"210124"},{"label":"鏂版皯甯�","value":"210181"}],[{"label":"涓北鍖�","value":"210202"},{"label":"瑗垮矖鍖�","value":"210203"},{"label":"娌欐渤鍙e尯","value":"210204"},{"label":"鐢樹簳瀛愬尯","value":"210211"},{"label":"鏃呴『鍙e尯","value":"210212"},{"label":"閲戝窞鍖�","value":"210213"},{"label":"鏅叞搴楀尯","value":"210214"},{"label":"闀挎捣鍘�","value":"210224"},{"label":"鐡︽埧搴楀競","value":"210281"},{"label":"搴勬渤甯�","value":"210283"}],[{"label":"閾佷笢鍖�","value":"210302"},{"label":"閾佽タ鍖�","value":"210303"},{"label":"绔嬪北鍖�","value":"210304"},{"label":"鍗冨北鍖�","value":"210311"},{"label":"鍙板畨鍘�","value":"210321"},{"label":"宀博婊℃棌鑷不鍘�","value":"210323"},{"label":"娴峰煄甯�","value":"210381"}],[{"label":"鏂版姎鍖�","value":"210402"},{"label":"涓滄床鍖�","value":"210403"},{"label":"鏈涜姳鍖�","value":"210404"},{"label":"椤哄煄鍖�","value":"210411"},{"label":"鎶氶『鍘�","value":"210421"},{"label":"鏂板婊℃棌鑷不鍘�","value":"210422"},{"label":"娓呭師婊℃棌鑷不鍘�","value":"210423"}],[{"label":"骞冲北鍖�","value":"210502"},{"label":"婧箹鍖�","value":"210503"},{"label":"鏄庡北鍖�","value":"210504"},{"label":"鍗楄姮鍖�","value":"210505"},{"label":"鏈邯婊℃棌鑷不鍘�","value":"210521"},{"label":"妗撲粊婊℃棌鑷不鍘�","value":"210522"}],[{"label":"鍏冨疂鍖�","value":"210602"},{"label":"鎸叴鍖�","value":"210603"},{"label":"鎸畨鍖�","value":"210604"},{"label":"瀹界敻婊℃棌鑷不鍘�","value":"210624"},{"label":"涓滄腐甯�","value":"210681"},{"label":"鍑ゅ煄甯�","value":"210682"}],[{"label":"鍙ゅ鍖�","value":"210702"},{"label":"鍑屾渤鍖�","value":"210703"},{"label":"澶拰鍖�","value":"210711"},{"label":"榛戝北鍘�","value":"210726"},{"label":"涔夊幙","value":"210727"},{"label":"鍑屾捣甯�","value":"210781"},{"label":"鍖楅晣甯�","value":"210782"}],[{"label":"绔欏墠鍖�","value":"210802"},{"label":"瑗垮競鍖�","value":"210803"},{"label":"椴呴奔鍦堝尯","value":"210804"},{"label":"鑰佽竟鍖�","value":"210811"},{"label":"鐩栧窞甯�","value":"210881"},{"label":"澶х煶妗ュ競","value":"210882"}],[{"label":"娴峰窞鍖�","value":"210902"},{"label":"鏂伴偙鍖�","value":"210903"},{"label":"澶钩鍖�","value":"210904"},{"label":"娓呮渤闂ㄥ尯","value":"210905"},{"label":"缁嗘渤鍖�","value":"210911"},{"label":"闃滄柊钂欏彜鏃忚嚜娌诲幙","value":"210921"},{"label":"褰版鍘�","value":"210922"}],[{"label":"鐧藉鍖�","value":"211002"},{"label":"鏂囧湥鍖�","value":"211003"},{"label":"瀹忎紵鍖�","value":"211004"},{"label":"寮撻暱宀尯","value":"211005"},{"label":"澶瓙娌冲尯","value":"211011"},{"label":"杈介槼鍘�","value":"211021"},{"label":"鐏甯�","value":"211081"}],[{"label":"鍙屽彴瀛愬尯","value":"211102"},{"label":"鍏撮殕鍙板尯","value":"211103"},{"label":"澶ф醇鍖�","value":"211104"},{"label":"鐩樺北鍘�","value":"211122"}],[{"label":"閾跺窞鍖�","value":"211202"},{"label":"娓呮渤鍖�","value":"211204"},{"label":"閾佸箔鍘�","value":"211221"},{"label":"瑗夸赴鍘�","value":"211223"},{"label":"鏄屽浘鍘�","value":"211224"},{"label":"璋冨叺灞卞競","value":"211281"},{"label":"寮�鍘熷競","value":"211282"}],[{"label":"鍙屽鍖�","value":"211302"},{"label":"榫欏煄鍖�","value":"211303"},{"label":"鏈濋槼鍘�","value":"211321"},{"label":"寤哄钩鍘�","value":"211322"},{"label":"鍠�鍠囨瞾宸︾考钂欏彜鏃忚嚜娌诲幙","value":"211324"},{"label":"鍖楃エ甯�","value":"211381"},{"label":"鍑屾簮甯�","value":"211382"}],[{"label":"杩炲北鍖�","value":"211402"},{"label":"榫欐腐鍖�","value":"211403"},{"label":"鍗楃エ鍖�","value":"211404"},{"label":"缁ヤ腑鍘�","value":"211421"},{"label":"寤烘槍鍘�","value":"211422"},{"label":"鍏村煄甯�","value":"211481"}]],[[{"label":"鍗楀叧鍖�","value":"220102"},{"label":"瀹藉煄鍖�","value":"220103"},{"label":"鏈濋槼鍖�","value":"220104"},{"label":"浜岄亾鍖�","value":"220105"},{"label":"缁垮洯鍖�","value":"220106"},{"label":"鍙岄槼鍖�","value":"220112"},{"label":"涔濆彴鍖�","value":"220113"},{"label":"鍐滃畨鍘�","value":"220122"},{"label":"闀挎槬缁忔祹鎶�鏈紑鍙戝尯","value":"220171"},{"label":"闀挎槬鍑�鏈堥珮鏂版妧鏈骇涓氬紑鍙戝尯","value":"220172"},{"label":"闀挎槬楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"220173"},{"label":"闀挎槬姹借溅缁忔祹鎶�鏈紑鍙戝尯","value":"220174"},{"label":"姒嗘爲甯�","value":"220182"},{"label":"寰锋儬甯�","value":"220183"}],[{"label":"鏄岄倯鍖�","value":"220202"},{"label":"榫欐江鍖�","value":"220203"},{"label":"鑸硅惀鍖�","value":"220204"},{"label":"涓版弧鍖�","value":"220211"},{"label":"姘稿悏鍘�","value":"220221"},{"label":"鍚夋灄缁忔祹寮�鍙戝尯","value":"220271"},{"label":"鍚夋灄楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"220272"},{"label":"鍚夋灄涓浗鏂板姞鍧¢鍝佸尯","value":"220273"},{"label":"铔熸渤甯�","value":"220281"},{"label":"妗︾敻甯�","value":"220282"},{"label":"鑸掑叞甯�","value":"220283"},{"label":"纾愮煶甯�","value":"220284"}],[{"label":"閾佽タ鍖�","value":"220302"},{"label":"閾佷笢鍖�","value":"220303"},{"label":"姊ㄦ爲鍘�","value":"220322"},{"label":"浼婇�氭弧鏃忚嚜娌诲幙","value":"220323"},{"label":"鍏富宀競","value":"220381"},{"label":"鍙岃窘甯�","value":"220382"}],[{"label":"榫欏北鍖�","value":"220402"},{"label":"瑗垮畨鍖�","value":"220403"},{"label":"涓滀赴鍘�","value":"220421"},{"label":"涓滆窘鍘�","value":"220422"}],[{"label":"涓滄槍鍖�","value":"220502"},{"label":"浜岄亾姹熷尯","value":"220503"},{"label":"閫氬寲鍘�","value":"220521"},{"label":"杈夊崡鍘�","value":"220523"},{"label":"鏌虫渤鍘�","value":"220524"},{"label":"姊呮渤鍙e競","value":"220581"},{"label":"闆嗗畨甯�","value":"220582"}],[{"label":"娴戞睙鍖�","value":"220602"},{"label":"姹熸簮鍖�","value":"220605"},{"label":"鎶氭澗鍘�","value":"220621"},{"label":"闈栧畤鍘�","value":"220622"},{"label":"闀跨櫧鏈濋矞鏃忚嚜娌诲幙","value":"220623"},{"label":"涓存睙甯�","value":"220681"}],[{"label":"瀹佹睙鍖�","value":"220702"},{"label":"鍓嶉儹灏旂綏鏂挋鍙ゆ棌鑷不鍘�","value":"220721"},{"label":"闀垮箔鍘�","value":"220722"},{"label":"涔惧畨鍘�","value":"220723"},{"label":"鍚夋灄鏉惧師缁忔祹寮�鍙戝尯","value":"220771"},{"label":"鎵朵綑甯�","value":"220781"}],[{"label":"娲寳鍖�","value":"220802"},{"label":"闀囪祲鍘�","value":"220821"},{"label":"閫氭鍘�","value":"220822"},{"label":"鍚夋灄鐧藉煄缁忔祹寮�鍙戝尯","value":"220871"},{"label":"娲崡甯�","value":"220881"},{"label":"澶у畨甯�","value":"220882"}],[{"label":"寤跺悏甯�","value":"222401"},{"label":"鍥句滑甯�","value":"222402"},{"label":"鏁﹀寲甯�","value":"222403"},{"label":"鐝叉槬甯�","value":"222404"},{"label":"榫欎簳甯�","value":"222405"},{"label":"鍜岄緳甯�","value":"222406"},{"label":"姹竻鍘�","value":"222424"},{"label":"瀹夊浘鍘�","value":"222426"}]],[[{"label":"閬撻噷鍖�","value":"230102"},{"label":"鍗楀矖鍖�","value":"230103"},{"label":"閬撳鍖�","value":"230104"},{"label":"骞虫埧鍖�","value":"230108"},{"label":"鏉惧寳鍖�","value":"230109"},{"label":"棣欏潑鍖�","value":"230110"},{"label":"鍛煎叞鍖�","value":"230111"},{"label":"闃垮煄鍖�","value":"230112"},{"label":"鍙屽煄鍖�","value":"230113"},{"label":"渚濆叞鍘�","value":"230123"},{"label":"鏂规鍘�","value":"230124"},{"label":"瀹惧幙","value":"230125"},{"label":"宸村溅鍘�","value":"230126"},{"label":"鏈ㄥ叞鍘�","value":"230127"},{"label":"閫氭渤鍘�","value":"230128"},{"label":"寤跺鍘�","value":"230129"},{"label":"灏氬織甯�","value":"230183"},{"label":"浜斿父甯�","value":"230184"}],[{"label":"榫欐矙鍖�","value":"230202"},{"label":"寤哄崕鍖�","value":"230203"},{"label":"閾侀攱鍖�","value":"230204"},{"label":"鏄傛槀婧尯","value":"230205"},{"label":"瀵屾媺灏斿熀鍖�","value":"230206"},{"label":"纰惧瓙灞卞尯","value":"230207"},{"label":"姊呴噷鏂揪鏂″皵鏃忓尯","value":"230208"},{"label":"榫欐睙鍘�","value":"230221"},{"label":"渚濆畨鍘�","value":"230223"},{"label":"娉版潵鍘�","value":"230224"},{"label":"鐢樺崡鍘�","value":"230225"},{"label":"瀵岃鍘�","value":"230227"},{"label":"鍏嬪北鍘�","value":"230229"},{"label":"鍏嬩笢鍘�","value":"230230"},{"label":"鎷滄硥鍘�","value":"230231"},{"label":"璁锋渤甯�","value":"230281"}],[{"label":"楦″啝鍖�","value":"230302"},{"label":"鎭掑北鍖�","value":"230303"},{"label":"婊撮亾鍖�","value":"230304"},{"label":"姊ㄦ爲鍖�","value":"230305"},{"label":"鍩庡瓙娌冲尯","value":"230306"},{"label":"楹诲北鍖�","value":"230307"},{"label":"楦′笢鍘�","value":"230321"},{"label":"铏庢灄甯�","value":"230381"},{"label":"瀵嗗北甯�","value":"230382"}],[{"label":"鍚戦槼鍖�","value":"230402"},{"label":"宸ュ啘鍖�","value":"230403"},{"label":"鍗楀北鍖�","value":"230404"},{"label":"鍏村畨鍖�","value":"230405"},{"label":"涓滃北鍖�","value":"230406"},{"label":"鍏村北鍖�","value":"230407"},{"label":"钀濆寳鍘�","value":"230421"},{"label":"缁ユ花鍘�","value":"230422"}],[{"label":"灏栧北鍖�","value":"230502"},{"label":"宀笢鍖�","value":"230503"},{"label":"鍥涙柟鍙板尯","value":"230505"},{"label":"瀹濆北鍖�","value":"230506"},{"label":"闆嗚搐鍘�","value":"230521"},{"label":"鍙嬭皧鍘�","value":"230522"},{"label":"瀹濇竻鍘�","value":"230523"},{"label":"楗舵渤鍘�","value":"230524"}],[{"label":"钀ㄥ皵鍥惧尯","value":"230602"},{"label":"榫欏嚖鍖�","value":"230603"},{"label":"璁╄儭璺尯","value":"230604"},{"label":"绾㈠矖鍖�","value":"230605"},{"label":"澶у悓鍖�","value":"230606"},{"label":"鑲囧窞鍘�","value":"230621"},{"label":"鑲囨簮鍘�","value":"230622"},{"label":"鏋楃敻鍘�","value":"230623"},{"label":"鏉滃皵浼壒钂欏彜鏃忚嚜娌诲幙","value":"230624"},{"label":"澶у簡楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"230671"}],[{"label":"浼婃槬鍖�","value":"230702"},{"label":"鍗楀矓鍖�","value":"230703"},{"label":"鍙嬪ソ鍖�","value":"230704"},{"label":"瑗挎灄鍖�","value":"230705"},{"label":"缈犲肠鍖�","value":"230706"},{"label":"鏂伴潚鍖�","value":"230707"},{"label":"缇庢邯鍖�","value":"230708"},{"label":"閲戝北灞尯","value":"230709"},{"label":"浜旇惀鍖�","value":"230710"},{"label":"涔岄┈娌冲尯","value":"230711"},{"label":"姹ゆ椇娌冲尯","value":"230712"},{"label":"甯﹀箔鍖�","value":"230713"},{"label":"涔屼紛宀尯","value":"230714"},{"label":"绾㈡槦鍖�","value":"230715"},{"label":"涓婄敇宀尯","value":"230716"},{"label":"鍢夎崼鍘�","value":"230722"},{"label":"閾佸姏甯�","value":"230781"}],[{"label":"鍚戦槼鍖�","value":"230803"},{"label":"鍓嶈繘鍖�","value":"230804"},{"label":"涓滈鍖�","value":"230805"},{"label":"閮婂尯","value":"230811"},{"label":"妗﹀崡鍘�","value":"230822"},{"label":"妗﹀窛鍘�","value":"230826"},{"label":"姹ゅ師鍘�","value":"230828"},{"label":"鍚屾睙甯�","value":"230881"},{"label":"瀵岄敠甯�","value":"230882"},{"label":"鎶氳繙甯�","value":"230883"}],[{"label":"鏂板叴鍖�","value":"230902"},{"label":"妗冨北鍖�","value":"230903"},{"label":"鑼勫瓙娌冲尯","value":"230904"},{"label":"鍕冨埄鍘�","value":"230921"}],[{"label":"涓滃畨鍖�","value":"231002"},{"label":"闃虫槑鍖�","value":"231003"},{"label":"鐖辨皯鍖�","value":"231004"},{"label":"瑗垮畨鍖�","value":"231005"},{"label":"鏋楀彛鍘�","value":"231025"},{"label":"鐗′腹姹熺粡娴庢妧鏈紑鍙戝尯","value":"231071"},{"label":"缁ヨ姮娌冲競","value":"231081"},{"label":"娴锋灄甯�","value":"231083"},{"label":"瀹佸畨甯�","value":"231084"},{"label":"绌嗘1甯�","value":"231085"},{"label":"涓滃畞甯�","value":"231086"}],[{"label":"鐖辫緣鍖�","value":"231102"},{"label":"瀚╂睙鍘�","value":"231121"},{"label":"閫婂厠鍘�","value":"231123"},{"label":"瀛欏惔鍘�","value":"231124"},{"label":"鍖楀畨甯�","value":"231181"},{"label":"浜斿ぇ杩炴睜甯�","value":"231182"}],[{"label":"鍖楁灄鍖�","value":"231202"},{"label":"鏈涘鍘�","value":"231221"},{"label":"鍏拌タ鍘�","value":"231222"},{"label":"闈掑唸鍘�","value":"231223"},{"label":"搴嗗畨鍘�","value":"231224"},{"label":"鏄庢按鍘�","value":"231225"},{"label":"缁ユ1鍘�","value":"231226"},{"label":"瀹夎揪甯�","value":"231281"},{"label":"鑲囦笢甯�","value":"231282"},{"label":"娴蜂鸡甯�","value":"231283"}],[{"label":"鍔犳牸杈惧鍖�","value":"232701"},{"label":"鏉惧箔鍖�","value":"232702"},{"label":"鏂版灄鍖�","value":"232703"},{"label":"鍛间腑鍖�","value":"232704"},{"label":"鍛肩帥鍘�","value":"232721"},{"label":"濉旀渤鍘�","value":"232722"},{"label":"婕犳渤鍘�","value":"232723"}]],[[{"label":"榛勬郸鍖�","value":"310101"},{"label":"寰愭眹鍖�","value":"310104"},{"label":"闀垮畞鍖�","value":"310105"},{"label":"闈欏畨鍖�","value":"310106"},{"label":"鏅檧鍖�","value":"310107"},{"label":"铏瑰彛鍖�","value":"310109"},{"label":"鏉ㄦ郸鍖�","value":"310110"},{"label":"闂佃鍖�","value":"310112"},{"label":"瀹濆北鍖�","value":"310113"},{"label":"鍢夊畾鍖�","value":"310114"},{"label":"娴︿笢鏂板尯","value":"310115"},{"label":"閲戝北鍖�","value":"310116"},{"label":"鏉炬睙鍖�","value":"310117"},{"label":"闈掓郸鍖�","value":"310118"},{"label":"濂夎搐鍖�","value":"310120"},{"label":"宕囨槑鍖�","value":"310151"}]],[[{"label":"鐜勬鍖�","value":"320102"},{"label":"绉︽樊鍖�","value":"320104"},{"label":"寤洪偤鍖�","value":"320105"},{"label":"榧撴ゼ鍖�","value":"320106"},{"label":"娴﹀彛鍖�","value":"320111"},{"label":"鏍栭湠鍖�","value":"320113"},{"label":"闆ㄨ姳鍙板尯","value":"320114"},{"label":"姹熷畞鍖�","value":"320115"},{"label":"鍏悎鍖�","value":"320116"},{"label":"婧ф按鍖�","value":"320117"},{"label":"楂樻烦鍖�","value":"320118"}],[{"label":"閿″北鍖�","value":"320205"},{"label":"鎯犲北鍖�","value":"320206"},{"label":"婊ㄦ箹鍖�","value":"320211"},{"label":"姊佹邯鍖�","value":"320213"},{"label":"鏂板惔鍖�","value":"320214"},{"label":"姹熼槾甯�","value":"320281"},{"label":"瀹滃叴甯�","value":"320282"}],[{"label":"榧撴ゼ鍖�","value":"320302"},{"label":"浜戦緳鍖�","value":"320303"},{"label":"璐炬豹鍖�","value":"320305"},{"label":"娉夊北鍖�","value":"320311"},{"label":"閾滃北鍖�","value":"320312"},{"label":"涓板幙","value":"320321"},{"label":"娌涘幙","value":"320322"},{"label":"鐫㈠畞鍘�","value":"320324"},{"label":"寰愬窞缁忔祹鎶�鏈紑鍙戝尯","value":"320371"},{"label":"鏂版矀甯�","value":"320381"},{"label":"閭冲窞甯�","value":"320382"}],[{"label":"澶╁畞鍖�","value":"320402"},{"label":"閽熸ゼ鍖�","value":"320404"},{"label":"鏂板寳鍖�","value":"320411"},{"label":"姝﹁繘鍖�","value":"320412"},{"label":"閲戝潧鍖�","value":"320413"},{"label":"婧ч槼甯�","value":"320481"}],[{"label":"铏庝笜鍖�","value":"320505"},{"label":"鍚翠腑鍖�","value":"320506"},{"label":"鐩稿煄鍖�","value":"320507"},{"label":"濮戣嫃鍖�","value":"320508"},{"label":"鍚存睙鍖�","value":"320509"},{"label":"鑻忓窞宸ヤ笟鍥尯","value":"320571"},{"label":"甯哥啛甯�","value":"320581"},{"label":"寮犲娓競","value":"320582"},{"label":"鏄嗗北甯�","value":"320583"},{"label":"澶粨甯�","value":"320585"}],[{"label":"宕囧窛鍖�","value":"320602"},{"label":"娓椄鍖�","value":"320611"},{"label":"閫氬窞鍖�","value":"320612"},{"label":"娴峰畨鍘�","value":"320621"},{"label":"濡備笢鍘�","value":"320623"},{"label":"鍗楅�氱粡娴庢妧鏈紑鍙戝尯","value":"320671"},{"label":"鍚笢甯�","value":"320681"},{"label":"濡傜殝甯�","value":"320682"},{"label":"娴烽棬甯�","value":"320684"}],[{"label":"杩炰簯鍖�","value":"320703"},{"label":"娴峰窞鍖�","value":"320706"},{"label":"璧f鍖�","value":"320707"},{"label":"涓滄捣鍘�","value":"320722"},{"label":"鐏屼簯鍘�","value":"320723"},{"label":"鐏屽崡鍘�","value":"320724"},{"label":"杩炰簯娓粡娴庢妧鏈紑鍙戝尯","value":"320771"},{"label":"杩炰簯娓珮鏂版妧鏈骇涓氬紑鍙戝尯","value":"320772"}],[{"label":"娣畨鍖�","value":"320803"},{"label":"娣槾鍖�","value":"320804"},{"label":"娓呮睙娴﹀尯","value":"320812"},{"label":"娲辰鍖�","value":"320813"},{"label":"娑熸按鍘�","value":"320826"},{"label":"鐩辩湙鍘�","value":"320830"},{"label":"閲戞箹鍘�","value":"320831"},{"label":"娣畨缁忔祹鎶�鏈紑鍙戝尯","value":"320871"}],[{"label":"浜箹鍖�","value":"320902"},{"label":"鐩愰兘鍖�","value":"320903"},{"label":"澶т赴鍖�","value":"320904"},{"label":"鍝嶆按鍘�","value":"320921"},{"label":"婊ㄦ捣鍘�","value":"320922"},{"label":"闃滃畞鍘�","value":"320923"},{"label":"灏勯槼鍘�","value":"320924"},{"label":"寤烘箹鍘�","value":"320925"},{"label":"鐩愬煄缁忔祹鎶�鏈紑鍙戝尯","value":"320971"},{"label":"涓滃彴甯�","value":"320981"}],[{"label":"骞块櫟鍖�","value":"321002"},{"label":"閭楁睙鍖�","value":"321003"},{"label":"姹熼兘鍖�","value":"321012"},{"label":"瀹濆簲鍘�","value":"321023"},{"label":"鎵窞缁忔祹鎶�鏈紑鍙戝尯","value":"321071"},{"label":"浠緛甯�","value":"321081"},{"label":"楂橀偖甯�","value":"321084"}],[{"label":"浜彛鍖�","value":"321102"},{"label":"娑﹀窞鍖�","value":"321111"},{"label":"涓瑰緬鍖�","value":"321112"},{"label":"闀囨睙鏂板尯","value":"321171"},{"label":"涓归槼甯�","value":"321181"},{"label":"鎵腑甯�","value":"321182"},{"label":"鍙ュ甯�","value":"321183"}],[{"label":"娴烽櫟鍖�","value":"321202"},{"label":"楂樻腐鍖�","value":"321203"},{"label":"濮滃牥鍖�","value":"321204"},{"label":"娉板窞鍖昏嵂楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"321271"},{"label":"鍏村寲甯�","value":"321281"},{"label":"闈栨睙甯�","value":"321282"},{"label":"娉板叴甯�","value":"321283"}],[{"label":"瀹垮煄鍖�","value":"321302"},{"label":"瀹胯鲍鍖�","value":"321311"},{"label":"娌槼鍘�","value":"321322"},{"label":"娉楅槼鍘�","value":"321323"},{"label":"娉楁椽鍘�","value":"321324"},{"label":"瀹胯縼缁忔祹鎶�鏈紑鍙戝尯","value":"321371"}]],[[{"label":"涓婂煄鍖�","value":"330102"},{"label":"涓嬪煄鍖�","value":"330103"},{"label":"姹熷共鍖�","value":"330104"},{"label":"鎷卞鍖�","value":"330105"},{"label":"瑗挎箹鍖�","value":"330106"},{"label":"婊ㄦ睙鍖�","value":"330108"},{"label":"钀у北鍖�","value":"330109"},{"label":"浣欐澀鍖�","value":"330110"},{"label":"瀵岄槼鍖�","value":"330111"},{"label":"涓村畨鍖�","value":"330112"},{"label":"妗愬簮鍘�","value":"330122"},{"label":"娣冲畨鍘�","value":"330127"},{"label":"寤哄痉甯�","value":"330182"}],[{"label":"娴锋洐鍖�","value":"330203"},{"label":"姹熷寳鍖�","value":"330205"},{"label":"鍖椾粦鍖�","value":"330206"},{"label":"闀囨捣鍖�","value":"330211"},{"label":"閯炲窞鍖�","value":"330212"},{"label":"濂夊寲鍖�","value":"330213"},{"label":"璞″北鍘�","value":"330225"},{"label":"瀹佹捣鍘�","value":"330226"},{"label":"浣欏甯�","value":"330281"},{"label":"鎱堟邯甯�","value":"330282"}],[{"label":"楣垮煄鍖�","value":"330302"},{"label":"榫欐咕鍖�","value":"330303"},{"label":"鐡捣鍖�","value":"330304"},{"label":"娲炲ご鍖�","value":"330305"},{"label":"姘稿槈鍘�","value":"330324"},{"label":"骞抽槼鍘�","value":"330326"},{"label":"鑻嶅崡鍘�","value":"330327"},{"label":"鏂囨垚鍘�","value":"330328"},{"label":"娉伴『鍘�","value":"330329"},{"label":"娓╁窞缁忔祹鎶�鏈紑鍙戝尯","value":"330371"},{"label":"鐟炲畨甯�","value":"330381"},{"label":"涔愭竻甯�","value":"330382"}],[{"label":"鍗楁箹鍖�","value":"330402"},{"label":"绉�娲插尯","value":"330411"},{"label":"鍢夊杽鍘�","value":"330421"},{"label":"娴风洂鍘�","value":"330424"},{"label":"娴峰畞甯�","value":"330481"},{"label":"骞虫箹甯�","value":"330482"},{"label":"妗愪埂甯�","value":"330483"}],[{"label":"鍚村叴鍖�","value":"330502"},{"label":"鍗楁禂鍖�","value":"330503"},{"label":"寰锋竻鍘�","value":"330521"},{"label":"闀垮叴鍘�","value":"330522"},{"label":"瀹夊悏鍘�","value":"330523"}],[{"label":"瓒婂煄鍖�","value":"330602"},{"label":"鏌ˉ鍖�","value":"330603"},{"label":"涓婅櫈鍖�","value":"330604"},{"label":"鏂版槍鍘�","value":"330624"},{"label":"璇告毃甯�","value":"330681"},{"label":"宓婂窞甯�","value":"330683"}],[{"label":"濠哄煄鍖�","value":"330702"},{"label":"閲戜笢鍖�","value":"330703"},{"label":"姝︿箟鍘�","value":"330723"},{"label":"娴︽睙鍘�","value":"330726"},{"label":"纾愬畨鍘�","value":"330727"},{"label":"鍏版邯甯�","value":"330781"},{"label":"涔変箤甯�","value":"330782"},{"label":"涓滈槼甯�","value":"330783"},{"label":"姘稿悍甯�","value":"330784"}],[{"label":"鏌煄鍖�","value":"330802"},{"label":"琛㈡睙鍖�","value":"330803"},{"label":"甯稿北鍘�","value":"330822"},{"label":"寮�鍖栧幙","value":"330824"},{"label":"榫欐父鍘�","value":"330825"},{"label":"姹熷北甯�","value":"330881"}],[{"label":"瀹氭捣鍖�","value":"330902"},{"label":"鏅檧鍖�","value":"330903"},{"label":"宀卞北鍘�","value":"330921"},{"label":"宓婃硹鍘�","value":"330922"}],[{"label":"妞掓睙鍖�","value":"331002"},{"label":"榛勫博鍖�","value":"331003"},{"label":"璺ˉ鍖�","value":"331004"},{"label":"涓夐棬鍘�","value":"331022"},{"label":"澶╁彴鍘�","value":"331023"},{"label":"浠欏眳鍘�","value":"331024"},{"label":"娓╁箔甯�","value":"331081"},{"label":"涓存捣甯�","value":"331082"},{"label":"鐜夌幆甯�","value":"331083"}],[{"label":"鑾查兘鍖�","value":"331102"},{"label":"闈掔敯鍘�","value":"331121"},{"label":"缂欎簯鍘�","value":"331122"},{"label":"閬傛槍鍘�","value":"331123"},{"label":"鏉鹃槼鍘�","value":"331124"},{"label":"浜戝拰鍘�","value":"331125"},{"label":"搴嗗厓鍘�","value":"331126"},{"label":"鏅畞鐣叉棌鑷不鍘�","value":"331127"},{"label":"榫欐硥甯�","value":"331181"}]],[[{"label":"鐟舵捣鍖�","value":"340102"},{"label":"搴愰槼鍖�","value":"340103"},{"label":"铚�灞卞尯","value":"340104"},{"label":"鍖呮渤鍖�","value":"340111"},{"label":"闀夸赴鍘�","value":"340121"},{"label":"鑲ヤ笢鍘�","value":"340122"},{"label":"鑲ヨタ鍘�","value":"340123"},{"label":"搴愭睙鍘�","value":"340124"},{"label":"鍚堣偉楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"340171"},{"label":"鍚堣偉缁忔祹鎶�鏈紑鍙戝尯","value":"340172"},{"label":"鍚堣偉鏂扮珯楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"340173"},{"label":"宸㈡箹甯�","value":"340181"}],[{"label":"闀滄箹鍖�","value":"340202"},{"label":"寮嬫睙鍖�","value":"340203"},{"label":"楦犳睙鍖�","value":"340207"},{"label":"涓夊北鍖�","value":"340208"},{"label":"鑺滄箹鍘�","value":"340221"},{"label":"绻佹槍鍘�","value":"340222"},{"label":"鍗楅櫟鍘�","value":"340223"},{"label":"鏃犱负鍘�","value":"340225"},{"label":"鑺滄箹缁忔祹鎶�鏈紑鍙戝尯","value":"340271"},{"label":"瀹夊窘鑺滄箹闀挎睙澶фˉ缁忔祹寮�鍙戝尯","value":"340272"}],[{"label":"榫欏瓙婀栧尯","value":"340302"},{"label":"铓屽北鍖�","value":"340303"},{"label":"绂逛細鍖�","value":"340304"},{"label":"娣笂鍖�","value":"340311"},{"label":"鎬�杩滃幙","value":"340321"},{"label":"浜旀渤鍘�","value":"340322"},{"label":"鍥洪晣鍘�","value":"340323"},{"label":"铓屽煚甯傞珮鏂版妧鏈紑鍙戝尯","value":"340371"},{"label":"铓屽煚甯傜粡娴庡紑鍙戝尯","value":"340372"}],[{"label":"澶ч�氬尯","value":"340402"},{"label":"鐢板搴靛尯","value":"340403"},{"label":"璋㈠闆嗗尯","value":"340404"},{"label":"鍏叕灞卞尯","value":"340405"},{"label":"娼橀泦鍖�","value":"340406"},{"label":"鍑ゅ彴鍘�","value":"340421"},{"label":"瀵垮幙","value":"340422"}],[{"label":"鑺卞北鍖�","value":"340503"},{"label":"闆ㄥ北鍖�","value":"340504"},{"label":"鍗氭湜鍖�","value":"340506"},{"label":"褰撴秱鍘�","value":"340521"},{"label":"鍚北鍘�","value":"340522"},{"label":"鍜屽幙","value":"340523"}],[{"label":"鏉滈泦鍖�","value":"340602"},{"label":"鐩稿北鍖�","value":"340603"},{"label":"鐑堝北鍖�","value":"340604"},{"label":"婵夋邯鍘�","value":"340621"}],[{"label":"閾滃畼鍖�","value":"340705"},{"label":"涔夊畨鍖�","value":"340706"},{"label":"閮婂尯","value":"340711"},{"label":"鏋為槼鍘�","value":"340722"}],[{"label":"杩庢睙鍖�","value":"340802"},{"label":"澶ц鍖�","value":"340803"},{"label":"瀹滅鍖�","value":"340811"},{"label":"鎬�瀹佸幙","value":"340822"},{"label":"娼滃北鍘�","value":"340824"},{"label":"澶箹鍘�","value":"340825"},{"label":"瀹挎澗鍘�","value":"340826"},{"label":"鏈涙睙鍘�","value":"340827"},{"label":"宀宠タ鍘�","value":"340828"},{"label":"瀹夊窘瀹夊簡缁忔祹寮�鍙戝尯","value":"340871"},{"label":"妗愬煄甯�","value":"340881"}],[{"label":"灞邯鍖�","value":"341002"},{"label":"榛勫北鍖�","value":"341003"},{"label":"寰藉窞鍖�","value":"341004"},{"label":"姝欏幙","value":"341021"},{"label":"浼戝畞鍘�","value":"341022"},{"label":"榛熷幙","value":"341023"},{"label":"绁侀棬鍘�","value":"341024"}],[{"label":"鐞呯悐鍖�","value":"341102"},{"label":"鍗楄隘鍖�","value":"341103"},{"label":"鏉ュ畨鍘�","value":"341122"},{"label":"鍏ㄦ鍘�","value":"341124"},{"label":"瀹氳繙鍘�","value":"341125"},{"label":"鍑ら槼鍘�","value":"341126"},{"label":"鑻忔粊鐜颁唬浜т笟鍥�","value":"341171"},{"label":"婊佸窞缁忔祹鎶�鏈紑鍙戝尯","value":"341172"},{"label":"澶╅暱甯�","value":"341181"},{"label":"鏄庡厜甯�","value":"341182"}],[{"label":"棰嶅窞鍖�","value":"341202"},{"label":"棰嶄笢鍖�","value":"341203"},{"label":"棰嶆硥鍖�","value":"341204"},{"label":"涓存硥鍘�","value":"341221"},{"label":"澶拰鍘�","value":"341222"},{"label":"闃滃崡鍘�","value":"341225"},{"label":"棰嶄笂鍘�","value":"341226"},{"label":"闃滈槼鍚堣偉鐜颁唬浜т笟鍥尯","value":"341271"},{"label":"闃滈槼缁忔祹鎶�鏈紑鍙戝尯","value":"341272"},{"label":"鐣岄甯�","value":"341282"}],[{"label":"鍩囨ˉ鍖�","value":"341302"},{"label":"鐮�灞卞幙","value":"341321"},{"label":"钀у幙","value":"341322"},{"label":"鐏电挧鍘�","value":"341323"},{"label":"娉楀幙","value":"341324"},{"label":"瀹垮窞椹瀺灞辩幇浠d骇涓氬洯鍖�","value":"341371"},{"label":"瀹垮窞缁忔祹鎶�鏈紑鍙戝尯","value":"341372"}],[{"label":"閲戝畨鍖�","value":"341502"},{"label":"瑁曞畨鍖�","value":"341503"},{"label":"鍙堕泦鍖�","value":"341504"},{"label":"闇嶉偙鍘�","value":"341522"},{"label":"鑸掑煄鍘�","value":"341523"},{"label":"閲戝鍘�","value":"341524"},{"label":"闇嶅北鍘�","value":"341525"}],[{"label":"璋煄鍖�","value":"341602"},{"label":"娑¢槼鍘�","value":"341621"},{"label":"钂欏煄鍘�","value":"341622"},{"label":"鍒╄緵鍘�","value":"341623"}],[{"label":"璐垫睜鍖�","value":"341702"},{"label":"涓滆嚦鍘�","value":"341721"},{"label":"鐭冲彴鍘�","value":"341722"},{"label":"闈掗槼鍘�","value":"341723"}],[{"label":"瀹e窞鍖�","value":"341802"},{"label":"閮庢邯鍘�","value":"341821"},{"label":"骞垮痉鍘�","value":"341822"},{"label":"娉惧幙","value":"341823"},{"label":"缁╂邯鍘�","value":"341824"},{"label":"鏃屽痉鍘�","value":"341825"},{"label":"瀹e煄甯傜粡娴庡紑鍙戝尯","value":"341871"},{"label":"瀹佸浗甯�","value":"341881"}]],[[{"label":"榧撴ゼ鍖�","value":"350102"},{"label":"鍙版睙鍖�","value":"350103"},{"label":"浠撳北鍖�","value":"350104"},{"label":"椹熬鍖�","value":"350105"},{"label":"鏅嬪畨鍖�","value":"350111"},{"label":"闂戒警鍘�","value":"350121"},{"label":"杩炴睙鍘�","value":"350122"},{"label":"缃楁簮鍘�","value":"350123"},{"label":"闂芥竻鍘�","value":"350124"},{"label":"姘告嘲鍘�","value":"350125"},{"label":"骞虫江鍘�","value":"350128"},{"label":"绂忔竻甯�","value":"350181"},{"label":"闀夸箰甯�","value":"350182"}],[{"label":"鎬濇槑鍖�","value":"350203"},{"label":"娴锋钵鍖�","value":"350205"},{"label":"婀栭噷鍖�","value":"350206"},{"label":"闆嗙編鍖�","value":"350211"},{"label":"鍚屽畨鍖�","value":"350212"},{"label":"缈斿畨鍖�","value":"350213"}],[{"label":"鍩庡帰鍖�","value":"350302"},{"label":"娑垫睙鍖�","value":"350303"},{"label":"鑽斿煄鍖�","value":"350304"},{"label":"绉�灞垮尯","value":"350305"},{"label":"浠欐父鍘�","value":"350322"}],[{"label":"姊呭垪鍖�","value":"350402"},{"label":"涓夊厓鍖�","value":"350403"},{"label":"鏄庢邯鍘�","value":"350421"},{"label":"娓呮祦鍘�","value":"350423"},{"label":"瀹佸寲鍘�","value":"350424"},{"label":"澶х敯鍘�","value":"350425"},{"label":"灏ゆ邯鍘�","value":"350426"},{"label":"娌欏幙","value":"350427"},{"label":"灏嗕箰鍘�","value":"350428"},{"label":"娉板畞鍘�","value":"350429"},{"label":"寤哄畞鍘�","value":"350430"},{"label":"姘稿畨甯�","value":"350481"}],[{"label":"椴ゅ煄鍖�","value":"350502"},{"label":"涓版辰鍖�","value":"350503"},{"label":"娲涙睙鍖�","value":"350504"},{"label":"娉夋腐鍖�","value":"350505"},{"label":"鎯犲畨鍘�","value":"350521"},{"label":"瀹夋邯鍘�","value":"350524"},{"label":"姘告槬鍘�","value":"350525"},{"label":"寰峰寲鍘�","value":"350526"},{"label":"閲戦棬鍘�","value":"350527"},{"label":"鐭崇嫯甯�","value":"350581"},{"label":"鏅嬫睙甯�","value":"350582"},{"label":"鍗楀畨甯�","value":"350583"}],[{"label":"鑺楀煄鍖�","value":"350602"},{"label":"榫欐枃鍖�","value":"350603"},{"label":"浜戦渼鍘�","value":"350622"},{"label":"婕虫郸鍘�","value":"350623"},{"label":"璇忓畨鍘�","value":"350624"},{"label":"闀挎嘲鍘�","value":"350625"},{"label":"涓滃北鍘�","value":"350626"},{"label":"鍗楅潠鍘�","value":"350627"},{"label":"骞冲拰鍘�","value":"350628"},{"label":"鍗庡畨鍘�","value":"350629"},{"label":"榫欐捣甯�","value":"350681"}],[{"label":"寤跺钩鍖�","value":"350702"},{"label":"寤洪槼鍖�","value":"350703"},{"label":"椤烘槍鍘�","value":"350721"},{"label":"娴﹀煄鍘�","value":"350722"},{"label":"鍏夋辰鍘�","value":"350723"},{"label":"鏉炬邯鍘�","value":"350724"},{"label":"鏀垮拰鍘�","value":"350725"},{"label":"閭垫甯�","value":"350781"},{"label":"姝﹀し灞卞競","value":"350782"},{"label":"寤虹摨甯�","value":"350783"}],[{"label":"鏂扮綏鍖�","value":"350802"},{"label":"姘稿畾鍖�","value":"350803"},{"label":"闀挎眬鍘�","value":"350821"},{"label":"涓婃澀鍘�","value":"350823"},{"label":"姝﹀钩鍘�","value":"350824"},{"label":"杩炲煄鍘�","value":"350825"},{"label":"婕冲钩甯�","value":"350881"}],[{"label":"钑夊煄鍖�","value":"350902"},{"label":"闇炴郸鍘�","value":"350921"},{"label":"鍙ょ敯鍘�","value":"350922"},{"label":"灞忓崡鍘�","value":"350923"},{"label":"瀵垮畞鍘�","value":"350924"},{"label":"鍛ㄥ畞鍘�","value":"350925"},{"label":"鏌樿崳鍘�","value":"350926"},{"label":"绂忓畨甯�","value":"350981"},{"label":"绂忛紟甯�","value":"350982"}]],[[{"label":"涓滄箹鍖�","value":"360102"},{"label":"瑗挎箹鍖�","value":"360103"},{"label":"闈掍簯璋卞尯","value":"360104"},{"label":"婀鹃噷鍖�","value":"360105"},{"label":"闈掑北婀栧尯","value":"360111"},{"label":"鏂板缓鍖�","value":"360112"},{"label":"鍗楁槍鍘�","value":"360121"},{"label":"瀹変箟鍘�","value":"360123"},{"label":"杩涜搐鍘�","value":"360124"}],[{"label":"鏄屾睙鍖�","value":"360202"},{"label":"鐝犲北鍖�","value":"360203"},{"label":"娴鍘�","value":"360222"},{"label":"涔愬钩甯�","value":"360281"}],[{"label":"瀹夋簮鍖�","value":"360302"},{"label":"婀樹笢鍖�","value":"360313"},{"label":"鑾茶姳鍘�","value":"360321"},{"label":"涓婃牀鍘�","value":"360322"},{"label":"鑺︽邯鍘�","value":"360323"}],[{"label":"婵傛邯鍖�","value":"360402"},{"label":"娴旈槼鍖�","value":"360403"},{"label":"鏌存鍖�","value":"360404"},{"label":"姝﹀畞鍘�","value":"360423"},{"label":"淇按鍘�","value":"360424"},{"label":"姘镐慨鍘�","value":"360425"},{"label":"寰峰畨鍘�","value":"360426"},{"label":"閮芥槍鍘�","value":"360428"},{"label":"婀栧彛鍘�","value":"360429"},{"label":"褰辰鍘�","value":"360430"},{"label":"鐟炴槍甯�","value":"360481"},{"label":"鍏遍潚鍩庡競","value":"360482"},{"label":"搴愬北甯�","value":"360483"}],[{"label":"娓濇按鍖�","value":"360502"},{"label":"鍒嗗疁鍘�","value":"360521"}],[{"label":"鏈堟箹鍖�","value":"360602"},{"label":"浣欐睙鍘�","value":"360622"},{"label":"璐垫邯甯�","value":"360681"}],[{"label":"绔犺础鍖�","value":"360702"},{"label":"鍗楀悍鍖�","value":"360703"},{"label":"璧e幙鍖�","value":"360704"},{"label":"淇′赴鍘�","value":"360722"},{"label":"澶т綑鍘�","value":"360723"},{"label":"涓婄姽鍘�","value":"360724"},{"label":"宕囦箟鍘�","value":"360725"},{"label":"瀹夎繙鍘�","value":"360726"},{"label":"榫欏崡鍘�","value":"360727"},{"label":"瀹氬崡鍘�","value":"360728"},{"label":"鍏ㄥ崡鍘�","value":"360729"},{"label":"瀹侀兘鍘�","value":"360730"},{"label":"浜庨兘鍘�","value":"360731"},{"label":"鍏村浗鍘�","value":"360732"},{"label":"浼氭槍鍘�","value":"360733"},{"label":"瀵讳箤鍘�","value":"360734"},{"label":"鐭冲煄鍘�","value":"360735"},{"label":"鐟為噾甯�","value":"360781"}],[{"label":"鍚夊窞鍖�","value":"360802"},{"label":"闈掑師鍖�","value":"360803"},{"label":"鍚夊畨鍘�","value":"360821"},{"label":"鍚夋按鍘�","value":"360822"},{"label":"宄℃睙鍘�","value":"360823"},{"label":"鏂板共鍘�","value":"360824"},{"label":"姘镐赴鍘�","value":"360825"},{"label":"娉板拰鍘�","value":"360826"},{"label":"閬傚窛鍘�","value":"360827"},{"label":"涓囧畨鍘�","value":"360828"},{"label":"瀹夌鍘�","value":"360829"},{"label":"姘告柊鍘�","value":"360830"},{"label":"浜曞唸灞卞競","value":"360881"}],[{"label":"琚佸窞鍖�","value":"360902"},{"label":"濂夋柊鍘�","value":"360921"},{"label":"涓囪浇鍘�","value":"360922"},{"label":"涓婇珮鍘�","value":"360923"},{"label":"瀹滀赴鍘�","value":"360924"},{"label":"闈栧畨鍘�","value":"360925"},{"label":"閾滈紦鍘�","value":"360926"},{"label":"涓板煄甯�","value":"360981"},{"label":"妯熸爲甯�","value":"360982"},{"label":"楂樺畨甯�","value":"360983"}],[{"label":"涓村窛鍖�","value":"361002"},{"label":"涓滀埂鍖�","value":"361003"},{"label":"鍗楀煄鍘�","value":"361021"},{"label":"榛庡窛鍘�","value":"361022"},{"label":"鍗椾赴鍘�","value":"361023"},{"label":"宕囦粊鍘�","value":"361024"},{"label":"涔愬畨鍘�","value":"361025"},{"label":"瀹滈粍鍘�","value":"361026"},{"label":"閲戞邯鍘�","value":"361027"},{"label":"璧勬邯鍘�","value":"361028"},{"label":"骞挎槍鍘�","value":"361030"}],[{"label":"淇″窞鍖�","value":"361102"},{"label":"骞夸赴鍖�","value":"361103"},{"label":"涓婇ザ鍘�","value":"361121"},{"label":"鐜夊北鍘�","value":"361123"},{"label":"閾呭北鍘�","value":"361124"},{"label":"妯嘲鍘�","value":"361125"},{"label":"寮嬮槼鍘�","value":"361126"},{"label":"浣欏共鍘�","value":"361127"},{"label":"閯遍槼鍘�","value":"361128"},{"label":"涓囧勾鍘�","value":"361129"},{"label":"濠烘簮鍘�","value":"361130"},{"label":"寰峰叴甯�","value":"361181"}]],[[{"label":"鍘嗕笅鍖�","value":"370102"},{"label":"甯備腑鍖�","value":"370103"},{"label":"妲愯崼鍖�","value":"370104"},{"label":"澶╂ˉ鍖�","value":"370105"},{"label":"鍘嗗煄鍖�","value":"370112"},{"label":"闀挎竻鍖�","value":"370113"},{"label":"绔犱笜鍖�","value":"370114"},{"label":"骞抽槾鍘�","value":"370124"},{"label":"娴庨槼鍘�","value":"370125"},{"label":"鍟嗘渤鍘�","value":"370126"},{"label":"娴庡崡楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"370171"}],[{"label":"甯傚崡鍖�","value":"370202"},{"label":"甯傚寳鍖�","value":"370203"},{"label":"榛勫矝鍖�","value":"370211"},{"label":"宕傚北鍖�","value":"370212"},{"label":"鏉庢钵鍖�","value":"370213"},{"label":"鍩庨槼鍖�","value":"370214"},{"label":"鍗冲ⅷ鍖�","value":"370215"},{"label":"闈掑矝楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"370271"},{"label":"鑳跺窞甯�","value":"370281"},{"label":"骞冲害甯�","value":"370283"},{"label":"鑾辫タ甯�","value":"370285"}],[{"label":"娣勫窛鍖�","value":"370302"},{"label":"寮犲簵鍖�","value":"370303"},{"label":"鍗氬北鍖�","value":"370304"},{"label":"涓存穭鍖�","value":"370305"},{"label":"鍛ㄦ潙鍖�","value":"370306"},{"label":"妗撳彴鍘�","value":"370321"},{"label":"楂橀潚鍘�","value":"370322"},{"label":"娌傛簮鍘�","value":"370323"}],[{"label":"甯備腑鍖�","value":"370402"},{"label":"钖涘煄鍖�","value":"370403"},{"label":"宄勫煄鍖�","value":"370404"},{"label":"鍙板効搴勫尯","value":"370405"},{"label":"灞变涵鍖�","value":"370406"},{"label":"婊曞窞甯�","value":"370481"}],[{"label":"涓滆惀鍖�","value":"370502"},{"label":"娌冲彛鍖�","value":"370503"},{"label":"鍨﹀埄鍖�","value":"370505"},{"label":"鍒╂触鍘�","value":"370522"},{"label":"骞块ザ鍘�","value":"370523"},{"label":"涓滆惀缁忔祹鎶�鏈紑鍙戝尯","value":"370571"},{"label":"涓滆惀娓粡娴庡紑鍙戝尯","value":"370572"}],[{"label":"鑺濈綐鍖�","value":"370602"},{"label":"绂忓北鍖�","value":"370611"},{"label":"鐗熷钩鍖�","value":"370612"},{"label":"鑾卞北鍖�","value":"370613"},{"label":"闀垮矝鍘�","value":"370634"},{"label":"鐑熷彴楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"370671"},{"label":"鐑熷彴缁忔祹鎶�鏈紑鍙戝尯","value":"370672"},{"label":"榫欏彛甯�","value":"370681"},{"label":"鑾遍槼甯�","value":"370682"},{"label":"鑾卞窞甯�","value":"370683"},{"label":"钃幈甯�","value":"370684"},{"label":"鎷涜繙甯�","value":"370685"},{"label":"鏍栭湠甯�","value":"370686"},{"label":"娴烽槼甯�","value":"370687"}],[{"label":"娼嶅煄鍖�","value":"370702"},{"label":"瀵掍涵鍖�","value":"370703"},{"label":"鍧婂瓙鍖�","value":"370704"},{"label":"濂庢枃鍖�","value":"370705"},{"label":"涓存湊鍘�","value":"370724"},{"label":"鏄屼箰鍘�","value":"370725"},{"label":"娼嶅潑婊ㄦ捣缁忔祹鎶�鏈紑鍙戝尯","value":"370772"},{"label":"闈掑窞甯�","value":"370781"},{"label":"璇稿煄甯�","value":"370782"},{"label":"瀵垮厜甯�","value":"370783"},{"label":"瀹変笜甯�","value":"370784"},{"label":"楂樺瘑甯�","value":"370785"},{"label":"鏄岄倯甯�","value":"370786"}],[{"label":"浠诲煄鍖�","value":"370811"},{"label":"鍏栧窞鍖�","value":"370812"},{"label":"寰北鍘�","value":"370826"},{"label":"楸煎彴鍘�","value":"370827"},{"label":"閲戜埂鍘�","value":"370828"},{"label":"鍢夌ゥ鍘�","value":"370829"},{"label":"姹朵笂鍘�","value":"370830"},{"label":"娉楁按鍘�","value":"370831"},{"label":"姊佸北鍘�","value":"370832"},{"label":"娴庡畞楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"370871"},{"label":"鏇查槣甯�","value":"370881"},{"label":"閭瑰煄甯�","value":"370883"}],[{"label":"娉板北鍖�","value":"370902"},{"label":"宀卞渤鍖�","value":"370911"},{"label":"瀹侀槼鍘�","value":"370921"},{"label":"涓滃钩鍘�","value":"370923"},{"label":"鏂版嘲甯�","value":"370982"},{"label":"鑲ュ煄甯�","value":"370983"}],[{"label":"鐜繝鍖�","value":"371002"},{"label":"鏂囩櫥鍖�","value":"371003"},{"label":"濞佹捣鐏偓楂樻妧鏈骇涓氬紑鍙戝尯","value":"371071"},{"label":"濞佹捣缁忔祹鎶�鏈紑鍙戝尯","value":"371072"},{"label":"濞佹捣涓存腐缁忔祹鎶�鏈紑鍙戝尯","value":"371073"},{"label":"鑽f垚甯�","value":"371082"},{"label":"涔冲北甯�","value":"371083"}],[{"label":"涓滄腐鍖�","value":"371102"},{"label":"宀氬北鍖�","value":"371103"},{"label":"浜旇幉鍘�","value":"371121"},{"label":"鑾掑幙","value":"371122"},{"label":"鏃ョ収缁忔祹鎶�鏈紑鍙戝尯","value":"371171"},{"label":"鏃ョ収鍥介檯娴锋磱鍩�","value":"371172"}],[{"label":"鑾卞煄鍖�","value":"371202"},{"label":"閽㈠煄鍖�","value":"371203"}],[{"label":"鍏板北鍖�","value":"371302"},{"label":"缃楀簞鍖�","value":"371311"},{"label":"娌充笢鍖�","value":"371312"},{"label":"娌傚崡鍘�","value":"371321"},{"label":"閮煄鍘�","value":"371322"},{"label":"娌傛按鍘�","value":"371323"},{"label":"鍏伴櫟鍘�","value":"371324"},{"label":"璐瑰幙","value":"371325"},{"label":"骞抽倯鍘�","value":"371326"},{"label":"鑾掑崡鍘�","value":"371327"},{"label":"钂欓槾鍘�","value":"371328"},{"label":"涓存箔鍘�","value":"371329"},{"label":"涓存矀楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"371371"},{"label":"涓存矀缁忔祹鎶�鏈紑鍙戝尯","value":"371372"},{"label":"涓存矀涓存腐缁忔祹寮�鍙戝尯","value":"371373"}],[{"label":"寰峰煄鍖�","value":"371402"},{"label":"闄靛煄鍖�","value":"371403"},{"label":"瀹佹触鍘�","value":"371422"},{"label":"搴嗕簯鍘�","value":"371423"},{"label":"涓撮倯鍘�","value":"371424"},{"label":"榻愭渤鍘�","value":"371425"},{"label":"骞冲師鍘�","value":"371426"},{"label":"澶忔触鍘�","value":"371427"},{"label":"姝﹀煄鍘�","value":"371428"},{"label":"寰峰窞缁忔祹鎶�鏈紑鍙戝尯","value":"371471"},{"label":"寰峰窞杩愭渤缁忔祹寮�鍙戝尯","value":"371472"},{"label":"涔愰櫟甯�","value":"371481"},{"label":"绂瑰煄甯�","value":"371482"}],[{"label":"涓滄槍搴滃尯","value":"371502"},{"label":"闃宠胺鍘�","value":"371521"},{"label":"鑾樺幙","value":"371522"},{"label":"鑼屽钩鍘�","value":"371523"},{"label":"涓滈樋鍘�","value":"371524"},{"label":"鍐犲幙","value":"371525"},{"label":"楂樺攼鍘�","value":"371526"},{"label":"涓存竻甯�","value":"371581"}],[{"label":"婊ㄥ煄鍖�","value":"371602"},{"label":"娌惧寲鍖�","value":"371603"},{"label":"鎯犳皯鍘�","value":"371621"},{"label":"闃充俊鍘�","value":"371622"},{"label":"鏃犳#鍘�","value":"371623"},{"label":"鍗氬叴鍘�","value":"371625"},{"label":"閭瑰钩鍘�","value":"371626"}],[{"label":"鐗′腹鍖�","value":"371702"},{"label":"瀹氶櫠鍖�","value":"371703"},{"label":"鏇瑰幙","value":"371721"},{"label":"鍗曞幙","value":"371722"},{"label":"鎴愭鍘�","value":"371723"},{"label":"宸ㄩ噹鍘�","value":"371724"},{"label":"閮撳煄鍘�","value":"371725"},{"label":"閯勫煄鍘�","value":"371726"},{"label":"涓滄槑鍘�","value":"371728"},{"label":"鑿忔辰缁忔祹鎶�鏈紑鍙戝尯","value":"371771"},{"label":"鑿忔辰楂樻柊鎶�鏈紑鍙戝尯","value":"371772"}]],[[{"label":"涓師鍖�","value":"410102"},{"label":"浜屼竷鍖�","value":"410103"},{"label":"绠″煄鍥炴棌鍖�","value":"410104"},{"label":"閲戞按鍖�","value":"410105"},{"label":"涓婅鍖�","value":"410106"},{"label":"鎯犳祹鍖�","value":"410108"},{"label":"涓墴鍘�","value":"410122"},{"label":"閮戝窞缁忔祹鎶�鏈紑鍙戝尯","value":"410171"},{"label":"閮戝窞楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"410172"},{"label":"閮戝窞鑸┖娓粡娴庣患鍚堝疄楠屽尯","value":"410173"},{"label":"宸╀箟甯�","value":"410181"},{"label":"鑽ラ槼甯�","value":"410182"},{"label":"鏂板瘑甯�","value":"410183"},{"label":"鏂伴儜甯�","value":"410184"},{"label":"鐧诲皝甯�","value":"410185"}],[{"label":"榫欎涵鍖�","value":"410202"},{"label":"椤烘渤鍥炴棌鍖�","value":"410203"},{"label":"榧撴ゼ鍖�","value":"410204"},{"label":"绂圭帇鍙板尯","value":"410205"},{"label":"绁ョ鍖�","value":"410212"},{"label":"鏉炲幙","value":"410221"},{"label":"閫氳鍘�","value":"410222"},{"label":"灏夋皬鍘�","value":"410223"},{"label":"鍏拌�冨幙","value":"410225"}],[{"label":"鑰佸煄鍖�","value":"410302"},{"label":"瑗垮伐鍖�","value":"410303"},{"label":"鐎嶆渤鍥炴棌鍖�","value":"410304"},{"label":"娑цタ鍖�","value":"410305"},{"label":"鍚夊埄鍖�","value":"410306"},{"label":"娲涢緳鍖�","value":"410311"},{"label":"瀛熸触鍘�","value":"410322"},{"label":"鏂板畨鍘�","value":"410323"},{"label":"鏍惧窛鍘�","value":"410324"},{"label":"宓╁幙","value":"410325"},{"label":"姹濋槼鍘�","value":"410326"},{"label":"瀹滈槼鍘�","value":"410327"},{"label":"娲涘畞鍘�","value":"410328"},{"label":"浼婂窛鍘�","value":"410329"},{"label":"娲涢槼楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"410371"},{"label":"鍋冨笀甯�","value":"410381"}],[{"label":"鏂板崕鍖�","value":"410402"},{"label":"鍗笢鍖�","value":"410403"},{"label":"鐭抽緳鍖�","value":"410404"},{"label":"婀涙渤鍖�","value":"410411"},{"label":"瀹濅赴鍘�","value":"410421"},{"label":"鍙跺幙","value":"410422"},{"label":"椴佸北鍘�","value":"410423"},{"label":"閮忓幙","value":"410425"},{"label":"骞抽《灞遍珮鏂版妧鏈骇涓氬紑鍙戝尯","value":"410471"},{"label":"骞抽《灞卞競鏂板煄鍖�","value":"410472"},{"label":"鑸為挗甯�","value":"410481"},{"label":"姹濆窞甯�","value":"410482"}],[{"label":"鏂囧嘲鍖�","value":"410502"},{"label":"鍖楀叧鍖�","value":"410503"},{"label":"娈烽兘鍖�","value":"410505"},{"label":"榫欏畨鍖�","value":"410506"},{"label":"瀹夐槼鍘�","value":"410522"},{"label":"姹ら槾鍘�","value":"410523"},{"label":"婊戝幙","value":"410526"},{"label":"鍐呴粍鍘�","value":"410527"},{"label":"瀹夐槼楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"410571"},{"label":"鏋楀窞甯�","value":"410581"}],[{"label":"楣ゅ北鍖�","value":"410602"},{"label":"灞卞煄鍖�","value":"410603"},{"label":"娣囨花鍖�","value":"410611"},{"label":"娴氬幙","value":"410621"},{"label":"娣囧幙","value":"410622"},{"label":"楣ゅ缁忔祹鎶�鏈紑鍙戝尯","value":"410671"}],[{"label":"绾㈡棗鍖�","value":"410702"},{"label":"鍗花鍖�","value":"410703"},{"label":"鍑ゆ硥鍖�","value":"410704"},{"label":"鐗ч噹鍖�","value":"410711"},{"label":"鏂颁埂鍘�","value":"410721"},{"label":"鑾峰槈鍘�","value":"410724"},{"label":"鍘熼槼鍘�","value":"410725"},{"label":"寤舵触鍘�","value":"410726"},{"label":"灏佷笜鍘�","value":"410727"},{"label":"闀垮灒鍘�","value":"410728"},{"label":"鏂颁埂楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"410771"},{"label":"鏂颁埂缁忔祹鎶�鏈紑鍙戝尯","value":"410772"},{"label":"鏂颁埂甯傚钩鍘熷煄涔′竴浣撳寲绀鸿寖鍖�","value":"410773"},{"label":"鍗緣甯�","value":"410781"},{"label":"杈夊幙甯�","value":"410782"}],[{"label":"瑙f斁鍖�","value":"410802"},{"label":"涓珯鍖�","value":"410803"},{"label":"椹潙鍖�","value":"410804"},{"label":"灞遍槼鍖�","value":"410811"},{"label":"淇鍘�","value":"410821"},{"label":"鍗氱埍鍘�","value":"410822"},{"label":"姝﹂櫉鍘�","value":"410823"},{"label":"娓╁幙","value":"410825"},{"label":"鐒︿綔鍩庝埂涓�浣撳寲绀鸿寖鍖�","value":"410871"},{"label":"娌侀槼甯�","value":"410882"},{"label":"瀛熷窞甯�","value":"410883"}],[{"label":"鍗庨緳鍖�","value":"410902"},{"label":"娓呬赴鍘�","value":"410922"},{"label":"鍗椾箰鍘�","value":"410923"},{"label":"鑼冨幙","value":"410926"},{"label":"鍙板墠鍘�","value":"410927"},{"label":"婵槼鍘�","value":"410928"},{"label":"娌冲崡婵槼宸ヤ笟鍥尯","value":"410971"},{"label":"婵槼缁忔祹鎶�鏈紑鍙戝尯","value":"410972"}],[{"label":"榄忛兘鍖�","value":"411002"},{"label":"寤哄畨鍖�","value":"411003"},{"label":"閯㈤櫟鍘�","value":"411024"},{"label":"瑗勫煄鍘�","value":"411025"},{"label":"璁告槍缁忔祹鎶�鏈紑鍙戝尯","value":"411071"},{"label":"绂瑰窞甯�","value":"411081"},{"label":"闀胯憶甯�","value":"411082"}],[{"label":"婧愭眹鍖�","value":"411102"},{"label":"閮惧煄鍖�","value":"411103"},{"label":"鍙櫟鍖�","value":"411104"},{"label":"鑸為槼鍘�","value":"411121"},{"label":"涓撮鍘�","value":"411122"},{"label":"婕渤缁忔祹鎶�鏈紑鍙戝尯","value":"411171"}],[{"label":"婀栨花鍖�","value":"411202"},{"label":"闄曞窞鍖�","value":"411203"},{"label":"娓戞睜鍘�","value":"411221"},{"label":"鍗㈡皬鍘�","value":"411224"},{"label":"娌冲崡涓夐棬宄$粡娴庡紑鍙戝尯","value":"411271"},{"label":"涔夐┈甯�","value":"411281"},{"label":"鐏靛疂甯�","value":"411282"}],[{"label":"瀹涘煄鍖�","value":"411302"},{"label":"鍗ч緳鍖�","value":"411303"},{"label":"鍗楀彫鍘�","value":"411321"},{"label":"鏂瑰煄鍘�","value":"411322"},{"label":"瑗垮场鍘�","value":"411323"},{"label":"闀囧钩鍘�","value":"411324"},{"label":"鍐呬埂鍘�","value":"411325"},{"label":"娣呭窛鍘�","value":"411326"},{"label":"绀炬棗鍘�","value":"411327"},{"label":"鍞愭渤鍘�","value":"411328"},{"label":"鏂伴噹鍘�","value":"411329"},{"label":"妗愭煆鍘�","value":"411330"},{"label":"鍗楅槼楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"411371"},{"label":"鍗楅槼甯傚煄涔′竴浣撳寲绀鸿寖鍖�","value":"411372"},{"label":"閭撳窞甯�","value":"411381"}],[{"label":"姊佸洯鍖�","value":"411402"},{"label":"鐫㈤槼鍖�","value":"411403"},{"label":"姘戞潈鍘�","value":"411421"},{"label":"鐫㈠幙","value":"411422"},{"label":"瀹侀櫟鍘�","value":"411423"},{"label":"鏌樺煄鍘�","value":"411424"},{"label":"铏炲煄鍘�","value":"411425"},{"label":"澶忛倯鍘�","value":"411426"},{"label":"璞笢缁煎悎鐗╂祦浜т笟鑱氶泦鍖�","value":"411471"},{"label":"娌冲崡鍟嗕笜缁忔祹寮�鍙戝尯","value":"411472"},{"label":"姘稿煄甯�","value":"411481"}],[{"label":"娴夋渤鍖�","value":"411502"},{"label":"骞虫ˉ鍖�","value":"411503"},{"label":"缃楀北鍘�","value":"411521"},{"label":"鍏夊北鍘�","value":"411522"},{"label":"鏂板幙","value":"411523"},{"label":"鍟嗗煄鍘�","value":"411524"},{"label":"鍥哄鍘�","value":"411525"},{"label":"娼㈠窛鍘�","value":"411526"},{"label":"娣花鍘�","value":"411527"},{"label":"鎭幙","value":"411528"},{"label":"淇¢槼楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"411571"}],[{"label":"宸濇眹鍖�","value":"411602"},{"label":"鎵舵矡鍘�","value":"411621"},{"label":"瑗垮崕鍘�","value":"411622"},{"label":"鍟嗘按鍘�","value":"411623"},{"label":"娌堜笜鍘�","value":"411624"},{"label":"閮稿煄鍘�","value":"411625"},{"label":"娣槼鍘�","value":"411626"},{"label":"澶悍鍘�","value":"411627"},{"label":"楣块倯鍘�","value":"411628"},{"label":"娌冲崡鍛ㄥ彛缁忔祹寮�鍙戝尯","value":"411671"},{"label":"椤瑰煄甯�","value":"411681"}],[{"label":"椹垮煄鍖�","value":"411702"},{"label":"瑗垮钩鍘�","value":"411721"},{"label":"涓婅敗鍘�","value":"411722"},{"label":"骞宠垎鍘�","value":"411723"},{"label":"姝i槼鍘�","value":"411724"},{"label":"纭北鍘�","value":"411725"},{"label":"娉岄槼鍘�","value":"411726"},{"label":"姹濆崡鍘�","value":"411727"},{"label":"閬傚钩鍘�","value":"411728"},{"label":"鏂拌敗鍘�","value":"411729"},{"label":"娌冲崡椹婚┈搴楃粡娴庡紑鍙戝尯","value":"411771"}],[{"label":"娴庢簮甯�","value":"419001"}]],[[{"label":"姹熷哺鍖�","value":"420102"},{"label":"姹熸眽鍖�","value":"420103"},{"label":"纭氬彛鍖�","value":"420104"},{"label":"姹夐槼鍖�","value":"420105"},{"label":"姝︽槍鍖�","value":"420106"},{"label":"闈掑北鍖�","value":"420107"},{"label":"娲北鍖�","value":"420111"},{"label":"涓滆タ婀栧尯","value":"420112"},{"label":"姹夊崡鍖�","value":"420113"},{"label":"钄$敻鍖�","value":"420114"},{"label":"姹熷鍖�","value":"420115"},{"label":"榛勯檪鍖�","value":"420116"},{"label":"鏂版床鍖�","value":"420117"}],[{"label":"榛勭煶娓尯","value":"420202"},{"label":"瑗垮灞卞尯","value":"420203"},{"label":"涓嬮檰鍖�","value":"420204"},{"label":"閾佸北鍖�","value":"420205"},{"label":"闃虫柊鍘�","value":"420222"},{"label":"澶у喍甯�","value":"420281"}],[{"label":"鑼呯鍖�","value":"420302"},{"label":"寮犳咕鍖�","value":"420303"},{"label":"閮ч槼鍖�","value":"420304"},{"label":"閮цタ鍘�","value":"420322"},{"label":"绔瑰北鍘�","value":"420323"},{"label":"绔规邯鍘�","value":"420324"},{"label":"鎴垮幙","value":"420325"},{"label":"涓规睙鍙e競","value":"420381"}],[{"label":"瑗块櫟鍖�","value":"420502"},{"label":"浼嶅宀楀尯","value":"420503"},{"label":"鐐瑰啗鍖�","value":"420504"},{"label":"鐚囦涵鍖�","value":"420505"},{"label":"澶烽櫟鍖�","value":"420506"},{"label":"杩滃畨鍘�","value":"420525"},{"label":"鍏村北鍘�","value":"420526"},{"label":"绉綊鍘�","value":"420527"},{"label":"闀块槼鍦熷鏃忚嚜娌诲幙","value":"420528"},{"label":"浜斿嘲鍦熷鏃忚嚜娌诲幙","value":"420529"},{"label":"瀹滈兘甯�","value":"420581"},{"label":"褰撻槼甯�","value":"420582"},{"label":"鏋濇睙甯�","value":"420583"}],[{"label":"瑗勫煄鍖�","value":"420602"},{"label":"妯婂煄鍖�","value":"420606"},{"label":"瑗勫窞鍖�","value":"420607"},{"label":"鍗楁汲鍘�","value":"420624"},{"label":"璋峰煄鍘�","value":"420625"},{"label":"淇濆悍鍘�","value":"420626"},{"label":"鑰佹渤鍙e競","value":"420682"},{"label":"鏋i槼甯�","value":"420683"},{"label":"瀹滃煄甯�","value":"420684"}],[{"label":"姊佸瓙婀栧尯","value":"420702"},{"label":"鍗庡鍖�","value":"420703"},{"label":"閯傚煄鍖�","value":"420704"}],[{"label":"涓滃疂鍖�","value":"420802"},{"label":"鎺囧垁鍖�","value":"420804"},{"label":"浜北鍘�","value":"420821"},{"label":"娌欐磱鍘�","value":"420822"},{"label":"閽熺ゥ甯�","value":"420881"}],[{"label":"瀛濆崡鍖�","value":"420902"},{"label":"瀛濇槍鍘�","value":"420921"},{"label":"澶ф偀鍘�","value":"420922"},{"label":"浜戞ⅵ鍘�","value":"420923"},{"label":"搴斿煄甯�","value":"420981"},{"label":"瀹夐檰甯�","value":"420982"},{"label":"姹夊窛甯�","value":"420984"}],[{"label":"娌欏競鍖�","value":"421002"},{"label":"鑽嗗窞鍖�","value":"421003"},{"label":"鍏畨鍘�","value":"421022"},{"label":"鐩戝埄鍘�","value":"421023"},{"label":"姹熼櫟鍘�","value":"421024"},{"label":"鑽嗗窞缁忔祹鎶�鏈紑鍙戝尯","value":"421071"},{"label":"鐭抽甯�","value":"421081"},{"label":"娲箹甯�","value":"421083"},{"label":"鏉炬粙甯�","value":"421087"}],[{"label":"榛勫窞鍖�","value":"421102"},{"label":"鍥㈤鍘�","value":"421121"},{"label":"绾㈠畨鍘�","value":"421122"},{"label":"缃楃敯鍘�","value":"421123"},{"label":"鑻卞北鍘�","value":"421124"},{"label":"娴犳按鍘�","value":"421125"},{"label":"钑叉槬鍘�","value":"421126"},{"label":"榛勬鍘�","value":"421127"},{"label":"榫欐劅婀栫鐞嗗尯","value":"421171"},{"label":"楹诲煄甯�","value":"421181"},{"label":"姝︾┐甯�","value":"421182"}],[{"label":"鍜稿畨鍖�","value":"421202"},{"label":"鍢夐奔鍘�","value":"421221"},{"label":"閫氬煄鍘�","value":"421222"},{"label":"宕囬槼鍘�","value":"421223"},{"label":"閫氬北鍘�","value":"421224"},{"label":"璧ゅ甯�","value":"421281"}],[{"label":"鏇鹃兘鍖�","value":"421303"},{"label":"闅忓幙","value":"421321"},{"label":"骞挎按甯�","value":"421381"}],[{"label":"鎭╂柦甯�","value":"422801"},{"label":"鍒╁窛甯�","value":"422802"},{"label":"寤哄鍘�","value":"422822"},{"label":"宸翠笢鍘�","value":"422823"},{"label":"瀹f仼鍘�","value":"422825"},{"label":"鍜镐赴鍘�","value":"422826"},{"label":"鏉ュ嚖鍘�","value":"422827"},{"label":"楣ゅ嘲鍘�","value":"422828"}],[{"label":"浠欐甯�","value":"429004"},{"label":"娼滄睙甯�","value":"429005"},{"label":"澶╅棬甯�","value":"429006"},{"label":"绁炲啘鏋舵灄鍖�","value":"429021"}]],[[{"label":"鑺欒搲鍖�","value":"430102"},{"label":"澶╁績鍖�","value":"430103"},{"label":"宀抽簱鍖�","value":"430104"},{"label":"寮�绂忓尯","value":"430105"},{"label":"闆ㄨ姳鍖�","value":"430111"},{"label":"鏈涘煄鍖�","value":"430112"},{"label":"闀挎矙鍘�","value":"430121"},{"label":"娴忛槼甯�","value":"430181"},{"label":"瀹佷埂甯�","value":"430182"}],[{"label":"鑽峰鍖�","value":"430202"},{"label":"鑺︽窞鍖�","value":"430203"},{"label":"鐭冲嘲鍖�","value":"430204"},{"label":"澶╁厓鍖�","value":"430211"},{"label":"鏍床鍘�","value":"430221"},{"label":"鏀稿幙","value":"430223"},{"label":"鑼堕櫟鍘�","value":"430224"},{"label":"鐐庨櫟鍘�","value":"430225"},{"label":"浜戦緳绀鸿寖鍖�","value":"430271"},{"label":"閱撮櫟甯�","value":"430281"}],[{"label":"闆ㄦ箹鍖�","value":"430302"},{"label":"宀冲鍖�","value":"430304"},{"label":"婀樻江鍘�","value":"430321"},{"label":"婀栧崡婀樻江楂樻柊鎶�鏈骇涓氬洯鍖�","value":"430371"},{"label":"婀樻江鏄北绀鸿寖鍖�","value":"430372"},{"label":"婀樻江涔濆崕绀鸿寖鍖�","value":"430373"},{"label":"婀樹埂甯�","value":"430381"},{"label":"闊跺北甯�","value":"430382"}],[{"label":"鐝犳櫀鍖�","value":"430405"},{"label":"闆佸嘲鍖�","value":"430406"},{"label":"鐭抽紦鍖�","value":"430407"},{"label":"钂告箻鍖�","value":"430408"},{"label":"鍗楀渤鍖�","value":"430412"},{"label":"琛¢槼鍘�","value":"430421"},{"label":"琛″崡鍘�","value":"430422"},{"label":"琛″北鍘�","value":"430423"},{"label":"琛′笢鍘�","value":"430424"},{"label":"绁佷笢鍘�","value":"430426"},{"label":"琛¢槼缁煎悎淇濈◣鍖�","value":"430471"},{"label":"婀栧崡琛¢槼楂樻柊鎶�鏈骇涓氬洯鍖�","value":"430472"},{"label":"婀栧崡琛¢槼鏉炬湪缁忔祹寮�鍙戝尯","value":"430473"},{"label":"鑰掗槼甯�","value":"430481"},{"label":"甯稿畞甯�","value":"430482"}],[{"label":"鍙屾竻鍖�","value":"430502"},{"label":"澶хゥ鍖�","value":"430503"},{"label":"鍖楀鍖�","value":"430511"},{"label":"閭典笢鍘�","value":"430521"},{"label":"鏂伴偟鍘�","value":"430522"},{"label":"閭甸槼鍘�","value":"430523"},{"label":"闅嗗洖鍘�","value":"430524"},{"label":"娲炲彛鍘�","value":"430525"},{"label":"缁ュ畞鍘�","value":"430527"},{"label":"鏂板畞鍘�","value":"430528"},{"label":"鍩庢鑻楁棌鑷不鍘�","value":"430529"},{"label":"姝﹀唸甯�","value":"430581"}],[{"label":"宀抽槼妤煎尯","value":"430602"},{"label":"浜戞邯鍖�","value":"430603"},{"label":"鍚涘北鍖�","value":"430611"},{"label":"宀抽槼鍘�","value":"430621"},{"label":"鍗庡鍘�","value":"430623"},{"label":"婀橀槾鍘�","value":"430624"},{"label":"骞虫睙鍘�","value":"430626"},{"label":"宀抽槼甯傚眻鍘熺鐞嗗尯","value":"430671"},{"label":"姹ㄧ綏甯�","value":"430681"},{"label":"涓存箻甯�","value":"430682"}],[{"label":"姝﹂櫟鍖�","value":"430702"},{"label":"榧庡煄鍖�","value":"430703"},{"label":"瀹変埂鍘�","value":"430721"},{"label":"姹夊鍘�","value":"430722"},{"label":"婢у幙","value":"430723"},{"label":"涓存晶鍘�","value":"430724"},{"label":"妗冩簮鍘�","value":"430725"},{"label":"鐭抽棬鍘�","value":"430726"},{"label":"甯稿痉甯傝タ娲炲涵绠$悊鍖�","value":"430771"},{"label":"娲ュ競甯�","value":"430781"}],[{"label":"姘稿畾鍖�","value":"430802"},{"label":"姝﹂櫟婧愬尯","value":"430811"},{"label":"鎱堝埄鍘�","value":"430821"},{"label":"妗戞鍘�","value":"430822"}],[{"label":"璧勯槼鍖�","value":"430902"},{"label":"璧北鍖�","value":"430903"},{"label":"鍗楀幙","value":"430921"},{"label":"妗冩睙鍘�","value":"430922"},{"label":"瀹夊寲鍘�","value":"430923"},{"label":"鐩婇槼甯傚ぇ閫氭箹绠$悊鍖�","value":"430971"},{"label":"婀栧崡鐩婇槼楂樻柊鎶�鏈骇涓氬洯鍖�","value":"430972"},{"label":"娌呮睙甯�","value":"430981"}],[{"label":"鍖楁箹鍖�","value":"431002"},{"label":"鑻忎粰鍖�","value":"431003"},{"label":"妗傞槼鍘�","value":"431021"},{"label":"瀹滅珷鍘�","value":"431022"},{"label":"姘稿叴鍘�","value":"431023"},{"label":"鍢夌鍘�","value":"431024"},{"label":"涓存鍘�","value":"431025"},{"label":"姹濆煄鍘�","value":"431026"},{"label":"妗備笢鍘�","value":"431027"},{"label":"瀹変粊鍘�","value":"431028"},{"label":"璧勫叴甯�","value":"431081"}],[{"label":"闆堕櫟鍖�","value":"431102"},{"label":"鍐锋按婊╁尯","value":"431103"},{"label":"绁侀槼鍘�","value":"431121"},{"label":"涓滃畨鍘�","value":"431122"},{"label":"鍙岀墝鍘�","value":"431123"},{"label":"閬撳幙","value":"431124"},{"label":"姹熸案鍘�","value":"431125"},{"label":"瀹佽繙鍘�","value":"431126"},{"label":"钃濆北鍘�","value":"431127"},{"label":"鏂扮敯鍘�","value":"431128"},{"label":"姹熷崕鐟舵棌鑷不鍘�","value":"431129"},{"label":"姘稿窞缁忔祹鎶�鏈紑鍙戝尯","value":"431171"},{"label":"姘稿窞甯傞噾娲炵鐞嗗尯","value":"431172"},{"label":"姘稿窞甯傚洖榫欏湬绠$悊鍖�","value":"431173"}],[{"label":"楣ゅ煄鍖�","value":"431202"},{"label":"涓柟鍘�","value":"431221"},{"label":"娌呴櫟鍘�","value":"431222"},{"label":"杈版邯鍘�","value":"431223"},{"label":"婧嗘郸鍘�","value":"431224"},{"label":"浼氬悓鍘�","value":"431225"},{"label":"楹婚槼鑻楁棌鑷不鍘�","value":"431226"},{"label":"鏂版檭渚楁棌鑷不鍘�","value":"431227"},{"label":"鑺锋睙渚楁棌鑷不鍘�","value":"431228"},{"label":"闈栧窞鑻楁棌渚楁棌鑷不鍘�","value":"431229"},{"label":"閫氶亾渚楁棌鑷不鍘�","value":"431230"},{"label":"鎬�鍖栧競娲睙绠$悊鍖�","value":"431271"},{"label":"娲睙甯�","value":"431281"}],[{"label":"濞勬槦鍖�","value":"431302"},{"label":"鍙屽嘲鍘�","value":"431321"},{"label":"鏂板寲鍘�","value":"431322"},{"label":"鍐锋按姹熷競","value":"431381"},{"label":"娑熸簮甯�","value":"431382"}],[{"label":"鍚夐甯�","value":"433101"},{"label":"娉告邯鍘�","value":"433122"},{"label":"鍑ゅ嚢鍘�","value":"433123"},{"label":"鑺卞灒鍘�","value":"433124"},{"label":"淇濋潠鍘�","value":"433125"},{"label":"鍙や笀鍘�","value":"433126"},{"label":"姘搁『鍘�","value":"433127"},{"label":"榫欏北鍘�","value":"433130"},{"label":"婀栧崡鍚夐缁忔祹寮�鍙戝尯","value":"433172"},{"label":"婀栧崡姘搁『缁忔祹寮�鍙戝尯","value":"433173"}]],[[{"label":"鑽旀咕鍖�","value":"440103"},{"label":"瓒婄鍖�","value":"440104"},{"label":"娴风彔鍖�","value":"440105"},{"label":"澶╂渤鍖�","value":"440106"},{"label":"鐧戒簯鍖�","value":"440111"},{"label":"榛勫煍鍖�","value":"440112"},{"label":"鐣鍖�","value":"440113"},{"label":"鑺遍兘鍖�","value":"440114"},{"label":"鍗楁矙鍖�","value":"440115"},{"label":"浠庡寲鍖�","value":"440117"},{"label":"澧炲煄鍖�","value":"440118"}],[{"label":"姝︽睙鍖�","value":"440203"},{"label":"娴堟睙鍖�","value":"440204"},{"label":"鏇叉睙鍖�","value":"440205"},{"label":"濮嬪叴鍘�","value":"440222"},{"label":"浠佸寲鍘�","value":"440224"},{"label":"缈佹簮鍘�","value":"440229"},{"label":"涔虫簮鐟舵棌鑷不鍘�","value":"440232"},{"label":"鏂颁赴鍘�","value":"440233"},{"label":"涔愭槍甯�","value":"440281"},{"label":"鍗楅泟甯�","value":"440282"}],[{"label":"缃楁箹鍖�","value":"440303"},{"label":"绂忕敯鍖�","value":"440304"},{"label":"鍗楀北鍖�","value":"440305"},{"label":"瀹濆畨鍖�","value":"440306"},{"label":"榫欏矖鍖�","value":"440307"},{"label":"鐩愮敯鍖�","value":"440308"},{"label":"榫欏崕鍖�","value":"440309"},{"label":"鍧北鍖�","value":"440310"}],[{"label":"棣欐床鍖�","value":"440402"},{"label":"鏂楅棬鍖�","value":"440403"},{"label":"閲戞咕鍖�","value":"440404"}],[{"label":"榫欐箹鍖�","value":"440507"},{"label":"閲戝钩鍖�","value":"440511"},{"label":"婵犳睙鍖�","value":"440512"},{"label":"娼槼鍖�","value":"440513"},{"label":"娼崡鍖�","value":"440514"},{"label":"婢勬捣鍖�","value":"440515"},{"label":"鍗楁境鍘�","value":"440523"}],[{"label":"绂呭煄鍖�","value":"440604"},{"label":"鍗楁捣鍖�","value":"440605"},{"label":"椤哄痉鍖�","value":"440606"},{"label":"涓夋按鍖�","value":"440607"},{"label":"楂樻槑鍖�","value":"440608"}],[{"label":"钃睙鍖�","value":"440703"},{"label":"姹熸捣鍖�","value":"440704"},{"label":"鏂颁細鍖�","value":"440705"},{"label":"鍙板北甯�","value":"440781"},{"label":"寮�骞冲競","value":"440783"},{"label":"楣ゅ北甯�","value":"440784"},{"label":"鎭╁钩甯�","value":"440785"}],[{"label":"璧ゅ潕鍖�","value":"440802"},{"label":"闇炲北鍖�","value":"440803"},{"label":"鍧″ご鍖�","value":"440804"},{"label":"楹荤珷鍖�","value":"440811"},{"label":"閬傛邯鍘�","value":"440823"},{"label":"寰愰椈鍘�","value":"440825"},{"label":"寤夋睙甯�","value":"440881"},{"label":"闆峰窞甯�","value":"440882"},{"label":"鍚村窛甯�","value":"440883"}],[{"label":"鑼傚崡鍖�","value":"440902"},{"label":"鐢电櫧鍖�","value":"440904"},{"label":"楂樺窞甯�","value":"440981"},{"label":"鍖栧窞甯�","value":"440982"},{"label":"淇″疁甯�","value":"440983"}],[{"label":"绔窞鍖�","value":"441202"},{"label":"榧庢箹鍖�","value":"441203"},{"label":"楂樿鍖�","value":"441204"},{"label":"骞垮畞鍘�","value":"441223"},{"label":"鎬�闆嗗幙","value":"441224"},{"label":"灏佸紑鍘�","value":"441225"},{"label":"寰峰簡鍘�","value":"441226"},{"label":"鍥涗細甯�","value":"441284"}],[{"label":"鎯犲煄鍖�","value":"441302"},{"label":"鎯犻槼鍖�","value":"441303"},{"label":"鍗氱綏鍘�","value":"441322"},{"label":"鎯犱笢鍘�","value":"441323"},{"label":"榫欓棬鍘�","value":"441324"}],[{"label":"姊呮睙鍖�","value":"441402"},{"label":"姊呭幙鍖�","value":"441403"},{"label":"澶у煍鍘�","value":"441422"},{"label":"涓伴『鍘�","value":"441423"},{"label":"浜斿崕鍘�","value":"441424"},{"label":"骞宠繙鍘�","value":"441426"},{"label":"钑夊箔鍘�","value":"441427"},{"label":"鍏村畞甯�","value":"441481"}],[{"label":"鍩庡尯","value":"441502"},{"label":"娴蜂赴鍘�","value":"441521"},{"label":"闄嗘渤鍘�","value":"441523"},{"label":"闄嗕赴甯�","value":"441581"}],[{"label":"婧愬煄鍖�","value":"441602"},{"label":"绱噾鍘�","value":"441621"},{"label":"榫欏窛鍘�","value":"441622"},{"label":"杩炲钩鍘�","value":"441623"},{"label":"鍜屽钩鍘�","value":"441624"},{"label":"涓滄簮鍘�","value":"441625"}],[{"label":"姹熷煄鍖�","value":"441702"},{"label":"闃充笢鍖�","value":"441704"},{"label":"闃宠タ鍘�","value":"441721"},{"label":"闃虫槬甯�","value":"441781"}],[{"label":"娓呭煄鍖�","value":"441802"},{"label":"娓呮柊鍖�","value":"441803"},{"label":"浣涘唸鍘�","value":"441821"},{"label":"闃冲北鍘�","value":"441823"},{"label":"杩炲北澹棌鐟舵棌鑷不鍘�","value":"441825"},{"label":"杩炲崡鐟舵棌鑷不鍘�","value":"441826"},{"label":"鑻卞痉甯�","value":"441881"},{"label":"杩炲窞甯�","value":"441882"}],[{"label":"涓滆帪甯�","value":"441900"}],[{"label":"涓北甯�","value":"442000"}],[{"label":"婀樻ˉ鍖�","value":"445102"},{"label":"娼畨鍖�","value":"445103"},{"label":"楗跺钩鍘�","value":"445122"}],[{"label":"姒曞煄鍖�","value":"445202"},{"label":"鎻笢鍖�","value":"445203"},{"label":"鎻タ鍘�","value":"445222"},{"label":"鎯犳潵鍘�","value":"445224"},{"label":"鏅畞甯�","value":"445281"}],[{"label":"浜戝煄鍖�","value":"445302"},{"label":"浜戝畨鍖�","value":"445303"},{"label":"鏂板叴鍘�","value":"445321"},{"label":"閮佸崡鍘�","value":"445322"},{"label":"缃楀畾甯�","value":"445381"}]],[[{"label":"鍏村畞鍖�","value":"450102"},{"label":"闈掔鍖�","value":"450103"},{"label":"姹熷崡鍖�","value":"450105"},{"label":"瑗夸埂濉樺尯","value":"450107"},{"label":"鑹簡鍖�","value":"450108"},{"label":"閭曞畞鍖�","value":"450109"},{"label":"姝﹂福鍖�","value":"450110"},{"label":"闅嗗畨鍘�","value":"450123"},{"label":"椹北鍘�","value":"450124"},{"label":"涓婃灄鍘�","value":"450125"},{"label":"瀹鹃槼鍘�","value":"450126"},{"label":"妯幙","value":"450127"}],[{"label":"鍩庝腑鍖�","value":"450202"},{"label":"楸煎嘲鍖�","value":"450203"},{"label":"鏌冲崡鍖�","value":"450204"},{"label":"鏌冲寳鍖�","value":"450205"},{"label":"鏌虫睙鍖�","value":"450206"},{"label":"鏌冲煄鍘�","value":"450222"},{"label":"楣垮鍘�","value":"450223"},{"label":"铻嶅畨鍘�","value":"450224"},{"label":"铻嶆按鑻楁棌鑷不鍘�","value":"450225"},{"label":"涓夋睙渚楁棌鑷不鍘�","value":"450226"}],[{"label":"绉�宄板尯","value":"450302"},{"label":"鍙犲僵鍖�","value":"450303"},{"label":"璞″北鍖�","value":"450304"},{"label":"涓冩槦鍖�","value":"450305"},{"label":"闆佸北鍖�","value":"450311"},{"label":"涓存鍖�","value":"450312"},{"label":"闃虫湐鍘�","value":"450321"},{"label":"鐏靛窛鍘�","value":"450323"},{"label":"鍏ㄥ窞鍘�","value":"450324"},{"label":"鍏村畨鍘�","value":"450325"},{"label":"姘哥鍘�","value":"450326"},{"label":"鐏岄槼鍘�","value":"450327"},{"label":"榫欒儨鍚勬棌鑷不鍘�","value":"450328"},{"label":"璧勬簮鍘�","value":"450329"},{"label":"骞充箰鍘�","value":"450330"},{"label":"鑽旀郸鍘�","value":"450331"},{"label":"鎭煄鐟舵棌鑷不鍘�","value":"450332"}],[{"label":"涓囩鍖�","value":"450403"},{"label":"闀挎床鍖�","value":"450405"},{"label":"榫欏湬鍖�","value":"450406"},{"label":"鑻嶆ⅶ鍘�","value":"450421"},{"label":"钘ゅ幙","value":"450422"},{"label":"钂欏北鍘�","value":"450423"},{"label":"宀戞邯甯�","value":"450481"}],[{"label":"娴峰煄鍖�","value":"450502"},{"label":"閾舵捣鍖�","value":"450503"},{"label":"閾佸北娓尯","value":"450512"},{"label":"鍚堟郸鍘�","value":"450521"}],[{"label":"娓彛鍖�","value":"450602"},{"label":"闃插煄鍖�","value":"450603"},{"label":"涓婃�濆幙","value":"450621"},{"label":"涓滃叴甯�","value":"450681"}],[{"label":"閽﹀崡鍖�","value":"450702"},{"label":"閽﹀寳鍖�","value":"450703"},{"label":"鐏靛北鍘�","value":"450721"},{"label":"娴﹀寳鍘�","value":"450722"}],[{"label":"娓寳鍖�","value":"450802"},{"label":"娓崡鍖�","value":"450803"},{"label":"瑕冨鍖�","value":"450804"},{"label":"骞冲崡鍘�","value":"450821"},{"label":"妗傚钩甯�","value":"450881"}],[{"label":"鐜夊窞鍖�","value":"450902"},{"label":"绂忕坏鍖�","value":"450903"},{"label":"瀹瑰幙","value":"450921"},{"label":"闄嗗窛鍘�","value":"450922"},{"label":"鍗氱櫧鍘�","value":"450923"},{"label":"鍏翠笟鍘�","value":"450924"},{"label":"鍖楁祦甯�","value":"450981"}],[{"label":"鍙虫睙鍖�","value":"451002"},{"label":"鐢伴槼鍘�","value":"451021"},{"label":"鐢颁笢鍘�","value":"451022"},{"label":"骞虫灉鍘�","value":"451023"},{"label":"寰蜂繚鍘�","value":"451024"},{"label":"閭e潯鍘�","value":"451026"},{"label":"鍑屼簯鍘�","value":"451027"},{"label":"涔愪笟鍘�","value":"451028"},{"label":"鐢版灄鍘�","value":"451029"},{"label":"瑗挎灄鍘�","value":"451030"},{"label":"闅嗘灄鍚勬棌鑷不鍘�","value":"451031"},{"label":"闈栬タ甯�","value":"451081"}],[{"label":"鍏鍖�","value":"451102"},{"label":"骞虫鍖�","value":"451103"},{"label":"鏄钩鍘�","value":"451121"},{"label":"閽熷北鍘�","value":"451122"},{"label":"瀵屽窛鐟舵棌鑷不鍘�","value":"451123"}],[{"label":"閲戝煄姹熷尯","value":"451202"},{"label":"瀹滃窞鍖�","value":"451203"},{"label":"鍗椾腹鍘�","value":"451221"},{"label":"澶╁敞鍘�","value":"451222"},{"label":"鍑ゅ北鍘�","value":"451223"},{"label":"涓滃叞鍘�","value":"451224"},{"label":"缃楀煄浠浆鏃忚嚜娌诲幙","value":"451225"},{"label":"鐜睙姣涘崡鏃忚嚜娌诲幙","value":"451226"},{"label":"宸撮┈鐟舵棌鑷不鍘�","value":"451227"},{"label":"閮藉畨鐟舵棌鑷不鍘�","value":"451228"},{"label":"澶у寲鐟舵棌鑷不鍘�","value":"451229"}],[{"label":"鍏村鍖�","value":"451302"},{"label":"蹇诲煄鍘�","value":"451321"},{"label":"璞″窞鍘�","value":"451322"},{"label":"姝﹀鍘�","value":"451323"},{"label":"閲戠鐟舵棌鑷不鍘�","value":"451324"},{"label":"鍚堝北甯�","value":"451381"}],[{"label":"姹熷窞鍖�","value":"451402"},{"label":"鎵剁互鍘�","value":"451421"},{"label":"瀹佹槑鍘�","value":"451422"},{"label":"榫欏窞鍘�","value":"451423"},{"label":"澶ф柊鍘�","value":"451424"},{"label":"澶╃瓑鍘�","value":"451425"},{"label":"鍑ゥ甯�","value":"451481"}]],[[{"label":"绉�鑻卞尯","value":"460105"},{"label":"榫欏崕鍖�","value":"460106"},{"label":"鐞煎北鍖�","value":"460107"},{"label":"缇庡叞鍖�","value":"460108"}],[{"label":"娴锋鍖�","value":"460202"},{"label":"鍚夐槼鍖�","value":"460203"},{"label":"澶╂动鍖�","value":"460204"},{"label":"宕栧窞鍖�","value":"460205"}],[{"label":"瑗挎矙缇ゅ矝","value":"460321"},{"label":"鍗楁矙缇ゅ矝","value":"460322"},{"label":"涓矙缇ゅ矝鐨勫矝绀佸強鍏舵捣鍩�","value":"460323"}],[{"label":"鍎嬪窞甯�","value":"460400"}],[{"label":"浜旀寚灞卞競","value":"469001"},{"label":"鐞兼捣甯�","value":"469002"},{"label":"鏂囨槍甯�","value":"469005"},{"label":"涓囧畞甯�","value":"469006"},{"label":"涓滄柟甯�","value":"469007"},{"label":"瀹氬畨鍘�","value":"469021"},{"label":"灞槍鍘�","value":"469022"},{"label":"婢勮繄鍘�","value":"469023"},{"label":"涓撮珮鍘�","value":"469024"},{"label":"鐧芥矙榛庢棌鑷不鍘�","value":"469025"},{"label":"鏄屾睙榛庢棌鑷不鍘�","value":"469026"},{"label":"涔愪笢榛庢棌鑷不鍘�","value":"469027"},{"label":"闄垫按榛庢棌鑷不鍘�","value":"469028"},{"label":"淇濅涵榛庢棌鑻楁棌鑷不鍘�","value":"469029"},{"label":"鐞间腑榛庢棌鑻楁棌鑷不鍘�","value":"469030"}]],[[{"label":"涓囧窞鍖�","value":"500101"},{"label":"娑櫟鍖�","value":"500102"},{"label":"娓濅腑鍖�","value":"500103"},{"label":"澶ф浮鍙e尯","value":"500104"},{"label":"姹熷寳鍖�","value":"500105"},{"label":"娌欏潽鍧濆尯","value":"500106"},{"label":"涔濋緳鍧″尯","value":"500107"},{"label":"鍗楀哺鍖�","value":"500108"},{"label":"鍖楃鍖�","value":"500109"},{"label":"缍︽睙鍖�","value":"500110"},{"label":"澶ц冻鍖�","value":"500111"},{"label":"娓濆寳鍖�","value":"500112"},{"label":"宸村崡鍖�","value":"500113"},{"label":"榛旀睙鍖�","value":"500114"},{"label":"闀垮鍖�","value":"500115"},{"label":"姹熸触鍖�","value":"500116"},{"label":"鍚堝窛鍖�","value":"500117"},{"label":"姘稿窛鍖�","value":"500118"},{"label":"鍗楀窛鍖�","value":"500119"},{"label":"鐠у北鍖�","value":"500120"},{"label":"閾滄鍖�","value":"500151"},{"label":"娼煎崡鍖�","value":"500152"},{"label":"鑽f槍鍖�","value":"500153"},{"label":"寮�宸炲尯","value":"500154"},{"label":"姊佸钩鍖�","value":"500155"},{"label":"姝﹂殕鍖�","value":"500156"}],[{"label":"鍩庡彛鍘�","value":"500229"},{"label":"涓伴兘鍘�","value":"500230"},{"label":"鍨睙鍘�","value":"500231"},{"label":"蹇犲幙","value":"500233"},{"label":"浜戦槼鍘�","value":"500235"},{"label":"濂夎妭鍘�","value":"500236"},{"label":"宸北鍘�","value":"500237"},{"label":"宸邯鍘�","value":"500238"},{"label":"鐭虫煴鍦熷鏃忚嚜娌诲幙","value":"500240"},{"label":"绉�灞卞湡瀹舵棌鑻楁棌鑷不鍘�","value":"500241"},{"label":"閰夐槼鍦熷鏃忚嫍鏃忚嚜娌诲幙","value":"500242"},{"label":"褰按鑻楁棌鍦熷鏃忚嚜娌诲幙","value":"500243"}]],[[{"label":"閿︽睙鍖�","value":"510104"},{"label":"闈掔緤鍖�","value":"510105"},{"label":"閲戠墰鍖�","value":"510106"},{"label":"姝︿警鍖�","value":"510107"},{"label":"鎴愬崕鍖�","value":"510108"},{"label":"榫欐硥椹垮尯","value":"510112"},{"label":"闈掔櫧姹熷尯","value":"510113"},{"label":"鏂伴兘鍖�","value":"510114"},{"label":"娓╂睙鍖�","value":"510115"},{"label":"鍙屾祦鍖�","value":"510116"},{"label":"閮兘鍖�","value":"510117"},{"label":"閲戝爞鍘�","value":"510121"},{"label":"澶ч倯鍘�","value":"510129"},{"label":"钂叉睙鍘�","value":"510131"},{"label":"鏂版触鍘�","value":"510132"},{"label":"閮芥睙鍫板競","value":"510181"},{"label":"褰窞甯�","value":"510182"},{"label":"閭涘磧甯�","value":"510183"},{"label":"宕囧窞甯�","value":"510184"},{"label":"绠�闃冲競","value":"510185"}],[{"label":"鑷祦浜曞尯","value":"510302"},{"label":"璐′簳鍖�","value":"510303"},{"label":"澶у畨鍖�","value":"510304"},{"label":"娌挎哗鍖�","value":"510311"},{"label":"鑽e幙","value":"510321"},{"label":"瀵岄『鍘�","value":"510322"}],[{"label":"涓滃尯","value":"510402"},{"label":"瑗垮尯","value":"510403"},{"label":"浠佸拰鍖�","value":"510411"},{"label":"绫虫槗鍘�","value":"510421"},{"label":"鐩愯竟鍘�","value":"510422"}],[{"label":"姹熼槼鍖�","value":"510502"},{"label":"绾虫邯鍖�","value":"510503"},{"label":"榫欓┈娼尯","value":"510504"},{"label":"娉稿幙","value":"510521"},{"label":"鍚堟睙鍘�","value":"510522"},{"label":"鍙欐案鍘�","value":"510524"},{"label":"鍙よ敽鍘�","value":"510525"}],[{"label":"鏃岄槼鍖�","value":"510603"},{"label":"缃楁睙鍖�","value":"510604"},{"label":"涓睙鍘�","value":"510623"},{"label":"骞挎眽甯�","value":"510681"},{"label":"浠�閭″競","value":"510682"},{"label":"缁电甯�","value":"510683"}],[{"label":"娑煄鍖�","value":"510703"},{"label":"娓镐粰鍖�","value":"510704"},{"label":"瀹夊窞鍖�","value":"510705"},{"label":"涓夊彴鍘�","value":"510722"},{"label":"鐩愪涵鍘�","value":"510723"},{"label":"姊撴郊鍘�","value":"510725"},{"label":"鍖楀窛缇屾棌鑷不鍘�","value":"510726"},{"label":"骞虫鍘�","value":"510727"},{"label":"姹熸补甯�","value":"510781"}],[{"label":"鍒╁窞鍖�","value":"510802"},{"label":"鏄寲鍖�","value":"510811"},{"label":"鏈濆ぉ鍖�","value":"510812"},{"label":"鏃鸿媿鍘�","value":"510821"},{"label":"闈掑窛鍘�","value":"510822"},{"label":"鍓戦榿鍘�","value":"510823"},{"label":"鑻嶆邯鍘�","value":"510824"}],[{"label":"鑸瑰北鍖�","value":"510903"},{"label":"瀹夊眳鍖�","value":"510904"},{"label":"钃邯鍘�","value":"510921"},{"label":"灏勬椽鍘�","value":"510922"},{"label":"澶ц嫳鍘�","value":"510923"}],[{"label":"甯備腑鍖�","value":"511002"},{"label":"涓滃叴鍖�","value":"511011"},{"label":"濞佽繙鍘�","value":"511024"},{"label":"璧勪腑鍘�","value":"511025"},{"label":"鍐呮睙缁忔祹寮�鍙戝尯","value":"511071"},{"label":"闅嗘槍甯�","value":"511083"}],[{"label":"甯備腑鍖�","value":"511102"},{"label":"娌欐咕鍖�","value":"511111"},{"label":"浜旈�氭ˉ鍖�","value":"511112"},{"label":"閲戝彛娌冲尯","value":"511113"},{"label":"鐘嶄负鍘�","value":"511123"},{"label":"浜曠爺鍘�","value":"511124"},{"label":"澶规睙鍘�","value":"511126"},{"label":"娌愬窛鍘�","value":"511129"},{"label":"宄ㄨ竟褰濇棌鑷不鍘�","value":"511132"},{"label":"椹竟褰濇棌鑷不鍘�","value":"511133"},{"label":"宄ㄧ湁灞卞競","value":"511181"}],[{"label":"椤哄簡鍖�","value":"511302"},{"label":"楂樺潽鍖�","value":"511303"},{"label":"鍢夐櫟鍖�","value":"511304"},{"label":"鍗楅儴鍘�","value":"511321"},{"label":"钀ュ北鍘�","value":"511322"},{"label":"钃畨鍘�","value":"511323"},{"label":"浠檱鍘�","value":"511324"},{"label":"瑗垮厖鍘�","value":"511325"},{"label":"闃嗕腑甯�","value":"511381"}],[{"label":"涓滃潯鍖�","value":"511402"},{"label":"褰北鍖�","value":"511403"},{"label":"浠佸鍘�","value":"511421"},{"label":"娲泤鍘�","value":"511423"},{"label":"涓规1鍘�","value":"511424"},{"label":"闈掔鍘�","value":"511425"}],[{"label":"缈犲睆鍖�","value":"511502"},{"label":"鍗楁邯鍖�","value":"511503"},{"label":"瀹滃鍘�","value":"511521"},{"label":"姹熷畨鍘�","value":"511523"},{"label":"闀垮畞鍘�","value":"511524"},{"label":"楂樺幙","value":"511525"},{"label":"鐝欏幙","value":"511526"},{"label":"绛犺繛鍘�","value":"511527"},{"label":"鍏存枃鍘�","value":"511528"},{"label":"灞忓北鍘�","value":"511529"}],[{"label":"骞垮畨鍖�","value":"511602"},{"label":"鍓嶉攱鍖�","value":"511603"},{"label":"宀虫睜鍘�","value":"511621"},{"label":"姝﹁儨鍘�","value":"511622"},{"label":"閭绘按鍘�","value":"511623"},{"label":"鍗庤摜甯�","value":"511681"}],[{"label":"閫氬窛鍖�","value":"511702"},{"label":"杈惧窛鍖�","value":"511703"},{"label":"瀹f眽鍘�","value":"511722"},{"label":"寮�姹熷幙","value":"511723"},{"label":"澶х鍘�","value":"511724"},{"label":"娓犲幙","value":"511725"},{"label":"杈惧窞缁忔祹寮�鍙戝尯","value":"511771"},{"label":"涓囨簮甯�","value":"511781"}],[{"label":"闆ㄥ煄鍖�","value":"511802"},{"label":"鍚嶅北鍖�","value":"511803"},{"label":"鑽ョ粡鍘�","value":"511822"},{"label":"姹夋簮鍘�","value":"511823"},{"label":"鐭虫鍘�","value":"511824"},{"label":"澶╁叏鍘�","value":"511825"},{"label":"鑺﹀北鍘�","value":"511826"},{"label":"瀹濆叴鍘�","value":"511827"}],[{"label":"宸村窞鍖�","value":"511902"},{"label":"鎭╅槼鍖�","value":"511903"},{"label":"閫氭睙鍘�","value":"511921"},{"label":"鍗楁睙鍘�","value":"511922"},{"label":"骞虫槍鍘�","value":"511923"},{"label":"宸翠腑缁忔祹寮�鍙戝尯","value":"511971"}],[{"label":"闆佹睙鍖�","value":"512002"},{"label":"瀹夊渤鍘�","value":"512021"},{"label":"涔愯嚦鍘�","value":"512022"}],[{"label":"椹皵搴峰競","value":"513201"},{"label":"姹跺窛鍘�","value":"513221"},{"label":"鐞嗗幙","value":"513222"},{"label":"鑼傚幙","value":"513223"},{"label":"鏉炬綐鍘�","value":"513224"},{"label":"涔濆娌熷幙","value":"513225"},{"label":"閲戝窛鍘�","value":"513226"},{"label":"灏忛噾鍘�","value":"513227"},{"label":"榛戞按鍘�","value":"513228"},{"label":"澹ゅ鍘�","value":"513230"},{"label":"闃垮潩鍘�","value":"513231"},{"label":"鑻ュ皵鐩栧幙","value":"513232"},{"label":"绾㈠師鍘�","value":"513233"}],[{"label":"搴峰畾甯�","value":"513301"},{"label":"娉稿畾鍘�","value":"513322"},{"label":"涓瑰反鍘�","value":"513323"},{"label":"涔濋緳鍘�","value":"513324"},{"label":"闆呮睙鍘�","value":"513325"},{"label":"閬撳瓪鍘�","value":"513326"},{"label":"鐐夐湇鍘�","value":"513327"},{"label":"鐢樺瓬鍘�","value":"513328"},{"label":"鏂伴緳鍘�","value":"513329"},{"label":"寰锋牸鍘�","value":"513330"},{"label":"鐧界帀鍘�","value":"513331"},{"label":"鐭虫笭鍘�","value":"513332"},{"label":"鑹茶揪鍘�","value":"513333"},{"label":"鐞嗗鍘�","value":"513334"},{"label":"宸村鍘�","value":"513335"},{"label":"涔″煄鍘�","value":"513336"},{"label":"绋诲煄鍘�","value":"513337"},{"label":"寰楄崳鍘�","value":"513338"}],[{"label":"瑗挎槍甯�","value":"513401"},{"label":"鏈ㄩ噷钘忔棌鑷不鍘�","value":"513422"},{"label":"鐩愭簮鍘�","value":"513423"},{"label":"寰锋槍鍘�","value":"513424"},{"label":"浼氱悊鍘�","value":"513425"},{"label":"浼氫笢鍘�","value":"513426"},{"label":"瀹佸崡鍘�","value":"513427"},{"label":"鏅牸鍘�","value":"513428"},{"label":"甯冩嫋鍘�","value":"513429"},{"label":"閲戦槼鍘�","value":"513430"},{"label":"鏄鍘�","value":"513431"},{"label":"鍠滃痉鍘�","value":"513432"},{"label":"鍐曞畞鍘�","value":"513433"},{"label":"瓒婅タ鍘�","value":"513434"},{"label":"鐢樻礇鍘�","value":"513435"},{"label":"缇庡鍘�","value":"513436"},{"label":"闆锋尝鍘�","value":"513437"}]],[[{"label":"鍗楁槑鍖�","value":"520102"},{"label":"浜戝博鍖�","value":"520103"},{"label":"鑺辨邯鍖�","value":"520111"},{"label":"涔屽綋鍖�","value":"520112"},{"label":"鐧戒簯鍖�","value":"520113"},{"label":"瑙傚北婀栧尯","value":"520115"},{"label":"寮�闃冲幙","value":"520121"},{"label":"鎭兘鍘�","value":"520122"},{"label":"淇枃鍘�","value":"520123"},{"label":"娓呴晣甯�","value":"520181"}],[{"label":"閽熷北鍖�","value":"520201"},{"label":"鍏灊鐗瑰尯","value":"520203"},{"label":"姘村煄鍘�","value":"520221"},{"label":"鐩樺窞甯�","value":"520281"}],[{"label":"绾㈣姳宀楀尯","value":"520302"},{"label":"姹囧窛鍖�","value":"520303"},{"label":"鎾窞鍖�","value":"520304"},{"label":"妗愭鍘�","value":"520322"},{"label":"缁ラ槼鍘�","value":"520323"},{"label":"姝e畨鍘�","value":"520324"},{"label":"閬撶湡浠′浆鏃忚嫍鏃忚嚜娌诲幙","value":"520325"},{"label":"鍔″窛浠′浆鏃忚嫍鏃忚嚜娌诲幙","value":"520326"},{"label":"鍑ゅ唸鍘�","value":"520327"},{"label":"婀勬江鍘�","value":"520328"},{"label":"浣欏簡鍘�","value":"520329"},{"label":"涔犳按鍘�","value":"520330"},{"label":"璧ゆ按甯�","value":"520381"},{"label":"浠佹��甯�","value":"520382"}],[{"label":"瑗跨鍖�","value":"520402"},{"label":"骞冲潩鍖�","value":"520403"},{"label":"鏅畾鍘�","value":"520422"},{"label":"闀囧畞甯冧緷鏃忚嫍鏃忚嚜娌诲幙","value":"520423"},{"label":"鍏冲箔甯冧緷鏃忚嫍鏃忚嚜娌诲幙","value":"520424"},{"label":"绱簯鑻楁棌甯冧緷鏃忚嚜娌诲幙","value":"520425"}],[{"label":"涓冩槦鍏冲尯","value":"520502"},{"label":"澶ф柟鍘�","value":"520521"},{"label":"榛旇タ鍘�","value":"520522"},{"label":"閲戞矙鍘�","value":"520523"},{"label":"缁囬噾鍘�","value":"520524"},{"label":"绾抽泹鍘�","value":"520525"},{"label":"濞佸畞褰濇棌鍥炴棌鑻楁棌鑷不鍘�","value":"520526"},{"label":"璧珷鍘�","value":"520527"}],[{"label":"纰ф睙鍖�","value":"520602"},{"label":"涓囧北鍖�","value":"520603"},{"label":"姹熷彛鍘�","value":"520621"},{"label":"鐜夊睆渚楁棌鑷不鍘�","value":"520622"},{"label":"鐭抽槨鍘�","value":"520623"},{"label":"鎬濆崡鍘�","value":"520624"},{"label":"鍗版睙鍦熷鏃忚嫍鏃忚嚜娌诲幙","value":"520625"},{"label":"寰锋睙鍘�","value":"520626"},{"label":"娌挎渤鍦熷鏃忚嚜娌诲幙","value":"520627"},{"label":"鏉炬鑻楁棌鑷不鍘�","value":"520628"}],[{"label":"鍏翠箟甯�","value":"522301"},{"label":"鍏翠粊鍘�","value":"522322"},{"label":"鏅畨鍘�","value":"522323"},{"label":"鏅撮殕鍘�","value":"522324"},{"label":"璐炰赴鍘�","value":"522325"},{"label":"鏈涜盁鍘�","value":"522326"},{"label":"鍐屼酣鍘�","value":"522327"},{"label":"瀹夐緳鍘�","value":"522328"}],[{"label":"鍑噷甯�","value":"522601"},{"label":"榛勫钩鍘�","value":"522622"},{"label":"鏂界鍘�","value":"522623"},{"label":"涓夌鍘�","value":"522624"},{"label":"闀囪繙鍘�","value":"522625"},{"label":"宀戝珐鍘�","value":"522626"},{"label":"澶╂煴鍘�","value":"522627"},{"label":"閿﹀睆鍘�","value":"522628"},{"label":"鍓戞渤鍘�","value":"522629"},{"label":"鍙版睙鍘�","value":"522630"},{"label":"榛庡钩鍘�","value":"522631"},{"label":"姒曟睙鍘�","value":"522632"},{"label":"浠庢睙鍘�","value":"522633"},{"label":"闆峰北鍘�","value":"522634"},{"label":"楹绘睙鍘�","value":"522635"},{"label":"涓瑰鍘�","value":"522636"}],[{"label":"閮藉寑甯�","value":"522701"},{"label":"绂忔硥甯�","value":"522702"},{"label":"鑽旀尝鍘�","value":"522722"},{"label":"璐靛畾鍘�","value":"522723"},{"label":"鐡畨鍘�","value":"522725"},{"label":"鐙北鍘�","value":"522726"},{"label":"骞冲鍘�","value":"522727"},{"label":"缃楃敻鍘�","value":"522728"},{"label":"闀块『鍘�","value":"522729"},{"label":"榫欓噷鍘�","value":"522730"},{"label":"鎯犳按鍘�","value":"522731"},{"label":"涓夐兘姘存棌鑷不鍘�","value":"522732"}]],[[{"label":"浜斿崕鍖�","value":"530102"},{"label":"鐩橀緳鍖�","value":"530103"},{"label":"瀹樻浮鍖�","value":"530111"},{"label":"瑗垮北鍖�","value":"530112"},{"label":"涓滃窛鍖�","value":"530113"},{"label":"鍛堣础鍖�","value":"530114"},{"label":"鏅嬪畞鍖�","value":"530115"},{"label":"瀵屾皯鍘�","value":"530124"},{"label":"瀹滆壇鍘�","value":"530125"},{"label":"鐭虫灄褰濇棌鑷不鍘�","value":"530126"},{"label":"宓╂槑鍘�","value":"530127"},{"label":"绂勫姖褰濇棌鑻楁棌鑷不鍘�","value":"530128"},{"label":"瀵荤敻鍥炴棌褰濇棌鑷不鍘�","value":"530129"},{"label":"瀹夊畞甯�","value":"530181"}],[{"label":"楹掗簾鍖�","value":"530302"},{"label":"娌剧泭鍖�","value":"530303"},{"label":"椹緳鍘�","value":"530321"},{"label":"闄嗚壇鍘�","value":"530322"},{"label":"甯堝畻鍘�","value":"530323"},{"label":"缃楀钩鍘�","value":"530324"},{"label":"瀵屾簮鍘�","value":"530325"},{"label":"浼氭辰鍘�","value":"530326"},{"label":"瀹e▉甯�","value":"530381"}],[{"label":"绾㈠鍖�","value":"530402"},{"label":"姹熷窛鍖�","value":"530403"},{"label":"婢勬睙鍘�","value":"530422"},{"label":"閫氭捣鍘�","value":"530423"},{"label":"鍗庡畞鍘�","value":"530424"},{"label":"鏄撻棬鍘�","value":"530425"},{"label":"宄ㄥ北褰濇棌鑷不鍘�","value":"530426"},{"label":"鏂板钩褰濇棌鍌f棌鑷不鍘�","value":"530427"},{"label":"鍏冩睙鍝堝凹鏃忓綕鏃忓偅鏃忚嚜娌诲幙","value":"530428"}],[{"label":"闅嗛槼鍖�","value":"530502"},{"label":"鏂界敻鍘�","value":"530521"},{"label":"榫欓櫟鍘�","value":"530523"},{"label":"鏄屽畞鍘�","value":"530524"},{"label":"鑵惧啿甯�","value":"530581"}],[{"label":"鏄槼鍖�","value":"530602"},{"label":"椴佺敻鍘�","value":"530621"},{"label":"宸у鍘�","value":"530622"},{"label":"鐩愭触鍘�","value":"530623"},{"label":"澶у叧鍘�","value":"530624"},{"label":"姘稿杽鍘�","value":"530625"},{"label":"缁ユ睙鍘�","value":"530626"},{"label":"闀囬泟鍘�","value":"530627"},{"label":"褰濊壇鍘�","value":"530628"},{"label":"濞佷俊鍘�","value":"530629"},{"label":"姘村瘜鍘�","value":"530630"}],[{"label":"鍙ゅ煄鍖�","value":"530702"},{"label":"鐜夐緳绾宠タ鏃忚嚜娌诲幙","value":"530721"},{"label":"姘歌儨鍘�","value":"530722"},{"label":"鍗庡潽鍘�","value":"530723"},{"label":"瀹佽挆褰濇棌鑷不鍘�","value":"530724"}],[{"label":"鎬濊寘鍖�","value":"530802"},{"label":"瀹佹幢鍝堝凹鏃忓綕鏃忚嚜娌诲幙","value":"530821"},{"label":"澧ㄦ睙鍝堝凹鏃忚嚜娌诲幙","value":"530822"},{"label":"鏅笢褰濇棌鑷不鍘�","value":"530823"},{"label":"鏅胺鍌f棌褰濇棌鑷不鍘�","value":"530824"},{"label":"闀囨矃褰濇棌鍝堝凹鏃忔媺绁滄棌鑷不鍘�","value":"530825"},{"label":"姹熷煄鍝堝凹鏃忓綕鏃忚嚜娌诲幙","value":"530826"},{"label":"瀛熻繛鍌f棌鎷夌鏃忎饯鏃忚嚜娌诲幙","value":"530827"},{"label":"婢滄钵鎷夌鏃忚嚜娌诲幙","value":"530828"},{"label":"瑗跨洘浣ゆ棌鑷不鍘�","value":"530829"}],[{"label":"涓寸繑鍖�","value":"530902"},{"label":"鍑ゅ簡鍘�","value":"530921"},{"label":"浜戝幙","value":"530922"},{"label":"姘稿痉鍘�","value":"530923"},{"label":"闀囧悍鍘�","value":"530924"},{"label":"鍙屾睙鎷夌鏃忎饯鏃忓竷鏈楁棌鍌f棌鑷不鍘�","value":"530925"},{"label":"鑰块┈鍌f棌浣ゆ棌鑷不鍘�","value":"530926"},{"label":"娌ф簮浣ゆ棌鑷不鍘�","value":"530927"}],[{"label":"妤氶泟甯�","value":"532301"},{"label":"鍙屾煆鍘�","value":"532322"},{"label":"鐗熷畾鍘�","value":"532323"},{"label":"鍗楀崕鍘�","value":"532324"},{"label":"濮氬畨鍘�","value":"532325"},{"label":"澶у鍘�","value":"532326"},{"label":"姘镐粊鍘�","value":"532327"},{"label":"鍏冭皨鍘�","value":"532328"},{"label":"姝﹀畾鍘�","value":"532329"},{"label":"绂勪赴鍘�","value":"532331"}],[{"label":"涓棫甯�","value":"532501"},{"label":"寮�杩滃競","value":"532502"},{"label":"钂欒嚜甯�","value":"532503"},{"label":"寮ュ嫆甯�","value":"532504"},{"label":"灞忚竟鑻楁棌鑷不鍘�","value":"532523"},{"label":"寤烘按鍘�","value":"532524"},{"label":"鐭冲睆鍘�","value":"532525"},{"label":"娉歌タ鍘�","value":"532527"},{"label":"鍏冮槼鍘�","value":"532528"},{"label":"绾㈡渤鍘�","value":"532529"},{"label":"閲戝钩鑻楁棌鐟舵棌鍌f棌鑷不鍘�","value":"532530"},{"label":"缁挎槬鍘�","value":"532531"},{"label":"娌冲彛鐟舵棌鑷不鍘�","value":"532532"}],[{"label":"鏂囧北甯�","value":"532601"},{"label":"鐮氬北鍘�","value":"532622"},{"label":"瑗跨暣鍘�","value":"532623"},{"label":"楹绘牀鍧″幙","value":"532624"},{"label":"椹叧鍘�","value":"532625"},{"label":"涓樺寳鍘�","value":"532626"},{"label":"骞垮崡鍘�","value":"532627"},{"label":"瀵屽畞鍘�","value":"532628"}],[{"label":"鏅椽甯�","value":"532801"},{"label":"鍕愭捣鍘�","value":"532822"},{"label":"鍕愯厞鍘�","value":"532823"}],[{"label":"澶х悊甯�","value":"532901"},{"label":"婕炬繛褰濇棌鑷不鍘�","value":"532922"},{"label":"绁ヤ簯鍘�","value":"532923"},{"label":"瀹惧窛鍘�","value":"532924"},{"label":"寮ユ浮鍘�","value":"532925"},{"label":"鍗楁锭褰濇棌鑷不鍘�","value":"532926"},{"label":"宸嶅北褰濇棌鍥炴棌鑷不鍘�","value":"532927"},{"label":"姘稿钩鍘�","value":"532928"},{"label":"浜戦緳鍘�","value":"532929"},{"label":"娲辨簮鍘�","value":"532930"},{"label":"鍓戝窛鍘�","value":"532931"},{"label":"楣ゅ簡鍘�","value":"532932"}],[{"label":"鐟炰附甯�","value":"533102"},{"label":"鑺掑競","value":"533103"},{"label":"姊佹渤鍘�","value":"533122"},{"label":"鐩堟睙鍘�","value":"533123"},{"label":"闄囧窛鍘�","value":"533124"}],[{"label":"娉告按甯�","value":"533301"},{"label":"绂忚础鍘�","value":"533323"},{"label":"璐″北鐙緳鏃忔�掓棌鑷不鍘�","value":"533324"},{"label":"鍏板潽鐧芥棌鏅背鏃忚嚜娌诲幙","value":"533325"}],[{"label":"棣欐牸閲屾媺甯�","value":"533401"},{"label":"寰烽挦鍘�","value":"533422"},{"label":"缁磋タ鍌堝兂鏃忚嚜娌诲幙","value":"533423"}]],[[{"label":"鍩庡叧鍖�","value":"540102"},{"label":"鍫嗛緳寰峰簡鍖�","value":"540103"},{"label":"鏋楀懆鍘�","value":"540121"},{"label":"褰撻泟鍘�","value":"540122"},{"label":"灏兼湪鍘�","value":"540123"},{"label":"鏇叉按鍘�","value":"540124"},{"label":"杈惧瓬鍘�","value":"540126"},{"label":"澧ㄧ宸ュ崱鍘�","value":"540127"},{"label":"鏍煎皵鏈ㄨ棌闈掑伐涓氬洯鍖�","value":"540171"},{"label":"鎷夎惃缁忔祹鎶�鏈紑鍙戝尯","value":"540172"},{"label":"瑗胯棌鏂囧寲鏃呮父鍒涙剰鍥尯","value":"540173"},{"label":"杈惧瓬宸ヤ笟鍥尯","value":"540174"}],[{"label":"妗戠彔瀛滃尯","value":"540202"},{"label":"鍗楁湪鏋楀幙","value":"540221"},{"label":"姹熷瓬鍘�","value":"540222"},{"label":"瀹氭棩鍘�","value":"540223"},{"label":"钀ㄨ喀鍘�","value":"540224"},{"label":"鎷夊瓬鍘�","value":"540225"},{"label":"鏄備粊鍘�","value":"540226"},{"label":"璋㈤�氶棬鍘�","value":"540227"},{"label":"鐧芥湕鍘�","value":"540228"},{"label":"浠佸竷鍘�","value":"540229"},{"label":"搴烽┈鍘�","value":"540230"},{"label":"瀹氱粨鍘�","value":"540231"},{"label":"浠插反鍘�","value":"540232"},{"label":"浜氫笢鍘�","value":"540233"},{"label":"鍚夐殕鍘�","value":"540234"},{"label":"鑱傛媺鏈ㄥ幙","value":"540235"},{"label":"钀ㄥ槑鍘�","value":"540236"},{"label":"宀楀反鍘�","value":"540237"}],[{"label":"鍗¤嫢鍖�","value":"540302"},{"label":"姹熻揪鍘�","value":"540321"},{"label":"璐¤鍘�","value":"540322"},{"label":"绫讳箤榻愬幙","value":"540323"},{"label":"涓侀潚鍘�","value":"540324"},{"label":"瀵熼泤鍘�","value":"540325"},{"label":"鍏鍘�","value":"540326"},{"label":"宸﹁础鍘�","value":"540327"},{"label":"鑺掑悍鍘�","value":"540328"},{"label":"娲涢殕鍘�","value":"540329"},{"label":"杈瑰潩鍘�","value":"540330"}],[{"label":"宸村疁鍖�","value":"540402"},{"label":"宸ュ竷姹熻揪鍘�","value":"540421"},{"label":"绫虫灄鍘�","value":"540422"},{"label":"澧ㄨ劚鍘�","value":"540423"},{"label":"娉㈠瘑鍘�","value":"540424"},{"label":"瀵熼殔鍘�","value":"540425"},{"label":"鏈楀幙","value":"540426"}],[{"label":"涔冧笢鍖�","value":"540502"},{"label":"鎵庡泭鍘�","value":"540521"},{"label":"璐″槑鍘�","value":"540522"},{"label":"妗戞棩鍘�","value":"540523"},{"label":"鐞肩粨鍘�","value":"540524"},{"label":"鏇叉澗鍘�","value":"540525"},{"label":"鎺編鍘�","value":"540526"},{"label":"娲涙墡鍘�","value":"540527"},{"label":"鍔犳煡鍘�","value":"540528"},{"label":"闅嗗瓙鍘�","value":"540529"},{"label":"閿欓偅鍘�","value":"540530"},{"label":"娴崱瀛愬幙","value":"540531"}],[{"label":"閭f洸鍘�","value":"542421"},{"label":"鍢夐粠鍘�","value":"542422"},{"label":"姣斿鍘�","value":"542423"},{"label":"鑱傝崳鍘�","value":"542424"},{"label":"瀹夊鍘�","value":"542425"},{"label":"鐢虫墡鍘�","value":"542426"},{"label":"绱㈠幙","value":"542427"},{"label":"鐝垐鍘�","value":"542428"},{"label":"宸撮潚鍘�","value":"542429"},{"label":"灏肩帥鍘�","value":"542430"},{"label":"鍙屾箹鍘�","value":"542431"}],[{"label":"鏅叞鍘�","value":"542521"},{"label":"鏈揪鍘�","value":"542522"},{"label":"鍣跺皵鍘�","value":"542523"},{"label":"鏃ュ湡鍘�","value":"542524"},{"label":"闈╁悏鍘�","value":"542525"},{"label":"鏀瑰垯鍘�","value":"542526"},{"label":"鎺嫟鍘�","value":"542527"}]],[[{"label":"鏂板煄鍖�","value":"610102"},{"label":"纰戞灄鍖�","value":"610103"},{"label":"鑾叉箹鍖�","value":"610104"},{"label":"鐏炴ˉ鍖�","value":"610111"},{"label":"鏈ぎ鍖�","value":"610112"},{"label":"闆佸鍖�","value":"610113"},{"label":"闃庤壇鍖�","value":"610114"},{"label":"涓存郊鍖�","value":"610115"},{"label":"闀垮畨鍖�","value":"610116"},{"label":"楂橀櫟鍖�","value":"610117"},{"label":"閯犻倯鍖�","value":"610118"},{"label":"钃濈敯鍘�","value":"610122"},{"label":"鍛ㄨ嚦鍘�","value":"610124"}],[{"label":"鐜嬬泭鍖�","value":"610202"},{"label":"鍗板彴鍖�","value":"610203"},{"label":"鑰�宸炲尯","value":"610204"},{"label":"瀹滃悰鍘�","value":"610222"}],[{"label":"娓花鍖�","value":"610302"},{"label":"閲戝彴鍖�","value":"610303"},{"label":"闄堜粨鍖�","value":"610304"},{"label":"鍑ょ繑鍘�","value":"610322"},{"label":"宀愬北鍘�","value":"610323"},{"label":"鎵堕鍘�","value":"610324"},{"label":"鐪夊幙","value":"610326"},{"label":"闄囧幙","value":"610327"},{"label":"鍗冮槼鍘�","value":"610328"},{"label":"楹熸父鍘�","value":"610329"},{"label":"鍑ゅ幙","value":"610330"},{"label":"澶櫧鍘�","value":"610331"}],[{"label":"绉﹂兘鍖�","value":"610402"},{"label":"鏉ㄩ櫟鍖�","value":"610403"},{"label":"娓煄鍖�","value":"610404"},{"label":"涓夊師鍘�","value":"610422"},{"label":"娉鹃槼鍘�","value":"610423"},{"label":"涔惧幙","value":"610424"},{"label":"绀兼硥鍘�","value":"610425"},{"label":"姘稿鍘�","value":"610426"},{"label":"褰幙","value":"610427"},{"label":"闀挎鍘�","value":"610428"},{"label":"鏃倯鍘�","value":"610429"},{"label":"娣冲寲鍘�","value":"610430"},{"label":"姝﹀姛鍘�","value":"610431"},{"label":"鍏村钩甯�","value":"610481"}],[{"label":"涓存腑鍖�","value":"610502"},{"label":"鍗庡窞鍖�","value":"610503"},{"label":"娼煎叧鍘�","value":"610522"},{"label":"澶ц崝鍘�","value":"610523"},{"label":"鍚堥槼鍘�","value":"610524"},{"label":"婢勫煄鍘�","value":"610525"},{"label":"钂插煄鍘�","value":"610526"},{"label":"鐧芥按鍘�","value":"610527"},{"label":"瀵屽钩鍘�","value":"610528"},{"label":"闊╁煄甯�","value":"610581"},{"label":"鍗庨槾甯�","value":"610582"}],[{"label":"瀹濆鍖�","value":"610602"},{"label":"瀹夊鍖�","value":"610603"},{"label":"寤堕暱鍘�","value":"610621"},{"label":"寤跺窛鍘�","value":"610622"},{"label":"瀛愰暱鍘�","value":"610623"},{"label":"蹇椾腹鍘�","value":"610625"},{"label":"鍚磋捣鍘�","value":"610626"},{"label":"鐢樻硥鍘�","value":"610627"},{"label":"瀵屽幙","value":"610628"},{"label":"娲涘窛鍘�","value":"610629"},{"label":"瀹滃窛鍘�","value":"610630"},{"label":"榛勯緳鍘�","value":"610631"},{"label":"榛勯櫟鍘�","value":"610632"}],[{"label":"姹夊彴鍖�","value":"610702"},{"label":"鍗楅儜鍖�","value":"610703"},{"label":"鍩庡浐鍘�","value":"610722"},{"label":"娲嬪幙","value":"610723"},{"label":"瑗夸埂鍘�","value":"610724"},{"label":"鍕夊幙","value":"610725"},{"label":"瀹佸己鍘�","value":"610726"},{"label":"鐣ラ槼鍘�","value":"610727"},{"label":"闀囧反鍘�","value":"610728"},{"label":"鐣欏潩鍘�","value":"610729"},{"label":"浣涘潽鍘�","value":"610730"}],[{"label":"姒嗛槼鍖�","value":"610802"},{"label":"妯北鍖�","value":"610803"},{"label":"搴滆胺鍘�","value":"610822"},{"label":"闈栬竟鍘�","value":"610824"},{"label":"瀹氳竟鍘�","value":"610825"},{"label":"缁ュ痉鍘�","value":"610826"},{"label":"绫宠剛鍘�","value":"610827"},{"label":"浣冲幙","value":"610828"},{"label":"鍚村牎鍘�","value":"610829"},{"label":"娓呮锭鍘�","value":"610830"},{"label":"瀛愭床鍘�","value":"610831"},{"label":"绁炴湪甯�","value":"610881"}],[{"label":"姹夋花鍖�","value":"610902"},{"label":"姹夐槾鍘�","value":"610921"},{"label":"鐭虫硥鍘�","value":"610922"},{"label":"瀹侀檿鍘�","value":"610923"},{"label":"绱槼鍘�","value":"610924"},{"label":"宀氱殝鍘�","value":"610925"},{"label":"骞冲埄鍘�","value":"610926"},{"label":"闀囧潽鍘�","value":"610927"},{"label":"鏃槼鍘�","value":"610928"},{"label":"鐧芥渤鍘�","value":"610929"}],[{"label":"鍟嗗窞鍖�","value":"611002"},{"label":"娲涘崡鍘�","value":"611021"},{"label":"涓瑰嚖鍘�","value":"611022"},{"label":"鍟嗗崡鍘�","value":"611023"},{"label":"灞遍槼鍘�","value":"611024"},{"label":"闀囧畨鍘�","value":"611025"},{"label":"鏌炴按鍘�","value":"611026"}]],[[{"label":"鍩庡叧鍖�","value":"620102"},{"label":"涓冮噷娌冲尯","value":"620103"},{"label":"瑗垮浐鍖�","value":"620104"},{"label":"瀹夊畞鍖�","value":"620105"},{"label":"绾㈠彜鍖�","value":"620111"},{"label":"姘哥櫥鍘�","value":"620121"},{"label":"鐨嬪叞鍘�","value":"620122"},{"label":"姒嗕腑鍘�","value":"620123"},{"label":"鍏板窞鏂板尯","value":"620171"}],[{"label":"鍢夊唱鍏冲競","value":"620201"}],[{"label":"閲戝窛鍖�","value":"620302"},{"label":"姘告槍鍘�","value":"620321"}],[{"label":"鐧介摱鍖�","value":"620402"},{"label":"骞冲窛鍖�","value":"620403"},{"label":"闈栬繙鍘�","value":"620421"},{"label":"浼氬畞鍘�","value":"620422"},{"label":"鏅嘲鍘�","value":"620423"}],[{"label":"绉﹀窞鍖�","value":"620502"},{"label":"楹︾Н鍖�","value":"620503"},{"label":"娓呮按鍘�","value":"620521"},{"label":"绉﹀畨鍘�","value":"620522"},{"label":"鐢樿胺鍘�","value":"620523"},{"label":"姝﹀北鍘�","value":"620524"},{"label":"寮犲宸濆洖鏃忚嚜娌诲幙","value":"620525"}],[{"label":"鍑夊窞鍖�","value":"620602"},{"label":"姘戝嫟鍘�","value":"620621"},{"label":"鍙ゆ氮鍘�","value":"620622"},{"label":"澶╃钘忔棌鑷不鍘�","value":"620623"}],[{"label":"鐢樺窞鍖�","value":"620702"},{"label":"鑲冨崡瑁曞浐鏃忚嚜娌诲幙","value":"620721"},{"label":"姘戜箰鍘�","value":"620722"},{"label":"涓存辰鍘�","value":"620723"},{"label":"楂樺彴鍘�","value":"620724"},{"label":"灞变腹鍘�","value":"620725"}],[{"label":"宕嗗硳鍖�","value":"620802"},{"label":"娉惧窛鍘�","value":"620821"},{"label":"鐏靛彴鍘�","value":"620822"},{"label":"宕囦俊鍘�","value":"620823"},{"label":"鍗庝涵鍘�","value":"620824"},{"label":"搴勬氮鍘�","value":"620825"},{"label":"闈欏畞鍘�","value":"620826"},{"label":"骞冲噳宸ヤ笟鍥尯","value":"620871"}],[{"label":"鑲冨窞鍖�","value":"620902"},{"label":"閲戝鍘�","value":"620921"},{"label":"鐡滃窞鍘�","value":"620922"},{"label":"鑲冨寳钂欏彜鏃忚嚜娌诲幙","value":"620923"},{"label":"闃垮厠濉炲搱钀ㄥ厠鏃忚嚜娌诲幙","value":"620924"},{"label":"鐜夐棬甯�","value":"620981"},{"label":"鏁︾厡甯�","value":"620982"}],[{"label":"瑗垮嘲鍖�","value":"621002"},{"label":"搴嗗煄鍘�","value":"621021"},{"label":"鐜幙","value":"621022"},{"label":"鍗庢睜鍘�","value":"621023"},{"label":"鍚堟按鍘�","value":"621024"},{"label":"姝e畞鍘�","value":"621025"},{"label":"瀹佸幙","value":"621026"},{"label":"闀囧師鍘�","value":"621027"}],[{"label":"瀹夊畾鍖�","value":"621102"},{"label":"閫氭腑鍘�","value":"621121"},{"label":"闄囪タ鍘�","value":"621122"},{"label":"娓簮鍘�","value":"621123"},{"label":"涓存串鍘�","value":"621124"},{"label":"婕冲幙","value":"621125"},{"label":"宀峰幙","value":"621126"}],[{"label":"姝﹂兘鍖�","value":"621202"},{"label":"鎴愬幙","value":"621221"},{"label":"鏂囧幙","value":"621222"},{"label":"瀹曟槍鍘�","value":"621223"},{"label":"搴峰幙","value":"621224"},{"label":"瑗垮拰鍘�","value":"621225"},{"label":"绀煎幙","value":"621226"},{"label":"寰藉幙","value":"621227"},{"label":"涓ゅ綋鍘�","value":"621228"}],[{"label":"涓村甯�","value":"622901"},{"label":"涓村鍘�","value":"622921"},{"label":"搴蜂箰鍘�","value":"622922"},{"label":"姘搁潠鍘�","value":"622923"},{"label":"骞挎渤鍘�","value":"622924"},{"label":"鍜屾斂鍘�","value":"622925"},{"label":"涓滀埂鏃忚嚜娌诲幙","value":"622926"},{"label":"绉煶灞变繚瀹夋棌涓滀埂鏃忔拻鎷夋棌鑷不鍘�","value":"622927"}],[{"label":"鍚堜綔甯�","value":"623001"},{"label":"涓存江鍘�","value":"623021"},{"label":"鍗撳凹鍘�","value":"623022"},{"label":"鑸熸洸鍘�","value":"623023"},{"label":"杩儴鍘�","value":"623024"},{"label":"鐜涙洸鍘�","value":"623025"},{"label":"纰屾洸鍘�","value":"623026"},{"label":"澶忔渤鍘�","value":"623027"}]],[[{"label":"鍩庝笢鍖�","value":"630102"},{"label":"鍩庝腑鍖�","value":"630103"},{"label":"鍩庤タ鍖�","value":"630104"},{"label":"鍩庡寳鍖�","value":"630105"},{"label":"澶ч�氬洖鏃忓湡鏃忚嚜娌诲幙","value":"630121"},{"label":"婀熶腑鍘�","value":"630122"},{"label":"婀熸簮鍘�","value":"630123"}],[{"label":"涔愰兘鍖�","value":"630202"},{"label":"骞冲畨鍖�","value":"630203"},{"label":"姘戝拰鍥炴棌鍦熸棌鑷不鍘�","value":"630222"},{"label":"浜掑姪鍦熸棌鑷不鍘�","value":"630223"},{"label":"鍖栭殕鍥炴棌鑷不鍘�","value":"630224"},{"label":"寰寲鎾掓媺鏃忚嚜娌诲幙","value":"630225"}],[{"label":"闂ㄦ簮鍥炴棌鑷不鍘�","value":"632221"},{"label":"绁佽繛鍘�","value":"632222"},{"label":"娴锋檹鍘�","value":"632223"},{"label":"鍒氬療鍘�","value":"632224"}],[{"label":"鍚屼粊鍘�","value":"632321"},{"label":"灏栨墡鍘�","value":"632322"},{"label":"娉藉簱鍘�","value":"632323"},{"label":"娌冲崡钂欏彜鏃忚嚜娌诲幙","value":"632324"}],[{"label":"鍏卞拰鍘�","value":"632521"},{"label":"鍚屽痉鍘�","value":"632522"},{"label":"璐靛痉鍘�","value":"632523"},{"label":"鍏存捣鍘�","value":"632524"},{"label":"璐靛崡鍘�","value":"632525"}],[{"label":"鐜涙瞾鍘�","value":"632621"},{"label":"鐝帥鍘�","value":"632622"},{"label":"鐢樺痉鍘�","value":"632623"},{"label":"杈炬棩鍘�","value":"632624"},{"label":"涔呮不鍘�","value":"632625"},{"label":"鐜涘鍘�","value":"632626"}],[{"label":"鐜夋爲甯�","value":"632701"},{"label":"鏉傚鍘�","value":"632722"},{"label":"绉板鍘�","value":"632723"},{"label":"娌诲鍘�","value":"632724"},{"label":"鍥婅唉鍘�","value":"632725"},{"label":"鏇查夯鑾卞幙","value":"632726"}],[{"label":"鏍煎皵鏈ㄥ競","value":"632801"},{"label":"寰蜂护鍝堝競","value":"632802"},{"label":"涔屽叞鍘�","value":"632821"},{"label":"閮藉叞鍘�","value":"632822"},{"label":"澶╁郴鍘�","value":"632823"},{"label":"澶ф煷鏃﹁鏀垮鍛樹細","value":"632857"},{"label":"鍐锋箹琛屾斂濮斿憳浼�","value":"632858"},{"label":"鑼礀琛屾斂濮斿憳浼�","value":"632859"}]],[[{"label":"鍏村簡鍖�","value":"640104"},{"label":"瑗垮鍖�","value":"640105"},{"label":"閲戝嚖鍖�","value":"640106"},{"label":"姘稿畞鍘�","value":"640121"},{"label":"璐哄叞鍘�","value":"640122"},{"label":"鐏垫甯�","value":"640181"}],[{"label":"澶ф鍙e尯","value":"640202"},{"label":"鎯犲啘鍖�","value":"640205"},{"label":"骞崇綏鍘�","value":"640221"}],[{"label":"鍒╅�氬尯","value":"640302"},{"label":"绾㈠鍫″尯","value":"640303"},{"label":"鐩愭睜鍘�","value":"640323"},{"label":"鍚屽績鍘�","value":"640324"},{"label":"闈掗摐宄″競","value":"640381"}],[{"label":"鍘熷窞鍖�","value":"640402"},{"label":"瑗垮悏鍘�","value":"640422"},{"label":"闅嗗痉鍘�","value":"640423"},{"label":"娉炬簮鍘�","value":"640424"},{"label":"褰槼鍘�","value":"640425"}],[{"label":"娌欏潯澶村尯","value":"640502"},{"label":"涓畞鍘�","value":"640521"},{"label":"娴峰師鍘�","value":"640522"}]],[[{"label":"澶╁北鍖�","value":"650102"},{"label":"娌欎緷宸村厠鍖�","value":"650103"},{"label":"鏂板競鍖�","value":"650104"},{"label":"姘寸(娌熷尯","value":"650105"},{"label":"澶村悲娌冲尯","value":"650106"},{"label":"杈惧潅鍩庡尯","value":"650107"},{"label":"绫充笢鍖�","value":"650109"},{"label":"涔岄瞾鏈ㄩ綈鍘�","value":"650121"},{"label":"涔岄瞾鏈ㄩ綈缁忔祹鎶�鏈紑鍙戝尯","value":"650171"},{"label":"涔岄瞾鏈ㄩ綈楂樻柊鎶�鏈骇涓氬紑鍙戝尯","value":"650172"}],[{"label":"鐙北瀛愬尯","value":"650202"},{"label":"鍏嬫媺鐜涗緷鍖�","value":"650203"},{"label":"鐧界⒈婊╁尯","value":"650204"},{"label":"涔屽皵绂惧尯","value":"650205"}],[{"label":"楂樻槍鍖�","value":"650402"},{"label":"閯杽鍘�","value":"650421"},{"label":"鎵樺厠閫婂幙","value":"650422"}],[{"label":"浼婂窞鍖�","value":"650502"},{"label":"宸撮噷鍧ゅ搱钀ㄥ厠鑷不鍘�","value":"650521"},{"label":"浼婂惥鍘�","value":"650522"}],[{"label":"鏄屽悏甯�","value":"652301"},{"label":"闃滃悍甯�","value":"652302"},{"label":"鍛煎浘澹佸幙","value":"652323"},{"label":"鐜涚撼鏂幙","value":"652324"},{"label":"濂囧彴鍘�","value":"652325"},{"label":"鍚夋湪钀ㄥ皵鍘�","value":"652327"},{"label":"鏈ㄥ瀿鍝堣惃鍏嬭嚜娌诲幙","value":"652328"}],[{"label":"鍗氫箰甯�","value":"652701"},{"label":"闃挎媺灞卞彛甯�","value":"652702"},{"label":"绮炬渤鍘�","value":"652722"},{"label":"娓╂硥鍘�","value":"652723"}],[{"label":"搴撳皵鍕掑競","value":"652801"},{"label":"杞彴鍘�","value":"652822"},{"label":"灏夌妬鍘�","value":"652823"},{"label":"鑻ョ緦鍘�","value":"652824"},{"label":"涓旀湯鍘�","value":"652825"},{"label":"鐒夎�嗗洖鏃忚嚜娌诲幙","value":"652826"},{"label":"鍜岄潤鍘�","value":"652827"},{"label":"鍜岀鍘�","value":"652828"},{"label":"鍗氭箹鍘�","value":"652829"},{"label":"搴撳皵鍕掔粡娴庢妧鏈紑鍙戝尯","value":"652871"}],[{"label":"闃垮厠鑻忓競","value":"652901"},{"label":"娓╁鍘�","value":"652922"},{"label":"搴撹溅鍘�","value":"652923"},{"label":"娌欓泤鍘�","value":"652924"},{"label":"鏂板拰鍘�","value":"652925"},{"label":"鎷滃煄鍘�","value":"652926"},{"label":"涔屼粈鍘�","value":"652927"},{"label":"闃跨摝鎻愬幙","value":"652928"},{"label":"鏌潽鍘�","value":"652929"}],[{"label":"闃垮浘浠�甯�","value":"653001"},{"label":"闃垮厠闄跺幙","value":"653022"},{"label":"闃垮悎濂囧幙","value":"653023"},{"label":"涔屾伆鍘�","value":"653024"}],[{"label":"鍠�浠�甯�","value":"653101"},{"label":"鐤忛檮鍘�","value":"653121"},{"label":"鐤忓嫆鍘�","value":"653122"},{"label":"鑻卞悏娌欏幙","value":"653123"},{"label":"娉芥櫘鍘�","value":"653124"},{"label":"鑾庤溅鍘�","value":"653125"},{"label":"鍙跺煄鍘�","value":"653126"},{"label":"楹︾洊鎻愬幙","value":"653127"},{"label":"宀虫櫘婀栧幙","value":"653128"},{"label":"浼藉笀鍘�","value":"653129"},{"label":"宸存鍘�","value":"653130"},{"label":"濉斾粈搴撳皵骞插鍚夊厠鑷不鍘�","value":"653131"}],[{"label":"鍜岀敯甯�","value":"653201"},{"label":"鍜岀敯鍘�","value":"653221"},{"label":"澧ㄧ帀鍘�","value":"653222"},{"label":"鐨北鍘�","value":"653223"},{"label":"娲涙郸鍘�","value":"653224"},{"label":"绛栧嫆鍘�","value":"653225"},{"label":"浜庣敯鍘�","value":"653226"},{"label":"姘戜赴鍘�","value":"653227"}],[{"label":"浼婂畞甯�","value":"654002"},{"label":"濂庡悲甯�","value":"654003"},{"label":"闇嶅皵鏋滄柉甯�","value":"654004"},{"label":"浼婂畞鍘�","value":"654021"},{"label":"瀵熷竷鏌ュ皵閿′集鑷不鍘�","value":"654022"},{"label":"闇嶅煄鍘�","value":"654023"},{"label":"宸╃暀鍘�","value":"654024"},{"label":"鏂版簮鍘�","value":"654025"},{"label":"鏄嫃鍘�","value":"654026"},{"label":"鐗瑰厠鏂幙","value":"654027"},{"label":"灏煎嫆鍏嬪幙","value":"654028"}],[{"label":"濉斿煄甯�","value":"654201"},{"label":"涔岃嫃甯�","value":"654202"},{"label":"棰濇晱鍘�","value":"654221"},{"label":"娌欐咕鍘�","value":"654223"},{"label":"鎵橀噷鍘�","value":"654224"},{"label":"瑁曟皯鍘�","value":"654225"},{"label":"鍜屽竷鍏嬭禌灏旇挋鍙よ嚜娌诲幙","value":"654226"}],[{"label":"闃垮嫆娉板競","value":"654301"},{"label":"甯冨皵娲ュ幙","value":"654321"},{"label":"瀵岃暣鍘�","value":"654322"},{"label":"绂忔捣鍘�","value":"654323"},{"label":"鍝堝反娌冲幙","value":"654324"},{"label":"闈掓渤鍘�","value":"654325"},{"label":"鍚夋湪涔冨幙","value":"654326"}],[{"label":"鐭虫渤瀛愬競","value":"659001"},{"label":"闃挎媺灏斿競","value":"659002"},{"label":"鍥炬湪鑸掑厠甯�","value":"659003"},{"label":"浜斿娓犲競","value":"659004"},{"label":"閾侀棬鍏冲競","value":"659006"}]],[[{"label":"鍙板寳","value":"660101"}],[{"label":"楂橀泟","value":"660201"}],[{"label":"鍩洪殕","value":"660301"}],[{"label":"鍙颁腑","value":"660401"}],[{"label":"鍙板崡","value":"660501"}],[{"label":"鏂扮","value":"660601"}],[{"label":"鍢変箟","value":"660701"}],[{"label":"瀹滃叞","value":"660801"}],[{"label":"妗冨洯","value":"660901"}],[{"label":"鑻楁牀","value":"661001"}],[{"label":"褰板寲","value":"661101"}],[{"label":"鍗楁姇","value":"661201"}],[{"label":"浜戞灄","value":"661301"}],[{"label":"灞忎笢","value":"661401"}],[{"label":"鍙颁笢","value":"661501"}],[{"label":"鑺辫幉","value":"661601"}],[{"label":"婢庢箹","value":"661701"}]],[[{"label":"棣欐腐宀�","value":"670101"}],[{"label":"涔濋緳","value":"670201"}],[{"label":"鏂扮晫","value":"670301"}]],[[{"label":"婢抽棬鍗婂矝","value":"680101"}],[{"label":"姘逛粩宀�","value":"680201"}],[{"label":"璺幆宀�","value":"680301"}],[{"label":"璺肮鍩�","value":"680401"}]]];export default areaData;
\ No newline at end of file
diff --git a/src/components/u-city-select/city.js b/src/components/u-city-select/city.js
deleted file mode 100644
index 94169eb..0000000
--- a/src/components/u-city-select/city.js
+++ /dev/null
@@ -1 +0,0 @@
-var cityData=[[{"label":"甯傝緰鍖�","value":"1101"}],[{"label":"甯傝緰鍖�","value":"1201"}],[{"label":"鐭冲搴勫競","value":"1301"},{"label":"鍞愬北甯�","value":"1302"},{"label":"绉︾殗宀涘競","value":"1303"},{"label":"閭兏甯�","value":"1304"},{"label":"閭㈠彴甯�","value":"1305"},{"label":"淇濆畾甯�","value":"1306"},{"label":"寮犲鍙e競","value":"1307"},{"label":"鎵垮痉甯�","value":"1308"},{"label":"娌у窞甯�","value":"1309"},{"label":"寤婂潑甯�","value":"1310"},{"label":"琛℃按甯�","value":"1311"}],[{"label":"澶師甯�","value":"1401"},{"label":"澶у悓甯�","value":"1402"},{"label":"闃虫硥甯�","value":"1403"},{"label":"闀挎不甯�","value":"1404"},{"label":"鏅嬪煄甯�","value":"1405"},{"label":"鏈斿窞甯�","value":"1406"},{"label":"鏅嬩腑甯�","value":"1407"},{"label":"杩愬煄甯�","value":"1408"},{"label":"蹇诲窞甯�","value":"1409"},{"label":"涓存本甯�","value":"1410"},{"label":"鍚曟甯�","value":"1411"}],[{"label":"鍛煎拰娴╃壒甯�","value":"1501"},{"label":"鍖呭ご甯�","value":"1502"},{"label":"涔屾捣甯�","value":"1503"},{"label":"璧ゅ嘲甯�","value":"1504"},{"label":"閫氳窘甯�","value":"1505"},{"label":"閯傚皵澶氭柉甯�","value":"1506"},{"label":"鍛间鸡璐濆皵甯�","value":"1507"},{"label":"宸村溅娣栧皵甯�","value":"1508"},{"label":"涔屽叞瀵熷竷甯�","value":"1509"},{"label":"鍏村畨鐩�","value":"1522"},{"label":"閿℃灄閮嫆鐩�","value":"1525"},{"label":"闃挎媺鍠勭洘","value":"1529"}],[{"label":"娌堥槼甯�","value":"2101"},{"label":"澶ц繛甯�","value":"2102"},{"label":"闉嶅北甯�","value":"2103"},{"label":"鎶氶『甯�","value":"2104"},{"label":"鏈邯甯�","value":"2105"},{"label":"涓逛笢甯�","value":"2106"},{"label":"閿﹀窞甯�","value":"2107"},{"label":"钀ュ彛甯�","value":"2108"},{"label":"闃滄柊甯�","value":"2109"},{"label":"杈介槼甯�","value":"2110"},{"label":"鐩橀敠甯�","value":"2111"},{"label":"閾佸箔甯�","value":"2112"},{"label":"鏈濋槼甯�","value":"2113"},{"label":"钁姦宀涘競","value":"2114"}],[{"label":"闀挎槬甯�","value":"2201"},{"label":"鍚夋灄甯�","value":"2202"},{"label":"鍥涘钩甯�","value":"2203"},{"label":"杈芥簮甯�","value":"2204"},{"label":"閫氬寲甯�","value":"2205"},{"label":"鐧藉北甯�","value":"2206"},{"label":"鏉惧師甯�","value":"2207"},{"label":"鐧藉煄甯�","value":"2208"},{"label":"寤惰竟鏈濋矞鏃忚嚜娌诲窞","value":"2224"}],[{"label":"鍝堝皵婊ㄥ競","value":"2301"},{"label":"榻愰綈鍝堝皵甯�","value":"2302"},{"label":"楦¤タ甯�","value":"2303"},{"label":"楣ゅ矖甯�","value":"2304"},{"label":"鍙岄腑灞卞競","value":"2305"},{"label":"澶у簡甯�","value":"2306"},{"label":"浼婃槬甯�","value":"2307"},{"label":"浣虫湪鏂競","value":"2308"},{"label":"涓冨彴娌冲競","value":"2309"},{"label":"鐗′腹姹熷競","value":"2310"},{"label":"榛戞渤甯�","value":"2311"},{"label":"缁ュ寲甯�","value":"2312"},{"label":"澶у叴瀹夊箔鍦板尯","value":"2327"}],[{"label":"甯傝緰鍖�","value":"3101"}],[{"label":"鍗椾含甯�","value":"3201"},{"label":"鏃犻敗甯�","value":"3202"},{"label":"寰愬窞甯�","value":"3203"},{"label":"甯稿窞甯�","value":"3204"},{"label":"鑻忓窞甯�","value":"3205"},{"label":"鍗楅�氬競","value":"3206"},{"label":"杩炰簯娓競","value":"3207"},{"label":"娣畨甯�","value":"3208"},{"label":"鐩愬煄甯�","value":"3209"},{"label":"鎵窞甯�","value":"3210"},{"label":"闀囨睙甯�","value":"3211"},{"label":"娉板窞甯�","value":"3212"},{"label":"瀹胯縼甯�","value":"3213"}],[{"label":"鏉窞甯�","value":"3301"},{"label":"瀹佹尝甯�","value":"3302"},{"label":"娓╁窞甯�","value":"3303"},{"label":"鍢夊叴甯�","value":"3304"},{"label":"婀栧窞甯�","value":"3305"},{"label":"缁嶅叴甯�","value":"3306"},{"label":"閲戝崕甯�","value":"3307"},{"label":"琛㈠窞甯�","value":"3308"},{"label":"鑸熷北甯�","value":"3309"},{"label":"鍙板窞甯�","value":"3310"},{"label":"涓芥按甯�","value":"3311"}],[{"label":"鍚堣偉甯�","value":"3401"},{"label":"鑺滄箹甯�","value":"3402"},{"label":"铓屽煚甯�","value":"3403"},{"label":"娣崡甯�","value":"3404"},{"label":"椹瀺灞卞競","value":"3405"},{"label":"娣寳甯�","value":"3406"},{"label":"閾滈櫟甯�","value":"3407"},{"label":"瀹夊簡甯�","value":"3408"},{"label":"榛勫北甯�","value":"3410"},{"label":"婊佸窞甯�","value":"3411"},{"label":"闃滈槼甯�","value":"3412"},{"label":"瀹垮窞甯�","value":"3413"},{"label":"鍏畨甯�","value":"3415"},{"label":"浜冲窞甯�","value":"3416"},{"label":"姹犲窞甯�","value":"3417"},{"label":"瀹e煄甯�","value":"3418"}],[{"label":"绂忓窞甯�","value":"3501"},{"label":"鍘﹂棬甯�","value":"3502"},{"label":"鑾嗙敯甯�","value":"3503"},{"label":"涓夋槑甯�","value":"3504"},{"label":"娉夊窞甯�","value":"3505"},{"label":"婕冲窞甯�","value":"3506"},{"label":"鍗楀钩甯�","value":"3507"},{"label":"榫欏博甯�","value":"3508"},{"label":"瀹佸痉甯�","value":"3509"}],[{"label":"鍗楁槍甯�","value":"3601"},{"label":"鏅痉闀囧競","value":"3602"},{"label":"钀嶄埂甯�","value":"3603"},{"label":"涔濇睙甯�","value":"3604"},{"label":"鏂颁綑甯�","value":"3605"},{"label":"楣版江甯�","value":"3606"},{"label":"璧e窞甯�","value":"3607"},{"label":"鍚夊畨甯�","value":"3608"},{"label":"瀹滄槬甯�","value":"3609"},{"label":"鎶氬窞甯�","value":"3610"},{"label":"涓婇ザ甯�","value":"3611"}],[{"label":"娴庡崡甯�","value":"3701"},{"label":"闈掑矝甯�","value":"3702"},{"label":"娣勫崥甯�","value":"3703"},{"label":"鏋e簞甯�","value":"3704"},{"label":"涓滆惀甯�","value":"3705"},{"label":"鐑熷彴甯�","value":"3706"},{"label":"娼嶅潑甯�","value":"3707"},{"label":"娴庡畞甯�","value":"3708"},{"label":"娉板畨甯�","value":"3709"},{"label":"濞佹捣甯�","value":"3710"},{"label":"鏃ョ収甯�","value":"3711"},{"label":"鑾辫姕甯�","value":"3712"},{"label":"涓存矀甯�","value":"3713"},{"label":"寰峰窞甯�","value":"3714"},{"label":"鑱婂煄甯�","value":"3715"},{"label":"婊ㄥ窞甯�","value":"3716"},{"label":"鑿忔辰甯�","value":"3717"}],[{"label":"閮戝窞甯�","value":"4101"},{"label":"寮�灏佸競","value":"4102"},{"label":"娲涢槼甯�","value":"4103"},{"label":"骞抽《灞卞競","value":"4104"},{"label":"瀹夐槼甯�","value":"4105"},{"label":"楣ゅ甯�","value":"4106"},{"label":"鏂颁埂甯�","value":"4107"},{"label":"鐒︿綔甯�","value":"4108"},{"label":"婵槼甯�","value":"4109"},{"label":"璁告槍甯�","value":"4110"},{"label":"婕渤甯�","value":"4111"},{"label":"涓夐棬宄″競","value":"4112"},{"label":"鍗楅槼甯�","value":"4113"},{"label":"鍟嗕笜甯�","value":"4114"},{"label":"淇¢槼甯�","value":"4115"},{"label":"鍛ㄥ彛甯�","value":"4116"},{"label":"椹婚┈搴楀競","value":"4117"},{"label":"鐪佺洿杈栧幙绾ц鏀垮尯鍒�","value":"4190"}],[{"label":"姝︽眽甯�","value":"4201"},{"label":"榛勭煶甯�","value":"4202"},{"label":"鍗佸牥甯�","value":"4203"},{"label":"瀹滄槍甯�","value":"4205"},{"label":"瑗勯槼甯�","value":"4206"},{"label":"閯傚窞甯�","value":"4207"},{"label":"鑽嗛棬甯�","value":"4208"},{"label":"瀛濇劅甯�","value":"4209"},{"label":"鑽嗗窞甯�","value":"4210"},{"label":"榛勫唸甯�","value":"4211"},{"label":"鍜稿畞甯�","value":"4212"},{"label":"闅忓窞甯�","value":"4213"},{"label":"鎭╂柦鍦熷鏃忚嫍鏃忚嚜娌诲窞","value":"4228"},{"label":"鐪佺洿杈栧幙绾ц鏀垮尯鍒�","value":"4290"}],[{"label":"闀挎矙甯�","value":"4301"},{"label":"鏍床甯�","value":"4302"},{"label":"婀樻江甯�","value":"4303"},{"label":"琛¢槼甯�","value":"4304"},{"label":"閭甸槼甯�","value":"4305"},{"label":"宀抽槼甯�","value":"4306"},{"label":"甯稿痉甯�","value":"4307"},{"label":"寮犲鐣屽競","value":"4308"},{"label":"鐩婇槼甯�","value":"4309"},{"label":"閮村窞甯�","value":"4310"},{"label":"姘稿窞甯�","value":"4311"},{"label":"鎬�鍖栧競","value":"4312"},{"label":"濞勫簳甯�","value":"4313"},{"label":"婀樿タ鍦熷鏃忚嫍鏃忚嚜娌诲窞","value":"4331"}],[{"label":"骞垮窞甯�","value":"4401"},{"label":"闊跺叧甯�","value":"4402"},{"label":"娣卞湷甯�","value":"4403"},{"label":"鐝犳捣甯�","value":"4404"},{"label":"姹曞ご甯�","value":"4405"},{"label":"浣涘北甯�","value":"4406"},{"label":"姹熼棬甯�","value":"4407"},{"label":"婀涙睙甯�","value":"4408"},{"label":"鑼傚悕甯�","value":"4409"},{"label":"鑲囧簡甯�","value":"4412"},{"label":"鎯犲窞甯�","value":"4413"},{"label":"姊呭窞甯�","value":"4414"},{"label":"姹曞熬甯�","value":"4415"},{"label":"娌虫簮甯�","value":"4416"},{"label":"闃虫睙甯�","value":"4417"},{"label":"娓呰繙甯�","value":"4418"},{"label":"涓滆帪甯�","value":"4419"},{"label":"涓北甯�","value":"4420"},{"label":"娼窞甯�","value":"4451"},{"label":"鎻槼甯�","value":"4452"},{"label":"浜戞诞甯�","value":"4453"}],[{"label":"鍗楀畞甯�","value":"4501"},{"label":"鏌冲窞甯�","value":"4502"},{"label":"妗傛灄甯�","value":"4503"},{"label":"姊у窞甯�","value":"4504"},{"label":"鍖楁捣甯�","value":"4505"},{"label":"闃插煄娓競","value":"4506"},{"label":"閽﹀窞甯�","value":"4507"},{"label":"璐垫腐甯�","value":"4508"},{"label":"鐜夋灄甯�","value":"4509"},{"label":"鐧捐壊甯�","value":"4510"},{"label":"璐哄窞甯�","value":"4511"},{"label":"娌虫睜甯�","value":"4512"},{"label":"鏉ュ甯�","value":"4513"},{"label":"宕囧乏甯�","value":"4514"}],[{"label":"娴峰彛甯�","value":"4601"},{"label":"涓変簹甯�","value":"4602"},{"label":"涓夋矙甯�","value":"4603"},{"label":"鍎嬪窞甯�","value":"4604"},{"label":"鐪佺洿杈栧幙绾ц鏀垮尯鍒�","value":"4690"}],[{"label":"甯傝緰鍖�","value":"5001"},{"label":"鍘�","value":"5002"}],[{"label":"鎴愰兘甯�","value":"5101"},{"label":"鑷础甯�","value":"5103"},{"label":"鏀�鏋濊姳甯�","value":"5104"},{"label":"娉稿窞甯�","value":"5105"},{"label":"寰烽槼甯�","value":"5106"},{"label":"缁甸槼甯�","value":"5107"},{"label":"骞垮厓甯�","value":"5108"},{"label":"閬傚畞甯�","value":"5109"},{"label":"鍐呮睙甯�","value":"5110"},{"label":"涔愬北甯�","value":"5111"},{"label":"鍗楀厖甯�","value":"5113"},{"label":"鐪夊北甯�","value":"5114"},{"label":"瀹滃甯�","value":"5115"},{"label":"骞垮畨甯�","value":"5116"},{"label":"杈惧窞甯�","value":"5117"},{"label":"闆呭畨甯�","value":"5118"},{"label":"宸翠腑甯�","value":"5119"},{"label":"璧勯槼甯�","value":"5120"},{"label":"闃垮潩钘忔棌缇屾棌鑷不宸�","value":"5132"},{"label":"鐢樺瓬钘忔棌鑷不宸�","value":"5133"},{"label":"鍑夊北褰濇棌鑷不宸�","value":"5134"}],[{"label":"璐甸槼甯�","value":"5201"},{"label":"鍏洏姘村競","value":"5202"},{"label":"閬典箟甯�","value":"5203"},{"label":"瀹夐『甯�","value":"5204"},{"label":"姣曡妭甯�","value":"5205"},{"label":"閾滀粊甯�","value":"5206"},{"label":"榛旇タ鍗楀竷渚濇棌鑻楁棌鑷不宸�","value":"5223"},{"label":"榛斾笢鍗楄嫍鏃忎緱鏃忚嚜娌诲窞","value":"5226"},{"label":"榛斿崡甯冧緷鏃忚嫍鏃忚嚜娌诲窞","value":"5227"}],[{"label":"鏄嗘槑甯�","value":"5301"},{"label":"鏇查潠甯�","value":"5303"},{"label":"鐜夋邯甯�","value":"5304"},{"label":"淇濆北甯�","value":"5305"},{"label":"鏄�氬競","value":"5306"},{"label":"涓芥睙甯�","value":"5307"},{"label":"鏅幢甯�","value":"5308"},{"label":"涓存钵甯�","value":"5309"},{"label":"妤氶泟褰濇棌鑷不宸�","value":"5323"},{"label":"绾㈡渤鍝堝凹鏃忓綕鏃忚嚜娌诲窞","value":"5325"},{"label":"鏂囧北澹棌鑻楁棌鑷不宸�","value":"5326"},{"label":"瑗垮弻鐗堢撼鍌f棌鑷不宸�","value":"5328"},{"label":"澶х悊鐧芥棌鑷不宸�","value":"5329"},{"label":"寰峰畯鍌f棌鏅鏃忚嚜娌诲窞","value":"5331"},{"label":"鎬掓睙鍌堝兂鏃忚嚜娌诲窞","value":"5333"},{"label":"杩簡钘忔棌鑷不宸�","value":"5334"}],[{"label":"鎷夎惃甯�","value":"5401"},{"label":"鏃ュ杸鍒欏競","value":"5402"},{"label":"鏄岄兘甯�","value":"5403"},{"label":"鏋楄姖甯�","value":"5404"},{"label":"灞卞崡甯�","value":"5405"},{"label":"閭f洸鍦板尯","value":"5424"},{"label":"闃块噷鍦板尯","value":"5425"}],[{"label":"瑗垮畨甯�","value":"6101"},{"label":"閾滃窛甯�","value":"6102"},{"label":"瀹濋浮甯�","value":"6103"},{"label":"鍜搁槼甯�","value":"6104"},{"label":"娓崡甯�","value":"6105"},{"label":"寤跺畨甯�","value":"6106"},{"label":"姹変腑甯�","value":"6107"},{"label":"姒嗘灄甯�","value":"6108"},{"label":"瀹夊悍甯�","value":"6109"},{"label":"鍟嗘礇甯�","value":"6110"}],[{"label":"鍏板窞甯�","value":"6201"},{"label":"鍢夊唱鍏冲競","value":"6202"},{"label":"閲戞槍甯�","value":"6203"},{"label":"鐧介摱甯�","value":"6204"},{"label":"澶╂按甯�","value":"6205"},{"label":"姝﹀▉甯�","value":"6206"},{"label":"寮犳帠甯�","value":"6207"},{"label":"骞冲噳甯�","value":"6208"},{"label":"閰掓硥甯�","value":"6209"},{"label":"搴嗛槼甯�","value":"6210"},{"label":"瀹氳タ甯�","value":"6211"},{"label":"闄囧崡甯�","value":"6212"},{"label":"涓村鍥炴棌鑷不宸�","value":"6229"},{"label":"鐢樺崡钘忔棌鑷不宸�","value":"6230"}],[{"label":"瑗垮畞甯�","value":"6301"},{"label":"娴蜂笢甯�","value":"6302"},{"label":"娴峰寳钘忔棌鑷不宸�","value":"6322"},{"label":"榛勫崡钘忔棌鑷不宸�","value":"6323"},{"label":"娴峰崡钘忔棌鑷不宸�","value":"6325"},{"label":"鏋滄礇钘忔棌鑷不宸�","value":"6326"},{"label":"鐜夋爲钘忔棌鑷不宸�","value":"6327"},{"label":"娴疯タ钂欏彜鏃忚棌鏃忚嚜娌诲窞","value":"6328"}],[{"label":"閾跺窛甯�","value":"6401"},{"label":"鐭冲槾灞卞競","value":"6402"},{"label":"鍚村繝甯�","value":"6403"},{"label":"鍥哄師甯�","value":"6404"},{"label":"涓崼甯�","value":"6405"}],[{"label":"涔岄瞾鏈ㄩ綈甯�","value":"6501"},{"label":"鍏嬫媺鐜涗緷甯�","value":"6502"},{"label":"鍚愰瞾鐣競","value":"6504"},{"label":"鍝堝瘑甯�","value":"6505"},{"label":"鏄屽悏鍥炴棌鑷不宸�","value":"6523"},{"label":"鍗氬皵濉旀媺钂欏彜鑷不宸�","value":"6527"},{"label":"宸撮煶閮钂欏彜鑷不宸�","value":"6528"},{"label":"闃垮厠鑻忓湴鍖�","value":"6529"},{"label":"鍏嬪瓬鍕掕嫃鏌皵鍏嬪瓬鑷不宸�","value":"6530"},{"label":"鍠�浠�鍦板尯","value":"6531"},{"label":"鍜岀敯鍦板尯","value":"6532"},{"label":"浼婄妬鍝堣惃鍏嬭嚜娌诲窞","value":"6540"},{"label":"濉斿煄鍦板尯","value":"6542"},{"label":"闃垮嫆娉板湴鍖�","value":"6543"},{"label":"鑷不鍖虹洿杈栧幙绾ц鏀垮尯鍒�","value":"6590"}],[{"label":"鍙板寳","value":"6601"},{"label":"楂橀泟","value":"6602"},{"label":"鍩洪殕","value":"6603"},{"label":"鍙颁腑","value":"6604"},{"label":"鍙板崡","value":"6605"},{"label":"鏂扮","value":"6606"},{"label":"鍢変箟","value":"6607"},{"label":"瀹滃叞","value":"6608"},{"label":"妗冨洯","value":"6609"},{"label":"鑻楁牀","value":"6610"},{"label":"褰板寲","value":"6611"},{"label":"鍗楁姇","value":"6612"},{"label":"浜戞灄","value":"6613"},{"label":"灞忎笢","value":"6614"},{"label":"鍙颁笢","value":"6615"},{"label":"鑺辫幉","value":"6616"},{"label":"婢庢箹","value":"6617"}],[{"label":"棣欐腐宀�","value":"6701"},{"label":"涔濋緳","value":"6702"},{"label":"鏂扮晫","value":"6703"}],[{"label":"婢抽棬鍗婂矝","value":"6801"},{"label":"姘逛粩宀�","value":"6802"},{"label":"璺幆宀�","value":"6803"},{"label":"璺肮鍩�","value":"6804"}]];export default cityData;
\ No newline at end of file
diff --git a/src/components/u-city-select/province.js b/src/components/u-city-select/province.js
deleted file mode 100644
index 436b190..0000000
--- a/src/components/u-city-select/province.js
+++ /dev/null
@@ -1 +0,0 @@
-var provinceData=[{"label":"鍖椾含甯�","value":"11"},{"label":"澶╂触甯�","value":"12"},{"label":"娌冲寳鐪�","value":"13"},{"label":"灞辫タ鐪�","value":"14"},{"label":"鍐呰挋鍙よ嚜娌诲尯","value":"15"},{"label":"杈藉畞鐪�","value":"21"},{"label":"鍚夋灄鐪�","value":"22"},{"label":"榛戦緳姹熺渷","value":"23"},{"label":"涓婃捣甯�","value":"31"},{"label":"姹熻嫃鐪�","value":"32"},{"label":"娴欐睙鐪�","value":"33"},{"label":"瀹夊窘鐪�","value":"34"},{"label":"绂忓缓鐪�","value":"35"},{"label":"姹熻タ鐪�","value":"36"},{"label":"灞变笢鐪�","value":"37"},{"label":"娌冲崡鐪�","value":"41"},{"label":"婀栧寳鐪�","value":"42"},{"label":"婀栧崡鐪�","value":"43"},{"label":"骞夸笢鐪�","value":"44"},{"label":"骞胯タ澹棌鑷不鍖�","value":"45"},{"label":"娴峰崡鐪�","value":"46"},{"label":"閲嶅簡甯�","value":"50"},{"label":"鍥涘窛鐪�","value":"51"},{"label":"璐靛窞鐪�","value":"52"},{"label":"浜戝崡鐪�","value":"53"},{"label":"瑗胯棌鑷不鍖�","value":"54"},{"label":"闄曡タ鐪�","value":"61"},{"label":"鐢樿們鐪�","value":"62"},{"label":"闈掓捣鐪�","value":"63"},{"label":"瀹佸鍥炴棌鑷不鍖�","value":"64"},{"label":"鏂扮枂缁村惥灏旇嚜娌诲尯","value":"65"},{"label":"鍙版咕","value":"66"},{"label":"棣欐腐","value":"67"},{"label":"婢抽棬","value":"68"}];export default provinceData;
\ No newline at end of file
diff --git a/src/components/u-city-select/u-city-select.vue b/src/components/u-city-select/u-city-select.vue
deleted file mode 100644
index 6f4eef7..0000000
--- a/src/components/u-city-select/u-city-select.vue
+++ /dev/null
@@ -1,265 +0,0 @@
-<template>
-	<u-popup :show="modelValue" mode="bottom" :popup="false" :mask="true" :closeable="true"
-		:safe-area-inset-bottom="true" close-icon-color="#ffffff" :z-index="uZIndex" :maskCloseAble="maskCloseAble"
-		@close="close">
-		<u-tabs v-if="modelValue" :list="genTabsList" :scrollable="true" :current="tabsIndex" @change="tabsChange"
-			ref="tabs" />
-		<view class="area-box">
-			<view class="u-flex" :class="{ 'change': isChange }">
-				<view class="area-item">
-					<view class="u-padding-10 u-bg-gray" style="height: 100%;">
-						<scroll-view :scroll-y="true" style="height: 100%">
-							<u-cell-group>
-								<u-cell v-for="(item, index) in provinces" :title="item.label" :arrow="false"
-									:index="index" :key="index" @click="provinceChange(index)">
-									<template v-slot:right-icon>
-										<u-icon v-if="isChooseP && province === index" size="17"
-											name="checkbox-mark"></u-icon>
-									</template>
-								</u-cell>
-							</u-cell-group>
-						</scroll-view>
-					</view>
-				</view>
-				<view class="area-item">
-					<view class="u-padding-10 u-bg-gray" style="height: 100%;">
-						<scroll-view :scroll-y="true" style="height: 100%">
-							<u-cell-group v-if="isChooseP">
-								<u-cell v-for="(item, index) in citys" :title="item.label" :arrow="false" :index="index"
-									:key="index" @click="cityChange(index)">
-									<template v-slot:right-icon>
-										<u-icon v-if="isChooseC && city === index" size="17"
-											name="checkbox-mark"></u-icon>
-									</template>
-								</u-cell>
-							</u-cell-group>
-						</scroll-view>
-					</view>
-				</view>
-				<view class="area-item">
-					<view class="u-padding-10 u-bg-gray" style="height: 100%;">
-						<scroll-view :scroll-y="true" style="height: 100%">
-							<u-cell-group v-if="isChooseC">
-								<u-cell v-for="(item, index) in areas" :title="item.label" :arrow="false" :index="index"
-									:key="index" @click="areaChange(index)">
-									<template v-slot:right-icon>
-										<u-icon v-if="isChooseA && area === index" size="17"
-											name="checkbox-mark"></u-icon>
-									</template>
-								</u-cell>
-							</u-cell-group>
-						</scroll-view>
-					</view>
-				</view>
-			</view>
-		</view>
-	</u-popup>
-</template>
-
-<script setup lang="ts">
-import { ref, computed, onMounted, PropType } from 'vue';
-import provincesSource from "./province.js";
-import citysSource from "./city.js";
-import areasSource from "./area.js";
-
-// 瀹氫箟鎺ュ彛
-interface Region {
-	label: string;
-	value: string;
-}
-
-interface CitySelectResult {
-	province: Region;
-	city: Region;
-	area: Region;
-}
-
-interface TabItem {
-	name: string;
-}
-
-// Props 瀹氫箟
-const props = defineProps({
-	// 閫氳繃鍙屽悜缁戝畾鎺у埗缁勪欢鐨勫脊鍑轰笌鏀惰捣
-	modelValue: {
-		type: Boolean,
-		default: false
-	},
-	// 榛樿鏄剧ず鐨勫湴鍖猴紝鍙紶绫讳技["娌冲寳鐪�", "绉︾殗宀涘競", "鍖楁埓娌冲尯"]
-	defaultRegion: {
-		type: Array as PropType<string[]>,
-		default: () => []
-	},
-	// 榛樿鏄剧ず鍦板尯鐨勭紪鐮侊紝defaultRegion鍜宎reaCode鍚屾椂瀛樺湪锛宎reaCode浼樺厛锛屽彲浼犵被浼糩"13", "1303", "130304"]
-	areaCode: {
-		type: Array as PropType<string[]>,
-		default: () => []
-	},
-	// 鏄惁鍏佽閫氳繃鐐瑰嚮閬僵鍏抽棴Picker
-	maskCloseAble: {
-		type: Boolean,
-		default: true
-	},
-	// 寮瑰嚭鐨剒-index鍊�
-	zIndex: {
-		type: [String, Number],
-		default: 0
-	}
-});
-
-// 浜嬩欢瀹氫箟
-const emit = defineEmits<{
-	(e: 'update:modelValue', value: boolean): void;
-	(e: 'close'): void;
-	(e: 'city-change', result: CitySelectResult): void;
-}>();
-
-const cityValue = ref("");
-const isChooseP = ref(false); // 鏄惁宸茬粡閫夋嫨浜嗙渷
-const province = ref(0); // 鐪佺骇涓嬫爣
-const provinces = ref<Region[]>(provincesSource);
-const isChooseC = ref(false); // 鏄惁宸茬粡閫夋嫨浜嗗競
-const city = ref(0); // 甯傜骇涓嬫爣
-const citys = ref<Region[]>(citysSource[0]);
-const isChooseA = ref(false); // 鏄惁宸茬粡閫夋嫨浜嗗尯
-const area = ref(0); // 鍖虹骇涓嬫爣
-const areas = ref<Region[]>(areasSource[0][0]);
-const tabsIndex = ref(0);
-const tabs = ref();
-
-// 璁$畻灞炴��
-const isChange = computed(() => {
-	return tabsIndex.value > 1;
-});
-
-const genTabsList = computed((): TabItem[] => {
-	let tabsList: TabItem[] = [{
-		name: "璇烽�夋嫨"
-	}];
-
-	if (isChooseP.value) {
-		tabsList[0].name = provinces.value[province.value].label;
-		tabsList[1] = {
-			name: "璇烽�夋嫨"
-		};
-	}
-
-	if (isChooseC.value) {
-		tabsList[1].name = citys.value[city.value].label;
-		tabsList[2] = {
-			name: "璇烽�夋嫨"
-		};
-	}
-
-	if (isChooseA.value) {
-		tabsList[2].name = areas.value[area.value].label;
-	}
-
-	return tabsList;
-});
-
-const uZIndex = computed(() => {
-	// 濡傛灉鐢ㄦ埛鏈変紶閫抸-index鍊硷紝浼樺厛浣跨敤
-	return props.zIndex ? props.zIndex : 1075; // 鍋囪$u.zIndex.popup涓�1075
-});
-
-// 鏂规硶
-const setProvince = (label = "", value = "") => {
-	provinces.value.map((v, k) => {
-		if (value ? v.value == value : v.label == label) {
-			provinceChange(k);
-		}
-	});
-};
-
-const setCity = (label = "", value = "") => {
-	citys.value.map((v, k) => {
-		if (value ? v.value == value : v.label == label) {
-			cityChange(k);
-		}
-	});
-};
-
-const setArea = (label = "", value = "") => {
-	areas.value.map((v, k) => {
-		if (value ? v.value == value : v.label == label) {
-			isChooseA.value = true;
-			area.value = k;
-		}
-	});
-};
-
-const close = () => {
-	emit('update:modelValue', false);
-	emit('close');
-};
-
-const tabsChange = (value: { index: number }) => {
-	tabsIndex.value = value.index;
-};
-
-const provinceChange = (index: number) => {
-	isChooseP.value = true;
-	isChooseC.value = false;
-	isChooseA.value = false;
-	province.value = index;
-	citys.value = citysSource[index];
-	tabsIndex.value = 1;
-};
-
-const cityChange = (index: number) => {
-	isChooseC.value = true;
-	isChooseA.value = false;
-	city.value = index;
-	areas.value = areasSource[province.value][index];
-	tabsIndex.value = 2;
-};
-
-const areaChange = (index: number) => {
-	isChooseA.value = true;
-	area.value = index;
-	const result: CitySelectResult = {
-		province: provinces.value[province.value],
-		city: citys.value[city.value],
-		area: areas.value[area.value]
-	};
-	emit('city-change', result);
-	close();
-};
-
-// 鐢熷懡鍛ㄦ湡閽╁瓙
-onMounted(() => {
-	if (props.areaCode.length == 3) {
-		setProvince("", props.areaCode[0]);
-		setCity("", props.areaCode[1]);
-		setArea("", props.areaCode[2]);
-	} else if (props.defaultRegion.length == 3) {
-		setProvince(props.defaultRegion[0], "");
-		setCity(props.defaultRegion[1], "");
-		setArea(props.defaultRegion[2], "");
-	}
-});
-</script>
-
-<style lang="scss">
-.area-box {
-	width: 100%;
-	overflow: hidden;
-	height: 800rpx;
-
-	>view {
-		width: 150%;
-		transition: transform 0.3s ease-in-out 0s;
-		transform: translateX(0);
-
-		&.change {
-			transform: translateX(-33.3333333%);
-		}
-	}
-
-	.area-item {
-		width: 33.3333333%;
-		height: 800rpx;
-	}
-}
-</style>
\ No newline at end of file
diff --git a/src/components/uni-section/uni-section.vue b/src/components/uni-section/uni-section.vue
deleted file mode 100644
index 9a52e0b..0000000
--- a/src/components/uni-section/uni-section.vue
+++ /dev/null
@@ -1,167 +0,0 @@
-<template>
-	<view class="uni-section">
-		<view class="uni-section-header" @click="onClick">
-				<view class="uni-section-header__decoration" v-if="type" :class="type" />
-        <slot v-else name="decoration"></slot>
-
-        <view class="uni-section-header__content">
-          <text :style="{'font-size':titleFontSize,'color':titleColor}" class="uni-section__content-title" :class="{'distraction':!subTitle}">{{ title }}</text>
-          <text v-if="subTitle" :style="{'font-size':subTitleFontSize,'color':subTitleColor}" class="uni-section-header__content-sub">{{ subTitle }}</text>
-        </view>
-
-        <view class="uni-section-header__slot-right">
-          <slot name="right"></slot>
-        </view>
-		</view>
-
-		<view class="uni-section-content" :style="{padding: _padding}">
-			<slot />
-		</view>
-	</view>
-</template>
-
-<script>
-
-	/**
-	 * Section 鏍囬鏍�
-	 * @description 鏍囬鏍�
-	 * @property {String} type = [line|circle|square] 鏍囬瑁呴グ绫诲瀷
-	 * 	@value line 绔栫嚎
-	 * 	@value circle 鍦嗗舰
-	 * 	@value square 姝f柟褰�
-	 * @property {String} title 涓绘爣棰�
-	 * @property {String} titleFontSize 涓绘爣棰樺瓧浣撳ぇ灏�
-	 * @property {String} titleColor 涓绘爣棰樺瓧浣撻鑹�
-	 * @property {String} subTitle 鍓爣棰�
-	 * @property {String} subTitleFontSize 鍓爣棰樺瓧浣撳ぇ灏�
-	 * @property {String} subTitleColor 鍓爣棰樺瓧浣撻鑹�
-	 * @property {String} padding 榛樿鎻掓Ы padding
-	 */
-
-	export default {
-		name: 'UniSection',
-    emits:['click'],
-		props: {
-			type: {
-				type: String,
-				default: ''
-			},
-			title: {
-				type: String,
-				required: true,
-				default: ''
-			},
-      titleFontSize: {
-        type: String,
-        default: '14px'
-      },
-			titleColor:{
-				type: String,
-				default: '#333'
-			},
-			subTitle: {
-				type: String,
-				default: ''
-			},
-      subTitleFontSize: {
-        type: String,
-        default: '12px'
-      },
-      subTitleColor: {
-        type: String,
-        default: '#999'
-      },
-			padding: {
-				type: [Boolean, String],
-				default: false
-			}
-		},
-    computed:{
-      _padding(){
-        if(typeof this.padding === 'string'){
-          return this.padding
-        }
-
-        return this.padding?'10px':''
-      }
-    },
-		watch: {
-			title(newVal) {
-				if (uni.report && newVal !== '') {
-					uni.report('title', newVal)
-				}
-			}
-		},
-    methods: {
-			onClick() {
-				this.$emit('click')
-			}
-		}
-	}
-</script>
-<style lang="scss" >
-	$uni-primary: #2979ff !default;
-
-	.uni-section {
-		background-color: #fff;
-    .uni-section-header {
-      position: relative;
-      /* #ifndef APP-NVUE */
-      display: flex;
-      /* #endif */
-      flex-direction: row;
-      align-items: center;
-      padding: 12px 10px;
-      font-weight: normal;
-
-      &__decoration{
-        margin-right: 6px;
-        background-color: $uni-primary;
-        &.line {
-          width: 4px;
-          height: 12px;
-          border-radius: 10px;
-        }
-
-        &.circle {
-          width: 8px;
-          height: 8px;
-          border-top-right-radius: 50px;
-          border-top-left-radius: 50px;
-          border-bottom-left-radius: 50px;
-          border-bottom-right-radius: 50px;
-        }
-
-        &.square {
-          width: 8px;
-          height: 8px;
-        }
-      }
-
-      &__content {
-        /* #ifndef APP-NVUE */
-        display: flex;
-        /* #endif */
-        flex-direction: column;
-        flex: 1;
-        color: #333;
-
-        .distraction {
-          flex-direction: row;
-          align-items: center;
-        }
-        &-sub {
-          margin-top: 2px;
-        }
-      }
-
-      &__slot-right{
-        font-size: 14px;
-      }
-    }
-
-    .uni-section-content{
-      font-size: 14px;
-    }
-	}
-</style>
diff --git a/src/config.js b/src/config.js
deleted file mode 100644
index 903bc2c..0000000
--- a/src/config.js
+++ /dev/null
@@ -1,31 +0,0 @@
-// 搴旂敤鍏ㄥ眬閰嶇疆
-const config = {
-  //  baseUrl: 'https://vue.ruoyi.vip/prod-api',
-  // baseUrl: 'http://localhost/prod-api',
-  baseUrl: 'http://localhost:8080',
-   //cloud鍚庡彴缃戝叧鍦板潃
-  //  baseUrl: 'http://192.168.10.3:8080',
-   // 搴旂敤淇℃伅
-   appInfo: {
-     // 搴旂敤鍚嶇О
-     name: "ruoyi-app-vue3",
-     // 搴旂敤鐗堟湰
-     version: "1.1.0",
-     // 搴旂敤logo
-     logo: "/static/logo.png",
-     // 瀹樻柟缃戠珯
-     site_url: "http://ruoyi.vip",
-     // 鏀跨瓥鍗忚
-     agreements: [{
-         title: "闅愮鏀跨瓥",
-         url: "https://ruoyi.vip/protocol.html"
-       },
-       {
-         title: "鐢ㄦ埛鏈嶅姟鍗忚",
-         url: "https://ruoyi.vip/protocol.html"
-       }
-     ]
-   }
- }
-
- export default config
\ No newline at end of file
diff --git a/src/directive/common/copyText.ts b/src/directive/common/copyText.ts
deleted file mode 100644
index c73b312..0000000
--- a/src/directive/common/copyText.ts
+++ /dev/null
@@ -1,79 +0,0 @@
-// #ifdef APP-VUE || H5
-/**
-* v-copyText 澶嶅埗鏂囨湰鍐呭
-* Copyright (c) 2022 ruoyi
-* v-copyText="瑕佸鍒剁殑鏂囨湰鍐呭"
-* v-copyText:callback="澶嶅埗鎴愬姛鍚庣殑鍥炶皟鍑芥暟"
-* 鐐瑰嚮琚爣娉ㄧ殑鍏冪礌鍗冲彲澶嶅埗鏂囨湰鍐呭
-*/
-
-import type { Directive, DirectiveBinding } from "vue";
-interface ElType extends HTMLElement {
-  $copyValue: string;
-  $copyCallback: Function;
-  $destroyCopy:Function;
-}
-const vCopyText:Directive = {
-  beforeMount(el:ElType , binding:DirectiveBinding) {
-    if (binding.arg === "callback") {
-      el.$copyCallback = binding.value;
-    } else {
-      el.$copyValue = binding.value;
-      const handler = () => {
-        copyTextToClipboard(el.$copyValue);
-        if (el.$copyCallback) {
-          el.$copyCallback(el.$copyValue);
-        }
-      };
-      el.addEventListener("click", handler);
-      el.$destroyCopy = () => el.removeEventListener("click", handler);
-    }
-  }
-}
-export default vCopyText;
-
-function copyTextToClipboard(input:string, { target = document.body } = {}) {
-  const element = document.createElement('textarea');
-  const previouslyFocusedElement = document.activeElement  as HTMLElement;
-
-  element.value = input;
-
-  // Prevent keyboard from showing on mobile
-  element.setAttribute('readonly', '');
-
-  element.style.contain = 'strict';
-  element.style.position = 'absolute';
-  element.style.left = '-9999px';
-  element.style.fontSize = '12pt'; // Prevent zooming on iOS
-
-  const selection = document.getSelection();
-  if(!selection)return
-  const originalRange = selection.rangeCount > 0 && selection.getRangeAt(0);
-
-  target.append(element);
-  element.select();
-
-  // Explicit selection workaround for iOS
-  element.selectionStart = 0;
-  element.selectionEnd = input.length;
-
-  let isSuccess = false;
-  try {
-    isSuccess = document.execCommand('copy');
-  } catch { }
-
-  element.remove();
-
-  if (originalRange) {
-    selection.removeAllRanges();
-    selection.addRange(originalRange);
-  }
-
-  // Get the focus back on the previously focused element, if any
-  if (previouslyFocusedElement) {
-    previouslyFocusedElement.focus();
-  }
-
-  return isSuccess;
-}
-// #endif
\ No newline at end of file
diff --git a/src/directive/common/focus.ts b/src/directive/common/focus.ts
deleted file mode 100644
index 744ab0c..0000000
--- a/src/directive/common/focus.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import type { Directive } from "vue";
-const vFocus: Directive = {
-    mounted: (el) => el.focus()
-}
-export default vFocus
-
-
diff --git a/src/directive/common/full.ts b/src/directive/common/full.ts
deleted file mode 100644
index 45378dd..0000000
--- a/src/directive/common/full.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import type { Directive } from "vue";
-interface ElType extends HTMLElement {
-    $oldStyle: CSSStyleDeclaration;
-    $fullStyle: CSSStyleDeclaration;
-}
-const vFull: Directive = {
-    mounted: (el: ElType, binding) => {
-        el.$oldStyle = { ...el.style }
-        if (binding.arg === 'screen') {
-            el.$fullStyle = {
-                ...el.style,
-                left: '0',
-                top: '0',
-                zIndex: '8',
-                position: 'fixed',
-                height: '100vh',
-                width: '100vw',
-            }
-        } else {
-            el.$fullStyle = {
-                ...el.style,
-                left: '0',
-                top: '0',
-                zIndex: '8',
-                position: 'absolute',
-                height: '100%',
-                width: '100%',
-            }
-        }
-
-    },
-    updated: (el: ElType, binding) => {
-        function setStyle(el: CSSStyleDeclaration, style: CSSStyleDeclaration) {
-            el.position = style.position
-            el.left = style.left
-            el.top = style.top
-            el.zIndex = style.zIndex
-            el.height = style.height
-            el.width = style.width
-        }
-        if (binding.value) {
-            setStyle(el.style, el.$fullStyle)
-        } else {
-            setStyle(el.style, el.$oldStyle)
-        }
-    }
-}
-export default vFull
-
-
diff --git a/src/directive/index.ts b/src/directive/index.ts
deleted file mode 100644
index bbb6bb7..0000000
--- a/src/directive/index.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-// #ifdef APP-VUE || H5
-import copyText from './common/copyText'
-// #endif
-import hasRole from './permission/hasRole'
-import hasPermi from './permission/hasPermi'
-import focus from './common/focus'
-import full from './common/full'
-import { App } from 'vue'
-
-export default function directive(app: App) {
-  // #ifdef APP-VUE || H5
-  app.directive('copyText', copyText)
-  // #endif
-  app.directive('hasRole', hasRole)
-  app.directive('hasPermi', hasPermi)
-  app.directive('focus', focus)
-  app.directive('full', full)
-}
\ No newline at end of file
diff --git a/src/directive/permission/hasPermi.ts b/src/directive/permission/hasPermi.ts
deleted file mode 100644
index efac852..0000000
--- a/src/directive/permission/hasPermi.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
-* v-hasPermi 鎿嶄綔鏉冮檺澶勭悊
-* Copyright (c) 2019 ruoyi
-*/
-
-import useUserStore from '@/store/modules/user'
-
-import type { Directive } from "vue";
-const vHasPermi: Directive = {
-  mounted(el, binding, vnode) {
-    const { value } = binding
-    const all_permission = "*:*:*";
-    const permissions = useUserStore().permissions
-
-    if (value && value instanceof Array && value.length > 0) {
-      const permissionFlag = value
-
-      const hasPermissions = permissions.some(permission => {
-        return all_permission === permission || permissionFlag.includes(permission)
-      })
-
-      if (!hasPermissions) {
-        el.parentNode && el.parentNode.removeChild(el)
-      }
-    } else {
-      throw new Error(`璇疯缃搷浣滄潈闄愭爣绛惧�糮)
-    }
-  }
-}
-export default vHasPermi
diff --git a/src/directive/permission/hasRole.ts b/src/directive/permission/hasRole.ts
deleted file mode 100644
index 94a2b50..0000000
--- a/src/directive/permission/hasRole.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
-* v-hasRole 瑙掕壊鏉冮檺澶勭悊
-* Copyright (c) 2019 ruoyi
-*/
-
-import useUserStore from '@/store/modules/user'
-import type { Directive } from "vue";
-const vHasRole: Directive = {
-  mounted(el, binding, vnode) {
-    const { value } = binding
-    const super_admin = "admin";
-    const roles = useUserStore().roles
-
-    if (value && value instanceof Array && value.length > 0) {
-      const roleFlag = value
-
-      const hasRole = roles.some(role => {
-        return super_admin === role || roleFlag.includes(role)
-      })
-
-      if (!hasRole) {
-        el.parentNode && el.parentNode.removeChild(el)
-      }
-    } else {
-      throw new Error(`璇疯缃鑹叉潈闄愭爣绛惧�糮)
-    }
-  }
-}
-
-export default vHasRole;
\ No newline at end of file
diff --git a/src/env.d.ts b/src/env.d.ts
deleted file mode 100644
index ff58896..0000000
--- a/src/env.d.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-/// <reference types="vite/client" />
-/// <reference types="@dcloudio/types" />
-
-declare module '*.vue' {
-  import { DefineComponent } from 'vue'
-  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
-  const component: DefineComponent<{}, {}, any>
-  export default component
-}
-declare module "uview-plus";
-declare module 'mqtt/dist/mqtt';
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
deleted file mode 100644
index 021ac8f..0000000
--- a/src/main.js
+++ /dev/null
@@ -1,38 +0,0 @@
-import App from './App.vue'
-import plugins from './plugins'
-import store from './store'
-import uviewPlus from 'uview-plus'
-
-
-import { createSSRApp } from 'vue'
-import directive from './directive' // directive
-
-import { useDict } from '@/utils/dict'
-import { parseTime, resetForm, addDateRange, handleTree, selectDictLabel, selectDictLabels } from '@/utils/ruoyi'
-
-
-
-export function createApp() {
-  const app = createSSRApp(App)
-  app.use(store)
-  app.use(uviewPlus)
-  app.use(plugins)
-
-  // #ifndef MP-WEIXIN
-  // 寰俊灏忕▼搴忎腑涓嶆敮鎸佽嚜瀹氫箟鎸囦护
-  directive(app)
-  // #endif
-
-  // 鍏ㄥ眬鏂规硶鎸傝浇
-  app.config.globalProperties.useDict = useDict
-  app.config.globalProperties.parseTime = parseTime
-  app.config.globalProperties.resetForm = resetForm
-  app.config.globalProperties.handleTree = handleTree
-  app.config.globalProperties.addDateRange = addDateRange
-  app.config.globalProperties.selectDictLabel = selectDictLabel
-  app.config.globalProperties.selectDictLabels = selectDictLabels
-
-  return {
-    app
-  }
-}
diff --git a/src/manifest.json b/src/manifest.json
deleted file mode 100644
index b6206f2..0000000
--- a/src/manifest.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{
-    "name" : "ruoyi-vue3",
-    "appid" : "__UNI__3DD118D",
-    "description" : "",
-    "versionName" : "1.0.0",
-    "versionCode" : "100",
-    "transformPx" : false,
-    /* 5+App鐗规湁鐩稿叧 */
-    "app-plus" : {
-        "usingComponents" : true,
-        "nvueStyleCompiler" : "uni-app",
-        "compilerVersion" : 3,
-        "splashscreen" : {
-            "alwaysShowBeforeRender" : true,
-            "waiting" : true,
-            "autoclose" : true,
-            "delay" : 0
-        },
-        /* 妯″潡閰嶇疆 */
-        "modules" : {},
-        /* 搴旂敤鍙戝竷淇℃伅 */
-        "distribute" : {
-            /* android鎵撳寘閰嶇疆 */
-            "android" : {
-                "permissions" : [
-                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
-                ]
-            },
-            /* ios鎵撳寘閰嶇疆 */
-            "ios" : {},
-            /* SDK閰嶇疆 */
-            "sdkConfigs" : {}
-        }
-    },
-    /* 蹇簲鐢ㄧ壒鏈夌浉鍏� */
-    "quickapp" : {},
-    /* 灏忕▼搴忕壒鏈夌浉鍏� */
-    "mp-weixin" : {
-        "appid" : "",
-        "setting" : {
-            "urlCheck" : false
-        },
-        "usingComponents" : true
-    },
-    "mp-alipay" : {
-        "usingComponents" : true
-    },
-    "mp-baidu" : {
-        "usingComponents" : true
-    },
-    "mp-toutiao" : {
-        "usingComponents" : true
-    },
-    "uniStatistics" : {
-        "enable" : false
-    },
-    "vueVersion" : "3"
-}
diff --git a/src/pages.json b/src/pages.json
deleted file mode 100644
index 0e977d5..0000000
--- a/src/pages.json
+++ /dev/null
@@ -1,280 +0,0 @@
-{
-  "easycom": {
-    "custom": {
-      "u-city-select": "@/components/u-city-select/u-city-select.vue",
-      "geek-(.*)": "@/components/geek-xd/components/geek-$1/geek-$1.vue",
-      "gx-(.*)": "@/components/geek-xd/components/geek-$1/geek-$1.vue",
-      "^u--(.*)": "uview-plus/components/u-$1/u-$1.vue",
-      "^up-(.*)": "uview-plus/components/u-$1/u-$1.vue",
-      "^u-([^-].*)": "uview-plus/components/u-$1/u-$1.vue",
-      "qiun-(.*)": "@/components/qiun-data-charts/components/qiun-$1/qiun-$1.vue"
-    }
-  },
-  "pages": [
-    {
-      "path": "pages/index",
-      "style": {
-        "navigationBarTitleText": "鑻ヤ緷绉诲姩绔鏋�",
-        "navigationStyle": "custom"
-      }
-    },
-    {
-      "path": "pages/login",
-      "style": {
-        "navigationBarTitleText": "鐧诲綍"
-      }
-    },
-    {
-      "path": "pages/work",
-      "style": {
-        "navigationBarTitleText": "宸ヤ綔鍙�"
-      }
-    },
-    {
-      "path": "pages/template",
-      "style": {
-        "navigationBarTitleText": "妯℃澘"
-      }
-    },
-    {
-      "path": "pages/mine",
-      "style": {
-        "navigationBarTitleText": "鎴戠殑"
-      }
-    },
-    {
-      "path": "pages/common/webview/index",
-      "style": {
-        "navigationBarTitleText": "娴忚缃戦〉"
-      }
-    },
-    {
-      "path": "pages/common/textview/index",
-      "style": {
-        "navigationBarTitleText": "娴忚鏂囨湰"
-      }
-    }
-  ],
-  "subPackages": [
-    {
-      "root": "pages_mine/pages",
-      "pages": [
-        {
-          "path": "avatar/index",
-          "style": {
-            "navigationBarTitleText": "淇敼澶村儚"
-          }
-        },
-        {
-          "path": "info/index",
-          "style": {
-            "navigationBarTitleText": "涓汉淇℃伅"
-          }
-        },
-        {
-          "path": "info/edit",
-          "style": {
-            "navigationBarTitleText": "缂栬緫璧勬枡"
-          }
-        },
-        {
-          "path": "pwd/index",
-          "style": {
-            "navigationBarTitleText": "淇敼瀵嗙爜"
-          }
-        },
-        {
-          "path": "setting/index",
-          "style": {
-            "navigationBarTitleText": "搴旂敤璁剧疆"
-          }
-        },
-        {
-          "path": "help/index",
-          "style": {
-            "navigationBarTitleText": "甯歌闂"
-          }
-        },
-        {
-          "path": "about/index",
-          "style": {
-            "navigationBarTitleText": "鍏充簬鎴戜滑"
-          }
-        }
-      ]
-    },
-    {
-      "root": "pages_template/pages",
-      "pages": [
-        {
-          "path": "wxCenter/index",
-          "style": {
-            "navigationBarTitleText": "wxCenter 浠垮井淇′釜浜轰腑蹇�",
-            "navigationStyle": "custom"
-          }
-        },
-        {
-          "path": "keyboardPay/index",
-          "style": {
-            "navigationBarTitleText": "keyboardPay 鑷畾涔夐敭鐩樻敮浠�"
-          }
-        },
-        {
-          "path": "mallMenu/index2",
-          "style": {
-            "navigationBarTitleText": "mallMenu-鍟嗗煄鍒嗙被"
-          }
-        },
-        {
-          "path": "mallMenu/index1",
-          "style": {
-            "navigationBarTitleText": "mallMenu-鍟嗗煄鍒嗙被"
-          }
-        },
-        {
-          "path": "coupon/index",
-          "style": {
-            "navigationBarTitleText": "coupon-浼樻儬鍒�"
-          }
-        },
-        {
-          "path": "login/index1",
-          "style": {
-            "navigationBarTitleText": "缇庡洟鐧诲綍"
-          }
-        },
-        {
-          "path": "login/index2",
-          "style": {
-            "navigationBarTitleText": "姘存淮鐧诲綍"
-          }
-        },
-        {
-          "path": "citySelect/index",
-          "style": {
-            "navigationBarTitleText": "鍩庡競閫夋嫨"
-          }
-        },
-        {
-          "path": "submitBar/index",
-          "style": {
-            "navigationBarTitleText": "鎻愪氦璁㈠崟鏍�"
-          }
-        },
-        {
-          "path": "comment/index",
-          "style": {
-            "navigationBarTitleText": "璇勮"
-          }
-        },
-        {
-          "path": "comment/reply",
-          "style": {
-            "navigationBarTitleText": "璇勮璇︽儏"
-          }
-        },
-        {
-          "path": "order/index",
-          "style": {
-            "navigationBarTitleText": "璁㈠崟"
-          }
-        },
-        {
-          "path": "login/code",
-          "style": {
-            "navigationBarTitleText": "鐧诲綍鑾峰彇楠岃瘉鐮�"
-          }
-        },
-        {
-          "path": "address/index",
-          "style": {
-            "navigationBarTitleText": "鐢ㄦ埛鍦板潃"
-          }
-        },
-        {
-          "path": "address/addSite",
-          "style": {
-            "navigationBarTitleText": "娣诲姞鐢ㄦ埛鍦板潃"
-          }
-        }
-      ]
-    },
-    {
-      "root": "pages_qiun/pages",
-      "pages": [
-        {
-          "path": "sport/index",
-          "style": {
-            "pageOrientation": "auto"
-          }
-        },
-        {
-          "path": "school/index",
-          "style": {
-            "pageOrientation": "auto"
-          }
-        },
-        {
-          "path": "finance/index",
-          "style": {
-            "pageOrientation": "auto"
-          }
-        },
-        {
-          "path": "main/index",
-          "style": {
-            "pageOrientation": "auto"
-          }
-        }
-      ]
-    },
-    {
-      "root": "pages_geek/pages",
-      "pages": [
-        {
-          "path": "index/index"
-        },
-        {
-          "path": "code/index"
-        }
-      ]
-    }
-  ],
-  "tabBar": {
-    "color": "#000000",
-    "selectedColor": "#000000",
-    "borderStyle": "white",
-    "backgroundColor": "#ffffff",
-    "list": [
-      {
-        "pagePath": "pages/index",
-        "iconPath": "static/images/tabbar/home.png",
-        "selectedIconPath": "static/images/tabbar/home_.png",
-        "text": "棣栭〉"
-      },
-      {
-        "pagePath": "pages/work",
-        "iconPath": "static/images/tabbar/work.png",
-        "selectedIconPath": "static/images/tabbar/work_.png",
-        "text": "宸ヤ綔鍙�"
-      },
-      {
-        "pagePath": "pages/template",
-        "iconPath": "static/images/tabbar/work.png",
-        "selectedIconPath": "static/images/tabbar/work_.png",
-        "text": "妯℃澘"
-      },
-      {
-        "pagePath": "pages/mine",
-        "iconPath": "static/images/tabbar/mine.png",
-        "selectedIconPath": "static/images/tabbar/mine_.png",
-        "text": "鎴戠殑"
-      }
-    ]
-  },
-  "globalStyle": {
-    "navigationBarTextStyle": "black",
-    "navigationBarTitleText": "RuoYi",
-    "navigationBarBackgroundColor": "#FFFFFF"
-  }
-}
diff --git a/src/pages/common/textview/index.vue b/src/pages/common/textview/index.vue
deleted file mode 100644
index e9b05fb..0000000
--- a/src/pages/common/textview/index.vue
+++ /dev/null
@@ -1,43 +0,0 @@
-<template>
-  <view>
-    <uni-card class="view-title" :title="title">
-      <text class="uni-body view-content">{{ content }}</text>
-    </uni-card>
-  </view>
-</template>
-
-<script>
-  export default {
-    data() {
-      return {
-        title: '',
-        content: ''
-      }
-    },
-    onLoad(options) {
-      this.title = options.title
-      this.content = options.content
-      uni.setNavigationBarTitle({
-        title: options.title
-      })
-    }
-  }
-</script>
-
-<style scoped>
-  page {
-    background-color: #ffffff;
-  }
-
-  .view-title {
-    font-weight: bold;
-  }
-
-  .view-content {
-    font-size: 26rpx;
-    padding: 12px 5px 0;
-    color: #333;
-    line-height: 24px;
-    font-weight: normal;
-  }
-</style>
diff --git a/src/pages/common/webview/index.vue b/src/pages/common/webview/index.vue
deleted file mode 100644
index 8388c76..0000000
--- a/src/pages/common/webview/index.vue
+++ /dev/null
@@ -1,34 +0,0 @@
-<template>
-  <view v-if="params.url">
-    <web-view :webview-styles="webviewStyles" :src="`${params.url}`"></web-view>
-  </view>
-</template>
-
-<script>
-  export default {
-    data() {
-      return {
-        params: {},
-        webviewStyles: {
-          progress: {
-            color: "#FF3333"
-          }
-        }
-      }
-    },
-    props: {
-      src: {
-        type: [String],
-        default: null
-      }
-    },
-    onLoad(event) {
-      this.params = event
-      if (event.title) {
-        uni.setNavigationBarTitle({
-          title: event.title
-        })
-      }
-    }
-  }
-</script>
diff --git a/src/pages/index.vue b/src/pages/index.vue
deleted file mode 100644
index 2b5d2ab..0000000
--- a/src/pages/index.vue
+++ /dev/null
@@ -1,75 +0,0 @@
-<template>
-  <view class="content">
-    <image class="logo" src="@/static/logo.png"></image>
-    <view class="text-area">
-      <text class="title"> RuoYi-Geek-App</text>
-    </view>
-    <view class="text-area">
-      <up-text type="primary" text="uview-plus"></up-text>
-    </view>
-    <view class="charts-box">
-      <qiun-data-charts type="column" :chartData="chartData" />
-    </view>
-  </view>
-</template>
-
-<script setup>
-import { ref, onMounted } from 'vue';
-
-const chartData = ref({});
-
-onMounted(() => { getServerData() });
-
-function getServerData() {
-  // 妯℃嫙浠庢湇鍔″櫒鑾峰彇鏁版嵁鏃剁殑寤舵椂
-  setTimeout(() => {
-    let res = {
-      categories: ['2016', '2017', '2018', '2019', '2020', '2021'],
-      series: [
-        {
-          name: '鐩爣鍊�',
-          data: [35, 36, 31, 33, 13, 34],
-        },
-        {
-          name: '瀹屾垚閲�',
-          data: [18, 27, 21, 24, 6, 28],
-        },
-      ],
-    };
-    chartData.value = JSON.parse(JSON.stringify(res));
-  }, 500);
-}
-</script>
-
-<style scoped>
-.content {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
-}
-
-.logo {
-  height: 200rpx;
-  width: 200rpx;
-  margin-top: 200rpx;
-  margin-left: auto;
-  margin-right: auto;
-  margin-bottom: 50rpx;
-}
-
-.text-area {
-  display: flex;
-  justify-content: center;
-}
-
-.title {
-  font-size: 36rpx;
-  color: #8f8f94;
-}
-
-.charts-box {
-  width: 100%;
-  height: 300px;
-}
-</style>
diff --git a/src/pages/login.vue b/src/pages/login.vue
deleted file mode 100644
index 620bdaa..0000000
--- a/src/pages/login.vue
+++ /dev/null
@@ -1,208 +0,0 @@
-<template>
-  <view class="normal-login-container">
-    <view class="logo-content align-center justify-center flex">
-      <image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
-      </image>
-      <text class="title">鑻ヤ緷绉诲姩绔櫥褰�</text>
-    </view>
-    <view class="login-form-content">
-      <view class="input-item flex align-center">
-        <view class="iconfont icon-user icon"></view>
-        <input v-model="loginForm.username" class="input" type="text" placeholder="璇疯緭鍏ヨ处鍙�" maxlength="30" />
-      </view>
-      <view class="input-item flex align-center">
-        <view class="iconfont icon-password icon"></view>
-        <input v-model="loginForm.password" type="password" class="input" placeholder="璇疯緭鍏ュ瘑鐮�" maxlength="20" />
-      </view>
-      <view class="input-item flex align-center" style="width: 60%;margin: 0px;" v-if="captchaEnabled">
-        <view class="iconfont icon-code icon"></view>
-        <input v-model="loginForm.code" type="number" class="input" placeholder="璇疯緭鍏ラ獙璇佺爜" maxlength="4" />
-        <view class="login-code">
-          <image :src="codeUrl" @click="getCode" class="login-code-img"></image>
-        </view>
-      </view>
-      <view class="action-btn">
-        <button @click="handleLogin" class="login-btn cu-btn block bg-blue lg round">鐧诲綍</button>
-      </view>
-    </view>
-
-    <view class="xieyi text-center">
-      <text class="text-grey1">鐧诲綍鍗充唬琛ㄥ悓鎰�</text>
-      <text @click="handleUserAgrement" class="text-blue">銆婄敤鎴峰崗璁��</text>
-      <text @click="handlePrivacy" class="text-blue">銆婇殣绉佸崗璁��</text>
-    </view>
-  </view>
-</template>
-
-<script setup>
-import modal from '@/plugins/modal'
-import { getCodeImg } from '@/api/login'
-import { ref } from "vue";
-import config from '@/config.js'
-import useUserStore from '@/store/modules/user'
-import { getWxCode } from '@/utils/geek';
-import { wxLogin } from '@/api/oauth';
-import { setToken } from '@/utils/auth';
-const userStore = useUserStore()
-const codeUrl = ref("");
-const captchaEnabled = ref(true); // 鏄惁寮�鍚獙璇佺爜
-const useWxLogin = ref(false); // 鏄惁浣跨敤寰俊鐧诲綍
-const globalConfig = ref(config);
-const loginForm = ref({
-  username: "admin",
-  password: "admin123",
-  code: "",
-  uuid: ''
-});
-
-if (useWxLogin.value) {
-  getWxCode().then(res => {
-    console.log(res);
-    wxLogin('miniapp',res).then(res => {
-      if(res.token != null){
-        setToken(res.token);
-        loginSuccess()
-      }
-    });
-  })
-}
-
-
-// 鑾峰彇鍥惧舰楠岃瘉鐮�
-function getCode() {
-  getCodeImg().then(res => {
-    captchaEnabled.value = res.captchaEnabled === undefined ? true : res.captchaEnabled
-    if (captchaEnabled.value) {
-      codeUrl.value = 'data:image/gif;base64,' + res.img
-      loginForm.value.uuid = res.uuid
-    }
-  })
-};
-
-async function handleLogin() {
-  if (loginForm.value.username === "") {
-    modal.msgError("璇疯緭鍏ユ偍鐨勮处鍙�")
-  } else if (loginForm.value.password === "") {
-    modal.msgError("璇疯緭鍏ユ偍鐨勫瘑鐮�")
-  } else if (loginForm.value.code === "" && captchaEnabled.value) {
-    modal.msgError("璇疯緭鍏ラ獙璇佺爜")
-  } else {
-    modal.loading("鐧诲綍涓紝璇疯�愬績绛夊緟...")
-    pwdLogin()
-  }
-};
-// 瀵嗙爜鐧诲綍
-async function pwdLogin() {
-  userStore.login(loginForm.value).then(() => {
-    modal.closeLoading()
-    loginSuccess()
-  }).catch(() => {
-    if (captchaEnabled.value) {
-      modal.closeLoading()
-      getCode()
-    }
-  })
-};
-
-function loginSuccess(result) {
-  // 璁剧疆鐢ㄦ埛淇℃伅
-  userStore.getInfo().then(res => {
-    uni.switchTab({
-      url: '/pages/index'
-    });
-  })
-}
-
-// 闅愮鍗忚
-function handlePrivacy() {
-  let site = globalConfig.value.appInfo.agreements[0];
-  uni.navigateTo({
-    url: `/pages/common/webview/index?title=${site.title}&url=${site.url}`
-  });
-};
-// 鐢ㄦ埛鍗忚
-function handleUserAgrement() {
-  let site = globalConfig.value.appInfo.agreements[1]
-  uni.navigateTo({
-    url: `/pages/common/webview/index?title=${site.title}&url=${site.url}`
-  });
-};
-
-getCode();
-</script>
-
-<style lang="scss">
-page {
-  background-color: #ffffff;
-}
-
-.normal-login-container {
-  width: 100%;
-
-  .logo-content {
-    width: 100%;
-    font-size: 21px;
-    text-align: center;
-    padding-top: 15%;
-
-    image {
-      border-radius: 4px;
-    }
-
-    .title {
-      margin-left: 10px;
-    }
-  }
-
-  .login-form-content {
-    text-align: center;
-    margin: 20px auto;
-    margin-top: 15%;
-    width: 80%;
-
-    .input-item {
-      margin: 20px auto;
-      background-color: #f5f6f7;
-      height: 45px;
-      border-radius: 20px;
-
-      .icon {
-        font-size: 38rpx;
-        margin-left: 10px;
-        color: #999;
-      }
-
-      .input {
-        width: 100%;
-        font-size: 14px;
-        line-height: 20px;
-        text-align: left;
-        padding-left: 15px;
-      }
-
-    }
-
-    .login-btn {
-      margin-top: 40px;
-      height: 45px;
-    }
-
-    .xieyi {
-      color: #333;
-      margin-top: 20px;
-    }
-
-    .login-code {
-      height: 38px;
-      float: right;
-
-      .login-code-img {
-        height: 38px;
-        position: absolute;
-        margin-left: 10px;
-        width: 200rpx;
-      }
-    }
-  }
-}
-</style>
diff --git a/src/pages/mine.vue b/src/pages/mine.vue
deleted file mode 100644
index 8eb44db..0000000
--- a/src/pages/mine.vue
+++ /dev/null
@@ -1,235 +0,0 @@
-<template>
-  <view class="mine-container" :style="{ height: `${windowHeight}px` }">
-    <!--椤堕儴涓汉淇℃伅鏍�-->
-    <view class="header-section">
-      <view class="flex padding justify-between">
-        <view class="flex align-center">
-          <view v-if="!avatar" class="cu-avatar xl round bg-white">
-            <view class="iconfont icon-people text-gray icon"></view>
-          </view>
-          <image v-if="avatar" @click="handleToAvatar" :src="avatar" class="cu-avatar xl round" mode="widthFix">
-          </image>
-          <view v-if="!name" @click="handleToLogin" class="login-tip">
-            鐐瑰嚮鐧诲綍
-          </view>
-          <view v-if="name" @click="handleToInfo" class="user-info">
-            <view class="u_title">
-              鐢ㄦ埛鍚嶏細{{ name }}
-            </view>
-          </view>
-        </view>
-        <view @click="handleToInfo" class="flex align-center">
-          <text>涓汉淇℃伅</text>
-          <view class="iconfont icon-right"></view>
-        </view>
-      </view>
-    </view>
-
-    <view class="content-section">
-      <view class="mine-actions grid col-4 text-center">
-        <view class="action-item" @click="handleJiaoLiuQun">
-          <view class="iconfont icon-friendfill text-pink icon"></view>
-          <text class="text">浜ゆ祦缇�</text>
-        </view>
-        <view class="action-item" @click="handleBuilding">
-          <view class="iconfont icon-service text-blue icon"></view>
-          <text class="text">鍦ㄧ嚎瀹㈡湇</text>
-        </view>
-        <view class="action-item" @click="handleBuilding">
-          <view class="iconfont icon-community text-mauve icon"></view>
-          <text class="text">鍙嶉绀惧尯</text>
-        </view>
-        <view class="action-item" @click="handleBuilding">
-          <view class="iconfont icon-dianzan text-green icon"></view>
-          <text class="text">鐐硅禐鎴戜滑</text>
-        </view>
-      </view>
-
-      <view class="menu-list">
-        <view class="list-cell list-cell-arrow" @click="handleToEditInfo">
-          <view class="menu-item-box">
-            <view class="iconfont icon-user menu-icon"></view>
-            <view>缂栬緫璧勬枡</view>
-          </view>
-        </view>
-        <view class="list-cell list-cell-arrow" @click="handleHelp">
-          <view class="menu-item-box">
-            <view class="iconfont icon-help menu-icon"></view>
-            <view>甯歌闂</view>
-          </view>
-        </view>
-        <view class="list-cell list-cell-arrow" @click="handleAbout">
-          <view class="menu-item-box">
-            <view class="iconfont icon-aixin menu-icon"></view>
-            <view>鍏充簬鎴戜滑</view>
-          </view>
-        </view>
-        <view class="list-cell list-cell-arrow" @click="handleToSetting">
-          <view class="menu-item-box">
-            <view class="iconfont icon-setting menu-icon"></view>
-            <view>搴旂敤璁剧疆</view>
-          </view>
-        </view>
-      </view>
-
-    </view>
-  </view>
-  <!-- <view>
-	  <uni-popup ref="popup" type="dialog">
-	    <uni-popup-dialog type="info" cancelText="鍏抽棴" confirmText="閫�鍑�"
-	                      title="閫氱煡" content="纭畾娉ㄩ攢骞堕��鍑虹郴缁熷悧" 
-	    				  @confirm="dialogConfirm"
-	                      @close="dialogClose">
-	    </uni-popup-dialog>
-	  </uni-popup>
-  </view> -->
-</template>
-
-<script setup>
-import { ref } from "vue";
-import config from '@/config.js'
-import useUserStore from '@/store/modules/user'
-const userStore = useUserStore()
-const name = userStore.name;
-const version = config.appInfo.version;
-
-const avatar = ref(userStore.avatar);
-const windowHeight = ref(uni.getSystemInfoSync().windowHeight - 50);
-const popup = ref(null);
-
-uni.$on('refresh', () => {
-  avatar.value = userStore.avatar;
-})
-
-function handleToInfo() {
-  uni.navigateTo({
-    url: '/pages_mine/pages/info/index'
-  });
-};
-function handleToEditInfo() {
-  uni.navigateTo({
-    url: '/pages_mine/pages/info/edit'
-  });
-};
-function handleToSetting() {
-  uni.navigateTo({
-    url: '/pages_mine/pages/setting/index'
-  });
-};
-function handleToLogin() {
-  uni.reLaunch({
-    url: '/pages/login'
-  });
-};
-function handleToAvatar() {
-  uni.navigateTo({
-    url: '/pages_mine/pages/avatar/index'
-  });
-};
-function handleLogout() {
-  popup.value.open();
-};
-function dialogConfirm() {
-  //console.log('----------------鐐瑰嚮纭------------')
-
-  userStore.logOut().then(() => {
-    uni.reLaunch({
-      url: '/pages/login'
-    });
-  })
-};
-function dialogClose() {
-  //console.log('鐐瑰嚮鍏抽棴')
-};
-function handleHelp() {
-  uni.navigateTo({
-    url: '/pages_mine/pages/help/index'
-  });
-};
-function handleAbout() {
-  uni.navigateTo({
-    url: '/pages_mine/pages/about/index'
-  });
-};
-function handleJiaoLiuQun() {
-  uni.showToast({
-    title: 'QQ缇わ細133713780',
-    mask: false,
-    icon: "none",
-    duration: 1000
-  });
-};
-function handleBuilding() {
-  uni.showToast({
-    title: '妯″潡寤鸿涓瓇',
-    mask: false,
-    icon: "none",
-    duration: 1000
-  });
-}
-
-</script>
-
-<style lang="scss">
-page {
-  background-color: #f5f6f7;
-}
-
-.mine-container {
-  width: 100%;
-  height: 100%;
-
-
-  .header-section {
-    padding: 15px 15px 45px 15px;
-    background-color: #3c96f3;
-    color: white;
-
-    .login-tip {
-      font-size: 18px;
-      margin-left: 10px;
-    }
-
-    .cu-avatar {
-      border: 2px solid #eaeaea;
-
-      .icon {
-        font-size: 40px;
-      }
-    }
-
-    .user-info {
-      margin-left: 15px;
-
-      .u_title {
-        font-size: 18px;
-        line-height: 30px;
-      }
-    }
-  }
-
-  .content-section {
-    position: relative;
-    top: -50px;
-
-    .mine-actions {
-      margin: 15px 15px;
-      padding: 20px 0px;
-      border-radius: 8px;
-      background-color: white;
-
-      .action-item {
-        .icon {
-          font-size: 28px;
-        }
-
-        .text {
-          display: block;
-          font-size: 13px;
-          margin: 8px 0px;
-        }
-      }
-    }
-  }
-}
-</style>
diff --git a/src/pages/template.config.js b/src/pages/template.config.js
deleted file mode 100644
index 1e606a4..0000000
--- a/src/pages/template.config.js
+++ /dev/null
@@ -1,131 +0,0 @@
-export default [
-	{
-		groupName: 'geek缁勪欢',
-		groupName_en: 'Page',
-		list: [
-			{
-				path: '/pages_geek/pages/index/index',
-				icon: 'wxCenter',
-				title: '缁勪欢灞曠ず',
-				title_en: 'index',
-			},
-			{
-				path: '/pages_geek/pages/code/index',
-				icon: 'wxCenter',
-				title: '浜岀淮鐮�',
-				title_en: 'index',
-			}
-		]
-	},
-	{
-		groupName: '閮ㄤ欢',
-		groupName_en: 'Parts',
-		list: [
-			{
-				path: '/pages_template/pages/coupon/index',
-				icon: 'coupon',
-				title: 'Coupon 浼樻儬鍒�',
-				title_en: 'Coupon',
-			},
-			{
-				path: '/pages_template/pages/citySelect/index',
-				icon: 'citySelect',
-				title: 'CitySelect 鍩庡競閫夋嫨',
-				title_en: 'CitySelect',
-			},
-			{
-				path: '/pages_template/pages/submitBar/index',
-				icon: 'submitBar',
-				title: 'SubmitBar 鎻愪氦璁㈠崟鏍�',
-				title_en: 'SubmitBar',
-			},
-			{
-				path: '/pages_template/pages/keyboardPay/index',
-				icon: 'keyboardPay',
-				title: 'KeyboardPay 鑷畾涔夐敭鐩樻敮浠樻ā鏉�',
-				title_en: 'KeyboardPay',
-			},
-		]
-	},
-	{
-		groupName: '鎶ヨ〃',
-		groupName_en: 'Parts',
-		list: [
-			{
-				path: '/pages_qiun/pages/finance/index',
-				icon: 'coupon',
-				title: '璐㈠姟鎶ュ憡',
-				title_en: 'finace',
-			},
-			{
-				path: '/pages_qiun/pages/main/index',
-				icon: 'coupon',
-				title: '鏁版嵁鎶ヨ〃涓績',
-				title_en: 'main',
-			},
-			{
-				path: '/pages_qiun/pages/school/index',
-				icon: 'coupon',
-				title: '鏅烘収鏁欒偛鎶ヨ〃涓績',
-				title_en: 'school',
-			},
-			{
-				path: '/pages_qiun/pages/sport/index',
-				icon: 'coupon',
-				title: '杩愬姩鎶ュ憡',
-				title_en: 'sport',
-			},
-		]
-	},
-	{
-		groupName: '椤甸潰',
-		groupName_en: 'Page',
-		list: [
-			{
-				path: '/pages_template/pages/wxCenter/index',
-				icon: 'wxCenter',
-				title: 'WxCenter 浠垮井淇′釜浜轰腑蹇�',
-				title_en: 'WxCenter',
-			},
-			{
-				path: '/pages_template/pages/mallMenu/index1',
-				icon: 'mall_menu_1',
-				title: 'MallMenu 鍨傜洿鍒嗙被(宸﹀彸鐙珛)',
-				title_en: 'MallMenu 1',
-			}, {
-				path: '/pages_template/pages/mallMenu/index2',
-				icon: 'mall_menu_2',
-				title: 'MallMenu 鍨傜洿鍒嗙被(宸﹀彸鑱斿姩)',
-				title_en: 'MallMenu 2',
-			}, {
-				path: '/pages_template/pages/comment/index',
-				icon: 'comment',
-				title: 'Comment 璇勮鍒楄〃',
-				title_en: 'Comment',
-			}, {
-				path: '/pages_template/pages/order/index',
-				icon: 'order',
-				title: 'Order 璁㈠崟鍒楄〃',
-				title_en: 'Order',
-			},
-			{
-				path: '/pages_template/pages/login/index1',
-				icon: 'login',
-				title: 'Login 鐧诲綍鐣岄潰',
-				title_en: 'Login',
-			},
-			{
-				path: '/pages_template/pages/login/index2',
-				icon: 'login',
-				title: 'Login 姘存淮鐧诲綍',
-				title_en: 'Login',
-			},
-			{
-				path: '/pages_template/pages/address/index',
-				icon: 'address',
-				title: 'Address 鏀惰揣鍦板潃',
-				title_en: 'Address',
-			},
-		]
-	},
-]
\ No newline at end of file
diff --git a/src/pages/template.vue b/src/pages/template.vue
deleted file mode 100644
index 3f0b7ac..0000000
--- a/src/pages/template.vue
+++ /dev/null
@@ -1,65 +0,0 @@
-<template>
-    <view class="wrap">
-      <view class="list-wrap">
-        <u-cell-group title-bg-color="rgb(243, 244, 246)" :title="getGroupTitle(item)" v-for="(item, index) in list"
-          :key="index">
-          <u-cell :titleStyle="{ fontWeight: 500 }" @click="openPage(item1.path)" :title="getFieldTitle(item1)"
-            v-for="(item1, index1) in item.list" :key="index1">
-            <template v-slot:icon>
-              <image class="u-cell-icon" :src="getIcon(item1.icon)" mode="widthFix"></image>
-            </template>
-          </u-cell>
-        </u-cell-group>
-      </view>
-      <u-gap height="70"></u-gap>
-      <!-- <u-tabbar :list="vuex_tabbar" :mid-button="true"></u-tabbar> -->
-    </view>
-  </template>
-  
-  <script>
-  import list from "./template.config.js";
-  export default {
-    data() {
-      return {
-        list: list,
-        // desc: '鏀堕泦浼楀鐨勫父鐢ㄩ〉闈㈠拰甯冨眬锛屽噺灏戝紑鍙戣�呯殑閲嶅宸ヤ綔锛岃浣犱笓娉ㄩ�昏緫锛屼簨鍗婂姛鍊�'
-      }
-    },
-    computed: {
-      getIcon() {
-        return path => {
-          return '../static/uview/demo/' + path + '.png';
-          return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-        }
-      },
-    },
-    methods: {
-      openPage(path) {
-        this.$u.route({
-          url: path
-        })
-      },
-      getGroupTitle(item) {
-        return item.groupName
-      },
-      getFieldTitle(item) {
-        return item.title
-      }
-    }
-  }
-  </script>
-  
-  <style>
-  /* page {
-          background-color: rgb(240, 242, 244);
-      } */
-  </style>
-  
-  <style lang="scss" scoped>
-  .u-cell-icon {
-    width: 36rpx;
-    height: 36rpx;
-    margin-right: 8rpx;
-  }
-  </style>
-  
\ No newline at end of file
diff --git a/src/pages/work.vue b/src/pages/work.vue
deleted file mode 100644
index cc065f0..0000000
--- a/src/pages/work.vue
+++ /dev/null
@@ -1,184 +0,0 @@
-<template>
-  <view class="work-container">
-    <!-- 杞挱鍥� -->
-    <uni-swiper-dot class="uni-swiper-dot-box" :info="data" :current="current" field="content">
-      <swiper class="swiper-box" :current="swiperDotIndex" @change="changeSwiper">
-        <swiper-item v-for="(item, index) in data" :key="index">
-          <view class="swiper-item" @click="clickBannerItem(item)">
-            <image :src="item.image" mode="aspectFill" :draggable="false" />
-          </view>
-        </swiper-item>
-      </swiper>
-    </uni-swiper-dot>
-
-    <!-- 瀹牸缁勪欢 -->
-    <uni-section title="绯荤粺绠$悊" type="line"></uni-section>
-    <view class="grid-body">
-      <uni-grid :column="4" :showBorder="false" @change="changeGrid">
-        <uni-grid-item>
-          <view class="grid-item-box">
-            <uni-icons type="person-filled" size="30"></uni-icons>
-            <text class="text">鐢ㄦ埛绠$悊</text>
-          </view>
-        </uni-grid-item>
-        <uni-grid-item>
-          <view class="grid-item-box">
-            <uni-icons type="staff-filled" size="30"></uni-icons>
-            <text class="text">瑙掕壊绠$悊</text>
-          </view>
-        </uni-grid-item>
-        <uni-grid-item>
-          <view class="grid-item-box">
-            <uni-icons type="color" size="30"></uni-icons>
-            <text class="text">鑿滃崟绠$悊</text>
-          </view>
-        </uni-grid-item>
-        <uni-grid-item>
-          <view class="grid-item-box">
-            <uni-icons type="settings-filled" size="30"></uni-icons>
-            <text class="text">閮ㄩ棬绠$悊</text>
-          </view>
-        </uni-grid-item>
-        <uni-grid-item>
-          <view class="grid-item-box">
-            <uni-icons type="heart-filled" size="30"></uni-icons>
-            <text class="text">宀椾綅绠$悊</text>
-          </view>
-        </uni-grid-item>
-        <uni-grid-item>
-          <view class="grid-item-box">
-            <uni-icons type="bars" size="30"></uni-icons>
-            <text class="text">瀛楀吀绠$悊</text>
-          </view>
-        </uni-grid-item>
-        <uni-grid-item>
-          <view class="grid-item-box">
-            <uni-icons type="gear-filled" size="30"></uni-icons>
-            <text class="text">鍙傛暟璁剧疆</text>
-          </view>
-        </uni-grid-item>
-        <uni-grid-item>
-          <view class="grid-item-box">
-            <uni-icons type="chat-filled" size="30"></uni-icons>
-            <text class="text">閫氱煡鍏憡</text>
-          </view>
-        </uni-grid-item>
-        <uni-grid-item>
-          <view class="grid-item-box">
-            <uni-icons type="wallet-filled" size="30"></uni-icons>
-            <text class="text">鏃ュ織绠$悊</text>
-          </view>
-        </uni-grid-item>
-      </uni-grid>
-    </view>
-  </view>
-</template>
-
-<script setup>
-	import { ref } from "vue";
-  import modal from "@/plugins/modal"
-	const current=ref(0);
-	const swiperDotIndex=ref(0);
-	const data=ref([{
-            image: '/static/images/banner/banner01.jpg'
-          },
-          {
-            image: '/static/images/banner/banner02.jpg'
-          },
-          {
-            image: '/static/images/banner/banner03.jpg'
-          }
-        ]);
-	
-	function clickBannerItem(item) {
-	  console.info(item)
-	};
-	function changeSwiper(e) {
-	  current.value = e.detail.current
-	}
-	function changeGrid(e) {
-	  modal.showToast({
-	    title: '妯″潡寤鸿涓�',
-	    mask: false,
-		  icon:'loading',
-	    duration: 1000
-	  });
-	}
-	
-</script>
-
-<style lang="scss">
-  /* #ifndef APP-NVUE */
-  page {
-    display: flex;
-    flex-direction: column;
-    box-sizing: border-box;
-    background-color: #fff;
-    min-height: 100%;
-    height: auto;
-  }
-
-  view {
-    font-size: 14px;
-    line-height: inherit;
-  }
-
-  /* #endif */
-
-  .text {
-    text-align: center;
-    font-size: 26rpx;
-    margin-top: 10rpx;
-  }
-
-  .grid-item-box {
-    flex: 1;
-    /* #ifndef APP-NVUE */
-    display: flex;
-    /* #endif */
-    flex-direction: column;
-    align-items: center;
-    justify-content: center;
-    padding: 15px 0;
-  }
-
-  .uni-margin-wrap {
-    width: 690rpx;
-    width: 100%;
-    ;
-  }
-
-  .swiper {
-    height: 300rpx;
-  }
-
-  .swiper-box {
-    height: 150px;
-  }
-
-  .swiper-item {
-    /* #ifndef APP-NVUE */
-    display: flex;
-    /* #endif */
-    flex-direction: column;
-    justify-content: center;
-    align-items: center;
-    color: #fff;
-    height: 300rpx;
-    line-height: 300rpx;
-  }
-
-  @media screen and (min-width: 500px) {
-    .uni-swiper-dot-box {
-      width: 400px;
-      /* #ifndef APP-NVUE */
-      margin: 0 auto;
-      /* #endif */
-      margin-top: 8px;
-    }
-
-    .image {
-      width: 100%;
-    }
-  }
-</style>
diff --git a/src/pages_geek/pages/code/index.vue b/src/pages_geek/pages/code/index.vue
deleted file mode 100644
index 353ec3a..0000000
--- a/src/pages_geek/pages/code/index.vue
+++ /dev/null
@@ -1,130 +0,0 @@
-<template xlang="wxml">
-	<view class="container">
-		<view class="qrimg">
-			<view class="qrimg-i">
-				<geek-qrcode v-if="ifShow" cid="qrcode1" ref="qrcode" :val="val" :size="size" :unit="unit"
-					:background="background" :foreground="foreground" :pdground="pdground" :icon="icon" :iconSize="iconsize"
-					:lv="lv" :onval="onval" :loadMake="loadMake" :usingComponents="true" @result="qrR" />
-			</view>
-			<view class="qrimg-i">
-				<geek-qrcode v-if="ifShow" cid="qrcode2" ref="qrcode2" val="绗簩涓簩缁寸爜" :size="size" :onval="onval"
-					:loadMake="loadMake" :usingComponents="true" @result="qrR" />
-			</view>
-		</view>
-		<view class="uni-padding-wrap">
-			<view class="uni-title">璇疯緭鍏ヨ鐢熸垚鐨勪簩缁寸爜鍐呭</view>
-		</view>
-		<view class="uni-list">
-			<input class="uni-input" placeholder="璇疯緭鍏ヨ鐢熸垚鐨勪簩缁寸爜鍐呭" v-model="val" />
-		</view>
-		<view class="uni-padding-wrap uni-common-mt">
-			<view class="uni-title">璁剧疆浜岀淮鐮佸ぇ灏�</view>
-		</view>
-		<view class="body-view">
-			<slider :value="size" @change="sliderchange" min="50" max="500" show-value />
-		</view>
-		<view class="uni-padding-wrap">
-			<view class="btns">
-				<button type="primary" @tap="selectIcon">閫夋嫨浜岀淮鐮佸浘鏍�</button>
-				<button type="primary" @tap="creatQrcode">鐢熸垚浜岀淮鐮�</button>
-				<button type="primary" @tap="saveQrcode">淇濆瓨鍒板浘搴�</button>
-				<button type="warn" @tap="clearQrcode">娓呴櫎浜岀淮鐮�</button>
-				<button type="warn" @tap="ifQrcode">鏄剧ず闅愯棌浜岀淮鐮�</button>
-			</view>
-		</view>
-	</view>
-</template>
-<script>
-export default {
-	data() {
-		return {
-			ifShow: true,
-			val: '浜岀淮鐮�', // 瑕佺敓鎴愮殑浜岀淮鐮佸��
-			size: 200, // 浜岀淮鐮佸ぇ灏�
-			unit: 'upx', // 鍗曚綅
-			background: '#b4e9e2', // 鑳屾櫙鑹�
-			foreground: '#309286', // 鍓嶆櫙鑹�
-			pdground: '#32dbc6', // 瑙掓爣鑹�
-			icon: '', // 浜岀淮鐮佸浘鏍�
-			iconsize: 40, // 浜岀淮鐮佸浘鏍囧ぇ灏�
-			lv: 3, // 浜岀淮鐮佸閿欑骇鍒� 锛� 涓�鑸笉鐢ㄨ缃紝榛樿灏辫
-			onval: false, // val鍊煎彉鍖栨椂鑷姩閲嶆柊鐢熸垚浜岀淮鐮�
-			loadMake: true, // 缁勪欢鍔犺浇瀹屾垚鍚庤嚜鍔ㄧ敓鎴愪簩缁寸爜
-			src: '' // 浜岀淮鐮佺敓鎴愬悗鐨勫浘鐗囧湴鍧�鎴朾ase64
-		}
-	},
-	methods: {
-		sliderchange(e) {
-			this.size = e.detail.value
-		},
-		creatQrcode() {
-			this.$refs.qrcode._makeCode()
-		},
-		saveQrcode() {
-			this.$refs.qrcode._saveCode()
-		},
-		qrR(res) {
-			this.src = res
-		},
-		clearQrcode() {
-			this.$refs.qrcode._clearCode()
-			this.val = ''
-		},
-		ifQrcode() {
-			this.ifShow = !this.ifShow
-		},
-		selectIcon() {
-			let that = this
-			uni.chooseImage({
-				count: 1, //榛樿9
-				sizeType: ['original', 'compressed'], //鍙互鎸囧畾鏄師鍥捐繕鏄帇缂╁浘锛岄粯璁や簩鑰呴兘鏈�
-				sourceType: ['album'], //浠庣浉鍐岄�夋嫨
-				success: function (res) {
-					that.icon = res.tempFilePaths[0]
-					setTimeout(() => {
-						that.creatQrcode()
-					}, 100);
-					// console.log(res.tempFilePaths);
-				}
-			});
-		}
-	}
-}
-</script>
-
-<style>
-/* @import "../../../common/icon.css"; */
-.container {
-	display: flex;
-	flex-direction: column;
-	width: 100%;
-}
-
-.qrimg {
-	display: flex;
-	justify-content: center;
-}
-
-.qrimg-i {
-	margin-right: 10px;
-}
-
-slider {
-	width: 100%;
-}
-
-input {
-	width: 100%;
-	margin-bottom: 20upx;
-}
-
-.btns {
-	display: flex;
-	flex-direction: column;
-	width: 100%;
-}
-
-button {
-	width: 100%;
-	margin-top: 10upx;
-}</style>
diff --git a/src/pages_geek/pages/index/index.vue b/src/pages_geek/pages/index/index.vue
deleted file mode 100644
index 7dfb832..0000000
--- a/src/pages_geek/pages/index/index.vue
+++ /dev/null
@@ -1,131 +0,0 @@
-<template>
-  <view style="background-color: #f6f6f6;">
-    <uni-section class="mb-10" title="鏁板�兼澘" sub-title="statistic" type="line"></uni-section>
-    <u-row gutter="0">
-      <u-col span="6">
-        <geek-statistic label="璁㈠崟鏁伴噺(涓�)" labelColor="#1f1f1f" :number="0" numberColor="red" />
-      </u-col>
-      <u-col span="6">
-        <geek-statistic label="浜ゆ槗閲戦(鍏�)" labelColor="#1f1f1f" :number="0" numberColor="red" />
-      </u-col>
-    </u-row>
-
-    <uni-section class="mb-10" title="鑿滃崟" sub-title="menu" type="line"></uni-section>
-    <view style="width: 100%; display: flex;justify-content:space-evenly;align-items: center;">
-      <geek-menu v-for="menu, index in menus" :key="index" v-bind=menu :size="60" @click="modal.msg(menu.label)"
-        type="circle" />
-    </view>
-    <view style="width: 100%; display: flex;justify-content:space-evenly;align-items: center;">
-      <geek-menu v-for="menu, index in menus" :key="index" :icon="menu.icon" :label="menu.label" :size="60"
-        @click="modal.msg(menu.label)" type="rect" />
-    </view>
-
-    <uni-section class="mb-10" title="鍟嗗搧鍒楄〃" sub-title="commodity" type="line"></uni-section>
-    <view style="display: flex;flex-direction: column;justify-content: center;align-items: center;">
-      <geek-commodity v-for="item, index in commodityList" :key="index" v-bind="item" type="line"
-        @click="modal.msg(item.title)" />
-    </view>
-    <view style="display: flex;justify-content: center;">
-      <view>
-        <geek-commodity v-for="item, index in commodityList.slice(0, 2)" :key="index" v-bind="item" type="rect"
-          @click="modal.msg(item.title)" />
-      </view>
-      <view>
-        <geek-commodity v-for="item, index in commodityList.slice(1, 3)" :key="index" v-bind="item" type="rect"
-          @click="modal.msg(item.title)" />
-      </view>
-    </view>
-
-    <uni-section class="mb-10" title="璁㈠崟鍒楄〃" sub-title="order" type="line"></uni-section>
-    <geek-order v-for="item, index in orderList" :key="index" v-bind="item" @more="modal.msg('鏇村')"
-      @again="modal.msg('鍐嶆璐拱')" @return="modal.msg('閫�鎹�')" @sell="modal.msg('鍗栦簡鎹㈤挶')"></geek-order>
-
-    <uni-section class="mb-10" title="棰滆壊閫夋嫨鍣�" sub-title="order" type="line"></uni-section>
-    <geek-color-picker ref="gk" @confirm="getcolor"></geek-color-picker>
-    <button @click="open()">鎵撳紑棰滆壊閫夋嫨鍣�</button>
-
-
-    <uni-section class="mb-10" title="浜岀淮鐮�" sub-title="order" type="line"></uni-section>
-    <view style="display: flex;align-items: center;justify-content: center;">
-      <geek-qrcode cid="qrcode2" ref="qrcode2" val="浜岀淮鐮�" :loadMake="true" />
-    </view>
-  </view>
-</template>
-
-<script setup lang="ts">
-import { ref, reactive } from 'vue';
-import modal from '@/plugins/modal'
-import { Commodity, CommodityOrder, Menu } from "@/components/geek-xd/types"
-
-const gk = ref(null)
-function open() {
-  //@ts-ignore
-  gk.value.open()
-}
-function getcolor(color: { hex: string, rgba: { r: number, g: number, b: number, a: number } }) {
-  console.log(color)
-}
-
-const menus: Array<Menu> = reactive([
-  { icon: "/static/images/icon/rocket.png", label: '鎶㈠崟' },
-  { icon: "/static/images/icon/phone.png", label: '鍥炶' },
-  { icon: "/static/images/icon/message.png", label: '娑堟伅' },
-  { icon: "/static/images/icon/dialogue.png", label: '鍏憡' },
-  { icon: "/static/images/icon/knowledge.png", label: '鐭ヨ瘑搴�' }
-]);
-
-const commodityList: Array<Commodity> = reactive([
-  {
-    img: '/static/images/banner/banner01.jpg',
-    title: '鍟嗗搧1',
-    subTitle: '鍟嗗搧1绠�浠�',
-    price: 100,
-  },
-  {
-    img: '/static/images/banner/banner02.jpg',
-    title: '鍟嗗搧2',
-    subTitle: '鍟嗗搧2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠嬪晢鍝�2绠�浠�',
-    price: 300,
-  },
-  {
-    img: '/static/images/banner/banner03.jpg',
-    title: '鍟嗗搧3',
-    subTitle: '鍟嗗搧3绠�浠�',
-    price: 200,
-  }
-])
-
-const orderList: Array<CommodityOrder> = [
-  {
-    shop: 'geek鑷惀鏃楄埌搴�',
-    status: '瀹屾垚',
-    img: '/static/images/banner/banner01.jpg',
-    title: '鍟嗗搧1',
-    label: '鍟嗗搧1绠�浠�',
-    price: 100.32,
-    num: 10
-  },
-  {
-    shop: 'geek鑷惀鏃楄埌搴�',
-    status: '宸插彇娑�',
-    img: '/static/images/banner/banner03.jpg',
-    title: '鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍝�3',
-    label: '鍟嗗搧3绠�浠�',
-    price: 2000.67,
-    num: 10
-  },
-  {
-    shop: 'geek鑷惀鏃楄埌搴�',
-    status: '宸插彇娑�',
-    img: '/static/images/banner/banner03.jpg',
-    title: '鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍟嗗晢鍝�3',
-    label: '鍟嗗搧3绠�浠�',
-    price: 10.67,
-    num: 10
-  }
-]
-
-
-</script>
-
-<style lang="scss" scoped></style>
diff --git a/src/pages_mine/pages/about/index.vue b/src/pages_mine/pages/about/index.vue
deleted file mode 100644
index be4c88f..0000000
--- a/src/pages_mine/pages/about/index.vue
+++ /dev/null
@@ -1,71 +0,0 @@
-<template>
-  <view class="about-container">
-    <view class="header-section text-center">
-      <image style="width: 150rpx;height: 150rpx;" src="/static/logo.png" mode="widthFix">
-      </image>
-      <uni-title type="h2" title="鑻ヤ緷绉诲姩绔�"></uni-title>
-    </view>
-
-    <view class="content-section">
-      <view class="menu-list">
-        <view class="list-cell list-cell-arrow">
-          <view class="menu-item-box">
-            <view>鐗堟湰淇℃伅</view>
-            <view class="text-right">v{{version}}</view>
-          </view>
-        </view>
-        <view class="list-cell list-cell-arrow">
-          <view class="menu-item-box">
-            <view>瀹樻柟閭</view>
-            <view class="text-right">ruoyi@xx.com</view>
-          </view>
-        </view>
-        <view class="list-cell list-cell-arrow">
-          <view class="menu-item-box">
-            <view>鏈嶅姟鐑嚎</view>
-            <view class="text-right">400-999-9999</view>
-          </view>
-        </view>
-        <view class="list-cell list-cell-arrow">
-          <view class="menu-item-box">
-            <view>鍏徃缃戠珯</view>
-            <view class="text-right">
-              <uni-link :href="url" :text="url" showUnderLine="false"></uni-link>
-            </view>
-          </view>
-        </view>
-      </view>
-    </view>
-
-    <view class="copyright">
-      <view>Copyright &copy; 2022 ruoyi.vip All Rights Reserved.</view>
-    </view>
-  </view>
-</template>
-
-<script setup>
-	import config from '@/config.js'
-	const url=config.appInfo.site_url;
-	const version=config.appInfo.version;
-  
-</script>
-
-<style lang="scss">
-  page {
-    background-color: #f8f8f8;
-  }
-
-  .copyright {
-    margin-top: 50rpx;
-    text-align: center;
-    line-height: 60rpx;
-    color: #999;
-  }
-
-  .header-section {
-    display: flex;
-    padding: 30rpx 0 0;
-    flex-direction: column;
-    align-items: center;
-  }
-</style>
diff --git a/src/pages_mine/pages/avatar/index.vue b/src/pages_mine/pages/avatar/index.vue
deleted file mode 100644
index 2b97713..0000000
--- a/src/pages_mine/pages/avatar/index.vue
+++ /dev/null
@@ -1,642 +0,0 @@
-<template>
-	<view class="container">
-		<view class="page-body uni-content-info">
-			<view class='cropper-content'>
-				<view v-if="isShowImg" class="uni-corpper"
-					:style="'width:' + cropperInitW + 'px;height:' + cropperInitH + 'px;background:#000'">
-					<view class="uni-corpper-content"
-						:style="'width:' + cropperW + 'px;height:' + cropperH + 'px;left:' + cropperL + 'px;top:' + cropperT + 'px'">
-						<image :src="imageSrc" :style="'width:' + cropperW + 'px;height:' + cropperH + 'px'"></image>
-						<view class="uni-corpper-crop-box" @touchstart.stop="contentStartMove"
-							@touchmove.stop="contentMoveing" @touchend.stop="contentTouchEnd"
-							:style="'left:' + cutL + 'px;top:' + cutT + 'px;right:' + cutR + 'px;bottom:' + cutB + 'px'">
-							<view class="uni-cropper-view-box">
-								<view class="uni-cropper-dashed-h"></view>
-								<view class="uni-cropper-dashed-v"></view>
-								<view class="uni-cropper-line-t" data-drag="top" @touchstart.stop="dragStart"
-									@touchmove.stop="dragMove"></view>
-								<view class="uni-cropper-line-r" data-drag="right" @touchstart.stop="dragStart"
-									@touchmove.stop="dragMove"></view>
-								<view class="uni-cropper-line-b" data-drag="bottom" @touchstart.stop="dragStart"
-									@touchmove.stop="dragMove"></view>
-								<view class="uni-cropper-line-l" data-drag="left" @touchstart.stop="dragStart"
-									@touchmove.stop="dragMove"></view>
-								<view class="uni-cropper-point point-t" data-drag="top" @touchstart.stop="dragStart"
-									@touchmove.stop="dragMove"></view>
-								<view class="uni-cropper-point point-tr" data-drag="topTight"></view>
-								<view class="uni-cropper-point point-r" data-drag="right" @touchstart.stop="dragStart"
-									@touchmove.stop="dragMove"></view>
-								<view class="uni-cropper-point point-rb" data-drag="rightBottom"
-									@touchstart.stop="dragStart" @touchmove.stop="dragMove"></view>
-								<view class="uni-cropper-point point-b" data-drag="bottom" @touchstart.stop="dragStart"
-									@touchmove.stop="dragMove" @touchend.stop="dragEnd"></view>
-								<view class="uni-cropper-point point-bl" data-drag="bottomLeft"></view>
-								<view class="uni-cropper-point point-l" data-drag="left" @touchstart.stop="dragStart"
-									@touchmove.stop="dragMove"></view>
-								<view class="uni-cropper-point point-lt" data-drag="leftTop"></view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class='cropper-config'>
-				<button type="primary reverse" @click="getImage" style='margin-top: 30rpx;'> 閫夋嫨澶村儚 </button>
-				<button type="warn" @click="getImageInfo" style='margin-top: 30rpx;'> 鎻愪氦 </button>
-			</view>
-			<canvas canvas-id="myCanvas"
-				:style="'position:absolute;border: 1px solid red; width:' + imageW + 'px;height:' + imageH + 'px;top:-9999px;left:-9999px;'"></canvas>
-		</view>
-	</view>
-</template>
-
-<script>
-import config from '@/config'
-import { uploadAvatar } from "@/api/system/user"
-import useUserStore from '@/store/modules/user'
-
-const baseUrl = config.baseUrl
-let sysInfo = uni.getSystemInfoSync()
-let SCREEN_WIDTH = sysInfo.screenWidth
-let PAGE_X, // 鎵嬫寜涓嬬殑x浣嶇疆
-	PAGE_Y, // 鎵嬫寜涓媦鐨勪綅缃� 
-	PR = sysInfo.pixelRatio, // dpi
-	T_PAGE_X, // 鎵嬬Щ鍔ㄧ殑鏃跺�檟鐨勪綅缃�
-	T_PAGE_Y, // 鎵嬬Щ鍔ㄧ殑鏃跺�橸鐨勪綅缃�
-	CUT_L, // 鍒濆鍖栨嫋鎷藉厓绱犵殑left鍊�
-	CUT_T, // 鍒濆鍖栨嫋鎷藉厓绱犵殑top鍊�
-	CUT_R, // 鍒濆鍖栨嫋鎷藉厓绱犵殑
-	CUT_B, // 鍒濆鍖栨嫋鎷藉厓绱犵殑
-	CUT_W, // 鍒濆鍖栨嫋鎷藉厓绱犵殑瀹藉害
-	CUT_H, //  鍒濆鍖栨嫋鎷藉厓绱犵殑楂樺害
-	IMG_RATIO, // 鍥剧墖姣斾緥
-	IMG_REAL_W, // 鍥剧墖瀹為檯鐨勫搴�
-	IMG_REAL_H, // 鍥剧墖瀹為檯鐨勯珮搴�
-	DRAFG_MOVE_RATIO = 1, //绉诲姩鏃跺�欑殑姣斾緥,
-	INIT_DRAG_POSITION = 100, // 鍒濆鍖栧睆骞曞搴﹀拰瑁佸壀鍖哄煙鐨勫搴︿箣宸紝鐢ㄤ簬璁剧疆鍒濆鍖栬鍓殑瀹藉害
-	DRAW_IMAGE_W = sysInfo.screenWidth // 璁剧疆鐢熸垚鐨勫浘鐗囧搴�
-
-export default {
-	/**
-	 * 椤甸潰鐨勫垵濮嬫暟鎹�
-	 */
-	data() {
-		return {
-			imageSrc: useUserStore().avatar,
-			isShowImg: false,
-			// 鍒濆鍖栫殑瀹介珮
-			cropperInitW: SCREEN_WIDTH,
-			cropperInitH: SCREEN_WIDTH,
-			// 鍔ㄦ�佺殑瀹介珮
-			cropperW: SCREEN_WIDTH,
-			cropperH: SCREEN_WIDTH,
-			// 鍔ㄦ�佺殑left top鍊�
-			cropperL: 0,
-			cropperT: 0,
-
-			transL: 0,
-			transT: 0,
-
-			// 鍥剧墖缂╂斁鍊�
-			scaleP: 0,
-			imageW: 0,
-			imageH: 0,
-
-			// 瑁佸壀妗� 瀹介珮
-			cutL: 0,
-			cutT: 0,
-			cutB: SCREEN_WIDTH,
-			cutR: '100%',
-			qualityWidth: DRAW_IMAGE_W,
-			innerAspectRadio: DRAFG_MOVE_RATIO
-		}
-	},
-	/**
-	 * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
-	 */
-	onReady: function () {
-		this.loadImage()
-	},
-	methods: {
-		setData: function (obj) {
-			let that = this
-			Object.keys(obj).forEach(function (key) {
-				that.$set(that.$data, key, obj[key])
-			})
-		},
-		getImage: function () {
-			var _this = this
-			uni.chooseImage({
-				success: function (res) {
-					_this.setData({
-						imageSrc: res.tempFilePaths[0],
-					})
-					_this.loadImage()
-				},
-			})
-		},
-		loadImage: function () {
-			var _this = this
-
-			uni.getImageInfo({
-				src: _this.imageSrc,
-				success: function success(res) {
-					IMG_RATIO = 1 / 1
-					if (IMG_RATIO >= 1) {
-						IMG_REAL_W = SCREEN_WIDTH
-						IMG_REAL_H = SCREEN_WIDTH / IMG_RATIO
-					} else {
-						IMG_REAL_W = SCREEN_WIDTH * IMG_RATIO
-						IMG_REAL_H = SCREEN_WIDTH
-					}
-					let minRange = IMG_REAL_W > IMG_REAL_H ? IMG_REAL_W : IMG_REAL_H
-					INIT_DRAG_POSITION = minRange > INIT_DRAG_POSITION ? INIT_DRAG_POSITION : minRange
-					// 鏍规嵁鍥剧墖鐨勫楂樻樉绀轰笉鍚岀殑鏁堟灉   淇濊瘉鍥剧墖鍙互姝e父鏄剧ず
-					if (IMG_RATIO >= 1) {
-						let cutT = Math.ceil((SCREEN_WIDTH / IMG_RATIO - (SCREEN_WIDTH / IMG_RATIO - INIT_DRAG_POSITION)) / 2)
-						let cutB = cutT
-						let cutL = Math.ceil((SCREEN_WIDTH - SCREEN_WIDTH + INIT_DRAG_POSITION) / 2)
-						let cutR = cutL
-						_this.setData({
-							cropperW: SCREEN_WIDTH,
-							cropperH: SCREEN_WIDTH / IMG_RATIO,
-							// 鍒濆鍖杔eft right
-							cropperL: Math.ceil((SCREEN_WIDTH - SCREEN_WIDTH) / 2),
-							cropperT: Math.ceil((SCREEN_WIDTH - SCREEN_WIDTH / IMG_RATIO) / 2),
-							cutL: cutL,
-							cutT: cutT,
-							cutR: cutR,
-							cutB: cutB,
-							// 鍥剧墖缂╂斁鍊�
-							imageW: IMG_REAL_W,
-							imageH: IMG_REAL_H,
-							scaleP: IMG_REAL_W / SCREEN_WIDTH,
-							qualityWidth: DRAW_IMAGE_W,
-							innerAspectRadio: IMG_RATIO
-						})
-					} else {
-						let cutL = Math.ceil((SCREEN_WIDTH * IMG_RATIO - (SCREEN_WIDTH * IMG_RATIO)) / 2)
-						let cutR = cutL
-						let cutT = Math.ceil((SCREEN_WIDTH - INIT_DRAG_POSITION) / 2)
-						let cutB = cutT
-						_this.setData({
-							cropperW: SCREEN_WIDTH * IMG_RATIO,
-							cropperH: SCREEN_WIDTH,
-							// 鍒濆鍖杔eft right
-							cropperL: Math.ceil((SCREEN_WIDTH - SCREEN_WIDTH * IMG_RATIO) / 2),
-							cropperT: Math.ceil((SCREEN_WIDTH - SCREEN_WIDTH) / 2),
-
-							cutL: cutL,
-							cutT: cutT,
-							cutR: cutR,
-							cutB: cutB,
-							// 鍥剧墖缂╂斁鍊�
-							imageW: IMG_REAL_W,
-							imageH: IMG_REAL_H,
-							scaleP: IMG_REAL_W / SCREEN_WIDTH,
-							qualityWidth: DRAW_IMAGE_W,
-							innerAspectRadio: IMG_RATIO
-						})
-					}
-					_this.setData({
-						isShowImg: true
-					})
-					uni.hideLoading()
-				}
-			})
-		},
-		// 鎷栧姩鏃跺�欒Е鍙戠殑touchStart浜嬩欢
-		contentStartMove(e) {
-			PAGE_X = e.touches[0].pageX
-			PAGE_Y = e.touches[0].pageY
-		},
-
-		// 鎷栧姩鏃跺�欒Е鍙戠殑touchMove浜嬩欢
-		contentMoveing(e) {
-			var _this = this
-			var dragLengthX = (PAGE_X - e.touches[0].pageX) * DRAFG_MOVE_RATIO
-			var dragLengthY = (PAGE_Y - e.touches[0].pageY) * DRAFG_MOVE_RATIO
-			// 宸︾Щ
-			if (dragLengthX > 0) {
-				if (this.cutL - dragLengthX < 0) dragLengthX = this.cutL
-			} else {
-				if (this.cutR + dragLengthX < 0) dragLengthX = -this.cutR
-			}
-
-			if (dragLengthY > 0) {
-				if (this.cutT - dragLengthY < 0) dragLengthY = this.cutT
-			} else {
-				if (this.cutB + dragLengthY < 0) dragLengthY = -this.cutB
-			}
-			this.setData({
-				cutL: this.cutL - dragLengthX,
-				cutT: this.cutT - dragLengthY,
-				cutR: this.cutR + dragLengthX,
-				cutB: this.cutB + dragLengthY
-			})
-
-			PAGE_X = e.touches[0].pageX
-			PAGE_Y = e.touches[0].pageY
-		},
-
-		contentTouchEnd() {
-
-		},
-
-		// 鑾峰彇鍥剧墖
-		getImageInfo() {
-			var _this = this
-			uni.showLoading({
-				title: '鍥剧墖鐢熸垚涓�...',
-			})
-			// 灏嗗浘鐗囧啓鍏ョ敾甯�
-			const ctx = uni.createCanvasContext('myCanvas')
-			ctx.drawImage(_this.imageSrc, 0, 0, IMG_REAL_W, IMG_REAL_H)
-			ctx.draw(true, () => {
-				// 鑾峰彇鐢诲竷瑕佽鍓殑浣嶇疆鍜屽搴�   鍧囦负鐧惧垎姣� * 鐢诲竷涓浘鐗囩殑瀹藉害    淇濊瘉浜嗗湪寰俊灏忕▼搴忎腑瑁佸壀鐨勫浘鐗囨ā绯�  浣嶇疆涓嶅鐨勯棶棰� canvasT = (_this.cutT / _this.cropperH) * (_this.imageH / pixelRatio)
-				var canvasW = ((_this.cropperW - _this.cutL - _this.cutR) / _this.cropperW) * IMG_REAL_W
-				var canvasH = ((_this.cropperH - _this.cutT - _this.cutB) / _this.cropperH) * IMG_REAL_H
-				var canvasL = (_this.cutL / _this.cropperW) * IMG_REAL_W
-				var canvasT = (_this.cutT / _this.cropperH) * IMG_REAL_H
-				uni.canvasToTempFilePath({
-					x: canvasL,
-					y: canvasT,
-					width: canvasW,
-					height: canvasH,
-					destWidth: canvasW,
-					destHeight: canvasH,
-					quality: 0.5,
-					canvasId: 'myCanvas',
-					success: function (res) {
-						uni.hideLoading()
-						let data = { name: 'avatarfile', filePath: res.tempFilePath }
-						uploadAvatar(data).then(response => {
-							// userStore.avatar =  response.imgUrl
-							/*cloud*/
-							useUserStore().avatar = baseUrl + response.imgUrl
-							uni.showToast({ title: "淇敼鎴愬姛", icon: 'success' })
-							uni.$emit('refresh');
-							uni.navigateBack();
-						})
-					}
-				})
-			})
-		},
-		// 璁剧疆澶у皬鐨勬椂鍊欒Е鍙戠殑touchStart浜嬩欢
-		dragStart(e) {
-			T_PAGE_X = e.touches[0].pageX
-			T_PAGE_Y = e.touches[0].pageY
-			CUT_L = this.cutL
-			CUT_R = this.cutR
-			CUT_B = this.cutB
-			CUT_T = this.cutT
-		},
-
-		// 璁剧疆澶у皬鐨勬椂鍊欒Е鍙戠殑touchMove浜嬩欢
-		dragMove(e) {
-			var _this = this
-			var dragType = e.target.dataset.drag
-			switch (dragType) {
-				case 'right':
-					var dragLength = (T_PAGE_X - e.touches[0].pageX) * DRAFG_MOVE_RATIO
-					if (CUT_R + dragLength < 0) dragLength = -CUT_R
-					this.setData({
-						cutR: CUT_R + dragLength
-					})
-					break
-				case 'left':
-					var dragLength = (T_PAGE_X - e.touches[0].pageX) * DRAFG_MOVE_RATIO
-					if (CUT_L - dragLength < 0) dragLength = CUT_L
-					if ((CUT_L - dragLength) > (this.cropperW - this.cutR)) dragLength = CUT_L - (this.cropperW - this.cutR)
-					this.setData({
-						cutL: CUT_L - dragLength
-					})
-					break
-				case 'top':
-					var dragLength = (T_PAGE_Y - e.touches[0].pageY) * DRAFG_MOVE_RATIO
-					if (CUT_T - dragLength < 0) dragLength = CUT_T
-					if ((CUT_T - dragLength) > (this.cropperH - this.cutB)) dragLength = CUT_T - (this.cropperH - this.cutB)
-					this.setData({
-						cutT: CUT_T - dragLength
-					})
-					break
-				case 'bottom':
-					var dragLength = (T_PAGE_Y - e.touches[0].pageY) * DRAFG_MOVE_RATIO
-					if (CUT_B + dragLength < 0) dragLength = -CUT_B
-					this.setData({
-						cutB: CUT_B + dragLength
-					})
-					break
-				case 'rightBottom':
-					var dragLengthX = (T_PAGE_X - e.touches[0].pageX) * DRAFG_MOVE_RATIO
-					var dragLengthY = (T_PAGE_Y - e.touches[0].pageY) * DRAFG_MOVE_RATIO
-
-					if (CUT_B + dragLengthY < 0) dragLengthY = -CUT_B
-					if (CUT_R + dragLengthX < 0) dragLengthX = -CUT_R
-					let cutB = CUT_B + dragLengthY
-					let cutR = CUT_R + dragLengthX
-
-					this.setData({
-						cutB: cutB,
-						cutR: cutR
-					})
-					break
-				default:
-					break
-			}
-		}
-	}
-}
-</script>
-
-<style>
-/* pages/uni-cropper/index.wxss */
-
-.cropper-config {
-	padding: 20rpx 40rpx;
-}
-
-.cropper-content {
-	min-height: 750rpx;
-	width: 100%;
-}
-
-.uni-corpper {
-	position: relative;
-	overflow: hidden;
-	-webkit-user-select: none;
-	-moz-user-select: none;
-	-ms-user-select: none;
-	user-select: none;
-	-webkit-tap-highlight-color: transparent;
-	-webkit-touch-callout: none;
-	box-sizing: border-box;
-}
-
-.uni-corpper-content {
-	position: relative;
-}
-
-.uni-corpper-content image {
-	display: block;
-	width: 100%;
-	min-width: 0 !important;
-	max-width: none !important;
-	height: 100%;
-	min-height: 0 !important;
-	max-height: none !important;
-	image-orientation: 0deg !important;
-	margin: 0 auto;
-}
-
-/* 绉诲姩鍥剧墖鏁堟灉 */
-
-.uni-cropper-drag-box {
-	position: absolute;
-	top: 0;
-	right: 0;
-	bottom: 0;
-	left: 0;
-	cursor: move;
-	background: rgba(0, 0, 0, 0.6);
-	z-index: 1;
-}
-
-/* 鍐呴儴鐨勪俊鎭� */
-
-.uni-corpper-crop-box {
-	position: absolute;
-	background: rgba(255, 255, 255, 0.3);
-	z-index: 2;
-}
-
-.uni-corpper-crop-box .uni-cropper-view-box {
-	position: relative;
-	display: block;
-	width: 100%;
-	height: 100%;
-	overflow: visible;
-	outline: 1rpx solid #69f;
-	outline-color: rgba(102, 153, 255, .75)
-}
-
-/* 妯悜铏氱嚎 */
-
-.uni-cropper-dashed-h {
-	position: absolute;
-	top: 33.33333333%;
-	left: 0;
-	width: 100%;
-	height: 33.33333333%;
-	border-top: 1rpx dashed rgba(255, 255, 255, 0.5);
-	border-bottom: 1rpx dashed rgba(255, 255, 255, 0.5);
-}
-
-/* 绾靛悜铏氱嚎 */
-
-.uni-cropper-dashed-v {
-	position: absolute;
-	left: 33.33333333%;
-	top: 0;
-	width: 33.33333333%;
-	height: 100%;
-	border-left: 1rpx dashed rgba(255, 255, 255, 0.5);
-	border-right: 1rpx dashed rgba(255, 255, 255, 0.5);
-}
-
-/* 鍥涗釜鏂瑰悜鐨勭嚎  涓轰簡涔嬪悗鐨勬嫋鍔ㄤ簨浠�*/
-
-.uni-cropper-line-t {
-	position: absolute;
-	display: block;
-	width: 100%;
-	background-color: #69f;
-	top: 0;
-	left: 0;
-	height: 1rpx;
-	opacity: 0.1;
-	cursor: n-resize;
-}
-
-.uni-cropper-line-t::before {
-	content: '';
-	position: absolute;
-	top: 50%;
-	right: 0rpx;
-	width: 100%;
-	-webkit-transform: translate3d(0, -50%, 0);
-	transform: translate3d(0, -50%, 0);
-	bottom: 0;
-	height: 41rpx;
-	background: transparent;
-	z-index: 11;
-}
-
-.uni-cropper-line-r {
-	position: absolute;
-	display: block;
-	background-color: #69f;
-	top: 0;
-	right: 0rpx;
-	width: 1rpx;
-	opacity: 0.1;
-	height: 100%;
-	cursor: e-resize;
-}
-
-.uni-cropper-line-r::before {
-	content: '';
-	position: absolute;
-	top: 0;
-	left: 50%;
-	width: 41rpx;
-	-webkit-transform: translate3d(-50%, 0, 0);
-	transform: translate3d(-50%, 0, 0);
-	bottom: 0;
-	height: 100%;
-	background: transparent;
-	z-index: 11;
-}
-
-.uni-cropper-line-b {
-	position: absolute;
-	display: block;
-	width: 100%;
-	background-color: #69f;
-	bottom: 0;
-	left: 0;
-	height: 1rpx;
-	opacity: 0.1;
-	cursor: s-resize;
-}
-
-.uni-cropper-line-b::before {
-	content: '';
-	position: absolute;
-	top: 50%;
-	right: 0rpx;
-	width: 100%;
-	-webkit-transform: translate3d(0, -50%, 0);
-	transform: translate3d(0, -50%, 0);
-	bottom: 0;
-	height: 41rpx;
-	background: transparent;
-	z-index: 11;
-}
-
-.uni-cropper-line-l {
-	position: absolute;
-	display: block;
-	background-color: #69f;
-	top: 0;
-	left: 0;
-	width: 1rpx;
-	opacity: 0.1;
-	height: 100%;
-	cursor: w-resize;
-}
-
-.uni-cropper-line-l::before {
-	content: '';
-	position: absolute;
-	top: 0;
-	left: 50%;
-	width: 41rpx;
-	-webkit-transform: translate3d(-50%, 0, 0);
-	transform: translate3d(-50%, 0, 0);
-	bottom: 0;
-	height: 100%;
-	background: transparent;
-	z-index: 11;
-}
-
-.uni-cropper-point {
-	width: 5rpx;
-	height: 5rpx;
-	background-color: #69f;
-	opacity: .75;
-	position: absolute;
-	z-index: 3;
-}
-
-.point-t {
-	top: -3rpx;
-	left: 50%;
-	margin-left: -3rpx;
-	cursor: n-resize;
-}
-
-.point-tr {
-	top: -3rpx;
-	left: 100%;
-	margin-left: -3rpx;
-	cursor: n-resize;
-}
-
-.point-r {
-	top: 50%;
-	left: 100%;
-	margin-left: -3rpx;
-	margin-top: -3rpx;
-	cursor: n-resize;
-}
-
-.point-rb {
-	left: 100%;
-	top: 100%;
-	-webkit-transform: translate3d(-50%, -50%, 0);
-	transform: translate3d(-50%, -50%, 0);
-	cursor: n-resize;
-	width: 36rpx;
-	height: 36rpx;
-	background-color: #69f;
-	position: absolute;
-	z-index: 1112;
-	opacity: 1;
-}
-
-.point-b {
-	left: 50%;
-	top: 100%;
-	margin-left: -3rpx;
-	margin-top: -3rpx;
-	cursor: n-resize;
-}
-
-.point-bl {
-	left: 0%;
-	top: 100%;
-	margin-left: -3rpx;
-	margin-top: -3rpx;
-	cursor: n-resize;
-}
-
-.point-l {
-	left: 0%;
-	top: 50%;
-	margin-left: -3rpx;
-	margin-top: -3rpx;
-	cursor: n-resize;
-}
-
-.point-lt {
-	left: 0%;
-	top: 0%;
-	margin-left: -3rpx;
-	margin-top: -3rpx;
-	cursor: n-resize;
-}
-
-/* 瑁佸壀妗嗛瑙堝唴瀹� */
-
-.uni-cropper-viewer {
-	position: relative;
-	width: 100%;
-	height: 100%;
-	overflow: hidden;
-}
-
-.uni-cropper-viewer image {
-	position: absolute;
-	z-index: 2;
-}
-</style>
diff --git a/src/pages_mine/pages/help/index.vue b/src/pages_mine/pages/help/index.vue
deleted file mode 100644
index a91df4c..0000000
--- a/src/pages_mine/pages/help/index.vue
+++ /dev/null
@@ -1,109 +0,0 @@
-<template>
-  <view class="help-container">
-    <view v-for="(item, findex) in list" :key="findex" :title="item.title" class="list-title">
-      <view class="text-title">
-        <view :class="item.icon"></view>{{ item.title }}
-      </view>
-      <view class="childList">
-        <view v-for="(child, zindex) in item.childList" :key="zindex" class="question" hover-class="hover"
-          @click="handleText(child)">
-          <view class="text-item">{{ child.title }}</view>
-          <view class="line" v-if="zindex !== item.childList.length - 1"></view>
-        </view>
-      </view>
-    </view>
-  </view>
-</template>
-
-<script setup>
-	import { ref } from "vue";
-	
-	const list =ref([{
-            icon: 'iconfont icon-github',
-            title: '鑻ヤ緷闂',
-            childList: [{
-              title: '鑻ヤ緷寮�婧愬悧锛�',
-              content: '寮�婧�'
-            }, {
-              title: '鑻ヤ緷鍙互鍟嗙敤鍚楋紵',
-              content: '鍙互'
-            }, {
-              title: '鑻ヤ緷瀹樼綉鍦板潃澶氬皯锛�',
-              content: 'http://ruoyi.vip'
-            }, {
-              title: '鑻ヤ緷鏂囨。鍦板潃澶氬皯锛�',
-              content: 'http://doc.ruoyi.vip'
-            }]
-          },
-          {
-            icon: 'iconfont icon-help',
-            title: '鍏朵粬闂',
-            childList: [{
-              title: '濡備綍閫�鍑虹櫥褰曪紵',
-              content: '璇风偣鍑籟鎴戠殑] - [搴旂敤璁剧疆] - [閫�鍑虹櫥褰昡鍗冲彲閫�鍑虹櫥褰�',
-            }, {
-              title: '濡備綍淇敼鐢ㄦ埛澶村儚锛�',
-              content: '璇风偣鍑籟鎴戠殑] - [閫夋嫨澶村儚] - [鐐瑰嚮鎻愪氦]鍗冲彲鏇存崲鐢ㄦ埛澶村儚',
-            }, {
-              title: '濡備綍淇敼鐧诲綍瀵嗙爜锛�',
-              content: '璇风偣鍑籟鎴戠殑] - [搴旂敤璁剧疆] - [淇敼瀵嗙爜]鍗冲彲淇敼鐧诲綍瀵嗙爜',
-            }]
-          }
-        ])
-	
-	function handleText(item) {
-		uni.navigateTo({
-			url: `/pages/common/textview/index?title=${item.title}&content=${item.content}`
-		});
-	}
-</script>
-
-<style lang="scss" scoped>
-  page {
-    background-color: #f8f8f8;
-  }
-
-  .help-container {
-    margin-bottom: 100rpx;
-    padding: 30rpx;
-  }
-
-  .list-title {
-    margin-bottom: 30rpx;
-  }
-
-  .childList {
-    background: #ffffff;
-    box-shadow: 0px 0px 10rpx rgba(193, 193, 193, 0.2);
-    border-radius: 16rpx;
-    margin-top: 10rpx;
-  }
-
-  .line {
-    width: 100%;
-    height: 1rpx;
-    background-color: #F5F5F5;
-  }
-
-  .text-title {
-    color: #303133;
-    font-size: 32rpx;
-    font-weight: bold;
-    margin-left: 10rpx;
-
-    .iconfont {
-      font-size: 16px;
-      margin-right: 10rpx;
-    }
-  }
-
-  .text-item {
-    font-size: 28rpx;
-    padding: 24rpx;
-  }
-
-  .question {
-    color: #606266;
-    font-size: 28rpx;
-  }
-</style>
diff --git a/src/pages_mine/pages/info/edit.vue b/src/pages_mine/pages/info/edit.vue
deleted file mode 100644
index 5ec9b7b..0000000
--- a/src/pages_mine/pages/info/edit.vue
+++ /dev/null
@@ -1,132 +0,0 @@
-<template>
-  <view class="container">
-    <view class="example">
-      <uni-forms ref="form" :model="user" labelWidth="80px">
-        <uni-forms-item label="鐢ㄦ埛鏄电О" name="nickName">
-          <uni-easyinput v-model="user.nickName" placeholder="璇疯緭鍏ユ樀绉�" />
-        </uni-forms-item>
-        <uni-forms-item label="鎵嬫満鍙风爜" name="phonenumber">
-          <uni-easyinput v-model="user.phonenumber" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" />
-        </uni-forms-item>
-        <uni-forms-item label="閭" name="email">
-          <uni-easyinput v-model="user.email" placeholder="璇疯緭鍏ラ偖绠�" />
-        </uni-forms-item>
-        <uni-forms-item label="鎬у埆" name="sex" required>
-          <uni-data-checkbox v-model="user.sex" :localdata="sexs" />
-        </uni-forms-item>
-      </uni-forms>
-      <button type="primary" @click="submit">鎻愪氦</button>
-    </view>
-  </view>
-</template>
-
-<script>
-import { getUserProfile } from "@/api/system/user"
-import { updateUserProfile } from "@/api/system/user"
-
-export default {
-  data() {
-    return {
-      user: {
-        nickName: "",
-        phonenumber: "",
-        email: "",
-        sex: ""
-      },
-      sexs: [{
-        text: '鐢�',
-        value: "0"
-      }, {
-        text: '濂�',
-        value: "1"
-      }],
-      rules: {
-        nickName: {
-          rules: [{
-            required: true,
-            errorMessage: '鐢ㄦ埛鏄电О涓嶈兘涓虹┖'
-          }]
-        },
-        phonenumber: {
-          rules: [{
-            required: true,
-            errorMessage: '鎵嬫満鍙风爜涓嶈兘涓虹┖'
-          }, {
-            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-            errorMessage: '璇疯緭鍏ユ纭殑鎵嬫満鍙风爜'
-          }]
-        },
-        email: {
-          rules: [{
-            required: true,
-            errorMessage: '閭鍦板潃涓嶈兘涓虹┖'
-          }, {
-            format: 'email',
-            errorMessage: '璇疯緭鍏ユ纭殑閭鍦板潃'
-          }]
-        }
-      }
-    }
-  },
-  onLoad() {
-    this.getUser()
-  },
-  onReady() {
-    this.$refs.form.setRules(this.rules)
-  },
-  methods: {
-    getUser() {
-      getUserProfile().then(response => {
-        this.user = response.data
-      })
-    },
-    submit(ref) {
-      this.$refs.form.validate().then(res => {
-        updateUserProfile(this.user).then(response => {
-          uni.showToast({
-            title: '淇敼鎴愬姛',
-            mask: false,
-            duration: 1000
-          });
-          uni.navigateBack();
-        })
-      })
-    }
-  }
-}
-</script>
-
-<style lang="scss">
-page {
-  background-color: #ffffff;
-}
-
-.example {
-  padding: 15px;
-  background-color: #fff;
-}
-
-.segmented-control {
-  margin-bottom: 15px;
-}
-
-.button-group {
-  margin-top: 15px;
-  display: flex;
-  justify-content: space-around;
-}
-
-.form-item {
-  display: flex;
-  align-items: center;
-  flex: 1;
-}
-
-.button {
-  display: flex;
-  align-items: center;
-  height: 35px;
-  line-height: 35px;
-  margin-left: 10px;
-}
-</style>
diff --git a/src/pages_mine/pages/info/index.vue b/src/pages_mine/pages/info/index.vue
deleted file mode 100644
index 287aa9f..0000000
--- a/src/pages_mine/pages/info/index.vue
+++ /dev/null
@@ -1,53 +0,0 @@
-<template>
-  <view class="container">
-    <uni-list>
-      <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'person-filled' }" title="鏄电О" :rightText="user.nickName" />
-      <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'phone-filled' }" title="鎵嬫満鍙风爜"
-        :rightText="user.phonenumber" />
-      <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'email-filled' }" title="閭" :rightText="user.email" />
-      <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'auth-filled' }" title="宀椾綅" :rightText="postGroup" />
-      <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'staff-filled' }" title="瑙掕壊" :rightText="roleGroup" />
-      <uni-list-item showExtraIcon="true" :extraIcon="{ type: 'calendar-filled' }" title="鍒涘缓鏃ユ湡"
-        :rightText="user.createTime" />
-    </uni-list>
-
-    <u-button @click="register()">缁戝畾寰俊</u-button>
-  </view>
-</template>
-
-<script setup>
-import { getUserProfile } from "@/api/system/user"
-import { ref } from "vue";
-import modal from "@/plugins/modal"
-
-const user = ref({})
-const roleGroup = ref("")
-const postGroup = ref("")
-function getUser() {
-  getUserProfile().then(response => {
-    user.value = response.data
-    roleGroup.value = response.roleGroup
-    postGroup.value = response.postGroup
-  })
-}
-getUser()
-
-import { wxRegister } from "@/api/oauth"
-import { getWxCode } from "@/utils/geek"
-function register(){
-  modal.loading('缁戝畾寰俊涓�...')
-  getWxCode().then(res=>{
-    wxRegister('miniapp',res).then(res=>{
-      modal.closeLoading()
-    })
-  })
-  
-}
-
-</script>
-
-<style lang="scss">
-page {
-  background-color: #ffffff;
-}
-</style>
diff --git a/src/pages_mine/pages/pwd/index.vue b/src/pages_mine/pages/pwd/index.vue
deleted file mode 100644
index d0a10c5..0000000
--- a/src/pages_mine/pages/pwd/index.vue
+++ /dev/null
@@ -1,91 +0,0 @@
-<template>
-  <view class="pwd-retrieve-container">
-    <uni-forms ref="form" :value="user" labelWidth="80px">
-      <uni-forms-item name="oldPassword" label="鏃у瘑鐮�">
-        <uni-easyinput type="password" v-model="user.oldPassword" placeholder="璇疯緭鍏ユ棫瀵嗙爜" />
-      </uni-forms-item>
-      <uni-forms-item name="newPassword" label="鏂板瘑鐮�">
-        <uni-easyinput type="password" v-model="user.newPassword" placeholder="璇疯緭鍏ユ柊瀵嗙爜" />
-      </uni-forms-item>
-      <uni-forms-item name="confirmPassword" label="纭瀵嗙爜">
-        <uni-easyinput type="password" v-model="user.confirmPassword" placeholder="璇风‘璁ゆ柊瀵嗙爜" />
-      </uni-forms-item>
-      <button type="primary" @click="submit">鎻愪氦</button>
-    </uni-forms>
-  </view>
-</template>
-
-<script>
-  import { updateUserPwd } from "@/api/system/user"
-
-  export default {
-    data() {
-      return {
-        user: {
-          oldPassword: undefined,
-          newPassword: undefined,
-          confirmPassword: undefined
-        },
-        rules: {
-          oldPassword: {
-            rules: [{
-              required: true,
-              errorMessage: '鏃у瘑鐮佷笉鑳戒负绌�'
-            }]
-          },
-          newPassword: {
-            rules: [{
-                required: true,
-                errorMessage: '鏂板瘑鐮佷笉鑳戒负绌�',
-              },
-              {
-                minLength: 6,
-                maxLength: 20,
-                errorMessage: '闀垮害鍦� 6 鍒� 20 涓瓧绗�'
-              }
-            ]
-          },
-          confirmPassword: {
-            rules: [{
-                required: true,
-                errorMessage: '纭瀵嗙爜涓嶈兘涓虹┖'
-              }, {
-                validateFunction: (rule, value, data) => data.newPassword === value,
-                errorMessage: '涓ゆ杈撳叆鐨勫瘑鐮佷笉涓�鑷�'
-              }
-            ]
-          }
-        }
-      }
-    },
-    onReady() {
-      this.$refs.form.setRules(this.rules)
-    },
-    methods: {
-      submit() {
-        this.$refs.form.validate().then(res => {
-          updateUserPwd(this.user.oldPassword, this.user.newPassword).then(response => {
-			uni.showToast({
-			  title: '淇敼鎴愬姛',
-			  mask: false,
-			  duration: 1000
-			});
-			uni.navigateBack();
-          })
-		  
-        })
-      }
-    }
-  }
-</script>
-
-<style lang="scss">
-  page {
-    background-color: #ffffff;
-  }
-
-  .pwd-retrieve-container {
-    padding-top: 36rpx;
-    padding: 15px;
-  }
-</style>
diff --git a/src/pages_mine/pages/setting/index.vue b/src/pages_mine/pages/setting/index.vue
deleted file mode 100644
index 4504f17..0000000
--- a/src/pages_mine/pages/setting/index.vue
+++ /dev/null
@@ -1,104 +0,0 @@
-<template>
-  <view class="setting-container" :style="{ height: `${windowHeight}px` }">
-    <view class="menu-list">
-      <view class="list-cell list-cell-arrow" @click="handleToPwd">
-        <view class="menu-item-box">
-          <view class="iconfont icon-password menu-icon"></view>
-          <view>淇敼瀵嗙爜</view>
-        </view>
-      </view>
-      <view class="list-cell list-cell-arrow" @click="handleToUpgrade">
-        <view class="menu-item-box">
-          <view class="iconfont icon-refresh menu-icon"></view>
-          <view>妫�鏌ユ洿鏂�</view>
-        </view>
-      </view>
-      <view class="list-cell list-cell-arrow" @click="handleCleanTmp">
-        <view class="menu-item-box">
-          <view class="iconfont icon-clean menu-icon"></view>
-          <view>娓呯悊缂撳瓨</view>
-        </view>
-      </view>
-    </view>
-    <view class="cu-list menu">
-      <view class="cu-item item-box">
-        <view class="content text-center" @click="handleLogout">
-          <text class="text-black">閫�鍑虹櫥褰�</text>
-        </view>
-      </view>
-    </view>
-  </view>
-  <view>
-    <uni-popup ref="popup" type="dialog">
-      <uni-popup-dialog type="info" cancelText="鍏抽棴" confirmText="閫�鍑�" title="閫氱煡" content="纭畾娉ㄩ攢骞堕��鍑虹郴缁熷悧"
-        @confirm="dialogConfirm" @close="dialogClose">
-      </uni-popup-dialog>
-    </uni-popup>
-  </view>
-</template>
-
-<script setup>
-import { ref } from "vue";
-import useUserStore from '@/store/modules/user'
-const userStore = useUserStore()
-
-const windowHeight = ref(uni.getSystemInfoSync().windowHeight);
-const popup = ref(null);
-
-function handleToPwd() {
-  uni.navigateTo({
-    url: '/pages/mine/pwd/index'
-  });
-};
-
-function handleToUpgrade() {
-  uni.showToast({
-    title: '妯″潡寤鸿涓瓇',
-    mask: false,
-    icon: "none",
-    duration: 1000
-  });
-};
-
-function handleCleanTmp() {
-  uni.showToast({
-    title: '妯″潡寤鸿涓瓇',
-    mask: false,
-    icon: "none",
-    duration: 1000
-  });
-};
-function handleLogout() {
-  popup.value.open();
-};
-function dialogConfirm() {
-  //console.log('----------------鐐瑰嚮纭------------')
-  userStore.logOut().then(() => {
-    uni.reLaunch({
-      url: '/pages/login'
-    });
-  })
-};
-function dialogClose() {
-  //console.log('鐐瑰嚮鍏抽棴')
-};
-</script>
-
-<style lang="scss" scoped>
-.page {
-  background-color: #f8f8f8;
-}
-
-.item-box {
-  background-color: #FFFFFF;
-  margin: 30rpx;
-  display: flex;
-  flex-direction: row;
-  justify-content: center;
-  align-items: center;
-  padding: 10rpx;
-  border-radius: 8rpx;
-  color: #303133;
-  font-size: 32rpx;
-}
-</style>
diff --git a/src/pages_qiun/components/card-swiper/card-swiper.vue b/src/pages_qiun/components/card-swiper/card-swiper.vue
deleted file mode 100644
index 7bb2a6c..0000000
--- a/src/pages_qiun/components/card-swiper/card-swiper.vue
+++ /dev/null
@@ -1,148 +0,0 @@
-<template>
-	<view>
-		<view class="top-swiper">
-			<view class="box">
-				<view style="height: 44px;"></view>
-				<swiper class="swiper" :previous-margin="swiper.margin" :next-margin='swiper.margin' :circular="true"
-					@change="swiperChange">
-					<swiper-item v-for="(item,index) in card_menu" :key="index" @click="toUrl(item.url)">
-						<!-- <image class='le-img' :src='item' :class="{'le-active':swiper.index == index}"></image> -->
-						<view class="le-img" :class="{'le-active':swiper.index == index}">
-							<view class="img_box">
-								<image class="card_img" :src="item.img" mode="aspectFill"></image>
-							</view>
-							<view class="detail_box">
-								<view class="title_box">{{item.title}}</view>
-								<view class="author_box">By:{{item.author}}</view>
-							</view>
-						</view>
-					</swiper-item>
-				</swiper>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import Common from '../../static/js/common'
-	export default {
-		props: {
-			card_menu: {
-				type: Array,
-				default: []
-			}
-		},
-		data() {
-			return {
-				swiper: {
-					margin: "150rpx",
-					index: 0,
-					list: [
-						"/static/images/douyin/0.jpg",
-						"/static/images/douyin/4.jpg",
-						"/static/images/douyin/7.jpg",
-					]
-				}
-			}
-		},
-		components: {
-
-		},
-		mounted() {
-
-		},
-		methods: {
-			//swiper婊戝姩浜嬩欢
-			swiperChange: function(e) {
-				this.swiper.index = e.detail.current;
-			},
-			toUrl(url){
-				Common.navigateTo(url);
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.top-swiper {
-		margin-bottom: 30rpx;
-
-		.box {
-			padding-top: var(--status-bar-height);
-			box-sizing: content-box;
-			position: absolute;
-			z-index: 5;
-			top: 0;
-			left: 0;
-			width: 100%;
-			height: auto;
-		}
-
-		.swiper {
-			height: 600rpx;
-			margin: 0 20rpx;
-
-			.le-img {
-				width: 100%;
-				height: 100%;
-				display: block;
-				transform: scale(0.9);
-				transition: transform 0.3s ease-in-out 0s;
-				border-radius: 10px;
-				background-color: #fff;
-				overflow: hidden;
-
-				&.le-active {
-					transform: scale(1);
-				}
-
-				.img_box {
-					width: 100%;
-					height: 65%;
-					overflow: hidden;
-
-					.card_img {
-						height: 100%;
-						width: 100%;
-					}
-				}
-
-				.detail_box {
-					width: 100%;
-					height: 35%;
-					overflow: hidden;
-
-					.title_box {
-						width: 100%;
-						text-align: center;
-						font-size: 40rpx;
-						margin: 30rpx 0;
-					}
-
-
-
-					.author_box {
-						width: 100%;
-						text-align: center;
-						font-size: 30rpx;
-						position: relative;
-						height: 80rpx;
-						line-height: 80rpx;
-
-						&::before {
-							content: "";
-							height: 1px;
-							width: 150rpx;
-							position: absolute;
-							transform: translateX(-50%);
-							left: 50%;
-							top: 0;
-							background: #000;
-						}
-					}
-				}
-			}
-
-		}
-	}
-</style>
diff --git a/src/pages_qiun/components/data-center/user-healthy.vue b/src/pages_qiun/components/data-center/user-healthy.vue
deleted file mode 100644
index ee5ee16..0000000
--- a/src/pages_qiun/components/data-center/user-healthy.vue
+++ /dev/null
@@ -1,141 +0,0 @@
-<template>
-	<view class="content">
-		<scroll-view v-if="true" scroll-y class="data_body" :style="{height:scrollHeight}">
-			<!--鏁版嵁杩涘害鏉�-->
-			<view class="progress">
-				<data-progress :progressList="userHealthyLineBar" :borderRadius="20" padMiddle="true"></data-progress>
-			</view>
-			<view class="split_line"></view>
-			
-			<!-- 鏂板灏忕▼搴忎細鍛樿秼鍔�-->
-			<view class="friend_operate">
-				<text-block :content="baseData"></text-block>
-				<view class="trend_title">鏂板灏忕▼搴忎細鍛樿秼鍔�</view>
-				<view class="charts-box">
-				  <qiun-data-charts 
-				  type="mix" 
-				  canvasId="three_a"
-				  :canvas2d="isCanvas2d"
-				  :reshow="delayload"
-				  :opts="{yAxis:{data:[{position: 'left',title: '閿�鍞/涓�',max:userTrand?userTrand.yAxis[0].max:0,min:userTrand?userTrand.yAxis[0].min:0},{position: 'right',title: '',max:userTrand?userTrand.yAxis[1].max:0,min:userTrand?userTrand.yAxis[1].min:0,unit:'%'}]}}" 
-				  :chartData="userTrand"/>
-				</view>
-			</view>
-			<view class="split_line"></view>
-			
-			<!-- 浼氬憳鎵爜鐜囪秼鍔�-->
-			<view class="friend_operate">
-				<text-block :content="scanTrand"></text-block>
-				<view class="trend_title">浼氬憳鎵爜鐜囪秼鍔�</view>
-				<view class="charts-box">
-				  <qiun-data-charts 
-				  type="mix" 
-				  canvasId="three_b"
-				  :canvas2d="isCanvas2d"
-				  :reshow="delayload"
-				  :opts="{yAxis:{data:[{position: 'left',title: '',max:scanTrandPrecent?scanTrandPrecent.yAxis[0].max:0,min:scanTrandPrecent?scanTrandPrecent.yAxis[0].min:0,unit:'%'}]}}" 
-				  :chartData="scanTrandPrecent"/>
-				</view>
-			</view>
-			<view class="split_line"></view>
-			
-			<!-- 灏忕▼搴忔椿璺冧細鍛樺崰姣�-->
-			<view class="friend_operate">
-				<text-block :content="miniActive"></text-block>
-				<view class="charts-box">
-				  <qiun-data-charts 
-				  type="mix" 
-				  canvasId="three_c"
-				  :canvas2d="isCanvas2d"
-				  :reshow="delayload"
-				  :opts="{yAxis:{data:[{position: 'left',title: '閿�鍞/涓�',max:miniActivePrecent?miniActivePrecent.yAxis[0].max:0,min:miniActivePrecent?miniActivePrecent.yAxis[0].min:0},{position: 'right',title: '',max:miniActivePrecent?miniActivePrecent.yAxis[1].max:0,min:miniActivePrecent?miniActivePrecent.yAxis[1].min:0,unit:'%'}]}}" 
-				  :chartData="miniActivePrecent"
-				  />
-				</view>
-			</view>
-		</scroll-view>
-		<view  v-else class="container padding_stand-big normal_color">
-			<li class="iconfont icon-cry cry"></li>鏆傛棤鏁版嵁
-		</view>
-	</view>
-</template>
-
-<script>
-	import DataProgress from "../data-progress/data-progress.vue"
-	
-	import userHealthyLineBar from '../../static/json/user-healthy/1.json';
-	import baseData from '../../static/json/user-healthy/2.json';
-	import userTrand from '../../static/json/user-healthy/3.json';
-	
-	import scanTrand from '../../static/json/user-healthy/4.json';
-	import scanTrandPrecent from '../../static/json/user-healthy/5.json';
-	import miniActive from '../../static/json/user-healthy/6.json';
-	import miniActivePrecent from '../../static/json/user-healthy/7.json';
-
-	import Config from '../../static/js/config'
-	
-	var _self;
-	export default {
-		name:'user-healthy',
-		props: {
-			scrollHeight:{
-				type:String,
-				default:"600px"
-			}
-		},
-		components:{
-			DataProgress
-		},
-		data() {
-			return {
-				userHealthyLineBar,
-				baseData,
-				userTrand,
-				scanTrand,
-				scanTrandPrecent,
-				miniActive,
-				miniActivePrecent,
-				delayload:false,
-				isCanvas2d:Config.ISCANVAS2D,
-			}
-		},
-		mounted() {
-			this.getData();
-		},
-		methods:{
-			async getData(){
-				uni.showLoading();
-				await setTimeout(() => {
-					this.delayload = true;
-					uni.hideLoading();
-				}, 1000)
-			}
-		}
-	}
-</script>
-
-<style scoped lang="less">
-	.content{
-		padding-top: 10rpx;
-		.progress,.firend_operate{
-			padding: 0 10rpx;
-		}
-		.progress{
-			margin-bottom: 20rpx;
-		}
-		.friend_operate{
-			padding: 30rpx 10rpx;
-			.title{
-				text-align:left;
-				margin-bottom: 20rpx;
-			}
-			.trend_title{
-				text-align: right;
-				font-size: 22rpx;
-				color: #ff9900;
-				margin-top: 20rpx;
-			}
-		}
-	}
-	
-</style>
diff --git a/src/pages_qiun/components/data-center/user-operate.vue b/src/pages_qiun/components/data-center/user-operate.vue
deleted file mode 100644
index 459cd04..0000000
--- a/src/pages_qiun/components/data-center/user-operate.vue
+++ /dev/null
@@ -1,200 +0,0 @@
-<template>
-	<view class="content">
-		<scroll-view v-if="true" scroll-y class="data_body" :style="{height:scrollHeight}">
-			<!--鏁版嵁杩涘害鏉�-->
-			<view class="progress">
-				<data-progress :progressList="userOperateLineBar" :borderRadius="20" padMiddle="true"></data-progress>
-			</view>
-			<view class="split_line"></view>
-			
-			<!-- 娲昏穬浼氬憳-->
-			<view class="friend_operate">
-				<view class="title">娲昏穬浼氬憳</view>
-				<text-block :content="userActive"></text-block>
-			</view>
-			
-			<!-- 浼氬憳娑堣垂 -->
-			<view class="friend_operate"  style="padding-bottom: 30rpx;">
-				<view class="title">浼氬憳娑堣垂</view>
-				<text-block :content="userConsume"></text-block>
-			</view>
-			<view class="split_line"></view>
-			
-			<!-- 浼氬憳ARPU -->
-			<view class="friend_operate">
-				<view class="title">浼氬憳ARPU
-					<text class="font-small">(浼氬憳骞村害骞冲潎閿�鍞噾棰�)</text>
-					<text class="trend_title">鐩爣澧為噺{{userARPU.targetAdd}}</text>
-				</view>
-				<view class="charts-box">
-					<qiun-data-charts type="mix"
-						:chartData="userARPU" 
-						:reshow="delayload"
-						:canvas2d="isCanvas2d"
-						canvasId="two_a"
-						:opts="{yAxis:{data:[{title: '',max:userARPU?userARPU.yAxis[0].max:0,min:userARPU?userARPU.yAxis[0].min:0},{title: '',unit:'%',max:userARPU?userARPU.yAxis[1].max:0,min:userARPU?userARPU.yAxis[1].min:0,position:'right'}]},extra:{markLine:{data:[{value:userARPU?userARPU.target:'',LineColor:'#ff9900',showLabel:true}]}}}"/>
-				</view>
-			</view>
-			<view class="split_line"></view>
-			
-			<!-- 浼氬憳娑堣垂棰戞 -->
-			<view class="friend_operate">
-				<view class="title">浼氬憳娑堣垂棰戞
-					<text class="font-middle">(骞�)</text>
-					<text class="trend_title">鐩爣澧為噺{{userARPU.targetAdd}}</text>
-				</view>
-				<view class="charts-box">
-						<qiun-data-charts type="mix"
-							:chartData="userARPU" 
-							:reshow="delayload"
-							:canvas2d="isCanvas2d"
-							canvasId="two_b"
-							:opts="{yAxis:{data:[{title: '',max:userARPU?userARPU.yAxis[0].max:0,min:userARPU?userARPU.yAxis[0].min:0},{title: '',unit:'%',max:userARPU?userARPU.yAxis[1].max:0,min:userARPU?userARPU.yAxis[1].min:0,position:'right'}]},extra:{markLine:{data:[{value:userARPU?userARPU.target:'',LineColor:'#ff9900',showLabel:true}]}}}"/>
-				</view>
-			</view>
-			<view class="split_line"></view>
-			
-			<!-- 寰缇よ繍钀�-->
-			<view class="friend_operate">
-				<view class="title">娲昏穬浼氬憳鍒嗗竷
-					<text class="font-middle">(鏈�杩戞椿璺冩椂闂�)</text>
-				</view>
-				<senior-table :headers="dataTable.headers" :contents="dataTable.contents" :urlCol="dataTable.urlCol" :firstLineFixed="true" :sortCol="dataTable.sortCol" :computedCol="dataTable.computedCol" :formatCol="dataTable.formatCol"></senior-table>
-			</view>
-			<view class="split_line"></view>
-			
-			<!-- X鍟嗗搧鑴辫惤鐜�-->
-			<view class="friend_operate">
-				<view class="title">
-					X锛堟參鐥咃級 鍟嗗搧鑴辫惤鐜�
-				</view>
-				<view style="display: flex;justify-content: space-between;">
-					<view v-for="(item,index) in xProductDropPrecent" class="charts-box" style="height: 130px;width: 45%;">
-						<qiun-data-charts 
-							type="arcbar" 
-							:chartData="item" 
-							:canvasId="'two_c_'+ index" 
-							:canvas2d="true"
-							:reshow="delayload"
-							:opts="{title:{name:item.series[0].data * 100 + '%',color:item.series[0].color,fontSize:25},subtitle:{name:item.series[0].name,color:'#666666',fontSize:12}}" />
-					</view>
-				</view>
-			</view>
-			
-			<!-- 鎱㈢梾鐥呯鑴辫惤鐜�-->
-			<view class="friend_operate">
-				<view class="title">鎱㈢梾鐥呯鑴辫惤鐜�
-				</view>
-				<view class="charts-box">
-					<qiun-data-charts type="mix"
-						:chartData="illnessDropPrecent" 
-						:reshow="delayload"
-						:canvas2d="true"
-						canvasId="two_d"
-						:opts="{yAxis:{data:[{title: ''}]}}"/>
-				</view>
-			</view>
-			
-			<!-- W鍟嗗搧鑴辫惤鐜�-->
-			<view class="friend_operate">
-				<view class="title">
-					W锛堜繚鍋ワ級 鍟嗗搧鑴辫惤鐜�
-				</view>
-				<view style="display: flex;justify-content: space-between;">
-					<view v-for="(item,index) in wProductDropPrecent" class="charts-box" style="height: 130px;width: 45%;">
-						<qiun-data-charts 
-							type="arcbar" 
-							:chartData="item" 
-							:canvasId="'two_e_'+index" 
-							:canvas2d="true"
-							:reshow="delayload"
-							:opts="{title:{name:item.series[0].data * 100 + '%',color:item.series[0].color,fontSize:25},subtitle:{name:item.series[0].name,color:'#666666',fontSize:12}}" />
-					</view>
-				</view>
-			</view>
-		</scroll-view>
-		<view  v-else class="container padding_stand-big normal_color">
-			<li class="iconfont icon-cry cry"></li>鏆傛棤鏁版嵁
-		</view>
-	</view>
-</template>
-
-<script>
-	import DataProgress from "../data-progress/data-progress.vue"
-	import SeniorTable from "../data-table/senior-table.vue"
-	
-	import userOperateLineBar from '../../static/json/user-operate/1.json';
-	import userActive from '../../static/json/user-operate/2.json';
-	import userConsume from '../../static/json/user-operate/3.json';
-	import userARPU from '../../static/json/user-operate/4.json';
-	import dataTable from "../../static/json/user-operate/6.json"
-	import xProductDropPrecent from '../../static/json/user-operate/7.json';
-	import wProductDropPrecent from '../../static/json/user-operate/9.json';
-	import illnessDropPrecent from '../../static/json/user-operate/8.json';
-	
-	
-	export default {
-		name:'user-operate',
-		props: {
-			scrollHeight:{
-				type:String,
-				default:"600px"
-			}
-		},
-		components:{
-			DataProgress,SeniorTable
-		},
-		data() {
-			return {
-				userOperateLineBar,
-				userActive,
-				userConsume,
-				userARPU,
-				xProductDropPrecent,
-				wProductDropPrecent,
-				illnessDropPrecent,
-				dataTable,
-				delayload:false,
-				isCanvas2d:Config.ISCANVAS2D
-			}
-		},
-		mounted() {
-			this.getData();
-		},
-		methods:{
-			async getData(){
-				uni.showLoading();
-				await setTimeout(() => {
-					this.delayload = true;
-					uni.hideLoading();
-				}, 1000)
-			}
-		}
-	}
-</script>
-
-<style scoped lang="less">
-	.content{
-		padding-top: 10rpx;
-		.progress,.firend_operate{
-			padding: 0 10rpx;
-		}
-		.progress{
-			margin-bottom: 20rpx;
-		}
-		.friend_operate{
-			padding: 30rpx 20rpx;
-			.title{
-				text-align:left;
-				margin-bottom: 30rpx;
-				font-size: 40rpx;
-			}
-			.trend_title{
-				float: right;
-				font-size: 22rpx;
-				color: #ff9900;
-				margin-top: 20rpx;
-			}
-		}
-	}
-</style>
diff --git a/src/pages_qiun/components/data-center/user-server.vue b/src/pages_qiun/components/data-center/user-server.vue
deleted file mode 100644
index 055dc43..0000000
--- a/src/pages_qiun/components/data-center/user-server.vue
+++ /dev/null
@@ -1,385 +0,0 @@
-<template>
-	<view class="content">
-		<scroll-view class="data_body" scroll-y :style="{height:scrollHeight}">
-			<template v-if="true">
-				<!-- 浼氬憳鎴愰暱鏁版嵁-->
-				<view class="view_item">
-					<view class="title">浼氬憳鎴愰暱鏁版嵁</view>
-					<view class="progress_circle">
-						<view v-for="(item,index) in CircleData" :key="index" :class="['progress_block','block_'+index]">
-							<view class="name">{{item.series[0].name}}</view>
-							<view class="value">{{item.series[0].value}}</view>
-							<view class="charts-box arcbar" style="height: 180rpx;width: 60%;">
-								<qiun-data-charts type="arcbar" :chartData="item" :canvasId="'four_a_'+index" :canvas2d="isCanvas2d"
-									:resshow="delayload"
-									:opts="{title:{name:item.series[0].precent,color:item.series[0].color,fontSize:15},subtitle:{name:'',color:'#666666',fontSize:12},extra:{arcbar:{backgroundColor:item.series[0].backgroundColor}}}" />
-							</view>
-							<view class="planet">
-								<view class="planet_shadow"></view>
-								<view class="crater1"></view>
-								<view class="crater2"></view>
-								<view class="crater3"></view>
-								<view class="crater4"></view>
-							</view>
-							<view class="star" :class="['star'+index]"></view>
-							<view class="star pink" :class="['star'+index]"></view>
-							<view class="star blue" :class="['star'+index]"></view>
-							<view class="star yellow" :class="['star'+index]"></view>
-						</view>
-					</view>
-				</view>
-				<view class="split_line"></view>
-				
-				<!-- 浼氬憳鏁版嵁鏉ユ簮 -->
-				<view class="friend_operate">
-					<view class="title">浼氬憳鏁版嵁鏉ユ簮
-						<text class="font-small" style="color: #ff9900;">(Top5璁块棶鏉ユ簮)</text>
-					</view>
-					<view v-if="delayload" class="charts-box">
-						<qiun-data-charts 
-						type="ring" 
-						canvasId="four_b"
-						:canvas2d="isCanvas2d" 
-						:resshow="delayload"
-						:opts="{legend:{position: 'bottom'},title:{name: '',},subtitle: {name: ''}}" 
-						:chartData="ProductRateData"/>
-					</view>
-				</view>
-				<view class="split_line"></view>
-				
-				<!-- 鏈嶅姟璇勪环姒傝-->
-				<view class="friend_operate">
-					<view class="title">鏈嶅姟璇勪环姒傝</view>
-					<text-block :content="ServiceComment"></text-block>
-				</view>
-				
-				<!-- 鏈懆浼氬憳璁块棶瓒嬪娍鍥� -->
-				<view class="friend_operate">
-					<view class="title">鏈懆浼氬憳璁块棶瓒嬪娍鍥�</view>
-					<view v-if="delayload" class="charts-box" style="height: 300px;">
-						<qiun-data-charts 
-							type="mix" 
-							canvasId="four_c" 
-							:canvas2d="isCanvas2d" 
-							:resshow="delayload"
-							:opts="{yAxis:{data:[{position: 'left',title: '',min:0,unit:'涓�'}]}}"
-							:chartData="TrendData" 
-						/>
-					</view>
-				</view>
-				<view class="split_line"></view>
-				
-				<!-- 鏂板浼氬憳鎺掕姒� -->
-				<view class="friend_operate">
-					<view class="title">鏂板浼氬憳鎺掕姒�</view>
-					<progress-bar :isRank="isRank" :content="RankData" />
-				</view>
-			</template>
-			<template v-else>
-				<view class="container padding_stand-big normal_color">
-					<li class="iconfont icon-cry cry"></li>鏆傛棤鏁版嵁
-				</view>
-			</template>
-		</scroll-view>
-	</view>
-</template>
-
-<script>
-	import ProgressBar from "../progress-bar/progress-bar.vue"
-	
-	import CircleData from "../../static/json/user-server/1.json"
-	import ProductRateData from '../../static/json/user-server/2.json';
-	import TrendData from '../../static/json/user-server/3.json';
-	import ServiceComment from '../../static/json/user-server/4.json';
-	import RankData from '../../static/json/user-server/5.json';
-
-	import Config from '../../static/js/config'
-	export default {
-		name:"user-server",
-		props:{
-			scrollHeight:{
-				type:String,
-				default:"600px"
-			}
-		},
-		components:{
-			ProgressBar
-		},
-		data(){
-			return {
-				CircleData,
-				TrendData,
-				ProductRateData,
-				ServiceComment,
-				RankData,
-				isRank:true,
-				isCanvas2d:Config.ISCANVAS2D,
-				delayload: false, //寤舵椂鍔犺浇鍥捐〃锛屽惁鍒欎細鍑虹幇鍥捐〃鍔犺浇瀹屽悗瀹氫綅閿欎贡
-			}
-		},
-		methods:{
-			async getData(){
-				uni.showLoading();
-				await setTimeout(() => {
-					this.delayload = true;
-					uni.hideLoading();
-				}, 1000)
-			}
-		},
-		mounted() {
-			this.getData();
-		}
-	}
-</script>
-
-<style scoped lang="scss">
-	.content{
-		padding-top: 10rpx;
-	}
-	.data_body{
-		height: 100%;
-		text-align: center;
-		color: #333333;
-		background-repeat: repeat;
-		background-color: #ffffff;
-		.friend_operate{
-			padding: 30rpx 20rpx;
-			.title{
-				text-align:left;
-				margin-bottom: 30rpx;
-				font-size: 40rpx;
-			}
-		}
-		.view_item{
-			padding: 30rpx 20rpx;
-			.title{
-				text-align:left;
-				margin-bottom: 30rpx;
-				font-size: 40rpx;
-			}
-		}
-		.progress_circle{
-			display: flex;
-			flex-wrap: wrap;
-			justify-content: space-around;
-			align-items: center;
-			height: 450rpx;
-			
-			.progress_block{
-				width: 45%;
-				border-radius: 20rpx;
-				height: 180rpx;
-				position: relative;
-				overflow: hidden;
-				
-				.name{
-					color: #fff;
-					font-size: 24rpx;
-					position: absolute;
-					top: 20rpx;
-					left: 10rpx;
-					max-width: 144rpx;
-				}
-				.value{
-					color: #fff;
-					font-size: 40rpx;
-					position: absolute;
-					top: 64rpx;
-					left: 10rpx;
-					max-width: 144rpx;
-				}
-				
-				.circle{
-					position: absolute;
-					right: 8rpx;
-					top: 16rpx;
-				}
-				.arcbar{
-					position: absolute;
-					right: -4rpx;
-					top: 8rpx;
-				}
-			}
-			.block_0{
-				background-color: #0FC3FF;
-			}
-			.block_1{
-				background-color: #FF6B8B;
-			}
-			.block_2{
-				background-color: #FFCB1D;
-			}
-			.block_3{
-				background-color: #3BDCAA;
-			}
-		}
-	}
-	.planet {
-		width: 60px;
-		height: 60px;
-		border-radius: 50%;
-		background: #333;
-		position: absolute;
-		left: -13px;
-		bottom: -26px;
-		overflow: hidden;
-		opacity: 0.5;
-		z-index: 0;
-	}
-
-	.planet_shadow {
-		position: absolute;
-		border-radius: 50%;
-		height: 100%;
-		width: 100%;
-		top: -40%;
-		right: -10%;
-		border: 35px solid rgba(0, 0, 0, .15);
-	}
-
-	.crater1,
-	.crater2,
-	.crater3,
-	.crater4 {
-		position: absolute;
-		border-radius: 50%;
-		background: rgba(0, 0, 0, .3);
-		box-shadow: inset 3px 3px 0 rgba(0, 0, 0, .2);
-	}
-
-	.crater1 {
-		width: 20px;
-		height: 20px;
-		left: 25%;
-		top: 20%;
-	}
-
-	.crater2 {
-		width: 10px;
-		height: 10px;
-		left: 50%;
-		top: 60%;
-	}
-
-	.crater3 {
-		width: 15px;
-		height: 15px;
-		left: 30%;
-		top: 65%;
-	}
-
-	.crater4 {
-		width: 15px;
-		height: 15px;
-		left: 60%;
-		top: 35%;
-	}
-
-	.star {
-		display: block;
-		width: 5px;
-		height: 5px;
-		border-radius: 50%;
-		background: #FFF;
-		top: 10px;
-		left: 50px;
-		position: relative;
-		transform-origin: 100% 0;
-		box-shadow: 0 0 5px 5px rgba(255, 255, 255, .3);
-		opacity: 0;
-		z-index: 2;
-	}
-	.star0{
-		animation: star-ani 4s infinite ease-out;
-	}
-	.star1{
-		animation: star-ani 5s infinite ease-out;
-	}
-	.star2{
-		animation: star-ani 6s infinite ease-out;
-	}
-	.star3{
-		animation: star-ani 7s infinite ease-out;
-	}
-
-	.star:after {
-		content: '';
-		display: block;
-		top: 20px;
-		left: 60px;
-		border: 0px solid #fff;
-		border-width: 0px 90px 2px 90px;
-		border-color: transparent transparent transparent rgba(255, 255, 255, .3);
-		transform: rotate(-45deg) translate3d(1px, 3px, 0);
-		box-shadow: 0 0 1px 0 rgba(255, 255, 255, .1);
-		transform-origin: 0% 100%;
-		animation: shooting-ani 100s infinite ease-out;
-	}
-
-	.pink {
-		top: 10px;
-		left: 60px;
-		background: #ff5a99;
-		animation-delay: 5s;
-		-webkit-animation-delay: 5s;
-		-moz-animation-delay: 5s;
-	}
-
-	.pink:after {
-		border-color: transparent transparent transparent #ff5a99;
-		animation-delay: 5s;
-		-webkit-animation-delay: 5s;
-		-moz-animation-delay: 5s;
-	}
-
-	.blue {
-		top: 15px;
-		left: 70px;
-		background: cyan;
-		animation-delay: 7s;
-		-webkit-animation-delay: 7s;
-		-moz-animation-delay: 7s;
-	}
-
-	.blue:after {
-		border-color: 'transpareanimation-delay: 12s';
-		-webkit-animation-delay: 7s;
-		-moz-animation-delay: 7s;
-		animation-delay: 7s;
-	}
-
-	.yellow {
-		top: 0px;
-		left: 80px;
-		background: #ffcd5c;
-		animation-delay: 5.8s;
-	}
-
-	.yellow:after {
-		border-color: transparent transparent transparent #ffcd5c;
-		animation-delay: 5.8s;
-	}
-
-	@keyframes star-ani {
-		0% {
-			opacity: 0;
-			transform: scale(0) rotate(0) translate3d(0, 0, 0);
-			-webkit-transform: scale(0) rotate(0) translate3d(0, 0, 0);
-			-moz-transform: scale(0) rotate(0) translate3d(0, 0, 0);
-		}
-
-		50% {
-			opacity: 0.5;
-			transform: scale(1) rotate(0) translate3d(-20px, 20px, 0);
-			-webkit-transform: scale(1) rotate(0) translate3d(-20px, 20px, 0);
-			-moz-transform: scale(1) rotate(0) translate3d(-20px, 20px, 0);
-		}
-
-		100% {
-			opacity: 0;
-			transform: scale(1) rotate(0) translate3d(-30px, 30px, 0);
-			-webkit-transform: scale(1) rotate(0) translate3d(-30px, 30px, 0);
-			-moz-transform: scale(1) rotate(0) translate3d(-30px, 30px, 0);
-		}
-	}
-</style>
diff --git a/src/pages_qiun/components/data-center/wechat.vue b/src/pages_qiun/components/data-center/wechat.vue
deleted file mode 100644
index 3005afd..0000000
--- a/src/pages_qiun/components/data-center/wechat.vue
+++ /dev/null
@@ -1,132 +0,0 @@
-<template>
-	<view class="content">
-		<scroll-view v-if="true" scroll-y class="data_body" :style="{height:scrollHeight}">
-			<!--鏁版嵁杩涘害鏉�-->
-			<view class="progress">
-				<data-progress :progressList="wechatLineBar" :borderRadius="20" padMiddle="true"></data-progress>
-			</view>
-			<view class="split_line"></view>
-			
-			<!-- 寰ソ鍙嬭繍钀�-->
-			<view class="friend_operate">
-				<view class="title">寰ソ鍙嬭繍钀�</view>
-				<text-block :content="friendTextBlock"></text-block>
-				<view style="display: flex;justify-content: space-around;">
-					<view v-for="(item,index) in panelData" :key="index" class="charts-box"
-						style="width: 45%;height: 200px;">
-						<qiun-data-charts type="gauge"
-							:opts="{title:{name: item.series[0].data * 100 + '%',color: '#24ABFD',offsetY:30},subtitle: {name: item.series[0].name,color: '#666666',fontSize: 15,offsetY:70},extra:{gauge:{type:'progress',width:20,splitLine:{fixRadius:-10,width:15,},}}}"
-							:chartData="item" :reshow="delayload" :canvas2d="isCanvas2d" :canvasId="'one_a_' + index" />
-					</view>
-				</view>
-				<view class="trend_title">鏂板寰ソ鍙�&灏忕▼搴忎細鍛樿秼鍔�</view>
-				<view class="charts-box">
-					<qiun-data-charts type="mix" :chartData="friendTrand" :reshow="delayload"
-						:canvas2d="isCanvas2d" canvasId="one_b" :opts="{yAxis:{data:[{title: ''}]}}" />
-				</view>
-			</view>
-			<view class="split_line"></view>
-			
-			<!-- 寰缇よ繍钀�-->
-			<view class="friend_operate">
-				<view class="title">寰缇よ繍钀�</view>
-				<text-block :content="friendTextBlock"></text-block>
-				<view class="trend_title">鏂板浜虹兢&閫�缇や汉鏁拌秼鍔�</view>
-				<view class="charts-box">
-					<qiun-data-charts type="mix" :chartData="teamTrand" :reshow="delayload" :canvas2d="isCanvas2d"
-						canvasId="one_c" :opts="{yAxis:{data:[{title: '',max:teamTrand?teamTrand.yAxis[0].max:0,min:teamTrand?teamTrand.yAxis[0].min:0}]}}" />
-				</view>
-			</view>
-			<view class="split_line"></view>
-			
-			<!-- 瀹㈡埛鑱旂郴-->
-			<view class="friend_operate">
-				<view class="title">銆愬鎴疯仈绯汇��1瀵�1杩愯惀鎵ц</view>
-				<senior-table :headers="dataTable.headers" :contents="dataTable.contents" :urlCol="dataTable.urlCol" :firstLineFixed="true" :sortCol="dataTable.sortCol"></senior-table>
-			</view>
-		</scroll-view>
-		<view  v-else class="container padding_stand-big normal_color">
-			<li class="iconfont icon-cry cry"></li>鏆傛棤鏁版嵁
-		</view>
-	</view>
-</template>
-
-<script>
-	import DataProgress from "../data-progress/data-progress.vue"
-	import SeniorTable from "../data-table/senior-table.vue"
-	
-	import wechatLineBar from '../../static/json/wechat/1.json';
-	import friendTextBlock from '../../static/json/wechat/2.json';
-	import panelData from '../../static/json/wechat/3.json';
-	import friendTrand from '../../static/json/wechat/4.json';
-	import teamTrand from '../../static/json/wechat/5.json';
-	import dataTable from "../../static/json/wechat/6.json"
-
-	import Config from '../../static/js/config'
-	
-	export default {
-		name:'wechat',
-		props: {
-			scrollHeight:{
-				type:String,
-				default:"600px"
-			}
-		},
-		components:{
-			DataProgress,
-			SeniorTable,
-		},
-		data() {
-			return {
-				wechatLineBar,
-				friendTextBlock,
-				friendTrand,
-				panelData,
-				teamTrand,
-				dataTable,
-				scrollTop: 0,
-				delayload: false,
-				isCanvas2d: Config.ISCANVAS2D,
-			}
-		},
-		mounted() {
-			this.getData();
-		},
-		methods:{
-			async getData() {
-				uni.showLoading();
-				await setTimeout(() => {
-					this.delayload = true;
-					uni.hideLoading();
-				}, 1000)
-			}
-		}
-	}
-</script>
-
-<style scoped lang="less">
-	.content{
-		padding-top: 10rpx;
-		.progress,.firend_operate{
-			padding: 0 10rpx;
-		}
-		.progress{
-			margin-bottom: 20rpx;
-		}
-		.friend_operate{
-			padding: 30rpx 20rpx;
-			.title{
-				text-align:left;
-				margin-bottom: 30rpx;
-				font-size: 40rpx;
-			}
-			.trend_title{
-				text-align: right;
-				font-size: 22rpx;
-				color: #ff9900;
-				margin-top: 50rpx;
-			}
-		}
-	}
-	
-</style>
diff --git a/src/pages_qiun/components/data-progress/data-progress.vue b/src/pages_qiun/components/data-progress/data-progress.vue
deleted file mode 100644
index bb76c50..0000000
--- a/src/pages_qiun/components/data-progress/data-progress.vue
+++ /dev/null
@@ -1,93 +0,0 @@
-<template>
-	<view class="column">
-		<view v-for="(item,index) in progressList" :key="index" :class="['row','font-small','progress',padMiddle?'paddingMiddle':'']">
-			<text class="title">{{item.name}}</text>
-			<view class="body">
-				<view class="number">{{item.now?item.now+"/":""}}{{item.expect}} [{{item.value}}%]</view>
-				<progress :percent="item.value" backgroundColor="#C9C9C9"
-				:border-radius="borderRadius?borderRadius+'rpx':'0px'"
-				:color="time" 
-				stroke-width="16" />
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name:'data-progress',
-		props: {
-			progressList: {
-				type: Array,
-				default: ()=> {
-					return []
-				}
-			},
-			borderRadius:{
-				type:Number,
-				default:0
-			},
-			padMiddle:{
-				type:String,
-				default:"false"
-			}
-		},
-		data() {
-			return {
-				time:0
-			}
-		},
-		watch:{
-			"progressList":{
-				deep: true,
-				handler: function(newVal, oldVal) {
-					this.time = newVal.filter(x=>x.name=="鏃堕棿杩涘害")[0].value;
-				}
-			}
-		},
-		created() {
-			this.time = this.progressList.filter(x=>x.name=="鏃堕棿杩涘害")[0].value;
-		}
-	}
-</script>
-
-<style lang="scss">
-	.paddingMiddle{
-		padding: 18rpx 10rpx;
-	}
-	.progress{
-		
-		.title{
-			font-size: 28rpx;
-			width: 170rpx;
-			display: flex;
-			align-items: center;
-			
-		}
-		.body{
-			position: relative;
-			flex: 1;
-			
-			.number{
-				color: #fff;
-				position: absolute;
-				z-index: 2;
-				left: 26rpx;
-				height: 100%;
-				display: flex;
-				align-items: center;
-				text-overflow: ellipsis;
-				white-space: nowrap;
-				overflow: hidden;
-				height: 44rpx;
-			}
-			progress{
-				padding: 6rpx 0;
-			}
-		
-		}
-	}
-	
-	
-	
-</style>
diff --git a/src/pages_qiun/components/data-table/senior-table.vue b/src/pages_qiun/components/data-table/senior-table.vue
deleted file mode 100644
index 78811d0..0000000
--- a/src/pages_qiun/components/data-table/senior-table.vue
+++ /dev/null
@@ -1,1117 +0,0 @@
-<template>
-	<view class="wyb-table-box">
-		<view v-if="loading" class="wyb-table-loading-box" :style="{
-			width: width === 'auto' ? screenWidth : width,
-			height: height === 'auto' ? '300rpx' : height,
-			backgroundColor: loaderBgColor,
-			borderTop: '1px solid' + borderColor,
-			borderBottom: '1px solid' + borderColor,
-			borderLeft: showLeftAndRightBorder ? '1px solid' + borderColor : 'none',
-			borderRight: showLeftAndRightBorder ? '1px solid' + borderColor : 'none'}">
-			<view class="loader-one" :style="{
-				 width: loaderSize + 'rpx',
-				 height: loaderSize + 'rpx',
-				 borderTop: '3px solid ' + loadingColor.top,
-				 borderRight: '3px solid ' + loadingColor.right,
-				 borderBottom: '3px solid ' + loadingColor.bottom,
-				 borderLeft: '3px solid ' + loadingColor.left}" />
-		</view>
-		<view v-if="!loading" class="wyb-table-scroll-view" :style="{
-			width: width,
-			height: height,
-			borderTop: '1px solid' + borderColor,
-			borderLeft: showLeftAndRightBorder ? '1px solid' + borderColor : 'none',
-			borderRight: showLeftAndRightBorder ? '1px solid' + borderColor : 'none'}">
-			<view class="wyb-table-header" :style="{borderBottom: '1px solid' + borderColor}">
-				<view class="wyb-table-header-item" v-if="enableCheck" :style="{
-					 minWidth: checkColWidth + 'rpx',
-					 maxWidth: checkColWidth + 'rpx',
-					 minHeight: minHeight[0] + 'rpx',
-					 textAlign: textAlign,
-					 justifyContent: textAlign === 'center' ? textAlign : (textAlign === 'left' ? 'flex-start' : 'flex-end'),
-					 fontSize: fontSize[0] + 'rpx',
-					 color: headerFtColor,
-					 padding: padding[0] + 'rpx ' + (padding[1] || padding[0]) + 'rpx',
-					 backgroundColor: headerBgColor,
-					 borderRight: '1px solid' + borderColor,
-					 zIndex: 30,
-					 left: 0, 
-					 color: headerFtColor,
-					 backgroundColor: headerBgColor,
-					 position: 'sticky'}">
-						<view 
-						 class="wyb-table-checkbox"
-						 v-if="enableCheck === 'multiple'"
-						 @tap.stop="onCheckAllTap"
-						 :style="{
-							width: checkColWidth * 0.5 + 'rpx',
-							height: checkColWidth * 0.5 + 'rpx',
-							backgroundColor: checkerBoxBgColor,
-							border: '1px solid ' + checkerBorderColor}">
-							<text 
-							 class="iconfont icon-check"
-							 v-show="checkAll"
-							 :style="{
-								color: checkerColor,
-								backgroundColor: checkerBgColor,
-								paddingTop: (fontSize[1] || fontSize[0]) * 0.15 + 'rpx',
-								fontSize: (fontSize[1] || fontSize[0]) + 'rpx'}" />
-						</view>
-					 </view>
-				<view ref="iosBug" class="wyb-table-header-item" v-for="(item, index) in headers" :key="item.key" @tap="onHeaderItemTap(index)"
-				 :style="{
-					 minWidth: (item.width || defaultColWidth) + 'rpx',
-					 maxWidth: (item.width || defaultColWidth) + 'rpx',
-					 minHeight: minHeight[0] + 'rpx',
-					 textAlign: textAlign,
-					 justifyContent: textAlign === 'center' ? textAlign : (textAlign === 'left' ? 'flex-start' : 'flex-end'),
-					 fontSize: fontSize[0] + 'rpx',
-					 fontWeight: headerWeight ? 'bold' : 'normal',
-					 color: headerFtColor,
-					 padding: padding[0] + 'rpx ' + (padding[1] || padding[0]) + 'rpx',
-					 backgroundColor: headerBgColor,
-					 borderRight: index === headers.length - 1 || (!showVertBorder && index !== 0) ? 'none' : '1px solid' + borderColor,
-					 zIndex: index === 0 ? 20 : 0,
-					 left: index === 0 && firstLineFixed ? (enableCheck ? checkColWidth + 'rpx' : 0) : 'auto', 
-					 position: index === 0 ? 'sticky' : 'static'}">
-					 <text :style="{marginLeft: autoSortShow(index) && textAlign !== 'left' ? fontSize[0] * 0.65 + 'rpx' : 0}">
-						 {{item.label || emptyString}}
-					 </text>
-					 <view class="wyb-table-header-icon" v-if="autoSortShow(index)">
-					 	<text class="iconfont icon-arrow-up" :style="{
-							color: sortWays[sortWay] === 'asc' && sortActiveKey === item.key ? 
-								headerFtColor : RGBChange(headerFtColor, 0.7, 'light'),
-							fontWeight: 'normal',
-							marginBottom: '-12px',
-							transform: 'scale(0.4)'}" />
-					 	<text class="iconfont icon-arrow-down" :style="{
-							color: sortWays[sortWay] === 'inv' && sortActiveKey === item.key ? 
-								headerFtColor : RGBChange(headerFtColor, 0.7, 'light'),
-							fontWeight: 'normal',
-							transform: 'scale(0.4)'}" />
-					 </view>
-				</view>
-			</view>
-			<view class="wyb-table-content">
-				<view class="wyb-table-content-line" v-for="(content, cIndex) in contentsSort" :key="contentLineKey(content, cIndex)"
-				 :style="{borderTop: cIndex === 0 ? 'none' : '1px solid' + borderColor}">
-					<view class="wyb-table-content-item" v-if="enableCheck" :style="{
-						 minWidth: checkColWidth + 'rpx',
-						 maxWidth: checkColWidth + 'rpx',
-						 textAlign: textAlign,
-						 justifyContent: textAlign === 'center' ? textAlign : (textAlign === 'left' ? 'flex-start' : 'flex-end'),
-						 fontSize: (fontSize[1] || fontSize[0]) + 'rpx',
-						 minHeight: (minHeight[1] || minHeight[0]) + 'rpx',
-						 padding: padding[0] + 'rpx ' + (padding[1] || padding[0]) + 'rpx',
-						 borderRight: '1px solid' + borderColor,
-						 zIndex: 21,
-						 color: contentFtColor,
-						 backgroundColor: checkerCellBgColor,
-						 left: 0,
-						 position: 'sticky'}">
-							<view 
-							 class="wyb-table-checkbox" 
-							 @tap.stop="onCheckItemTap(cIndex)"
-							 :style="{
-								width: checkColWidth * 0.5 + 'rpx',
-								height: checkColWidth * 0.5 + 'rpx',
-								backgroundColor: checkerBoxBgColor,
-								border: '1px solid ' + checkerBorderColor}">
-								<text 
-								 class="iconfont icon-check" 
-								 v-show="contentsSort[cIndex].checked"
-								 :style="{
-									color: checkerColor,
-									backgroundColor: checkerBgColor,
-									paddingTop: (fontSize[1] || fontSize[0]) * 0.15 + 'rpx',
-									fontSize: (fontSize[1] || fontSize[0]) + 'rpx'}" />
-							</view>
-						 </view>
-					<view
-					 class="wyb-table-content-item" 
-					 v-for="(header, hIndex) in headers"
-					 @tap.stop="onContentItemTap(cIndex, hIndex)"
-					 :key="contentItemKey(header, hIndex)" 
-					 :style="{
-						 minWidth: (header.width || defaultColWidth) + 'rpx',
-						 maxWidth: (header.width || defaultColWidth) + 'rpx',
-						 textAlign: textAlign,
-						 justifyContent: textAlign === 'center' ? textAlign : (textAlign === 'left' ? 'flex-start' : 'flex-end'),
-						 fontSize: (fontSize[1] || fontSize[0]) + 'rpx',
-						 textDecoration: autoTextDecoration(cIndex, hIndex),
-						 color: autoContentColor(cIndex, hIndex),
-						 backgroundColor: autoContentBgColor(cIndex, hIndex),
-						 minHeight: (minHeight[1] || minHeight[0]) + 'rpx',
-						 padding: padding[0] + 'rpx ' + (padding[1] || padding[0]) + 'rpx',
-						 borderBottom: cIndex === contents.length - 1 ? '1px solid' + borderColor : 'none',
-						 borderRight: hIndex === headers.length - 1 || (!showVertBorder && hIndex !== 0) ? 'none' : '1px solid' + borderColor,
-						 zIndex: hIndex === 0 ? 20 : 0,
-						 left: enableCheck ? checkColWidth + 'rpx' : 0,
-						 position: hIndex === 0 && firstLineFixed ? 'sticky' : 'static'}">{{autoContentItem(cIndex, hIndex)}}</view>
-				</view>
-				<view v-if="computedCol.length !== 0" class="wyb-table-content-line" :style="{
-					position: bottomComputedFixed ? 'sticky' : 'static',
-					bottom: 0,
-					zIndex: 25,
-					borderTop: '1px solid' + borderColor}">
-					<view class="wyb-table-content-item" v-if="enableCheck" :style="{
-						 minWidth: checkColWidth + 'rpx',
-						 maxWidth: checkColWidth + 'rpx',
-						 textAlign: textAlign,
-						 justifyContent: textAlign === 'center' ? textAlign : (textAlign === 'left' ? 'flex-start' : 'flex-end'),
-						 fontSize: (fontSize[1] || fontSize[0]) + 'rpx',
-						 minHeight: (minHeight[1] || minHeight[0]) + 'rpx',
-						 padding: padding[0] + 'rpx ' + (padding[1] || padding[0]) + 'rpx',
-						 borderBottom: '1px solid' + borderColor,
-						 borderRight: '1px solid' + borderColor,
-						 zIndex: 25,
-						 color: contentFtColor,
-						 backgroundColor: checkerCellBgColor,
-						 left: 0,
-						 position: 'sticky'}"></view>
-					<view class="wyb-table-content-item" v-for="(header, index) in headers" :key="index"
-					:style="{
-						 minWidth: (header.width || defaultColWidth) + 'rpx',
-						 maxWidth: (header.width || defaultColWidth) + 'rpx',
-						 textAlign: textAlign,
-						 justifyContent: textAlign === 'center' ? textAlign : (textAlign === 'left' ? 'flex-start' : 'flex-end'),
-						 fontSize: (fontSize[1] || fontSize[0]) + 'rpx',
-						 color: contentFtColor,
-						 minHeight: (minHeight[1] || minHeight[0]) + 'rpx',
-						 padding: padding[0] + 'rpx ' + (padding[1] || padding[0]) + 'rpx',
-						 backgroundColor: index === 0 ? firstColBgColor : contentBgColor,
-						 borderBottom: '1px solid' + borderColor,
-						 borderRight: index === headers.length - 1 || (!showVertBorder && index !== 0) ? 'none' : '1px solid' + borderColor,
-						 zIndex: index === 0 ? 20 : 0,
-						 left: enableCheck ? checkColWidth + 'rpx' : 0,
-						 position: index === 0 && firstLineFixed ? 'sticky' : 'static'}">
-						{{autoBottomComputedItem(index)}}
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import Pinyin from '../../static/table/characterToPinyin.js'
-	import isEqual  from '../../static/table/objEqual.js'
-	export default {
-		data() {
-			return {
-				bottomComputed: [],
-				colorList: [],
-				bgColorList: [],
-				contentsSort: this.contents.slice(),
-				oContentsSort: [],
-				sortWay: 0,
-				sortKeys: [],
-				sortActiveKey: '',
-				sortIsNumbers: [],
-				checkAll: false,
-				checkList: [],
-				onload: true,
-				event: {
-					checkType: this.enableCheck,
-					data: []
-				},
-				chars: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
-			}
-		},
-		computed: {
-			loadingColor() {
-				let color = this.loaderColor.slice()
-				let rgbList = this.hexToRgb(color)
-				let top = 'rgba(' + rgbList[0] + ',' + rgbList[1] + ',' + rgbList[2] + ', 0.3)'
-				let bottom = 'rgba(' + rgbList[0] + ',' + rgbList[1] + ',' + rgbList[2] + ', 0.3)'
-				let right = 'rgba(' + rgbList[0] + ',' + rgbList[1] + ',' + rgbList[2] + ', 0.3)'
-				let left = 'rgb(' + rgbList[0] + ',' + rgbList[1] + ',' + rgbList[2] + ')'
-				return {
-					top,
-					bottom,
-					right,
-					left
-				}
-			},
-			contentLineKey() {
-				return function(content, cIndex) {
-					return this.randomString(32, this.chars)
-				} 
-			},
-			contentItemKey() {
-				return function(header, hIndex) {
-					return this.randomString(16, this.chars)
-				}
-			},
-			autoContentItem() {
-				return function(cIndex, hIndex) {
-					let content = this.contentsSort[cIndex]
-					let header = this.headers[hIndex]
-					let result = ''
-					if (content[header.key] || content[header.key] === 0) {
-						result = content[header.key]
-						if (this.urlCol.length !== 0) {
-							for (let i in this.urlCol) {
-								let item = this.urlCol[i]
-								if (header.key === item.key) {
-									// 璇ュ崟鍏冩牸涓洪摼鎺�
-									result = content[header.key][0]
-								}
-							}
-						}
-						if (this.formatCol.length !== 0) {
-							this.formatCol.forEach(item => {
-								if (header.key === item.key) {
-									let needRplace = new RegExp(`\#${item['key']}\#`, 'mg')
-									result = item.template.replace(needRplace, result)
-								}
-							})
-						}
-						
-					} else {
-						result = this.emptyString
-					}
-					return result
-				}
-			},
-			autoBottomComputedItem() {
-				return function(index) {
-					let bottomComputed = {}
-					let needComputed = []
-					this.computedCol.forEach(key => {
-						let computedColData = []
-						this.contentsSort.forEach(content => {
-							computedColData.push(content[key] || '0')
-						})
-						needComputed.push(computedColData)
-					})
-					needComputed.forEach((item, index) => {
-						let total = 0
-						item.forEach(num => {
-							total += parseFloat(num)
-						})
-						bottomComputed[this.computedCol[index]] = total
-					})
-					let header = this.headers[index]
-					let result = this.computedCol.includes(header.key) ? 
-						bottomComputed[header.key] : (index === 0 ? '鎬昏' : this.emptyString)
-					if (this.formatCol.length !== 0) {
-						this.formatCol.forEach(item => {
-							if (item.bottomComputedFormat) {
-								if (header.key === item.key) {
-									let needRplace = new RegExp(`\#${item['key']}\#`, 'mg')
-									result = item.template.replace(needRplace, bottomComputed[item.key])
-								}
-							}
-						})
-					}
-					return result
-				}
-			},
-			autoTextDecoration() {
-				return function(cIndex, hIndex) {
-					let result = 'auto'
-					let content = this.contentsSort[cIndex]
-					let header = this.headers[hIndex]
-					if (this.urlCol.length !== 0) {
-						for (let i in this.urlCol) {
-							let item = this.urlCol[i]
-							if (header.key === item.key) {
-								// 璇ュ崟鍏冩牸涓洪摼鎺�
-								if (content[header.key]) {
-									result = 'underline'
-								}
-							}
-						}
-					}
-					return result
-				}
-			},
-			autoContentBgColor() {
-				return function(cIndex, hIndex) {
-					let result = this.contentBgColor
-					let content = this.contentsSort[cIndex]
-					let header = this.headers[hIndex]
-					let keys = []
-					// 鍏堝垽鏂槸涓嶆槸棣栧垪锛岃缃熀纭�鏍峰紡
-					if (hIndex === 0) {
-						result = this.firstColBgColor
-					}
-					// 鍐嶅垽鏂潯浠舵牸寮忎紶娌′紶鍊硷紝璁剧疆鏉′欢鏍峰紡
-					if (this.valueFormat.length !== 0) {
-						this.valueFormat.forEach(item => {
-							keys.push(item.key)
-						})
-						if (keys.includes(header.key)) {
-							// 璇ュ垪寮�鍚簡鏉′欢鏍煎紡
-							let key = header.key
-							let type = this.valueFormat[keys.indexOf(key)].type
-							let style = this.valueFormat[keys.indexOf(key)].style
-							let range = this.valueFormat[keys.indexOf(key)].range || ''
-							switch(type) {
-								case 'bigger':
-									if (parseFloat(content[key]) > range) {
-										if (style.bgColor) result = style.bgColor
-									}
-									break
-								case 'smaller':
-									if (parseFloat(content[key]) < range) {
-										if (style.bgColor) result = style.bgColor
-									}
-									break
-								case 'equal':
-									let val
-									if (typeof range === 'number') val = parseFloat(content[key])
-									else val = content[key]
-									if (val === range) {
-										if (style.bgColor) result = style.bgColor
-									}
-									break
-								case 'range':
-									if (parseFloat(content[key]) > range[0] && parseFloat(content[key]) < range[1]){
-										if (style.bgColor) result = style.bgColor
-									}
-									break
-								case 'average-bigger':
-									let average = this.getAverage(key)
-									if (parseFloat(content[key]) > average) {
-										if (style.bgColor) result = style.bgColor
-									}
-									break
-								case 'average-smaller':
-									average = this.getAverage(key)
-									if (parseFloat(content[key]) < average) {
-										if (style.bgColor) result = style.bgColor
-									}
-									break
-								case 'average-equal':
-									average = this.getAverage(key)
-									if (parseFloat(content[key]) === average) {
-										if (style.bgColor) result = style.bgColor
-									}
-									break
-							}
-						}
-					}
-					return result
-				}
-			},
-			autoContentColor() {
-				return function(cIndex, hIndex) {
-					let result = this.contentFtColor
-					let content = this.contentsSort[cIndex]
-					let header = this.headers[hIndex]
-					let keys = []
-					// 鍏堝垽鏂槸涓嶆槸閾炬帴锛岃缃熀纭�鏍峰紡
-					if (this.urlCol.length !== 0) {
-						for (let i in this.urlCol) {
-							let item = this.urlCol[i]
-							if (header.key === item.key) {
-								// 璇ュ崟鍏冩牸涓洪摼鎺�
-								if (content[header.key]) {
-									result = this.linkColor
-								}
-							}
-						}
-					}
-					// 鍐嶅垽鏂潯浠舵牸寮忎紶娌′紶鍊硷紝璁剧疆鏉′欢鏍峰紡
-					if (this.valueFormat.length !== 0) {
-						this.valueFormat.forEach(item => {
-							keys.push(item.key)
-						})
-						if (keys.includes(header.key)) {
-							// 璇ュ垪寮�鍚簡鏉′欢鏍煎紡
-							let key = header.key
-							let type = this.valueFormat[keys.indexOf(key)].type
-							let style = this.valueFormat[keys.indexOf(key)].style
-							let range = this.valueFormat[keys.indexOf(key)].range || ''
-							switch(type) {
-								case 'bigger':
-									if (parseFloat(content[key]) > range) {
-										if (style.color) result = style.color
-									}
-									break
-								case 'smaller':
-									if (parseFloat(content[key]) < range) {
-										if (style.color) result = style.color
-									}
-									break
-								case 'equal':
-									let val
-									if (typeof range === 'number') val = parseFloat(content[key])
-									else val = content[key]
-									if (val === range) {
-										if (style.color) result = style.color
-									}
-									break
-								case 'range':
-									if (parseFloat(content[key]) > range[0] && parseFloat(content[key]) < range[1]){
-										if (style.color) result = style.color
-									}
-									break
-								case 'average-bigger':
-									let average = this.getAverage(key)
-									if (parseFloat(content[key]) > average) {
-										if (style.color) result = style.color
-									}
-									break
-								case 'average-smaller':
-									average = this.getAverage(key)
-									if (parseFloat(content[key]) < average) {
-										if (style.color) result = style.color
-									}
-									break
-								case 'average-equal':
-									average = this.getAverage(key)
-									if (parseFloat(content[key]) === average) {
-										if (style.color) result = style.color
-									}
-									break
-							}
-						}
-					}
-					return result
-				}
-			},
-			autoSortShow() {
-				return function(hIndex) {
-					let result = false
-					let header = this.headers[hIndex]
-					let keys = []
-					// 鍒ゆ柇鎺掑簭鏄惁浼犲��
-					if (this.sortCol.length !== 0 && this.sortKeys.length === 0) {
-						this.sortCol.forEach(item => {
-							keys.push(item.key)
-						})
-						this.sortKeys = keys
-						if (keys.includes(header.key)) {
-							result = true
-						}
-					} else if (this.sortCol.length !== 0) {
-						if (this.sortKeys.includes(header.key)) {
-							result = true
-						}
-					}
-					return result
-				}
-			},
-			screenWidth() {
-				return `${uni.getSystemInfoSync()['screenWidth']}px`
-			}
-		},
-		props: {
-			headers: {
-				type: Array,
-				default() {
-					return []
-				}
-			},
-			contents: {
-				type: Array,
-				default() {
-					return []
-				}
-			},
-			emptyString: {
-				type: String,
-				default: '-'
-			},
-			width: {
-				type: String,
-				default: "100%"
-			},
-			height: {
-				type: String,
-				default: 'auto'
-			},
-			fontSize: {
-				type: Array,
-				default() {
-					return [24]
-				}
-			},
-			defaultColWidth: {
-				type: Number,
-				default: 176
-			},
-			headerWeight: {
-				type: Boolean,
-				default: true
-			},
-			minHeight: {
-				type: Array,
-				default() {
-					return [70]
-				}
-			},
-			headerBgColor: {
-				type: String,
-				default: '#24ABFD'
-			},
-			contentBgColor: {
-				type: String,
-				default: '#DADADA'
-			},
-			headerFtColor: {
-				type: String,
-				default: '#fff'
-			},
-			contentFtColor: {
-				type: String,
-				default: '#3e3e3e'
-			},
-			linkColor: {
-				type: String,
-				default: '#0024c8'
-			},
-			firstColBgColor: {
-				type: String,
-				default: '#DADADA'
-			},
-			firstLineFixed: {
-				type: Boolean,
-				default: false
-			},
-			textAlign: {
-				type: String,
-				default: 'center'
-			},
-			padding: {
-				type: Array,
-				default() {
-					return [5, 10]
-				}
-			},
-			borderColor: {
-				type: String,
-				default: '#fff'
-			},
-			urlCol: {
-				type: Array,
-				default() {
-					return []
-				}
-			},
-			computedCol: {
-				type: Array,
-				default() {
-					return []
-				}
-			},
-			bottomComputedFixed: {
-				type: Boolean,
-				default: true
-			},
-			valueFormat: {
-				type: Array,
-				default() {
-					return []
-				}
-			},
-			formatCol: {
-				type: Array,
-				default() {
-					return []
-				}
-			},
-			showLeftAndRightBorder: {
-				type: Boolean,
-				default: false
-			},
-			showVertBorder: {
-				type: Boolean,
-				default: true
-			},
-			sortCol: {
-				type: Array,
-				default() {
-					return []
-				}
-			},
-			sortWays: {
-				type: Array,
-				default() {
-					return ['none', 'asc', 'inv']
-				}
-			},
-			loading: {
-				type: Boolean,
-				default: false
-			},
-			loaderSize: {
-				type: [String, Number],
-				default: 50
-			},
-			loaderColor: {
-				type: String,
-				default: '#a3a3a3'
-			},
-			loaderBgColor: {
-				type: String,
-				default: '#f8f8f8'
-			},
-			enableCheck: {
-				type: String,
-				default: ''
-			},
-			checkColWidth: {
-				type: [String, Number],
-				default: '70'
-			},
-			checkerColor: {
-				type: String,
-				default: '#3e3e3e'
-			},
-			checkerBorderColor: {
-				type: String,
-				default: '#d3d3d3'
-			},
-			checkerBgColor: {
-				type: String,
-				default: 'rgba(0, 0, 0, 0)'
-			},
-			checkerBoxBgColor: {
-				type: String,
-				default: 'rgba(0, 0, 0, 0)'
-			},
-			checkerCellBgColor: {
-				type: String,
-				default: '#f1f1f1'
-			}
-		},
-		watch: {
-			headers(val) {
-				this.$forceUpdate()
-			},
-			contents(val) {
-				this.contentsSort = val.slice()
-				if (this.onload) {
-					this.contentsSort.forEach(item => {
-						this.$set(item, 'checked', false)
-					})
-					this.oContentsSort = this.contentsSort.slice()
-					this.onload = false
-				}
-				this.$forceUpdate()
-			}
-		},
-		mounted() {
-			this.contentsSort.forEach(item => {
-				this.$set(item, 'checked', false)
-			})
-			this.oContentsSort = this.contentsSort.slice()
-			if (this.sortCol.length !== 0) {
-				this.sortActiveKey = this.sortCol[0].key
-				uni.setStorageSync('lastSortActiveKey', this.sortActiveKey)
-				this.doSort(this.sortCol[0].key, this.sortWays[this.sortWay], this.sortCol[0].isNumber)
-			}
-		},
-		methods: {
-			doSort(key, type, isNumber) {
-				let arr = this.contentsSort
-				if (type === 'asc') {
-					// 鍗囧簭
-					if (isNumber) {
-						arr.sort((a, b) => {
-							let a1 = (parseFloat(a[key].toString().replace(/[^0-9]/ig, "")) || 0);
-							let b1 = (parseFloat(b[key].toString().replace(/[^0-9]/ig, "")) || 0);
-							a1 =  a[key] < 0 ? - a1 : a1;
-							b1 =  b[key] < 0 ? - b1 : b1;
-						    return a1 - b1
-						})
-					} else {
-						arr.sort((a, b) => {
-							let A = Pinyin.getSpell(a[key].charAt(0), function(charactor, spell) {
-								return spell[1]
-							}).charAt(0).charCodeAt()
-							let B = Pinyin.getSpell(b[key].charAt(0), function(charactor, spell) {
-								return spell[1]
-							}).charAt(0).charCodeAt()
-							return A - B
-						})
-					}
-					
-				} else if (type === 'inv') {
-					// 鍊掑簭
-					if (isNumber) {
-						arr.sort((a, b) => {
-						    let a1 = (parseFloat(a[key].toString().replace(/[^0-9]/ig, "")) || 0);
-							let b1 = (parseFloat(b[key].toString().replace(/[^0-9]/ig, "")) || 0);
-							a1 =  a[key] < 0 ? - a1 : a1;
-							b1 =  b[key] < 0 ? - b1 : b1;
-							return b1 - a1
-						})
-					} else {
-						arr.sort((a, b) => {
-							let A = Pinyin.getSpell(a[key].charAt(0), function(charactor, spell) {
-								return spell[1]
-							}).charAt(0).charCodeAt()
-							let B = Pinyin.getSpell(b[key].charAt(0), function(charactor, spell) {
-								return spell[1]
-							}).charAt(0).charCodeAt()
-							return B - A
-						})
-					} 
-				} else {
-					this.contentsSort = this.oContentsSort.slice()
-				}
-				if (this.enableCheck) {
-					this.event.data.forEach(item => {
-						this.contentsSort.forEach((content, index) => {
-							if (isEqual(item.lineData, content)) {
-								item.index = index
-							}
-						})
-					})
-				}
-				this.$forceUpdate()
-			},
-			initBottomComputed() {
-				let result = {}
-				let needComputed = []
-				this.computedCol.forEach(key => {
-					let computedColData = []
-					this.contentsSort.forEach(content => {
-						computedColData.push(content[key] || '0')
-					})
-					needComputed.push(computedColData)
-				})
-				needComputed.forEach((item, index) => {
-					let total = 0
-					item.forEach(num => {
-						total += parseFloat(num)
-					})
-					result[this.computedCol[index]] = total
-				})
-				this.bottomComputed = result
-			},
-			onHeaderItemTap(index) {
-				let header = this.headers[index]
-				const lastSortActiveKey = uni.getStorageSync('lastSortActiveKey') || ''
-				if (this.sortCol.length !== 0) {
-					if (this.sortKeys.includes(header.key)) {
-						// 褰撳墠鍒楀紑鍚簡鎺掑簭
-						this.sortActiveKey = header.key
-						uni.setStorageSync('lastSortActiveKey', this.sortActiveKey)
-						if (this.sortWay < 2 && lastSortActiveKey === this.sortActiveKey) {
-							this.sortWay++
-						} else if (lastSortActiveKey !== this.sortActiveKey) {
-							this.sortWay = 1
-						} else if (this.sortWay >= 2) {
-							this.sortWay = 0
-						}
-						let isNumber = this.sortCol[this.sortKeys.indexOf(header.key)].isNumber
-						// console.log(header.key,this.sortWays[this.sortWay],isNumber)
-						this.doSort(header.key, this.sortWays[this.sortWay], isNumber)
-					}
-				}
-			},
-			onContentItemTap(cIndex, hIndex) {
-				let event = {}
-				let content = this.contentsSort[cIndex]
-				let header = this.headers[hIndex]
-				let keys = []
-				
-				if (this.urlCol.length !== 0) {
-					for (let i in this.urlCol) {
-						let item = this.urlCol[i]
-						keys.push(item.key)
-					}
-				}
-				
-				if (content[header.key]) {
-					if (keys.includes(header.key)) {
-						// 璇ュ崟鍏冩牸涓洪摼鎺�
-						switch(this.urlCol[keys.indexOf(header.key)].type) {
-							case 'route':
-								let url = content[header.key][1]
-								if (content[header.key][2]) {
-									url = `${url}?`
-									Object.keys(content[header.key][2]).forEach(key => {
-										url += `&${key}=${content[header['key']][2][key]}`
-									})
-								}
-								uni.navigateTo({url})
-								break
-							case 'http':
-								this.openURL(content[header.key][1])
-								break
-						}
-					} else {
-						event = {
-							content: content[header.key],
-							contentIndex: cIndex,
-							header: header.label,
-							headerIndex: hIndex,
-							key: header.key,
-							lineData: content
-						}
-						this.$emit('onCellClick', event)
-					}
-					
-				} else {
-					event = {
-						content: '',
-						contentIndex: cIndex,
-						header: header.label,
-						headerIndex: hIndex,
-						key: header.key,
-						lineData: content
-					}
-					if (keys.includes(header.key)) {
-						// 璇ュ崟鍏冩牸涓洪摼鎺�
-						event['isLink'] = true
-					}
-					this.$emit('onCellClick', event)
-				}
-				
-			},
-			onCheckAllTap() {
-				if (this.enableCheck === 'multiple') {
-					let checkList = []
-					this.contentsSort.forEach(item => {
-						checkList.push(item.checked)
-					})
-					this.checkList = checkList
-					if (!this.checkAll) {
-						this.checkAll = true
-						this.contentsSort.forEach(item => {
-							item.checked = true
-						})
-						this.event.data = []
-						this.contentsSort.forEach((content, index) => {
-							this.event.data.push({
-								index,
-								lineData: content
-							})
-						})
-						
-					} else {
-						this.checkAll = false
-						this.event.data = []
-						this.contentsSort.forEach(item => {
-							item.checked = false
-						})
-					}
-					this.$emit('onCheck', this.event)
-				}
-			},
-			onCheckItemTap(cIndex) {
-				let content = this.contentsSort[cIndex]
-				if (this.enableCheck === 'single') {
-					this.contentsSort.forEach((item, index) => {
-						if (cIndex === index) {
-							item.checked = !item.checked
-						} else {
-							item.checked = false
-						}
-					})
-				} else if (this.enableCheck === 'multiple') {
-					this.contentsSort[cIndex]['checked'] = !this.contentsSort[cIndex]['checked']
-				}
-				if (this.contentsSort[cIndex]['checked']) {
-					if (this.enableCheck === 'single') {
-						this.event.data = []
-					}
-					this.event.data.push({
-						index: cIndex,
-						lineData: this.contentsSort[cIndex]
-					})
-				} else {
-					this.event.data.forEach(item => {
-						if (item.index === cIndex) this.event.data.splice(this.event.data.indexOf(item), 1)
-					})
-					if (this.event.data.length === 0) {
-						this.checkAll = false
-					}
-				}
-				this.$forceUpdate()
-				this.$emit('onCheck', this.event)
-			},
-			openURL(href) {
-				// #ifdef APP-PLUS
-				plus.runtime.openURL(href)
-				// #endif
-				// #ifdef H5
-				window.open(href)
-				// #endif
-				// #ifdef MP
-				uni.setClipboardData({
-					data: href,
-					success() {
-						uni.showToast({
-							title: '缃戝潃宸插鍒讹紝璇峰湪鎵嬫満娴忚鍣ㄩ噷绮樿创璇ョ綉鍧�',
-							icon: 'none'
-						})
-					}
-				})
-				// #endif
-			},
-			getAverage(key) {
-				let numList = []
-				this.contentsSort.forEach(content => {
-					numList.push(parseFloat(content[key]) || 0)
-				})
-				return numList.reduce((a, b) => a + b) / numList.length
-			},
-			getTotal(key) {
-				let numList = []
-				this.contentsSort.forEach(content => {
-					numList.push(parseFloat(content[key]) || 0)
-				})
-				return numList.reduce((a, b) => a + b)
-			},
-			RGBChange(color, level, type) {
-				// 鍒ゆ柇棰滆壊绫诲瀷
-				let r = 0,
-					g = 0,
-					b = 0,
-					hasAlpha = false,
-					alpha = 1
-				if (color.indexOf('#') !== -1) {
-					// hex杞瑀gb
-					if (color.length === 4) {
-						let arr = color.split('')
-						color = '#' + arr[1] + arr[1] + arr[2] + arr[2] + arr[3] + arr[3]
-					}
-					let color16List = [color.substring(1, 3), color.substring(3, 5), color.substring(5, 7)]
-					r = parseInt(color16List[0], 16)
-					g = parseInt(color16List[1], 16)
-					b = parseInt(color16List[2], 16)
-			
-				} else {
-					hasAlpha = color.indexOf('a') !== -1
-					let root = color.slice()
-					let idx = root.indexOf('(') + 1
-					root = root.substring(idx)
-					let firstDotIdx = root.indexOf(',')
-					r = parseFloat(root.substring(0, firstDotIdx))
-					root = root.substring(firstDotIdx + 1)
-					let secondDotIdx = root.indexOf(',')
-					g = parseFloat(root.substring(0, secondDotIdx))
-					root = root.substring(secondDotIdx + 1)
-					if (hasAlpha) {
-						let thirdDotIdx = root.indexOf(',')
-						b = parseFloat(root.substring(0, thirdDotIdx))
-						alpha = parseFloat(root.substring(thirdDotIdx + 1))
-					} else {
-						b = parseFloat(root)
-					}
-				}
-			
-				let rgbc = [r, g, b]
-				// 鍑忔贰鎴栧姞娣�
-				for (var i = 0; i < 3; i++)
-					type === 'light' ? rgbc[i] = Math.floor((255 - rgbc[i]) * level + rgbc[i]) : rgbc[i] = Math.floor(rgbc[i] * (1 -
-						level))
-			
-				if (hasAlpha) {
-					return `rgba(${rgbc[0]}, ${rgbc[1]}, ${rgbc[2]}, ${alpha})`
-				} else {
-					return `rgb(${rgbc[0]}, ${rgbc[1]}, ${rgbc[2]})`
-				}
-			},
-			hexToRgb(color) {
-				if (color.length === 4) {
-					let arr = color.split('')
-					color = '#' + arr[1] + arr[1] + arr[2] + arr[2] + arr[3] + arr[3]
-				}
-				let color16List = [color.substring(1, 3), color.substring(3, 5), color.substring(5, 7)]
-				let r = parseInt(color16List[0], 16)
-				let g = parseInt(color16List[1], 16)
-				let b = parseInt(color16List[2], 16)
-				return [r, g, b]
-			},
-			randomString(length, chars) {
-			    var result = ''
-			    for (var i = length; i > 0; --i) result += chars[Math.floor(Math.random() * chars.length)]
-			    return result
-			}
-		}
-	}
-</script>
-
-<style>
-	@import '../../static/table/iconfont.wxss';
-	@import '../../static/table/loader.wxss';
-	.ios-header-bug {
-		height: 0;
-		width: 1px;
-		opacity: 0;
-	}
-	
-	.wyb-table-scroll-view {
-		overflow: scroll;
-		-webkit-overflow-scrolling: touch;
-	}
-	
-	.wyb-table-scroll-view::-webkit-scrollbar {
-		display: none;
-		/* #ifdef MP-WEIXIN */
-		width: 0;
-		height: 0;
-		/* #endif */
-	}
-	
-	.wyb-table-loading-box {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		z-index: 500;
-	}
-	
-	.wyb-table-header {
-		position: sticky;
-		top: 0;
-		display: grid;
-		grid-auto-flow: column;
-		width: max-content;
-		z-index: 25;
-	}
-	
-	.wyb-table-header-item {
-		flex: 1;
-		display: flex;
-		align-items: center;
-		box-sizing: border-box;
-		position: relative;
-	}
-	
-	.wyb-table-header-icon {
-		display: flex;
-		flex-direction: column;
-	}
-	
-	.wyb-table-content-line {
-		display: grid;
-		grid-auto-flow: column;
-		width: max-content;
-		position: relative;
-	}
-	
-	.wyb-table-content-item {
-		display: flex;
-		flex-direction: row;
-		align-items: center;
-		box-sizing: border-box;
-	}
-	
-	.wyb-table-checkbox {
-		border-radius: 3px;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		position: relative;
-	}
-	
-	.icon-check {
-		width: 100%;
-		height: 100%;
-		position: absolute;
-		border-radius: 0;
-		border-radius: 3px;
-		font-weight: bold;
-		box-sizing: border-box;
-		transform: scale(1.1);
-	}
-</style>
diff --git a/src/pages_qiun/components/drop-down/drop-down.vue b/src/pages_qiun/components/drop-down/drop-down.vue
deleted file mode 100644
index 9c2e9b0..0000000
--- a/src/pages_qiun/components/drop-down/drop-down.vue
+++ /dev/null
@@ -1,218 +0,0 @@
-<template>
-	<div class="dropdown-item">
-		<!-- selected -->
-		<view :class="['dropdown-item__selected',listWidth!='150rpx'?'dropdown-item__right':'dropdown-item__left']" 
-			  @click="changePopup" :style="{maxWidth:selectWidth}">
-			<view class="selected__name">{{selectItem.text}}</view>
-			<view class="selected__icon"
-				:class="showClass === 'show'? 'up' : 'down'"
-			>
-				<li class="iconfont icon-caretdown"></li>
-			</view>
-		</view>
-		<view class="dropdown-item__content" :style="{top: contentTop + 'rpx'}" v-if="showList">
-			<!-- dropdown -->
-			<view :class="['list', showClass]" :style="{left: contentLeft>0?contentLeft + 'rpx':'auto',right: contentRight>0?contentRight + 'rpx':'auto',}">
-				<view class="list__option"
-					v-for="(item, index) in list" :key="index"
-					@click="choose(item)">
-					<view>{{item.text}}</view>
-					<icon v-if="item.value === value" type="success_no_circle" size="20"/>	
-				</view>
-			</view>	
-			<!-- dropdown-mask -->
-			<view :class="['dropdown-mask', showClass]" v-if="showList" @click="closePopup"></view>
-		</view>
-	</div>
-</template>
-
-<script>
-	export default {
-		components: {
-		},
-		props: {
-			value: [Number, String, Object],
-			list: {
-				type: Array,
-				default: ()=> {
-					return []
-				}
-			},
-			contentTop:{
-				type:String,
-				default:"185"
-			},
-			contentLeft:{
-				type:String,
-				default:"0"
-			},
-			contentRight:{
-				type:String,
-				default:"0"
-			},
-			listWidth:{
-				type:String,
-				default:'150rpx'
-			},
-			selectWidth:{
-				type:String,
-				default:'150rpx'
-			}
-		},
-		data() {
-			return {
-				showList: "",
-				showClass: '',
-				selectItem: {},
-			}
-		},
-		watch: {
-			list(newVal,oldVal){
-				this.selectItem = newVal[0];
-			}
-		},
-		mounted() {
-			this.showList = this.active;
-			this.selectItem = this.list[0];
-		},
-		methods: {
-			choose(item) {
-				if(item.value != "auto"){
-					this.selectItem = item
-				}
-				this.$emit('changeItem', item);
-				this.closePopup();
-			},
-			selectAuto(){
-				this.selectItem = {text: '鎸囧畾鏃ユ湡',value: 'auto'};
-			},
-			changePopup() {
-				if(this.showList) {
-					this.closePopup()
-				} else {
-					this.openPopup()
-				}
-			},
-			openPopup() {
-				setTimeout(() => {
-					this.showClass = 'show';
-					this.showList = true;
-				}, 100);
-			},
-			closePopup() {
-				this.showClass = ''
-				setTimeout(() => {
-					this.showList = false
-				}, 200);
-			},
-			close() {
-				this.showClass = ''
-				this.showList = false
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	
-	li{
-		 list-style-type:none;
-	}
-	.dropdown-item__content{
-		z-index: 10!important;
-	}
-	.dropdown-item {
-		width: 100%;
-		flex:1;
-		position: relative;
-		&__selected {
-			position: relative;
-			padding: 10rpx 0;
-			box-sizing: border-box;
-			color: #fff;
-			.selected__name {
-				font-size: 28rpx;
-				text-overflow: ellipsis;
-				white-space: nowrap;
-				overflow: hidden;
-			}
-			.selected__icon {
-				margin-left: 20rpx;
-				&.down {
-					transition: transform .3s;
-					transform: rotateZ(0);
-				}
-				&.up {
-					transition: transform .3s;
-					transform: rotateZ(-180deg);
-				}
-			}
-			
-		}
-		&__left{
-			display: flex;
-			flex-direction: row;
-			justify-content: flex-start;
-			align-items: center;
-		}
-		&__right{
-			display: flex;
-			flex-direction: row;
-			justify-content: flex-end;
-			align-items: center;
-		}
-		&__content {
-			position: fixed;
-			left: 0;
-			right: 0;
-			overflow: hidden;
-			top: 0;
-			bottom: 0;
-			z-index: 1;
-			.list {
-				max-height: 400px;
-				text-align: center;
-				overflow-y: auto;
-				position: absolute;
-				z-index: 1200;
-				background: #fff;
-				transform: translateY(-100%);
-				transition: all .3s;
-				&.show {
-					transform: translateY(0);
-				}
-				&__option {
-					font-size:30rpx;
-					padding: 18rpx;
-					display: flex;
-					justify-content: space-between;
-					color: #303133;
-					&:not(:last-child) {
-						border-bottom: 1rpx solid #DDDDDD;
-					}
-				}
-			}
-			.dropdown-mask {
-				position: absolute;
-				left: 0;
-				right: 0;
-				top: 0;
-				bottom: 0;
-				transition: all .3s;
-				z-index: 1100;
-				&.show {
-					background:rgba(0,0,0,0.5);
-				}
-			}
-		}
-		&:not(:last-child):after {
-			content: ' ';
-			position: absolute;
-			width: 2rpx;
-			top: 36rpx;
-			bottom: 36rpx;
-			right: 0;
-			background: $uni-border-color;
-		}
-	}
-</style>
diff --git a/src/pages_qiun/components/progress-bar/progress-bar.vue b/src/pages_qiun/components/progress-bar/progress-bar.vue
deleted file mode 100644
index 5c47640..0000000
--- a/src/pages_qiun/components/progress-bar/progress-bar.vue
+++ /dev/null
@@ -1,125 +0,0 @@
-<template>
-	<view>
-		<view v-if="copyContent.length > 0" class="ranking">
-			<view class="ranking-item" v-for="(content,index) in copyContent" :key="index" :style="{padding:progressPadding+'rpx'}">
-				<view class="name">{{content.name}}</view>
-				<view class="progress" >
-					<text :style="{background:content.background,width:content.width + '%',height:progressWidth+'rpx'}"></text>
-				</view>
-				<view class="num">{{content.num}}</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:'ranking-list',
-		props:{
-			content:{
-				type: Array,
-				default() {
-					return []
-				}
-			},
-			isPC:{
-			    type:Boolean,
-			    default:false
-			},
-			isRank:{
-			    type:Boolean,
-			    default:false
-			}
-		},
-		data(){
-			return{
-				progressWidth:24,
-				progressPadding:10,
-				maxNumber:0,
-				culCount:0,
-				copyContent:[]
-			}
-		},
-		watch:{
-			content(newV){
-				this.init()
-			}
-		},
-		methods:{
-			init(){
-				this.copyContent = this.deepClone(this.content)
-				if(this.copyContent && this.copyContent.length >0){
-					if(this.isRank){
-						this.copyContent = this.copyContent.sort((a,b) => b.num - a.num);
-						this.maxNumber = this.copyContent[0].num;
-					}else{
-						this.maxNumber = Math.max.apply(Math,this.copyContent.map(item => { return item.num }));
-					}
-					this.copyContent.map((item,index) =>{
-						item.width = this.computeWidth(this.maxNumber,item.num);
-					});
-				}
-			},
-			computeWidth(max,current){
-				let num = (current / max) * 100;
-				return num.toFixed(2);
-			},
-			deepClone(obj) {
-			  var cloneObj = new obj.constructor()
-			  if(obj === null) return obj
-			  if(obj instanceof Date) return new Date(obj)
-			  if(obj instanceof RegExp) return new RegExp(obj)
-			  if (typeof obj !== 'object') return obj
-			  for (var i in obj) {
-			    if (obj.hasOwnProperty(i)) {
-			      cloneObj[i] = this.deepClone(obj[i])
-			    }
-			  }
-			  return cloneObj
-			}
-		},
-		mounted() {
-			if(this.isPC){
-				this.progressWidth = 40;
-				this.progressPadding = 30;
-			}
-			this.init();
-		}
-	}
-</script>
-
-<style scoped lang="scss">
-	.ranking-item{
-		display: flex;
-		margin-bottom: 13rpx;
-		align-content: center;
-		height: 50rpx;
-		
-		.name{
-			padding-right: 10rpx;
-			color: #868688;
-			font-size: 20rpx;
-			flex: 1;
-			white-space: nowrap;
-			    overflow: hidden;
-			    text-overflow: ellipsis;
-		}
-		.progress{
-			flex:5;
-			text-align: left;
-			padding-right: 10rpx;
-			
-			text{
-				display: inline-block;
-				border-radius: 30rpx;
-				vertical-align:top;
-			}
-			
-		}
-		.num{
-			font-size: 26rpx;
-			color: #3EB2F5;
-			flex: 1;
-		}
-	}
-</style>
diff --git a/src/pages_qiun/components/ranking-list/ranking-list.vue b/src/pages_qiun/components/ranking-list/ranking-list.vue
deleted file mode 100644
index cc3eb93..0000000
--- a/src/pages_qiun/components/ranking-list/ranking-list.vue
+++ /dev/null
@@ -1,93 +0,0 @@
-<template>
-	<view>
-		<view class="ranking">
-			<view class="ranking-item" v-for="(content,index) in content" :key="index">
-				<view class="name">{{content.name}}</view>
-				<view class="progress" >
-					<text :style="{backgroundImage:'linear-gradient(to top right,'+getColor(0,index)+','+getColor(1,index)+')',width:content.width + '%'}"></text>
-				</view>
-				<view class="num">{{content.num}}</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default{
-		name:'ranking-list',
-		props:{
-			content:{
-				type: Array,
-				default() {
-					return []
-				}
-			}
-		},
-		methods:{
-			init(){
-				if(this.content && this.content.length >0){
-					this.content = this.content.sort((a,b) => b.num - a.num);
-					let max = this.content[0].num;
-					this.content.map((item,index) =>{
-						item.width = this.computeWidth(max,item.num);
-					});
-					this.$emit("updateRanking",this.content)
-				}
-			},
-			computeWidth(max,current){
-				let num = (current / max) * 100;
-				return num.toFixed(2);
-			},
-			getColor(id,index){
-				let color = "";
-				switch(index){
-					case 0:
-						color = id == 0 ? "#fff":"#A80BFC";
-						break;
-					case 1:
-						color = id == 0 ? "#fff":"#740CFF";
-						break;
-					case 2:
-						color = id == 0 ? "#fff":"#4A08DC";
-						break;
-					default :
-						color = id == 0 ? "#fff":"#1936DA";
-						break;
-				}
-				return color;
-			},
-		},
-		mounted() {
-			this.init();
-		}
-	}
-</script>
-
-<style scoped lang="scss">
-	.ranking-item{
-		display: flex;
-		margin-bottom: 13rpx;
-		padding: 10rpx;
-		align-content: center;
-		
-		.name{
-			padding-right: 10rpx;
-			color: #868688;
-		}
-		.progress{
-			flex:5;
-			text-align: left;
-			padding-right: 10rpx;
-			
-			text{
-				display: inline-block;
-				height: 100%;
-			}
-			
-		}
-		.num{
-			font-size: 26rpx;
-			color: #3EB2F5;
-		}
-	}
-</style>
diff --git a/src/pages_qiun/components/text-block/text-block.vue b/src/pages_qiun/components/text-block/text-block.vue
deleted file mode 100644
index 035d372..0000000
--- a/src/pages_qiun/components/text-block/text-block.vue
+++ /dev/null
@@ -1,186 +0,0 @@
-<template>
-	<view class="text_block">
-		<template v-for="(item,index) in content">
-			<view v-if="item.kind == 1" :key="index" :style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background[1]+')'}" :class="[(index+1)%3==0 ? '':'marginRight','kind','kind_one','breathe-blue']">
-				<view class="view_100" :style="{fontSize:item.content[0].size,color:item.content[0].colorvalue}">{{item.content[0].value}}</view>
-				<view class="view_100" :style="{fontSize:item.content[1].size,color:item.content[1].colortext}">{{item.content[1].text}}</view>
-			</view>
-			<view v-else-if="item.kind == 2" :class="[(index+1)%3==0 ? '':'marginRight','kind','kind_two','breathe-blue']" :style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background+')' ,marginRight:(index+1)%3==0?'0rpx':'40rpx'}">
-				<view v-for="(content,i) in item.content" :key="i" class="two_1">
-					<text :style="{fontSize:content.size,color:content.colortext}">{{content.text}}:</text>
-					<text :style="{fontSize:content.size,color:content.colorvalue}">{{content.value}}</text>
-				</view>
-			</view>
-			<view v-else-if="item.kind == 3" class="kind kind_three breathe-blue" :style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background+')'}">
-				<view class="view_100" :style="{fontSize:item.content[0].size,color:item.content[0].colorvalue}">{{item.content[0].value}}</view>
-				<view class="view_100" :style="{fontSize:item.content[1].size,color:item.content[1].colortext}">{{item.content[1].text}}</view>
-				<view class="three_3 view_100">
-					<view v-for="(j,i) in 2" :key="i">
-						<text :style="{fontSize:item.content[i+2].size,color:item.content[i+2].colortext}">{{item.content[i+2].text}}:</text>
-						<text :style="{fontSize:item.content[i+2].size,color:item.content[i+2].colorvalue}">{{item.content[i+2].value}}</text>
-					</view>
-				</view>
-			</view>
-			<view v-else-if="item.kind == 4" :class="[(index+1)%3==0 ? '':'marginRight','kind','kind_four','breathe-blue']" :style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background[1]+')',marginRight:(index+1)%3==0?'0rpx':'40rpx'}">
-				<view class="view_100" :style="{fontSize:item.content[0].size,color:item.content[0].colortext}">{{item.content[0].text}}</view>
-				<view class="view_100" :style="{fontSize:item.content[1].size,color:item.content[1].colorvalue}">{{item.content[1].value}}</view>
-				<view class="four_3" :style="{fontSize:item.content[2].size,color:item.content[2].colorvalue}">
-					<text :style="{fontSize:item.content[3].size,color:item.content[3].colorvalue}">{{item.content[2].text}}</text>
-					<li v-if="item.content[3].text == 'up'" class="iconfont icon-up icon li_1" :style="{color:item.content[3].colortext}"></li>
-					<li v-else class="iconfont icon-down icon li_1" :style="{color:item.content[3].colortext}"></li>
-					<text :style="{fontSize:item.content[3].size,color:item.content[3].colorvalue}">{{item.content[3].value}}</text>
-				</view>
-			</view>
-			<view v-else-if="item.kind == 5" :class="[(index+1)%3==0 ? '':'marginRight','kind','kind_five','breathe-red']" :style="{backgroundImage:'linear-gradient(to top right,'+item.background[0]+','+item.background[1]+')',marginRight:(index+1)%3==0?'0rpx':'40rpx'}">
-				<view class="view_100" :style="{fontSize:item.content[0].size,color:item.content[0].colortext}">{{item.content[0].text}}</view>
-				<view class="view_100" :style="{fontSize:item.content[1].size,color:item.content[1].colorvalue}">{{item.content[1].value}}</view>
-				<view class="five_3 view_100">
-					<view v-for="(j,i) in 2" :key="i">
-						<text :style="{fontSize:item.content[j+2].size,color:item.content[j+2].colortext}">{{item.content[j+2].text}}</text>
-						<text :style="{fontSize:item.content[j+2].size,color:item.content[j+2].colorvalue}">{{item.content[j+2].value}}</text>
-					</view>
-				</view>
-				<view class="five_4">
-					<text :style="{fontSize:item.content[4].size,color:item.content[4].colortext}">{{item.content[4].text}}</text>
-					<text :style="{fontSize:item.content[4].size,color:item.content[4].colorvalue}">{{item.content[4].value}}</text>
-				</view>
-			</view>
-		</template>
-	</view>
-</template>
-
-<script>
-	export default {
-		props:{
-			content: {
-				type: Array,
-				default: []
-			},
-		},
-		data() {
-			return {
-			}
-		},
-		methods: {
-			
-		},
-		mounted() {
-			uni.onWindowResize((res) => {
-			    console.log('鍙樺寲鍚庣殑绐楀彛瀹藉害=' + res.size.windowWidth)
-			    console.log('鍙樺寲鍚庣殑绐楀彛楂樺害=' + res.size.windowHeight)
-			})
-		}
-	}
-</script>
-
-<style lang="scss">
-	.text_block{
-		display: flex;
-		width: 100%;
-		flex-wrap: wrap;
-		.marginRight{
-			margin-right: 36rpx!important;
-		}
-		.view_100{
-			width: 100%;
-		}
-		.CPT_DYBG {
-		  overflow: hidden;
-		  position: relative;
-	    }
-		.kind{
-			width: 24%;
-			padding: 10rpx;
-			margin-bottom: 40rpx;
-			display: flex;
-			justify-content: center;
-			flex-wrap: wrap;
-			border-radius: 16rpx;
-			margin-left: 16rpx;
-			box-shadow: -4px 4px 4px #ccc;
-			position: relative;
-		}
-		.kind_one{
-			border-radius: 10rpx;
-		}
-		.kind_two{
-			border-radius: 10rpx;
-		}
-		.kind_three{
-			border-radius: 16rpx;
-			width: 300rpx;
-			margin: 0 auto;
-			.three_3{
-				display: flex;
-				justify-content: space-around;
-			}
-		}
-		.kind_four{
-			border-radius: 10rpx;
-			.four_3{
-				display: flex;
-				.li_1 {
-					 list-style-type:none;
-				}
-				.icon{
-					margin-top: -8rpx;
-					transform: scale(0.8);
-				}
-			}
-		}
-		.kind_five{
-			border-radius: 20rpx;
-			.five_3{
-				view{
-					width: 100%;
-				}
-			}
-		}
-	}
-	// .breathe-blue {
-	// 	position:relative;
-	// 	color:#fff;
-	// 	text-align:center;
-	// 	cursor:pointer;
-	// 	box-shadow:0 1px 2px rgba(0,0,0,.3);
-	// 	overflow:hidden;
-	// 	-webkit-animation-timing-function:ease-in-out;
-	// 	-webkit-animation-name:breatheblue;
-	// 	-webkit-animation-duration:2000ms;
-	// 	-webkit-animation-iteration-count:infinite;
-	// 	-webkit-animation-direction:alternate;
-	// }
-	// @keyframes breatheblue {
-	// 	0% {
-	// 		opacity:.8;
-	// 		box-shadow:0 1px 2px rgba(62,178,245,0.5);
-	// 	}
-	// 	100% {
-	// 		opacity:1;
-	// 		box-shadow:0 1px 30px rgba(147,116,247,0.6);
-	// 	}
-	// }
-	// .breathe-red {
-	// 	position:relative;
-	// 	color:#fff;
-	// 	text-align:center;
-	// 	cursor:pointer;
-	// 	box-shadow:0 1px 2px rgba(0,0,0,.3);
-	// 	overflow:hidden;
-	// 	-webkit-animation-timing-function:ease-in-out;
-	// 	-webkit-animation-name:breathered;
-	// 	-webkit-animation-duration:2000ms;
-	// 	-webkit-animation-iteration-count:infinite;
-	// 	-webkit-animation-direction:alternate;
-	// }
-	// @keyframes breathered {
-	// 	0% {
-	// 		opacity:.8;
-	// 		box-shadow:0 1px 2px rgba(247,126,137,0.5);
-	// 	}
-	// 	100% {
-	// 		opacity:1;
-	// 		box-shadow:0 1px 30px rgba(247,149,59,0.9);
-	// 	}
-	// }
-</style>
diff --git a/src/pages_qiun/components/uni-calendar/calendar.js b/src/pages_qiun/components/uni-calendar/calendar.js
deleted file mode 100644
index 88fa23b..0000000
--- a/src/pages_qiun/components/uni-calendar/calendar.js
+++ /dev/null
@@ -1,600 +0,0 @@
-/**
- * @1900-2100鍖洪棿鍐呯殑鍏巻銆佸啘鍘嗕簰杞�
- * @charset UTF-8
- * @github  https://github.com/jjonline/calendar.js
- * @Author  Jea鏉�(JJonline@JJonline.Cn)
- * @Time    2014-7-21
- * @Time    2016-8-13 Fixed 2033hex銆丄ttribution Annals
- * @Time    2016-9-25 Fixed lunar LeapMonth Param Bug
- * @Time    2017-7-24 Fixed use getTerm Func Param Error.use solar year,NOT lunar year
- * @Version 1.0.3
- * @鍏巻杞啘鍘嗭細calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0]
- * @鍐滃巻杞叕鍘嗭細calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0]
- */
-/* eslint-disable */
-var calendar = {
-
-    /**
-     * 鍐滃巻1900-2100鐨勬鼎澶у皬淇℃伅琛�
-     * @Array Of Property
-     * @return Hex
-     */
-    lunarInfo: [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, // 1900-1909
-        0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, // 1910-1919
-        0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, // 1920-1929
-        0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, // 1930-1939
-        0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, // 1940-1949
-        0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, // 1950-1959
-        0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, // 1960-1969
-        0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, // 1970-1979
-        0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, // 1980-1989
-        0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0, // 1990-1999
-        0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, // 2000-2009
-        0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, // 2010-2019
-        0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, // 2020-2029
-        0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, // 2030-2039
-        0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, // 2040-2049
-        /** Add By JJonline@JJonline.Cn**/
-        0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, // 2050-2059
-        0x0a2e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, // 2060-2069
-        0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, // 2070-2079
-        0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, // 2080-2089
-        0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, // 2090-2099
-        0x0d520], // 2100
-
-    /**
-     * 鍏巻姣忎釜鏈堜唤鐨勫ぉ鏁版櫘閫氳〃
-     * @Array Of Property
-     * @return Number
-     */
-    solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
-
-    /**
-     * 澶╁共鍦版敮涔嬪ぉ骞查�熸煡琛�
-     * @Array Of Property trans["鐢�","涔�","涓�","涓�","鎴�","宸�","搴�","杈�","澹�","鐧�"]
-     * @return Cn string
-     */
-    Gan: ['\u7532', '\u4e59', '\u4e19', '\u4e01', '\u620a', '\u5df1', '\u5e9a', '\u8f9b', '\u58ec', '\u7678'],
-
-    /**
-     * 澶╁共鍦版敮涔嬪湴鏀�熸煡琛�
-     * @Array Of Property
-     * @trans["瀛�","涓�","瀵�","鍗�","杈�","宸�","鍗�","鏈�","鐢�","閰�","鎴�","浜�"]
-     * @return Cn string
-     */
-    Zhi: ['\u5b50', '\u4e11', '\u5bc5', '\u536f', '\u8fb0', '\u5df3', '\u5348', '\u672a', '\u7533', '\u9149', '\u620c', '\u4ea5'],
-
-    /**
-     * 澶╁共鍦版敮涔嬪湴鏀�熸煡琛�<=>鐢熻倴
-     * @Array Of Property
-     * @trans["榧�","鐗�","铏�","鍏�","榫�","铔�","椹�","缇�","鐚�","楦�","鐙�","鐚�"]
-     * @return Cn string
-     */
-    Animals: ['\u9f20', '\u725b', '\u864e', '\u5154', '\u9f99', '\u86c7', '\u9a6c', '\u7f8a', '\u7334', '\u9e21', '\u72d7', '\u732a'],
-
-    /**
-     * 24鑺傛皵閫熸煡琛�
-     * @Array Of Property
-     * @trans["灏忓瘨","澶у瘨","绔嬫槬","闆ㄦ按","鎯婅洶","鏄ュ垎","娓呮槑","璋烽洦","绔嬪","灏忔弧","鑺掔","澶忚嚦","灏忔殤","澶ф殤","绔嬬","澶勬殤","鐧介湶","绉嬪垎","瀵掗湶","闇滈檷","绔嬪啲","灏忛洩","澶ч洩","鍐嚦"]
-     * @return Cn string
-     */
-    solarTerm: ['\u5c0f\u5bd2', '\u5927\u5bd2', '\u7acb\u6625', '\u96e8\u6c34', '\u60ca\u86f0', '\u6625\u5206', '\u6e05\u660e', '\u8c37\u96e8', '\u7acb\u590f', '\u5c0f\u6ee1', '\u8292\u79cd', '\u590f\u81f3', '\u5c0f\u6691', '\u5927\u6691', '\u7acb\u79cb', '\u5904\u6691', '\u767d\u9732', '\u79cb\u5206', '\u5bd2\u9732', '\u971c\u964d', '\u7acb\u51ac', '\u5c0f\u96ea', '\u5927\u96ea', '\u51ac\u81f3'],
-
-    /**
-     * 1900-2100鍚勫勾鐨�24鑺傛皵鏃ユ湡閫熸煡琛�
-     * @Array Of Property
-     * @return 0x string For splice
-     */
-    sTermInfo: ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f',
-        '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-        '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa',
-        '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f',
-        'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f',
-        '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa',
-        '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2',
-        '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f',
-        '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-        '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-        '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722',
-        '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f',
-        '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-        '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-        '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722',
-        '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f',
-        '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e',
-        '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2',
-        '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722',
-        '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-        '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-        '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
-        '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722',
-        '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-        '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-        '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
-        '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722',
-        '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e',
-        '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2',
-        '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722',
-        '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721',
-        '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-        '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
-        '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
-        '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721',
-        '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-        '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
-        '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
-        '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721',
-        '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2',
-        '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722',
-        '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
-        '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd',
-        '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
-        '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
-        '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
-        '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd',
-        '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
-        '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
-        '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721',
-        '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5',
-        '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722',
-        '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
-        '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd',
-        '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35',
-        '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
-        '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721',
-        '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd',
-        '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35',
-        '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
-        '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721',
-        '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5',
-        '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35',
-        '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
-        '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd',
-        '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35',
-        '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722'],
-
-    /**
-     * 鏁板瓧杞腑鏂囬�熸煡琛�
-     * @Array Of Property
-     * @trans ['鏃�','涓�','浜�','涓�','鍥�','浜�','鍏�','涓�','鍏�','涔�','鍗�']
-     * @return Cn string
-     */
-    nStr1: ['\u65e5', '\u4e00', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341'],
-
-    /**
-     * 鏃ユ湡杞啘鍘嗙О鍛奸�熸煡琛�
-     * @Array Of Property
-     * @trans ['鍒�','鍗�','寤�','鍗�']
-     * @return Cn string
-     */
-    nStr2: ['\u521d', '\u5341', '\u5eff', '\u5345'],
-
-    /**
-     * 鏈堜唤杞啘鍘嗙О鍛奸�熸煡琛�
-     * @Array Of Property
-     * @trans ['姝�','涓�','浜�','涓�','鍥�','浜�','鍏�','涓�','鍏�','涔�','鍗�','鍐�','鑵�']
-     * @return Cn string
-     */
-    nStr3: ['\u6b63', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341', '\u51ac', '\u814a'],
-
-    /**
-     * 杩斿洖鍐滃巻y骞翠竴鏁村勾鐨勬�诲ぉ鏁�
-     * @param lunar Year
-     * @return Number
-     * @eg:var count = calendar.lYearDays(1987) ;//count=387
-     */
-    lYearDays: function (y) {
-        var i;
-        var sum = 348
-        for (i = 0x8000; i > 0x8; i >>= 1) {
-            sum += (this.lunarInfo[y - 1900] & i) ? 1 : 0
-        }
-        return (sum + this.leapDays(y))
-    },
-
-    /**
-     * 杩斿洖鍐滃巻y骞撮棸鏈堟槸鍝釜鏈堬紱鑻骞存病鏈夐棸鏈� 鍒欒繑鍥�0
-     * @param lunar Year
-     * @return Number (0-12)
-     * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6
-     */
-    leapMonth: function (y) { // 闂板瓧缂栫爜 \u95f0
-        return (this.lunarInfo[y - 1900] & 0xf)
-    },
-
-    /**
-     * 杩斿洖鍐滃巻y骞撮棸鏈堢殑澶╂暟 鑻ヨ骞存病鏈夐棸鏈堝垯杩斿洖0
-     * @param lunar Year
-     * @return Number (0銆�29銆�30)
-     * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29
-     */
-    leapDays: function (y) {
-        if (this.leapMonth(y)) {
-            return ((this.lunarInfo[y - 1900] & 0x10000) ? 30 : 29)
-        }
-        return (0)
-    },
-
-    /**
-     * 杩斿洖鍐滃巻y骞磎鏈堬紙闈為棸鏈堬級鐨勬�诲ぉ鏁帮紝璁$畻m涓洪棸鏈堟椂鐨勫ぉ鏁拌浣跨敤leapDays鏂规硶
-     * @param lunar Year
-     * @return Number (-1銆�29銆�30)
-     * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29
-     */
-    monthDays: function (y, m) {
-        if (m > 12 || m < 1) {
-            return -1
-        }// 鏈堜唤鍙傛暟浠�1鑷�12锛屽弬鏁伴敊璇繑鍥�-1
-        return ((this.lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29)
-    },
-
-    /**
-     * 杩斿洖鍏巻(!)y骞磎鏈堢殑澶╂暟
-     * @param solar Year
-     * @return Number (-1銆�28銆�29銆�30銆�31)
-     * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30
-     */
-    solarDays: function (y, m) {
-        if (m > 12 || m < 1) {
-            return -1
-        } // 鑻ュ弬鏁伴敊璇� 杩斿洖-1
-        var ms = m - 1
-        if (ms == 1) { // 2鏈堜唤鐨勯棸骞宠寰嬫祴绠楀悗纭杩斿洖28鎴�29
-            return (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) ? 29 : 28)
-        } else {
-            return (this.solarMonth[ms])
-        }
-    },
-
-    /**
-     * 鍐滃巻骞翠唤杞崲涓哄共鏀邯骞�
-     * @param  lYear 鍐滃巻骞寸殑骞翠唤鏁�
-     * @return Cn string
-     */
-    toGanZhiYear: function (lYear) {
-        var ganKey = (lYear - 3) % 10
-        var zhiKey = (lYear - 3) % 12
-        if (ganKey == 0) ganKey = 10// 濡傛灉浣欐暟涓�0鍒欎负鏈�鍚庝竴涓ぉ骞�
-        if (zhiKey == 0) zhiKey = 12// 濡傛灉浣欐暟涓�0鍒欎负鏈�鍚庝竴涓湴鏀�
-        return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1]
-    },
-
-    /**
-     * 鍏巻鏈堛�佹棩鍒ゆ柇鎵�灞炴槦搴�
-     * @param  cMonth [description]
-     * @param  cDay [description]
-     * @return Cn string
-     */
-    toAstro: function (cMonth, cDay) {
-        var s = '\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf'
-        var arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22]
-        return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + '\u5ea7'// 搴�
-    },
-
-    /**
-     * 浼犲叆offset鍋忕Щ閲忚繑鍥炲共鏀�
-     * @param offset 鐩稿鐢插瓙鐨勫亸绉婚噺
-     * @return Cn string
-     */
-    toGanZhi: function (offset) {
-        return this.Gan[offset % 10] + this.Zhi[offset % 12]
-    },
-
-    /**
-     * 浼犲叆鍏巻(!)y骞磋幏寰楄骞寸n涓妭姘旂殑鍏巻鏃ユ湡
-     * @param y鍏巻骞�(1900-2100)锛沶浜屽崄鍥涜妭姘斾腑鐨勭鍑犱釜鑺傛皵(1~24)锛涗粠n=1(灏忓瘨)绠楄捣
-     * @return day Number
-     * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;鎰忓嵆1987骞�2鏈�4鏃ョ珛鏄�
-     */
-    getTerm: function (y, n) {
-        if (y < 1900 || y > 2100) {
-            return -1
-        }
-        if (n < 1 || n > 24) {
-            return -1
-        }
-        var _table = this.sTermInfo[y - 1900]
-        var _info = [
-            parseInt('0x' + _table.substr(0, 5)).toString(),
-            parseInt('0x' + _table.substr(5, 5)).toString(),
-            parseInt('0x' + _table.substr(10, 5)).toString(),
-            parseInt('0x' + _table.substr(15, 5)).toString(),
-            parseInt('0x' + _table.substr(20, 5)).toString(),
-            parseInt('0x' + _table.substr(25, 5)).toString()
-        ]
-        var _calday = [
-            _info[0].substr(0, 1),
-            _info[0].substr(1, 2),
-            _info[0].substr(3, 1),
-            _info[0].substr(4, 2),
-
-            _info[1].substr(0, 1),
-            _info[1].substr(1, 2),
-            _info[1].substr(3, 1),
-            _info[1].substr(4, 2),
-
-            _info[2].substr(0, 1),
-            _info[2].substr(1, 2),
-            _info[2].substr(3, 1),
-            _info[2].substr(4, 2),
-
-            _info[3].substr(0, 1),
-            _info[3].substr(1, 2),
-            _info[3].substr(3, 1),
-            _info[3].substr(4, 2),
-
-            _info[4].substr(0, 1),
-            _info[4].substr(1, 2),
-            _info[4].substr(3, 1),
-            _info[4].substr(4, 2),
-
-            _info[5].substr(0, 1),
-            _info[5].substr(1, 2),
-            _info[5].substr(3, 1),
-            _info[5].substr(4, 2)
-        ]
-        return parseInt(_calday[n - 1])
-    },
-
-    /**
-     * 浼犲叆鍐滃巻鏁板瓧鏈堜唤杩斿洖姹夎閫氫織琛ㄧず娉�
-     * @param lunar month
-     * @return Cn string
-     * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='鑵婃湀'
-     */
-    toChinaMonth: function (m) { // 鏈� => \u6708
-        if (m > 12 || m < 1) {
-            return -1
-        } // 鑻ュ弬鏁伴敊璇� 杩斿洖-1
-        var s = this.nStr3[m - 1]
-        s += '\u6708'// 鍔犱笂鏈堝瓧
-        return s
-    },
-
-    /**
-     * 浼犲叆鍐滃巻鏃ユ湡鏁板瓧杩斿洖姹夊瓧琛ㄧず娉�
-     * @param lunar day
-     * @return Cn string
-     * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='寤夸竴'
-     */
-    toChinaDay: function (d) { // 鏃� => \u65e5
-        var s
-        switch (d) {
-            case 10:
-                s = '\u521d\u5341';
-                break
-            case 20:
-                s = '\u4e8c\u5341';
-                break
-                break
-            case 30:
-                s = '\u4e09\u5341';
-                break
-                break
-            default :
-                s = this.nStr2[Math.floor(d / 10)]
-                s += this.nStr1[d % 10]
-        }
-        return (s)
-    },
-
-    /**
-     * 骞翠唤杞敓鑲朳!浠呰兘澶ц嚧杞崲] => 绮剧‘鍒掑垎鐢熻倴鍒嗙晫绾挎槸鈥滅珛鏄モ��
-     * @param y year
-     * @return Cn string
-     * @eg:var animal = calendar.getAnimal(1987) ;//animal='鍏�'
-     */
-    getAnimal: function (y) {
-        return this.Animals[(y - 4) % 12]
-    },
-
-    /**
-     * 浼犲叆闃冲巻骞存湀鏃ヨ幏寰楄缁嗙殑鍏巻銆佸啘鍘唎bject淇℃伅 <=>JSON
-     * @param y  solar year
-     * @param m  solar month
-     * @param d  solar day
-     * @return JSON object
-     * @eg:console.log(calendar.solar2lunar(1987,11,01));
-     */
-    solar2lunar: function (y, m, d) { // 鍙傛暟鍖洪棿1900.1.31~2100.12.31
-        // 骞翠唤闄愬畾銆佷笂闄�
-        if (y < 1900 || y > 2100) {
-            return -1// undefined杞崲涓烘暟瀛楀彉涓篘aN
-        }
-        // 鍏巻浼犲弬鏈�涓嬮檺
-        if (y == 1900 && m == 1 && d < 31) {
-            return -1
-        }
-        // 鏈紶鍙�  鑾峰緱褰撳ぉ
-        if (!y) {
-            var objDate = new Date()
-        } else {
-            var objDate = new Date(y, parseInt(m) - 1, d)
-        }
-        var i;
-        var leap = 0;
-        var temp = 0
-        // 淇ymd鍙傛暟
-        var y = objDate.getFullYear()
-        var m = objDate.getMonth() + 1
-        var d = objDate.getDate()
-        var offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000
-        for (i = 1900; i < 2101 && offset > 0; i++) {
-            temp = this.lYearDays(i)
-            offset -= temp
-        }
-        if (offset < 0) {
-            offset += temp;
-            i--
-        }
-
-        // 鏄惁浠婂ぉ
-        var isTodayObj = new Date()
-        var isToday = false
-        if (isTodayObj.getFullYear() == y && isTodayObj.getMonth() + 1 == m && isTodayObj.getDate() == d) {
-            isToday = true
-        }
-        // 鏄熸湡鍑�
-        var nWeek = objDate.getDay()
-        var cWeek = this.nStr1[nWeek]
-        // 鏁板瓧琛ㄧず鍛ㄥ嚑椤哄簲澶╂湞鍛ㄤ竴寮�濮嬬殑鎯緥
-        if (nWeek == 0) {
-            nWeek = 7
-        }
-        // 鍐滃巻骞�
-        var year = i
-        var leap = this.leapMonth(i) // 闂板摢涓湀
-        var isLeap = false
-
-        // 鏁堥獙闂版湀
-        for (i = 1; i < 13 && offset > 0; i++) {
-            // 闂版湀
-            if (leap > 0 && i == (leap + 1) && isLeap == false) {
-                --i
-                isLeap = true;
-                temp = this.leapDays(year) // 璁$畻鍐滃巻闂版湀澶╂暟
-            } else {
-                temp = this.monthDays(year, i)// 璁$畻鍐滃巻鏅�氭湀澶╂暟
-            }
-            // 瑙i櫎闂版湀
-            if (isLeap == true && i == (leap + 1)) {
-                isLeap = false
-            }
-            offset -= temp
-        }
-        // 闂版湀瀵艰嚧鏁扮粍涓嬫爣閲嶅彔鍙栧弽
-        if (offset == 0 && leap > 0 && i == leap + 1) {
-            if (isLeap) {
-                isLeap = false
-            } else {
-                isLeap = true;
-                --i
-            }
-        }
-        if (offset < 0) {
-            offset += temp;
-            --i
-        }
-        // 鍐滃巻鏈�
-        var month = i
-        // 鍐滃巻鏃�
-        var day = offset + 1
-        // 澶╁共鍦版敮澶勭悊
-        var sm = m - 1
-        var gzY = this.toGanZhiYear(year)
-
-        // 褰撴湀鐨勪袱涓妭姘�
-        // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year`
-        var firstNode = this.getTerm(y, (m * 2 - 1))// 杩斿洖褰撴湀銆岃妭銆嶄负鍑犳棩寮�濮�
-        var secondNode = this.getTerm(y, (m * 2))// 杩斿洖褰撴湀銆岃妭銆嶄负鍑犳棩寮�濮�
-
-        // 渚濇嵁12鑺傛皵淇骞叉敮鏈�
-        var gzM = this.toGanZhi((y - 1900) * 12 + m + 11)
-        if (d >= firstNode) {
-            gzM = this.toGanZhi((y - 1900) * 12 + m + 12)
-        }
-
-        // 浼犲叆鐨勬棩鏈熺殑鑺傛皵涓庡惁
-        var isTerm = false
-        var Term = null
-        if (firstNode == d) {
-            isTerm = true
-            Term = this.solarTerm[m * 2 - 2]
-        }
-        if (secondNode == d) {
-            isTerm = true
-            Term = this.solarTerm[m * 2 - 1]
-        }
-        // 鏃ユ煴 褰撴湀涓�鏃ヤ笌 1900/1/1 鐩稿樊澶╂暟
-        var dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10
-        var gzD = this.toGanZhi(dayCyclical + d - 1)
-        // 璇ユ棩鏈熸墍灞炵殑鏄熷骇
-        var astro = this.toAstro(m, d)
-
-        return {
-            'lYear': year,
-            'lMonth': month,
-            'lDay': day,
-            'Animal': this.getAnimal(year),
-            'IMonthCn': (isLeap ? '\u95f0' : '') + this.toChinaMonth(month),
-            'IDayCn': this.toChinaDay(day),
-            'cYear': y,
-            'cMonth': m,
-            'cDay': d,
-            'gzYear': gzY,
-            'gzMonth': gzM,
-            'gzDay': gzD,
-            'isToday': isToday,
-            'isLeap': isLeap,
-            'nWeek': nWeek,
-            'ncWeek': '\u661f\u671f' + cWeek,
-            'isTerm': isTerm,
-            'Term': Term,
-            'astro': astro
-        }
-    },
-
-    /**
-     * 浼犲叆鍐滃巻骞存湀鏃ヤ互鍙婁紶鍏ョ殑鏈堜唤鏄惁闂版湀鑾峰緱璇︾粏鐨勫叕鍘嗐�佸啘鍘唎bject淇℃伅 <=>JSON
-     * @param y  lunar year
-     * @param m  lunar month
-     * @param d  lunar day
-     * @param isLeapMonth  lunar month is leap or not.[濡傛灉鏄啘鍘嗛棸鏈堢鍥涗釜鍙傛暟璧嬪�紅rue鍗冲彲]
-     * @return JSON object
-     * @eg:console.log(calendar.lunar2solar(1987,9,10));
-     */
-    lunar2solar: function (y, m, d, isLeapMonth) { // 鍙傛暟鍖洪棿1900.1.31~2100.12.1
-        var isLeapMonth = !!isLeapMonth
-        var leapOffset = 0
-        var leapMonth = this.leapMonth(y)
-        var leapDay = this.leapDays(y)
-        if (isLeapMonth && (leapMonth != m)) {
-            return -1
-        }// 浼犲弬瑕佹眰璁$畻璇ラ棸鏈堝叕鍘� 浣嗚骞村緱鍑虹殑闂版湀涓庝紶鍙傜殑鏈堜唤骞朵笉鍚�
-        if (y == 2100 && m == 12 && d > 1 || y == 1900 && m == 1 && d < 31) {
-            return -1
-        }// 瓒呭嚭浜嗘渶澶ф瀬闄愬��
-        var day = this.monthDays(y, m)
-        var _day = day
-        // bugFix 2016-9-25
-        // if month is leap, _day use leapDays method
-        if (isLeapMonth) {
-            _day = this.leapDays(y, m)
-        }
-        if (y < 1900 || y > 2100 || d > _day) {
-            return -1
-        }// 鍙傛暟鍚堟硶鎬ф晥楠�
-
-        // 璁$畻鍐滃巻鐨勬椂闂村樊
-        var offset = 0
-        for (var i = 1900; i < y; i++) {
-            offset += this.lYearDays(i)
-        }
-        var leap = 0;
-        var isAdd = false
-        for (var i = 1; i < m; i++) {
-            leap = this.leapMonth(y)
-            if (!isAdd) { // 澶勭悊闂版湀
-                if (leap <= i && leap > 0) {
-                    offset += this.leapDays(y);
-                    isAdd = true
-                }
-            }
-            offset += this.monthDays(y, i)
-        }
-        // 杞崲闂版湀鍐滃巻 闇�琛ュ厖璇ュ勾闂版湀鐨勫墠涓�涓湀鐨勬椂宸�
-        if (isLeapMonth) {
-            offset += day
-        }
-        // 1900骞村啘鍘嗘鏈堜竴鏃ョ殑鍏巻鏃堕棿涓�1900骞�1鏈�30鏃�0鏃�0鍒�0绉�(璇ユ椂闂翠篃鏄湰鍐滃巻鐨勬渶寮�濮嬭捣濮嬬偣)
-        var stmap = Date.UTC(1900, 1, 30, 0, 0, 0)
-        var calObj = new Date((offset + d - 31) * 86400000 + stmap)
-        var cY = calObj.getUTCFullYear()
-        var cM = calObj.getUTCMonth() + 1
-        var cD = calObj.getUTCDate()
-
-        return this.solar2lunar(cY, cM, cD)
-    }
-}
-
-export default calendar
diff --git a/src/pages_qiun/components/uni-calendar/uni-calendar-item.vue b/src/pages_qiun/components/uni-calendar/uni-calendar-item.vue
deleted file mode 100644
index c66a58d..0000000
--- a/src/pages_qiun/components/uni-calendar/uni-calendar-item.vue
+++ /dev/null
@@ -1,170 +0,0 @@
-<template>
-	<view class="uni-calendar-item__weeks-box" :class="{
-		'uni-calendar-item--disable':weeks.disable,
-		'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-		'uni-calendar-item--checked':(calendar.fullDate === weeks.fullDate && !weeks.isDay) ,
-		'uni-calendar-item--before-checked':weeks.beforeMultiple,
-		'uni-calendar-item--multiple': weeks.multiple,
-		'uni-calendar-item--after-checked':weeks.afterMultiple,
-		}"
-	 @click="choiceDate(weeks)">
-		<view class="uni-calendar-item__weeks-box-item">
-			<text v-if="selected&&weeks.extraInfo" class="uni-calendar-item__weeks-box-circle"></text>
-			<text class="uni-calendar-item__weeks-box-text" :class="{
-				'uni-calendar-item--isDay-text': weeks.isDay,
-				'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-				'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay,
-				'uni-calendar-item--before-checked':weeks.beforeMultiple,
-				'uni-calendar-item--multiple': weeks.multiple,
-				'uni-calendar-item--after-checked':weeks.afterMultiple,
-				'uni-calendar-item--disable':weeks.disable,
-				}">{{weeks.date}}</text>
-			<text v-if="!lunar&&!weeks.extraInfo && weeks.isDay" class="uni-calendar-item__weeks-lunar-text" :class="{
-				'uni-calendar-item--isDay-text':weeks.isDay,
-				'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-				'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay,
-				'uni-calendar-item--before-checked':weeks.beforeMultiple,
-				'uni-calendar-item--multiple': weeks.multiple,
-				'uni-calendar-item--after-checked':weeks.afterMultiple,
-				}">浠婂ぉ</text>
-			<text v-if="lunar&&!weeks.extraInfo" class="uni-calendar-item__weeks-lunar-text" :class="{
-				'uni-calendar-item--isDay-text':weeks.isDay,
-				'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-				'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay,
-				'uni-calendar-item--before-checked':weeks.beforeMultiple,
-				'uni-calendar-item--multiple': weeks.multiple,
-				'uni-calendar-item--after-checked':weeks.afterMultiple,
-				'uni-calendar-item--disable':weeks.disable,
-				}">{{weeks.isDay?'浠婂ぉ': (weeks.lunar.IDayCn === '鍒濅竴'?weeks.lunar.IMonthCn:weeks.lunar.IDayCn)}}</text>
-			<text v-if="weeks.extraInfo&&weeks.extraInfo.info" class="uni-calendar-item__weeks-lunar-text" :class="{
-				'uni-calendar-item--extra':weeks.extraInfo.info,
-				'uni-calendar-item--isDay-text':weeks.isDay,
-				'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-				'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay,
-				'uni-calendar-item--before-checked':weeks.beforeMultiple,
-				'uni-calendar-item--multiple': weeks.multiple,
-				'uni-calendar-item--after-checked':weeks.afterMultiple,
-				'uni-calendar-item--disable':weeks.disable,
-				}">{{weeks.extraInfo.info}}</text>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		props: {
-			weeks: {
-				type: Object,
-				default () {
-					return {}
-				}
-			},
-			calendar: {
-				type: Object,
-				default: () => {
-					return {}
-				}
-			},
-			selected: {
-				type: Array,
-				default: () => {
-					return []
-				}
-			},
-			lunar: {
-				type: Boolean,
-				default: false
-			}
-		},
-		methods: {
-			choiceDate(weeks) {
-				this.$emit('change', weeks)
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.uni-calendar-item__weeks-box {
-		flex: 1;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-	}
-
-	.uni-calendar-item__weeks-box-text {
-		font-size: $uni-font-size-base;
-		color: $uni-text-color;
-	}
-
-	.uni-calendar-item__weeks-lunar-text {
-		font-size: $uni-font-size-sm;
-		color: $uni-text-color;
-	}
-
-	.uni-calendar-item__weeks-box-item {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		width: 100rpx;
-		height: 100rpx;
-	}
-
-	.uni-calendar-item__weeks-box-circle {
-		position: absolute;
-		top: 5px;
-		right: 5px;
-		width: 8px;
-		height: 8px;
-		border-radius: 8px;
-		background-color: $uni-color-error;
-
-	}
-
-	.uni-calendar-item--disable {
-		background-color: rgba(249, 249, 249, $uni-opacity-disabled);
-		color: $uni-text-color-disable;
-	}
-
-	.uni-calendar-item--isDay-text {
-		color: $uni-color-primary;
-	}
-
-	.uni-calendar-item--isDay {
-		background-color: $uni-color-primary;
-		opacity: 0.8;
-		color: #fff;
-	}
-
-	.uni-calendar-item--extra {
-		color: $uni-color-error;
-		opacity: 0.8;
-	}
-
-	.uni-calendar-item--checked {
-		background-color: $uni-color-primary;
-		color: #fff;
-		opacity: 0.8;
-	}
-
-	.uni-calendar-item--multiple {
-		background-color: $uni-color-primary;
-		color: #fff;
-		opacity: 0.8;
-	}
-	.uni-calendar-item--before-checked {
-		background-color: #ff5a5f;
-		color: #fff;
-	}
-	.uni-calendar-item--after-checked {
-		background-color: #ff5a5f;
-		color: #fff;
-	}
-</style>
diff --git a/src/pages_qiun/components/uni-calendar/uni-calendar.vue b/src/pages_qiun/components/uni-calendar/uni-calendar.vue
deleted file mode 100644
index bad6d0a..0000000
--- a/src/pages_qiun/components/uni-calendar/uni-calendar.vue
+++ /dev/null
@@ -1,512 +0,0 @@
-<template>
-	<view class="uni-calendar">
-		<view v-if="!insert&&show" class="uni-calendar__mask" :class="{'uni-calendar--mask-show':aniMaskShow}" @click="clean"></view>
-		<view v-if="insert || show" class="uni-calendar__content" :class="{'uni-calendar--fixed':!insert,'uni-calendar--ani-show':aniMaskShow}">
-			<view v-if="!insert" class="uni-calendar__header uni-calendar--fixed-top">
-				<view class="uni-calendar__header-btn-box" @click="close">
-					<text class="uni-calendar__header-text uni-calendar--fixed-width">鍙栨秷</text>
-				</view>
-				<view class="uni-calendar__header-btn-box" @click="confirm">
-					<text class="uni-calendar__header-text uni-calendar--fixed-width">纭畾</text>
-				</view>
-			</view>
-			<view class="uni-calendar__header">
-				<view class="uni-calendar__header-btn-box" @click.stop="pre">
-					<view class="uni-calendar__header-btn uni-calendar--left"></view>
-				</view>
-				<picker mode="date" :value="date" fields="month" @change="bindDateChange">
-					<text class="uni-calendar__header-text">{{ (nowDate.year||'') +'骞�'+( nowDate.month||'') +'鏈�'}}</text>
-				</picker>
-				<view class="uni-calendar__header-btn-box" @click.stop="next">
-					<view class="uni-calendar__header-btn uni-calendar--right"></view>
-				</view>
-				<text class="uni-calendar__backtoday" @click="backtoday">鍥炲埌浠婂ぉ</text>
-
-			</view>
-			<view class="uni-calendar__box">
-				<view v-if="showMonth" class="uni-calendar__box-bg">
-					<text class="uni-calendar__box-bg-text">{{nowDate.month}}</text>
-				</view>
-				<view class="uni-calendar__weeks">
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">鏃�</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">涓�</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">浜�</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">涓�</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">鍥�</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">浜�</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">鍏�</text>
-					</view>
-				</view>
-				<view class="uni-calendar__weeks" v-for="(item,weekIndex) in weeks" :key="weekIndex">
-					<view class="uni-calendar__weeks-item" v-for="(weeks,weeksIndex) in item" :key="weeksIndex">
-						<calendar-item :weeks="weeks" :calendar="calendar" :selected="selected" :lunar="lunar" @change="choiceDate"></calendar-item>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import Calendar from './util.js';
-	import calendarItem from './uni-calendar-item.vue'
-	/**
-	 * Calendar 鏃ュ巻
-	 * @description 鏃ュ巻缁勪欢鍙互鏌ョ湅鏃ユ湡锛岄�夋嫨浠绘剰鑼冨洿鍐呯殑鏃ユ湡锛屾墦鐐规搷浣溿�傚父鐢ㄥ満鏅锛氶厭搴楁棩鏈熼璁€�佺伀杞︽満绁ㄩ�夋嫨璐拱鏃ユ湡銆佷笂涓嬬彮鎵撳崱绛�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=56
-	 * @property {String} date 鑷畾涔夊綋鍓嶆椂闂达紝榛樿涓轰粖澶�
-	 * @property {Boolean} lunar 鏄剧ず鍐滃巻
-	 * @property {String} startDate 鏃ユ湡閫夋嫨鑼冨洿-寮�濮嬫棩鏈�
-	 * @property {String} endDate 鏃ユ湡閫夋嫨鑼冨洿-缁撴潫鏃ユ湡
-	 * @property {Boolean} range 鑼冨洿閫夋嫨
-	 * @property {Boolean} insert = [true|false] 鎻掑叆妯″紡,榛樿涓篺alse
-	 * 	@value true 寮圭獥妯″紡
-	 * 	@value false 鎻掑叆妯″紡
-	 * @property {Boolean} clearDate = [true|false] 寮圭獥妯″紡鏄惁娓呯┖涓婃閫夋嫨鍐呭
-	 * @property {Array} selected 鎵撶偣锛屾湡寰呮牸寮廩{date: '2019-06-27', info: '绛惧埌', data: { custom: '鑷畾涔変俊鎭�', name: '鑷畾涔夋秷鎭ご',xxx:xxx... }}]
-	 * @property {Boolean} showMonth 鏄惁閫夋嫨鏈堜唤涓鸿儗鏅�
-	 * @event {Function} change 鏃ユ湡鏀瑰彉锛宍insert :ture` 鏃剁敓鏁�
-	 * @event {Function} confirm 纭閫夋嫨`insert :false` 鏃剁敓鏁�
-	 * @event {Function} monthSwitch 鍒囨崲鏈堜唤鏃惰Е鍙�
-	 * @example <uni-calendar :insert="true":lunar="true" :start-date="'2019-3-2'":end-date="'2019-5-20'"@change="change" />
-	 */
-	export default {
-		components: {
-			calendarItem
-		},
-		props: {
-			date: {
-				type: String,
-				default: ''
-			},
-			selected: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			lunar: {
-				type: Boolean,
-				default: false
-			},
-			startDate: {
-				type: String,
-				default: ''
-			},
-			endDate: {
-				type: String,
-				default: ''
-			},
-			range: {
-				type: Boolean,
-				default: false
-			},
-			insert: {
-				type: Boolean,
-				default: true
-			},
-			showMonth: {
-				type: Boolean,
-				default: true
-			},
-			clearDate: {
-				type: Boolean,
-				default: true
-			}
-		},
-		data() {
-			return {
-				show: false,
-				weeks: [],
-				calendar: {},
-				nowDate: '',
-				aniMaskShow: false
-			}
-		},
-		watch: {
-			date(newVal) {
-				this.cale.setDate(newVal)
-				this.init(this.cale.selectDate.fullDate)
-			},
-			startDate(val){
-				this.cale.resetSatrtDate(val)
-			},
-			endDate(val){
-				this.cale.resetEndDate(val)
-			},
-			selected(newVal) {
-				this.cale.setSelectInfo(this.nowDate.fullDate, newVal)
-				this.weeks = this.cale.weeks
-			}
-		},
-		created() {
-			// 鑾峰彇鏃ュ巻鏂规硶瀹炰緥
-			this.cale = new Calendar({
-				// date: new Date(),
-				selected: this.selected,
-				startDate: this.startDate,
-				endDate: this.endDate,
-				range: this.range,
-			})
-			// 閫変腑鏌愪竴澶�
-			this.cale.setDate(this.date)
-			this.init(this.cale.selectDate.fullDate)
-			// this.setDay
-		},
-		methods: {
-			// 鍙栨秷绌块��
-			clean() {
-				this.aniMaskShow = false
-				this.$nextTick(() => {
-					setTimeout(() => {
-						this.show = false
-						this.$emit('close')
-					}, 300)
-				})
-			},
-			bindDateChange(e) {
-				const value = e.detail.value + '-1'
-				this.cale.setDate(value)
-				this.init(value)
-			},
-			/**
-			 * 鍒濆鍖栨棩鏈熸樉绀�
-			 * @param {Object} date
-			 */
-			init(date) {
-				this.weeks = this.cale.weeks
-				this.nowDate = this.calendar = this.cale.getInfo(date)
-			},
-			/**
-			 * 鎵撳紑鏃ュ巻寮圭獥
-			 */
-			open() {
-				// 寮圭獥妯″紡骞朵笖娓呯悊鏁版嵁
-				if (this.clearDate && !this.insert) {
-					this.cale.cleanMultipleStatus()
-					this.cale.setDate(this.date)
-					this.init(this.cale.selectDate.fullDate)
-				}
-				this.show = true
-				this.$nextTick(() => {
-					setTimeout(() => {
-						this.aniMaskShow = true
-					}, 50)
-				})
-			},
-			/**
-			 * 鍏抽棴鏃ュ巻寮圭獥
-			 */
-			close() {
-				this.aniMaskShow = false
-				this.$nextTick(() => {
-					setTimeout(() => {
-						this.show = false
-						this.$emit('close')
-					}, 300)
-				})
-			},
-			/**
-			 * 纭鎸夐挳
-			 */
-			confirm() {
-				this.setEmit('confirm')
-				this.close()
-			},
-			/**
-			 * 鍙樺寲瑙﹀彂
-			 */
-			change() {
-				if (!this.insert) return
-				this.setEmit('change')
-			},
-			/**
-			 * 閫夋嫨鏈堜唤瑙﹀彂
-			 */
-			monthSwitch() {
-				let {
-					year,
-					month
-				} = this.nowDate
-				this.$emit('monthSwitch', {
-					year,
-					month: Number(month)
-				})
-			},
-			/**
-			 * 娲惧彂浜嬩欢
-			 * @param {Object} name
-			 */
-			setEmit(name) {
-				let {
-					year,
-					month,
-					date,
-					fullDate,
-					lunar,
-					extraInfo
-				} = this.calendar
-				this.$emit(name, {
-					range: this.cale.multipleStatus,
-					year,
-					month,
-					date,
-					fulldate: fullDate,
-					lunar,
-					extraInfo: extraInfo || {}
-				})
-			},
-			/**
-			 * 閫夋嫨澶╄Е鍙�
-			 * @param {Object} weeks
-			 */
-			choiceDate(weeks) {
-				if (weeks.disable) return
-				this.calendar = weeks
-				// 璁剧疆澶氶��
-				this.cale.setMultiple(this.calendar.fullDate)
-				this.weeks = this.cale.weeks
-				this.change()
-			},
-			/**
-			 * 鍥炲埌浠婂ぉ
-			 */
-			backtoday() {
-				console.log(this.cale.getDate(new Date()).fullDate);
-				let date = this.cale.getDate(new Date()).fullDate
-				this.cale.setDate(date)
-				this.init(date)
-				this.change()
-			},
-			/**
-			 * 涓婁釜鏈�
-			 */
-			pre() {
-				const preDate = this.cale.getDate(this.nowDate.fullDate, -1, 'month').fullDate
-				this.setDate(preDate)
-				this.monthSwitch()
-
-			},
-			/**
-			 * 涓嬩釜鏈�
-			 */
-			next() {
-				const nextDate = this.cale.getDate(this.nowDate.fullDate, +1, 'month').fullDate
-				this.setDate(nextDate)
-				this.monthSwitch()
-			},
-			/**
-			 * 璁剧疆鏃ユ湡
-			 * @param {Object} date
-			 */
-			setDate(date) {
-				this.cale.setDate(date)
-				this.weeks = this.cale.weeks
-				this.nowDate = this.cale.getInfo(date)
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.uni-calendar {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-	}
-
-	.uni-calendar__mask {
-		position: fixed;
-		bottom: 0;
-		top: 0;
-		left: 0;
-		right: 0;
-		background-color: $uni-bg-color-mask;
-		transition-property: opacity;
-		transition-duration: 0.3s;
-		opacity: 0;
-		/* #ifndef APP-NVUE */
-		z-index: 99;
-		/* #endif */
-	}
-
-	.uni-calendar--mask-show {
-		opacity: 1
-	}
-
-	.uni-calendar--fixed {
-		position: fixed;
-		bottom: 0;
-		left: 0;
-		right: 0;
-		transition-property: transform;
-		transition-duration: 0.3s;
-		transform: translateY(460px);
-		/* #ifndef APP-NVUE */
-		z-index: 99;
-		/* #endif */
-	}
-
-	.uni-calendar--ani-show {
-		transform: translateY(0);
-	}
-
-	.uni-calendar__content {
-		background-color: #fff;
-	}
-
-	.uni-calendar__header {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		height: 50px;
-		border-bottom-color: $uni-border-color;
-		border-bottom-style: solid;
-		border-bottom-width: 1px;
-	}
-
-	.uni-calendar--fixed-top {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: space-between;
-		border-top-color: $uni-border-color;
-		border-top-style: solid;
-		border-top-width: 1px;
-	}
-
-	.uni-calendar--fixed-width {
-		width: 50px;
-		// padding: 0 15px;
-	}
-
-	.uni-calendar__backtoday {
-		position: absolute;
-		right: 0;
-		top: 25rpx;
-		padding: 0 5px;
-		padding-left: 10px;
-		height: 25px;
-		line-height: 25px;
-		font-size: 12px;
-		border-top-left-radius: 25px;
-		border-bottom-left-radius: 25px;
-		color: $uni-text-color;
-		background-color: $uni-bg-color-hover;
-	}
-
-	.uni-calendar__header-text {
-		text-align: center;
-		width: 100px;
-		font-size: $uni-font-size-base;
-		color: $uni-text-color;
-	}
-
-	.uni-calendar__header-btn-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-		width: 50px;
-		height: 50px;
-	}
-
-	.uni-calendar__header-btn {
-		width: 10px;
-		height: 10px;
-		border-left-color: $uni-text-color-placeholder;
-		border-left-style: solid;
-		border-left-width: 2px;
-		border-top-color: $uni-color-subtitle;
-		border-top-style: solid;
-		border-top-width: 2px;
-	}
-
-	.uni-calendar--left {
-		transform: rotate(-45deg);
-	}
-
-	.uni-calendar--right {
-		transform: rotate(135deg);
-	}
-
-
-	.uni-calendar__weeks {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-	}
-
-	.uni-calendar__weeks-item {
-		flex: 1;
-	}
-
-	.uni-calendar__weeks-day {
-		flex: 1;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		height: 45px;
-		border-bottom-color: #F5F5F5;
-		border-bottom-style: solid;
-		border-bottom-width: 1px;
-	}
-
-	.uni-calendar__weeks-day-text {
-		font-size: 14px;
-	}
-
-	.uni-calendar__box {
-		position: relative;
-	}
-
-	.uni-calendar__box-bg {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		justify-content: center;
-		align-items: center;
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		bottom: 0;
-	}
-
-	.uni-calendar__box-bg-text {
-		font-size: 200px;
-		font-weight: bold;
-		color: $uni-text-color-grey;
-		opacity: 0.1;
-		text-align: center;
-		/* #ifndef APP-NVUE */
-		line-height: 1;
-		/* #endif */
-	}
-</style>
diff --git a/src/pages_qiun/components/uni-calendar/util.js b/src/pages_qiun/components/uni-calendar/util.js
deleted file mode 100644
index 5397e91..0000000
--- a/src/pages_qiun/components/uni-calendar/util.js
+++ /dev/null
@@ -1,357 +0,0 @@
-import CALENDAR from './calendar.js'
-
-class Calendar {
-    constructor({
-                    date,
-                    selected,
-                    startDate,
-                    endDate,
-                    range
-                } = {}) {
-        // 褰撳墠鏃ユ湡
-        this.date = this.getDate(new Date()) // 褰撳墠鍒濆叆鏃ユ湡
-        // 鎵撶偣淇℃伅
-        this.selected = selected || [];
-        // 鑼冨洿寮�濮�
-        this.startDate = startDate
-        // 鑼冨洿缁撴潫
-        this.endDate = endDate
-        this.range = range
-        // 澶氶�夌姸鎬�
-        this.cleanMultipleStatus()
-        // 姣忓懆鏃ユ湡
-        this.weeks = {}
-        // this._getWeek(this.date.fullDate)
-    }
-
-    /**
-     * 璁剧疆鏃ユ湡
-     * @param {Object} date
-     */
-    setDate(date) {
-        this.selectDate = this.getDate(date)
-        this._getWeek(this.selectDate.fullDate)
-    }
-
-    /**
-     * 娓呯悊澶氶�夌姸鎬�
-     */
-    cleanMultipleStatus() {
-        this.multipleStatus = {
-            before: '',
-            after: '',
-            data: []
-        }
-    }
-
-    /**
-     * 閲嶇疆寮�濮嬫棩鏈�
-     */
-    resetSatrtDate(startDate) {
-        // 鑼冨洿寮�濮�
-        this.startDate = startDate
-
-    }
-
-    /**
-     * 閲嶇疆缁撴潫鏃ユ湡
-     */
-    resetEndDate(endDate) {
-        // 鑼冨洿缁撴潫
-        this.endDate = endDate
-    }
-
-    /**
-     * 鑾峰彇浠绘剰鏃堕棿
-     */
-    getDate(date, AddDayCount = 0, str = 'day') {
-        if (!date) {
-            date = new Date()
-        }
-        if (typeof date !== 'object') {
-            date = date.replace(/-/g, '/')
-        }
-        const dd = new Date(date)
-        switch (str) {
-            case 'day':
-                dd.setDate(dd.getDate() + AddDayCount) // 鑾峰彇AddDayCount澶╁悗鐨勬棩鏈�
-                break
-            case 'month':
-                if (dd.getDate() === 31) {
-                    dd.setDate(dd.getDate() + AddDayCount)
-                } else {
-                    dd.setMonth(dd.getMonth() + AddDayCount) // 鑾峰彇AddDayCount澶╁悗鐨勬棩鏈�
-                }
-                break
-            case 'year':
-                dd.setFullYear(dd.getFullYear() + AddDayCount) // 鑾峰彇AddDayCount澶╁悗鐨勬棩鏈�
-                break
-        }
-        const y = dd.getFullYear()
-        const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // 鑾峰彇褰撳墠鏈堜唤鐨勬棩鏈燂紝涓嶈冻10琛�0
-        const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // 鑾峰彇褰撳墠鍑犲彿锛屼笉瓒�10琛�0
-        return {
-            fullDate: y + '-' + m + '-' + d,
-            year: y,
-            month: m,
-            date: d,
-            day: dd.getDay()
-        }
-    }
-
-
-    /**
-     * 鑾峰彇涓婃湀鍓╀綑澶╂暟
-     */
-    _getLastMonthDays(firstDay, full) {
-        let dateArr = []
-        for (let i = firstDay; i > 0; i--) {
-            const beforeDate = new Date(full.year, full.month - 1, -i + 1).getDate()
-            dateArr.push({
-                date: beforeDate,
-                month: full.month - 1,
-                lunar: this.getlunar(full.year, full.month - 1, beforeDate),
-                disable: true
-            })
-        }
-        return dateArr
-    }
-
-    /**
-     * 鑾峰彇鏈湀澶╂暟
-     */
-    _currentMonthDys(dateData, full) {
-        let dateArr = []
-        let fullDate = this.date.fullDate
-        for (let i = 1; i <= dateData; i++) {
-            let isinfo = false
-            let nowDate = full.year + '-' + (full.month < 10 ?
-                full.month : full.month) + '-' + (i < 10 ?
-                '0' + i : i)
-            // 鏄惁浠婂ぉ
-            let isDay = fullDate === nowDate
-            // 鑾峰彇鎵撶偣淇℃伅
-            let info = this.selected && this.selected.find((item) => {
-                if (this.dateEqual(nowDate, item.date)) {
-                    return item
-                }
-            })
-
-            // 鏃ユ湡绂佺敤
-            let disableBefore = true
-            let disableAfter = true
-            if (this.startDate) {
-                let dateCompBefore = this.dateCompare(this.startDate, fullDate)
-                disableBefore = this.dateCompare(dateCompBefore ? this.startDate : fullDate, nowDate)
-            }
-
-            if (this.endDate) {
-                let dateCompAfter = this.dateCompare(fullDate, this.endDate)
-                disableAfter = this.dateCompare(nowDate, dateCompAfter ? this.endDate : fullDate)
-            }
-            let multiples = this.multipleStatus.data
-            let checked = false
-            let multiplesStatus = -1
-            if (this.range) {
-                if (multiples) {
-                    multiplesStatus = multiples.findIndex((item) => {
-                        return this.dateEqual(item, nowDate)
-                    })
-                }
-                if (multiplesStatus !== -1) {
-                    checked = true
-                }
-            }
-            let data = {
-                fullDate: nowDate,
-                year: full.year,
-                date: i,
-                multiple: this.range ? checked : false,
-                beforeMultiple: this.dateEqual(this.multipleStatus.before, nowDate),
-                afterMultiple: this.dateEqual(this.multipleStatus.after, nowDate),
-                month: full.month,
-                lunar: this.getlunar(full.year, full.month, i),
-                disable: !disableBefore || !disableAfter,
-                isDay
-            }
-            if (info) {
-                data.extraInfo = info
-            }
-
-            dateArr.push(data)
-        }
-        return dateArr
-    }
-
-    /**
-     * 鑾峰彇涓嬫湀澶╂暟
-     */
-    _getNextMonthDays(surplus, full) {
-        let dateArr = []
-        for (let i = 1; i < surplus + 1; i++) {
-            dateArr.push({
-                date: i,
-                month: Number(full.month) + 1,
-                lunar: this.getlunar(full.year, Number(full.month) + 1, i),
-                disable: true
-            })
-        }
-        return dateArr
-    }
-
-    /**
-     * 鑾峰彇褰撳墠鏃ユ湡璇︽儏
-     * @param {Object} date
-     */
-    getInfo(date) {
-        if (!date) {
-            date = new Date()
-        }
-        const dateInfo = this.canlender.find(item => item.fullDate === this.getDate(date).fullDate)
-        return dateInfo
-    }
-
-    /**
-     * 姣旇緝鏃堕棿澶у皬
-     */
-    dateCompare(startDate, endDate) {
-        // 璁$畻鎴鏃堕棿
-        startDate = new Date(startDate.replace('-', '/').replace('-', '/'))
-        // 璁$畻璇︾粏椤圭殑鎴鏃堕棿
-        endDate = new Date(endDate.replace('-', '/').replace('-', '/'))
-        if (startDate <= endDate) {
-            return true
-        } else {
-            return false
-        }
-    }
-
-    /**
-     * 姣旇緝鏃堕棿鏄惁鐩哥瓑
-     */
-    dateEqual(before, after) {
-        // 璁$畻鎴鏃堕棿
-        before = new Date(before.replace('-', '/').replace('-', '/'))
-        // 璁$畻璇︾粏椤圭殑鎴鏃堕棿
-        after = new Date(after.replace('-', '/').replace('-', '/'))
-        if (before.getTime() - after.getTime() === 0) {
-            return true
-        } else {
-            return false
-        }
-    }
-
-
-    /**
-     * 鑾峰彇鏃ユ湡鑼冨洿鍐呮墍鏈夋棩鏈�
-     * @param {Object} begin
-     * @param {Object} end
-     */
-    geDateAll(begin, end) {
-        var arr = []
-        var ab = begin.split('-')
-        var ae = end.split('-')
-        var db = new Date()
-        db.setFullYear(ab[0], ab[1] - 1, ab[2])
-        var de = new Date()
-        de.setFullYear(ae[0], ae[1] - 1, ae[2])
-        var unixDb = db.getTime() - 24 * 60 * 60 * 1000
-        var unixDe = de.getTime() - 24 * 60 * 60 * 1000
-        for (var k = unixDb; k <= unixDe;) {
-            k = k + 24 * 60 * 60 * 1000
-            arr.push(this.getDate(new Date(parseInt(k))).fullDate)
-        }
-        return arr
-    }
-
-    /**
-     * 璁$畻闃村巻鏃ユ湡鏄剧ず
-     */
-    getlunar(year, month, date) {
-        return CALENDAR.solar2lunar(year, month, date)
-    }
-
-    /**
-     * 璁剧疆鎵撶偣
-     */
-    setSelectInfo(data, value) {
-        this.selected = value
-        this._getWeek(data)
-    }
-
-    /**
-     *  鑾峰彇澶氶�夌姸鎬�
-     */
-    setMultiple(fullDate) {
-        let {
-            before,
-            after
-        } = this.multipleStatus
-
-        if (!this.range) return
-        if (before && after) {
-            this.multipleStatus.before = ''
-            this.multipleStatus.after = ''
-            this.multipleStatus.data = []
-        } else {
-            if (!before) {
-                this.multipleStatus.before = fullDate
-            } else {
-                this.multipleStatus.after = fullDate
-                if (this.dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {
-                    this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after);
-                } else {
-                    this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before);
-                }
-            }
-        }
-        this._getWeek(fullDate)
-    }
-
-    /**
-     * 鑾峰彇姣忓懆鏁版嵁
-     * @param {Object} dateData
-     */
-    _getWeek(dateData) {
-        const {
-            fullDate,
-            year,
-            month,
-            date,
-            day
-        } = this.getDate(dateData)
-        let firstDay = new Date(year, month - 1, 1).getDay()
-        let currentDay = new Date(year, month, 0).getDate()
-        let dates = {
-            lastMonthDays: this._getLastMonthDays(firstDay, this.getDate(dateData)), // 涓婁釜鏈堟湯灏惧嚑澶�
-            currentMonthDys: this._currentMonthDys(currentDay, this.getDate(dateData)), // 鏈湀澶╂暟
-            nextMonthDays: [], // 涓嬩釜鏈堝紑濮嬪嚑澶�
-            weeks: []
-        }
-        let canlender = []
-        const surplus = 42 - (dates.lastMonthDays.length + dates.currentMonthDys.length)
-        dates.nextMonthDays = this._getNextMonthDays(surplus, this.getDate(dateData))
-        canlender = canlender.concat(dates.lastMonthDays, dates.currentMonthDys, dates.nextMonthDays)
-        let weeks = {}
-        // 鎷兼帴鏁扮粍  涓婁釜鏈堝紑濮嬪嚑澶� + 鏈湀澶╂暟+ 涓嬩釜鏈堝紑濮嬪嚑澶�
-        for (let i = 0; i < canlender.length; i++) {
-            if (i % 7 === 0) {
-                weeks[parseInt(i / 7)] = new Array(7)
-            }
-            weeks[parseInt(i / 7)][i % 7] = canlender[i]
-        }
-        this.canlender = canlender
-        this.weeks = weeks
-    }
-
-    //闈欐�佹柟娉�
-    // static init(date) {
-    // 	if (!this.instance) {
-    // 		this.instance = new Calendar(date);
-    // 	}
-    // 	return this.instance;
-    // }
-}
-
-
-export default Calendar
diff --git a/src/pages_qiun/components/wuc-tab/wuc-tab.vue b/src/pages_qiun/components/wuc-tab/wuc-tab.vue
deleted file mode 100644
index 45b5b28..0000000
--- a/src/pages_qiun/components/wuc-tab/wuc-tab.vue
+++ /dev/null
@@ -1,134 +0,0 @@
-<template>
-  <scroll-view class="wuc-tab" :class="tabClass" :style="tabStyle" scroll-with-animation scroll-x :scroll-left="scrollLeft">
-    <div v-if="!textFlex">
-      <div class="wuc-tab-item" :class="[index === tabCur ? selectClass + ' cur':'']" v-for="(item,index) in tabList" :key="index" :id="index" @tap="tabSelect(index,$event)">
-        <text :class="item.icon"></text>
-        <span>{{item.name}}</span>
-      </div>
-    </div>
-
-    <div class="flex text-center" v-if="textFlex">
-      <div class="wuc-tab-item flex-sub" :class="index === tabCur ? selectClass + ' cur':''" v-for="(item,index) in tabList" :key="index" :id="index" @tap="tabSelect(index,$event)">
-        <text :class="item.icon"></text>
-        <span>{{item.name}}</span>
-      </div>
-    </div>
-  </scroll-view>
-</template>
-<script>
-export default {
-    name: 'wuc-tab',
-    data() {
-        return {};
-    },
-    props: {
-        tabList: {
-            type: Array,
-            default() {
-                return [];
-            }
-        },
-        tabCur: {
-            type: Number,
-            default() {
-                return 0;
-            }
-        },
-        tabClass: {
-            type: String,
-            default() {
-                return '';
-            }
-        },
-        tabStyle: {
-            type: String,
-            default() {
-                return '';
-            }
-        },
-        textFlex: {
-            type: Boolean,
-            default() {
-                return false;
-            }
-        },
-        selectClass: {
-            type: String,
-            default() {
-                return 'text-blue';
-            }
-        }
-    },
-    methods: {
-        tabSelect(index, e) {
-            if (this.currentTab === index) return false;
-			this.$emit('update:tabCur', index);
-			this.$emit('changeTab', this.tabList[index]);
-        }
-    },
-    computed: {
-        scrollLeft() {
-            return (this.tabCur - 1) * 60;
-        }
-    }
-};
-</script>
-<style>
-div,
-scroll-view,
-swiper {
-	box-sizing: border-box;
-}
-.wuc-tab {
-    white-space: nowrap;
-}
-.wuc-tab-item {
-    height: 90rpx;
-    display: inline-block;
-    line-height: 90rpx;
-    margin: 0 10upx;
-    padding: 0 20upx;
-}
-
-.wuc-tab-item.cur {
-	color: #40A2ED;
-	background-color: #fff;
-}
-
-.wuc-tab.fixed {
-	position: fixed;
-	width: 100%;
-	top: 0;
-	z-index: 1024;
-	box-shadow: 0 1upx 6upx rgba(0, 0, 0, 0.1);
-}
-
-.flex {
-    display: flex;
-}
-.text-center {
-    text-align: center;
-}
-.flex-sub {
-    flex: 1;
-}
-.text-blue{
-  color:#40A2ED;
-}
-.text-white{
-  color:#ffffff;
-}
-.bg-white{
-    background-color: #ffffff;
-}
-.bg-blue{
-    background-color: #40A2ED;
-}
-.text-orange{
-  color: #f37b1d
-}
-
-.text-xl {
-	font-size: 36upx;
-}
-</style>
diff --git a/src/pages_qiun/pages/finance/index.vue b/src/pages_qiun/pages/finance/index.vue
deleted file mode 100644
index 004ca69..0000000
--- a/src/pages_qiun/pages/finance/index.vue
+++ /dev/null
@@ -1,585 +0,0 @@
-<script setup>
-import { ref, reactive, watch, onMounted } from 'vue';
-import ProgressBar from "../../components/progress-bar/progress-bar.vue"
-import dataOne from '../../static/json/finance/1.json';
-import expendDetail from '../../static/json/finance/2.json';
-
-import Config from '../../static/js/config'
-import Common from '../../static/js/common'
-
-let _now = new Date();
-let now_time = {};
-now_time.year = _now.getFullYear()
-now_time.month = _now.getMonth() + 1
-now_time.day = _now.getDay()
-
-// 鏁版嵁瀹氫箟
-const info = ref('澶т究瓒呬汉'); // 鐢ㄦ埛鏁版嵁
-const scrollHeight = ref("600px"); // 鏁版嵁灞曠ず浣撻珮搴�
-const isCanvas2d = ref(Config.ISCANVAS2D);
-const historyData = ref({});
-const expendCount = ref(0);
-const delayload = ref(false);
-
-const nowTime = reactive({
-  year: now_time.year,
-  month: now_time.month,
-  day: now_time.day
-});
-
-const historyBtn = reactive([
-  {
-    name: "鏀嚭",
-    state: 1,
-    type: "expend"
-  },
-  {
-    name: "鏀跺叆",
-    state: 0,
-    type: "income"
-  },
-  {
-    name: "缁撲綑",
-    state: 0,
-    type: "remaining"
-  }
-]);
-
-const myWallet = reactive({
-  remaining: 3000.34,
-  expend: 5240.32,
-  income: 8240.66
-});
-
-const extendRank = reactive([
-  {
-    name: "鑵愯触鑱氫細",
-    desc: now_time.month + "鏈�6鏃�12:34-璺ㄧ晫绌洪棿杞拌洞",
-    money: "422.12"
-  },
-  {
-    name: "娌愭荡鎸夋懇",
-    desc: now_time.month + "鏈�12鏃�21:34-涔旀潐娌愭荡鍩�",
-    money: "318.00"
-  },
-  {
-    name: "椋熷搧閰掓按",
-    desc: now_time.month + "鏈�1鏃�21:34-school閰掗",
-    money: "289.50"
-  }
-]);
-
-const extend_level_bar = reactive([
-  { name: "浣庢秷璐�", range: "<2000鍏�", width: "20%" },
-  { name: "涓棿娑堣垂", range: "2000-5000鍏�", width: "35%" },
-  { name: "杈冮珮娑堣垂", range: "5000-8000鍏�", width: "25%", state: 1 },
-  { name: "楂樻秷璐�", range: ">8000鍏�", width: "20%" }
-]);
-
-const extend_morethan = ref("68%");
-
-const detail_list = reactive([
-  { date: now_time.month + "-01", time: "11:01", "type": "extend", money: "10.00", desc: "閾惰鍗¤浆鍑�" },
-  { date: now_time.month + "-01", time: "13:45", "type": "income", money: "18.00", desc: "閾惰鍗℃敹鍏�" },
-  { date: now_time.month + "-02", time: "06:21", "type": "extend", money: "123.45", desc: "淇$敤鍗¤浆鍑�" },
-  { date: now_time.month + "-03", time: "07:38", "type": "income", money: "23.00", desc: "閾惰鍗℃敹鍏�" },
-  { date: now_time.month + "-08", time: "16:28", "type": "extend", money: "23.56", desc: "淇$敤鍗¤浆鍑�" },
-  { date: now_time.month + "-09", time: "15:25", "type": "income", money: "850.12", desc: "閾惰鍗℃敹鍏�" },
-  { date: now_time.month + "-09", time: "18:52", "type": "income", money: "1.88", desc: "閾惰鍗℃敹鍏�" },
-  { date: now_time.month + "-11", time: "21:12", "type": "extend", money: "220.21", desc: "閾惰鍗¤浆鍑�" },
-  { date: now_time.month + "-12", time: "13:08", "type": "income", money: "32.28", desc: "閾惰鍗℃敹鍏�" },
-  { date: now_time.month + "-12", time: "12:41", "type": "extend", money: "122.12", desc: "淇$敤鍗¤浆鍑�" },
-  { date: now_time.month + "-13", time: "17:21", "type": "income", money: "10.00", desc: "閾惰鍗℃敹鍏�" }
-]);
-
-// 鐩戝惉鍣�
-watch(historyBtn, () => {
-  filterHistoryData();
-}, { deep: true });
-
-// 鏂规硶瀹氫箟
-async function getData() {
-  uni.showLoading();
-  filterHistoryData();
-  for (let i = 0; i < expendDetail.series.length; i++) {
-    expendDetail.series[i].format = "pieDemo";
-  }
-  let length = expendDetail.series[0].data.length;
-  for (let i = 0; i < length; i++) {
-    expendCount.value += expendDetail.series[0].data[i].value;
-  }
-  await setTimeout(() => {
-    delayload.value = true;
-    uni.hideLoading();
-  }, 1000);
-}
-
-function changeHistoryBtn(type) {
-  for (let i = 0; i < historyBtn.length; i++) {
-    if (historyBtn[i].type == type) {
-      historyBtn[i].state = 1;
-    } else {
-      historyBtn[i].state = 0;
-    }
-  }
-}
-
-function filterHistoryData() {
-  let type = historyBtn.filter(x => x.state == 1)[0].type;
-  switch (type) {
-    case "expend":
-      historyData.value = dataOne.expend;
-      break;
-    case "income":
-      historyData.value = dataOne.income;
-      break;
-    case "remaining":
-      historyData.value = dataOne.remaining;
-      break;
-  }
-}
-
-function gotoBack() {
-  Common.navigateBack("/index/index");
-}
-
-function getImage(index) {
-  switch (index) {
-    case 0:
-      return "https://s1.ax1x.com/2023/03/31/ppRYrfP.png";
-    case 1:
-      return "https://s1.ax1x.com/2023/03/31/ppRYySf.png";
-    case 2:
-      return "https://s1.ax1x.com/2023/03/31/ppRY6l8.png";
-  }
-}
-
-// 鐢熷懡鍛ㄦ湡
-onMounted(() => {
-  //#ifndef H5
-  uni.showShareMenu();
-  //#endif
-  getData();
-});
-</script>
-<template>
-	<view class="body">
-		<!-- <view class="topLine" :style="{height: topBar+'px'}"></view> -->
-		<view class="nav row_align_center" id="nav">
-			<li class="li_4" style="color: #fff;z-index: 999;" :class="['iconfont icon-zuojiantou back']" @click="gotoBack()"></li>
-		</view>
-		<view class="top_head">
-			<view class="text_des">
-				<text class="month_num">{{ nowTime.month }}</text>
-				<text class="month_text">鏈�</text>
-				<text class="month_year">{{ nowTime.year }}</text>
-				<text class="point">.</text>
-				<text class="title">璐㈠姟鎶ュ憡</text>
-			</view>
-			<view class="top_desc">
-				<view class="text-gray">缁撲綑</view>
-				<view class="remaining">{{ myWallet.remaining }}</view>
-				<view class="row head_block">
-					<view class="flex_1">
-						<text class="text-gray">鏀嚭</text>
-						<text class="text_green">{{ myWallet.expend }}</text>
-					</view>
-					<view class="flex_1">
-						<text class="text-gray">鏀跺叆</text>
-						<text class="income">{{ myWallet.income }}</text>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="main">
-			<view class="row_block">
-				<view class="the_title" style="justify-content: space-between;">
-					<view class="left_title">
-						<view class="title_icon"></view>
-						<text class="margin_stand-samll font-big wide">鍘嗗彶瓒嬪娍</text>
-					</view>
-					<view class="right_btn">
-						<view v-for="(item, index) in historyBtn" :key="index" :class="item.state ? 'active_btn' : ''"
-							@click="changeHistoryBtn(item.type)">{{ item.name }}</view>
-					</view>
-				</view>
-				<view class="charts-box" style="height: 200px;">
-					<qiun-data-charts type="line" canvasId="finance_a" :canvas2d="isCanvas2d" :reshow="delayload"
-						:opts="{ xAxis: { itemCount: 12, disableGrid: true }, yAxis: { disableGrid: true, data: [{ disabled: true }] } }"
-						:chartData="historyData" />
-				</view>
-			</view>
-			<view class="row_block">
-				<view class="the_title">
-					<view class="title_icon"></view>
-					<text class="margin_stand-samll font-big wide">閽遍兘鍘诲摢浜�</text>
-				</view>
-				<view v-if="delayload" class="charts-box">
-					<qiun-data-charts type="ring" canvasId="finance_b" :canvas2d="isCanvas2d" :reshow="delayload"
-						:opts="{ padding: [15, 0, 4, 0], legend: { position: 'bottom' }, title: { name: expendCount }, subtitle: { name: '鏀嚭', fontSize: '20' } }"
-						:chartData="expendDetail" />
-				</view>
-				<view class="the_title">
-					<text class="margin_stand-samll font-middle wide">鏀嚭鍗曠瑪鏈�璐�</text>
-				</view>
-				<view class="extend_rank">
-					<view class="rank_item" v-for="(item, index) in extendRank" :key="index">
-						<image :src="getImage(index)" mode="widthFix"></image>
-						<text class="name">{{ item.name }}</text>
-						<text class="desc">{{ item.desc }}</text>
-						<text class="text_green money">{{ item.money }}</text>
-					</view>
-				</view>
-			</view>
-			<view class="row_block">
-				<view class="the_title">
-					<view class="title_icon"></view>
-					<text class="margin_stand-samll font-big wide">{{ nowTime.month }}鏈堟槑缁�</text>
-				</view>
-				<view class="detail_list">
-					<view v-for="(item, index) in detail_list" :key="index" class="detail_item">
-						<view>
-							<view class="font-middle">{{ item.date }}</view>
-							<view class="font-small">{{ item.time }}</view>
-						</view>
-						<view class="icon">
-							<li class="li_2" :class="['iconfont', item.type == 'income' ? 'icon-income' : 'icon-expend']"></li>
-						</view>
-						<view class="right_content">
-							<view class="money">{{ item.type == 'income' ? '+' : '-' }}{{ item.money }}</view>
-							<view class="text-gray font-middle">{{ item.desc }}</view>
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="end_block">
-				<view class="the_title" style="margin-bottom: 40rpx;">
-					<view class="title_icon"></view>
-					<text class="margin_stand-samll font-big wide">鎴戠殑鏀嚭姘村钩</text>
-				</view>
-				<view class="level_bar">
-					<view v-for="(item, index) in extend_level_bar" :key="index" :style="{ width: item.width }"
-						:class="item.state ? 'text_green font-middle' : ''">{{ item.name }}</view>
-				</view>
-				<view class="level_bar">
-					<view v-for="(item, index) in extend_level_bar" :key="index" :style="{ width: item.width }"
-						:class="item.state ? 'active_bar' : 'default_bar'"></view>
-				</view>
-				<view class="level_bar">
-					<view v-for="(item, index) in extend_level_bar" :key="index" :style="{ width: item.width }"
-						:class="item.state ? 'text_green font-middle' : ''">{{ item.range }}</view>
-				</view>
-				<view class="extend_message">
-					<li style="color: #ccc;" :class="['iconfont icon-message']"></li>
-					<view>
-						鈥� 鎴戠殑鏀嚭姘村钩宸茶秴杩�
-						<text>{{ extend_morethan }}</text>
-						鐨勪埂闀囧眳姘戙�� 鈥�
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-<style scoped lang="scss">
-.body {
-	height: 100%;
-	background-color: #560594;
-	margin: 0;
-	padding-bottom: 20rpx;
-
-	.li_4 {
-		list-style-type: none;
-	}
-
-	.nav {
-		position: fixed;
-		top: 50rpx;
-		left: 20rpx;
-	}
-
-	.text_green {
-		color: #4ECDB6;
-	}
-
-	.main {
-		width: 100%;
-		padding: 0 10rpx;
-		box-sizing: border-box;
-		margin-top: 20rpx;
-
-		.detail_list {
-			height: 700rpx;
-			overflow: auto;
-			color: #9E9E9E;
-
-			.detail_item {
-				display: flex;
-				margin: 20rpx 0;
-				align-items: center;
-
-				.icon {
-					width: 30%;
-					text-align: center;
-
-					.li_2 {
-						font-size: 80rpx;
-					}
-				}
-
-				.right_content {
-					width: 50%;
-					text-align: center;
-				}
-
-				.icon-income {
-					color: #4AABF9;
-				}
-
-				.icon-expend {
-					color: #E45521;
-				}
-
-				.money {
-					color: #000;
-				}
-			}
-		}
-
-		.extend_message {
-			margin-top: 20rpx;
-			color: #ccc;
-			display: flex;
-
-			text {
-				color: #ff9900;
-			}
-		}
-
-		.level_bar {
-			width: 100%;
-			height: 40rpx;
-			border-radius: 40rpx;
-			overflow: hidden;
-			display: flex;
-			color: #ccc;
-			font-size: 20rpx;
-			text-align: right;
-			line-height: 40rpx;
-
-			view {
-				border-right: 2rpx solid #fff;
-				position: relative;
-			}
-
-			.name {
-				position: absolute;
-				top: -30rpx;
-				right: -40rpx;
-			}
-
-			.range {
-				position: absolute;
-				bottom: 30rpx;
-				right: -40rpx;
-			}
-
-			.default_bar {
-				background-color: #A0DFCD;
-			}
-
-			.active_bar {
-				background-color: #02AE7A;
-			}
-		}
-
-		.right_btn {
-			float: right;
-			display: flex;
-			color: #ccc;
-			font-size: 22rpx;
-
-			view {
-				line-height: 50rpx;
-				height: 50rpx;
-				margin: 0 20rpx;
-			}
-
-			.active_btn {
-				padding: 0rpx 20rpx;
-				border: 1px solid #ccc;
-				border-radius: 40rpx;
-			}
-		}
-
-		.end_block {
-			width: 100%;
-			box-sizing: border-box;
-			background-color: #fff;
-			border-radius: 12rpx;
-			position: relative;
-			padding: 20rpx;
-		}
-
-		.row_block {
-			width: 100%;
-			box-sizing: border-box;
-			background-color: #fff;
-			border-radius: 12rpx;
-			position: relative;
-			padding: 20rpx;
-
-			&::after {
-				content: "";
-				height: 0px;
-				width: 92%;
-				position: absolute;
-				transform: translateX(-50%);
-				left: 50%;
-				bottom: 0;
-				border-top: 1px dashed #ccc;
-			}
-		}
-
-		.the_title {
-			display: flex;
-			align-items: center;
-
-			.left_title {
-				display: flex;
-				align-items: center;
-			}
-
-			.title_icon {
-				background-color: #7E7E7E;
-				height: 40rpx;
-				width: 10rpx;
-				border-radius: 10rpx;
-				margin-right: 20rpx;
-				font-size: 16px;
-				font-weight: 600;
-			}
-		}
-
-		.extend_rank {
-			width: 100%;
-			background-color: #F5F5F5;
-			box-sizing: border-box;
-			padding: 10rpx;
-
-			.rank_item {
-				width: 100%;
-				margin: 20rpx 0;
-				box-sizing: border-box;
-				display: flex;
-				font-size: 26rpx;
-				justify-content: space-between;
-				align-items: center;
-
-				image {
-					width: 10%;
-				}
-
-				text {
-					text-overflow: ellipsis;
-					overflow: hidden;
-					white-space: nowrap;
-					display: block;
-				}
-
-				.name {
-					margin: 0 10rpx;
-					color: #7D7D7D;
-					width: 20%;
-				}
-
-				.desc {
-					width: 50%;
-					color: #ccc;
-				}
-
-				.money {
-					width: 20%;
-					text-align: right;
-				}
-			}
-		}
-	}
-
-	.top_head {
-		height: 435rpx;
-		width: 100%;
-		padding: 110rpx 10rpx 0rpx 10rpx;
-		background: url("https://img1.qunarzz.com/travel/d3/1704/db/34de73c353d44db5.jpg_r_640x426x70_53f464ca.jpg") no-repeat center 0px;
-		background-size: 100% 100%;
-		box-sizing: border-box;
-
-		.top_desc {
-			width: 100%;
-			border-radius: 20rpx;
-			background-color: #fff;
-			margin-top: 20rpx;
-			padding: 20rpx;
-			box-sizing: border-box;
-
-			.text-gray {
-				font-size: 28rpx;
-				color: #ccc;
-				margin-right: 10rpx;
-			}
-
-			.remaining {
-				font-size: 46rpx;
-			}
-
-			.flex_1 {
-				flex: 1;
-			}
-
-			.head_block {
-				margin-top: 20rpx;
-
-				.income {
-					color: #E34B5E;
-				}
-			}
-		}
-
-		.text_des {
-			height: 100rpx;
-			color: #fff;
-			font-weight: 900;
-			position: relative;
-			margin-left: 60rpx;
-
-			text {
-				display: inline-block;
-				height: 100%;
-			}
-
-			.month_num {
-				font-size: 90rpx;
-			}
-
-			.month_text {
-				font-size: 56rpx;
-			}
-
-			.month_year {
-				font-size: 22rpx;
-				position: absolute;
-				left: 60rpx;
-				top: 20rpx;
-			}
-
-			.point {
-				font-size: 40rpx;
-			}
-
-			.title {
-				font-size: 40rpx;
-			}
-		}
-	}
-}
-</style>
diff --git a/src/pages_qiun/pages/main/index.vue b/src/pages_qiun/pages/main/index.vue
deleted file mode 100644
index 6d32aac..0000000
--- a/src/pages_qiun/pages/main/index.vue
+++ /dev/null
@@ -1,348 +0,0 @@
-<template>
-	<view class="window">
-		<!-- #ifndef H5 -->
-		<view class="topLine" :style="{ height: topBar + 'px' }"></view>
-		<!-- #endif -->
-		<view class="nav row_align_center" id="nav">
-			<li class="li_5" :class="['iconfont icon-zuojiantou back']" @click="gotoBack()"></li>
-			<text class="title li_5">{{ title ? title : '' }}</text>
-			<li class="iconfont icon-zuojiantou back hidden"></li>
-		</view>
-		<view class="row_align_center head" id="head">
-			<!-- 鏃ユ湡涓嬫媺鍒楄〃 -->
-			<drop-down ref="caleDrop" @tap="changDrop(1)" @changeItem="changeTime" :list="timeArray" :contentTop="top"
-				selectWidth="260rpx" contentLeft="0"></drop-down>
-			<!-- 鏃ュ巻閫夋嫨鏃ユ湡 -->
-			<view v-if="showCalendar"
-				:class="['dropdown-item__selected', listWidth != '150rpx' ? 'dropdown-item__right' : 'dropdown-item__left']"
-				@click="openCalendar" class="calendar_drag">
-				<view class="selected__name">{{ nowDate }}</view>
-				<li class="iconfont icon-calendar" style="margin-left: 10rpx;"></li>
-			</view>
-			<!-- 鍏徃鍖哄煙涓嬫媺鍒楄〃 -->
-			<drop-down ref="companyDrop" @tap="changDrop(2)" @changeItem="changeLocation" :list="locationArray"
-				:contentTop="top" contentRight="10" :selectWidth="showCalendar ? '200rpx' : '300rpx'" listWidth="75%">
-			</drop-down>
-		</view>
-		<uni-calendar ref="calendar" :insert="false" :start-date="startDate" :end-date="endDate" :clearDate="false"
-			@confirm="confirm">
-		</uni-calendar>
-		<!--婊戝姩鍒楄〃澶�-->
-		<wuc-tab id="wuctab" :tab-list="tabList" :tabCur.sync="tabCur" tab-class="text-center text-white bg-blue"
-			select-class="text-white"></wuc-tab>
-		<!--涓讳綋鍐呭-->
-		<view class="data_body" :style="{ height: scrollHeight }">
-			<view v-if="tabCur == 0">
-				<wechat :scrollHeight="scrollHeight" />
-			</view>
-			<view v-else-if="tabCur == 1">
-				<user-operate :scrollHeight="scrollHeight" />
-			</view>
-			<view v-else-if="tabCur == 2">
-				<user-healthy :scrollHeight="scrollHeight" />
-			</view>
-			<view v-else-if="tabCur == 3">
-				<user-server :scrollHeight="scrollHeight"></user-server>
-			</view>
-		</view>
-		<!--姘村嵃-->
-		<view class="water-mark-mask row_wrap" :style="{ height: scrollHeight }">
-			<text class="container" v-for="(count, index) in 10" :key="index">{{ info.name }}</text>
-		</view>
-	</view>
-</template>
-<script>
-import Wechat from "../../components/data-center/wechat.vue"
-import UserOperate from "../../components/data-center/user-operate.vue"
-import UserHealthy from "../../components/data-center/user-healthy.vue"
-import UserServer from "../../components/data-center/user-server.vue"
-import WucTab from '../../components/wuc-tab/wuc-tab.vue'
-import DropDown from '../../components/drop-down/drop-down.vue'
-import UniCalendar from '../../components/uni-calendar/uni-calendar.vue'
-
-import Config from '../../static/js/config'
-import Common from "../../static/js/common"
-
-export default {
-	components: {
-		WucTab,
-		DropDown,
-		UniCalendar,
-		Wechat,
-		UserOperate,
-		UserHealthy,
-		UserServer,
-	},
-	data() {
-		return {
-			tabList: Config.TABLIST, //鏍囩澶�
-			timeArray: Config.TIMEARRAY, //鏃堕棿鏁扮粍
-			info: '澶т究瓒呬汉', //鐢ㄦ埛鏁版嵁
-			title: "鏁版嵁鎶ヨ〃涓績", //鏍囬
-			showDataTime: "today", //閫変腑鐨勬椂闂�
-			tabCur: 0, //鏍囩澶翠笅鏍�
-			topBar: 17, //瀵艰埅楂�
-			top: '180', //涓嬫媺鏍忎綅缃�
-			scrollHeight: "100%", //鏁版嵁灞曠ず浣撻珮搴�
-			nowDate: Common.getNowDate(), //鐜板湪鏃ユ湡
-			endDate: Common.getNowDate(), //鏃ュ巻鍙�夋棩鏈熻寖鍥寸殑缁撴潫鏃堕棿
-			startDate: Common.getPreMonth(Common.getNowDate()), //鏃ュ巻鍙�夋棩鏈熻寖鍥寸殑寮�濮嬫椂闂�,
-			showCalendar: false,
-		};
-	},
-	computed: {
-		locationArray() {
-			return [{
-				value: "GDBJ-ENTRY-1",
-				text: "澶╃尗"
-			}, {
-				value: "GDBJ-ENTRY-201",
-				text: "浜笢"
-			}];
-		}
-	},
-	methods: {
-		gotoBack() {
-			Common.navigateBack("/index/index");
-		},
-		changDrop(index) {
-			if (index == 1 && this.$refs.companyDrop.showList) {
-				this.$refs.companyDrop.closePopup()
-			} else if (index == 2 && this.$refs.caleDrop.showList) {
-				this.$refs.caleDrop.closePopup()
-			}
-		},
-		// 鎵撳紑鏃ュ巻
-		openCalendar() {
-			this.$refs.calendar.open();
-		},
-		// 鏃ュ巻閫夋嫨鏃ユ湡
-		confirm(e) {
-			if (this.nowDate != e.fulldate || !this.showCalendar) {
-				this.showCalendar = true;
-				this.$refs.caleDrop.selectAuto();
-				this.nowDate = e.fulldate;
-				this.showDataTime = e.fulldate.replace(/-/g, "");
-				Common.tipMsg("褰撳墠鏃堕棿:" + this.showDataTime)
-			}
-		},
-		//涓嬫媺閫夋嫨鏃堕棿
-		changeTime(e) {
-			if (e.value == "auto") {
-				this.openCalendar();
-			} else if (this.showDataTime != e.value) {
-				this.showDataTime = e.value;
-				this.showCalendar = false;
-				Common.tipMsg("褰撳墠鏃堕棿:" + this.showDataTime)
-			}
-		},
-		changeLocation(e) {
-			Common.tipMsg("褰撳墠閫変腑骞冲彴:" + e.text)
-		},
-		//鑾峰彇璁惧淇℃伅
-		async getTelephoneInfo() {
-			var telephoneInfo = await Common.getTelephoneInfo();
-			let hasHeight = 0;
-			if (telephoneInfo.top >= 40) {
-				this.top = telephoneInfo.statusBarHeight * 2 + 150;
-				this.topBar = telephoneInfo.statusBarHeight;
-			}
-
-			// 璁剧疆婊氬姩楂樺害
-			const query = wx.createSelectorQuery();
-			query.select('#nav').boundingClientRect();
-			query.select('#head').boundingClientRect();
-			query.select('#wuctab').boundingClientRect();
-			query.exec(res => {
-				res.map((item, index) => {
-					hasHeight += item.height;
-				})
-				this.scrollHeight = (telephoneInfo.screenHeight - hasHeight - this.topBar) + 'px';
-			})
-		},
-		getH5Info() {
-			uni.getSystemInfo({
-				success: e => {
-					let hasHeight = 0;
-					let element = wx.createSelectorQuery().in(this);
-					element.select('#nav').boundingClientRect();
-					element.select('#head').boundingClientRect();
-					element.select('#wuctab').boundingClientRect();
-					element.exec(res => {
-						res.map((item, index) => {
-							hasHeight += item.height;
-						})
-						this.scrollHeight = (e.screenHeight - hasHeight) + 'px';
-					})
-				},
-				fail: (err) => {
-					reject(err);
-				}
-			})
-		}
-	},
-	onReady() {
-		//#ifndef H5
-		uni.showShareMenu();
-		this.getTelephoneInfo();
-		//#endif
-		//#ifdef H5
-		this.getH5Info();
-		//#endif
-	}
-};
-</script>
-<style lang="scss">
-page,
-body {
-	margin: 0;
-	padding: 0;
-	width: 100%;
-	height: 100%;
-}
-
-.li_5 {
-	list-style-type: none;
-}
-
-.window {
-	height: 100vh;
-	overflow: hidden;
-
-	.topLine {
-		background-color: #40A2ED;
-		width: 100%;
-	}
-
-	scroll-view {
-		box-sizing: border-box;
-	}
-
-	.swiper {
-		box-sizing: border-box;
-	}
-
-	.nav {
-		background-image: url(http://photo.gdbjyy.cn/image/BCAI/top_bg.jpg);
-		background-size: 100% 100%;
-
-		.back {
-			font-size: 54rpx;
-			padding: 20rpx 14rpx 15rpx 14rpx;
-			color: #fff;
-		}
-
-		.title {
-			color: #fff;
-			font-size: 30rpx;
-			flex: 1;
-			text-align: center;
-		}
-
-		.hidden {
-			visibility: hidden;
-		}
-	}
-
-	.head {
-		padding: 0 16rpx 14rpx 16rpx;
-		color: #fff;
-		background-color: #40A2ED;
-		justify-content: space-between;
-		font-size: 26rpx !important;
-
-		.calendar_drag {
-			width: 340rpx;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-
-			.calendar_name {
-				margin-right: 10rpx;
-			}
-
-			.icon-calendar {
-				font-size: 26rpx;
-				margin-top: 4rpx;
-			}
-		}
-	}
-
-	.data_body {
-		overflow: auto;
-		text-align: center;
-		color: #333333;
-		background-repeat: repeat;
-		background-color: #ffffff;
-		position: relative;
-
-		.item {
-			padding: 0 20rpx;
-			margin-bottom: 20rpx;
-
-			.name {
-				font-weight: 600;
-				font-size: 36rpx;
-			}
-
-			.operate {
-				view {
-					padding: 5rpx 12rpx;
-					color: #fff;
-				}
-
-				.bg-blue {
-					background-color: #40A2ED;
-				}
-
-				.bg-yellow {
-					background-color: #FFC300;
-				}
-			}
-
-			.tip {
-				margin-bottom: 30rpx;
-
-				.update {
-					color: #C4100A;
-					margin-left: auto;
-					font-size: 30rpx;
-				}
-			}
-		}
-
-		.cry {
-			font-size: 96rpx;
-			margin-bottom: 10rpx;
-		}
-	}
-}
-
-.water-mark-mask {
-	width: 100%;
-	position: fixed;
-	left: 0;
-	bottom: 0;
-	z-index: 1000;
-	justify-content: space-between;
-	pointer-events: none; //鏃犺榧犳爣浜嬩欢锛岀浉褰撲簬榧犳爣浜嬩欢閫忎紶涓嬪幓涓�鏍�
-	flex: 1;
-	overflow: hidden;
-
-	text {
-		width: 50%;
-		color: #909399;
-		opacity: 0.25;
-		transform: rotate(-15deg);
-	}
-}
-
-.histogram {
-	height: 100%;
-	width: 100%;
-
-	canvas {
-		margin-top: 40rpx;
-	}
-}
-</style>
diff --git a/src/pages_qiun/pages/school/index.vue b/src/pages_qiun/pages/school/index.vue
deleted file mode 100644
index b28ffce..0000000
--- a/src/pages_qiun/pages/school/index.vue
+++ /dev/null
@@ -1,259 +0,0 @@
-<template>
-	<view class="body window">
-		<view class="topLine" :style="{ height: topBar + 'px' }"></view>
-		<view class="nav row_align_center" id="nav">
-			<li class="li_6" :class="['iconfont icon-zuojiantou back']" @click="gotoBack()"></li>
-			<text class="title">{{ title ? title : '' }}</text>
-			<li class="iconfont icon-zuojiantou back hidden li_6"></li>
-		</view>
-		<view class="data_body">
-			<scroll-view class="scroll_list" scroll-y :style="{ height: scrollHeight }">
-				<!-- 鏁欏绉戠爺鎯呭喌 -->
-				<view class="view_block">
-					<view class="title">鏁欏绉戠爺鎯呭喌</view>
-					<progress-bar :content="RankData" @updateRanking="updateRanking"></progress-bar>
-				</view>
-				<!-- 瀛﹀巻鍒嗗竷鐘跺喌 -->
-				<view class="view_block">
-					<view class="title">瀛﹀巻鍒嗗竷鐘跺喌
-						<text class="font-small" style="color: #ccc;">(鏁欒亴宸�)</text>
-					</view>
-					<view class="charts-box" style="height: 300px;">
-						<qiun-data-charts type="rose" :chartData="ProductRateData" canvasId="school_a"
-							:canvas2d="isCanvas2d" :resshow="delayload" />
-					</view>
-				</view>
-				<!-- 瀛︿笟鎴愮哗 -->
-				<view class="view_block">
-					<view class="title">瀛︿笟鎴愮哗鍒嗗竷鍥�
-						<text class="font-small" style="color: #ccc;">(鐝骇)</text>
-					</view>
-					<view class="charts-box" style="height: 300px;">
-						<qiun-data-charts type="radar" :chartData="RadarModel" background="none" canvasId="school_b"
-							:animation="false" :canvas2d="isCanvas2d" :resshow="delayload" />
-					</view>
-				</view>
-				<!-- 鍥句功鍊熼槄鎯呭喌 -->
-				<view class="view_block">
-					<view class="title">鍥句功鍊熼槄鎯呭喌</view>
-					<view class="charts-box" style="height: 300px;">
-						<qiun-data-charts type="line" canvasId="school_c" :canvas2d="isCanvas2d" :resshow="delayload"
-							:ontouch="true"
-							:opts="{ enableScroll: true, xAxis: { scrollShow: true, itemCount: 4, disableGrid: true }, series: { style: 'curve' } }"
-							:chartData="friendTrand" />
-					</view>
-				</view>
-			</scroll-view>
-		</view>
-	</view>
-</template>
-
-<script>
-import ProgressBar from "../../components/progress-bar/progress-bar.vue"
-import RankData from '../../static/json/school/1.json';
-import ProductRateData from '../../static/json/school/2.json';
-import RadarModel from '../../static/json/school/3.json';
-import friendTrand from '../../static/json/school/4.json';
-import Config from '../../static/js/config'
-import Common from '../../static/js/common'
-
-export default {
-	components: {
-		ProgressBar
-	},
-	data() {
-		return {
-			info: "澶т究瓒呬汉", //鐢ㄦ埛鏁版嵁
-			title: "鏅烘収鏁欒偛鎶ヨ〃涓績", //鏍囬
-			showDataTime: "today", //閫変腑鐨勬椂闂�
-			tabCur: 0, //鏍囩澶翠笅鏍�
-			topBar: 17, //瀵艰埅楂�
-			top: '180', //涓嬫媺鏍忎綅缃�
-			scrollHeight: "1400rpx", //鏁版嵁灞曠ず浣撻珮搴�
-			friendTrand,
-			RankData,
-			ProductRateData,
-			RadarModel,
-			isCanvas2d: Config.ISCANVAS2D,
-			delayload: false, //寤舵椂鍔犺浇鍥捐〃锛屽惁鍒欎細鍑虹幇鍥捐〃鍔犺浇瀹屽悗瀹氫綅閿欎贡
-		};
-	},
-	computed: {
-		locationArray() {
-			return [{ value: "GDBJ-ENTRY-1", text: "澶╃尗" }, { value: "GDBJ-ENTRY-201", text: "浜笢" }];
-		}
-	},
-	methods: {
-		async getData() {
-			uni.showLoading();
-			await setTimeout(() => {
-				this.delayload = true;
-				uni.hideLoading();
-			}, 1000)
-		},
-		gotoBack() {
-			Common.navigateBack("/index/index");
-		},
-		//鑾峰彇璁惧淇℃伅
-		async getTelephoneInfo() {
-			var telephoneInfo = await Common.getTelephoneInfo();
-			let hasHeight = 0;
-			if (telephoneInfo.top >= 40) {
-				this.top = telephoneInfo.statusBarHeight * 2 + 150;
-				this.topBar = telephoneInfo.statusBarHeight;
-			}
-			// 璁剧疆婊氬姩楂樺害
-			const query = wx.createSelectorQuery();
-			query.select('#nav').boundingClientRect();
-			query.exec(res => {
-				res.map((item, index) => {
-					hasHeight += item.height;
-				})
-				this.scrollHeight = (telephoneInfo.screenHeight - hasHeight - this.topBar) + 'px';
-			})
-		},
-		updateRanking(nVal) {
-			this.RankData = nVal;
-		},
-	},
-	onLoad() {
-		//#ifndef H5
-		uni.showShareMenu();
-		//#endif
-		this.getData()
-		this.getTelephoneInfo();
-	}
-}
-</script>
-
-<style scoped lang="scss">
-.body {
-	height: 100vh;
-	margin: 0;
-	padding: 0 20rpx;
-	font-family: "montserrat";
-	background-image: linear-gradient(125deg, #CB9FFE, #5894F7, #ABCDFA, #74A3F6, #CB9FFE);
-	background-size: 400%;
-	animation: bganimation 15s infinite;
-}
-
-.li_6 {
-	list-style-type: none;
-}
-
-page,
-body {
-	margin: 0;
-	padding: 0;
-	width: 100%;
-	height: 100%;
-}
-
-.window {
-	height: 100vh;
-	overflow: hidden;
-
-	.topLine {
-		width: 100%;
-	}
-
-	scroll-view {
-		box-sizing: border-box;
-	}
-
-	.swiper {
-		box-sizing: border-box;
-	}
-
-	.nav {
-		background-size: 100% 100%;
-
-		.back {
-			font-size: 54rpx;
-			padding: 20rpx 14rpx 15rpx 14rpx;
-			color: #fff;
-		}
-
-		.title {
-			color: #fff;
-			font-size: 30rpx;
-			flex: 1;
-			text-align: center;
-		}
-
-		.hidden {
-			visibility: hidden;
-		}
-	}
-
-	.head {
-		padding: 0 16rpx 14rpx 16rpx;
-		color: #fff;
-		background-color: #40A2ED;
-		justify-content: space-between;
-		font-size: 26rpx !important;
-
-		.calendar_drag {
-			width: 340rpx;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-
-			.calendar_name {
-				margin-right: 10rpx;
-			}
-
-			.icon-calendar {
-				font-size: 26rpx;
-				margin-top: 4rpx;
-			}
-		}
-	}
-
-	.data_body {
-		overflow: auto;
-		text-align: center;
-		color: #333333;
-		background-repeat: repeat;
-		height: 100%;
-
-		.scroll_list {
-			height: 100%;
-
-			.view_block {
-				background-color: #fff;
-				padding: 16rpx 20rpx 10rpx 20rpx;
-				border-radius: 20rpx;
-				margin-bottom: 40rpx;
-
-				.title {
-					text-align: left;
-					margin-bottom: 30rpx;
-					font-size: 30rpx;
-				}
-
-				.trend_title {
-					text-align: right;
-					font-size: 22rpx;
-					color: #ff9900;
-					margin-top: 50rpx;
-				}
-			}
-		}
-	}
-}
-
-@keyframes bganimation {
-	0% {
-		background-position: 0% 50%;
-	}
-
-	50% {
-		background-position: 100% 50%;
-	}
-
-	100% {
-		background-position: 0% 50%;
-	}
-}
-</style>
diff --git a/src/pages_qiun/pages/sport/index.vue b/src/pages_qiun/pages/sport/index.vue
deleted file mode 100644
index 620d34c..0000000
--- a/src/pages_qiun/pages/sport/index.vue
+++ /dev/null
@@ -1,762 +0,0 @@
-<template>
-	<view class="body">
-		<view class="nav row_align_center" id="nav">
-			<li class="li_7" style="z-index: 999;font-size: 50rpx;" :class="['iconfont icon-zuojiantou back']" @click="gotoBack()">
-			</li>
-		</view>
-		<view class="head">
-			<view class="title">杩愬姩鎶ュ憡</view>
-			<view class="customer_img">
-				<!-- <open-data type="userAvatarUrl" class="img"></open-data> -->
-				<image class="img" src="https://s1.ax1x.com/2022/11/16/zZUoK1.jpg" mode="widthFix"></image>
-			</view>
-		</view>
-		<view class="score_view">
-			<view class="title">鏈璇勫垎</view>
-			<view class="detail">
-				<view class="socre">98</view>
-				<li class="li_7" :class="['iconfont icon-up text-green']" @click="gotoBack()"></li>
-				<view class="up_socre">0.4</view>
-			</view>
-		</view>
-		<view class="census_view">
-			<view class="left">
-				<view class="text_gray small_text">娑堣��(鍗冨崱)</view>
-				<view class="middle_text text_wide_900">165</view>
-			</view>
-			<view class="right">
-				<view class="text_gray small_text">蹇冪巼涓昏闆嗕腑鍦�</view>
-				<view style="font-size: 30rpx;">鐕冪儳鑴傝偑</view>
-			</view>
-		</view>
-		<view class="census_view">
-			<view class="left">
-				<view class="text_gray small_text">鏃堕暱(鍒嗛挓)</view>
-				<view class="middle_text text_wide_900">75</view>
-			</view>
-			<view class="center">
-				<view class="text_gray small_text">绱鎵撳崱(澶�)</view>
-				<view class="middle_text text_wide_900">24</view>
-			</view>
-			<view class="right">
-				<view class="text_gray small_text">骞冲潎蹇冪巼(娆�/鍒嗛挓)</view>
-				<view class="middle_text text_wide_900">98</view>
-			</view>
-		</view>
-		<view class="consume_view">
-			<view class="wrap"><span class="consume_tip">韬綋娑堣��</span></view>
-			<li class="li_7" :class="['iconfont icon-niunai consume_icon']"></li>
-			<view class="desc">
-				<view class="small_text">绾︽秷鑰�</view>
-				<view class="text_wide_900"><text class="left">1000</text><text class="right">姣崌鐗涘ザ</text></view>
-			</view>
-		</view>
-		<view class="heart_rate_view">
-			<view class="left">
-				<li class="li_7" :class="['iconfont icon-zhexiantu']"></li>
-				<text class="title">蹇冪巼鍙樺寲鏇茬嚎</text>
-			</view>
-			<view class="right text_gray">蹇冪巼鍙樺寲</view>
-		</view>
-		<view v-if="heartRateData.series" class="heart_rate_chart">
-			<view class="charts-box">
-				<qiun-data-charts type="tline" canvasId="sport_a" :canvas2d="isCanvas2d" :resshow="delayload"
-					:opts="{ padding: [0, 20, 10, 0], legend: { position: 'top', lineHeight: 20 }, xAxis: { disableGrid: true, format: 'xAxisDemo3' }, yAxis: { data: [{ min: 0, max: 175 }], gridType: 'solid' }, dataLabel: false, dataPointShape: false }"
-					:chartData="heartRateData" />
-			</view>
-		</view>
-		<view class="title_view">
-			<view class="left">
-				<li class="li_7" :class="['iconfont icon-xinlv']"></li>
-				<text class="title">蹇冪巼鍖洪棿</text>
-			</view>
-		</view>
-		<view class="heart_rate_range">
-			<view class="top">
-				<view class="item" v-for="(item, index) in heatRateRange" :key="index">
-					<view class="name text_gray">{{ item.name }}</view>
-					<view class="data">{{ item.type }}{{ item.data }}<text class="unit text_gray">鍒嗛挓</text></view>
-				</view>
-			</view>
-			<view v-if="heartRateRangeData" class="charts-box">
-				<qiun-data-charts type="ring" canvasId="sport_b" :canvas2d="isCanvas2d" :resshow="delayload"
-					:opts="{ legend: { position: 'bottom' }, extra: { ring: { border: false, centerColor: '#312C34' } }, title: { name: '' }, subtitle: { name: '' } }"
-					:chartData="heartRateRangeData" />
-			</view>
-		</view>
-		<view class="title_view">
-			<view class="left">
-				<li class="li_7" :class="['iconfont icon-pie']"></li>
-				<text class="title">杩愬姩鍒嗘瀽</text>
-			</view>
-		</view>
-		<view class="sport_analysis_view">
-			<view class="top">
-				<li class="iconfont icon-feiji li_7"></li>
-				<text class="title font-s-34">璺戞鏈�</text>
-			</view>
-			<view class="middle">
-				<view class="left">
-					<li class="iconfont icon-clock li_7"></li>
-					<view>3.24P.M</view>
-				</view>
-				<view class="right">
-					<li class="iconfont icon-huo li_7"></li>
-					<view>鐑噺娑堣��(鍗冨崱)</view>
-				</view>
-			</view>
-			<view class="bottom">
-				<view class="left">
-					<li class="iconfont icon-kongxinyuan li_7"></li>
-					<view>鐕冪儳鑴傝偑</view>
-				</view>
-				<view class="right">
-					<view class="text_wide_600 font-s-40">637</view>
-				</view>
-			</view>
-		</view>
-		<view class="box_view speed_rank_view">
-			<view class="top">
-				<view class="item" v-for="(item, index) in speedRank" :key="index">
-					<view class="name text_gray">{{ item.name }}</view>
-					<view class="data">{{ item.data }}<text class="unit text_gray">{{ item.unit }}</text></view>
-				</view>
-			</view>
-			<view v-if="speedRankData" class="charts-box">
-				<qiun-data-charts type="bar" canvasId="sport_c" :canvas2d="isCanvas2d" :resshow="delayload"
-					:chartData="speedRankData" background="none"
-					:opts="{ xAxis: { disabled: true, disableGrid: true }, extra: { bar: { barBorderCircle: true, width: 20 } }, legend: { show: false } }" />
-			</view>
-		</view>
-		<view class="box_view">
-			<view v-if="speedAndRateData.series" class="charts-box">
-				<qiun-data-charts type="tline" canvasId="sport_d" :canvas2d="isCanvas2d" :resshow="delayload"
-					:opts="{ padding: [0, 20, 10, 0], legend: { position: 'top', lineHeight: 20 }, xAxis: { disableGrid: true, format: 'xAxisDemo3' }, yAxis: { data: [{ position: 'left', min: 0, max: 25 }, { position: 'right', min: 50, max: 175 }], gridType: 'solid' }, dataLabel: false, dataPointShape: false }"
-					:chartData="speedAndRateData" />
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-import heartRateData from "../../static/json/sport/1.json"
-import heartRateRangeData from "../../static/json/sport/2.json"
-import speedRankData from "../../static/json/sport/3.json"
-import speedAndRateData from "../../static/json/sport/4.json"
-import Config from '../../static/js/config'
-import Common from '../../static/js/common'
-
-export default {
-	components: {
-
-	},
-	data() {
-		return {
-			info: '澶т究瓒呬汉', //鐢ㄦ埛鏁版嵁
-			isCanvas2d: Config.ISCANVAS2D,
-			heartRateData: {},
-			speedRankData: {},
-			speedAndRateData: {},
-			delayload: null,
-			heartRateRangeData: {},
-			heatRateRange: [{
-				name: "婵�娲绘斁鏉�",
-				data: "5",
-				type: "鈮�"
-			},
-			{
-				name: "鍔ㄦ�佺儹韬�",
-				data: "13",
-				type: ""
-			},
-			{
-				name: "鑴傝偑鐕冪儳",
-				data: "24",
-				type: ""
-			},
-			{
-				name: "绯栧垎娑堣��",
-				data: "8",
-				type: "鈮�"
-			},
-			{
-				name: "蹇冭偤璁粌",
-				data: "7",
-				type: ""
-			},
-			{
-				name: "鏋侀檺閿荤偧",
-				data: "16",
-				type: ""
-			},
-			],
-			speedRank: [{
-				name: "璺濈",
-				data: "5",
-				unit: "鍏噷"
-			},
-			{
-				name: "鏃堕暱",
-				data: "12",
-				unit: "鍒嗛挓"
-			},
-			{
-				name: "骞冲潎閰嶉��",
-				data: "6\'05\"",
-				unit: ""
-			}
-			]
-		};
-	},
-	watch: {
-
-	},
-	methods: {
-		async getData() {
-			uni.showLoading();
-			/*灏嗛挓鐐规椂闂撮殢鏈鸿浆鎴愭煇涓�澶╃殑鍏蜂綋鏃堕棿鎴�*/
-			if (typeof heartRateData.series[0].data[0][0] == 'string') {
-				for (let i = 0; i < heartRateData.series.length; i++) {
-					heartRateData.series[i].data.map(x => {
-						x[0] = "2018/08/08 " + x[0];
-						x[0] = this.tranTimestamp(x[0]);
-						return x[0];
-					})
-				}
-
-			}
-			if (typeof speedAndRateData.series[0].data[0][0] == 'string') {
-				for (let i = 0; i < speedAndRateData.series.length; i++) {
-					speedAndRateData.series[i].data.map(x => {
-						x[0] = "2018/08/08 " + x[0];
-						x[0] = this.tranTimestamp(x[0]);
-						return x[0];
-					})
-				}
-			}
-
-			this.heartRateData = heartRateData;
-			this.heartRateRangeData = heartRateRangeData;
-			this.speedRankData = speedRankData;
-			this.speedAndRateData = speedAndRateData;
-			this.delayload = true;
-			uni.hideLoading();
-		},
-		tranTimestamp(date) {
-			return new Date(date).getTime()
-		},
-		gotoBack() {
-			Common.navigateBack("/index/index");
-		},
-
-	},
-	onReady() {
-		//#ifndef H5
-		uni.showShareMenu();
-		//#endif
-		this.getData()
-	}
-}
-</script>
-
-<style scoped lang="scss">
-.body {
-	height: 100%;
-	background-color: #1C191F;
-	margin: 0;
-	color: #fff;
-	padding: 80rpx 20rpx 0 20rpx;
-	width: 100%;
-	box-sizing: border-box;
-	padding-bottom: 50rpx;
-
-	.box_view {
-		width: 100%;
-		padding: 20rpx;
-		position: relative;
-		background-color: #312C34;
-		color: #FFFFFF;
-		box-sizing: border-box;
-		border-radius: 20rpx;
-		overflow: hidden;
-		margin-top: 30rpx;
-	}
-
-	.speed_rank_view {
-		.top {
-			width: 100%;
-
-			&:after {
-				content: "";
-				clear: both;
-				display: block;
-			}
-
-			.item {
-				float: left;
-				width: 33%;
-				box-sizing: border-box;
-				padding: 30rpx 20rpx;
-				text-align: left;
-
-				.name {
-					font-size: 26rpx;
-				}
-
-				.data {
-					font-size: 40rpx;
-					margin-top: 10rpx;
-
-					.unit {
-						font-size: 24rpx;
-						margin-left: 14rpx;
-					}
-				}
-			}
-		}
-	}
-
-	.sport_analysis_view {
-		width: 100%;
-		padding: 20rpx;
-		position: relative;
-		background-color: #312C34;
-		color: #FFFFFF;
-		box-sizing: border-box;
-		border-radius: 20rpx;
-		overflow: hidden;
-
-		.top {
-			width: 100%;
-			height: 120rpx;
-			display: flex;
-			align-items: center;
-
-			.icon-feiji {
-				margin-top: 10rpx;
-			}
-
-			.title {
-				margin-left: 10rpx;
-			}
-		}
-
-		.middle {
-			width: 100%;
-			display: flex;
-			justify-content: space-between;
-			font-size: 28rpx;
-
-			.iconfont {
-				font-size: 28rpx;
-				margin-right: 10rpx;
-				margin-top: 4rpx;
-			}
-
-			.left {
-				width: 50%;
-				height: 60rpx;
-				display: flex;
-				align-items: center;
-				justify-content: flex-start;
-			}
-
-			.right {
-				width: 50%;
-				height: 60rpx;
-				display: flex;
-				align-items: center;
-				justify-content: flex-end;
-			}
-		}
-
-		.bottom {
-			width: 100%;
-			display: flex;
-			justify-content: space-between;
-			font-size: 28rpx;
-
-			.iconfont {
-				font-size: 28rpx;
-				margin-right: 10rpx;
-				margin-top: 4rpx;
-			}
-
-			.left {
-				width: 50%;
-				height: 60rpx;
-				display: flex;
-				align-items: center;
-				justify-content: flex-start;
-
-				.icon-kongxinyuan {
-					color: #6FCEF7;
-				}
-			}
-
-			.right {
-				width: 50%;
-				height: 60rpx;
-				display: flex;
-				align-items: center;
-				justify-content: flex-end;
-			}
-		}
-	}
-
-	.heart_rate_range {
-		width: 100%;
-		position: relative;
-		background-color: #312C34;
-		color: #FFFFFF;
-		box-sizing: border-box;
-		border-radius: 20rpx;
-		overflow: hidden;
-
-		.top {
-			width: 100%;
-
-			&:after {
-				content: "";
-				clear: both;
-				display: block;
-			}
-
-			.item {
-				float: left;
-				width: 33%;
-				box-sizing: border-box;
-				padding: 30rpx 20rpx;
-				text-align: center;
-
-				.name {
-					font-size: 26rpx;
-				}
-
-				.data {
-					font-size: 40rpx;
-					margin-top: 10rpx;
-
-					.unit {
-						font-size: 24rpx;
-						margin-left: 14rpx;
-					}
-				}
-			}
-		}
-	}
-
-	.heart_rate_chart {
-		display: flex;
-		justify-content: center;
-		width: 100%;
-		position: relative;
-		background-color: #312C34;
-		color: #FFFFFF;
-		box-sizing: border-box;
-		border-radius: 20rpx;
-		overflow: hidden;
-	}
-
-	.title_view {
-		display: flex;
-		width: 100%;
-		align-items: center;
-		height: 150rpx;
-
-		.left {
-			display: flex;
-			align-items: center;
-
-			.iconfont {
-				font-size: 40rpx !important;
-			}
-
-			.title {
-				font-size: 34rpx;
-				margin-left: 20rpx;
-			}
-		}
-	}
-
-	.heart_rate_view {
-		display: flex;
-		width: 100%;
-		justify-content: space-around;
-		align-items: center;
-		height: 150rpx;
-
-		.left {
-			display: flex;
-			align-items: center;
-
-			.icon-zhexiantu {
-				font-size: 26rpx;
-			}
-
-			.title {
-				font-size: 34rpx;
-				margin-left: 20rpx;
-			}
-		}
-
-		.right {
-			font-size: 22rpx;
-			padding: 10rpx 30rpx;
-			border-radius: 40rpx;
-			background-color: #342E39;
-		}
-	}
-
-	.consume_view {
-		display: flex;
-		justify-content: center;
-		width: 100%;
-		height: 190rpx;
-		position: relative;
-		margin-top: 100rpx;
-		background-color: #312C34;
-		color: #FFFFFF;
-		box-sizing: border-box;
-		border-radius: 10rpx;
-
-		.consume_img {
-			width: 240rpx;
-			height: auto;
-			position: absolute;
-			top: -80rpx;
-			left: 20rpx;
-		}
-
-		.consume_icon {
-			font-size: 220rpx;
-			position: absolute;
-			top: -80rpx;
-			left: 20rpx;
-		}
-
-		.desc {
-			position: absolute;
-			right: 80rpx;
-			top: 20rpx;
-
-			view {
-				padding: 10rpx 0;
-				display: flex;
-				align-items: center;
-			}
-
-			.left {
-				font-size: 50rpx;
-			}
-
-			.right {
-				font-size: 30rpx;
-				margin-left: 10rpx;
-				font-weight: 400;
-			}
-		}
-	}
-
-	.text-green {
-		color: #10A764;
-	}
-
-	.text_gray {
-		color: #8E8B8B;
-	}
-
-	.small_text {
-		font-size: 24rpx;
-	}
-
-	.font-s-34 {
-		font-size: 34rpx;
-	}
-
-	.font-s-36 {
-		font-size: 36rpx;
-	}
-
-	.font-s-38 {
-		font-size: 38rpx;
-	}
-
-	.font-s-40 {
-		font-size: 40rpx;
-	}
-
-	.middle_text {
-		font-size: 36rpx;
-	}
-
-	.text_wide_900 {
-		font-weight: 900;
-	}
-
-	.text_wide_600 {
-		font-weight: 600;
-	}
-
-	.census_view {
-		width: 100%;
-		display: flex;
-		justify-content: space-around;
-
-		.left {
-			text-align: left;
-
-			view {
-				padding: 10rpx 0;
-			}
-		}
-
-		.center {
-			text-align: center;
-
-			view {
-				padding: 10rpx 0;
-			}
-		}
-
-		.right {
-			text-align: right;
-
-			view {
-				padding: 10rpx 0;
-			}
-		}
-	}
-
-	.score_view {
-		width: 100%;
-
-		.title {
-			color: #8E8B8B;
-			font-size: 24rpx;
-		}
-
-		.detail {
-			height: 120rpx;
-			width: 100%;
-			display: flex;
-			align-items: flex-end;
-
-			.icon-up {
-				margin-left: 40rpx;
-				height: 54rpx;
-				font-weight: 600;
-			}
-
-			.socre {
-				font-size: 80rpx;
-				font-weight: 900;
-			}
-
-			.up_socre {
-				color: #10A764;
-				height: 50rpx;
-				font-size: 24rpx;
-				font-weight: 600;
-			}
-		}
-	}
-
-	.head {
-		height: 140rpx;
-		line-height: 140rpx;
-		position: relative;
-
-		.title {
-			font-size: 40rpx;
-			margin-left: 20rpx;
-		}
-
-		.customer_img {
-			position: absolute;
-			bottom: 0rpx;
-			right: 20rpx;
-			width: 100rpx;
-			height: 100rpx;
-			margin: 0;
-			padding: 0;
-			background-size: 100% 100%;
-			border-radius: 100%;
-			overflow: hidden;
-
-			.img {
-				height: auto;
-				width: 100%;
-			}
-		}
-	}
-
-	.li_7 {
-		list-style-type: none;
-	}
-
-	.nav {
-		position: fixed;
-		top: 50rpx;
-		left: 20rpx;
-	}
-}
-
-.consume_view:nth-child(even) {
-	margin-right: 4%;
-}
-
-.consume_tip {
-	display: inline-block;
-	text-align: center;
-	width: 188rpx;
-	height: 30rpx;
-	line-height: 30rpx;
-	position: absolute;
-	top: 36rpx;
-	right: -44rpx;
-	z-index: 2;
-	overflow: hidden;
-	transform: rotate(45deg);
-	-ms-transform: rotate(45deg);
-	-moz-transform: rotate(45deg);
-	-webkit-transform: rotate(45deg);
-	-o-transform: rotate(45deg);
-	border: 1px dashed;
-	box-shadow: 0 0 0 3px #10A764, 0px 21px 5px -18px rgba(0, 0, 0, 0.6);
-	background: #10A764;
-	font-size: 16rpx;
-}
-
-.wrap {
-	width: 100%;
-	height: 100%;
-	position: absolute;
-	top: -12rpx;
-	left: 12rpx;
-	overflow: hidden;
-}
-
-.wrap:before {
-	content: "";
-	display: block;
-	border-radius: 8px 8px 0px 0px;
-	width: 80rpx;
-	height: 14rpx;
-	position: absolute;
-	right: 68rpx;
-	top: -1px;
-	background: #4D6530;
-}
-
-.wrap:after {
-	content: "";
-	display: block;
-	border-radius: 0px 8px 8px 0px;
-	width: 14rpx;
-	height: 80rpx;
-	position: absolute;
-	right: -1px;
-	top: 66rpx;
-	background: #4D6530;
-}</style>
diff --git a/src/pages_qiun/static/js/common.js b/src/pages_qiun/static/js/common.js
deleted file mode 100644
index 2cccd25..0000000
--- a/src/pages_qiun/static/js/common.js
+++ /dev/null
@@ -1,170 +0,0 @@
-let isReadyLogin = 1
-let loginFlag = 1
-export default {
-	//鎻愮ず绐�
-	tipMsg: function (title, icon, time, mask,callback) {
-	    title = title == undefined ? "绯荤粺绻佸繖" : title;
-	    icon = icon == undefined ? "none" : icon;
-	    time = time == undefined ? 1300 : time;
-	    mask = mask == undefined ? true : mask;
-	    uni.showToast({
-	        title: title,
-	        icon: icon,
-	        mask: mask,
-	        duration: time,
-			success() {
-				if(callback){
-					setTimeout(()=>{
-						callback()
-					},time);
-				}	
-			}
-	    })
-	},
-	getTelephoneInfo(){
-		return new Promise((resolve, reject) => {
-			var data = uni.getStorageSync("telephoneInfo");
-			if(!data){
-				// 鑾峰彇鍙充笂瑙掕兌鍥婄殑浣嶇疆淇℃伅
-				//#ifndef H5
-				let btn = wx.getMenuButtonBoundingClientRect();
-				uni.getSystemInfo({
-					success: e => {
-						let info = {
-							screenHeight:e.screenHeight,
-							statusBarHeight:e.statusBarHeight,
-							windowWidth:e.windowWidth,
-							top:btn.top
-						}
-						uni.setStorageSync("telephoneInfo",info);
-						resolve(info);
-					},
-					fail: (err) => {
-						reject(err);
-					}
-				})
-				//#endif
-			}else{
-				resolve(data);
-			}
-		})
-	},
-	// 鑾峰彇褰撳墠骞存湀鏃�
-	getNowDate(){
-		let date = new Date;
-		let now = date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate();
-		return now;
-	},
-	// 鑾峰彇涓婁釜鏈堢殑骞存湀鏃�
-	getPreMonth(date) {
-		var arr = date.split('-');
-		var year = arr[0]; //鑾峰彇褰撳墠鏃ユ湡鐨勫勾浠�
-		var month = arr[1]; //鑾峰彇褰撳墠鏃ユ湡鐨勬湀浠�
-		var day = arr[2]; //鑾峰彇褰撳墠鏃ユ湡鐨勬棩
-		var days = new Date(year, month, 0);
-		days = days.getDate(); //鑾峰彇褰撳墠鏃ユ湡涓湀鐨勫ぉ鏁�
-		var year2 = year;
-		var month2 = parseInt(month) - 1;
-		if (month2 == 0) {
-			year2 = parseInt(year2) - 1;
-			month2 = 12;
-		}
-		var day2 = day;
-		var days2 = new Date(year2, month2, 0);
-		days2 = days2.getDate();
-		if (day2 > days2) {
-			day2 = days2;
-		}
-		if (month2 < 10) {
-			month2 = '0' + month2;
-		}
-		var t2 = year2 + '-' + month2 + '-' + "01";
-		return t2;
-	},
-	//妫�娴嬪皬绋嬪簭鏇存柊
-	checkUpdateVersion(){
-		//鏂扮増鏈洿鏂�
-		if (uni.canIUse('getUpdateManager')) {
-			//鍒ゆ柇褰撳墠寰俊鐗堟湰鏄惁鏀寔鐗堟湰鏇存柊
-			const updateManager = uni.getUpdateManager();
-			updateManager.onCheckForUpdate(function (res) {
-				if (res.hasUpdate) {
-					// 璇锋眰瀹屾柊鐗堟湰淇℃伅鐨勫洖璋�
-					updateManager.onUpdateReady(function () {
-						uni.showModal({
-							title: '鏇存柊鎻愮ず',
-							content: '宸叉洿鏂扮増鏈紝鏄惁閲嶅惎灏忕▼搴忥紵',
-							showCancel:false,
-							cancelColor:'#eeeeee',
-							confirmColor:'#40A2ED',
-							success: function (res) {
-								if (res.confirm) {
-									// 鏂扮殑鐗堟湰宸茬粡涓嬭浇濂斤紝璋冪敤 applyUpdate 搴旂敤鏂扮増鏈苟閲嶅惎
-									updateManager.applyUpdate();
-								}
-							},
-						});
-					});
-					// 鏂扮殑鐗堟湰涓嬭浇澶辫触
-					updateManager.onUpdateFailed(function () {
-						uni.showModal({
-							title: '鏇存柊澶辫触',
-							content: '璇锋鏌ョ綉缁滆缃紝鑻ヤ粛鏇存柊澶辫触锛岄噸鏂版悳绱㈡墦寮�',
-							success(res) {
-								if (res.confirm) {
-									// 鏂扮殑鐗堟湰宸茬粡涓嬭浇濂斤紝璋冪敤 applyUpdate 搴旂敤鏂扮増鏈苟閲嶅惎
-									updateManager.applyUpdate();
-								}
-							}
-						});
-					});
-				}
-			});
-		} else {
-			uni.showModal({
-				// 濡傛灉甯屾湜鐢ㄦ埛鍦ㄦ渶鏂扮増鏈殑瀹㈡埛绔笂浣撻獙鎮ㄧ殑灏忕▼搴忥紝鍙互杩欐牱瀛愭彁绀�
-				title: '鎻愮ず',
-				content: '褰撳墠寰俊鐗堟湰杩囦綆锛屾棤娉曚娇鐢ㄨ鍔熻兘锛岃鍗囩骇鍒版渶鏂板井淇$増鏈悗閲嶈瘯銆�',
-			});
-		}
-	},
-	/**
-	 * @param {string} url 鐩爣椤甸潰鐨勮矾鐢�
-	 * @param {Object} param 浼犻�掔粰鐩爣椤甸潰鐨勫弬鏁�
-	 * @description 澶勭悊鐩爣椤甸潰鐨勫弬鏁帮紝杞垚json瀛楃涓蹭紶閫掔粰param瀛楁锛屽湪鐩爣椤甸潰閫氳繃JSON.parse(options.param)鎺ユ敹
-	 */
-	navigateTo(url, param = {},flag) {
-		if(isReadyLogin<=0 && !flag){
-			this.loginTip();
-		}else{
-			let part = '';
-			for(var item in param){
-				part += '&' + item + '=' + param[item];
-			}
-			url = url + part.replace('&','?');
-			uni.navigateTo({
-				url: url,
-				fail:err=> {
-					this.tipMsg('椤甸潰姝e湪鐏�熷紑鍙戜腑锛屾暚璇锋湡寰咃紒');
-				},
-			})
-		}
-	},
-	navigateBack(url, param = {}) {
-	    if (loginFlag <= 0) {
-	        this.tipMsg("寰堟姳姝�,浣犳病鏈夋潈闄愶紒");
-	    } else {
-	        let part = '';
-	        for (var item in param) {
-	            part += '&' + item + '=' + param[item];
-	        }
-	        url = "/pages" + url + part.replace('&', '?');
-	        uni.navigateBack({
-	            url: url,
-	            fail: err => {
-	                this.tipMsg('鏆傛湭寮�鏀捐鍔熻兘锛�');
-	            },
-	        })
-	    }
-	},
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/js/config.js b/src/pages_qiun/static/js/config.js
deleted file mode 100644
index 074515b..0000000
--- a/src/pages_qiun/static/js/config.js
+++ /dev/null
@@ -1,79 +0,0 @@
-
-const COLOR = [
-    "#EE6A66", "#6BC588", "#FFC300", "#24ABFD"
-];
-
-var ISCANVAS2D = true;
-
-switch (uni.getSystemInfoSync().platform) {
-	case 'android':
-		ISCANVAS2D = true
-		break;
-	case 'ios':
-		ISCANVAS2D = true
-		break;
-	default:
-		ISCANVAS2D = false
-		break;
-}
-
-const RESPOND = {
-    success: 0,
-    warn: 301,
-    error: 500,
-};
-
-const TIMEARRAY = [
-    {
-        text: '褰撳ぉ',
-        value: 'today'
-    },
-    {
-        text: '鏄ㄥぉ',
-        value: 'yesterday'
-    },
-    {
-        text: '鏈懆',
-        value: 'week'
-    },
-    {
-        text: '涓婂懆',
-        value: 'weeklast'
-    },
-    {
-        text: '鏈湀',
-        value: 'month'
-    },
-    {
-        text: '涓婃湀',
-        value: 'monthlast'
-    },
-	{
-	    text: '鎸囧畾鏃ユ湡',
-	    value: 'auto'
-	}
-];
-const TABLIST = [
-    {name:"浼佷笟寰俊",type:"WECHAT"},
-    {name:"浼氬憳杩愯惀",type:"OPERATE"},
-    {name:"浼氬憳鍋ュ悍",type:"GJJK"},
-    {name:"浼氬憳鏈嶅姟",type:"SERVICE"},
-];
-
-const CARD_MENU = [
-	{title:"浼氬憳鎶ヨ〃涓績",author:"howcode",img:"https://s1.ax1x.com/2023/03/31/ppRp4iV.jpg",url:"/myPackageA/pages/main/index"},
-	{title:"鏅烘収鏁欒偛鎶ヨ〃涓績",author:"howcode",img:"https://s1.ax1x.com/2023/03/31/ppRp5GT.jpg",url:"/myPackageA/pages/school/index"},
-	{title:"宸梾鎶ヨ〃涓績",author:"绉嬩簯",img:"https://s1.ax1x.com/2023/03/31/ppRpfI0.jpg",url:""},
-	{title:"杩愬姩鎶ヨ〃涓績",author:"howcode",img:"https://s1.ax1x.com/2023/03/31/ppRpWaq.jpg",url:"/myPackageA/pages/sport/index"},
-	{title:"璐㈠姟鎶ヨ〃涓績",author:"howcode",img:"https://s1.ax1x.com/2023/03/31/ppRpozF.jpg",url:"/myPackageA/pages/finance/index"},
-]
-
-
-export default {
-    COLOR,
-    TIMEARRAY,
-    TABLIST,
-    RESPOND,
-		ISCANVAS2D,
-		CARD_MENU
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/finance/1.json b/src/pages_qiun/static/json/finance/1.json
deleted file mode 100644
index 83e162e..0000000
--- a/src/pages_qiun/static/json/finance/1.json
+++ /dev/null
@@ -1,68 +0,0 @@
-{
-	"expend":{
-		"categories": [
-			"1鏈�",
-			"2鏈�",
-			"2鏈�",
-			"4鏈�",
-			"5鏈�"
-		],
-		"series": [
-			{
-				"name": "鏀嚭鎯呭喌",
-				"data": [1201,2501.5,985,1760,2013.85],
-				"type": "line",
-				"style": "curve",
-				"color": "#4ECDB6",
-				"unit":""
-			}
-		],
-		"yAxis":[
-			{"calibration":true,"position":"left","title":"鍗曚綅/鍏�","titleFontSize":12,"unit":"","tofix":0,"min":0,"disableGrid":true}
-		]
-	},
-	"income":{
-		"categories": [
-			"1鏈�",
-			"2鏈�",
-			"2鏈�",
-			"4鏈�",
-			"5鏈�"
-		],
-		"series": [
-			{
-				"name": "鏀跺叆鎯呭喌",
-				"data": [1601,1840.5,1900,1760,1500.85],
-				"type": "line",
-				"style": "curve",
-				"color": "#4ECDB6",
-				"unit":""
-			}
-		],
-		"yAxis":[
-			{"calibration":true,"position":"left","title":"鍗曚綅/鍏�","titleFontSize":12,"unit":"","tofix":0,"min":0,"disableGrid":true}
-		]
-	},
-	"remaining":{
-		"categories": [
-			"1鏈�",
-			"2鏈�",
-			"2鏈�",
-			"4鏈�",
-			"5鏈�"
-		],
-		"series": [
-			{
-				"name": "缁撲綑鎯呭喌",
-				"data": [815,712.5,378,450,600.85],
-				"type": "line",
-				"style": "curve",
-				"color": "#4ECDB6",
-				"unit":""
-			}
-		],
-		"yAxis":[
-			{"calibration":true,"position":"left","title":"鍗曚綅/鍏�","titleFontSize":12,"unit":"","tofix":0,"min":0,"disableGrid":true}
-		]
-	}
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/finance/2.json b/src/pages_qiun/static/json/finance/2.json
deleted file mode 100644
index 1d899cf..0000000
--- a/src/pages_qiun/static/json/finance/2.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
-	"series": [
-		{
-			"data":[
-				{
-					"name": "浣忔埧鐩稿叧",
-					"value": 3200,
-					"color":"#4DCCB3"
-				}, 
-				{
-					"name": "椋熷搧閰掓按",
-					"value": 1020,
-					"color":"#5A77EC"
-				}, 
-				{
-					"name": "濞变箰浼戦棽",
-					"value": 500,
-					"color":"#4E94EC"
-				},
-				{
-					"name": "浜ゆ祦閫氳",
-					"value": 214.5,
-					"color":"#4FD4EB"
-				},
-				{
-					"name": "鍏朵粬",
-					"value": 320.13,
-					"color":"#B5ED21"
-				} 
-			]
-		}
-	]
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/school/1.json b/src/pages_qiun/static/json/school/1.json
deleted file mode 100644
index c3f7a2f..0000000
--- a/src/pages_qiun/static/json/school/1.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[
-	{
-		"name":"璇鹃鐮旂┒",
-		"num":500,
-		"width":"",
-		"background":"#FFBE68"
-	},
-	{
-		"name":"璁烘枃鍙戝竷",
-		"num":300,
-		"width":"",
-		"background":"#0FEBE1"
-	},
-	{
-		"name":"瀹炶返鐮旂┒",
-		"num":455,
-		"width":"",
-		"background":"#BF8DFC"
-	},
-	{
-		"name":"璇勬暀",
-		"num":601,
-		"width":"",
-		"background":"#FF859C"
-	}
-]
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/school/2.json b/src/pages_qiun/static/json/school/2.json
deleted file mode 100644
index 6c8ceb8..0000000
--- a/src/pages_qiun/static/json/school/2.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-	"series": [
-		{
-			"data": [
-				{
-					"name": "鏈",
-					"value": 168,
-					"color": "#FFBF31"
-				},
-				{
-					"name": "澶т笓",
-					"value": 144,
-					"color": "#3CEFC4"
-				},
-				{
-					"name": "鍗氬+",
-					"value": 123,
-					"color": "#FFA9B3"
-				},
-				{
-					"name": "纭曞+",
-					"value": 96,
-					"color": "#3CBBFF"
-				}
-			]
-		}
-	]
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/school/3.json b/src/pages_qiun/static/json/school/3.json
deleted file mode 100644
index 35d160b..0000000
--- a/src/pages_qiun/static/json/school/3.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-	"categories":["璇枃","鏁板","鑻辫","鐗╃悊","鍖栧","鐢熺墿"],
-	"series":[
-		{
-			"name":"涓�鐝�",
-			"area":[123.45,234,192.5,245],
-			"color":"#1890ff",
-			"data":[90,110,165,195,187,172],
-			"index":0,
-			"legendShape":"circle",
-			"pointShape":"",
-			"show": true,
-			"type": "radar"
-		},
-		{
-			"name":"浜岀彮",
-			"area":[192.5,234,261.55,245],
-			"color":"#2fc25b",
-			"data":[190,210,105,35,27,102],
-			"index":0,
-			"legendShape":"circle",
-			"pointShape":"",
-			"show": true,
-			"type": "radar"
-		}
-	]
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/school/4.json b/src/pages_qiun/static/json/school/4.json
deleted file mode 100644
index 5ae1747..0000000
--- a/src/pages_qiun/static/json/school/4.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-	"categories": [
-		"1",
-		"2",
-		"2",
-		"4",
-		"5",
-		"6",
-		"7",
-		"8",
-		"9",
-		"10",
-		"11",
-		"12"
-	],
-	"series": [
-		{
-			"name": "鍥句功鍊熼槄浜烘暟",
-			"data": [6,8,9,8.2,7.5,9,10.3,8,12,6.2,7.2,4.5],
-			"type": "line",
-			"style": "curve",
-			"color": "#A800FB",
-			"unit":""
-		}
-	],
-	"yAxis":[
-		{"calibration":true,"position":"left","title":"鍗曚綅/鍗�","titleFontSize":12,"unit":"","tofix":0,"min":0,"max":20,"disableGrid":true}
-	]
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/sport/1.json b/src/pages_qiun/static/json/sport/1.json
deleted file mode 100644
index eb322c6..0000000
--- a/src/pages_qiun/static/json/sport/1.json
+++ /dev/null
@@ -1,80 +0,0 @@
-{
-	"series": [{
-			"name": "婵�娲绘斁鏉�",
-			"color": "#FDEC9F",
-			"data": [
-				["17:24", 75],
-				["17:26", 83],
-				["17:28", 88],
-				["17:30", 92]
-			]
-		},
-		{
-			"name": "鍔ㄦ�佺儹韬�",
-			"color": "#FBCD2B",
-			"data": [
-				["17:30", 92],
-				["17:32", 96],
-				["17:34", 94],
-				["17:36", 93.5],
-				["17:38", 94.6],
-				["17:40", 98]
-			]
-		},
-		{
-			"name": "绯栧垎娑堣��",
-			"color": "#FC9E83",
-			"data": [
-				["17:40", 98],
-				["17:42", 100],
-				["17:44", 104],
-				["17:46", 113],
-				["17:48", 142]
-			]
-		},
-		{
-			"name": "鑴傝偑鐕冪儳",
-			"color": "#EF6DCF",
-			"data": [
-				["17:48", 142],
-				["17:50", 130],
-				["17:52", 134],
-				["17:54", 150],
-				["17:56", 148],
-				["17:58", 142],
-				["18:00", 132],
-				["18:02", 136],
-				["18:04", 136.5]
-			]
-		},
-		{
-			"name": "蹇冭偤璁粌",
-			"color": "#BC38E5",
-			"data": [
-				["18:04", 136.5],
-				["18:06", 140],
-				["18:08", 135],
-				["18:10", 130],
-				["18:12", 124],
-				["18:14", 120],
-				["18:16", 118],
-				["18:18", 116.5],
-				["18:20", 112]
-			]
-		}, {
-			"name": "鏋侀檺閿荤偧",
-			"color": "#8908FA",
-			"data": [
-				["18:20", 112],
-				["18:22", 123],
-				["18:24", 130],
-				["18:26", 138],
-				["18:28", 116],
-				["18:30", 123],
-				["18:32", 128],
-				["18:34", 126],
-				["18:36", 137]
-			]
-		}
-	]
-}
diff --git a/src/pages_qiun/static/json/sport/2.json b/src/pages_qiun/static/json/sport/2.json
deleted file mode 100644
index 056f8ca..0000000
--- a/src/pages_qiun/static/json/sport/2.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
-    "series": [
-        {
-            "data": [
-                {
-                    "name": "婵�娲绘斁鏉�",
-                    "value": 5,
-                    "color": "#FDEC9F"
-                },
-                {
-                    "name": "鍔ㄦ�佺儹韬�",
-                    "value": 13,
-                    "color": "#FBCD2B"
-                },
-                {
-                    "name": "绯栧垎娑堣��",
-                    "value": 8,
-                    "color": "#FC9E83"
-                },
-                {
-                    "name": "鑴傝偑鐕冪儳",
-                    "value": 24,
-                    "color": "#EF6DCF"
-                },
-                {
-                    "name": "蹇冭偤璁粌",
-                    "value": 7,
-                    "color": "#BC38E5"
-                },
-                {
-                    "name": "鏋侀檺閿荤偧",
-                    "value": 16,
-                    "color": "#8908FA"
-                }
-            ]
-        }
-    ]
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/sport/3.json b/src/pages_qiun/static/json/sport/3.json
deleted file mode 100644
index b20f3f2..0000000
--- a/src/pages_qiun/static/json/sport/3.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-    "categories": [
-        "1",
-        "2",
-        "3",
-        "4",
-        "5"
-    ],
-    "series": [
-        {
-            "name": "鍏噷閰嶉��",
-            "data": [
-                5.09,
-                6.18,
-                6.38,
-                7.15,
-                9.05
-            ],
-						"color":"#FFD597"
-        }
-    ]
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/sport/4.json b/src/pages_qiun/static/json/sport/4.json
deleted file mode 100644
index 0117d49..0000000
--- a/src/pages_qiun/static/json/sport/4.json
+++ /dev/null
@@ -1,174 +0,0 @@
-{
-    "series": [
-        {
-            "name": "閫熷害",
-            "color": "#1C9862",
-						"index":0,
-            "data": [
-                [
-                    "17:24",
-                    0
-                ],
-                [
-                    "17:26",
-                    1
-                ],
-                [
-                    "17:28",
-                    1.2
-                ],
-                [
-                    "17:30",
-                    1.6
-                ],
-								[
-								    "17:32",
-								    1.8
-								],
-								[
-								    "17:34",
-								    2
-								],
-								[
-                    "17:36",
-                    4
-                ],
-								[
-								    "17:38",
-								    6.5
-								],
-								[
-                    "17:40",
-                    10
-                ],
-								[
-								    "17:42",
-								    13.4
-								],
-								[
-								    "17:44",
-								    13
-								],
-								[
-								    "17:46",
-								    12.6
-								],
-								[
-								    "17:48",
-								    12.2
-								],
-								[
-								    "17:50",
-								    14
-								],
-								[
-								    "17:52",
-								    16.8
-								],
-								[
-                    "17:54",
-                    20
-                ],
-								[
-								    "17:56",
-								    25
-								],
-								[
-								    "17:58",
-								    23
-								],
-								[
-								    "18:00",
-								    16
-								]
-            ]
-        },
-        {
-            "name": "蹇冪巼",
-						"index":1,
-            "color": "#FBCD2B",
-            "data": [
-                [
-                    "17:24",
-                    72
-                ],
-                [
-                    "17:26",
-                    73
-                ],
-                [
-                    "17:28",
-                    73.5
-                ],
-                [
-                    "17:30",
-                    74
-                ],
-                [
-                    "17:32",
-                    76.5
-                ],
-                [
-                    "17:34",
-                    78
-                ],
-                [
-                    "17:36",
-                    80
-                ],
-                [
-                    "17:38",
-                    76.3
-                ],
-                [
-                    "17:40",
-                    75
-                ],
-                [
-                    "17:42",
-                    86
-                ],
-                [
-                    "17:44",
-                    84
-                ],
-                [
-                    "17:46",
-                    90
-                ],
-                [
-                    "17:48",
-                    100
-                ],
-                [
-                    "17:50",
-                    112
-                ],
-                [
-                    "17:52",
-                   125
-                ],
-                [
-                    "17:54",
-                    117
-                ],
-                [
-                    "17:56",
-                    110
-                ],
-                [
-                    "17:58",
-                    108
-                ],
-                [
-                    "18:00",
-                    104
-                ]
-            ]
-        }
-    ],
-		"yAxis":[
-			{"calibration":true,"position":"left","title":"","titleFontSize":12,"unit":"","tofix":0,"min":0,"max":25,"disableGrid":true},
-			{"calibration":true,"position":"right","title":"","titleFontSize":12,"unit":"","tofix":0,"min":0,"disableGrid":true}
-		]
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-healthy/1.json b/src/pages_qiun/static/json/user-healthy/1.json
deleted file mode 100644
index dd0ab42..0000000
--- a/src/pages_qiun/static/json/user-healthy/1.json
+++ /dev/null
@@ -1,21 +0,0 @@
-[
-	{
-		"expect": "",
-		"now": "",
-		"name": "鏃堕棿杩涘害",
-		"value": "60.12"
-	},
-	{
-		"expect": "30000",
-		"now": "36000",
-		"dataType": "1",
-		"name": "浼氬憳鎷夋柊",
-		"value": "120"
-	},
-	{
-		"expect": "",
-		"now": "",
-		"name": "鎵爜娓楅�忕巼",
-		"value": "35"
-	}
-]
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-healthy/2.json b/src/pages_qiun/static/json/user-healthy/2.json
deleted file mode 100644
index 7f8afc9..0000000
--- a/src/pages_qiun/static/json/user-healthy/2.json
+++ /dev/null
@@ -1,34 +0,0 @@
-[
-	{
-		"kind":1,
-		"background":["#B678FD","#4A64F9"],
-		"content":[
-			{"text":"","value":"1800","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鏃ュ潎鏂板鐩爣","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
-		]
-	},
-	{
-		"kind":1,
-		"background":["#B678FD","#4A64F9"],
-		"content":[
-			{"text":"","value":"1960","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"褰撴棩鏂板浼氬憳","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
-		]
-	},
-	{
-		"kind":1,
-		"background":["#B678FD","#4A64F9"],
-		"content":[
-			{"text":"","value":"36050","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鏈湀鏂板浼氬憳","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
-		]
-	},
-	{
-		"kind":1,
-		"background":["#B678FD","#4A64F9"],
-		"content":[
-			{"text":"","value":"3%","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鏃ュ潎鐜瘮","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
-		]
-	}
-]
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-healthy/3.json b/src/pages_qiun/static/json/user-healthy/3.json
deleted file mode 100644
index 2f6028e..0000000
--- a/src/pages_qiun/static/json/user-healthy/3.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
-	"categories": [
-		"1鏈�11",
-		"1鏈�12",
-		"1鏈�11",
-		"1鏈�14",
-		"1鏈�15"
-	],
-	"series": [{
-			"name": "鏂板浼氬憳鏁�",
-			"data": [{
-					"value": 5,
-					"color": "#24ABFD"
-				},
-				{
-					"value": -3,
-					"color": "#24ABFD"
-				},
-				{
-					"value": 3.5,
-					"color": "#24ABFD"
-				},
-				{
-					"value": 10,
-					"color": "#24ABFD"
-				},
-				{
-					"value": 2.8,
-					"color": "#24ABFD"
-				}
-			],
-			"type": "column",
-			"color": "#24ABFD",
-			"unit": "",
-			"textNoShow": true
-		},
-		{
-			"name": "褰撴棩杈炬垚鐜�",
-			"data": [
-				101,
-				91,
-				97,
-				131,
-				109
-			],
-			"type": "line",
-			"addPoint": true,
-			"color": "#DF297D",
-			"unit": "%",
-			"index": 1
-		},
-		{
-			"name": "鏃ュ潎杈炬垚鐜�",
-			"data": [
-				102,
-				92,
-				96,
-				115,
-				105
-			],
-			"type": "line",
-			"color": "#24ABFD",
-			"unit": "%",
-			"index": 1
-		}
-	],
-	"yAxis": [{
-		"max": 20,
-		"min": 0
-	}, {
-		"max": 200,
-		"min": 0
-	}]
-}
diff --git a/src/pages_qiun/static/json/user-healthy/4.json b/src/pages_qiun/static/json/user-healthy/4.json
deleted file mode 100644
index 9680926..0000000
--- a/src/pages_qiun/static/json/user-healthy/4.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[
-	{
-		"kind":1,
-		"background":["#B678FD","#4A64F9"],
-		"content":[
-			{"text":"","value":"42%","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"褰撴棩鎵爜鐜�","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
-		]
-	},
-	{
-		"kind":1,
-		"background":["#B678FD","#4A64F9"],
-		"content":[
-			{"text":"","value":"37%","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"绱鎵爜鐜�","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
-		]
-	},
-	{
-		"kind":2,
-		"background":["#B678FD","#4A64F9"],
-		"content":[
-			{"text":"鐜瘮澧為暱","value":"3.2%","colortext":"#fff","colorvalue":"#fff","size":"24rpx"},
-			{"text":"鍚屾瘮澧為暱","value":"1.1%","colortext":"#fff","colorvalue":"#fff","size":"24rpx"}
-		]
-	}
-]
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-healthy/5.json b/src/pages_qiun/static/json/user-healthy/5.json
deleted file mode 100644
index 4c62a9b..0000000
--- a/src/pages_qiun/static/json/user-healthy/5.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
-	"categories": [
-		"1鏈�11",
-		"1鏈�12",
-		"1鏈�13",
-		"1鏈�14",
-		"1鏈�15"
-	],
-	"series": [{
-			"name": "褰撳ぉ鎵爜鐜�",
-			"data": [
-				39,
-				34,
-				36,
-				45,
-				38
-			],
-			"type": "line",
-			"addPoint": true,
-			"color": "#24ABFD",
-			"unit": "%"
-		},
-		{
-			"name": "绱鎵爜鐜�",
-			"data": [
-				32,
-				30,
-				31,
-				37,
-				35
-			],
-			"type": "line",
-			"addPoint": true,
-			"color": "#DF297D",
-			"unit": "%"
-		},
-		{
-			"name": "鐩爣鎵爜鐜�",
-			"data": [
-				40,
-				40,
-				40,
-				40,
-				40
-			],
-			"type": "line",
-			"color": "#FF9900",
-			"textNoShow": true,
-			"unit": ""
-		}
-
-	],
-	"yAxis": [{
-		"max": 60,
-		"min": 0
-	}]
-}
diff --git a/src/pages_qiun/static/json/user-healthy/6.json b/src/pages_qiun/static/json/user-healthy/6.json
deleted file mode 100644
index c807993..0000000
--- a/src/pages_qiun/static/json/user-healthy/6.json
+++ /dev/null
@@ -1,12 +0,0 @@
-[
-	{
-		"kind":3,
-		"background":["#B678FD","#4A64F9"],
-		"content":[
-			{"text":"","value":"38%","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"灏忕▼搴忚喘涔版椿璺冧細鍛樺崰姣�","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
-			{"text":"鍚屾瘮","value":"2.5%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
-			{"text":"鐜瘮","value":"3.2%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
-		]
-	}
-]
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-healthy/7.json b/src/pages_qiun/static/json/user-healthy/7.json
deleted file mode 100644
index d012256..0000000
--- a/src/pages_qiun/static/json/user-healthy/7.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
-	"categories": [
-		"1鏈�11",
-		"1鏈�12",
-		"1鏈�11",
-		"1鏈�14",
-		"1鏈�15"
-	],
-	"series": [{
-			"name": "鏂板浼氬憳鏁�",
-			"data": [{
-					"value": 5,
-					"color": "#24ABFD"
-				},
-				{
-					"value": -3,
-					"color": "#24ABFD"
-				},
-				{
-					"value": 3.5,
-					"color": "#24ABFD"
-				},
-				{
-					"value": 10,
-					"color": "#24ABFD"
-				},
-				{
-					"value": 2.8,
-					"color": "#24ABFD"
-				}
-			],
-			"type": "column",
-			"color": "#24ABFD",
-			"unit": "",
-			"textNoShow": true
-		},
-		{
-			"name": "褰撴棩杈炬垚鐜�",
-			"data": [
-				101,
-				91,
-				97,
-				131,
-				109
-			],
-			"type": "line",
-			"addPoint": true,
-			"color": "#DF297D",
-			"unit": "%",
-			"index": 1
-		},
-		{
-			"name": "鏃ュ潎杈炬垚鐜�",
-			"data": [
-				102,
-				92,
-				96,
-				115,
-				105
-			],
-			"type": "line",
-			"style": "curve",
-			"color": "#ff9900",
-			"unit": "%",
-			"index": 1
-		},
-		{
-			"name": "鏃ュ潎杈炬垚鐜�",
-			"data": [
-				102,
-				92,
-				96,
-				115,
-				105
-			],
-			"type": "area",
-			"color": "#ff9900",
-			"unit": "%",
-			"index": 1
-		}
-	],
-	"yAxis": [{
-		"max": 20,
-		"min": 0
-	}, {
-		"max": 200,
-		"min": 0
-	}]
-}
diff --git a/src/pages_qiun/static/json/user-operate/1.json b/src/pages_qiun/static/json/user-operate/1.json
deleted file mode 100644
index 28eec7b..0000000
--- a/src/pages_qiun/static/json/user-operate/1.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[
-	{
-		"expect": "",
-		"now": "",
-		"name": "鏃堕棿杩涘害",
-		"value": "50.88"
-	},
-	{
-		"expect": "54800",
-		"now": "51000",
-		"dataType": "1",
-		"name": "鏂板紑浼氬憳",
-		"value": "93.07"
-	},
-	{
-		"expect": "30000",
-		"now": "25600",
-		"dataType": "1",
-		"name": "鏂板娑堣垂浼氬憳",
-		"value": "85.33"
-	}
-]
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-operate/2.json b/src/pages_qiun/static/json/user-operate/2.json
deleted file mode 100644
index 9e55ba7..0000000
--- a/src/pages_qiun/static/json/user-operate/2.json
+++ /dev/null
@@ -1,35 +0,0 @@
-[
-	{
-		"kind":5,
-		"background":["#F77E89","#F7953B"],
-		"content":[
-			{"text":"鎵竴鎵�","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
-			{"text":"","value":"63%","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鐜瘮","value":"81.5%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
-			{"text":"鍚屾瘮","value":"-81.3%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
-			{"text":"骞冲潎鍙傝�冩按骞�","value":"85%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
-		]
-	},
-	{
-		"kind":5,
-		"background":["#F77E89","#F7953B"],
-		"content":[
-			{"text":"浜岀淮鐮佽瘑鍒�","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
-			{"text":"","value":"13%","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鐜瘮","value":"2%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
-			{"text":"鍚屾瘮","value":"-0.8%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
-			{"text":"骞冲潎鍙傝�冩按骞�","value":"80%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
-		]
-	},
-	{
-		"kind":5,
-		"background":["#F77E89","#F7953B"],
-		"content":[
-			{"text":"鏈�杩戜娇鐢�","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
-			{"text":"","value":"21%","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鐜瘮","value":"1%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
-			{"text":"鍚屾瘮","value":"-0.8%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
-			{"text":"骞冲潎鍙傝�冩按骞�","value":"80%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
-		]
-	}
-]
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-operate/3.json b/src/pages_qiun/static/json/user-operate/3.json
deleted file mode 100644
index bf62cd6..0000000
--- a/src/pages_qiun/static/json/user-operate/3.json
+++ /dev/null
@@ -1,35 +0,0 @@
-[
-	{
-		"kind":5,
-		"background":["#F77E89","#F7953B"],
-		"content":[
-			{"text":"浼氬憳閿�鍞崰姣�","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
-			{"text":"","value":"80%","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鐜瘮","value":"81.5%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
-			{"text":"鍚屾瘮","value":"-81.3%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
-			{"text":"骞冲潎鍙傝�冩按骞�","value":"85%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
-		]
-	},
-	{
-		"kind":5,
-		"background":["#F77E89","#F7953B"],
-		"content":[
-			{"text":"浼氬憳瀹㈡祦鍗犳瘮","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
-			{"text":"","value":"79%","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鐜瘮","value":"2%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
-			{"text":"鍚屾瘮","value":"-0.8%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
-			{"text":"骞冲潎鍙傝�冩按骞�","value":"80%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
-		]
-	},
-	{
-		"kind":5,
-		"background":["#F77E89","#F7953B"],
-		"content":[
-			{"text":"浼氬憳瀹㈠崟浠�","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
-			{"text":"","value":"79鍏�","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鐜瘮","value":"1%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
-			{"text":"鍚屾瘮","value":"-0.8%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"},
-			{"text":"骞冲潎鍙傝�冩按骞�","value":"80%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
-		]
-	}
-]
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-operate/4.json b/src/pages_qiun/static/json/user-operate/4.json
deleted file mode 100644
index 57c388c..0000000
--- a/src/pages_qiun/static/json/user-operate/4.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
-	"categories": [
-		"1鍛�",
-		"2鍛�",
-		"3鍛�",
-		"4鍛�",
-		"5鍛�"
-	],
-	"series": [{
-			"name": "鍚屾瘮澧為暱鐜�",
-			"data": [{
-					"value": 5,
-					"color": "#24ABFD"
-				},
-				{
-					"value": -3,
-					"color": "#24ABFD"
-				},
-				{
-					"value": 3.5,
-					"color": "#24ABFD"
-				},
-				{
-					"value": 10,
-					"color": "#24ABFD"
-				},
-				{
-					"value": 2.8,
-					"color": "#24ABFD"
-				}
-			],
-			"type": "column",
-			"color": "#24ABFD",
-			"index": 1,
-			"unit": "%"
-		},
-		{
-			"name": "娑堣垂閲戦",
-			"data": [
-				1850,
-				1660,
-				1760,
-				2360,
-				1970
-			],
-			"type": "line",
-			"addPoint": true,
-			"color": "#DF297D",
-			"unit": ""
-		}
-	],
-	"target": 1800,
-	"yAxis": [{
-		"max": 3000,
-		"min": 0
-	}, {
-		"max": 20,
-		"min": 0
-	}],
-	"targetAdd": "9%"
-}
diff --git a/src/pages_qiun/static/json/user-operate/6.json b/src/pages_qiun/static/json/user-operate/6.json
deleted file mode 100644
index 5de8216..0000000
--- a/src/pages_qiun/static/json/user-operate/6.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
-	"headers":[
-		{
-			"label": "鏈�杩戞椿璺冩椂闂�",
-			"key": "col1"
-		}, {
-			"label": "浜烘暟",
-			"key": "col2"
-		}, {
-			"label": "浜烘暟鍗犳瘮",
-			"key": "col3"
-		}, {
-			"label": "娲昏穬浼氬憳鐜瘮",
-			"key": "col4"
-		}, {
-			"label": "娲昏穬娑堣垂浜烘暟鍗犳瘮",
-			"key": "col5"
-		}
-	],
-	"contents":[
-		{
-			"col1": "0-30澶�",
-			"col2": "15350",
-			"col3": "45",
-			"col4": "9.5",
-			"col5": "29"
-		}, {
-			"col1": "30-60澶�",
-			"col2": "15350",
-			"col3": "13",
-			"col4": "-2.5",
-			"col5": "-25"
-		}, {
-			"col1": "60-90澶�",
-			"col2": "15371",
-			"col3": "15",
-			"col4": "-5.2",
-			"col5": "63"
-		}, {
-			"col1": "90-120澶�",
-			"col2": "12340",
-			"col3": "12",
-			"col4": "2.9",
-			"col5": "-12"
-		}, {
-			"col1": "120-180澶�",
-			"col2": "12360",
-			"col3": "17",
-			"col4": "3.5",
-			"col5": "11"
-		}
-	],
-	"sortCol":[
-		{
-		"key": "col1",
-		"isNumber": false
-		}, {
-			"key": "col2",
-			"isNumber": true
-		},
-		{
-			"key": "col3",
-			"isNumber": true
-		},
-		{
-			"key": "col4",
-			"isNumber": true
-		},
-		{
-			"key": "col5",
-			"isNumber": true
-		}
-	],
-	"computedCol":["col2","col3","col4","col5"],
-	"formatCol":[{
-		"key": "col3",
-		"template": "#col3#%",
-		"bottomComputedFormat": true
-	}, {
-		"key": "col4",
-		"template": "#col4#%",
-		"bottomComputedFormat": true
-	}, {
-		"key": "col5",
-		"template": "#col5#%",
-		"bottomComputedFormat": true
-	}]
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-operate/7.json b/src/pages_qiun/static/json/user-operate/7.json
deleted file mode 100644
index e8b2f7e..0000000
--- a/src/pages_qiun/static/json/user-operate/7.json
+++ /dev/null
@@ -1,25 +0,0 @@
-[{
- 		"series": [{
- 			"color": "#24ABFD",
- 			"data": 0.18,
- 			"index": 0,
- 			"legendShape": "circle",
- 			"name": "褰撳墠鑴辫惤鐜�",
- 			"pointShape": "circle",
- 			"show": true,
- 			"type": "arcbar"
- 		}]
- 	},
- 	{
- 		"series": [{
- 			"color": "#F04864",
- 			"data": 0.25,
- 			"index": 0,
- 			"legendShape": "circle",
- 			"name": "鑴辫惤鐜囪绀虹嚎",
- 			"pointShape": "circle",
- 			"show": true,
- 			"type": "arcbar"
- 		}]
- 	}
- ]
diff --git a/src/pages_qiun/static/json/user-operate/8.json b/src/pages_qiun/static/json/user-operate/8.json
deleted file mode 100644
index 9d0a905..0000000
--- a/src/pages_qiun/static/json/user-operate/8.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-		"categories": [
-			"楂樿鍘�",
-			"绯栧翱鐥�",
-			"鐥涢",
-			"琛�鑴�",
-			"灏块吀"
-		],
-		"series": [{
-			"name": "浠婂懆鑴辫惤鐜�",
-			"data": [{
-					"value": 6,
-					"color": "#24ABFD"
-				},
-				{
-					"value": 3.2,
-					"color": "#24ABFD"
-				},
-				{
-					"value": 5.5,
-					"color": "#24ABFD"
-				},
-				{
-					"value": 8,
-					"color": "#24ABFD"
-				},
-				{
-					"value": 6,
-					"color": "#24ABFD"
-				}
-			],
-			"type": "column",
-			"color": "#24ABFD",
-			"unit": "%"
-		}]
-	}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-operate/9.json b/src/pages_qiun/static/json/user-operate/9.json
deleted file mode 100644
index 10e35a4..0000000
--- a/src/pages_qiun/static/json/user-operate/9.json
+++ /dev/null
@@ -1,26 +0,0 @@
-[{
- 		"series": [{
- 			"color": "#24ABFD",
- 			"data": 0.75,
- 			"index": 0,
- 			"legendShape": "circle",
- 			"name": "褰撳墠鑴辫惤鐜�",
- 			"pointShape": "circle",
- 			"show": true,
- 			"type": "arcbar"
- 		}]
- 	},
- 	{
- 		"series": [{
- 			"color": "#F04864",
- 			"data": 0.33,
- 			"index": 0,
- 			"legendShape": "circle",
- 			"name": "鑴辫惤鐜囪绀虹嚎",
- 			"pointShape": "circle",
- 			"show": true,
- 			"type": "arcbar"
- 		}]
- 	}
- ]
-
diff --git a/src/pages_qiun/static/json/user-server/1.json b/src/pages_qiun/static/json/user-server/1.json
deleted file mode 100644
index c381732..0000000
--- a/src/pages_qiun/static/json/user-server/1.json
+++ /dev/null
@@ -1,62 +0,0 @@
-[
-	{
-		"series": [{
-			"color": "#fff",
-			"data": 0.224,
-			"precent":"22.4%",
-			"index": 0,
-			"legendShape": "circle",
-			"name": "B2C閿�鍞",
-			"pointShape": "circle",
-			"show": true,
-			"type": "arcbar",
-			"value":"12786",
-			"backgroundColor":"#00AEF9"
-		}]
-	},
-	{
-		"series": [{
-			"color": "#fff",
-			"data": 0.3717,
-			"precent":"37.17%",
-			"index": 0,
-			"legendShape": "circle",
-			"name": "B2C姣涘埄鐜�",
-			"pointShape": "circle",
-			"show": true,
-			"type": "arcbar",
-			"value":"1096",
-			"backgroundColor":"#F55676"
-		}]
-	},
-	{
-		"series": [{
-			"color": "#fff",
-			"data": 0.0017,
-			"precent":"0.17%",
-			"index": 0,
-			"legendShape": "circle",
-			"name": "O2O閿�鍞",
-			"pointShape": "circle",
-			"show": true,
-			"type": "arcbar",
-			"value":"147604",
-			"backgroundColor":"#FAB215"
-		}]
-	},
-	{
-		"series": [{
-			"color": "#fff",
-			"data": 0.6321,
-			"precent":"63.21%",
-			"index": 0,
-			"legendShape": "circle",
-			"name": "O2O姣涘埄鐜�",
-			"pointShape": "circle",
-			"show": true,
-			"type": "arcbar",
-			"value":"173",
-			"backgroundColor":"#2EC693"
-		}]
-	}
-]
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-server/2.json b/src/pages_qiun/static/json/user-server/2.json
deleted file mode 100644
index 9e41df3..0000000
--- a/src/pages_qiun/static/json/user-server/2.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-	"series": [
-		{
-			"name": "浠诲姟鏍忔渶杩戜娇鐢�",
-			"data": 500,
-			"color":"#2fc25b"
-		}, 
-		{
-			"name": "鏈�杩戜娇鐢ㄥ皬绋嬪簭鍒楄〃",
-			"data": 623,
-			"color":"#facc14"
-		}, 
-		{
-			"name": "鎵嬫満绯荤粺",
-			"data": 123,
-			"color":"#f04864"
-		},
-		{
-			"name": "浠诲姟鏍忔垜鐨勫皬绋嬪簭",
-			"data": 96,
-			"color":"#8543e0"
-		}, 
-		{
-			"name": "鍏朵粬",
-			"data": 423,
-			"color":"#51c2d5"
-		}
-	]
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-server/3.json b/src/pages_qiun/static/json/user-server/3.json
deleted file mode 100644
index f78795f..0000000
--- a/src/pages_qiun/static/json/user-server/3.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-	"categories": [
-		"鍛ㄤ竴",
		"鍛ㄤ簩",
		"鍛ㄤ笁",
		"鍛ㄥ洓",
		"鍛ㄤ簲",
-		"鍛ㄥ叚",
-		"鍛ㄦ棩"
-	],
-	"series": [
-		{
-			"name": "鑰佷細鍛�",
			"data": [
				1850,
				1660,
				1760,
				2360,
				1560,
				1970,
				2570
			],
			"type": "line",
-			"style": "curve",
-			"addPoint": true,
			"color": "#DF297D",
-			"unit":""
-		},
-		{
-			"name": "鏂颁細鍛�",
-			"data": [
-				450,
-				260,
-				360,
-				560,
-				460,
-				170,
-				570
-			],
-			"type": "line",
-			"style": "curve",
-			"addPoint": true,
-			"color": "#ff9900",
-			"unit":""
-		}
-	],
-	"yAxis":[
-		{"calibration":true,"position":"left","min":0,"max":3000,"title":"","titleFontSize":12,"unit":"涓�","tofix":0}
-	],
-	"targetAdd":"9%"
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-server/4.json b/src/pages_qiun/static/json/user-server/4.json
deleted file mode 100644
index c3cf364..0000000
--- a/src/pages_qiun/static/json/user-server/4.json
+++ /dev/null
@@ -1,32 +0,0 @@
-[
-	{
-		"kind":4,
-		"background":["#0081ff","#1cbbb4"],
-		"content":[
-			{"text":"宸茶瘎浠锋暟","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
-			{"text":"","value":"161","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"澧為暱","value":"","colortext":"#fff","colorvalue":"","size":"20rpx"},
-			{"text":"up","value":"325","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
-		]
-	},
-	{
-		"kind":4,
-		"background":["#0081ff","#1cbbb4"],
-		"content":[
-			{"text":"骞冲潎鍒�","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
-			{"text":"","value":"82","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"澧為暱","value":"","colortext":"#fff","colorvalue":"","size":"20rpx"},
-			{"text":"up","value":"0.7","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
-		]
-	},
-	{
-		"kind":4,
-		"background":["#0081ff","#1cbbb4"],
-		"content":[
-			{"text":"濂借瘎鐜�","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"},
-			{"text":"","value":"161","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"澧為暱","value":"","colortext":"#fff","colorvalue":"","size":"20rpx"},
-			{"text":"down","value":"1.2%","colortext":"#fff","colorvalue":"#fff","size":"20rpx"}
-		]
-	}
-]
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/user-server/5.json b/src/pages_qiun/static/json/user-server/5.json
deleted file mode 100644
index f3d74b8..0000000
--- a/src/pages_qiun/static/json/user-server/5.json
+++ /dev/null
@@ -1,32 +0,0 @@
-[
-	{
-		"name":"鍗庝笢",
-		"num":50000,
-		"width":"",
-		"background":"#FFBE68"
-	},
-	{
-		"name":"鍗庡崡",
-		"num":30000,
-		"width":"",
-		"background":"#0FEBE1"
-	},
-	{
-		"name":"鍗庡寳",
-		"num":45500,
-		"width":"",
-		"background":"#BF8DFC"
-	},
-	{
-		"name":"瑗垮寳",
-		"num":60120,
-		"width":"",
-		"background":"#FF859C"
-	},
-	{
-		"name":"瑗垮崡",
-		"num":26020,
-		"width":"",
-		"background":"#51ADCF"
-	}
-]
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/wechat/1.json b/src/pages_qiun/static/json/wechat/1.json
deleted file mode 100644
index 0c02f72..0000000
--- a/src/pages_qiun/static/json/wechat/1.json
+++ /dev/null
@@ -1,22 +0,0 @@
-[
-	{
-		"expect": "",
-		"now": "",
-		"name": "鏃堕棿杩涘害",
-		"value": "37.88"
-	},
-	{
-		"expect": "224.64",
-		"now": "53.96",
-		"dataType": "1",
-		"name": "寰ソ鍙嬫媺鏂�",
-		"value": "24.02"
-	},
-	{
-		"expect": "80.17",
-		"now": "18.82",
-		"dataType": "1",
-		"name": "寰缇ゆ媺鏂�",
-		"value": "23.48"
-	}
-]
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/wechat/2.json b/src/pages_qiun/static/json/wechat/2.json
deleted file mode 100644
index 5f6b829..0000000
--- a/src/pages_qiun/static/json/wechat/2.json
+++ /dev/null
@@ -1,50 +0,0 @@
-[
-	{
-		"kind":1,
-		"background":["#3EB2F5","#9374F7"],
-		"content":[
-			{"text":"","value":"5860","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鏂板寰ソ鍙�","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
-		]
-	},
-	{
-		"kind":1,
-		"background":["#3EB2F5","#9374F7"],
-		"content":[
-			{"text":"","value":"3605","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鏂板灏忕▼搴忎細鍛�","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
-		]
-	},
-	{
-		"kind":1,
-		"background":["#3EB2F5","#9374F7"],
-		"content":[
-			{"text":"","value":"5860","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鍒犻櫎/鎷夐粦鐨勫井濂藉弸","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
-		]
-	},
-	{
-		"kind":1,
-		"background":["#3EB2F5","#9374F7"],
-		"content":[
-			{"text":"","value":"605","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鍗曡亰鎬绘暟","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
-		]
-	},
-	{
-		"kind":1,
-		"background":["#3EB2F5","#9374F7"],
-		"content":[
-			{"text":"","value":"641","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"鍙戦�佹秷鎭暟","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
-		]
-	},
-	{
-		"kind":1,
-		"background":["#3EB2F5","#9374F7"],
-		"content":[
-			{"text":"","value":"35鍒嗛挓","colortext":"","colorvalue":"#fff","size":"44rpx"},
-			{"text":"骞冲潎棣栨鍥炲鏃堕暱","value":"","colortext":"#fff","colorvalue":"","size":"24rpx"}
-		]
-	}
-]
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/wechat/3.json b/src/pages_qiun/static/json/wechat/3.json
deleted file mode 100644
index 30ca7af..0000000
--- a/src/pages_qiun/static/json/wechat/3.json
+++ /dev/null
@@ -1,33 +0,0 @@
-[{
-		"categories": [{
-				"value": 0.2,
-				"color": "#1890ff"
-			},
-			{
-				"value": 0.8,
-				"color": "#1890ff"
-			}
-		],
-		"series": [{
-			"name": "鏂板灏忕▼搴忎細鍛樺崰姣�",
-			"data": 0.21,
-			"color": "#24ABFD"
-		}]
-	},
-	{
-		"categories": [{
-				"value": 0.2,
-				"color": "#1890ff"
-			},
-			{
-				"value": 0.8,
-				"color": "#1890ff"
-			}
-		],
-		"series": [{
-			"name": "宸插洖澶嶅崟鑱婂崰姣�",
-			"data": 0.65,
-			"color": "#24ABFD"
-		}]
-	}
-]
diff --git a/src/pages_qiun/static/json/wechat/4.json b/src/pages_qiun/static/json/wechat/4.json
deleted file mode 100644
index 2a32df5..0000000
--- a/src/pages_qiun/static/json/wechat/4.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
-		"categories": [
-			"1鏈�11",
-			"1鏈�12",
-			"1鏈�13",
-			"1鏈�14",
-			"1鏈�15",
-			"1鏈�16",
-			"1鏈�17"
-		],
-		"series": [{
-				"name": "鏂板寰ソ鍙嬫暟",
-				"data": [{
-						"value": 1800,
-						"color": "#24ABFD"
-					},
-					{
-						"value": 1300,
-						"color": "#24ABFD"
-					},
-					{
-						"value": 1580,
-						"color": "#24ABFD"
-					},
-					{
-						"value": 1600,
-						"color": "#24ABFD"
-					},
-					{
-						"value": 1600,
-						"color": "#24ABFD"
-					},
-					{
-						"value": 1600,
-						"color": "#24ABFD"
-					},
-					{
-						"value": 1300,
-						"color": "#24ABFD"
-					}
-				],
-				"type": "column",
-				"color": "#24ABFD",
-				"unit": ""
-			},
-			{
-				"name": "鏂板灏忕▼搴忎細鍛樻暟",
-				"data": [{
-						"value": 1580,
-						"color": "#6BC588"
-					},
-					{
-						"value": 850,
-						"color": "#6BC588"
-					},
-					{
-						"value": 1100,
-						"color": "#6BC588"
-					},
-					{
-						"value": 1400,
-						"color": "#6BC588"
-					},
-					{
-						"value": 1200,
-						"color": "#6BC588"
-					},
-					{
-						"value": 980,
-						"color": "#6BC588"
-					},
-					{
-						"value": 560,
-						"color": "#6BC588"
-					}
-				],
-				"type": "column",
-				"color": "#6BC588",
-				"unit": ""
-			}
-		]
-	}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/wechat/5.json b/src/pages_qiun/static/json/wechat/5.json
deleted file mode 100644
index 48dd639..0000000
--- a/src/pages_qiun/static/json/wechat/5.json
+++ /dev/null
@@ -1,92 +0,0 @@
-{
-		"categories": [
-			"1鏈�11",
-			"1鏈�12",
-			"1鏈�13",
-			"1鏈�14",
-			"1鏈�15",
-			"1鏈�16",
-			"1鏈�17"
-		],
-		"series": [{
-				"name": "鏂板寰ソ鍙嬫暟",
-				"data": [{
-						"value": 1400,
-						"color": "#24ABFD"
-					},
-					{
-						"value": 1300,
-						"color": "#24ABFD"
-					},
-					{
-						"value": 1000,
-						"color": "#24ABFD"
-					},
-					{
-						"value": 1500,
-						"color": "#24ABFD"
-					},
-					{
-						"value": 1580,
-						"color": "#24ABFD"
-					},
-					{
-						"value": 1700,
-						"color": "#24ABFD"
-					},
-					{
-						"value": 1500,
-						"color": "#24ABFD"
-					}
-				],
-				"type": "column",
-				"color": "#24ABFD",
-				"unit": ""
-			},
-			{
-				"name": "鏂板灏忕▼搴忎細鍛樻暟",
-				"data": [{
-						"value": 400,
-						"color": "#FB8F82"
-					},
-					{
-						"value": 700,
-						"color": "#FB8F82"
-					},
-					{
-						"value": 500,
-						"color": "#FB8F82"
-					},
-					{
-						"value": 300,
-						"color": "#FB8F82"
-					},
-					{
-						"value": 400,
-						"color": "#FB8F82"
-					},
-					{
-						"value": 350,
-						"color": "#FB8F82"
-					},
-					{
-						"value": 400,
-						"color": "#FB8F82"
-					}
-				],
-				"type": "column",
-				"color": "#FB8F82",
-				"unit": ""
-			}
-		],
-		"yAxis": [{
-			"calibration": true,
-			"position": "left",
-			"title": "",
-			"titleFontSize": 12,
-			"unit": "",
-			"tofix": 0,
-			"min": 0,
-			"max": 2500
-		}]
-	}
\ No newline at end of file
diff --git a/src/pages_qiun/static/json/wechat/6.json b/src/pages_qiun/static/json/wechat/6.json
deleted file mode 100644
index 66155d2..0000000
--- a/src/pages_qiun/static/json/wechat/6.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
-	"headers":[
-		{
-			"label": "娲诲姩鍚嶇О",
-			"key": "col1"
-		}, {
-			"label": "鍛樺伐鎬讳换鍔�",
-			"key": "col2"
-		}, {
-			"label": "鍛樺伐瀹屾垚鏁�",
-			"key": "col3"
-		}, {
-			"label": "瀹屾垚鐜�",
-			"key": "col4"
-		}
-	],
-	"contents":[
-		{
-			"col1": "鍛ㄦ湯绉掓潃",
-			"col2": "450",
-			"col3": "420",
-			"col4": "99%"
-		}, {
-			"col1": "鎽囧彿娲诲姩",
-			"col2": "430",
-			"col3": "1390",
-			"col4": "90%"
-		}, {
-			"col1": "鏃╅棿闂��",
-			"col2": "450",
-			"col3": "430",
-			"col4": "95%"
-		}, {
-			"col1": "姹囨��",
-			"col2": "1330",
-			"col3": "1240",
-			"col4": "93%"
-		}
-	],
-	"sortCol":[
-		{
-		"key": "col1",
-		"isNumber": false
-		}, {
-			"key": "col2",
-			"isNumber": true
-		},
-		{
-			"key": "col3",
-			"isNumber": true
-		},
-		{
-			"key": "col4",
-			"isNumber": true
-		}
-	]
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/table/characterToPinyin.js b/src/pages_qiun/static/table/characterToPinyin.js
deleted file mode 100644
index d116846..0000000
--- a/src/pages_qiun/static/table/characterToPinyin.js
+++ /dev/null
@@ -1,901 +0,0 @@
-/*!
-author:kooboy_li@163.com
-MIT licensed
-*/
-
-let base = 19968,
-    middle = (40896 - base) / 2;
-let EMPTY = '';
-let COMA = ',';
-let chars = (() => {
-    let a = [];
-    for (let i = 33; i < 127; i++) {
-        if (i != 34 && i != 92 && i != 45) {
-            a.push(String.fromCharCode(i));
-        }
-    }
-    return a.join(EMPTY);
-})();
-let SDB = {
-    "a": {
-        "yi": "!]#R$!$q(3(p)[*2*g+6+d.C.q0[0w1L2<717l8B8E9?:8;V;[;e;{<)<+<S<]=9>.>4??@~A`BbC:CGC^CiDMDjDkF!H/H;JaL?M.M2MoNCN|OgO|P$P)PBPyQ~R%R.S.T;T<TBTqT|UQUXU}V[WCXgYCYDY_YdYuZ9Zs];]j]p]q^.^@^S^w^x_,_T`H`J`ga)a8aQb9budJddgoh9hqi2itj&jEjRj]jzk>k^l$l<mLmdnDoEoMoQoop3p5pWp`qSr.u'uLv]wIxXy_y~{z}`~r-$=-$X-$Y-%!-%0-%j-&^-&s-'t-(<-)2-*n-+6-+f-/M-/N-0.-2|-3u-4b-4c-4m-5E-5N-5Z-5l-6&-6+-7*-70-73-8F-8R-8g-:*-:5",
-        "ding": "!2%%&_&x'u=:=h@NC`H?LQNkQ3Xo^Gn?osrUsNvAwKxKy9-!T-$6-$v-%O-&b-(+-9%-9(",
-        "zheng": "!S#(#D/]031$456+=L?OIzYM[']I^g_.eUl}m~qJsHulwuxU-!?-,d-3D",
-        "kao": "<dLWr5x7-!J-,7-/Y-/s-2'",
-        "qiao": "#+$4&.&1'7'Y'z($(),B,{0c7y8<:H<8<YE{F0GdKYMCZP]Y_8_zd.d/d{e5fGfHfUmKmrmvp#t>t?uJv$vMyE|R}a-!}-#&-#8-#L-#b-$Q-%?-+q-,6-,8",
-        "yu": "#V$l%S&9&I('(7(=)))m*#*$*B+2+F+v,0,b,i.W0.1F232L2a3(384>6P8n;';i;y<1>(>)>]@iB<B?BDBEC'C*CoCpELE^HIHJHTIpJIJ`KXL&L1LxMbMqNXNqPdPsQ<RFT?U(URV7WnX:Z?ZT[6[H]!]~_7_J_``Za#eXg;h#hVhuiyj!j#k9kDkMl#lClUlmmUnFoAp(pzqnrSsSt0vJwszp{_|N}!}$}I}t~(~,~.~w-$D-$]-%^-&j-';-'k-(3-(H-(v-*1-*Z-+#-+d-+{-.1-.2-.<-.K-.[-.e-/d-0=-0P-1:-1m-39-3`-3b-3e-41-5e-5}-6/-6;-6p-7:-7Z-:(-:2-:F",
-        "qi": "!8%&%>&X&m&s'2'X'd'f(9(c(i(j)@)l+'+M.).+1y1{2=3K4c6&6'6)606<6B6`9`9{:a<g>`?`AgCLCuD%D2F2GyH&H1I;K~LkLuM&MYO0O3O9P8PbPcQqR5S2SCU0U~V%XYY&Z}[G^P`7cUc}dEeNgOj$j)l?m:n4p,sOuRv.y'{/|i}1~P-$B-%Y-)|-)}-*K-+G-+H-,m-.@-.M-/|-0y-2D-2c-4W-4`-4h-7a-7p-9c-9i",
-        "shang": ")Y6V9cJvR8UqXJXa])asbQc,s,uSvz-#+-.;",
-        "xia": "#Y#w&,&;'''I)1.u/j7=:[<'B[ByCtL'NmNyQOR([0`(cLh[iRkVt/t_u4uezFzM|W|{~d-&)-*4-.}-0a-5;-8S",
-        "han": "#,.m/h:l<P>MFrGXJqNrOUPCPqPrQ|]@`+`2h1lBlZnXp*r;rWrkz9{4{B}x-#c-#y-$;-$l-$y-%Q-%n-(i-(x-)i-/!-3*-5B-9V",
-        "wan": "#=$0&o.]0F4@5X5b6*628u9p<K?e?h@IChFqG!G7H2HHJzL=O5Q'RQ`;a:b<bGeHh&h)rMr^s'slu!-$E-%V",
-        "mo": "!`#$#&#y$%%P'e(T*N3v5$517`8R=6?XA5E6FZF~JLM;MgP+RTRcU6]'](_j`s`x`y`za+qkuDyR|G-!e-'g-($-(U-*R-+k-,(-.U-.k-.{-8/-80-8K-8L",
-        "zhang": "#~(#.:2o3N>k@,JhR`b$b`knmtujz'z0}<-#+-'I-*Q-16-7m",
-        "san": "3T3q3w3x7~uJuwzA-'n-([-,s",
-        "ji": "#r%''l'y)3)d)o*Z+'+9+G+M+T+Z+^+g+x._.c/R090d1S1W2;43484J4R5C5w6)6C6`7f7s878H8t8w9J9X9Z9{;8;<;B;C=(=2>6?YA$B+CHD0D8DbE:EQF2I*I|JEJnKKL)L:LkLzMdN'N5N:NiQ6QyRrUWVcVnWPWQWtX6XEXYXuY(ZAZ|[/]O]e^F^J^U^~`)b#b0c*ckc}dee!e$e9e>eyf+fXfrg)hFhriMjZlrqmr)sRt%uov3vevw|@};}N}g~!~+~F~{-!&-!u-#N-$%-&a-'u-(,-*x-+]-,W-.?-.V-._-.d-.g-/+-0$-0H-1%-1/-10-1^-1o-2/-2@-3'-4)-4o-5>-5H-5U-6,-6J-7/-7P-9e-9g-9h-9i-9j-:l",
-        "bu": "0$192,FKJgT=UYZ^e+hhjmm8mFoGpGp}sjw]w{-'7-'E-/m-3#-4.-6=",
-        "fou": "4I:L:O:Q~1-3:",
-        "mian": "!G!d#4$U$W$]3Y5X6A6_6o9g9w@qB/CkG!H_Q;-!L-!M-!P-/_-7y-7z-8'-8,-8q-8r",
-        "gai": "):5=5LD,ErI!J1Z'_/`TaYaac!lnpcw[|O}1",
-        "chou": "!+#n$N+0/y0}2:4e5/6#9jB*B.GNLfUmZ+^3^5_4e%e4fWkan]nbo.o6oU}u~$~*-.X-/>",
-        "zhuan": "%H'S'V.K0k1B1H1r2?7Z<r@RA7IDRsVk[J]Tb3b<c8gThai'mp-%+-%u-'p-(]-14",
-        "qie": "%>+7+f,8.#.|0K0p2O>#DNE1P.ccd]eMlpt8y>-0&",
-        "ju": "!Z$L$w%R*W,c,l/e1~3&3J8#:t=#=`=k@FBGC0DlD}FeGAIaIkJbMrN[OVP`RDTlU|W>Y`[$^Z`Ua*ccc{dWd]dae#e@eFeff8fSg*g<guh~l'lXmIoOq(rps%vXw_x|y;zb|m}o-#/-#:-&4-&Q-)<-)?-)d-*z-+0-/.-/:-3[-48-4S-4k-5.-9H-9K-9x-:@",
-        "pi": "#M%D'C(5(6)L*F*K+;.n1C4M8}:y;/;2;A<,<{>a@'@2@KA%C|DQO+O]O^PvR!REScU'UfZw]m`l`na'i[l_m;p<pYpyqCqyr*s1s;trx4{8|*|=|p}F-!!-#,-)@-,H-.p-/#-/3-2#-3>-4F-6'-63-91",
-        "shi": "!E!Q!e#?$p%$&+'$([(](q*^.&/5/n0[1w204z<gBNBQG)I:ISIUJ3NlN{Q>QQR9VYW2W@W^X2XNYxY{ZI[:[<[v]X^l^{^}_p`DaDbmgqi8ixjdk!kNkpl(lkntoMo^ocoeofp5ppq%q&q*q4qbr=t9x/-&^-&_-&}-'<-'@-(*-(8-)!-)H-+,-/<-0?-0d-0o-0p-2:-2O-3+-38-57-6M-9C-9E",
-        "qiu": "*6*7+a0r3k4D5]6j>7CaCeF`HEJXMhNgNjONP;QMQ_RfSWUUX?XUXqXrajc$d'jpjskXl]n@o.oup:r?-#5-#6-$8-/'-/k-0W-0X-1,-2Z-4v-7&-9U-:Y-:Z-:]",
-        "bing": "!n)F*4+/,>.75@DsOcZ7l`puqar||>-!:-!q-#,-#G-''-'C-(D-/O",
-        "ye": "$>$E(0,a6g=;@?HfSb[]_]lUlfn(oip=rmtDtTtevTx?-!O-!R-$5-%N-'F-'e-(T-*o-4Y-61",
-        "cong": "$'&Y1>8==g=l=p=vDIE=I2JUK0LsRZZk]$a}a~sKtBuKu_-*)-*V-+Y",
-        "dong": "&&.r0b5D?7?C@JD|G;I#KwQ([&jV~^-)T-/=-0)-4g-5/-6T-9,",
-        "si": "'?(b)^)g)p*+.</#40415O6i8l9~;.<|<}>+>0KxL+NLP7PiQnReS&W_`tp1pvp{qTqnr8r`tIuzyB-&6-&R-&^-&c-&s-&{-(:-)L-)q-*8-+.-0.-5j-6`-9N-:o",
-        "cheng": "#0$,$P&W*O*[*w+A+{,O,v/l5[7#:`?}FQOoS(UKZV_#cHcJk#m$nhrxtkuxv@vWx=xB|2-!A-$h-'w-)o-*>-+B-/u",
-        "diu": "r2xL-&&",
-        "liang": "3A3D3{6K@0CRF{Q%Up[,_Oe1h!h2hCiBiHojss-!=-)h-.J-.O",
-        "you": "(r)O*I7o8W;L;f=5=M>VDKFoFsFwG/KaOOOSPSQLY8ZN_;`qh%hMjWjnk6kPlYmEn3n>ncodp~r3x&x<-),-.y-/1-1p-1z-7N-8P-9D",
-        "yan": "##%F%L&%&F&T&v(Z,j/u1?2$5t7V;!;h?<@@AsCVCYCZD3FmGpH.JlN_PVQAT$UxV9WUX/XkXmXnY?Z3[U^1^C^E_e_~`B`C`RbDbPc;g/g7kIm#mNmsn5nHnsnyoPoVo`x+z7zkzmzn{A{`{e|}}2}b-%'-%,-%B-%v-'0-(#-)~-*$-*F-*j-*s-+C-.4-.H-.Y-0V-3$-3*-3B-3n-5#-5G-5u-7K-7r-8T-8W-8_-8`-8a-8d-8j-9L-9Q-9w-:1-:N",
-        "sang": "'EVNts-%2-%{",
-        "gun": "#<&#'U6F6z9dJ>JpTFTwUu]4h<iF-/2-/g-2<",
-        "jiu": "+E,*42464]8mB:BCBHBMH7cQnGz){Z-#}-#~-,l-./-01-3!-5w-6I-79-7c-:$",
-        "ge": "&!/30*4?8r>:?B@}AbB3BwECHxJ1NwOrP'U9UPXM[X[hhLhmq`tetlu.xSyUzTzU{W}4-!S-!s-#F-#`-#j-%f-(A-*%-+t-.3-/K-/U-1u-3T-3z-6g",
-        "ya": "#B%C&{'I*{,a.g=UDEKqO;T1WEWGY.^[g=i!j4lUp=s=v7x;}f-3C-3c-4U-6O-6V-9o-:;",
-        "pan": "!&!>!?!H!o'L'x2A76=F>R?$AIH<IrRoT{WBY[d[e{f0rvtpw=zx-#E-$J-4D",
-        "zhong": "#%(n*8+>+m/V2T4{6b99>j@`BnEkK*O:OBP^R2RKSzTKTNTO[@e^f>ohparHtQv5wbyF-3_-9@",
-        "jie": "#S%@&{(.*d+=.G0e4J5,599D;k=(@/CfD,G#G`J[LzOFP&P:PTQ=SKSQSqT/TITPTlU4U7UPVQXOXSX}Z%ZWZh]/^K^~_5ckdve=j^qGtNtXz,|1}.-!m-!u-$U-%c-&v-+i-.l-/@-2&-4{-5$",
-        "feng": "!@%N'40m5v7R:3C$FdHnN.PFSaWI[R^c`?b.c5k'n+n;r[u5uXxs-!$-!4-&%-&J-&L-(w-3(-3,-3F-8)",
-        "guan": "!'$b$j$k(W)B,Y/f0E6:9&:]:gBVFqIEWSW{X+X.a?bifMh?kmsUu>w7zOzS{,{2}{-'K-(N-0q-1N-1j-2e-2z-6D-7A",
-        "kuang": "!Y!z$Y%1%r%w(G+}/O/z5'538V8vZ<ZG^y_=aNbpgHgRgXg`j+lHlhn/qUrevy-4>-8>",
-        "chuan": ",40jA7BYB`BhBxEvale[hIkJp%wQ-5+",
-        "chan": "&6'W)K)q1N6D7$8*8A8[8_:6;xCODJIHKQQ2RGR_R{S1UeW!W`X3ZMZy]B^+^7_N_bfbi|n2n6o@rTr]uWw3xYz%ze{7{g-#Q-%D-%~-(%-(S-+Z",
-        "lin": "$B&['t0:393O5{8!<WA?B%GsKEMOaWb{fEf]fgfxhlh}iVk{lgn$utzg|9}C~[-*a-1G-2t-7_-7n",
-        "zhuo": "#'&Q)a+l,%,V,]102E2`8?:J;&=NE.HtJ:L|SJSsZx[+]6_Fd!nArfvLvOy|-4J-5d-:x",
-        "zhu": "!a$6$h%^%v'f)!)/*h,@.4.S.T.[.w/P/o0]0n141=1a4n4q5.9+:s;W<EBrD/DVDpE_EmFYHtJQKZMMO`O{QTS>S]SrU;V<YLYoZ;[S_$_B`[aCbhdVdjfRggjMjrk1ljq6q{r}vbwExIx`|x-&r-(~-)=-)]-+2-/H-0E-11-3s-6(-7T-7V-8x",
-        "ba": "%#.a3#:y;2;N<z>sD5E4GTO$WNYk`LdDdNgjozp?wr~~-!a-&.-.D-.`-/&-/0-1t-1v-1}-9=",
-        "dan": "!K%$%5)r,S0N1h4V8A=A=B=H=~>q@9ATAVH*JDOkPUTLV?VoXGX~ZK_'a|bBc3f{mHn&nKn~~t-$I-'G-'s-)*-)a-,C-3Z-8H-8b-8i",
-        "wei": "#o$M%}&0'#'D'M6/6p6r7+8y9f;6>n@gC+D!DOE+FCGBH)I&I(I4INJ]K$KJL7LdMDN0PwQ$QDQHR?T3T6V`WkX$Z)[#[^^*^4_I_^e;fefig@hbj>k<k[m}nvs~t4uGzz{G}&}'}7}Y~n-!#-#Z-#a-#i-#q-#v-#z-$T-&7-'J-'X-'z-+a-+b-+c-.P-/,-/F-/P-0N-0O-2(-2W-2p",
-        "jing": "#C*?*u,2.8.9.A.E.P.R042v3F3Q5(5q6!9@=_>g?:?k@<E;EtExFiG8HlS/Z`]ge(jTjwrhuYyi|+-!=-!@-!C-!D-!F-$N-$m-%b-*m-03-2M-4:-4a-4d-7e-7o-9I",
-        "li": "!!!0#A#E%7%_%m%q'|(K(L(Q(^)u)y*%*H,&.$.J.{/c1.1:2Z3$303G3b4)5}7T8Q8g:7;4@*C%DPDbEEF%FDFWF[GUI[I`JFKIM1MKN4OWOnP#PNPlQaR[S*S:STSVS_ULU_VWXhYY]&^,`9`}cPdbf`hzh{i5jDk+l7l;m6n=oBoNogokqAqururzs3tludvuxjyU}V}W}X~&~8-!+-!5-*}-+A-,^-.3-/p-/v-07-1W-1b-1k-26-29-2x-2~-3Q-4X-5I-6F-6l-7f-7k-8A-8Z",
-        "pie": "$2DmW]u~",
-        "fu": "%8%[(u(v)U)j*k*o+:.'/$///_0$0=1j3C3d4a4j4u5B5k5p6q7B8L939<:0:o:}<&>N?#@!@D@E@nA3C!CWC}D*DFE'E,E]EpFFF|GKHKHjJXKsNSODOGOXOwPIPMQEQIQWTETsTvU.V(V6ViW+WKWMXpYS[C^H`Va4a{b4bXc(c7cRd=dZegh*hPhRiAiLlIm(m*mmnQowo|pFq<q@t#t5{s{t|?-#]-#x-$`-&(-&.-(n-)F-+/-,P-.5-/)-/8-/X-0^-1|-2[-2}-3%-34-3N-4H-4}-7x-7{-8#-8*-8o-8p",
-        "nai": "<p<q?L@=CcH4R'VHj[o}sk-9'",
-        "wu": "$A%*&l)+,D,o0a2tAMB]D#D<EPFSKvMVPLQzS#Z>ZYZZ]U_6_9d9fYj6j~lWm)mep)rQrbrctvwkxc{y|U}6~?~C~`~m-!Z-*'-+R-/j-0j-3i-4/-4@-5,-5f-6j-6s-7)-9G-9W-9X",
-        "tuo": "%U%V&z0L2J4v?{@$F_H6MUTbT~Y'Yc^QdHdQnVq+r`x1{{|;|<-&d-(.-(z-({-)1-)J-)K-*:-*e-*p-+$-+3-.b-/%-/[-0b-3O-4,-6_-8}-9$-9?",
-        "zhe": "#'%+%E'P2f2|<f=VHtJ~NoP4PKR9RRRSU%VXW<Yq]*]:^%^0_ucKe`h(h0hei@iUj:j{kurAtMy!-({-/f-5W-75",
-        "ma": "#X%3'8(e)h;0GsK?N}R+RTRUkku/z2-(u-)N-+!-+9-,r-0n-5P-8.-80",
-        "me": "-8/-80",
-        "yao": "!T$R'T(g,3,:,=,F,I,J,e,f/C0^4<7o8Q8s<a>_@eB>CADvFAI0I>J:L]M:M~TgWHWfY/Ya[|[}^6_ngmi6k`kll*l9r!tdwhxRzv}!-!j-%=-&9-&T-'(-'=-*&-0u-1I-2f-3;-3]-5F-5Y-7+-9T-:%",
-        "zhi": "!7!t$s%=(J(i(k(s(y)2)I)Z*2*>*A*T*^*c+(+)+J+Y,G/k4Q4b5T5W5s6~7^7|9(98;(<0=E=Q=b=}>L>|?+?QA<AJB1B2B5B6CzD$D?E8GeM7N/O3P1P]R@RhTQTTTxTyU{W.WgXCX[XcY9ZB^l`@`A`haAb!b=bbbwdAdYdueTeWf,f_fag6glg}i1i:jDlqm6neoyqrr=r_vsxAy3|)|Z}R}[}j-)!-))-)Q-*?-*L-*Y-+O-0:-31-3S-3m-5+-5^-6a-8m-8y",
-        "zha": "!l%Q0>4^4g=0D{OPOZX]Yb[(]G]W^ng=o;t*xHzI{N~J-&t-/9-/a-1{-22-9]-9`",
-        "hu": "(1(~.j0Z1M3!3^545r757G?0AMCtCxD<E$GxI+K%K;NGNHNPNWQ^R)T2X`Xd]<]x^^``gVi3mqo)snt+tK}Z}q~B-$4-$k-'O-,j-.s-0<-0c-1`-2v-32-4?-4x-5)-52-5?-65-6n-7!-7?",
-        "fa": "#k%O/'/N:q;*;3EeKkLvo1oKstzV{V-,F-,J",
-        "le": "%f.U1_>5C_{u-$*-'1-(A-1!-1d-2i",
-        "yue": "$S%!(a){0^0|242S2_373H4<8sAlM{O,O.ZaZc_>cid2dCdFfZgApDqBw2whw}zczd{[-,V-6:-6B-8Y-:^-:m",
-        "lao": "&)'n,71s3<5>9M<b<c=&=3F'HYP3Rvg.g4hin`oDr(v/x8xa-%8-,9-/W",
-        "yin": "&#&j'a)Q*a,^/B2{5G6{7V?3DJEGEcF=FHIRK4K8MuO2RLRzU=Y$Y*Y2Zu[M^9cXczh'monipNp]qer/xFx^z{{||/|l|w|~}0}@}Q~W~f~p-!b-!r-$&-$2-&m-&q-(6-)^-+:-/I-5h-9p-:!-:?-:E",
-        "ping": "%b&'.H0W1Q:T=f>~CXE%F$H(JWMaOQP%Yg^jgrh>mAqa-$^-(w-/(-1w",
-        "pang": "!o'A1+=/>R?$?=A/B|QmWsd@jf~6~|-0k-2g-:K-:M",
-        "guai": "0,;%",
-        "sheng": "!D!^...t7*7q859e=[=x?*E(KM]^aMb1q2t2|#|Y|u-4_-9B",
-        "hao": "*:.,25<x=ZEMJ$L3L5LWLtNYO<SG[0]z`Y`ym,mhu#y]-%>-%|-0i",
-        "mie": "!`(D1G1dJxL>SNS~W]vt-1e-3M",
-        "nie": "1&294(4,=G=|B)B0E!GDMlSX^=e)e?eAezforAs$sJu*vfw9wByVyY{&|c}(-%L-%x-:#",
-        "xi": "!>#6$3$d%/&(&g'J's(!)P)n*l+7,,,n313z434i5j6H7?7W81878g979U;V;n<2<5<6>c>d@>A6BABBB}FUG]HeI9IbIwJ+JVKzL2NdPjQoQqRYRqSiT!U)UzW9WFWiWlX7XfXjXlZH[K[m]5]F_@`.`/`W`_a(cCcGcfcwesf)fulGlplwm&m4m_n:oIokp2p7pbqLqMqvsYu+ufv&w6wSxJy,z[{5{b}9}?}P}U~#~2~q-!%-&?-'2-'`-'r-(1-(C-*C-*O-*{-.)-/x-0_-1+-1J-2X-2q-46-6*-8I-9O",
-        "xiang": "!;)*+50U5Q6Y8b9u:U;E;J<4APC{HGHvL<N~RbS4T.VgVsZ(_0`PdqmGmYmZmfqiq|v(w4z&zXzt|H-$3-$9-%R-&g-'+-'{-(&-(?-(b-*w-+_-/C-/~-1<-1L-1g-23-7g",
-        "shu": "*V*x.0.D2B4#4K5%5^6s9/;,@[BPF(GuIBIeK7LUL`MLNePDShT*UHW'W0`=bOc+e%e0gIhOiOjQmSqIs_u[|I}!~Y-/A-1Z-1a-4G-4p-8@-98-99-:e",
-        "dou": "$#,[,}1E@#FEKCOI_E`5jym%mMnMpCrIwpzH{.{~|]-'9-(F-.%-.&-.*-.,-..",
-        "nang": "Sd-(&-()-(^-9b",
-        "jia": "+L/23l=!?)?u@jF+FuI.P5P>TaU4UI`]a$a]bxdRjGl{m/q#qOrXu,x$x>y`-$a-$e-%c-%d-)B-+5-3J-3q-4(-7i",
-        "mao": "!M#i$i*:/66e:u<eDDE/E2E3HVJOQ9QNRXT}WY`|a&aSbrgPmkn!nJq>qcsVx,y%-,B-,O-4|",
-        "mai": "?W?XF>K^LgS{aKaxj(l+~g~h-!'-5{-7t-7u",
-        "luan": ";D?dAzA{L=NDW~o{r7w@-4'-6G-6h-:y",
-        "ru": "/M7F8G:1>AEgIYJ6KlLhQJSHU:VGW,inlEm`oSr+x_-%E-&!-1]-3)-3K-3x",
-        "xue": "$?,(A=C@E@IGLKStTnXd[p_[coe,hdibig~/-!_-#M-18-2k-6%-6^",
-        "sha": "%4&G052u4O8F8~<<<CFaG`H+K<U]t}xPzazi~S-,[-.h-/q-/r-2=",
-        "na": "*0.u.x4E9#>WIYIuTJU!Zt`m`pgNlNlypHu7wcyZ~0-!d-.x",
-        "qian": "'K.(/~0A0t1'2*2D2R2p6+7[8J8q:G;h>b@vA~CnD(EIElF:I%IjK>KLNNO&O8P}VR[*[u]u_q`!`&gSh;i~kjk~p9pEpOq;q?r6sPtYukvqwPwgwtwvx+{x-#U-$z-*+-*/-*=-+U-,y-,z-0x-37-4M-6z-8G-8M",
-        "suo": "#*1Z1^4Z797U:?;cFaFbJ7P{VJcuk)tatju3u9xi-/b",
-        "gan": "!3%)*1*t.Y/x1*1}3%4s91>GCmE#T>Y^bJbTcAcTcti}nE-+e-.Q-1T-2w-3*-:i",
-        "gui": "!q#o$.$C%x%})0)s,E/?1K1T?NERJ;N%P/R*RpU<V{WVX0XPZ!_*aHbod<dng>gEi#lilxuyvlzY{P|M~#-#K-*;-.7-.:-.=-/S-1F-1U-2%-2r-34-:Y-:]",
-        "jue": "$Z$l$o%6,%525S8#9NA^D=KiKtNnO6RwRxU!WWWbX%X5X>XBXZXiY4Zj]N^f_}a0c[chd<fCfDfwpKv)v:wCyo-)0-,$-2r-3<-3=-5g",
-        "liao": "$:,A,m,x1g7n8%:@:C=OA#ADJcM(RnRv`1b8f$fJizl&mnopv,wNypz.-&@-&G-,)-5t-77",
-        "er": "3><m<p=8=T?HEyLoS|U8Z6aBaGbjd3gshtjJl2q_x9|L}M-'/-(=-)Y-,Q-,R-/D-2)-3j-6b",
-        "chu": "$e%s(/)M.%.)114y9=<~=%A_DCG=IdIoMMNOPQS'XRXe[/`E`Oa,cmf=fTfcmaq3rnxlzW|`}p}|-59-8O-9|-:)-:9",
-        "kui": "#f#o$C'D,Z,p0v1m22=m=o=s={?NAFI6IJKnLyN1N;NbQY[edpf*fvk;mXt;tJ{0}7-$A-$d-%6-'a-'o-(P-(`-*6-+P-.B",
-        "yun": "!F'N*;/`/|0y4T6z7!7<7C8z9|<y=?@_D@FLG7IAIVIyK_K|L#L0MIM`QcV@a3b)b@bYc=j1kQm!m7mVmgnRo0o8pVrO|'|d}5~7~i-#?-#g-#n-#{-$(-$/-'N-(p-)'-:'-:0",
-        "sui": "!q#G#J%G&f)$)t+R+h+p5m7>7h7x8D9V:4AQCyFOFPNxV}Zm]c_QazkFkHl.uqv!vF}*}/}G}H}w-#$-#r-+|-,/",
-        "gen": "CQEHdc",
-        "xie": "';(f*&3c4k5+595I5h6g6v7&8>8T92:B:M<3>l?T?V?ZA&LRLTM0Q7QKS+S@SBStTRV*V^W4XKXOXS[B[y^<_Z_mflfnl,lU-!i-!v-#1-#D-#h-$#-%c-/S-2%-9Z-9q-9t-9~-:b",
-        "zhai": "%X)3,92q<?a@b]q=-9c-9d-9i",
-        "tou": "4G6sMyjqrItA-$b-&r-+h-8;",
-        "wang": "!664:h:i:j:k:mFvGmO>P*Q,Znh5iGj+jM-.N",
-        "kang": "%<+U2v3tg1lJpgugwmz={L-17",
-        "da": "!W.u/(/S84;H=<EsF*LHS0VCYldzi{j0j7j;k?kZt]tqvZ-!g-!|-#R-:S-:U",
-        "jiao": "$y$}'~+k,A,K.`/I1o5;8?8]9O:J?E?j@hA9AKB(CaEZE[KTM5NZP!RkR|WWWbX%X5X>Xs]Q]fa`d0dhe3gvh_hfi;i?lvnkoHo]p#q]v*xW-'%-(B-*h-+;-/Q-1>-20-3|-5k-5s-78-:a",
-        "hai": "5L?Aj9l/lnnro<-'!-'~-)Z-)b-+>-+p",
-        "heng": "?J?mMZT9vc-3o-4$-6e",
-        "peng": "%c&'&S'+'Z+,.V1+1@5@8P>~AACgE%FdJRMkRiRjU3eSgbh:s9v{zL-$+-$0-):-*A-,X-,b-,q-4K-6y",
-        "mu": "!1#N%]+V7`7n:@?.C5DeF~G%O=e/qKqPx!~3~G-#9",
-        "ting": "/s5l<t=j=z>%>&?qC)FnI7PWQ8ZJ[El=rUxKz`~K-!~-$g-%e-9F",
-        "qin": "$j$k*'*Q.d5c=>>MD1DAGZG^GkMRO8Q}RJS7TVWJWrZQc]pXpkriwix{}c-!]-$~-)f-+E-/c-33-4L",
-        "qing": "&/&Z'i046+60:ZDaHzQ#Wr[%]%_Agph+i7m<s4vi-!;-!<-!B-$7-%P-/}-2B-8X",
-        "bo": "%h&^'x(B(U*L+l081c2%2,3~4m:S>;>t?fA!BuC,DrGWH=I'J{L4MmO^U+U,U6VrW5ZL[d]Rd8d_eKf@m3pxq5qFrVtow0wxw|x(yT-'4-'^-(E-(V-(d-(g-).-)[-*^-+)-+~-,$-/0-1=-1}-42-6k",
-        "lian": "'K+D2+2P2V6w7b8k94;s<T=Y=n=q=t=u@+AZAcG(G,HLJTKDLELOMsMtQtS=U`UaVUW#We]0f2j?k(n0oPsZsyt`u@vKxfy}-,n-0U-0}-27",
-        "duo": "&U5|:!BtU0Uncrdfdid~eYg!g#g5plvUx5|E|J}*}3}S-&~-(;-(z-)1-,i-4]",
-        "men": "#{$*+XGRNEsuwVz1z6{>{M-#!",
-        "ren": "(o*,*e+#4A4U5)5y8x9$>?@AD)E}FGGDTUU2Y!ZC^I^Vg&gFi&p/p;pRqp-!W-![-#[-#w-&i-'#-(2-.^-3{",
-        "shen": "!U![$8$r$u%j)#)9,12e2g3T3U3q3w4l96:p:~>i>m?t@BFkHwH}JGK!LCPGPHUNX)Y1YHZ*[2^)_%_L_S_VfylPqRrj-$W-)W-.m-/z-0@-0|-1)-2N-4A-8b",
-        "ze": "#R#}$n(+*p/,0J1I=0BsKAS?Vz[(].a@b7b]c:jO-&t-6.-9s-:,",
-        "jin": "!#$j$k%M)8)G.U.m/J4W4`6L70:/B6F&F;GcGkJYM!TWW%WzX<X@]9_sb&bIc#j2j<k8olomp>sTwGy2-!^-'m-(Y-)$-7D-88-::",
-        "pu": "$5*k+j0$8LBTBUFXGGGaH~IsIt[D]]_|bEfInprtupv=xbyqyu|[-/m",
-        "reng": "(_DGiu|z",
-        "zong": "&Y'h+?3P3]4$5z6E6Q6n6x7(7M7X7e7t9%9n<J@MI=J=QU`eePeRf1t!v_-)z-*5-+K-,`-,f-.8-09-0G",
-        "lun": "&n'k*|6:9&='@4D:GLPk[1^`eBhAi)s.|k-04",
-        "cang": "15B$BpC<DUI~M#R3b/w8-50-6P",
-        "zi": "!i!j%()R*/*X*b+E/)2l354F4d6I6W8O9s<u>z?!?MB'CwE5E7ENE`F4GHHuJbL;NsXHYOYP[I_caFa[bzb~cZcpd(h3hQiJmbp&pmsGtRtuy=yO-$s-$t-,I-/{-0r-2P-4e-9)-9f-9i-9u-:D",
-        "zai": "#^7HGHb+g|i9n^",
-        "ta": "(d)i2~VAZr]wdBe7etfFfOfpkdkiq+sBt]tex1{'{5{;{={R{o-!s-#*-#B-/?-0t-2d",
-        "xian": "!:!O#5$<&#(F(h)X*3+D/D0V2k3B4%4|5A5c5t6,6]7J7r8Z8c8q90:%;];d;h?&@oAnA~B;BvDSDwFzG,LOM'M*MpOKO_O}PJT+T0V_W:WRX,ZXZo[O]d`>awbKb^cYdgd}f;fhgBhHnfo'oPqvr#r$rFrqs<sps{uww'xJxMy4zBzC{H|K|a|e|s|v}J~v-#T-$!-$$-%.-%H-'D-(M-(o-/T-1l-21-55-5x-5y-6$-6q-7G-7h-8$-9P",
-        "cha": "'0*049B=C9CjD}EYEdTAYyY}_1enr't7t[vryDz!-!U-'Z-(O",
-        "hong": "&*&8.*.>0o334=4P4f5i8o8{;z<!<==CDyF?HoHpL*LXNtXtXy^L`'`*`,gUhNhwi+p[q[rGrYt:z?zXzrzt{I~U~e-!n-.(-.a-3v-6i-8<-8?",
-        "tong": "!r$@%o&>*]+m.?/Q/i345D5N5`9PA@EjJPO1T,Z,cFj|ndq:qYqjxC-')-/L-2*",
-        "dai": "0,1n4x7%9AC?OMQ]TdW=Yd^xa7aLbqdff'gCgLg[i%jIk4p0~z-!0-)E-/>-3I-8N-8e",
-        "ling": "%d)D*M++.5/+4p6@9];K;U<.=KBqD[GiJJJmL%M|OiT(TcUjYVdLgZh/n8oWpts0x)zN|q~;~O~]~a~c-!2-$L-%`-)C-/$-05-2C-3L-6Y-7E-7q-9z-9{-:A-:T",
-        "chao": "!k,h,r2u6?9b;5<wXDY=]?cdh`mlpSwa-7w-8v-9#",
-        "chang": ">J@mA+DTGMH!UlUqZfs&sWy+z'z(z0zh{1{a-#d-.0-02-1X-2H-2T-92-:d",
-        "sa": "8g?^HDK{LYY@fnpQuwwS}A-!c-!s-&,-&P-)&",
-        "fan": "%0(M/1/40i2A2d6R7i8$;o<[AIBcBfE0KNLPM>N!SOVqXva=bcf<gEg_hThkj5p'v#v?wT-&=-&Z-&n-&o-(5-1E-5r",
-        "miao": "!J#m*=.10s6e6u7n9z:@D`M$l3-4s-6u",
-        "yang": "!R#!(C)Y*R4t;E;J;P?5OxQ/YX[T_0gahGqDswt,wX{}|.|y~:~}-!p-&8-&M-&k-',-)G-0]-3a-3t-62-6X",
-        "ang": ">Xo:-+g",
-        "wo": "#l&A,R,_6}>I@OAlB!G*HQLgP[Qbe:-(p-:4-:I-:L",
-        "jian": "!%#9#`$<$D$I&N&b','r'}(&(<(X+D.p/9/g0#0/0Q181k262I3_5U6Z788(899v:9<F>$>S@fB4BoCICSCTETE~G<GrHiI{K5K]L!LVLwN=RGSEU5UcVjVlWAWRW}X#X,YT[.[F[c],][]}^!_Y_v`K`Racaybkc|d?dKdye8ecephvp/p;qXrMrZs(tFtHu!ubv4vDvNvovpw.w1w5xwy:zCzD{J}d-!V-#;-#>-#O-#X-'A-'S-(7-(k-,h-0Y-0`-0h-1(-28-2h-37-40-4R-5@-71-7F-7I-7J-7W",
-        "fen": "#|%A*9./2x3=3r4S9';M;q;~ARD4IxKmO?O@TGY,`^`ff|hjnOpUvY}K~5-'W-'}-(c-(r-.w-1M-2Q-35-85-8n-9.-9:",
-        "bin": "%A8I::A)AiNc`X`cahailKvjya~l-$p-%G-%k-,'-,1-,E-,_-,p-.!",
-        "di": "!u#/%W')'.'{)<)_*U.v/*1=2c4+6c:);X<?=b>;@WDXD_FMG9G_ICJMJrJwJ|M6Q+QVR<TtX*X8XIYW[:[A^q_f`dcee_f/gYjKjtjukLkekwldp0qNuIyj|5}#-!X-#=-$H-(y-+n-,>-0>-69",
-        "fang": "!I!n(l4Y9*>TBjD;O!Y;^ed@lLp@siwn|,-,?-.v-1s-3E-51",
-        "pei": ">Q?(JBSwUrUsauc2hyiPnBn{s5y7|%|f~M-)#",
-        "diao": "$#&a,C,k.B1]5FJML|NhOaXxZ8Zv_M`ro~p_r!r:s*s[vawUxExR}v~D-.c-//-0%-2L-2{-3&-4O-9>",
-        "dun": "!<!A%J'3(%Pxd;eZf?fKfVjikGkvpLw`-$G-%X-*c",
-        "wen": "+C+`+z4B4C5X7!7<839)9|=d>^?gD'G!O'O(R/RO`ahShWiNu6zlzqzw{<{D{Q{c~4-#?-#{-%(-'f-)(-)4-.r-0g-0z-2V-36-3G-9<",
-        "xin": "!=(F?zBID7FkLZSyVtY3Y<gBiWlOo[pIrNv1w,xtyn{w-%/-(q-(t-)$",
-        "ai": "$F$|%l%~&e'M(:5=CbKGL6MN[K]k]{b2g(r9tWv^yK}1}8~s-!.-!3-'U-(m-1[-3l",
-        "xiu": "**3h5g7u8,9T;Y?i?yB*B7DuQ{ToV0V1`ur%rBtSu=u^uvxp-&K-'l-(X-,@-,U-/Z-13-3}-6d-9^",
-        "xu": "!$!*!4!Z#j$l%;)W+@+H3[5K5e5x6T6X6s7)8X9[9_=X=e?4D/IeJ)JXJfKrLxM/NQNTNUO[P$Q:UDX|YBYJYs[8[Z]C^^_3_ia^lUmwnLo*qovn~E-$<-$>-%T-%U-*[-,w-.G-.W-1_",
-        "tang": "$f'@)f0{3V3j3o;l=)@zA4J4LJQSR$RAcMc~eef&g+m]o=tiu)uTv'wDx[yWyd{1}:-#I-']-'h-5:-96",
-        "huo": "!V$S$^(*)>)S*Y*_*`+|,W10=$=4AuCJG.IhMTSI[g`0a<bacnlTpesrvhwoy6yyz5}y~R-!,-#S-*0",
-        "hui": "#J#[$G)N*i+s1;5R8.869I9}<9<:<L<^CxEbF1K2KeL8L9MFN,NuO7OtOuPZR*RyT_V:Z$Z2Z_[L]S]n^#^X_!_<`FaXbyh4iEjUk*qouqvI{6{j}3}S-!Q-$c-%C-%l-'R-/V-1#-81",
-        "kuai": "/w3}?]AWIJIql|n*-)0-1P-2.",
-        "cui": "'g,w2z3L4[697>:4<%<@?R?U@.AEANAhG{THVmd#uQ}Y-$|",
-        "che": "$;%I&?&@=JFjP@g<h~jA-$M",
-        "chen": "#t&M&t'`*[+A+{5{>FA}EKFRFcK:LmRBTDW6Y7Zz[Q[o^;_V`$arb;c`cad>dKeagKimjHmDo@pAt(|C|o~H-5T-7]-9l-9m-:=",
-        "xun": "!x$Q*p,^4;8MAjEnF:KLKSL[LaMcRzS%XwY#Y)Yt^R^T_+j%jajlkclsmzoTv`-%A-(}-)U-+%-1?-1H-24-5A",
-        "chi": "!]!y$).X.y/A0+02133,5W<#<$<D<H<|=@>>?2?D@SE9E|GeO%OHORR;U/U0UkVMYFZ9Zq[t`8aRcBc^d+dfeGj@jBkKkfkrkyl7q7q^qusx~9-&l-(4-(|-+&-.R-3Y-4!-4r-4w-4y-5]-6Z-8(-8C-9k-9v-:<",
-        "xuan": "!m!x#d$['5)k0R5?7J7d7w9K<G<_HMHNJ8K#L/MQMfPEQ?S<T)U$[;[W]_^&_abRgDi$jkl!q,ratLu?x0yl-#'-&2-)U-)k-0f",
-        "nu": "%a/.?;-)>-+4",
-        "bai": "+&.;3;3M51L^W3b:b_-#k",
-        "gu": "!/$J'B)A*~+P.z010?0u3g75:r:v;Q>K@(AfE)G>GhJ,LSOdOjSeXFYR^h`%a]bxgdgehYi,iXk,nYprpws]wwy.}h-%@-%W-'Y-(Q-+`-/;-0'-2I-3^-5?-6S-7%-9*-9+",
-        "ni": "!h#P*G2m73=i>$>}@pABA{DqLpOLP.Q!XXZt`~d`h.jhmCpnx3}L~X-(e-0,-2J-7`-:+",
-        "ban": "*E2s5!9;>PBgBkQ*QvVKd[iciipPqEwfzx|$-!h-$F-%Z-.n-35",
-        "zhou": "!+#U$x&y062.2@2C3+384:777o8p9:<B>B>o?#B^F@GoI$LfY][a]y^r_4_Manc0gkg{h,i0i<k7m>nCqg~Q-);-)`-)t-*r-+[-0(-3~-6f",
-        "qu": "$L'o(}.2.F/@2U3?4o5#<1<U<~>u?/AxDlG:HhKbM}O[OfOpQdRDRlSkSpT'T:U&WxX!X&X=YeYjZj^tcjcld%d*fqf}g2gWw<zfzu{i|4-)3-)5-*W-+'-,S-.~-1'-1;-3W-4l-6E-6[-7}-7~-8&-8+-8U-8u-9A-:/-:H",
-        "ci": "'=(A)%353a5579ESEUG6L;OsQpS3Yp^saqc.c_dSiYiZiaij}m-&y-'*-+l-,%-/+-3V-5C-5D-7'-:6",
-        "beng": "(l5@657k9iGnO*dtf3jYk2uiygz>-#)",
-        "ga": "g=onsfwH-.A",
-        "dian": "&p'v,j1iIiKRPXdXeVewq!x%|8~@-!E-%3-%4-%z-*g-8Q-:8",
-        "tian": "!:#;'1'H,j4w6D>v@:BRBXGvWmX9atnTr#rFsXx%xM{%{n-!>-!G-'$-3f-5J-5S-8:",
-        "bi": "#L#M'!(w)L*@*C+;.n.o/E/Y0(0)1/1<2r2y4M4m6>7Q8@8};7<,=a>a>r@lA[BlC|E*F.FJG~H:J<JdKHLLPPR!TiUfVhW$W)X^Yh^v`<a!aEaUbMblc/d|e~fPfQi[kBl)l^mjmym{q1truFvQx2z8z9z:zP{B{C|V-#,-#G-#p-&u-'j-(f-)I-*X-+x-,N-.T-/*-0Z-2S-45-4}-5b-5n-8~-9S",
-        "zhao": "#'$K.e00:V;#;?>*>1>2GdYf^ucScxorp<q.t6wL-)8-/G-3&",
-        "shao": "#+*y/r4r6%9>C&CqD^FyHSK}Tjh$la-#&-$)-,Z-/`",
-        "zuo": "(|*S+!+n/,/p4*7{?'D{F^H`HaJ?Th[(nWp||7-&t",
-        "ti": "!g#e')'?)Z)|*v/8285f6|9Y9y:{DXF!KgLIUzV&V'[qd)d2eJemexf~g8jxk=kLo&rDt)xy-%$-%r-*2-+m-,0-,L-,]-,a-/^-0B-2U-4;-4w-4y-5L-5M-5i-6r",
-        "zhan": "$H&b.33*6=9oGQLMN2N`NaOeWyYQZ/]h]l^B`#cghUhgiSl0n|zK~V-%~-&*-&N-&e-'|-*b-*l-.Z-1S-2y-37-60-7=-8i-:h",
-        "he": "&c()*(0z2i3@4?8r<N<ODdFIGFGzJ1R(SMTmV2WOYGYIYw[z^i`x`yaTbtcIloovq0vgzRzU{){X{m}Z-!7-!8-!9-#7-$P-%f-'&-(@-.|-1u-5$-52-58-6?-7#-72-7v-9n-:>-:`",
-        "she": "'y(`BJBKBLJuNpOgP(S5Y>^dagakc'cDg~{!{^-#h-)u-7l",
-        "die": "!g!t&w5M9G<k<l>pB5C6D~PmQ`R@V,V]YU[7_WcbdOdXdreigojNz+-#1-0S-2R-3d",
-        "gou": "/01%2)3g6t:&<h<i<jD>DhO[U#VBWwX;YNY~_(`ob5bgk_pMqHwl}k-#A-#m",
-        "kou": "!P!Z#r$$,P.2/W1OD+K=KFp$-5K",
-        "ning": "$P=R>!DpLevm-,~-64",
-        "yong": "%p&>A]DcIPP=Yre2e]l@mJmio9rHuVyh}n}~-%*-%s-'x-/y-0w-15-2A-2o-5`",
-        "wa": "%K,),?,E,`=N@r@xOyTuW1lc-#W-#^-#t-8w",
-        "ka": "?8U@qV",
-        "bao": ",<.~6h?,DgGYHcK`L4MJN^OJTeUdV4V5Vf`ib*d8q/w%x.zs~>-!6-&x-&|-(9-)/-+j-,M-/7-1~-3/-3A-6Q-9r-:B",
-        "huai": "=7N3N8VDVSeE-:f",
-        "ming": "!C!w#zEDJ'R,WuZ0m^n_q}xT-3.-6L",
-        "hen": "Y|-!y",
-        "quan": "$b%u/K0B5<6$7:9mEqI3NAP|SlXLZ#_)dkeIgzi=o5qxv%xO{#-#_-%M-&$-)V-*3-,e-0L-2^-9}",
-        "tiao": "!~(t),,J,g/!3/4.5F=S?PCdD^H0J@JMJNPnWdZ8Zv_McqdwjCr!rdtyxR-#%-,G-/o-1&-2;-9y-:C",
-        "xing": "!D#Z&$0Y0g6J@YApBFEuF7FhHrP9T#XVX_[_lMluo+pBqZqwrhwZx6|D|S-'V-(/-)p-+D-/5-0D",
-        "kan": "!N$=$g%?'^.QG&T%h8ho{4{q-%)-.+-:R-:X",
-        "lai": "#8#F/X0%2/2MG'H%MSW7Zqaob,c&c4k.mBsgxd-$q-$w-)y-0*-4B-4f-8%",
-        "kua": "50?>B~Z=d9dlq~-+s",
-        "gong": "'91*44474=8o;z>[OBXQXba6bZfzg$gtrG-!z-,T-:L-:Q-:W-:u",
-        "mi": "!s#p$A(w)')w*C1d2b2}3p407c;>;F?bClH{J#K'K/L}N#N6PaU*WZW[WcX1Z.[j[l_g_rjXo4oXoYo_r,z/-!K-66-7X-7Y-7j-82-9&",
-        "an": "!(!.;)?I@XEzGlHWHgJSUxZS[N_d`k`{r1s:x]zy}+~=-!w-!x-$1-(l-/E-4I-4u-6v-8c",
-        "lu": "!)#Q$_%|&L&d'])E)J*}+[+o071X1v2!2#2G2H3I6S8^9q:f?9A,AtBmBzCFCMCND.G@JcJeJtKcM[N<NINVR>SYXh[~aVb|d$dseCf#gxh^h|i/i>iTk5nwpis2sascu8uMumvGw&w+yr|A|t~x-%J-%_-)+-)r-*N-,3-.q-.t-00-1i-1r-1y-3w-4E-4P-6!-6>-6U-7;-7C-7M-7b-8l",
-        "mou": "!|7n:@Oq[[_Ue6t=-#9-3y-8!",
-        "cun": ".N2nA>lS",
-        "lv": "$()(*r+~0`5Z5~6S7_7j9q:*@wA(A8A;HkM,NKV=VZm'rJw#xDz_{T-*u-+*-5a",
-        "zhen": "!X!b!c!}%Y'%)5)T)b+I.A0X264N4w5Y7D7L9,:2=I?%B9H5I5IWJ&LnTpUSWaYKZb^pa2afbWc%g^hZi4iqkOnNoxq$r~s`tOu$u%wJyS|0|_~L-)D-,o-1f-3@-6R-8d",
-        "ce": "/%/U/^/t0G1W36F/H3HPJA",
-        "chai": ")&>HCjEJNzS9T[Xz`jp4wY",
-        "nong": ")v*j+q8C?cAXL,V~]iioipoL-,{-9a",
-        "hou": "#c$t0q3Z<M<UEVHq`MjgltmWq|t@-'T-+r-/B-0C-1O-2!-2,-9Y",
-        "jiong": ",M4~5uB#B&MeMjVIjFjjqi-$}-%h-)6-)X",
-        "tui": "+y=N@tJ^MAM^P?PYQkVL^.eof7jb}D-$n-$o-$r-%m-)l-+u-.L",
-        "nan": "@^G$HOQe[PcEk]}_~'",
-        "xiao": "#+&4&:+i,N.l/q0!0O0c1(1b1u5a9R<;>@AGFyHCKyL2LtNBNMP<RPR^S!S[Y5YzZUZl[ke*jom9r@xh~I-&3-*`-+8-+q-,!-,+-.I-3X-3p-5Q-6W",
-        "bian": "%`&}+8,;/=0S2A2W3W6k6y:$:+B/C4DLHUL{QBV+WTW}[5^/aJbfi^idieifihikiliviwkSl4l5oatPzO-##-#<-0I-0J-2`-3R-5&",
-        "pian": "0l6y:$<I?K@5WX[9_haIaZdtejsq-)O-)v-*(-**-+?-+N-+w-.z-5&",
-        "cu": "1P3)7S?xK)XAZDcjcvd%d*eOehf%fAfBo$-%<-7O-7R-7T-7s-8t",
-        "e": "#3%:%B%Z%y'<(9@bDRF}HXKfO#PBQ)WpY+ZF[?]L^2^___`NgMgii(j8kRkUl%mRpJpjrrt&w*xoyCzn{f|!|3|:-$?-$R-$S-%%-%&-%t-%w-'6-'L-(G-)n-.f-0[-0v-1h-2Y-4&-4<-4=-4z-6o-7$-9[-:3",
-        "guang": "%w?@B#B&EWgwj}r0-89",
-        "ku": "%,&5*D,@,T5:9E>{DoU1UbVTdPllnm-+o-/R-:p",
-        "jun": "&].=/`0<0CFlGCI1O/PeTXWhaeg?m1p^qfr&t'wj|Q}^}l-$j-'8-(J-)m-+F-/]-2?-43-44-47-7U-7^-7d-:Y-:]",
-        "zu": "(x*J+10H4}95GqHbIkYm^kd6eLtdu2u;yk|6-!f",
-        "hun": "!F#O#W#]F6I8JyXT[=_2hczo{d-'>-(L-.C-9J",
-        "su": "';+1+3+],X1U3.324X7K7U:?>,>/@{DWFwJsM+M]MiXWYE[r^o_lcyf(k$khksnZrR-':-*_-+L-/i-1@-5p-6~",
-        "pai": "0'1z1|IOhBjLtV",
-        "biao": "'c,!1D@3A,A1AoJoM=T@UoVa[3]#b?seuZw$ycz#-&&-&+-&5-&D-&E-&F-&H-&O-&W-&X-*~-+@-+W-,;-2j-7Q",
-        "fei": "%[//1!6M9a<A>O>e>r>z>{@GDFGjH$KhP_PuRuUtZp_GaObsvEyP|g~T-!/-!H-!I-&Y-&[-&]-'H-(j-*!-*,-0+-2F-9;",
-        "bei": "&i&r)`0'3f>wA[DfJ9M8PAU'V;ZLZwa1bVgch@iDlbm5mQqWrPv[wd|=-!l-#,-#C-+k-4N-6x",
-        "dao": ")=)H)x+B+K005F8h<B<`B_C7GwR7T4T7Umeqg9iwkYoq|b}=}O-.]-1n",
-        "tan": "'/6D8A:_:eBOBSGtM@TkW(WJZ~]Z]a_R_xa.a>bdm?n~o,oJqQsMx#y8-$x",
-        "chui": "&U0D@8GPsFtny0|n-$u-:_",
-        "kong": "%.&V,/0@;gg,sA-#(-4[",
-        "juan": "!{#2#H5J5V7Z9S:|;=?w@7AaG[K3SfUM^&mTrZras6u0vHy5yXzt}^}l-#'-&k-'.-6m-:w",
-        "luo": "%T&!&='n/>0M2]5>8f9M:n;@@)@UAwF8H9HYJ5N9OrRHS6UvW~X'Z1dbf`g'kAl:uEw>y/yf}s-$f-('-)_-*P-*k-+=-+X-/K-4#-6)",
-        "song": "&P.@===yGOY0Z]^b_?jcu1-$@-%[-'[-)e-,c",
-        "leng": "#>&h++L@eD",
-        "ben": "/&<(DxRuaUblk/sIy&",
-        "cai": "#T677P8aGSK+U>a5b[dxeQob",
-        "ying": "!R$v&C&|(P)c+_2K2^6U7/8`9^:>:X:Y:c=?A:ASDzEAF7F9G0G1H@HAHBHZJKLqMwOmQ0QPQiR0S8SgVPWv[i]M]|adbHc@g:j/m2twv8vky?~_-##-$.-$i-%g-%o-%p-1V-3g-4q-5*-53-5o-5~-67-6C-74-7>",
-        "ruan": "&u(>6^<o@QgQhDi*|(",
-        "chun": "#_0_4L8|>U?sA7C~G3G}HRITJZQgSUb(hKn}o/sL|T-0#-0Q-4i-4~-6{",
-        "ruo": "0P1#DnI}mP-0e-0{-5<",
-        "dang": "!,#s%2'((2/[1f2&CDF3GbKuN(S)UCW&]b^A_kd&kEvWxB{9~A-8[",
-        "huang": "'w+e0f1q7O>=C1F#H|Q@RtSuYv[V[f_Xd,kWt3txu}yI},-$,-'P-*.-0T-1A-2]-5q-86-87",
-        "duan": "${'&.I1`2X6a:#<r@kI/V/fdt.tGyG",
-        "ou": "*$=*@VA*KPM)MG]3^Yu:-3H-5[-6N",
-        "zan": ")},'1A1t1x3`W?^'^?apbCc<d4d5e}n1n7n<smuaubv2v<-((-4C",
-        "za": "%k4^4gAvA|Vpj*q8}r}}~)-$'-.u",
-        "lou": "$(0x1V=+=1C>IMK(QfRI]1a*g3kxu]yN|F~x-#J-+}-,*-5a",
-        "sou": "#v2BC;IQJ(L_M?Qum[o3t~uAyH-&:-&<-&S-'c-(R-*<",
-        "yuan": "!9!f)V.i0F6f7':.;m>CD3DYE?I?I_InLGLdO5PRPzQFQXQrT&TYUiUuV3VF[xa3bYh]iQj=k@kgl8lRnPphs'u(|^-%1-)9-*G-.o-30-3U-4V-5%-54-6K-6]-6}-8s-9!-90-95",
-        "rong": "+Q+S5E7@9C;^>FEFEfF5J/QhQwQxSDVEghthyb-)R",
-        "jiang": "(43u3|5P8:9L:F<>=.A2EaH^ILK.LAQjRM[w]=^W`6ngo>oF|H-#P-%5-12-2_",
-        "bang": "&<'A+%5_749B@uC8IcO!O*OvPt[s_olQlVt^y^-#3-,#",
-        "shan": "#:'m)K)q+W.s7g7}:D;p;r?pALATBaD&DtR}S,TCWjY%[b]r^ObFc?cVd^gGlAn#p!qtvBwRz4z5z;{@|P|X-'q-*J-+V-/l-1C-1D-2s-2y",
-        "que": "&5&E&g'6'7(1(N:P:RI]O6c}z}{*{l{p}a-4Q-6t",
-        "nuo": "+<+u3e3y4&<oU/U0[Y_DelkCt<y#}_~'",
-        "can": "+W1A3ELBO4Q.SjSn]2uJ-&`-'3-*T-+M-8^-8f",
-        "lei": "$X'F'b(,(H(I)7)~2j4h5H7Y8S8Y8j:=:d;t<s>5JiKWL.M4N*N+N7N@SPZ:^(^zhxnoqls?vPvvw:yz~<-!*-$O-$_-%7-%}-1Y-6<-9R",
-        "zao": ",y,~1R3sC#LlMPOC]`d1f4fNk%ktoCwA",
-        "cao": "3m>9C=C[EwJ_R:VbV|n)uc-*D-94",
-        "ao": "!T'Y<Q<V<Z=wC]DBK&R=T]Vy]7]8g]kom9uBuMuNz*}>}I-*S-+S-0~-2b-5X-8{",
-        "cou": "@ThJiK",
-        "chuang": "'_,H,L,q{+{E",
-        "piao": "$+).1D7a:;<RF|LiRCo?{3-%9-&A-&B-&V-*U-+W-.S-1.",
-        "man": "#{$*$c5X7]:<JkJzN)P2R6R]SoVw]>_tmuuCuUye-#!-%;-%y-'i-(Z-,t-,u-1*-2m",
-        "zun": "8':^U5]Pk|qqv+-1B-2u-4n-5|",
-        "deng": "$7'q.M/H1pCCW|`:f9l>mxv6yx}E",
-        "tie": "=VH8OhaPbndXq'qzv>vRx'-&z-'Q-*i",
-        "seng": "-,v",
-        "zhuang": "3:3nF)F]UBUZ",
-        "min": "!B%9&`.}/<1l6O6d:,:wDiSSb'pqs7tEzEzZ{K{S-1$-2n-3P-8q-8r",
-        "sai": "2'@cb6c9-%#-0_-2X",
-        "tai": "0+27>h>yB8BeD]GeLjdIl[nSpfw^-&/-)E-+7-/6-2$",
-        "lan": "17212Q4/8K8i9x;+I<JCL~N$N&VVVxW*W;WDWoX(X4]K^:_{fknxw/wFytz~{h-#Y-%K",
-        "meng": "$/$T$`(?C.CKFgH'IZKONvPgQZRaSFn'n,rKsby<~?~k-!(-!)-%F-(!-,O-/t-08-68-7@-8q-8r-8z",
-        "qiong": "#@#x,+,.,d,|/:/FB{EBM%MBP,P0cWdolFqs",
-        "lie": "5}=]?oEOOzU?csf^j`-&0-,x-.#-/J-1c-3r",
-        "teng": "2>2F7I@sAHM9N?R1Z@[`l1~u-)S-*B-*v-0s-97",
-        "long": "!p$a%n&=(R(S,u.!.6/;1*162N=P>'?6E<MxS^S`W8`4bSffu`w)|B}%}T~y-!1-*t-6@-:J-:O-:P-:V",
-        "rang": ")z+t,$8bMn]s^8^Nfm-.$",
-        "xiong": "?F?GCrY:YiZ4^a^mb'}e",
-        "chong": "*86b;:;|B@CBEhNfQRS$T5V)f!ohqhxZ||",
-        "dui": "&k'O(m5nLb]H]vhsj_v0v9ys{v|j})-$[-3h",
-        "rui": "#h.h6N8+D6E(KUKVKpMWMXO)P~r<rwuqxx",
-        "ke": "#u%T&5&~'B'Q(*(;*<+.,U,r6[9t<7C3DdHFLFOTQ5S}TmZi_Hd:gni.o2psqds/wyxQy)zM-$Z-${-%i-%q-){-+I-+y",
-        "tu": "*)*.*x,6/a@dFNG+GVHsIfcbe&j,jvnjp6porIs!s}wO-(h-)j-4*-49-4T-5!-5O-5z-9M",
-        "nei": "?~@;lNsE-'5-(I-/e-0!",
-        "liu": "&B&d'>'[,A6;9l;1;;</IgJ*MERWUTe|kbs#tctzuHu{xuy[ym~%~j-&>-&@-&C-&U-'b-(W-)M-)c-*@-*d-+T-.9-0m-5=-5_-7.-76-7[",
-        "shou": "6.9h@yC2uA-(_-:s",
-        "ran": "7v>ZDZIFOEOYTST`Tz-,A-,K",
-        "gang": "%.&q/{639!:N:W:x>Ep+s)ttwe",
-        "gua": "506}:z;%>xU<V#Z5[>^|cnedr#rFxM-&'-&1-*9-3k-6c",
-        "zui": "#G)C+15&8d;$KjRdXHi]nInqo!s$s8",
-        "qia": "%{'I?1HyU4dUnU-!{-+z",
-        "mei": "!L!_#)#a({)]+X0h3p;I;T?S?r@PE&FfI@QGTZdMg0mOnlrKtUtZyMyQ~N-#^-.>-.F-5(-7(-8V-8h",
-        "zhun": "+$,56(>UT8YAZ{_Pj.",
-        "du": "#K#b*f.T.^1,>DCsFBR&SZSmUyWqZd^$^D_E`3b%bNc)mMo(sDs|v}yL{!{^-!Y-#V-#s-#u-*E-,,-8]-8k",
-        "kai": "II`7gysvtbt{vCxGxvy@z<{({U-&;",
-        "hua": "%;&K'B3S8/BWD9D:GgIKK[MzR#XKZ&Ze[4[>]A]o_&`0p(p)rbsdunxN-*]-+<-5m-8=",
-        "bie": "FTNFObRmVuf6-19-2l-8|-:[",
-        "pao": "%e(@(O,!?|H>M=TeTfV>dDdTgfq/x.-!N-!o-7Q-7S-7|",
-        "geng": "56575d6m7,9Q;j;u<v=DFVGfavc1m0-%b-+v-/h-25-4j-6|",
-        "shua": "<nZR",
-        "cuo": "#1$z'G79?nFpFtImJ2J}NR[(erk0kzn7o7rEs^t[xqy$-7H-7L",
-        "la": "%_'R<*@>AbArG?HYM3PfQ4Q[SRi_i`l6v|z$-#0-,k-0F",
-        "pou": "0$UO",
-        "tuan": "1H4'V8a%u<-5V-6#",
-        "zuan": "1B2Y808N8U8e:Kb3fjftq)vxw?w~",
-        "keng": "%t&3&RZOr>t1uOxg|&",
-        "gao": "#R#g)4)6)e*m+N+O/v0~3i7E:5;O;TA'B,GILrMHZ[_:m+ryu#xny]-#o-'_-,4-,5-5R-5v-93",
-        "lang": "&7*n/dC(F{IXJ.JHPOQlZEg%lzl~m.rLu&xzz^{]-)h",
-        "weng": "#q:b;}=rJ0L(Qstg-56-7,-9_",
-        "tao": ")?58617A7N9W9kG|PoUhX{Yn[{^MdwhXjPjenzs+|r-!k-!t-#@-#l-#|-&w-'d-'y-)P-)x-9/",
-        "nao": "%z&q'*?a@&@ZAkP6R~YZ]Ju|x@zJ{O-.'",
-        "zang": ";S?_AmAyB$I,K@M#abambLbUb}rC-)A-++-,.",
-        "suan": "(z.b/m0;1BI^nn",
-        "nian": "':*5*P1Y3*C/K6evf5f[h=iCiS-/4-0;-1x-2K-4%-8B",
-        "shuai": "7>:4RNTH",
-        "mang": "!5!6&<&D.ZCvEXEiG4G5M_OvRaSAlDp.rsx:-)g",
-        "rou": "*!2w3X>3?l@aHdQC]tekhEt$-#2-#f-*7-0R-4t",
-        "cen": "+W.m1A",
-        "shuang": "(V7;CPuh}z~b-*M-*y-+^-5c-6A-7B",
-        "po": "%g%i/70I3'7i<,IlK,jLn%n[o1oKotq9uswMwz|=-$K-%a-)7-,N-.E",
-        "a": "@@s@x}|:",
-        "tun": "AYAeC~OlVL`G`IgJ~Z-&h-(0-.j-1q-8J",
-        "hang": ".k/T5*9HBiDHOAT#UAa9j3lJ-$C-%]-.i",
-        "shun": "!x$&$1$9BZKo-$:-%S-,g",
-        "ne": "!vY6^]",
-        "chuo": "'j0^6?8&9bd!e'e<h6iIirisk:narfu;w!-'B-:&-:G",
-        "wai": ".O-%:",
-        "guo": "$Y1K3R68=W=c@6@LA.GJK9N]Q&Q1RVUwV!h7j'kTm=pZszvVxm-'?-(K-(a",
-        "qiang": "%.157p82;G;R;Z;a;g;w@HCEJjKBLDMvPhVd[ndGeuf.tkuPurx~yAyw-50",
-        "pen": "<XHm",
-        "pin": "$V%A(8+w=^LcMaSLa;be-%I-%k-&#-(s-*q",
-        "ha": "4_NyP'QOqdxQ",
-        "o": "/}",
-        "huan": "#.#x4!565b6l8;:(:I;b><EoH#H,I_M<^>`Q`b`va/hpj9k3l/lsn9tCvSyJy{{:{r}i}{-*|-,|-/n-0A-0K-2>-3?-4+-7<",
-        "ken": "&#>8>Y>fUFV$`S`wsh-:?-:E",
-        "chuai": "A0ACeb",
-        "pa": "/b<zBdDrI)Trd7wr",
-        "se": "+b+r,#3688CULD]Ehnr4tauuxVz[{5~2-&I",
-        "re": "Dn",
-        "sun": ".f/L0T1rF<J%L$LNt|}]-&f-&p-5A",
-        "hei": "-8D-8E",
-        "de": "OMsoy(",
-        "kuo": "*Y*_/GH[H]O~r#rFxMz|{k~o-#.-#H-#e-$V-,V-,}",
-        "ceng": ".Lf:-*f",
-        "ca": "(E(Ykq",
-        "zeng": "$~'p.L5z7H7z9n:E;9]DbAc>m|roxk-.6-1K",
-        "nin": "?[",
-        "kun": "#7&H);*s+*5oGEPpUEUJUgV.`wo%sCy*z]zj{Y-)w-,<-,=-,D-0/-2G-4^-5'-6w",
-        "qun": "0<;_;`UVU^e.k&-7U",
-        "ri": "TMp/p;pd-)%-+(",
-        "lve": "+4rgrlxr",
-        "zhui": "&U((.h66729r:'@C@|[!b>c6j_o#s>sQvdy1})}Y-)s-+J-4Z",
-        "sao": "$O7m8<:A:HAdR4-&<-*#-*I-+Q-,:-0l-1R-2a",
-        "en": "J!",
-        "zou": "0&6GG=[)_CcNcOlem@mcn.|h-*H-+1-/w-06-2E-83-:.-:7-:n",
-        "nv": "2h=TSvSxp8wW",
-        "nuan": "-'M",
-        "shuo": "$m&+'$0cIvZaZc_>qttmv~x*",
-        "niu": "4H9.FxpTwq-!`",
-        "rao": "+i8)9FF,KdVvk}}B-'v-(>",
-        "niang": "nuoRoZ",
-        "shui": "#I)7*q*z@1U[ZaZcZg_>_KzG",
-        "nve": "&ONJ",
-        "niao": "@%E>K1T^UGVO-2{-6H",
-        "kuan": ",s,tAqw(-,&-,2",
-        "cuan": ",',Q,s,t,z1)1[fLfsrZw;yv",
-        "te": "?vRgr{xe",
-        "zen": "]V_y",
-        "zei": "S;a_bv-0M-1Q-2+",
-        "zhua": "2(AU-,Y",
-        "shuan": "5<@]z3{?",
-        "zhuai": "#1dmi'",
-        "nou": ";v=,tfv;",
-        "shai": "/Z121J1e2[[K",
-        "sen": "Ve",
-        "run": "$1AOz@zQ{F",
-        "ei": "ZH_@",
-        "gei": "5C9J",
-        "miu": "7n:@]+_w",
-        "neng": "?LR'",
-        "fiao": "WL",
-        "shei": "Zg",
-        "zhei": "j:",
-        "nun": "-84"
-    },
-    "m": {
-        "yi": "-:~-:<-:;-:4-:3-:#-:!-9~-9T-92-8u-8R-8N-8I-8+-8(-7O-7M-74-6l-6c-6L-5z-5)-40-2U-2Q-2>-11-0o-/_-..-,o-,B-,3-+q-+[-+<-)X-(o-(5-'w-'k-'=-'#-&6-$'-!?~=}E}1|x{Zz|zzxix6x.x%wKw,v%uPs_rurorEr8r)pppdpXojoioVnxn<mLm=l1j{jvjkj/j(i^i]i6h6gYg0g)g&g%fbf2f1f0f/etepd~dpd;c~c`c@bhbbbTaE_T_>_,^g]|]{]`]/[!Z=Y5XVVTTgT_T7T1SxSsR~RyR;QwQ0Q!PDP6NbN^N,MZMSLXLIL6L$J9I}IUIIHMG?EaEHE4D!CwCFBkBTBEB9B5@2?Y?K?I>K>H>'=a=R;m:~:48c8!7,5g4q3&2}2Y1j1f1`1M1/1'0t.O.K,_,,*x*f(c'G&.&&%b%Y%G%$$b$6$/#x#T!9",
-        "ding": "-:}-8q-)?-%!vipfkGiydzY2Ik6u+B&^&[%_",
-        "zheng": "-:}-9O-7L-0#{1{,yjuvsRm*lNlIi;eheZe8e4e3d/`x_v]3[+ZSY8Y2XlVFTYT#Q1C@A!4W3w07.),]%*#C",
-        "kao": "-:|n{k][#TbL>>R3p/,",
-        "qiao": "-:|-:(-6A-5v-4=-3(-2[-.@-,2-$H-$5-!q-!=y/y$xkx4rSm+m!k]k%j:iSi(hqbvaT_wVuV6V$T%KgGaF^FKFGEpDSBCBBB;8<2b1C1>.}#e",
-        "yu": "-:|-:p-9^-9P-9J-9H-80-7t-75-6'-5g-5b-5H-4U-3F-2l-20-1F-+K-)O-)+-(J-%a-$p-$K-$9-!7}]}W}5{7zizNzEvyvwv9v3tytjtetcsqsos@rsq|pyp+p%oQn6m%l8kyklk8jfgvguf%eGdWbtb(aLaKa:`1_1^:]e]d]KZOZ!YmXiTDS`SUS7RpQyNvLAKsJKJJJ;IAH|HmHVDVD:D*D#D!CrC[CDC,B*@K=Q<><<<1;h;_:v9G908=7M7I7A535#2{2R1b1:1(0;/q.(.&,1+G+9+7)n)h)F))(+&*%!$M$D$=#V!A!0",
-        "qi": "-:{-:r-9{-9E-9;-99-82-8$-5f-5(-3D-2{-1:-0G-.j-(Y-(A-(.-'v-'C-&%-%m-%I-%F-%E-%:-$D-#N-!Z-!B}$zvyHwbw;w1u~t[tFn;n3n$m~l^kkiBg/dpdTcKb<aBa&`3`2`'_b_)^K]OYRY@X?W1TgT1SkSjS1RxQ4PbO@N]MyMCL]LZKhKOJ~JcJ]J[J>J4GyGJE<E,CyCkCjC<AEABA6@a@7@$?+>W<Y<N;5;49h9*6f4x3D,m+N+8)a)](`'4&V&1%K!C",
-        "shang": "-:z-:t-7k-3C-%S{p{*y:oAo@c8aA`@]}Q^G.BxBZ@P:h9>8l1T",
-        "xia": "-:y-:s-9u-6I-5e-3w-+T-*+-(v-'m-%n-!!}({Mwtwpm/logkeB_3YST)P~M<Jm4X3z2i.L.,,}*C)1%V%J$8",
-        "han": "-:x-8S-7J-3>-1A-/j-/i-*P-*J-(^-&C-&9-$k}[{Xtrrbp,n8lJl%dqbm_c_L]cZ(VLV%T]R_R^QRQQPOK9IJCH@l@^@?=k=Z=?<l8k7X6'3I3@1Z01.g,t**&{!p",
-        "wan": "-:w-:E-5=-/S-.f-+)-+&-&1{0z*x=wlwkv6tJt3ptpen%iGf_f?d[b.b,]1Z9Y|YmY=QOQDQ@Q,NVNNK1J%G9B2@h<m:X7}7<5:3]+&)t)Z%z!n!7",
-        "mo": "-:w-:5-0z-.(-#S-!l~j~b}!yQy#v!r_rMr$qno}o?iji_hR_(^d[cVzVkVjUHTyR$O4M[FrFMC$C#B~?~?o?e8m640`.8,%#m!x",
-        "zhang": "-:v-8k-8]-8L-3=-1byErnkDimiIh}hsfnfmfXey`Q]hYEPRNeFt<y<p8Z8Y,$(V$`#}#u",
-        "san": "-:u-8d-7q-5p-3c-*Q-)m-)l-)k-)j-)ix:iHg#T5AeAdAZ7s/%",
-        "ji": "-:r-:O-:<-9p-99-8x-8w-8'-8$-6t-4W-41-2w-1:-12-10-0*-/l-/^-/W-/#-.d-.^-.0-,9-*z-*`-*U-)d-)P-)0-)#-'6-&c-%s-%d-$V-#x-!{~z|~|f|.zxz?z(z'xlw;v^vJuZuLs$qAp=p;oJnfnEn(l$l#kRjsj0iBhYh!gEf=f<eseMdxdaczbAb*a!_K_)^k^F^C]@ZRYCXHW1V`VBV$UtU^TgT1RnRmRlP]P[PCOAO@O$N9N5K,JNI*HrHhGoGTFfF3ExEXEPE8E'D[BdB:@O@B>y>]=x<`;t;(9.9(857&6{6d5m3D/;.j+?(>(!&8%{%t%4$X$,#H#>#'!w",
-        "bu": "-:q-7F-,M-*w-*t-(d-'K-&D{B{?{6zPtOm#izh'gfd,bi[rY}Y{YfQHM,C>C;C:'=",
-        "fou": "-:q-(cvCBj4H",
-        "mian": "-:o-42-1d-0w-,S-,H-$`tktQsZqpq#aDNWJ^E=D~@p?|;k;,7G/o",
-        "gai": "-:n-9w-6e-+u-+t|'uYm@dy^AW%T`QYNaHZGNGM:M8|'{&6!,",
-        "chou": "-:m-:l-8m-5_-4=-2A-(m~{t/r!iKhld$b3aS_%[_Y%W~N?N=LJJkI|E?B_0h/O.s.p&3&!%l#v!m",
-        "zhuan": "-:k-7o-3G-3+-2y-.I-)n-%+~EzRyPreq<oXoRc0V28t5%)5(f'.",
-        "qie": "-:j-7Q-/`-+P-*@-#uw1u{iCcpbkaia8`fZoOZL]I~>;<`,E%g#(",
-        "ju": "-:j-:?-9m-7n-62-5`-5S-4x-4j-2l-19-0%-.Z-.:-,.-+n-)H-'d-$|{/ztx_uct_tNt$o{nvnqnOnMmqmil`jYj9j7g+e%d<d3d(an`}_E^j];[I[C[;Z^Z@YdY$XMUdUVR3M^M9KxJyI{IzIrHSHDF:EcDPDCC8AqAi?b?L?(>:<g<I;[:o7)4L3o3<30/4/..P.A*e)m%5",
-        "pi": "-:i-8@-7|-7P-2Z-.R-.9-+>-(h-(c-%5-!.-!,~|~X}2|L{2xhvCs<rwnumblFk7hWcibx_U]G[q[eXcUgS+OXN3N2HPB&B%<@8>7*6e4n2x.Q.G,n)Q'(%k%h%@$p#R!U",
-        "shi": "-:h-:g-9q-9l-9N-9M-8t-8_-7R-6k-6]-1X-0m-,^-,:-+_-+6-++-*>-);-()-'{-',-%.-#t-#7-!W-!>{>z|y{x<wQvqunu<r4pbpap[pVpMp*oun~ninhm;m7l0l/kQi{iuiQg!f}f|eCdodTc_c[aU^*[.ZyXYS6RXRUQ{QzQhMWLxLrLlL5HiH[H,ELBiAJ>n=}:{:s:W:5:'9v7C7?6n4=4%28.3.+.#,0)$&3$}",
-        "qiu": "-:f-:^-8m-6#-)u-)9-&+~*|FyTsQl4j2j1cFc&]rWkO%KIHeF8BpAn@s@b?J=o;^:l:k:j2D/T.k+D*'([!P!(",
-        "bing": "-:e-:W-8h-8b-6u-5B-4T-3Y-1;-0a-0[{mp1ngnZhbhah&cm[vY,W5R0QpN/MQLQLLJnJbGXE:@~4E)r%,",
-        "ye": "-:d-9z-9.-9&-4e-2_-0U-)7-(u-'%-$W-#,-!]{:zIxqxdwgoVm$jxjw[hZzZ!YyY;X:X6UhUcUUUSURQUPxP@P?P,OmOkMYMXIQHsHpCXBh>i<o8q7w753l3M2N1H0M0,0)).(T'b$V!a",
-        "cong": "-:c-8f-+r-)K}w}ptPq6eUeTeReJdZcnbUbIa3`^`.PTMxJ`HyG2FgF[D?<G9!8v8L8D8#5V3+1n0H)X(e(a",
-        "dong": "-:b-6R-4n-3,-0`-0P-0>-,u-,G-,/-'I|/{)y&u^tXr*mSm>lKl?eNc3_H^LZhX<QrNILfJGA8A+>L<j:n4#18.0",
-        "si": "-:a-9B-7T-7R-7N-6H-5f-5X-4,-3y-2+-1[-03-*#-)x-)5-'F-#m-!u-!M~)ugtdsJqDoaj.gUd%cHa2VMSDNOMeL{J~I/H!C'@X?O?8?*>^>J=,7[6?1</R",
-        "cheng": "-:`-:%-:$-68-4_-2z-0K-0C-(@{H{A{,zYz#ywu*pSlth%eZb^al`(_v^t^U]A[zZFYPXDWQW,VRVQVFQJQ)N}MnLtJPJ@IyF=F<F9EeETA!?0>e=_=G<8:?7f7d6/05/f*6*2)c%x!'",
-        "diu": "-:_-:[",
-        "liang": "-:]-:Y-9)-5x-5[-5>-5%-1G-0B-&J-%y-%7-$Ly2bWY7Q*KJIwG%<e:_",
-        "you": "-:Z-9#-7w-7=-7'-6X-4;-2*-0t-*p-)f-)c-):-'~-&u-&>~n}bvRuAq=pZo8o6m1lyh[hZh(d]d$c|cqbY`,^xXkTaS4OVM;LAKGK=H{GFD}DJ@8@(?V?>=g;C:b976B/j/i/O.b.D,?,>+Z+Q&g&d%O%!",
-        "yan": "-:X-9d-5]-4]-4O-3;-1u-1Z-1Y-.a-.[-+:-*O-*F-*/-*$-){-)z-'%-&=-&2-%'-$N-$G-!L~~~a~Q~5{GzAydy7xLx@wMw>vPv>uFu@titfrgr?r9qwqfqWpKmhlEl'kuktk0jUjKjJjIjGg<g*f'f&c$a7_5^~^8]w]?Y3Y'XhXPT3R8QZQ.P`P/O}OrJsJ<IFIEI5FeF'E^E.D`D3C_BhBG@,?P>M<V<&;K;D:i:H9R8y8S5O5I56544k4j3u3X3J3B3?3!2~2U1t1E140Q/U,w,g,d*Q*()V'$!3",
-        "sang": "-:V-$J-#}WgK{KzGV",
-        "gun": "-:Ub6JY9W93",
-        "jiu": "-:T-:8-:7-9|-9v-5A-2p-.H-+|-+e-+]-+A-*(-'U-$wvdo(gogdgc`IZ2XkXBXAW9TGRhO#NTM+LsKwFxD;BW@v@Q5$/b+:%X",
-        "ge": "-:S-9Q-8R-7!-6|-59-.O-+l-)(-)$-(e-(D-'4-&Y-&?-#s-#`-#J}6yhfLaO^^^R^=]_ZkX*WHULTML4GsE!CW9l9`/T.f,C+k%Y!,",
-        "ya": "-:R-9>-9<-9:-7m-5K-0W-.$-*H-*G-*A-*?-(s-(H-&n-&'-%;}L}@}9{j{5zbxTuBu3t%q2n,lVlUhKh?[`[ZZZY:XLN'KlIsIFA0A,<r9,8//g.^,[,E+/)}'b%h%J$x$K",
-        "pan": "-:Q-0S-/B-)R|Ys3i1[O[AW]U=MMGu?t>}>k:c9s84684l0$/w&C&/&,!*",
-        "zhong": "-:P-8A-83-7x-4Z-0j-/C-$Tz8ysx$vMvHs^o)i)eqe0dddYS`MKC2@=?G4w2k.T$F!>",
-        "jie": "-:N-8i-8<-5$-4~-4W-4!-3j-2]-/@-/?-/)-,r-,a-*j-*i-(e-&c-%d-%H-$m-$8-#q~zzKz7vevOuit>sasVsCs(qSpIoJnpnln*m|lCkvkbjrjqjgjbhihIeEbr^S^;]_[,YZY+X{XwX?W_UmUOUJS9RINXNJL0KxKoI~I1HqHgHfH8EOB,>j>;:z9b882?/'.6+0)H)8&K&J%g%]%M%##D!~",
-        "feng": "-:M-8:-5L-4N-2Y-0]-0&-0!-/{-/y-%p{Rz9z5w}w9v7odoYl}l|l5W4MkKPI.E[?m?h=S;Y;#:R8e5Z4i3V3*2g1h/1,O)u%C$B",
-        "guan": "-:L-58-1=-0l-*vphb@b?af`LXqW*SRJ+G*D(B2>w<v<W8G5Q0E)W(4'e$_$0#Y",
-        "kuang": "-:L-22-0V-,b-+V-+N-*v-&o}&xNwFm_dJcW^z^y]>RWQkP#L)?N>=0X.X.U",
-        "chuan": "-:K-7o-3G-2t-.K-$]}Tz3jFjDPMIRIDCbA?@i,H+<)7",
-        "chan": "-:J-91-2y-2R-1~-1/-/:-.k-.J-.*-*~-%$-$F-!n~P~@xBszr>q3l>kJkCkBjXh{hpgWdu^r^lXsX+W;VqVhU#S9RYJsJXDEB#=v:^967o7n71655d5B2V1I,#&v&u",
-        "lin": "-:I-9U-2g-0e-00-0/-)v-(l-%PxDlbk,gIgHc=bob)_=_6[MVGS?Q+PGN!FIEmED<U7j7H5h3819+u)S(I'+%o$Z#M#K",
-        "zhuo": "-:H-4t-.`-.<-+#-)X-%U-%T-!G}+y@v,tYeu[BZ,Y~V3UxU[StSHSESBSAS>Q>L#JuJfJ3J,IoGcDh@j=|=h<b<J7%6S5[4}4N3_3#1>.h)e)N",
-        "zhu": "-:G-:B-9]-7d-7G-7?-6Z-.&-,t-,n-#T-!z~4|=xpx3qVq!ploNnWnIl*i>[[[WT&StS;OqO1O0O.N>M#LzLFGWFmF,DhDbD^D0BH?&>Q;b7t7Z6s5x5>4V4A3y2^2@1+0x0?,K*K%B$J",
-        "ba": "-:F-8l-7`-1E-)^-)@-(b-&M-&I|_{[x>wCv0mumIj,fq]o]I]6]#[GZ)O+M'D,5?4R0+.m+@%N#/#!",
-        "dan": "-:D-8~-7{-7H-2r-2J-/V-,,-+G-*~-*{-'f-&2-%C-%B-$v-$F-!m-!b~[vTsjiofTfOfEb$aga>_q_P]4[VXuV@V?UjRiM/BeBSA*@)>r<?7.1I.@+#'O''%f%:$H#`#N!F",
-        "wei": "-:C-8{-7p-7e-7A-4s-4V-4Q-3~-2x-2$-*h-*b-*O-)O-'q-%q-%k-$s-$S-$@~.}o}m}S}7y1xJueu7u$snsUsHoqoQnxn_m9m2lHl7kskZk=jljTiniEi9gme=e:avaPaM`?_JYnYUXbX1VEV1S^PuO5L*JqIOINHkD@?g>c>C=n=$;S;N;0:N:08?837i6R6G5|4]4>4$2]2O2F1]0u02/$.r,[,P,I*~)h);'f&H%!$N#X#U",
-        "jing": "-:A-9C-9+-9'-5r-5%-3A-2O-1N-0K-0C-/9-.~-,y-,k-,[|i|g|cyIvQt:t8t+pojAh|fdfZeeeWb/___NUoT+S&S%Q:Q3PIP0KZJpEvBsBn@I@H>m>%=><87]6#,r,'(^(B(<%($u",
-        "li": "-:@-6_-5u-5k-5Z-3s-2&-1z-08-/Q-/=-.o-.G-.'-.%-,l-,&-*L-*I-*:-*.-*!-)|-)Z-)X-(z-(2-&U-&0-%g-$C~g~`~A~>|`yrxEu+tat#rjqYq,nAmkm5m.lzjag@b]bXbRbB`l^&]q]gWYU@U3TsTlSpP_P>P%O&NmN^MqMSLnLcLYLUK!JoJdJMG1ECDuDjD_D8D.C/C+?k?[?Z=Y=U=/:/8z7@6C6$5H0a0U/>/=/#.z,~,u*V*$)z(t(_'x'u'l'W%R%F$l#P#A!Y",
-        "pie": "-:>rVV]V[PHAD8>",
-        "fu": "-:=-9c-8[-8#-7z-73-5y-5m-5j-5U-46-3v-0d-/|-/J-.R-+h-(=-(6-'[-'S-&E-!s|<|!{]wvwWvVvRuru'tDt,sbr5qJq/pmp3oWmgmFi~ifi7hzh;fwfkeje?c{ct^w]l]J]&]%[Y[QZ+YfV7S}SLS)ORN+M]MGM)M'L1KWJ2IYIPHKA:>~>Y=W<w9c7T4S3d3/0.+2*t*!()&m&b&N&G&@#h!)",
-        "nai": "-::-6v-4iw:vhv)qxq(g6WVV{M$AC;<%`",
-        "wu": "-:9-:1-9D-97-8>-8%-6;-5|-4k-2k-2:-1q-.T-,|-,C-+y-+/-*V-(U-(T-(J-(?-(+-&)-%K-#v}4|^zLykxvvxv4u%tjthsurTownkn9n+lmkzk_j6hFgQfudbd`d@c'b[bZbKat_]^[]e]d]]Z4WGTTS7RoROQENvNtNoM&K#FLCVC=B3@[@Z@S?{>T>*=V;^:,874(3C322*1w/V/A+3*4*3(|(P')$h",
-        "tuo": "-:6-8X-77-6h-6.-'a-'G-%[-%$|Sz;v8sNrRmck'gzet]i]`[H[F[EZMYuV1NgN^MTM8ITI+GbFBF0AvA_@d?`?_?^<k.K",
-        "zhe": "-:6-9[-*K-&L-%9-$o-#T~h{Er^bp`6]H]'W_ViQGQFNgM=JWFwC%=m<E",
-        "ma": "-:5-9Q-3o-(r-&!-$%-#4-#3vUs1rWqNhR[cVzNQH2:2/&.c,4+5(x$[$Z",
-        "me": "-:5~t~j~UhR6I",
-        "yao": "-:5-:,-8;-6D-5@-4?-3_-2q-+m-)&-'7-$b-$2{}zBwUvGu_svs=pro3o,n/m,l,k#j~h^e;e.cqcRa%[oX2WrW@VdV$PkP'NGN#LuI;HBH9G5C!BA:B9J444&1|0f0(.E,;+r*D(~(l%S$%!t",
-        "zhi": "-:2-9Y-6f-5^-5C-4|-4d-44-3y-2,-/}-/0-.U-.+-,v-*e-*>-)C-(W-'v-'8|||{|T|:z~z{yFy@x$v%uNtsrGp&m7l0j+iridiahyh5h3ggf5eYeKe4e3dmdUcU`6`*_$^{^E]Y]F]E[u[HZtZpZ]Y{XvWpWVW2V{VvVtUKUJU>TjSMRwRgQ`Q/NOMyMcM2LqLhL6K~K7JjIuI]I*H+GHF_D|DnCAC6BiAJ@t@O@N?v?T?3>V>3<L<!9e9S9B8}8@7~6>4`1_/9,x,^(R'w'[&3%c%;%7${$z$k$E",
-        "zha": "-:0-48-.N-.=-*C-(w-'X-'?-&K-$j-$O-$Aw/pNd6]s[m[XZdX4WIW#O2M7M1M0LvLlI?H4Fv;X:67u5#4@2N/p&d%.!M!H",
-        "hu": "-:/-:'-9j-9F-5E-0Z-+U-+L-'h-'W-%n-%Z-$_-$4-$1-#>-#2~k}v|;x1x0x,uGt4sEr]r[oxm[iphxfxfgdFd*d)cGa{^V^6^4^3^/^.^,^']y]9[xWWW$SXRFR<OjN(L8I%I$GEGCCR@9@&?f?7=t<.<+;$9E99986Y5s483S2;1a.J,S)b)+']'['I",
-        "fa": "-:.-8!-6y-3Z-0R-)]|A{vy)uwm4fKL@FO?X?:=z5R*[)L%8#.#+",
-        "le": "-:,-9R-8r-,J-)2-#1d}]qH`G5@z??/b+A",
-        "yue": "-:,-1g-1e-1`-/P-&j-&@-%A-!DvAqrn1m^jec,bubS^]]g]8Y_U@OpOoOWN8LcH`G5FTDj?'5e0J+*",
-        "lao": "-:,-6~-3!-,j-,i-,>-'$-&N-%z-#p-!}uSr`ljk/cY_f_eYtVZO:L=G5F!=O='8%7a3{/^./*<$f#c",
-        "yin": "-:+-7}-6^-0t-0;-*c-(j-(V-%o-$d-!T-!+~l~+~$}`}$|&{w{YzXz:w_u=t0t&p:n}lnlLl<jdg^g>fya@`i`B_u_t_0SMO[L:KKEkE@E1DKCwC_BYBGA5>l>d>U<5;~:}:i9}9V6^6]4).],|,j*I(U$7#k#_#:",
-        "ping": "-:*-5i-0]-/z-/s-'u|Qz1u/ngnZmTi[iJi4heh&`0_zMfEU?6>6=A<D3)*v'F';&_",
-        "pang": "-:)-*B-#ww}r|o2h9h*ere<S2@<?y9p4i",
-        "guai": "-:&-)_wVcuc>[KMbLw",
-        "sheng": "-:%-:$-4H-.X-.Q-,?-+0-(9}=x{x7u*k}_VS[RGQJQIOeMuIyG~E{BzBF?%;k;@:q7G2u/M.N*h)i&y&s&`!'",
-        "hao": "-:!-65-3k-2)-)6-'j-&_-#k-!t-!Y-!#~xxRvacOblRDR'QBPePaPWP7J!A~Ao=]<Q9j9U7S6c5N5@,/,)+}!y!q!h!f!c!_",
-        "mie": "-9}-),-':-&Hq7hk^uWeDr9m64504!",
-        "nie": "-9}-%*-#e-!O~m~D~5~2}#q'q&mFkTjujLivZ&YVY5X[WCVsT|T<MVG@DW=@:Z%+",
-        "xi": "-9y-6&-5l-3i-3#-1B-0,-+?-+*-*n-*R-(P-'x-'>-'6-&/-%]-$X-$:-!p-![~T~8y?xWwnw'tgs;rCr@nsncn`nRnHkgk9jpj`jZiqiOeceOe9djd_dEcscgcZcKc/bqbeb8ay`r`p_s_r^V^6^4^3]_]O]HW%R:QKQ9Q6PEOzNON)MdLZKSIdIGG{GUFkFRE|EjCzCuCmCMCJA4@e>X>S=f<[;i:+9h9)8p8/8,7N3e3R3K343&2Y2+2)2%1q1P1O1N0}0P/E/?/*.{.t.#+p*r)|(#'h$1!k",
-        "xiang": "-9x-9,-9(-6}-3*-1}-,4-,$-*0-(x-&r-%L~Ww~uXk5j)h7gqe'abQXP5LWH^F1DH;!8:*E'g'T",
-        "shu": "-9s-61-5g-55-54-1|-1F-)Y-'3yNyGu[tGq4oNoCnWnIg}gxdWchcgcIbt^X].Z.Z#Y>WBU9T'S|PvPtP*OhO1O0O.N[NBMtL`JtFuFYEpBuBKAaA`?c<O8[8H7m7Z6m5q3Q1k)f(i('%h%e%d#O",
-        "dou": "-9r-61-1T-1P-(~-(N-&&-%|])S]SPN&J}EwAm=d;n6<.$$v",
-        "nang": "-9o-1s~d~;~1_QWwU{TkOwD+<n5b5;",
-        "jia": "-9n-8<-7Q-6w-4X-3X-2]-,}-)S-&?-&4-#F|}{MwIwDsrs,pvpImei,e[eBd^cA^J^G]L[d[Z[,ZWZ8UhSYSVM`M_K/ILHNH:G^ENAz?H>&=L/3,E,B*n*d&f%0$8",
-        "mao": "-9k-1,-1(-0|-0z-*dzLwksLmOkzi?a=_?^(S/QvPrN4M@I'B!AcAW?9;F/Y/#,J)E#$",
-        "mai": "-9i-7I-,{-,*-*}-#${Kx5",
-        "luan": "-9h-9Y-9V-*^}C}Bvmu0qXq:q$m)jOZ[TvOuL2D69K5J59#4#3",
-        "ru": "-9f-6K-2C-1K-(N-#{-!$vkv[s7qyq)jciX]kZgUTP+NzL(E0@W>7;Q9u6b+^",
-        "xue": "-9e-.x-(Q-!9|Bxbq>q+mmmMjzf=ckT/SlKvFc?!>u9j7>5y1&.B%L%<",
-        "sha": "-9b-4c-3?-2H-/,-.t-*+-%t-%^-%H-%4-$R-$0iCgkZEZDW<N{NrK`H?FlCaC3BDAl?w6{2P,v$g",
-        "na": "-9a-1*-*|-(R-(8-&T-#_v=tx]0[LZxZgYWWL",
-        "qian": "-9`-9Z-9W-8T-8B-7l-7(-5q-4w-4^-3g-31-2<-/r-/[-.u-+4-)}-&4-#u}/}.zaySy4xZvgt7seqtq`q5n'n!k{kVdObgbLaN`f`<]Z]N[J[1ZCYLY=Y!X7WSVgVbVUU,U+U)O_NwJ_IbH3GiGPF%E7DzD'C~CeCZC7@]@M>$<%81806O5S4B2Z/J/B/2+%!l",
-        "suo": "-9_-9=-3]-&8-%x-$&-#j-#gu&s(as^$ZEZDW:PjKaJz:E9y+|)w)v)!(]",
-        "gan": "-9Z-8S-7J-5&-0=-/u-'c|Ro'o%o#o!hfh_dqa5U~T]T6R_NuMDKLH6FNEd@??;<:8f7_7/55+;*w'#%?!T",
-        "gui": "-9X-6q-3{-/(-/&-.7-.5-+Q-+J-+I-+F-*%}3{zv2u;s?rhrIp|k$jpj`iLhLh,gmf;cMVxVVTiThRCQ2O%M9L.KeIeI`GTGAG<G;FWEQE)DXDQC*@v;;:H4t,Q*A(r(D'q#X#0!|",
-        "jue": "-9S-50-3f-0X-/R-.?-+@-*,-)X-(Q-!a-!R-!9~I{PxbvAqRqQnLnJlPl@k$j}fmf>_k_Z^b]7Z`Y~Y9V^V;TnSgKTF7F6D[CvAG@:?!5P2|1d1>0S0G000/+z+M+)+'*](n(G%L$3",
-        "liao": "-9R-2|-!rrLovomo<o5o4nKkLk+k*g]gG`/_^W9VaV9S{SZPLO~FxFA8Q8%4f1;0V0R+q(H%[#g",
-        "er": "-9L-6v-6T-1r-1a-1_-/1-'B-%hoHoGoFmAg$f~NiLCLBK6FaAt>[>90%*F",
-        "chu": "-9K-5N-3d-3R-2K-2!-0$-/m-/Y-/I-,t-*)-!o{$x!s>n5hjgXcj`g_SWxW$VoTNS=NEIjI&HoHQF|E}EsESE#DsDdCzCG?@9r9q6x4N/+*+(,&;",
-        "kui": "-9I-3{-/4-+I-+F-$U-$;-!xwow4s/rBo*mQjVjHb]a.a,_y^BXgQdPyI2I0E&BV:S7x2l.q!/",
-        "yun": "-9G-7r-3q-1p-+}-+x-(0-&^-$^}xwEvsvEqOb}aca4a)`c]2[yRNQTP}MwHWF@BmBaA&A%@0=3=!:!7W2h2:202(2$1b.Y+(&P",
-        "sui": "-9A-5#-&F-#U{3wytvr1nwn4kpRqEWC1C0Ab=H9[7+6z5}2C1g0~(/'p",
-        "gen": "-9@-9?-&pX=X'L7",
-        "xie": "-9=-9!-7[-4J-4A-4/-39-1{-0s-0c-,w-,+-+'-+!-*k-*Z-)7-$(-!C~e{ry_wrw8w1u)sOq]opnenVnNm$jrgJeFcT`z`p_BZ~ZWZ8X9WnWMV*UiUFT}SWRePXMZLIK@JwI,HOH?H/FlC]?K>p>A;P9h7B695{5!4Q4P3b3E2,0w0s0O,C+k+e)8",
-        "zhai": "-9;-6B-4f-4*-3E-*K-*C-&c~zw{p{os[u[2YxW/UwU>SiSfH#EL#t",
-        "tou": "-98-4'-4&{$wNv'sqs@aK]*T0SQ",
-        "wang": "-97-8v-87-1JvYo7o1o0o/eoeiefe[dldJa}]>RTQ(OEODO=N1JD@J6;+E",
-        "kang": "-96-8)-+X}|rmkKg|dG`8]f](G=8_4d.a",
-        "da": "-95-.N-+f-'f-'R-&m-#~-!J{hxrw[v*d'ag_q]nWZVJ@f?}:<4Y0p&@&4$#",
-        "jiao": "-94-6n-6D-2q-2j-2I-.B-.6-,6-)B-(<-$H-#M-#K-#?-#(-!^-!=~IuUu1r=r6qcm+m(k1k%k!e.e+cJbl_~_i_KZjZTZ5X&W9VlVCV(ToTJT?T,SwSuSgSSQbPgP2LOIpG!>!:l:k9Y8w8<7b5[5C443,2b1>1*.9+l*X(5#e!v!^!V",
-        "hai": "-93-'V-'0-$#-#h~ey]vOq;pL[!A3=N3[,C",
-        "heng": "-90-&B-%QuJcXcLbaVKL/FiF&<|42*B",
-        "peng": "-90-5,-3J-.F-+o-!~zgyqyYfUe|cyc+`%[tZ?Z6YkXpWvW4OTKCJLIlIWGGFn?6<R<D8e8]7Y3Z1h$a!u",
-        "mu": "-9/-8H-/~-,=|Ey9usuSu%m<i&i!`[`Z[TPVPUO7O'I(FrFqB1AwApAX@#4h/a/_/X/L.S&U&Q&E&:&9&(",
-        "ting": "-9*-68-60-4C-*M-*7-(]}>t}sxk~hVhJh)gBg?g;dzZ<K]KHH~H(@u=6;]6u453`3^*.&^&[",
-        "qin": "-9%-64-1^-,8-(g-(f-&#-#f-!Q|w{Fshs.p.p(o~oyogkmkVk2k)hOgbdO`C_G_F]N]5YlX,X$V/UlS@R=J|E`Cg@3:$7'6(*J)R)M#l",
-        "qing": "-9%-4b-3<-2(-0A-.b-,O-*S-%1}V{1wfp7hQgwgeb4`9YLUpUoQ5PsJ'G/EME/DcBnBFA7A.A(<';w;B916X&x",
-        "bo": "-9$-8Q-7`-73-6,-2v-2f-.e-.]-,Y-*y-*w-&M-%#-!h~oxbq*k3ibeu`s^|[3ZJWyV=V5UgUfMFM'KYHKEVEUDFBj?E?,=e;};W:L2//l.?,9*q'`'^#2#1!Y!8",
-        "lian": "-8}-34-.;-+E-+D-#V-!XzUwAvusMrKr/iegjd&cS`F_{^fW.T=SrJhI#GiGSE7DfCHBlBP=%;6:C8j8A777$6p5p5l4<2f1y0z)x)3(X",
-        "duo": "-8|-8X-02-/2-/$-.c-.V-'`-&y-&e-$O~}~S{|{{z}z]xzxywiwhwHvtvlsNo+lOh1ae_oZrZqYJTET>T8T.O)O(NfN^MrMTMSM&KuIRAh?`?^&D$i",
-        "men": "-8{-8G-53d8bcbCaz_9_&]VYgS^PZIh@>3=1,+((W",
-        "ren": "-8z-8y-8s-8U-8F-88-/d-/cx;vSu`n:n2d|dwdv]XO,NiLPLMK6J7/]",
-        "shen": "-8t-7V-6i-6/-5d-1Q-)l-)k-)j-)i-(V-'i-&}z^u|u>ttsys.qmp_pHorn7lui(fp`t`b]b]4WPTFR4P9P3M:J7J(IHHRA9@+=D<0</;f;e9?671?*g&~&w&q&e$G#{",
-        "ze": "-8p-6B-4*-/M-.{-'X-%d-%2-%.-#9rcl:iAi#hU[~[2Z$UwRKR7G)C.@q?n?A>n:(9U7C5[!e",
-        "jin": "-8o-8j-8d-7}-6<-35-2^-2=-01-,y-,k-,[-*X-*'-%o-!F~y{Fzkz6y<xPvFt7rfr9q~p(nyj'j!gbb+`CWfSOQaQ_N7HEG8CTB[>E=q=M:I9$6~6g3h2M0i*Y)y)K(z(d(@(*",
-        "pu": "-8n-3$-+k-!S}^}O}<{BzPy(]p[rY{V0UvTeTdQ;PiPPP&O*M,FZE_AS=`:17k6T614r3a+v(C$m",
-        "reng": "-8g]m",
-        "zong": "-8f-5:-4y-43-3KzFpikxkrkNeJcdaraVY^XXX(W&Q|O>MxJQIKG28L8D8#3+1n1c0{,b,R%E#w",
-        "fo": "-8e-8;-73|IJl",
-        "lun": "-8c-7i-6S-4u}l}Y{.t*lSlRb9[{YMJa?j<6:3",
-        "cang": "-8a-89-7h-5;-3e-07-+OkeD<?i9n6J,**{(p",
-        "zi": "-8`-4m-17-.h-)%-(W-'t-'r-';-%@-#r-#cupuoudu9qTqNqMqHq1q.l;k[c;NnLKK8InH=Ez?s>W<];o:Y9g9_8a7;/G+J(!&Y&7",
-        "zai": "-8`-3V-2G-1!-&v}8pOl.]j]>L3>f;>:.4|4{3~&Y&7",
-        "ta": "-8^-6E-3^-#~-!&~Kz$yyy6vep}lc[HZXW`V&HCG}EqA[?}<c:<9w8^7(6w/`.3+d+V",
-        "xian": "-8Z-8Y-7b-7,-30-2m-2d-2b-1i-0O-)o-'c-'E-'*-&O-&2-%6-#u-#:{`{!ycxXv`v&uKu>u.t`tZs~r~rOrNr9q`pUo;o:nBmylxlhjthhgCfhf+dI_a_X_R_'ZPYQXsWnWiVhVXVSU6U'QlQNPKNFMhGiFFEtDRC~ArA@>S=E=7:]:C7Q6*574*0l.=,s,G+f+c+U+O*|*s*T*,'3$c#b#Z",
-        "cha": "-8X-6Q-4D-/,-.t-)e-$A-$$~s{yvbu?o|m}kqj3]a]OZ7Z.XZX5WJW1NsM0LvK?I?GjEB@k,<%s",
-        "hong": "-8W-)w-).-(X-(K-(;-&{-%}-$)~i{kvXu6pqpjn=j[fvfBa*``XeVNQ[@E?y?<>@=b=S;J;B:R8J7U5(3|31+>+4'T",
-        "tong": "-8V-7/-6R-4Z-2h-,/-(}-&|-#Z}o|/mNm>m3h:f(c%`P`)Z1Q]P<O<K|KUG+F+AV=P7l4C4#18.~.0+s%%$s",
-        "dai": "-8P-6G-3W-)g-(B-(4|3{(w[m`ikiViMiFg[edd!_/^1PAMJJCC)ByB+5c,2*y)?'!",
-        "ling": "-8O-7X-0?-/D-)G-(#}h|>wwuqtKqdmdmVlQjhekY<R)OQMRJeJ5DND)?/<77=5'4O0v0=.I*z){'H!z",
-        "chao": "-8M-8D-.B-.6-,6-(S-!yjQj?j>ffd9]<VlQiOBGFG!C{9+7z4g303#22/v",
-        "chang": "-8L-8J-7j-5D-5+-5!-3|-2~-26-1b-*P-)~-%i-#8~v}%z=yZtWrdo=iDgReLd>bDaxT:RBQtPcIiAT<T<P2t,`+6)^)4(h'B&z&R%w",
-        "sa": "-8K-+2W<VPU:Dw?'>X7s5L",
-        "fan": "-8E-0)-0(-0'-,1-+R-)a-!hy%v_tDr;r:iwhwdi_h]l[ARvRtNpMLKXJrJAG,FD@w@g?4955t5_3n2E15.l.[(A&O&/&,!.",
-        "miao": "-8D-,m-)v-$?vDscrPh>gtgSX^NP<#;A+K",
-        "yang": "-8C-7<-6{-3[-15-,f-,@-*g-'Z|J{xwTukswmrl6l3e`d4cEaA`m^}]T[lXRU<T*RVR2PmNRMHL9I7HvG`FpB|A=A2A'>z>`8N6A4y4D4.2B+6*O)4%Q$|$@#F",
-        "ang": "-8C-*gn.RLQoN0!5",
-        "wo": "-8?-4s-4L-*l-(/-'&-%q-$atCtBsfi8^TZYYbYSXKV#SRN8I>@1=#<m<h;V;U7!6`3.,N'|",
-        "jian": "-8=-6J-5W-5P-4g-4:-3g-2s-2i-2L-14-0L-0<-.q-._-.W-.P-.4-.3-./-.,~6~'|bzmzaz2xovfuRuQp4oDiHhcg8fNfHeDaq^Z^Q^<^9[8Z>YqXmXjX7WmV!UGU'R{PpO_MoM(LEK3JgIfIJICI)HEG]FhFCEKE2DLC&BMBLA]>a>$<z;l;a;&;%:Q8T7P6H625k5f5a2a1l1Q/u/Q/2,g+%*W)<)6!2",
-        "fen": "-86-3}-2n-/a-(`|v|q|]xuw7vpv;n&ithog,dDa0_gR>OYOSN.K&J*J)F)A>@66}5i4v391=16+{+.",
-        "bin": "-86-3S-2EpAe}W?UNShJnImGXE:B^BO@r9I6q6Q6M6,+.(j((",
-        "di": "-85-7@-5a-4F-3:-*D-'}-&t-&$-%R-%&-#O-!(}0|h|d|@{Q{L{8zMyFy;x|w?tqsmrimUkIjoi`hBg:fofjeld#`7]g[g[=YFX]XGW2TLT!R[NfN(MrM3KAK:JCHiG7AI=g<};T9f9=3F/K.V+=*5'1%c##",
-        "fang": "-84-4}-+^|r{Qzcv5er^%TZS:S(RER6N/@<<M/Z'P",
-        "pei": "-81-7$-5o-'lzyvZvCuCtOs_k7iid7[eU5S5S,M'LyJUAj?u=F<@.`*=)d",
-        "diao": "-8/-0@-/f-/G-)1-)!w$njfzfYe~]gYHI|@m)U#p!?",
-        "dun": "-8.-(a-!2}}|sy!x~x}hNdPb2_mVYV.T2HnF>@'8*4c1@/!+m",
-        "wen": "-8,-/X-(M-(C-(&-%Jy`vNf)dfde]:X.WRSmQsKNHWH)C$B`@>;z;R:*4s+1*8(}(&$;$.",
-        "xin": "-8*-7f-5d-5G-!3-!0~%v<r,qFgTe$e#dHawa>SCR9N@N%D$C^4a3$",
-        "ai": "-8&-2W-09-)h-'!-&q-&5-%Y-$'-#]-#E-!;{SzIyfxUtgtUrxr'kaa9_7_,ZNYaT&T$QqP^P.CxClB.:%9t6U3.03(k(;#]!s!j!]",
-        "xiu": "-7~-5c-5V-''-$/~|p@mfmPh2N~G09~9F8I4+*P*#(N",
-        "xu": "-7~-7Y-6Y-6!-49-0x-,F-,E-*Y-)T-)+-'p-$e-$Q-#7-!o-!W}7{Wy,x+v&uxspsArFhHeXckcKc:b(`g^YY4XMTKT@RbRZR!QcP{O^OOLGI9GfC|CtCiCOCKBw@5@4>?=t<>;+;):P9r998W8B433W2H0m+t*N*?&;%T",
-        "tang": "-7y-5+-4M-3l-3U-1v-.2-&.-${-#.|XzpyukdilaA^cW^V~OsJFH%F{F<@P<T:h:G8n5D3i23100A(u",
-        "huo": "-7v-6r-5T-.Y-.1-(p-'W-'D-$e-!%~V~Fw^vouWf.f,b'^OZ/Y4UPU4RkO|E9@%>/:f8U6y6Y6+525127+_#@",
-        "hui": "-7u-7#-2u-1{-+H-+.-'/-&j-$[-#=-!f-!U-!D~p~,~&}u}Fz]xztEsgr7q]onn?n>i*gmg7g5f6f4f3e,e*cDcCc<c(bfau`H_x^sZ|ZQX>VEQSQCP|PQO]KeIOI3GRF4EiEZEQDqBVB>B=B7@n?D>h>g=y;+:S9X897x796y6:5,5)3t3q3k2h0y0q+h*9)G(=(2$~$)",
-        "kuai": "-7u-6@-2M-/p-&f-!8}:|ez&y'jEgMdXUkRrO]Cq=y79.*+g(2",
-        "cui": "-7s-5?-3N-04-%I-%>y8lYlWkhdSbE`TV|IxH*GHAg<48P6a331g)p(b%I$L!d",
-        "che": "-7n-5`-4I-,%-'y-&*|?vln|nGene/]QY.XcVsV>V<7`3r3b3E0C",
-        "chen": "-7h-4_-3e-2'-#|~ZyWyAw]pGoBdRa>[aY]THS~QAP$L[K_K'J(HUG3D]@+@*2n05)l%P$?$$",
-        "xun": "-7g-6O-4.-,Q-,A-,)-,(-+5-'3-!k-!P~u|y{=yixYxAw#uHqKq9o`oOmEj@j&j#g=ebe>c]`uXUTfRcP(NqL_KbF`BvB@Au@Y>5=r=l8+7y6V583O2h1{1D130j0Y0Q.5+b*H(L&T",
-        "chi": "-7c-7M-6b-6P-5E-3@-,W-,K-+_-*]-)<-)3-))-(:-&W-$z-$I-#l-!g-!=|@|)yLw/vBs6n|fsf$eweve6cBc9`X`7_|_2]`[f[!ZvZ/W+TxTCSNNcMPM3G1ChC6C4BX@T?Y;:8g4~4;3U1K.O'A$Y$U$E$2#G",
-        "xuan": "-7b-2N-/.-)o-)'-'(-$Y-$Mz)wsv&sWrqr.p]f[cobMaQaI_I^nX_SyS'RAR,QeQ$Q#PNK@HxHwEf?#;I8d4M3x2e+L*s*)*&)B(Z'~%/#E#<",
-        "nu": "-7a-3r-,svjq?ilfed1Wo",
-        "bai": "-7`-6z-(1-&:hJ[?[>ZwYeX}WAUfUCTAMFLN,n'D#*#)",
-        "gu": "-7_-3T-2e-0F-)I-'s-'N-&<-&;-%G-#y-#@}gzfx#uhrUq@o&lXl=j5j4d*`~]_]9TSNaM.K<JIHFGzF$D{B<@K?R?=<X6P6./P/@$Q!L!G",
-        "ni": "-7^-7]-7.-4v-2>-27-+8-(%|Nzsznv/v)t<rkqkq0nznbnEcvb5`{_,]0[i[<Y5UQS$QuQ7PSMPJ&E6@y?)<=9x6o.F,l%b",
-        "ban": "-7Z-.!-+,|z|Yutn0d2]R]M[OW]W[T[ScSbRJOSN;MM:c/x*>'Y'R$*#[",
-        "zhou": "-7W-6M-2X-0{-'|-'z-'Q-'5-%X-$i-!G~{v.t/pgjCiceIY%QnQLQ<I|>8<S494'*S'9%W!R!I",
-        "qu": "-7U-7E-7+-/H-,q-+S-+=-+7-)t-)s-)W-'e|Vt^nnm{m]k?e%`&^0[^SzSIOnOOD=D4CzAL>)<3;[5U3G2o0D(K(8#9",
-        "ci": "-7T-7B-6m-47-17-/+-/'-'t-'r-%@|*q}j3h<`hN|MILHD&C??56Z*p*k'E'6%=!{",
-        "beng": "-7S-#w-#+{R{#zgyXw!lBkYX0>v)d)[',&k&j$a",
-        "ga": "-7Q-'M-#A-#/-!4wIwDoEo>o.RaOM+C",
-        "dian": "-7K-7:-3m-18-**~M|P{lyBxfw6v~t6t!kXj]jNjMh@ao^!YOTrTWT9I_GqG_FPF5B?<a9k764?*u)s&c&`%1$W$$#L#=#6",
-        "tian": "-7K-56-1>-(7-%`ylybwYvit=nodgc2b:Y#WPQ?LSB{?U<A<$;2)g(q(.&}&|&h&`&L&F$W",
-        "bi": "-7D-78-73-5F-45-+c-(h-']-&k-%?-#Y|jzVxgwLvnv:u}twt1r3qonrlFi|huhthPgLg'fRfQfJeme!crciaJaF[YT;SqS+OXO!MUM!K;I<HPB)B(B'B$A|Af?x?C:u9Z9D7q6e2`1p.%+y+x*`(:&W&V&G&5%^%H$T$S#'!o",
-        "zhao": "-7C-1k-)A-%X-%T-!y|#v+j*]B[@S!Q}P8OBM{J,E*?S6S4T2G0r0:09.7(m!F",
-        "shao": "-7C-,p-+~-*a-)A-&Vu,oIf^Z'R|NhM?K(7v3m2s17*m",
-        "zuo": "-7>-72-66-4E-'L-&,-#!|lmtmsj;h0d6YTV4R%M7M&)e",
-        "ti": "-7;-5N-5'-4R-/!-.n-*;-%H-$y-$3~w~rw?smsPnmnYnVl2foeCe6bnbjb#b!aU^)ZHY*X]XGU>OaONL$JxJCCQB]=0;T8O*5)A'r",
-        "zhan": "-7:-4>-2y-*s-!IrQnamRl>l)kCkBk.j|d+b0^M^?^5W|SJSGS0RsMjLiL<KmJ?HLFCDEAyAQAO?Q:|)q!F!4!$",
-        "he": "-79-,_-)$-(v-(/-'o-'Y-'W-'&-&R-%<-$Y-$W-$1-#d-!c-!!|,xVuyp6mJb&[jTROiOZMNL8I@CsA^?]<i;M7R3P2m2'2&0k0e.8,C#^!W!<!:!6!1!,",
-        "she": "-76-*E-*9w/v|oVfP`_`;^h]'ZyZbYjX:WEWCT|EEDACJ?@=<<f;s9Q5Y,W&*&)&$",
-        "die": "-74-)M-'>-&t-%H-$j{szSmDl/kIi3c}cPa`^IZbX:QwP!M2HsGUBcAK?I0*/}/n'_&#%q%j%i",
-        "gou": "-71-3p-0y-+z-)H-'p-%W|C{uwdwcuTs0mnfM[CX%VcN6M^Gm?q:925.C*o%2",
-        "kou": "-71-0f-.C-,g-)J-)DpCp8fId3]^[|VpTV9@",
-        "ning": "-70-6>-4a-29-0.-'H-!)r%q!p2p)p'p!ot[4UMM5F/E5?17J6k.<+a&i",
-        "yong": "-7*-5t-3M-,U-,T-'T-$t-$+-!:{Oz!yCxcrlkUg{gAe{ceb{bzapaC`w`n`:[6XTU}M4LaGQ@}>x=9:p947:5T/{/i&p&l%)#S#8",
-        "wa": "-7)-/n-,e-(/-'P-'&-&x-%h-%A-#y-#nu5tbt3sGnCije[ZaWUTq>.:;8h'V'D'>&A",
-        "ka": "-7&-*r-'O-'M-'4-$u{g",
-        "bao": "-7%-5h-21-/>-.e-.]-,!-+{-+s~ozPzOz@sBqBpcpMp$ohoee&d:[w[kPPP1P&M]614J2<0_.u.h*G",
-        "huai": "-7#-',|mx^xIe_dC_:^oGhDX<25z",
-        "ming": "-6x-0g-06-(|-'guEs&`aXxR@PhOFH<>0:7,8",
-        "hen": "-6s-&p-!3eac6[0.:$y",
-        "quan": "-6p-1H-/.-.#-,5-,#-%%}X}Q{4w5u:t;q[m?jRf`c0b_b%['Y`WKNxJ:I[H_GLFjD>?F>F:a5841/I/H/7.o.n.m.O)2&I%'",
-        "tiao": "-6o-%Xr#pWmjmWh4cRZfSQRdQjOLO'NYK.Fo",
-        "xing": "-6j-5.-1<-/U-&g|0{auft{t5qljAh`f*cxb>aZUYR/P4Nl>Z<u9d2d.N,L)@![",
-        "kan": "-6g-4G-0r-/r-/]-,D|n{!zGyDlkl)k{b7^D]ELRG]E2CeCc",
-        "lai": "-6d-5Y-5<-%_u!t2lil_h$eSeHU2NUJiJ0DT=&<)6r5v5r,i)k%R#P#J#?",
-        "kua": "-6a-'.{iwJuGcGZiQcI:",
-        "gong": "-6`-6N-1D-1?-,~-+g-+d-)w-%}-$)yepTpQj<j8i2g4f{c1a*``[)[(T^N`L?@V7U1u*R",
-        "mi": "-6[-0v-0n-0b-'9-#'yzqZpmpDp9m6i:i.hrfifafAcb^dVnU_TyTON2HIG$E6E+@L?{?Z?C>G<9;H9<8o6o6l5n5G1z0B,a+T'h",
-        "an": "-6W-5J-4<-2D-*P-*J-')-%e-$x{b{&z_sYpwn@n8mXm:hXg~ZnXNQ.PnL'L&A1>M.g*w$V",
-        "lu": "-6V-33-1C-.H-,N-,<-*q-*o-!N~q~_};|G|5yVyUxMtVmChGgZgFf9f8^7XzW)V)UzUAU/O{MpLeJ#G&FyEuDvDaARAM>s<K<;;p9:9'8.7L6@6)4p1m0T+W+H)Y(Q()'m&n!%",
-        "mou": "-6U-,c-)x-($-&azLcVTTMEKs/a",
-        "cun": "-6J-/Z-(~x'qLocdn[%Nj7^!O",
-        "lv": "-6F-63-4#-38-23-,'-*x-(t-(F-&G|+nTnSnPl(e^`A`5ZcZ*YwS.K*HTDsDoAYA)9M6D3A0]+I",
-        "zhen": "-6C-67-4)},ygybuMs*p5ndiUiRi<fc[nZlZGXWWOSTR*OJN$MhLVKjK_IHHuHLHAG_FVBb=~:y:$8$72,+*_*^({(q'8&Z&<%9",
-        "ce": "-6B-4*-1%-1#-*=-*2wZgrc!aY_jZ}TQLl={;O&8",
-        "chai": "-6?-2@-$h~?j3[UL}.i$'",
-        "nong": "-6=-2S-0p-&b-!Eg.ZmZAElDG=s7#0o#W",
-        "hou": "-6:-5*-*8-({-(L-(K-'p-$l|%zQi=e]>b._,A$C",
-        "jiong": "-69-3'-1.-1$-0}}z|K{;]~]}?M=J7e4t4I3c2T2S1W1.",
-        "tui": "-6.-6(-3&y'tmo$ftfodrY(F>24",
-        "nan": "-6+-*|-$r~'~#v=tzstrb^e[sXfPqN*M6H}:d29&a&?",
-        "xiao": "-6*-5v-5R-3a-.x-,d-'j-'1-&l-&P-$}-$1-#D-#?-#&-!|-!v~c~J~CuUtHqGpPpJoKlGh/fFcJ_iX;V:TPT/SoSnQVQ'P;MiMaLOK+DOCYCLBAB4>B===8<Z8E6!5+5*4,3L2&1L,o+r+o$t$o!i!b",
-        "bian": "-6)-+9-*u-)UwzmKg1eAdVaX^#]=XSR#@A@@4Z26/o,@+`+,':%8",
-        "pian": "-6)-4P}ysI^#I=Ht/y/0,@+`(j((",
-        "cu": "-6%-+$-!csFegd(_YEsB},X$I#z!H",
-        "e": "-6$-4K-2k-+j-*T-*N-(_-(E-(*-'A-')-&X-!j-!A}s{nzhzIzCv$uzuBtotUtTtSn]n)mGm'm&l+gnc'bOata?^+]DWsWdWNUbTMM}DZCEC(>M=5;9*7)`$V$O!r",
-        "guang": "-5~-2}-1h-'@{~uIhXhTgOZsVKL+>28)5/4b4_4^3s.d+Y*U",
-        "ku": "-5}-/3-&Q-$6~R}PzrhDh+gN]dZiZ5OPMgL!I%3N.>$9",
-        "jun": "-5{-2T-0q-(n-(G|u{NuHollq_;Z3U5TzQPKMJH@F=l6V3G1B*1&'!Q!K!J",
-        "zu": "-5w-5?-+1-+$-&S-%rlYlAd(S#M1Ix0'*e",
-        "hun": "-5s-4o}_t9t'o9dMaz`oYDR?Q~JYJRBf=u<d<(;=:t:`9{3O36*9)G",
-        "su": "-5n-3x-2c-$*~9}/{3y}y|wjs#p@a(a'_lVnKKJ2H;G(F~F8DYBo?2>>=4:&9z828&+F*L(F&r",
-        "lia": "-5[-5>",
-        "pai": "-5Q-&sg9eP[NY?JU?p>+;j;8/t.w,q",
-        "biao": "-5O-36-2/yJtIryi%f!VfNhLjFzEG<.9C66511o0c,k#|",
-        "fei": "-5M-.m-+M-*4-(i-%8w%vZt@t?nXh8gpgPbH]xSdQxQ%P:OPNLLxJVH5FOF)Di?W<C;x6K.`.H,p%3$]#a",
-        "bei": "-5I-57-4B-4%-3b-37-,Y-+a-+%-(1-&:w|qIh#bdbGajaR`$X3RMNLNKLyK^K5JUJSIq3:/S/).R,y*/)T!@",
-        "dao": "-52-/g-/e-/6-)E-#K-!5xSo_oLmvlvk;k:jiiKhld{b=YoYcWqUZO'JkIaGZEIE?AA3;0g'd!+!&",
-        "tan": "-51-3^-3/-2R-)4-%$-#P-#I-!n-!m|o|a|U{'xxxsxaxKtAfTfOfEdtcfb$_p_W_OY/W=UDTuR5PJP=HYF5EnCUAk:w9H7|7{7.5E4K1G(3$}$^#~#7",
-        "chui": "-5/-(O}T|9{Va|Y[WcKtJ6ItGl4o",
-        "kong": "-4{{+qPlfcNb;Y)Iv<n",
-        "juan": "-4z-,h-,P-,0-*[-((}X}Q{Iw<w5uVtut;jpj`j%iYf`byb%`4Z%Y`OGL%K@J:I[=2<^3M.!+j'C",
-        "luo": "-4r-1y-.|-'4-%(~<~/o^mHZ*YbW(U@U3U/T{TlOvI^D9>q>O>N;y8^6F3{/(,T+P*M#y#5!Y",
-        "song": "-4q-3I-0D-)'u8pulDk^kOgydYdAb`a3a$`D_MZ#XXW0N<N:MmM>K%J`HyEF<B9!6v",
-        "leng": "-4p-0T-%uzdz,lQa1J5I!",
-        "ben": "-4l-$E|q|pwSwPw.w(YXV8O3LQKXI4?B;|8]4v/8&=",
-        "cai": "-4h-4,-%N{%tLp?f#]t]qY0NkJZA},Y",
-        "ying": "-4`-3.-%1-$>-#*-!K~Oz%x#s{sXs9s%quqqq_q%kcj[jWhCgDexdha/_AVwV_U0U&R]R.Q:PwO?MHKpK]J{HvHdFbDMDI=_;E:U:K9d9O8K8F6j6i6N6=6&5~5o5j5M5A2w2r2_1x1)0b*:)*(y(S'i'5'%#j#;!B!;",
-        "ruan": "-4[zJxQsiVWOUE0):'}",
-        "chun": "-4Y-&7sda^RPR(PlOONDIBGrFQE(=T<,:[9N8u/6)C",
-        "ruo": "-4S-)[sskPf]Z:YUI8;y3'0^",
-        "dang": "-4M-2P-1V-/k-!1}*{fx]swpkl6kdf:aAZUUsTpKiEYD5@|8:7E5D*;(J(6'?%}",
-        "huang": "-4@-1L-/w-$PzDz.xtw&s[pEl9jBi0e@clcQa_a#`dXTQgQfPBOEHbH7D{@9:x9i8)4:2c2.1J0X+w)((E#i!}!g!Z",
-        "duan": "-4+-.Uz+s`SFS<IMBIB62j)0",
-        "ou": "-4(-+=-+7-(q-(K-(3-#;yTd?`EDpC}CSBJB8?l8s1Y'M'0",
-        "zan": "-4$-2.-1x-1o-'2-$c-!e~:p>[$XOVUU8U*TwR1Q&PYKrEy6E5K't'k'c",
-        "za": "-4$-+Z-'b-'X-'2-$c-!c~B~:~5i}]s[$NyKr?r?a",
-        "lou": "-4#-38-.}-$7-#ByMu4tRo{n[kjkEg_`5X)W'HaG#:O9&8~1i'2$5#o#n",
-        "sou": "-3z-0J-)Q-)N-#z-#R-#QgsghZ#YvWlW>W0V:U`UBJ/DgCn:#,5#s",
-        "yuan": "-3u-1n-1)-0h-.z-*3-*1-)y-(0-&^-$Y-!<}{}t}Z}R}N}M}D{t{_yawlv6v(sSs:s)qhpep<f[cwbyb,`qXoX8NNJ=HxH>H0ErDk@/<m<*;{;v;r;g:e:F:D5]04,M,6)/",
-        "rong": "-3t-3`-0u|ts8s'qzp~pFlwkokcjj^WX#WwOyLmHGH.H&GQAsAU9|6%3T1v0b.2)#",
-        "jiang": "-3p-2a-,7-+Y-+Wz/xew~w+vvvru]oToSkMfrfWfVfSfCVyVeKdGDEoDeBQ@U>P>#;L9A8M.|,&&B%y%n%m",
-        "bang": "-3n{^ypiNi5h~hme|Z?YrWvS2KEJTJSH@=j/m++",
-        "shan": "-3h-3)-2R-/F-/<-.a-.E-*~-$q-$F-#H}'{Gy+y*ulubr2nDj|i(f+]zZ;Y3XuXsWaVhV?UySvQ8NrL|LlIVFSEhCI@`7|7p7O5F4B2Z211~.4*b%U%1",
-        "que": "-3f-*_-*W{Pyty$lgbNa+`KX!T8T.JBH$@j4e0|)O#q!N",
-        "nuo": "-3Q-1w-$ftxa6_#_!ZLXnWoWbWLK0HJF2Am",
-        "can": "-3P-2F-)l-)k-)j-)i-$D-#H~:r(q3amah`W`V`U_[XsVqVhO_BtBg;/784z1!0L(9",
-        "lei": "-3O-24-1t-,J-)q-#1|(z0xOx?rrU|U;G'E]DyDxD/?$>I=+<F5X'z%u$)#Q",
-        "zao": "-3L-/h-&(-%w-$5-!@`JRfMsLkK>JO7F5&2>1#(](7#&#%",
-        "cao": "-3L-#GnGk@`v`k`^_DVAUqOgOfG:8x",
-        "ao": "-3H-/n-*&-#X-#W|H|4xnxkv}vyvwsDs2rZmxmakAjnga`O_@]I]![DVuUeTBM*K=?>9;7M741m1^0Z,!+~(Y",
-        "cou": "-3D-0:Hl;1",
-        "chuang": "-3B-/b-/K-/5-.s-.i-.L-$T-!dhvhMd=`|W7O<F+0#/r/k%D$+",
-        "piao": "-36-.D-,;-#Crteze7`]RuO*Br9/.v'Z!X",
-        "man": "-32{KyKujtlrpn^i'bc`M`=VrOdG9Fs:V9P928b7<701V,(",
-        "zun": "-3%-!ix}oPk&[%YzVILEFU5k",
-        "deng": "-2z-/t-!VxwrHk(_v^@E$7d6/5.1A(O#,",
-        "tie": "-2s-'yigd+",
-        "seng": "-2o",
-        "zhuang": "-2hx9x8x2w)vWv@tphvhShE^a^`^_VDKcKBG6:`8X3H.e.Z",
-        "min": "-2`-0Q-/E-,X-(&|1uumYl]dfded8bJaWaG`S_`[]YhTUTIT(RSRRPzAH>|;z;+:t8(+1*c)o)j)=$R!D",
-        "sai": "-2V-#b-#)-!/yod%a2XaAxAb",
-        "tai": "-2B-0_-)=}e|Mw[wXwOvzqvqCdodQdB`e[pU]SpR]MeE>@f@D@C>{:=4G4F1$*f",
-        "lan": "-2?-1@-)}-%P-!'~3|hx`xXt(qgqaqUmwkwhgb)_8_'^p[5X/UXU(TmSaS_PpLbHXDDD2D1=^9L8i7K6W5`5W5=5<46121%0n0d0I0@0>($'j",
-        "meng": "-2;-0k-,Lwaw`qEo2hnh*_._+^qXtUaP)O9K$F;EAANAF:A6h,Z+]'/&X#B!#",
-        "qiong": "-28-*fr.pza]`!K}F(3(3%2L1}*))J(G's'f",
-        "lie": "-25-0N-/O-,z-,w-,`-'<-&G{D{CuDjaj=djZeZ_YiUEL;JMA{>_=p403f2A1$0a0[.x,h,V+k+[",
-        "teng": "-2%i+9]8r1e%6%&",
-        "long": "-2#-'J-&]~^|7|6xHxGo2n=k6j_j^g.e([9U.QmOxO8LgKDGYDU>t:g9T9%5w0N*Z'n#f",
-        "rang": "-1}-,$~Nx[xC^mU$5b0K+S'X",
-        "xiong": "-1m-1j-/q-+v-+p-&zwsdLc?Sy@;>42w2r2#2!",
-        "chong": "-1l-0Y-#L{*p`oflelde0dc`+_dX<W8?z=K=98X0F*@%&",
-        "dui": "-1g-1e-1`-%L|$zlymobo]oMcc_n_m_*TET>T2NB6[6G5|5u$P",
-        "rui": "-1g-1e-1`-)LxFas]0M~KVF.@G)'&t",
-        "ke": "-1f-/*-.w-,]-,R-+;-)>-'o-'0-$!|Dzqx4u#p^oUmomIkvknjqc4bra<a;XJWsT4M%J1G|F}CcBCBBA/;u;G:>6U4U0!/N//*j%>$O",
-        "tu": "-1c-1]-0H-/o-(y-&3-%?}n}c}J}I}A}?zezZyvxipvnUlskikFh.gVeVc}bsZ.YYX@W2K?EL@R=C=::r7u(i$r$>",
-        "nei": "-1I-1*-&TtvA<A;=H",
-        "liu": "-1C-/N-.8~fy^s5qik`gl^vW9S4S*R}L~LpKnKQH'FHF#>(=w::8Q7V631r1[*a)~)%(v(?&S&>&%%r$(#d",
-        "shou": "-13-)`-)V-%l-!o{ox)x&pxo[]v]uYITcTN<t.1+n+X$e$&",
-        "ran": "-1+-1&-(!-##umsKMBF'2y1Z1F*i",
-        "gang": "-1'-0^-/L-.gzjz4mzmplT^a^`^_]fYKWDNZJEGe;L2z2v/W/:.a%Z",
-        "gua": "-0~-/8-.r-.S-.A-*m-)F-(/-'s-'&-%0|Ooz[/ZuY6LSK[C`2='a",
-        "zui": "-0i-*6-'d-#U-!w-!*k<jmQ=O`OGLDG[F]EgEbD@6a(%",
-        "qia": "-0M-+;-*r-'6})m0iZc.a<[j[7YAXJUhBq>,",
-        "mei": "-0I~j|vz>yRv#sks]sTs4r<p/l&k|e)[bZBU%S3R&M|LoKFHzHjGgDrBfB0B/?~?o?d=I;?;7;32Q2J11,=+$*0)D$w",
-        "zhun": "-0E-05-%L}5zwpnnFdPRQ<,:@",
-        "du": "-0+-.`-+B-)p-#0z<vKv1uTqjh1SsQ4PvN_IcDlBRBNB+=(;n;Z6</s/h/5.y..+i)I'y!E",
-        "kai": "-/x-/v-/%-.M-,I-#J{ey~w0n3kag2dEc#aB`y`r`GXCPfHfCxCu6U4m3}",
-        "hua": "-/T-.>-+b-+(-(_-(.-&h-#%{@wGuWs}s|rJrDlaWTV}V+NAMvKfIgGKFX9a7c,7&]&+%~",
-        "bie": "-/A-/;fGe2`#M'M!$!#I",
-        "pao": "-/>-+i-'^~o|2w=hA]$[P?.4J4H3d06.M'^%A!S",
-        "geng": "-/7-&A{TzHlrh=ZIOlK4IX=X2p&M",
-        "shua": "-//-%j",
-        "cuo": "-.y-.p-*5wukWkSh!ZKY&WuV4(o$j$'",
-        "kei": "-.woU",
-        "la": "-.v-%3-$n~L|8[RXFXEWnUEU2R`MOI6DT:T0['o$A",
-        "pou": "-.l-'_-&[{]twtO]+]&Z+YGJS/<",
-        "tuan": "-.I~!}~}K}HyPy&f7`>[}XIVmGLE;;.:m8t2[,F%v%p",
-        "zuan": "-.)XOTt",
-        "keng": "-,x-([|t|kvIZCXlVgBF/C",
-        "gao": "-,Z-(I-(>wRlpWjNHGxGwGdG>E~E3Dm,)!y!t",
-        "lang": "-,V-&J-$~{Jy[r{llgiSeOIOHO;KRHHG4Cp=[3Y,z*%(s",
-        "weng": "-,@-#oyxv{kfU!Pd9o'N'&",
-        "tao": "-+m-)E-'+-%DwPwMw*r}i/fl`j[oYBWXL,JkGtE?><=)<t<H9^6_(w",
-        "nao": "-+`-'n{cz[wqt.rzq8l{jyjSd0b~bPad_QZVW9VOKkFJ<J,D+Z+Q),",
-        "zang": "-+Oynw)g(/~",
-        "suan": "-+C,{$n",
-        "nian": "-+3-&i-%b{9uOhdg3dNbTa~[SYVVHV,U7HL=;<0:C2q",
-        "shuai": "-*xixiWW3+I&o",
-        "mang": "-*<-)*-&Zx(u(o2h*dkb|OENdNSAF@c=i8`/[/D.$$q",
-        "rou": "-)uslpsXdMAHc;d2K)>'v",
-        "cen": "-)l-)k-)j-)i{Un#kH@?=1",
-        "shuang": "-)byOqeq^`NDB>t8R5w5^0&",
-        "po": "-)8-&M-#6~]|ZvztMoZmlmZg9W]TXR+O*E%?E>q>o>D;*:J8;6F3v,9*l!`",
-        "a": "-(s-'o-%O-$0",
-        "tun": "-(k-(7-%L-!`}}|snFhNdP_mRQPFOC@x=335",
-        "hang": "-([{dwSvIj)dGS8NML/@.",
-        "shun": "-(ZHnF?",
-        "ne": "-(R-(8-(%-&T]0%a",
-        "chuo": "-(Q-&@-%=~Hu!t~t.ssqVa|^2Z}UuCC<q<J",
-        "wai": "-(/-'&-$gwml7C95z",
-        "guo": "-(/-'&-%)-$e-#<~.}r}k}f}d}a}U{<zTy>lMi@i$fDf@b1`Y_4XyW6TMMzJ$I:GOD{=#<W;U9#7!,c$<",
-        "qiang": "-(,-%f-%M-$.-#[y=y3xmrXr0k>gKfVfSfC^P^N^>[zWQW!VySKMlIvGkFdEJ:)8{4[1s/|/z,f,.*{(p%m",
-        "pen": "-('-$E-$=-!6CN;'6}'Q!=",
-        "pin": "-&~~Yuatnrvq{[AZ{H]@_/c+!)r",
-        "ha": "-&wvz",
-        "yo": "-&`-%c-$B",
-        "o": "-&X-$a-!H-!%",
-        "n": "-&)-#a",
-        "huan": "-%v-$Z-$Y~G}D{_zWw@w2r.q[pYp0okm8l!h]bVaH_I^iYpXQUnU1KyK2GBD%CPCB>1=c<~;c8V7D734/3>2I.[.;,3+R*})9(1'b$d$:",
-        "ken": "-%V{qxjc*_CX~*I",
-        "chuai": "-%=XIW}Ch",
-        "pa": "-%/vLisihd.]oX|NC@r8608)P#!",
-        "se": "-%,-$,yogK_<Z}VnUrLTGJC5C3>W<x;q7h7g6|6t60)p)&(0#r",
-        "re": "-$fa[YU;y3g1X",
-        "sun": "-$DqKq9]EYsW{WzW;H1Gv.',:",
-        "hei": "-#h-!l7r",
-        "dia": "-#^",
-        "de": "-#5}0hBeQe5e1c)bFakR[JW<_##",
-        "dei": "-#5eQ",
-        "kuo": "-!`g`]W[:[/ZsUI8U6L",
-        "ceng": "-!_ntnQk4OcObF*",
-        "ca": "~s~B[UUWU:",
-        "zeng": "~7y5y._}OcObF*1R(M'*",
-        "nin": "~(c^bQ[*",
-        "kun": "}q|Wzoz`x/x*t'l[lZbwZ0RHQMJv=B8C371U,e)_(g",
-        "qun": "}jwxpRl~iPCT",
-        "ri": "}iRjA=",
-        "lve": "}Go^Y1&2&0",
-        "zhui": "|[y0w#t]aaXIIt?s'<%|",
-        "sao": "zus+`k_D]UYNXrWtK(AP:8$4",
-        "en": "wBmBc5WF20",
-        "zou": "w3s>Y%X`W~J/J.Hl",
-        "nv": "vkc7OM@!",
-        "nuan": "vcPo;`:m2X2W",
-        "shuo": "v]a'WhT'S|OKGnCn>>470W+p",
-        "niu": "v?q=dKd0]S]![DN?@8@!4u/e/d.W",
-        "rao": "u2rA]PU?KkFJ",
-        "niang": "t|r&qb",
-        "shui": "t]iTZMYuA$A#@{=.=*",
-        "nve": "t)%S$%",
-        "nen": "sirarYc^",
-        "niao": "s!r+qsnwFq9x",
-        "kuan": "pBp#ooK)CoCfCd",
-        "cuan": "jPV'U*T~TwDtD7BU@o6E5K1S0<",
-        "te": "dsdr`R/F/9",
-        "zen": "d5VU",
-        "zei": "^H",
-        "den": "][]C",
-        "zhua": "],ZYV#ER0:09",
-        "shuan": "[&L^GL<s",
-        "zhuai": "Zz",
-        "nou": "WoGpE0+^",
-        "shai": "W<TsQWOt",
-        "sen": "J8ISGI",
-        "run": "FE<{8'",
-        "ei": "Cl",
-        "chua": "Ci"
-    }
-};
-let DB = {
-    sToC: {},
-    cToS: {}
-};
-let sToC = DB.sToC,
-    cToS = DB.cToS,
-    ungroup = /-?.{2}/g,
-    rg = /^-/,
-    fromX = str => {
-        let result = 0,
-            temp = 1;
-        for (let idx = str.length; idx--;) {
-            result += temp * (chars.indexOf(str.charAt(idx)));
-            temp *= 91;
-        }
-        return result;
-    },
-    fn = (a, f) => {
-        let p, gs, i, ch, num;
-        for (p in a) {
-            if (a.hasOwnProperty(p)) {
-                gs = a[p].match(ungroup);
-                for (i = 0; i < gs.length; i++) {
-                    ch = gs[i].replace(rg, '#');
-                    num = fromX(ch);
-                    ch = String.fromCharCode(base + middle + (f ? -num : num));
-                    if (sToC.hasOwnProperty(p)) {
-                        sToC[p] += ch;
-                    } else {
-                        sToC[p] = ch;
-                    }
-                    if (cToS.hasOwnProperty(ch)) {
-                        cToS[ch] += COMA + p;
-                    } else {
-                        cToS[ch] = p;
-                    }
-                }
-            }
-        }
-    };
-fn(SDB.m, 1);
-fn(SDB.a);
-SDB = null;
-export default {
-    getSpell(chars, polyphone, spliter) {
-        let cToS = DB.cToS;
-        let res = [],
-            pp = typeof (polyphone) == 'function'; //鍒ゆ柇polyphone鏄惁鏄嚱鏁�
-        chars = String(chars).split(EMPTY);
-        for (let i = 0, ch, ss; i < chars.length; i++) {
-            ch = chars[i];
-            if (cToS.hasOwnProperty(ch)) {
-                ss = cToS[ch];
-                if (~ss.indexOf(COMA)) {
-                    ss = ss.split(COMA);
-                    ss = pp ? polyphone(ch, ss) : '[' + ss + ']';
-                    res.push(ss);
-                } else {
-                    res.push(ss);
-                }
-            } else {
-                res.push(ch);
-            }
-        }
-        return res.join(spliter || COMA);
-    },
-    getChars(spell) {
-        let sToC = DB.sToC;
-        if (sToC.hasOwnProperty(spell)) {
-            return sToC[spell].split(EMPTY);
-        }
-        return [];
-    }
-};
\ No newline at end of file
diff --git a/src/pages_qiun/static/table/iconfont.wxss b/src/pages_qiun/static/table/iconfont.wxss
deleted file mode 100644
index 4ee0a6b..0000000
--- a/src/pages_qiun/static/table/iconfont.wxss
+++ /dev/null
@@ -1,23 +0,0 @@
-@font-face {font-family: "iconfont";
-  src: url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAMoAAsAAAAABzAAAALaAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDHAqBbIFSATYCJAMQCwoABCAFhG0HRhtCBsgOJUGS2IBhSABBPHyN/f7c3UVEk2hkSKLNE9NNSrBEgkhrJIYS7JuG/v7Pv7cbyBNUBB7u+/D8Cczd0qrAKui2UweV2+2Jz3M5bQIFMr+d5TbWojXpyo96AcZbAxpr0xYuoAS5pXYRBwav/GubCdQbFslkvbiyEawVpFcgLhUyDqx7fkWJUrVC9czEIh5YqE136RTAvf5+/IP4qCWpysjA3eMiEXJ/OnyLyVeVK52SRnqdC9E0MmaAQpzOxveZiYhjpr65uTmgVq3EVTXhP2MqFWvjw2L6l0dIMlGNkBvBrJfI/HTgBMHPcILEzxiSDAjR1faT88CGzx5UBz2+19V1ZP+Ku9i8v3xj0oPb8/DYW/HyOvCSHUz14N7Vleu2waXja7bOy1cOj1ridz1feeqBe5fDdm2dr93ynUqZbj7cXLr14cePR99QnyP4HxIbUmdfHxcc//rLnQ8Udwy/eHERdvFCLbSSeTLhHOI8cZIp+nn9/Hx4LPDc6fx1uum/+27vJ0s30CNb5dvUA0B+MVUAkD+bPkH2b3y7s5Xb45T5z7qhgFfGPmpTAdMCxqRgKWqlwJxSyom1lFzBJZWv6AX1SKhXD4SmafflCl0XOJtQq+uAr8ZQi6zWCL2wZ1ClwSyq1VpCvWkl0xt0oMxEqcOUOQeh1X0kzZ6QtTqjF/ZnVOn2F9VaI6PeXrgt2GAszmwLKHIMRcIPEYWg00rMzmxNZj3K+tQc7co1txmpUREicdGxw1QJapFeMcTYL4tnTCIS1WlIsbMdqtU6oqc6JQosWs6YPj0mRpq7UbSg04CtNRTiMEhE8IYQCgIdLUkWZmxHn6+HZPqocegKZSHaDFFGivqJONFiAfQSjRZE+ZVrjPrJxGMYCSGhdDSIYseF1DSuQ+jn2ykhARNNfiCqly7GyydBNdHP6zR/uAjqkcVLpMhRokrVgRwFla1SwWmZrm9Q6awaMwAAAA==') format('woff2')
-}
-
-.iconfont {
-  font-family: "iconfont" !important;
-  font-size: 16px;
-  font-style: normal;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-
-.icon-check:before {
-  content: "\e60d";
-}
-
-.icon-arrow-down:before {
-  content: "\e62a";
-}
-
-.icon-arrow-up:before {
-  content: "\e62f";
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/table/loader.wxss b/src/pages_qiun/static/table/loader.wxss
deleted file mode 100644
index 34e8993..0000000
--- a/src/pages_qiun/static/table/loader.wxss
+++ /dev/null
@@ -1,36 +0,0 @@
-.loader-one {
-	width: 50rpx;
-	height: 50rpx;
-	position: relative;
-	-webkit-animation: loading-one 1s infinite linear;
-	animation: loading-one 1s infinite linear;
-}
-
-.loader-one,
-.loader-one:after {
-	border-radius: 50%;
-}
-
-@-webkit-keyframes loading-one {
-	0% {
-		-webkit-transform: rotate(0deg);
-		transform: rotate(0deg);
-	}
-
-	100% {
-		-webkit-transform: rotate(360deg);
-		transform: rotate(360deg);
-	}
-}
-
-@keyframes loading-one {
-	0% {
-		-webkit-transform: rotate(0deg);
-		transform: rotate(0deg);
-	}
-
-	100% {
-		-webkit-transform: rotate(360deg);
-		transform: rotate(360deg);
-	}
-}
\ No newline at end of file
diff --git a/src/pages_qiun/static/table/objEqual.js b/src/pages_qiun/static/table/objEqual.js
deleted file mode 100644
index 222188e..0000000
--- a/src/pages_qiun/static/table/objEqual.js
+++ /dev/null
@@ -1,36 +0,0 @@
-export default function isEqual(x, y) {
-	if (x === y) {
-		return true
-	}
-	if (!(x instanceof Object) || !(y instanceof Object)) {
-		return false
-	}
-	if (x.constructor !== y.constructor) {
-		return false
-	}
-	for (var p in x) {
-		if (x.hasOwnProperty(p)) {
-			if (!y.hasOwnProperty(p)) {
-				return false
-			}
-
-			if (x[p] === y[p]) {
-				continue
-			}
-
-			if (typeof (x[p]) !== "object") {
-				return false
-			}
-
-			if (!Object.equals(x[p], y[p])) {
-				return false
-			}
-		}
-	}
-	for (p in y) {
-		if (y.hasOwnProperty(p) && !x.hasOwnProperty(p)) {
-			return false
-		}
-	}
-	return true
-}
diff --git a/src/pages_template/common/api.js b/src/pages_template/common/api.js
deleted file mode 100644
index 92fd182..0000000
--- a/src/pages_template/common/api.js
+++ /dev/null
@@ -1,3 +0,0 @@
-const { http } = uni.$u
-// 鑾峰彇鑿滃崟
-export const fetchMenu = (params, config = {}) => http.post('/ebapi/public_api/index', params, config)
diff --git a/src/pages_template/common/classify.data.js b/src/pages_template/common/classify.data.js
deleted file mode 100644
index cb4f75a..0000000
--- a/src/pages_template/common/classify.data.js
+++ /dev/null
@@ -1,1087 +0,0 @@
-export default[
-   {
-      "name": "濂宠",
-      "foods": [
-          {
-            "name": "A瀛楄",
-            "key": "A瀛楄",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/1.jpg",
-            "cat": 10
-          },
-          {
-            "name": "T鎭�",
-            "key": "T鎭�",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/2.jpg",
-            "cat": 10
-          },
-          {
-            "name": "鍗婅韩瑁�",
-            "key": "鍗婅韩瑁�",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/3.jpg",
-            "cat": 10
-          },
-          {
-            "name": "琛~",
-            "key": "琛~",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/4.jpg",
-            "cat": 10
-          },
-          {
-            "name": "鐭",
-            "key": "鐭",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/5.jpg",
-            "cat": 10
-          },
-          {
-            "name": "闃旇吙瑁�",
-            "key": "闃旇吙瑁�",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/6.jpg",
-            "cat": 10
-          },
-          {
-            "name": "杩炶。瑁�",
-            "key": "杩炶。瑁�",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/7.jpg",
-            "cat": 10
-          },
-          {
-            "name": "濡堝瑁�",
-            "key": "濡堝瑁�",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/8.jpg",
-            "cat": 10
-          },
-          {
-            "name": "鐗涗粩瑁�",
-            "key": "鐗涗粩瑁�",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/9.jpg",
-            "cat": 10
-          },
-          {
-            "name": "鎯呬荆瑁�",
-            "key": "鎯呬荆瑁�",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/10.jpg",
-            "cat": 10
-          },
-          {
-            "name": "浼戦棽瑁�",
-            "key": "浼戦棽瑁�",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/11.jpg",
-            "cat": 10
-          },
-          {
-            "name": "闆汉琛�",
-            "key": "闆汉琛�",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/12.jpg",
-            "cat": 10
-          },
-          {
-            "name": "闃叉檼琛�",
-            "key": "闃叉檼琛�",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/13.jpg",
-            "cat": 10
-          },
-          {
-            "name": "绀兼湇/濠氱罕",
-            "key": "绀兼湇濠氱罕",
-            "icon": "https://cdn.uviewui.com/uview/common/classify/1/14.jpg",
-            "cat": 10
-          }
-      ]
-   },
-   {
-    "name": "缇庨",
-    "foods": [
-        {
-          "name": "鐏攨",
-          "key": "鐏攨",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/1.jpg",
-          "cat": 6
-        },
-        {
-          "name": "绯曠偣楗煎共",
-          "key": "绯曠偣楗煎共",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/2.jpg",
-          "cat": 6
-        },
-        {
-          "name": "鍧氭灉鏋滃共",
-          "key": "鍧氭灉鏋滃共",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/3.jpg",
-          "cat": 6
-        },
-        {
-          "name": "閰掔被",
-          "key": "閰掔被",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/4.jpg",
-          "cat": 6
-        },
-        {
-          "name": "杈f潯",
-          "key": "杈f潯",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/5.jpg",
-          "cat": 6
-        },
-        {
-          "name": "澶хぜ鍖�",
-          "key": "澶хぜ鍖�",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/6.jpg",
-          "cat": 6
-        },
-        {
-          "name": "绮惧搧鑼楄尪",
-          "key": "鑼�",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/7.jpg",
-          "cat": 6
-        },
-        {
-          "name": "浼戦棽椋熷搧",
-          "key": "浼戦棽椋熷搧",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/8.jpg",
-          "cat": 6
-        },
-        {
-          "name": "绯栨灉宸у厠鍔�",
-          "key": "绯栨灉宸у厠鍔�",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/9.jpg",
-          "cat": 6
-        },
-        {
-          "name": "鏂逛究閫熼",
-          "key": "鏂逛究閫熼",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/10.jpg",
-          "cat": 6
-        },
-        {
-          "name": "钀ュ吇浠i",
-          "key": "钀ュ吇浠i",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/11.jpg",
-          "cat": 6
-        },
-        {
-          "name": "绮补鍓",
-          "key": "绮补",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/12.jpg",
-          "cat": 6
-        },
-        {
-          "name": "鐢熼矞姘存灉",
-          "key": "姘存灉",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/13.jpg",
-          "cat": 6
-        },
-        {
-          "name": "楗搧",
-          "key": "楗搧",
-          "icon": "https://cdn.uviewui.com/uview/common/classify/2/14.jpg",
-          "cat": 6
-        }
-        ]
-    },
-    {
-        "name": "缇庡",
-        "foods": [
-            {
-                "name": "鍖栧鍒�",
-                "key": "鍖栧鍒�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/1.jpg",
-                "cat": 3
-            },
-            {
-                "name": "绮夊簳",
-                "key": "绮夊簳",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/2.jpg",
-                "cat": 3
-            },
-            {
-                "name": "娲楀彂鎶ゅ彂",
-                "key": "娲楀彂鎶ゅ彂",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/3.jpg",
-                "cat": 3
-            },
-            {
-                "name": "缇庡宸ュ叿",
-                "key": "缇庡宸ュ叿",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/4.jpg",
-                "cat": 3
-            },
-            {
-                "name": "鐪奸儴鎶ょ悊",
-                "key": "鐪奸儴鎶ょ悊",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/5.jpg",
-                "cat": 3
-            },
-            {
-                "name": "鐪夊",
-                "key": "鐪夊",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/6.jpg",
-                "cat": 3
-            },
-            {
-                "name": "鍗稿鍝�",
-                "key": "鍗稿鍝�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/7.jpg",
-                "cat": 3
-            },
-            {
-                "name": "鍩虹鎶よ偆",
-                "key": "鍩虹鎶よ偆",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/8.jpg",
-                "cat": 3
-            },
-            {
-                "name": "鐪煎",
-                "key": "鐪煎",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/9.jpg",
-                "cat": 3
-            },
-            {
-                "name": "鍞囧",
-                "key": "鍞囧",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/10.jpg",
-                "cat": 3
-            },
-            {
-                "name": "闈㈣啘",
-                "key": "闈㈣啘",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/11.jpg",
-                "cat": 3
-            },
-            {
-                "name": "娌愭荡鐢ㄥ搧",
-                "key": "娌愭荡鐢ㄥ搧",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/12.jpg",
-                "cat": 3
-            },
-            {
-                "name": "鎶よ偆濂楄",
-                "key": "鎶よ偆濂楄",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/13.jpg",
-                "cat": 3
-            },
-            {
-                "name": "闃叉檼鍝�",
-                "key": "闃叉檼鍝�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/14.jpg",
-                "cat": 3
-            },
-            {
-                "name": "缇庣敳",
-                "key": "缇庣敳",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/3/15.jpg",
-                "cat": 3
-            }
-
-        ]
-    },
-    {
-        "name": "灞呭鏃ョ敤",
-        "foods": [
-            {
-              "name": "鍨冨溇琚�",
-              "key": "鍨冨溇琚�",
-              "icon": "https://cdn.uviewui.com/uview/common/classify/4/1.jpg",
-              "cat": 4
-            },
-            {
-                "name": "绾稿肪",
-                "key": "绾稿肪",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/4/2.jpg",
-                "cat": 4
-            },
-            {
-                "name": "椹辫殜鐢ㄥ搧",
-                "key": "椹辫殜鐢ㄥ搧",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/4/3.jpg",
-                "cat": 4
-            },
-            {
-                "name": "鏀剁撼绁炲櫒",
-                "key": "鏀剁撼绁炲櫒",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/4/4.jpg",
-                "cat": 4
-            },
-            {
-                "name": "鍘ㄦ埧鐢ㄥ搧",
-                "key": "鍘ㄦ埧鐢ㄥ搧",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/4/5.jpg",
-                "cat": 4
-            },
-            {
-                "name": "鍘ㄦ埧鐑归オ",
-                "key": "鐑归オ",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/4/6.jpg",
-                "cat": 4
-            },
-            {
-                "name": "琛g墿鏅炬檼",
-                "key": "琛g墿鏅炬檼",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/4/7.jpg",
-                "cat": 4
-            },
-            {
-                "name": "琛g墿鎶ょ悊",
-                "key": "琛g墿鎶ょ悊",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/4/8.jpg",
-                "cat": 4
-            },
-            {
-                "name": "瀹犵墿鐢ㄥ搧",
-                "key": "瀹犵墿鐢ㄥ搧",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/4/9.jpg",
-                "cat": 4
-            },
-            {
-                "name": "鍖昏嵂淇濆仴",
-                "key": "鍖昏嵂",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/4/10.jpg",
-                "cat": 4
-            },
-            {
-                "name": "鏃ョ敤鐧捐揣",
-                "key": "鐧捐揣",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/4/11.jpg",
-                "cat": 4
-            },
-            {
-                "name": "娓呮磥鐢ㄥ搧",
-                "key": "娓呮磥",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/4/12.jpg",
-                "cat": 4
-            },
-            {
-                "name": "缁挎鍥壓",
-                "key": "缁挎",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/4/13.jpg",
-                "cat": 4
-            }
-        ]
-    },
-    {
-        "name": "鐢疯",
-        "foods": [
-            {
-                "name": "鐖哥埜瑁�",
-                "key": "鐖哥埜瑁�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/5/1.jpg",
-                "cat": 12
-            },
-            {
-                "name": "鐗涗粩瑁�",
-                "key": "鐗涗粩瑁�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/5/2.jpg",
-                "cat": 12
-            },
-            {
-                "name": "琛~",
-                "key": "琛~",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/5/3.jpg",
-                "cat": 12
-            },
-            {
-                "name": "浼戦棽瑁�",
-                "key": "浼戦棽瑁�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/5/4.jpg",
-                "cat": 12
-            },
-            {
-                "name": "澶栧",
-                "key": "澶栧",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/5/5.jpg",
-                "cat": 12
-            },
-            {
-                "name": "T鎭�",
-                "key": "T鎭�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/5/6.jpg",
-                "cat": 12
-            },
-            {
-                "name": "濂楄",
-                "key": "濂楄",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/5/7.jpg",
-                "cat": 12
-            },
-            {
-                "name": "杩愬姩瑁�",
-                "key": "杩愬姩瑁�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/5/8.jpg",
-                "cat": 12
-            },
-            {
-                "name": "椹敳/鑳屽績",
-                "key": "椹敳鑳屽績",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/5/9.jpg",
-                "cat": 12
-            },
-            {
-                "name": "POLO琛�",
-                "key": "POLO琛�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/5/10.jpg",
-                "cat": 12
-            },
-            {
-                "name": "鍟嗗姟瑁�",
-                "key": "鍟嗗姟瑁�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/5/11.jpg",
-                "cat": 12
-            }
-        ]
-    },
-    {
-        "name": "闉嬪搧",
-        "foods": [
-            {
-                "name": "鍗曢瀷",
-                "key": "鍗曢瀷",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/6/1.jpg",
-                "cat": 5
-            },
-            {
-                "name": "鐨瀷",
-                "key": "鐨瀷",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/6/2.jpg",
-                "cat": 5
-            },
-            {
-                "name": "甯嗗竷闉�",
-                "key": "甯嗗竷闉�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/6/3.jpg",
-                "cat": 5
-            },
-            {
-                "name": "鍖椾含鑰佸竷闉�",
-                "key": "鍖椾含鑰佸竷闉�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/6/4.jpg",
-                "cat": 5
-            },
-            {
-                "name": "杩愬姩闉�",
-                "key": "杩愬姩闉�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/6/5.jpg",
-                "cat": 5
-            },
-            {
-                "name": "鎷栭瀷",
-                "key": "鎷栭瀷",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/6/6.jpg",
-                "cat": 5
-            },
-            {
-                "name": "鍑夐瀷",
-                "key": "鍑夐瀷",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/6/7.jpg",
-                "cat": 5
-            },
-            {
-                "name": "浼戦棽闉�",
-                "key": "浼戦棽闉�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/6/8.jpg",
-                "cat": 5
-            },
-            {
-                "name": "楂樿窡闉�",
-                "key": "楂樿窡闉�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/6/9.jpg",
-                "cat": 5
-            },
-            {
-                "name": "鑰佷汉闉�",
-                "key": "鑰佷汉闉�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/6/10.jpg",
-                "cat": 5
-            },
-            {
-                "name": "鎳掍汉闉�",
-                "key": "鎳掍汉闉�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/6/11.jpg",
-                "cat": 5
-            }
-        ]
-    },
-    {
-        "name": "鏁扮爜瀹剁數",
-        "foods": [
-            {
-                "name": "鏁版嵁绾�",
-                "key": "鏁版嵁绾�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/1.jpg",
-                "cat": 8
-            },
-            {
-                "name": "鑰虫満",
-                "key": "鑰虫満",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/2.jpg",
-                "cat": 8
-            },
-            {
-                "name": "鐢熸椿瀹剁數",
-                "key": "瀹剁數",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/3.jpg",
-                "cat": 8
-            },
-            {
-                "name": "鐢甸鎵�",
-                "key": "鐢甸鎵�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/4.jpg",
-                "cat": 8
-            },
-            {
-                "name": "鐢靛惞椋�",
-                "key": "鐢靛惞椋�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/5.jpg",
-                "cat": 8
-            },
-            {
-                "name": "鎵嬫満澹�",
-                "key": "鎵嬫満澹�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/6.jpg",
-                "cat": 8
-            },
-            {
-                "name": "姒ㄦ眮鏈�",
-                "key": "姒ㄦ眮鏈�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/7.jpg",
-                "cat": 8
-            },
-            {
-                "name": "灏忓鐢�",
-                "key": "灏忓鐢�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/8.jpg",
-                "cat": 8
-            },
-            {
-                "name": "鏁扮爜鐢靛瓙",
-                "key": "鏁扮爜",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/9.jpg",
-                "cat": 8
-            },
-            {
-                "name": "鐢甸キ閿�",
-                "key": "鐢甸キ閿�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/10.jpg",
-                "cat": 8
-            },
-            {
-                "name": "鎵嬫満鏀灦",
-                "key": "鎵嬫満鏀灦",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/11.jpg",
-                "cat": 8
-            },
-            {
-                "name": "鍓冮』鍒�",
-                "key": "鍓冮』鍒�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/12.jpg",
-                "cat": 8
-            },
-            {
-                "name": "鍏呯數瀹�",
-                "key": "鍏呯數瀹�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/13.jpg",
-                "cat": 8
-            },
-            {
-                "name": "鎵嬫満閰嶄欢",
-                "key": "鎵嬫満閰嶄欢",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/7/14.jpg",
-                "cat": 8
-            }
-        ]
-    },
-    {
-        "name": "姣嶅┐",
-        "foods": [
-            {
-              "name": "濠寸鏈嶉グ",
-              "key": "琛f湇",
-              "icon": "https://cdn.uviewui.com/uview/common/classify/8/1.jpg",
-              "cat": 2  
-            },
-            {
-                "name": "鐜╁叿涔愬櫒",
-                "key": "鐜╁叿涔愬櫒",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/8/2.jpg",
-                "cat": 2  
-            },
-            {
-                "name": "灏夸笉婀�",
-                "key": "灏夸笉婀�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/8/3.jpg",
-                "cat": 2  
-            },
-            {
-                "name": "瀹夋姎鐗欒兌",
-                "key": "瀹夋姎鐗欒兌",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/8/4.jpg",
-                "cat": 2  
-            },
-            {
-                "name": "濂剁摱濂跺槾",
-                "key": "濂剁摱濂跺槾",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/8/5.jpg",
-                "cat": 2  
-            },
-            {
-                "name": "瀛曞鐢ㄥ搧",
-                "key": "瀛曞鐢ㄥ搧",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/8/6.jpg",
-                "cat": 2  
-            },
-            {
-                "name": "瀹濆疂鐢ㄥ搧",
-                "key": "瀹濆疂鐢ㄥ搧",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/8/7.jpg",
-                "cat": 2  
-            },
-            {
-                "name": "濠寸婀垮肪",
-                "key": "婀垮肪",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/8/8.jpg",
-                "cat": 2  
-            },
-            {
-                "name": "鍠傚吇娲楁姢",
-                "key": "娲楁姢",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/8/9.jpg",
-                "cat": 2  
-            },
-            {
-                "name": "濠寸闉嬮澊",
-                "key": "绔ラ瀷",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/8/10.jpg",
-                "cat": 2  
-            },
-            {
-                "name": "鍙f按宸�",
-                "key": "鍙f按宸�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/8/11.jpg",
-                "cat": 2  
-            },
-            {
-                "name": "钀ュ吇杈呴",
-                "key": "钀ュ吇",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/8/12.jpg",
-                "cat": 2  
-            },
-            {
-                "name": "濠村辜涔︾睄",
-                "key": "涔︾睄",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/8/13.jpg",
-                "cat": 2  
-            },
-            {
-                "name": "濠村効杞�",
-                "key": "濠村効杞�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/8/14.jpg",
-                "cat": 2  
-            }
-        ]
-    },
-    {
-        "name": "绠卞寘",
-        "foods": [
-            {
-                "name": "鍗曡偐鍖�",
-                "key": "鍗曡偐鍖�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/9/1.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鏂滄寧鍖�",
-                "key": "鏂滄寧鍖�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/9/2.jpg",
-                "cat": 0
-            },
-            {
-                "name": "濂冲寘",
-                "key": "濂冲寘",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/9/3.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鐢峰寘",
-                "key": "鐢峰寘",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/9/4.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鍙岃偐鍖�",
-                "key": "鍙岃偐鍖�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/9/5.jpg",
-                "cat": 0
-            },
-            {
-                "name": "灏忔柟鍖�",
-                "key": "灏忔柟鍖�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/9/6.jpg",
-                "cat": 0
-            },
-            {
-                "name": "閽卞寘",
-                "key": "閽卞寘",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/9/7.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鏃呰绠卞寘",
-                "key": "鏃呰绠卞寘",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/9/8.jpg",
-                "cat": 0
-            },
-            {
-                "name": "闆堕挶鍖�",
-                "key": "闆堕挶鍖�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/9/9.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鎵嬫彁鍖�",
-                "key": "鎵嬫彁鍖�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/9/10.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鑳稿寘",
-                "key": "鑳稿寘",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/9/11.jpg",
-                "cat": 0
-            }
-        ]
-    },
-    {
-        "name": "鍐呰。",
-        "foods": [
-            {
-                "name": "琚滃瓙",
-                "key": "琚滃瓙",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/10/1.jpg",
-                "cat": 11
-            },
-            {
-                "name": "鍚婂甫鑳屽績",
-                "key": "鍚婂甫鑳屽績",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/10/2.jpg",
-                "cat": 11
-            },
-            {
-                "name": "鎶硅兏",
-                "key": "鎶硅兏",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/10/3.jpg",
-                "cat": 11
-            },
-            {
-                "name": "鍐呰¥",
-                "key": "鍐呰¥",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/10/4.jpg",
-                "cat": 11
-            },
-            {
-                "name": "鏂囪兏",
-                "key": "鏂囪兏",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/10/5.jpg",
-                "cat": 11
-            },
-            {
-                "name": "鏂囪兏濂楄",
-                "key": "鏂囪兏濂楄",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/10/6.jpg",
-                "cat": 11
-            },
-            {
-                "name": "鎵撳簳濉戣韩",
-                "key": "鎵撳簳濉戣韩",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/10/7.jpg",
-                "cat": 11
-            },
-            {
-                "name": "瀹跺眳鏈�",
-                "key": "瀹跺眳鏈�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/10/8.jpg",
-                "cat": 11
-            },
-            {
-                "name": "鑸硅",
-                "key": "鑸硅",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/10/9.jpg",
-                "cat": 11
-            },
-            {
-                "name": "鎯呬荆鐫¤。",
-                "key": "鎯呬荆鐫¤。",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/10/10.jpg",
-                "cat": 11
-            },
-            {
-                "name": "涓濊",
-                "key": "涓濊",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/10/11.jpg",
-                "cat": 11
-            }
-        ]
-    },
-    {
-        "name": "鏂囧ū杞﹀搧",
-        "foods": [
-            {
-                "name": "杞﹀競杞﹀搧",
-                "key": "杞﹀競杞﹀搧",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/11/1.jpg",
-                "cat": 7
-            },
-            {
-                "name": "鍔炲叕鏂囧叿",
-                "key": "鍔炲叕鏂囧叿",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/11/2.jpg",
-                "cat": 7
-            },
-            {
-                "name": "鑰冭瘯蹇呭",
-                "key": "鑰冭瘯蹇呭",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/11/3.jpg",
-                "cat": 7
-            },
-            {
-                "name": "绗旇鏈�",
-                "key": "绗旇鏈�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/11/4.jpg",
-                "cat": 7
-            },
-            {
-                "name": "鑹烘湳绀煎搧",
-                "key": "绀煎搧",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/11/5.jpg",
-                "cat": 7
-            },
-            {
-                "name": "涔﹀啓宸ュ叿",
-                "key": "涔﹀啓宸ュ叿",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/11/6.jpg",
-                "cat": 7
-            },
-            {
-                "name": "杞﹁浇鐢靛櫒",
-                "key": "杞﹁浇鐢靛櫒",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/11/7.jpg",
-                "cat": 7
-            },
-            {
-                "name": "鍥句功闊冲儚",
-                "key": "鍥句功闊冲儚",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/11/8.jpg",
-                "cat": 7
-            },
-            {
-                "name": "鐢诲叿鐢绘潗",
-                "key": "鐢诲叿鐢绘潗",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/11/9.jpg",
-                "cat": 7
-            }
-        ]
-    },
-    {
-        "name": "閰嶉グ",
-        "foods": [
-            {
-                "name": "澶槼闀�",
-                "key": "澶槼闀�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/12/1.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鐨甫",
-                "key": "鐨甫",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/12/2.jpg",
-                "cat": 0
-            },
-            {
-                "name": "妫掔悆甯�",
-                "key": "妫掔悆甯�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/12/3.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鎵嬭〃",
-                "key": "鎵嬭〃",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/12/4.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鍙戦グ",
-                "key": "鍙戦グ",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/12/5.jpg",
-                "cat": 0
-            },
-            {
-                "name": "椤归摼",
-                "key": "椤归摼",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/12/6.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鎵嬮グ",
-                "key": "鎵嬮グ",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/12/7.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鑰崇幆",
-                "key": "鑰崇幆",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/12/8.jpg",
-                "cat": 0
-            },
-            {
-                "name": "甯藉瓙涓濆肪",
-                "key": "甯藉瓙涓濆肪",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/12/9.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鐪奸暅澧ㄩ暅",
-                "key": "鐪奸暅澧ㄩ暅",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/12/10.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鍙戝甫鍙戠畭",
-                "key": "鍙戝甫鍙戠畭",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/12/11.jpg",
-                "cat": 0
-            }
-        ]
-    },
-    {
-        "name": "瀹惰瀹剁汉",
-        "foods": [
-            {
-                "name": "瀹跺眳楗板搧",
-                "key": "瀹跺眳楗板搧",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/13/1.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鍑夊腑",
-                "key": "鍑夊腑",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/13/2.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鑳屾灂闈犳灂",
-                "key": "闈犳灂",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/13/3.jpg",
-                "cat": 0
-            },
-            {
-                "name": "搴婁笂鐢ㄥ搧",
-                "key": "搴婁笂鐢ㄥ搧",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/13/4.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鎽嗕欢",
-                "key": "鎽嗕欢",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/13/5.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鍥涗欢濂�",
-                "key": "鍥涗欢濂�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/13/6.jpg",
-                "cat": 0
-            },
-            {
-                "name": "瑁呴グ鍝�",
-                "key": "瑁呴グ鍝�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/13/7.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鍗荡鐢ㄥ搧",
-                "key": "鍗荡",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/13/8.jpg",
-                "cat": 0
-            },
-            {
-                "name": "瀹跺眳瀹惰",
-                "key": "瀹跺叿",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/13/9.jpg",
-                "cat": 0
-            },
-            {
-                "name": "铓婂笎",
-                "key": "铓婂笎",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/13/10.jpg",
-                "cat": 0
-            },
-            {
-                "name": "澧欑焊璐寸焊",
-                "key": "澧欑焊",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/13/11.jpg",
-                "cat": 0
-            },
-            {
-                "name": "绌鸿皟琚�",
-                "key": "绌鸿皟琚�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/13/12.jpg",
-                "cat": 0
-            }
-        ]
-    },
-    {
-        "name": "鎴峰杩愬姩",
-        "foods": [
-            {
-                "name": "娓告吵瑁呭",
-                "key": "娓告吵",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/14/1.jpg",
-                "cat": 0
-            },
-            {
-                "name": "娉抽暅",
-                "key": "娉抽暅",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/14/2.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鎴峰瑁呭",
-                "key": "鎴峰",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/14/3.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鍋ヨ韩鏈嶉グ",
-                "key": "鍋ヨ韩",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/14/4.jpg",
-                "cat": 0
-            },
-            {
-                "name": "娉宠。",
-                "key": "娉宠。",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/14/5.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鐟滀冀鍨�",
-                "key": "鐟滀冀鍨�",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/14/6.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鐟滀冀鐢ㄥ搧",
-                "key": "鐟滀冀",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/14/7.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鍋ヨ韩瑁呭",
-                "key": "鍋ヨ韩",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/14/8.jpg",
-                "cat": 0
-            },
-            {
-                "name": "鐞冭糠鐢ㄥ搧",
-                "key": "鐞冭糠",
-                "icon": "https://cdn.uviewui.com/uview/common/classify/14/9.jpg",
-                "cat": 0
-            }
-        ]
-    }
-]
\ No newline at end of file
diff --git a/src/pages_template/common/config.js b/src/pages_template/common/config.js
deleted file mode 100644
index fd26ebf..0000000
--- a/src/pages_template/common/config.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export default {
-    baseUrl: 'https://api.youzixy.com'
-}
diff --git a/src/pages_template/common/demo.scss b/src/pages_template/common/demo.scss
deleted file mode 100644
index a885219..0000000
--- a/src/pages_template/common/demo.scss
+++ /dev/null
@@ -1,45 +0,0 @@
-.u-block{
-	padding: 14px;
-	&__section{
-		margin-bottom:10px;
-	}
-	&__title {
-		margin-top:10px;
-		font-size: 15px;
-		color: $u-content-color;
-		margin-bottom:10px;
-	}
-	&__flex{
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-	}
-}
-
-// 浣跨敤浜哻ell缁勪欢鐨刬con鍥剧墖鏍峰紡
-.u-cell-icon {
-	width: 36rpx;
-	height: 36rpx;
-	margin-right: 8rpx;
-}
-
-.u-page {
-	padding: 15px 15px 40px 15px;
-}
-
-.u-demo-block {
-	flex: 1;
-	margin-bottom: 23px;
-	
-	&__content {
-		@include flex(column);
-	}
-	
-	&__title {
-		font-size: 14px;
-		color: rgb(143, 156, 162);
-		margin-bottom: 8px;
-		@include flex;
-	}
-}
-
diff --git a/src/pages_template/common/locales/en.js b/src/pages_template/common/locales/en.js
deleted file mode 100644
index 6f42c57..0000000
--- a/src/pages_template/common/locales/en.js
+++ /dev/null
@@ -1,21 +0,0 @@
-export default {
-	// 鍙互浠ラ〉闈负鍗曚綅鏉ュ啓锛屾瘮濡傞椤电殑鍐呭锛屽啓鍦╥ndex瀛楁锛屼釜浜轰腑蹇冨啓鍦╟enter锛屽叡鍚岄儴鍒嗗啓鍦╟ommon閮ㄥ垎
-	components: {
-		desc: 'Numerous components cover the various requirements of the development process, and the components are rich in functions and compatible with multiple terminals. Let you integrate quickly, out of the box'
-	},
-	js: {
-		desc: 'Numerous intimate gadgets are a weapon that you can call upon during the development process, allowing you to dart in your hand and pierce the Yang with a hundred steps'
-	},
-	template: {
-		desc: 'Collection of many commonly used pages and layouts, reducing the repetitive work of developers, allowing you to focus on logic and get twice the result with half the effort'
-	},
-	nav: {
-		components: 'Components',
-		js: 'JS',
-		template: 'Template'
-	},
-	common: {
-		intro: 'UI framework for rapid development of multiple platforms',
-		title: 'uview-plus',
-	},
-}
diff --git a/src/pages_template/common/locales/zh.js b/src/pages_template/common/locales/zh.js
deleted file mode 100644
index 752ac7c..0000000
--- a/src/pages_template/common/locales/zh.js
+++ /dev/null
@@ -1,21 +0,0 @@
-export default {
-	// 鍙互浠ラ〉闈负鍗曚綅鏉ュ啓锛屾瘮濡傞椤电殑鍐呭锛屽啓鍦╥ndex瀛楁锛屼釜浜轰腑蹇冨啓鍦╟enter锛屽叡鍚岄儴鍒嗗啓鍦╟ommon閮ㄥ垎
-	components: {
-		desc: '浼楀缁勪欢瑕嗙洊寮�鍙戣繃绋嬬殑鍚勪釜闇�姹傦紝缁勪欢鍔熻兘涓板瘜锛屽绔吋瀹广�傝浣犲揩閫熼泦鎴愶紝寮�绠卞嵆鐢�'
-	},
-	js: {
-		desc: '浼楀鐨勮创蹇冨皬宸ュ叿锛屾槸浣犲紑鍙戣繃绋嬩腑鍙箣鍗虫潵鐨勫埄鍣紝璁╀綘椋為晼鍦ㄦ墜锛岀櫨姝ョ┛鏉�'
-	},
-	template: {
-		desc: '鏀堕泦浼楀鐨勫父鐢ㄩ〉闈㈠拰甯冨眬锛屽噺灏戝紑鍙戣�呯殑閲嶅宸ヤ綔锛岃浣犱笓娉ㄩ�昏緫锛屼簨鍗婂姛鍊�'
-	},
-	nav: {
-		components: '缁勪欢',
-		js: '宸ュ叿',
-		template: '妯℃澘'
-	},
-	common: {
-		intro: '澶氬钩鍙板揩閫熷紑鍙戠殑UI妗嗘灦',
-		title: 'uview-plus',
-	},
-}
diff --git a/src/pages_template/common/mixin.js b/src/pages_template/common/mixin.js
deleted file mode 100644
index ef11f8f..0000000
--- a/src/pages_template/common/mixin.js
+++ /dev/null
@@ -1,7 +0,0 @@
-export default {
-    data() {
-        return {
-			isWeixin: true
-        }
-    }
-}
diff --git a/src/pages_template/common/props.js b/src/pages_template/common/props.js
deleted file mode 100644
index 9c1ef07..0000000
--- a/src/pages_template/common/props.js
+++ /dev/null
@@ -1,2 +0,0 @@
-uni.$u.props.gap.bgColor = '#f3f4f6'
-uni.$u.props.gap.height = '10'
diff --git a/src/pages_template/pages/address/addSite.vue b/src/pages_template/pages/address/addSite.vue
deleted file mode 100644
index 9cbaa31..0000000
--- a/src/pages_template/pages/address/addSite.vue
+++ /dev/null
@@ -1,444 +0,0 @@
-<script setup lang="ts">
-import { ref, reactive, onMounted } from 'vue';
-import tab from '@/plugins/tab';
-import citySelect from '@/components/u-city-select/u-city-select.vue';
-import { useAddressEditPage } from './index';
-
-// 浣跨敤缂栬緫椤甸潰Hook
-const {
-  isEdit,
-  form,
-  defaultAddress,
-  selectedTag,
-  addressTags,
-  initEditPage,
-  saveAddress,
-  deleteAddress
-} = useAddressEditPage();
-
-// 鍦板尯閫夋嫨鍣ㄦ樉绀虹姸鎬�
-const showRegionPicker = ref(false);
-
-// 琛ㄥ崟閿欒鐘舵�� - 绉诲埌Vue缁勪欢涓�
-const formErrors = reactive({
-  name: false,
-  phone: false,
-  region: false,
-  address: false
-});
-
-// 閲嶇疆琛ㄥ崟閿欒
-function resetFormErrors() {
-  formErrors.name = false;
-  formErrors.phone = false;
-  formErrors.region = false;
-  formErrors.address = false;
-}
-
-// 鍒濆鍖栭〉闈㈡暟鎹�
-onMounted(() => {
-  const pages = getCurrentPages();
-  const currentPage: any = pages[pages.length - 1];
-  const options = currentPage.$page?.options;
-
-  // 璋冪敤hook鐨勫垵濮嬪寲鏂规硶
-  initEditPage(options?.id);
-  // 閲嶇疆琛ㄥ崟閿欒鐘舵��
-  resetFormErrors();
-});
-
-// 璁剧疆榛樿鍦板潃
-function handleSetDefault(e: any) {
-  defaultAddress.value = e.detail.value;
-}
-
-// 鏄剧ず鍦板尯閫夋嫨鍣�
-function handleShowRegionPicker() {
-  showRegionPicker.value = true;
-}
-
-// 纭閫夋嫨鍦板尯
-function handleCityChange(e: any) {
-  form.region = e.province.label + e.city.label + e.area.label;
-  formErrors.region = false;
-}
-
-// 閫夋嫨鏍囩
-function handleSelectTag(tag: string) {
-  selectedTag.value = tag;
-}
-
-// 琛ㄥ崟楠岃瘉
-function validateForm(): boolean {
-  // 楠岃瘉濮撳悕
-  formErrors.name = !form.name.trim();
-
-  // 楠岃瘉鎵嬫満鍙�
-  const phoneReg = /^1[3-9]\d{9}$/;
-  formErrors.phone = !phoneReg.test(form.phone);
-
-  // 楠岃瘉鍦板尯
-  formErrors.region = !form.region;
-
-  // 楠岃瘉璇︾粏鍦板潃
-  formErrors.address = !form.address.trim();
-
-  // 濡傛灉鏈変换浣曢敊璇紝杩斿洖false
-  return !(formErrors.name || formErrors.phone || formErrors.region || formErrors.address);
-}
-
-// 淇濆瓨鍦板潃
-function handleSaveAddress() {
-  // 浣跨敤鏈湴楠岃瘉鏂规硶
-  if (!validateForm()) {
-    uni.showToast({
-      title: '璇峰~鍐欏畬鏁翠俊鎭�',
-      icon: 'none'
-    });
-    return;
-  }
-
-  try {
-    const success = saveAddress();
-
-    if (success) {
-      uni.showToast({
-        title: isEdit.value ? '淇敼鎴愬姛' : '娣诲姞鎴愬姛',
-        icon: 'success'
-      });
-
-      // 寤惰繜杩斿洖锛岃鐢ㄦ埛鐪嬪埌鎻愮ず
-      setTimeout(() => {
-        tab.navigateBack();
-      }, 1000);
-    } else {
-      uni.showToast({
-        title: '淇濆瓨澶辫触',
-        icon: 'none'
-      });
-    }
-  } catch (e) {
-    console.error('淇濆瓨鍦板潃澶辫触', e);
-    uni.showToast({
-      title: '淇濆瓨澶辫触',
-      icon: 'none'
-    });
-  }
-}
-
-// 鍒犻櫎鍦板潃
-function handleDeleteAddress() {
-  if (!isEdit.value) return;
-
-  uni.showModal({
-    title: '鎻愮ず',
-    content: '纭畾瑕佸垹闄ゆ鍦板潃鍚楋紵',
-    success: (res) => {
-      if (res.confirm) {
-        try {
-          const success = deleteAddress();
-
-          if (success) {
-            uni.showToast({
-              title: '鍒犻櫎鎴愬姛',
-              icon: 'success'
-            });
-
-            setTimeout(() => {
-              tab.navigateBack();
-            }, 1000);
-          } else {
-            uni.showToast({
-              title: '鍒犻櫎澶辫触',
-              icon: 'none'
-            });
-          }
-        } catch (e) {
-          console.error('鍒犻櫎鍦板潃澶辫触', e);
-          uni.showToast({
-            title: '鍒犻櫎澶辫触',
-            icon: 'none'
-          });
-        }
-      }
-    }
-  });
-}
-</script>
-
-<template>
-  <view class="wrap">
-    <view class="container">
-      <view class="top">
-        <view class="item">
-          <view class="left">
-            <text class="required">*</text>鏀惰揣浜�
-          </view>
-          <input type="text" v-model="form.name" placeholder-class="line" placeholder="璇峰~鍐欐敹璐т汉濮撳悕"
-            :class="{ 'error-input': formErrors.name }" />
-          <u-icon name="account" size="36rpx" color="#999"></u-icon>
-        </view>
-        <view class="error-msg" v-if="formErrors.name">璇疯緭鍏ユ敹璐т汉濮撳悕</view>
-
-        <view class="item">
-          <view class="left">
-            <text class="required">*</text>鎵嬫満鍙风爜
-          </view>
-          <input type="number" v-model="form.phone" placeholder-class="line" placeholder="璇峰~鍐欐敹璐т汉鎵嬫満鍙�" maxlength="11"
-            :class="{ 'error-input': formErrors.phone }" />
-          <u-icon name="phone" size="36rpx" color="#999"></u-icon>
-        </view>
-        <view class="error-msg" v-if="formErrors.phone">璇疯緭鍏ユ纭殑鎵嬫満鍙风爜</view>
-
-        <view class="item" @tap="handleShowRegionPicker">
-          <view class="left">
-            <text class="required">*</text>鎵�鍦ㄥ湴鍖�
-          </view>
-          <input disabled v-model="form.region" type="text" placeholder-class="line" placeholder="鐪佸競鍖哄幙銆佷埂闀囩瓑"
-            :class="{ 'error-input': formErrors.region }" />
-          <u-icon name="arrow-right" size="36rpx" color="#999"></u-icon>
-        </view>
-        <view class="error-msg" v-if="formErrors.region">璇烽�夋嫨鎵�鍦ㄥ湴鍖�</view>
-
-        <view class="item address">
-          <view class="left">
-            <text class="required">*</text>璇︾粏鍦板潃
-          </view>
-          <textarea v-model="form.address" type="text" placeholder-class="line" placeholder="琛楅亾銆佹ゼ鐗岀瓑"
-            :class="{ 'error-textarea': formErrors.address }" />
-        </view>
-        <view class="error-msg" v-if="formErrors.address">璇疯緭鍏ヨ缁嗗湴鍧�</view>
-      </view>
-
-      <view class="bottom">
-        <view class="tag">
-          <view class="left">鏍囩</view>
-          <view class="right">
-            <text v-for="tag in addressTags" :key="tag" class="tags" :class="{ 'active': selectedTag === tag }"
-              @tap="handleSelectTag(tag)">
-              {{ tag }}
-            </text>
-            <view class="tags plus"><u-icon size="22" name="plus" color="#999"></u-icon></view>
-          </view>
-        </view>
-        <view class="default">
-          <view class="left">
-            <view class="set">璁剧疆榛樿鍦板潃</view>
-            <view class="tips">鎻愰啋锛氭瘡娆′笅鍗曚細榛樿鎺ㄨ崘璇ュ湴鍧�</view>
-          </view>
-          <view class="right">
-            <switch color="#fa3534" :checked="defaultAddress" @change="handleSetDefault" />
-          </view>
-        </view>
-      </view>
-
-      <view class="button-group">
-        <view class="save-btn" @tap="handleSaveAddress">
-          {{ isEdit ? '淇濆瓨淇敼' : '淇濆瓨鍦板潃' }}
-        </view>
-        <view v-if="isEdit" class="delete-btn" @tap="handleDeleteAddress">
-          鍒犻櫎鍦板潃
-        </view>
-      </view>
-    </view>
-
-    <city-select v-model="showRegionPicker" @city-change="handleCityChange"></city-select>
-  </view>
-</template>
-
-<style lang="scss" scoped>
-:v-deep(.line) {
-  color: $u-light-color;
-  font-size: 28rpx;
-}
-
-.wrap {
-  background-color: #f5f5f5;
-  min-height: 100vh;
-  padding: 20rpx;
-  box-sizing: border-box;
-
-  .container {
-    border-radius: 16rpx;
-    overflow: hidden;
-    box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.05);
-  }
-
-  .top {
-    background-color: #ffffff;
-    padding: 30rpx;
-
-    .item {
-      display: flex;
-      font-size: 32rpx;
-      line-height: 100rpx;
-      align-items: center;
-      border-bottom: solid 1rpx #eeeeee;
-      position: relative;
-
-      .left {
-        width: 180rpx;
-        font-weight: 500;
-        color: #333;
-
-        .required {
-          color: #fa3534;
-          margin-right: 4rpx;
-        }
-      }
-
-      input {
-        text-align: left;
-        flex: 1;
-        height: 100rpx;
-        font-size: 30rpx;
-
-        &.error-input {
-          border-bottom: 1px solid #fa3534;
-        }
-      }
-
-      u-icon {
-        margin-left: 10rpx;
-      }
-    }
-
-    .error-msg {
-      color: #fa3534;
-      font-size: 24rpx;
-      padding-left: 180rpx;
-      margin-top: -10rpx;
-      margin-bottom: 10rpx;
-    }
-
-    .address {
-      padding: 20rpx 0;
-      align-items: flex-start;
-
-      .left {
-        padding-top: 20rpx;
-      }
-
-      textarea {
-        flex: 1;
-        height: 180rpx;
-        background-color: #f9f9f9;
-        line-height: 60rpx;
-        margin: 20rpx 0;
-        padding: 20rpx;
-        border-radius: 12rpx;
-        font-size: 30rpx;
-
-        &.error-textarea {
-          border: 1px solid #fa3534;
-        }
-      }
-    }
-  }
-
-  .bottom {
-    margin-top: 20rpx;
-    padding: 30rpx;
-    background-color: #ffffff;
-    font-size: 28rpx;
-    border-radius: 16rpx;
-
-    .tag {
-      display: flex;
-      align-items: center;
-
-      .left {
-        width: 160rpx;
-        font-weight: 500;
-        color: #333;
-      }
-
-      .right {
-        display: flex;
-        flex-wrap: wrap;
-        flex: 1;
-
-        .tags {
-          width: 150rpx;
-          padding: 20rpx 10rpx;
-          border: solid 2rpx #eeeeee;
-          text-align: center;
-          border-radius: 100rpx;
-          margin: 0 20rpx 20rpx 0;
-          display: flex;
-          font-size: 28rpx;
-          align-items: center;
-          justify-content: center;
-          color: #333;
-          line-height: 1;
-          transition: all 0.3s;
-
-          &.active {
-            background-color: #ffebec;
-            color: #fa3534;
-            border-color: #fa3534;
-          }
-        }
-
-        .plus {
-          background-color: #f5f5f5;
-        }
-      }
-    }
-
-    .default {
-      margin-top: 30rpx;
-      display: flex;
-      justify-content: space-between;
-      align-items: center;
-      padding-bottom: 20rpx;
-
-      .left {
-        .set {
-          font-weight: 500;
-          color: #333;
-          font-size: 30rpx;
-        }
-
-        .tips {
-          font-size: 24rpx;
-          color: #999;
-          margin-top: 10rpx;
-        }
-      }
-    }
-  }
-
-  .button-group {
-    display: flex;
-    flex-direction: column;
-    margin-top: 60rpx;
-
-    .save-btn {
-      background: linear-gradient(90deg, #ff4034, #fa3534);
-      color: #fff;
-      height: 90rpx;
-      line-height: 90rpx;
-      text-align: center;
-      font-size: 32rpx;
-      border-radius: 45rpx;
-      font-weight: bold;
-      box-shadow: 0 10rpx 20rpx rgba(250, 53, 52, 0.2);
-      letter-spacing: 2rpx;
-    }
-
-    .delete-btn {
-      margin-top: 30rpx;
-      background: #ffffff;
-      color: #fa3534;
-      border: 1px solid #fa3534;
-      height: 90rpx;
-      line-height: 90rpx;
-      text-align: center;
-      font-size: 32rpx;
-      border-radius: 45rpx;
-      letter-spacing: 2rpx;
-    }
-  }
-}
-</style>
diff --git a/src/pages_template/pages/address/index.ts b/src/pages_template/pages/address/index.ts
deleted file mode 100644
index 32701bc..0000000
--- a/src/pages_template/pages/address/index.ts
+++ /dev/null
@@ -1,256 +0,0 @@
-import { ref, reactive, computed } from 'vue';
-import { onShow } from '@dcloudio/uni-app';
-
-/**
- * 鍦板潃淇℃伅鎺ュ彛
- */
-export interface AddressInfo {
-    id: string;          // 鍦板潃ID
-    name: string;        // 鏀惰揣浜哄鍚�
-    phone: string;       // 鎵嬫満鍙风爜(宸茶劚鏁�)
-    region: string;      // 鍦板尯(濡�: 骞夸笢鐪佹繁鍦冲競鍗楀北鍖�)
-    address: string;     // 璇︾粏鍦板潃
-    tag: string;         // 鍦板潃鏍囩(濡�: 瀹躲�佸叕鍙搞�佸鏍�)
-    isDefault: boolean;  // 鏄惁涓洪粯璁ゅ湴鍧�
-}
-
-/**
- * 绀轰緥鍦板潃鏁版嵁
- */
-const sampleAddresses: AddressInfo[] = [
-    {
-        id: '1',
-        name: '寮犱笁',
-        phone: '13712348888',
-        region: '骞夸笢鐪佹繁鍦冲競鍗楀北鍖�',
-        address: '绉戞妧鍥崡璺�888鍙峰垱鏂板ぇ鍘搴�10妤�',
-        tag: '鍏徃',
-        isDefault: true
-    },
-    {
-        id: '2',
-        name: '鏉庡洓',
-        phone: '13912345678',
-        region: '骞夸笢鐪佹繁鍦冲競绂忕敯鍖�',
-        address: '绂忎腑璺�1000鍙锋捣鍩庡ぇ鍘搴�20妤�2001瀹�',
-        tag: '瀹�',
-        isDefault: false
-    },
-    {
-        id: '3',
-        name: '鐜嬩簲',
-        phone: '15812342233',
-        region: '骞夸笢鐪佸箍宸炲競澶╂渤鍖�',
-        address: '澶╂渤璺�100鍙峰ぉ娌冲煄璐墿涓績闄勮繎灏忓尯A鏍�3鍗曞厓701瀹�',
-        tag: '瀛︽牎',
-        isDefault: false
-    }
-];
-
-// 鍏变韩鐨勫湴鍧�鏁版嵁
-const addressStore = {
-    list: ref<AddressInfo[]>([]),
-    tags: ref(['瀹�', '鍏徃', '瀛︽牎'])
-};
-
-/**
- * 鏍煎紡鍖栨墜鏈哄彿锛屼腑闂�4浣嶇敤鏄熷彿浠f浛
- */
-export function formatPhoneNumber(phone: string): string {
-    return phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2');
-}
-
-/**
- * 鍦板潃鍒楄〃椤甸潰Hook
- * @description 鎻愪緵鍦板潃鍒楄〃椤甸潰鎵�闇�鐨勭姸鎬佸拰鏂规硶
- */
-export function useAddressListPage() {
-    // 浠庡叡浜玸tore鑾峰彇鍝嶅簲寮忔暟鎹�
-    const addressList = addressStore.list;
-
-    // 浣跨敤璁$畻灞炴�ц绠楁槸鍚︿负绌虹姸鎬�
-    const emptyStatus = computed(() => addressList.value.length === 0);
-
-    // 鏇存柊鍦板潃鍒楄〃
-    function refreshAddressList() {
-        addressList.value = sampleAddresses
-        // 瀹為檯椤圭洰涓紝杩欓噷搴旇璋冪敤API鑾峰彇鏈�鏂扮殑鍦板潃鍒楄〃
-        // const response = await api.getAddressList();
-        // addressList.value = response.data;
-    }
-
-    // 璁剧疆榛樿鍦板潃
-    function setDefaultAddress(id: string): boolean {
-        const index = addressList.value.findIndex(item => item.id === id);
-
-        if (index === -1) return false;
-
-        // 鏇存柊鎵�鏈夊湴鍧�鐨勯粯璁ょ姸鎬�
-        addressList.value = addressList.value.map(item => ({
-            ...item,
-            isDefault: item.id === id
-        }));
-
-        return true;
-    }
-
-    // 鍒犻櫎鍦板潃
-    function deleteAddress(id: string): boolean {
-        const initialLength = addressList.value.length;
-        addressList.value = addressList.value.filter(item => item.id !== id);
-        return addressList.value.length !== initialLength;
-    }
-
-    // 椤甸潰鏄剧ず鏃跺埛鏂版暟鎹�
-    onShow(() => {
-        refreshAddressList();
-    });
-
-    return {
-        // 鍝嶅簲寮忕姸鎬�
-        addressList,
-        emptyStatus,
-        // 鏂规硶
-        setDefaultAddress,
-        deleteAddress,
-        refreshAddressList
-    };
-}
-
-/**
- * 鍦板潃缂栬緫椤甸潰Hook
- * @description 鎻愪緵鍦板潃缂栬緫椤甸潰鎵�闇�鐨勭姸鎬佸拰鏂规硶
- */
-export function useAddressEditPage() {
-    // 浠庡叡浜玸tore鑾峰彇鍝嶅簲寮忔暟鎹�
-    const addressList = addressStore.list;
-    const addressTags = addressStore.tags;
-
-    // 椤甸潰鐘舵��
-    const isEdit = ref(false);
-    const editId = ref('');
-    const defaultAddress = ref(false);
-    const selectedTag = ref('瀹�');
-
-    // 琛ㄥ崟鏁版嵁
-    const form = reactive({
-        name: '',
-        phone: '',
-        region: '',
-        address: ''
-    });
-
-    // 鍔犺浇缂栬緫鏁版嵁
-    function loadAddressData(id: string): boolean {
-        const address = addressList.value.find(item => item.id === id);
-
-        if (!address) return false;
-
-        // 濉厖琛ㄥ崟鏁版嵁
-        form.name = address.name;
-        form.phone = address.phone;
-        form.region = address.region;
-        form.address = address.address;
-        selectedTag.value = address.tag;
-        defaultAddress.value = address.isDefault;
-
-        return true;
-    }
-
-    // 鍒濆鍖栭〉闈�
-    function initEditPage(id?: string) {
-        // 閲嶇疆鐘舵��
-        isEdit.value = !!id;
-        editId.value = id || '';
-        defaultAddress.value = false;
-        selectedTag.value = '瀹�';
-
-        form.name = '';
-        form.phone = '';
-        form.region = '';
-        form.address = '';
-
-        // 濡傛灉鏄紪杈戞ā寮忥紝鍔犺浇鍦板潃鏁版嵁
-        if (id) {
-            loadAddressData(id);
-        }
-    }
-
-    // 淇濆瓨鍦板潃
-    function saveAddress(): boolean {
-        if (isEdit.value) {
-            // 缂栬緫鐜版湁鍦板潃
-            const index = addressList.value.findIndex(item => item.id === editId.value);
-            if (index === -1) return false;
-
-            // 濡傛灉璁句负榛樿锛屾洿鏂板叾浠栧湴鍧�
-            if (defaultAddress.value) {
-                addressList.value = addressList.value.map(item => {
-                    if (item.id !== editId.value) {
-                        return { ...item, isDefault: false };
-                    }
-                    return item;
-                });
-            }
-
-            // 鏇存柊褰撳墠鍦板潃
-            addressList.value[index] = {
-                ...addressList.value[index],
-                name: form.name,
-                phone: form.phone,
-                region: form.region,
-                address: form.address,
-                tag: selectedTag.value,
-                isDefault: defaultAddress.value
-            };
-        } else {
-            // 娣诲姞鏂板湴鍧�
-            const newId = Date.now().toString();
-
-            // 濡傛灉璁句负榛樿锛屾洿鏂板叾浠栧湴鍧�
-            if (defaultAddress.value) {
-                addressList.value = addressList.value.map(item => ({
-                    ...item,
-                    isDefault: false
-                }));
-            }
-
-            // 娣诲姞鏂板湴鍧�
-            addressList.value.push({
-                id: newId,
-                name: form.name,
-                phone: form.phone,
-                region: form.region,
-                address: form.address,
-                tag: selectedTag.value,
-                isDefault: defaultAddress.value
-            });
-        }
-
-        return true;
-    }
-
-    // 鍒犻櫎鍦板潃
-    function deleteAddress(): boolean {
-        if (!isEdit.value) return false;
-
-        const initialLength = addressList.value.length;
-        addressList.value = addressList.value.filter(item => item.id !== editId.value);
-
-        return addressList.value.length !== initialLength;
-    }
-
-    return {
-        // 鍝嶅簲寮忕姸鎬�
-        isEdit,
-        editId,
-        form,
-        defaultAddress,
-        selectedTag,
-        addressTags,
-        // 鏂规硶
-        initEditPage,
-        saveAddress,
-        deleteAddress
-    };
-}
\ No newline at end of file
diff --git a/src/pages_template/pages/address/index.vue b/src/pages_template/pages/address/index.vue
deleted file mode 100644
index b7c6a11..0000000
--- a/src/pages_template/pages/address/index.vue
+++ /dev/null
@@ -1,262 +0,0 @@
-<script setup lang="ts">
-import tab from '@/plugins/tab';
-import { AddressInfo, useAddressListPage } from './index';
-
-// 浣跨敤鍒楄〃椤甸潰Hook
-const {
-	addressList,
-	emptyStatus,
-	setDefaultAddress,
-	deleteAddress
-} = useAddressListPage();
-
-// 璺宠浆鍒版坊鍔犲湴鍧�椤甸潰
-function toAddSite() {
-	tab.navigateTo('/pages_template/pages/address/addSite');
-}
-
-// 璺宠浆鍒扮紪杈戝湴鍧�椤甸潰
-function toEditSite(id: string) {
-	tab.navigateTo(`/pages_template/pages/address/addSite?id=${id}`);
-}
-
-// 璁剧疆涓洪粯璁ゅ湴鍧�
-function handleSetDefault(id: string) {
-	try {
-		const success = setDefaultAddress(id);
-
-		if (success) {
-			uni.showToast({
-				title: '璁剧疆鎴愬姛',
-				icon: 'success'
-			});
-		} else {
-			uni.showToast({
-				title: '璁剧疆澶辫触',
-				icon: 'none'
-			});
-		}
-	} catch (e) {
-		console.error('璁剧疆榛樿鍦板潃澶辫触', e);
-		uni.showToast({
-			title: '璁剧疆澶辫触',
-			icon: 'none'
-		});
-	}
-}
-
-// 鍒犻櫎鍦板潃
-function handleDeleteAddress(id: string) {
-	uni.showModal({
-		title: '鎻愮ず',
-		content: '纭畾瑕佸垹闄ゆ鍦板潃鍚楋紵',
-		success: (res) => {
-			if (res.confirm) {
-				try {
-					const success = deleteAddress(id);
-
-					if (success) {
-						uni.showToast({
-							title: '鍒犻櫎鎴愬姛',
-							icon: 'success'
-						});
-					} else {
-						uni.showToast({
-							title: '鍒犻櫎澶辫触',
-							icon: 'none'
-						});
-					}
-				} catch (e) {
-					console.error('鍒犻櫎鍦板潃澶辫触', e);
-					uni.showToast({
-						title: '鍒犻櫎澶辫触',
-						icon: 'none'
-					});
-				}
-			}
-		}
-	});
-}
-
-// 閫夋嫨骞惰繑鍥炲湴鍧�锛堢敤浜庝粠璁㈠崟椤甸潰閫夋嫨鍦板潃鐨勫満鏅級
-function selectAddress(address: AddressInfo) {
-	const pages = getCurrentPages();
-	const prevPage: any = pages[pages.length - 2];
-
-	// 妫�鏌ラ〉闈㈡槸鍚︿粠璁㈠崟椤甸潰璺宠浆鑰屾潵
-	if (prevPage && prevPage.$page?.options?.from === 'order') {
-		// 璁剧疆閫変腑鐨勫湴鍧�骞惰繑鍥�
-		uni.$emit('address-selected', address);
-		tab.navigateBack();
-	}
-}
-</script>
-
-<template>
-	<view class="address-container">
-		<!-- 绌虹姸鎬� -->
-		<view class="empty-state" v-if="emptyStatus">
-			<image src="/static/images/empty-address.png" mode="aspectFit" class="empty-image"></image>
-			<view class="empty-text">鎮ㄨ繕娌℃湁娣诲姞鏀惰揣鍦板潃</view>
-		</view>
-
-		<!-- 鍦板潃鍒楄〃 -->
-		<view v-else>
-			<view class="item" v-for="(address, index) in addressList" :key="address.id">
-				<view class="top" @tap="selectAddress(address)">
-					<view class="name">{{ address.name }}</view>
-					<view class="phone">{{ address.phone }}</view>
-					<view class="tag">
-						<text v-if="address.isDefault" class="red">榛樿</text>
-						<text v-if="address.tag">{{ address.tag }}</text>
-					</view>
-				</view>
-				<view class="bottom" @tap="selectAddress(address)">
-					{{ address.region }} {{ address.address }}
-				</view>
-				<view class="actions">
-					<view class="action-btn" @tap="handleSetDefault(address.id)" v-if="!address.isDefault">
-						<u-icon name="checkmark-circle" color="#999" size="40rpx"></u-icon>
-						<text>璁句负榛樿</text>
-					</view>
-					<view class="action-btn" @tap="toEditSite(address.id)">
-						<u-icon name="edit-pen" color="#999" size="40rpx"></u-icon>
-						<text>缂栬緫</text>
-					</view>
-					<view class="action-btn" @tap="handleDeleteAddress(address.id)">
-						<u-icon name="trash" color="#999" size="40rpx"></u-icon>
-						<text>鍒犻櫎</text>
-					</view>
-				</view>
-			</view>
-		</view>
-
-		<!-- 鏂板缓鍦板潃鎸夐挳 -->
-		<view class="addSite" @tap="toAddSite">
-			<view class="add">
-				<u-icon name="plus" color="#ffffff" class="icon" :size="30"></u-icon>鏂板缓鏀惰揣鍦板潃
-			</view>
-		</view>
-	</view>
-</template>
-
-<style lang="scss" scoped>
-.address-container {
-	padding-bottom: 180rpx;
-	min-height: 100vh;
-	background-color: #f5f5f5;
-}
-
-.empty-state {
-	display: flex;
-	flex-direction: column;
-	align-items: center;
-	justify-content: center;
-	padding-top: 200rpx;
-
-	.empty-image {
-		width: 200rpx;
-		height: 200rpx;
-		margin-bottom: 40rpx;
-	}
-
-	.empty-text {
-		color: #999;
-		font-size: 30rpx;
-	}
-}
-
-.item {
-	box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
-	border-radius: 16rpx;
-	margin: 20rpx;
-	padding: 30rpx;
-	background-color: #ffffff;
-
-	.top {
-		display: flex;
-		align-items: center;
-		font-size: 32rpx;
-		font-weight: bold;
-
-		.phone {
-			margin-left: 40rpx;
-			color: #666666;
-		}
-
-		.tag {
-			margin-left: auto;
-
-			text {
-				background-color: #e0f7fa;
-				color: #00bcd4;
-				border-radius: 20rpx;
-				padding: 8rpx 16rpx;
-				font-size: 24rpx;
-				margin-left: 10rpx;
-			}
-
-			.red {
-				background-color: #ffebee;
-				color: #d32f2f;
-			}
-		}
-	}
-
-	.bottom {
-		margin-top: 20rpx;
-		font-size: 28rpx;
-		color: #666666;
-		line-height: 1.6;
-		padding-bottom: 20rpx;
-		border-bottom: 1px solid #f0f0f0;
-	}
-
-	.actions {
-		display: flex;
-		justify-content: flex-end;
-		margin-top: 20rpx;
-
-		.action-btn {
-			display: flex;
-			align-items: center;
-			margin-left: 30rpx;
-			font-size: 26rpx;
-			color: #666;
-
-			text {
-				margin-left: 6rpx;
-			}
-		}
-	}
-}
-
-.addSite {
-	position: fixed;
-	bottom: 40rpx;
-	left: 50%;
-	transform: translateX(-50%);
-	width: 80%;
-	height: 100rpx;
-	line-height: 100rpx;
-	background: linear-gradient(90deg, #ff4034, #fa3534);
-	border-radius: 50rpx;
-	text-align: center;
-	color: #ffffff;
-	font-size: 32rpx;
-	box-shadow: 0 8rpx 16rpx rgba(250, 53, 52, 0.2);
-	z-index: 100;
-
-	.add {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		height: 100%;
-		width: 100%;
-
-		.icon {
-			margin-right: 10rpx;
-		}
-	}
-}
-</style>
diff --git a/src/pages_template/pages/citySelect/index.vue b/src/pages_template/pages/citySelect/index.vue
deleted file mode 100644
index 14f57c4..0000000
--- a/src/pages_template/pages/citySelect/index.vue
+++ /dev/null
@@ -1,34 +0,0 @@
-<script setup>
-import { ref } from 'vue';
-import citySelect from '@/components/u-city-select/u-city-select.vue';
-const value = ref(false);
-const input = ref('');
-
-const cityChange = (e) => {
-	input.value = e.province.label + '-' + e.city.label + '-' + e.area.label;
-	input.value += e.province.value + '-' + e.city.value + '-' + e.area.value;
-};
-</script>
-<template>
-	<view class="u-demo">
-		<view class="u-demo-wrap">
-			<view class="u-demo-title">婕旂ず鏁堟灉</view>
-			<view class="u-demo-area">
-				<city-select v-model="value" @city-change="cityChange"></city-select>
-				<view class="u-demo-result-line">{{ input ? input : 'Picker鍊�' }}</view>
-			</view>
-		</view>
-		<view class="u-config-wrap">
-			<view class="u-config-title u-border-bottom">鍙傛暟閰嶇疆</view>
-			<view class="u-config-item">
-				<view class="u-item-title">鐘舵��</view>
-				<u-button @click="value = true">鎵撳紑Picker</u-button>
-			</view>
-		</view>
-	</view>
-</template>
-<style scoped>
-.btn-wrap {
-	margin: 100rpx 30rpx;
-}
-</style>
diff --git a/src/pages_template/pages/comment/index.vue b/src/pages_template/pages/comment/index.vue
deleted file mode 100644
index 46e33ea..0000000
--- a/src/pages_template/pages/comment/index.vue
+++ /dev/null
@@ -1,265 +0,0 @@
-<template>
-	<view>
-		<view class="comment" v-for="(res, index) in commentList" :key="res.id">
-			<view class="left">
-				<image :src="res.url" mode="aspectFill"></image>
-			</view>
-			<view class="right">
-				<view class="top">
-					<view class="name">{{ res.name }}</view>
-					<view class="like" :class="{ highlight: res.isLike }">
-						<view class="num">{{ res.likeNum }}</view>
-						<u-icon v-if="!res.isLike" name="thumb-up" :size="30" color="#9a9a9a"
-							@click="getLike(index)"></u-icon>
-						<u-icon v-if="res.isLike" name="thumb-up-fill" :size="30" @click="getLike(index)"></u-icon>
-					</view>
-				</view>
-				<view class="content">{{ res.contentText }}</view>
-				<view class="reply-box">
-					<view class="item" v-for="(item, index) in res.replyList" :key="item.index">
-						<view class="username">{{ item.name }}</view>
-						<view class="text">{{ item.contentStr }}</view>
-					</view>
-					<view class="all-reply" @tap="toAllReply" v-if="res.replyList != undefined">
-						鍏眥{ res.allReply }}鏉″洖澶�
-						<u-icon class="more" name="arrow-right" :size="26"></u-icon>
-					</view>
-				</view>
-				<view class="bottom">
-					{{ res.date }}
-					<view class="reply">鍥炲</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script setup>
-import { ref, onMounted } from 'vue';
-import tab from '@/plugins/tab';
-
-const commentList = ref([]);
-
-onMounted(() => {
-	getComment();
-});
-
-const toAllReply = () => tab.navigateTo('/pages_template/pages/comment/reply')
-
-const getLike = (index) => {
-	commentList.value[index].isLike = !commentList.value[index].isLike;
-	if (commentList.value[index].isLike) {
-		commentList.value[index].likeNum++;
-	} else {
-		commentList.value[index].likeNum--;
-	}
-};
-
-const getComment = () => {
-	commentList.value = [
-		{
-			id: 1,
-			name: '鍙惰交鐪�',
-			date: '12-25 18:58',
-			contentText: '鎴戜笉淇′紛鏈椾細娌℃湁鍚庣画鍙嶅簲锛岀編鍥借偗瀹氫細涓轰粖澶╃殑浜嬫儏浠樺嚭浠d环鐨�',
-			url: 'https://cdn.uviewui.com/uview/template/SmilingDog.jpg',
-			allReply: 12,
-			likeNum: 33,
-			isLike: false,
-			replyList: [
-				{
-					name: 'uview',
-					contentStr: 'uview鏄熀浜巙niapp鐨勪竴涓猆I妗嗘灦锛屼唬鐮佷紭缇庣畝娲侊紝瀹囧畽瓒呯骇鏃犳晫褰╄櫣鏃嬭浆濂界敤锛岀敤瀹冿紒'
-				},
-				{
-					name: '绮樼矘',
-					contentStr: '浠婂ぉ鍚冧粈涔堬紝鏄庡ぉ鍚冧粈涔堬紝鏅氫笂鍚冧粈涔堬紝鎴戝彧鏄竴鍙皬鐚挭涓轰粈涔堣鐑︽伡杩欎箞澶�'
-				}
-			]
-		},
-		{
-			id: 2,
-			name: '鍙惰交鐪�1',
-			date: '01-25 13:58',
-			contentText: '鎴戜笉淇′紛鏈椾細娌℃湁鍚庣画鍙嶅簲锛岀編鍥借偗瀹氫細涓轰粖澶╃殑浜嬫儏浠樺嚭浠d环鐨�',
-			allReply: 0,
-			likeNum: 11,
-			isLike: false,
-			url: 'https://cdn.uviewui.com/uview/template/niannian.jpg',
-		},
-		{
-			id: 3,
-			name: '鍙惰交鐪�2',
-			date: '03-25 13:58',
-			contentText: '鎴戜笉淇′紛鏈椾細娌℃湁鍚庣画鍙嶅簲锛岀編鍥借偗瀹氫細涓轰粖澶╃殑浜嬫儏浠樺嚭浠d环鐨�',
-			allReply: 0,
-			likeNum: 21,
-			isLike: false,
-			allReply: 2,
-			url: '../../../static/logo.png',
-			replyList: [
-				{
-					name: 'uview',
-					contentStr: 'uview鏄熀浜巙niapp鐨勪竴涓猆I妗嗘灦锛屼唬鐮佷紭缇庣畝娲侊紝瀹囧畽瓒呯骇鏃犳晫褰╄櫣鏃嬭浆濂界敤锛岀敤瀹冿紒'
-				},
-				{
-					name: '璞嗗寘',
-					contentStr: '鎯冲悆鍐扮硸钁姦绮樿眴鍖咃紝浣嗘病閽�5555.........'
-				}
-			]
-		},
-		{
-			id: 4,
-			name: '鍙惰交鐪�3',
-			date: '06-20 13:58',
-			contentText: '鎴戜笉淇′紛鏈椾細娌℃湁鍚庣画鍙嶅簲锛岀編鍥借偗瀹氫細涓轰粖澶╃殑浜嬫儏浠樺嚭浠d环鐨�',
-			url: 'https://cdn.uviewui.com/uview/template/SmilingDog.jpg',
-			allReply: 0,
-			likeNum: 150,
-			isLike: false
-		}
-	];
-};
-</script>
-
-<style lang="scss" scoped>
-.comment {
-	display: flex;
-	padding: 30rpx;
-	margin-bottom: 20rpx;
-	background-color: #ffffff;
-	border-radius: 12rpx;
-	box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.05);
-	transition: all 0.3s;
-	
-	&:hover {
-		box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.1);
-	}
-
-	.left {
-		image {
-			width: 72rpx;
-			height: 72rpx;
-			border-radius: 50%;
-			background-color: #f2f2f2;
-			border: 2rpx solid #eaeaea;
-			box-shadow: 0 2rpx 6rpx rgba(0, 0, 0, 0.1);
-		}
-	}
-
-	.right {
-		flex: 1;
-		padding-left: 24rpx;
-		font-size: 28rpx;
-		line-height: 1.6;
-
-		.top {
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-			margin-bottom: 12rpx;
-
-			.name {
-				color: #5677fc;
-				font-weight: 500;
-				font-size: 30rpx;
-			}
-
-			.like {
-				display: flex;
-				align-items: center;
-				color: #9a9a9a;
-				font-size: 26rpx;
-				padding: 4rpx 12rpx;
-				border-radius: 30rpx;
-				transition: all 0.2s;
-				
-				&:active {
-					background-color: rgba(86, 119, 252, 0.1);
-				}
-
-				.num {
-					margin-right: 8rpx;
-					color: #9a9a9a;
-				}
-			}
-
-			.highlight {
-				color: #5677fc;
-
-				.num {
-					color: #5677fc;
-				}
-			}
-		}
-
-		.content {
-			margin-bottom: 16rpx;
-			color: #333333;
-			line-height: 1.8;
-		}
-
-		.reply-box {
-			background-color: #f7f7f7;
-			border-radius: 12rpx;
-			margin-top: 12rpx;
-			margin-bottom: 8rpx;
-			overflow: hidden;
-
-			.item {
-				padding: 20rpx;
-				border-bottom: solid 1rpx rgba(0, 0, 0, 0.05);
-
-				.username {
-					font-size: 26rpx;
-					color: #5677fc;
-					font-weight: 500;
-					margin-bottom: 6rpx;
-				}
-				
-				.text {
-					font-size: 28rpx;
-					color: #333333;
-				}
-			}
-
-			.all-reply {
-				padding: 20rpx;
-				display: flex;
-				color: #5677fc;
-				align-items: center;
-				font-size: 26rpx;
-				transition: all 0.2s;
-				
-				&:active {
-					background-color: rgba(86, 119, 252, 0.1);
-				}
-
-				.more {
-					margin-left: 6rpx;
-				}
-			}
-		}
-
-		.bottom {
-			margin-top: 20rpx;
-			display: flex;
-			font-size: 24rpx;
-			color: #9a9a9a;
-			align-items: center;
-
-			.reply {
-				color: #5677fc;
-				margin-left: 16rpx;
-				padding: 4rpx 16rpx;
-				border-radius: 30rpx;
-				transition: all 0.2s;
-				
-				&:active {
-					background-color: rgba(86, 119, 252, 0.1);
-				}
-			}
-		}
-	}
-}
-</style>
diff --git a/src/pages_template/pages/comment/reply.vue b/src/pages_template/pages/comment/reply.vue
deleted file mode 100644
index 7df6d5f..0000000
--- a/src/pages_template/pages/comment/reply.vue
+++ /dev/null
@@ -1,249 +0,0 @@
-<script setup>
-import { ref, onMounted } from 'vue';
-
-const commentList = ref([]);
-const comment = ref({});
-
-onMounted(() => {
-	getReply();
-});
-
-// 鐐硅禐
-const getLike = (index) => {
-	if (index === 0 || index > 0) {
-		commentList.value[index].isLike = !commentList.value[index].isLike;
-		if (commentList.value[index].isLike) {
-			commentList.value[index].likeNum++;
-		} else {
-			commentList.value[index].likeNum--;
-		}
-	} else {
-		if (comment.value.isLike) {
-			comment.value.isLike = !comment.value.isLike;
-			comment.value.likeNum--;
-		} else {
-			comment.value.isLike = !comment.value.isLike;
-			comment.value.likeNum++;
-		}
-	}
-};
-
-// 鍥炲鍒楄〃
-const getReply = () => {
-	comment.value = {
-		id: 1,
-		name: '鍙惰交鐪�',
-		date: '12-25 18:58',
-		contentText: '鎴戜笉淇′紛鏈椾細娌℃湁鍚庣画鍙嶅簲锛岀編鍥借偗瀹氫細涓轰粖澶╃殑浜嬫儏浠樺嚭浠d环鐨�',
-		url: 'https://cdn.uviewui.com/uview/template/SmilingDog.jpg',
-		allReply: 12,
-		likeNum: 33,
-		isLikes: false
-	};
-	commentList.value = [
-		{
-			name: '鏂板叓鍑�',
-			date: '12-25 18:58',
-			contentText: '涓嶈涔辨墦骞垮憡鍟婂杺锛佽櫧鐒舵槸鐪熺殑瓒呭ソ鐢�',
-			url: 'https://cdn.uviewui.com/uview/template/SmilingDog.jpg',
-			likeNum: 33,
-			isLike: false,
-			reply: {
-				name: 'uview',
-				contentStr: 'uview鏄熀浜巙niapp鐨勪竴涓猆I妗嗘灦锛屼唬鐮佷紭缇庣畝娲侊紝瀹囧畽瓒呯骇鏃犳晫褰╄櫣鏃嬭浆濂界敤锛岀敤瀹冿紒'
-			}
-		},
-		{
-			name: '鍙惰交鐪�1',
-			date: '01-25 13:58',
-			url: 'https://cdn.uviewui.com/uview/template/SmilingDog.jpg',
-			contentText: '鎴戜笉淇′紛鏈椾細娌℃湁鍚庣画鍙嶅簲锛岀編鍥借偗瀹氫細涓轰粖澶╃殑浜嬫儏浠樺嚭浠d环鐨�',
-			allReply: 0,
-			likeNum: 11,
-			isLike: false,
-			reply: {
-				name: '绮樼矘',
-				contentStr: '浠婂ぉ鍚冧粈涔堬紝鏄庡ぉ鍚冧粈涔堬紝鏅氫笂鍚冧粈涔堬紝鎴戝彧鏄竴鍙皬鐚挭涓轰粈涔堣鐑︽伡杩欎箞澶�'
-			}
-		},
-		{
-			name: '鍙惰交鐪�2',
-			date: '03-25 13:58',
-			contentText: '鎴戜笉淇′紛鏈椾細娌℃湁鍚庣画鍙嶅簲锛岀編鍥借偗瀹氫細涓轰粖澶╃殑浜嬫儏浠樺嚭浠d环鐨�',
-			allReply: 0,
-			likeNum: 21,
-			url: 'https://cdn.uviewui.com/uview/template/SmilingDog.jpg',
-			isLike: false,
-			allReply: 2,
-			reply: {
-				name: '璞嗗寘',
-				contentStr: '鎯冲悆鍐扮硸钁姦绮樿眴鍖咃紝浣嗘病閽�5555.........'
-			}
-		},
-		{
-			name: '鍙惰交鐪�3',
-			date: '06-20 13:58',
-			contentText: '鎴戜笉淇′紛鏈椾細娌℃湁鍚庣画鍙嶅簲锛岀編鍥借偗瀹氫細涓轰粖澶╃殑浜嬫儏浠樺嚭浠d环鐨�',
-			allReply: 0,
-			likeNum: 150,
-			url: 'https://cdn.uviewui.com/uview/template/SmilingDog.jpg',
-			isLike: false
-		}
-	];
-};
-</script>
-
-<template>
-	<view class="wrap">
-		<view class="comment">
-			<view class="top">
-				<view class="left">
-					<view class="heart-photo">
-						<image :src="comment.url" mode=""></image>
-					</view>
-					<view class="user-info">
-						<view class="name">{{ comment.name }}</view>
-						<view class="date">06-25 13:58</view>
-					</view>
-				</view>
-				<view class="right" :class="{ highlight: comment.isLike }">
-					{{ comment.likeNum }}
-					<u-icon v-if="!comment.isLike" name="thumb-up" class="like" color="#9a9a9a" :size="30"
-						@click="getLike"></u-icon>
-					<u-icon v-if="comment.isLike" name="thumb-up-fill" class="like" :size="30"
-						@click="getLike"></u-icon>
-				</view>
-			</view>
-			<view class="content">{{ comment.contentText }}</view>
-		</view>
-		<view class="all-reply">
-			<view class="all-reply-top">鍏ㄩ儴鍥炲锛坽{ comment.allReply }}锛�</view>
-			<view class="item" v-for="(item, index) in commentList" :key="index">
-				<view class="comment">
-					<view class="top">
-						<view class="left">
-							<view class="heart-photo">
-								<image :src="item.url" mode=""></image>
-							</view>
-							<view class="user-info">
-								<view class="name">{{ item.name }}</view>
-								<view class="date">{{ item.date }}</view>
-							</view>
-						</view>
-						<view class="right" :class="{ highlight: item.isLike }">
-							<view class="num">{{ item.likeNum }}</view>
-							<u-icon v-if="!item.isLike" name="thumb-up" class="like" :size="30" color="#9a9a9a"
-								@click="getLike(index)"></u-icon>
-							<u-icon v-if="item.isLike" name="thumb-up-fill" class="like" :size="30"
-								@click="getLike(index)"></u-icon>
-						</view>
-					</view>
-					<view class="reply" v-if="item.reply">
-						<view class="username">{{ item.reply.name }}</view>
-						<view class="text">{{ item.reply.contentStr }}</view>
-					</view>
-					<view class="content">{{ item.contentText }}</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<style lang="scss" scoped>
-page {
-	background-color: #f2f2f2;
-}
-
-.comment {
-	padding: 30rpx;
-	font-size: 32rpx;
-	background-color: #ffffff;
-
-	.top {
-		display: flex;
-		justify-content: space-between;
-	}
-
-	.left {
-		display: flex;
-
-		.heart-photo {
-			image {
-				width: 64rpx;
-				height: 64rpx;
-				border-radius: 50%;
-				background-color: #f2f2f2;
-			}
-		}
-
-		.user-info {
-			margin-left: 10rpx;
-
-			.name {
-				color: #5677fc;
-				font-size: 28rpx;
-				margin-bottom: 4rpx;
-			}
-
-			.date {
-				font-size: 20rpx;
-				color: $u-light-color;
-			}
-		}
-	}
-
-	.right {
-		display: flex;
-		font-size: 20rpx;
-		align-items: center;
-		color: #9a9a9a;
-
-		.like {
-			margin-left: 6rpx;
-		}
-
-		.num {
-			font-size: 26rpx;
-			color: #9a9a9a;
-		}
-	}
-
-	.highlight {
-		color: #5677fc;
-
-		.num {
-			color: #5677fc;
-		}
-	}
-}
-
-.all-reply {
-	margin-top: 10rpx;
-	padding-top: 20rpx;
-	background-color: #ffffff;
-
-	.all-reply-top {
-		margin-left: 20rpx;
-		padding-left: 20rpx;
-		border-left: solid 4rpx #5677fc;
-		font-size: 30rpx;
-		font-weight: bold;
-	}
-
-	.item {
-		border-bottom: solid 2rpx $u-border-color;
-	}
-
-	.reply {
-		padding: 20rpx;
-		background-color: rgb(242, 242, 242);
-		border-radius: 12rpx;
-		margin: 10rpx 0;
-
-		.username {
-			font-size: 24rpx;
-			color: #7a7a7a;
-		}
-	}
-}
-</style>
diff --git a/src/pages_template/pages/coupon/index.vue b/src/pages_template/pages/coupon/index.vue
deleted file mode 100644
index 5807c62..0000000
--- a/src/pages_template/pages/coupon/index.vue
+++ /dev/null
@@ -1,413 +0,0 @@
-<script setup>
-</script>
-<template>
-	<view class="u-wrap">
-		<view class="meituan">
-			<view class="content">
-				<view class="left">
-					<view class="sum">
-						锟�
-						<text class="num">8</text>
-					</view>
-					<view class="type">鎶电敤鍒�</view>
-				</view>
-				<view class="centre">
-					<view class="title">銆愭礂鐗欍��8鍏冩棤闂ㄦ绾㈠寘</view>
-					<view class="valid-date">浠婃棩鍒版湡</view>
-				</view>
-				<view class="right">
-					<view size="mini" class="immediate-use" :round="true">绔嬪嵆浣跨敤</view>
-				</view>
-			</view>
-			<view class="tips">
-				<view class="circle-left"></view>
-				<view class="circle-right"></view>
-				<view class="explain u-line-1">婊�8.1鍏冨彲鐢ㄣ�侀檺鏈�鏂扮増鏈鎴风浣跨敤</view>
-				<view class="rule" @tap="xxx122">
-					<text>浣跨敤瑙勫垯</text>
-					<u-icon name="arrow-right" color="" :size="20" @click=""></u-icon>
-				</view>
-			</view>
-		</view>
-		<view class="jingdong">
-			<view class="left">
-				<view class="sum">
-					锟�
-					<text class="num">100</text>
-				</view>
-				<view class="type">婊�149鍏冨彲鐢�</view>
-			</view>
-			<view class="right">
-				<view class="top">
-					<view class="title">
-						<text class="tag">闄愬搧绫讳笢鍒�</text>
-						<text>浠呭彲璐拱涓汉鎶ょ悊閮ㄥ垎鍟嗗搧</text>
-					</view>
-					<view class="bottom">
-						<view class="date u-line-1">2020.01.01-2020.01.31</view>
-						<view class="immediate-use">绔嬪嵆浣跨敤</view>
-					</view>
-				</view>
-				<view class="tips">
-					<view class="explain">
-						<u-icon name="zhuanfa" class="transpond" :size="24"></u-icon>
-						<text>鍙禒閫�</text>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="taobao">
-			<view class="title">
-				<view class="left">
-					<image class="buddha"
-						src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1975388697,1068670603&fm=26&gp=0.jpg"
-						mode="aspectFill"></image>
-					<view class="store">琚滃瓙绮句繚鎶ゅ崗浼�</view>
-				</view>
-				<view class="entrance">杩涘簵</view>
-			</view>
-			<view class="ticket">
-				<view class="left">
-					<image class="picture"
-						src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1578059523488&di=5f592ac19c1b983005d3e85add469756&imgtype=0&src=http%3A%2F%2Fimg010.hc360.cn%2Fg7%2FM00%2F2D%2FB9%2FwKhQs1QfUo6EdeM-AAAAALwk1hM072.jpg"
-						mode="widthFix"></image>
-					<view class="introduce">
-						<view class="top">
-							锟�
-							<text class="big">3</text>
-							婊�88鍑�3
-						</view>
-						<view class="type">搴楅摵浼樻儬鍒�</view>
-						<view class="date u-line-1">2019.11.28-2020.1.24</view>
-					</view>
-				</view>
-				<view class="right">
-					<view class="use immediate-use" :round="true">鍘讳娇鐢�</view>
-				</view>
-
-			</view>
-		</view>
-	</view>
-</template>
-
-<style lang="scss" scoped>
-page {
-	height: 100%;
-	background-color: rgb(244, 244, 244);
-}
-
-.u-wrap {
-	padding: 24rpx;
-}
-
-.meituan {
-	margin: 30rpx auto;
-	background-color: #ffffff;
-	width: 700rpx;
-	// border: 10rpx;
-	color: $u-warning;
-	font-size: 28rpx;
-
-	.content {
-		display: flex;
-		align-items: center;
-		padding: 80rpx 20rpx;
-		border: 10rpx;
-		background-color: #fff5f4;
-
-		.left {
-			.sum {
-				font-size: 32rpx;
-
-				.num {
-					font-size: 60rpx;
-					font-weight: bold;
-				}
-			}
-		}
-
-		.centre {
-			margin-left: 40rpx;
-
-			.title {
-				font-size: 32rpx;
-				font-weight: bold;
-				color: $u-main-color;
-				margin-bottom: 20rpx;
-			}
-		}
-
-		.right {
-			margin-left: 30rpx;
-
-			.immediate-use {
-				padding: 0 20rpx;
-				height: 50rpx;
-				border-radius: 25rpx;
-				line-height: 50rpx;
-				background-color: $u-warning !important;
-				color: #ffffff !important;
-				font-size: 24rpx;
-				border: none;
-				word-break: keep-all;
-			}
-		}
-	}
-
-	.tips {
-		padding: 0 20rpx;
-		border: 10rpx;
-		background-color: $u-info-light;
-		position: relative;
-		color: $u-tips-color;
-		display: flex;
-		justify-content: space-between;
-		line-height: 60rpx;
-		font-size: 24rpx;
-
-		.circle-left,
-		.circle-right {
-			position: absolute;
-			height: 36rpx;
-			width: 18rpx;
-			background-color: #f2f2f2;
-		}
-
-		.circle-right {
-			border-radius: 40rpx 0 0 40rpx;
-			right: 0;
-			top: -18rpx;
-		}
-
-		.circle-left {
-			border-radius: 0 40rpx 40rpx 0;
-			left: 0;
-			top: -18rpx;
-		}
-
-		.rule {
-			font-size: 24rpx;
-			display: flex;
-			align-items: center;
-
-			text {
-				margin-right: 10rpx;
-				flex: 1;
-			}
-		}
-	}
-}
-
-.jingdong {
-	margin-top: 40rpx;
-	width: 700rpx;
-	height: auto;
-	background-color: #ffffff;
-	display: flex;
-
-	.left {
-		padding: 0 30rpx;
-		background-color: rgb(95, 148, 224); //rgb(94, 152, 225);
-		text-align: center;
-		font-size: 28rpx;
-		color: #ffffff;
-
-		.sum {
-			margin-top: 50rpx;
-			font-weight: bold;
-			font-size: 32rpx;
-
-			.num {
-				font-size: 80rpx;
-			}
-		}
-
-		.type {
-			margin-bottom: 50rpx;
-			font-size: 24rpx;
-		}
-	}
-
-	.right {
-		padding: 20rpx 20rpx 0;
-		font-size: 28rpx;
-
-		.top {
-			border-bottom: 2rpx dashed $u-border-color;
-
-			.title {
-				margin-right: 60rpx;
-				line-height: 40rpx;
-
-				.tag {
-					padding: 4rpx 20rpx;
-					background-color: rgb(73, 154, 201);
-					border-radius: 20rpx;
-					color: #ffffff;
-					font-weight: bold;
-					font-size: 24rpx;
-					margin-right: 10rpx;
-				}
-			}
-
-			.bottom {
-				display: flex;
-				margin-top: 20rpx;
-				align-items: center;
-				justify-content: space-between;
-				margin-bottom: 10rpx;
-
-				.date {
-					font-size: 20rpx;
-					flex: 1;
-				}
-
-				.immediate-use {
-					height: auto;
-					padding: 0 20rpx;
-					font-size: 24rpx;
-					border-radius: 40rpx;
-					line-height: 40rpx;
-					color: rgb(117, 142, 165);
-					border: 2rpx solid rgb(117, 142, 165);
-				}
-			}
-		}
-
-		.tips {
-			width: 100%;
-			line-height: 50rpx;
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			font-size: 24rpx;
-
-			.transpond {
-				margin-right: 10rpx;
-			}
-
-			.explain {
-				display: flex;
-				align-items: center;
-			}
-
-			.particulars {
-				width: 30rpx;
-				height: 30rpx;
-				box-sizing: border-box;
-				padding-top: 8rpx;
-				border-radius: 50%;
-				background-color: $u-info-disabled;
-				text-align: center;
-			}
-		}
-	}
-}
-
-.taobao {
-	margin-top: 40rpx;
-	width: 700rpx;
-	background-color: white;
-	padding: 30rpx 20rpx 20rpx;
-	border-radius: 20rpx;
-
-	.title {
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		margin-bottom: 20rpx;
-		font-size: 30rpx;
-
-		.left {
-			display: flex;
-			align-items: center;
-		}
-
-		.store {
-			font-weight: 500;
-		}
-
-		.buddha {
-			width: 70rpx;
-			height: 70rpx;
-			border-radius: 10rpx;
-			margin-right: 10rpx;
-		}
-
-		.entrance {
-			color: $u-info;
-			border: solid 2rpx $u-info;
-			line-height: 48rpx;
-			padding: 0 30rpx;
-			background: none;
-			border-radius: 15px;
-		}
-	}
-
-	.ticket {
-		display: flex;
-
-		.left {
-			width: 70%;
-			padding: 30rpx 20rpx;
-			background-color: rgb(255, 245, 244);
-			border-radius: 20rpx;
-			border-right: dashed 2rpx rgb(224, 215, 211);
-			display: flex;
-
-			.picture {
-				width: 172rpx;
-				height: 172rpx;
-				border-radius: 20rpx;
-			}
-
-			.introduce {
-				margin-left: 10rpx;
-
-				.top {
-					color: $u-warning;
-					font-size: 28rpx;
-
-					.big {
-						font-size: 60rpx;
-						font-weight: bold;
-						margin-right: 10rpx;
-					}
-				}
-
-				.type {
-					font-size: 28rpx;
-					color: $u-info-dark;
-				}
-
-				.date {
-					margin-top: 10rpx;
-					font-size: 20rpx;
-					color: $u-info-dark;
-				}
-			}
-		}
-
-		.right {
-			width: 30%;
-			padding: 40rpx 20rpx;
-			background-color: rgb(255, 245, 244);
-			border-radius: 20rpx;
-			display: flex;
-			align-items: center;
-
-			.use {
-				height: auto;
-				padding: 0 20rpx;
-				font-size: 24rpx;
-				border-radius: 40rpx;
-				color: #ffffff !important;
-				background-color: $u-warning !important;
-				line-height: 40rpx;
-				color: rgb(117, 142, 165);
-				margin-left: 20rpx;
-			}
-		}
-	}
-}
-</style>
diff --git a/src/pages_template/pages/keyboardPay/index.vue b/src/pages_template/pages/keyboardPay/index.vue
deleted file mode 100644
index 1637ec6..0000000
--- a/src/pages_template/pages/keyboardPay/index.vue
+++ /dev/null
@@ -1,106 +0,0 @@
-<script setup>
-import { ref } from 'vue'
-import { onLoad } from '@dcloudio/uni-app'
-
-const show = ref(false)
-const password = ref('')
-
-onLoad(() => {
-})
-
-const onChange = (val) => {
-	if (password.value.length < 6) {
-		password.value += val
-	}
-
-	if (password.value.length >= 6) {
-		pay()
-	}
-}
-
-const onBackspace = () => {
-	if (password.value.length > 0) {
-		password.value = password.value.substring(0, password.value.length - 1)
-	}
-}
-
-const pay = () => {
-	uni.showLoading({
-		title: '鏀粯涓�'
-	})
-
-	setTimeout(() => {
-		uni.hideLoading()
-		show.value = false
-		uni.showToast({
-			icon: 'success',
-			title: '鏀粯鎴愬姛'
-		})
-	}, 2000)
-}
-
-const showPop = (flag = true) => {
-	password.value = ''
-	show.value = flag
-	// #ifdef H5 || WEB
-	setTimeout(() => {
-		const btn = document.querySelector('.u-keyboard__button-wrapper__button.u-keyboard__button-wrapper__button--gray')
-		if (btn) {
-			console.log(btn)
-			btn.onclick = onBackspace
-		}
-	}, 500)
-	// #endif
-}
-
-const finish = () => {
-	console.log(11111)
-}
-</script>
-<template>
-	<view>
-		<view class="u-padding-40">
-			<u-button type="success" @click="showPop(true)">
-				<u-icon name="red-packet"></u-icon>
-				<text class="u-padding-left-10">鍙戦��1.00鍏冪孩鍖�</text>
-			</u-button>
-		</view>
-		<u-keyboard default="" ref="uKeyboard" mode="number" :mask="true" :mask-close-able="false" :dot-enabled="false"
-			:show="show" :safe-area-inset-bottom="true" :tooltip="false" @change="onChange" @backspace="onBackspace">
-			<view>
-				<view class="u-text-center u-padding-20 money">
-					<text>1.00</text>
-					<text class="u-font-20 u-padding-left-10">鍏�</text>
-					<view class="u-padding-10 close" data-flag="false" @tap="showPop(false)">
-						<u-icon name="close" color="#333333" size="28"></u-icon>
-					</view>
-				</view>
-				<view class="u-flex u-row-center">
-					<u-message-input mode="box" :maxlength="6" :dot-fill="true" v-model="password"
-						:disabled-keyboard="true" @finish="finish"></u-message-input>
-				</view>
-				<view class="u-text-center u-padding-top-10 u-padding-bottom-20 tips">鏀粯閿洏</view>
-			</view>
-		</u-keyboard>
-	</view>
-</template>
-
-<style lang="scss">
-.money {
-	font-size: 80rpx;
-	color: $u-warning;
-	position: relative;
-
-	.close {
-		position: absolute;
-		top: 20rpx;
-		right: 20rpx;
-		line-height: 28rpx;
-		font-size: 28rpx;
-	}
-}
-
-.tips {
-	color: $u-tips-color;
-}
-</style>
\ No newline at end of file
diff --git a/src/pages_template/pages/login/code.vue b/src/pages_template/pages/login/code.vue
deleted file mode 100644
index 03dcf73..0000000
--- a/src/pages_template/pages/login/code.vue
+++ /dev/null
@@ -1,110 +0,0 @@
-<script setup>
-import { ref, onMounted } from 'vue';
-
-const maxlength = ref(4);
-const value = ref('');
-const second = ref(3);
-const show = ref(false);
-const error = ref(false);
-
-onMounted(() => {
-	let interval = setInterval(() => {
-		second.value--;
-		if (second.value <= 0) {
-			show.value = true;
-			if (value.value.length !== 4) {
-				error.value = true;
-			}
-			clearInterval(interval);
-		}
-	}, 1000);
-});
-
-const noCaptcha = () => {
-	uni.showActionSheet({
-		itemList: ['閲嶆柊鑾峰彇楠岃瘉鐮�', '鎺ュ惉璇煶楠岃瘉鐮�'],
-		success: function (res) {
-			// 澶勭悊鎴愬姛閫昏緫
-		},
-		fail: function (res) {
-			// 澶勭悊澶辫触閫昏緫
-		}
-	});
-};
-
-const change = (value) => {
-	// console.log('change', value);
-};
-
-const finish = (value) => {
-	// console.log('finish', value);
-};
-</script>
-<template>
-	<view class="wrap">
-		<view class="key-input">
-			<view class="title">杈撳叆楠岃瘉鐮�</view>
-			<view class="tips">楠岃瘉鐮佸凡鍙戦�佽嚦 +150****9320</view>
-			<u-message-input :focus="true" :value="value" @change="change" @finish="finish" mode="bottomLine"
-				:maxlength="maxlength"></u-message-input>
-			<text :class="{ error: error }">楠岃瘉鐮侀敊璇紝璇烽噸鏂拌緭鍏�</text>
-			<view class="captcha">
-				<text :class="{ noCaptcha: show }" @tap="noCaptcha">鏀朵笉鍒伴獙璇佺爜鐐硅繖閲�</text>
-				<text :class="{ regain: !show }">{{ second }}绉掑悗閲嶆柊鑾峰彇楠岃瘉鐮�</text>
-			</view>
-		</view>
-	</view>
-</template>
-
-<style lang="scss" scoped>
-.wrap {
-	padding: 80rpx;
-}
-
-.box {
-	margin: 30rpx 0;
-	font-size: 30rpx;
-	color: 555;
-}
-
-.key-input {
-	padding: 30rpx 0;
-
-	text {
-		display: none;
-	}
-
-	.error {
-		display: block;
-		color: red;
-		font-size: 30rpx;
-		margin: 20rpx 0;
-	}
-}
-
-.title {
-	font-size: 50rpx;
-	color: #333;
-}
-
-.key-input .tips {
-	font-size: 30rpx;
-	color: #333;
-	margin-top: 20rpx;
-	margin-bottom: 60rpx;
-}
-
-.captcha {
-	color: $u-warning;
-	font-size: 30rpx;
-	margin-top: 40rpx;
-
-	.noCaptcha {
-		display: block;
-	}
-
-	.regain {
-		display: block;
-	}
-}
-</style>
diff --git a/src/pages_template/pages/login/index1.vue b/src/pages_template/pages/login/index1.vue
deleted file mode 100644
index f44078f..0000000
--- a/src/pages_template/pages/login/index1.vue
+++ /dev/null
@@ -1,130 +0,0 @@
-<template>
-	<view class="wrap">
-		<view class="top"></view>
-		<view class="content">
-			<view class="title">娆㈣繋鐧诲綍</view>
-			<input class="u-border-bottom" type="number" v-model="tel" placeholder="璇疯緭鍏ユ墜鏈哄彿" />
-			<view class="tips">鏈敞鍐岀殑鎵嬫満鍙烽獙璇佸悗鑷姩鍒涘缓璐﹀彿</view>
-			<button @tap="submit" :style="[inputStyle]" class="getCaptcha">鑾峰彇鐭俊楠岃瘉鐮�</button>
-			<view class="alternative">
-				<view class="password">瀵嗙爜鐧诲綍</view>
-				<view class="issue">閬囧埌闂</view>
-			</view>
-		</view>
-		<view class="buttom">
-			<view class="loginType">
-				<view class="wechat item">
-					<view class="icon"><u-icon size="40" name="weixin-fill" color="rgb(83,194,64)"></u-icon></view>
-					寰俊
-				</view>
-				<view class="QQ item">
-					<view class="icon"><u-icon size="40" name="qq-fill" color="rgb(17,183,233)"></u-icon></view>
-					QQ
-				</view>
-			</view>
-			<view class="hint">
-				鐧诲綍浠h〃鍚屾剰
-				<text class="link">鐢ㄦ埛鍗忚銆侀殣绉佹斂绛栵紝</text>
-				骞舵巿鏉冧娇鐢ㄦ偍鐨勮处鍙蜂俊鎭紙濡傛樀绉般�佸ご鍍忋�佹敹鑾峰湴鍧�锛変互渚挎偍缁熶竴绠$悊
-			</view>
-		</view>
-	</view>
-</template>
-
-<script setup>
-import tab from '@/plugins/tab';
-import { ref, computed } from 'vue';
-
-const tel = ref('');
-
-const inputStyle = computed(() => {
-	let style = {};
-	if (tel.value) {
-		style.color = "#fff";
-		style.backgroundColor = '#f9c00c'; // 鍋囪 $u.color['warning'] 瀵瑰簲鐨勯鑹插��
-	}
-	return style;
-});
-
-const submit = () => {
-	if (/\d{11}/.test(tel.value)) { // 鍋囪 $u.test.mobile 鏄畝鍗曠殑鎵嬫満鍙烽獙璇�
-		tab.navigateTo('/pages_template/pages/login/code');
-	}
-};
-</script>
-
-<style lang="scss" scoped>
-.wrap {
-	font-size: 28rpx;
-
-	.content {
-		width: 600rpx;
-		margin: 80rpx auto 0;
-
-		.title {
-			text-align: left;
-			font-size: 60rpx;
-			font-weight: 500;
-			margin-bottom: 100rpx;
-		}
-
-		input {
-			text-align: left;
-			margin-bottom: 10rpx;
-			padding-bottom: 6rpx;
-		}
-
-		.tips {
-			color: $u-info;
-			margin-bottom: 60rpx;
-			margin-top: 8rpx;
-			font-size: 12px;
-		}
-
-		.getCaptcha {
-			background-color: rgb(253, 243, 208);
-			color: $u-tips-color;
-			border: none;
-			font-size: 30rpx;
-			padding: 12rpx 0;
-
-			&::after {
-				border: none;
-			}
-		}
-
-		.alternative {
-			color: $u-tips-color;
-			display: flex;
-			justify-content: space-between;
-			margin-top: 30rpx;
-		}
-	}
-
-	.buttom {
-		.loginType {
-			display: flex;
-			padding: 350rpx 150rpx 150rpx 150rpx;
-			justify-content: space-between;
-
-			.item {
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				color: $u-content-color;
-				font-size: 28rpx;
-			}
-		}
-
-		.hint {
-			padding: 20rpx 40rpx;
-			font-size: 20rpx;
-			color: $u-tips-color;
-
-			.link {
-				color: $u-warning;
-			}
-		}
-	}
-}
-</style>
diff --git a/src/pages_template/pages/login/index2.vue b/src/pages_template/pages/login/index2.vue
deleted file mode 100644
index 17922c7..0000000
--- a/src/pages_template/pages/login/index2.vue
+++ /dev/null
@@ -1,662 +0,0 @@
-<template>
-	<view>
-		<view class="normal-login-container " v-if="page == 'login'">
-			<view class="left" @click="back">
-				<image src="../../../static/uview/demo/backTop.png" mode="" style="height: 30rpx;"></image>
-			</view>
-			<view class="scale-in-center">
-				<view class="logo-content align-center justify-center flex">
-					<text class="title">宸ヤ綔浜哄憳鍏ュ彛</text>
-				</view>
-				<view class="login-form-content">
-					<view class="input-item flex align-center">
-						<view class="iconfont icon-user icon"></view>
-						<input v-model="loginForm.username" class="input" type="text" placeholder="璇疯緭鍏ヨ处鍙�"
-							maxlength="30" />
-					</view>
-					<view class="input-item flex align-center">
-						<view class="iconfont icon-password icon"></view>
-						<input v-model="loginForm.password" type="password" class="input" placeholder="璇疯緭鍏ュ瘑鐮�"
-							maxlength="20" />
-					</view>
-					<view class="input-item flex align-center" style="width: 60%;margin: 0px;" v-if="captchaEnabled">
-						<view class="iconfont icon-code icon"></view>
-						<input v-model="loginForm.code" type="number" class="input" placeholder="璇疯緭鍏ラ獙璇佺爜"
-							maxlength="4" />
-						<view class="login-code">
-							<image :src="codeUrl" @click="getCode" class="login-code-img"></image>
-						</view>
-					</view>
-					<view class="action-btn">
-						<button @click="handleLogin" class="login-btn cu-btn block bg-blue lg round">鐧诲綍</button>
-					</view>
-				</view>
-			</view>
-		</view>
-
-
-		<!-- 鐧诲綍 -->
-		<view v-else>
-			<view class="container">
-				<view class="cover slide-top1" :style="'animation-play-state:' + play[2]">
-					<view class="masking slide-top" :class="[collapsedClass, { animating: isAnimating }]"
-						ref="fixedViewRef" :style="'animation-play-state:' + play[0]">
-						<uni-row>
-							<text class="text-first">娆㈣繋浣跨敤</text>
-							<text class="text-second">鏍″洯璁垮</text>
-							<text class="text-third">棰勭害绯荤粺</text>
-							<view :class="{ active: isActive === true, button: isActive !== true }" @click="startplay"
-								:style="'animation-play-state:' + play[1]">
-								<uni-row>
-									<text class="text-fifth">璁垮鐧诲綍</text>
-								</uni-row>
-							</view>
-							<view class="shadow1" :style="'animation-play-state:' + play[1]" />
-							<view class="shadow2" :style="'animation-play-state:' + play[1]" />
-							<view class="shadow3" :style="'animation-play-state:' + play[1]" />
-
-							<image
-								style="width: 100%;height: 1050rpx;opacity: 0.05;border-radius: 0 0 400rpx 400rpx;position: absolute;"
-								src="../../../static/uview/common/gray-logo.png"></image>
-							<text class="text-forth" @click="login()">璐﹀彿瀵嗙爜鐧诲綍</text>
-						</uni-row>
-					</view>
-				</view>
-				<view class="sec-masking">
-					<uni-row>
-						<text class="text-sixth">鐗堟湰鍙�: v1.0</text>
-					</uni-row>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script setup>
-import { ref, reactive, computed, onMounted } from 'vue'
-import useUserStore from '@/store/modules/user'
-import tab from '@/plugins/tab'
-import modal from '@/plugins/modal'
-
-const src = ref("staticimagessoutheast.jpg")
-const isActive = ref(false)
-const isFixedViewVisible = ref(true)
-const animationType = ref("up") // 鍙�夊�硷細right 鎴� up
-const isAnimating = ref(false) // 鎺у埗鍔ㄧ敾鎵ц鐘舵��
-const play = ref(["paused", "paused", "paused"])
-const page = ref("index")
-
-const codeUrl = ref("")
-const captchaEnabled = ref(true)
-const loginForm = reactive({
-	username: "admin",
-	password: "admin123",
-	code: "",
-	uuid: ''
-})
-
-const collapsedClass = computed(() => {
-	return isFixedViewVisible.value ? "" : `collapsed-${animationType.value}`;
-})
-
-onMounted(() => {
-	getCode()
-})
-
-const login = () => {
-	play.value[2] = "running"
-	setTimeout(() => { page.value = 'login' }, 1000)
-}
-
-const back = () => {
-	page.value = 'index'
-	play.value[0] = "paused"
-	play.value[1] = "paused"
-	play.value[2] = "paused"
-}
-const startplay = () => {
-	play.value[1] = "running"
-	isActive.value = true;
-	setTimeout(() => { isActive.value = false; }, 300);
-	if (isAnimating.value) { return; }
-	isAnimating.value = false; // 寮�濮嬪姩鐢绘墽琛�
-	play.value[0] = "running"
-	isFixedViewVisible.value = !isFixedViewVisible.value;
-	setTimeout(() => { uni.navigateBack({ delta: 1 }); }, 1000)
-}
-
-// 鑾峰彇鍥惧舰楠岃瘉鐮�
-const getCode = () => {
-	let res = {}
-	captchaEnabled.value = res.captchaEnabled === undefined ? true : res.captchaEnabled
-	if (captchaEnabled.value) {
-		codeUrl.value = 'data:image/gif;base64,' + res.img
-		loginForm.uuid = res.uuid
-	}
-}
-
-// 鐧诲綍鏂规硶
-const handleLogin = async () => {
-	if (loginForm.username === "") {
-		modal.msgError("璇疯緭鍏ユ偍鐨勮处鍙�")
-	} else if (loginForm.password === "") {
-		modal.msgError("璇疯緭鍏ユ偍鐨勫瘑鐮�")
-	} else if (loginForm.code === "" && captchaEnabled.value) {
-		modal.msgError("璇疯緭鍏ラ獙璇佺爜")
-	} else {
-		modal.loading("鐧诲綍涓紝璇疯�愬績绛夊緟...")
-		pwdLogin()
-	}
-}
-
-// 瀵嗙爜鐧诲綍
-const pwdLogin = async () => {
-	useUserStore().login(loginForm).then(() => {
-		modal.closeLoading()
-		loginSuccess()
-	}).catch(() => {
-		if (captchaEnabled.value) {
-			getCode()
-		}
-	})
-}
-
-// 鐧诲綍鎴愬姛鍚庯紝澶勭悊鍑芥暟
-const loginSuccess = (result) => {
-	// 璁剧疆鐢ㄦ埛淇℃伅
-	useUserStore().getInfo().then(res => {
-		tab.reLaunch('/pages/index')
-	})
-}
-</script>
-<style lang="scss">
-page {
-	background-color: #ffffff;
-}
-
-.left {
-	display: flex;
-	width: 50rpx;
-	height: 50rpx;
-	position: fixed;
-	top: 0px;
-	padding: 10rpx;
-}
-
-.cover {
-	position: absolute;
-	width: 100%;
-	height: 1250rpx;
-	z-index: 9997;
-}
-
-.normal-login-container {
-	width: 100%;
-	margin-top: 200rpx;
-
-	.logo-content {
-		width: 100%;
-		font-size: 21px;
-		text-align: center;
-		padding-top: 15%;
-
-		image {
-			border-radius: 4px;
-		}
-
-		.title {
-			margin-left: 10px;
-		}
-	}
-
-	.login-form-content {
-		text-align: center;
-		margin: 20px auto;
-		margin-top: 15%;
-		width: 80%;
-
-		.input-item {
-			margin: 20px auto;
-			background-color: #f5f6f7;
-			height: 45px;
-			border-radius: 20px;
-
-			.icon {
-				font-size: 38rpx;
-				margin-left: 10px;
-				color: #999;
-			}
-
-			.input {
-				width: 100%;
-				font-size: 14px;
-				line-height: 20px;
-				text-align: left;
-				padding-left: 15px;
-			}
-
-		}
-
-		.login-btn {
-			margin-top: 40px;
-			height: 45px;
-		}
-
-		.xieyi {
-			color: #333;
-			margin-top: 20px;
-		}
-
-		.login-code {
-			height: 38px;
-			float: right;
-
-			.login-code-img {
-				height: 38px;
-				position: absolute;
-				margin-left: 10px;
-				width: 200rpx;
-			}
-		}
-	}
-}
-
-
-
-
-
-
-
-
-
-.container {
-	position: relative;
-}
-
-.active {
-	position: absolute;
-	width: 280rpx;
-	height: 280rpx;
-	left: 50%;
-	margin-left: -140rpx;
-	top: 533rpx;
-	bottom: 533rpx;
-	border-radius: 50%;
-	z-index: 9999;
-
-	background: linear-gradient(180deg,
-			rgba(110, 109, 122, 0.595),
-			rgba(46, 87, 190, 0.714) 70.792%,
-			rgb(17, 120, 222) 100%);
-	box-shadow: inset 0 0 10px 5px rgba(101, 97, 97, 0.5);
-}
-
-.masking {
-	position: absolute;
-	top: -200rpx;
-	width: 100%;
-	height: 1250rpx;
-	background-color: #9acafc;
-	border-radius: 0 0 400rpx 400rpx;
-	box-shadow: 0px 5px 8px rgba(0, 0, 0, 0.27);
-	transition: transform 0.3s ease-out;
-	z-index: 9998;
-	padding: 200rpx 0 0 0;
-}
-
-.collapsed-up {
-	transform: translateY(-100%);
-}
-
-.button {
-	position: absolute;
-	width: 280rpx;
-	height: 280rpx;
-	left: 50%;
-	margin-left: -140rpx;
-	top: 533rpx;
-	bottom: 533rpx;
-	border-radius: 50%;
-	transition: background-color 0.3s;
-	z-index: 9999;
-
-	background: linear-gradient(180deg,
-			rgba(60, 53, 239, 0.595),
-			rgba(63, 117, 255, 0.714) 70.792%,
-			rgb(70, 161, 253) 100%);
-	// box-shadow: 0px 0px 62rpx rgba(1, 7, 22, 0.468);
-
-	box-shadow: 0 0 10px rgba(0, 0, 0, .3) inset;
-
-}
-
-.shadow1 {
-	position: absolute;
-	width: 280rpx;
-	height: 280rpx;
-	left: 50%;
-	margin-left: -140rpx;
-	top: 533rpx;
-	bottom: 533rpx;
-	border-radius: 50%;
-	border-width: 4rpx;
-	border-color: rgb(70, 161, 253);
-	transition: background-color 0.3s;
-	z-index: 9998;
-	background-color: rgba(70, 161, 253, 0);
-
-	// box-shadow: 0px 0px 62rpx rgba(1, 7, 22, 0.468);
-
-	box-shadow: 0 0 10px rgba(0, 0, 0, .3) inset;
-	-webkit-animation-name: 'ripple1';
-	/*鍔ㄧ敾灞炴�у悕锛屼篃灏辨槸鎴戜滑鍓嶉潰keyframes瀹氫箟鐨勫姩鐢诲悕*/
-	-webkit-animation-duration: 0.3s;
-	/*鍔ㄧ敾鎸佺画鏃堕棿*/
-	-webkit-animation-timing-function: ease;
-	/*鍔ㄧ敾棰戠巼锛屽拰transition-timing-function鏄竴鏍风殑*/
-	-webkit-animation-delay: 0s;
-	/*鍔ㄧ敾寤惰繜鏃堕棿*/
-	-webkit-animation-direction: normal;
-	/*瀹氫箟鍔ㄧ敾鏂瑰紡*/
-}
-
-.shadow2 {
-	position: absolute;
-	width: 280rpx;
-	height: 280rpx;
-	left: 50%;
-	margin-left: -140rpx;
-	top: 533rpx;
-	bottom: 533rpx;
-	border-radius: 50%;
-	border-width: 4rpx;
-	border-color: rgb(70, 161, 253);
-	transition: background-color 0.3s;
-	z-index: 9998;
-	background-color: rgba(70, 161, 253, 0);
-
-	// box-shadow: 0px 0px 62rpx rgba(1, 7, 22, 0.468);
-
-	box-shadow: 0 0 10px rgba(0, 0, 0, .3) inset;
-	-webkit-animation-name: 'ripple2';
-	/*鍔ㄧ敾灞炴�у悕锛屼篃灏辨槸鎴戜滑鍓嶉潰keyframes瀹氫箟鐨勫姩鐢诲悕*/
-	-webkit-animation-duration: 0.4s;
-	/*鍔ㄧ敾鎸佺画鏃堕棿*/
-	-webkit-animation-timing-function: ease;
-	/*鍔ㄧ敾棰戠巼锛屽拰transition-timing-function鏄竴鏍风殑*/
-	-webkit-animation-delay: 0.1s;
-	/*鍔ㄧ敾寤惰繜鏃堕棿*/
-	-webkit-animation-direction: normal;
-	/*瀹氫箟鍔ㄧ敾鏂瑰紡*/
-}
-
-.shadow3 {
-	position: absolute;
-	width: 280rpx;
-	height: 280rpx;
-	left: 50%;
-	margin-left: -140rpx;
-	top: 533rpx;
-	bottom: 533rpx;
-	border-radius: 50%;
-	border-width: 4rpx;
-	border-color: rgb(70, 161, 253);
-	transition: background-color 0.3s;
-	z-index: 9998;
-	background-color: rgba(70, 161, 253, 0);
-
-	// box-shadow: 0px 0px 62rpx rgba(1, 7, 22, 0.468);
-
-	box-shadow: 0 0 10px rgba(0, 0, 0, .3) inset;
-	-webkit-animation-name: 'ripple3';
-	/*鍔ㄧ敾灞炴�у悕锛屼篃灏辨槸鎴戜滑鍓嶉潰keyframes瀹氫箟鐨勫姩鐢诲悕*/
-	-webkit-animation-duration: 0.5s;
-	/*鍔ㄧ敾鎸佺画鏃堕棿*/
-	-webkit-animation-timing-function: ease;
-	/*鍔ㄧ敾棰戠巼锛屽拰transition-timing-function鏄竴鏍风殑*/
-	-webkit-animation-delay: 0.2s;
-	/*鍔ㄧ敾寤惰繜鏃堕棿*/
-	-webkit-animation-direction: normal;
-	/*瀹氫箟鍔ㄧ敾鏂瑰紡*/
-}
-
-.button.disabled {
-	pointer-events: none;
-	/* 绂佺敤鎸夐挳鐨勭偣鍑讳簨浠� */
-	opacity: 0.5;
-	/* 鍗婇�忔槑鏁堟灉 */
-}
-
-.text-first {
-	position: absolute;
-	width: 256rpx;
-	height: 84rpx;
-	left: 50%;
-	transform: translateX(-50%);
-	top: 250rpx;
-	bottom: 986.67rpx;
-
-	color: rgb(255, 255, 255);
-	font-family: "Microsoft YaHei";
-	font-size: 64rpx;
-	font-weight: 400;
-	line-height: 84rpx;
-	letter-spacing: 0rpx;
-	text-align: center;
-}
-
-.text-second {
-	position: absolute;
-	width: 256rpx;
-	height: 84rpx;
-	left: 50%;
-	transform: translateX(-50%);
-	top: 350rpx;
-	bottom: 986.67rpx;
-
-	color: rgb(255, 255, 255);
-	font-family: "Microsoft YaHei";
-	font-size: 64rpx;
-	font-weight: 400;
-	line-height: 84rpx;
-	letter-spacing: 0rpx;
-	text-align: center;
-}
-
-.text-third {
-	position: absolute;
-	width: 200rpx;
-	height: 60rpx;
-	left: 50%;
-	transform: translateX(-50%);
-	top: 450rpx;
-	bottom: 615rpx;
-	margin: 0 auto;
-
-	color: rgb(255, 255, 255);
-	font-family: "Microsoft YaHei";
-	font-size: 50rpx;
-	font-weight: 400;
-	line-height: 60rpx;
-	letter-spacing: 0rpx;
-	text-align: center;
-}
-
-.text-forth {
-	position: absolute;
-	width: 180rpx;
-	height: 36rpx;
-	left: 0;
-	right: 0;
-	top: 948rpx;
-	bottom: 330rpx;
-	margin: 0 auto;
-
-	color: rgb(255, 255, 255);
-	font-family: "Microsoft YaHei";
-	font-size: 27rpx;
-	font-weight: 400;
-	line-height: 36rpx;
-	letter-spacing: 0rpx;
-	text-align: center;
-	text-decoration-line: underline;
-}
-
-.text-fifth {
-	position: absolute;
-	width: 120rpx;
-	height: 150rpx;
-	left: 0;
-	right: 0;
-	top: 60rpx;
-	bottom: 418rpx;
-	margin: 0 auto;
-
-	color: rgb(255, 255, 255);
-	font-family: "Microsoft YaHei";
-	font-size: 60rpx;
-	font-weight: 400;
-	line-height: 80rpx;
-	letter-spacing: 0rpx;
-	text-align: center;
-}
-
-.text-sixth {
-	position: absolute;
-	width: 100rpx;
-	height: 17rpx;
-	margin: 0 auto;
-	top: 710rpx;
-	left: 50%;
-	transform: translateX(-50%);
-	padding: 0 179rpx 7rpx 180rpx;
-	z-index: 9997;
-
-	color: rgb(15, 15, 15);
-	font-family: "Microsoft YaHei";
-	font-size: 17rpx;
-	font-weight: 400;
-	line-height: 17rpx;
-	letter-spacing: 0;
-	text-align: left;
-}
-
-.sec-masking {
-	position: fixed;
-	bottom: 0;
-	width: 100%;
-	height: 750rpx;
-	background-color: #ffffff;
-	z-index: 9996;
-}
-
-.slide-top {
-	-webkit-animation: slide-top 1s cubic-bezier(0.600, -0.280, 0.735, 0.045) both;
-	animation: slide-top 1s cubic-bezier(0.600, -0.280, 0.735, 0.045) both;
-}
-
-.slide-top1 {
-	-webkit-animation: slide-top1 1s cubic-bezier(0.600, -0.280, 0.735, 0.045) both;
-	animation: slide-top1 1s cubic-bezier(0.600, -0.280, 0.735, 0.045) both;
-}
-
-.scale-in-center {
-	animation: scale-in-center 0.4s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
-}
-
-@-webkit-keyframes slide-top {
-	0% {
-		-webkit-transform: translateY(0);
-		transform: translateY(0);
-	}
-
-	100% {
-		-webkit-transform: translateY(-1050px);
-		transform: translateY(-1050px);
-	}
-}
-
-@-webkit-keyframes slide-top1 {
-	0% {
-		-webkit-transform: translateY(0);
-		transform: translateY(0);
-	}
-
-	100% {
-		-webkit-transform: translateY(-1050px);
-		transform: translateY(-1050px);
-	}
-}
-
-@keyframes ripple1 {
-	0% {
-		transform: scale(1);
-	}
-
-	100% {
-		transform: scale(1.4);
-		opacity: 0;
-
-	}
-}
-
-@keyframes ripple2 {
-	0% {
-		transform: scale(1);
-	}
-
-	100% {
-		transform: scale(1.5);
-		opacity: 0;
-
-	}
-}
-
-@keyframes ripple3 {
-	0% {
-		transform: scale(1);
-	}
-
-	100% {
-		transform: scale(1.6);
-		opacity: 0;
-
-	}
-}
-
-@keyframes slide-top {
-	0% {
-		-webkit-transform: translateY(0);
-		transform: translateY(0);
-	}
-
-	100% {
-		-webkit-transform: translateY(-1050px);
-		transform: translateY(-1050px);
-	}
-}
-
-@keyframes slide-top1 {
-	0% {
-		-webkit-transform: translateY(0);
-		transform: translateY(0);
-	}
-
-	100% {
-		-webkit-transform: translateY(-1050px);
-		transform: translateY(-1050px);
-	}
-}
-
-@keyframes scale-in-center {
-	0% {
-		transform: scale(0);
-		opacity: 1;
-	}
-
-	100% {
-		transform: scale(1);
-		opacity: 1;
-	}
-}
-</style>
\ No newline at end of file
diff --git a/src/pages_template/pages/mallMenu/index1.vue b/src/pages_template/pages/mallMenu/index1.vue
deleted file mode 100644
index 3afc0b6..0000000
--- a/src/pages_template/pages/mallMenu/index1.vue
+++ /dev/null
@@ -1,220 +0,0 @@
-<script setup>
-import { ref, reactive } from 'vue';
-import classifyData from "@/pages_template/common/classify.data.js";
-
-const tabbar = reactive(classifyData);
-const scrollTop = ref(0); // tab鏍囬鐨勬粴鍔ㄦ潯浣嶇疆
-const current = ref(0); // 棰勮褰撳墠椤圭殑鍊�
-const menuHeight = ref(0); // 宸﹁竟鑿滃崟鐨勯珮搴�
-const menuItemHeight = ref(0); // 宸﹁竟鑿滃崟item鐨勯珮搴�
-
-// 鐐瑰嚮宸﹁竟鐨勬爮鐩垏鎹�
-const swichMenu = async (index) => {
-	if (index === current.value) return;
-	current.value = index;
-	// 濡傛灉涓�0锛屾剰鍛崇潃灏氭湭鍒濆鍖�
-	if (menuHeight.value === 0 || menuItemHeight.value === 0) {
-		await getElRect('menu-scroll-view', 'menuHeight');
-		await getElRect('u-tab-item', 'menuItemHeight');
-	}
-	// 灏嗚彍鍗曡彍鍗曟椿鍔╥tem鍨傜洿灞呬腑
-	scrollTop.value = index * menuItemHeight.value + menuItemHeight.value / 2 - menuHeight.value / 2;
-};
-
-// 鑾峰彇涓�涓洰鏍囧厓绱犵殑楂樺害
-const getElRect = (elClass, dataVal) => {
-	return new Promise((resolve, reject) => {
-		const query = uni.createSelectorQuery().in(this);
-		query.select('.' + elClass).fields({ size: true }, res => {
-			// 濡傛灉鑺傜偣灏氭湭鐢熸垚锛宺es鍊间负null锛屽惊鐜皟鐢ㄦ墽琛�
-			if (!res) {
-				setTimeout(() => {
-					getElRect(elClass, dataVal);
-				}, 10);
-				return;
-			}
-			if (dataVal === 'menuHeight') {
-				menuHeight.value = res.height;
-			} else if (dataVal === 'menuItemHeight') {
-				menuItemHeight.value = res.height;
-			}
-			resolve();
-		}).exec();
-	});
-};
-
-const clickMenu = (menu) => {
-	console.log(menu);
-};
-</script>
-
-<template>
-	<view class="u-wrap">
-		<view class="u-search-box">
-			<view class="u-search-inner">
-				<u-icon name="search" color="#909399" :size="28"></u-icon>
-				<text class="u-search-text">鎼滅储uView</text>
-			</view>
-		</view>
-		<view class="u-menu-wrap">
-			<scroll-view scroll-y scroll-with-animation class="u-tab-view menu-scroll-view" :scroll-top="scrollTop">
-				<view v-for="(item, index) in tabbar" :key="index" class="u-tab-item"
-					:class="[current == index ? 'u-tab-item-active' : '']" :data-current="index"
-					@tap.stop="swichMenu(index)">
-					<text class="u-line-1">{{ item.name }}</text>
-				</view>
-			</scroll-view>
-			<block v-for="(item, index) in tabbar" :key="index">
-				<scroll-view scroll-y class="right-box" v-if="current == index">
-					<view class="page-view">
-						<view class="class-item">
-							<view class="item-title">
-								<text>{{ item.name }}</text>
-							</view>
-							<view class="item-container">
-								<view class="thumb-box" v-for="(item1, index1) in item.foods" :key="index1"
-									@click="clickMenu(item1)">
-									<image class="item-menu-image" :src="item1.icon" mode=""></image>
-									<view class="item-menu-name">{{ item1.name }}</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</scroll-view>
-			</block>
-		</view>
-	</view>
-</template>
-
-<style lang="scss" scoped>
-.u-wrap {
-	height: calc(100vh);
-	/* #ifdef H5 */
-	height: calc(100vh - var(--window-top));
-	/* #endif */
-	display: flex;
-	flex-direction: column;
-}
-
-.u-search-box {
-	padding: 18rpx 30rpx;
-}
-
-.u-menu-wrap {
-	flex: 1;
-	display: flex;
-	overflow: hidden;
-}
-
-.u-search-inner {
-	background-color: rgb(234, 234, 234);
-	border-radius: 100rpx;
-	display: flex;
-	align-items: center;
-	padding: 10rpx 16rpx;
-}
-
-.u-search-text {
-	font-size: 26rpx;
-	color: $u-tips-color;
-	margin-left: 10rpx;
-}
-
-.u-tab-view {
-	width: 200rpx;
-	height: 100%;
-}
-
-.u-tab-item {
-	height: 110rpx;
-	background: #f6f6f6;
-	box-sizing: border-box;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	font-size: 26rpx;
-	color: #444;
-	font-weight: 400;
-	line-height: 1;
-}
-
-.u-tab-item-active {
-	position: relative;
-	color: #000;
-	font-size: 30rpx;
-	font-weight: 600;
-	background: #fff;
-}
-
-.u-tab-item-active::before {
-	content: "";
-	position: absolute;
-	border-left: 4px solid $u-primary;
-	height: 32rpx;
-	left: 0;
-	top: 39rpx;
-}
-
-.u-tab-view {
-	height: 100%;
-}
-
-.right-box {
-	background-color: rgb(250, 250, 250);
-}
-
-.page-view {
-	padding: 16rpx;
-}
-
-.class-item {
-	margin-bottom: 30rpx;
-	background-color: #fff;
-	padding: 16rpx;
-	border-radius: 8rpx;
-}
-
-.item-title {
-	font-size: 26rpx;
-	color: $u-main-color;
-	font-weight: bold;
-}
-
-.item-menu-name {
-	font-weight: normal;
-	font-size: 24rpx;
-	color: $u-main-color;
-}
-
-.item-container {
-	display: flex;
-	flex-wrap: wrap;
-}
-
-// 瀹氫箟椤圭洰灏哄鍙橀噺
-$item-size: 100rpx;
-
-.thumb-box {
-	width: 33.333333%;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	flex-direction: column;
-	margin-top: 20rpx;
-	padding: 10rpx;
-	box-sizing: border-box;
-	
-	.item-menu-image {
-		width: $item-size;
-		height: $item-size;
-	}
-	
-	.item-menu-name {
-		font-weight: normal;
-		font-size: 24rpx;
-		color: $u-main-color;
-		margin-top: 10rpx;
-		text-align: center;
-	}
-}
-</style>
diff --git a/src/pages_template/pages/mallMenu/index2.vue b/src/pages_template/pages/mallMenu/index2.vue
deleted file mode 100644
index be9b2a7..0000000
--- a/src/pages_template/pages/mallMenu/index2.vue
+++ /dev/null
@@ -1,313 +0,0 @@
-<script setup>
-import { ref, onMounted, nextTick } from 'vue';
-import classifyData from '@/pages_template/common/classify.data.js';
-
-const scrollTop = ref(0); // tab鏍囬鐨勬粴鍔ㄦ潯浣嶇疆
-const oldScrollTop = ref(0);
-const current = ref(0); // 棰勮褰撳墠椤圭殑鍊�
-const menuHeight = ref(0); // 宸﹁竟鑿滃崟鐨勯珮搴�
-const menuItemHeight = ref(0); // 宸﹁竟鑿滃崟item鐨勯珮搴�
-const itemId = ref(''); // 鏍忕洰鍙宠竟scroll-view鐢ㄤ簬婊氬姩鐨刬d
-const tabbar = classifyData;
-
-const arr = ref([]);
-const scrollRightTop = ref(0); // 鍙宠竟鏍忕洰scroll-view鐨勬粴鍔ㄦ潯楂樺害
-const timer = ref(null); // 瀹氭椂鍣�
-
-onMounted(() => {
-	getMenuItemTop();
-});
-
-// 鐐瑰嚮宸﹁竟鐨勬爮鐩垏鎹�
-const swichMenu = async (index) => {
-	if (arr.value.length === 0) {
-		await getMenuItemTop();
-	}
-	if (index === current.value) return;
-	scrollRightTop.value = oldScrollTop.value;
-	await nextTick(() => {
-		scrollRightTop.value = arr.value[index];
-		current.value = index;
-		leftMenuStatus(index);
-	});
-};
-
-// 鑾峰彇涓�涓洰鏍囧厓绱犵殑楂樺害
-const getElRect = (elClass, dataVal) => {
-	return new Promise((resolve, reject) => {
-		const query = uni.createSelectorQuery().in(this);
-		query.select('.' + elClass).fields({
-			size: true
-		}, (res) => {
-			// 濡傛灉鑺傜偣灏氭湭鐢熸垚锛宺es鍊间负null锛屽惊鐜皟鐢ㄦ墽琛�
-			if (!res) {
-				setTimeout(() => {
-					getElRect(elClass, dataVal);
-				}, 10);
-				return;
-			}
-			dataVal.value = res.height;
-			resolve();
-		}).exec();
-	});
-};
-
-// 瑙傛祴鍏冪礌鐩镐氦鐘舵��
-const observer = () => {
-	tabbar.map((val, index) => {
-		let observer = uni.createIntersectionObserver(this);
-		// 妫�娴嬪彸杈箂croll-view鐨刬d涓篿temxx鐨勫厓绱犱笌right-box鐨勭浉浜ょ姸鎬�
-		// 濡傛灉璺�.right-box搴曢儴鐩镐氦锛屽氨鍔ㄦ�佽缃乏杈规爮鐩殑娲诲姩鐘舵��
-		observer.relativeTo('.right-box', {
-			top: 0
-		}).observe('#item' + index, (res) => {
-			if (res.intersectionRatio > 0) {
-				let id = res.id.substring(4);
-				leftMenuStatus(id);
-			}
-		});
-	});
-};
-
-// 璁剧疆宸﹁竟鑿滃崟鐨勬粴鍔ㄧ姸鎬�
-const leftMenuStatus = async (index) => {
-	current.value = index;
-	// 濡傛灉涓�0锛屾剰鍛崇潃灏氭湭鍒濆鍖�
-	if (menuHeight.value === 0 || menuItemHeight.value === 0) {
-		await getElRect('menu-scroll-view', menuHeight);
-		await getElRect('u-tab-item', menuItemHeight);
-	}
-	// 灏嗚彍鍗曟椿鍔╥tem鍨傜洿灞呬腑
-	scrollTop.value = index * menuItemHeight.value + menuItemHeight.value / 2 - menuHeight.value / 2;
-};
-
-// 鑾峰彇鍙宠竟鑿滃崟姣忎釜item鍒伴《閮ㄧ殑璺濈
-const getMenuItemTop = () => {
-	return new Promise((resolve) => {
-		let selectorQuery = uni.createSelectorQuery();
-		selectorQuery.selectAll('.class-item').boundingClientRect((rects) => {
-			// 濡傛灉鑺傜偣灏氭湭鐢熸垚锛宺ects鍊间负[](鍥犱负鐢╯electAll锛屾墍浠ヨ繑鍥炵殑鏄暟缁�)锛屽惊鐜皟鐢ㄦ墽琛�
-			if (!rects.length) {
-				setTimeout(() => {
-					getMenuItemTop();
-				}, 10);
-				return;
-			}
-			rects.forEach((rect) => {
-				// 杩欓噷鍑忓幓rects[0].top锛屾槸鍥犱负绗竴椤归《閮ㄥ彲鑳戒笉鏄创鍒板鑸爮(姣斿鏈変釜鎼滅储妗嗙殑鎯呭喌)
-				arr.value.push(rect.top - rects[0].top);
-				resolve();
-			});
-		}).exec();
-	});
-};
-
-// 鍙宠竟鑿滃崟婊氬姩
-const rightScroll = async (e) => {
-	oldScrollTop.value = e.detail.scrollTop;
-	if (arr.value.length === 0) {
-		await getMenuItemTop();
-	}
-	if (timer.value) return;
-	if (!menuHeight.value) {
-		await getElRect('menu-scroll-view', menuHeight);
-	}
-	setTimeout(() => { // 鑺傛祦
-		timer.value = null;
-		// scrollHeight涓哄彸杈硅彍鍗曞瀭鐩翠腑鐐逛綅缃�
-		let scrollHeight = e.detail.scrollTop + menuHeight.value / 2;
-		for (let i = 0; i < arr.value.length; i++) {
-			let height1 = arr.value[i];
-			let height2 = arr.value[i + 1];
-			// 濡傛灉涓嶅瓨鍦╤eight2锛屾剰鍛崇潃鏁版嵁寰幆宸茬粡鍒颁簡鏈�鍚庝竴涓紝璁剧疆宸﹁竟鑿滃崟涓烘渶鍚庝竴椤瑰嵆鍙�
-			if (!height2 || scrollHeight >= height1 && scrollHeight < height2) {
-				leftMenuStatus(i);
-				return;
-			}
-		}
-	}, 10);
-};
-
-const clickMenu = (menu) => {
-	console.log(menu);
-};
-</script>
-
-<template>
-	<view class="u-wrap">
-		<view class="u-search-box">
-			<view class="u-search-inner">
-				<u-icon name="search" color="#909399" :size="28"></u-icon>
-				<text class="u-search-text">鎼滅储</text>
-			</view>
-		</view>
-		<view class="u-menu-wrap">
-			<scroll-view scroll-y scroll-with-animation class="u-tab-view menu-scroll-view" :scroll-top="scrollTop"
-				:scroll-into-view="itemId">
-				<view v-for="(item, index) in tabbar" :key="index" class="u-tab-item"
-					:class="[current == index ? 'u-tab-item-active' : '']" @tap.stop="swichMenu(index)">
-					<text class="u-line-1">{{ item.name }}</text>
-				</view>
-			</scroll-view>
-			<scroll-view :scroll-top="scrollRightTop" scroll-y scroll-with-animation class="right-box"
-				@scroll="rightScroll">
-				<view class="page-view">
-					<view class="class-item" :id="'item' + index" v-for="(item, index) in tabbar" :key="index">
-						<view class="item-title">
-							<text>{{ item.name }}</text>
-						</view>
-						<view class="item-container">
-							<view class="thumb-box" v-for="(item1, index1) in item.foods" :key="index1"
-								@click="clickMenu(item1)">
-								<image class="item-menu-image" :src="item1.icon" mode=""></image>
-								<view class="item-menu-name">{{ item1.name }}</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</scroll-view>
-		</view>
-	</view>
-</template>
-<style lang="scss" scoped>
-.u-wrap {
-	height: calc(100vh);
-	/* #ifdef H5 */
-	height: calc(100vh - var(--window-top));
-	/* #endif */
-	display: flex;
-	flex-direction: column;
-}
-
-.u-search-box {
-	padding: 18rpx 30rpx;
-}
-
-.u-menu-wrap {
-	flex: 1;
-	display: flex;
-	overflow: hidden;
-}
-
-.u-search-inner {
-	background-color: rgb(234, 234, 234);
-	border-radius: 100rpx;
-	display: flex;
-	align-items: center;
-	padding: 10rpx 16rpx;
-}
-
-.u-search-text {
-	font-size: 26rpx;
-	color: $u-tips-color;
-	margin-left: 10rpx;
-}
-
-.u-tab-view {
-	width: 200rpx;
-	height: 100%;
-}
-
-.u-tab-item {
-	height: 110rpx;
-	background: #f6f6f6;
-	box-sizing: border-box;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	font-size: 26rpx;
-	color: #444;
-	font-weight: 400;
-	line-height: 1;
-}
-
-.u-tab-item-active {
-	position: relative;
-	color: #000;
-	font-size: 30rpx;
-	font-weight: 600;
-	background: #fff;
-}
-
-.u-tab-item-active::before {
-	content: "";
-	position: absolute;
-	border-left: 4px solid $u-primary;
-	height: 32rpx;
-	left: 0;
-	top: 39rpx;
-}
-
-.u-tab-view {
-	height: 100%;
-}
-
-.right-box {
-	background-color: rgb(250, 250, 250);
-}
-
-.page-view {
-	padding: 16rpx;
-}
-
-.class-item {
-	margin-bottom: 30rpx;
-	background-color: #fff;
-	padding: 16rpx;
-	border-radius: 8rpx;
-}
-
-.class-item:last-child {
-	min-height: 100vh;
-}
-
-.item-title {
-	font-size: 26rpx;
-	color: $u-main-color;
-	font-weight: bold;
-}
-
-.item-menu-name {
-	font-weight: normal;
-	font-size: 24rpx;
-	color: $u-main-color;
-}
-
-.item-container {
-	display: flex;
-	flex-wrap: wrap;
-}
-
-// 瀹氫箟椤圭洰灏哄鍙橀噺
-$item-size: 100rpx;
-
-.thumb-box {
-	width: 33.333333%;
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	flex-direction: column;
-	margin-top: 20rpx;
-	padding: 10rpx;
-	box-sizing: border-box;
-	
-	// 浣垮浘鐗囧鍣ㄧ殑瀹介珮閮藉熀浜巌tem-size鍙橀噺
-	.item-menu-image {
-		width: $item-size;
-		height: $item-size;
-	}
-	
-	.item-menu-name {
-		font-weight: normal;
-		font-size: 24rpx;
-		color: $u-main-color;
-		margin-top: 10rpx;
-		text-align: center;
-	}
-}
-
-.item-menu-image {
-	width: 120rpx;
-	height: 120rpx;
-}
-</style>
diff --git a/src/pages_template/pages/order/OrderItem.vue b/src/pages_template/pages/order/OrderItem.vue
deleted file mode 100644
index 2e25269..0000000
--- a/src/pages_template/pages/order/OrderItem.vue
+++ /dev/null
@@ -1,197 +0,0 @@
-<script setup>
-import { defineProps } from 'vue';
-
-const props = defineProps({
-  order: {
-    type: Object,
-    required: true
-  }
-});
-
-// 浠锋牸灏忔暟
-const priceDecimal = (val) => {
-  if (val !== parseInt(val)) return val.slice(-2);
-  else return '00';
-};
-
-// 浠锋牸鏁存暟
-const priceInt = (val) => {
-  if (val !== parseInt(val)) return val.split('.')[0];
-  else return val;
-};
-
-// 鎬讳环
-const totalPrice = (item) => {
-  let price = 0;
-  item.forEach(val => {
-    price += parseFloat(val.price);
-  });
-  return price.toFixed(2);
-};
-
-// 鎬讳欢鏁�
-const totalNum = (item) => {
-  let num = 0;
-  item.forEach(val => {
-    num += val.number;
-  });
-  return num;
-};
-</script>
-
-<template>
-  <view class="order">
-    <view class="top">
-      <view class="left">
-        <u-icon name="home" :size="30" color="rgb(94,94,94)"></u-icon>
-        <view class="store">{{ order.store }}</view>
-        <u-icon name="arrow-right" color="rgb(203,203,203)" :size="26"></u-icon>
-      </view>
-      <view class="right">{{ order.deal }}</view>
-    </view>
-    <view class="item" v-for="(item, index) in order.goodsList" :key="index">
-      <view class="left">
-        <image :src="item.goodsUrl" mode="aspectFill"></image>
-      </view>
-      <view class="content">
-        <view class="title u-line-2">{{ item.title }}</view>
-        <view class="type">{{ item.type }}</view>
-        <view class="delivery-time">鍙戣揣鏃堕棿 {{ item.deliveryTime }}</view>
-      </view>
-      <view class="right">
-        <view class="price">
-          锟{ priceInt(item.price) }}
-          <text class="decimal">.{{ priceDecimal(item.price) }}</text>
-        </view>
-        <view class="number">x{{ item.number }}</view>
-      </view>
-    </view>
-    <view class="total">
-      鍏眥{ totalNum(order.goodsList) }}浠跺晢鍝� 鍚堣:
-      <text class="total-price">
-        锟{ priceInt(totalPrice(order.goodsList)) }}.
-        <text class="decimal">{{ priceDecimal(totalPrice(order.goodsList)) }}</text>
-      </text>
-    </view>
-    <view class="bottom">
-      <view class="more"><u-icon name="more-dot-fill" color="rgb(203,203,203)"></u-icon></view>
-      <view class="logistics btn">鏌ョ湅鐗╂祦</view>
-      <view class="exchange btn">鍗栦簡鎹㈤挶</view>
-      <view class="evaluate btn">璇勪环</view>
-    </view>
-  </view>
-</template>
-
-<style lang="scss" scoped>
-.order {
-  width: 710rpx;
-  background-color: #ffffff;
-  margin: 20rpx auto;
-  border-radius: 20rpx;
-  box-sizing: border-box;
-  padding: 20rpx;
-  font-size: 28rpx;
-
-  .top {
-    display: flex;
-    justify-content: space-between;
-
-    .left {
-      display: flex;
-      align-items: center;
-
-      .store {
-        margin: 0 10rpx;
-        font-size: 32rpx;
-        font-weight: bold;
-      }
-    }
-
-    .right {
-      color: $u-warning-dark;
-    }
-  }
-
-  .item {
-    display: flex;
-    margin: 20rpx 0 0;
-
-    .left {
-      margin-right: 20rpx;
-
-      image {
-        width: 200rpx;
-        height: 200rpx;
-        border-radius: 10rpx;
-      }
-    }
-
-    .content {
-      .title {
-        font-size: 28rpx;
-        line-height: 50rpx;
-      }
-
-      .type {
-        margin: 10rpx 0;
-        font-size: 24rpx;
-        color: $u-tips-color;
-      }
-
-      .delivery-time {
-        color: #e5d001;
-        font-size: 24rpx;
-      }
-    }
-
-    .right {
-      margin-left: 10rpx;
-      padding-top: 20rpx;
-      text-align: right;
-
-      .decimal {
-        font-size: 24rpx;
-        margin-top: 4rpx;
-      }
-
-      .number {
-        color: $u-tips-color;
-        font-size: 24rpx;
-      }
-    }
-  }
-
-  .total {
-    margin-top: 20rpx;
-    text-align: right;
-    font-size: 24rpx;
-
-    .total-price {
-      font-size: 32rpx;
-    }
-  }
-
-  .bottom {
-    display: flex;
-    margin-top: 40rpx;
-    padding: 0 10rpx;
-    justify-content: space-between;
-    align-items: center;
-
-    .btn {
-      line-height: 52rpx;
-      width: 160rpx;
-      border-radius: 26rpx;
-      border: 2rpx solid $u-border-color;
-      font-size: 26rpx;
-      text-align: center;
-      color: $u-info-dark;
-    }
-
-    .evaluate {
-      color: $u-warning-dark;
-      border-color: $u-warning-dark;
-    }
-  }
-}
-</style>
diff --git a/src/pages_template/pages/order/index.vue b/src/pages_template/pages/order/index.vue
deleted file mode 100644
index e5b2e88..0000000
--- a/src/pages_template/pages/order/index.vue
+++ /dev/null
@@ -1,250 +0,0 @@
-<script setup>
-import { ref, reactive, onMounted } from 'vue';
-import OrderItem from './OrderItem.vue';
-
-const orderList = ref([[], [], [], []]);
-const dataList = reactive([
-	{
-		id: 1,
-		store: '澶忔棩娴佹槦闄愬畾璐╁崠',
-		deal: '浜ゆ槗鎴愬姛',
-		goodsList: [
-			{
-				goodsUrl: '//img13.360buyimg.com/n7/jfs/t1/103005/7/17719/314825/5e8c19faEb7eed50d/5b81ae4b2f7f3bb7.jpg',
-				title: '銆愬啲鏃ラ檺瀹氥�戠幇璐� 鍘熷垱jk鍒舵湇濂�2020鍐鏂版灏忔竻鏂板鏉捐蒋绯瘺琛e濂楀コ寮�琛煭娆剧櫨鎼棩绯荤敎缇庨',
-				type: '鐏拌壊;M',
-				deliveryTime: '浠樻鍚�30澶╁唴鍙戣揣',
-				price: '348.58',
-				number: 2
-			},
-			{
-				goodsUrl: '//img12.360buyimg.com/n7/jfs/t1/102191/19/9072/330688/5e0af7cfE17698872/c91c00d713bf729a.jpg',
-				title: '銆愯憽钀勮棨銆戠幇璐� 灏忔竻鏂板闄㈤鍒舵湇鏍艰鐧捐ざ瑁欏コ鐭鐧炬惌鏃ョ郴鐢滅編椋庡師鍒沯k鍒舵湇濂�2020鏂版',
-				type: '45cm;S',
-				deliveryTime: '浠樻鍚�30澶╁唴鍙戣揣',
-				price: '135.00',
-				number: 1
-			}
-		]
-	},
-	{
-		id: 2,
-		store: '姹熷崡鐨潻鍘�',
-		deal: '浜ゆ槗澶辫触',
-		goodsList: [
-			{
-				goodsUrl: '//img14.360buyimg.com/n7/jfs/t1/60319/15/6105/406802/5d43f68aE9f00db8c/0affb7ac46c345e2.jpg',
-				title: '銆愬啲鏃ラ檺瀹氥�戠幇璐� 鍘熷垱jk鍒舵湇濂�2020鍐鏂版灏忔竻鏂板鏉捐蒋绯瘺琛e濂楀コ寮�琛煭娆剧櫨鎼棩绯荤敎缇庨',
-				type: '绮夎壊;M',
-				deliveryTime: '浠樻鍚�7澶╁唴鍙戣揣',
-				price: '128.05',
-				number: 1
-			}
-		]
-	},
-	{
-		id: 3,
-		store: '涓夋槦鏃楄埌搴�',
-		deal: '浜ゆ槗澶辫触',
-		goodsList: [
-			{
-				goodsUrl: '//img11.360buyimg.com/n7/jfs/t1/94448/29/2734/524808/5dd4cc16E990dfb6b/59c256f85a8c3757.jpg',
-				title: '涓夋槦锛圫AMSUNG锛変含鍝佸鐢� UA65RUF70AJXXZ 65鑻卞4K瓒呴珮娓� HDR 浜笢寰仈 鏅鸿兘璇煶 鏁欒偛璧勬簮娑叉櫠鐢佃鏈�',
-				type: '4K锛屽箍鑹插煙',
-				deliveryTime: '淇濊川5骞�',
-				price: '1998',
-				number: 3
-			},
-			{
-				goodsUrl: '//img14.360buyimg.com/n7/jfs/t6007/205/4099529191/294869/ae4e6d4f/595dcf19Ndce3227d.jpg!q90.jpg',
-				title: '缇庣殑(Midea)639鍗� 瀵瑰紑闂ㄥ啺绠� 19鍒嗛挓鎬ラ�熷噣鍛� 涓�绾ц兘鏁堝喎钘忓弻寮�闂ㄦ潃鑿屾櫤鑳藉鐢ㄥ弻鍙橀鑺傝兘 BCD-639WKPZM(E)',
-				type: '瀹归噺澶э紝閫熷喕',
-				deliveryTime: '淇濊川5骞�',
-				price: '2354',
-				number: 1
-			}
-		]
-	},
-	{
-		id: 4,
-		store: '涓夋槦鏃楄埌搴�',
-		deal: '浜ゆ槗澶辫触',
-		goodsList: [
-			{
-				goodsUrl: '//img10.360buyimg.com/n7/jfs/t22300/31/1505958241/171936/9e201a89/5b2b12ffNe6dbb594.jpg!q90.jpg',
-				title: '娉曞浗杩涘彛绾㈤厭 鎷夎彶锛圠AFITE锛変紶濂囨尝灏斿骞茬孩钁¤悇閰�750ml*6鏁寸瑁�',
-				type: '4K锛屽箍鑹插煙',
-				deliveryTime: '鐝嶈棌10骞村ソ閰�',
-				price: '1543',
-				number: 3
-			},
-			{
-				goodsUrl: '//img10.360buyimg.com/n7/jfs/t1/107598/17/3766/525060/5e143aacE9a94d43c/03573ae60b8bf0ee.jpg',
-				title: '钃濆锛圔LUE GIRL锛夐叿鐖藉暏閰� 娓呭暏 鍘熻杩涘彛鍟ら厭 缃愯 500ml*9鍚� 鏁寸瑁�',
-				type: '涓�鎵�',
-				deliveryTime: '鍙f劅濂�',
-				price: '120',
-				number: 1
-			}
-		]
-	},
-	{
-		id: 5,
-		store: '涓夋槦鏃楄埌搴�',
-		deal: '浜ゆ槗鎴愬姛',
-		goodsList: [
-			{
-				goodsUrl: '//img12.360buyimg.com/n7/jfs/t1/52408/35/3554/78293/5d12e9cfEfd118ba1/ba5995e62cbd747f.jpg!q90.jpg',
-				title: '浼佷笟寰俊 涓帶浜鸿劯鎸囩汗璇嗗埆鑰冨嫟鏈哄埛鑴告満 鏃犵嚎绛惧埌寮傚湴澶氬簵鎵撳崱鏈篧X108',
-				type: '璇嗗埆鏁堢巼楂�',
-				deliveryTime: '浣跨敤鏂逛究',
-				price: '451',
-				number: 9
-			}
-		]
-	}
-]);
-const list = reactive([
-	{ name: '寰呬粯娆�' },
-	{ name: '寰呭彂璐�' },
-	{ name: '寰呮敹璐�' },
-	{ name: '寰呰瘎浠�', count: 12 }
-]);
-const current = ref(0);
-const swiperCurrent = ref(0);
-const loadStatus = ref(['loadmore', 'loadmore', 'loadmore', 'loadmore']);
-
-onMounted(() => {
-	getOrderList(0);
-	getOrderList(1);
-	getOrderList(3);
-});
-
-// 瑙﹀簳鎳掑姞杞�
-const reachBottom = () => {
-	loadStatus.value.splice(current.value, 1, "loading");
-	setTimeout(() => {
-		getOrderList(current.value);
-	}, 1200);
-};
-
-// 椤甸潰鏁版嵁
-const getOrderList = (idx) => {
-	// 妯℃嫙绗琻涓〉闈㈣幏鍙栨暟鎹�
-	for (let i = 0; i < 5; i++) {
-		let index = Math.floor(Math.random() * dataList.length);
-		let data = JSON.parse(JSON.stringify(dataList[index]));
-		data.id = Math.random().toString(36).substr(2, 9);
-		orderList.value[idx].push(data);
-	}
-	loadStatus.value.splice(current.value, 1, "loadmore");
-};
-
-// tab鏍忓垏鎹�
-const change = ({ index }) => {
-	current.value = index; // 鏇存柊current鍙橀噺
-	swiperCurrent.value = index;
-	getOrderList(index);
-};
-
-const animationfinish = (e) => {
-	const currentIndex = e.detail.current;
-	swiperCurrent.value = currentIndex;
-	current.value = currentIndex; // 灏哻urrent鐨勫�兼纭洿鏂颁负swiper鐨刢urrent
-};
-
-// 鑾峰彇tabs缁勪欢鐨剅ef
-const tabs = ref(null);
-</script>
-
-<template>
-	<view>
-		<view class="wrap">
-			<view class="u-tabs-box">
-				<u-tabs activeColor="#f29100" ref="tabs" :list="list" :current="current" @change="change"
-					:is-scroll="false" swiperWidth="750"></u-tabs>
-			</view>
-			<swiper class="swiper-box" :current="swiperCurrent" @animationfinish="animationfinish">
-				<swiper-item class="swiper-item" v-for="(orderlist, index) in orderList" :key="index">
-					<scroll-view scroll-y style="height: 100%;width: 100%;" @scrolltolower="reachBottom"
-						v-if="orderlist.length !== 0">
-						<view class="page-box">
-							<OrderItem v-for="res in orderlist" :key="res.id" :order="res" />
-							<u-loadmore :status="loadStatus[0]" bgColor="#f2f2f2"></u-loadmore>
-						</view>
-					</scroll-view>
-					<scroll-view scroll-y style="height: 100%;width: 100%;" v-else>
-						<view class="page-box">
-							<view class="centre">
-								<image src="https://cdn.uviewui.com/uview/template/taobao-order.png" mode="aspectFit" class="empty-image">
-								</image>
-								<view class="explain">
-									鎮ㄨ繕娌℃湁鐩稿叧鐨勮鍗�
-									<view class="tips">鍙互鍘荤湅鐪嬫湁閭d簺鎯充拱鐨�</view>
-								</view>
-								<view class="btn">闅忎究閫涢��</view>
-							</view>
-						</view>
-					</scroll-view>
-				</swiper-item>
-			</swiper>
-		</view>
-	</view>
-</template>
-<style>
-/* #ifndef H5 */
-page {
-	height: 100%;
-	background-color: #f2f2f2;
-}
-
-/* #endif */
-</style>
-
-<style lang="scss" scoped>
-.centre {
-	text-align: center;
-	margin: 200rpx auto;
-	font-size: 32rpx;
-	width: 100%;
-
-	.empty-image {
-		width: 164rpx;
-		height: 164rpx;
-		border-radius: 50%;
-		margin: 0 auto 20rpx;
-		display: block; /* 纭繚鍥剧墖浣滀负鍧楃骇鍏冪礌 */
-	}
-
-	.tips {
-		font-size: 24rpx;
-		color: #999999;
-		margin-top: 20rpx;
-	}
-
-	.btn {
-		margin: 80rpx auto;
-		width: 200rpx;
-		border-radius: 32rpx;
-		line-height: 64rpx;
-		color: #ffffff;
-		font-size: 26rpx;
-		background: linear-gradient(270deg, rgba(249, 116, 90, 1) 0%, rgba(255, 158, 1, 1) 100%);
-	}
-}
-
-.wrap {
-	display: flex;
-	flex-direction: column;
-	height: calc(100vh - var(--window-top));
-	width: 100%;
-}
-
-.swiper-box {
-	flex: 1;
-}
-
-.swiper-item {
-	height: 100%;
-}
-</style>
diff --git a/src/pages_template/pages/submitBar/index.vue b/src/pages_template/pages/submitBar/index.vue
deleted file mode 100644
index d24e404..0000000
--- a/src/pages_template/pages/submitBar/index.vue
+++ /dev/null
@@ -1,73 +0,0 @@
-<script setup>
-</script>
-<template>
-	<view class="navigation">
-		<view class="left">
-			<view class="item">
-				<u-icon name="server-fill" :size="20" :color="$u.color['contentColor']"></u-icon>
-				<view class="text u-line-1">瀹㈡湇</view>
-			</view>
-			<view class="item">
-				<u-icon name="home" :size="20" :color="$u.color['contentColor']"></u-icon>
-				<view class="text u-line-1">搴楅摵</view>
-			</view>
-			<view class="item car">
-				<u-badge class="car-num" :count="9" type="error" :offset="[-3, -6]"></u-badge>
-				<u-icon name="shopping-cart" :size="20" :color="$u.color['contentColor']"></u-icon>
-				<view class="text u-line-1">璐墿杞�</view>
-			</view>
-		</view>
-		<view class="right">
-			<view class="cart btn u-line-1">鍔犲叆璐墿杞�</view>
-			<view class="buy btn u-line-1">绔嬪嵆璐拱</view>
-		</view>
-	</view>
-</template>
-<style lang="scss" scoped>
-.navigation {
-	position: fixed;
-	bottom: 0;
-	width: 100%;
-	display: flex;
-	justify-content: space-between;
-	margin-top: 100rpx;
-	border: solid 2rpx #f2f2f2;
-	background-color: #ffffff;
-	padding: 16rpx 0;
-	.left {
-		display: flex;
-		font-size: 20rpx;
-		.item {
-			margin: 0 20rpx;
-			&.car {
-				text-align: center;
-				position: relative;
-				.car-num {
-					position: absolute;
-					top: -10rpx;
-					right: -10rpx;
-				}
-			}
-		}
-	}
-	.right {
-		display: flex;
-		font-size: 28rpx;
-		padding-right: 10rpx;
-		align-items: center;
-		.btn {
-			line-height: 66rpx;
-			padding: 0 30rpx;
-			border-radius: 36rpx;
-			color: #ffffff;
-		}
-		.cart {
-			background-color: #ed3f14;
-			margin-right: 30rpx;
-		}
-		.buy {
-			background-color: #ff7900;
-		}
-	}
-}
-</style>
diff --git a/src/pages_template/pages/wxCenter/index.vue b/src/pages_template/pages/wxCenter/index.vue
deleted file mode 100644
index 43284c2..0000000
--- a/src/pages_template/pages/wxCenter/index.vue
+++ /dev/null
@@ -1,81 +0,0 @@
-<script setup>
-import tab from '@/plugins/tab';
-import { ref } from 'vue';
-
-const pic = ref('https://uviewui.com/common/logo.png');
-const show = ref(true);
-
-const navigateBackHandler = () => { tab.navigateBack(); }
-</script>
-
-<template>
-	<view>
-		<u-navbar :fixed="false" title="銆�" @leftClick="navigateBackHandler">
-			<view class="u-flex u-row-right" style="width: 100%;">
-				<view class="camera u-flex u-row-center">
-					<u-icon name="camera-fill" color="#000000" size="48"></u-icon>
-				</view>
-			</view>
-		</u-navbar>
-		<view class="u-flex u-flex-y-center u-flex-around user-box u-p-l-30 u-p-r-20 u-p-b-30">
-			<view class="u-m-r-10">
-				<u-avatar :src="pic" size="140"></u-avatar>
-			</view>
-			<view class="u-flex-1">
-				<view class="u-font-18 u-p-b-20">uview plus</view>
-				<view class="u-font-14 u-tips-color">寰俊鍙�:test</view>
-			</view>
-			<view class="u-m-l-10 u-p-10">
-				<u-icon name="scan" color="#969799" size="28"></u-icon>
-			</view>
-			<view class="u-m-l-10 u-p-10">
-				<u-icon name="arrow-right" color="#969799" size="28"></u-icon>
-			</view>
-		</view>
-
-		<view class="u-m-t-20">
-			<u-cell-group>
-				<u-cell icon="rmb-circle" title="鏀粯" isLink></u-cell>
-			</u-cell-group>
-		</view>
-
-		<view class="u-m-t-20">
-			<u-cell-group>
-				<u-cell icon="star" title="鏀惰棌" isLink></u-cell>
-				<u-cell icon="photo" title="鐩稿唽" isLink></u-cell>
-				<u-cell icon="coupon" title="鍗″埜" isLink></u-cell>
-				<u-cell icon="heart" title="鍏虫敞" isLink></u-cell>
-			</u-cell-group>
-		</view>
-
-		<view class="u-m-t-20">
-			<u-cell-group>
-				<u-cell icon="setting" title="璁剧疆" isLink></u-cell>
-			</u-cell-group>
-		</view>
-	</view>
-</template>
-
-
-<style lang="scss" scoped>
-page {
-	background-color: #ededed;
-}
-
-.camera {
-	width: 54px;
-	height: 44px;
-
-	&:active {
-		background-color: #ededed;
-	}
-}
-
-.user-box {
-	background-color: #fff;
-}
-
-.u-cell-group {
-	background-color: #fff;
-}
-</style>
diff --git a/src/plugins/auth.ts b/src/plugins/auth.ts
deleted file mode 100644
index ebf8bf4..0000000
--- a/src/plugins/auth.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-import useUserStore from "@/store/modules/user";
-function authPermission(permission: string): boolean {
-  const all_permission = "*:*:*";
-  const permissions: Array<string> = useUserStore().permissions;
-  if (permission && permission.length > 0) {
-    return permissions.some((v) => {
-      return all_permission === v || v === permission;
-    });
-  } else {
-    return false;
-  }
-}
-
-function authRole(role: string): boolean {
-  const super_admin = "admin";
-  const roles: Array<string> = useUserStore().roles;
-  if (role && role.length > 0) {
-    return roles.some((v) => {
-      return super_admin === v || v === role;
-    });
-  } else {
-    return false;
-  }
-}
-
-export default {
-  /**
-   * 楠岃瘉鐢ㄦ埛鏄惁鍏峰鏌愭潈闄�
-   * @param permission 鏉冮檺绗�
-   * @returns
-   */
-  hasPermi(permission: string): boolean {
-    return authPermission(permission);
-  },
-  /**
-   * 楠岃瘉鐢ㄦ埛鏄惁鍚湁鎸囧畾鏉冮檺锛屽彧闇�鍖呭惈鍏朵腑涓�涓�
-   * @param permissions 鏉冮檺绗︽暟缁�
-   * @returns
-   */
-  hasPermiOr(permissions: Array<string>): boolean {
-    return permissions.some((item) => {
-      return authPermission(item);
-    });
-  },
-  /**
-   * 楠岃瘉鐢ㄦ埛鏄惁鍚湁鎸囧畾鏉冮檺锛屽繀椤诲叏閮ㄦ嫢鏈�
-   * @param permissions 鏉冮檺绗︽暟缁�
-   * @returns
-   */
-  hasPermiAnd(permissions: Array<string>): boolean {
-    return permissions.every((item) => {
-      return authPermission(item);
-    });
-  },
-  /**
-   * 楠岃瘉鐢ㄦ埛鏄惁鍏峰鏌愯鑹�
-   * @param role 瑙掕壊
-   * @returns
-   */
-  hasRole(role: string): boolean {
-    return authRole(role);
-  },
-  /**
-   * 楠岃瘉鐢ㄦ埛鏄惁鍚湁鎸囧畾瑙掕壊锛屽彧闇�鍖呭惈鍏朵腑涓�涓�
-   * @param roles 瑙掕壊鏁扮粍
-   * @returns
-   */
-  hasRoleOr(roles: Array<string>): boolean {
-    return roles.some((item) => {
-      return authRole(item);
-    });
-  },
-  /**
-   * 楠岃瘉鐢ㄦ埛鏄惁鍚湁鎸囧畾瑙掕壊锛屽繀椤诲叏閮ㄦ嫢鏈�
-   * @param roles 瑙掕壊鏁扮粍
-   * @returns
-   */
-  hasRoleAnd(roles: Array<string>): boolean {
-    return roles.every((item) => {
-      return authRole(item);
-    });
-  },
-};
diff --git a/src/plugins/bus.ts b/src/plugins/bus.ts
deleted file mode 100644
index b2c5074..0000000
--- a/src/plugins/bus.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-const event: { [key: string]: Function } = {}
-/** 浜嬩欢鍙ユ焺 */
-export default {
-  /** 缁戝畾涓�涓簨浠� */
-  $on(eventName: string, eventFun: Function) {
-    if (event.hasOwnProperty(eventName)) {
-      throw new Error(`瀛樺湪浜嬩欢 => ${eventName}`)
-    } else {
-      event[eventName] = eventFun
-    }
-  },
-  /** 瑙g粦涓�涓簨浠� */
-  $off(eventName: keyof typeof event) {
-    if (event.hasOwnProperty(eventName)) {
-      delete event[eventName]
-    } else {
-      throw new Error(`涓嶅瓨鍦ㄤ簨浠� => ${eventName}`)
-    }
-  },
-  /** 瑙﹀彂涓�涓簨浠� */
-  $emit<T>(eventName: keyof typeof event, ...args: any):T {
-    if (event.hasOwnProperty(eventName)) {
-      return event[eventName](...args)
-    } else {
-      throw new Error(`涓嶅瓨鍦ㄤ簨浠� => ${eventName}`)
-    }
-  }
-}
diff --git a/src/plugins/index.ts b/src/plugins/index.ts
deleted file mode 100644
index b92063f..0000000
--- a/src/plugins/index.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import Tab from './tab'
-import Auth from './auth'
-import Modal from './modal'
-import Bus from './bus';
-import Socket from './socketclient'
-import { App } from 'vue';
-
-
-export const tab = Tab;
-export const auth = Auth;
-export const modal = Modal;
-export const bus = Bus
-export const socket = Socket
-
-/**
- * 鍦ㄧ粍鍚堝紡API涓彲浠ラ�氳繃 import { tab, auth, modal } form '@/plugins' 鏉ヤ娇鐢╰ab銆乤uth銆乵odal
- * 鍦ㄩ�夐」寮廇PI涓彲浠ラ�氳繃 this.$tab  this.$auth  this.$modal 鏉ヤ娇鐢╰ab銆乤uth銆乵odal
- */
-export default {
-  install(app: App): void {
-    // 椤甸潰鎿嶄綔
-    app.config.globalProperties.$tab = tab
-    // 璁よ瘉瀵硅薄
-    app.config.globalProperties.$auth = auth
-    // 妯℃�佹瀵硅薄
-    app.config.globalProperties.$modal = modal
-    // 鍏ㄥ眬浜嬩欢鎬荤嚎
-    app.config.globalProperties.$bus = bus
-    // socket瀵硅薄
-    app.config.globalProperties.$socket = socket
-  }
-}
diff --git a/src/plugins/modal.ts b/src/plugins/modal.ts
deleted file mode 100644
index 4a97dd3..0000000
--- a/src/plugins/modal.ts
+++ /dev/null
@@ -1,99 +0,0 @@
-export default {
-  /**
-   * 娑堟伅鎻愮ず
-   * @param content 娑堟伅鍐呭
-   */
-  msg(content: string): void {
-    uni.showToast({
-      title: content,
-      icon: 'none'
-    })
-  },
-  /**
-   * 閿欒娑堟伅
-   * @param content 娑堟伅鍐呭
-   */
-  msgError(content: string): void {
-    uni.showToast({
-      title: content,
-      icon: 'error'
-    })
-  },
-  /**
-   * 鎴愬姛娑堟伅
-   * @param content 娑堟伅鍐呭
-   */
-  msgSuccess(content: string): void {
-    uni.showToast({
-      title: content,
-      icon: 'success'
-    })
-  },
-  /**
-   * 闅愯棌娑堟伅
-   */
-  hideMsg(): void {
-    uni.hideToast()
-  },
-  /**
-   * 寮瑰嚭鎻愮ず
-   * @param content 鎻愮ず鍐呭
-   */
-  alert(content: string): void {
-    uni.showModal({
-      title: '鎻愮ず',
-      content: content,
-      showCancel: false
-    })
-  },
-  /**
-   * 纭绐椾綋
-   * @param content 鎻愮ず鍐呭
-   * @returns 
-   */
-  confirm(content: string): Promise<unknown> {
-    return new Promise((resolve: Function, reject: Function) => {
-      uni.showModal({
-        title: '绯荤粺鎻愮ず',
-        content: content,
-        cancelText: '鍙栨秷',
-        confirmText: '纭畾',
-        success: function (res) {
-          if (res.confirm) {
-            resolve(res.confirm)
-          }
-        }
-      })
-    })
-  },
-  /**
-   * 鎻愮ず淇℃伅
-   * @param option 鎻愮ず鍐呭鎴栬�呮彁绀烘閰嶇疆
-   */
-  showToast(option: string | object): void {
-    if (typeof option === "object") {
-      uni.showToast(option)
-    } else {
-      uni.showToast({
-        title: option,
-        icon: "none",
-        duration: 2500
-      })
-    }
-  },
-  /**
-   * 鎵撳紑閬僵灞傦紝闇�瑕佹墜鍔ㄥ叧闂伄缃╁眰
-   * @param content 閬僵灞傚唴瀹�
-   */
-  loading(content: string): void {
-    uni.showLoading({
-      title: content
-    })
-  },
-  /**
-   * 鍏抽棴閬僵灞�
-   */
-  closeLoading(): void {
-    uni.hideLoading()
-  }
-}
diff --git a/src/plugins/mqttclient.ts b/src/plugins/mqttclient.ts
deleted file mode 100644
index dacf79a..0000000
--- a/src/plugins/mqttclient.ts
+++ /dev/null
@@ -1,165 +0,0 @@
-import { generateUUID } from "@/utils/geek";
-import * as mqtt from "mqtt/dist/mqtt";
-const enableJSONDecoding = true // 寮�鍚疛SON瑙f瀽娑堟伅锛岄渶瑕佸紑鍚疛SON瑙f瀽娑堟伅鎵嶈兘寮�鍚痷uid鍜宔vent
-const enableJSONEncoding = true // 寮�鍚疛SON娑堟伅缂栫爜
-const enableUUID = true // 闇�瑕佹帴鏀朵俊鎭腑鍖呭惈uuid瀛楁锛寀uid浼樺厛绾ч珮浜巈vent
-
-type MqttConnectOptions = {
-    clean: boolean,
-    connectTimeout: number,
-    clientId: string, // 璁よ瘉淇℃伅
-    keepalive: number,
-    protocolId?: string, // 榛樿 'MQTT'
-    protocolVersion?: number, // 榛樿4
-    username?: string,
-    password?: string,
-}
-type MqttConnectConfig = {
-    url?: string,
-    options: MqttConnectOptions
-}
-interface MqttClient {
-    connected:boolean,
-    on: {
-        (event: "connect", fun: () => void): void;
-        (event: "reconnect", fun: () => void): void;
-        (event: "disconnect", fun: () => void): void;
-        (event: "offline", fun: () => void): void;
-        (event: "message", fun: (topic: string, message: any, packet?: any) => void): void;
-        (event: "packetsend", fun: (packet: any) => void): void;
-        (event: "packetreceive", fun: (packet: any) => void): void;
-        (event: "error", fun: (err: any) => void): void;
-    };
-    publish: {
-        (topic: string, message: any, options?: any, callback?: (err: any) => void): void;
-    }
-    subscribe: {
-        (topic: string, options?: any, callback?: (err: any, granted: { topic: string, qos: any }) => void): void
-    }
-    unsubscribe: {
-        (topic: string, callback?: (err: any) => void): void
-    }
-    end(force?:boolean, options?:any, callback?: (err: any) => void): void
-}
-
-let _client: MqttClient;
-let _callback: { [key: string]: (data: any) => void } = {}
-let onmassage = (topic:string,message:string)=>{}
-export default {
-    /**
-     * 杩炴帴websocket
-     * 鏈�绠�鍗曠殑鐢ㄦ硶灏辨槸浼犲叆{url:"ws://demo"}
-     * 褰撹繛鎺ユ垚鍔熷悗瑙﹀彂鍥炶皟鍑芥暟
-     */
-    connect(config: MqttConnectConfig) {
-        return new Promise<void>((resolve, reject) => {
-            if(!_client || !_client.connected){
-                _client = mqtt.connect(config.url, config.options);
-                _client.on('connect', resolve);
-                _client.on('error', reject);
-                _client.on('message', (topic,message) => {
-                    if (enableJSONDecoding) {
-                        let data = JSON.parse(message)
-                        if (enableUUID && (data || {}).uuid !== undefined) {
-                            _callback[data.uuid](data)
-                            delete _callback[data.uuid]
-                        }
-                    }
-                    onmassage(topic,message)
-                })
-            }
-        })
-    },
-    /**
-     * 鍙戦�佷俊鎭�
-     * @param msg 娑堟伅锛屼細琚鐞嗘垚json瀛楃涓�
-     * @param uuid 鍞竴鏍囪瘑,鍙互浼犲叆uuid锛屼篃鍙互浼犲叆true鑷姩鐢熸垚uuid锛宖lase琛ㄧず璇ユ秷鎭笉闇�瑕佸崟鐙鐞�
-     * @returns
-     */
-    send(topic: string, msg: any, uuid: string | boolean = false, options: any = undefined) {
-        return new Promise((resolve, reject) => {
-            const useUUID = enableUUID && uuid != undefined && uuid != "" && uuid != false
-            if (useUUID) {
-                if (uuid === true) {
-                    msg.uuid = generateUUID()
-                    _callback[msg.uuid] = resolve
-                } else {
-                    _callback[uuid] = resolve
-                }
-            }
-            if(enableJSONEncoding){
-                msg = JSON.stringify(msg)
-            }
-            _client.publish(topic, msg, options, err => {
-                if (err) {
-                    reject(err)
-                } else if (uuid === false) {
-                    resolve(err)
-                }
-            })
-        })
-    },
-    /**
-     * 鍏抽棴杩炴帴
-     * @returns 鍏抽棴杩炴帴鐨凱romise锛屽洖璋冨嚱鏁板彧浼氳繍琛屼竴娆�
-     */
-    close(force?: boolean, options?: any, callback?: (err: any) => void) {
-        return new Promise<void>((resolve, reject) => {
-            _client.end(force,options,()=>{
-                resolve()
-            })
-        })
-    },
-    /**
-     * 璁㈤槄浜嬩欢
-     * @param event 瑕佺洃鍚殑浜嬩欢
-     * @returns 鍦ㄥ洖璋冨嚱鏁颁腑澶勭悊浜嬩欢
-     */
-    subscribe(topic: string, options: string | undefined = undefined) {
-        return new Promise<void>((resolve, reject) => {
-            _client.subscribe(topic, options, err => {
-                if (err) {
-                    reject(err)
-                } else {
-                    resolve()
-                }
-            })
-        })
-    },
-    /**
-     * 鍙栨秷璁㈤槄浜嬩欢
-     * @param event 瑕佸彇娑堢洃鍚殑浜嬩欢
-     */
-    unsubscribe(topic: string) {
-        return new Promise<void>((resolve, reject) => {
-            _client.unsubscribe(topic, err => {
-                if (err) {
-                    reject(err)
-                } else {
-                    resolve()
-                }
-            })
-        })
-    },
-    /**
-     * 瀹氫箟榛樿鐩戝惉浜嬩欢
-     * @param callback 榛樿鐩戝惉浜嬩欢鐨勫鐞嗗嚱鏁�
-     */
-    onMessage(callback: (topic:string,message:string) => void) {
-        onmassage = callback
-    },
-    /**
-     * 瀹氫箟寮傚父浜嬩欢
-     * @param callback 榛樿寮傚父浜嬩欢鐨勫鐞嗗嚱鏁�
-     */
-    onError(callback: (data: any) => void) {
-        _client.on('error', callback)
-    },
-    /**
-     * 瀹氫箟鍏抽棴浜嬩欢
-     * @param callback 榛樿鍏抽棴浜嬩欢鐨勫鐞嗗嚱鏁�
-     */
-    onClose(callback: () => void) {
-        _client.on('disconnect', callback)
-    }
-}
\ No newline at end of file
diff --git a/src/plugins/socketclient.ts b/src/plugins/socketclient.ts
deleted file mode 100644
index 820040e..0000000
--- a/src/plugins/socketclient.ts
+++ /dev/null
@@ -1,147 +0,0 @@
-import { getToken } from '@/utils/auth'
-import { generateUUID } from '@/utils/geek';
-let _client: UniApp.SocketTask;
-let _callback: { [key: string]: (data: any) => void } = {}
-const enableJSON = true // 寮�鍚疛SON瑙f瀽娑堟伅锛岄渶瑕佸紑鍚疛SON瑙f瀽娑堟伅鎵嶈兘寮�鍚痷uid鍜宔vent
-const enableJSONEncoding = true // 寮�鍚疛SON娑堟伅缂栫爜
-const enableUUID = true // 闇�瑕佹帴鏀朵俊鎭腑鍖呭惈uuid瀛楁锛寀uid浼樺厛绾ч珮浜巈vent
-const enableEvent = true // 闇�瑕佹帴鏀朵俊鎭腑鍖呭惈event瀛楁
-
-
-export interface SocketConnectConfig extends UniApp.ConnectSocketOption {
-    headers: {
-        isToken: boolean
-    }
-}
-
-export default {
-    /**
-     * 杩炴帴websocket
-     * 鏈�绠�鍗曠殑鐢ㄦ硶灏辨槸浼犲叆{url:"ws://demo"}
-     * 褰撹繛鎺ユ垚鍔熷悗瑙﹀彂鍥炶皟鍑芥暟
-     */
-    connect(config: SocketConnectConfig) {
-        return new Promise((resolve, reject) => {
-            const isToken = (config.headers || {}).isToken === false
-            config.header = config.header || { 'content-type': 'application/json' }
-            if (getToken() && !isToken) {
-                config.header['Authorization'] = 'Bearer ' + getToken()
-            }
-            if(_client !== undefined){
-                _client.close({})
-            }
-            _client = uni.connectSocket({
-                url: config.url,
-                header: config.header,
-                method: config.method || 'GET',
-                fail: reject
-            });
-            _client.onError(reject)
-            _client.onOpen(resolve)
-            _client.onMessage(res => {
-                if(enableJSON){
-                    let data = JSON.parse((res || {}).data)
-                    if (enableUUID && (data || {}).uuid !== undefined) {
-                        _callback[data.uuid](data)
-                    } else if (enableEvent && (data || {}).event !== undefined) {
-                        _callback[data.event](data)
-                    }
-                }
-            })
-        })
-    },
-    /**
-     * 鍙戦�佷俊鎭�
-     * @param msg 娑堟伅锛屼細琚鐞嗘垚json瀛楃涓�
-     * @param uuid 鍞竴鏍囪瘑,鍙互浼犲叆uuid锛屼篃鍙互浼犲叆true鑷姩鐢熸垚uuid锛宖lase琛ㄧず璇ユ秷鎭笉闇�瑕佸崟鐙鐞�
-     * @returns
-     */
-    send(msg: any, uuid: string | boolean = false) {
-        return new Promise((resolve, reject) => {
-            if(enableJSONEncoding){
-                msg = JSON.stringify(msg)
-            }
-            if (enableUUID && uuid != undefined && uuid != "" && uuid != false) {
-                if (uuid === true) {
-                    msg.uuid = generateUUID()
-                    _callback[msg.uuid] = resolve
-                } else {
-                    _callback[uuid] = resolve
-                }
-            }
-            _client.send({
-                data: JSON.stringify(msg),
-                fail: reject
-            })
-        })
-    },
-    /**
-     * 鍏抽棴杩炴帴
-     * @returns 鍏抽棴杩炴帴鐨凱romise锛屽洖璋冨嚱鏁板彧浼氳繍琛屼竴娆�
-     */
-    close() {
-        return new Promise((resolve, reject) => {
-            let onclose = _client.onClose
-            _client.onClose(res => {
-                resolve(res)
-                _client.onClose = onclose
-            })
-            _client.close({
-                fail: reject
-            })
-
-        })
-    },
-    /**
-     * 鐩戝惉浜嬩欢
-     * @param event 瑕佺洃鍚殑浜嬩欢
-     * @returns 鍦ㄥ洖璋冨嚱鏁颁腑澶勭悊浜嬩欢
-     */
-    subscribe(event: string) {
-        return new Promise((resolve) => {
-            _callback[event] = resolve
-        })
-    },
-    /**
-     * 鍙栨秷鐩戝惉浜嬩欢
-     * @param event 瑕佸彇娑堢洃鍚殑浜嬩欢
-     */
-    unsubscribe(event: string) {
-        delete _callback[event]
-    },
-    /**
-     * 瀹氫箟榛樿鐩戝惉浜嬩欢
-     * @param callback 榛樿鐩戝惉浜嬩欢鐨勫鐞嗗嚱鏁�
-     */
-    onMessage(callback: (data: any) => void) {
-        _client.onMessage(res => {
-            if(enableJSON){
-                let data = JSON.parse((res || {}).data)
-                if (enableUUID && (data || {}).uuid !== undefined) {
-                    _callback[data.uuid](res)
-                    delete _callback[data.uuid]
-                } else if (enableEvent && (data || {}).event !== undefined) {
-                    _callback[data.event](res)
-                } else {
-                    callback(data)
-                }
-            }else{
-                callback(res.data)
-            }
-        })
-    },
-    /**
-     * 瀹氫箟寮傚父浜嬩欢
-     * @param callback 榛樿寮傚父浜嬩欢鐨勫鐞嗗嚱鏁�
-     */
-    onError(callback: (data: any) => void) {
-        _client.onError(callback)
-    },
-    /**
-     * 瀹氫箟鍏抽棴浜嬩欢
-     * @param callback 榛樿鍏抽棴浜嬩欢鐨勫鐞嗗嚱鏁�
-     */
-    onClose(callback: () => void) {
-        _client.onError(callback)
-    }
-};
\ No newline at end of file
diff --git a/src/plugins/tab.ts b/src/plugins/tab.ts
deleted file mode 100644
index bdb4eb0..0000000
--- a/src/plugins/tab.ts
+++ /dev/null
@@ -1,93 +0,0 @@
-import { tansParams } from "@/utils/common";
-
-let _params:string = "{}"
-function setParams(params:any){
-  _params = JSON.stringify(params)
-}
-
-export default {
-  /**
-   * 鍏抽棴鎵�鏈夐〉闈紝鎵撳紑鍒板簲鐢ㄥ唴鐨勬煇涓〉闈�
-   * @param url 椤甸潰璺緞
-   * @returns 
-   */
-  reLaunch(url: string, params?: any): Promise<unknown> {
-    setParams(params)
-    return new Promise((resolve, reject) => {
-      uni.reLaunch({
-        url: !!params?url + '?' + tansParams(params):url,
-        success: resolve,
-        fail: reject
-      });
-    });
-  },
-
-  /**
-   * 璺宠浆鍒� tabBar 椤甸潰锛屽苟鍏抽棴鍏朵粬鎵�鏈夐潪 tabBar 椤甸潰
-   * @param url 椤甸潰璺緞
-   * @returns 
-   */
-  switchTab(url: string, params?: any): Promise<unknown> {
-    setParams(params)
-    console.log(!!params?url + '?' + tansParams(params):url);
-    
-    return new Promise((resolve, reject) => {
-      uni.switchTab({
-        url: !!params?url + '?' + tansParams(params):url,
-        success: resolve,
-        fail: reject
-      });
-    });
-  }
-  ,
-  /**
-   * 鍏抽棴褰撳墠椤甸潰锛岃烦杞埌搴旂敤鍐呯殑鏌愪釜椤甸潰
-   * @param url 椤甸潰璺緞
-   * @returns 
-   */
-  redirectTo(url: string, params?: any): Promise<unknown> {
-    setParams(params)
-    return new Promise((resolve, reject) => {
-      uni.redirectTo({
-        url: !!params?url + '?' + tansParams(params):url,
-        success: resolve,
-        fail: reject
-      });
-    });
-  },
-  /**
-   * 淇濈暀褰撳墠椤甸潰锛岃烦杞埌搴旂敤鍐呯殑鏌愪釜椤甸潰
-   * @param url 椤甸潰璺緞
-   * @returns 
-   */
-  navigateTo(url: string, params?: any): Promise<unknown> {
-    setParams(params)
-    return new Promise((resolve, reject) => {
-      uni.navigateTo({
-        url: !!params?url + '?' + tansParams(params):url,
-        success: resolve,
-        fail: reject
-      });
-    });
-  },
-
-  /**
-   * 鍏抽棴褰撳墠椤甸潰锛岃繑鍥炰笂涓�椤甸潰鎴栧绾ч〉闈�
-   * @returns 
-   */
-  navigateBack(): Promise<unknown> {
-    return new Promise((resolve, reject) => {
-      uni.navigateBack({
-        success: resolve,
-        fail: reject
-      });
-    });
-  },
-
-  /**
-   * 鑾峰彇褰撳墠椤甸潰鍙傛暟
-   */
-  getParams(): any {
-    return JSON.parse(_params)
-  }
-}
diff --git a/src/shime-uni.d.ts b/src/shime-uni.d.ts
deleted file mode 100644
index 5ecbb26..0000000
--- a/src/shime-uni.d.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export {}
-
-declare module "vue" {
-  type Hooks = App.AppInstance & Page.PageInstance;
-  interface ComponentCustomOptions extends Hooks {}
-}
\ No newline at end of file
diff --git a/src/static/favicon.ico b/src/static/favicon.ico
deleted file mode 100644
index 6f07782..0000000
--- a/src/static/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/src/static/font/iconfont.css b/src/static/font/iconfont.css
deleted file mode 100644
index afd7102..0000000
--- a/src/static/font/iconfont.css
+++ /dev/null
@@ -1,90 +0,0 @@
-@font-face {
-  font-family: "iconfont";
-  src: url('@/static/font/iconfont.ttf') format('truetype');
-}
-
-.iconfont {
-  font-family: "iconfont" !important;
-  font-size: 16px;
-  display: inline-block;
-  font-style: normal;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-
-.icon-user:before {
-  content: "\e7ae";
-}
-
-.icon-password:before {
-  content: "\e8b2";
-}
-
-.icon-code:before {
-  content: "\e699";
-}
-
-.icon-setting:before {
-  content: "\e6cc";
-}
-
-.icon-share:before {
-  content: "\e739";
-}
-
-.icon-edit:before {
-  content: "\e60c";
-}
-
-.icon-version:before {
-  content: "\e63f";
-}
-
-.icon-service:before {
-  content: "\e6ff";
-}
-
-.icon-friendfill:before {
-  content: "\e726";
-}
-
-.icon-community:before {
-  content: "\e741";
-}
-
-.icon-people:before {
-  content: "\e736";
-}
-
-.icon-dianzan:before {
-  content: "\ec7f";
-}
-
-.icon-right:before {
-  content: "\e7eb";
-}
-
-.icon-logout:before {
-  content: "\e61d";
-}
-
-.icon-help:before {
-  content: "\e616";
-}
-
-.icon-github:before {
-  content: "\e628";
-}
-
-.icon-aixin:before {
-  content: "\e601";
-}
-
-.icon-clean:before {
-  content: "\e607";
-}
-
-.icon-refresh:before {
-  content: "\e604";
-}
-
diff --git a/src/static/font/iconfont.ttf b/src/static/font/iconfont.ttf
deleted file mode 100644
index 53915ca..0000000
--- a/src/static/font/iconfont.ttf
+++ /dev/null
Binary files differ
diff --git a/src/static/images/banner/banner01.jpg b/src/static/images/banner/banner01.jpg
deleted file mode 100644
index c44d84c..0000000
--- a/src/static/images/banner/banner01.jpg
+++ /dev/null
Binary files differ
diff --git a/src/static/images/banner/banner02.jpg b/src/static/images/banner/banner02.jpg
deleted file mode 100644
index 1086afd..0000000
--- a/src/static/images/banner/banner02.jpg
+++ /dev/null
Binary files differ
diff --git a/src/static/images/banner/banner03.jpg b/src/static/images/banner/banner03.jpg
deleted file mode 100644
index 092a5fc..0000000
--- a/src/static/images/banner/banner03.jpg
+++ /dev/null
Binary files differ
diff --git a/src/static/images/icon/dialogue.png b/src/static/images/icon/dialogue.png
deleted file mode 100644
index 10036ee..0000000
--- a/src/static/images/icon/dialogue.png
+++ /dev/null
Binary files differ
diff --git a/src/static/images/icon/knowledge.png b/src/static/images/icon/knowledge.png
deleted file mode 100644
index fd0410e..0000000
--- a/src/static/images/icon/knowledge.png
+++ /dev/null
Binary files differ
diff --git a/src/static/images/icon/message.png b/src/static/images/icon/message.png
deleted file mode 100644
index 12965de..0000000
--- a/src/static/images/icon/message.png
+++ /dev/null
Binary files differ
diff --git a/src/static/images/icon/phone.png b/src/static/images/icon/phone.png
deleted file mode 100644
index 22d73f0..0000000
--- a/src/static/images/icon/phone.png
+++ /dev/null
Binary files differ
diff --git a/src/static/images/icon/rocket.png b/src/static/images/icon/rocket.png
deleted file mode 100644
index 38befbd..0000000
--- a/src/static/images/icon/rocket.png
+++ /dev/null
Binary files differ
diff --git a/src/static/images/profile.jpg b/src/static/images/profile.jpg
deleted file mode 100644
index b3a940b..0000000
--- a/src/static/images/profile.jpg
+++ /dev/null
Binary files differ
diff --git a/src/static/images/tabbar/home.png b/src/static/images/tabbar/home.png
deleted file mode 100644
index 50acdfd..0000000
--- a/src/static/images/tabbar/home.png
+++ /dev/null
Binary files differ
diff --git a/src/static/images/tabbar/home_.png b/src/static/images/tabbar/home_.png
deleted file mode 100644
index a408f71..0000000
--- a/src/static/images/tabbar/home_.png
+++ /dev/null
Binary files differ
diff --git a/src/static/images/tabbar/mine.png b/src/static/images/tabbar/mine.png
deleted file mode 100644
index f13fe44..0000000
--- a/src/static/images/tabbar/mine.png
+++ /dev/null
Binary files differ
diff --git a/src/static/images/tabbar/mine_.png b/src/static/images/tabbar/mine_.png
deleted file mode 100644
index 8a0a742..0000000
--- a/src/static/images/tabbar/mine_.png
+++ /dev/null
Binary files differ
diff --git a/src/static/images/tabbar/work.png b/src/static/images/tabbar/work.png
deleted file mode 100644
index 21e130d..0000000
--- a/src/static/images/tabbar/work.png
+++ /dev/null
Binary files differ
diff --git a/src/static/images/tabbar/work_.png b/src/static/images/tabbar/work_.png
deleted file mode 100644
index 80b979c..0000000
--- a/src/static/images/tabbar/work_.png
+++ /dev/null
Binary files differ
diff --git a/src/static/index.html b/src/static/index.html
deleted file mode 100644
index a7af653..0000000
--- a/src/static/index.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh-CN">
-	<head>
-		<meta charset="utf-8">
-		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-		  <meta name="renderer" content="webkit">
-		<title><%= htmlWebpackPlugin.options.title %></title>
-    <link rel="shortcut icon" type="image/x-icon" href="<%= BASE_URL %>static/favicon.ico">
-		<script>
-			var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
-			document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')
-		</script>
-		<link rel="stylesheet" href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" />
-	</head>
-	<body>
-		<noscript>
-			<strong>鏈珯鐐瑰繀椤昏寮�鍚疛avaScript鎵嶈兘杩愯.</strong>
-		</noscript>
-		<div id="app"></div>
-</html>
\ No newline at end of file
diff --git a/src/static/logo.png b/src/static/logo.png
deleted file mode 100644
index 2be05aa..0000000
--- a/src/static/logo.png
+++ /dev/null
Binary files differ
diff --git a/src/static/scss/colorui.css b/src/static/scss/colorui.css
deleted file mode 100644
index fade3b2..0000000
--- a/src/static/scss/colorui.css
+++ /dev/null
@@ -1,3912 +0,0 @@
-/*
-  ColorUi for uniApp  v2.1.6 | by 鏂囨檽娓� 2019-05-31 10:44:24
-  浠呬緵瀛︿範浜ゆ祦锛屽浣滃畠鐢ㄦ墍鎵垮彈鐨勬硶寰嬭矗浠讳竴姒備笌浣滆�呮棤鍏�  
-  
-  *浣跨敤ColorUi寮�鍙戞墿灞曚笌鎻掍欢鏃讹紝璇锋敞鏄庡熀浜嶤olorUi寮�鍙� 
-  
-  锛圦Q浜ゆ祦缇わ細240787041锛�
-*/
-
-/* ==================
-        鍒濆鍖�
- ==================== */
-body {
-	background-color: #f1f1f1;
-	font-size: 28upx;
-	color: #333333;
-	font-family: Helvetica Neue, Helvetica, sans-serif;
-}
-
-view,
-scroll-view,
-swiper,
-button,
-input,
-textarea,
-label,
-navigator,
-image {
-	box-sizing: border-box;
-}
-
-.round {
-	border-radius: 5000upx;
-}
-
-.radius {
-	border-radius: 6upx;
-}
-
-/* ==================
-          鍥剧墖
- ==================== */
-
-image {
-	max-width: 100%;
-	display: inline-block;
-	position: relative;
-	z-index: 0;
-}
-
-image.loading::before {
-	content: "";
-	background-color: #f5f5f5;
-	display: block;
-	position: absolute;
-	width: 100%;
-	height: 100%;
-	z-index: -2;
-}
-
-image.loading::after {
-	content: "\e7f1";
-	font-family: "cuIcon";
-	position: absolute;
-	top: 0;
-	left: 0;
-	width: 32upx;
-	height: 32upx;
-	line-height: 32upx;
-	right: 0;
-	bottom: 0;
-	z-index: -1;
-	font-size: 32upx;
-	margin: auto;
-	color: #ccc;
-	-webkit-animation: cuIcon-spin 2s infinite linear;
-	animation: cuIcon-spin 2s infinite linear;
-	display: block;
-}
-
-.response {
-	width: 100%;
-}
-
-/* ==================
-         寮�鍏�
- ==================== */
-
-switch,
-checkbox,
-radio {
-	position: relative;
-}
-
-switch::after,
-switch::before {
-	font-family: "cuIcon";
-	content: "\e645";
-	position: absolute;
-	color: #ffffff !important;
-	top: 0%;
-	left: 0upx;
-	font-size: 26upx;
-	line-height: 26px;
-	width: 50%;
-	text-align: center;
-	pointer-events: none;
-	transform: scale(0, 0);
-	transition: all 0.3s ease-in-out 0s;
-	z-index: 9;
-	bottom: 0;
-	height: 26px;
-	margin: auto;
-}
-
-switch::before {
-	content: "\e646";
-	right: 0;
-	transform: scale(1, 1);
-	left: auto;
-}
-
-switch[checked]::after,
-switch.checked::after {
-	transform: scale(1, 1);
-}
-
-switch[checked]::before,
-switch.checked::before {
-	transform: scale(0, 0);
-}
-
-/* #ifndef MP-ALIPAY */
-radio::before,
-checkbox::before {
-	font-family: "cuIcon";
-	content: "\e645";
-	position: absolute;
-	color: #ffffff !important;
-	top: 50%;
-	margin-top: -8px;
-	right: 5px;
-	font-size: 32upx;
-	line-height: 16px;
-	pointer-events: none;
-	transform: scale(1, 1);
-	transition: all 0.3s ease-in-out 0s;
-	z-index: 9;
-}
-
-radio .wx-radio-input,
-checkbox .wx-checkbox-input,
-radio .uni-radio-input,
-checkbox .uni-checkbox-input {
-	margin: 0;
-	width: 24px;
-	height: 24px;
-}
-
-checkbox.round .wx-checkbox-input,
-checkbox.round .uni-checkbox-input {
-	border-radius: 100upx;
-}
-
-/* #endif */
-
-switch[checked]::before {
-	transform: scale(0, 0);
-}
-
-switch .wx-switch-input,
-switch .uni-switch-input {
-	border: none;
-	padding: 0 24px;
-	width: 48px;
-	height: 26px;
-	margin: 0;
-	border-radius: 100upx;
-}
-
-switch .wx-switch-input:not([class*="bg-"]),
-switch .uni-switch-input:not([class*="bg-"]) {
-	background: #8799a3 !important;
-}
-
-switch .wx-switch-input::after,
-switch .uni-switch-input::after {
-	margin: auto;
-	width: 26px;
-	height: 26px;
-	border-radius: 100upx;
-	left: 0upx;
-	top: 0upx;
-	bottom: 0upx;
-	position: absolute;
-	transform: scale(0.9, 0.9);
-	transition: all 0.1s ease-in-out 0s;
-}
-
-switch .wx-switch-input.wx-switch-input-checked::after,
-switch .uni-switch-input.uni-switch-input-checked::after {
-	margin: auto;
-	left: 22px;
-	box-shadow: none;
-	transform: scale(0.9, 0.9);
-}
-
-radio-group {
-	display: inline-block;
-}
-
-
-
-switch.radius .wx-switch-input::after,
-switch.radius .wx-switch-input,
-switch.radius .wx-switch-input::before,
-switch.radius .uni-switch-input::after,
-switch.radius .uni-switch-input,
-switch.radius .uni-switch-input::before {
-	border-radius: 10upx;
-}
-
-switch .wx-switch-input::before,
-radio.radio::before,
-checkbox .wx-checkbox-input::before,
-radio .wx-radio-input::before,
-switch .uni-switch-input::before,
-radio.radio::before,
-checkbox .uni-checkbox-input::before,
-radio .uni-radio-input::before {
-	display: none;
-}
-
-radio.radio[checked]::after,
-radio.radio .uni-radio-input-checked::after {
-	content: "";
-	background-color: transparent;
-	display: block;
-	position: absolute;
-	width: 8px;
-	height: 8px;
-	z-index: 999;
-	top: 0upx;
-	left: 0upx;
-	right: 0;
-	bottom: 0;
-	margin: auto;
-	border-radius: 200upx;
-	/* #ifndef MP */
-	border: 7px solid #ffffff !important;
-	/* #endif */
-
-	/* #ifdef MP */
-	border: 8px solid #ffffff !important;
-	/* #endif */
-}
-
-.switch-sex::after {
-	content: "\e71c";
-}
-
-.switch-sex::before {
-	content: "\e71a";
-}
-
-.switch-sex .wx-switch-input,
-.switch-sex .uni-switch-input {
-	background: #e54d42 !important;
-	border-color: #e54d42 !important;
-}
-
-.switch-sex[checked] .wx-switch-input,
-.switch-sex.checked .uni-switch-input {
-	background: #0081ff !important;
-	border-color: #0081ff !important;
-}
-
-switch.red[checked] .wx-switch-input.wx-switch-input-checked,
-checkbox.red[checked] .wx-checkbox-input,
-radio.red[checked] .wx-radio-input,
-switch.red.checked .uni-switch-input.uni-switch-input-checked,
-checkbox.red.checked .uni-checkbox-input,
-radio.red.checked .uni-radio-input {
-	background-color: #e54d42 !important;
-	border-color: #e54d42 !important;
-	color: #ffffff !important;
-}
-
-switch.orange[checked] .wx-switch-input,
-checkbox.orange[checked] .wx-checkbox-input,
-radio.orange[checked] .wx-radio-input,
-switch.orange.checked .uni-switch-input,
-checkbox.orange.checked .uni-checkbox-input,
-radio.orange.checked .uni-radio-input {
-	background-color: #f37b1d !important;
-	border-color: #f37b1d !important;
-	color: #ffffff !important;
-}
-
-switch.yellow[checked] .wx-switch-input,
-checkbox.yellow[checked] .wx-checkbox-input,
-radio.yellow[checked] .wx-radio-input,
-switch.yellow.checked .uni-switch-input,
-checkbox.yellow.checked .uni-checkbox-input,
-radio.yellow.checked .uni-radio-input {
-	background-color: #fbbd08 !important;
-	border-color: #fbbd08 !important;
-	color: #333333 !important;
-}
-
-switch.olive[checked] .wx-switch-input,
-checkbox.olive[checked] .wx-checkbox-input,
-radio.olive[checked] .wx-radio-input,
-switch.olive.checked .uni-switch-input,
-checkbox.olive.checked .uni-checkbox-input,
-radio.olive.checked .uni-radio-input {
-	background-color: #8dc63f !important;
-	border-color: #8dc63f !important;
-	color: #ffffff !important;
-}
-
-switch.green[checked] .wx-switch-input,
-switch[checked] .wx-switch-input,
-checkbox.green[checked] .wx-checkbox-input,
-checkbox[checked] .wx-checkbox-input,
-radio.green[checked] .wx-radio-input,
-radio[checked] .wx-radio-input,
-switch.green.checked .uni-switch-input,
-switch.checked .uni-switch-input,
-checkbox.green.checked .uni-checkbox-input,
-checkbox.checked .uni-checkbox-input,
-radio.green.checked .uni-radio-input,
-radio.checked .uni-radio-input {
-	background-color: #39b54a !important;
-	border-color: #39b54a !important;
-	color: #ffffff !important;
-	border-color: #39B54A !important;
-}
-
-switch.cyan[checked] .wx-switch-input,
-checkbox.cyan[checked] .wx-checkbox-input,
-radio.cyan[checked] .wx-radio-input,
-switch.cyan.checked .uni-switch-input,
-checkbox.cyan.checked .uni-checkbox-input,
-radio.cyan.checked .uni-radio-input {
-	background-color: #1cbbb4 !important;
-	border-color: #1cbbb4 !important;
-	color: #ffffff !important;
-}
-
-switch.blue[checked] .wx-switch-input,
-checkbox.blue[checked] .wx-checkbox-input,
-radio.blue[checked] .wx-radio-input,
-switch.blue.checked .uni-switch-input,
-checkbox.blue.checked .uni-checkbox-input,
-radio.blue.checked .uni-radio-input {
-	background-color: #0081ff !important;
-	border-color: #0081ff !important;
-	color: #ffffff !important;
-}
-
-switch.purple[checked] .wx-switch-input,
-checkbox.purple[checked] .wx-checkbox-input,
-radio.purple[checked] .wx-radio-input,
-switch.purple.checked .uni-switch-input,
-checkbox.purple.checked .uni-checkbox-input,
-radio.purple.checked .uni-radio-input {
-	background-color: #6739b6 !important;
-	border-color: #6739b6 !important;
-	color: #ffffff !important;
-}
-
-switch.mauve[checked] .wx-switch-input,
-checkbox.mauve[checked] .wx-checkbox-input,
-radio.mauve[checked] .wx-radio-input,
-switch.mauve.checked .uni-switch-input,
-checkbox.mauve.checked .uni-checkbox-input,
-radio.mauve.checked .uni-radio-input {
-	background-color: #9c26b0 !important;
-	border-color: #9c26b0 !important;
-	color: #ffffff !important;
-}
-
-switch.pink[checked] .wx-switch-input,
-checkbox.pink[checked] .wx-checkbox-input,
-radio.pink[checked] .wx-radio-input,
-switch.pink.checked .uni-switch-input,
-checkbox.pink.checked .uni-checkbox-input,
-radio.pink.checked .uni-radio-input {
-	background-color: #e03997 !important;
-	border-color: #e03997 !important;
-	color: #ffffff !important;
-}
-
-switch.brown[checked] .wx-switch-input,
-checkbox.brown[checked] .wx-checkbox-input,
-radio.brown[checked] .wx-radio-input,
-switch.brown.checked .uni-switch-input,
-checkbox.brown.checked .uni-checkbox-input,
-radio.brown.checked .uni-radio-input {
-	background-color: #a5673f !important;
-	border-color: #a5673f !important;
-	color: #ffffff !important;
-}
-
-switch.grey[checked] .wx-switch-input,
-checkbox.grey[checked] .wx-checkbox-input,
-radio.grey[checked] .wx-radio-input,
-switch.grey.checked .uni-switch-input,
-checkbox.grey.checked .uni-checkbox-input,
-radio.grey.checked .uni-radio-input {
-	background-color: #8799a3 !important;
-	border-color: #8799a3 !important;
-	color: #ffffff !important;
-}
-
-switch.gray[checked] .wx-switch-input,
-checkbox.gray[checked] .wx-checkbox-input,
-radio.gray[checked] .wx-radio-input,
-switch.gray.checked .uni-switch-input,
-checkbox.gray.checked .uni-checkbox-input,
-radio.gray.checked .uni-radio-input {
-	background-color: #f0f0f0 !important;
-	border-color: #f0f0f0 !important;
-	color: #333333 !important;
-}
-
-switch.black[checked] .wx-switch-input,
-checkbox.black[checked] .wx-checkbox-input,
-radio.black[checked] .wx-radio-input,
-switch.black.checked .uni-switch-input,
-checkbox.black.checked .uni-checkbox-input,
-radio.black.checked .uni-radio-input {
-	background-color: #333333 !important;
-	border-color: #333333 !important;
-	color: #ffffff !important;
-}
-
-switch.white[checked] .wx-switch-input,
-checkbox.white[checked] .wx-checkbox-input,
-radio.white[checked] .wx-radio-input,
-switch.white.checked .uni-switch-input,
-checkbox.white.checked .uni-checkbox-input,
-radio.white.checked .uni-radio-input {
-	background-color: #ffffff !important;
-	border-color: #ffffff !important;
-	color: #333333 !important;
-}
-
-/* ==================
-          杈规
- ==================== */
-
-/* -- 瀹炵嚎 -- */
-
-.solid,
-.solid-top,
-.solid-right,
-.solid-bottom,
-.solid-left,
-.solids,
-.solids-top,
-.solids-right,
-.solids-bottom,
-.solids-left,
-.dashed,
-.dashed-top,
-.dashed-right,
-.dashed-bottom,
-.dashed-left {
-	position: relative;
-}
-
-.solid::after,
-.solid-top::after,
-.solid-right::after,
-.solid-bottom::after,
-.solid-left::after,
-.solids::after,
-.solids-top::after,
-.solids-right::after,
-.solids-bottom::after,
-.solids-left::after,
-.dashed::after,
-.dashed-top::after,
-.dashed-right::after,
-.dashed-bottom::after,
-.dashed-left::after {
-	content: " ";
-	width: 200%;
-	height: 200%;
-	position: absolute;
-	top: 0;
-	left: 0;
-	border-radius: inherit;
-	transform: scale(0.5);
-	transform-origin: 0 0;
-	pointer-events: none;
-	box-sizing: border-box;
-}
-
-.solid::after {
-	border: 1upx solid rgba(0, 0, 0, 0.1);
-}
-
-.solid-top::after {
-	border-top: 1upx solid rgba(0, 0, 0, 0.1);
-}
-
-.solid-right::after {
-	border-right: 1upx solid rgba(0, 0, 0, 0.1);
-}
-
-.solid-bottom::after {
-	border-bottom: 1upx solid rgba(0, 0, 0, 0.1);
-}
-
-.solid-left::after {
-	border-left: 1upx solid rgba(0, 0, 0, 0.1);
-}
-
-.solids::after {
-	border: 8upx solid #eee;
-}
-
-.solids-top::after {
-	border-top: 8upx solid #eee;
-}
-
-.solids-right::after {
-	border-right: 8upx solid #eee;
-}
-
-.solids-bottom::after {
-	border-bottom: 8upx solid #eee;
-}
-
-.solids-left::after {
-	border-left: 8upx solid #eee;
-}
-
-/* -- 铏氱嚎 -- */
-
-.dashed::after {
-	border: 1upx dashed #ddd;
-}
-
-.dashed-top::after {
-	border-top: 1upx dashed #ddd;
-}
-
-.dashed-right::after {
-	border-right: 1upx dashed #ddd;
-}
-
-.dashed-bottom::after {
-	border-bottom: 1upx dashed #ddd;
-}
-
-.dashed-left::after {
-	border-left: 1upx dashed #ddd;
-}
-
-/* -- 闃村奖 -- */
-
-.shadow[class*='white'] {
-	--ShadowSize: 0 1upx 6upx;
-}
-
-.shadow-lg {
-	--ShadowSize: 0upx 40upx 100upx 0upx;
-}
-
-.shadow-warp {
-	position: relative;
-	box-shadow: 0 0 10upx rgba(0, 0, 0, 0.1);
-}
-
-.shadow-warp:before,
-.shadow-warp:after {
-	position: absolute;
-	content: "";
-	top: 20upx;
-	bottom: 30upx;
-	left: 20upx;
-	width: 50%;
-	box-shadow: 0 30upx 20upx rgba(0, 0, 0, 0.2);
-	transform: rotate(-3deg);
-	z-index: -1;
-}
-
-.shadow-warp:after {
-	right: 20upx;
-	left: auto;
-	transform: rotate(3deg);
-}
-
-.shadow-blur {
-	position: relative;
-}
-
-.shadow-blur::before {
-	content: "";
-	display: block;
-	background: inherit;
-	filter: blur(10upx);
-	position: absolute;
-	width: 100%;
-	height: 100%;
-	top: 10upx;
-	left: 10upx;
-	z-index: -1;
-	opacity: 0.4;
-	transform-origin: 0 0;
-	border-radius: inherit;
-	transform: scale(1, 1);
-}
-
-/* ==================
-          鎸夐挳
- ==================== */
-
-.cu-btn {
-	position: relative;
-	border: 0upx;
-	display: inline-flex;
-	align-items: center;
-	justify-content: center;
-	box-sizing: border-box;
-	padding: 0 30upx;
-	font-size: 28upx;
-	height: 64upx;
-	line-height: 1;
-	text-align: center;
-	text-decoration: none;
-	overflow: visible;
-	margin-left: initial;
-	transform: translate(0upx, 0upx);
-	margin-right: initial;
-}
-
-.cu-btn::after {
-	display: none;
-}
-
-.cu-btn:not([class*="bg-"]) {
-	background-color: #f0f0f0;
-}
-
-.cu-btn[class*="line"] {
-	background-color: transparent;
-}
-
-.cu-btn[class*="line"]::after {
-	content: " ";
-	display: block;
-	width: 200%;
-	height: 200%;
-	position: absolute;
-	top: 0;
-	left: 0;
-	border: 1upx solid currentColor;
-	transform: scale(0.5);
-	transform-origin: 0 0;
-	box-sizing: border-box;
-	border-radius: 12upx;
-	z-index: 1;
-	pointer-events: none;
-}
-
-.cu-btn.round[class*="line"]::after {
-	border-radius: 1000upx;
-}
-
-.cu-btn[class*="lines"]::after {
-	border: 6upx solid currentColor;
-}
-
-.cu-btn[class*="bg-"]::after {
-	display: none;
-}
-
-.cu-btn.sm {
-	padding: 0 20upx;
-	font-size: 20upx;
-	height: 48upx;
-}
-
-.cu-btn.lg {
-	padding: 0 40upx;
-	font-size: 32upx;
-	height: 80upx;
-}
-
-.cu-btn.cuIcon.sm {
-	width: 48upx;
-	height: 48upx;
-}
-
-.cu-btn.cuIcon {
-	width: 64upx;
-	height: 64upx;
-	border-radius: 500upx;
-	padding: 0;
-}
-
-button.cuIcon.lg {
-	width: 80upx;
-	height: 80upx;
-}
-
-.cu-btn.shadow-blur::before {
-	top: 4upx;
-	left: 4upx;
-	filter: blur(6upx);
-	opacity: 0.6;
-}
-
-.cu-btn.button-hover {
-	transform: translate(1upx, 1upx);
-}
-
-.block {
-	display: block;
-}
-
-.cu-btn.block {
-	display: flex;
-}
-
-.cu-btn[disabled] {
-	opacity: 0.6;
-	color: #ffffff;
-}
-
-/* ==================
-          寰界珷
- ==================== */
-
-.cu-tag {
-	font-size: 24upx;
-	vertical-align: middle;
-	position: relative;
-	display: inline-flex;
-	align-items: center;
-	justify-content: center;
-	box-sizing: border-box;
-	padding: 0upx 16upx;
-	height: 48upx;
-	font-family: Helvetica Neue, Helvetica, sans-serif;
-	white-space: nowrap;
-}
-
-.cu-tag:not([class*="bg"]):not([class*="line"]) {
-	background-color: #f1f1f1;
-}
-
-.cu-tag[class*="line-"]::after {
-	content: " ";
-	width: 200%;
-	height: 200%;
-	position: absolute;
-	top: 0;
-	left: 0;
-	border: 1upx solid currentColor;
-	transform: scale(0.5);
-	transform-origin: 0 0;
-	box-sizing: border-box;
-	border-radius: inherit;
-	z-index: 1;
-	pointer-events: none;
-}
-
-.cu-tag.radius[class*="line"]::after {
-	border-radius: 12upx;
-}
-
-.cu-tag.round[class*="line"]::after {
-	border-radius: 1000upx;
-}
-
-.cu-tag[class*="line-"]::after {
-	border-radius: 0;
-}
-
-.cu-tag+.cu-tag {
-	margin-left: 10upx;
-}
-
-.cu-tag.sm {
-	font-size: 20upx;
-	padding: 0upx 12upx;
-	height: 32upx;
-}
-
-.cu-capsule {
-	display: inline-flex;
-	vertical-align: middle;
-}
-
-.cu-capsule+.cu-capsule {
-	margin-left: 10upx;
-}
-
-.cu-capsule .cu-tag {
-	margin: 0;
-}
-
-.cu-capsule .cu-tag[class*="line-"]:last-child::after {
-	border-left: 0upx solid transparent;
-}
-
-.cu-capsule .cu-tag[class*="line-"]:first-child::after {
-	border-right: 0upx solid transparent;
-}
-
-.cu-capsule.radius .cu-tag:first-child {
-	border-top-left-radius: 6upx;
-	border-bottom-left-radius: 6upx;
-}
-
-.cu-capsule.radius .cu-tag:last-child::after,
-.cu-capsule.radius .cu-tag[class*="line-"] {
-	border-top-right-radius: 12upx;
-	border-bottom-right-radius: 12upx;
-}
-
-.cu-capsule.round .cu-tag:first-child {
-	border-top-left-radius: 200upx;
-	border-bottom-left-radius: 200upx;
-	text-indent: 4upx;
-}
-
-.cu-capsule.round .cu-tag:last-child::after,
-.cu-capsule.round .cu-tag:last-child {
-	border-top-right-radius: 200upx;
-	border-bottom-right-radius: 200upx;
-	text-indent: -4upx;
-}
-
-.cu-tag.badge {
-	border-radius: 200upx;
-	position: absolute;
-	top: -10upx;
-	right: -10upx;
-	font-size: 20upx;
-	padding: 0upx 10upx;
-	height: 28upx;
-	color: #ffffff;
-}
-
-.cu-tag.badge:not([class*="bg-"]) {
-	background-color: #dd514c;
-}
-
-.cu-tag:empty:not([class*="cuIcon-"]) {
-	padding: 0upx;
-	width: 16upx;
-	height: 16upx;
-	top: -4upx;
-	right: -4upx;
-}
-
-.cu-tag[class*="cuIcon-"] {
-	width: 32upx;
-	height: 32upx;
-	top: -4upx;
-	right: -4upx;
-}
-
-/* ==================
-          澶村儚
- ==================== */
-
-.cu-avatar {
-	font-variant: small-caps;
-	margin: 0;
-	padding: 0;
-	display: inline-flex;
-	text-align: center;
-	justify-content: center;
-	align-items: center;
-	background-color: #ccc;
-	color: #ffffff;
-	white-space: nowrap;
-	position: relative;
-	width: 64upx;
-	height: 64upx;
-	background-size: cover;
-	background-position: center;
-	vertical-align: middle;
-	font-size: 1.5em;
-}
-
-.cu-avatar.sm {
-	width: 48upx;
-	height: 48upx;
-	font-size: 1em;
-}
-
-.cu-avatar.lg {
-	width: 96upx;
-	height: 96upx;
-	font-size: 2em;
-}
-
-.cu-avatar.xl {
-	width: 128upx;
-	height: 128upx;
-	font-size: 2.5em;
-}
-
-.cu-avatar .avatar-text {
-	font-size: 0.4em;
-}
-
-.cu-avatar-group {
-	direction: rtl;
-	unicode-bidi: bidi-override;
-	padding: 0 10upx 0 40upx;
-	display: inline-block;
-}
-
-.cu-avatar-group .cu-avatar {
-	margin-left: -30upx;
-	border: 4upx solid #f1f1f1;
-	vertical-align: middle;
-}
-
-.cu-avatar-group .cu-avatar.sm {
-	margin-left: -20upx;
-	border: 1upx solid #f1f1f1;
-}
-
-/* ==================
-         杩涘害鏉�
- ==================== */
-
-.cu-progress {
-	overflow: hidden;
-	height: 28upx;
-	background-color: #ebeef5;
-	display: inline-flex;
-	align-items: center;
-	width: 100%;
-}
-
-.cu-progress+view,
-.cu-progress+text {
-	line-height: 1;
-}
-
-.cu-progress.xs {
-	height: 10upx;
-}
-
-.cu-progress.sm {
-	height: 20upx;
-}
-
-.cu-progress view {
-	width: 0;
-	height: 100%;
-	align-items: center;
-	display: flex;
-	justify-items: flex-end;
-	justify-content: space-around;
-	font-size: 20upx;
-	color: #ffffff;
-	transition: width 0.6s ease;
-}
-
-.cu-progress text {
-	align-items: center;
-	display: flex;
-	font-size: 20upx;
-	color: #333333;
-	text-indent: 10upx;
-}
-
-.cu-progress.text-progress {
-	padding-right: 60upx;
-}
-
-.cu-progress.striped view {
-	background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-	background-size: 72upx 72upx;
-}
-
-.cu-progress.active view {
-	animation: progress-stripes 2s linear infinite;
-}
-
-@keyframes progress-stripes {
-	from {
-		background-position: 72upx 0;
-	}
-
-	to {
-		background-position: 0 0;
-	}
-}
-
-/* ==================
-          鍔犺浇
- ==================== */
-
-.cu-load {
-	display: block;
-	line-height: 3em;
-	text-align: center;
-}
-
-.cu-load::before {
-	font-family: "cuIcon";
-	display: inline-block;
-	margin-right: 6upx;
-}
-
-.cu-load.loading::before {
-	content: "\e67a";
-	animation: cuIcon-spin 2s infinite linear;
-}
-
-.cu-load.loading::after {
-	content: "鍔犺浇涓�...";
-}
-
-.cu-load.over::before {
-	content: "\e64a";
-}
-
-.cu-load.over::after {
-	content: "娌℃湁鏇村浜�";
-}
-
-.cu-load.erro::before {
-	content: "\e658";
-}
-
-.cu-load.erro::after {
-	content: "鍔犺浇澶辫触";
-}
-
-.cu-load.load-cuIcon::before {
-	font-size: 32upx;
-}
-
-.cu-load.load-cuIcon::after {
-	display: none;
-}
-
-.cu-load.load-cuIcon.over {
-	display: none;
-}
-
-.cu-load.load-modal {
-	position: fixed;
-	top: 0;
-	right: 0;
-	bottom: 140upx;
-	left: 0;
-	margin: auto;
-	width: 260upx;
-	height: 260upx;
-	background-color: #ffffff;
-	border-radius: 10upx;
-	box-shadow: 0 0 0upx 2000upx rgba(0, 0, 0, 0.5);
-	display: flex;
-	align-items: center;
-	flex-direction: column;
-	justify-content: center;
-	font-size: 28upx;
-	z-index: 9999;
-	line-height: 2.4em;
-}
-
-.cu-load.load-modal [class*="cuIcon-"] {
-	font-size: 60upx;
-}
-
-.cu-load.load-modal image {
-	width: 70upx;
-	height: 70upx;
-}
-
-.cu-load.load-modal::after {
-	content: "";
-	position: absolute;
-	background-color: #ffffff;
-	border-radius: 50%;
-	width: 200upx;
-	height: 200upx;
-	font-size: 10px;
-	border-top: 6upx solid rgba(0, 0, 0, 0.05);
-	border-right: 6upx solid rgba(0, 0, 0, 0.05);
-	border-bottom: 6upx solid rgba(0, 0, 0, 0.05);
-	border-left: 6upx solid #f37b1d;
-	animation: cuIcon-spin 1s infinite linear;
-	z-index: -1;
-}
-
-.load-progress {
-	pointer-events: none;
-	top: 0;
-	position: fixed;
-	width: 100%;
-	left: 0;
-	z-index: 2000;
-}
-
-.load-progress.hide {
-	display: none;
-}
-
-.load-progress .load-progress-bar {
-	position: relative;
-	width: 100%;
-	height: 4upx;
-	overflow: hidden;
-	transition: all 200ms ease 0s;
-}
-
-.load-progress .load-progress-spinner {
-	position: absolute;
-	top: 10upx;
-	right: 10upx;
-	z-index: 2000;
-	display: block;
-}
-
-.load-progress .load-progress-spinner::after {
-	content: "";
-	display: block;
-	width: 24upx;
-	height: 24upx;
-	-webkit-box-sizing: border-box;
-	box-sizing: border-box;
-	border: solid 4upx transparent;
-	border-top-color: inherit;
-	border-left-color: inherit;
-	border-radius: 50%;
-	-webkit-animation: load-progress-spinner 0.4s linear infinite;
-	animation: load-progress-spinner 0.4s linear infinite;
-}
-
-@-webkit-keyframes load-progress-spinner {
-	0% {
-		-webkit-transform: rotate(0);
-		transform: rotate(0);
-	}
-
-	100% {
-		-webkit-transform: rotate(360deg);
-		transform: rotate(360deg);
-	}
-}
-
-@keyframes load-progress-spinner {
-	0% {
-		-webkit-transform: rotate(0);
-		transform: rotate(0);
-	}
-
-	100% {
-		-webkit-transform: rotate(360deg);
-		transform: rotate(360deg);
-	}
-}
-
-/* ==================
-          鍒楄〃
- ==================== */
-.grayscale {
-	filter: grayscale(1);
-}
-
-.cu-list+.cu-list {
-	margin-top: 30upx
-}
-
-.cu-list>.cu-item {
-	transition: all .6s ease-in-out 0s;
-	transform: translateX(0upx)
-}
-
-.cu-list>.cu-item.move-cur {
-	transform: translateX(-260upx)
-}
-
-.cu-list>.cu-item .move {
-	position: absolute;
-	right: 0;
-	display: flex;
-	width: 260upx;
-	height: 100%;
-	transform: translateX(100%)
-}
-
-.cu-list>.cu-item .move view {
-	display: flex;
-	flex: 1;
-	justify-content: center;
-	align-items: center
-}
-
-.cu-list.menu-avatar {
-	overflow: hidden;
-}
-
-.cu-list.menu-avatar>.cu-item {
-	position: relative;
-	display: flex;
-	padding-right: 10upx;
-	height: 140upx;
-	background-color: #ffffff;
-	justify-content: flex-end;
-	align-items: center
-}
-
-.cu-list.menu-avatar>.cu-item>.cu-avatar {
-	position: absolute;
-	left: 30upx
-}
-
-.cu-list.menu-avatar>.cu-item .flex .text-cut {
-	max-width: 510upx
-}
-
-.cu-list.menu-avatar>.cu-item .content {
-	position: absolute;
-	left: 146upx;
-	width: calc(100% - 96upx - 60upx - 120upx - 20upx);
-	line-height: 1.6em;
-}
-
-.cu-list.menu-avatar>.cu-item .content.flex-sub {
-	width: calc(100% - 96upx - 60upx - 20upx);
-}
-
-.cu-list.menu-avatar>.cu-item .content>view:first-child {
-	font-size: 30upx;
-	display: flex;
-	align-items: center
-}
-
-.cu-list.menu-avatar>.cu-item .content .cu-tag.sm {
-	display: inline-block;
-	margin-left: 10upx;
-	height: 28upx;
-	font-size: 16upx;
-	line-height: 32upx
-}
-
-.cu-list.menu-avatar>.cu-item .action {
-	width: 100upx;
-	text-align: center
-}
-
-.cu-list.menu-avatar>.cu-item .action view+view {
-	margin-top: 10upx
-}
-
-.cu-list.menu-avatar.comment>.cu-item .content {
-	position: relative;
-	left: 0;
-	width: auto;
-	flex: 1;
-}
-
-.cu-list.menu-avatar.comment>.cu-item {
-	padding: 30upx 30upx 30upx 120upx;
-	height: auto
-}
-
-.cu-list.menu-avatar.comment .cu-avatar {
-	align-self: flex-start
-}
-
-.cu-list.menu>.cu-item {
-	position: relative;
-	display: flex;
-	padding: 0 30upx;
-	min-height: 100upx;
-	background-color: #ffffff;
-	justify-content: space-between;
-	align-items: center
-}
-
-.cu-list.menu>.cu-item:last-child:after {
-	border: none
-}
-
-.cu-list.menu-avatar>.cu-item:after,
-.cu-list.menu>.cu-item:after {
-	position: absolute;
-	top: 0;
-	left: 0;
-	box-sizing: border-box;
-	width: 200%;
-	height: 200%;
-	border-bottom: 1upx solid #ddd;
-	border-radius: inherit;
-	content: " ";
-	transform: scale(.5);
-	transform-origin: 0 0;
-	pointer-events: none
-}
-
-.cu-list.menu>.cu-item.grayscale {
-	background-color: #f5f5f5
-}
-
-.cu-list.menu>.cu-item.cur {
-	background-color: #fcf7e9
-}
-
-.cu-list.menu>.cu-item.arrow {
-	padding-right: 90upx
-}
-
-.cu-list.menu>.cu-item.arrow:before {
-	position: absolute;
-	top: 0;
-	right: 30upx;
-	bottom: 0;
-	display: block;
-	margin: auto;
-	width: 30upx;
-	height: 30upx;
-	color: #8799a3;
-	content: "\e6a3";
-	text-align: center;
-	font-size: 34upx;
-	font-family: cuIcon;
-	line-height: 30upx
-}
-
-.cu-list.menu>.cu-item button.content {
-	padding: 0;
-	background-color: transparent;
-	justify-content: flex-start
-}
-
-.cu-list.menu>.cu-item button.content:after {
-	display: none
-}
-
-.cu-list.menu>.cu-item .cu-avatar-group .cu-avatar {
-	border-color: #ffffff
-}
-
-.cu-list.menu>.cu-item .content>view:first-child {
-	display: flex;
-	align-items: center
-}
-
-.cu-list.menu>.cu-item .content>text[class*=cuIcon] {
-	display: inline-block;
-	margin-right: 10upx;
-	width: 1.6em;
-	text-align: center
-}
-
-.cu-list.menu>.cu-item .content>image {
-	display: inline-block;
-	margin-right: 10upx;
-	width: 1.6em;
-	height: 1.6em;
-	vertical-align: middle
-}
-
-.cu-list.menu>.cu-item .content {
-	font-size: 30upx;
-	line-height: 1.6em;
-	flex: 1
-}
-
-.cu-list.menu>.cu-item .content .cu-tag.sm {
-	display: inline-block;
-	margin-left: 10upx;
-	height: 28upx;
-	font-size: 16upx;
-	line-height: 32upx
-}
-
-.cu-list.menu>.cu-item .action .cu-tag:empty {
-	right: 10upx
-}
-
-.cu-list.menu {
-	display: block;
-	overflow: hidden
-}
-
-.cu-list.menu.sm-border>.cu-item:after {
-	left: 30upx;
-	width: calc(200% - 120upx)
-}
-
-.cu-list.grid>.cu-item {
-	position: relative;
-	display: flex;
-	padding: 20upx 0 30upx;
-	transition-duration: 0s;
-	flex-direction: column
-}
-
-.cu-list.grid>.cu-item:after {
-	position: absolute;
-	top: 0;
-	left: 0;
-	box-sizing: border-box;
-	width: 200%;
-	height: 200%;
-	border-right: 1px solid rgba(0, 0, 0, .1);
-	border-bottom: 1px solid rgba(0, 0, 0, .1);
-	border-radius: inherit;
-	content: " ";
-	transform: scale(.5);
-	transform-origin: 0 0;
-	pointer-events: none
-}
-
-.cu-list.grid>.cu-item text {
-	display: block;
-	margin-top: 10upx;
-	color: #888;
-	font-size: 26upx;
-	line-height: 40upx
-}
-
-.cu-list.grid>.cu-item [class*=cuIcon] {
-	position: relative;
-	display: block;
-	margin-top: 20upx;
-	width: 100%;
-	font-size: 48upx
-}
-
-.cu-list.grid>.cu-item .cu-tag {
-	right: auto;
-	left: 50%;
-	margin-left: 20upx
-}
-
-.cu-list.grid {
-	background-color: #ffffff;
-	text-align: center
-}
-
-.cu-list.grid.no-border>.cu-item {
-	padding-top: 10upx;
-	padding-bottom: 20upx
-}
-
-.cu-list.grid.no-border>.cu-item:after {
-	border: none
-}
-
-.cu-list.grid.no-border {
-	padding: 20upx 10upx
-}
-
-.cu-list.grid.col-3>.cu-item:nth-child(3n):after,
-.cu-list.grid.col-4>.cu-item:nth-child(4n):after,
-.cu-list.grid.col-5>.cu-item:nth-child(5n):after {
-	border-right-width: 0
-}
-
-.cu-list.card-menu {
-	overflow: hidden;
-	margin-right: 30upx;
-	margin-left: 30upx;
-	border-radius: 20upx
-}
-
-
-/* ==================
-          鎿嶄綔鏉�
- ==================== */
-
-.cu-bar {
-	display: flex;
-	position: relative;
-	align-items: center;
-	min-height: 100upx;
-	justify-content: space-between;
-}
-
-.cu-bar .action {
-	display: flex;
-	align-items: center;
-	height: 100%;
-	justify-content: center;
-	max-width: 100%;
-}
-
-.cu-bar .action.border-title {
-	position: relative;
-	top: -10upx;
-}
-
-.cu-bar .action.border-title text[class*="bg-"]:last-child {
-	position: absolute;
-	bottom: -0.5rem;
-	min-width: 2rem;
-	height: 6upx;
-	left: 0;
-}
-
-.cu-bar .action.sub-title {
-	position: relative;
-	top: -0.2rem;
-}
-
-.cu-bar .action.sub-title text {
-	position: relative;
-	z-index: 1;
-}
-
-.cu-bar .action.sub-title text[class*="bg-"]:last-child {
-	position: absolute;
-	display: inline-block;
-	bottom: -0.2rem;
-	border-radius: 6upx;
-	width: 100%;
-	height: 0.6rem;
-	left: 0.6rem;
-	opacity: 0.3;
-	z-index: 0;
-}
-
-.cu-bar .action.sub-title text[class*="text-"]:last-child {
-	position: absolute;
-	display: inline-block;
-	bottom: -0.7rem;
-	left: 0.5rem;
-	opacity: 0.2;
-	z-index: 0;
-	text-align: right;
-	font-weight: 900;
-	font-size: 36upx;
-}
-
-.cu-bar.justify-center .action.border-title text:last-child,
-.cu-bar.justify-center .action.sub-title text:last-child {
-	left: 0;
-	right: 0;
-	margin: auto;
-	text-align: center;
-}
-
-.cu-bar .action:first-child {
-	margin-left: 30upx;
-	font-size: 30upx;
-}
-
-.cu-bar .action text.text-cut {
-	text-align: left;
-	width: 100%;
-}
-
-.cu-bar .cu-avatar:first-child {
-	margin-left: 20upx;
-}
-
-.cu-bar .action:first-child>text[class*="cuIcon-"] {
-	margin-left: -0.3em;
-	margin-right: 0.3em;
-}
-
-.cu-bar .action:last-child {
-	margin-right: 30upx;
-}
-
-.cu-bar .action>text[class*="cuIcon-"],
-.cu-bar .action>view[class*="cuIcon-"] {
-	font-size: 36upx;
-}
-
-.cu-bar .action>text[class*="cuIcon-"]+text[class*="cuIcon-"] {
-	margin-left: 0.5em;
-}
-
-.cu-bar .content {
-	position: absolute;
-	text-align: center;
-	width: calc(100% - 340upx);
-	left: 0;
-	right: 0;
-	bottom: 0;
-	top: 0;
-	margin: auto;
-	height: 60upx;
-	font-size: 32upx;
-	line-height: 60upx;
-	cursor: none;
-	pointer-events: none;
-	text-overflow: ellipsis;
-	white-space: nowrap;
-	overflow: hidden;
-}
-
-.cu-bar.ios .content {
-	bottom: 7px;
-	height: 30px;
-	font-size: 32upx;
-	line-height: 30px;
-}
-
-.cu-bar.btn-group {
-	justify-content: space-around;
-}
-
-.cu-bar.btn-group button {
-	padding: 20upx 32upx;
-}
-
-.cu-bar.btn-group button {
-	flex: 1;
-	margin: 0 20upx;
-	max-width: 50%;
-}
-
-.cu-bar .search-form {
-	background-color: #f5f5f5;
-	line-height: 64upx;
-	height: 64upx;
-	font-size: 24upx;
-	color: #333333;
-	flex: 1;
-	display: flex;
-	align-items: center;
-	margin: 0 30upx;
-}
-
-.cu-bar .search-form+.action {
-	margin-right: 30upx;
-}
-
-.cu-bar .search-form input {
-	flex: 1;
-	padding-right: 30upx;
-	height: 64upx;
-	line-height: 64upx;
-	font-size: 26upx;
-	background-color: transparent;
-}
-
-.cu-bar .search-form [class*="cuIcon-"] {
-	margin: 0 0.5em 0 0.8em;
-}
-
-.cu-bar .search-form [class*="cuIcon-"]::before {
-	top: 0upx;
-}
-
-.cu-bar.fixed,
-.nav.fixed {
-	position: fixed;
-	width: 100%;
-	top: 0;
-	z-index: 1024;
-	box-shadow: 0 1upx 6upx rgba(0, 0, 0, 0.1);
-}
-
-.cu-bar.foot {
-	position: fixed;
-	width: 100%;
-	bottom: 0;
-	z-index: 1024;
-	box-shadow: 0 -1upx 6upx rgba(0, 0, 0, 0.1);
-}
-
-.cu-bar.tabbar {
-	padding: 0;
-	height: calc(100upx + env(safe-area-inset-bottom) / 2);
-	padding-bottom: calc(env(safe-area-inset-bottom) / 2);
-}
-
-.cu-tabbar-height {
-	min-height: 100upx;
-	height: calc(100upx + env(safe-area-inset-bottom) / 2);
-}
-
-.cu-bar.tabbar.shadow {
-	box-shadow: 0 -1upx 6upx rgba(0, 0, 0, 0.1);
-}
-
-.cu-bar.tabbar .action {
-	font-size: 22upx;
-	position: relative;
-	flex: 1;
-	text-align: center;
-	padding: 0;
-	display: block;
-	height: auto;
-	line-height: 1;
-	margin: 0;
-	background-color: inherit;
-	overflow: initial;
-}
-
-.cu-bar.tabbar.shop .action {
-	width: 140upx;
-	flex: initial;
-}
-
-.cu-bar.tabbar .action.add-action {
-	position: relative;
-	z-index: 2;
-	padding-top: 50upx;
-}
-
-.cu-bar.tabbar .action.add-action [class*="cuIcon-"] {
-	position: absolute;
-	width: 70upx;
-	z-index: 2;
-	height: 70upx;
-	border-radius: 50%;
-	line-height: 70upx;
-	font-size: 50upx;
-	top: -35upx;
-	left: 0;
-	right: 0;
-	margin: auto;
-	padding: 0;
-}
-
-.cu-bar.tabbar .action.add-action::after {
-	content: "";
-	position: absolute;
-	width: 100upx;
-	height: 100upx;
-	top: -50upx;
-	left: 0;
-	right: 0;
-	margin: auto;
-	box-shadow: 0 -3upx 8upx rgba(0, 0, 0, 0.08);
-	border-radius: 50upx;
-	background-color: inherit;
-	z-index: 0;
-}
-
-.cu-bar.tabbar .action.add-action::before {
-	content: "";
-	position: absolute;
-	width: 100upx;
-	height: 30upx;
-	bottom: 30upx;
-	left: 0;
-	right: 0;
-	margin: auto;
-	background-color: inherit;
-	z-index: 1;
-}
-
-.cu-bar.tabbar .btn-group {
-	flex: 1;
-	display: flex;
-	justify-content: space-around;
-	align-items: center;
-	padding: 0 10upx;
-}
-
-.cu-bar.tabbar button.action::after {
-	border: 0;
-}
-
-.cu-bar.tabbar .action [class*="cuIcon-"] {
-	width: 100upx;
-	position: relative;
-	display: block;
-	height: auto;
-	margin: 0 auto 10upx;
-	text-align: center;
-	font-size: 40upx;
-}
-
-.cu-bar.tabbar .action .cuIcon-cu-image {
-	margin: 0 auto;
-}
-
-.cu-bar.tabbar .action .cuIcon-cu-image image {
-	width: 50upx;
-	height: 50upx;
-	display: inline-block;
-}
-
-.cu-bar.tabbar .submit {
-	align-items: center;
-	display: flex;
-	justify-content: center;
-	text-align: center;
-	position: relative;
-	flex: 2;
-	align-self: stretch;
-}
-
-.cu-bar.tabbar .submit:last-child {
-	flex: 2.6;
-}
-
-.cu-bar.tabbar .submit+.submit {
-	flex: 2;
-}
-
-.cu-bar.tabbar.border .action::before {
-	content: " ";
-	width: 200%;
-	height: 200%;
-	position: absolute;
-	top: 0;
-	left: 0;
-	transform: scale(0.5);
-	transform-origin: 0 0;
-	border-right: 1upx solid rgba(0, 0, 0, 0.1);
-	z-index: 3;
-}
-
-.cu-bar.tabbar.border .action:last-child:before {
-	display: none;
-}
-
-.cu-bar.input {
-	padding-right: 20upx;
-	background-color: #ffffff;
-}
-
-.cu-bar.input input {
-	overflow: initial;
-	line-height: 64upx;
-	height: 64upx;
-	min-height: 64upx;
-	flex: 1;
-	font-size: 30upx;
-	margin: 0 20upx;
-}
-
-.cu-bar.input .action {
-	margin-left: 20upx;
-}
-
-.cu-bar.input .action [class*="cuIcon-"] {
-	font-size: 48upx;
-}
-
-.cu-bar.input input+.action {
-	margin-right: 20upx;
-	margin-left: 0upx;
-}
-
-.cu-bar.input .action:first-child [class*="cuIcon-"] {
-	margin-left: 0upx;
-}
-
-.cu-custom {
-	display: block;
-	position: relative;
-}
-
-.cu-custom .cu-bar .content {
-	width: calc(100% - 440upx);
-}
-
-/* #ifdef MP-ALIPAY */
-.cu-custom .cu-bar .action .cuIcon-back {
-	opacity: 0;
-}
-
-/* #endif */
-
-.cu-custom .cu-bar .content image {
-	height: 60upx;
-	width: 240upx;
-}
-
-.cu-custom .cu-bar {
-	min-height: 0px;
-	/* #ifdef MP-WEIXIN */
-	padding-right: 220upx;
-	/* #endif */
-	/* #ifdef MP-ALIPAY */
-	padding-right: 150upx;
-	/* #endif */
-	box-shadow: 0upx 0upx 0upx;
-	z-index: 9999;
-}
-
-.cu-custom .cu-bar .border-custom {
-	position: relative;
-	background: rgba(0, 0, 0, 0.15);
-	border-radius: 1000upx;
-	height: 30px;
-}
-
-.cu-custom .cu-bar .border-custom::after {
-	content: " ";
-	width: 200%;
-	height: 200%;
-	position: absolute;
-	top: 0;
-	left: 0;
-	border-radius: inherit;
-	transform: scale(0.5);
-	transform-origin: 0 0;
-	pointer-events: none;
-	box-sizing: border-box;
-	border: 1upx solid #ffffff;
-	opacity: 0.5;
-}
-
-.cu-custom .cu-bar .border-custom::before {
-	content: " ";
-	width: 1upx;
-	height: 110%;
-	position: absolute;
-	top: 22.5%;
-	left: 0;
-	right: 0;
-	margin: auto;
-	transform: scale(0.5);
-	transform-origin: 0 0;
-	pointer-events: none;
-	box-sizing: border-box;
-	opacity: 0.6;
-	background-color: #ffffff;
-}
-
-.cu-custom .cu-bar .border-custom text {
-	display: block;
-	flex: 1;
-	margin: auto !important;
-	text-align: center;
-	font-size: 34upx;
-}
-
-/* ==================
-         瀵艰埅鏍�
- ==================== */
-
-.nav {
-	white-space: nowrap;
-}
-
-::-webkit-scrollbar {
-	display: none;
-}
-
-.nav .cu-item {
-	height: 90upx;
-	display: inline-block;
-	line-height: 90upx;
-	margin: 0 10upx;
-	padding: 0 20upx;
-}
-
-.nav .cu-item.cur {
-	border-bottom: 4upx solid;
-}
-
-/* ==================
-         鏃堕棿杞�
- ==================== */
-
-.cu-timeline {
-	display: block;
-	background-color: #ffffff;
-}
-
-.cu-timeline .cu-time {
-	width: 120upx;
-	text-align: center;
-	padding: 20upx 0;
-	font-size: 26upx;
-	color: #888;
-	display: block;
-}
-
-.cu-timeline>.cu-item {
-	padding: 30upx 30upx 30upx 120upx;
-	position: relative;
-	display: block;
-	z-index: 0;
-}
-
-.cu-timeline>.cu-item:not([class*="text-"]) {
-	color: #ccc;
-}
-
-.cu-timeline>.cu-item::after {
-	content: "";
-	display: block;
-	position: absolute;
-	width: 1upx;
-	background-color: #ddd;
-	left: 60upx;
-	height: 100%;
-	top: 0;
-	z-index: 8;
-}
-
-.cu-timeline>.cu-item::before {
-	font-family: "cuIcon";
-	display: block;
-	position: absolute;
-	top: 36upx;
-	z-index: 9;
-	background-color: #ffffff;
-	width: 50upx;
-	height: 50upx;
-	text-align: center;
-	border: none;
-	line-height: 50upx;
-	left: 36upx;
-}
-
-.cu-timeline>.cu-item:not([class*="cuIcon-"])::before {
-	content: "\e763";
-}
-
-.cu-timeline>.cu-item[class*="cuIcon-"]::before {
-	background-color: #ffffff;
-	width: 50upx;
-	height: 50upx;
-	text-align: center;
-	border: none;
-	line-height: 50upx;
-	left: 36upx;
-}
-
-.cu-timeline>.cu-item>.content {
-	padding: 30upx;
-	border-radius: 6upx;
-	display: block;
-	line-height: 1.6;
-}
-
-.cu-timeline>.cu-item>.content:not([class*="bg-"]) {
-	background-color: #f1f1f1;
-	color: #333333;
-}
-
-.cu-timeline>.cu-item>.content+.content {
-	margin-top: 20upx;
-}
-
-/* ==================
-         鑱婂ぉ
- ==================== */
-
-.cu-chat {
-	display: flex;
-	flex-direction: column;
-}
-
-.cu-chat .cu-item {
-	display: flex;
-	padding: 30upx 30upx 70upx;
-	position: relative;
-}
-
-.cu-chat .cu-item>.cu-avatar {
-	width: 80upx;
-	height: 80upx;
-}
-
-.cu-chat .cu-item>.main {
-	max-width: calc(100% - 260upx);
-	margin: 0 40upx;
-	display: flex;
-	align-items: center;
-}
-
-.cu-chat .cu-item>image {
-	height: 320upx;
-}
-
-.cu-chat .cu-item>.main .content {
-	padding: 20upx;
-	border-radius: 6upx;
-	display: inline-flex;
-	max-width: 100%;
-	align-items: center;
-	font-size: 30upx;
-	position: relative;
-	min-height: 80upx;
-	line-height: 40upx;
-	text-align: left;
-}
-
-.cu-chat .cu-item>.main .content:not([class*="bg-"]) {
-	background-color: #ffffff;
-	color: #333333;
-}
-
-.cu-chat .cu-item .date {
-	position: absolute;
-	font-size: 24upx;
-	color: #8799a3;
-	width: calc(100% - 320upx);
-	bottom: 20upx;
-	left: 160upx;
-}
-
-.cu-chat .cu-item .action {
-	padding: 0 30upx;
-	display: flex;
-	align-items: center;
-}
-
-.cu-chat .cu-item>.main .content::after {
-	content: "";
-	top: 27upx;
-	transform: rotate(45deg);
-	position: absolute;
-	z-index: 100;
-	display: inline-block;
-	overflow: hidden;
-	width: 24upx;
-	height: 24upx;
-	left: -12upx;
-	right: initial;
-	background-color: inherit;
-}
-
-.cu-chat .cu-item.self>.main .content::after {
-	left: auto;
-	right: -12upx;
-}
-
-.cu-chat .cu-item>.main .content::before {
-	content: "";
-	top: 30upx;
-	transform: rotate(45deg);
-	position: absolute;
-	z-index: -1;
-	display: inline-block;
-	overflow: hidden;
-	width: 24upx;
-	height: 24upx;
-	left: -12upx;
-	right: initial;
-	background-color: inherit;
-	filter: blur(5upx);
-	opacity: 0.3;
-}
-
-.cu-chat .cu-item>.main .content:not([class*="bg-"])::before {
-	background-color: #333333;
-	opacity: 0.1;
-}
-
-.cu-chat .cu-item.self>.main .content::before {
-	left: auto;
-	right: -12upx;
-}
-
-.cu-chat .cu-item.self {
-	justify-content: flex-end;
-	text-align: right;
-}
-
-.cu-chat .cu-info {
-	display: inline-block;
-	margin: 20upx auto;
-	font-size: 24upx;
-	padding: 8upx 12upx;
-	background-color: rgba(0, 0, 0, 0.2);
-	border-radius: 6upx;
-	color: #ffffff;
-	max-width: 400upx;
-	line-height: 1.4;
-}
-
-/* ==================
-         鍗$墖
- ==================== */
-
-.cu-card {
-	display: block;
-	overflow: hidden;
-}
-
-.cu-card>.cu-item {
-	display: block;
-	background-color: #ffffff;
-	overflow: hidden;
-	border-radius: 10upx;
-	margin: 30upx;
-}
-
-.cu-card>.cu-item.shadow-blur {
-	overflow: initial;
-}
-
-.cu-card.no-card>.cu-item {
-	margin: 0upx;
-	border-radius: 0upx;
-}
-
-.cu-card .grid.grid-square {
-	margin-bottom: -20upx;
-}
-
-.cu-card.case .image {
-	position: relative;
-}
-
-.cu-card.case .image image {
-	width: 100%;
-}
-
-.cu-card.case .image .cu-tag {
-	position: absolute;
-	right: 0;
-	top: 0;
-}
-
-.cu-card.case .image .cu-bar {
-	position: absolute;
-	bottom: 0;
-	width: 100%;
-	background-color: transparent;
-	padding: 0upx 30upx;
-}
-
-.cu-card.case.no-card .image {
-	margin: 30upx 30upx 0;
-	overflow: hidden;
-	border-radius: 10upx;
-}
-
-.cu-card.dynamic {
-	display: block;
-}
-
-.cu-card.dynamic>.cu-item {
-	display: block;
-	background-color: #ffffff;
-	overflow: hidden;
-}
-
-.cu-card.dynamic>.cu-item>.text-content {
-	padding: 0 30upx 0;
-	max-height: 6.4em;
-	overflow: hidden;
-	font-size: 30upx;
-	margin-bottom: 20upx;
-}
-
-.cu-card.dynamic>.cu-item .square-img {
-	width: 100%;
-	height: 200upx;
-	border-radius: 6upx;
-}
-
-.cu-card.dynamic>.cu-item .only-img {
-	width: 100%;
-	height: 320upx;
-	border-radius: 6upx;
-}
-
-/* card.dynamic>.cu-item .comment {
-  padding: 20upx;
-  background-color: #f1f1f1;
-  margin: 0 30upx 30upx;
-  border-radius: 6upx;
-} */
-
-.cu-card.article {
-	display: block;
-}
-
-.cu-card.article>.cu-item {
-	padding-bottom: 30upx;
-}
-
-.cu-card.article>.cu-item .title {
-	font-size: 30upx;
-	font-weight: 900;
-	color: #333333;
-	line-height: 100upx;
-	padding: 0 30upx;
-}
-
-.cu-card.article>.cu-item .content {
-	display: flex;
-	padding: 0 30upx;
-}
-
-.cu-card.article>.cu-item .content>image {
-	width: 240upx;
-	height: 6.4em;
-	margin-right: 20upx;
-	border-radius: 6upx;
-}
-
-.cu-card.article>.cu-item .content .desc {
-	flex: 1;
-	display: flex;
-	flex-direction: column;
-	justify-content: space-between;
-}
-
-.cu-card.article>.cu-item .content .text-content {
-	font-size: 28upx;
-	color: #888;
-	height: 4.8em;
-	overflow: hidden;
-}
-
-/* ==================
-         琛ㄥ崟
- ==================== */
-
-.cu-form-group {
-	background-color: #ffffff;
-	padding: 1upx 30upx;
-	display: flex;
-	align-items: center;
-	min-height: 100upx;
-	justify-content: space-between;
-}
-
-.cu-form-group+.cu-form-group {
-	border-top: 1upx solid #eee;
-}
-
-.cu-form-group .title {
-	text-align: justify;
-	padding-right: 30upx;
-	font-size: 30upx;
-	position: relative;
-	height: 60upx;
-	line-height: 60upx;
-}
-
-.cu-form-group input {
-	flex: 1;
-	font-size: 30upx;
-	color: #555;
-	padding-right: 20upx;
-}
-
-.cu-form-group>text[class*="cuIcon-"] {
-	font-size: 36upx;
-	padding: 0;
-	box-sizing: border-box;
-}
-
-.cu-form-group textarea {
-	margin: 32upx 0 30upx;
-	height: 4.6em;
-	width: 100%;
-	line-height: 1.2em;
-	flex: 1;
-	font-size: 28upx;
-	padding: 0;
-}
-
-.cu-form-group.align-start .title {
-	height: 1em;
-	margin-top: 32upx;
-	line-height: 1em;
-}
-
-.cu-form-group picker {
-	flex: 1;
-	padding-right: 40upx;
-	overflow: hidden;
-	position: relative;
-}
-
-.cu-form-group picker .picker {
-	line-height: 100upx;
-	font-size: 28upx;
-	text-overflow: ellipsis;
-	white-space: nowrap;
-	overflow: hidden;
-	width: 100%;
-	text-align: right;
-}
-
-.cu-form-group picker::after {
-	font-family: cuIcon;
-	display: block;
-	content: "\e6a3";
-	position: absolute;
-	font-size: 34upx;
-	color: #8799a3;
-	line-height: 100upx;
-	width: 60upx;
-	text-align: center;
-	top: 0;
-	bottom: 0;
-	right: -20upx;
-	margin: auto;
-}
-
-.cu-form-group textarea[disabled],
-.cu-form-group textarea[disabled] .placeholder {
-	color: transparent;
-}
-
-/* ==================
-         妯℃�佺獥鍙�
- ==================== */
-
-.cu-modal {
-	position: fixed;
-	top: 0;
-	right: 0;
-	bottom: 0;
-	left: 0;
-	z-index: 1110;
-	opacity: 0;
-	outline: 0;
-	text-align: center;
-	-ms-transform: scale(1.185);
-	transform: scale(1.185);
-	backface-visibility: hidden;
-	perspective: 2000upx;
-	background: rgba(0, 0, 0, 0.6);
-	transition: all 0.3s ease-in-out 0s;
-	pointer-events: none;
-}
-
-.cu-modal::before {
-	content: "\200B";
-	display: inline-block;
-	height: 100%;
-	vertical-align: middle;
-}
-
-.cu-modal.show {
-	opacity: 1;
-	transition-duration: 0.3s;
-	-ms-transform: scale(1);
-	transform: scale(1);
-	overflow-x: hidden;
-	overflow-y: auto;
-	pointer-events: auto;
-}
-
-.cu-dialog {
-	position: relative;
-	display: inline-block;
-	vertical-align: middle;
-	margin-left: auto;
-	margin-right: auto;
-	width: 680upx;
-	max-width: 100%;
-	background-color: #f8f8f8;
-	border-radius: 10upx;
-	overflow: hidden;
-}
-
-.cu-modal.bottom-modal::before {
-	vertical-align: bottom;
-}
-
-.cu-modal.bottom-modal .cu-dialog {
-	width: 100%;
-	border-radius: 0;
-}
-
-.cu-modal.bottom-modal {
-	margin-bottom: -1000upx;
-}
-
-.cu-modal.bottom-modal.show {
-	margin-bottom: 0;
-}
-
-.cu-modal.drawer-modal {
-	transform: scale(1);
-	display: flex;
-}
-
-.cu-modal.drawer-modal .cu-dialog {
-	height: 100%;
-	min-width: 200upx;
-	border-radius: 0;
-	margin: initial;
-	transition-duration: 0.3s;
-}
-
-.cu-modal.drawer-modal.justify-start .cu-dialog {
-	transform: translateX(-100%);
-}
-
-.cu-modal.drawer-modal.justify-end .cu-dialog {
-	transform: translateX(100%);
-}
-
-.cu-modal.drawer-modal.show .cu-dialog {
-	transform: translateX(0%);
-}
-.cu-modal .cu-dialog>.cu-bar:first-child .action{
-  min-width: 100rpx;
-  margin-right: 0;
-  min-height: 100rpx;
-}
-/* ==================
-         杞挱
- ==================== */
-swiper .a-swiper-dot {
-	display: inline-block;
-	width: 16upx;
-	height: 16upx;
-	background: rgba(0, 0, 0, .3);
-	border-radius: 50%;
-	vertical-align: middle;
-}
-
-swiper[class*="-dot"] .wx-swiper-dots,
-swiper[class*="-dot"] .a-swiper-dots,
-swiper[class*="-dot"] .uni-swiper-dots {
-	display: flex;
-	align-items: center;
-	width: 100%;
-	justify-content: center;
-}
-
-swiper.square-dot .wx-swiper-dot,
-swiper.square-dot .a-swiper-dot,
-swiper.square-dot .uni-swiper-dot {
-	background-color: #ffffff;
-	opacity: 0.4;
-	width: 10upx;
-	height: 10upx;
-	border-radius: 20upx;
-	margin: 0 8upx !important;
-}
-
-swiper.square-dot .wx-swiper-dot.wx-swiper-dot-active,
-swiper.square-dot .a-swiper-dot.a-swiper-dot-active,
-swiper.square-dot .uni-swiper-dot.uni-swiper-dot-active {
-	opacity: 1;
-	width: 30upx;
-}
-
-swiper.round-dot .wx-swiper-dot,
-swiper.round-dot .a-swiper-dot,
-swiper.round-dot .uni-swiper-dot {
-	width: 10upx;
-	height: 10upx;
-	position: relative;
-	margin: 4upx 8upx !important;
-}
-
-swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active::after,
-swiper.round-dot .a-swiper-dot.a-swiper-dot-active::after,
-swiper.round-dot .uni-swiper-dot.uni-swiper-dot-active::after {
-	content: "";
-	position: absolute;
-	width: 10upx;
-	height: 10upx;
-	top: 0upx;
-	left: 0upx;
-	right: 0;
-	bottom: 0;
-	margin: auto;
-	background-color: #ffffff;
-	border-radius: 20upx;
-}
-
-swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active,
-swiper.round-dot .a-swiper-dot.a-swiper-dot-active,
-swiper.round-dot .uni-swiper-dot.uni-swiper-dot-active {
-	width: 18upx;
-	height: 18upx;
-}
-
-.screen-swiper {
-	min-height: 375upx;
-}
-
-.screen-swiper image,
-.screen-swiper video,
-.swiper-item image,
-.swiper-item video {
-	width: 100%;
-	display: block;
-	height: 100%;
-	margin: 0;
-	pointer-events: none;
-}
-
-.card-swiper {
-	height: 420upx !important;
-}
-
-.card-swiper swiper-item {
-	width: 610upx !important;
-	left: 70upx;
-	box-sizing: border-box;
-	padding: 40upx 0upx 70upx;
-	overflow: initial;
-}
-
-.card-swiper swiper-item .swiper-item {
-	width: 100%;
-	display: block;
-	height: 100%;
-	border-radius: 10upx;
-	transform: scale(0.9);
-	transition: all 0.2s ease-in 0s;
-	overflow: hidden;
-}
-
-.card-swiper swiper-item.cur .swiper-item {
-	transform: none;
-	transition: all 0.2s ease-in 0s;
-}
-
-
-.tower-swiper {
-	height: 420upx;
-	position: relative;
-	max-width: 750upx;
-	overflow: hidden;
-}
-
-.tower-swiper .tower-item {
-	position: absolute;
-	width: 300upx;
-	height: 380upx;
-	top: 0;
-	bottom: 0;
-	left: 50%;
-	margin: auto;
-	transition: all 0.2s ease-in 0s;
-	opacity: 1;
-}
-
-.tower-swiper .tower-item.none {
-	opacity: 0;
-}
-
-.tower-swiper .tower-item .swiper-item {
-	width: 100%;
-	height: 100%;
-	border-radius: 6upx;
-	overflow: hidden;
-}
-
-/* ==================
-          姝ラ鏉�
- ==================== */
-
-.cu-steps {
-	display: flex;
-}
-
-scroll-view.cu-steps {
-	display: block;
-	white-space: nowrap;
-}
-
-scroll-view.cu-steps .cu-item {
-	display: inline-block;
-}
-
-.cu-steps .cu-item {
-	flex: 1;
-	text-align: center;
-	position: relative;
-	min-width: 100upx;
-}
-
-.cu-steps .cu-item:not([class*="text-"]) {
-	color: #8799a3;
-}
-
-.cu-steps .cu-item [class*="cuIcon-"],
-.cu-steps .cu-item .num {
-	display: block;
-	font-size: 40upx;
-	line-height: 80upx;
-}
-
-.cu-steps .cu-item::before,
-.cu-steps .cu-item::after,
-.cu-steps.steps-arrow .cu-item::before,
-.cu-steps.steps-arrow .cu-item::after {
-	content: "";
-	display: block;
-	position: absolute;
-	height: 0px;
-	width: calc(100% - 80upx);
-	border-bottom: 1px solid #ccc;
-	left: calc(0px - (100% - 80upx) / 2);
-	top: 40upx;
-	z-index: 0;
-}
-
-.cu-steps.steps-arrow .cu-item::before,
-.cu-steps.steps-arrow .cu-item::after {
-	content: "\e6a3";
-	font-family: 'cuIcon';
-	height: 30upx;
-	border-bottom-width: 0px;
-	line-height: 30upx;
-	top: 0;
-	bottom: 0;
-	margin: auto;
-	color: #ccc;
-}
-
-.cu-steps.steps-bottom .cu-item::before,
-.cu-steps.steps-bottom .cu-item::after {
-	bottom: 40upx;
-	top: initial;
-}
-
-.cu-steps .cu-item::after {
-	border-bottom: 1px solid currentColor;
-	width: 0px;
-	transition: all 0.3s ease-in-out 0s;
-}
-
-.cu-steps .cu-item[class*="text-"]::after {
-	width: calc(100% - 80upx);
-	color: currentColor;
-}
-
-.cu-steps .cu-item:first-child::before,
-.cu-steps .cu-item:first-child::after {
-	display: none;
-}
-
-.cu-steps .cu-item .num {
-	width: 40upx;
-	height: 40upx;
-	border-radius: 50%;
-	line-height: 40upx;
-	margin: 20upx auto;
-	font-size: 24upx;
-	border: 1px solid currentColor;
-	position: relative;
-	overflow: hidden;
-}
-
-.cu-steps .cu-item[class*="text-"] .num {
-	background-color: currentColor;
-}
-
-.cu-steps .cu-item .num::before,
-.cu-steps .cu-item .num::after {
-	content: attr(data-index);
-	position: absolute;
-	left: 0;
-	right: 0;
-	top: 0;
-	bottom: 0;
-	margin: auto;
-	transition: all 0.3s ease-in-out 0s;
-	transform: translateY(0upx);
-}
-
-.cu-steps .cu-item[class*="text-"] .num::before {
-	transform: translateY(-40upx);
-	color: #ffffff;
-}
-
-.cu-steps .cu-item .num::after {
-	transform: translateY(40upx);
-	color: #ffffff;
-	transition: all 0.3s ease-in-out 0s;
-}
-
-.cu-steps .cu-item[class*="text-"] .num::after {
-	content: "\e645";
-	font-family: 'cuIcon';
-	color: #ffffff;
-	transform: translateY(0upx);
-}
-
-.cu-steps .cu-item[class*="text-"] .num.err::after {
-	content: "\e646";
-}
-
-/* ==================
-          甯冨眬
- ==================== */
-
-/*  -- flex寮规�у竷灞� -- */
-
-.flex {
-	display: flex;
-}
-
-.basis-xs {
-	flex-basis: 20%;
-}
-
-.basis-sm {
-	flex-basis: 40%;
-}
-
-.basis-df {
-	flex-basis: 50%;
-}
-
-.basis-lg {
-	flex-basis: 60%;
-}
-
-.basis-xl {
-	flex-basis: 80%;
-}
-
-.flex-sub {
-	flex: 1;
-}
-
-.flex-twice {
-	flex: 2;
-}
-
-.flex-treble {
-	flex: 3;
-}
-
-.flex-direction {
-	flex-direction: column;
-}
-
-.flex-wrap {
-	flex-wrap: wrap;
-}
-
-.align-start {
-	align-items: flex-start;
-}
-
-.align-end {
-	align-items: flex-end;
-}
-
-.align-center {
-	align-items: center;
-}
-
-.align-stretch {
-	align-items: stretch;
-}
-
-.self-start {
-	align-self: flex-start;
-}
-
-.self-center {
-	align-self: flex-center;
-}
-
-.self-end {
-	align-self: flex-end;
-}
-
-.self-stretch {
-	align-self: stretch;
-}
-
-.align-stretch {
-	align-items: stretch;
-}
-
-.justify-start {
-	justify-content: flex-start;
-}
-
-.justify-end {
-	justify-content: flex-end;
-}
-
-.justify-center {
-	justify-content: center;
-}
-
-.justify-between {
-	justify-content: space-between;
-}
-
-.justify-around {
-	justify-content: space-around;
-}
-
-/* grid甯冨眬 */
-
-.grid {
-	display: flex;
-	flex-wrap: wrap;
-}
-
-.grid.grid-square {
-	overflow: hidden;
-}
-
-.grid.grid-square .cu-tag {
-	position: absolute;
-	right: 0;
-	top: 0;
-	border-bottom-left-radius: 6upx;
-	padding: 6upx 12upx;
-	height: auto;
-	background-color: rgba(0, 0, 0, 0.5);
-}
-
-.grid.grid-square>view>text[class*="cuIcon-"] {
-	font-size: 52upx;
-	position: absolute;
-	color: #8799a3;
-	margin: auto;
-	top: 0;
-	bottom: 0;
-	left: 0;
-	right: 0;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	flex-direction: column;
-}
-
-.grid.grid-square>view {
-	margin-right: 20upx;
-	margin-bottom: 20upx;
-	border-radius: 6upx;
-	position: relative;
-	overflow: hidden;
-}
-.grid.grid-square>view.bg-img image {
-	width: 100%;
-	height: 100%;
-	position: absolute;
-}
-.grid.col-1.grid-square>view {
-	padding-bottom: 100%;
-	height: 0;
-	margin-right: 0;
-}
-
-.grid.col-2.grid-square>view {
-	padding-bottom: calc((100% - 20upx)/2);
-	height: 0;
-	width: calc((100% - 20upx)/2);
-}
-
-.grid.col-3.grid-square>view {
-	padding-bottom: calc((100% - 40upx)/3);
-	height: 0;
-	width: calc((100% - 40upx)/3);
-}
-
-.grid.col-4.grid-square>view {
-	padding-bottom: calc((100% - 60upx)/4);
-	height: 0;
-	width: calc((100% - 60upx)/4);
-}
-
-.grid.col-5.grid-square>view {
-	padding-bottom: calc((100% - 80upx)/5);
-	height: 0;
-	width: calc((100% - 80upx)/5);
-}
-
-.grid.col-2.grid-square>view:nth-child(2n),
-.grid.col-3.grid-square>view:nth-child(3n),
-.grid.col-4.grid-square>view:nth-child(4n),
-.grid.col-5.grid-square>view:nth-child(5n) {
-	margin-right: 0;
-}
-
-.grid.col-1>view {
-	width: 100%;
-}
-
-.grid.col-2>view {
-	width: 50%;
-}
-
-.grid.col-3>view {
-	width: 33.33%;
-}
-
-.grid.col-4>view {
-	width: 25%;
-}
-
-.grid.col-5>view {
-	width: 20%;
-}
-
-/*  -- 鍐呭杈硅窛 -- */
-
-.margin-0 {
-	margin: 0;
-}
-
-.margin-xs {
-	margin: 10upx;
-}
-
-.margin-sm {
-	margin: 20upx;
-}
-
-.margin {
-	margin: 30upx;
-}
-
-.margin-lg {
-	margin: 40upx;
-}
-
-.margin-xl {
-	margin: 50upx;
-}
-
-.margin-top-xs {
-	margin-top: 10upx;
-}
-
-.margin-top-sm {
-	margin-top: 20upx;
-}
-
-.margin-top {
-	margin-top: 30upx;
-}
-
-.margin-top-lg {
-	margin-top: 40upx;
-}
-
-.margin-top-xl {
-	margin-top: 50upx;
-}
-
-.margin-right-xs {
-	margin-right: 10upx;
-}
-
-.margin-right-sm {
-	margin-right: 20upx;
-}
-
-.margin-right {
-	margin-right: 30upx;
-}
-
-.margin-right-lg {
-	margin-right: 40upx;
-}
-
-.margin-right-xl {
-	margin-right: 50upx;
-}
-
-.margin-bottom-xs {
-	margin-bottom: 10upx;
-}
-
-.margin-bottom-sm {
-	margin-bottom: 20upx;
-}
-
-.margin-bottom {
-	margin-bottom: 30upx;
-}
-
-.margin-bottom-lg {
-	margin-bottom: 40upx;
-}
-
-.margin-bottom-xl {
-	margin-bottom: 50upx;
-}
-
-.margin-left-xs {
-	margin-left: 10upx;
-}
-
-.margin-left-sm {
-	margin-left: 20upx;
-}
-
-.margin-left {
-	margin-left: 30upx;
-}
-
-.margin-left-lg {
-	margin-left: 40upx;
-}
-
-.margin-left-xl {
-	margin-left: 50upx;
-}
-
-.margin-lr-xs {
-	margin-left: 10upx;
-	margin-right: 10upx;
-}
-
-.margin-lr-sm {
-	margin-left: 20upx;
-	margin-right: 20upx;
-}
-
-.margin-lr {
-	margin-left: 30upx;
-	margin-right: 30upx;
-}
-
-.margin-lr-lg {
-	margin-left: 40upx;
-	margin-right: 40upx;
-}
-
-.margin-lr-xl {
-	margin-left: 50upx;
-	margin-right: 50upx;
-}
-
-.margin-tb-xs {
-	margin-top: 10upx;
-	margin-bottom: 10upx;
-}
-
-.margin-tb-sm {
-	margin-top: 20upx;
-	margin-bottom: 20upx;
-}
-
-.margin-tb {
-	margin-top: 30upx;
-	margin-bottom: 30upx;
-}
-
-.margin-tb-lg {
-	margin-top: 40upx;
-	margin-bottom: 40upx;
-}
-
-.margin-tb-xl {
-	margin-top: 50upx;
-	margin-bottom: 50upx;
-}
-
-.padding-0 {
-	padding: 0;
-}
-
-.padding-xs {
-	padding: 10upx;
-}
-
-.padding-sm {
-	padding: 20upx;
-}
-
-.padding {
-	padding: 30upx;
-}
-
-.padding-lg {
-	padding: 40upx;
-}
-
-.padding-xl {
-	padding: 50upx;
-}
-
-.padding-top-xs {
-	padding-top: 10upx;
-}
-
-.padding-top-sm {
-	padding-top: 20upx;
-}
-
-.padding-top {
-	padding-top: 30upx;
-}
-
-.padding-top-lg {
-	padding-top: 40upx;
-}
-
-.padding-top-xl {
-	padding-top: 50upx;
-}
-
-.padding-right-xs {
-	padding-right: 10upx;
-}
-
-.padding-right-sm {
-	padding-right: 20upx;
-}
-
-.padding-right {
-	padding-right: 30upx;
-}
-
-.padding-right-lg {
-	padding-right: 40upx;
-}
-
-.padding-right-xl {
-	padding-right: 50upx;
-}
-
-.padding-bottom-xs {
-	padding-bottom: 10upx;
-}
-
-.padding-bottom-sm {
-	padding-bottom: 20upx;
-}
-
-.padding-bottom {
-	padding-bottom: 30upx;
-}
-
-.padding-bottom-lg {
-	padding-bottom: 40upx;
-}
-
-.padding-bottom-xl {
-	padding-bottom: 50upx;
-}
-
-.padding-left-xs {
-	padding-left: 10upx;
-}
-
-.padding-left-sm {
-	padding-left: 20upx;
-}
-
-.padding-left {
-	padding-left: 30upx;
-}
-
-.padding-left-lg {
-	padding-left: 40upx;
-}
-
-.padding-left-xl {
-	padding-left: 50upx;
-}
-
-.padding-lr-xs {
-	padding-left: 10upx;
-	padding-right: 10upx;
-}
-
-.padding-lr-sm {
-	padding-left: 20upx;
-	padding-right: 20upx;
-}
-
-.padding-lr {
-	padding-left: 30upx;
-	padding-right: 30upx;
-}
-
-.padding-lr-lg {
-	padding-left: 40upx;
-	padding-right: 40upx;
-}
-
-.padding-lr-xl {
-	padding-left: 50upx;
-	padding-right: 50upx;
-}
-
-.padding-tb-xs {
-	padding-top: 10upx;
-	padding-bottom: 10upx;
-}
-
-.padding-tb-sm {
-	padding-top: 20upx;
-	padding-bottom: 20upx;
-}
-
-.padding-tb {
-	padding-top: 30upx;
-	padding-bottom: 30upx;
-}
-
-.padding-tb-lg {
-	padding-top: 40upx;
-	padding-bottom: 40upx;
-}
-
-.padding-tb-xl {
-	padding-top: 50upx;
-	padding-bottom: 50upx;
-}
-
-/* -- 娴姩 --  */
-
-.cf::after,
-.cf::before {
-	content: " ";
-	display: table;
-}
-
-.cf::after {
-	clear: both;
-}
-
-.fl {
-	float: left;
-}
-
-.fr {
-	float: right;
-}
-
-/* ==================
-          鑳屾櫙
- ==================== */
-
-.line-red::after,
-.lines-red::after {
-	border-color: #e54d42;
-}
-
-.line-orange::after,
-.lines-orange::after {
-	border-color: #f37b1d;
-}
-
-.line-yellow::after,
-.lines-yellow::after {
-	border-color: #fbbd08;
-}
-
-.line-olive::after,
-.lines-olive::after {
-	border-color: #8dc63f;
-}
-
-.line-green::after,
-.lines-green::after {
-	border-color: #39b54a;
-}
-
-.line-cyan::after,
-.lines-cyan::after {
-	border-color: #1cbbb4;
-}
-
-.line-blue::after,
-.lines-blue::after {
-	border-color: #0081ff;
-}
-
-.line-purple::after,
-.lines-purple::after {
-	border-color: #6739b6;
-}
-
-.line-mauve::after,
-.lines-mauve::after {
-	border-color: #9c26b0;
-}
-
-.line-pink::after,
-.lines-pink::after {
-	border-color: #e03997;
-}
-
-.line-brown::after,
-.lines-brown::after {
-	border-color: #a5673f;
-}
-
-.line-grey::after,
-.lines-grey::after {
-	border-color: #8799a3;
-}
-
-.line-gray::after,
-.lines-gray::after {
-	border-color: #aaaaaa;
-}
-
-.line-black::after,
-.lines-black::after {
-	border-color: #333333;
-}
-
-.line-white::after,
-.lines-white::after {
-	border-color: #ffffff;
-}
-
-.bg-red {
-	background-color: #e54d42;
-	color: #ffffff;
-}
-
-.bg-orange {
-	background-color: #f37b1d;
-	color: #ffffff;
-}
-
-.bg-yellow {
-	background-color: #fbbd08;
-	color: #333333;
-}
-
-.bg-olive {
-	background-color: #8dc63f;
-	color: #ffffff;
-}
-
-.bg-green {
-	background-color: #39b54a;
-	color: #ffffff;
-}
-
-.bg-cyan {
-	background-color: #1cbbb4;
-	color: #ffffff;
-}
-
-.bg-blue {
-	background-color: #0081ff;
-	color: #ffffff;
-}
-
-.bg-purple {
-	background-color: #6739b6;
-	color: #ffffff;
-}
-
-.bg-mauve {
-	background-color: #9c26b0;
-	color: #ffffff;
-}
-
-.bg-pink {
-	background-color: #e03997;
-	color: #ffffff;
-}
-
-.bg-brown {
-	background-color: #a5673f;
-	color: #ffffff;
-}
-
-.bg-grey {
-	background-color: #8799a3;
-	color: #ffffff;
-}
-
-.bg-gray {
-	background-color: #f0f0f0;
-	color: #333333;
-}
-
-.bg-black {
-	background-color: #333333;
-	color: #ffffff;
-}
-
-.bg-white {
-	background-color: #ffffff;
-	color: #666666;
-}
-
-.bg-shadeTop {
-	background-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.01));
-	color: #ffffff;
-}
-
-.bg-shadeBottom {
-	background-image: linear-gradient(rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 1));
-	color: #ffffff;
-}
-
-.bg-red.light {
-	color: #e54d42;
-	background-color: #fadbd9;
-}
-
-.bg-orange.light {
-	color: #f37b1d;
-	background-color: #fde6d2;
-}
-
-.bg-yellow.light {
-	color: #fbbd08;
-	background-color: #fef2ced2;
-}
-
-.bg-olive.light {
-	color: #8dc63f;
-	background-color: #e8f4d9;
-}
-
-.bg-green.light {
-	color: #39b54a;
-	background-color: #d7f0dbff;
-}
-
-.bg-cyan.light {
-	color: #1cbbb4;
-	background-color: #d2f1f0;
-}
-
-.bg-blue.light {
-	color: #0081ff;
-	background-color: #cce6ff;
-}
-
-.bg-purple.light {
-	color: #6739b6;
-	background-color: #e1d7f0;
-}
-
-.bg-mauve.light {
-	color: #9c26b0;
-	background-color: #ebd4ef;
-}
-
-.bg-pink.light {
-	color: #e03997;
-	background-color: #f9d7ea;
-}
-
-.bg-brown.light {
-	color: #a5673f;
-	background-color: #ede1d9;
-}
-
-.bg-grey.light {
-	color: #8799a3;
-	background-color: #e7ebed;
-}
-
-.bg-gradual-red {
-	background-image: linear-gradient(45deg, #f43f3b, #ec008c);
-	color: #ffffff;
-}
-
-.bg-gradual-orange {
-	background-image: linear-gradient(45deg, #ff9700, #ed1c24);
-	color: #ffffff;
-}
-
-.bg-gradual-green {
-	background-image: linear-gradient(45deg, #39b54a, #8dc63f);
-	color: #ffffff;
-}
-
-.bg-gradual-purple {
-	background-image: linear-gradient(45deg, #9000ff, #5e00ff);
-	color: #ffffff;
-}
-
-.bg-gradual-pink {
-	background-image: linear-gradient(45deg, #ec008c, #6739b6);
-	color: #ffffff;
-}
-
-.bg-gradual-blue {
-	background-image: linear-gradient(45deg, #0081ff, #1cbbb4);
-	color: #ffffff;
-}
-
-.shadow[class*="-red"] {
-	box-shadow: 6upx 6upx 8upx rgba(204, 69, 59, 0.2);
-}
-
-.shadow[class*="-orange"] {
-	box-shadow: 6upx 6upx 8upx rgba(217, 109, 26, 0.2);
-}
-
-.shadow[class*="-yellow"] {
-	box-shadow: 6upx 6upx 8upx rgba(224, 170, 7, 0.2);
-}
-
-.shadow[class*="-olive"] {
-	box-shadow: 6upx 6upx 8upx rgba(124, 173, 55, 0.2);
-}
-
-.shadow[class*="-green"] {
-	box-shadow: 6upx 6upx 8upx rgba(48, 156, 63, 0.2);
-}
-
-.shadow[class*="-cyan"] {
-	box-shadow: 6upx 6upx 8upx rgba(28, 187, 180, 0.2);
-}
-
-.shadow[class*="-blue"] {
-	box-shadow: 6upx 6upx 8upx rgba(0, 102, 204, 0.2);
-}
-
-.shadow[class*="-purple"] {
-	box-shadow: 6upx 6upx 8upx rgba(88, 48, 156, 0.2);
-}
-
-.shadow[class*="-mauve"] {
-	box-shadow: 6upx 6upx 8upx rgba(133, 33, 150, 0.2);
-}
-
-.shadow[class*="-pink"] {
-	box-shadow: 6upx 6upx 8upx rgba(199, 50, 134, 0.2);
-}
-
-.shadow[class*="-brown"] {
-	box-shadow: 6upx 6upx 8upx rgba(140, 88, 53, 0.2);
-}
-
-.shadow[class*="-grey"] {
-	box-shadow: 6upx 6upx 8upx rgba(114, 130, 138, 0.2);
-}
-
-.shadow[class*="-gray"] {
-	box-shadow: 6upx 6upx 8upx rgba(114, 130, 138, 0.2);
-}
-
-.shadow[class*="-black"] {
-	box-shadow: 6upx 6upx 8upx rgba(26, 26, 26, 0.2);
-}
-
-.shadow[class*="-white"] {
-	box-shadow: 6upx 6upx 8upx rgba(26, 26, 26, 0.2);
-}
-
-.text-shadow[class*="-red"] {
-	text-shadow: 6upx 6upx 8upx rgba(204, 69, 59, 0.2);
-}
-
-.text-shadow[class*="-orange"] {
-	text-shadow: 6upx 6upx 8upx rgba(217, 109, 26, 0.2);
-}
-
-.text-shadow[class*="-yellow"] {
-	text-shadow: 6upx 6upx 8upx rgba(224, 170, 7, 0.2);
-}
-
-.text-shadow[class*="-olive"] {
-	text-shadow: 6upx 6upx 8upx rgba(124, 173, 55, 0.2);
-}
-
-.text-shadow[class*="-green"] {
-	text-shadow: 6upx 6upx 8upx rgba(48, 156, 63, 0.2);
-}
-
-.text-shadow[class*="-cyan"] {
-	text-shadow: 6upx 6upx 8upx rgba(28, 187, 180, 0.2);
-}
-
-.text-shadow[class*="-blue"] {
-	text-shadow: 6upx 6upx 8upx rgba(0, 102, 204, 0.2);
-}
-
-.text-shadow[class*="-purple"] {
-	text-shadow: 6upx 6upx 8upx rgba(88, 48, 156, 0.2);
-}
-
-.text-shadow[class*="-mauve"] {
-	text-shadow: 6upx 6upx 8upx rgba(133, 33, 150, 0.2);
-}
-
-.text-shadow[class*="-pink"] {
-	text-shadow: 6upx 6upx 8upx rgba(199, 50, 134, 0.2);
-}
-
-.text-shadow[class*="-brown"] {
-	text-shadow: 6upx 6upx 8upx rgba(140, 88, 53, 0.2);
-}
-
-.text-shadow[class*="-grey"] {
-	text-shadow: 6upx 6upx 8upx rgba(114, 130, 138, 0.2);
-}
-
-.text-shadow[class*="-gray"] {
-	text-shadow: 6upx 6upx 8upx rgba(114, 130, 138, 0.2);
-}
-
-.text-shadow[class*="-black"] {
-	text-shadow: 6upx 6upx 8upx rgba(26, 26, 26, 0.2);
-}
-
-.bg-img {
-	background-size: cover;
-	background-position: center;
-	background-repeat: no-repeat;
-}
-
-.bg-mask {
-	background-color: #333333;
-	position: relative;
-}
-
-.bg-mask::after {
-	content: "";
-	border-radius: inherit;
-	width: 100%;
-	height: 100%;
-	display: block;
-	background-color: rgba(0, 0, 0, 0.4);
-	position: absolute;
-	left: 0;
-	right: 0;
-	bottom: 0;
-	top: 0;
-}
-
-.bg-mask view,
-.bg-mask cover-view {
-	z-index: 5;
-	position: relative;
-}
-
-.bg-video {
-	position: relative;
-}
-
-.bg-video video {
-	display: block;
-	height: 100%;
-	width: 100%;
-	-o-object-fit: cover;
-	object-fit: cover;
-	position: absolute;
-	top: 0;
-	z-index: 0;
-	pointer-events: none;
-}
-
-/* ==================
-          鏂囨湰
- ==================== */
-
-.text-xs {
-	font-size: 20upx;
-}
-
-.text-sm {
-	font-size: 24upx;
-}
-
-.text-df {
-	font-size: 28upx;
-}
-
-.text-lg {
-	font-size: 32upx;
-}
-
-.text-xl {
-	font-size: 36upx;
-}
-
-.text-xxl {
-	font-size: 44upx;
-}
-
-.text-sl {
-	font-size: 80upx;
-}
-
-.text-xsl {
-	font-size: 120upx;
-}
-
-.text-Abc {
-	text-transform: Capitalize;
-}
-
-.text-ABC {
-	text-transform: Uppercase;
-}
-
-.text-abc {
-	text-transform: Lowercase;
-}
-
-.text-price::before {
-	content: "楼";
-	font-size: 80%;
-	margin-right: 4upx;
-}
-
-.text-cut {
-	text-overflow: ellipsis;
-	white-space: nowrap;
-	overflow: hidden;
-}
-
-.text-bold {
-	font-weight: bold;
-}
-
-.text-center {
-	text-align: center;
-}
-
-.text-content {
-	line-height: 1.6;
-}
-
-.text-left {
-	text-align: left;
-}
-
-.text-right {
-	text-align: right;
-}
-
-.text-red,
-.line-red,
-.lines-red {
-	color: #e54d42;
-}
-
-.text-orange,
-.line-orange,
-.lines-orange {
-	color: #f37b1d;
-}
-
-.text-yellow,
-.line-yellow,
-.lines-yellow {
-	color: #fbbd08;
-}
-
-.text-olive,
-.line-olive,
-.lines-olive {
-	color: #8dc63f;
-}
-
-.text-green,
-.line-green,
-.lines-green {
-	color: #39b54a;
-}
-
-.text-cyan,
-.line-cyan,
-.lines-cyan {
-	color: #1cbbb4;
-}
-
-.text-blue,
-.line-blue,
-.lines-blue {
-	color: #0081ff;
-}
-
-.text-purple,
-.line-purple,
-.lines-purple {
-	color: #6739b6;
-}
-
-.text-mauve,
-.line-mauve,
-.lines-mauve {
-	color: #9c26b0;
-}
-
-.text-pink,
-.line-pink,
-.lines-pink {
-	color: #e03997;
-}
-
-.text-brown,
-.line-brown,
-.lines-brown {
-	color: #a5673f;
-}
-
-.text-grey,
-.line-grey,
-.lines-grey {
-	color: #8799a3;
-}
-
-.text-gray,
-.line-gray,
-.lines-gray {
-	color: #aaaaaa;
-}
-
-.text-black,
-.line-black,
-.lines-black {
-	color: #333333;
-}
-
-.text-white,
-.line-white,
-.lines-white {
-	color: #ffffff;
-}
diff --git a/src/static/scss/global.scss b/src/static/scss/global.scss
deleted file mode 100644
index ac636bd..0000000
--- a/src/static/scss/global.scss
+++ /dev/null
@@ -1,90 +0,0 @@
-.text-center {
-	text-align: center;
-}
-
-.font-13 {
-	font-size: 13px;
-}
-
-.font-12 {
-	font-size: 12px;
-}
-
-.font-11 {
-	font-size: 11px;
-}
-
-.text-grey1 {
-	color: #888;
-}
-.text-grey2 {
-	color: #aaa;
-}
-
-.list-cell-arrow::before {
-    content: ' ';
-    height: 10px;
-    width: 10px;
-    border-width: 2px 2px 0 0;
-    border-color: #c0c0c0;
-    border-style: solid;
-    -webkit-transform: matrix(0.5, 0.5, -0.5, 0.5, 0, 0);
-    transform: matrix(0.5, 0.5, -0.5, 0.5, 0, 0);
-    position: absolute;
-    top: 50%;
-    margin-top: -6px;
-    right: 30rpx;
-  }
-  
-  .list-cell {
-    position: relative;
-    width: 100%;
-    box-sizing: border-box;
-    background-color: #fff;
-    color: #333;
-    padding: 26rpx 30rpx;
-  }
-  
-  .list-cell:first-child {
-    border-radius: 8rpx 8rpx 0 0;
-  }
-  
-  .list-cell:last-child {
-    border-radius: 0 0 8rpx 8rpx;
-  }
-  
-  .list-cell::after {
-    content: '';
-    position: absolute;
-    border-bottom: 1px solid #eaeef1;
-    -webkit-transform: scaleY(0.5) translateZ(0);
-    transform: scaleY(0.5) translateZ(0);
-    transform-origin: 0 100%;
-    bottom: 0;
-    right: 0;
-    left: 0;
-    pointer-events: none;
-  }
-  
-  
-  .menu-list {
-    margin: 15px 15px;
-  
-    .menu-item-box {
-      width: 100%;
-      display: flex;
-      align-items: center;
-  
-      .menu-icon {
-        color: #007AFF;
-        font-size: 16px;
-        margin-right: 5px;
-      }
-      
-      .text-right {
-        margin-left: auto;
-        margin-right: 34rpx;
-        color: #999;
-      }
-    }
-  }
diff --git a/src/static/scss/index.scss b/src/static/scss/index.scss
deleted file mode 100644
index 9ec3cd7..0000000
--- a/src/static/scss/index.scss
+++ /dev/null
@@ -1,3 +0,0 @@
-@import "./global.scss";
-@import "@/static/scss/colorui.css";
-@import "@/static/font/iconfont.css";
\ No newline at end of file
diff --git a/src/static/uview/common/favicon.ico b/src/static/uview/common/favicon.ico
deleted file mode 100644
index e0af368..0000000
--- a/src/static/uview/common/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/common/gray-logo.png b/src/static/uview/common/gray-logo.png
deleted file mode 100644
index 21a6994..0000000
--- a/src/static/uview/common/gray-logo.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/common/logo.png b/src/static/uview/common/logo.png
deleted file mode 100644
index bdec732..0000000
--- a/src/static/uview/common/logo.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/actionSheet.png b/src/static/uview/demo/actionSheet.png
deleted file mode 100644
index 87e6884..0000000
--- a/src/static/uview/demo/actionSheet.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/address.png b/src/static/uview/demo/address.png
deleted file mode 100644
index 2054d06..0000000
--- a/src/static/uview/demo/address.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/album.png b/src/static/uview/demo/album.png
deleted file mode 100644
index 35ce89d..0000000
--- a/src/static/uview/demo/album.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/alert.png b/src/static/uview/demo/alert.png
deleted file mode 100644
index c90c334..0000000
--- a/src/static/uview/demo/alert.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/avatar.png b/src/static/uview/demo/avatar.png
deleted file mode 100644
index c076b6d..0000000
--- a/src/static/uview/demo/avatar.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/backTop.png b/src/static/uview/demo/backTop.png
deleted file mode 100644
index c694689..0000000
--- a/src/static/uview/demo/backTop.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/badge.png b/src/static/uview/demo/badge.png
deleted file mode 100644
index 8bf1644..0000000
--- a/src/static/uview/demo/badge.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/button.png b/src/static/uview/demo/button.png
deleted file mode 100644
index abc0ebf..0000000
--- a/src/static/uview/demo/button.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/calendar.png b/src/static/uview/demo/calendar.png
deleted file mode 100644
index a90a2a8..0000000
--- a/src/static/uview/demo/calendar.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/cell.png b/src/static/uview/demo/cell.png
deleted file mode 100644
index 26d0828..0000000
--- a/src/static/uview/demo/cell.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/checkbox.png b/src/static/uview/demo/checkbox.png
deleted file mode 100644
index 95f06c9..0000000
--- a/src/static/uview/demo/checkbox.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/citySelect.png b/src/static/uview/demo/citySelect.png
deleted file mode 100644
index 673387a..0000000
--- a/src/static/uview/demo/citySelect.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/code.png b/src/static/uview/demo/code.png
deleted file mode 100644
index 3ed1373..0000000
--- a/src/static/uview/demo/code.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/collapse.png b/src/static/uview/demo/collapse.png
deleted file mode 100644
index f602ae1..0000000
--- a/src/static/uview/demo/collapse.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/color.png b/src/static/uview/demo/color.png
deleted file mode 100644
index 10d58da..0000000
--- a/src/static/uview/demo/color.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/comment.png b/src/static/uview/demo/comment.png
deleted file mode 100644
index 6ed9f77..0000000
--- a/src/static/uview/demo/comment.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/countDown.png b/src/static/uview/demo/countDown.png
deleted file mode 100644
index 89648fc..0000000
--- a/src/static/uview/demo/countDown.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/countTo.png b/src/static/uview/demo/countTo.png
deleted file mode 100644
index a2ef55a..0000000
--- a/src/static/uview/demo/countTo.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/coupon.png b/src/static/uview/demo/coupon.png
deleted file mode 100644
index 35c47c1..0000000
--- a/src/static/uview/demo/coupon.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/datetimePicker.png b/src/static/uview/demo/datetimePicker.png
deleted file mode 100644
index 625e19e..0000000
--- a/src/static/uview/demo/datetimePicker.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/divider.png b/src/static/uview/demo/divider.png
deleted file mode 100644
index e0a27c0..0000000
--- a/src/static/uview/demo/divider.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/empty.png b/src/static/uview/demo/empty.png
deleted file mode 100644
index e17a475..0000000
--- a/src/static/uview/demo/empty.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/field.png b/src/static/uview/demo/field.png
deleted file mode 100644
index 0738f7c..0000000
--- a/src/static/uview/demo/field.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/form.png b/src/static/uview/demo/form.png
deleted file mode 100644
index 4107566..0000000
--- a/src/static/uview/demo/form.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/gap.png b/src/static/uview/demo/gap.png
deleted file mode 100644
index c350099..0000000
--- a/src/static/uview/demo/gap.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/grid.png b/src/static/uview/demo/grid.png
deleted file mode 100644
index 0ca3ce4..0000000
--- a/src/static/uview/demo/grid.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/icon.png b/src/static/uview/demo/icon.png
deleted file mode 100644
index 664fb09..0000000
--- a/src/static/uview/demo/icon.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/image.png b/src/static/uview/demo/image.png
deleted file mode 100644
index 6d302fa..0000000
--- a/src/static/uview/demo/image.png
+++ /dev/null
Binary files differ
diff --git "a/src/static/uview/demo/indexList \0501\051.png" "b/src/static/uview/demo/indexList \0501\051.png"
deleted file mode 100644
index b653d62..0000000
--- "a/src/static/uview/demo/indexList \0501\051.png"
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/indexList.png b/src/static/uview/demo/indexList.png
deleted file mode 100644
index b653d62..0000000
--- a/src/static/uview/demo/indexList.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/keyboard.png b/src/static/uview/demo/keyboard.png
deleted file mode 100644
index 27d2aaf..0000000
--- a/src/static/uview/demo/keyboard.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/keyboardPay.png b/src/static/uview/demo/keyboardPay.png
deleted file mode 100644
index 019f79f..0000000
--- a/src/static/uview/demo/keyboardPay.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/layout.png b/src/static/uview/demo/layout.png
deleted file mode 100644
index 2e5a34c..0000000
--- a/src/static/uview/demo/layout.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/line.png b/src/static/uview/demo/line.png
deleted file mode 100644
index f4a53e3..0000000
--- a/src/static/uview/demo/line.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/link.png b/src/static/uview/demo/link.png
deleted file mode 100644
index 08611d2..0000000
--- a/src/static/uview/demo/link.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/list.png b/src/static/uview/demo/list.png
deleted file mode 100644
index 7010f10..0000000
--- a/src/static/uview/demo/list.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/loading-page.png b/src/static/uview/demo/loading-page.png
deleted file mode 100644
index 921b4df..0000000
--- a/src/static/uview/demo/loading-page.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/loading.png b/src/static/uview/demo/loading.png
deleted file mode 100644
index 39f5cbb..0000000
--- a/src/static/uview/demo/loading.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/loadmore.png b/src/static/uview/demo/loadmore.png
deleted file mode 100644
index e0c4509..0000000
--- a/src/static/uview/demo/loadmore.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/login.png b/src/static/uview/demo/login.png
deleted file mode 100644
index e9f3415..0000000
--- a/src/static/uview/demo/login.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/mall_menu_1.png b/src/static/uview/demo/mall_menu_1.png
deleted file mode 100644
index 1d40d6e..0000000
--- a/src/static/uview/demo/mall_menu_1.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/mall_menu_2.png b/src/static/uview/demo/mall_menu_2.png
deleted file mode 100644
index 842a3eb..0000000
--- a/src/static/uview/demo/mall_menu_2.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/mask.png b/src/static/uview/demo/mask.png
deleted file mode 100644
index df2d1dd..0000000
--- a/src/static/uview/demo/mask.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/messageInput.png b/src/static/uview/demo/messageInput.png
deleted file mode 100644
index c0ecbb8..0000000
--- a/src/static/uview/demo/messageInput.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/modal.png b/src/static/uview/demo/modal.png
deleted file mode 100644
index ae1a762..0000000
--- a/src/static/uview/demo/modal.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/navbar.png b/src/static/uview/demo/navbar.png
deleted file mode 100644
index c1a05d4..0000000
--- a/src/static/uview/demo/navbar.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/noNetwork.png b/src/static/uview/demo/noNetwork.png
deleted file mode 100644
index a84b865..0000000
--- a/src/static/uview/demo/noNetwork.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/noticeBar.png b/src/static/uview/demo/noticeBar.png
deleted file mode 100644
index 78d4632..0000000
--- a/src/static/uview/demo/noticeBar.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/notify.png b/src/static/uview/demo/notify.png
deleted file mode 100644
index c6c5c9e..0000000
--- a/src/static/uview/demo/notify.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/numberBox.png b/src/static/uview/demo/numberBox.png
deleted file mode 100644
index c26d97d..0000000
--- a/src/static/uview/demo/numberBox.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/order.png b/src/static/uview/demo/order.png
deleted file mode 100644
index e778e6c..0000000
--- a/src/static/uview/demo/order.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/parse.png b/src/static/uview/demo/parse.png
deleted file mode 100644
index 9348761..0000000
--- a/src/static/uview/demo/parse.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/picker.png b/src/static/uview/demo/picker.png
deleted file mode 100644
index a0061fc..0000000
--- a/src/static/uview/demo/picker.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/popup.png b/src/static/uview/demo/popup.png
deleted file mode 100644
index 612935a..0000000
--- a/src/static/uview/demo/popup.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/progress.png b/src/static/uview/demo/progress.png
deleted file mode 100644
index 70ed88a..0000000
--- a/src/static/uview/demo/progress.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/radio.png b/src/static/uview/demo/radio.png
deleted file mode 100644
index a304365..0000000
--- a/src/static/uview/demo/radio.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/rate.png b/src/static/uview/demo/rate.png
deleted file mode 100644
index ce32e88..0000000
--- a/src/static/uview/demo/rate.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/readMore.png b/src/static/uview/demo/readMore.png
deleted file mode 100644
index 94d1909..0000000
--- a/src/static/uview/demo/readMore.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/scrollList.png b/src/static/uview/demo/scrollList.png
deleted file mode 100644
index ae06294..0000000
--- a/src/static/uview/demo/scrollList.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/search.png b/src/static/uview/demo/search.png
deleted file mode 100644
index 47344c1..0000000
--- a/src/static/uview/demo/search.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/skeleton.png b/src/static/uview/demo/skeleton.png
deleted file mode 100644
index bb6327e..0000000
--- a/src/static/uview/demo/skeleton.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/slider.png b/src/static/uview/demo/slider.png
deleted file mode 100644
index 453c896..0000000
--- a/src/static/uview/demo/slider.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/steps.png b/src/static/uview/demo/steps.png
deleted file mode 100644
index 4c75293..0000000
--- a/src/static/uview/demo/steps.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/sticky.png b/src/static/uview/demo/sticky.png
deleted file mode 100644
index 6324098..0000000
--- a/src/static/uview/demo/sticky.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/submitBar.png b/src/static/uview/demo/submitBar.png
deleted file mode 100644
index bc76c4d..0000000
--- a/src/static/uview/demo/submitBar.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/subsection.png b/src/static/uview/demo/subsection.png
deleted file mode 100644
index 1985823..0000000
--- a/src/static/uview/demo/subsection.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/swipeAction.png b/src/static/uview/demo/swipeAction.png
deleted file mode 100644
index cc2b2f7..0000000
--- a/src/static/uview/demo/swipeAction.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/swiper.png b/src/static/uview/demo/swiper.png
deleted file mode 100644
index 12ddeaa..0000000
--- a/src/static/uview/demo/swiper.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/switch.png b/src/static/uview/demo/switch.png
deleted file mode 100644
index c932399..0000000
--- a/src/static/uview/demo/switch.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/tabbar.png b/src/static/uview/demo/tabbar.png
deleted file mode 100644
index 3df6358..0000000
--- a/src/static/uview/demo/tabbar.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/tabs.png b/src/static/uview/demo/tabs.png
deleted file mode 100644
index 594945a..0000000
--- a/src/static/uview/demo/tabs.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/tag.png b/src/static/uview/demo/tag.png
deleted file mode 100644
index edcabdd..0000000
--- a/src/static/uview/demo/tag.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/text.png b/src/static/uview/demo/text.png
deleted file mode 100644
index 15306aa..0000000
--- a/src/static/uview/demo/text.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/textarea.png b/src/static/uview/demo/textarea.png
deleted file mode 100644
index 8a03879..0000000
--- a/src/static/uview/demo/textarea.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/toast.png b/src/static/uview/demo/toast.png
deleted file mode 100644
index 0960439..0000000
--- a/src/static/uview/demo/toast.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/tooltip.png b/src/static/uview/demo/tooltip.png
deleted file mode 100644
index 9a6d544..0000000
--- a/src/static/uview/demo/tooltip.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/transition.png b/src/static/uview/demo/transition.png
deleted file mode 100644
index bfefcad..0000000
--- a/src/static/uview/demo/transition.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/upload.png b/src/static/uview/demo/upload.png
deleted file mode 100644
index 1db9b74..0000000
--- a/src/static/uview/demo/upload.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/demo/wxCenter.png b/src/static/uview/demo/wxCenter.png
deleted file mode 100644
index e7a7433..0000000
--- a/src/static/uview/demo/wxCenter.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/example/component.png b/src/static/uview/example/component.png
deleted file mode 100644
index 9464b23..0000000
--- a/src/static/uview/example/component.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/example/component_select.png b/src/static/uview/example/component_select.png
deleted file mode 100644
index 79efb5b..0000000
--- a/src/static/uview/example/component_select.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/example/js.png b/src/static/uview/example/js.png
deleted file mode 100644
index beb0dc7..0000000
--- a/src/static/uview/example/js.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/example/js_bak.png b/src/static/uview/example/js_bak.png
deleted file mode 100644
index d280e3d..0000000
--- a/src/static/uview/example/js_bak.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/example/js_select.png b/src/static/uview/example/js_select.png
deleted file mode 100644
index e8309a4..0000000
--- a/src/static/uview/example/js_select.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/example/template.png b/src/static/uview/example/template.png
deleted file mode 100644
index ff895b8..0000000
--- a/src/static/uview/example/template.png
+++ /dev/null
Binary files differ
diff --git a/src/static/uview/example/template_select.png b/src/static/uview/example/template_select.png
deleted file mode 100644
index 90d6601..0000000
--- a/src/static/uview/example/template_select.png
+++ /dev/null
Binary files differ
diff --git a/src/store/index.ts b/src/store/index.ts
deleted file mode 100644
index 7f06d64..0000000
--- a/src/store/index.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import { createPinia } from "pinia"
-
-const store = createPinia()
-export default store
\ No newline at end of file
diff --git a/src/store/modules/dict.ts b/src/store/modules/dict.ts
deleted file mode 100644
index 7a97fdf..0000000
--- a/src/store/modules/dict.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import { defineStore } from "pinia";
-const useDictStore = defineStore("dict", {
-  state: () => ({
-    dict: new Array(),
-  }),
-  actions: {
-    // 鑾峰彇瀛楀吀
-    getDict(_key: string) {
-      if (_key == null && _key == "") {
-        return null;
-      }
-      try {
-        for (let i = 0; i < this.dict.length; i++) {
-          if (this.dict[i].key == _key) {
-            return this.dict[i].value;
-          }
-        }
-      } catch (e) {
-        return null;
-      }
-    },
-    // 璁剧疆瀛楀吀
-    setDict(_key: string, value: any) {
-      if (_key !== null && _key !== "") {
-        this.dict.push({
-          key: _key,
-          value: value,
-        });
-      }
-    },
-    // 鍒犻櫎瀛楀吀
-    removeDict(_key: string) {
-      var bln = false;
-      try {
-        for (let i = 0; i < this.dict.length; i++) {
-          if (this.dict[i].key == _key) {
-            this.dict.splice(i, 1);
-            return true;
-          }
-        }
-      } catch (e) {
-        bln = false;
-      }
-      return bln;
-    },
-    // 娓呯┖瀛楀吀
-    cleanDict() {
-      this.dict = new Array();
-    },
-    // 鍒濆瀛楀吀
-    initDict() {},
-  },
-});
-
-export default useDictStore;
diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts
deleted file mode 100644
index b63c5f5..0000000
--- a/src/store/modules/user.ts
+++ /dev/null
@@ -1,88 +0,0 @@
-import { login, logout, getInfo } from "@/api/login";
-import { getToken, setToken, removeToken } from "@/utils/auth";
-import defAva from "@/static/images/profile.jpg";
-import { defineStore } from "pinia";
-
-export interface LoginForm {
-  username: string;
-  password: string;
-  code: string;
-  uuid: string;
-}
-
-const useUserStore = defineStore("user", {
-  state: () => ({
-    token: getToken(),
-    name: "",
-    avatar: "",
-    roles: Array(),
-    permissions: [],
-  }),
-  actions: {
-    // 鐧诲綍
-    login(userInfo: LoginForm) {
-      const username = userInfo.username.trim();
-      const password = userInfo.password;
-      const code = userInfo.code;
-      const uuid = userInfo.uuid;
-      return new Promise((resolve, reject) => {
-        login(username, password, code, uuid)
-          .then((res: any) => {
-            setToken(res.token);
-            this.token = res.token;
-            resolve(null);
-          })
-          .catch((error) => {
-            reject(error);
-          });
-      });
-    },
-    // 鑾峰彇鐢ㄦ埛淇℃伅
-    getInfo() {
-      return new Promise((resolve, reject) => {
-        getInfo()
-          .then((res: any) => {
-            const user = res.user;
-            const avatar =
-              user.avatar == "" || user.avatar == null
-                ? defAva
-                : import.meta.env.VITE_APP_BASE_API + user.avatar;
-
-            if (res.roles && res.roles.length > 0) {
-              // 楠岃瘉杩斿洖鐨剅oles鏄惁鏄竴涓潪绌烘暟缁�
-              this.roles = res.roles;
-              this.permissions = res.permissions;
-            } else {
-              this.roles = ["ROLE_DEFAULT"];
-            }
-            this.name = user.userName;
-            this.avatar = avatar;
-            resolve(res);
-          })
-          .catch((error) => {
-            reject(error);
-          });
-      });
-    },
-    // 閫�鍑虹郴缁�
-    logOut() {
-      return new Promise<null>((resolve, reject) => {
-        logout()
-          .then(() => {
-            this.token = "";
-            this.roles = [];
-            this.permissions = [];
-            this.name = "";
-            this.avatar = "";
-            removeToken();
-            resolve(null);
-          })
-          .catch((error) => {
-            reject(error);
-          });
-      });
-    },
-  },
-});
-
-export default useUserStore;
diff --git a/src/types/request.ts b/src/types/request.ts
deleted file mode 100644
index 3396bbb..0000000
--- a/src/types/request.ts
+++ /dev/null
@@ -1,46 +0,0 @@
-interface BaseRequestConfig {
-    headers?: {
-        /** 鏄惁鍦ㄨ姹傚ご涓坊鍔爐oken 榛樿鏄� */
-        isToken: boolean
-    },
-    /** 璇锋眰澶撮厤缃� */
-    header?: any,
-    /** 鎺ュ彛璺緞 */
-    url: string,
-    /** 璇锋眰鍙傛暟 */
-    params?: any,
-    /** 瓒呮椂浜嬩欢 */
-    timeout?: number | undefined,
-}
-export interface RequestConfig extends BaseRequestConfig {
-    /** 璇锋眰鏂瑰紡 */
-    method?: "OPTIONS" | "GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "TRACE" | "CONNECT" | undefined
-    /** 閲嶆柊璁剧疆baseUrl */
-    baseUrl?: string,
-    /** 璇锋眰浣撳弬鏁� */
-    data?: any
-}
-
-export interface RequestUploadConfig extends BaseRequestConfig {
-    /** 鏂囦欢璺緞 */
-    filePath: string,
-    /** 鏂囦欢瀵瑰簲鍙橀噺鍚� 榛樿file */
-    name?: string,
-    /** 鍏朵粬琛ㄥ崟鍙傛暟 */
-    formData: any
-}
-
-export interface ResponseData<T> {
-    /** 鍝嶅簲鐮� */
-    code: number,
-    /** 鍝嶅簲鏁版嵁 */
-    data: any,
-    /** 鍝嶅簲淇℃伅 */
-    msg: string
-    /** 鍥剧墖璺緞 */
-    imgUrl: string,
-    /** 鏁版嵁鎬绘暟 */
-    total:number,
-    /** 琛ㄦ牸鏁版嵁 */
-    rows:Array<T>,
-}
diff --git a/src/uni.scss b/src/uni.scss
deleted file mode 100644
index d23fbb2..0000000
--- a/src/uni.scss
+++ /dev/null
@@ -1,67 +0,0 @@
-/**
- * uni-app鍐呯疆鐨勫父鐢ㄦ牱寮忓彉閲�
- */
-
-/* 琛屼负鐩稿叧棰滆壊 */
-$uni-color-primary: #007aff;
-$uni-color-success: #4cd964;
-$uni-color-warning: #f0ad4e;
-$uni-color-error: #dd524d;
-
-/* 鏂囧瓧鍩烘湰棰滆壊 */
-$uni-text-color:#333;//鍩烘湰鑹�
-$uni-text-color-inverse:#fff;//鍙嶈壊
-$uni-text-color-grey:#999;//杈呭姪鐏拌壊锛屽鍔犺浇鏇村鐨勬彁绀轰俊鎭�
-$uni-text-color-placeholder: #808080;
-$uni-text-color-disable:#c0c0c0;
-
-/* 鑳屾櫙棰滆壊 */
-$uni-bg-color:#ffffff;
-$uni-bg-color-grey:#f8f8f8;
-$uni-bg-color-hover:#f1f1f1;//鐐瑰嚮鐘舵�侀鑹�
-$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//閬僵棰滆壊
-
-/* 杈规棰滆壊 */
-$uni-border-color:#e5e5e5;
-
-/* 灏哄鍙橀噺 */
-
-/* 鏂囧瓧灏哄 */
-$uni-font-size-sm:12px;
-$uni-font-size-base:14px;
-$uni-font-size-lg:16px;
-
-/* 鍥剧墖灏哄 */
-$uni-img-size-sm:20px;
-$uni-img-size-base:26px;
-$uni-img-size-lg:40px;
-
-/* Border Radius */
-$uni-border-radius-sm: 2px;
-$uni-border-radius-base: 3px;
-$uni-border-radius-lg: 6px;
-$uni-border-radius-circle: 50%;
-
-/* 姘村钩闂磋窛 */
-$uni-spacing-row-sm: 5px;
-$uni-spacing-row-base: 10px;
-$uni-spacing-row-lg: 15px;
-
-/* 鍨傜洿闂磋窛 */
-$uni-spacing-col-sm: 4px;
-$uni-spacing-col-base: 8px;
-$uni-spacing-col-lg: 12px;
-
-/* 閫忔槑搴� */
-$uni-opacity-disabled: 0.3; // 缁勪欢绂佺敤鎬佺殑閫忔槑搴�
-
-/* 鏂囩珷鍦烘櫙鐩稿叧 */
-$uni-color-title: #2C405A; // 鏂囩珷鏍囬棰滆壊
-$uni-font-size-title:20px;
-$uni-color-subtitle: #555555; // 浜岀骇鏍囬棰滆壊
-$uni-font-size-subtitle:26px;
-$uni-color-paragraph: #3F536E; // 鏂囩珷娈佃惤棰滆壊
-$uni-font-size-paragraph:15px;
-
-
-@import 'uview-plus/theme.scss';
\ No newline at end of file
diff --git a/src/uni_modules/uni-badge/changelog.md b/src/uni_modules/uni-badge/changelog.md
deleted file mode 100644
index 56581c4..0000000
--- a/src/uni_modules/uni-badge/changelog.md
+++ /dev/null
@@ -1,31 +0,0 @@
-## 1.2.1锛�2022-09-05锛�
-- 淇 褰� text 瓒呰繃 max-num 鏃讹紝badge 鐨勫搴﹁绠楁槸鏍规嵁 text 鐨勯暱搴﹁绠楋紝鏇存敼涓� css 璁$畻瀹為檯灞曠ず瀹藉害锛岃瑙�:[https://ask.dcloud.net.cn/question/150473](https://ask.dcloud.net.cn/question/150473)
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-badge](https://uniapp.dcloud.io/component/uniui/uni-badge)
-## 1.1.7锛�2021-11-08锛�
-- 浼樺寲 鍗囩骇ui
-- 淇敼 size 灞炴�ч粯璁ゅ�艰皟鏁翠负 small
-- 淇敼 type 灞炴�э紝榛樿鍊艰皟鏁翠负 error锛宨nfo 鏇挎崲 default
-## 1.1.6锛�2021-09-22锛�
-- 淇 鍦ㄥ瓧鑺傚皬绋嬪簭涓婃牱寮忎笉鐢熸晥鐨� bug
-## 1.1.5锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.1.4锛�2021-07-29锛�
-- 淇 鍘绘帀 nvue 涓嶆敮鎸乧ss 鐨� align-self 灞炴�э紝nvue 涓嬩笉鏆傛敮鎸� absolute 灞炴��
-## 1.1.3锛�2021-06-24锛�
-- 浼樺寲 绀轰緥椤圭洰
-## 1.1.1锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.1.0锛�2021-05-12锛�
-- 鏂板 uni-badge 鐨� absolute 灞炴�э紝鏀寔瀹氫綅
-- 鏂板 uni-badge 鐨� offset 灞炴�э紝鏀寔瀹氫綅鍋忕Щ
-- 鏂板 uni-badge 鐨� is-dot 灞炴�э紝鏀寔浠呮樉绀烘湁涓�涓皬鐐�
-- 鏂板 uni-badge 鐨� max-num 灞炴�э紝鏀寔鑷畾涔夊皝椤剁殑鏁板瓧鍊硷紝瓒呰繃 99 鏄剧ず99+
-- 浼樺寲 uni-badge 灞炴�� custom-style锛� 鏀寔浠ュ璞″舰寮忚嚜瀹氫箟鏍峰紡
-## 1.0.7锛�2021-05-07锛�
-- 淇 uni-badge 鍦� App 绔紝鏁板瓧灏忎簬10鏃朵笉鏄渾褰㈢殑bug
-- 淇 uni-badge 鍦ㄧ埗鍏冪礌涓嶆槸 flex 甯冨眬鏃讹紝瀹藉害缂╁皬鐨刡ug
-- 鏂板 uni-badge 灞炴�� custom-style锛� 鏀寔鑷畾涔夋牱寮�
-## 1.0.6锛�2021-02-04锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-badge/components/uni-badge/uni-badge.vue b/src/uni_modules/uni-badge/components/uni-badge/uni-badge.vue
deleted file mode 100644
index 498bb1c..0000000
--- a/src/uni_modules/uni-badge/components/uni-badge/uni-badge.vue
+++ /dev/null
@@ -1,268 +0,0 @@
-<template>
-	<view class="uni-badge--x">
-		<slot />
-		<text v-if="text" :class="classNames" :style="[positionStyle, customStyle, dotStyle]"
-			class="uni-badge" @click="onClick()">{{displayValue}}</text>
-	</view>
-</template>
-
-<script>
-	/**
-	 * Badge 鏁板瓧瑙掓爣
-	 * @description 鏁板瓧瑙掓爣涓�鑸拰鍏跺畠鎺т欢锛堝垪琛ㄣ��9瀹牸绛夛級閰嶅悎浣跨敤锛岀敤浜庤繘琛屾暟閲忔彁绀猴紝榛樿涓哄疄蹇冪伆鑹茶儗鏅�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=21
-	 * @property {String} text 瑙掓爣鍐呭
-	 * @property {String} size = [normal|small] 瑙掓爣鍐呭
-	 * @property {String} type = [info|primary|success|warning|error] 棰滆壊绫诲瀷
-	 * 	@value info 鐏拌壊
-	 * 	@value primary 钃濊壊
-	 * 	@value success 缁胯壊
-	 * 	@value warning 榛勮壊
-	 * 	@value error 绾㈣壊
-	 * @property {String} inverted = [true|false] 鏄惁鏃犻渶鑳屾櫙棰滆壊
-	 * @property {Number} maxNum 灞曠ず灏侀《鐨勬暟瀛楀�硷紝瓒呰繃 99 鏄剧ず 99+
-	 * @property {String} absolute = [rightTop|rightBottom|leftBottom|leftTop] 寮�鍚粷瀵瑰畾浣�, 瑙掓爣灏嗗畾浣嶅埌鍏跺寘瑁圭殑鏍囩鐨勫洓瑙掍笂		
-	 * 	@value rightTop 鍙充笂
-	 * 	@value rightBottom 鍙充笅
-	 * 	@value leftTop 宸︿笂
-	 * 	@value leftBottom 宸︿笅
-	 * @property {Array[number]} offset	璺濆畾浣嶈涓績鐐圭殑鍋忕Щ閲忥紝鍙湁瀛樺湪 absolute 灞炴�ф椂鏈夋晥锛屼緥濡傦細[-10, -10] 琛ㄧず鍚戝鍋忕Щ 10px锛孾10, 10] 琛ㄧず鍚� absolute 鎸囧畾鐨勫唴鍋忕Щ 10px
-	 * @property {String} isDot = [true|false] 鏄惁鏄剧ず涓轰竴涓皬鐐�
-	 * @event {Function} click 鐐瑰嚮 Badge 瑙﹀彂浜嬩欢
-	 * @example <uni-badge text="1"></uni-badge>
-	 */
-
-	export default {
-		name: 'UniBadge',
-		emits: ['click'],
-		props: {
-			type: {
-				type: String,
-				default: 'error'
-			},
-			inverted: {
-				type: Boolean,
-				default: false
-			},
-			isDot: {
-				type: Boolean,
-				default: false
-			},
-			maxNum: {
-				type: Number,
-				default: 99
-			},
-			absolute: {
-				type: String,
-				default: ''
-			},
-			offset: {
-				type: Array,
-				default () {
-					return [0, 0]
-				}
-			},
-			text: {
-				type: [String, Number],
-				default: ''
-			},
-			size: {
-				type: String,
-				default: 'small'
-			},
-			customStyle: {
-				type: Object,
-				default () {
-					return {}
-				}
-			}
-		},
-		data() {
-			return {};
-		},
-		computed: {
-			width() {
-				return String(this.text).length * 8 + 12
-			},
-			classNames() {
-				const {
-					inverted,
-					type,
-					size,
-					absolute
-				} = this
-				return [
-					inverted ? 'uni-badge--' + type + '-inverted' : '',
-					'uni-badge--' + type,
-					'uni-badge--' + size,
-					absolute ? 'uni-badge--absolute' : ''
-				].join(' ')
-			},
-			positionStyle() {
-				if (!this.absolute) return {}
-				let w = this.width / 2,
-					h = 10
-				if (this.isDot) {
-					w = 5
-					h = 5
-				}
-				const x = `${- w  + this.offset[0]}px`
-				const y = `${- h + this.offset[1]}px`
-
-				const whiteList = {
-					rightTop: {
-						right: x,
-						top: y
-					},
-					rightBottom: {
-						right: x,
-						bottom: y
-					},
-					leftBottom: {
-						left: x,
-						bottom: y
-					},
-					leftTop: {
-						left: x,
-						top: y
-					}
-				}
-				const match = whiteList[this.absolute]
-				return match ? match : whiteList['rightTop']
-			},
-			dotStyle() {
-				if (!this.isDot) return {}
-				return {
-					width: '10px',
-					minWidth: '0',
-					height: '10px',
-					padding: '0',
-					borderRadius: '10px'
-				}
-			},
-			displayValue() {
-				const {
-					isDot,
-					text,
-					maxNum
-				} = this
-				return isDot ? '' : (Number(text) > maxNum ? `${maxNum}+` : text)
-			}
-		},
-		methods: {
-			onClick() {
-				this.$emit('click');
-			}
-		}
-	};
-</script>
-
-<style lang="scss" >
-	$uni-primary: #2979ff !default;
-	$uni-success: #4cd964 !default;
-	$uni-warning: #f0ad4e !default;
-	$uni-error: #dd524d !default;
-	$uni-info: #909399 !default;
-
-
-	$bage-size: 12px;
-	$bage-small: scale(0.8);
-
-	.uni-badge--x {
-		/* #ifdef APP-NVUE */
-		// align-self: flex-start;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		display: inline-block;
-		/* #endif */
-		position: relative;
-	}
-
-	.uni-badge--absolute {
-		position: absolute;
-	}
-
-	.uni-badge--small {
-		transform: $bage-small;
-		transform-origin: center center;
-	}
-
-	.uni-badge {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		overflow: hidden;
-		box-sizing: border-box;
-		/* #endif */
-		justify-content: center;
-		flex-direction: row;
-		height: 20px;
-		min-width: 20px;
-		padding: 0 4px;
-		line-height: 18px;
-		color: #fff;
-		border-radius: 100px;
-		background-color: $uni-info;
-		background-color: transparent;
-		border: 1px solid #fff;
-		text-align: center;
-		font-family: 'Helvetica Neue', Helvetica, sans-serif;
-		font-feature-settings: "tnum";
-		font-size: $bage-size;
-		/* #ifdef H5 */
-		z-index: 999;
-		cursor: pointer;
-		/* #endif */
-
-		&--info {
-			color: #fff;
-			background-color: $uni-info;
-		}
-
-		&--primary {
-			background-color: $uni-primary;
-		}
-
-		&--success {
-			background-color: $uni-success;
-		}
-
-		&--warning {
-			background-color: $uni-warning;
-		}
-
-		&--error {
-			background-color: $uni-error;
-		}
-
-		&--inverted {
-			padding: 0 5px 0 0;
-			color: $uni-info;
-		}
-
-		&--info-inverted {
-			color: $uni-info;
-			background-color: transparent;
-		}
-
-		&--primary-inverted {
-			color: $uni-primary;
-			background-color: transparent;
-		}
-
-		&--success-inverted {
-			color: $uni-success;
-			background-color: transparent;
-		}
-
-		&--warning-inverted {
-			color: $uni-warning;
-			background-color: transparent;
-		}
-
-		&--error-inverted {
-			color: $uni-error;
-			background-color: transparent;
-		}
-
-	}
-</style>
diff --git a/src/uni_modules/uni-badge/package.json b/src/uni_modules/uni-badge/package.json
deleted file mode 100644
index 7a34d9c..0000000
--- a/src/uni_modules/uni-badge/package.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
-  "id": "uni-badge",
-  "displayName": "uni-badge 鏁板瓧瑙掓爣",
-  "version": "1.2.1",
-  "description": "鏁板瓧瑙掓爣锛堝窘绔狅級缁勪欢锛屽湪鍏冪礌鍛ㄥ洿灞曠ず娑堟伅鎻愰啋锛屼竴鑸敤浜庡垪琛ㄣ�佷節瀹牸銆佹寜閽瓑鍦版柟銆�",
-  "keywords": [
-    "",
-    "badge",
-    "uni-ui",
-    "uniui",
-    "鏁板瓧瑙掓爣",
-    "寰界珷"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "y",
-          "鑱旂洘": "y"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-badge/readme.md b/src/uni_modules/uni-badge/readme.md
deleted file mode 100644
index bdf175d..0000000
--- a/src/uni_modules/uni-badge/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## Badge 鏁板瓧瑙掓爣
-> **缁勪欢鍚嶏細uni-badge**
-> 浠g爜鍧楋細 `uBadge`
-
-鏁板瓧瑙掓爣涓�鑸拰鍏跺畠鎺т欢锛堝垪琛ㄣ��9瀹牸绛夛級閰嶅悎浣跨敤锛岀敤浜庤繘琛屾暟閲忔彁绀猴紝榛樿涓哄疄蹇冪伆鑹茶儗鏅紝
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-badge)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
-
-
diff --git a/src/uni_modules/uni-breadcrumb/changelog.md b/src/uni_modules/uni-breadcrumb/changelog.md
deleted file mode 100644
index 016e6ce..0000000
--- a/src/uni_modules/uni-breadcrumb/changelog.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## 0.1.2锛�2022-06-08锛�
-- 淇 寰俊灏忕▼搴� separator 涓嶆樉绀洪棶棰�
-## 0.1.1锛�2022-06-02锛�
-- 鏂板 鏀寔 uni.scss 淇敼棰滆壊
-## 0.1.0锛�2022-04-21锛�
-- 鍒濆鍖�
diff --git a/src/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue b/src/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue
deleted file mode 100644
index b9edbd6..0000000
--- a/src/uni_modules/uni-breadcrumb/components/uni-breadcrumb-item/uni-breadcrumb-item.vue
+++ /dev/null
@@ -1,121 +0,0 @@
-<template>
-	<view class="uni-breadcrumb-item">
-		<view :class="{
-			'uni-breadcrumb-item--slot': true,
-			'uni-breadcrumb-item--slot-link': to && currentPage !== to
-			}" @click="navTo">
-			<slot />
-		</view>
-		<i v-if="separatorClass" class="uni-breadcrumb-item--separator" :class="separatorClass" />
-		<text v-else class="uni-breadcrumb-item--separator">{{ separator }}</text>
-	</view>
-</template>
-<script>
-	/**
-	 * BreadcrumbItem 闈㈠寘灞戝鑸瓙缁勪欢
-	 * @property {String/Object} to 璺敱璺宠浆椤甸潰璺緞/瀵硅薄
-	 * @property {Boolean} replace 鍦ㄤ娇鐢� to 杩涜璺敱璺宠浆鏃讹紝鍚敤 replace 灏嗕笉浼氬悜 history 娣诲姞鏂拌褰�(浠� h5 鏀寔锛�
-	 */
-	export default {
-		data() {
-			return {
-				currentPage: ""
-			}
-		},
-		options: {
-			virtualHost: true
-		},
-		props: {
-			to: {
-				type: String,
-				default: ''
-			},
-			replace:{
-				type: Boolean,
-				default: false
-			}
-		},
-		inject: {
-			uniBreadcrumb: {
-				from: "uniBreadcrumb",
-				default: null
-			}
-		},
-		created(){
-			const pages = getCurrentPages()
-			const page = pages[pages.length-1]
-
-			if(page){
-				this.currentPage = `/${page.route}`
-			}
-		},
-		computed: {
-			separator() {
-				return this.uniBreadcrumb.separator
-			},
-			separatorClass() {
-				return this.uniBreadcrumb.separatorClass
-			}
-		},
-		methods: {
-			navTo() {
-				const { to } = this
-
-				if (!to || this.currentPage === to){
-					return
-				}
-
-				if(this.replace){
-					uni.redirectTo({
-						url:to
-					})
-				}else{
-					uni.navigateTo({
-						url:to
-					})
-				}
-			}
-		}
-	}
-</script>
-<style lang="scss">
-	$uni-primary: #2979ff !default;
-	$uni-base-color: #6a6a6a !default;
-	$uni-main-color: #3a3a3a !default;
-	.uni-breadcrumb-item {
-		display: flex;
-		align-items: center;
-		white-space: nowrap;
-		font-size: 14px;
-
-		&--slot {
-			color: $uni-base-color;
-			padding: 0 10px;
-
-			&-link {
-				color: $uni-main-color;
-				font-weight: bold;
-				/* #ifndef APP-NVUE */
-				cursor: pointer;
-				/* #endif */
-
-				&:hover {
-					color: $uni-primary;
-				}
-			}
-		}
-
-		&--separator {
-			font-size: 12px;
-			color: $uni-base-color;
-		}
-
-		&:first-child &--slot {
-			padding-left: 0;
-		}
-		
-		&:last-child &--separator {
-			display: none;
-		}
-	}
-</style>
diff --git a/src/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue b/src/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue
deleted file mode 100644
index 94493a2..0000000
--- a/src/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue
+++ /dev/null
@@ -1,41 +0,0 @@
-<template>
-	<view class="uni-breadcrumb">
-		<slot />
-	</view>
-</template>
-<script>
-	/**
-	 * Breadcrumb 闈㈠寘灞戝鑸埗缁勪欢
-	 * @description 鏄剧ず褰撳墠椤甸潰鐨勮矾寰勶紝蹇�熻繑鍥炰箣鍓嶇殑浠绘剰椤甸潰
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=xxx
-	 * @property {String} separator 鍒嗛殧绗︼紝榛樿涓烘枩鏉�'/'
-	 * @property {String} separatorClass 鍥炬爣鍒嗛殧绗� class
-	 */
-	export default {
-		options: {
-			virtualHost: true
-		},
-		props: {
-			separator: {
-				type: String,
-				default: '/'
-			},
-			separatorClass: {
-				type: String,
-				default: ''
-			}
-		},
-
-		provide() {
-			return {
-				uniBreadcrumb: this
-			}
-		}
-
-	}
-</script>
-<style lang="scss">
-	.uni-breadcrumb {
-		display: flex;
-	}
-</style>
diff --git a/src/uni_modules/uni-breadcrumb/package.json b/src/uni_modules/uni-breadcrumb/package.json
deleted file mode 100644
index 0a04e50..0000000
--- a/src/uni_modules/uni-breadcrumb/package.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
-  "id": "uni-breadcrumb",
-  "displayName": "uni-breadcrumb 闈㈠寘灞�",
-  "version": "0.1.2",
-  "description": "Breadcrumb  闈㈠寘灞�",
-  "keywords": [
-    "uni-breadcrumb",
-    "breadcrumb",
-    "uni-ui",
-    "闈㈠寘灞戝鑸�",
-    "闈㈠寘灞�"
-],
-  "repository": "",
-  "engines": {
-    "HBuilderX": "^3.1.0"
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-        "鍓嶇缁勪欢",
-        "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": ""
-  },
-  "uni_modules": {
-    "dependencies": [],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "Vue": {
-          "vue2": "y",
-          "vue3": "y"
-        },
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "n"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "u",
-          "鐧惧害": "u",
-          "瀛楄妭璺冲姩": "u",
-        "QQ": "u",
-        "浜笢": "u"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-breadcrumb/readme.md b/src/uni_modules/uni-breadcrumb/readme.md
deleted file mode 100644
index 6976b8d..0000000
--- a/src/uni_modules/uni-breadcrumb/readme.md
+++ /dev/null
@@ -1,66 +0,0 @@
-
-## breadcrumb 闈㈠寘灞戝鑸�
-> **缁勪欢鍚嶏細uni-breadcrumb**
-> 浠g爜鍧楋細 `ubreadcrumb`
-
-鏄剧ず褰撳墠椤甸潰鐨勮矾寰勶紝蹇�熻繑鍥炰箣鍓嶇殑浠绘剰椤甸潰銆�
-
-### 瀹夎鏂瑰紡
-
-鏈粍浠剁鍚圼easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)瑙勮寖锛宍HBuilderX 2.5.5`璧凤紝鍙渶灏嗘湰缁勪欢瀵煎叆椤圭洰锛屽湪椤甸潰`template`涓嵆鍙洿鎺ヤ娇鐢紝鏃犻渶鍦ㄩ〉闈腑`import`鍜屾敞鍐宍components`銆�
-
-濡傞渶閫氳繃`npm`鏂瑰紡浣跨敤`uni-ui`缁勪欢锛屽彟瑙佹枃妗o細[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55)
-
-### 鍩烘湰鐢ㄦ硶
-
-鍦� ``template`` 涓娇鐢ㄧ粍浠�
-
-```html
-<uni-breadcrumb separator="/">
-	<uni-breadcrumb-item v-for="(route,index) in routes" :key="index" :to="route.to">{{route.name}}</uni-breadcrumb-item>
-</uni-breadcrumb>
-```
-
-```js
-export default {
-		name: "uni-stat-breadcrumb",
-		data() {
-			return {
-				routes: [{
-					to: '/A',
-					name: 'A椤甸潰'
-				}, {
-					to: '/B',
-					name: 'B椤甸潰'
-				}, {
-					to: '/C',
-					name: 'C椤甸潰'
-				}]
-			};
-		}
-	}
-```
-
-
-## API
-
-### Breadcrumb Props
-
-|灞炴�у悕			|绫诲瀷	|榛樿鍊�	|璇存槑				|
-|:-:			|:-:	|:-:	|:-:				|
-|separator		|String	|鏂滄潬'/' |鍒嗛殧绗�				|
-|separatorClass	|String	|		|鍥炬爣鍒嗛殧绗� class	    |
-
-### Breadcrumb Item Props
-
-|灞炴�у悕	|绫诲瀷			|榛樿鍊�	|璇存槑																			|
-|:-:	|:-:			|:-:	|:-:																			|
-|to		|String     	|		|璺敱璺宠浆椤甸潰璺緞           														|
-|replace|Boolean		|		|鍦ㄤ娇鐢� to 杩涜璺敱璺宠浆鏃讹紝鍚敤 replace 灏嗕笉浼氬悜 history 娣诲姞鏂拌褰�(浠� h5 鏀寔锛�         |
-
-
-
-
-## 缁勪欢绀轰緥
-
-鐐瑰嚮鏌ョ湅锛歔https://hellouniapp.dcloud.net.cn/pages/extUI/breadcrumb/breadcrumb](https://hellouniapp.dcloud.net.cn/pages/extUI/breadcrumb/breadcrumb)
\ No newline at end of file
diff --git a/src/uni_modules/uni-calendar/changelog.md b/src/uni_modules/uni-calendar/changelog.md
deleted file mode 100644
index 0160b69..0000000
--- a/src/uni_modules/uni-calendar/changelog.md
+++ /dev/null
@@ -1,20 +0,0 @@
-## 1.4.7锛�2022-09-16锛�
-- 鍙互浣跨敤 uni-scss 鎺у埗涓婚鑹�
-## 1.4.6锛�2022-09-08锛�
-- fix: 琛ㄥご骞存湀鍒囨崲锛屽鑷存敼鍙樺綋鍓嶆棩鏈熶负閫夋嫨鏈�1鍙凤紝涓旀湭瑙﹀彂change浜嬩欢
-## 1.4.5锛�2022-02-25锛�
-- 淇 鏉′欢缂栬瘧 nvue 涓嶆敮鎸佺殑 css 鏍峰紡
-## 1.4.4锛�2022-02-25锛�
-- 淇 鏉′欢缂栬瘧 nvue 涓嶆敮鎸佺殑 css 鏍峰紡
-## 1.4.3锛�2021-09-22锛�
-- 淇 startDate銆� endDate 灞炴�уけ鏁堢殑 bug
-## 1.4.2锛�2021-08-24锛�
-- 鏂板 鏀寔鍥介檯鍖�
-## 1.4.1锛�2021-08-05锛�
-- 淇 寮瑰嚭灞傝 tabbar 閬洊 bug
-## 1.4.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.3.16锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.3.15锛�2021-02-04锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖 
diff --git a/src/uni_modules/uni-calendar/components/uni-calendar/calendar.js b/src/uni_modules/uni-calendar/components/uni-calendar/calendar.js
deleted file mode 100644
index b8d7d6f..0000000
--- a/src/uni_modules/uni-calendar/components/uni-calendar/calendar.js
+++ /dev/null
@@ -1,546 +0,0 @@
-/**
-* @1900-2100鍖洪棿鍐呯殑鍏巻銆佸啘鍘嗕簰杞�
-* @charset UTF-8
-* @github  https://github.com/jjonline/calendar.js
-* @Author  Jea鏉�(JJonline@JJonline.Cn)
-* @Time    2014-7-21
-* @Time    2016-8-13 Fixed 2033hex銆丄ttribution Annals
-* @Time    2016-9-25 Fixed lunar LeapMonth Param Bug
-* @Time    2017-7-24 Fixed use getTerm Func Param Error.use solar year,NOT lunar year
-* @Version 1.0.3
-* @鍏巻杞啘鍘嗭細calendar.solar2lunar(1987,11,01); //[you can ignore params of prefix 0]
-* @鍐滃巻杞叕鍘嗭細calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0]
-*/
-/* eslint-disable */
-var calendar = {
-
-  /**
-      * 鍐滃巻1900-2100鐨勬鼎澶у皬淇℃伅琛�
-      * @Array Of Property
-      * @return Hex
-      */
-  lunarInfo: [0x04bd8, 0x04ae0, 0x0a570, 0x054d5, 0x0d260, 0x0d950, 0x16554, 0x056a0, 0x09ad0, 0x055d2, // 1900-1909
-    0x04ae0, 0x0a5b6, 0x0a4d0, 0x0d250, 0x1d255, 0x0b540, 0x0d6a0, 0x0ada2, 0x095b0, 0x14977, // 1910-1919
-    0x04970, 0x0a4b0, 0x0b4b5, 0x06a50, 0x06d40, 0x1ab54, 0x02b60, 0x09570, 0x052f2, 0x04970, // 1920-1929
-    0x06566, 0x0d4a0, 0x0ea50, 0x06e95, 0x05ad0, 0x02b60, 0x186e3, 0x092e0, 0x1c8d7, 0x0c950, // 1930-1939
-    0x0d4a0, 0x1d8a6, 0x0b550, 0x056a0, 0x1a5b4, 0x025d0, 0x092d0, 0x0d2b2, 0x0a950, 0x0b557, // 1940-1949
-    0x06ca0, 0x0b550, 0x15355, 0x04da0, 0x0a5b0, 0x14573, 0x052b0, 0x0a9a8, 0x0e950, 0x06aa0, // 1950-1959
-    0x0aea6, 0x0ab50, 0x04b60, 0x0aae4, 0x0a570, 0x05260, 0x0f263, 0x0d950, 0x05b57, 0x056a0, // 1960-1969
-    0x096d0, 0x04dd5, 0x04ad0, 0x0a4d0, 0x0d4d4, 0x0d250, 0x0d558, 0x0b540, 0x0b6a0, 0x195a6, // 1970-1979
-    0x095b0, 0x049b0, 0x0a974, 0x0a4b0, 0x0b27a, 0x06a50, 0x06d40, 0x0af46, 0x0ab60, 0x09570, // 1980-1989
-    0x04af5, 0x04970, 0x064b0, 0x074a3, 0x0ea50, 0x06b58, 0x05ac0, 0x0ab60, 0x096d5, 0x092e0, // 1990-1999
-    0x0c960, 0x0d954, 0x0d4a0, 0x0da50, 0x07552, 0x056a0, 0x0abb7, 0x025d0, 0x092d0, 0x0cab5, // 2000-2009
-    0x0a950, 0x0b4a0, 0x0baa4, 0x0ad50, 0x055d9, 0x04ba0, 0x0a5b0, 0x15176, 0x052b0, 0x0a930, // 2010-2019
-    0x07954, 0x06aa0, 0x0ad50, 0x05b52, 0x04b60, 0x0a6e6, 0x0a4e0, 0x0d260, 0x0ea65, 0x0d530, // 2020-2029
-    0x05aa0, 0x076a3, 0x096d0, 0x04afb, 0x04ad0, 0x0a4d0, 0x1d0b6, 0x0d250, 0x0d520, 0x0dd45, // 2030-2039
-    0x0b5a0, 0x056d0, 0x055b2, 0x049b0, 0x0a577, 0x0a4b0, 0x0aa50, 0x1b255, 0x06d20, 0x0ada0, // 2040-2049
-    /** Add By JJonline@JJonline.Cn**/
-    0x14b63, 0x09370, 0x049f8, 0x04970, 0x064b0, 0x168a6, 0x0ea50, 0x06b20, 0x1a6c4, 0x0aae0, // 2050-2059
-    0x0a2e0, 0x0d2e3, 0x0c960, 0x0d557, 0x0d4a0, 0x0da50, 0x05d55, 0x056a0, 0x0a6d0, 0x055d4, // 2060-2069
-    0x052d0, 0x0a9b8, 0x0a950, 0x0b4a0, 0x0b6a6, 0x0ad50, 0x055a0, 0x0aba4, 0x0a5b0, 0x052b0, // 2070-2079
-    0x0b273, 0x06930, 0x07337, 0x06aa0, 0x0ad50, 0x14b55, 0x04b60, 0x0a570, 0x054e4, 0x0d160, // 2080-2089
-    0x0e968, 0x0d520, 0x0daa0, 0x16aa6, 0x056d0, 0x04ae0, 0x0a9d4, 0x0a2d0, 0x0d150, 0x0f252, // 2090-2099
-    0x0d520], // 2100
-
-  /**
-      * 鍏巻姣忎釜鏈堜唤鐨勫ぉ鏁版櫘閫氳〃
-      * @Array Of Property
-      * @return Number
-      */
-  solarMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],
-
-  /**
-      * 澶╁共鍦版敮涔嬪ぉ骞查�熸煡琛�
-      * @Array Of Property trans["鐢�","涔�","涓�","涓�","鎴�","宸�","搴�","杈�","澹�","鐧�"]
-      * @return Cn string
-      */
-  Gan: ['\u7532', '\u4e59', '\u4e19', '\u4e01', '\u620a', '\u5df1', '\u5e9a', '\u8f9b', '\u58ec', '\u7678'],
-
-  /**
-      * 澶╁共鍦版敮涔嬪湴鏀�熸煡琛�
-      * @Array Of Property
-      * @trans["瀛�","涓�","瀵�","鍗�","杈�","宸�","鍗�","鏈�","鐢�","閰�","鎴�","浜�"]
-      * @return Cn string
-      */
-  Zhi: ['\u5b50', '\u4e11', '\u5bc5', '\u536f', '\u8fb0', '\u5df3', '\u5348', '\u672a', '\u7533', '\u9149', '\u620c', '\u4ea5'],
-
-  /**
-      * 澶╁共鍦版敮涔嬪湴鏀�熸煡琛�<=>鐢熻倴
-      * @Array Of Property
-      * @trans["榧�","鐗�","铏�","鍏�","榫�","铔�","椹�","缇�","鐚�","楦�","鐙�","鐚�"]
-      * @return Cn string
-      */
-  Animals: ['\u9f20', '\u725b', '\u864e', '\u5154', '\u9f99', '\u86c7', '\u9a6c', '\u7f8a', '\u7334', '\u9e21', '\u72d7', '\u732a'],
-
-  /**
-      * 24鑺傛皵閫熸煡琛�
-      * @Array Of Property
-      * @trans["灏忓瘨","澶у瘨","绔嬫槬","闆ㄦ按","鎯婅洶","鏄ュ垎","娓呮槑","璋烽洦","绔嬪","灏忔弧","鑺掔","澶忚嚦","灏忔殤","澶ф殤","绔嬬","澶勬殤","鐧介湶","绉嬪垎","瀵掗湶","闇滈檷","绔嬪啲","灏忛洩","澶ч洩","鍐嚦"]
-      * @return Cn string
-      */
-  solarTerm: ['\u5c0f\u5bd2', '\u5927\u5bd2', '\u7acb\u6625', '\u96e8\u6c34', '\u60ca\u86f0', '\u6625\u5206', '\u6e05\u660e', '\u8c37\u96e8', '\u7acb\u590f', '\u5c0f\u6ee1', '\u8292\u79cd', '\u590f\u81f3', '\u5c0f\u6691', '\u5927\u6691', '\u7acb\u79cb', '\u5904\u6691', '\u767d\u9732', '\u79cb\u5206', '\u5bd2\u9732', '\u971c\u964d', '\u7acb\u51ac', '\u5c0f\u96ea', '\u5927\u96ea', '\u51ac\u81f3'],
-
-  /**
-      * 1900-2100鍚勫勾鐨�24鑺傛皵鏃ユ湡閫熸煡琛�
-      * @Array Of Property
-      * @return 0x string For splice
-      */
-  sTermInfo: ['9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f',
-    '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-    '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f', 'b027097bd097c36b0b6fc9274c91aa',
-    '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd0b06bdb0722c965ce1cfcc920f',
-    'b027097bd097c36b0b6fc9274c91aa', '9778397bd19801ec9210c965cc920e', '97b6b97bd19801ec95f8c965cc920f',
-    '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd197c36c9210c9274c91aa',
-    '97b6b97bd19801ec95f8c965cc920e', '97bd09801d98082c95f8e1cfcc920f', '97bd097bd097c36b0b6fc9210c8dc2',
-    '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec95f8c965cc920e', '97bcf97c3598082c95f8e1cfcc920f',
-    '97bd097bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-    '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-    '97b6b97bd19801ec9210c965cc920e', '97bcf97c3598082c95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722',
-    '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f',
-    '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-    '97bcf97c359801ec95f8c965cc920f', '97bd097bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-    '97b6b97bd19801ec9210c965cc920e', '97bcf97c359801ec95f8c965cc920f', '97bd097bd07f595b0b6fc920fb0722',
-    '9778397bd097c36b0b6fc9210c8dc2', '9778397bd19801ec9210c9274c920e', '97b6b97bd19801ec95f8c965cc920f',
-    '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e',
-    '97b6b97bd19801ec95f8c965cc920f', '97bd07f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2',
-    '9778397bd097c36c9210c9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bd07f1487f595b0b0bc920fb0722',
-    '7f0e397bd097c36b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-    '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-    '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
-    '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e', '97bcf7f1487f531b0b0bb0b6fb0722',
-    '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b97bd19801ec9210c965cc920e',
-    '97bcf7f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-    '97b6b97bd19801ec9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
-    '9778397bd097c36b0b6fc9210c91aa', '97b6b97bd197c36c9210c9274c920e', '97bcf7f0e47f531b0b0bb0b6fb0722',
-    '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '9778397bd097c36c9210c9274c920e',
-    '97b6b7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c36b0b6fc9210c8dc2',
-    '9778397bd097c36b0b70c9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722',
-    '7f0e397bd097c35b0b6fc9210c8dc2', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721',
-    '7f0e27f1487f595b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-    '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
-    '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
-    '7f0e397bd097c35b0b6fc920fb0722', '9778397bd097c36b0b6fc9274c91aa', '97b6b7f0e47f531b0723b0b6fb0721',
-    '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9274c91aa',
-    '97b6b7f0e47f531b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
-    '9778397bd097c36b0b6fc9210c91aa', '97b6b7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
-    '7f0e397bd07f595b0b0bc920fb0722', '9778397bd097c36b0b6fc9210c8dc2', '977837f0e37f149b0723b0787b0721',
-    '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f5307f595b0b0bc920fb0722', '7f0e397bd097c35b0b6fc9210c8dc2',
-    '977837f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e37f1487f595b0b0bb0b6fb0722',
-    '7f0e397bd097c35b0b6fc9210c8dc2', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
-    '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722', '977837f0e37f14998082b0787b06bd',
-    '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd097c35b0b6fc920fb0722',
-    '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
-    '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
-    '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14998082b0787b06bd',
-    '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0b0bb0b6fb0722', '7f0e397bd07f595b0b0bc920fb0722',
-    '977837f0e37f14998082b0723b06bd', '7f07e7f0e37f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
-    '7f0e397bd07f595b0b0bc920fb0722', '977837f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b0721',
-    '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f595b0b0bb0b6fb0722', '7f0e37f0e37f14898082b0723b02d5',
-    '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e37f1487f531b0b0bb0b6fb0722',
-    '7f0e37f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
-    '7f0e37f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd',
-    '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e37f14898082b072297c35',
-    '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722',
-    '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f149b0723b0787b0721',
-    '7f0e27f1487f531b0b0bb0b6fb0722', '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14998082b0723b06bd',
-    '7f07e7f0e47f149b0723b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722', '7f0e37f0e366aa89801eb072297c35',
-    '7ec967f0e37f14998082b0723b06bd', '7f07e7f0e37f14998083b0787b0721', '7f0e27f0e47f531b0723b0b6fb0722',
-    '7f0e37f0e366aa89801eb072297c35', '7ec967f0e37f14898082b0723b02d5', '7f07e7f0e37f14998082b0787b0721',
-    '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66aa89801e9808297c35', '665f67f0e37f14898082b0723b02d5',
-    '7ec967f0e37f14998082b0787b0721', '7f07e7f0e47f531b0723b0b6fb0722', '7f0e36665b66a449801e9808297c35',
-    '665f67f0e37f14898082b0723b02d5', '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721',
-    '7f0e36665b66a449801e9808297c35', '665f67f0e37f14898082b072297c35', '7ec967f0e37f14998082b0787b06bd',
-    '7f07e7f0e47f531b0723b0b6fb0721', '7f0e26665b66a449801e9808297c35', '665f67f0e37f1489801eb072297c35',
-    '7ec967f0e37f14998082b0787b06bd', '7f07e7f0e47f531b0723b0b6fb0721', '7f0e27f1487f531b0b0bb0b6fb0722'],
-
-  /**
-      * 鏁板瓧杞腑鏂囬�熸煡琛�
-      * @Array Of Property
-      * @trans ['鏃�','涓�','浜�','涓�','鍥�','浜�','鍏�','涓�','鍏�','涔�','鍗�']
-      * @return Cn string
-      */
-  nStr1: ['\u65e5', '\u4e00', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341'],
-
-  /**
-      * 鏃ユ湡杞啘鍘嗙О鍛奸�熸煡琛�
-      * @Array Of Property
-      * @trans ['鍒�','鍗�','寤�','鍗�']
-      * @return Cn string
-      */
-  nStr2: ['\u521d', '\u5341', '\u5eff', '\u5345'],
-
-  /**
-      * 鏈堜唤杞啘鍘嗙О鍛奸�熸煡琛�
-      * @Array Of Property
-      * @trans ['姝�','涓�','浜�','涓�','鍥�','浜�','鍏�','涓�','鍏�','涔�','鍗�','鍐�','鑵�']
-      * @return Cn string
-      */
-  nStr3: ['\u6b63', '\u4e8c', '\u4e09', '\u56db', '\u4e94', '\u516d', '\u4e03', '\u516b', '\u4e5d', '\u5341', '\u51ac', '\u814a'],
-
-  /**
-      * 杩斿洖鍐滃巻y骞翠竴鏁村勾鐨勬�诲ぉ鏁�
-      * @param lunar Year
-      * @return Number
-      * @eg:var count = calendar.lYearDays(1987) ;//count=387
-      */
-  lYearDays: function (y) {
-    var i; var sum = 348
-    for (i = 0x8000; i > 0x8; i >>= 1) { sum += (this.lunarInfo[y - 1900] & i) ? 1 : 0 }
-    return (sum + this.leapDays(y))
-  },
-
-  /**
-      * 杩斿洖鍐滃巻y骞撮棸鏈堟槸鍝釜鏈堬紱鑻骞存病鏈夐棸鏈� 鍒欒繑鍥�0
-      * @param lunar Year
-      * @return Number (0-12)
-      * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6
-      */
-  leapMonth: function (y) { // 闂板瓧缂栫爜 \u95f0
-    return (this.lunarInfo[y - 1900] & 0xf)
-  },
-
-  /**
-      * 杩斿洖鍐滃巻y骞撮棸鏈堢殑澶╂暟 鑻ヨ骞存病鏈夐棸鏈堝垯杩斿洖0
-      * @param lunar Year
-      * @return Number (0銆�29銆�30)
-      * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29
-      */
-  leapDays: function (y) {
-    if (this.leapMonth(y)) {
-      return ((this.lunarInfo[y - 1900] & 0x10000) ? 30 : 29)
-    }
-    return (0)
-  },
-
-  /**
-      * 杩斿洖鍐滃巻y骞磎鏈堬紙闈為棸鏈堬級鐨勬�诲ぉ鏁帮紝璁$畻m涓洪棸鏈堟椂鐨勫ぉ鏁拌浣跨敤leapDays鏂规硶
-      * @param lunar Year
-      * @return Number (-1銆�29銆�30)
-      * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29
-      */
-  monthDays: function (y, m) {
-    if (m > 12 || m < 1) { return -1 }// 鏈堜唤鍙傛暟浠�1鑷�12锛屽弬鏁伴敊璇繑鍥�-1
-    return ((this.lunarInfo[y - 1900] & (0x10000 >> m)) ? 30 : 29)
-  },
-
-  /**
-      * 杩斿洖鍏巻(!)y骞磎鏈堢殑澶╂暟
-      * @param solar Year
-      * @return Number (-1銆�28銆�29銆�30銆�31)
-      * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30
-      */
-  solarDays: function (y, m) {
-    if (m > 12 || m < 1) { return -1 } // 鑻ュ弬鏁伴敊璇� 杩斿洖-1
-    var ms = m - 1
-    if (ms == 1) { // 2鏈堜唤鐨勯棸骞宠寰嬫祴绠楀悗纭杩斿洖28鎴�29
-      return (((y % 4 == 0) && (y % 100 != 0) || (y % 400 == 0)) ? 29 : 28)
-    } else {
-      return (this.solarMonth[ms])
-    }
-  },
-
-  /**
-     * 鍐滃巻骞翠唤杞崲涓哄共鏀邯骞�
-     * @param  lYear 鍐滃巻骞寸殑骞翠唤鏁�
-     * @return Cn string
-     */
-  toGanZhiYear: function (lYear) {
-    var ganKey = (lYear - 3) % 10
-    var zhiKey = (lYear - 3) % 12
-    if (ganKey == 0) ganKey = 10// 濡傛灉浣欐暟涓�0鍒欎负鏈�鍚庝竴涓ぉ骞�
-    if (zhiKey == 0) zhiKey = 12// 濡傛灉浣欐暟涓�0鍒欎负鏈�鍚庝竴涓湴鏀�
-    return this.Gan[ganKey - 1] + this.Zhi[zhiKey - 1]
-  },
-
-  /**
-     * 鍏巻鏈堛�佹棩鍒ゆ柇鎵�灞炴槦搴�
-     * @param  cMonth [description]
-     * @param  cDay [description]
-     * @return Cn string
-     */
-  toAstro: function (cMonth, cDay) {
-    var s = '\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf'
-    var arr = [20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22]
-    return s.substr(cMonth * 2 - (cDay < arr[cMonth - 1] ? 2 : 0), 2) + '\u5ea7'// 搴�
-  },
-
-  /**
-      * 浼犲叆offset鍋忕Щ閲忚繑鍥炲共鏀�
-      * @param offset 鐩稿鐢插瓙鐨勫亸绉婚噺
-      * @return Cn string
-      */
-  toGanZhi: function (offset) {
-    return this.Gan[offset % 10] + this.Zhi[offset % 12]
-  },
-
-  /**
-      * 浼犲叆鍏巻(!)y骞磋幏寰楄骞寸n涓妭姘旂殑鍏巻鏃ユ湡
-      * @param y鍏巻骞�(1900-2100)锛沶浜屽崄鍥涜妭姘斾腑鐨勭鍑犱釜鑺傛皵(1~24)锛涗粠n=1(灏忓瘨)绠楄捣
-      * @return day Number
-      * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;鎰忓嵆1987骞�2鏈�4鏃ョ珛鏄�
-      */
-  getTerm: function (y, n) {
-    if (y < 1900 || y > 2100) { return -1 }
-    if (n < 1 || n > 24) { return -1 }
-    var _table = this.sTermInfo[y - 1900]
-    var _info = [
-      parseInt('0x' + _table.substr(0, 5)).toString(),
-      parseInt('0x' + _table.substr(5, 5)).toString(),
-      parseInt('0x' + _table.substr(10, 5)).toString(),
-      parseInt('0x' + _table.substr(15, 5)).toString(),
-      parseInt('0x' + _table.substr(20, 5)).toString(),
-      parseInt('0x' + _table.substr(25, 5)).toString()
-    ]
-    var _calday = [
-      _info[0].substr(0, 1),
-      _info[0].substr(1, 2),
-      _info[0].substr(3, 1),
-      _info[0].substr(4, 2),
-
-      _info[1].substr(0, 1),
-      _info[1].substr(1, 2),
-      _info[1].substr(3, 1),
-      _info[1].substr(4, 2),
-
-      _info[2].substr(0, 1),
-      _info[2].substr(1, 2),
-      _info[2].substr(3, 1),
-      _info[2].substr(4, 2),
-
-      _info[3].substr(0, 1),
-      _info[3].substr(1, 2),
-      _info[3].substr(3, 1),
-      _info[3].substr(4, 2),
-
-      _info[4].substr(0, 1),
-      _info[4].substr(1, 2),
-      _info[4].substr(3, 1),
-      _info[4].substr(4, 2),
-
-      _info[5].substr(0, 1),
-      _info[5].substr(1, 2),
-      _info[5].substr(3, 1),
-      _info[5].substr(4, 2)
-    ]
-    return parseInt(_calday[n - 1])
-  },
-
-  /**
-      * 浼犲叆鍐滃巻鏁板瓧鏈堜唤杩斿洖姹夎閫氫織琛ㄧず娉�
-      * @param lunar month
-      * @return Cn string
-      * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='鑵婃湀'
-      */
-  toChinaMonth: function (m) { // 鏈� => \u6708
-    if (m > 12 || m < 1) { return -1 } // 鑻ュ弬鏁伴敊璇� 杩斿洖-1
-    var s = this.nStr3[m - 1]
-    s += '\u6708'// 鍔犱笂鏈堝瓧
-    return s
-  },
-
-  /**
-      * 浼犲叆鍐滃巻鏃ユ湡鏁板瓧杩斿洖姹夊瓧琛ㄧず娉�
-      * @param lunar day
-      * @return Cn string
-      * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='寤夸竴'
-      */
-  toChinaDay: function (d) { // 鏃� => \u65e5
-    var s
-    switch (d) {
-      case 10:
-        s = '\u521d\u5341'; break
-      case 20:
-        s = '\u4e8c\u5341'; break
-        break
-      case 30:
-        s = '\u4e09\u5341'; break
-        break
-      default :
-        s = this.nStr2[Math.floor(d / 10)]
-        s += this.nStr1[d % 10]
-    }
-    return (s)
-  },
-
-  /**
-      * 骞翠唤杞敓鑲朳!浠呰兘澶ц嚧杞崲] => 绮剧‘鍒掑垎鐢熻倴鍒嗙晫绾挎槸鈥滅珛鏄モ��
-      * @param y year
-      * @return Cn string
-      * @eg:var animal = calendar.getAnimal(1987) ;//animal='鍏�'
-      */
-  getAnimal: function (y) {
-    return this.Animals[(y - 4) % 12]
-  },
-
-  /**
-      * 浼犲叆闃冲巻骞存湀鏃ヨ幏寰楄缁嗙殑鍏巻銆佸啘鍘唎bject淇℃伅 <=>JSON
-      * @param y  solar year
-      * @param m  solar month
-      * @param d  solar day
-      * @return JSON object
-      * @eg:console.log(calendar.solar2lunar(1987,11,01));
-      */
-  solar2lunar: function (y, m, d) { // 鍙傛暟鍖洪棿1900.1.31~2100.12.31
-    // 骞翠唤闄愬畾銆佷笂闄�
-    if (y < 1900 || y > 2100) {
-      return -1// undefined杞崲涓烘暟瀛楀彉涓篘aN
-    }
-    // 鍏巻浼犲弬鏈�涓嬮檺
-    if (y == 1900 && m == 1 && d < 31) {
-      return -1
-    }
-    // 鏈紶鍙�  鑾峰緱褰撳ぉ
-    if (!y) {
-      var objDate = new Date()
-    } else {
-      var objDate = new Date(y, parseInt(m) - 1, d)
-    }
-    var i; var leap = 0; var temp = 0
-    // 淇ymd鍙傛暟
-    var y = objDate.getFullYear()
-    var m = objDate.getMonth() + 1
-    var d = objDate.getDate()
-    var offset = (Date.UTC(objDate.getFullYear(), objDate.getMonth(), objDate.getDate()) - Date.UTC(1900, 0, 31)) / 86400000
-    for (i = 1900; i < 2101 && offset > 0; i++) {
-      temp = this.lYearDays(i)
-      offset -= temp
-    }
-    if (offset < 0) {
-      offset += temp; i--
-    }
-
-    // 鏄惁浠婂ぉ
-    var isTodayObj = new Date()
-    var isToday = false
-    if (isTodayObj.getFullYear() == y && isTodayObj.getMonth() + 1 == m && isTodayObj.getDate() == d) {
-      isToday = true
-    }
-    // 鏄熸湡鍑�
-    var nWeek = objDate.getDay()
-    var cWeek = this.nStr1[nWeek]
-    // 鏁板瓧琛ㄧず鍛ㄥ嚑椤哄簲澶╂湞鍛ㄤ竴寮�濮嬬殑鎯緥
-    if (nWeek == 0) {
-      nWeek = 7
-    }
-    // 鍐滃巻骞�
-    var year = i
-    var leap = this.leapMonth(i) // 闂板摢涓湀
-    var isLeap = false
-
-    // 鏁堥獙闂版湀
-    for (i = 1; i < 13 && offset > 0; i++) {
-      // 闂版湀
-      if (leap > 0 && i == (leap + 1) && isLeap == false) {
-        --i
-        isLeap = true; temp = this.leapDays(year) // 璁$畻鍐滃巻闂版湀澶╂暟
-      } else {
-        temp = this.monthDays(year, i)// 璁$畻鍐滃巻鏅�氭湀澶╂暟
-      }
-      // 瑙i櫎闂版湀
-      if (isLeap == true && i == (leap + 1)) { isLeap = false }
-      offset -= temp
-    }
-    // 闂版湀瀵艰嚧鏁扮粍涓嬫爣閲嶅彔鍙栧弽
-    if (offset == 0 && leap > 0 && i == leap + 1) {
-      if (isLeap) {
-        isLeap = false
-      } else {
-        isLeap = true; --i
-      }
-    }
-    if (offset < 0) {
-      offset += temp; --i
-    }
-    // 鍐滃巻鏈�
-    var month = i
-    // 鍐滃巻鏃�
-    var day = offset + 1
-    // 澶╁共鍦版敮澶勭悊
-    var sm = m - 1
-    var gzY = this.toGanZhiYear(year)
-
-    // 褰撴湀鐨勪袱涓妭姘�
-    // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year`
-    var firstNode = this.getTerm(y, (m * 2 - 1))// 杩斿洖褰撴湀銆岃妭銆嶄负鍑犳棩寮�濮�
-    var secondNode = this.getTerm(y, (m * 2))// 杩斿洖褰撴湀銆岃妭銆嶄负鍑犳棩寮�濮�
-
-    // 渚濇嵁12鑺傛皵淇骞叉敮鏈�
-    var gzM = this.toGanZhi((y - 1900) * 12 + m + 11)
-    if (d >= firstNode) {
-      gzM = this.toGanZhi((y - 1900) * 12 + m + 12)
-    }
-
-    // 浼犲叆鐨勬棩鏈熺殑鑺傛皵涓庡惁
-    var isTerm = false
-    var Term = null
-    if (firstNode == d) {
-      isTerm = true
-      Term = this.solarTerm[m * 2 - 2]
-    }
-    if (secondNode == d) {
-      isTerm = true
-      Term = this.solarTerm[m * 2 - 1]
-    }
-    // 鏃ユ煴 褰撴湀涓�鏃ヤ笌 1900/1/1 鐩稿樊澶╂暟
-    var dayCyclical = Date.UTC(y, sm, 1, 0, 0, 0, 0) / 86400000 + 25567 + 10
-    var gzD = this.toGanZhi(dayCyclical + d - 1)
-    // 璇ユ棩鏈熸墍灞炵殑鏄熷骇
-    var astro = this.toAstro(m, d)
-
-    return { 'lYear': year, 'lMonth': month, 'lDay': day, 'Animal': this.getAnimal(year), 'IMonthCn': (isLeap ? '\u95f0' : '') + this.toChinaMonth(month), 'IDayCn': this.toChinaDay(day), 'cYear': y, 'cMonth': m, 'cDay': d, 'gzYear': gzY, 'gzMonth': gzM, 'gzDay': gzD, 'isToday': isToday, 'isLeap': isLeap, 'nWeek': nWeek, 'ncWeek': '\u661f\u671f' + cWeek, 'isTerm': isTerm, 'Term': Term, 'astro': astro }
-  },
-
-  /**
-      * 浼犲叆鍐滃巻骞存湀鏃ヤ互鍙婁紶鍏ョ殑鏈堜唤鏄惁闂版湀鑾峰緱璇︾粏鐨勫叕鍘嗐�佸啘鍘唎bject淇℃伅 <=>JSON
-      * @param y  lunar year
-      * @param m  lunar month
-      * @param d  lunar day
-      * @param isLeapMonth  lunar month is leap or not.[濡傛灉鏄啘鍘嗛棸鏈堢鍥涗釜鍙傛暟璧嬪�紅rue鍗冲彲]
-      * @return JSON object
-      * @eg:console.log(calendar.lunar2solar(1987,9,10));
-      */
-  lunar2solar: function (y, m, d, isLeapMonth) { // 鍙傛暟鍖洪棿1900.1.31~2100.12.1
-    var isLeapMonth = !!isLeapMonth
-    var leapOffset = 0
-    var leapMonth = this.leapMonth(y)
-    var leapDay = this.leapDays(y)
-    if (isLeapMonth && (leapMonth != m)) { return -1 }// 浼犲弬瑕佹眰璁$畻璇ラ棸鏈堝叕鍘� 浣嗚骞村緱鍑虹殑闂版湀涓庝紶鍙傜殑鏈堜唤骞朵笉鍚�
-    if (y == 2100 && m == 12 && d > 1 || y == 1900 && m == 1 && d < 31) { return -1 }// 瓒呭嚭浜嗘渶澶ф瀬闄愬��
-    var day = this.monthDays(y, m)
-    var _day = day
-    // bugFix 2016-9-25
-    // if month is leap, _day use leapDays method
-    if (isLeapMonth) {
-      _day = this.leapDays(y, m)
-    }
-    if (y < 1900 || y > 2100 || d > _day) { return -1 }// 鍙傛暟鍚堟硶鎬ф晥楠�
-
-    // 璁$畻鍐滃巻鐨勬椂闂村樊
-    var offset = 0
-    for (var i = 1900; i < y; i++) {
-      offset += this.lYearDays(i)
-    }
-    var leap = 0; var isAdd = false
-    for (var i = 1; i < m; i++) {
-      leap = this.leapMonth(y)
-      if (!isAdd) { // 澶勭悊闂版湀
-        if (leap <= i && leap > 0) {
-          offset += this.leapDays(y); isAdd = true
-        }
-      }
-      offset += this.monthDays(y, i)
-    }
-    // 杞崲闂版湀鍐滃巻 闇�琛ュ厖璇ュ勾闂版湀鐨勫墠涓�涓湀鐨勬椂宸�
-    if (isLeapMonth) { offset += day }
-    // 1900骞村啘鍘嗘鏈堜竴鏃ョ殑鍏巻鏃堕棿涓�1900骞�1鏈�30鏃�0鏃�0鍒�0绉�(璇ユ椂闂翠篃鏄湰鍐滃巻鐨勬渶寮�濮嬭捣濮嬬偣)
-    var stmap = Date.UTC(1900, 1, 30, 0, 0, 0)
-    var calObj = new Date((offset + d - 31) * 86400000 + stmap)
-    var cY = calObj.getUTCFullYear()
-    var cM = calObj.getUTCMonth() + 1
-    var cD = calObj.getUTCDate()
-
-    return this.solar2lunar(cY, cM, cD)
-  }
-}
-
-export default calendar
diff --git a/src/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json b/src/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json
deleted file mode 100644
index fcbd13c..0000000
--- a/src/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-	"uni-calender.ok": "ok",
-	"uni-calender.cancel": "cancel",
-	"uni-calender.today": "today",
-	"uni-calender.MON": "MON",
-	"uni-calender.TUE": "TUE",
-	"uni-calender.WED": "WED",
-	"uni-calender.THU": "THU",
-	"uni-calender.FRI": "FRI",
-	"uni-calender.SAT": "SAT",
-	"uni-calender.SUN": "SUN"
-}
diff --git a/src/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js b/src/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js
deleted file mode 100644
index de7509c..0000000
--- a/src/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import en from './en.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
-	en,
-	'zh-Hans': zhHans,
-	'zh-Hant': zhHant
-}
diff --git a/src/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json b/src/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json
deleted file mode 100644
index 1ca43de..0000000
--- a/src/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-	"uni-calender.ok": "纭畾",
-	"uni-calender.cancel": "鍙栨秷",
-	"uni-calender.today": "浠婃棩",
-	"uni-calender.SUN": "鏃�",
-	"uni-calender.MON": "涓�",
-	"uni-calender.TUE": "浜�",
-	"uni-calender.WED": "涓�",
-	"uni-calender.THU": "鍥�",
-	"uni-calender.FRI": "浜�",
-	"uni-calender.SAT": "鍏�"
-}
diff --git a/src/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json b/src/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json
deleted file mode 100644
index e0fe33b..0000000
--- a/src/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-	"uni-calender.ok": "纰哄畾",
-	"uni-calender.cancel": "鍙栨秷",
-	"uni-calender.today": "浠婃棩",
-	"uni-calender.SUN": "鏃�",
-	"uni-calender.MON": "涓�",
-	"uni-calender.TUE": "浜�",
-	"uni-calender.WED": "涓�",
-	"uni-calender.THU": "鍥�",
-	"uni-calender.FRI": "浜�",
-	"uni-calender.SAT": "鍏�"
-}
diff --git a/src/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue b/src/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue
deleted file mode 100644
index 369710e..0000000
--- a/src/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.vue
+++ /dev/null
@@ -1,188 +0,0 @@
-<template>
-	<view class="uni-calendar-item__weeks-box" :class="{
-		'uni-calendar-item--disable':weeks.disable,
-		'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-		'uni-calendar-item--checked':(calendar.fullDate === weeks.fullDate && !weeks.isDay) ,
-		'uni-calendar-item--before-checked':weeks.beforeMultiple,
-		'uni-calendar-item--multiple': weeks.multiple,
-		'uni-calendar-item--after-checked':weeks.afterMultiple,
-		}"
-	 @click="choiceDate(weeks)">
-		<view class="uni-calendar-item__weeks-box-item">
-			<text v-if="selected&&weeks.extraInfo" class="uni-calendar-item__weeks-box-circle"></text>
-			<text class="uni-calendar-item__weeks-box-text" :class="{
-				'uni-calendar-item--isDay-text': weeks.isDay,
-				'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-				'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay,
-				'uni-calendar-item--before-checked':weeks.beforeMultiple,
-				'uni-calendar-item--multiple': weeks.multiple,
-				'uni-calendar-item--after-checked':weeks.afterMultiple,
-				'uni-calendar-item--disable':weeks.disable,
-				}">{{weeks.date}}</text>
-			<text v-if="!lunar&&!weeks.extraInfo && weeks.isDay" class="uni-calendar-item__weeks-lunar-text" :class="{
-				'uni-calendar-item--isDay-text':weeks.isDay,
-				'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-				'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay,
-				'uni-calendar-item--before-checked':weeks.beforeMultiple,
-				'uni-calendar-item--multiple': weeks.multiple,
-				'uni-calendar-item--after-checked':weeks.afterMultiple,
-				}">{{todayText}}</text>
-			<text v-if="lunar&&!weeks.extraInfo" class="uni-calendar-item__weeks-lunar-text" :class="{
-				'uni-calendar-item--isDay-text':weeks.isDay,
-				'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-				'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay,
-				'uni-calendar-item--before-checked':weeks.beforeMultiple,
-				'uni-calendar-item--multiple': weeks.multiple,
-				'uni-calendar-item--after-checked':weeks.afterMultiple,
-				'uni-calendar-item--disable':weeks.disable,
-				}">{{weeks.isDay ? todayText : (weeks.lunar.IDayCn === '鍒濅竴'?weeks.lunar.IMonthCn:weeks.lunar.IDayCn)}}</text>
-			<text v-if="weeks.extraInfo&&weeks.extraInfo.info" class="uni-calendar-item__weeks-lunar-text" :class="{
-				'uni-calendar-item--extra':weeks.extraInfo.info,
-				'uni-calendar-item--isDay-text':weeks.isDay,
-				'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate && weeks.isDay,
-				'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && !weeks.isDay,
-				'uni-calendar-item--before-checked':weeks.beforeMultiple,
-				'uni-calendar-item--multiple': weeks.multiple,
-				'uni-calendar-item--after-checked':weeks.afterMultiple,
-				'uni-calendar-item--disable':weeks.disable,
-				}">{{weeks.extraInfo.info}}</text>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {
-	initVueI18n
-	} from '@dcloudio/uni-i18n'
-	import messages from './i18n/index.js'
-	const {	t	} = initVueI18n(messages)
-	export default {
-		emits:['change'],
-		props: {
-			weeks: {
-				type: Object,
-				default () {
-					return {}
-				}
-			},
-			calendar: {
-				type: Object,
-				default: () => {
-					return {}
-				}
-			},
-			selected: {
-				type: Array,
-				default: () => {
-					return []
-				}
-			},
-			lunar: {
-				type: Boolean,
-				default: false
-			}
-		},
-		computed: {
-			todayText() {
-				return t("uni-calender.today")
-			},
-		},
-		methods: {
-			choiceDate(weeks) {
-				this.$emit('change', weeks)
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	$uni-font-size-base:14px;
-	$uni-text-color:#333;
-	$uni-font-size-sm:12px;
-	$uni-color-error: #e43d33;
-	$uni-opacity-disabled: 0.3;
-	$uni-text-color-disable:#c0c0c0;
-	$uni-primary: #2979ff !default;
-	.uni-calendar-item__weeks-box {
-		flex: 1;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-	}
-
-	.uni-calendar-item__weeks-box-text {
-		font-size: $uni-font-size-base;
-		color: $uni-text-color;
-	}
-
-	.uni-calendar-item__weeks-lunar-text {
-		font-size: $uni-font-size-sm;
-		color: $uni-text-color;
-	}
-
-	.uni-calendar-item__weeks-box-item {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		width: 100rpx;
-		height: 100rpx;
-	}
-
-	.uni-calendar-item__weeks-box-circle {
-		position: absolute;
-		top: 5px;
-		right: 5px;
-		width: 8px;
-		height: 8px;
-		border-radius: 8px;
-		background-color: $uni-color-error;
-
-	}
-
-	.uni-calendar-item--disable {
-		background-color: rgba(249, 249, 249, $uni-opacity-disabled);
-		color: $uni-text-color-disable;
-	}
-
-	.uni-calendar-item--isDay-text {
-		color: $uni-primary;
-	}
-
-	.uni-calendar-item--isDay {
-		background-color: $uni-primary;
-		opacity: 0.8;
-		color: #fff;
-	}
-
-	.uni-calendar-item--extra {
-		color: $uni-color-error;
-		opacity: 0.8;
-	}
-
-	.uni-calendar-item--checked {
-		background-color: $uni-primary;
-		color: #fff;
-		opacity: 0.8;
-	}
-
-	.uni-calendar-item--multiple {
-		background-color: $uni-primary;
-		color: #fff;
-		opacity: 0.8;
-	}
-	.uni-calendar-item--before-checked {
-		background-color: #ff5a5f;
-		color: #fff;
-	}
-	.uni-calendar-item--after-checked {
-		background-color: #ff5a5f;
-		color: #fff;
-	}
-</style>
diff --git a/src/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue b/src/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue
deleted file mode 100644
index 9cd0e69..0000000
--- a/src/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.vue
+++ /dev/null
@@ -1,562 +0,0 @@
-<template>
-	<view class="uni-calendar">
-		<view v-if="!insert&&show" class="uni-calendar__mask" :class="{'uni-calendar--mask-show':aniMaskShow}" @click="clean"></view>
-		<view v-if="insert || show" class="uni-calendar__content" :class="{'uni-calendar--fixed':!insert,'uni-calendar--ani-show':aniMaskShow}">
-			<view v-if="!insert" class="uni-calendar__header uni-calendar--fixed-top">
-				<view class="uni-calendar__header-btn-box" @click="close">
-					<text class="uni-calendar__header-text uni-calendar--fixed-width">{{cancelText}}</text>
-				</view>
-				<view class="uni-calendar__header-btn-box" @click="confirm">
-					<text class="uni-calendar__header-text uni-calendar--fixed-width">{{okText}}</text>
-				</view>
-			</view>
-			<view class="uni-calendar__header">
-				<view class="uni-calendar__header-btn-box" @click.stop="pre">
-					<view class="uni-calendar__header-btn uni-calendar--left"></view>
-				</view>
-				<picker mode="date" :value="date" fields="month" @change="bindDateChange">
-					<text class="uni-calendar__header-text">{{ (nowDate.year||'') +' / '+( nowDate.month||'')}}</text>
-				</picker>
-				<view class="uni-calendar__header-btn-box" @click.stop="next">
-					<view class="uni-calendar__header-btn uni-calendar--right"></view>
-				</view>
-				<text class="uni-calendar__backtoday" @click="backtoday">{{todayText}}</text>
-
-			</view>
-			<view class="uni-calendar__box">
-				<view v-if="showMonth" class="uni-calendar__box-bg">
-					<text class="uni-calendar__box-bg-text">{{nowDate.month}}</text>
-				</view>
-				<view class="uni-calendar__weeks">
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{SUNText}}</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{monText}}</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{TUEText}}</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{WEDText}}</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{THUText}}</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{FRIText}}</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{SATText}}</text>
-					</view>
-				</view>
-				<view class="uni-calendar__weeks" v-for="(item,weekIndex) in weeks" :key="weekIndex">
-					<view class="uni-calendar__weeks-item" v-for="(weeks,weeksIndex) in item" :key="weeksIndex">
-						<calendar-item class="uni-calendar-item--hook" :weeks="weeks" :calendar="calendar" :selected="selected" :lunar="lunar" @change="choiceDate"></calendar-item>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import Calendar from './util.js';
-	import calendarItem from './uni-calendar-item.vue'
-	import {
-	initVueI18n
-	} from '@dcloudio/uni-i18n'
-	import messages from './i18n/index.js'
-	const {	t	} = initVueI18n(messages)
-	/**
-	 * Calendar 鏃ュ巻
-	 * @description 鏃ュ巻缁勪欢鍙互鏌ョ湅鏃ユ湡锛岄�夋嫨浠绘剰鑼冨洿鍐呯殑鏃ユ湡锛屾墦鐐规搷浣溿�傚父鐢ㄥ満鏅锛氶厭搴楁棩鏈熼璁€�佺伀杞︽満绁ㄩ�夋嫨璐拱鏃ユ湡銆佷笂涓嬬彮鎵撳崱绛�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=56
-	 * @property {String} date 鑷畾涔夊綋鍓嶆椂闂达紝榛樿涓轰粖澶�
-	 * @property {Boolean} lunar 鏄剧ず鍐滃巻
-	 * @property {String} startDate 鏃ユ湡閫夋嫨鑼冨洿-寮�濮嬫棩鏈�
-	 * @property {String} endDate 鏃ユ湡閫夋嫨鑼冨洿-缁撴潫鏃ユ湡
-	 * @property {Boolean} range 鑼冨洿閫夋嫨
-	 * @property {Boolean} insert = [true|false] 鎻掑叆妯″紡,榛樿涓篺alse
-	 * 	@value true 寮圭獥妯″紡
-	 * 	@value false 鎻掑叆妯″紡
-	 * @property {Boolean} clearDate = [true|false] 寮圭獥妯″紡鏄惁娓呯┖涓婃閫夋嫨鍐呭
-	 * @property {Array} selected 鎵撶偣锛屾湡寰呮牸寮廩{date: '2019-06-27', info: '绛惧埌', data: { custom: '鑷畾涔変俊鎭�', name: '鑷畾涔夋秷鎭ご',xxx:xxx... }}]
-	 * @property {Boolean} showMonth 鏄惁閫夋嫨鏈堜唤涓鸿儗鏅�
-	 * @event {Function} change 鏃ユ湡鏀瑰彉锛宍insert :ture` 鏃剁敓鏁�
-	 * @event {Function} confirm 纭閫夋嫨`insert :false` 鏃剁敓鏁�
-	 * @event {Function} monthSwitch 鍒囨崲鏈堜唤鏃惰Е鍙�
-	 * @example <uni-calendar :insert="true":lunar="true" :start-date="'2019-3-2'":end-date="'2019-5-20'"@change="change" />
-	 */
-	export default {
-		components: {
-			calendarItem
-		},
-		emits:['close','confirm','change','monthSwitch'],
-		props: {
-			date: {
-				type: String,
-				default: ''
-			},
-			selected: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			lunar: {
-				type: Boolean,
-				default: false
-			},
-			startDate: {
-				type: String,
-				default: ''
-			},
-			endDate: {
-				type: String,
-				default: ''
-			},
-			range: {
-				type: Boolean,
-				default: false
-			},
-			insert: {
-				type: Boolean,
-				default: true
-			},
-			showMonth: {
-				type: Boolean,
-				default: true
-			},
-			clearDate: {
-				type: Boolean,
-				default: true
-			}
-		},
-		data() {
-			return {
-				show: false,
-				weeks: [],
-				calendar: {},
-				nowDate: '',
-				aniMaskShow: false
-			}
-		},
-		computed:{
-			/**
-			 * for i18n
-			 */
-
-			okText() {
-				return t("uni-calender.ok")
-			},
-			cancelText() {
-				return t("uni-calender.cancel")
-			},
-			todayText() {
-				return t("uni-calender.today")
-			},
-			monText() {
-				return t("uni-calender.MON")
-			},
-			TUEText() {
-				return t("uni-calender.TUE")
-			},
-			WEDText() {
-				return t("uni-calender.WED")
-			},
-			THUText() {
-				return t("uni-calender.THU")
-			},
-			FRIText() {
-				return t("uni-calender.FRI")
-			},
-			SATText() {
-				return t("uni-calender.SAT")
-			},
-			SUNText() {
-				return t("uni-calender.SUN")
-			},
-		},
-		watch: {
-			date(newVal) {
-				// this.cale.setDate(newVal)
-				this.init(newVal)
-			},
-			startDate(val){
-				this.cale.resetSatrtDate(val)
-				this.cale.setDate(this.nowDate.fullDate)
-				this.weeks = this.cale.weeks
-			},
-			endDate(val){
-				this.cale.resetEndDate(val)
-				this.cale.setDate(this.nowDate.fullDate)
-				this.weeks = this.cale.weeks
-			},
-			selected(newVal) {
-				this.cale.setSelectInfo(this.nowDate.fullDate, newVal)
-				this.weeks = this.cale.weeks
-			}
-		},
-		created() {
-			// 鑾峰彇鏃ュ巻鏂规硶瀹炰緥
-			this.cale = new Calendar({
-				// date: new Date(),
-				selected: this.selected,
-				startDate: this.startDate,
-				endDate: this.endDate,
-				range: this.range,
-			})
-			// 閫変腑鏌愪竴澶�
-			// this.cale.setDate(this.date)
-			this.init(this.date)
-			// this.setDay
-		},
-		methods: {
-			// 鍙栨秷绌块��
-			clean() {},
-			bindDateChange(e) {
-				const value = e.detail.value + '-1'
-				console.log(this.cale.getDate(value));
-				this.setDate(value)
-			},
-			/**
-			 * 鍒濆鍖栨棩鏈熸樉绀�
-			 * @param {Object} date
-			 */
-			init(date) {
-				this.cale.setDate(date)
-				this.weeks = this.cale.weeks
-				this.nowDate = this.calendar = this.cale.getInfo(date)
-			},
-			/**
-			 * 鎵撳紑鏃ュ巻寮圭獥
-			 */
-			open() {
-				// 寮圭獥妯″紡骞朵笖娓呯悊鏁版嵁
-				if (this.clearDate && !this.insert) {
-					this.cale.cleanMultipleStatus()
-					// this.cale.setDate(this.date)
-					this.init(this.date)
-				}
-				this.show = true
-				this.$nextTick(() => {
-					setTimeout(() => {
-						this.aniMaskShow = true
-					}, 50)
-				})
-			},
-			/**
-			 * 鍏抽棴鏃ュ巻寮圭獥
-			 */
-			close() {
-				this.aniMaskShow = false
-				this.$nextTick(() => {
-					setTimeout(() => {
-						this.show = false
-						this.$emit('close')
-					}, 300)
-				})
-			},
-			/**
-			 * 纭鎸夐挳
-			 */
-			confirm() {
-				this.setEmit('confirm')
-				this.close()
-			},
-			/**
-			 * 鍙樺寲瑙﹀彂
-			 */
-			change() {
-				if (!this.insert) return
-				this.setEmit('change')
-			},
-			/**
-			 * 閫夋嫨鏈堜唤瑙﹀彂
-			 */
-			monthSwitch() {
-				let {
-					year,
-					month
-				} = this.nowDate
-				this.$emit('monthSwitch', {
-					year,
-					month: Number(month)
-				})
-			},
-			/**
-			 * 娲惧彂浜嬩欢
-			 * @param {Object} name
-			 */
-			setEmit(name) {
-				let {
-					year,
-					month,
-					date,
-					fullDate,
-					lunar,
-					extraInfo
-				} = this.calendar
-				this.$emit(name, {
-					range: this.cale.multipleStatus,
-					year,
-					month,
-					date,
-					fulldate: fullDate,
-					lunar,
-					extraInfo: extraInfo || {}
-				})
-			},
-			/**
-			 * 閫夋嫨澶╄Е鍙�
-			 * @param {Object} weeks
-			 */
-			choiceDate(weeks) {
-				if (weeks.disable) return
-				this.calendar = weeks
-				// 璁剧疆澶氶��
-				this.cale.setMultiple(this.calendar.fullDate)
-				this.weeks = this.cale.weeks
-				this.change()
-			},
-			/**
-			 * 鍥炲埌浠婂ぉ
-			 */
-			backtoday() {
-				console.log(this.cale.getDate(new Date()).fullDate);
-				let date = this.cale.getDate(new Date()).fullDate
-				// this.cale.setDate(date)
-				this.init(date)
-				this.change()
-			},
-			/**
-			 * 涓婁釜鏈�
-			 */
-			pre() {
-				const preDate = this.cale.getDate(this.nowDate.fullDate, -1, 'month').fullDate
-				this.setDate(preDate)
-				this.monthSwitch()
-
-			},
-			/**
-			 * 涓嬩釜鏈�
-			 */
-			next() {
-				const nextDate = this.cale.getDate(this.nowDate.fullDate, +1, 'month').fullDate
-				this.setDate(nextDate)
-				this.monthSwitch()
-			},
-			/**
-			 * 璁剧疆鏃ユ湡
-			 * @param {Object} date
-			 */
-			setDate(date) {
-				this.cale.setDate(date)
-				this.weeks = this.cale.weeks
-				this.nowDate = this.cale.getInfo(date)
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	$uni-bg-color-mask: rgba($color: #000000, $alpha: 0.4);
-	$uni-border-color: #EDEDED;
-	$uni-text-color: #333;
-	$uni-bg-color-hover:#f1f1f1;
-	$uni-font-size-base:14px;
-	$uni-text-color-placeholder: #808080;
-	$uni-color-subtitle: #555555;
-	$uni-text-color-grey:#999;
-	.uni-calendar {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-	}
-
-	.uni-calendar__mask {
-		position: fixed;
-		bottom: 0;
-		top: 0;
-		left: 0;
-		right: 0;
-		background-color: $uni-bg-color-mask;
-		transition-property: opacity;
-		transition-duration: 0.3s;
-		opacity: 0;
-		/* #ifndef APP-NVUE */
-		z-index: 99;
-		/* #endif */
-	}
-
-	.uni-calendar--mask-show {
-		opacity: 1
-	}
-
-	.uni-calendar--fixed {
-		position: fixed;
-		/* #ifdef APP-NVUE */
-		bottom: 0;
-		/* #endif */
-		left: 0;
-		right: 0;
-		transition-property: transform;
-		transition-duration: 0.3s;
-		transform: translateY(460px);
-		/* #ifndef APP-NVUE */
-		bottom: calc(var(--window-bottom));
-		z-index: 99;
-		/* #endif */
-	}
-
-	.uni-calendar--ani-show {
-		transform: translateY(0);
-	}
-
-	.uni-calendar__content {
-		background-color: #fff;
-	}
-
-	.uni-calendar__header {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		height: 50px;
-		border-bottom-color: $uni-border-color;
-		border-bottom-style: solid;
-		border-bottom-width: 1px;
-	}
-
-	.uni-calendar--fixed-top {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: space-between;
-		border-top-color: $uni-border-color;
-		border-top-style: solid;
-		border-top-width: 1px;
-	}
-
-	.uni-calendar--fixed-width {
-		width: 50px;
-		// padding: 0 15px;
-	}
-
-	.uni-calendar__backtoday {
-		position: absolute;
-		right: 0;
-		top: 25rpx;
-		padding: 0 5px;
-		padding-left: 10px;
-		height: 25px;
-		line-height: 25px;
-		font-size: 12px;
-		border-top-left-radius: 25px;
-		border-bottom-left-radius: 25px;
-		color: $uni-text-color;
-		background-color: $uni-bg-color-hover;
-	}
-
-	.uni-calendar__header-text {
-		text-align: center;
-		width: 100px;
-		font-size: $uni-font-size-base;
-		color: $uni-text-color;
-	}
-
-	.uni-calendar__header-btn-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-		width: 50px;
-		height: 50px;
-	}
-
-	.uni-calendar__header-btn {
-		width: 10px;
-		height: 10px;
-		border-left-color: $uni-text-color-placeholder;
-		border-left-style: solid;
-		border-left-width: 2px;
-		border-top-color: $uni-color-subtitle;
-		border-top-style: solid;
-		border-top-width: 2px;
-	}
-
-	.uni-calendar--left {
-		transform: rotate(-45deg);
-	}
-
-	.uni-calendar--right {
-		transform: rotate(135deg);
-	}
-
-
-	.uni-calendar__weeks {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-	}
-
-	.uni-calendar__weeks-item {
-		flex: 1;
-	}
-
-	.uni-calendar__weeks-day {
-		flex: 1;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		height: 45px;
-		border-bottom-color: #F5F5F5;
-		border-bottom-style: solid;
-		border-bottom-width: 1px;
-	}
-
-	.uni-calendar__weeks-day-text {
-		font-size: 14px;
-	}
-
-	.uni-calendar__box {
-		position: relative;
-	}
-
-	.uni-calendar__box-bg {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		justify-content: center;
-		align-items: center;
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		bottom: 0;
-	}
-
-	.uni-calendar__box-bg-text {
-		font-size: 200px;
-		font-weight: bold;
-		color: $uni-text-color-grey;
-		opacity: 0.1;
-		text-align: center;
-		/* #ifndef APP-NVUE */
-		line-height: 1;
-		/* #endif */
-	}
-</style>
diff --git a/src/uni_modules/uni-calendar/components/uni-calendar/util.js b/src/uni_modules/uni-calendar/components/uni-calendar/util.js
deleted file mode 100644
index 2d6100b..0000000
--- a/src/uni_modules/uni-calendar/components/uni-calendar/util.js
+++ /dev/null
@@ -1,350 +0,0 @@
-import CALENDAR from './calendar.js'
-
-class Calendar {
-	constructor({
-		date,
-		selected,
-		startDate,
-		endDate,
-		range
-	} = {}) {
-		// 褰撳墠鏃ユ湡
-		this.date = this.getDate(new Date()) // 褰撳墠鍒濆叆鏃ユ湡
-		// 鎵撶偣淇℃伅
-		this.selected = selected || [];
-		// 鑼冨洿寮�濮�
-		this.startDate = startDate
-		// 鑼冨洿缁撴潫
-		this.endDate = endDate
-		this.range = range
-		// 澶氶�夌姸鎬�
-		this.cleanMultipleStatus()
-		// 姣忓懆鏃ユ湡
-		this.weeks = {}
-		// this._getWeek(this.date.fullDate)
-	}
-	/**
-	 * 璁剧疆鏃ユ湡
-	 * @param {Object} date
-	 */
-	setDate(date) {
-		this.selectDate = this.getDate(date)
-		this._getWeek(this.selectDate.fullDate)
-	}
-
-	/**
-	 * 娓呯悊澶氶�夌姸鎬�
-	 */
-	cleanMultipleStatus() {
-		this.multipleStatus = {
-			before: '',
-			after: '',
-			data: []
-		}
-	}
-
-	/**
-	 * 閲嶇疆寮�濮嬫棩鏈�
-	 */
-	resetSatrtDate(startDate) {
-		// 鑼冨洿寮�濮�
-		this.startDate = startDate
-
-	}
-
-	/**
-	 * 閲嶇疆缁撴潫鏃ユ湡
-	 */
-	resetEndDate(endDate) {
-		// 鑼冨洿缁撴潫
-		this.endDate = endDate
-	}
-
-	/**
-	 * 鑾峰彇浠绘剰鏃堕棿
-	 */
-	getDate(date, AddDayCount = 0, str = 'day') {
-		if (!date) {
-			date = new Date()
-		}
-		if (typeof date !== 'object') {
-			date = date.replace(/-/g, '/')
-		}
-		const dd = new Date(date)
-		switch (str) {
-			case 'day':
-				dd.setDate(dd.getDate() + AddDayCount) // 鑾峰彇AddDayCount澶╁悗鐨勬棩鏈�
-				break
-			case 'month':
-				if (dd.getDate() === 31) {
-					dd.setDate(dd.getDate() + AddDayCount)
-				} else {
-					dd.setMonth(dd.getMonth() + AddDayCount) // 鑾峰彇AddDayCount澶╁悗鐨勬棩鏈�
-				}
-				break
-			case 'year':
-				dd.setFullYear(dd.getFullYear() + AddDayCount) // 鑾峰彇AddDayCount澶╁悗鐨勬棩鏈�
-				break
-		}
-		const y = dd.getFullYear()
-		const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // 鑾峰彇褰撳墠鏈堜唤鐨勬棩鏈燂紝涓嶈冻10琛�0
-		const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // 鑾峰彇褰撳墠鍑犲彿锛屼笉瓒�10琛�0
-		return {
-			fullDate: y + '-' + m + '-' + d,
-			year: y,
-			month: m,
-			date: d,
-			day: dd.getDay()
-		}
-	}
-
-
-	/**
-	 * 鑾峰彇涓婃湀鍓╀綑澶╂暟
-	 */
-	_getLastMonthDays(firstDay, full) {
-		let dateArr = []
-		for (let i = firstDay; i > 0; i--) {
-			const beforeDate = new Date(full.year, full.month - 1, -i + 1).getDate()
-			dateArr.push({
-				date: beforeDate,
-				month: full.month - 1,
-				lunar: this.getlunar(full.year, full.month - 1, beforeDate),
-				disable: true
-			})
-		}
-		return dateArr
-	}
-	/**
-	 * 鑾峰彇鏈湀澶╂暟
-	 */
-	_currentMonthDys(dateData, full) {
-		let dateArr = []
-		let fullDate = this.date.fullDate
-		for (let i = 1; i <= dateData; i++) {
-			let nowDate = full.year + '-' + (full.month < 10 ?
-				full.month : full.month) + '-' + (i < 10 ?
-				'0' + i : i)
-			// 鏄惁浠婂ぉ
-			let isDay = fullDate === nowDate
-			// 鑾峰彇鎵撶偣淇℃伅
-			let info = this.selected && this.selected.find((item) => {
-				if (this.dateEqual(nowDate, item.date)) {
-					return item
-				}
-			})
-
-			// 鏃ユ湡绂佺敤
-			let disableBefore = true
-			let disableAfter = true
-			if (this.startDate) {
-				// let dateCompBefore = this.dateCompare(this.startDate, fullDate)
-				// disableBefore = this.dateCompare(dateCompBefore ? this.startDate : fullDate, nowDate)
-				disableBefore = this.dateCompare(this.startDate, nowDate)
-			}
-
-			if (this.endDate) {
-				// let dateCompAfter = this.dateCompare(fullDate, this.endDate)
-				// disableAfter = this.dateCompare(nowDate, dateCompAfter ? this.endDate : fullDate)
-				disableAfter = this.dateCompare(nowDate, this.endDate)
-			}
-			let multiples = this.multipleStatus.data
-			let checked = false
-			let multiplesStatus = -1
-			if (this.range) {
-				if (multiples) {
-					multiplesStatus = multiples.findIndex((item) => {
-						return this.dateEqual(item, nowDate)
-					})
-				}
-				if (multiplesStatus !== -1) {
-					checked = true
-				}
-			}
-			let data = {
-				fullDate: nowDate,
-				year: full.year,
-				date: i,
-				multiple: this.range ? checked : false,
-				beforeMultiple: this.dateEqual(this.multipleStatus.before, nowDate),
-				afterMultiple: this.dateEqual(this.multipleStatus.after, nowDate),
-				month: full.month,
-				lunar: this.getlunar(full.year, full.month, i),
-				disable: !(disableBefore && disableAfter),
-				isDay
-			}
-			if (info) {
-				data.extraInfo = info
-			}
-
-			dateArr.push(data)
-		}
-		return dateArr
-	}
-	/**
-	 * 鑾峰彇涓嬫湀澶╂暟
-	 */
-	_getNextMonthDays(surplus, full) {
-		let dateArr = []
-		for (let i = 1; i < surplus + 1; i++) {
-			dateArr.push({
-				date: i,
-				month: Number(full.month) + 1,
-				lunar: this.getlunar(full.year, Number(full.month) + 1, i),
-				disable: true
-			})
-		}
-		return dateArr
-	}
-
-	/**
-	 * 鑾峰彇褰撳墠鏃ユ湡璇︽儏
-	 * @param {Object} date
-	 */
-	getInfo(date) {
-		if (!date) {
-			date = new Date()
-		}
-		const dateInfo = this.canlender.find(item => item.fullDate === this.getDate(date).fullDate)
-		return dateInfo
-	}
-
-	/**
-	 * 姣旇緝鏃堕棿澶у皬
-	 */
-	dateCompare(startDate, endDate) {
-		// 璁$畻鎴鏃堕棿
-		startDate = new Date(startDate.replace('-', '/').replace('-', '/'))
-		// 璁$畻璇︾粏椤圭殑鎴鏃堕棿
-		endDate = new Date(endDate.replace('-', '/').replace('-', '/'))
-		if (startDate <= endDate) {
-			return true
-		} else {
-			return false
-		}
-	}
-
-	/**
-	 * 姣旇緝鏃堕棿鏄惁鐩哥瓑
-	 */
-	dateEqual(before, after) {
-		// 璁$畻鎴鏃堕棿
-		before = new Date(before.replace('-', '/').replace('-', '/'))
-		// 璁$畻璇︾粏椤圭殑鎴鏃堕棿
-		after = new Date(after.replace('-', '/').replace('-', '/'))
-		if (before.getTime() - after.getTime() === 0) {
-			return true
-		} else {
-			return false
-		}
-	}
-
-
-	/**
-	 * 鑾峰彇鏃ユ湡鑼冨洿鍐呮墍鏈夋棩鏈�
-	 * @param {Object} begin
-	 * @param {Object} end
-	 */
-	geDateAll(begin, end) {
-		var arr = []
-		var ab = begin.split('-')
-		var ae = end.split('-')
-		var db = new Date()
-		db.setFullYear(ab[0], ab[1] - 1, ab[2])
-		var de = new Date()
-		de.setFullYear(ae[0], ae[1] - 1, ae[2])
-		var unixDb = db.getTime() - 24 * 60 * 60 * 1000
-		var unixDe = de.getTime() - 24 * 60 * 60 * 1000
-		for (var k = unixDb; k <= unixDe;) {
-			k = k + 24 * 60 * 60 * 1000
-			arr.push(this.getDate(new Date(parseInt(k))).fullDate)
-		}
-		return arr
-	}
-	/**
-	 * 璁$畻闃村巻鏃ユ湡鏄剧ず
-	 */
-	getlunar(year, month, date) {
-		return CALENDAR.solar2lunar(year, month, date)
-	}
-	/**
-	 * 璁剧疆鎵撶偣
-	 */
-	setSelectInfo(data, value) {
-		this.selected = value
-		this._getWeek(data)
-	}
-
-	/**
-	 *  鑾峰彇澶氶�夌姸鎬�
-	 */
-	setMultiple(fullDate) {
-		let {
-			before,
-			after
-		} = this.multipleStatus
-
-		if (!this.range) return
-		if (before && after) {
-			this.multipleStatus.before = ''
-			this.multipleStatus.after = ''
-			this.multipleStatus.data = []
-		} else {
-			if (!before) {
-				this.multipleStatus.before = fullDate
-			} else {
-				this.multipleStatus.after = fullDate
-				if (this.dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {
-					this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after);
-				} else {
-					this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before);
-				}
-			}
-		}
-		this._getWeek(fullDate)
-	}
-
-	/**
-	 * 鑾峰彇姣忓懆鏁版嵁
-	 * @param {Object} dateData
-	 */
-	_getWeek(dateData) {
-		const {
-			year,
-			month
-		} = this.getDate(dateData)
-		let firstDay = new Date(year, month - 1, 1).getDay()
-		let currentDay = new Date(year, month, 0).getDate()
-		let dates = {
-			lastMonthDays: this._getLastMonthDays(firstDay, this.getDate(dateData)), // 涓婁釜鏈堟湯灏惧嚑澶�
-			currentMonthDys: this._currentMonthDys(currentDay, this.getDate(dateData)), // 鏈湀澶╂暟
-			nextMonthDays: [], // 涓嬩釜鏈堝紑濮嬪嚑澶�
-			weeks: []
-		}
-		let canlender = []
-		const surplus = 42 - (dates.lastMonthDays.length + dates.currentMonthDys.length)
-		dates.nextMonthDays = this._getNextMonthDays(surplus, this.getDate(dateData))
-		canlender = canlender.concat(dates.lastMonthDays, dates.currentMonthDys, dates.nextMonthDays)
-		let weeks = {}
-		// 鎷兼帴鏁扮粍  涓婁釜鏈堝紑濮嬪嚑澶� + 鏈湀澶╂暟+ 涓嬩釜鏈堝紑濮嬪嚑澶�
-		for (let i = 0; i < canlender.length; i++) {
-			if (i % 7 === 0) {
-				weeks[parseInt(i / 7)] = new Array(7)
-			}
-			weeks[parseInt(i / 7)][i % 7] = canlender[i]
-		}
-		this.canlender = canlender
-		this.weeks = weeks
-	}
-
-	//闈欐�佹柟娉�
-	// static init(date) {
-	// 	if (!this.instance) {
-	// 		this.instance = new Calendar(date);
-	// 	}
-	// 	return this.instance;
-	// }
-}
-
-
-export default Calendar
diff --git a/src/uni_modules/uni-calendar/package.json b/src/uni_modules/uni-calendar/package.json
deleted file mode 100644
index c59180c..0000000
--- a/src/uni_modules/uni-calendar/package.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
-  "id": "uni-calendar",
-  "displayName": "uni-calendar 鏃ュ巻",
-  "version": "1.4.7",
-  "description": "鏃ュ巻缁勪欢",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "鏃ュ巻",
-    "",
-    "鎵撳崱",
-    "鏃ュ巻閫夋嫨"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": [],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-calendar/readme.md b/src/uni_modules/uni-calendar/readme.md
deleted file mode 100644
index 4f3ca0e..0000000
--- a/src/uni_modules/uni-calendar/readme.md
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-## Calendar 鏃ュ巻
-> **缁勪欢鍚嶏細uni-calendar**
-> 浠g爜鍧楋細 `uCalendar`
-
-
-鏃ュ巻缁勪欢
-
-> **娉ㄦ剰浜嬮」**
-> 涓轰簡閬垮厤閿欒浣跨敤锛岀粰澶у甯︽潵涓嶅ソ鐨勫紑鍙戜綋楠岋紝璇峰湪浣跨敤缁勪欢鍓嶄粩缁嗛槄璇讳笅闈㈢殑娉ㄦ剰浜嬮」锛屽彲浠ュ府浣犻伩鍏嶄竴浜涢敊璇��
-> - 鏈粍浠跺啘鍘嗚浆鎹娇鐢ㄧ殑js鏄� [@1900-2100鍖洪棿鍐呯殑鍏巻銆佸啘鍘嗕簰杞琞(https://github.com/jjonline/calendar.js)  
-> - 浠呮敮鎸佽嚜瀹氫箟缁勪欢妯″紡
-> - `date`灞炴�т紶鍏ョ殑搴旇鏄竴涓� String 锛屽锛� 2019-06-27 锛岃�屼笉鏄� new Date()
-> - 閫氳繃 `insert` 灞炴�ф潵纭畾褰撳墠鐨勪簨浠舵槸 @change 杩樻槸 @confirm 銆傜悊搴斿悎骞朵负涓�涓簨浠讹紝浣嗘槸涓轰簡鍖哄垎妯″紡锛岀幇浣跨敤涓や釜浜嬩欢锛岃繖閲岄渶瑕佹敞鎰�
-> - 寮圭獥妯″紡涓嬫棤娉曢樆姝㈠悗闈㈢殑鍏冪礌婊氬姩锛屽鏈夐渶瑕侀樆姝紝璇峰湪寮圭獥寮瑰嚭鍚庯紝鎵嬪姩璁剧疆婊氬姩鍏冪礌涓轰笉鍙粴鍔�
-
-
-### 瀹夎鏂瑰紡
-
-鏈粍浠剁鍚圼easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)瑙勮寖锛宍HBuilderX 2.5.5`璧凤紝鍙渶灏嗘湰缁勪欢瀵煎叆椤圭洰锛屽湪椤甸潰`template`涓嵆鍙洿鎺ヤ娇鐢紝鏃犻渶鍦ㄩ〉闈腑`import`鍜屾敞鍐宍components`銆�
-
-濡傞渶閫氳繃`npm`鏂瑰紡浣跨敤`uni-ui`缁勪欢锛屽彟瑙佹枃妗o細[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55)
-
-### 鍩烘湰鐢ㄦ硶
-
-鍦� ``template`` 涓娇鐢ㄧ粍浠�
-
-```html
-<view>
-	<uni-calendar 
-	:insert="true"
-	:lunar="true" 
-	:start-date="'2019-3-2'"
-	:end-date="'2019-5-20'"
-	@change="change"
-	 />
-</view>
-```
-
-### 閫氳繃鏂规硶鎵撳紑鏃ュ巻
-
-闇�瑕佽缃� `insert` 涓� `false`
-
-```html
-<view>
-	<uni-calendar 
-	ref="calendar"
-	:insert="false"
-	@confirm="confirm"
-	 />
-	 <button @click="open">鎵撳紑鏃ュ巻</button>
-</view>
-```
-
-```javascript
-
-export default {
-	data() {
-		return {};
-	},
-	methods: {
-		open(){
-			this.$refs.calendar.open();
-		},
-		confirm(e) {
-			console.log(e);
-		}
-	}
-};
-
-```
-
-
-## API
-
-### Calendar Props
-
-|  灞炴�у悕	|    绫诲瀷	| 榛樿鍊紎 璇存槑																													|
-| 		| 																													|
-| date		| String	|-		| 鑷畾涔夊綋鍓嶆椂闂达紝榛樿涓轰粖澶�																							|
-| lunar		| Boolean	| false	| 鏄剧ず鍐滃巻																												|
-| startDate	| String	|-		| 鏃ユ湡閫夋嫨鑼冨洿-寮�濮嬫棩鏈�																									|
-| endDate	| String	|-		| 鏃ユ湡閫夋嫨鑼冨洿-缁撴潫鏃ユ湡																									|
-| range		| Boolean	| false	| 鑼冨洿閫夋嫨																												|
-| insert	| Boolean	| false	| 鎻掑叆妯″紡,鍙�夊�硷紝ture锛氭彃鍏ユā寮忥紱false锛氬脊绐楁ā寮忥紱榛樿涓烘彃鍏ユā寮�														|
-|clearDate	|Boolean	|true	|寮圭獥妯″紡鏄惁娓呯┖涓婃閫夋嫨鍐呭	|
-| selected	| Array		|-		| 鎵撶偣锛屾湡寰呮牸寮廩{date: '2019-06-27', info: '绛惧埌', data: { custom: '鑷畾涔変俊鎭�', name: '鑷畾涔夋秷鎭ご',xxx:xxx... }}]	|
-|showMonth	| Boolean	| true	| 鏄惁鏄剧ず鏈堜唤涓鸿儗鏅�																									|
-
-### Calendar Events
-
-|  浜嬩欢鍚�		| 璇存槑								|杩斿洖鍊紎
-| 								|		| 									|
-| open	| 寮瑰嚭鏃ュ巻缁勪欢锛宍insert :false` 鏃剁敓鏁坾- 	|
-
-
-
-
-
-## 缁勪欢绀轰緥
-
-鐐瑰嚮鏌ョ湅锛歔https://hellouniapp.dcloud.net.cn/pages/extUI/calendar/calendar](https://hellouniapp.dcloud.net.cn/pages/extUI/calendar/calendar)
\ No newline at end of file
diff --git a/src/uni_modules/uni-card/changelog.md b/src/uni_modules/uni-card/changelog.md
deleted file mode 100644
index c3cd8c4..0000000
--- a/src/uni_modules/uni-card/changelog.md
+++ /dev/null
@@ -1,26 +0,0 @@
-## 1.3.1锛�2021-12-20锛�
-- 淇 鍦╲ue椤甸潰涓嬬暐缂╁浘鏄剧ず涓嶆甯哥殑bug
-## 1.3.0锛�2021-11-19锛�
-- 閲嶆瀯鎻掓Ы鐨勭敤娉� 锛宧eader 鏇挎崲涓� title 
-- 鏂板 actions 鎻掓Ы
-- 鏂板 cover 灏侀潰鍥惧睘鎬у拰鎻掓Ы
-- 鏂板 padding 鍐呭榛樿鍐呰竟璺濈
-- 鏂板 margin 鍗$墖榛樿澶栬竟璺濈
-- 鏂板 spacing 鍗$墖榛樿鍐呰竟璺�
-- 鏂板 shadow 鍗$墖闃村奖灞炴��
-- 鍙栨秷 mode 灞炴�э紝鍙娇鐢ㄧ粍鍚堟彃妲戒唬鏇�
-- 鍙栨秷 note 灞炴�� 锛屼娇鐢╝ctions鎻掓Ы浠f浛
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-card](https://uniapp.dcloud.io/component/uniui/uni-card)
-## 1.2.1锛�2021-07-30锛�
-- 浼樺寲 vue3涓嬩簨浠惰鍛婄殑闂
-## 1.2.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰璇﹁ [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.1.8锛�2021-07-01锛�
-- 浼樺寲 鍥炬枃鍗$墖鏃犲浘鐗囧姞杞芥椂锛屾彁渚涘崰浣嶅浘鏍�
-- 鏂板 header 鎻掓Ы锛岃嚜瀹氫箟鍗$墖澶撮儴锛� 鍥炬枃鍗$墖 mode="style" 鏃讹紝涓嶆敮鎸侊級
-- 淇 thumbnail 涓嶅瓨鍦ㄤ粛鐒跺崰浣嶇殑 bug
-## 1.1.7锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.1.6锛�2021-02-04锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-card/components/uni-card/uni-card.vue b/src/uni_modules/uni-card/components/uni-card/uni-card.vue
deleted file mode 100644
index 38cf594..0000000
--- a/src/uni_modules/uni-card/components/uni-card/uni-card.vue
+++ /dev/null
@@ -1,270 +0,0 @@
-<template>
-	<view class="uni-card" :class="{ 'uni-card--full': isFull, 'uni-card--shadow': isShadow,'uni-card--border':border}"
-		:style="{'margin':isFull?0:margin,'padding':spacing,'box-shadow':isShadow?shadow:''}">
-		<!-- 灏侀潰 -->
-		<slot name="cover">
-			<view v-if="cover" class="uni-card__cover">
-				<image class="uni-card__cover-image" mode="widthFix" @click="onClick('cover')" :src="cover"></image>
-			</view>
-		</slot>
-		<slot name="title">
-			<view v-if="title || extra" class="uni-card__header">
-				<!-- 鍗$墖鏍囬 -->
-				<view class="uni-card__header-box" @click="onClick('title')">
-					<view v-if="thumbnail" class="uni-card__header-avatar">
-						<image class="uni-card__header-avatar-image" :src="thumbnail" mode="aspectFit" />
-					</view>
-					<view class="uni-card__header-content">
-						<text class="uni-card__header-content-title uni-ellipsis">{{ title }}</text>
-						<text v-if="title&&subTitle"
-							class="uni-card__header-content-subtitle uni-ellipsis">{{ subTitle }}</text>
-					</view>
-				</view>
-				<view class="uni-card__header-extra" @click="onClick('extra')">
-					<text class="uni-card__header-extra-text">{{ extra }}</text>
-				</view>
-			</view>
-		</slot>
-		<!-- 鍗$墖鍐呭 -->
-		<view class="uni-card__content" :style="{padding:padding}" @click="onClick('content')">
-			<slot></slot>
-		</view>
-		<view class="uni-card__actions" @click="onClick('actions')">
-			<slot name="actions"></slot>
-		</view>
-	</view>
-</template>
-
-<script>
-	/**
-	 * Card 鍗$墖
-	 * @description 鍗$墖瑙嗗浘缁勪欢
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=22
-	 * @property {String} title 鏍囬鏂囧瓧
-	 * @property {String} subTitle 鍓爣棰�
-	 * @property {Number} padding 鍐呭鍐呰竟璺�
-	 * @property {Number} margin 鍗$墖澶栬竟璺�
-	 * @property {Number} spacing 鍗$墖鍐呰竟璺�
-	 * @property {String} extra 鏍囬棰濆淇℃伅
-	 * @property {String} cover 灏侀潰鍥撅紙鏈湴璺緞闇�瑕佸紩鍏ワ級
-	 * @property {String} thumbnail 鏍囬宸︿晶缂╃暐鍥�
-	 * @property {Boolean} is-full = [true | false] 鍗$墖鍐呭鏄惁閫氭爮锛屼负 true 鏃跺皢鍘婚櫎padding鍊�
-	 * @property {Boolean} is-shadow = [true | false] 鍗$墖鍐呭鏄惁寮�鍚槾褰�
-	 * @property {String} shadow 鍗$墖闃村奖
-	 * @property {Boolean} border 鍗$墖杈规
-	 * @event {Function} click 鐐瑰嚮 Card 瑙﹀彂浜嬩欢
-	 */
-	export default {
-		name: 'UniCard',
-		emits: ['click'],
-		props: {
-			title: {
-				type: String,
-				default: ''
-			},
-			subTitle: {
-				type: String,
-				default: ''
-			},
-			padding: {
-				type: String,
-				default: '10px'
-			},
-			margin: {
-				type: String,
-				default: '15px'
-			},
-			spacing: {
-				type: String,
-				default: '0 10px'
-			},
-			extra: {
-				type: String,
-				default: ''
-			},
-			cover: {
-				type: String,
-				default: ''
-			},
-			thumbnail: {
-				type: String,
-				default: ''
-			},
-			isFull: {
-				// 鍐呭鍖哄煙鏄惁閫氭爮
-				type: Boolean,
-				default: false
-			},
-			isShadow: {
-				// 鏄惁寮�鍚槾褰�
-				type: Boolean,
-				default: true
-			},
-			shadow: {
-				type: String,
-				default: '0px 0px 3px 1px rgba(0, 0, 0, 0.08)'
-			},
-			border: {
-				type: Boolean,
-				default: true
-			}
-		},
-		methods: {
-			onClick(type) {
-				this.$emit('click', type)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	$uni-border-3: #EBEEF5 !default;
-	$uni-shadow-base:0 0px 6px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default;
-	$uni-main-color: #3a3a3a !default;
-	$uni-base-color: #6a6a6a !default;
-	$uni-secondary-color: #909399 !default;
-	$uni-spacing-sm: 8px !default;
-	$uni-border-color:$uni-border-3;
-	$uni-shadow: $uni-shadow-base;
-	$uni-card-title: 15px;
-	$uni-cart-title-color:$uni-main-color;
-	$uni-card-subtitle: 12px;
-	$uni-cart-subtitle-color:$uni-secondary-color;
-	$uni-card-spacing: 10px;
-	$uni-card-content-color: $uni-base-color;
-
-	.uni-card {
-		margin: $uni-card-spacing;
-		padding: 0 $uni-spacing-sm;
-		border-radius: 4px;
-		overflow: hidden;
-		font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun, sans-serif;
-		background-color: #fff;
-		flex: 1;
-
-		.uni-card__cover {
-			position: relative;
-			margin-top: $uni-card-spacing;
-			flex-direction: row;
-			overflow: hidden;
-			border-radius: 4px;
-			.uni-card__cover-image {
-				flex: 1;
-				// width: 100%;
-				/* #ifndef APP-PLUS */
-				vertical-align: middle;
-				/* #endif */
-			}
-		}
-
-		.uni-card__header {
-			display: flex;
-			border-bottom: 1px $uni-border-color solid;
-			flex-direction: row;
-			align-items: center;
-			padding: $uni-card-spacing;
-			overflow: hidden;
-
-			.uni-card__header-box {
-				/* #ifndef APP-NVUE */
-				display: flex;
-				/* #endif */
-				flex: 1;
-				flex-direction: row;
-				align-items: center;
-				overflow: hidden;
-			}
-
-			.uni-card__header-avatar {
-				width: 40px;
-				height: 40px;
-				overflow: hidden;
-				border-radius: 5px;
-				margin-right: $uni-card-spacing;
-				.uni-card__header-avatar-image {
-					flex: 1;
-					width: 40px;
-					height: 40px;
-				}
-			}
-
-			.uni-card__header-content {
-				/* #ifndef APP-NVUE */
-				display: flex;
-				/* #endif */
-				flex-direction: column;
-				justify-content: center;
-				flex: 1;
-				// height: 40px;
-				overflow: hidden;
-
-				.uni-card__header-content-title {
-					font-size: $uni-card-title;
-					color: $uni-cart-title-color;
-					// line-height: 22px;
-				}
-
-				.uni-card__header-content-subtitle {
-					font-size: $uni-card-subtitle;
-					margin-top: 5px;
-					color: $uni-cart-subtitle-color;
-				}
-			}
-
-			.uni-card__header-extra {
-				line-height: 12px;
-
-				.uni-card__header-extra-text {
-					font-size: 12px;
-					color: $uni-cart-subtitle-color;
-				}
-			}
-		}
-
-		.uni-card__content {
-			padding: $uni-card-spacing;
-			font-size: 14px;
-			color: $uni-card-content-color;
-			line-height: 22px;
-		}
-
-		.uni-card__actions {
-			font-size: 12px;
-		}
-	}
-
-	.uni-card--border {
-		border: 1px solid $uni-border-color;
-	}
-
-	.uni-card--shadow {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		box-shadow: $uni-shadow;
-		/* #endif */
-	}
-
-	.uni-card--full {
-		margin: 0;
-		border-left-width: 0;
-		border-left-width: 0;
-		border-radius: 0;
-	}
-
-	/* #ifndef APP-NVUE */
-	.uni-card--full:after {
-		border-radius: 0;
-	}
-
-	/* #endif */
-	.uni-ellipsis {
-		/* #ifndef APP-NVUE */
-		overflow: hidden;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-		/* #endif */
-		/* #ifdef APP-NVUE */
-		lines: 1;
-		/* #endif */
-	}
-</style>
diff --git a/src/uni_modules/uni-card/package.json b/src/uni_modules/uni-card/package.json
deleted file mode 100644
index f16224d..0000000
--- a/src/uni_modules/uni-card/package.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
-  "id": "uni-card",
-  "displayName": "uni-card 鍗$墖",
-  "version": "1.3.1",
-  "description": "Card 缁勪欢锛屾彁渚涘父瑙佺殑鍗$墖鏍峰紡銆�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "card",
-    "",
-    "鍗$墖"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-icons",
-			"uni-scss"
-		],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-card/readme.md b/src/uni_modules/uni-card/readme.md
deleted file mode 100644
index 7434e71..0000000
--- a/src/uni_modules/uni-card/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-## Card 鍗$墖
-> **缁勪欢鍚嶏細uni-card**
-> 浠g爜鍧楋細 `uCard`
-
-鍗$墖瑙嗗浘缁勪欢銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-card)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
-
-
diff --git a/src/uni_modules/uni-collapse/changelog.md b/src/uni_modules/uni-collapse/changelog.md
deleted file mode 100644
index 292e4c7..0000000
--- a/src/uni_modules/uni-collapse/changelog.md
+++ /dev/null
@@ -1,36 +0,0 @@
-## 1.4.3锛�2022-01-25锛�
-- 淇 鍒濆鍖栫殑鏃跺�� 锛宱pen 灞炴�уけ鏁堢殑bug
-## 1.4.2锛�2022-01-21锛�
-- 淇 寰俊灏忕▼搴弐esize鍚庣粍浠舵敹璧风殑bug
-## 1.4.1锛�2021-11-22锛�
-- 淇 vue3涓釜鍒玸css鍙橀噺鏃犳硶鎵惧埌鐨勯棶棰�
-## 1.4.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-collapse](https://uniapp.dcloud.io/component/uniui/uni-collapse)
-## 1.3.3锛�2021-08-17锛�
-- 浼樺寲 show-arrow 灞炴�ч粯璁や负true
-## 1.3.2锛�2021-08-17锛�
-- 鏂板 show-arrow 灞炴�э紝鎺у埗鏄惁鏄剧ず鍙充晶绠ご
-## 1.3.1锛�2021-07-30锛�
-- 浼樺寲 vue3涓嬪皬绋嬪簭浜嬩欢璀﹀憡鐨勯棶棰�
-## 1.3.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.2.2锛�2021-07-21锛�
-- 淇 鐢�1.2.0鐗堟湰寮曡捣鐨� change 浜嬩欢杩斿洖 undefined 鐨凚ug
-## 1.2.1锛�2021-07-21锛�
-- 浼樺寲 缁勪欢绀轰緥
-## 1.2.0锛�2021-07-21锛�
-- 鏂板 缁勪欢鎶樺彔鍔ㄧ敾
-- 鏂板 value\v-model 灞炴�� 锛屽姩鎬佷慨鏀归潰鏉挎姌鍙犵姸鎬�
-- 鏂板 title 鎻掓Ы 锛屽彲瀹氫箟闈㈡澘鏍囬
-- 鏂板 border 灞炴�� 锛屾樉绀洪殣钘忛潰鏉垮唴瀹瑰垎闅旂嚎
-- 鏂板 title-border 灞炴�� 锛屾樉绀洪殣钘忛潰鏉挎爣棰樺垎闅旂嚎
-- 淇 resize 鏂规硶澶辨晥鐨凚ug
-- 淇 change 浜嬩欢杩斿洖鍙傛暟涓嶆纭殑Bug
-- 浼樺寲 H5銆丄pp 骞冲彴鑷姩鏇村叿鍐呭鏇存柊楂樺害锛屾棤闇�璋冪敤 reszie() 鏂规硶
-## 1.1.7锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.1.6锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-## 1.1.5锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
\ No newline at end of file
diff --git a/src/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue b/src/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue
deleted file mode 100644
index d62a6a7..0000000
--- a/src/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item.vue
+++ /dev/null
@@ -1,402 +0,0 @@
-<template>
-	<view class="uni-collapse-item">
-		<!-- onClick(!isOpen) -->
-		<view @click="onClick(!isOpen)" class="uni-collapse-item__title"
-			:class="{'is-open':isOpen &&titleBorder === 'auto' ,'uni-collapse-item-border':titleBorder !== 'none'}">
-			<view class="uni-collapse-item__title-wrap">
-				<slot name="title">
-					<view class="uni-collapse-item__title-box" :class="{'is-disabled':disabled}">
-						<image v-if="thumb" :src="thumb" class="uni-collapse-item__title-img" />
-						<text class="uni-collapse-item__title-text">{{ title }}</text>
-					</view>
-				</slot>
-			</view>
-			<view v-if="showArrow"
-				:class="{ 'uni-collapse-item__title-arrow-active': isOpen, 'uni-collapse-item--animation': showAnimation === true }"
-				class="uni-collapse-item__title-arrow">
-				<uni-icons :color="disabled?'#ddd':'#bbb'" size="14" type="bottom" />
-			</view>
-		</view>
-		<view class="uni-collapse-item__wrap" :class="{'is--transition':showAnimation}"
-			:style="{height: (isOpen?height:0) +'px'}">
-			<view :id="elId" ref="collapse--hook" class="uni-collapse-item__wrap-content"
-				:class="{open:isheight,'uni-collapse-item--border':border&&isOpen}">
-				<slot></slot>
-			</view>
-		</view>
-
-	</view>
-</template>
-
-<script>
-	// #ifdef APP-NVUE
-	const dom = weex.requireModule('dom')
-	// #endif
-	/**
-	 * CollapseItem 鎶樺彔闈㈡澘瀛愮粍浠�
-	 * @description 鎶樺彔闈㈡澘瀛愮粍浠�
-	 * @property {String} title 鏍囬鏂囧瓧
-	 * @property {String} thumb 鏍囬宸︿晶缂╃暐鍥�
-	 * @property {String} name 鍞竴鏍囧織绗�
-	 * @property {Boolean} open = [true|false] 鏄惁灞曞紑缁勪欢
-	 * @property {Boolean} titleBorder = [true|false] 鏄惁鏄剧ず鏍囬鍒嗛殧绾�
-	 * @property {Boolean} border = [true|false] 鏄惁鏄剧ず鍒嗛殧绾�
-	 * @property {Boolean} disabled = [true|false] 鏄惁灞曞紑闈㈡澘
-	 * @property {Boolean} showAnimation = [true|false] 寮�鍚姩鐢�
-	 * @property {Boolean} showArrow = [true|false] 鏄惁鏄剧ず鍙充晶绠ご
-	 */
-	export default {
-		name: 'uniCollapseItem',
-		props: {
-			// 鍒楄〃鏍囬
-			title: {
-				type: String,
-				default: ''
-			},
-			name: {
-				type: [Number, String],
-				default: ''
-			},
-			// 鏄惁绂佺敤
-			disabled: {
-				type: Boolean,
-				default: false
-			},
-			// #ifdef APP-PLUS
-			// 鏄惁鏄剧ず鍔ㄧ敾,app 绔粯璁や笉寮�鍚姩鐢伙紝鍗¢】涓ラ噸
-			showAnimation: {
-				type: Boolean,
-				default: false
-			},
-			// #endif
-			// #ifndef APP-PLUS
-			// 鏄惁鏄剧ず鍔ㄧ敾
-			showAnimation: {
-				type: Boolean,
-				default: true
-			},
-			// #endif
-			// 鏄惁灞曞紑
-			open: {
-				type: Boolean,
-				default: false
-			},
-			// 缂╃暐鍥�
-			thumb: {
-				type: String,
-				default: ''
-			},
-			// 鏍囬鍒嗛殧绾挎樉绀虹被鍨�
-			titleBorder: {
-				type: String,
-				default: 'auto'
-			},
-			border: {
-				type: Boolean,
-				default: true
-			},
-			showArrow: {
-				type: Boolean,
-				default: true
-			}
-		},
-		data() {
-			// TODO 闅忔満鐢熺敓鍏冪礌ID锛岃В鍐崇櫨搴﹀皬绋嬪簭鑾峰彇鍚屼竴涓厓绱犱綅缃俊鎭殑bug
-			const elId = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}`
-			return {
-				isOpen: false,
-				isheight: null,
-				height: 0,
-				elId,
-				nameSync: 0
-			}
-		},
-		watch: {
-			open(val) {
-				this.isOpen = val
-				this.onClick(val, 'init')
-			}
-		},
-		updated(e) {
-			this.$nextTick(() => {
-				this.init(true)
-			})
-		},
-		created() {
-			this.collapse = this.getCollapse()
-			this.oldHeight = 0
-			this.onClick(this.open, 'init')
-		},
-		// #ifndef VUE3
-		// TODO vue2
-		destroyed() {
-			if (this.__isUnmounted) return
-			this.uninstall()
-		},
-		// #endif
-		// #ifdef VUE3
-		// TODO vue3
-		unmounted() {
-			this.__isUnmounted = true
-			this.uninstall()
-		},
-		// #endif
-		mounted() {
-			if (!this.collapse) return
-			if (this.name !== '') {
-				this.nameSync = this.name
-			} else {
-				this.nameSync = this.collapse.childrens.length + ''
-			}
-			if (this.collapse.names.indexOf(this.nameSync) === -1) {
-				this.collapse.names.push(this.nameSync)
-			} else {
-				console.warn(`name 鍊� ${this.nameSync} 閲嶅`);
-			}
-			if (this.collapse.childrens.indexOf(this) === -1) {
-				this.collapse.childrens.push(this)
-			}
-			this.init()
-		},
-		methods: {
-			init(type) {
-				// #ifndef APP-NVUE
-				this.getCollapseHeight(type)
-				// #endif
-				// #ifdef APP-NVUE
-				this.getNvueHwight(type)
-				// #endif
-			},
-			uninstall() {
-				if (this.collapse) {
-					this.collapse.childrens.forEach((item, index) => {
-						if (item === this) {
-							this.collapse.childrens.splice(index, 1)
-						}
-					})
-					this.collapse.names.forEach((item, index) => {
-						if (item === this.nameSync) {
-							this.collapse.names.splice(index, 1)
-						}
-					})
-				}
-			},
-			onClick(isOpen, type) {
-				if (this.disabled) return
-				this.isOpen = isOpen
-				if (this.isOpen && this.collapse) {
-					this.collapse.setAccordion(this)
-				}
-				if (type !== 'init') {
-					this.collapse.onChange(isOpen, this)
-				}
-			},
-			getCollapseHeight(type, index = 0) {
-				const views = uni.createSelectorQuery().in(this)
-				views
-					.select(`#${this.elId}`)
-					.fields({
-						size: true
-					}, data => {
-						// TODO 鐧惧害涓彲鑳借幏鍙栦笉鍒拌妭鐐逛俊鎭� 锛岄渶瑕佸惊鐜幏鍙�
-						if (index >= 10) return
-						if (!data) {
-							index++
-							this.getCollapseHeight(false, index)
-							return
-						}
-						// #ifdef APP-NVUE
-						this.height = data.height + 1
-						// #endif
-						// #ifndef APP-NVUE
-						this.height = data.height
-						// #endif
-						this.isheight = true
-						if (type) return
-						this.onClick(this.isOpen, 'init')
-					})
-					.exec()
-			},
-			getNvueHwight(type) {
-				const result = dom.getComponentRect(this.$refs['collapse--hook'], option => {
-					if (option && option.result && option.size) {
-						// #ifdef APP-NVUE
-						this.height = option.size.height + 1
-						// #endif
-						// #ifndef APP-NVUE
-						this.height = option.size.height
-						// #endif
-						this.isheight = true
-						if (type) return
-						this.onClick(this.open, 'init')
-					}
-				})
-			},
-			/**
-			 * 鑾峰彇鐖跺厓绱犲疄渚�
-			 */
-			getCollapse(name = 'uniCollapse') {
-				let parent = this.$parent;
-				let parentName = parent.$options.name;
-				while (parentName !== name) {
-					parent = parent.$parent;
-					if (!parent) return false;
-					parentName = parent.$options.name;
-				}
-				return parent;
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.uni-collapse-item {
-		/* #ifndef APP-NVUE */
-		box-sizing: border-box;
-
-		/* #endif */
-		&__title {
-			/* #ifndef APP-NVUE */
-			display: flex;
-			width: 100%;
-			box-sizing: border-box;
-			/* #endif */
-			flex-direction: row;
-			align-items: center;
-			transition: border-bottom-color .3s;
-
-			// transition-property: border-bottom-color;
-			// transition-duration: 5s;
-			&-wrap {
-				width: 100%;
-				flex: 1;
-
-			}
-
-			&-box {
-				padding: 0 15px;
-				/* #ifndef APP-NVUE */
-				display: flex;
-				width: 100%;
-				box-sizing: border-box;
-				/* #endif */
-				flex-direction: row;
-				justify-content: space-between;
-				align-items: center;
-				height: 48px;
-				line-height: 48px;
-				background-color: #fff;
-				color: #303133;
-				font-size: 13px;
-				font-weight: 500;
-				/* #ifdef H5 */
-				cursor: pointer;
-				outline: none;
-
-				/* #endif */
-				&.is-disabled {
-					.uni-collapse-item__title-text {
-						color: #999;
-					}
-				}
-
-			}
-
-			&.uni-collapse-item-border {
-				border-bottom: 1px solid #ebeef5;
-			}
-
-			&.is-open {
-				border-bottom-color: transparent;
-			}
-
-			&-img {
-				height: 22px;
-				width: 22px;
-				margin-right: 10px;
-			}
-
-			&-text {
-				flex: 1;
-				font-size: 14px;
-				/* #ifndef APP-NVUE */
-				white-space: nowrap;
-				color: inherit;
-				/* #endif */
-				/* #ifdef APP-NVUE */
-				lines: 1;
-				/* #endif */
-				overflow: hidden;
-				text-overflow: ellipsis;
-			}
-
-			&-arrow {
-				/* #ifndef APP-NVUE */
-				display: flex;
-				box-sizing: border-box;
-				/* #endif */
-				align-items: center;
-				justify-content: center;
-				width: 20px;
-				height: 20px;
-				margin-right: 10px;
-				transform: rotate(0deg);
-
-				&-active {
-					transform: rotate(-180deg);
-				}
-			}
-
-
-		}
-
-		&__wrap {
-			/* #ifndef APP-NVUE */
-			will-change: height;
-			box-sizing: border-box;
-			/* #endif */
-			background-color: #fff;
-			overflow: hidden;
-			position: relative;
-			height: 0;
-
-			&.is--transition {
-				// transition: all 0.3s;
-				transition-property: height, border-bottom-width;
-				transition-duration: 0.3s;
-				/* #ifndef APP-NVUE */
-				will-change: height;
-				/* #endif */
-			}
-
-
-
-			&-content {
-				position: absolute;
-				font-size: 13px;
-				color: #303133;
-				// transition: height 0.3s;
-				border-bottom-color: transparent;
-				border-bottom-style: solid;
-				border-bottom-width: 0;
-
-				&.uni-collapse-item--border {
-					border-bottom-width: 1px;
-					border-bottom-color: red;
-					border-bottom-color: #ebeef5;
-				}
-
-				&.open {
-					position: relative;
-				}
-			}
-		}
-
-		&--animation {
-			transition-property: transform;
-			transition-duration: 0.3s;
-			transition-timing-function: ease;
-		}
-
-	}
-</style>
diff --git a/src/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue b/src/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue
deleted file mode 100644
index 384c39a..0000000
--- a/src/uni_modules/uni-collapse/components/uni-collapse/uni-collapse.vue
+++ /dev/null
@@ -1,147 +0,0 @@
-<template>
-	<view class="uni-collapse">
-		<slot />
-	</view>
-</template>
-<script>
-	/**
-	 * Collapse 鎶樺彔闈㈡澘
-	 * @description 灞曠ず鍙互鎶樺彔 / 灞曞紑鐨勫唴瀹瑰尯鍩�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=23
-	 * @property {String|Array} value 褰撳墠婵�娲婚潰鏉挎敼鍙樻椂瑙﹀彂(濡傛灉鏄墜椋庣惔妯″紡锛屽弬鏁扮被鍨嬩负string锛屽惁鍒欎负array)
-	 * @property {Boolean} accordion = [true|false] 鏄惁寮�鍚墜椋庣惔鏁堟灉鏄惁寮�鍚墜椋庣惔鏁堟灉
-	 * @event {Function} change 鍒囨崲闈㈡澘鏃惰Е鍙戯紝濡傛灉鏄墜椋庣惔妯″紡锛岃繑鍥炵被鍨嬩负string锛屽惁鍒欎负array
-	 */
-	export default {
-		name: 'uniCollapse',
-		emits:['change','activeItem','input','update:modelValue'],
-		props: {
-			value: {
-				type: [String, Array],
-				default: ''
-			},
-			modelValue: {
-				type: [String, Array],
-				default: ''
-			},
-			accordion: {
-				// 鏄惁寮�鍚墜椋庣惔鏁堟灉
-				type: [Boolean, String],
-				default: false
-			},
-		},
-		data() {
-			return {}
-		},
-		computed: {
-			// TODO 鍏煎 vue2 鍜� vue3
-			dataValue() {
-				let value = (typeof this.value === 'string' && this.value === '') ||
-					(Array.isArray(this.value) && this.value.length === 0)
-				let modelValue = (typeof this.modelValue === 'string' && this.modelValue === '') ||
-					(Array.isArray(this.modelValue) && this.modelValue.length === 0)
-				if (value) {
-					return this.modelValue
-				}
-				if (modelValue) {
-					return this.value
-				}
-
-				return this.value
-			}
-		},
-		watch: {
-			dataValue(val) {
-				this.setOpen(val)
-			}
-		},
-		created() {
-			this.childrens = []
-			this.names = []
-		},
-		mounted() {
-			this.$nextTick(()=>{
-				this.setOpen(this.dataValue)
-			})
-		},
-		methods: {
-			setOpen(val) {
-				let str = typeof val === 'string'
-				let arr = Array.isArray(val)
-				this.childrens.forEach((vm, index) => {
-					if (str) {
-						if (val === vm.nameSync) {
-							if (!this.accordion) {
-								console.warn('accordion 灞炴�т负 false ,v-model 绫诲瀷搴旇涓� array')
-								return
-							}
-							vm.isOpen = true
-						}
-					}
-					if (arr) {
-						val.forEach(v => {
-							if (v === vm.nameSync) {
-								if (this.accordion) {
-									console.warn('accordion 灞炴�т负 true ,v-model 绫诲瀷搴旇涓� string')
-									return
-								}
-								vm.isOpen = true
-							}
-						})
-					}
-				})
-				this.emit(val)
-			},
-			setAccordion(self) {
-				if (!this.accordion) return
-				this.childrens.forEach((vm, index) => {
-					if (self !== vm) {
-						vm.isOpen = false
-					}
-				})
-			},
-			resize() {
-				this.childrens.forEach((vm, index) => {
-					// #ifndef APP-NVUE
-					vm.getCollapseHeight()
-					// #endif
-					// #ifdef APP-NVUE
-					vm.getNvueHwight()
-					// #endif
-				})
-			},
-			onChange(isOpen, self) {
-				let activeItem = []
-
-				if (this.accordion) {
-					activeItem = isOpen ? self.nameSync : ''
-				} else {
-					this.childrens.forEach((vm, index) => {
-						if (vm.isOpen) {
-							activeItem.push(vm.nameSync)
-						}
-					})
-				}
-				this.$emit('change', activeItem)
-				this.emit(activeItem)
-			},
-			emit(val){
-				this.$emit('input', val)
-				this.$emit('update:modelValue', val)
-			}
-		}
-	}
-</script>
-<style lang="scss" >
-	.uni-collapse {
-		/* #ifndef APP-NVUE */
-		width: 100%;
-		display: flex;
-		/* #endif */
-		/* #ifdef APP-NVUE */
-		flex: 1;
-		/* #endif */
-		flex-direction: column;
-		background-color: #fff;
-	}
-</style>
diff --git a/src/uni_modules/uni-collapse/package.json b/src/uni_modules/uni-collapse/package.json
deleted file mode 100644
index 65349cf..0000000
--- a/src/uni_modules/uni-collapse/package.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
-  "id": "uni-collapse",
-  "displayName": "uni-collapse 鎶樺彔闈㈡澘",
-  "version": "1.4.3",
-  "description": "Collapse 缁勪欢锛屽彲浠ユ姌鍙� / 灞曞紑鐨勫唴瀹瑰尯鍩熴��",
-  "keywords": [
-    "uni-ui",
-    "鎶樺彔",
-    "鎶樺彔闈㈡澘",
-    "鎵嬮鐞�"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-      "uni-icons"
-    ],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-collapse/readme.md b/src/uni_modules/uni-collapse/readme.md
deleted file mode 100644
index bc758eb..0000000
--- a/src/uni_modules/uni-collapse/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-## Collapse 鎶樺彔闈㈡澘
-> **缁勪欢鍚嶏細uni-collapse**
-> 浠g爜鍧楋細 `uCollapse`
-> 鍏宠仈缁勪欢锛歚uni-collapse-item`銆乣uni-icons`銆�
-
-
-鎶樺彔闈㈡澘鐢ㄦ潵鎶樺彔/鏄剧ず杩囬暱鐨勫唴瀹规垨鑰呮槸鍒楄〃銆傞�氬父鏄湪澶氬唴瀹瑰垎绫婚」浣跨敤锛屾姌鍙犱笉閲嶈鐨勫唴瀹癸紝鏄剧ず閲嶈鍐呭銆傜偣鍑诲彲浠ュ睍寮�鎶樺彔閮ㄥ垎銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-collapse)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-combox/changelog.md b/src/uni_modules/uni-combox/changelog.md
deleted file mode 100644
index 23c2748..0000000
--- a/src/uni_modules/uni-combox/changelog.md
+++ /dev/null
@@ -1,15 +0,0 @@
-## 1.0.1锛�2021-11-23锛�
-- 浼樺寲 label銆乴abel-width 灞炴��
-## 1.0.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-combox](https://uniapp.dcloud.io/component/uniui/uni-combox)
-## 0.1.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 0.0.6锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 0.0.5锛�2021-04-21锛�
-- 浼樺寲 娣诲姞渚濊禆 uni-icons, 瀵煎叆鍚庤嚜鍔ㄤ笅杞戒緷璧�
-## 0.0.4锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-## 0.0.3锛�2021-02-04锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-combox/components/uni-combox/uni-combox.vue b/src/uni_modules/uni-combox/components/uni-combox/uni-combox.vue
deleted file mode 100644
index 500b6f8..0000000
--- a/src/uni_modules/uni-combox/components/uni-combox/uni-combox.vue
+++ /dev/null
@@ -1,275 +0,0 @@
-<template>
-	<view class="uni-combox" :class="border ? '' : 'uni-combox__no-border'">
-		<view v-if="label" class="uni-combox__label" :style="labelStyle">
-			<text>{{label}}</text>
-		</view>
-		<view class="uni-combox__input-box">
-			<input class="uni-combox__input" type="text" :placeholder="placeholder" 
-			placeholder-class="uni-combox__input-plac" v-model="inputVal" @input="onInput" @focus="onFocus" 
-@blur="onBlur" />
-			<uni-icons :type="showSelector? 'top' : 'bottom'" size="14" color="#999" @click="toggleSelector">
-			</uni-icons>
-		</view>
-		<view class="uni-combox__selector" v-if="showSelector">
-			<view class="uni-popper__arrow"></view>
-			<scroll-view scroll-y="true" class="uni-combox__selector-scroll">
-				<view class="uni-combox__selector-empty" v-if="filterCandidatesLength === 0">
-					<text>{{emptyTips}}</text>
-				</view>
-				<view class="uni-combox__selector-item" v-for="(item,index) in filterCandidates" :key="index" 
-				@click="onSelectorClick(index)">
-					<text>{{item}}</text>
-				</view>
-			</scroll-view>
-		</view>
-	</view>
-</template>
-
-<script>
-	/**
-	 * Combox 缁勫悎杈撳叆妗�
-	 * @description 缁勫悎杈撳叆妗嗕竴鑸敤浜庢棦鍙互杈撳叆涔熷彲浠ラ�夋嫨鐨勫満鏅�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=1261
-	 * @property {String} label 宸︿晶鏂囧瓧
-	 * @property {String} labelWidth 宸︿晶鍐呭瀹藉害
-	 * @property {String} placeholder 杈撳叆妗嗗崰浣嶇
-	 * @property {Array} candidates 鍊欓�夐」鍒楄〃
-	 * @property {String} emptyTips 绛涢�夌粨鏋滀负绌烘椂鏄剧ず鐨勬枃瀛�
-	 * @property {String} value 缁勫悎妗嗙殑鍊�
-	 */
-	export default {
-		name: 'uniCombox',
-		emits: ['input', 'update:modelValue'],
-		props: {
-			border: {
-				type: Boolean,
-				default: true
-			},
-			label: {
-				type: String,
-				default: ''
-			},
-			labelWidth: {
-				type: String,
-				default: 'auto'
-			},
-			placeholder: {
-				type: String,
-				default: ''
-			},
-			candidates: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			emptyTips: {
-				type: String,
-				default: '鏃犲尮閰嶉」'
-			},
-			// #ifndef VUE3
-			value: {
-				type: [String, Number],
-				default: ''
-			},
-			// #endif
-			// #ifdef VUE3
-			modelValue: {
-				type: [String, Number],
-				default: ''
-			},
-			// #endif
-		},
-		data() {
-			return {
-				showSelector: false,
-				inputVal: ''
-			}
-		},
-		computed: {
-			labelStyle() {
-				if (this.labelWidth === 'auto') {
-					return ""
-				}
-				return `width: ${this.labelWidth}`
-			},
-			filterCandidates() {
-				return this.candidates.filter((item) => {
-					return item.toString().indexOf(this.inputVal) > -1
-				})
-			},
-			filterCandidatesLength() {
-				return this.filterCandidates.length
-			}
-		},
-		watch: {
-			// #ifndef VUE3
-			value: {
-				handler(newVal) {
-					this.inputVal = newVal
-				},
-				immediate: true
-			},
-			// #endif
-			// #ifdef VUE3
-			modelValue: {
-				handler(newVal) {
-					this.inputVal = newVal
-				},
-				immediate: true
-			},
-			// #endif
-		},
-		methods: {
-			toggleSelector() {
-				this.showSelector = !this.showSelector
-			},
-			onFocus() {
-				this.showSelector = true
-			},
-			onBlur() {
-				setTimeout(() => {
-					this.showSelector = false
-				}, 153)
-			},
-			onSelectorClick(index) {
-				this.inputVal = this.filterCandidates[index]
-				this.showSelector = false
-				this.$emit('input', this.inputVal)
-				this.$emit('update:modelValue', this.inputVal)
-			},
-			onInput() {
-				setTimeout(() => {
-					this.$emit('input', this.inputVal)
-					this.$emit('update:modelValue', this.inputVal)
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss" >
-	.uni-combox {
-		font-size: 14px;
-		border: 1px solid #DCDFE6;
-		border-radius: 4px;
-		padding: 6px 10px;
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		// height: 40px;
-		flex-direction: row;
-		align-items: center;
-		// border-bottom: solid 1px #DDDDDD;
-	}
-
-	.uni-combox__label {
-		font-size: 16px;
-		line-height: 22px;
-		padding-right: 10px;
-		color: #999999;
-	}
-
-	.uni-combox__input-box {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.uni-combox__input {
-		flex: 1;
-		font-size: 14px;
-		height: 22px;
-		line-height: 22px;
-	}
-
-	.uni-combox__input-plac {
-		font-size: 14px;
-		color: #999;
-	}
-
-	.uni-combox__selector {
-		/* #ifndef APP-NVUE */
-		box-sizing: border-box;
-		/* #endif */
-		position: absolute;
-		top: calc(100% + 12px);
-		left: 0;
-		width: 100%;
-		background-color: #FFFFFF;
-		border: 1px solid #EBEEF5;
-		border-radius: 6px;
-		box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
-		z-index: 2;
-		padding: 4px 0;
-	}
-
-	.uni-combox__selector-scroll {
-		/* #ifndef APP-NVUE */
-		max-height: 200px;
-		box-sizing: border-box;
-		/* #endif */
-	}
-
-	.uni-combox__selector-empty,
-	.uni-combox__selector-item {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		cursor: pointer;
-		/* #endif */
-		line-height: 36px;
-		font-size: 14px;
-		text-align: center;
-		// border-bottom: solid 1px #DDDDDD;
-		padding: 0px 10px;
-	}
-
-	.uni-combox__selector-item:hover {
-		background-color: #f9f9f9;
-	}
-
-	.uni-combox__selector-empty:last-child,
-	.uni-combox__selector-item:last-child {
-		/* #ifndef APP-NVUE */
-		border-bottom: none;
-		/* #endif */
-	}
-
-	// picker 寮瑰嚭灞傞�氱敤鐨勬寚绀哄皬涓夎
-	.uni-popper__arrow,
-	.uni-popper__arrow::after {
-		position: absolute;
-		display: block;
-		width: 0;
-		height: 0;
-		border-color: transparent;
-		border-style: solid;
-		border-width: 6px;
-	}
-
-	.uni-popper__arrow {
-		filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
-		top: -6px;
-		left: 10%;
-		margin-right: 3px;
-		border-top-width: 0;
-		border-bottom-color: #EBEEF5;
-	}
-
-	.uni-popper__arrow::after {
-		content: " ";
-		top: 1px;
-		margin-left: -6px;
-		border-top-width: 0;
-		border-bottom-color: #fff;
-	}
-
-	.uni-combox__no-border {
-		border: none;
-	}
-</style>
diff --git a/src/uni_modules/uni-combox/package.json b/src/uni_modules/uni-combox/package.json
deleted file mode 100644
index 4a05c3f..0000000
--- a/src/uni_modules/uni-combox/package.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
-  "id": "uni-combox",
-  "displayName": "uni-combox 缁勫悎妗�",
-  "version": "1.0.1",
-  "description": "鍙互閫夋嫨涔熷彲浠ヨ緭鍏ョ殑琛ㄥ崟椤� ",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "combox",
-    "缁勫悎妗�",
-    "select"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-			"uni-icons"
-		],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "n"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-combox/readme.md b/src/uni_modules/uni-combox/readme.md
deleted file mode 100644
index ffa2cc8..0000000
--- a/src/uni_modules/uni-combox/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-## Combox 缁勫悎妗�
-> **缁勪欢鍚嶏細uni-combox**
-> 浠g爜鍧楋細 `uCombox`
-
-
-缁勫悎妗嗙粍浠躲��
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-combox)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-countdown/changelog.md b/src/uni_modules/uni-countdown/changelog.md
deleted file mode 100644
index f25beef..0000000
--- a/src/uni_modules/uni-countdown/changelog.md
+++ /dev/null
@@ -1,24 +0,0 @@
-## 1.2.2锛�2022-01-19锛�
-- 淇 鍦ㄥ井淇″皬绋嬪簭涓牱寮忎笉鐢熸晥鐨刡ug
-## 1.2.1锛�2022-01-18锛�
-- 鏂板 update 鏂规硶 锛屽湪鍔ㄦ�佹洿鏂版椂闂村悗锛屽埛鏂扮粍浠�
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-countdown](https://uniapp.dcloud.io/component/uniui/uni-countdown)
-## 1.1.3锛�2021-10-18锛�
-- 閲嶆瀯
-- 鏂板 font-size 鏀寔鑷畾涔夊瓧浣撳ぇ灏�
-## 1.1.2锛�2021-08-24锛�
-- 鏂板 鏀寔鍥介檯鍖�
-## 1.1.1锛�2021-07-30锛�
-- 浼樺寲 vue3涓嬪皬绋嬪簭浜嬩欢璀﹀憡鐨勯棶棰�
-## 1.1.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.5锛�2021-06-18锛�
-- 淇 uni-countdown 閲嶅璧嬪�艰烦涓ょ鐨� bug
-## 1.0.4锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.0.3锛�2021-05-08锛�
-- 淇 uni-countdown 涓嶈兘鎺у埗鍊掕鏃剁殑 bug
-## 1.0.2锛�2021-02-04锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json b/src/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json
deleted file mode 100644
index 06309cb..0000000
--- a/src/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-	"uni-countdown.day": "day",
-	"uni-countdown.h": "h",
-	"uni-countdown.m": "m",
-	"uni-countdown.s": "s"
-}
diff --git a/src/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js b/src/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js
deleted file mode 100644
index de7509c..0000000
--- a/src/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import en from './en.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
-	en,
-	'zh-Hans': zhHans,
-	'zh-Hant': zhHant
-}
diff --git a/src/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json b/src/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json
deleted file mode 100644
index 358cdd1..0000000
--- a/src/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-	"uni-countdown.day": "澶�",
-	"uni-countdown.h": "鏃�",
-	"uni-countdown.m": "鍒�",
-	"uni-countdown.s": "绉�"
-}
diff --git a/src/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json b/src/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json
deleted file mode 100644
index e5a63de..0000000
--- a/src/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-	"uni-countdown.day": "澶�",
-	"uni-countdown.h": "鏅�",
-	"uni-countdown.m": "鍒�",
-	"uni-countdown.s": "绉�"
-}
diff --git a/src/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue b/src/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue
deleted file mode 100644
index 1f8ef4e..0000000
--- a/src/uni_modules/uni-countdown/components/uni-countdown/uni-countdown.vue
+++ /dev/null
@@ -1,271 +0,0 @@
-<template>
-	<view class="uni-countdown">
-		<text v-if="showDay" :style="[timeStyle]" class="uni-countdown__number">{{ d }}</text>
-		<text v-if="showDay" :style="[splitorStyle]" class="uni-countdown__splitor">{{dayText}}</text>
-		<text :style="[timeStyle]" class="uni-countdown__number">{{ h }}</text>
-		<text :style="[splitorStyle]" class="uni-countdown__splitor">{{ showColon ? ':' : hourText }}</text>
-		<text :style="[timeStyle]" class="uni-countdown__number">{{ i }}</text>
-		<text :style="[splitorStyle]" class="uni-countdown__splitor">{{ showColon ? ':' : minuteText }}</text>
-		<text :style="[timeStyle]" class="uni-countdown__number">{{ s }}</text>
-		<text v-if="!showColon" :style="[splitorStyle]" class="uni-countdown__splitor">{{secondText}}</text>
-	</view>
-</template>
-<script>
-	import {
-		initVueI18n
-	} from '@dcloudio/uni-i18n'
-	import messages from './i18n/index.js'
-	const {
-		t
-	} = initVueI18n(messages)
-	/**
-	 * Countdown 鍊掕鏃�
-	 * @description 鍊掕鏃剁粍浠�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=25
-	 * @property {String} backgroundColor 鑳屾櫙鑹�
-	 * @property {String} color 鏂囧瓧棰滆壊
-	 * @property {Number} day 澶╂暟
-	 * @property {Number} hour 灏忔椂
-	 * @property {Number} minute 鍒嗛挓
-	 * @property {Number} second 绉�
-	 * @property {Number} timestamp 鏃堕棿鎴�
-	 * @property {Boolean} showDay = [true|false] 鏄惁鏄剧ず澶╂暟
-	 * @property {Boolean} show-colon = [true|false] 鏄惁浠ュ啋鍙蜂负鍒嗛殧绗�
-	 * @property {String} splitorColor 鍒嗗壊绗﹀彿棰滆壊
-	 * @event {Function} timeup 鍊掕鏃舵椂闂村埌瑙﹀彂浜嬩欢
-	 * @example <uni-countdown :day="1" :hour="1" :minute="12" :second="40"></uni-countdown>
-	 */
-	export default {
-		name: 'UniCountdown',
-		emits: ['timeup'],
-		props: {
-			showDay: {
-				type: Boolean,
-				default: true
-			},
-			showColon: {
-				type: Boolean,
-				default: true
-			},
-			start: {
-				type: Boolean,
-				default: true
-			},
-			backgroundColor: {
-				type: String,
-				default: ''
-			},
-			color: {
-				type: String,
-				default: '#333'
-			},
-			fontSize: {
-				type: Number,
-				default: 14
-			},
-			splitorColor: {
-				type: String,
-				default: '#333'
-			},
-			day: {
-				type: Number,
-				default: 0
-			},
-			hour: {
-				type: Number,
-				default: 0
-			},
-			minute: {
-				type: Number,
-				default: 0
-			},
-			second: {
-				type: Number,
-				default: 0
-			},
-			timestamp: {
-				type: Number,
-				default: 0
-			}
-		},
-		data() {
-			return {
-				timer: null,
-				syncFlag: false,
-				d: '00',
-				h: '00',
-				i: '00',
-				s: '00',
-				leftTime: 0,
-				seconds: 0
-			}
-		},
-		computed: {
-			dayText() {
-				return t("uni-countdown.day")
-			},
-			hourText(val) {
-				return t("uni-countdown.h")
-			},
-			minuteText(val) {
-				return t("uni-countdown.m")
-			},
-			secondText(val) {
-				return t("uni-countdown.s")
-			},
-			timeStyle() {
-				const {
-					color,
-					backgroundColor,
-					fontSize
-				} = this
-				return {
-					color,
-					backgroundColor,
-					fontSize: `${fontSize}px`,
-					width: `${fontSize * 22 / 14}px`, // 鎸夊瓧浣撳ぇ灏忎负 14px 鏃剁殑姣斾緥缂╂斁
- 					lineHeight: `${fontSize * 20 / 14}px`,
-					borderRadius: `${fontSize * 3 / 14}px`,
-				}
-			},
-			splitorStyle() {
-				const { splitorColor, fontSize, backgroundColor } = this
-				return {
-					color: splitorColor,
-					fontSize: `${fontSize * 12 / 14}px`,
-					margin: backgroundColor ? `${fontSize * 4 / 14}px` : ''
-				}
-			}
-		},
-		watch: {
-			day(val) {
-				this.changeFlag()
-			},
-			hour(val) {
-				this.changeFlag()
-			},
-			minute(val) {
-				this.changeFlag()
-			},
-			second(val) {
-				this.changeFlag()
-			},
-			start: {
-				immediate: true,
-				handler(newVal, oldVal) {
-					if (newVal) {
-						this.startData();
-					} else {
-						if (!oldVal) return
-						clearInterval(this.timer)
-					}
-				}
-
-			}
-		},
-		created: function(e) {
-			this.seconds = this.toSeconds(this.timestamp, this.day, this.hour, this.minute, this.second)
-			this.countDown()
-		},
-		// #ifndef VUE3
-		destroyed() {
-			clearInterval(this.timer)
-		},
-		// #endif
-		// #ifdef VUE3
-		unmounted() {
-			clearInterval(this.timer)
-		},
-		// #endif
-		methods: {
-			toSeconds(timestamp, day, hours, minutes, seconds) {
-				if (timestamp) {
-					return timestamp - parseInt(new Date().getTime() / 1000, 10)
-				}
-				return day * 60 * 60 * 24 + hours * 60 * 60 + minutes * 60 + seconds
-			},
-			timeUp() {
-				clearInterval(this.timer)
-				this.$emit('timeup')
-			},
-			countDown() {
-				let seconds = this.seconds
-				let [day, hour, minute, second] = [0, 0, 0, 0]
-				if (seconds > 0) {
-					day = Math.floor(seconds / (60 * 60 * 24))
-					hour = Math.floor(seconds / (60 * 60)) - (day * 24)
-					minute = Math.floor(seconds / 60) - (day * 24 * 60) - (hour * 60)
-					second = Math.floor(seconds) - (day * 24 * 60 * 60) - (hour * 60 * 60) - (minute * 60)
-				} else {
-					this.timeUp()
-				}
-				if (day < 10) {
-					day = '0' + day
-				}
-				if (hour < 10) {
-					hour = '0' + hour
-				}
-				if (minute < 10) {
-					minute = '0' + minute
-				}
-				if (second < 10) {
-					second = '0' + second
-				}
-				this.d = day
-				this.h = hour
-				this.i = minute
-				this.s = second
-			},
-			startData() {
-				this.seconds = this.toSeconds(this.timestamp, this.day, this.hour, this.minute, this.second)
-				if (this.seconds <= 0) {
-					this.seconds = this.toSeconds(0, 0, 0, 0, 0)
-					this.countDown()
-					return
-				}
-				clearInterval(this.timer)
-				this.countDown()
-				this.timer = setInterval(() => {
-					this.seconds--
-					if (this.seconds < 0) {
-						this.timeUp()
-						return
-					}
-					this.countDown()
-				}, 1000)
-			},
-			update(){
-				this.startData();
-			},
-			changeFlag() {
-				if (!this.syncFlag) {
-					this.seconds = this.toSeconds(this.timestamp, this.day, this.hour, this.minute, this.second)
-					this.startData();
-					this.syncFlag = true;
-				}
-			}
-		}
-	}
-</script>
-<style lang="scss" scoped>
-	$font-size: 14px;
-
-	.uni-countdown {
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-start;
-		align-items: center;
-
-		&__splitor {
-			margin: 0 2px;
-			font-size: $font-size;
-			color: #333;
-		}
-
-		&__number {
-			border-radius: 3px;
-			text-align: center;
-			font-size: $font-size;
-		}
-	}
-</style>
diff --git a/src/uni_modules/uni-countdown/package.json b/src/uni_modules/uni-countdown/package.json
deleted file mode 100644
index 70e99ee..0000000
--- a/src/uni_modules/uni-countdown/package.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
-  "id": "uni-countdown",
-  "displayName": "uni-countdown 鍊掕鏃�",
-  "version": "1.2.2",
-  "description": "CountDown 鍊掕鏃剁粍浠�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "countdown",
-    "鍊掕鏃�"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-countdown/readme.md b/src/uni_modules/uni-countdown/readme.md
deleted file mode 100644
index 4bcb1aa..0000000
--- a/src/uni_modules/uni-countdown/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-## CountDown 鍊掕鏃�
-> **缁勪欢鍚嶏細uni-countdown**
-> 浠g爜鍧楋細 `uCountDown`
-
-鍊掕鏃剁粍浠躲��
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-countdown)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-data-checkbox/changelog.md b/src/uni_modules/uni-data-checkbox/changelog.md
deleted file mode 100644
index c7a468a..0000000
--- a/src/uni_modules/uni-data-checkbox/changelog.md
+++ /dev/null
@@ -1,45 +0,0 @@
-## 1.0.3锛�2022-09-16锛�
-- 鍙互浣跨敤 uni-scss 鎺у埗涓婚鑹�
-## 1.0.2锛�2022-06-30锛�
-- 浼樺寲 鍦� uni-forms 涓殑渚濊禆娉ㄥ叆鏂瑰紡
-## 1.0.1锛�2022-02-07锛�
-- 淇 multiple 涓� true 鏃讹紝v-model 鐨勫�间负 null 鎶ラ敊鐨� bug
-## 1.0.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-data-checkbox](https://uniapp.dcloud.io/component/uniui/uni-data-checkbox)
-## 0.2.5锛�2021-08-23锛�
-- 淇 鍦╱ni-forms涓� modelValue 涓笉瀛樺湪褰撳墠瀛楁锛屽綋鍓嶅瓧娈靛繀濉啓涔熶笉鍙備笌鏍¢獙鐨勯棶棰�
-## 0.2.4锛�2021-08-17锛�
-- 淇 鍗曢�� list 妯″紡涓� 锛宨con 涓� left 鏃讹紝閫変腑鍥炬爣涓嶆樉绀虹殑闂
-## 0.2.3锛�2021-08-11锛�
-- 淇 鍦� uni-forms 涓噸缃〃鍗曪紝閿欒淇℃伅鏃犳硶娓呴櫎鐨勯棶棰�
-## 0.2.2锛�2021-07-30锛�
-- 浼樺寲 鍦╱ni-forms缁勪欢锛屼笌label涓嶅榻愮殑闂
-## 0.2.1锛�2021-07-27锛�
-- 淇 鍗曢�夐粯璁ゅ�间负0涓嶈兘閫変腑鐨凚ug
-## 0.2.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 0.1.11锛�2021-07-06锛�
-- 浼樺寲 鍒犻櫎鏃犵敤鏃ュ織
-## 0.1.10锛�2021-07-05锛�
-- 淇 鐢� 0.1.9 寮曡捣鐨勯潪 nvue 绔浘鏍囦笉鏄剧ず鐨勯棶棰�
-## 0.1.9锛�2021-07-05锛�
-- 淇 nvue 榛戞鏍峰紡闂
-## 0.1.8锛�2021-06-28锛�
-- 淇 selectedTextColor 灞炴�т笉鐢熸晥鐨凚ug
-## 0.1.7锛�2021-06-02锛�
-- 鏂板 map 灞炴�э紝鍙互鏂逛究鏄犲皠text/value灞炴��
-## 0.1.6锛�2021-05-26锛�
-- 淇 涓嶅叧鑱旀湇鍔$┖闂寸殑鎯呭喌涓嬬粍浠舵姤閿欑殑Bug
-## 0.1.5锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 0.1.4锛�2021-04-09锛�
-- 淇 nvue 涓嬫棤娉曢�変腑鐨勯棶棰�
-## 0.1.3锛�2021-03-22锛�
-- 鏂板 disabled灞炴��
-## 0.1.2锛�2021-02-24锛�
-- 浼樺寲 榛樿棰滆壊鏄剧ず
-## 0.1.1锛�2021-02-24锛�
-- 鏂板 鏀寔nvue
-## 0.1.0锛�2021-02-18锛�
-- 鈥滄殏鏃犳暟鎹�濇樉绀哄眳涓�
diff --git a/src/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue b/src/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue
deleted file mode 100644
index 3c75d9f..0000000
--- a/src/uni_modules/uni-data-checkbox/components/uni-data-checkbox/uni-data-checkbox.vue
+++ /dev/null
@@ -1,821 +0,0 @@
-<template>
-	<view class="uni-data-checklist" :style="{'margin-top':isTop+'px'}">
-		<template v-if="!isLocal">
-			<view class="uni-data-loading">
-				<uni-load-more v-if="!mixinDatacomErrorMessage" status="loading" iconType="snow" :iconSize="18" :content-text="contentText"></uni-load-more>
-				<text v-else>{{mixinDatacomErrorMessage}}</text>
-			</view>
-		</template>
-		<template v-else>
-			<checkbox-group v-if="multiple" class="checklist-group" :class="{'is-list':mode==='list' || wrap}" @change="chagne">
-				<label class="checklist-box" :class="['is--'+mode,item.selected?'is-checked':'',(disabled || !!item.disabled)?'is-disable':'',index!==0&&mode==='list'?'is-list-border':'']"
-				 :style="item.styleBackgroud" v-for="(item,index) in dataList" :key="index">
-					<checkbox class="hidden" hidden :disabled="disabled || !!item.disabled" :value="item[map.value]+''" :checked="item.selected" />
-					<view v-if="(mode !=='tag' && mode !== 'list') || ( mode === 'list' && icon === 'left')" class="checkbox__inner"  :style="item.styleIcon">
-						<view class="checkbox__inner-icon"></view>
-					</view>
-					<view class="checklist-content" :class="{'list-content':mode === 'list' && icon ==='left'}">
-						<text class="checklist-text" :style="item.styleIconText">{{item[map.text]}}</text>
-						<view v-if="mode === 'list' && icon === 'right'" class="checkobx__list" :style="item.styleBackgroud"></view>
-					</view>
-				</label>
-			</checkbox-group>
-			<radio-group v-else class="checklist-group" :class="{'is-list':mode==='list','is-wrap':wrap}" @change="chagne">
-				<!-- -->
-				<label class="checklist-box" :class="['is--'+mode,item.selected?'is-checked':'',(disabled || !!item.disabled)?'is-disable':'',index!==0&&mode==='list'?'is-list-border':'']"
-				 :style="item.styleBackgroud" v-for="(item,index) in dataList" :key="index">
-					<radio class="hidden" hidden :disabled="disabled || item.disabled" :value="item[map.value]+''" :checked="item.selected" />
-					<view v-if="(mode !=='tag' && mode !== 'list') || ( mode === 'list' && icon === 'left')" class="radio__inner"
-					 :style="item.styleBackgroud">
-						<view class="radio__inner-icon" :style="item.styleIcon"></view>
-					</view>
-					<view class="checklist-content" :class="{'list-content':mode === 'list' && icon ==='left'}">
-						<text class="checklist-text" :style="item.styleIconText">{{item[map.text]}}</text>
-						<view v-if="mode === 'list' && icon === 'right'" :style="item.styleRightIcon" class="checkobx__list"></view>
-					</view>
-				</label>
-			</radio-group>
-		</template>
-	</view>
-</template>
-
-<script>
-	/**
-	 * DataChecklist 鏁版嵁閫夋嫨鍣�
-	 * @description 閫氳繃鏁版嵁娓叉煋 checkbox 鍜� radio
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=xxx
-	 * @property {String} mode = [default| list | button | tag] 鏄剧ず妯″紡
-	 * @value default  	榛樿妯帓妯″紡
-	 * @value list		鍒楄〃妯″紡
-	 * @value button	鎸夐挳妯″紡
-	 * @value tag 		鏍囩妯″紡
-	 * @property {Boolean} multiple = [true|false] 鏄惁澶氶��
-	 * @property {Array|String|Number} value 榛樿鍊�
-	 * @property {Array} localdata 鏈湴鏁版嵁 锛屾牸寮� [{text:'',value:''}]
-	 * @property {Number|String} min 鏈�灏忛�夋嫨涓暟 锛宮ultiple涓簍rue鏃剁敓鏁�
-	 * @property {Number|String} max 鏈�澶ч�夋嫨涓暟 锛宮ultiple涓簍rue鏃剁敓鏁�
-	 * @property {Boolean} wrap 鏄惁鎹㈣鏄剧ず
-	 * @property {String} icon = [left|right]  list 鍒楄〃妯″紡涓媔con鏄剧ず浣嶇疆
-	 * @property {Boolean} selectedColor 閫変腑棰滆壊
-	 * @property {Boolean} emptyText 娌℃湁鏁版嵁鏃舵樉绀虹殑鏂囧瓧 锛屾湰鍦版暟鎹棤鏁�
-	 * @property {Boolean} selectedTextColor 閫変腑鏂囨湰棰滆壊锛屽涓嶅~鍐欏垯鑷姩鏄剧ず
-	 * @property {Object} map 瀛楁鏄犲皠锛� 榛樿 map={text:'text',value:'value'}
-	 * @value left 宸︿晶鏄剧ず
-	 * @value right 鍙充晶鏄剧ず
-	 * @event {Function} change  閫変腑鍙戠敓鍙樺寲瑙﹀彂
-	 */
-
-	export default {
-		name: 'uniDataChecklist',
-		mixins: [uniCloud.mixinDatacom || {}],
-		emits:['input','update:modelValue','change'],
-		props: {
-			mode: {
-				type: String,
-				default: 'default'
-			},
-
-			multiple: {
-				type: Boolean,
-				default: false
-			},
-			value: {
-				type: [Array, String, Number],
-				default () {
-					return ''
-				}
-			},
-			// TODO vue3
-			modelValue: {
-				type: [Array, String, Number],
-				default() {
-					return '';
-				}
-			},
-			localdata: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			min: {
-				type: [Number, String],
-				default: ''
-			},
-			max: {
-				type: [Number, String],
-				default: ''
-			},
-			wrap: {
-				type: Boolean,
-				default: false
-			},
-			icon: {
-				type: String,
-				default: 'left'
-			},
-			selectedColor: {
-				type: String,
-				default: ''
-			},
-			selectedTextColor: {
-				type: String,
-				default: ''
-			},
-			emptyText:{
-				type: String,
-				default: '鏆傛棤鏁版嵁'
-			},
-			disabled:{
-				type: Boolean,
-				default: false
-			},
-			map:{
-				type: Object,
-				default(){
-					return {
-						text:'text',
-						value:'value'
-					}
-				}
-			}
-		},
-		watch: {
-			localdata: {
-				handler(newVal) {
-					this.range = newVal
-					this.dataList = this.getDataList(this.getSelectedValue(newVal))
-				},
-				deep: true
-			},
-			mixinDatacomResData(newVal) {
-				this.range = newVal
-				this.dataList = this.getDataList(this.getSelectedValue(newVal))
-			},
-			value(newVal) {
-				this.dataList = this.getDataList(newVal)
-				// fix by mehaotian is_reset 鍦� uni-forms 涓畾涔�
-				// if(!this.is_reset){
-				// 	this.is_reset = false
-				// 	this.formItem && this.formItem.setValue(newVal)
-				// }
-			},
-			modelValue(newVal) {
-				this.dataList = this.getDataList(newVal);
-				// if(!this.is_reset){
-				// 	this.is_reset = false
-				// 	this.formItem && this.formItem.setValue(newVal)
-				// }
-			}
-		},
-		data() {
-			return {
-				dataList: [],
-				range: [],
-				contentText: {
-					contentdown: '鏌ョ湅鏇村',
-					contentrefresh: '鍔犺浇涓�',
-					contentnomore: '娌℃湁鏇村'
-				},
-				isLocal:true,
-				styles: {
-					selectedColor: '#2979ff',
-					selectedTextColor: '#666',
-				},
-				isTop:0
-			};
-		},
-		computed:{
-			dataValue(){
-				if(this.value === '')return this.modelValue
-				if(this.modelValue === '') return this.value
-				return this.value
-			}
-		},
-		created() {
-			// this.form = this.getForm('uniForms')
-			// this.formItem = this.getForm('uniFormsItem')
-			// this.formItem && this.formItem.setValue(this.value)
-
-			// if (this.formItem) {
-			// 	this.isTop = 6
-			// 	if (this.formItem.name) {
-			// 		// 濡傛灉瀛樺湪name娣诲姞榛樿鍊�,鍚﹀垯formData 涓笉瀛樺湪杩欎釜瀛楁涓嶆牎楠�
-			// 		if(!this.is_reset){
-			// 			this.is_reset = false
-			// 			this.formItem.setValue(this.dataValue)
-			// 		}
-			// 		this.rename = this.formItem.name
-			// 		this.form.inputChildrens.push(this)
-			// 	}
-			// }
-
-			if (this.localdata && this.localdata.length !== 0) {
-				this.isLocal = true
-				this.range = this.localdata
-				this.dataList = this.getDataList(this.getSelectedValue(this.range))
-			} else {
-				if (this.collection) {
-					this.isLocal = false
-					this.loadData()
-				}
-			}
-		},
-		methods: {
-			loadData() {
-				this.mixinDatacomGet().then(res=>{
-					this.mixinDatacomResData = res.result.data
-					if(this.mixinDatacomResData.length === 0){
-						this.isLocal = false
-						this.mixinDatacomErrorMessage = this.emptyText
-					}else{
-						this.isLocal = true
-					}
-				}).catch(err=>{
-					this.mixinDatacomErrorMessage = err.message
-				})
-			},
-			/**
-			 * 鑾峰彇鐖跺厓绱犲疄渚�
-			 */
-			getForm(name = 'uniForms') {
-				let parent = this.$parent;
-				let parentName = parent.$options.name;
-				while (parentName !== name) {
-					parent = parent.$parent;
-					if (!parent) return false
-					parentName = parent.$options.name;
-				}
-				return parent;
-			},
-			chagne(e) {
-				const values = e.detail.value
-
-				let detail = {
-					value: [],
-					data: []
-				}
-
-				if (this.multiple) {
-					this.range.forEach(item => {
-
-						if (values.includes(item[this.map.value] + '')) {
-							detail.value.push(item[this.map.value])
-							detail.data.push(item)
-						}
-					})
-				} else {
-					const range = this.range.find(item => (item[this.map.value] + '') === values)
-					if (range) {
-						detail = {
-							value: range[this.map.value],
-							data: range
-						}
-					}
-				}
-				// this.formItem && this.formItem.setValue(detail.value)
-				// TODO 鍏煎 vue2
-				this.$emit('input', detail.value);
-				// // TOTO 鍏煎 vue3
-				this.$emit('update:modelValue', detail.value);
-				this.$emit('change', {
-					detail
-				})
-				if (this.multiple) {
-					// 濡傛灉 v-model 娌℃湁缁戝畾 锛屽垯璧板唴閮ㄩ�昏緫
-					// if (this.value.length === 0) {
-					this.dataList = this.getDataList(detail.value, true)
-					// }
-				} else {
-					this.dataList = this.getDataList(detail.value)
-				}
-			},
-
-			/**
-			 * 鑾峰彇娓叉煋鐨勬柊鏁扮粍
-			 * @param {Object} value 閫変腑鍐呭
-			 */
-			getDataList(value) {
-				// 瑙i櫎寮曠敤鍏崇郴锛岀牬鍧忓師寮曠敤鍏崇郴锛岄伩鍏嶆薄鏌撴簮鏁版嵁
-				let dataList = JSON.parse(JSON.stringify(this.range))
-				let list = []
-				if (this.multiple) {
-					if (!Array.isArray(value)) {
-						value = []
-					}
-				}
-				dataList.forEach((item, index) => {
-					item.disabled = item.disable || item.disabled || false
-					if (this.multiple) {
-						if (value.length > 0) {
-							let have = value.find(val => val === item[this.map.value])
-							item.selected = have !== undefined
-						} else {
-							item.selected = false
-						}
-					} else {
-						item.selected = value === item[this.map.value]
-					}
-
-					list.push(item)
-				})
-				return this.setRange(list)
-			},
-			/**
-			 * 澶勭悊鏈�澶ф渶灏忓��
-			 * @param {Object} list
-			 */
-			setRange(list) {
-				let selectList = list.filter(item => item.selected)
-				let min = Number(this.min) || 0
-				let max = Number(this.max) || ''
-				list.forEach((item, index) => {
-					if (this.multiple) {
-						if (selectList.length <= min) {
-							let have = selectList.find(val => val[this.map.value] === item[this.map.value])
-							if (have !== undefined) {
-								item.disabled = true
-							}
-						}
-
-						if (selectList.length >= max && max !== '') {
-							let have = selectList.find(val => val[this.map.value] === item[this.map.value])
-							if (have === undefined) {
-								item.disabled = true
-							}
-						}
-					}
-					this.setStyles(item, index)
-					list[index] = item
-				})
-				return list
-			},
-			/**
-			 * 璁剧疆 class
-			 * @param {Object} item
-			 * @param {Object} index
-			 */
-			setStyles(item, index) {
-				//  璁剧疆鑷畾涔夋牱寮�
-				item.styleBackgroud = this.setStyleBackgroud(item)
-				item.styleIcon = this.setStyleIcon(item)
-				item.styleIconText = this.setStyleIconText(item)
-				item.styleRightIcon = this.setStyleRightIcon(item)
-			},
-
-			/**
-			 * 鑾峰彇閫変腑鍊�
-			 * @param {Object} range
-			 */
-			getSelectedValue(range) {
-				if (!this.multiple) return this.dataValue
-				let selectedArr = []
-				range.forEach((item) => {
-					if (item.selected) {
-						selectedArr.push(item[this.map.value])
-					}
-				})
-				return this.dataValue.length > 0 ? this.dataValue : selectedArr
-			},
-
-			/**
-			 * 璁剧疆鑳屾櫙鏍峰紡
-			 */
-			setStyleBackgroud(item) {
-				let styles = {}
-				let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
-				if (this.selectedColor) {
-					if (this.mode !== 'list') {
-						styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
-					}
-					if (this.mode === 'tag') {
-						styles['background-color'] = item.selected? selectedColor:'#f5f5f5'
-					}
-				}
-				let classles = ''
-				for (let i in styles) {
-					classles += `${i}:${styles[i]};`
-				}
-				return classles
-			},
-			setStyleIcon(item) {
-				let styles = {}
-				let classles = ''
-				if (this.selectedColor) {
-					let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
-					styles['background-color'] = item.selected?selectedColor:'#fff'
-					styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
-					
-					if(!item.selected && item.disabled){
-						styles['background-color'] = '#F2F6FC'
-						styles['border-color'] = item.selected?selectedColor:'#DCDFE6'
-					}
-				}
-				for (let i in styles) {
-					classles += `${i}:${styles[i]};`
-				}
-				return classles
-			},
-			setStyleIconText(item) {
-				let styles = {}
-				let classles = ''
-				if (this.selectedColor) {
-					let selectedColor = this.selectedColor?this.selectedColor:'#2979ff'
-					if (this.mode === 'tag') {
-						styles.color = item.selected?(this.selectedTextColor?this.selectedTextColor:'#fff'):'#666'
-					} else {
-						styles.color = item.selected?(this.selectedTextColor?this.selectedTextColor:selectedColor):'#666'
-					}
-					if(!item.selected && item.disabled){
-						styles.color = '#999'
-					}
-				}
-				for (let i in styles) {
-					classles += `${i}:${styles[i]};`
-				}
-				return classles
-			},
-			setStyleRightIcon(item) {
-				let styles = {}
-				let classles = ''
-				if (this.mode === 'list') {
-					styles['border-color'] = item.selected?this.styles.selectedColor:'#DCDFE6'
-				}
-				for (let i in styles) {
-					classles += `${i}:${styles[i]};`
-				}
-
-				return classles
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	$uni-primary: #2979ff !default;
-	$border-color: #DCDFE6;
-	$disable:0.4;
-
-	@mixin flex {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-	}
-
-	.uni-data-loading {
-		@include flex;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		height: 36px;
-		padding-left: 10px;
-		color: #999;
-	}
-
-	.uni-data-checklist {
-		position: relative;
-		z-index: 0;
-		flex: 1;
-		// 澶氶�夋牱寮�
-		.checklist-group {
-			@include flex;
-			flex-direction: row;
-			flex-wrap: wrap;
-
-			&.is-list {
-				flex-direction: column;
-			}
-
-			.checklist-box {
-				@include flex;
-				flex-direction: row;
-				align-items: center;
-				position: relative;
-				margin: 5px 0;
-				margin-right: 25px;
-
-				.hidden {
-					position: absolute;
-					opacity: 0;
-				}
-
-				// 鏂囧瓧鏍峰紡
-				.checklist-content {
-					@include flex;
-					flex: 1;
-					flex-direction: row;
-					align-items: center;
-					justify-content: space-between;
-					.checklist-text {
-						font-size: 14px;
-						color: #666;
-						margin-left: 5px;
-						line-height: 14px;
-					}
-
-					.checkobx__list {
-						border-right-width: 1px;
-						border-right-color: #007aff;
-						border-right-style: solid;
-						border-bottom-width:1px;
-						border-bottom-color: #007aff;
-						border-bottom-style: solid;
-						height: 12px;
-						width: 6px;
-						left: -5px;
-						transform-origin: center;
-						transform: rotate(45deg);
-						opacity: 0;
-					}
-				}
-
-				// 澶氶�夋牱寮�
-				.checkbox__inner {
-					/* #ifndef APP-NVUE */
-					flex-shrink: 0;
-					box-sizing: border-box;
-					/* #endif */
-					position: relative;
-					width: 16px;
-					height: 16px;
-					border: 1px solid $border-color;
-					border-radius: 4px;
-					background-color: #fff;
-					z-index: 1;
-					.checkbox__inner-icon {
-						position: absolute;
-						/* #ifdef APP-NVUE */
-						top: 2px;
-						/* #endif */
-						/* #ifndef APP-NVUE */
-						top: 1px;
-						/* #endif */
-						left: 5px;
-						height: 8px;
-						width: 4px;
-						border-right-width: 1px;
-						border-right-color: #fff;
-						border-right-style: solid;
-						border-bottom-width:1px ;
-						border-bottom-color: #fff;
-						border-bottom-style: solid;
-						opacity: 0;
-						transform-origin: center;
-						transform: rotate(40deg);
-					}
-				}
-
-				// 鍗曢�夋牱寮�
-				.radio__inner {
-					@include flex;
-					/* #ifndef APP-NVUE */
-					flex-shrink: 0;
-					box-sizing: border-box;
-					/* #endif */
-					justify-content: center;
-					align-items: center;
-					position: relative;
-					width: 16px;
-					height: 16px;
-					border: 1px solid $border-color;
-					border-radius: 16px;
-					background-color: #fff;
-					z-index: 1;
-
-					.radio__inner-icon {
-						width: 8px;
-						height: 8px;
-						border-radius: 10px;
-						opacity: 0;
-					}
-				}
-
-				// 榛樿鏍峰紡
-				&.is--default {
-
-					// 绂佺敤
-					&.is-disable {
-						/* #ifdef H5 */
-						cursor: not-allowed;
-						/* #endif */
-						.checkbox__inner {
-							background-color: #F2F6FC;
-							border-color: $border-color;
-							/* #ifdef H5 */
-							cursor: not-allowed;
-							/* #endif */
-						}
-
-						.radio__inner {
-							background-color: #F2F6FC;
-							border-color: $border-color;
-						}
-						.checklist-text {
-							color: #999;
-						}
-					}
-
-					// 閫変腑
-					&.is-checked {
-						.checkbox__inner {
-							border-color: $uni-primary;
-							background-color: $uni-primary;
-
-							.checkbox__inner-icon {
-								opacity: 1;
-								transform: rotate(45deg);
-							}
-						}
-						.radio__inner {
-							border-color: $uni-primary;
-							.radio__inner-icon {
-								opacity: 1;
-								background-color: $uni-primary;
-							}
-						}
-						.checklist-text {
-							color: $uni-primary;
-						}
-						// 閫変腑绂佺敤
-						&.is-disable {
-							.checkbox__inner {
-								opacity: $disable;
-							}
-
-							.checklist-text {
-								opacity: $disable;
-							}
-							.radio__inner {
-								opacity: $disable;
-							}
-						}
-					}
-				}
-
-				// 鎸夐挳鏍峰紡
-				&.is--button {
-					margin-right: 10px;
-					padding: 5px 10px;
-					border: 1px $border-color solid;
-					border-radius: 3px;
-					transition: border-color 0.2s;
-
-					// 绂佺敤
-					&.is-disable {
-						/* #ifdef H5 */
-						cursor: not-allowed;
-						/* #endif */
-						border: 1px #eee solid;
-						opacity: $disable;
-						.checkbox__inner {
-							background-color: #F2F6FC;
-							border-color: $border-color;
-							/* #ifdef H5 */
-							cursor: not-allowed;
-							/* #endif */
-						}
-						.radio__inner {
-							background-color: #F2F6FC;
-							border-color: $border-color;
-							/* #ifdef H5 */
-							cursor: not-allowed;
-							/* #endif */
-						}
-						.checklist-text {
-							color: #999;
-						}
-					}
-
-					&.is-checked {
-						border-color: $uni-primary;
-						.checkbox__inner {
-							border-color: $uni-primary;
-							background-color: $uni-primary;
-							.checkbox__inner-icon {
-								opacity: 1;
-								transform: rotate(45deg);
-							}
-						}
-
-						.radio__inner {
-							border-color: $uni-primary;
-
-							.radio__inner-icon {
-								opacity: 1;
-								background-color: $uni-primary;
-							}
-						}
-
-						.checklist-text {
-							color: $uni-primary;
-						}
-
-						// 閫変腑绂佺敤
-						&.is-disable {
-							opacity: $disable;
-						}
-					}
-				}
-
-				// 鏍囩鏍峰紡
-				&.is--tag {
-					margin-right: 10px;
-					padding: 5px 10px;
-					border: 1px $border-color solid;
-					border-radius: 3px;
-					background-color: #f5f5f5;
-
-					.checklist-text {
-						margin: 0;
-						color: #666;
-					}
-
-					// 绂佺敤
-					&.is-disable {
-						/* #ifdef H5 */
-						cursor: not-allowed;
-						/* #endif */
-						opacity: $disable;
-					}
-
-					&.is-checked {
-						background-color: $uni-primary;
-						border-color: $uni-primary;
-
-						.checklist-text {
-							color: #fff;
-						}
-					}
-				}
-				// 鍒楄〃鏍峰紡
-				&.is--list {
-					/* #ifndef APP-NVUE */
-					display: flex;
-					/* #endif */
-					padding: 10px 15px;
-					padding-left: 0;
-					margin: 0;
-
-					&.is-list-border {
-						border-top: 1px #eee solid;
-					}
-
-					// 绂佺敤
-					&.is-disable {
-						/* #ifdef H5 */
-						cursor: not-allowed;
-						/* #endif */
-						.checkbox__inner {
-							background-color: #F2F6FC;
-							border-color: $border-color;
-							/* #ifdef H5 */
-							cursor: not-allowed;
-							/* #endif */
-						}
-						.checklist-text {
-							color: #999;
-						}
-					}
-
-					&.is-checked {
-						.checkbox__inner {
-							border-color: $uni-primary;
-							background-color: $uni-primary;
-
-							.checkbox__inner-icon {
-								opacity: 1;
-								transform: rotate(45deg);
-							}
-						}
-						.radio__inner {
-							.radio__inner-icon {
-								opacity: 1;
-							}
-						}
-						.checklist-text {
-							color: $uni-primary;
-						}
-
-						.checklist-content {
-							.checkobx__list {
-								opacity: 1;
-								border-color: $uni-primary;
-							}
-						}
-
-						// 閫変腑绂佺敤
-						&.is-disable {
-							.checkbox__inner {
-								opacity: $disable;
-							}
-
-							.checklist-text {
-								opacity: $disable;
-							}
-						}
-					}
-				}
-			}
-		}
-	}
-</style>
diff --git a/src/uni_modules/uni-data-checkbox/package.json b/src/uni_modules/uni-data-checkbox/package.json
deleted file mode 100644
index 113c350..0000000
--- a/src/uni_modules/uni-data-checkbox/package.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
-  "id": "uni-data-checkbox",
-  "displayName": "uni-data-checkbox 鏁版嵁閫夋嫨鍣�",
-  "version": "1.0.3",
-  "description": "閫氳繃鏁版嵁椹卞姩鐨勫崟閫夋鍜屽閫夋",
-  "keywords": [
-    "uni-ui",
-    "checkbox",
-    "鍗曢��",
-    "澶氶��",
-    "鍗曢�夊閫�"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": "^3.1.1"
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-load-more","uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-data-checkbox/readme.md b/src/uni_modules/uni-data-checkbox/readme.md
deleted file mode 100644
index 6eb253d..0000000
--- a/src/uni_modules/uni-data-checkbox/readme.md
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-## DataCheckbox 鏁版嵁椹卞姩鐨勫崟閫夊閫夋
-> **缁勪欢鍚嶏細uni-data-checkbox**
-> 浠g爜鍧楋細 `uDataCheckbox`
-
-
-鏈粍浠舵槸鍩轰簬uni-app鍩虹缁勪欢checkbox鐨勫皝瑁呫�傛湰缁勪欢瑕佽В鍐抽棶棰樺寘鎷細
-
-1. 鏁版嵁缁戝畾鍨嬬粍浠讹細缁欐湰缁勪欢缁戝畾涓�涓猟ata锛屼細鑷姩娓叉煋涓�缁勫�欓�夊唴瀹广�傚啀浠ュ線锛屽紑鍙戣�呴渶瑕佺紪鍐欎笉灏戜唬鐮佸疄鐜扮被浼煎姛鑳�
-2. 鑷姩鐨勮〃鍗曟牎楠岋細缁勪欢缁戝畾浜哾ata锛屼笖绗﹀悎[uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)缁勪欢鐨勮〃鍗曟牎楠岃鑼冿紝鎼厤浣跨敤浼氳嚜鍔ㄥ疄鐜拌〃鍗曟牎楠�
-3. 鏈粍浠跺悎骞朵簡鍗曢�夊閫�
-4. 鏈粍浠舵湁鑻ュ共椋庢牸閫夋嫨锛屽鏅�氱殑鍗曢�夊閫夋銆佸苟鍒梑utton椋庢牸銆乼ag椋庢牸銆傚紑鍙戣�呭彲浠ュ揩閫熼�夋嫨闇�瑕佺殑椋庢牸銆備絾浣滀负涓�涓皝瑁呯粍浠讹紝鏍峰紡浠g爜铏界劧涓嶇敤鑷繁鍐欎簡锛屽嵈浼氱壓鐗蹭竴瀹氱殑鏍峰紡鑷畾涔夋��
-
-鍦╱niCloud寮�鍙戜腑锛宍DB Schema`涓厤缃簡enum鏋氫妇绛夌被鍨嬪悗锛屽湪web鎺у埗鍙扮殑[鑷姩鐢熸垚琛ㄥ崟](https://uniapp.dcloud.io/uniCloud/schema?id=autocode)鍔熻兘涓紝浼氳嚜鍔ㄧ敓鎴恅`uni-data-checkbox``缁勪欢骞剁粦瀹氬ソdata
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-data-checkbox)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-data-picker/changelog.md b/src/uni_modules/uni-data-picker/changelog.md
deleted file mode 100644
index 8451fb3..0000000
--- a/src/uni_modules/uni-data-picker/changelog.md
+++ /dev/null
@@ -1,66 +0,0 @@
-## 1.0.8锛�2022-09-16锛�
-- 鍙互浣跨敤 uni-scss 鎺у埗涓婚鑹�
-## 1.0.7锛�2022-07-06锛�
-- 浼樺寲 pc绔浘鏍囦綅缃笉姝g‘鐨勯棶棰�
-## 1.0.6锛�2022-07-05锛�
-- 浼樺寲 鏄剧ず鏍峰紡
-## 1.0.5锛�2022-07-04锛�
-- 淇 uni-data-picker 鍦� uni-forms-item 涓搴︿笉姝g‘鐨刡ug
-## 1.0.4锛�2022-04-19锛�
-- 淇 瀛楄妭灏忕▼搴� 鏈湴鏁版嵁鏃犳硶閫夋嫨涓嬩竴绾х殑Bug
-## 1.0.3锛�2022-02-25锛�
-- 淇 nvue 涓嶆敮鎸佺殑 v-show 鐨� bug
-## 1.0.2锛�2022-02-25锛�
-- 淇 鏉′欢缂栬瘧 nvue 涓嶆敮鎸佺殑 css 鏍峰紡
-## 1.0.1锛�2021-11-23锛�
-- 淇 鐢变笂涓増鏈紩鍙戠殑map銆乿-model绛夊睘鎬т笉鐢熸晥鐨刡ug
-## 1.0.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢 UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-data-picker](https://uniapp.dcloud.io/component/uniui/uni-data-picker)
-## 0.4.9锛�2021-10-28锛�
-- 淇 VUE2 v-model 姒傜巼鏃犳晥鐨� bug
-## 0.4.8锛�2021-10-27锛�
-- 淇 v-model 姒傜巼鏃犳晥鐨� bug
-## 0.4.7锛�2021-10-25锛�
-- 鏂板 灞炴�� spaceInfo 鏈嶅姟绌洪棿閰嶇疆 HBuilderX 3.2.11+
-- 淇 鏍戝瀷 uniCloud 鏁版嵁绫诲瀷涓� int 鏃舵姤閿欑殑 bug
-## 0.4.6锛�2021-10-19锛�
-- 淇 闈� VUE3 v-model 涓� 0 鏃舵棤娉曢�変腑鐨� bug
-## 0.4.5锛�2021-09-26锛�
-- 鏂板 娓呴櫎宸查�夐」鐨勫姛鑳斤紙閫氳繃 clearIcon 灞炴�ч厤缃槸鍚︽樉绀烘寜閽級锛屽悓鏃舵彁渚� clear 鏂规硶浠ヤ緵璋冪敤锛屼簩鑰呯瓑鏁�
-- 淇 readonly 涓� true 鏃舵姤閿欑殑 bug
-## 0.4.4锛�2021-09-26锛�
-- 淇 涓婁竴鐗堟湰閫犳垚鐨� map 灞炴�уけ鏁堢殑 bug
-- 鏂板 ellipsis 灞炴�э紝鏀寔閰嶇疆 tab 閫夐」闀垮害杩囬暱鏃舵槸鍚﹁嚜鍔ㄧ渷鐣�
-## 0.4.3锛�2021-09-24锛�
-- 淇 鏌愪簺鎯呭喌涓嬬骇鑱旀湭瑙﹀彂鐨� bug
-## 0.4.2锛�2021-09-23锛�
-- 鏂板 鎻愪緵 show 鍜� hide 鏂规硶锛屽紑鍙戣�呭彲浠ラ�氳繃 ref 璋冪敤
-- 鏂板 閫夐」鍐呭杩囬暱鑷姩娣诲姞鐪佺暐鍙�
-## 0.4.1锛�2021-09-15锛�
-- 鏂板 map 灞炴�� 瀛楁鏄犲皠锛屽皢 text/value 鏄犲皠鍒版暟鎹腑鐨勫叾浠栧瓧娈�
-## 0.4.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤� vue3 椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 0.3.5锛�2021-06-04锛�
-- 淇 鏃犳硶鍔犺浇浜戠鏁版嵁鐨勯棶棰�
-## 0.3.4锛�2021-05-28锛�
-- 淇 v-model 鏃犳晥闂
-- 淇 loaddata 涓虹┖鏁版嵁缁勬椂鍔犺浇鏃堕棿杩囬暱闂
-- 淇 涓婁釜鐗堟湰寮曞嚭鐨勬湰鍦版暟鎹棤娉曢�夋嫨甯︽湁 children 鐨� 2 绾ц妭鐐�
-## 0.3.3锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 0.3.2锛�2021-04-22锛�
-- 淇 闈炴爲褰㈡暟鎹湁 where 灞炴�ф煡璇㈡姤閿欑殑闂
-## 0.3.1锛�2021-04-15锛�
-- 淇 鏈湴鏁版嵁姒傜巼鏃犳硶鍥炴樉鏃堕棶棰�
-## 0.3.0锛�2021-04-07锛�
-- 鏂板 鏀寔浜戠闈炴爲褰㈣〃缁撴瀯鏁版嵁
-- 淇 鏍硅妭鐐� parent_field 瀛楁绛変簬 null 鏃堕�夋嫨鐣岄潰閿欎贡闂
-## 0.2.0锛�2021-03-15锛�
-- 淇 nodeclick銆乸opupopened銆乸opupclosed 浜嬩欢鏃犳硶瑙﹀彂鐨勯棶棰�
-## 0.1.9锛�2021-03-09锛�
-- 淇 寰俊灏忕▼搴忔煇浜涙儏鍐典笅鏃犳硶閫夋嫨鐨勯棶棰�
-## 0.1.8锛�2021-02-05锛�
-- 浼樺寲 閮ㄥ垎鏍峰紡鍦� nvue 涓婄殑鍏煎琛ㄧ幇
-## 0.1.7锛�2021-02-05锛�
-- 璋冩暣涓� uni_modules 鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js b/src/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js
deleted file mode 100644
index 6ef26a2..0000000
--- a/src/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// #ifdef H5
-export default {
-  name: 'Keypress',
-  props: {
-    disable: {
-      type: Boolean,
-      default: false
-    }
-  },
-  mounted () {
-    const keyNames = {
-      esc: ['Esc', 'Escape'],
-      tab: 'Tab',
-      enter: 'Enter',
-      space: [' ', 'Spacebar'],
-      up: ['Up', 'ArrowUp'],
-      left: ['Left', 'ArrowLeft'],
-      right: ['Right', 'ArrowRight'],
-      down: ['Down', 'ArrowDown'],
-      delete: ['Backspace', 'Delete', 'Del']
-    }
-    const listener = ($event) => {
-      if (this.disable) {
-        return
-      }
-      const keyName = Object.keys(keyNames).find(key => {
-        const keyName = $event.key
-        const value = keyNames[key]
-        return value === keyName || (Array.isArray(value) && value.includes(keyName))
-      })
-      if (keyName) {
-        // 閬垮厤鍜屽叾浠栨寜閿簨浠跺啿绐�
-        setTimeout(() => {
-          this.$emit(keyName, {})
-        }, 0)
-      }
-    }
-    document.addEventListener('keyup', listener)
-    this.$once('hook:beforeDestroy', () => {
-      document.removeEventListener('keyup', listener)
-    })
-  },
-	render: () => {}
-}
-// #endif
diff --git a/src/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue b/src/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue
deleted file mode 100644
index 5f5f82d..0000000
--- a/src/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue
+++ /dev/null
@@ -1,547 +0,0 @@
-<template>
-  <view class="uni-data-tree">
-    <view class="uni-data-tree-input" @click="handleInput">
-      <slot :options="options" :data="inputSelected" :error="errorMessage">
-        <view class="input-value" :class="{'input-value-border': border}">
-          <text v-if="errorMessage" class="selected-area error-text">{{errorMessage}}</text>
-          <view v-else-if="loading && !isOpened" class="selected-area">
-            <uni-load-more class="load-more" :contentText="loadMore" status="loading"></uni-load-more>
-          </view>
-          <scroll-view v-else-if="inputSelected.length" class="selected-area" scroll-x="true">
-            <view class="selected-list">
-              <view class="selected-item" v-for="(item,index) in inputSelected" :key="index">
-                <text class="text-color">{{item.text}}</text><text v-if="index<inputSelected.length-1"
-                  class="input-split-line">{{split}}</text>
-              </view>
-            </view>
-          </scroll-view>
-          <text v-else class="selected-area placeholder">{{placeholder}}</text>
-          <view v-if="clearIcon && !readonly && inputSelected.length" class="icon-clear" @click.stop="clear">
-            <uni-icons type="clear" color="#c0c4cc" size="24"></uni-icons>
-          </view>
-          <view class="arrow-area" v-if="(!clearIcon || !inputSelected.length) && !readonly ">
-            <view class="input-arrow"></view>
-          </view>
-        </view>
-      </slot>
-    </view>
-    <view class="uni-data-tree-cover" v-if="isOpened" @click="handleClose"></view>
-    <view class="uni-data-tree-dialog" v-if="isOpened">
-      <view class="uni-popper__arrow"></view>
-      <view class="dialog-caption">
-        <view class="title-area">
-          <text class="dialog-title">{{popupTitle}}</text>
-        </view>
-        <view class="dialog-close" @click="handleClose">
-          <view class="dialog-close-plus" data-id="close"></view>
-          <view class="dialog-close-plus dialog-close-rotate" data-id="close"></view>
-        </view>
-      </view>
-      <data-picker-view class="picker-view" ref="pickerView" v-model="dataValue" :localdata="localdata"
-        :preload="preload" :collection="collection" :field="field" :orderby="orderby" :where="where"
-        :step-searh="stepSearh" :self-field="selfField" :parent-field="parentField" :managed-mode="true" :map="map"
-        :ellipsis="ellipsis" @change="onchange" @datachange="ondatachange" @nodeclick="onnodeclick">
-      </data-picker-view>
-    </view>
-  </view>
-</template>
-
-<script>
-  import dataPicker from "../uni-data-pickerview/uni-data-picker.js"
-  import DataPickerView from "../uni-data-pickerview/uni-data-pickerview.vue"
-
-  /**
-   * DataPicker 绾ц仈閫夋嫨
-   * @description 鏀寔鍗曞垪銆佸拰澶氬垪绾ц仈閫夋嫨銆傚垪鏁版病鏈夐檺鍒讹紝濡傛灉灞忓箷鏄剧ず涓嶅叏锛岄《閮╰ab鍖哄煙浼氬乏鍙虫粴鍔ㄣ��
-   * @tutorial https://ext.dcloud.net.cn/plugin?id=3796
-   * @property {String} popup-title 寮瑰嚭绐楀彛鏍囬
-   * @property {Array} localdata 鏈湴鏁版嵁锛屽弬鑰�
-   * @property {Boolean} border = [true|false] 鏄惁鏈夎竟妗�
-   * @property {Boolean} readonly = [true|false] 鏄惁浠呰
-   * @property {Boolean} preload = [true|false] 鏄惁棰勫姞杞芥暟鎹�
-   * @value true 寮�鍚鍔犺浇鏁版嵁锛岀偣鍑诲脊鍑虹獥鍙e悗鏄剧ず宸插姞杞芥暟鎹�
-   * @value false 鍏抽棴棰勫姞杞芥暟鎹紝鐐瑰嚮寮瑰嚭绐楀彛鍚庡紑濮嬪姞杞芥暟鎹�
-   * @property {Boolean} step-searh = [true|false] 鏄惁鍒嗗竷鏌ヨ
-   * @value true 鍚敤鍒嗗竷鏌ヨ锛屼粎鏌ヨ褰撳墠閫変腑鑺傜偣
-   * @value false 鍏抽棴鍒嗗竷鏌ヨ锛屼竴娆℃煡璇㈠嚭鎵�鏈夋暟鎹�
-   * @property {String|DBFieldString} self-field 鍒嗗竷鏌ヨ褰撳墠瀛楁鍚嶇О
-   * @property {String|DBFieldString} parent-field 鍒嗗竷鏌ヨ鐖跺瓧娈靛悕绉�
-   * @property {String|DBCollectionString} collection 琛ㄥ悕
-   * @property {String|DBFieldString} field 鏌ヨ瀛楁锛屽涓瓧娈电敤 `,` 鍒嗗壊
-   * @property {String} orderby 鎺掑簭瀛楁鍙婃搴忓�掑彊璁剧疆
-   * @property {String|JQLString} where 鏌ヨ鏉′欢
-   * @event {Function} popupshow 寮瑰嚭鐨勯�夋嫨绐楀彛鎵撳紑鏃惰Е鍙戞浜嬩欢
-   * @event {Function} popuphide 寮瑰嚭鐨勯�夋嫨绐楀彛鍏抽棴鏃惰Е鍙戞浜嬩欢
-   */
-  export default {
-    name: 'UniDataPicker',
-    emits: ['popupopened', 'popupclosed', 'nodeclick', 'input', 'change', 'update:modelValue'],
-    mixins: [dataPicker],
-    components: {
-      DataPickerView
-    },
-    props: {
-      options: {
-        type: [Object, Array],
-        default () {
-          return {}
-        }
-      },
-      popupTitle: {
-        type: String,
-        default: '璇烽�夋嫨'
-      },
-      placeholder: {
-        type: String,
-        default: '璇烽�夋嫨'
-      },
-      heightMobile: {
-        type: String,
-        default: ''
-      },
-      readonly: {
-        type: Boolean,
-        default: false
-      },
-      clearIcon: {
-        type: Boolean,
-        default: true
-      },
-      border: {
-        type: Boolean,
-        default: true
-      },
-      split: {
-        type: String,
-        default: '/'
-      },
-      ellipsis: {
-        type: Boolean,
-        default: true
-      }
-    },
-    data() {
-      return {
-        isOpened: false,
-        inputSelected: []
-      }
-    },
-    created() {
-      this.$nextTick(() => {
-        this.load();
-      })
-    },
-    methods: {
-      clear() {
-        this.modelValue = null;
-        this._dispatchEvent([]);
-      },
-      onPropsChange() {
-        this._treeData = [];
-        this.selectedIndex = 0;
-
-        this.load();
-      },
-      load() {
-        if (this.readonly) {
-          this._processReadonly(this.localdata, this.dataValue);
-          return;
-        }
-
-        if (!this.hasValue) {
-          return;
-        }
-
-        // 鍥炴樉鏈湴鏁版嵁
-        if (this.isLocalData) {
-          this.loadData();
-          this.inputSelected = this.selected.slice(0);
-        } else if (this.isCloudDataList || this.isCloudDataTree) { // 鍥炴樉 Cloud 鏁版嵁
-          this.loading = true;
-          this.getCloudDataValue().then((res) => {
-            this.loading = false;
-            this.inputSelected = res;
-          }).catch((err) => {
-            this.loading = false;
-            this.errorMessage = err;
-          })
-        }
-      },
-      show() {
-        this.isOpened = true
-        setTimeout(() => {
-          this.$refs.pickerView.updateData({
-            treeData: this._treeData,
-            selected: this.selected,
-            selectedIndex: this.selectedIndex
-          })
-        }, 200)
-        this.$emit('popupopened')
-      },
-      hide() {
-        this.isOpened = false
-        this.$emit('popupclosed')
-      },
-      handleInput() {
-        if (this.readonly) {
-          return
-        }
-        this.show()
-      },
-      handleClose(e) {
-        this.hide()
-      },
-      onnodeclick(e) {
-        this.$emit('nodeclick', e)
-      },
-      ondatachange(e) {
-        this._treeData = this.$refs.pickerView._treeData
-      },
-      onchange(e) {
-        this.hide()
-        this.$nextTick(() => {
-          this.inputSelected = e;
-        })
-        this._dispatchEvent(e)
-      },
-      _processReadonly(dataList, value) {
-        var isTree = dataList.findIndex((item) => {
-          return item.children
-        })
-        if (isTree > -1) {
-          let inputValue
-          if (Array.isArray(value)) {
-            inputValue = value[value.length - 1]
-            if (typeof inputValue === 'object' && inputValue.value) {
-              inputValue = inputValue.value
-            }
-          } else {
-            inputValue = value
-          }
-          this.inputSelected = this._findNodePath(inputValue, this.localdata)
-          return
-        }
-
-        if (!this.hasValue) {
-          this.inputSelected = []
-          return
-        }
-
-        let result = []
-        for (let i = 0; i < value.length; i++) {
-          var val = value[i]
-          var item = dataList.find((v) => {
-            return v.value == val
-          })
-          if (item) {
-            result.push(item)
-          }
-        }
-        if (result.length) {
-          this.inputSelected = result
-        }
-      },
-      _filterForArray(data, valueArray) {
-        var result = []
-        for (let i = 0; i < valueArray.length; i++) {
-          var value = valueArray[i]
-          var found = data.find((item) => {
-            return item.value == value
-          })
-          if (found) {
-            result.push(found)
-          }
-        }
-        return result
-      },
-      _dispatchEvent(selected) {
-        let item = {}
-        if (selected.length) {
-          var value = new Array(selected.length)
-          for (var i = 0; i < selected.length; i++) {
-            value[i] = selected[i].value
-          }
-          item = selected[selected.length - 1]
-        } else {
-          item.value = ''
-        }
-        if (this.formItem) {
-          this.formItem.setValue(item.value)
-        }
-
-        this.$emit('input', item.value)
-        this.$emit('update:modelValue', item.value)
-        this.$emit('change', {
-          detail: {
-            value: selected
-          }
-        })
-      }
-    }
-  }
-</script>
-
-<style>
-  .uni-data-tree {
-    flex: 1;
-    position: relative;
-    font-size: 14px;
-  }
-
-  .error-text {
-    color: #DD524D;
-  }
-
-  .input-value {
-    /* #ifndef APP-NVUE */
-    display: flex;
-    /* #endif */
-    flex-direction: row;
-    align-items: center;
-    flex-wrap: nowrap;
-    font-size: 14px;
-    /* line-height: 35px; */
-    padding: 0 10px;
-    padding-right: 5px;
-    overflow: hidden;
-    height: 35px;
-    /* #ifndef APP-NVUE */
-    box-sizing: border-box;
-    /* #endif */
-  }
-
-  .input-value-border {
-    border: 1px solid #e5e5e5;
-    border-radius: 5px;
-  }
-
-  .selected-area {
-    flex: 1;
-    overflow: hidden;
-    /* #ifndef APP-NVUE */
-    display: flex;
-    /* #endif */
-    flex-direction: row;
-  }
-
-  .load-more {
-    /* #ifndef APP-NVUE */
-    margin-right: auto;
-    /* #endif */
-    /* #ifdef APP-NVUE */
-    width: 40px;
-    /* #endif */
-  }
-
-  .selected-list {
-    /* #ifndef APP-NVUE */
-    display: flex;
-    /* #endif */
-    flex-direction: row;
-    flex-wrap: nowrap;
-    /* padding: 0 5px; */
-  }
-
-  .selected-item {
-    flex-direction: row;
-    /* padding: 0 1px; */
-    /* #ifndef APP-NVUE */
-    white-space: nowrap;
-    /* #endif */
-  }
-
-  .text-color {
-    color: #333;
-  }
-
-  .placeholder {
-    color: grey;
-    font-size: 12px;
-  }
-
-  .input-split-line {
-    opacity: .5;
-  }
-
-  .arrow-area {
-    position: relative;
-    width: 20px;
-    /* #ifndef APP-NVUE */
-    margin-bottom: 5px;
-    margin-left: auto;
-    display: flex;
-    /* #endif */
-    justify-content: center;
-    transform: rotate(-45deg);
-    transform-origin: center;
-  }
-
-  .input-arrow {
-    width: 7px;
-    height: 7px;
-    border-left: 1px solid #999;
-    border-bottom: 1px solid #999;
-  }
-
-  .uni-data-tree-cover {
-    position: fixed;
-    left: 0;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    background-color: rgba(0, 0, 0, .4);
-    /* #ifndef APP-NVUE */
-    display: flex;
-    /* #endif */
-    flex-direction: column;
-    z-index: 100;
-  }
-
-  .uni-data-tree-dialog {
-    position: fixed;
-    left: 0;
-    /* #ifndef APP-NVUE */
-    top: 20%;
-    /* #endif */
-    /* #ifdef APP-NVUE */
-    top: 200px;
-    /* #endif */
-    right: 0;
-    bottom: 0;
-    background-color: #FFFFFF;
-    border-top-left-radius: 10px;
-    border-top-right-radius: 10px;
-    /* #ifndef APP-NVUE */
-    display: flex;
-    /* #endif */
-    flex-direction: column;
-    z-index: 102;
-    overflow: hidden;
-    /* #ifdef APP-NVUE */
-    width: 750rpx;
-    /* #endif */
-  }
-
-  .dialog-caption {
-    position: relative;
-    /* #ifndef APP-NVUE */
-    display: flex;
-    /* #endif */
-    flex-direction: row;
-    /* border-bottom: 1px solid #f0f0f0; */
-  }
-
-  .title-area {
-    /* #ifndef APP-NVUE */
-    display: flex;
-    /* #endif */
-    align-items: center;
-    /* #ifndef APP-NVUE */
-    margin: auto;
-    /* #endif */
-    padding: 0 10px;
-  }
-
-  .dialog-title {
-    /* font-weight: bold; */
-    line-height: 44px;
-  }
-
-  .dialog-close {
-    position: absolute;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    /* #ifndef APP-NVUE */
-    display: flex;
-    /* #endif */
-    flex-direction: row;
-    align-items: center;
-    padding: 0 15px;
-  }
-
-  .dialog-close-plus {
-    width: 16px;
-    height: 2px;
-    background-color: #666;
-    border-radius: 2px;
-    transform: rotate(45deg);
-  }
-
-  .dialog-close-rotate {
-    position: absolute;
-    transform: rotate(-45deg);
-  }
-
-  .picker-view {
-    flex: 1;
-    overflow: hidden;
-  }
-
-  .icon-clear {
-    display: flex;
-    align-items: center;
-  }
-
-  /* #ifdef H5 */
-  @media all and (min-width: 768px) {
-    .uni-data-tree-cover {
-      background-color: transparent;
-    }
-
-    .uni-data-tree-dialog {
-      position: absolute;
-      top: 55px;
-      height: auto;
-      min-height: 400px;
-      max-height: 50vh;
-      background-color: #fff;
-      border: 1px solid #EBEEF5;
-      box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
-      border-radius: 4px;
-      overflow: unset;
-    }
-
-    .dialog-caption {
-      display: none;
-    }
-
-    .icon-clear {
-      /* margin-right: 5px; */
-    }
-  }
-
-  /* #endif */
-
-  /* picker 寮瑰嚭灞傞�氱敤鐨勬寚绀哄皬涓夎, todo锛氭墿灞曡嚦涓婁笅宸﹀彸鏂瑰悜瀹氫綅 */
-  /* #ifndef APP-NVUE */
-  .uni-popper__arrow,
-  .uni-popper__arrow::after {
-    position: absolute;
-    display: block;
-    width: 0;
-    height: 0;
-    border-color: transparent;
-    border-style: solid;
-    border-width: 6px;
-  }
-
-  .uni-popper__arrow {
-    filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
-    top: -6px;
-    left: 10%;
-    margin-right: 3px;
-    border-top-width: 0;
-    border-bottom-color: #EBEEF5;
-  }
-
-  .uni-popper__arrow::after {
-    content: " ";
-    top: 1px;
-    margin-left: -6px;
-    border-top-width: 0;
-    border-bottom-color: #fff;
-  }
-
-  /* #endif */
-</style>
diff --git a/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js b/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js
deleted file mode 100644
index cfae22a..0000000
--- a/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js
+++ /dev/null
@@ -1,622 +0,0 @@
-export default {
-  props: {
-    localdata: {
-      type: [Array, Object],
-      default () {
-        return []
-      }
-    },
-    spaceInfo: {
-      type: Object,
-      default () {
-        return {}
-      }
-    },
-    collection: {
-      type: String,
-      default: ''
-    },
-    action: {
-      type: String,
-      default: ''
-    },
-    field: {
-      type: String,
-      default: ''
-    },
-    orderby: {
-      type: String,
-      default: ''
-    },
-    where: {
-      type: [String, Object],
-      default: ''
-    },
-    pageData: {
-      type: String,
-      default: 'add'
-    },
-    pageCurrent: {
-      type: Number,
-      default: 1
-    },
-    pageSize: {
-      type: Number,
-      default: 500
-    },
-    getcount: {
-      type: [Boolean, String],
-      default: false
-    },
-    getone: {
-      type: [Boolean, String],
-      default: false
-    },
-    gettree: {
-      type: [Boolean, String],
-      default: false
-    },
-    manual: {
-      type: Boolean,
-      default: false
-    },
-    value: {
-      type: [Array, String, Number],
-      default () {
-        return []
-      }
-    },
-    modelValue: {
-      type: [Array, String, Number],
-      default () {
-        return []
-      }
-    },
-    preload: {
-      type: Boolean,
-      default: false
-    },
-    stepSearh: {
-      type: Boolean,
-      default: true
-    },
-    selfField: {
-      type: String,
-      default: ''
-    },
-    parentField: {
-      type: String,
-      default: ''
-    },
-    multiple: {
-      type: Boolean,
-      default: false
-    },
-    map: {
-      type: Object,
-      default () {
-        return {
-          text: "text",
-          value: "value"
-        }
-      }
-    }
-  },
-  data() {
-    return {
-      loading: false,
-      errorMessage: '',
-      loadMore: {
-        contentdown: '',
-        contentrefresh: '',
-        contentnomore: ''
-      },
-      dataList: [],
-      selected: [],
-      selectedIndex: 0,
-      page: {
-        current: this.pageCurrent,
-        size: this.pageSize,
-        count: 0
-      }
-    }
-  },
-  computed: {
-    isLocalData() {
-      return !this.collection.length;
-    },
-    isCloudData() {
-      return this.collection.length > 0;
-    },
-    isCloudDataList() {
-      return (this.isCloudData && (!this.parentField && !this.selfField));
-    },
-    isCloudDataTree() {
-      return (this.isCloudData && this.parentField && this.selfField);
-    },
-    dataValue() {
-      let isModelValue = Array.isArray(this.modelValue) ? (this.modelValue.length > 0) : (this.modelValue !== null ||
-        this.modelValue !== undefined);
-      return isModelValue ? this.modelValue : this.value;
-    },
-    hasValue() {
-      if (typeof this.dataValue === 'number') {
-        return true
-      }
-      return (this.dataValue != null) && (this.dataValue.length > 0)
-    }
-  },
-  created() {
-    this.$watch(() => {
-      var al = [];
-      ['pageCurrent',
-        'pageSize',
-        'spaceInfo',
-        'value',
-        'modelValue',
-        'localdata',
-        'collection',
-        'action',
-        'field',
-        'orderby',
-        'where',
-        'getont',
-        'getcount',
-        'gettree'
-      ].forEach(key => {
-        al.push(this[key])
-      });
-      return al
-    }, (newValue, oldValue) => {
-      let needReset = false
-      for (let i = 2; i < newValue.length; i++) {
-        if (newValue[i] != oldValue[i]) {
-          needReset = true
-          break
-        }
-      }
-      if (newValue[0] != oldValue[0]) {
-        this.page.current = this.pageCurrent
-      }
-      this.page.size = this.pageSize
-
-      this.onPropsChange()
-    })
-    this._treeData = []
-  },
-  methods: {
-    onPropsChange() {
-      this._treeData = [];
-    },
-
-    // 濉厖 pickview 鏁版嵁
-    async loadData() {
-      if (this.isLocalData) {
-        this.loadLocalData();
-      } else if (this.isCloudDataList) {
-        this.loadCloudDataList();
-      } else if (this.isCloudDataTree) {
-        this.loadCloudDataTree();
-      }
-    },
-
-    // 鍔犺浇鏈湴鏁版嵁
-    async loadLocalData() {
-      this._treeData = [];
-      this._extractTree(this.localdata, this._treeData);
-
-      let inputValue = this.dataValue;
-      if (inputValue === undefined) {
-        return;
-      }
-
-      if (Array.isArray(inputValue)) {
-        inputValue = inputValue[inputValue.length - 1];
-        if (typeof inputValue === 'object' && inputValue[this.map.value]) {
-          inputValue = inputValue[this.map.value];
-        }
-      }
-
-      this.selected = this._findNodePath(inputValue, this.localdata);
-    },
-
-    // 鍔犺浇 Cloud 鏁版嵁 (鍗曞垪)
-    async loadCloudDataList() {
-      if (this.loading) {
-        return;
-      }
-      this.loading = true;
-
-      try {
-        let response = await this.getCommand();
-        let responseData = response.result.data;
-
-        this._treeData = responseData;
-
-        this._updateBindData();
-        this._updateSelected();
-
-        this.onDataChange();
-      } catch (e) {
-        this.errorMessage = e;
-      } finally {
-        this.loading = false;
-      }
-    },
-
-    // 鍔犺浇 Cloud 鏁版嵁 (鏍戝舰)
-    async loadCloudDataTree() {
-      if (this.loading) {
-        return;
-      }
-      this.loading = true;
-
-      try {
-        let commandOptions = {
-          field: this._cloudDataPostField(),
-          where: this._cloudDataTreeWhere()
-        };
-        if (this.gettree) {
-          commandOptions.startwith = `${this.selfField}=='${this.dataValue}'`;
-        }
-
-        let response = await this.getCommand(commandOptions);
-        let responseData = response.result.data;
-
-        this._treeData = responseData;
-        this._updateBindData();
-        this._updateSelected();
-
-        this.onDataChange();
-      } catch (e) {
-        this.errorMessage = e;
-      } finally {
-        this.loading = false;
-      }
-    },
-
-    // 鍔犺浇 Cloud 鏁版嵁 (鑺傜偣)
-    async loadCloudDataNode(callback) {
-      if (this.loading) {
-        return;
-      }
-      this.loading = true;
-
-      try {
-        let commandOptions = {
-          field: this._cloudDataPostField(),
-          where: this._cloudDataNodeWhere()
-        };
-
-        let response = await this.getCommand(commandOptions);
-        let responseData = response.result.data;
-
-        callback(responseData);
-      } catch (e) {
-        this.errorMessage = e;
-      } finally {
-        this.loading = false;
-      }
-    },
-
-    // 鍥炴樉 Cloud 鏁版嵁
-    getCloudDataValue() {
-      if (this.isCloudDataList) {
-        return this.getCloudDataListValue();
-      }
-
-      if (this.isCloudDataTree) {
-        return this.getCloudDataTreeValue();
-      }
-    },
-
-    // 鍥炴樉 Cloud 鏁版嵁 (鍗曞垪)
-    getCloudDataListValue() {
-      // 鏍规嵁 field's as value鏍囪瘑鍖归厤 where 鏉′欢
-      let where = [];
-      let whereField = this._getForeignKeyByField();
-      if (whereField) {
-        where.push(`${whereField} == '${this.dataValue}'`)
-      }
-
-      where = where.join(' || ');
-
-      if (this.where) {
-        where = `(${this.where}) && (${where})`
-      }
-
-      return this.getCommand({
-        field: this._cloudDataPostField(),
-        where
-      }).then((res) => {
-        this.selected = res.result.data;
-        return res.result.data;
-      });
-    },
-
-    // 鍥炴樉 Cloud 鏁版嵁 (鏍戝舰)
-    getCloudDataTreeValue() {
-      return this.getCommand({
-        field: this._cloudDataPostField(),
-        getTreePath: {
-          startWith: `${this.selfField}=='${this.dataValue}'`
-        }
-      }).then((res) => {
-        let treePath = [];
-        this._extractTreePath(res.result.data, treePath);
-        this.selected = treePath;
-        return treePath;
-      });
-    },
-
-    getCommand(options = {}) {
-      /* eslint-disable no-undef */
-      let db = uniCloud.database(this.spaceInfo)
-
-      const action = options.action || this.action
-      if (action) {
-        db = db.action(action)
-      }
-
-      const collection = options.collection || this.collection
-      db = db.collection(collection)
-
-      const where = options.where || this.where
-      if (!(!where || !Object.keys(where).length)) {
-        db = db.where(where)
-      }
-
-      const field = options.field || this.field
-      if (field) {
-        db = db.field(field)
-      }
-
-      const orderby = options.orderby || this.orderby
-      if (orderby) {
-        db = db.orderBy(orderby)
-      }
-
-      const current = options.pageCurrent !== undefined ? options.pageCurrent : this.page.current
-      const size = options.pageSize !== undefined ? options.pageSize : this.page.size
-      const getCount = options.getcount !== undefined ? options.getcount : this.getcount
-      const getTree = options.gettree !== undefined ? options.gettree : this.gettree
-
-      const getOptions = {
-        getCount,
-        getTree
-      }
-      if (options.getTreePath) {
-        getOptions.getTreePath = options.getTreePath
-      }
-
-      db = db.skip(size * (current - 1)).limit(size).get(getOptions)
-
-      return db
-    },
-
-    _cloudDataPostField() {
-      let fields = [this.field];
-      if (this.parentField) {
-        fields.push(`${this.parentField} as parent_value`);
-      }
-      return fields.join(',');
-    },
-
-    _cloudDataTreeWhere() {
-      let result = []
-      let selected = this.selected
-      let parentField = this.parentField
-      if (parentField) {
-        result.push(`${parentField} == null || ${parentField} == ""`)
-      }
-      if (selected.length) {
-        for (var i = 0; i < selected.length - 1; i++) {
-          result.push(`${parentField} == '${selected[i].value}'`)
-        }
-      }
-
-      let where = []
-      if (this.where) {
-        where.push(`(${this.where})`)
-      }
-
-      if (result.length) {
-        where.push(`(${result.join(' || ')})`)
-      }
-
-      return where.join(' && ')
-    },
-
-    _cloudDataNodeWhere() {
-      let where = []
-      let selected = this.selected;
-      if (selected.length) {
-        where.push(`${this.parentField} == '${selected[selected.length - 1].value}'`);
-      }
-
-      where = where.join(' || ');
-
-      if (this.where) {
-        return `(${this.where}) && (${where})`
-      }
-
-      return where
-    },
-
-    _getWhereByForeignKey() {
-      let result = []
-      let whereField = this._getForeignKeyByField();
-      if (whereField) {
-        result.push(`${whereField} == '${this.dataValue}'`)
-      }
-
-      if (this.where) {
-        return `(${this.where}) && (${result.join(' || ')})`
-      }
-
-      return result.join(' || ')
-    },
-
-    _getForeignKeyByField() {
-      let fields = this.field.split(',');
-      let whereField = null;
-      for (let i = 0; i < fields.length; i++) {
-        const items = fields[i].split('as');
-        if (items.length < 2) {
-          continue;
-        }
-        if (items[1].trim() === 'value') {
-          whereField = items[0].trim();
-          break;
-        }
-      }
-      return whereField;
-    },
-
-    _updateBindData(node) {
-      const {
-        dataList,
-        hasNodes
-      } = this._filterData(this._treeData, this.selected)
-
-      let isleaf = this._stepSearh === false && !hasNodes
-
-      if (node) {
-        node.isleaf = isleaf
-      }
-
-      this.dataList = dataList
-      this.selectedIndex = dataList.length - 1
-
-      if (!isleaf && this.selected.length < dataList.length) {
-        this.selected.push({
-          value: null,
-          text: "璇烽�夋嫨"
-        })
-      }
-
-      return {
-        isleaf,
-        hasNodes
-      }
-    },
-
-    _updateSelected() {
-      let dl = this.dataList
-      let sl = this.selected
-      let textField = this.map.text
-      let valueField = this.map.value
-      for (let i = 0; i < sl.length; i++) {
-        let value = sl[i].value
-        let dl2 = dl[i]
-        for (let j = 0; j < dl2.length; j++) {
-          let item2 = dl2[j]
-          if (item2[valueField] === value) {
-            sl[i].text = item2[textField]
-            break
-          }
-        }
-      }
-    },
-
-    _filterData(data, paths) {
-      let dataList = []
-      let hasNodes = true
-
-      dataList.push(data.filter((item) => {
-        return (item.parent_value === null || item.parent_value === undefined || item.parent_value === '')
-      }))
-      for (let i = 0; i < paths.length; i++) {
-        let value = paths[i].value
-        let nodes = data.filter((item) => {
-          return item.parent_value === value
-        })
-
-        if (nodes.length) {
-          dataList.push(nodes)
-        } else {
-          hasNodes = false
-        }
-      }
-
-      return {
-        dataList,
-        hasNodes
-      }
-    },
-
-    _extractTree(nodes, result, parent_value) {
-      let list = result || []
-      let valueField = this.map.value
-      for (let i = 0; i < nodes.length; i++) {
-        let node = nodes[i]
-
-        let child = {}
-        for (let key in node) {
-          if (key !== 'children') {
-            child[key] = node[key]
-          }
-        }
-        if (parent_value !== null && parent_value !== undefined && parent_value !== '') {
-          child.parent_value = parent_value
-        }
-        result.push(child)
-
-        let children = node.children
-        if (children) {
-          this._extractTree(children, result, node[valueField])
-        }
-      }
-    },
-
-    _extractTreePath(nodes, result) {
-      let list = result || []
-      for (let i = 0; i < nodes.length; i++) {
-        let node = nodes[i]
-
-        let child = {}
-        for (let key in node) {
-          if (key !== 'children') {
-            child[key] = node[key]
-          }
-        }
-        result.push(child)
-
-        let children = node.children
-        if (children) {
-          this._extractTreePath(children, result)
-        }
-      }
-    },
-
-    _findNodePath(key, nodes, path = []) {
-      let textField = this.map.text
-      let valueField = this.map.value
-      for (let i = 0; i < nodes.length; i++) {
-        let node = nodes[i]
-        let children = node.children
-        let text = node[textField]
-        let value = node[valueField]
-
-        path.push({
-          value,
-          text
-        })
-
-        if (value === key) {
-          return path
-        }
-
-        if (children) {
-          const p = this._findNodePath(key, children, path)
-          if (p.length) {
-            return p
-          }
-        }
-
-        path.pop()
-      }
-      return []
-    }
-  }
-}
diff --git a/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue b/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue
deleted file mode 100644
index e79f9bd..0000000
--- a/src/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue
+++ /dev/null
@@ -1,321 +0,0 @@
-<template>
-  <view class="uni-data-pickerview">
-    <scroll-view v-if="!isCloudDataList" class="selected-area" scroll-x="true">
-      <view class="selected-list">
-        <template v-for="(item,index) in selected">
-          <view class="selected-item"
-            :class="{'selected-item-active':index==selectedIndex}"
-            v-if="item.text" @click="handleSelect(index)">
-            <text>{{item.text}}</text>
-          </view>
-        </template>
-      </view>
-    </scroll-view>
-    <view class="tab-c">
-      <template v-for="(child, i) in dataList">
-        <scroll-view class="list" :key="i" v-if="i==selectedIndex" :scroll-y="true">
-          <view class="item" :class="{'is-disabled': !!item.disable}" v-for="(item, j) in child"
-            @click="handleNodeClick(item, i, j)">
-            <text class="item-text">{{item[map.text]}}</text>
-            <view class="check" v-if="selected.length > i && item[map.value] == selected[i].value"></view>
-          </view>
-        </scroll-view>
-      </template>
-
-      <view class="loading-cover" v-if="loading">
-        <uni-load-more class="load-more" :contentText="loadMore" status="loading"></uni-load-more>
-      </view>
-      <view class="error-message" v-if="errorMessage">
-        <text class="error-text">{{errorMessage}}</text>
-      </view>
-    </view>
-  </view>
-</template>
-
-<script>
-  import dataPicker from "./uni-data-picker.js"
-
-  /**
-   * DataPickerview
-   * @description uni-data-pickerview
-   * @tutorial https://ext.dcloud.net.cn/plugin?id=3796
-   * @property {Array} localdata 鏈湴鏁版嵁锛屽弬鑰�
-   * @property {Boolean} step-searh = [true|false] 鏄惁鍒嗗竷鏌ヨ
-   * @value true 鍚敤鍒嗗竷鏌ヨ锛屼粎鏌ヨ褰撳墠閫変腑鑺傜偣
-   * @value false 鍏抽棴鍒嗗竷鏌ヨ锛屼竴娆℃煡璇㈠嚭鎵�鏈夋暟鎹�
-   * @property {String|DBFieldString} self-field 鍒嗗竷鏌ヨ褰撳墠瀛楁鍚嶇О
-   * @property {String|DBFieldString} parent-field 鍒嗗竷鏌ヨ鐖跺瓧娈靛悕绉�
-   * @property {String|DBCollectionString} collection 琛ㄥ悕
-   * @property {String|DBFieldString} field 鏌ヨ瀛楁锛屽涓瓧娈电敤 `,` 鍒嗗壊
-   * @property {String} orderby 鎺掑簭瀛楁鍙婃搴忓�掑彊璁剧疆
-   * @property {String|JQLString} where 鏌ヨ鏉′欢
-   */
-  export default {
-    name: 'UniDataPickerView',
-    emits: ['nodeclick', 'change', 'datachange', 'update:modelValue'],
-    mixins: [dataPicker],
-    props: {
-      managedMode: {
-        type: Boolean,
-        default: false
-      },
-      ellipsis: {
-        type: Boolean,
-        default: true
-      }
-    },
-    created() {
-      if (!this.managedMode) {
-        this.$nextTick(() => {
-          this.loadData();
-        })
-      }
-    },
-    methods: {
-      onPropsChange() {
-        this._treeData = [];
-        this.selectedIndex = 0;
-        this.$nextTick(() => {
-          this.loadData();
-        })
-      },
-      handleSelect(index) {
-        this.selectedIndex = index;
-      },
-      handleNodeClick(item, i, j) {
-        if (item.disable) {
-          return;
-        }
-
-        const node = this.dataList[i][j];
-        const text = node[this.map.text];
-        const value = node[this.map.value];
-
-        if (i < this.selected.length - 1) {
-          this.selected.splice(i, this.selected.length - i)
-          this.selected.push({
-            text,
-            value
-          })
-        } else if (i === this.selected.length - 1) {
-          this.selected.splice(i, 1, {
-            text,
-            value
-          })
-        }
-
-        if (node.isleaf) {
-          this.onSelectedChange(node, node.isleaf)
-          return
-        }
-
-        const {
-          isleaf,
-          hasNodes
-        } = this._updateBindData()
-
-        // 鏈湴鏁版嵁
-        if (this.isLocalData) {
-          this.onSelectedChange(node, (!hasNodes || isleaf))
-        } else if (this.isCloudDataList) { // Cloud 鏁版嵁 (鍗曞垪)
-          this.onSelectedChange(node, true)
-        } else if (this.isCloudDataTree) { // Cloud 鏁版嵁 (鏍戝舰)
-          if (isleaf) {
-            this.onSelectedChange(node, node.isleaf)
-          } else if (!hasNodes) { // 璇锋眰涓�娆℃湇鍔″櫒浠ョ‘瀹氭槸鍚︿负鍙跺瓙鑺傜偣
-            this.loadCloudDataNode((data) => {
-              if (!data.length) {
-                node.isleaf = true
-              } else {
-                this._treeData.push(...data)
-                this._updateBindData(node)
-              }
-              this.onSelectedChange(node, node.isleaf)
-            })
-          }
-        }
-      },
-      updateData(data) {
-        this._treeData = data.treeData
-        this.selected = data.selected
-        if (!this._treeData.length) {
-          this.loadData()
-        } else {
-          //this.selected = data.selected
-          this._updateBindData()
-        }
-      },
-      onDataChange() {
-        this.$emit('datachange');
-      },
-      onSelectedChange(node, isleaf) {
-        if (isleaf) {
-          this._dispatchEvent()
-        }
-
-        if (node) {
-          this.$emit('nodeclick', node)
-        }
-      },
-      _dispatchEvent() {
-        this.$emit('change', this.selected.slice(0))
-      }
-    }
-  }
-</script>
-
-<style lang="scss">
-	$uni-primary: #007aff !default;
-
-	.uni-data-pickerview {
-		flex: 1;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		overflow: hidden;
-		height: 100%;
-	}
-
-  .error-text {
-    color: #DD524D;
-  }
-
-  .loading-cover {
-    position: absolute;
-    left: 0;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    background-color: rgba(255, 255, 255, .5);
-    /* #ifndef APP-NVUE */
-    display: flex;
-    /* #endif */
-    flex-direction: column;
-    align-items: center;
-    z-index: 1001;
-  }
-
-  .load-more {
-    /* #ifndef APP-NVUE */
-    margin: auto;
-    /* #endif */
-  }
-
-  .error-message {
-    background-color: #fff;
-    position: absolute;
-    left: 0;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    padding: 15px;
-    opacity: .9;
-    z-index: 102;
-  }
-
-  /* #ifdef APP-NVUE */
-  .selected-area {
-    width: 750rpx;
-  }
-  /* #endif */
-
-  .selected-list {
-    /* #ifndef APP-NVUE */
-    display: flex;
-    flex-wrap: nowrap;
-    /* #endif */
-    flex-direction: row;
-    padding: 0 5px;
-    border-bottom: 1px solid #f8f8f8;
-  }
-
-  .selected-item {
-    margin-left: 10px;
-    margin-right: 10px;
-    padding: 12px 0;
-    text-align: center;
-    /* #ifndef APP-NVUE */
-    white-space: nowrap;
-    /* #endif */
-  }
-
-  .selected-item-text-overflow {
-    width: 168px;
-    /* fix nvue */
-    overflow: hidden;
-    /* #ifndef APP-NVUE */
-    width: 6em;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    -o-text-overflow: ellipsis;
-    /* #endif */
-  }
-
-	.selected-item-active {
-		border-bottom: 2px solid $uni-primary;
-	}
-
-	.selected-item-text {
-		color: $uni-primary;
-	}
-
-  .tab-c {
-    position: relative;
-    flex: 1;
-    /* #ifndef APP-NVUE */
-    display: flex;
-    /* #endif */
-    flex-direction: row;
-    overflow: hidden;
-  }
-
-  .list {
-    flex: 1;
-  }
-
-  .item {
-    padding: 12px 15px;
-    /* border-bottom: 1px solid #f0f0f0; */
-    /* #ifndef APP-NVUE */
-    display: flex;
-    /* #endif */
-    flex-direction: row;
-    justify-content: space-between;
-  }
-
-  .is-disabled {
-    opacity: .5;
-  }
-
-  .item-text {
-    /* flex: 1; */
-    color: #333333;
-  }
-
-  .item-text-overflow {
-    width: 280px;
-    /* fix nvue */
-    overflow: hidden;
-    /* #ifndef APP-NVUE */
-    width: 20em;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-    -o-text-overflow: ellipsis;
-    /* #endif */
-  }
-
-	.check {
-		margin-right: 5px;
-		border: 2px solid $uni-primary;
-		border-left: 0;
-		border-top: 0;
-		height: 12px;
-		width: 6px;
-		transform-origin: center;
-		/* #ifndef APP-NVUE */
-		transition: all 0.3s;
-		/* #endif */
-		transform: rotate(45deg);
-	}
-</style>
diff --git a/src/uni_modules/uni-data-picker/package.json b/src/uni_modules/uni-data-picker/package.json
deleted file mode 100644
index 7b731fc..0000000
--- a/src/uni_modules/uni-data-picker/package.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
-  "id": "uni-data-picker",
-  "displayName": "uni-data-picker 鏁版嵁椹卞姩鐨刾icker閫夋嫨鍣�",
-  "version": "1.0.8",
-  "description": "鍗曞垪銆佸鍒楃骇鑱旈�夋嫨鍣紝甯哥敤浜庣渷甯傚尯鍩庡競閫夋嫨銆佸叕鍙搁儴闂ㄩ�夋嫨銆佸绾у垎绫荤瓑鍦烘櫙",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "picker",
-    "绾ц仈",
-    "鐪佸競鍖�",
-    ""
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": [
-      "uni-load-more",
-			"uni-icons",
-			"uni-scss"
-    ],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "u"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-        "QQ": "y",
-        "浜笢": "u"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-data-picker/readme.md b/src/uni_modules/uni-data-picker/readme.md
deleted file mode 100644
index 6cda224..0000000
--- a/src/uni_modules/uni-data-picker/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-## DataPicker 绾ц仈閫夋嫨
-> **缁勪欢鍚嶏細uni-data-picker**
-> 浠g爜鍧楋細 `uDataPicker`
-> 鍏宠仈缁勪欢锛歚uni-data-pickerview`銆乣uni-load-more`銆�
-
-
-`<uni-data-picker>` 鏄竴涓�夋嫨绫籟datacom缁勪欢](https://uniapp.dcloud.net.cn/component/datacom)銆�
-
-鏀寔鍗曞垪銆佸拰澶氬垪绾ц仈閫夋嫨銆傚垪鏁版病鏈夐檺鍒讹紝濡傛灉灞忓箷鏄剧ず涓嶅叏锛岄《閮╰ab鍖哄煙浼氬乏鍙虫粴鍔ㄣ��
-
-鍊欓�夋暟鎹敮鎸佷竴娆℃�у姞杞藉畬姣曪紝涔熸敮鎸佹噿鍔犺浇锛屾瘮濡傜ず渚嬪浘涓紝閫夋嫨浜嗏�滃寳浜�濆悗锛屽姩鎬佸姞杞藉寳浜殑鍖哄幙鏁版嵁銆�
-
-`<uni-data-picker>` 缁勪欢灏ゅ叾閫傜敤浜庡湴鍧�閫夋嫨銆佸垎绫婚�夋嫨绛夐�夋嫨绫汇��
-
-`<uni-data-picker>` 鏀寔鏈湴鏁版嵁銆佷簯绔潤鎬佹暟鎹�(json)锛寀niCloud浜戞暟鎹簱鏁版嵁銆�
-
-`<uni-data-picker>` 鍙互閫氳繃JQL鐩磋繛uniCloud浜戞暟鎹簱锛岄厤濂梉DB Schema](https://uniapp.dcloud.net.cn/uniCloud/schema)锛屽彲鍦╯chema2code涓嚜鍔ㄧ敓鎴愬墠绔〉闈紝杩樻敮鎸佹湇鍔″櫒绔牎楠屻��
-
-鍦╱niCloud鏁版嵁琛ㄤ腑鏂板缓琛ㄢ�渦ni-id-address鈥濆拰鈥渙pendb-city-china鈥濓紝杩�2涓〃鐨剆chema鑷甫foreignKey鍏宠仈銆傚湪鈥渦ni-id-address鈥濊〃鐨勮〃缁撴瀯椤甸潰浣跨敤schema2code鐢熸垚鍓嶇椤甸潰锛屼細鑷姩鐢熸垚鍦板潃绠$悊鐨勭淮鎶ら〉闈紝鑷姩浠庘�渙pendb-city-china鈥濊〃鍖呭惈鐨勪腑鍥芥墍鏈夌渷甯傚尯淇℃伅閲岄�夋嫨鍦板潃銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-data-picker)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-data-select/changelog.md b/src/uni_modules/uni-data-select/changelog.md
deleted file mode 100644
index 9e48c69..0000000
--- a/src/uni_modules/uni-data-select/changelog.md
+++ /dev/null
@@ -1,22 +0,0 @@
-## 0.1.9锛�2022-09-05锛�
-- 淇 寰俊灏忕▼搴忎笅鎷夋鍑虹幇鍚庨�夋嫨浼氱偣鍑诲埌钂欐澘鍚庨潰鐨勮緭鍏ユ
-## 0.1.8锛�2022-08-29锛�
-- 淇 鐐瑰嚮鐨勪綅缃笉鍑嗙‘
-## 0.1.7锛�2022-08-12锛�
-- 鏂板 鏀寔 disabled 灞炴��
-## 0.1.6锛�2022-07-06锛�
-- 淇 pc绔搴﹀紓甯哥殑bug
-## 0.1.5
-- 淇 pc绔搴﹀紓甯哥殑bug
-## 0.1.4锛�2022-07-05锛�
-- 浼樺寲 鏄剧ず鏍峰紡
-## 0.1.3锛�2022-06-02锛�
-- 淇 localdata 璧嬪�间笉鐢熸晥鐨� bug
-- 鏂板 鏀寔  uni.scss 淇敼棰滆壊
-- 鏂板 鏀寔閫夐」绂佺敤锛堟暟鎹�夐」璁剧疆 disabled: true 鍗崇鐢級
-## 0.1.2锛�2022-05-08锛�
-- 淇 褰� value 涓� 0 鏃堕�夋嫨涓嶇敓鏁堢殑 bug
-## 0.1.1锛�2022-05-07锛�
-- 鏂板 璁颁綇涓婃鐨勯�夐」锛堜粎 collection 瀛樺湪鏃舵湁鏁堬級
-## 0.1.0锛�2022-04-22锛�
-- 鍒濆鍖�
diff --git a/src/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue b/src/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue
deleted file mode 100644
index 919ffe3..0000000
--- a/src/uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue
+++ /dev/null
@@ -1,440 +0,0 @@
-<template>
-	<view class="uni-stat__select">
-		<span v-if="label" class="uni-label-text hide-on-phone">{{label + '锛�'}}</span>
-		<view class="uni-stat-box" :class="{'uni-stat__actived': current}">
-			<view class="uni-select"  :class="{'uni-select--disabled':disabled}">
-				<view class="uni-select__input-box" @click="toggleSelector">
-					<view v-if="current" class="uni-select__input-text">{{current}}</view>
-					<view v-else class="uni-select__input-text uni-select__input-placeholder">{{typePlaceholder}}</view>
-					<uni-icons v-if="current && clear" type="clear" color="#c0c4cc" size="24" @click="clearVal" />
-					<uni-icons v-else :type="showSelector? 'top' : 'bottom'" size="14" color="#999" />
-				</view>
-				<view class="uni-select--mask" v-if="showSelector" @click="toggleSelector" />
-				<view class="uni-select__selector" v-if="showSelector">
-					<view class="uni-popper__arrow"></view>
-					<scroll-view scroll-y="true" class="uni-select__selector-scroll">
-						<view class="uni-select__selector-empty" v-if="mixinDatacomResData.length === 0">
-							<text>{{emptyTips}}</text>
-						</view>
-						<view v-else class="uni-select__selector-item" v-for="(item,index) in mixinDatacomResData"
-							:key="index" @click="change(item)">
-							<text
-								:class="{'uni-select__selector__disabled': item.disable}">{{formatItemName(item)}}</text>
-						</view>
-					</scroll-view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	/**
-	 * DataChecklist 鏁版嵁閫夋嫨鍣�
-	 * @description 閫氳繃鏁版嵁娓叉煋鐨勪笅鎷夋缁勪欢
-	 * @tutorial https://uniapp.dcloud.io/component/uniui/uni-data-select
-	 * @property {String} value 榛樿鍊�
-	 * @property {Array} localdata 鏈湴鏁版嵁 锛屾牸寮� [{text:'',value:''}]
-	 * @property {Boolean} clear 鏄惁鍙互娓呯┖宸查�夐」
-	 * @property {Boolean} emptyText 娌℃湁鏁版嵁鏃舵樉绀虹殑鏂囧瓧 锛屾湰鍦版暟鎹棤鏁�
-	 * @property {String} label 宸︿晶鏍囬
-	 * @property {String} placeholder 杈撳叆妗嗙殑鎻愮ず鏂囧瓧
-	 * @property {Boolean} disabled 鏄惁绂佺敤
-	 * @event {Function} change  閫変腑鍙戠敓鍙樺寲瑙﹀彂
-	 */
-
-	export default {
-		name: "uni-stat-select",
-		mixins: [uniCloud.mixinDatacom || {}],
-		data() {
-			return {
-				showSelector: false,
-				current: '',
-				mixinDatacomResData: [],
-				apps: [],
-				channels: []
-			};
-		},
-		props: {
-			localdata: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			value: {
-				type: [String, Number],
-				default: ''
-			},
-			modelValue: {
-				type: [String, Number],
-				default: ''
-			},
-			label: {
-				type: String,
-				default: ''
-			},
-			placeholder: {
-				type: String,
-				default: '璇烽�夋嫨'
-			},
-			emptyTips: {
-				type: String,
-				default: '鏃犻�夐」'
-			},
-			clear: {
-				type: Boolean,
-				default: true
-			},
-			defItem: {
-				type: Number,
-				default: 0
-			},
-      disabled: {
-				type: Boolean,
-				default: false
-			}
-		},
-		created() {
-			this.last = `${this.collection}_last_selected_option_value`
-			if (this.collection && !this.localdata.length) {
-				this.mixinDatacomEasyGet()
-			}
-		},
-		computed: {
-			typePlaceholder() {
-				const text = {
-					'opendb-stat-app-versions': '鐗堟湰',
-					'opendb-app-channels': '娓犻亾',
-					'opendb-app-list': '搴旂敤'
-				}
-				const common = this.placeholder
-				const placeholder = text[this.collection]
-				return placeholder ?
-					common + placeholder :
-					common
-			}
-		},
-		watch: {
-			localdata: {
-				immediate: true,
-				handler(val, old) {
-					if (Array.isArray(val) && old !== val) {
-						this.mixinDatacomResData = val
-					}
-				}
-			},
-			// #ifndef VUE3
-			value() {
-				this.initDefVal()
-			},
-			// #endif
-			// #ifdef VUE3
-			modelValue() {
-				this.initDefVal()
-			},
-			// #endif
-			mixinDatacomResData: {
-				immediate: true,
-				handler(val) {
-					if (val.length) {
-						this.initDefVal()
-					}
-				}
-			}
-		},
-		methods: {
-			initDefVal() {
-				let defValue = ''
-				if ((this.value || this.value === 0) && !this.isDisabled(this.value)) {
-					defValue = this.value
-				} else if ((this.modelValue || this.modelValue === 0) && !this.isDisabled(this.modelValue)) {
-					defValue = this.modelValue
-				} else {
-					let strogeValue
-					if (this.collection) {
-						strogeValue = uni.getStorageSync(this.last)
-					}
-					if (strogeValue || strogeValue === 0) {
-						defValue = strogeValue
-					} else {
-						let defItem = ''
-						if (this.defItem > 0 && this.defItem < this.mixinDatacomResData.length) {
-							defItem = this.mixinDatacomResData[this.defItem - 1].value
-						}
-						defValue = defItem
-					}
-					this.emit(defValue)
-				}
-				const def = this.mixinDatacomResData.find(item => item.value === defValue)
-				this.current = def ? this.formatItemName(def) : ''
-			},
-
-			/**
-			 * @param {[String, Number]} value
-			 * 鍒ゆ柇鐢ㄦ埛缁欑殑 value 鏄惁鍚屾椂涓虹鐢ㄧ姸鎬�
-			 */
-			isDisabled(value) {
-				let isDisabled = false;
-
-				this.mixinDatacomResData.forEach(item => {
-					if (item.value === value) {
-						isDisabled = item.disable
-					}
-				})
-
-				return isDisabled;
-			},
-
-			clearVal() {
-				this.emit('')
-				if (this.collection) {
-					uni.removeStorageSync(this.last)
-				}
-			},
-			change(item) {
-				if (!item.disable) {
-					this.showSelector = false
-					this.current = this.formatItemName(item)
-					this.emit(item.value)
-				}
-			},
-			emit(val) {
-				this.$emit('change', val)
-				this.$emit('input', val)
-				this.$emit('update:modelValue', val)
-				if (this.collection) {
-					uni.setStorageSync(this.last, val)
-				}
-			},
-
-			toggleSelector() {
-        if(this.disabled){
-          return
-        }
-
-				this.showSelector = !this.showSelector
-			},
-			formatItemName(item) {
-				let {
-					text,
-					value,
-					channel_code
-				} = item
-				channel_code = channel_code ? `(${channel_code})` : ''
-				return this.collection.indexOf('app-list') > 0 ?
-					`${text}(${value})` :
-					(
-						text ?
-						text :
-						`鏈懡鍚�${channel_code}`
-					)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	$uni-base-color: #6a6a6a !default;
-	$uni-main-color: #333 !default;
-	$uni-secondary-color: #909399 !default;
-	$uni-border-3: #e5e5e5;
-
-
-	/* #ifndef APP-NVUE */
-	@media screen and (max-width: 500px) {
-		.hide-on-phone {
-			display: none;
-		}
-	}
-
-	/* #endif */
-	.uni-stat__select {
-		display: flex;
-		align-items: center;
-		// padding: 15px;
-		cursor: pointer;
-		width: 100%;
-		flex: 1;
-		box-sizing: border-box;
-	}
-
-	.uni-stat-box {
-		width: 100%;
-		flex: 1;
-	}
-
-	.uni-stat__actived {
-		width: 100%;
-		flex: 1;
-		// outline: 1px solid #2979ff;
-	}
-
-	.uni-label-text {
-		font-size: 14px;
-		font-weight: bold;
-		color: $uni-base-color;
-		margin: auto 0;
-		margin-right: 5px;
-	}
-
-	.uni-select {
-		font-size: 14px;
-		border: 1px solid $uni-border-3;
-		box-sizing: border-box;
-		border-radius: 4px;
-		padding: 0 5px;
-		padding-left: 10px;
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		user-select: none;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		border-bottom: solid 1px $uni-border-3;
-		width: 100%;
-		flex: 1;
-		height: 35px;
-
-    &--disabled{
-      background-color: #f5f7fa;
-      cursor: not-allowed;
-    }
-	}
-
-	.uni-select__label {
-		font-size: 16px;
-		// line-height: 22px;
-		height: 35px;
-		padding-right: 10px;
-		color: $uni-secondary-color;
-	}
-
-	.uni-select__input-box {
-		height: 35px;
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.uni-select__input {
-		flex: 1;
-		font-size: 14px;
-		height: 22px;
-		line-height: 22px;
-	}
-
-	.uni-select__input-plac {
-		font-size: 14px;
-		color: $uni-secondary-color;
-	}
-
-	.uni-select__selector {
-		/* #ifndef APP-NVUE */
-		box-sizing: border-box;
-		/* #endif */
-		position: absolute;
-		top: calc(100% + 12px);
-		left: 0;
-		width: 100%;
-		background-color: #FFFFFF;
-		border: 1px solid #EBEEF5;
-		border-radius: 6px;
-		box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
-		z-index: 3;
-		padding: 4px 0;
-	}
-
-	.uni-select__selector-scroll {
-		/* #ifndef APP-NVUE */
-		max-height: 200px;
-		box-sizing: border-box;
-		/* #endif */
-	}
-
-	.uni-select__selector-empty,
-	.uni-select__selector-item {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		cursor: pointer;
-		/* #endif */
-		line-height: 35px;
-		font-size: 14px;
-		text-align: center;
-		/* border-bottom: solid 1px $uni-border-3; */
-		padding: 0px 10px;
-	}
-
-	.uni-select__selector-item:hover {
-		background-color: #f9f9f9;
-	}
-
-	.uni-select__selector-empty:last-child,
-	.uni-select__selector-item:last-child {
-		/* #ifndef APP-NVUE */
-		border-bottom: none;
-		/* #endif */
-	}
-
-	.uni-select__selector__disabled {
-		opacity: 0.4;
-		cursor: default;
-	}
-
-	/* picker 寮瑰嚭灞傞�氱敤鐨勬寚绀哄皬涓夎 */
-	.uni-popper__arrow,
-	.uni-popper__arrow::after {
-		position: absolute;
-		display: block;
-		width: 0;
-		height: 0;
-		border-color: transparent;
-		border-style: solid;
-		border-width: 6px;
-	}
-
-	.uni-popper__arrow {
-		filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
-		top: -6px;
-		left: 10%;
-		margin-right: 3px;
-		border-top-width: 0;
-		border-bottom-color: #EBEEF5;
-	}
-
-	.uni-popper__arrow::after {
-		content: " ";
-		top: 1px;
-		margin-left: -6px;
-		border-top-width: 0;
-		border-bottom-color: #fff;
-	}
-
-	.uni-select__input-text {
-		// width: 280px;
-		width: 100%;
-		color: $uni-main-color;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-		-o-text-overflow: ellipsis;
-		overflow: hidden;
-	}
-
-	.uni-select__input-placeholder {
-		color: $uni-base-color;
-		font-size: 12px;
-	}
-
-	.uni-select--mask {
-		position: fixed;
-		top: 0;
-		bottom: 0;
-		right: 0;
-		left: 0;
-	}
-</style>
diff --git a/src/uni_modules/uni-data-select/package.json b/src/uni_modules/uni-data-select/package.json
deleted file mode 100644
index 2a203ca..0000000
--- a/src/uni_modules/uni-data-select/package.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
-  "id": "uni-data-select",
-  "displayName": "uni-data-select 涓嬫媺妗嗛�夋嫨鍣�",
-  "version": "0.1.9",
-  "description": "閫氳繃鏁版嵁椹卞姩鐨勪笅鎷夋閫夋嫨鍣�",
-  "keywords": [
-    "uni-ui",
-    "select",
-    "uni-data-select",
-    "涓嬫媺妗�",
-    "涓嬫媺閫�"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": "^3.1.1"
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-load-more"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "u",
-          "app-nvue": "n"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "u",
-          "鐧惧害": "u",
-          "瀛楄妭璺冲姩": "u",
-        "QQ": "u",
-        "浜笢": "u"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-data-select/readme.md b/src/uni_modules/uni-data-select/readme.md
deleted file mode 100644
index eb58de3..0000000
--- a/src/uni_modules/uni-data-select/readme.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## DataSelect 涓嬫媺妗嗛�夋嫨鍣�
-> **缁勪欢鍚嶏細uni-data-select**
-> 浠g爜鍧楋細 `uDataSelect`
-
-褰撻�夐」杩囧鏃讹紝浣跨敤涓嬫媺鑿滃崟灞曠ず骞堕�夋嫨鍐呭
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-data-select)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
diff --git a/src/uni_modules/uni-dateformat/changelog.md b/src/uni_modules/uni-dateformat/changelog.md
deleted file mode 100644
index d551d7b..0000000
--- a/src/uni_modules/uni-dateformat/changelog.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## 1.0.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-dateformat](https://uniapp.dcloud.io/component/uniui/uni-dateformat)
-## 0.0.5锛�2021-07-08锛�
-- 璋冩暣 榛樿鏃堕棿涓嶅啀鏄綋鍓嶆椂闂达紝鑰屾槸鏄剧ず'-'瀛楃
-## 0.0.4锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 0.0.3锛�2021-02-04锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 淇 iOS 骞冲彴鏃ユ湡鏍煎紡鍖栧嚭閿欑殑闂
diff --git a/src/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js b/src/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js
deleted file mode 100644
index e00d559..0000000
--- a/src/uni_modules/uni-dateformat/components/uni-dateformat/date-format.js
+++ /dev/null
@@ -1,200 +0,0 @@
-// yyyy-MM-dd hh:mm:ss.SSS 鎵�鏈夋敮鎸佺殑绫诲瀷
-function pad(str, length = 2) {
-	str += ''
-	while (str.length < length) {
-		str = '0' + str
-	}
-	return str.slice(-length)
-}
-
-const parser = {
-	yyyy: (dateObj) => {
-		return pad(dateObj.year, 4)
-	},
-	yy: (dateObj) => {
-		return pad(dateObj.year)
-	},
-	MM: (dateObj) => {
-		return pad(dateObj.month)
-	},
-	M: (dateObj) => {
-		return dateObj.month
-	},
-	dd: (dateObj) => {
-		return pad(dateObj.day)
-	},
-	d: (dateObj) => {
-		return dateObj.day
-	},
-	hh: (dateObj) => {
-		return pad(dateObj.hour)
-	},
-	h: (dateObj) => {
-		return dateObj.hour
-	},
-	mm: (dateObj) => {
-		return pad(dateObj.minute)
-	},
-	m: (dateObj) => {
-		return dateObj.minute
-	},
-	ss: (dateObj) => {
-		return pad(dateObj.second)
-	},
-	s: (dateObj) => {
-		return dateObj.second
-	},
-	SSS: (dateObj) => {
-		return pad(dateObj.millisecond, 3)
-	},
-	S: (dateObj) => {
-		return dateObj.millisecond
-	},
-}
-
-// 杩欓兘n骞翠簡iOS渚濈劧涓嶈璇�2020-12-12锛岄渶瑕佽浆鎹负2020/12/12
-function getDate(time) {
-	if (time instanceof Date) {
-		return time
-	}
-	switch (typeof time) {
-		case 'string':
-			{
-				// 2020-12-12T12:12:12.000Z銆�2020-12-12T12:12:12.000
-				if (time.indexOf('T') > -1) {
-					return new Date(time)
-				}
-				return new Date(time.replace(/-/g, '/'))
-			}
-		default:
-			return new Date(time)
-	}
-}
-
-export function formatDate(date, format = 'yyyy/MM/dd hh:mm:ss') {
-	if (!date && date !== 0) {
-		return ''
-	}
-	date = getDate(date)
-	const dateObj = {
-		year: date.getFullYear(),
-		month: date.getMonth() + 1,
-		day: date.getDate(),
-		hour: date.getHours(),
-		minute: date.getMinutes(),
-		second: date.getSeconds(),
-		millisecond: date.getMilliseconds()
-	}
-	const tokenRegExp = /yyyy|yy|MM|M|dd|d|hh|h|mm|m|ss|s|SSS|SS|S/
-	let flag = true
-	let result = format
-	while (flag) {
-		flag = false
-		result = result.replace(tokenRegExp, function(matched) {
-			flag = true
-			return parser[matched](dateObj)
-		})
-	}
-	return result
-}
-
-export function friendlyDate(time, {
-	locale = 'zh',
-	threshold = [60000, 3600000],
-	format = 'yyyy/MM/dd hh:mm:ss'
-}) {
-	if (time === '-') {
-		return time
-	}
-	if (!time && time !== 0) {
-		return ''
-	}
-	const localeText = {
-		zh: {
-			year: '骞�',
-			month: '鏈�',
-			day: '澶�',
-			hour: '灏忔椂',
-			minute: '鍒嗛挓',
-			second: '绉�',
-			ago: '鍓�',
-			later: '鍚�',
-			justNow: '鍒氬垰',
-			soon: '椹笂',
-			template: '{num}{unit}{suffix}'
-		},
-		en: {
-			year: 'year',
-			month: 'month',
-			day: 'day',
-			hour: 'hour',
-			minute: 'minute',
-			second: 'second',
-			ago: 'ago',
-			later: 'later',
-			justNow: 'just now',
-			soon: 'soon',
-			template: '{num} {unit} {suffix}'
-		}
-	}
-	const text = localeText[locale] || localeText.zh
-	let date = getDate(time)
-	let ms = date.getTime() - Date.now()
-	let absMs = Math.abs(ms)
-	if (absMs < threshold[0]) {
-		return ms < 0 ? text.justNow : text.soon
-	}
-	if (absMs >= threshold[1]) {
-		return formatDate(date, format)
-	}
-	let num
-	let unit
-	let suffix = text.later
-	if (ms < 0) {
-		suffix = text.ago
-		ms = -ms
-	}
-	const seconds = Math.floor((ms) / 1000)
-	const minutes = Math.floor(seconds / 60)
-	const hours = Math.floor(minutes / 60)
-	const days = Math.floor(hours / 24)
-	const months = Math.floor(days / 30)
-	const years = Math.floor(months / 12)
-	switch (true) {
-		case years > 0:
-			num = years
-			unit = text.year
-			break
-		case months > 0:
-			num = months
-			unit = text.month
-			break
-		case days > 0:
-			num = days
-			unit = text.day
-			break
-		case hours > 0:
-			num = hours
-			unit = text.hour
-			break
-		case minutes > 0:
-			num = minutes
-			unit = text.minute
-			break
-		default:
-			num = seconds
-			unit = text.second
-			break
-	}
-
-	if (locale === 'en') {
-		if (num === 1) {
-			num = 'a'
-		} else {
-			unit += 's'
-		}
-	}
-
-	return text.template.replace(/{\s*num\s*}/g, num + '').replace(/{\s*unit\s*}/g, unit).replace(/{\s*suffix\s*}/g,
-		suffix)
-}
diff --git a/src/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue b/src/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue
deleted file mode 100644
index c5ed030..0000000
--- a/src/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue
+++ /dev/null
@@ -1,88 +0,0 @@
-<template>
-	<text>{{dateShow}}</text>
-</template>
-
-<script>
-	import {friendlyDate} from './date-format.js'
-	/**
-	 * Dateformat 鏃ユ湡鏍煎紡鍖�
-	 * @description 鏃ユ湡鏍煎紡鍖栫粍浠�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=3279
-	 * @property {Object|String|Number} date 鏃ユ湡瀵硅薄/鏃ユ湡瀛楃涓�/鏃堕棿鎴�
-	 * @property {String} locale 鏍煎紡鍖栦娇鐢ㄧ殑璇█
-	 * 	@value zh 涓枃
-	 * 	@value en 鑻辨枃
-	 * @property {Array} threshold 搴旂敤涓嶅悓绫诲瀷鏍煎紡鍖栫殑闃堝��
-	 * @property {String} format 杈撳嚭鏃ユ湡瀛楃涓叉椂鐨勬牸寮�
-	 */
-	export default {
-		name: 'uniDateformat',
-		props: {
-			date: {
-				type: [Object, String, Number],
-				default () {
-					return '-'
-				}
-			},
-			locale: {
-				type: String,
-				default: 'zh',
-			},
-			threshold: {
-				type: Array,
-				default () {
-					return [0, 0]
-				}
-			},
-			format: {
-				type: String,
-				default: 'yyyy/MM/dd hh:mm:ss'
-			},
-			// refreshRate浣跨敤涓嶅綋鍙兘瀵艰嚧鎬ц兘闂锛岃皑鎱庝娇鐢�
-			refreshRate: {
-				type: [Number, String],
-				default: 0
-			}
-		},
-		data() {
-			return {
-				refreshMark: 0
-			}
-		},
-		computed: {
-			dateShow() {
-				this.refreshMark
-				return friendlyDate(this.date, {
-					locale: this.locale,
-					threshold: this.threshold,
-					format: this.format
-				})
-			}
-		},
-		watch: {
-			refreshRate: {
-				handler() {
-					this.setAutoRefresh()
-				},
-				immediate: true
-			}
-		},
-		methods: {
-			refresh() {
-				this.refreshMark++
-			},
-			setAutoRefresh() {
-				clearInterval(this.refreshInterval)
-				if (this.refreshRate) {
-					this.refreshInterval = setInterval(() => {
-						this.refresh()
-					}, parseInt(this.refreshRate))
-				}
-			}
-		}
-	}
-</script>
-
-<style>
-
-</style>
diff --git a/src/uni_modules/uni-dateformat/package.json b/src/uni_modules/uni-dateformat/package.json
deleted file mode 100644
index 786a670..0000000
--- a/src/uni_modules/uni-dateformat/package.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
-  "id": "uni-dateformat",
-  "displayName": "uni-dateformat 鏃ユ湡鏍煎紡鍖�",
-  "version": "1.0.0",
-  "description": "鏃ユ湡鏍煎紡鍖栫粍浠讹紝鍙互灏嗘棩鏈熸牸寮忓寲涓�1鍒嗛挓鍓嶃�佸垰鍒氱瓑褰㈠紡",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "鏃ユ湡鏍煎紡鍖�",
-    "鏃堕棿鏍煎紡鍖�",
-    "鏍煎紡鍖栨椂闂�",
-    ""
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "y",
-          "鑱旂洘": "y"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-dateformat/readme.md b/src/uni_modules/uni-dateformat/readme.md
deleted file mode 100644
index 37ddb6e..0000000
--- a/src/uni_modules/uni-dateformat/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-### DateFormat 鏃ユ湡鏍煎紡鍖�
-> **缁勪欢鍚嶏細uni-dateformat**
-> 浠g爜鍧楋細 `uDateformat`
-
-
-鏃ユ湡鏍煎紡鍖栫粍浠躲��
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-dateformat)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-datetime-picker/changelog.md b/src/uni_modules/uni-datetime-picker/changelog.md
deleted file mode 100644
index 9f09862..0000000
--- a/src/uni_modules/uni-datetime-picker/changelog.md
+++ /dev/null
@@ -1,103 +0,0 @@
-## 2.2.11锛�2022-09-19锛�
-- 淇锛屾敮浠樺疂灏忕▼搴忔牱寮忛敊涔憋紝[璇︽儏](https://github.com/dcloudio/uni-app/issues/3861)
-## 2.2.10锛�2022-09-19锛�
-- 淇锛屽弽鍚戦�夋嫨鏃ユ湡鑼冨洿锛屾棩鏈熸樉绀哄紓甯革紝[璇︽儏](https://ask.dcloud.net.cn/question/153401?item_id=212892&rf=false)
-## 2.2.9锛�2022-09-16锛�
-- 鍙互浣跨敤 uni-scss 鎺у埗涓婚鑹�
-## 2.2.8锛�2022-09-08锛�
-- 淇 close浜嬩欢鏃犳晥鐨� bug
-## 2.2.7锛�2022-09-05锛�
-- 淇 绉诲姩绔� maskClick 鏃犳晥鐨� bug锛岃瑙�:[https://ask.dcloud.net.cn/question/140824?item_id=209458&rf=false](https://ask.dcloud.net.cn/question/140824?item_id=209458&rf=false)
-## 2.2.6锛�2022-06-30锛�
-- 浼樺寲 缁勪欢鏍峰紡锛岃皟鏁翠簡缁勪欢鍥炬爣澶у皬銆侀珮搴︺�侀鑹茬瓑锛屼笌uni-ui椋庢牸淇濇寔涓�鑷�
-## 2.2.5锛�2022-06-24锛�
-- 淇 鏃ュ巻椤堕儴骞存湀鍙婂簳閮ㄧ‘璁ゆ湭鍥介檯鍖� bug
-## 2.2.4锛�2022-03-31锛�
-- 淇 Vue3 涓嬪姩鎬佽祴鍊�,鍗曢�夌被鍨嬫湭鍝嶅簲鐨� bug
-## 2.2.3锛�2022-03-28锛�
-- 淇 Vue3 涓嬪姩鎬佽祴鍊兼湭鍝嶅簲鐨� bug
-## 2.2.2锛�2021-12-10锛�
-- 淇 clear-icon 灞炴�у湪灏忕▼搴忓钩鍙颁笉鐢熸晥鐨� bug
-## 2.2.1锛�2021-12-10锛�
-- 淇 鏃ユ湡鑼冨洿閫夊湪灏忕▼搴忓钩鍙帮紝蹇呴』澶氱偣鍑讳竴娆℃墠鑳藉彇娑堥�変腑鐘舵�佺殑 bug
-## 2.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-datetime-picker](https://uniapp.dcloud.io/component/uniui/uni-datetime-picker)
-## 2.1.5锛�2021-11-09锛� 
-- 鏂板 鎻愪緵缁勪欢璁捐璧勬簮锛岀粍浠舵牱寮忚皟鏁�
-## 2.1.4锛�2021-09-10锛�
-- 淇 hide-second 鍦ㄧЩ鍔ㄧ鐨� bug
-- 淇 鍗曢�夎祴榛樿鍊兼椂锛岃祴鍊兼棩鏈熸湭楂樹寒鐨� bug
-- 淇 璧嬮粯璁ゅ�兼椂锛岀Щ鍔ㄧ鏈纭樉绀烘椂闂寸殑 bug
-## 2.1.3锛�2021-09-09锛�
-- 鏂板 hide-second 灞炴�э紝鏀寔鍙娇鐢ㄦ椂鍒嗭紝闅愯棌绉�
-## 2.1.2锛�2021-09-03锛�
-- 浼樺寲 鍙栨秷閫変腑鏃讹紙鑼冨洿閫夛級鐩存帴寮�濮嬩笅涓�娆¢�夋嫨, 閬垮厤澶氱偣涓�娆�
-- 浼樺寲 绉诲姩绔敮鎸佹竻闄ゆ寜閽紝鍚屾椂鏀寔閫氳繃 ref 璋冪敤缁勪欢鐨� clear 鏂规硶
-- 浼樺寲 璋冩暣瀛楀彿澶у皬锛岀編鍖栨棩鍘嗙晫闈�
-- 淇 鍥犲浗闄呭寲瀵艰嚧鐨� placeholder 澶辨晥鐨� bug
-## 2.1.1锛�2021-08-24锛�
-- 鏂板 鏀寔鍥介檯鍖�
-- 浼樺寲 鑼冨洿閫夋嫨鍣ㄥ湪 pc 绔繃瀹界殑闂
-## 2.1.0锛�2021-08-09锛�
-- 鏂板 閫傞厤 vue3
-## 2.0.19锛�2021-08-09锛�
-- 鏂板 鏀寔浣滀负 uni-forms 瀛愮粍浠剁浉鍏冲姛鑳�
-- 淇 鍦� uni-forms 涓娇鐢ㄦ椂锛岄�夋嫨鏃堕棿鎶� NAN 閿欒鐨� bug
-## 2.0.18锛�2021-08-05锛�
-- 淇 type 灞炴�у姩鎬佽祴鍊兼棤鏁堢殑 bug
-- 淇 鈥樼‘璁も�欐寜閽 tabbar 閬洊 bug
-- 淇 缁勪欢鏈祴鍊兼椂鑼冨洿閫夊乏銆佸彸鏃ュ巻鐩稿悓鐨� bug
-## 2.0.17锛�2021-08-04锛�
-- 淇 鑼冨洿閫夋湭姝g‘鏄剧ず褰撳墠鍊肩殑 bug
-- 淇 h5 骞冲彴锛堢Щ鍔ㄧ锛夋姤閿� 'cale' of undefined 鐨� bug
-## 2.0.16锛�2021-07-21锛�
-- 鏂板 return-type 灞炴�ф敮鎸佽繑鍥� date 鏃ユ湡瀵硅薄
-## 2.0.15锛�2021-07-14锛�
-- 淇 鍗曢�夋棩鏈熺被鍨嬶紝鍒濆璧嬪�煎悗涓嶅湪褰撳墠鏃ュ巻鐨� bug
-- 鏂板 clearIcon 灞炴�э紝鏄剧ず妗嗙殑娓呯┖鎸夐挳鍙厤缃樉绀洪殣钘忥紙浠� pc 鏈夋晥锛�
-- 浼樺寲 绉诲姩绔Щ闄ゆ樉绀烘鐨勬竻绌烘寜閽紝鏃犲疄闄呯敤閫�
-## 2.0.14锛�2021-07-14锛�
-- 淇 缁勪欢璧嬪�间负绌猴紝鐣岄潰鏈洿鏂扮殑 bug
-- 淇 start 鍜� end 涓嶈兘鍔ㄦ�佽祴鍊肩殑 bug
-- 淇 鑼冨洿閫夌被鍨嬶紝鐢ㄦ埛閫夋嫨鍚庡啀娆¢�夋嫨鍙充晶鏃ュ巻锛堢粨鏉熸棩鏈燂級鏄剧ず涓嶆纭殑 bug
-## 2.0.13锛�2021-07-08锛�
-- 淇 鑼冨洿閫夋嫨涓嶈兘鍔ㄦ�佽祴鍊肩殑 bug
-## 2.0.12锛�2021-07-08锛�
-- 淇 鑼冨洿閫夋嫨鐨勫垵濮嬫椂闂村湪涓�涓湀鍐呮椂锛岄�犳垚鏃犳硶閫夋嫨鐨刡ug
-## 2.0.11锛�2021-07-08锛�
-- 浼樺寲 寮瑰嚭灞傚湪瓒呭嚭瑙嗙獥杈圭紭瀹氫綅涓嶅噯纭殑闂
-## 2.0.10锛�2021-07-08锛�
-- 淇 鑼冨洿璧峰鐐规牱寮忕殑鑳屾櫙鑹蹭笌浠婃棩鏍峰紡鐨勫瓧浣撳墠鏅壊铻嶅悎锛屽鑷存棩鏈熷瓧浣撶湅涓嶆竻鐨� bug
-- 浼樺寲 寮瑰嚭灞傚湪瓒呭嚭瑙嗙獥杈圭紭琚伄鐩栫殑闂
-## 2.0.9锛�2021-07-07锛�
-- 鏂板 maskClick 浜嬩欢
-- 淇 鐗规畩鎯呭喌鏃ュ巻 rpx 甯冨眬閿欒鐨� bug锛宺px -> px
-- 淇 鑼冨洿閫夋嫨鏃舵竻绌鸿繑鍥炲�间笉鍚堢悊鐨刡ug锛孾'', ''] -> []
-## 2.0.8锛�2021-07-07锛�
-- 鏂板 鏃ユ湡鏃堕棿鏄剧ず妗嗘敮鎸佹彃妲�
-## 2.0.7锛�2021-07-01锛�
-- 浼樺寲 娣诲姞 uni-icons 渚濊禆
-## 2.0.6锛�2021-05-22锛�
-- 淇 鍥炬爣鍦ㄥ皬绋嬪簭涓婁笉鏄剧ず鐨� bug
-- 浼樺寲 閲嶅懡鍚嶅紩鐢ㄧ粍浠讹紝閬垮厤娼滃湪缁勪欢鍛藉悕鍐茬獊
-## 2.0.5锛�2021-05-20锛�
-- 浼樺寲 浠g爜鐩綍鎵佸钩鍖�
-## 2.0.4锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 2.0.3锛�2021-05-10锛�
-- 淇 ios 涓嬩笉璇嗗埆 '-' 鏃ユ湡鏍煎紡鐨� bug
-- 浼樺寲 pc 涓嬪脊鍑哄眰娣诲姞杈规鍜岄槾褰�
-## 2.0.2锛�2021-05-08锛�
-- 淇 鍦� admin 涓幏鍙栧脊鍑哄眰瀹氫綅閿欒鐨刡ug
-## 2.0.1锛�2021-05-08锛�
-- 淇 type 灞炴�у悜涓嬪吋瀹癸紝榛樿鍊间粠 date 鍙樻洿涓� datetime
-## 2.0.0锛�2021-04-30锛�
-- 鏀寔鏃ュ巻褰㈠紡鐨勬棩鏈�+鏃堕棿鐨勮寖鍥撮�夋嫨
- > 娉ㄦ剰锛氭鐗堟湰涓嶅悜鍚庡吋瀹癸紝涓嶅啀鏀寔鍗曠嫭鏃堕棿閫夋嫨锛坱ype=time锛夊強鐩稿叧鐨� hide-second 灞炴�э紙鏃堕棿閫夊彲浣跨敤鍐呯疆缁勪欢 picker锛�
-## 1.0.6锛�2021-03-18锛�
-- 鏂板 hide-second 灞炴�э紝鏃堕棿鏀寔浠呴�夋嫨鏃躲�佸垎
-- 淇 閫夋嫨璺熸樉绀虹殑鏃ユ湡涓嶄竴鏍风殑 bug
-- 淇 chang浜嬩欢瑙﹀彂2娆$殑 bug
-- 淇 鍒嗐�佺 end 鑼冨洿閿欒鐨� bug
-- 浼樺寲 鏇村ソ鐨� nvue 閫傞厤
diff --git a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue b/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue
deleted file mode 100644
index a2201d3..0000000
--- a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue
+++ /dev/null
@@ -1,187 +0,0 @@
-<template>
-	<view class="uni-calendar-item__weeks-box" :class="{
-		'uni-calendar-item--disable':weeks.disable,
-		'uni-calendar-item--before-checked-x':weeks.beforeMultiple,
-		'uni-calendar-item--multiple': weeks.multiple,
-		'uni-calendar-item--after-checked-x':weeks.afterMultiple,
-		}" @click="choiceDate(weeks)" @mouseenter="handleMousemove(weeks)">
-		<view class="uni-calendar-item__weeks-box-item" :class="{
-				'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate && (calendar.userChecked || !checkHover),
-				'uni-calendar-item--checked-range-text': checkHover,
-				'uni-calendar-item--before-checked':weeks.beforeMultiple,
-				'uni-calendar-item--multiple': weeks.multiple,
-				'uni-calendar-item--after-checked':weeks.afterMultiple,
-				'uni-calendar-item--disable':weeks.disable,
-				}">
-			<text v-if="selected&&weeks.extraInfo" class="uni-calendar-item__weeks-box-circle"></text>
-			<text class="uni-calendar-item__weeks-box-text uni-calendar-item__weeks-box-text-disable uni-calendar-item--checked-text">{{weeks.date}}</text>
-		</view>
-		<view :class="{'uni-calendar-item--isDay': weeks.isDay}"></view>
-	</view>
-</template>
-
-<script>
-	export default {
-		props: {
-			weeks: {
-				type: Object,
-				default () {
-					return {}
-				}
-			},
-			calendar: {
-				type: Object,
-				default: () => {
-					return {}
-				}
-			},
-			selected: {
-				type: Array,
-				default: () => {
-					return []
-				}
-			},
-			lunar: {
-				type: Boolean,
-				default: false
-			},
-			checkHover: {
-				type: Boolean,
-				default: false
-			}
-		},
-		methods: {
-			choiceDate(weeks) {
-				this.$emit('change', weeks)
-			},
-			handleMousemove(weeks) {
-				this.$emit('handleMouse', weeks)
-			}
-		}
-	}
-</script>
-
-<style lang="scss" >
-	$uni-primary: #007aff !default;
-
-	.uni-calendar-item__weeks-box {
-		flex: 1;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		margin: 1px 0;
-		position: relative;
-	}
-
-	.uni-calendar-item__weeks-box-text {
-		font-size: 14px;
-		// font-family: Lato-Bold, Lato;
-		font-weight: bold;
-		color: darken($color: $uni-primary, $amount: 40%);
-	}
-
-	.uni-calendar-item__weeks-lunar-text {
-		font-size: 12px;
-		color: #333;
-	}
-
-	.uni-calendar-item__weeks-box-item {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		width: 40px;
-		height: 40px;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-
-	.uni-calendar-item__weeks-box-circle {
-		position: absolute;
-		top: 5px;
-		right: 5px;
-		width: 8px;
-		height: 8px;
-		border-radius: 8px;
-		background-color: #dd524d;
-
-	}
-
-	.uni-calendar-item__weeks-box .uni-calendar-item--disable {
-		// background-color: rgba(249, 249, 249, $uni-opacity-disabled);
-		cursor: default;
-	}
-
-	.uni-calendar-item--disable .uni-calendar-item__weeks-box-text-disable {
-		color: #D1D1D1;
-	}
-
-	.uni-calendar-item--isDay {
-		position: absolute;
-		top: 10px;
-		right: 17%;
-		background-color: #dd524d;
-		width:6px;
-		height: 6px;
-		border-radius: 50%;
-	}
-
-	.uni-calendar-item--extra {
-		color: #dd524d;
-		opacity: 0.8;
-	}
-
-	.uni-calendar-item__weeks-box .uni-calendar-item--checked {
-		background-color: $uni-primary;
-		border-radius: 50%;
-		box-sizing: border-box;
-		border: 3px solid #fff;
-	}
-
-	.uni-calendar-item--checked .uni-calendar-item--checked-text {
-		color: #fff;
-	}
-
-	.uni-calendar-item--multiple .uni-calendar-item--checked-range-text {
-		color: #333;
-	}
-
-	.uni-calendar-item--multiple {
-		background-color:  #F6F7FC;
-		// color: #fff;
-	}
-
-	.uni-calendar-item--multiple .uni-calendar-item--before-checked,
-	.uni-calendar-item--multiple .uni-calendar-item--after-checked {
-		background-color: $uni-primary;
-		border-radius: 50%;
-		box-sizing: border-box;
-		border: 3px solid #F6F7FC;
-	}
-
-	.uni-calendar-item--before-checked .uni-calendar-item--checked-text,
-	.uni-calendar-item--after-checked .uni-calendar-item--checked-text {
-		color: #fff;
-	}
-
-	.uni-calendar-item--before-checked-x {
-		border-top-left-radius: 50px;
-		border-bottom-left-radius: 50px;
-		box-sizing: border-box;
-		background-color: #F6F7FC;
-	}
-
-	.uni-calendar-item--after-checked-x {
-		border-top-right-radius: 50px;
-		border-bottom-right-radius: 50px;
-		background-color: #F6F7FC;
-	}
-</style>
diff --git a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue b/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue
deleted file mode 100644
index b376470..0000000
--- a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue
+++ /dev/null
@@ -1,924 +0,0 @@
-<template>
-	<view class="uni-calendar" @mouseleave="leaveCale">
-		<view v-if="!insert&&show" class="uni-calendar__mask" :class="{'uni-calendar--mask-show':aniMaskShow}"
-			@click="clean();maskClick()"></view>
-		<view v-if="insert || show" class="uni-calendar__content"
-			:class="{'uni-calendar--fixed':!insert,'uni-calendar--ani-show':aniMaskShow, 'uni-calendar__content-mobile': aniMaskShow}">
-			<view class="uni-calendar__header" :class="{'uni-calendar__header-mobile' :!insert}">
-				<view v-if="left" class="uni-calendar__header-btn-box" @click.stop="pre">
-					<view class="uni-calendar__header-btn uni-calendar--left"></view>
-				</view>
-				<picker mode="date" :value="date" fields="month" @change="bindDateChange">
-					<text
-						class="uni-calendar__header-text">{{ (nowDate.year||'') + yearText + ( nowDate.month||'') + monthText}}</text>
-				</picker>
-				<view v-if="right" class="uni-calendar__header-btn-box" @click.stop="next">
-					<view class="uni-calendar__header-btn uni-calendar--right"></view>
-				</view>
-				<view v-if="!insert" class="dialog-close" @click="clean">
-					<view class="dialog-close-plus" data-id="close"></view>
-					<view class="dialog-close-plus dialog-close-rotate" data-id="close"></view>
-				</view>
-
-				<!-- <text class="uni-calendar__backtoday" @click="backtoday">鍥炲埌浠婂ぉ</text> -->
-			</view>
-			<view class="uni-calendar__box">
-				<view v-if="showMonth" class="uni-calendar__box-bg">
-					<text class="uni-calendar__box-bg-text">{{nowDate.month}}</text>
-				</view>
-				<view class="uni-calendar__weeks" style="padding-bottom: 7px;">
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{SUNText}}</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{MONText}}</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{TUEText}}</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{WEDText}}</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{THUText}}</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{FRIText}}</text>
-					</view>
-					<view class="uni-calendar__weeks-day">
-						<text class="uni-calendar__weeks-day-text">{{SATText}}</text>
-					</view>
-				</view>
-				<view class="uni-calendar__weeks" v-for="(item,weekIndex) in weeks" :key="weekIndex">
-					<view class="uni-calendar__weeks-item" v-for="(weeks,weeksIndex) in item" :key="weeksIndex">
-						<calendar-item class="uni-calendar-item--hook" :weeks="weeks" :calendar="calendar"
-							:selected="selected" :lunar="lunar" :checkHover="range" @change="choiceDate"
-							@handleMouse="handleMouse">
-						</calendar-item>
-					</view>
-				</view>
-			</view>
-			<view v-if="!insert && !range && typeHasTime" class="uni-date-changed uni-calendar--fixed-top"
-				style="padding: 0 80px;">
-				<view class="uni-date-changed--time-date">{{tempSingleDate ? tempSingleDate : selectDateText}}</view>
-				<time-picker type="time" :start="reactStartTime" :end="reactEndTime" v-model="time"
-					:disabled="!tempSingleDate" :border="false" :hide-second="hideSecond" class="time-picker-style">
-				</time-picker>
-			</view>
-
-			<view v-if="!insert && range && typeHasTime" class="uni-date-changed uni-calendar--fixed-top">
-				<view class="uni-date-changed--time-start">
-					<view class="uni-date-changed--time-date">{{tempRange.before ? tempRange.before : startDateText}}
-					</view>
-					<time-picker type="time" :start="reactStartTime" v-model="timeRange.startTime" :border="false"
-						:hide-second="hideSecond" :disabled="!tempRange.before" class="time-picker-style">
-					</time-picker>
-				</view>
-				<view style="line-height: 50px;">
-					<uni-icons type="arrowthinright" color="#999"></uni-icons>
-				</view>
-				<view class="uni-date-changed--time-end">
-					<view class="uni-date-changed--time-date">{{tempRange.after ? tempRange.after : endDateText}}</view>
-					<time-picker type="time" :end="reactEndTime" v-model="timeRange.endTime" :border="false"
-						:hide-second="hideSecond" :disabled="!tempRange.after" class="time-picker-style">
-					</time-picker>
-				</view>
-			</view>
-			<view v-if="!insert" class="uni-date-changed uni-date-btn--ok">
-				<!-- <view class="uni-calendar__header-btn-box">
-					<text class="uni-calendar__button-text uni-calendar--fixed-width">{{okText}}</text>
-				</view> -->
-				<view class="uni-datetime-picker--btn" @click="confirm">{{confirmText}}</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import Calendar from './util.js';
-	import calendarItem from './calendar-item.vue'
-	import timePicker from './time-picker.vue'
-	import {
-		initVueI18n
-	} from '@dcloudio/uni-i18n'
-	import messages from './i18n/index.js'
-	const {
-		t
-	} = initVueI18n(messages)
-	/**
-	 * Calendar 鏃ュ巻
-	 * @description 鏃ュ巻缁勪欢鍙互鏌ョ湅鏃ユ湡锛岄�夋嫨浠绘剰鑼冨洿鍐呯殑鏃ユ湡锛屾墦鐐规搷浣溿�傚父鐢ㄥ満鏅锛氶厭搴楁棩鏈熼璁€�佺伀杞︽満绁ㄩ�夋嫨璐拱鏃ユ湡銆佷笂涓嬬彮鎵撳崱绛�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=56
-	 * @property {String} date 鑷畾涔夊綋鍓嶆椂闂达紝榛樿涓轰粖澶�
-	 * @property {Boolean} lunar 鏄剧ず鍐滃巻
-	 * @property {String} startDate 鏃ユ湡閫夋嫨鑼冨洿-寮�濮嬫棩鏈�
-	 * @property {String} endDate 鏃ユ湡閫夋嫨鑼冨洿-缁撴潫鏃ユ湡
-	 * @property {Boolean} range 鑼冨洿閫夋嫨
-	 * @property {Boolean} insert = [true|false] 鎻掑叆妯″紡,榛樿涓篺alse
-	 * 	@value true 寮圭獥妯″紡
-	 * 	@value false 鎻掑叆妯″紡
-	 * @property {Boolean} clearDate = [true|false] 寮圭獥妯″紡鏄惁娓呯┖涓婃閫夋嫨鍐呭
-	 * @property {Array} selected 鎵撶偣锛屾湡寰呮牸寮廩{date: '2019-06-27', info: '绛惧埌', data: { custom: '鑷畾涔変俊鎭�', name: '鑷畾涔夋秷鎭ご',xxx:xxx... }}]
-	 * @property {Boolean} showMonth 鏄惁閫夋嫨鏈堜唤涓鸿儗鏅�
-	 * @event {Function} change 鏃ユ湡鏀瑰彉锛宍insert :ture` 鏃剁敓鏁�
-	 * @event {Function} confirm 纭閫夋嫨`insert :false` 鏃剁敓鏁�
-	 * @event {Function} monthSwitch 鍒囨崲鏈堜唤鏃惰Е鍙�
-	 * @example <uni-calendar :insert="true":lunar="true" :start-date="'2019-3-2'":end-date="'2019-5-20'"@change="change" />
-	 */
-	export default {
-		components: {
-			calendarItem,
-			timePicker
-		},
-		props: {
-			date: {
-				type: String,
-				default: ''
-			},
-			defTime: {
-				type: [String, Object],
-				default: ''
-			},
-			selectableTimes: {
-				type: [Object],
-				default () {
-					return {}
-				}
-			},
-			selected: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			lunar: {
-				type: Boolean,
-				default: false
-			},
-			startDate: {
-				type: String,
-				default: ''
-			},
-			endDate: {
-				type: String,
-				default: ''
-			},
-			range: {
-				type: Boolean,
-				default: false
-			},
-			typeHasTime: {
-				type: Boolean,
-				default: false
-			},
-			insert: {
-				type: Boolean,
-				default: true
-			},
-			showMonth: {
-				type: Boolean,
-				default: true
-			},
-			clearDate: {
-				type: Boolean,
-				default: true
-			},
-			left: {
-				type: Boolean,
-				default: true
-			},
-			right: {
-				type: Boolean,
-				default: true
-			},
-			checkHover: {
-				type: Boolean,
-				default: true
-			},
-			hideSecond: {
-				type: [Boolean],
-				default: false
-			},
-			pleStatus: {
-				type: Object,
-				default () {
-					return {
-						before: '',
-						after: '',
-						data: [],
-						fulldate: ''
-					}
-				}
-			}
-		},
-		data() {
-			return {
-				show: false,
-				weeks: [],
-				calendar: {},
-				nowDate: '',
-				aniMaskShow: false,
-				firstEnter: true,
-				time: '',
-				timeRange: {
-					startTime: '',
-					endTime: ''
-				},
-				tempSingleDate: '',
-				tempRange: {
-					before: '',
-					after: ''
-				}
-			}
-		},
-		watch: {
-			date: {
-				immediate: true,
-				handler(newVal, oldVal) {
-					if (!this.range) {
-						this.tempSingleDate = newVal
-						setTimeout(() => {
-							this.init(newVal)
-						}, 100)
-					}
-				}
-			},
-			defTime: {
-				immediate: true,
-				handler(newVal, oldVal) {
-					if (!this.range) {
-						this.time = newVal
-					} else {
-						// console.log('-----', newVal);
-						this.timeRange.startTime = newVal.start
-						this.timeRange.endTime = newVal.end
-					}
-				}
-			},
-			startDate(val) {
-				this.cale.resetSatrtDate(val)
-				this.cale.setDate(this.nowDate.fullDate)
-				this.weeks = this.cale.weeks
-			},
-			endDate(val) {
-				this.cale.resetEndDate(val)
-				this.cale.setDate(this.nowDate.fullDate)
-				this.weeks = this.cale.weeks
-			},
-			selected(newVal) {
-				this.cale.setSelectInfo(this.nowDate.fullDate, newVal)
-				this.weeks = this.cale.weeks
-			},
-			pleStatus: {
-				immediate: true,
-				handler(newVal, oldVal) {
-					const {
-						before,
-						after,
-						fulldate,
-						which
-					} = newVal
-					this.tempRange.before = before
-					this.tempRange.after = after
-					setTimeout(() => {
-						if (fulldate) {
-							this.cale.setHoverMultiple(fulldate)
-							if (before && after) {
-								this.cale.lastHover = true
-								if (this.rangeWithinMonth(after, before)) return
-								this.setDate(before)
-							} else {
-								this.cale.setMultiple(fulldate)
-								this.setDate(this.nowDate.fullDate)
-								this.calendar.fullDate = ''
-								this.cale.lastHover = false
-							}
-						} else {
-							this.cale.setDefaultMultiple(before, after)
-							if (which === 'left') {
-								this.setDate(before)
-								this.weeks = this.cale.weeks
-							} else {
-								this.setDate(after)
-								this.weeks = this.cale.weeks
-							}
-							this.cale.lastHover = true
-						}
-					}, 16)
-				}
-			}
-		},
-		computed: {
-			reactStartTime() {
-				const activeDate = this.range ? this.tempRange.before : this.calendar.fullDate
-				const res = activeDate === this.startDate ? this.selectableTimes.start : ''
-				return res
-			},
-			reactEndTime() {
-				const activeDate = this.range ? this.tempRange.after : this.calendar.fullDate
-				const res = activeDate === this.endDate ? this.selectableTimes.end : ''
-				return res
-			},
-			/**
-			 * for i18n
-			 */
-			selectDateText() {
-				return t("uni-datetime-picker.selectDate")
-			},
-			startDateText() {
-				return this.startPlaceholder || t("uni-datetime-picker.startDate")
-			},
-			endDateText() {
-				return this.endPlaceholder || t("uni-datetime-picker.endDate")
-			},
-			okText() {
-				return t("uni-datetime-picker.ok")
-			},
-			yearText() {
-				return t("uni-datetime-picker.year")
-			},
-			monthText() {
-				return t("uni-datetime-picker.month")
-			},
-			MONText() {
-				return t("uni-calender.MON")
-			},
-			TUEText() {
-				return t("uni-calender.TUE")
-			},
-			WEDText() {
-				return t("uni-calender.WED")
-			},
-			THUText() {
-				return t("uni-calender.THU")
-			},
-			FRIText() {
-				return t("uni-calender.FRI")
-			},
-			SATText() {
-				return t("uni-calender.SAT")
-			},
-			SUNText() {
-				return t("uni-calender.SUN")
-			},
-			confirmText() {
-				return t("uni-calender.confirm")
-			},
-		},
-		created() {
-			// 鑾峰彇鏃ュ巻鏂规硶瀹炰緥
-			this.cale = new Calendar({
-				// date: new Date(),
-				selected: this.selected,
-				startDate: this.startDate,
-				endDate: this.endDate,
-				range: this.range,
-				// multipleStatus: this.pleStatus
-			})
-			// 閫変腑鏌愪竴澶�
-			// this.cale.setDate(this.date)
-			this.init(this.date)
-			// this.setDay
-		},
-		methods: {
-			leaveCale() {
-				this.firstEnter = true
-			},
-			handleMouse(weeks) {
-				if (weeks.disable) return
-				if (this.cale.lastHover) return
-				let {
-					before,
-					after
-				} = this.cale.multipleStatus
-				if (!before) return
-				this.calendar = weeks
-				// 璁剧疆鑼冨洿閫�
-				this.cale.setHoverMultiple(this.calendar.fullDate)
-				this.weeks = this.cale.weeks
-				// hover鏃讹紝杩涘叆涓�涓棩鍘嗭紝鏇存柊鍙︿竴涓�
-				if (this.firstEnter) {
-					this.$emit('firstEnterCale', this.cale.multipleStatus)
-					this.firstEnter = false
-				}
-			},
-			rangeWithinMonth(A, B) {
-				const [yearA, monthA] = A.split('-')
-				const [yearB, monthB] = B.split('-')
-				return yearA === yearB && monthA === monthB
-			},
-
-			// 鍙栨秷绌块��
-			clean() {
-				this.close()
-			},
-
-			// 钂欑増鐐瑰嚮浜嬩欢
-			maskClick() {
-				this.$emit('maskClose')
-			},
-
-			clearCalender() {
-				if (this.range) {
-					this.timeRange.startTime = ''
-					this.timeRange.endTime = ''
-					this.tempRange.before = ''
-					this.tempRange.after = ''
-					this.cale.multipleStatus.before = ''
-					this.cale.multipleStatus.after = ''
-					this.cale.multipleStatus.data = []
-					this.cale.lastHover = false
-				} else {
-					this.time = ''
-					this.tempSingleDate = ''
-				}
-				this.calendar.fullDate = ''
-				this.setDate()
-			},
-
-			bindDateChange(e) {
-				const value = e.detail.value + '-1'
-				this.init(value)
-			},
-			/**
-			 * 鍒濆鍖栨棩鏈熸樉绀�
-			 * @param {Object} date
-			 */
-			init(date) {
-				this.cale.setDate(date)
-				this.weeks = this.cale.weeks
-				this.nowDate = this.calendar = this.cale.getInfo(date)
-			},
-			// choiceDate(weeks) {
-			// 	if (weeks.disable) return
-			// 	this.calendar = weeks
-			// 	// 璁剧疆澶氶��
-			// 	this.cale.setMultiple(this.calendar.fullDate, true)
-			// 	this.weeks = this.cale.weeks
-			// 	this.tempSingleDate = this.calendar.fullDate
-			// 	this.tempRange.before = this.cale.multipleStatus.before
-			// 	this.tempRange.after = this.cale.multipleStatus.after
-			// 	this.change()
-			// },
-			/**
-			 * 鎵撳紑鏃ュ巻寮圭獥
-			 */
-			open() {
-				// 寮圭獥妯″紡骞朵笖娓呯悊鏁版嵁
-				if (this.clearDate && !this.insert) {
-					this.cale.cleanMultipleStatus()
-					// this.cale.setDate(this.date)
-					this.init(this.date)
-				}
-				this.show = true
-				this.$nextTick(() => {
-					setTimeout(() => {
-						this.aniMaskShow = true
-					}, 50)
-				})
-			},
-			/**
-			 * 鍏抽棴鏃ュ巻寮圭獥
-			 */
-			close() {
-				this.aniMaskShow = false
-				this.$nextTick(() => {
-					setTimeout(() => {
-						this.show = false
-						this.$emit('close')
-					}, 300)
-				})
-			},
-			/**
-			 * 纭鎸夐挳
-			 */
-			confirm() {
-				this.setEmit('confirm')
-				this.close()
-			},
-			/**
-			 * 鍙樺寲瑙﹀彂
-			 */
-			change() {
-				if (!this.insert) return
-				this.setEmit('change')
-			},
-			/**
-			 * 閫夋嫨鏈堜唤瑙﹀彂
-			 */
-			monthSwitch() {
-				let {
-					year,
-					month
-				} = this.nowDate
-				this.$emit('monthSwitch', {
-					year,
-					month: Number(month)
-				})
-			},
-			/**
-			 * 娲惧彂浜嬩欢
-			 * @param {Object} name
-			 */
-			setEmit(name) {
-				let {
-					year,
-					month,
-					date,
-					fullDate,
-					lunar,
-					extraInfo
-				} = this.calendar
-				this.$emit(name, {
-					range: this.cale.multipleStatus,
-					year,
-					month,
-					date,
-					time: this.time,
-					timeRange: this.timeRange,
-					fulldate: fullDate,
-					lunar,
-					extraInfo: extraInfo || {}
-				})
-			},
-			/**
-			 * 閫夋嫨澶╄Е鍙�
-			 * @param {Object} weeks
-			 */
-			choiceDate(weeks) {
-				if (weeks.disable) return
-				this.calendar = weeks
-				this.calendar.userChecked = true
-				// 璁剧疆澶氶��
-				this.cale.setMultiple(this.calendar.fullDate, true)
-				this.weeks = this.cale.weeks
-				this.tempSingleDate = this.calendar.fullDate
-				const beforeStatus = this.cale.multipleStatus.before
-				const beforeDate = new Date(this.cale.multipleStatus.before).getTime()
-				const afterDate = new Date(this.cale.multipleStatus.after).getTime()
-				if (beforeDate > afterDate && afterDate) {
-					this.tempRange.before = this.cale.multipleStatus.after
-					this.tempRange.after = this.cale.multipleStatus.before
-				} else {
-					this.tempRange.before = this.cale.multipleStatus.before
-					this.tempRange.after = this.cale.multipleStatus.after
-				}
-				this.change()
-			},
-			/**
-			 * 鍥炲埌浠婂ぉ
-			 */
-			backtoday() {
-				let date = this.cale.getDate(new Date()).fullDate
-				// this.cale.setDate(date)
-				this.init(date)
-				this.change()
-			},
-			/**
-			 * 姣旇緝鏃堕棿澶у皬
-			 */
-			dateCompare(startDate, endDate) {
-				// 璁$畻鎴鏃堕棿
-				startDate = new Date(startDate.replace('-', '/').replace('-', '/'))
-				// 璁$畻璇︾粏椤圭殑鎴鏃堕棿
-				endDate = new Date(endDate.replace('-', '/').replace('-', '/'))
-				if (startDate <= endDate) {
-					return true
-				} else {
-					return false
-				}
-			},
-			/**
-			 * 涓婁釜鏈�
-			 */
-			pre() {
-				const preDate = this.cale.getDate(this.nowDate.fullDate, -1, 'month').fullDate
-				this.setDate(preDate)
-				this.monthSwitch()
-
-			},
-			/**
-			 * 涓嬩釜鏈�
-			 */
-			next() {
-				const nextDate = this.cale.getDate(this.nowDate.fullDate, +1, 'month').fullDate
-				this.setDate(nextDate)
-				this.monthSwitch()
-			},
-			/**
-			 * 璁剧疆鏃ユ湡
-			 * @param {Object} date
-			 */
-			setDate(date) {
-				this.cale.setDate(date)
-				this.weeks = this.cale.weeks
-				this.nowDate = this.cale.getInfo(date)
-			}
-		}
-	}
-</script>
-
-<style lang="scss" >
-	$uni-primary: #007aff !default;
-
-	.uni-calendar {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-	}
-
-	.uni-calendar__mask {
-		position: fixed;
-		bottom: 0;
-		top: 0;
-		left: 0;
-		right: 0;
-		background-color: rgba(0, 0, 0, 0.4);
-		transition-property: opacity;
-		transition-duration: 0.3s;
-		opacity: 0;
-		/* #ifndef APP-NVUE */
-		z-index: 99;
-		/* #endif */
-	}
-
-	.uni-calendar--mask-show {
-		opacity: 1
-	}
-
-	.uni-calendar--fixed {
-		position: fixed;
-		bottom: calc(var(--window-bottom));
-		left: 0;
-		right: 0;
-		transition-property: transform;
-		transition-duration: 0.3s;
-		transform: translateY(460px);
-		/* #ifndef APP-NVUE */
-		z-index: 99;
-		/* #endif */
-	}
-
-	.uni-calendar--ani-show {
-		transform: translateY(0);
-	}
-
-	.uni-calendar__content {
-		background-color: #fff;
-	}
-
-	.uni-calendar__content-mobile {
-		border-top-left-radius: 10px;
-		border-top-right-radius: 10px;
-		box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.1);
-	}
-
-	.uni-calendar__header {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		height: 50px;
-	}
-
-	.uni-calendar__header-mobile {
-		padding: 10px;
-		padding-bottom: 0;
-	}
-
-	.uni-calendar--fixed-top {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: space-between;
-		border-top-color: rgba(0, 0, 0, 0.4);
-		border-top-style: solid;
-		border-top-width: 1px;
-	}
-
-	.uni-calendar--fixed-width {
-		width: 50px;
-	}
-
-	.uni-calendar__backtoday {
-		position: absolute;
-		right: 0;
-		top: 25rpx;
-		padding: 0 5px;
-		padding-left: 10px;
-		height: 25px;
-		line-height: 25px;
-		font-size: 12px;
-		border-top-left-radius: 25px;
-		border-bottom-left-radius: 25px;
-		color: #fff;
-		background-color: #f1f1f1;
-	}
-
-	.uni-calendar__header-text {
-		text-align: center;
-		width: 100px;
-		font-size: 15px;
-		color: #666;
-	}
-
-	.uni-calendar__button-text {
-		text-align: center;
-		width: 100px;
-		font-size: 14px;
-		color: $uni-primary;
-		/* #ifndef APP-NVUE */
-		letter-spacing: 3px;
-		/* #endif */
-	}
-
-	.uni-calendar__header-btn-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-		width: 50px;
-		height: 50px;
-	}
-
-	.uni-calendar__header-btn {
-		width: 9px;
-		height: 9px;
-		border-left-color: #808080;
-		border-left-style: solid;
-		border-left-width: 1px;
-		border-top-color: #555555;
-		border-top-style: solid;
-		border-top-width: 1px;
-	}
-
-	.uni-calendar--left {
-		transform: rotate(-45deg);
-	}
-
-	.uni-calendar--right {
-		transform: rotate(135deg);
-	}
-
-
-	.uni-calendar__weeks {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-	}
-
-	.uni-calendar__weeks-item {
-		flex: 1;
-	}
-
-	.uni-calendar__weeks-day {
-		flex: 1;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		height: 40px;
-		border-bottom-color: #F5F5F5;
-		border-bottom-style: solid;
-		border-bottom-width: 1px;
-	}
-
-	.uni-calendar__weeks-day-text {
-		font-size: 12px;
-		color: #B2B2B2;
-	}
-
-	.uni-calendar__box {
-		position: relative;
-		// padding: 0 10px;
-		padding-bottom: 7px;
-	}
-
-	.uni-calendar__box-bg {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		justify-content: center;
-		align-items: center;
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		bottom: 0;
-	}
-
-	.uni-calendar__box-bg-text {
-		font-size: 200px;
-		font-weight: bold;
-		color: #999;
-		opacity: 0.1;
-		text-align: center;
-		/* #ifndef APP-NVUE */
-		line-height: 1;
-		/* #endif */
-	}
-
-	.uni-date-changed {
-		padding: 0 10px;
-		// line-height: 50px;
-		text-align: center;
-		color: #333;
-		border-top-color: #DCDCDC;
-		;
-		border-top-style: solid;
-		border-top-width: 1px;
-		flex: 1;
-	}
-
-	.uni-date-btn--ok {
-		padding: 20px 15px;
-	}
-
-	.uni-date-changed--time-start {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		align-items: center;
-	}
-
-	.uni-date-changed--time-end {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		align-items: center;
-	}
-
-	.uni-date-changed--time-date {
-		color: #999;
-		line-height: 50px;
-		margin-right: 5px;
-		// opacity: 0.6;
-	}
-
-	.time-picker-style {
-		// width: 62px;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		justify-content: center;
-		align-items: center
-	}
-
-	.mr-10 {
-		margin-right: 10px;
-	}
-
-	.dialog-close {
-		position: absolute;
-		top: 0;
-		right: 0;
-		bottom: 0;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		padding: 0 25px;
-		margin-top: 10px;
-	}
-
-	.dialog-close-plus {
-		width: 16px;
-		height: 2px;
-		background-color: #737987;
-		border-radius: 2px;
-		transform: rotate(45deg);
-	}
-
-	.dialog-close-rotate {
-		position: absolute;
-		transform: rotate(-45deg);
-	}
-
-	.uni-datetime-picker--btn {
-		border-radius: 100px;
-		height: 40px;
-		line-height: 40px;
-		background-color: $uni-primary;
-		color: #fff;
-		font-size: 16px;
-		letter-spacing: 2px;
-	}
-
-	/* #ifndef APP-NVUE */
-	.uni-datetime-picker--btn:active {
-		opacity: 0.7;
-	}
-	/* #endif */
-</style>
diff --git a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json b/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json
deleted file mode 100644
index 9acf1ab..0000000
--- a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-	"uni-datetime-picker.selectDate": "select date",
-	"uni-datetime-picker.selectTime": "select time",
-	"uni-datetime-picker.selectDateTime": "select datetime",
-	"uni-datetime-picker.startDate": "start date",
-	"uni-datetime-picker.endDate": "end date",
-	"uni-datetime-picker.startTime": "start time",
-	"uni-datetime-picker.endTime": "end time",
-	"uni-datetime-picker.ok": "ok",
-	"uni-datetime-picker.clear": "clear",
-	"uni-datetime-picker.cancel": "cancel",
-	"uni-datetime-picker.year": "-",
-	"uni-datetime-picker.month": "",
-	"uni-calender.MON": "MON",
-	"uni-calender.TUE": "TUE",
-	"uni-calender.WED": "WED",
-	"uni-calender.THU": "THU",
-	"uni-calender.FRI": "FRI",
-	"uni-calender.SAT": "SAT",
-	"uni-calender.SUN": "SUN",
-	"uni-calender.confirm": "confirm"
-}
diff --git a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js b/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js
deleted file mode 100644
index de7509c..0000000
--- a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import en from './en.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
-	en,
-	'zh-Hans': zhHans,
-	'zh-Hant': zhHant
-}
diff --git a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json b/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json
deleted file mode 100644
index d2df5e7..0000000
--- a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-	"uni-datetime-picker.selectDate": "閫夋嫨鏃ユ湡",
-	"uni-datetime-picker.selectTime": "閫夋嫨鏃堕棿",
-	"uni-datetime-picker.selectDateTime": "閫夋嫨鏃ユ湡鏃堕棿",
-	"uni-datetime-picker.startDate": "寮�濮嬫棩鏈�",
-	"uni-datetime-picker.endDate": "缁撴潫鏃ユ湡",
-	"uni-datetime-picker.startTime": "寮�濮嬫椂闂�",
-	"uni-datetime-picker.endTime": "缁撴潫鏃堕棿",
-	"uni-datetime-picker.ok": "纭畾",
-	"uni-datetime-picker.clear": "娓呴櫎",
-	"uni-datetime-picker.cancel": "鍙栨秷",
-	"uni-datetime-picker.year": "骞�",
-	"uni-datetime-picker.month": "鏈�",
-	"uni-calender.SUN": "鏃�",
-	"uni-calender.MON": "涓�",
-	"uni-calender.TUE": "浜�",
-	"uni-calender.WED": "涓�",
-	"uni-calender.THU": "鍥�",
-	"uni-calender.FRI": "浜�",
-	"uni-calender.SAT": "鍏�",
-	"uni-calender.confirm": "纭"
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json b/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json
deleted file mode 100644
index d23fa3c..0000000
--- a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  "uni-datetime-picker.selectDate": "閬告搰鏃ユ湡",
-  "uni-datetime-picker.selectTime": "閬告搰鏅傞枔",
-  "uni-datetime-picker.selectDateTime": "閬告搰鏃ユ湡鏅傞枔",
-  "uni-datetime-picker.startDate": "闁嬪鏃ユ湡",
-  "uni-datetime-picker.endDate": "绲愭潫鏃ユ湡",
-  "uni-datetime-picker.startTime": "闁嬪鏃堕棿",
-  "uni-datetime-picker.endTime": "绲愭潫鏃堕棿",
-  "uni-datetime-picker.ok": "纰哄畾",
-  "uni-datetime-picker.clear": "娓呴櫎",
-  "uni-datetime-picker.cancel": "鍙栨秷",
-  "uni-datetime-picker.year": "骞�",
-  "uni-datetime-picker.month": "鏈�",
-  "uni-calender.SUN": "鏃�",
-  "uni-calender.MON": "涓�",
-  "uni-calender.TUE": "浜�",
-  "uni-calender.WED": "涓�",
-  "uni-calender.THU": "鍥�",
-  "uni-calender.FRI": "浜�",
-  "uni-calender.SAT": "鍏�",
-  "uni-calender.confirm": "纰鸿獚"
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/keypress.js b/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/keypress.js
deleted file mode 100644
index 9601aba..0000000
--- a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/keypress.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// #ifdef H5
-export default {
-  name: 'Keypress',
-  props: {
-    disable: {
-      type: Boolean,
-      default: false
-    }
-  },
-  mounted () {
-    const keyNames = {
-      esc: ['Esc', 'Escape'],
-      tab: 'Tab',
-      enter: 'Enter',
-      space: [' ', 'Spacebar'],
-      up: ['Up', 'ArrowUp'],
-      left: ['Left', 'ArrowLeft'],
-      right: ['Right', 'ArrowRight'],
-      down: ['Down', 'ArrowDown'],
-      delete: ['Backspace', 'Delete', 'Del']
-    }
-    const listener = ($event) => {
-      if (this.disable) {
-        return
-      }
-      const keyName = Object.keys(keyNames).find(key => {
-        const keyName = $event.key
-        const value = keyNames[key]
-        return value === keyName || (Array.isArray(value) && value.includes(keyName))
-      })
-      if (keyName) {
-        // 閬垮厤鍜屽叾浠栨寜閿簨浠跺啿绐�
-        setTimeout(() => {
-          this.$emit(keyName, {})
-        }, 0)
-      }
-    }
-    document.addEventListener('keyup', listener)
-    this.$once('hook:beforeDestroy', () => {
-      document.removeEventListener('keyup', listener)
-    })
-  },
-	render: () => {}
-}
-// #endif
\ No newline at end of file
diff --git a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue b/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue
deleted file mode 100644
index b4ba172..0000000
--- a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue
+++ /dev/null
@@ -1,946 +0,0 @@
-<template>
-	<view class="uni-datetime-picker">
-		<view @click="initTimePicker">
-			<slot>
-				<view class="uni-datetime-picker-timebox-pointer"
-					:class="{'uni-datetime-picker-disabled': disabled, 'uni-datetime-picker-timebox': border}">
-					<text class="uni-datetime-picker-text">{{time}}</text>
-					<view v-if="!time" class="uni-datetime-picker-time">
-						<text class="uni-datetime-picker-text">{{selectTimeText}}</text>
-					</view>
-				</view>
-			</slot>
-		</view>
-		<view v-if="visible" id="mask" class="uni-datetime-picker-mask" @click="tiggerTimePicker"></view>
-		<view v-if="visible" class="uni-datetime-picker-popup" :class="[dateShow && timeShow ? '' : 'fix-nvue-height']"
-			:style="fixNvueBug">
-			<view class="uni-title">
-				<text class="uni-datetime-picker-text">{{selectTimeText}}</text>
-			</view>
-			<view v-if="dateShow" class="uni-datetime-picker__container-box">
-				<picker-view class="uni-datetime-picker-view" :indicator-style="indicatorStyle" :value="ymd"
-					@change="bindDateChange">
-					<picker-view-column>
-						<view class="uni-datetime-picker-item" v-for="(item,index) in years" :key="index">
-							<text class="uni-datetime-picker-item">{{lessThanTen(item)}}</text>
-						</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="uni-datetime-picker-item" v-for="(item,index) in months" :key="index">
-							<text class="uni-datetime-picker-item">{{lessThanTen(item)}}</text>
-						</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="uni-datetime-picker-item" v-for="(item,index) in days" :key="index">
-							<text class="uni-datetime-picker-item">{{lessThanTen(item)}}</text>
-						</view>
-					</picker-view-column>
-				</picker-view>
-				<!-- 鍏煎 nvue 涓嶆敮鎸佷吉绫� -->
-				<text class="uni-datetime-picker-sign sign-left">-</text>
-				<text class="uni-datetime-picker-sign sign-right">-</text>
-			</view>
-			<view v-if="timeShow" class="uni-datetime-picker__container-box">
-				<picker-view class="uni-datetime-picker-view" :class="[hideSecond ? 'time-hide-second' : '']"
-					:indicator-style="indicatorStyle" :value="hms" @change="bindTimeChange">
-					<picker-view-column>
-						<view class="uni-datetime-picker-item" v-for="(item,index) in hours" :key="index">
-							<text class="uni-datetime-picker-item">{{lessThanTen(item)}}</text>
-						</view>
-					</picker-view-column>
-					<picker-view-column>
-						<view class="uni-datetime-picker-item" v-for="(item,index) in minutes" :key="index">
-							<text class="uni-datetime-picker-item">{{lessThanTen(item)}}</text>
-						</view>
-					</picker-view-column>
-					<picker-view-column v-if="!hideSecond">
-						<view class="uni-datetime-picker-item" v-for="(item,index) in seconds" :key="index">
-							<text class="uni-datetime-picker-item">{{lessThanTen(item)}}</text>
-						</view>
-					</picker-view-column>
-				</picker-view>
-				<!-- 鍏煎 nvue 涓嶆敮鎸佷吉绫� -->
-				<text class="uni-datetime-picker-sign" :class="[hideSecond ? 'sign-center' : 'sign-left']">:</text>
-				<text v-if="!hideSecond" class="uni-datetime-picker-sign sign-right">:</text>
-			</view>
-			<view class="uni-datetime-picker-btn">
-				<view @click="clearTime">
-					<text class="uni-datetime-picker-btn-text">{{clearText}}</text>
-				</view>
-				<view class="uni-datetime-picker-btn-group">
-					<view class="uni-datetime-picker-cancel" @click="tiggerTimePicker">
-						<text class="uni-datetime-picker-btn-text">{{cancelText}}</text>
-					</view>
-					<view @click="setTime">
-						<text class="uni-datetime-picker-btn-text">{{okText}}</text>
-					</view>
-				</view>
-			</view>
-		</view>
-		<!-- #ifdef H5 -->
-		<!-- <keypress v-if="visible" @esc="tiggerTimePicker" @enter="setTime" /> -->
-		<!-- #endif -->
-	</view>
-</template>
-
-<script>
-	// #ifdef H5
-	import keypress from './keypress'
-	// #endif
-	import {
-		initVueI18n
-	} from '@dcloudio/uni-i18n'
-	import messages from './i18n/index.js'
-	const {	t	} = initVueI18n(messages)
-
-	/**
-	 * DatetimePicker 鏃堕棿閫夋嫨鍣�
-	 * @description 鍙互鍚屾椂閫夋嫨鏃ユ湡鍜屾椂闂寸殑閫夋嫨鍣�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=xxx
-	 * @property {String} type = [datetime | date | time] 鏄剧ず妯″紡
-	 * @property {Boolean} multiple = [true|false] 鏄惁澶氶��
-	 * @property {String|Number} value 榛樿鍊�
-	 * @property {String|Number} start 璧峰鏃ユ湡鎴栨椂闂�
-	 * @property {String|Number} end 璧峰鏃ユ湡鎴栨椂闂�
-	 * @property {String} return-type = [timestamp | string]
-	 * @event {Function} change  閫変腑鍙戠敓鍙樺寲瑙﹀彂
-	 */
-
-	export default {
-		name: 'UniDatetimePicker',
-		components: {
-			// #ifdef H5
-			keypress
-			// #endif
-		},
-		data() {
-			return {
-				indicatorStyle: `height: 50px;`,
-				visible: false,
-				fixNvueBug: {},
-				dateShow: true,
-				timeShow: true,
-				title: '鏃ユ湡鍜屾椂闂�',
-				// 杈撳叆妗嗗綋鍓嶆椂闂�
-				time: '',
-				// 褰撳墠鐨勫勾鏈堟棩鏃跺垎绉�
-				year: 1920,
-				month: 0,
-				day: 0,
-				hour: 0,
-				minute: 0,
-				second: 0,
-				// 璧峰鏃堕棿
-				startYear: 1920,
-				startMonth: 1,
-				startDay: 1,
-				startHour: 0,
-				startMinute: 0,
-				startSecond: 0,
-				// 缁撴潫鏃堕棿
-				endYear: 2120,
-				endMonth: 12,
-				endDay: 31,
-				endHour: 23,
-				endMinute: 59,
-				endSecond: 59,
-			}
-		},
-		props: {
-			type: {
-				type: String,
-				default: 'datetime'
-			},
-			value: {
-				type: [String, Number],
-				default: ''
-			},
-			modelValue: {
-				type: [String, Number],
-				default: ''
-			},
-			start: {
-				type: [Number, String],
-				default: ''
-			},
-			end: {
-				type: [Number, String],
-				default: ''
-			},
-			returnType: {
-				type: String,
-				default: 'string'
-			},
-			disabled: {
-				type: [Boolean, String],
-				default: false
-			},
-			border: {
-				type: [Boolean, String],
-				default: true
-			},
-			hideSecond: {
-				type: [Boolean, String],
-				default: false
-			}
-		},
-		watch: {
-			// #ifndef VUE3
-			value: {
-				handler(newVal, oldVal) {
-					if (newVal) {
-						this.parseValue(this.fixIosDateFormat(newVal)) //鍏煎 iOS銆乻afari 鏃ユ湡鏍煎紡
-						this.initTime(false)
-					} else {
-						this.time = ''
-						this.parseValue(Date.now())
-					}
-				},
-				immediate: true
-			},
-			// #endif
-			// #ifdef VUE3
-			modelValue: {
-				handler(newVal, oldVal) {
-					if (newVal) {
-						this.parseValue(this.fixIosDateFormat(newVal)) //鍏煎 iOS銆乻afari 鏃ユ湡鏍煎紡
-						this.initTime(false)
-					} else {
-						this.time = ''
-						this.parseValue(Date.now())
-					}
-				},
-				immediate: true
-			},
-			// #endif
-			type: {
-				handler(newValue) {
-					if (newValue === 'date') {
-						this.dateShow = true
-						this.timeShow = false
-						this.title = '鏃ユ湡'
-					} else if (newValue === 'time') {
-						this.dateShow = false
-						this.timeShow = true
-						this.title = '鏃堕棿'
-					} else {
-						this.dateShow = true
-						this.timeShow = true
-						this.title = '鏃ユ湡鍜屾椂闂�'
-					}
-				},
-				immediate: true
-			},
-			start: {
-				handler(newVal) {
-					this.parseDatetimeRange(this.fixIosDateFormat(newVal), 'start') //鍏煎 iOS銆乻afari 鏃ユ湡鏍煎紡
-				},
-				immediate: true
-			},
-			end: {
-				handler(newVal) {
-					this.parseDatetimeRange(this.fixIosDateFormat(newVal), 'end') //鍏煎 iOS銆乻afari 鏃ユ湡鏍煎紡
-				},
-				immediate: true
-			},
-
-			// 鏈堛�佹棩銆佹椂銆佸垎銆佺鍙�夎寖鍥村彉鍖栧悗锛屾鏌ュ綋鍓嶅�兼槸鍚﹀湪鑼冨洿鍐咃紝涓嶅湪鍒欏綋鍓嶅�奸噸缃负鍙�夎寖鍥寸涓�椤�
-			months(newVal) {
-				this.checkValue('month', this.month, newVal)
-			},
-			days(newVal) {
-				this.checkValue('day', this.day, newVal)
-			},
-			hours(newVal) {
-				this.checkValue('hour', this.hour, newVal)
-			},
-			minutes(newVal) {
-				this.checkValue('minute', this.minute, newVal)
-			},
-			seconds(newVal) {
-				this.checkValue('second', this.second, newVal)
-			}
-		},
-		computed: {
-			// 褰撳墠骞淬�佹湀銆佹棩銆佹椂銆佸垎銆佺閫夋嫨鑼冨洿
-			years() {
-				return this.getCurrentRange('year')
-			},
-
-			months() {
-				return this.getCurrentRange('month')
-			},
-
-			days() {
-				return this.getCurrentRange('day')
-			},
-
-			hours() {
-				return this.getCurrentRange('hour')
-			},
-
-			minutes() {
-				return this.getCurrentRange('minute')
-			},
-
-			seconds() {
-				return this.getCurrentRange('second')
-			},
-
-			// picker 褰撳墠鍊兼暟缁�
-			ymd() {
-				return [this.year - this.minYear, this.month - this.minMonth, this.day - this.minDay]
-			},
-			hms() {
-				return [this.hour - this.minHour, this.minute - this.minMinute, this.second - this.minSecond]
-			},
-
-			// 褰撳墠 date 鏄� start
-			currentDateIsStart() {
-				return this.year === this.startYear && this.month === this.startMonth && this.day === this.startDay
-			},
-
-			// 褰撳墠 date 鏄� end
-			currentDateIsEnd() {
-				return this.year === this.endYear && this.month === this.endMonth && this.day === this.endDay
-			},
-
-			// 褰撳墠骞淬�佹湀銆佹棩銆佹椂銆佸垎銆佺鐨勬渶灏忓�煎拰鏈�澶у��
-			minYear() {
-				return this.startYear
-			},
-			maxYear() {
-				return this.endYear
-			},
-			minMonth() {
-				if (this.year === this.startYear) {
-					return this.startMonth
-				} else {
-					return 1
-				}
-			},
-			maxMonth() {
-				if (this.year === this.endYear) {
-					return this.endMonth
-				} else {
-					return 12
-				}
-			},
-			minDay() {
-				if (this.year === this.startYear && this.month === this.startMonth) {
-					return this.startDay
-				} else {
-					return 1
-				}
-			},
-			maxDay() {
-				if (this.year === this.endYear && this.month === this.endMonth) {
-					return this.endDay
-				} else {
-					return this.daysInMonth(this.year, this.month)
-				}
-			},
-			minHour() {
-				if (this.type === 'datetime') {
-					if (this.currentDateIsStart) {
-						return this.startHour
-					} else {
-						return 0
-					}
-				}
-				if (this.type === 'time') {
-					return this.startHour
-				}
-			},
-			maxHour() {
-				if (this.type === 'datetime') {
-					if (this.currentDateIsEnd) {
-						return this.endHour
-					} else {
-						return 23
-					}
-				}
-				if (this.type === 'time') {
-					return this.endHour
-				}
-			},
-			minMinute() {
-				if (this.type === 'datetime') {
-					if (this.currentDateIsStart && this.hour === this.startHour) {
-						return this.startMinute
-					} else {
-						return 0
-					}
-				}
-				if (this.type === 'time') {
-					if (this.hour === this.startHour) {
-						return this.startMinute
-					} else {
-						return 0
-					}
-				}
-			},
-			maxMinute() {
-				if (this.type === 'datetime') {
-					if (this.currentDateIsEnd && this.hour === this.endHour) {
-						return this.endMinute
-					} else {
-						return 59
-					}
-				}
-				if (this.type === 'time') {
-					if (this.hour === this.endHour) {
-						return this.endMinute
-					} else {
-						return 59
-					}
-				}
-			},
-			minSecond() {
-				if (this.type === 'datetime') {
-					if (this.currentDateIsStart && this.hour === this.startHour && this.minute === this.startMinute) {
-						return this.startSecond
-					} else {
-						return 0
-					}
-				}
-				if (this.type === 'time') {
-					if (this.hour === this.startHour && this.minute === this.startMinute) {
-						return this.startSecond
-					} else {
-						return 0
-					}
-				}
-			},
-			maxSecond() {
-				if (this.type === 'datetime') {
-					if (this.currentDateIsEnd && this.hour === this.endHour && this.minute === this.endMinute) {
-						return this.endSecond
-					} else {
-						return 59
-					}
-				}
-				if (this.type === 'time') {
-					if (this.hour === this.endHour && this.minute === this.endMinute) {
-						return this.endSecond
-					} else {
-						return 59
-					}
-				}
-			},
-
-			/**
-			 * for i18n
-			 */
-			selectTimeText() {
-				return t("uni-datetime-picker.selectTime")
-			},
-			okText() {
-				return t("uni-datetime-picker.ok")
-			},
-			clearText() {
-				return t("uni-datetime-picker.clear")
-			},
-			cancelText() {
-				return t("uni-datetime-picker.cancel")
-			}
-		},
-
-		mounted() {
-			// #ifdef APP-NVUE
-			const res = uni.getSystemInfoSync();
-			this.fixNvueBug = {
-				top: res.windowHeight / 2,
-				left: res.windowWidth / 2
-			}
-			// #endif
-		},
-
-		methods: {
-			/**
-			 * @param {Object} item
-			 * 灏忎簬 10 鍦ㄥ墠闈㈠姞涓� 0
-			 */
-
-			lessThanTen(item) {
-				return item < 10 ? '0' + item : item
-			},
-
-			/**
-			 * 瑙f瀽鏃跺垎绉掑瓧绗︿覆锛屼緥濡傦細00:00:00
-			 * @param {String} timeString
-			 */
-			parseTimeType(timeString) {
-				if (timeString) {
-					let timeArr = timeString.split(':')
-					this.hour = Number(timeArr[0])
-					this.minute = Number(timeArr[1])
-					this.second = Number(timeArr[2])
-				}
-			},
-
-			/**
-			 * 瑙f瀽閫夋嫨鍣ㄥ垵濮嬪�硷紝绫诲瀷鍙互鏄瓧绗︿覆銆佹椂闂存埑锛屼緥濡傦細2000-10-02銆�'08:30:00'銆� 1610695109000
-			 * @param {String | Number} datetime
-			 */
-			initPickerValue(datetime) {
-				let defaultValue = null
-				if (datetime) {
-					defaultValue = this.compareValueWithStartAndEnd(datetime, this.start, this.end)
-				} else {
-					defaultValue = Date.now()
-					defaultValue = this.compareValueWithStartAndEnd(defaultValue, this.start, this.end)
-				}
-				this.parseValue(defaultValue)
-			},
-
-			/**
-			 * 鍒濆鍊艰鍒欙細
-			 * - 鐢ㄦ埛璁剧疆鍒濆鍊� value
-			 * 	- 璁剧疆浜嗚捣濮嬫椂闂� start銆佺粓姝㈡椂闂� end锛屽苟 start < value < end锛屽垵濮嬪�间负 value锛� 鍚﹀垯鍒濆鍊间负 start
-			 * 	- 鍙缃簡璧峰鏃堕棿 start锛屽苟 start < value锛屽垵濮嬪�间负 value锛屽惁鍒欏垵濮嬪�间负 start
-			 * 	- 鍙缃簡缁堟鏃堕棿 end锛屽苟 value < end锛屽垵濮嬪�间负 value锛屽惁鍒欏垵濮嬪�间负 end
-			 * 	- 鏃犺捣濮嬬粓姝㈡椂闂达紝鍒欏垵濮嬪�间负 value
-			 * - 鏃犲垵濮嬪�� value锛屽垯鍒濆鍊间负褰撳墠鏈湴鏃堕棿 Date.now()
-			 * @param {Object} value
-			 * @param {Object} dateBase
-			 */
-			compareValueWithStartAndEnd(value, start, end) {
-				let winner = null
-				value = this.superTimeStamp(value)
-				start = this.superTimeStamp(start)
-				end = this.superTimeStamp(end)
-
-				if (start && end) {
-					if (value < start) {
-						winner = new Date(start)
-					} else if (value > end) {
-						winner = new Date(end)
-					} else {
-						winner = new Date(value)
-					}
-				} else if (start && !end) {
-					winner = start <= value ? new Date(value) : new Date(start)
-				} else if (!start && end) {
-					winner = value <= end ? new Date(value) : new Date(end)
-				} else {
-					winner = new Date(value)
-				}
-
-				return winner
-			},
-
-			/**
-			 * 杞崲涓哄彲姣旇緝鐨勬椂闂存埑锛屾帴鍙楁棩鏈熴�佹椂鍒嗙銆佹椂闂存埑
-			 * @param {Object} value
-			 */
-			superTimeStamp(value) {
-				let dateBase = ''
-				if (this.type === 'time' && value && typeof value === 'string') {
-					const now = new Date()
-					const year = now.getFullYear()
-					const month = now.getMonth() + 1
-					const day = now.getDate()
-					dateBase = year + '/' + month + '/' + day + ' '
-				}
-				if (Number(value) && typeof value !== NaN) {
-					value = parseInt(value)
-					dateBase = 0
-				}
-				return this.createTimeStamp(dateBase + value)
-			},
-
-			/**
-			 * 瑙f瀽榛樿鍊� value锛屽瓧绗︿覆銆佹椂闂存埑
-			 * @param {Object} defaultTime
-			 */
-			parseValue(value) {
-				if (!value) {
-					return
-				}
-				if (this.type === 'time' && typeof value === "string") {
-					this.parseTimeType(value)
-				} else {
-					let defaultDate = null
-					defaultDate = new Date(value)
-					if (this.type !== 'time') {
-						this.year = defaultDate.getFullYear()
-						this.month = defaultDate.getMonth() + 1
-						this.day = defaultDate.getDate()
-					}
-					if (this.type !== 'date') {
-						this.hour = defaultDate.getHours()
-						this.minute = defaultDate.getMinutes()
-						this.second = defaultDate.getSeconds()
-					}
-				}
-				if (this.hideSecond) {
-					this.second = 0
-				}
-			},
-
-			/**
-			 * 瑙f瀽鍙�夋嫨鏃堕棿鑼冨洿 start銆乪nd锛屽勾鏈堟棩瀛楃涓层�佹椂闂存埑
-			 * @param {Object} defaultTime
-			 */
-			parseDatetimeRange(point, pointType) {
-				// 鏃堕棿涓虹┖锛屽垯閲嶇疆涓哄垵濮嬪��
-				if (!point) {
-					if (pointType === 'start') {
-						this.startYear = 1920
-						this.startMonth = 1
-						this.startDay = 1
-						this.startHour = 0
-						this.startMinute = 0
-						this.startSecond = 0
-					}
-					if (pointType === 'end') {
-						this.endYear = 2120
-						this.endMonth = 12
-						this.endDay = 31
-						this.endHour = 23
-						this.endMinute = 59
-						this.endSecond = 59
-					}
-					return
-				}
-				if (this.type === 'time') {
-					const pointArr = point.split(':')
-					this[pointType + 'Hour'] = Number(pointArr[0])
-					this[pointType + 'Minute'] = Number(pointArr[1])
-					this[pointType + 'Second'] = Number(pointArr[2])
-				} else {
-					if (!point) {
-						pointType === 'start' ? this.startYear = this.year - 60 : this.endYear = this.year + 60
-						return
-					}
-					if (Number(point) && Number(point) !== NaN) {
-						point = parseInt(point)
-					}
-					// datetime 鐨� end 娌℃湁鏃跺垎绉�, 鍒欎笉闄愬埗
-					const hasTime = /[0-9]:[0-9]/
-					if (this.type === 'datetime' && pointType === 'end' && typeof point === 'string' && !hasTime.test(
-							point)) {
-						point = point + ' 23:59:59'
-					}
-					const pointDate = new Date(point)
-					this[pointType + 'Year'] = pointDate.getFullYear()
-					this[pointType + 'Month'] = pointDate.getMonth() + 1
-					this[pointType + 'Day'] = pointDate.getDate()
-					if (this.type === 'datetime') {
-						this[pointType + 'Hour'] = pointDate.getHours()
-						this[pointType + 'Minute'] = pointDate.getMinutes()
-						this[pointType + 'Second'] = pointDate.getSeconds()
-					}
-				}
-			},
-
-			// 鑾峰彇 骞淬�佹湀銆佹棩銆佹椂銆佸垎銆佺 褰撳墠鍙�夎寖鍥�
-			getCurrentRange(value) {
-				const range = []
-				for (let i = this['min' + this.capitalize(value)]; i <= this['max' + this.capitalize(value)]; i++) {
-					range.push(i)
-				}
-				return range
-			},
-
-			// 瀛楃涓查瀛楁瘝澶у啓
-			capitalize(str) {
-				return str.charAt(0).toUpperCase() + str.slice(1)
-			},
-
-			// 妫�鏌ュ綋鍓嶅�兼槸鍚﹀湪鑼冨洿鍐咃紝涓嶅湪鍒欏綋鍓嶅�奸噸缃负鍙�夎寖鍥寸涓�椤�
-			checkValue(name, value, values) {
-				if (values.indexOf(value) === -1) {
-					this[name] = values[0]
-				}
-			},
-
-			// 姣忎釜鏈堢殑瀹為檯澶╂暟
-			daysInMonth(year, month) { // Use 1 for January, 2 for February, etc.
-				return new Date(year, month, 0).getDate();
-			},
-
-			//鍏煎 iOS銆乻afari 鏃ユ湡鏍煎紡
-			fixIosDateFormat(value) {
-				if (typeof value === 'string') {
-					value = value.replace(/-/g, '/')
-				}
-				return value
-			},
-
-			/**
-			 * 鐢熸垚鏃堕棿鎴�
-			 * @param {Object} time
-			 */
-			createTimeStamp(time) {
-				if (!time) return
-				if (typeof time === "number") {
-					return time
-				} else {
-					time = time.replace(/-/g, '/')
-					if (this.type === 'date') {
-						time = time + ' ' + '00:00:00'
-					}
-					return Date.parse(time)
-				}
-			},
-
-			/**
-			 * 鐢熸垚鏃ユ湡鎴栨椂闂寸殑瀛楃涓�
-			 */
-			createDomSting() {
-				const yymmdd = this.year +
-					'-' +
-					this.lessThanTen(this.month) +
-					'-' +
-					this.lessThanTen(this.day)
-
-				let hhmmss = this.lessThanTen(this.hour) +
-					':' +
-					this.lessThanTen(this.minute)
-
-				if (!this.hideSecond) {
-					hhmmss = hhmmss + ':' + this.lessThanTen(this.second)
-				}
-
-				if (this.type === 'date') {
-					return yymmdd
-				} else if (this.type === 'time') {
-					return hhmmss
-				} else {
-					return yymmdd + ' ' + hhmmss
-				}
-			},
-
-			/**
-			 * 鍒濆鍖栬繑鍥炲�硷紝骞舵姏鍑� change 浜嬩欢
-			 */
-			initTime(emit = true) {
-				this.time = this.createDomSting()
-				if (!emit) return
-				if (this.returnType === 'timestamp' && this.type !== 'time') {
-					this.$emit('change', this.createTimeStamp(this.time))
-					this.$emit('input', this.createTimeStamp(this.time))
-					this.$emit('update:modelValue', this.createTimeStamp(this.time))
-				} else {
-					this.$emit('change', this.time)
-					this.$emit('input', this.time)
-					this.$emit('update:modelValue', this.time)
-				}
-			},
-
-			/**
-			 * 鐢ㄦ埛閫夋嫨鏃ユ湡鎴栨椂闂存洿鏂� data
-			 * @param {Object} e
-			 */
-			bindDateChange(e) {
-				const val = e.detail.value
-				this.year = this.years[val[0]]
-				this.month = this.months[val[1]]
-				this.day = this.days[val[2]]
-			},
-			bindTimeChange(e) {
-				const val = e.detail.value
-				this.hour = this.hours[val[0]]
-				this.minute = this.minutes[val[1]]
-				this.second = this.seconds[val[2]]
-			},
-
-			/**
-			 * 鍒濆鍖栧脊鍑哄眰
-			 */
-			initTimePicker() {
-				if (this.disabled) return
-				const value = this.fixIosDateFormat(this.value)
-				this.initPickerValue(value)
-				this.visible = !this.visible
-			},
-
-			/**
-			 * 瑙﹀彂鎴栧叧闂脊妗�
-			 */
-			tiggerTimePicker(e) {
-				this.visible = !this.visible
-			},
-
-			/**
-			 * 鐢ㄦ埛鐐瑰嚮鈥滄竻绌衡�濇寜閽紝娓呯┖褰撳墠鍊�
-			 */
-			clearTime() {
-				this.time = ''
-				this.$emit('change', this.time)
-				this.$emit('input', this.time)
-				this.$emit('update:modelValue', this.time)
-				this.tiggerTimePicker()
-			},
-
-			/**
-			 * 鐢ㄦ埛鐐瑰嚮鈥滅‘瀹氣�濇寜閽�
-			 */
-			setTime() {
-				this.initTime()
-				this.tiggerTimePicker()
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	$uni-primary: #007aff !default;
-
-	.uni-datetime-picker {
-		/* #ifndef APP-NVUE */
-		/* width: 100%; */
-		/* #endif */
-	}
-
-	.uni-datetime-picker-view {
-		height: 130px;
-		width: 270px;
-		/* #ifndef APP-NVUE */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-datetime-picker-item {
-		height: 50px;
-		line-height: 50px;
-		text-align: center;
-		font-size: 14px;
-	}
-
-	.uni-datetime-picker-btn {
-		margin-top: 60px;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		cursor: pointer;
-		/* #endif */
-		flex-direction: row;
-		justify-content: space-between;
-	}
-
-	.uni-datetime-picker-btn-text {
-		font-size: 14px;
-		color: $uni-primary;
-	}
-
-	.uni-datetime-picker-btn-group {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-	}
-
-	.uni-datetime-picker-cancel {
-		margin-right: 30px;
-	}
-
-	.uni-datetime-picker-mask {
-		position: fixed;
-		bottom: 0px;
-		top: 0px;
-		left: 0px;
-		right: 0px;
-		background-color: rgba(0, 0, 0, 0.4);
-		transition-duration: 0.3s;
-		z-index: 998;
-	}
-
-	.uni-datetime-picker-popup {
-		border-radius: 8px;
-		padding: 30px;
-		width: 270px;
-		/* #ifdef APP-NVUE */
-		height: 500px;
-		/* #endif */
-		/* #ifdef APP-NVUE */
-		width: 330px;
-		/* #endif */
-		background-color: #fff;
-		position: fixed;
-		top: 50%;
-		left: 50%;
-		transform: translate(-50%, -50%);
-		transition-duration: 0.3s;
-		z-index: 999;
-	}
-
-	.fix-nvue-height {
-		/* #ifdef APP-NVUE */
-		height: 330px;
-		/* #endif */
-	}
-
-	.uni-datetime-picker-time {
-		color: grey;
-	}
-
-	.uni-datetime-picker-column {
-		height: 50px;
-	}
-
-	.uni-datetime-picker-timebox {
-
-		border: 1px solid #E5E5E5;
-		border-radius: 5px;
-		padding: 7px 10px;
-		/* #ifndef APP-NVUE */
-		box-sizing: border-box;
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-datetime-picker-timebox-pointer {
-		/* #ifndef APP-NVUE */
-		cursor: pointer;
-		/* #endif */
-	}
-
-
-	.uni-datetime-picker-disabled {
-		opacity: 0.4;
-		/* #ifdef H5 */
-		cursor: not-allowed !important;
-		/* #endif */
-	}
-
-	.uni-datetime-picker-text {
-		font-size: 14px;
-		line-height: 50px
-	}
-
-	.uni-datetime-picker-sign {
-		position: absolute;
-		top: 53px;
-		/* 鍑忔帀 10px 鐨勫厓绱犻珮搴︼紝鍏煎nvue */
-		color: #999;
-		/* #ifdef APP-NVUE */
-		font-size: 16px;
-		/* #endif */
-	}
-
-	.sign-left {
-		left: 86px;
-	}
-
-	.sign-right {
-		right: 86px;
-	}
-
-	.sign-center {
-		left: 135px;
-	}
-
-	.uni-datetime-picker__container-box {
-		position: relative;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		margin-top: 40px;
-	}
-
-	.time-hide-second {
-		width: 180px;
-	}
-</style>
diff --git a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue b/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue
deleted file mode 100644
index b9297ed..0000000
--- a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue
+++ /dev/null
@@ -1,1015 +0,0 @@
-<template>
-	<view class="uni-date">
-		<view class="uni-date-editor" @click="show">
-			<slot>
-				<view class="uni-date-editor--x" :class="{'uni-date-editor--x__disabled': disabled,
-		'uni-date-x--border': border}">
-					<view v-if="!isRange" class="uni-date-x uni-date-single">
-						<uni-icons type="calendar" color="#c0c4cc" size="22"></uni-icons>
-						<input class="uni-date__x-input" type="text" v-model="singleVal"
-							:placeholder="singlePlaceholderText" :disabled="true" />
-					</view>
-					<view v-else class="uni-date-x uni-date-range">
-						<uni-icons type="calendar" color="#c0c4cc" size="22"></uni-icons>
-						<input class="uni-date__x-input t-c" type="text" v-model="range.startDate"
-							:placeholder="startPlaceholderText" :disabled="true" />
-						<slot>
-							<view class="">{{rangeSeparator}}</view>
-						</slot>
-						<input class="uni-date__x-input t-c" type="text" v-model="range.endDate"
-							:placeholder="endPlaceholderText" :disabled="true" />
-					</view>
-					<view v-if="showClearIcon" class="uni-date__icon-clear" @click.stop="clear">
-						<uni-icons type="clear" color="#c0c4cc" size="24"></uni-icons>
-					</view>
-				</view>
-			</slot>
-		</view>
-
-		<view v-show="popup" class="uni-date-mask" @click="close"></view>
-		<view v-if="!isPhone" ref="datePicker" v-show="popup" class="uni-date-picker__container">
-			<view v-if="!isRange" class="uni-date-single--x" :style="popover">
-				<view class="uni-popper__arrow"></view>
-				<view v-if="hasTime" class="uni-date-changed popup-x-header">
-					<input class="uni-date__input t-c" type="text" v-model="tempSingleDate"
-						:placeholder="selectDateText" />
-					<time-picker type="time" v-model="time" :border="false" :disabled="!tempSingleDate"
-						:start="reactStartTime" :end="reactEndTime" :hideSecond="hideSecond" style="width: 100%;">
-						<input class="uni-date__input t-c" type="text" v-model="time" :placeholder="selectTimeText"
-							:disabled="!tempSingleDate" />
-					</time-picker>
-				</view>
-				<calendar ref="pcSingle" :showMonth="false" :start-date="caleRange.startDate"
-					:end-date="caleRange.endDate" :date="defSingleDate" @change="singleChange"
-					style="padding: 0 8px;" />
-				<view v-if="hasTime" class="popup-x-footer">
-					<!-- <text class="">姝ゅ埢</text> -->
-					<text class="confirm" @click="confirmSingleChange">{{okText}}</text>
-				</view>
-				<view class="uni-date-popper__arrow"></view>
-			</view>
-
-			<view v-else class="uni-date-range--x" :style="popover">
-				<view class="uni-popper__arrow"></view>
-				<view v-if="hasTime" class="popup-x-header uni-date-changed">
-					<view class="popup-x-header--datetime">
-						<input class="uni-date__input uni-date-range__input" type="text" v-model="tempRange.startDate"
-							:placeholder="startDateText" />
-						<time-picker type="time" v-model="tempRange.startTime" :start="reactStartTime" :border="false"
-							:disabled="!tempRange.startDate" :hideSecond="hideSecond">
-							<input class="uni-date__input uni-date-range__input" type="text"
-								v-model="tempRange.startTime" :placeholder="startTimeText"
-								:disabled="!tempRange.startDate" />
-						</time-picker>
-					</view>
-					<uni-icons type="arrowthinright" color="#999" style="line-height: 40px;"></uni-icons>
-					<view class="popup-x-header--datetime">
-						<input class="uni-date__input uni-date-range__input" type="text" v-model="tempRange.endDate"
-							:placeholder="endDateText" />
-						<time-picker type="time" v-model="tempRange.endTime" :end="reactEndTime" :border="false"
-							:disabled="!tempRange.endDate" :hideSecond="hideSecond">
-							<input class="uni-date__input uni-date-range__input" type="text" v-model="tempRange.endTime"
-								:placeholder="endTimeText" :disabled="!tempRange.endDate" />
-						</time-picker>
-					</view>
-				</view>
-				<view class="popup-x-body">
-					<calendar ref="left" :showMonth="false" :start-date="caleRange.startDate"
-						:end-date="caleRange.endDate" :range="true" @change="leftChange" :pleStatus="endMultipleStatus"
-						@firstEnterCale="updateRightCale" @monthSwitch="leftMonthSwitch" style="padding: 0 8px;" />
-					<calendar ref="right" :showMonth="false" :start-date="caleRange.startDate"
-						:end-date="caleRange.endDate" :range="true" @change="rightChange"
-						:pleStatus="startMultipleStatus" @firstEnterCale="updateLeftCale"
-						@monthSwitch="rightMonthSwitch" style="padding: 0 8px;border-left: 1px solid #F1F1F1;" />
-				</view>
-				<view v-if="hasTime" class="popup-x-footer">
-					<text class="" @click="clear">{{clearText}}</text>
-					<text class="confirm" @click="confirmRangeChange">{{okText}}</text>
-				</view>
-			</view>
-		</view>
-		<calendar v-show="isPhone" ref="mobile" :clearDate="false" :date="defSingleDate" :defTime="reactMobDefTime"
-			:start-date="caleRange.startDate" :end-date="caleRange.endDate" :selectableTimes="mobSelectableTime"
-			:pleStatus="endMultipleStatus" :showMonth="false" :range="isRange" :typeHasTime="hasTime" :insert="false"
-			:hideSecond="hideSecond" @confirm="mobileChange" @maskClose="close" />
-	</view>
-</template>
-<script>
-	/**
-	 * DatetimePicker 鏃堕棿閫夋嫨鍣�
-	 * @description 鍚屾椂鏀寔 PC 鍜岀Щ鍔ㄧ浣跨敤鏃ュ巻閫夋嫨鏃ユ湡鍜屾棩鏈熻寖鍥�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=3962
-	 * @property {String} type 閫夋嫨鍣ㄧ被鍨�
-	 * @property {String|Number|Array|Date} value 缁戝畾鍊�
-	 * @property {String} placeholder 鍗曢�夋嫨鏃剁殑鍗犱綅鍐呭
-	 * @property {String} start 璧峰鏃堕棿
-	 * @property {String} end 缁堟鏃堕棿
-	 * @property {String} start-placeholder 鑼冨洿閫夋嫨鏃跺紑濮嬫棩鏈熺殑鍗犱綅鍐呭
-	 * @property {String} end-placeholder 鑼冨洿閫夋嫨鏃剁粨鏉熸棩鏈熺殑鍗犱綅鍐呭
-	 * @property {String} range-separator 閫夋嫨鑼冨洿鏃剁殑鍒嗛殧绗�
-	 * @property {Boolean} border = [true|false] 鏄惁鏈夎竟妗�
-	 * @property {Boolean} disabled = [true|false] 鏄惁绂佺敤
-	 * @property {Boolean} clearIcon = [true|false] 鏄惁鏄剧ず娓呴櫎鎸夐挳锛堜粎PC绔�傜敤锛�
-	 * @event {Function} change 纭畾鏃ユ湡鏃惰Е鍙戠殑浜嬩欢
-	 * @event {Function} show 鎵撳紑寮瑰嚭灞�
-	 * @event {Function} close 鍏抽棴寮瑰嚭灞�
-	 * @event {Function} clear 娓呴櫎涓婃閫変腑鐨勭姸鎬佸拰鍊�
-	 **/
-	import calendar from './calendar.vue'
-	import timePicker from './time-picker.vue'
-	import {
-		initVueI18n
-	} from '@dcloudio/uni-i18n'
-	import messages from './i18n/index.js'
-	const {
-		t
-	} = initVueI18n(messages)
-
-	export default {
-		name: 'UniDatetimePicker',
-		options: {
-			virtualHost: true
-		},
-		components: {
-			calendar,
-			timePicker
-		},
-		inject: {
-			form: {
-				from: 'uniForm',
-				default: null
-			},
-			formItem: {
-				from: 'uniFormItem',
-				default: null
-			},
-		},
-		data() {
-			return {
-				isRange: false,
-				hasTime: false,
-				mobileRange: false,
-				// 鍗曢��
-				singleVal: '',
-				tempSingleDate: '',
-				defSingleDate: '',
-				time: '',
-				// 鑼冨洿閫�
-				caleRange: {
-					startDate: '',
-					startTime: '',
-					endDate: '',
-					endTime: ''
-				},
-				range: {
-					startDate: '',
-					// startTime: '',
-					endDate: '',
-					// endTime: ''
-				},
-				tempRange: {
-					startDate: '',
-					startTime: '',
-					endDate: '',
-					endTime: ''
-				},
-				// 宸﹀彸鏃ュ巻鍚屾鏁版嵁
-				startMultipleStatus: {
-					before: '',
-					after: '',
-					data: [],
-					fulldate: ''
-				},
-				endMultipleStatus: {
-					before: '',
-					after: '',
-					data: [],
-					fulldate: ''
-				},
-				visible: false,
-				popup: false,
-				popover: null,
-				isEmitValue: false,
-				isPhone: false,
-				isFirstShow: true,
-			}
-		},
-		props: {
-			type: {
-				type: String,
-				default: 'datetime'
-			},
-			value: {
-				type: [String, Number, Array, Date],
-				default: ''
-			},
-			modelValue: {
-				type: [String, Number, Array, Date],
-				default: ''
-			},
-			start: {
-				type: [Number, String],
-				default: ''
-			},
-			end: {
-				type: [Number, String],
-				default: ''
-			},
-			returnType: {
-				type: String,
-				default: 'string'
-			},
-			placeholder: {
-				type: String,
-				default: ''
-			},
-			startPlaceholder: {
-				type: String,
-				default: ''
-			},
-			endPlaceholder: {
-				type: String,
-				default: ''
-			},
-			rangeSeparator: {
-				type: String,
-				default: '-'
-			},
-			border: {
-				type: [Boolean],
-				default: true
-			},
-			disabled: {
-				type: [Boolean],
-				default: false
-			},
-			clearIcon: {
-				type: [Boolean],
-				default: true
-			},
-			hideSecond: {
-				type: [Boolean],
-				default: false
-			}
-		},
-		watch: {
-			type: {
-				immediate: true,
-				handler(newVal, oldVal) {
-					if (newVal.indexOf('time') !== -1) {
-						this.hasTime = true
-					} else {
-						this.hasTime = false
-					}
-					if (newVal.indexOf('range') !== -1) {
-						this.isRange = true
-					} else {
-						this.isRange = false
-					}
-				}
-			},
-			// #ifndef VUE3
-			value: {
-				immediate: true,
-				handler(newVal, oldVal) {
-					if (this.isEmitValue) {
-						this.isEmitValue = false
-						return
-					}
-					this.initPicker(newVal)
-				}
-			},
-			// #endif
-			// #ifdef VUE3
-			modelValue: {
-				immediate: true,
-				handler(newVal, oldVal) {
-					if (this.isEmitValue) {
-						this.isEmitValue = false
-						return
-					}
-					this.initPicker(newVal)
-				}
-			},
-			// #endif
-			start: {
-				immediate: true,
-				handler(newVal, oldVal) {
-					if (!newVal) return
-					const {
-						defDate,
-						defTime
-					} = this.parseDate(newVal)
-					this.caleRange.startDate = defDate
-					if (this.hasTime) {
-						this.caleRange.startTime = defTime
-					}
-				}
-			},
-			end: {
-				immediate: true,
-				handler(newVal, oldVal) {
-					if (!newVal) return
-					const {
-						defDate,
-						defTime
-					} = this.parseDate(newVal)
-					this.caleRange.endDate = defDate
-					if (this.hasTime) {
-						this.caleRange.endTime = defTime
-					}
-				}
-			},
-		},
-		computed: {
-			reactStartTime() {
-				const activeDate = this.isRange ? this.tempRange.startDate : this.tempSingleDate
-				const res = activeDate === this.caleRange.startDate ? this.caleRange.startTime : ''
-				return res
-			},
-			reactEndTime() {
-				const activeDate = this.isRange ? this.tempRange.endDate : this.tempSingleDate
-				const res = activeDate === this.caleRange.endDate ? this.caleRange.endTime : ''
-				return res
-			},
-			reactMobDefTime() {
-				const times = {
-					start: this.tempRange.startTime,
-					end: this.tempRange.endTime
-				}
-				return this.isRange ? times : this.time
-			},
-			mobSelectableTime() {
-				return {
-					start: this.caleRange.startTime,
-					end: this.caleRange.endTime
-				}
-			},
-			datePopupWidth() {
-				// todo
-				return this.isRange ? 653 : 301
-			},
-
-			/**
-			 * for i18n
-			 */
-			singlePlaceholderText() {
-				return this.placeholder || (this.type === 'date' ? this.selectDateText : t(
-					"uni-datetime-picker.selectDateTime"))
-			},
-			startPlaceholderText() {
-				return this.startPlaceholder || this.startDateText
-			},
-			endPlaceholderText() {
-				return this.endPlaceholder || this.endDateText
-			},
-			selectDateText() {
-				return t("uni-datetime-picker.selectDate")
-			},
-			selectTimeText() {
-				return t("uni-datetime-picker.selectTime")
-			},
-			startDateText() {
-				return this.startPlaceholder || t("uni-datetime-picker.startDate")
-			},
-			startTimeText() {
-				return t("uni-datetime-picker.startTime")
-			},
-			endDateText() {
-				return this.endPlaceholder || t("uni-datetime-picker.endDate")
-			},
-			endTimeText() {
-				return t("uni-datetime-picker.endTime")
-			},
-			okText() {
-				return t("uni-datetime-picker.ok")
-			},
-			clearText() {
-				return t("uni-datetime-picker.clear")
-			},
-			showClearIcon() {
-				const {
-					clearIcon,
-					disabled,
-					singleVal,
-					range
-				} = this
-				const bool = clearIcon && !disabled && (singleVal || (range.startDate && range.endDate))
-				return bool
-			}
-		},
-		created() {
-			// if (this.form && this.formItem) {
-			// 	this.$watch('formItem.errMsg', (newVal) => {
-			// 		this.localMsg = newVal
-			// 	})
-			// }
-		},
-		mounted() {
-			this.platform()
-		},
-		methods: {
-			initPicker(newVal) {
-				if (!newVal || Array.isArray(newVal) && !newVal.length) {
-					this.$nextTick(() => {
-						this.clear(false)
-					})
-					return
-				}
-				if (!Array.isArray(newVal) && !this.isRange) {
-					const {
-						defDate,
-						defTime
-					} = this.parseDate(newVal)
-					this.singleVal = defDate
-					this.tempSingleDate = defDate
-					this.defSingleDate = defDate
-					if (this.hasTime) {
-						this.singleVal = defDate + ' ' + defTime
-						this.time = defTime
-					}
-				} else {
-					const [before, after] = newVal
-					if (!before && !after) return
-					const defBefore = this.parseDate(before)
-					const defAfter = this.parseDate(after)
-					const startDate = defBefore.defDate
-					const endDate = defAfter.defDate
-					this.range.startDate = this.tempRange.startDate = startDate
-					this.range.endDate = this.tempRange.endDate = endDate
-
-					if (this.hasTime) {
-						this.range.startDate = defBefore.defDate + ' ' + defBefore.defTime
-						this.range.endDate = defAfter.defDate + ' ' + defAfter.defTime
-						this.tempRange.startTime = defBefore.defTime
-						this.tempRange.endTime = defAfter.defTime
-					}
-					const defaultRange = {
-						before: defBefore.defDate,
-						after: defAfter.defDate
-					}
-					this.startMultipleStatus = Object.assign({}, this.startMultipleStatus, defaultRange, {
-						which: 'right'
-					})
-					this.endMultipleStatus = Object.assign({}, this.endMultipleStatus, defaultRange, {
-						which: 'left'
-					})
-				}
-			},
-			updateLeftCale(e) {
-				const left = this.$refs.left
-				// 璁剧疆鑼冨洿閫�
-				left.cale.setHoverMultiple(e.after)
-				left.setDate(this.$refs.left.nowDate.fullDate)
-			},
-			updateRightCale(e) {
-				const right = this.$refs.right
-				// 璁剧疆鑼冨洿閫�
-				right.cale.setHoverMultiple(e.after)
-				right.setDate(this.$refs.right.nowDate.fullDate)
-			},
-			platform() {
-				const systemInfo = uni.getSystemInfoSync()
-				this.isPhone = systemInfo.windowWidth <= 500
-				this.windowWidth = systemInfo.windowWidth
-			},
-			show(event) {
-				if (this.disabled) {
-					return
-				}
-				this.platform()
-				if (this.isPhone) {
-					this.$refs.mobile.open()
-					return
-				}
-				this.popover = {
-					top: '10px'
-				}
-				const dateEditor = uni.createSelectorQuery().in(this).select(".uni-date-editor")
-				dateEditor.boundingClientRect(rect => {
-					if (this.windowWidth - rect.left < this.datePopupWidth) {
-						this.popover.right = 0
-					}
-				}).exec()
-				setTimeout(() => {
-					this.popup = !this.popup
-					if (!this.isPhone && this.isRange && this.isFirstShow) {
-						this.isFirstShow = false
-						const {
-							startDate,
-							endDate
-						} = this.range
-						if (startDate && endDate) {
-							if (this.diffDate(startDate, endDate) < 30) {
-								this.$refs.right.next()
-							}
-						} else {
-							this.$refs.right.next()
-							this.$refs.right.cale.lastHover = false
-						}
-					}
-
-				}, 50)
-			},
-
-			close() {
-				setTimeout(() => {
-					this.popup = false
-					this.$emit('maskClick', this.value)
-					this.$refs.mobile.close()
-				}, 20)
-			},
-			setEmit(value) {
-				if (this.returnType === "timestamp" || this.returnType === "date") {
-					if (!Array.isArray(value)) {
-						if (!this.hasTime) {
-							value = value + ' ' + '00:00:00'
-						}
-						value = this.createTimestamp(value)
-						if (this.returnType === "date") {
-							value = new Date(value)
-						}
-					} else {
-						if (!this.hasTime) {
-							value[0] = value[0] + ' ' + '00:00:00'
-							value[1] = value[1] + ' ' + '00:00:00'
-						}
-						value[0] = this.createTimestamp(value[0])
-						value[1] = this.createTimestamp(value[1])
-						if (this.returnType === "date") {
-							value[0] = new Date(value[0])
-							value[1] = new Date(value[1])
-						}
-					}
-				}
-				
-				
-				this.$emit('change', value)
-				this.$emit('input', value)
-				this.$emit('update:modelValue', value)
-				this.isEmitValue = true
-			},
-			createTimestamp(date) {
-				date = this.fixIosDateFormat(date)
-				return Date.parse(new Date(date))
-			},
-			singleChange(e) {
-				this.tempSingleDate = e.fulldate
-				if (this.hasTime) return
-				this.confirmSingleChange()
-			},
-
-			confirmSingleChange() {
-				if (!this.tempSingleDate) {
-					this.popup = false
-					return
-				}
-				if (this.hasTime) {
-					this.singleVal = this.tempSingleDate + ' ' + (this.time ? this.time : '00:00:00')
-				} else {
-					this.singleVal = this.tempSingleDate
-				}
-				this.setEmit(this.singleVal)
-				this.popup = false
-			},
-
-			leftChange(e) {
-				const {
-					before,
-					after
-				} = e.range
-				this.rangeChange(before, after)
-				const obj = {
-					before: e.range.before,
-					after: e.range.after,
-					data: e.range.data,
-					fulldate: e.fulldate
-				}
-				this.startMultipleStatus = Object.assign({}, this.startMultipleStatus, obj)
-			},
-
-			rightChange(e) {
-				const {
-					before,
-					after
-				} = e.range
-				this.rangeChange(before, after)
-				const obj = {
-					before: e.range.before,
-					after: e.range.after,
-					data: e.range.data,
-					fulldate: e.fulldate
-				}
-				this.endMultipleStatus = Object.assign({}, this.endMultipleStatus, obj)
-			},
-
-			mobileChange(e) {
-				if (this.isRange) {
-					const {
-						before,
-						after
-					} = e.range
-					this.handleStartAndEnd(before, after, true)
-					if (this.hasTime) {
-						const {
-							startTime,
-							endTime
-						} = e.timeRange
-						this.tempRange.startTime = startTime
-						this.tempRange.endTime = endTime
-					}
-					this.confirmRangeChange()
-
-				} else {
-					if (this.hasTime) {
-						this.singleVal = e.fulldate + ' ' + e.time
-					} else {
-						this.singleVal = e.fulldate
-					}
-					this.setEmit(this.singleVal)
-				}
-				this.$refs.mobile.close()
-			},
-
-			rangeChange(before, after) {
-				if (!(before && after)) return
-				this.handleStartAndEnd(before, after, true)
-				if (this.hasTime) return
-				this.confirmRangeChange()
-			},
-
-			confirmRangeChange() {
-				if (!this.tempRange.startDate && !this.tempRange.endDate) {
-					this.popup = false
-					return
-				}
-				let start, end
-				if (!this.hasTime) {
-					start = this.range.startDate = this.tempRange.startDate
-					end = this.range.endDate = this.tempRange.endDate
-				} else {
-					start = this.range.startDate = this.tempRange.startDate + ' ' +
-						(this.tempRange.startTime ? this.tempRange.startTime : '00:00:00')
-					end = this.range.endDate = this.tempRange.endDate + ' ' +
-						(this.tempRange.endTime ? this.tempRange.endTime : '00:00:00')
-				}
-				const displayRange = [start, end]
-				this.setEmit(displayRange)
-				this.popup = false
-			},
-
-			handleStartAndEnd(before, after, temp = false) {
-				if (!(before && after)) return
-				const type = temp ? 'tempRange' : 'range'
-				if (this.dateCompare(before, after)) {
-					this[type].startDate = before
-					this[type].endDate = after
-				} else {
-					this[type].startDate = after
-					this[type].endDate = before
-				}
-			},
-
-			/**
-			 * 姣旇緝鏃堕棿澶у皬
-			 */
-			dateCompare(startDate, endDate) {
-				// 璁$畻鎴鏃堕棿
-				startDate = new Date(startDate.replace('-', '/').replace('-', '/'))
-				// 璁$畻璇︾粏椤圭殑鎴鏃堕棿
-				endDate = new Date(endDate.replace('-', '/').replace('-', '/'))
-				if (startDate <= endDate) {
-					return true
-				} else {
-					return false
-				}
-			},
-
-			/**
-			 * 姣旇緝鏃堕棿宸�
-			 */
-			diffDate(startDate, endDate) {
-				// 璁$畻鎴鏃堕棿
-				startDate = new Date(startDate.replace('-', '/').replace('-', '/'))
-				// 璁$畻璇︾粏椤圭殑鎴鏃堕棿
-				endDate = new Date(endDate.replace('-', '/').replace('-', '/'))
-				const diff = (endDate - startDate) / (24 * 60 * 60 * 1000)
-				return Math.abs(diff)
-			},
-
-			clear(needEmit = true) {
-				if (!this.isRange) {
-					this.singleVal = ''
-					this.tempSingleDate = ''
-					this.time = ''
-					if (this.isPhone) {
-						this.$refs.mobile && this.$refs.mobile.clearCalender()
-					} else {
-						this.$refs.pcSingle && this.$refs.pcSingle.clearCalender()
-					}
-					if (needEmit) {
-						// 鏍¢獙瑙勫垯
-						// if(this.form  && this.formItem){
-						// 	const {
-						// 		validateTrigger
-						// 	} = this.form
-						// 	if (validateTrigger === 'blur') {
-						// 		this.formItem.onFieldChange()
-						// 	}
-						// }
-						this.$emit('change', '')
-						this.$emit('input', '')
-						this.$emit('update:modelValue', '')
-					}
-				} else {
-					this.range.startDate = ''
-					this.range.endDate = ''
-					this.tempRange.startDate = ''
-					this.tempRange.startTime = ''
-					this.tempRange.endDate = ''
-					this.tempRange.endTime = ''
-					if (this.isPhone) {
-						this.$refs.mobile && this.$refs.mobile.clearCalender()
-					} else {
-						this.$refs.left && this.$refs.left.clearCalender()
-						this.$refs.right && this.$refs.right.clearCalender()
-						this.$refs.right && this.$refs.right.next()
-					}
-					if (needEmit) {
-						this.$emit('change', [])
-						this.$emit('input', [])
-						this.$emit('update:modelValue', [])
-					}
-				}
-			},
-
-			parseDate(date) {
-				date = this.fixIosDateFormat(date)
-				const defVal = new Date(date)
-				const year = defVal.getFullYear()
-				const month = defVal.getMonth() + 1
-				const day = defVal.getDate()
-				const hour = defVal.getHours()
-				const minute = defVal.getMinutes()
-				const second = defVal.getSeconds()
-				const defDate = year + '-' + this.lessTen(month) + '-' + this.lessTen(day)
-				const defTime = this.lessTen(hour) + ':' + this.lessTen(minute) + (this.hideSecond ? '' : (':' + this
-					.lessTen(second)))
-				return {
-					defDate,
-					defTime
-				}
-			},
-
-			lessTen(item) {
-				return item < 10 ? '0' + item : item
-			},
-
-			//鍏煎 iOS銆乻afari 鏃ユ湡鏍煎紡
-			fixIosDateFormat(value) {
-				if (typeof value === 'string') {
-					value = value.replace(/-/g, '/')
-				}
-				return value
-			},
-
-			leftMonthSwitch(e) {
-				// console.log('leftMonthSwitch 杩斿洖:', e)
-			},
-			rightMonthSwitch(e) {
-				// console.log('rightMonthSwitch 杩斿洖:', e)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	$uni-primary: #007aff !default;
-	
-	.uni-date {
-		/* #ifndef APP-NVUE */
-		width: 100%;
-		/* #endif */
-		flex: 1;
-	}
-	.uni-date-x {
-		display: flex;
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-		padding: 0 10px;
-		border-radius: 4px;
-		background-color: #fff;
-		color: #666;
-		font-size: 14px;
-		flex: 1;
-	}
-
-	.uni-date-x--border {
-		box-sizing: border-box;
-		border-radius: 4px;
-		border: 1px solid #e5e5e5;
-	}
-
-	.uni-date-editor--x {
-		display: flex;
-		align-items: center;
-		position: relative;
-	}
-
-	.uni-date-editor--x .uni-date__icon-clear {
-		padding: 0 5px;
-		display: flex;
-		align-items: center;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-date__x-input {
-		padding: 0 8px;
-		/* #ifndef APP-NVUE */
-		width: auto;
-		/* #endif */
-		position: relative;
-		overflow: hidden;
-		flex: 1;
-		line-height: 1;
-		font-size: 14px;
-		height: 35px;
-	}
-
-	.t-c {
-		text-align: center;
-	}
-
-	.uni-date__input {
-		height: 40px;
-		width: 100%;
-		line-height: 40px;
-		font-size: 14px;
-	}
-
-	.uni-date-range__input {
-		text-align: center;
-		max-width: 142px;
-	}
-
-	.uni-date-picker__container {
-		position: relative;
-		/* 		position: fixed;
-		left: 0;
-		right: 0;
-		top: 0;
-		bottom: 0;
-		box-sizing: border-box;
-		z-index: 996;
-		font-size: 14px; */
-	}
-
-	.uni-date-mask {
-		position: fixed;
-		bottom: 0px;
-		top: 0px;
-		left: 0px;
-		right: 0px;
-		background-color: rgba(0, 0, 0, 0);
-		transition-duration: 0.3s;
-		z-index: 996;
-	}
-
-	.uni-date-single--x {
-		/* padding: 0 8px; */
-		background-color: #fff;
-		position: absolute;
-		top: 0;
-		z-index: 999;
-		border: 1px solid #EBEEF5;
-		box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
-		border-radius: 4px;
-	}
-
-	.uni-date-range--x {
-		/* padding: 0 8px; */
-		background-color: #fff;
-		position: absolute;
-		top: 0;
-		z-index: 999;
-		border: 1px solid #EBEEF5;
-		box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
-		border-radius: 4px;
-	}
-
-	.uni-date-editor--x__disabled {
-		opacity: 0.4;
-		cursor: default;
-	}
-
-	.uni-date-editor--logo {
-		width: 16px;
-		height: 16px;
-		vertical-align: middle;
-	}
-
-	/* 娣诲姞鏃堕棿 */
-	.popup-x-header {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		/* justify-content: space-between; */
-	}
-
-	.popup-x-header--datetime {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		flex: 1;
-	}
-
-	.popup-x-body {
-		display: flex;
-	}
-
-	.popup-x-footer {
-		padding: 0 15px;
-		border-top-color: #F1F1F1;
-		border-top-style: solid;
-		border-top-width: 1px;
-		/* background-color: #fff; */
-		line-height: 40px;
-		text-align: right;
-		color: #666;
-	}
-
-	.popup-x-footer text:hover {
-		color: $uni-primary;
-		cursor: pointer;
-		opacity: 0.8;
-	}
-
-	.popup-x-footer .confirm {
-		margin-left: 20px;
-		color: $uni-primary;
-	}
-
-	.uni-date-changed {
-		/* background-color: #fff; */
-		text-align: center;
-		color: #333;
-		border-bottom-color: #F1F1F1;
-		border-bottom-style: solid;
-		border-bottom-width: 1px;
-		/* padding: 0 50px; */
-	}
-
-	.uni-date-changed--time text {
-		/* padding: 0 20px; */
-		height: 50px;
-		line-height: 50px;
-	}
-
-	.uni-date-changed .uni-date-changed--time {
-		/* display: flex; */
-		flex: 1;
-	}
-
-	.uni-date-changed--time-date {
-		color: #333;
-		opacity: 0.6;
-	}
-
-	.mr-50 {
-		margin-right: 50px;
-	}
-
-	/* picker 寮瑰嚭灞傞�氱敤鐨勬寚绀哄皬涓夎, todo锛氭墿灞曡嚦涓婁笅宸﹀彸鏂瑰悜瀹氫綅 */
-	.uni-popper__arrow,
-	.uni-popper__arrow::after {
-		position: absolute;
-		display: block;
-		width: 0;
-		height: 0;
-		border-color: transparent;
-		border-style: solid;
-		border-width: 6px;
-	}
-
-	.uni-popper__arrow {
-		filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
-		top: -6px;
-		left: 10%;
-		margin-right: 3px;
-		border-top-width: 0;
-		border-bottom-color: #EBEEF5;
-	}
-
-	.uni-popper__arrow::after {
-		content: " ";
-		top: 1px;
-		margin-left: -6px;
-		border-top-width: 0;
-		border-bottom-color: #fff;
-	}
-</style>
diff --git a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js b/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js
deleted file mode 100644
index efa5773..0000000
--- a/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js
+++ /dev/null
@@ -1,410 +0,0 @@
-class Calendar {
-	constructor({
-		date,
-		selected,
-		startDate,
-		endDate,
-		range,
-		// multipleStatus
-	} = {}) {
-		// 褰撳墠鏃ユ湡
-		this.date = this.getDate(new Date()) // 褰撳墠鍒濆叆鏃ユ湡
-		// 鎵撶偣淇℃伅
-		this.selected = selected || [];
-		// 鑼冨洿寮�濮�
-		this.startDate = startDate
-		// 鑼冨洿缁撴潫
-		this.endDate = endDate
-		this.range = range
-		// 澶氶�夌姸鎬�
-		this.cleanMultipleStatus()
-		// 姣忓懆鏃ユ湡
-		this.weeks = {}
-		// this._getWeek(this.date.fullDate)
-		// this.multipleStatus = multipleStatus
-		this.lastHover = false
-	}
-	/**
-	 * 璁剧疆鏃ユ湡
-	 * @param {Object} date
-	 */
-	setDate(date) {
-		this.selectDate = this.getDate(date)
-		this._getWeek(this.selectDate.fullDate)
-	}
-
-	/**
-	 * 娓呯悊澶氶�夌姸鎬�
-	 */
-	cleanMultipleStatus() {
-		this.multipleStatus = {
-			before: '',
-			after: '',
-			data: []
-		}
-	}
-
-	/**
-	 * 閲嶇疆寮�濮嬫棩鏈�
-	 */
-	resetSatrtDate(startDate) {
-		// 鑼冨洿寮�濮�
-		this.startDate = startDate
-
-	}
-
-	/**
-	 * 閲嶇疆缁撴潫鏃ユ湡
-	 */
-	resetEndDate(endDate) {
-		// 鑼冨洿缁撴潫
-		this.endDate = endDate
-	}
-
-	/**
-	 * 鑾峰彇浠绘剰鏃堕棿
-	 */
-	getDate(date, AddDayCount = 0, str = 'day') {
-		if (!date) {
-			date = new Date()
-		}
-		if (typeof date !== 'object') {
-			date = date.replace(/-/g, '/')
-		}
-		const dd = new Date(date)
-		switch (str) {
-			case 'day':
-				dd.setDate(dd.getDate() + AddDayCount) // 鑾峰彇AddDayCount澶╁悗鐨勬棩鏈�
-				break
-			case 'month':
-				if (dd.getDate() === 31) {
-					dd.setDate(dd.getDate() + AddDayCount)
-				} else {
-					dd.setMonth(dd.getMonth() + AddDayCount) // 鑾峰彇AddDayCount澶╁悗鐨勬棩鏈�
-				}
-				break
-			case 'year':
-				dd.setFullYear(dd.getFullYear() + AddDayCount) // 鑾峰彇AddDayCount澶╁悗鐨勬棩鏈�
-				break
-		}
-		const y = dd.getFullYear()
-		const m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // 鑾峰彇褰撳墠鏈堜唤鐨勬棩鏈燂紝涓嶈冻10琛�0
-		const d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // 鑾峰彇褰撳墠鍑犲彿锛屼笉瓒�10琛�0
-		return {
-			fullDate: y + '-' + m + '-' + d,
-			year: y,
-			month: m,
-			date: d,
-			day: dd.getDay()
-		}
-	}
-
-
-	/**
-	 * 鑾峰彇涓婃湀鍓╀綑澶╂暟
-	 */
-	_getLastMonthDays(firstDay, full) {
-		let dateArr = []
-		for (let i = firstDay; i > 0; i--) {
-			const beforeDate = new Date(full.year, full.month - 1, -i + 1).getDate()
-			dateArr.push({
-				date: beforeDate,
-				month: full.month - 1,
-				disable: true
-			})
-		}
-		return dateArr
-	}
-	/**
-	 * 鑾峰彇鏈湀澶╂暟
-	 */
-	_currentMonthDys(dateData, full) {
-		let dateArr = []
-		let fullDate = this.date.fullDate
-		for (let i = 1; i <= dateData; i++) {
-			let isinfo = false
-			let nowDate = full.year + '-' + (full.month < 10 ?
-				full.month : full.month) + '-' + (i < 10 ?
-				'0' + i : i)
-			// 鏄惁浠婂ぉ
-			let isDay = fullDate === nowDate
-			// 鑾峰彇鎵撶偣淇℃伅
-			let info = this.selected && this.selected.find((item) => {
-				if (this.dateEqual(nowDate, item.date)) {
-					return item
-				}
-			})
-
-			// 鏃ユ湡绂佺敤
-			let disableBefore = true
-			let disableAfter = true
-			if (this.startDate) {
-				// let dateCompBefore = this.dateCompare(this.startDate, fullDate)
-				// disableBefore = this.dateCompare(dateCompBefore ? this.startDate : fullDate, nowDate)
-				disableBefore = this.dateCompare(this.startDate, nowDate)
-			}
-
-			if (this.endDate) {
-				// let dateCompAfter = this.dateCompare(fullDate, this.endDate)
-				// disableAfter = this.dateCompare(nowDate, dateCompAfter ? this.endDate : fullDate)
-				disableAfter = this.dateCompare(nowDate, this.endDate)
-			}
-			let multiples = this.multipleStatus.data
-			let checked = false
-			let multiplesStatus = -1
-			if (this.range) {
-				if (multiples) {
-					multiplesStatus = multiples.findIndex((item) => {
-						return this.dateEqual(item, nowDate)
-					})
-				}
-				if (multiplesStatus !== -1) {
-					checked = true
-				}
-			}
-			let data = {
-				fullDate: nowDate,
-				year: full.year,
-				date: i,
-				multiple: this.range ? checked : false,
-				beforeMultiple: this.isLogicBefore(nowDate, this.multipleStatus.before, this.multipleStatus.after),
-				afterMultiple: this.isLogicAfter(nowDate, this.multipleStatus.before, this.multipleStatus.after),
-				month: full.month,
-				disable: !(disableBefore && disableAfter),
-				isDay,
-				userChecked: false
-			}
-			if (info) {
-				data.extraInfo = info
-			}
-
-			dateArr.push(data)
-		}
-		return dateArr
-	}
-	/**
-	 * 鑾峰彇涓嬫湀澶╂暟
-	 */
-	_getNextMonthDays(surplus, full) {
-		let dateArr = []
-		for (let i = 1; i < surplus + 1; i++) {
-			dateArr.push({
-				date: i,
-				month: Number(full.month) + 1,
-				disable: true
-			})
-		}
-		return dateArr
-	}
-
-	/**
-	 * 鑾峰彇褰撳墠鏃ユ湡璇︽儏
-	 * @param {Object} date
-	 */
-	getInfo(date) {
-		if (!date) {
-			date = new Date()
-		}
-		const dateInfo = this.canlender.find(item => item.fullDate === this.getDate(date).fullDate)
-		return dateInfo
-	}
-
-	/**
-	 * 姣旇緝鏃堕棿澶у皬
-	 */
-	dateCompare(startDate, endDate) {
-		// 璁$畻鎴鏃堕棿
-		startDate = new Date(startDate.replace('-', '/').replace('-', '/'))
-		// 璁$畻璇︾粏椤圭殑鎴鏃堕棿
-		endDate = new Date(endDate.replace('-', '/').replace('-', '/'))
-		if (startDate <= endDate) {
-			return true
-		} else {
-			return false
-		}
-	}
-
-	/**
-	 * 姣旇緝鏃堕棿鏄惁鐩哥瓑
-	 */
-	dateEqual(before, after) {
-		// 璁$畻鎴鏃堕棿
-		before = new Date(before.replace('-', '/').replace('-', '/'))
-		// 璁$畻璇︾粏椤圭殑鎴鏃堕棿
-		after = new Date(after.replace('-', '/').replace('-', '/'))
-		if (before.getTime() - after.getTime() === 0) {
-			return true
-		} else {
-			return false
-		}
-	}
-
-	/**
-	 *  姣旇緝鐪熷疄璧峰鏃ユ湡
-	 */
-
-	isLogicBefore(currentDay, before, after) {
-		let logicBefore = before
-		if (before && after) {
-			logicBefore = this.dateCompare(before, after) ? before : after
-		}
-		return this.dateEqual(logicBefore, currentDay)
-	}
-
-	isLogicAfter(currentDay, before, after) {
-		let logicAfter = after
-		if (before && after) {
-			logicAfter = this.dateCompare(before, after) ? after : before
-		}
-		return this.dateEqual(logicAfter, currentDay)
-	}
-
-	/**
-	 * 鑾峰彇鏃ユ湡鑼冨洿鍐呮墍鏈夋棩鏈�
-	 * @param {Object} begin
-	 * @param {Object} end
-	 */
-	geDateAll(begin, end) {
-		var arr = []
-		var ab = begin.split('-')
-		var ae = end.split('-')
-		var db = new Date()
-		db.setFullYear(ab[0], ab[1] - 1, ab[2])
-		var de = new Date()
-		de.setFullYear(ae[0], ae[1] - 1, ae[2])
-		var unixDb = db.getTime() - 24 * 60 * 60 * 1000
-		var unixDe = de.getTime() - 24 * 60 * 60 * 1000
-		for (var k = unixDb; k <= unixDe;) {
-			k = k + 24 * 60 * 60 * 1000
-			arr.push(this.getDate(new Date(parseInt(k))).fullDate)
-		}
-		return arr
-	}
-
-	/**
-	 *  鑾峰彇澶氶�夌姸鎬�
-	 */
-	setMultiple(fullDate) {
-		let {
-			before,
-			after
-		} = this.multipleStatus
-		if (!this.range) return
-		if (before && after) {
-			if (!this.lastHover) {
-				this.lastHover = true
-				return
-			}
-			this.multipleStatus.before = fullDate
-			this.multipleStatus.after = ''
-			this.multipleStatus.data = []
-			this.multipleStatus.fulldate = ''
-			this.lastHover = false
-		} else {
-			if (!before) {
-				this.multipleStatus.before = fullDate
-				this.lastHover = false
-			} else {
-				this.multipleStatus.after = fullDate
-				if (this.dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {
-					this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus
-						.after);
-				} else {
-					this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus
-						.before);
-				}
-				this.lastHover = true
-			}
-		}
-		this._getWeek(fullDate)
-	}
-
-	/**
-	 *  榧犳爣 hover 鏇存柊澶氶�夌姸鎬�
-	 */
-	setHoverMultiple(fullDate) {
-		let {
-			before,
-			after
-		} = this.multipleStatus
-
-		if (!this.range) return
-		if (this.lastHover) return
-
-		if (!before) {
-			this.multipleStatus.before = fullDate
-		} else {
-			this.multipleStatus.after = fullDate
-			if (this.dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {
-				this.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after);
-			} else {
-				this.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before);
-			}
-		}
-		this._getWeek(fullDate)
-	}
-
-	/**
-	 * 鏇存柊榛樿鍊煎閫夌姸鎬�
-	 */
-	setDefaultMultiple(before, after) {
-		this.multipleStatus.before = before
-		this.multipleStatus.after = after
-		if (before && after) {
-			if (this.dateCompare(before, after)) {
-				this.multipleStatus.data = this.geDateAll(before, after);
-				this._getWeek(after)
-			} else {
-				this.multipleStatus.data = this.geDateAll(after, before);
-				this._getWeek(before)
-			}
-		}
-	}
-
-	/**
-	 * 鑾峰彇姣忓懆鏁版嵁
-	 * @param {Object} dateData
-	 */
-	_getWeek(dateData) {
-		const {
-			fullDate,
-			year,
-			month,
-			date,
-			day
-		} = this.getDate(dateData)
-		let firstDay = new Date(year, month - 1, 1).getDay()
-		let currentDay = new Date(year, month, 0).getDate()
-		let dates = {
-			lastMonthDays: this._getLastMonthDays(firstDay, this.getDate(dateData)), // 涓婁釜鏈堟湯灏惧嚑澶�
-			currentMonthDys: this._currentMonthDys(currentDay, this.getDate(dateData)), // 鏈湀澶╂暟
-			nextMonthDays: [], // 涓嬩釜鏈堝紑濮嬪嚑澶�
-			weeks: []
-		}
-		let canlender = []
-		const surplus = 42 - (dates.lastMonthDays.length + dates.currentMonthDys.length)
-		dates.nextMonthDays = this._getNextMonthDays(surplus, this.getDate(dateData))
-		canlender = canlender.concat(dates.lastMonthDays, dates.currentMonthDys, dates.nextMonthDays)
-		let weeks = {}
-		// 鎷兼帴鏁扮粍  涓婁釜鏈堝紑濮嬪嚑澶� + 鏈湀澶╂暟+ 涓嬩釜鏈堝紑濮嬪嚑澶�
-		for (let i = 0; i < canlender.length; i++) {
-			if (i % 7 === 0) {
-				weeks[parseInt(i / 7)] = new Array(7)
-			}
-			weeks[parseInt(i / 7)][i % 7] = canlender[i]
-		}
-		this.canlender = canlender
-		this.weeks = weeks
-	}
-
-	//闈欐�佹柟娉�
-	// static init(date) {
-	// 	if (!this.instance) {
-	// 		this.instance = new Calendar(date);
-	// 	}
-	// 	return this.instance;
-	// }
-}
-
-
-export default Calendar
diff --git a/src/uni_modules/uni-datetime-picker/package.json b/src/uni_modules/uni-datetime-picker/package.json
deleted file mode 100644
index f7a2e6a..0000000
--- a/src/uni_modules/uni-datetime-picker/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "id": "uni-datetime-picker",
-  "displayName": "uni-datetime-picker 鏃ユ湡閫夋嫨鍣�",
-  "version": "2.2.11",
-  "description": "uni-datetime-picker 鏃ユ湡鏃堕棿閫夋嫨鍣紝鏀寔鏃ュ巻锛屾敮鎸佽寖鍥撮�夋嫨",
-  "keywords": [
-    "uni-datetime-picker",
-    "uni-ui",
-    "uniui",
-    "鏃ユ湡鏃堕棿閫夋嫨鍣�",
-    "鏃ユ湡鏃堕棿"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-			"uni-icons"
-		],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "n"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-datetime-picker/readme.md b/src/uni_modules/uni-datetime-picker/readme.md
deleted file mode 100644
index 162fbef..0000000
--- a/src/uni_modules/uni-datetime-picker/readme.md
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-> `閲嶈閫氱煡锛氱粍浠跺崌绾ф洿鏂� 2.0.0 鍚庯紝鏀寔鏃ユ湡+鏃堕棿鑼冨洿閫夋嫨锛岀粍浠� ui 灏嗕娇鐢ㄦ棩鍘嗛�夋嫨鏃ユ湡锛寀i 鍙樺寲杈冨ぇ锛屽悓鏃舵敮鎸� PC 鍜� 绉诲姩绔�傛鐗堟湰涓嶅悜鍚庡吋瀹癸紝涓嶅啀鏀寔鍗曠嫭鐨勬椂闂撮�夋嫨锛坱ype=time锛夊強鐩稿叧鐨� hide-second 灞炴�э紙鏃堕棿閫夊彲浣跨敤鍐呯疆缁勪欢 picker锛夈�傝嫢浠嶉渶浣跨敤鏃х増鏈紝鍙湪鎻掍欢甯傚満涓嬭浇*闈瀠ni_modules鐗堟湰*锛屾棫鐗堟湰灏嗕笉鍐嶇淮鎶
-
-## DatetimePicker 鏃堕棿閫夋嫨鍣�
-
-> **缁勪欢鍚嶏細uni-datetime-picker**
-> 浠g爜鍧楋細 `uDatetimePicker`
-
-
-璇ョ粍浠剁殑浼樺娍鏄紝鏀寔**鏃堕棿鎴�**杈撳叆鍜岃緭鍑猴紙璧峰鏃堕棿銆佺粓姝㈡椂闂翠篃鏀寔鏃堕棿鎴筹級锛屽彲**鍚屾椂閫夋嫨**鏃ユ湡鍜屾椂闂淬��
-
-鑻ュ彧鏄渶瑕佸崟鐙�夋嫨鏃ユ湡鍜屾椂闂达紝涓嶉渶瑕佹椂闂存埑杈撳叆鍜岃緭鍑猴紝鍙娇鐢ㄥ師鐢熺殑 picker 缁勪欢銆�
-
-**_鐐瑰嚮 picker 榛樿鍊艰鍒欙細_**
-
-- 鑻ヨ缃垵濮嬪�� value, 浼氭樉绀哄湪 picker 鏄剧ず妗嗕腑
-- 鑻ユ棤鍒濆鍊� value锛屽垯鍒濆鍊� value 涓哄綋鍓嶆湰鍦版椂闂� Date.now()锛� 浣嗕笉浼氭樉绀哄湪 picker 鏄剧ず妗嗕腑
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-datetime-picker)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-drawer/changelog.md b/src/uni_modules/uni-drawer/changelog.md
deleted file mode 100644
index 6d2488c..0000000
--- a/src/uni_modules/uni-drawer/changelog.md
+++ /dev/null
@@ -1,13 +0,0 @@
-## 1.2.1锛�2021-11-22锛�
-- 淇 vue3涓釜鍒玸css鍙橀噺鏃犳硶鎵惧埌鐨勯棶棰�
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-drawer](https://uniapp.dcloud.io/component/uniui/uni-drawer)
-## 1.1.1锛�2021-07-30锛�
-- 浼樺寲 vue3涓嬩簨浠惰鍛婄殑闂
-## 1.1.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.7锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.0.6锛�2021-02-04锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-drawer/components/uni-drawer/keypress.js b/src/uni_modules/uni-drawer/components/uni-drawer/keypress.js
deleted file mode 100644
index 62dda46..0000000
--- a/src/uni_modules/uni-drawer/components/uni-drawer/keypress.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// #ifdef H5
-export default {
-  name: 'Keypress',
-  props: {
-    disable: {
-      type: Boolean,
-      default: false
-    }
-  },
-  mounted () {
-    const keyNames = {
-      esc: ['Esc', 'Escape'],
-      tab: 'Tab',
-      enter: 'Enter',
-      space: [' ', 'Spacebar'],
-      up: ['Up', 'ArrowUp'],
-      left: ['Left', 'ArrowLeft'],
-      right: ['Right', 'ArrowRight'],
-      down: ['Down', 'ArrowDown'],
-      delete: ['Backspace', 'Delete', 'Del']
-    }
-    const listener = ($event) => {
-      if (this.disable) {
-        return
-      }
-      const keyName = Object.keys(keyNames).find(key => {
-        const keyName = $event.key
-        const value = keyNames[key]
-        return value === keyName || (Array.isArray(value) && value.includes(keyName))
-      })
-      if (keyName) {
-        // 閬垮厤鍜屽叾浠栨寜閿簨浠跺啿绐�
-        setTimeout(() => {
-          this.$emit(keyName, {})
-        }, 0)
-      }
-    }
-    document.addEventListener('keyup', listener)
-    // this.$once('hook:beforeDestroy', () => {
-    //   document.removeEventListener('keyup', listener)
-    // })
-  },
-	render: () => {}
-}
-// #endif
diff --git a/src/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue b/src/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue
deleted file mode 100644
index 82331a8..0000000
--- a/src/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue
+++ /dev/null
@@ -1,183 +0,0 @@
-<template>
-	<view v-if="visibleSync" :class="{ 'uni-drawer--visible': showDrawer }" class="uni-drawer" @touchmove.stop.prevent="clear">
-		<view class="uni-drawer__mask" :class="{ 'uni-drawer__mask--visible': showDrawer && mask }" @tap="close('mask')" />
-		<view class="uni-drawer__content" :class="{'uni-drawer--right': rightMode,'uni-drawer--left': !rightMode, 'uni-drawer__content--visible': showDrawer}" :style="{width:drawerWidth+'px'}">
-			<slot />
-		</view>
-		<!-- #ifdef H5 -->
-		<keypress @esc="close('mask')" />
-		<!-- #endif -->
-	</view>
-</template>
-
-<script>
-	// #ifdef H5
-	import keypress from './keypress.js'
-	// #endif
-	/**
-	 * Drawer 鎶藉眽
-	 * @description 鎶藉眽渚ф粦鑿滃崟
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=26
-	 * @property {Boolean} mask = [true | false] 鏄惁鏄剧ず閬僵
-	 * @property {Boolean} maskClick = [true | false] 鐐瑰嚮閬僵鏄惁鍏抽棴
-	 * @property {Boolean} mode = [left | right] Drawer 婊戝嚭浣嶇疆
-	 * 	@value left 浠庡乏渚ф粦鍑�
-	 * 	@value right 浠庡彸渚т晶婊戝嚭
-	 * @property {Number} width 鎶藉眽鐨勫搴� 锛屼粎 vue 椤甸潰鐢熸晥
-	 * @event {Function} close 缁勪欢鍏抽棴鏃惰Е鍙戜簨浠�
-	 */
-	export default {
-		name: 'UniDrawer',
-		components: {
-			// #ifdef H5
-			keypress
-			// #endif
-		},
-		emits:['change'],
-		props: {
-			/**
-			 * 鏄剧ず妯″紡锛堝乏銆佸彸锛夛紝鍙湪鍒濆鍖栫敓鏁�
-			 */
-			mode: {
-				type: String,
-				default: ''
-			},
-			/**
-			 * 钂欏眰鏄剧ず鐘舵��
-			 */
-			mask: {
-				type: Boolean,
-				default: true
-			},
-			/**
-			 * 閬僵鏄惁鍙偣鍑诲叧闂�
-			 */
-			maskClick:{
-				type: Boolean,
-				default: true
-			},
-			/**
-			 * 鎶藉眽瀹藉害
-			 */
-			width: {
-				type: Number,
-				default: 220
-			}
-		},
-		data() {
-			return {
-				visibleSync: false,
-				showDrawer: false,
-				rightMode: false,
-				watchTimer: null,
-				drawerWidth: 220
-			}
-		},
-		created() {
-			// #ifndef APP-NVUE
-			this.drawerWidth = this.width
-			// #endif
-			this.rightMode = this.mode === 'right'
-		},
-		methods: {
-			clear(){},
-			close(type) {
-				// fixed by mehaotian 鎶藉眽灏氭湭瀹屽叏鍏抽棴鎴栭伄缃╃姝㈢偣鍑绘椂涓嶈Е鍙戜互涓嬮�昏緫
-				if((type === 'mask' && !this.maskClick) || !this.visibleSync) return
-				this._change('showDrawer', 'visibleSync', false)
-			},
-			open() {
-				// fixed by mehaotian 澶勭悊閲嶅鐐瑰嚮鎵撳紑鐨勪簨浠�
-				if(this.visibleSync) return
-				this._change('visibleSync', 'showDrawer', true)
-			},
-			_change(param1, param2, status) {
-				this[param1] = status
-				if (this.watchTimer) {
-					clearTimeout(this.watchTimer)
-				}
-				this.watchTimer = setTimeout(() => {
-					this[param2] = status
-					this.$emit('change',status)
-				}, status ? 50 : 300)
-			}
-		}
-	}
-</script>
-
-<style lang="scss" >
-	$uni-mask: rgba($color: #000000, $alpha: 0.4) ;
-	// 鎶藉眽瀹藉害
-	$drawer-width: 220px;
-
-	.uni-drawer {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		position: fixed;
-		top: 0;
-		left: 0;
-		right: 0;
-		bottom: 0;
-		overflow: hidden;
-		z-index: 999;
-	}
-
-	.uni-drawer__content {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		position: absolute;
-		top: 0;
-		width: $drawer-width;
-		bottom: 0;
-		background-color: $uni-bg-color;
-		transition: transform 0.3s ease;
-	}
-
-	.uni-drawer--left {
-		left: 0;
-		/* #ifdef APP-NVUE */
-		transform: translateX(-$drawer-width);
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		transform: translateX(-100%);
-		/* #endif */
-	}
-
-	.uni-drawer--right {
-		right: 0;
-		/* #ifdef APP-NVUE */
-		transform: translateX($drawer-width);
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		transform: translateX(100%);
-		/* #endif */
-	}
-
-	.uni-drawer__content--visible {
-		transform: translateX(0px);
-	}
-
-
-	.uni-drawer__mask {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		opacity: 0;
-		position: absolute;
-		top: 0;
-		left: 0;
-		bottom: 0;
-		right: 0;
-		background-color: $uni-mask;
-		transition: opacity 0.3s;
-	}
-
-	.uni-drawer__mask--visible {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		opacity: 1;
-	}
-</style>
diff --git a/src/uni_modules/uni-drawer/package.json b/src/uni_modules/uni-drawer/package.json
deleted file mode 100644
index dd056e4..0000000
--- a/src/uni_modules/uni-drawer/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "id": "uni-drawer",
-  "displayName": "uni-drawer 鎶藉眽",
-  "version": "1.2.1",
-  "description": "鎶藉眽寮忓鑸紝鐢ㄤ簬灞曠ず渚ф粦鑿滃崟锛屼晶婊戝鑸��",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "drawer",
-    "鎶藉眽",
-    "渚ф粦瀵艰埅"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-drawer/readme.md b/src/uni_modules/uni-drawer/readme.md
deleted file mode 100644
index dcf6e6b..0000000
--- a/src/uni_modules/uni-drawer/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-## Drawer 鎶藉眽
-> **缁勪欢鍚嶏細uni-drawer**
-> 浠g爜鍧楋細 `uDrawer`
-
-鎶藉眽渚ф粦鑿滃崟銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-drawer)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-easyinput/changelog.md b/src/uni_modules/uni-easyinput/changelog.md
deleted file mode 100644
index 49b1a3b..0000000
--- a/src/uni_modules/uni-easyinput/changelog.md
+++ /dev/null
@@ -1,86 +0,0 @@
-## 1.1.0锛�2022-06-30锛�
-
-- 鏂板 鍦� uni-forms 1.4.0 涓娇鐢ㄥ彲浠ュ湪 blur 鏃舵牎楠屽唴瀹�
-- 鏂板 clear 浜嬩欢锛岀偣鍑诲彸渚у弶鍙峰浘鏍囪Е鍙�
-- 鏂板 change 浜嬩欢 锛屼粎鍦ㄨ緭鍏ユ澶卞幓鐒︾偣鎴栫敤鎴锋寜涓嬪洖杞︽椂瑙﹀彂
-- 浼樺寲 缁勪欢鏍峰紡锛岀粍浠惰幏鍙栫劍鐐规椂楂樹寒鏄剧ず锛屽浘鏍囬鑹茶皟鏁寸瓑
--
-
-## 1.0.5锛�2022-06-07锛�
-
-- 浼樺寲 clearable 鏄剧ず绛栫暐
-
-## 1.0.4锛�2022-06-07锛�
-
-- 浼樺寲 clearable 鏄剧ず绛栫暐
-
-## 1.0.3锛�2022-05-20锛�
-
-- 淇 鍏抽棴鍥炬爣鏌愪簺鎯呭喌涓嬫棤娉曞彇娑堢殑 bug
-
-## 1.0.2锛�2022-04-12锛�
-
-- 淇 榛樿鍊间笉鐢熸晥鐨� bug
-
-## 1.0.1锛�2022-04-02锛�
-
-- 淇 value 涓嶈兘涓� 0 鐨� bug
-
-## 1.0.0锛�2021-11-19锛�
-
-- 浼樺寲 缁勪欢 UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-easyinput](https://uniapp.dcloud.io/component/uniui/uni-easyinput)
-
-## 0.1.4锛�2021-08-20锛�
-
-- 淇 鍦� uni-forms 鐨勫姩鎬佽〃鍗曚腑榛樿鍊兼牎楠屼笉閫氳繃鐨� bug
-
-## 0.1.3锛�2021-08-11锛�
-
-- 淇 鍦� uni-forms 涓噸缃〃鍗曪紝閿欒淇℃伅鏃犳硶娓呴櫎鐨勯棶棰�
-
-## 0.1.2锛�2021-07-30锛�
-
-- 浼樺寲 vue3 涓嬩簨浠惰鍛婄殑闂
-
-## 0.1.1
-
-- 浼樺寲 errorMessage 灞炴�ф敮鎸� Boolean 绫诲瀷
-
-## 0.1.0锛�2021-07-13锛�
-
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤� vue3 椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-
-## 0.0.16锛�2021-06-29锛�
-
-- 淇 confirmType 灞炴�э紙浠� type="text" 鐢熸晥锛夊鑷村琛屾枃鏈鏃犳硶鎹㈣鐨� bug
-
-## 0.0.15锛�2021-06-21锛�
-
-- 淇 passwordIcon 灞炴�ф嫾鍐欓敊璇殑 bug
-
-## 0.0.14锛�2021-06-18锛�
-
-- 鏂板 passwordIcon 灞炴�э紝褰� type=password 鏃舵槸鍚︽樉绀哄皬鐪肩潧鍥炬爣
-- 淇 confirmType 灞炴�т笉鐢熸晥鐨勯棶棰�
-
-## 0.0.13锛�2021-06-04锛�
-
-- 淇 disabled 鐘舵�佸彲娓呭嚭鍐呭鐨� bug
-
-## 0.0.12锛�2021-05-12锛�
-
-- 鏂板 缁勪欢绀轰緥鍦板潃
-
-## 0.0.11锛�2021-05-07锛�
-
-- 淇 input-border 灞炴�т笉鐢熸晥鐨勯棶棰�
-
-## 0.0.10锛�2021-04-30锛�
-
-- 淇 ios 閬尅鏂囧瓧銆佹樉绀轰竴鍗婄殑闂
-
-## 0.0.9锛�2021-02-05锛�
-
-- 璋冩暣涓� uni_modules 鐩綍瑙勮寖
-- 浼樺寲 鍏煎 nvue 椤甸潰
diff --git a/src/uni_modules/uni-easyinput/components/uni-easyinput/common.js b/src/uni_modules/uni-easyinput/components/uni-easyinput/common.js
deleted file mode 100644
index df9abe1..0000000
--- a/src/uni_modules/uni-easyinput/components/uni-easyinput/common.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * @desc 鍑芥暟闃叉姈
- * @param func 鐩爣鍑芥暟
- * @param wait 寤惰繜鎵ц姣鏁�
- * @param immediate true - 绔嬪嵆鎵ц锛� false - 寤惰繜鎵ц
- */
-export const debounce = function(func, wait = 1000, immediate = true) {
-	let timer;
-	console.log(1);
-	return function() {
-		console.log(123);
-		let context = this,
-			args = arguments;
-		if (timer) clearTimeout(timer);
-		if (immediate) {
-			let callNow = !timer;
-			timer = setTimeout(() => {
-				timer = null;
-			}, wait);
-			if (callNow) func.apply(context, args);
-		} else {
-			timer = setTimeout(() => {
-				func.apply(context, args);
-			}, wait)
-		}
-	}
-}
-/**
- * @desc 鍑芥暟鑺傛祦
- * @param func 鍑芥暟
- * @param wait 寤惰繜鎵ц姣鏁�
- * @param type 1 浣跨敤琛ㄦ椂闂存埑锛屽湪鏃堕棿娈靛紑濮嬬殑鏃跺�欒Е鍙� 2 浣跨敤琛ㄥ畾鏃跺櫒锛屽湪鏃堕棿娈电粨鏉熺殑鏃跺�欒Е鍙�
- */
-export const throttle = (func, wait = 1000, type = 1) => {
-	let previous = 0;
-	let timeout;
-	return function() {
-		let context = this;
-		let args = arguments;
-		if (type === 1) {
-			let now = Date.now();
-
-			if (now - previous > wait) {
-				func.apply(context, args);
-				previous = now;
-			}
-		} else if (type === 2) {
-			if (!timeout) {
-				timeout = setTimeout(() => {
-					timeout = null;
-					func.apply(context, args)
-				}, wait)
-			}
-		}
-	}
-}
diff --git a/src/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue b/src/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue
deleted file mode 100644
index a779cec..0000000
--- a/src/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue
+++ /dev/null
@@ -1,679 +0,0 @@
-<template>
-	<view
-		class="uni-easyinput"
-		:class="{ 'uni-easyinput-error': msg }"
-		:style="boxStyle"
-	>
-		<view
-			class="uni-easyinput__content"
-			:class="inputContentClass"
-			:style="inputContentStyle"
-		>
-			<slot name="prefixIcon">
-				<uni-icons
-					v-if="prefixIcon"
-					class="content-clear-icon"
-					:type="prefixIcon"
-					color="#c0c4cc"
-					@click="onClickIcon('prefix')"
-					size="22"
-				></uni-icons>
-			</slot>
-			<textarea
-				v-if="type === 'textarea'"
-				class="uni-easyinput__content-textarea"
-				:class="{ 'input-padding': inputBorder }"
-				:name="name"
-				:value="val"
-				:placeholder="placeholder"
-				:placeholderStyle="placeholderStyle"
-				:disabled="disabled"
-				placeholder-class="uni-easyinput__placeholder-class"
-				:maxlength="inputMaxlength"
-				:focus="focused"
-				:autoHeight="autoHeight"
-				@input="onInput"
-				@blur="_Blur"
-				@focus="_Focus"
-				@confirm="onConfirm"
-			></textarea>
-			<input
-				v-else
-				:type="type === 'password' ? 'text' : type"
-				class="uni-easyinput__content-input"
-				:style="inputStyle"
-				:name="name"
-				:value="val"
-				:password="!showPassword && type === 'password'"
-				:placeholder="placeholder"
-				:placeholderStyle="placeholderStyle"
-				placeholder-class="uni-easyinput__placeholder-class"
-				:disabled="disabled"
-				:maxlength="inputMaxlength"
-				:focus="focused"
-				:confirmType="confirmType"
-				@focus="_Focus"
-				@blur="_Blur"
-				@input="onInput"
-				@confirm="onConfirm"
-			/>
-			<template v-if="type === 'password' && passwordIcon">
-				<!-- 寮�鍚瘑鐮佹椂鏄剧ず灏忕溂鐫� -->
-				<uni-icons
-					v-if="isVal"
-					class="content-clear-icon"
-					:class="{ 'is-textarea-icon': type === 'textarea' }"
-					:type="showPassword ? 'eye-slash-filled' : 'eye-filled'"
-					:size="22"
-					:color="focusShow ? primaryColor : '#c0c4cc'"
-					@click="onEyes"
-				>
-				</uni-icons>
-			</template>
-			<template v-else-if="suffixIcon || $slots.suffixIcon">
-				<slot name="suffixIcon">
-					<uni-icons
-						v-if="suffixIcon"
-						class="content-clear-icon"
-						:type="suffixIcon"
-						color="#c0c4cc"
-						@click="onClickIcon('suffix')"
-						size="22"
-					></uni-icons>
-				</slot>
-			</template>
-			<template v-else>
-				<uni-icons
-					v-if="clearable && isVal && !disabled && type !== 'textarea'"
-					class="content-clear-icon"
-					:class="{ 'is-textarea-icon': type === 'textarea' }"
-					type="clear"
-					:size="clearSize"
-					:color="msg ? '#dd524d' : focusShow ? primaryColor : '#c0c4cc'"
-					@click="onClear"
-				></uni-icons>
-			</template>
-			<slot name="right"></slot>
-		</view>
-	</view>
-</template>
-
-<script>
-/**
- * Easyinput 杈撳叆妗�
- * @description 姝ょ粍浠跺彲浠ュ疄鐜拌〃鍗曠殑杈撳叆涓庢牎楠岋紝鍖呮嫭 "text" 鍜� "textarea" 绫诲瀷銆�
- * @tutorial https://ext.dcloud.net.cn/plugin?id=3455
- * @property {String}	value	杈撳叆鍐呭
- * @property {String }	type	杈撳叆妗嗙殑绫诲瀷锛堥粯璁ext锛� password/text/textarea/..
- * 	@value text			鏂囨湰杈撳叆閿洏
- * 	@value textarea	澶氳鏂囨湰杈撳叆閿洏
- * 	@value password	瀵嗙爜杈撳叆閿洏
- * 	@value number		鏁板瓧杈撳叆閿洏锛屾敞鎰廼OS涓奱pp-vue寮瑰嚭鐨勬暟瀛楅敭鐩樺苟闈�9瀹牸鏂瑰紡
- * 	@value idcard		韬唤璇佽緭鍏ラ敭鐩橈紝淇°�佹敮浠樺疂銆佺櫨搴︺�丵Q灏忕▼搴�
- * 	@value digit		甯﹀皬鏁扮偣鐨勬暟瀛楅敭鐩�	锛孉pp鐨刵vue椤甸潰銆佸井淇°�佹敮浠樺疂銆佺櫨搴︺�佸ご鏉°�丵Q灏忕▼搴忔敮鎸�
- * @property {Boolean}	clearable	鏄惁鏄剧ず鍙充晶娓呯┖鍐呭鐨勫浘鏍囨帶浠讹紝鐐瑰嚮鍙竻绌鸿緭鍏ユ鍐呭锛堥粯璁rue锛�
- * @property {Boolean}	autoHeight	鏄惁鑷姩澧為珮杈撳叆鍖哄煙锛宼ype涓簍extarea鏃舵湁鏁堬紙榛樿true锛�
- * @property {String }	placeholder	杈撳叆妗嗙殑鎻愮ず鏂囧瓧
- * @property {String }	placeholderStyle	placeholder鐨勬牱寮�(鍐呰仈鏍峰紡锛屽瓧绗︿覆)锛屽"color: #ddd"
- * @property {Boolean}	focus	鏄惁鑷姩鑾峰緱鐒︾偣锛堥粯璁alse锛�
- * @property {Boolean}	disabled	鏄惁绂佺敤锛堥粯璁alse锛�
- * @property {Number }	maxlength	鏈�澶ц緭鍏ラ暱搴︼紝璁剧疆涓� -1 鐨勬椂鍊欎笉闄愬埗鏈�澶ч暱搴︼紙榛樿140锛�
- * @property {String }	confirmType	璁剧疆閿洏鍙充笅瑙掓寜閽殑鏂囧瓧锛屼粎鍦╰ype="text"鏃剁敓鏁堬紙榛樿done锛�
- * @property {Number }	clearSize	娓呴櫎鍥炬爣鐨勫ぇ灏忥紝鍗曚綅px锛堥粯璁�15锛�
- * @property {String}	prefixIcon	杈撳叆妗嗗ご閮ㄥ浘鏍�
- * @property {String}	suffixIcon	杈撳叆妗嗗熬閮ㄥ浘鏍�
- * @property {String}	primaryColor	璁剧疆涓婚鑹诧紙榛樿#2979ff锛�
- * @property {Boolean}	trim	鏄惁鑷姩鍘婚櫎涓ょ鐨勭┖鏍�
- * @value both	鍘婚櫎涓ょ绌烘牸
- * @value left	鍘婚櫎宸︿晶绌烘牸
- * @value right	鍘婚櫎鍙充晶绌烘牸
- * @value start	鍘婚櫎宸︿晶绌烘牸
- * @value end		鍘婚櫎鍙充晶绌烘牸
- * @value all		鍘婚櫎鍏ㄩ儴绌烘牸
- * @value none	涓嶅幓闄ょ┖鏍�
- * @property {Boolean}	inputBorder	鏄惁鏄剧ずinput杈撳叆妗嗙殑杈规锛堥粯璁rue锛�
- * @property {Boolean}	passwordIcon	type=password鏃舵槸鍚︽樉绀哄皬鐪肩潧鍥炬爣
- * @property {Object}	styles	鑷畾涔夐鑹�
- * @event {Function}	input	杈撳叆妗嗗唴瀹瑰彂鐢熷彉鍖栨椂瑙﹀彂
- * @event {Function}	focus	杈撳叆妗嗚幏寰楃劍鐐规椂瑙﹀彂
- * @event {Function}	blur	杈撳叆妗嗗け鍘荤劍鐐规椂瑙﹀彂
- * @event {Function}	confirm	鐐瑰嚮瀹屾垚鎸夐挳鏃惰Е鍙�
- * @event {Function}	iconClick	鐐瑰嚮鍥炬爣鏃惰Е鍙�
- * @slot prefixIcon 杈撳叆妗嗗ご閮ㄦ彃妲�
- * @slot suffixIcon 杈撳叆妗嗗熬閮ㄦ彃妲�
- * @example <uni-easyinput v-model="mobile"></uni-easyinput>
- */
-function obj2strClass(obj) {
-	let classess = "";
-	for (let key in obj) {
-		const val = obj[key];
-		if (val) {
-			classess += `${key} `;
-		}
-	}
-	return classess;
-}
-
-function obj2strStyle(obj) {
-	let style = "";
-	for (let key in obj) {
-		const val = obj[key];
-		style += `${key}:${val};`;
-	}
-	return style;
-}
-export default {
-	name: "uni-easyinput",
-	emits: [
-		"click",
-		"iconClick",
-		"update:modelValue",
-		"input",
-		"focus",
-		"blur",
-		"confirm",
-		"clear",
-		"eyes",
-		"change",
-	],
-	model: {
-		prop: "modelValue",
-		event: "update:modelValue",
-	},
-	options: {
-		virtualHost: true,
-	},
-	inject: {
-		form: {
-			from: "uniForm",
-			default: null,
-		},
-		formItem: {
-			from: "uniFormItem",
-			default: null,
-		},
-	},
-	props: {
-		name: String,
-		value: [Number, String],
-		modelValue: [Number, String],
-		type: {
-			type: String,
-			default: "text",
-		},
-		clearable: {
-			type: Boolean,
-			default: true,
-		},
-		autoHeight: {
-			type: Boolean,
-			default: false,
-		},
-		placeholder: {
-			type: String,
-			default: " ",
-		},
-		placeholderStyle: String,
-		focus: {
-			type: Boolean,
-			default: false,
-		},
-		disabled: {
-			type: Boolean,
-			default: false,
-		},
-		maxlength: {
-			type: [Number, String],
-			default: 140,
-		},
-		confirmType: {
-			type: String,
-			default: "done",
-		},
-		clearSize: {
-			type: [Number, String],
-			default: 24,
-		},
-		inputBorder: {
-			type: Boolean,
-			default: true,
-		},
-		prefixIcon: {
-			type: String,
-			default: "",
-		},
-		suffixIcon: {
-			type: String,
-			default: "",
-		},
-		trim: {
-			type: [Boolean, String],
-			default: true,
-		},
-		passwordIcon: {
-			type: Boolean,
-			default: true,
-		},
-		primaryColor: {
-			type: String,
-			default: "#2979ff",
-		},
-		styles: {
-			type: Object,
-			default() {
-				return {
-					color: "#333",
-					disableColor: "#F7F6F6",
-					borderColor: "#e5e5e5",
-				};
-			},
-		},
-		errorMessage: {
-			type: [String, Boolean],
-			default: "",
-		},
-	},
-	data() {
-		return {
-			focused: false,
-			val: "",
-			showMsg: "",
-			border: false,
-			isFirstBorder: false,
-			showClearIcon: false,
-			showPassword: false,
-			focusShow: false,
-			localMsg: "",
-		};
-	},
-	computed: {
-		// 杈撳叆妗嗗唴鏄惁鏈夊��
-		isVal() {
-			const val = this.val;
-			// fixed by mehaotian 澶勭悊鍊间负0鐨勬儏鍐碉紝瀛楃涓�0涓嶅湪澶勭悊鑼冨洿
-			if (val || val === 0) {
-				return true;
-			}
-			return false;
-		},
-
-		msg() {
-			// console.log('computed', this.form, this.formItem);
-			// if (this.form) {
-			// 	return this.errorMessage || this.formItem.errMsg;
-			// }
-			// TODO 澶勭悊澶存潯 formItem 涓� errMsg 涓嶆洿鏂扮殑闂
-			return this.localMsg || this.errorMessage;
-		},
-		// 鍥犱负uniapp鐨刬nput缁勪欢鐨刴axlength缁勪欢蹇呴』瑕佹暟鍊硷紝杩欓噷杞负鏁板�硷紝鐢ㄦ埛鍙互浼犲叆瀛楃涓叉暟鍊�
-		inputMaxlength() {
-			return Number(this.maxlength);
-		},
-
-		// 澶勭悊澶栧眰鏍峰紡鐨剆tyle
-		boxStyle() {
-			return `color:${
-				this.inputBorder && this.msg ? "#e43d33" : this.styles.color
-			};`;
-		},
-		// input 鍐呭鐨勭被鍜屾牱寮忓鐞�
-		inputContentClass() {
-			return obj2strClass({
-				"is-input-border": this.inputBorder,
-				"is-input-error-border": this.inputBorder && this.msg,
-				"is-textarea": this.type === "textarea",
-				"is-disabled": this.disabled,
-			});
-		},
-		inputContentStyle() {
-			const focusColor = this.focusShow
-				? this.primaryColor
-				: this.styles.borderColor;
-			const borderColor = this.inputBorder && this.msg ? "#dd524d" : focusColor;
-			return obj2strStyle({
-				"border-color": borderColor || "#e5e5e5",
-				"background-color": this.disabled
-					? this.styles.disableColor
-					: this.styles.backgroundColor,
-			});
-		},
-		// input鍙充晶鏍峰紡
-		inputStyle() {
-			const paddingRight =
-				this.type === "password" || this.clearable || this.prefixIcon
-					? ""
-					: "10px";
-			return obj2strStyle({
-				"padding-right": paddingRight,
-				"padding-left": this.prefixIcon ? "" : "10px",
-			});
-		},
-	},
-	watch: {
-		value(newVal) {
-			this.val = newVal;
-		},
-		modelValue(newVal) {
-			this.val = newVal;
-		},
-		focus(newVal) {
-			this.$nextTick(() => {
-				this.focused = this.focus;
-				this.focusShow = this.focus;
-			});
-		},
-	},
-	created() {
-		this.init();
-		// TODO 澶勭悊澶存潯vue3 computed 涓嶇洃鍚� inject 鏇存敼鐨勯棶棰橈紙formItem.errMsg锛�
-		if (this.form && this.formItem) {
-			this.$watch("formItem.errMsg", (newVal) => {
-				this.localMsg = newVal;
-			});
-		}
-	},
-	mounted() {
-		this.$nextTick(() => {
-			this.focused = this.focus;
-			this.focusShow = this.focus;
-		});
-	},
-	methods: {
-		/**
-		 * 鍒濆鍖栧彉閲忓��
-		 */
-		init() {
-			if (this.value || this.value === 0) {
-				this.val = this.value;
-			} else if (this.modelValue || this.modelValue === 0) {
-				this.val = this.modelValue;
-			} else {
-				this.val = null;
-			}
-		},
-
-		/**
-		 * 鐐瑰嚮鍥炬爣鏃惰Е鍙�
-		 * @param {Object} type
-		 */
-		onClickIcon(type) {
-			this.$emit("iconClick", type);
-		},
-
-		/**
-		 * 鏄剧ず闅愯棌鍐呭锛屽瘑鐮佹鏃剁敓鏁�
-		 */
-		onEyes() {
-			this.showPassword = !this.showPassword;
-			this.$emit("eyes", this.showPassword);
-		},
-
-		/**
-		 * 杈撳叆鏃惰Е鍙�
-		 * @param {Object} event
-		 */
-		onInput(event) {
-			let value = event.detail.value;
-			// 鍒ゆ柇鏄惁鍘婚櫎绌烘牸
-			if (this.trim) {
-				if (typeof this.trim === "boolean" && this.trim) {
-					value = this.trimStr(value);
-				}
-				if (typeof this.trim === "string") {
-					value = this.trimStr(value, this.trim);
-				}
-			}
-			if (this.errMsg) this.errMsg = "";
-			this.val = value;
-			// TODO 鍏煎 vue2
-			this.$emit("input", value);
-			// TODO銆�鍏煎銆�vue3
-			this.$emit("update:modelValue", value);
-		},
-
-		/**
-		 * 澶栭儴璋冪敤鏂规硶
-		 * 鑾峰彇鐒︾偣鏃惰Е鍙�
-		 * @param {Object} event
-		 */
-		onFocus() {
-			this.$nextTick(() => {
-				this.focused = true;
-			});
-			this.$emit("focus", null);
-		},
-
-		_Focus(event) {
-			this.focusShow = true;
-			this.$emit("focus", event);
-		},
-
-		/**
-		 * 澶栭儴璋冪敤鏂规硶
-		 * 澶卞幓鐒︾偣鏃惰Е鍙�
-		 * @param {Object} event
-		 */
-		onBlur() {
-			this.focused = false;
-			this.$emit("focus", null);
-		},
-		_Blur(event) {
-			let value = event.detail.value;
-			this.focusShow = false;
-			this.$emit("blur", event);
-			// 鏍规嵁绫诲瀷杩斿洖鍊硷紝鍦╡vent涓幏鍙栫殑鍊肩悊璁轰笂璁查兘鏄痵tring
-			this.$emit("change", this.val);
-			// 澶卞幓鐒︾偣鏃跺弬涓庤〃鍗曟牎楠�
-			if (this.form && this.formItem) {
-				const { validateTrigger } = this.form;
-				if (validateTrigger === "blur") {
-					this.formItem.onFieldChange();
-				}
-			}
-		},
-
-		/**
-		 * 鎸変笅閿洏鐨勫彂閫侀敭
-		 * @param {Object} e
-		 */
-		onConfirm(e) {
-			this.$emit("confirm", this.val);
-			this.$emit("change", this.val);
-		},
-
-		/**
-		 * 娓呯悊鍐呭
-		 * @param {Object} event
-		 */
-		onClear(event) {
-			this.val = "";
-			// TODO 鍏煎 vue2
-			this.$emit("input", "");
-			// TODO 鍏煎 vue2
-			// TODO銆�鍏煎銆�vue3
-			this.$emit("update:modelValue", "");
-			// 鐐瑰嚮鍙夊彿瑙﹀彂
-			this.$emit("clear");
-		},
-
-		/**
-		 * 鍘婚櫎绌烘牸
-		 */
-		trimStr(str, pos = "both") {
-			if (pos === "both") {
-				return str.trim();
-			} else if (pos === "left") {
-				return str.trimLeft();
-			} else if (pos === "right") {
-				return str.trimRight();
-			} else if (pos === "start") {
-				return str.trimStart();
-			} else if (pos === "end") {
-				return str.trimEnd();
-			} else if (pos === "all") {
-				return str.replace(/\s+/g, "");
-			} else if (pos === "none") {
-				return str;
-			}
-			return str;
-		},
-	},
-};
-</script>
-
-<style lang="scss">
-$uni-error: #e43d33;
-$uni-border-1: #dcdfe6 !default;
-
-.uni-easyinput {
-	/* #ifndef APP-NVUE */
-	width: 100%;
-	/* #endif */
-	flex: 1;
-	position: relative;
-	text-align: left;
-	color: #333;
-	font-size: 14px;
-}
-
-.uni-easyinput__content {
-	flex: 1;
-	/* #ifndef APP-NVUE */
-	width: 100%;
-	display: flex;
-	box-sizing: border-box;
-	// min-height: 36px;
-	/* #endif */
-	flex-direction: row;
-	align-items: center;
-	// 澶勭悊border鍔ㄧ敾鍒氬紑濮嬫樉绀洪粦鑹茬殑闂
-	border-color: #fff;
-	transition-property: border-color;
-	transition-duration: 0.3s;
-}
-
-.uni-easyinput__content-input {
-	/* #ifndef APP-NVUE */
-	width: auto;
-	/* #endif */
-	position: relative;
-	overflow: hidden;
-	flex: 1;
-	line-height: 1;
-	font-size: 14px;
-	height: 35px;
-	// min-height: 36px;
-}
-
-.uni-easyinput__placeholder-class {
-	color: #999;
-	font-size: 12px;
-	// font-weight: 200;
-}
-
-.is-textarea {
-	align-items: flex-start;
-}
-
-.is-textarea-icon {
-	margin-top: 5px;
-}
-
-.uni-easyinput__content-textarea {
-	position: relative;
-	overflow: hidden;
-	flex: 1;
-	line-height: 1.5;
-	font-size: 14px;
-	margin: 6px;
-	margin-left: 0;
-	height: 80px;
-	min-height: 80px;
-	/* #ifndef APP-NVUE */
-	min-height: 80px;
-	width: auto;
-	/* #endif */
-}
-
-.input-padding {
-	padding-left: 10px;
-}
-
-.content-clear-icon {
-	padding: 0 5px;
-}
-
-.label-icon {
-	margin-right: 5px;
-	margin-top: -1px;
-}
-
-// 鏄剧ず杈规
-.is-input-border {
-	/* #ifndef APP-NVUE */
-	display: flex;
-	box-sizing: border-box;
-	/* #endif */
-	flex-direction: row;
-	align-items: center;
-	border: 1px solid $uni-border-1;
-	border-radius: 4px;
-	/* #ifdef MP-ALIPAY */
-	overflow: hidden;
-	/* #endif */
-}
-
-.uni-error-message {
-	position: absolute;
-	bottom: -17px;
-	left: 0;
-	line-height: 12px;
-	color: $uni-error;
-	font-size: 12px;
-	text-align: left;
-}
-
-.uni-error-msg--boeder {
-	position: relative;
-	bottom: 0;
-	line-height: 22px;
-}
-
-.is-input-error-border {
-	border-color: $uni-error;
-
-	.uni-easyinput__placeholder-class {
-		color: mix(#fff, $uni-error, 50%);
-	}
-}
-
-.uni-easyinput--border {
-	margin-bottom: 0;
-	padding: 10px 15px;
-	// padding-bottom: 0;
-	border-top: 1px #eee solid;
-}
-
-.uni-easyinput-error {
-	padding-bottom: 0;
-}
-
-.is-first-border {
-	/* #ifndef APP-NVUE */
-	border: none;
-	/* #endif */
-	/* #ifdef APP-NVUE */
-	border-width: 0;
-	/* #endif */
-}
-
-.is-disabled {
-	background-color: #f7f6f6;
-	color: #d5d5d5;
-
-	.uni-easyinput__placeholder-class {
-		color: #d5d5d5;
-		font-size: 12px;
-	}
-}
-</style>
diff --git a/src/uni_modules/uni-easyinput/package.json b/src/uni_modules/uni-easyinput/package.json
deleted file mode 100644
index 4ca4200..0000000
--- a/src/uni_modules/uni-easyinput/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "id": "uni-easyinput",
-  "displayName": "uni-easyinput 澧炲己杈撳叆妗�",
-  "version": "1.1.3",
-  "description": "Easyinput 缁勪欢鏄鍘熺敓input缁勪欢鐨勫寮�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "input",
-    "uni-easyinput",
-    "杈撳叆妗�"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-      "uni-icons"
-    ],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-easyinput/readme.md b/src/uni_modules/uni-easyinput/readme.md
deleted file mode 100644
index f1faf8f..0000000
--- a/src/uni_modules/uni-easyinput/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-### Easyinput 澧炲己杈撳叆妗�
-> **缁勪欢鍚嶏細uni-easyinput**
-> 浠g爜鍧楋細 `uEasyinput`
-
-
-easyinput 缁勪欢鏄鍘熺敓input缁勪欢鐨勫寮� 锛屾槸涓撻棬涓洪厤鍚堣〃鍗曠粍浠禰uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)鑰岃璁$殑锛宔asyinput 鍐呯疆浜嗚竟妗嗭紝鍥炬爣绛夛紝鍚屾椂鍖呭惈 input 鎵�鏈夊姛鑳�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-easyinput)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-fab/changelog.md b/src/uni_modules/uni-fab/changelog.md
deleted file mode 100644
index 0048ff9..0000000
--- a/src/uni_modules/uni-fab/changelog.md
+++ /dev/null
@@ -1,21 +0,0 @@
-## 1.2.4锛�2022-09-07锛�
-灏忕▼搴忕鐢变簬 style 浣跨敤浜嗗璞″鑷存姤閿欙紝[璇︽儏](https://ask.dcloud.net.cn/question/152790?item_id=211778&rf=false)
-## 1.2.3锛�2022-09-05锛�
-- 淇 nvue 鐜涓嬶紝鍏锋湁 tabBar 鏃讹紝fab 缁勪欢涓嬮儴浣嶇疆鏃犳硶姝e父鑾峰彇 --window-bottom 鐨刡ug锛岃瑙侊細[https://ask.dcloud.net.cn/question/110638?notification_id=826310](https://ask.dcloud.net.cn/question/110638?notification_id=826310)
-## 1.2.2锛�2021-12-29锛�
-- 鏇存柊 缁勪欢渚濊禆
-## 1.2.1锛�2021-11-19锛�
-- 淇 闃村奖棰滆壊涓嶆纭殑bug
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-fab](https://uniapp.dcloud.io/component/uniui/uni-fab)
-## 1.1.1锛�2021-11-09锛� 
-- 鏂板 鎻愪緵缁勪欢璁捐璧勬簮锛岀粍浠舵牱寮忚皟鏁�
-## 1.1.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.7锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.0.6锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 浼樺寲 鎸夐挳鑳屾櫙鑹茶皟鏁�
-- 浼樺寲 鍏煎pc绔�
diff --git a/src/uni_modules/uni-fab/components/uni-fab/uni-fab.vue b/src/uni_modules/uni-fab/components/uni-fab/uni-fab.vue
deleted file mode 100644
index 509bd78..0000000
--- a/src/uni_modules/uni-fab/components/uni-fab/uni-fab.vue
+++ /dev/null
@@ -1,490 +0,0 @@
-<template>
-	<view class="uni-cursor-point">
-		<view v-if="popMenu && (leftBottom||rightBottom||leftTop||rightTop) && content.length > 0" :class="{
-        'uni-fab--leftBottom': leftBottom,
-        'uni-fab--rightBottom': rightBottom,
-        'uni-fab--leftTop': leftTop,
-        'uni-fab--rightTop': rightTop
-      }" class="uni-fab"
-				:style="nvueBottom"
-			>
-			<view :class="{
-          'uni-fab__content--left': horizontal === 'left',
-          'uni-fab__content--right': horizontal === 'right',
-          'uni-fab__content--flexDirection': direction === 'vertical',
-          'uni-fab__content--flexDirectionStart': flexDirectionStart,
-          'uni-fab__content--flexDirectionEnd': flexDirectionEnd,
-		  'uni-fab__content--other-platform': !isAndroidNvue
-        }" :style="{ width: boxWidth, height: boxHeight, backgroundColor: styles.backgroundColor }"
-				class="uni-fab__content" elevation="5">
-				<view v-if="flexDirectionStart || horizontalLeft" class="uni-fab__item uni-fab__item--first" />
-				<view v-for="(item, index) in content" :key="index" :class="{ 'uni-fab__item--active': isShow }"
-					class="uni-fab__item" @click="_onItemClick(index, item)">
-					<image :src="item.active ? item.selectedIconPath : item.iconPath" class="uni-fab__item-image"
-						mode="aspectFit" />
-					<text class="uni-fab__item-text"
-						:style="{ color: item.active ? styles.selectedColor : styles.color }">{{ item.text }}</text>
-				</view>
-				<view v-if="flexDirectionEnd || horizontalRight" class="uni-fab__item uni-fab__item--first" />
-			</view>
-		</view>
-		<view :class="{
-		  'uni-fab__circle--leftBottom': leftBottom,
-		  'uni-fab__circle--rightBottom': rightBottom,
-		  'uni-fab__circle--leftTop': leftTop,
-		  'uni-fab__circle--rightTop': rightTop,
-		  'uni-fab__content--other-platform': !isAndroidNvue
-		}" class="uni-fab__circle uni-fab__plus" :style="{ 'background-color': styles.buttonColor, 'bottom': nvueBottom }" @click="_onClick">
-			<uni-icons class="fab-circle-icon" type="plusempty" :color="styles.iconColor" size="32"
-				:class="{'uni-fab__plus--active': isShow && content.length > 0}"></uni-icons>
-			<!-- <view class="fab-circle-v"  :class="{'uni-fab__plus--active': isShow && content.length > 0}"></view>
-			<view class="fab-circle-h" :class="{'uni-fab__plus--active': isShow  && content.length > 0}"></view> -->
-		</view>
-	</view>
-</template>
-
-<script>
-	let platform = 'other'
-	// #ifdef APP-NVUE
-	platform = uni.getSystemInfoSync().platform
-	// #endif
-
-	/**
-	 * Fab 鎮诞鎸夐挳
-	 * @description 鐐瑰嚮鍙睍寮�涓�涓浘褰㈡寜閽彍鍗�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=144
-	 * @property {Object} pattern 鍙�夋牱寮忛厤缃」
-	 * @property {Object} horizontal = [left | right] 姘村钩瀵归綈鏂瑰紡
-	 * 	@value left 宸﹀榻�
-	 * 	@value right 鍙冲榻�
-	 * @property {Object} vertical = [bottom | top] 鍨傜洿瀵归綈鏂瑰紡
-	 * 	@value bottom 涓嬪榻�
-	 * 	@value top 涓婂榻�
-	 * @property {Object} direction = [horizontal | vertical] 灞曞紑鑿滃崟鏄剧ず鏂瑰紡
-	 * 	@value horizontal 姘村钩鏄剧ず
-	 * 	@value vertical 鍨傜洿鏄剧ず
-	 * @property {Array} content 灞曞紑鑿滃崟鍐呭閰嶇疆椤�
-	 * @property {Boolean} popMenu 鏄惁浣跨敤寮瑰嚭鑿滃崟
-	 * @event {Function} trigger 灞曞紑鑿滃崟鐐瑰嚮浜嬩欢锛岃繑鍥炵偣鍑讳俊鎭�
-	 * @event {Function} fabClick 鎮诞鎸夐挳鐐瑰嚮浜嬩欢
-	 */
-	export default {
-		name: 'UniFab',
-		emits: ['fabClick', 'trigger'],
-		props: {
-			pattern: {
-				type: Object,
-				default () {
-					return {}
-				}
-			},
-			horizontal: {
-				type: String,
-				default: 'left'
-			},
-			vertical: {
-				type: String,
-				default: 'bottom'
-			},
-			direction: {
-				type: String,
-				default: 'horizontal'
-			},
-			content: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			show: {
-				type: Boolean,
-				default: false
-			},
-			popMenu: {
-				type: Boolean,
-				default: true
-			}
-		},
-		data() {
-			return {
-				fabShow: false,
-				isShow: false,
-				isAndroidNvue: platform === 'android',
-				styles: {
-					color: '#3c3e49',
-					selectedColor: '#007AFF',
-					backgroundColor: '#fff',
-					buttonColor: '#007AFF',
-					iconColor: '#fff'
-				}
-			}
-		},
-		computed: {
-			contentWidth(e) {
-				return (this.content.length + 1) * 55 + 15 + 'px'
-			},
-			contentWidthMin() {
-				return '55px'
-			},
-			// 鍔ㄦ�佽绠楀搴�
-			boxWidth() {
-				return this.getPosition(3, 'horizontal')
-			},
-			// 鍔ㄦ�佽绠楅珮搴�
-			boxHeight() {
-				return this.getPosition(3, 'vertical')
-			},
-			// 璁$畻宸︿笅浣嶇疆
-			leftBottom() {
-				return this.getPosition(0, 'left', 'bottom')
-			},
-			// 璁$畻鍙充笅浣嶇疆
-			rightBottom() {
-				return this.getPosition(0, 'right', 'bottom')
-			},
-			// 璁$畻宸︿笂浣嶇疆
-			leftTop() {
-				return this.getPosition(0, 'left', 'top')
-			},
-			rightTop() {
-				return this.getPosition(0, 'right', 'top')
-			},
-			flexDirectionStart() {
-				return this.getPosition(1, 'vertical', 'top')
-			},
-			flexDirectionEnd() {
-				return this.getPosition(1, 'vertical', 'bottom')
-			},
-			horizontalLeft() {
-				return this.getPosition(2, 'horizontal', 'left')
-			},
-			horizontalRight() {
-				return this.getPosition(2, 'horizontal', 'right')
-			},
-			// 璁$畻 nvue bottom
-			nvueBottom() {
-				const safeBottom = uni.getSystemInfoSync().windowBottom;
-				// #ifdef APP-NVUE
-				return 30 + safeBottom
-				// #endif
-				// #ifndef APP-NVUE
-				return 30
-				// #endif
-			}
-		},
-		watch: {
-			pattern: {
-				handler(val, oldVal) {
-					this.styles = Object.assign({}, this.styles, val)
-				},
-				deep: true
-			}
-		},
-		created() {
-			this.isShow = this.show
-			if (this.top === 0) {
-				this.fabShow = true
-			}
-			// 鍒濆鍖栨牱寮�
-			this.styles = Object.assign({}, this.styles, this.pattern)
-		},
-		methods: {
-			_onClick() {
-				this.$emit('fabClick')
-				if (!this.popMenu) {
-					return
-				}
-				this.isShow = !this.isShow
-			},
-			open() {
-				this.isShow = true
-			},
-			close() {
-				this.isShow = false
-			},
-			/**
-			 * 鎸夐挳鐐瑰嚮浜嬩欢
-			 */
-			_onItemClick(index, item) {
-				if (!this.isShow) {
-					return
-				}
-				this.$emit('trigger', {
-					index,
-					item
-				})
-			},
-			/**
-			 * 鑾峰彇 浣嶇疆淇℃伅
-			 */
-			getPosition(types, paramA, paramB) {
-				if (types === 0) {
-					return this.horizontal === paramA && this.vertical === paramB
-				} else if (types === 1) {
-					return this.direction === paramA && this.vertical === paramB
-				} else if (types === 2) {
-					return this.direction === paramA && this.horizontal === paramB
-				} else {
-					return this.isShow && this.direction === paramA ? this.contentWidth : this.contentWidthMin
-				}
-			}
-		}
-	}
-</script>
-
-<style lang="scss" >
-	$uni-shadow-base:0 1px 5px 2px rgba($color: #000000, $alpha: 0.3) !default;
-
-	.uni-fab {
-		position: fixed;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		justify-content: center;
-		align-items: center;
-		z-index: 10;
-		border-radius: 45px;
-		box-shadow: $uni-shadow-base;
-	}
-
-	.uni-cursor-point {
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-fab--active {
-		opacity: 1;
-	}
-
-	.uni-fab--leftBottom {
-		left: 15px;
-		bottom: 30px;
-		/* #ifdef H5 */
-		left: calc(15px + var(--window-left));
-		bottom: calc(30px + var(--window-bottom));
-		/* #endif */
-		// padding: 10px;
-	}
-
-	.uni-fab--leftTop {
-		left: 15px;
-		top: 30px;
-		/* #ifdef H5 */
-		left: calc(15px + var(--window-left));
-		top: calc(30px + var(--window-top));
-		/* #endif */
-		// padding: 10px;
-	}
-
-	.uni-fab--rightBottom {
-		right: 15px;
-		bottom: 30px;
-		/* #ifdef H5 */
-		right: calc(15px + var(--window-right));
-		bottom: calc(30px + var(--window-bottom));
-		/* #endif */
-		// padding: 10px;
-	}
-
-	.uni-fab--rightTop {
-		right: 15px;
-		top: 30px;
-		/* #ifdef H5 */
-		right: calc(15px + var(--window-right));
-		top: calc(30px + var(--window-top));
-		/* #endif */
-		// padding: 10px;
-	}
-
-	.uni-fab__circle {
-		position: fixed;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		justify-content: center;
-		align-items: center;
-		width: 55px;
-		height: 55px;
-		background-color: #3c3e49;
-		border-radius: 45px;
-		z-index: 11;
-		// box-shadow: $uni-shadow-base;
-	}
-
-	.uni-fab__circle--leftBottom {
-		left: 15px;
-		bottom: 30px;
-		/* #ifdef H5 */
-		left: calc(15px + var(--window-left));
-		bottom: calc(30px + var(--window-bottom));
-		/* #endif */
-	}
-
-	.uni-fab__circle--leftTop {
-		left: 15px;
-		top: 30px;
-		/* #ifdef H5 */
-		left: calc(15px + var(--window-left));
-		top: calc(30px + var(--window-top));
-		/* #endif */
-	}
-
-	.uni-fab__circle--rightBottom {
-		right: 15px;
-		bottom: 30px;
-		/* #ifdef H5 */
-		right: calc(15px + var(--window-right));
-		bottom: calc(30px + var(--window-bottom));
-		/* #endif */
-	}
-
-	.uni-fab__circle--rightTop {
-		right: 15px;
-		top: 30px;
-		/* #ifdef H5 */
-		right: calc(15px + var(--window-right));
-		top: calc(30px + var(--window-top));
-		/* #endif */
-	}
-
-	.uni-fab__circle--left {
-		left: 0;
-	}
-
-	.uni-fab__circle--right {
-		right: 0;
-	}
-
-	.uni-fab__circle--top {
-		top: 0;
-	}
-
-	.uni-fab__circle--bottom {
-		bottom: 0;
-	}
-
-	.uni-fab__plus {
-		font-weight: bold;
-	}
-
-	// .fab-circle-v {
-	// 	position: absolute;
-	// 	width: 2px;
-	// 	height: 24px;
-	// 	left: 0;
-	// 	top: 0;
-	// 	right: 0;
-	// 	bottom: 0;
-	// 	/* #ifndef APP-NVUE */
-	// 	margin: auto;
-	// 	/* #endif */
-	// 	background-color: white;
-	// 	transform: rotate(0deg);
-	// 	transition: transform 0.3s;
-	// }
-
-	// .fab-circle-h {
-	// 	position: absolute;
-	// 	width: 24px;
-	// 	height: 2px;
-	// 	left: 0;
-	// 	top: 0;
-	// 	right: 0;
-	// 	bottom: 0;
-	// 	/* #ifndef APP-NVUE */
-	// 	margin: auto;
-	// 	/* #endif */
-	// 	background-color: white;
-	// 	transform: rotate(0deg);
-	// 	transition: transform 0.3s;
-	// }
-
-	.fab-circle-icon {
-		transform: rotate(0deg);
-		transition: transform 0.3s;
-		font-weight: 200;
-	}
-
-	.uni-fab__plus--active {
-		transform: rotate(135deg);
-	}
-
-	.uni-fab__content {
-		/* #ifndef APP-NVUE */
-		box-sizing: border-box;
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		border-radius: 55px;
-		overflow: hidden;
-		transition-property: width, height;
-		transition-duration: 0.2s;
-		width: 55px;
-		border-color: #DDDDDD;
-		border-width: 1rpx;
-		border-style: solid;
-	}
-
-	.uni-fab__content--other-platform {
-		border-width: 0px;
-		box-shadow: $uni-shadow-base;
-	}
-
-	.uni-fab__content--left {
-		justify-content: flex-start;
-	}
-
-	.uni-fab__content--right {
-		justify-content: flex-end;
-	}
-
-	.uni-fab__content--flexDirection {
-		flex-direction: column;
-		justify-content: flex-end;
-	}
-
-	.uni-fab__content--flexDirectionStart {
-		flex-direction: column;
-		justify-content: flex-start;
-	}
-
-	.uni-fab__content--flexDirectionEnd {
-		flex-direction: column;
-		justify-content: flex-end;
-	}
-
-	.uni-fab__item {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		width: 55px;
-		height: 55px;
-		opacity: 0;
-		transition: opacity 0.2s;
-	}
-
-	.uni-fab__item--active {
-		opacity: 1;
-	}
-
-	.uni-fab__item-image {
-		width: 20px;
-		height: 20px;
-		margin-bottom: 4px;
-	}
-
-	.uni-fab__item-text {
-		color: #FFFFFF;
-		font-size: 12px;
-		line-height: 12px;
-		margin-top: 2px;
-	}
-
-	.uni-fab__item--first {
-		width: 55px;
-	}
-</style>
diff --git a/src/uni_modules/uni-fab/package.json b/src/uni_modules/uni-fab/package.json
deleted file mode 100644
index 6636170..0000000
--- a/src/uni_modules/uni-fab/package.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
-  "id": "uni-fab",
-  "displayName": "uni-fab 鎮诞鎸夐挳",
-  "version": "1.2.4",
-  "description": "鎮诞鎸夐挳 fab button 锛岀偣鍑诲彲灞曞紑涓�涓浘鏍囨寜閽彍鍗曘��",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "鎸夐挳",
-    "鎮诞鎸夐挳",
-    "fab"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss","uni-icons"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-fab/readme.md b/src/uni_modules/uni-fab/readme.md
deleted file mode 100644
index 9a444e8..0000000
--- a/src/uni_modules/uni-fab/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## Fab 鎮诞鎸夐挳
-> **缁勪欢鍚嶏細uni-fab**
-> 浠g爜鍧楋細 `uFab`
-
-
-鐐瑰嚮鍙睍寮�涓�涓浘褰㈡寜閽彍鍗�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-fab)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-fav/changelog.md b/src/uni_modules/uni-fav/changelog.md
deleted file mode 100644
index d8a08d4..0000000
--- a/src/uni_modules/uni-fav/changelog.md
+++ /dev/null
@@ -1,19 +0,0 @@
-## 1.2.1锛�2022-05-30锛�
-- 鏂板 stat 灞炴�� 锛屾槸鍚﹀紑鍚痷ni缁熻鍔熻兘
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-fav](https://uniapp.dcloud.io/component/uniui/uni-fav)
-## 1.1.1锛�2021-08-24锛�
-- 鏂板 鏀寔鍥介檯鍖�
-## 1.1.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.6锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.0.5锛�2021-04-21锛�
-- 浼樺寲 娣诲姞渚濊禆 uni-icons, 瀵煎叆鍚庤嚜鍔ㄤ笅杞戒緷璧�
-## 1.0.4锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-## 1.0.3锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-## 1.0.2锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-fav/components/uni-fav/i18n/en.json b/src/uni_modules/uni-fav/components/uni-fav/i18n/en.json
deleted file mode 100644
index 9a0759e..0000000
--- a/src/uni_modules/uni-fav/components/uni-fav/i18n/en.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-	"uni-fav.collect": "collect",
-	"uni-fav.collected": "collected"
-}
diff --git a/src/uni_modules/uni-fav/components/uni-fav/i18n/index.js b/src/uni_modules/uni-fav/components/uni-fav/i18n/index.js
deleted file mode 100644
index de7509c..0000000
--- a/src/uni_modules/uni-fav/components/uni-fav/i18n/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import en from './en.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
-	en,
-	'zh-Hans': zhHans,
-	'zh-Hant': zhHant
-}
diff --git a/src/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json b/src/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json
deleted file mode 100644
index 67c89bf..0000000
--- a/src/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-	"uni-fav.collect": "鏀惰棌",
-	"uni-fav.collected": "宸叉敹钘�"
-}
diff --git a/src/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json b/src/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json
deleted file mode 100644
index 67c89bf..0000000
--- a/src/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-	"uni-fav.collect": "鏀惰棌",
-	"uni-fav.collected": "宸叉敹钘�"
-}
diff --git a/src/uni_modules/uni-fav/components/uni-fav/uni-fav.vue b/src/uni_modules/uni-fav/components/uni-fav/uni-fav.vue
deleted file mode 100644
index d2c58df..0000000
--- a/src/uni_modules/uni-fav/components/uni-fav/uni-fav.vue
+++ /dev/null
@@ -1,161 +0,0 @@
-<template>
-	<view :class="[circle === true || circle === 'true' ? 'uni-fav--circle' : '']" :style="[{ backgroundColor: checked ? bgColorChecked : bgColor }]"
-	 @click="onClick" class="uni-fav">
-		<!-- #ifdef MP-ALIPAY -->
-		<view class="uni-fav-star" v-if="!checked && (star === true || star === 'true')">
-			<uni-icons :color="fgColor" :style="{color: checked ? fgColorChecked : fgColor}" size="14" type="star-filled" />
-		</view>
-		<!-- #endif -->
-		<!-- #ifndef MP-ALIPAY -->
-		<uni-icons :color="fgColor" :style="{color: checked ? fgColorChecked : fgColor}" class="uni-fav-star" size="14" type="star-filled"
-		 v-if="!checked && (star === true || star === 'true')" />
-		<!-- #endif -->
-		<text :style="{color: checked ? fgColorChecked : fgColor}" class="uni-fav-text">{{ checked ? contentFav : contentDefault }}</text>
-	</view>
-</template>
-
-<script>
-
-	/**
-	 * Fav 鏀惰棌鎸夐挳
-	 * @description 鐢ㄤ簬鏀惰棌鍔熻兘锛屽彲鐐瑰嚮鍒囨崲閫変腑銆佷笉閫変腑鐨勭姸鎬�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=864
-	 * @property {Boolean} star = [true|false] 鎸夐挳鏄惁甯︽槦鏄�
-	 * @property {String} bgColor 鏈敹钘忔椂鐨勮儗鏅壊
-	 * @property {String} bgColorChecked 宸叉敹钘忔椂鐨勮儗鏅壊
-	 * @property {String} fgColor 鏈敹钘忔椂鐨勬枃瀛楅鑹�
-	 * @property {String} fgColorChecked 宸叉敹钘忔椂鐨勬枃瀛楅鑹�
-	 * @property {Boolean} circle = [true|false] 鏄惁涓哄渾瑙�
-	 * @property {Boolean} checked = [true|false] 鏄惁涓哄凡鏀惰棌
-	 * @property {Object} contentText = [true|false] 鏀惰棌鎸夐挳鏂囧瓧
-	 * @property {Boolean} stat 鏄惁寮�鍚粺璁″姛鑳�
-	 * @event {Function} click 鐐瑰嚮 fav鎸夐挳瑙﹀彂浜嬩欢
-	 * @example <uni-fav :checked="true"/>
-	 */
-
-	import {
-		initVueI18n
-	} from '@dcloudio/uni-i18n'
-	import messages from './i18n/index.js'
-	const {	t	} = initVueI18n(messages)
-
-	export default {
-		name: "UniFav",
-		// TODO 鍏煎 vue3锛岄渶瑕佹敞鍐屼簨浠�
-		emits: ['click'],
-		props: {
-			star: {
-				type: [Boolean, String],
-				default: true
-			},
-			bgColor: {
-				type: String,
-				default: "#eeeeee"
-			},
-			fgColor: {
-				type: String,
-				default: "#666666"
-			},
-			bgColorChecked: {
-				type: String,
-				default: "#007aff"
-			},
-			fgColorChecked: {
-				type: String,
-				default: "#FFFFFF"
-			},
-			circle: {
-				type: [Boolean, String],
-				default: false
-			},
-			checked: {
-				type: Boolean,
-				default: false
-			},
-			contentText: {
-				type: Object,
-				default () {
-					return {
-						contentDefault: "",
-						contentFav: ""
-					};
-				}
-			},
-			stat:{
-				type: Boolean,
-				default: false
-			}
-		},
-		computed: {
-			contentDefault() {
-				return this.contentText.contentDefault || t("uni-fav.collect")
-			},
-			contentFav() {
-				return this.contentText.contentFav || t("uni-fav.collected")
-			},
-		},
-		watch: {
-			checked() {
-				if (uni.report && this.stat) {
-					if (this.checked) {
-						uni.report("鏀惰棌", "鏀惰棌");
-					} else {
-						uni.report("鍙栨秷鏀惰棌", "鍙栨秷鏀惰棌");
-					}
-				}
-			}
-		},
-		methods: {
-			onClick() {
-				this.$emit("click");
-			}
-		}
-	};
-</script>
-
-<style lang="scss" >
-	$fav-height: 25px;
-
-	.uni-fav {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-		width: 60px;
-		height: $fav-height;
-		line-height: $fav-height;
-		text-align: center;
-		border-radius: 3px;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-fav--circle {
-		border-radius: 30px;
-	}
-
-	.uni-fav-star {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		height: $fav-height;
-		line-height: 24px;
-		margin-right: 3px;
-		align-items: center;
-		justify-content: center;
-	}
-
-	.uni-fav-text {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		height: $fav-height;
-		line-height: $fav-height;
-		align-items: center;
-		justify-content: center;
-		font-size: 12px;
-	}
-</style>
diff --git a/src/uni_modules/uni-fav/package.json b/src/uni_modules/uni-fav/package.json
deleted file mode 100644
index cc14697..0000000
--- a/src/uni_modules/uni-fav/package.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
-  "id": "uni-fav",
-  "displayName": "uni-fav 鏀惰棌鎸夐挳",
-  "version": "1.2.1",
-  "description": " Fav 鏀惰棌缁勪欢锛屽彲鑷畾涔夐鑹层�佸ぇ灏忋��",
-  "keywords": [
-    "fav",
-    "uni-ui",
-    "uniui",
-    "鏀惰棌"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-			"uni-icons"
-		],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-fav/readme.md b/src/uni_modules/uni-fav/readme.md
deleted file mode 100644
index 4de125d..0000000
--- a/src/uni_modules/uni-fav/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-## Fav 鏀惰棌鎸夐挳
-> **缁勪欢鍚嶏細uni-fav**
-> 浠g爜鍧楋細 `uFav`
-
-鐢ㄤ簬鏀惰棌鍔熻兘锛屽彲鐐瑰嚮鍒囨崲閫変腑銆佷笉閫変腑鐨勭姸鎬併��
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-fav)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-file-picker/changelog.md b/src/uni_modules/uni-file-picker/changelog.md
deleted file mode 100644
index 5c81026..0000000
--- a/src/uni_modules/uni-file-picker/changelog.md
+++ /dev/null
@@ -1,63 +0,0 @@
-## 1.0.2锛�2022-07-04锛�
-- 淇 鍦╱ni-forms涓嬫牱寮忎笉鐢熸晥鐨刡ug
-## 1.0.1锛�2021-11-23锛�
-- 淇 鍙傛暟涓哄璞$殑鎯呭喌涓嬶紝url鍦ㄦ煇浜涙儏鍐垫樉绀洪敊璇殑bug
-## 1.0.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-file-picker](https://uniapp.dcloud.io/component/uniui/uni-file-picker)
-## 0.2.16锛�2021-11-08锛�
-- 淇 浼犲叆绌哄璞� 锛屾樉绀洪敊璇殑Bug
-## 0.2.15锛�2021-08-30锛�
-- 淇 return-type="object" 鏃朵笖瀛樺湪v-model鏃讹紝鏃犳硶鍒犻櫎鏂囦欢鐨凚ug
-## 0.2.14锛�2021-08-23锛�
-- 鏂板 鍙傛暟涓繑鍥� fileID 瀛楁
-## 0.2.13锛�2021-08-23锛�
-- 淇 鑵捐浜戜紶鍏ileID 涓嶈兘鍥炴樉鐨刡ug
-- 淇 閫夋嫨鍥剧墖鍚庯紝涓嶈兘鏀惧ぇ鐨勯棶棰�
-## 0.2.12锛�2021-08-17锛�
-- 淇 鐢变簬 0.2.11 鐗堟湰寮曡捣鐨勪笉鑳藉洖鏄惧浘鐗囩殑Bug
-## 0.2.11锛�2021-08-16锛�
-- 鏂板 clearFiles(index) 鏂规硶锛屽彲浠ユ墜鍔ㄥ垹闄ゆ寚瀹氭枃浠�
-- 淇 v-model 鍊艰涓� null 鎶ラ敊鐨凚ug
-## 0.2.10锛�2021-08-13锛�
-- 淇 return-type="object" 鏃讹紝鏃犳硶鍒犻櫎鏂囦欢鐨凚ug
-## 0.2.9锛�2021-08-03锛�
-- 淇 auto-upload 灞炴�уけ鏁堢殑Bug
-## 0.2.8锛�2021-07-31锛�
-- 淇 fileExtname灞炴�т笉鎸囧畾鍊兼姤閿欑殑Bug
-## 0.2.7锛�2021-07-31锛�
-- 淇 鍦ㄦ煇绉嶅満鏅笅鍥剧墖涓嶅洖鏄剧殑Bug
-## 0.2.6锛�2021-07-30锛�
-- 淇 return-type涓簅bject涓嬶紝杩斿洖鍊间笉姝g‘鐨凚ug
-## 0.2.5锛�2021-07-30锛�
-- 淇锛堥噸瑕侊級 H5 骞冲彴涓嬪鏋滃拰uni-forms缁勪欢涓�鍚屼娇鐢ㄥ鑷撮〉闈㈠崱姝荤殑闂
-## 0.2.3锛�2021-07-28锛�
-- 浼樺寲 璋冩暣绀轰緥浠g爜
-## 0.2.2锛�2021-07-27锛�
-- 淇 vue3 涓嬭祴鍊奸敊璇殑Bug
-- 浼樺寲 h5骞冲彴涓嬩笂浼犳枃浠跺鑷撮〉闈㈠崱姝荤殑闂
-## 0.2.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 0.1.1锛�2021-07-02锛�
-- 淇 sourceType 缂哄皯榛樿鍊煎鑷� ios 鏃犳硶閫夋嫨鏂囦欢
-## 0.1.0锛�2021-06-30锛�
-- 浼樺寲 瑙h�︿笌uniCloud鐨勫己缁戝畾鍏崇郴 锛屽涓嶇粦瀹氭湇鍔$┖闂达紝榛樿autoUpload涓篺alse涓斾笉鍙洿鏀�
-## 0.0.11锛�2021-06-30锛�
-- 淇 鐢� 0.0.10 鐗堟湰寮曞彂鐨� returnType 灞炴�уけ鏁堢殑闂
-## 0.0.10锛�2021-06-29锛�
-- 浼樺寲 鏂囦欢涓婁紶鍚庤繘搴︽潯娑堝け鏃舵満
-## 0.0.9锛�2021-06-29锛�
-- 淇 鍦╱ni-forms 涓紝鍒犻櫎鏂囦欢 锛岃幏鍙栫殑鍊间笉瀵圭殑Bug
-## 0.0.8锛�2021-06-15锛�
-- 淇 鍒犻櫎鏂囦欢鏃舵棤娉曡Е鍙� v-model 鐨凚ug
-## 0.0.7锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 0.0.6锛�2021-04-09锛�
-- 淇 閫夋嫨鐨勬枃浠堕潪 file-extname 瀛楁鎸囧畾鐨勬墿灞曞悕鎶ラ敊鐨凚ug
-## 0.0.5锛�2021-04-09锛�
-- 浼樺寲 鏇存柊缁勪欢绀轰緥
-## 0.0.4锛�2021-04-09锛�
-- 浼樺寲 file-extname 瀛楁鏀寔瀛楃涓插啓娉曪紝澶氫釜鎵╁睍鍚嶉渶瑕佺敤閫楀彿鍒嗛殧
-## 0.0.3锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 淇 寰俊灏忕▼搴忎笉鎸囧畾 fileExtname 灞炴�ч�夋嫨澶辫触鐨凚ug
diff --git a/src/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js b/src/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js
deleted file mode 100644
index 24a07f5..0000000
--- a/src/uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js
+++ /dev/null
@@ -1,224 +0,0 @@
-'use strict';
-
-const ERR_MSG_OK = 'chooseAndUploadFile:ok';
-const ERR_MSG_FAIL = 'chooseAndUploadFile:fail';
-
-function chooseImage(opts) {
-	const {
-		count,
-		sizeType = ['original', 'compressed'],
-		sourceType = ['album', 'camera'],
-		extension
-	} = opts
-	return new Promise((resolve, reject) => {
-		uni.chooseImage({
-			count,
-			sizeType,
-			sourceType,
-			extension,
-			success(res) {
-				resolve(normalizeChooseAndUploadFileRes(res, 'image'));
-			},
-			fail(res) {
-				reject({
-					errMsg: res.errMsg.replace('chooseImage:fail', ERR_MSG_FAIL),
-				});
-			},
-		});
-	});
-}
-
-function chooseVideo(opts) {
-	const {
-		camera,
-		compressed,
-		maxDuration,
-		sourceType = ['album', 'camera'],
-		extension
-	} = opts;
-	return new Promise((resolve, reject) => {
-		uni.chooseVideo({
-			camera,
-			compressed,
-			maxDuration,
-			sourceType,
-			extension,
-			success(res) {
-				const {
-					tempFilePath,
-					duration,
-					size,
-					height,
-					width
-				} = res;
-				resolve(normalizeChooseAndUploadFileRes({
-					errMsg: 'chooseVideo:ok',
-					tempFilePaths: [tempFilePath],
-					tempFiles: [
-					{
-						name: (res.tempFile && res.tempFile.name) || '',
-						path: tempFilePath,
-						size,
-						type: (res.tempFile && res.tempFile.type) || '',
-						width,
-						height,
-						duration,
-						fileType: 'video',
-						cloudPath: '',
-					}, ],
-				}, 'video'));
-			},
-			fail(res) {
-				reject({
-					errMsg: res.errMsg.replace('chooseVideo:fail', ERR_MSG_FAIL),
-				});
-			},
-		});
-	});
-}
-
-function chooseAll(opts) {
-	const {
-		count,
-		extension
-	} = opts;
-	return new Promise((resolve, reject) => {
-		let chooseFile = uni.chooseFile;
-		if (typeof wx !== 'undefined' &&
-			typeof wx.chooseMessageFile === 'function') {
-			chooseFile = wx.chooseMessageFile;
-		}
-		if (typeof chooseFile !== 'function') {
-			return reject({
-				errMsg: ERR_MSG_FAIL + ' 璇锋寚瀹� type 绫诲瀷锛岃骞冲彴浠呮敮鎸侀�夋嫨 image 鎴� video銆�',
-			});
-		}
-		chooseFile({
-			type: 'all',
-			count,
-			extension,
-			success(res) {
-				resolve(normalizeChooseAndUploadFileRes(res));
-			},
-			fail(res) {
-				reject({
-					errMsg: res.errMsg.replace('chooseFile:fail', ERR_MSG_FAIL),
-				});
-			},
-		});
-	});
-}
-
-function normalizeChooseAndUploadFileRes(res, fileType) {
-	res.tempFiles.forEach((item, index) => {
-		if (!item.name) {
-			item.name = item.path.substring(item.path.lastIndexOf('/') + 1);
-		}
-		if (fileType) {
-			item.fileType = fileType;
-		}
-		item.cloudPath =
-			Date.now() + '_' + index + item.name.substring(item.name.lastIndexOf('.'));
-	});
-	if (!res.tempFilePaths) {
-		res.tempFilePaths = res.tempFiles.map((file) => file.path);
-	}
-	return res;
-}
-
-function uploadCloudFiles(files, max = 5, onUploadProgress) {
-	files = JSON.parse(JSON.stringify(files))
-	const len = files.length
-	let count = 0
-	let self = this
-	return new Promise(resolve => {
-		while (count < max) {
-			next()
-		}
-
-		function next() {
-			let cur = count++
-			if (cur >= len) {
-				!files.find(item => !item.url && !item.errMsg) && resolve(files)
-				return
-			}
-			const fileItem = files[cur]
-			const index = self.files.findIndex(v => v.uuid === fileItem.uuid)
-			fileItem.url = ''
-			delete fileItem.errMsg
-
-			uniCloud
-				.uploadFile({
-					filePath: fileItem.path,
-					cloudPath: fileItem.cloudPath,
-					fileType: fileItem.fileType,
-					onUploadProgress: res => {
-						res.index = index
-						onUploadProgress && onUploadProgress(res)
-					}
-				})
-				.then(res => {
-					fileItem.url = res.fileID
-					fileItem.index = index
-					if (cur < len) {
-						next()
-					}
-				})
-				.catch(res => {
-					fileItem.errMsg = res.errMsg || res.message
-					fileItem.index = index
-					if (cur < len) {
-						next()
-					}
-				})
-		}
-	})
-}
-
-
-
-
-
-function uploadFiles(choosePromise, {
-	onChooseFile,
-	onUploadProgress
-}) {
-	return choosePromise
-		.then((res) => {
-			if (onChooseFile) {
-				const customChooseRes = onChooseFile(res);
-				if (typeof customChooseRes !== 'undefined') {
-					return Promise.resolve(customChooseRes).then((chooseRes) => typeof chooseRes === 'undefined' ?
-						res : chooseRes);
-				}
-			}
-			return res;
-		})
-		.then((res) => {
-			if (res === false) {
-				return {
-					errMsg: ERR_MSG_OK,
-					tempFilePaths: [],
-					tempFiles: [],
-				};
-			}
-			return res
-		})
-}
-
-function chooseAndUploadFile(opts = {
-	type: 'all'
-}) {
-	if (opts.type === 'image') {
-		return uploadFiles(chooseImage(opts), opts);
-	}
-	else if (opts.type === 'video') {
-		return uploadFiles(chooseVideo(opts), opts);
-	}
-	return uploadFiles(chooseAll(opts), opts);
-}
-
-export {
-	chooseAndUploadFile,
-	uploadCloudFiles
-};
diff --git a/src/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue b/src/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue
deleted file mode 100644
index 0928a41..0000000
--- a/src/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue
+++ /dev/null
@@ -1,656 +0,0 @@
-<template>
-	<view class="uni-file-picker">
-		<view v-if="title" class="uni-file-picker__header">
-			<text class="file-title">{{ title }}</text>
-			<text class="file-count">{{ filesList.length }}/{{ limitLength }}</text>
-		</view>
-		<upload-image v-if="fileMediatype === 'image' && showType === 'grid'" :readonly="readonly"
-			:image-styles="imageStyles" :files-list="filesList" :limit="limitLength" :disablePreview="disablePreview"
-			:delIcon="delIcon" @uploadFiles="uploadFiles" @choose="choose" @delFile="delFile">
-			<slot>
-				<view class="is-add">
-					<view class="icon-add"></view>
-					<view class="icon-add rotate"></view>
-				</view>
-			</slot>
-		</upload-image>
-		<upload-file v-if="fileMediatype !== 'image' || showType !== 'grid'" :readonly="readonly"
-			:list-styles="listStyles" :files-list="filesList" :showType="showType" :delIcon="delIcon"
-			@uploadFiles="uploadFiles" @choose="choose" @delFile="delFile">
-			<slot><button type="primary" size="mini">閫夋嫨鏂囦欢</button></slot>
-		</upload-file>
-	</view>
-</template>
-
-<script>
-	import {
-		chooseAndUploadFile,
-		uploadCloudFiles
-	} from './choose-and-upload-file.js'
-	import {
-		get_file_ext,
-		get_extname,
-		get_files_and_is_max,
-		get_file_info,
-		get_file_data
-	} from './utils.js'
-	import uploadImage from './upload-image.vue'
-	import uploadFile from './upload-file.vue'
-	let fileInput = null
-	/**
-	 * FilePicker 鏂囦欢閫夋嫨涓婁紶
-	 * @description 鏂囦欢閫夋嫨涓婁紶缁勪欢锛屽彲浠ラ�夋嫨鍥剧墖銆佽棰戠瓑浠绘剰鏂囦欢骞朵笂浼犲埌褰撳墠缁戝畾鐨勬湇鍔$┖闂�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=4079
-	 * @property {Object|Array}	value	缁勪欢鏁版嵁锛岄�氬父鐢ㄦ潵鍥炴樉 ,绫诲瀷鐢眗eturn-type灞炴�у喅瀹�
-	 * @property {Boolean}	disabled = [true|false]	缁勪欢绂佺敤
-	 * 	@value true 	绂佺敤
-	 * 	@value false 	鍙栨秷绂佺敤
-	 * @property {Boolean}	readonly = [true|false]	缁勪欢鍙锛屼笉鍙�夋嫨锛屼笉鏄剧ず杩涘害锛屼笉鏄剧ず鍒犻櫎鎸夐挳
-	 * 	@value true 	鍙
-	 * 	@value false 	鍙栨秷鍙
-	 * @property {String}	return-type = [array|object]	闄愬埗 value 鏍煎紡锛屽綋涓� object 鏃� 锛岀粍浠跺彧鑳藉崟閫夛紝涓斾細瑕嗙洊
-	 * 	@value array	瑙勫畾 value 灞炴�х殑绫诲瀷涓烘暟缁�
-	 * 	@value object	瑙勫畾 value 灞炴�х殑绫诲瀷涓哄璞�
-	 * @property {Boolean}	disable-preview = [true|false]	绂佺敤鍥剧墖棰勮锛屼粎 mode:grid 鏃剁敓鏁�
-	 * 	@value true 	绂佺敤鍥剧墖棰勮
-	 * 	@value false 	鍙栨秷绂佺敤鍥剧墖棰勮
-	 * @property {Boolean}	del-icon = [true|false]	鏄惁鏄剧ず鍒犻櫎鎸夐挳
-	 * 	@value true 	鏄剧ず鍒犻櫎鎸夐挳
-	 * 	@value false 	涓嶆樉绀哄垹闄ゆ寜閽�
-	 * @property {Boolean}	auto-upload = [true|false]	鏄惁鑷姩涓婁紶锛屽�间负true鍒欏彧瑙﹀彂@select,鍙嚜琛屼笂浼�
-	 * 	@value true 	鑷姩涓婁紶
-	 * 	@value false 	鍙栨秷鑷姩涓婁紶
-	 * @property {Number|String}	limit	鏈�澶ч�夋嫨涓暟 锛宧5 浼氳嚜鍔ㄥ拷鐣ュ閫夌殑閮ㄥ垎
-	 * @property {String}	title	缁勪欢鏍囬锛屽彸渚ф樉绀轰笂浼犺鏁�
-	 * @property {String}	mode = [list|grid]	閫夋嫨鏂囦欢鍚庣殑鏂囦欢鍒楄〃鏍峰紡
-	 * 	@value list 	鍒楄〃鏄剧ず
-	 * 	@value grid 	瀹牸鏄剧ず
-	 * @property {String}	file-mediatype = [image|video|all]	閫夋嫨鏂囦欢绫诲瀷
-	 * 	@value image	鍙�夋嫨鍥剧墖
-	 * 	@value video	鍙�夋嫨瑙嗛
-	 * 	@value all		閫夋嫨鎵�鏈夋枃浠�
-	 * @property {Array}	file-extname	閫夋嫨鏂囦欢鍚庣紑锛屾牴鎹� file-mediatype 灞炴�ц�屼笉鍚�
-	 * @property {Object}	list-style	mode:list 鏃剁殑鏍峰紡
-	 * @property {Object}	image-styles	閫夋嫨鏂囦欢鍚庣紑锛屾牴鎹� file-mediatype 灞炴�ц�屼笉鍚�
-	 * @event {Function} select 	閫夋嫨鏂囦欢鍚庤Е鍙�
-	 * @event {Function} progress 鏂囦欢涓婁紶鏃惰Е鍙�
-	 * @event {Function} success 	涓婁紶鎴愬姛瑙﹀彂
-	 * @event {Function} fail 		涓婁紶澶辫触瑙﹀彂
-	 * @event {Function} delete 	鏂囦欢浠庡垪琛ㄧЩ闄ゆ椂瑙﹀彂
-	 */
-	export default {
-		name: 'uniFilePicker',
-		components: {
-			uploadImage,
-			uploadFile
-		},
-		options: {
-			virtualHost: true
-		},
-		emits: ['select', 'success', 'fail', 'progress', 'delete', 'update:modelValue', 'input'],
-		props: {
-			// #ifdef VUE3
-			modelValue: {
-				type: [Array, Object],
-				default () {
-					return []
-				}
-			},
-			// #endif
-
-			// #ifndef VUE3
-			value: {
-				type: [Array, Object],
-				default () {
-					return []
-				}
-			},
-			// #endif
-
-			disabled: {
-				type: Boolean,
-				default: false
-			},
-			disablePreview: {
-				type: Boolean,
-				default: false
-			},
-			delIcon: {
-				type: Boolean,
-				default: true
-			},
-			// 鑷姩涓婁紶
-			autoUpload: {
-				type: Boolean,
-				default: true
-			},
-			// 鏈�澶ч�夋嫨涓暟 锛宧5鍙兘闄愬埗鍗曢�夋垨鏄閫�
-			limit: {
-				type: [Number, String],
-				default: 9
-			},
-			// 鍒楄〃鏍峰紡 grid | list | list-card
-			mode: {
-				type: String,
-				default: 'grid'
-			},
-			// 閫夋嫨鏂囦欢绫诲瀷  image/video/all
-			fileMediatype: {
-				type: String,
-				default: 'image'
-			},
-			// 鏂囦欢绫诲瀷绛涢��
-			fileExtname: {
-				type: [Array, String],
-				default () {
-					return []
-				}
-			},
-			title: {
-				type: String,
-				default: ''
-			},
-			listStyles: {
-				type: Object,
-				default () {
-					return {
-						// 鏄惁鏄剧ず杈规
-						border: true,
-						// 鏄惁鏄剧ず鍒嗛殧绾�
-						dividline: true,
-						// 绾挎潯鏍峰紡
-						borderStyle: {}
-					}
-				}
-			},
-			imageStyles: {
-				type: Object,
-				default () {
-					return {
-						width: 'auto',
-						height: 'auto'
-					}
-				}
-			},
-			readonly: {
-				type: Boolean,
-				default: false
-			},
-			returnType: {
-				type: String,
-				default: 'array'
-			},
-			sizeType: {
-				type: Array,
-				default () {
-					return ['original', 'compressed']
-				}
-			}
-		},
-		data() {
-			return {
-				files: [],
-				localValue: []
-			}
-		},
-		watch: {
-			// #ifndef VUE3
-			value: {
-				handler(newVal, oldVal) {
-					this.setValue(newVal, oldVal)
-				},
-				immediate: true
-			},
-			// #endif
-			// #ifdef VUE3
-			modelValue: {
-				handler(newVal, oldVal) {
-					this.setValue(newVal, oldVal)
-				},
-				immediate: true
-			},
-			// #endif
-		},
-		computed: {
-			filesList() {
-				let files = []
-				this.files.forEach(v => {
-					files.push(v)
-				})
-				return files
-			},
-			showType() {
-				if (this.fileMediatype === 'image') {
-					return this.mode
-				}
-				return 'list'
-			},
-			limitLength() {
-				if (this.returnType === 'object') {
-					return 1
-				}
-				if (!this.limit) {
-					return 1
-				}
-				if (this.limit >= 9) {
-					return 9
-				}
-				return this.limit
-			}
-		},
-		created() {
-			// TODO 鍏煎涓嶅紑閫氭湇鍔$┖闂寸殑鎯呭喌
-			if (!(uniCloud.config && uniCloud.config.provider)) {
-				this.noSpace = true
-				uniCloud.chooseAndUploadFile = chooseAndUploadFile
-			}
-			this.form = this.getForm('uniForms')
-			this.formItem = this.getForm('uniFormsItem')
-			if (this.form && this.formItem) {
-				if (this.formItem.name) {
-					this.rename = this.formItem.name
-					this.form.inputChildrens.push(this)
-				}
-			}
-		},
-		methods: {
-			/**
-			 * 鍏紑鐢ㄦ埛浣跨敤锛屾竻绌烘枃浠�
-			 * @param {Object} index
-			 */
-			clearFiles(index) {
-				if (index !== 0 && !index) {
-					this.files = []
-					this.$nextTick(() => {
-						this.setEmit()
-					})
-				} else {
-					this.files.splice(index, 1)
-				}
-				this.$nextTick(() => {
-					this.setEmit()
-				})
-			},
-			/**
-			 * 鍏紑鐢ㄦ埛浣跨敤锛岀户缁笂浼�
-			 */
-			upload() {
-				let files = []
-				this.files.forEach((v, index) => {
-					if (v.status === 'ready' || v.status === 'error') {
-						files.push(Object.assign({}, v))
-					}
-				})
-				return this.uploadFiles(files)
-			},
-			async setValue(newVal, oldVal) {
-				const newData =  async (v) => {
-					const reg = /cloud:\/\/([\w.]+\/?)\S*/
-					let url = ''
-					if(v.fileID){
-						url = v.fileID
-					}else{
-						url = v.url
-					}
-					if (reg.test(url)) {
-						v.fileID = url
-						v.url = await this.getTempFileURL(url)
-					}
-					if(v.url) v.path = v.url
-					return v
-				}
-				if (this.returnType === 'object') {
-					if (newVal) {
-						await newData(newVal)
-					} else {
-						newVal = {}
-					}
-				} else {
-					if (!newVal) newVal = []
-					for(let i =0 ;i < newVal.length ;i++){
-						let v = newVal[i]
-						await newData(v)
-					}
-				}
-				this.localValue = newVal
-				if (this.form && this.formItem &&!this.is_reset) {
-					this.is_reset = false
-					this.formItem.setValue(this.localValue)
-				}
-				let filesData = Object.keys(newVal).length > 0 ? newVal : [];
-				this.files = [].concat(filesData)
-			},
-
-			/**
-			 * 閫夋嫨鏂囦欢
-			 */
-			choose() {
-
-				if (this.disabled) return
-				if (this.files.length >= Number(this.limitLength) && this.showType !== 'grid' && this.returnType ===
-					'array') {
-					uni.showToast({
-						title: `鎮ㄦ渶澶氶�夋嫨 ${this.limitLength} 涓枃浠禶,
-						icon: 'none'
-					})
-					return
-				}
-				this.chooseFiles()
-			},
-
-			/**
-			 * 閫夋嫨鏂囦欢骞朵笂浼�
-			 */
-			chooseFiles() {
-				const _extname = get_extname(this.fileExtname)
-				// 鑾峰彇鍚庣紑
-				uniCloud
-					.chooseAndUploadFile({
-						type: this.fileMediatype,
-						compressed: false,
-						sizeType: this.sizeType,
-						// TODO 濡傛灉涓虹┖锛寁ideo 鏈夐棶棰�
-						extension: _extname.length > 0 ? _extname : undefined,
-						count: this.limitLength - this.files.length, //榛樿9
-						onChooseFile: this.chooseFileCallback,
-						onUploadProgress: progressEvent => {
-							this.setProgress(progressEvent, progressEvent.index)
-						}
-					})
-					.then(result => {
-						this.setSuccessAndError(result.tempFiles)
-					})
-					.catch(err => {
-						console.log('閫夋嫨澶辫触', err)
-					})
-			},
-
-			/**
-			 * 閫夋嫨鏂囦欢鍥炶皟
-			 * @param {Object} res
-			 */
-			async chooseFileCallback(res) {
-				const _extname = get_extname(this.fileExtname)
-				const is_one = (Number(this.limitLength) === 1 &&
-						this.disablePreview &&
-						!this.disabled) ||
-					this.returnType === 'object'
-				// 濡傛灉杩欐湁涓�涓枃浠� 锛岄渶瑕佹竻绌烘湰鍦扮紦瀛樻暟鎹�
-				if (is_one) {
-					this.files = []
-				}
-
-				let {
-					filePaths,
-					files
-				} = get_files_and_is_max(res, _extname)
-				if (!(_extname && _extname.length > 0)) {
-					filePaths = res.tempFilePaths
-					files = res.tempFiles
-				}
-
-				let currentData = []
-				for (let i = 0; i < files.length; i++) {
-					if (this.limitLength - this.files.length <= 0) break
-					files[i].uuid = Date.now()
-					let filedata = await get_file_data(files[i], this.fileMediatype)
-					filedata.progress = 0
-					filedata.status = 'ready'
-					this.files.push(filedata)
-					currentData.push({
-						...filedata,
-						file: files[i]
-					})
-				}
-				this.$emit('select', {
-					tempFiles: currentData,
-					tempFilePaths: filePaths
-				})
-				res.tempFiles = files
-				// 鍋滄鑷姩涓婁紶
-				if (!this.autoUpload || this.noSpace) {
-					res.tempFiles = []
-				}
-			},
-
-			/**
-			 * 鎵逛紶
-			 * @param {Object} e
-			 */
-			uploadFiles(files) {
-				files = [].concat(files)
-				return uploadCloudFiles.call(this, files, 5, res => {
-						this.setProgress(res, res.index, true)
-					})
-					.then(result => {
-						this.setSuccessAndError(result)
-						return result;
-					})
-					.catch(err => {
-						console.log(err)
-					})
-			},
-
-			/**
-			 * 鎴愬姛鎴栧け璐�
-			 */
-			async setSuccessAndError(res, fn) {
-				let successData = []
-				let errorData = []
-				let tempFilePath = []
-				let errorTempFilePath = []
-				for (let i = 0; i < res.length; i++) {
-					const item = res[i]
-					const index = item.uuid ? this.files.findIndex(p => p.uuid === item.uuid) : item.index
-
-					if (index === -1 || !this.files) break
-					if (item.errMsg === 'request:fail') {
-						this.files[index].url = item.path
-						this.files[index].status = 'error'
-						this.files[index].errMsg = item.errMsg
-						// this.files[index].progress = -1
-						errorData.push(this.files[index])
-						errorTempFilePath.push(this.files[index].url)
-					} else {
-						this.files[index].errMsg = ''
-						this.files[index].fileID = item.url
-						const reg = /cloud:\/\/([\w.]+\/?)\S*/
-						if (reg.test(item.url)) {
-							this.files[index].url = await this.getTempFileURL(item.url)
-						}else{
-							this.files[index].url = item.url
-						}
-
-						this.files[index].status = 'success'
-						this.files[index].progress += 1
-						successData.push(this.files[index])
-						tempFilePath.push(this.files[index].fileID)
-					}
-				}
-
-				if (successData.length > 0) {
-					this.setEmit()
-					// 鐘舵�佹敼鍙樿繑鍥�
-					this.$emit('success', {
-						tempFiles: this.backObject(successData),
-						tempFilePaths: tempFilePath
-					})
-				}
-
-				if (errorData.length > 0) {
-					this.$emit('fail', {
-						tempFiles: this.backObject(errorData),
-						tempFilePaths: errorTempFilePath
-					})
-				}
-			},
-
-			/**
-			 * 鑾峰彇杩涘害
-			 * @param {Object} progressEvent
-			 * @param {Object} index
-			 * @param {Object} type
-			 */
-			setProgress(progressEvent, index, type) {
-				const fileLenth = this.files.length
-				const percentNum = (index / fileLenth) * 100
-				const percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total)
-				let idx = index
-				if (!type) {
-					idx = this.files.findIndex(p => p.uuid === progressEvent.tempFile.uuid)
-				}
-				if (idx === -1 || !this.files[idx]) return
-				// fix by mehaotian 100 灏变細娑堝け锛�-1 鏄负浜嗚杩涘害鏉℃秷澶�
-				this.files[idx].progress = percentCompleted - 1
-				// 涓婁紶涓�
-				this.$emit('progress', {
-					index: idx,
-					progress: parseInt(percentCompleted),
-					tempFile: this.files[idx]
-				})
-			},
-
-			/**
-			 * 鍒犻櫎鏂囦欢
-			 * @param {Object} index
-			 */
-			delFile(index) {
-				this.$emit('delete', {
-					tempFile: this.files[index],
-					tempFilePath: this.files[index].url
-				})
-				this.files.splice(index, 1)
-				this.$nextTick(() => {
-					this.setEmit()
-				})
-			},
-
-			/**
-			 * 鑾峰彇鏂囦欢鍚嶅拰鍚庣紑
-			 * @param {Object} name
-			 */
-			getFileExt(name) {
-				const last_len = name.lastIndexOf('.')
-				const len = name.length
-				return {
-					name: name.substring(0, last_len),
-					ext: name.substring(last_len + 1, len)
-				}
-			},
-
-			/**
-			 * 澶勭悊杩斿洖浜嬩欢
-			 */
-			setEmit() {
-				let data = []
-				if (this.returnType === 'object') {
-					data = this.backObject(this.files)[0]
-					this.localValue = data?data:null
-				} else {
-					data = this.backObject(this.files)
-					if (!this.localValue) {
-						this.localValue = []
-					}
-					this.localValue = [...data]
-				}
-				// #ifdef VUE3
-				this.$emit('update:modelValue', this.localValue)
-				// #endif
-				// #ifndef VUE3
-				this.$emit('input', this.localValue)
-				// #endif
-			},
-
-			/**
-			 * 澶勭悊杩斿洖鍙傛暟
-			 * @param {Object} files
-			 */
-			backObject(files) {
-				let newFilesData = []
-				files.forEach(v => {
-					newFilesData.push({
-						extname: v.extname,
-						fileType: v.fileType,
-						image: v.image,
-						name: v.name,
-						path: v.path,
-						size: v.size,
-						fileID:v.fileID,
-						url: v.url
-					})
-				})
-				return newFilesData
-			},
-			async getTempFileURL(fileList) {
-				fileList = {
-					fileList: [].concat(fileList)
-				}
-				const urls = await uniCloud.getTempFileURL(fileList)
-				return urls.fileList[0].tempFileURL || ''
-			},
-			/**
-			 * 鑾峰彇鐖跺厓绱犲疄渚�
-			 */
-			getForm(name = 'uniForms') {
-				let parent = this.$parent;
-				let parentName = parent.$options.name;
-				while (parentName !== name) {
-					parent = parent.$parent;
-					if (!parent) return false;
-					parentName = parent.$options.name;
-				}
-				return parent;
-			}
-		}
-	}
-</script>
-
-<style>
-	.uni-file-picker {
-		/* #ifndef APP-NVUE */
-		box-sizing: border-box;
-		overflow: hidden;
-		width: 100%;
-		/* #endif */
-		flex: 1;
-	}
-
-	.uni-file-picker__header {
-		padding-top: 5px;
-		padding-bottom: 10px;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		justify-content: space-between;
-	}
-
-	.file-title {
-		font-size: 14px;
-		color: #333;
-	}
-
-	.file-count {
-		font-size: 14px;
-		color: #999;
-	}
-
-	.is-add {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		align-items: center;
-		justify-content: center;
-	}
-
-	.icon-add {
-		width: 50px;
-		height: 5px;
-		background-color: #f1f1f1;
-		border-radius: 2px;
-	}
-
-	.rotate {
-		position: absolute;
-		transform: rotate(90deg);
-	}
-</style>
diff --git a/src/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue b/src/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue
deleted file mode 100644
index 625d92e..0000000
--- a/src/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue
+++ /dev/null
@@ -1,325 +0,0 @@
-<template>
-	<view class="uni-file-picker__files">
-		<view v-if="!readonly" class="files-button" @click="choose">
-			<slot></slot>
-		</view>
-		<!-- :class="{'is-text-box':showType === 'list'}" -->
-		<view v-if="list.length > 0" class="uni-file-picker__lists is-text-box" :style="borderStyle">
-			<!-- ,'is-list-card':showType === 'list-card' -->
-
-			<view class="uni-file-picker__lists-box" v-for="(item ,index) in list" :key="index" :class="{
-				'files-border':index !== 0 && styles.dividline}"
-			 :style="index !== 0 && styles.dividline &&borderLineStyle">
-				<view class="uni-file-picker__item">
-					<!-- :class="{'is-text-image':showType === 'list'}" -->
-					<!-- 	<view class="files__image is-text-image">
-						<image class="header-image" :src="item.logo" mode="aspectFit"></image>
-					</view> -->
-					<view class="files__name">{{item.name}}</view>
-					<view v-if="delIcon&&!readonly" class="icon-del-box icon-files" @click="delFile(index)">
-						<view class="icon-del icon-files"></view>
-						<view class="icon-del rotate"></view>
-					</view>
-				</view>
-				<view v-if="(item.progress && item.progress !== 100) ||item.progress===0 " class="file-picker__progress">
-					<progress class="file-picker__progress-item" :percent="item.progress === -1?0:item.progress" stroke-width="4"
-					 :backgroundColor="item.errMsg?'#ff5a5f':'#EBEBEB'" />
-				</view>
-				<view v-if="item.status === 'error'" class="file-picker__mask" @click.stop="uploadFiles(item,index)">
-					鐐瑰嚮閲嶈瘯
-				</view>
-			</view>
-
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "uploadFile",
-		emits:['uploadFiles','choose','delFile'],
-		props: {
-			filesList: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			delIcon: {
-				type: Boolean,
-				default: true
-			},
-			limit: {
-				type: [Number, String],
-				default: 9
-			},
-			showType: {
-				type: String,
-				default: ''
-			},
-			listStyles: {
-				type: Object,
-				default () {
-					return {
-						// 鏄惁鏄剧ず杈规
-						border: true,
-						// 鏄惁鏄剧ず鍒嗛殧绾�
-						dividline: true,
-						// 绾挎潯鏍峰紡
-						borderStyle: {}
-					}
-				}
-			},
-			readonly:{
-				type:Boolean,
-				default:false
-			}
-		},
-		computed: {
-			list() {
-				let files = []
-				this.filesList.forEach(v => {
-					files.push(v)
-				})
-				return files
-			},
-			styles() {
-				let styles = {
-					border: true,
-					dividline: true,
-					'border-style': {}
-				}
-				return Object.assign(styles, this.listStyles)
-			},
-			borderStyle() {
-				let {
-					borderStyle,
-					border
-				} = this.styles
-				let obj = {}
-				if (!border) {
-					obj.border = 'none'
-				} else {
-					let width = (borderStyle && borderStyle.width) || 1
-					width = this.value2px(width)
-					let radius = (borderStyle && borderStyle.radius) || 5
-					radius = this.value2px(radius)
-					obj = {
-						'border-width': width,
-						'border-style': (borderStyle && borderStyle.style) || 'solid',
-						'border-color': (borderStyle && borderStyle.color) || '#eee',
-						'border-radius': radius
-					}
-				}
-				let classles = ''
-				for (let i in obj) {
-					classles += `${i}:${obj[i]};`
-				}
-				return classles
-			},
-			borderLineStyle() {
-				let obj = {}
-				let {
-					borderStyle
-				} = this.styles
-				if (borderStyle && borderStyle.color) {
-					obj['border-color'] = borderStyle.color
-				}
-				if (borderStyle && borderStyle.width) {
-					let width = borderStyle && borderStyle.width || 1
-					let style = borderStyle && borderStyle.style || 0
-					if (typeof width === 'number') {
-						width += 'px'
-					} else {
-						width = width.indexOf('px') ? width : width + 'px'
-					}
-					obj['border-width'] = width
-
-					if (typeof style === 'number') {
-						style += 'px'
-					} else {
-						style = style.indexOf('px') ? style : style + 'px'
-					}
-					obj['border-top-style'] = style
-				}
-				let classles = ''
-				for (let i in obj) {
-					classles += `${i}:${obj[i]};`
-				}
-				return classles
-			}
-		},
-
-		methods: {
-			uploadFiles(item, index) {
-				this.$emit("uploadFiles", {
-					item,
-					index
-				})
-			},
-			choose() {
-				this.$emit("choose")
-			},
-			delFile(index) {
-				this.$emit('delFile', index)
-			},
-			value2px(value) {
-				if (typeof value === 'number') {
-					value += 'px'
-				} else {
-					value = value.indexOf('px') !== -1 ? value : value + 'px'
-				}
-				return value
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.uni-file-picker__files {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: flex-start;
-	}
-
-	.files-button {
-		// border: 1px red solid;
-	}
-
-	.uni-file-picker__lists {
-		position: relative;
-		margin-top: 5px;
-		overflow: hidden;
-	}
-
-	.file-picker__mask {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		justify-content: center;
-		align-items: center;
-		position: absolute;
-		right: 0;
-		top: 0;
-		bottom: 0;
-		left: 0;
-		color: #fff;
-		font-size: 14px;
-		background-color: rgba(0, 0, 0, 0.4);
-	}
-
-	.uni-file-picker__lists-box {
-		position: relative;
-	}
-
-	.uni-file-picker__item {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		align-items: center;
-		padding: 8px 10px;
-		padding-right: 5px;
-		padding-left: 10px;
-	}
-
-	.files-border {
-		border-top: 1px #eee solid;
-	}
-
-	.files__name {
-		flex: 1;
-		font-size: 14px;
-		color: #666;
-		margin-right: 25px;
-		/* #ifndef APP-NVUE */
-		word-break: break-all;
-		word-wrap: break-word;
-		/* #endif */
-	}
-
-	.icon-files {
-		/* #ifndef APP-NVUE */
-		position: static;
-		background-color: initial;
-		/* #endif */
-	}
-
-	// .icon-files .icon-del {
-	// 	background-color: #333;
-	// 	width: 12px;
-	// 	height: 1px;
-	// }
-
-
-	.is-list-card {
-		border: 1px #eee solid;
-		margin-bottom: 5px;
-		border-radius: 5px;
-		box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.1);
-		padding: 5px;
-	}
-
-	.files__image {
-		width: 40px;
-		height: 40px;
-		margin-right: 10px;
-	}
-
-	.header-image {
-		width: 100%;
-		height: 100%;
-	}
-
-	.is-text-box {
-		border: 1px #eee solid;
-		border-radius: 5px;
-	}
-
-	.is-text-image {
-		width: 25px;
-		height: 25px;
-		margin-left: 5px;
-	}
-
-	.rotate {
-		position: absolute;
-		transform: rotate(90deg);
-	}
-
-	.icon-del-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		margin: auto 0;
-		/* #endif */
-		align-items: center;
-		justify-content: center;
-		position: absolute;
-		top: 0px;
-		bottom: 0;
-		right: 5px;
-		height: 26px;
-		width: 26px;
-		// border-radius: 50%;
-		// background-color: rgba(0, 0, 0, 0.5);
-		z-index: 2;
-		transform: rotate(-45deg);
-	}
-
-	.icon-del {
-		width: 15px;
-		height: 1px;
-		background-color: #333;
-		// border-radius: 1px;
-	}
-
-	/* #ifdef H5 */
-	@media all and (min-width: 768px) {
-		.uni-file-picker__files {
-			max-width: 375px;
-		}
-	}
-
-	/* #endif */
-</style>
diff --git a/src/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue b/src/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue
deleted file mode 100644
index 2a29bc2..0000000
--- a/src/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue
+++ /dev/null
@@ -1,292 +0,0 @@
-<template>
-	<view class="uni-file-picker__container">
-		<view class="file-picker__box" v-for="(item,index) in filesList" :key="index" :style="boxStyle">
-			<view class="file-picker__box-content" :style="borderStyle">
-				<image class="file-image" :src="item.url" mode="aspectFill" @click.stop="prviewImage(item,index)"></image>
-				<view v-if="delIcon && !readonly" class="icon-del-box" @click.stop="delFile(index)">
-					<view class="icon-del"></view>
-					<view class="icon-del rotate"></view>
-				</view>
-				<view v-if="(item.progress && item.progress !== 100) ||item.progress===0 " class="file-picker__progress">
-					<progress class="file-picker__progress-item" :percent="item.progress === -1?0:item.progress" stroke-width="4"
-					 :backgroundColor="item.errMsg?'#ff5a5f':'#EBEBEB'" />
-				</view>
-				<view v-if="item.errMsg" class="file-picker__mask" @click.stop="uploadFiles(item,index)">
-					鐐瑰嚮閲嶈瘯
-				</view>
-			</view>
-		</view>
-		<view v-if="filesList.length < limit && !readonly" class="file-picker__box" :style="boxStyle">
-			<view class="file-picker__box-content is-add" :style="borderStyle" @click="choose">
-				<slot>
-					<view class="icon-add"></view>
-					<view class="icon-add rotate"></view>
-				</slot>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: "uploadImage",
-		emits:['uploadFiles','choose','delFile'],
-		props: {
-			filesList: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			disabled:{
-				type: Boolean,
-				default: false
-			},
-			disablePreview: {
-				type: Boolean,
-				default: false
-			},
-			limit: {
-				type: [Number, String],
-				default: 9
-			},
-			imageStyles: {
-				type: Object,
-				default () {
-					return {
-						width: 'auto',
-						height: 'auto',
-						border: {}
-					}
-				}
-			},
-			delIcon: {
-				type: Boolean,
-				default: true
-			},
-			readonly:{
-				type:Boolean,
-				default:false
-			}
-		},
-		computed: {
-			styles() {
-				let styles = {
-					width: 'auto',
-					height: 'auto',
-					border: {}
-				}
-				return Object.assign(styles, this.imageStyles)
-			},
-			boxStyle() {
-				const {
-					width = 'auto',
-						height = 'auto'
-				} = this.styles
-				let obj = {}
-				if (height === 'auto') {
-					if (width !== 'auto') {
-						obj.height = this.value2px(width)
-						obj['padding-top'] = 0
-					} else {
-						obj.height = 0
-					}
-				} else {
-					obj.height = this.value2px(height)
-					obj['padding-top'] = 0
-				}
-
-				if (width === 'auto') {
-					if (height !== 'auto') {
-						obj.width = this.value2px(height)
-					} else {
-						obj.width = '33.3%'
-					}
-				} else {
-					obj.width = this.value2px(width)
-				}
-
-				let classles = ''
-				for(let i in obj){
-					classles+= `${i}:${obj[i]};`
-				}
-				return classles
-			},
-			borderStyle() {
-				let {
-					border
-				} = this.styles
-				let obj = {}
-				const widthDefaultValue = 1
-				const radiusDefaultValue = 3
-				if (typeof border === 'boolean') {
-					obj.border = border ? '1px #eee solid' : 'none'
-				} else {
-					let width = (border && border.width) || widthDefaultValue
-					width = this.value2px(width)
-					let radius = (border && border.radius) || radiusDefaultValue
-					radius = this.value2px(radius)
-					obj = {
-						'border-width': width,
-						'border-style': (border && border.style) || 'solid',
-						'border-color': (border && border.color) || '#eee',
-						'border-radius': radius
-					}
-				}
-				let classles = ''
-				for(let i in obj){
-					classles+= `${i}:${obj[i]};`
-				}
-				return classles
-			}
-		},
-		methods: {
-			uploadFiles(item, index) {
-				this.$emit("uploadFiles", item)
-			},
-			choose() {
-				this.$emit("choose")
-			},
-			delFile(index) {
-				this.$emit('delFile', index)
-			},
-			prviewImage(img, index) {
-				let urls = []
-				if(Number(this.limit) === 1&&this.disablePreview&&!this.disabled){
-					this.$emit("choose")
-				}
-				if(this.disablePreview) return
-				this.filesList.forEach(i => {
-					urls.push(i.url)
-				})
-
-				uni.previewImage({
-					urls: urls,
-					current: index
-				});
-			},
-			value2px(value) {
-				if (typeof value === 'number') {
-					value += 'px'
-				} else {
-					if (value.indexOf('%') === -1) {
-						value = value.indexOf('px') !== -1 ? value : value + 'px'
-					}
-				}
-				return value
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.uni-file-picker__container {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		box-sizing: border-box;
-		/* #endif */
-		flex-wrap: wrap;
-		margin: -5px;
-	}
-
-	.file-picker__box {
-		position: relative;
-		// flex: 0 0 33.3%;
-		width: 33.3%;
-		height: 0;
-		padding-top: 33.33%;
-		/* #ifndef APP-NVUE */
-		box-sizing: border-box;
-		/* #endif */
-	}
-
-	.file-picker__box-content {
-		position: absolute;
-		top: 0;
-		right: 0;
-		bottom: 0;
-		left: 0;
-		margin: 5px;
-		border: 1px #eee solid;
-		border-radius: 5px;
-		overflow: hidden;
-	}
-
-	.file-picker__progress {
-		position: absolute;
-		bottom: 0;
-		left: 0;
-		right: 0;
-		/* border: 1px red solid; */
-		z-index: 2;
-	}
-
-	.file-picker__progress-item {
-		width: 100%;
-	}
-
-	.file-picker__mask {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		justify-content: center;
-		align-items: center;
-		position: absolute;
-		right: 0;
-		top: 0;
-		bottom: 0;
-		left: 0;
-		color: #fff;
-		font-size: 12px;
-		background-color: rgba(0, 0, 0, 0.4);
-	}
-
-	.file-image {
-		width: 100%;
-		height: 100%;
-	}
-
-	.is-add {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		align-items: center;
-		justify-content: center;
-	}
-
-	.icon-add {
-		width: 50px;
-		height: 5px;
-		background-color: #f1f1f1;
-		border-radius: 2px;
-	}
-
-	.rotate {
-		position: absolute;
-		transform: rotate(90deg);
-	}
-
-	.icon-del-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		align-items: center;
-		justify-content: center;
-		position: absolute;
-		top: 3px;
-		right: 3px;
-		height: 26px;
-		width: 26px;
-		border-radius: 50%;
-		background-color: rgba(0, 0, 0, 0.5);
-		z-index: 2;
-		transform: rotate(-45deg);
-	}
-
-	.icon-del {
-		width: 15px;
-		height: 2px;
-		background-color: #fff;
-		border-radius: 2px;
-	}
-</style>
diff --git a/src/uni_modules/uni-file-picker/components/uni-file-picker/utils.js b/src/uni_modules/uni-file-picker/components/uni-file-picker/utils.js
deleted file mode 100644
index 60aaa3e..0000000
--- a/src/uni_modules/uni-file-picker/components/uni-file-picker/utils.js
+++ /dev/null
@@ -1,109 +0,0 @@
-/**
- * 鑾峰彇鏂囦欢鍚嶅拰鍚庣紑
- * @param {String} name
- */
-export const get_file_ext = (name) => {
-	const last_len = name.lastIndexOf('.')
-	const len = name.length
-	return {
-		name: name.substring(0, last_len),
-		ext: name.substring(last_len + 1, len)
-	}
-}
-
-/**
- * 鑾峰彇鎵╁睍鍚�
- * @param {Array} fileExtname
- */
-export const get_extname = (fileExtname) => {
-	if (!Array.isArray(fileExtname)) {
-		let extname = fileExtname.replace(/(\[|\])/g, '')
-		return extname.split(',')
-	} else {
-		return fileExtname
-	}
-	return []
-}
-
-/**
- * 鑾峰彇鏂囦欢鍜屾娴嬫槸鍚﹀彲閫�
- */
-export const get_files_and_is_max = (res, _extname) => {
-	let filePaths = []
-	let files = []
-	if(!_extname || _extname.length === 0){
-		return {
-			filePaths,
-			files
-		}
-	}
-	res.tempFiles.forEach(v => {
-		let fileFullName = get_file_ext(v.name)
-		const extname = fileFullName.ext.toLowerCase()
-		if (_extname.indexOf(extname) !== -1) {
-			files.push(v)
-			filePaths.push(v.path)
-		}
-	})
-	if (files.length !== res.tempFiles.length) {
-		uni.showToast({
-			title: `褰撳墠閫夋嫨浜�${res.tempFiles.length}涓枃浠� 锛�${res.tempFiles.length - files.length} 涓枃浠舵牸寮忎笉姝g‘`,
-			icon: 'none',
-			duration: 5000
-		})
-	}
-
-	return {
-		filePaths,
-		files
-	}
-}
-
-
-/**
- * 鑾峰彇鍥剧墖淇℃伅
- * @param {Object} filepath
- */
-export const get_file_info = (filepath) => {
-	return new Promise((resolve, reject) => {
-		uni.getImageInfo({
-			src: filepath,
-			success(res) {
-				resolve(res)
-			},
-			fail(err) {
-				reject(err)
-			}
-		})
-	})
-}
-/**
- * 鑾峰彇灏佽鏁版嵁
- */
-export const get_file_data = async (files, type = 'image') => {
-	// 鏈�缁堥渶瑕佷笂浼犳暟鎹簱鐨勬暟鎹�
-	let fileFullName = get_file_ext(files.name)
-	const extname = fileFullName.ext.toLowerCase()
-	let filedata = {
-		name: files.name,
-		uuid: files.uuid,
-		extname: extname || '',
-		cloudPath: files.cloudPath,
-		fileType: files.fileType,
-		url: files.path || files.path,
-		size: files.size, //鍗曚綅鏄瓧鑺�
-		image: {},
-		path: files.path,
-		video: {}
-	}
-	if (type === 'image') {
-		const imageinfo = await get_file_info(files.path)
-		delete filedata.video
-		filedata.image.width = imageinfo.width
-		filedata.image.height = imageinfo.height
-		filedata.image.location = imageinfo.path
-	} else {
-		delete filedata.image
-	}
-	return filedata
-}
diff --git a/src/uni_modules/uni-file-picker/package.json b/src/uni_modules/uni-file-picker/package.json
deleted file mode 100644
index 08bd66e..0000000
--- a/src/uni_modules/uni-file-picker/package.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
-  "id": "uni-file-picker",
-  "displayName": "uni-file-picker 鏂囦欢閫夋嫨涓婁紶",
-  "version": "1.0.2",
-  "description": "鏂囦欢閫夋嫨涓婁紶缁勪欢锛屽彲浠ラ�夋嫨鍥剧墖銆佽棰戠瓑浠绘剰鏂囦欢骞朵笂浼犲埌褰撳墠缁戝畾鐨勬湇鍔$┖闂�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "鍥剧墖涓婁紶",
-    "鏂囦欢涓婁紶"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "n"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-file-picker/readme.md b/src/uni_modules/uni-file-picker/readme.md
deleted file mode 100644
index c8399a5..0000000
--- a/src/uni_modules/uni-file-picker/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-## FilePicker 鏂囦欢閫夋嫨涓婁紶
-
-> **缁勪欢鍚嶏細uni-file-picker**
->  浠g爜鍧楋細 `uFilePicker`
-
-
-鏂囦欢閫夋嫨涓婁紶缁勪欢锛屽彲浠ラ�夋嫨鍥剧墖銆佽棰戠瓑浠绘剰鏂囦欢骞朵笂浼犲埌褰撳墠缁戝畾鐨勬湇鍔$┖闂�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-file-picker)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-forms/changelog.md b/src/uni_modules/uni-forms/changelog.md
deleted file mode 100644
index c358a21..0000000
--- a/src/uni_modules/uni-forms/changelog.md
+++ /dev/null
@@ -1,90 +0,0 @@
-## 1.4.8锛�2022-08-23锛�
-- 浼樺寲 鏍规嵁 rules 鑷姩娣诲姞 required 鐨勯棶棰�
-## 1.4.7锛�2022-08-22锛�
-- 淇 item 鏈缃� require 灞炴�э紝rules 璁剧疆 require 鍚庯紝鏄熷彿涔熸樉绀虹殑 bug锛岃瑙侊細[https://ask.dcloud.net.cn/question/151540](https://ask.dcloud.net.cn/question/151540)
-## 1.4.6锛�2022-07-13锛�
-- 淇 model 闇�瑕佹牎楠岀殑鍊兼病鏈夊0鏄庡搴斿瓧娈垫椂锛屽鑷寸涓�娆′笉瑙﹀彂鏍¢獙鐨刡ug
-## 1.4.5锛�2022-07-05锛�
-- 鏂板 鏇村琛ㄥ崟绀轰緥
-- 浼樺寲 瀛愯〃鍗曠粍浠惰繃鏈熸彁绀虹殑闂
-- 浼樺寲 瀛愯〃鍗曠粍浠秛ni-datetime-picker銆乽ni-data-select銆乽ni-data-picker鐨勬樉绀烘牱寮�
-## 1.4.4锛�2022-07-04锛�
-- 鏇存柊 鍒犻櫎缁勪欢鏃ュ織
-## 1.4.3锛�2022-07-04锛�
-- 淇 鐢� 1.4.0 寮曞彂鐨� label 鎻掓Ы涓嶇敓鏁堢殑bug
-## 1.4.2锛�2022-07-04锛�
-- 淇 瀛愮粍浠舵壘涓嶅埌 setValue 鎶ラ敊鐨刡ug
-## 1.4.1锛�2022-07-04锛�
-- 淇 uni-data-picker 鍦� uni-forms-item 涓姤閿欑殑bug
-- 淇 uni-data-picker 鍦� uni-forms-item 涓搴︿笉姝g‘鐨刡ug
-## 1.4.0锛�2022-06-30锛�
-- 銆愰噸瑕併�戠粍浠堕�昏緫閲嶆瀯锛岄儴鍒嗙敤娉曠敤鏃х増鏈笉鍏煎锛岃娉ㄦ剰鍏煎闂
-- 銆愰噸瑕併�戠粍浠朵娇鐢� Provide/Inject 鏂瑰紡娉ㄥ叆渚濊禆锛屾彁渚涗簡鑷畾涔夎〃鍗曠粍浠惰皟鐢� uni-forms 鏍¢獙琛ㄥ崟鐨勮兘鍔�
-- 鏂板 model 灞炴�э紝绛夊悓浜庡師 value/modelValue 灞炴�э紝鏃у睘鎬у嵆灏嗗簾寮�
-- 鏂板 validateTrigger 灞炴�х殑 blur 鍊硷紝浠� uni-easyinput 鐢熸晥
-- 鏂板 onFieldChange 鏂规硶锛屽彲浠ュ瀛愯〃鍗曡繘琛屾牎楠岋紝鍙浛浠inddata鏂规硶
-- 鏂板 瀛愯〃鍗曠殑 setRules 鏂规硶锛岄厤鍚堣嚜瀹氫箟鏍¢獙鍑芥暟浣跨敤
-- 鏂板 uni-forms-item 鐨� setRules 鏂规硶锛岄厤缃姩鎬佽〃鍗曚娇鐢ㄥ彲鍔ㄦ�佹洿鏂版牎楠岃鍒�
-- 浼樺寲 鍔ㄦ�佽〃鍗曟牎楠屾柟寮忥紝搴熷純鎷兼帴name鐨勬柟寮�
-## 1.3.3锛�2022-06-22锛�
-- 淇 琛ㄥ崟鏍¢獙椤哄簭鏃犲簭闂
-## 1.3.2锛�2021-12-09锛�
--
-## 1.3.1锛�2021-11-19锛�
-- 淇 label 鎻掓Ы涓嶇敓鏁堢殑bug
-## 1.3.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-forms](https://uniapp.dcloud.io/component/uniui/uni-forms)
-## 1.2.7锛�2021-08-13锛�
-- 淇 娌℃湁娣诲姞鏍¢獙瑙勫垯鐨勫瓧娈典緷鐒舵姤閿欑殑Bug
-## 1.2.6锛�2021-08-11锛�
-- 淇 閲嶇疆琛ㄥ崟閿欒淇℃伅鏃犳硶娓呴櫎鐨勯棶棰�
-## 1.2.5锛�2021-08-11锛�
-- 浼樺寲 缁勪欢鏂囨。
-## 1.2.4锛�2021-08-11锛�
-- 淇 琛ㄥ崟楠岃瘉鍙敓鏁堜竴娆$殑闂
-## 1.2.3锛�2021-07-30锛�
-- 浼樺寲 vue3涓嬩簨浠惰鍛婄殑闂
-## 1.2.2锛�2021-07-26锛�
-- 淇 vue2 涓嬫潯浠剁紪璇戝鑷磀estroyed鐢熷懡鍛ㄦ湡澶辨晥鐨凚ug
-- 淇 1.2.1 寮曡捣鐨勭ず渚嬪湪灏忕▼搴忓钩鍙版姤閿欑殑Bug
-## 1.2.1锛�2021-07-22锛�
-- 淇 鍔ㄦ�佹牎楠岃〃鍗曪紝榛樿鍊间负绌虹殑鎯呭喌涓嬫牎楠屽け鏁堢殑Bug
-- 淇 涓嶆寚瀹歯ame灞炴�ф椂锛岃繍琛屾姤閿欑殑Bug
-- 浼樺寲 label榛樿瀹藉害浠�65璋冩暣鑷�70锛屼娇required涓簍rue涓斿洓瀛楁椂涓嶆崲琛�
-- 浼樺寲 缁勪欢绀轰緥锛屾柊澧炲姩鎬佹牎楠岀ず渚嬩唬鐮�
-- 浼樺寲 缁勪欢鏂囨。锛屼娇鐢ㄦ柟寮忔洿娓呮櫚
-## 1.2.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.1.2锛�2021-06-25锛�
-- 淇 pattern 灞炴�у湪寰俊灏忕▼搴忓钩鍙版棤鏁堢殑闂
-## 1.1.1锛�2021-06-22锛�
-- 淇 validate-trigger灞炴�т负submit涓攅rr-show-type灞炴�т负toast鏃朵笉鑳藉脊鍑虹殑Bug
-## 1.1.0锛�2021-06-22锛�
-- 淇 鍙啓setRules鏂规硶鑰屽鑷存牎楠屼笉鐢熸晥鐨凚ug
-- 淇 鐢变笂涓姙娉曞紩鍙戠殑閿欒鎻愮ず鏂囧瓧閿欎綅鐨凚ug
-## 1.0.48锛�2021-06-21锛�
-- 淇 涓嶈缃� label 灞炴�� 锛屾棤娉曡缃甽abel鎻掓Ы鐨勯棶棰�
-## 1.0.47锛�2021-06-21锛�
-- 淇 涓嶈缃甽abel灞炴�э紝label-width灞炴�т笉鐢熸晥鐨刡ug
-- 淇 setRules 鏂规硶涓巖ules灞炴�у啿绐佺殑闂
-## 1.0.46锛�2021-06-04锛�
-- 淇 鍔ㄦ�佸垹鍑忔暟鎹鑷存姤閿欑殑闂
-## 1.0.45锛�2021-06-04锛�
-- 鏂板 modelValue 灞炴�� 锛寁alue 鍗冲皢搴熷純
-## 1.0.44锛�2021-06-02锛�
-- 鏂板 uni-forms-item 鍙互璁剧疆鍗曠嫭鐨� rules
-- 鏂板 validate 浜嬩欢澧炲姞 keepitem 鍙傛暟锛屽彲浠ラ�夋嫨閭d簺瀛楁涓嶈繃婊�
-- 浼樺寲 submit 浜嬩欢閲嶅懡鍚嶄负 validate
-## 1.0.43锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.0.42锛�2021-04-30锛�
-- 淇 鑷畾涔夋楠屽櫒澶辨晥鐨勯棶棰�
-## 1.0.41锛�2021-03-05锛�
-- 鏇存柊 鏍¢獙鍣�
-- 淇 琛ㄥ崟瑙勫垯璁剧疆绫诲瀷涓� number 鐨勬儏鍐典笅锛屽�间负0鏍¢獙澶辫触鐨凚ug
-## 1.0.40锛�2021-03-04锛�
-- 淇 鍔ㄦ�佹樉绀簎ni-forms-item鐨勬儏鍐典笅锛宻ubmit 鏂规硶鑾峰彇鍊奸敊璇殑Bug
-## 1.0.39锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 淇 鏍¢獙鍣ㄤ紶鍏� int 绛夌被鍨� 锛岃繑鍥濻tring绫诲瀷鐨凚ug
diff --git a/src/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue b/src/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue
deleted file mode 100644
index ce7c460..0000000
--- a/src/uni_modules/uni-forms/components/uni-forms-item/uni-forms-item.vue
+++ /dev/null
@@ -1,631 +0,0 @@
-<template>
-	<view class="uni-forms-item"
-		:class="['is-direction-' + localLabelPos ,border?'uni-forms-item--border':'' ,border && isFirstBorder?'is-first-border':'']">
-		<slot name="label">
-			<view class="uni-forms-item__label" :class="{'no-label':!label && !isRequired}"
-				:style="{width:localLabelWidth,justifyContent: localLabelAlign}">
-				<text v-if="isRequired" class="is-required">*</text>
-				<text>{{label}}</text>
-			</view>
-		</slot>
-		<!-- #ifndef APP-NVUE -->
-		<view class="uni-forms-item__content">
-			<slot></slot>
-			<view class="uni-forms-item__error" :class="{'msg--active':msg}">
-				<text>{{msg}}</text>
-			</view>
-		</view>
-		<!-- #endif -->
-		<!-- #ifdef APP-NVUE -->
-		<view class="uni-forms-item__nuve-content">
-			<view class="uni-forms-item__content">
-				<slot></slot>
-			</view>
-			<view class="uni-forms-item__error" :class="{'msg--active':msg}">
-				<text class="error-text">{{msg}}</text>
-			</view>
-		</view>
-		<!-- #endif -->
-	</view>
-</template>
-
-<script>
-	/**
-	 * uni-fomrs-item 琛ㄥ崟瀛愮粍浠�
-	 * @description uni-fomrs-item 琛ㄥ崟瀛愮粍浠讹紝鎻愪緵浜嗗熀纭�甯冨眬宸茬粡鏍¢獙鑳藉姏
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=2773
-	 * @property {Boolean} required 鏄惁蹇呭~锛屽乏杈规樉绀虹孩鑹�"*"鍙�
-	 * @property {String } 	label 				杈撳叆妗嗗乏杈圭殑鏂囧瓧鎻愮ず
-	 * @property {Number } 	labelWidth 			label鐨勫搴︼紝鍗曚綅px锛堥粯璁�65锛�
-	 * @property {String } 	labelAlign = [left|center|right] label鐨勬枃瀛楀榻愭柟寮忥紙榛樿left锛�
-	 * 	@value left		label 宸︿晶鏄剧ず
-	 * 	@value center	label 灞呬腑
-	 * 	@value right	label 鍙充晶瀵归綈
-	 * @property {String } 	errorMessage 		鏄剧ず鐨勯敊璇彁绀哄唴瀹癸紝濡傛灉涓虹┖瀛楃涓叉垨鑰協alse锛屽垯涓嶆樉绀洪敊璇俊鎭�
-	 * @property {String } 	name 				琛ㄥ崟鍩熺殑灞炴�у悕锛屽湪浣跨敤鏍¢獙瑙勫垯鏃跺繀濉�
-	 * @property {String } 	leftIcon 			銆�1.4.0搴熷純銆憀abel宸﹁竟鐨勫浘鏍囷紝闄� uni-ui 鐨勫浘鏍囧悕绉�
-	 * @property {String } 	iconColor 		銆�1.4.0搴熷純銆戝乏杈归�氳繃icon閰嶇疆鐨勫浘鏍囩殑棰滆壊锛堥粯璁�#606266锛�
-	 * @property {String} validateTrigger = [bind|submit|blur]	銆�1.4.0搴熷純銆戞牎楠岃Е鍙戝櫒鏂瑰紡 榛樿 submit
-	 * 	@value bind 	鍙戠敓鍙樺寲鏃惰Е鍙�
-	 * 	@value submit 鎻愪氦鏃惰Е鍙�
-	 * 	@value blur 	澶卞幓鐒︾偣瑙﹀彂
-	 * @property {String } 	labelPosition = [top|left] 銆�1.4.0搴熷純銆憀abel鐨勬枃瀛楃殑浣嶇疆锛堥粯璁eft锛�
-	 * 	@value top	椤堕儴鏄剧ず label
-	 * 	@value left	宸︿晶鏄剧ず label
-	 */
-
-	export default {
-		name: 'uniFormsItem',
-		options: {
-			virtualHost: true
-		},
-		provide() {
-			return {
-				uniFormItem: this
-			}
-		},
-		inject: {
-			form: {
-				from: 'uniForm',
-				default: null
-			},
-		},
-		props: {
-			// 琛ㄥ崟鏍¢獙瑙勫垯
-			rules: {
-				type: Array,
-				default () {
-					return null;
-				}
-			},
-			// 琛ㄥ崟鍩熺殑灞炴�у悕锛屽湪浣跨敤鏍¢獙瑙勫垯鏃跺繀濉�
-			name: {
-				type: [String, Array],
-				default: ''
-			},
-			required: {
-				type: Boolean,
-				default: false
-			},
-			label: {
-				type: String,
-				default: ''
-			},
-			// label鐨勫搴� 锛岄粯璁� 80
-			labelWidth: {
-				type: [String, Number],
-				default: ''
-			},
-			// label 灞呬腑鏂瑰紡锛岄粯璁� left 鍙栧�� left/center/right
-			labelAlign: {
-				type: String,
-				default: ''
-			},
-			// 寮哄埗鏄剧ず閿欒淇℃伅
-			errorMessage: {
-				type: [String, Boolean],
-				default: ''
-			},
-			// 1.4.0 寮冪敤锛岀粺涓�浣跨敤 form 鐨勬牎楠屾椂鏈�
-			// validateTrigger: {
-			// 	type: String,
-			// 	default: ''
-			// },
-			// 1.4.0 寮冪敤锛岀粺涓�浣跨敤 form 鐨刲abel 浣嶇疆
-			// labelPosition: {
-			// 	type: String,
-			// 	default: ''
-			// },
-			// 1.4.0 浠ヤ笅灞炴�у凡缁忓簾寮冿紝璇蜂娇鐢�  #label 鎻掓Ы浠f浛
-			leftIcon: String,
-			iconColor: {
-				type: String,
-				default: '#606266'
-			},
-		},
-		data() {
-			return {
-				errMsg: '',
-				isRequired: false,
-				userRules: null,
-				localLabelAlign: 'left',
-				localLabelWidth: '65px',
-				localLabelPos: 'left',
-				border: false,
-				isFirstBorder: false,
-			};
-		},
-		computed: {
-			// 澶勭悊閿欒淇℃伅
-			msg() {
-				return this.errorMessage || this.errMsg;
-			}
-		},
-		watch: {
-			// 瑙勫垯鍙戠敓鍙樺寲閫氱煡瀛愮粍浠舵洿鏂�
-			'form.formRules'(val) {
-				// TODO 澶勭悊澶存潯vue3 watch涓嶇敓鏁堢殑闂
-				// #ifndef MP-TOUTIAO
-				this.init()
-				// #endif
-			},
-			'form.labelWidth'(val) {
-				// 瀹藉害
-				this.localLabelWidth = this._labelWidthUnit(val)
-
-			},
-			'form.labelPosition'(val) {
-				// 鏍囩浣嶇疆
-				this.localLabelPos = this._labelPosition()
-			},
-			'form.labelAlign'(val) {
-
-			}
-		},
-		created() {
-			this.init(true)
-			if (this.name && this.form) {
-				// TODO 澶勭悊澶存潯vue3 watch涓嶇敓鏁堢殑闂
-				// #ifdef MP-TOUTIAO
-				this.$watch('form.formRules', () => {
-					this.init()
-				})
-				// #endif
-
-				// 鐩戝惉鍙樺寲
-				this.$watch(
-					() => {
-						const val = this.form._getDataValue(this.name, this.form.localData)
-						return val
-					},
-					(value, oldVal) => {
-						const isEqual = this.form._isEqual(value, oldVal)
-						// 绠�鍗曞垽鏂墠鍚庡�肩殑鍙樺寲锛屽彧鏈夊彂鐢熷彉鍖栨墠浼氬彂鐢熸牎楠�
-						// TODO  濡傛灉 oldVal = undefined 锛岄偅涔堝ぇ姒傜巼鏄簮鏁版嵁閲屾病鏈夊�煎鑷� 锛岃繖涓儏鍐典笉鍝︽牎楠� ,鍙兘涓嶄弗璋� 锛岄渶瑕佸湪鍋氳瀵�
-						// fix by mehaotian 鏆傛椂鍙栨秷 && oldVal !== undefined 锛屽鏋渇ormData 涓笉瀛樺湪锛屽彲鑳戒細涓嶆牎楠�
-						if (!isEqual) {
-							const val = this.itemSetValue(value)
-							this.onFieldChange(val, false)
-						}
-					}, {
-						immediate: false
-					}
-				);
-			}
-
-		},
-		// #ifndef VUE3
-		destroyed() {
-			if (this.__isUnmounted) return
-			this.unInit()
-		},
-		// #endif
-		// #ifdef VUE3
-		unmounted() {
-			this.__isUnmounted = true
-			this.unInit()
-		},
-		// #endif
-		methods: {
-			/**
-			 * 澶栭儴璋冪敤鏂规硶
-			 * 璁剧疆瑙勫垯 锛屼富瑕佺敤浜庡皬绋嬪簭鑷畾涔夋楠岃鍒�
-			 * @param {Array} rules 瑙勫垯婧愭暟鎹�
-			 */
-			setRules(rules = null) {
-				this.userRules = rules
-				this.init(false)
-			},
-			// 鍏煎鑰佺増鏈〃鍗曠粍浠�
-			setValue() {
-				// console.log('setValue 鏂规硶宸茬粡寮冪敤锛岃浣跨敤鏈�鏂扮増鏈殑 uni-forms 琛ㄥ崟缁勪欢浠ュ強鍏朵粬鍏宠仈缁勪欢銆�');
-			},
-			/**
-			 * 澶栭儴璋冪敤鏂规硶
-			 * 鏍¢獙鏁版嵁
-			 * @param {any} value 闇�瑕佹牎楠岀殑鏁版嵁
-			 * @param {boolean} 鏄惁绔嬪嵆鏍¢獙
-			 * @return {Array|null} 鏍¢獙鍐呭
-			 */
-			async onFieldChange(value, formtrigger = true) {
-				const {
-					formData,
-					localData,
-					errShowType,
-					validateCheck,
-					validateTrigger,
-					_isRequiredField,
-					_realName
-				} = this.form
-				const name = _realName(this.name)
-				if (!value) {
-					value = this.form.formData[name]
-				}
-				// fixd by mehaotian 涓嶅湪鏍¢獙鍓嶆竻绌轰俊鎭紝瑙e喅闂睆鐨勯棶棰�
-				// this.errMsg = '';
-
-				// fix by mehaotian 瑙e喅娌℃湁妫�楠岃鍒欑殑鎯呭喌涓嬶紝鎶涘嚭閿欒鐨勯棶棰�
-				const ruleLen = this.itemRules.rules && this.itemRules.rules.length
-				if (!this.validator || !ruleLen || ruleLen === 0) return;
-
-				// 妫�楠屾椂鏈�
-				// let trigger = this.isTrigger(this.itemRules.validateTrigger, this.validateTrigger, validateTrigger);
-				const isRequiredField = _isRequiredField(this.itemRules.rules || []);
-				let result = null;
-				// 鍙湁绛変簬 bind 鏃� 锛屾墠鑳藉紑鍚椂瀹炴牎楠�
-				if (validateTrigger === 'bind' || formtrigger) {
-					// 鏍¢獙褰撳墠琛ㄥ崟椤�
-					result = await this.validator.validateUpdate({
-							[name]: value
-						},
-						formData
-					);
-
-					// 鍒ゆ柇鏄惁蹇呭~,闈炲繀濉紝涓嶅~涓嶆牎楠岋紝濉啓鎵嶆牎楠� ,鏆傛椂鍙鐞� undefined  鍜岀┖鐨勬儏鍐�
-					if (!isRequiredField && (value === undefined || value === '')) {
-						result = null;
-					}
-
-					// 鍒ゆ柇閿欒淇℃伅鏄剧ず绫诲瀷
-					if (result && result.errorMessage) {
-						if (errShowType === 'undertext') {
-							// 鑾峰彇閿欒淇℃伅
-							this.errMsg = !result ? '' : result.errorMessage;
-						}
-						if (errShowType === 'toast') {
-							uni.showToast({
-								title: result.errorMessage || '鏍¢獙閿欒',
-								icon: 'none'
-							});
-						}
-						if (errShowType === 'modal') {
-							uni.showModal({
-								title: '鎻愮ず',
-								content: result.errorMessage || '鏍¢獙閿欒'
-							});
-						}
-					} else {
-						this.errMsg = ''
-					}
-					// 閫氱煡 form 缁勪欢鏇存柊浜嬩欢
-					validateCheck(result ? result : null)
-				} else {
-					this.errMsg = ''
-				}
-				return result ? result : null;
-			},
-			/**
-			 * 鍒濆缁勪欢鏁版嵁
-			 */
-			init(type = false) {
-				const {
-					validator,
-					formRules,
-					childrens,
-					formData,
-					localData,
-					_realName,
-					labelWidth,
-					_getDataValue,
-					_setDataValue
-				} = this.form || {}
-				// 瀵归綈鏂瑰紡
-				this.localLabelAlign = this._justifyContent()
-				// 瀹藉害
-				this.localLabelWidth = this._labelWidthUnit(labelWidth)
-				// 鏍囩浣嶇疆
-				this.localLabelPos = this._labelPosition()
-				this.isRequired = this.required
-				// 灏嗛渶瑕佹牎楠岀殑瀛愮粍浠跺姞鍏orm 闃熷垪
-				this.form && type && childrens.push(this)
-
-				if (!validator || !formRules) return
-				// 鍒ゆ柇绗竴涓� item
-				if (!this.form.isFirstBorder) {
-					this.form.isFirstBorder = true;
-					this.isFirstBorder = true;
-				}
-
-				// 鍒ゆ柇 group 閲岀殑绗竴涓� item
-				if (this.group) {
-					if (!this.group.isFirstBorder) {
-						this.group.isFirstBorder = true;
-						this.isFirstBorder = true;
-					}
-				}
-				this.border = this.form.border;
-				// 鑾峰彇瀛愬煙鐨勭湡瀹炲悕绉�
-				const name = _realName(this.name)
-				const itemRule = this.userRules || this.rules
-				if (typeof formRules === 'object' && itemRule) {
-					// 瀛愯鍒欐浛鎹㈢埗瑙勫垯
-					formRules[name] = {
-						rules: itemRule
-					}
-					validator.updateSchema(formRules);
-				}
-				// 娉ㄥ唽鏍¢獙瑙勫垯
-				const itemRules = formRules[name] || {}
-				this.itemRules = itemRules
-				// 娉ㄥ唽鏍¢獙鍑芥暟
-				this.validator = validator
-				// 榛樿鍊艰祴浜�
-				this.itemSetValue(_getDataValue(this.name, localData))
-				this.isRequired = this._isRequired()
-
-			},
-			unInit() {
-				if (this.form) {
-					const {
-						childrens,
-						formData,
-						_realName
-					} = this.form
-					childrens.forEach((item, index) => {
-						if (item === this) {
-							this.form.childrens.splice(index, 1)
-							delete formData[_realName(item.name)]
-						}
-					})
-				}
-			},
-			// 璁剧疆item 鐨勫��
-			itemSetValue(value) {
-				const name = this.form._realName(this.name)
-				const rules = this.itemRules.rules || []
-				const val = this.form._getValue(name, value, rules)
-				this.form._setDataValue(name, this.form.formData, val)
-				return val
-			},
-
-			/**
-			 * 绉婚櫎璇ヨ〃鍗曢」鐨勬牎楠岀粨鏋�
-			 */
-			clearValidate() {
-				this.errMsg = '';
-			},
-
-			// 鏄惁鏄剧ず鏄熷彿
-			_isRequired() {
-				// TODO 涓嶆牴鎹鍒欐樉绀� 鏄熷彿锛岃�冭檻鍚庣画鍏煎
-				// if (this.form) {
-				// 	if (this.form._isRequiredField(this.itemRules.rules || []) && this.required) {
-				// 		return true
-				// 	}
-				// 	return false
-				// }
-				return this.required
-			},
-
-			// 澶勭悊瀵归綈鏂瑰紡
-			_justifyContent() {
-				if (this.form) {
-					const {
-						labelAlign
-					} = this.form
-					let labelAli = this.labelAlign ? this.labelAlign : labelAlign;
-					if (labelAli === 'left') return 'flex-start';
-					if (labelAli === 'center') return 'center';
-					if (labelAli === 'right') return 'flex-end';
-				}
-				return 'flex-start';
-			},
-			// 澶勭悊 label瀹藉害鍗曚綅 ,缁ф壙鐖跺厓绱犵殑鍊�
-			_labelWidthUnit(labelWidth) {
-
-				// if (this.form) {
-				// 	const {
-				// 		labelWidth
-				// 	} = this.form
-				return this.num2px(this.labelWidth ? this.labelWidth : (labelWidth || (this.label ? 65 : 'auto')))
-				// }
-				// return '65px'
-			},
-			// 澶勭悊 label 浣嶇疆
-			_labelPosition() {
-				if (this.form) return this.form.labelPosition || 'left'
-				return 'left'
-
-			},
-
-			/**
-			 * 瑙﹀彂鏃舵満
-			 * @param {Object} rule 褰撳墠瑙勫垯鍐呮椂鏈�
-			 * @param {Object} itemRlue 褰撳墠缁勪欢鏃舵満
-			 * @param {Object} parentRule 鐖剁粍浠舵椂鏈�
-			 */
-			isTrigger(rule, itemRlue, parentRule) {
-				//  bind  submit
-				if (rule === 'submit' || !rule) {
-					if (rule === undefined) {
-						if (itemRlue !== 'bind') {
-							if (!itemRlue) {
-								return parentRule === '' ? 'bind' : 'submit';
-							}
-							return 'submit';
-						}
-						return 'bind';
-					}
-					return 'submit';
-				}
-				return 'bind';
-			},
-			num2px(num) {
-				if (typeof num === 'number') {
-					return `${num}px`
-				}
-				return num
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	.uni-forms-item {
-		position: relative;
-		display: flex;
-		/* #ifdef APP-NVUE */
-		// 鍦� nvue 涓紝浣跨敤 margin-bottom error 淇℃伅浼氳闅愯棌
-		padding-bottom: 22px;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		margin-bottom: 22px;
-		/* #endif */
-		flex-direction: row;
-
-		&__label {
-			display: flex;
-			flex-direction: row;
-			align-items: center;
-			text-align: left;
-			font-size: 14px;
-			color: #606266;
-			height: 36px;
-			padding: 0 12px 0 0;
-			/* #ifndef APP-NVUE */
-			vertical-align: middle;
-			flex-shrink: 0;
-			/* #endif */
-
-			/* #ifndef APP-NVUE */
-			box-sizing: border-box;
-
-			/* #endif */
-			&.no-label {
-				padding: 0;
-			}
-		}
-
-		&__content {
-			/* #ifndef MP-TOUTIAO */
-			// display: flex;
-			// align-items: center;
-			/* #endif */
-			position: relative;
-			font-size: 14px;
-			flex: 1;
-			/* #ifndef APP-NVUE */
-			box-sizing: border-box;
-			/* #endif */
-			flex-direction: row;
-
-			/* #ifndef APP || H5 || MP-WEIXIN || APP-NVUE */
-			// TODO 鍥犱负灏忕▼搴忓钩鍙颁細澶氫竴灞傛爣绛捐妭鐐� 锛屾墍浠ラ渶瑕佸湪澶氫綑鑺傜偣缁ф壙褰撳墠鏍峰紡
-			&>uni-easyinput,
-			&>uni-data-picker {
-				width: 100%;
-			}
-
-			/* #endif */
-
-		}
-
-		& .uni-forms-item__nuve-content {
-			display: flex;
-			flex-direction: column;
-			flex: 1;
-		}
-
-		&__error {
-			color: #f56c6c;
-			font-size: 12px;
-			line-height: 1;
-			padding-top: 4px;
-			position: absolute;
-			/* #ifndef APP-NVUE */
-			top: 100%;
-			left: 0;
-			transition: transform 0.3s;
-			transform: translateY(-100%);
-			/* #endif */
-			/* #ifdef APP-NVUE */
-			bottom: 5px;
-			/* #endif */
-
-			opacity: 0;
-
-			.error-text {
-				// 鍙湁 nvue 涓嬭繖涓牱寮忔墠鐢熸晥
-				color: #f56c6c;
-				font-size: 12px;
-			}
-
-			&.msg--active {
-				opacity: 1;
-				transform: translateY(0%);
-			}
-		}
-
-		// 浣嶇疆淇グ鏍峰紡
-		&.is-direction-left {
-			flex-direction: row;
-		}
-
-		&.is-direction-top {
-			flex-direction: column;
-
-			.uni-forms-item__label {
-				padding: 0 0 8px;
-				line-height: 1.5715;
-				text-align: left;
-				/* #ifndef APP-NVUE */
-				white-space: initial;
-				/* #endif */
-			}
-		}
-
-		.is-required {
-			// color: $uni-color-error;
-			color: #dd524d;
-			font-weight: bold;
-		}
-	}
-
-
-	.uni-forms-item--border {
-		margin-bottom: 0;
-		padding: 10px 0;
-		// padding-bottom: 0;
-		border-top: 1px #eee solid;
-
-		/* #ifndef APP-NVUE */
-		.uni-forms-item__content {
-			flex-direction: column;
-			justify-content: flex-start;
-			align-items: flex-start;
-
-			.uni-forms-item__error {
-				position: relative;
-				top: 5px;
-				left: 0;
-				padding-top: 0;
-			}
-		}
-
-		/* #endif */
-
-		/* #ifdef APP-NVUE */
-		display: flex;
-		flex-direction: column;
-
-		.uni-forms-item__error {
-			position: relative;
-			top: 0px;
-			left: 0;
-			padding-top: 0;
-			margin-top: 5px;
-		}
-
-		/* #endif */
-
-	}
-
-	.is-first-border {
-		/* #ifndef APP-NVUE */
-		border: none;
-		/* #endif */
-		/* #ifdef APP-NVUE */
-		border-width: 0;
-		/* #endif */
-	}
-</style>
diff --git a/src/uni_modules/uni-forms/components/uni-forms/uni-forms.vue b/src/uni_modules/uni-forms/components/uni-forms/uni-forms.vue
deleted file mode 100644
index ed2f6d9..0000000
--- a/src/uni_modules/uni-forms/components/uni-forms/uni-forms.vue
+++ /dev/null
@@ -1,397 +0,0 @@
-<template>
-	<view class="uni-forms">
-		<form>
-			<slot></slot>
-		</form>
-	</view>
-</template>
-
-<script>
-	import Validator from './validate.js';
-	import {
-		deepCopy,
-		getValue,
-		isRequiredField,
-		setDataValue,
-		getDataValue,
-		realName,
-		isRealName,
-		rawData,
-		isEqual
-	} from './utils.js'
-
-	// #ifndef VUE3
-	// 鍚庣画浼氭參鎱㈠簾寮冭繖涓柟娉�
-	import Vue from 'vue';
-	Vue.prototype.binddata = function(name, value, formName) {
-		if (formName) {
-			this.$refs[formName].setValue(name, value);
-		} else {
-			let formVm;
-			for (let i in this.$refs) {
-				const vm = this.$refs[i];
-				if (vm && vm.$options && vm.$options.name === 'uniForms') {
-					formVm = vm;
-					break;
-				}
-			}
-			if (!formVm) return console.error('褰撳墠 uni-froms 缁勪欢缂哄皯 ref 灞炴��');
-			formVm.setValue(name, value);
-		}
-	};
-	// #endif
-	/**
-	 * Forms 琛ㄥ崟
-	 * @description 鐢辫緭鍏ユ銆侀�夋嫨鍣ㄣ�佸崟閫夋銆佸閫夋绛夋帶浠剁粍鎴愶紝鐢ㄤ互鏀堕泦銆佹牎楠屻�佹彁浜ゆ暟鎹�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=2773
-	 * @property {Object} rules	琛ㄥ崟鏍¢獙瑙勫垯
-	 * @property {String} validateTrigger = [bind|submit|blur]	鏍¢獙瑙﹀彂鍣ㄦ柟寮� 榛樿 submit
-	 * @value bind		鍙戠敓鍙樺寲鏃惰Е鍙�
-	 * @value submit	鎻愪氦鏃惰Е鍙�
-	 * @value blur	  澶卞幓鐒︾偣鏃惰Е鍙�
-	 * @property {String} labelPosition = [top|left]	label 浣嶇疆 榛樿 left
-	 * @value top		椤堕儴鏄剧ず label
-	 * @value left	宸︿晶鏄剧ず label
-	 * @property {String} labelWidth	label 瀹藉害锛岄粯璁� 65px
-	 * @property {String} labelAlign = [left|center|right]	label 灞呬腑鏂瑰紡  榛樿 left
-	 * @value left		label 宸︿晶鏄剧ず
-	 * @value center	label 灞呬腑
-	 * @value right		label 鍙充晶瀵归綈
-	 * @property {String} errShowType = [undertext|toast|modal]	鏍¢獙閿欒淇℃伅鎻愮ず鏂瑰紡
-	 * @value undertext	閿欒淇℃伅鍦ㄥ簳閮ㄦ樉绀�
-	 * @value toast			閿欒淇℃伅toast鏄剧ず
-	 * @value modal			閿欒淇℃伅modal鏄剧ず
-	 * @event {Function} submit	鎻愪氦鏃惰Е鍙�
-	 * @event {Function} validate	鏍¢獙缁撴灉鍙戠敓鍙樺寲瑙﹀彂
-	 */
-	export default {
-		name: 'uniForms',
-		emits: ['validate', 'submit'],
-		options: {
-			virtualHost: true
-		},
-		props: {
-			// 鍗冲皢寮冪敤
-			value: {
-				type: Object,
-				default () {
-					return null;
-				}
-			},
-			// vue3 鏇挎崲 value 灞炴��
-			modelValue: {
-				type: Object,
-				default () {
-					return null;
-				}
-			},
-			// 1.4.0 寮�濮嬪皢涓嶆敮鎸� v-model 锛屼笖搴熷純 value 鍜� modelValue
-			model: {
-				type: Object,
-				default () {
-					return null;
-				}
-			},
-			// 琛ㄥ崟鏍¢獙瑙勫垯
-			rules: {
-				type: Object,
-				default () {
-					return {};
-				}
-			},
-			//鏍¢獙閿欒淇℃伅鎻愮ず鏂瑰紡 榛樿 undertext 鍙栧�� [undertext|toast|modal]
-			errShowType: {
-				type: String,
-				default: 'undertext'
-			},
-			// 鏍¢獙瑙﹀彂鍣ㄦ柟寮� 榛樿 bind 鍙栧�� [bind|submit]
-			validateTrigger: {
-				type: String,
-				default: 'submit'
-			},
-			// label 浣嶇疆锛岄粯璁� left 鍙栧��  top/left
-			labelPosition: {
-				type: String,
-				default: 'left'
-			},
-			// label 瀹藉害
-			labelWidth: {
-				type: [String, Number],
-				default: ''
-			},
-			// label 灞呬腑鏂瑰紡锛岄粯璁� left 鍙栧�� left/center/right
-			labelAlign: {
-				type: String,
-				default: 'left'
-			},
-			border: {
-				type: Boolean,
-				default: false
-			}
-		},
-		provide() {
-			return {
-				uniForm: this
-			}
-		},
-		data() {
-			return {
-				// 琛ㄥ崟鏈湴鍊肩殑璁板綍锛屼笉搴旇涓庝紶濡傜殑鍊艰繘琛屽叧鑱�
-				formData: {},
-				formRules: {}
-			};
-		},
-		computed: {
-			// 璁$畻鏁版嵁婧愬彉鍖栫殑
-			localData() {
-				const localVal = this.model || this.modelValue || this.value
-				if (localVal) {
-					return deepCopy(localVal)
-				}
-				return {}
-			}
-		},
-		watch: {
-			// 鐩戝惉鏁版嵁鍙樺寲 ,鏆傛椂涓嶄娇鐢紝闇�瑕佸崟鐙祴鍊�
-			// localData: {},
-			// 鐩戝惉瑙勫垯鍙樺寲
-			rules: {
-				handler: function(val, oldVal) {
-					this.setRules(val)
-				},
-				deep: true,
-				immediate: true
-			}
-		},
-		created() {
-			// #ifdef VUE3
-			let getbinddata = getApp().$vm.$.appContext.config.globalProperties.binddata
-			if (!getbinddata) {
-				getApp().$vm.$.appContext.config.globalProperties.binddata = function(name, value, formName) {
-					if (formName) {
-						this.$refs[formName].setValue(name, value);
-					} else {
-						let formVm;
-						for (let i in this.$refs) {
-							const vm = this.$refs[i];
-							if (vm && vm.$options && vm.$options.name === 'uniForms') {
-								formVm = vm;
-								break;
-							}
-						}
-						if (!formVm) return console.error('褰撳墠 uni-froms 缁勪欢缂哄皯 ref 灞炴��');
-						formVm.setValue(name, value);
-					}
-				}
-			}
-			// #endif
-
-			// 瀛愮粍浠跺疄渚嬫暟缁�
-			this.childrens = []
-			// TODO 鍏煎鏃х増 uni-data-picker ,鏂扮増鏈腑鏃犳晥锛屽彧鏄伩鍏嶆姤閿�
-			this.inputChildrens = []
-			this.setRules(this.rules)
-		},
-		methods: {
-			/**
-			 * 澶栭儴璋冪敤鏂规硶
-			 * 璁剧疆瑙勫垯 锛屼富瑕佺敤浜庡皬绋嬪簭鑷畾涔夋楠岃鍒�
-			 * @param {Array} rules 瑙勫垯婧愭暟鎹�
-			 */
-			setRules(rules) {
-				// TODO 鏈夊彲鑳藉瓙缁勪欢鍚堝苟瑙勫垯鐨勬椂鏈烘瘮杩欎釜瑕佹棭锛屾墍浠ラ渶瑕佸悎骞跺璞� 锛岃�屼笉鏄洿鎺ヨ祴鍊硷紝鍙兘浼氳瑕嗙洊
-				this.formRules = Object.assign({}, this.formRules, rules)
-				// 鍒濆鍖栨牎楠屽嚱鏁�
-				this.validator = new Validator(rules);
-			},
-
-			/**
-			 * 澶栭儴璋冪敤鏂规硶
-			 * 璁剧疆鏁版嵁锛岀敤浜庤缃〃鍗曟暟鎹紝鍏紑缁欑敤鎴蜂娇鐢� 锛� 涓嶆敮鎸佸湪鍔ㄦ�佽〃鍗曚腑浣跨敤
-			 * @param {Object} key
-			 * @param {Object} value
-			 */
-			setValue(key, value) {
-				let example = this.childrens.find(child => child.name === key);
-				if (!example) return null;
-				this.formData[key] = getValue(key, value, (this.formRules[key] && this.formRules[key].rules) || [])
-				return example.onFieldChange(this.formData[key]);
-			},
-
-			/**
-			 * 澶栭儴璋冪敤鏂规硶
-			 * 鎵嬪姩鎻愪氦鏍¢獙琛ㄥ崟
-			 * 瀵规暣涓〃鍗曡繘琛屾牎楠岀殑鏂规硶锛屽弬鏁颁负涓�涓洖璋冨嚱鏁般��
-			 * @param {Array} keepitem 淇濈暀涓嶅弬涓庢牎楠岀殑瀛楁
-			 * @param {type} callback 鏂规硶鍥炶皟
-			 */
-			validate(keepitem, callback) {
-				return this.checkAll(this.formData, keepitem, callback);
-			},
-
-			/**
-			 * 澶栭儴璋冪敤鏂规硶
-			 * 閮ㄥ垎琛ㄥ崟鏍¢獙
-			 * @param {Array|String} props 闇�瑕佹牎楠岀殑瀛楁
-			 * @param {Function} 鍥炶皟鍑芥暟
-			 */
-			validateField(props = [], callback) {
-				props = [].concat(props);
-				let invalidFields = {};
-				this.childrens.forEach(item => {
-					const name = realName(item.name)
-					if (props.indexOf(name) !== -1) {
-						invalidFields = Object.assign({}, invalidFields, {
-							[name]: this.formData[name]
-						});
-					}
-				});
-				return this.checkAll(invalidFields, [], callback);
-			},
-
-			/**
-			 * 澶栭儴璋冪敤鏂规硶
-			 * 绉婚櫎琛ㄥ崟椤圭殑鏍¢獙缁撴灉銆備紶鍏ュ緟绉婚櫎鐨勮〃鍗曢」鐨� prop 灞炴�ф垨鑰� prop 缁勬垚鐨勬暟缁勶紝濡備笉浼犲垯绉婚櫎鏁翠釜琛ㄥ崟鐨勬牎楠岀粨鏋�
-			 * @param {Array|String} props 闇�瑕佺Щ闄ゆ牎楠岀殑瀛楁 锛屼笉濉负鎵�鏈�
-			 */
-			clearValidate(props = []) {
-				props = [].concat(props);
-				this.childrens.forEach(item => {
-					if (props.length === 0) {
-						item.errMsg = '';
-					} else {
-						const name = realName(item.name)
-						if (props.indexOf(name) !== -1) {
-							item.errMsg = '';
-						}
-					}
-				});
-			},
-
-			/**
-			 * 澶栭儴璋冪敤鏂规硶 锛屽嵆灏嗗簾寮�
-			 * 鎵嬪姩鎻愪氦鏍¢獙琛ㄥ崟
-			 * 瀵规暣涓〃鍗曡繘琛屾牎楠岀殑鏂规硶锛屽弬鏁颁负涓�涓洖璋冨嚱鏁般��
-			 * @param {Array} keepitem 淇濈暀涓嶅弬涓庢牎楠岀殑瀛楁
-			 * @param {type} callback 鏂规硶鍥炶皟
-			 */
-			submit(keepitem, callback, type) {
-				for (let i in this.dataValue) {
-					const itemData = this.childrens.find(v => v.name === i);
-					if (itemData) {
-						if (this.formData[i] === undefined) {
-							this.formData[i] = this._getValue(i, this.dataValue[i]);
-						}
-					}
-				}
-
-				if (!type) {
-					console.warn('submit 鏂规硶鍗冲皢搴熷純锛岃浣跨敤validate鏂规硶浠f浛锛�');
-				}
-
-				return this.checkAll(this.formData, keepitem, callback, 'submit');
-			},
-
-			// 鏍¢獙鎵�鏈�
-			async checkAll(invalidFields, keepitem, callback, type) {
-				// 涓嶅瓨鍦ㄦ牎楠岃鍒� 锛屽垯鍋滄鏍¢獙娴佺▼
-				if (!this.validator) return
-				let childrens = []
-				// 澶勭悊鍙備笌鏍¢獙鐨刬tem瀹炰緥
-				for (let i in invalidFields) {
-					const item = this.childrens.find(v => realName(v.name) === i)
-					if (item) {
-						childrens.push(item)
-					}
-				}
-
-				// 濡傛灉validate绗竴涓弬鏁版槸funciont ,閭e氨璧板洖璋�
-				if (!callback && typeof keepitem === 'function') {
-					callback = keepitem;
-				}
-
-				let promise;
-				// 濡傛灉涓嶅瓨鍦ㄥ洖璋冿紝閭d箞浣跨敤 Promise 鏂瑰紡杩斿洖
-				if (!callback && typeof callback !== 'function' && Promise) {
-					promise = new Promise((resolve, reject) => {
-						callback = function(valid, invalidFields) {
-							!valid ? resolve(invalidFields) : reject(valid);
-						};
-					});
-				}
-
-				let results = [];
-				// 閬垮厤寮曠敤閿欎贡 锛屽缓璁嫹璐濆璞″鐞�
-				let tempFormData = JSON.parse(JSON.stringify(invalidFields))
-				// 鎵�鏈夊瓙缁勪欢鍙備笌鏍¢獙,浣跨敤 for 鍙互浣跨敤  awiat
-				for (let i in childrens) {
-					const child = childrens[i]
-					let name = realName(child.name);
-					const result = await child.onFieldChange(tempFormData[name]);
-					if (result) {
-						results.push(result);
-						// toast ,modal 鍙渶瑕佹墽琛岀涓�娆″氨鍙互
-						if (this.errShowType === 'toast' || this.errShowType === 'modal') break;
-					}
-				}
-
-
-				if (Array.isArray(results)) {
-					if (results.length === 0) results = null;
-				}
-				if (Array.isArray(keepitem)) {
-					keepitem.forEach(v => {
-						let vName = realName(v);
-						let value = getDataValue(v, this.localData)
-						if (value !== undefined) {
-							tempFormData[vName] = value
-						}
-					});
-				}
-
-				// TODO submit 鍗冲皢搴熷純
-				if (type === 'submit') {
-					this.$emit('submit', {
-						detail: {
-							value: tempFormData,
-							errors: results
-						}
-					});
-				} else {
-					this.$emit('validate', results);
-				}
-
-				// const resetFormData = rawData(tempFormData, this.localData, this.name)
-				let resetFormData = {}
-				resetFormData = rawData(tempFormData, this.name)
-				callback && typeof callback === 'function' && callback(results, resetFormData);
-
-				if (promise && callback) {
-					return promise;
-				} else {
-					return null;
-				}
-
-			},
-
-			/**
-			 * 杩斿洖validate浜嬩欢
-			 * @param {Object} result
-			 */
-			validateCheck(result) {
-				this.$emit('validate', result);
-			},
-			_getValue: getValue,
-			_isRequiredField: isRequiredField,
-			_setDataValue: setDataValue,
-			_getDataValue: getDataValue,
-			_realName: realName,
-			_isRealName: isRealName,
-			_isEqual: isEqual
-		}
-	};
-</script>
-
-<style lang="scss">
-	.uni-forms {}
-</style>
diff --git a/src/uni_modules/uni-forms/components/uni-forms/utils.js b/src/uni_modules/uni-forms/components/uni-forms/utils.js
deleted file mode 100644
index 6da2421..0000000
--- a/src/uni_modules/uni-forms/components/uni-forms/utils.js
+++ /dev/null
@@ -1,293 +0,0 @@
-/**
- * 绠�鍗曞鐞嗗璞℃嫹璐�
- * @param {Obejct} 琚嫹璐濆璞�
- * @@return {Object} 鎷疯礉瀵硅薄
- */
-export const deepCopy = (val) => {
-	return JSON.parse(JSON.stringify(val))
-}
-/**
- * 杩囨护鏁板瓧绫诲瀷
- * @param {String} format 鏁板瓧绫诲瀷
- * @@return {Boolean} 杩斿洖鏄惁涓烘暟瀛楃被鍨�
- */
-export const typeFilter = (format) => {
-	return format === 'int' || format === 'double' || format === 'number' || format === 'timestamp';
-}
-
-/**
- * 鎶� value 杞崲鎴愭寚瀹氱殑绫诲瀷锛岀敤浜庡鐞嗗垵濮嬪�硷紝鍘熷洜鏄垵濮嬪�奸渶瑕佸叆搴撲笉鑳戒负 undefined
- * @param {String} key 瀛楁鍚�
- * @param {any} value 瀛楁鍊�
- * @param {Object} rules 琛ㄥ崟鏍¢獙瑙勫垯
- */
-export const getValue = (key, value, rules) => {
-	const isRuleNumType = rules.find(val => val.format && typeFilter(val.format));
-	const isRuleBoolType = rules.find(val => (val.format && val.format === 'boolean') || val.format === 'bool');
-	// 杈撳叆绫诲瀷涓� number
-	if (!!isRuleNumType) {
-		if (!value && value !== 0) {
-			value = null
-		} else {
-			value = isNumber(Number(value)) ? Number(value) : value
-		}
-	}
-
-	// 杈撳叆绫诲瀷涓� boolean
-	if (!!isRuleBoolType) {
-		value = isBoolean(value) ? value : false
-	}
-
-	return value;
-}
-
-/**
- * 鑾峰彇琛ㄥ崟鏁版嵁
- * @param {String|Array} name 鐪熷疄鍚嶇О锛岄渶瑕佷娇鐢� realName 鑾峰彇
- * @param {Object} data 鍘熷鏁版嵁
- * @param {any} value  闇�瑕佽缃殑鍊�
- */
-export const setDataValue = (field, formdata, value) => {
-	formdata[field] = value
-	return value || ''
-}
-
-/**
- * 鑾峰彇琛ㄥ崟鏁版嵁
- * @param {String|Array} field 鐪熷疄鍚嶇О锛岄渶瑕佷娇鐢� realName 鑾峰彇
- * @param {Object} data 鍘熷鏁版嵁
- */
-export const getDataValue = (field, data) => {
-	return objGet(data, field)
-}
-
-/**
- * 鑾峰彇琛ㄥ崟绫诲瀷
- * @param {String|Array} field 鐪熷疄鍚嶇О锛岄渶瑕佷娇鐢� realName 鑾峰彇
- */
-export const getDataValueType = (field, data) => {
-	const value = getDataValue(field, data)
-	return {
-		type: type(value),
-		value
-	}
-}
-
-/**
- * 鑾峰彇琛ㄥ崟鍙敤鐨勭湡瀹瀗ame
- * @param {String|Array} name 琛ㄥ崟name
- * @@return {String} 琛ㄥ崟鍙敤鐨勭湡瀹瀗ame
- */
-export const realName = (name, data = {}) => {
-	const base_name = _basePath(name)
-	if (typeof base_name === 'object' && Array.isArray(base_name) && base_name.length > 1) {
-		const realname = base_name.reduce((a, b) => a += `#${b}`, '_formdata_')
-		return realname
-	}
-	return base_name[0] || name
-}
-
-/**
- * 鍒ゆ柇鏄惁琛ㄥ崟鍙敤鐨勭湡瀹瀗ame
- * @param {String|Array} name 琛ㄥ崟name
- * @@return {String} 琛ㄥ崟鍙敤鐨勭湡瀹瀗ame
- */
-export const isRealName = (name) => {
-	const reg = /^_formdata_#*/
-	return reg.test(name)
-}
-
-/**
- * 鑾峰彇琛ㄥ崟鏁版嵁鐨勫師濮嬫牸寮�
- * @@return {Object|Array} object 闇�瑕佽В鏋愮殑鏁版嵁
- */
-export const rawData = (object = {}, name) => {
-	let newData = JSON.parse(JSON.stringify(object))
-	let formData = {}
-	for(let i in newData){
-		let path = name2arr(i)
-		objSet(formData,path,newData[i])
-	}
-	return formData
-}
-
-/**
- * 鐪熷疄name杩樺師涓� array
- * @param {*} name 
- */
-export const name2arr = (name) => {
-	let field = name.replace('_formdata_#', '')
-	field = field.split('#').map(v => (isNumber(v) ? Number(v) : v))
-	return field
-}
-
-/**
- * 瀵硅薄涓缃��
- * @param {Object|Array} object 婧愭暟鎹�
- * @param {String| Array} path 'a.b.c' 鎴� ['a',0,'b','c']
- * @param {String} value 闇�瑕佽缃殑鍊�
- */
-export const objSet = (object, path, value) => {
-	if (typeof object !== 'object') return object;
-	_basePath(path).reduce((o, k, i, _) => {
-		if (i === _.length - 1) { 
-			// 鑻ラ亶鍘嗙粨鏉熺洿鎺ヨ祴鍊�
-			o[k] = value
-			return null
-		} else if (k in o) { 
-			// 鑻ュ瓨鍦ㄥ搴旇矾寰勶紝鍒欒繑鍥炴壘鍒扮殑瀵硅薄锛岃繘琛屼笅涓�娆¢亶鍘�
-			return o[k]
-		} else { 
-			// 鑻ヤ笉瀛樺湪瀵瑰簲璺緞锛屽垯鍒涘缓瀵瑰簲瀵硅薄锛岃嫢涓嬩竴璺緞鏄暟瀛楋紝鏂板璞¤祴鍊间负绌烘暟缁勶紝鍚﹀垯璧嬪�间负绌哄璞�
-			o[k] = /^[0-9]{1,}$/.test(_[i + 1]) ? [] : {}
-			return o[k]
-		}
-	}, object)
-	// 杩斿洖object
-	return object;
-}
-
-// 澶勭悊 path锛� path鏈変笁绉嶅舰寮忥細'a[0].b.c'銆�'a.0.b.c' 鍜� ['a','0','b','c']锛岄渶瑕佺粺涓�澶勭悊鎴愭暟缁勶紝渚夸簬鍚庣画浣跨敤
-function _basePath(path) {
-	// 鑻ユ槸鏁扮粍锛屽垯鐩存帴杩斿洖
-	if (Array.isArray(path)) return path
-	// 鑻ユ湁 '[',']'锛屽垯鏇挎崲鎴愬皢 '[' 鏇挎崲鎴� '.',鍘绘帀 ']'
-	return path.replace(/\[/g, '.').replace(/\]/g, '').split('.')
-}
-
-/**
- * 浠庡璞′腑鑾峰彇鍊�
- * @param {Object|Array} object 婧愭暟鎹�
- * @param {String| Array} path 'a.b.c' 鎴� ['a',0,'b','c']
- * @param {String} defaultVal 濡傛灉鏃犳硶浠庤皟鐢ㄩ摼涓幏鍙栧�肩殑榛樿鍊�
- */
-export const objGet = (object, path, defaultVal = 'undefined') => {
-	// 鍏堝皢path澶勭悊鎴愮粺涓�鏍煎紡
-	let newPath = _basePath(path)
-	// 閫掑綊澶勭悊锛岃繑鍥炴渶鍚庣粨鏋�
-	let val = newPath.reduce((o, k) => {
-		return (o || {})[k]
-	}, object);
-	return !val || val !== undefined ? val : defaultVal
-}
-
-
-/**
- * 鏄惁涓� number 绫诲瀷 
- * @param {any} num 闇�瑕佸垽鏂殑鍊�
- * @return {Boolean} 鏄惁涓� number
- */
-export const isNumber = (num) => {
-	return !isNaN(Number(num))
-}
-
-/**
- * 鏄惁涓� boolean 绫诲瀷 
- * @param {any} bool 闇�瑕佸垽鏂殑鍊�
- * @return {Boolean} 鏄惁涓� boolean
- */
-export const isBoolean = (bool) => {
-	return (typeof bool === 'boolean')
-}
-/**
- * 鏄惁鏈夊繀濉瓧娈�
- * @param {Object} rules 瑙勫垯
- * @return {Boolean} 鏄惁鏈夊繀濉瓧娈�
- */
-export const isRequiredField = (rules) => {
-	let isNoField = false;
-	for (let i = 0; i < rules.length; i++) {
-		const ruleData = rules[i];
-		if (ruleData.required) {
-			isNoField = true;
-			break;
-		}
-	}
-	return isNoField;
-}
-
-
-/**
- * 鑾峰彇鏁版嵁绫诲瀷
- * @param {Any} obj 闇�瑕佽幏鍙栨暟鎹被鍨嬬殑鍊�
- */
-export const type = (obj) => {
-	var class2type = {};
-
-	// 鐢熸垚class2type鏄犲皠
-	"Boolean Number String Function Array Date RegExp Object Error".split(" ").map(function(item, index) {
-		class2type["[object " + item + "]"] = item.toLowerCase();
-	})
-	if (obj == null) {
-		return obj + "";
-	}
-	return typeof obj === "object" || typeof obj === "function" ?
-		class2type[Object.prototype.toString.call(obj)] || "object" :
-		typeof obj;
-}
-
-/**
- * 鍒ゆ柇涓や釜鍊兼槸鍚︾浉绛�
- * @param {any} a 鍊�  
- * @param {any} b 鍊�  
- * @return {Boolean} 鏄惁鐩哥瓑
- */
-export const isEqual = (a, b) => {
-	//濡傛灉a鍜宐鏈潵灏卞叏绛�
-	if (a === b) {
-		//鍒ゆ柇鏄惁涓�0鍜�-0
-		return a !== 0 || 1 / a === 1 / b;
-	}
-	//鍒ゆ柇鏄惁涓簄ull鍜寀ndefined
-	if (a == null || b == null) {
-		return a === b;
-	}
-	//鎺ヤ笅鏉ュ垽鏂璦鍜宐鐨勬暟鎹被鍨�
-	var classNameA = toString.call(a),
-		classNameB = toString.call(b);
-	//濡傛灉鏁版嵁绫诲瀷涓嶇浉绛夛紝鍒欒繑鍥瀎alse
-	if (classNameA !== classNameB) {
-		return false;
-	}
-	//濡傛灉鏁版嵁绫诲瀷鐩哥瓑锛屽啀鏍规嵁涓嶅悓鏁版嵁绫诲瀷鍒嗗埆鍒ゆ柇
-	switch (classNameA) {
-		case '[object RegExp]':
-		case '[object String]':
-			//杩涜瀛楃涓茶浆鎹㈡瘮杈�
-			return '' + a === '' + b;
-		case '[object Number]':
-			//杩涜鏁板瓧杞崲姣旇緝,鍒ゆ柇鏄惁涓篘aN
-			if (+a !== +a) {
-				return +b !== +b;
-			}
-			//鍒ゆ柇鏄惁涓�0鎴�-0
-			return +a === 0 ? 1 / +a === 1 / b : +a === +b;
-		case '[object Date]':
-		case '[object Boolean]':
-			return +a === +b;
-	}
-	//濡傛灉鏄璞$被鍨�
-	if (classNameA == '[object Object]') {
-		//鑾峰彇a鍜宐鐨勫睘鎬ч暱搴�
-		var propsA = Object.getOwnPropertyNames(a),
-			propsB = Object.getOwnPropertyNames(b);
-		if (propsA.length != propsB.length) {
-			return false;
-		}
-		for (var i = 0; i < propsA.length; i++) {
-			var propName = propsA[i];
-			//濡傛灉瀵瑰簲灞炴�у搴斿�间笉鐩哥瓑锛屽垯杩斿洖false
-			if (a[propName] !== b[propName]) {
-				return false;
-			}
-		}
-		return true;
-	}
-	//濡傛灉鏄暟缁勭被鍨�
-	if (classNameA == '[object Array]') {
-		if (a.toString() == b.toString()) {
-			return true;
-		}
-		return false;
-	}
-}
diff --git a/src/uni_modules/uni-forms/components/uni-forms/validate.js b/src/uni_modules/uni-forms/components/uni-forms/validate.js
deleted file mode 100644
index 1834c6c..0000000
--- a/src/uni_modules/uni-forms/components/uni-forms/validate.js
+++ /dev/null
@@ -1,486 +0,0 @@
-var pattern = {
-	email: /^\S+?@\S+?\.\S+?$/,
-	idcard: /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
-	url: new RegExp(
-		"^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$",
-		'i')
-};
-
-const FORMAT_MAPPING = {
-	"int": 'integer',
-	"bool": 'boolean',
-	"double": 'number',
-	"long": 'number',
-	"password": 'string'
-	// "fileurls": 'array'
-}
-
-function formatMessage(args, resources = '') {
-	var defaultMessage = ['label']
-	defaultMessage.forEach((item) => {
-		if (args[item] === undefined) {
-			args[item] = ''
-		}
-	})
-
-	let str = resources
-	for (let key in args) {
-		let reg = new RegExp('{' + key + '}')
-		str = str.replace(reg, args[key])
-	}
-	return str
-}
-
-function isEmptyValue(value, type) {
-	if (value === undefined || value === null) {
-		return true;
-	}
-
-	if (typeof value === 'string' && !value) {
-		return true;
-	}
-
-	if (Array.isArray(value) && !value.length) {
-		return true;
-	}
-
-	if (type === 'object' && !Object.keys(value).length) {
-		return true;
-	}
-
-	return false;
-}
-
-const types = {
-	integer(value) {
-		return types.number(value) && parseInt(value, 10) === value;
-	},
-	string(value) {
-		return typeof value === 'string';
-	},
-	number(value) {
-		if (isNaN(value)) {
-			return false;
-		}
-		return typeof value === 'number';
-	},
-	"boolean": function(value) {
-		return typeof value === 'boolean';
-	},
-	"float": function(value) {
-		return types.number(value) && !types.integer(value);
-	},
-	array(value) {
-		return Array.isArray(value);
-	},
-	object(value) {
-		return typeof value === 'object' && !types.array(value);
-	},
-	date(value) {
-		return value instanceof Date;
-	},
-	timestamp(value) {
-		if (!this.integer(value) || Math.abs(value).toString().length > 16) {
-			return false
-		}
-		return true;
-	},
-	file(value) {
-		return typeof value.url === 'string';
-	},
-	email(value) {
-		return typeof value === 'string' && !!value.match(pattern.email) && value.length < 255;
-	},
-	url(value) {
-		return typeof value === 'string' && !!value.match(pattern.url);
-	},
-	pattern(reg, value) {
-		try {
-			return new RegExp(reg).test(value);
-		} catch (e) {
-			return false;
-		}
-	},
-	method(value) {
-		return typeof value === 'function';
-	},
-	idcard(value) {
-		return typeof value === 'string' && !!value.match(pattern.idcard);
-	},
-	'url-https'(value) {
-		return this.url(value) && value.startsWith('https://');
-	},
-	'url-scheme'(value) {
-		return value.startsWith('://');
-	},
-	'url-web'(value) {
-		return false;
-	}
-}
-
-class RuleValidator {
-
-	constructor(message) {
-		this._message = message
-	}
-
-	async validateRule(fieldKey, fieldValue, value, data, allData) {
-		var result = null
-
-		let rules = fieldValue.rules
-
-		let hasRequired = rules.findIndex((item) => {
-			return item.required
-		})
-		if (hasRequired < 0) {
-			if (value === null || value === undefined) {
-				return result
-			}
-			if (typeof value === 'string' && !value.length) {
-				return result
-			}
-		}
-
-		var message = this._message
-
-		if (rules === undefined) {
-			return message['default']
-		}
-
-		for (var i = 0; i < rules.length; i++) {
-			let rule = rules[i]
-			let vt = this._getValidateType(rule)
-
-			Object.assign(rule, {
-				label: fieldValue.label || `["${fieldKey}"]`
-			})
-
-			if (RuleValidatorHelper[vt]) {
-				result = RuleValidatorHelper[vt](rule, value, message)
-				if (result != null) {
-					break
-				}
-			}
-
-			if (rule.validateExpr) {
-				let now = Date.now()
-				let resultExpr = rule.validateExpr(value, allData, now)
-				if (resultExpr === false) {
-					result = this._getMessage(rule, rule.errorMessage || this._message['default'])
-					break
-				}
-			}
-
-			if (rule.validateFunction) {
-				result = await this.validateFunction(rule, value, data, allData, vt)
-				if (result !== null) {
-					break
-				}
-			}
-		}
-
-		if (result !== null) {
-			result = message.TAG + result
-		}
-
-		return result
-	}
-
-	async validateFunction(rule, value, data, allData, vt) {
-		let result = null
-		try {
-			let callbackMessage = null
-			const res = await rule.validateFunction(rule, value, allData || data, (message) => {
-				callbackMessage = message
-			})
-			if (callbackMessage || (typeof res === 'string' && res) || res === false) {
-				result = this._getMessage(rule, callbackMessage || res, vt)
-			}
-		} catch (e) {
-			result = this._getMessage(rule, e.message, vt)
-		}
-		return result
-	}
-
-	_getMessage(rule, message, vt) {
-		return formatMessage(rule, message || rule.errorMessage || this._message[vt] || message['default'])
-	}
-
-	_getValidateType(rule) {
-		var result = ''
-		if (rule.required) {
-			result = 'required'
-		} else if (rule.format) {
-			result = 'format'
-		} else if (rule.arrayType) {
-			result = 'arrayTypeFormat'
-		} else if (rule.range) {
-			result = 'range'
-		} else if (rule.maximum !== undefined || rule.minimum !== undefined) {
-			result = 'rangeNumber'
-		} else if (rule.maxLength !== undefined || rule.minLength !== undefined) {
-			result = 'rangeLength'
-		} else if (rule.pattern) {
-			result = 'pattern'
-		} else if (rule.validateFunction) {
-			result = 'validateFunction'
-		}
-		return result
-	}
-}
-
-const RuleValidatorHelper = {
-	required(rule, value, message) {
-		if (rule.required && isEmptyValue(value, rule.format || typeof value)) {
-			return formatMessage(rule, rule.errorMessage || message.required);
-		}
-
-		return null
-	},
-
-	range(rule, value, message) {
-		const {
-			range,
-			errorMessage
-		} = rule;
-
-		let list = new Array(range.length);
-		for (let i = 0; i < range.length; i++) {
-			const item = range[i];
-			if (types.object(item) && item.value !== undefined) {
-				list[i] = item.value;
-			} else {
-				list[i] = item;
-			}
-		}
-
-		let result = false
-		if (Array.isArray(value)) {
-			result = (new Set(value.concat(list)).size === list.length);
-		} else {
-			if (list.indexOf(value) > -1) {
-				result = true;
-			}
-		}
-
-		if (!result) {
-			return formatMessage(rule, errorMessage || message['enum']);
-		}
-
-		return null
-	},
-
-	rangeNumber(rule, value, message) {
-		if (!types.number(value)) {
-			return formatMessage(rule, rule.errorMessage || message.pattern.mismatch);
-		}
-
-		let {
-			minimum,
-			maximum,
-			exclusiveMinimum,
-			exclusiveMaximum
-		} = rule;
-		let min = exclusiveMinimum ? value <= minimum : value < minimum;
-		let max = exclusiveMaximum ? value >= maximum : value > maximum;
-
-		if (minimum !== undefined && min) {
-			return formatMessage(rule, rule.errorMessage || message['number'][exclusiveMinimum ?
-				'exclusiveMinimum' : 'minimum'
-			])
-		} else if (maximum !== undefined && max) {
-			return formatMessage(rule, rule.errorMessage || message['number'][exclusiveMaximum ?
-				'exclusiveMaximum' : 'maximum'
-			])
-		} else if (minimum !== undefined && maximum !== undefined && (min || max)) {
-			return formatMessage(rule, rule.errorMessage || message['number'].range)
-		}
-
-		return null
-	},
-
-	rangeLength(rule, value, message) {
-		if (!types.string(value) && !types.array(value)) {
-			return formatMessage(rule, rule.errorMessage || message.pattern.mismatch);
-		}
-
-		let min = rule.minLength;
-		let max = rule.maxLength;
-		let val = value.length;
-
-		if (min !== undefined && val < min) {
-			return formatMessage(rule, rule.errorMessage || message['length'].minLength)
-		} else if (max !== undefined && val > max) {
-			return formatMessage(rule, rule.errorMessage || message['length'].maxLength)
-		} else if (min !== undefined && max !== undefined && (val < min || val > max)) {
-			return formatMessage(rule, rule.errorMessage || message['length'].range)
-		}
-
-		return null
-	},
-
-	pattern(rule, value, message) {
-		if (!types['pattern'](rule.pattern, value)) {
-			return formatMessage(rule, rule.errorMessage || message.pattern.mismatch);
-		}
-
-		return null
-	},
-
-	format(rule, value, message) {
-		var customTypes = Object.keys(types);
-		var format = FORMAT_MAPPING[rule.format] ? FORMAT_MAPPING[rule.format] : (rule.format || rule.arrayType);
-
-		if (customTypes.indexOf(format) > -1) {
-			if (!types[format](value)) {
-				return formatMessage(rule, rule.errorMessage || message.typeError);
-			}
-		}
-
-		return null
-	},
-
-	arrayTypeFormat(rule, value, message) {
-		if (!Array.isArray(value)) {
-			return formatMessage(rule, rule.errorMessage || message.typeError);
-		}
-
-		for (let i = 0; i < value.length; i++) {
-			const element = value[i];
-			let formatResult = this.format(rule, element, message)
-			if (formatResult !== null) {
-				return formatResult
-			}
-		}
-
-		return null
-	}
-}
-
-class SchemaValidator extends RuleValidator {
-
-	constructor(schema, options) {
-		super(SchemaValidator.message);
-
-		this._schema = schema
-		this._options = options || null
-	}
-
-	updateSchema(schema) {
-		this._schema = schema
-	}
-
-	async validate(data, allData) {
-		let result = this._checkFieldInSchema(data)
-		if (!result) {
-			result = await this.invokeValidate(data, false, allData)
-		}
-		return result.length ? result[0] : null
-	}
-
-	async validateAll(data, allData) {
-		let result = this._checkFieldInSchema(data)
-		if (!result) {
-			result = await this.invokeValidate(data, true, allData)
-		}
-		return result
-	}
-
-	async validateUpdate(data, allData) {
-		let result = this._checkFieldInSchema(data)
-		if (!result) {
-			result = await this.invokeValidateUpdate(data, false, allData)
-		}
-		return result.length ? result[0] : null
-	}
-
-	async invokeValidate(data, all, allData) {
-		let result = []
-		let schema = this._schema
-		for (let key in schema) {
-			let value = schema[key]
-			let errorMessage = await this.validateRule(key, value, data[key], data, allData)
-			if (errorMessage != null) {
-				result.push({
-					key,
-					errorMessage
-				})
-				if (!all) break
-			}
-		}
-		return result
-	}
-
-	async invokeValidateUpdate(data, all, allData) {
-		let result = []
-		for (let key in data) {
-			let errorMessage = await this.validateRule(key, this._schema[key], data[key], data, allData)
-			if (errorMessage != null) {
-				result.push({
-					key,
-					errorMessage
-				})
-				if (!all) break
-			}
-		}
-		return result
-	}
-
-	_checkFieldInSchema(data) {
-		var keys = Object.keys(data)
-		var keys2 = Object.keys(this._schema)
-		if (new Set(keys.concat(keys2)).size === keys2.length) {
-			return ''
-		}
-
-		var noExistFields = keys.filter((key) => {
-			return keys2.indexOf(key) < 0;
-		})
-		var errorMessage = formatMessage({
-			field: JSON.stringify(noExistFields)
-		}, SchemaValidator.message.TAG + SchemaValidator.message['defaultInvalid'])
-		return [{
-			key: 'invalid',
-			errorMessage
-		}]
-	}
-}
-
-function Message() {
-	return {
-		TAG: "",
-		default: '楠岃瘉閿欒',
-		defaultInvalid: '鎻愪氦鐨勫瓧娈祘field}鍦ㄦ暟鎹簱涓苟涓嶅瓨鍦�',
-		validateFunction: '楠岃瘉鏃犳晥',
-		required: '{label}蹇呭~',
-		'enum': '{label}瓒呭嚭鑼冨洿',
-		timestamp: '{label}鏍煎紡鏃犳晥',
-		whitespace: '{label}涓嶈兘涓虹┖',
-		typeError: '{label}绫诲瀷鏃犳晥',
-		date: {
-			format: '{label}鏃ユ湡{value}鏍煎紡鏃犳晥',
-			parse: '{label}鏃ユ湡鏃犳硶瑙f瀽,{value}鏃犳晥',
-			invalid: '{label}鏃ユ湡{value}鏃犳晥'
-		},
-		length: {
-			minLength: '{label}闀垮害涓嶈兘灏戜簬{minLength}',
-			maxLength: '{label}闀垮害涓嶈兘瓒呰繃{maxLength}',
-			range: '{label}蹇呴』浠嬩簬{minLength}鍜寋maxLength}涔嬮棿'
-		},
-		number: {
-			minimum: '{label}涓嶈兘灏忎簬{minimum}',
-			maximum: '{label}涓嶈兘澶т簬{maximum}',
-			exclusiveMinimum: '{label}涓嶈兘灏忎簬绛変簬{minimum}',
-			exclusiveMaximum: '{label}涓嶈兘澶т簬绛変簬{maximum}',
-			range: '{label}蹇呴』浠嬩簬{minimum}and{maximum}涔嬮棿'
-		},
-		pattern: {
-			mismatch: '{label}鏍煎紡涓嶅尮閰�'
-		}
-	};
-}
-
-
-SchemaValidator.message = new Message();
-
-export default SchemaValidator
diff --git a/src/uni_modules/uni-forms/package.json b/src/uni_modules/uni-forms/package.json
deleted file mode 100644
index e3736c4..0000000
--- a/src/uni_modules/uni-forms/package.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
-  "id": "uni-forms",
-  "displayName": "uni-forms 琛ㄥ崟",
-  "version": "1.4.8",
-  "description": "鐢辫緭鍏ユ銆侀�夋嫨鍣ㄣ�佸崟閫夋銆佸閫夋绛夋帶浠剁粍鎴愶紝鐢ㄤ互鏀堕泦銆佹牎楠屻�佹彁浜ゆ暟鎹�",
-  "keywords": [
-    "uni-ui",
-    "琛ㄥ崟",
-    "鏍¢獙",
-    "琛ㄥ崟鏍¢獙",
-    "琛ㄥ崟楠岃瘉"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-      "uni-icons"
-    ],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-        "QQ": "y",
-        "浜笢": "u"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-forms/readme.md b/src/uni_modules/uni-forms/readme.md
deleted file mode 100644
index 63d5a04..0000000
--- a/src/uni_modules/uni-forms/readme.md
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-## Forms 琛ㄥ崟
-
-> **缁勪欢鍚嶏細uni-forms**
-> 浠g爜鍧楋細 `uForms`銆乣uni-forms-item`
-> 鍏宠仈缁勪欢锛歚uni-forms-item`銆乣uni-easyinput`銆乣uni-data-checkbox`銆乣uni-group`銆�
-
-
-uni-app鐨勫唴缃粍浠跺凡缁忔湁浜� `<form>`缁勪欢锛岀敤浜庢彁浜よ〃鍗曞唴瀹广��
-
-鐒惰�屽嚑涔庢瘡涓〃鍗曢兘闇�瑕佸仛琛ㄥ崟楠岃瘉锛屼负浜嗘柟渚垮仛琛ㄥ崟楠岃瘉锛屽噺灏戦噸澶嶅紑鍙戯紝`uni ui` 鍙堝熀浜� `<form>`缁勪欢灏佽浜� `<uni-forms>`缁勪欢锛屽唴缃簡琛ㄥ崟楠岃瘉鍔熻兘銆�
-
-`<uni-forms>` 鎻愪緵浜� `rules`灞炴�ф潵鎻忚堪鏍¢獙瑙勫垯銆乣<uni-forms-item>`瀛愮粍浠舵潵鍖呰9鍏蜂綋鐨勮〃鍗曢」锛屼互鍙婄粰鍘熺敓鎴栦笁鏂圭粍浠舵彁渚涗簡 `binddata()` 鏉ヨ缃〃鍗曞�笺��
-
-姣忎釜瑕佹牎楠岀殑琛ㄥ崟椤癸紝涓嶇input杩樻槸checkbox锛岄兘蹇呴』鏀惧湪`<uni-forms-item>`缁勪欢涓紝涓斾竴涓猔<uni-forms-item>`缁勪欢鍙兘鏀剧疆涓�涓〃鍗曢」銆�
-
-`<uni-forms-item>`缁勪欢鍐呴儴棰勭暀浜嗘樉绀篹rror message鐨勫尯鍩燂紝榛樿鏄湪琛ㄥ崟椤圭殑搴曢儴銆�
-
-鍙﹀锛宍<uni-forms>`缁勪欢涓嬮潰鐨勫悇涓〃鍗曢」锛屽彲浠ラ�氳繃`<uni-group>`鍖呰9涓轰笉鍚岀殑鍒嗙粍銆傚悓涓�`<uni-group>`涓嬬殑涓嶅悓琛ㄥ崟椤圭洰灏嗚仛鎷㈠湪涓�璧凤紝鍚屽叾浠杇roup淇濇寔鍨傜洿闂磋窛銆俙<uni-group>`浠呭奖鍝嶈瑙夋晥鏋溿��
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-forms)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-goods-nav/changelog.md b/src/uni_modules/uni-goods-nav/changelog.md
deleted file mode 100644
index c6264c6..0000000
--- a/src/uni_modules/uni-goods-nav/changelog.md
+++ /dev/null
@@ -1,18 +0,0 @@
-## 1.2.1锛�2022-05-30锛�
-- 鏂板 stat灞炴�э紝鏄惁寮�鍚痷ni缁熻鍔熻兘
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-goods-nav](https://uniapp.dcloud.io/component/uniui/uni-goods-nav)
-## 1.1.1锛�2021-08-24锛�
-- 鏂板 鏀寔鍥介檯鍖�
-## 1.1.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.7锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.0.6锛�2021-04-21锛�
-- 浼樺寲 娣诲姞渚濊禆 uni-icons, 瀵煎叆鍚庤嚜鍔ㄤ笅杞戒緷璧�
-## 1.0.5锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-
-## 1.0.4锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json b/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json
deleted file mode 100644
index dcdba41..0000000
--- a/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-	"uni-goods-nav.options.shop": "shop",
-	"uni-goods-nav.options.cart": "cart",
-	"uni-goods-nav.buttonGroup.addToCart": "add to cart",
-	"uni-goods-nav.buttonGroup.buyNow": "buy now"
-}
diff --git a/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js b/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js
deleted file mode 100644
index de7509c..0000000
--- a/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import en from './en.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
-	en,
-	'zh-Hans': zhHans,
-	'zh-Hant': zhHant
-}
diff --git a/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json b/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json
deleted file mode 100644
index 48ee344..0000000
--- a/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-	"uni-goods-nav.options.shop": "搴楅摵",
-	"uni-goods-nav.options.cart": "璐墿杞�",
-	"uni-goods-nav.buttonGroup.addToCart": "鍔犲叆璐墿杞�",
-	"uni-goods-nav.buttonGroup.buyNow": "绔嬪嵆璐拱"
-}
diff --git a/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json b/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json
deleted file mode 100644
index d0a0255..0000000
--- a/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-	"uni-goods-nav.options.shop": "搴楅嫪",
-	"uni-goods-nav.options.cart": "璩肩墿杌�",
-	"uni-goods-nav.buttonGroup.addToCart": "鍔犲叆璩肩墿杌�",
-	"uni-goods-nav.buttonGroup.buyNow": "绔嬪嵆璩艰卜"
-}
diff --git a/src/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue b/src/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue
deleted file mode 100644
index 8a16b17..0000000
--- a/src/uni_modules/uni-goods-nav/components/uni-goods-nav/uni-goods-nav.vue
+++ /dev/null
@@ -1,229 +0,0 @@
-<template>
-	<view class="uni-goods-nav">
-		<!-- 搴曢儴鍗犱綅 -->
-		<view class="uni-tab__seat" />
-		<view class="uni-tab__cart-box flex">
-			<view class="flex uni-tab__cart-sub-left">
-				<view v-for="(item,index) in options" :key="index" class="flex uni-tab__cart-button-left uni-tab__shop-cart" @click="onClick(index,item)">
-					<view class="uni-tab__icon">
-						<uni-icons :type="item.icon" size="20" color="#646566"></uni-icons>
-						<!-- <image class="image" :src="item.icon" mode="widthFix" /> -->
-					</view>
-					<text class="uni-tab__text">{{ item.text }}</text>
-					<view class="flex uni-tab__dot-box">
-						<text v-if="item.info" :class="{ 'uni-tab__dots': item.info > 9 }" class="uni-tab__dot " :style="{'backgroundColor':item.infoBackgroundColor?item.infoBackgroundColor:'#ff0000',
-						color:item.infoColor?item.infoColor:'#fff'
-						}">{{ item.info }}</text>
-					</view>
-				</view>
-			</view>
-			<view :class="{'uni-tab__right':fill}" class="flex uni-tab__cart-sub-right ">
-				<view v-for="(item,index) in buttonGroup" :key="index" :style="{background:item.backgroundColor,color:item.color}"
-				 class="flex uni-tab__cart-button-right" @click="buttonClick(index,item)"><text :style="{color:item.color}" class="uni-tab__cart-button-right-text">{{ item.text }}</text></view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {
-	initVueI18n
-	} from '@dcloudio/uni-i18n'
-	import messages from './i18n/index.js'
-	const {	t	} = initVueI18n(messages)
-	/**
-	 * GoodsNav 鍟嗗搧瀵艰埅
-	 * @description 鍟嗗搧鍔犲叆璐墿杞︺�佺珛鍗宠喘涔扮瓑
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=865
-	 * @property {Array} options 缁勪欢鍙傛暟
-	 * @property {Array} buttonGroup 缁勪欢鎸夐挳缁勫弬鏁�
-	 * @property {Boolean} fill = [true | false] 缁勪欢鎸夐挳缁勫弬鏁�
-	 * @property {Boolean} stat 鏄惁寮�鍚粺璁″姛鑳�
-	 * @event {Function} click 宸︿晶鐐瑰嚮浜嬩欢
-	 * @event {Function} buttonClick 鍙充晶鎸夐挳缁勭偣鍑讳簨浠�
-	 * @example <uni-goods-nav :fill="true"  options="" buttonGroup="buttonGroup"  @click="" @buttonClick="" />
-	 */
-	export default {
-		name: 'UniGoodsNav',
-		emits:['click','buttonClick'],
-		props: {
-			options: {
-				type: Array,
-				default () {
-					return [{
-						icon: 'shop',
-						text: t("uni-goods-nav.options.shop"),
-					}, {
-						icon: 'cart',
-						text: t("uni-goods-nav.options.cart")
-					}]
-				}
-			},
-			buttonGroup: {
-				type: Array,
-				default () {
-					return [{
-							text: t("uni-goods-nav.buttonGroup.addToCart"),
-							backgroundColor: 'linear-gradient(90deg, #FFCD1E, #FF8A18)',
-							color: '#fff'
-						},
-						{
-							text: t("uni-goods-nav.buttonGroup.buyNow"),
-							backgroundColor: 'linear-gradient(90deg, #FE6035, #EF1224)',
-							color: '#fff'
-						}
-					]
-				}
-			},
-			fill: {
-				type: Boolean,
-				default: false
-			},
-			stat:{
-				type: Boolean,
-				default: false
-			}
-		},
-		methods: {
-			onClick(index, item) {
-				this.$emit('click', {
-					index,
-					content: item,
-				})
-			},
-			buttonClick(index, item) {
-				if (uni.report && this.stat) {
-					uni.report(item.text, item.text)
-				}
-				this.$emit('buttonClick', {
-					index,
-					content: item
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss" >
-	.flex {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-	}
-
-	.uni-goods-nav {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-	}
-
-	.uni-tab__cart-box {
-		flex: 1;
-		height: 50px;
-		background-color: #fff;
-		z-index: 900;
-	}
-
-	.uni-tab__cart-sub-left {
-		padding: 0 5px;
-	}
-
-	.uni-tab__cart-sub-right {
-		flex: 1;
-	}
-
-	.uni-tab__right {
-		margin: 5px 0;
-		margin-right: 10px;
-		border-radius: 100px;
-		overflow: hidden;
-	}
-
-	.uni-tab__cart-button-left {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		// flex: 1;
-		position: relative;
-		justify-content: center;
-		align-items: center;
-		flex-direction: column;
-		margin: 0 10px;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-tab__icon {
-		width: 18px;
-		height: 18px;
-	}
-
-	.image {
-		width: 18px;
-		height: 18px;
-	}
-
-	.uni-tab__text {
-		margin-top: 3px;
-		font-size: 12px;
-		color: #646566;
-	}
-
-	.uni-tab__cart-button-right {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		flex-direction: column;
-		/* #endif */
-		flex: 1;
-		justify-content: center;
-		align-items: center;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-tab__cart-button-right-text {
-		font-size: 14px;
-		color: #fff;
-	}
-
-	.uni-tab__cart-button-right:active {
-		opacity: 0.7;
-	}
-
-	.uni-tab__dot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		flex-direction: column;
-		/* #endif */
-		position: absolute;
-		right: -2px;
-		top: 2px;
-		justify-content: center;
-		align-items: center;
-		// width: 0;
-		// height: 0;
-	}
-
-	.uni-tab__dot {
-		// width: 30rpx;
-		// height: 30rpx;
-		padding: 0 4px;
-		line-height: 15px;
-		color: #ffffff;
-		text-align: center;
-		font-size: 12px;
-		background-color: #ff0000;
-		border-radius: 15px;
-	}
-
-	.uni-tab__dots {
-		padding: 0 4px;
-		// width: auto;
-		border-radius: 15px;
-	}
-</style>
diff --git a/src/uni_modules/uni-goods-nav/package.json b/src/uni_modules/uni-goods-nav/package.json
deleted file mode 100644
index 636e45e..0000000
--- a/src/uni_modules/uni-goods-nav/package.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
-  "id": "uni-goods-nav",
-  "displayName": "uni-goods-nav 鍟嗗搧瀵艰埅",
-  "version": "1.2.1",
-  "description": "鍟嗗搧瀵艰埅缁勪欢涓昏鐢ㄤ簬鐢靛晢绫诲簲鐢ㄥ簳閮ㄥ鑸紝鍙嚜瀹氫箟鍔犲叆璐墿杞︼紝璐拱绛夋搷浣�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "鍟嗗搧瀵艰埅"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-			"uni-icons"
-		],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-goods-nav/readme.md b/src/uni_modules/uni-goods-nav/readme.md
deleted file mode 100644
index 07df93f..0000000
--- a/src/uni_modules/uni-goods-nav/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-## GoodsNav 鍟嗗搧瀵艰埅
-> **缁勪欢鍚嶏細uni-goods-nav**
-> 浠g爜鍧楋細 `uGoodsNav`
-
-鍟嗗搧鍔犲叆璐墿杞︼紝绔嬪嵆璐拱绛夈��
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-goods-nav)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-grid/changelog.md b/src/uni_modules/uni-grid/changelog.md
deleted file mode 100644
index d301166..0000000
--- a/src/uni_modules/uni-grid/changelog.md
+++ /dev/null
@@ -1,13 +0,0 @@
-## 1.4.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-grid](https://uniapp.dcloud.io/component/uniui/uni-grid)
-## 1.3.2锛�2021-11-09锛� 
-- 鏂板 鎻愪緵缁勪欢璁捐璧勬簮锛岀粍浠舵牱寮忚皟鏁�
-## 1.3.1锛�2021-07-30锛�
-- 浼樺寲 vue3涓嬩簨浠惰鍛婄殑闂
-## 1.3.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.2.4锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.2.3锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue b/src/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue
deleted file mode 100644
index 19c08d7..0000000
--- a/src/uni_modules/uni-grid/components/uni-grid-item/uni-grid-item.vue
+++ /dev/null
@@ -1,127 +0,0 @@
-<template>
-	<view v-if="width" :style="'width:'+width+';'+(square?'height:'+width:'')" class="uni-grid-item">
-		<view :class="{ 'uni-grid-item--border': showBorder,  'uni-grid-item--border-top': showBorder && index < column, 'uni-highlight': highlight }"
-		 :style="{'border-right-color': borderColor ,'border-bottom-color': borderColor ,'border-top-color': borderColor }"
-		 class="uni-grid-item__box" @click="_onClick">
-			<slot />
-		</view>
-	</view>
-</template>
-
-<script>
-	/**
-	 * GridItem 瀹牸
-	 * @description 瀹牸缁勪欢
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=27
-	 * @property {Number} index 瀛愮粍浠剁殑鍞竴鏍囪瘑 锛岀偣鍑籫ird浼氳繑鍥炲綋鍓嶇殑鏍囪瘑
-	 */
-	export default {
-		name: 'UniGridItem',
-		inject: ['grid'],
-		props: {
-			index: {
-				type: Number,
-				default: 0
-			}
-		},
-		data() {
-			return {
-				column: 0,
-				showBorder: true,
-				square: true,
-				highlight: true,
-				left: 0,
-				top: 0,
-				openNum: 2,
-				width: 0,
-				borderColor: '#e5e5e5'
-			}
-		},
-		created() {
-			this.column = this.grid.column
-			this.showBorder = this.grid.showBorder
-			this.square = this.grid.square
-			this.highlight = this.grid.highlight
-			this.top = this.hor === 0 ? this.grid.hor : this.hor
-			this.left = this.ver === 0 ? this.grid.ver : this.ver
-			this.borderColor = this.grid.borderColor
-			this.grid.children.push(this)
-			// this.grid.init()
-			this.width = this.grid.width
-		},
-		beforeDestroy() {
-			this.grid.children.forEach((item, index) => {
-				if (item === this) {
-					this.grid.children.splice(index, 1)
-				}
-			})
-		},
-		methods: {
-			_onClick() {
-				this.grid.change({
-					detail: {
-						index: this.index
-					}
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.uni-grid-item {
-		/* #ifndef APP-NVUE */
-		height: 100%;
-		display: flex;
-		/* #endif */
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-grid-item__box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		width: 100%;
-		/* #endif */
-		position: relative;
-		flex: 1;
-		flex-direction: column;
-		// justify-content: center;
-		// align-items: center;
-	}
-
-	.uni-grid-item--border {
-		position: relative;
-		/* #ifdef APP-NVUE */
-		border-bottom-color: #D2D2D2;
-		border-bottom-style: solid;
-		border-bottom-width: 0.5px;
-		border-right-color: #D2D2D2;
-		border-right-style: solid;
-		border-right-width: 0.5px;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		z-index: 0;
-		border-bottom: 1px #D2D2D2 solid;
-		border-right: 1px #D2D2D2 solid;
-		/* #endif */
-	}
-	.uni-grid-item--border-top {
-		position: relative;
-		/* #ifdef APP-NVUE */
-		border-top-color: #D2D2D2;
-		border-top-style: solid;
-		border-top-width: 0.5px;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		border-top: 1px #D2D2D2 solid;
-		z-index: 0;
-		/* #endif */
-	}
-
-
-	.uni-highlight:active {
-		background-color: #f1f1f1;
-	}
-</style>
diff --git a/src/uni_modules/uni-grid/components/uni-grid/uni-grid.vue b/src/uni_modules/uni-grid/components/uni-grid/uni-grid.vue
deleted file mode 100644
index 0edc7ff..0000000
--- a/src/uni_modules/uni-grid/components/uni-grid/uni-grid.vue
+++ /dev/null
@@ -1,142 +0,0 @@
-<template>
-	<view class="uni-grid-wrap">
-		<view :id="elId" ref="uni-grid" class="uni-grid" :class="{ 'uni-grid--border': showBorder }" :style="{ 'border-left-color':borderColor}">
-			<slot />
-		</view>
-	</view>
-</template>
-
-<script>
-	// #ifdef APP-NVUE
-	const dom = uni.requireNativePlugin('dom');
-	// #endif
-
-	/**
-	 * Grid 瀹牸
-	 * @description 瀹牸缁勪欢
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=27
-	 * @property {Number} column 姣忓垪鏄剧ず涓暟
-	 * @property {String} borderColor 杈规棰滆壊
-	 * @property {Boolean} showBorder 鏄惁鏄剧ず杈规
-	 * @property {Boolean} square 鏄惁鏂瑰舰鏄剧ず
-	 * @property {Boolean} Boolean 鐐瑰嚮鑳屾櫙鏄惁楂樹寒
-	 * @event {Function} change 鐐瑰嚮 grid 瑙﹀彂锛宔={detail:{index:0}}锛宨ndex 涓哄綋鍓嶇偣鍑� gird 涓嬫爣
-	 */
-	export default {
-		name: 'UniGrid',
-		emits:['change'],
-		props: {
-			// 姣忓垪鏄剧ず涓暟
-			column: {
-				type: Number,
-				default: 3
-			},
-			// 鏄惁鏄剧ず杈规
-			showBorder: {
-				type: Boolean,
-				default: true
-			},
-			// 杈规棰滆壊
-			borderColor: {
-				type: String,
-				default: '#D2D2D2'
-			},
-			// 鏄惁姝f柟褰㈡樉绀�,榛樿涓� true
-			square: {
-				type: Boolean,
-				default: true
-			},
-			highlight: {
-				type: Boolean,
-				default: true
-			}
-		},
-		provide() {
-			return {
-				grid: this
-			}
-		},
-		data() {
-			const elId = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}`
-			return {
-				elId,
-				width: 0
-			}
-		},
-		created() {
-			this.children = []
-		},
-		mounted() {
-			this.$nextTick(()=>{
-				this.init()
-			})
-		},
-		methods: {
-			init() {
-				setTimeout(() => {
-					this._getSize((width) => {
-						this.children.forEach((item, index) => {
-							item.width = width
-						})
-					})
-				}, 50)
-			},
-			change(e) {
-				this.$emit('change', e)
-			},
-			_getSize(fn) {
-				// #ifndef APP-NVUE
-				uni.createSelectorQuery()
-					.in(this)
-					.select(`#${this.elId}`)
-					.boundingClientRect()
-					.exec(ret => {
-						this.width = parseInt((ret[0].width - 1) / this.column) + 'px'
-						fn(this.width)
-					})
-				// #endif
-				// #ifdef APP-NVUE
-				dom.getComponentRect(this.$refs['uni-grid'], (ret) => {
-					this.width = parseInt((ret.size.width - 1) / this.column) + 'px'
-					fn(this.width)
-				})
-				// #endif
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.uni-grid-wrap {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: column;
-		/* #ifdef H5 */
-		width: 100%;
-		/* #endif */
-	}
-
-	.uni-grid {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		// flex: 1;
-		flex-direction: row;
-		flex-wrap: wrap;
-	}
-
-	.uni-grid--border {
-		position: relative;
-		/* #ifdef APP-NVUE */
-		border-left-color: #D2D2D2;
-		border-left-style: solid;
-		border-left-width: 0.5px;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		z-index: 1;
-		border-left: 1px #D2D2D2 solid;
-		/* #endif */
-	}
-</style>
diff --git a/src/uni_modules/uni-grid/package.json b/src/uni_modules/uni-grid/package.json
deleted file mode 100644
index ccb2c91..0000000
--- a/src/uni_modules/uni-grid/package.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
-  "id": "uni-grid",
-  "displayName": "uni-grid 瀹牸",
-  "version": "1.4.0",
-  "description": "Grid 瀹牸缁勪欢锛屾彁渚涚Щ鍔ㄧ甯歌鐨勫鏍煎竷灞�锛屽涔濆鏍笺��",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "涔濆鏍�",
-    "琛ㄦ牸"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss","uni-icons"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-grid/readme.md b/src/uni_modules/uni-grid/readme.md
deleted file mode 100644
index 0aa44cc..0000000
--- a/src/uni_modules/uni-grid/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-## Grid 瀹牸
-> **缁勪欢鍚嶏細uni-grid**
-> 浠g爜鍧楋細 `uGrid`
-
-
-瀹牸缁勪欢銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-grid)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-group/changelog.md b/src/uni_modules/uni-group/changelog.md
deleted file mode 100644
index a7024fd..0000000
--- a/src/uni_modules/uni-group/changelog.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## 1.2.2锛�2022-05-30锛�
-- 鏂板 stat灞炴�э紝鏄惁寮�鍚痷ni缁熻鍔熻兘
-## 1.2.1锛�2021-11-22锛�
-- 淇 vue3涓煇浜泂css鍙橀噺鏃犳硶鎵惧埌鐨勯棶棰�
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-group](https://uniapp.dcloud.io/component/uniui/uni-group)
-## 1.1.7锛�2021-11-08锛�
-## 1.1.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-- 浼樺寲 缁勪欢鏂囨。
-## 1.0.3锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.0.2锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 浼樺寲 鍏煎 nvue 椤甸潰
diff --git a/src/uni_modules/uni-group/components/uni-group/uni-group.vue b/src/uni_modules/uni-group/components/uni-group/uni-group.vue
deleted file mode 100644
index 3425ecd..0000000
--- a/src/uni_modules/uni-group/components/uni-group/uni-group.vue
+++ /dev/null
@@ -1,134 +0,0 @@
-<template>
-	<view class="uni-group" :class="['uni-group--'+mode ,margin?'group-margin':'']" :style="{marginTop: `${top}px` }">
-		<slot name="title">
-			<view v-if="title" class="uni-group__title" :style="{'padding-left':border?'30px':'15px'}">
-				<text class="uni-group__title-text">{{ title }}</text>
-			</view>
-		</slot>
-		<view class="uni-group__content" :class="{'group-conent-padding':border}">
-			<slot />
-		</view>
-	</view>
-</template>
-
-<script>
-	/**
-	 * Group 鍒嗙粍
-	 * @description 琛ㄥ崟瀛楁鍒嗙粍
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=3281
-	 * @property {String} title 涓绘爣棰�
-	 * @property {Number} top 鍒嗙粍闂撮殧
-	 * @property {Number} mode 妯″紡
-	 */
-	export default {
-		name: 'uniGroup',
-		emits:['click'],
-		props: {
-			title: {
-				type: String,
-				default: ''
-			},
-			top: {
-				type: [Number, String],
-				default: 10
-			},
-			mode: {
-				type: String,
-				default: 'default'
-			},
-			stat:{
-				type: Boolean,
-				default: false
-			}
-		},
-		data() {
-			return {
-				margin: false,
-				border: false
-			}
-		},
-		watch: {
-			title(newVal) {
-				if (uni.report && this.stat && newVal !== '') {
-					uni.report('title', newVal)
-				}
-			}
-		},
-		created() {
-			this.form = this.getForm()
-			if (this.form) {
-				this.margin = true
-				this.border = this.form.border
-			}
-		},
-		methods: {
-			/**
-			 * 鑾峰彇鐖跺厓绱犲疄渚�
-			 */
-			getForm() {
-				let parent = this.$parent;
-				let parentName = parent.$options.name;
-				while (parentName !== 'uniForms') {
-					parent = parent.$parent;
-					if (!parent) return false
-					parentName = parent.$options.name;
-				}
-				return parent;
-			},
-			onClick() {
-				this.$emit('click')
-			}
-		}
-	}
-</script>
-<style lang="scss" >
-	.uni-group {
-		background: #fff;
-		margin-top: 10px;
-		// border: 1px red solid;
-	}
-
-	.group-margin {
-		// margin: 0 -15px;
-	}
-
-	.uni-group__title {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		padding-left: 15px;
-		height: 40px;
-		background-color: #eee;
-		font-weight: normal;
-		color: #666;
-	}
-
-	.uni-group__content {
-		padding: 15px;
-		// padding-bottom: 5px;
-		// background-color: #FFF;
-	}
-
-	.group-conent-padding {
-		padding: 0 15px;
-	}
-
-	.uni-group__title-text {
-		font-size: 14px;
-		color: #666;
-	}
-
-	.distraction {
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.uni-group--card {
-		margin: 10px;
-		border-radius: 5px;
-		overflow: hidden;
-		box-shadow: 0 0 5px 1px rgba($color: #000000, $alpha: 0.08);
-	}
-</style>
diff --git a/src/uni_modules/uni-group/package.json b/src/uni_modules/uni-group/package.json
deleted file mode 100644
index ea00a08..0000000
--- a/src/uni_modules/uni-group/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "id": "uni-group",
-  "displayName": "uni-group 鍒嗙粍",
-  "version": "1.2.2",
-  "description": "鍒嗙粍缁勪欢鍙敤浜庡皢缁勪欢鐢ㄤ簬鍒嗙粍锛屾坊鍔犻棿闅旓紝浠ヤ骇鐢熸槑鏄剧殑鍖哄潡",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "group",
-    "鍒嗙粍",
-    ""
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-group/readme.md b/src/uni_modules/uni-group/readme.md
deleted file mode 100644
index bae67f4..0000000
--- a/src/uni_modules/uni-group/readme.md
+++ /dev/null
@@ -1,9 +0,0 @@
-
-## Group 鍒嗙粍
-> **缁勪欢鍚嶏細uni-group**
-> 浠g爜鍧楋細 `uGroup`
-
-鍒嗙粍缁勪欢鍙敤浜庡皢缁勪欢鍒嗙粍锛屾坊鍔犻棿闅旓紝浠ヤ骇鐢熸槑鏄剧殑鍖哄潡銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-group)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-icons/changelog.md b/src/uni_modules/uni-icons/changelog.md
deleted file mode 100644
index 6449885..0000000
--- a/src/uni_modules/uni-icons/changelog.md
+++ /dev/null
@@ -1,22 +0,0 @@
-## 1.3.5锛�2022-01-24锛�
-- 浼樺寲 size 灞炴�у彲浠ヤ紶鍏ヤ笉甯﹀崟浣嶇殑瀛楃涓叉暟鍊�
-## 1.3.4锛�2022-01-24锛�
-- 浼樺寲 size 鏀寔鍏朵粬鍗曚綅
-## 1.3.3锛�2022-01-17锛�
-- 淇 nvue 鏈変簺鍥炬爣涓嶆樉绀虹殑bug锛屽吋瀹硅�佺増鏈浘鏍�
-## 1.3.2锛�2021-12-01锛�
-- 浼樺寲 绀轰緥鍙鍒跺浘鏍囧悕绉�
-## 1.3.1锛�2021-11-23锛�
-- 浼樺寲 鍏煎鏃х粍浠� type 鍊�
-## 1.3.0锛�2021-11-19锛�
-- 鏂板 鏇村鍥炬爣
-- 浼樺寲 鑷畾涔夊浘鏍囦娇鐢ㄦ柟寮�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-icons](https://uniapp.dcloud.io/component/uniui/uni-icons)
-## 1.1.7锛�2021-11-08锛�
-## 1.2.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.1.5锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.1.4锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-icons/components/uni-icons/icons.js b/src/uni_modules/uni-icons/components/uni-icons/icons.js
deleted file mode 100644
index 7889936..0000000
--- a/src/uni_modules/uni-icons/components/uni-icons/icons.js
+++ /dev/null
@@ -1,1169 +0,0 @@
-export default {
-  "id": "2852637",
-  "name": "uniui鍥炬爣搴�",
-  "font_family": "uniicons",
-  "css_prefix_text": "uniui-",
-  "description": "",
-  "glyphs": [
-    {
-      "icon_id": "25027049",
-      "name": "yanse",
-      "font_class": "color",
-      "unicode": "e6cf",
-      "unicode_decimal": 59087
-    },
-    {
-      "icon_id": "25027048",
-      "name": "wallet",
-      "font_class": "wallet",
-      "unicode": "e6b1",
-      "unicode_decimal": 59057
-    },
-    {
-      "icon_id": "25015720",
-      "name": "settings-filled",
-      "font_class": "settings-filled",
-      "unicode": "e6ce",
-      "unicode_decimal": 59086
-    },
-    {
-      "icon_id": "25015434",
-      "name": "shimingrenzheng-filled",
-      "font_class": "auth-filled",
-      "unicode": "e6cc",
-      "unicode_decimal": 59084
-    },
-    {
-      "icon_id": "24934246",
-      "name": "shop-filled",
-      "font_class": "shop-filled",
-      "unicode": "e6cd",
-      "unicode_decimal": 59085
-    },
-    {
-      "icon_id": "24934159",
-      "name": "staff-filled-01",
-      "font_class": "staff-filled",
-      "unicode": "e6cb",
-      "unicode_decimal": 59083
-    },
-    {
-      "icon_id": "24932461",
-      "name": "VIP-filled",
-      "font_class": "vip-filled",
-      "unicode": "e6c6",
-      "unicode_decimal": 59078
-    },
-    {
-      "icon_id": "24932462",
-      "name": "plus_circle_fill",
-      "font_class": "plus-filled",
-      "unicode": "e6c7",
-      "unicode_decimal": 59079
-    },
-    {
-      "icon_id": "24932463",
-      "name": "folder_add-filled",
-      "font_class": "folder-add-filled",
-      "unicode": "e6c8",
-      "unicode_decimal": 59080
-    },
-    {
-      "icon_id": "24932464",
-      "name": "yanse-filled",
-      "font_class": "color-filled",
-      "unicode": "e6c9",
-      "unicode_decimal": 59081
-    },
-    {
-      "icon_id": "24932465",
-      "name": "tune-filled",
-      "font_class": "tune-filled",
-      "unicode": "e6ca",
-      "unicode_decimal": 59082
-    },
-    {
-      "icon_id": "24932455",
-      "name": "a-rilidaka-filled",
-      "font_class": "calendar-filled",
-      "unicode": "e6c0",
-      "unicode_decimal": 59072
-    },
-    {
-      "icon_id": "24932456",
-      "name": "notification-filled",
-      "font_class": "notification-filled",
-      "unicode": "e6c1",
-      "unicode_decimal": 59073
-    },
-    {
-      "icon_id": "24932457",
-      "name": "wallet-filled",
-      "font_class": "wallet-filled",
-      "unicode": "e6c2",
-      "unicode_decimal": 59074
-    },
-    {
-      "icon_id": "24932458",
-      "name": "paihangbang-filled",
-      "font_class": "medal-filled",
-      "unicode": "e6c3",
-      "unicode_decimal": 59075
-    },
-    {
-      "icon_id": "24932459",
-      "name": "gift-filled",
-      "font_class": "gift-filled",
-      "unicode": "e6c4",
-      "unicode_decimal": 59076
-    },
-    {
-      "icon_id": "24932460",
-      "name": "fire-filled",
-      "font_class": "fire-filled",
-      "unicode": "e6c5",
-      "unicode_decimal": 59077
-    },
-    {
-      "icon_id": "24928001",
-      "name": "refreshempty",
-      "font_class": "refreshempty",
-      "unicode": "e6bf",
-      "unicode_decimal": 59071
-    },
-    {
-      "icon_id": "24926853",
-      "name": "location-ellipse",
-      "font_class": "location-filled",
-      "unicode": "e6af",
-      "unicode_decimal": 59055
-    },
-    {
-      "icon_id": "24926735",
-      "name": "person-filled",
-      "font_class": "person-filled",
-      "unicode": "e69d",
-      "unicode_decimal": 59037
-    },
-    {
-      "icon_id": "24926703",
-      "name": "personadd-filled",
-      "font_class": "personadd-filled",
-      "unicode": "e698",
-      "unicode_decimal": 59032
-    },
-    {
-      "icon_id": "24923351",
-      "name": "back",
-      "font_class": "back",
-      "unicode": "e6b9",
-      "unicode_decimal": 59065
-    },
-    {
-      "icon_id": "24923352",
-      "name": "forward",
-      "font_class": "forward",
-      "unicode": "e6ba",
-      "unicode_decimal": 59066
-    },
-    {
-      "icon_id": "24923353",
-      "name": "arrowthinright",
-      "font_class": "arrow-right",
-      "unicode": "e6bb",
-      "unicode_decimal": 59067
-    },
-		{
-		  "icon_id": "24923353",
-		  "name": "arrowthinright",
-		  "font_class": "arrowthinright",
-		  "unicode": "e6bb",
-		  "unicode_decimal": 59067
-		},
-    {
-      "icon_id": "24923354",
-      "name": "arrowthinleft",
-      "font_class": "arrow-left",
-      "unicode": "e6bc",
-      "unicode_decimal": 59068
-    },
-		{
-		  "icon_id": "24923354",
-		  "name": "arrowthinleft",
-		  "font_class": "arrowthinleft",
-		  "unicode": "e6bc",
-		  "unicode_decimal": 59068
-		},
-    {
-      "icon_id": "24923355",
-      "name": "arrowthinup",
-      "font_class": "arrow-up",
-      "unicode": "e6bd",
-      "unicode_decimal": 59069
-    },
-		{
-		  "icon_id": "24923355",
-		  "name": "arrowthinup",
-		  "font_class": "arrowthinup",
-		  "unicode": "e6bd",
-		  "unicode_decimal": 59069
-		},
-    {
-      "icon_id": "24923356",
-      "name": "arrowthindown",
-      "font_class": "arrow-down",
-      "unicode": "e6be",
-      "unicode_decimal": 59070
-    },{
-      "icon_id": "24923356",
-      "name": "arrowthindown",
-      "font_class": "arrowthindown",
-      "unicode": "e6be",
-      "unicode_decimal": 59070
-    },
-    {
-      "icon_id": "24923349",
-      "name": "arrowdown",
-      "font_class": "bottom",
-      "unicode": "e6b8",
-      "unicode_decimal": 59064
-    },{
-      "icon_id": "24923349",
-      "name": "arrowdown",
-      "font_class": "arrowdown",
-      "unicode": "e6b8",
-      "unicode_decimal": 59064
-    },
-    {
-      "icon_id": "24923346",
-      "name": "arrowright",
-      "font_class": "right",
-      "unicode": "e6b5",
-      "unicode_decimal": 59061
-    },
-		{
-		  "icon_id": "24923346",
-		  "name": "arrowright",
-		  "font_class": "arrowright",
-		  "unicode": "e6b5",
-		  "unicode_decimal": 59061
-		},
-    {
-      "icon_id": "24923347",
-      "name": "arrowup",
-      "font_class": "top",
-      "unicode": "e6b6",
-      "unicode_decimal": 59062
-    },
-		{
-		  "icon_id": "24923347",
-		  "name": "arrowup",
-		  "font_class": "arrowup",
-		  "unicode": "e6b6",
-		  "unicode_decimal": 59062
-		},
-    {
-      "icon_id": "24923348",
-      "name": "arrowleft",
-      "font_class": "left",
-      "unicode": "e6b7",
-      "unicode_decimal": 59063
-    },
-		{
-		  "icon_id": "24923348",
-		  "name": "arrowleft",
-		  "font_class": "arrowleft",
-		  "unicode": "e6b7",
-		  "unicode_decimal": 59063
-		},
-    {
-      "icon_id": "24923334",
-      "name": "eye",
-      "font_class": "eye",
-      "unicode": "e651",
-      "unicode_decimal": 58961
-    },
-    {
-      "icon_id": "24923335",
-      "name": "eye-filled",
-      "font_class": "eye-filled",
-      "unicode": "e66a",
-      "unicode_decimal": 58986
-    },
-    {
-      "icon_id": "24923336",
-      "name": "eye-slash",
-      "font_class": "eye-slash",
-      "unicode": "e6b3",
-      "unicode_decimal": 59059
-    },
-    {
-      "icon_id": "24923337",
-      "name": "eye-slash-filled",
-      "font_class": "eye-slash-filled",
-      "unicode": "e6b4",
-      "unicode_decimal": 59060
-    },
-    {
-      "icon_id": "24923305",
-      "name": "info-filled",
-      "font_class": "info-filled",
-      "unicode": "e649",
-      "unicode_decimal": 58953
-    },
-    {
-      "icon_id": "24923299",
-      "name": "reload-01",
-      "font_class": "reload",
-      "unicode": "e6b2",
-      "unicode_decimal": 59058
-    },
-    {
-      "icon_id": "24923195",
-      "name": "mic_slash_fill",
-      "font_class": "micoff-filled",
-      "unicode": "e6b0",
-      "unicode_decimal": 59056
-    },
-    {
-      "icon_id": "24923165",
-      "name": "map-pin-ellipse",
-      "font_class": "map-pin-ellipse",
-      "unicode": "e6ac",
-      "unicode_decimal": 59052
-    },
-    {
-      "icon_id": "24923166",
-      "name": "map-pin",
-      "font_class": "map-pin",
-      "unicode": "e6ad",
-      "unicode_decimal": 59053
-    },
-    {
-      "icon_id": "24923167",
-      "name": "location",
-      "font_class": "location",
-      "unicode": "e6ae",
-      "unicode_decimal": 59054
-    },
-    {
-      "icon_id": "24923064",
-      "name": "starhalf",
-      "font_class": "starhalf",
-      "unicode": "e683",
-      "unicode_decimal": 59011
-    },
-    {
-      "icon_id": "24923065",
-      "name": "star",
-      "font_class": "star",
-      "unicode": "e688",
-      "unicode_decimal": 59016
-    },
-    {
-      "icon_id": "24923066",
-      "name": "star-filled",
-      "font_class": "star-filled",
-      "unicode": "e68f",
-      "unicode_decimal": 59023
-    },
-    {
-      "icon_id": "24899646",
-      "name": "a-rilidaka",
-      "font_class": "calendar",
-      "unicode": "e6a0",
-      "unicode_decimal": 59040
-    },
-    {
-      "icon_id": "24899647",
-      "name": "fire",
-      "font_class": "fire",
-      "unicode": "e6a1",
-      "unicode_decimal": 59041
-    },
-    {
-      "icon_id": "24899648",
-      "name": "paihangbang",
-      "font_class": "medal",
-      "unicode": "e6a2",
-      "unicode_decimal": 59042
-    },
-    {
-      "icon_id": "24899649",
-      "name": "font",
-      "font_class": "font",
-      "unicode": "e6a3",
-      "unicode_decimal": 59043
-    },
-    {
-      "icon_id": "24899650",
-      "name": "gift",
-      "font_class": "gift",
-      "unicode": "e6a4",
-      "unicode_decimal": 59044
-    },
-    {
-      "icon_id": "24899651",
-      "name": "link",
-      "font_class": "link",
-      "unicode": "e6a5",
-      "unicode_decimal": 59045
-    },
-    {
-      "icon_id": "24899652",
-      "name": "notification",
-      "font_class": "notification",
-      "unicode": "e6a6",
-      "unicode_decimal": 59046
-    },
-    {
-      "icon_id": "24899653",
-      "name": "staff",
-      "font_class": "staff",
-      "unicode": "e6a7",
-      "unicode_decimal": 59047
-    },
-    {
-      "icon_id": "24899654",
-      "name": "VIP",
-      "font_class": "vip",
-      "unicode": "e6a8",
-      "unicode_decimal": 59048
-    },
-    {
-      "icon_id": "24899655",
-      "name": "folder_add",
-      "font_class": "folder-add",
-      "unicode": "e6a9",
-      "unicode_decimal": 59049
-    },
-    {
-      "icon_id": "24899656",
-      "name": "tune",
-      "font_class": "tune",
-      "unicode": "e6aa",
-      "unicode_decimal": 59050
-    },
-    {
-      "icon_id": "24899657",
-      "name": "shimingrenzheng",
-      "font_class": "auth",
-      "unicode": "e6ab",
-      "unicode_decimal": 59051
-    },
-    {
-      "icon_id": "24899565",
-      "name": "person",
-      "font_class": "person",
-      "unicode": "e699",
-      "unicode_decimal": 59033
-    },
-    {
-      "icon_id": "24899566",
-      "name": "email-filled",
-      "font_class": "email-filled",
-      "unicode": "e69a",
-      "unicode_decimal": 59034
-    },
-    {
-      "icon_id": "24899567",
-      "name": "phone-filled",
-      "font_class": "phone-filled",
-      "unicode": "e69b",
-      "unicode_decimal": 59035
-    },
-    {
-      "icon_id": "24899568",
-      "name": "phone",
-      "font_class": "phone",
-      "unicode": "e69c",
-      "unicode_decimal": 59036
-    },
-    {
-      "icon_id": "24899570",
-      "name": "email",
-      "font_class": "email",
-      "unicode": "e69e",
-      "unicode_decimal": 59038
-    },
-    {
-      "icon_id": "24899571",
-      "name": "personadd",
-      "font_class": "personadd",
-      "unicode": "e69f",
-      "unicode_decimal": 59039
-    },
-    {
-      "icon_id": "24899558",
-      "name": "chatboxes-filled",
-      "font_class": "chatboxes-filled",
-      "unicode": "e692",
-      "unicode_decimal": 59026
-    },
-    {
-      "icon_id": "24899559",
-      "name": "contact",
-      "font_class": "contact",
-      "unicode": "e693",
-      "unicode_decimal": 59027
-    },
-    {
-      "icon_id": "24899560",
-      "name": "chatbubble-filled",
-      "font_class": "chatbubble-filled",
-      "unicode": "e694",
-      "unicode_decimal": 59028
-    },
-    {
-      "icon_id": "24899561",
-      "name": "contact-filled",
-      "font_class": "contact-filled",
-      "unicode": "e695",
-      "unicode_decimal": 59029
-    },
-    {
-      "icon_id": "24899562",
-      "name": "chatboxes",
-      "font_class": "chatboxes",
-      "unicode": "e696",
-      "unicode_decimal": 59030
-    },
-    {
-      "icon_id": "24899563",
-      "name": "chatbubble",
-      "font_class": "chatbubble",
-      "unicode": "e697",
-      "unicode_decimal": 59031
-    },
-    {
-      "icon_id": "24881290",
-      "name": "upload-filled",
-      "font_class": "upload-filled",
-      "unicode": "e68e",
-      "unicode_decimal": 59022
-    },
-    {
-      "icon_id": "24881292",
-      "name": "upload",
-      "font_class": "upload",
-      "unicode": "e690",
-      "unicode_decimal": 59024
-    },
-    {
-      "icon_id": "24881293",
-      "name": "weixin",
-      "font_class": "weixin",
-      "unicode": "e691",
-      "unicode_decimal": 59025
-    },
-    {
-      "icon_id": "24881274",
-      "name": "compose",
-      "font_class": "compose",
-      "unicode": "e67f",
-      "unicode_decimal": 59007
-    },
-    {
-      "icon_id": "24881275",
-      "name": "qq",
-      "font_class": "qq",
-      "unicode": "e680",
-      "unicode_decimal": 59008
-    },
-    {
-      "icon_id": "24881276",
-      "name": "download-filled",
-      "font_class": "download-filled",
-      "unicode": "e681",
-      "unicode_decimal": 59009
-    },
-    {
-      "icon_id": "24881277",
-      "name": "pengyouquan",
-      "font_class": "pyq",
-      "unicode": "e682",
-      "unicode_decimal": 59010
-    },
-    {
-      "icon_id": "24881279",
-      "name": "sound",
-      "font_class": "sound",
-      "unicode": "e684",
-      "unicode_decimal": 59012
-    },
-    {
-      "icon_id": "24881280",
-      "name": "trash-filled",
-      "font_class": "trash-filled",
-      "unicode": "e685",
-      "unicode_decimal": 59013
-    },
-    {
-      "icon_id": "24881281",
-      "name": "sound-filled",
-      "font_class": "sound-filled",
-      "unicode": "e686",
-      "unicode_decimal": 59014
-    },
-    {
-      "icon_id": "24881282",
-      "name": "trash",
-      "font_class": "trash",
-      "unicode": "e687",
-      "unicode_decimal": 59015
-    },
-    {
-      "icon_id": "24881284",
-      "name": "videocam-filled",
-      "font_class": "videocam-filled",
-      "unicode": "e689",
-      "unicode_decimal": 59017
-    },
-    {
-      "icon_id": "24881285",
-      "name": "spinner-cycle",
-      "font_class": "spinner-cycle",
-      "unicode": "e68a",
-      "unicode_decimal": 59018
-    },
-    {
-      "icon_id": "24881286",
-      "name": "weibo",
-      "font_class": "weibo",
-      "unicode": "e68b",
-      "unicode_decimal": 59019
-    },
-    {
-      "icon_id": "24881288",
-      "name": "videocam",
-      "font_class": "videocam",
-      "unicode": "e68c",
-      "unicode_decimal": 59020
-    },
-    {
-      "icon_id": "24881289",
-      "name": "download",
-      "font_class": "download",
-      "unicode": "e68d",
-      "unicode_decimal": 59021
-    },
-    {
-      "icon_id": "24879601",
-      "name": "help",
-      "font_class": "help",
-      "unicode": "e679",
-      "unicode_decimal": 59001
-    },
-    {
-      "icon_id": "24879602",
-      "name": "navigate-filled",
-      "font_class": "navigate-filled",
-      "unicode": "e67a",
-      "unicode_decimal": 59002
-    },
-    {
-      "icon_id": "24879603",
-      "name": "plusempty",
-      "font_class": "plusempty",
-      "unicode": "e67b",
-      "unicode_decimal": 59003
-    },
-    {
-      "icon_id": "24879604",
-      "name": "smallcircle",
-      "font_class": "smallcircle",
-      "unicode": "e67c",
-      "unicode_decimal": 59004
-    },
-    {
-      "icon_id": "24879605",
-      "name": "minus-filled",
-      "font_class": "minus-filled",
-      "unicode": "e67d",
-      "unicode_decimal": 59005
-    },
-    {
-      "icon_id": "24879606",
-      "name": "micoff",
-      "font_class": "micoff",
-      "unicode": "e67e",
-      "unicode_decimal": 59006
-    },
-    {
-      "icon_id": "24879588",
-      "name": "closeempty",
-      "font_class": "closeempty",
-      "unicode": "e66c",
-      "unicode_decimal": 58988
-    },
-    {
-      "icon_id": "24879589",
-      "name": "clear",
-      "font_class": "clear",
-      "unicode": "e66d",
-      "unicode_decimal": 58989
-    },
-    {
-      "icon_id": "24879590",
-      "name": "navigate",
-      "font_class": "navigate",
-      "unicode": "e66e",
-      "unicode_decimal": 58990
-    },
-    {
-      "icon_id": "24879591",
-      "name": "minus",
-      "font_class": "minus",
-      "unicode": "e66f",
-      "unicode_decimal": 58991
-    },
-    {
-      "icon_id": "24879592",
-      "name": "image",
-      "font_class": "image",
-      "unicode": "e670",
-      "unicode_decimal": 58992
-    },
-    {
-      "icon_id": "24879593",
-      "name": "mic",
-      "font_class": "mic",
-      "unicode": "e671",
-      "unicode_decimal": 58993
-    },
-    {
-      "icon_id": "24879594",
-      "name": "paperplane",
-      "font_class": "paperplane",
-      "unicode": "e672",
-      "unicode_decimal": 58994
-    },
-    {
-      "icon_id": "24879595",
-      "name": "close",
-      "font_class": "close",
-      "unicode": "e673",
-      "unicode_decimal": 58995
-    },
-    {
-      "icon_id": "24879596",
-      "name": "help-filled",
-      "font_class": "help-filled",
-      "unicode": "e674",
-      "unicode_decimal": 58996
-    },
-    {
-      "icon_id": "24879597",
-      "name": "plus-filled",
-      "font_class": "paperplane-filled",
-      "unicode": "e675",
-      "unicode_decimal": 58997
-    },
-    {
-      "icon_id": "24879598",
-      "name": "plus",
-      "font_class": "plus",
-      "unicode": "e676",
-      "unicode_decimal": 58998
-    },
-    {
-      "icon_id": "24879599",
-      "name": "mic-filled",
-      "font_class": "mic-filled",
-      "unicode": "e677",
-      "unicode_decimal": 58999
-    },
-    {
-      "icon_id": "24879600",
-      "name": "image-filled",
-      "font_class": "image-filled",
-      "unicode": "e678",
-      "unicode_decimal": 59000
-    },
-    {
-      "icon_id": "24855900",
-      "name": "locked-filled",
-      "font_class": "locked-filled",
-      "unicode": "e668",
-      "unicode_decimal": 58984
-    },
-    {
-      "icon_id": "24855901",
-      "name": "info",
-      "font_class": "info",
-      "unicode": "e669",
-      "unicode_decimal": 58985
-    },
-    {
-      "icon_id": "24855903",
-      "name": "locked",
-      "font_class": "locked",
-      "unicode": "e66b",
-      "unicode_decimal": 58987
-    },
-    {
-      "icon_id": "24855884",
-      "name": "camera-filled",
-      "font_class": "camera-filled",
-      "unicode": "e658",
-      "unicode_decimal": 58968
-    },
-    {
-      "icon_id": "24855885",
-      "name": "chat-filled",
-      "font_class": "chat-filled",
-      "unicode": "e659",
-      "unicode_decimal": 58969
-    },
-    {
-      "icon_id": "24855886",
-      "name": "camera",
-      "font_class": "camera",
-      "unicode": "e65a",
-      "unicode_decimal": 58970
-    },
-    {
-      "icon_id": "24855887",
-      "name": "circle",
-      "font_class": "circle",
-      "unicode": "e65b",
-      "unicode_decimal": 58971
-    },
-    {
-      "icon_id": "24855888",
-      "name": "checkmarkempty",
-      "font_class": "checkmarkempty",
-      "unicode": "e65c",
-      "unicode_decimal": 58972
-    },
-    {
-      "icon_id": "24855889",
-      "name": "chat",
-      "font_class": "chat",
-      "unicode": "e65d",
-      "unicode_decimal": 58973
-    },
-    {
-      "icon_id": "24855890",
-      "name": "circle-filled",
-      "font_class": "circle-filled",
-      "unicode": "e65e",
-      "unicode_decimal": 58974
-    },
-    {
-      "icon_id": "24855891",
-      "name": "flag",
-      "font_class": "flag",
-      "unicode": "e65f",
-      "unicode_decimal": 58975
-    },
-    {
-      "icon_id": "24855892",
-      "name": "flag-filled",
-      "font_class": "flag-filled",
-      "unicode": "e660",
-      "unicode_decimal": 58976
-    },
-    {
-      "icon_id": "24855893",
-      "name": "gear-filled",
-      "font_class": "gear-filled",
-      "unicode": "e661",
-      "unicode_decimal": 58977
-    },
-    {
-      "icon_id": "24855894",
-      "name": "home",
-      "font_class": "home",
-      "unicode": "e662",
-      "unicode_decimal": 58978
-    },
-    {
-      "icon_id": "24855895",
-      "name": "home-filled",
-      "font_class": "home-filled",
-      "unicode": "e663",
-      "unicode_decimal": 58979
-    },
-    {
-      "icon_id": "24855896",
-      "name": "gear",
-      "font_class": "gear",
-      "unicode": "e664",
-      "unicode_decimal": 58980
-    },
-    {
-      "icon_id": "24855897",
-      "name": "smallcircle-filled",
-      "font_class": "smallcircle-filled",
-      "unicode": "e665",
-      "unicode_decimal": 58981
-    },
-    {
-      "icon_id": "24855898",
-      "name": "map-filled",
-      "font_class": "map-filled",
-      "unicode": "e666",
-      "unicode_decimal": 58982
-    },
-    {
-      "icon_id": "24855899",
-      "name": "map",
-      "font_class": "map",
-      "unicode": "e667",
-      "unicode_decimal": 58983
-    },
-    {
-      "icon_id": "24855825",
-      "name": "refresh-filled",
-      "font_class": "refresh-filled",
-      "unicode": "e656",
-      "unicode_decimal": 58966
-    },
-    {
-      "icon_id": "24855826",
-      "name": "refresh",
-      "font_class": "refresh",
-      "unicode": "e657",
-      "unicode_decimal": 58967
-    },
-    {
-      "icon_id": "24855808",
-      "name": "cloud-upload",
-      "font_class": "cloud-upload",
-      "unicode": "e645",
-      "unicode_decimal": 58949
-    },
-    {
-      "icon_id": "24855809",
-      "name": "cloud-download-filled",
-      "font_class": "cloud-download-filled",
-      "unicode": "e646",
-      "unicode_decimal": 58950
-    },
-    {
-      "icon_id": "24855810",
-      "name": "cloud-download",
-      "font_class": "cloud-download",
-      "unicode": "e647",
-      "unicode_decimal": 58951
-    },
-    {
-      "icon_id": "24855811",
-      "name": "cloud-upload-filled",
-      "font_class": "cloud-upload-filled",
-      "unicode": "e648",
-      "unicode_decimal": 58952
-    },
-    {
-      "icon_id": "24855813",
-      "name": "redo",
-      "font_class": "redo",
-      "unicode": "e64a",
-      "unicode_decimal": 58954
-    },
-    {
-      "icon_id": "24855814",
-      "name": "images-filled",
-      "font_class": "images-filled",
-      "unicode": "e64b",
-      "unicode_decimal": 58955
-    },
-    {
-      "icon_id": "24855815",
-      "name": "undo-filled",
-      "font_class": "undo-filled",
-      "unicode": "e64c",
-      "unicode_decimal": 58956
-    },
-    {
-      "icon_id": "24855816",
-      "name": "more",
-      "font_class": "more",
-      "unicode": "e64d",
-      "unicode_decimal": 58957
-    },
-    {
-      "icon_id": "24855817",
-      "name": "more-filled",
-      "font_class": "more-filled",
-      "unicode": "e64e",
-      "unicode_decimal": 58958
-    },
-    {
-      "icon_id": "24855818",
-      "name": "undo",
-      "font_class": "undo",
-      "unicode": "e64f",
-      "unicode_decimal": 58959
-    },
-    {
-      "icon_id": "24855819",
-      "name": "images",
-      "font_class": "images",
-      "unicode": "e650",
-      "unicode_decimal": 58960
-    },
-    {
-      "icon_id": "24855821",
-      "name": "paperclip",
-      "font_class": "paperclip",
-      "unicode": "e652",
-      "unicode_decimal": 58962
-    },
-    {
-      "icon_id": "24855822",
-      "name": "settings",
-      "font_class": "settings",
-      "unicode": "e653",
-      "unicode_decimal": 58963
-    },
-    {
-      "icon_id": "24855823",
-      "name": "search",
-      "font_class": "search",
-      "unicode": "e654",
-      "unicode_decimal": 58964
-    },
-    {
-      "icon_id": "24855824",
-      "name": "redo-filled",
-      "font_class": "redo-filled",
-      "unicode": "e655",
-      "unicode_decimal": 58965
-    },
-    {
-      "icon_id": "24841702",
-      "name": "list",
-      "font_class": "list",
-      "unicode": "e644",
-      "unicode_decimal": 58948
-    },
-    {
-      "icon_id": "24841489",
-      "name": "mail-open-filled",
-      "font_class": "mail-open-filled",
-      "unicode": "e63a",
-      "unicode_decimal": 58938
-    },
-    {
-      "icon_id": "24841491",
-      "name": "hand-thumbsdown-filled",
-      "font_class": "hand-down-filled",
-      "unicode": "e63c",
-      "unicode_decimal": 58940
-    },
-    {
-      "icon_id": "24841492",
-      "name": "hand-thumbsdown",
-      "font_class": "hand-down",
-      "unicode": "e63d",
-      "unicode_decimal": 58941
-    },
-    {
-      "icon_id": "24841493",
-      "name": "hand-thumbsup-filled",
-      "font_class": "hand-up-filled",
-      "unicode": "e63e",
-      "unicode_decimal": 58942
-    },
-    {
-      "icon_id": "24841494",
-      "name": "hand-thumbsup",
-      "font_class": "hand-up",
-      "unicode": "e63f",
-      "unicode_decimal": 58943
-    },
-    {
-      "icon_id": "24841496",
-      "name": "heart-filled",
-      "font_class": "heart-filled",
-      "unicode": "e641",
-      "unicode_decimal": 58945
-    },
-    {
-      "icon_id": "24841498",
-      "name": "mail-open",
-      "font_class": "mail-open",
-      "unicode": "e643",
-      "unicode_decimal": 58947
-    },
-    {
-      "icon_id": "24841488",
-      "name": "heart",
-      "font_class": "heart",
-      "unicode": "e639",
-      "unicode_decimal": 58937
-    },
-    {
-      "icon_id": "24839963",
-      "name": "loop",
-      "font_class": "loop",
-      "unicode": "e633",
-      "unicode_decimal": 58931
-    },
-    {
-      "icon_id": "24839866",
-      "name": "pulldown",
-      "font_class": "pulldown",
-      "unicode": "e632",
-      "unicode_decimal": 58930
-    },
-    {
-      "icon_id": "24813798",
-      "name": "scan",
-      "font_class": "scan",
-      "unicode": "e62a",
-      "unicode_decimal": 58922
-    },
-    {
-      "icon_id": "24813786",
-      "name": "bars",
-      "font_class": "bars",
-      "unicode": "e627",
-      "unicode_decimal": 58919
-    },
-    {
-      "icon_id": "24813788",
-      "name": "cart-filled",
-      "font_class": "cart-filled",
-      "unicode": "e629",
-      "unicode_decimal": 58921
-    },
-    {
-      "icon_id": "24813790",
-      "name": "checkbox",
-      "font_class": "checkbox",
-      "unicode": "e62b",
-      "unicode_decimal": 58923
-    },
-    {
-      "icon_id": "24813791",
-      "name": "checkbox-filled",
-      "font_class": "checkbox-filled",
-      "unicode": "e62c",
-      "unicode_decimal": 58924
-    },
-    {
-      "icon_id": "24813794",
-      "name": "shop",
-      "font_class": "shop",
-      "unicode": "e62f",
-      "unicode_decimal": 58927
-    },
-    {
-      "icon_id": "24813795",
-      "name": "headphones",
-      "font_class": "headphones",
-      "unicode": "e630",
-      "unicode_decimal": 58928
-    },
-    {
-      "icon_id": "24813796",
-      "name": "cart",
-      "font_class": "cart",
-      "unicode": "e631",
-      "unicode_decimal": 58929
-    }
-  ]
-}
diff --git a/src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue b/src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue
deleted file mode 100644
index 86e7444..0000000
--- a/src/uni_modules/uni-icons/components/uni-icons/uni-icons.vue
+++ /dev/null
@@ -1,96 +0,0 @@
-<template>
-	<!-- #ifdef APP-NVUE -->
-	<text :style="{ color: color, 'font-size': iconSize }" class="uni-icons" @click="_onClick">{{unicode}}</text>
-	<!-- #endif -->
-	<!-- #ifndef APP-NVUE -->
-	<text :style="{ color: color, 'font-size': iconSize }" class="uni-icons" :class="['uniui-'+type,customPrefix,customPrefix?type:'']" @click="_onClick"></text>
-	<!-- #endif -->
-</template>
-
-<script>
-	import icons from './icons.js';
-	const getVal = (val) => {
-		const reg = /^[0-9]*$/g
-		return (typeof val === 'number' ||銆�reg.test(val) )? val + 'px' : val;
-	} 
-	// #ifdef APP-NVUE
-	var domModule = weex.requireModule('dom');
-	import iconUrl from './uniicons.ttf'
-	domModule.addRule('fontFace', {
-		'fontFamily': "uniicons",
-		'src': "url('"+iconUrl+"')"
-	});
-	// #endif
-
-	/**
-	 * Icons 鍥炬爣
-	 * @description 鐢ㄤ簬灞曠ず icons 鍥炬爣
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=28
-	 * @property {Number} size 鍥炬爣澶у皬
-	 * @property {String} type 鍥炬爣鍥炬锛屽弬鑰冪ず渚�
-	 * @property {String} color 鍥炬爣棰滆壊
-	 * @property {String} customPrefix 鑷畾涔夊浘鏍�
-	 * @event {Function} click 鐐瑰嚮 Icon 瑙﹀彂浜嬩欢
-	 */
-	export default {
-		name: 'UniIcons',
-		emits:['click'],
-		props: {
-			type: {
-				type: String,
-				default: ''
-			},
-			color: {
-				type: String,
-				default: '#333333'
-			},
-			size: {
-				type: [Number, String],
-				default: 16
-			},
-			customPrefix:{
-				type: String,
-				default: ''
-			}
-		},
-		data() {
-			return {
-				icons: icons.glyphs
-			}
-		},
-		computed:{
-			unicode(){
-				let code = this.icons.find(v=>v.font_class === this.type)
-				if(code){
-					return unescape(`%u${code.unicode}`)
-				}
-				return ''
-			},
-			iconSize(){
-				return getVal(this.size)
-			}
-		},
-		methods: {
-			_onClick() {
-				this.$emit('click')
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	/* #ifndef APP-NVUE */
-	@import './uniicons.css';
-	@font-face {
-		font-family: uniicons;
-		src: url('./uniicons.ttf') format('truetype');
-	}
-
-	/* #endif */
-	.uni-icons {
-		font-family: uniicons;
-		text-decoration: none;
-		text-align: center;
-	}
-
-</style>
diff --git a/src/uni_modules/uni-icons/components/uni-icons/uniicons.css b/src/uni_modules/uni-icons/components/uni-icons/uniicons.css
deleted file mode 100644
index 2f56eab..0000000
--- a/src/uni_modules/uni-icons/components/uni-icons/uniicons.css
+++ /dev/null
@@ -1,663 +0,0 @@
-.uniui-color:before {
-  content: "\e6cf";
-}
-
-.uniui-wallet:before {
-  content: "\e6b1";
-}
-
-.uniui-settings-filled:before {
-  content: "\e6ce";
-}
-
-.uniui-auth-filled:before {
-  content: "\e6cc";
-}
-
-.uniui-shop-filled:before {
-  content: "\e6cd";
-}
-
-.uniui-staff-filled:before {
-  content: "\e6cb";
-}
-
-.uniui-vip-filled:before {
-  content: "\e6c6";
-}
-
-.uniui-plus-filled:before {
-  content: "\e6c7";
-}
-
-.uniui-folder-add-filled:before {
-  content: "\e6c8";
-}
-
-.uniui-color-filled:before {
-  content: "\e6c9";
-}
-
-.uniui-tune-filled:before {
-  content: "\e6ca";
-}
-
-.uniui-calendar-filled:before {
-  content: "\e6c0";
-}
-
-.uniui-notification-filled:before {
-  content: "\e6c1";
-}
-
-.uniui-wallet-filled:before {
-  content: "\e6c2";
-}
-
-.uniui-medal-filled:before {
-  content: "\e6c3";
-}
-
-.uniui-gift-filled:before {
-  content: "\e6c4";
-}
-
-.uniui-fire-filled:before {
-  content: "\e6c5";
-}
-
-.uniui-refreshempty:before {
-  content: "\e6bf";
-}
-
-.uniui-location-filled:before {
-  content: "\e6af";
-}
-
-.uniui-person-filled:before {
-  content: "\e69d";
-}
-
-.uniui-personadd-filled:before {
-  content: "\e698";
-}
-
-.uniui-back:before {
-  content: "\e6b9";
-}
-
-.uniui-forward:before {
-  content: "\e6ba";
-}
-
-.uniui-arrow-right:before {
-  content: "\e6bb";
-}
-
-.uniui-arrowthinright:before {
-  content: "\e6bb";
-}
-
-.uniui-arrow-left:before {
-  content: "\e6bc";
-}
-
-.uniui-arrowthinleft:before {
-  content: "\e6bc";
-}
-
-.uniui-arrow-up:before {
-  content: "\e6bd";
-}
-
-.uniui-arrowthinup:before {
-  content: "\e6bd";
-}
-
-.uniui-arrow-down:before {
-  content: "\e6be";
-}
-
-.uniui-arrowthindown:before {
-  content: "\e6be";
-}
-
-.uniui-bottom:before {
-  content: "\e6b8";
-}
-
-.uniui-arrowdown:before {
-  content: "\e6b8";
-}
-
-.uniui-right:before {
-  content: "\e6b5";
-}
-
-.uniui-arrowright:before {
-  content: "\e6b5";
-}
-
-.uniui-top:before {
-  content: "\e6b6";
-}
-
-.uniui-arrowup:before {
-  content: "\e6b6";
-}
-
-.uniui-left:before {
-  content: "\e6b7";
-}
-
-.uniui-arrowleft:before {
-  content: "\e6b7";
-}
-
-.uniui-eye:before {
-  content: "\e651";
-}
-
-.uniui-eye-filled:before {
-  content: "\e66a";
-}
-
-.uniui-eye-slash:before {
-  content: "\e6b3";
-}
-
-.uniui-eye-slash-filled:before {
-  content: "\e6b4";
-}
-
-.uniui-info-filled:before {
-  content: "\e649";
-}
-
-.uniui-reload:before {
-  content: "\e6b2";
-}
-
-.uniui-micoff-filled:before {
-  content: "\e6b0";
-}
-
-.uniui-map-pin-ellipse:before {
-  content: "\e6ac";
-}
-
-.uniui-map-pin:before {
-  content: "\e6ad";
-}
-
-.uniui-location:before {
-  content: "\e6ae";
-}
-
-.uniui-starhalf:before {
-  content: "\e683";
-}
-
-.uniui-star:before {
-  content: "\e688";
-}
-
-.uniui-star-filled:before {
-  content: "\e68f";
-}
-
-.uniui-calendar:before {
-  content: "\e6a0";
-}
-
-.uniui-fire:before {
-  content: "\e6a1";
-}
-
-.uniui-medal:before {
-  content: "\e6a2";
-}
-
-.uniui-font:before {
-  content: "\e6a3";
-}
-
-.uniui-gift:before {
-  content: "\e6a4";
-}
-
-.uniui-link:before {
-  content: "\e6a5";
-}
-
-.uniui-notification:before {
-  content: "\e6a6";
-}
-
-.uniui-staff:before {
-  content: "\e6a7";
-}
-
-.uniui-vip:before {
-  content: "\e6a8";
-}
-
-.uniui-folder-add:before {
-  content: "\e6a9";
-}
-
-.uniui-tune:before {
-  content: "\e6aa";
-}
-
-.uniui-auth:before {
-  content: "\e6ab";
-}
-
-.uniui-person:before {
-  content: "\e699";
-}
-
-.uniui-email-filled:before {
-  content: "\e69a";
-}
-
-.uniui-phone-filled:before {
-  content: "\e69b";
-}
-
-.uniui-phone:before {
-  content: "\e69c";
-}
-
-.uniui-email:before {
-  content: "\e69e";
-}
-
-.uniui-personadd:before {
-  content: "\e69f";
-}
-
-.uniui-chatboxes-filled:before {
-  content: "\e692";
-}
-
-.uniui-contact:before {
-  content: "\e693";
-}
-
-.uniui-chatbubble-filled:before {
-  content: "\e694";
-}
-
-.uniui-contact-filled:before {
-  content: "\e695";
-}
-
-.uniui-chatboxes:before {
-  content: "\e696";
-}
-
-.uniui-chatbubble:before {
-  content: "\e697";
-}
-
-.uniui-upload-filled:before {
-  content: "\e68e";
-}
-
-.uniui-upload:before {
-  content: "\e690";
-}
-
-.uniui-weixin:before {
-  content: "\e691";
-}
-
-.uniui-compose:before {
-  content: "\e67f";
-}
-
-.uniui-qq:before {
-  content: "\e680";
-}
-
-.uniui-download-filled:before {
-  content: "\e681";
-}
-
-.uniui-pyq:before {
-  content: "\e682";
-}
-
-.uniui-sound:before {
-  content: "\e684";
-}
-
-.uniui-trash-filled:before {
-  content: "\e685";
-}
-
-.uniui-sound-filled:before {
-  content: "\e686";
-}
-
-.uniui-trash:before {
-  content: "\e687";
-}
-
-.uniui-videocam-filled:before {
-  content: "\e689";
-}
-
-.uniui-spinner-cycle:before {
-  content: "\e68a";
-}
-
-.uniui-weibo:before {
-  content: "\e68b";
-}
-
-.uniui-videocam:before {
-  content: "\e68c";
-}
-
-.uniui-download:before {
-  content: "\e68d";
-}
-
-.uniui-help:before {
-  content: "\e679";
-}
-
-.uniui-navigate-filled:before {
-  content: "\e67a";
-}
-
-.uniui-plusempty:before {
-  content: "\e67b";
-}
-
-.uniui-smallcircle:before {
-  content: "\e67c";
-}
-
-.uniui-minus-filled:before {
-  content: "\e67d";
-}
-
-.uniui-micoff:before {
-  content: "\e67e";
-}
-
-.uniui-closeempty:before {
-  content: "\e66c";
-}
-
-.uniui-clear:before {
-  content: "\e66d";
-}
-
-.uniui-navigate:before {
-  content: "\e66e";
-}
-
-.uniui-minus:before {
-  content: "\e66f";
-}
-
-.uniui-image:before {
-  content: "\e670";
-}
-
-.uniui-mic:before {
-  content: "\e671";
-}
-
-.uniui-paperplane:before {
-  content: "\e672";
-}
-
-.uniui-close:before {
-  content: "\e673";
-}
-
-.uniui-help-filled:before {
-  content: "\e674";
-}
-
-.uniui-paperplane-filled:before {
-  content: "\e675";
-}
-
-.uniui-plus:before {
-  content: "\e676";
-}
-
-.uniui-mic-filled:before {
-  content: "\e677";
-}
-
-.uniui-image-filled:before {
-  content: "\e678";
-}
-
-.uniui-locked-filled:before {
-  content: "\e668";
-}
-
-.uniui-info:before {
-  content: "\e669";
-}
-
-.uniui-locked:before {
-  content: "\e66b";
-}
-
-.uniui-camera-filled:before {
-  content: "\e658";
-}
-
-.uniui-chat-filled:before {
-  content: "\e659";
-}
-
-.uniui-camera:before {
-  content: "\e65a";
-}
-
-.uniui-circle:before {
-  content: "\e65b";
-}
-
-.uniui-checkmarkempty:before {
-  content: "\e65c";
-}
-
-.uniui-chat:before {
-  content: "\e65d";
-}
-
-.uniui-circle-filled:before {
-  content: "\e65e";
-}
-
-.uniui-flag:before {
-  content: "\e65f";
-}
-
-.uniui-flag-filled:before {
-  content: "\e660";
-}
-
-.uniui-gear-filled:before {
-  content: "\e661";
-}
-
-.uniui-home:before {
-  content: "\e662";
-}
-
-.uniui-home-filled:before {
-  content: "\e663";
-}
-
-.uniui-gear:before {
-  content: "\e664";
-}
-
-.uniui-smallcircle-filled:before {
-  content: "\e665";
-}
-
-.uniui-map-filled:before {
-  content: "\e666";
-}
-
-.uniui-map:before {
-  content: "\e667";
-}
-
-.uniui-refresh-filled:before {
-  content: "\e656";
-}
-
-.uniui-refresh:before {
-  content: "\e657";
-}
-
-.uniui-cloud-upload:before {
-  content: "\e645";
-}
-
-.uniui-cloud-download-filled:before {
-  content: "\e646";
-}
-
-.uniui-cloud-download:before {
-  content: "\e647";
-}
-
-.uniui-cloud-upload-filled:before {
-  content: "\e648";
-}
-
-.uniui-redo:before {
-  content: "\e64a";
-}
-
-.uniui-images-filled:before {
-  content: "\e64b";
-}
-
-.uniui-undo-filled:before {
-  content: "\e64c";
-}
-
-.uniui-more:before {
-  content: "\e64d";
-}
-
-.uniui-more-filled:before {
-  content: "\e64e";
-}
-
-.uniui-undo:before {
-  content: "\e64f";
-}
-
-.uniui-images:before {
-  content: "\e650";
-}
-
-.uniui-paperclip:before {
-  content: "\e652";
-}
-
-.uniui-settings:before {
-  content: "\e653";
-}
-
-.uniui-search:before {
-  content: "\e654";
-}
-
-.uniui-redo-filled:before {
-  content: "\e655";
-}
-
-.uniui-list:before {
-  content: "\e644";
-}
-
-.uniui-mail-open-filled:before {
-  content: "\e63a";
-}
-
-.uniui-hand-down-filled:before {
-  content: "\e63c";
-}
-
-.uniui-hand-down:before {
-  content: "\e63d";
-}
-
-.uniui-hand-up-filled:before {
-  content: "\e63e";
-}
-
-.uniui-hand-up:before {
-  content: "\e63f";
-}
-
-.uniui-heart-filled:before {
-  content: "\e641";
-}
-
-.uniui-mail-open:before {
-  content: "\e643";
-}
-
-.uniui-heart:before {
-  content: "\e639";
-}
-
-.uniui-loop:before {
-  content: "\e633";
-}
-
-.uniui-pulldown:before {
-  content: "\e632";
-}
-
-.uniui-scan:before {
-  content: "\e62a";
-}
-
-.uniui-bars:before {
-  content: "\e627";
-}
-
-.uniui-cart-filled:before {
-  content: "\e629";
-}
-
-.uniui-checkbox:before {
-  content: "\e62b";
-}
-
-.uniui-checkbox-filled:before {
-  content: "\e62c";
-}
-
-.uniui-shop:before {
-  content: "\e62f";
-}
-
-.uniui-headphones:before {
-  content: "\e630";
-}
-
-.uniui-cart:before {
-  content: "\e631";
-}
diff --git a/src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf b/src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf
deleted file mode 100644
index 835f33b..0000000
--- a/src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf
+++ /dev/null
Binary files differ
diff --git a/src/uni_modules/uni-icons/package.json b/src/uni_modules/uni-icons/package.json
deleted file mode 100644
index d1c4e77..0000000
--- a/src/uni_modules/uni-icons/package.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
-  "id": "uni-icons",
-  "displayName": "uni-icons 鍥炬爣",
-  "version": "1.3.5",
-  "description": "鍥炬爣缁勪欢锛岀敤浜庡睍绀虹Щ鍔ㄧ甯歌鐨勫浘鏍囷紝鍙嚜瀹氫箟棰滆壊銆佸ぇ灏忋��",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "icon",
-    "鍥炬爣"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": "^3.2.14"
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-icons/readme.md b/src/uni_modules/uni-icons/readme.md
deleted file mode 100644
index 86234ba..0000000
--- a/src/uni_modules/uni-icons/readme.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Icons 鍥炬爣
-> **缁勪欢鍚嶏細uni-icons**
-> 浠g爜鍧楋細 `uIcons`
-
-鐢ㄤ簬灞曠ず icons 鍥炬爣 銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-icons)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
diff --git a/src/uni_modules/uni-indexed-list/changelog.md b/src/uni_modules/uni-indexed-list/changelog.md
deleted file mode 100644
index 08fa71c..0000000
--- a/src/uni_modules/uni-indexed-list/changelog.md
+++ /dev/null
@@ -1,17 +0,0 @@
-## 1.2.1锛�2021-11-22锛�
-- 淇 vue3涓煇浜泂css鍙橀噺鏃犳硶鎵惧埌鐨勯棶棰�
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-indexed-list](https://uniapp.dcloud.io/component/uniui/uni-indexed-list)
-## 1.1.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.11锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.0.10锛�2021-04-21锛�
-- 浼樺寲 娣诲姞渚濊禆 uni-icons, 瀵煎叆鍚庤嚜鍔ㄤ笅杞戒緷璧�
-## 1.0.9锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-
-## 1.0.8锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 鏂板 鏀寔 PC 绔�
diff --git a/src/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue b/src/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue
deleted file mode 100644
index 2f13bae..0000000
--- a/src/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue
+++ /dev/null
@@ -1,144 +0,0 @@
-<template>
-	<view>
-		<view v-if="loaded || list.itemIndex < 15" class="uni-indexed-list__title-wrapper">
-			<text v-if="list.items && list.items.length > 0" class="uni-indexed-list__title">{{ list.key }}</text>
-		</view>
-		<view v-if="(loaded || list.itemIndex < 15) && list.items && list.items.length > 0" class="uni-indexed-list__list">
-			<view v-for="(item, index) in list.items" :key="index" class="uni-indexed-list__item" hover-class="uni-indexed-list__item--hover">
-				<view class="uni-indexed-list__item-container" @click="onClick(idx, index)">
-					<view class="uni-indexed-list__item-border" :class="{'uni-indexed-list__item-border--last':index===list.items.length-1}">
-						<view v-if="showSelect" style="margin-right: 20rpx;">
-							<uni-icons :type="item.checked ? 'checkbox-filled' : 'circle'" :color="item.checked ? '#007aff' : '#C0C0C0'" size="24" />
-						</view>
-						<text class="uni-indexed-list__item-content">{{ item.name }}</text>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: 'UniIndexedList',
-		emits:['itemClick'],
-		props: {
-			loaded: {
-				type: Boolean,
-				default: false
-			},
-			idx: {
-				type: Number,
-				default: 0
-			},
-			list: {
-				type: Object,
-				default () {
-					return {}
-				}
-			},
-			showSelect: {
-				type: Boolean,
-				default: false
-			}
-		},
-		methods: {
-			onClick(idx, index) {
-				this.$emit("itemClick", {
-					idx,
-					index
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss" >
-	.uni-indexed-list__list {
-		background-color: $uni-bg-color;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		border-top-style: solid;
-		border-top-width: 1px;
-		border-top-color: #DEDEDE;
-	}
-
-	.uni-indexed-list__item {
-		font-size: 14px;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: space-between;
-		align-items: center;
-	}
-
-	.uni-indexed-list__item-container {
-		padding-left: 15px;
-		flex: 1;
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		box-sizing: border-box;
-		/* #endif */
-		flex-direction: row;
-		justify-content: space-between;
-		align-items: center;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-indexed-list__item-border {
-		flex: 1;
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		box-sizing: border-box;
-		/* #endif */
-		flex-direction: row;
-		justify-content: space-between;
-		align-items: center;
-		height: 50px;
-		padding: 25px;
-		padding-left: 0;
-		border-bottom-style: solid;
-		border-bottom-width: 1px;
-		border-bottom-color:  #DEDEDE;
-	}
-
-	.uni-indexed-list__item-border--last {
-		border-bottom-width: 0px;
-	}
-
-	.uni-indexed-list__item-content {
-		flex: 1;
-		font-size: 14px;
-		color: #191919;
-	}
-
-	.uni-indexed-list {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-	}
-
-	.uni-indexed-list__title-wrapper {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		width: 100%;
-		/* #endif */
-		background-color: #f7f7f7;
-	}
-
-	.uni-indexed-list__title {
-		padding: 6px 12px;
-		line-height: 24px;
-		font-size: 16px;
-		font-weight: 500;
-	}
-</style>
diff --git a/src/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue b/src/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue
deleted file mode 100644
index 35e168c..0000000
--- a/src/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list.vue
+++ /dev/null
@@ -1,367 +0,0 @@
-<template>
-	<view class="uni-indexed-list" ref="list" id="list">
-		<!-- #ifdef APP-NVUE -->
-		<list class="uni-indexed-list__scroll" scrollable="true" show-scrollbar="false">
-			<cell v-for="(list, idx) in lists" :key="idx" :ref="'uni-indexed-list-' + idx">
-				<!-- #endif -->
-				<!-- #ifndef APP-NVUE -->
-				<scroll-view :scroll-into-view="scrollViewId" class="uni-indexed-list__scroll" scroll-y>
-					<view v-for="(list, idx) in lists" :key="idx" :id="'uni-indexed-list-' + idx">
-						<!-- #endif -->
-						<indexed-list-item :list="list" :loaded="loaded" :idx="idx" :showSelect="showSelect"
-							@itemClick="onClick"></indexed-list-item>
-						<!-- #ifndef APP-NVUE -->
-					</view>
-				</scroll-view>
-				<!-- #endif -->
-				<!-- #ifdef APP-NVUE -->
-			</cell>
-		</list>
-		<!-- #endif -->
-		<view class="uni-indexed-list__menu" @touchstart="touchStart" @touchmove.stop.prevent="touchMove"
-			@touchend="touchEnd" @mousedown.stop="mousedown" @mousemove.stop.prevent="mousemove"
-			@mouseleave.stop="mouseleave">
-			<view v-for="(list, key) in lists" :key="key" class="uni-indexed-list__menu-item"
-				:class="touchmoveIndex == key ? 'uni-indexed-list__menu--active' : ''">
-				<text class="uni-indexed-list__menu-text"
-					:class="touchmoveIndex == key ? 'uni-indexed-list__menu-text--active' : ''">{{ list.key }}</text>
-			</view>
-		</view>
-		<view v-if="touchmove" class="uni-indexed-list__alert-wrapper">
-			<text class="uni-indexed-list__alert">{{ lists[touchmoveIndex].key }}</text>
-		</view>
-	</view>
-</template>
-<script>
-	import indexedListItem from './uni-indexed-list-item.vue'
-	// #ifdef APP-NVUE
-	const dom = weex.requireModule('dom');
-	// #endif
-	// #ifdef APP-PLUS
-	function throttle(func, delay) {
-		var prev = Date.now();
-		return function() {
-			var context = this;
-			var args = arguments;
-			var now = Date.now();
-			if (now - prev >= delay) {
-				func.apply(context, args);
-				prev = Date.now();
-			}
-		}
-	}
-
-	function touchMove(e) {
-		let pageY = e.touches[0].pageY
-		let index = Math.floor((pageY - this.winOffsetY) / this.itemHeight)
-		if (this.touchmoveIndex === index) {
-			return false
-		}
-		let item = this.lists[index]
-		if (item) {
-			// #ifndef APP-NVUE
-			this.scrollViewId = 'uni-indexed-list-' + index
-			this.touchmoveIndex = index
-			// #endif
-			// #ifdef APP-NVUE
-			dom.scrollToElement(this.$refs['uni-indexed-list-' + index][0], {
-				animated: false
-			})
-			this.touchmoveIndex = index
-			// #endif
-		}
-	}
-	const throttleTouchMove = throttle(touchMove, 40)
-	// #endif
-
-	/**
-	 * IndexedList 绱㈠紩鍒楄〃
-	 * @description 鐢ㄤ簬灞曠ず绱㈠紩鍒楄〃
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=375
-	 * @property {Boolean} showSelect = [true|false] 灞曠ず妯″紡
-	 * 	@value true 灞曠ず妯″紡
-	 * 	@value false 閫夋嫨妯″紡
-	 * @property {Object} options 绱㈠紩鍒楄〃闇�瑕佺殑鏁版嵁瀵硅薄
-	 * @event {Function} click 鐐瑰嚮鍒楄〃浜嬩欢 锛岃繑鍥炲綋鍓嶉�夋嫨椤圭殑浜嬩欢瀵硅薄
-	 * @example <uni-indexed-list options="" showSelect="false" @click=""></uni-indexed-list>
-	 */
-	export default {
-		name: 'UniIndexedList',
-		components: {
-			indexedListItem
-		},
-		emits: ['click'],
-		props: {
-			options: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			showSelect: {
-				type: Boolean,
-				default: false
-			}
-		},
-		data() {
-			return {
-				lists: [],
-				winHeight: 0,
-				itemHeight: 0,
-				winOffsetY: 0,
-				touchmove: false,
-				touchmoveIndex: -1,
-				scrollViewId: '',
-				touchmovable: true,
-				loaded: false,
-				isPC: false
-			}
-		},
-		watch: {
-			options: {
-				handler: function() {
-					this.setList()
-				},
-				deep: true
-			}
-		},
-		mounted() {
-			// #ifdef H5
-			this.isPC = this.IsPC()
-			// #endif
-			setTimeout(() => {
-				this.setList()
-			}, 50)
-			setTimeout(() => {
-				this.loaded = true
-			}, 300);
-		},
-		methods: {
-			setList() {
-				let index = 0;
-				this.lists = []
-				this.options.forEach((value) => {
-					if (value.data.length === 0) {
-						return
-					}
-					let indexBefore = index
-					let items = value.data.map(item => {
-						let obj = {}
-						obj['key'] = value.letter
-						obj['name'] = item
-						obj['itemIndex'] = index
-						index++
-						obj.checked = item.checked ? item.checked : false
-						return obj
-					})
-					this.lists.push({
-						title: value.letter,
-						key: value.letter,
-						items: items,
-						itemIndex: indexBefore
-					})
-				})
-				// #ifndef APP-NVUE
-				uni.createSelectorQuery()
-					.in(this)
-					.select('#list')
-					.boundingClientRect()
-					.exec(ret => {
-						this.winOffsetY = ret[0].top
-						this.winHeight = ret[0].height
-						this.itemHeight = this.winHeight / this.lists.length
-					})
-				// #endif
-				// #ifdef APP-NVUE
-				dom.getComponentRect(this.$refs['list'], (res) => {
-					this.winOffsetY = res.size.top
-					this.winHeight = res.size.height
-					this.itemHeight = this.winHeight / this.lists.length
-				})
-				// #endif
-			},
-			touchStart(e) {
-				this.touchmove = true
-				let pageY = this.isPC ? e.pageY : e.touches[0].pageY
-				let index = Math.floor((pageY - this.winOffsetY) / this.itemHeight)
-				let item = this.lists[index]
-				if (item) {
-					this.scrollViewId = 'uni-indexed-list-' + index
-					this.touchmoveIndex = index
-					// #ifdef APP-NVUE
-					dom.scrollToElement(this.$refs['uni-indexed-list-' + index][0], {
-						animated: false
-					})
-					// #endif
-				}
-			},
-			touchMove(e) {
-				// #ifndef APP-PLUS
-				let pageY = this.isPC ? e.pageY : e.touches[0].pageY
-				let index = Math.floor((pageY - this.winOffsetY) / this.itemHeight)
-				if (this.touchmoveIndex === index) {
-					return false
-				}
-				let item = this.lists[index]
-				if (item) {
-					this.scrollViewId = 'uni-indexed-list-' + index
-					this.touchmoveIndex = index
-				}
-				// #endif
-				// #ifdef APP-PLUS
-				throttleTouchMove.call(this, e)
-				// #endif
-			},
-			touchEnd() {
-				this.touchmove = false
-				// this.touchmoveIndex = -1
-			},
-
-			/**
-			 * 鍏煎 PC @tian
-			 */
-
-			mousedown(e) {
-				if (!this.isPC) return
-				this.touchStart(e)
-			},
-			mousemove(e) {
-				if (!this.isPC) return
-				this.touchMove(e)
-			},
-			mouseleave(e) {
-				if (!this.isPC) return
-				this.touchEnd(e)
-			},
-
-			// #ifdef H5
-			IsPC() {
-				var userAgentInfo = navigator.userAgent;
-				var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
-				var flag = true;
-				for (let v = 0; v < Agents.length - 1; v++) {
-					if (userAgentInfo.indexOf(Agents[v]) > 0) {
-						flag = false;
-						break;
-					}
-				}
-				return flag;
-			},
-			// #endif
-
-
-			onClick(e) {
-				let {
-					idx,
-					index
-				} = e
-				let obj = {}
-				for (let key in this.lists[idx].items[index]) {
-					obj[key] = this.lists[idx].items[index][key]
-				}
-				let select = []
-				if (this.showSelect) {
-					this.lists[idx].items[index].checked = !this.lists[idx].items[index].checked
-					this.lists.forEach((value, idx) => {
-						value.items.forEach((item, index) => {
-							if (item.checked) {
-								let obj = {}
-								for (let key in this.lists[idx].items[index]) {
-									obj[key] = this.lists[idx].items[index][key]
-								}
-								select.push(obj)
-							}
-						})
-					})
-				}
-				this.$emit('click', {
-					item: obj,
-					select: select
-				})
-			}
-		}
-	}
-</script>
-<style lang="scss" >
-	.uni-indexed-list {
-		position: absolute;
-		left: 0;
-		top: 0;
-		right: 0;
-		bottom: 0;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-	}
-
-	.uni-indexed-list__scroll {
-		flex: 1;
-	}
-
-	.uni-indexed-list__menu {
-		width: 24px;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-	}
-
-	.uni-indexed-list__menu-item {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		align-items: center;
-		justify-content: center;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-indexed-list__menu-text {
-		font-size: 12px;
-		text-align: center;
-		color: #aaa;
-	}
-
-	.uni-indexed-list__menu--active {
-		// background-color: rgb(200, 200, 200);
-	}
-
-	.uni-indexed-list__menu--active {}
-
-	.uni-indexed-list__menu-text--active {
-		border-radius: 16px;
-		width: 16px;
-		height: 16px;
-		line-height: 16px;
-		background-color: #007aff;
-		color: #fff;
-	}
-
-	.uni-indexed-list__alert-wrapper {
-		position: absolute;
-		left: 0;
-		top: 0;
-		right: 0;
-		bottom: 0;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-	}
-
-	.uni-indexed-list__alert {
-		width: 80px;
-		height: 80px;
-		border-radius: 80px;
-		text-align: center;
-		line-height: 80px;
-		font-size: 35px;
-		color: #fff;
-		background-color: rgba(0, 0, 0, 0.5);
-	}
-</style>
diff --git a/src/uni_modules/uni-indexed-list/package.json b/src/uni_modules/uni-indexed-list/package.json
deleted file mode 100644
index 125c0e7..0000000
--- a/src/uni_modules/uni-indexed-list/package.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
-  "id": "uni-indexed-list",
-  "displayName": "uni-indexed-list 绱㈠紩鍒楄〃",
-  "version": "1.2.1",
-  "description": "绱㈠紩鍒楄〃缁勪欢锛屽彸渚у甫绱㈠紩鐨勫垪琛紝鏂逛究蹇�熷畾浣嶅埌鍏蜂綋鍐呭锛岄�氬父鐢ㄤ簬鍩庡競/鏈哄満閫夋嫨绛夊満鏅�",
-  "keywords": [
-    "uni-ui",
-    "绱㈠紩鍒楄〃",
-    "绱㈠紩",
-    "鍒楄〃"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-			"uni-icons"
-		],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-indexed-list/readme.md b/src/uni_modules/uni-indexed-list/readme.md
deleted file mode 100644
index 44ad84b..0000000
--- a/src/uni_modules/uni-indexed-list/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-## IndexedList 绱㈠紩鍒楄〃
-> **缁勪欢鍚嶏細uni-indexed-list**
-> 浠g爜鍧楋細 `uIndexedList`
-
-
-鐢ㄤ簬灞曠ず绱㈠紩鍒楄〃銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-indexed-list)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
diff --git a/src/uni_modules/uni-link/changelog.md b/src/uni_modules/uni-link/changelog.md
deleted file mode 100644
index 2cfbf59..0000000
--- a/src/uni_modules/uni-link/changelog.md
+++ /dev/null
@@ -1,17 +0,0 @@
-## 1.0.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-link](https://uniapp.dcloud.io/component/uniui/uni-link)
-## 1.1.7锛�2021-11-08锛�
-## 0.0.7锛�2021-09-03锛�
-- 淇 鍦� nvue 涓嬩笉鏄剧ず鐨� bug
-## 0.0.6锛�2021-07-30锛�
-- 鏂板 鏀寔鑷畾涔夋彃妲�
-## 0.0.5锛�2021-06-21锛�
-- 鏂板 download 灞炴�э紝H5骞冲彴涓嬭浇鏂囦欢鍚�
-## 0.0.4锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 0.0.3锛�2021-03-09锛�
-- 鏂板 href 灞炴�ф敮鎸� tel:|mailto:
-
-## 0.0.2锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-link/components/uni-link/uni-link.vue b/src/uni_modules/uni-link/components/uni-link/uni-link.vue
deleted file mode 100644
index 27c5468..0000000
--- a/src/uni_modules/uni-link/components/uni-link/uni-link.vue
+++ /dev/null
@@ -1,128 +0,0 @@
-<template>
-	<a v-if="isShowA" class="uni-link" :href="href"
-		:class="{'uni-link--withline':showUnderLine===true||showUnderLine==='true'}"
-		:style="{color,fontSize:fontSize+'px'}" :download="download">
-		<slot>{{text}}</slot>
-	</a>
-	<!-- #ifndef APP-NVUE -->
-	<text v-else class="uni-link" :class="{'uni-link--withline':showUnderLine===true||showUnderLine==='true'}"
-		:style="{color,fontSize:fontSize+'px'}" @click="openURL">
-		<slot>{{text}}</slot>
-	</text>
-	<!-- #endif -->
-	<!-- #ifdef APP-NVUE -->
-	<text v-else class="uni-link" :class="{'uni-link--withline':showUnderLine===true||showUnderLine==='true'}"
-		:style="{color,fontSize:fontSize+'px'}" @click="openURL">
-		{{text}}
-	</text>
-	<!-- #endif -->
-</template>
-
-<script>
-	/**
-	 * Link 澶栭儴缃戦〉瓒呴摼鎺ョ粍浠�
-	 * @description uni-link鏄竴涓閮ㄧ綉椤佃秴閾炬帴缁勪欢锛屽湪灏忕▼搴忓唴澶嶅埗url锛屽湪app鍐呮墦寮�澶栭儴娴忚鍣紝鍦╤5绔墦寮�鏂扮綉椤�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=1182
-	 * @property {String} href 鐐瑰嚮鍚庢墦寮�鐨勫閮ㄧ綉椤祏rl
-	 * @property {String} text 鏄剧ず鐨勬枃瀛�
-	 * @property {String} downlaod H5骞冲彴涓嬭浇鏂囦欢鍚�
-	 * @property {Boolean} showUnderLine 鏄惁鏄剧ず涓嬪垝绾�
-	 * @property {String} copyTips 鍦ㄥ皬绋嬪簭绔鍒堕摼鎺ユ椂鏄剧ず鐨勬彁绀鸿
-	 * @property {String} color 閾炬帴鏂囧瓧棰滆壊
-	 * @property {String} fontSize 閾炬帴鏂囧瓧澶у皬
-	 * @example * <uni-link href="https://ext.dcloud.net.cn" text="https://ext.dcloud.net.cn"></uni-link>
-	 */
-	export default {
-		name: 'uniLink',
-		props: {
-			href: {
-				type: String,
-				default: ''
-			},
-			text: {
-				type: String,
-				default: ''
-			},
-			download: {
-				type: String,
-				default: ''
-			},
-			showUnderLine: {
-				type: [Boolean, String],
-				default: true
-			},
-			copyTips: {
-				type: String,
-				default: '宸茶嚜鍔ㄥ鍒剁綉鍧�锛岃鍦ㄦ墜鏈烘祻瑙堝櫒閲岀矘璐磋缃戝潃'
-			},
-			color: {
-				type: String,
-				default: '#999999'
-			},
-			fontSize: {
-				type: [Number, String],
-				default: 14
-			}
-		},
-		computed: {
-			isShowA() {
-				// #ifdef H5
-				this._isH5 = true;
-				// #endif
-				if ((this.isMail() || this.isTel()) && this._isH5 === true) {
-					return true;
-				}
-				return false;
-			}
-		},
-		created() {
-			this._isH5 = null;
-		},
-		methods: {
-			isMail() {
-				return this.href.startsWith('mailto:');
-			},
-			isTel() {
-				return this.href.startsWith('tel:');
-			},
-			openURL() {
-				// #ifdef APP-PLUS
-				if (this.isTel()) {
-					this.makePhoneCall(this.href.replace('tel:', ''));
-				} else {
-					plus.runtime.openURL(this.href);
-				}
-				// #endif
-				// #ifdef H5
-				window.open(this.href)
-				// #endif
-				// #ifdef MP
-				uni.setClipboardData({
-					data: this.href
-				});
-				uni.showModal({
-					content: this.copyTips,
-					showCancel: false
-				});
-				// #endif
-			},
-			makePhoneCall(phoneNumber) {
-				uni.makePhoneCall({
-					phoneNumber
-				})
-			}
-		}
-	}
-</script>
-
-<style>
-	/* #ifndef APP-NVUE */
-	.uni-link {
-		cursor: pointer;
-	}
-
-	/* #endif */
-	.uni-link--withline {
-		text-decoration: underline;
-	}
-</style>
diff --git a/src/uni_modules/uni-link/package.json b/src/uni_modules/uni-link/package.json
deleted file mode 100644
index 77b1986..0000000
--- a/src/uni_modules/uni-link/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "id": "uni-link",
-  "displayName": "uni-link 瓒呴摼鎺�",
-  "version": "1.0.0",
-  "description": "uni-link鏄竴涓閮ㄧ綉椤佃秴閾炬帴缁勪欢锛屽湪灏忕▼搴忓唴澶嶅埗url锛屽湪app鍐呮墦寮�澶栭儴娴忚鍣紝鍦╤5绔墦",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "link",
-    "瓒呴摼鎺�",
-    ""
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "y",
-          "鑱旂洘": "y"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-link/readme.md b/src/uni_modules/uni-link/readme.md
deleted file mode 100644
index 7f09e94..0000000
--- a/src/uni_modules/uni-link/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-## Link 閾炬帴
-> **缁勪欢鍚嶏細uni-link**
-> 浠g爜鍧楋細 `uLink`
-
-
-uni-link鏄竴涓閮ㄧ綉椤佃秴閾炬帴缁勪欢锛屽湪灏忕▼搴忓唴澶嶅埗url锛屽湪app鍐呮墦寮�澶栭儴娴忚鍣紝鍦╤5绔墦寮�鏂扮綉椤点��
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-link)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-list/changelog.md b/src/uni_modules/uni-list/changelog.md
deleted file mode 100644
index 6aa6e4e..0000000
--- a/src/uni_modules/uni-list/changelog.md
+++ /dev/null
@@ -1,20 +0,0 @@
-## 1.2.1锛�2022-03-30锛�
-- 鍒犻櫎鏃犵敤鏂囦欢
-## 1.2.0锛�2021-11-23锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-list](https://uniapp.dcloud.io/component/uniui/uni-list)
-## 1.1.3锛�2021-08-30锛�
-- 淇 鍦╲ue3涓璽o灞炴�у湪鍙戣搴旂敤鐨勬椂鍊欐姤閿欑殑bug
-## 1.1.2锛�2021-07-30锛�
-- 浼樺寲 vue3涓嬩簨浠惰鍛婄殑闂
-## 1.1.1锛�2021-07-21锛�
-- 淇 涓庡叾浠栫粍浠跺祵濂椾娇鐢ㄦ椂锛岀偣鍑诲け鏁堢殑Bug
-## 1.1.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.17锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.0.16锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-## 1.0.15锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 淇 uni-list-chat 瑙掓爣鏄剧ず涓嶆甯哥殑闂
diff --git a/src/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue b/src/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue
deleted file mode 100644
index b9349c2..0000000
--- a/src/uni_modules/uni-list/components/uni-list-ad/uni-list-ad.vue
+++ /dev/null
@@ -1,107 +0,0 @@
-<template>
-	<!-- #ifdef APP-NVUE -->
-	<cell>
-		<!-- #endif -->
-		<view class="uni-list-ad">
-			<view v-if="borderShow" :class="{'uni-list--border':border,'uni-list-item--first':isFirstChild}"></view>
-			<ad style="width: 200px;height: 300px;border-width: 1px;border-color: red;border-style: solid;" adpid="1111111111"
-			 unit-id="" appid="" apid="" type="feed" @error="aderror" @close="closeAd"></ad>
-		</view>
-		<!-- #ifdef APP-NVUE -->
-	</cell>
-	<!-- #endif -->
-
-</template>
-
-<script>
-	// #ifdef APP-NVUE
-	const dom = uni.requireNativePlugin('dom');
-	// #endif
-	export default {
-		name: 'UniListAd',
-		props: {
-			title: {
-				type: String,
-				default: '',
-
-			}
-		},
-		// inject: ['list'],
-		data() {
-			return {
-				isFirstChild: false,
-				border: false,
-				borderShow: true,
-			}
-		},
-
-		mounted() {
-			this.list = this.getForm()
-			if (this.list) {
-				if (!this.list.firstChildAppend) {
-					this.list.firstChildAppend = true
-					this.isFirstChild = true
-				}
-				this.border = this.list.border
-			}
-		},
-		methods: {
-			/**
-			 * 鑾峰彇鐖跺厓绱犲疄渚�
-			 */
-			getForm(name = 'uniList') {
-				let parent = this.$parent;
-				let parentName = parent.$options.name;
-				while (parentName !== name) {
-					parent = parent.$parent;
-					if (!parent) return false
-					parentName = parent.$options.name;
-				}
-				return parent;
-			},
-			aderror(e) {
-				console.log("aderror: " + JSON.stringify(e.detail));
-			},
-			closeAd(e) {
-				this.borderShow = false
-			}
-		}
-	}
-</script>
-
-<style lang="scss" >
-	.uni-list-ad {
-		position: relative;
-		border: 1px red solid;
-	}
-
-	.uni-list--border {
-		position: relative;
-		padding-bottom: 1px;
-		/* #ifdef APP-PLUS */
-		border-top-color: $uni-border-color;
-		border-top-style: solid;
-		border-top-width: 0.5px;
-		/* #endif */
-		margin-left: $uni-spacing-row-lg;
-	}
-
-	/* #ifndef APP-NVUE */
-	.uni-list--border:after {
-		position: absolute;
-		top: 0;
-		right: 0;
-		left: 0;
-		height: 1px;
-		content: '';
-		-webkit-transform: scaleY(.5);
-		transform: scaleY(.5);
-		background-color: $uni-border-color;
-	}
-
-	.uni-list-item--first:after {
-		height: 0px;
-	}
-
-	/* #endif */
-</style>
diff --git a/src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss b/src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss
deleted file mode 100644
index 311f8d9..0000000
--- a/src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * 杩欓噷鏄� uni-list 缁勪欢鍐呯疆鐨勫父鐢ㄦ牱寮忓彉閲�
- * 濡傛灉闇�瑕佽鐩栨牱寮忥紝杩欓噷鎻愪緵浜嗗熀鏈殑缁勪欢鏍峰紡鍙橀噺锛屾偍鍙互灏濊瘯淇敼杩欓噷鐨勫彉閲忥紝鍘诲畬鎴愭牱寮忔浛鎹紝鑰屼笉鐢ㄥ幓淇敼婧愮爜
- *
- */
-
-// 鑳屾櫙鑹�
-$background-color : #fff;
-// 鍒嗗壊绾块鑹�
-$divide-line-color : #e5e5e5;
-
-// 榛樿澶村儚澶у皬锛屽闇�瑕佷慨鏀规鍊硷紝娉ㄦ剰鍚屾淇敼 js 涓殑鍊� const avatarWidth = xx 锛岀洰鍓嶅彧鏀寔鏂瑰舰澶村儚
-// nvue 椤甸潰涓嶆敮鎸佷慨鏀瑰ご鍍忓ぇ灏�
-$avatar-width : 45px ;
-
-// 澶村儚杈规
-$avatar-border-radius: 5px;
-$avatar-border-color: #eee;
-$avatar-border-width: 1px;
-
-// 鏍囬鏂囧瓧鏍峰紡
-$title-size : 16px;
-$title-color : #3b4144;
-$title-weight : normal;
-
-// 鎻忚堪鏂囧瓧鏍峰紡
-$note-size : 12px;
-$note-color : #999;
-$note-weight : normal;
-
-// 鍙充晶棰濆鍐呭榛樿鏍峰紡
-$right-text-size : 12px;
-$right-text-color : #999;
-$right-text-weight : normal;
-
-// 瑙掓爣鏍峰紡
-// nvue 椤甸潰涓嶆敮鎸佷慨鏀瑰渾鐐逛綅缃互鍙婂ぇ灏�
-// 瑙掓爣鍦ㄥ乏渚ф椂锛岃鏍囩殑浣嶇疆锛岄粯璁や负 0 锛岃礋鏁板乏/涓嬬Щ鍔紝姝f暟鍙�/涓婄Щ鍔�
-$badge-left: 0px;
-$badge-top: 0px;
-
-// 鏄剧ず鍦嗙偣鏃讹紝鍦嗙偣澶у皬
-$dot-width: 10px;
-$dot-height: 10px;
-
-// 鏄剧ず瑙掓爣鏃讹紝瑙掓爣澶у皬鍜屽瓧浣撳ぇ灏�
-$badge-size : 18px;
-$badge-font : 12px;
-// 鏄剧ず瑙掓爣鏃讹紝瑙掓爣鍓嶆櫙鑹�
-$badge-color : #fff;
-// 鏄剧ず瑙掓爣鏃讹紝瑙掓爣鑳屾櫙鑹�
-$badge-background-color : #ff5a5f;
-// 鏄剧ず瑙掓爣鏃讹紝瑙掓爣宸﹀彸闂磋窛
-$badge-space : 6px;
-
-// 鐘舵�佹牱寮�
-// 閫変腑棰滆壊
-$hover : #f5f5f5;
diff --git a/src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue b/src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue
deleted file mode 100644
index 2b31008..0000000
--- a/src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.vue
+++ /dev/null
@@ -1,538 +0,0 @@
-<template>
-	<!-- #ifdef APP-NVUE -->
-	<cell>
-		<!-- #endif -->
-		<view :hover-class="!clickable && !link ? '' : 'uni-list-chat--hover'" class="uni-list-chat" @click.stop="onClick">
-			<view :class="{ 'uni-list--border': border, 'uni-list-chat--first': isFirstChild }"></view>
-			<view class="uni-list-chat__container">
-				<view class="uni-list-chat__header-warp">
-					<view v-if="avatarCircle || avatarList.length === 0" class="uni-list-chat__header" :class="{ 'header--circle': avatarCircle }">
-						<image class="uni-list-chat__header-image" :class="{ 'header--circle': avatarCircle }" :src="avatar" mode="aspectFill"></image>
-					</view>
-					<!-- 澶村儚缁� -->
-					<view v-else class="uni-list-chat__header">
-						<view v-for="(item, index) in avatarList" :key="index" class="uni-list-chat__header-box" :class="computedAvatar"
-						 :style="{ width: imageWidth + 'px', height: imageWidth + 'px' }">
-							<image class="uni-list-chat__header-image" :style="{ width: imageWidth + 'px', height: imageWidth + 'px' }" :src="item.url"
-							 mode="aspectFill"></image>
-						</view>
-					</view>
-				</view>
-				<view v-if="badgeText && badgePositon === 'left'" class="uni-list-chat__badge uni-list-chat__badge-pos" :class="[isSingle]">
-					<text class="uni-list-chat__badge-text">{{ badgeText === 'dot' ? '' : badgeText }}</text>
-				</view>
-				<view class="uni-list-chat__content">
-					<view class="uni-list-chat__content-main">
-						<text class="uni-list-chat__content-title uni-ellipsis">{{ title }}</text>
-						<text class="uni-list-chat__content-note uni-ellipsis">{{ note }}</text>
-					</view>
-					<view class="uni-list-chat__content-extra">
-						<slot>
-							<text class="uni-list-chat__content-extra-text">{{ time }}</text>
-							<view v-if="badgeText && badgePositon === 'right'" class="uni-list-chat__badge" :class="[isSingle, badgePositon === 'right' ? 'uni-list-chat--right' : '']">
-								<text class="uni-list-chat__badge-text">{{ badgeText === 'dot' ? '' : badgeText }}</text>
-							</view>
-						</slot>
-					</view>
-				</view>
-			</view>
-		</view>
-		<!-- #ifdef APP-NVUE -->
-	</cell>
-	<!-- #endif -->
-</template>
-
-<script>
-	// 澶村儚澶у皬
-	const avatarWidth = 45;
-
-	/**
-	 * ListChat 鑱婂ぉ鍒楄〃
-	 * @description 鑱婂ぉ鍒楄〃,鐢ㄤ簬鍒涘缓鑱婂ぉ绫诲垪琛�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=24
-	 * @property {String} 	title 							鏍囬
-	 * @property {String} 	note 							鎻忚堪
-	 * @property {Boolean} 	clickable = [true|false] 		鏄惁寮�鍚偣鍑诲弽棣堬紝榛樿涓篺alse
-	 * @property {String} 	badgeText						鏁板瓧瑙掓爣鍐呭
-	 * @property {String}  	badgePositon = [left|right]		瑙掓爣浣嶇疆锛岄粯璁や负 right
-	 * @property {String} 	link = [false锝渘avigateTo|redirectTo|reLaunch|switchTab] 鏄惁灞曠ず鍙充晶绠ご骞跺紑鍚偣鍑诲弽棣堬紝榛樿涓篺alse
-	 *  @value false	 	涓嶅紑鍚�
-	 *  @value navigateTo 	鍚� uni.navigateTo()
-	 * 	@value redirectTo 	鍚� uni.redirectTo()
-	 * 	@value reLaunch   	鍚� uni.reLaunch()
-	 * 	@value switchTab  	鍚� uni.switchTab()
-	 * @property {String | PageURIString} 	to  			璺宠浆鐩爣椤甸潰
-	 * @property {String} 	time							鍙充晶鏃堕棿鏄剧ず
-	 * @property {Boolean} 	avatarCircle = [true|false]		鏄惁鏄剧ず鍦嗗舰澶村儚锛岄粯璁や负false
-	 * @property {String} 	avatar							澶村儚鍦板潃锛宎vatarCircle 涓嶅~鏃剁敓鏁�
-	 * @property {Array} 	avatarList 						澶村儚缁勶紝鏍煎紡涓� [{url:''}]
-	 * @event {Function} 	click 							鐐瑰嚮 uniListChat 瑙﹀彂浜嬩欢
-	 */
-	export default {
-		name: 'UniListChat',
-		emits:['click'],
-		props: {
-			title: {
-				type: String,
-				default: ''
-			},
-			note: {
-				type: String,
-				default: ''
-			},
-			clickable: {
-				type: Boolean,
-				default: false
-			},
-			link: {
-				type: [Boolean, String],
-				default: false
-			},
-			to: {
-				type: String,
-				default: ''
-			},
-			badgeText: {
-				type: [String, Number],
-				default: ''
-			},
-			badgePositon: {
-				type: String,
-				default: 'right'
-			},
-			time: {
-				type: String,
-				default: ''
-			},
-			avatarCircle: {
-				type: Boolean,
-				default: false
-			},
-			avatar: {
-				type: String,
-				default: ''
-			},
-			avatarList: {
-				type: Array,
-				default () {
-					return [];
-				}
-			}
-		},
-		// inject: ['list'],
-		computed: {
-			isSingle() {
-				if (this.badgeText === 'dot') {
-					return 'uni-badge--dot';
-				} else {
-					const badgeText = this.badgeText.toString();
-					if (badgeText.length > 1) {
-						return 'uni-badge--complex';
-					} else {
-						return 'uni-badge--single';
-					}
-				}
-			},
-			computedAvatar() {
-				if (this.avatarList.length > 4) {
-					this.imageWidth = avatarWidth * 0.31;
-					return 'avatarItem--3';
-				} else if (this.avatarList.length > 1) {
-					this.imageWidth = avatarWidth * 0.47;
-					return 'avatarItem--2';
-				} else {
-					this.imageWidth = avatarWidth;
-					return 'avatarItem--1';
-				}
-			}
-		},
-		data() {
-			return {
-				isFirstChild: false,
-				border: true,
-				// avatarList: 3,
-				imageWidth: 50
-			};
-		},
-		mounted() {
-			this.list = this.getForm()
-			if (this.list) {
-				if (!this.list.firstChildAppend) {
-					this.list.firstChildAppend = true;
-					this.isFirstChild = true;
-				}
-				this.border = this.list.border;
-			}
-		},
-		methods: {
-			/**
-			 * 鑾峰彇鐖跺厓绱犲疄渚�
-			 */
-			getForm(name = 'uniList') {
-				let parent = this.$parent;
-				let parentName = parent.$options.name;
-				while (parentName !== name) {
-					parent = parent.$parent;
-					if (!parent) return false
-					parentName = parent.$options.name;
-				}
-				return parent;
-			},
-			onClick() {
-				if (this.to !== '') {
-					this.openPage();
-					return;
-				}
-
-				if (this.clickable || this.link) {
-					this.$emit('click', {
-						data: {}
-					});
-				}
-			},
-			openPage() {
-				if (['navigateTo', 'redirectTo', 'reLaunch', 'switchTab'].indexOf(this.link) !== -1) {
-					this.pageApi(this.link);
-				} else {
-					this.pageApi('navigateTo');
-				}
-			},
-			pageApi(api) {
-				uni[api]({
-					url: this.to,
-					success: res => {
-						this.$emit('click', {
-							data: res
-						});
-					},
-					fail: err => {
-						this.$emit('click', {
-							data: err
-						});
-						console.error(err.errMsg);
-					}
-				});
-			}
-		}
-	};
-</script>
-
-<style lang="scss" >
-	$uni-font-size-lg:16px;
-	$uni-spacing-row-sm: 5px;
-	$uni-spacing-row-base: 10px;
-	$uni-spacing-row-lg: 15px;
-	$background-color: #fff;
-	$divide-line-color: #e5e5e5;
-	$avatar-width: 45px;
-	$avatar-border-radius: 5px;
-	$avatar-border-color: #eee;
-	$avatar-border-width: 1px;
-	$title-size: 16px;
-	$title-color: #3b4144;
-	$title-weight: normal;
-	$note-size: 12px;
-	$note-color: #999;
-	$note-weight: normal;
-	$right-text-size: 12px;
-	$right-text-color: #999;
-	$right-text-weight: normal;
-	$badge-left: 0px;
-	$badge-top: 0px;
-	$dot-width: 10px;
-	$dot-height: 10px;
-	$badge-size: 18px;
-	$badge-font: 12px;
-	$badge-color: #fff;
-	$badge-background-color: #ff5a5f;
-	$badge-space: 6px;
-	$hover: #f5f5f5;
-
-	.uni-list-chat {
-		font-size: $uni-font-size-lg;
-		position: relative;
-		flex-direction: column;
-		justify-content: space-between;
-		background-color: $background-color;
-	}
-
-	// .uni-list-chat--disabled {
-	// 	opacity: 0.3;
-	// }
-
-	.uni-list-chat--hover {
-		background-color: $hover;
-	}
-
-	.uni-list--border {
-		position: relative;
-		margin-left: $uni-spacing-row-lg;
-		/* #ifdef APP-PLUS */
-		border-top-color: $divide-line-color;
-		border-top-style: solid;
-		border-top-width: 0.5px;
-		/* #endif */
-	}
-
-	/* #ifndef APP-NVUE */
-	.uni-list--border:after {
-		position: absolute;
-		top: 0;
-		right: 0;
-		left: 0;
-		height: 1px;
-		content: '';
-		-webkit-transform: scaleY(0.5);
-		transform: scaleY(0.5);
-		background-color: $divide-line-color;
-	}
-
-	.uni-list-item--first:after {
-		height: 0px;
-	}
-
-	/* #endif */
-
-	.uni-list-chat--first {
-		border-top-width: 0px;
-	}
-
-	.uni-ellipsis {
-		/* #ifndef APP-NVUE */
-		overflow: hidden;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-		/* #endif */
-		/* #ifdef APP-NVUE */
-		lines: 1;
-		/* #endif */
-	}
-
-	.uni-ellipsis-2 {
-		/* #ifndef APP-NVUE */
-		overflow: hidden;
-		text-overflow: ellipsis;
-		display: -webkit-box;
-		-webkit-line-clamp: 2;
-		-webkit-box-orient: vertical;
-		/* #endif */
-
-		/* #ifdef APP-NVUE */
-		lines: 2;
-		/* #endif */
-	}
-
-	.uni-list-chat__container {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		flex: 1;
-		padding: $uni-spacing-row-base $uni-spacing-row-lg;
-		position: relative;
-		overflow: hidden;
-	}
-
-	.uni-list-chat__header-warp {
-		position: relative;
-	}
-
-	.uni-list-chat__header {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		align-content: center;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		flex-wrap: wrap-reverse;
-		/* #ifdef APP-NVUE */
-		width: 50px;
-		height: 50px;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		width: $avatar-width;
-		height: $avatar-width;
-		/* #endif */
-
-		border-radius: $avatar-border-radius;
-		border-color: $avatar-border-color;
-		border-width: $avatar-border-width;
-		border-style: solid;
-		overflow: hidden;
-	}
-
-	.uni-list-chat__header-box {
-		/* #ifndef APP-PLUS */
-		box-sizing: border-box;
-		display: flex;
-		width: $avatar-width;
-		height: $avatar-width;
-		/* #endif */
-		/* #ifdef APP-NVUE */
-		width: 50px;
-		height: 50px;
-		/* #endif */
-		overflow: hidden;
-		border-radius: 2px;
-	}
-
-	.uni-list-chat__header-image {
-		margin: 1px;
-		/* #ifdef APP-NVUE */
-		width: 50px;
-		height: 50px;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		width: $avatar-width;
-		height: $avatar-width;
-		/* #endif */
-	}
-
-	/* #ifndef APP-NVUE */
-	.uni-list-chat__header-image {
-		display: block;
-		width: 100%;
-		height: 100%;
-	}
-
-	.avatarItem--1 {
-		width: 100%;
-		height: 100%;
-	}
-
-	.avatarItem--2 {
-		width: 47%;
-		height: 47%;
-	}
-
-	.avatarItem--3 {
-		width: 32%;
-		height: 32%;
-	}
-
-	/* #endif */
-	.header--circle {
-		border-radius: 50%;
-	}
-
-	.uni-list-chat__content {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		flex: 1;
-		overflow: hidden;
-		padding: 2px 0;
-	}
-
-	.uni-list-chat__content-main {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: space-between;
-		padding-left: $uni-spacing-row-base;
-		flex: 1;
-		overflow: hidden;
-	}
-
-	.uni-list-chat__content-title {
-		font-size: $title-size;
-		color: $title-color;
-		font-weight: $title-weight;
-		overflow: hidden;
-	}
-
-	.uni-list-chat__content-note {
-		margin-top: 3px;
-		color: $note-color;
-		font-size: $note-size;
-		font-weight: $title-weight;
-		overflow: hidden;
-	}
-
-	.uni-list-chat__content-extra {
-		/* #ifndef APP-NVUE */
-		flex-shrink: 0;
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: space-between;
-		align-items: flex-end;
-		margin-left: 5px;
-	}
-
-	.uni-list-chat__content-extra-text {
-		color: $right-text-color;
-		font-size: $right-text-size;
-		font-weight: $right-text-weight;
-		overflow: hidden;
-	}
-
-	.uni-list-chat__badge-pos {
-		position: absolute;
-		/* #ifdef APP-NVUE */
-		left: 55px;
-		top: 3px;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		left: calc(#{$avatar-width} + 10px - #{$badge-space} + #{$badge-left});
-		top: calc(#{$uni-spacing-row-base}/ 2 + 1px + #{$badge-top});
-		/* #endif */
-	}
-
-	.uni-list-chat__badge {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		justify-content: center;
-		align-items: center;
-		border-radius: 100px;
-		background-color: $badge-background-color;
-	}
-
-	.uni-list-chat__badge-text {
-		color: $badge-color;
-		font-size: $badge-font;
-	}
-
-	.uni-badge--single {
-		/* #ifndef APP-NVUE */
-		// left: calc(#{$avatar-width} + 7px + #{$badge-left});
-		/* #endif */
-		width: $badge-size;
-		height: $badge-size;
-	}
-
-	.uni-badge--complex {
-		/* #ifdef APP-NVUE */
-		left: 50px;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		width: auto;
-		/* #endif */
-		height: $badge-size;
-		padding: 0 $badge-space;
-	}
-
-	.uni-badge--dot {
-		/* #ifdef APP-NVUE */
-		left: 60px;
-		top: 6px;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		left: calc(#{$avatar-width} + 15px - #{$dot-width}/ 2 + 1px + #{$badge-left});
-		/* #endif */
-		width: $dot-width;
-		height: $dot-height;
-		padding: 0;
-	}
-
-	.uni-list-chat--right {
-		/* #ifdef APP-NVUE */
-		left: 0;
-		/* #endif */
-	}
-</style>
diff --git a/src/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue b/src/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue
deleted file mode 100644
index 2c7d9ea..0000000
--- a/src/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue
+++ /dev/null
@@ -1,454 +0,0 @@
-<template>
-	<!-- #ifdef APP-NVUE -->
-	<cell>
-		<!-- #endif -->
-
-		<view :class="{ 'uni-list-item--disabled': disabled }"
-			:hover-class="(!clickable && !link) || disabled || showSwitch ? '' : 'uni-list-item--hover'"
-			class="uni-list-item" @click="onClick">
-			<view v-if="!isFirstChild" class="border--left" :class="{ 'uni-list--border': border }"></view>
-			<view class="uni-list-item__container"
-				:class="{ 'container--right': showArrow || link, 'flex--direction': direction === 'column' }">
-				<slot name="header">
-					<view class="uni-list-item__header">
-						<view v-if="thumb" class="uni-list-item__icon">
-							<image :src="thumb" class="uni-list-item__icon-img" :class="['uni-list--' + thumbSize]" />
-						</view>
-						<view v-else-if="showExtraIcon" class="uni-list-item__icon">
-							<uni-icons :color="extraIcon.color" :size="extraIcon.size" :type="extraIcon.type" />
-						</view>
-					</view>
-				</slot>
-				<slot name="body">
-					<view class="uni-list-item__content"
-						:class="{ 'uni-list-item__content--center': thumb || showExtraIcon || showBadge || showSwitch }">
-						<text v-if="title" class="uni-list-item__content-title"
-							:class="[ellipsis !== 0 && ellipsis <= 2 ? 'uni-ellipsis-' + ellipsis : '']">{{ title }}</text>
-						<text v-if="note" class="uni-list-item__content-note">{{ note }}</text>
-					</view>
-				</slot>
-				<slot name="footer">
-					<view v-if="rightText || showBadge || showSwitch" class="uni-list-item__extra"
-						:class="{ 'flex--justify': direction === 'column' }">
-						<text v-if="rightText" class="uni-list-item__extra-text">{{ rightText }}</text>
-						<uni-badge v-if="showBadge" :type="badgeType" :text="badgeText" :custom-style="badgeStyle" />
-						<switch v-if="showSwitch" :disabled="disabled" :checked="switchChecked"
-							@change="onSwitchChange" />
-					</view>
-				</slot>
-			</view>
-			<uni-icons v-if="showArrow || link" :size="16" class="uni-icon-wrapper" color="#bbb" type="arrowright" />
-		</view>
-		<!-- #ifdef APP-NVUE -->
-	</cell>
-	<!-- #endif -->
-</template>
-
-<script>
-	/**
-	 * ListItem 鍒楄〃瀛愮粍浠�
-	 * @description 鍒楄〃瀛愮粍浠�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=24
-	 * @property {String} 	title 							鏍囬
-	 * @property {String} 	note 							鎻忚堪
-	 * @property {String} 	thumb 							宸︿晶缂╃暐鍥撅紝鑻humb鏈夊�硷紝鍒欎笉浼氭樉绀烘墿灞曞浘鏍�
-	 * @property {String}  	thumbSize = [lg|base|sm]		鐣ョ缉鍥惧ぇ灏�
-	 * 	@value 	 lg			澶у浘
-	 * 	@value 	 base		涓�鑸�
-	 * 	@value 	 sm			灏忓浘
-	 * @property {String} 	badgeText						鏁板瓧瑙掓爣鍐呭
-	 * @property {String} 	badgeType 						鏁板瓧瑙掓爣绫诲瀷锛屽弬鑰僛uni-icons](https://ext.dcloud.net.cn/plugin?id=21)
-	 * @property {Object}   badgeStyle           鏁板瓧瑙掓爣鏍峰紡
-	 * @property {String} 	rightText 						鍙充晶鏂囧瓧鍐呭
-	 * @property {Boolean} 	disabled = [true|false]			鏄惁绂佺敤
-	 * @property {Boolean} 	clickable = [true|false] 		鏄惁寮�鍚偣鍑诲弽棣�
-	 * @property {String} 	link = [navigateTo|redirectTo|reLaunch|switchTab] 鏄惁灞曠ず鍙充晶绠ご骞跺紑鍚偣鍑诲弽棣�
-	 *  @value 	navigateTo 	鍚� uni.navigateTo()
-	 * 	@value redirectTo 	鍚� uni.redirectTo()
-	 * 	@value reLaunch   	鍚� uni.reLaunch()
-	 * 	@value switchTab  	鍚� uni.switchTab()
-	 * @property {String | PageURIString} 	to  			璺宠浆鐩爣椤甸潰
-	 * @property {Boolean} 	showBadge = [true|false] 		鏄惁鏄剧ず鏁板瓧瑙掓爣
-	 * @property {Boolean} 	showSwitch = [true|false] 		鏄惁鏄剧ずSwitch
-	 * @property {Boolean} 	switchChecked = [true|false] 	Switch鏄惁琚�変腑
-	 * @property {Boolean} 	showExtraIcon = [true|false] 	宸︿晶鏄惁鏄剧ず鎵╁睍鍥炬爣
-	 * @property {Object} 	extraIcon 						鎵╁睍鍥炬爣鍙傛暟锛屾牸寮忎负 {color: '#4cd964',size: '22',type: 'spinner'}
-	 * @property {String} 	direction = [row|column]		鎺掔増鏂瑰悜
-	 * @value row 			姘村钩鎺掑垪
-	 * @value column 		鍨傜洿鎺掑垪
-	 * @event {Function} 	click 							鐐瑰嚮 uniListItem 瑙﹀彂浜嬩欢
-	 * @event {Function} 	switchChange 					鐐瑰嚮鍒囨崲 Switch 鏃惰Е鍙�
-	 */
-	export default {
-		name: 'UniListItem',
-		emits: ['click', 'switchChange'],
-		props: {
-			direction: {
-				type: String,
-				default: 'row'
-			},
-			title: {
-				type: String,
-				default: ''
-			},
-			note: {
-				type: String,
-				default: ''
-			},
-			ellipsis: {
-				type: [Number,String],
-				default: 0
-			},
-			disabled: {
-				type: [Boolean, String],
-				default: false
-			},
-			clickable: {
-				type: Boolean,
-				default: false
-			},
-			showArrow: {
-				type: [Boolean, String],
-				default: false
-			},
-			link: {
-				type: [Boolean, String],
-				default: false
-			},
-			to: {
-				type: String,
-				default: ''
-			},
-			showBadge: {
-				type: [Boolean, String],
-				default: false
-			},
-			showSwitch: {
-				type: [Boolean, String],
-				default: false
-			},
-			switchChecked: {
-				type: [Boolean, String],
-				default: false
-			},
-			badgeText: {
-				type: String,
-				default: ''
-			},
-			badgeType: {
-				type: String,
-				default: 'success'
-			},
-			badgeStyle:{
-				type: Object,
-				default () {
-					return {}
-				}
-			},
-			rightText: {
-				type: String,
-				default: ''
-			},
-			thumb: {
-				type: String,
-				default: ''
-			},
-			thumbSize: {
-				type: String,
-				default: 'base'
-			},
-			showExtraIcon: {
-				type: [Boolean, String],
-				default: false
-			},
-			extraIcon: {
-				type: Object,
-				default () {
-					return {
-						type: '',
-						color: '#000000',
-						size: 20
-					};
-				}
-			},
-			border: {
-				type: Boolean,
-				default: true
-			}
-		},
-		// inject: ['list'],
-		data() {
-			return {
-				isFirstChild: false
-			};
-		},
-		mounted() {
-			this.list = this.getForm()
-			// 鍒ゆ柇鏄惁瀛樺湪 uni-list 缁勪欢
-			if (this.list) {
-				if (!this.list.firstChildAppend) {
-					this.list.firstChildAppend = true;
-					this.isFirstChild = true;
-				}
-			}
-		},
-		methods: {
-			/**
-			 * 鑾峰彇鐖跺厓绱犲疄渚�
-			 */
-			getForm(name = 'uniList') {
-				let parent = this.$parent;
-				let parentName = parent.$options.name;
-				while (parentName !== name) {
-					parent = parent.$parent;
-					if (!parent) return false
-					parentName = parent.$options.name;
-				}
-				return parent;
-			},
-			onClick() {
-				if (this.to !== '') {
-					this.openPage();
-					return;
-				}
-				if (this.clickable || this.link) {
-					this.$emit('click', {
-						data: {}
-					});
-				}
-			},
-			onSwitchChange(e) {
-				this.$emit('switchChange', e.detail);
-			},
-			openPage() {
-				if (['navigateTo', 'redirectTo', 'reLaunch', 'switchTab'].indexOf(this.link) !== -1) {
-					this.pageApi(this.link);
-				} else {
-					this.pageApi('navigateTo');
-				}
-			},
-			pageApi(api) {
-				let callback = {
-					url: this.to,
-					success: res => {
-						this.$emit('click', {
-							data: res
-						});
-					},
-					fail: err => {
-						this.$emit('click', {
-							data: err
-						});
-					}
-				}
-				switch (api) {
-					case 'navigateTo':
-						uni.navigateTo(callback)
-						break
-					case 'redirectTo':
-						uni.redirectTo(callback)
-						break
-					case 'reLaunch':
-						uni.reLaunch(callback)
-						break
-					case 'switchTab':
-						uni.switchTab(callback)
-						break
-					default:
-					uni.navigateTo(callback)
-				}
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	$uni-font-size-sm:12px;
-	$uni-font-size-base:14px;
-	$uni-font-size-lg:16px;
-	$uni-spacing-col-lg: 12px;
-	$uni-spacing-row-lg: 15px;
-	$uni-img-size-sm:20px;
-	$uni-img-size-base:26px;
-	$uni-img-size-lg:40px;
-	$uni-border-color:#e5e5e5;
-	$uni-bg-color-hover:#f1f1f1;
-	$uni-text-color-grey:#999;
-	$list-item-pd: $uni-spacing-col-lg $uni-spacing-row-lg;
-	.uni-list-item {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		font-size: $uni-font-size-lg;
-		position: relative;
-		justify-content: space-between;
-		align-items: center;
-		background-color: #fff;
-		flex-direction: row;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-	.uni-list-item--disabled {
-		opacity: 0.3;
-	}
-	.uni-list-item--hover {
-		background-color: $uni-bg-color-hover;
-	}
-	.uni-list-item__container {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		padding: $list-item-pd;
-		padding-left: $uni-spacing-row-lg;
-		flex: 1;
-		overflow: hidden;
-		// align-items: center;
-	}
-	.container--right {
-		padding-right: 0;
-	}
-	// .border--left {
-	// 	margin-left: $uni-spacing-row-lg;
-	// }
-	.uni-list--border {
-		position: absolute;
-		top: 0;
-		right: 0;
-		left: 0;
-		/* #ifdef APP-NVUE */
-		border-top-color: $uni-border-color;
-		border-top-style: solid;
-		border-top-width: 0.5px;
-		/* #endif */
-	}
-	/* #ifndef APP-NVUE */
-	.uni-list--border:after {
-		position: absolute;
-		top: 0;
-		right: 0;
-		left: 0;
-		height: 1px;
-		content: '';
-		-webkit-transform: scaleY(0.5);
-		transform: scaleY(0.5);
-		background-color: $uni-border-color;
-	}
-	/* #endif */
-	.uni-list-item__content {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		padding-right: 8px;
-		flex: 1;
-		color: #3b4144;
-		// overflow: hidden;
-		flex-direction: column;
-		justify-content: space-between;
-		overflow: hidden;
-	}
-	.uni-list-item__content--center {
-		justify-content: center;
-	}
-	.uni-list-item__content-title {
-		font-size: $uni-font-size-base;
-		color: #3b4144;
-		overflow: hidden;
-	}
-	.uni-list-item__content-note {
-		margin-top: 6rpx;
-		color: $uni-text-color-grey;
-		font-size: $uni-font-size-sm;
-		overflow: hidden;
-	}
-	.uni-list-item__extra {
-		// width: 25%;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: flex-end;
-		align-items: center;
-	}
-	.uni-list-item__header {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-	.uni-list-item__icon {
-		margin-right: 18rpx;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-	}
-	.uni-list-item__icon-img {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		height: $uni-img-size-base;
-		width: $uni-img-size-base;
-		margin-right: 10px;
-	}
-	.uni-icon-wrapper {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		align-items: center;
-		padding: 0 10px;
-	}
-	.flex--direction {
-		flex-direction: column;
-		/* #ifndef APP-NVUE */
-		align-items: initial;
-		/* #endif */
-	}
-	.flex--justify {
-		/* #ifndef APP-NVUE */
-		justify-content: initial;
-		/* #endif */
-	}
-	.uni-list--lg {
-		height: $uni-img-size-lg;
-		width: $uni-img-size-lg;
-	}
-	.uni-list--base {
-		height: $uni-img-size-base;
-		width: $uni-img-size-base;
-	}
-	.uni-list--sm {
-		height: $uni-img-size-sm;
-		width: $uni-img-size-sm;
-	}
-	.uni-list-item__extra-text {
-		color: $uni-text-color-grey;
-		font-size: $uni-font-size-sm;
-	}
-	.uni-ellipsis-1 {
-		/* #ifndef APP-NVUE */
-		overflow: hidden;
-		white-space: nowrap;
-		text-overflow: ellipsis;
-		/* #endif */
-		/* #ifdef APP-NVUE */
-		lines: 1;
-		text-overflow:ellipsis;
-		/* #endif */
-	}
-	.uni-ellipsis-2 {
-		/* #ifndef APP-NVUE */
-		overflow: hidden;
-		text-overflow: ellipsis;
-		display: -webkit-box;
-		-webkit-line-clamp: 2;
-		-webkit-box-orient: vertical;
-		/* #endif */
-		/* #ifdef APP-NVUE */
-		lines: 2;
-		text-overflow:ellipsis;
-		/* #endif */
-	}
-</style>
diff --git a/src/uni_modules/uni-list/components/uni-list/uni-list.vue b/src/uni_modules/uni-list/components/uni-list/uni-list.vue
deleted file mode 100644
index ecda676..0000000
--- a/src/uni_modules/uni-list/components/uni-list/uni-list.vue
+++ /dev/null
@@ -1,108 +0,0 @@
-<template>
-	<!-- #ifndef APP-NVUE -->
-	<view class="uni-list uni-border-top-bottom">
-		<view v-if="border" class="uni-list--border-top"></view>
-		<slot />
-		<view v-if="border" class="uni-list--border-bottom"></view>
-	</view>
-	<!-- #endif -->
-	<!-- #ifdef APP-NVUE -->
-	<list class="uni-list" :class="{ 'uni-list--border': border }" :enableBackToTop="enableBackToTop" loadmoreoffset="15"><slot /></list>
-	<!-- #endif -->
-</template>
-
-<script>
-/**
- * List 鍒楄〃
- * @description 鍒楄〃缁勪欢
- * @tutorial https://ext.dcloud.net.cn/plugin?id=24
- * @property {String} 	border = [true|false] 		鏍囬
- */
-export default {
-	name: 'uniList',
-	'mp-weixin': {
-		options: {
-			multipleSlots: false
-		}
-	},
-	props: {
-		enableBackToTop: {
-			type: [Boolean, String],
-			default: false
-		},
-		scrollY: {
-			type: [Boolean, String],
-			default: false
-		},
-		border: {
-			type: Boolean,
-			default: true
-		}
-	},
-	// provide() {
-	// 	return {
-	// 		list: this
-	// 	};
-	// },
-	created() {
-		this.firstChildAppend = false;
-	},
-	methods: {
-		loadMore(e) {
-			this.$emit('scrolltolower');
-		}
-	}
-};
-</script>
-<style lang="scss" >
-$uni-bg-color:#ffffff;
-$uni-border-color:#e5e5e5;
-.uni-list {
-	/* #ifndef APP-NVUE */
-	display: flex;
-	/* #endif */
-	background-color: $uni-bg-color;
-	position: relative;
-	flex-direction: column;
-}
-
-.uni-list--border {
-	position: relative;
-	/* #ifdef APP-NVUE */
-	border-top-color: $uni-border-color;
-	border-top-style: solid;
-	border-top-width: 0.5px;
-	border-bottom-color: $uni-border-color;
-	border-bottom-style: solid;
-	border-bottom-width: 0.5px;
-	/* #endif */
-	z-index: -1;
-}
-
-/* #ifndef APP-NVUE */
-
-.uni-list--border-top {
-	position: absolute;
-	top: 0;
-	right: 0;
-	left: 0;
-	height: 1px;
-	-webkit-transform: scaleY(0.5);
-	transform: scaleY(0.5);
-	background-color: $uni-border-color;
-	z-index: 1;
-}
-
-.uni-list--border-bottom {
-	position: absolute;
-	bottom: 0;
-	right: 0;
-	left: 0;
-	height: 1px;
-	-webkit-transform: scaleY(0.5);
-	transform: scaleY(0.5);
-	background-color: $uni-border-color;
-}
-
-/* #endif */
-</style>
diff --git a/src/uni_modules/uni-list/components/uni-list/uni-refresh.vue b/src/uni_modules/uni-list/components/uni-list/uni-refresh.vue
deleted file mode 100644
index 3b4c5a2..0000000
--- a/src/uni_modules/uni-list/components/uni-list/uni-refresh.vue
+++ /dev/null
@@ -1,65 +0,0 @@
-<template>
-    <!-- #ifdef APP-NVUE -->
-    <refresh :display="display" @refresh="onrefresh" @pullingdown="onpullingdown">
-        <slot />
-    </refresh>
-    <!-- #endif -->
-    <!-- #ifndef APP-NVUE -->
-    <view ref="uni-refresh" class="uni-refresh" v-show="isShow">
-        <slot />
-    </view>
-    <!-- #endif -->
-</template>
-
-<script>
-    export default {
-        name: 'UniRefresh',
-        props: {
-            display: {
-                type: [String],
-                default: "hide"
-            }
-        },
-        data() {
-            return {
-                pulling: false
-            }
-        },
-        computed: {
-            isShow() {
-                if (this.display === "show" || this.pulling === true) {
-                    return true;
-                }
-                return false;
-            }
-        },
-        created() {},
-        methods: {
-            onchange(value) {
-                this.pulling = value;
-            },
-            onrefresh(e) {
-                this.$emit("refresh", e);
-            },
-            onpullingdown(e) {
-                // #ifdef APP-NVUE
-                this.$emit("pullingdown", e);
-                // #endif
-                // #ifndef APP-NVUE
-                var detail = {
-                    viewHeight: 90,
-                    pullingDistance: e.height
-                }
-                this.$emit("pullingdown", detail);
-                // #endif
-            }
-        }
-    }
-</script>
-
-<style>
-    .uni-refresh {
-        height: 0;
-        overflow: hidden;
-    }
-</style>
diff --git a/src/uni_modules/uni-list/components/uni-list/uni-refresh.wxs b/src/uni_modules/uni-list/components/uni-list/uni-refresh.wxs
deleted file mode 100644
index 818a6b7..0000000
--- a/src/uni_modules/uni-list/components/uni-list/uni-refresh.wxs
+++ /dev/null
@@ -1,87 +0,0 @@
-var pullDown = {
-    threshold: 95,
-    maxHeight: 200,
-    callRefresh: 'onrefresh',
-    callPullingDown: 'onpullingdown',
-    refreshSelector: '.uni-refresh'
-};
-
-function ready(newValue, oldValue, ownerInstance, instance) {
-    var state = instance.getState()
-    state.canPullDown = newValue;
-    // console.log(newValue);
-}
-
-function touchStart(e, instance) {
-    var state = instance.getState();
-    state.refreshInstance = instance.selectComponent(pullDown.refreshSelector);
-    state.canPullDown = (state.refreshInstance != null && state.refreshInstance != undefined);
-    if (!state.canPullDown) {
-        return
-    }
-
-    // console.log("touchStart");
-
-    state.height = 0;
-    state.touchStartY = e.touches[0].pageY || e.changedTouches[0].pageY;
-    state.refreshInstance.setStyle({
-        'height': 0
-    });
-    state.refreshInstance.callMethod("onchange", true);
-}
-
-function touchMove(e, ownerInstance) {
-    var instance = e.instance;
-    var state = instance.getState();
-    if (!state.canPullDown) {
-        return
-    }
-
-    var oldHeight = state.height;
-    var endY = e.touches[0].pageY || e.changedTouches[0].pageY;
-    var height = endY - state.touchStartY;
-    if (height > pullDown.maxHeight) {
-        return;
-    }
-
-    var refreshInstance = state.refreshInstance;
-    refreshInstance.setStyle({
-        'height': height + 'px'
-    });
-
-    height = height < pullDown.maxHeight ? height : pullDown.maxHeight;
-    state.height = height;
-    refreshInstance.callMethod(pullDown.callPullingDown, {
-        height: height
-    });
-}
-
-function touchEnd(e, ownerInstance) {
-    var state = e.instance.getState();
-    if (!state.canPullDown) {
-        return
-    }
-
-    state.refreshInstance.callMethod("onchange", false);
-
-    var refreshInstance = state.refreshInstance;
-    if (state.height > pullDown.threshold) {
-        refreshInstance.callMethod(pullDown.callRefresh);
-        return;
-    }
-
-    refreshInstance.setStyle({
-        'height': 0
-    });
-}
-
-function propObserver(newValue, oldValue, instance) {
-    pullDown = newValue;
-}
-
-module.exports = {
-    touchmove: touchMove,
-    touchstart: touchStart,
-    touchend: touchEnd,
-    propObserver: propObserver
-}
diff --git a/src/uni_modules/uni-list/package.json b/src/uni_modules/uni-list/package.json
deleted file mode 100644
index 66e8bef..0000000
--- a/src/uni_modules/uni-list/package.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
-  "id": "uni-list",
-  "displayName": "uni-list 鍒楄〃",
-  "version": "1.2.1",
-  "description": "List 缁勪欢 锛屽府鍔╀娇鐢ㄨ�呭揩閫熸瀯寤哄垪琛ㄣ��",
-  "keywords": [
-    "",
-    "uni-ui",
-    "uniui",
-    "鍒楄〃",
-    "",
-    "list"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": [
-      "uni-badge",
-      "uni-icons"
-    ],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-list/readme.md b/src/uni_modules/uni-list/readme.md
deleted file mode 100644
index 32c2865..0000000
--- a/src/uni_modules/uni-list/readme.md
+++ /dev/null
@@ -1,346 +0,0 @@
-## List 鍒楄〃
-> **缁勪欢鍚嶏細uni-list**
-> 浠g爜鍧楋細 `uList`銆乣uListItem`
-> 鍏宠仈缁勪欢锛歚uni-list-item`銆乣uni-badge`銆乣uni-icons`銆乣uni-list-chat`銆乣uni-list-ad`
-
-
-List 鍒楄〃缁勪欢锛屽寘鍚熀鏈垪琛ㄦ牱寮忋�佸彲鎵╁睍鎻掓Ы鏈哄埗銆侀暱鍒楄〃鎬ц兘浼樺寲銆佸绔吋瀹广��
-
-鍦╲ue椤甸潰閲岋紝瀹冮粯璁や娇鐢ㄩ〉闈㈢骇婊氬姩銆傚湪app-nvue椤甸潰閲岋紝瀹冮粯璁や娇鐢ㄥ師鐢焞ist缁勪欢婊氬姩銆傝繖鏍风殑闀垮垪琛紝鍦ㄦ粴鍔ㄥ嚭灞忓箷澶栧悗锛岀郴缁熶細鍥炴敹涓嶅彲瑙佸尯鍩熺殑娓叉煋鍐呭瓨璧勬簮锛屼笉浼氶�犳垚婊氬姩瓒婇暱鎵嬫満瓒婂崱鐨勯棶棰樸��
-
-uni-list缁勪欢鏄埗瀹瑰櫒锛岄噷闈㈢殑鏍稿績鏄痷ni-list-item瀛愮粍浠讹紝瀹冧唬琛ㄥ垪琛ㄤ腑鐨勪竴涓彲閲嶅琛岋紝瀛愮粍浠跺彲浠ユ棤闄愬惊鐜��
-
-uni-list-item鏈夊緢澶氶鏍硷紝uni-list-item缁勪欢閫氳繃鍐呯疆鐨勫睘鎬э紝婊¤冻涓�浜涘父鐢ㄧ殑鍦烘櫙銆傚綋鍐呯疆灞炴�т笉婊¤冻闇�姹傛椂锛屽彲浠ラ�氳繃鎵╁睍鎻掓Ы鏉ヨ嚜瀹氫箟鍒楄〃鍐呭銆�
-
-鍐呯疆灞炴�у彲浠ヨ鐩栫殑鍦烘櫙鍖呮嫭锛氬鑸垪琛ㄣ�佽缃垪琛ㄣ�佸皬鍥炬爣鍒楄〃銆侀�氫俊褰曞垪琛ㄣ�佽亰澶╄褰曞垪琛ㄣ��
-
-娑夊強寰堝澶у浘鎴栦赴瀵屽唴瀹圭殑鍒楄〃锛屾瘮濡傜被浠婃棩澶存潯鐨勬柊闂诲垪琛ㄣ�佺被娣樺疂鐨勭數鍟嗗垪琛紝闇�瑕侀�氳繃鎵╁睍鎻掓Ы瀹炵幇銆�
-
-涓嬫枃鍧囨湁鏍蜂緥缁欏嚭銆�
-
-uni-list涓嶅寘鍚笅鎷夊埛鏂板拰涓婃媺缈婚〉銆備笂鎷夌炕椤靛彟瑙佺粍浠讹細[uni-load-more](https://ext.dcloud.net.cn/plugin?id=29)
-
-
-### 瀹夎鏂瑰紡
-
-鏈粍浠剁鍚圼easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)瑙勮寖锛宍HBuilderX 2.5.5`璧凤紝鍙渶灏嗘湰缁勪欢瀵煎叆椤圭洰锛屽湪椤甸潰`template`涓嵆鍙洿鎺ヤ娇鐢紝鏃犻渶鍦ㄩ〉闈腑`import`鍜屾敞鍐宍components`銆�
-
-濡傞渶閫氳繃`npm`鏂瑰紡浣跨敤`uni-ui`缁勪欢锛屽彟瑙佹枃妗o細[https://ext.dcloud.net.cn/plugin?id=55](https://ext.dcloud.net.cn/plugin?id=55)
-
-> **娉ㄦ剰浜嬮」**
-> 涓轰簡閬垮厤閿欒浣跨敤锛岀粰澶у甯︽潵涓嶅ソ鐨勫紑鍙戜綋楠岋紝璇峰湪浣跨敤缁勪欢鍓嶄粩缁嗛槄璇讳笅闈㈢殑娉ㄦ剰浜嬮」锛屽彲浠ュ府浣犻伩鍏嶄竴浜涢敊璇��
-> - 缁勪欢闇�瑕佷緷璧� `sass` 鎻掍欢 锛岃鑷鎵嬪姩瀹夎
-> - 缁勪欢鍐呴儴渚濊禆 `'uni-icons'` 銆乣uni-badge` 缁勪欢
-> - `uni-list` 鍜� `uni-list-item` 闇�瑕侀厤濂椾娇鐢紝鏆備笉鏀寔鍗曠嫭浣跨敤 `uni-list-item`
-> - 鍙湁寮�鍚偣鍑诲弽棣堝悗锛屼細鏈夌偣鍑婚�変腑鏁堟灉
-> - 浣跨敤鎻掓Ы鏃讹紝鍙互瀹屽叏鑷畾涔夊唴瀹�
-> - note 銆乺ightText 灞炴�ф殏鏃舵病鍋氶檺鍒讹紝涓嶆敮鎸佹枃瀛楁孩鍑洪殣钘忥紝浣跨敤鏃跺簲璇ユ帶鍒堕暱搴︽樉绀烘垨閫氳繃榛樿鎻掓Ы鑷鎵╁睍
-> - 鏀粯瀹濆皬绋嬪簭骞冲彴闇�瑕佸湪鏀粯瀹濆皬绋嬪簭寮�鍙戣�呭伐鍏烽噷寮�鍚� component2 缂栬瘧妯″紡锛屽紑鍚柟寮忥細 璇︽儏 --> 椤圭洰閰嶇疆 --> 鍚敤 component2 缂栬瘧
-> - 濡傛灉闇�瑕佷慨鏀� `switch`銆乣badge` 鏍峰紡锛岃浣跨敤鎻掓Ы鑷畾涔�
-> - 鍦� `HBuilderX` 浣庣増鏈腑锛屽彲鑳戒細鍑虹幇缁勪欢鏄剧ず `undefined` 鐨勯棶棰橈紝璇峰崌绾ф渶鏂扮殑 `HBuilderX` 鎴栬�� `cli`
-> - 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839
- 
-
-### 鍩烘湰鐢ㄦ硶 
-
-- 璁剧疆 `title` 灞炴�э紝鍙互鏄剧ず鍒楄〃鏍囬
-- 璁剧疆 `disabled` 灞炴�э紝鍙互绂佺敤褰撳墠椤�
-
-```html
-<uni-list>
-	<uni-list-item  title="鍒楄〃鏂囧瓧" ></uni-list-item>
-	<uni-list-item :disabled="true" title="鍒楄〃绂佺敤鐘舵��" ></uni-list-item>
-</uni-list>
-			 
-```
-
-### 澶氳鍐呭鏄剧ず
-
-- 璁剧疆 `note` 灞炴�� 锛屽彲浠ュ湪绗簩琛屾樉绀烘弿杩版枃鏈俊鎭�
-
-```html
-<uni-list>
-	<uni-list-item title="鍒楄〃鏂囧瓧" note="鍒楄〃鎻忚堪淇℃伅"></uni-list-item>
-	<uni-list-item :disabled="true" title="鍒楄〃鏂囧瓧" note="鍒楄〃绂佺敤鐘舵��"></uni-list-item>
-</uni-list>
-
-```
-
-### 鍙充晶鏄剧ず瑙掓爣銆乻witch
-
-- 璁剧疆 `show-badge` 灞炴�� 锛屽彲浠ユ樉绀鸿鏍囧唴瀹�
-- 璁剧疆 `show-switch` 灞炴�э紝鍙互鏄剧ず switch 寮�鍏�
-
-```html
-<uni-list>
-	<uni-list-item  title="鍒楄〃鍙充晶鏄剧ず瑙掓爣" :show-badge="true" badge-text="12" ></uni-list-item>
-	<uni-list-item title="鍒楄〃鍙充晶鏄剧ず switch"  :show-switch="true"  @switchChange="switchChange" ></uni-list-item>
-</uni-list>
-
-```
-
-### 宸︿晶鏄剧ず鐣ョ缉鍥俱�佸浘鏍�  
-
-- 璁剧疆 `thumb` 灞炴�� 锛屽彲浠ュ湪鍒楄〃宸︿晶鏄剧ず鐣ョ缉鍥�
-- 璁剧疆 `show-extra-icon` 灞炴�э紝骞舵寚瀹� `extra-icon` 鍙互鍦ㄥ乏渚ф樉绀哄浘鏍�
-
-```html
- <uni-list>
- 	<uni-list-item title="鍒楄〃宸︿晶甯︾暐缂╁浘" note="鍒楄〃鎻忚堪淇℃伅" thumb="https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png"
- 	 thumb-size="lg" rightText="鍙充晶鏂囧瓧"></uni-list-item>
- 	<uni-list-item :show-extra-icon="true" :extra-icon="extraIcon1" title="鍒楄〃宸︿晶甯︽墿灞曞浘鏍�" ></uni-list-item>
-</uni-list>
-```
-
-### 寮�鍚偣鍑诲弽棣堝拰鍙充晶绠ご
-- 璁剧疆 `clickable` 涓� `true` 锛屽垯琛ㄧず杩欐槸涓�涓彲鐐瑰嚮鐨勫垪琛紝浼氶粯璁ょ粰涓�涓偣鍑绘晥鏋滐紝骞跺彲浠ョ洃鍚� `click` 浜嬩欢
-- 璁剧疆 `link` 灞炴�э紝浼氳嚜鍔ㄥ紑鍚偣鍑诲弽棣堬紝骞剁粰鍒楄〃鍙充晶娣诲姞涓�涓澶�
-- 璁剧疆 `to` 灞炴�э紝鍙互璺宠浆椤甸潰锛宍link` 鐨勫�艰〃绀鸿烦杞柟寮忥紝濡傛灉涓嶆寚瀹氾紝榛樿涓� `navigateTo`
-
-```html
-
-<uni-list>
-	<uni-list-item title="寮�鍚偣鍑诲弽棣�" clickable  @click="onClick" ></uni-list-item>
-	<uni-list-item title="榛樿 navigateTo 鏂瑰紡璺宠浆椤甸潰" link to="/pages/vue/index/index" @click="onClick($event,1)" ></uni-list-item>
-	<uni-list-item title="reLaunch 鏂瑰紡璺宠浆椤甸潰" link="reLaunch" to="/pages/vue/index/index" @click="onClick($event,1)" ></uni-list-item>
-</uni-list>
-
-```
-
-
-### 鑱婂ぉ鍒楄〃绀轰緥
-- 璁剧疆 `clickable` 涓� `true` 锛屽垯琛ㄧず杩欐槸涓�涓彲鐐瑰嚮鐨勫垪琛紝浼氶粯璁ょ粰涓�涓偣鍑绘晥鏋滐紝骞跺彲浠ョ洃鍚� `click` 浜嬩欢
-- 璁剧疆 `link` 灞炴�э紝浼氳嚜鍔ㄥ紑鍚偣鍑诲弽棣堬紝`link` 鐨勫�艰〃绀鸿烦杞柟寮忥紝濡傛灉涓嶆寚瀹氾紝榛樿涓� `navigateTo`
-- 璁剧疆 `to` 灞炴�э紝鍙互璺宠浆椤甸潰
-- `time` 灞炴�э紝閫氬父浼氳缃垚鏃堕棿鏄剧ず锛屼絾鏄繖涓睘鎬т笉浠呬粎鍙互璁剧疆鏃堕棿锛屼綘鍙互浼犲叆浠讳綍鏂囨湰锛屾敞鎰忔枃鏈暱搴﹀彲鑳戒細褰卞搷鏄剧ず
-- `avatar` 鍜� `avatarList` 灞炴�у悓鏃跺彧浼氭湁涓�涓敓鏁堬紝鍚屾椂璁剧疆鐨勮瘽锛宍avatarList` 灞炴�х殑闀垮害澶т簬1 锛宍avatar` 灞炴�у皢澶辨晥
-- 鍙互閫氳繃榛樿鎻掓Ы鑷畾涔夊垪琛ㄥ彸渚у唴瀹�
-
-```html
-
-<uni-list>
-	<uni-list :border="true">
-		<!-- 鏄剧ず鍦嗗舰澶村儚 -->
-		<uni-list-chat :avatar-circle="true" title="uni-app" avatar="https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png" note="鎮ㄦ敹鍒颁竴鏉℃柊鐨勬秷鎭�" time="2020-02-02 20:20" ></uni-list-chat>
-		<!-- 鍙充晶甯﹁鏍� -->
-		<uni-list-chat title="uni-app" avatar="https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png" note="鎮ㄦ敹鍒颁竴鏉℃柊鐨勬秷鎭�" time="2020-02-02 20:20" badge-text="12" :badge-style="{backgroundColor:'#FF80AB'}"></uni-list-chat>
-		<!-- 澶村儚鏄剧ず鍦嗙偣 -->
-		<uni-list-chat title="uni-app" avatar="https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png" note="鎮ㄦ敹鍒颁竴鏉℃柊鐨勬秷鎭�" time="2020-02-02 20:20" badge-positon="left" badge-text="dot"></uni-list-chat>
-		<!-- 澶村儚鏄剧ず瑙掓爣 -->
-		<uni-list-chat title="uni-app" avatar="https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png" note="鎮ㄦ敹鍒颁竴鏉℃柊鐨勬秷鎭�" time="2020-02-02 20:20" badge-positon="left" badge-text="99"></uni-list-chat>
-		<!-- 鏄剧ず澶氬ご鍍� -->
-		<uni-list-chat title="uni-app" :avatar-list="avatarList" note="鎮ㄦ敹鍒颁竴鏉℃柊鐨勬秷鎭�" time="2020-02-02 20:20" badge-positon="left" badge-text="dot"></uni-list-chat>
-		<!-- 鑷畾涔夊彸渚у唴瀹� -->
-		<uni-list-chat title="uni-app" :avatar-list="avatarList" note="鎮ㄦ敹鍒颁竴鏉℃柊鐨勬秷鎭�" time="2020-02-02 20:20" badge-positon="left" badge-text="dot">
-			<view class="chat-custom-right">
-				<text class="chat-custom-text">鍒氬垰</text>
-				<!-- 闇�瑕佷娇鐢� uni-icons 璇疯嚜琛屽紩鍏� -->
-				<uni-icons type="star-filled" color="#999" size="18"></uni-icons>
-			</view>
-		</uni-list-chat>
-	</uni-list>
-</uni-list>
-
-```
-
-```javascript
-
-export default {
-	components: {},
-	data() {
-		return {
-			avatarList: [{
-				url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png'
-			}, {
-				url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png'
-			}, {
-				url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/460d46d0-4fcc-11eb-8ff1-d5dcf8779628.png'
-			}]
-		}
-	}
-}
-
-```
-
-
-```css
-
-.chat-custom-right {
-	flex: 1;
-	/* #ifndef APP-NVUE */
-	display: flex;
-	/* #endif */
-	flex-direction: column;
-	justify-content: space-between;
-	align-items: flex-end;
-}
-
-.chat-custom-text {
-	font-size: 12px;
-	color: #999;
-}
-
-```
-
-## API
-
-### List Props
-
-灞炴�у悕			|绫诲瀷		|榛樿鍊�		|	璇存槑																									
-:-:				|:-:		|:-:		|	:-:	
-border			|Boolean	|true		|	鏄惁鏄剧ず杈规
-
-
-### ListItem Props
-
-灞炴�у悕			|绫诲瀷		|榛樿鍊�		|	璇存槑																					
-:-:				|:-:		|:-:		|	:-:	
-title			|String		|-			|	鏍囬
-note			|String		|-			|	鎻忚堪
-ellipsis		|Number		|0			|	title 鏄惁婧㈠嚭闅愯棌锛屽彲閫夊�硷紝0:榛樿;  1:鏄剧ず涓�琛�;	2:鏄剧ず涓よ;銆恘vue 鏆備笉鏀寔銆�
-thumb			|String		|-			|	宸︿晶缂╃暐鍥撅紝鑻humb鏈夊�硷紝鍒欎笉浼氭樉绀烘墿灞曞浘鏍�
-thumbSize		|String 	|medium 	|	鐣ョ缉鍥惧昂瀵革紝鍙�夊�硷紝lg:澶у浘;  medium:涓�鑸�;	sm:灏忓浘;
-showBadge		|Boolean	|false		|	鏄惁鏄剧ず鏁板瓧瑙掓爣	
-badgeText		|String		|-			|	鏁板瓧瑙掓爣鍐呭
-badgeType		|String		|-			|	鏁板瓧瑙掓爣绫诲瀷锛屽弬鑰僛uni-icons](https://ext.dcloud.net.cn/plugin?id=21)	
-badgeStyle  |Object   |-      | 鏁板瓧瑙掓爣鏍峰紡锛屼娇鐢╱ni-badge鐨刢ustom-style鍙傛暟
-rightText		|String		|-			|	鍙充晶鏂囧瓧鍐呭
-disabled		|Boolean	|false		|	鏄惁绂佺敤	
-showArrow 		|Boolean	|true		|	鏄惁鏄剧ず绠ご鍥炬爣			
-link			|String 	|navigateTo	|	鏂伴〉闈㈣烦杞柟寮忥紝鍙�夊�艰涓嬭〃
-to				|String		|-			|	鏂伴〉闈㈣烦杞湴鍧�锛屽濉啓姝ゅ睘鎬э紝click 浼氳繑鍥為〉闈㈡槸鍚﹁烦杞垚鍔�			
-clickable		|Boolean	|false		|	鏄惁寮�鍚偣鍑诲弽棣�
-showSwitch	    |Boolean	|false		|	鏄惁鏄剧ずSwitch																			
-switchChecked	|Boolean	|false		|	Switch鏄惁琚�変腑																			
-showExtraIcon   |Boolean	|false		|	宸︿晶鏄惁鏄剧ず鎵╁睍鍥炬爣																		
-extraIcon		|Object		|-			|	鎵╁睍鍥炬爣鍙傛暟锛屾牸寮忎负 ``{color: '#4cd964',size: '22',type: 'spinner'}``锛屽弬鑰� [uni-icons](https://ext.dcloud.net.cn/plugin?id=28)	
-direction		| String	|row		|	鎺掔増鏂瑰悜锛屽彲閫夊�硷紝row:姘村钩鎺掑垪;  column:鍨傜洿鎺掑垪; 3涓彃妲芥槸姘村钩鎺掕繕鏄瀭鐩存帓锛屼篃鍙楁灞炴�ф帶鍒�
-
-
-#### Link Options
-
-灞炴�у悕				|	璇存槑
-:-:					|	:-:
-navigateTo 	| 	鍚� uni.navigateTo()
-redirectTo 	|	鍚� uni.reLaunch()
-reLaunch		|	鍚� uni.reLaunch()
-switchTab  	|	鍚� uni.switchTab()
-
-### ListItem Events
-
-浜嬩欢绉板悕			|璇存槑									|杩斿洖鍙傛暟			
-:-:				|:-:									|:-:				
-click			|鐐瑰嚮 uniListItem 瑙﹀彂浜嬩欢锛岄渶寮�鍚偣鍑诲弽棣�	|-					
-switchChange	|鐐瑰嚮鍒囨崲 Switch 鏃惰Е鍙戯紝闇�鏄剧ず switch		|e={value:checked}	
-
-
-
-### ListItem Slots
-
-鍚嶇О	 	|	璇存槑					
-:-:		|	:-:						
-header	|	宸�/涓婂唴瀹规彃妲斤紝鍙畬鍏ㄨ嚜瀹氫箟榛樿鏄剧ず
-body	|	涓棿鍐呭鎻掓Ы锛屽彲瀹屽叏鑷畾涔変腑闂村唴瀹�				
-footer	|	鍙�/涓嬪唴瀹规彃妲斤紝鍙畬鍏ㄨ嚜瀹氫箟鍙充晶鍐呭		
-
-
-> **閫氳繃鎻掓Ы鎵╁睍**
-> 闇�瑕佹敞鎰忕殑鏄綋浣跨敤鎻掓Ы鏃讹紝鍐呯疆鏍峰紡灏嗕細澶辨晥锛屽彧淇濈暀鎺掔増鏍峰紡锛屾鏃剁殑鏍峰紡闇�瑕佸紑鍙戣�呰嚜宸卞疄鐜�
-> 濡傛灉	`uni-list-item` 缁勪欢鍐呯疆灞炴�ф牱寮忔棤娉曟弧瓒抽渶姹傦紝鍙互浣跨敤鎻掓Ы鏉ヨ嚜瀹氫箟uni-list-item閲岀殑鍐呭銆�
-> uni-list-item鎻愪緵浜�3涓彲鎵╁睍鐨勬彃妲斤細`header`銆乣body`銆乣footer`
-> - 褰� `direction` 灞炴�т负 `row` 鏃惰〃绀烘按骞虫帓鍒楋紝姝ゆ椂 `header` 琛ㄧず鍒楄〃鐨勫乏杈归儴鍒嗭紝`body` 琛ㄧず鍒楄〃鐨勪腑闂撮儴鍒嗭紝`footer` 琛ㄧず鍒楄〃鐨勫彸杈归儴鍒�
-> - 褰� `direction` 灞炴�т负 `column` 鏃惰〃绀哄瀭鐩存帓鍒楋紝姝ゆ椂 `header` 琛ㄧず鍒楄〃鐨勪笂杈归儴鍒嗭紝`body` 琛ㄧず鍒楄〃鐨勪腑闂撮儴鍒嗭紝`footer` 琛ㄧず鍒楄〃鐨勪笅杈归儴鍒�
-> 寮�鍙戣�呭彲浠ュ彧鐢�1涓彃妲斤紝涔熷彲浠�3涓竴璧蜂娇鐢ㄣ�傚湪鎻掓Ы涓彲鑷富缂栧啓view鏍囩锛屽疄鐜拌嚜宸辨墍闇�鐨勬晥鏋溿��
-
-	
-**绀轰緥**
-
-```html
-<uni-list>
-	<uni-list-item title="鑷畾涔夊彸渚ф彃妲�" note="鍒楄〃鎻忚堪淇℃伅" link>
-		<template slot="header">
-			<image class="slot-image" src="/static/logo.png" mode="widthFix"></image>
-		</template>
-	</uni-list-item>
-	<uni-list-item>
-		<!-- 鑷畾涔� header -->
-		<view slot="header" class="slot-box"><image class="slot-image" src="/static/logo.png" mode="widthFix"></image></view>
-		<!-- 鑷畾涔� body -->
-		<text slot="body" class="slot-box slot-text">鑷畾涔夋彃妲�</text>
-		<!-- 鑷畾涔� footer-->
-		<template slot="footer">
-			<image class="slot-image" src="/static/logo.png" mode="widthFix"></image>
-		</template>
-	</uni-list-item>
-</uni-list>
-```
-
-
-
-
-
-### ListItemChat Props
-
-灞炴�у悕			|绫诲瀷		|榛樿鍊�		|	璇存槑																		
-:-:				|:-:		|:-:		|	:-:	
-title 			|String		|-			|	鏍囬
-note 			|String		|-			|	鎻忚堪
-clickable		|Boolean	|false		|	鏄惁寮�鍚偣鍑诲弽棣�
-badgeText		|String		|-			|	鏁板瓧瑙掓爣鍐呭锛岃缃负 `dot` 灏嗘樉绀哄渾鐐�
-badgePositon 	|String		|right		|	瑙掓爣浣嶇疆
-link			|String 	|navigateTo	|	鏄惁灞曠ず鍙充晶绠ご骞跺紑鍚偣鍑诲弽棣堬紝鍙�夊�艰涓嬭〃
-clickable		|Boolean	|false		|	鏄惁寮�鍚偣鍑诲弽棣�
-to				|String		|-			|	璺宠浆椤甸潰鍦板潃锛屽濉啓姝ゅ睘鎬э紝click 浼氳繑鍥為〉闈㈡槸鍚﹁烦杞垚鍔�	
-time			|String 	|-			|	鍙充晶鏃堕棿鏄剧ず
-avatarCircle 	|Boolean 	|false		|	鏄惁鏄剧ず鍦嗗舰澶村儚
-avatar			|String 	|-			|	澶村儚鍦板潃锛宎vatarCircle 涓嶅~鏃剁敓鏁�
-avatarList 		|Array	 	|-			|	澶村儚缁勶紝鏍煎紡涓� [{url:''}]
-
-#### Link Options
-
-灞炴�у悕		|	璇存槑
-:-:			|	:-:
-navigateTo 	| 	鍚� uni.navigateTo()
-redirectTo 	|	鍚� uni.reLaunch()
-reLaunch	|	鍚� uni.reLaunch()
-switchTab  	|	鍚� uni.switchTab()
-
-### ListItemChat Slots
-
-鍚嶇О	 	|	璇存槑					
-:-		|	:-						
-default	|	鑷畾涔夊垪琛ㄥ彸渚у唴瀹癸紙鍖呮嫭鏃堕棿鍜岃鏍囨樉绀猴級
-
-### ListItemChat Events
-浜嬩欢绉板悕			|	璇存槑						|	杩斿洖鍙傛暟			
-:-:				|	:-:						|	:-:	
-@click			|	鐐瑰嚮 uniListChat 瑙﹀彂浜嬩欢	|	{data:{}}	锛屽鏈� to 灞炴�э紝浼氳繑鍥為〉闈㈣烦杞俊鎭�	
-
-
-
-
-
-
-## 鍩轰簬uni-list鎵╁睍鐨勯〉闈㈡ā鏉�
-
-閫氳繃鎵╁睍鎻掓Ы锛屽彲瀹炵幇澶氱甯歌鏍峰紡鐨勫垪琛�
-
-**鏂伴椈鍒楄〃绫�**
-
-1. 浜戠涓�浣撴贩鍚堝竷灞�锛歔https://ext.dcloud.net.cn/plugin?id=2546](https://ext.dcloud.net.cn/plugin?id=2546)
-2. 浜戠涓�浣撳瀭鐩村竷灞�锛屽ぇ鍥炬ā寮忥細[https://ext.dcloud.net.cn/plugin?id=2583](https://ext.dcloud.net.cn/plugin?id=2583)
-3. 浜戠涓�浣撳瀭鐩村竷灞�锛屽琛屽浘鏂囨贩鎺掞細[https://ext.dcloud.net.cn/plugin?id=2584](https://ext.dcloud.net.cn/plugin?id=2584)
-4. 浜戠涓�浣撳瀭鐩村竷灞�锛屽鍥炬ā寮忥細[https://ext.dcloud.net.cn/plugin?id=2585](https://ext.dcloud.net.cn/plugin?id=2585)
-5. 浜戠涓�浣撴按骞冲竷灞�锛屽乏鍥惧彸鏂囷細[https://ext.dcloud.net.cn/plugin?id=2586](https://ext.dcloud.net.cn/plugin?id=2586)
-6. 浜戠涓�浣撴按骞冲竷灞�锛屽乏鏂囧彸鍥撅細[https://ext.dcloud.net.cn/plugin?id=2587](https://ext.dcloud.net.cn/plugin?id=2587)
-7. 浜戠涓�浣撳瀭鐩村竷灞�锛屾棤鍥炬ā寮忥紝涓绘爣棰�+鍓爣棰橈細[https://ext.dcloud.net.cn/plugin?id=2588](https://ext.dcloud.net.cn/plugin?id=2588)
-
-**鍟嗗搧鍒楄〃绫�**
-
-1. 浜戠涓�浣撳垪琛�/瀹牸瑙嗗浘浜掑垏锛歔https://ext.dcloud.net.cn/plugin?id=2651](https://ext.dcloud.net.cn/plugin?id=2651)
-2. 浜戠涓�浣撳垪琛紙瀹牸妯″紡锛夛細[https://ext.dcloud.net.cn/plugin?id=2671](https://ext.dcloud.net.cn/plugin?id=2671)
-3. 浜戠涓�浣撳垪琛紙鍒楄〃妯″紡锛夛細[https://ext.dcloud.net.cn/plugin?id=2672](https://ext.dcloud.net.cn/plugin?id=2672)
-
-## 缁勪欢绀轰緥
-
-鐐瑰嚮鏌ョ湅锛歔https://hellouniapp.dcloud.net.cn/pages/extUI/list/list](https://hellouniapp.dcloud.net.cn/pages/extUI/list/list)
\ No newline at end of file
diff --git a/src/uni_modules/uni-load-more/changelog.md b/src/uni_modules/uni-load-more/changelog.md
deleted file mode 100644
index 8f03f1d..0000000
--- a/src/uni_modules/uni-load-more/changelog.md
+++ /dev/null
@@ -1,19 +0,0 @@
-## 1.3.3锛�2022-01-20锛�
-- 鏂板 showText灞炴�� 锛屾槸鍚︽樉绀烘枃鏈�
-## 1.3.2锛�2022-01-19锛�
-- 淇 nvue 骞冲彴涓嬩笉鏄剧ず鏂囨湰鐨刡ug
-## 1.3.1锛�2022-01-19锛�
-- 淇 寰俊灏忕▼搴忓钩鍙版牱寮忛�夋嫨鍣ㄦ姤璀﹀憡鐨勯棶棰�
-## 1.3.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-load-more](https://uniapp.dcloud.io/component/uniui/uni-load-more)
-## 1.2.1锛�2021-08-24锛�
-- 鏂板 鏀寔鍥介檯鍖�
-## 1.2.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.1.8锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.1.7锛�2021-03-30锛�
-- 淇 uni-load-more 鍦ㄩ椤典娇鐢ㄦ椂锛宧5 骞冲彴鎶� 'uni is not defined' 鐨� bug
-## 1.1.6锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json b/src/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json
deleted file mode 100644
index a4f14a5..0000000
--- a/src/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-	"uni-load-more.contentdown": "Pull up to show more",
-	"uni-load-more.contentrefresh": "loading...",
-	"uni-load-more.contentnomore": "No more data"
-}
diff --git a/src/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js b/src/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js
deleted file mode 100644
index de7509c..0000000
--- a/src/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import en from './en.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
-	en,
-	'zh-Hans': zhHans,
-	'zh-Hant': zhHant
-}
diff --git a/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json b/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json
deleted file mode 100644
index f15d510..0000000
--- a/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-	"uni-load-more.contentdown": "涓婃媺鏄剧ず鏇村",
-	"uni-load-more.contentrefresh": "姝e湪鍔犺浇...",
-	"uni-load-more.contentnomore": "娌℃湁鏇村鏁版嵁浜�"
-}
diff --git a/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json b/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json
deleted file mode 100644
index a255c6d..0000000
--- a/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-	"uni-load-more.contentdown": "涓婃媺椤ず鏇村",
-	"uni-load-more.contentrefresh": "姝e湪鍔犺級...",
-	"uni-load-more.contentnomore": "娌掓湁鏇村鏁告摎浜�"
-}
diff --git a/src/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue b/src/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue
deleted file mode 100644
index e5eff4d..0000000
--- a/src/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue
+++ /dev/null
@@ -1,399 +0,0 @@
-<template>
-	<view class="uni-load-more" @click="onClick">
-		<!-- #ifdef APP-NVUE -->
-		<loading-indicator v-if="!webviewHide && status === 'loading' && showIcon"
-			:style="{color: color,width:iconSize+'px',height:iconSize+'px'}" :animating="true"
-			class="uni-load-more__img uni-load-more__img--nvue"></loading-indicator>
-		<!-- #endif -->
-		<!-- #ifdef H5 -->
-		<svg width="24" height="24" viewBox="25 25 50 50"
-			v-if="!webviewHide && (iconType==='circle' || iconType==='auto' && platform === 'android') && status === 'loading' && showIcon"
-			:style="{width:iconSize+'px',height:iconSize+'px'}"
-			class="uni-load-more__img uni-load-more__img--android-H5">
-			<circle cx="50" cy="50" r="20" fill="none" :style="{color:color}" :stroke-width="3"></circle>
-		</svg>
-		<!-- #endif -->
-		<!-- #ifndef APP-NVUE || H5 -->
-		<view
-			v-if="!webviewHide && (iconType==='circle' || iconType==='auto' && platform === 'android') && status === 'loading' && showIcon"
-			:style="{width:iconSize+'px',height:iconSize+'px'}"
-			class="uni-load-more__img uni-load-more__img--android-MP">
-			<view class="uni-load-more__img-icon" :style="{borderTopColor:color,borderTopWidth:iconSize/12}"></view>
-			<view class="uni-load-more__img-icon" :style="{borderTopColor:color,borderTopWidth:iconSize/12}"></view>
-			<view class="uni-load-more__img-icon" :style="{borderTopColor:color,borderTopWidth:iconSize/12}"></view>
-		</view>
-		<!-- #endif -->
-		<!-- #ifndef APP-NVUE -->
-		<view v-else-if="!webviewHide && status === 'loading' && showIcon"
-			:style="{width:iconSize+'px',height:iconSize+'px'}" class="uni-load-more__img uni-load-more__img--ios-H5">
-			<image :src="imgBase64" mode="widthFix"></image>
-		</view>
-		<!-- #endif -->
-		<text v-if="showText" class="uni-load-more__text"
-			:style="{color: color}">{{ status === 'more' ? contentdownText : status === 'loading' ? contentrefreshText : contentnomoreText }}</text>
-	</view>
-</template>
-
-<script>
-	let platform
-	setTimeout(() => {
-		platform = uni.getSystemInfoSync().platform
-	}, 16)
-
-	import {
-		initVueI18n
-	} from '@dcloudio/uni-i18n'
-	import messages from './i18n/index.js'
-	const {
-		t
-	} = initVueI18n(messages)
-
-	/**
-	 * LoadMore 鍔犺浇鏇村
-	 * @description 鐢ㄤ簬鍒楄〃涓紝鍋氭粴鍔ㄥ姞杞戒娇鐢紝灞曠ず loading 鐨勫悇绉嶇姸鎬�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=29
-	 * @property {String} status = [more|loading|noMore] loading 鐨勭姸鎬�
-	 * 	@value more loading鍓�
-	 * 	@value loading loading涓�
-	 * 	@value noMore 娌℃湁鏇村浜�
-	 * @property {Number} iconSize 鎸囧畾鍥炬爣澶у皬
-	 * @property {Boolean} iconSize = [true|false] 鏄惁鏄剧ず loading 鍥炬爣
-	 * @property {String} iconType = [snow|circle|auto] 鎸囧畾鍥炬爣鏍峰紡
-	 * 	@value snow ios闆姳鍔犺浇鏍峰紡
-	 * 	@value circle 瀹夊崜鍞ら啋鍔犺浇鏍峰紡
-	 * 	@value auto 鏍规嵁骞冲彴鑷姩閫夋嫨鍔犺浇鏍峰紡
-	 * @property {String} color 鍥炬爣鍜屾枃瀛楅鑹�
-	 * @property {Object} contentText 鍚勭姸鎬佹枃瀛楄鏄庯紝鍊间负锛歿contentdown: "涓婃媺鏄剧ず鏇村",contentrefresh: "姝e湪鍔犺浇...",contentnomore: "娌℃湁鏇村鏁版嵁浜�"}
-	 * @event {Function} clickLoadMore 鐐瑰嚮鍔犺浇鏇村鏃惰Е鍙�
-	 */
-	export default {
-		name: 'UniLoadMore',
-		emits: ['clickLoadMore'],
-		props: {
-			status: {
-				// 涓婃媺鐨勭姸鎬侊細more-loading鍓嶏紱loading-loading涓紱noMore-娌℃湁鏇村浜�
-				type: String,
-				default: 'more'
-			},
-			showIcon: {
-				type: Boolean,
-				default: true
-			},
-			iconType: {
-				type: String,
-				default: 'auto'
-			},
-			iconSize: {
-				type: Number,
-				default: 24
-			},
-			color: {
-				type: String,
-				default: '#777777'
-			},
-			contentText: {
-				type: Object,
-				default () {
-					return {
-						contentdown: '',
-						contentrefresh: '',
-						contentnomore: ''
-					}
-				}
-			},
-			showText: {
-				type: Boolean,
-				default: true
-			}
-		},
-		data() {
-			return {
-				webviewHide: false,
-				platform: platform,
-				imgBase64: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzlBMzU3OTlEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzlBMzU3OUFEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDOUEzNTc5N0Q5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDOUEzNTc5OEQ5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pt+ALSwAAA6CSURBVHja1FsLkFZVHb98LM+F5bHL8khA1iSeiyQBCRM+YGqKUnnJTDLGI0BGZlKDIU2MMglUiDApEZvSsZnQtBRJtKwQNKQMFYeRDR10WOLd8ljYXdh+v8v5fR3Od+797t1dnOnO/Ofce77z+J//+b/P+ZqtXbs2sJ9MJhNUV1cHJ06cCJo3bx7EPc2aNcvpy7pWrVoF+/fvDyoqKoI2bdoE9fX1F7TjN8a+EXBn/fkfvw942Tf+wYMHg9mzZwfjxo0LDhw4EPa1x2MbFw/fOGfPng1qa2tzcCkILsLDydq2bRsunpOTMM7TD/W/tZDZhPdeKD+yGxHhdu3aBV27dg3OnDlzMVANMheLAO3btw8KCwuDmpoaX5OxbgUIMEq7K8IcPnw4KCsrC/r37x8cP378/4cAXAB3vqSkJMuiDhTkw+XcuXNhOWbMmKBly5YhUT8xArhyFvP0BfwRsAuwxJZJsm/nzp2DTp06he/OU+cZ64K6o0ePBkOHDg2GDx8e6gEbJ5Q/NHNuAJQ1hgBeHUDlR7nVTkY8rQAvAi4z34vR/mPs1FoRsaCgIJThI0eOBC1atEiFGGV+5MiRoS45efJkqFjJFXV1dQuA012m2WcwTw98fy6CqBdsaiIO4CScrGPHjvk4odhavPquRtFWXEC25VgkREKOCh/qDSq+vn37htzD/mZTOmOc5U7zKzBPEedygWshcDyWvs30igAbU+6oyMgJBCFhwQE0fccxN60Ay9iebbjoDh06hMowjQxT4fXq1SskArmHZpkArvixp/kWzHdMeArExSJEaiXIjjRjRJ4DaAGWpibLzXN3Fm1vA5teBgh3j1Rv3bp1YgKwPdmf2p9zcyNYYgPKMfY0T5f5nNYdw158nJ8QawW4CLKwiOBSEgO/hok2eBydR+3dYH+PLxA5J8Vv0KBBwenTp0P2JWAx6+yFEBfs8lMY+y0SWMBNI9E4ThKi58VKTg3FQZS1RQF1cz27eC0QHMu+3E0SkUowjhVt5VdaWhp07949ZHv2Qd1EjDXM2cla1M0nl3GxAs3J9yREzyTdFVKVFOaE9qRA8GM0WebRuo9JGZKA7Mv2SeS/Z8+eoQ9BArMfFrLGo6jvxbhHbJZnKX2Rzz1O7QhJJ9Cs2ZMaWIyq/zhdeqPNfIoHd58clIQD+JSXl4dKlyIAuBdVXZwFVWKspSSoxE++h8x4k3uCnEhE4I5KwRiFWGOU0QWKiCYLbdoRMRKAu2kQ9vkfLU6dOhX06NEjlH+yMRZSinnuyWnYosVcji8CEA/6Cg2JF+IIUBqnGKUTCNwtwBN4f89RiK1R96DEgO2o0NDmtEdvVFdVVYV+P3UAPUEs6GFwV3PHmXkD4vh74iDFJysVI/MlaQhwKeBNTLYX5VuA8T4/gZxA4MRGFxDB6R7OmYPfyykGRJbyie+XnGYnQIC/coH9+vULiYrxrkL9ZA9+0ykaHIfEpM7ge8TiJ2CsHYwyMfafAF1yCGBHYIbCVDjDjKt7BeB51D+LgQa6OkG7IDYEEtvQ7lnXLKLtLdLuJBpE4gPUXcW2+PkZwOex+4cGDhwYDBkyRL7/HFcEwUGPo/8uWRUpYnfxGHco8HkewLHLyYmAawAPuIFZxhOpDfJQ8gbUv41yORAptMWBNr6oqMhWird5+u+iHmBb2nhjDV7HWBNQTgK8y11l5NetWzc5ULscAtSj7nbNI0skhWeUZCc0W4nyH/jO4Vz0u1IeYhbk4AiwM6tjxIWByHsoZ9qcIBPJd/y+DwPfBESOmCa/QF3WiZHucLlEDpNxcNhmheEOPgdQNx6/VZFQzFZ5TN08AHXQt2Ii3EdyFuUsPtTcGPhW5iMiCNELvz+Gdn9huG4HUJaW/w3g0wxV0XaG7arG2WeKiUWYM4Y7GO5ezshTARbbWGw/DvXkpp/ivVvE0JVoMxN4rpGzJMhE5Pl+xlATsDIqikP9F9D2z3h9nOksEUFhK+qO4rcPkoalMQ/HqJLIyb3F3JdjrCcw1yZ8joyJLR5gCo54etlag7qIoeNh1N1BRYj3DTFJ0elotxPlVzkGuYAmL0VSJVGAJA41c4Z6A3BzTLfn0HYwYKEI6CUAMzZEWvLsIcQOo1AmmyyM72nHJCfYsogflGV6jEk9vyQZXSuq6w4c16NsGcGZbwOPr+H1RkOk2LEzjNepxQkihHSCQ4ynAYNRx2zMKV92CQMWqj8J0BRE8EShxRFN6YrfCRhC0x3r/Zm4IbQCcmJoV0kMamllccR6FjHqUC5F2R/wS2dcymOlfAKOS4KmzQb5cpNC2MC7JhVn5wjXoJ44rYhLh8n0eXOCorJxa7POjbSlCGVczr34/RsAmrcvo9s+wGp3tzVhntxiXiJ4nvEYb4FJkf0O8HocAePmLvCxnL0AORraVekJk6TYjDabRVXfRE2lCN1h6ZQRN1+InUbsCpKwoBZHh0dODN9JBCUffItXxEavTQkUtnfTVAplCWL3JISz29h4NjotnuSsQKJCk8dF+kJR6RARjrqFVmfPnj3ZbK8cIJ0msd6jgHPGtfVTQ8VLmlvh4mct9sobRmPic0DyDQQnx/NlfYUgyz59+oScsH379pAwXABD32nTpoUHIToESeI5mnbE/UqDdyLcafEBf2MCqgC7NwxIbMREJQ0g4D4sfJwnD+AmRrII05cfMWJE+L1169bQr+fip06dGp4oJ83lmYd5wj/EmMa4TaHivo4EeCguYZBnkB5g2aWA69OIEnUHOaGysjIYMGBAMGnSpODYsWPZwCpFmm4lNq+4gSLQA7jcX8DwtjEyRC8wjabnXEx9kfWnTJkSJkAo90xpJVV+FmcVNeYAF5zWngS4C4O91MBxmAv8blLEpbjI5sz9MTdAhcgkCT1RO8mZkAjfiYpTEvStAS53Uw1vAiUGgZ3GpuQEYvoiBqlIan7kSDHnTwJQFNiPu0+5VxCVYhcZIjNrdXUDdp+Eq5AZ3Gkg8QAyVZRZIk4Tl4QAbF9cXJxNYZMAtAokgs4BrNxEpCtteXg7DDTMDKYNSuQdKsnJBek7HxewvxaosWxLYXtw+cJp18217wql4aKCfBNoEu0O5VU+PhctJ0YeXD4C6JQpyrlpSLTojpGGGN5YwNziChdIZLk4lvLcFJ9jMX3QdiImY9bmGQU+TRUL5CHITTRlgF8D9ouD1MfmLoEPl5xokIumZ2cfgMpHt47IW9N64Hsh7wQYYjyIugWuF5fCqYncXRd5vPMWyizzvhi/32+nvG0dZc9vR6fZOu0md5e+uC408FvKSIOZwXlGvxPv95izA2Vtvg1xKFWARI+vMX66HUhpQQb643uW1bSjuTWyw2SBvDrBvjFic1eGGlz5esq3ko9uSIlBRqPuFcCv8F4WIcN12nVaBd0SaYwI6PDDImR11JkqgHcPmQssjxIn6bUshygDFJUTxPMpHk+jfjPgupgdnYV2R/g7xSjtpah8RJBewhwf0gGK6XI92u4wXFEU40afJ4DN4h5LcAd+40HI3JgJecuT0c062W0i2hQJUTcxan3/CMW1PF2K6bbA+Daz4xRs1D3Br1Cm0OihKCqizW78/nXAF/G5TXrEcVzaNMH6CyMswqsAHqDyDLEyou8lwOXnKF8DjI6KjV3KzMBiXkDH8ij/H214J5A596ekrZ3F0zXlWeL7+P5eUrNo3/QwC15uxthuzidy7DzKRwEDaAViiDgKbTbz7CJnzo0bN7pIfIiid8SuPwn25o3QCmpnyjlZkyxPP8EomCJzrGb7GJMx7tNsq4MT2xMUYaiErZOluTzKsnz3gwCeCZyVRZJfYplNEokEjwrPtxlxjeYAk+F1F74VAzPxQRNYYdtpOUvWs8J1sGhBJMNsb7igN8plJs1eSmLIhLKE4rvaCX27gOhLpLOsIzJ7qn/i+wZzcvSOZ23/du8TZjwV8zHIXoP4R3ifBxiFz1dcVpa3aPntPE+c6TmIWE9EtcMmAcPdWAhYhAXxcLOQi9L1WhD1Sc8p1d2oL7XGiRKp8F4A2i8K/nfI+y/gsTDJ/YC/8+AD5Uh04KHiGl+cIFPnBDDrPMjwRGkLXyxO4VGbfQWnDH2v0bVWE3C9QOXlepbgjEfIJQI6XDG3z5ahD9cw2pS78ipB85wyScNTvsVzlzzhL8/jRrnmVjfFJK/m3m4nj9vbgQTguT8XZTjsm672R5uJKEaQmBI/c58gyus8ZDagLpEVSJBIyHp4jn++xqPV71OgQgJYEWOtZ/haxRtKmWOBu8xdBLftWltsY84zE6WIEy/eIOWL+BaayMx+KHtL7EAkqdNDLiEXmEMUHniedtJqg9HmZtfvt26vNi0BdG3Ft3g8ZOf7PAu59TxtzivLNIekyi+wD1i8CuUiD9FXAa8C+/xS3JPmZnomyc7H+fb4/Se0bk41Fel621r4cgVxbq91V4jVqwB7HTe2M7jgB+QWHavZkDRPmZcASoZEmBx6i75bGjPcMdL4/VKGFAGWZkGzPG0XAbdL9A81G5LOmUnC9hHKJeO7dcUMjblSl12867ElFTtaGl20xvvLGPdVz/8TVuU7y0x1PG7vtNg24oz9Uo/Z412++VFWI7Fcog9tu9Lm6gvRmIPv9x1xmQAu6RDkXtbOtlGEmpgD5Nvnyc0dcv0EE6cfdi1HmhMf9wDF3k3gtRvEedhxjpgfqPb9PU9iEJHnyOUA7bQUXh6kq/D7l2iTjWv7XOD530BDr8jIrus+srXjt4MzumJMHuTsBa63YKE1+RR5lBjEikCCnWKWiHdzOgKO+nRIBAF88za/IFmJ3eMZov4CYxGBabcpGL8EYx+SeMXJeRwHNsV/h+vdxeuhEpN3ZyNY78Gm2fknJxVGhyjixPiQvVkNzT1elD9Py/aTAL64Hb9vcYmC9zfdXdT/C1LeGbg4rnBaAihDFJH12W5ulfNCNe/xTsP3bp8ikzJs5BF+5PNfAQYAPaseTdsEcaYAAAAASUVORK5CYII='
-			}
-		},
-		computed: {
-			iconSnowWidth() {
-				return (Math.floor(this.iconSize / 24) || 1) * 2
-			},
-			contentdownText() {
-				return this.contentText.contentdown || t("uni-load-more.contentdown")
-			},
-			contentrefreshText() {
-				return this.contentText.contentrefresh || t("uni-load-more.contentrefresh")
-			},
-			contentnomoreText() {
-				return this.contentText.contentnomore || t("uni-load-more.contentnomore")
-			}
-		},
-		mounted() {
-			// #ifdef APP-PLUS
-			var pages = getCurrentPages();
-			var page = pages[pages.length - 1];
-			var currentWebview = page.$getAppWebview();
-			currentWebview.addEventListener('hide', () => {
-				this.webviewHide = true
-			})
-			currentWebview.addEventListener('show', () => {
-				this.webviewHide = false
-			})
-			// #endif
-		},
-		methods: {
-			onClick() {
-				this.$emit('clickLoadMore', {
-					detail: {
-						status: this.status,
-					}
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss" >
-	.uni-load-more {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		height: 40px;
-		align-items: center;
-		justify-content: center;
-	}
-
-	.uni-load-more__text {
-		font-size: 14px;
-		margin-left: 8px;
-	}
-
-	.uni-load-more__img {
-		width: 24px;
-		height: 24px;
-		// margin-right: 8px;
-	}
-
-	.uni-load-more__img--nvue {
-		color: #666666;
-	}
-
-	.uni-load-more__img--android,
-	.uni-load-more__img--ios {
-		width: 24px;
-		height: 24px;
-		transform: rotate(0deg);
-	}
-
-	/* #ifndef APP-NVUE */
-	.uni-load-more__img--android {
-		animation: loading-ios 1s 0s linear infinite;
-	}
-
-	@keyframes loading-android {
-		0% {
-			transform: rotate(0deg);
-		}
-
-		100% {
-			transform: rotate(360deg);
-		}
-	}
-
-	.uni-load-more__img--ios-H5 {
-		position: relative;
-		animation: loading-ios-H5 1s 0s step-end infinite;
-	}
-
-	.uni-load-more__img--ios-H5 image {
-		position: absolute;
-		width: 100%;
-		height: 100%;
-		left: 0;
-		top: 0;
-	}
-
-	@keyframes loading-ios-H5 {
-		0% {
-			transform: rotate(0deg);
-		}
-
-		8% {
-			transform: rotate(30deg);
-		}
-
-		16% {
-			transform: rotate(60deg);
-		}
-
-		24% {
-			transform: rotate(90deg);
-		}
-
-		32% {
-			transform: rotate(120deg);
-		}
-
-		40% {
-			transform: rotate(150deg);
-		}
-
-		48% {
-			transform: rotate(180deg);
-		}
-
-		56% {
-			transform: rotate(210deg);
-		}
-
-		64% {
-			transform: rotate(240deg);
-		}
-
-		73% {
-			transform: rotate(270deg);
-		}
-
-		82% {
-			transform: rotate(300deg);
-		}
-
-		91% {
-			transform: rotate(330deg);
-		}
-
-		100% {
-			transform: rotate(360deg);
-		}
-	}
-
-	/* #endif */
-
-	/* #ifdef H5 */
-	.uni-load-more__img--android-H5 {
-		animation: loading-android-H5-rotate 2s linear infinite;
-		transform-origin: center center;
-	}
-
-	.uni-load-more__img--android-H5 circle {
-		display: inline-block;
-		animation: loading-android-H5-dash 1.5s ease-in-out infinite;
-		stroke: currentColor;
-		stroke-linecap: round;
-	}
-
-	@keyframes loading-android-H5-rotate {
-		0% {
-			transform: rotate(0deg);
-		}
-
-		100% {
-			transform: rotate(360deg);
-		}
-	}
-
-	@keyframes loading-android-H5-dash {
-		0% {
-			stroke-dasharray: 1, 200;
-			stroke-dashoffset: 0;
-		}
-
-		50% {
-			stroke-dasharray: 90, 150;
-			stroke-dashoffset: -40;
-		}
-
-		100% {
-			stroke-dasharray: 90, 150;
-			stroke-dashoffset: -120;
-		}
-	}
-
-	/* #endif */
-
-	/* #ifndef APP-NVUE || H5 */
-	.uni-load-more__img--android-MP {
-		position: relative;
-		width: 24px;
-		height: 24px;
-		transform: rotate(0deg);
-		animation: loading-ios 1s 0s ease infinite;
-	}
-
-	.uni-load-more__img--android-MP .uni-load-more__img-icon {
-		position: absolute;
-		box-sizing: border-box;
-		width: 100%;
-		height: 100%;
-		border-radius: 50%;
-		border: solid 2px transparent;
-		border-top: solid 2px #777777;
-		transform-origin: center;
-	}
-
-	.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(1) {
-		animation: loading-android-MP-1 1s 0s linear infinite;
-	}
-
-	.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(2) {
-		animation: loading-android-MP-2 1s 0s linear infinite;
-	}
-
-	.uni-load-more__img--android-MP .uni-load-more__img-icon:nth-child(3) {
-		animation: loading-android-MP-3 1s 0s linear infinite;
-	}
-
-	@keyframes loading-android {
-		0% {
-			transform: rotate(0deg);
-		}
-
-		100% {
-			transform: rotate(360deg);
-		}
-	}
-
-	@keyframes loading-android-MP-1 {
-		0% {
-			transform: rotate(0deg);
-		}
-
-		50% {
-			transform: rotate(90deg);
-		}
-
-		100% {
-			transform: rotate(360deg);
-		}
-	}
-
-	@keyframes loading-android-MP-2 {
-		0% {
-			transform: rotate(0deg);
-		}
-
-		50% {
-			transform: rotate(180deg);
-		}
-
-		100% {
-			transform: rotate(360deg);
-		}
-	}
-
-	@keyframes loading-android-MP-3 {
-		0% {
-			transform: rotate(0deg);
-		}
-
-		50% {
-			transform: rotate(270deg);
-		}
-
-		100% {
-			transform: rotate(360deg);
-		}
-	}
-
-	/* #endif */
-</style>
diff --git a/src/uni_modules/uni-load-more/package.json b/src/uni_modules/uni-load-more/package.json
deleted file mode 100644
index 2fa6f04..0000000
--- a/src/uni_modules/uni-load-more/package.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
-  "id": "uni-load-more",
-  "displayName": "uni-load-more 鍔犺浇鏇村",
-  "version": "1.3.3",
-  "description": "LoadMore 缁勪欢锛屽父鐢ㄥ湪鍒楄〃閲岄潰锛屽仛婊氬姩鍔犺浇浣跨敤銆�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "鍔犺浇鏇村",
-    "load-more"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-load-more/readme.md b/src/uni_modules/uni-load-more/readme.md
deleted file mode 100644
index 54dc1fa..0000000
--- a/src/uni_modules/uni-load-more/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-### LoadMore 鍔犺浇鏇村
-> **缁勪欢鍚嶏細uni-load-more**
-> 浠g爜鍧楋細 `uLoadMore`
-
-
-鐢ㄤ簬鍒楄〃涓紝鍋氭粴鍔ㄥ姞杞戒娇鐢紝灞曠ず loading 鐨勫悇绉嶇姸鎬併��
-
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-load-more)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
-
-
diff --git a/src/uni_modules/uni-nav-bar/changelog.md b/src/uni_modules/uni-nav-bar/changelog.md
deleted file mode 100644
index 4ff224d..0000000
--- a/src/uni_modules/uni-nav-bar/changelog.md
+++ /dev/null
@@ -1,47 +0,0 @@
-## 1.3.9锛�2022-10-13锛�
-- 淇 鏉′欢缂栬瘧閿欒鐨刡ug
-## 1.3.8锛�2022-10-12锛�
-- 淇 nvue 鐜 fixed 涓� true 鐨勬儏鍐典笅锛屾棤娉曠疆椤剁殑 bug
-## 1.3.7锛�2022-08-11锛�
-- 淇 nvue 鐜涓� fixed 涓� true 鐨勬儏鍐典笅锛屾棤娉曠疆椤剁殑 bug
-## 1.3.6锛�2022-06-30锛�
-- 淇 缁勪欢绀轰緥涓彃妲界敤娉曟棤娉曟樉绀哄唴瀹圭殑bug
-## 1.3.5锛�2022-05-24锛�
-- 鏂板 stat 灞炴�� 锛屽彲寮�鍚粺璁itle 涓婃姤 锛屼粎浣跨敤浜唗itle 灞炴�т笖椤圭洰寮�鍚簡uni缁熻鐢熸晥
-## 1.3.4锛�2022-01-24锛�
-- 鏇存柊 缁勪欢绀轰緥
-## 1.3.3锛�2022-01-24锛�
-- 鏂板 left-width/right-width灞炴�� 锛屽彲淇敼宸﹀彸涓や晶鐨勫搴�
-## 1.3.2锛�2022-01-18锛�
-- 淇 鍦╲ue涓嬶紝鏍囬涓嶅瀭鐩村眳涓殑bug
-## 1.3.1锛�2022-01-18锛�
-- 淇 height 灞炴�х被鍨嬮敊璇�
-## 1.3.0锛�2022-01-18锛�
-- 鏂板 height 灞炴��,鍙慨鏀圭粍浠堕珮搴�
-- 鏂板 dark 灞炴�у彲鍙紑鍚殫榛戞ā寮�
-- 浼樺寲 鏍囬瀛楁暟杩囧鏄剧ず鐪佺暐鍙�
-- 浼樺寲 鎻掓Ы锛屾彃鍏ュ唴瀹瑰彲瀹屽叏瑕嗙洊
-## 1.2.1锛�2022-01-10锛�
-- 淇 color 灞炴�т笉鐢熸晥鐨刡ug
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-nav-bar](https://uniapp.dcloud.io/component/uniui/uni-nav-bar)
-## 1.1.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.11锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.0.10锛�2021-04-30锛�
-- 淇 鍦╪vue涓媐ixed涓簍rue锛屽搴︿笉鑳芥拺婊$殑Bug
-## 1.0.9锛�2021-04-21锛�
-- 浼樺寲 娣诲姞渚濊禆 uni-icons, 瀵煎叆鍚庤嚜鍔ㄤ笅杞戒緷璧�
-## 1.0.8锛�2021-04-14锛�
-- uni-ui 淇 uni-nav-bar 褰� fixed 灞炴�т负 true 鏃堕摵涓嶆弧灞忓箷鐨� bug
-
-## 1.0.7锛�2021-02-25锛�
-- 淇 easycom 涓嬶紝鎵句笉鍒� uni-status-bar 鐨刡ug
-
-## 1.0.6锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-
-## 1.0.5锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue b/src/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue
deleted file mode 100644
index 2394cea..0000000
--- a/src/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue
+++ /dev/null
@@ -1,357 +0,0 @@
-<template>
-	<view class="uni-navbar" :class="{'uni-dark':dark, 'uni-nvue-fixed': fixed}">
-		<view class="uni-navbar__content" :class="{ 'uni-navbar--fixed': fixed, 'uni-navbar--shadow': shadow, 'uni-navbar--border': border }"
-			:style="{ 'background-color': themeBgColor }" >
-			<status-bar v-if="statusBar" />
-			<view :style="{ color: themeColor,backgroundColor: themeBgColor ,height:navbarHeight}"
-				class="uni-navbar__header">
-				<view @tap="onClickLeft" class="uni-navbar__header-btns uni-navbar__header-btns-left"
-					:style="{width:leftIconWidth}">
-					<slot name="left">
-						<view class="uni-navbar__content_view" v-if="leftIcon.length > 0">
-							<uni-icons :color="themeColor" :type="leftIcon" size="20" />
-						</view>
-						<view :class="{ 'uni-navbar-btn-icon-left': !leftIcon.length > 0 }" class="uni-navbar-btn-text"
-							v-if="leftText.length">
-							<text :style="{ color: themeColor, fontSize: '12px' }">{{ leftText }}</text>
-						</view>
-					</slot>
-				</view>
-				<view class="uni-navbar__header-container " @tap="onClickTitle">
-					<slot>
-						<view class="uni-navbar__header-container-inner" v-if="title.length>0">
-							<text class="uni-nav-bar-text uni-ellipsis-1"
-								:style="{color: themeColor }">{{ title }}</text>
-						</view>
-					</slot>
-				</view>
-				<view @click="onClickRight" class="uni-navbar__header-btns uni-navbar__header-btns-right"
-					:style="{width:rightIconWidth}">
-					<slot name="right">
-						<view v-if="rightIcon.length">
-							<uni-icons :color="themeColor" :type="rightIcon" size="22" />
-						</view>
-						<view class="uni-navbar-btn-text" v-if="rightText.length && !rightIcon.length">
-							<text class="uni-nav-bar-right-text" :style="{ color: themeColor}">{{ rightText }}</text>
-						</view>
-					</slot>
-				</view>
-			</view>
-		</view>
-		<!-- #ifndef APP-NVUE -->
-		<view class="uni-navbar__placeholder" v-if="fixed">
-			<status-bar v-if="statusBar" />
-			<view class="uni-navbar__placeholder-view" :style="{ height:navbarHeight}" />
-		</view>
-		<!-- #endif -->
-	</view>
-</template>
-
-<script>
-	import statusBar from "./uni-status-bar.vue";
-	const getVal = (val) => typeof val === 'number' ? val + 'px' : val;
-
-	/**
-	 * 
-	 * 
-	 * NavBar 鑷畾涔夊鑸爮
-	 * @description 瀵艰埅鏍忕粍浠讹紝涓昏鐢ㄤ簬澶撮儴瀵艰埅
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=52
-	 * @property {Boolean} dark 寮�鍚粦鏆楁ā寮�
-	 * @property {String} title 鏍囬鏂囧瓧
-	 * @property {String} leftText 宸︿晶鎸夐挳鏂囨湰
-	 * @property {String} rightText 鍙充晶鎸夐挳鏂囨湰
-	 * @property {String} leftIcon 宸︿晶鎸夐挳鍥炬爣锛堝浘鏍囩被鍨嬪弬鑰� [Icon 鍥炬爣](http://ext.dcloud.net.cn/plugin?id=28) type 灞炴�э級
-	 * @property {String} rightIcon 鍙充晶鎸夐挳鍥炬爣锛堝浘鏍囩被鍨嬪弬鑰� [Icon 鍥炬爣](http://ext.dcloud.net.cn/plugin?id=28) type 灞炴�э級
-	 * @property {String} color 鍥炬爣鍜屾枃瀛楅鑹�
-	 * @property {String} backgroundColor 瀵艰埅鏍忚儗鏅鑹�
-	 * @property {Boolean} fixed = [true|false] 鏄惁鍥哄畾椤堕儴
-	 * @property {Boolean} statusBar = [true|false] 鏄惁鍖呭惈鐘舵�佹爮
-	 * @property {Boolean} shadow = [true|false] 瀵艰埅鏍忎笅鏄惁鏈夐槾褰�
-	 * @property {Boolean} stat 鏄惁寮�鍚粺璁℃爣棰樹笂鎶�
-	 * @event {Function} clickLeft 宸︿晶鎸夐挳鐐瑰嚮鏃惰Е鍙�
-	 * @event {Function} clickRight 鍙充晶鎸夐挳鐐瑰嚮鏃惰Е鍙�
-	 * @event {Function} clickTitle 涓棿鏍囬鐐瑰嚮鏃惰Е鍙�
-	 */
-	export default {
-		name: "UniNavBar",
-		components: {
-			statusBar
-		},
-		emits: ['clickLeft', 'clickRight', 'clickTitle'],
-		props: {
-			dark: {
-				type: Boolean,
-				default: false
-			},
-			title: {
-				type: String,
-				default: ""
-			},
-			leftText: {
-				type: String,
-				default: ""
-			},
-			rightText: {
-				type: String,
-				default: ""
-			},
-			leftIcon: {
-				type: String,
-				default: ""
-			},
-			rightIcon: {
-				type: String,
-				default: ""
-			},
-			fixed: {
-				type: [Boolean, String],
-				default: false
-			},
-			color: {
-				type: String,
-				default: ""
-			},
-			backgroundColor: {
-				type: String,
-				default: ""
-			},
-			statusBar: {
-				type: [Boolean, String],
-				default: false
-			},
-			shadow: {
-				type: [Boolean, String],
-				default: false
-			},
-			border: {
-				type: [Boolean, String],
-				default: true
-			},
-			height: {
-				type: [Number, String],
-				default: 44
-			},
-			leftWidth: {
-				type: [Number, String],
-				default: 60
-			},
-			rightWidth: {
-				type: [Number, String],
-				default: 60
-			},
-			stat: {
-				type: [Boolean, String],
-				default: ''
-			}
-		},
-		computed: {
-			themeBgColor() {
-				if (this.dark) {
-					// 榛樿鍊�
-					if (this.backgroundColor) {
-						return this.backgroundColor
-					} else {
-						return this.dark ? '#333' : '#FFF'
-					}
-				}
-				return this.backgroundColor || '#FFF'
-			},
-			themeColor() {
-				if (this.dark) {
-					// 榛樿鍊�
-					if (this.color) {
-						return this.color
-					} else {
-						return this.dark ? '#fff' : '#333'
-					}
-				}
-				return this.color || '#333'
-			},
-			navbarHeight() {
-				return getVal(this.height)
-			},
-			leftIconWidth() {
-				return getVal(this.leftWidth)
-			},
-			rightIconWidth() {
-				return getVal(this.rightWidth)
-			}
-		},
-		mounted() {
-			if (uni.report && this.stat && this.title !== '') {
-				uni.report('title', this.title)
-			}
-		},
-		methods: {
-			onClickLeft() {
-				this.$emit("clickLeft");
-			},
-			onClickRight() {
-				this.$emit("clickRight");
-			},
-			onClickTitle() {
-				this.$emit("clickTitle");
-			}
-		}
-	};
-</script>
-
-<style lang="scss" scoped>
-	$nav-height: 44px;
-
-	.uni-nvue-fixed {
-		/* #ifdef APP-NVUE */
-		position: sticky;
-		/* #endif */
-	}
-	.uni-navbar {
-		// box-sizing: border-box;
-	}
-
-	.uni-nav-bar-text {
-		/* #ifdef APP-PLUS */
-		font-size: 34rpx;
-		/* #endif */
-		/* #ifndef APP-PLUS */
-		font-size: 14px;
-		/* #endif */
-	}
-
-	.uni-nav-bar-right-text {
-		font-size: 12px;
-	}
-
-	.uni-navbar__content {
-		position: relative;
-		// background-color: #fff;
-		// box-sizing: border-box;
-		background-color: transparent;
-	}
-
-	.uni-navbar__content_view {
-		// box-sizing: border-box;
-	}
-
-	.uni-navbar-btn-text {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: flex-start;
-		align-items: center;
-		line-height: 12px;
-	}
-
-	.uni-navbar__header {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		padding: 0 10px;
-		flex-direction: row;
-		height: $nav-height;
-		font-size: 12px;
-	}
-
-	.uni-navbar__header-btns {
-		/* #ifndef APP-NVUE */
-		overflow: hidden;
-		display: flex;
-		/* #endif */
-		flex-wrap: nowrap;
-		flex-direction: row;
-		width: 120rpx;
-		// padding: 0 6px;
-		justify-content: center;
-		align-items: center;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-navbar__header-btns-left {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		width: 120rpx;
-		justify-content: flex-start;
-		align-items: center;
-	}
-
-	.uni-navbar__header-btns-right {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		// width: 150rpx;
-		// padding-right: 30rpx;
-		justify-content: flex-end;
-		align-items: center;
-	}
-
-	.uni-navbar__header-container {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		padding: 0 10px;
-		overflow: hidden;
-	}
-
-	.uni-navbar__header-container-inner {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-		font-size: 12px;
-		overflow: hidden;
-		// box-sizing: border-box;
-	}
-
-
-	.uni-navbar__placeholder-view {
-		height: $nav-height;
-	}
-
-	.uni-navbar--fixed {
-		position: fixed;
-		z-index: 998;
-		/* #ifdef H5 */
-		left: var(--window-left);
-		right: var(--window-right);
-		/* #endif */
-		/* #ifndef H5 */
-		left: 0;
-		right: 0;
-		/* #endif */
-
-	}
-
-	.uni-navbar--shadow {
-		box-shadow: 0 1px 6px #ccc;
-	}
-
-	.uni-navbar--border {
-		border-bottom-width: 1rpx;
-		border-bottom-style: solid;
-		border-bottom-color: #eee;
-	}
-
-	.uni-ellipsis-1 {
-		overflow: hidden;
-		/* #ifndef APP-NVUE */
-		white-space: nowrap;
-		text-overflow: ellipsis;
-		/* #endif */
-		/* #ifdef APP-NVUE */
-		lines: 1;
-		text-overflow: ellipsis;
-		/* #endif */
-	}
-
-	// 鏆椾富棰橀厤缃�
-	.uni-dark {}
-</style>
diff --git a/src/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue b/src/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue
deleted file mode 100644
index 6a68874..0000000
--- a/src/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue
+++ /dev/null
@@ -1,27 +0,0 @@
-<template>
-	<view :style="{ height: statusBarHeight }" class="uni-status-bar">
-		<slot />
-	</view>
-</template>
-
-<script>
-	export default {
-		name: 'UniStatusBar',
-		data() {
-			return {
-				statusBarHeight: 20
-			}
-		},
-		mounted() {
-			this.statusBarHeight = uni.getSystemInfoSync().statusBarHeight + 'px'
-		}
-	}
-</script>
-
-<style lang="scss" >
-	.uni-status-bar {
-		// width: 750rpx;
-		height: 20px;
-		// height: var(--status-bar-height);
-	}
-</style>
diff --git a/src/uni_modules/uni-nav-bar/package.json b/src/uni_modules/uni-nav-bar/package.json
deleted file mode 100644
index e4f5e29..0000000
--- a/src/uni_modules/uni-nav-bar/package.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
-  "id": "uni-nav-bar",
-  "displayName": "uni-nav-bar 鑷畾涔夊鑸爮",
-  "version": "1.3.9",
-  "description": "鑷畾涔夊鑸爮缁勪欢锛屼富瑕佺敤浜庡ご閮ㄥ鑸��",
-  "keywords": [
-    "uni-ui",
-    "瀵艰埅",
-    "瀵艰埅鏍�",
-    "鑷畾涔夊鑸爮"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-			"uni-icons"
-		],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-nav-bar/readme.md b/src/uni_modules/uni-nav-bar/readme.md
deleted file mode 100644
index 3934b32..0000000
--- a/src/uni_modules/uni-nav-bar/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-## NavBar 瀵艰埅鏍�
-> **缁勪欢鍚嶏細uni-nav-bar**
-> 浠g爜鍧楋細 `uNavBar`
-
-瀵艰埅鏍忕粍浠讹紝涓昏鐢ㄤ簬澶撮儴瀵艰埅銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-nav-bar)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
-
-
-
-
-
diff --git a/src/uni_modules/uni-notice-bar/changelog.md b/src/uni_modules/uni-notice-bar/changelog.md
deleted file mode 100644
index d526811..0000000
--- a/src/uni_modules/uni-notice-bar/changelog.md
+++ /dev/null
@@ -1,18 +0,0 @@
-## 1.2.1锛�2022-09-05锛�
-- 鏂板 灞炴�� fontSize锛屽彲淇敼鏂囧瓧澶у皬銆�
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-notice-bar](https://uniapp.dcloud.io/component/uniui/uni-notice-bar)
-## 1.1.1锛�2021-11-09锛� 
-- 鏂板 鎻愪緵缁勪欢璁捐璧勬簮锛岀粍浠舵牱寮忚皟鏁�
-## 1.1.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.9锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.0.8锛�2021-04-21锛�
-- 浼樺寲 娣诲姞渚濊禆 uni-icons, 瀵煎叆鍚庤嚜鍔ㄤ笅杞戒緷璧�
-## 1.0.7锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-
-## 1.0.6锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue b/src/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue
deleted file mode 100644
index 98d4720..0000000
--- a/src/uni_modules/uni-notice-bar/components/uni-notice-bar/uni-notice-bar.vue
+++ /dev/null
@@ -1,426 +0,0 @@
-<template>
-	<view v-if="show" class="uni-noticebar" :style="{ backgroundColor }" @click="onClick">
-		<uni-icons v-if="showIcon === true || showIcon === 'true'" class="uni-noticebar-icon" type="sound"
-			:color="color" :size="fontSize * 1.5" />
-		<view ref="textBox" class="uni-noticebar__content-wrapper"
-			:class="{
-				'uni-noticebar__content-wrapper--scrollable': scrollable,
-				'uni-noticebar__content-wrapper--single': !scrollable && (single || moreText)
-			}"
-			:style="{ height: scrollable ? fontSize * 1.5 + 'px' : 'auto' }"
-		>
-			<view :id="elIdBox" class="uni-noticebar__content"
-				:class="{
-					'uni-noticebar__content--scrollable': scrollable,
-					'uni-noticebar__content--single': !scrollable && (single || moreText)
-				}"
-			>
-				<text :id="elId" ref="animationEle" class="uni-noticebar__content-text" 
-					:class="{
-						'uni-noticebar__content-text--scrollable': scrollable,
-						'uni-noticebar__content-text--single': !scrollable && (single || showGetMore)
-					}" 
-					:style="{
-						color: color,
-						fontSize: fontSize + 'px',
-						lineHeight: fontSize * 1.5 + 'px',
-						width: wrapWidth + 'px',
-						'animationDuration': animationDuration,
-						'-webkit-animationDuration': animationDuration,
-						animationPlayState: webviewHide ? 'paused' : animationPlayState,
-						'-webkit-animationPlayState': webviewHide ? 'paused' : animationPlayState,
-						animationDelay: animationDelay,
-						'-webkit-animationDelay': animationDelay
-					}"
-				>{{text}}</text>
-			</view>
-		</view>
-		<view v-if="isShowGetMore" class="uni-noticebar__more uni-cursor-point"
-			@click="clickMore">
-			<text v-if="moreText.length > 0" :style="{ color: moreColor, fontSize: fontSize + 'px' }">{{ moreText }}</text>
-			<uni-icons v-else type="right" :color="moreColor" :size="fontSize * 1.1" />
-		</view>
-		<view class="uni-noticebar-close uni-cursor-point" v-if="isShowClose">
-			<uni-icons type="closeempty" :color="color" :size="fontSize * 1.1" @click="close" />
-		</view>
-	</view>
-</template>
-
-<script>
-	// #ifdef APP-NVUE
-	const dom = weex.requireModule('dom');
-	const animation = weex.requireModule('animation');
-	// #endif
-
-	/**
-	 * NoticeBar 鑷畾涔夊鑸爮
-	 * @description 閫氬憡鏍忕粍浠�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=30
-	 * @property {Number} speed 鏂囧瓧婊氬姩鐨勯�熷害锛岄粯璁�100px/绉�
-	 * @property {String} text 鏄剧ず鏂囧瓧
-	 * @property {String} backgroundColor 鑳屾櫙棰滆壊
-	 * @property {String} color 鏂囧瓧棰滆壊
-	 * @property {String} moreColor 鏌ョ湅鏇村鏂囧瓧鐨勯鑹�
-	 * @property {String} moreText 璁剧疆鈥滄煡鐪嬫洿澶氣�濈殑鏂囨湰
-	 * @property {Boolean} single = [true|false] 鏄惁鍗曡
-	 * @property {Boolean} scrollable = [true|false] 鏄惁婊氬姩锛屼负true鏃讹紝NoticeBar涓哄崟琛�
-	 * @property {Boolean} showIcon = [true|false] 鏄惁鏄剧ず宸︿晶鍠囧彮鍥炬爣
-	 * @property {Boolean} showClose = [true|false] 鏄惁鏄剧ず宸︿晶鍏抽棴鎸夐挳
-	 * @property {Boolean} showGetMore = [true|false] 鏄惁鏄剧ず鍙充晶鏌ョ湅鏇村鍥炬爣锛屼负true鏃讹紝NoticeBar涓哄崟琛�
-	 * @event {Function} click 鐐瑰嚮 NoticeBar 瑙﹀彂浜嬩欢
-	 * @event {Function} close 鍏抽棴 NoticeBar 瑙﹀彂浜嬩欢
-	 * @event {Function} getmore 鐐瑰嚮鈥濇煡鐪嬫洿澶氣�滄椂瑙﹀彂浜嬩欢
-	 */
-
-	export default {
-		name: 'UniNoticeBar',
-		emits: ['click', 'getmore', 'close'],
-		props: {
-			text: {
-				type: String,
-				default: ''
-			},
-			moreText: {
-				type: String,
-				default: ''
-			},
-			backgroundColor: {
-				type: String,
-				default: '#FFF9EA'
-			},
-			speed: {
-				// 榛樿1s婊氬姩100px
-				type: Number,
-				default: 100
-			},
-			color: {
-				type: String,
-				default: '#FF9A43'
-			},
-			fontSize: {
-				type: Number,
-				default: 14
-			},
-			moreColor: {
-				type: String,
-				default: '#FF9A43'
-			},
-			single: {
-				// 鏄惁鍗曡
-				type: [Boolean, String],
-				default: false
-			},
-			scrollable: {
-				// 鏄惁婊氬姩锛屾坊鍔犲悗鎺у埗鍗曡鏁堟灉鍙栨秷
-				type: [Boolean, String],
-				default: false
-			},
-			showIcon: {
-				// 鏄惁鏄剧ず宸︿晶icon
-				type: [Boolean, String],
-				default: false
-			},
-			showGetMore: {
-				// 鏄惁鏄剧ず鍙充晶鏌ョ湅鏇村
-				type: [Boolean, String],
-				default: false
-			},
-			showClose: {
-				// 鏄惁鏄剧ず宸︿晶鍏抽棴鎸夐挳
-				type: [Boolean, String],
-				default: false
-			}
-		},
-		data() {
-			const elId = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}`
-			const elIdBox = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}`
-			return {
-				textWidth: 0,
-				boxWidth: 0,
-				wrapWidth: '',
-				webviewHide: false,
-				// #ifdef APP-NVUE
-				stopAnimation: false,
-				// #endif
-				elId: elId,
-				elIdBox: elIdBox,
-				show: true,
-				animationDuration: 'none',
-				animationPlayState: 'paused',
-				animationDelay: '0s'
-			}
-		},
-		computed: {
-			isShowGetMore() {
-				return this.showGetMore === true || this.showGetMore === 'true'
-			},
-			isShowClose() {
-				return (this.showClose === true || this.showClose === 'true') 
-					&& (this.showGetMore === false || this.showGetMore === 'false')
-			}
-		},
-		mounted() {
-			// #ifdef APP-PLUS
-			var pages = getCurrentPages();
-			var page = pages[pages.length - 1];
-			var currentWebview = page.$getAppWebview();
-			currentWebview.addEventListener('hide', () => {
-				this.webviewHide = true
-			})
-			currentWebview.addEventListener('show', () => {
-				this.webviewHide = false
-			})
-			// #endif
-			this.$nextTick(() => {
-				this.initSize()
-			})
-		},
-		// #ifdef APP-NVUE
-		beforeDestroy() {
-			this.stopAnimation = true
-		},
-		// #endif
-		methods: {
-			initSize() {
-				if (this.scrollable) {
-					// #ifndef APP-NVUE
-					let query = [],
-						boxWidth = 0,
-						textWidth = 0;
-					let textQuery = new Promise((resolve, reject) => {
-						uni.createSelectorQuery()
-							// #ifndef MP-ALIPAY
-							.in(this)
-							// #endif
-							.select(`#${this.elId}`)
-							.boundingClientRect()
-							.exec(ret => {
-								this.textWidth = ret[0].width
-								resolve()
-							})
-					})
-					let boxQuery = new Promise((resolve, reject) => {
-						uni.createSelectorQuery()
-							// #ifndef MP-ALIPAY
-							.in(this)
-							// #endif
-							.select(`#${this.elIdBox}`)
-							.boundingClientRect()
-							.exec(ret => {
-								this.boxWidth = ret[0].width
-								resolve()
-							})
-					})
-					query.push(textQuery)
-					query.push(boxQuery)
-					Promise.all(query).then(() => {
-						this.animationDuration = `${this.textWidth / this.speed}s`
-						this.animationDelay = `-${this.boxWidth / this.speed}s`
-						setTimeout(() => {
-							this.animationPlayState = 'running'
-						}, 1000)
-					})
-					// #endif
-					// #ifdef APP-NVUE
-					dom.getComponentRect(this.$refs['animationEle'], (res) => {
-						let winWidth = uni.getSystemInfoSync().windowWidth
-						this.textWidth = res.size.width
-						animation.transition(this.$refs['animationEle'], {
-							styles: {
-								transform: `translateX(-${winWidth}px)`
-							},
-							duration: 0,
-							timingFunction: 'linear',
-							delay: 0
-						}, () => {
-							if (!this.stopAnimation) {
-								animation.transition(this.$refs['animationEle'], {
-									styles: {
-										transform: `translateX(-${this.textWidth}px)`
-									},
-									timingFunction: 'linear',
-									duration: (this.textWidth - winWidth) / this.speed * 1000,
-									delay: 1000
-								}, () => {
-									if (!this.stopAnimation) {
-										this.loopAnimation()
-									}
-								});
-							}
-						});
-					})
-					// #endif
-				}
-				// #ifdef APP-NVUE
-				if (!this.scrollable && (this.single || this.moreText)) {
-					dom.getComponentRect(this.$refs['textBox'], (res) => {
-						this.wrapWidth = res.size.width
-					})
-				}
-				// #endif
-			},
-			loopAnimation() {
-				// #ifdef APP-NVUE
-				animation.transition(this.$refs['animationEle'], {
-					styles: {
-						transform: `translateX(0px)`
-					},
-					duration: 0
-				}, () => {
-					if (!this.stopAnimation) {
-						animation.transition(this.$refs['animationEle'], {
-							styles: {
-								transform: `translateX(-${this.textWidth}px)`
-							},
-							duration: this.textWidth / this.speed * 1000,
-							timingFunction: 'linear',
-							delay: 0
-						}, () => {
-							if (!this.stopAnimation) {
-								this.loopAnimation()
-							}
-						});
-					}
-				});
-				// #endif
-			},
-			clickMore() {
-				this.$emit('getmore')
-			},
-			close() {
-				this.show = false;
-				this.$emit('close')
-			},
-			onClick() {
-				this.$emit('click')
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.uni-noticebar {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		width: 100%;
-		box-sizing: border-box;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		padding: 10px 12px;
-		margin-bottom: 10px;
-	}
-
-	.uni-cursor-point {
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-noticebar-close {
-		margin-left: 8px;
-		margin-right: 5px;
-	}
-
-	.uni-noticebar-icon {
-		margin-right: 5px;
-	}
-
-	.uni-noticebar__content-wrapper {
-		flex: 1;
-		flex-direction: column;
-		overflow: hidden;
-	}
-
-	.uni-noticebar__content-wrapper--single {
-		/* #ifndef APP-NVUE */
-		line-height: 18px;
-		/* #endif */
-	}
-
-	.uni-noticebar__content-wrapper--single,
-	.uni-noticebar__content-wrapper--scrollable {
-		flex-direction: row;
-	}
-
-	/* #ifndef APP-NVUE */
-	.uni-noticebar__content-wrapper--scrollable {
-		position: relative;
-	}
-
-	/* #endif */
-
-	.uni-noticebar__content--scrollable {
-		/* #ifdef APP-NVUE */
-		flex: 0;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		flex: 1;
-		display: block;
-		overflow: hidden;
-		/* #endif */
-	}
-
-	.uni-noticebar__content--single {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		flex: none;
-		width: 100%;
-		justify-content: center;
-		/* #endif */
-	}
-
-	.uni-noticebar__content-text {
-		font-size: 14px;
-		line-height: 18px;
-		/* #ifndef APP-NVUE */
-		word-break: break-all;
-		/* #endif */
-	}
-
-	.uni-noticebar__content-text--single {
-		/* #ifdef APP-NVUE */
-		lines: 1;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		display: block;
-		width: 100%;
-		white-space: nowrap;
-		/* #endif */
-		overflow: hidden;
-		text-overflow: ellipsis;
-	}
-
-	.uni-noticebar__content-text--scrollable {
-		/* #ifdef APP-NVUE */
-		lines: 1;
-		padding-left: 750rpx;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		position: absolute;
-		display: block;
-		height: 18px;
-		line-height: 18px;
-		white-space: nowrap;
-		padding-left: 100%;
-		animation: notice 10s 0s linear infinite both;
-		animation-play-state: paused;
-		/* #endif */
-	}
-
-	.uni-noticebar__more {
-		/* #ifndef APP-NVUE */
-		display: inline-flex;
-		/* #endif */
-		flex-direction: row;
-		flex-wrap: nowrap;
-		align-items: center;
-		padding-left: 5px;
-	}
-
-	@keyframes notice {
-		100% {
-			transform: translate3d(-100%, 0, 0);
-		}
-	}
-</style>
diff --git a/src/uni_modules/uni-notice-bar/package.json b/src/uni_modules/uni-notice-bar/package.json
deleted file mode 100644
index 8d9b13c..0000000
--- a/src/uni_modules/uni-notice-bar/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "id": "uni-notice-bar",
-  "displayName": "uni-notice-bar 閫氬憡鏍�",
-  "version": "1.2.1",
-  "description": "NoticeBar 閫氬憡鏍忕粍浠讹紝甯哥敤浜庡睍绀哄叕鍛婁俊鎭紝鍙涓烘粴鍔ㄥ叕鍛�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "閫氬憡鏍�",
-    "鍏憡",
-    "璺戦┈鐏�"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-			"uni-icons"
-		],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-notice-bar/readme.md b/src/uni_modules/uni-notice-bar/readme.md
deleted file mode 100644
index fb2ede2..0000000
--- a/src/uni_modules/uni-notice-bar/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-## NoticeBar 閫氬憡鏍�
-> **缁勪欢鍚嶏細uni-notice-bar**
-> 浠g爜鍧楋細 `uNoticeBar`
-
-
-閫氬憡鏍忕粍浠� 銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-notice-bar)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
-
-
diff --git a/src/uni_modules/uni-number-box/changelog.md b/src/uni_modules/uni-number-box/changelog.md
deleted file mode 100644
index 5925c32..0000000
--- a/src/uni_modules/uni-number-box/changelog.md
+++ /dev/null
@@ -1,25 +0,0 @@
-## 1.2.1锛�2021-11-22锛�
-- 淇 vue3涓煇浜泂css鍙橀噺鏃犳硶鎵惧埌鐨勯棶棰�
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-number-box](https://uniapp.dcloud.io/component/uniui/uni-number-box)
-## 1.1.2锛�2021-11-09锛� 
-- 鏂板 鎻愪緵缁勪欢璁捐璧勬簮锛岀粍浠舵牱寮忚皟鏁�
-## 1.1.1锛�2021-07-30锛�
-- 浼樺寲 vue3涓嬩簨浠惰鍛婄殑闂
-## 1.1.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.7锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.0.6锛�2021-04-20锛�
-- 淇 uni-number-box 娴偣鏁拌繍绠椾笉绮剧‘鐨� bug
-- 淇 uni-number-box change 浜嬩欢瑙﹀彂涓嶆纭殑 bug
-- 鏂板 uni-number-box v-model 鍙屽悜缁戝畾
-## 1.0.5锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-
-## 1.0.7锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 鏂板 鏀寔 v-model
-- 鏂板 鏀寔 focus銆乥lur 浜嬩欢
-- 鏂板 鏀寔 PC 绔�
diff --git a/src/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue b/src/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue
deleted file mode 100644
index e91c032..0000000
--- a/src/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue
+++ /dev/null
@@ -1,221 +0,0 @@
-<template>
-	<view class="uni-numbox">
-		<view @click="_calcValue('minus')" class="uni-numbox__minus uni-numbox-btns" :style="{background}">
-			<text class="uni-numbox--text" :class="{ 'uni-numbox--disabled': inputValue <= min || disabled }" :style="{color}">-</text>
-		</view>
-		<input :disabled="disabled" @focus="_onFocus" @blur="_onBlur" class="uni-numbox__value" type="number"
-			v-model="inputValue" :style="{background, color}" />
-		<view @click="_calcValue('plus')" class="uni-numbox__plus uni-numbox-btns" :style="{background}">
-			<text class="uni-numbox--text" :class="{ 'uni-numbox--disabled': inputValue >= max || disabled }" :style="{color}">+</text>
-		</view>
-	</view>
-</template>
-<script>
-	/**
-	 * NumberBox 鏁板瓧杈撳叆妗�
-	 * @description 甯﹀姞鍑忔寜閽殑鏁板瓧杈撳叆妗�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=31
-	 * @property {Number} value 杈撳叆妗嗗綋鍓嶅��
-	 * @property {Number} min 鏈�灏忓��
-	 * @property {Number} max 鏈�澶у��
-	 * @property {Number} step 姣忔鐐瑰嚮鏀瑰彉鐨勯棿闅斿ぇ灏�
-	 * @property {String} background 鑳屾櫙鑹�
-	 * @property {String} color 瀛椾綋棰滆壊锛堝墠鏅壊锛�
-	 * @property {Boolean} disabled = [true|false] 鏄惁涓虹鐢ㄧ姸鎬�
-	 * @event {Function} change 杈撳叆妗嗗�兼敼鍙樻椂瑙﹀彂鐨勪簨浠讹紝鍙傛暟涓鸿緭鍏ユ褰撳墠鐨� value
-	 * @event {Function} focus 杈撳叆妗嗚仛鐒︽椂瑙﹀彂鐨勪簨浠讹紝鍙傛暟涓� event 瀵硅薄
-	 * @event {Function} blur 杈撳叆妗嗗け鐒︽椂瑙﹀彂鐨勪簨浠讹紝鍙傛暟涓� event 瀵硅薄
-	 */
-
-	export default {
-		name: "UniNumberBox",
-		emits: ['change', 'input', 'update:modelValue', 'blur', 'focus'],
-		props: {
-			value: {
-				type: [Number, String],
-				default: 1
-			},
-			modelValue: {
-				type: [Number, String],
-				default: 1
-			},
-			min: {
-				type: Number,
-				default: 0
-			},
-			max: {
-				type: Number,
-				default: 100
-			},
-			step: {
-				type: Number,
-				default: 1
-			},
-			background: {
-				type: String,
-				default: '#f5f5f5'
-			},
-			color: {
-				type: String,
-				default: '#333'
-			},
-			disabled: {
-				type: Boolean,
-				default: false
-			}
-		},
-		data() {
-			return {
-				inputValue: 0
-			};
-		},
-		watch: {
-			value(val) {
-				this.inputValue = +val;
-			},
-			modelValue(val) {
-				this.inputValue = +val;
-			}
-		},
-		created() {
-			if (this.value === 1) {
-				this.inputValue = +this.modelValue;
-			}
-			if (this.modelValue === 1) {
-				this.inputValue = +this.value;
-			}
-		},
-		methods: {
-			_calcValue(type) {
-				if (this.disabled) {
-					return;
-				}
-				const scale = this._getDecimalScale();
-				let value = this.inputValue * scale;
-				let step = this.step * scale;
-				if (type === "minus") {
-					value -= step;
-					if (value < (this.min * scale)) {
-						return;
-					}
-					if (value > (this.max * scale)) {
-						value = this.max * scale
-					}
-				}
-
-				if (type === "plus") {
-					value += step;
-					if (value > (this.max * scale)) {
-						return;
-					}
-					if (value < (this.min * scale)) {
-						value = this.min * scale
-					}
-				}
-
-				this.inputValue = (value / scale).toFixed(String(scale).length - 1);
-				this.$emit("change", +this.inputValue);
-				// TODO vue2 鍏煎
-				this.$emit("input", +this.inputValue);
-				// TODO vue3 鍏煎
-				this.$emit("update:modelValue", +this.inputValue);
-			},
-			_getDecimalScale() {
-
-				let scale = 1;
-				// 娴偣鍨�
-				if (~~this.step !== this.step) {
-					scale = Math.pow(10, String(this.step).split(".")[1].length);
-				}
-				return scale;
-			},
-			_onBlur(event) {
-				this.$emit('blur', event)
-				let value = event.detail.value;
-				if (isNaN(value)) {
-					this.inputValue = this.min;
-					return;
-				}
-				value = +value;
-				if (value > this.max) {
-					value = this.max;
-				} else if (value < this.min) {
-					value = this.min;
-				}
-				const scale = this._getDecimalScale();
-				this.inputValue = value.toFixed(String(scale).length - 1);
-				this.$emit("change", +this.inputValue);
-				this.$emit("input", +this.inputValue);
-				this.$emit("update:modelValue", +this.inputValue);
-			},
-			_onFocus(event) {
-				this.$emit('focus', event)
-			}
-		}
-	};
-</script>
-<style lang="scss" >
-	$box-height: 26px;
-	$bg: #f5f5f5;
-	$br: 2px;
-	$color: #333;
-
-	.uni-numbox {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-	}
-
-	.uni-numbox-btns {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-		padding: 0 8px;
-		background-color: $bg;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-numbox__value {
-		margin: 0 2px;
-		background-color: $bg;
-		width: 40px;
-		height: $box-height;
-		text-align: center;
-		font-size: 14px;
-		border-left-width: 0;
-		border-right-width: 0;
-		color: $color;
-	}
-
-	.uni-numbox__minus {
-		border-top-left-radius: $br;
-		border-bottom-left-radius: $br;
-	}
-
-	.uni-numbox__plus {
-		border-top-right-radius: $br;
-		border-bottom-right-radius: $br;
-	}
-
-	.uni-numbox--text {
-		// fix nvue
-		line-height: 20px;
-
-		font-size: 20px;
-		font-weight: 300;
-		color: $color;
-	}
-
-	.uni-numbox .uni-numbox--disabled {
-		color: #c0c0c0 !important;
-		/* #ifdef H5 */
-		cursor: not-allowed;
-		/* #endif */
-	}
-</style>
diff --git a/src/uni_modules/uni-number-box/package.json b/src/uni_modules/uni-number-box/package.json
deleted file mode 100644
index ad82336..0000000
--- a/src/uni_modules/uni-number-box/package.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
-  "id": "uni-number-box",
-  "displayName": "uni-number-box 鏁板瓧杈撳叆妗�",
-  "version": "1.2.1",
-  "description": "NumberBox 甯﹀姞鍑忔寜閽殑鏁板瓧杈撳叆妗嗙粍浠讹紝鐢ㄦ埛鍙互鎺у埗姣忔鐐瑰嚮澧炲姞鐨勬暟鍊硷紝鏀寔灏忔暟銆�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "鏁板瓧杈撳叆妗�"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-number-box/readme.md b/src/uni_modules/uni-number-box/readme.md
deleted file mode 100644
index affc56f..0000000
--- a/src/uni_modules/uni-number-box/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-## NumberBox 鏁板瓧杈撳叆妗�
-> **缁勪欢鍚嶏細uni-number-box**
-> 浠g爜鍧楋細 `uNumberBox`
-
-
-甯﹀姞鍑忔寜閽殑鏁板瓧杈撳叆妗嗐��
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-number-box)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
-
-
diff --git a/src/uni_modules/uni-pagination/changelog.md b/src/uni_modules/uni-pagination/changelog.md
deleted file mode 100644
index 2e94adc..0000000
--- a/src/uni_modules/uni-pagination/changelog.md
+++ /dev/null
@@ -1,27 +0,0 @@
-## 1.2.4锛�2022-09-19锛�
-- 淇锛屾湭瀵逛富棰樿壊璁剧疆榛樿鑹诧紝瀵艰嚧鏈紩鍏� uni-scss 鍙橀噺鏂囦欢鎶ラ敊銆�
-- 淇锛屾湭瀵圭Щ鍔ㄧ褰撳墠椤垫枃瀛楀仛涓婚鑹查�傞厤銆�
-## 1.2.3锛�2022-09-15锛�
-- 淇鏈娇鐢� uni-scss 涓婚鑹茬殑 bug銆�
-## 1.2.2锛�2022-07-06锛�
-- 淇 es 璇█ i18n 閿欒
-## 1.2.1锛�2021-11-22锛�
-- 淇 vue3涓煇浜泂css鍙橀噺鏃犳硶鎵惧埌鐨勯棶棰�
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-pagination](https://uniapp.dcloud.io/component/uniui/uni-pagination)
-## 1.1.2锛�2021-10-08锛�
-- 淇 current 銆乿alue 灞炴�ф湭鐩戝惉锛屽鑷撮珮浜牱寮忓け鏁堢殑 bug
-## 1.1.1锛�2021-08-20锛�
-- 鏂板 鏀寔鍥介檯鍖�
-## 1.1.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.7锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.0.6锛�2021-04-12锛�
-- 鏂板 PC 鍜� 绉诲姩绔�傞厤涓嶅悓鐨� ui 
-## 1.0.5锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-
-## 1.0.4锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json b/src/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json
deleted file mode 100644
index d6e2897..0000000
--- a/src/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-	"uni-pagination.prevText": "prev",
-	"uni-pagination.nextText": "next",
-	"uni-pagination.piecePerPage": "piece/page"
-}
diff --git a/src/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json b/src/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json
deleted file mode 100644
index 604a113..0000000
--- a/src/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-	"uni-pagination.prevText": "anterior",
-	"uni-pagination.nextText": "prxima",
-	"uni-pagination.piecePerPage": "Artículo/Página"
-}
diff --git a/src/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json b/src/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json
deleted file mode 100644
index a7a0c77..0000000
--- a/src/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-	"uni-pagination.prevText": "pr茅c茅dente",
-	"uni-pagination.nextText": "suivante",
-	"uni-pagination.piecePerPage": "Articles/Pages"
-}
diff --git a/src/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js b/src/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js
deleted file mode 100644
index 2469dd0..0000000
--- a/src/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import en from './en.json'
-import es from './es.json'
-import fr from './fr.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
-	en,
-	es,
-	fr,
-	'zh-Hans': zhHans,
-	'zh-Hant': zhHant
-}
diff --git a/src/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json b/src/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json
deleted file mode 100644
index 782bbe4..0000000
--- a/src/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-	"uni-pagination.prevText": "涓婁竴椤�",
-	"uni-pagination.nextText": "涓嬩竴椤�",
-	"uni-pagination.piecePerPage": "鏉�/椤�"
-}
diff --git a/src/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json b/src/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json
deleted file mode 100644
index 180fddb..0000000
--- a/src/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
-	"uni-pagination.prevText": "涓婁竴闋�",
-	"uni-pagination.nextText": "涓嬩竴闋�",
-	"uni-pagination.piecePerPage": "姊�/闋�"
-}
diff --git a/src/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue b/src/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue
deleted file mode 100644
index 5305b5f..0000000
--- a/src/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue
+++ /dev/null
@@ -1,465 +0,0 @@
-<template>
-	<view class="uni-pagination">
-		<!-- #ifndef MP -->
-		<picker v-if="showPageSize === true || showPageSize === 'true'" class="select-picker" mode="selector"
-			:value="pageSizeIndex" :range="pageSizeRange" @change="pickerChange" @cancel="pickerClick"
-			@click.native="pickerClick">
-			<button type="default" size="mini" :plain="true">
-				<text>{{pageSizeRange[pageSizeIndex]}} {{piecePerPage}}</text>
-				<uni-icons class="select-picker-icon" type="arrowdown" size="12" color="#999"></uni-icons>
-			</button>
-		</picker>
-		<!-- #endif -->
-		<!-- #ifndef APP-NVUE -->
-		<view class="uni-pagination__total is-phone-hide">鍏� {{ total }} 鏉�</view>
-		<!-- #endif -->
-		<view class="uni-pagination__btn"
-			:class="currentIndex === 1 ? 'uni-pagination--disabled' : 'uni-pagination--enabled'"
-			:hover-class="currentIndex === 1 ? '' : 'uni-pagination--hover'" :hover-start-time="20"
-			:hover-stay-time="70" @click="clickLeft">
-			<template v-if="showIcon === true || showIcon === 'true'">
-				<uni-icons color="#666" size="16" type="left" />
-			</template>
-			<template v-else>
-				<text class="uni-pagination__child-btn">{{ prevPageText }}</text>
-			</template>
-		</view>
-		<view class="uni-pagination__num uni-pagination__num-flex-none">
-			<view class="uni-pagination__num-current">
-				<text class="uni-pagination__num-current-text is-pc-hide current-index-text">{{ currentIndex }}</text>
-				<text class="uni-pagination__num-current-text is-pc-hide">/{{ maxPage || 0 }}</text>
-				<!-- #ifndef APP-NVUE -->
-				<view v-for="(item, index) in paper" :key="index" :class="{ 'page--active': item === currentIndex }"
-					class="uni-pagination__num-tag tag--active is-phone-hide" @click.top="selectPage(item, index)">
-					<text>{{ item }}</text>
-				</view>
-				<!-- #endif -->
-
-			</view>
-		</view>
-		<view class="uni-pagination__btn"
-			:class="currentIndex >= maxPage ? 'uni-pagination--disabled' : 'uni-pagination--enabled'"
-			:hover-class="currentIndex === maxPage ? '' : 'uni-pagination--hover'" :hover-start-time="20"
-			:hover-stay-time="70" @click="clickRight">
-			<template v-if="showIcon === true || showIcon === 'true'">
-				<uni-icons color="#666" size="16" type="right" />
-			</template>
-			<template v-else>
-				<text class="uni-pagination__child-btn">{{ nextPageText }}</text>
-			</template>
-		</view>
-	</view>
-</template>
-
-<script>
-	/**
-	 * Pagination 鍒嗛〉鍣�
-	 * @description 鍒嗛〉鍣ㄧ粍浠讹紝鐢ㄤ簬灞曠ず椤电爜銆佽姹傛暟鎹瓑
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=32
-	 * @property {String} prevText 宸︿晶鎸夐挳鏂囧瓧
-	 * @property {String} nextText 鍙充晶鎸夐挳鏂囧瓧
-	 * @property {String} piecePerPageText 鏉�/椤垫枃瀛�
-	 * @property {Number} current 褰撳墠椤�
-	 * @property {Number} total 鏁版嵁鎬婚噺
-	 * @property {Number} pageSize 姣忛〉鏁版嵁閲�
-	 * @property {Boolean} showIcon = [true|false] 鏄惁浠� icon 褰㈠紡灞曠ず鎸夐挳
-	 * @property {Boolean} showPageSize = [true|false] 鏄惁灞曠ず姣忛〉鏉℃暟
-	 * @property {Array} pageSizeRange = [20, 50, 100, 500] 姣忛〉鏉℃暟閫夋
-	 * @event {Function} change 鐐瑰嚮椤电爜鎸夐挳鏃惰Е鍙� ,e={type,current} current涓哄綋鍓嶉〉锛宼ype鍊间负锛歯ext/prev锛岃〃绀虹偣鍑荤殑鏄笂涓�椤佃繕鏄笅涓�涓�
-	 * * @event {Function} pageSizeChange 褰撳墠姣忛〉鏉℃暟鏀瑰彉鏃惰Е鍙� ,e={pageSize} pageSize 涓哄綋鍓嶆墍閫夌殑姣忛〉鏉℃暟
-	 */
-
-	import {
-		initVueI18n
-	} from '@dcloudio/uni-i18n'
-	import messages from './i18n/index.js'
-	const {
-		t
-	} = initVueI18n(messages)
-	export default {
-		name: 'UniPagination',
-		emits: ['update:modelValue', 'input', 'change', 'pageSizeChange'],
-		props: {
-			value: {
-				type: [Number, String],
-				default: 1
-			},
-			modelValue: {
-				type: [Number, String],
-				default: 1
-			},
-			prevText: {
-				type: String,
-			},
-			nextText: {
-				type: String,
-			},
-			piecePerPageText: {
-				type: String
-			},
-			current: {
-				type: [Number, String],
-				default: 1
-			},
-			total: {
-				// 鏁版嵁鎬婚噺
-				type: [Number, String],
-				default: 0
-			},
-			pageSize: {
-				// 姣忛〉鏁版嵁閲�
-				type: [Number, String],
-				default: 10
-			},
-			showIcon: {
-				// 鏄惁浠� icon 褰㈠紡灞曠ず鎸夐挳
-				type: [Boolean, String],
-				default: false
-			},
-			showPageSize: {
-				// 鏄惁浠� icon 褰㈠紡灞曠ず鎸夐挳
-				type: [Boolean, String],
-				default: false
-			},
-			pagerCount: {
-				type: Number,
-				default: 7
-			},
-			pageSizeRange: {
-				type: Array,
-				default: () => [20, 50, 100, 500]
-			}
-		},
-		data() {
-			return {
-				pageSizeIndex: 0,
-				currentIndex: 1,
-				paperData: [],
-				pickerShow: false
-			}
-		},
-		computed: {
-			piecePerPage() {
-				return this.piecePerPageText || t('uni-pagination.piecePerPage')
-			},
-			prevPageText() {
-				return this.prevText || t('uni-pagination.prevText')
-			},
-			nextPageText() {
-				return this.nextText || t('uni-pagination.nextText')
-			},
-			maxPage() {
-				let maxPage = 1
-				let total = Number(this.total)
-				let pageSize = Number(this.pageSize)
-				if (total && pageSize) {
-					maxPage = Math.ceil(total / pageSize)
-				}
-				return maxPage
-			},
-			paper() {
-				const num = this.currentIndex
-				// TODO 鏈�澶ч〉鏁�
-				const pagerCount = this.pagerCount
-				// const total = 181
-				const total = this.total
-				const pageSize = this.pageSize
-				let totalArr = []
-				let showPagerArr = []
-				let pagerNum = Math.ceil(total / pageSize)
-				for (let i = 0; i < pagerNum; i++) {
-					totalArr.push(i + 1)
-				}
-				showPagerArr.push(1)
-				const totalNum = totalArr[totalArr.length - (pagerCount + 1) / 2]
-				totalArr.forEach((item, index) => {
-					if ((pagerCount + 1) / 2 >= num) {
-						if (item < pagerCount + 1 && item > 1) {
-							showPagerArr.push(item)
-						}
-					} else if (num + 2 <= totalNum) {
-						if (item > num - (pagerCount + 1) / 2 && item < num + (pagerCount + 1) / 2) {
-							showPagerArr.push(item)
-						}
-					} else {
-						if ((item > num - (pagerCount + 1) / 2 || pagerNum - pagerCount < item) && item < totalArr[
-								totalArr.length - 1]) {
-							showPagerArr.push(item)
-						}
-					}
-				})
-				if (pagerNum > pagerCount) {
-					if ((pagerCount + 1) / 2 >= num) {
-						showPagerArr[showPagerArr.length - 1] = '...'
-					} else if (num + 2 <= totalNum) {
-						showPagerArr[1] = '...'
-						showPagerArr[showPagerArr.length - 1] = '...'
-					} else {
-						showPagerArr[1] = '...'
-					}
-					showPagerArr.push(totalArr[totalArr.length - 1])
-				} else {
-					if ((pagerCount + 1) / 2 >= num) {} else if (num + 2 <= totalNum) {} else {
-						showPagerArr.shift()
-						showPagerArr.push(totalArr[totalArr.length - 1])
-					}
-				}
-
-				return showPagerArr
-			}
-		},
-		watch: {
-			current: {
-				immediate: true,
-				handler(val, old) {
-					if (val < 1) {
-						this.currentIndex = 1
-					} else {
-						this.currentIndex = val
-					}
-				}
-			},
-			value: {
-				immediate: true,
-				handler(val) {
-					if (Number(this.current) !== 1) return
-					if (val < 1) {
-						this.currentIndex = 1
-					} else {
-						this.currentIndex = val
-					}
-				}
-			},
-			pageSizeIndex(val) {
-				this.$emit('pageSizeChange', this.pageSizeRange[val])
-			}
-		},
-		methods: {
-			pickerChange(e) {
-				this.pageSizeIndex = e.detail.value
-				this.pickerClick()
-			},
-			pickerClick() {
-				// #ifdef H5
-				const body = document.querySelector('body')
-				if (!body) return
-
-				const className = 'uni-pagination-picker-show'
-				this.pickerShow = !this.pickerShow
-
-				if (this.pickerShow) {
-					body.classList.add(className)
-				} else {
-					setTimeout(() => body.classList.remove(className), 300)
-				}
-				// #endif
-			},
-			// 閫夋嫨鏍囩
-			selectPage(e, index) {
-				if (parseInt(e)) {
-					this.currentIndex = e
-					this.change('current')
-				} else {
-					let pagerNum = Math.ceil(this.total / this.pageSize)
-					// let pagerNum = Math.ceil(181 / this.pageSize)
-					// 涓婁竴椤�
-					if (index <= 1) {
-						if (this.currentIndex - 5 > 1) {
-							this.currentIndex -= 5
-						} else {
-							this.currentIndex = 1
-						}
-						return
-					}
-					// 涓嬩竴椤�
-					if (index >= 6) {
-						if (this.currentIndex + 5 > pagerNum) {
-							this.currentIndex = pagerNum
-						} else {
-							this.currentIndex += 5
-						}
-						return
-					}
-				}
-			},
-			clickLeft() {
-				if (Number(this.currentIndex) === 1) {
-					return
-				}
-				this.currentIndex -= 1
-				this.change('prev')
-			},
-			clickRight() {
-				if (Number(this.currentIndex) >= this.maxPage) {
-					return
-				}
-				this.currentIndex += 1
-				this.change('next')
-			},
-			change(e) {
-				this.$emit('input', this.currentIndex)
-				this.$emit('update:modelValue', this.currentIndex)
-				this.$emit('change', {
-					type: e,
-					current: this.currentIndex
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	$uni-primary: #2979ff !default;
-	.uni-pagination {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		position: relative;
-		overflow: hidden;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-	}
-
-	.uni-pagination__total {
-		font-size: 14px;
-		color: #999;
-		margin-right: 15px;
-	}
-
-	.uni-pagination__btn {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		cursor: pointer;
-		/* #endif */
-		padding: 0 8px;
-		line-height: 30px;
-		font-size: 12px;
-		position: relative;
-		background-color: #F0F0F0;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		text-align: center;
-		border-radius: 5px;
-		// border-width: 1px;
-		// border-style: solid;
-		// border-color: $uni-border-color;
-	}
-
-	.uni-pagination__child-btn {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		font-size: 12px;
-		position: relative;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		text-align: center;
-		color: #666;
-		font-size: 12px;
-	}
-
-	.uni-pagination__num {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		height: 30px;
-		line-height: 30px;
-		font-size: 12px;
-		color: #666;
-		margin: 0 5px;
-	}
-
-	.uni-pagination__num-tag {
-		/* #ifdef H5 */
-		cursor: pointer;
-		min-width: 30px;
-		/* #endif */
-		margin: 0 5px;
-		height: 30px;
-		text-align: center;
-		line-height: 30px;
-		// border: 1px red solid;
-		color: #999;
-		border-radius: 4px;
-		// border-width: 1px;
-		// border-style: solid;
-		// border-color: $uni-border-color;
-	}
-
-	.uni-pagination__num-current {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-	}
-
-	.uni-pagination__num-current-text {
-		font-size: 15px;
-	}
-
-	.current-index-text{
-		color: $uni-primary;
-	}
-
-	.uni-pagination--enabled {
-		color: #333333;
-		opacity: 1;
-	}
-
-	.uni-pagination--disabled {
-		opacity: 0.5;
-		/* #ifdef H5 */
-		cursor: default;
-		/* #endif */
-	}
-
-	.uni-pagination--hover {
-		color: rgba(0, 0, 0, 0.6);
-		background-color: #eee;
-	}
-
-	.tag--active:hover {
-		color: $uni-primary;
-	}
-
-	.page--active {
-		color: #fff;
-		background-color: $uni-primary;
-	}
-
-	.page--active:hover {
-		color: #fff;
-	}
-
-	/* #ifndef APP-NVUE */
-	.is-pc-hide {
-		display: block;
-	}
-
-	.is-phone-hide {
-		display: none;
-	}
-
-	@media screen and (min-width: 450px) {
-		.is-pc-hide {
-			display: none;
-		}
-
-		.is-phone-hide {
-			display: block;
-		}
-
-		.uni-pagination__num-flex-none {
-			flex: none;
-		}
-	}
-
-	/* #endif */
-</style>
diff --git a/src/uni_modules/uni-pagination/package.json b/src/uni_modules/uni-pagination/package.json
deleted file mode 100644
index 862d5ab..0000000
--- a/src/uni_modules/uni-pagination/package.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
-  "id": "uni-pagination",
-  "displayName": "uni-pagination 鍒嗛〉鍣�",
-  "version": "1.2.4",
-  "description": "Pagination 鍒嗛〉鍣ㄧ粍浠讹紝鐢ㄤ簬灞曠ず椤电爜銆佽姹傛暟鎹瓑銆�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "鍒嗛〉鍣�",
-    "椤电爜"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-"dcloudext": {
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-    "type": "component-vue"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss","uni-icons"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-pagination/readme.md b/src/uni_modules/uni-pagination/readme.md
deleted file mode 100644
index 97ea1d6..0000000
--- a/src/uni_modules/uni-pagination/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-## Pagination 鍒嗛〉鍣�
-> **缁勪欢鍚嶏細uni-pagination**
-> 浠g爜鍧楋細 `uPagination`
-
-
-鍒嗛〉鍣ㄧ粍浠讹紝鐢ㄤ簬灞曠ず椤电爜銆佽姹傛暟鎹瓑銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-pagination)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
diff --git a/src/uni_modules/uni-popup/changelog.md b/src/uni_modules/uni-popup/changelog.md
deleted file mode 100644
index 41abeb4..0000000
--- a/src/uni_modules/uni-popup/changelog.md
+++ /dev/null
@@ -1,66 +0,0 @@
-## 1.8.2锛�2023-02-02锛�
-- uni-popup-dialog 缁勪欢鏂板 inputType 灞炴��
-## 1.8.1锛�2022-12-01锛�
-- 淇 nvue 涓� v-show 鎶ラ敊
-## 1.8.0锛�2022-11-29锛�
-- 浼樺寲 涓婚鏍峰紡
-## 1.7.9锛�2022-04-02锛�
-- 淇 寮瑰嚭灞傚唴閮ㄦ棤娉曟粴鍔ㄧ殑bug
-## 1.7.8锛�2022-03-28锛�
-- 淇 灏忕▼搴忎腑楂樺害閿欒鐨刡ug
-## 1.7.7锛�2022-03-17锛�
-- 淇 蹇�熻皟鐢╫pen鍑虹幇闂鐨凚ug
-## 1.7.6锛�2022-02-14锛�
-- 淇 safeArea 灞炴�т笉鑳借缃负false鐨刡ug
-## 1.7.5锛�2022-01-19锛�
-- 淇 isMaskClick 澶辨晥鐨刡ug
-## 1.7.4锛�2022-01-19锛�
-- 鏂板 cancelText \ confirmText 灞炴�� 锛屽彲鑷畾涔夋枃鏈�
-- 鏂板 maskBackgroundColor 灞炴�� 锛屽彲浠ヤ慨鏀硅挋鐗堥鑹�
-- 浼樺寲 maskClick灞炴�� 鏇存柊涓� isMaskClick 锛岃В鍐冲井淇″皬绋嬪簭璀﹀憡鐨勯棶棰�
-## 1.7.3锛�2022-01-13锛�
-- 淇 璁剧疆 safeArea 灞炴�т笉鐢熸晥鐨刡ug
-## 1.7.2锛�2021-11-26锛�
-- 浼樺寲 缁勪欢绀轰緥
-## 1.7.1锛�2021-11-26锛�
-- 淇 vuedoc 鏂囧瓧閿欒
-## 1.7.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-popup](https://uniapp.dcloud.io/component/uniui/uni-popup)
-## 1.6.2锛�2021-08-24锛�
-- 鏂板 鏀寔鍥介檯鍖�
-## 1.6.1锛�2021-07-30锛�
-- 浼樺寲 vue3涓嬩簨浠惰鍛婄殑闂
-## 1.6.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.5.0锛�2021-06-23锛�
-- 鏂板 mask-click 閬僵灞傜偣鍑讳簨浠�
-## 1.4.5锛�2021-06-22锛�
-- 淇 nvue 骞冲彴涓棿寮瑰嚭鍚庯紝鐐瑰嚮鍐呭锛屽啀鐐瑰嚮閬僵鏃犳硶鍏抽棴鐨凚ug
-## 1.4.4锛�2021-06-18锛�
-- 淇 H5骞冲彴涓棿寮瑰嚭鍚庯紝鐐瑰嚮鍐呭锛屽啀鐐瑰嚮閬僵鏃犳硶鍏抽棴鐨凚ug
-## 1.4.3锛�2021-06-08锛�
-- 淇 閿欒鐨� watch 瀛楁
-- 淇 safeArea 灞炴�т笉鐢熸晥鐨勯棶棰�
-- 淇 鐐瑰嚮鍐呭锛屽啀鐐瑰嚮閬僵鏃犳硶鍏抽棴鐨凚ug
-## 1.4.2锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.4.1锛�2021-04-29锛�
-- 淇 缁勪欢鍐呮斁缃� input 銆乼extarea 缁勪欢锛屾棤娉曡仛鐒︾殑闂
-## 1.4.0 锛�2021-04-29锛�
-- 鏂板 type 灞炴�х殑 left\right 鍊硷紝鏀寔宸﹀彸寮瑰嚭
-- 鏂板 open(String:type) 鏂规硶鍙傛暟 锛屽彲浠ョ渷鐣� type 灞炴�� 锛岀洿鎺ヤ紶鍏ョ被鍨嬫墦寮�鎸囧畾寮圭獥
-- 鏂板 backgroundColor 灞炴�э紝鍙畾涔変富绐楀彛鑳屾櫙鑹�,榛樿涓嶆樉绀鸿儗鏅壊
-- 鏂板 safeArea 灞炴�э紝鏄惁閫傞厤搴曢儴瀹夊叏鍖�
-- 淇 App\h5\寰俊灏忕▼搴忓簳閮ㄥ畨鍏ㄥ尯鍗犱綅涓嶅鐨凚ug
-- 淇 App 绔脊鍑虹瓑寰呯殑Bug
-- 浼樺寲 鎻愬崌浣庨厤璁惧鎬ц兘锛屼紭鍖栧姩鐢诲崱椤块棶棰�
-- 浼樺寲 鏇寸畝鍗曠殑缁勪欢鑷畾涔夋柟寮�
-## 1.2.9锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-## 1.2.8锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-## 1.2.7锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 鏂板 鏀寔 PC 绔�
-- 鏂板 uni-popup-message 銆乽ni-popup-dialog鎵╁睍缁勪欢鏀寔 PC 绔�
diff --git a/src/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js b/src/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js
deleted file mode 100644
index 6ef26a2..0000000
--- a/src/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// #ifdef H5
-export default {
-  name: 'Keypress',
-  props: {
-    disable: {
-      type: Boolean,
-      default: false
-    }
-  },
-  mounted () {
-    const keyNames = {
-      esc: ['Esc', 'Escape'],
-      tab: 'Tab',
-      enter: 'Enter',
-      space: [' ', 'Spacebar'],
-      up: ['Up', 'ArrowUp'],
-      left: ['Left', 'ArrowLeft'],
-      right: ['Right', 'ArrowRight'],
-      down: ['Down', 'ArrowDown'],
-      delete: ['Backspace', 'Delete', 'Del']
-    }
-    const listener = ($event) => {
-      if (this.disable) {
-        return
-      }
-      const keyName = Object.keys(keyNames).find(key => {
-        const keyName = $event.key
-        const value = keyNames[key]
-        return value === keyName || (Array.isArray(value) && value.includes(keyName))
-      })
-      if (keyName) {
-        // 閬垮厤鍜屽叾浠栨寜閿簨浠跺啿绐�
-        setTimeout(() => {
-          this.$emit(keyName, {})
-        }, 0)
-      }
-    }
-    document.addEventListener('keyup', listener)
-    this.$once('hook:beforeDestroy', () => {
-      document.removeEventListener('keyup', listener)
-    })
-  },
-	render: () => {}
-}
-// #endif
diff --git a/src/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue b/src/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue
deleted file mode 100644
index b5eee79..0000000
--- a/src/uni_modules/uni-popup/components/uni-popup-dialog/uni-popup-dialog.vue
+++ /dev/null
@@ -1,275 +0,0 @@
-<template>
-	<view class="uni-popup-dialog">
-		<view class="uni-dialog-title">
-			<text class="uni-dialog-title-text" :class="['uni-popup__'+dialogType]">{{titleText}}</text>
-		</view>
-		<view v-if="mode === 'base'" class="uni-dialog-content">
-			<slot>
-				<text class="uni-dialog-content-text">{{content}}</text>
-			</slot>
-		</view>
-		<view v-else class="uni-dialog-content">
-			<slot>
-				<input class="uni-dialog-input" v-model="val" :type="inputType" :placeholder="placeholderText" :focus="focus" >
-			</slot>
-		</view>
-		<view class="uni-dialog-button-group">
-			<view class="uni-dialog-button" @click="closeDialog">
-				<text class="uni-dialog-button-text">{{closeText}}</text>
-			</view>
-			<view class="uni-dialog-button uni-border-left" @click="onOk">
-				<text class="uni-dialog-button-text uni-button-color">{{okText}}</text>
-			</view>
-		</view>
-
-	</view>
-</template>
-
-<script>
-	import popup from '../uni-popup/popup.js'
-	import {
-	initVueI18n
-	} from '@dcloudio/uni-i18n'
-	import messages from '../uni-popup/i18n/index.js'
-	const {	t } = initVueI18n(messages)
-	/**
-	 * PopUp 寮瑰嚭灞�-瀵硅瘽妗嗘牱寮�
-	 * @description 寮瑰嚭灞�-瀵硅瘽妗嗘牱寮�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=329
-	 * @property {String} value input 妯″紡涓嬬殑榛樿鍊�
-	 * @property {String} placeholder input 妯″紡涓嬭緭鍏ユ彁绀�
-	 * @property {String} type = [success|warning|info|error] 涓婚鏍峰紡
-	 *  @value success 鎴愬姛
-	 * 	@value warning 鎻愮ず
-	 * 	@value info 娑堟伅
-	 * 	@value error 閿欒
-	 * @property {String} mode = [base|input] 妯″紡銆�
-	 * 	@value base 鍩虹瀵硅瘽妗�
-	 * 	@value input 鍙緭鍏ュ璇濇
-	 * @property {String} content 瀵硅瘽妗嗗唴瀹�
-	 * @property {Boolean} beforeClose 鏄惁鎷︽埅鍙栨秷浜嬩欢
-	 * @event {Function} confirm 鐐瑰嚮纭鎸夐挳瑙﹀彂
-	 * @event {Function} close 鐐瑰嚮鍙栨秷鎸夐挳瑙﹀彂
-	 */
-
-	export default {
-		name: "uniPopupDialog",
-		mixins: [popup],
-		emits:['confirm','close'],
-		props: {
-			inputType:{
-				type: String,
-				default: 'text'
-			},
-			value: {
-				type: [String, Number],
-				default: ''
-			},
-			placeholder: {
-				type: [String, Number],
-				default: ''
-			},
-			type: {
-				type: String,
-				default: 'error'
-			},
-			mode: {
-				type: String,
-				default: 'base'
-			},
-			title: {
-				type: String,
-				default: ''
-			},
-			content: {
-				type: String,
-				default: ''
-			},
-			beforeClose: {
-				type: Boolean,
-				default: false
-			},
-			cancelText:{
-				type: String,
-				default: ''
-			},
-			confirmText:{
-				type: String,
-				default: ''
-			}
-		},
-		data() {
-			return {
-				dialogType: 'error',
-				focus: false,
-				val: ""
-			}
-		},
-		computed: {
-			okText() {
-				return this.confirmText || t("uni-popup.ok")
-			},
-			closeText() {
-				return this.cancelText || t("uni-popup.cancel")
-			},
-			placeholderText() {
-				return this.placeholder || t("uni-popup.placeholder")
-			},
-			titleText() {
-				return this.title || t("uni-popup.title")
-			}
-		},
-		watch: {
-			type(val) {
-				this.dialogType = val
-			},
-			mode(val) {
-				if (val === 'input') {
-					this.dialogType = 'info'
-				}
-			},
-			value(val) {
-				this.val = val
-			}
-		},
-		created() {
-			// 瀵硅瘽妗嗛伄缃╀笉鍙偣鍑�
-			this.popup.disableMask()
-			// this.popup.closeMask()
-			if (this.mode === 'input') {
-				this.dialogType = 'info'
-				this.val = this.value
-			} else {
-				this.dialogType = this.type
-			}
-		},
-		mounted() {
-			this.focus = true
-		},
-		methods: {
-			/**
-			 * 鐐瑰嚮纭鎸夐挳
-			 */
-			onOk() {
-				if (this.mode === 'input'){
-					this.$emit('confirm', this.val)
-				}else{
-					this.$emit('confirm')
-				}
-				if(this.beforeClose) return
-				this.popup.close()
-			},
-			/**
-			 * 鐐瑰嚮鍙栨秷鎸夐挳
-			 */
-			closeDialog() {
-				this.$emit('close')
-				if(this.beforeClose) return
-				this.popup.close()
-			},
-			close(){
-				this.popup.close()
-			}
-		}
-	}
-</script>
-
-<style lang="scss" >
-	.uni-popup-dialog {
-		width: 300px;
-		border-radius: 11px;
-		background-color: #fff;
-	}
-
-	.uni-dialog-title {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding-top: 25px;
-	}
-
-	.uni-dialog-title-text {
-		font-size: 16px;
-		font-weight: 500;
-	}
-
-	.uni-dialog-content {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 20px;
-	}
-
-	.uni-dialog-content-text {
-		font-size: 14px;
-		color: #6C6C6C;
-	}
-
-	.uni-dialog-button-group {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		border-top-color: #f5f5f5;
-		border-top-style: solid;
-		border-top-width: 1px;
-	}
-
-	.uni-dialog-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		height: 45px;
-	}
-
-	.uni-border-left {
-		border-left-color: #f0f0f0;
-		border-left-style: solid;
-		border-left-width: 1px;
-	}
-
-	.uni-dialog-button-text {
-		font-size: 16px;
-		color: #333;
-	}
-
-	.uni-button-color {
-		color: #007aff;
-	}
-
-	.uni-dialog-input {
-		flex: 1;
-		font-size: 14px;
-		border: 1px #eee solid;
-		height: 40px;
-		padding: 0 10px;
-		border-radius: 5px;
-		color: #555;
-	}
-
-	.uni-popup__success {
-		color: #4cd964;
-	}
-
-	.uni-popup__warn {
-		color: #f0ad4e;
-	}
-
-	.uni-popup__error {
-		color: #dd524d;
-	}
-
-	.uni-popup__info {
-		color: #909399;
-	}
-</style>
diff --git a/src/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue b/src/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue
deleted file mode 100644
index 91370a8..0000000
--- a/src/uni_modules/uni-popup/components/uni-popup-message/uni-popup-message.vue
+++ /dev/null
@@ -1,143 +0,0 @@
-<template>
-	<view class="uni-popup-message">
-		<view class="uni-popup-message__box fixforpc-width" :class="'uni-popup__'+type">
-			<slot>
-				<text class="uni-popup-message-text" :class="'uni-popup__'+type+'-text'">{{message}}</text>
-			</slot>
-		</view>
-	</view>
-</template>
-
-<script>
-	import popup from '../uni-popup/popup.js'
-	/**
-	 * PopUp 寮瑰嚭灞�-娑堟伅鎻愮ず
-	 * @description 寮瑰嚭灞�-娑堟伅鎻愮ず
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=329
-	 * @property {String} type = [success|warning|info|error] 涓婚鏍峰紡
-	 *  @value success 鎴愬姛
-	 * 	@value warning 鎻愮ず
-	 * 	@value info 娑堟伅
-	 * 	@value error 閿欒
-	 * @property {String} message 娑堟伅鎻愮ず鏂囧瓧
-	 * @property {String} duration 鏄剧ず鏃堕棿锛岃缃负 0 鍒欎笉浼氳嚜鍔ㄥ叧闂�
-	 */
-
-	export default {
-		name: 'uniPopupMessage',
-		mixins:[popup],
-		props: {
-			/**
-			 * 涓婚 success/warning/info/error	  榛樿 success
-			 */
-			type: {
-				type: String,
-				default: 'success'
-			},
-			/**
-			 * 娑堟伅鏂囧瓧
-			 */
-			message: {
-				type: String,
-				default: ''
-			},
-			/**
-			 * 鏄剧ず鏃堕棿锛岃缃负 0 鍒欎笉浼氳嚜鍔ㄥ叧闂�
-			 */
-			duration: {
-				type: Number,
-				default: 3000
-			},
-			maskShow:{
-				type:Boolean,
-				default:false
-			}
-		},
-		data() {
-			return {}
-		},
-		created() {
-			this.popup.maskShow = this.maskShow
-			this.popup.messageChild = this
-		},
-		methods: {
-			timerClose(){
-				if(this.duration === 0) return
-				clearTimeout(this.timer) 
-				this.timer = setTimeout(()=>{
-					this.popup.close()
-				},this.duration)
-			}
-		}
-	}
-</script>
-<style lang="scss" >
-	.uni-popup-message {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-	}
-
-	.uni-popup-message__box {
-		background-color: #e1f3d8;
-		padding: 10px 15px;
-		border-color: #eee;
-		border-style: solid;
-		border-width: 1px;
-		flex: 1;
-	}
-
-	@media screen and (min-width: 500px) {
-		.fixforpc-width {
-			margin-top: 20px;
-			border-radius: 4px;
-			flex: none;
-			min-width: 380px;
-			/* #ifndef APP-NVUE */
-			max-width: 50%;
-			/* #endif */
-			/* #ifdef APP-NVUE */
-			max-width: 500px;
-			/* #endif */
-		}
-	}
-
-	.uni-popup-message-text {
-		font-size: 14px;
-		padding: 0;
-	}
-
-	.uni-popup__success {
-		background-color: #e1f3d8;
-	}
-
-	.uni-popup__success-text {
-		color: #67C23A;
-	}
-
-	.uni-popup__warn {
-		background-color: #faecd8;
-	}
-
-	.uni-popup__warn-text {
-		color: #E6A23C;
-	}
-
-	.uni-popup__error {
-		background-color: #fde2e2;
-	}
-
-	.uni-popup__error-text {
-		color: #F56C6C;
-	}
-
-	.uni-popup__info {
-		background-color: #F2F6FC;
-	}
-
-	.uni-popup__info-text {
-		color: #909399;
-	}
-</style>
diff --git a/src/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue b/src/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue
deleted file mode 100644
index 5be7624..0000000
--- a/src/uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue
+++ /dev/null
@@ -1,187 +0,0 @@
-<template>
-	<view class="uni-popup-share">
-		<view class="uni-share-title"><text class="uni-share-title-text">{{shareTitleText}}</text></view>
-		<view class="uni-share-content">
-			<view class="uni-share-content-box">
-				<view class="uni-share-content-item" v-for="(item,index) in bottomData" :key="index" @click.stop="select(item,index)">
-					<image class="uni-share-image" :src="item.icon" mode="aspectFill"></image>
-					<text class="uni-share-text">{{item.text}}</text>
-				</view>
-
-			</view>
-		</view>
-		<view class="uni-share-button-box">
-			<button class="uni-share-button" @click="close">{{cancelText}}</button>
-		</view>
-	</view>
-</template>
-
-<script>
-	import popup from '../uni-popup/popup.js'
-	import {
-	initVueI18n
-	} from '@dcloudio/uni-i18n'
-	import messages from '../uni-popup/i18n/index.js'
-	const {	t	} = initVueI18n(messages)
-	export default {
-		name: 'UniPopupShare',
-		mixins:[popup],
-		emits:['select'],
-		props: {
-			title: {
-				type: String,
-				default: ''
-			},
-			beforeClose: {
-				type: Boolean,
-				default: false
-			}
-		},
-		data() {
-			return {
-				bottomData: [{
-						text: '寰俊',
-						icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/c2b17470-50be-11eb-b680-7980c8a877b8.png',
-						name: 'wx'
-					},
-					{
-						text: '鏀粯瀹�',
-						icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/d684ae40-50be-11eb-8ff1-d5dcf8779628.png',
-						name: 'wx'
-					},
-					{
-						text: 'QQ',
-						icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/e7a79520-50be-11eb-b997-9918a5dda011.png',
-						name: 'qq'
-					},
-					{
-						text: '鏂版氮',
-						icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/0dacdbe0-50bf-11eb-8ff1-d5dcf8779628.png',
-						name: 'sina'
-					},
-					// {
-					// 	text: '鐧惧害',
-					// 	icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/1ec6e920-50bf-11eb-8a36-ebb87efcf8c0.png',
-					// 	name: 'copy'
-					// },
-					// {
-					// 	text: '鍏朵粬',
-					// 	icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/2e0fdfe0-50bf-11eb-b997-9918a5dda011.png',
-					// 	name: 'more'
-					// }
-				]
-			}
-		},
-		created() {},
-		computed: {
-			cancelText() {
-				return t("uni-popup.cancel")
-			},
-		shareTitleText() {
-				return this.title || t("uni-popup.shareTitle")
-			}
-		},
-		methods: {
-			/**
-			 * 閫夋嫨鍐呭
-			 */
-			select(item, index) {
-				this.$emit('select', {
-					item,
-					index
-				})
-				this.close()
-
-			},
-			/**
-			 * 鍏抽棴绐楀彛
-			 */
-			close() {
-				if(this.beforeClose) return
-				this.popup.close()
-			}
-		}
-	}
-</script>
-<style lang="scss" >
-	.uni-popup-share {
-		background-color: #fff;
-		border-top-left-radius: 11px;
-		border-top-right-radius: 11px;
-	}
-	.uni-share-title {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-		height: 40px;
-	}
-	.uni-share-title-text {
-		font-size: 14px;
-		color: #666;
-	}
-	.uni-share-content {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding-top: 10px;
-	}
-
-	.uni-share-content-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		flex-wrap: wrap;
-		width: 360px;
-	}
-
-	.uni-share-content-item {
-		width: 90px;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		justify-content: center;
-		padding: 10px 0;
-		align-items: center;
-	}
-
-	.uni-share-content-item:active {
-		background-color: #f5f5f5;
-	}
-
-	.uni-share-image {
-		width: 30px;
-		height: 30px;
-	}
-
-	.uni-share-text {
-		margin-top: 10px;
-		font-size: 14px;
-		color: #3B4144;
-	}
-
-	.uni-share-button-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		padding: 10px 15px;
-	}
-
-	.uni-share-button {
-		flex: 1;
-		border-radius: 50px;
-		color: #666;
-		font-size: 16px;
-	}
-
-	.uni-share-button::after {
-		border-radius: 50px;
-	}
-</style>
diff --git a/src/uni_modules/uni-popup/components/uni-popup/i18n/en.json b/src/uni_modules/uni-popup/components/uni-popup/i18n/en.json
deleted file mode 100644
index 7f1bd06..0000000
--- a/src/uni_modules/uni-popup/components/uni-popup/i18n/en.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-	"uni-popup.cancel": "cancel",
-	"uni-popup.ok": "ok",
-	"uni-popup.placeholder": "pleace enter",
-	"uni-popup.title": "Hint",
-	"uni-popup.shareTitle": "Share to"
-}
diff --git a/src/uni_modules/uni-popup/components/uni-popup/i18n/index.js b/src/uni_modules/uni-popup/components/uni-popup/i18n/index.js
deleted file mode 100644
index de7509c..0000000
--- a/src/uni_modules/uni-popup/components/uni-popup/i18n/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import en from './en.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
-	en,
-	'zh-Hans': zhHans,
-	'zh-Hant': zhHant
-}
diff --git a/src/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json b/src/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json
deleted file mode 100644
index 5e3003c..0000000
--- a/src/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-	"uni-popup.cancel": "鍙栨秷",
-	"uni-popup.ok": "纭畾",
-	"uni-popup.placeholder": "璇疯緭鍏�",
-		"uni-popup.title": "鎻愮ず",
-		"uni-popup.shareTitle": "鍒嗕韩鍒�"
-}
diff --git a/src/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json b/src/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json
deleted file mode 100644
index 13e39eb..0000000
--- a/src/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-	"uni-popup.cancel": "鍙栨秷",
-	"uni-popup.ok": "纰哄畾",
-	"uni-popup.placeholder": "璜嬭几鍏�",
-	"uni-popup.title": "鎻愮ず",
-	"uni-popup.shareTitle": "鍒嗕韩鍒�"
-}
diff --git a/src/uni_modules/uni-popup/components/uni-popup/keypress.js b/src/uni_modules/uni-popup/components/uni-popup/keypress.js
deleted file mode 100644
index 62dda46..0000000
--- a/src/uni_modules/uni-popup/components/uni-popup/keypress.js
+++ /dev/null
@@ -1,45 +0,0 @@
-// #ifdef H5
-export default {
-  name: 'Keypress',
-  props: {
-    disable: {
-      type: Boolean,
-      default: false
-    }
-  },
-  mounted () {
-    const keyNames = {
-      esc: ['Esc', 'Escape'],
-      tab: 'Tab',
-      enter: 'Enter',
-      space: [' ', 'Spacebar'],
-      up: ['Up', 'ArrowUp'],
-      left: ['Left', 'ArrowLeft'],
-      right: ['Right', 'ArrowRight'],
-      down: ['Down', 'ArrowDown'],
-      delete: ['Backspace', 'Delete', 'Del']
-    }
-    const listener = ($event) => {
-      if (this.disable) {
-        return
-      }
-      const keyName = Object.keys(keyNames).find(key => {
-        const keyName = $event.key
-        const value = keyNames[key]
-        return value === keyName || (Array.isArray(value) && value.includes(keyName))
-      })
-      if (keyName) {
-        // 閬垮厤鍜屽叾浠栨寜閿簨浠跺啿绐�
-        setTimeout(() => {
-          this.$emit(keyName, {})
-        }, 0)
-      }
-    }
-    document.addEventListener('keyup', listener)
-    // this.$once('hook:beforeDestroy', () => {
-    //   document.removeEventListener('keyup', listener)
-    // })
-  },
-	render: () => {}
-}
-// #endif
diff --git a/src/uni_modules/uni-popup/components/uni-popup/popup.js b/src/uni_modules/uni-popup/components/uni-popup/popup.js
deleted file mode 100644
index c4e5781..0000000
--- a/src/uni_modules/uni-popup/components/uni-popup/popup.js
+++ /dev/null
@@ -1,26 +0,0 @@
-
-export default {
-	data() {
-		return {
-			
-		}
-	},
-	created(){
-		this.popup = this.getParent()
-	},
-	methods:{
-		/**
-		 * 鑾峰彇鐖跺厓绱犲疄渚�
-		 */
-		getParent(name = 'uniPopup') {
-			let parent = this.$parent;
-			let parentName = parent.$options.name;
-			while (parentName !== name) {
-				parent = parent.$parent;
-				if (!parent) return false
-				parentName = parent.$options.name;
-			}
-			return parent;
-		},
-	}
-}
diff --git a/src/uni_modules/uni-popup/components/uni-popup/uni-popup.vue b/src/uni_modules/uni-popup/components/uni-popup/uni-popup.vue
deleted file mode 100644
index db90c59..0000000
--- a/src/uni_modules/uni-popup/components/uni-popup/uni-popup.vue
+++ /dev/null
@@ -1,474 +0,0 @@
-<template>
-	<view v-if="showPopup" class="uni-popup" :class="[popupstyle, isDesktop ? 'fixforpc-z-index' : '']">
-		<view @touchstart="touchstart">
-			<uni-transition key="1" v-if="maskShow" name="mask" mode-class="fade" :styles="maskClass"
-				:duration="duration" :show="showTrans" @click="onTap" />
-			<uni-transition key="2" :mode-class="ani" name="content" :styles="transClass" :duration="duration"
-				:show="showTrans" @click="onTap">
-				<view class="uni-popup__wrapper" :style="{ backgroundColor: bg }" :class="[popupstyle]" @click="clear">
-					<slot />
-				</view>
-			</uni-transition>
-		</view>
-		<!-- #ifdef H5 -->
-		<keypress v-if="maskShow" @esc="onTap" />
-		<!-- #endif -->
-	</view>
-</template>
-
-<script>
-	// #ifdef H5
-	import keypress from './keypress.js'
-	// #endif
-
-	/**
-	 * PopUp 寮瑰嚭灞�
-	 * @description 寮瑰嚭灞傜粍浠讹紝涓轰簡瑙e喅閬僵寮瑰眰鐨勯棶棰�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=329
-	 * @property {String} type = [top|center|bottom|left|right|message|dialog|share] 寮瑰嚭鏂瑰紡
-	 * 	@value top 椤堕儴寮瑰嚭
-	 * 	@value center 涓棿寮瑰嚭
-	 * 	@value bottom 搴曢儴寮瑰嚭
-	 * 	@value left		宸︿晶寮瑰嚭
-	 * 	@value right  鍙充晶寮瑰嚭
-	 * 	@value message 娑堟伅鎻愮ず
-	 * 	@value dialog 瀵硅瘽妗�
-	 * 	@value share 搴曢儴鍒嗕韩绀轰緥
-	 * @property {Boolean} animation = [true|false] 鏄惁寮�鍚姩鐢�
-	 * @property {Boolean} maskClick = [true|false] 钂欑増鐐瑰嚮鏄惁鍏抽棴寮圭獥(搴熷純)
-	 * @property {Boolean} isMaskClick = [true|false] 钂欑増鐐瑰嚮鏄惁鍏抽棴寮圭獥
-	 * @property {String}  backgroundColor 涓荤獥鍙h儗鏅壊
-	 * @property {String}  maskBackgroundColor 钂欑増棰滆壊
-	 * @property {Boolean} safeArea		   鏄惁閫傞厤搴曢儴瀹夊叏鍖�
-	 * @event {Function} change 鎵撳紑鍏抽棴寮圭獥瑙﹀彂锛宔={show: false}
-	 * @event {Function} maskClick 鐐瑰嚮閬僵瑙﹀彂
-	 */
-
-	export default {
-		name: 'uniPopup',
-		components: {
-			// #ifdef H5
-			keypress
-			// #endif
-		},
-		emits: ['change', 'maskClick'],
-		props: {
-			// 寮�鍚姩鐢�
-			animation: {
-				type: Boolean,
-				default: true
-			},
-			// 寮瑰嚭灞傜被鍨嬶紝鍙�夊�硷紝top: 椤堕儴寮瑰嚭灞傦紱bottom锛氬簳閮ㄥ脊鍑哄眰锛沜enter锛氬叏灞忓脊鍑哄眰
-			// message: 娑堟伅鎻愮ず ; dialog : 瀵硅瘽妗�
-			type: {
-				type: String,
-				default: 'center'
-			},
-			// maskClick
-			isMaskClick: {
-				type: Boolean,
-				default: null
-			},
-			// TODO 2 涓増鏈悗搴熷純灞炴�� 锛屼娇鐢� isMaskClick
-			maskClick: {
-				type: Boolean,
-				default: null
-			},
-			backgroundColor: {
-				type: String,
-				default: 'none'
-			},
-			safeArea: {
-				type: Boolean,
-				default: true
-			},
-			maskBackgroundColor: {
-				type: String,
-				default: 'rgba(0, 0, 0, 0.4)'
-			},
-		},
-
-		watch: {
-			/**
-			 * 鐩戝惉type绫诲瀷
-			 */
-			type: {
-				handler: function(type) {
-					if (!this.config[type]) return
-					this[this.config[type]](true)
-				},
-				immediate: true
-			},
-			isDesktop: {
-				handler: function(newVal) {
-					if (!this.config[newVal]) return
-					this[this.config[this.type]](true)
-				},
-				immediate: true
-			},
-			/**
-			 * 鐩戝惉閬僵鏄惁鍙偣鍑�
-			 * @param {Object} val
-			 */
-			maskClick: {
-				handler: function(val) {
-					this.mkclick = val
-				},
-				immediate: true
-			},
-			isMaskClick: {
-				handler: function(val) {
-					this.mkclick = val
-				},
-				immediate: true
-			},
-			// H5 涓嬬姝㈠簳閮ㄦ粴鍔�
-			showPopup(show) {
-				// #ifdef H5
-				// fix by mehaotian 澶勭悊 h5 婊氬姩绌块�忕殑闂
-				document.getElementsByTagName('body')[0].style.overflow = show ? 'hidden' : 'visible'
-				// #endif
-			}
-		},
-		data() {
-			return {
-				duration: 300,
-				ani: [],
-				showPopup: false,
-				showTrans: false,
-				popupWidth: 0,
-				popupHeight: 0,
-				config: {
-					top: 'top',
-					bottom: 'bottom',
-					center: 'center',
-					left: 'left',
-					right: 'right',
-					message: 'top',
-					dialog: 'center',
-					share: 'bottom'
-				},
-				maskClass: {
-					position: 'fixed',
-					bottom: 0,
-					top: 0,
-					left: 0,
-					right: 0,
-					backgroundColor: 'rgba(0, 0, 0, 0.4)'
-				},
-				transClass: {
-					position: 'fixed',
-					left: 0,
-					right: 0
-				},
-				maskShow: true,
-				mkclick: true,
-				popupstyle: this.isDesktop ? 'fixforpc-top' : 'top'
-			}
-		},
-		computed: {
-			isDesktop() {
-				return this.popupWidth >= 500 && this.popupHeight >= 500
-			},
-			bg() {
-				if (this.backgroundColor === '' || this.backgroundColor === 'none') {
-					return 'transparent'
-				}
-				return this.backgroundColor
-			}
-		},
-		mounted() {
-			const fixSize = () => {
-				const {
-					windowWidth,
-					windowHeight,
-					windowTop,
-					safeArea,
-					screenHeight,
-					safeAreaInsets
-				} = uni.getSystemInfoSync()
-				this.popupWidth = windowWidth
-				this.popupHeight = windowHeight + (windowTop || 0)
-				// TODO fix by mehaotian 鏄惁閫傞厤搴曢儴瀹夊叏鍖� ,鐩墠寰俊ios 銆佸拰 app ios 璁$畻鏈夊樊寮傦紝闇�瑕佹鏋朵慨澶�
-				if (safeArea && this.safeArea) {
-					// #ifdef MP-WEIXIN
-					this.safeAreaInsets = screenHeight - safeArea.bottom
-					// #endif
-					// #ifndef MP-WEIXIN
-					this.safeAreaInsets = safeAreaInsets.bottom
-					// #endif
-				} else {
-					this.safeAreaInsets = 0
-				}
-			}
-			fixSize()
-			// #ifdef H5
-			// window.addEventListener('resize', fixSize)
-			// this.$once('hook:beforeDestroy', () => {
-			// 	window.removeEventListener('resize', fixSize)
-			// })
-			// #endif
-		},
-		// #ifndef VUE3
-		// TODO vue2
-		destroyed() {
-			this.setH5Visible()
-		},
-		// #endif
-		// #ifdef VUE3
-		// TODO vue3
-		unmounted() {
-			this.setH5Visible()
-		},
-		// #endif
-		created() {
-			// this.mkclick =  this.isMaskClick || this.maskClick
-			if (this.isMaskClick === null && this.maskClick === null) {
-				this.mkclick = true
-			} else {
-				this.mkclick = this.isMaskClick !== null ? this.isMaskClick : this.maskClick
-			}
-			if (this.animation) {
-				this.duration = 300
-			} else {
-				this.duration = 0
-			}
-			// TODO 澶勭悊 message 缁勪欢鐢熷懡鍛ㄦ湡寮傚父鐨勯棶棰�
-			this.messageChild = null
-			// TODO 瑙e喅澶存潯鍐掓场鐨勯棶棰�
-			this.clearPropagation = false
-			this.maskClass.backgroundColor = this.maskBackgroundColor
-		},
-		methods: {
-			setH5Visible() {
-				// #ifdef H5
-				// fix by mehaotian 澶勭悊 h5 婊氬姩绌块�忕殑闂
-				document.getElementsByTagName('body')[0].style.overflow = 'visible'
-				// #endif
-			},
-			/**
-			 * 鍏敤鏂规硶锛屼笉鏄剧ず閬僵灞�
-			 */
-			closeMask() {
-				this.maskShow = false
-			},
-			/**
-			 * 鍏敤鏂规硶锛岄伄缃╁眰绂佹鐐瑰嚮
-			 */
-			disableMask() {
-				this.mkclick = false
-			},
-			// TODO nvue 鍙栨秷鍐掓场
-			clear(e) {
-				// #ifndef APP-NVUE
-				e.stopPropagation()
-				// #endif
-				this.clearPropagation = true
-			},
-
-			open(direction) {
-				// fix by mehaotian 澶勭悊蹇�熸墦寮�鍏抽棴鐨勬儏鍐�
-				if (this.showPopup) {
-					clearTimeout(this.timer)
-					this.showPopup = false
-				}
-				let innerType = ['top', 'center', 'bottom', 'left', 'right', 'message', 'dialog', 'share']
-				if (!(direction && innerType.indexOf(direction) !== -1)) {
-					direction = this.type
-				}
-				if (!this.config[direction]) {
-					console.error('缂哄皯绫诲瀷锛�', direction)
-					return
-				}
-				this[this.config[direction]]()
-				this.$emit('change', {
-					show: true,
-					type: direction
-				})
-			},
-			close(type) {
-				this.showTrans = false
-				this.$emit('change', {
-					show: false,
-					type: this.type
-				})
-				clearTimeout(this.timer)
-				// // 鑷畾涔夊叧闂簨浠�
-				// this.customOpen && this.customClose()
-				this.timer = setTimeout(() => {
-					this.showPopup = false
-				}, 300)
-			},
-			// TODO 澶勭悊鍐掓场浜嬩欢锛屽ご鏉$殑鍐掓场浜嬩欢鏈夐棶棰� 锛屽厛杩欐牱鍏煎
-			touchstart() {
-				this.clearPropagation = false
-			},
-
-			onTap() {
-				if (this.clearPropagation) {
-					// fix by mehaotian 鍏煎 nvue
-					this.clearPropagation = false
-					return
-				}
-				this.$emit('maskClick')
-				if (!this.mkclick) return
-				this.close()
-			},
-			/**
-			 * 椤堕儴寮瑰嚭鏍峰紡澶勭悊
-			 */
-			top(type) {
-				this.popupstyle = this.isDesktop ? 'fixforpc-top' : 'top'
-				this.ani = ['slide-top']
-				this.transClass = {
-					position: 'fixed',
-					left: 0,
-					right: 0,
-					backgroundColor: this.bg
-				}
-				// TODO 鍏煎 type 灞炴�� 锛屽悗缁細搴熷純
-				if (type) return
-				this.showPopup = true
-				this.showTrans = true
-				this.$nextTick(() => {
-					if (this.messageChild && this.type === 'message') {
-						this.messageChild.timerClose()
-					}
-				})
-			},
-			/**
-			 * 搴曢儴寮瑰嚭鏍峰紡澶勭悊
-			 */
-			bottom(type) {
-				this.popupstyle = 'bottom'
-				this.ani = ['slide-bottom']
-				this.transClass = {
-					position: 'fixed',
-					left: 0,
-					right: 0,
-					bottom: 0,
-					paddingBottom: this.safeAreaInsets + 'px',
-					backgroundColor: this.bg
-				}
-				// TODO 鍏煎 type 灞炴�� 锛屽悗缁細搴熷純
-				if (type) return
-				this.showPopup = true
-				this.showTrans = true
-			},
-			/**
-			 * 涓棿寮瑰嚭鏍峰紡澶勭悊
-			 */
-			center(type) {
-				this.popupstyle = 'center'
-				this.ani = ['zoom-out', 'fade']
-				this.transClass = {
-					position: 'fixed',
-					/* #ifndef APP-NVUE */
-					display: 'flex',
-					flexDirection: 'column',
-					/* #endif */
-					bottom: 0,
-					left: 0,
-					right: 0,
-					top: 0,
-					justifyContent: 'center',
-					alignItems: 'center'
-				}
-				// TODO 鍏煎 type 灞炴�� 锛屽悗缁細搴熷純
-				if (type) return
-				this.showPopup = true
-				this.showTrans = true
-			},
-			left(type) {
-				this.popupstyle = 'left'
-				this.ani = ['slide-left']
-				this.transClass = {
-					position: 'fixed',
-					left: 0,
-					bottom: 0,
-					top: 0,
-					backgroundColor: this.bg,
-					/* #ifndef APP-NVUE */
-					display: 'flex',
-					flexDirection: 'column'
-					/* #endif */
-				}
-				// TODO 鍏煎 type 灞炴�� 锛屽悗缁細搴熷純
-				if (type) return
-				this.showPopup = true
-				this.showTrans = true
-			},
-			right(type) {
-				this.popupstyle = 'right'
-				this.ani = ['slide-right']
-				this.transClass = {
-					position: 'fixed',
-					bottom: 0,
-					right: 0,
-					top: 0,
-					backgroundColor: this.bg,
-					/* #ifndef APP-NVUE */
-					display: 'flex',
-					flexDirection: 'column'
-					/* #endif */
-				}
-				// TODO 鍏煎 type 灞炴�� 锛屽悗缁細搴熷純
-				if (type) return
-				this.showPopup = true
-				this.showTrans = true
-			}
-		}
-	}
-</script>
-<style lang="scss">
-	.uni-popup {
-		position: fixed;
-		/* #ifndef APP-NVUE */
-		z-index: 99;
-
-		/* #endif */
-		&.top,
-		&.left,
-		&.right {
-			/* #ifdef H5 */
-			top: var(--window-top);
-			/* #endif */
-			/* #ifndef H5 */
-			top: 0;
-			/* #endif */
-		}
-
-		.uni-popup__wrapper {
-			/* #ifndef APP-NVUE */
-			display: block;
-			/* #endif */
-			position: relative;
-
-			/* iphonex 绛夊畨鍏ㄥ尯璁剧疆锛屽簳閮ㄥ畨鍏ㄥ尯閫傞厤 */
-			/* #ifndef APP-NVUE */
-			// padding-bottom: constant(safe-area-inset-bottom);
-			// padding-bottom: env(safe-area-inset-bottom);
-			/* #endif */
-			&.left,
-			&.right {
-				/* #ifdef H5 */
-				padding-top: var(--window-top);
-				/* #endif */
-				/* #ifndef H5 */
-				padding-top: 0;
-				/* #endif */
-				flex: 1;
-			}
-		}
-	}
-
-	.fixforpc-z-index {
-		/* #ifndef APP-NVUE */
-		z-index: 999;
-		/* #endif */
-	}
-
-	.fixforpc-top {
-		top: 0;
-	}
-</style>
diff --git a/src/uni_modules/uni-popup/package.json b/src/uni_modules/uni-popup/package.json
deleted file mode 100644
index 8a17034..0000000
--- a/src/uni_modules/uni-popup/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-	"id": "uni-popup",
-	"displayName": "uni-popup 寮瑰嚭灞�",
-	"version": "1.8.2",
-	"description": " Popup 缁勪欢锛屾彁渚涘父鐢ㄧ殑寮瑰眰",
-	"keywords": [
-        "uni-ui",
-        "寮瑰嚭灞�",
-        "寮圭獥",
-        "popup",
-        "寮规"
-    ],
-	"repository": "https://github.com/dcloudio/uni-ui",
-	"engines": {
-		"HBuilderX": ""
-	},
-	"directories": {
-		"example": "../../temps/example_temps"
-	},
-    "dcloudext": {
-        "sale": {
-			"regular": {
-				"price": "0.00"
-			},
-			"sourcecode": {
-				"price": "0.00"
-			}
-		},
-		"contact": {
-			"qq": ""
-		},
-		"declaration": {
-			"ads": "鏃�",
-			"data": "鏃�",
-			"permissions": "鏃�"
-		},
-        "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
-        "type": "component-vue"
-	},
-	"uni_modules": {
-		"dependencies": [
-			"uni-scss",
-			"uni-transition"
-		],
-		"encrypt": [],
-		"platforms": {
-			"cloud": {
-				"tcb": "y",
-				"aliyun": "y"
-			},
-			"client": {
-				"App": {
-					"app-vue": "y",
-					"app-nvue": "y"
-				},
-				"H5-mobile": {
-					"Safari": "y",
-					"Android Browser": "y",
-					"寰俊娴忚鍣�(Android)": "y",
-					"QQ娴忚鍣�(Android)": "y"
-				},
-				"H5-pc": {
-					"Chrome": "y",
-					"IE": "y",
-					"Edge": "y",
-					"Firefox": "y",
-					"Safari": "y"
-				},
-				"灏忕▼搴�": {
-					"寰俊": "y",
-					"闃块噷": "y",
-					"鐧惧害": "y",
-					"瀛楄妭璺冲姩": "y",
-					"QQ": "y"
-				},
-				"蹇簲鐢�": {
-					"鍗庝负": "u",
-					"鑱旂洘": "u"
-                },
-                "Vue": {
-                    "vue2": "y",
-                    "vue3": "y"
-                }
-			}
-		}
-	}
-}
diff --git a/src/uni_modules/uni-popup/readme.md b/src/uni_modules/uni-popup/readme.md
deleted file mode 100644
index fdad4b3..0000000
--- a/src/uni_modules/uni-popup/readme.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-## Popup 寮瑰嚭灞�
-> **缁勪欢鍚嶏細uni-popup**
-> 浠g爜鍧楋細 `uPopup`
-> 鍏宠仈缁勪欢锛歚uni-transition`
-
-
-寮瑰嚭灞傜粍浠讹紝鍦ㄥ簲鐢ㄤ腑寮瑰嚭涓�涓秷鎭彁绀虹獥鍙c�佹彁绀烘绛�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-popup)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
-
-
-
-
-
diff --git a/src/uni_modules/uni-rate/changelog.md b/src/uni_modules/uni-rate/changelog.md
deleted file mode 100644
index 8a98a61..0000000
--- a/src/uni_modules/uni-rate/changelog.md
+++ /dev/null
@@ -1,25 +0,0 @@
-## 1.3.1锛�2022-02-25锛�
-- 淇 鏉′欢鍒ゆ柇 `NaN` 閿欒鐨� bug
-## 1.3.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-rate](https://uniapp.dcloud.io/component/uniui/uni-rate)
-## 1.2.2锛�2021-09-10锛�
-- 浼樺寲 榛樿鍊间慨鏀逛负 0 棰楁槦
-## 1.2.1锛�2021-07-30锛�
-- 浼樺寲 vue3涓嬩簨浠惰鍛婄殑闂
-## 1.2.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.1.2锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 1.1.1锛�2021-04-21锛�
-- 淇 甯冨眬鍙樺寲鍚� uni-rate  鏄熸槦璁$畻涓嶅噯纭殑 bug
-- 浼樺寲 娣诲姞渚濊禆 uni-icons, 瀵煎叆 uni-rate 鑷姩涓嬭浇渚濊禆
-## 1.1.0锛�2021-04-16锛�
-- 淇 uni-rate 灞炴�� margin 鍊间负 string 缁勪欢澶辨晥鐨� bug
-
-## 1.0.9锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-
-## 1.0.8锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 鏀寔 pc 绔�
diff --git a/src/uni_modules/uni-rate/components/uni-rate/uni-rate.vue b/src/uni_modules/uni-rate/components/uni-rate/uni-rate.vue
deleted file mode 100644
index 857f5f9..0000000
--- a/src/uni_modules/uni-rate/components/uni-rate/uni-rate.vue
+++ /dev/null
@@ -1,361 +0,0 @@
-<template>
-	<view>
-		<view ref="uni-rate" class="uni-rate">
-			<view class="uni-rate__icon" :class="{'uni-cursor-not-allowed': disabled}"
-				:style="{ 'margin-right': marginNumber + 'px' }" v-for="(star, index) in stars" :key="index"
-				@touchstart.stop="touchstart" @touchmove.stop="touchmove" @mousedown.stop="mousedown"
-				@mousemove.stop="mousemove" @mouseleave="mouseleave">
-				<uni-icons :color="color" :size="size" :type="isFill ? 'star-filled' : 'star'" />
-				<!-- #ifdef APP-NVUE -->
-				<view :style="{ width: star.activeWitch.replace('%','')*size/100+'px'}" class="uni-rate__icon-on">
-					<uni-icons style="text-align: left;" :color="disabled?'#ccc':activeColor" :size="size"
-						type="star-filled" />
-				</view>
-				<!-- #endif -->
-				<!-- #ifndef APP-NVUE -->
-				<view :style="{ width: star.activeWitch}" class="uni-rate__icon-on">
-					<uni-icons :color="disabled?disabledColor:activeColor" :size="size" type="star-filled" />
-				</view>
-				<!-- #endif -->
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	// #ifdef APP-NVUE
-	const dom = uni.requireNativePlugin('dom');
-	// #endif
-	/**
-	 * Rate 璇勫垎
-	 * @description 璇勫垎缁勪欢
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=33
-	 * @property {Boolean} 	isFill = [true|false] 		鏄熸槦鐨勭被鍨嬶紝鏄惁涓哄疄蹇冪被鍨�, 榛樿涓哄疄蹇�
-	 * @property {String} 	color 						鏈�変腑鐘舵�佺殑鏄熸槦棰滆壊锛岄粯璁や负 "#ececec"
-	 * @property {String} 	activeColor 				閫変腑鐘舵�佺殑鏄熸槦棰滆壊锛岄粯璁や负 "#ffca3e"
-	 * @property {String} 	disabledColor 				绂佺敤鐘舵�佺殑鏄熸槦棰滆壊锛岄粯璁や负 "#c0c0c0"
-	 * @property {Number} 	size 						鏄熸槦鐨勫ぇ灏�
-	 * @property {Number} 	value/v-model 				褰撳墠璇勫垎
-	 * @property {Number} 	max 						鏈�澶ц瘎鍒嗚瘎鍒嗘暟閲忥紝鐩墠涓�鍒嗕竴棰楁槦
-	 * @property {Number} 	margin 						鏄熸槦鐨勯棿璺濓紝鍗曚綅 px
-	 * @property {Boolean} 	disabled = [true|false] 	鏄惁涓虹鐢ㄧ姸鎬侊紝榛樿涓� false
-	 * @property {Boolean} 	readonly = [true|false] 	鏄惁涓哄彧璇荤姸鎬侊紝榛樿涓� false
-	 * @property {Boolean} 	allowHalf = [true|false] 	鏄惁瀹炵幇鍗婃槦锛岄粯璁や负 false
-	 * @property {Boolean} 	touchable = [true|false] 	鏄惁鏀寔婊戝姩鎵嬪娍锛岄粯璁や负 true
-	 * @event {Function} change 						uniRate 鐨� value 鏀瑰彉鏃惰Е鍙戜簨浠讹紝e={value:Number}
-	 */
-
-	export default {
-		name: "UniRate",
-		props: {
-			isFill: {
-				// 鏄熸槦鐨勭被鍨嬶紝鏄惁闀傜┖
-				type: [Boolean, String],
-				default: true
-			},
-			color: {
-				// 鏄熸槦鏈�変腑鐨勯鑹�
-				type: String,
-				default: "#ececec"
-			},
-			activeColor: {
-				// 鏄熸槦閫変腑鐘舵�侀鑹�
-				type: String,
-				default: "#ffca3e"
-			},
-			disabledColor: {
-				// 鏄熸槦绂佺敤鐘舵�侀鑹�
-				type: String,
-				default: "#c0c0c0"
-			},
-			size: {
-				// 鏄熸槦鐨勫ぇ灏�
-				type: [Number, String],
-				default: 24
-			},
-			value: {
-				// 褰撳墠璇勫垎
-				type: [Number, String],
-				default: 0
-			},
-			modelValue: {
-				// 褰撳墠璇勫垎
-				type: [Number, String],
-				default: 0
-			},
-			max: {
-				// 鏈�澶ц瘎鍒�
-				type: [Number, String],
-				default: 5
-			},
-			margin: {
-				// 鏄熸槦鐨勯棿璺�
-				type: [Number, String],
-				default: 0
-			},
-			disabled: {
-				// 鏄惁鍙偣鍑�
-				type: [Boolean, String],
-				default: false
-			},
-			readonly: {
-				// 鏄惁鍙
-				type: [Boolean, String],
-				default: false
-			},
-			allowHalf: {
-				// 鏄惁鏄剧ず鍗婃槦
-				type: [Boolean, String],
-				default: false
-			},
-			touchable: {
-				// 鏄惁鏀寔婊戝姩鎵嬪娍
-				type: [Boolean, String],
-				default: true
-			}
-		},
-		data() {
-			return {
-				valueSync: "",
-				userMouseFristMove: true,
-				userRated: false,
-				userLastRate: 1
-			};
-		},
-		watch: {
-			value(newVal) {
-				this.valueSync = Number(newVal);
-			},
-			modelValue(newVal) {
-				this.valueSync = Number(newVal);
-			},
-		},
-		computed: {
-			stars() {
-				const value = this.valueSync ? this.valueSync : 0;
-				const starList = [];
-				const floorValue = Math.floor(value);
-				const ceilValue = Math.ceil(value);
-				for (let i = 0; i < this.max; i++) {
-					if (floorValue > i) {
-						starList.push({
-							activeWitch: "100%"
-						});
-					} else if (ceilValue - 1 === i) {
-						starList.push({
-							activeWitch: (value - floorValue) * 100 + "%"
-						});
-					} else {
-						starList.push({
-							activeWitch: "0"
-						});
-					}
-				}
-				return starList;
-			},
-
-			marginNumber() {
-				return Number(this.margin)
-			}
-		},
-		created() {
-			this.valueSync = Number(this.value || this.modelValue);
-			this._rateBoxLeft = 0
-			this._oldValue = null
-		},
-		mounted() {
-			setTimeout(() => {
-				this._getSize()
-			}, 100)
-			// #ifdef H5
-			this.PC = this.IsPC()
-			// #endif
-		},
-		methods: {
-			touchstart(e) {
-				// #ifdef H5
-				if (this.IsPC()) return
-				// #endif
-				if (this.readonly || this.disabled) return
-				const {
-					clientX,
-					screenX
-				} = e.changedTouches[0]
-				// TODO 鍋氫竴涓嬪吋瀹癸紝鍙湁 Nvue 涓嬫墠鏈� screenX锛屽叾浠栧钩鍙板紡 clientX
-				this._getRateCount(clientX || screenX)
-			},
-			touchmove(e) {
-				// #ifdef H5
-				if (this.IsPC()) return
-				// #endif
-				if (this.readonly || this.disabled || !this.touchable) return
-				const {
-					clientX,
-					screenX
-				} = e.changedTouches[0]
-				this._getRateCount(clientX || screenX)
-			},
-
-			/**
-			 * 鍏煎 PC @tian
-			 */
-
-			mousedown(e) {
-				// #ifdef H5
-				if (!this.IsPC()) return
-				if (this.readonly || this.disabled) return
-				const {
-					clientX,
-				} = e
-				this.userLastRate = this.valueSync
-				this._getRateCount(clientX)
-				this.userRated = true
-				// #endif
-			},
-			mousemove(e) {
-				// #ifdef H5
-				if (!this.IsPC()) return
-				if (this.userRated) return
-				if (this.userMouseFristMove) {
-					console.log('---mousemove----', this.valueSync);
-					this.userLastRate = this.valueSync
-					this.userMouseFristMove = false
-				}
-				if (this.readonly || this.disabled || !this.touchable) return
-				const {
-					clientX,
-				} = e
-				this._getRateCount(clientX)
-				// #endif
-			},
-			mouseleave(e) {
-				// #ifdef H5
-				if (!this.IsPC()) return
-				if (this.readonly || this.disabled || !this.touchable) return
-				if (this.userRated) {
-					this.userRated = false
-					return
-				}
-				this.valueSync = this.userLastRate
-				// #endif
-			},
-			// #ifdef H5
-			IsPC() {
-				var userAgentInfo = navigator.userAgent;
-				var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
-				var flag = true;
-				for (let v = 0; v < Agents.length - 1; v++) {
-					if (userAgentInfo.indexOf(Agents[v]) > 0) {
-						flag = false;
-						break;
-					}
-				}
-				return flag;
-			},
-			// #endif
-
-			/**
-			 * 鑾峰彇鏄熸槦涓暟
-			 */
-			_getRateCount(clientX) {
-				this._getSize()
-				const size = Number(this.size)
-				if (isNaN(size)) {
-					return new Error('size 灞炴�у彧鑳借缃负鏁板瓧')
-				}
-				const rateMoveRange = clientX - this._rateBoxLeft
-				let index = parseInt(rateMoveRange / (size + this.marginNumber))
-				index = index < 0 ? 0 : index;
-				index = index > this.max ? this.max : index;
-				const range = parseInt(rateMoveRange - (size + this.marginNumber) * index);
-				let value = 0;
-				if (this._oldValue === index && !this.PC) return;
-				this._oldValue = index;
-				if (this.allowHalf) {
-					if (range > (size / 2)) {
-						value = index + 1
-					} else {
-						value = index + 0.5
-					}
-				} else {
-					value = index + 1
-				}
-
-				value = Math.max(0.5, Math.min(value, this.max))
-				this.valueSync = value
-				this._onChange()
-			},
-
-			/**
-			 * 瑙﹀彂鍔ㄦ�佷慨鏀�
-			 */
-			_onChange() {
-
-				this.$emit("input", this.valueSync);
-				this.$emit("update:modelValue", this.valueSync);
-				this.$emit("change", {
-					value: this.valueSync
-				});
-			},
-			/**
-			 * 鑾峰彇鏄熸槦璺濈灞忓箷宸︿晶璺濈
-			 */
-			_getSize() {
-				// #ifndef APP-NVUE
-				uni.createSelectorQuery()
-					.in(this)
-					.select('.uni-rate')
-					.boundingClientRect()
-					.exec(ret => {
-						if (ret) {
-							this._rateBoxLeft = ret[0].left
-						}
-					})
-				// #endif
-				// #ifdef APP-NVUE
-				dom.getComponentRect(this.$refs['uni-rate'], (ret) => {
-					const size = ret.size
-					if (size) {
-						this._rateBoxLeft = size.left
-					}
-				})
-				// #endif
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	.uni-rate {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		line-height: 1;
-		font-size: 0;
-		flex-direction: row;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-rate__icon {
-		position: relative;
-		line-height: 1;
-		font-size: 0;
-	}
-
-	.uni-rate__icon-on {
-		overflow: hidden;
-		position: absolute;
-		top: 0;
-		left: 0;
-		line-height: 1;
-		text-align: left;
-	}
-
-	.uni-cursor-not-allowed {
-		/* #ifdef H5 */
-		cursor: not-allowed !important;
-		/* #endif */
-	}
-</style>
diff --git a/src/uni_modules/uni-rate/package.json b/src/uni_modules/uni-rate/package.json
deleted file mode 100644
index 64e8e33..0000000
--- a/src/uni_modules/uni-rate/package.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
-  "id": "uni-rate",
-  "displayName": "uni-rate 璇勫垎",
-  "version": "1.3.1",
-  "description": "Rate 璇勫垎缁勪欢锛屽彲鑷畾涔夎瘎鍒嗘槦鏄熷浘鏍囩殑澶у皬銆侀棿闅斻�佽瘎鍒嗘暟銆�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "璇勫垎"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-			"uni-icons"
-		],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-rate/readme.md b/src/uni_modules/uni-rate/readme.md
deleted file mode 100644
index eae7b5c..0000000
--- a/src/uni_modules/uni-rate/readme.md
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-## Rate 璇勫垎
-> **缁勪欢鍚嶏細uni-rate**
-> 浠g爜鍧楋細 `uRate`
-> 鍏宠仈缁勪欢锛歚uni-icons`
-
-
-璇勫垎缁勪欢锛屽鐢ㄤ簬璐拱鍟嗗搧鍚庯紝瀵瑰晢鍝佽繘琛岃瘎浠风瓑鍦烘櫙
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-rate)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-row/changelog.md b/src/uni_modules/uni-row/changelog.md
deleted file mode 100644
index 5b465bc..0000000
--- a/src/uni_modules/uni-row/changelog.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## 1.0.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-row](https://uniapp.dcloud.io/component/uniui/uni-row)
-## 0.1.0锛�2021-07-13锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 0.0.4锛�2021-05-12锛�
-- 鏂板 缁勪欢绀轰緥鍦板潃
-## 0.0.3锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 鏂板uni-row缁勪欢
diff --git a/src/uni_modules/uni-row/components/uni-col/uni-col.vue b/src/uni_modules/uni-row/components/uni-col/uni-col.vue
deleted file mode 100644
index d5f3728..0000000
--- a/src/uni_modules/uni-row/components/uni-col/uni-col.vue
+++ /dev/null
@@ -1,317 +0,0 @@
-<template>
-	<!-- #ifndef APP-NVUE -->
-	<view :class="['uni-col', sizeClass, pointClassList]" :style="{
-		paddingLeft:`${Number(gutter)}rpx`,
-		paddingRight:`${Number(gutter)}rpx`,
-	}">
-		<slot></slot>
-	</view>
-	<!-- #endif -->
-	<!-- #ifdef APP-NVUE -->
-	<!-- 鍦╪vue涓婏紝绫诲悕鏍峰紡涓嶇敓鏁堬紝鎹负style -->
-	<!-- 璁剧疆right姝e�煎け鏁堬紝璁剧疆 left 璐熷�� -->
-	<view :class="['uni-col']" :style="{
-		paddingLeft:`${Number(gutter)}rpx`,
-		paddingRight:`${Number(gutter)}rpx`,
-		width:`${nvueWidth}rpx`,
-		position:'relative',
-		marginLeft:`${marginLeft}rpx`,
-		left:`${right === 0 ? left : -right}rpx`
-	}">
-		<slot></slot>
-	</view>
-	<!-- #endif -->
-</template>
-
-<script>
-	/**
-	 * Col	甯冨眬-鍒�
-	 * @description	鎼厤uni-row浣跨敤锛屾瀯寤哄竷灞�銆�
-	 * @tutorial	https://ext.dcloud.net.cn/plugin?id=3958
-	 *
-	 * @property	{span} type = Number 鏍呮牸鍗犳嵁鐨勫垪鏁�
-	 * 						榛樿 24
-	 * @property	{offset} type = Number 鏍呮牸宸︿晶鐨勯棿闅旀牸鏁�
-	 * @property	{push} type = Number 鏍呮牸鍚戝彸绉诲姩鏍兼暟
-	 * @property	{pull} type = Number 鏍呮牸鍚戝乏绉诲姩鏍兼暟
-	 * @property	{xs} type = [Number, Object] <768px 鍝嶅簲寮忔爡鏍兼暟鎴栬�呮爡鏍煎睘鎬у璞�
-	 * 						@description	Number鏃惰〃绀哄湪姝ゅ睆骞曞搴︿笅锛屾爡鏍煎崰鎹殑鍒楁暟銆侽bject鏃跺彲閰嶇疆澶氫釜鎻忚堪{span: 4, offset: 4}
-	 * @property	{sm} type = [Number, Object] 鈮�768px 鍝嶅簲寮忔爡鏍兼暟鎴栬�呮爡鏍煎睘鎬у璞�
-	 * 						@description	Number鏃惰〃绀哄湪姝ゅ睆骞曞搴︿笅锛屾爡鏍煎崰鎹殑鍒楁暟銆侽bject鏃跺彲閰嶇疆澶氫釜鎻忚堪{span: 4, offset: 4}
-	 * @property	{md} type = [Number, Object] 鈮�992px 鍝嶅簲寮忔爡鏍兼暟鎴栬�呮爡鏍煎睘鎬у璞�
-	 * 						@description	Number鏃惰〃绀哄湪姝ゅ睆骞曞搴︿笅锛屾爡鏍煎崰鎹殑鍒楁暟銆侽bject鏃跺彲閰嶇疆澶氫釜鎻忚堪{span: 4, offset: 4}
-	 * @property	{lg} type = [Number, Object] 鈮�1200px 鍝嶅簲寮忔爡鏍兼暟鎴栬�呮爡鏍煎睘鎬у璞�
-	 * 						@description	Number鏃惰〃绀哄湪姝ゅ睆骞曞搴︿笅锛屾爡鏍煎崰鎹殑鍒楁暟銆侽bject鏃跺彲閰嶇疆澶氫釜鎻忚堪{span: 4, offset: 4}
-	 * @property	{xl} type = [Number, Object] 鈮�1920px 鍝嶅簲寮忔爡鏍兼暟鎴栬�呮爡鏍煎睘鎬у璞�
-	 * 						@description	Number鏃惰〃绀哄湪姝ゅ睆骞曞搴︿笅锛屾爡鏍煎崰鎹殑鍒楁暟銆侽bject鏃跺彲閰嶇疆澶氫釜鎻忚堪{span: 4, offset: 4}
-	 */
-	const ComponentClass = 'uni-col';
-
-	// -1 榛樿鍊硷紝鍥犱负鍦ㄥ井淇″皬绋嬪簭绔彧缁橬umber浼氭湁榛樿鍊�0
-	export default {
-		name: 'uniCol',
-		// #ifdef MP-WEIXIN
-		options: {
-			virtualHost: true // 鍦ㄥ井淇″皬绋嬪簭涓皢缁勪欢鑺傜偣娓叉煋涓鸿櫄鎷熻妭鐐癸紝鏇村姞鎺ヨ繎Vue缁勪欢鐨勮〃鐜�
-		},
-		// #endif
-		props: {
-			span: {
-				type: Number,
-				default: 24
-			},
-			offset: {
-				type: Number,
-				default: -1
-			},
-			pull: {
-				type: Number,
-				default: -1
-			},
-			push: {
-				type: Number,
-				default: -1
-			},
-			xs: [Number, Object],
-			sm: [Number, Object],
-			md: [Number, Object],
-			lg: [Number, Object],
-			xl: [Number, Object]
-		},
-		data() {
-			return {
-				gutter: 0,
-				sizeClass: '',
-				parentWidth: 0,
-				nvueWidth: 0,
-				marginLeft: 0,
-				right: 0,
-				left: 0
-			}
-		},
-		created() {
-			// 瀛楄妭灏忕▼搴忎腑锛屽湪computed涓鍙�$parent涓簎ndefined
-			let parent = this.$parent;
-
-			while (parent && parent.$options.componentName !== 'uniRow') {
-				parent = parent.$parent;
-			}
-
-			this.updateGutter(parent.gutter)
-			parent.$watch('gutter', (gutter) => {
-				this.updateGutter(gutter)
-			})
-
-			// #ifdef APP-NVUE
-			this.updateNvueWidth(parent.width)
-			parent.$watch('width', (width) => {
-				this.updateNvueWidth(width)
-			})
-			// #endif
-		},
-		computed: {
-			sizeList() {
-				let {
-					span,
-					offset,
-					pull,
-					push
-				} = this;
-
-				return {
-					span,
-					offset,
-					pull,
-					push
-				}
-			},
-			// #ifndef APP-NVUE
-			pointClassList() {
-				let classList = [];
-
-				['xs', 'sm', 'md', 'lg', 'xl'].forEach(point => {
-					const props = this[point];
-					if (typeof props === 'number') {
-						classList.push(`${ComponentClass}-${point}-${props}`)
-					} else if (typeof props === 'object' && props) {
-						Object.keys(props).forEach(pointProp => {
-							classList.push(
-								pointProp === 'span' ?
-								`${ComponentClass}-${point}-${props[pointProp]}` :
-								`${ComponentClass}-${point}-${pointProp}-${props[pointProp]}`
-							)
-						})
-					}
-				});
-
-				// 鏀粯瀹濆皬绋嬪簭浣跨敤 :class=[ ['a','b'] ]锛屾覆鏌撻敊璇�
-				return classList.join(' ');
-			}
-			// #endif
-		},
-		methods: {
-			updateGutter(parentGutter) {
-				parentGutter = Number(parentGutter);
-				if (!isNaN(parentGutter)) {
-					this.gutter = parentGutter / 2
-				}
-			},
-			// #ifdef APP-NVUE
-			updateNvueWidth(width) {
-				// 鐢ㄤ簬鍦╪vue绔紝span锛宱ffset锛宲ull锛宲ush鐨勮绠�
-				this.parentWidth = width;
-				['span', 'offset', 'pull', 'push'].forEach(size => {
-					const curSize = this[size];
-					if ((curSize || curSize === 0) && curSize !== -1) {
-						let RPX = 1 / 24 * curSize * width
-						RPX = Number(RPX);
-						switch (size) {
-							case 'span':
-								this.nvueWidth = RPX
-								break;
-							case 'offset':
-								this.marginLeft = RPX
-								break;
-							case 'pull':
-								this.right = RPX
-								break;
-							case 'push':
-								this.left = RPX
-								break;
-						}
-					}
-				});
-			}
-			// #endif
-		},
-		watch: {
-			sizeList: {
-				immediate: true,
-				handler(newVal) {
-					// #ifndef APP-NVUE
-					let classList = [];
-					for (let size in newVal) {
-						const curSize = newVal[size];
-						if ((curSize || curSize === 0) && curSize !== -1) {
-							classList.push(
-								size === 'span' ?
-								`${ComponentClass}-${curSize}` :
-								`${ComponentClass}-${size}-${curSize}`
-							)
-						}
-					}
-					// 鏀粯瀹濆皬绋嬪簭浣跨敤 :class=[ ['a','b'] ]锛屾覆鏌撻敊璇�
-					this.sizeClass = classList.join(' ');
-					// #endif
-					// #ifdef APP-NVUE
-					this.updateNvueWidth(this.parentWidth);
-					// #endif
-				}
-			}
-		}
-	}
-</script>
-
-<style lang='scss' >
-	/* breakpoints */
-	$--sm: 768px !default;
-	$--md: 992px !default;
-	$--lg: 1200px !default;
-	$--xl: 1920px !default;
-
-	$breakpoints: ('xs' : (max-width: $--sm - 1),
-	'sm' : (min-width: $--sm),
-	'md' : (min-width: $--md),
-	'lg' : (min-width: $--lg),
-	'xl' : (min-width: $--xl));
-
-	$layout-namespace: ".uni-";
-	$col: $layout-namespace+"col";
-
-	@function getSize($size) {
-		/* TODO 1/24 * $size * 100 * 1%; 浣跨敤璁$畻鍚庣殑鍊硷紝涓轰簡瑙e喅 vue3 鎺у埗鍙版姤閿� */
-		@return 0.04166666666 * $size * 100 * 1%;
-	}
-
-	@mixin res($key, $map:$breakpoints) {
-		@if map-has-key($map, $key) {
-			@media screen and #{inspect(map-get($map,$key))} {
-				@content;
-			}
-		}
-
-		@else {
-			@warn "Undeinfed point: `#{$key}`";
-		}
-	}
-
-	/* #ifndef APP-NVUE */
-	#{$col} {
-		float: left;
-		box-sizing: border-box;
-	}
-
-	#{$col}-0 {
-		/* #ifdef APP-NVUE */
-		width: 0;
-		height: 0;
-		margin-top: 0;
-		margin-right: 0;
-		margin-bottom: 0;
-		margin-left: 0;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		display: none;
-		/* #endif */
-	}
-
-	@for $i from 0 through 24 {
-		#{$col}-#{$i} {
-			width: getSize($i);
-		}
-
-		#{$col}-offset-#{$i} {
-			margin-left: getSize($i);
-		}
-
-		#{$col}-pull-#{$i} {
-			position: relative;
-			right: getSize($i);
-		}
-
-		#{$col}-push-#{$i} {
-			position: relative;
-			left: getSize($i);
-		}
-	}
-
-	@each $point in map-keys($breakpoints) {
-		@include res($point) {
-			#{$col}-#{$point}-0 {
-				display: none;
-			}
-
-			@for $i from 0 through 24 {
-				#{$col}-#{$point}-#{$i} {
-					width: getSize($i);
-				}
-
-				#{$col}-#{$point}-offset-#{$i} {
-					margin-left: getSize($i);
-				}
-
-				#{$col}-#{$point}-pull-#{$i} {
-					position: relative;
-					right: getSize($i);
-				}
-
-				#{$col}-#{$point}-push-#{$i} {
-					position: relative;
-					left: getSize($i);
-				}
-			}
-		}
-	}
-
-	/* #endif */
-</style>
diff --git a/src/uni_modules/uni-row/components/uni-row/uni-row.vue b/src/uni_modules/uni-row/components/uni-row/uni-row.vue
deleted file mode 100644
index c7d9370..0000000
--- a/src/uni_modules/uni-row/components/uni-row/uni-row.vue
+++ /dev/null
@@ -1,190 +0,0 @@
-<template>
-	<view :class="[ 'uni-row', typeClass , justifyClass, alignClass, ]" :style="{
-		marginLeft:`${Number(marginValue)}rpx`,
-		marginRight:`${Number(marginValue)}rpx`,
-	}">
-		<slot></slot>
-	</view>
-</template>
-
-<script>
-	const ComponentClass = 'uni-row';
-	const modifierSeparator = '--';
-	/**
-	 * Row	甯冨眬-琛�
-	 * @description	娴佸紡鏍呮牸绯荤粺锛岄殢鐫�灞忓箷鎴栬鍙e垎涓� 24 浠斤紝鍙互杩呴�熺畝渚垮湴鍒涘缓甯冨眬銆�
-	 * @tutorial	https://ext.dcloud.net.cn/plugin?id=3958
-	 *
-	 * @property	{gutter} type = Number 鏍呮牸闂撮殧
-	 * @property	{justify} type = String flex 甯冨眬涓嬬殑姘村钩鎺掑垪鏂瑰紡
-	 * 						鍙��	start/end/center/space-around/space-between	start
-	 * 						榛樿鍊�	start
-	 * @property	{align} type = String flex 甯冨眬涓嬬殑鍨傜洿鎺掑垪鏂瑰紡
-	 * 						鍙��	top/middle/bottom
-	 * 						榛樿鍊�	top
-	 * @property	{width} type = String|Number nvue涓嬮渶瑕佽嚜琛岄厤缃搴︾敤浜庤绠�
-	 * 						榛樿鍊� 750
-	 */
-
-
-	export default {
-		name: 'uniRow',
-		componentName: 'uniRow',
-		// #ifdef MP-WEIXIN
-		options: {
-			virtualHost: true // 鍦ㄥ井淇″皬绋嬪簭涓皢缁勪欢鑺傜偣娓叉煋涓鸿櫄鎷熻妭鐐癸紝鏇村姞鎺ヨ繎Vue缁勪欢鐨勮〃鐜帮紝鍙娇鐢╢lex甯冨眬
-		},
-		// #endif
-		props: {
-			type: String,
-			gutter: Number,
-			justify: {
-				type: String,
-				default: 'start'
-			},
-			align: {
-				type: String,
-				default: 'top'
-			},
-			// nvue濡傛灉浣跨敤span绛夊睘鎬э紝闇�瑕侀厤缃搴�
-			width: {
-				type: [String, Number],
-				default: 750
-			}
-		},
-		created() {
-			// #ifdef APP-NVUE
-			this.type = 'flex';
-			// #endif
-		},
-		computed: {
-			marginValue() {
-				// #ifndef APP-NVUE
-				if (this.gutter) {
-					return -(this.gutter / 2);
-				}
-				// #endif
-				return 0;
-			},
-			typeClass() {
-				return this.type === 'flex' ? `${ComponentClass + modifierSeparator}flex` : '';
-			},
-			justifyClass() {
-				return this.justify !== 'start' ? `${ComponentClass + modifierSeparator}flex-justify-${this.justify}` : ''
-			},
-			alignClass() {
-				return this.align !== 'top' ? `${ComponentClass + modifierSeparator}flex-align-${this.align}` : ''
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	$layout-namespace: ".uni-";
-	$row:$layout-namespace+"row";
-	$modifier-separator: "--";
-
-	@mixin utils-clearfix {
-		$selector: &;
-
-		@at-root {
-
-			/* #ifndef APP-NVUE */
-			#{$selector}::before,
-			#{$selector}::after {
-				display: table;
-				content: "";
-			}
-
-			#{$selector}::after {
-				clear: both;
-			}
-
-			/* #endif */
-		}
-
-	}
-
-	@mixin utils-flex ($direction: row) {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: $direction;
-	}
-
-	@mixin set-flex($state) {
-		@at-root &-#{$state} {
-			@content
-		}
-	}
-
-	#{$row} {
-		position: relative;
-		flex-direction: row;
-
-		/* #ifdef APP-NVUE */
-		flex: 1;
-		/* #endif */
-
-		/* #ifndef APP-NVUE */
-		box-sizing: border-box;
-		/* #endif */
-
-		// 闈瀗vue浣跨敤float甯冨眬
-		@include utils-clearfix;
-
-		// 鍦≦Q銆佸瓧鑺傘�佺櫨搴﹀皬绋嬪簭骞冲彴锛岀紪璇戝悗浣跨敤shadow dom锛屼笉鍙娇鐢╢lex甯冨眬锛屼娇鐢╢loat
-		@at-root {
-
-			/* #ifndef MP-QQ || MP-TOUTIAO || MP-BAIDU */
-			&#{$modifier-separator}flex {
-				@include utils-flex;
-				flex-wrap: wrap;
-				flex: 1;
-
-				&:before,
-				&:after {
-					/* #ifndef APP-NVUE */
-					display: none;
-					/* #endif */
-				}
-
-				@include set-flex(justify-center) {
-					justify-content: center;
-				}
-
-				@include set-flex(justify-end) {
-					justify-content: flex-end;
-				}
-
-				@include set-flex(justify-space-between) {
-					justify-content: space-between;
-				}
-
-				@include set-flex(justify-space-around) {
-					justify-content: space-around;
-				}
-
-				@include set-flex(align-middle) {
-					align-items: center;
-				}
-
-				@include set-flex(align-bottom) {
-					align-items: flex-end;
-				}
-			}
-
-			/* #endif */
-		}
-
-	}
-
-	// 瀛楄妭銆丵Q閰嶇疆鍚庝笉鐢熸晥
-	// 姝ゅ鐢ㄦ硶鏃犳硶浣跨敤
-	/* #ifdef MP-WEIXIN || MP-TOUTIAO || MP-QQ */
-	:host {
-		display: block;
-	}
-
-	/* #endif */
-</style>
diff --git a/src/uni_modules/uni-row/package.json b/src/uni_modules/uni-row/package.json
deleted file mode 100644
index 3f52fa6..0000000
--- a/src/uni_modules/uni-row/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "id": "uni-row",
-  "displayName": "uni-row 甯冨眬-琛�",
-  "version": "1.0.0",
-  "description": "娴佸紡鏍呮牸绯荤粺锛岄殢鐫�灞忓箷鎴栬鍙e垎涓� 24 浠斤紝鍙互杩呴�熺畝渚垮湴鍒涘缓甯冨眬銆�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "鏍呮牸",
-    "甯冨眬",
-    "layout"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "u"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-row/readme.md b/src/uni_modules/uni-row/readme.md
deleted file mode 100644
index 3c9c8b9..0000000
--- a/src/uni_modules/uni-row/readme.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## Layout 甯冨眬
-
-> **缁勪欢鍚� uni-row銆乽ni-col**
-> 浠g爜鍧楋細 `uRow`銆乣uCol`
-
-
-娴佸紡鏍呮牸绯荤粺锛岄殢鐫�灞忓箷鎴栬鍙e垎涓� 24 浠斤紝鍙互杩呴�熺畝渚垮湴鍒涘缓甯冨眬銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-row)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-scss/changelog.md b/src/uni_modules/uni-scss/changelog.md
deleted file mode 100644
index b863bb0..0000000
--- a/src/uni_modules/uni-scss/changelog.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## 1.0.3锛�2022-01-21锛�
-- 浼樺寲 缁勪欢绀轰緥
-## 1.0.2锛�2021-11-22锛�
-- 淇 / 绗﹀彿鍦� vue 涓嶅悓鐗堟湰鍏煎闂寮曡捣鐨勬姤閿欓棶棰�
-## 1.0.1锛�2021-11-22锛�
-- 淇 vue3涓璼css璇硶鍏煎闂
-## 1.0.0锛�2021-11-18锛�
-- init
diff --git a/src/uni_modules/uni-scss/index.scss b/src/uni_modules/uni-scss/index.scss
deleted file mode 100644
index 1744a5f..0000000
--- a/src/uni_modules/uni-scss/index.scss
+++ /dev/null
@@ -1 +0,0 @@
-@import './styles/index.scss';
diff --git a/src/uni_modules/uni-scss/package.json b/src/uni_modules/uni-scss/package.json
deleted file mode 100644
index 7cc0ccb..0000000
--- a/src/uni_modules/uni-scss/package.json
+++ /dev/null
@@ -1,82 +0,0 @@
-{
-  "id": "uni-scss",
-  "displayName": "uni-scss 杈呭姪鏍峰紡",
-  "version": "1.0.3",
-  "description": "uni-sass鏄痷ni-ui鎻愪緵鐨勪竴濂楀叏灞�鏍峰紡 锛岄�氳繃涓�浜涚畝鍗曠殑绫诲悕鍜宻ass鍙橀噺锛屽疄鐜扮畝鍗曠殑椤甸潰甯冨眬鎿嶄綔锛屾瘮濡傞鑹层�佽竟璺濄�佸渾瑙掔瓑銆�",
-  "keywords": [
-    "uni-scss",
-    "uni-ui",
-    "杈呭姪鏍峰紡"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": "^3.1.0"
-  },
-  "dcloudext": {
-    "category": [
-        "JS SDK",
-        "閫氱敤 SDK"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": [],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "u"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "n",
-          "鑱旂洘": "n"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
diff --git a/src/uni_modules/uni-scss/readme.md b/src/uni_modules/uni-scss/readme.md
deleted file mode 100644
index b7d1c25..0000000
--- a/src/uni_modules/uni-scss/readme.md
+++ /dev/null
@@ -1,4 +0,0 @@
-`uni-sass` 鏄� `uni-ui`鎻愪緵鐨勪竴濂楀叏灞�鏍峰紡 锛岄�氳繃涓�浜涚畝鍗曠殑绫诲悕鍜宍sass`鍙橀噺锛屽疄鐜扮畝鍗曠殑椤甸潰甯冨眬鎿嶄綔锛屾瘮濡傞鑹层�佽竟璺濄�佸渾瑙掔瓑銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-sass)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-scss/styles/index.scss b/src/uni_modules/uni-scss/styles/index.scss
deleted file mode 100644
index ffac4fe..0000000
--- a/src/uni_modules/uni-scss/styles/index.scss
+++ /dev/null
@@ -1,7 +0,0 @@
-@import './setting/_variables.scss';
-@import './setting/_border.scss';
-@import './setting/_color.scss';
-@import './setting/_space.scss';
-@import './setting/_radius.scss';
-@import './setting/_text.scss';
-@import './setting/_styles.scss';
diff --git a/src/uni_modules/uni-scss/styles/setting/_border.scss b/src/uni_modules/uni-scss/styles/setting/_border.scss
deleted file mode 100644
index 12a11c3..0000000
--- a/src/uni_modules/uni-scss/styles/setting/_border.scss
+++ /dev/null
@@ -1,3 +0,0 @@
-.uni-border {
-	border: 1px $uni-border-1 solid;
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-scss/styles/setting/_color.scss b/src/uni_modules/uni-scss/styles/setting/_color.scss
deleted file mode 100644
index 1ededd9..0000000
--- a/src/uni_modules/uni-scss/styles/setting/_color.scss
+++ /dev/null
@@ -1,66 +0,0 @@
-
-// TODO 鏆傛椂涓嶉渶瑕� class 锛岄渶瑕佺敤鎴蜂娇鐢ㄥ彉閲忓疄鐜� 锛屽鏋滀娇鐢ㄧ被鍚嶅叾瀹炲苟涓嶆帹鑽�
-// @mixin get-styles($k,$c) {
-// 	@if $k == size or $k == weight{
-// 		font-#{$k}:#{$c}
-// 	}@else{
-// 		#{$k}:#{$c}
-// 	}
-// }
-$uni-ui-color:(
-	// 涓昏壊
-	primary: $uni-primary,
-	primary-disable: $uni-primary-disable,
-	primary-light: $uni-primary-light,
-	// 杈呭姪鑹�
-	success: $uni-success,
-	success-disable: $uni-success-disable,
-	success-light: $uni-success-light,
-	warning: $uni-warning,
-	warning-disable: $uni-warning-disable,
-	warning-light: $uni-warning-light,
-	error: $uni-error,
-	error-disable: $uni-error-disable,
-	error-light: $uni-error-light,
-	info: $uni-info,
-	info-disable: $uni-info-disable,
-	info-light: $uni-info-light,
-	// 涓�ц壊
-	main-color: $uni-main-color,
-	base-color: $uni-base-color,
-	secondary-color: $uni-secondary-color,
-	extra-color: $uni-extra-color,
-	// 鑳屾櫙鑹�
-	bg-color: $uni-bg-color,
-	// 杈规棰滆壊
-	border-1: $uni-border-1,
-	border-2: $uni-border-2,
-	border-3: $uni-border-3,
-	border-4: $uni-border-4,
-	// 榛戣壊
-	black:$uni-black,
-	// 鐧借壊
-	white:$uni-white,
-	// 閫忔槑
-	transparent:$uni-transparent
-) !default;
-@each $key, $child in $uni-ui-color {
-	.uni-#{"" + $key} {
-		color: $child;
-	}
-	.uni-#{"" + $key}-bg {
-		background-color: $child;
-	}
-}
-.uni-shadow-sm {
-	box-shadow: $uni-shadow-sm;
-}
-.uni-shadow-base {
-	box-shadow: $uni-shadow-base;
-}
-.uni-shadow-lg {
-	box-shadow: $uni-shadow-lg;
-}
-.uni-mask {
-	background-color:$uni-mask;
-}
diff --git a/src/uni_modules/uni-scss/styles/setting/_radius.scss b/src/uni_modules/uni-scss/styles/setting/_radius.scss
deleted file mode 100644
index 9a0428b..0000000
--- a/src/uni_modules/uni-scss/styles/setting/_radius.scss
+++ /dev/null
@@ -1,55 +0,0 @@
-@mixin radius($r,$d:null ,$important: false){
-  $radius-value:map-get($uni-radius, $r) if($important, !important, null);
-  // Key exists within the $uni-radius variable
-  @if (map-has-key($uni-radius, $r) and  $d){
-		@if $d == t {
-				border-top-left-radius:$radius-value;
-				border-top-right-radius:$radius-value;
-		}@else if $d == r {
-				border-top-right-radius:$radius-value;
-				border-bottom-right-radius:$radius-value;
-		}@else if $d == b {
-				border-bottom-left-radius:$radius-value;
-				border-bottom-right-radius:$radius-value;
-		}@else if $d == l {
-				border-top-left-radius:$radius-value;
-				border-bottom-left-radius:$radius-value;
-		}@else if $d == tl {
-				border-top-left-radius:$radius-value;
-		}@else if $d == tr {
-				border-top-right-radius:$radius-value;
-		}@else if $d == br {
-				border-bottom-right-radius:$radius-value;
-		}@else if $d == bl {
-				border-bottom-left-radius:$radius-value;
-		}
-  }@else{
-		border-radius:$radius-value;
-  }
-}
-
-@each $key, $child in $uni-radius {
-	@if($key){
-		.uni-radius-#{"" + $key} {
-				@include radius($key)
-		}
-	}@else{
-		.uni-radius {
-				@include radius($key)
-		}
-	}
-}
-
-@each $direction in t, r, b, l,tl, tr, br, bl {
-	@each $key, $child in $uni-radius {
-		@if($key){
-			.uni-radius-#{"" + $direction}-#{"" + $key} {
-				@include radius($key,$direction,false)
-			}
-		}@else{
-			.uni-radius-#{$direction} {
-				@include radius($key,$direction,false)
-			}
-		}
-	}
-}
diff --git a/src/uni_modules/uni-scss/styles/setting/_space.scss b/src/uni_modules/uni-scss/styles/setting/_space.scss
deleted file mode 100644
index 3c89528..0000000
--- a/src/uni_modules/uni-scss/styles/setting/_space.scss
+++ /dev/null
@@ -1,56 +0,0 @@
-
-@mixin fn($space,$direction,$size,$n) {
-	@if $n {
-		#{$space}-#{$direction}: #{$size*$uni-space-root}px
-	} @else {
-		 #{$space}-#{$direction}: #{-$size*$uni-space-root}px
-	}
-}
-@mixin get-styles($direction,$i,$space,$n){
-	@if $direction == t {
-		@include fn($space, top,$i,$n);
-	} 
-	@if $direction == r {
-		@include fn($space, right,$i,$n);
-	} 
-	@if $direction == b {
-		@include fn($space, bottom,$i,$n);
-	} 
-	@if $direction == l {
-	 @include fn($space, left,$i,$n);
-	} 
-	@if $direction == x {
-		@include fn($space, left,$i,$n);
-		@include fn($space, right,$i,$n);
-	} 
-	@if $direction == y {
-		@include fn($space, top,$i,$n);
-		@include fn($space, bottom,$i,$n);
-	} 
-	@if $direction == a {
-		@if $n {
-			#{$space}:#{$i*$uni-space-root}px;
-		} @else {
-			#{$space}:#{-$i*$uni-space-root}px;
-		}
-	} 
-}
-
-@each $orientation in m,p {
-	$space: margin;
-	@if $orientation == m {
-		$space: margin;
-	} @else {
-		$space: padding;
-	}
-	@for $i from 0 through 16 {
-		@each $direction in t, r, b, l, x, y, a {
-			.uni-#{$orientation}#{$direction}-#{$i} { 
-				@include  get-styles($direction,$i,$space,true);
-			} 
-			.uni-#{$orientation}#{$direction}-n#{$i} { 
-				@include  get-styles($direction,$i,$space,false);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-scss/styles/setting/_styles.scss b/src/uni_modules/uni-scss/styles/setting/_styles.scss
deleted file mode 100644
index 689afec..0000000
--- a/src/uni_modules/uni-scss/styles/setting/_styles.scss
+++ /dev/null
@@ -1,167 +0,0 @@
-/* #ifndef APP-NVUE */
-
-$-color-white:#fff;
-$-color-black:#000;
-@mixin base-style($color) {
-	color: #fff;
-	background-color: $color;
-	border-color: mix($-color-black, $color, 8%);
-	&:not([hover-class]):active {
-		background: mix($-color-black, $color, 10%);
-		border-color: mix($-color-black, $color, 20%);
-		color: $-color-white;
-		outline: none;
-	}
-}
-@mixin is-color($color) {
-	@include base-style($color);
-	&[loading] {
-		@include base-style($color);
-		&::before {
-			margin-right:5px;
-		}
-	}
-	&[disabled] {
-	  &,
-		&[loading],
-	  &:not([hover-class]):active {
-	    color: $-color-white;
-			border-color: mix(darken($color,10%), $-color-white);
-	    background-color: mix($color, $-color-white);
-	  }
-	}
-
-}
-@mixin base-plain-style($color) {
-	color:$color;
-	background-color: mix($-color-white, $color, 90%);
-	border-color: mix($-color-white, $color, 70%);
-	&:not([hover-class]):active {
-	  background: mix($-color-white, $color, 80%);
-	  color: $color;
-	  outline: none;
-		border-color: mix($-color-white, $color, 50%);
-	}
-}
-@mixin is-plain($color){
-	&[plain] {
-		@include base-plain-style($color);
-		&[loading] {
-			@include base-plain-style($color);
-			&::before {
-				margin-right:5px;
-			}
-		}
-		&[disabled] {
-		  &,
-		  &:active {
-		    color: mix($-color-white, $color, 40%);
-		    background-color: mix($-color-white, $color, 90%);
-				border-color: mix($-color-white, $color, 80%);
-		  }
-		}
-	}
-}
-
-
-.uni-btn {
-	margin: 5px;
-	color: #393939;
-	border:1px solid #ccc;
-	font-size: 16px;
-	font-weight: 200;
-	background-color: #F9F9F9;
-	// TODO 鏆傛椂澶勭悊杈规闅愯棌涓�杈圭殑闂
-	overflow: visible;
-	&::after{
-		border: none;
-	}
-
-	&:not([type]),&[type=default] {
-		color: #999;
-		&[loading] {
-			background: none;
-			&::before {
-				margin-right:5px;
-			}
-		}
-
-
-
-		&[disabled]{
-			color: mix($-color-white, #999, 60%);
-		  &,
-			&[loading],
-		  &:active {
-				color: mix($-color-white, #999, 60%);
-		    background-color: mix($-color-white,$-color-black , 98%);
-				border-color: mix($-color-white,  #999, 85%);
-		  }
-		}
-
-		&[plain] {
-			color: #999;
-			background: none;
-			border-color: $uni-border-1;
-			&:not([hover-class]):active {
-				background: none;
-			  color: mix($-color-white, $-color-black, 80%);
-				border-color: mix($-color-white, $-color-black, 90%);
-			  outline: none;
-			}
-			&[disabled]{
-			  &,
-				&[loading],
-			  &:active {
-			    background: none;
-					color: mix($-color-white, #999, 60%);
-					border-color: mix($-color-white,  #999, 85%);
-			  }
-			}
-		}
-	}
-
-	&:not([hover-class]):active {
-	  color: mix($-color-white, $-color-black, 50%);
-	}
-
-	&[size=mini] {
-		font-size: 16px;
-		font-weight: 200;
-		border-radius: 8px;
-	}
-
-
-
-	&.uni-btn-small {
-		font-size: 14px;
-	}
-	&.uni-btn-mini {
-		font-size: 12px;
-	}
-
-	&.uni-btn-radius {
-		border-radius: 999px;
-	}
-	&[type=primary] {
-		@include is-color($uni-primary);
-		@include is-plain($uni-primary)
-	}
-	&[type=success] {
-		@include is-color($uni-success);
-		@include is-plain($uni-success)
-	}
-	&[type=error] {
-		@include is-color($uni-error);
-		@include is-plain($uni-error)
-	}
-	&[type=warning] {
-		@include is-color($uni-warning);
-		@include is-plain($uni-warning)
-	}
-	&[type=info] {
-		@include is-color($uni-info);
-		@include is-plain($uni-info)
-	}
-}
-/* #endif */
diff --git a/src/uni_modules/uni-scss/styles/setting/_text.scss b/src/uni_modules/uni-scss/styles/setting/_text.scss
deleted file mode 100644
index a34d08f..0000000
--- a/src/uni_modules/uni-scss/styles/setting/_text.scss
+++ /dev/null
@@ -1,24 +0,0 @@
-@mixin get-styles($k,$c) {
-	@if $k == size or $k == weight{
-		font-#{$k}:#{$c}
-	}@else{
-		#{$k}:#{$c}
-	}
-}
-
-@each $key, $child in $uni-headings {
-	/* #ifndef APP-NVUE */
-	.uni-#{$key} {
-		@each $k, $c in $child {
-			@include get-styles($k,$c)
-		}
-	}
-	/* #endif */
-	/* #ifdef APP-NVUE */
-	.container .uni-#{$key} {
-		@each $k, $c in $child {
-			@include get-styles($k,$c)
-		}
-	}
-	/* #endif */
-}
diff --git a/src/uni_modules/uni-scss/styles/setting/_variables.scss b/src/uni_modules/uni-scss/styles/setting/_variables.scss
deleted file mode 100644
index 557d3d7..0000000
--- a/src/uni_modules/uni-scss/styles/setting/_variables.scss
+++ /dev/null
@@ -1,146 +0,0 @@
-// @use "sass:math";
-@import  '../tools/functions.scss';
-// 闂磋窛鍩虹鍊嶆暟
-$uni-space-root: 2 !default;
-// 杈规鍗婂緞榛樿鍊�
-$uni-radius-root:5px !default;
-$uni-radius: () !default;
-// 杈规鍗婂緞鏂偣
-$uni-radius: map-deep-merge(
-  (
-    0: 0,
-		// TODO 褰撳墠鐗堟湰鏆傛椂涓嶆敮鎸� sm 灞炴��
-    // 'sm': math.div($uni-radius-root, 2),
-    null: $uni-radius-root,
-    'lg': $uni-radius-root * 2,
-    'xl': $uni-radius-root * 6,
-    'pill': 9999px,
-    'circle': 50%
-  ),
-  $uni-radius
-);
-// 瀛椾綋瀹舵棌
-$body-font-family: 'Roboto', sans-serif !default;
-// 鏂囨湰
-$heading-font-family: $body-font-family !default;
-$uni-headings: () !default;
-$letterSpacing: -0.01562em;
-$uni-headings: map-deep-merge(
-  (
-    'h1': (
-      size: 32px,
-			weight: 300,
-			line-height: 50px,
-			// letter-spacing:-0.01562em
-    ),
-    'h2': (
-      size: 28px,
-      weight: 300,
-      line-height: 40px,
-      // letter-spacing: -0.00833em
-    ),
-    'h3': (
-      size: 24px,
-      weight: 400,
-      line-height: 32px,
-      // letter-spacing: normal
-    ),
-    'h4': (
-      size: 20px,
-      weight: 400,
-      line-height: 30px,
-      // letter-spacing: 0.00735em
-    ),
-    'h5': (
-      size: 16px,
-      weight: 400,
-      line-height: 24px,
-      // letter-spacing: normal
-    ),
-    'h6': (
-      size: 14px,
-      weight: 500,
-      line-height: 18px,
-      // letter-spacing: 0.0125em
-    ),
-    'subtitle': (
-      size: 12px,
-      weight: 400,
-      line-height: 20px,
-      // letter-spacing: 0.00937em
-    ),
-    'body': (
-      font-size: 14px,
-			font-weight: 400,
-			line-height: 22px,
-			// letter-spacing: 0.03125em
-    ),
-    'caption': (
-      'size': 12px,
-      'weight': 400,
-      'line-height': 20px,
-      // 'letter-spacing': 0.03333em,
-      // 'text-transform': false
-    )
-  ),
-  $uni-headings
-);
-
-
-
-// 涓昏壊
-$uni-primary: #2979ff !default;
-$uni-primary-disable:lighten($uni-primary,20%) !default;
-$uni-primary-light: lighten($uni-primary,25%) !default;
-
-// 杈呭姪鑹�
-// 闄や簡涓昏壊澶栫殑鍦烘櫙鑹诧紝闇�瑕佸湪涓嶅悓鐨勫満鏅腑浣跨敤锛堜緥濡傚嵄闄╄壊琛ㄧず鍗遍櫓鐨勬搷浣滐級銆�
-$uni-success: #18bc37 !default;
-$uni-success-disable:lighten($uni-success,20%) !default;
-$uni-success-light: lighten($uni-success,25%) !default;
-
-$uni-warning: #f3a73f !default;
-$uni-warning-disable:lighten($uni-warning,20%) !default;
-$uni-warning-light: lighten($uni-warning,25%) !default;
-
-$uni-error: #e43d33 !default;
-$uni-error-disable:lighten($uni-error,20%) !default;
-$uni-error-light: lighten($uni-error,25%) !default;
-
-$uni-info: #8f939c !default;
-$uni-info-disable:lighten($uni-info,20%) !default;
-$uni-info-light: lighten($uni-info,25%) !default;
-
-// 涓�ц壊
-// 涓�ц壊鐢ㄤ簬鏂囨湰銆佽儗鏅拰杈规棰滆壊銆傞�氳繃杩愮敤涓嶅悓鐨勪腑鎬ц壊锛屾潵琛ㄧ幇灞傛缁撴瀯銆�
-$uni-main-color: #3a3a3a !default; 			// 涓昏鏂囧瓧
-$uni-base-color: #6a6a6a !default;			// 甯歌鏂囧瓧
-$uni-secondary-color: #909399 !default;	// 娆¤鏂囧瓧
-$uni-extra-color: #c7c7c7 !default;			// 杈呭姪璇存槑
-
-// 杈规棰滆壊
-$uni-border-1: #F0F0F0 !default;
-$uni-border-2: #EDEDED !default;
-$uni-border-3: #DCDCDC !default;
-$uni-border-4: #B9B9B9 !default;
-
-// 甯歌鑹�
-$uni-black: #000000 !default;
-$uni-white: #ffffff !default;
-$uni-transparent: rgba($color: #000000, $alpha: 0) !default;
-
-// 鑳屾櫙鑹�
-$uni-bg-color: #f7f7f7 !default;
-
-/* 姘村钩闂磋窛 */
-$uni-spacing-sm: 8px !default;
-$uni-spacing-base: 15px !default;
-$uni-spacing-lg: 30px !default;
-
-// 闃村奖
-$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5) !default;
-$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default;
-$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5) !default;
-
-// 钂欑増
-$uni-mask: rgba($color: #000000, $alpha: 0.4) !default;
diff --git a/src/uni_modules/uni-scss/styles/tools/functions.scss b/src/uni_modules/uni-scss/styles/tools/functions.scss
deleted file mode 100644
index ac6f63e..0000000
--- a/src/uni_modules/uni-scss/styles/tools/functions.scss
+++ /dev/null
@@ -1,19 +0,0 @@
-// 鍚堝苟 map
-@function map-deep-merge($parent-map, $child-map){
-	$result: $parent-map;
-	@each $key, $child in $child-map {
-		$parent-has-key: map-has-key($result, $key);
-		$parent-value: map-get($result, $key);
-		$parent-type: type-of($parent-value);
-		$child-type: type-of($child);
-		$parent-is-map: $parent-type == map;
-		$child-is-map: $child-type == map;
-			
-		@if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){
-			$result: map-merge($result, ( $key: $child ));
-		}@else {
-			$result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) ));
-		}
-	}
-	@return $result;
-};
diff --git a/src/uni_modules/uni-scss/theme.scss b/src/uni_modules/uni-scss/theme.scss
deleted file mode 100644
index 80ee62f..0000000
--- a/src/uni_modules/uni-scss/theme.scss
+++ /dev/null
@@ -1,31 +0,0 @@
-// 闂磋窛鍩虹鍊嶆暟
-$uni-space-root: 2;
-// 杈规鍗婂緞榛樿鍊�
-$uni-radius-root:5px;
-// 涓昏壊
-$uni-primary: #2979ff;
-// 杈呭姪鑹�
-$uni-success: #4cd964;
-// 璀﹀憡鑹�
-$uni-warning: #f0ad4e;
-// 閿欒鑹�
-$uni-error: #dd524d;
-// 鎻忚堪鑹�
-$uni-info: #909399;
-// 涓�ц壊
-$uni-main-color: #303133;
-$uni-base-color: #606266;
-$uni-secondary-color: #909399;
-$uni-extra-color: #C0C4CC;
-// 鑳屾櫙鑹�
-$uni-bg-color: #f5f5f5;
-// 杈规棰滆壊
-$uni-border-1: #DCDFE6;
-$uni-border-2: #E4E7ED;
-$uni-border-3: #EBEEF5;
-$uni-border-4: #F2F6FC;
-
-// 甯歌鑹�
-$uni-black: #000000;
-$uni-white: #ffffff;
-$uni-transparent: rgba($color: #000000, $alpha: 0);
diff --git a/src/uni_modules/uni-scss/variables.scss b/src/uni_modules/uni-scss/variables.scss
deleted file mode 100644
index 1c062d4..0000000
--- a/src/uni_modules/uni-scss/variables.scss
+++ /dev/null
@@ -1,62 +0,0 @@
-@import './styles/setting/_variables.scss';
-// 闂磋窛鍩虹鍊嶆暟
-$uni-space-root: 2;
-// 杈规鍗婂緞榛樿鍊�
-$uni-radius-root:5px;
-
-// 涓昏壊
-$uni-primary: #2979ff;
-$uni-primary-disable:mix(#fff,$uni-primary,50%);
-$uni-primary-light: mix(#fff,$uni-primary,80%);
-
-// 杈呭姪鑹�
-// 闄や簡涓昏壊澶栫殑鍦烘櫙鑹诧紝闇�瑕佸湪涓嶅悓鐨勫満鏅腑浣跨敤锛堜緥濡傚嵄闄╄壊琛ㄧず鍗遍櫓鐨勬搷浣滐級銆�
-$uni-success: #18bc37;
-$uni-success-disable:mix(#fff,$uni-success,50%);
-$uni-success-light: mix(#fff,$uni-success,80%);
-
-$uni-warning: #f3a73f;
-$uni-warning-disable:mix(#fff,$uni-warning,50%);
-$uni-warning-light: mix(#fff,$uni-warning,80%);
-
-$uni-error: #e43d33;
-$uni-error-disable:mix(#fff,$uni-error,50%);
-$uni-error-light: mix(#fff,$uni-error,80%);
-
-$uni-info: #8f939c;
-$uni-info-disable:mix(#fff,$uni-info,50%);
-$uni-info-light: mix(#fff,$uni-info,80%);
-
-// 涓�ц壊
-// 涓�ц壊鐢ㄤ簬鏂囨湰銆佽儗鏅拰杈规棰滆壊銆傞�氳繃杩愮敤涓嶅悓鐨勪腑鎬ц壊锛屾潵琛ㄧ幇灞傛缁撴瀯銆�
-$uni-main-color: #3a3a3a; 			// 涓昏鏂囧瓧
-$uni-base-color: #6a6a6a;			// 甯歌鏂囧瓧
-$uni-secondary-color: #909399;	// 娆¤鏂囧瓧
-$uni-extra-color: #c7c7c7;			// 杈呭姪璇存槑
-
-// 杈规棰滆壊
-$uni-border-1: #F0F0F0;
-$uni-border-2: #EDEDED;
-$uni-border-3: #DCDCDC;
-$uni-border-4: #B9B9B9;
-
-// 甯歌鑹�
-$uni-black: #000000;
-$uni-white: #ffffff;
-$uni-transparent: rgba($color: #000000, $alpha: 0);
-
-// 鑳屾櫙鑹�
-$uni-bg-color: #f7f7f7;
-
-/* 姘村钩闂磋窛 */
-$uni-spacing-sm: 8px;
-$uni-spacing-base: 15px;
-$uni-spacing-lg: 30px;
-
-// 闃村奖
-$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5);
-$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2);
-$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5);
-
-// 钂欑増
-$uni-mask: rgba($color: #000000, $alpha: 0.4);
diff --git a/src/uni_modules/uni-search-bar/changelog.md b/src/uni_modules/uni-search-bar/changelog.md
deleted file mode 100644
index b41fdd3..0000000
--- a/src/uni_modules/uni-search-bar/changelog.md
+++ /dev/null
@@ -1,33 +0,0 @@
-## 1.2.3锛�2022-05-24锛�
-- 鏂板 readonly 灞炴�э紝缁勪欢鍙
-## 1.2.2锛�2022-05-06锛�
-- 淇  vue3 input 浜嬩欢涓嶇敓鏁堢殑bug
-## 1.2.1锛�2022-05-06锛�
-- 淇 澶氫綑浠g爜瀵艰嚧鐨刡ug
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-search-bar](https://uniapp.dcloud.io/component/uniui/uni-search-bar)
-## 1.1.2锛�2021-08-30锛�
-- 淇 value 灞炴�т笌 modelValue 灞炴�т笉鍏煎鐨凚ug
-## 1.1.1锛�2021-08-24锛�
-- 鏂板 鏀寔鍥介檯鍖�
-## 1.1.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.9锛�2021-05-12锛�
-- 鏂板 椤圭洰绀轰緥鍦板潃
-## 1.0.8锛�2021-04-21锛�
-- 浼樺寲 娣诲姞渚濊禆 uni-icons, 瀵煎叆鍚庤嚜鍔ㄤ笅杞戒緷璧�
-## 1.0.7锛�2021-04-15锛�
-- uni-ui 鏂板 uni-search-bar 鐨� focus 浜嬩欢
-
-## 1.0.6锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-
-## 1.0.5锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 鏂板 鏀寔鍙屽悜缁戝畾
-- 鏇存敼 input 浜嬩欢鐨勮繑鍥炲�硷紝e={value:Number} --> e=value
-- 鏂板 鏀寔鍥炬爣鎻掓Ы
-- 鏂板 鏀寔 clear銆乥lur 浜嬩欢
-- 鏂板 鏀寔 focus 灞炴��
-- 鍘绘帀缁勪欢鑳屾櫙鑹�
diff --git a/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json b/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json
deleted file mode 100644
index dd083a5..0000000
--- a/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-	"uni-search-bar.cancel": "cancel",
-	"uni-search-bar.placeholder": "Search enter content"
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js b/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js
deleted file mode 100644
index de7509c..0000000
--- a/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import en from './en.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
-	en,
-	'zh-Hans': zhHans,
-	'zh-Hant': zhHant
-}
diff --git a/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json b/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json
deleted file mode 100644
index d4e5c12..0000000
--- a/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-	"uni-search-bar.cancel": "cancel",
-	"uni-search-bar.placeholder": "璇疯緭鍏ユ悳绱㈠唴瀹�"
-}
diff --git a/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json b/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json
deleted file mode 100644
index 318b6ef..0000000
--- a/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-	"uni-search-bar.cancel": "cancel",
-	"uni-search-bar.placeholder": "璜嬭几鍏ユ悳绱㈠収瀹�"
-}
diff --git a/src/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue b/src/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue
deleted file mode 100644
index 5a518a8..0000000
--- a/src/uni_modules/uni-search-bar/components/uni-search-bar/uni-search-bar.vue
+++ /dev/null
@@ -1,298 +0,0 @@
-<template>
-	<view class="uni-searchbar">
-		<view :style="{borderRadius:radius+'px',backgroundColor: bgColor}" class="uni-searchbar__box"
-			@click="searchClick">
-			<view class="uni-searchbar__box-icon-search">
-				<slot name="searchIcon">
-					<uni-icons color="#c0c4cc" size="18" type="search" />
-				</slot>
-			</view>
-			<input v-if="show || searchVal" :focus="showSync" :disabled="readonly" :placeholder="placeholderText" :maxlength="maxlength"
-				class="uni-searchbar__box-search-input" confirm-type="search" type="text" v-model="searchVal"
-				@confirm="confirm" @blur="blur" @focus="emitFocus" />
-			<text v-else class="uni-searchbar__text-placeholder">{{ placeholder }}</text>
-			<view v-if="show && (clearButton==='always'||clearButton==='auto'&&searchVal!=='') &&!readonly"
-				class="uni-searchbar__box-icon-clear" @click="clear">
-				<slot name="clearIcon">
-					<uni-icons color="#c0c4cc" size="20" type="clear" />
-				</slot>
-			</view>
-		</view>
-		<text @click="cancel" class="uni-searchbar__cancel"
-			v-if="cancelButton ==='always' || show && cancelButton ==='auto'">{{cancelTextI18n}}</text>
-	</view>
-</template>
-
-<script>
-	import {
-		initVueI18n
-	} from '@dcloudio/uni-i18n'
-	import messages from './i18n/index.js'
-	const {
-		t
-	} = initVueI18n(messages)
-
-	/**
-	 * SearchBar 鎼滅储鏍�
-	 * @description 鎼滅储鏍忕粍浠讹紝閫氬父鐢ㄤ簬鎼滅储鍟嗗搧銆佹枃绔犵瓑
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=866
-	 * @property {Number} radius 鎼滅储鏍忓渾瑙�
-	 * @property {Number} maxlength 杈撳叆鏈�澶ч暱搴�
-	 * @property {String} placeholder 鎼滅储鏍廝laceholder
-	 * @property {String} clearButton = [always|auto|none] 鏄惁鏄剧ず娓呴櫎鎸夐挳
-	 * 	@value always 涓�鐩存樉绀�
-	 * 	@value auto 杈撳叆妗嗕笉涓虹┖鏃舵樉绀�
-	 * 	@value none 涓�鐩翠笉鏄剧ず
-	 * @property {String} cancelButton = [always|auto|none] 鏄惁鏄剧ず鍙栨秷鎸夐挳
-	 * 	@value always 涓�鐩存樉绀�
-	 * 	@value auto 杈撳叆妗嗕笉涓虹┖鏃舵樉绀�
-	 * 	@value none 涓�鐩翠笉鏄剧ず
-	 * @property {String} cancelText 鍙栨秷鎸夐挳鐨勬枃瀛�
-	 * @property {String} bgColor 杈撳叆妗嗚儗鏅鑹�
-	 * @property {Boolean} focus 鏄惁鑷姩鑱氱劍
-	 * @property {Boolean} readonly 缁勪欢鍙锛屼笉鑳芥湁浠讳綍鎿嶄綔锛屽彧鍋氬睍绀�
-	 * @event {Function} confirm uniSearchBar 鐨勮緭鍏ユ confirm 浜嬩欢锛岃繑鍥炲弬鏁颁负uniSearchBar鐨剉alue锛宔={value:Number}
-	 * @event {Function} input uniSearchBar 鐨� value 鏀瑰彉鏃惰Е鍙戜簨浠讹紝杩斿洖鍙傛暟涓簎niSearchBar鐨剉alue锛宔=value
-	 * @event {Function} cancel 鐐瑰嚮鍙栨秷鎸夐挳鏃惰Е鍙戜簨浠讹紝杩斿洖鍙傛暟涓簎niSearchBar鐨剉alue锛宔={value:Number}
-	 * @event {Function} clear 鐐瑰嚮娓呴櫎鎸夐挳鏃惰Е鍙戜簨浠讹紝杩斿洖鍙傛暟涓簎niSearchBar鐨剉alue锛宔={value:Number}
-	 * @event {Function} blur input澶卞幓鐒︾偣鏃惰Е鍙戜簨浠讹紝杩斿洖鍙傛暟涓簎niSearchBar鐨剉alue锛宔={value:Number}
-	 */
-
-	export default {
-		name: "UniSearchBar",
-		emits: ['input', 'update:modelValue', 'clear', 'cancel', 'confirm', 'blur', 'focus'],
-		props: {
-			placeholder: {
-				type: String,
-				default: ""
-			},
-			radius: {
-				type: [Number, String],
-				default: 5
-			},
-			clearButton: {
-				type: String,
-				default: "auto"
-			},
-			cancelButton: {
-				type: String,
-				default: "auto"
-			},
-			cancelText: {
-				type: String,
-				default: '鍙栨秷'
-			},
-			bgColor: {
-				type: String,
-				default: "#F8F8F8"
-			},
-			maxlength: {
-				type: [Number, String],
-				default: 100
-			},
-			value: {
-				type: [Number, String],
-				default: ""
-			},
-			modelValue: {
-				type: [Number, String],
-				default: ""
-			},
-			focus: {
-				type: Boolean,
-				default: false
-			},
-			readonly: {
-				type: Boolean,
-				default: false
-			}
-		},
-		data() {
-			return {
-				show: false,
-				showSync: false,
-				searchVal: ''
-			}
-		},
-		computed: {
-			cancelTextI18n() {
-				return this.cancelText || t("uni-search-bar.cancel")
-			},
-			placeholderText() {
-				return this.placeholder || t("uni-search-bar.placeholder")
-			}
-		},
-		watch: {
-			// #ifndef VUE3
-			value: {
-				immediate: true,
-				handler(newVal) {
-					this.searchVal = newVal
-					if (newVal) {
-						this.show = true
-					}
-				}
-			},
-			// #endif
-			// #ifdef VUE3
-			modelValue: {
-				immediate: true,
-				handler(newVal) {
-					this.searchVal = newVal
-					if (newVal) {
-						this.show = true
-					}
-				}
-			},
-			// #endif
-			focus: {
-				immediate: true,
-				handler(newVal) {
-					if (newVal) {
-						if(this.readonly) return
-						this.show = true;
-						this.$nextTick(() => {
-							this.showSync = true
-						})
-					}
-				}
-			},
-			searchVal(newVal, oldVal) {
-				this.$emit("input", newVal)
-				// #ifdef VUE3
-				this.$emit("update:modelValue", newVal)
-				// #endif
-			}
-		},
-		methods: {
-			searchClick() {
-				if(this.readonly) return
-				if (this.show) {
-					return
-				}
-				this.show = true;
-				this.$nextTick(() => {
-					this.showSync = true
-				})
-			},
-			clear() {
-				this.$emit("clear", {
-					value: this.searchVal
-				})
-				this.searchVal = ""
-			},
-			cancel() {
-				if(this.readonly) return
-				this.$emit("cancel", {
-					value: this.searchVal
-				});
-				this.searchVal = ""
-				this.show = false
-				this.showSync = false
-				// #ifndef APP-PLUS
-				uni.hideKeyboard()
-				// #endif
-				// #ifdef APP-PLUS
-				plus.key.hideSoftKeybord()
-				// #endif
-			},
-			confirm() {
-				// #ifndef APP-PLUS
-				uni.hideKeyboard();
-				// #endif
-				// #ifdef APP-PLUS
-				plus.key.hideSoftKeybord()
-				// #endif
-				this.$emit("confirm", {
-					value: this.searchVal
-				})
-			},
-			blur() {
-				// #ifndef APP-PLUS
-				uni.hideKeyboard();
-				// #endif
-				// #ifdef APP-PLUS
-				plus.key.hideSoftKeybord()
-				// #endif
-				this.$emit("blur", {
-					value: this.searchVal
-				})
-			},
-			emitFocus(e) {
-				this.$emit("focus", e.detail)
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	$uni-searchbar-height: 36px;
-
-	.uni-searchbar {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		position: relative;
-		padding: 10px;
-		// background-color: #fff;
-	}
-
-	.uni-searchbar__box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		box-sizing: border-box;
-		/* #endif */
-		overflow: hidden;
-		position: relative;
-		flex: 1;
-		justify-content: center;
-		flex-direction: row;
-		align-items: center;
-		height: $uni-searchbar-height;
-		padding: 5px 8px 5px 0px;
-	}
-
-	.uni-searchbar__box-icon-search {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		// width: 32px;
-		padding: 0 8px;
-		justify-content: center;
-		align-items: center;
-		color: #B3B3B3;
-	}
-
-	.uni-searchbar__box-search-input {
-		flex: 1;
-		font-size: 14px;
-		color: #333;
-	}
-
-	.uni-searchbar__box-icon-clear {
-		align-items: center;
-		line-height: 24px;
-		padding-left: 8px;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.uni-searchbar__text-placeholder {
-		font-size: 14px;
-		color: #B3B3B3;
-		margin-left: 5px;
-	}
-
-	.uni-searchbar__cancel {
-		padding-left: 10px;
-		line-height: $uni-searchbar-height;
-		font-size: 14px;
-		color: #333333;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-</style>
diff --git a/src/uni_modules/uni-search-bar/package.json b/src/uni_modules/uni-search-bar/package.json
deleted file mode 100644
index 9352c57..0000000
--- a/src/uni_modules/uni-search-bar/package.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
-  "id": "uni-search-bar",
-  "displayName": "uni-search-bar 鎼滅储鏍�",
-  "version": "1.2.3",
-  "description": "鎼滅储鏍忕粍浠讹紝閫氬父鐢ㄤ簬鎼滅储鍟嗗搧銆佹枃绔犵瓑",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "鎼滅储妗�",
-    "鎼滅储鏍�"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-			"uni-icons"
-		],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-search-bar/readme.md b/src/uni_modules/uni-search-bar/readme.md
deleted file mode 100644
index 253092f..0000000
--- a/src/uni_modules/uni-search-bar/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-## SearchBar 鎼滅储鏍�
-
-> **缁勪欢鍚嶏細uni-search-bar**
-> 浠g爜鍧楋細 `uSearchBar`
-
-
-鎼滅储鏍忕粍浠�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-search-bar)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
-
-
diff --git a/src/uni_modules/uni-segmented-control/changelog.md b/src/uni_modules/uni-segmented-control/changelog.md
deleted file mode 100644
index a44385d..0000000
--- a/src/uni_modules/uni-segmented-control/changelog.md
+++ /dev/null
@@ -1,9 +0,0 @@
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-segmented-control](https://uniapp.dcloud.io/component/uniui/uni-segmented-control)
-## 1.1.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.5锛�2021-05-12锛�
-- 鏂板 椤圭洰绀轰緥鍦板潃
-## 1.0.4锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue b/src/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue
deleted file mode 100644
index ddbcf88..0000000
--- a/src/uni_modules/uni-segmented-control/components/uni-segmented-control/uni-segmented-control.vue
+++ /dev/null
@@ -1,145 +0,0 @@
-<template>
-	<view :class="[styleType === 'text'?'segmented-control--text' : 'segmented-control--button' ]"
-		:style="{ borderColor: styleType === 'text' ? '' : activeColor }" class="segmented-control">
-		<view v-for="(item, index) in values" :class="[ styleType === 'text' ? '': 'segmented-control__item--button',
-		index === currentIndex&&styleType === 'button' ? 'segmented-control__item--button--active': '',
-		index === 0&&styleType === 'button' ? 'segmented-control__item--button--first': '',
-			index === values.length - 1&&styleType === 'button' ? 'segmented-control__item--button--last': '' ]" :key="index"
-			:style="{ backgroundColor: index === currentIndex && styleType === 'button' ? activeColor : '',borderColor: index === currentIndex&&styleType === 'text'||styleType === 'button'?activeColor:'transparent' }"
-			class="segmented-control__item" @click="_onClick(index)">
-			<view>
-				<text :style="{color:
-				    index === currentIndex
-				      ? styleType === 'text'
-				        ? activeColor
-				        : '#fff'
-				      : styleType === 'text'
-				        ? '#000'
-				        : activeColor}" class="segmented-control__text" :class="styleType === 'text' && index === currentIndex ? 'segmented-control__item--text': ''">{{ item }}</text>
-			</view>
-
-		</view>
-	</view>
-</template>
-
-<script>
-	/**
-	 * SegmentedControl 鍒嗘鍣�
-	 * @description 鐢ㄤ綔涓嶅悓瑙嗗浘鐨勬樉绀�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=54
-	 * @property {Number} current 褰撳墠閫変腑鐨則ab绱㈠紩鍊硷紝浠�0璁℃暟
-	 * @property {String} styleType = [button|text] 鍒嗘鍣ㄦ牱寮忕被鍨�
-	 * 	@value button 鎸夐挳绫诲瀷
-	 * 	@value text 鏂囧瓧绫诲瀷
-	 * @property {String} activeColor 閫変腑鐨勬爣绛捐儗鏅壊涓庤竟妗嗛鑹�
-	 * @property {Array} values 閫夐」鏁扮粍
-	 * @event {Function} clickItem 缁勪欢瑙﹀彂鐐瑰嚮浜嬩欢鏃惰Е鍙戯紝e={currentIndex}
-	 */
-
-	export default {
-		name: 'UniSegmentedControl',
-		emits: ['clickItem'],
-		props: {
-			current: {
-				type: Number,
-				default: 0
-			},
-			values: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			activeColor: {
-				type: String,
-				default: '#2979FF'
-			},
-			styleType: {
-				type: String,
-				default: 'button'
-			}
-		},
-		data() {
-			return {
-				currentIndex: 0
-			}
-		},
-		watch: {
-			current(val) {
-				if (val !== this.currentIndex) {
-					this.currentIndex = val
-				}
-			}
-		},
-		created() {
-			this.currentIndex = this.current
-		},
-		methods: {
-			_onClick(index) {
-				if (this.currentIndex !== index) {
-					this.currentIndex = index
-					this.$emit('clickItem', {
-						currentIndex: index
-					})
-				}
-			}
-		}
-	}
-</script>
-
-<style lang="scss" >
-	.segmented-control {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		box-sizing: border-box;
-		/* #endif */
-		flex-direction: row;
-		height: 36px;
-		overflow: hidden;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.segmented-control__item {
-		/* #ifndef APP-NVUE */
-		display: inline-flex;
-		box-sizing: border-box;
-		/* #endif */
-		position: relative;
-		flex: 1;
-		justify-content: center;
-		align-items: center;
-	}
-
-	.segmented-control__item--button {
-		border-style: solid;
-		border-top-width: 1px;
-		border-bottom-width: 1px;
-		border-right-width: 1px;
-		border-left-width: 0;
-	}
-
-	.segmented-control__item--button--first {
-		border-left-width: 1px;
-		border-top-left-radius: 5px;
-		border-bottom-left-radius: 5px;
-	}
-
-	.segmented-control__item--button--last {
-		border-top-right-radius: 5px;
-		border-bottom-right-radius: 5px;
-	}
-
-	.segmented-control__item--text {
-		border-bottom-style: solid;
-		border-bottom-width: 2px;
-		padding: 6px 0;
-	}
-
-	.segmented-control__text {
-		font-size: 14px;
-		line-height: 20px;
-		text-align: center;
-	}
-</style>
diff --git a/src/uni_modules/uni-segmented-control/package.json b/src/uni_modules/uni-segmented-control/package.json
deleted file mode 100644
index 6cae41d..0000000
--- a/src/uni_modules/uni-segmented-control/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "id": "uni-segmented-control",
-  "displayName": "uni-segmented-control 鍒嗘鍣�",
-  "version": "1.2.0",
-  "description": "鍒嗘鍣ㄧ敱鑷冲皯 2 涓垎娈垫帶浠剁粍鎴愶紝鐢ㄤ綔涓嶅悓瑙嗗浘鐨勬樉绀�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "鍒嗘鍣�",
-    "segement",
-    "椤堕儴閫夋嫨"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-segmented-control/readme.md b/src/uni_modules/uni-segmented-control/readme.md
deleted file mode 100644
index 3527b03..0000000
--- a/src/uni_modules/uni-segmented-control/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-## SegmentedControl 鍒嗘鍣�
-> **缁勪欢鍚嶏細uni-segmented-control**
-> 浠g爜鍧楋細 `uSegmentedControl`
-
-
-鐢ㄤ綔涓嶅悓瑙嗗浘鐨勬樉绀�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-segmented-control)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
-
-
diff --git a/src/uni_modules/uni-steps/changelog.md b/src/uni_modules/uni-steps/changelog.md
deleted file mode 100644
index cb9d367..0000000
--- a/src/uni_modules/uni-steps/changelog.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## 1.1.1锛�2021-11-22锛�
-- 淇 vue3涓煇浜泂css鍙橀噺鏃犳硶鎵惧埌鐨勯棶棰�
-## 1.1.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-steps](https://uniapp.dcloud.io/component/uniui/uni-steps)
-## 1.0.8锛�2021-05-12锛�
-- 鏂板 椤圭洰绀轰緥鍦板潃
-## 1.0.7锛�2021-05-06锛�
-- 淇 uni-steps 妯悜甯冨眬鏃讹紝澶氳鏂囧瓧楂樺害涓嶅悎鐞嗙殑 bug
-## 1.0.6锛�2021-04-21锛�
-- 浼樺寲 娣诲姞渚濊禆 uni-icons, 瀵煎叆鍚庤嚜鍔ㄤ笅杞戒緷璧�
-## 1.0.5锛�2021-02-05锛�
-- 浼樺寲 缁勪欢寮曠敤鍏崇郴锛岄�氳繃uni_modules寮曠敤缁勪欢
-
-## 1.0.4锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-steps/components/uni-steps/uni-steps.vue b/src/uni_modules/uni-steps/components/uni-steps/uni-steps.vue
deleted file mode 100644
index a6c8f28..0000000
--- a/src/uni_modules/uni-steps/components/uni-steps/uni-steps.vue
+++ /dev/null
@@ -1,269 +0,0 @@
-<template>
-	<view class="uni-steps">
-		<view :class="[direction==='column'?'uni-steps__column':'uni-steps__row']">
-			<view :class="[direction==='column'?'uni-steps__column-text-container':'uni-steps__row-text-container']">
-				<view v-for="(item,index) in options" :key="index"
-					:class="[direction==='column'?'uni-steps__column-text':'uni-steps__row-text']">
-					<text :style="{color:index === active?activeColor:deactiveColor}"
-						:class="[direction==='column'?'uni-steps__column-title':'uni-steps__row-title']">{{item.title}}</text>
-					<text :style="{color: deactiveColor}"
-						:class="[direction==='column'?'uni-steps__column-desc':'uni-steps__row-desc']">{{item.desc}}</text>
-				</view>
-			</view>
-			<view :class="[direction==='column'?'uni-steps__column-container':'uni-steps__row-container']">
-				<view :class="[direction==='column'?'uni-steps__column-line-item':'uni-steps__row-line-item']"
-					v-for="(item,index) in options" :key="index">
-					<view
-						:class="[direction==='column'?'uni-steps__column-line':'uni-steps__row-line',direction==='column'?'uni-steps__column-line--before':'uni-steps__row-line--before']"
-						:style="{backgroundColor:index<=active&&index!==0?activeColor:index===0?'transparent':deactiveColor}">
-					</view>
-					<view :class="[direction==='column'?'uni-steps__column-check':'uni-steps__row-check']"
-						v-if="index === active">
-						<uni-icons :color="activeColor" :type="activeIcon" size="14"></uni-icons>
-					</view>
-					<view v-else :class="[direction==='column'?'uni-steps__column-circle':'uni-steps__row-circle']"
-						:style="{backgroundColor:index<active?activeColor:deactiveColor}"></view>
-					<view
-						:class="[direction==='column'?'uni-steps__column-line':'uni-steps__row-line',direction==='column'?'uni-steps__column-line--after':'uni-steps__row-line--after']"
-						:style="{backgroundColor:index<active&&index!==options.length-1?activeColor:index===options.length-1?'transparent':deactiveColor}">
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	/**
-	 * Steps 姝ラ鏉�
-	 * @description 璇勫垎缁勪欢
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=34
-	 * @property {Number} active 褰撳墠姝ラ
-	 * @property {String} direction = [row|column] 褰撳墠姝ラ
-	 * 	@value row 妯悜
-	 * 	@value column 绾靛悜
-	 * @property {String} activeColor 閫変腑鐘舵�佺殑棰滆壊
-	 * @property {Array} options 鏁版嵁婧愶紝鏍煎紡涓猴細[{title:'xxx',desc:'xxx'},{title:'xxx',desc:'xxx'}]
-	 */
-
-	export default {
-		name: 'UniSteps',
-		props: {
-			direction: {
-				// 鎺掑垪鏂瑰悜 row column
-				type: String,
-				default: 'row'
-			},
-			activeColor: {
-				// 婵�娲荤姸鎬侀鑹�
-				type: String,
-				default: '#2979FF'
-			},
-			deactiveColor: {
-				// 鏈縺娲荤姸鎬侀鑹�
-				type: String,
-				default: '#B7BDC6'
-			},
-			active: {
-				// 褰撳墠姝ラ
-				type: Number,
-				default: 0
-			},
-			activeIcon: {
-				// 褰撳墠姝ラ
-				type: String,
-				default: 'checkbox-filled'
-			},
-			options: {
-				type: Array,
-				default () {
-					return []
-				}
-			} // 鏁版嵁
-		},
-		data() {
-			return {}
-		}
-	}
-</script>
-
-<style lang="scss">
-	$uni-primary: #2979ff !default;
-	$uni-border-color:#EDEDED;
-	.uni-steps {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		width: 100%;
-		/* #endif */
-		/* #ifdef APP-NVUE */
-		flex: 1;
-		/* #endif */
-		flex-direction: column;
-	}
-
-	.uni-steps__row {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-	}
-
-	.uni-steps__column {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row-reverse;
-	}
-
-	.uni-steps__row-text-container {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: flex-end;
-		margin-bottom: 8px;
-	}
-
-	.uni-steps__column-text-container {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		flex: 1;
-	}
-
-	.uni-steps__row-text {
-		/* #ifndef APP-NVUE */
-		display: inline-flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: column;
-	}
-
-	.uni-steps__column-text {
-		padding: 6px 0px;
-		border-bottom-style: solid;
-		border-bottom-width: 1px;
-		border-bottom-color: $uni-border-color;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-	}
-
-	.uni-steps__row-title {
-		font-size: 14px;
-		line-height: 16px;
-		text-align: center;
-	}
-
-	.uni-steps__column-title {
-		font-size: 14px;
-		text-align: left;
-		line-height: 18px;
-	}
-
-	.uni-steps__row-desc {
-		font-size: 12px;
-		line-height: 14px;
-		text-align: center;
-	}
-
-	.uni-steps__column-desc {
-		font-size: 12px;
-		text-align: left;
-		line-height: 18px;
-	}
-
-	.uni-steps__row-container {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-	}
-
-	.uni-steps__column-container {
-		/* #ifndef APP-NVUE */
-		display: inline-flex;
-		/* #endif */
-		width: 30px;
-		flex-direction: column;
-	}
-
-	.uni-steps__row-line-item {
-		/* #ifndef APP-NVUE */
-		display: inline-flex;
-		/* #endif */
-		flex-direction: row;
-		flex: 1;
-		height: 14px;
-		line-height: 14px;
-		align-items: center;
-		justify-content: center;
-	}
-
-	.uni-steps__column-line-item {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		flex: 1;
-		align-items: center;
-		justify-content: center;
-	}
-
-	.uni-steps__row-line {
-		flex: 1;
-		height: 1px;
-		background-color: #B7BDC6;
-	}
-
-	.uni-steps__column-line {
-		width: 1px;
-		background-color: #B7BDC6;
-	}
-
-	.uni-steps__row-line--after {
-		transform: translateX(1px);
-	}
-
-	.uni-steps__column-line--after {
-		flex: 1;
-		transform: translate(0px, 1px);
-	}
-
-	.uni-steps__row-line--before {
-		transform: translateX(-1px);
-	}
-
-	.uni-steps__column-line--before {
-		height: 6px;
-		transform: translate(0px, -13px);
-	}
-
-	.uni-steps__row-circle {
-		width: 5px;
-		height: 5px;
-		border-radius: 50%;
-		background-color: #B7BDC6;
-		margin: 0px 3px;
-	}
-
-	.uni-steps__column-circle {
-		width: 5px;
-		height: 5px;
-		border-radius: 50%;
-		background-color: #B7BDC6;
-		margin: 4px 0px 5px 0px;
-	}
-
-	.uni-steps__row-check {
-		margin: 0px 6px;
-	}
-
-	.uni-steps__column-check {
-		height: 14px;
-		line-height: 14px;
-		margin: 2px 0px;
-	}
-</style>
diff --git a/src/uni_modules/uni-steps/package.json b/src/uni_modules/uni-steps/package.json
deleted file mode 100644
index c687b40..0000000
--- a/src/uni_modules/uni-steps/package.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
-  "id": "uni-steps",
-  "displayName": "uni-steps 姝ラ鏉�",
-  "version": "1.1.1",
-  "description": "姝ラ鏉$粍浠讹紝鎻愪緵妯悜鍜岀旱鍚戜袱绉嶅竷灞�鏍煎紡銆�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "姝ラ鏉�",
-    "鏃堕棿杞�"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": [
-			"uni-scss",
-			"uni-icons"
-		],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-steps/readme.md b/src/uni_modules/uni-steps/readme.md
deleted file mode 100644
index da7a4bf..0000000
--- a/src/uni_modules/uni-steps/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-## Steps 姝ラ鏉�
-> **缁勪欢鍚嶏細uni-steps**
-> 浠g爜鍧楋細 `uSteps`
-
-
-姝ラ鏉★紝甯哥敤浜庢樉绀鸿繘搴�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-steps)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
-
-
diff --git a/src/uni_modules/uni-swipe-action/changelog.md b/src/uni_modules/uni-swipe-action/changelog.md
deleted file mode 100644
index c007cb5..0000000
--- a/src/uni_modules/uni-swipe-action/changelog.md
+++ /dev/null
@@ -1,41 +0,0 @@
-## 1.3.7锛�2022-06-06锛�
-- 淇 vue3 涓嬩娇鐢ㄧ粍浠朵笉鑳芥甯歌繍琛岀殑Bug
-## 1.3.6锛�2022-05-31锛�
-- 淇 h5绔偣鍑籧lick瑙﹀彂涓ゆ鐨凚ug
-## 1.3.5锛�2022-05-23锛�
-- 淇 isPC 鎵句笉鍒扮殑Bug
-## 1.3.4锛�2022-05-19锛�
--  淇 鍦� nvue 涓� disabled 澶辨晥鐨刡ug
-## 1.3.3锛�2022-03-31锛�
-- 淇 鎸夐挳瀛椾綋澶у皬涓嶈兘璁剧疆鐨刡ug
-## 1.3.2锛�2022-03-16锛�
-- 淇 h5鍜宎pp绔笅鎶l閿欒鐨刡ug
-## 1.3.1锛�2022-03-07锛�
-- 淇 HBuilderX 1.4.X 鐗堟湰涓紝h5鍜宎pp绔笅鎶ラ敊鐨刡ug
-## 1.3.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-swipe-action](https://uniapp.dcloud.io/component/uniui/uni-swipe-action)
-## 1.2.4锛�2021-08-20锛�
-- 浼樺寲 close-all 鏂规硶
-## 1.2.3锛�2021-08-20锛�
-- 鏂板 close-all 鏂规硶锛屽叧闂墍鏈夊凡鎵撳紑鐨勭粍浠�
-## 1.2.2锛�2021-08-17锛�
-- 鏂板 resize() 鏂规硶锛屽湪闈炲井淇″皬绋嬪簭銆乭5銆乤pp-vue绔嚭鐜颁笉鑳芥粦鍔ㄧ殑闂鐨勬椂鍊欙紝閲嶇疆缁勪欢
-- 淇 app 绔伓灏斿嚭鐜扮被浼� Page[x][-x,xx;-x,xx,x,x-x] 鐨勯棶棰� 
-- 浼樺寲 寰俊灏忕▼搴忋�乭5銆乤pp-vue 婊戝姩閫昏緫锛岄伩鍏嶅嚭鐜板姩鎬佹柊澧炵粍浠跺悗涓嶈兘婊戝姩鐨勯棶棰�
-## 1.2.1锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-- 淇 璺ㄩ〉闈慨鏀圭粍浠舵暟鎹� 锛屽鑷翠笉鑳芥粦鍔ㄧ殑闂
-## 1.1.10锛�2021-06-17锛�
-- 淇 鎸夐挳鐐瑰嚮鎵ц涓ゆ鐨刡ug
-## 1.1.9锛�2021-05-12锛�
-- 鏂板 椤圭洰绀轰緥鍦板潃
-## 1.1.8锛�2021-03-26锛�
-- 淇 寰俊灏忕▼搴� nv_navigator is not defined 鎶ラ敊鐨刡ug
-## 1.1.7锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 鏂板 宸︿晶婊戝姩
-- 鏂板 鎻掓Ы浣跨敤鏂瑰紡
-- 鏂板 threshold 灞炴�э紝鍙互鎺у埗婊戝姩缂虹渷鍊�
-- 浼樺寲 闀垮垪琛ㄦ粴鍔ㄦ�ц兘
-- 淇 婊氬姩椤甸潰鏃惰Е鍙戠粍浠舵粦鍔ㄧ殑Bug
diff --git a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js b/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js
deleted file mode 100644
index 755c97c..0000000
--- a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/bindingx.js
+++ /dev/null
@@ -1,302 +0,0 @@
-let bindIngXMixins = {}
-
-// #ifdef APP-NVUE
-const BindingX = uni.requireNativePlugin('bindingx');
-const dom = uni.requireNativePlugin('dom');
-const animation = uni.requireNativePlugin('animation');
-
-bindIngXMixins = {
-	data() {
-		return {}
-	},
-
-	watch: {
-		show(newVal) {
-			if (this.autoClose) return
-			if (this.stop) return
-			this.stop = true
-			if (newVal) {
-				this.open(newVal)
-			} else {
-				this.close()
-			}
-		},
-		leftOptions() {
-			this.getSelectorQuery()
-			this.init()
-		},
-		rightOptions(newVal) {
-			this.init()
-		}
-	},
-	created() {
-		this.swipeaction = this.getSwipeAction()
-		if (this.swipeaction.children !== undefined) {
-			this.swipeaction.children.push(this)
-		}
-	},
-	mounted() {
-		this.box = this.getEl(this.$refs['selector-box--hock'])
-		this.selector = this.getEl(this.$refs['selector-content--hock']);
-		this.leftButton = this.getEl(this.$refs['selector-left-button--hock']);
-		this.rightButton = this.getEl(this.$refs['selector-right-button--hock']);
-		this.init()
-	},
-	// beforeDestroy() {
-	// 	this.swipeaction.children.forEach((item, index) => {
-	// 		if (item === this) {
-	// 			this.swipeaction.children.splice(index, 1)
-	// 		}
-	// 	})
-	// },
-	methods: {
-		init() {
-			this.$nextTick(() => {
-				this.x = 0
-				this.button = {
-					show: false
-				}
-				setTimeout(() => {
-					this.getSelectorQuery()
-				}, 200)
-			})
-		},
-		onClick(index, item, position) {
-			this.$emit('click', {
-				content: item,
-				index,
-				position
-			})
-		},
-		touchstart(e) {
-			// fix by mehaotian 绂佹婊戝姩
-			if (this.disabled) return
-			// 姣忔鍙Е鍙戜竴娆★紝閬垮厤澶氭鐩戝惉閫犳垚闂儊
-			if (this.stop) return
-			this.stop = true
-			if (this.autoClose) {
-				this.swipeaction.closeOther(this)
-			}
-
-			const leftWidth = this.button.left.width
-			const rightWidth = this.button.right.width
-			let expression = this.range(this.x, -rightWidth, leftWidth)
-			let leftExpression = this.range(this.x - leftWidth, -leftWidth, 0)
-			let rightExpression = this.range(this.x + rightWidth, 0, rightWidth)
-
-			this.eventpan = BindingX.bind({
-				anchor: this.box,
-				eventType: 'pan',
-				props: [{
-					element: this.selector,
-					property: 'transform.translateX',
-					expression
-				}, {
-					element: this.leftButton,
-					property: 'transform.translateX',
-					expression: leftExpression
-				}, {
-					element: this.rightButton,
-					property: 'transform.translateX',
-					expression: rightExpression
-				}, ]
-			}, (e) => {
-				// nope
-				if (e.state === 'end') {
-					this.x = e.deltaX + this.x;
-					this.isclick = true
-					this.bindTiming(e.deltaX)
-				}
-			});
-		},
-		touchend(e) {
-			if (this.isopen !== 'none' && !this.isclick) {
-				this.open('none')
-			}
-		},
-		bindTiming(x) {
-			const left = this.x
-			const leftWidth = this.button.left.width
-			const rightWidth = this.button.right.width
-			const threshold = this.threshold
-			if (!this.isopen || this.isopen === 'none') {
-				if (left > threshold) {
-					this.open('left')
-				} else if (left < -threshold) {
-					this.open('right')
-				} else {
-					this.open('none')
-				}
-			} else {
-				if ((x > -leftWidth && x < 0) || x > rightWidth) {
-					if ((x > -threshold && x < 0) || (x - rightWidth > threshold)) {
-						this.open('left')
-					} else {
-						this.open('none')
-					}
-				} else {
-					if ((x < threshold && x > 0) || (x + leftWidth < -threshold)) {
-						this.open('right')
-					} else {
-						this.open('none')
-					}
-				}
-			}
-		},
-
-		/**
-		 * 绉诲姩鑼冨洿
-		 * @param {Object} num
-		 * @param {Object} mix
-		 * @param {Object} max
-		 */
-		range(num, mix, max) {
-			return `min(max(x+${num}, ${mix}), ${max})`
-		},
-
-		/**
-		 * 寮�鍚痵wipe
-		 */
-		open(type) {
-			this.animation(type)
-		},
-
-		/**
-		 * 鍏抽棴swipe
-		 */
-		close() {
-			this.animation('none')
-		},
-
-		/**
-		 * 寮�鍚叧闂姩鐢�
-		 * @param {Object} type
-		 */
-		animation(type) {
-			const time = 300
-			const leftWidth = this.button.left.width
-			const rightWidth = this.button.right.width
-			if (this.eventpan && this.eventpan.token) {
-				BindingX.unbind({
-					token: this.eventpan.token,
-					eventType: 'pan'
-				})
-			}
-
-			switch (type) {
-				case 'left':
-					Promise.all([
-						this.move(this.selector, leftWidth),
-						this.move(this.leftButton, 0),
-						this.move(this.rightButton, rightWidth * 2)
-					]).then(() => {
-						this.setEmit(leftWidth, type)
-					})
-					break
-				case 'right':
-					Promise.all([
-						this.move(this.selector, -rightWidth),
-						this.move(this.leftButton, -leftWidth * 2),
-						this.move(this.rightButton, 0)
-					]).then(() => {
-						this.setEmit(-rightWidth, type)
-					})
-					break
-				default:
-					Promise.all([
-						this.move(this.selector, 0),
-						this.move(this.leftButton, -leftWidth),
-						this.move(this.rightButton, rightWidth)
-					]).then(() => {
-						this.setEmit(0, type)
-					})
-
-			}
-		},
-		setEmit(x, type) {
-			const leftWidth = this.button.left.width
-			const rightWidth = this.button.right.width
-			this.isopen = this.isopen || 'none'
-			this.stop = false
-			this.isclick = false
-			// 鍙湁鐘舵�佷笉涓�鑷存墠浼氳繑鍥炵粨鏋�
-			if (this.isopen !== type && this.x !== x) {
-				if (type === 'left' && leftWidth > 0) {
-					this.$emit('change', 'left')
-				}
-				if (type === 'right' && rightWidth > 0) {
-					this.$emit('change', 'right')
-				}
-				if (type === 'none') {
-					this.$emit('change', 'none')
-				}
-			}
-			this.x = x
-			this.isopen = type
-		},
-		move(ref, value) {
-			return new Promise((resolve, reject) => {
-				animation.transition(ref, {
-					styles: {
-						transform: `translateX(${value})`,
-					},
-					duration: 150, //ms
-					timingFunction: 'linear',
-					needLayout: false,
-					delay: 0 //ms
-				}, function(res) {
-					resolve(res)
-				})
-			})
-
-		},
-
-		/**
-		 * 鑾峰彇ref
-		 * @param {Object} el
-		 */
-		getEl(el) {
-			return el.ref
-		},
-		/**
-		 * 鑾峰彇鑺傜偣淇℃伅
-		 */
-		getSelectorQuery() {
-			Promise.all([
-				this.getDom('left'),
-				this.getDom('right'),
-			]).then((data) => {
-				let show = 'none'
-				if (this.autoClose) {
-					show = 'none'
-				} else {
-					show = this.show
-				}
-
-				if (show === 'none') {
-					// this.close()
-				} else {
-					this.open(show)
-				}
-
-			})
-
-		},
-		getDom(str) {
-			return new Promise((resolve, reject) => {
-				dom.getComponentRect(this.$refs[`selector-${str}-button--hock`], (data) => {
-					if (data) {
-						this.button[str] = data.size
-						resolve(data)
-					} else {
-						reject()
-					}
-				})
-			})
-		}
-	}
-}
-
-// #endif
-
-export default bindIngXMixins
diff --git a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js b/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js
deleted file mode 100644
index 917cb48..0000000
--- a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js
+++ /dev/null
@@ -1,12 +0,0 @@
-export function isPC() {
-	var userAgentInfo = navigator.userAgent;
-	var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
-	var flag = true;
-	for (let v = 0; v < Agents.length - 1; v++) {
-		if (userAgentInfo.indexOf(Agents[v]) > 0) {
-			flag = false;
-			break;
-		}
-	}
-	return flag;
-}
diff --git a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js b/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js
deleted file mode 100644
index 43cd56b..0000000
--- a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpalipay.js
+++ /dev/null
@@ -1,193 +0,0 @@
-export default {
-	data() {
-		return {
-			x: 0,
-			transition: false,
-			width: 0,
-			viewWidth: 0,
-			swipeShow: 0
-		}
-	},
-	watch: {
-		show(newVal) {
-			if (this.autoClose) return
-			if (newVal && newVal !== 'none') {
-				this.transition = true
-				this.open(newVal)
-			} else {
-				this.close()
-			}
-		}
-	},
-	created() {
-		this.swipeaction = this.getSwipeAction()
-		if (this.swipeaction.children !== undefined) {
-			this.swipeaction.children.push(this)
-		}
-	},
-	mounted() {
-		this.isopen = false
-		setTimeout(() => {
-			this.getQuerySelect()
-		}, 50)
-	},
-	methods: {
-		appTouchStart(e) {
-			const {
-				clientX
-			} = e.changedTouches[0]
-			this.clientX = clientX
-			this.timestamp = new Date().getTime()
-		},
-		appTouchEnd(e, index, item, position) {
-			const {
-				clientX
-			} = e.changedTouches[0]
-			// fixed by xxxx 妯℃嫙鐐瑰嚮浜嬩欢锛岃В鍐� ios 13 鐐瑰嚮鍖哄煙閿欎綅鐨勯棶棰�
-			let diff = Math.abs(this.clientX - clientX)
-			let time = (new Date().getTime()) - this.timestamp
-			if (diff < 40 && time < 300) {
-				this.$emit('click', {
-					content: item,
-					index,
-					position
-				})
-			}
-		},
-		/**
-		 * 绉诲姩瑙﹀彂
-		 * @param {Object} e
-		 */
-		onChange(e) {
-			this.moveX = e.detail.x
-			this.isclose = false
-		},
-		touchstart(e) {
-			this.transition = false
-			this.isclose = true
-			this.autoClose && this.swipeaction.closeOther(this)
-		},
-		touchmove(e) {},
-		touchend(e) {
-			// 0鐨勪綅缃粈涔堥兘涓嶆墽琛�
-			if (this.isclose && this.isopen === 'none') return
-			if (this.isclose && this.isopen !== 'none') {
-				this.transition = true
-				this.close()
-			} else {
-				this.move(this.moveX + this.leftWidth)
-			}
-		},
-
-		/**
-		 * 绉诲姩
-		 * @param {Object} moveX
-		 */
-		move(moveX) {
-			// 鎵撳紑鍏抽棴鐨勫鐞嗛�昏緫涓嶅お涓�鏍�
-			this.transition = true
-			// 鏈墦寮�鐘舵��
-			if (!this.isopen || this.isopen === 'none') {
-				if (moveX > this.threshold) {
-					this.open('left')
-				} else if (moveX < -this.threshold) {
-					this.open('right')
-				} else {
-					this.close()
-				}
-			} else {
-				if (moveX < 0 && moveX < this.rightWidth) {
-					const rightX = this.rightWidth + moveX
-					if (rightX < this.threshold) {
-						this.open('right')
-					} else {
-						this.close()
-					}
-				} else if (moveX > 0 && moveX < this.leftWidth) {
-					const leftX = this.leftWidth - moveX
-					if (leftX < this.threshold) {
-						this.open('left')
-					} else {
-						this.close()
-					}
-				}
-
-			}
-
-		},
-
-		/**
-		 * 鎵撳紑
-		 */
-		open(type) {
-			this.x = this.moveX
-			this.animation(type)
-		},
-
-		/**
-		 * 鍏抽棴
-		 */
-		close() {
-			this.x = this.moveX
-			// TODO 瑙e喅 x 鍊间笉鏇存柊鐨勯棶棰橈紝鎵�浠ヤ細澶氳Е鍙戜竴娆� nextTick 锛屽緟浼樺寲
-			this.$nextTick(() => {
-				this.x = -this.leftWidth
-				if (this.isopen !== 'none') {
-					this.$emit('change', 'none')
-				}
-				this.isopen = 'none'
-			})
-		},
-
-		/**
-		 * 鎵ц缁撴潫鍔ㄧ敾
-		 * @param {Object} type
-		 */
-		animation(type) {
-			this.$nextTick(() => {
-				if (type === 'left') {
-					this.x = 0
-				} else {
-					this.x = -this.rightWidth - this.leftWidth
-				}
-
-				if (this.isopen !== type) {
-					this.$emit('change', type)
-				}
-				this.isopen = type
-			})
-
-		},
-		getSlide(x) {},
-		getQuerySelect() {
-			const query = uni.createSelectorQuery().in(this);
-			query.selectAll('.movable-view--hock').boundingClientRect(data => {
-				this.leftWidth = data[1].width
-				this.rightWidth = data[2].width
-				this.width = data[0].width
-				this.viewWidth = this.width + this.rightWidth + this.leftWidth
-				if (this.leftWidth === 0) {
-					// TODO 鐤戜技bug ,鍒濆鍖栫殑鏃跺�欏鏋渪 鏄�0锛屼細瀵艰嚧绉诲姩浣嶇疆閿欒锛屾墍浠ヨ鍏冪礌瓒呭嚭涓�鐐�
-					this.x = -0.1
-				} else {
-					this.x = -this.leftWidth
-				}
-				this.moveX = this.x
-				this.$nextTick(() => {
-					this.swipeShow = 1
-				})
-
-				if (!this.buttonWidth) {
-					this.disabledView = true
-				}
-
-				if (this.autoClose) return
-				if (this.show !== 'none') {
-					this.transition = true
-					this.open(this.shows)
-				}
-			}).exec();
-
-		}
-	}
-}
diff --git a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js b/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js
deleted file mode 100644
index 9a8bcbb..0000000
--- a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpother.js
+++ /dev/null
@@ -1,259 +0,0 @@
-let otherMixins = {}
-
-// #ifndef APP-PLUS|| MP-WEIXIN  ||  H5
-const MIN_DISTANCE = 10;
-otherMixins = {
-	data() {
-		// TODO 闅忔満鐢熺敓鍏冪礌ID锛岃В鍐崇櫨搴﹀皬绋嬪簭鑾峰彇鍚屼竴涓厓绱犱綅缃俊鎭殑bug
-		const elClass = `Uni_${Math.ceil(Math.random() * 10e5).toString(36)}`
-		return {
-			uniShow: false,
-			left: 0,
-			buttonShow: 'none',
-			ani: false,
-			moveLeft: '',
-			elClass
-		}
-	},
-	watch: {
-		show(newVal) {
-			if (this.autoClose) return
-			this.openState(newVal)
-		},
-		left() {
-			this.moveLeft = `translateX(${this.left}px)`
-		},
-		buttonShow(newVal) {
-			if (this.autoClose) return
-			this.openState(newVal)
-		},
-		leftOptions() {
-			this.init()
-		},
-		rightOptions() {
-			this.init()
-		}
-	},
-	mounted() {
-		this.swipeaction = this.getSwipeAction()
-		if (this.swipeaction.children !== undefined) {
-			this.swipeaction.children.push(this)
-		}
-		this.init()
-	},
-	methods: {
-		init() {
-			clearTimeout(this.timer)
-			this.timer = setTimeout(() => {
-				this.getSelectorQuery()
-			}, 100)
-			// 绉诲姩璺濈
-			this.left = 0
-			this.x = 0
-		},
-
-		closeSwipe(e) {
-			if (!this.autoClose) return
-			this.swipeaction.closeOther(this)
-		},
-		appTouchStart(e) {
-			const {
-				clientX
-			} = e.changedTouches[0]
-			this.clientX = clientX
-			this.timestamp = new Date().getTime()
-		},
-		appTouchEnd(e, index, item, position) {
-			const {
-				clientX
-			} = e.changedTouches[0]
-			// fixed by xxxx 妯℃嫙鐐瑰嚮浜嬩欢锛岃В鍐� ios 13 鐐瑰嚮鍖哄煙閿欎綅鐨勯棶棰�
-			let diff = Math.abs(this.clientX - clientX)
-			let time = (new Date().getTime()) - this.timestamp
-			if (diff < 40 && time < 300) {
-				this.$emit('click', {
-					content: item,
-					index,
-					position
-				})
-			}
-		},
-		touchstart(e) {
-			if (this.disabled) return
-			this.ani = false
-			this.x = this.left || 0
-			this.stopTouchStart(e)
-			this.autoClose && this.closeSwipe()
-		},
-		touchmove(e) {
-			if (this.disabled) return
-			// 鏄惁鍙互婊戝姩椤甸潰
-			this.stopTouchMove(e);
-			if (this.direction !== 'horizontal') {
-				return;
-			}
-			this.move(this.x + this.deltaX)
-			return false
-		},
-		touchend() {
-			if (this.disabled) return
-			this.moveDirection(this.left)
-		},
-		/**
-		 * 璁剧疆绉诲姩璺濈
-		 * @param {Object} value
-		 */
-		move(value) {
-			value = value || 0
-			const leftWidth = this.leftWidth
-			const rightWidth = this.rightWidth
-			// 鑾峰彇鍙粦鍔ㄨ寖鍥�
-			this.left = this.range(value, -rightWidth, leftWidth);
-		},
-
-		/**
-		 * 鑾峰彇鑼冨洿
-		 * @param {Object} num
-		 * @param {Object} min
-		 * @param {Object} max
-		 */
-		range(num, min, max) {
-			return Math.min(Math.max(num, min), max);
-		},
-		/**
-		 * 绉诲姩鏂瑰悜鍒ゆ柇
-		 * @param {Object} left
-		 * @param {Object} value
-		 */
-		moveDirection(left) {
-			const threshold = this.threshold
-			const isopen = this.isopen || 'none'
-			const leftWidth = this.leftWidth
-			const rightWidth = this.rightWidth
-			if (this.deltaX === 0) {
-				this.openState('none')
-				return
-			}
-			if ((isopen === 'none' && rightWidth > 0 && -left > threshold) || (isopen !== 'none' && rightWidth >
-					0 && rightWidth +
-					left < threshold)) {
-				// right
-				this.openState('right')
-			} else if ((isopen === 'none' && leftWidth > 0 && left > threshold) || (isopen !== 'none' && leftWidth >
-					0 &&
-					leftWidth - left < threshold)) {
-				// left
-				this.openState('left')
-			} else {
-				// default
-				this.openState('none')
-			}
-		},
-
-		/**
-		 * 寮�鍚姸鎬�
-		 * @param {Boolean} type
-		 */
-		openState(type) {
-			const leftWidth = this.leftWidth
-			const rightWidth = this.rightWidth
-			let left = ''
-			this.isopen = this.isopen ? this.isopen : 'none'
-			switch (type) {
-				case "left":
-					left = leftWidth
-					break
-				case "right":
-					left = -rightWidth
-					break
-				default:
-					left = 0
-			}
-
-
-			if (this.isopen !== type) {
-				this.throttle = true
-				this.$emit('change', type)
-			}
-
-			this.isopen = type
-			// 娣诲姞鍔ㄧ敾绫�
-			this.ani = true
-			this.$nextTick(() => {
-				this.move(left)
-			})
-			// 璁剧疆鏈�缁堢Щ鍔ㄤ綅缃�,鐞嗚涓婂彧瑕佽繘鍏ュ埌杩欎釜鍑芥暟锛岃偗瀹氭槸瑕佹墦寮�鐨�
-		},
-		close() {
-			this.openState('none')
-		},
-		getDirection(x, y) {
-			if (x > y && x > MIN_DISTANCE) {
-				return 'horizontal';
-			}
-			if (y > x && y > MIN_DISTANCE) {
-				return 'vertical';
-			}
-			return '';
-		},
-
-		/**
-		 * 閲嶇疆婊戝姩鐘舵��
-		 * @param {Object} event
-		 */
-		resetTouchStatus() {
-			this.direction = '';
-			this.deltaX = 0;
-			this.deltaY = 0;
-			this.offsetX = 0;
-			this.offsetY = 0;
-		},
-
-		/**
-		 * 璁剧疆婊戝姩寮�濮嬩綅缃�
-		 * @param {Object} event
-		 */
-		stopTouchStart(event) {
-			this.resetTouchStatus();
-			const touch = event.touches[0];
-			this.startX = touch.clientX;
-			this.startY = touch.clientY;
-		},
-
-		/**
-		 * 婊戝姩涓紝鏄惁绂佹鎵撳紑
-		 * @param {Object} event
-		 */
-		stopTouchMove(event) {
-			const touch = event.touches[0];
-			this.deltaX = touch.clientX - this.startX;
-			this.deltaY = touch.clientY - this.startY;
-			this.offsetX = Math.abs(this.deltaX);
-			this.offsetY = Math.abs(this.deltaY);
-			this.direction = this.direction || this.getDirection(this.offsetX, this.offsetY);
-		},
-
-		getSelectorQuery() {
-			const views = uni.createSelectorQuery().in(this)
-			views
-				.selectAll('.' + this.elClass)
-				.boundingClientRect(data => {
-					if (data.length === 0) return
-					let show = 'none'
-					if (this.autoClose) {
-						show = 'none'
-					} else {
-						show = this.show
-					}
-					this.leftWidth = data[0].width || 0
-					this.rightWidth = data[1].width || 0
-					this.buttonShow = show
-				})
-				.exec()
-		}
-	}
-}
-
-// #endif
-
-export default otherMixins
diff --git a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js b/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js
deleted file mode 100644
index 435e0fb..0000000
--- a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js
+++ /dev/null
@@ -1,83 +0,0 @@
-let mpMixins = {}
-let is_pc = null
-// #ifdef H5
-import {
-	isPC
-} from "./isPC"
-is_pc = isPC()
-// #endif
-// #ifdef APP-VUE|| MP-WEIXIN || H5
-
-mpMixins = {
-	data() {
-		return {
-			is_show: 'none'
-		}
-	},
-	watch: {
-		show(newVal) {
-			this.is_show = this.show
-		}
-	},
-	created() {
-		this.swipeaction = this.getSwipeAction()
-		if (this.swipeaction.children !== undefined) {
-			this.swipeaction.children.push(this)
-		}
-	},
-	mounted() {
-		this.is_show = this.show
-	},
-	methods: {
-		// wxs 涓皟鐢�
-		closeSwipe(e) {
-			if (!this.autoClose) return
-			this.swipeaction.closeOther(this)
-		},
-
-		change(e) {
-			this.$emit('change', e.open)
-			if (this.is_show !== e.open) {
-				this.is_show = e.open
-			}
-		},
-
-		appTouchStart(e) {
-			if (is_pc) return
-			const {
-				clientX
-			} = e.changedTouches[0]
-			this.clientX = clientX
-			this.timestamp = new Date().getTime()
-		},
-		appTouchEnd(e, index, item, position) {
-			if (is_pc) return
-			const {
-				clientX
-			} = e.changedTouches[0]
-			// fixed by xxxx 妯℃嫙鐐瑰嚮浜嬩欢锛岃В鍐� ios 13 鐐瑰嚮鍖哄煙閿欎綅鐨勯棶棰�
-			let diff = Math.abs(this.clientX - clientX)
-			let time = (new Date().getTime()) - this.timestamp
-			if (diff < 40 && time < 300) {
-				this.$emit('click', {
-					content: item,
-					index,
-					position
-				})
-			}
-		},
-		onClickForPC(index, item, position) {
-			if (!is_pc) return
-			// #ifdef H5
-			this.$emit('click', {
-				content: item,
-				index,
-				position
-			})
-			// #endif
-		}
-	}
-}
-
-// #endif
-export default mpMixins
diff --git a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js b/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js
deleted file mode 100644
index 78f0ec6..0000000
--- a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/render.js
+++ /dev/null
@@ -1,270 +0,0 @@
-const MIN_DISTANCE = 10;
-export default {
-	showWatch(newVal, oldVal, ownerInstance, instance, self) {
-		var state = self.state
-		var $el = ownerInstance.$el || ownerInstance.$vm && ownerInstance.$vm.$el
-		if (!$el) return
-		this.getDom(instance, ownerInstance, self)
-		if (newVal && newVal !== 'none') {
-			this.openState(newVal, instance, ownerInstance, self)
-			return
-		}
-
-		if (state.left) {
-			this.openState('none', instance, ownerInstance, self)
-		}
-		this.resetTouchStatus(instance, self)
-	},
-
-	/**
-	 * 寮�濮嬭Е鎽告搷浣�
-	 * @param {Object} e
-	 * @param {Object} ins
-	 */
-	touchstart(e, ownerInstance, self) {
-		let instance = e.instance;
-		let disabled = instance.getDataset().disabled
-		let state = self.state;
-		this.getDom(instance, ownerInstance, self)
-		// fix by mehaotian, TODO 鍏煎 app-vue 鑾峰彇dataset涓哄瓧绗︿覆 , h5 鑾峰彇 涓� undefined 鐨勯棶棰�,寰呮鏋朵慨澶�
-		disabled = this.getDisabledType(disabled)
-		if (disabled) return
-		// 寮�濮嬭Е鎽告椂绉婚櫎鍔ㄧ敾绫�
-		instance.requestAnimationFrame(function() {
-			instance.removeClass('ani');
-			ownerInstance.callMethod('closeSwipe');
-		})
-
-		// 璁板綍涓婃鐨勪綅缃�
-		state.x = state.left || 0
-		// 璁$畻婊戝姩寮�濮嬩綅缃�
-		this.stopTouchStart(e, ownerInstance, self)
-	},
-
-	/**
-	 * 寮�濮嬫粦鍔ㄦ搷浣�
-	 * @param {Object} e
-	 * @param {Object} ownerInstance
-	 */
-	touchmove(e, ownerInstance, self) {
-		let instance = e.instance;
-		// 鍒犻櫎涔嬪悗宸茬粡閭d笉鍒板疄渚嬩簡
-		if (!instance) return;
-		let disabled = instance.getDataset().disabled
-		let state = self.state
-		// fix by mehaotian, TODO 鍏煎 app-vue 鑾峰彇dataset涓哄瓧绗︿覆 , h5 鑾峰彇 涓� undefined 鐨勯棶棰�,寰呮鏋朵慨澶�
-		disabled = this.getDisabledType(disabled)
-		if (disabled) return
-		// 鏄惁鍙互婊戝姩椤甸潰
-		this.stopTouchMove(e, self);
-		if (state.direction !== 'horizontal') {
-			return;
-		}
-		if (e.preventDefault) {
-			// 闃绘椤甸潰婊氬姩
-			e.preventDefault()
-		}
-		let x = state.x + state.deltaX
-		this.move(x, instance, ownerInstance, self)
-	},
-
-	/**
-	 * 缁撴潫瑙︽懜鎿嶄綔
-	 * @param {Object} e
-	 * @param {Object} ownerInstance
-	 */
-	touchend(e, ownerInstance, self) {
-		let instance = e.instance;
-		let disabled = instance.getDataset().disabled
-		let state = self.state
-		// fix by mehaotian, TODO 鍏煎 app-vue 鑾峰彇dataset涓哄瓧绗︿覆 , h5 鑾峰彇 涓� undefined 鐨勯棶棰�,寰呮鏋朵慨澶�
-		disabled = this.getDisabledType(disabled)
-
-		if (disabled) return
-		// 婊戝姩杩囩▼涓Е鎽哥粨鏉�,閫氳繃闃欏�煎垽鏂槸寮�鍚繕鏄叧闂�
-		// fixed by mehaotian 瀹氭椂鍣ㄨВ鍐崇偣鍑绘寜閽紝touchend 瑙﹀彂姣� click 浜嬩欢鏃舵満鏃╃殑闂 锛屼富瑕佹槸 ios13
-		this.moveDirection(state.left, instance, ownerInstance, self)
-
-	},
-
-	/**
-	 * 璁剧疆绉诲姩璺濈
-	 * @param {Object} value
-	 * @param {Object} instance
-	 * @param {Object} ownerInstance
-	 */
-	move(value, instance, ownerInstance, self) {
-		value = value || 0
-		let state = self.state
-		let leftWidth = state.leftWidth
-		let rightWidth = state.rightWidth
-		// 鑾峰彇鍙粦鍔ㄨ寖鍥�
-		state.left = this.range(value, -rightWidth, leftWidth);
-		instance.requestAnimationFrame(function() {
-			instance.setStyle({
-				transform: 'translateX(' + state.left + 'px)',
-				'-webkit-transform': 'translateX(' + state.left + 'px)'
-			})
-		})
-
-	},
-
-	/**
-	 * 鑾峰彇鍏冪礌淇℃伅
-	 * @param {Object} instance
-	 * @param {Object} ownerInstance
-	 */
-	getDom(instance, ownerInstance, self) {
-		var state = self.state
-		var $el = ownerInstance.$el || ownerInstance.$vm && ownerInstance.$vm.$el
-		var leftDom = $el.querySelector('.button-group--left')
-		var rightDom = $el.querySelector('.button-group--right')
-
-		state.leftWidth = leftDom.offsetWidth || 0
-		state.rightWidth = rightDom.offsetWidth || 0
-		state.threshold = instance.getDataset().threshold
-	},
-
-	getDisabledType(value) {
-		return (typeof(value) === 'string' ? JSON.parse(value) : value) || false;
-	},
-
-	/**
-	 * 鑾峰彇鑼冨洿
-	 * @param {Object} num
-	 * @param {Object} min
-	 * @param {Object} max
-	 */
-	range(num, min, max) {
-		return Math.min(Math.max(num, min), max);
-	},
-
-
-	/**
-	 * 绉诲姩鏂瑰悜鍒ゆ柇
-	 * @param {Object} left
-	 * @param {Object} value
-	 * @param {Object} ownerInstance
-	 * @param {Object} ins
-	 */
-	moveDirection(left, ins, ownerInstance, self) {
-		var state = self.state
-		var threshold = state.threshold
-		var position = state.position
-		var isopen = state.isopen || 'none'
-		var leftWidth = state.leftWidth
-		var rightWidth = state.rightWidth
-		if (state.deltaX === 0) {
-			this.openState('none', ins, ownerInstance, self)
-			return
-		}
-		if ((isopen === 'none' && rightWidth > 0 && -left > threshold) || (isopen !== 'none' && rightWidth > 0 &&
-				rightWidth +
-				left < threshold)) {
-			// right
-			this.openState('right', ins, ownerInstance, self)
-		} else if ((isopen === 'none' && leftWidth > 0 && left > threshold) || (isopen !== 'none' && leftWidth > 0 &&
-				leftWidth - left < threshold)) {
-			// left
-			this.openState('left', ins, ownerInstance, self)
-		} else {
-			// default
-			this.openState('none', ins, ownerInstance, self)
-		}
-	},
-
-
-	/**
-	 * 寮�鍚姸鎬�
-	 * @param {Boolean} type
-	 * @param {Object} ins
-	 * @param {Object} ownerInstance
-	 */
-	openState(type, ins, ownerInstance, self) {
-		let state = self.state
-		let leftWidth = state.leftWidth
-		let rightWidth = state.rightWidth
-		let left = ''
-		state.isopen = state.isopen ? state.isopen : 'none'
-		switch (type) {
-			case "left":
-				left = leftWidth
-				break
-			case "right":
-				left = -rightWidth
-				break
-			default:
-				left = 0
-		}
-
-		// && !state.throttle
-
-		if (state.isopen !== type) {
-			state.throttle = true
-			ownerInstance.callMethod('change', {
-				open: type
-			})
-
-		}
-
-		state.isopen = type
-		// 娣诲姞鍔ㄧ敾绫�
-		ins.requestAnimationFrame(() => {
-			ins.addClass('ani');
-			this.move(left, ins, ownerInstance, self)
-		})
-	},
-
-
-	getDirection(x, y) {
-		if (x > y && x > MIN_DISTANCE) {
-			return 'horizontal';
-		}
-		if (y > x && y > MIN_DISTANCE) {
-			return 'vertical';
-		}
-		return '';
-	},
-
-	/**
-	 * 閲嶇疆婊戝姩鐘舵��
-	 * @param {Object} event
-	 */
-	resetTouchStatus(instance, self) {
-		let state = self.state;
-		state.direction = '';
-		state.deltaX = 0;
-		state.deltaY = 0;
-		state.offsetX = 0;
-		state.offsetY = 0;
-	},
-
-	/**
-	 * 璁剧疆婊戝姩寮�濮嬩綅缃�
-	 * @param {Object} event
-	 */
-	stopTouchStart(event, ownerInstance, self) {
-		let instance = event.instance;
-		let state = self.state
-		this.resetTouchStatus(instance, self);
-		var touch = event.touches[0];
-		state.startX = touch.clientX;
-		state.startY = touch.clientY;
-	},
-
-	/**
-	 * 婊戝姩涓紝鏄惁绂佹鎵撳紑
-	 * @param {Object} event
-	 */
-	stopTouchMove(event, self) {
-		let instance = event.instance;
-		let state = self.state;
-		let touch = event.touches[0];
-
-		state.deltaX = touch.clientX - state.startX;
-		state.deltaY = touch.clientY - state.startY;
-		state.offsetY = Math.abs(state.deltaY);
-		state.offsetX = Math.abs(state.deltaX);
-		state.direction = state.direction || this.getDirection(state.offsetX, state.offsetY);
-	}
-}
diff --git a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue b/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue
deleted file mode 100644
index d79c297..0000000
--- a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/uni-swipe-action-item.vue
+++ /dev/null
@@ -1,347 +0,0 @@
-<template>
-	<!-- 鍦ㄥ井淇″皬绋嬪簭 app vue绔� h5 浣跨敤wxs 瀹炵幇-->
-	<!-- #ifdef APP-VUE || MP-WEIXIN || H5 -->
-	<view class="uni-swipe">
-		<!--  #ifdef MP-WEIXIN || VUE3 -->
-		<view class="uni-swipe_box" :change:prop="wxsswipe.showWatch" :prop="is_show" :data-threshold="threshold"
-			:data-disabled="disabled" @touchstart="wxsswipe.touchstart" @touchmove="wxsswipe.touchmove"
-			@touchend="wxsswipe.touchend">
-			<!-- #endif -->
-			<!--  #ifndef MP-WEIXIN || VUE3 -->
-			<view class="uni-swipe_box" :change:prop="renderswipe.showWatch" :prop="is_show" :data-threshold="threshold"
-				:data-disabled="disabled+''" @touchstart="renderswipe.touchstart" @touchmove="renderswipe.touchmove"
-				@touchend="renderswipe.touchend">
-				<!-- #endif -->
-				<!-- 鍦ㄥ井淇″皬绋嬪簭 app vue绔� h5 浣跨敤wxs 瀹炵幇-->
-				<view class="uni-swipe_button-group button-group--left">
-					<slot name="left">
-						<view v-for="(item,index) in leftOptions" :key="index" :style="{
-					  backgroundColor: item.style && item.style.backgroundColor ? item.style.backgroundColor : '#C7C6CD'
-					}" class="uni-swipe_button button-hock" @touchstart="appTouchStart"
-							@touchend="appTouchEnd($event,index,item,'left')"
-							@click.stop="onClickForPC(index,item,'left')">
-							<text class="uni-swipe_button-text"
-								:style="{color: item.style && item.style.color ? item.style.color : '#FFFFFF',fontSize: item.style && item.style.fontSize ? item.style.fontSize : '16px'}">{{ item.text }}</text>
-						</view>
-					</slot>
-				</view>
-				<view class="uni-swipe_text--center">
-					<slot></slot>
-				</view>
-				<view class="uni-swipe_button-group button-group--right">
-					<slot name="right">
-						<view v-for="(item,index) in rightOptions" :key="index" :style="{
-					  backgroundColor: item.style && item.style.backgroundColor ? item.style.backgroundColor : '#C7C6CD'
-					}" class="uni-swipe_button button-hock" @touchstart="appTouchStart"
-							@touchend="appTouchEnd($event,index,item,'right')"
-							@click.stop="onClickForPC(index,item,'right')"><text class="uni-swipe_button-text"
-								:style="{color: item.style && item.style.color ? item.style.color : '#FFFFFF',fontSize: item.style && item.style.fontSize ? item.style.fontSize : '16px'}">{{ item.text }}</text>
-						</view>
-					</slot>
-				</view>
-			</view>
-		</view>
-		<!-- #endif -->
-		<!-- app nvue绔� 浣跨敤 bindingx -->
-		<!-- #ifdef APP-NVUE -->
-		<view ref="selector-box--hock" class="uni-swipe" @horizontalpan="touchstart" @touchend="touchend">
-			<view ref='selector-left-button--hock' class="uni-swipe_button-group button-group--left">
-				<slot name="left">
-					<view v-for="(item,index) in leftOptions" :key="index" :style="{
-				  backgroundColor: item.style && item.style.backgroundColor ? item.style.backgroundColor : '#C7C6CD'
-				}" class="uni-swipe_button button-hock" @click.stop="onClick(index,item,'left')"><text
-							class="uni-swipe_button-text"
-							:style="{color: item.style && item.style.color ? item.style.color : '#FFFFFF', fontSize: item.style && item.style.fontSize ? item.style.fontSize : '16px'}">{{ item.text }}</text>
-					</view>
-				</slot>
-			</view>
-			<view ref='selector-right-button--hock' class="uni-swipe_button-group button-group--right">
-				<slot name="right">
-					<view v-for="(item,index) in rightOptions" :key="index" :style="{
-				  backgroundColor: item.style && item.style.backgroundColor ? item.style.backgroundColor : '#C7C6CD'
-				}" class="uni-swipe_button button-hock" @click.stop="onClick(index,item,'right')"><text
-							class="uni-swipe_button-text"
-							:style="{color: item.style && item.style.color ? item.style.color : '#FFFFFF',fontSize: item.style && item.style.fontSize ? item.style.fontSize : '16px'}">{{ item.text }}</text>
-					</view>
-				</slot>
-			</view>
-			<view ref='selector-content--hock' class="uni-swipe_box">
-				<slot></slot>
-			</view>
-		</view>
-		<!-- #endif -->
-		<!-- 鍏朵粬骞冲彴浣跨敤 js 锛岄暱鍒楄〃鎬ц兘鍙兘浼氭湁褰卞搷-->
-		<!-- #ifdef MP-ALIPAY || MP-BAIDU || MP-TOUTIAO || MP-QQ -->
-		<view class="uni-swipe">
-			<view class="uni-swipe_box" @touchstart="touchstart" @touchmove="touchmove" @touchend="touchend"
-				:style="{transform:moveLeft}" :class="{ani:ani}">
-				<view class="uni-swipe_button-group button-group--left" :class="[elClass]">
-					<slot name="left">
-						<view v-for="(item,index) in leftOptions" :key="index" :style="{
-					  backgroundColor: item.style && item.style.backgroundColor ? item.style.backgroundColor : '#C7C6CD',
-					  fontSize: item.style && item.style.fontSize ? item.style.fontSize : '16px'
-					}" class="uni-swipe_button button-hock" @touchstart="appTouchStart"
-							@touchend="appTouchEnd($event,index,item,'left')"><text class="uni-swipe_button-text"
-								:style="{color: item.style && item.style.color ? item.style.color : '#FFFFFF',}">{{ item.text }}</text>
-						</view>
-					</slot>
-				</view>
-				<slot></slot>
-				<view class="uni-swipe_button-group button-group--right" :class="[elClass]">
-					<slot name="right">
-						<view v-for="(item,index) in rightOptions" :key="index" :style="{
-					  backgroundColor: item.style && item.style.backgroundColor ? item.style.backgroundColor : '#C7C6CD',
-					  fontSize: item.style && item.style.fontSize ? item.style.fontSize : '16px'
-					}" @touchstart="appTouchStart" @touchend="appTouchEnd($event,index,item,'right')"
-							class="uni-swipe_button button-hock"><text class="uni-swipe_button-text"
-								:style="{color: item.style && item.style.color ? item.style.color : '#FFFFFF',}">{{ item.text }}</text>
-						</view>
-					</slot>
-				</view>
-			</view>
-		</view>
-		<!-- #endif -->
-
-</template>
-<script src="./wx.wxs" module="wxsswipe" lang="wxs"></script>
-
-<script module="renderswipe" lang="renderjs">
-	import render from './render.js'
-	export default {
-		mounted(e, ins, owner) {
-			this.state = {}
-		},
-		methods: {
-			showWatch(newVal, oldVal, ownerInstance, instance) {
-				render.showWatch(newVal, oldVal, ownerInstance, instance, this)
-			},
-			touchstart(e, ownerInstance) {
-				render.touchstart(e, ownerInstance, this)
-			},
-			touchmove(e, ownerInstance) {
-				render.touchmove(e, ownerInstance, this)
-			},
-			touchend(e, ownerInstance) {
-				render.touchend(e, ownerInstance, this)
-			}
-		}
-	}
-</script>
-<script>
-	import mpwxs from './mpwxs'
-	import bindingx from './bindingx.js'
-	import mpother from './mpother'
-
-	/**
-	 * SwipeActionItem 婊戝姩鎿嶄綔瀛愮粍浠�
-	 * @description 閫氳繃婊戝姩瑙﹀彂閫夐」鐨勫鍣�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=181
-	 * @property {Boolean} show = [left|right锝渘one] 	寮�鍚叧闂粍浠讹紝auto-close = false 鏃剁敓鏁�
-	 * @property {Boolean} disabled = [true|false] 		鏄惁绂佹婊戝姩
-	 * @property {Boolean} autoClose = [true|false] 	婊戝姩鎵撳紑褰撳墠缁勪欢锛屾槸鍚﹀叧闂叾浠栫粍浠�
-	 * @property {Number}  threshold 					婊戝姩缂虹渷鍊�
-	 * @property {Array} leftOptions 					宸︿晶閫夐」鍐呭鍙婃牱寮�
-	 * @property {Array} rgihtOptions 					鍙充晶閫夐」鍐呭鍙婃牱寮�
-	 * @event {Function} click 							鐐瑰嚮閫夐」鎸夐挳鏃惰Е鍙戜簨浠讹紝e = {content,index} 锛宑ontent锛堢偣鍑诲唴瀹癸級銆乮ndex锛堜笅鏍�)
-	 * @event {Function} change 						缁勪欢鎵撳紑鎴栧叧闂椂瑙﹀彂锛宭eft\right\none
-	 */
-
-	export default {
-		mixins: [mpwxs, bindingx, mpother],
-		emits: ['click', 'change'],
-		props: {
-			// 鎺у埗寮�鍏�
-			show: {
-				type: String,
-				default: 'none'
-			},
-
-			// 绂佺敤
-			disabled: {
-				type: Boolean,
-				default: false
-			},
-
-			// 鏄惁鑷姩鍏抽棴
-			autoClose: {
-				type: Boolean,
-				default: true
-			},
-
-			// 婊戝姩缂虹渷璺濈
-			threshold: {
-				type: Number,
-				default: 20
-			},
-
-			// 宸︿晶鎸夐挳鍐呭
-			leftOptions: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-
-			// 鍙充晶鎸夐挳鍐呭
-			rightOptions: {
-				type: Array,
-				default () {
-					return []
-				}
-			}
-
-		},
-		// #ifndef VUE3
-		// TODO vue2
-		destroyed() {
-			if (this.__isUnmounted) return
-			this.uninstall()
-		},
-		// #endif
-		// #ifdef VUE3
-		// TODO vue3
-		unmounted() {
-			this.__isUnmounted = true
-			this.uninstall()
-		},
-		// #endif
-
-		methods: {
-			uninstall() {
-				if (this.swipeaction) {
-					this.swipeaction.children.forEach((item, index) => {
-						if (item === this) {
-							this.swipeaction.children.splice(index, 1)
-						}
-					})
-				}
-			},
-			/**
-			 * 鑾峰彇鐖跺厓绱犲疄渚�
-			 */
-			getSwipeAction(name = 'uniSwipeAction') {
-				let parent = this.$parent;
-				let parentName = parent.$options.name;
-				while (parentName !== name) {
-					parent = parent.$parent;
-					if (!parent) return false;
-					parentName = parent.$options.name;
-				}
-				return parent;
-			}
-		}
-	}
-</script>
-<style lang="scss">
-	.uni-swipe {
-		position: relative;
-		/* #ifndef APP-NVUE */
-		overflow: hidden;
-		/* #endif */
-	}
-
-	.uni-swipe_box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		flex-shrink: 0;
-		// touch-action: none;
-		/* #endif */
-		position: relative;
-	}
-
-	.uni-swipe_content {
-		// border: 1px red solid;
-	}
-
-	.uni-swipe_text--center {
-		width: 100%;
-		/* #ifndef APP-NVUE */
-		cursor: grab;
-		/* #endif */
-	}
-
-	.uni-swipe_button-group {
-		/* #ifndef APP-NVUE */
-		box-sizing: border-box;
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		position: absolute;
-		top: 0;
-		bottom: 0;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-	}
-
-	.button-group--left {
-		left: 0;
-		transform: translateX(-100%)
-	}
-
-	.button-group--right {
-		right: 0;
-		transform: translateX(100%)
-	}
-
-	.uni-swipe_button {
-		/* #ifdef APP-NVUE */
-		flex: 1;
-		/* #endif */
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-	}
-
-	.uni-swipe_button-text {
-		/* #ifndef APP-NVUE */
-		flex-shrink: 0;
-		/* #endif */
-		font-size: 14px;
-	}
-
-	.ani {
-		transition-property: transform;
-		transition-duration: 0.3s;
-		transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
-	}
-
-	/* #ifdef MP-ALIPAY */
-	.movable-area {
-		/* width: 100%; */
-		height: 45px;
-	}
-
-	.movable-view {
-		display: flex;
-		/* justify-content: center; */
-		position: relative;
-		flex: 1;
-		height: 45px;
-		z-index: 2;
-	}
-
-	.movable-view-button {
-		display: flex;
-		flex-shrink: 0;
-		flex-direction: row;
-		height: 100%;
-		background: #C0C0C0;
-	}
-
-	/* .transition {
-		transition: all 0.3s;
-	} */
-
-	.movable-view-box {
-		flex-shrink: 0;
-		height: 100%;
-		background-color: #fff;
-	}
-
-	/* #endif */
-</style>
diff --git a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs b/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs
deleted file mode 100644
index b394244..0000000
--- a/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/wx.wxs
+++ /dev/null
@@ -1,341 +0,0 @@
-var MIN_DISTANCE = 10;
-
-/**
- * 鍒ゆ柇褰撳墠鏄惁涓篐5銆乤pp-vue
- */
-var IS_HTML5 = false
-if (typeof window === 'object') IS_HTML5 = true
-
-/**
- * 鐩戝惉椤甸潰鍐呭�肩殑鍙樺寲,涓昏鐢ㄤ簬鍔ㄦ�佸紑鍏硈wipe-action
- * @param {Object} newValue
- * @param {Object} oldValue
- * @param {Object} ownerInstance
- * @param {Object} instance
- */
-function showWatch(newVal, oldVal, ownerInstance, instance) {
-	var state = instance.getState()
-	getDom(instance, ownerInstance)
-	if (newVal && newVal !== 'none') {
-		openState(newVal, instance, ownerInstance)
-		return
-	}
-
-	if (state.left) {
-		openState('none', instance, ownerInstance)
-	}
-	resetTouchStatus(instance)
-}
-
-/**
- * 寮�濮嬭Е鎽告搷浣�
- * @param {Object} e
- * @param {Object} ins
- */
-function touchstart(e, ownerInstance) {
-	var instance = e.instance;
-	var disabled = instance.getDataset().disabled
-	var state = instance.getState();
-	getDom(instance, ownerInstance)
-	// fix by mehaotian, TODO 鍏煎 app-vue 鑾峰彇dataset涓哄瓧绗︿覆 , h5 鑾峰彇 涓� undefined 鐨勯棶棰�,寰呮鏋朵慨澶�
-	disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false;
-	if (disabled) return
-	// 寮�濮嬭Е鎽告椂绉婚櫎鍔ㄧ敾绫�
-	instance.requestAnimationFrame(function() {
-		instance.removeClass('ani');
-		ownerInstance.callMethod('closeSwipe');
-	})
-
-	// 璁板綍涓婃鐨勪綅缃�
-	state.x = state.left || 0
-	// 璁$畻婊戝姩寮�濮嬩綅缃�
-	stopTouchStart(e, ownerInstance)
-}
-
-/**
- * 寮�濮嬫粦鍔ㄦ搷浣�
- * @param {Object} e
- * @param {Object} ownerInstance
- */
-function touchmove(e, ownerInstance) {
-	var instance = e.instance;
-	var disabled = instance.getDataset().disabled
-	var state = instance.getState()
-	// fix by mehaotian, TODO 鍏煎 app-vue 鑾峰彇dataset涓哄瓧绗︿覆 , h5 鑾峰彇 涓� undefined 鐨勯棶棰�,寰呮鏋朵慨澶�
-	disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false;
-	if (disabled) return
-	// 鏄惁鍙互婊戝姩椤甸潰
-	stopTouchMove(e);
-	if (state.direction !== 'horizontal') {
-		return;
-	}
-
-	if (e.preventDefault) {
-		// 闃绘椤甸潰婊氬姩
-		e.preventDefault()
-	}
-
-	move(state.x + state.deltaX, instance, ownerInstance)
-}
-
-/**
- * 缁撴潫瑙︽懜鎿嶄綔
- * @param {Object} e
- * @param {Object} ownerInstance
- */
-function touchend(e, ownerInstance) {
-	var instance = e.instance;
-	var disabled = instance.getDataset().disabled
-	var state = instance.getState()
-	// fix by mehaotian, TODO 鍏煎 app-vue 鑾峰彇dataset涓哄瓧绗︿覆 , h5 鑾峰彇 涓� undefined 鐨勯棶棰�,寰呮鏋朵慨澶�
-	disabled = (typeof(disabled) === 'string' ? JSON.parse(disabled) : disabled) || false;
-
-	if (disabled) return
-	// 婊戝姩杩囩▼涓Е鎽哥粨鏉�,閫氳繃闃欏�煎垽鏂槸寮�鍚繕鏄叧闂�
-	// fixed by mehaotian 瀹氭椂鍣ㄨВ鍐崇偣鍑绘寜閽紝touchend 瑙﹀彂姣� click 浜嬩欢鏃舵満鏃╃殑闂 锛屼富瑕佹槸 ios13
-	moveDirection(state.left, instance, ownerInstance)
-
-}
-
-/**
- * 璁剧疆绉诲姩璺濈
- * @param {Object} value
- * @param {Object} instance
- * @param {Object} ownerInstance
- */
-function move(value, instance, ownerInstance) {
-	value = value || 0
-	var state = instance.getState()
-	var leftWidth = state.leftWidth
-	var rightWidth = state.rightWidth
-	// 鑾峰彇鍙粦鍔ㄨ寖鍥�
-	state.left = range(value, -rightWidth, leftWidth);
-	instance.requestAnimationFrame(function() {
-		instance.setStyle({
-			transform: 'translateX(' + state.left + 'px)',
-			'-webkit-transform': 'translateX(' + state.left + 'px)'
-		})
-	})
-
-}
-
-/**
- * 鑾峰彇鍏冪礌淇℃伅
- * @param {Object} instance
- * @param {Object} ownerInstance
- */
-function getDom(instance, ownerInstance) {
-	var state = instance.getState()
-	var leftDom = ownerInstance.selectComponent('.button-group--left')
-	var rightDom = ownerInstance.selectComponent('.button-group--right')
-	var leftStyles = {
-		width: 0
-	}
-	var rightStyles = {
-		width: 0
-	}
-	leftStyles = leftDom.getBoundingClientRect()
-	rightStyles = rightDom.getBoundingClientRect()
-
-	state.leftWidth = leftStyles.width || 0
-	state.rightWidth = rightStyles.width || 0
-	state.threshold = instance.getDataset().threshold
-}
-
-/**
- * 鑾峰彇鑼冨洿
- * @param {Object} num
- * @param {Object} min
- * @param {Object} max
- */
-function range(num, min, max) {
-	return Math.min(Math.max(num, min), max);
-}
-
-
-/**
- * 绉诲姩鏂瑰悜鍒ゆ柇
- * @param {Object} left
- * @param {Object} value
- * @param {Object} ownerInstance
- * @param {Object} ins
- */
-function moveDirection(left, ins, ownerInstance) {
-	var state = ins.getState()
-	var threshold = state.threshold
-	var position = state.position
-	var isopen = state.isopen || 'none'
-	var leftWidth = state.leftWidth
-	var rightWidth = state.rightWidth
-	if (state.deltaX === 0) {
-		openState('none', ins, ownerInstance)
-		return
-	}
-	if ((isopen === 'none' && rightWidth > 0 && -left > threshold) || (isopen !== 'none' && rightWidth > 0 &&
-			rightWidth +
-			left < threshold)) {
-		// right
-		openState('right', ins, ownerInstance)
-	} else if ((isopen === 'none' && leftWidth > 0 && left > threshold) || (isopen !== 'none' && leftWidth > 0 &&
-			leftWidth - left < threshold)) {
-		// left
-		openState('left', ins, ownerInstance)
-	} else {
-		// default
-		openState('none', ins, ownerInstance)
-	}
-}
-
-
-/**
- * 寮�鍚姸鎬�
- * @param {Boolean} type
- * @param {Object} ins
- * @param {Object} ownerInstance
- */
-function openState(type, ins, ownerInstance) {
-	var state = ins.getState()
-	var leftWidth = state.leftWidth
-	var rightWidth = state.rightWidth
-	var left = ''
-	state.isopen = state.isopen ? state.isopen : 'none'
-	switch (type) {
-		case "left":
-			left = leftWidth
-			break
-		case "right":
-			left = -rightWidth
-			break
-		default:
-			left = 0
-	}
-
-	// && !state.throttle
-
-	if (state.isopen !== type) {
-		state.throttle = true
-		ownerInstance.callMethod('change', {
-			open: type
-		})
-
-	}
-
-	state.isopen = type
-	// 娣诲姞鍔ㄧ敾绫�
-	ins.requestAnimationFrame(function() {
-		ins.addClass('ani');
-		move(left, ins, ownerInstance)
-	})
-	// 璁剧疆鏈�缁堢Щ鍔ㄤ綅缃�,鐞嗚涓婂彧瑕佽繘鍏ュ埌杩欎釜鍑芥暟锛岃偗瀹氭槸瑕佹墦寮�鐨�
-}
-
-
-function getDirection(x, y) {
-	if (x > y && x > MIN_DISTANCE) {
-		return 'horizontal';
-	}
-	if (y > x && y > MIN_DISTANCE) {
-		return 'vertical';
-	}
-	return '';
-}
-
-/**
- * 閲嶇疆婊戝姩鐘舵��
- * @param {Object} event
- */
-function resetTouchStatus(instance) {
-	var state = instance.getState();
-	state.direction = '';
-	state.deltaX = 0;
-	state.deltaY = 0;
-	state.offsetX = 0;
-	state.offsetY = 0;
-}
-
-/**
- * 璁剧疆婊戝姩寮�濮嬩綅缃�
- * @param {Object} event
- */
-function stopTouchStart(event) {
-	var instance = event.instance;
-	var state = instance.getState();
-	resetTouchStatus(instance);
-	var touch = event.touches[0];
-	if (IS_HTML5 && isPC()) {
-		touch = event;
-	}
-	state.startX = touch.clientX;
-	state.startY = touch.clientY;
-}
-
-/**
- * 婊戝姩涓紝鏄惁绂佹鎵撳紑
- * @param {Object} event
- */
-function stopTouchMove(event) {
-	var instance = event.instance;
-	var state = instance.getState();
-	var touch = event.touches[0];
-	if (IS_HTML5 && isPC()) {
-		touch = event;
-	}
-	state.deltaX = touch.clientX - state.startX;
-	state.deltaY = touch.clientY - state.startY;
-	state.offsetY = Math.abs(state.deltaY);
-	state.offsetX = Math.abs(state.deltaX);
-	state.direction = state.direction || getDirection(state.offsetX, state.offsetY);
-}
-
-function isPC() {
-	var userAgentInfo = navigator.userAgent;
-	var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
-	var flag = true;
-	for (var v = 0; v < Agents.length - 1; v++) {
-		if (userAgentInfo.indexOf(Agents[v]) > 0) {
-			flag = false;
-			break;
-		}
-	}
-	return flag;
-}
-
-var movable = false
-
-function mousedown(e, ins) {
-	if (!IS_HTML5) return
-	if (!isPC()) return
-	touchstart(e, ins)
-	movable = true
-}
-
-function mousemove(e, ins) {
-	if (!IS_HTML5) return
-	if (!isPC()) return
-	if (!movable) return
-	touchmove(e, ins)
-}
-
-function mouseup(e, ins) {
-	if (!IS_HTML5) return
-	if (!isPC()) return
-	touchend(e, ins)
-	movable = false
-}
-
-function mouseleave(e, ins) {
-	if (!IS_HTML5) return
-	if (!isPC()) return
-	movable = false
-}
-
-module.exports = {
-	showWatch: showWatch,
-	touchstart: touchstart,
-	touchmove: touchmove,
-	touchend: touchend,
-	mousedown: mousedown,
-	mousemove: mousemove,
-	mouseup: mouseup,
-	mouseleave: mouseleave
-}
diff --git a/src/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue b/src/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue
deleted file mode 100644
index 4971782..0000000
--- a/src/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue
+++ /dev/null
@@ -1,60 +0,0 @@
-<template>
-	<view>
-		<slot></slot>
-	</view>
-</template>
-
-<script>
-	/**
-	 * SwipeAction 婊戝姩鎿嶄綔
-	 * @description 閫氳繃婊戝姩瑙﹀彂閫夐」鐨勫鍣�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=181
-	 */
-	export default {
-		name:"uniSwipeAction",
-		data() {
-			return {};
-		},
-		created() {
-			this.children = [];
-		},
-		methods: {
-			// 鍏紑缁欑敤鎴蜂娇鐢紝閲嶅埗缁勪欢鏍峰紡
-			resize(){
-				// wxs 浼氳嚜宸辫绠楃粍浠跺ぇ灏忥紝鎵�浠ユ棤闇�鎵ц涓嬮潰浠g爜
-				// #ifndef APP-VUE || H5 || MP-WEIXIN
-				this.children.forEach(vm=>{
-					vm.init()
-				})
-				// #endif
-			},
-			// 鍏紑缁欑敤鎴蜂娇鐢紝鍏抽棴鍏ㄩ儴 宸茬粡鎵撳紑鐨勭粍浠�
-			closeAll(){
-				this.children.forEach(vm=>{
-					// #ifdef APP-VUE || H5 || MP-WEIXIN
-					vm.is_show = 'none'
-					// #endif
-
-					// #ifndef APP-VUE || H5 || MP-WEIXIN
-					vm.close()
-					// #endif
-				})
-			},
-			closeOther(vm) {
-				if (this.openItem && this.openItem !== vm) {
-					// #ifdef APP-VUE || H5 || MP-WEIXIN
-					this.openItem.is_show = 'none'
-					// #endif
-
-					// #ifndef APP-VUE || H5 || MP-WEIXIN
-					this.openItem.close()
-					// #endif
-				}
-				// 璁板綍涓婁竴涓墦寮�鐨� swipe-action-item ,鐢ㄤ簬 auto-close
-				this.openItem = vm
-			}
-		}
-	};
-</script>
-
-<style></style>
diff --git a/src/uni_modules/uni-swipe-action/package.json b/src/uni_modules/uni-swipe-action/package.json
deleted file mode 100644
index c8998d9..0000000
--- a/src/uni_modules/uni-swipe-action/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-	"id": "uni-swipe-action",
-	"displayName": "uni-swipe-action 婊戝姩鎿嶄綔",
-	"version": "1.3.7",
-	"description": "SwipeAction 婊戝姩鎿嶄綔鎿嶄綔缁勪欢",
-	"keywords": [
-        "",
-        "uni-ui",
-        "uniui",
-        "婊戝姩鍒犻櫎",
-        "渚ф粦鍒犻櫎"
-    ],
-	"repository": "https://github.com/dcloudio/uni-ui",
-	"engines": {
-		"HBuilderX": ""
-	},
-	"directories": {
-		"example": "../../temps/example_temps"
-	},
-	"dcloudext": {
-		"category": [
-			"鍓嶇缁勪欢",
-			"閫氱敤缁勪欢"
-		],
-		"sale": {
-			"regular": {
-				"price": "0.00"
-			},
-			"sourcecode": {
-				"price": "0.00"
-			}
-		},
-		"contact": {
-			"qq": ""
-		},
-		"declaration": {
-			"ads": "鏃�",
-			"data": "鏃�",
-			"permissions": "鏃�"
-		},
-		"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-	},
-	"uni_modules": {
-		"dependencies": ["uni-scss"],
-		"encrypt": [],
-		"platforms": {
-			"cloud": {
-				"tcb": "y",
-				"aliyun": "y"
-			},
-			"client": {
-				"App": {
-					"app-vue": "y",
-					"app-nvue": "y"
-				},
-				"H5-mobile": {
-					"Safari": "y",
-					"Android Browser": "y",
-					"寰俊娴忚鍣�(Android)": "y",
-					"QQ娴忚鍣�(Android)": "y"
-				},
-				"H5-pc": {
-					"Chrome": "y",
-					"IE": "y",
-					"Edge": "y",
-					"Firefox": "y",
-					"Safari": "y"
-				},
-				"灏忕▼搴�": {
-					"寰俊": "y",
-					"闃块噷": "y",
-					"鐧惧害": "y",
-					"瀛楄妭璺冲姩": "y",
-					"QQ": "y"
-				},
-				"蹇簲鐢�": {
-					"鍗庝负": "y",
-					"鑱旂洘": "u"
-				},
-				"Vue": {
-					"vue2": "y",
-					"vue3": "y"
-				}
-			}
-		}
-	}
-}
diff --git a/src/uni_modules/uni-swipe-action/readme.md b/src/uni_modules/uni-swipe-action/readme.md
deleted file mode 100644
index 93a5cac..0000000
--- a/src/uni_modules/uni-swipe-action/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-## SwipeAction 婊戝姩鎿嶄綔
-> **缁勪欢鍚嶏細uni-swipe-action**
-> 浠g爜鍧楋細 `uSwipeAction`銆乣uSwipeActionItem`
-
-
-閫氳繃婊戝姩瑙﹀彂閫夐」鐨勫鍣�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-swipe-action)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-swiper-dot/changelog.md b/src/uni_modules/uni-swiper-dot/changelog.md
deleted file mode 100644
index 85cf54d..0000000
--- a/src/uni_modules/uni-swiper-dot/changelog.md
+++ /dev/null
@@ -1,12 +0,0 @@
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-swiper-dot](https://uniapp.dcloud.io/component/uniui/uni-swiper-dot)
-## 1.1.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.6锛�2021-05-12锛�
-- 鏂板 绀轰緥鍦板潃
-- 淇 绀轰緥椤圭洰缂哄皯缁勪欢鐨凚ug
-## 1.0.5锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
-- 鏂板 clickItem 浜嬩欢锛屾敮鎸佹寚绀虹偣鎺у埗杞挱
-- 鏂板 鏀寔 pc 鍙敤
diff --git a/src/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue b/src/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue
deleted file mode 100644
index e66b6c7..0000000
--- a/src/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.vue
+++ /dev/null
@@ -1,218 +0,0 @@
-<template>
-	<view class="uni-swiper__warp">
-		<slot />
-		<view v-if="mode === 'default'" :style="{'bottom':dots.bottom + 'px'}" class="uni-swiper__dots-box" key='default'>
-			<view v-for="(item,index) in info" @click="clickItem(index)" :style="{
-        'width': (index === current? dots.width*2:dots.width ) + 'px','height':dots.width/2 +'px' ,'background-color':index !== current?dots.backgroundColor:dots.selectedBackgroundColor,'border-radius':'0px'}"
-			 :key="index" class="uni-swiper__dots-item uni-swiper__dots-bar" />
-		</view>
-		<view v-if="mode === 'dot'" :style="{'bottom':dots.bottom + 'px'}" class="uni-swiper__dots-box" key='dot'>
-			<view v-for="(item,index) in info" @click="clickItem(index)" :style="{
-        'width': dots.width + 'px','height':dots.height +'px' ,'background-color':index !== current?dots.backgroundColor:dots.selectedBackgroundColor,'border':index !==current ? dots.border:dots.selectedBorder}"
-			 :key="index" class="uni-swiper__dots-item" />
-		</view>
-		<view v-if="mode === 'round'" :style="{'bottom':dots.bottom + 'px'}" class="uni-swiper__dots-box" key='round'>
-			<view v-for="(item,index) in info" @click="clickItem(index)" :class="[index === current&&'uni-swiper__dots-long']" :style="{
-		    'width':(index === current? dots.width*3:dots.width ) + 'px','height':dots.height +'px' ,'background-color':index !== current?dots.backgroundColor:dots.selectedBackgroundColor,'border':index !==current ? dots.border:dots.selectedBorder}"
-			 :key="index" class="uni-swiper__dots-item " />
-		</view>
-		<view v-if="mode === 'nav'" key='nav' :style="{'background-color':dotsStyles.backgroundColor,'bottom':'0'}" class="uni-swiper__dots-box uni-swiper__dots-nav">
-			<text :style="{'color':dotsStyles.color}" class="uni-swiper__dots-nav-item">{{ (current+1)+"/"+info.length +' ' +info[current][field] }}</text>
-		</view>
-		<view v-if="mode === 'indexes'" key='indexes' :style="{'bottom':dots.bottom + 'px'}" class="uni-swiper__dots-box">
-			<view v-for="(item,index) in info" @click="clickItem(index)" :style="{
-        'width':dots.width + 'px','height':dots.height +'px' ,'color':index === current?dots.selectedColor:dots.color,'background-color':index !== current?dots.backgroundColor:dots.selectedBackgroundColor,'border':index !==current ? dots.border:dots.selectedBorder}"
-			 :key="index" class="uni-swiper__dots-item uni-swiper__dots-indexes"><text class="uni-swiper__dots-indexes-text">{{ index+1 }}</text></view>
-		</view>
-	</view>
-</template>
-
-<script>
-
-	/**
-	 * SwiperDod 杞挱鍥炬寚绀虹偣
-	 * @description 鑷畾涔夎疆鎾浘鎸囩ず鐐�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=284
-	 * @property {Number} current 褰撳墠鎸囩ず鐐圭储寮曪紝蹇呴』鏄�氳繃 `swiper` 鐨� `change` 浜嬩欢鑾峰彇鍒扮殑 `e.detail.current`
-	 * @property {String} mode = [default|round|nav|indexes] 鎸囩ず鐐圭殑绫诲瀷
-	 * 	@value defualt 榛樿鎸囩ず鐐�
-	 * 	@value round 鍦嗗舰鎸囩ず鐐�
-	 * 	@value nav 鏉″舰鎸囩ず鐐�
-	 * 	@value indexes 绱㈠紩鎸囩ず鐐�
-	 * @property {String} field mode 涓� nav 鏃讹紝鏄剧ず鐨勫唴瀹瑰瓧娈碉紙mode = nav 鏃跺繀濉級
-	 * @property {String} info 杞挱鍥剧殑鏁版嵁锛岄�氳繃鏁扮粍闀垮害鍐冲畾鎸囩ず鐐逛釜鏁�
-	 * @property {Object} dotsStyles 鎸囩ず鐐规牱寮�
-	 * @event {Function} clickItem 缁勪欢瑙﹀彂鐐瑰嚮浜嬩欢鏃惰Е鍙戯紝e={currentIndex}
-	 */
-
-	export default {
-		name: 'UniSwiperDot',
-		emits:['clickItem'],
-		props: {
-			info: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			current: {
-				type: Number,
-				default: 0
-			},
-			dotsStyles: {
-				type: Object,
-				default () {
-					return {}
-				}
-			},
-			// 绫诲瀷 锛歞efault(榛樿) indexes long nav
-			mode: {
-				type: String,
-				default: 'default'
-			},
-			// 鍙湪 nav 妯″紡涓嬬敓鏁堬紝鍙橀噺鍚嶇О
-			field: {
-				type: String,
-				default: ''
-			}
-		},
-		data() {
-			return {
-				dots: {
-					width: 6,
-					height: 6,
-					bottom: 10,
-					color: '#fff',
-					backgroundColor: 'rgba(0, 0, 0, .3)',
-					border: '1px rgba(0, 0, 0, .3) solid',
-					selectedBackgroundColor: '#333',
-					selectedBorder: '1px rgba(0, 0, 0, .9) solid'
-				}
-			}
-		},
-		watch: {
-			dotsStyles(newVal) {
-				this.dots = Object.assign(this.dots, this.dotsStyles)
-			},
-			mode(newVal) {
-				if (newVal === 'indexes') {
-					this.dots.width = 14
-					this.dots.height = 14
-				} else {
-					this.dots.width = 6
-					this.dots.height = 6
-				}
-			}
-
-		},
-		created() {
-			if (this.mode === 'indexes') {
-				this.dots.width = 12
-				this.dots.height = 12
-			}
-			this.dots = Object.assign(this.dots, this.dotsStyles)
-		},
-		methods: {
-			clickItem(index) {
-				this.$emit('clickItem', index)
-			}
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.uni-swiper__warp {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: column;
-		position: relative;
-		overflow: hidden;
-	}
-
-	.uni-swiper__dots-box {
-		position: absolute;
-		bottom: 10px;
-		left: 0;
-		right: 0;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-	}
-
-	.uni-swiper__dots-item {
-		width: 8px;
-		border-radius: 100px;
-		margin-left: 6px;
-		background-color: rgba(0, 0, 0, 0.4);
-		/* #ifndef APP-NVUE */
-		cursor: pointer;
-		/* #endif */
-		/* #ifdef H5 */
-		// border-width: 5px 0;
-		// border-style: solid;
-		// border-color: transparent;
-		// background-clip: padding-box;
-		/* #endif */
-		// transition: width 0.2s linear;  涓嶈鍙栨秷娉ㄩ噴锛屼笉鐒朵細涓嶈兘鍙樿壊
-	}
-
-	.uni-swiper__dots-item:first-child {
-		margin: 0;
-	}
-
-	.uni-swiper__dots-default {
-		border-radius: 100px;
-	}
-
-	.uni-swiper__dots-long {
-		border-radius: 50px;
-	}
-
-	.uni-swiper__dots-bar {
-		border-radius: 50px;
-	}
-
-	.uni-swiper__dots-nav {
-		bottom: 0px;
-		// height: 26px;
-		padding: 8px 0;
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: flex-start;
-		align-items: center;
-		background-color: rgba(0, 0, 0, 0.2);
-	}
-
-	.uni-swiper__dots-nav-item {
-		/* overflow: hidden;
-    text-overflow: ellipsis;
-    white-space: nowrap; */
-		font-size: 14px;
-		color: #fff;
-		margin: 0 15px;
-	}
-
-	.uni-swiper__dots-indexes {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		// flex: 1;
-		justify-content: center;
-		align-items: center;
-	}
-
-	.uni-swiper__dots-indexes-text {
-		color: #fff;
-		font-size: 12px;
-		line-height: 14px;
-	}
-</style>
diff --git a/src/uni_modules/uni-swiper-dot/package.json b/src/uni_modules/uni-swiper-dot/package.json
deleted file mode 100644
index f2dd8d2..0000000
--- a/src/uni_modules/uni-swiper-dot/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "id": "uni-swiper-dot",
-  "displayName": "uni-swiper-dot 杞挱鍥炬寚绀虹偣",
-  "version": "1.2.0",
-  "description": "鑷畾涔夎疆鎾浘鎸囩ず鐐圭粍浠�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "杞挱鍥炬寚绀虹偣",
-    "dot",
-    "swiper"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-swiper-dot/readme.md b/src/uni_modules/uni-swiper-dot/readme.md
deleted file mode 100644
index 7d397e2..0000000
--- a/src/uni_modules/uni-swiper-dot/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-## SwiperDot 杞挱鍥炬寚绀虹偣
-> **缁勪欢鍚嶏細uni-swiper-dot**
-> 浠g爜鍧楋細 `uSwiperDot`
-
-
-鑷畾涔夎疆鎾浘鎸囩ず鐐�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-swiper-dot)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/uni_modules/uni-table/changelog.md b/src/uni_modules/uni-table/changelog.md
deleted file mode 100644
index 8233b20..0000000
--- a/src/uni_modules/uni-table/changelog.md
+++ /dev/null
@@ -1,23 +0,0 @@
-## 1.2.1锛�2022-06-06锛�
-- 淇 寰俊灏忕▼搴忓瓨鍦ㄦ棤浣跨敤缁勪欢鐨勯棶棰�
-## 1.2.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-table](https://uniapp.dcloud.io/component/uniui/uni-table)
-## 1.1.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.7锛�2021-07-08锛�
-- 鏂板 uni-th 鏀寔 date 鏃ユ湡绛涢�夎寖鍥�
-## 1.0.6锛�2021-07-05锛�
-- 鏂板 uni-th 鏀寔 range 绛涢�夎寖鍥�
-## 1.0.5锛�2021-06-28锛�
-- 鏂板 uni-th 绛涢�夊姛鑳�
-## 1.0.4锛�2021-05-12锛�
-- 鏂板 绀轰緥鍦板潃
-- 淇 绀轰緥椤圭洰缂哄皯缁勪欢鐨凚ug
-## 1.0.3锛�2021-04-16锛�
-- 鏂板 sortable 灞炴�э紝鏄惁寮�鍚崟鍒楁帓搴�
-- 浼樺寲 琛ㄦ牸澶氶�夐�昏緫
-## 1.0.2锛�2021-03-22锛�
-- uni-tr 娣诲姞 disabled 灞炴�э紝鐢ㄤ簬 type=selection 鏃讹紝璁剧疆鏌愯鏄惁鍙敱鍏ㄩ�夋寜閽帶鍒�
-## 1.0.1锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-table/components/uni-table/uni-table.vue b/src/uni_modules/uni-table/components/uni-table/uni-table.vue
deleted file mode 100644
index 6ee871e..0000000
--- a/src/uni_modules/uni-table/components/uni-table/uni-table.vue
+++ /dev/null
@@ -1,455 +0,0 @@
-<template>
-	<view class="uni-table-scroll" :class="{ 'table--border': border, 'border-none': !noData }">
-		<!-- #ifdef H5 -->
-		<table class="uni-table" border="0" cellpadding="0" cellspacing="0" :class="{ 'table--stripe': stripe }" :style="{ 'min-width': minWidth + 'px' }">
-			<slot></slot>
-			<view v-if="noData" class="uni-table-loading">
-				<view class="uni-table-text" :class="{ 'empty-border': border }">{{ emptyText }}</view>
-			</view>
-			<view v-if="loading" class="uni-table-mask" :class="{ 'empty-border': border }"><div class="uni-table--loader"></div></view>
-		</table>
-		<!-- #endif -->
-		<!-- #ifndef H5 -->
-		<view class="uni-table" :style="{ 'min-width': minWidth + 'px' }" :class="{ 'table--stripe': stripe }">
-			<slot></slot>
-			<view v-if="noData" class="uni-table-loading">
-				<view class="uni-table-text" :class="{ 'empty-border': border }">{{ emptyText }}</view>
-			</view>
-			<view v-if="loading" class="uni-table-mask" :class="{ 'empty-border': border }"><div class="uni-table--loader"></div></view>
-		</view>
-		<!-- #endif -->
-	</view>
-</template>
-
-<script>
-/**
- * Table 琛ㄦ牸
- * @description 鐢ㄤ簬灞曠ず澶氭潯缁撴瀯绫讳技鐨勬暟鎹�
- * @tutorial https://ext.dcloud.net.cn/plugin?id=3270
- * @property {Boolean} 	border 				鏄惁甯︽湁绾靛悜杈规
- * @property {Boolean} 	stripe 				鏄惁鏄剧ず鏂戦┈绾�
- * @property {Boolean} 	type 					鏄惁寮�鍚閫�
- * @property {String} 	emptyText 			绌烘暟鎹椂鏄剧ず鐨勬枃鏈唴瀹�
- * @property {Boolean} 	loading 			鏄剧ず鍔犺浇涓�
- * @event {Function} 	selection-change 	寮�鍚閫夋椂锛屽綋閫夋嫨椤瑰彂鐢熷彉鍖栨椂浼氳Е鍙戣浜嬩欢
- */
-export default {
-	name: 'uniTable',
-	options: {
-		virtualHost: true
-	},
-	emits:['selection-change'],
-	props: {
-		data: {
-			type: Array,
-			default() {
-				return []
-			}
-		},
-		// 鏄惁鏈夌珫绾�
-		border: {
-			type: Boolean,
-			default: false
-		},
-		// 鏄惁鏄剧ず鏂戦┈绾�
-		stripe: {
-			type: Boolean,
-			default: false
-		},
-		// 澶氶��
-		type: {
-			type: String,
-			default: ''
-		},
-		// 娌℃湁鏇村鏁版嵁
-		emptyText: {
-			type: String,
-			default: '娌℃湁鏇村鏁版嵁'
-		},
-		loading: {
-			type: Boolean,
-			default: false
-		},
-		rowKey: {
-			type: String,
-			default: ''
-		}
-	},
-	data() {
-		return {
-			noData: true,
-			minWidth: 0,
-			multiTableHeads: []
-		}
-	},
-	watch: {
-		loading(val) {},
-		data(newVal) {
-			let theadChildren = this.theadChildren
-			let rowspan = 1
-			if (this.theadChildren) {
-				rowspan = this.theadChildren.rowspan
-			}
-			
-			// this.trChildren.length - rowspan
-			this.noData = false
-			// this.noData = newVal.length === 0 
-		}
-	},
-	created() {
-		// 瀹氫箟tr鐨勫疄渚嬫暟缁�
-		this.trChildren = []
-		this.thChildren = []
-		this.theadChildren = null
-		this.backData = []
-		this.backIndexData = []
-	},
-
-	methods: {
-		isNodata() {
-			let theadChildren = this.theadChildren
-			let rowspan = 1
-			if (this.theadChildren) {
-				rowspan = this.theadChildren.rowspan
-			}
-			this.noData = this.trChildren.length - rowspan <= 0
-		},
-		/**
-		 * 閫変腑鎵�鏈�
-		 */
-		selectionAll() {
-			let startIndex = 1
-			let theadChildren = this.theadChildren
-			if (!this.theadChildren) {
-				theadChildren = this.trChildren[0]
-			} else {
-				startIndex = theadChildren.rowspan - 1
-			}
-			let isHaveData = this.data && this.data.length > 0
-			theadChildren.checked = true
-			theadChildren.indeterminate = false
-			this.trChildren.forEach((item, index) => {
-				if (!item.disabled) {
-					item.checked = true
-					if (isHaveData && item.keyValue) {
-						const row = this.data.find(v => v[this.rowKey] === item.keyValue)
-						if (!this.backData.find(v => v[this.rowKey] === row[this.rowKey])) {
-							this.backData.push(row)
-						}
-					}
-					if (index > (startIndex - 1) && this.backIndexData.indexOf(index - startIndex) === -1) {
-						this.backIndexData.push(index - startIndex)
-					}
-				}
-			})
-			// this.backData = JSON.parse(JSON.stringify(this.data))
-			this.$emit('selection-change', {
-				detail: {
-					value: this.backData,
-					index: this.backIndexData
-				}
-			})
-		},
-		/**
-		 * 鐢ㄤ簬澶氶�夎〃鏍硷紝鍒囨崲鏌愪竴琛岀殑閫変腑鐘舵�侊紝濡傛灉浣跨敤浜嗙浜屼釜鍙傛暟锛屽垯鏄缃繖涓�琛岄�変腑涓庡惁锛坰elected 涓� true 鍒欓�変腑锛�
-		 */
-		toggleRowSelection(row, selected) {
-			// if (!this.theadChildren) return
-			row = [].concat(row)
-
-			this.trChildren.forEach((item, index) => {
-				// if (item.keyValue) {
-
-				const select = row.findIndex(v => {
-					//
-					if (typeof v === 'number') {
-						return v === index - 1
-					} else {
-						return v[this.rowKey] === item.keyValue
-					}
-				})
-				let ischeck = item.checked
-				if (select !== -1) {
-					if (typeof selected === 'boolean') {
-						item.checked = selected
-					} else {
-						item.checked = !item.checked
-					}
-					if (ischeck !== item.checked) {
-						this.check(item.rowData||item, item.checked, item.rowData?item.keyValue:null, true)
-					}
-				}
-				// }
-			})
-			this.$emit('selection-change', {
-				detail: {
-					value: this.backData,
-					index:this.backIndexData
-				}
-			})
-		},
-
-		/**
-		 * 鐢ㄤ簬澶氶�夎〃鏍硷紝娓呯┖鐢ㄦ埛鐨勯�夋嫨
-		 */
-		clearSelection() {
-			let theadChildren = this.theadChildren
-			if (!this.theadChildren) {
-				theadChildren = this.trChildren[0]
-			}
-			// if (!this.theadChildren) return
-			theadChildren.checked = false
-			theadChildren.indeterminate = false
-			this.trChildren.forEach(item => {
-				// if (item.keyValue) {
-					item.checked = false
-				// }
-			})
-			this.backData = []
-			this.backIndexData = []
-			this.$emit('selection-change', {
-				detail: {
-					value: [],
-					index: []
-				}
-			})
-		},
-		/**
-		 * 鐢ㄤ簬澶氶�夎〃鏍硷紝鍒囨崲鎵�鏈夎鐨勯�変腑鐘舵��
-		 */
-		toggleAllSelection() {
-			let list = []
-			let startIndex = 1
-			let theadChildren = this.theadChildren
-			if (!this.theadChildren) {
-				theadChildren = this.trChildren[0]
-			} else {
-				startIndex = theadChildren.rowspan - 1
-			}
-			this.trChildren.forEach((item, index) => {
-				if (!item.disabled) {
-					if (index > (startIndex - 1) ) {
-						list.push(index-startIndex)
-					}
-				}
-			})
-			this.toggleRowSelection(list)
-		},
-
-		/**
-		 * 閫変腑\鍙栨秷閫変腑
-		 * @param {Object} child
-		 * @param {Object} check
-		 * @param {Object} rowValue
-		 */
-		check(child, check, keyValue, emit) {
-			let theadChildren = this.theadChildren
-			if (!this.theadChildren) {
-				theadChildren = this.trChildren[0]
-			}
-			
-			
-			
-			let childDomIndex = this.trChildren.findIndex((item, index) => child === item)
-			if(childDomIndex < 0){
-				childDomIndex = this.data.findIndex(v=>v[this.rowKey] === keyValue) + 1
-			}
-			const dataLen = this.trChildren.filter(v => !v.disabled && v.keyValue).length
-			if (childDomIndex === 0) {
-				check ? this.selectionAll() : this.clearSelection()
-				return
-			}
-
-			if (check) {
-				if (keyValue) {
-					this.backData.push(child)
-				}
-				this.backIndexData.push(childDomIndex - 1)
-			} else {
-				const index = this.backData.findIndex(v => v[this.rowKey] === keyValue)
-				const idx = this.backIndexData.findIndex(item => item === childDomIndex - 1)
-				if (keyValue) {
-					this.backData.splice(index, 1)
-				}
-				this.backIndexData.splice(idx, 1)
-			}
-
-			const domCheckAll = this.trChildren.find((item, index) => index > 0 && !item.checked && !item.disabled)
-			if (!domCheckAll) {
-				theadChildren.indeterminate = false
-				theadChildren.checked = true
-			} else {
-				theadChildren.indeterminate = true
-				theadChildren.checked = false
-			}
-
-			if (this.backIndexData.length === 0) {
-				theadChildren.indeterminate = false
-			}
-
-			if (!emit) {
-				this.$emit('selection-change', {
-					detail: {
-						value: this.backData,
-						index: this.backIndexData
-					}
-				})
-			}
-		}
-	}
-}
-</script>
-
-<style lang="scss">
-$border-color: #ebeef5;
-
-.uni-table-scroll {
-	width: 100%;
-	/* #ifndef APP-NVUE */
-	overflow-x: auto;
-	/* #endif */
-}
-
-.uni-table {
-	position: relative;
-	width: 100%;
-	border-radius: 5px;
-	// box-shadow: 0px 0px 3px 1px rgba(0, 0, 0, 0.1);
-	background-color: #fff;
-	/* #ifndef APP-NVUE */
-	box-sizing: border-box;
-	display: table;
-	overflow-x: auto;
-	::v-deep .uni-table-tr:nth-child(n + 2) {
-		&:hover {
-			background-color: #f5f7fa;
-		}
-	}
-	::v-deep .uni-table-thead {
-		.uni-table-tr {
-			// background-color: #f5f7fa;
-			&:hover {
-				background-color:#fafafa;
-			}
-		}
-	}
-	/* #endif */
-}
-
-.table--border {
-	border: 1px $border-color solid;
-	border-right: none;
-}
-
-.border-none {
-	/* #ifndef APP-NVUE */
-	border-bottom: none;
-	/* #endif */
-}
-
-.table--stripe {
-	/* #ifndef APP-NVUE */
-	::v-deep .uni-table-tr:nth-child(2n + 3) {
-		background-color: #fafafa;
-	}
-	/* #endif */
-}
-
-/* 琛ㄦ牸鍔犺浇銆佹棤鏁版嵁鏍峰紡 */
-.uni-table-loading {
-	position: relative;
-	/* #ifndef APP-NVUE */
-	display: table-row;
-	/* #endif */
-	height: 50px;
-	line-height: 50px;
-	overflow: hidden;
-	box-sizing: border-box;
-}
-.empty-border {
-	border-right: 1px $border-color solid;
-}
-.uni-table-text {
-	position: absolute;
-	right: 0;
-	left: 0;
-	text-align: center;
-	font-size: 14px;
-	color: #999;
-}
-
-.uni-table-mask {
-	position: absolute;
-	top: 0;
-	bottom: 0;
-	left: 0;
-	right: 0;
-	background-color: rgba(255, 255, 255, 0.8);
-	z-index: 99;
-	/* #ifndef APP-NVUE */
-	display: flex;
-	margin: auto;
-	transition: all 0.5s;
-	/* #endif */
-	justify-content: center;
-	align-items: center;
-}
-
-.uni-table--loader {
-	width: 30px;
-	height: 30px;
-	border: 2px solid #aaa;
-	// border-bottom-color: transparent;
-	border-radius: 50%;
-	/* #ifndef APP-NVUE */
-	animation: 2s uni-table--loader linear infinite;
-	/* #endif */
-	position: relative;
-}
-
-@keyframes uni-table--loader {
-	0% {
-		transform: rotate(360deg);
-	}
-
-	10% {
-		border-left-color: transparent;
-	}
-
-	20% {
-		border-bottom-color: transparent;
-	}
-
-	30% {
-		border-right-color: transparent;
-	}
-
-	40% {
-		border-top-color: transparent;
-	}
-
-	50% {
-		transform: rotate(0deg);
-	}
-
-	60% {
-		border-top-color: transparent;
-	}
-
-	70% {
-		border-left-color: transparent;
-	}
-
-	80% {
-		border-bottom-color: transparent;
-	}
-
-	90% {
-		border-right-color: transparent;
-	}
-
-	100% {
-		transform: rotate(-360deg);
-	}
-}
-</style>
diff --git a/src/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue b/src/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue
deleted file mode 100644
index fbe1bdc..0000000
--- a/src/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue
+++ /dev/null
@@ -1,29 +0,0 @@
-<template>
-	<!-- #ifdef H5 -->
-	<tbody>
-		<slot></slot>
-	</tbody>
-	<!-- #endif -->
-	<!-- #ifndef H5 -->
-	<view><slot></slot></view>
-	<!-- #endif -->
-</template>
-
-<script>
-export default {
-	name: 'uniBody',
-	options: {
-		virtualHost: true
-	},
-	data() {
-		return {
-			
-		}
-	},
-	created() {},
-	methods: {}
-}
-</script>
-
-<style>
-</style>
diff --git a/src/uni_modules/uni-table/components/uni-td/uni-td.vue b/src/uni_modules/uni-table/components/uni-td/uni-td.vue
deleted file mode 100644
index 9ce93e9..0000000
--- a/src/uni_modules/uni-table/components/uni-td/uni-td.vue
+++ /dev/null
@@ -1,90 +0,0 @@
-<template>
-	<!-- #ifdef H5 -->
-	<td class="uni-table-td" :rowspan="rowspan" :colspan="colspan" :class="{'table--border':border}" :style="{width:width + 'px','text-align':align}">
-		<slot></slot>
-	</td>
-	<!-- #endif -->
-	<!-- #ifndef H5 -->
-	<!-- :class="{'table--border':border}"  -->
-	<view class="uni-table-td" :class="{'table--border':border}" :style="{width:width + 'px','text-align':align}">
-		<slot></slot>
-	</view>
-	<!-- #endif -->
-	
-</template>
-
-<script>
-	/**
-	 * Td 鍗曞厓鏍�
-	 * @description 琛ㄦ牸涓殑鏍囧噯鍗曞厓鏍肩粍浠�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=3270
-	 * @property {Number} 	align = [left|center|right]	鍗曞厓鏍煎榻愭柟寮�
-	 */
-	export default {
-		name: 'uniTd',
-		options: {
-			virtualHost: true
-		},
-		props: {
-			width: {
-				type: [String, Number],
-				default: ''
-			},
-			align: {
-				type: String,
-				default: 'left'
-			},
-			rowspan: {
-				type: [Number,String],
-				default: 1
-			},
-			colspan: {
-					type: [Number,String],
-				default: 1
-			}
-		},
-		data() {
-			return {
-				border: false
-			};
-		},
-		created() {
-			this.root = this.getTable()
-			this.border = this.root.border
-		},
-		methods: {
-			/**
-			 * 鑾峰彇鐖跺厓绱犲疄渚�
-			 */
-			getTable() {
-				let parent = this.$parent;
-				let parentName = parent.$options.name;
-				while (parentName !== 'uniTable') {
-					parent = parent.$parent;
-					if (!parent) return false;
-					parentName = parent.$options.name;
-				}
-				return parent;
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	$border-color:#EBEEF5;
-
-	.uni-table-td {
-		display: table-cell;
-		padding: 8px 10px;
-		font-size: 14px;
-		border-bottom: 1px $border-color solid;
-		font-weight: 400;
-		color: #606266;
-		line-height: 23px;
-		box-sizing: border-box;
-	}
-
-	.table--border {
-		border-right: 1px $border-color solid;
-	}
-</style>
diff --git a/src/uni_modules/uni-table/components/uni-th/filter-dropdown.vue b/src/uni_modules/uni-table/components/uni-th/filter-dropdown.vue
deleted file mode 100644
index bc9a0e3..0000000
--- a/src/uni_modules/uni-table/components/uni-th/filter-dropdown.vue
+++ /dev/null
@@ -1,503 +0,0 @@
-<template>
-	<view class="uni-filter-dropdown">
-		<view class="dropdown-btn" @click="onDropdown">
-			<view class="icon-select" :class="{active: canReset}" v-if="isSelect || isRange"></view>
-			<view class="icon-search" :class="{active: canReset}" v-if="isSearch">
-				<view class="icon-search-0"></view>
-				<view class="icon-search-1"></view>
-			</view>
-			<view class="icon-calendar" :class="{active: canReset}" v-if="isDate">
-				<view class="icon-calendar-0"></view>
-				<view class="icon-calendar-1"></view>
-			</view>
-		</view>
-		<view class="uni-dropdown-cover" v-if="isOpened" @click="handleClose"></view>
-		<view class="dropdown-popup dropdown-popup-right" v-if="isOpened" @click.stop>
-			<!-- select-->
-			<view v-if="isSelect" class="list">
-				<label class="flex-r a-i-c list-item" v-for="(item,index) in dataList" :key="index"
-					@click="onItemClick($event, index)">
-					<check-box class="check" :checked="item.checked" />
-					<view class="checklist-content">
-						<text class="checklist-text" :style="item.styleIconText">{{item[map.text]}}</text>
-					</view>
-				</label>
-			</view>
-			<view v-if="isSelect" class="flex-r opera-area">
-				<view class="flex-f btn btn-default" :class="{disable: !canReset}" @click="handleSelectReset">
-					{{resource.reset}}</view>
-				<view class="flex-f btn btn-submit" @click="handleSelectSubmit">{{resource.submit}}</view>
-			</view>
-			<!-- search -->
-			<view v-if="isSearch" class="search-area">
-				<input class="search-input" v-model="filterValue" />
-			</view>
-			<view v-if="isSearch" class="flex-r opera-area">
-				<view class="flex-f btn btn-submit" @click="handleSearchSubmit">{{resource.search}}</view>
-				<view class="flex-f btn btn-default" :class="{disable: !canReset}" @click="handleSearchReset">
-					{{resource.reset}}</view>
-			</view>
-			<!-- range -->
-			<view v-if="isRange">
-				<view class="input-label">{{resource.gt}}</view>
-				<input class="input" v-model="gtValue" />
-				<view class="input-label">{{resource.lt}}</view>
-				<input class="input" v-model="ltValue" />
-			</view>
-			<view v-if="isRange" class="flex-r opera-area">
-				<view class="flex-f btn btn-default" :class="{disable: !canReset}" @click="handleRangeReset">
-					{{resource.reset}}</view>
-				<view class="flex-f btn btn-submit" @click="handleRangeSubmit">{{resource.submit}}</view>
-			</view>
-			<!-- date -->
-			<view v-if="isDate">
-				<uni-datetime-picker ref="datetimepicker" :value="dateRange" type="datetimerange" return-type="timestamp" @change="datetimechange" @maskClick="timepickerclose">
-					<view></view>
-				</uni-datetime-picker>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import checkBox from '../uni-tr/table-checkbox.vue'
-
-	const resource = {
-		"reset": "閲嶇疆",
-		"search": "鎼滅储",
-		"submit": "纭畾",
-		"filter": "绛涢��",
-		"gt": "澶т簬绛変簬",
-		"lt": "灏忎簬绛変簬",
-		"date": "鏃ユ湡鑼冨洿"
-	}
-
-	const DropdownType = {
-		Select: "select",
-		Search: "search",
-		Range: "range",
-		Date: "date",
-		Timestamp: "timestamp"
-	}
-
-	export default {
-		name: 'FilterDropdown',
-		emits:['change'],
-		components: {
-			checkBox
-		},
-		options: {
-			virtualHost: true
-		},
-		props: {
-			filterType: {
-				type: String,
-				default: DropdownType.Select
-			},
-			filterData: {
-				type: Array,
-				default () {
-					return []
-				}
-			},
-			mode: {
-				type: String,
-				default: 'default'
-			},
-			map: {
-				type: Object,
-				default () {
-					return {
-						text: 'text',
-						value: 'value'
-					}
-				}
-			}
-		},
-		computed: {
-			canReset() {
-				if (this.isSearch) {
-					return this.filterValue.length > 0
-				}
-				if (this.isSelect) {
-					return this.checkedValues.length > 0
-				}
-				if (this.isRange) {
-					return (this.gtValue.length > 0 && this.ltValue.length > 0)
-				}
-				if (this.isDate) {
-					return this.dateSelect.length > 0
-				}
-				return false
-			},
-			isSelect() {
-				return this.filterType === DropdownType.Select
-			},
-			isSearch() {
-				return this.filterType === DropdownType.Search
-			},
-			isRange() {
-				return this.filterType === DropdownType.Range
-			},
-			isDate() {
-				return (this.filterType === DropdownType.Date || this.filterType === DropdownType.Timestamp)
-			}
-		},
-		watch: {
-			filterData(newVal) {
-				this._copyFilters()
-			},
-			indeterminate(newVal) {
-				this.isIndeterminate = newVal
-			}
-		},
-		data() {
-			return {
-				resource,
-				enabled: true,
-				isOpened: false,
-				dataList: [],
-				filterValue: '',
-				checkedValues: [],
-				gtValue: '',
-				ltValue: '',
-				dateRange: [],
-				dateSelect: []
-			};
-		},
-		created() {
-			this._copyFilters()
-		},
-		methods: {
-			_copyFilters() {
-				let dl = JSON.parse(JSON.stringify(this.filterData))
-				for (let i = 0; i < dl.length; i++) {
-					if (dl[i].checked === undefined) {
-						dl[i].checked = false
-					}
-				}
-				this.dataList = dl
-			},
-			openPopup() {
-				this.isOpened = true
-				if (this.isDate) {
-					this.$nextTick(() => {
-						if (!this.dateRange.length) {
-							this.resetDate()
-						}
-						this.$refs.datetimepicker.show()
-					})
-				}
-			},
-			closePopup() {
-				this.isOpened = false
-			},
-			handleClose(e) {
-				this.closePopup()
-			},
-			resetDate() {
-				let date = new Date()
-				let dateText = date.toISOString().split('T')[0]
-				this.dateRange = [dateText + ' 0:00:00', dateText + ' 23:59:59']
-			},
-			onDropdown(e) {
-				this.openPopup()
-			},
-			onItemClick(e, index) {
-				let items = this.dataList
-				let listItem = items[index]
-				if (listItem.checked === undefined) {
-					items[index].checked = true
-				} else {
-					items[index].checked = !listItem.checked
-				}
-
-				let checkvalues = []
-				for (let i = 0; i < items.length; i++) {
-					const item = items[i]
-					if (item.checked) {
-						checkvalues.push(item.value)
-					}
-				}
-				this.checkedValues = checkvalues
-			},
-			datetimechange(e) {
-				this.closePopup()
-				this.dateRange = e
-				this.dateSelect = e
-				this.$emit('change', {
-					filterType: this.filterType,
-					filter: e
-				})
-			},
-			timepickerclose(e) {
-				this.closePopup()
-			},
-			handleSelectSubmit() {
-				this.closePopup()
-				this.$emit('change', {
-					filterType: this.filterType,
-					filter: this.checkedValues
-				})
-			},
-			handleSelectReset() {
-				if (!this.canReset) {
-					return;
-				}
-				var items = this.dataList
-				for (let i = 0; i < items.length; i++) {
-					let item = items[i]
-					this.$set(item, 'checked', false)
-				}
-				this.checkedValues = []
-				this.handleSelectSubmit()
-			},
-			handleSearchSubmit() {
-				this.closePopup()
-				this.$emit('change', {
-					filterType: this.filterType,
-					filter: this.filterValue
-				})
-			},
-			handleSearchReset() {
-				if (!this.canReset) {
-					return;
-				}
-				this.filterValue = ''
-				this.handleSearchSubmit()
-			},
-			handleRangeSubmit(isReset) {
-				this.closePopup()
-				this.$emit('change', {
-					filterType: this.filterType,
-					filter: isReset === true ? [] : [parseInt(this.gtValue), parseInt(this.ltValue)]
-				})
-			},
-			handleRangeReset() {
-				if (!this.canReset) {
-					return;
-				}
-				this.gtValue = ''
-				this.ltValue = ''
-				this.handleRangeSubmit(true)
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.flex-r {
-		display: flex;
-		flex-direction: row;
-	}
-
-	.flex-f {
-		flex: 1;
-	}
-
-	.a-i-c {
-		align-items: center;
-	}
-
-	.j-c-c {
-		justify-content: center;
-	}
-
-	.icon-select {
-		width: 14px;
-		height: 16px;
-		border: solid 6px transparent;
-		border-top: solid 6px #ddd;
-		border-bottom: none;
-		background-color: #ddd;
-		background-clip: content-box;
-		box-sizing: border-box;
-	}
-
-	.icon-select.active {
-		background-color: #1890ff;
-		border-top-color: #1890ff;
-	}
-
-	.icon-search {
-		width: 12px;
-		height: 16px;
-		position: relative;
-	}
-
-	.icon-search-0 {
-		border: 2px solid #ddd;
-		border-radius: 8px;
-		width: 7px;
-		height: 7px;
-	}
-
-	.icon-search-1 {
-		position: absolute;
-		top: 8px;
-		right: 0;
-		width: 1px;
-		height: 7px;
-		background-color: #ddd;
-		transform: rotate(-45deg);
-	}
-
-	.icon-search.active .icon-search-0 {
-		border-color: #1890ff;
-	}
-
-	.icon-search.active .icon-search-1 {
-		background-color: #1890ff;
-	}
-
-	.icon-calendar {
-		color: #ddd;
-		width: 14px;
-		height: 16px;
-	}
-
-	.icon-calendar-0 {
-		height: 4px;
-		margin-top: 3px;
-		margin-bottom: 1px;
-		background-color: #ddd;
-		border-radius: 2px 2px 1px 1px;
-		position: relative;
-	}
-	.icon-calendar-0:before, .icon-calendar-0:after {
-		content: '';
-		position: absolute;
-		top: -3px;
-		width: 4px;
-		height: 3px;
-		border-radius: 1px;
-		background-color: #ddd;
-	}
-	.icon-calendar-0:before {
-		left: 2px;
-	}
-	.icon-calendar-0:after {
-		right: 2px;
-	}
-
-	.icon-calendar-1 {
-		height: 9px;
-		background-color: #ddd;
-		border-radius: 1px 1px 2px 2px;
-	}
-
-	.icon-calendar.active {
-		color: #1890ff;
-	}
-
-	.icon-calendar.active .icon-calendar-0,
-	.icon-calendar.active .icon-calendar-1,
-	.icon-calendar.active .icon-calendar-0:before,
-	.icon-calendar.active .icon-calendar-0:after {
-		background-color: #1890ff;
-	}
-
-	.uni-filter-dropdown {
-		position: relative;
-		font-weight: normal;
-	}
-
-	.dropdown-popup {
-		position: absolute;
-		top: 100%;
-		background-color: #fff;
-		box-shadow: 0 3px 6px -4px #0000001f, 0 6px 16px #00000014, 0 9px 28px 8px #0000000d;
-		min-width: 150px;
-		z-index: 1000;
-	}
-
-	.dropdown-popup-left {
-		left: 0;
-	}
-
-	.dropdown-popup-right {
-		right: 0;
-	}
-
-	.uni-dropdown-cover {
-		position: fixed;
-		left: 0;
-		top: 0;
-		right: 0;
-		bottom: 0;
-		background-color: transparent;
-		z-index: 100;
-	}
-
-	.list {
-		margin-top: 5px;
-		margin-bottom: 5px;
-	}
-
-	.list-item {
-		padding: 5px 10px;
-		text-align: left;
-	}
-
-	.list-item:hover {
-		background-color: #f0f0f0;
-	}
-
-	.check {
-		margin-right: 5px;
-	}
-
-	.search-area {
-		padding: 10px;
-	}
-
-	.search-input {
-		font-size: 12px;
-		border: 1px solid #f0f0f0;
-		border-radius: 3px;
-		padding: 2px 5px;
-		min-width: 150px;
-		text-align: left;
-	}
-
-	.input-label {
-		margin: 10px 10px 5px 10px;
-		text-align: left;
-	}
-
-	.input {
-		font-size: 12px;
-		border: 1px solid #f0f0f0;
-		border-radius: 3px;
-		margin: 10px;
-		padding: 2px 5px;
-		min-width: 150px;
-		text-align: left;
-	}
-
-	.opera-area {
-		cursor: default;
-		border-top: 1px solid #ddd;
-		padding: 5px;
-	}
-
-	.opera-area .btn {
-		font-size: 12px;
-		border-radius: 3px;
-		margin: 5px;
-		padding: 4px 4px;
-	}
-
-	.btn-default {
-		border: 1px solid #ddd;
-	}
-
-	.btn-default.disable {
-		border-color: transparent;
-	}
-
-	.btn-submit {
-		background-color: #1890ff;
-		color: #ffffff;
-	}
-</style>
diff --git a/src/uni_modules/uni-table/components/uni-th/uni-th.vue b/src/uni_modules/uni-table/components/uni-th/uni-th.vue
deleted file mode 100644
index 883e3f2..0000000
--- a/src/uni_modules/uni-table/components/uni-th/uni-th.vue
+++ /dev/null
@@ -1,278 +0,0 @@
-<template>
-	<!-- #ifdef H5 -->
-	<th :rowspan="rowspan" :colspan="colspan" class="uni-table-th" :class="{ 'table--border': border }" :style="{ width: customWidth + 'px', 'text-align': align }">
-		<view class="uni-table-th-row">
-			<view class="uni-table-th-content" :style="{ 'justify-content': contentAlign }" @click="sort">
-				<slot></slot>
-				<view v-if="sortable" class="arrow-box">
-					<text class="arrow up" :class="{ active: ascending }" @click.stop="ascendingFn"></text>
-					<text class="arrow down" :class="{ active: descending }" @click.stop="descendingFn"></text>
-				</view>
-			</view>
-			<dropdown v-if="filterType || filterData.length" :filterData="filterData" :filterType="filterType" @change="ondropdown"></dropdown>
-		</view>
-	</th>
-	<!-- #endif -->
-	<!-- #ifndef H5 -->
-	<view class="uni-table-th" :class="{ 'table--border': border }" :style="{ width: customWidth + 'px', 'text-align': align }"><slot></slot></view>
-	<!-- #endif -->
-</template>
-
-<script>
-	// #ifdef H5
-	import dropdown from './filter-dropdown.vue'
-	// #endif
-/**
- * Th 琛ㄥご
- * @description 琛ㄦ牸鍐呯殑琛ㄥご鍗曞厓鏍肩粍浠�
- * @tutorial https://ext.dcloud.net.cn/plugin?id=3270
- * @property {Number | String} 	width 	鍗曞厓鏍煎搴︼紙鏀寔绾暟瀛椼�佹惡甯﹀崟浣峱x鎴杛px锛�
- * @property {Boolean} 	sortable 					鏄惁鍚敤鎺掑簭
- * @property {Number} 	align = [left|center|right]	鍗曞厓鏍煎榻愭柟寮�
- * @value left   	鍗曞厓鏍兼枃瀛楀乏渚у榻�
- * @value center	鍗曞厓鏍兼枃瀛楀眳涓�
- * @value right		鍗曞厓鏍兼枃瀛楀彸渚у榻�
- * @property {Array}	filterData 绛涢�夋暟鎹�
- * @property {String}	filterType	[search|select] 绛涢�夌被鍨�
- * @value search	鍏抽敭瀛楁悳绱�
- * @value select	鏉′欢閫夋嫨
- * @event {Function} sort-change 鎺掑簭瑙﹀彂浜嬩欢
- */
-export default {
-	name: 'uniTh',
-	options: {
-		virtualHost: true
-	},
-	components: {
-		// #ifdef H5
-		dropdown
-		// #endif
-	},
-	emits:['sort-change','filter-change'],
-	props: {
-		width: {
-			type: [String, Number],
-			default: ''
-		},
-		align: {
-			type: String,
-			default: 'left'
-		},
-		rowspan: {
-			type: [Number, String],
-			default: 1
-		},
-		colspan: {
-			type: [Number, String],
-			default: 1
-		},
-		sortable: {
-			type: Boolean,
-			default: false
-		},
-		filterType: {
-			type: String,
-			default: ""
-		},
-		filterData: {
-			type: Array,
-			default () {
-				return []
-			}
-		}
-	},
-	data() {
-		return {
-			border: false,
-			ascending: false,
-			descending: false
-		}
-	},
-	computed: {
-		// 鏍规嵁props涓殑width灞炴�� 鑷姩鍖归厤褰撳墠th鐨勫搴�(px)
-		customWidth(){
-			if(typeof this.width === 'number'){
-				return this.width
-			} else if(typeof this.width === 'string') {
-				let regexHaveUnitPx = new RegExp(/^[1-9][0-9]*px$/g)
-				let regexHaveUnitRpx = new RegExp(/^[1-9][0-9]*rpx$/g)
-				let regexHaveNotUnit = new RegExp(/^[1-9][0-9]*$/g)
-				if (this.width.match(regexHaveUnitPx) !== null) { // 鎼哄甫浜� px
-					return this.width.replace('px', '')
-				} else if (this.width.match(regexHaveUnitRpx) !== null) { // 鎼哄甫浜� rpx
-					let numberRpx = Number(this.width.replace('rpx', ''))
-					let widthCoe = uni.getSystemInfoSync().screenWidth / 750
-					return Math.round(numberRpx * widthCoe)
-				} else if (this.width.match(regexHaveNotUnit) !== null) { // 鏈惡甯� rpx鎴杙x 鐨勭函鏁板瓧 String
-					return this.width
-				} else { // 涓嶇鍚堟牸寮�
-					return ''
-				}
-			} else {
-				return ''
-			}
-		},
-		contentAlign() {
-			let align = 'left'
-			switch (this.align) {
-				case 'left':
-					align = 'flex-start'
-					break
-				case 'center':
-					align = 'center'
-					break
-				case 'right':
-					align = 'flex-end'
-					break
-			}
-			return align
-		}
-	},
-	created() {
-		this.root = this.getTable('uniTable')
-		this.rootTr = this.getTable('uniTr')
-		this.rootTr.minWidthUpdate(this.customWidth ? this.customWidth : 140)
-		this.border = this.root.border
-		this.root.thChildren.push(this)
-	},
-	methods: {
-		sort() {
-			if (!this.sortable) return
-			this.clearOther()
-			if (!this.ascending && !this.descending) {
-				this.ascending = true
-				this.$emit('sort-change', { order: 'ascending' })
-				return
-			}
-			if (this.ascending && !this.descending) {
-				this.ascending = false
-				this.descending = true
-				this.$emit('sort-change', { order: 'descending' })
-				return
-			}
-
-			if (!this.ascending && this.descending) {
-				this.ascending = false
-				this.descending = false
-				this.$emit('sort-change', { order: null })
-			}
-		},
-		ascendingFn() {
-			this.clearOther()
-			this.ascending = !this.ascending
-			this.descending = false
-			this.$emit('sort-change', { order: this.ascending ? 'ascending' : null })
-		},
-		descendingFn() {
-			this.clearOther()
-			this.descending = !this.descending
-			this.ascending = false
-			this.$emit('sort-change', { order: this.descending ? 'descending' : null })
-		},
-		clearOther() {
-			this.root.thChildren.map(item => {
-				if (item !== this) {
-					item.ascending = false
-					item.descending = false
-				}
-				return item
-			})
-		},
-		ondropdown(e) {
-			this.$emit("filter-change", e)
-		},
-		/**
-		 * 鑾峰彇鐖跺厓绱犲疄渚�
-		 */
-		getTable(name) {
-			let parent = this.$parent
-			let parentName = parent.$options.name
-			while (parentName !== name) {
-				parent = parent.$parent
-				if (!parent) return false
-				parentName = parent.$options.name
-			}
-			return parent
-		}
-	}
-}
-</script>
-
-<style lang="scss">
-$border-color: #ebeef5;
-
-.uni-table-th {
-	padding: 12px 10px;
-	/* #ifndef APP-NVUE */
-	display: table-cell;
-	box-sizing: border-box;
-	/* #endif */
-	font-size: 14px;
-	font-weight: bold;
-	color: #909399;
-	border-bottom: 1px $border-color solid;
-}
-
-.uni-table-th-row {
-	/* #ifndef APP-NVUE */
-	display: flex;
-	/* #endif */
-	flex-direction: row;
-}
-
-.table--border {
-	border-right: 1px $border-color solid;
-}
-.uni-table-th-content {
-	display: flex;
-	align-items: center;
-	flex: 1;
-}
-.arrow-box {
-}
-.arrow {
-	display: block;
-	position: relative;
-	width: 10px;
-	height: 8px;
-	// border: 1px red solid;
-	left: 5px;
-	overflow: hidden;
-	cursor: pointer;
-}
-.down {
-	top: 3px;
-	::after {
-		content: '';
-		width: 8px;
-		height: 8px;
-		position: absolute;
-		left: 2px;
-		top: -5px;
-		transform: rotate(45deg);
-		background-color: #ccc;
-	}
-	&.active {
-		::after {
-			background-color: #007aff;
-		}
-	}
-}
-.up {
-	::after {
-		content: '';
-		width: 8px;
-		height: 8px;
-		position: absolute;
-		left: 2px;
-		top: 5px;
-		transform: rotate(45deg);
-		background-color: #ccc;
-	}
-	&.active {
-		::after {
-			background-color: #007aff;
-		}
-	}
-}
-</style>
diff --git a/src/uni_modules/uni-table/components/uni-thead/uni-thead.vue b/src/uni_modules/uni-table/components/uni-thead/uni-thead.vue
deleted file mode 100644
index 0dd18cd..0000000
--- a/src/uni_modules/uni-table/components/uni-thead/uni-thead.vue
+++ /dev/null
@@ -1,129 +0,0 @@
-<template>
-	<!-- #ifdef H5 -->
-	<thead class="uni-table-thead">
-		<tr class="uni-table-tr">
-			<th :rowspan="rowspan" colspan="1" class="checkbox" :class="{ 'tr-table--border': border }">
-				<table-checkbox :indeterminate="indeterminate" :checked="checked" @checkboxSelected="checkboxSelected"></table-checkbox>
-			</th>
-		</tr>
-		<slot></slot>
-	</thead>
-	<!-- #endif -->
-	<!-- #ifndef H5 -->
-	<view class="uni-table-thead"><slot></slot></view>
-	<!-- #endif -->
-</template>
-
-<script>
-import tableCheckbox from '../uni-tr/table-checkbox.vue'
-export default {
-	name: 'uniThead',
-	components: {
-		tableCheckbox
-	},
-	options: {
-		virtualHost: true
-	},
-	data() {
-		return {
-			border: false,
-			selection: false,
-			rowspan: 1,
-			indeterminate: false,
-			checked: false
-		}
-	},
-	created() {
-		this.root = this.getTable()
-		// #ifdef H5
-		this.root.theadChildren = this
-		// #endif
-		this.border = this.root.border
-		this.selection = this.root.type
-	},
-	methods: {
-		init(self) {
-			this.rowspan++
-		},
-		checkboxSelected(e) {
-			this.indeterminate = false
-			const backIndexData = this.root.backIndexData
-			const data = this.root.trChildren.filter(v => !v.disabled && v.keyValue)
-			if (backIndexData.length === data.length) {
-				this.checked = false
-				this.root.clearSelection()
-			} else {
-				this.checked = true
-				this.root.selectionAll()
-			}
-		},
-		/**
-		 * 鑾峰彇鐖跺厓绱犲疄渚�
-		 */
-		getTable(name = 'uniTable') {
-			let parent = this.$parent
-			let parentName = parent.$options.name
-			while (parentName !== name) {
-				parent = parent.$parent
-				if (!parent) return false
-				parentName = parent.$options.name
-			}
-			return parent
-		}
-	}
-}
-</script>
-
-<style lang="scss">
-$border-color: #ebeef5;
-
-.uni-table-thead {
-	display: table-header-group;
-}
-
-.uni-table-tr {
-	/* #ifndef APP-NVUE */
-	display: table-row;
-	transition: all 0.3s;
-	box-sizing: border-box;
-	/* #endif */
-	border: 1px red solid;
-	background-color: #fafafa;
-}
-
-.checkbox {
-	padding: 0 8px;
-	width: 26px;
-	padding-left: 12px;
-	/* #ifndef APP-NVUE */
-	display: table-cell;
-	vertical-align: middle;
-	/* #endif */
-	color: #333;
-	font-weight: 500;
-	border-bottom: 1px $border-color solid;
-	font-size: 14px;
-	// text-align: center;
-}
-
-.tr-table--border {
-	border-right: 1px $border-color solid;
-}
-
-/* #ifndef APP-NVUE */
-.uni-table-tr {
-	::v-deep .uni-table-th {
-		&.table--border:last-child {
-			// border-right: none;
-		}
-	}
-
-	::v-deep .uni-table-td {
-		&.table--border:last-child {
-			// border-right: none;
-		}
-	}
-}
-
-/* #endif */
-</style>
diff --git a/src/uni_modules/uni-table/components/uni-tr/table-checkbox.vue b/src/uni_modules/uni-table/components/uni-tr/table-checkbox.vue
deleted file mode 100644
index 158f3ff..0000000
--- a/src/uni_modules/uni-table/components/uni-tr/table-checkbox.vue
+++ /dev/null
@@ -1,179 +0,0 @@
-<template>
-	<view class="uni-table-checkbox" @click="selected">
-		<view v-if="!indeterminate" class="checkbox__inner" :class="{'is-checked':isChecked,'is-disable':isDisabled}">
-			<view class="checkbox__inner-icon"></view>
-		</view>
-		<view v-else class="checkbox__inner checkbox--indeterminate">
-			<view class="checkbox__inner-icon"></view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		name: 'TableCheckbox',
-		emits:['checkboxSelected'],
-		props: {
-			indeterminate: {
-				type: Boolean,
-				default: false
-			},
-			checked: {
-				type: [Boolean,String],
-				default: false
-			},
-			disabled: {
-				type: Boolean,
-				default: false
-			},
-			index: {
-				type: Number,
-				default: -1
-			},
-			cellData: {
-				type: Object,
-				default () {
-					return {}
-				}
-			}
-		},
-		watch:{
-			checked(newVal){
-				if(typeof this.checked === 'boolean'){
-					this.isChecked = newVal
-				}else{
-					this.isChecked = true
-				}
-			},
-			indeterminate(newVal){
-				this.isIndeterminate = newVal
-			}
-		},
-		data() {
-			return {
-				isChecked: false,
-				isDisabled: false,
-				isIndeterminate:false
-			}
-		},
-		created() {
-			if(typeof this.checked === 'boolean'){
-				this.isChecked = this.checked
-			}
-			this.isDisabled = this.disabled
-		},
-		methods: {
-			selected() {
-				if (this.isDisabled) return
-				this.isIndeterminate = false
-				this.isChecked = !this.isChecked
-				this.$emit('checkboxSelected', {
-					checked: this.isChecked,
-					data: this.cellData
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	$checked-color: #007aff;
-	$border-color: #DCDFE6;
-	$disable:0.4;
-
-	.uni-table-checkbox {
-		display: flex;
-		flex-direction: row;
-		align-items: center;
-		justify-content: center;
-		position: relative;
-		margin: 5px 0;
-		cursor: pointer;
-
-		// 澶氶�夋牱寮�
-		.checkbox__inner {
-			/* #ifndef APP-NVUE */
-			flex-shrink: 0;
-			box-sizing: border-box;
-			/* #endif */
-			position: relative;
-			width: 16px;
-			height: 16px;
-			border: 1px solid $border-color;
-			border-radius: 2px;
-			background-color: #fff;
-			z-index: 1;
-
-			.checkbox__inner-icon {
-				position: absolute;
-				/* #ifdef APP-NVUE */
-				top: 2px;
-				/* #endif */
-				/* #ifndef APP-NVUE */
-				top: 2px;
-				/* #endif */
-				left: 5px;
-				height: 7px;
-				width: 3px;
-				border: 1px solid #fff;
-				border-left: 0;
-				border-top: 0;
-				opacity: 0;
-				transform-origin: center;
-				transform: rotate(45deg);
-				box-sizing: content-box;
-			}
-
-			&.checkbox--indeterminate {
-				border-color: $checked-color;
-				background-color: $checked-color;
-
-				.checkbox__inner-icon {
-					position: absolute;
-					opacity: 1;
-					transform: rotate(0deg);
-					height: 2px;
-					top: 0;
-					bottom: 0;
-					margin: auto;
-					left: 0px;
-					right: 0px;
-					bottom: 0;
-					width: auto;
-					border: none;
-					border-radius: 2px;
-					transform: scale(0.5);
-					background-color: #fff;
-				}
-			}
-			&:hover{
-				border-color: $checked-color;
-			}
-			// 绂佺敤
-			&.is-disable {
-				/* #ifdef H5 */
-				cursor: not-allowed;
-				/* #endif */
-				background-color: #F2F6FC;
-				border-color: $border-color;
-			}
-
-			// 閫変腑
-			&.is-checked {
-				border-color: $checked-color;
-				background-color: $checked-color;
-
-				.checkbox__inner-icon {
-					opacity: 1;
-					transform: rotate(45deg);
-				}
-
-				// 閫変腑绂佺敤
-				&.is-disable {
-					opacity: $disable;
-				}
-			}
-			
-		}
-	}
-</style>
diff --git a/src/uni_modules/uni-table/components/uni-tr/uni-tr.vue b/src/uni_modules/uni-table/components/uni-tr/uni-tr.vue
deleted file mode 100644
index f9b9671..0000000
--- a/src/uni_modules/uni-table/components/uni-tr/uni-tr.vue
+++ /dev/null
@@ -1,171 +0,0 @@
-<template>
-	<!-- #ifdef H5 -->
-	<tr class="uni-table-tr">
-		<th v-if="selection === 'selection' && ishead" class="checkbox" :class="{ 'tr-table--border': border }">
-			<table-checkbox :checked="checked" :indeterminate="indeterminate" :disabled="disabled" @checkboxSelected="checkboxSelected"></table-checkbox>
-		</th>
-		<slot></slot>
-		<!-- <uni-th class="th-fixed">123</uni-th> -->
-	</tr>
-	<!-- #endif -->
-	<!-- #ifndef H5 -->
-	<view class="uni-table-tr">
-		<view v-if="selection === 'selection' " class="checkbox" :class="{ 'tr-table--border': border }">
-			<table-checkbox :checked="checked" :indeterminate="indeterminate" :disabled="disabled" @checkboxSelected="checkboxSelected"></table-checkbox>
-		</view>
-		<slot></slot>
-	</view>
-	<!-- #endif -->
-</template>
-
-<script>
-	import tableCheckbox from './table-checkbox.vue'
-/**
- * Tr 琛ㄦ牸琛岀粍浠�
- * @description 琛ㄦ牸琛岀粍浠� 浠呭寘鍚� th,td 缁勪欢
- * @tutorial https://ext.dcloud.net.cn/plugin?id=
- */
-export default {
-	name: 'uniTr',
-	components: { tableCheckbox },
-	props: {
-		disabled: {
-			type: Boolean,
-			default: false
-		},
-		keyValue: {
-			type: [String, Number],
-			default: ''
-		}
-	},
-	options: {
-		virtualHost: true
-	},
-	data() {
-		return {
-			value: false,
-			border: false,
-			selection: false,
-			widthThArr: [],
-			ishead: true,
-			checked: false,
-			indeterminate:false
-		}
-	},
-	created() {
-		this.root = this.getTable()
-		this.head = this.getTable('uniThead')
-		if (this.head) {
-			this.ishead = false
-			this.head.init(this)
-		}
-		this.border = this.root.border
-		this.selection = this.root.type
-		this.root.trChildren.push(this)
-		const rowData = this.root.data.find(v => v[this.root.rowKey] === this.keyValue)
-		if(rowData){
-			this.rowData = rowData
-		}
-		this.root.isNodata()
-	},
-	mounted() {
-		if (this.widthThArr.length > 0) {
-			const selectionWidth = this.selection === 'selection' ? 50 : 0
-			this.root.minWidth = this.widthThArr.reduce((a, b) => Number(a) + Number(b)) + selectionWidth
-		}
-	},
-	// #ifndef VUE3
-	destroyed() {
-		const index = this.root.trChildren.findIndex(i => i === this)
-		this.root.trChildren.splice(index, 1)
-		this.root.isNodata()
-	},
-	// #endif
-	// #ifdef VUE3
-	unmounted() {
-		const index = this.root.trChildren.findIndex(i => i === this)
-		this.root.trChildren.splice(index, 1)
-		this.root.isNodata()
-	},
-	// #endif
-	methods: {
-		minWidthUpdate(width) {
-			this.widthThArr.push(width)
-		},
-		// 閫変腑
-		checkboxSelected(e) {
-			let rootData = this.root.data.find(v => v[this.root.rowKey] === this.keyValue)
-			this.checked = e.checked
-			this.root.check(rootData||this, e.checked,rootData? this.keyValue:null)
-		},
-		change(e) {
-			this.root.trChildren.forEach(item => {
-				if (item === this) {
-					this.root.check(this, e.detail.value.length > 0 ? true : false)
-				}
-			})
-		},
-		/**
-		 * 鑾峰彇鐖跺厓绱犲疄渚�
-		 */
-		getTable(name = 'uniTable') {
-			let parent = this.$parent
-			let parentName = parent.$options.name
-			while (parentName !== name) {
-				parent = parent.$parent
-				if (!parent) return false
-				parentName = parent.$options.name
-			}
-			return parent
-		}
-	}
-}
-</script>
-
-<style lang="scss">
-$border-color: #ebeef5;
-
-.uni-table-tr {
-	/* #ifndef APP-NVUE */
-	display: table-row;
-	transition: all 0.3s;
-	box-sizing: border-box;
-	/* #endif */
-}
-
-.checkbox {
-	padding: 0 8px;
-	width: 26px;
-	padding-left: 12px;
-	/* #ifndef APP-NVUE */
-	display: table-cell;
-	vertical-align: middle;
-	/* #endif */
-	color: #333;
-	font-weight: 500;
-	border-bottom: 1px $border-color solid;
-	font-size: 14px;
-	// text-align: center;
-}
-
-.tr-table--border {
-	border-right: 1px $border-color solid;
-}
-
-/* #ifndef APP-NVUE */
-.uni-table-tr {
-	::v-deep .uni-table-th {
-		&.table--border:last-child {
-			// border-right: none;
-		}
-	}
-
-	::v-deep .uni-table-td {
-		&.table--border:last-child {
-			// border-right: none;
-		}
-	}
-}
-
-/* #endif */
-</style>
diff --git a/src/uni_modules/uni-table/i18n/en.json b/src/uni_modules/uni-table/i18n/en.json
deleted file mode 100644
index e32023c..0000000
--- a/src/uni_modules/uni-table/i18n/en.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"filter-dropdown.reset": "Reset",
-	"filter-dropdown.search": "Search",
-	"filter-dropdown.submit": "Submit",
-	"filter-dropdown.filter": "Filter",
-	"filter-dropdown.gt": "Greater or equal to",
-	"filter-dropdown.lt": "Less than or equal to",
-	"filter-dropdown.date": "Date"
-}
diff --git a/src/uni_modules/uni-table/i18n/es.json b/src/uni_modules/uni-table/i18n/es.json
deleted file mode 100644
index 9afd04b..0000000
--- a/src/uni_modules/uni-table/i18n/es.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"filter-dropdown.reset": "Reiniciar",
-	"filter-dropdown.search": "B煤squeda",
-	"filter-dropdown.submit": "Entregar",
-	"filter-dropdown.filter": "Filtrar",
-	"filter-dropdown.gt": "Mayor o igual a",
-	"filter-dropdown.lt": "Menos que o igual a",
-	"filter-dropdown.date": "Fecha"
-}
diff --git a/src/uni_modules/uni-table/i18n/fr.json b/src/uni_modules/uni-table/i18n/fr.json
deleted file mode 100644
index b006237..0000000
--- a/src/uni_modules/uni-table/i18n/fr.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"filter-dropdown.reset": "R茅initialiser",
-	"filter-dropdown.search": "Chercher",
-	"filter-dropdown.submit": "Soumettre",
-	"filter-dropdown.filter": "Filtre",
-	"filter-dropdown.gt": "Sup茅rieur ou 茅gal 脿",
-	"filter-dropdown.lt": "Inf茅rieur ou 茅gal 脿",
-	"filter-dropdown.date": "Date"
-}
diff --git a/src/uni_modules/uni-table/i18n/index.js b/src/uni_modules/uni-table/i18n/index.js
deleted file mode 100644
index 2469dd0..0000000
--- a/src/uni_modules/uni-table/i18n/index.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import en from './en.json'
-import es from './es.json'
-import fr from './fr.json'
-import zhHans from './zh-Hans.json'
-import zhHant from './zh-Hant.json'
-export default {
-	en,
-	es,
-	fr,
-	'zh-Hans': zhHans,
-	'zh-Hant': zhHant
-}
diff --git a/src/uni_modules/uni-table/i18n/zh-Hans.json b/src/uni_modules/uni-table/i18n/zh-Hans.json
deleted file mode 100644
index 862af17..0000000
--- a/src/uni_modules/uni-table/i18n/zh-Hans.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"filter-dropdown.reset": "閲嶇疆",
-	"filter-dropdown.search": "鎼滅储",
-	"filter-dropdown.submit": "纭畾",
-	"filter-dropdown.filter": "绛涢��",
-	"filter-dropdown.gt": "澶т簬绛変簬",
-	"filter-dropdown.lt": "灏忎簬绛変簬",
-	"filter-dropdown.date": "鏃ユ湡鑼冨洿"
-}
diff --git a/src/uni_modules/uni-table/i18n/zh-Hant.json b/src/uni_modules/uni-table/i18n/zh-Hant.json
deleted file mode 100644
index 64f8061..0000000
--- a/src/uni_modules/uni-table/i18n/zh-Hant.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-	"filter-dropdown.reset": "閲嶇疆",
-	"filter-dropdown.search": "鎼滅储",
-	"filter-dropdown.submit": "纰哄畾",
-	"filter-dropdown.filter": "绡╅伕",
-	"filter-dropdown.gt": "澶ф柤绛夋柤",
-	"filter-dropdown.lt": "灏忔柤绛夋柤",
-	"filter-dropdown.date": "鏃ユ湡绡勫湇"
-}
diff --git a/src/uni_modules/uni-table/package.json b/src/uni_modules/uni-table/package.json
deleted file mode 100644
index f224ab7..0000000
--- a/src/uni_modules/uni-table/package.json
+++ /dev/null
@@ -1,86 +0,0 @@
-{
-  "id": "uni-table",
-  "displayName": "uni-table 琛ㄦ牸",
-  "version": "1.2.1",
-  "description": "琛ㄦ牸缁勪欢锛屽鐢ㄤ簬灞曠ず澶氭潯缁撴瀯绫讳技鐨勬暟鎹紝濡�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "table",
-    "琛ㄦ牸"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss","uni-datetime-picker"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "n"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "n",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "n",
-          "鑱旂洘": "n"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-table/readme.md b/src/uni_modules/uni-table/readme.md
deleted file mode 100644
index bb08c79..0000000
--- a/src/uni_modules/uni-table/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-## Table 琛ㄥ崟
-> 缁勪欢鍚嶏細``uni-table``锛屼唬鐮佸潡锛� `uTable`銆�
-
-鐢ㄤ簬灞曠ず澶氭潯缁撴瀯绫讳技鐨勬暟鎹�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-table)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
-
-
-
-
diff --git a/src/uni_modules/uni-tag/changelog.md b/src/uni_modules/uni-tag/changelog.md
deleted file mode 100644
index c0c5839..0000000
--- a/src/uni_modules/uni-tag/changelog.md
+++ /dev/null
@@ -1,21 +0,0 @@
-## 2.1.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-tag](https://uniapp.dcloud.io/component/uniui/uni-tag)
-## 2.0.0锛�2021-11-09锛�
-- 鏂板 鎻愪緵缁勪欢璁捐璧勬簮锛岀粍浠舵牱寮忚皟鏁�
-- 绉婚櫎 鎻掓Ы
-- 绉婚櫎 type 灞炴�х殑 royal 閫夐」
-## 1.1.1锛�2021-08-11锛�
-- type 涓嶆槸 default 鏃讹紝size 涓� small 瀛椾綋澶у皬鏄剧ず涓嶆纭�
-## 1.1.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤簐ue3椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.0.7锛�2021-06-18锛�
-- 淇 uni-tag 鍦ㄥ瓧鑺傝烦鍔ㄥ皬绋嬪簭涓� css 绫诲悕缂栬瘧閿欒鐨� bug
-## 1.0.6锛�2021-06-04锛�
-- 淇 鏈畾涔� sass 鍙橀噺 "$uni-color-royal" 鐨刡ug
-## 1.0.5锛�2021-05-10锛�
-- 淇 royal 绫诲瀷鏃犳晥鐨刡ug
-- 淇 uni-tag 瀹藉害涓嶈嚜閫傚簲鐨刡ug
-- 鏂板 uni-tag 鏀寔灞炴�� custom-style 鑷畾涔夋牱寮�
-## 1.0.4锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-tag/components/uni-tag/uni-tag.vue b/src/uni_modules/uni-tag/components/uni-tag/uni-tag.vue
deleted file mode 100644
index 6378a0b..0000000
--- a/src/uni_modules/uni-tag/components/uni-tag/uni-tag.vue
+++ /dev/null
@@ -1,252 +0,0 @@
-<template>
-	<text class="uni-tag" v-if="text" :class="classes" :style="customStyle" @click="onClick">{{text}}</text>
-</template>
-
-<script>
-	/**
-	 * Tag 鏍囩
-	 * @description 鐢ㄤ簬灞曠ず1涓垨澶氫釜鏂囧瓧鏍囩锛屽彲鐐瑰嚮鍒囨崲閫変腑銆佷笉閫変腑鐨勭姸鎬�
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=35
-	 * @property {String} text 鏍囩鍐呭
-	 * @property {String} size = [default|small|mini] 澶у皬灏哄
-	 * 	@value default 姝e父
-	 * 	@value small 灏忓昂瀵�
-	 * 	@value mini 杩蜂綘灏哄
-	 * @property {String} type = [default|primary|success锝渨arning锝渆rror]  棰滆壊绫诲瀷
-	 * 	@value default 鐏拌壊
-	 * 	@value primary 钃濊壊
-	 * 	@value success 缁胯壊
-	 * 	@value warning 榛勮壊
-	 * 	@value error 绾㈣壊
-	 * @property {Boolean} disabled = [true|false] 鏄惁涓虹鐢ㄧ姸鎬�
-	 * @property {Boolean} inverted = [true|false] 鏄惁鏃犻渶鑳屾櫙棰滆壊锛堢┖蹇冩爣绛撅級
-	 * @property {Boolean} circle = [true|false] 鏄惁涓哄渾瑙�
-	 * @event {Function} click 鐐瑰嚮 Tag 瑙﹀彂浜嬩欢
-	 */
-
-	export default {
-		name: "UniTag",
-		emits: ['click'],
-		props: {
-			type: {
-				// 鏍囩绫诲瀷default銆乸rimary銆乻uccess銆亀arning銆乪rror銆乺oyal
-				type: String,
-				default: "default"
-			},
-			size: {
-				// 鏍囩澶у皬 normal, small
-				type: String,
-				default: "normal"
-			},
-			// 鏍囩鍐呭
-			text: {
-				type: String,
-				default: ""
-			},
-			disabled: {
-				// 鏄惁涓虹鐢ㄧ姸鎬�
-				type: [Boolean, String],
-				default: false
-			},
-			inverted: {
-				// 鏄惁涓虹┖蹇�
-				type: [Boolean, String],
-				default: false
-			},
-			circle: {
-				// 鏄惁涓哄渾瑙掓牱寮�
-				type: [Boolean, String],
-				default: false
-			},
-			mark: {
-				// 鏄惁涓烘爣璁版牱寮�
-				type: [Boolean, String],
-				default: false
-			},
-			customStyle: {
-				type: String,
-				default: ''
-			}
-		},
-		computed: {
-			classes() {
-				const {
-					type,
-					disabled,
-					inverted,
-					circle,
-					mark,
-					size,
-					isTrue
-				} = this
-				const classArr = [
-					'uni-tag--' + type,
-					'uni-tag--' + size,
-					isTrue(disabled) ? 'uni-tag--disabled' : '',
-					isTrue(inverted) ? 'uni-tag--' + type + '--inverted' : '',
-					isTrue(circle) ? 'uni-tag--circle' : '',
-					isTrue(mark) ? 'uni-tag--mark' : '',
-					// type === 'default' ? 'uni-tag--default' : 'uni-tag-text',
-					isTrue(inverted) ? 'uni-tag--inverted uni-tag-text--' + type : '',
-					size === 'small' ? 'uni-tag-text--small' : ''
-				]
-				// 杩斿洖绫荤殑瀛楃涓诧紝鍏煎瀛楄妭灏忕▼搴�
-				return classArr.join(' ')
-			}
-		},
-		methods: {
-			isTrue(value) {
-				return value === true || value === 'true'
-			},
-			onClick() {
-				if (this.isTrue(this.disabled)) return
-				this.$emit("click");
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	$uni-primary: #2979ff !default;
-	$uni-success: #18bc37 !default;
-	$uni-warning: #f3a73f !default;
-	$uni-error: #e43d33 !default;
-	$uni-info: #8f939c !default;
-
-
-	$tag-default-pd: 4px 7px;
-	$tag-small-pd: 2px 5px;
-	$tag-mini-pd: 1px 3px;
-
-	.uni-tag {
-		line-height: 14px;
-		font-size: 12px;
-		font-weight: 200;
-		padding: $tag-default-pd;
-		color: #fff;
-		border-radius: 3px;
-		background-color: $uni-info;
-		border-width: 1rpx;
-		border-style: solid;
-		border-color: $uni-info;
-		/* #ifdef H5 */
-		cursor: pointer;
-		/* #endif */
-
-		// size attr
-		&--default {
-			font-size: 12px;
-		}
-
-		&--default--inverted {
-			color: $uni-info;
-			border-color: $uni-info;
-		}
-
-		&--small {
-			padding: $tag-small-pd;
-			font-size: 12px;
-			border-radius: 2px;
-		}
-
-		&--mini {
-			padding: $tag-mini-pd;
-			font-size: 12px;
-			border-radius: 2px;
-		}
-
-		// type attr
-		&--primary {
-			background-color: $uni-primary;
-			border-color: $uni-primary;
-			color: #fff;
-		}
-
-		&--success {
-			color: #fff;
-			background-color: $uni-success;
-			border-color: $uni-success;
-		}
-
-		&--warning {
-			color: #fff;
-			background-color: $uni-warning;
-			border-color: $uni-warning;
-		}
-
-		&--error {
-			color: #fff;
-			background-color: $uni-error;
-			border-color: $uni-error;
-		}
-
-		&--primary--inverted {
-			color: $uni-primary;
-			border-color: $uni-primary;
-		}
-
-		&--success--inverted {
-			color: $uni-success;
-			border-color: $uni-success;
-		}
-
-		&--warning--inverted {
-			color: $uni-warning;
-			border-color: $uni-warning;
-		}
-
-		&--error--inverted {
-			color: $uni-error;
-			border-color: $uni-error;
-		}
-
-		&--inverted {
-			background-color: #fff;
-		}
-
-		// other attr
-		&--circle {
-			border-radius: 15px !important;
-		}
-
-		&--mark {
-			border-top-left-radius: 0 !important;
-			border-bottom-left-radius: 0 !important;
-			border-top-right-radius: 15px !important;
-			border-bottom-right-radius: 15px !important;
-		}
-
-		&--disabled {
-			opacity: 0.5;
-			/* #ifdef H5 */
-			cursor: not-allowed;
-			/* #endif */
-		}
-	}
-
-
-	.uni-tag-text {
-		color: #fff;
-		font-size: 14px;
-
-		&--primary {
-			color: $uni-primary;
-		}
-
-		&--success {
-			color: $uni-success;
-		}
-
-		&--warning {
-			color: $uni-warning;
-		}
-
-		&--error {
-			color: $uni-error;
-		}
-
-		&--small {
-			font-size: 12px;
-		}
-	}
-</style>
diff --git a/src/uni_modules/uni-tag/package.json b/src/uni_modules/uni-tag/package.json
deleted file mode 100644
index 1878088..0000000
--- a/src/uni_modules/uni-tag/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "id": "uni-tag",
-  "displayName": "uni-tag 鏍囩",
-  "version": "2.1.0",
-  "description": "Tag 缁勪欢锛岀敤浜庡睍绀�1涓垨澶氫釜鏂囧瓧鏍囩锛屽彲鐐瑰嚮鍒囨崲閫変腑銆佷笉閫変腑鐨勭姸鎬併��",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "",
-    "tag",
-    "鏍囩"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-tag/readme.md b/src/uni_modules/uni-tag/readme.md
deleted file mode 100644
index 6e78ff5..0000000
--- a/src/uni_modules/uni-tag/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-## Tag 鏍囩
-> **缁勪欢鍚嶏細uni-tag**
-> 浠g爜鍧楋細 `uTag`
-
-
-鐢ㄤ簬灞曠ず1涓垨澶氫釜鏂囧瓧鏍囩锛屽彲鐐瑰嚮鍒囨崲閫変腑銆佷笉閫変腑鐨勭姸鎬� 銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-tag)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
-
-
diff --git a/src/uni_modules/uni-title/changelog.md b/src/uni_modules/uni-title/changelog.md
deleted file mode 100644
index 7626216..0000000
--- a/src/uni_modules/uni-title/changelog.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## 1.1.1锛�2022-05-19锛�
-- 淇敼缁勪欢鎻忚堪
-## 1.1.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-title](https://uniapp.dcloud.io/component/uniui/uni-title)
-## 1.0.2锛�2021-05-12锛�
-- 鏂板 绀轰緥鍦板潃
-- 淇 绀轰緥椤圭洰缂哄皯缁勪欢鐨凚ug
-## 1.0.1锛�2021-02-05锛�
-- 璋冩暣涓簎ni_modules鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-title/components/uni-title/uni-title.vue b/src/uni_modules/uni-title/components/uni-title/uni-title.vue
deleted file mode 100644
index bf4f926..0000000
--- a/src/uni_modules/uni-title/components/uni-title/uni-title.vue
+++ /dev/null
@@ -1,171 +0,0 @@
-<template>
-	<view class="uni-title__box" :style="{'align-items':textAlign}">
-		<text class="uni-title__base" :class="['uni-'+type]" :style="{'color':color}">{{title}}</text>
-	</view>
-</template>
-
-<script>
-	/**
-	 * Title 鏍囬
-	 * @description 鏍囬锛岄�氬父鐢ㄤ簬璁板綍椤甸潰鏍囬锛屼娇鐢ㄥ綋鍓嶇粍浠讹紝uni-app 濡傛灉寮�鍚粺璁★紝灏嗕細鑷姩缁熻椤甸潰鏍囬
-	 * @tutorial https://ext.dcloud.net.cn/plugin?id=1066
-	 * @property {String} type = [h1|h2|h3|h4|h5] 鏍囬绫诲瀷
-	 * 	@value h1 涓�绾ф爣棰�
-	 * 	@value h2 浜岀骇鏍囬
-	 * 	@value h3 涓夌骇鏍囬
-	 * 	@value h4 鍥涚骇鏍囬
-	 * 	@value h5 浜旂骇鏍囬
-	 * @property {String} title 鏍囬鍐呭
-	 * @property {String} align = [left|center|right] 瀵归綈鏂瑰紡
-	 * 	@value left 鍋氬榻�
-	 * 	@value center 灞呬腑瀵归綈
-	 * 	@value right 鍙冲榻�
-	 * @property {String} color 瀛椾綋棰滆壊
-	 * @property {Boolean} stat = [true|false] 鏄惁寮�鍚粺璁″姛鑳藉憿锛屽涓嶅~鍐檛ype鍊硷紝榛樿涓哄紑鍚紝濉啓 type 灞炴�э紝榛樿涓哄叧闂�
-	 */
-	export default {
-		name:"UniTitle",
-		props: {
-			type: {
-				type: String,
-				default: ''
-			},
-			title: {
-				type: String,
-				default: ''
-			},
-			align: {
-				type: String,
-				default: 'left'
-			},
-			color: {
-				type: String,
-				default: '#333333'
-			},
-			stat: {
-				type: [Boolean, String],
-				default: ''
-			}
-		},
-		data() {
-			return {
-
-			};
-		},
-		computed: {
-			textAlign() {
-				let align = 'center';
-				switch (this.align) {
-					case 'left':
-						align = 'flex-start'
-						break;
-					case 'center':
-						align = 'center'
-						break;
-					case 'right':
-						align = 'flex-end'
-						break;
-				}
-				return align
-			}
-		},
-		watch: {
-			title(newVal) {
-				if (this.isOpenStat()) {
-					// 涓婃姤鏁版嵁
-					if (uni.report) {
-						uni.report('title', this.title)
-					}
-				}
-			}
-		},
-		mounted() {
-			if (this.isOpenStat()) {
-				// 涓婃姤鏁版嵁
-				if (uni.report) {
-					uni.report('title', this.title)
-				}
-			}
-		},
-		methods: {
-			isOpenStat() {
-				if (this.stat === '') {
-					this.isStat = false
-				}
-				let stat_type = (typeof(this.stat) === 'boolean' && this.stat) || (typeof(this.stat) === 'string' && this.stat !==
-					'')
-				if (this.type === "") {
-					this.isStat = true
-					if (this.stat.toString() === 'false') {
-						this.isStat = false
-					}
-				}
-
-				if (this.type !== '') {
-					this.isStat = true
-					if (stat_type) {
-						this.isStat = true
-					} else {
-						this.isStat = false
-					}
-				}
-				return this.isStat
-			}
-		}
-	}
-</script>
-
-<style>
-	/* .uni-title {
-
-	} */
-	.uni-title__box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: column;
-		align-items: flex-start;
-		justify-content: center;
-		padding: 8px 0;
-		flex: 1;
-	}
-
-	.uni-title__base {
-		font-size: 15px;
-		color: #333;
-		font-weight: 500;
-	}
-
-	.uni-h1 {
-		font-size: 20px;
-		color: #333;
-		font-weight: bold;
-	}
-
-	.uni-h2 {
-		font-size: 18px;
-		color: #333;
-		font-weight: bold;
-	}
-
-	.uni-h3 {
-		font-size: 16px;
-		color: #333;
-		font-weight: bold;
-		/* font-weight: 400; */
-	}
-
-	.uni-h4 {
-		font-size: 14px;
-		color: #333;
-		font-weight: bold;
-		/* font-weight: 300; */
-	}
-
-	.uni-h5 {
-		font-size: 12px;
-		color: #333;
-		font-weight: bold;
-		/* font-weight: 200; */
-	}
-</style>
diff --git a/src/uni_modules/uni-title/package.json b/src/uni_modules/uni-title/package.json
deleted file mode 100644
index 2249f5a..0000000
--- a/src/uni_modules/uni-title/package.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
-  "id": "uni-title",
-  "displayName": "uni-title 绔犺妭鏍囬",
-  "version": "1.1.1",
-  "description": "绔犺妭鏍囬锛岄�氬父鐢ㄤ簬璁板綍椤甸潰鏍囬锛屼娇鐢ㄥ綋鍓嶇粍浠讹紝uni-app 濡傛灉寮�鍚粺璁★紝灏嗕細鑷姩缁熻椤甸潰鏍囬",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "鏍囬",
-    "绔犺妭",
-    "绔犺妭鏍囬",
-    ""
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-title/readme.md b/src/uni_modules/uni-title/readme.md
deleted file mode 100644
index 0e60b1b..0000000
--- a/src/uni_modules/uni-title/readme.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-## Title 鏍囬
-> **缁勪欢鍚嶏細uni-title**
-> 浠g爜鍧楋細 `uTitle`
-
-
-绔犺妭鏍囬锛岄�氬父鐢ㄤ簬璁板綍椤甸潰鏍囬锛屼娇鐢ㄥ綋鍓嶇粍浠讹紝uni-app 濡傛灉寮�鍚粺璁★紝灏嗕細鑷姩缁熻椤甸潰鏍囬 銆�
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-title)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
-
-
-
diff --git a/src/uni_modules/uni-tooltip/changelog.md b/src/uni_modules/uni-tooltip/changelog.md
deleted file mode 100644
index 00f1572..0000000
--- a/src/uni_modules/uni-tooltip/changelog.md
+++ /dev/null
@@ -1,10 +0,0 @@
-## 0.2.1锛�2022-05-09锛�
-- 淇 content 涓虹┖鏃朵粛鐒跺脊鍑虹殑bug
-## 0.2.0锛�2022-05-07锛�
-**娉ㄦ剰锛氱牬鍧忔�ф洿鏂�**
-- 鏇存柊 text 灞炴�у彉鏇翠负 content
-- 鏇存柊 绉婚櫎 width 灞炴��
-## 0.1.1锛�2022-04-27锛�
-- 淇 缁勪欢鏍� text 宓屽缁勪欢 warning
-## 0.1.0锛�2022-04-21锛�
-- 鍒濆鍖�
diff --git a/src/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue b/src/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue
deleted file mode 100644
index ffbb6fa..0000000
--- a/src/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue
+++ /dev/null
@@ -1,68 +0,0 @@
-<template>
-	<view class="uni-tooltip">
-		<slot></slot>
-		<view v-if="content || $slots.content" class="uni-tooltip-popup">
-			<slot name="content">
-				{{content}}
-			</slot>
-		</view>
-	</view>
-</template>
-
-
-<script>
-	/**
-	 * Tooltip 鎻愮ず鏂囧瓧
-	 * @description 甯哥敤浜庡睍绀洪紶鏍� hover 鏃剁殑鎻愮ず淇℃伅銆�
-	 * @tutorial https://uniapp.dcloud.io/component/uniui/uni-tooltip
-	 * @property {String} content   寮瑰嚭灞傛樉绀虹殑鍐呭
-	 * @property {String}  placement鍑虹幇浣嶇疆, 鐩墠鍙敮鎸� left
-	 */
-
-
-	export default {
-		name: "uni-tooltip",
-		data() {
-			return {
-
-			};
-		},
-		props: {
-			content: {
-				type: String,
-				default: ''
-			},
-
-			placement: {
-				type: String,
-				default: 'bottom'
-			},
-		}
-	}
-</script>
-
-<style>
-	.uni-tooltip {
-		position: relative;
-		cursor: pointer;
-	}
-
-	.uni-tooltip-popup {
-		z-index: 1;
-		display: none;
-		position: absolute;
-		left: 0;
-		background-color: #333;
-		border-radius: 8px;
-		color: #fff;
-		font-size: 12px;
-		text-align: left;
-		line-height: 16px;
-		padding: 12px;
-	}
-
-
-	.uni-tooltip:hover .uni-tooltip-popup {
-		display: block;
-	}
-</style>
diff --git a/src/uni_modules/uni-tooltip/package.json b/src/uni_modules/uni-tooltip/package.json
deleted file mode 100644
index e88ecf8..0000000
--- a/src/uni_modules/uni-tooltip/package.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
-  "id": "uni-tooltip",
-  "displayName": "uni-tooltip 鎻愮ず鏂囧瓧",
-  "version": "0.2.1",
-  "description": "Tooltip 鎻愮ず鏂囧瓧",
-  "keywords": [
-    "uni-tooltip",
-    "uni-ui",
-    "tooltip",
-    "tip",
-    "鏂囧瓧鎻愮ず"
-  ],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃� ",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": ""
-  },
-  "uni_modules": {
-    "dependencies": [],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "Vue": {
-          "vue2": "y",
-          "vue3": "y"
-        },
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "u"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "u",
-          "鐧惧害": "u",
-          "瀛楄妭璺冲姩": "u",
-          "QQ": "u",
-          "浜笢": "u"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-tooltip/readme.md b/src/uni_modules/uni-tooltip/readme.md
deleted file mode 100644
index faafa2e..0000000
--- a/src/uni_modules/uni-tooltip/readme.md
+++ /dev/null
@@ -1,8 +0,0 @@
-## Badge 鏁板瓧瑙掓爣
-> **缁勪欢鍚嶏細uni-tooltip**
-> 浠g爜鍧楋細 `uTooltip`
-
-鏁板瓧瑙掓爣涓�鑸拰鍏跺畠鎺т欢锛堝垪琛ㄣ��9瀹牸绛夛級閰嶅悎浣跨敤锛岀敤浜庤繘琛屾暟閲忔彁绀猴紝榛樿涓哄疄蹇冪伆鑹茶儗鏅紝
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-tooltip)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
diff --git a/src/uni_modules/uni-transition/changelog.md b/src/uni_modules/uni-transition/changelog.md
deleted file mode 100644
index b1a824b..0000000
--- a/src/uni_modules/uni-transition/changelog.md
+++ /dev/null
@@ -1,20 +0,0 @@
-## 1.3.1锛�2021-11-23锛�
-- 淇 init 鏂规硶鍒濆鍖栭棶棰�
-## 1.3.0锛�2021-11-19锛�
-- 浼樺寲 缁勪欢UI锛屽苟鎻愪緵璁捐璧勬簮锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource)
-- 鏂囨。杩佺Щ锛岃瑙�:[https://uniapp.dcloud.io/component/uniui/uni-transition](https://uniapp.dcloud.io/component/uniui/uni-transition)
-## 1.2.1锛�2021-09-27锛�
-- 淇 init 鏂规硶涓嶇敓鏁堢殑 Bug
-## 1.2.0锛�2021-07-30锛�
-- 缁勪欢鍏煎 vue3锛屽浣曞垱寤� vue3 椤圭洰锛岃瑙� [uni-app 椤圭洰鏀寔 vue3 浠嬬粛](https://ask.dcloud.net.cn/article/37834)
-## 1.1.1锛�2021-05-12锛�
-- 鏂板 绀轰緥鍦板潃
-- 淇 绀轰緥椤圭洰缂哄皯缁勪欢鐨� Bug
-## 1.1.0锛�2021-04-22锛�
-- 鏂板 閫氳繃鏂规硶鑷畾涔夊姩鐢�
-- 鏂板 custom-class 闈� NVUE 骞冲彴鏀寔鑷畾涔� class 瀹氬埗鏍峰紡
-- 浼樺寲 鍔ㄧ敾瑙﹀彂閫昏緫锛屼娇鍔ㄧ敾鏇存祦鐣�
-- 浼樺寲 鏀寔鍗曠嫭鐨勫姩鐢荤被鍨�
-- 浼樺寲 鏂囨。绀轰緥
-## 1.0.2锛�2021-02-05锛�
-- 璋冩暣涓� uni_modules 鐩綍瑙勮寖
diff --git a/src/uni_modules/uni-transition/components/uni-transition/createAnimation.js b/src/uni_modules/uni-transition/components/uni-transition/createAnimation.js
deleted file mode 100644
index 5f54365..0000000
--- a/src/uni_modules/uni-transition/components/uni-transition/createAnimation.js
+++ /dev/null
@@ -1,128 +0,0 @@
-// const defaultOption = {
-// 	duration: 300,
-// 	timingFunction: 'linear',
-// 	delay: 0,
-// 	transformOrigin: '50% 50% 0'
-// }
-// #ifdef APP-NVUE
-const nvueAnimation = uni.requireNativePlugin('animation')
-// #endif
-class MPAnimation {
-	constructor(options, _this) {
-		this.options = options
-		this.animation = uni.createAnimation(options)
-		this.currentStepAnimates = {}
-		this.next = 0
-		this.$ = _this
-
-	}
-
-	_nvuePushAnimates(type, args) {
-		let aniObj = this.currentStepAnimates[this.next]
-		let styles = {}
-		if (!aniObj) {
-			styles = {
-				styles: {},
-				config: {}
-			}
-		} else {
-			styles = aniObj
-		}
-		if (animateTypes1.includes(type)) {
-			if (!styles.styles.transform) {
-				styles.styles.transform = ''
-			}
-			let unit = ''
-			if(type === 'rotate'){
-				unit = 'deg'
-			}
-			styles.styles.transform += `${type}(${args+unit}) `
-		} else {
-			styles.styles[type] = `${args}`
-		}
-		this.currentStepAnimates[this.next] = styles
-	}
-	_animateRun(styles = {}, config = {}) {
-		let ref = this.$.$refs['ani'].ref
-		if (!ref) return
-		return new Promise((resolve, reject) => {
-			nvueAnimation.transition(ref, {
-				styles,
-				...config
-			}, res => {
-				resolve()
-			})
-		})
-	}
-
-	_nvueNextAnimate(animates, step = 0, fn) {
-		let obj = animates[step]
-		if (obj) {
-			let {
-				styles,
-				config
-			} = obj
-			this._animateRun(styles, config).then(() => {
-				step += 1
-				this._nvueNextAnimate(animates, step, fn)
-			})
-		} else {
-			this.currentStepAnimates = {}
-			typeof fn === 'function' && fn()
-			this.isEnd = true
-		}
-	}
-
-	step(config = {}) {
-		// #ifndef APP-NVUE
-		this.animation.step(config)
-		// #endif
-		// #ifdef APP-NVUE
-		this.currentStepAnimates[this.next].config = Object.assign({}, this.options, config)
-		this.currentStepAnimates[this.next].styles.transformOrigin = this.currentStepAnimates[this.next].config.transformOrigin
-		this.next++
-		// #endif
-		return this
-	}
-
-	run(fn) {
-		// #ifndef APP-NVUE
-		this.$.animationData = this.animation.export()
-		this.$.timer = setTimeout(() => {
-			typeof fn === 'function' && fn()
-		}, this.$.durationTime)
-		// #endif
-		// #ifdef APP-NVUE
-		this.isEnd = false
-		let ref = this.$.$refs['ani'] && this.$.$refs['ani'].ref
-		if(!ref) return
-		this._nvueNextAnimate(this.currentStepAnimates, 0, fn)
-		this.next = 0
-		// #endif
-	}
-}
-
-
-const animateTypes1 = ['matrix', 'matrix3d', 'rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scale3d',
-	'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'translate', 'translate3d', 'translateX', 'translateY',
-	'translateZ'
-]
-const animateTypes2 = ['opacity', 'backgroundColor']
-const animateTypes3 = ['width', 'height', 'left', 'right', 'top', 'bottom']
-animateTypes1.concat(animateTypes2, animateTypes3).forEach(type => {
-	MPAnimation.prototype[type] = function(...args) {
-		// #ifndef APP-NVUE
-		this.animation[type](...args)
-		// #endif
-		// #ifdef APP-NVUE
-		this._nvuePushAnimates(type, args)
-		// #endif
-		return this
-	}
-})
-
-export function createAnimation(option, _this) {
-	if(!_this) return
-	clearTimeout(_this.timer)
-	return new MPAnimation(option, _this)
-}
diff --git a/src/uni_modules/uni-transition/components/uni-transition/uni-transition.vue b/src/uni_modules/uni-transition/components/uni-transition/uni-transition.vue
deleted file mode 100644
index 0d739bd..0000000
--- a/src/uni_modules/uni-transition/components/uni-transition/uni-transition.vue
+++ /dev/null
@@ -1,277 +0,0 @@
-<template>
-	<view v-if="isShow" ref="ani" :animation="animationData" :class="customClass" :style="transformStyles" @click="onClick"><slot></slot></view>
-</template>
-
-<script>
-import { createAnimation } from './createAnimation'
-
-/**
- * Transition 杩囨浮鍔ㄧ敾
- * @description 绠�鍗曡繃娓″姩鐢荤粍浠�
- * @tutorial https://ext.dcloud.net.cn/plugin?id=985
- * @property {Boolean} show = [false|true] 鎺у埗缁勪欢鏄剧ず鎴栭殣钘�
- * @property {Array|String} modeClass = [fade|slide-top|slide-right|slide-bottom|slide-left|zoom-in|zoom-out] 杩囨浮鍔ㄧ敾绫诲瀷
- *  @value fade 娓愰殣娓愬嚭杩囨浮
- *  @value slide-top 鐢变笂鑷充笅杩囨浮
- *  @value slide-right 鐢卞彸鑷冲乏杩囨浮
- *  @value slide-bottom 鐢变笅鑷充笂杩囨浮
- *  @value slide-left 鐢卞乏鑷冲彸杩囨浮
- *  @value zoom-in 鐢卞皬鍒板ぇ杩囨浮
- *  @value zoom-out 鐢卞ぇ鍒板皬杩囨浮
- * @property {Number} duration 杩囨浮鍔ㄧ敾鎸佺画鏃堕棿
- * @property {Object} styles 缁勪欢鏍峰紡锛屽悓 css 鏍峰紡锛屾敞鎰忓甫鈥�-鈥樿繛鎺ョ鐨勫睘鎬ч渶瑕佷娇鐢ㄥ皬椹煎嘲鍐欐硶濡傦細`backgroundColor:red`
- */
-export default {
-	name: 'uniTransition',
-	emits:['click','change'],
-	props: {
-		show: {
-			type: Boolean,
-			default: false
-		},
-		modeClass: {
-			type: [Array, String],
-			default() {
-				return 'fade'
-			}
-		},
-		duration: {
-			type: Number,
-			default: 300
-		},
-		styles: {
-			type: Object,
-			default() {
-				return {}
-			}
-		},
-		customClass:{
-			type: String,
-			default: ''
-		}
-	},
-	data() {
-		return {
-			isShow: false,
-			transform: '',
-			opacity: 1,
-			animationData: {},
-			durationTime: 300,
-			config: {}
-		}
-	},
-	watch: {
-		show: {
-			handler(newVal) {
-				if (newVal) {
-					this.open()
-				} else {
-					// 閬垮厤涓婃潵灏辨墽琛� close,瀵艰嚧鍔ㄧ敾閿欎贡
-					if (this.isShow) {
-						this.close()
-					}
-				}
-			},
-			immediate: true
-		}
-	},
-	computed: {
-		// 鐢熸垚鏍峰紡鏁版嵁
-		stylesObject() {
-			let styles = {
-				...this.styles,
-				'transition-duration': this.duration / 1000 + 's'
-			}
-			let transform = ''
-			for (let i in styles) {
-				let line = this.toLine(i)
-				transform += line + ':' + styles[i] + ';'
-			}
-			return transform
-		},
-		// 鍒濆鍖栧姩鐢绘潯浠�
-		transformStyles() {
-			return 'transform:' + this.transform + ';' + 'opacity:' + this.opacity + ';' + this.stylesObject
-		}
-	},
-	created() {
-		// 鍔ㄧ敾榛樿閰嶇疆
-		this.config = {
-			duration: this.duration,
-			timingFunction: 'ease',
-			transformOrigin: '50% 50%',
-			delay: 0
-		}
-		this.durationTime = this.duration
-	},
-	methods: {
-		/**
-		 *  ref 瑙﹀彂 鍒濆鍖栧姩鐢�
-		 */
-		init(obj = {}) {
-			if (obj.duration) {
-				this.durationTime = obj.duration
-			}
-			this.animation = createAnimation(Object.assign(this.config, obj),this)
-		},
-		/**
-		 * 鐐瑰嚮缁勪欢瑙﹀彂鍥炶皟
-		 */
-		onClick() {
-			this.$emit('click', {
-				detail: this.isShow
-			})
-		},
-		/**
-		 * ref 瑙﹀彂 鍔ㄧ敾鍒嗙粍
-		 * @param {Object} obj
-		 */
-		step(obj, config = {}) {
-			if (!this.animation) return
-			for (let i in obj) {
-				try {
-					if(typeof obj[i] === 'object'){
-						this.animation[i](...obj[i])
-					}else{
-						this.animation[i](obj[i])
-					}
-				} catch (e) {
-					console.error(`鏂规硶 ${i} 涓嶅瓨鍦╜)
-				}
-			}
-			this.animation.step(config)
-			return this
-		},
-		/**
-		 *  ref 瑙﹀彂 鎵ц鍔ㄧ敾
-		 */
-		run(fn) {
-			if (!this.animation) return
-			this.animation.run(fn)
-		},
-		// 寮�濮嬭繃搴﹀姩鐢�
-		open() {
-			clearTimeout(this.timer)
-			this.transform = ''
-			this.isShow = true
-			let { opacity, transform } = this.styleInit(false)
-			if (typeof opacity !== 'undefined') {
-				this.opacity = opacity
-			}
-			this.transform = transform
-			// 纭繚鍔ㄦ�佹牱寮忓凡缁忕敓鏁堝悗锛屾墽琛屽姩鐢伙紝濡傛灉涓嶅姞 nextTick 锛屼細瀵艰嚧 wx 鍔ㄧ敾鎵ц寮傚父
-			this.$nextTick(() => {
-				// TODO 瀹氭椂鍣ㄤ繚璇佸姩鐢诲畬鍏ㄦ墽琛岋紝鐩墠鏈変簺闂锛屽悗闈細鍙栨秷瀹氭椂鍣�
-				this.timer = setTimeout(() => {
-					this.animation = createAnimation(this.config, this)
-					this.tranfromInit(false).step()
-					this.animation.run()
-					this.$emit('change', {
-						detail: this.isShow
-					})
-				}, 20)
-			})
-		},
-		// 鍏抽棴杩囧害鍔ㄧ敾
-		close(type) {
-			if (!this.animation) return
-			this.tranfromInit(true)
-				.step()
-				.run(() => {
-					this.isShow = false
-					this.animationData = null
-					this.animation = null
-					let { opacity, transform } = this.styleInit(false)
-					this.opacity = opacity || 1
-					this.transform = transform
-					this.$emit('change', {
-						detail: this.isShow
-					})
-				})
-		},
-		// 澶勭悊鍔ㄧ敾寮�濮嬪墠鐨勯粯璁ゆ牱寮�
-		styleInit(type) {
-			let styles = {
-				transform: ''
-			}
-			let buildStyle = (type, mode) => {
-				if (mode === 'fade') {
-					styles.opacity = this.animationType(type)[mode]
-				} else {
-					styles.transform += this.animationType(type)[mode] + ' '
-				}
-			}
-			if (typeof this.modeClass === 'string') {
-				buildStyle(type, this.modeClass)
-			} else {
-				this.modeClass.forEach(mode => {
-					buildStyle(type, mode)
-				})
-			}
-			return styles
-		},
-		// 澶勭悊鍐呯疆缁勫悎鍔ㄧ敾
-		tranfromInit(type) {
-			let buildTranfrom = (type, mode) => {
-				let aniNum = null
-				if (mode === 'fade') {
-					aniNum = type ? 0 : 1
-				} else {
-					aniNum = type ? '-100%' : '0'
-					if (mode === 'zoom-in') {
-						aniNum = type ? 0.8 : 1
-					}
-					if (mode === 'zoom-out') {
-						aniNum = type ? 1.2 : 1
-					}
-					if (mode === 'slide-right') {
-						aniNum = type ? '100%' : '0'
-					}
-					if (mode === 'slide-bottom') {
-						aniNum = type ? '100%' : '0'
-					}
-				}
-				this.animation[this.animationMode()[mode]](aniNum)
-			}
-			if (typeof this.modeClass === 'string') {
-				buildTranfrom(type, this.modeClass)
-			} else {
-				this.modeClass.forEach(mode => {
-					buildTranfrom(type, mode)
-				})
-			}
-
-			return this.animation
-		},
-		animationType(type) {
-			return {
-				fade: type ? 1 : 0,
-				'slide-top': `translateY(${type ? '0' : '-100%'})`,
-				'slide-right': `translateX(${type ? '0' : '100%'})`,
-				'slide-bottom': `translateY(${type ? '0' : '100%'})`,
-				'slide-left': `translateX(${type ? '0' : '-100%'})`,
-				'zoom-in': `scaleX(${type ? 1 : 0.8}) scaleY(${type ? 1 : 0.8})`,
-				'zoom-out': `scaleX(${type ? 1 : 1.2}) scaleY(${type ? 1 : 1.2})`
-			}
-		},
-		// 鍐呯疆鍔ㄧ敾绫诲瀷涓庡疄闄呭姩鐢诲搴斿瓧鍏�
-		animationMode() {
-			return {
-				fade: 'opacity',
-				'slide-top': 'translateY',
-				'slide-right': 'translateX',
-				'slide-bottom': 'translateY',
-				'slide-left': 'translateX',
-				'zoom-in': 'scale',
-				'zoom-out': 'scale'
-			}
-		},
-		// 椹煎嘲杞腑妯嚎
-		toLine(name) {
-			return name.replace(/([A-Z])/g, '-$1').toLowerCase()
-		}
-	}
-}
-</script>
-
-<style></style>
diff --git a/src/uni_modules/uni-transition/package.json b/src/uni_modules/uni-transition/package.json
deleted file mode 100644
index d15fdf0..0000000
--- a/src/uni_modules/uni-transition/package.json
+++ /dev/null
@@ -1,87 +0,0 @@
-{
-  "id": "uni-transition",
-  "displayName": "uni-transition 杩囨浮鍔ㄧ敾",
-  "version": "1.3.1",
-  "description": "鍏冪礌鐨勭畝鍗曡繃娓″姩鐢�",
-  "keywords": [
-    "uni-ui",
-    "uniui",
-    "鍔ㄧ敾",
-    "杩囨浮",
-    "杩囨浮鍔ㄧ敾"
-],
-  "repository": "https://github.com/dcloudio/uni-ui",
-  "engines": {
-    "HBuilderX": ""
-  },
-  "directories": {
-    "example": "../../temps/example_temps"
-  },
-  "dcloudext": {
-    "category": [
-      "鍓嶇缁勪欢",
-      "閫氱敤缁勪欢"
-    ],
-    "sale": {
-      "regular": {
-        "price": "0.00"
-      },
-      "sourcecode": {
-        "price": "0.00"
-      }
-    },
-    "contact": {
-      "qq": ""
-    },
-    "declaration": {
-      "ads": "鏃�",
-      "data": "鏃�",
-      "permissions": "鏃�"
-    },
-    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui"
-  },
-  "uni_modules": {
-    "dependencies": ["uni-scss"],
-    "encrypt": [],
-    "platforms": {
-      "cloud": {
-        "tcb": "y",
-        "aliyun": "y"
-      },
-      "client": {
-        "App": {
-          "app-vue": "y",
-          "app-nvue": "y"
-        },
-        "H5-mobile": {
-          "Safari": "y",
-          "Android Browser": "y",
-          "寰俊娴忚鍣�(Android)": "y",
-          "QQ娴忚鍣�(Android)": "y"
-        },
-        "H5-pc": {
-          "Chrome": "y",
-          "IE": "y",
-          "Edge": "y",
-          "Firefox": "y",
-          "Safari": "y"
-        },
-        "灏忕▼搴�": {
-          "寰俊": "y",
-          "闃块噷": "y",
-          "鐧惧害": "y",
-          "瀛楄妭璺冲姩": "y",
-          "QQ": "y"
-        },
-        "蹇簲鐢�": {
-          "鍗庝负": "u",
-          "鑱旂洘": "u"
-        },
-        "Vue": {
-            "vue2": "y",
-            "vue3": "y"
-        }
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/src/uni_modules/uni-transition/readme.md b/src/uni_modules/uni-transition/readme.md
deleted file mode 100644
index 2f8a77e..0000000
--- a/src/uni_modules/uni-transition/readme.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-## Transition 杩囨浮鍔ㄧ敾
-> **缁勪欢鍚嶏細uni-transition**
-> 浠g爜鍧楋細 `uTransition`
-
-
-鍏冪礌杩囨浮鍔ㄧ敾
-
-### [鏌ョ湅鏂囨。](https://uniapp.dcloud.io/component/uniui/uni-transition)
-#### 濡備娇鐢ㄨ繃绋嬩腑鏈変换浣曢棶棰橈紝鎴栬�呮偍瀵箄ni-ui鏈変竴浜涘ソ鐨勫缓璁紝娆㈣繋鍔犲叆 uni-ui 浜ゆ祦缇わ細871950839 
\ No newline at end of file
diff --git a/src/utils/auth.ts b/src/utils/auth.ts
deleted file mode 100644
index 7a2d227..0000000
--- a/src/utils/auth.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-const TokenKey = 'App-Token'
-
-export function getToken():string {
-  return uni.getStorageSync(TokenKey)
-}
-
-export function setToken(token:string) {
-  return uni.setStorageSync(TokenKey, token)
-}
-
-export function removeToken() {
-  return uni.removeStorageSync(TokenKey)
-}
diff --git a/src/utils/common.ts b/src/utils/common.ts
deleted file mode 100644
index 25d4147..0000000
--- a/src/utils/common.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
-* 鏄剧ず娑堟伅鎻愮ず妗�
-* @param content 鎻愮ず鐨勬爣棰�
-*/
-export function toast(content:string) {
-  uni.showToast({
-    icon: 'none',
-    title: content
-  })
-}
-
-/**
-* 鏄剧ず妯℃�佸脊绐�
-* @param content 鎻愮ず鐨勬爣棰�
-*/
-export function showConfirm(content:string):Promise<any> {
-  return new Promise((resolve, reject) => {
-    uni.showModal({
-      title: '鎻愮ず',
-      content: content,
-      cancelText: '鍙栨秷',
-      confirmText: '纭畾',
-      success: function(res) {
-        resolve(res)
-      }
-    })
-  })
-}
-
-/**
-* 鍙傛暟澶勭悊
-* @param params 鍙傛暟
-*/
-export function tansParams(params:any) {
-  let result = ''
-  for (const propName of Object.keys(params)) {
-    const value = params[propName]
-    var part = encodeURIComponent(propName) + "="
-    if (value !== null && value !== "" && typeof (value) !== "undefined") {
-      if (typeof value === 'object') {
-        for (const key of Object.keys(value)) {
-          if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') {
-            let params = propName + '[' + key + ']'
-            var subPart = encodeURIComponent(params) + "="
-            result += subPart + encodeURIComponent(value[key]) + "&"
-          }
-        }
-      } else {
-        result += part + encodeURIComponent(value) + "&"
-      }
-    }
-  }
-  return result
-}
\ No newline at end of file
diff --git a/src/utils/constant.ts b/src/utils/constant.ts
deleted file mode 100644
index 8becd84..0000000
--- a/src/utils/constant.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-const constant = {
-   avatar: 'vuex_avatar',
-   name: 'vuex_name',
-   roles: 'vuex_roles',
-   permissions: 'vuex_permissions'
- }
-
- export default constant
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
deleted file mode 100644
index bd4284f..0000000
--- a/src/utils/dict.ts
+++ /dev/null
@@ -1,30 +0,0 @@
-import useDictStore from "@/store/modules/dict";
-import { getDicts } from "@/api/system/dict/data";
-import { Ref, ref, toRefs } from "vue";
-
-/**
- * 鑾峰彇瀛楀吀鏁版嵁
- */
-export function useDict(...args: any[]) {
-  const res: Ref<any> = ref({});
-  return (() => {
-    args.forEach((dictType, index) => {
-      res.value[dictType] = [];
-      const dicts = useDictStore().getDict(dictType);
-      if (dicts) {
-        res.value[dictType] = dicts;
-      } else {
-        getDicts(dictType).then((resp) => {
-          res.value[dictType] = resp.data.map((p: any) => ({
-            label: p.dictLabel,
-            value: p.dictValue,
-            elTagType: p.listClass,
-            elTagClass: p.cssClass,
-          }));
-          useDictStore().setDict(dictType, res.value[dictType]);
-        });
-      }
-    });
-    return toRefs(res.value);
-  })();
-}
diff --git a/src/utils/errorCode.ts b/src/utils/errorCode.ts
deleted file mode 100644
index d2111ee..0000000
--- a/src/utils/errorCode.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export default {
-  '401': '璁よ瘉澶辫触锛屾棤娉曡闂郴缁熻祫婧�',
-  '403': '褰撳墠鎿嶄綔娌℃湁鏉冮檺',
-  '404': '璁块棶璧勬簮涓嶅瓨鍦�',
-  'default': '绯荤粺鏈煡閿欒锛岃鍙嶉缁欑鐞嗗憳'
-}
diff --git a/src/utils/geek.ts b/src/utils/geek.ts
deleted file mode 100644
index f7560dd..0000000
--- a/src/utils/geek.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-import { tansParams } from "./ruoyi";
-
-/**
- * 鑾峰彇uuid
- * @returns 鐢熸垚鐨剈uid瀛楃涓�
- */
-export function generateUUID(): string {
-  let uuid = "";
-  const chars = "0123456789abcdef";
-
-  for (let i = 0; i < 32; i++) {
-    if (i === 8 || i === 12 || i === 16 || i === 20) {
-      uuid += "-";
-    }
-    uuid += chars[Math.floor(Math.random() * chars.length)];
-  }
-
-  return uuid;
-}
-
-/**
- * 鑾峰彇code
- * @returns 鐢熸垚鐨刢ode瀛楃涓�
- */
-export async function getWxCode(appid?: string, redirect_uri?: string) {
-  // #ifdef H5
-  if (appid == undefined || redirect_uri == undefined) return ""
-  let code = "";
-
-  // 鎴彇url涓殑code鏂规硶
-  function getUrlCode() {
-    let url = location.search;
-    console.log(url);
-    let theRequest: any = new Object();
-    if (url.indexOf("?") != -1) {
-      let str = url.substr(1);
-      let strs = str.split("&");
-      for (let i = 0; i < strs.length; i++) {
-        theRequest[strs[i].split("=")[0]] = strs[i].split("=")[1];
-      }
-    }
-    return theRequest as { code: string };
-  }
-
-  code = getUrlCode().code; // 鎴彇code
-  if (code == undefined || code == "" || code == null) {
-    // 濡傛灉娌℃湁code锛屽垯鍘昏姹�
-    console.log("h5");
-    let href = "https://open.weixin.qq.com/connect/oauth2/authorize?" +
-      tansParams({
-        appid: appid,
-        redirect_uri: redirect_uri,
-        response_type: "code",
-        scope: "snsapi_userinfo",
-        state: "STATE",
-      }) +
-      "#wechat_redirect";
-    console.log(href);
-    setTimeout(() => {
-      window.location.href = href;
-    }, 5000);
-  } else {
-    return code;
-  }
-  // #endif
-
-  // #ifdef MP-WEIXIN
-  // @ts-ignore
-  const res = await wx.login();
-  return res.code;
-  // #endif
-}
diff --git a/src/utils/permission.ts b/src/utils/permission.ts
deleted file mode 100644
index 3d6c5cd..0000000
--- a/src/utils/permission.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-import useUserStore from '@/store/modules/user'
-
-/**
- * 瀛楃鏉冮檺鏍¢獙
- * @param {Array} value 鏍¢獙鍊�
- * @returns {Boolean}
- */
-export function checkPermi(value:Array<string>) {
-  if (value && value instanceof Array && value.length > 0) {
-    const permissions:Array<string> = useUserStore().permissions
-    const permissionDatas = value
-    const all_permission = "*:*:*"
-
-    const hasPermission = permissions.some(permission => {
-      return all_permission === permission || permissionDatas.includes(permission)
-    })
-
-    if (!hasPermission) {
-      return false
-    }
-    return true
-  } else {
-    console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`)
-    return false
-  }
-}
-
-/**
- * 瑙掕壊鏉冮檺鏍¢獙
- * @param {Array} value 鏍¢獙鍊�
- * @returns {Boolean}
- */
-export function checkRole(value:Array<string>) {
-  if (value && value instanceof Array && value.length > 0) {
-    const roles:Array<string> = useUserStore().roles
-    const permissionRoles = value
-    const super_admin = "admin"
-
-    const hasRole = roles.some(role => {
-      return super_admin === role || permissionRoles.includes(role)
-    })
-
-    if (!hasRole) {
-      return false
-    }
-    return true
-  } else {
-    console.error(`need roles! Like checkRole="['admin','editor']"`)
-    return false
-  }
-}
\ No newline at end of file
diff --git a/src/utils/request.ts b/src/utils/request.ts
deleted file mode 100644
index 6884b80..0000000
--- a/src/utils/request.ts
+++ /dev/null
@@ -1,90 +0,0 @@
-import config from '@/config'
-import { getToken } from '@/utils/auth'
-import errorCode from '@/utils/errorCode'
-import { toast, showConfirm, tansParams } from '@/utils/common'
-import { RequestConfig, ResponseData } from '@/types/request'
-import useUserStore from '@/store/modules/user'
-
-let timeout = 10000
-const baseUrl = config.baseUrl
-
-const request = <T>(config: RequestConfig): Promise<ResponseData<T>> => {
-  // 鏄惁闇�瑕佽缃� token
-  const isToken = (config.headers || {}).isToken === false
-  config.header = config.header || {}
-  if (getToken() && !isToken) {
-    config.header['Authorization'] = 'Bearer ' + getToken()
-  }
-  // get璇锋眰鏄犲皠params鍙傛暟
-  if (config.params) {
-    let url = config.url + '?' + tansParams(config.params)
-    url = url.slice(0, -1)
-    config.url = url
-  }
-  return new Promise((resolve, reject) => {
-    uni.request({
-      method: config.method || 'GET',
-      timeout: config.timeout || timeout,
-      url: (config.baseUrl || baseUrl) + config.url,
-      data: config.data,
-      header: config.header,
-      dataType: 'json'
-    }).then(response => {
-      /* let [error, res] = response
-       if (error) {
-         toast('鍚庣鎺ュ彛杩炴帴寮傚父')
-         reject('鍚庣鎺ュ彛杩炴帴寮傚父')
-         return
-       } */
-      const res = response
-      const data: ResponseData<T> = res.data as ResponseData<T>
-      const code = data.code || 200
-      // @ts-ignore
-      const msg: string = errorCode[code] || data.msg || errorCode['default']
-      if (code === 401) {
-        showConfirm('鐧诲綍鐘舵�佸凡杩囨湡锛屾偍鍙互缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�?').then(res => {
-          if (res.confirm) {
-            useUserStore().logOut().then(res => {
-              uni.reLaunch({ url: '/pages/login' })
-            })
-          }
-        })
-        reject('鏃犳晥鐨勪細璇濓紝鎴栬�呬細璇濆凡杩囨湡锛岃閲嶆柊鐧诲綍銆�')
-      } else if (code === 500) {
-        toast(msg)
-        reject('500')
-      } else if (code !== 200) {
-        toast(msg)
-        reject(code)
-      }
-      resolve(data)
-    })
-      .catch(error => {
-        let { message } = error
-        if (message === 'Network Error') {
-          message = '鍚庣鎺ュ彛杩炴帴寮傚父'
-        } else if (message.includes('timeout')) {
-          message = '绯荤粺鎺ュ彛璇锋眰瓒呮椂'
-        } else if (message.includes('Request failed with status code')) {
-          message = '绯荤粺鎺ュ彛' + message.substr(message.length - 3) + '寮傚父'
-        }
-        toast(message)
-        reject(error)
-      })
-  })
-}
-
-export function postAction(url: string, data?: any, isToken: boolean = true) {
-  return request({ data, url, method: 'POST', headers: { isToken }, })
-}
-export function getAction(url: string, params?: any, isToken: boolean = true) {
-  return request({ params, url, method: 'GET', headers: { isToken }, })
-}
-export function putAction(url: string, data?: any, isToken: boolean = true) {
-  return request({ data, url, method: 'PUT', headers: { isToken }, })
-}
-export function deleteAction(url: string, data?: any, isToken: boolean = true) {
-  return request({ data, url, method: 'DELETE', headers: { isToken }, })
-}
-
-export default request
diff --git a/src/utils/ruoyi.js b/src/utils/ruoyi.js
deleted file mode 100644
index 9a10326..0000000
--- a/src/utils/ruoyi.js
+++ /dev/null
@@ -1,226 +0,0 @@
-/**
- * 閫氱敤js鏂规硶灏佽澶勭悊
- * Copyright (c) 2019 ruoyi
- */
-
-// 鏃ユ湡鏍煎紡鍖�
-/**
- * 
- * @param {*} time 鏃堕棿(Date瀵硅薄銆佹椂闂存埑銆佹椂闂村瓧绗︿覆)
- * @param {*} pattern 鏍煎紡妯℃澘 榛樿'{y}-{m}-{d} {h}:{i}:{s}'  y:骞� m:鏈� d:鏃� h:鏃� i:鍒� s:绉� a:鏄熸湡
- * @returns 鎸夌収妯℃澘鏍煎紡鐨勬椂闂村瓧绗︿覆
- */
-export function parseTime(time, pattern) {
-	if (arguments.length === 0 || !time) {
-		return null
-	}
-	const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
-	let date
-	if (typeof time === 'object') {
-		date = time
-	} else {
-		if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
-			time = parseInt(time)
-		} else if (typeof time === 'string') {
-			time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm),'');
-		}
-		if ((typeof time === 'number') && (time.toString().length === 10)) {
-			time = time * 1000
-		}
-		date = new Date(time)
-	}
-	const formatObj = {
-		y: date.getFullYear(),
-		m: date.getMonth() + 1,
-		d: date.getDate(),
-		h: date.getHours(),
-		i: date.getMinutes(),
-		s: date.getSeconds(),
-		a: date.getDay()
-	}
-	const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
-		let value = formatObj[key]
-		// Note: getDay() returns 0 on Sunday
-		if (key === 'a') { return ['鏃�', '涓�', '浜�', '涓�', '鍥�', '浜�', '鍏�'][value] }
-		if (result.length > 0 && value < 10) {
-			value = '0' + value
-		}
-		return value || 0
-	})
-	return time_str
-}
-
-// 琛ㄥ崟閲嶇疆
-export function resetForm(refName) {
-	if (this.$refs[refName]) {
-		this.$refs[refName].resetFields();
-	}
-}
-
-// 娣诲姞鏃ユ湡鑼冨洿
-export function addDateRange(params, dateRange, propName) {
-	let search = params;
-	search.params = typeof (search.params) === 'object' && search.params !== null && !Array.isArray(search.params) ? search.params : {};
-	dateRange = Array.isArray(dateRange) ? dateRange : [];
-	if (typeof (propName) === 'undefined') {
-		search.params['beginTime'] = dateRange[0];
-		search.params['endTime'] = dateRange[1];
-	} else {
-		search.params['begin' + propName] = dateRange[0];
-		search.params['end' + propName] = dateRange[1];
-	}
-	return search;
-}
-
-// 鍥炴樉鏁版嵁瀛楀吀
-export function selectDictLabel(datas, value) {
-	var actions = [];
-	Object.keys(datas).some((key) => {
-		if (datas[key].value == ('' + value)) {
-			actions.push(datas[key].label);
-			return true;
-		}
-	})
-	return actions.join('');
-}
-
-// 鍥炴樉鏁版嵁瀛楀吀锛堝瓧绗︿覆鏁扮粍锛�
-export function selectDictLabels(datas, value, separator) {
-	var actions = [];
-	var currentSeparator = undefined === separator ? "," : separator;
-	var temp = value.split(currentSeparator);
-	Object.keys(value.split(currentSeparator)).some((val) => {
-		Object.keys(datas).some((key) => {
-			if (datas[key].value == ('' + temp[val])) {
-				actions.push(datas[key].label + currentSeparator);
-			}
-		})
-	})
-	return actions.join('').substring(0, actions.join('').length - 1);
-}
-
-// 瀛楃涓叉牸寮忓寲(%s )
-export function sprintf(str) {
-	var args = arguments, flag = true, i = 1;
-	str = str.replace(/%s/g, function () {
-		var arg = args[i++];
-		if (typeof arg === 'undefined') {
-			flag = false;
-			return '';
-		}
-		return arg;
-	});
-	return flag ? str : '';
-}
-
-// 杞崲瀛楃涓诧紝undefined,null绛夎浆鍖栦负""
-export function praseStrEmpty(str) {
-	if (!str || str == "undefined" || str == "null") {
-		return "";
-	}
-	return str;
-}
-
-// 鏁版嵁鍚堝苟
-export function mergeRecursive(source, target) {
-    for (var p in target) {
-        try {
-            if (target[p].constructor == Object) {
-                source[p] = mergeRecursive(source[p], target[p]);
-            } else {
-                source[p] = target[p];
-            }
-        } catch(e) {
-            source[p] = target[p];
-        }
-    }
-    return source;
-};
-
-/**
- * 鏋勯�犳爲鍨嬬粨鏋勬暟鎹�
- * @param {*} data 鏁版嵁婧�
- * @param {*} id id瀛楁 榛樿 'id'
- * @param {*} parentId 鐖惰妭鐐瑰瓧娈� 榛樿 'parentId'
- * @param {*} children 瀛╁瓙鑺傜偣瀛楁 榛樿 'children'
- */
-export function handleTree(data, id, parentId, children) {
-	let config = {
-		id: id || 'id',
-		parentId: parentId || 'parentId',
-		childrenList: children || 'children'
-	};
-
-	var childrenListMap = {};
-	var nodeIds = {};
-	var tree = [];
-
-	for (let d of data) {
-		let parentId = d[config.parentId];
-		if (childrenListMap[parentId] == null) {
-			childrenListMap[parentId] = [];
-		}
-		nodeIds[d[config.id]] = d;
-		childrenListMap[parentId].push(d);
-	}
-
-	for (let d of data) {
-		let parentId = d[config.parentId];
-		if (nodeIds[parentId] == null) {
-			tree.push(d);
-		}
-	}
-
-	for (let t of tree) {
-		adaptToChildrenList(t);
-	}
-
-	function adaptToChildrenList(o) {
-		if (childrenListMap[o[config.id]] !== null) {
-			o[config.childrenList] = childrenListMap[o[config.id]];
-		}
-		if (o[config.childrenList]) {
-			for (let c of o[config.childrenList]) {
-				adaptToChildrenList(c);
-			}
-		}
-	}
-	return tree;
-}
-
-/**
-* 鍙傛暟澶勭悊
-* @param {*} params  鍙傛暟
-*/
-export function tansParams(params) {
-	let result = ''
-	for (const propName of Object.keys(params)) {
-		const value = params[propName];
-		var part = encodeURIComponent(propName) + "=";
-		if (value !== null && typeof (value) !== "undefined") {
-			if (typeof value === 'object') {
-				for (const key of Object.keys(value)) {
-					if (value[key] !== null && typeof (value[key]) !== 'undefined') {
-						let params = propName + '[' + key + ']';
-						var subPart = encodeURIComponent(params) + "=";
-						result += subPart + encodeURIComponent(value[key]) + "&";
-					}
-				}
-			} else {
-				result += part + encodeURIComponent(value) + "&";
-			}
-		}
-	}
-	return result
-}
-
-// 楠岃瘉鏄惁涓篵lob鏍煎紡
-export async function blobValidate(data) {
-    try {
-      const text = await data.text();
-      JSON.parse(text);
-      return false;
-    } catch (error) {
-      return true;
-    }
-}
diff --git a/src/utils/storage.ts b/src/utils/storage.ts
deleted file mode 100644
index 3454568..0000000
--- a/src/utils/storage.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import constant from './constant'
-
-// 瀛樺偍鍙橀噺鍚�
-let storageKey = 'storage_data'
-
-// 瀛樺偍鑺傜偣鍙橀噺鍚�
-let storageNodeKeys = [constant.avatar, constant.name, constant.roles, constant.permissions]
-
-// 瀛樺偍鐨勬暟鎹�
-let storageData = uni.getStorageSync(storageKey) || {}
-
-const storage = {
-  set: function(key:string, value:any) {
-    if (storageNodeKeys.indexOf(key) != -1) {
-      let tmp = uni.getStorageSync(storageKey)
-      tmp = tmp ? tmp : {}
-      tmp[key] = value
-      uni.setStorageSync(storageKey, tmp)
-    }
-  },
-  get: function(key:string) {
-    return storageData[key] || ""
-  },
-  remove: function(key:string) {
-    delete storageData[key]
-    uni.setStorageSync(storageKey, storageData)
-  },
-  clean: function() {
-    uni.removeStorageSync(storageKey)
-  }
-}
-
-export default storage
diff --git a/src/utils/upload.ts b/src/utils/upload.ts
deleted file mode 100644
index e074689..0000000
--- a/src/utils/upload.ts
+++ /dev/null
@@ -1,73 +0,0 @@
-import config from '@/config'
-import { getToken } from '@/utils/auth'
-import errorCode from '@/utils/errorCode'
-import { toast, showConfirm, tansParams } from '@/utils/common'
-import { ResponseData, RequestUploadConfig } from '@/types/request'
-import useUserStore from '@/store/modules/user'
-
-let timeout = 10000
-const baseUrl = config.baseUrl
-
-const upload = <T>(config: RequestUploadConfig): Promise<ResponseData<T>> => {
-  // 鏄惁闇�瑕佽缃� token
-  const isToken = (config.headers || {}).isToken === false
-  config.header = config.header || {}
-  if (getToken() && !isToken) {
-    config.header['Authorization'] = 'Bearer ' + getToken()
-  }
-  // get璇锋眰鏄犲皠params鍙傛暟
-  if (config.params) {
-    let url = config.url + '?' + tansParams(config.params)
-    url = url.slice(0, -1)
-    config.url = url
-  }
-  const userStore = useUserStore()
-  return new Promise((resolve, reject) => {
-    uni.uploadFile({
-      timeout: config.timeout || timeout,
-      url: baseUrl + config.url,
-      filePath: config.filePath,
-      name: config.name || 'file',
-      header: config.header,
-      formData: config.formData,
-      success: (res) => {
-        let result = JSON.parse(res.data)
-        const code = result.code || 200
-        // @ts-ignore
-        const msg = errorCode[code] || result.msg || errorCode['default']
-        if (code === 200) {
-          resolve(result)
-        } else if (code == 401) {
-          showConfirm("鐧诲綍鐘舵�佸凡杩囨湡锛屾偍鍙互缁х画鐣欏湪璇ラ〉闈紝鎴栬�呴噸鏂扮櫥褰�?").then(res => {
-            if (res.confirm) {
-              userStore.logOut().then(res => {
-                uni.reLaunch({ url: '/pages/login' })
-              })
-            }
-          })
-          reject('鏃犳晥鐨勪細璇濓紝鎴栬�呬細璇濆凡杩囨湡锛岃閲嶆柊鐧诲綍銆�')
-        } else if (code === 500) {
-          toast(msg)
-          reject('500')
-        } else if (code !== 200) {
-          toast(msg)
-          reject(code)
-        }
-      },
-      fail: (error: any) => {
-        let { message } = error
-        if (message == 'Network Error') {
-          message = '鍚庣鎺ュ彛杩炴帴寮傚父'
-        } else if (message.includes('timeout')) {
-          message = '绯荤粺鎺ュ彛璇锋眰瓒呮椂'
-        } else if (message.includes('Request failed with status code')) {
-          message = '绯荤粺鎺ュ彛' + message.substr(message.length - 3) + '寮傚父'
-        }
-        toast(message)
-        reject(error)
-      }
-    })
-  })
-}
-
-export default upload
diff --git a/tsconfig.json b/tsconfig.json
deleted file mode 100644
index a2e32ae..0000000
--- a/tsconfig.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  "exclude": ["node_modules"],
-  "compilerOptions": {
-    "noImplicitAny": true,
-    "importHelpers": true,
-    "strict": true,
-    "forceConsistentCasingInFileNames": true,
-    "downlevelIteration": true,
-    "outDir": "dist/compiled",
-    "baseUrl": "./",
-    "allowSyntheticDefaultImports": true,
-    "allowJs": true,
-    "jsx": "preserve",
-    "moduleResolution": "node",
-    "module": "ES2022",
-    "lib": ["ES2020", "dom"],
-    "declaration": true,
-    "paths": {
-      "@": ["src"],
-      "@/*": ["src/*"],
-      "/@/*": ["src/*"],
-      "vue": ["node_modules/vue"],
-      "tslib": ["node_modules/tslib/tslib.d.ts"]
-    }
-  }
-}
diff --git a/vite.config.js b/vite.config.js
deleted file mode 100644
index 1d873bb..0000000
--- a/vite.config.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import { defineConfig } from 'vite'
-import uni from '@dcloudio/vite-plugin-uni'
-
-export default defineConfig(() => {
-    return {
-        base: './',
-        build: {
-            minify: true,
-            outDir: 'dist',
-        },
-        server: {
-            port: '80'
-        },
-        plugins: [
-            uni()
-        ],
-        exclude: [
-            /\/README\.md$/,
-        ],
-        css: {
-            preprocessorOptions: {
-                scss: {
-                    api: 'modern-compiler'
-                }
-            }
-        }
-    }
-})
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
deleted file mode 100644
index 9d99fd7..0000000
--- a/yarn.lock
+++ /dev/null
@@ -1,5080 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@ampproject/remapping@^2.1.2", "@ampproject/remapping@^2.2.0":
-  version "2.3.0"
-  resolved "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4"
-  integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
-  dependencies:
-    "@jridgewell/gen-mapping" "^0.3.5"
-    "@jridgewell/trace-mapping" "^0.3.24"
-
-"@babel/code-frame@^7.23.5":
-  version "7.23.5"
-  resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244"
-  integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==
-  dependencies:
-    "@babel/highlight" "^7.23.4"
-    chalk "^2.4.2"
-
-"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5":
-  version "7.23.5"
-  resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98"
-  integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
-
-"@babel/core@^7.21.3", "@babel/core@^7.22.9", "@babel/core@^7.23.3":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/core/-/core-7.24.0.tgz#56cbda6b185ae9d9bed369816a8f4423c5f2ff1b"
-  integrity sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==
-  dependencies:
-    "@ampproject/remapping" "^2.2.0"
-    "@babel/code-frame" "^7.23.5"
-    "@babel/generator" "^7.23.6"
-    "@babel/helper-compilation-targets" "^7.23.6"
-    "@babel/helper-module-transforms" "^7.23.3"
-    "@babel/helpers" "^7.24.0"
-    "@babel/parser" "^7.24.0"
-    "@babel/template" "^7.24.0"
-    "@babel/traverse" "^7.24.0"
-    "@babel/types" "^7.24.0"
-    convert-source-map "^2.0.0"
-    debug "^4.1.0"
-    gensync "^1.0.0-beta.2"
-    json5 "^2.2.3"
-    semver "^6.3.1"
-
-"@babel/generator@^7.20.5", "@babel/generator@^7.23.6":
-  version "7.23.6"
-  resolved "https://registry.npmmirror.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e"
-  integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==
-  dependencies:
-    "@babel/types" "^7.23.6"
-    "@jridgewell/gen-mapping" "^0.3.2"
-    "@jridgewell/trace-mapping" "^0.3.17"
-    jsesc "^2.5.1"
-
-"@babel/helper-annotate-as-pure@^7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882"
-  integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==
-  dependencies:
-    "@babel/types" "^7.22.5"
-
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15":
-  version "7.22.15"
-  resolved "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz#5426b109cf3ad47b91120f8328d8ab1be8b0b956"
-  integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==
-  dependencies:
-    "@babel/types" "^7.22.15"
-
-"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6":
-  version "7.23.6"
-  resolved "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991"
-  integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==
-  dependencies:
-    "@babel/compat-data" "^7.23.5"
-    "@babel/helper-validator-option" "^7.23.5"
-    browserslist "^4.22.2"
-    lru-cache "^5.1.1"
-    semver "^6.3.1"
-
-"@babel/helper-create-class-features-plugin@^7.22.15", "@babel/helper-create-class-features-plugin@^7.23.6":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz#fc7554141bdbfa2d17f7b4b80153b9b090e5d158"
-  integrity sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.22.5"
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-function-name" "^7.23.0"
-    "@babel/helper-member-expression-to-functions" "^7.23.0"
-    "@babel/helper-optimise-call-expression" "^7.22.5"
-    "@babel/helper-replace-supers" "^7.22.20"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-    "@babel/helper-split-export-declaration" "^7.22.6"
-    semver "^6.3.1"
-
-"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5":
-  version "7.22.15"
-  resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz#5ee90093914ea09639b01c711db0d6775e558be1"
-  integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.22.5"
-    regexpu-core "^5.3.1"
-    semver "^6.3.1"
-
-"@babel/helper-define-polyfill-provider@^0.5.0":
-  version "0.5.0"
-  resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz#465805b7361f461e86c680f1de21eaf88c25901b"
-  integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==
-  dependencies:
-    "@babel/helper-compilation-targets" "^7.22.6"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    debug "^4.1.1"
-    lodash.debounce "^4.0.8"
-    resolve "^1.14.2"
-
-"@babel/helper-define-polyfill-provider@^0.6.1":
-  version "0.6.1"
-  resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz#fadc63f0c2ff3c8d02ed905dcea747c5b0fb74fd"
-  integrity sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==
-  dependencies:
-    "@babel/helper-compilation-targets" "^7.22.6"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    debug "^4.1.1"
-    lodash.debounce "^4.0.8"
-    resolve "^1.14.2"
-
-"@babel/helper-environment-visitor@^7.22.20":
-  version "7.22.20"
-  resolved "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167"
-  integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
-
-"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0":
-  version "7.23.0"
-  resolved "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759"
-  integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
-  dependencies:
-    "@babel/template" "^7.22.15"
-    "@babel/types" "^7.23.0"
-
-"@babel/helper-hoist-variables@^7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb"
-  integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
-  dependencies:
-    "@babel/types" "^7.22.5"
-
-"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0":
-  version "7.23.0"
-  resolved "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366"
-  integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==
-  dependencies:
-    "@babel/types" "^7.23.0"
-
-"@babel/helper-module-imports@^7.22.15":
-  version "7.22.15"
-  resolved "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0"
-  integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==
-  dependencies:
-    "@babel/types" "^7.22.15"
-
-"@babel/helper-module-transforms@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1"
-  integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==
-  dependencies:
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-module-imports" "^7.22.15"
-    "@babel/helper-simple-access" "^7.22.5"
-    "@babel/helper-split-export-declaration" "^7.22.6"
-    "@babel/helper-validator-identifier" "^7.22.20"
-
-"@babel/helper-optimise-call-expression@^7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e"
-  integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==
-  dependencies:
-    "@babel/types" "^7.22.5"
-
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a"
-  integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==
-
-"@babel/helper-remap-async-to-generator@^7.22.20":
-  version "7.22.20"
-  resolved "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0"
-  integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.22.5"
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-wrap-function" "^7.22.20"
-
-"@babel/helper-replace-supers@^7.22.20":
-  version "7.22.20"
-  resolved "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793"
-  integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==
-  dependencies:
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-member-expression-to-functions" "^7.22.15"
-    "@babel/helper-optimise-call-expression" "^7.22.5"
-
-"@babel/helper-simple-access@^7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de"
-  integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==
-  dependencies:
-    "@babel/types" "^7.22.5"
-
-"@babel/helper-skip-transparent-expression-wrappers@^7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847"
-  integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==
-  dependencies:
-    "@babel/types" "^7.22.5"
-
-"@babel/helper-split-export-declaration@^7.22.6":
-  version "7.22.6"
-  resolved "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c"
-  integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
-  dependencies:
-    "@babel/types" "^7.22.5"
-
-"@babel/helper-string-parser@^7.23.4":
-  version "7.23.4"
-  resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83"
-  integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==
-
-"@babel/helper-validator-identifier@^7.22.20":
-  version "7.22.20"
-  resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0"
-  integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
-
-"@babel/helper-validator-option@^7.23.5":
-  version "7.23.5"
-  resolved "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307"
-  integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==
-
-"@babel/helper-wrap-function@^7.22.20":
-  version "7.22.20"
-  resolved "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz#15352b0b9bfb10fc9c76f79f6342c00e3411a569"
-  integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==
-  dependencies:
-    "@babel/helper-function-name" "^7.22.5"
-    "@babel/template" "^7.22.15"
-    "@babel/types" "^7.22.19"
-
-"@babel/helpers@^7.24.0":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.0.tgz#a3dd462b41769c95db8091e49cfe019389a9409b"
-  integrity sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==
-  dependencies:
-    "@babel/template" "^7.24.0"
-    "@babel/traverse" "^7.24.0"
-    "@babel/types" "^7.24.0"
-
-"@babel/highlight@^7.23.4":
-  version "7.23.4"
-  resolved "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b"
-  integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==
-  dependencies:
-    "@babel/helper-validator-identifier" "^7.22.20"
-    chalk "^2.4.2"
-    js-tokens "^4.0.0"
-
-"@babel/parser@^7.16.4", "@babel/parser@^7.23.5", "@babel/parser@^7.23.6", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.0.tgz#26a3d1ff49031c53a97d03b604375f028746a9ac"
-  integrity sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==
-
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a"
-  integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d"
-  integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-    "@babel/plugin-transform-optional-chaining" "^7.23.3"
-
-"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7":
-  version "7.23.7"
-  resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz#516462a95d10a9618f197d39ad291a9b47ae1d7b"
-  integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==
-  dependencies:
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
-  version "7.21.0-placeholder-for-preset-env.2"
-  resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703"
-  integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==
-
-"@babel/plugin-syntax-async-generators@^7.8.4":
-  version "7.8.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
-  integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-class-properties@^7.12.13":
-  version "7.12.13"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
-  integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.12.13"
-
-"@babel/plugin-syntax-class-static-block@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406"
-  integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-dynamic-import@^7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
-  integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-export-namespace-from@^7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a"
-  integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.3"
-
-"@babel/plugin-syntax-import-assertions@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc"
-  integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-syntax-import-attributes@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06"
-  integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-syntax-import-meta@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
-  integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-json-strings@^7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
-  integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-jsx@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473"
-  integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
-  integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9"
-  integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-numeric-separator@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
-  integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-object-rest-spread@^7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
-  integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
-  integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-chaining@^7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a"
-  integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-private-property-in-object@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad"
-  integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-top-level-await@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
-  integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-typescript@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz#24f460c85dbbc983cd2b9c4994178bcc01df958f"
-  integrity sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
-  version "7.18.6"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357"
-  integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.18.6"
-    "@babel/helper-plugin-utils" "^7.18.6"
-
-"@babel/plugin-transform-arrow-functions@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b"
-  integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-async-generator-functions@^7.23.9":
-  version "7.23.9"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz#9adaeb66fc9634a586c5df139c6240d41ed801ce"
-  integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==
-  dependencies:
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/helper-remap-async-to-generator" "^7.22.20"
-    "@babel/plugin-syntax-async-generators" "^7.8.4"
-
-"@babel/plugin-transform-async-to-generator@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa"
-  integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==
-  dependencies:
-    "@babel/helper-module-imports" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/helper-remap-async-to-generator" "^7.22.20"
-
-"@babel/plugin-transform-block-scoped-functions@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77"
-  integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-block-scoping@^7.23.4":
-  version "7.23.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5"
-  integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-class-properties@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48"
-  integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==
-  dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-class-static-block@^7.23.4":
-  version "7.23.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5"
-  integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==
-  dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/plugin-syntax-class-static-block" "^7.14.5"
-
-"@babel/plugin-transform-classes@^7.23.8":
-  version "7.23.8"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92"
-  integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.22.5"
-    "@babel/helper-compilation-targets" "^7.23.6"
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-function-name" "^7.23.0"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/helper-replace-supers" "^7.22.20"
-    "@babel/helper-split-export-declaration" "^7.22.6"
-    globals "^11.1.0"
-
-"@babel/plugin-transform-computed-properties@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474"
-  integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/template" "^7.22.15"
-
-"@babel/plugin-transform-destructuring@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311"
-  integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-dotall-regex@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50"
-  integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-duplicate-keys@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce"
-  integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-dynamic-import@^7.23.4":
-  version "7.23.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143"
-  integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/plugin-syntax-dynamic-import" "^7.8.3"
-
-"@babel/plugin-transform-exponentiation-operator@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18"
-  integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==
-  dependencies:
-    "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-export-namespace-from@^7.23.4":
-  version "7.23.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191"
-  integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-
-"@babel/plugin-transform-for-of@^7.23.6":
-  version "7.23.6"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e"
-  integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-
-"@babel/plugin-transform-function-name@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc"
-  integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==
-  dependencies:
-    "@babel/helper-compilation-targets" "^7.22.15"
-    "@babel/helper-function-name" "^7.23.0"
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-json-strings@^7.23.4":
-  version "7.23.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d"
-  integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/plugin-syntax-json-strings" "^7.8.3"
-
-"@babel/plugin-transform-literals@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4"
-  integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-logical-assignment-operators@^7.23.4":
-  version "7.23.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5"
-  integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-
-"@babel/plugin-transform-member-expression-literals@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc"
-  integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-modules-amd@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d"
-  integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==
-  dependencies:
-    "@babel/helper-module-transforms" "^7.23.3"
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-modules-commonjs@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4"
-  integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==
-  dependencies:
-    "@babel/helper-module-transforms" "^7.23.3"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/helper-simple-access" "^7.22.5"
-
-"@babel/plugin-transform-modules-systemjs@^7.23.9":
-  version "7.23.9"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz#105d3ed46e4a21d257f83a2f9e2ee4203ceda6be"
-  integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==
-  dependencies:
-    "@babel/helper-hoist-variables" "^7.22.5"
-    "@babel/helper-module-transforms" "^7.23.3"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/helper-validator-identifier" "^7.22.20"
-
-"@babel/plugin-transform-modules-umd@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9"
-  integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==
-  dependencies:
-    "@babel/helper-module-transforms" "^7.23.3"
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f"
-  integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.22.5"
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-new-target@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980"
-  integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4":
-  version "7.23.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e"
-  integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-
-"@babel/plugin-transform-numeric-separator@^7.23.4":
-  version "7.23.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29"
-  integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/plugin-syntax-numeric-separator" "^7.10.4"
-
-"@babel/plugin-transform-object-rest-spread@^7.24.0":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz#7b836ad0088fdded2420ce96d4e1d3ed78b71df1"
-  integrity sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==
-  dependencies:
-    "@babel/compat-data" "^7.23.5"
-    "@babel/helper-compilation-targets" "^7.23.6"
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
-    "@babel/plugin-transform-parameters" "^7.23.3"
-
-"@babel/plugin-transform-object-super@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd"
-  integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/helper-replace-supers" "^7.22.20"
-
-"@babel/plugin-transform-optional-catch-binding@^7.23.4":
-  version "7.23.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017"
-  integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-
-"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4":
-  version "7.23.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017"
-  integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-    "@babel/plugin-syntax-optional-chaining" "^7.8.3"
-
-"@babel/plugin-transform-parameters@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af"
-  integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-private-methods@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4"
-  integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==
-  dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-private-property-in-object@^7.23.4":
-  version "7.23.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5"
-  integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.22.5"
-    "@babel/helper-create-class-features-plugin" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-
-"@babel/plugin-transform-property-literals@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875"
-  integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-regenerator@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c"
-  integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    regenerator-transform "^0.15.2"
-
-"@babel/plugin-transform-reserved-words@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8"
-  integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-shorthand-properties@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210"
-  integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-spread@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c"
-  integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-
-"@babel/plugin-transform-sticky-regex@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04"
-  integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-template-literals@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07"
-  integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-typeof-symbol@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4"
-  integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-typescript@^7.20.7", "@babel/plugin-transform-typescript@^7.23.3":
-  version "7.23.6"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz#aa36a94e5da8d94339ae3a4e22d40ed287feb34c"
-  integrity sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==
-  dependencies:
-    "@babel/helper-annotate-as-pure" "^7.22.5"
-    "@babel/helper-create-class-features-plugin" "^7.23.6"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/plugin-syntax-typescript" "^7.23.3"
-
-"@babel/plugin-transform-unicode-escapes@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925"
-  integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-unicode-property-regex@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad"
-  integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-unicode-regex@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc"
-  integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/plugin-transform-unicode-sets-regex@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e"
-  integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==
-  dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-
-"@babel/preset-env@^7.22.9":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.24.0.tgz#11536a7f4b977294f0bdfad780f01a8ac8e183fc"
-  integrity sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==
-  dependencies:
-    "@babel/compat-data" "^7.23.5"
-    "@babel/helper-compilation-targets" "^7.23.6"
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/helper-validator-option" "^7.23.5"
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3"
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3"
-    "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7"
-    "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
-    "@babel/plugin-syntax-async-generators" "^7.8.4"
-    "@babel/plugin-syntax-class-properties" "^7.12.13"
-    "@babel/plugin-syntax-class-static-block" "^7.14.5"
-    "@babel/plugin-syntax-dynamic-import" "^7.8.3"
-    "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-    "@babel/plugin-syntax-import-assertions" "^7.23.3"
-    "@babel/plugin-syntax-import-attributes" "^7.23.3"
-    "@babel/plugin-syntax-import-meta" "^7.10.4"
-    "@babel/plugin-syntax-json-strings" "^7.8.3"
-    "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-    "@babel/plugin-syntax-numeric-separator" "^7.10.4"
-    "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
-    "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-    "@babel/plugin-syntax-optional-chaining" "^7.8.3"
-    "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-    "@babel/plugin-syntax-top-level-await" "^7.14.5"
-    "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
-    "@babel/plugin-transform-arrow-functions" "^7.23.3"
-    "@babel/plugin-transform-async-generator-functions" "^7.23.9"
-    "@babel/plugin-transform-async-to-generator" "^7.23.3"
-    "@babel/plugin-transform-block-scoped-functions" "^7.23.3"
-    "@babel/plugin-transform-block-scoping" "^7.23.4"
-    "@babel/plugin-transform-class-properties" "^7.23.3"
-    "@babel/plugin-transform-class-static-block" "^7.23.4"
-    "@babel/plugin-transform-classes" "^7.23.8"
-    "@babel/plugin-transform-computed-properties" "^7.23.3"
-    "@babel/plugin-transform-destructuring" "^7.23.3"
-    "@babel/plugin-transform-dotall-regex" "^7.23.3"
-    "@babel/plugin-transform-duplicate-keys" "^7.23.3"
-    "@babel/plugin-transform-dynamic-import" "^7.23.4"
-    "@babel/plugin-transform-exponentiation-operator" "^7.23.3"
-    "@babel/plugin-transform-export-namespace-from" "^7.23.4"
-    "@babel/plugin-transform-for-of" "^7.23.6"
-    "@babel/plugin-transform-function-name" "^7.23.3"
-    "@babel/plugin-transform-json-strings" "^7.23.4"
-    "@babel/plugin-transform-literals" "^7.23.3"
-    "@babel/plugin-transform-logical-assignment-operators" "^7.23.4"
-    "@babel/plugin-transform-member-expression-literals" "^7.23.3"
-    "@babel/plugin-transform-modules-amd" "^7.23.3"
-    "@babel/plugin-transform-modules-commonjs" "^7.23.3"
-    "@babel/plugin-transform-modules-systemjs" "^7.23.9"
-    "@babel/plugin-transform-modules-umd" "^7.23.3"
-    "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5"
-    "@babel/plugin-transform-new-target" "^7.23.3"
-    "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4"
-    "@babel/plugin-transform-numeric-separator" "^7.23.4"
-    "@babel/plugin-transform-object-rest-spread" "^7.24.0"
-    "@babel/plugin-transform-object-super" "^7.23.3"
-    "@babel/plugin-transform-optional-catch-binding" "^7.23.4"
-    "@babel/plugin-transform-optional-chaining" "^7.23.4"
-    "@babel/plugin-transform-parameters" "^7.23.3"
-    "@babel/plugin-transform-private-methods" "^7.23.3"
-    "@babel/plugin-transform-private-property-in-object" "^7.23.4"
-    "@babel/plugin-transform-property-literals" "^7.23.3"
-    "@babel/plugin-transform-regenerator" "^7.23.3"
-    "@babel/plugin-transform-reserved-words" "^7.23.3"
-    "@babel/plugin-transform-shorthand-properties" "^7.23.3"
-    "@babel/plugin-transform-spread" "^7.23.3"
-    "@babel/plugin-transform-sticky-regex" "^7.23.3"
-    "@babel/plugin-transform-template-literals" "^7.23.3"
-    "@babel/plugin-transform-typeof-symbol" "^7.23.3"
-    "@babel/plugin-transform-unicode-escapes" "^7.23.3"
-    "@babel/plugin-transform-unicode-property-regex" "^7.23.3"
-    "@babel/plugin-transform-unicode-regex" "^7.23.3"
-    "@babel/plugin-transform-unicode-sets-regex" "^7.23.3"
-    "@babel/preset-modules" "0.1.6-no-external-plugins"
-    babel-plugin-polyfill-corejs2 "^0.4.8"
-    babel-plugin-polyfill-corejs3 "^0.9.0"
-    babel-plugin-polyfill-regenerator "^0.5.5"
-    core-js-compat "^3.31.0"
-    semver "^6.3.1"
-
-"@babel/preset-modules@0.1.6-no-external-plugins":
-  version "0.1.6-no-external-plugins"
-  resolved "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz#ccb88a2c49c817236861fee7826080573b8a923a"
-  integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.0.0"
-    "@babel/types" "^7.4.4"
-    esutils "^2.0.2"
-
-"@babel/regjsgen@^0.8.0":
-  version "0.8.0"
-  resolved "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310"
-  integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
-
-"@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.0.tgz#584c450063ffda59697021430cb47101b085951e"
-  integrity sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==
-  dependencies:
-    regenerator-runtime "^0.14.0"
-
-"@babel/template@^7.22.15", "@babel/template@^7.24.0":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50"
-  integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==
-  dependencies:
-    "@babel/code-frame" "^7.23.5"
-    "@babel/parser" "^7.24.0"
-    "@babel/types" "^7.24.0"
-
-"@babel/traverse@^7.23.7", "@babel/traverse@^7.24.0":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.0.tgz#4a408fbf364ff73135c714a2ab46a5eab2831b1e"
-  integrity sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==
-  dependencies:
-    "@babel/code-frame" "^7.23.5"
-    "@babel/generator" "^7.23.6"
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-function-name" "^7.23.0"
-    "@babel/helper-hoist-variables" "^7.22.5"
-    "@babel/helper-split-export-declaration" "^7.22.6"
-    "@babel/parser" "^7.24.0"
-    "@babel/types" "^7.24.0"
-    debug "^4.3.1"
-    globals "^11.1.0"
-
-"@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.24.0", "@babel/types@^7.4.4":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf"
-  integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==
-  dependencies:
-    "@babel/helper-string-parser" "^7.23.4"
-    "@babel/helper-validator-identifier" "^7.22.20"
-    to-fast-properties "^2.0.0"
-
-"@dcloudio/types@^3.3.3":
-  version "3.4.8"
-  resolved "https://registry.npmmirror.com/@dcloudio/types/-/types-3.4.8.tgz#97eab3fde7e8a55c11a7f4422f2f9bf0efb4d49c"
-  integrity sha512-IPXuoghLv7qNPOnRuP7vC5++MdRHhE0U7EMw9ia//uOh69fFXZiRTfoHd51+nzciD6R50gqYhbrCCZIxnxhM9Q==
-
-"@dcloudio/uni-app-plus@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-app-plus/-/uni-app-plus-3.0.0-3081220230817001.tgz#a544ec6faf8a8c15b83b04b1f76dc43054e329e2"
-  integrity sha512-GpQobx3WbcyOZ49f8JM+febzKvlthFBAxcs4xrbtNVzmkj0jLJoh9GoH37oa7m5DI1k4l5wUuwvg4/JxBbhOSA==
-  dependencies:
-    "@dcloudio/uni-app-uts" "3.0.0-3081220230817001"
-    "@dcloudio/uni-app-vite" "3.0.0-3081220230817001"
-    "@dcloudio/uni-app-vue" "3.0.0-3081220230817001"
-    debug "^4.3.3"
-    fs-extra "^10.0.0"
-    licia "^1.29.0"
-    postcss-selector-parser "^6.0.6"
-
-"@dcloudio/uni-app-uts@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-app-uts/-/uni-app-uts-3.0.0-3081220230817001.tgz#b787f4107d5cae5cc0f811f9bf6b229ad36f3501"
-  integrity sha512-snMFEpTw5T0TT5uFwp0piytLRB0FBRHDM5ML00E1nrzfts0XlaFKoB4UsvLySG5sE5+Xt8F5/uzKxid3mcgTLQ==
-  dependencies:
-    "@babel/parser" "^7.16.4"
-    "@babel/types" "^7.20.7"
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-i18n" "3.0.0-3081220230817001"
-    "@dcloudio/uni-nvue-styler" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@rollup/pluginutils" "^4.2.0"
-    "@vue/compiler-core" "3.2.47"
-    "@vue/compiler-sfc" "3.2.47"
-    "@vue/shared" "3.2.47"
-    debug "^4.3.3"
-    es-module-lexer "^1.2.1"
-    fs-extra "^10.0.0"
-    picocolors "^1.0.0"
-    source-map "^0.6.1"
-
-"@dcloudio/uni-app-vite@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-app-vite/-/uni-app-vite-3.0.0-3081220230817001.tgz#559233883238f31ebd9e3f81f6eb8b954b1bb5fe"
-  integrity sha512-iHmKh6hjPGh+FC6Fi4qqwT5N31QiWv9JymCLdbkOJRi71A3byDjxoH7ScSEEEg+A5AAPky6LHbmFmznPMeSwAg==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-i18n" "3.0.0-3081220230817001"
-    "@dcloudio/uni-nvue-styler" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@rollup/pluginutils" "^4.2.0"
-    "@vitejs/plugin-vue" "^4.2.1"
-    "@vue/compiler-dom" "3.2.47"
-    "@vue/compiler-sfc" "3.2.47"
-    debug "^4.3.3"
-    fs-extra "^10.0.0"
-    picocolors "^1.0.0"
-
-"@dcloudio/uni-app-vue@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-app-vue/-/uni-app-vue-3.0.0-3081220230817001.tgz#24caf5316c662908df393529795fa4838a762697"
-  integrity sha512-08ZUIn2a+OZWjqvjTbLygWZOY9YXbf2J1ns2letBI9aoMZDx+Sgx2lUFWHDksmOhvApPLKrRjJM0Hmmxi2mjJw==
-
-"@dcloudio/uni-app@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-app/-/uni-app-3.0.0-3081220230817001.tgz#d18750d49253ae71054a1f2a324c6ba90769cb5f"
-  integrity sha512-sf8PzXHSd/VFCn7X9+QbD4nrY21FnIwjrhyX2hFit7PZK9kpyQluqCmG7YuotuXJzsNML8c8u2O9q5FaeOyTHg==
-  dependencies:
-    "@dcloudio/uni-cloud" "3.0.0-3081220230817001"
-    "@dcloudio/uni-components" "3.0.0-3081220230817001"
-    "@dcloudio/uni-i18n" "3.0.0-3081220230817001"
-    "@dcloudio/uni-push" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-stat" "3.0.0-3081220230817001"
-    "@vue/shared" "3.2.47"
-
-"@dcloudio/uni-automator@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-automator/-/uni-automator-3.0.0-3081220230817001.tgz#c037c5ad0ba0262c8bc98482bc2e16dbdf3d6945"
-  integrity sha512-boaRlUAAXsEh4aN5PbtMVvzdmvXqoEWa8eQBD4oCH36lyGgK8q75vsjLRi4LBFFwNlCNMrYepTNbBCjP+Sgt0g==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    address "^1.1.2"
-    cross-env "^7.0.3"
-    debug "^4.3.3"
-    default-gateway "^6.0.3"
-    fs-extra "^10.0.0"
-    jsonc-parser "^3.2.0"
-    licia "^1.29.0"
-    qrcode-reader "^1.0.4"
-    qrcode-terminal "^0.12.0"
-    ws "^8.4.2"
-
-"@dcloudio/uni-cli-shared@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-cli-shared/-/uni-cli-shared-3.0.0-3081220230817001.tgz#cfc679a41c9a415f25c326a86676c68eb57272ed"
-  integrity sha512-FOeydfIdKZg+MnQsHSFLXBzzmXtgCWnmEyjw3MHNN5mGwQB6+f7vK8sLw+yjizD/j71eMnh8XXCk+dV3nD/Vzg==
-  dependencies:
-    "@ampproject/remapping" "^2.1.2"
-    "@babel/core" "^7.21.3"
-    "@babel/parser" "^7.16.4"
-    "@babel/types" "^7.20.7"
-    "@dcloudio/uni-i18n" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@intlify/core-base" "9.1.9"
-    "@intlify/shared" "9.1.9"
-    "@intlify/vue-devtools" "9.1.9"
-    "@rollup/pluginutils" "^4.2.0"
-    "@vue/compiler-core" "3.2.47"
-    "@vue/compiler-dom" "3.2.47"
-    "@vue/compiler-sfc" "3.2.47"
-    "@vue/server-renderer" "3.2.47"
-    "@vue/shared" "3.2.47"
-    autoprefixer "^10.4.14"
-    base64url "^3.0.1"
-    chokidar "^3.5.3"
-    compare-versions "^3.6.0"
-    debug "^4.3.3"
-    es-module-lexer "^1.2.1"
-    esbuild "^0.17.5"
-    estree-walker "^2.0.2"
-    fast-glob "^3.2.11"
-    fs-extra "^10.0.0"
-    hash-sum "^2.0.0"
-    jsonc-parser "^3.0.0"
-    magic-string "^0.30.0"
-    merge "^2.1.1"
-    mime "^3.0.0"
-    module-alias "^2.2.2"
-    os-locale-s-fix "^1.0.8-fix-1"
-    picocolors "^1.0.0"
-    postcss-import "^14.0.2"
-    postcss-load-config "^3.1.1"
-    postcss-modules "^4.3.0"
-    postcss-selector-parser "^6.0.6"
-    resolve "^1.22.1"
-    tapable "^2.2.0"
-    xregexp "3.1.0"
-
-"@dcloudio/uni-cloud@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-cloud/-/uni-cloud-3.0.0-3081220230817001.tgz#a6b2dcd22127d6c85a0ba1769300c347c39243cf"
-  integrity sha512-rrHN4PvvylrhmivAoSv4h8ZcQ3ZWHnMRXhQWPC9FBR1TInrrxrrAHuMqSZn6pTIXhCiRA3Kuy6aDNVCbt6VA+g==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-i18n" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/shared" "3.2.47"
-    fast-glob "^3.2.11"
-
-"@dcloudio/uni-components@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-components/-/uni-components-3.0.0-3081220230817001.tgz#73b7d54c67db1dbcbb7402b66aacf592896bcece"
-  integrity sha512-FlIrTgR/9Yp8FWYfhXfLPd0jJtBwJwRBAWWmLNaufkTojm6X7rX8wQOd13n+7gJGKzfXcEV8npOYpVou4P46Pw==
-  dependencies:
-    "@dcloudio/uni-cloud" "3.0.0-3081220230817001"
-    "@dcloudio/uni-h5" "3.0.0-3081220230817001"
-    "@dcloudio/uni-i18n" "3.0.0-3081220230817001"
-
-"@dcloudio/uni-h5-vite@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-h5-vite/-/uni-h5-vite-3.0.0-3081220230817001.tgz#15e1044d6d1a443565e1dc0ff06520ecf137a550"
-  integrity sha512-x7F6mUTjHiOx7+lj5yIrzhD7gr0HTNJaku5gV3O8bFjxKLcIkFkAyliKPbqJ4QZCmCCmEfJpOGKrDhk35tlibg==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@rollup/pluginutils" "^4.2.0"
-    "@vue/compiler-dom" "3.2.47"
-    "@vue/compiler-sfc" "3.2.47"
-    "@vue/server-renderer" "3.2.47"
-    "@vue/shared" "3.2.47"
-    debug "^4.3.3"
-    fs-extra "^10.0.0"
-    mime "^3.0.0"
-    module-alias "^2.2.2"
-
-"@dcloudio/uni-h5-vue@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-h5-vue/-/uni-h5-vue-3.0.0-3081220230817001.tgz#e0359fa05ead43156ad7b883aef6552a7d0b62a7"
-  integrity sha512-q1eFoXb5/4whNIJ1CumKmeypPjZofw8xDQRHZeGZ7NVRQ0/MYnEm6A0n/vkmEo1IgTZIY83m/jr6RNg7a9Ko/A==
-  dependencies:
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/server-renderer" "3.2.47"
-
-"@dcloudio/uni-h5@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-h5/-/uni-h5-3.0.0-3081220230817001.tgz#d4aab795a4f48bb348151fa6eb1c3f08415c9586"
-  integrity sha512-m2RCZpYxuAGnXlQKSQ8FGy4OlnUJJ8XMx2HNQWriDwtjDpAGDU8I2LZQZ7MHCNPIUd503y+mgU2NPlSQHnrlkQ==
-  dependencies:
-    "@dcloudio/uni-h5-vite" "3.0.0-3081220230817001"
-    "@dcloudio/uni-h5-vue" "3.0.0-3081220230817001"
-    "@dcloudio/uni-i18n" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/server-renderer" "3.2.47"
-    "@vue/shared" "3.2.47"
-    debug "^4.3.3"
-    localstorage-polyfill "^1.0.1"
-    postcss-selector-parser "^6.0.6"
-    safe-area-insets "^1.4.1"
-    vue-router "^4.1.6"
-    xmlhttprequest "^1.8.0"
-
-"@dcloudio/uni-i18n@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-i18n/-/uni-i18n-3.0.0-3081220230817001.tgz#392d8e39a7d3324d2413ef949d4bc06f18c25c43"
-  integrity sha512-ooAIoNCy+DPlMtA4k9eoaJJsYQtici85le+ietIIzLdJoa2YUnudYv9CvG9Mw/RsKQI+MLl96ADAPgUpGzounw==
-
-"@dcloudio/uni-mp-alipay@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-mp-alipay/-/uni-mp-alipay-3.0.0-3081220230817001.tgz#aea5f2b292e52de255cd90084d41821cd96b81dd"
-  integrity sha512-lZR2u8sxJ/ZaDqaxEmGzgWWKHcjnLGedDTrMh8kOEPLHO6THVNe5TP6XeiTcE0HKJfWEXv6X13erjn0FCstz3A==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vite" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vue" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/compiler-core" "3.2.47"
-    "@vue/shared" "3.2.47"
-
-"@dcloudio/uni-mp-baidu@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-mp-baidu/-/uni-mp-baidu-3.0.0-3081220230817001.tgz#beb1b6b23b12682a5f5ff1b5febcc077e33622eb"
-  integrity sha512-FYwK1AqSc+NvtvaCia/fOP57ELx5O5icHjuwPKMsJv5eGtqlwhXzyvSCoGEFyYQcsWP9ZqYSb3fTuxVlbiEYdA==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-compiler" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vite" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vue" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-weixin" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/compiler-core" "3.2.47"
-    "@vue/shared" "3.2.47"
-    jimp "^0.10.1"
-    licia "^1.29.0"
-    qrcode-reader "^1.0.4"
-    qrcode-terminal "^0.12.0"
-    ws "^8.4.2"
-
-"@dcloudio/uni-mp-compiler@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-mp-compiler/-/uni-mp-compiler-3.0.0-3081220230817001.tgz#e7f04d7577684e3e0259ea22ccd802fb29158f56"
-  integrity sha512-KDfwEr9jFNSkNbYmdDc+zfGuZwXGkz3bW3c4cuV44IncTf/UW2m594Z2UzhJkx/p662aQ2W9M4BFZ0o5QSfQDw==
-  dependencies:
-    "@babel/generator" "^7.20.5"
-    "@babel/parser" "^7.16.4"
-    "@babel/types" "^7.20.7"
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/compiler-core" "3.2.47"
-    "@vue/compiler-dom" "3.2.47"
-    "@vue/shared" "3.2.47"
-    estree-walker "^2.0.2"
-
-"@dcloudio/uni-mp-jd@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-mp-jd/-/uni-mp-jd-3.0.0-3081220230817001.tgz#fe3b8880105a3bb6cf88fdec49ae04d68bab11b6"
-  integrity sha512-sKDppXhk7k8Euce9v7ItQ2cs3+XpQV/DX8FjXzfO9DfjQEKiR/Pyfis7e3ANQrF4V/W3uwK5wgN/PyI3/NRloQ==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-compiler" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vite" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vue" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/shared" "3.2.47"
-
-"@dcloudio/uni-mp-kuaishou@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-mp-kuaishou/-/uni-mp-kuaishou-3.0.0-3081220230817001.tgz#52a9b86f8c2d048f87212b59498975cfde6da110"
-  integrity sha512-wYXwoxcdms8PviNsKg2Y9oqHawKqseoD97sYs94RLDVSnyO9c6NOoUMsYjXwIZXt05E56bJ9EbxDqYDwwJhEKw==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-compiler" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vite" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vue" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-weixin" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/compiler-core" "3.2.47"
-    "@vue/shared" "3.2.47"
-
-"@dcloudio/uni-mp-lark@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-mp-lark/-/uni-mp-lark-3.0.0-3081220230817001.tgz#57c2ab515e332df2ed188eca9d3b1b454a92934a"
-  integrity sha512-4aHwULp+Nx55BoJvj1jCXWnVJrzl0ACEbDlXVvxmNUI5tkqn2kYL4AZgrXP1vCx8MHKVPI4E34Z+lrBTfSfKMA==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-compiler" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-toutiao" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vite" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vue" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/compiler-core" "3.2.47"
-    "@vue/shared" "3.2.47"
-
-"@dcloudio/uni-mp-qq@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-mp-qq/-/uni-mp-qq-3.0.0-3081220230817001.tgz#e3c4bcac8344778337d3dfe9d01a4738fcf20fff"
-  integrity sha512-StSsxCCKMdZCghUZ+wdX1otCmlYkIV+O2Z/AxMv772HfIKlpDp44PPaxlKBG4L6+X7h2JsCvyZW1iSznM5A3CQ==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vite" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vue" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/shared" "3.2.47"
-    fs-extra "^10.0.0"
-
-"@dcloudio/uni-mp-toutiao@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-mp-toutiao/-/uni-mp-toutiao-3.0.0-3081220230817001.tgz#e8b71b054b66cbc36404987ec4f0444a72f3466e"
-  integrity sha512-ZMSNNjQpCV4z+76OA8rDKKhqr+vQmTvKNUOzKfND5KPYhgWbqviEBZ8ptiDT5gaWXMpkUHNfWz32hdi5CLbj5Q==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-compiler" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vite" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vue" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/compiler-core" "3.2.47"
-    "@vue/shared" "3.2.47"
-
-"@dcloudio/uni-mp-vite@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-mp-vite/-/uni-mp-vite-3.0.0-3081220230817001.tgz#8fde797170edd1e540e8f698bc7ecdc99ba9412f"
-  integrity sha512-jmEbsVOJ1dlj46QiSFMB2C3zbgGivkGf1KXoPTAprv0WZrkmjF1uNLj0pHFOOUnnyHwHPViEApsMOPS4twIjIQ==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-i18n" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-compiler" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vue" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/compiler-sfc" "3.2.47"
-    "@vue/shared" "3.2.47"
-    debug "^4.3.3"
-
-"@dcloudio/uni-mp-vue@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-mp-vue/-/uni-mp-vue-3.0.0-3081220230817001.tgz#b8fb00bbe5471a681e13cb30b4c7de786590abd7"
-  integrity sha512-EfdTH6+qGXRh3402+psl8X4K34/gHfBPaMfxbwMsne1rGnB8ZVXiN73gVXKfCWeznvJqdWuTWmmjqaLoBhjOjA==
-  dependencies:
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/shared" "3.2.47"
-
-"@dcloudio/uni-mp-weixin@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-mp-weixin/-/uni-mp-weixin-3.0.0-3081220230817001.tgz#9521a691fa94ed4f1b5452f6a34eeb4e0125e222"
-  integrity sha512-vo2k8OaWFOvoXuRX83UCR0AOOKXXwjRDIOX0y/jUC9TX63Ne5OTdRKH9253D9109FrwtrtsUWqnpfn1ynKXl9g==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vite" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vue" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/shared" "3.2.47"
-    jimp "^0.10.1"
-    licia "^1.29.0"
-    qrcode-reader "^1.0.4"
-    qrcode-terminal "^0.12.0"
-    ws "^8.4.2"
-
-"@dcloudio/uni-nvue-styler@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-nvue-styler/-/uni-nvue-styler-3.0.0-3081220230817001.tgz#ddf649c52d501746cada299b232289060a5c42ec"
-  integrity sha512-EImnyrYHmAc7ibKfIMkBG1uMavS5sPdrtQj52m40o/QNU5kcsqUk2Od9c1ULkQloxhmK2E4FZvXo4cgszE/Txw==
-  dependencies:
-    "@vue/shared" "3.2.47"
-    parse-css-font "^4.0.0"
-    postcss "^8.4.23"
-
-"@dcloudio/uni-push@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-push/-/uni-push-3.0.0-3081220230817001.tgz#b7826ba6948b8c71a900083e585c4ba85e989d57"
-  integrity sha512-1IyVJlBnZVVvY49SQKpZG5Oxak5Wl51NvYEozuYoeBaaTeZObm7B6eyd722sXi0Dd6N1sE3kIdm/XReprK53eg==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-
-"@dcloudio/uni-quickapp-webview@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-quickapp-webview/-/uni-quickapp-webview-3.0.0-3081220230817001.tgz#ec5c9b166bfb7cd864ebac51131c6eba397d186f"
-  integrity sha512-w6yitVyCKEFSO+UDsJPjc5RfAstIdOEbBHgim0gInTfOl90odmyUPKDxWhwQgS5vqezBXpCj0/6ywVMHvZu+7A==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vite" "3.0.0-3081220230817001"
-    "@dcloudio/uni-mp-vue" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@vue/shared" "3.2.47"
-
-"@dcloudio/uni-shared@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-shared/-/uni-shared-3.0.0-3081220230817001.tgz#26e7f981c8ef62da933943ea3cf32f52ec924621"
-  integrity sha512-NI1pBO40VqvnWjwNXad3CqrUYvr4ffGjiDMgJGMP13rgOEAqamU7ozBimoASDVPKyyfSHTeuYuh0gtaaLu4CsQ==
-  dependencies:
-    "@vue/shared" "3.2.47"
-
-"@dcloudio/uni-stacktracey@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-stacktracey/-/uni-stacktracey-3.0.0-3081220230817001.tgz#d490bd0c46554715e2f39095027f317c08f32620"
-  integrity sha512-DUTTN8JWXxjO3ryz7uhD3+vazHVMflln15+r0ycWBjXO0p0MepRY3gX5gKCyiq9D3NUIxazcFAUJ6agFVUbDog==
-
-"@dcloudio/uni-stat@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/uni-stat/-/uni-stat-3.0.0-3081220230817001.tgz#09a07acf8be92b7209a951d028588f5a98946f49"
-  integrity sha512-xpbsor5WKU1eCbo0dmQ0hBUX6RrdG7DNDzCSD6oimndIXVGLkFhWrIC3brQ7S1G2GQvXdXnXJpUVskI3qNe/uw==
-  dependencies:
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    debug "^4.3.3"
-
-"@dcloudio/vite-plugin-uni@3.0.0-3081220230817001":
-  version "3.0.0-3081220230817001"
-  resolved "https://registry.npmmirror.com/@dcloudio/vite-plugin-uni/-/vite-plugin-uni-3.0.0-3081220230817001.tgz#ebab0080824ba0796db84064fa47e4c3266c97c6"
-  integrity sha512-dLeqqyrNNUBTZfI0ppPk4YoD+DBI0gJLeTjpN6bK5i3nFKkju9g2K6IWl62YMObjTiXwQF8qAEDb+fyWoe4Ksw==
-  dependencies:
-    "@babel/core" "^7.21.3"
-    "@babel/plugin-syntax-import-meta" "^7.10.4"
-    "@babel/plugin-transform-typescript" "^7.20.7"
-    "@dcloudio/uni-cli-shared" "3.0.0-3081220230817001"
-    "@dcloudio/uni-shared" "3.0.0-3081220230817001"
-    "@rollup/pluginutils" "^4.2.0"
-    "@vitejs/plugin-legacy" "^4.0.3"
-    "@vitejs/plugin-vue" "^4.2.1"
-    "@vitejs/plugin-vue-jsx" "^3.0.1"
-    "@vue/compiler-core" "3.2.47"
-    "@vue/compiler-dom" "3.2.47"
-    "@vue/compiler-sfc" "3.2.47"
-    "@vue/shared" "3.2.47"
-    cac "6.7.9"
-    debug "^4.3.3"
-    estree-walker "^2.0.2"
-    express "^4.17.1"
-    fast-glob "^3.2.11"
-    fs-extra "^10.0.0"
-    hash-sum "^2.0.0"
-    jsonc-parser "^3.0.0"
-    magic-string "^0.30.0"
-    picocolors "^1.0.0"
-    terser "^5.4.0"
-
-"@esbuild/android-arm64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23"
-  integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==
-
-"@esbuild/android-arm64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz#bafb75234a5d3d1b690e7c2956a599345e84a2fd"
-  integrity sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==
-
-"@esbuild/android-arm@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2"
-  integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==
-
-"@esbuild/android-arm@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.17.19.tgz#5898f7832c2298bc7d0ab53701c57beb74d78b4d"
-  integrity sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==
-
-"@esbuild/android-x64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e"
-  integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==
-
-"@esbuild/android-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.17.19.tgz#658368ef92067866d95fb268719f98f363d13ae1"
-  integrity sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==
-
-"@esbuild/darwin-arm64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220"
-  integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==
-
-"@esbuild/darwin-arm64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz#584c34c5991b95d4d48d333300b1a4e2ff7be276"
-  integrity sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==
-
-"@esbuild/darwin-x64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4"
-  integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==
-
-"@esbuild/darwin-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz#7751d236dfe6ce136cce343dce69f52d76b7f6cb"
-  integrity sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==
-
-"@esbuild/freebsd-arm64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27"
-  integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==
-
-"@esbuild/freebsd-arm64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz#cacd171665dd1d500f45c167d50c6b7e539d5fd2"
-  integrity sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==
-
-"@esbuild/freebsd-x64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72"
-  integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==
-
-"@esbuild/freebsd-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz#0769456eee2a08b8d925d7c00b79e861cb3162e4"
-  integrity sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==
-
-"@esbuild/linux-arm64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca"
-  integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==
-
-"@esbuild/linux-arm64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz#38e162ecb723862c6be1c27d6389f48960b68edb"
-  integrity sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==
-
-"@esbuild/linux-arm@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196"
-  integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==
-
-"@esbuild/linux-arm@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz#1a2cd399c50040184a805174a6d89097d9d1559a"
-  integrity sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==
-
-"@esbuild/linux-ia32@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54"
-  integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==
-
-"@esbuild/linux-ia32@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz#e28c25266b036ce1cabca3c30155222841dc035a"
-  integrity sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==
-
-"@esbuild/linux-loong64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8"
-  integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==
-
-"@esbuild/linux-loong64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz#0f887b8bb3f90658d1a0117283e55dbd4c9dcf72"
-  integrity sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==
-
-"@esbuild/linux-mips64el@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726"
-  integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==
-
-"@esbuild/linux-mips64el@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz#f5d2a0b8047ea9a5d9f592a178ea054053a70289"
-  integrity sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==
-
-"@esbuild/linux-ppc64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8"
-  integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==
-
-"@esbuild/linux-ppc64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz#876590e3acbd9fa7f57a2c7d86f83717dbbac8c7"
-  integrity sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==
-
-"@esbuild/linux-riscv64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9"
-  integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==
-
-"@esbuild/linux-riscv64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz#7f49373df463cd9f41dc34f9b2262d771688bf09"
-  integrity sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==
-
-"@esbuild/linux-s390x@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87"
-  integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==
-
-"@esbuild/linux-s390x@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz#e2afd1afcaf63afe2c7d9ceacd28ec57c77f8829"
-  integrity sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==
-
-"@esbuild/linux-x64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f"
-  integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==
-
-"@esbuild/linux-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz#8a0e9738b1635f0c53389e515ae83826dec22aa4"
-  integrity sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==
-
-"@esbuild/netbsd-x64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775"
-  integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==
-
-"@esbuild/netbsd-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz#c29fb2453c6b7ddef9a35e2c18b37bda1ae5c462"
-  integrity sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==
-
-"@esbuild/openbsd-x64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35"
-  integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==
-
-"@esbuild/openbsd-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz#95e75a391403cb10297280d524d66ce04c920691"
-  integrity sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==
-
-"@esbuild/sunos-x64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c"
-  integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==
-
-"@esbuild/sunos-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz#722eaf057b83c2575937d3ffe5aeb16540da7273"
-  integrity sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==
-
-"@esbuild/win32-arm64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a"
-  integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==
-
-"@esbuild/win32-arm64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz#9aa9dc074399288bdcdd283443e9aeb6b9552b6f"
-  integrity sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==
-
-"@esbuild/win32-ia32@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09"
-  integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==
-
-"@esbuild/win32-ia32@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz#95ad43c62ad62485e210f6299c7b2571e48d2b03"
-  integrity sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==
-
-"@esbuild/win32-x64@0.16.17":
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091"
-  integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==
-
-"@esbuild/win32-x64@0.17.19":
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz#8cfaf2ff603e9aabb910e9c0558c26cf32744061"
-  integrity sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==
-
-"@intlify/core-base@9.1.9":
-  version "9.1.9"
-  resolved "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.1.9.tgz#e4e8c951010728e4af3a0d13d74cf3f9e7add7f6"
-  integrity sha512-x5T0p/Ja0S8hs5xs+ImKyYckVkL4CzcEXykVYYV6rcbXxJTe2o58IquSqX9bdncVKbRZP7GlBU1EcRaQEEJ+vw==
-  dependencies:
-    "@intlify/devtools-if" "9.1.9"
-    "@intlify/message-compiler" "9.1.9"
-    "@intlify/message-resolver" "9.1.9"
-    "@intlify/runtime" "9.1.9"
-    "@intlify/shared" "9.1.9"
-    "@intlify/vue-devtools" "9.1.9"
-
-"@intlify/core-base@9.10.2":
-  version "9.10.2"
-  resolved "https://registry.npmmirror.com/@intlify/core-base/-/core-base-9.10.2.tgz#e7f8857f8011184e4afbdcfae7dbd85c50ba5271"
-  integrity sha512-HGStVnKobsJL0DoYIyRCGXBH63DMQqEZxDUGrkNI05FuTcruYUtOAxyL3zoAZu/uDGO6mcUvm3VXBaHG2GdZCg==
-  dependencies:
-    "@intlify/message-compiler" "9.10.2"
-    "@intlify/shared" "9.10.2"
-
-"@intlify/devtools-if@9.1.9":
-  version "9.1.9"
-  resolved "https://registry.npmmirror.com/@intlify/devtools-if/-/devtools-if-9.1.9.tgz#a30e1dd1256ff2c5c98d8d75d075384fba898e5d"
-  integrity sha512-oKSMKjttG3Ut/1UGEZjSdghuP3fwA15zpDPcjkf/1FjlOIm6uIBGMNS5jXzsZy593u+P/YcnrZD6cD3IVFz9vQ==
-  dependencies:
-    "@intlify/shared" "9.1.9"
-
-"@intlify/message-compiler@9.1.9":
-  version "9.1.9"
-  resolved "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.1.9.tgz#1193cbd224a71c2fb981455b8534a3c766d2948d"
-  integrity sha512-6YgCMF46Xd0IH2hMRLCssZI3gFG4aywidoWQ3QP4RGYQXQYYfFC54DxhSgfIPpVoPLQ+4AD29eoYmhiHZ+qLFQ==
-  dependencies:
-    "@intlify/message-resolver" "9.1.9"
-    "@intlify/shared" "9.1.9"
-    source-map "0.6.1"
-
-"@intlify/message-compiler@9.10.2":
-  version "9.10.2"
-  resolved "https://registry.npmmirror.com/@intlify/message-compiler/-/message-compiler-9.10.2.tgz#c44cbb915bdd0d62780a38595a84006c781f717a"
-  integrity sha512-ntY/kfBwQRtX5Zh6wL8cSATujPzWW2ZQd1QwKyWwAy5fMqJyyixHMeovN4fmEyCqSu+hFfYOE63nU94evsy4YA==
-  dependencies:
-    "@intlify/shared" "9.10.2"
-    source-map-js "^1.0.2"
-
-"@intlify/message-resolver@9.1.9":
-  version "9.1.9"
-  resolved "https://registry.npmmirror.com/@intlify/message-resolver/-/message-resolver-9.1.9.tgz#3155ccd2f5e6d0dc16cad8b7f1d8e97fcda05bfc"
-  integrity sha512-Lx/DBpigeK0sz2BBbzv5mu9/dAlt98HxwbG7xLawC3O2xMF9MNWU5FtOziwYG6TDIjNq0O/3ZbOJAxwITIWXEA==
-
-"@intlify/runtime@9.1.9":
-  version "9.1.9"
-  resolved "https://registry.npmmirror.com/@intlify/runtime/-/runtime-9.1.9.tgz#2c12ce29518a075629efed0a8ed293ee740cb285"
-  integrity sha512-XgPw8+UlHCiie3fI41HPVa/VDJb3/aSH7bLhY1hJvlvNV713PFtb4p4Jo+rlE0gAoMsMCGcsiT982fImolSltg==
-  dependencies:
-    "@intlify/message-compiler" "9.1.9"
-    "@intlify/message-resolver" "9.1.9"
-    "@intlify/shared" "9.1.9"
-
-"@intlify/shared@9.1.9":
-  version "9.1.9"
-  resolved "https://registry.npmmirror.com/@intlify/shared/-/shared-9.1.9.tgz#0baaf96128b85560666bec784ffb01f6623cc17a"
-  integrity sha512-xKGM1d0EAxdDFCWedcYXOm6V5Pfw/TMudd6/qCdEb4tv0hk9EKeg7lwQF1azE0dP2phvx0yXxrt7UQK+IZjNdw==
-
-"@intlify/shared@9.10.2":
-  version "9.10.2"
-  resolved "https://registry.npmmirror.com/@intlify/shared/-/shared-9.10.2.tgz#693300ea033868cbe4086b832170612f002e24a9"
-  integrity sha512-ttHCAJkRy7R5W2S9RVnN9KYQYPIpV2+GiS79T4EE37nrPyH6/1SrOh3bmdCRC1T3ocL8qCDx7x2lBJ0xaITU7Q==
-
-"@intlify/vue-devtools@9.1.9":
-  version "9.1.9"
-  resolved "https://registry.npmmirror.com/@intlify/vue-devtools/-/vue-devtools-9.1.9.tgz#2be8f4dbe7f7ed4115676eb32348141d411e426b"
-  integrity sha512-YPehH9uL4vZcGXky4Ev5qQIITnHKIvsD2GKGXgqf+05osMUI6WSEQHaN9USRa318Rs8RyyPCiDfmA0hRu3k7og==
-  dependencies:
-    "@intlify/message-resolver" "9.1.9"
-    "@intlify/runtime" "9.1.9"
-    "@intlify/shared" "9.1.9"
-
-"@jimp/bmp@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/bmp/-/bmp-0.10.3.tgz#79a23678e8389865c62e77b0dccc3e069dfc27f0"
-  integrity sha512-keMOc5woiDmONXsB/6aXLR4Z5Q+v8lFq3EY2rcj2FmstbDMhRuGbmcBxlEgOqfRjwvtf/wOtJ3Of37oAWtVfLg==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    bmp-js "^0.1.0"
-    core-js "^3.4.1"
-
-"@jimp/core@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/core/-/core-0.10.3.tgz#4095f3bef43837c85d8f8373b912bc431cfe6d1f"
-  integrity sha512-Gd5IpL3U2bFIO57Fh/OA3HCpWm4uW/pU01E75rI03BXfTdz3T+J7TwvyG1XaqsQ7/DSlS99GXtLQPlfFIe28UA==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    any-base "^1.1.0"
-    buffer "^5.2.0"
-    core-js "^3.4.1"
-    exif-parser "^0.1.12"
-    file-type "^9.0.0"
-    load-bmfont "^1.3.1"
-    mkdirp "^0.5.1"
-    phin "^2.9.1"
-    pixelmatch "^4.0.2"
-    tinycolor2 "^1.4.1"
-
-"@jimp/custom@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/custom/-/custom-0.10.3.tgz#eb6201b2e8fdd83afc3d8b514538e5faa1d30980"
-  integrity sha512-nZmSI+jwTi5IRyNLbKSXQovoeqsw+D0Jn0SxW08wYQvdkiWA8bTlDQFgQ7HVwCAKBm8oKkDB/ZEo9qvHJ+1gAQ==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/core" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/gif@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/gif/-/gif-0.10.3.tgz#7661280fd2b9cb70175b20e80f4e2b3e3ecf614e"
-  integrity sha512-vjlRodSfz1CrUvvrnUuD/DsLK1GHB/yDZXHthVdZu23zYJIW7/WrIiD1IgQ5wOMV7NocfrvPn2iqUfBP81/WWA==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-    omggif "^1.0.9"
-
-"@jimp/jpeg@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/jpeg/-/jpeg-0.10.3.tgz#56f66874f204826291747ae12ff9eb337ab5cb8d"
-  integrity sha512-AAANwgUZOt6f6P7LZxY9lyJ9xclqutYJlsxt3JbriXUGJgrrFAIkcKcqv1nObgmQASSAQKYaMV9KdHjMlWFKlQ==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-    jpeg-js "^0.3.4"
-
-"@jimp/plugin-blit@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-blit/-/plugin-blit-0.10.3.tgz#095bafbb2d82c300159334a49a094f0b7d362ae6"
-  integrity sha512-5zlKlCfx4JWw9qUVC7GI4DzXyxDWyFvgZLaoGFoT00mlXlN75SarlDwc9iZ/2e2kp4bJWxz3cGgG4G/WXrbg3Q==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-blur@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-blur/-/plugin-blur-0.10.3.tgz#1bb91f730fda02b3c99d913e0191111327654766"
-  integrity sha512-cTOK3rjh1Yjh23jSfA6EHCHjsPJDEGLC8K2y9gM7dnTUK1y9NNmkFS23uHpyjgsWFIoH9oRh2SpEs3INjCpZhQ==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-circle@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-circle/-/plugin-circle-0.10.3.tgz#c5a6ec275cf1e86b1356824637910a299c9fd662"
-  integrity sha512-51GAPIVelqAcfuUpaM5JWJ0iWl4vEjNXB7p4P7SX5udugK5bxXUjO6KA2qgWmdpHuCKtoNgkzWU9fNSuYp7tCA==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-color@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-color/-/plugin-color-0.10.3.tgz#810c0f7cb4ceb21da1aecfbdb6ae09f00c1c0bfa"
-  integrity sha512-RgeHUElmlTH7vpI4WyQrz6u59spiKfVQbsG/XUzfWGamFSixa24ZDwX/yV/Ts+eNaz7pZeIuv533qmKPvw2ujg==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-    tinycolor2 "^1.4.1"
-
-"@jimp/plugin-contain@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-contain/-/plugin-contain-0.10.3.tgz#cf62126a60260359061be456b2193818c5eb1df5"
-  integrity sha512-bYJKW9dqzcB0Ihc6u7jSyKa3juStzbLs2LFr6fu8TzA2WkMS/R8h+ddkiO36+F9ILTWHP0CIA3HFe5OdOGcigw==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-cover@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-cover/-/plugin-cover-0.10.3.tgz#7cdf56ce878c24adc35c583735015118c6de38b4"
-  integrity sha512-pOxu0cM0BRPzdV468n4dMocJXoMbTnARDY/EpC3ZW15SpMuc/dr1KhWQHgoQX5kVW1Wt8zgqREAJJCQ5KuPKDA==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-crop@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-crop/-/plugin-crop-0.10.3.tgz#03785181f62ddae9558ae73206f8d6217d7fa703"
-  integrity sha512-nB7HgOjjl9PgdHr076xZ3Sr6qHYzeBYBs9qvs3tfEEUeYMNnvzgCCGtUl6eMakazZFCMk3mhKmcB9zQuHFOvkg==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-displace@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-displace/-/plugin-displace-0.10.3.tgz#cb5b225e6cf3cf44062b08cd2cf2115b3150d8c3"
-  integrity sha512-8t3fVKCH5IVqI4lewe4lFFjpxxr69SQCz5/tlpDLQZsrNScNJivHdQ09zljTrVTCSgeCqQJIKgH2Q7Sk/pAZ0w==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-dither@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-dither/-/plugin-dither-0.10.3.tgz#c5c1cbbf157a771ba72b947dd9921a7bff3cf41a"
-  integrity sha512-JCX/oNSnEg1kGQ8ffZ66bEgQOLCY3Rn+lrd6v1jjLy/mn9YVZTMsxLtGCXpiCDC2wG/KTmi4862ysmP9do9dAQ==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-fisheye@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-fisheye/-/plugin-fisheye-0.10.3.tgz#dee46d704df5c681556dc9ea9e87e8c77ac4fdda"
-  integrity sha512-RRZb1wqe+xdocGcFtj2xHU7sF7xmEZmIa6BmrfSchjyA2b32TGPWKnP3qyj7p6LWEsXn+19hRYbjfyzyebPElQ==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-flip@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-flip/-/plugin-flip-0.10.3.tgz#12f894f85b283ad4f43b492e0755f8ec9459bc60"
-  integrity sha512-0epbi8XEzp0wmSjoW9IB0iMu0yNF17aZOxLdURCN3Zr+8nWPs5VNIMqSVa1Y62GSyiMDpVpKF/ITiXre+EqrPg==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-gaussian@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-gaussian/-/plugin-gaussian-0.10.3.tgz#279222fc5d3aec24fab6162df2a1190309c71874"
-  integrity sha512-25eHlFbHUDnMMGpgRBBeQ2AMI4wsqCg46sue0KklI+c2BaZ+dGXmJA5uT8RTOrt64/K9Wz5E+2n7eBnny4dfpQ==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-invert@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-invert/-/plugin-invert-0.10.3.tgz#6b7beacbe507fa03eec87b1d6343feba80e342eb"
-  integrity sha512-effYSApWY/FbtlzqsKXlTLkgloKUiHBKjkQnqh5RL4oQxh/33j6aX+HFdDyQKtsXb8CMd4xd7wyiD2YYabTa0g==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-mask@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-mask/-/plugin-mask-0.10.3.tgz#72d994c3bb56c050a4edd6515f74b5b6d92dee69"
-  integrity sha512-twrg8q8TIhM9Z6Jcu9/5f+OCAPaECb0eKrrbbIajJqJ3bCUlj5zbfgIhiQIzjPJ6KjpnFPSqHQfHkU1Vvk/nVw==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-normalize@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-normalize/-/plugin-normalize-0.10.3.tgz#f3cbb8a0fcc8e696619d5d46403b0620ee5240d6"
-  integrity sha512-xkb5eZI/mMlbwKkDN79+1/t/+DBo8bBXZUMsT4gkFgMRKNRZ6NQPxlv1d3QpRzlocsl6UMxrHnhgnXdLAcgrXw==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-print@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-print/-/plugin-print-0.10.3.tgz#565d57a3a87dd59b4ede9cba7a6e34f8d01ed1b1"
-  integrity sha512-wjRiI6yjXsAgMe6kVjizP+RgleUCLkH256dskjoNvJzmzbEfO7xQw9g6M02VET+emnbY0CO83IkrGm2q43VRyg==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-    load-bmfont "^1.4.0"
-
-"@jimp/plugin-resize@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-resize/-/plugin-resize-0.10.3.tgz#616fab55a1996a12e9583e7c1fb76815388fc14b"
-  integrity sha512-rf8YmEB1d7Sg+g4LpqF0Mp+dfXfb6JFJkwlAIWPUOR7lGsPWALavEwTW91c0etEdnp0+JB9AFpy6zqq7Lwkq6w==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-rotate@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-rotate/-/plugin-rotate-0.10.3.tgz#cfcbdad664e13c84ce9b008ddbc157e03d7baa31"
-  integrity sha512-YXLlRjm18fkW9MOHUaVAxWjvgZM851ofOipytz5FyKp4KZWDLk+dZK1JNmVmK7MyVmAzZ5jsgSLhIgj+GgN0Eg==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-scale@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-scale/-/plugin-scale-0.10.3.tgz#b593081ff35b0e9e11d5e0a3188c590eaa838434"
-  integrity sha512-5DXD7x7WVcX1gUgnlFXQa8F+Q3ThRYwJm+aesgrYvDOY+xzRoRSdQvhmdd4JEEue3lyX44DvBSgCIHPtGcEPaw==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-shadow@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-shadow/-/plugin-shadow-0.10.3.tgz#a9d54c8081a55152e5cc830cf5c898ab882b519a"
-  integrity sha512-/nkFXpt2zVcdP4ETdkAUL0fSzyrC5ZFxdcphbYBodqD7fXNqChS/Un1eD4xCXWEpW8cnG9dixZgQgStjywH0Mg==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugin-threshold@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugin-threshold/-/plugin-threshold-0.10.3.tgz#8dd289c81de4bfbdb496f9c24496f9ee3b751ab5"
-  integrity sha512-Dzh0Yq2wXP2SOnxcbbiyA4LJ2luwrdf1MghNIt9H+NX7B+IWw/N8qA2GuSm9n4BPGSLluuhdAWJqHcTiREriVA==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-
-"@jimp/plugins@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/plugins/-/plugins-0.10.3.tgz#e15d7ba3f9e2a6b479efad5c344c8b61e01b7cb2"
-  integrity sha512-jTT3/7hOScf0EIKiAXmxwayHhryhc1wWuIe3FrchjDjr9wgIGNN2a7XwCgPl3fML17DXK1x8EzDneCdh261bkw==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/plugin-blit" "^0.10.3"
-    "@jimp/plugin-blur" "^0.10.3"
-    "@jimp/plugin-circle" "^0.10.3"
-    "@jimp/plugin-color" "^0.10.3"
-    "@jimp/plugin-contain" "^0.10.3"
-    "@jimp/plugin-cover" "^0.10.3"
-    "@jimp/plugin-crop" "^0.10.3"
-    "@jimp/plugin-displace" "^0.10.3"
-    "@jimp/plugin-dither" "^0.10.3"
-    "@jimp/plugin-fisheye" "^0.10.3"
-    "@jimp/plugin-flip" "^0.10.3"
-    "@jimp/plugin-gaussian" "^0.10.3"
-    "@jimp/plugin-invert" "^0.10.3"
-    "@jimp/plugin-mask" "^0.10.3"
-    "@jimp/plugin-normalize" "^0.10.3"
-    "@jimp/plugin-print" "^0.10.3"
-    "@jimp/plugin-resize" "^0.10.3"
-    "@jimp/plugin-rotate" "^0.10.3"
-    "@jimp/plugin-scale" "^0.10.3"
-    "@jimp/plugin-shadow" "^0.10.3"
-    "@jimp/plugin-threshold" "^0.10.3"
-    core-js "^3.4.1"
-    timm "^1.6.1"
-
-"@jimp/png@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/png/-/png-0.10.3.tgz#5282cad239d02743137d88239e4cb1804ed877dd"
-  integrity sha512-YKqk/dkl+nGZxSYIDQrqhmaP8tC3IK8H7dFPnnzFVvbhDnyYunqBZZO3SaZUKTichClRw8k/CjBhbc+hifSGWg==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/utils" "^0.10.3"
-    core-js "^3.4.1"
-    pngjs "^3.3.3"
-
-"@jimp/tiff@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/tiff/-/tiff-0.10.3.tgz#6d143bbc42b40c9f618686a596311b35f7ff8502"
-  integrity sha512-7EsJzZ5Y/EtinkBGuwX3Bi4S+zgbKouxjt9c82VJTRJOQgLWsE/RHqcyRCOQBhHAZ9QexYmDz34medfLKdoX0g==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    core-js "^3.4.1"
-    utif "^2.0.1"
-
-"@jimp/types@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/types/-/types-0.10.3.tgz#9122e0a3c70129c7f26c05bbeae5030ed3a6fd5d"
-  integrity sha512-XGmBakiHZqseSWr/puGN+CHzx0IKBSpsKlmEmsNV96HKDiP6eu8NSnwdGCEq2mmIHe0JNcg1hqg59hpwtQ7Tiw==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/bmp" "^0.10.3"
-    "@jimp/gif" "^0.10.3"
-    "@jimp/jpeg" "^0.10.3"
-    "@jimp/png" "^0.10.3"
-    "@jimp/tiff" "^0.10.3"
-    core-js "^3.4.1"
-    timm "^1.6.1"
-
-"@jimp/utils@^0.10.3":
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/@jimp/utils/-/utils-0.10.3.tgz#69209dd6c2d6fd956a0beb67a47c26cb6f52f3fe"
-  integrity sha512-VcSlQhkil4ReYmg1KkN+WqHyYfZ2XfZxDsKAHSfST1GEz/RQHxKZbX+KhFKtKflnL0F4e6DlNQj3vznMNXCR2w==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    core-js "^3.4.1"
-    regenerator-runtime "^0.13.3"
-
-"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5":
-  version "0.3.5"
-  resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36"
-  integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==
-  dependencies:
-    "@jridgewell/set-array" "^1.2.1"
-    "@jridgewell/sourcemap-codec" "^1.4.10"
-    "@jridgewell/trace-mapping" "^0.3.24"
-
-"@jridgewell/resolve-uri@^3.1.0":
-  version "3.1.2"
-  resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
-  integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
-
-"@jridgewell/set-array@^1.2.1":
-  version "1.2.1"
-  resolved "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280"
-  integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
-
-"@jridgewell/source-map@^0.3.3":
-  version "0.3.6"
-  resolved "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a"
-  integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==
-  dependencies:
-    "@jridgewell/gen-mapping" "^0.3.5"
-    "@jridgewell/trace-mapping" "^0.3.25"
-
-"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15":
-  version "1.4.15"
-  resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
-  integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
-
-"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
-  version "0.3.25"
-  resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
-  integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
-  dependencies:
-    "@jridgewell/resolve-uri" "^3.1.0"
-    "@jridgewell/sourcemap-codec" "^1.4.14"
-
-"@nodelib/fs.scandir@2.1.5":
-  version "2.1.5"
-  resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
-  integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
-  dependencies:
-    "@nodelib/fs.stat" "2.0.5"
-    run-parallel "^1.1.9"
-
-"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
-  version "2.0.5"
-  resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
-  integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
-
-"@nodelib/fs.walk@^1.2.3":
-  version "1.2.8"
-  resolved "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
-  integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
-  dependencies:
-    "@nodelib/fs.scandir" "2.1.5"
-    fastq "^1.6.0"
-
-"@qiun/wx-ucharts@2.5.0-20230101":
-  version "2.5.0-20230101"
-  resolved "https://registry.npmmirror.com/@qiun/wx-ucharts/-/wx-ucharts-2.5.0-20230101.tgz#ba7237cbf6bd92645e8322040c7449b8b7a1eea4"
-  integrity sha512-sAaNUf4U6r4/0JZMTlfNwrtfT0v8qFO02B/wYsj4yZGTDAQ/QctGgKI7hVUDUSrqZnjH6xWqE+ql0FOIs1fTuQ==
-
-"@rollup/pluginutils@^4.2.0":
-  version "4.2.1"
-  resolved "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d"
-  integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==
-  dependencies:
-    estree-walker "^2.0.1"
-    picomatch "^2.2.2"
-
-"@ttou/uview-typings@^2.0.5":
-  version "2.0.5"
-  resolved "https://registry.npmmirror.com/@ttou/uview-typings/-/uview-typings-2.0.5.tgz#fd6466745e1586c40205c32b7d6ba3fcd15b9b96"
-  integrity sha512-yyxEWWFcgKcEWkWB/riCXInjQs8gMKRBtaWarFyOZfvCmnEYSjqdtUppINpvRNbdJsV2kxNDeH8PsJ8FBovHBg==
-
-"@types/json-schema@^7.0.8":
-  version "7.0.15"
-  resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
-  integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
-
-"@vitejs/plugin-legacy@^4.0.3":
-  version "4.1.1"
-  resolved "https://registry.npmmirror.com/@vitejs/plugin-legacy/-/plugin-legacy-4.1.1.tgz#27aad7ab082d2d554cf48a8e4f1c0ae9f3eca522"
-  integrity sha512-um3gbVouD2Q/g19C0qpDfHwveXDCAHzs8OC3e9g6aXpKoD1H14himgs7wkMnhAynBJy7QqUoZNAXDuqN8zLR2g==
-  dependencies:
-    "@babel/core" "^7.22.9"
-    "@babel/preset-env" "^7.22.9"
-    browserslist "^4.21.9"
-    core-js "^3.31.1"
-    magic-string "^0.30.1"
-    regenerator-runtime "^0.13.11"
-    systemjs "^6.14.1"
-
-"@vitejs/plugin-vue-jsx@^3.0.1":
-  version "3.1.0"
-  resolved "https://registry.npmmirror.com/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.1.0.tgz#9953fd9456539e1f0f253bf0fcd1289e66c67cd1"
-  integrity sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==
-  dependencies:
-    "@babel/core" "^7.23.3"
-    "@babel/plugin-transform-typescript" "^7.23.3"
-    "@vue/babel-plugin-jsx" "^1.1.5"
-
-"@vitejs/plugin-vue@^4.2.1":
-  version "4.6.2"
-  resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz#057d2ded94c4e71b94e9814f92dcd9306317aa46"
-  integrity sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==
-
-"@volar/language-core@1.11.1", "@volar/language-core@~1.11.1":
-  version "1.11.1"
-  resolved "https://registry.npmmirror.com/@volar/language-core/-/language-core-1.11.1.tgz#ecdf12ea8dc35fb8549e517991abcbf449a5ad4f"
-  integrity sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==
-  dependencies:
-    "@volar/source-map" "1.11.1"
-
-"@volar/source-map@1.11.1", "@volar/source-map@~1.11.1":
-  version "1.11.1"
-  resolved "https://registry.npmmirror.com/@volar/source-map/-/source-map-1.11.1.tgz#535b0328d9e2b7a91dff846cab4058e191f4452f"
-  integrity sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==
-  dependencies:
-    muggle-string "^0.3.1"
-
-"@volar/typescript@~1.11.1":
-  version "1.11.1"
-  resolved "https://registry.npmmirror.com/@volar/typescript/-/typescript-1.11.1.tgz#ba86c6f326d88e249c7f5cfe4b765be3946fd627"
-  integrity sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==
-  dependencies:
-    "@volar/language-core" "1.11.1"
-    path-browserify "^1.0.1"
-
-"@vue/babel-helper-vue-transform-on@1.2.1":
-  version "1.2.1"
-  resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.1.tgz#3a48da809025b9a0eb4f4b3030e0d316c40fac0a"
-  integrity sha512-jtEXim+pfyHWwvheYwUwSXm43KwQo8nhOBDyjrUITV6X2tB7lJm6n/+4sqR8137UVZZul5hBzWHdZ2uStYpyRQ==
-
-"@vue/babel-plugin-jsx@^1.1.5":
-  version "1.2.1"
-  resolved "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.1.tgz#786c5395605a1d2463d6b10d8a7f3abdc01d25ce"
-  integrity sha512-Yy9qGktktXhB39QE99So/BO2Uwm/ZG+gpL9vMg51ijRRbINvgbuhyJEi4WYmGRMx/MSTfK0xjgZ3/MyY+iLCEg==
-  dependencies:
-    "@babel/helper-module-imports" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/plugin-syntax-jsx" "^7.23.3"
-    "@babel/template" "^7.22.15"
-    "@babel/traverse" "^7.23.7"
-    "@babel/types" "^7.23.6"
-    "@vue/babel-helper-vue-transform-on" "1.2.1"
-    "@vue/babel-plugin-resolve-type" "1.2.1"
-    camelcase "^6.3.0"
-    html-tags "^3.3.1"
-    svg-tags "^1.0.0"
-
-"@vue/babel-plugin-resolve-type@1.2.1":
-  version "1.2.1"
-  resolved "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.1.tgz#874fb3e02d033b3dd2e0fc883a3d1ceef0bdf39b"
-  integrity sha512-IOtnI7pHunUzHS/y+EG/yPABIAp0VN8QhQ0UCS09jeMVxgAnI9qdOzO85RXdQGxq+aWCdv8/+k3W0aYO6j/8fQ==
-  dependencies:
-    "@babel/code-frame" "^7.23.5"
-    "@babel/helper-module-imports" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/parser" "^7.23.6"
-    "@vue/compiler-sfc" "^3.4.15"
-
-"@vue/compiler-core@3.2.47":
-  version "3.2.47"
-  resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.2.47.tgz#3e07c684d74897ac9aa5922c520741f3029267f8"
-  integrity sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==
-  dependencies:
-    "@babel/parser" "^7.16.4"
-    "@vue/shared" "3.2.47"
-    estree-walker "^2.0.2"
-    source-map "^0.6.1"
-
-"@vue/compiler-core@3.3.11":
-  version "3.3.11"
-  resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.11.tgz#9fa26f8c81b9b34365f94ce1ed4d0e6e6f94a2ac"
-  integrity sha512-h97/TGWBilnLuRaj58sxNrsUU66fwdRKLOLQ9N/5iNDfp+DZhYH9Obhe0bXxhedl8fjAgpRANpiZfbgWyruQ0w==
-  dependencies:
-    "@babel/parser" "^7.23.5"
-    "@vue/shared" "3.3.11"
-    estree-walker "^2.0.2"
-    source-map-js "^1.0.2"
-
-"@vue/compiler-core@3.4.21":
-  version "3.4.21"
-  resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.21.tgz#868b7085378fc24e58c9aed14c8d62110a62be1a"
-  integrity sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==
-  dependencies:
-    "@babel/parser" "^7.23.9"
-    "@vue/shared" "3.4.21"
-    entities "^4.5.0"
-    estree-walker "^2.0.2"
-    source-map-js "^1.0.2"
-
-"@vue/compiler-dom@3.2.47":
-  version "3.2.47"
-  resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz#a0b06caf7ef7056939e563dcaa9cbde30794f305"
-  integrity sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==
-  dependencies:
-    "@vue/compiler-core" "3.2.47"
-    "@vue/shared" "3.2.47"
-
-"@vue/compiler-dom@3.3.11":
-  version "3.3.11"
-  resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.11.tgz#36a76ea3a296d41bad133a6912cb0a847d969e4f"
-  integrity sha512-zoAiUIqSKqAJ81WhfPXYmFGwDRuO+loqLxvXmfUdR5fOitPoUiIeFI9cTTyv9MU5O1+ZZglJVTusWzy+wfk5hw==
-  dependencies:
-    "@vue/compiler-core" "3.3.11"
-    "@vue/shared" "3.3.11"
-
-"@vue/compiler-dom@3.4.21", "@vue/compiler-dom@^3.3.0":
-  version "3.4.21"
-  resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz#0077c355e2008207283a5a87d510330d22546803"
-  integrity sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==
-  dependencies:
-    "@vue/compiler-core" "3.4.21"
-    "@vue/shared" "3.4.21"
-
-"@vue/compiler-sfc@3.2.47":
-  version "3.2.47"
-  resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz#1bdc36f6cdc1643f72e2c397eb1a398f5004ad3d"
-  integrity sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==
-  dependencies:
-    "@babel/parser" "^7.16.4"
-    "@vue/compiler-core" "3.2.47"
-    "@vue/compiler-dom" "3.2.47"
-    "@vue/compiler-ssr" "3.2.47"
-    "@vue/reactivity-transform" "3.2.47"
-    "@vue/shared" "3.2.47"
-    estree-walker "^2.0.2"
-    magic-string "^0.25.7"
-    postcss "^8.1.10"
-    source-map "^0.6.1"
-
-"@vue/compiler-sfc@3.3.11":
-  version "3.3.11"
-  resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.11.tgz#acfae240c875d067e0e2c9a4e2d910074408c73b"
-  integrity sha512-U4iqPlHO0KQeK1mrsxCN0vZzw43/lL8POxgpzcJweopmqtoYy9nljJzWDIQS3EfjiYhfdtdk9Gtgz7MRXnz3GA==
-  dependencies:
-    "@babel/parser" "^7.23.5"
-    "@vue/compiler-core" "3.3.11"
-    "@vue/compiler-dom" "3.3.11"
-    "@vue/compiler-ssr" "3.3.11"
-    "@vue/reactivity-transform" "3.3.11"
-    "@vue/shared" "3.3.11"
-    estree-walker "^2.0.2"
-    magic-string "^0.30.5"
-    postcss "^8.4.32"
-    source-map-js "^1.0.2"
-
-"@vue/compiler-sfc@^3.4.15":
-  version "3.4.21"
-  resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz#4af920dc31ab99e1ff5d152b5fe0ad12181145b2"
-  integrity sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==
-  dependencies:
-    "@babel/parser" "^7.23.9"
-    "@vue/compiler-core" "3.4.21"
-    "@vue/compiler-dom" "3.4.21"
-    "@vue/compiler-ssr" "3.4.21"
-    "@vue/shared" "3.4.21"
-    estree-walker "^2.0.2"
-    magic-string "^0.30.7"
-    postcss "^8.4.35"
-    source-map-js "^1.0.2"
-
-"@vue/compiler-ssr@3.2.47":
-  version "3.2.47"
-  resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz#35872c01a273aac4d6070ab9d8da918ab13057ee"
-  integrity sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==
-  dependencies:
-    "@vue/compiler-dom" "3.2.47"
-    "@vue/shared" "3.2.47"
-
-"@vue/compiler-ssr@3.3.11":
-  version "3.3.11"
-  resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.11.tgz#598942a73b64f2bd3f95908b104a7fbb55fc41a2"
-  integrity sha512-Zd66ZwMvndxRTgVPdo+muV4Rv9n9DwQ4SSgWWKWkPFebHQfVYRrVjeygmmDmPewsHyznCNvJ2P2d6iOOhdv8Qg==
-  dependencies:
-    "@vue/compiler-dom" "3.3.11"
-    "@vue/shared" "3.3.11"
-
-"@vue/compiler-ssr@3.4.21":
-  version "3.4.21"
-  resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz#b84ae64fb9c265df21fc67f7624587673d324fef"
-  integrity sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==
-  dependencies:
-    "@vue/compiler-dom" "3.4.21"
-    "@vue/shared" "3.4.21"
-
-"@vue/devtools-api@^6.5.0", "@vue/devtools-api@^6.5.1":
-  version "6.6.1"
-  resolved "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.1.tgz#7c14346383751d9f6ad4bea0963245b30220ef83"
-  integrity sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==
-
-"@vue/language-core@1.8.27":
-  version "1.8.27"
-  resolved "https://registry.npmmirror.com/@vue/language-core/-/language-core-1.8.27.tgz#2ca6892cb524e024a44e554e4c55d7a23e72263f"
-  integrity sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==
-  dependencies:
-    "@volar/language-core" "~1.11.1"
-    "@volar/source-map" "~1.11.1"
-    "@vue/compiler-dom" "^3.3.0"
-    "@vue/shared" "^3.3.0"
-    computeds "^0.0.1"
-    minimatch "^9.0.3"
-    muggle-string "^0.3.1"
-    path-browserify "^1.0.1"
-    vue-template-compiler "^2.7.14"
-
-"@vue/reactivity-transform@3.2.47":
-  version "3.2.47"
-  resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz#e45df4d06370f8abf29081a16afd25cffba6d84e"
-  integrity sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==
-  dependencies:
-    "@babel/parser" "^7.16.4"
-    "@vue/compiler-core" "3.2.47"
-    "@vue/shared" "3.2.47"
-    estree-walker "^2.0.2"
-    magic-string "^0.25.7"
-
-"@vue/reactivity-transform@3.3.11":
-  version "3.3.11"
-  resolved "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.11.tgz#2bd486f4eff60c8724309925618891e722fcfadc"
-  integrity sha512-fPGjH0wqJo68A0wQ1k158utDq/cRyZNlFoxGwNScE28aUFOKFEnCBsvyD8jHn+0kd0UKVpuGuaZEQ6r9FJRqCg==
-  dependencies:
-    "@babel/parser" "^7.23.5"
-    "@vue/compiler-core" "3.3.11"
-    "@vue/shared" "3.3.11"
-    estree-walker "^2.0.2"
-    magic-string "^0.30.5"
-
-"@vue/reactivity@3.3.11":
-  version "3.3.11"
-  resolved "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.3.11.tgz#91f8e6c9ac60a595a5278c836b197628fd947a0d"
-  integrity sha512-D5tcw091f0nuu+hXq5XANofD0OXnBmaRqMYl5B3fCR+mX+cXJIGNw/VNawBqkjLNWETrFW0i+xH9NvDbTPVh7g==
-  dependencies:
-    "@vue/shared" "3.3.11"
-
-"@vue/runtime-core@3.3.11":
-  version "3.3.11"
-  resolved "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.3.11.tgz#63defba57bc54c1dac68a95b56c2633b1419193d"
-  integrity sha512-g9ztHGwEbS5RyWaOpXuyIVFTschclnwhqEbdy5AwGhYOgc7m/q3NFwr50MirZwTTzX55JY8pSkeib9BX04NIpw==
-  dependencies:
-    "@vue/reactivity" "3.3.11"
-    "@vue/shared" "3.3.11"
-
-"@vue/runtime-dom@3.3.11":
-  version "3.3.11"
-  resolved "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.3.11.tgz#1146d8d280b0fec4d2e18c4a4c8f8121d0cecc09"
-  integrity sha512-OlhtV1PVpbgk+I2zl+Y5rQtDNcCDs12rsRg71XwaA2/Rbllw6mBLMi57VOn8G0AjOJ4Mdb4k56V37+g8ukShpQ==
-  dependencies:
-    "@vue/runtime-core" "3.3.11"
-    "@vue/shared" "3.3.11"
-    csstype "^3.1.2"
-
-"@vue/server-renderer@3.2.47":
-  version "3.2.47"
-  resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.2.47.tgz#8aa1d1871fc4eb5a7851aa7f741f8f700e6de3c0"
-  integrity sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==
-  dependencies:
-    "@vue/compiler-ssr" "3.2.47"
-    "@vue/shared" "3.2.47"
-
-"@vue/server-renderer@3.3.11":
-  version "3.3.11"
-  resolved "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.3.11.tgz#409aed8031a125791e2143552975ecd1958ad601"
-  integrity sha512-AIWk0VwwxCAm4wqtJyxBylRTXSy1wCLOKbWxHaHiu14wjsNYtiRCSgVuqEPVuDpErOlRdNnuRgipQfXRLjLN5A==
-  dependencies:
-    "@vue/compiler-ssr" "3.3.11"
-    "@vue/shared" "3.3.11"
-
-"@vue/shared@3.2.47":
-  version "3.2.47"
-  resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.2.47.tgz#e597ef75086c6e896ff5478a6bfc0a7aa4bbd14c"
-  integrity sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==
-
-"@vue/shared@3.3.11":
-  version "3.3.11"
-  resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.11.tgz#f6a038e15237edefcc90dbfe7edb806dd355c7bd"
-  integrity sha512-u2G8ZQ9IhMWTMXaWqZycnK4UthG1fA238CD+DP4Dm4WJi5hdUKKLg0RMRaRpDPNMdkTwIDkp7WtD0Rd9BH9fLw==
-
-"@vue/shared@3.4.21", "@vue/shared@^3.3.0":
-  version "3.4.21"
-  resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.21.tgz#de526a9059d0a599f0b429af7037cd0c3ed7d5a1"
-  integrity sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==
-
-"@vue/tsconfig@^0.1.3":
-  version "0.1.3"
-  resolved "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.1.3.tgz#4a61dbd29783d01ddab504276dcf0c2b6988654f"
-  integrity sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==
-
-accepts@~1.3.8:
-  version "1.3.8"
-  resolved "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
-  integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
-  dependencies:
-    mime-types "~2.1.34"
-    negotiator "0.6.3"
-
-acorn@^8.8.2:
-  version "8.11.3"
-  resolved "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
-  integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
-
-address@^1.1.2:
-  version "1.2.2"
-  resolved "https://registry.npmmirror.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e"
-  integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==
-
-ajv-keywords@^3.5.2:
-  version "3.5.2"
-  resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
-  integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
-
-ajv@^6.12.5:
-  version "6.12.6"
-  resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
-  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
-  dependencies:
-    fast-deep-equal "^3.1.1"
-    fast-json-stable-stringify "^2.0.0"
-    json-schema-traverse "^0.4.1"
-    uri-js "^4.2.2"
-
-ansi-styles@^3.2.1:
-  version "3.2.1"
-  resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
-  integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
-  dependencies:
-    color-convert "^1.9.0"
-
-any-base@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.npmmirror.com/any-base/-/any-base-1.1.0.tgz#ae101a62bc08a597b4c9ab5b7089d456630549fe"
-  integrity sha512-uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==
-
-anymatch@~3.1.2:
-  version "3.1.3"
-  resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
-  integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
-  dependencies:
-    normalize-path "^3.0.0"
-    picomatch "^2.0.4"
-
-array-flatten@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
-  integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
-
-async-limiter@~1.0.0:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
-  integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
-
-autoprefixer@^10.4.14:
-  version "10.4.18"
-  resolved "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.18.tgz#fcb171a3b017be7cb5d8b7a825f5aacbf2045163"
-  integrity sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==
-  dependencies:
-    browserslist "^4.23.0"
-    caniuse-lite "^1.0.30001591"
-    fraction.js "^4.3.7"
-    normalize-range "^0.1.2"
-    picocolors "^1.0.0"
-    postcss-value-parser "^4.2.0"
-
-babel-plugin-polyfill-corejs2@^0.4.8:
-  version "0.4.10"
-  resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz#276f41710b03a64f6467433cab72cbc2653c38b1"
-  integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==
-  dependencies:
-    "@babel/compat-data" "^7.22.6"
-    "@babel/helper-define-polyfill-provider" "^0.6.1"
-    semver "^6.3.1"
-
-babel-plugin-polyfill-corejs3@^0.9.0:
-  version "0.9.0"
-  resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz#9eea32349d94556c2ad3ab9b82ebb27d4bf04a81"
-  integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==
-  dependencies:
-    "@babel/helper-define-polyfill-provider" "^0.5.0"
-    core-js-compat "^3.34.0"
-
-babel-plugin-polyfill-regenerator@^0.5.5:
-  version "0.5.5"
-  resolved "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz#8b0c8fc6434239e5d7b8a9d1f832bb2b0310f06a"
-  integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==
-  dependencies:
-    "@babel/helper-define-polyfill-provider" "^0.5.0"
-
-balanced-match@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
-  integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-
-base64-js@^1.3.0, base64-js@^1.3.1:
-  version "1.5.1"
-  resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
-  integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
-
-base64url@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.npmmirror.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d"
-  integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==
-
-big.js@^5.2.2:
-  version "5.2.2"
-  resolved "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
-  integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
-
-binary-extensions@^2.0.0:
-  version "2.3.0"
-  resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
-  integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
-
-bl@^4.0.2:
-  version "4.1.0"
-  resolved "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
-  integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
-  dependencies:
-    buffer "^5.5.0"
-    inherits "^2.0.4"
-    readable-stream "^3.4.0"
-
-bmp-js@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.npmmirror.com/bmp-js/-/bmp-js-0.1.0.tgz#e05a63f796a6c1ff25f4771ec7adadc148c07233"
-  integrity sha512-vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==
-
-body-parser@1.20.2:
-  version "1.20.2"
-  resolved "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd"
-  integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==
-  dependencies:
-    bytes "3.1.2"
-    content-type "~1.0.5"
-    debug "2.6.9"
-    depd "2.0.0"
-    destroy "1.2.0"
-    http-errors "2.0.0"
-    iconv-lite "0.4.24"
-    on-finished "2.4.1"
-    qs "6.11.0"
-    raw-body "2.5.2"
-    type-is "~1.6.18"
-    unpipe "1.0.0"
-
-brace-expansion@^1.1.7:
-  version "1.1.11"
-  resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
-  integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
-  dependencies:
-    balanced-match "^1.0.0"
-    concat-map "0.0.1"
-
-brace-expansion@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
-  integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
-  dependencies:
-    balanced-match "^1.0.0"
-
-braces@^3.0.2, braces@~3.0.2:
-  version "3.0.2"
-  resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
-  integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
-  dependencies:
-    fill-range "^7.0.1"
-
-browserslist@^4.21.9, browserslist@^4.22.2, browserslist@^4.22.3, browserslist@^4.23.0:
-  version "4.23.0"
-  resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab"
-  integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==
-  dependencies:
-    caniuse-lite "^1.0.30001587"
-    electron-to-chromium "^1.4.668"
-    node-releases "^2.0.14"
-    update-browserslist-db "^1.0.13"
-
-buffer-equal@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.npmmirror.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b"
-  integrity sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA==
-
-buffer-from@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
-  integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
-
-buffer@^5.2.0, buffer@^5.5.0:
-  version "5.7.1"
-  resolved "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
-  integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
-  dependencies:
-    base64-js "^1.3.1"
-    ieee754 "^1.1.13"
-
-bytes@3.1.2:
-  version "3.1.2"
-  resolved "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
-  integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
-
-cac@6.7.9:
-  version "6.7.9"
-  resolved "https://registry.npmmirror.com/cac/-/cac-6.7.9.tgz#70a2013067ce97c34b4acf18293cfcdbbef556dd"
-  integrity sha512-XN5qEpfNQCJ8jRaZgitSkkukjMRCGio+X3Ks5KUbGGlPbV+pSem1l9VuzooCBXOiMFshUZgyYqg6rgN8rjkb/w==
-
-call-bind@^1.0.7:
-  version "1.0.7"
-  resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9"
-  integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==
-  dependencies:
-    es-define-property "^1.0.0"
-    es-errors "^1.3.0"
-    function-bind "^1.1.2"
-    get-intrinsic "^1.2.4"
-    set-function-length "^1.2.1"
-
-callback-stream@^1.0.2:
-  version "1.1.0"
-  resolved "https://registry.npmmirror.com/callback-stream/-/callback-stream-1.1.0.tgz#4701a51266f06e06eaa71fc17233822d875f4908"
-  integrity sha512-sAZ9kODla+mGACBZ1IpTCAisKoGnv6PykW7fPk1LrM+mMepE18Yz0515yoVcrZy7dQsTUp3uZLQ/9Sx1RnLoHw==
-  dependencies:
-    inherits "^2.0.1"
-    readable-stream "> 1.0.0 < 3.0.0"
-
-camelcase@^6.3.0:
-  version "6.3.0"
-  resolved "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
-  integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-
-caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001591:
-  version "1.0.30001598"
-  resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001598.tgz#88e20ae1a1969d904dae97d538154a275893afef"
-  integrity sha512-j8mQRDziG94uoBfeFuqsJUNECW37DXpnvhcMJMdlH2u3MRkq1sAI0LJcXP1i/Py0KbSIC4UDj8YHPrTn5YsL+Q==
-
-chalk@^2.4.2:
-  version "2.4.2"
-  resolved "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
-  integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
-  dependencies:
-    ansi-styles "^3.2.1"
-    escape-string-regexp "^1.0.5"
-    supports-color "^5.3.0"
-
-"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3:
-  version "3.6.0"
-  resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
-  integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
-  dependencies:
-    anymatch "~3.1.2"
-    braces "~3.0.2"
-    glob-parent "~5.1.2"
-    is-binary-path "~2.1.0"
-    is-glob "~4.0.1"
-    normalize-path "~3.0.0"
-    readdirp "~3.6.0"
-  optionalDependencies:
-    fsevents "~2.3.2"
-
-clipboard@^2.0.11:
-  version "2.0.11"
-  resolved "https://registry.npmmirror.com/clipboard/-/clipboard-2.0.11.tgz#62180360b97dd668b6b3a84ec226975762a70be5"
-  integrity sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==
-  dependencies:
-    good-listener "^1.2.2"
-    select "^1.1.2"
-    tiny-emitter "^2.0.0"
-
-color-convert@^1.9.0:
-  version "1.9.3"
-  resolved "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
-  integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
-  dependencies:
-    color-name "1.1.3"
-
-color-name@1.1.3:
-  version "1.1.3"
-  resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
-  integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
-
-commander@^2.20.0:
-  version "2.20.3"
-  resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
-  integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
-
-commist@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.npmmirror.com/commist/-/commist-1.1.0.tgz#17811ec6978f6c15ee4de80c45c9beb77cee35d5"
-  integrity sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==
-  dependencies:
-    leven "^2.1.0"
-    minimist "^1.1.0"
-
-compare-versions@^3.6.0:
-  version "3.6.0"
-  resolved "https://registry.npmmirror.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
-  integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
-
-computeds@^0.0.1:
-  version "0.0.1"
-  resolved "https://registry.npmmirror.com/computeds/-/computeds-0.0.1.tgz#215b08a4ba3e08a11ff6eee5d6d8d7166a97ce2e"
-  integrity sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==
-
-concat-map@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-  integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
-
-concat-stream@^1.6.2:
-  version "1.6.2"
-  resolved "https://registry.npmmirror.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
-  integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
-  dependencies:
-    buffer-from "^1.0.0"
-    inherits "^2.0.3"
-    readable-stream "^2.2.2"
-    typedarray "^0.0.6"
-
-content-disposition@0.5.4:
-  version "0.5.4"
-  resolved "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
-  integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
-  dependencies:
-    safe-buffer "5.2.1"
-
-content-type@~1.0.4, content-type@~1.0.5:
-  version "1.0.5"
-  resolved "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
-  integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
-
-convert-source-map@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
-  integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
-
-cookie-signature@1.0.6:
-  version "1.0.6"
-  resolved "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
-  integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
-
-cookie@0.5.0:
-  version "0.5.0"
-  resolved "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
-  integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
-
-copy-anything@^2.0.1:
-  version "2.0.6"
-  resolved "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480"
-  integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==
-  dependencies:
-    is-what "^3.14.1"
-
-core-js-compat@^3.31.0, core-js-compat@^3.34.0:
-  version "3.36.0"
-  resolved "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.36.0.tgz#087679119bc2fdbdefad0d45d8e5d307d45ba190"
-  integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==
-  dependencies:
-    browserslist "^4.22.3"
-
-core-js@^3.31.1, core-js@^3.4.1:
-  version "3.36.0"
-  resolved "https://registry.npmmirror.com/core-js/-/core-js-3.36.0.tgz#e752fa0b0b462a0787d56e9d73f80b0f7c0dde68"
-  integrity sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==
-
-core-util-is@~1.0.0:
-  version "1.0.3"
-  resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
-  integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
-
-cross-env@^7.0.3:
-  version "7.0.3"
-  resolved "https://registry.npmmirror.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf"
-  integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==
-  dependencies:
-    cross-spawn "^7.0.1"
-
-cross-spawn@^7.0.1, cross-spawn@^7.0.3:
-  version "7.0.3"
-  resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
-  integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
-  dependencies:
-    path-key "^3.1.0"
-    shebang-command "^2.0.0"
-    which "^2.0.1"
-
-css-font-size-keywords@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz#854875ace9aca6a8d2ee0d345a44aae9bb6db6cb"
-  integrity sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==
-
-css-font-stretch-keywords@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz#50cee9b9ba031fb5c952d4723139f1e107b54b10"
-  integrity sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==
-
-css-font-style-keywords@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz#5c3532813f63b4a1de954d13cea86ab4333409e4"
-  integrity sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==
-
-css-font-weight-keywords@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz#9bc04671ac85bc724b574ef5d3ac96b0d604fd97"
-  integrity sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==
-
-css-list-helpers@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/css-list-helpers/-/css-list-helpers-2.0.0.tgz#7cb3d6f9ec9e5087ae49d834cead282806e8818f"
-  integrity sha512-9Bj8tZ0jWbAM3u/U6m/boAzAwLPwtjzFvwivr2piSvyVa3K3rChJzQy4RIHkNkKiZCHrEMWDJWtTR8UyVhdDnQ==
-
-css-system-font-keywords@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz#85c6f086aba4eb32c571a3086affc434b84823ed"
-  integrity sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==
-
-cssesc@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
-  integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-
-csstype@^3.1.2:
-  version "3.1.3"
-  resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
-  integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
-
-d@1, d@^1.0.1, d@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.npmmirror.com/d/-/d-1.0.2.tgz#2aefd554b81981e7dccf72d6842ae725cb17e5de"
-  integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==
-  dependencies:
-    es5-ext "^0.10.64"
-    type "^2.7.2"
-
-dayjs@^1.11.3, dayjs@^1.11.9:
-  version "1.11.10"
-  resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.10.tgz#68acea85317a6e164457d6d6947564029a6a16a0"
-  integrity sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==
-
-de-indent@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
-  integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==
-
-debug@2.6.9:
-  version "2.6.9"
-  resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
-  integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
-  dependencies:
-    ms "2.0.0"
-
-debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3:
-  version "4.3.4"
-  resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
-  integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
-  dependencies:
-    ms "2.1.2"
-
-default-gateway@^6.0.3:
-  version "6.0.3"
-  resolved "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71"
-  integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==
-  dependencies:
-    execa "^5.0.0"
-
-define-data-property@^1.1.4:
-  version "1.1.4"
-  resolved "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
-  integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
-  dependencies:
-    es-define-property "^1.0.0"
-    es-errors "^1.3.0"
-    gopd "^1.0.1"
-
-delegate@^3.1.2:
-  version "3.2.0"
-  resolved "https://registry.npmmirror.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
-  integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
-
-depd@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
-  integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
-
-destroy@1.2.0:
-  version "1.2.0"
-  resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
-  integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
-
-dom-walk@^0.1.0:
-  version "0.1.2"
-  resolved "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
-  integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
-
-duplexify@^3.5.1, duplexify@^3.6.0:
-  version "3.7.1"
-  resolved "https://registry.npmmirror.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
-  integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
-  dependencies:
-    end-of-stream "^1.0.0"
-    inherits "^2.0.1"
-    readable-stream "^2.0.0"
-    stream-shift "^1.0.0"
-
-ee-first@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
-  integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
-
-electron-to-chromium@^1.4.668:
-  version "1.4.708"
-  resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.708.tgz#d54d3b47cb44ae6b190067439c42135456907893"
-  integrity sha512-iWgEEvREL4GTXXHKohhh33+6Y8XkPI5eHihDmm8zUk5Zo7HICEW+wI/j5kJ2tbuNUCXJ/sNXa03ajW635DiJXA==
-
-emojis-list@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
-  integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
-
-encodeurl@~1.0.2:
-  version "1.0.2"
-  resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
-  integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
-
-end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1:
-  version "1.4.4"
-  resolved "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
-  integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
-  dependencies:
-    once "^1.4.0"
-
-entities@^4.5.0:
-  version "4.5.0"
-  resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
-  integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
-
-errno@^0.1.1:
-  version "0.1.8"
-  resolved "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f"
-  integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==
-  dependencies:
-    prr "~1.0.1"
-
-es-define-property@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845"
-  integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==
-  dependencies:
-    get-intrinsic "^1.2.4"
-
-es-errors@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
-  integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
-
-es-module-lexer@^1.2.1:
-  version "1.4.1"
-  resolved "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.4.1.tgz#41ea21b43908fe6a287ffcbe4300f790555331f5"
-  integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==
-
-es5-ext@^0.10.35, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14:
-  version "0.10.64"
-  resolved "https://registry.npmmirror.com/es5-ext/-/es5-ext-0.10.64.tgz#12e4ffb48f1ba2ea777f1fcdd1918ef73ea21714"
-  integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==
-  dependencies:
-    es6-iterator "^2.0.3"
-    es6-symbol "^3.1.3"
-    esniff "^2.0.1"
-    next-tick "^1.1.0"
-
-es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
-  version "2.0.3"
-  resolved "https://registry.npmmirror.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
-  integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==
-  dependencies:
-    d "1"
-    es5-ext "^0.10.35"
-    es6-symbol "^3.1.1"
-
-es6-map@^0.1.5:
-  version "0.1.5"
-  resolved "https://registry.npmmirror.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
-  integrity sha512-mz3UqCh0uPCIqsw1SSAkB/p0rOzF/M0V++vyN7JqlPtSW/VsYgQBvVvqMLmfBuyMzTpLnNqi6JmcSizs4jy19A==
-  dependencies:
-    d "1"
-    es5-ext "~0.10.14"
-    es6-iterator "~2.0.1"
-    es6-set "~0.1.5"
-    es6-symbol "~3.1.1"
-    event-emitter "~0.3.5"
-
-es6-set@~0.1.5:
-  version "0.1.6"
-  resolved "https://registry.npmmirror.com/es6-set/-/es6-set-0.1.6.tgz#5669e3b2aa01d61a50ba79964f733673574983b8"
-  integrity sha512-TE3LgGLDIBX332jq3ypv6bcOpkLO0AslAQo7p2VqX/1N46YNsvIWgvjojjSEnWEGWMhr1qUbYeTSir5J6mFHOw==
-  dependencies:
-    d "^1.0.1"
-    es5-ext "^0.10.62"
-    es6-iterator "~2.0.3"
-    es6-symbol "^3.1.3"
-    event-emitter "^0.3.5"
-    type "^2.7.2"
-
-es6-symbol@^3.1.1, es6-symbol@^3.1.3, es6-symbol@~3.1.1:
-  version "3.1.4"
-  resolved "https://registry.npmmirror.com/es6-symbol/-/es6-symbol-3.1.4.tgz#f4e7d28013770b4208ecbf3e0bf14d3bcb557b8c"
-  integrity sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==
-  dependencies:
-    d "^1.0.2"
-    ext "^1.7.0"
-
-esbuild@^0.16.14:
-  version "0.16.17"
-  resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259"
-  integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==
-  optionalDependencies:
-    "@esbuild/android-arm" "0.16.17"
-    "@esbuild/android-arm64" "0.16.17"
-    "@esbuild/android-x64" "0.16.17"
-    "@esbuild/darwin-arm64" "0.16.17"
-    "@esbuild/darwin-x64" "0.16.17"
-    "@esbuild/freebsd-arm64" "0.16.17"
-    "@esbuild/freebsd-x64" "0.16.17"
-    "@esbuild/linux-arm" "0.16.17"
-    "@esbuild/linux-arm64" "0.16.17"
-    "@esbuild/linux-ia32" "0.16.17"
-    "@esbuild/linux-loong64" "0.16.17"
-    "@esbuild/linux-mips64el" "0.16.17"
-    "@esbuild/linux-ppc64" "0.16.17"
-    "@esbuild/linux-riscv64" "0.16.17"
-    "@esbuild/linux-s390x" "0.16.17"
-    "@esbuild/linux-x64" "0.16.17"
-    "@esbuild/netbsd-x64" "0.16.17"
-    "@esbuild/openbsd-x64" "0.16.17"
-    "@esbuild/sunos-x64" "0.16.17"
-    "@esbuild/win32-arm64" "0.16.17"
-    "@esbuild/win32-ia32" "0.16.17"
-    "@esbuild/win32-x64" "0.16.17"
-
-esbuild@^0.17.5:
-  version "0.17.19"
-  resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.17.19.tgz#087a727e98299f0462a3d0bcdd9cd7ff100bd955"
-  integrity sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==
-  optionalDependencies:
-    "@esbuild/android-arm" "0.17.19"
-    "@esbuild/android-arm64" "0.17.19"
-    "@esbuild/android-x64" "0.17.19"
-    "@esbuild/darwin-arm64" "0.17.19"
-    "@esbuild/darwin-x64" "0.17.19"
-    "@esbuild/freebsd-arm64" "0.17.19"
-    "@esbuild/freebsd-x64" "0.17.19"
-    "@esbuild/linux-arm" "0.17.19"
-    "@esbuild/linux-arm64" "0.17.19"
-    "@esbuild/linux-ia32" "0.17.19"
-    "@esbuild/linux-loong64" "0.17.19"
-    "@esbuild/linux-mips64el" "0.17.19"
-    "@esbuild/linux-ppc64" "0.17.19"
-    "@esbuild/linux-riscv64" "0.17.19"
-    "@esbuild/linux-s390x" "0.17.19"
-    "@esbuild/linux-x64" "0.17.19"
-    "@esbuild/netbsd-x64" "0.17.19"
-    "@esbuild/openbsd-x64" "0.17.19"
-    "@esbuild/sunos-x64" "0.17.19"
-    "@esbuild/win32-arm64" "0.17.19"
-    "@esbuild/win32-ia32" "0.17.19"
-    "@esbuild/win32-x64" "0.17.19"
-
-escalade@^3.1.1:
-  version "3.1.2"
-  resolved "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27"
-  integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==
-
-escape-html@~1.0.3:
-  version "1.0.3"
-  resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
-  integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
-
-escape-string-regexp@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
-  integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
-
-esniff@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.npmmirror.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308"
-  integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==
-  dependencies:
-    d "^1.0.1"
-    es5-ext "^0.10.62"
-    event-emitter "^0.3.5"
-    type "^2.7.2"
-
-estree-walker@^2.0.1, estree-walker@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
-  integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
-
-esutils@^2.0.2:
-  version "2.0.3"
-  resolved "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
-  integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-
-etag@~1.8.1:
-  version "1.8.1"
-  resolved "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
-  integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
-
-event-emitter@^0.3.5, event-emitter@~0.3.5:
-  version "0.3.5"
-  resolved "https://registry.npmmirror.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
-  integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==
-  dependencies:
-    d "1"
-    es5-ext "~0.10.14"
-
-execa@^5.0.0:
-  version "5.1.1"
-  resolved "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
-  integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
-  dependencies:
-    cross-spawn "^7.0.3"
-    get-stream "^6.0.0"
-    human-signals "^2.1.0"
-    is-stream "^2.0.0"
-    merge-stream "^2.0.0"
-    npm-run-path "^4.0.1"
-    onetime "^5.1.2"
-    signal-exit "^3.0.3"
-    strip-final-newline "^2.0.0"
-
-exif-parser@^0.1.12:
-  version "0.1.12"
-  resolved "https://registry.npmmirror.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922"
-  integrity sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==
-
-express@^4.17.1:
-  version "4.18.3"
-  resolved "https://registry.npmmirror.com/express/-/express-4.18.3.tgz#6870746f3ff904dee1819b82e4b51509afffb0d4"
-  integrity sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==
-  dependencies:
-    accepts "~1.3.8"
-    array-flatten "1.1.1"
-    body-parser "1.20.2"
-    content-disposition "0.5.4"
-    content-type "~1.0.4"
-    cookie "0.5.0"
-    cookie-signature "1.0.6"
-    debug "2.6.9"
-    depd "2.0.0"
-    encodeurl "~1.0.2"
-    escape-html "~1.0.3"
-    etag "~1.8.1"
-    finalhandler "1.2.0"
-    fresh "0.5.2"
-    http-errors "2.0.0"
-    merge-descriptors "1.0.1"
-    methods "~1.1.2"
-    on-finished "2.4.1"
-    parseurl "~1.3.3"
-    path-to-regexp "0.1.7"
-    proxy-addr "~2.0.7"
-    qs "6.11.0"
-    range-parser "~1.2.1"
-    safe-buffer "5.2.1"
-    send "0.18.0"
-    serve-static "1.15.0"
-    setprototypeof "1.2.0"
-    statuses "2.0.1"
-    type-is "~1.6.18"
-    utils-merge "1.0.1"
-    vary "~1.1.2"
-
-ext@^1.7.0:
-  version "1.7.0"
-  resolved "https://registry.npmmirror.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f"
-  integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==
-  dependencies:
-    type "^2.7.2"
-
-extend@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
-  integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
-fast-deep-equal@^3.1.1:
-  version "3.1.3"
-  resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
-  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-
-fast-glob@^3.2.11:
-  version "3.3.2"
-  resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129"
-  integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==
-  dependencies:
-    "@nodelib/fs.stat" "^2.0.2"
-    "@nodelib/fs.walk" "^1.2.3"
-    glob-parent "^5.1.2"
-    merge2 "^1.3.0"
-    micromatch "^4.0.4"
-
-fast-json-stable-stringify@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
-  integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-
-fastq@^1.6.0:
-  version "1.17.1"
-  resolved "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47"
-  integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==
-  dependencies:
-    reusify "^1.0.4"
-
-file-type@^9.0.0:
-  version "9.0.0"
-  resolved "https://registry.npmmirror.com/file-type/-/file-type-9.0.0.tgz#a68d5ad07f486414dfb2c8866f73161946714a18"
-  integrity sha512-Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==
-
-fill-range@^7.0.1:
-  version "7.0.1"
-  resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
-  integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
-  dependencies:
-    to-regex-range "^5.0.1"
-
-finalhandler@1.2.0:
-  version "1.2.0"
-  resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
-  integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
-  dependencies:
-    debug "2.6.9"
-    encodeurl "~1.0.2"
-    escape-html "~1.0.3"
-    on-finished "2.4.1"
-    parseurl "~1.3.3"
-    statuses "2.0.1"
-    unpipe "~1.0.0"
-
-forwarded@0.2.0:
-  version "0.2.0"
-  resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
-  integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
-
-fraction.js@^4.3.7:
-  version "4.3.7"
-  resolved "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7"
-  integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==
-
-fresh@0.5.2:
-  version "0.5.2"
-  resolved "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
-  integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
-
-fs-extra@^10.0.0:
-  version "10.1.0"
-  resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
-  integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
-  dependencies:
-    graceful-fs "^4.2.0"
-    jsonfile "^6.0.1"
-    universalify "^2.0.0"
-
-fs.realpath@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
-  integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-
-fsevents@~2.3.2:
-  version "2.3.3"
-  resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
-  integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
-
-function-bind@^1.1.2:
-  version "1.1.2"
-  resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
-  integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
-
-generic-names@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.npmmirror.com/generic-names/-/generic-names-4.0.0.tgz#0bd8a2fd23fe8ea16cbd0a279acd69c06933d9a3"
-  integrity sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==
-  dependencies:
-    loader-utils "^3.2.0"
-
-gensync@^1.0.0-beta.2:
-  version "1.0.0-beta.2"
-  resolved "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
-  integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
-
-get-intrinsic@^1.1.3, get-intrinsic@^1.2.4:
-  version "1.2.4"
-  resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd"
-  integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
-  dependencies:
-    es-errors "^1.3.0"
-    function-bind "^1.1.2"
-    has-proto "^1.0.1"
-    has-symbols "^1.0.3"
-    hasown "^2.0.0"
-
-get-stream@^6.0.0:
-  version "6.0.1"
-  resolved "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
-  integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
-
-glob-parent@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
-  integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==
-  dependencies:
-    is-glob "^3.1.0"
-    path-dirname "^1.0.0"
-
-glob-parent@^5.1.2, glob-parent@~5.1.2:
-  version "5.1.2"
-  resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
-  integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
-  dependencies:
-    is-glob "^4.0.1"
-
-glob-stream@^6.1.0:
-  version "6.1.0"
-  resolved "https://registry.npmmirror.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4"
-  integrity sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==
-  dependencies:
-    extend "^3.0.0"
-    glob "^7.1.1"
-    glob-parent "^3.1.0"
-    is-negated-glob "^1.0.0"
-    ordered-read-streams "^1.0.0"
-    pumpify "^1.3.5"
-    readable-stream "^2.1.5"
-    remove-trailing-separator "^1.0.1"
-    to-absolute-glob "^2.0.0"
-    unique-stream "^2.0.2"
-
-glob@^7.1.1:
-  version "7.2.3"
-  resolved "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
-  integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
-  dependencies:
-    fs.realpath "^1.0.0"
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "^3.1.1"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
-global@~4.4.0:
-  version "4.4.0"
-  resolved "https://registry.npmmirror.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406"
-  integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==
-  dependencies:
-    min-document "^2.19.0"
-    process "^0.11.10"
-
-globals@^11.1.0:
-  version "11.12.0"
-  resolved "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
-  integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-
-good-listener@^1.2.2:
-  version "1.2.2"
-  resolved "https://registry.npmmirror.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
-  integrity sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==
-  dependencies:
-    delegate "^3.1.2"
-
-gopd@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
-  integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
-  dependencies:
-    get-intrinsic "^1.1.3"
-
-graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0:
-  version "4.2.11"
-  resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
-  integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
-
-has-flag@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
-  integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
-
-has-property-descriptors@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
-  integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
-  dependencies:
-    es-define-property "^1.0.0"
-
-has-proto@^1.0.1:
-  version "1.0.3"
-  resolved "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd"
-  integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==
-
-has-symbols@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
-  integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
-
-hash-sum@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a"
-  integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==
-
-hasown@^2.0.0:
-  version "2.0.2"
-  resolved "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
-  integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
-  dependencies:
-    function-bind "^1.1.2"
-
-he@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.npmmirror.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
-  integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
-
-help-me@^1.0.1:
-  version "1.1.0"
-  resolved "https://registry.npmmirror.com/help-me/-/help-me-1.1.0.tgz#8f2d508d0600b4a456da2f086556e7e5c056a3c6"
-  integrity sha512-P/IZ8yOMne3SCTHbVY429NZ67B/2bVQlcYGZh2iPPbdLrEQ/qY5aGChn0YTDmt7Sb4IKRI51fypItav+lNl76w==
-  dependencies:
-    callback-stream "^1.0.2"
-    glob-stream "^6.1.0"
-    through2 "^2.0.1"
-    xtend "^4.0.0"
-
-html-tags@^3.3.1:
-  version "3.3.1"
-  resolved "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce"
-  integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==
-
-http-errors@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
-  integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
-  dependencies:
-    depd "2.0.0"
-    inherits "2.0.4"
-    setprototypeof "1.2.0"
-    statuses "2.0.1"
-    toidentifier "1.0.1"
-
-human-signals@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
-  integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
-
-iconv-lite@0.4.24:
-  version "0.4.24"
-  resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
-  integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
-  dependencies:
-    safer-buffer ">= 2.1.2 < 3"
-
-iconv-lite@^0.6.3:
-  version "0.6.3"
-  resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
-  integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
-  dependencies:
-    safer-buffer ">= 2.1.2 < 3.0.0"
-
-icss-replace-symbols@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.npmmirror.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
-  integrity sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==
-
-icss-utils@^5.0.0:
-  version "5.1.0"
-  resolved "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
-  integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
-
-ieee754@^1.1.13:
-  version "1.2.1"
-  resolved "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
-  integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-
-image-size@~0.5.0:
-  version "0.5.5"
-  resolved "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
-  integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==
-
-immutable@^4.0.0:
-  version "4.3.5"
-  resolved "https://registry.npmmirror.com/immutable/-/immutable-4.3.5.tgz#f8b436e66d59f99760dc577f5c99a4fd2a5cc5a0"
-  integrity sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==
-
-inflight@^1.0.4:
-  version "1.0.6"
-  resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
-  integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
-  dependencies:
-    once "^1.3.0"
-    wrappy "1"
-
-inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
-  version "2.0.4"
-  resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
-  integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-invert-kv@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.npmmirror.com/invert-kv/-/invert-kv-3.0.1.tgz#a93c7a3d4386a1dc8325b97da9bb1620c0282523"
-  integrity sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==
-
-ipaddr.js@1.9.1:
-  version "1.9.1"
-  resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
-  integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
-
-is-absolute@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576"
-  integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==
-  dependencies:
-    is-relative "^1.0.0"
-    is-windows "^1.0.1"
-
-is-binary-path@~2.1.0:
-  version "2.1.0"
-  resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
-  integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
-  dependencies:
-    binary-extensions "^2.0.0"
-
-is-core-module@^2.13.0:
-  version "2.13.1"
-  resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384"
-  integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==
-  dependencies:
-    hasown "^2.0.0"
-
-is-extglob@^2.1.0, is-extglob@^2.1.1:
-  version "2.1.1"
-  resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
-  integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
-
-is-function@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.npmmirror.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08"
-  integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==
-
-is-glob@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
-  integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==
-  dependencies:
-    is-extglob "^2.1.0"
-
-is-glob@^4.0.1, is-glob@~4.0.1:
-  version "4.0.3"
-  resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
-  integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
-  dependencies:
-    is-extglob "^2.1.1"
-
-is-negated-glob@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2"
-  integrity sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==
-
-is-number@^7.0.0:
-  version "7.0.0"
-  resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
-  integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-relative@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
-  integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==
-  dependencies:
-    is-unc-path "^1.0.0"
-
-is-stream@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
-  integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
-
-is-unc-path@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d"
-  integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==
-  dependencies:
-    unc-path-regex "^0.1.2"
-
-is-what@^3.14.1:
-  version "3.14.1"
-  resolved "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1"
-  integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==
-
-is-windows@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
-  integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
-
-isarray@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
-  integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
-
-isexe@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
-  integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-
-jimp@^0.10.1:
-  version "0.10.3"
-  resolved "https://registry.npmmirror.com/jimp/-/jimp-0.10.3.tgz#285027b49eee3418259a8e1e9a20dd078cf8b7b1"
-  integrity sha512-meVWmDMtyUG5uYjFkmzu0zBgnCvvxwWNi27c4cg55vWNVC9ES4Lcwb+ogx+uBBQE3Q+dLKjXaLl0JVW+nUNwbQ==
-  dependencies:
-    "@babel/runtime" "^7.7.2"
-    "@jimp/custom" "^0.10.3"
-    "@jimp/plugins" "^0.10.3"
-    "@jimp/types" "^0.10.3"
-    core-js "^3.4.1"
-    regenerator-runtime "^0.13.3"
-
-jpeg-js@^0.3.4:
-  version "0.3.7"
-  resolved "https://registry.npmmirror.com/jpeg-js/-/jpeg-js-0.3.7.tgz#471a89d06011640592d314158608690172b1028d"
-  integrity sha512-9IXdWudL61npZjvLuVe/ktHiA41iE8qFyLB+4VDTblEsWBzeg8WQTlktdUK4CdncUqtUgUg0bbOmTE2bKBKaBQ==
-
-js-tokens@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
-  integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-jsesc@^2.5.1:
-  version "2.5.2"
-  resolved "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
-  integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
-
-jsesc@~0.5.0:
-  version "0.5.0"
-  resolved "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
-  integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==
-
-json-schema-traverse@^0.4.1:
-  version "0.4.1"
-  resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
-  integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-
-json-stable-stringify-without-jsonify@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
-  integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
-
-json5@^2.1.2, json5@^2.2.3:
-  version "2.2.3"
-  resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
-  integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
-
-jsonc-parser@^3.0.0, jsonc-parser@^3.2.0:
-  version "3.2.1"
-  resolved "https://registry.npmmirror.com/jsonc-parser/-/jsonc-parser-3.2.1.tgz#031904571ccf929d7670ee8c547545081cb37f1a"
-  integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==
-
-jsonfile@^6.0.1:
-  version "6.1.0"
-  resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
-  integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
-  dependencies:
-    universalify "^2.0.0"
-  optionalDependencies:
-    graceful-fs "^4.1.6"
-
-klona@^2.0.4:
-  version "2.0.6"
-  resolved "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22"
-  integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==
-
-lcid@^3.0.0:
-  version "3.1.1"
-  resolved "https://registry.npmmirror.com/lcid/-/lcid-3.1.1.tgz#9030ec479a058fc36b5e8243ebaac8b6ac582fd0"
-  integrity sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==
-  dependencies:
-    invert-kv "^3.0.0"
-
-less@^4.2.0:
-  version "4.2.0"
-  resolved "https://registry.npmmirror.com/less/-/less-4.2.0.tgz#cbefbfaa14a4cd388e2099b2b51f956e1465c450"
-  integrity sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==
-  dependencies:
-    copy-anything "^2.0.1"
-    parse-node-version "^1.0.1"
-    tslib "^2.3.0"
-  optionalDependencies:
-    errno "^0.1.1"
-    graceful-fs "^4.1.2"
-    image-size "~0.5.0"
-    make-dir "^2.1.0"
-    mime "^1.4.1"
-    needle "^3.1.0"
-    source-map "~0.6.0"
-
-leven@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.npmmirror.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
-  integrity sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==
-
-licia@^1.29.0:
-  version "1.39.2"
-  resolved "https://registry.npmmirror.com/licia/-/licia-1.39.2.tgz#50e9b28b9dfa8e021cd104e8bfdcf0a776d0c240"
-  integrity sha512-4pte7gXufSAa3JcsR0iT+2Lj2RX5Qpj+Nc0n84xs0ynNmw7eJmeZzk2oPTEtsQqwHwtT+NiX0arGkL5HPjTs7g==
-
-lilconfig@^2.0.5:
-  version "2.1.0"
-  resolved "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52"
-  integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
-
-load-bmfont@^1.3.1, load-bmfont@^1.4.0:
-  version "1.4.1"
-  resolved "https://registry.npmmirror.com/load-bmfont/-/load-bmfont-1.4.1.tgz#c0f5f4711a1e2ccff725a7b6078087ccfcddd3e9"
-  integrity sha512-8UyQoYmdRDy81Brz6aLAUhfZLwr5zV0L3taTQ4hju7m6biuwiWiJXjPhBJxbUQJA8PrkvJ/7Enqmwk2sM14soA==
-  dependencies:
-    buffer-equal "0.0.1"
-    mime "^1.3.4"
-    parse-bmfont-ascii "^1.0.3"
-    parse-bmfont-binary "^1.0.5"
-    parse-bmfont-xml "^1.1.4"
-    phin "^2.9.1"
-    xhr "^2.0.1"
-    xtend "^4.0.0"
-
-loader-utils@^2.0.0:
-  version "2.0.4"
-  resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c"
-  integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==
-  dependencies:
-    big.js "^5.2.2"
-    emojis-list "^3.0.0"
-    json5 "^2.1.2"
-
-loader-utils@^3.2.0:
-  version "3.2.1"
-  resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-3.2.1.tgz#4fb104b599daafd82ef3e1a41fb9265f87e1f576"
-  integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==
-
-localstorage-polyfill@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/localstorage-polyfill/-/localstorage-polyfill-1.0.1.tgz#4b3083d4bc51d23b4158537e66816137413fd31a"
-  integrity sha512-m4iHVZxFH5734oQcPKU08025gIz2+4bjWR9lulP8ZYxEJR0BpA0w32oJmkzh8y3UI9ci7xCBehQDc3oA1X+VHw==
-
-lodash.camelcase@^4.3.0:
-  version "4.3.0"
-  resolved "https://registry.npmmirror.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
-  integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==
-
-lodash.debounce@^4.0.8:
-  version "4.0.8"
-  resolved "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
-  integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
-
-lru-cache@^5.1.1:
-  version "5.1.1"
-  resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
-  integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
-  dependencies:
-    yallist "^3.0.2"
-
-lru-cache@^6.0.0:
-  version "6.0.0"
-  resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
-  integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
-  dependencies:
-    yallist "^4.0.0"
-
-magic-string@^0.25.7:
-  version "0.25.9"
-  resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c"
-  integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==
-  dependencies:
-    sourcemap-codec "^1.4.8"
-
-magic-string@^0.30.0, magic-string@^0.30.1, magic-string@^0.30.5, magic-string@^0.30.7:
-  version "0.30.8"
-  resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.8.tgz#14e8624246d2bedba70d5462aa99ac9681844613"
-  integrity sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==
-  dependencies:
-    "@jridgewell/sourcemap-codec" "^1.4.15"
-
-make-dir@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
-  integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
-  dependencies:
-    pify "^4.0.1"
-    semver "^5.6.0"
-
-media-typer@0.3.0:
-  version "0.3.0"
-  resolved "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
-  integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
-
-merge-descriptors@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
-  integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
-
-merge-stream@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
-  integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-
-merge2@^1.3.0:
-  version "1.4.1"
-  resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
-  integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-
-merge@^2.1.1:
-  version "2.1.1"
-  resolved "https://registry.npmmirror.com/merge/-/merge-2.1.1.tgz#59ef4bf7e0b3e879186436e8481c06a6c162ca98"
-  integrity sha512-jz+Cfrg9GWOZbQAnDQ4hlVnQky+341Yk5ru8bZSe6sIDTCIg8n9i/u7hSQGSVOF3C7lH6mGtqjkiT9G4wFLL0w==
-
-methods@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
-  integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
-
-micromatch@^4.0.4:
-  version "4.0.5"
-  resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
-  integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
-  dependencies:
-    braces "^3.0.2"
-    picomatch "^2.3.1"
-
-mime-db@1.52.0:
-  version "1.52.0"
-  resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
-  integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-
-mime-types@~2.1.24, mime-types@~2.1.34:
-  version "2.1.35"
-  resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
-  integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
-  dependencies:
-    mime-db "1.52.0"
-
-mime@1.6.0, mime@^1.3.4, mime@^1.4.1:
-  version "1.6.0"
-  resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
-  integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-
-mime@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmmirror.com/mime/-/mime-3.0.0.tgz#b374550dca3a0c18443b0c950a6a58f1931cf7a7"
-  integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==
-
-mimic-fn@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
-  integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
-
-min-document@^2.19.0:
-  version "2.19.0"
-  resolved "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
-  integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==
-  dependencies:
-    dom-walk "^0.1.0"
-
-minimatch@^3.1.1:
-  version "3.1.2"
-  resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
-  integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
-  dependencies:
-    brace-expansion "^1.1.7"
-
-minimatch@^9.0.3:
-  version "9.0.3"
-  resolved "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825"
-  integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
-  dependencies:
-    brace-expansion "^2.0.1"
-
-minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.6:
-  version "1.2.8"
-  resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
-  integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
-
-mkdirp@^0.5.1:
-  version "0.5.6"
-  resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
-  integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
-  dependencies:
-    minimist "^1.2.6"
-
-module-alias@^2.2.2:
-  version "2.2.3"
-  resolved "https://registry.npmmirror.com/module-alias/-/module-alias-2.2.3.tgz#ec2e85c68973bda6ab71ce7c93b763ec96053221"
-  integrity sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==
-
-mqtt-packet@^6.0.0:
-  version "6.10.0"
-  resolved "https://registry.npmmirror.com/mqtt-packet/-/mqtt-packet-6.10.0.tgz#c8b507832c4152e3e511c0efa104ae4a64cd418f"
-  integrity sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==
-  dependencies:
-    bl "^4.0.2"
-    debug "^4.1.1"
-    process-nextick-args "^2.0.1"
-
-mqtt@4.1.0:
-  version "4.1.0"
-  resolved "https://registry.npmmirror.com/mqtt/-/mqtt-4.1.0.tgz#efcfa4acb8789265b951452142054a5b158bef0f"
-  integrity sha512-dBihVZzaB8p9G/2ktSfamiaHmMnpCpP2du08317ZuEX1kBAbZOG9aMJQ11EChXnOX3GKUeiZYaSITueceQKT2A==
-  dependencies:
-    base64-js "^1.3.0"
-    commist "^1.0.0"
-    concat-stream "^1.6.2"
-    debug "^4.1.1"
-    end-of-stream "^1.4.1"
-    es6-map "^0.1.5"
-    help-me "^1.0.1"
-    inherits "^2.0.3"
-    minimist "^1.2.0"
-    mqtt-packet "^6.0.0"
-    pump "^3.0.0"
-    readable-stream "^2.3.6"
-    reinterval "^1.1.0"
-    split2 "^3.1.0"
-    websocket-stream "^5.1.2"
-    xtend "^4.0.1"
-
-ms@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
-  integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
-
-ms@2.1.2:
-  version "2.1.2"
-  resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
-  integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-ms@2.1.3:
-  version "2.1.3"
-  resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
-  integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
-muggle-string@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.3.1.tgz#e524312eb1728c63dd0b2ac49e3282e6ed85963a"
-  integrity sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==
-
-nanoid@^3.3.7:
-  version "3.3.7"
-  resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
-  integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
-
-needle@^3.1.0:
-  version "3.3.1"
-  resolved "https://registry.npmmirror.com/needle/-/needle-3.3.1.tgz#63f75aec580c2e77e209f3f324e2cdf3d29bd049"
-  integrity sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==
-  dependencies:
-    iconv-lite "^0.6.3"
-    sax "^1.2.4"
-
-negotiator@0.6.3:
-  version "0.6.3"
-  resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
-  integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
-
-neo-async@^2.6.2:
-  version "2.6.2"
-  resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
-  integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
-
-next-tick@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.npmmirror.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
-  integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
-
-node-releases@^2.0.14:
-  version "2.0.14"
-  resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b"
-  integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
-  integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-normalize-range@^0.1.2:
-  version "0.1.2"
-  resolved "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
-  integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
-
-npm-run-path@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
-  integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
-  dependencies:
-    path-key "^3.0.0"
-
-object-inspect@^1.13.1:
-  version "1.13.1"
-  resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2"
-  integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==
-
-omggif@^1.0.9:
-  version "1.0.10"
-  resolved "https://registry.npmmirror.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19"
-  integrity sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==
-
-on-finished@2.4.1:
-  version "2.4.1"
-  resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
-  integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
-  dependencies:
-    ee-first "1.1.1"
-
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
-  integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
-  dependencies:
-    wrappy "1"
-
-onetime@^5.1.2:
-  version "5.1.2"
-  resolved "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
-  integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
-  dependencies:
-    mimic-fn "^2.1.0"
-
-ordered-read-streams@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e"
-  integrity sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==
-  dependencies:
-    readable-stream "^2.0.1"
-
-os-locale-s-fix@^1.0.8-fix-1:
-  version "1.0.8-fix-1"
-  resolved "https://registry.npmmirror.com/os-locale-s-fix/-/os-locale-s-fix-1.0.8-fix-1.tgz#7db4f9fc7cea29e9266900ea0bc72aaff13ff14a"
-  integrity sha512-Sv0OvhPiMutICiwORAUefv02DCPb62IelBmo8ZsSrRHyI3FStqIWZvjqDkvtjU+lcujo7UNir+dCwKSqlEQ/5w==
-  dependencies:
-    lcid "^3.0.0"
-
-pako@^1.0.5:
-  version "1.0.11"
-  resolved "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
-  integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
-
-parse-bmfont-ascii@^1.0.3:
-  version "1.0.6"
-  resolved "https://registry.npmmirror.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285"
-  integrity sha512-U4RrVsUFCleIOBsIGYOMKjn9PavsGOXxbvYGtMOEfnId0SVNsgehXh1DxUdVPLoxd5mvcEtvmKs2Mmf0Mpa1ZA==
-
-parse-bmfont-binary@^1.0.5:
-  version "1.0.6"
-  resolved "https://registry.npmmirror.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz#d038b476d3e9dd9db1e11a0b0e53a22792b69006"
-  integrity sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==
-
-parse-bmfont-xml@^1.1.4:
-  version "1.1.6"
-  resolved "https://registry.npmmirror.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.6.tgz#016b655da7aebe6da38c906aca16bf0415773767"
-  integrity sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==
-  dependencies:
-    xml-parse-from-string "^1.0.0"
-    xml2js "^0.5.0"
-
-parse-css-font@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.npmmirror.com/parse-css-font/-/parse-css-font-4.0.0.tgz#17f62c0d45195b9708d430d1e4d6f54b7e2753ed"
-  integrity sha512-lnY7dTUfjRXsSo5G5C639L8RaBBaVSgL+5hacIFKsNHzeCJQ5SFSZv1DZmc7+wZv/22PFGOq2YbaEHLdaCS/mQ==
-  dependencies:
-    css-font-size-keywords "^1.0.0"
-    css-font-stretch-keywords "^1.0.1"
-    css-font-style-keywords "^1.0.1"
-    css-font-weight-keywords "^1.0.0"
-    css-list-helpers "^2.0.0"
-    css-system-font-keywords "^1.0.0"
-    unquote "^1.1.1"
-
-parse-headers@^2.0.0:
-  version "2.0.5"
-  resolved "https://registry.npmmirror.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9"
-  integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==
-
-parse-node-version@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b"
-  integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==
-
-parseurl@~1.3.3:
-  version "1.3.3"
-  resolved "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
-  integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
-
-path-browserify@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
-  integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
-
-path-dirname@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.npmmirror.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
-  integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==
-
-path-is-absolute@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
-  integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-
-path-key@^3.0.0, path-key@^3.1.0:
-  version "3.1.1"
-  resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
-  integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-
-path-parse@^1.0.7:
-  version "1.0.7"
-  resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
-  integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-
-path-to-regexp@0.1.7:
-  version "0.1.7"
-  resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
-  integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
-
-phin@^2.9.1:
-  version "2.9.3"
-  resolved "https://registry.npmmirror.com/phin/-/phin-2.9.3.tgz#f9b6ac10a035636fb65dfc576aaaa17b8743125c"
-  integrity sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==
-
-picocolors@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
-  integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1:
-  version "2.3.1"
-  resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
-  integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-
-pify@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
-  integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
-
-pify@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
-  integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
-
-pinia@^2.1.7:
-  version "2.1.7"
-  resolved "https://registry.npmmirror.com/pinia/-/pinia-2.1.7.tgz#4cf5420d9324ca00b7b4984d3fbf693222115bbc"
-  integrity sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==
-  dependencies:
-    "@vue/devtools-api" "^6.5.0"
-    vue-demi ">=0.14.5"
-
-pixelmatch@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.npmmirror.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854"
-  integrity sha512-J8B6xqiO37sU/gkcMglv6h5Jbd9xNER7aHzpfRdNmV4IbQBzBpe4l9XmbG+xPF/znacgu2jfEw+wHffaq/YkXA==
-  dependencies:
-    pngjs "^3.0.0"
-
-pngjs@^3.0.0, pngjs@^3.3.3:
-  version "3.4.0"
-  resolved "https://registry.npmmirror.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
-  integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
-
-postcss-import@^14.0.2:
-  version "14.1.0"
-  resolved "https://registry.npmmirror.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0"
-  integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==
-  dependencies:
-    postcss-value-parser "^4.0.0"
-    read-cache "^1.0.0"
-    resolve "^1.1.7"
-
-postcss-load-config@^3.1.1:
-  version "3.1.4"
-  resolved "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855"
-  integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==
-  dependencies:
-    lilconfig "^2.0.5"
-    yaml "^1.10.2"
-
-postcss-modules-extract-imports@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d"
-  integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==
-
-postcss-modules-local-by-default@^4.0.0:
-  version "4.0.4"
-  resolved "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz#7cbed92abd312b94aaea85b68226d3dec39a14e6"
-  integrity sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==
-  dependencies:
-    icss-utils "^5.0.0"
-    postcss-selector-parser "^6.0.2"
-    postcss-value-parser "^4.1.0"
-
-postcss-modules-scope@^3.0.0:
-  version "3.1.1"
-  resolved "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz#32cfab55e84887c079a19bbb215e721d683ef134"
-  integrity sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==
-  dependencies:
-    postcss-selector-parser "^6.0.4"
-
-postcss-modules-values@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c"
-  integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==
-  dependencies:
-    icss-utils "^5.0.0"
-
-postcss-modules@^4.3.0:
-  version "4.3.1"
-  resolved "https://registry.npmmirror.com/postcss-modules/-/postcss-modules-4.3.1.tgz#517c06c09eab07d133ae0effca2c510abba18048"
-  integrity sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==
-  dependencies:
-    generic-names "^4.0.0"
-    icss-replace-symbols "^1.1.0"
-    lodash.camelcase "^4.3.0"
-    postcss-modules-extract-imports "^3.0.0"
-    postcss-modules-local-by-default "^4.0.0"
-    postcss-modules-scope "^3.0.0"
-    postcss-modules-values "^4.0.0"
-    string-hash "^1.1.1"
-
-postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.6:
-  version "6.0.16"
-  resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz#3b88b9f5c5abd989ef4e2fc9ec8eedd34b20fb04"
-  integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==
-  dependencies:
-    cssesc "^3.0.0"
-    util-deprecate "^1.0.2"
-
-postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
-  version "4.2.0"
-  resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
-  integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-
-postcss@^8.1.10, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.32, postcss@^8.4.35:
-  version "8.4.35"
-  resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7"
-  integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==
-  dependencies:
-    nanoid "^3.3.7"
-    picocolors "^1.0.0"
-    source-map-js "^1.0.2"
-
-process-nextick-args@^2.0.1, process-nextick-args@~2.0.0:
-  version "2.0.1"
-  resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
-  integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-
-process@^0.11.10:
-  version "0.11.10"
-  resolved "https://registry.npmmirror.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
-  integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
-
-proxy-addr@~2.0.7:
-  version "2.0.7"
-  resolved "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
-  integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
-  dependencies:
-    forwarded "0.2.0"
-    ipaddr.js "1.9.1"
-
-prr@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
-  integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==
-
-pump@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.npmmirror.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
-  integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
-  dependencies:
-    end-of-stream "^1.1.0"
-    once "^1.3.1"
-
-pump@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
-  integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
-  dependencies:
-    end-of-stream "^1.1.0"
-    once "^1.3.1"
-
-pumpify@^1.3.5:
-  version "1.5.1"
-  resolved "https://registry.npmmirror.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
-  integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
-  dependencies:
-    duplexify "^3.6.0"
-    inherits "^2.0.3"
-    pump "^2.0.0"
-
-punycode@^2.1.0:
-  version "2.3.1"
-  resolved "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
-  integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
-
-qrcode-reader@^1.0.4:
-  version "1.0.4"
-  resolved "https://registry.npmmirror.com/qrcode-reader/-/qrcode-reader-1.0.4.tgz#95d9bb9e8130800361a96cb5a43124ad1d9e06b8"
-  integrity sha512-rRjALGNh9zVqvweg1j5OKIQKNsw3bLC+7qwlnead5K/9cb1cEIAGkwikt/09U0K+2IDWGD9CC6SP7tHAjUeqvQ==
-
-qrcode-terminal@^0.12.0:
-  version "0.12.0"
-  resolved "https://registry.npmmirror.com/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz#bb5b699ef7f9f0505092a3748be4464fe71b5819"
-  integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==
-
-qs@6.11.0:
-  version "6.11.0"
-  resolved "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
-  integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
-  dependencies:
-    side-channel "^1.0.4"
-
-queue-microtask@^1.2.2:
-  version "1.2.3"
-  resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
-  integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-
-range-parser@~1.2.1:
-  version "1.2.1"
-  resolved "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
-  integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-
-raw-body@2.5.2:
-  version "2.5.2"
-  resolved "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a"
-  integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
-  dependencies:
-    bytes "3.1.2"
-    http-errors "2.0.0"
-    iconv-lite "0.4.24"
-    unpipe "1.0.0"
-
-read-cache@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
-  integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
-  dependencies:
-    pify "^2.3.0"
-
-"readable-stream@> 1.0.0 < 3.0.0", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6:
-  version "2.3.8"
-  resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
-  integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
-  dependencies:
-    core-util-is "~1.0.0"
-    inherits "~2.0.3"
-    isarray "~1.0.0"
-    process-nextick-args "~2.0.0"
-    safe-buffer "~5.1.1"
-    string_decoder "~1.1.1"
-    util-deprecate "~1.0.1"
-
-readable-stream@^3.0.0, readable-stream@^3.4.0:
-  version "3.6.2"
-  resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
-  integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
-  dependencies:
-    inherits "^2.0.3"
-    string_decoder "^1.1.1"
-    util-deprecate "^1.0.1"
-
-readdirp@~3.6.0:
-  version "3.6.0"
-  resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
-  integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
-  dependencies:
-    picomatch "^2.2.1"
-
-regenerate-unicode-properties@^10.1.0:
-  version "10.1.1"
-  resolved "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480"
-  integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==
-  dependencies:
-    regenerate "^1.4.2"
-
-regenerate@^1.4.2:
-  version "1.4.2"
-  resolved "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
-  integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
-
-regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.3:
-  version "0.13.11"
-  resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
-  integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
-
-regenerator-runtime@^0.14.0:
-  version "0.14.1"
-  resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f"
-  integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
-
-regenerator-transform@^0.15.2:
-  version "0.15.2"
-  resolved "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz#5bbae58b522098ebdf09bca2f83838929001c7a4"
-  integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==
-  dependencies:
-    "@babel/runtime" "^7.8.4"
-
-regexpu-core@^5.3.1:
-  version "5.3.2"
-  resolved "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b"
-  integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==
-  dependencies:
-    "@babel/regjsgen" "^0.8.0"
-    regenerate "^1.4.2"
-    regenerate-unicode-properties "^10.1.0"
-    regjsparser "^0.9.1"
-    unicode-match-property-ecmascript "^2.0.0"
-    unicode-match-property-value-ecmascript "^2.1.0"
-
-regjsparser@^0.9.1:
-  version "0.9.1"
-  resolved "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709"
-  integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==
-  dependencies:
-    jsesc "~0.5.0"
-
-reinterval@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.npmmirror.com/reinterval/-/reinterval-1.1.0.tgz#3361ecfa3ca6c18283380dd0bb9546f390f5ece7"
-  integrity sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==
-
-remove-trailing-separator@^1.0.1:
-  version "1.1.0"
-  resolved "https://registry.npmmirror.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
-  integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==
-
-resolve@^1.1.7, resolve@^1.14.2, resolve@^1.22.1:
-  version "1.22.8"
-  resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d"
-  integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
-  dependencies:
-    is-core-module "^2.13.0"
-    path-parse "^1.0.7"
-    supports-preserve-symlinks-flag "^1.0.0"
-
-reusify@^1.0.4:
-  version "1.0.4"
-  resolved "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
-  integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
-
-rollup@^3.10.0:
-  version "3.29.4"
-  resolved "https://registry.npmmirror.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981"
-  integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==
-  optionalDependencies:
-    fsevents "~2.3.2"
-
-run-parallel@^1.1.9:
-  version "1.2.0"
-  resolved "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
-  integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
-  dependencies:
-    queue-microtask "^1.2.2"
-
-safe-area-insets@^1.4.1:
-  version "1.4.1"
-  resolved "https://registry.npmmirror.com/safe-area-insets/-/safe-area-insets-1.4.1.tgz#89309e01a516dcd7d2fe012a9c4115182957bd8b"
-  integrity sha512-r/nRWTjFGhhm3w1Z6Kd/jY11srN+lHt2mNl1E/emQGW8ic7n3Avu4noibklfSM+Y34peNphHD/BSZecav0sXYQ==
-
-safe-buffer@5.2.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0:
-  version "5.2.1"
-  resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
-  integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
-safe-buffer@~5.1.0, safe-buffer@~5.1.1:
-  version "5.1.2"
-  resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
-  integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
-"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0":
-  version "2.1.2"
-  resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
-  integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-sass-loader@^10.4.1:
-  version "10.5.2"
-  resolved "https://registry.npmmirror.com/sass-loader/-/sass-loader-10.5.2.tgz#1ca30534fff296417b853c7597ca3b0bbe8c37d0"
-  integrity sha512-vMUoSNOUKJILHpcNCCyD23X34gve1TS7Rjd9uXHeKqhvBG39x6XbswFDtpbTElj6XdMFezoWhkh5vtKudf2cgQ==
-  dependencies:
-    klona "^2.0.4"
-    loader-utils "^2.0.0"
-    neo-async "^2.6.2"
-    schema-utils "^3.0.0"
-    semver "^7.3.2"
-
-sass@^1.66.1:
-  version "1.72.0"
-  resolved "https://registry.npmmirror.com/sass/-/sass-1.72.0.tgz#5b9978943fcfb32b25a6a5acb102fc9dabbbf41c"
-  integrity sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==
-  dependencies:
-    chokidar ">=3.0.0 <4.0.0"
-    immutable "^4.0.0"
-    source-map-js ">=0.6.2 <2.0.0"
-
-sax@>=0.6.0, sax@^1.2.4:
-  version "1.3.0"
-  resolved "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0"
-  integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==
-
-schema-utils@^3.0.0:
-  version "3.3.0"
-  resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe"
-  integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
-  dependencies:
-    "@types/json-schema" "^7.0.8"
-    ajv "^6.12.5"
-    ajv-keywords "^3.5.2"
-
-select@^1.1.2:
-  version "1.1.2"
-  resolved "https://registry.npmmirror.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
-  integrity sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==
-
-semver@^5.6.0:
-  version "5.7.2"
-  resolved "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
-  integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-
-semver@^6.3.1:
-  version "6.3.1"
-  resolved "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
-  integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-
-semver@^7.3.2, semver@^7.5.4:
-  version "7.6.0"
-  resolved "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d"
-  integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
-  dependencies:
-    lru-cache "^6.0.0"
-
-send@0.18.0:
-  version "0.18.0"
-  resolved "https://registry.npmmirror.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
-  integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
-  dependencies:
-    debug "2.6.9"
-    depd "2.0.0"
-    destroy "1.2.0"
-    encodeurl "~1.0.2"
-    escape-html "~1.0.3"
-    etag "~1.8.1"
-    fresh "0.5.2"
-    http-errors "2.0.0"
-    mime "1.6.0"
-    ms "2.1.3"
-    on-finished "2.4.1"
-    range-parser "~1.2.1"
-    statuses "2.0.1"
-
-serve-static@1.15.0:
-  version "1.15.0"
-  resolved "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
-  integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
-  dependencies:
-    encodeurl "~1.0.2"
-    escape-html "~1.0.3"
-    parseurl "~1.3.3"
-    send "0.18.0"
-
-set-function-length@^1.2.1:
-  version "1.2.2"
-  resolved "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
-  integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
-  dependencies:
-    define-data-property "^1.1.4"
-    es-errors "^1.3.0"
-    function-bind "^1.1.2"
-    get-intrinsic "^1.2.4"
-    gopd "^1.0.1"
-    has-property-descriptors "^1.0.2"
-
-setprototypeof@1.2.0:
-  version "1.2.0"
-  resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
-  integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
-
-shebang-command@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
-  integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
-  dependencies:
-    shebang-regex "^3.0.0"
-
-shebang-regex@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
-  integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-
-side-channel@^1.0.4:
-  version "1.0.6"
-  resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2"
-  integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==
-  dependencies:
-    call-bind "^1.0.7"
-    es-errors "^1.3.0"
-    get-intrinsic "^1.2.4"
-    object-inspect "^1.13.1"
-
-signal-exit@^3.0.3:
-  version "3.0.7"
-  resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
-  integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
-
-"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
-  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
-
-source-map-support@~0.5.20:
-  version "0.5.21"
-  resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
-  integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
-  dependencies:
-    buffer-from "^1.0.0"
-    source-map "^0.6.0"
-
-source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0:
-  version "0.6.1"
-  resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
-  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
-
-sourcemap-codec@^1.4.8:
-  version "1.4.8"
-  resolved "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
-  integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
-
-split2@^3.1.0:
-  version "3.2.2"
-  resolved "https://registry.npmmirror.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f"
-  integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==
-  dependencies:
-    readable-stream "^3.0.0"
-
-statuses@2.0.1:
-  version "2.0.1"
-  resolved "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
-  integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
-
-stream-shift@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.npmmirror.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b"
-  integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==
-
-string-hash@^1.1.1:
-  version "1.1.3"
-  resolved "https://registry.npmmirror.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
-  integrity sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==
-
-string_decoder@^1.1.1:
-  version "1.3.0"
-  resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
-  integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
-  dependencies:
-    safe-buffer "~5.2.0"
-
-string_decoder@~1.1.1:
-  version "1.1.1"
-  resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
-  integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
-  dependencies:
-    safe-buffer "~5.1.0"
-
-strip-final-newline@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
-  integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
-
-supports-color@^5.3.0:
-  version "5.5.0"
-  resolved "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
-  integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
-  dependencies:
-    has-flag "^3.0.0"
-
-supports-preserve-symlinks-flag@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
-  integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
-
-svg-tags@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
-  integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==
-
-systemjs@^6.14.1:
-  version "6.14.3"
-  resolved "https://registry.npmmirror.com/systemjs/-/systemjs-6.14.3.tgz#c1d6e4ff5f9ff7106e5bb3d451360b1a066bde8a"
-  integrity sha512-hQv45irdhXudAOr8r6SVSpJSGtogdGZUbJBRKCE5nsIS7tsxxvnIHqT4IOPWj+P+HcSzeWzHlGCGpmhPDIKe+w==
-
-tapable@^2.2.0:
-  version "2.2.1"
-  resolved "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
-  integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
-
-terser@^5.4.0:
-  version "5.29.2"
-  resolved "https://registry.npmmirror.com/terser/-/terser-5.29.2.tgz#c17d573ce1da1b30f21a877bffd5655dd86fdb35"
-  integrity sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==
-  dependencies:
-    "@jridgewell/source-map" "^0.3.3"
-    acorn "^8.8.2"
-    commander "^2.20.0"
-    source-map-support "~0.5.20"
-
-through2-filter@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmmirror.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254"
-  integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==
-  dependencies:
-    through2 "~2.0.0"
-    xtend "~4.0.0"
-
-through2@^2.0.1, through2@~2.0.0:
-  version "2.0.5"
-  resolved "https://registry.npmmirror.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
-  integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
-  dependencies:
-    readable-stream "~2.3.6"
-    xtend "~4.0.1"
-
-timm@^1.6.1:
-  version "1.7.1"
-  resolved "https://registry.npmmirror.com/timm/-/timm-1.7.1.tgz#96bab60c7d45b5a10a8a4d0f0117c6b7e5aff76f"
-  integrity sha512-IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==
-
-tiny-emitter@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
-  integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
-
-tinycolor2@^1.4.1:
-  version "1.6.0"
-  resolved "https://registry.npmmirror.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e"
-  integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==
-
-to-absolute-glob@^2.0.0:
-  version "2.0.2"
-  resolved "https://registry.npmmirror.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b"
-  integrity sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==
-  dependencies:
-    is-absolute "^1.0.0"
-    is-negated-glob "^1.0.0"
-
-to-fast-properties@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
-  integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
-
-to-regex-range@^5.0.1:
-  version "5.0.1"
-  resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
-  integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
-  dependencies:
-    is-number "^7.0.0"
-
-toidentifier@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
-  integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
-
-tslib@^2.3.0, tslib@^2.6.2:
-  version "2.6.2"
-  resolved "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
-  integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
-
-type-is@~1.6.18:
-  version "1.6.18"
-  resolved "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
-  integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
-  dependencies:
-    media-typer "0.3.0"
-    mime-types "~2.1.24"
-
-type@^2.7.2:
-  version "2.7.2"
-  resolved "https://registry.npmmirror.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0"
-  integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==
-
-typedarray@^0.0.6:
-  version "0.0.6"
-  resolved "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-  integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
-
-typescript@^4.9.5:
-  version "4.9.5"
-  resolved "https://registry.npmmirror.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
-  integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
-
-ultron@~1.1.0:
-  version "1.1.1"
-  resolved "https://registry.npmmirror.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
-  integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==
-
-unc-path-regex@^0.1.2:
-  version "0.1.2"
-  resolved "https://registry.npmmirror.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
-  integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==
-
-unicode-canonical-property-names-ecmascript@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
-  integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==
-
-unicode-match-property-ecmascript@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
-  integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
-  dependencies:
-    unicode-canonical-property-names-ecmascript "^2.0.0"
-    unicode-property-aliases-ecmascript "^2.0.0"
-
-unicode-match-property-value-ecmascript@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0"
-  integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==
-
-unicode-property-aliases-ecmascript@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd"
-  integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
-
-unique-stream@^2.0.2:
-  version "2.3.1"
-  resolved "https://registry.npmmirror.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac"
-  integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==
-  dependencies:
-    json-stable-stringify-without-jsonify "^1.0.1"
-    through2-filter "^3.0.0"
-
-universalify@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d"
-  integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
-
-unpipe@1.0.0, unpipe@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
-  integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
-
-unquote@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
-  integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==
-
-update-browserslist-db@^1.0.13:
-  version "1.0.13"
-  resolved "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4"
-  integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==
-  dependencies:
-    escalade "^3.1.1"
-    picocolors "^1.0.0"
-
-uri-js@^4.2.2:
-  version "4.4.1"
-  resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
-  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
-  dependencies:
-    punycode "^2.1.0"
-
-utif@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.npmmirror.com/utif/-/utif-2.0.1.tgz#9e1582d9bbd20011a6588548ed3266298e711759"
-  integrity sha512-Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==
-  dependencies:
-    pako "^1.0.5"
-
-util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
-  version "1.0.2"
-  resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-  integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-
-utils-merge@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
-  integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
-
-uview-plus@^3.1.45:
-  version "3.1.45"
-  resolved "https://registry.npmmirror.com/uview-plus/-/uview-plus-3.1.45.tgz#48f2d617bee0d5f4e994d856255d16cd80a429d8"
-  integrity sha512-JHgLp2heaMciLdGimO/v4tMM8iwb2vTEOk6sXqn5X198AHjM5A/IGzH84GZPvUISFTEJbxGEHiGPxpv2K26AGw==
-  dependencies:
-    clipboard "^2.0.11"
-    dayjs "^1.11.3"
-
-vary@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
-  integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
-
-vite@4.1.4:
-  version "4.1.4"
-  resolved "https://registry.npmmirror.com/vite/-/vite-4.1.4.tgz#170d93bcff97e0ebc09764c053eebe130bfe6ca0"
-  integrity sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==
-  dependencies:
-    esbuild "^0.16.14"
-    postcss "^8.4.21"
-    resolve "^1.22.1"
-    rollup "^3.10.0"
-  optionalDependencies:
-    fsevents "~2.3.2"
-
-vue-demi@>=0.14.5:
-  version "0.14.7"
-  resolved "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.7.tgz#8317536b3ef74c5b09f268f7782e70194567d8f2"
-  integrity sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==
-
-vue-i18n@^9.10.2:
-  version "9.10.2"
-  resolved "https://registry.npmmirror.com/vue-i18n/-/vue-i18n-9.10.2.tgz#6f4b5d76bce649f1e18bb9b7767b72962b3e30a3"
-  integrity sha512-ECJ8RIFd+3c1d3m1pctQ6ywG5Yj8Efy1oYoAKQ9neRdkLbuKLVeW4gaY5HPkD/9ssf1pOnUrmIFjx2/gkGxmEw==
-  dependencies:
-    "@intlify/core-base" "9.10.2"
-    "@intlify/shared" "9.10.2"
-    "@vue/devtools-api" "^6.5.0"
-
-vue-router@^4.1.6:
-  version "4.3.0"
-  resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.3.0.tgz#d5913f27bf68a0a178ee798c3c88be471811a235"
-  integrity sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==
-  dependencies:
-    "@vue/devtools-api" "^6.5.1"
-
-vue-template-compiler@^2.7.14:
-  version "2.7.16"
-  resolved "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz#c81b2d47753264c77ac03b9966a46637482bb03b"
-  integrity sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==
-  dependencies:
-    de-indent "^1.0.2"
-    he "^1.2.0"
-
-vue-tsc@^1.8.8:
-  version "1.8.27"
-  resolved "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-1.8.27.tgz#feb2bb1eef9be28017bb9e95e2bbd1ebdd48481c"
-  integrity sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==
-  dependencies:
-    "@volar/typescript" "~1.11.1"
-    "@vue/language-core" "1.8.27"
-    semver "^7.5.4"
-
-vue@3.3.11:
-  version "3.3.11"
-  resolved "https://registry.npmmirror.com/vue/-/vue-3.3.11.tgz#898d97025f73cdb5fc4e3ae3fd07a54615232140"
-  integrity sha512-d4oBctG92CRO1cQfVBZp6WJAs0n8AK4Xf5fNjQCBeKCvMI1efGQ5E3Alt1slFJS9fZuPcFoiAiqFvQlv1X7t/w==
-  dependencies:
-    "@vue/compiler-dom" "3.3.11"
-    "@vue/compiler-sfc" "3.3.11"
-    "@vue/runtime-dom" "3.3.11"
-    "@vue/server-renderer" "3.3.11"
-    "@vue/shared" "3.3.11"
-
-websocket-stream@^5.1.2:
-  version "5.5.2"
-  resolved "https://registry.npmmirror.com/websocket-stream/-/websocket-stream-5.5.2.tgz#49d87083d96839f0648f5513bbddd581f496b8a2"
-  integrity sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==
-  dependencies:
-    duplexify "^3.5.1"
-    inherits "^2.0.1"
-    readable-stream "^2.3.3"
-    safe-buffer "^5.1.2"
-    ws "^3.2.0"
-    xtend "^4.0.0"
-
-which@^2.0.1:
-  version "2.0.2"
-  resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
-  integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
-  dependencies:
-    isexe "^2.0.0"
-
-wrappy@1:
-  version "1.0.2"
-  resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
-  integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
-
-ws@^3.2.0:
-  version "3.3.3"
-  resolved "https://registry.npmmirror.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
-  integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==
-  dependencies:
-    async-limiter "~1.0.0"
-    safe-buffer "~5.1.0"
-    ultron "~1.1.0"
-
-ws@^8.4.2:
-  version "8.16.0"
-  resolved "https://registry.npmmirror.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4"
-  integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==
-
-xhr@^2.0.1:
-  version "2.6.0"
-  resolved "https://registry.npmmirror.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d"
-  integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==
-  dependencies:
-    global "~4.4.0"
-    is-function "^1.0.1"
-    parse-headers "^2.0.0"
-    xtend "^4.0.0"
-
-xml-parse-from-string@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28"
-  integrity sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==
-
-xml2js@^0.5.0:
-  version "0.5.0"
-  resolved "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz#d9440631fbb2ed800203fad106f2724f62c493b7"
-  integrity sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==
-  dependencies:
-    sax ">=0.6.0"
-    xmlbuilder "~11.0.0"
-
-xmlbuilder@~11.0.0:
-  version "11.0.1"
-  resolved "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
-  integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
-
-xmlhttprequest@^1.8.0:
-  version "1.8.0"
-  resolved "https://registry.npmmirror.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc"
-  integrity sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==
-
-xregexp@3.1.0:
-  version "3.1.0"
-  resolved "https://registry.npmmirror.com/xregexp/-/xregexp-3.1.0.tgz#14d8461e0bdd38224bfee5039a0898fc42fcd336"
-  integrity sha512-4Y1x6DyB8xRoxosooa6PlGWqmmSKatbzhrftZ7Purmm4B8R4qIEJG1A2hZsdz5DhmIqS0msC0I7KEq93GphEVg==
-
-xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1:
-  version "4.0.2"
-  resolved "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
-  integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-
-yallist@^3.0.2:
-  version "3.1.1"
-  resolved "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
-  integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-
-yallist@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
-  integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-
-yaml@^1.10.2:
-  version "1.10.2"
-  resolved "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
-  integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==

--
Gitblit v1.9.3