diff --git a/static/api/clear.json b/static/api/clear.json
new file mode 100644
index 0000000..e0f5ed7
--- /dev/null
+++ b/static/api/clear.json
@@ -0,0 +1,4 @@
+{
+ "code": 1,
+ "msg": "服务端清理缓存成功"
+}
\ No newline at end of file
diff --git a/static/api/init.json b/static/api/init.json
new file mode 100644
index 0000000..72138b0
--- /dev/null
+++ b/static/api/init.json
@@ -0,0 +1,48 @@
+{
+ "homeInfo": {
+ "title": "首页",
+ "href": "../log"
+ },
+ "logoInfo": {
+ "title": "在线运维工具",
+ "image": "static/images/logo.png",
+ "href": ""
+ },
+ "menuInfo": [
+ {
+ "title": "常规管理",
+ "icon": "fa fa-address-book",
+ "href": "",
+ "target": "_self",
+ "child": [
+
+ {
+ "title": "运维日志",
+ "href": "../log",
+ "icon": "fa fa-file-text",
+ "target": "_self"
+ },
+ {
+ "title": "用户管理",
+ "href": "../user",
+ "icon": "fa fa-file-text",
+ "target": "_self"
+ },
+ {
+ "title": "数据图表",
+ "href": "../index_echarts",
+ "icon": "fa fa-file-text",
+ "target": "_blank"
+ }
+,
+ {
+ "title": "警告信息",
+ "href": "../warings",
+ "icon": "fa fa-file-text",
+ "target": "_self"
+ }
+ ]
+ }
+
+ ]
+}
\ No newline at end of file
diff --git a/static/api/menus.json b/static/api/menus.json
new file mode 100644
index 0000000..e14d00e
--- /dev/null
+++ b/static/api/menus.json
@@ -0,0 +1,254 @@
+{
+ "code": 0,
+ "msg": "",
+ "count": 19,
+ "data": [
+ {
+ "authorityId": 1,
+ "authorityName": "系统管理",
+ "orderNumber": 1,
+ "menuUrl": null,
+ "menuIcon": "layui-icon-set",
+ "createTime": "2018/06/29 11:05:41",
+ "authority": null,
+ "checked": 0,
+ "updateTime": "2018/07/13 09:13:42",
+ "isMenu": 0,
+ "parentId": -1
+ },
+ {
+ "authorityId": 2,
+ "authorityName": "用户管理",
+ "orderNumber": 2,
+ "menuUrl": "system/user",
+ "menuIcon": null,
+ "createTime": "2018/06/29 11:05:41",
+ "authority": null,
+ "checked": 0,
+ "updateTime": "2018/07/13 09:13:42",
+ "isMenu": 0,
+ "parentId": 1
+ },
+ {
+ "authorityId": 3,
+ "authorityName": "查询用户",
+ "orderNumber": 3,
+ "menuUrl": "",
+ "menuIcon": "",
+ "createTime": "2018/07/21 13:54:16",
+ "authority": "user:view",
+ "checked": 0,
+ "updateTime": "2018/07/21 13:54:16",
+ "isMenu": 1,
+ "parentId": 2
+ },
+ {
+ "authorityId": 4,
+ "authorityName": "添加用户",
+ "orderNumber": 4,
+ "menuUrl": null,
+ "menuIcon": null,
+ "createTime": "2018/06/29 11:05:41",
+ "authority": "user:add",
+ "checked": 0,
+ "updateTime": "2018/07/13 09:13:42",
+ "isMenu": 1,
+ "parentId": 2
+ },
+ {
+ "authorityId": 5,
+ "authorityName": "修改用户",
+ "orderNumber": 5,
+ "menuUrl": null,
+ "menuIcon": null,
+ "createTime": "2018/06/29 11:05:41",
+ "authority": "user:edit",
+ "checked": 0,
+ "updateTime": "2018/07/13 09:13:42",
+ "isMenu": 1,
+ "parentId": 2
+ },
+ {
+ "authorityId": 6,
+ "authorityName": "删除用户",
+ "orderNumber": 6,
+ "menuUrl": null,
+ "menuIcon": null,
+ "createTime": "2018/06/29 11:05:41",
+ "authority": "user:delete",
+ "checked": 0,
+ "updateTime": "2018/07/13 09:13:42",
+ "isMenu": 1,
+ "parentId": 2
+ },
+ {
+ "authorityId": 7,
+ "authorityName": "角色管理",
+ "orderNumber": 7,
+ "menuUrl": "system/role",
+ "menuIcon": null,
+ "createTime": "2018/06/29 11:05:41",
+ "authority": null,
+ "checked": 0,
+ "updateTime": "2018/07/13 09:13:42",
+ "isMenu": 0,
+ "parentId": 1
+ },
+ {
+ "authorityId": 8,
+ "authorityName": "查询角色",
+ "orderNumber": 8,
+ "menuUrl": "",
+ "menuIcon": "",
+ "createTime": "2018/07/21 13:54:59",
+ "authority": "role:view",
+ "checked": 0,
+ "updateTime": "2018/07/21 13:54:58",
+ "isMenu": 1,
+ "parentId": 7
+ },
+ {
+ "authorityId": 9,
+ "authorityName": "添加角色",
+ "orderNumber": 9,
+ "menuUrl": "",
+ "menuIcon": "",
+ "createTime": "2018/06/29 11:05:41",
+ "authority": "role:add",
+ "checked": 0,
+ "updateTime": "2018/07/13 09:13:42",
+ "isMenu": 1,
+ "parentId": 7
+ },
+ {
+ "authorityId": 10,
+ "authorityName": "修改角色",
+ "orderNumber": 10,
+ "menuUrl": "",
+ "menuIcon": "",
+ "createTime": "2018/06/29 11:05:41",
+ "authority": "role:edit",
+ "checked": 0,
+ "updateTime": "2018/07/13 09:13:42",
+ "isMenu": 1,
+ "parentId": 7
+ },
+ {
+ "authorityId": 11,
+ "authorityName": "删除角色",
+ "orderNumber": 11,
+ "menuUrl": "",
+ "menuIcon": "",
+ "createTime": "2018/06/29 11:05:41",
+ "authority": "role:delete",
+ "checked": 0,
+ "updateTime": "2018/07/13 09:13:42",
+ "isMenu": 1,
+ "parentId": 7
+ },
+ {
+ "authorityId": 12,
+ "authorityName": "角色权限管理",
+ "orderNumber": 12,
+ "menuUrl": "",
+ "menuIcon": "",
+ "createTime": "2018/06/29 11:05:41",
+ "authority": "role:auth",
+ "checked": 0,
+ "updateTime": "2018/07/13 15:27:18",
+ "isMenu": 1,
+ "parentId": 7
+ },
+ {
+ "authorityId": 13,
+ "authorityName": "权限管理",
+ "orderNumber": 13,
+ "menuUrl": "system/authorities",
+ "menuIcon": null,
+ "createTime": "2018/06/29 11:05:41",
+ "authority": null,
+ "checked": 0,
+ "updateTime": "2018/07/13 15:45:13",
+ "isMenu": 0,
+ "parentId": 1
+ },
+ {
+ "authorityId": 14,
+ "authorityName": "查询权限",
+ "orderNumber": 14,
+ "menuUrl": "",
+ "menuIcon": "",
+ "createTime": "2018/07/21 13:55:57",
+ "authority": "authorities:view",
+ "checked": 0,
+ "updateTime": "2018/07/21 13:55:56",
+ "isMenu": 1,
+ "parentId": 13
+ },
+ {
+ "authorityId": 15,
+ "authorityName": "添加权限",
+ "orderNumber": 15,
+ "menuUrl": "",
+ "menuIcon": "",
+ "createTime": "2018/06/29 11:05:41",
+ "authority": "authorities:add",
+ "checked": 0,
+ "updateTime": "2018/06/29 11:05:41",
+ "isMenu": 1,
+ "parentId": 13
+ },
+ {
+ "authorityId": 16,
+ "authorityName": "修改权限",
+ "orderNumber": 16,
+ "menuUrl": "",
+ "menuIcon": "",
+ "createTime": "2018/07/13 09:13:42",
+ "authority": "authorities:edit",
+ "checked": 0,
+ "updateTime": "2018/07/13 09:13:42",
+ "isMenu": 1,
+ "parentId": 13
+ },
+ {
+ "authorityId": 17,
+ "authorityName": "删除权限",
+ "orderNumber": 17,
+ "menuUrl": "",
+ "menuIcon": "",
+ "createTime": "2018/06/29 11:05:41",
+ "authority": "authorities:delete",
+ "checked": 0,
+ "updateTime": "2018/06/29 11:05:41",
+ "isMenu": 1,
+ "parentId": 13
+ },
+ {
+ "authorityId": 18,
+ "authorityName": "登录日志",
+ "orderNumber": 18,
+ "menuUrl": "system/loginRecord",
+ "menuIcon": null,
+ "createTime": "2018/06/29 11:05:41",
+ "authority": null,
+ "checked": 0,
+ "updateTime": "2018/06/29 11:05:41",
+ "isMenu": 0,
+ "parentId": 1
+ },
+ {
+ "authorityId": 19,
+ "authorityName": "查询登录日志",
+ "orderNumber": 19,
+ "menuUrl": "",
+ "menuIcon": "",
+ "createTime": "2018/07/21 13:56:43",
+ "authority": "loginRecord:view",
+ "checked": 0,
+ "updateTime": "2018/07/21 13:56:43",
+ "isMenu": 1,
+ "parentId": 18
+ }
+ ]
+}
\ No newline at end of file
diff --git a/static/api/table.json b/static/api/table.json
new file mode 100644
index 0000000..7bda61b
--- /dev/null
+++ b/static/api/table.json
@@ -0,0 +1,127 @@
+{
+ "code": 0,
+ "msg": "",
+ "count": 1000,
+ "data": [
+ {
+ "id": 10000,
+ "username": "user-0",
+ "sex": "女",
+ "city": "城市-0",
+ "sign": "签名-0",
+ "experience": 255,
+ "logins": 24,
+ "wealth": 82830700,
+ "classify": "作家",
+ "score": 57
+ },
+ {
+ "id": 10001,
+ "username": "user-1",
+ "sex": "男",
+ "city": "城市-1",
+ "sign": "签名-1",
+ "experience": 884,
+ "logins": 58,
+ "wealth": 64928690,
+ "classify": "词人",
+ "score": 27
+ },
+ {
+ "id": 10002,
+ "username": "user-2",
+ "sex": "女",
+ "city": "城市-2",
+ "sign": "签名-2",
+ "experience": 650,
+ "logins": 77,
+ "wealth": 6298078,
+ "classify": "酱油",
+ "score": 31
+ },
+ {
+ "id": 10003,
+ "username": "user-3",
+ "sex": "女",
+ "city": "城市-3",
+ "sign": "签名-3",
+ "experience": 362,
+ "logins": 157,
+ "wealth": 37117017,
+ "classify": "诗人",
+ "score": 68
+ },
+ {
+ "id": 10004,
+ "username": "user-4",
+ "sex": "男",
+ "city": "城市-4",
+ "sign": "签名-4",
+ "experience": 807,
+ "logins": 51,
+ "wealth": 76263262,
+ "classify": "作家",
+ "score": 6
+ },
+ {
+ "id": 10005,
+ "username": "user-5",
+ "sex": "女",
+ "city": "城市-5",
+ "sign": "签名-5",
+ "experience": 173,
+ "logins": 68,
+ "wealth": 60344147,
+ "classify": "作家",
+ "score": 87
+ },
+ {
+ "id": 10006,
+ "username": "user-6",
+ "sex": "女",
+ "city": "城市-6",
+ "sign": "签名-6",
+ "experience": 982,
+ "logins": 37,
+ "wealth": 57768166,
+ "classify": "作家",
+ "score": 34
+ },
+ {
+ "id": 10007,
+ "username": "user-7",
+ "sex": "男",
+ "city": "城市-7",
+ "sign": "签名-7",
+ "experience": 727,
+ "logins": 150,
+ "wealth": 82030578,
+ "classify": "作家",
+ "score": 28
+ },
+ {
+ "id": 10008,
+ "username": "user-8",
+ "sex": "男",
+ "city": "城市-8",
+ "sign": "签名-8",
+ "experience": 951,
+ "logins": 133,
+ "wealth": 16503371,
+ "classify": "词人",
+ "score": 14
+ },
+ {
+ "id": 10009,
+ "username": "user-9",
+ "sex": "女",
+ "city": "城市-9",
+ "sign": "签名-9",
+ "experience": 484,
+ "logins": 25,
+ "wealth": 86801934,
+ "classify": "词人",
+ "score": 75
+ }
+ ]
+}
\ No newline at end of file
diff --git a/static/api/tableSelect.json b/static/api/tableSelect.json
new file mode 100644
index 0000000..37fb0ed
--- /dev/null
+++ b/static/api/tableSelect.json
@@ -0,0 +1,23 @@
+{
+ "code": 0,
+ "msg": "",
+ "count": 16,
+ "data": [
+ { "id":"001", "username":"张玉林", "sex":"女" },
+ { "id":"002", "username":"刘晓军", "sex":"男" },
+ { "id":"003", "username":"张恒", "sex":"男" },
+ { "id":"004", "username":"朱一", "sex":"男" },
+ { "id":"005", "username":"刘佳能", "sex":"女" },
+ { "id":"006", "username":"晓梅", "sex":"女" },
+ { "id":"007", "username":"马冬梅", "sex":"女" },
+ { "id":"008", "username":"刘晓庆", "sex":"女" },
+ { "id":"009", "username":"刘晓庆", "sex":"女" },
+ { "id":"010", "username":"刘晓庆", "sex":"女" },
+ { "id":"011", "username":"刘晓庆", "sex":"女" },
+ { "id":"012", "username":"刘晓庆", "sex":"女" },
+ { "id":"013", "username":"刘晓庆", "sex":"女" },
+ { "id":"014", "username":"刘晓庆", "sex":"女" },
+ { "id":"015", "username":"刘晓庆", "sex":"女" },
+ { "id":"016", "username":"刘晓庆", "sex":"女" }
+ ]
+}
\ No newline at end of file
diff --git a/static/api/upload.json b/static/api/upload.json
new file mode 100644
index 0000000..691902d
--- /dev/null
+++ b/static/api/upload.json
@@ -0,0 +1,10 @@
+{
+ "code": 1,
+ "msg": "上传成功",
+ "data": {
+ "url": [
+ "../images/logo.png",
+ "../images/captcha.jpg"
+ ]
+ }
+}
diff --git a/static/css/ProgressBarWars.css b/static/css/ProgressBarWars.css
new file mode 100644
index 0000000..819e7c8
--- /dev/null
+++ b/static/css/ProgressBarWars.css
@@ -0,0 +1,149 @@
+.barControl {
+ margin: 0 auto;
+}
+
+.barContro_space {
+ padding: 1px;
+ border-radius: 5px;
+ border: 1px #ffaa00 solid;
+}
+
+.barContro_space1 {
+ padding: 1px;
+ border-radius: 5px;
+ border: 1px #00d8ff solid;
+}
+
+.barContro_space2 {
+ padding: 1px;
+ border-radius: 5px;
+ border: 1px #56a4ff solid;
+}
+
+.barContro_space3 {
+ padding: 1px;
+ border-radius: 5px;
+ border: 1px #56ff6a solid;
+}
+
+.barContro_space4 {
+ padding: 1px;
+ border-radius: 13px;
+ border: 1px #ffea00 solid;
+}
+
+.barContro_space5 {
+ padding: 1px;
+ border-radius: 5px;
+ border: 1px #40e315 solid;
+}
+
+.barContro_space6 {
+ padding: 1px;
+ border-radius: 5px;
+ border: 1px #15e3ac solid;
+}
+
+.barContro_space7 {
+ padding: 1px;
+ border-radius: 5px;
+ border: 1px #1f9cff solid;
+}
+
+.barContro_space8 {
+ padding: 1px;
+ border-radius: 5px;
+ border: 1px #c97802 solid;
+}
+
+.barContro_space9 {
+ padding: 1px;
+ border-radius: 5px;
+ border: 1px #72ff00 solid;
+}
+
+.barContro_space10 {
+ padding: 1px;
+ border-radius: 5px;
+ border: 1px #ef4503 solid;
+}
+
+.vader {
+ border-radius: 4px;
+ display: block;
+ width: 0%;
+ background-color: #ffaa00;
+}
+
+.vader1 {
+ border-radius: 4px;
+ display: block;
+ width: 0%;
+ background-color: #00d8ff;
+}
+
+.vader2 {
+ border-radius: 4px;
+ display: block;
+ width: 0%;
+ background-color: #56a4ff;
+}
+
+.vader3 {
+ border-radius: 4px;
+ display: block;
+ width: 0%;
+ background-color: #56ff6a;
+}
+
+.vader4 {
+ border-radius: 13px;
+ display: block;
+ width: 0%;
+ background-color: #ffea00;
+}
+
+.vader5 {
+ border-radius: 4px;
+ display: block;
+ width: 0%;
+ background-color: #40e315;
+}
+
+.vader6 {
+ border-radius: 4px;
+ display: block;
+ width: 0%;
+ background-color: #15e3ac;
+}
+
+.vader7 {
+ border-radius: 4px;
+ display: block;
+ width: 0%;
+ background-color: #1f9cff;
+}
+
+.vader8 {
+ border-radius: 4px;
+ display: block;
+ width: 0%;
+ background-color: #c97802;
+}
+
+.vader9 {
+ border-radius: 4px;
+ display: block;
+ width: 0%;
+ background-color: #72ff00;
+}
+
+.vader10 {
+ border-radius: 4px;
+ display: block;
+ width: 0%;
+ background-color: #ef4503;
+}
+
+/*.vader1{border-radius: 2px;display: block;width: 0%;box-shadow:0px 0px 10px 1px #aeff00, 0 0 1px #aeff00, 0 0 1px #aeff00, 0 0 1px #aeff00, 0 0 1px #aeff00, 0 0 1px #FD4275, 0 0 1px #FD4275;background-color: #aeff00;}*/
+/*.vader2{border-radius: 2px;display: block;width: 0%;box-shadow:0px 0px 10px 1px #aeff00, 0 0 1px #aeff00, 0 0 1px #aeff00, 0 0 1px #aeff00, 0 0 1px #aeff00, 0 0 1px #FD4275, 0 0 1px #FD4275;background-color: #aeff00;}*/
\ No newline at end of file
diff --git a/static/css/layuimini.css b/static/css/layuimini.css
new file mode 100644
index 0000000..09428a5
--- /dev/null
+++ b/static/css/layuimini.css
@@ -0,0 +1,927 @@
+/**
+配色方案(如有需要,请自行配置)
+ */
+/**头部-配色*/
+.layui-layout-admin .layui-header {
+ background-color: #1aa094 !important;
+}
+
+.layui-header > ul > .layui-nav-item.layui-this, .layuimini-tool i:hover {
+ background-color: #197971 !important;
+}
+
+.layui-header .layuimini-header-content > ul > .layui-nav-item.layui-this, .layuimini-tool i:hover {
+ background-color: #197971 !important;
+}
+
+/**logo-配色*/
+.layui-layout-admin .layuimini-logo {
+ background-color: #243346 !important;
+}
+
+/**左侧-配色*/
+.layui-side.layui-bg-black, .layui-side.layui-bg-black > .layuimini-menu-left > ul {
+ background-color: #2f4056 !important;
+}
+
+.layuimini-menu-left .layui-nav .layui-nav-child a:hover:not(.layui-this) {
+ background-color: #3b3f4b;
+}
+
+/**左侧菜单选中-配色*/
+.layui-layout-admin .layui-nav-tree .layui-this, .layui-layout-admin .layui-nav-tree .layui-this > a, .layui-layout-admin .layui-nav-tree .layui-nav-child dd.layui-this, .layui-layout-admin .layui-nav-tree .layui-nav-child dd.layui-this a {
+ background-color: #1aa094 !important;
+}
+
+
+/**头部样式 */
+.layui-layout-admin .header {
+ position: fixed;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+}
+
+.layuimini-header-menu, .layui-header {
+ height: 60px !important;
+}
+
+.layuimini-header-menu > .layui-nav-item {
+ color: #1b1d21;
+ height: 60px !important;
+ line-height: 60px !important;
+}
+
+.layui-header > .layui-layout-right > .layui-nav-item {
+ height: 60px !important;
+ line-height: 60px !important;
+}
+
+.layui-layout-left {
+ left: 295px !important;
+}
+
+.layui-nav.layui-layout-left.layuimini-header-menu.layuimini-pc-show {
+ font-weight: bold;
+ transition: all .2s;
+}
+
+
+/**logo演示(通用) */
+.layui-layout-admin .layuimini-logo {
+ font-weight: bold;
+ color: #ffffff !important;
+ height: 60px !important;
+ line-height: 60px !important;
+ overflow: hidden;
+ line-height: 64px;
+ transition: all .2s !important;
+}
+
+.layui-layout-admin .layuimini-logo img {
+ display: inline-block;
+ height: 40px;
+ vertical-align: middle;
+}
+
+.layui-layout-admin .layuimini-logo h1 {
+ display: inline-block;
+ margin: 0 0 0 12px;
+ color: #ffffff;
+ font-weight: 600;
+ font-size: 20px;
+ font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
+ vertical-align: middle;
+}
+
+/**缩放工具(通用) */
+.layuimini-tool {
+ position: absolute !important;
+ top: 0;
+ left: 235px;
+ width: 60px;
+ height: 100%;
+ line-height: 60px;
+ text-align: center;
+ color: #ffffff !important;
+ transition: all .2s;
+}
+
+/**缩放工具(缩放) */
+.layuimini-tool i {
+ display: block;
+ color: #bbe3df;
+ width: 32px;
+ height: 32px;
+ line-height: 32px;
+ border-radius: 3px;
+ text-align: center;
+ margin-top: 15px;
+ cursor: pointer;
+}
+
+/**tab选项卡 */
+.layuimini-tab {
+ margin: 0px;
+ overflow: hidden;
+ height: 100% !important;
+}
+
+.layuimini-tab .layui-tab-content {
+ height: calc(100% - 37px) !important;
+}
+
+.layuimini-tab .layui-tab-content .layui-tab-item {
+ height: 100%;
+}
+
+.layuimini-tab .layui-tab-content {
+ padding: 0px;
+}
+
+.layuimini-tab .layui-tab-title {
+ border: none;
+ border: 1px solid whitesmoke;
+ background-color: white;
+}
+
+.layuimini-tab .layui-tab-title li {
+ border-right: 1px solid whitesmoke;
+ color: dimgray;
+}
+
+.layuimini-tab .layui-tab-title .layui-tab-bar {
+ display: none;
+}
+
+.layuimini-tab .layui-tab-title .layui-this:after {
+ display: none;
+}
+
+.layuimini-tab .layui-tab-title .layuimini-tab-active {
+ display: inline-block;
+ background-color: lightgray;
+ width: 9px;
+ height: 9px;
+ border-radius: 30px;
+ margin-right: 5px;
+}
+
+.layuimini-tab .layui-tab-title .layui-this .layuimini-tab-active {
+ background-color: #1aa094;
+}
+
+.layuimini-tab > .layui-tab-title, .layuimini-tab > .close-box {
+ height: 35px !important;
+}
+
+.layuimini-tab > .layui-tab-title li, .layuimini-tab > .close-box li {
+ line-height: 35px !important;
+}
+
+.layuimini-tab .layui-tab-title span {
+ color: #acafb1;
+}
+
+.layuimini-tab .layui-tab-title .layui-this span {
+ color: dimgray;
+}
+
+.layuimini-tab .layui-tab-title .layui-tab-close {
+ font-size: 12px !important;
+ width: 14px !important;
+ height: 14px !important;
+ line-height: 16px !important;
+}
+
+.layuimini-tab .layui-tab-title .layui-tab-close:hover {
+ border-radius: 4em;
+ background: #ff5722;
+}
+
+.layuimini-tab .layui-tab-title .disable-close + .layui-tab-close {
+ display: none;
+}
+
+.layuimini-tab .layui-tab-title .able-close + .layui-tab-close {
+ display: inline-block;
+}
+
+.layuimini-tab .layui-tab-control > li {
+ position: absolute;
+ top: 0px;
+ height: 35px;
+ line-height: 35px;
+ width: 35px;
+ text-align: center;
+ background-color: white;
+ border-top: whitesmoke 1px solid;
+ border-bottom: whitesmoke 1px solid;
+}
+
+.layuimini-tab .layuimini-tab-roll-left {
+ left: 0px;
+ border-right: whitesmoke 1px solid;
+ border-left: whitesmoke 1px solid;
+}
+
+.layuimini-tab .layuimini-tab-roll-right {
+ right: 35px;
+ border-left: 1px solid whitesmoke;
+}
+
+.layuimini-tab .layui-tab-tool {
+ right: 0px;
+ border-left: 1px solid whitesmoke;
+}
+
+.layuimini-tab .layui-tab-control .layui-tab-tool,
+.layuimini-tab .layui-tab-control .layuimini-tab-roll-left,
+.layuimini-tab .layui-tab-control .layuimini-tab-roll-right {
+ display: none;
+}
+
+.layuimini-tab.layui-tab-roll .layui-tab-control .layuimini-tab-roll-left,
+.layuimini-tab.layui-tab-roll .layui-tab-control .layuimini-tab-roll-right {
+ display: block;
+}
+
+.layuimini-tab.layui-tab-roll .layui-tab-control .layuimini-tab-roll-right {
+ right: 0px;
+ border-right: 1px solid whitesmoke;
+}
+
+.layuimini-tab.layui-tab-roll .layui-tab-title {
+ padding-left: 35px;
+ padding-right: 35px;
+}
+
+
+.layuimini-tab.layui-tab-tool .layui-tab-control .layui-tab-tool {
+ display: block;
+}
+
+.layuimini-tab.layui-tab-tool .layui-tab-title {
+ padding-left: 0px;
+ padding-right: 35px;
+}
+
+
+.layuimini-tab.layui-tab-rollTool .layui-tab-title {
+ padding-left: 35px;
+ padding-right: 80px;
+}
+
+.layuimini-tab.layui-tab-rollTool .layui-tab-control .layuimini-tab-roll-left,
+.layuimini-tab.layui-tab-rollTool .layui-tab-control .layuimini-tab-roll-right,
+.layuimini-tab.layui-tab-rollTool .layui-tab-control .layui-tab-tool {
+ display: block;
+}
+
+.layuimini-tab .layui-tab-tool .layui-nav {
+ position: absolute;
+ height: 43px !important;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ padding: 0;
+ background: 0 0;
+}
+
+.layuimini-tab .layui-tab-tool .layui-nav-item {
+ height: 35px;
+}
+
+.layuimini-tab .layui-tab-tool .layui-nav-bar {
+ display: none;
+}
+
+.layuimini-tab .layui-tab-tool .layui-nav-child {
+ left: auto;
+ top: 45px;
+ right: 3px;
+ width: 120px;
+ border: 1px solid whitesmoke;
+}
+
+.layuimini-tab .layui-tab-tool .layui-this a {
+ background-color: #009688;
+}
+
+.layuimini-tab-loading {
+ position: absolute;
+ display: none;
+ width: 100%;
+ height: calc(100% - 37px);
+ top: 37px;
+ z-index: 19;
+ background-color: #fff
+}
+
+.layuimini-tab-loading.close {
+ animation: close 1s;
+ -webkit-animation: close 1s;
+ animation-fill-mode: forwards;
+}
+
+/**左侧菜单栏 (通用) */
+.layui-side.layui-bg-black {
+ transition: all .2s;
+}
+
+.layui-side.layui-bg-black > .layuimini-menu-left > ul {
+ transition: all .2s;
+}
+
+.layui-side.layui-bg-black > .layuimini-menu-left > ul > .layui-nav-item:first-child {
+ border-top: 1px solid #4b5461;
+}
+
+.layuimini-menu-left .layui-nav .layui-nav-item a {
+ height: 40px;
+ line-height: 40px;
+ padding-right: 30px;
+}
+
+.layuimini-menu-left .layui-nav .layui-nav-item > a {
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+.layuimini-menu-left .layui-nav .layui-nav-child .layui-nav-child {
+ background: 0 0 !important
+}
+
+.layuimini-menu-left .layui-nav .layui-nav-more {
+ right: 15px;
+}
+
+.layuimini-menu-left .layui-nav .layui-nav-item a:hover {
+ background-color: transparent !important;
+}
+
+.layuimini-menu-left .layui-nav {
+ background-color: transparent !important;
+}
+
+
+/**左侧菜单栏 (正常) */
+.layui-layout-body .layui-nav-itemed .layui-nav-child a, .layui-layout-body .layuimini-menu-left .layui-nav .layui-nav-child a {
+ padding-left: 35px;
+}
+
+.layui-layout-body .layuimini-menu-left .layui-nav .layui-nav-child .layui-nav-child a {
+ padding-left: 45px;
+}
+
+.layui-layout-body .layuimini-menu-left .layui-nav .layui-nav-child .layui-nav-child .layui-nav-child a {
+ padding-left: 55px;
+}
+
+.layui-layout-body .layuimini-menu-left .layui-nav .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child a {
+ padding-left: 65px;
+}
+
+.layui-layout-body .layuimini-menu-left .layui-nav .layui-nav-itemed > .layui-nav-child {
+ padding: 5px 0;
+}
+
+/**内容主体(通用) */
+.layui-layout-admin .layui-body {
+ overflow: hidden;
+ bottom: 0px !important;
+ top: 60px !important;
+ transition: all .2s;
+}
+
+/**选择配色方案 */
+.layuimini-color .color-title {
+ padding: 10px 0 10px 20px;
+ border-bottom: 1px solid #d9dada;
+ margin-bottom: 8px;
+}
+
+.layuimini-color .color-content {
+ padding: 10px 5px 0 5px;
+}
+
+.layuimini-color .color-content ul {
+ list-style: none;
+ text-align: center;
+}
+
+.layuimini-color .color-content ul li {
+ position: relative;
+ display: inline-block;
+ vertical-align: top;
+ width: 80px;
+ height: 50px;
+ margin: 0 15px 15px 0;
+ padding: 2px 2px 4px 2px;
+ background-color: #f2f2f2;
+ cursor: pointer;
+ font-size: 12px;
+ color: #666;
+}
+
+.layuimini-color .color-content li.layui-this:after, .layuimini-color .color-content li:hover:after {
+ width: 100%;
+ height: 100%;
+ padding: 4px;
+ top: -5px;
+ left: -5px;
+ border-color: #d8d8d8;
+ opacity: 1;
+}
+
+.layuimini-color .color-content li:after {
+ content: '';
+ position: absolute;
+ z-index: 20;
+ top: 50%;
+ left: 50%;
+ width: 1px;
+ height: 0;
+ border: 1px solid #f2f2f2;
+ transition: all .3s;
+ -webkit-transition: all .3s;
+ opacity: 0;
+}
+
+
+/**其它 */
+.layui-tab-item {
+ width: 100% !important;
+ height: 100% !important;
+}
+
+.layui-nav-item.layui-this {
+ background-color: #1b1d21;
+}
+
+.layui-width-height {
+ width: 100%;
+ height: 95%;
+}
+
+.layui-tab {
+ margin: 0 0 0 0;
+ z-index: 99999;
+}
+
+.text-center {
+ height: 30px !important;
+ line-height: 30px !important;
+ text-align: center !important;
+}
+
+.layui-nav {
+ padding: 0 !important;
+}
+
+.layui-nav .layui-this:after, .layui-nav-bar, .layui-nav-tree .layui-nav-itemed:after {
+ width: 0 !important;
+ height: 0 !important;
+}
+
+.layui-layout-admin .layui-side {
+ top: 60px !important;
+}
+
+.layui-tab-card {
+ box-shadow: 0px 0px 0px #888888;
+ border-bottom: 0;
+}
+
+
+/**自定义滚动条样式 */
+::-webkit-scrollbar {
+ display: none
+}
+
+
+/*移动端遮罩层*/
+.layuimini-make {
+ position: fixed;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ top: 0;
+ z-index: 1000;
+ background: rgba(0, 0, 0, .5);
+ display: none;
+}
+
+.layuimini-mini .layui-header {
+ z-index: 1001;
+}
+
+/**初始化加载层*/
+.layuimini-loader {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-color: #ffffff;
+ z-index: 999999;
+}
+
+.layuimini-loader .layuimini-loader-inner {
+ display: block;
+ position: relative;
+ left: 50%;
+ top: 50%;
+ width: 150px;
+ height: 150px;
+ margin: -75px 0 0 -75px;
+ border-radius: 50%;
+ border: 3px solid transparent;
+ border-top-color: #1E9FFF;
+ animation: spin 2s linear infinite;
+}
+
+.layuimini-loader .layuimini-loader-inner:before {
+ content: "";
+ position: absolute;
+ top: 5px;
+ left: 5px;
+ right: 5px;
+ bottom: 5px;
+ border-radius: 50%;
+ border: 3px solid transparent;
+ border-top-color: #1E9FFF;
+ animation: spin 3s linear infinite;
+}
+
+.layuimini-loader .layuimini-loader-inner:after {
+ content: "";
+ position: absolute;
+ top: 15px;
+ left: 15px;
+ right: 15px;
+ bottom: 15px;
+ border-radius: 50%;
+ border: 3px solid transparent;
+ border-top-color: #1E9FFF;
+ animation: spin 1.5s linear infinite;
+}
+
+@keyframes spin {
+ 0% {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(1turn);
+ }
+}
+
+/*系统设置*/
+
+.layuimini-color .layui-word-aux {
+ position: absolute;
+ left: 60px;
+ top: 12px;
+ font-size: 12px;
+}
+
+.layuimini-color .layui-input-block {
+ margin-left: 15px;
+ min-height: 36px;
+}
+
+.layuimini-color .more-menu-list {
+ width: 100%;
+ margin-top: 30px;
+}
+
+
+.layuimini-color .more-menu-item:first-child {
+ border-top: 1px solid #e8e8e8;
+}
+
+.layuimini-color .more-menu-item .layui-icon {
+ font-size: 18px;
+ padding-right: 10px;
+}
+
+.layuimini-color .more-menu-item {
+ color: #595959;
+ height: 50px;
+ line-height: 50px;
+ font-size: 16px;
+ padding: 0 25px;
+ border-bottom: 1px solid #e8e8e8;
+ font-style: normal;
+ display: block;
+}
+
+.layuimini-color .more-menu-item:hover {
+ background-color: whitesmoke;
+}
+
+.layuimini-color .more-menu-item:after {
+ color: #8c8c8c;
+ right: 16px;
+ content: "\e602";
+ position: absolute;
+ font-family: layui-icon !important;
+}
+
+/**
+鼠标右键
+ */
+.layuimini-tab-mousedown {
+ display: none;
+ width: 80px;
+ position: absolute;
+ top: 0px !important;
+ left: 0px !important;
+}
+
+.layuimini-tab-mousedown dd a {
+ padding: 0 15px;
+ color: #484545;
+}
+
+.layuimini-tab-make{
+ position: absolute;
+ top: 36px;
+ bottom: 0px;
+ width: 100%;
+ background: rgb(255, 255, 255,0);
+ padding: 0px;
+ overflow: hidden;
+}
+
+/**
+菜单缩放
+ */
+.popup-tips .layui-layer-TipsG{
+ display: none;
+}
+.popup-tips.layui-layer-tips .layui-layer-content{
+ padding: 0;
+}
+.popup-tips .layui-nav-tree{
+ width: 150px;
+ border-radius: 10px;
+}
+
+/**左侧菜单字体间距*/
+.layuimini-menu-left .layui-nav-item a span {
+ letter-spacing: 1px;
+}
+
+/**头部菜单字体间距*/
+.layui-layout-admin .layui-header .layuimini-header-menu.layuimini-pc-show,.layui-layout-admin .layui-header .layuimini-header-menu.layuimini-mobile-show {
+ letter-spacing: 1px;
+}
+
+
+/**左侧菜单更多下拉样式*/
+.layuimini-menu-left .layui-nav-more,.layuimini-menu-left-zoom .layui-nav-more {
+ font-family: layui-icon !important;
+ font-size: 12px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ overflow: hidden;
+ width: auto;
+ height: auto;
+ line-height: normal;
+ border: none;
+ display: inline-block;
+ margin-top: -6px !important;
+}
+
+.layuimini-menu-left .layui-nav-child .layui-nav-more {
+ margin-top: -6px !important;
+}
+
+.layuimini-menu-left .layui-nav .layui-nav-mored,.layuimini-menu-left .layui-nav-itemed>a .layui-nav-more{
+ margin-top: -9px!important;
+}
+
+.layuimini-menu-left-zoom.layui-nav .layui-nav-mored,.layuimini-menu-left-zoom.layui-nav-itemed>a .layui-nav-more{
+ margin-top: -9px!important;
+}
+
+.layuimini-menu-left .layui-nav-more:before,.layuimini-menu-left-zoom .layui-nav-more:before {
+ content: "\e61a";
+}
+.layuimini-menu-left .layui-nav-itemed > a > .layui-nav-more,.layuimini-menu-left-zoom .layui-nav-itemed > a > .layui-nav-more {
+ transform: rotate(180deg);
+ -ms-transform: rotate(180deg);
+ -moz-transform: rotate(180deg);
+ -webkit-transform: rotate(180deg);
+ -o-transform: rotate(180deg);
+ width: 12px;
+ text-align: center;
+ border-style:none;
+}
+
+.layuimini-menu-left .layui-nav-itemed > a > .layui-nav-more:before,.layuimini-menu-left-zoom .layui-nav-itemed > a > .layui-nav-more:before {
+ content: '\e61a';
+ background-color: transparent;
+ display: inline-block;
+ vertical-align: middle;
+}
+
+/**修复左侧菜单字体不对齐的问题*/
+.layuimini-menu-left .layui-nav-item a .fa,.layuimini-menu-left .layui-nav-item a .layui-icon{
+ width: 20px;
+}
+
+
+/**
+ PC版样式
+ */
+@media screen and (min-width: 1025px) {
+ /**头部样式(缩放) */
+ .layuimini-mini .layui-layout-left.layuimini-header-menu.layuimini-pc-show {
+ left: 155px !important;
+ }
+
+ /**logo演示(缩放) */
+ .layuimini-mini .layui-layout-admin .layuimini-logo {
+ width: 60px !important;
+ }
+
+ .layuimini-mini .layui-layout-admin .layuimini-logo h1 {
+ display: none;
+ }
+
+ /**左侧菜单栏(缩放) */
+ .layuimini-mini .layuimini-menu-left {
+ width: 80px !important;
+ }
+
+ .layuimini-mini .layui-side.layui-bg-black, .layuimini-mini .layuimini-menu-left > ul, .layuimini-mini .layuimini-menu-left > ul li i {
+ width: 60px !important;
+ }
+
+ .layuimini-mini .layuimini-menu-left > ul li span:first-child {
+ display: none;
+ }
+
+ .layuimini-mini .layuimini-menu-left > ul li span:last-child {
+ float: right;
+ right: 7px;
+ }
+
+ .layuimini-mini .layuimini-menu-left .layui-nav .layui-nav-item a {
+ height: 40px;
+ line-height: 40px;
+ padding-right: 0px !important;
+ }
+
+ /**内容主体(缩放) */
+ .layuimini-mini .layui-layout-admin .layui-body {
+ left: 60px !important;
+ }
+
+ .layuimini-mini .layuimini-tool {
+ left: 95px !important;
+ }
+
+ .layuimini-pc-show{
+ display: block;
+ }
+ .layuimini-mobile-show{
+ display: none;
+ }
+
+ /**菜单缩放*/
+ .layuimini-mini .layuimini-menu-left .layui-nav-more,.layuimini-mini .layuimini-menu-left .layui-nav-child{
+ display: none;!important;
+ }
+}
+
+/**
+ 手机自适应样式
+*/
+@media screen and (max-width: 1024px) {
+
+ /**
+ todo 修复低版本IOS不能滑动问题, 但还是有问题, 低版本IOS部分情况下子页面无法自适应
+ */
+ .layuimini-tab .layui-tab-content .layui-tab-item {
+ -webkit-overflow-scrolling: touch;
+ overflow: scroll;
+ width: 100%;
+ height: 100%;
+ }
+
+ .layuimini-tab .layui-tab-content .layui-tab-item iframe {
+ height: 100%;
+ width: 100%;
+ }
+
+ .layuimini-pc-show{
+ display: none;
+ }
+ .layuimini-mobile-show{
+ display: block;
+ }
+ .layuimini-header-content {
+ left: 0;
+ }
+
+ .layui-layout-admin .layui-body .layui-tab-item.layui-show {
+ border-top: 1px solid #e2e2e2;
+ }
+
+ .layuimini-all .layui-layout-left.layuimini-header-menu {
+ left: 15px !important
+ }
+
+ .layuimini-mini .layui-layout-left.layuimini-header-menu {
+ left: 205px !important
+ }
+
+ .layui-layout-admin .layui-nav.layui-layout-right > li:not(.layuimini-setting) {
+ width: 40px !important;
+ }
+
+ .layui-layout-admin .layui-nav.layui-layout-right > li:not(.layuimini-setting) a {
+ padding: 0 15px;
+ }
+
+ .layuimini-all .layui-layout-admin .layui-body {
+ left: 0px !important;
+ }
+
+ .layuimini-mini .layui-layout-admin .layuimini-menu-left, .layuimini-mini .layui-header .layuimini-logo {
+ left: 0;
+ transition: left .2s;
+ z-index: 1001 !important;
+ }
+
+ .layuimini-all .layui-layout-admin .layuimini-menu-left, .layuimini-all .layui-header .layuimini-logo {
+ left: -200px;
+ transition: left .2s;
+ top: 0;
+ z-index: 1002;
+ }
+
+ .layuimini-mini .layui-layout-admin .layui-body {
+ left: 0!important;
+ transition: left .2s;
+ top: 0;
+ z-index: 998;
+ }
+
+ .layuimini-mini .layuimini-make {
+ display: block;
+ }
+
+ .layuimini-multi-module .layuimini-header-content .layuimini-tool {
+ display: none;
+ }
+
+ .layuimini-single-module .layuimini-header-content .layuimini-tool {
+ left: 15px;
+ }
+
+ .layuimini-mini .layuimini-site-mobile {
+ display: none !important;
+ }
+
+ .layuimini-site-mobile {
+ display: block !important;
+ position: fixed;
+ z-index: 100000;
+ bottom: 15px;
+ left: 15px;
+ width: 40px;
+ height: 40px;
+ line-height: 40px;
+ border-radius: 2px;
+ text-align: center;
+ background-color: rgba(0, 0, 0, .7);
+ color: #fff;
+ }
+
+ .layuimini-header-content {
+ z-index: 997;
+ }
+
+ /*修复UC之类的浏览器点击无效*/
+ .layuimini-make {
+ cursor: pointer;
+ }
+
+ .layuimini-site-mobile {
+ cursor: pointer;
+ }
+}
+
+@media screen and (max-width: 550px){
+
+ /**头部右侧数据*/
+ .layuimini-multi-module.layuimini-mini .layuimini-header-content .layui-layout-right {
+ display: none;
+ }
+}
diff --git a/static/css/public.css b/static/css/public.css
new file mode 100644
index 0000000..243917d
--- /dev/null
+++ b/static/css/public.css
@@ -0,0 +1,70 @@
+body {
+ margin: 15px 15px 15px 15px;
+ background: #f2f2f2;
+}
+
+.layuimini-container {
+ border: 1px solid #f2f2f2;
+ border-radius: 5px;
+ background-color: #ffffff
+}
+
+.layuimini-main {
+ margin: 10px 10px 10px 10px;
+}
+
+/**必填红点 */
+.layuimini-form > .layui-form-item > .required:after {
+ content: '*';
+ color: red;
+ position: absolute;
+ margin-left: 4px;
+ font-weight: bold;
+ line-height: 1.8em;
+ top: 6px;
+ right: 5px;
+}
+
+.layuimini-form > .layui-form-item > .layui-form-label {
+ width: 120px !important;
+}
+
+.layuimini-form > .layui-form-item > .layui-input-block {
+ margin-left: 150px !important;
+}
+
+.layuimini-form > .layui-form-item > .layui-input-block > tip {
+ display: inline-block;
+ margin-top: 10px;
+ line-height: 10px;
+ font-size: 10px;
+ color: #a29c9c;
+}
+
+/**搜索框*/
+.layuimini-container .table-search-fieldset {
+ margin: 0;
+ border: 1px solid #e6e6e6;
+ padding: 10px 20px 5px 20px;
+ color: #6b6b6b;
+}
+
+/**自定义滚动条样式 */
+::-webkit-scrollbar {
+ width: 6px;
+ height: 6px
+}
+
+::-webkit-scrollbar-track {
+ background-color: transparent;
+ -webkit-border-radius: 2em;
+ -moz-border-radius: 2em;
+ border-radius: 2em;
+}
+
+::-webkit-scrollbar-thumb {
+ background-color: #9c9da0;
+ -webkit-border-radius: 2em;
+ -moz-border-radius: 2em;
+ border-radius: 2em
+}
diff --git a/static/css/themes/default.css b/static/css/themes/default.css
new file mode 100644
index 0000000..4f3cefb
--- /dev/null
+++ b/static/css/themes/default.css
@@ -0,0 +1,95 @@
+/*头部右侧背景色 headerRightBg */
+.layui-layout-admin .layui-header {
+ background-color: #ffffff !important;
+}
+
+/*头部右侧选中背景色 headerRightBgThis */
+.layui-layout-admin .layui-header .layuimini-header-content > ul > .layui-nav-item.layui-this, .layuimini-tool i:hover {
+ background-color: #e4e4e4 !important;
+}
+
+/*头部右侧字体颜色 headerRightColor */
+.layui-layout-admin .layui-header .layui-nav .layui-nav-item a {
+ color: rgba(107, 107, 107, 0.7);
+}
+
+/**头部右侧下拉字体颜色 headerRightChildColor */
+.layui-layout-admin .layui-header .layui-nav .layui-nav-item .layui-nav-child a {
+ color: rgba(107, 107, 107, 0.7) !important;
+}
+
+/*头部右侧鼠标选中 headerRightColorThis */
+.layui-header .layuimini-menu-header-pc.layui-nav .layui-nav-item a:hover, .layui-header .layuimini-header-menu.layuimini-pc-show.layui-nav .layui-this a {
+ color: #565656 !important;
+}
+
+/*头部右侧更多下拉颜色 headerRightNavMore */
+.layui-header .layui-nav .layui-nav-more {
+ border-top-color: rgba(160, 160, 160, 0.7) !important;
+}
+
+/*头部右侧更多下拉颜色 headerRightNavMore */
+.layui-header .layui-nav .layui-nav-mored, .layui-header .layui-nav-itemed > a .layui-nav-more {
+ border-color: transparent transparent rgba(160, 160, 160, 0.7) !important;
+}
+
+/**头部右侧更多下拉配置色 headerRightNavMoreBg headerRightNavMoreColor */
+.layui-header .layui-nav .layui-nav-child dd.layui-this a, .layui-header .layui-nav-child dd.layui-this, .layui-layout-admin .layui-header .layui-nav .layui-nav-item .layui-nav-child .layui-this a {
+ background-color: #1E9FFF !important;
+ color: #ffffff !important;
+}
+
+/*头部缩放按钮样式 headerRightToolColor */
+.layui-layout-admin .layui-header .layuimini-tool i {
+ color: #565656;
+}
+
+/*logo背景颜色 headerLogoBg */
+.layui-layout-admin .layuimini-logo {
+ background-color: #192027 !important;
+}
+
+/*logo字体颜色 headerLogoColor */
+.layui-layout-admin .layuimini-logo h1 {
+ color: rgb(191, 187, 187);
+}
+
+/*左侧菜单更多下拉样式 leftMenuNavMore */
+.layuimini-menu-left .layui-nav .layui-nav-more, .layuimini-menu-left-zoom.layui-nav .layui-nav-more {
+ border-top-color: rgb(191, 187, 187);
+}
+
+/*左侧菜单更多下拉样式 leftMenuNavMore */
+.layuimini-menu-left .layui-nav .layui-nav-mored, .layuimini-menu-left .layui-nav-itemed > a .layui-nav-more, .layuimini-menu-left-zoom.layui-nav .layui-nav-mored, .layuimini-menu-left-zoom.layui-nav-itemed > a .layui-nav-more {
+ border-color: transparent transparent rgb(191, 187, 187) !important;
+}
+
+/*左侧菜单背景 leftMenuBg */
+.layui-side.layui-bg-black, .layui-side.layui-bg-black > .layuimini-menu-left > ul, .layuimini-menu-left-zoom > ul {
+ background-color: #28333E !important;
+}
+
+/*左侧菜单选中背景 leftMenuBgThis */
+.layuimini-menu-left .layui-nav-tree .layui-this, .layuimini-menu-left .layui-nav-tree .layui-this > a, .layuimini-menu-left .layui-nav-tree .layui-nav-child dd.layui-this, .layuimini-menu-left .layui-nav-tree .layui-nav-child dd.layui-this a, .layuimini-menu-left-zoom.layui-nav-tree .layui-this, .layuimini-menu-left-zoom.layui-nav-tree .layui-this > a, .layuimini-menu-left-zoom.layui-nav-tree .layui-nav-child dd.layui-this, .layuimini-menu-left-zoom.layui-nav-tree .layui-nav-child dd.layui-this a {
+ background-color: #1E9FFF !important
+}
+
+/*左侧菜单子菜单背景 leftMenuChildBg */
+.layuimini-menu-left .layui-nav-itemed > .layui-nav-child {
+ background-color: #0c0f13 !important;
+}
+
+/*左侧菜单字体颜色 leftMenuColor */
+.layuimini-menu-left .layui-nav .layui-nav-item a, .layuimini-menu-left-zoom.layui-nav .layui-nav-item a {
+ color: rgb(191, 187, 187) !important;
+}
+
+/*左侧菜单选中字体颜色 leftMenuColorThis */
+.layuimini-menu-left .layui-nav .layui-nav-item a:hover, .layuimini-menu-left .layui-nav .layui-this a, .layuimini-menu-left-zoom.layui-nav .layui-nav-item a:hover, .layuimini-menu-left-zoom.layui-nav .layui-this a {
+ color: #ffffff !important;
+}
+
+/**tab选项卡选中颜色 tabActiveColor */
+.layuimini-tab .layui-tab-title .layui-this .layuimini-tab-active {
+ background-color: #1e9fff;
+}
diff --git a/static/images/bg.jpg b/static/images/bg.jpg
new file mode 100644
index 0000000..d5870f5
Binary files /dev/null and b/static/images/bg.jpg differ
diff --git a/static/images/captcha.jpg b/static/images/captcha.jpg
new file mode 100644
index 0000000..92b2a33
Binary files /dev/null and b/static/images/captcha.jpg differ
diff --git a/static/images/donate_qrcode.png b/static/images/donate_qrcode.png
new file mode 100644
index 0000000..079ac3d
Binary files /dev/null and b/static/images/donate_qrcode.png differ
diff --git a/static/images/favicon.ico b/static/images/favicon.ico
new file mode 100644
index 0000000..950f726
Binary files /dev/null and b/static/images/favicon.ico differ
diff --git a/static/images/home.png b/static/images/home.png
new file mode 100644
index 0000000..348ff27
Binary files /dev/null and b/static/images/home.png differ
diff --git a/static/images/icon-login.png b/static/images/icon-login.png
new file mode 100644
index 0000000..1db2f96
Binary files /dev/null and b/static/images/icon-login.png differ
diff --git a/static/images/loginbg.png b/static/images/loginbg.png
new file mode 100644
index 0000000..675c74b
Binary files /dev/null and b/static/images/loginbg.png differ
diff --git a/static/images/logo.png b/static/images/logo.png
new file mode 100644
index 0000000..c3e107d
Binary files /dev/null and b/static/images/logo.png differ
diff --git a/static/img/12319rexian.png b/static/img/12319rexian.png
new file mode 100644
index 0000000..d0966e9
Binary files /dev/null and b/static/img/12319rexian.png differ
diff --git a/static/img/Homebodybg.png b/static/img/Homebodybg.png
new file mode 100644
index 0000000..65fec99
Binary files /dev/null and b/static/img/Homebodybg.png differ
diff --git a/static/img/Hometitlebg.png b/static/img/Hometitlebg.png
new file mode 100644
index 0000000..6fefe97
Binary files /dev/null and b/static/img/Hometitlebg.png differ
diff --git a/static/img/aroundeffect.png b/static/img/aroundeffect.png
new file mode 100644
index 0000000..ba95601
Binary files /dev/null and b/static/img/aroundeffect.png differ
diff --git a/static/img/baixingpaiAPP.png b/static/img/baixingpaiAPP.png
new file mode 100644
index 0000000..ddd3675
Binary files /dev/null and b/static/img/baixingpaiAPP.png differ
diff --git a/static/img/chain_bg.png b/static/img/chain_bg.png
new file mode 100644
index 0000000..5c60628
Binary files /dev/null and b/static/img/chain_bg.png differ
diff --git a/static/img/fltleftbg.png b/static/img/fltleftbg.png
new file mode 100644
index 0000000..1d6814e
Binary files /dev/null and b/static/img/fltleftbg.png differ
diff --git a/static/img/fltrightbg.png b/static/img/fltrightbg.png
new file mode 100644
index 0000000..33372b6
Binary files /dev/null and b/static/img/fltrightbg.png differ
diff --git a/static/img/linght_ef.png b/static/img/linght_ef.png
new file mode 100644
index 0000000..b497001
Binary files /dev/null and b/static/img/linght_ef.png differ
diff --git a/static/img/maindataeffect.png b/static/img/maindataeffect.png
new file mode 100644
index 0000000..968f1b3
Binary files /dev/null and b/static/img/maindataeffect.png differ
diff --git a/static/img/maindataicon.png b/static/img/maindataicon.png
new file mode 100644
index 0000000..f914054
Binary files /dev/null and b/static/img/maindataicon.png differ
diff --git a/static/img/maindataspecialeffect.png b/static/img/maindataspecialeffect.png
new file mode 100644
index 0000000..4eae3f5
Binary files /dev/null and b/static/img/maindataspecialeffect.png differ
diff --git a/static/img/popupboxclosebtn01.png b/static/img/popupboxclosebtn01.png
new file mode 100644
index 0000000..8576867
Binary files /dev/null and b/static/img/popupboxclosebtn01.png differ
diff --git a/static/img/popupboxclosebtn02.png b/static/img/popupboxclosebtn02.png
new file mode 100644
index 0000000..8a471e9
Binary files /dev/null and b/static/img/popupboxclosebtn02.png differ
diff --git a/static/img/xingzhengshenpi.png b/static/img/xingzhengshenpi.png
new file mode 100644
index 0000000..70363f4
Binary files /dev/null and b/static/img/xingzhengshenpi.png differ
diff --git a/static/img/zhatuyunshu.png b/static/img/zhatuyunshu.png
new file mode 100644
index 0000000..39b1106
Binary files /dev/null and b/static/img/zhatuyunshu.png differ
diff --git a/static/img/zonghezhifa.png b/static/img/zonghezhifa.png
new file mode 100644
index 0000000..22366b4
Binary files /dev/null and b/static/img/zonghezhifa.png differ
diff --git a/static/js/ProgressBarWars.js b/static/js/ProgressBarWars.js
new file mode 100644
index 0000000..bd5f0b2
--- /dev/null
+++ b/static/js/ProgressBarWars.js
@@ -0,0 +1,422 @@
+$.fn.extend({
+ ProgressBarWars: function(a) {
+ var b = this;
+ var e = $(b).attr("id");
+ var d = Date.now();
+ var c = "";
+ defaults = {
+ porcentaje: "100",
+ tiempo: 1000,
+ color: "",
+ estilo: "yoda",
+ tamanio: "30%",
+ alto: "6px"
+ };
+ var a = $.extend({}, defaults, a);
+ if (a.color != "") {
+ c = "";
+ a.estilo = "color" + d
+ }
+ $(b).before(c);
+ if (a.flag) {
+ $(b).append('
{b} : {c}",
+ showDelay: 20,
+ hideDelay: 100,
+ transitionDuration: 0.4,
+ enterable: !1,
+ backgroundColor: "rgba(0,0,0,0.7)",
+ borderColor: "#333",
+ borderRadius: 4,
+ borderWidth: 0,
+ padding: 5,
+ axisPointer: {
+ type: "line",
+ lineStyle: {
+ color: "#48b",
+ width: 2,
+ type: "solid"
+ },
+ crossStyle: {
+ color: "#1e90ff",
+ width: 1,
+ type: "dashed"
+ },
+ shadowStyle: {
+ color: "rgba(150,150,150,0.3)",
+ width: "auto",
+ type: "default"
+ }
+ },
+ textStyle: {
+ color: "#fff"
+ }
+ };
+ var x = u("../util/ecData"),
+ v = u("zrender/config"),
+ y = u("zrender/tool/event"),
+ G = u("zrender/tool/area"),
+ F = u("zrender/tool/color"),
+ q = u("zrender/tool/util"),
+ B = u("zrender/shape/Base");
+ return E.prototype = {
+ type: D.COMPONENT_TYPE_TOOLTIP,
+ _gCssText: "position:absolute;display:block;border-style:solid;white-space:nowrap;",
+ _style: function(m) {
+ if (!m) {
+ return ""
+ }
+ var r = [];
+ if (m.transitionDuration) {
+ var o = "left " + m.transitionDuration + "s,top " + m.transitionDuration + "s";
+ r.push("transition:" + o), r.push("-moz-transition:" + o), r.push("-webkit-transition:" + o), r.push("-o-transition:" + o)
+ }
+ m.backgroundColor && (r.push("background-Color:" + F.toHex(m.backgroundColor)), r.push("filter:alpha(opacity=70)"), r.push("background-Color:" + m.backgroundColor)), null != m.borderWidth && r.push("border-width:" + m.borderWidth + "px"), null != m.borderColor && r.push("border-color:" + m.borderColor), null != m.borderRadius && (r.push("border-radius:" + m.borderRadius + "px"), r.push("-moz-border-radius:" + m.borderRadius + "px"), r.push("-webkit-border-radius:" + m.borderRadius + "px"), r.push("-o-border-radius:" + m.borderRadius + "px"));
+ var p = m.textStyle;
+ p && (p.color && r.push("color:" + p.color), p.decoration && r.push("text-decoration:" + p.decoration), p.align && r.push("text-align:" + p.align), p.fontFamily && r.push("font-family:" + p.fontFamily), p.fontSize && r.push("font-size:" + p.fontSize + "px"), p.fontSize && r.push("line-height:" + Math.round(3 * p.fontSize / 2) + "px"), p.fontStyle && r.push("font-style:" + p.fontStyle), p.fontWeight && r.push("font-weight:" + p.fontWeight));
+ var l = m.padding;
+ return null != l && (l = this.reformCssArray(l), r.push("padding:" + l[0] + "px " + l[1] + "px " + l[2] + "px " + l[3] + "px")), r = r.join(";") + ";"
+ },
+ __hide: function() {
+ this._lastDataIndex = -1, this._lastSeriesIndex = -1, this._lastItemTriggerId = -1, this._tDom && (this._tDom.style.display = "none");
+ var a = !1;
+ this._axisLineShape.invisible || (this._axisLineShape.invisible = !0, this.zr.modShape(this._axisLineShape.id), a = !0), this._axisShadowShape.invisible || (this._axisShadowShape.invisible = !0, this.zr.modShape(this._axisShadowShape.id), a = !0), this._axisCrossShape.invisible || (this._axisCrossShape.invisible = !0, this.zr.modShape(this._axisCrossShape.id), a = !0), this._lastTipShape && this._lastTipShape.tipShape.length > 0 && (this.zr.delShape(this._lastTipShape.tipShape), this._lastTipShape = !1, this.shapeList.length = 2), a && this.zr.refreshNextFrame(), this.showing = !1
+ },
+ _show: function(m, H, p, r) {
+ var l = this._tDom.offsetHeight,
+ s = this._tDom.offsetWidth;
+ m && ("function" == typeof m && (m = m([H, p])), m instanceof Array && (H = m[0], p = m[1])), H + s > this._zrWidth && (H -= s + 40), p + l > this._zrHeight && (p -= l - 20), 20 > p && (p = 0), this._tDom.style.cssText = this._gCssText + this._defaultCssText + (r ? r : "") + "left:" + H + "px;top:" + p + "px;", (10 > l || 10 > s) && setTimeout(this._refixed, 20), this.showing = !0
+ },
+ __refixed: function() {
+ if (this._tDom) {
+ var a = "",
+ m = this._tDom.offsetHeight,
+ l = this._tDom.offsetWidth;
+ this._tDom.offsetLeft + l > this._zrWidth && (a += "left:" + (this._zrWidth - l - 20) + "px;"), this._tDom.offsetTop + m > this._zrHeight && (a += "top:" + (this._zrHeight - m - 10) + "px;"), "" !== a && (this._tDom.style.cssText += a)
+ }
+ },
+ __tryShow: function() {
+ var a, o;
+ if (this._curTarget) {
+ if ("island" === this._curTarget._type && this.option.tooltip.show) {
+ return void this._showItemTrigger()
+ }
+ var l = x.get(this._curTarget, "series"),
+ m = x.get(this._curTarget, "data");
+ a = this.deepQuery([m, l, this.option], "tooltip.show"), null != l && null != m && a ? (o = this.deepQuery([m, l, this.option], "tooltip.trigger"), "axis" === o ? this._showAxisTrigger(l.xAxisIndex, l.yAxisIndex, x.get(this._curTarget, "dataIndex")) : this._showItemTrigger()) : (clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), this._hidingTicket = setTimeout(this._hide, this._hideDelay))
+ } else {
+ this._findPolarTrigger() || this._findAxisTrigger()
+ }
+ },
+ _findAxisTrigger: function() {
+ if (!this.component.xAxis || !this.component.yAxis) {
+ return void(this._hidingTicket = setTimeout(this._hide, this._hideDelay))
+ }
+ for (var m, r, o = this.option.series, p = 0, l = o.length; l > p; p++) {
+ if ("axis" === this.deepQuery([o[p], this.option], "tooltip.trigger")) {
+ return m = o[p].xAxisIndex || 0, r = o[p].yAxisIndex || 0, this.component.xAxis.getAxis(m) && this.component.xAxis.getAxis(m).type === D.COMPONENT_TYPE_AXIS_CATEGORY ? void this._showAxisTrigger(m, r, this._getNearestDataIndex("x", this.component.xAxis.getAxis(m))) : this.component.yAxis.getAxis(r) && this.component.yAxis.getAxis(r).type === D.COMPONENT_TYPE_AXIS_CATEGORY ? void this._showAxisTrigger(m, r, this._getNearestDataIndex("y", this.component.yAxis.getAxis(r))) : void this._showAxisTrigger(m, r, -1)
+ }
+ }
+ "cross" === this.option.tooltip.axisPointer.type && this._showAxisTrigger(-1, -1, -1)
+ },
+ _findPolarTrigger: function() {
+ if (!this.component.polar) {
+ return !1
+ }
+ var a, o = y.getX(this._event),
+ l = y.getY(this._event),
+ m = this.component.polar.getNearestIndex([o, l]);
+ return m ? (a = m.valueIndex, m = m.polarIndex) : m = -1, -1 != m ? this._showPolarTrigger(m, a) : !1
+ },
+ _getNearestDataIndex: function(p, O) {
+ var I = -1,
+ K = y.getX(this._event),
+ m = y.getY(this._event);
+ if ("x" === p) {
+ for (var L, M, N = this.component.grid.getXend(), J = O.getCoordByIndex(I); N > J && (M = J, K >= J);) {
+ L = J, J = O.getCoordByIndex(++I)
+ }
+ return 0 >= I ? I = 0 : M - K >= K - L ? I -= 1 : null == O.getNameByIndex(I) && (I -= 1), I
+ }
+ for (var H, Q, P = this.component.grid.getY(), J = O.getCoordByIndex(I); J > P && (H = J, J >= m);) {
+ Q = J, J = O.getCoordByIndex(++I)
+ }
+ return 0 >= I ? I = 0 : m - H >= Q - m ? I -= 1 : null == O.getNameByIndex(I) && (I -= 1), I
+ },
+ _showAxisTrigger: function(J, W, N) {
+ if (!this._event.connectTrigger && this.messageCenter.dispatch(D.EVENT.TOOLTIP_IN_GRID, this._event, null, this.myChart), null == this.component.xAxis || null == this.component.yAxis || null == J || null == W) {
+ return clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), void(this._hidingTicket = setTimeout(this._hide, this._hideDelay))
+ }
+ var Q, m, R, T, P = this.option.series,
+ M = [],
+ Z = [],
+ Y = "";
+ if ("axis" === this.option.tooltip.trigger) {
+ if (!this.option.tooltip.show) {
+ return
+ }
+ m = this.option.tooltip.formatter, R = this.option.tooltip.position
+ }
+ var I, S, H = -1 != J && this.component.xAxis.getAxis(J).type === D.COMPONENT_TYPE_AXIS_CATEGORY ? "xAxis" : -1 != W && this.component.yAxis.getAxis(W).type === D.COMPONENT_TYPE_AXIS_CATEGORY ? "yAxis" : !1;
+ if (H) {
+ var X = "xAxis" == H ? J : W;
+ Q = this.component[H].getAxis(X);
+ for (var ab = 0, L = P.length; L > ab; ab++) {
+ this._isSelected(P[ab].name) && P[ab][H + "Index"] === X && "axis" === this.deepQuery([P[ab], this.option], "tooltip.trigger") && (T = this.query(P[ab], "tooltip.showContent") || T, m = this.query(P[ab], "tooltip.formatter") || m, R = this.query(P[ab], "tooltip.position") || R, Y += this._style(this.query(P[ab], "tooltip")), null != P[ab].stack && "xAxis" == H ? (M.unshift(P[ab]), Z.unshift(ab)) : (M.push(P[ab]), Z.push(ab)))
+ }
+ this.messageCenter.dispatch(D.EVENT.TOOLTIP_HOVER, this._event, {
+ seriesIndex: Z,
+ dataIndex: N
+ }, this.myChart);
+ var s;
+ "xAxis" == H ? (I = this.subPixelOptimize(Q.getCoordByIndex(N), this._axisLineWidth), S = y.getY(this._event), s = [I, this.component.grid.getY(), I, this.component.grid.getYend()]) : (I = y.getX(this._event), S = this.subPixelOptimize(Q.getCoordByIndex(N), this._axisLineWidth), s = [this.component.grid.getX(), S, this.component.grid.getXend(), S]), this._styleAxisPointer(M, s[0], s[1], s[2], s[3], Q.getGap(), I, S)
+ } else {
+ I = y.getX(this._event), S = y.getY(this._event), this._styleAxisPointer(P, this.component.grid.getX(), S, this.component.grid.getXend(), S, 0, I, S), N >= 0 ? this._showItemTrigger(!0) : (clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), this._tDom.style.display = "none")
+ }
+ if (M.length > 0) {
+ if (this._lastItemTriggerId = -1, this._lastDataIndex != N || this._lastSeriesIndex != Z[0]) {
+ this._lastDataIndex = N, this._lastSeriesIndex = Z[0];
+ var K, O;
+ if ("function" == typeof m) {
+ for (var aa = [], ab = 0, L = M.length; L > ab; ab++) {
+ K = M[ab].data[N], O = this.getDataFromOption(K, "-"), aa.push({
+ seriesIndex: Z[ab],
+ seriesName: M[ab].name || "",
+ series: M[ab],
+ dataIndex: N,
+ data: K,
+ name: Q.getNameByIndex(N),
+ value: O,
+ 0: M[ab].name || "",
+ 1: Q.getNameByIndex(N),
+ 2: O,
+ 3: K
+ })
+ }
+ this._curTicket = "axis:" + N, this._tDom.innerHTML = m.call(this.myChart, aa, this._curTicket, this._setContent)
+ } else {
+ if ("string" == typeof m) {
+ this._curTicket = 0 / 0, m = m.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}");
+ for (var ab = 0, L = M.length; L > ab; ab++) {
+ m = m.replace("{a" + ab + "}", this._encodeHTML(M[ab].name || "")), m = m.replace("{b" + ab + "}", this._encodeHTML(Q.getNameByIndex(N))), K = M[ab].data[N], K = this.getDataFromOption(K, "-"), m = m.replace("{c" + ab + "}", K instanceof Array ? K : this.numAddCommas(K))
+ }
+ this._tDom.innerHTML = m
+ } else {
+ this._curTicket = 0 / 0, m = this._encodeHTML(Q.getNameByIndex(N));
+ for (var ab = 0, L = M.length; L > ab; ab++) {
+ m += "
" + this._encodeHTML(M[ab].name || "") + " : ", K = M[ab].data[N], K = this.getDataFromOption(K, "-"), m += K instanceof Array ? K : this.numAddCommas(K)
+ }
+ this._tDom.innerHTML = m
+ }
+ }
+ }
+ if (T === !1 || !this.option.tooltip.showContent) {
+ return
+ }
+ this.hasAppend || (this._tDom.style.left = this._zrWidth / 2 + "px", this._tDom.style.top = this._zrHeight / 2 + "px", this.dom.firstChild.appendChild(this._tDom), this.hasAppend = !0), this._show(R, I + 10, S + 10, Y)
+ }
+ },
+ _showPolarTrigger: function(J, T) {
+ if (null == this.component.polar || null == J || null == T || 0 > T) {
+ return !1
+ }
+ var M, O, m, P = this.option.series,
+ R = [],
+ S = [],
+ N = "";
+ if ("axis" === this.option.tooltip.trigger) {
+ if (!this.option.tooltip.show) {
+ return !1
+ }
+ M = this.option.tooltip.formatter, O = this.option.tooltip.position
+ }
+ for (var L = this.option.polar[J].indicator[T].text, Y = 0, X = P.length; X > Y; Y++) {
+ this._isSelected(P[Y].name) && P[Y].polarIndex === J && "axis" === this.deepQuery([P[Y], this.option], "tooltip.trigger") && (m = this.query(P[Y], "tooltip.showContent") || m, M = this.query(P[Y], "tooltip.formatter") || M, O = this.query(P[Y], "tooltip.position") || O, N += this._style(this.query(P[Y], "tooltip")), R.push(P[Y]), S.push(Y))
+ }
+ if (R.length > 0) {
+ for (var I, Q, H, W = [], Y = 0, X = R.length; X > Y; Y++) {
+ I = R[Y].data;
+ for (var Z = 0, K = I.length; K > Z; Z++) {
+ Q = I[Z], this._isSelected(Q.name) && (Q = null != Q ? Q : {
+ name: "",
+ value: {
+ dataIndex: "-"
+ }
+ }, H = this.getDataFromOption(Q.value[T]), W.push({
+ seriesIndex: S[Y],
+ seriesName: R[Y].name || "",
+ series: R[Y],
+ dataIndex: T,
+ data: Q,
+ name: Q.name,
+ indicator: L,
+ value: H,
+ 0: R[Y].name || "",
+ 1: Q.name,
+ 2: H,
+ 3: L
+ }))
+ }
+ }
+ if (W.length <= 0) {
+ return
+ }
+ if (this._lastItemTriggerId = -1, this._lastDataIndex != T || this._lastSeriesIndex != S[0]) {
+ if (this._lastDataIndex = T, this._lastSeriesIndex = S[0], "function" == typeof M) {
+ this._curTicket = "axis:" + T, this._tDom.innerHTML = M.call(this.myChart, W, this._curTicket, this._setContent)
+ } else {
+ if ("string" == typeof M) {
+ M = M.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{d}", "{d0}");
+ for (var Y = 0, X = W.length; X > Y; Y++) {
+ M = M.replace("{a" + Y + "}", this._encodeHTML(W[Y].seriesName)), M = M.replace("{b" + Y + "}", this._encodeHTML(W[Y].name)), M = M.replace("{c" + Y + "}", this.numAddCommas(W[Y].value)), M = M.replace("{d" + Y + "}", this._encodeHTML(W[Y].indicator))
+ }
+ this._tDom.innerHTML = M
+ } else {
+ M = this._encodeHTML(W[0].name) + "
" + this._encodeHTML(W[0].indicator) + " : " + this.numAddCommas(W[0].value);
+ for (var Y = 1, X = W.length; X > Y; Y++) {
+ M += "
" + this._encodeHTML(W[Y].name) + "
", M += this._encodeHTML(W[Y].indicator) + " : " + this.numAddCommas(W[Y].value)
+ }
+ this._tDom.innerHTML = M
+ }
+ }
+ }
+ if (m === !1 || !this.option.tooltip.showContent) {
+ return
+ }
+ return this.hasAppend || (this._tDom.style.left = this._zrWidth / 2 + "px", this._tDom.style.top = this._zrHeight / 2 + "px", this.dom.firstChild.appendChild(this._tDom), this.hasAppend = !0), this._show(O, y.getX(this._event), y.getY(this._event), N), !0
+ }
+ },
+ _showItemTrigger: function(I) {
+ if (this._curTarget) {
+ var Q, L, M, l = x.get(this._curTarget, "series"),
+ N = x.get(this._curTarget, "seriesIndex"),
+ P = x.get(this._curTarget, "data"),
+ K = x.get(this._curTarget, "dataIndex"),
+ T = x.get(this._curTarget, "name"),
+ S = x.get(this._curTarget, "value"),
+ H = x.get(this._curTarget, "special"),
+ O = x.get(this._curTarget, "special2"),
+ s = [P, l, this.option],
+ R = "";
+ if ("island" != this._curTarget._type) {
+ var W = I ? "axis" : "item";
+ this.option.tooltip.trigger === W && (Q = this.option.tooltip.formatter, L = this.option.tooltip.position), this.query(l, "tooltip.trigger") === W && (M = this.query(l, "tooltip.showContent") || M, Q = this.query(l, "tooltip.formatter") || Q, L = this.query(l, "tooltip.position") || L, R += this._style(this.query(l, "tooltip"))), M = this.query(P, "tooltip.showContent") || M, Q = this.query(P, "tooltip.formatter") || Q, L = this.query(P, "tooltip.position") || L, R += this._style(this.query(P, "tooltip"))
+ } else {
+ this._lastItemTriggerId = 0 / 0, M = this.deepQuery(s, "tooltip.showContent"), Q = this.deepQuery(s, "tooltip.islandFormatter"), L = this.deepQuery(s, "tooltip.islandPosition")
+ }
+ this._lastDataIndex = -1, this._lastSeriesIndex = -1, this._lastItemTriggerId !== this._curTarget.id && (this._lastItemTriggerId = this._curTarget.id, "function" == typeof Q ? (this._curTicket = (l.name || "") + ":" + K, this._tDom.innerHTML = Q.call(this.myChart, {
+ seriesIndex: N,
+ seriesName: l.name || "",
+ series: l,
+ dataIndex: K,
+ data: P,
+ name: T,
+ value: S,
+ percent: H,
+ indicator: H,
+ value2: O,
+ indicator2: O,
+ 0: l.name || "",
+ 1: T,
+ 2: S,
+ 3: H,
+ 4: O,
+ 5: P,
+ 6: N,
+ 7: K
+ }, this._curTicket, this._setContent)) : "string" == typeof Q ? (this._curTicket = 0 / 0, Q = Q.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}"), Q = Q.replace("{a0}", this._encodeHTML(l.name || "")).replace("{b0}", this._encodeHTML(T)).replace("{c0}", S instanceof Array ? S : this.numAddCommas(S)), Q = Q.replace("{d}", "{d0}").replace("{d0}", H || ""), Q = Q.replace("{e}", "{e0}").replace("{e0}", x.get(this._curTarget, "special2") || ""), this._tDom.innerHTML = Q) : (this._curTicket = 0 / 0, this._tDom.innerHTML = l.type === D.CHART_TYPE_RADAR && H ? this._itemFormatter.radar.call(this, l, T, S, H) : l.type === D.CHART_TYPE_EVENTRIVER ? this._itemFormatter.eventRiver.call(this, l, T, S, P) : "" + (null != l.name ? this._encodeHTML(l.name) + "
" : "") + ("" === T ? "" : this._encodeHTML(T) + " : ") + (S instanceof Array ? S : this.numAddCommas(S))));
+ var J = y.getX(this._event),
+ m = y.getY(this._event);
+ this.deepQuery(s, "tooltip.axisPointer.show") && this.component.grid ? this._styleAxisPointer([l], this.component.grid.getX(), m, this.component.grid.getXend(), m, 0, J, m) : this._hide(), M !== !1 && this.option.tooltip.showContent && (this.hasAppend || (this._tDom.style.left = this._zrWidth / 2 + "px", this._tDom.style.top = this._zrHeight / 2 + "px", this.dom.firstChild.appendChild(this._tDom), this.hasAppend = !0), this._show(L, J + 20, m - 20, R))
+ }
+ },
+ _itemFormatter: {
+ radar: function(m, H, p, r) {
+ var l = "";
+ l += this._encodeHTML("" === H ? m.name || "" : H), l += "" === l ? "" : "
";
+ for (var s = 0; s < r.length; s++) {
+ l += this._encodeHTML(r[s].text) + " : " + this.numAddCommas(p[s]) + "
"
+ }
+ return l
+ },
+ chord: function(m, J, p, s, l) {
+ if (null == l) {
+ return this._encodeHTML(J) + " (" + this.numAddCommas(p) + ")"
+ }
+ var H = this._encodeHTML(J),
+ I = this._encodeHTML(s);
+ return "" + (null != m.name ? this._encodeHTML(m.name) + "
" : "") + H + " -> " + I + " (" + this.numAddCommas(p) + ")
" + I + " -> " + H + " (" + this.numAddCommas(l) + ")"
+ },
+ eventRiver: function(m, J, p, s) {
+ var l = "";
+ l += this._encodeHTML("" === m.name ? "" : m.name + " : "), l += this._encodeHTML(J), l += "" === l ? "" : "
", s = s.evolution;
+ for (var H = 0, I = s.length; I > H; H++) {
+ l += '
' + (s[0] || this._lang[0]) + "
"; + var q = this.query(this.option, "toolbox.feature.dataView.optionToContent"); + "function" != typeof q ? this._textArea.value = this._optionToContent() : (this._textArea = document.createElement("div"), this._textArea.innerHTML = q(this.option)), this._textArea.style.cssText = "display:block;margin:0 0 8px 0;padding:4px 6px;overflow:auto;width:100%;height:" + (this._zrHeight - 100) + "px;", this._tDom.appendChild(this._textArea), this._buttonClose.style.cssText = "float:right;padding:1px 6px;", this._buttonClose.innerHTML = s[1] || this._lang[1]; + var r = this; + this._buttonClose.onclick = function() { + r.hide() + }, this._tDom.appendChild(this._buttonClose), this.query(this.option, "toolbox.feature.dataView.readOnly") === !1 ? (this._buttonRefresh.style.cssText = "float:right;margin-right:10px;padding:1px 6px;", this._buttonRefresh.innerHTML = s[2] || this._lang[2], this._buttonRefresh.onclick = function() { + r._save() + }, this._textArea.readOnly = !1, this._textArea.style.cursor = "default") : (this._buttonRefresh.style.cssText = "display:none", this._textArea.readOnly = !0, this._textArea.style.cursor = "text"), this._tDom.appendChild(this._buttonRefresh), this._sizeCssText = "width:" + this._zrWidth + "px;height:" + this._zrHeight + "px;background-color:#fff;", this._tDom.style.cssText = this._gCssText + this._sizeCssText + }, + _optionToContent: function() { + var q, B, v, n, y, z, A = [], + w = ""; + if (this.option.xAxis) { + for (A = this.option.xAxis instanceof Array ? this.option.xAxis : [this.option.xAxis], q = 0, n = A.length; n > q; q++) { + if ("category" == (A[q].type || "category")) { + for (z = [], B = 0, v = A[q].data.length; v > B; B++) { + z.push(this.getDataFromOption(A[q].data[B])) + } + w += z.join(", ") + "\n\n" + } + } + } + if (this.option.yAxis) { + for (A = this.option.yAxis instanceof Array ? this.option.yAxis : [this.option.yAxis], q = 0, n = A.length; n > q; q++) { + if ("category" == A[q].type) { + for (z = [], B = 0, v = A[q].data.length; v > B; B++) { + z.push(this.getDataFromOption(A[q].data[B])) + } + w += z.join(", ") + "\n\n" + } + } + } + var u, x = this.option.series; + for (q = 0, n = x.length; n > q; q++) { + for (z = [], B = 0, v = x[q].data.length; v > B; B++) { + y = x[q].data[B], u = x[q].type == o.CHART_TYPE_PIE || x[q].type == o.CHART_TYPE_MAP ? (y.name || "-") + ":" : "", x[q].type == o.CHART_TYPE_SCATTER && (y = this.getDataFromOption(y).join(", ")), z.push(u + this.getDataFromOption(y)) + } + w += (x[q].name || "-") + " : \n", w += z.join(x[q].type == o.CHART_TYPE_SCATTER ? "\n" : ", "), w += "\n\n" + } + return w + }, + _save: function() { + var q = this.query(this.option, "toolbox.feature.dataView.contentToOption"); + if ("function" != typeof q) { + for (var w = this._textArea.value.split("\n"), s = [], n = 0, u = w.length; u > n; n++) { + w[n] = this._trim(w[n]), "" !== w[n] && s.push(w[n]) + } + this._contentToOption(s) + } else { + q(this._textArea, this.option) + } + this.hide(); + var v = this; + setTimeout(function() { + v.messageCenter && v.messageCenter.dispatch(o.EVENT.DATA_VIEW_CHANGED, null, { + option: v.option + }, v.myChart) + }, v.canvasSupported ? 800 : 100) + }, + _contentToOption: function(q) { + var B, v, n, y, z, A, w, u = [], + x = 0; + if (this.option.xAxis) { + for (u = this.option.xAxis instanceof Array ? this.option.xAxis : [this.option.xAxis], B = 0, y = u.length; y > B; B++) { + if ("category" == (u[B].type || "category")) { + for (A = q[x].split(","), v = 0, n = u[B].data.length; n > v; v++) { + w = this._trim(A[v] || ""), z = u[B].data[v], "undefined" != typeof u[B].data[v].value ? u[B].data[v].value = w : u[B].data[v] = w + } + x++ + } + } + } + if (this.option.yAxis) { + for (u = this.option.yAxis instanceof Array ? this.option.yAxis : [this.option.yAxis], B = 0, y = u.length; y > B; B++) { + if ("category" == u[B].type) { + for (A = q[x].split(","), v = 0, n = u[B].data.length; n > v; v++) { + w = this._trim(A[v] || ""), z = u[B].data[v], "undefined" != typeof u[B].data[v].value ? u[B].data[v].value = w : u[B].data[v] = w + } + x++ + } + } + } + var C = this.option.series; + for (B = 0, y = C.length; y > B; B++) { + if (x++, C[B].type == o.CHART_TYPE_SCATTER) { + for (var v = 0, n = C[B].data.length; n > v; v++) { + A = q[x], w = A.replace(" ", "").split(","), "undefined" != typeof C[B].data[v].value ? C[B].data[v].value = w : C[B].data[v] = w, x++ + } + } else { + A = q[x].split(","); + for (var v = 0, n = C[B].data.length; n > v; v++) { + w = (A[v] || "").replace(/.*:/, ""), w = this._trim(w), w = "-" != w && "" !== w ? w - 0 : "-", "undefined" != typeof C[B].data[v].value ? C[B].data[v].value = w : C[B].data[v] = w + } + x++ + } + } + }, + _trim: function(a) { + var i = new RegExp("(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+$)", "g"); + return a.replace(i, "") + }, + _stop: function(a) { + a = a || window.event, a.stopPropagation ? a.stopPropagation() : a.cancelBubble = !0 + }, + resize: function() { + this._zrHeight = this.zr.getHeight(), this._zrWidth = this.zr.getWidth(), this._tDom.offsetHeight > 10 && (this._sizeCssText = "width:" + this._zrWidth + "px;height:" + this._zrHeight + "px;background-color:#fff;", this._tDom.style.cssText = this._gCssText + this._sizeCssText, this._textArea.style.cssText = "display:block;margin:0 0 8px 0;padding:4px 6px;overflow:auto;width:100%;height:" + (this._zrHeight - 100) + "px;") + }, + dispose: function() { + window.removeEventListener ? (this._tDom.removeEventListener("click", this._stop), this._tDom.removeEventListener("mousewheel", this._stop), this._tDom.removeEventListener("mousemove", this._stop), this._tDom.removeEventListener("mousedown", this._stop), this._tDom.removeEventListener("mouseup", this._stop), this._tDom.removeEventListener("touchstart", this._stop), this._tDom.removeEventListener("touchmove", this._stop), this._tDom.removeEventListener("touchend", this._stop)) : (this._tDom.detachEvent("onclick", this._stop), this._tDom.detachEvent("onmousewheel", this._stop), this._tDom.detachEvent("onmousemove", this._stop), this._tDom.detachEvent("onmousedown", this._stop), this._tDom.detachEvent("onmouseup", this._stop)), this._buttonRefresh.onclick = null, this._buttonClose.onclick = null, this._hasShow && (this._tDom.removeChild(this._textArea), this._tDom.removeChild(this._buttonRefresh), this._tDom.removeChild(this._buttonClose)), this._textArea = null, this._buttonRefresh = null, this._buttonClose = null, this.dom.firstChild.removeChild(this._tDom), this._tDom = null + } + }, j.inherits(p, m), l("../component").define("dataView", p), p + }), d("echarts/util/shape/Cross", ["require", "zrender/shape/Base", "zrender/shape/Line", "zrender/tool/util", "./normalIsCover"], function(l) { + function p(a) { + m.call(this, a) + } + var m = l("zrender/shape/Base"), + o = l("zrender/shape/Line"), + j = l("zrender/tool/util"); + return p.prototype = { + type: "cross", + buildPath: function(a, q) { + var n = q.rect; + q.xStart = n.x, q.xEnd = n.x + n.width, q.yStart = q.yEnd = q.y, o.prototype.buildPath(a, q), q.xStart = q.xEnd = q.x, q.yStart = n.y, q.yEnd = n.y + n.height, o.prototype.buildPath(a, q) + }, + getRect: function(a) { + return a.rect + }, + isCover: l("./normalIsCover") + }, j.inherits(p, m), p + }), d("zrender/shape/Sector", ["require", "../tool/math", "../tool/computeBoundingBox", "../tool/vector", "./Base", "../tool/util"], function(m) { + var z = m("../tool/math"), + q = m("../tool/computeBoundingBox"), + v = m("../tool/vector"), + j = m("./Base"), + w = v.create(), + x = v.create(), + y = v.create(), + u = v.create(), + p = function(a) { + j.call(this, a) + }; + return p.prototype = { + type: "sector", + buildPath: function(A, C) { + var F = C.x, + t = C.y, + G = C.r0 || 0, + H = C.r, + I = C.startAngle, + D = C.endAngle, + B = C.clockWise || !1; + I = z.degreeToRadian(I), D = z.degreeToRadian(D), B || (I = -I, D = -D); + var E = z.cos(I), + J = z.sin(I); + A.moveTo(E * G + F, J * G + t), A.lineTo(E * H + F, J * H + t), A.arc(F, t, H, I, D, !B), A.lineTo(z.cos(D) * G + F, z.sin(D) * G + t), 0 !== G && A.arc(F, t, G, D, I, B), A.closePath() + }, + getRect: function(n) { + if (n.__rect) { + return n.__rect + } + var i = n.x, + o = n.y, + r = n.r0 || 0, + A = n.r, + t = z.degreeToRadian(n.startAngle), + l = z.degreeToRadian(n.endAngle), + s = n.clockWise; + return s || (t = -t, l = -l), r > 1 ? q.arc(i, o, r, t, l, !s, w, y) : (w[0] = y[0] = i, w[1] = y[1] = o), q.arc(i, o, A, t, l, !s, x, u), v.min(w, w, x), v.max(y, y, u), n.__rect = { + x: w[0], + y: w[1], + width: y[0] - w[0], + height: y[1] - w[1] + }, n.__rect + } + }, m("../tool/util").inherits(p, j), p + }), d("echarts/util/shape/Candle", ["require", "zrender/shape/Base", "zrender/tool/util", "./normalIsCover"], function(a) { + function m(i) { + j.call(this, i) + } + var j = a("zrender/shape/Base"), + l = a("zrender/tool/util"); + return m.prototype = { + type: "candle", + _numberOrder: function(i, n) { + return n - i + }, + buildPath: function(n, p) { + var o = l.clone(p.y).sort(this._numberOrder); + n.moveTo(p.x, o[3]), n.lineTo(p.x, o[2]), n.moveTo(p.x - p.width / 2, o[2]), n.rect(p.x - p.width / 2, o[2], p.width, o[1] - o[2]), n.moveTo(p.x, o[1]), n.lineTo(p.x, o[0]) + }, + getRect: function(n) { + if (!n.__rect) { + var p = 0; + ("stroke" == n.brushType || "fill" == n.brushType) && (p = n.lineWidth || 1); + var o = l.clone(n.y).sort(this._numberOrder); + n.__rect = { + x: Math.round(n.x - n.width / 2 - p / 2), + y: Math.round(o[3] - p / 2), + width: n.width + p, + height: o[0] - o[3] + p + } + } + return n.__rect + }, + isCover: a("./normalIsCover") + }, l.inherits(m, j), m + }), d("zrender/tool/computeBoundingBox", ["require", "./vector", "./curve"], function(m) { + function z(B, I, C) { + if (0 !== B.length) { + for (var E = B[0][0], A = B[0][0], F = B[0][1], G = B[0][1], H = 1; H < B.length; H++) { + var D = B[H]; + D[0] < E && (E = D[0]), D[0] > A && (A = D[0]), D[1] < F && (F = D[1]), D[1] > G && (G = D[1]) + } + I[0] = E, I[1] = F, C[0] = A, C[1] = G + } + } + + function q(B, J, D, G, o, H) { + var I = []; + w.cubicExtrema(B[0], J[0], D[0], G[0], I); + for (var E = 0; E < I.length; E++) { + I[E] = w.cubicAt(B[0], J[0], D[0], G[0], I[E]) + } + var C = []; + w.cubicExtrema(B[1], J[1], D[1], G[1], C); + for (var E = 0; E < C.length; E++) { + C[E] = w.cubicAt(B[1], J[1], D[1], G[1], C[E]) + } + I.push(B[0], G[0]), C.push(B[1], G[1]); + var F = Math.min.apply(null, I), + L = Math.max.apply(null, I), + K = Math.min.apply(null, C), + A = Math.max.apply(null, C); + o[0] = F, o[1] = K, H[0] = L, H[1] = A + } + + function v(B, J, D, G, o) { + var H = w.quadraticExtremum(B[0], J[0], D[0]), + I = w.quadraticExtremum(B[1], J[1], D[1]); + H = Math.max(Math.min(H, 1), 0), I = Math.max(Math.min(I, 1), 0); + var E = 1 - H, + C = 1 - I, + F = E * E * B[0] + 2 * E * H * J[0] + H * H * D[0], + L = E * E * B[1] + 2 * E * H * J[1] + H * H * D[1], + K = C * C * B[0] + 2 * C * I * J[0] + I * I * D[0], + A = C * C * B[1] + 2 * C * I * J[1] + I * I * D[1]; + G[0] = Math.min(B[0], D[0], F, K), G[1] = Math.min(B[1], D[1], L, A), o[0] = Math.max(B[0], D[0], F, K), o[1] = Math.max(B[1], D[1], L, A) + } + var j = m("./vector"), + w = m("./curve"), + x = j.create(), + y = j.create(), + u = j.create(), + p = function(l, D, s, B, C, r, A, F) { + if (Math.abs(B - C) >= 2 * Math.PI) { + return A[0] = l - s, A[1] = D - s, F[0] = l + s, void(F[1] = D + s) + } + if (x[0] = Math.cos(B) * s + l, x[1] = Math.sin(B) * s + D, y[0] = Math.cos(C) * s + l, y[1] = Math.sin(C) * s + D, j.min(A, x, y), j.max(F, x, y), B %= 2 * Math.PI, 0 > B && (B += 2 * Math.PI), C %= 2 * Math.PI, 0 > C && (C += 2 * Math.PI), B > C && !r ? C += 2 * Math.PI : C > B && r && (B += 2 * Math.PI), r) { + var E = C; + C = B, B = E + } + for (var a = 0; C > a; a += Math.PI / 2) { + a > B && (u[0] = Math.cos(a) * s + l, u[1] = Math.sin(a) * s + D, j.min(A, u, A), j.max(F, u, F)) + } + }; + return z.cubeBezier = q, z.quadraticBezier = v, z.arc = p, z + }), d("echarts/util/shape/Chain", ["require", "zrender/shape/Base", "./Icon", "zrender/shape/util/dashedLineTo", "zrender/tool/util", "zrender/tool/matrix"], function(l) { + function u(a) { + m.call(this, a) + } + var m = l("zrender/shape/Base"), + p = l("./Icon"), + j = l("zrender/shape/util/dashedLineTo"), + q = l("zrender/tool/util"), + s = l("zrender/tool/matrix"); + return u.prototype = { + type: "chain", + brush: function(a, o) { + var n = this.style; + o && (n = this.getHighlightStyle(n, this.highlightStyle || {})), a.save(), this.setContext(a, n), this.setTransform(a), a.save(), a.beginPath(), this.buildLinePath(a, n), a.stroke(), a.restore(), this.brushSymbol(a, n), a.restore() + }, + buildLinePath: function(a, A) { + var v = A.x, + w = A.y + 5, + x = A.width, + y = A.height / 2 - 10; + if (a.moveTo(v, w), a.lineTo(v, w + y), a.moveTo(v + x, w), a.lineTo(v + x, w + y), a.moveTo(v, w + y / 2), A.lineType && "solid" != A.lineType) { + if ("dashed" == A.lineType || "dotted" == A.lineType) { + var z = (A.lineWidth || 1) * ("dashed" == A.lineType ? 5 : 1); + j(a, v, w + y / 2, v + x, w + y / 2, z) + } + } else { + a.lineTo(v + x, w + y / 2) + } + }, + brushSymbol: function(v, B) { + var w = B.y + B.height / 4; + v.save(); + for (var n, y = B.chainPoint, z = 0, A = y.length; A > z; z++) { + if (n = y[z], "none" != n.symbol) { + v.beginPath(); + var x = n.symbolSize; + p.prototype.buildPath(v, { + iconType: n.symbol, + x: n.x - x, + y: w - x, + width: 2 * x, + height: 2 * x, + n: n.n + }), v.fillStyle = n.isEmpty ? "#fff" : B.strokeColor, v.closePath(), v.fill(), v.stroke() + } + n.showLabel && (v.font = n.textFont, v.fillStyle = n.textColor, v.textAlign = n.textAlign, v.textBaseline = n.textBaseline, n.rotation ? (v.save(), this._updateTextTransform(v, n.rotation), v.fillText(n.name, n.textX, n.textY), v.restore()) : v.fillText(n.name, n.textX, n.textY)) + } + v.restore() + }, + _updateTextTransform: function(r, x) { + var v = s.create(); + if (s.identity(v), 0 !== x[0]) { + var w = x[1] || 0, + o = x[2] || 0; + (w || o) && s.translate(v, v, [-w, -o]), s.rotate(v, v, x[0]), (w || o) && s.translate(v, v, [w, o]) + } + r.transform.apply(r, v) + }, + isCover: function(a, o) { + var n = this.style; + return a >= n.x && a <= n.x + n.width && o >= n.y && o <= n.y + n.height ? !0 : !1 + } + }, q.inherits(u, m), u + }), d("zrender/shape/Ring", ["require", "./Base", "../tool/util"], function(a) { + var l = a("./Base"), + j = function(i) { + l.call(this, i) + }; + return j.prototype = { + type: "ring", + buildPath: function(i, m) { + i.arc(m.x, m.y, m.r, 0, 2 * Math.PI, !1), i.moveTo(m.x + m.r0, m.y), i.arc(m.x, m.y, m.r0, 0, 2 * Math.PI, !0) + }, + getRect: function(i) { + if (i.__rect) { + return i.__rect + } + var m; + return m = "stroke" == i.brushType || "fill" == i.brushType ? i.lineWidth || 1 : 0, i.__rect = { + x: Math.round(i.x - i.r - m / 2), + y: Math.round(i.y - i.r - m / 2), + width: 2 * i.r + m, + height: 2 * i.r + m + }, i.__rect + } + }, a("../tool/util").inherits(j, l), j + }), d("echarts/component/axis", ["require", "./base", "zrender/shape/Line", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "./categoryAxis", "./valueAxis", "../component"], function(l) { + function w(s, A, x, i, y, z) { + m.call(this, s, A, x, i, y), this.axisType = z, this._axisList = [], this.refresh(i) + } + var m = l("./base"), + p = l("zrender/shape/Line"), + j = l("../config"), + q = l("../util/ecData"), + u = l("zrender/tool/util"), + v = l("zrender/tool/color"); + return w.prototype = { + type: j.COMPONENT_TYPE_AXIS, + axisBase: { + _buildAxisLine: function() { + var r = this.option.axisLine.lineStyle.width, + y = r / 2, + s = { + _axisShape: "axisLine", + zlevel: this.getZlevelBase(), + z: this.getZBase() + 3, + hoverable: !1 + }, + n = this.grid; + switch (this.option.position) { + case "left": + s.style = { + xStart: n.getX() - y, + yStart: n.getYend(), + xEnd: n.getX() - y, + yEnd: n.getY(), + lineCap: "round" + }; + break; + case "right": + s.style = { + xStart: n.getXend() + y, + yStart: n.getYend(), + xEnd: n.getXend() + y, + yEnd: n.getY(), + lineCap: "round" + }; + break; + case "bottom": + s.style = { + xStart: n.getX(), + yStart: n.getYend() + y, + xEnd: n.getXend(), + yEnd: n.getYend() + y, + lineCap: "round" + }; + break; + case "top": + s.style = { + xStart: n.getX(), + yStart: n.getY() - y, + xEnd: n.getXend(), + yEnd: n.getY() - y, + lineCap: "round" + } + } + var x = s.style; + "" !== this.option.name && (x.text = this.option.name, x.textPosition = this.option.nameLocation, x.textFont = this.getFont(this.option.nameTextStyle), this.option.nameTextStyle.align && (x.textAlign = this.option.nameTextStyle.align), this.option.nameTextStyle.baseline && (x.textBaseline = this.option.nameTextStyle.baseline), this.option.nameTextStyle.color && (x.textColor = this.option.nameTextStyle.color)), x.strokeColor = this.option.axisLine.lineStyle.color, x.lineWidth = r, this.isHorizontal() ? x.yStart = x.yEnd = this.subPixelOptimize(x.yEnd, r) : x.xStart = x.xEnd = this.subPixelOptimize(x.xEnd, r), x.lineType = this.option.axisLine.lineStyle.type, s = new p(s), this.shapeList.push(s) + }, + _axisLabelClickable: function(a, i) { + return a ? (q.pack(i, void 0, -1, void 0, -1, i.style.text), i.hoverable = !0, i.clickable = !0, i.highlightStyle = { + color: v.lift(i.style.color, 1), + brushType: "fill" + }, i) : i + }, + refixAxisShape: function(r, y) { + if (this.option.axisLine.onZero) { + var s; + if (this.isHorizontal() && null != y) { + for (var x = 0, o = this.shapeList.length; o > x; x++) { + "axisLine" === this.shapeList[x]._axisShape ? (this.shapeList[x].style.yStart = this.shapeList[x].style.yEnd = this.subPixelOptimize(y, this.shapeList[x].stylelineWidth), this.zr.modShape(this.shapeList[x].id)) : "axisTick" === this.shapeList[x]._axisShape && (s = this.shapeList[x].style.yEnd - this.shapeList[x].style.yStart, this.shapeList[x].style.yStart = y - s, this.shapeList[x].style.yEnd = y, this.zr.modShape(this.shapeList[x].id)) + } + } + if (!this.isHorizontal() && null != r) { + for (var x = 0, o = this.shapeList.length; o > x; x++) { + "axisLine" === this.shapeList[x]._axisShape ? (this.shapeList[x].style.xStart = this.shapeList[x].style.xEnd = this.subPixelOptimize(r, this.shapeList[x].stylelineWidth), this.zr.modShape(this.shapeList[x].id)) : "axisTick" === this.shapeList[x]._axisShape && (s = this.shapeList[x].style.xEnd - this.shapeList[x].style.xStart, this.shapeList[x].style.xStart = r, this.shapeList[x].style.xEnd = r + s, this.zr.modShape(this.shapeList[x].id)) + } + } + } + }, + getPosition: function() { + return this.option.position + }, + isHorizontal: function() { + return "bottom" === this.option.position || "top" === this.option.position + } + }, + reformOption: function(a) { + if (!a || a instanceof Array && 0 === a.length ? a = [{ + type: j.COMPONENT_TYPE_AXIS_VALUE + }] : a instanceof Array || (a = [a]), a.length > 2 && (a = [a[0], a[1]]), "xAxis" === this.axisType) { + (!a[0].position || "bottom" != a[0].position && "top" != a[0].position) && (a[0].position = "bottom"), a.length > 1 && (a[1].position = "bottom" === a[0].position ? "top" : "bottom"); + for (var o = 0, n = a.length; n > o; o++) { + a[o].type = a[o].type || "category", a[o].xAxisIndex = o, a[o].yAxisIndex = -1 + } + } else { + (!a[0].position || "left" != a[0].position && "right" != a[0].position) && (a[0].position = "left"), a.length > 1 && (a[1].position = "left" === a[0].position ? "right" : "left"); + for (var o = 0, n = a.length; n > o; o++) { + a[o].type = a[o].type || "value", a[o].xAxisIndex = -1, a[o].yAxisIndex = o + } + } + return a + }, + refresh: function(A) { + var s; + A && (this.option = A, "xAxis" === this.axisType ? (this.option.xAxis = this.reformOption(A.xAxis), s = this.option.xAxis) : (this.option.yAxis = this.reformOption(A.yAxis), s = this.option.yAxis), this.series = A.series); + for (var x = l("./categoryAxis"), e = l("./valueAxis"), y = Math.max(s && s.length || 0, this._axisList.length), z = 0; y > z; z++) { + !this._axisList[z] || !A || s[z] && this._axisList[z].type == s[z].type || (this._axisList[z].dispose && this._axisList[z].dispose(), this._axisList[z] = !1), this._axisList[z] ? this._axisList[z].refresh && this._axisList[z].refresh(s ? s[z] : !1, this.series) : s && s[z] && (this._axisList[z] = "category" === s[z].type ? new x(this.ecTheme, this.messageCenter, this.zr, s[z], this.myChart, this.axisBase) : new e(this.ecTheme, this.messageCenter, this.zr, s[z], this.myChart, this.axisBase, this.series)) + } + }, + getAxis: function(a) { + return this._axisList[a] + }, + getAxisCount: function() { + return this._axisList.length + }, + clear: function() { + for (var a = 0, i = this._axisList.length; i > a; a++) { + this._axisList[a].dispose && this._axisList[a].dispose() + } + this._axisList = [] + } + }, u.inherits(w, m), l("../component").define("axis", w), w + }), d("echarts/component/grid", ["require", "./base", "zrender/shape/Rectangle", "../config", "zrender/tool/util", "../component"], function(l) { + function r(s, w, u, i, v) { + m.call(this, s, w, u, i, v), this.refresh(i) + } + var m = l("./base"), + p = l("zrender/shape/Rectangle"), + j = l("../config"); + j.grid = { + zlevel: 0, + z: 0, + x: 80, + y: 60, + x2: 80, + y2: 60, + backgroundColor: "rgba(0,0,0,0)", + borderWidth: 1, + borderColor: "#ccc" + }; + var q = l("zrender/tool/util"); + return r.prototype = { + type: j.COMPONENT_TYPE_GRID, + getX: function() { + return this._x + }, + getY: function() { + return this._y + }, + getWidth: function() { + return this._width + }, + getHeight: function() { + return this._height + }, + getXend: function() { + return this._x + this._width + }, + getYend: function() { + return this._y + this._height + }, + getArea: function() { + return { + x: this._x, + y: this._y, + width: this._width, + height: this._height + } + }, + getBbox: function() { + return [ + [this._x, this._y], + [this.getXend(), this.getYend()] + ] + }, + refixAxisShape: function(a) { + for (var x, s, u, v = a.xAxis._axisList.concat(a.yAxis ? a.yAxis._axisList : []), w = v.length; w--;) { + u = v[w], u.type == j.COMPONENT_TYPE_AXIS_VALUE && u._min < 0 && u._max >= 0 && (u.isHorizontal() ? x = u.getCoord(0) : s = u.getCoord(0)) + } + if ("undefined" != typeof x || "undefined" != typeof s) { + for (w = v.length; w--;) { + v[w].refixAxisShape(x, s) + } + } + }, + refresh: function(o) { + if (o || this._zrWidth != this.zr.getWidth() || this._zrHeight != this.zr.getHeight()) { + this.clear(), this.option = o || this.option, this.option.grid = this.reformOption(this.option.grid); + var u = this.option.grid; + this._zrWidth = this.zr.getWidth(), this._zrHeight = this.zr.getHeight(), this._x = this.parsePercent(u.x, this._zrWidth), this._y = this.parsePercent(u.y, this._zrHeight); + var s = this.parsePercent(u.x2, this._zrWidth), + n = this.parsePercent(u.y2, this._zrHeight); + this._width = "undefined" == typeof u.width ? this._zrWidth - this._x - s : this.parsePercent(u.width, this._zrWidth), this._width = this._width <= 0 ? 10 : this._width, this._height = "undefined" == typeof u.height ? this._zrHeight - this._y - n : this.parsePercent(u.height, this._zrHeight), this._height = this._height <= 0 ? 10 : this._height, this._x = this.subPixelOptimize(this._x, u.borderWidth), this._y = this.subPixelOptimize(this._y, u.borderWidth), this.shapeList.push(new p({ + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + x: this._x, + y: this._y, + width: this._width, + height: this._height, + brushType: u.borderWidth > 0 ? "both" : "fill", + color: u.backgroundColor, + strokeColor: u.borderColor, + lineWidth: u.borderWidth + } + })), this.zr.addShape(this.shapeList[0]) + } + } + }, q.inherits(r, m), l("../component").define("grid", r), r + }), d("echarts/component/dataZoom", ["require", "./base", "zrender/shape/Rectangle", "zrender/shape/Polygon", "../util/shape/Icon", "../config", "../util/date", "zrender/tool/util", "../component"], function(m) { + function y(l, B, s, i, z) { + p.call(this, l, B, s, i, z); + var A = this; + A._ondrift = function(a, n) { + return A.__ondrift(this, a, n) + }, A._ondragend = function() { + return A.__ondragend() + }, this._fillerSize = 30, this._isSilence = !1, this._zoom = {}, this.option.dataZoom = this.reformOption(this.option.dataZoom), this.zoomOption = this.option.dataZoom, this._handleSize = this.zoomOption.handleSize, this.myChart.canvasSupported || (this.zoomOption.realtime = !1), this._location = this._getLocation(), this._zoom = this._getZoom(), this._backupData(), this.option.dataZoom.show && this._buildShape(), this._syncData() + } + var p = m("./base"), + u = m("zrender/shape/Rectangle"), + j = m("zrender/shape/Polygon"), + v = m("../util/shape/Icon"), + w = m("../config"); + w.dataZoom = { + zlevel: 0, + z: 4, + show: !1, + orient: "horizontal", + backgroundColor: "rgba(0,0,0,0)", + dataBackgroundColor: "#eee", + fillerColor: "rgba(144,197,237,0.2)", + handleColor: "rgba(70,130,180,0.8)", + handleSize: 8, + showDetail: !0, + realtime: !0 + }; + var x = m("../util/date"), + q = m("zrender/tool/util"); + return y.prototype = { + type: w.COMPONENT_TYPE_DATAZOOM, + _buildShape: function() { + this._buildBackground(), this._buildFiller(), this._buildHandle(), this._buildFrame(); + for (var a = 0, i = this.shapeList.length; i > a; a++) { + this.zr.addShape(this.shapeList[a]) + } + this._syncFrameShape() + }, + _getLocation: function() { + var o, z, r, s, l = this.component.grid; + return "horizontal" == this.zoomOption.orient ? (r = this.zoomOption.width || l.getWidth(), s = this.zoomOption.height || this._fillerSize, o = null != this.zoomOption.x ? this.zoomOption.x : l.getX(), z = null != this.zoomOption.y ? this.zoomOption.y : this.zr.getHeight() - s - 2) : (r = this.zoomOption.width || this._fillerSize, s = this.zoomOption.height || l.getHeight(), o = null != this.zoomOption.x ? this.zoomOption.x : 2, z = null != this.zoomOption.y ? this.zoomOption.y : l.getY()), { + x: o, + y: z, + width: r, + height: s + } + }, + _getZoom: function() { + var B = this.option.series, + K = this.option.xAxis; + !K || K instanceof Array || (K = [K], this.option.xAxis = K); + var D = this.option.yAxis; + !D || D instanceof Array || (D = [D], this.option.yAxis = D); + var G, r, H = [], + J = this.zoomOption.xAxisIndex; + if (K && null == J) { + G = []; + for (var E = 0, C = K.length; C > E; E++) { + ("category" == K[E].type || null == K[E].type) && G.push(E) + } + } else { + G = J instanceof Array ? J : null != J ? [J] : [] + } + if (J = this.zoomOption.yAxisIndex, D && null == J) { + r = []; + for (var E = 0, C = D.length; C > E; E++) { + "category" == D[E].type && r.push(E) + } + } else { + r = J instanceof Array ? J : null != J ? [J] : [] + } + for (var F, E = 0, C = B.length; C > E; E++) { + if (F = B[E], F.type == w.CHART_TYPE_LINE || F.type == w.CHART_TYPE_BAR || F.type == w.CHART_TYPE_SCATTER || F.type == w.CHART_TYPE_K) { + for (var M = 0, L = G.length; L > M; M++) { + if (G[M] == (F.xAxisIndex || 0)) { + H.push(E); + break + } + } + for (var M = 0, L = r.length; L > M; M++) { + if (r[M] == (F.yAxisIndex || 0)) { + H.push(E); + break + } + } + null == this.zoomOption.xAxisIndex && null == this.zoomOption.yAxisIndex && F.data && this.getDataFromOption(F.data[0]) instanceof Array && (F.type == w.CHART_TYPE_SCATTER || F.type == w.CHART_TYPE_LINE || F.type == w.CHART_TYPE_BAR) && H.push(E) + } + } + var A = null != this._zoom.start ? this._zoom.start : null != this.zoomOption.start ? this.zoomOption.start : 0, + I = null != this._zoom.end ? this._zoom.end : null != this.zoomOption.end ? this.zoomOption.end : 100; + A > I && (A += I, I = A - I, A -= I); + var z = Math.round((I - A) / 100 * ("horizontal" == this.zoomOption.orient ? this._location.width : this._location.height)); + return { + start: A, + end: I, + start2: 0, + end2: 100, + size: z, + xAxisIndex: G, + yAxisIndex: r, + seriesIndex: H, + scatterMap: this._zoom.scatterMap || {} + } + }, + _backupData: function() { + this._originalData = { + xAxis: {}, + yAxis: {}, + series: {} + }; + for (var z = this.option.xAxis, G = this._zoom.xAxisIndex, B = 0, D = G.length; D > B; B++) { + this._originalData.xAxis[G[B]] = z[G[B]].data + } + for (var r = this.option.yAxis, E = this._zoom.yAxisIndex, B = 0, D = E.length; D > B; B++) { + this._originalData.yAxis[E[B]] = r[E[B]].data + } + for (var F, C = this.option.series, A = this._zoom.seriesIndex, B = 0, D = A.length; D > B; B++) { + F = C[A[B]], this._originalData.series[A[B]] = F.data, F.data && this.getDataFromOption(F.data[0]) instanceof Array && (F.type == w.CHART_TYPE_SCATTER || F.type == w.CHART_TYPE_LINE || F.type == w.CHART_TYPE_BAR) && (this._backupScale(), this._calculScatterMap(A[B])) + } + }, + _calculScatterMap: function(B) { + this._zoom.scatterMap = this._zoom.scatterMap || {}, this._zoom.scatterMap[B] = this._zoom.scatterMap[B] || {}; + var l = m("../component"), + s = l.get("axis"), + e = q.clone(this.option.xAxis); + "category" == e[0].type && (e[0].type = "value"), e[1] && "category" == e[1].type && (e[1].type = "value"); + var z = new s(this.ecTheme, null, !1, { + xAxis: e, + series: this.option.series + }, this, "xAxis"), + A = this.option.series[B].xAxisIndex || 0; + this._zoom.scatterMap[B].x = z.getAxis(A).getExtremum(), z.dispose(), e = q.clone(this.option.yAxis), "category" == e[0].type && (e[0].type = "value"), e[1] && "category" == e[1].type && (e[1].type = "value"), z = new s(this.ecTheme, null, !1, { + yAxis: e, + series: this.option.series + }, this, "yAxis"), A = this.option.series[B].yAxisIndex || 0, this._zoom.scatterMap[B].y = z.getAxis(A).getExtremum(), z.dispose() + }, + _buildBackground: function() { + var z = this._location.width, + K = this._location.height; + this.shapeList.push(new u({ + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + x: this._location.x, + y: this._location.y, + width: z, + height: K, + color: this.zoomOption.backgroundColor + } + })); + for (var D = 0, H = this._originalData.xAxis, J = this._zoom.xAxisIndex, F = 0, C = J.length; C > F; F++) { + D = Math.max(D, H[J[F]].length) + } + for (var G = this._originalData.yAxis, N = this._zoom.yAxisIndex, F = 0, C = N.length; C > F; F++) { + D = Math.max(D, G[N[F]].length) + } + for (var M, r = this._zoom.seriesIndex[0], I = this._originalData.series[r], n = Number.MIN_VALUE, L = Number.MAX_VALUE, F = 0, C = I.length; C > F; F++) { + M = this.getDataFromOption(I[F], 0), this.option.series[r].type == w.CHART_TYPE_K && (M = M[1]), isNaN(M) && (M = 0), n = Math.max(n, M), L = Math.min(L, M) + } + var O = n - L, + B = [], + a = z / (D - (D > 1 ? 1 : 0)), + A = K / (D - (D > 1 ? 1 : 0)), + E = 1; + "horizontal" == this.zoomOption.orient && 1 > a ? E = Math.floor(3 * D / z) : "vertical" == this.zoomOption.orient && 1 > A && (E = Math.floor(3 * D / K)); + for (var F = 0, C = D; C > F; F += E) { + M = this.getDataFromOption(I[F], 0), this.option.series[r].type == w.CHART_TYPE_K && (M = M[1]), isNaN(M) && (M = 0), B.push("horizontal" == this.zoomOption.orient ? [this._location.x + a * F, this._location.y + K - 1 - Math.round((M - L) / O * (K - 10))] : [this._location.x + 1 + Math.round((M - L) / O * (z - 10)), this._location.y + A * (C - F - 1)]) + } + "horizontal" == this.zoomOption.orient ? (B.push([this._location.x + z, this._location.y + K]), B.push([this._location.x, this._location.y + K])) : (B.push([this._location.x, this._location.y]), B.push([this._location.x, this._location.y + K])), this.shapeList.push(new j({ + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: { + pointList: B, + color: this.zoomOption.dataBackgroundColor + }, + hoverable: !1 + })) + }, + _buildFiller: function() { + this._fillerShae = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + draggable: !0, + ondrift: this._ondrift, + ondragend: this._ondragend, + _type: "filler" + }, this._fillerShae.style = "horizontal" == this.zoomOption.orient ? { + x: this._location.x + Math.round(this._zoom.start / 100 * this._location.width) + this._handleSize, + y: this._location.y, + width: this._zoom.size - 2 * this._handleSize, + height: this._location.height, + color: this.zoomOption.fillerColor, + text: ":::", + textPosition: "inside" + } : { + x: this._location.x, + y: this._location.y + Math.round(this._zoom.start / 100 * this._location.height) + this._handleSize, + width: this._location.width, + height: this._zoom.size - 2 * this._handleSize, + color: this.zoomOption.fillerColor, + text: "::", + textPosition: "inside" + }, this._fillerShae.highlightStyle = { + brushType: "fill", + color: "rgba(0,0,0,0)" + }, this._fillerShae = new u(this._fillerShae), this.shapeList.push(this._fillerShae) + }, + _buildHandle: function() { + var a = this.zoomOption.showDetail ? this._getDetail() : { + start: "", + end: "" + }; + this._startShape = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + draggable: !0, + style: { + iconType: "rectangle", + x: this._location.x, + y: this._location.y, + width: this._handleSize, + height: this._handleSize, + color: this.zoomOption.handleColor, + text: "=", + textPosition: "inside" + }, + highlightStyle: { + text: a.start, + brushType: "fill", + textPosition: "left" + }, + ondrift: this._ondrift, + ondragend: this._ondragend + }, "horizontal" == this.zoomOption.orient ? (this._startShape.style.height = this._location.height, this._endShape = q.clone(this._startShape), this._startShape.style.x = this._fillerShae.style.x - this._handleSize, this._endShape.style.x = this._fillerShae.style.x + this._fillerShae.style.width, this._endShape.highlightStyle.text = a.end, this._endShape.highlightStyle.textPosition = "right") : (this._startShape.style.width = this._location.width, this._endShape = q.clone(this._startShape), this._startShape.style.y = this._fillerShae.style.y + this._fillerShae.style.height, this._startShape.highlightStyle.textPosition = "bottom", this._endShape.style.y = this._fillerShae.style.y - this._handleSize, this._endShape.highlightStyle.text = a.end, this._endShape.highlightStyle.textPosition = "top"), this._startShape = new v(this._startShape), this._endShape = new v(this._endShape), this.shapeList.push(this._startShape), this.shapeList.push(this._endShape) + }, + _buildFrame: function() { + var a = this.subPixelOptimize(this._location.x, 1), + i = this.subPixelOptimize(this._location.y, 1); + this._startFrameShape = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + x: a, + y: i, + width: this._location.width - (a > this._location.x ? 1 : 0), + height: this._location.height - (i > this._location.y ? 1 : 0), + lineWidth: 1, + brushType: "stroke", + strokeColor: this.zoomOption.handleColor + } + }, this._endFrameShape = q.clone(this._startFrameShape), this._startFrameShape = new u(this._startFrameShape), this._endFrameShape = new u(this._endFrameShape), this.shapeList.push(this._startFrameShape), this.shapeList.push(this._endFrameShape) + }, + _syncHandleShape: function() { + "horizontal" == this.zoomOption.orient ? (this._startShape.style.x = this._fillerShae.style.x - this._handleSize, this._endShape.style.x = this._fillerShae.style.x + this._fillerShae.style.width, this._zoom.start = (this._startShape.style.x - this._location.x) / this._location.width * 100, this._zoom.end = (this._endShape.style.x + this._handleSize - this._location.x) / this._location.width * 100) : (this._startShape.style.y = this._fillerShae.style.y + this._fillerShae.style.height, this._endShape.style.y = this._fillerShae.style.y - this._handleSize, this._zoom.start = (this._location.y + this._location.height - this._startShape.style.y) / this._location.height * 100, this._zoom.end = (this._location.y + this._location.height - this._endShape.style.y - this._handleSize) / this._location.height * 100), this.zr.modShape(this._startShape.id), this.zr.modShape(this._endShape.id), this._syncFrameShape(), this.zr.refreshNextFrame() + }, + _syncFillerShape: function() { + var a, i; + "horizontal" == this.zoomOption.orient ? (a = this._startShape.style.x, i = this._endShape.style.x, this._fillerShae.style.x = Math.min(a, i) + this._handleSize, this._fillerShae.style.width = Math.abs(a - i) - this._handleSize, this._zoom.start = (Math.min(a, i) - this._location.x) / this._location.width * 100, this._zoom.end = (Math.max(a, i) + this._handleSize - this._location.x) / this._location.width * 100) : (a = this._startShape.style.y, i = this._endShape.style.y, this._fillerShae.style.y = Math.min(a, i) + this._handleSize, this._fillerShae.style.height = Math.abs(a - i) - this._handleSize, this._zoom.start = (this._location.y + this._location.height - Math.max(a, i)) / this._location.height * 100, this._zoom.end = (this._location.y + this._location.height - Math.min(a, i) - this._handleSize) / this._location.height * 100), this.zr.modShape(this._fillerShae.id), this._syncFrameShape(), this.zr.refreshNextFrame() + }, + _syncFrameShape: function() { + "horizontal" == this.zoomOption.orient ? (this._startFrameShape.style.width = this._fillerShae.style.x - this._location.x, this._endFrameShape.style.x = this._fillerShae.style.x + this._fillerShae.style.width, this._endFrameShape.style.width = this._location.x + this._location.width - this._endFrameShape.style.x) : (this._startFrameShape.style.y = this._fillerShae.style.y + this._fillerShae.style.height, this._startFrameShape.style.height = this._location.y + this._location.height - this._startFrameShape.style.y, this._endFrameShape.style.height = this._fillerShae.style.y - this._location.y), this.zr.modShape(this._startFrameShape.id), this.zr.modShape(this._endFrameShape.id) + }, + _syncShape: function() { + this.zoomOption.show && ("horizontal" == this.zoomOption.orient ? (this._startShape.style.x = this._location.x + this._zoom.start / 100 * this._location.width, this._endShape.style.x = this._location.x + this._zoom.end / 100 * this._location.width - this._handleSize, this._fillerShae.style.x = this._startShape.style.x + this._handleSize, this._fillerShae.style.width = this._endShape.style.x - this._startShape.style.x - this._handleSize) : (this._startShape.style.y = this._location.y + this._location.height - this._zoom.start / 100 * this._location.height, this._endShape.style.y = this._location.y + this._location.height - this._zoom.end / 100 * this._location.height - this._handleSize, this._fillerShae.style.y = this._endShape.style.y + this._handleSize, this._fillerShae.style.height = this._startShape.style.y - this._endShape.style.y - this._handleSize), this.zr.modShape(this._startShape.id), this.zr.modShape(this._endShape.id), this.zr.modShape(this._fillerShae.id), this._syncFrameShape(), this.zr.refresh()) + }, + _syncData: function(z) { + var F, A, C, r, D; + for (var E in this._originalData) { + F = this._originalData[E]; + for (var B in F) { + D = F[B], null != D && (r = D.length, A = Math.floor(this._zoom.start / 100 * r), C = Math.ceil(this._zoom.end / 100 * r), this.getDataFromOption(D[0]) instanceof Array && this.option[E][B].type != w.CHART_TYPE_K ? (this._setScale(), this.option[E][B].data = this._synScatterData(B, D)) : this.option[E][B].data = D.slice(A, C)) + } + } + this._isSilence || !this.zoomOption.realtime && !z || this.messageCenter.dispatch(w.EVENT.DATA_ZOOM, null, { + zoom: this._zoom + }, this.myChart) + }, + _synScatterData: function(A, J) { + if (0 === this._zoom.start && 100 == this._zoom.end && 0 === this._zoom.start2 && 100 == this._zoom.end2) { + return J + } + var C, F, z, G, H, I = [], + D = this._zoom.scatterMap[A]; + "horizontal" == this.zoomOption.orient ? (C = D.x.max - D.x.min, F = this._zoom.start / 100 * C + D.x.min, z = this._zoom.end / 100 * C + D.x.min, C = D.y.max - D.y.min, G = this._zoom.start2 / 100 * C + D.y.min, H = this._zoom.end2 / 100 * C + D.y.min) : (C = D.x.max - D.x.min, F = this._zoom.start2 / 100 * C + D.x.min, z = this._zoom.end2 / 100 * C + D.x.min, C = D.y.max - D.y.min, G = this._zoom.start / 100 * C + D.y.min, H = this._zoom.end / 100 * C + D.y.min); + var B; + (B = D.x.dataMappingMethods) && (F = B.coord2Value(F), z = B.coord2Value(z)), (B = D.y.dataMappingMethods) && (G = B.coord2Value(G), H = B.coord2Value(H)); + for (var E, L = 0, K = J.length; K > L; L++) { + E = J[L].value || J[L], E[0] >= F && E[0] <= z && E[1] >= G && E[1] <= H && I.push(J[L]) + } + return I + }, + _setScale: function() { + var o = 0 !== this._zoom.start || 100 !== this._zoom.end || 0 !== this._zoom.start2 || 100 !== this._zoom.end2, + z = { + xAxis: this.option.xAxis, + yAxis: this.option.yAxis + }; + for (var r in z) { + for (var s = 0, l = z[r].length; l > s; s++) { + z[r][s].scale = o || z[r][s]._scale + } + } + }, + _backupScale: function() { + var a = { + xAxis: this.option.xAxis, + yAxis: this.option.yAxis + }; + for (var r in a) { + for (var l = 0, o = a[r].length; o > l; l++) { + a[r][l]._scale = a[r][l].scale + } + } + }, + _getDetail: function() { + for (var B = ["xAxis", "yAxis"], K = 0, D = B.length; D > K; K++) { + var G = this._originalData[B[K]]; + for (var s in G) { + var H = G[s]; + if (null != H) { + var J = H.length, + E = Math.floor(this._zoom.start / 100 * J), + C = Math.ceil(this._zoom.end / 100 * J); + return C -= C > 0 ? 1 : 0, { + start: this.getDataFromOption(H[E]), + end: this.getDataFromOption(H[C]) + } + } + } + } + B = "horizontal" == this.zoomOption.orient ? "xAxis" : "yAxis"; + var F = this._zoom.seriesIndex[0], + N = this.option.series[F][B + "Index"] || 0, + M = this.option[B][N].type, + A = this._zoom.scatterMap[F][B.charAt(0)].min, + I = this._zoom.scatterMap[F][B.charAt(0)].max, + z = I - A; + if ("value" == M) { + return { + start: A + z * this._zoom.start / 100, + end: A + z * this._zoom.end / 100 + } + } + if ("time" == M) { + I = A + z * this._zoom.end / 100, A += z * this._zoom.start / 100; + var L = x.getAutoFormatter(A, I).formatter; + return { + start: x.format(L, A), + end: x.format(L, I) + } + } + return { + start: "", + end: "" + } + }, + __ondrift: function(o, z, r) { + this.zoomOption.zoomLock && (o = this._fillerShae); + var s = "filler" == o._type ? this._handleSize : 0; + if ("horizontal" == this.zoomOption.orient ? o.style.x + z - s <= this._location.x ? o.style.x = this._location.x + s : o.style.x + z + o.style.width + s >= this._location.x + this._location.width ? o.style.x = this._location.x + this._location.width - o.style.width - s : o.style.x += z : o.style.y + r - s <= this._location.y ? o.style.y = this._location.y + s : o.style.y + r + o.style.height + s >= this._location.y + this._location.height ? o.style.y = this._location.y + this._location.height - o.style.height - s : o.style.y += r, "filler" == o._type ? this._syncHandleShape() : this._syncFillerShape(), this.zoomOption.realtime && this._syncData(), this.zoomOption.showDetail) { + var l = this._getDetail(); + this._startShape.style.text = this._startShape.highlightStyle.text = l.start, this._endShape.style.text = this._endShape.highlightStyle.text = l.end, this._startShape.style.textPosition = this._startShape.highlightStyle.textPosition, this._endShape.style.textPosition = this._endShape.highlightStyle.textPosition + } + return !0 + }, + __ondragend: function() { + this.zoomOption.showDetail && (this._startShape.style.text = this._endShape.style.text = "=", this._startShape.style.textPosition = this._endShape.style.textPosition = "inside", this.zr.modShape(this._startShape.id), this.zr.modShape(this._endShape.id), this.zr.refreshNextFrame()), this.isDragend = !0 + }, + ondragend: function(a, i) { + this.isDragend && a.target && (!this.zoomOption.realtime && this._syncData(), i.dragOut = !0, i.dragIn = !0, this._isSilence || this.zoomOption.realtime || this.messageCenter.dispatch(w.EVENT.DATA_ZOOM, null, { + zoom: this._zoom + }, this.myChart), i.needRefresh = !1, this.isDragend = !1) + }, + ondataZoom: function(a, i) { + i.needRefresh = !0 + }, + absoluteZoom: function(a) { + this._zoom.start = a.start, this._zoom.end = a.end, this._zoom.start2 = a.start2, this._zoom.end2 = a.end2, this._syncShape(), this._syncData(!0) + }, + rectZoom: function(z) { + if (!z) { + return this._zoom.start = this._zoom.start2 = 0, this._zoom.end = this._zoom.end2 = 100, this._syncShape(), this._syncData(!0), this._zoom + } + var F = this.component.grid.getArea(), + A = { + x: z.x, + y: z.y, + width: z.width, + height: z.height + }; + if (A.width < 0 && (A.x += A.width, A.width = -A.width), A.height < 0 && (A.y += A.height, A.height = -A.height), A.x > F.x + F.width || A.y > F.y + F.height) { + return !1 + } + A.x < F.x && (A.x = F.x), A.x + A.width > F.x + F.width && (A.width = F.x + F.width - A.x), A.y + A.height > F.y + F.height && (A.height = F.y + F.height - A.y); + var B, l = (A.x - F.x) / F.width, + C = 1 - (A.x + A.width - F.x) / F.width, + D = 1 - (A.y + A.height - F.y) / F.height, + E = (A.y - F.y) / F.height; + return "horizontal" == this.zoomOption.orient ? (B = this._zoom.end - this._zoom.start, this._zoom.start += B * l, this._zoom.end -= B * C, B = this._zoom.end2 - this._zoom.start2, this._zoom.start2 += B * D, this._zoom.end2 -= B * E) : (B = this._zoom.end - this._zoom.start, this._zoom.start += B * D, this._zoom.end -= B * E, B = this._zoom.end2 - this._zoom.start2, this._zoom.start2 += B * l, this._zoom.end2 -= B * C), this._syncShape(), this._syncData(!0), this._zoom + }, + syncBackupData: function(A) { + for (var H, B, D = this._originalData.series, z = A.series, E = 0, F = z.length; F > E; E++) { + B = z[E].data || z[E].eventList, H = D[E] ? Math.floor(this._zoom.start / 100 * D[E].length) : 0; + for (var G = 0, C = B.length; C > G; G++) { + D[E] && (D[E][G + H] = B[G]) + } + } + }, + syncOption: function(a) { + this.silence(!0), this.option = a, this.option.dataZoom = this.reformOption(this.option.dataZoom), this.zoomOption = this.option.dataZoom, this.myChart.canvasSupported || (this.zoomOption.realtime = !1), this.clear(), this._location = this._getLocation(), this._zoom = this._getZoom(), this._backupData(), this.option.dataZoom && this.option.dataZoom.show && this._buildShape(), this._syncData(), this.silence(!1) + }, + silence: function(a) { + this._isSilence = a + }, + getRealDataIndex: function(a, n) { + if (!this._originalData || 0 === this._zoom.start && 100 == this._zoom.end) { + return n + } + var l = this._originalData.series; + return l[a] ? Math.floor(this._zoom.start / 100 * l[a].length) + n : -1 + }, + resize: function() { + this.clear(), this._location = this._getLocation(), this._zoom = this._getZoom(), this.option.dataZoom.show && this._buildShape() + } + }, q.inherits(y, p), m("../component").define("dataZoom", y), y + }), d("echarts/component/categoryAxis", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Rectangle", "../config", "zrender/tool/util", "zrender/tool/area", "../component"], function(m) { + function y(l, D, z, i, A, B) { + if (i.data.length < 1) { + return void console.error("option.data.length < 1.") + } + p.call(this, l, D, z, i, A), this.grid = this.component.grid; + for (var C in B) { + this[C] = B[C] + } + this.refresh(i) + } + var p = m("./base"), + u = m("zrender/shape/Text"), + j = m("zrender/shape/Line"), + v = m("zrender/shape/Rectangle"), + w = m("../config"); + w.categoryAxis = { + zlevel: 0, + z: 0, + show: !0, + position: "bottom", + name: "", + nameLocation: "end", + nameTextStyle: {}, + boundaryGap: !0, + axisLine: { + show: !0, + onZero: !0, + lineStyle: { + color: "#48b", + width: 2, + type: "solid" + } + }, + axisTick: { + show: !0, + interval: "auto", + inside: !1, + length: 5, + lineStyle: { + color: "#333", + width: 1 + } + }, + axisLabel: { + show: !0, + interval: "auto", + rotate: 0, + margin: 8, + textStyle: { + color: "#333" + } + }, + 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)"] + } + } + }; + var x = m("zrender/tool/util"), + q = m("zrender/tool/area"); + return y.prototype = { + type: w.COMPONENT_TYPE_AXIS_CATEGORY, + _getReformedLabel: function(a) { + var n = this.getDataFromOption(this.option.data[a]), + l = this.option.data[a].formatter || this.option.axisLabel.formatter; + return l && ("function" == typeof l ? n = l.call(this.myChart, n) : "string" == typeof l && (n = l.replace("{value}", n))), n + }, + _getInterval: function() { + var z = this.option.axisLabel.interval; + if ("auto" == z) { + var H = this.option.axisLabel.textStyle.fontSize, + B = this.option.data, + D = this.option.data.length; + if (this.isHorizontal()) { + if (D > 3) { + var l, E, G = this.getGap(), + A = !1, + C = Math.floor(0.5 / G); + for (C = 1 > C ? 1 : C, z = Math.floor(15 / G); !A && D > z;) { + z += C, A = !0, l = Math.floor(G * z); + for (var J = Math.floor((D - 1) / z) * z; J >= 0; J -= z) { + if (0 !== this.option.axisLabel.rotate) { + E = H + } else { + if (B[J].textStyle) { + E = q.getTextWidth(this._getReformedLabel(J), this.getFont(x.merge(B[J].textStyle, this.option.axisLabel.textStyle))) + } else { + var I = this._getReformedLabel(J) + "", + s = (I.match(/\w/g) || "").length, + F = I.length - s; + E = s * H * 2 / 3 + F * H + } + } + if (E > l) { + A = !1; + break + } + } + } + } else { + z = 1 + } + } else { + if (D > 3) { + var G = this.getGap(); + for (z = Math.floor(11 / G); H > G * z - 6 && D > z;) { + z++ + } + } else { + z = 1 + } + } + } else { + z = "function" == typeof z ? 1 : z - 0 + 1 + } + return z + }, + _buildShape: function() { + if (this._interval = this._getInterval(), this.option.show) { + this.option.splitArea.show && this._buildSplitArea(), this.option.splitLine.show && this._buildSplitLine(), this.option.axisLine.show && this._buildAxisLine(), this.option.axisTick.show && this._buildAxisTick(), this.option.axisLabel.show && this._buildAxisLabel(); + for (var a = 0, i = this.shapeList.length; i > a; a++) { + this.zr.addShape(this.shapeList[a]) + } + } + }, + _buildAxisTick: function() { + var A, K = this.option.data, + C = this.option.data.length, + F = this.option.axisTick, + G = F.length, + I = F.lineStyle.color, + J = F.lineStyle.width, + D = "function" == typeof F.interval ? F.interval : "auto" == F.interval && "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1, + B = D ? 1 : "auto" == F.interval ? this._interval : F.interval - 0 + 1, + E = F.onGap, + N = E ? this.getGap() / 2 : "undefined" == typeof E && this.option.boundaryGap ? this.getGap() / 2 : 0, + M = N > 0 ? -B : 0; + if (this.isHorizontal()) { + for (var z, H = "bottom" == this.option.position ? F.inside ? this.grid.getYend() - G - 1 : this.grid.getYend() + 1 : F.inside ? this.grid.getY() + 1 : this.grid.getY() - G - 1, a = M; C > a; a += B) { + (!D || D(a, K[a])) && (z = this.subPixelOptimize(this.getCoordByIndex(a) + (a >= 0 ? N : 0), J), A = { + _axisShape: "axisTick", + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + xStart: z, + yStart: H, + xEnd: z, + yEnd: H + G, + strokeColor: I, + lineWidth: J + } + }, this.shapeList.push(new j(A))) + } + } else { + for (var L, O = "left" == this.option.position ? F.inside ? this.grid.getX() + 1 : this.grid.getX() - G - 1 : F.inside ? this.grid.getXend() - G - 1 : this.grid.getXend() + 1, a = M; C > a; a += B) { + (!D || D(a, K[a])) && (L = this.subPixelOptimize(this.getCoordByIndex(a) - (a >= 0 ? N : 0), J), A = { + _axisShape: "axisTick", + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + xStart: O, + yStart: L, + xEnd: O + G, + yEnd: L, + strokeColor: I, + lineWidth: J + } + }, this.shapeList.push(new j(A))) + } + } + }, + _buildAxisLabel: function() { + var A, I, C = this.option.data, + n = this.option.data.length, + F = this.option.axisLabel, + H = F.rotate, + D = F.margin, + B = F.clickable, + E = F.textStyle, + L = "function" == typeof F.interval ? F.interval : !1; + if (this.isHorizontal()) { + var K, z; + "bottom" == this.option.position ? (K = this.grid.getYend() + D, z = "top") : (K = this.grid.getY() - D, z = "bottom"); + for (var G = 0; n > G; G += this._interval) { + L && !L(G, C[G]) || "" === this._getReformedLabel(G) || (I = x.merge(C[G].textStyle || {}, E), A = { + zlevel: this.getZlevelBase(), + z: this.getZBase() + 3, + hoverable: !1, + style: { + x: this.getCoordByIndex(G), + y: K, + color: I.color, + text: this._getReformedLabel(G), + textFont: this.getFont(I), + textAlign: I.align || "center", + textBaseline: I.baseline || z + } + }, H && (A.style.textAlign = H > 0 ? "bottom" == this.option.position ? "right" : "left" : "bottom" == this.option.position ? "left" : "right", A.rotation = [H * Math.PI / 180, A.style.x, A.style.y]), this.shapeList.push(new u(this._axisLabelClickable(B, A)))) + } + } else { + var s, J; + "left" == this.option.position ? (s = this.grid.getX() - D, J = "right") : (s = this.grid.getXend() + D, J = "left"); + for (var G = 0; n > G; G += this._interval) { + L && !L(G, C[G]) || "" === this._getReformedLabel(G) || (I = x.merge(C[G].textStyle || {}, E), A = { + zlevel: this.getZlevelBase(), + z: this.getZBase() + 3, + hoverable: !1, + style: { + x: s, + y: this.getCoordByIndex(G), + color: I.color, + text: this._getReformedLabel(G), + textFont: this.getFont(I), + textAlign: I.align || J, + textBaseline: I.baseline || 0 === G && "" !== this.option.name ? "bottom" : G == n - 1 && "" !== this.option.name ? "top" : "middle" + } + }, H && (A.rotation = [H * Math.PI / 180, A.style.x, A.style.y]), this.shapeList.push(new u(this._axisLabelClickable(B, A)))) + } + } + }, + _buildSplitLine: function() { + var A, L = this.option.data, + D = this.option.data.length, + G = this.option.splitLine, + H = G.lineStyle.type, + J = G.lineStyle.width, + K = G.lineStyle.color; + K = K instanceof Array ? K : [K]; + var E = K.length, + C = "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1, + F = G.onGap, + O = F ? this.getGap() / 2 : "undefined" == typeof F && this.option.boundaryGap ? this.getGap() / 2 : 0; + if (D -= F || "undefined" == typeof F && this.option.boundaryGap ? 1 : 0, this.isHorizontal()) { + for (var N, z = this.grid.getY(), I = this.grid.getYend(), a = 0; D > a; a += this._interval) { + (!C || C(a, L[a])) && (N = this.subPixelOptimize(this.getCoordByIndex(a) + O, J), A = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + xStart: N, + yStart: z, + xEnd: N, + yEnd: I, + strokeColor: K[a / this._interval % E], + lineType: H, + lineWidth: J + } + }, this.shapeList.push(new j(A))) + } + } else { + for (var M, P = this.grid.getX(), B = this.grid.getXend(), a = 0; D > a; a += this._interval) { + (!C || C(a, L[a])) && (M = this.subPixelOptimize(this.getCoordByIndex(a) - O, J), A = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + xStart: P, + yStart: M, + xEnd: B, + yEnd: M, + strokeColor: K[a / this._interval % E], + lineType: H, + lineWidth: J + } + }, this.shapeList.push(new j(A))) + } + } + }, + _buildSplitArea: function() { + var B, L = this.option.data, + E = this.option.splitArea, + H = E.areaStyle.color; + if (H instanceof Array) { + var o = H.length, + J = this.option.data.length, + K = "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1, + F = E.onGap, + D = F ? this.getGap() / 2 : "undefined" == typeof F && this.option.boundaryGap ? this.getGap() / 2 : 0; + if (this.isHorizontal()) { + for (var G, O = this.grid.getY(), N = this.grid.getHeight(), A = this.grid.getX(), I = 0; J >= I; I += this._interval) { + K && !K(I, L[I]) && J > I || (G = J > I ? this.getCoordByIndex(I) + D : this.grid.getXend(), B = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + x: A, + y: O, + width: G - A, + height: N, + color: H[I / this._interval % o] + } + }, this.shapeList.push(new v(B)), A = G) + } + } else { + for (var z, M = this.grid.getX(), P = this.grid.getWidth(), C = this.grid.getYend(), I = 0; J >= I; I += this._interval) { + K && !K(I, L[I]) && J > I || (z = J > I ? this.getCoordByIndex(I) - D : this.grid.getY(), B = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + x: M, + y: z, + width: P, + height: C - z, + color: H[I / this._interval % o] + } + }, this.shapeList.push(new v(B)), C = z) + } + } + } else { + B = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + x: this.grid.getX(), + y: this.grid.getY(), + width: this.grid.getWidth(), + height: this.grid.getHeight(), + color: H + } + }, this.shapeList.push(new v(B)) + } + }, + refresh: function(a) { + a && (this.option = this.reformOption(a), this.option.axisLabel.textStyle = this.getTextStyle(this.option.axisLabel.textStyle)), this.clear(), this._buildShape() + }, + getGap: function() { + var a = this.option.data.length, + i = this.isHorizontal() ? this.grid.getWidth() : this.grid.getHeight(); + return this.option.boundaryGap ? i / a : i / (a > 1 ? a - 1 : 1) + }, + getCoord: function(r) { + for (var B = this.option.data, s = B.length, z = this.getGap(), l = this.option.boundaryGap ? z / 2 : 0, A = 0; s > A; A++) { + if (this.getDataFromOption(B[A]) == r) { + return l = this.isHorizontal() ? this.grid.getX() + l : this.grid.getYend() - l + } + l += z + } + }, + getCoordByIndex: function(a) { + if (0 > a) { + return this.isHorizontal() ? this.grid.getX() : this.grid.getYend() + } + if (a > this.option.data.length - 1) { + return this.isHorizontal() ? this.grid.getXend() : this.grid.getY() + } + var n = this.getGap(), + l = this.option.boundaryGap ? n / 2 : 0; + return l += a * n, l = this.isHorizontal() ? this.grid.getX() + l : this.grid.getYend() - l + }, + getNameByIndex: function(a) { + return this.getDataFromOption(this.option.data[a]) + }, + getIndexByName: function(a) { + for (var r = this.option.data, l = r.length, o = 0; l > o; o++) { + if (this.getDataFromOption(r[o]) == a) { + return o + } + } + return -1 + }, + getValueFromCoord: function() { + return "" + }, + isMainAxis: function(a) { + return a % this._interval === 0 + } + }, x.inherits(y, p), m("../component").define("categoryAxis", y), y + }), d("echarts/component/valueAxis", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Rectangle", "../config", "../util/date", "zrender/tool/util", "../util/smartSteps", "../util/accMath", "../util/smartLogSteps", "../component"], function(m) { + function y(z, F, B, i, C, D, E) { + if (!E || 0 === E.length) { + return void console.err("option.series.length == 0.") + } + p.call(this, z, F, B, i, C), this.series = E, this.grid = this.component.grid; + for (var A in D) { + this[A] = D[A] + } + this.refresh(i, E) + } + var p = m("./base"), + u = m("zrender/shape/Text"), + j = m("zrender/shape/Line"), + v = m("zrender/shape/Rectangle"), + w = m("../config"); + w.valueAxis = { + zlevel: 0, + z: 0, + show: !0, + position: "left", + name: "", + nameLocation: "end", + nameTextStyle: {}, + boundaryGap: [0, 0], + axisLine: { + show: !0, + onZero: !0, + lineStyle: { + color: "#48b", + width: 2, + type: "solid" + } + }, + axisTick: { + show: !1, + inside: !1, + length: 5, + lineStyle: { + color: "#333", + width: 1 + } + }, + axisLabel: { + show: !0, + rotate: 0, + margin: 8, + textStyle: { + color: "#333" + } + }, + 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)"] + } + } + }; + var x = m("../util/date"), + q = m("zrender/tool/util"); + return y.prototype = { + type: w.COMPONENT_TYPE_AXIS_VALUE, + _buildShape: function() { + if (this._hasData = !1, this._calculateValue(), this._hasData && this.option.show) { + this.option.splitArea.show && this._buildSplitArea(), this.option.splitLine.show && this._buildSplitLine(), this.option.axisLine.show && this._buildAxisLine(), this.option.axisTick.show && this._buildAxisTick(), this.option.axisLabel.show && this._buildAxisLabel(); + for (var a = 0, i = this.shapeList.length; i > a; a++) { + this.zr.addShape(this.shapeList[a]) + } + } + }, + _buildAxisTick: function() { + var a, H = this._valueList, + A = this._valueList.length, + D = this.option.axisTick, + E = D.length, + F = D.lineStyle.color, + G = D.lineStyle.width; + if (this.isHorizontal()) { + for (var B, z = "bottom" === this.option.position ? D.inside ? this.grid.getYend() - E - 1 : this.grid.getYend() + 1 : D.inside ? this.grid.getY() + 1 : this.grid.getY() - E - 1, C = 0; A > C; C++) { + B = this.subPixelOptimize(this.getCoord(H[C]), G), a = { + _axisShape: "axisTick", + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + xStart: B, + yStart: z, + xEnd: B, + yEnd: z + E, + strokeColor: F, + lineWidth: G + } + }, this.shapeList.push(new j(a)) + } + } else { + for (var J, I = "left" === this.option.position ? D.inside ? this.grid.getX() + 1 : this.grid.getX() - E - 1 : D.inside ? this.grid.getXend() - E - 1 : this.grid.getXend() + 1, C = 0; A > C; C++) { + J = this.subPixelOptimize(this.getCoord(H[C]), G), a = { + _axisShape: "axisTick", + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + xStart: I, + yStart: J, + xEnd: I + E, + yEnd: J, + strokeColor: F, + lineWidth: G + } + }, this.shapeList.push(new j(a)) + } + } + }, + _buildAxisLabel: function() { + var z, H = this._valueList, + B = this._valueList.length, + n = this.option.axisLabel.rotate, + E = this.option.axisLabel.margin, + F = this.option.axisLabel.clickable, + G = this.option.axisLabel.textStyle; + if (this.isHorizontal()) { + var C, A; + "bottom" === this.option.position ? (C = this.grid.getYend() + E, A = "top") : (C = this.grid.getY() - E, A = "bottom"); + for (var D = 0; B > D; D++) { + z = { + zlevel: this.getZlevelBase(), + z: this.getZBase() + 3, + hoverable: !1, + style: { + x: this.getCoord(H[D]), + y: C, + color: "function" == typeof G.color ? G.color(H[D]) : G.color, + text: this._valueLabel[D], + textFont: this.getFont(G), + textAlign: G.align || "center", + textBaseline: G.baseline || A + } + }, n && (z.style.textAlign = n > 0 ? "bottom" === this.option.position ? "right" : "left" : "bottom" === this.option.position ? "left" : "right", z.rotation = [n * Math.PI / 180, z.style.x, z.style.y]), this.shapeList.push(new u(this._axisLabelClickable(F, z))) + } + } else { + var J, I; + "left" === this.option.position ? (J = this.grid.getX() - E, I = "right") : (J = this.grid.getXend() + E, I = "left"); + for (var D = 0; B > D; D++) { + z = { + zlevel: this.getZlevelBase(), + z: this.getZBase() + 3, + hoverable: !1, + style: { + x: J, + y: this.getCoord(H[D]), + color: "function" == typeof G.color ? G.color(H[D]) : G.color, + text: this._valueLabel[D], + textFont: this.getFont(G), + textAlign: G.align || I, + textBaseline: G.baseline || (0 === D && "" !== this.option.name ? "bottom" : D === B - 1 && "" !== this.option.name ? "top" : "middle") + } + }, n && (z.rotation = [n * Math.PI / 180, z.style.x, z.style.y]), this.shapeList.push(new u(this._axisLabelClickable(F, z))) + } + } + }, + _buildSplitLine: function() { + var A, K = this._valueList, + C = this._valueList.length, + F = this.option.splitLine, + G = F.lineStyle.type, + I = F.lineStyle.width, + J = F.lineStyle.color; + J = J instanceof Array ? J : [J]; + var D = J.length; + if (this.isHorizontal()) { + for (var B, E = this.grid.getY(), M = this.grid.getYend(), L = 0; C > L; L++) { + B = this.subPixelOptimize(this.getCoord(K[L]), I), A = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + xStart: B, + yStart: E, + xEnd: B, + yEnd: M, + strokeColor: J[L % D], + lineType: G, + lineWidth: I + } + }, this.shapeList.push(new j(A)) + } + } else { + for (var z, H = this.grid.getX(), a = this.grid.getXend(), L = 0; C > L; L++) { + z = this.subPixelOptimize(this.getCoord(K[L]), I), A = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + xStart: H, + yStart: z, + xEnd: a, + yEnd: z, + strokeColor: J[L % D], + lineType: G, + lineWidth: I + } + }, this.shapeList.push(new j(A)) + } + } + }, + _buildSplitArea: function() { + var A, J = this.option.splitArea.areaStyle.color; + if (J instanceof Array) { + var C = J.length, + F = this._valueList, + o = this._valueList.length; + if (this.isHorizontal()) { + for (var H, I = this.grid.getY(), D = this.grid.getHeight(), B = this.grid.getX(), E = 0; o >= E; E++) { + H = o > E ? this.getCoord(F[E]) : this.grid.getXend(), A = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + x: B, + y: I, + width: H - B, + height: D, + color: J[E % C] + } + }, this.shapeList.push(new v(A)), B = H + } + } else { + for (var L, K = this.grid.getX(), z = this.grid.getWidth(), G = this.grid.getYend(), E = 0; o >= E; E++) { + L = o > E ? this.getCoord(F[E]) : this.grid.getY(), A = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + x: K, + y: L, + width: z, + height: G - L, + color: J[E % C] + } + }, this.shapeList.push(new v(A)), G = L + } + } + } else { + A = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + x: this.grid.getX(), + y: this.grid.getY(), + width: this.grid.getWidth(), + height: this.grid.getHeight(), + color: J + } + }, this.shapeList.push(new v(A)) + } + }, + _calculateValue: function() { + if (isNaN(this.option.min - 0) || isNaN(this.option.max - 0)) { + for (var z, H, B = {}, E = this.component.legend, r = 0, F = this.series.length; F > r; r++) { + !(this.series[r].type != w.CHART_TYPE_LINE && this.series[r].type != w.CHART_TYPE_BAR && this.series[r].type != w.CHART_TYPE_SCATTER && this.series[r].type != w.CHART_TYPE_K && this.series[r].type != w.CHART_TYPE_EVENTRIVER || E && !E.isSelected(this.series[r].name) || (z = this.series[r].xAxisIndex || 0, H = this.series[r].yAxisIndex || 0, this.option.xAxisIndex != z && this.option.yAxisIndex != H || !this._calculSum(B, r))) + } + var G; + for (var r in B) { + G = B[r]; + for (var C = 0, A = G.length; A > C; C++) { + if (!isNaN(G[C])) { + this._hasData = !0, this._min = G[C], this._max = G[C]; + break + } + } + if (this._hasData) { + break + } + } + for (var r in B) { + G = B[r]; + for (var C = 0, A = G.length; A > C; C++) { + isNaN(G[C]) || (this._min = Math.min(this._min, G[C]), this._max = Math.max(this._max, G[C])) + } + } + var D = "log" !== this.option.type ? this.option.boundaryGap : [0, 0], + I = Math.abs(this._max - this._min); + this._min = isNaN(this.option.min - 0) ? this._min - Math.abs(I * D[0]) : this.option.min - 0, this._max = isNaN(this.option.max - 0) ? this._max + Math.abs(I * D[1]) : this.option.max - 0, this._min === this._max && (0 === this._max ? this._max = 1 : this._max > 0 ? this._min = this._max / this.option.splitNumber != null ? this.option.splitNumber : 5 : this._max = this._max / this.option.splitNumber != null ? this.option.splitNumber : 5), "time" === this.option.type ? this._reformTimeValue() : "log" === this.option.type ? this._reformLogValue() : this._reformValue(this.option.scale) + } else { + this._hasData = !0, this._min = this.option.min - 0, this._max = this.option.max - 0, "time" === this.option.type ? this._reformTimeValue() : "log" === this.option.type ? this._reformLogValue() : this._customerValue() + } + }, + _calculSum: function(z, G) { + var B, E, r = this.series[G].name || "kener"; + if (this.series[G].stack) { + var F = "__Magic_Key_Positive__" + this.series[G].stack, + C = "__Magic_Key_Negative__" + this.series[G].stack; + z[F] = z[F] || [], z[C] = z[C] || [], z[r] = z[r] || [], E = this.series[G].data; + for (var A = 0, D = E.length; D > A; A++) { + B = this.getDataFromOption(E[A]), "-" !== B && (B -= 0, B >= 0 ? null != z[F][A] ? z[F][A] += B : z[F][A] = B : null != z[C][A] ? z[C][A] += B : z[C][A] = B, this.option.scale && z[r].push(B)) + } + } else { + if (z[r] = z[r] || [], this.series[G].type != w.CHART_TYPE_EVENTRIVER) { + E = this.series[G].data; + for (var A = 0, D = E.length; D > A; A++) { + B = this.getDataFromOption(E[A]), this.series[G].type === w.CHART_TYPE_K ? (z[r].push(B[0]), z[r].push(B[1]), z[r].push(B[2]), z[r].push(B[3])) : B instanceof Array ? (-1 != this.option.xAxisIndex && z[r].push("time" != this.option.type ? B[0] : x.getNewDate(B[0])), -1 != this.option.yAxisIndex && z[r].push("time" != this.option.type ? B[1] : x.getNewDate(B[1]))) : z[r].push(B) + } + } else { + E = this.series[G].data; + for (var A = 0, D = E.length; D > A; A++) { + for (var I = E[A].evolution, H = 0, s = I.length; s > H; H++) { + z[r].push(x.getNewDate(I[H].time)) + } + } + } + } + }, + _reformValue: function(r) { + var l = m("../util/smartSteps"), + o = this.option.splitNumber; + !r && this._min >= 0 && this._max >= 0 && (this._min = 0), !r && this._min <= 0 && this._max <= 0 && (this._max = 0); + var e = l(this._min, this._max, o); + o = null != o ? o : e.secs, this._min = e.min, this._max = e.max, this._valueList = e.pnts, this._reformLabelData() + }, + _reformTimeValue: function() { + var o = null != this.option.splitNumber ? this.option.splitNumber : 5, + z = x.getAutoFormatter(this._min, this._max, o), + r = z.formatter, + s = z.gapValue; + this._valueList = [x.getNewDate(this._min)]; + var l; + switch (r) { + case "week": + l = x.nextMonday(this._min); + break; + case "month": + l = x.nextNthOnMonth(this._min, 1); + break; + case "quarter": + l = x.nextNthOnQuarterYear(this._min, 1); + break; + case "half-year": + l = x.nextNthOnHalfYear(this._min, 1); + break; + case "year": + l = x.nextNthOnYear(this._min, 1); + break; + default: + 7200000 >= s ? l = (Math.floor(this._min / s) + 1) * s : (l = x.getNewDate(this._min - -s), l.setHours(6 * Math.round(l.getHours() / 6)), l.setMinutes(0), l.setSeconds(0)) + } + for (l - this._min < s / 2 && (l -= -s), z = x.getNewDate(l), o *= 1.5; o-- >= 0 && (("month" == r || "quarter" == r || "half-year" == r || "year" == r) && z.setDate(1), !(this._max - z < s / 2));) { + this._valueList.push(z), z = x.getNewDate(z - -s) + } + this._valueList.push(x.getNewDate(this._max)), this._reformLabelData(function(a) { + return function(e) { + return x.format(a, e) + } + }(r)) + }, + _customerValue: function() { + var r = m("../util/accMath"), + l = null != this.option.splitNumber ? this.option.splitNumber : 5, + o = (this._max - this._min) / l; + this._valueList = []; + for (var e = 0; l >= e; e++) { + this._valueList.push(r.accAdd(this._min, r.accMul(o, e))) + } + this._reformLabelData() + }, + _reformLogValue: function() { + var e = this.option, + a = m("../util/smartLogSteps")({ + dataMin: this._min, + dataMax: this._max, + logPositive: e.logPositive, + logLabelBase: e.logLabelBase, + splitNumber: e.splitNumber + }); + this._min = a.dataMin, this._max = a.dataMax, this._valueList = a.tickList, this._dataMappingMethods = a.dataMappingMethods, this._reformLabelData(a.labelFormatter) + }, + _reformLabelData: function(a) { + this._valueLabel = []; + var r = this.option.axisLabel.formatter; + if (r) { + for (var l = 0, o = this._valueList.length; o > l; l++) { + "function" == typeof r ? this._valueLabel.push(a ? r.call(this.myChart, this._valueList[l], a) : r.call(this.myChart, this._valueList[l])) : "string" == typeof r && this._valueLabel.push(a ? x.format(r, this._valueList[l]) : r.replace("{value}", this._valueList[l])) + } + } else { + for (var l = 0, o = this._valueList.length; o > l; l++) { + this._valueLabel.push(a ? a(this._valueList[l]) : this.numAddCommas(this._valueList[l])) + } + } + }, + getExtremum: function() { + this._calculateValue(); + var a = this._dataMappingMethods; + return { + min: this._min, + max: this._max, + dataMappingMethods: a ? q.merge({}, a) : null + } + }, + refresh: function(a, i) { + a && (this.option = this.reformOption(a), this.option.axisLabel.textStyle = q.merge(this.option.axisLabel.textStyle || {}, this.ecTheme.textStyle), this.series = i), this.zr && (this.clear(), this._buildShape()) + }, + getCoord: function(a) { + this._dataMappingMethods && (a = this._dataMappingMethods.value2Coord(a)), a = a < this._min ? this._min : a, a = a > this._max ? this._max : a; + var i; + return i = this.isHorizontal() ? this.grid.getX() + (a - this._min) / (this._max - this._min) * this.grid.getWidth() : this.grid.getYend() - (a - this._min) / (this._max - this._min) * this.grid.getHeight() + }, + getCoordSize: function(a) { + return Math.abs(this.isHorizontal() ? a / (this._max - this._min) * this.grid.getWidth() : a / (this._max - this._min) * this.grid.getHeight()) + }, + getValueFromCoord: function(a) { + var i; + return this.isHorizontal() ? (a = a < this.grid.getX() ? this.grid.getX() : a, a = a > this.grid.getXend() ? this.grid.getXend() : a, i = this._min + (a - this.grid.getX()) / this.grid.getWidth() * (this._max - this._min)) : (a = a < this.grid.getY() ? this.grid.getY() : a, a = a > this.grid.getYend() ? this.grid.getYend() : a, i = this._max - (a - this.grid.getY()) / this.grid.getHeight() * (this._max - this._min)), this._dataMappingMethods && (i = this._dataMappingMethods.coord2Value(i)), i.toFixed(2) - 0 + }, + isMaindAxis: function(a) { + for (var n = 0, l = this._valueList.length; l > n; n++) { + if (this._valueList[n] === a) { + return !0 + } + } + return !1 + } + }, q.inherits(y, p), m("../component").define("valueAxis", y), y + }), d("echarts/util/date", [], function() { + function p(C, J, D) { + D = D > 1 ? D : 2; + for (var F, m, G, H, I = 0, E = w.length; E > I; I++) { + if (F = w[I].value, m = Math.ceil(J / F) * F - Math.floor(C / F) * F, Math.round(m / F) <= 1.2 * D) { + G = w[I].formatter, H = w[I].value; + break + } + } + return null == G && (G = "year", F = 31708800000, m = Math.ceil(J / F) * F - Math.floor(C / F) * F, H = Math.round(m / (D - 1) / F) * F), { + formatter: G, + gapValue: H + } + } + + function B(a) { + return 10 > a ? "0" + a : a + } + + function u(C, D) { + ("week" == C || "month" == C || "quarter" == C || "half-year" == C || "year" == C) && (C = "MM - dd\nyyyy"); + var G = q(D), + t = G.getFullYear(), + H = G.getMonth() + 1, + I = G.getDate(), + J = G.getHours(), + E = G.getMinutes(), + F = G.getSeconds(); + return C = C.replace("MM", B(H)), C = C.toLowerCase(), C = C.replace("yyyy", t), C = C.replace("yy", t % 100), C = C.replace("dd", B(I)), C = C.replace("d", I), C = C.replace("hh", B(J)), C = C.replace("h", J), C = C.replace("mm", B(E)), C = C.replace("m", E), C = C.replace("ss", B(F)), C = C.replace("s", F) + } + + function x(a) { + return a = q(a), a.setDate(a.getDate() + 8 - a.getDay()), a + } + + function j(a, m, l) { + return a = q(a), a.setMonth(Math.ceil((a.getMonth() + 1) / l) * l), a.setDate(m), a + } + + function y(a, i) { + return j(a, i, 1) + } + + function z(a, i) { + return j(a, i, 3) + } + + function A(a, i) { + return j(a, i, 6) + } + + function v(a, i) { + return j(a, i, 12) + } + + function q(a) { + return a instanceof Date ? a : new Date("string" == typeof a ? a.replace(/-/g, "/") : a) + } + var w = [{ + formatter: "hh : mm : ss", + value: 1000 + }, { + formatter: "hh : mm : ss", + value: 5000 + }, { + formatter: "hh : mm : ss", + value: 10000 + }, { + formatter: "hh : mm : ss", + value: 15000 + }, { + formatter: "hh : mm : ss", + value: 30000 + }, { + formatter: "hh : mm\nMM - dd", + value: 60000 + }, { + formatter: "hh : mm\nMM - dd", + value: 300000 + }, { + formatter: "hh : mm\nMM - dd", + value: 600000 + }, { + formatter: "hh : mm\nMM - dd", + value: 900000 + }, { + formatter: "hh : mm\nMM - dd", + value: 1800000 + }, { + formatter: "hh : mm\nMM - dd", + value: 3600000 + }, { + formatter: "hh : mm\nMM - dd", + value: 7200000 + }, { + formatter: "hh : mm\nMM - dd", + value: 21600000 + }, { + formatter: "hh : mm\nMM - dd", + value: 43200000 + }, { + formatter: "MM - dd\nyyyy", + value: 86400000 + }, { + formatter: "week", + value: 604800000 + }, { + formatter: "month", + value: 2678400000 + }, { + formatter: "quarter", + value: 8208000000 + }, { + formatter: "half-year", + value: 16416000000 + }, { + formatter: "year", + value: 32832000000 + }]; + return { + getAutoFormatter: p, + getNewDate: q, + format: u, + nextMonday: x, + nextNthPerNmonth: j, + nextNthOnMonth: y, + nextNthOnQuarterYear: z, + nextNthOnHalfYear: A, + nextNthOnYear: v + } + }), d("echarts/util/smartSteps", [], function() { + function C(a) { + return ah.log(H(a)) / ah.LN10 + } + + function Z(a) { + return ah.pow(10, a) + } + + function G(a) { + return a === ae(a) + } + + function Q(l, r, m, i) { + z = i || {}, D = z.steps || O, J = z.secs || af, m = ac(+m || 0) % 99, l = +l || 0, r = +r || 0, ag = j = 0, "min" in z && (l = +z.min || 0, ag = 1), "max" in z && (r = +z.max || 0, j = 1), l > r && (r = [l, l = r][0]); + var p = r - l; + if (ag && j) { + return E(l, r, m) + } + if ((m || 5) > p) { + if (G(l) && G(r)) { + return B(l, r, m) + } + if (0 === p) { + return S(l, r, m) + } + } + return F(l, r, m) + } + + function q(u, w, I, o) { + o = o || 0; + var L = R((w - u) / I, -1), + x = R(u, -1, 1), + v = R(w, -1), + y = ah.min(L.e, x.e, v.e); + 0 === x.c ? y = ah.min(L.e, v.e) : 0 === v.c && (y = ah.min(L.e, x.e)), T(L, { + c: 0, + e: y + }), T(x, L, 1), T(v, L), o += y, u = x.c, w = v.c; + for (var X = (w - u) / I, W = Z(o), t = 0, K = [], r = I + 1; r--;) { + K[r] = (u + X * r) * W + } + if (0 > o) { + t = aa(W), X = +(X * W).toFixed(t), u = +(u * W).toFixed(t), w = +(w * W).toFixed(t); + for (var r = K.length; r--;) { + K[r] = K[r].toFixed(t), 0 === +K[r] && (K[r] = "0") + } + } else { + u *= W, w *= W, X *= W + } + return J = 0, D = 0, z = 0, { + min: u, + max: w, + secs: I, + step: X, + fix: t, + exp: o, + pnts: K + } + } + + function R(i, e, l) { + e = ac(e % 10) || 2, 0 > e && (G(i) ? e = ("" + H(i)).replace(/0+$/, "").length || 1 : (i = i.toFixed(15).replace(/0+$/, ""), e = i.replace(".", "").replace(/^[-0]+/, "").length, i = +i)); + var m = ae(C(i)) - e + 1, + p = +(i * Z(-m)).toFixed(15) || 0; + return p = l ? ae(p) : M(p), !p && (m = 0), ("" + H(p)).length > e && (m += 1, p /= 10), { + c: p, + e: m + } + } + + function T(m, o, p) { + var l = o.e - m.e; + l && (m.e += l, m.c *= Z(-l), m.c = p ? ae(m.c) : M(m.c)) + } + + function Y(a, m, l) { + a.e < m.e ? T(m, a, l) : T(a, m, l) + } + + function N(a, o) { + o = o || O, a = R(a); + for (var l = a.c, m = 0; l > o[m];) { + m++ + } + if (!o[m]) { + for (l /= 10, a.e += 1, m = 0; l > o[m];) { + m++ + } + } + return a.c = o[m], a + } + + function F(i, x, r) { + var w, m = r || +J.slice(-1), + v = N((x - i) / m, D), + y = R(x - i), + l = R(i, -1, 1), + a = R(x, -1); + if (T(y, v), T(l, v, 1), T(a, v), r ? w = ad(l, a, m) : m = P(l, a), G(i) && G(x) && i * x >= 0) { + if (m > x - i) { + return B(i, x, m) + } + m = ab(i, x, r, l, a, m) + } + var o = A(i, x, l.c, a.c); + return l.c = o[0], a.c = o[1], (ag || j) && ai(i, x, l, a), q(l.c, a.c, m, a.e) + } + + function P(m, t) { + for (var u, l, v, w, x = [], p = J.length; p--;) { + u = J[p], l = N((t.c - m.c) / u, D), l = l.c * Z(l.e), v = ae(m.c / l) * l, w = M(t.c / l) * l, x[p] = { + min: v, + max: w, + step: l, + span: w - v + } + } + return x.sort(function(a, o) { + var n = a.span - o.span; + return 0 === n && (n = a.step - o.step), n + }), x = x[0], u = x.span / x.step, m.c = x.min, t.c = x.max, 3 > u ? 2 * u : u + } + + function ad(p, u, w) { + for (var l, x, y = u.c, I = (u.c - p.c) / w - 1; y > p.c;) { + I = N(I + 1, D), I = I.c * Z(I.e), l = I * w, x = M(u.c / I) * I, y = x - l + } + var t = p.c - y, + v = x - u.c, + K = t - v; + return K > 1.1 * I && (K = ac(K / I / 2) * I, y += K, x += K), p.c = y, u.c = x, I + } + + function ab(p, w, i, x, y, I) { + var u = y.c - x.c, + t = u / I * Z(y.e); + if (!G(t) && (t = ae(t), u = t * I, w - p > u && (t += 1, u = t * I, !i && t * (I - 1) >= w - p && (I -= 1, u = t * I)), u >= w - p)) { + var v = u - (w - p); + x.c = ac(p - v / 2), y.c = ac(w + v / 2), x.e = 0, y.e = 0 + } + return I + } + + function B(a, w, l) { + if (l = l || 5, ag) { + w = a + l + } else { + if (j) { + a = w - l + } else { + var m = l - (w - a), + p = ac(a - m / 2), + u = ac(w + m / 2), + v = A(a, w, p, u); + a = v[0], w = v[1] + } + } + return q(a, w, l) + } + + function S(a, o, l) { + l = l || 5; + var m = ah.min(H(o / l), l) / 2.1; + return ag ? o = a + m : j ? a = o - m : (a -= m, o += m), F(a, o, l) + } + + function A(a, o, l, m) { + return a >= 0 && 0 > l ? (m -= l, l = 0) : 0 >= o && m > 0 && (l -= m, m = 0), [l, m] + } + + function aa(a) { + return a = (+a).toFixed(15).split("."), a.pop().replace(/0+$/, "").length + } + + function ai(m, u, o, p) { + if (ag) { + var l = R(m, 4, 1); + o.e - l.e > 6 && (l = { + c: 0, + e: o.e + }), Y(o, l), Y(p, l), p.c += l.c - o.c, o.c = l.c + } else { + if (j) { + var s = R(u, 4); + p.e - s.e > 6 && (s = { + c: 0, + e: p.e + }), Y(o, s), Y(p, s), o.c += s.c - p.c, p.c = s.c + } + } + } + + function E(r, aj, x) { + var L = x ? [x] : J, + X = aj - r; + if (0 === X) { + return aj = R(aj, 3), x = L[0], aj.c = ac(aj.c + x / 2), q(aj.c - x, aj.c, x, aj.e) + } + H(aj / X) < 1e-06 && (aj = 0), H(r / X) < 1e-06 && (r = 0); + var I, w, K, am = [ + [5, 10], + [10, 2], + [50, 10], + [100, 2] + ], + al = [], + o = [], + W = R(aj - r, 3), + a = R(r, -1, 1), + ak = R(aj, -1); + T(a, W, 1), T(ak, W), X = ak.c - a.c, W.c = X; + for (var an = L.length; an--;) { + x = L[an], I = M(X / x), w = I * x - X, K = 3 * (w + 3), K += 2 * (x - L[0] + 2), x % 5 === 0 && (K -= 10); + for (var v = am.length; v--;) { + I % am[v][0] === 0 && (K /= am[v][1]) + } + o[an] = [x, I, w, K].join(), al[an] = { + secs: x, + step: I, + delta: w, + score: K + } + } + return al.sort(function(i, l) { + return i.score - l.score + }), al = al[0], a.c = ac(a.c - al.delta / 2), ak.c = ac(ak.c + al.delta / 2), q(a.c, ak.c, al.secs, W.e) + } + var z, D, J, ag, j, O = [10, 20, 25, 50], + af = [4, 5, 6], + ah = Math, + ac = ah.round, + ae = ah.floor, + M = ah.ceil, + H = ah.abs; + return Q + }), d("echarts/util/smartLogSteps", ["require", "./number"], function(G) { + function ak(a) { + return Q(), am = a || {}, ae(), q(), [af(), Q()][0] + } + + function Q() { + an = am = O = A = z = M = av = Z = D = ag = null + } + + function ae() { + D = am.logLabelBase, null == D ? (ag = "plain", D = 10, A = R) : (D = +D, 1 > D && (D = 10), ag = "exponent", A = ac(D)), av = am.splitNumber, null == av && (av = H); + var a = parseFloat(am.dataMin), + i = parseFloat(am.dataMax); + isFinite(a) || isFinite(i) ? isFinite(a) ? isFinite(i) ? a > i && (i = [a, a = i][0]) : i = a : a = i : a = i = 1, an = am.logPositive, null == an && (an = i > 0 || 0 === a), z = an ? a : -i, M = an ? i : -a, aj > z && (z = aj), aj > M && (M = aj) + } + + function q() { + function p() { + av > w && (av = w); + var o = aq(ab(w / av)), + L = ao(ab(w / o)), + r = o * L, + J = (r - I) / 2, + m = aq(ab(C - J)); + ap(m - C) && (m -= 1), O = -m * A; + for (var K = m; y >= K - o; K += o) { + Z.push(ar(D, K)) + } + } + + function F() { + for (var a = v(u, 0), o = a + 2; o > a && l(a + 1) + x(a + 1) * B < C;) { + a++ + } + for (var i = v(E, 0), o = i - 2; i > o && l(i - 1) + x(i - 1) * B > y;) { + i-- + } + O = -(l(a) * R + x(a) * Y); + for (var n = a; i >= n; n++) { + var s = l(n), + r = x(n); + Z.push(ar(10, s) * ar(2, r)) + } + } + + function v(a, i) { + return 3 * a + i + } + + function x(a) { + return a - 3 * l(a) + } + + function l(a) { + return aq(ab(a / 3)) + } + Z = []; + var y = ab(ac(M) / A), + C = ab(ac(z) / A), + E = ao(y), + u = aq(C), + w = E - u, + I = y - C; + "exponent" === ag ? p() : N >= w && av > N ? F() : p() + } + + function af() { + for (var p = [], w = 0, r = Z.length; r > w; w++) { + p[w] = (an ? 1 : -1) * Z[w] + }!an && p.reverse(); + var u = ai(), + m = u.value2Coord, + v = m(p[0]), + s = m(p[p.length - 1]); + return v === s && (v -= 1, s += 1), { + dataMin: v, + dataMax: s, + tickList: p, + logPositive: an, + labelFormatter: ah(), + dataMappingMethods: u + } + } + + function ah() { + if ("exponent" === ag) { + var a = D, + i = A; + return function(e) { + if (!isFinite(parseFloat(e))) { + return "" + } + var l = ""; + return 0 > e && (e = -e, l = "-"), l + a + ad(ac(e) / i) + } + } + return function(l) { + return isFinite(parseFloat(l)) ? at.addCommas(P(l)) : "" + } + } + + function ai() { + var a = an, + i = O; + return { + value2Coord: function(e) { + return null == e || isNaN(e) || !isFinite(e) ? e : (e = parseFloat(e), isFinite(e) ? a && aj > e ? e = aj : !a && e > -aj && (e = -aj) : e = aj, e = au(e), (a ? 1 : -1) * (ac(e) + i)) + }, + coord2Value: function(e) { + return null == e || isNaN(e) || !isFinite(e) ? e : (e = parseFloat(e), isFinite(e) || (e = aj), a ? ar(aa, e - i) : -ar(aa, -e + i)) + } + } + } + + function ab(a) { + return +Number(+a).toFixed(14) + } + + function P(a) { + return Number(a).toFixed(15).replace(/\.?0*$/, "") + } + + function ad(m) { + m = P(Math.round(m)); + for (var r = [], o = 0, p = m.length; p > o; o++) { + var l = m.charAt(o); + r.push(al[l] || "") + } + return r.join("") + } + + function ap(a) { + return a > -aj && aj > a + } + var an, D, ag, A, am, av, O, z, M, Z, at = G("./number"), + j = Math, + ac = j.log, + ar = j.pow, + au = j.abs, + ao = j.ceil, + aq = j.floor, + aa = j.E, + R = j.LN10, + Y = j.LN2, + B = Y / R, + aj = 1e-09, + H = 5, + N = 2, + al = { + 0: "⁰", + 1: "¹", + 2: "²", + 3: "³", + 4: "⁴", + 5: "⁵", + 6: "⁶", + 7: "⁷", + 8: "⁸", + 9: "⁹", + "-": "⁻" + }; + return ak + }), d("echarts/chart/line", ["require", "./base", "zrender/shape/Polyline", "../util/shape/Icon", "../util/shape/HalfSmoothPolygon", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "../chart"], function(p) { + function B(m, s, n, l, r) { + x.call(this, m, s, n, l, r), this.refresh(l) + } + + function u(D, L, F) { + var I = L.x, + o = L.y, + J = L.width, + K = L.height, + G = K / 2; + L.symbol.match("empty") && (D.fillStyle = "#fff"), L.brushType = "both"; + var E = L.symbol.replace("empty", "").toLowerCase(); + E.match("star") ? (G = E.replace("star", "") - 0 || 5, o -= 1, E = "star") : ("rectangle" === E || "arrow" === E) && (I += (J - K) / 2, J = K); + var H = ""; + if (E.match("image") && (H = E.replace(new RegExp("^image:\\/\\/"), ""), E = "image", I += Math.round((J - K) / 2) - 1, J = K += 2), E = y.prototype.iconLibrary[E]) { + var N = L.x, + M = L.y; + D.moveTo(N, M + G), D.lineTo(N + 5, M + G), D.moveTo(N + L.width - 5, M + G), D.lineTo(N + L.width, M + G); + var C = this; + E(D, { + x: I + 4, + y: o + 4, + width: J - 8, + height: K - 8, + n: G, + image: H + }, function() { + C.modSelf(), F() + }) + } else { + D.moveTo(I, o + G), D.lineTo(I + J, o + G) + } + } + var x = p("./base"), + j = p("zrender/shape/Polyline"), + y = p("../util/shape/Icon"), + z = p("../util/shape/HalfSmoothPolygon"); + p("../component/axis"), p("../component/grid"), p("../component/dataZoom"); + var A = p("../config"); + A.line = { + zlevel: 0, + z: 2, + clickable: !0, + legendHoverLink: !0, + xAxisIndex: 0, + yAxisIndex: 0, + dataFilter: "nearest", + itemStyle: { + normal: { + label: { + show: !1 + }, + lineStyle: { + width: 2, + type: "solid", + shadowColor: "rgba(0,0,0,0)", + shadowBlur: 0, + shadowOffsetX: 0, + shadowOffsetY: 0 + } + }, + emphasis: { + label: { + show: !1 + } + } + }, + symbolSize: 2, + showAllSymbol: !1 + }; + var v = p("../util/ecData"), + q = p("zrender/tool/util"), + w = p("zrender/tool/color"); + return B.prototype = { + type: A.CHART_TYPE_LINE, + _buildShape: function() { + this.finalPLMap = {}, this._buildPosition() + }, + _buildHorizontal: function(H, Z, M, R) { + for (var D, S, X, Y, O, K, Q, ac, ab, G = this.series, T = M[0][0], F = G[T], aa = this.component.xAxis.getAxis(F.xAxisIndex || 0), af = {}, J = 0, E = Z; E > J && null != aa.getNameByIndex(J); J++) { + S = aa.getCoordByIndex(J); + for (var I = 0, N = M.length; N > I; I++) { + D = this.component.yAxis.getAxis(G[M[I][0]].yAxisIndex || 0), O = Y = Q = K = D.getCoord(0); + for (var ae = 0, C = M[I].length; C > ae; ae++) { + T = M[I][ae], F = G[T], ac = F.data[J], ab = this.getDataFromOption(ac, "-"), af[T] = af[T] || [], R[T] = R[T] || { + min: Number.POSITIVE_INFINITY, + max: Number.NEGATIVE_INFINITY, + sum: 0, + counter: 0, + average: 0 + }, "-" !== ab ? (ab >= 0 ? (Y -= ae > 0 ? D.getCoordSize(ab) : O - D.getCoord(ab), X = Y) : 0 > ab && (K += ae > 0 ? D.getCoordSize(ab) : D.getCoord(ab) - Q, X = K), af[T].push([S, X, J, aa.getNameByIndex(J), S, O]), R[T].min > ab && (R[T].min = ab, R[T].minY = X, R[T].minX = S), R[T].max < ab && (R[T].max = ab, R[T].maxY = X, R[T].maxX = S), R[T].sum += ab, R[T].counter++) : af[T].length > 0 && (this.finalPLMap[T] = this.finalPLMap[T] || [], this.finalPLMap[T].push(af[T]), af[T] = []) + } + } + Y = this.component.grid.getY(); + for (var P, I = 0, N = M.length; N > I; I++) { + for (var ae = 0, C = M[I].length; C > ae; ae++) { + T = M[I][ae], F = G[T], ac = F.data[J], ab = this.getDataFromOption(ac, "-"), "-" == ab && this.deepQuery([ac, F, this.option], "calculable") && (P = this.deepQuery([ac, F], "symbolSize"), Y += 2 * P + 5, X = Y, this.shapeList.push(this._getCalculableItem(T, J, aa.getNameByIndex(J), S, X, "horizontal"))) + } + } + } + for (var ad in af) { + af[ad].length > 0 && (this.finalPLMap[ad] = this.finalPLMap[ad] || [], this.finalPLMap[ad].push(af[ad]), af[ad] = []) + } + this._calculMarkMapXY(R, M, "y"), this._buildBorkenLine(H, this.finalPLMap, aa, "horizontal") + }, + _buildVertical: function(H, Z, M, R) { + for (var D, S, X, Y, O, K, Q, ac, ab, G = this.series, T = M[0][0], F = G[T], aa = this.component.yAxis.getAxis(F.yAxisIndex || 0), af = {}, J = 0, E = Z; E > J && null != aa.getNameByIndex(J); J++) { + X = aa.getCoordByIndex(J); + for (var I = 0, N = M.length; N > I; I++) { + D = this.component.xAxis.getAxis(G[M[I][0]].xAxisIndex || 0), O = Y = Q = K = D.getCoord(0); + for (var ae = 0, C = M[I].length; C > ae; ae++) { + T = M[I][ae], F = G[T], ac = F.data[J], ab = this.getDataFromOption(ac, "-"), af[T] = af[T] || [], R[T] = R[T] || { + min: Number.POSITIVE_INFINITY, + max: Number.NEGATIVE_INFINITY, + sum: 0, + counter: 0, + average: 0 + }, "-" !== ab ? (ab >= 0 ? (Y += ae > 0 ? D.getCoordSize(ab) : D.getCoord(ab) - O, S = Y) : 0 > ab && (K -= ae > 0 ? D.getCoordSize(ab) : Q - D.getCoord(ab), S = K), af[T].push([S, X, J, aa.getNameByIndex(J), O, X]), R[T].min > ab && (R[T].min = ab, R[T].minX = S, R[T].minY = X), R[T].max < ab && (R[T].max = ab, R[T].maxX = S, R[T].maxY = X), R[T].sum += ab, R[T].counter++) : af[T].length > 0 && (this.finalPLMap[T] = this.finalPLMap[T] || [], this.finalPLMap[T].push(af[T]), af[T] = []) + } + } + Y = this.component.grid.getXend(); + for (var P, I = 0, N = M.length; N > I; I++) { + for (var ae = 0, C = M[I].length; C > ae; ae++) { + T = M[I][ae], F = G[T], ac = F.data[J], ab = this.getDataFromOption(ac, "-"), "-" == ab && this.deepQuery([ac, F, this.option], "calculable") && (P = this.deepQuery([ac, F], "symbolSize"), Y -= 2 * P + 5, S = Y, this.shapeList.push(this._getCalculableItem(T, J, aa.getNameByIndex(J), S, X, "vertical"))) + } + } + } + for (var ad in af) { + af[ad].length > 0 && (this.finalPLMap[ad] = this.finalPLMap[ad] || [], this.finalPLMap[ad].push(af[ad]), af[ad] = []) + } + this._calculMarkMapXY(R, M, "x"), this._buildBorkenLine(H, this.finalPLMap, aa, "vertical") + }, + _buildOther: function(G, T, K, O) { + for (var C, P = this.series, R = {}, S = 0, M = K.length; M > S; S++) { + for (var J = 0, N = K[S].length; N > J; J++) { + var Y = K[S][J], + X = P[Y]; + C = this.component.xAxis.getAxis(X.xAxisIndex || 0); + var F = this.component.yAxis.getAxis(X.yAxisIndex || 0), + Q = F.getCoord(0); + R[Y] = R[Y] || [], O[Y] = O[Y] || { + min0: Number.POSITIVE_INFINITY, + min1: Number.POSITIVE_INFINITY, + max0: Number.NEGATIVE_INFINITY, + max1: Number.NEGATIVE_INFINITY, + sum0: 0, + sum1: 0, + counter0: 0, + counter1: 0, + average0: 0, + average1: 0 + }; + for (var E = 0, W = X.data.length; W > E; E++) { + var Z = X.data[E], + I = this.getDataFromOption(Z, "-"); + if (I instanceof Array) { + var D = C.getCoord(I[0]), + H = F.getCoord(I[1]); + R[Y].push([D, H, E, I[0], D, Q]), O[Y].min0 > I[0] && (O[Y].min0 = I[0], O[Y].minY0 = H, O[Y].minX0 = D), O[Y].max0 < I[0] && (O[Y].max0 = I[0], O[Y].maxY0 = H, O[Y].maxX0 = D), O[Y].sum0 += I[0], O[Y].counter0++, O[Y].min1 > I[1] && (O[Y].min1 = I[1], O[Y].minY1 = H, O[Y].minX1 = D), O[Y].max1 < I[1] && (O[Y].max1 = I[1], O[Y].maxY1 = H, O[Y].maxX1 = D), O[Y].sum1 += I[1], O[Y].counter1++ + } + } + } + } + for (var L in R) { + R[L].length > 0 && (this.finalPLMap[L] = this.finalPLMap[L] || [], this.finalPLMap[L].push(R[L]), R[L] = []) + } + this._calculMarkMapXY(O, K, "xy"), this._buildBorkenLine(G, this.finalPLMap, C, "other") + }, + _buildBorkenLine: function(C, T, F, P) { + for (var Q, S = "other" == P ? "horizontal" : P, ab = this.series, Z = C.length - 1; Z >= 0; Z--) { + var r = C[Z], + R = ab[r], + m = T[r]; + if (R.type === this.type && null != m) { + for (var Y = this._getBbox(r, S), ag = this._sIndex2ColorMap[r], E = this.query(R, "itemStyle.normal.lineStyle.width"), l = this.query(R, "itemStyle.normal.lineStyle.type"), D = this.query(R, "itemStyle.normal.lineStyle.color"), M = this.getItemStyleColor(this.query(R, "itemStyle.normal.color"), r, -1), ae = null != this.query(R, "itemStyle.normal.areaStyle"), a = this.query(R, "itemStyle.normal.areaStyle.color"), O = 0, ad = m.length; ad > O; O++) { + var af = m[O], + aa = "other" != P && this._isLarge(S, af); + if (aa) { + af = this._getLargePointList(S, af, R.dataFilter) + } else { + for (var ac = 0, N = af.length; N > ac; ac++) { + Q = R.data[af[ac][2]], (this.deepQuery([Q, R, this.option], "calculable") || this.deepQuery([Q, R], "showAllSymbol") || "categoryAxis" === F.type && F.isMainAxis(af[ac][2]) && "none" != this.deepQuery([Q, R], "symbol")) && this.shapeList.push(this._getSymbol(r, af[ac][2], af[ac][3], af[ac][0], af[ac][1], S)) + } + } + var G = new j({ + zlevel: R.zlevel, + z: R.z, + style: { + miterLimit: E, + pointList: af, + strokeColor: D || M || ag, + lineWidth: E, + lineType: l, + smooth: this._getSmooth(R.smooth), + smoothConstraint: Y, + shadowColor: this.query(R, "itemStyle.normal.lineStyle.shadowColor"), + shadowBlur: this.query(R, "itemStyle.normal.lineStyle.shadowBlur"), + shadowOffsetX: this.query(R, "itemStyle.normal.lineStyle.shadowOffsetX"), + shadowOffsetY: this.query(R, "itemStyle.normal.lineStyle.shadowOffsetY") + }, + hoverable: !1, + _main: !0, + _seriesIndex: r, + _orient: S + }); + if (v.pack(G, ab[r], r, 0, O, ab[r].name), this.shapeList.push(G), ae) { + var H = new z({ + zlevel: R.zlevel, + z: R.z, + style: { + miterLimit: E, + pointList: q.clone(af).concat([ + [af[af.length - 1][4], af[af.length - 1][5]], + [af[0][4], af[0][5]] + ]), + brushType: "fill", + smooth: this._getSmooth(R.smooth), + smoothConstraint: Y, + color: a ? a : w.alpha(ag, 0.5) + }, + highlightStyle: { + brushType: "fill" + }, + hoverable: !1, + _main: !0, + _seriesIndex: r, + _orient: S + }); + v.pack(H, ab[r], r, 0, O, ab[r].name), this.shapeList.push(H) + } + } + } + } + }, + _getBbox: function(a, o) { + var l = this.component.grid.getBbox(), + m = this.xMarkMap[a]; + return null != m.minX0 ? [ + [Math.min(m.minX0, m.maxX0, m.minX1, m.maxX1), Math.min(m.minY0, m.maxY0, m.minY1, m.maxY1)], + [Math.max(m.minX0, m.maxX0, m.minX1, m.maxX1), Math.max(m.minY0, m.maxY0, m.minY1, m.maxY1)] + ] : ("horizontal" === o ? (l[0][1] = Math.min(m.minY, m.maxY), l[1][1] = Math.max(m.minY, m.maxY)) : (l[0][0] = Math.min(m.minX, m.maxX), l[1][0] = Math.max(m.minX, m.maxX)), l) + }, + _isLarge: function(a, i) { + return i.length < 2 ? !1 : "horizontal" === a ? Math.abs(i[0][0] - i[1][0]) < 0.5 : Math.abs(i[0][1] - i[1][1]) < 0.5 + }, + _getLargePointList: function(F, P, H) { + var K; + K = "horizontal" === F ? this.component.grid.getWidth() : this.component.grid.getHeight(); + var C = P.length, + L = []; + if ("function" != typeof H) { + switch (H) { + case "min": + H = function(a) { + return Math.max.apply(null, a) + }; + break; + case "max": + H = function(a) { + return Math.min.apply(null, a) + }; + break; + case "average": + H = function(a) { + for (var m = 0, l = 0; l < a.length; l++) { + m += a[l] + } + return m / a.length + }; + break; + default: + H = function(a) { + return a[0] + } + } + } + for (var N = [], O = 0; K > O; O++) { + var I = Math.floor(C / K * O), + G = Math.min(Math.floor(C / K * (O + 1)), C); + if (!(I >= G)) { + for (var J = I; G > J; J++) { + N[J - I] = "horizontal" === F ? P[J][1] : P[J][0] + } + N.length = G - I; + for (var S = H(N), R = -1, E = 1 / 0, J = I; G > J; J++) { + var M = "horizontal" === F ? P[J][1] : P[J][0], + D = Math.abs(M - S); + E > D && (R = J, E = D) + } + var Q = P[R].slice(); + "horizontal" === F ? Q[1] = S : Q[0] = S, L.push(Q) + } + } + return L + }, + _getSmooth: function(a) { + return a ? 0.3 : 0 + }, + _getCalculableItem: function(s, I, D, F, m, G) { + var H = this.series, + E = H[s].calculableHolderColor || this.ecTheme.calculableHolderColor || A.calculableHolderColor, + C = this._getSymbol(s, I, D, F, m, G); + return C.style.color = E, C.style.strokeColor = E, C.rotation = [0, 0], C.hoverable = !1, C.draggable = !1, C.style.text = void 0, C + }, + _getSymbol: function(C, K, E, G, m, H) { + var I = this.series, + J = I[C], + F = J.data[K], + D = this.getSymbolShape(J, C, F, K, E, G, m, this._sIndex2ShapeMap[C], this._sIndex2ColorMap[C], "#fff", "vertical" === H ? "horizontal" : "vertical"); + return D.zlevel = J.zlevel, D.z = J.z + 1, this.deepQuery([F, J, this.option], "calculable") && (this.setCalculable(D), D.draggable = !0), D + }, + getMarkCoord: function(m, F) { + var s = this.series[m], + C = this.xMarkMap[m], + l = this.component.xAxis.getAxis(s.xAxisIndex), + D = this.component.yAxis.getAxis(s.yAxisIndex); + if (F.type && ("max" === F.type || "min" === F.type || "average" === F.type)) { + var E = null != F.valueIndex ? F.valueIndex : null != C.maxX0 ? "1" : ""; + return [C[F.type + "X" + E], C[F.type + "Y" + E], C[F.type + "Line" + E], C[F.type + E]] + } + return ["string" != typeof F.xAxis && l.getCoordByIndex ? l.getCoordByIndex(F.xAxis || 0) : l.getCoord(F.xAxis || 0), "string" != typeof F.yAxis && D.getCoordByIndex ? D.getCoordByIndex(F.yAxis || 0) : D.getCoord(F.yAxis || 0)] + }, + refresh: function(a) { + a && (this.option = a, this.series = a.series), this.backupShapeList(), this._buildShape() + }, + ontooltipHover: function(D, M) { + for (var F, I, C = D.seriesIndex, J = D.dataIndex, K = C.length; K--;) { + if (F = this.finalPLMap[C[K]]) { + for (var L = 0, G = F.length; G > L; L++) { + I = F[L]; + for (var E = 0, H = I.length; H > E; E++) { + J === I[E][2] && M.push(this._getSymbol(C[K], I[E][2], I[E][3], I[E][0], I[E][1], "horizontal")) + } + } + } + } + }, + addDataAnimation: function(F, P) { + function H() { + D--, 0 === D && P && P() + } + + function K(a) { + a.style.controlPointList = null + } + for (var C = this.series, L = {}, N = 0, O = F.length; O > N; N++) { + L[F[N][0]] = F[N] + } + for (var I, G, J, S, R, E, M, D = 0, N = this.shapeList.length - 1; N >= 0; N--) { + if (R = this.shapeList[N]._seriesIndex, L[R] && !L[R][3]) { + if (this.shapeList[N]._main && this.shapeList[N].style.pointList.length > 1) { + if (E = this.shapeList[N].style.pointList, G = Math.abs(E[0][0] - E[1][0]), S = Math.abs(E[0][1] - E[1][1]), M = "horizontal" === this.shapeList[N]._orient, L[R][2]) { + if ("half-smooth-polygon" === this.shapeList[N].type) { + var Q = E.length; + this.shapeList[N].style.pointList[Q - 3] = E[Q - 2], this.shapeList[N].style.pointList[Q - 3][M ? 0 : 1] = E[Q - 4][M ? 0 : 1], this.shapeList[N].style.pointList[Q - 2] = E[Q - 1] + } + this.shapeList[N].style.pointList.pop(), M ? (I = G, J = 0) : (I = 0, J = -S) + } else { + if (this.shapeList[N].style.pointList.shift(), "half-smooth-polygon" === this.shapeList[N].type) { + var T = this.shapeList[N].style.pointList.pop(); + M ? T[0] = E[0][0] : T[1] = E[0][1], this.shapeList[N].style.pointList.push(T) + } + M ? (I = -G, J = 0) : (I = 0, J = S) + } + this.shapeList[N].style.controlPointList = null, this.zr.modShape(this.shapeList[N]) + } else { + if (L[R][2] && this.shapeList[N]._dataIndex === C[R].data.length - 1) { + this.zr.delShape(this.shapeList[N].id); + continue + } + if (!L[R][2] && 0 === this.shapeList[N]._dataIndex) { + this.zr.delShape(this.shapeList[N].id); + continue + } + } + this.shapeList[N].position = [0, 0], D++, this.zr.animate(this.shapeList[N].id, "").when(this.query(this.option, "animationDurationUpdate"), { + position: [I, J] + }).during(K).done(H).start() + } + } + D || P && P() + } + }, y.prototype.iconLibrary.legendLineIcon = u, q.inherits(B, x), p("../chart").define("line", B), B + }), d("echarts/util/shape/HalfSmoothPolygon", ["require", "zrender/shape/Base", "zrender/shape/util/smoothBezier", "zrender/tool/util", "zrender/shape/Polygon"], function(l) { + function p(a) { + m.call(this, a) + } + var m = l("zrender/shape/Base"), + o = l("zrender/shape/util/smoothBezier"), + j = l("zrender/tool/util"); + return p.prototype = { + type: "half-smooth-polygon", + buildPath: function(z, q) { + var e = q.pointList; + if (!(e.length < 2)) { + if (q.smooth) { + var w = o(e.slice(0, -2), q.smooth, !1, q.smoothConstraint); + z.moveTo(e[0][0], e[0][1]); + for (var x, y, u, n = e.length, v = 0; n - 3 > v; v++) { + x = w[2 * v], y = w[2 * v + 1], u = e[v + 1], z.bezierCurveTo(x[0], x[1], y[0], y[1], u[0], u[1]) + } + z.lineTo(e[n - 2][0], e[n - 2][1]), z.lineTo(e[n - 1][0], e[n - 1][1]), z.lineTo(e[0][0], e[0][1]) + } else { + l("zrender/shape/Polygon").prototype.buildPath(z, q) + } + } + } + }, j.inherits(p, m), p + }), d("echarts/chart/bar", ["require", "./base", "zrender/shape/Rectangle", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "../chart"], function(l) { + function w(r, y, s, i, x) { + m.call(this, r, y, s, i, x), this.refresh(i) + } + var m = l("./base"), + p = l("zrender/shape/Rectangle"); + l("../component/axis"), l("../component/grid"), l("../component/dataZoom"); + var j = l("../config"); + j.bar = { + zlevel: 0, + z: 2, + clickable: !0, + legendHoverLink: !0, + xAxisIndex: 0, + yAxisIndex: 0, + barMinHeight: 0, + barGap: "30%", + barCategoryGap: "20%", + itemStyle: { + normal: { + barBorderColor: "#fff", + barBorderRadius: 0, + barBorderWidth: 0, + label: { + show: !1 + } + }, + emphasis: { + barBorderColor: "#fff", + barBorderRadius: 0, + barBorderWidth: 0, + label: { + show: !1 + } + } + } + }; + var q = l("../util/ecData"), + u = l("zrender/tool/util"), + v = l("zrender/tool/color"); + return w.prototype = { + type: j.CHART_TYPE_BAR, + _buildShape: function() { + this._buildPosition() + }, + _buildNormal: function(R, au, ad, am, aq) { + for (var ar, ai, ac, ak, az, ax, N, ao, G, aw, aE, ab, B = this.series, Z = ad[0][0], ag = B[Z], aC = "horizontal" == aq, a = this.component.xAxis, aj = this.component.yAxis, aB = aC ? a.getAxis(ag.xAxisIndex) : aj.getAxis(ag.yAxisIndex), aD = this._mapSize(aB, ad), ay = aD.gap, aA = aD.barGap, ah = aD.barWidthMap, ae = aD.barMaxWidthMap, af = aD.barWidth, H = aD.barMinHeightMap, at = aD.interval, Y = this.deepQuery([this.ecTheme, j], "island.r"), aa = 0, av = au; av > aa && null != aB.getNameByIndex(aa); aa++) { + aC ? ak = aB.getCoordByIndex(aa) - ay / 2 : az = aB.getCoordByIndex(aa) + ay / 2; + for (var aF = 0, n = ad.length; n > aF; aF++) { + var al = B[ad[aF][0]].yAxisIndex || 0, + an = B[ad[aF][0]].xAxisIndex || 0; + ar = aC ? aj.getAxis(al) : a.getAxis(an), N = ax = G = ao = ar.getCoord(0); + for (var ap = 0, Q = ad[aF].length; Q > ap; ap++) { + Z = ad[aF][ap], ag = B[Z], aE = ag.data[aa], ab = this.getDataFromOption(aE, "-"), am[Z] = am[Z] || { + min: Number.POSITIVE_INFINITY, + max: Number.NEGATIVE_INFINITY, + sum: 0, + counter: 0, + average: 0 + }, ac = Math.min(ae[Z] || Number.MAX_VALUE, ah[Z] || af), "-" !== ab && (ab > 0 ? (ai = ap > 0 ? ar.getCoordSize(ab) : aC ? N - ar.getCoord(ab) : ar.getCoord(ab) - N, 1 === Q && H[Z] > ai && (ai = H[Z]), aC ? (ax -= ai, az = ax) : (ak = ax, ax += ai)) : 0 > ab ? (ai = ap > 0 ? ar.getCoordSize(ab) : aC ? ar.getCoord(ab) - G : G - ar.getCoord(ab), 1 === Q && H[Z] > ai && (ai = H[Z]), aC ? (az = ao, ao += ai) : (ao -= ai, ak = ao)) : (ai = 0, aC ? (ax -= ai, az = ax) : (ak = ax, ax += ai)), am[Z][aa] = aC ? ak + ac / 2 : az - ac / 2, am[Z].min > ab && (am[Z].min = ab, aC ? (am[Z].minY = az, am[Z].minX = am[Z][aa]) : (am[Z].minX = ak + ai, am[Z].minY = am[Z][aa])), am[Z].max < ab && (am[Z].max = ab, aC ? (am[Z].maxY = az, am[Z].maxX = am[Z][aa]) : (am[Z].maxX = ak + ai, am[Z].maxY = am[Z][aa])), am[Z].sum += ab, am[Z].counter++, aa % at === 0 && (aw = this._getBarItem(Z, aa, aB.getNameByIndex(aa), ak, az - (aC ? 0 : ac), aC ? ac : ai, aC ? ai : ac, aC ? "vertical" : "horizontal"), this.shapeList.push(new p(aw)))) + } + for (var ap = 0, Q = ad[aF].length; Q > ap; ap++) { + Z = ad[aF][ap], ag = B[Z], aE = ag.data[aa], ab = this.getDataFromOption(aE, "-"), ac = Math.min(ae[Z] || Number.MAX_VALUE, ah[Z] || af), "-" == ab && this.deepQuery([aE, ag, this.option], "calculable") && (aC ? (ax -= Y, az = ax) : (ak = ax, ax += Y), aw = this._getBarItem(Z, aa, aB.getNameByIndex(aa), ak, az - (aC ? 0 : ac), aC ? ac : Y, aC ? Y : ac, aC ? "vertical" : "horizontal"), aw.hoverable = !1, aw.draggable = !1, aw.style.lineWidth = 1, aw.style.brushType = "stroke", aw.style.strokeColor = ag.calculableHolderColor || this.ecTheme.calculableHolderColor || j.calculableHolderColor, this.shapeList.push(new p(aw))) + } + aC ? ak += ac + aA : az -= ac + aA + } + } + this._calculMarkMapXY(am, ad, aC ? "y" : "x") + }, + _buildHorizontal: function(a, s, o, r) { + return this._buildNormal(a, s, o, r, "horizontal") + }, + _buildVertical: function(a, s, o, r) { + return this._buildNormal(a, s, o, r, "vertical") + }, + _buildOther: function(D, R, H, z) { + for (var N = this.series, P = 0, Q = H.length; Q > P; P++) { + for (var J = 0, G = H[P].length; G > J; J++) { + var M = H[P][J], + Z = N[M], + T = Z.xAxisIndex || 0, + C = this.component.xAxis.getAxis(T), + O = C.getCoord(0), + B = Z.yAxisIndex || 0, + S = this.component.yAxis.getAxis(B), + ae = S.getCoord(0); + z[M] = z[M] || { + min0: Number.POSITIVE_INFINITY, + min1: Number.POSITIVE_INFINITY, + max0: Number.NEGATIVE_INFINITY, + max1: Number.NEGATIVE_INFINITY, + sum0: 0, + sum1: 0, + counter0: 0, + counter1: 0, + average0: 0, + average1: 0 + }; + for (var F = 0, A = Z.data.length; A > F; F++) { + var E = Z.data[F], + I = this.getDataFromOption(E, "-"); + if (I instanceof Array) { + var ac, n, K = C.getCoord(I[0]), + ab = S.getCoord(I[1]), + ad = [E, Z], + Y = this.deepQuery(ad, "barWidth") || 10, + aa = this.deepQuery(ad, "barHeight"); + null != aa ? (ac = "horizontal", I[0] > 0 ? (Y = K - O, K -= Y) : Y = I[0] < 0 ? O - K : 0, n = this._getBarItem(M, F, I[0], K, ab - aa / 2, Y, aa, ac)) : (ac = "vertical", I[1] > 0 ? aa = ae - ab : I[1] < 0 ? (aa = ab - ae, ab -= aa) : aa = 0, n = this._getBarItem(M, F, I[0], K - Y / 2, ab, Y, aa, ac)), this.shapeList.push(new p(n)), K = C.getCoord(I[0]), ab = S.getCoord(I[1]), z[M].min0 > I[0] && (z[M].min0 = I[0], z[M].minY0 = ab, z[M].minX0 = K), z[M].max0 < I[0] && (z[M].max0 = I[0], z[M].maxY0 = ab, z[M].maxX0 = K), z[M].sum0 += I[0], z[M].counter0++, z[M].min1 > I[1] && (z[M].min1 = I[1], z[M].minY1 = ab, z[M].minX1 = K), z[M].max1 < I[1] && (z[M].max1 = I[1], z[M].maxY1 = ab, z[M].maxX1 = K), z[M].sum1 += I[1], z[M].counter1++ + } + } + } + } + this._calculMarkMapXY(z, H, "xy") + }, + _mapSize: function(z, I, B) { + var E, x, F = this._findSpecialBarSzie(I, B), + G = F.barWidthMap, + H = F.barMaxWidthMap, + C = F.barMinHeightMap, + A = F.sBarWidthCounter, + D = F.sBarWidthTotal, + K = F.barGap, + J = F.barCategoryGap, + y = 1; + if (I.length != A) { + if (B) { + E = z.getGap(), K = 0, x = +(E / I.length).toFixed(2), 0 >= x && (y = Math.floor(I.length / E), x = 1) + } else { + if (E = "string" == typeof J && J.match(/%$/) ? (z.getGap() * (100 - parseFloat(J)) / 100).toFixed(2) - 0 : z.getGap() - J, "string" == typeof K && K.match(/%$/) ? (K = parseFloat(K) / 100, x = +((E - D) / ((I.length - 1) * K + I.length - A)).toFixed(2), K = x * K) : (K = parseFloat(K), x = +((E - D - K * (I.length - 1)) / (I.length - A)).toFixed(2)), 0 >= x) { + return this._mapSize(z, I, !0) + } + } + } else { + if (E = A > 1 ? "string" == typeof J && J.match(/%$/) ? +(z.getGap() * (100 - parseFloat(J)) / 100).toFixed(2) : z.getGap() - J : D, x = 0, K = A > 1 ? +((E - D) / (A - 1)).toFixed(2) : 0, 0 > K) { + return this._mapSize(z, I, !0) + } + } + return this._recheckBarMaxWidth(I, G, H, C, E, x, K, y) + }, + _findSpecialBarSzie: function(C, P) { + for (var G, K, x, L, N = this.series, O = {}, I = {}, F = {}, J = 0, S = 0, R = 0, B = C.length; B > R; R++) { + for (var M = { + barWidth: !1, + barMaxWidth: !1 + }, A = 0, Q = C[R].length; Q > A; A++) { + var T = C[R][A], + E = N[T]; + if (!P) { + if (M.barWidth) { + O[T] = G + } else { + if (G = this.query(E, "barWidth"), null != G) { + O[T] = G, S += G, J++, M.barWidth = !0; + for (var z = 0, D = A; D > z; z++) { + var H = C[R][z]; + O[H] = G + } + } + } + if (M.barMaxWidth) { + I[T] = K + } else { + if (K = this.query(E, "barMaxWidth"), null != K) { + I[T] = K, M.barMaxWidth = !0; + for (var z = 0, D = A; D > z; z++) { + var H = C[R][z]; + I[H] = K + } + } + } + } + F[T] = this.query(E, "barMinHeight"), x = null != x ? x : this.query(E, "barGap"), L = null != L ? L : this.query(E, "barCategoryGap") + } + } + return { + barWidthMap: O, + barMaxWidthMap: I, + barMinHeightMap: F, + sBarWidth: G, + sBarMaxWidth: K, + sBarWidthCounter: J, + sBarWidthTotal: S, + barGap: x, + barCategoryGap: L + } + }, + _recheckBarMaxWidth: function(y, H, A, D, x, E, F, G) { + for (var B = 0, z = y.length; z > B; B++) { + var C = y[B][0]; + A[C] && A[C] < E && (x -= E - A[C]) + } + return { + barWidthMap: H, + barMaxWidthMap: A, + barMinHeightMap: D, + gap: x, + barWidth: E, + barGap: F, + interval: G + } + }, + _getBarItem: function(C, P, G, M, s, O, I, F) { + var K, S = this.series, + R = S[C], + B = R.data[P], + N = this._sIndex2ColorMap[C], + A = [B, R], + Q = this.deepMerge(A, "itemStyle.normal"), + W = this.deepMerge(A, "itemStyle.emphasis"), + E = Q.barBorderWidth; + K = { + zlevel: R.zlevel, + z: R.z, + clickable: this.deepQuery(A, "clickable"), + style: { + x: M, + y: s, + width: O, + height: I, + brushType: "both", + color: this.getItemStyleColor(this.deepQuery(A, "itemStyle.normal.color") || N, C, P, B), + radius: Q.barBorderRadius, + lineWidth: E, + strokeColor: Q.barBorderColor + }, + highlightStyle: { + color: this.getItemStyleColor(this.deepQuery(A, "itemStyle.emphasis.color"), C, P, B), + radius: W.barBorderRadius, + lineWidth: W.barBorderWidth, + strokeColor: W.barBorderColor + }, + _orient: F + }; + var z = K.style; + K.highlightStyle.color = K.highlightStyle.color || ("string" == typeof z.color ? v.lift(z.color, -0.3) : z.color), z.x = Math.floor(z.x), z.y = Math.floor(z.y), z.height = Math.ceil(z.height), z.width = Math.ceil(z.width), E > 0 && z.height > E && z.width > E ? (z.y += E / 2, z.height -= E, z.x += E / 2, z.width -= E) : z.brushType = "fill", K.highlightStyle.textColor = K.highlightStyle.color, K = this.addLabel(K, R, B, G, F); + for (var D = [z, K.highlightStyle], H = 0, T = D.length; T > H; H++) { + var o = D[H].textPosition; + if ("insideLeft" === o || "insideRight" === o || "insideTop" === o || "insideBottom" === o) { + var J = 5; + switch (o) { + case "insideLeft": + D[H].textX = z.x + J, D[H].textY = z.y + z.height / 2, D[H].textAlign = "left", D[H].textBaseline = "middle"; + break; + case "insideRight": + D[H].textX = z.x + z.width - J, D[H].textY = z.y + z.height / 2, D[H].textAlign = "right", D[H].textBaseline = "middle"; + break; + case "insideTop": + D[H].textX = z.x + z.width / 2, D[H].textY = z.y + J / 2, D[H].textAlign = "center", D[H].textBaseline = "top"; + break; + case "insideBottom": + D[H].textX = z.x + z.width / 2, D[H].textY = z.y + z.height - J / 2, D[H].textAlign = "center", D[H].textBaseline = "bottom" + } + D[H].textPosition = "specific", D[H].textColor = D[H].textColor || "#fff" + } + } + return this.deepQuery([B, R, this.option], "calculable") && (this.setCalculable(K), K.draggable = !0), q.pack(K, S[C], C, S[C].data[P], P, G), K + }, + getMarkCoord: function(y, H) { + var A, D, x = this.series[y], + E = this.xMarkMap[y], + F = this.component.xAxis.getAxis(x.xAxisIndex), + G = this.component.yAxis.getAxis(x.yAxisIndex); + if (!H.type || "max" !== H.type && "min" !== H.type && "average" !== H.type) { + if (E.isHorizontal) { + A = "string" == typeof H.xAxis && F.getIndexByName ? F.getIndexByName(H.xAxis) : H.xAxis || 0; + var B = E[A]; + B = null != B ? B : "string" != typeof H.xAxis && F.getCoordByIndex ? F.getCoordByIndex(H.xAxis || 0) : F.getCoord(H.xAxis || 0), D = [B, G.getCoord(H.yAxis || 0)] + } else { + A = "string" == typeof H.yAxis && G.getIndexByName ? G.getIndexByName(H.yAxis) : H.yAxis || 0; + var z = E[A]; + z = null != z ? z : "string" != typeof H.yAxis && G.getCoordByIndex ? G.getCoordByIndex(H.yAxis || 0) : G.getCoord(H.yAxis || 0), D = [F.getCoord(H.xAxis || 0), z] + } + } else { + var C = null != H.valueIndex ? H.valueIndex : null != E.maxX0 ? "1" : ""; + D = [E[H.type + "X" + C], E[H.type + "Y" + C], E[H.type + "Line" + C], E[H.type + C]] + } + return D + }, + refresh: function(a) { + a && (this.option = a, this.series = a.series), this.backupShapeList(), this._buildShape() + }, + addDataAnimation: function(z, I) { + function B() { + x--, 0 === x && I && I() + } + for (var E = this.series, o = {}, G = 0, H = z.length; H > G; G++) { + o[z[G][0]] = z[G] + } + for (var C, A, D, K, J, y, F, x = 0, G = this.shapeList.length - 1; G >= 0; G--) { + if (y = q.get(this.shapeList[G], "seriesIndex"), o[y] && !o[y][3] && "rectangle" === this.shapeList[G].type) { + if (F = q.get(this.shapeList[G], "dataIndex"), J = E[y], o[y][2] && F === J.data.length - 1) { + this.zr.delShape(this.shapeList[G].id); + continue + } + if (!o[y][2] && 0 === F) { + this.zr.delShape(this.shapeList[G].id); + continue + } + "horizontal" === this.shapeList[G]._orient ? (K = this.component.yAxis.getAxis(J.yAxisIndex || 0).getGap(), D = o[y][2] ? -K : K, C = 0) : (A = this.component.xAxis.getAxis(J.xAxisIndex || 0).getGap(), C = o[y][2] ? A : -A, D = 0), this.shapeList[G].position = [0, 0], x++, this.zr.animate(this.shapeList[G].id, "").when(this.query(this.option, "animationDurationUpdate"), { + position: [C, D] + }).done(B).start() + } + } + x || I && I() + } + }, u.inherits(w, m), l("../chart").define("bar", w), w + }), d("echarts/chart/scatter", ["require", "./base", "../util/shape/Symbol", "../component/axis", "../component/grid", "../component/dataZoom", "../component/dataRange", "../config", "zrender/tool/util", "zrender/tool/color", "../chart"], function(l) { + function u(r, x, v, i, w) { + m.call(this, r, x, v, i, w), this.refresh(i) + } + var m = l("./base"), + p = l("../util/shape/Symbol"); + l("../component/axis"), l("../component/grid"), l("../component/dataZoom"), l("../component/dataRange"); + var j = l("../config"); + j.scatter = { + zlevel: 0, + z: 2, + clickable: !0, + legendHoverLink: !0, + xAxisIndex: 0, + yAxisIndex: 0, + symbolSize: 4, + large: !1, + largeThreshold: 2000, + itemStyle: { + normal: { + label: { + show: !1 + } + }, + emphasis: { + label: { + show: !1 + } + } + } + }; + var q = l("zrender/tool/util"), + s = l("zrender/tool/color"); + return u.prototype = { + type: j.CHART_TYPE_SCATTER, + _buildShape: function() { + var a = this.series; + this._sIndex2ColorMap = {}, this._symbol = this.option.symbolList, this._sIndex2ShapeMap = {}, this.selectedMap = {}, this.xMarkMap = {}; + for (var B, v, y, z, A = this.component.legend, w = [], r = 0, x = a.length; x > r; r++) { + if (B = a[r], v = B.name, B.type === j.CHART_TYPE_SCATTER) { + if (a[r] = this.reformOption(a[r]), this.legendHoverLink = a[r].legendHoverLink || this.legendHoverLink, this._sIndex2ShapeMap[r] = this.query(B, "symbol") || this._symbol[r % this._symbol.length], A) { + if (this.selectedMap[v] = A.isSelected(v), this._sIndex2ColorMap[r] = s.alpha(A.getColor(v), 0.5), y = A.getItemShape(v)) { + var z = this._sIndex2ShapeMap[r]; + y.style.brushType = z.match("empty") ? "stroke" : "both", z = z.replace("empty", "").toLowerCase(), z.match("rectangle") && (y.style.x += Math.round((y.style.width - y.style.height) / 2), y.style.width = y.style.height), z.match("star") && (y.style.n = z.replace("star", "") - 0 || 5, z = "star"), z.match("image") && (y.style.image = z.replace(new RegExp("^image:\\/\\/"), ""), y.style.x += Math.round((y.style.width - y.style.height) / 2), y.style.width = y.style.height, z = "image"), y.style.iconType = z, A.setItemShape(v, y) + } + } else { + this.selectedMap[v] = !0, this._sIndex2ColorMap[r] = s.alpha(this.zr.getColor(r), 0.5) + } + this.selectedMap[v] && w.push(r) + } + } + this._buildSeries(w), this.addShapeList() + }, + _buildSeries: function(x) { + if (0 !== x.length) { + for (var H, z, C, v, D, F, G, A, y = this.series, B = {}, J = 0, I = x.length; I > J; J++) { + if (H = x[J], z = y[H], 0 !== z.data.length) { + D = this.component.xAxis.getAxis(z.xAxisIndex || 0), F = this.component.yAxis.getAxis(z.yAxisIndex || 0), B[H] = []; + for (var w = 0, E = z.data.length; E > w; w++) { + C = z.data[w], v = this.getDataFromOption(C, "-"), "-" === v || v.length < 2 || (G = D.getCoord(v[0]), A = F.getCoord(v[1]), B[H].push([G, A, w, C.name || ""])) + } + this.xMarkMap[H] = this._markMap(D, F, z.data, B[H]), this.buildMark(H) + } + } + this._buildPointList(B) + } + }, + _markMap: function(x, G, z, C) { + for (var v, D = { + min0: Number.POSITIVE_INFINITY, + max0: Number.NEGATIVE_INFINITY, + sum0: 0, + counter0: 0, + average0: 0, + min1: Number.POSITIVE_INFINITY, + max1: Number.NEGATIVE_INFINITY, + sum1: 0, + counter1: 0, + average1: 0 + }, E = 0, F = C.length; F > E; E++) { + v = z[C[E][2]].value || z[C[E][2]], D.min0 > v[0] && (D.min0 = v[0], D.minY0 = C[E][1], D.minX0 = C[E][0]), D.max0 < v[0] && (D.max0 = v[0], D.maxY0 = C[E][1], D.maxX0 = C[E][0]), D.sum0 += v[0], D.counter0++, D.min1 > v[1] && (D.min1 = v[1], D.minY1 = C[E][1], D.minX1 = C[E][0]), D.max1 < v[1] && (D.max1 = v[1], D.maxY1 = C[E][1], D.maxX1 = C[E][0]), D.sum1 += v[1], D.counter1++ + } + var A = this.component.grid.getX(), + y = this.component.grid.getXend(), + B = this.component.grid.getY(), + I = this.component.grid.getYend(); + D.average0 = D.sum0 / D.counter0; + var H = x.getCoord(D.average0); + D.averageLine0 = [ + [H, I], + [H, B] + ], D.minLine0 = [ + [D.minX0, I], + [D.minX0, B] + ], D.maxLine0 = [ + [D.maxX0, I], + [D.maxX0, B] + ], D.average1 = D.sum1 / D.counter1; + var w = G.getCoord(D.average1); + return D.averageLine1 = [ + [A, w], + [y, w] + ], D.minLine1 = [ + [A, D.minY1], + [y, D.minY1] + ], D.maxLine1 = [ + [A, D.maxY1], + [y, D.maxY1] + ], D + }, + _buildPointList: function(w) { + var D, x, z, v, A = this.series; + for (var B in w) { + if (D = A[B], x = w[B], D.large && D.data.length > D.largeThreshold) { + this.shapeList.push(this._getLargeSymbol(D, x, this.getItemStyleColor(this.query(D, "itemStyle.normal.color"), B, -1) || this._sIndex2ColorMap[B])) + } else { + for (var C = 0, y = x.length; y > C; C++) { + z = x[C], v = this._getSymbol(B, z[2], z[3], z[0], z[1]), v && this.shapeList.push(v) + } + } + } + }, + _getSymbol: function(w, F, y, B, v) { + var C, D = this.series, + E = D[w], + z = E.data[F], + x = this.component.dataRange; + if (x) { + if (C = isNaN(z[2]) ? this._sIndex2ColorMap[w] : x.getColor(z[2]), !C) { + return null + } + } else { + C = this._sIndex2ColorMap[w] + } + var A = this.getSymbolShape(E, w, z, F, y, B, v, this._sIndex2ShapeMap[w], C, "rgba(0,0,0,0)", "vertical"); + return A.zlevel = E.zlevel, A.z = E.z, A._main = !0, A + }, + _getLargeSymbol: function(a, o, n) { + return new p({ + zlevel: a.zlevel, + z: a.z, + _main: !0, + hoverable: !1, + style: { + pointList: o, + color: n, + strokeColor: n + }, + highlightStyle: { + pointList: [] + } + }) + }, + getMarkCoord: function(w, C) { + var x, y = this.series[w], + v = this.xMarkMap[w], + z = this.component.xAxis.getAxis(y.xAxisIndex), + A = this.component.yAxis.getAxis(y.yAxisIndex); + if (!C.type || "max" !== C.type && "min" !== C.type && "average" !== C.type) { + x = ["string" != typeof C.xAxis && z.getCoordByIndex ? z.getCoordByIndex(C.xAxis || 0) : z.getCoord(C.xAxis || 0), "string" != typeof C.yAxis && A.getCoordByIndex ? A.getCoordByIndex(C.yAxis || 0) : A.getCoord(C.yAxis || 0)] + } else { + var B = null != C.valueIndex ? C.valueIndex : 1; + x = [v[C.type + "X" + B], v[C.type + "Y" + B], v[C.type + "Line" + B], v[C.type + B]] + } + return x + }, + refresh: function(a) { + a && (this.option = a, this.series = a.series), this.backupShapeList(), this._buildShape() + }, + ondataRange: function(a, i) { + this.component.dataRange && (this.refresh(), i.needRefresh = !0) + } + }, q.inherits(u, m), l("../chart").define("scatter", u), u + }), d("echarts/component/dataRange", ["require", "./base", "zrender/shape/Text", "zrender/shape/Rectangle", "../util/shape/HandlePolygon", "../config", "zrender/tool/util", "zrender/tool/event", "zrender/tool/area", "zrender/tool/color", "../component"], function(p) { + function B(l, D, m, i, r) { + u.call(this, l, D, m, i, r); + var C = this; + C._ondrift = function(a, n) { + return C.__ondrift(this, a, n) + }, C._ondragend = function() { + return C.__ondragend() + }, C._dataRangeSelected = function(a) { + return C.__dataRangeSelected(a) + }, C._dispatchHoverLink = function(a) { + return C.__dispatchHoverLink(a) + }, C._onhoverlink = function(a) { + return C.__onhoverlink(a) + }, this._selectedMap = {}, this._range = {}, this.refresh(i), D.bind(z.EVENT.HOVER, this._onhoverlink) + } + var u = p("./base"), + x = p("zrender/shape/Text"), + j = p("zrender/shape/Rectangle"), + y = p("../util/shape/HandlePolygon"), + z = p("../config"); + z.dataRange = { + zlevel: 0, + z: 4, + show: !0, + orient: "vertical", + x: "left", + y: "bottom", + backgroundColor: "rgba(0,0,0,0)", + borderColor: "#ccc", + borderWidth: 0, + padding: 5, + itemGap: 10, + itemWidth: 20, + itemHeight: 14, + precision: 0, + splitNumber: 5, + splitList: null, + calculable: !1, + selectedMode: !0, + hoverLink: !0, + realtime: !0, + color: ["#006edd", "#e0ffff"], + textStyle: { + color: "#333" + } + }; + var A = p("zrender/tool/util"), + v = p("zrender/tool/event"), + q = p("zrender/tool/area"), + w = p("zrender/tool/color"); + return B.prototype = { + type: z.COMPONENT_TYPE_DATARANGE, + _textGap: 10, + _buildShape: function() { + if (this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._isContinuity() ? this._buildGradient() : this._buildItem(), this.dataRangeOption.show) { + for (var a = 0, i = this.shapeList.length; i > a; a++) { + this.zr.addShape(this.shapeList[a]) + } + } + this._syncShapeFromRange() + }, + _buildItem: function() { + var C, K, D, G, I = this._valueTextList, + J = I.length, + E = this.getFont(this.dataRangeOption.textStyle), + F = this._itemGroupLocation.x, + N = this._itemGroupLocation.y, + M = this.dataRangeOption.itemWidth, + n = this.dataRangeOption.itemHeight, + H = this.dataRangeOption.itemGap, + a = q.getTextHeight("国", E); + "vertical" == this.dataRangeOption.orient && "right" == this.dataRangeOption.x && (F = this._itemGroupLocation.x + this._itemGroupLocation.width - M); + var L = !0; + this.dataRangeOption.text && (L = !1, this.dataRangeOption.text[0] && (D = this._getTextShape(F, N, this.dataRangeOption.text[0]), "horizontal" == this.dataRangeOption.orient ? F += q.getTextWidth(this.dataRangeOption.text[0], E) + this._textGap : (N += a + this._textGap, D.style.y += a / 2 + this._textGap, D.style.textBaseline = "bottom"), this.shapeList.push(new x(D)))); + for (var O = 0; J > O; O++) { + C = I[O], G = this.getColorByIndex(O), K = this._getItemShape(F, N, M, n, this._selectedMap[O] ? G : "#ccc"), K._idx = O, K.onmousemove = this._dispatchHoverLink, this.dataRangeOption.selectedMode && (K.clickable = !0, K.onclick = this._dataRangeSelected), this.shapeList.push(new j(K)), L && (D = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: { + x: F + M + 5, + y: N, + color: this._selectedMap[O] ? this.dataRangeOption.textStyle.color : "#ccc", + text: I[O], + textFont: E, + textBaseline: "top" + }, + highlightStyle: { + brushType: "fill" + } + }, "vertical" == this.dataRangeOption.orient && "right" == this.dataRangeOption.x && (D.style.x -= M + 10, D.style.textAlign = "right"), D._idx = O, D.onmousemove = this._dispatchHoverLink, this.dataRangeOption.selectedMode && (D.clickable = !0, D.onclick = this._dataRangeSelected), this.shapeList.push(new x(D))), "horizontal" == this.dataRangeOption.orient ? F += M + (L ? 5 : 0) + (L ? q.getTextWidth(C, E) : 0) + H : N += n + H + }!L && this.dataRangeOption.text[1] && ("horizontal" == this.dataRangeOption.orient ? F = F - H + this._textGap : N = N - H + this._textGap, D = this._getTextShape(F, N, this.dataRangeOption.text[1]), "horizontal" != this.dataRangeOption.orient && (D.style.y -= 5, D.style.textBaseline = "top"), this.shapeList.push(new x(D))) + }, + _buildGradient: function() { + var J, C, F = this.getFont(this.dataRangeOption.textStyle), + H = this._itemGroupLocation.x, + I = this._itemGroupLocation.y, + D = this.dataRangeOption.itemWidth, + E = this.dataRangeOption.itemHeight, + M = q.getTextHeight("国", F), + L = 10, + e = !0; + this.dataRangeOption.text && (e = !1, this.dataRangeOption.text[0] && (C = this._getTextShape(H, I, this.dataRangeOption.text[0]), "horizontal" == this.dataRangeOption.orient ? H += q.getTextWidth(this.dataRangeOption.text[0], F) + this._textGap : (I += M + this._textGap, C.style.y += M / 2 + this._textGap, C.style.textBaseline = "bottom"), this.shapeList.push(new x(C)))); + for (var G = p("zrender/tool/color"), a = 1 / (this.dataRangeOption.color.length - 1), K = [], N = 0, n = this.dataRangeOption.color.length; n > N; N++) { + K.push([N * a, this.dataRangeOption.color[N]]) + } + "horizontal" == this.dataRangeOption.orient ? (J = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: { + x: H, + y: I, + width: D * L, + height: E, + color: G.getLinearGradient(H, I, H + D * L, I, K) + }, + hoverable: !1 + }, H += D * L + this._textGap) : (J = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: { + x: H, + y: I, + width: D, + height: E * L, + color: G.getLinearGradient(H, I, H, I + E * L, K) + }, + hoverable: !1 + }, I += E * L + this._textGap), this.shapeList.push(new j(J)), this._calculableLocation = J.style, this.dataRangeOption.calculable && (this._buildFiller(), this._bulidMask(), this._bulidHandle()), this._buildIndicator(), !e && this.dataRangeOption.text[1] && (C = this._getTextShape(H, I, this.dataRangeOption.text[1]), this.shapeList.push(new x(C))) + }, + _buildIndicator: function() { + var m, F, o = this._calculableLocation.x, + C = this._calculableLocation.y, + l = this._calculableLocation.width, + D = this._calculableLocation.height, + E = 5; + "horizontal" == this.dataRangeOption.orient ? "bottom" != this.dataRangeOption.y ? (m = [ + [o, C + D], + [o - E, C + D + E], + [o + E, C + D + E] + ], F = "bottom") : (m = [ + [o, C], + [o - E, C - E], + [o + E, C - E] + ], F = "top") : "right" != this.dataRangeOption.x ? (m = [ + [o + l, C], + [o + l + E, C - E], + [o + l + E, C + E] + ], F = "right") : (m = [ + [o, C], + [o - E, C - E], + [o - E, C + E] + ], F = "left"), this._indicatorShape = { + style: { + pointList: m, + color: "#fff", + __rect: { + x: Math.min(m[0][0], m[1][0]), + y: Math.min(m[0][1], m[1][1]), + width: E * ("horizontal" == this.dataRangeOption.orient ? 2 : 1), + height: E * ("horizontal" == this.dataRangeOption.orient ? 1 : 2) + } + }, + highlightStyle: { + brushType: "fill", + textPosition: F, + textColor: this.dataRangeOption.textStyle.color + }, + hoverable: !1 + }, this._indicatorShape = new y(this._indicatorShape) + }, + _buildFiller: function() { + this._fillerShape = { + zlevel: this.getZlevelBase(), + z: this.getZBase() + 1, + style: { + x: this._calculableLocation.x, + y: this._calculableLocation.y, + width: this._calculableLocation.width, + height: this._calculableLocation.height, + color: "rgba(255,255,255,0)" + }, + highlightStyle: { + strokeColor: "rgba(255,255,255,0.5)", + lineWidth: 1 + }, + draggable: !0, + ondrift: this._ondrift, + ondragend: this._ondragend, + onmousemove: this._dispatchHoverLink, + _type: "filler" + }, this._fillerShape = new j(this._fillerShape), this.shapeList.push(this._fillerShape) + }, + _bulidHandle: function() { + var E, M, F, I, o, K, L, G, H = this._calculableLocation.x, + P = this._calculableLocation.y, + O = this._calculableLocation.width, + D = this._calculableLocation.height, + J = this.getFont(this.dataRangeOption.textStyle), + C = q.getTextHeight("国", J), + N = Math.max(q.getTextWidth(this._textFormat(this.dataRangeOption.max), J), q.getTextWidth(this._textFormat(this.dataRangeOption.min), J)) + 2; + "horizontal" == this.dataRangeOption.orient ? "bottom" != this.dataRangeOption.y ? (E = [ + [H, P], + [H, P + D + C], + [H - C, P + D + C], + [H - 1, P + D], + [H - 1, P] + ], M = H - N / 2 - C, F = P + D + C / 2 + 2, I = { + x: H - N - C, + y: P + D, + width: N + C, + height: C + }, o = [ + [H + O, P], + [H + O, P + D + C], + [H + O + C, P + D + C], + [H + O + 1, P + D], + [H + O + 1, P] + ], K = H + O + N / 2 + C, L = F, G = { + x: H + O, + y: P + D, + width: N + C, + height: C + }) : (E = [ + [H, P + D], + [H, P - C], + [H - C, P - C], + [H - 1, P], + [H - 1, P + D] + ], M = H - N / 2 - C, F = P - C / 2 - 2, I = { + x: H - N - C, + y: P - C, + width: N + C, + height: C + }, o = [ + [H + O, P + D], + [H + O, P - C], + [H + O + C, P - C], + [H + O + 1, P], + [H + O + 1, P + D] + ], K = H + O + N / 2 + C, L = F, G = { + x: H + O, + y: P - C, + width: N + C, + height: C + }) : (N += C, "right" != this.dataRangeOption.x ? (E = [ + [H, P], + [H + O + C, P], + [H + O + C, P - C], + [H + O, P - 1], + [H, P - 1] + ], M = H + O + N / 2 + C / 2, F = P - C / 2, I = { + x: H + O, + y: P - C, + width: N + C, + height: C + }, o = [ + [H, P + D], + [H + O + C, P + D], + [H + O + C, P + C + D], + [H + O, P + 1 + D], + [H, P + D + 1] + ], K = M, L = P + D + C / 2, G = { + x: H + O, + y: P + D, + width: N + C, + height: C + }) : (E = [ + [H + O, P], + [H - C, P], + [H - C, P - C], + [H, P - 1], + [H + O, P - 1] + ], M = H - N / 2 - C / 2, F = P - C / 2, I = { + x: H - N - C, + y: P - C, + width: N + C, + height: C + }, o = [ + [H + O, P + D], + [H - C, P + D], + [H - C, P + C + D], + [H, P + 1 + D], + [H + O, P + D + 1] + ], K = M, L = P + D + C / 2, G = { + x: H - N - C, + y: P + D, + width: N + C, + height: C + })), this._startShape = { + style: { + pointList: E, + text: this._textFormat(this.dataRangeOption.max), + textX: M, + textY: F, + textFont: J, + color: this.getColor(this.dataRangeOption.max), + rect: I, + x: E[0][0], + y: E[0][1], + _x: E[0][0], + _y: E[0][1] + } + }, this._startShape.highlightStyle = { + strokeColor: this._startShape.style.color, + lineWidth: 1 + }, this._endShape = { + style: { + pointList: o, + text: this._textFormat(this.dataRangeOption.min), + textX: K, + textY: L, + textFont: J, + color: this.getColor(this.dataRangeOption.min), + rect: G, + x: o[0][0], + y: o[0][1], + _x: o[0][0], + _y: o[0][1] + } + }, this._endShape.highlightStyle = { + strokeColor: this._endShape.style.color, + lineWidth: 1 + }, this._startShape.zlevel = this._endShape.zlevel = this.getZlevelBase(), this._startShape.z = this._endShape.z = this.getZBase() + 1, this._startShape.draggable = this._endShape.draggable = !0, this._startShape.ondrift = this._endShape.ondrift = this._ondrift, this._startShape.ondragend = this._endShape.ondragend = this._ondragend, this._startShape.style.textColor = this._endShape.style.textColor = this.dataRangeOption.textStyle.color, this._startShape.style.textAlign = this._endShape.style.textAlign = "center", this._startShape.style.textPosition = this._endShape.style.textPosition = "specific", this._startShape.style.textBaseline = this._endShape.style.textBaseline = "middle", this._startShape.style.width = this._endShape.style.width = 0, this._startShape.style.height = this._endShape.style.height = 0, this._startShape.style.textPosition = this._endShape.style.textPosition = "specific", this._startShape = new y(this._startShape), this._endShape = new y(this._endShape), this.shapeList.push(this._startShape), this.shapeList.push(this._endShape) + }, + _bulidMask: function() { + var a = this._calculableLocation.x, + o = this._calculableLocation.y, + l = this._calculableLocation.width, + m = this._calculableLocation.height; + this._startMask = { + zlevel: this.getZlevelBase(), + z: this.getZBase() + 1, + style: { + x: a, + y: o, + width: "horizontal" == this.dataRangeOption.orient ? 0 : l, + height: "horizontal" == this.dataRangeOption.orient ? m : 0, + color: "#ccc" + }, + hoverable: !1 + }, this._endMask = { + zlevel: this.getZlevelBase(), + z: this.getZBase() + 1, + style: { + x: "horizontal" == this.dataRangeOption.orient ? a + l : a, + y: "horizontal" == this.dataRangeOption.orient ? o : o + m, + width: "horizontal" == this.dataRangeOption.orient ? 0 : l, + height: "horizontal" == this.dataRangeOption.orient ? m : 0, + color: "#ccc" + }, + hoverable: !1 + }, this._startMask = new j(this._startMask), this._endMask = new j(this._endMask), this.shapeList.push(this._startMask), this.shapeList.push(this._endMask) + }, + _buildBackground: function() { + var a = this.reformCssArray(this.dataRangeOption.padding); + this.shapeList.push(new j({ + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + x: this._itemGroupLocation.x - a[3], + y: this._itemGroupLocation.y - a[0], + width: this._itemGroupLocation.width + a[3] + a[1], + height: this._itemGroupLocation.height + a[0] + a[2], + brushType: 0 === this.dataRangeOption.borderWidth ? "fill" : "both", + color: this.dataRangeOption.backgroundColor, + strokeColor: this.dataRangeOption.borderColor, + lineWidth: this.dataRangeOption.borderWidth + } + })) + }, + _getItemGroupLocation: function() { + var F = this._valueTextList, + P = F.length, + H = this.dataRangeOption.itemGap, + K = this.dataRangeOption.itemWidth, + C = this.dataRangeOption.itemHeight, + L = 0, + N = 0, + O = this.getFont(this.dataRangeOption.textStyle), + I = q.getTextHeight("国", O), + J = 10; + if ("horizontal" == this.dataRangeOption.orient) { + if (this.dataRangeOption.text || this._isContinuity()) { + L = (this._isContinuity() ? K * J + H : P * (K + H)) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[0] ? q.getTextWidth(this.dataRangeOption.text[0], O) + this._textGap : 0) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[1] ? q.getTextWidth(this.dataRangeOption.text[1], O) + this._textGap : 0) + } else { + K += 5; + for (var S = 0; P > S; S++) { + L += K + q.getTextWidth(F[S], O) + H + } + } + L -= H, N = Math.max(I, C) + } else { + var R; + if (this.dataRangeOption.text || this._isContinuity()) { + N = (this._isContinuity() ? C * J + H : P * (C + H)) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[0] ? this._textGap + I : 0) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[1] ? this._textGap + I : 0), R = Math.max(q.getTextWidth(this.dataRangeOption.text && this.dataRangeOption.text[0] || "", O), q.getTextWidth(this.dataRangeOption.text && this.dataRangeOption.text[1] || "", O)), L = Math.max(K, R) + } else { + N = (C + H) * P, K += 5, R = 0; + for (var S = 0; P > S; S++) { + R = Math.max(R, q.getTextWidth(F[S], O)) + } + L = K + R + } + N -= H + } + var E, M = this.reformCssArray(this.dataRangeOption.padding), + D = this.zr.getWidth(); + switch (this.dataRangeOption.x) { + case "center": + E = Math.floor((D - L) / 2); + break; + case "left": + E = M[3] + this.dataRangeOption.borderWidth; + break; + case "right": + E = D - L - M[1] - this.dataRangeOption.borderWidth; + break; + default: + E = this.parsePercent(this.dataRangeOption.x, D), E = isNaN(E) ? 0 : E + } + var Q, T = this.zr.getHeight(); + switch (this.dataRangeOption.y) { + case "top": + Q = M[0] + this.dataRangeOption.borderWidth; + break; + case "bottom": + Q = T - N - M[2] - this.dataRangeOption.borderWidth; + break; + case "center": + Q = Math.floor((T - N) / 2); + break; + default: + Q = this.parsePercent(this.dataRangeOption.y, T), Q = isNaN(Q) ? 0 : Q + } + if (this.dataRangeOption.calculable) { + var G = Math.max(q.getTextWidth(this.dataRangeOption.max, O), q.getTextWidth(this.dataRangeOption.min, O)) + I; + "horizontal" == this.dataRangeOption.orient ? (G > E && (E = G), E + L + G > D && (E -= G)) : (I > Q && (Q = I), Q + N + I > T && (Q -= I)) + } + return { + x: E, + y: Q, + width: L, + height: N + } + }, + _getTextShape: function(a, m, l) { + return { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: { + x: "horizontal" == this.dataRangeOption.orient ? a : this._itemGroupLocation.x + this._itemGroupLocation.width / 2, + y: "horizontal" == this.dataRangeOption.orient ? this._itemGroupLocation.y + this._itemGroupLocation.height / 2 : m, + color: this.dataRangeOption.textStyle.color, + text: l, + textFont: this.getFont(this.dataRangeOption.textStyle), + textBaseline: "horizontal" == this.dataRangeOption.orient ? "middle" : "top", + textAlign: "horizontal" == this.dataRangeOption.orient ? "left" : "center" + }, + hoverable: !1 + } + }, + _getItemShape: function(m, s, o, r, l) { + return { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: { + x: m, + y: s + 1, + width: o, + height: r - 2, + color: l + }, + highlightStyle: { + strokeColor: l, + lineWidth: 1 + } + } + }, + __ondrift: function(m, F, s) { + var C = this._calculableLocation.x, + l = this._calculableLocation.y, + D = this._calculableLocation.width, + E = this._calculableLocation.height; + return "horizontal" == this.dataRangeOption.orient ? m.style.x + F <= C ? m.style.x = C : m.style.x + F + m.style.width >= C + D ? m.style.x = C + D - m.style.width : m.style.x += F : m.style.y + s <= l ? m.style.y = l : m.style.y + s + m.style.height >= l + E ? m.style.y = l + E - m.style.height : m.style.y += s, "filler" == m._type ? this._syncHandleShape() : this._syncFillerShape(m), this.dataRangeOption.realtime && this._dispatchDataRange(), !0 + }, + __ondragend: function() { + this.isDragend = !0 + }, + ondragend: function(a, i) { + this.isDragend && a.target && (i.dragOut = !0, i.dragIn = !0, this.dataRangeOption.realtime || this._dispatchDataRange(), i.needRefresh = !1, this.isDragend = !1) + }, + _syncShapeFromRange: function() { + var m = this.dataRangeOption.range || {}, + s = m.start, + o = m.end; + if (s > o && (s = [o, o = s][0]), this._range.end = null != s ? s : null != this._range.end ? this._range.end : 0, this._range.start = null != o ? o : null != this._range.start ? this._range.start : 100, 100 != this._range.start || 0 !== this._range.end) { + if ("horizontal" == this.dataRangeOption.orient) { + var r = this._fillerShape.style.width; + this._fillerShape.style.x += r * (100 - this._range.start) / 100, this._fillerShape.style.width = r * (this._range.start - this._range.end) / 100 + } else { + var l = this._fillerShape.style.height; + this._fillerShape.style.y += l * (100 - this._range.start) / 100, this._fillerShape.style.height = l * (this._range.start - this._range.end) / 100 + } + this.zr.modShape(this._fillerShape.id), this._syncHandleShape() + } + }, + _syncHandleShape: function() { + var a = this._calculableLocation.x, + o = this._calculableLocation.y, + l = this._calculableLocation.width, + m = this._calculableLocation.height; + "horizontal" == this.dataRangeOption.orient ? (this._startShape.style.x = this._fillerShape.style.x, this._startMask.style.width = this._startShape.style.x - a, this._endShape.style.x = this._fillerShape.style.x + this._fillerShape.style.width, this._endMask.style.x = this._endShape.style.x, this._endMask.style.width = a + l - this._endShape.style.x, this._range.start = Math.ceil(100 - (this._startShape.style.x - a) / l * 100), this._range.end = Math.floor(100 - (this._endShape.style.x - a) / l * 100)) : (this._startShape.style.y = this._fillerShape.style.y, this._startMask.style.height = this._startShape.style.y - o, this._endShape.style.y = this._fillerShape.style.y + this._fillerShape.style.height, this._endMask.style.y = this._endShape.style.y, this._endMask.style.height = o + m - this._endShape.style.y, this._range.start = Math.ceil(100 - (this._startShape.style.y - o) / m * 100), this._range.end = Math.floor(100 - (this._endShape.style.y - o) / m * 100)), this._syncShape() + }, + _syncFillerShape: function(m) { + var F, s, C = this._calculableLocation.x, + l = this._calculableLocation.y, + D = this._calculableLocation.width, + E = this._calculableLocation.height; + "horizontal" == this.dataRangeOption.orient ? (F = this._startShape.style.x, s = this._endShape.style.x, m.id == this._startShape.id && F >= s ? (s = F, this._endShape.style.x = F) : m.id == this._endShape.id && F >= s && (F = s, this._startShape.style.x = F), this._fillerShape.style.x = F, this._fillerShape.style.width = s - F, this._startMask.style.width = F - C, this._endMask.style.x = s, this._endMask.style.width = C + D - s, this._range.start = Math.ceil(100 - (F - C) / D * 100), this._range.end = Math.floor(100 - (s - C) / D * 100)) : (F = this._startShape.style.y, s = this._endShape.style.y, m.id == this._startShape.id && F >= s ? (s = F, this._endShape.style.y = F) : m.id == this._endShape.id && F >= s && (F = s, this._startShape.style.y = F), this._fillerShape.style.y = F, this._fillerShape.style.height = s - F, this._startMask.style.height = F - l, this._endMask.style.y = s, this._endMask.style.height = l + E - s, this._range.start = Math.ceil(100 - (F - l) / E * 100), this._range.end = Math.floor(100 - (s - l) / E * 100)), this._syncShape() + }, + _syncShape: function() { + this._startShape.position = [this._startShape.style.x - this._startShape.style._x, this._startShape.style.y - this._startShape.style._y], this._startShape.style.text = this._textFormat(this._gap * this._range.start + this.dataRangeOption.min), this._startShape.style.color = this._startShape.highlightStyle.strokeColor = this.getColor(this._gap * this._range.start + this.dataRangeOption.min), this._endShape.position = [this._endShape.style.x - this._endShape.style._x, this._endShape.style.y - this._endShape.style._y], this._endShape.style.text = this._textFormat(this._gap * this._range.end + this.dataRangeOption.min), this._endShape.style.color = this._endShape.highlightStyle.strokeColor = this.getColor(this._gap * this._range.end + this.dataRangeOption.min), this.zr.modShape(this._startShape.id), this.zr.modShape(this._endShape.id), this.zr.modShape(this._startMask.id), this.zr.modShape(this._endMask.id), this.zr.modShape(this._fillerShape.id), this.zr.refreshNextFrame() + }, + _dispatchDataRange: function() { + this.messageCenter.dispatch(z.EVENT.DATA_RANGE, null, { + range: { + start: this._range.end, + end: this._range.start + } + }, this.myChart) + }, + __dataRangeSelected: function(m) { + if ("single" === this.dataRangeOption.selectedMode) { + for (var s in this._selectedMap) { + this._selectedMap[s] = !1 + } + } + var o = m.target._idx; + this._selectedMap[o] = !this._selectedMap[o]; + var r, l; + this._useCustomizedSplit() ? (r = this._splitList[o].max, l = this._splitList[o].min) : (r = (this._colorList.length - o) * this._gap + this.dataRangeOption.min, l = r - this._gap), this.messageCenter.dispatch(z.EVENT.DATA_RANGE_SELECTED, m.event, { + selected: this._selectedMap, + target: o, + valueMax: r, + valueMin: l + }, this.myChart), this.messageCenter.dispatch(z.EVENT.REFRESH, null, null, this.myChart) + }, + __dispatchHoverLink: function(m) { + var D, r; + if (this.dataRangeOption.calculable) { + var s, l = this.dataRangeOption.max - this.dataRangeOption.min; + s = "horizontal" == this.dataRangeOption.orient ? (1 - (v.getX(m.event) - this._calculableLocation.x) / this._calculableLocation.width) * l : (1 - (v.getY(m.event) - this._calculableLocation.y) / this._calculableLocation.height) * l, D = s - 0.05 * l, r = s + 0.05 * l + } else { + if (this._useCustomizedSplit()) { + var C = m.target._idx; + r = this._splitList[C].max, D = this._splitList[C].min + } else { + var C = m.target._idx; + r = (this._colorList.length - C) * this._gap + this.dataRangeOption.min, D = r - this._gap + } + } + this.messageCenter.dispatch(z.EVENT.DATA_RANGE_HOVERLINK, m.event, { + valueMin: D, + valueMax: r + }, this.myChart) + }, + __onhoverlink: function(a) { + if (this.dataRangeOption.show && this.dataRangeOption.hoverLink && this._indicatorShape && a && null != a.seriesIndex && null != a.dataIndex) { + var i = a.value; + if ("" === i || isNaN(i)) { + return + } + i < this.dataRangeOption.min ? i = this.dataRangeOption.min : i > this.dataRangeOption.max && (i = this.dataRangeOption.max), this._indicatorShape.position = "horizontal" == this.dataRangeOption.orient ? [(this.dataRangeOption.max - i) / (this.dataRangeOption.max - this.dataRangeOption.min) * this._calculableLocation.width, 0] : [0, (this.dataRangeOption.max - i) / (this.dataRangeOption.max - this.dataRangeOption.min) * this._calculableLocation.height], this._indicatorShape.style.text = this._textFormat(a.value), this._indicatorShape.style.color = this.getColor(i), this.zr.addHoverShape(this._indicatorShape) + } + }, + _textFormat: function(a, m) { + var l = this.dataRangeOption; + if (a !== -Number.MAX_VALUE && (a = (+a).toFixed(l.precision)), null != m && m !== Number.MAX_VALUE && (m = (+m).toFixed(l.precision)), l.formatter) { + if ("string" == typeof l.formatter) { + return l.formatter.replace("{value}", a === -Number.MAX_VALUE ? "min" : a).replace("{value2}", m === Number.MAX_VALUE ? "max" : m) + } + if ("function" == typeof l.formatter) { + return l.formatter.call(this.myChart, a, m) + } + } + return null == m ? a : a === -Number.MAX_VALUE ? "< " + m : m === Number.MAX_VALUE ? "> " + a : a + " - " + m + }, + _isContinuity: function() { + var a = this.dataRangeOption; + return !(a.splitList ? a.splitList.length > 0 : a.splitNumber > 0) || a.calculable + }, + _useCustomizedSplit: function() { + var a = this.dataRangeOption; + return a.splitList && a.splitList.length > 0 + }, + _buildColorList: function(m) { + if (this._colorList = w.getGradientColors(this.dataRangeOption.color, Math.max((m - this.dataRangeOption.color.length) / (this.dataRangeOption.color.length - 1), 0) + 1), this._colorList.length > m) { + for (var D = this._colorList.length, r = [this._colorList[0]], s = D / (m - 1), l = 1; m - 1 > l; l++) { + r.push(this._colorList[Math.floor(l * s)]) + } + r.push(this._colorList[D - 1]), this._colorList = r + } + if (this._useCustomizedSplit()) { + for (var C = this._splitList, l = 0, D = C.length; D > l; l++) { + C[l].color && (this._colorList[l] = C[l].color) + } + } + }, + _buildGap: function(a) { + if (!this._useCustomizedSplit()) { + var i = this.dataRangeOption.precision; + for (this._gap = (this.dataRangeOption.max - this.dataRangeOption.min) / a; this._gap.toFixed(i) - 0 != this._gap && 5 > i;) { + i++ + } + this.dataRangeOption.precision = i, this._gap = ((this.dataRangeOption.max - this.dataRangeOption.min) / a).toFixed(i) - 0 + } + }, + _buildDataList: function(m) { + for (var F = this._valueTextList = [], s = this.dataRangeOption, C = this._useCustomizedSplit(), l = 0; m > l; l++) { + this._selectedMap[l] = !0; + var D = ""; + if (C) { + var E = this._splitList[m - 1 - l]; + D = null != E.label ? E.label : null != E.single ? this._textFormat(E.single) : this._textFormat(E.min, E.max) + } else { + D = this._textFormat(l * this._gap + s.min, (l + 1) * this._gap + s.min) + } + F.unshift(D) + } + }, + _buildSplitList: function() { + if (this._useCustomizedSplit()) { + for (var m = this.dataRangeOption.splitList, D = this._splitList = [], r = 0, s = m.length; s > r; r++) { + var l = m[r]; + if (!l || null == l.start && null == l.end) { + throw new Error("Empty item exists in splitList!") + } + var C = { + label: l.label, + color: l.color + }; + C.min = l.start, C.max = l.end, C.min > C.max && (C.min = [C.max, C.max = C.min][0]), C.min === C.max && (C.single = C.max), null == C.min && (C.min = -Number.MAX_VALUE), null == C.max && (C.max = Number.MAX_VALUE), D.push(C) + } + } + }, + refresh: function(a) { + if (a) { + this.option = a, this.option.dataRange = this.reformOption(this.option.dataRange); + var m = this.dataRangeOption = this.option.dataRange; + if (!this._useCustomizedSplit() && (null == m.min || null == m.max)) { + throw new Error("option.dataRange.min or option.dataRange.max has not been defined.") + } + this.myChart.canvasSupported || (m.realtime = !1); + var l = this._isContinuity() ? 100 : this._useCustomizedSplit() ? m.splitList.length : m.splitNumber; + this._buildSplitList(), this._buildColorList(l), this._buildGap(l), this._buildDataList(l) + } + this.clear(), this._buildShape() + }, + getColor: function(m) { + if (isNaN(m)) { + return null + } + var s; + if (this._useCustomizedSplit()) { + for (var o = this._splitList, r = 0, l = o.length; l > r; r++) { + if (o[r].min <= m && o[r].max >= m) { + s = r; + break + } + } + } else { + if (this.dataRangeOption.min == this.dataRangeOption.max) { + return this._colorList[0] + } + if (m < this.dataRangeOption.min ? m = this.dataRangeOption.min : m > this.dataRangeOption.max && (m = this.dataRangeOption.max), this.dataRangeOption.calculable && (m - (this._gap * this._range.start + this.dataRangeOption.min) > 5e-05 || m - (this._gap * this._range.end + this.dataRangeOption.min) < -5e-05)) { + return null + } + s = this._colorList.length - Math.ceil((m - this.dataRangeOption.min) / (this.dataRangeOption.max - this.dataRangeOption.min) * this._colorList.length), s == this._colorList.length && s-- + } + return this._selectedMap[s] ? this._colorList[s] : null + }, + getColorByIndex: function(a) { + return a >= this._colorList.length ? a = this._colorList.length - 1 : 0 > a && (a = 0), this._colorList[a] + }, + onbeforDispose: function() { + this.messageCenter.unbind(z.EVENT.HOVER, this._onhoverlink) + } + }, A.inherits(B, u), p("../component").define("dataRange", B), B + }), d("echarts/util/shape/HandlePolygon", ["require", "zrender/shape/Base", "zrender/shape/Polygon", "zrender/tool/util"], function(l) { + function p(a) { + m.call(this, a) + } + var m = l("zrender/shape/Base"), + o = l("zrender/shape/Polygon"), + j = l("zrender/tool/util"); + return p.prototype = { + type: "handle-polygon", + buildPath: function(a, i) { + o.prototype.buildPath(a, i) + }, + isCover: function(a, s) { + var q = this.transformCoordToLocal(a, s); + a = q[0], s = q[1]; + var r = this.style.rect; + return a >= r.x && a <= r.x + r.width && s >= r.y && s <= r.y + r.height ? !0 : !1 + } + }, j.inherits(p, m), p + }), d("echarts/chart/k", ["require", "./base", "../util/shape/Candle", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "zrender/tool/util", "../chart"], function(l) { + function u(r, x, v, i, w) { + m.call(this, r, x, v, i, w), this.refresh(i) + } + var m = l("./base"), + p = l("../util/shape/Candle"); + l("../component/axis"), l("../component/grid"), l("../component/dataZoom"); + var j = l("../config"); + j.k = { + zlevel: 0, + z: 2, + clickable: !0, + hoverable: !0, + legendHoverLink: !1, + xAxisIndex: 0, + yAxisIndex: 0, + itemStyle: { + normal: { + color: "#fff", + color0: "#00aa11", + lineStyle: { + width: 1, + color: "#ff3200", + color0: "#00aa11" + }, + label: { + show: !1 + } + }, + emphasis: { + label: { + show: !1 + } + } + } + }; + var q = l("../util/ecData"), + s = l("zrender/tool/util"); + return u.prototype = { + type: j.CHART_TYPE_K, + _buildShape: function() { + var a = this.series; + this.selectedMap = {}; + for (var z, v = { + top: [], + bottom: [] + }, w = 0, x = a.length; x > w; w++) { + a[w].type === j.CHART_TYPE_K && (a[w] = this.reformOption(a[w]), this.legendHoverLink = a[w].legendHoverLink || this.legendHoverLink, z = this.component.xAxis.getAxis(a[w].xAxisIndex), z.type === j.COMPONENT_TYPE_AXIS_CATEGORY && v[z.getPosition()].push(w)) + } + for (var y in v) { + v[y].length > 0 && this._buildSinglePosition(y, v[y]) + } + this.addShapeList() + }, + _buildSinglePosition: function(w, B) { + var x = this._mapData(B), + y = x.locationMap, + v = x.maxDataLength; + if (0 !== v && 0 !== y.length) { + this._buildHorizontal(B, v, y); + for (var z = 0, A = B.length; A > z; z++) { + this.buildMark(B[z]) + } + } + }, + _mapData: function(w) { + for (var D, x, z = this.series, v = this.component.legend, A = [], B = 0, C = 0, y = w.length; y > C; C++) { + D = z[w[C]], x = D.name, this.selectedMap[x] = v ? v.isSelected(x) : !0, this.selectedMap[x] && A.push(w[C]), B = Math.max(B, D.data.length) + } + return { + locationMap: A, + maxDataLength: B + } + }, + _buildHorizontal: function(z, K, C) { + for (var F, v, G, I, J, D, B, E, N, M, x = this.series, H = {}, w = 0, L = C.length; L > w; w++) { + F = C[w], v = x[F], G = v.xAxisIndex || 0, I = this.component.xAxis.getAxis(G), B = v.barWidth || Math.floor(I.getGap() / 2), M = v.barMaxWidth, M && B > M && (B = M), J = v.yAxisIndex || 0, D = this.component.yAxis.getAxis(J), H[F] = []; + for (var O = 0, A = K; A > O && null != I.getNameByIndex(O); O++) { + E = v.data[O], N = this.getDataFromOption(E, "-"), "-" !== N && 4 == N.length && H[F].push([I.getCoordByIndex(O), B, D.getCoord(N[0]), D.getCoord(N[1]), D.getCoord(N[2]), D.getCoord(N[3]), O, I.getNameByIndex(O)]) + } + } + this._buildKLine(z, H) + }, + _buildKLine: function(A, P) { + for (var E, J, K, N, O, G, D, I, S, R, z, M, w, Q, W, C, v, B = this.series, F = 0, T = A.length; T > F; F++) { + if (v = A[F], z = B[v], Q = P[v], this._isLarge(Q) && (Q = this._getLargePointList(Q)), z.type === j.CHART_TYPE_K && null != Q) { + M = z, E = this.query(M, "itemStyle.normal.lineStyle.width"), J = this.query(M, "itemStyle.normal.lineStyle.color"), K = this.query(M, "itemStyle.normal.lineStyle.color0"), N = this.query(M, "itemStyle.normal.color"), O = this.query(M, "itemStyle.normal.color0"), G = this.query(M, "itemStyle.emphasis.lineStyle.width"), D = this.query(M, "itemStyle.emphasis.lineStyle.color"), I = this.query(M, "itemStyle.emphasis.lineStyle.color0"), S = this.query(M, "itemStyle.emphasis.color"), R = this.query(M, "itemStyle.emphasis.color0"); + for (var a = 0, H = Q.length; H > a; a++) { + W = Q[a], w = z.data[W[6]], M = w, C = W[3] < W[2], this.shapeList.push(this._getCandle(v, W[6], W[7], W[0], W[1], W[2], W[3], W[4], W[5], C ? this.query(M, "itemStyle.normal.color") || N : this.query(M, "itemStyle.normal.color0") || O, this.query(M, "itemStyle.normal.lineStyle.width") || E, C ? this.query(M, "itemStyle.normal.lineStyle.color") || J : this.query(M, "itemStyle.normal.lineStyle.color0") || K, C ? this.query(M, "itemStyle.emphasis.color") || S || N : this.query(M, "itemStyle.emphasis.color0") || R || O, this.query(M, "itemStyle.emphasis.lineStyle.width") || G || E, C ? this.query(M, "itemStyle.emphasis.lineStyle.color") || D || J : this.query(M, "itemStyle.emphasis.lineStyle.color0") || I || K)) + } + } + } + }, + _isLarge: function(a) { + return a[0][1] < 0.5 + }, + _getLargePointList: function(r) { + for (var x = this.component.grid.getWidth(), v = r.length, w = [], o = 0; x > o; o++) { + w[o] = r[Math.floor(v / x * o)] + } + return w + }, + _getCandle: function(x, J, C, n, H, I, E, B, F, M, L, w, G, v, K) { + var N = this.series, + A = N[x], + o = A.data[J], + z = [o, A], + D = { + zlevel: A.zlevel, + z: A.z, + clickable: this.deepQuery(z, "clickable"), + hoverable: this.deepQuery(z, "hoverable"), + style: { + x: n, + y: [I, E, B, F], + width: H, + color: M, + strokeColor: w, + lineWidth: L, + brushType: "both" + }, + highlightStyle: { + color: G, + strokeColor: K, + lineWidth: v + }, + _seriesIndex: x + }; + return D = this.addLabel(D, A, o, C), q.pack(D, A, x, o, J, C), D = new p(D) + }, + getMarkCoord: function(r, x) { + var v = this.series[r], + w = this.component.xAxis.getAxis(v.xAxisIndex), + o = this.component.yAxis.getAxis(v.yAxisIndex); + return ["string" != typeof x.xAxis && w.getCoordByIndex ? w.getCoordByIndex(x.xAxis || 0) : w.getCoord(x.xAxis || 0), "string" != typeof x.yAxis && o.getCoordByIndex ? o.getCoordByIndex(x.yAxis || 0) : o.getCoord(x.yAxis || 0)] + }, + refresh: function(a) { + a && (this.option = a, this.series = a.series), this.backupShapeList(), this._buildShape() + }, + addDataAnimation: function(w, F) { + function y() { + C--, 0 === C && F && F() + } + for (var B = this.series, o = {}, D = 0, E = w.length; E > D; D++) { + o[w[D][0]] = w[D] + } + for (var z, x, A, H, G, v, C = 0, D = 0, E = this.shapeList.length; E > D; D++) { + if (G = this.shapeList[D]._seriesIndex, o[G] && !o[G][3] && "candle" === this.shapeList[D].type) { + if (v = q.get(this.shapeList[D], "dataIndex"), H = B[G], o[G][2] && v === H.data.length - 1) { + this.zr.delShape(this.shapeList[D].id); + continue + } + if (!o[G][2] && 0 === v) { + this.zr.delShape(this.shapeList[D].id); + continue + } + x = this.component.xAxis.getAxis(H.xAxisIndex || 0).getGap(), z = o[G][2] ? x : -x, A = 0, C++, this.zr.animate(this.shapeList[D].id, "").when(this.query(this.option, "animationDurationUpdate"), { + position: [z, A] + }).done(y).start() + } + } + C || F && F() + } + }, s.inherits(u, m), l("../chart").define("k", u), u + }), d("echarts/chart/pie", ["require", "./base", "zrender/shape/Text", "zrender/shape/Ring", "zrender/shape/Circle", "zrender/shape/Sector", "zrender/shape/Polyline", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/math", "zrender/tool/color", "../chart"], function(p) { + function B(l, F, m, i, s) { + u.call(this, l, F, m, i, s); + var E = this; + E.shapeHandler.onmouseover = function(H) { + var O = H.target, + I = q.get(O, "seriesIndex"), + L = q.get(O, "dataIndex"), + r = q.get(O, "special"), + M = [O.style.x, O.style.y], + N = O.style.startAngle, + J = O.style.endAngle, + K = ((J + N) / 2 + 360) % 360, + Q = O.highlightStyle.color, + P = E.getLabel(I, L, r, M, K, Q, !0); + P && E.zr.addHoverShape(P); + var G = E.getLabelLine(I, L, M, O.style.r0, O.style.r, K, Q, !0); + G && E.zr.addHoverShape(G) + }, this.refresh(i) + } + var u = p("./base"), + x = p("zrender/shape/Text"), + j = p("zrender/shape/Ring"), + y = p("zrender/shape/Circle"), + z = p("zrender/shape/Sector"), + A = p("zrender/shape/Polyline"), + v = p("../config"); + v.pie = { + zlevel: 0, + z: 2, + clickable: !0, + legendHoverLink: !0, + center: ["50%", "50%"], + radius: [0, "75%"], + clockWise: !0, + startAngle: 90, + minAngle: 0, + selectedOffset: 10, + itemStyle: { + normal: { + borderColor: "rgba(0,0,0,0)", + borderWidth: 1, + label: { + show: !0, + position: "outer" + }, + labelLine: { + show: !0, + length: 20, + lineStyle: { + width: 1, + type: "solid" + } + } + }, + emphasis: { + borderColor: "rgba(0,0,0,0)", + borderWidth: 1, + label: { + show: !1 + }, + labelLine: { + show: !1, + length: 20, + lineStyle: { + width: 1, + type: "solid" + } + } + } + } + }; + var q = p("../util/ecData"), + w = p("zrender/tool/util"), + D = p("zrender/tool/math"), + C = p("zrender/tool/color"); + return B.prototype = { + type: v.CHART_TYPE_PIE, + _buildShape: function() { + var a = this.series, + H = this.component.legend; + this.selectedMap = {}, this._selected = {}; + var l, E, F; + this._selectedMode = !1; + for (var G, o = 0, I = a.length; I > o; o++) { + if (a[o].type === v.CHART_TYPE_PIE) { + if (a[o] = this.reformOption(a[o]), this.legendHoverLink = a[o].legendHoverLink || this.legendHoverLink, G = a[o].name || "", this.selectedMap[G] = H ? H.isSelected(G) : !0, !this.selectedMap[G]) { + continue + } + l = this.parseCenter(this.zr, a[o].center), E = this.parseRadius(this.zr, a[o].radius), this._selectedMode = this._selectedMode || a[o].selectedMode, this._selected[o] = [], this.deepQuery([a[o], this.option], "calculable") && (F = { + zlevel: a[o].zlevel, + z: a[o].z, + hoverable: !1, + style: { + x: l[0], + y: l[1], + r0: E[0] <= 10 ? 0 : E[0] - 10, + r: E[1] + 10, + brushType: "stroke", + lineWidth: 1, + strokeColor: a[o].calculableHolderColor || this.ecTheme.calculableHolderColor || v.calculableHolderColor + } + }, q.pack(F, a[o], o, void 0, -1), this.setCalculable(F), F = E[0] <= 10 ? new y(F) : new j(F), this.shapeList.push(F)), this._buildSinglePie(o), this.buildMark(o) + } + } + this.addShapeList() + }, + _buildSinglePie: function(J) { + for (var ab, O = this.series, T = O[J], F = T.data, X = this.component.legend, Z = 0, aa = 0, Q = 0, N = Number.NEGATIVE_INFINITY, S = [], ae = 0, ad = F.length; ad > ae; ae++) { + ab = F[ae].name, this.selectedMap[ab] = X ? X.isSelected(ab) : !0, this.selectedMap[ab] && !isNaN(F[ae].value) && (0 !== +F[ae].value ? Z++ : aa++, Q += +F[ae].value, N = Math.max(N, +F[ae].value)) + } + if (0 !== Q) { + for (var I, Y, H, ac, ah, M, G = 100, K = T.clockWise, P = (T.startAngle.toFixed(2) - 0 + 360) % 360, ag = T.minAngle || 0.01, E = 360 - ag * Z - 0.01 * aa, R = T.roseType, ae = 0, ad = F.length; ad > ae; ae++) { + if (ab = F[ae].name, this.selectedMap[ab] && !isNaN(F[ae].value)) { + if (Y = X ? X.getColor(ab) : this.zr.getColor(ae), G = F[ae].value / Q, I = "area" != R ? K ? P - G * E - (0 !== G ? ag : 0.01) : G * E + P + (0 !== G ? ag : 0.01) : K ? P - 360 / ad : 360 / ad + P, I = I.toFixed(2) - 0, G = (100 * G).toFixed(2), H = this.parseCenter(this.zr, T.center), ac = this.parseRadius(this.zr, T.radius), ah = +ac[0], M = +ac[1], "radius" === R ? M = F[ae].value / N * (M - ah) * 0.8 + 0.2 * (M - ah) + ah : "area" === R && (M = Math.sqrt(F[ae].value / N) * (M - ah) + ah), K) { + var af; + af = P, P = I, I = af + } + this._buildItem(S, J, ae, G, F[ae].selected, H, ah, M, P, I, Y), K || (P = I) + } + } + this._autoLabelLayout(S, H, M); + for (var ae = 0, ad = S.length; ad > ae; ae++) { + this.shapeList.push(S[ae]) + } + S = null + } + }, + _buildItem: function(H, Q, I, L, E, M, O, P, J, K, T) { + var S = this.series, + G = ((K + J) / 2 + 360) % 360, + N = this.getSector(Q, I, L, E, M, O, P, J, K, T); + q.pack(N, S[Q], Q, S[Q].data[I], I, S[Q].data[I].name, L), H.push(N); + var F = this.getLabel(Q, I, L, M, G, T, !1), + R = this.getLabelLine(Q, I, M, O, P, G, T, !1); + R && (q.pack(R, S[Q], Q, S[Q].data[I], I, S[Q].data[I].name, L), H.push(R)), F && (q.pack(F, S[Q], Q, S[Q].data[I], I, S[Q].data[I].name, L), F._labelLine = R, H.push(F)) + }, + getSector: function(I, U, M, Q, E, R, T, O, L, P) { + var H = this.series, + S = H[I], + G = S.data[U], + V = [G, S], + X = this.deepMerge(V, "itemStyle.normal") || {}, + K = this.deepMerge(V, "itemStyle.emphasis") || {}, + F = this.getItemStyleColor(X.color, I, U, G) || P, + J = this.getItemStyleColor(K.color, I, U, G) || ("string" == typeof F ? C.lift(F, -0.2) : F), + N = { + zlevel: S.zlevel, + z: S.z, + clickable: this.deepQuery(V, "clickable"), + style: { + x: E[0], + y: E[1], + r0: R, + r: T, + startAngle: O, + endAngle: L, + brushType: "both", + color: F, + lineWidth: X.borderWidth, + strokeColor: X.borderColor, + lineJoin: "round" + }, + highlightStyle: { + color: J, + lineWidth: K.borderWidth, + strokeColor: K.borderColor, + lineJoin: "round" + }, + _seriesIndex: I, + _dataIndex: U + }; + if (Q) { + var W = ((N.style.startAngle + N.style.endAngle) / 2).toFixed(2) - 0; + N.style._hasSelected = !0, N.style._x = N.style.x, N.style._y = N.style.y; + var r = this.query(S, "selectedOffset"); + N.style.x += D.cos(W, !0) * r, N.style.y -= D.sin(W, !0) * r, this._selected[I][U] = !0 + } else { + this._selected[I][U] = !1 + } + return this._selectedMode && (N.onclick = this.shapeHandler.onclick), this.deepQuery([G, S, this.option], "calculable") && (this.setCalculable(N), N.draggable = !0), (this._needLabel(S, G, !0) || this._needLabelLine(S, G, !0)) && (N.onmouseover = this.shapeHandler.onmouseover), N = new z(N) + }, + getLabel: function(H, V, M, n, Q, S, T) { + var O = this.series, + K = O[H], + X = K.data[V]; + if (this._needLabel(K, X, T)) { + var G, R, F, W = T ? "emphasis" : "normal", + Z = w.merge(w.clone(X.itemStyle) || {}, K.itemStyle), + J = Z[W].label, + E = J.textStyle || {}, + I = n[0], + N = n[1], + Y = this.parseRadius(this.zr, K.radius), + m = "middle"; + J.position = J.position || Z.normal.label.position, "center" === J.position ? (G = I, R = N, F = "center") : "inner" === J.position || "inside" === J.position ? (Y = (Y[0] + Y[1]) * (J.distance || 0.5), G = Math.round(I + Y * D.cos(Q, !0)), R = Math.round(N - Y * D.sin(Q, !0)), S = "#fff", F = "center") : (Y = Y[1] - -Z[W].labelLine.length, G = Math.round(I + Y * D.cos(Q, !0)), R = Math.round(N - Y * D.sin(Q, !0)), F = Q >= 90 && 270 >= Q ? "right" : "left"), "center" != J.position && "inner" != J.position && "inside" != J.position && (G += "left" === F ? 20 : -20), X.__labelX = G - ("left" === F ? 5 : -5), X.__labelY = R; + var P = new x({ + zlevel: K.zlevel, + z: K.z + 1, + hoverable: !1, + style: { + x: G, + y: R, + color: E.color || S, + text: this.getLabelText(H, V, M, W), + textAlign: E.align || F, + textBaseline: E.baseline || m, + textFont: this.getFont(E) + }, + highlightStyle: { + brushType: "fill" + } + }); + return P._radius = Y, P._labelPosition = J.position || "outer", P._rect = P.getRect(P.style), P._seriesIndex = H, P._dataIndex = V, P + } + }, + getLabelText: function(m, J, E, F) { + var l = this.series, + G = l[m], + H = G.data[J], + I = this.deepQuery([H, G], "itemStyle." + F + ".label.formatter"); + return I ? "function" == typeof I ? I.call(this.myChart, { + seriesIndex: m, + seriesName: G.name || "", + series: G, + dataIndex: J, + data: H, + name: H.name, + value: H.value, + percent: E + }) : "string" == typeof I ? (I = I.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{d}", "{d0}"), I = I.replace("{a0}", G.name).replace("{b0}", H.name).replace("{c0}", H.value).replace("{d0}", E)) : void 0 : H.name + }, + getLabelLine: function(H, S, L, O, s, P, R, N) { + var K = this.series, + V = K[H], + G = V.data[S]; + if (this._needLabelLine(V, G, N)) { + var Q = N ? "emphasis" : "normal", + F = w.merge(w.clone(G.itemStyle) || {}, V.itemStyle), + T = F[Q].labelLine, + X = T.lineStyle || {}, + J = L[0], + E = L[1], + I = s, + M = this.parseRadius(this.zr, V.radius)[1] - -T.length, + W = D.cos(P, !0), + m = D.sin(P, !0); + return new A({ + zlevel: V.zlevel, + z: V.z + 1, + hoverable: !1, + style: { + pointList: [ + [J + I * W, E - I * m], + [J + M * W, E - M * m], + [G.__labelX, G.__labelY] + ], + strokeColor: X.color || R, + lineType: X.type, + lineWidth: X.width + }, + _seriesIndex: H, + _dataIndex: S + }) + } + }, + _needLabel: function(a, m, l) { + return this.deepQuery([m, a], "itemStyle." + (l ? "emphasis" : "normal") + ".label.show") + }, + _needLabelLine: function(a, m, l) { + return this.deepQuery([m, a], "itemStyle." + (l ? "emphasis" : "normal") + ".labelLine.show") + }, + _autoLabelLayout: function(m, H, s) { + for (var E = [], l = [], F = 0, G = m.length; G > F; F++) { + ("outer" === m[F]._labelPosition || "outside" === m[F]._labelPosition) && (m[F]._rect._y = m[F]._rect.y, m[F]._rect.x < H[0] ? E.push(m[F]) : l.push(m[F])) + } + this._layoutCalculate(E, H, s, -1), this._layoutCalculate(l, H, s, 1) + }, + _layoutCalculate: function(F, O, H, K) { + function E(o, l, m) { + for (var e = o; l > e; e++) { + if (F[e]._rect.y += m, F[e].style.y += m, F[e]._labelLine && (F[e]._labelLine.style.pointList[1][1] += m, F[e]._labelLine.style.pointList[2][1] += m), e > o && l > e + 1 && F[e + 1]._rect.y > F[e]._rect.y + F[e]._rect.height) { + return void L(e, m / 2) + } + } + L(l - 1, m / 2) + } + + function L(l, a) { + for (var e = l; e >= 0 && (F[e]._rect.y -= a, F[e].style.y -= a, F[e]._labelLine && (F[e]._labelLine.style.pointList[1][1] -= a, F[e]._labelLine.style.pointList[2][1] -= a), !(e > 0 && F[e]._rect.y > F[e - 1]._rect.y + F[e - 1]._rect.height)); e--) {} + } + + function M(S, ad, W, Z, R) { + for (var aa, ab, ac, X = W[0], T = W[1], Y = R > 0 ? ad ? Number.MAX_VALUE : 0 : ad ? Number.MAX_VALUE : 0, af = 0, ae = S.length; ae > af; af++) { + ab = Math.abs(S[af]._rect.y - T), ac = S[af]._radius - Z, aa = Z + ac > ab ? Math.sqrt((Z + ac + 20) * (Z + ac + 20) - Math.pow(S[af]._rect.y - T, 2)) : Math.abs(S[af]._rect.x + (R > 0 ? 0 : S[af]._rect.width) - X), ad && aa >= Y && (aa = Y - 10), !ad && Y >= aa && (aa = Y + 10), S[af]._rect.x = S[af].style.x = X + aa * R, S[af]._labelLine && (S[af]._labelLine.style.pointList[2][0] = X + (aa - 5) * R, S[af]._labelLine.style.pointList[1][0] = X + (aa - 20) * R), Y = aa + } + } + F.sort(function(a, i) { + return a._rect.y - i._rect.y + }); + for (var N, I = 0, G = F.length, J = [], Q = [], P = 0; G > P; P++) { + N = F[P]._rect.y - I, 0 > N && E(P, G, -N, K), I = F[P]._rect.y + F[P]._rect.height + } + this.zr.getHeight() - I < 0 && L(G - 1, I - this.zr.getHeight()); + for (var P = 0; G > P; P++) { + F[P]._rect.y >= O[1] ? Q.push(F[P]) : J.push(F[P]) + } + M(Q, !0, O, H, K), M(J, !1, O, H, K) + }, + reformOption: function(a) { + var i = w.merge; + return a = i(i(a || {}, w.clone(this.ecTheme.pie || {})), w.clone(v.pie)), a.itemStyle.normal.label.textStyle = this.getTextStyle(a.itemStyle.normal.label.textStyle), a.itemStyle.emphasis.label.textStyle = this.getTextStyle(a.itemStyle.emphasis.label.textStyle), this.z = a.z, this.zlevel = a.zlevel, a + }, + refresh: function(a) { + a && (this.option = a, this.series = a.series), this.backupShapeList(), this._buildShape() + }, + addDataAnimation: function(H, R) { + function K() { + Q--, 0 === Q && R && R() + } + for (var M = this.series, l = {}, N = 0, P = H.length; P > N; N++) { + l[H[N][0]] = H[N] + } + var Q = 0, + J = {}, + L = {}, + W = {}, + T = this.shapeList; + this.shapeList = []; + for (var G, O, F, S = {}, N = 0, P = H.length; P > N; N++) { + G = H[N][0], O = H[N][2], F = H[N][3], M[G] && M[G].type === v.CHART_TYPE_PIE && (O ? (F || (J[G + "_" + M[G].data.length] = "delete"), S[G] = 1) : F ? S[G] = 0 : (J[G + "_-1"] = "delete", S[G] = -1), this._buildSinglePie(G)) + } + for (var X, I, N = 0, P = this.shapeList.length; P > N; N++) { + switch (G = this.shapeList[N]._seriesIndex, X = this.shapeList[N]._dataIndex, I = G + "_" + X, this.shapeList[N].type) { + case "sector": + J[I] = this.shapeList[N]; + break; + case "text": + L[I] = this.shapeList[N]; + break; + case "polyline": + W[I] = this.shapeList[N] + } + } + this.shapeList = []; + for (var E, N = 0, P = T.length; P > N; N++) { + if (G = T[N]._seriesIndex, l[G]) { + if (X = T[N]._dataIndex + S[G], I = G + "_" + X, E = J[I], !E) { + continue + } + if ("sector" === T[N].type) { + "delete" != E ? (Q++, this.zr.animate(T[N].id, "style").when(400, { + startAngle: E.style.startAngle, + endAngle: E.style.endAngle + }).done(K).start()) : (Q++, this.zr.animate(T[N].id, "style").when(400, S[G] < 0 ? { + startAngle: T[N].style.startAngle + } : { + endAngle: T[N].style.endAngle + }).done(K).start()) + } else { + if ("text" === T[N].type || "polyline" === T[N].type) { + if ("delete" === E) { + this.zr.delShape(T[N].id) + } else { + switch (T[N].type) { + case "text": + Q++, E = L[I], this.zr.animate(T[N].id, "style").when(400, { + x: E.style.x, + y: E.style.y + }).done(K).start(); + break; + case "polyline": + Q++, E = W[I], this.zr.animate(T[N].id, "style").when(400, { + pointList: E.style.pointList + }).done(K).start() + } + } + } + } + } + } + this.shapeList = T, Q || R && R() + }, + onclick: function(E) { + var L = this.series; + if (this.isClick && E.target) { + this.isClick = !1; + for (var F, H = E.target, l = H.style, I = q.get(H, "seriesIndex"), J = q.get(H, "dataIndex"), K = 0, G = this.shapeList.length; G > K; K++) { + if (this.shapeList[K].id === H.id) { + if (I = q.get(H, "seriesIndex"), J = q.get(H, "dataIndex"), l._hasSelected) { + H.style.x = H.style._x, H.style.y = H.style._y, H.style._hasSelected = !1, this._selected[I][J] = !1 + } else { + var M = ((l.startAngle + l.endAngle) / 2).toFixed(2) - 0; + H.style._hasSelected = !0, this._selected[I][J] = !0, H.style._x = H.style.x, H.style._y = H.style.y, F = this.query(L[I], "selectedOffset"), H.style.x += D.cos(M, !0) * F, H.style.y -= D.sin(M, !0) * F + } + this.zr.modShape(H.id) + } else { + this.shapeList[K].style._hasSelected && "single" === this._selectedMode && (I = q.get(this.shapeList[K], "seriesIndex"), J = q.get(this.shapeList[K], "dataIndex"), this.shapeList[K].style.x = this.shapeList[K].style._x, this.shapeList[K].style.y = this.shapeList[K].style._y, this.shapeList[K].style._hasSelected = !1, this._selected[I][J] = !1, this.zr.modShape(this.shapeList[K].id)) + } + } + this.messageCenter.dispatch(v.EVENT.PIE_SELECTED, E.event, { + selected: this._selected, + target: q.get(H, "name") + }, this.myChart), this.zr.refreshNextFrame() + } + } + }, w.inherits(B, u), p("../chart").define("pie", B), B + }), d("echarts/chart/radar", ["require", "./base", "zrender/shape/Polygon", "../component/polar", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "../util/accMath", "../chart"], function(l) { + function w(r, y, s, i, x) { + m.call(this, r, y, s, i, x), this.refresh(i) + } + var m = l("./base"), + p = l("zrender/shape/Polygon"); + l("../component/polar"); + var j = l("../config"); + j.radar = { + zlevel: 0, + z: 2, + clickable: !0, + legendHoverLink: !0, + polarIndex: 0, + itemStyle: { + normal: { + label: { + show: !1 + }, + lineStyle: { + width: 2, + type: "solid" + } + }, + emphasis: { + label: { + show: !1 + } + } + }, + symbolSize: 2 + }; + var q = l("../util/ecData"), + u = l("zrender/tool/util"), + v = l("zrender/tool/color"); + return w.prototype = { + type: j.CHART_TYPE_RADAR, + _buildShape: function() { + this.selectedMap = {}, this._symbol = this.option.symbolList, this._queryTarget, this._dropBoxList = [], this._radarDataCounter = 0; + for (var a, y = this.series, r = this.component.legend, s = 0, x = y.length; x > s; s++) { + y[s].type === j.CHART_TYPE_RADAR && (this.serie = this.reformOption(y[s]), this.legendHoverLink = y[s].legendHoverLink || this.legendHoverLink, a = this.serie.name || "", this.selectedMap[a] = r ? r.isSelected(a) : !0, this.selectedMap[a] && (this._queryTarget = [this.serie, this.option], this.deepQuery(this._queryTarget, "calculable") && this._addDropBox(s), this._buildSingleRadar(s), this.buildMark(s))) + } + this.addShapeList() + }, + _buildSingleRadar: function(y) { + for (var F, z, B, x, C = this.component.legend, D = this.serie.data, E = this.deepQuery(this._queryTarget, "calculable"), A = 0; A < D.length; A++) { + B = D[A].name || "", this.selectedMap[B] = C ? C.isSelected(B) : !0, this.selectedMap[B] && (C ? (z = C.getColor(B), F = C.getItemShape(B), F && (F.style.brushType = this.deepQuery([D[A], this.serie], "itemStyle.normal.areaStyle") ? "both" : "stroke", C.setItemShape(B, F))) : z = this.zr.getColor(A), x = this._getPointList(this.serie.polarIndex, D[A]), this._addSymbol(x, z, A, y, this.serie.polarIndex), this._addDataShape(x, z, D[A], y, A, E), this._radarDataCounter++) + } + }, + _getPointList: function(y, E) { + for (var z, A, x = [], B = this.component.polar, C = 0, D = E.value.length; D > C; C++) { + A = this.getDataFromOption(E.value[C]), z = "-" != A ? B.getVector(y, C, A) : !1, z && x.push(z) + } + return x + }, + _addSymbol: function(x, F, z, C, o) { + for (var D, E = this.series, A = this.component.polar, y = 0, B = x.length; B > y; y++) { + D = this.getSymbolShape(this.deepMerge([E[C].data[z], E[C]]), C, E[C].data[z].value[y], y, A.getIndicatorText(o, y), x[y][0], x[y][1], this._symbol[this._radarDataCounter % this._symbol.length], F, "#fff", "vertical"), D.zlevel = this.getZlevelBase(), D.z = this.getZBase() + 1, q.set(D, "data", E[C].data[z]), q.set(D, "value", E[C].data[z].value), q.set(D, "dataIndex", z), q.set(D, "special", y), this.shapeList.push(D) + } + }, + _addDataShape: function(x, E, z, n, D, A) { + var y = this.series, + B = [z, this.serie], + H = this.getItemStyleColor(this.deepQuery(B, "itemStyle.normal.color"), n, D, z), + G = this.deepQuery(B, "itemStyle.normal.lineStyle.width"), + s = this.deepQuery(B, "itemStyle.normal.lineStyle.type"), + C = this.deepQuery(B, "itemStyle.normal.areaStyle.color"), + o = this.deepQuery(B, "itemStyle.normal.areaStyle"), + F = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: { + pointList: x, + brushType: o ? "both" : "stroke", + color: C || H || ("string" == typeof E ? v.alpha(E, 0.5) : E), + strokeColor: H || E, + lineWidth: G, + lineType: s + }, + highlightStyle: { + brushType: this.deepQuery(B, "itemStyle.emphasis.areaStyle") || o ? "both" : "stroke", + color: this.deepQuery(B, "itemStyle.emphasis.areaStyle.color") || C || H || ("string" == typeof E ? v.alpha(E, 0.5) : E), + strokeColor: this.getItemStyleColor(this.deepQuery(B, "itemStyle.emphasis.color"), n, D, z) || H || E, + lineWidth: this.deepQuery(B, "itemStyle.emphasis.lineStyle.width") || G, + lineType: this.deepQuery(B, "itemStyle.emphasis.lineStyle.type") || s + } + }; + q.pack(F, y[n], n, z, D, z.name, this.component.polar.getIndicator(y[n].polarIndex)), A && (F.draggable = !0, this.setCalculable(F)), F = new p(F), this.shapeList.push(F) + }, + _addDropBox: function(a) { + var s = this.series, + o = this.deepQuery(this._queryTarget, "polarIndex"); + if (!this._dropBoxList[o]) { + var r = this.component.polar.getDropBox(o); + r.zlevel = this.getZlevelBase(), r.z = this.getZBase(), this.setCalculable(r), q.pack(r, s, a, void 0, -1), this.shapeList.push(r), this._dropBoxList[o] = !0 + } + }, + ondragend: function(s, A) { + var x = this.series; + if (this.isDragend && s.target) { + var y = s.target, + o = q.get(y, "seriesIndex"), + z = q.get(y, "dataIndex"); + this.component.legend && this.component.legend.del(x[o].data[z].name), x[o].data.splice(z, 1), A.dragOut = !0, A.needRefresh = !0, this.isDragend = !1 + } + }, + ondrop: function(E, y) { + var B = this.series; + if (this.isDrop && E.target) { + var e, C, D = E.target, + z = E.dragged, + x = q.get(D, "seriesIndex"), + A = q.get(D, "dataIndex"), + G = this.component.legend; + if (-1 === A) { + e = { + value: q.get(z, "value"), + name: q.get(z, "name") + }, B[x].data.push(e), G && G.add(e.name, z.style.color || z.style.strokeColor) + } else { + var F = l("../util/accMath"); + e = B[x].data[A], G && G.del(e.name), e.name += this.option.nameConnector + q.get(z, "name"), C = q.get(z, "value"); + for (var o = 0; o < C.length; o++) { + e.value[o] = F.accAdd(e.value[o], C[o]) + } + G && G.add(e.name, z.style.color || z.style.strokeColor) + } + y.dragIn = y.dragIn || !0, this.isDrop = !1 + } + }, + refresh: function(a) { + a && (this.option = a, this.series = a.series), this.backupShapeList(), this._buildShape() + } + }, u.inherits(w, m), l("../chart").define("radar", w), w + }), d("echarts/component/polar", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Polygon", "zrender/shape/Circle", "zrender/shape/Ring", "../config", "zrender/tool/util", "../util/coordinates", "../util/accMath", "../util/smartSteps", "../component"], function(p) { + function B(l, s, m, i, r) { + u.call(this, l, s, m, i, r), this.refresh(i) + } + var u = p("./base"), + x = p("zrender/shape/Text"), + j = p("zrender/shape/Line"), + y = p("zrender/shape/Polygon"), + z = p("zrender/shape/Circle"), + A = p("zrender/shape/Ring"), + v = p("../config"); + v.polar = { + zlevel: 0, + z: 0, + center: ["50%", "50%"], + radius: "75%", + startAngle: 90, + boundaryGap: [0, 0], + splitNumber: 5, + name: { + show: !0, + textStyle: { + color: "#333" + } + }, + axisLine: { + show: !0, + lineStyle: { + color: "#ccc", + width: 1, + type: "solid" + } + }, + axisLabel: { + show: !1, + textStyle: { + color: "#333" + } + }, + splitArea: { + show: !0, + areaStyle: { + color: ["rgba(250,250,250,0.3)", "rgba(200,200,200,0.3)"] + } + }, + splitLine: { + show: !0, + lineStyle: { + width: 1, + color: "#ccc" + } + }, + type: "polygon" + }; + var q = p("zrender/tool/util"), + w = p("../util/coordinates"); + return B.prototype = { + type: v.COMPONENT_TYPE_POLAR, + _buildShape: function() { + for (var a = 0; a < this.polar.length; a++) { + this._index = a, this.reformOption(this.polar[a]), this._queryTarget = [this.polar[a], this.option], this._createVector(a), this._buildSpiderWeb(a), this._buildText(a), this._adjustIndicatorValue(a), this._addAxisLabel(a) + } + for (var a = 0; a < this.shapeList.length; a++) { + this.zr.addShape(this.shapeList[a]) + } + }, + _createVector: function(C) { + for (var K, E = this.polar[C], G = this.deepQuery(this._queryTarget, "indicator"), m = G.length, H = E.startAngle, I = 2 * Math.PI / m, J = this._getRadius(), F = E.__ecIndicator = [], D = 0; m > D; D++) { + K = w.polar2cartesian(J, H * Math.PI / 180 + I * D), F.push({ + vector: [K[1], -K[0]] + }) + } + }, + _getRadius: function() { + var a = this.polar[this._index]; + return this.parsePercent(a.radius, Math.min(this.zr.getWidth(), this.zr.getHeight()) / 2) + }, + _buildSpiderWeb: function(D) { + var M = this.polar[D], + F = M.__ecIndicator, + I = M.splitArea, + C = M.splitLine, + J = this.getCenter(D), + K = M.splitNumber, + L = C.lineStyle.color, + G = C.lineStyle.width, + E = C.show, + H = this.deepQuery(this._queryTarget, "axisLine"); + this._addArea(F, K, J, I, L, G, E), H.show && this._addLine(F, J, H) + }, + _addAxisLabel: function(O) { + for (var G, e, K, M, e, N, I, J, R, Q, D = p("../util/accMath"), L = this.polar[O], C = this.deepQuery(this._queryTarget, "indicator"), P = L.__ecIndicator, T = this.deepQuery(this._queryTarget, "splitNumber"), F = this.getCenter(O), n = 0; n < C.length; n++) { + if (G = this.deepQuery([C[n], L, this.option], "axisLabel"), G.show) { + var E = this.deepQuery([G, L, this.option], "textStyle"), + H = this.deepQuery([G, L], "formatter"); + if (K = {}, K.textFont = this.getFont(E), K.color = E.color, K = q.merge(K, G), K.lineWidth = K.width, e = P[n].vector, N = P[n].value, J = n / C.length * 2 * Math.PI, R = G.offset || 10, Q = G.interval || 0, !N) { + return + } + for (var S = 1; T >= S; S += Q + 1) { + M = q.merge({}, K), I = D.accAdd(N.min, D.accMul(N.step, S)), I = "function" == typeof H ? H(I) : "string" == typeof H ? H.replace("{a}", "{a0}").replace("{a0}", I) : this.numAddCommas(I), M.text = I, M.x = S * e[0] / T + Math.cos(J) * R + F[0], M.y = S * e[1] / T + Math.sin(J) * R + F[1], this.shapeList.push(new x({ + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: M, + draggable: !1, + hoverable: !1 + })) + } + } + } + }, + _buildText: function(E) { + for (var N, G, n, J, L, M, H, F = this.polar[E], I = F.__ecIndicator, P = this.deepQuery(this._queryTarget, "indicator"), O = this.getCenter(E), D = 0, K = 0, C = 0; C < P.length; C++) { + J = this.deepQuery([P[C], F, this.option], "name"), J.show && (H = this.deepQuery([J, F, this.option], "textStyle"), G = {}, G.textFont = this.getFont(H), G.color = H.color, G.text = "function" == typeof J.formatter ? J.formatter.call(this.myChart, P[C].text, C) : "string" == typeof J.formatter ? J.formatter.replace("{value}", P[C].text) : P[C].text, I[C].text = G.text, N = I[C].vector, n = Math.round(N[0]) > 0 ? "left" : Math.round(N[0]) < 0 ? "right" : "center", null == J.margin ? N = this._mapVector(N, O, 1.1) : (M = J.margin, D = N[0] > 0 ? M : -M, K = N[1] > 0 ? M : -M, D = 0 === N[0] ? 0 : D, K = 0 === N[1] ? 0 : K, N = this._mapVector(N, O, 1)), G.textAlign = n, G.x = N[0] + D, G.y = N[1] + K, L = J.rotate ? [J.rotate / 180 * Math.PI, N[0], N[1]] : [0, 0, 0], this.shapeList.push(new x({ + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: G, + draggable: !1, + hoverable: !1, + rotation: L + }))) + } + }, + getIndicatorText: function(a, i) { + return this.polar[a] && this.polar[a].__ecIndicator[i] && this.polar[a].__ecIndicator[i].text + }, + getDropBox: function(C) { + var K, E, C = C || 0, + G = this.polar[C], + m = this.getCenter(C), + H = G.__ecIndicator, + I = H.length, + J = [], + F = G.type; + if ("polygon" == F) { + for (var D = 0; I > D; D++) { + K = H[D].vector, J.push(this._mapVector(K, m, 1.2)) + } + E = this._getShape(J, "fill", "rgba(0,0,0,0)", "", 1) + } else { + "circle" == F && (E = this._getCircle("", 1, 1.2, m, "fill", "rgba(0,0,0,0)")) + } + return E + }, + _addArea: function(D, M, F, I, C, J, K) { + for (var L, G, E, H, O = this.deepQuery(this._queryTarget, "type"), N = 0; M > N; N++) { + G = (M - N) / M, K && ("polygon" == O ? (H = this._getPointList(D, G, F), L = this._getShape(H, "stroke", "", C, J)) : "circle" == O && (L = this._getCircle(C, J, G, F, "stroke")), this.shapeList.push(L)), I.show && (E = (M - N - 1) / M, this._addSplitArea(D, I, G, E, F, N)) + } + }, + _getCircle: function(m, F, r, C, l, D) { + var E = this._getRadius(); + return new z({ + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: { + x: C[0], + y: C[1], + r: E * r, + brushType: l, + strokeColor: m, + lineWidth: F, + color: D + }, + hoverable: !1, + draggable: !1 + }) + }, + _getRing: function(m, s, o, r) { + var l = this._getRadius(); + return new A({ + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: { + x: r[0], + y: r[1], + r: s * l, + r0: o * l, + color: m, + brushType: "fill" + }, + hoverable: !1, + draggable: !1 + }) + }, + _getPointList: function(m, F, s) { + for (var C, l = [], D = m.length, E = 0; D > E; E++) { + C = m[E].vector, l.push(this._mapVector(C, s, F)) + } + return l + }, + _getShape: function(m, s, o, r, l) { + return new y({ + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: { + pointList: m, + brushType: s, + color: o, + strokeColor: r, + lineWidth: l + }, + hoverable: !1, + draggable: !1 + }) + }, + _addSplitArea: function(F, P, H, K, C, L) { + var N, O, I, G, J, R = F.length, + Q = P.areaStyle.color, + E = [], + R = F.length, + M = this.deepQuery(this._queryTarget, "type"); + if ("string" == typeof Q && (Q = [Q]), O = Q.length, N = Q[L % O], "polygon" == M) { + for (var D = 0; R > D; D++) { + E = [], I = F[D].vector, G = F[(D + 1) % R].vector, E.push(this._mapVector(I, C, H)), E.push(this._mapVector(I, C, K)), E.push(this._mapVector(G, C, K)), E.push(this._mapVector(G, C, H)), J = this._getShape(E, "fill", N, "", 1), this.shapeList.push(J) + } + } else { + "circle" == M && (J = this._getRing(N, H, K, C), this.shapeList.push(J)) + } + }, + _mapVector: function(a, m, l) { + return [a[0] * l + m[0], a[1] * l + m[1]] + }, + getCenter: function(a) { + var a = a || 0; + return this.parseCenter(this.zr, this.polar[a].center) + }, + _addLine: function(D, M, F) { + for (var I, C, J = D.length, K = F.lineStyle, L = K.color, G = K.width, E = K.type, H = 0; J > H; H++) { + C = D[H].vector, I = this._getLine(M[0], M[1], C[0] + M[0], C[1] + M[1], L, G, E), this.shapeList.push(I) + } + }, + _getLine: function(a, F, l, m, C, D, E) { + return new j({ + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: { + xStart: a, + yStart: F, + xEnd: l, + yEnd: m, + strokeColor: C, + lineWidth: D, + lineType: E + }, + hoverable: !1 + }) + }, + _adjustIndicatorValue: function(N) { + for (var F, I, e, J = this.polar[N], L = this.deepQuery(this._queryTarget, "indicator"), M = L.length, G = J.__ecIndicator, E = this._getSeriesData(N), H = J.boundaryGap, Q = J.splitNumber, P = J.scale, D = p("../util/smartSteps"), K = 0; M > K; K++) { + if ("number" == typeof L[K].max) { + F = L[K].max, I = L[K].min || 0, e = { + max: F, + min: I + } + } else { + var C = this._findValue(E, K, Q, H); + I = C.min, F = C.max + }!P && I >= 0 && F >= 0 && (I = 0), !P && 0 >= I && 0 >= F && (F = 0); + var O = D(I, F, Q, e); + G[K].value = { + min: O.min, + max: O.max, + step: O.step + } + } + }, + _getSeriesData: function(m) { + for (var H, C, D, l = [], E = this.component.legend, F = 0; F < this.series.length; F++) { + if (H = this.series[F], H.type == v.CHART_TYPE_RADAR) { + C = H.data || []; + for (var G = 0; G < C.length; G++) { + D = this.deepQuery([C[G], H, this.option], "polarIndex") || 0, D != m || E && !E.isSelected(C[G].name) || l.push(C[G]) + } + } + } + return l + }, + _findValue: function(C, K, E, G) { + function m(a) { + (a > H || void 0 === H) && (H = a), (I > a || void 0 === I) && (I = a) + } + var H, I, J; + if (C && 0 !== C.length) { + if (1 == C.length && (I = 0), 1 != C.length) { + for (var F = 0; F < C.length; F++) { + m(this.getDataFromOption(C[F].value[K])) + } + } else { + J = C[0]; + for (var F = 0; F < J.value.length; F++) { + m(this.getDataFromOption(J.value[F])) + } + } + var D = Math.abs(H - I); + return I -= Math.abs(D * G[0]), H += Math.abs(D * G[1]), I === H && (0 === H ? H = 1 : H > 0 ? I = H / E : H /= E), { + max: H, + min: I + } + } + }, + getVector: function(C, K, E) { + C = C || 0, K = K || 0; + var G = this.polar[C].__ecIndicator; + if (!(K >= G.length)) { + var m, H = this.polar[C].__ecIndicator[K], + I = this.getCenter(C), + J = H.vector, + F = H.value.max, + D = H.value.min; + if ("undefined" == typeof E) { + return I + } + switch (E) { + case "min": + E = D; + break; + case "max": + E = F; + break; + case "center": + E = (F + D) / 2 + } + return m = F != D ? (E - D) / (F - D) : 0.5, this._mapVector(J, I, m) + } + }, + isInside: function(a) { + var i = this.getNearestIndex(a); + return i ? i.polarIndex : -1 + }, + getNearestIndex: function(C) { + for (var K, E, G, m, H, I, J, F, D, L = 0; L < this.polar.length; L++) { + if (K = this.polar[L], E = this.getCenter(L), C[0] == E[0] && C[1] == E[1]) { + return { + polarIndex: L, + valueIndex: 0 + } + } + if (G = this._getRadius(), H = K.startAngle, I = K.indicator, J = I.length, F = 2 * Math.PI / J, m = w.cartesian2polar(C[0] - E[0], E[1] - C[1]), C[0] - E[0] < 0 && (m[1] += Math.PI), m[1] < 0 && (m[1] += 2 * Math.PI), D = m[1] - H / 180 * Math.PI + 2 * Math.PI, Math.abs(Math.cos(D % (F / 2))) * G > m[0]) { + return { + polarIndex: L, + valueIndex: Math.floor((D + F / 2) / F) % J + } + } + } + }, + getIndicator: function(a) { + var a = a || 0; + return this.polar[a].indicator + }, + refresh: function(a) { + a && (this.option = a, this.polar = this.option.polar, this.series = this.option.series), this.clear(), this._buildShape() + } + }, q.inherits(B, u), p("../component").define("polar", B), B + }), d("echarts/util/coordinates", ["require", "zrender/tool/math"], function(a) { + function m(i, n) { + return [i * l.sin(n), i * l.cos(n)] + } + + function j(i, n) { + return [Math.sqrt(i * i + n * n), Math.atan(n / i)] + } + var l = a("zrender/tool/math"); + return { + polar2cartesian: m, + cartesian2polar: j + } + }), d("echarts/chart/chord", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Sector", "../util/shape/Ribbon", "../util/shape/Icon", "zrender/shape/BezierCurve", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/vector", "../data/Graph", "../layout/Chord", "../chart"], function(u) { + function E(l, r, m, i, p) { + w.call(this, l, r, m, i, p), this.scaleLineLength = 4, this.scaleUnitAngle = 4, this.refresh(i) + } + var w = u("./base"), + z = u("zrender/shape/Text"), + j = u("zrender/shape/Line"), + A = u("zrender/shape/Sector"), + C = u("../util/shape/Ribbon"), + D = u("../util/shape/Icon"), + x = u("zrender/shape/BezierCurve"), + v = u("../config"); + v.chord = { + zlevel: 0, + z: 2, + clickable: !0, + radius: ["65%", "75%"], + center: ["50%", "50%"], + padding: 2, + sort: "none", + sortSub: "none", + startAngle: 90, + clockWise: !0, + ribbonType: !0, + minRadius: 10, + maxRadius: 20, + symbol: "circle", + showScale: !1, + showScaleText: !1, + itemStyle: { + normal: { + borderWidth: 0, + borderColor: "#000", + label: { + show: !0, + rotate: !1, + distance: 5 + }, + chordStyle: { + width: 1, + color: "black", + borderWidth: 1, + borderColor: "#999", + opacity: 0.5 + } + }, + emphasis: { + borderWidth: 0, + borderColor: "#000", + chordStyle: { + width: 1, + color: "black", + borderWidth: 1, + borderColor: "#999" + } + } + } + }; + var y = u("../util/ecData"), + G = u("zrender/tool/util"), + F = u("zrender/tool/vector"), + q = u("../data/Graph"), + B = u("../layout/Chord"); + return E.prototype = { + type: v.CHART_TYPE_CHORD, + _init: function() { + var p = this.series; + this.selectedMap = {}; + for (var N = {}, H = {}, J = 0, m = p.length; m > J; J++) { + if (p[J].type === this.type) { + var K = this.isSelected(p[J].name); + this.selectedMap[p[J].name] = K, K && this.buildMark(J), this.reformOption(p[J]), N[p[J].name] = p[J] + } + } + for (var J = 0, m = p.length; m > J; J++) { + if (p[J].type === this.type) { + if (p[J].insertToSerie) { + var L = N[p[J].insertToSerie]; + p[J]._referenceSerie = L + } else { + H[p[J].name] = [p[J]] + } + } + } + for (var J = 0, m = p.length; m > J; J++) { + if (p[J].type === this.type && p[J].insertToSerie) { + for (var M = p[J]._referenceSerie; M && M._referenceSerie;) { + M = M._referenceSerie + } + H[M.name] && this.selectedMap[p[J].name] && H[M.name].push(p[J]) + } + } + for (var I in H) { + this._buildChords(H[I]) + } + this.addShapeList() + }, + _getNodeCategory: function(a, i) { + return a.categories && a.categories[i.category || 0] + }, + _getNodeQueryTarget: function(a, m) { + var l = this._getNodeCategory(a, m); + return [m, l, a] + }, + _getEdgeQueryTarget: function(a, m, l) { + return l = l || "normal", [m.itemStyle && m.itemStyle[l], a.itemStyle[l].chordStyle] + }, + _buildChords: function(J) { + for (var S = [], L = J[0], O = function(a) { + return a.layout.size > 0 + }, p = function(a) { + return function(e) { + return a.getEdge(e.node2, e.node1) + } + }, P = 0; P < J.length; P++) { + var Q = J[P]; + if (this.selectedMap[Q.name]) { + var R; + Q.matrix ? R = this._getSerieGraphFromDataMatrix(Q, L) : Q.links && (R = this._getSerieGraphFromNodeLinks(Q, L)), R.filterNode(O, this), Q.ribbonType && R.filterEdge(p(R)), S.push(R), R.__serie = Q + } + } + if (S.length) { + var M = S[0]; + if (!L.ribbonType) { + var K = L.minRadius, + N = L.maxRadius, + X = 1 / 0, + W = -(1 / 0); + M.eachNode(function(a) { + W = Math.max(a.layout.size, W), X = Math.min(a.layout.size, X) + }); + var I = (N - K) / (W - X); + M.eachNode(function(a) { + var l = this._getNodeQueryTarget(L, a), + i = this.query(l, "symbolSize"); + a.layout.size = W === X ? i || X : i || (a.layout.size - X) * I + K + }, this) + } + var H = new B; + H.clockWise = L.clockWise, H.startAngle = L.startAngle * Math.PI / 180, H.clockWise || (H.startAngle = -H.startAngle), H.padding = L.padding * Math.PI / 180, H.sort = L.sort, H.sortSub = L.sortSub, H.directed = L.ribbonType, H.run(S); + var T = this.query(L, "itemStyle.normal.label.show"); + if (L.ribbonType) { + this._buildSectors(L, 0, M, L, S), T && this._buildLabels(L, 0, M, L, S); + for (var P = 0, Y = 0; P < J.length; P++) { + this.selectedMap[J[P].name] && this._buildRibbons(J, P, S[Y++], L) + } + L.showScale && this._buildScales(L, 0, M) + } else { + this._buildNodeIcons(L, 0, M, L, S), T && this._buildLabels(L, 0, M, L, S); + for (var P = 0, Y = 0; P < J.length; P++) { + this.selectedMap[J[P].name] && this._buildEdgeCurves(J, P, S[Y++], L, M) + } + } + this._initHoverHandler(J, S) + } + }, + _getSerieGraphFromDataMatrix: function(I, S) { + for (var K = [], N = 0, H = [], O = 0; O < I.matrix.length; O++) { + H[O] = I.matrix[O].slice() + } + for (var Q = I.data || I.nodes, O = 0; O < Q.length; O++) { + var R = {}, + L = Q[O]; + L.rawIndex = O; + for (var J in L) { + "name" === J ? R.id = L.name : R[J] = L[J] + } + var M = this._getNodeCategory(S, L), + W = M ? M.name : L.name; + if (this.selectedMap[W] = this.isSelected(W), this.selectedMap[W]) { + K.push(R), N++ + } else { + H.splice(N, 1); + for (var T = 0; T < H.length; T++) { + H[T].splice(N, 1) + } + } + } + var P = q.fromMatrix(K, H, !0); + return P.eachNode(function(a) { + a.layout = { + size: a.data.outValue + }, a.rawIndex = a.data.rawIndex + }), P.eachEdge(function(a) { + a.layout = { + weight: a.data.weight + } + }), P + }, + _getSerieGraphFromNodeLinks: function(I, S) { + for (var K = new q(!0), N = I.data || I.nodes, H = 0, O = N.length; O > H; H++) { + var Q = N[H]; + if (Q && !Q.ignore) { + var R = this._getNodeCategory(S, Q), + L = R ? R.name : Q.name; + if (this.selectedMap[L] = this.isSelected(L), this.selectedMap[L]) { + var J = K.addNode(Q.name, Q); + J.rawIndex = H + } + } + } + for (var H = 0, O = I.links.length; O > H; H++) { + var M = I.links[H], + W = M.source, + T = M.target; + "number" == typeof W && (W = N[W], W && (W = W.name)), "number" == typeof T && (T = N[T], T && (T = T.name)); + var P = K.addEdge(W, T, M); + P && (P.rawIndex = H) + } + return K.eachNode(function(a) { + var l = a.data.value; + if (null == l) { + if (l = 0, S.ribbonType) { + for (var m = 0; m < a.outEdges.length; m++) { + l += a.outEdges[m].data.weight || 0 + } + } else { + for (var m = 0; m < a.edges.length; m++) { + l += a.edges[m].data.weight || 0 + } + } + } + a.layout = { + size: l + } + }), K.eachEdge(function(a) { + a.layout = { + weight: null == a.data.weight ? 1 : a.data.weight + } + }), K + }, + _initHoverHandler: function(m, r) { + var o = m[0], + p = r[0], + l = this; + p.eachNode(function(a) { + a.shape.onmouseover = function() { + p.eachNode(function(i) { + i.shape.style.opacity = 0.1, i.labelShape && (i.labelShape.style.opacity = 0.1, i.labelShape.modSelf()), i.shape.modSelf() + }); + for (var n = 0; n < r.length; n++) { + for (var H = 0; H < r[n].edges.length; H++) { + var I = r[n].edges[H], + J = l._getEdgeQueryTarget(r[n].__serie, I.data); + I.shape.style.opacity = 0.1 * l.deepQuery(J, "opacity"), I.shape.modSelf() + } + } + a.shape.style.opacity = 1, a.labelShape && (a.labelShape.style.opacity = 1); + for (var n = 0; n < r.length; n++) { + var t = r[n].getNodeById(a.id); + if (t) { + for (var H = 0; H < t.outEdges.length; H++) { + var I = t.outEdges[H], + J = l._getEdgeQueryTarget(r[n].__serie, I.data); + I.shape.style.opacity = l.deepQuery(J, "opacity"); + var e = r[0].getNodeById(I.node2.id); + e && (e.shape && (e.shape.style.opacity = 1), e.labelShape && (e.labelShape.style.opacity = 1)) + } + } + } + l.zr.refreshNextFrame() + }, a.shape.onmouseout = function() { + p.eachNode(function(s) { + s.shape.style.opacity = 1, s.labelShape && (s.labelShape.style.opacity = 1, s.labelShape.modSelf()), s.shape.modSelf() + }); + for (var i = 0; i < r.length; i++) { + for (var n = 0; n < r[i].edges.length; n++) { + var t = r[i].edges[n], + H = [t.data, o]; + t.shape.style.opacity = l.deepQuery(H, "itemStyle.normal.chordStyle.opacity"), t.shape.modSelf() + } + } + l.zr.refreshNextFrame() + } + }) + }, + _buildSectors: function(o, L, p, I) { + var m = this.parseCenter(this.zr, I.center), + J = this.parseRadius(this.zr, I.radius), + K = I.clockWise, + H = K ? 1 : -1; + p.eachNode(function(l) { + var e = this._getNodeCategory(I, l.data), + s = this.getColor(e ? e.name : l.id), + r = l.layout.startAngle / Math.PI * 180 * H, + a = l.layout.endAngle / Math.PI * 180 * H, + n = new A({ + zlevel: o.zlevel, + z: o.z, + style: { + x: m[0], + y: m[1], + r0: J[0], + r: J[1], + startAngle: r, + endAngle: a, + brushType: "fill", + opacity: 1, + color: s, + clockWise: K + }, + clickable: I.clickable, + highlightStyle: { + brushType: "fill" + } + }); + n.style.lineWidth = this.deepQuery([l.data, I], "itemStyle.normal.borderWidth"), n.highlightStyle.lineWidth = this.deepQuery([l.data, I], "itemStyle.emphasis.borderWidth"), n.style.strokeColor = this.deepQuery([l.data, I], "itemStyle.normal.borderColor"), n.highlightStyle.strokeColor = this.deepQuery([l.data, I], "itemStyle.emphasis.borderColor"), n.style.lineWidth > 0 && (n.style.brushType = "both"), n.highlightStyle.lineWidth > 0 && (n.highlightStyle.brushType = "both"), y.pack(n, o, L, l.data, l.rawIndex, l.id, l.category), this.shapeList.push(n), l.shape = n + }, this) + }, + _buildNodeIcons: function(m, J, p, s) { + var l = this.parseCenter(this.zr, s.center), + H = this.parseRadius(this.zr, s.radius), + I = H[1]; + p.eachNode(function(r) { + var K = r.layout.startAngle, + t = r.layout.endAngle, + n = (K + t) / 2, + O = I * Math.cos(n), + N = I * Math.sin(n), + e = this._getNodeQueryTarget(s, r.data), + L = this._getNodeCategory(s, r.data), + a = this.deepQuery(e, "itemStyle.normal.color"); + a || (a = this.getColor(L ? L.name : r.id)); + var M = new D({ + zlevel: m.zlevel, + z: m.z + 1, + style: { + x: -r.layout.size, + y: -r.layout.size, + width: 2 * r.layout.size, + height: 2 * r.layout.size, + iconType: this.deepQuery(e, "symbol"), + color: a, + brushType: "both", + lineWidth: this.deepQuery(e, "itemStyle.normal.borderWidth"), + strokeColor: this.deepQuery(e, "itemStyle.normal.borderColor") + }, + highlightStyle: { + color: this.deepQuery(e, "itemStyle.emphasis.color"), + lineWidth: this.deepQuery(e, "itemStyle.emphasis.borderWidth"), + strokeColor: this.deepQuery(e, "itemStyle.emphasis.borderColor") + }, + clickable: s.clickable, + position: [O + l[0], N + l[1]] + }); + y.pack(M, m, J, r.data, r.rawIndex, r.id, r.category), this.shapeList.push(M), r.shape = M + }, this) + }, + _buildLabels: function(p, O, I, n) { + var L = this.query(n, "itemStyle.normal.label.rotate"), + M = this.query(n, "itemStyle.normal.label.distance"), + N = this.parseCenter(this.zr, n.center), + J = this.parseRadius(this.zr, n.radius), + H = n.clockWise, + K = H ? 1 : -1; + I.eachNode(function(r) { + var m = r.layout.startAngle / Math.PI * 180 * K, + l = r.layout.endAngle / Math.PI * 180 * K, + P = (m * -K + l * -K) / 2; + P %= 360, 0 > P && (P += 360); + var e = 90 >= P || P >= 270; + P = P * Math.PI / 180; + var o = [Math.cos(P), -Math.sin(P)], + a = 0; + a = n.ribbonType ? n.showScaleText ? 35 + M : M : M + r.layout.size; + var s = F.scale([], o, J[1] + a); + F.add(s, s, N); + var Q = { + zlevel: p.zlevel, + z: p.z + 1, + hoverable: !1, + style: { + text: null == r.data.label ? r.id : r.data.label, + textAlign: e ? "left" : "right" + } + }; + L ? (Q.rotation = e ? P : Math.PI + P, Q.style.x = e ? J[1] + a : -J[1] - a, Q.style.y = 0, Q.position = N.slice()) : (Q.style.x = s[0], Q.style.y = s[1]), Q.style.color = this.deepQuery([r.data, n], "itemStyle.normal.label.textStyle.color") || "#000000", Q.style.textFont = this.getFont(this.deepQuery([r.data, n], "itemStyle.normal.label.textStyle")), Q = new z(Q), this.shapeList.push(Q), r.labelShape = Q + }, this) + }, + _buildRibbons: function(m, J, p, r) { + var l = m[J], + H = this.parseCenter(this.zr, r.center), + I = this.parseRadius(this.zr, r.radius); + p.eachEdge(function(K, s) { + var O, N = p.getEdge(K.node2, K.node1); + if (N && !K.shape) { + if (N.shape) { + return void(K.shape = N.shape) + } + var i = K.layout.startAngle / Math.PI * 180, + L = K.layout.endAngle / Math.PI * 180, + e = N.layout.startAngle / Math.PI * 180, + M = N.layout.endAngle / Math.PI * 180; + O = this.getColor(1 === m.length ? K.layout.weight <= N.layout.weight ? K.node1.id : K.node2.id : l.name); + var P, o, a = this._getEdgeQueryTarget(l, K.data), + n = this._getEdgeQueryTarget(l, K.data, "emphasis"), + t = new C({ + zlevel: l.zlevel, + z: l.z, + style: { + x: H[0], + y: H[1], + r: I[0], + source0: i, + source1: L, + target0: e, + target1: M, + brushType: "both", + opacity: this.deepQuery(a, "opacity"), + color: O, + lineWidth: this.deepQuery(a, "borderWidth"), + strokeColor: this.deepQuery(a, "borderColor"), + clockWise: r.clockWise + }, + clickable: r.clickable, + highlightStyle: { + brushType: "both", + opacity: this.deepQuery(n, "opacity"), + lineWidth: this.deepQuery(n, "borderWidth"), + strokeColor: this.deepQuery(n, "borderColor") + } + }); + K.layout.weight <= N.layout.weight ? (P = N.node1, o = N.node2) : (P = K.node1, o = K.node2), y.pack(t, l, J, K.data, null == K.rawIndex ? s : K.rawIndex, K.data.name || P.id + "-" + o.id, P.id, o.id), this.shapeList.push(t), K.shape = t + } + }, this) + }, + _buildEdgeCurves: function(m, J, p, s, l) { + var H = m[J], + I = this.parseCenter(this.zr, s.center); + p.eachEdge(function(o, t) { + var K = l.getNodeById(o.node1.id), + M = l.getNodeById(o.node2.id), + r = K.shape, + O = M.shape, + N = this._getEdgeQueryTarget(H, o.data), + a = this._getEdgeQueryTarget(H, o.data, "emphasis"), + L = new x({ + zlevel: H.zlevel, + z: H.z, + style: { + xStart: r.position[0], + yStart: r.position[1], + xEnd: O.position[0], + yEnd: O.position[1], + cpX1: I[0], + cpY1: I[1], + lineWidth: this.deepQuery(N, "width"), + strokeColor: this.deepQuery(N, "color"), + opacity: this.deepQuery(N, "opacity") + }, + highlightStyle: { + lineWidth: this.deepQuery(a, "width"), + strokeColor: this.deepQuery(a, "color"), + opacity: this.deepQuery(a, "opacity") + } + }); + y.pack(L, H, J, o.data, null == o.rawIndex ? t : o.rawIndex, o.data.name || o.node1.id + "-" + o.node2.id, o.node1.id, o.node2.id), this.shapeList.push(L), o.shape = L + }, this) + }, + _buildScales: function(n, P, I) { + var L, N, O = n.clockWise, + J = this.parseCenter(this.zr, n.center), + H = this.parseRadius(this.zr, n.radius), + K = O ? 1 : -1, + Q = 0, + a = -(1 / 0); + n.showScaleText && (I.eachNode(function(i) { + var l = i.data.value; + l > a && (a = l), Q += l + }), a > 10000000000 ? (L = "b", N = 1e-09) : a > 10000000 ? (L = "m", N = 1e-06) : a > 10000 ? (L = "k", N = 0.001) : (L = "", N = 1)); + var M = Q / (360 - n.padding); + I.eachNode(function(T) { + for (var s = T.layout.startAngle / Math.PI * 180, W = T.layout.endAngle / Math.PI * 180, o = s;;) { + if (O && o > W || !O && W > o) { + break + } + var m = o / 180 * Math.PI, + U = [Math.cos(m), Math.sin(m)], + Y = F.scale([], U, H[1] + 1); + F.add(Y, Y, J); + var r = F.scale([], U, H[1] + this.scaleLineLength); + F.add(r, r, J); + var l = new j({ + zlevel: n.zlevel, + z: n.z - 1, + hoverable: !1, + style: { + xStart: Y[0], + yStart: Y[1], + xEnd: r[0], + yEnd: r[1], + lineCap: "round", + brushType: "stroke", + strokeColor: "#666", + lineWidth: 1 + } + }); + this.shapeList.push(l), o += K * this.scaleUnitAngle + } + if (n.showScaleText) { + for (var p = s, R = 5 * M * this.scaleUnitAngle, X = 0;;) { + if (O && p > W || !O && W > p) { + break + } + var m = p; + m %= 360, 0 > m && (m += 360); + var e = 90 >= m || m >= 270, + S = new z({ + zlevel: n.zlevel, + z: n.z - 1, + hoverable: !1, + style: { + x: e ? H[1] + this.scaleLineLength + 4 : -H[1] - this.scaleLineLength - 4, + y: 0, + text: Math.round(10 * X) / 10 + L, + textAlign: e ? "left" : "right" + }, + position: J.slice(), + rotation: e ? [-m / 180 * Math.PI, 0, 0] : [-(m + 180) / 180 * Math.PI, 0, 0] + }); + this.shapeList.push(S), X += R * N, p += K * this.scaleUnitAngle * 5 + } + } + }, this) + }, + refresh: function(a) { + if (a && (this.option = a, this.series = a.series), this.legend = this.component.legend, this.legend) { + this.getColor = function(i) { + return this.legend.getColor(i) + }, this.isSelected = function(i) { + return this.legend.isSelected(i) + } + } else { + var m = {}, + l = 0; + this.getColor = function(i) { + return m[i] ? m[i] : (m[i] || (m[i] = this.zr.getColor(l++)), m[i]) + }, this.isSelected = function() { + return !0 + } + } + this.backupShapeList(), this._init() + }, + reformOption: function(a) { + var i = G.merge; + a = i(i(a || {}, this.ecTheme.chord), v.chord), a.itemStyle.normal.label.textStyle = this.getTextStyle(a.itemStyle.normal.label.textStyle), this.z = a.z, this.zlevel = a.zlevel + } + }, G.inherits(E, w), u("../chart").define("chord", E), E + }), d("echarts/util/shape/Ribbon", ["require", "zrender/shape/Base", "zrender/shape/util/PathProxy", "zrender/tool/util", "zrender/tool/area"], function(l) { + function r(a) { + m.call(this, a), this._pathProxy = new p + } + var m = l("zrender/shape/Base"), + p = l("zrender/shape/util/PathProxy"), + j = l("zrender/tool/util"), + q = l("zrender/tool/area"); + return r.prototype = { + type: "ribbon", + buildPath: function(z, K) { + var C = K.clockWise || !1, + F = this._pathProxy; + F.begin(z); + var v = K.x, + G = K.y, + I = K.r, + J = K.source0 / 180 * Math.PI, + D = K.source1 / 180 * Math.PI, + B = K.target0 / 180 * Math.PI, + E = K.target1 / 180 * Math.PI, + N = v + Math.cos(J) * I, + M = G + Math.sin(J) * I, + x = v + Math.cos(D) * I, + H = G + Math.sin(D) * I, + w = v + Math.cos(B) * I, + L = G + Math.sin(B) * I, + O = v + Math.cos(E) * I, + A = G + Math.sin(E) * I; + F.moveTo(N, M), F.arc(v, G, K.r, J, D, !C), F.bezierCurveTo(0.7 * (v - x) + x, 0.7 * (G - H) + H, 0.7 * (v - w) + w, 0.7 * (G - L) + L, w, L), (K.source0 !== K.target0 || K.source1 !== K.target1) && (F.arc(v, G, K.r, B, E, !C), F.bezierCurveTo(0.7 * (v - O) + O, 0.7 * (G - A) + A, 0.7 * (v - N) + N, 0.7 * (G - M) + M, N, M)) + }, + getRect: function(a) { + return a.__rect ? a.__rect : (this._pathProxy.isEmpty() || this.buildPath(null, a), this._pathProxy.fastBoundingRect()) + }, + isCover: function(a, o) { + var n = this.getRect(this.style); + return a >= n.x && a <= n.x + n.width && o >= n.y && o <= n.y + n.height ? q.isInsidePath(this._pathProxy.pathCommands, 0, "fill", a, o) : void 0 + } + }, j.inherits(r, m), r + }), d("echarts/data/Graph", ["require", "zrender/tool/util"], function(l) { + var p = l("zrender/tool/util"), + m = function(a) { + this._directed = a || !1, this.nodes = [], this.edges = [], this._nodesMap = {}, this._edgesMap = {} + }; + m.prototype.isDirected = function() { + return this._directed + }, m.prototype.addNode = function(a, q) { + if (this._nodesMap[a]) { + return this._nodesMap[a] + } + var i = new m.Node(a, q); + return this.nodes.push(i), this._nodesMap[a] = i, i + }, m.prototype.getNodeById = function(a) { + return this._nodesMap[a] + }, m.prototype.addEdge = function(q, u, r) { + if ("string" == typeof q && (q = this._nodesMap[q]), "string" == typeof u && (u = this._nodesMap[u]), q && u) { + var i = q.id + "-" + u.id; + if (this._edgesMap[i]) { + return this._edgesMap[i] + } + var s = new m.Edge(q, u, r); + return this._directed && (q.outEdges.push(s), u.inEdges.push(s)), q.edges.push(s), q !== u && u.edges.push(s), this.edges.push(s), this._edgesMap[i] = s, s + } + }, m.prototype.removeEdge = function(r) { + var s = r.node1, + t = r.node2, + q = s.id + "-" + t.id; + this._directed && (s.outEdges.splice(p.indexOf(s.outEdges, r), 1), t.inEdges.splice(p.indexOf(t.inEdges, r), 1)), s.edges.splice(p.indexOf(s.edges, r), 1), s !== t && t.edges.splice(p.indexOf(t.edges, r), 1), delete this._edgesMap[q], this.edges.splice(p.indexOf(this.edges, r), 1) + }, m.prototype.getEdge = function(a, i) { + return "string" != typeof a && (a = a.id), "string" != typeof i && (i = i.id), this._directed ? this._edgesMap[a + "-" + i] : this._edgesMap[a + "-" + i] || this._edgesMap[i + "-" + a] + }, m.prototype.removeNode = function(a) { + if ("string" != typeof a || (a = this._nodesMap[a])) { + delete this._nodesMap[a.id], this.nodes.splice(p.indexOf(this.nodes, a), 1); + for (var q = 0; q < this.edges.length;) { + var r = this.edges[q]; + r.node1 === a || r.node2 === a ? this.removeEdge(r) : q++ + } + } + }, m.prototype.filterNode = function(a, s) { + for (var q = this.nodes.length, r = 0; q > r;) { + a.call(s, this.nodes[r], r) ? r++ : (this.removeNode(this.nodes[r]), q--) + } + }, m.prototype.filterEdge = function(a, s) { + for (var q = this.edges.length, r = 0; q > r;) { + a.call(s, this.edges[r], r) ? r++ : (this.removeEdge(this.edges[r]), q--) + } + }, m.prototype.eachNode = function(a, s) { + for (var q = this.nodes.length, r = 0; q > r; r++) { + this.nodes[r] && a.call(s, this.nodes[r], r) + } + }, m.prototype.eachEdge = function(a, s) { + for (var q = this.edges.length, r = 0; q > r; r++) { + this.edges[r] && a.call(s, this.edges[r], r) + } + }, m.prototype.clear = function() { + this.nodes.length = 0, this.edges.length = 0, this._nodesMap = {}, this._edgesMap = {} + }, m.prototype.breadthFirstTraverse = function(u, D, w, z) { + if ("string" == typeof D && (D = this._nodesMap[D]), D) { + var q = "edges"; + "out" === w ? q = "outEdges" : "in" === w && (q = "inEdges"); + for (var A = 0; A < this.nodes.length; A++) { + this.nodes[A].__visited = !1 + } + if (!u.call(z, D, null)) { + for (var B = [D]; B.length;) { + for (var C = B.shift(), x = C[q], A = 0; A < x.length; A++) { + var v = x[A], + y = v.node1 === C ? v.node2 : v.node1; + if (!y.__visited) { + if (u.call(y, y, C)) { + return + } + B.push(y), y.__visited = !0 + } + } + } + } + } + }, m.prototype.clone = function() { + for (var a = new m(this._directed), q = 0; q < this.nodes.length; q++) { + a.addNode(this.nodes[q].id, this.nodes[q].data) + } + for (var q = 0; q < this.edges.length; q++) { + var i = this.edges[q]; + a.addEdge(i.node1.id, i.node2.id, i.data) + } + return a + }; + var o = function(a, i) { + this.id = a, this.data = i || null, this.inEdges = [], this.outEdges = [], this.edges = [] + }; + o.prototype.degree = function() { + return this.edges.length + }, o.prototype.inDegree = function() { + return this.inEdges.length + }, o.prototype.outDegree = function() { + return this.outEdges.length + }; + var j = function(a, q, n) { + this.node1 = a, this.node2 = q, this.data = n || null + }; + return m.Node = o, m.Edge = j, m.fromMatrix = function(u, C, y) { + if (C && C.length && C[0].length === C.length && u.length === C.length) { + for (var i = C.length, z = new m(y), A = 0; i > A; A++) { + var B = z.addNode(u[A].id, u[A]); + B.data.value = 0, y && (B.data.outValue = B.data.inValue = 0) + } + for (var A = 0; i > A; A++) { + for (var w = 0; i > w; w++) { + var v = C[A][w]; + y && (z.nodes[A].data.outValue += v, z.nodes[w].data.inValue += v), z.nodes[A].data.value += v, z.nodes[w].data.value += v + } + } + for (var A = 0; i > A; A++) { + for (var w = A; i > w; w++) { + var v = C[A][w]; + if (0 !== v) { + var x = z.nodes[A], + E = z.nodes[w], + D = z.addEdge(x, E, {}); + if (D.data.weight = v, A !== w && y && C[w][A]) { + var q = z.addEdge(E, x, {}); + q.data.weight = C[w][A] + } + } + } + } + return z + } + }, m + }), d("echarts/layout/Chord", ["require"], function() { + var a = function(i) { + i = i || {}, this.sort = i.sort || null, this.sortSub = i.sortSub || null, this.padding = 0.05, this.startAngle = i.startAngle || 0, this.clockWise = null == i.clockWise ? !1 : i.clockWise, this.center = i.center || [0, 0], this.directed = !0 + }; + a.prototype.run = function(w) { + w instanceof Array || (w = [w]); + var F = w.length; + if (F) { + for (var i = w[0], G = i.nodes.length, I = [], J = 0, D = 0; G > D; D++) { + var B = i.nodes[D], + E = { + size: 0, + subGroups: [], + node: B + }; + I.push(E); + for (var M = 0, L = 0; L < w.length; L++) { + var v = w[L], + H = v.getNodeById(B.id); + if (H) { + E.size += H.layout.size; + for (var t = this.directed ? H.outEdges : H.edges, K = 0; K < t.length; K++) { + var O = t[K], + A = O.layout.weight; + E.subGroups.push({ + weight: A, + edge: O, + graph: v + }), M += A + } + } + } + J += E.size; + for (var q = E.size / M, K = 0; K < E.subGroups.length; K++) { + E.subGroups[K].weight *= q + } + "ascending" === this.sortSub ? E.subGroups.sort(l) : "descending" === this.sort && (E.subGroups.sort(l), E.subGroups.reverse()) + } + "ascending" === this.sort ? I.sort(j) : "descending" === this.sort && (I.sort(j), I.reverse()); + for (var q = (2 * Math.PI - this.padding * G) / J, z = this.startAngle, C = this.clockWise ? 1 : -1, D = 0; G > D; D++) { + var E = I[D]; + E.node.layout.startAngle = z, E.node.layout.endAngle = z + C * E.size * q, E.node.layout.subGroups = []; + for (var K = 0; K < E.subGroups.length; K++) { + var N = E.subGroups[K]; + N.edge.layout.startAngle = z, z += C * N.weight * q, N.edge.layout.endAngle = z + } + z = E.node.layout.endAngle + C * this.padding + } + } + }; + var l = function(i, m) { + return i.weight - m.weight + }, + j = function(i, m) { + return i.size - m.size + }; + return a + }), d("echarts/chart/force", ["require", "./base", "../data/Graph", "../layout/Force", "zrender/shape/Line", "zrender/shape/BezierCurve", "zrender/shape/Image", "../util/shape/Icon", "../config", "../util/ecData", "zrender/tool/util", "zrender/config", "zrender/tool/vector", "../chart"], function(w) { + function H(a, p, n, i, l) { + var r = this; + F.call(this, a, p, n, i, l), this.__nodePositionMap = {}, this._graph = new G(!0), this._layout = new A, this._layout.onupdate = function() { + r._step() + }, this._steps = 1, this.ondragstart = function() { + z.apply(r, arguments) + }, this.ondragend = function() { + j.apply(r, arguments) + }, this.ondrop = function() {}, this.shapeHandler.ondragstart = function() { + r.isDragstart = !0 + }, this.onmousemove = function() { + C.apply(r, arguments) + }, this.refresh(i) + } + + function z(a) { + if (this.isDragstart && a.target) { + var i = a.target; + i.fixed = !0, this.isDragstart = !1, this.zr.on(I.EVENT.MOUSEMOVE, this.onmousemove) + } + } + + function C() { + this._layout.temperature = 0.8, this._step() + } + + function j(a, m) { + if (this.isDragend && a.target) { + var l = a.target; + l.fixed = !1, m.dragIn = !0, m.needRefresh = !1, this.isDragend = !1, this.zr.un(I.EVENT.MOUSEMOVE, this.onmousemove) + } + } + + function D(a, o, l) { + var m = L.create(); + return m[0] = (Math.random() - 0.5) * l + a, m[1] = (Math.random() - 0.5) * l + o, m + } + var F = w("./base"), + G = w("../data/Graph"), + A = w("../layout/Force"), + x = w("zrender/shape/Line"), + B = w("zrender/shape/BezierCurve"), + K = w("zrender/shape/Image"), + J = w("../util/shape/Icon"), + v = w("../config"); + v.force = { + zlevel: 1, + z: 2, + center: ["50%", "50%"], + size: "100%", + preventOverlap: !1, + coolDown: 0.99, + minRadius: 10, + maxRadius: 20, + ratioScaling: !1, + large: !1, + useWorker: !1, + steps: 1, + scaling: 1, + gravity: 1, + symbol: "circle", + symbolSize: 0, + linkSymbol: null, + linkSymbolSize: [10, 15], + draggable: !0, + clickable: !0, + roam: !1, + itemStyle: { + normal: { + label: { + show: !1, + position: "inside" + }, + nodeStyle: { + brushType: "both", + borderColor: "#5182ab", + borderWidth: 1 + }, + linkStyle: { + color: "#5182ab", + width: 1, + type: "line" + } + }, + emphasis: { + label: { + show: !1 + }, + nodeStyle: {}, + linkStyle: { + opacity: 0 + } + } + } + }; + var E = w("../util/ecData"), + q = w("zrender/tool/util"), + I = w("zrender/config"), + L = w("zrender/tool/vector"); + return H.prototype = { + constructor: H, + type: v.CHART_TYPE_FORCE, + _init: function() { + this.selectedMap = {}; + var m, u = this.component.legend, + p = this.series; + this.clear(); + for (var r = 0, l = p.length; l > r; r++) { + var s = p[r]; + if (s.type === v.CHART_TYPE_FORCE) { + if (p[r] = this.reformOption(p[r]), m = p[r].name || "", this.selectedMap[m] = u ? u.isSelected(m) : !0, !this.selectedMap[m]) { + continue + } + this.buildMark(r), this._initSerie(s, r); + break + } + } + this.animationEffect() + }, + _getNodeCategory: function(a, i) { + return a.categories && a.categories[i.category || 0] + }, + _getNodeQueryTarget: function(a, o, l) { + l = l || "normal"; + var m = this._getNodeCategory(a, o) || {}; + return [o.itemStyle && o.itemStyle[l], m && m.itemStyle && m.itemStyle[l], a.itemStyle[l].nodeStyle] + }, + _getEdgeQueryTarget: function(a, m, l) { + return l = l || "normal", [m.itemStyle && m.itemStyle[l], a.itemStyle[l].linkStyle] + }, + _initSerie: function(a, o) { + this._temperature = 1, a.matrix ? this._graph = this._getSerieGraphFromDataMatrix(a) : a.links && (this._graph = this._getSerieGraphFromNodeLinks(a)), this._buildLinkShapes(a, o), this._buildNodeShapes(a, o); + var l = a.roam === !0 || "move" === a.roam, + m = a.roam === !0 || "scale" === a.roam; + this.zr.modLayer(this.getZlevelBase(), { + panable: l, + zoomable: m + }), (this.query("markPoint.effect.show") || this.query("markLine.effect.show")) && this.zr.modLayer(v.EFFECT_ZLEVEL, { + panable: l, + zoomable: m + }), this._initLayout(a), this._step() + }, + _getSerieGraphFromDataMatrix: function(u) { + for (var S = [], M = 0, P = [], p = 0; p < u.matrix.length; p++) { + P[p] = u.matrix[p].slice() + } + for (var Q = u.data || u.nodes, p = 0; p < Q.length; p++) { + var R = {}, + N = Q[p]; + for (var y in N) { + "name" === y ? R.id = N.name : R[y] = N[y] + } + var O = this._getNodeCategory(u, N), + W = O ? O.name : N.name; + if (this.selectedMap[W] = this.isSelected(W), this.selectedMap[W]) { + S.push(R), M++ + } else { + P.splice(M, 1); + for (var T = 0; T < P.length; T++) { + P[T].splice(M, 1) + } + } + } + var s = G.fromMatrix(S, P, !0); + return s.eachNode(function(a, i) { + a.layout = { + size: a.data.value, + mass: 0 + }, a.rawIndex = i + }), s.eachEdge(function(a) { + a.layout = { + weight: a.data.weight + } + }), s + }, + _getSerieGraphFromNodeLinks: function(u) { + for (var S = new G(!0), M = u.data || u.nodes, P = 0, p = M.length; p > P; P++) { + var Q = M[P]; + if (Q && !Q.ignore) { + var R = this._getNodeCategory(u, Q), + N = R ? R.name : Q.name; + if (this.selectedMap[N] = this.isSelected(N), this.selectedMap[N]) { + var y = S.addNode(Q.name, Q); + y.rawIndex = P + } + } + } + for (var P = 0, p = u.links.length; p > P; P++) { + var O = u.links[P], + W = O.source, + T = O.target; + "number" == typeof W && (W = M[W], W && (W = W.name)), "number" == typeof T && (T = M[T], T && (T = T.name)); + var s = S.addEdge(W, T, O); + s && (s.rawIndex = P) + } + return S.eachNode(function(a) { + var m = a.data.value; + if (null == m) { + m = 0; + for (var l = 0; l < a.edges.length; l++) { + m += a.edges[l].data.weight || 0 + } + } + a.layout = { + size: m, + mass: 0 + } + }), S.eachEdge(function(a) { + a.layout = { + weight: null == a.data.weight ? 1 : a.data.weight + } + }), S + }, + _initLayout: function(N) { + var Y = this._graph, + P = Y.nodes.length, + S = this.query(N, "minRadius"), + o = this.query(N, "maxRadius"); + this._steps = N.steps || 1; + var W = this._layout; + W.center = this.parseCenter(this.zr, N.center), W.width = this.parsePercent(N.size, this.zr.getWidth()), W.height = this.parsePercent(N.size, this.zr.getHeight()), W.large = N.large, W.scaling = N.scaling, W.ratioScaling = N.ratioScaling, W.gravity = N.gravity, W.temperature = 1, W.coolDown = N.coolDown, W.preventNodeEdgeOverlap = N.preventOverlap, W.preventNodeOverlap = N.preventOverlap; + for (var X = 1 / 0, Q = -(1 / 0), O = 0; P > O; O++) { + var R = Y.nodes[O]; + Q = Math.max(R.layout.size, Q), X = Math.min(R.layout.size, X) + } + for (var ab = Q - X, O = 0; P > O; O++) { + var R = Y.nodes[O]; + ab > 0 ? (R.layout.size = (R.layout.size - X) * (o - S) / ab + S, R.layout.mass = R.layout.size / o) : (R.layout.size = (o - S) / 2, R.layout.mass = 0.5) + } + for (var O = 0; P > O; O++) { + var R = Y.nodes[O]; + if ("undefined" != typeof this.__nodePositionMap[R.id]) { + R.layout.position = L.create(), L.copy(R.layout.position, this.__nodePositionMap[R.id]) + } else { + if ("undefined" != typeof R.data.initial) { + R.layout.position = L.create(), L.copy(R.layout.position, R.data.initial) + } else { + var aa = this._layout.center, + M = Math.min(this._layout.width, this._layout.height); + R.layout.position = D(aa[0], aa[1], 0.8 * M) + } + } + var T = R.shape.style, + y = R.layout.size; + T.width = T.width || 2 * y, T.height = T.height || 2 * y, T.x = -T.width / 2, T.y = -T.height / 2, L.copy(R.shape.position, R.layout.position) + } + P = Y.edges.length, Q = -(1 / 0); + for (var O = 0; P > O; O++) { + var Z = Y.edges[O]; + Z.layout.weight > Q && (Q = Z.layout.weight) + } + for (var O = 0; P > O; O++) { + var Z = Y.edges[O]; + Z.layout.weight /= Q + } + this._layout.init(Y, N.useWorker) + }, + _buildNodeShapes: function(a, o) { + var l = this._graph, + m = this.query(a, "categories"); + l.eachNode(function(p) { + var e = this._getNodeCategory(a, p.data), + y = [p.data, e, a], + M = this._getNodeQueryTarget(a, p.data), + N = this._getNodeQueryTarget(a, p.data, "emphasis"), + t = new J({ + style: { + x: 0, + y: 0, + color: this.deepQuery(M, "color"), + brushType: "both", + strokeColor: this.deepQuery(M, "strokeColor") || this.deepQuery(M, "borderColor"), + lineWidth: this.deepQuery(M, "lineWidth") || this.deepQuery(M, "borderWidth") + }, + highlightStyle: { + color: this.deepQuery(N, "color"), + strokeColor: this.deepQuery(N, "strokeColor") || this.deepQuery(N, "borderColor"), + lineWidth: this.deepQuery(N, "lineWidth") || this.deepQuery(N, "borderWidth") + }, + clickable: a.clickable, + zlevel: this.getZlevelBase(), + z: this.getZBase() + }); + t.style.color || (t.style.color = this.getColor(e ? e.name : p.id)), t.style.iconType = this.deepQuery(y, "symbol"); + var n = this.deepQuery(y, "symbolSize") || 0; + "number" == typeof n && (n = [n, n]), t.style.width = 2 * n[0], t.style.height = 2 * n[1], t.style.iconType.match("image") && (t.style.image = t.style.iconType.replace(new RegExp("^image:\\/\\/"), ""), t = new K({ + style: t.style, + highlightStyle: t.highlightStyle, + clickable: t.clickable, + zlevel: this.getZlevelBase(), + z: this.getZBase() + })), this.deepQuery(y, "itemStyle.normal.label.show") && (t.style.text = null == p.data.label ? p.id : p.data.label, t.style.textPosition = this.deepQuery(y, "itemStyle.normal.label.position"), t.style.textColor = this.deepQuery(y, "itemStyle.normal.label.textStyle.color"), t.style.textFont = this.getFont(this.deepQuery(y, "itemStyle.normal.label.textStyle") || {})), this.deepQuery(y, "itemStyle.emphasis.label.show") && (t.highlightStyle.textPosition = this.deepQuery(y, "itemStyle.emphasis.label.position"), t.highlightStyle.textColor = this.deepQuery(y, "itemStyle.emphasis.label.textStyle.color"), t.highlightStyle.textFont = this.getFont(this.deepQuery(y, "itemStyle.emphasis.label.textStyle") || {})), this.deepQuery(y, "draggable") && (this.setCalculable(t), t.dragEnableTime = 0, t.draggable = !0, t.ondragstart = this.shapeHandler.ondragstart, t.ondragover = null); + var u = ""; + if ("undefined" != typeof p.category) { + var e = m[p.category]; + u = e && e.name || "" + } + E.pack(t, a, o, p.data, p.rawIndex, p.data.name || "", p.category), this.shapeList.push(t), this.zr.addShape(t), p.shape = t + }, this) + }, + _buildLinkShapes: function(N, W) { + for (var P = this._graph, R = P.edges.length, m = 0; R > m; m++) { + var S = P.edges[m], + T = S.data, + U = S.node1, + Q = S.node2, + Y = P.getEdge(Q, U), + M = this._getEdgeQueryTarget(N, T), + X = this.deepQuery(M, "type"); + N.linkSymbol && "none" !== N.linkSymbol && (X = "line"); + var Z = "line" === X ? x : B, + O = new Z({ + style: { + xStart: 0, + yStart: 0, + xEnd: 0, + yEnd: 0 + }, + clickable: this.query(N, "clickable"), + highlightStyle: {}, + zlevel: this.getZlevelBase(), + z: this.getZBase() + }); + if (Y && Y.shape && (O.style.offset = 4, Y.shape.style.offset = 4), q.merge(O.style, this.query(N, "itemStyle.normal.linkStyle"), !0), q.merge(O.highlightStyle, this.query(N, "itemStyle.emphasis.linkStyle"), !0), "undefined" != typeof T.itemStyle && (T.itemStyle.normal && q.merge(O.style, T.itemStyle.normal, !0), T.itemStyle.emphasis && q.merge(O.highlightStyle, T.itemStyle.emphasis, !0)), O.style.lineWidth = O.style.lineWidth || O.style.width, O.style.strokeColor = O.style.strokeColor || O.style.color, O.highlightStyle.lineWidth = O.highlightStyle.lineWidth || O.highlightStyle.width, O.highlightStyle.strokeColor = O.highlightStyle.strokeColor || O.highlightStyle.color, E.pack(O, N, W, S.data, null == S.rawIndex ? m : S.rawIndex, S.data.name || U.id + " - " + Q.id, U.id, Q.id), this.shapeList.push(O), this.zr.addShape(O), S.shape = O, N.linkSymbol && "none" !== N.linkSymbol) { + var p = new J({ + style: { + x: -5, + y: 0, + width: N.linkSymbolSize[0], + height: N.linkSymbolSize[1], + iconType: N.linkSymbol, + brushType: "fill", + color: O.style.strokeColor + }, + highlightStyle: { + brushType: "fill" + }, + position: [0, 0], + rotation: 0, + zlevel: this.getZlevelBase(), + z: this.getZBase() + }); + O._symbolShape = p, this.shapeList.push(p), this.zr.addShape(p) + } + } + }, + _updateLinkShapes: function() { + for (var u = L.create(), T = L.create(), M = L.create(), P = L.create(), p = this._graph.edges, Q = 0, R = p.length; R > Q; Q++) { + var S = p[Q], + N = S.node1.shape, + y = S.node2.shape; + L.copy(M, N.position), L.copy(P, y.position); + var O = S.shape.style; + if (L.sub(u, M, P), L.normalize(u, u), O.offset ? (T[0] = u[1], T[1] = -u[0], L.scaleAndAdd(M, M, T, O.offset), L.scaleAndAdd(P, P, T, O.offset)) : "bezier-curve" === S.shape.type && (O.cpX1 = (M[0] + P[0]) / 2 - (P[1] - M[1]) / 4, O.cpY1 = (M[1] + P[1]) / 2 - (M[0] - P[0]) / 4), O.xStart = M[0], O.yStart = M[1], O.xEnd = P[0], O.yEnd = P[1], S.shape.modSelf(), S.shape._symbolShape) { + var X = S.shape._symbolShape; + L.copy(X.position, P), L.scaleAndAdd(X.position, X.position, u, y.style.width / 2 + 2); + var W = Math.atan2(u[1], u[0]); + X.rotation = Math.PI / 2 - W, X.modSelf() + } + } + }, + _syncNodePositions: function() { + for (var p = this._graph, R = 0; R < p.nodes.length; R++) { + var y = p.nodes[R], + N = y.layout.position, + m = y.data, + O = y.shape, + P = O.fixed || m.fixX, + Q = O.fixed || m.fixY; + P === !0 ? P = 1 : isNaN(P) && (P = 0), Q === !0 ? Q = 1 : isNaN(Q) && (Q = 0), O.position[0] += (N[0] - O.position[0]) * (1 - P), O.position[1] += (N[1] - O.position[1]) * (1 - Q), L.copy(N, O.position); + var M = m.name; + if (M) { + var u = this.__nodePositionMap[M]; + u || (u = this.__nodePositionMap[M] = L.create()), L.copy(u, N) + } + O.modSelf() + } + }, + _step: function() { + this._syncNodePositions(), this._updateLinkShapes(), this.zr.refreshNextFrame(), this._layout.temperature > 0.01 ? this._layout.step(this._steps) : this.messageCenter.dispatch(v.EVENT.FORCE_LAYOUT_END, {}, {}, this.myChart) + }, + refresh: function(a) { + if (a && (this.option = a, this.series = this.option.series), this.legend = this.component.legend, this.legend) { + this.getColor = function(i) { + return this.legend.getColor(i) + }, this.isSelected = function(i) { + return this.legend.isSelected(i) + } + } else { + var m = {}, + l = 0; + this.getColor = function(i) { + return m[i] ? m[i] : (m[i] || (m[i] = this.zr.getColor(l++)), m[i]) + }, this.isSelected = function() { + return !0 + } + } + this._init() + }, + dispose: function() { + this.clear(), this.shapeList = null, this.effectList = null, this._layout.dispose(), this._layout = null, this.__nodePositionMap = {} + }, + getPosition: function() { + var a = []; + return this._graph.eachNode(function(e) { + e.layout && a.push({ + name: e.data.name, + position: Array.prototype.slice.call(e.layout.position) + }) + }), a + } + }, q.inherits(H, F), w("../chart").define("force", H), H + }), d("echarts/layout/Force", ["require", "./forceLayoutWorker", "zrender/tool/vector"], function(l) { + function w() { + if ("undefined" != typeof Worker && "undefined" != typeof Blob) { + try { + var a = new Blob([p.getWorkerCode()]); + m = window.URL.createObjectURL(a) + } catch (i) { + m = "" + } + } + return m + } + var m, p = l("./forceLayoutWorker"), + j = l("zrender/tool/vector"), + q = window.requestAnimationFrame || window.msRequestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function(a) { + setTimeout(a, 16) + }, + u = "undefined" == typeof Float32Array ? Array : Float32Array, + v = function(o) { + "undefined" == typeof m && w(), o = o || {}, this.width = o.width || 500, this.height = o.height || 500, this.center = o.center || [this.width / 2, this.height / 2], this.ratioScaling = o.ratioScaling || !1, this.scaling = o.scaling || 1, this.gravity = "undefined" != typeof o.gravity ? o.gravity : 1, this.large = o.large || !1, this.preventNodeOverlap = o.preventNodeOverlap || !1, this.preventNodeEdgeOverlap = o.preventNodeEdgeOverlap || !1, this.maxSpeedIncrease = o.maxSpeedIncrease || 1, this.onupdate = o.onupdate || function() {}, this.temperature = o.temperature || 1, this.coolDown = o.coolDown || 0.99, this._layout = null, this._layoutWorker = null; + var r = this, + i = this._$onupdate; + this._$onupdate = function(a) { + i.call(r, a) + } + }; + return v.prototype.updateConfig = function() { + var r = this.width, + y = this.height, + s = Math.min(r, y), + x = { + center: this.center, + width: this.ratioScaling ? r : s, + height: this.ratioScaling ? y : s, + scaling: this.scaling || 1, + gravity: this.gravity || 1, + barnesHutOptimize: this.large, + preventNodeOverlap: this.preventNodeOverlap, + preventNodeEdgeOverlap: this.preventNodeEdgeOverlap, + maxSpeedIncrease: this.maxSpeedIncrease + }; + if (this._layoutWorker) { + this._layoutWorker.postMessage({ + cmd: "updateConfig", + config: x + }) + } else { + for (var o in x) { + this._layout[o] = x[o] + } + } + }, v.prototype.init = function(r, D) { + if (this._layoutWorker && (this._layoutWorker.terminate(), this._layoutWorker = null), m && D) { + try { + this._layoutWorker || (this._layoutWorker = new Worker(m), this._layoutWorker.onmessage = this._$onupdate), this._layout = null + } catch (i) { + this._layoutWorker = null, this._layout || (this._layout = new p) + } + } else { + this._layout || (this._layout = new p) + } + this.temperature = 1, this.graph = r; + for (var A = r.nodes.length, C = new u(2 * A), y = new u(A), x = new u(A), z = 0; A > z; z++) { + var F = r.nodes[z]; + C[2 * z] = F.layout.position[0], C[2 * z + 1] = F.layout.position[1], y[z] = "undefined" == typeof F.layout.mass ? 1 : F.layout.mass, x[z] = "undefined" == typeof F.layout.size ? 1 : F.layout.size, F.layout.__index = z + } + A = r.edges.length; + for (var E = new u(2 * A), n = new u(A), z = 0; A > z; z++) { + var B = r.edges[z]; + E[2 * z] = B.node1.layout.__index, E[2 * z + 1] = B.node2.layout.__index, n[z] = B.layout.weight || 1 + } + this._layoutWorker ? this._layoutWorker.postMessage({ + cmd: "init", + nodesPosition: C, + nodesMass: y, + nodesSize: x, + edges: E, + edgesWeight: n + }) : (this._layout.initNodes(C, y, x), this._layout.initEdges(E, n)), this.updateConfig() + }, v.prototype.step = function(a) { + var y = this.graph.nodes; + if (this._layoutWorker) { + for (var o = new u(2 * y.length), r = 0; r < y.length; r++) { + var x = y[r]; + o[2 * r] = x.layout.position[0], o[2 * r + 1] = x.layout.position[1] + } + this._layoutWorker.postMessage(o.buffer, [o.buffer]), this._layoutWorker.postMessage({ + cmd: "update", + steps: a, + temperature: this.temperature, + coolDown: this.coolDown + }); + for (var r = 0; a > r; r++) { + this.temperature *= this.coolDown + } + } else { + q(this._$onupdate); + for (var r = 0; r < y.length; r++) { + var x = y[r]; + j.copy(this._layout.nodes[r].position, x.layout.position) + } + for (var r = 0; a > r; r++) { + this._layout.temperature = this.temperature, this._layout.update(), this.temperature *= this.coolDown + } + } + }, v.prototype._$onupdate = function(a) { + if (this._layoutWorker) { + for (var s = new Float32Array(a.data), o = 0; o < this.graph.nodes.length; o++) { + var r = this.graph.nodes[o]; + r.layout.position[0] = s[2 * o], r.layout.position[1] = s[2 * o + 1] + } + this.onupdate && this.onupdate() + } else { + if (this._layout) { + for (var o = 0; o < this.graph.nodes.length; o++) { + var r = this.graph.nodes[o]; + j.copy(r.layout.position, this._layout.nodes[o].position) + } + this.onupdate && this.onupdate() + } + } + }, v.prototype.dispose = function() { + this._layoutWorker && this._layoutWorker.terminate(), this._layoutWorker = null, this._layout = null + }, v + }), d("echarts/layout/forceLayoutWorker", ["require", "zrender/tool/vector"], function g(m) { + function x() { + this.subRegions = [], this.nSubRegions = 0, this.node = null, this.mass = 0, this.centerOfMass = null, this.bbox = new q(4), this.size = 0 + } + + function p() { + this.position = v.create(), this.force = v.create(), this.forcePrev = v.create(), this.speed = v.create(), this.speedPrev = v.create(), this.mass = 1, this.inDegree = 0, this.outDegree = 0 + } + + function u(a, i) { + this.node1 = a, this.node2 = i, this.weight = 1 + } + + function j() { + this.barnesHutOptimize = !1, this.barnesHutTheta = 1.5, this.repulsionByDegree = !1, this.preventNodeOverlap = !1, this.preventNodeEdgeOverlap = !1, this.strongGravity = !0, this.gravity = 1, this.scaling = 1, this.edgeWeightInfluence = 1, this.center = [0, 0], this.width = 500, this.height = 500, this.maxSpeedIncrease = 1, this.nodes = [], this.edges = [], this.bbox = new q(4), this._rootRegion = new x, this._rootRegion.centerOfMass = v.create(), this._massArr = null, this._k = 0 + } + var v, w = "undefined" == typeof window && "undefined" == typeof m; + v = w ? { + create: function(a, n) { + var l = new Float32Array(2); + return l[0] = a || 0, l[1] = n || 0, l + }, + dist: function(a, s) { + var l = s[0] - a[0], + r = s[1] - a[1]; + return Math.sqrt(l * l + r * r) + }, + len: function(a) { + var n = a[0], + l = a[1]; + return Math.sqrt(n * n + l * l) + }, + scaleAndAdd: function(a, s, l, r) { + return a[0] = s[0] + l[0] * r, a[1] = s[1] + l[1] * r, a + }, + scale: function(a, n, l) { + return a[0] = n[0] * l, a[1] = n[1] * l, a + }, + add: function(a, n, l) { + return a[0] = n[0] + l[0], a[1] = n[1] + l[1], a + }, + sub: function(a, n, l) { + return a[0] = n[0] - l[0], a[1] = n[1] - l[1], a + }, + dot: function(a, i) { + return a[0] * i[0] + a[1] * i[1] + }, + normalize: function(r, z) { + var s = z[0], + y = z[1], + l = s * s + y * y; + return l > 0 && (l = 1 / Math.sqrt(l), r[0] = z[0] * l, r[1] = z[1] * l), r + }, + negate: function(a, i) { + return a[0] = -i[0], a[1] = -i[1], a + }, + copy: function(a, i) { + return a[0] = i[0], a[1] = i[1], a + }, + set: function(a, n, l) { + return a[0] = n, a[1] = l, a + } + } : m("zrender/tool/vector"); + var q = "undefined" == typeof Float32Array ? Array : Float32Array; + if (x.prototype.beforeUpdate = function() { + for (var a = 0; a < this.nSubRegions; a++) { + this.subRegions[a].beforeUpdate() + } + this.mass = 0, this.centerOfMass && (this.centerOfMass[0] = 0, this.centerOfMass[1] = 0), this.nSubRegions = 0, this.node = null + }, x.prototype.afterUpdate = function() { + this.subRegions.length = this.nSubRegions; + for (var a = 0; a < this.nSubRegions; a++) { + this.subRegions[a].afterUpdate() + } + }, x.prototype.addNode = function(a) { + if (0 === this.nSubRegions) { + if (null == this.node) { + return void(this.node = a) + } + this._addNodeToSubRegion(this.node), this.node = null + } + this._addNodeToSubRegion(a), this._updateCenterOfMass(a) + }, x.prototype.findSubRegion = function(a, s) { + for (var l = 0; l < this.nSubRegions; l++) { + var r = this.subRegions[l]; + if (r.contain(a, s)) { + return r + } + } + }, x.prototype.contain = function(a, i) { + return this.bbox[0] <= a && this.bbox[2] >= a && this.bbox[1] <= i && this.bbox[3] >= i + }, x.prototype.setBBox = function(a, s, l, r) { + this.bbox[0] = a, this.bbox[1] = s, this.bbox[2] = l, this.bbox[3] = r, this.size = (l - a + r - s) / 2 + }, x.prototype._newSubRegion = function() { + var a = this.subRegions[this.nSubRegions]; + return a || (a = new x, this.subRegions[this.nSubRegions] = a), this.nSubRegions++, a + }, x.prototype._addNodeToSubRegion = function(z) { + var G = this.findSubRegion(z.position[0], z.position[1]), + A = this.bbox; + if (!G) { + var C = (A[0] + A[2]) / 2, + y = (A[1] + A[3]) / 2, + D = (A[2] - A[0]) / 2, + E = (A[3] - A[1]) / 2, + F = z.position[0] >= C ? 1 : 0, + B = z.position[1] >= y ? 1 : 0, + G = this._newSubRegion(); + G.setBBox(F * D + A[0], B * E + A[1], (F + 1) * D + A[0], (B + 1) * E + A[1]) + } + G.addNode(z) + }, x.prototype._updateCenterOfMass = function(a) { + null == this.centerOfMass && (this.centerOfMass = v.create()); + var n = this.centerOfMass[0] * this.mass, + l = this.centerOfMass[1] * this.mass; + n += a.position[0] * a.mass, l += a.position[1] * a.mass, this.mass += a.mass, this.centerOfMass[0] = n / this.mass, this.centerOfMass[1] = l / this.mass + }, j.prototype.nodeToNodeRepulsionFactor = function(a, n, l) { + return l * l * a / n + }, j.prototype.edgeToNodeRepulsionFactor = function(a, n, l) { + return l * a / n + }, j.prototype.attractionFactor = function(a, n, l) { + return a * n / l + }, j.prototype.initNodes = function(l, C, y) { + this.temperature = 1; + var i = l.length / 2; + this.nodes.length = 0; + for (var z = "undefined" != typeof y, A = 0; i > A; A++) { + var B = new p; + B.position[0] = l[2 * A], B.position[1] = l[2 * A + 1], B.mass = C[A], z && (B.size = y[A]), this.nodes.push(B) + } + this._massArr = C, z && (this._sizeArr = y) + }, j.prototype.initEdges = function(y, G) { + var A = y.length / 2; + this.edges.length = 0; + for (var n = "undefined" != typeof G, D = 0; A > D; D++) { + var E = y[2 * D], + F = y[2 * D + 1], + B = this.nodes[E], + z = this.nodes[F]; + if (B && z) { + B.outDegree++, z.inDegree++; + var C = new u(B, z); + n && (C.weight = G[D]), this.edges.push(C) + } + } + }, j.prototype.update = function() { + var r = this.nodes.length; + if (this.updateBBox(), this._k = 0.4 * this.scaling * Math.sqrt(this.width * this.height / r), this.barnesHutOptimize) { + this._rootRegion.setBBox(this.bbox[0], this.bbox[1], this.bbox[2], this.bbox[3]), this._rootRegion.beforeUpdate(); + for (var z = 0; r > z; z++) { + this._rootRegion.addNode(this.nodes[z]) + } + this._rootRegion.afterUpdate() + } else { + var s = 0, + y = this._rootRegion.centerOfMass; + v.set(y, 0, 0); + for (var z = 0; r > z; z++) { + var l = this.nodes[z]; + s += l.mass, v.scaleAndAdd(y, y, l.position, l.mass) + } + s > 0 && v.scale(y, y, 1 / s) + } + this.updateForce(), this.updatePosition() + }, j.prototype.updateForce = function() { + for (var a = this.nodes.length, n = 0; a > n; n++) { + var l = this.nodes[n]; + v.copy(l.forcePrev, l.force), v.copy(l.speedPrev, l.speed), v.set(l.force, 0, 0) + } + this.updateNodeNodeForce(), this.gravity > 0 && this.updateGravityForce(), this.updateEdgeForce(), this.preventNodeEdgeOverlap && this.updateNodeEdgeForce() + }, j.prototype.updatePosition = function() { + for (var y = this.nodes.length, G = v.create(), A = 0; y > A; A++) { + var D = this.nodes[A], + r = D.speed; + v.scale(D.force, D.force, 1 / 30); + var E = v.len(D.force) + 0.1, + F = Math.min(E, 500) / E; + v.scale(D.force, D.force, F), v.add(r, r, D.force), v.scale(r, r, this.temperature), v.sub(G, r, D.speedPrev); + var B = v.len(G); + if (B > 0) { + v.scale(G, G, 1 / B); + var z = v.len(D.speedPrev); + z > 0 && (B = Math.min(B / z, this.maxSpeedIncrease) * z, v.scaleAndAdd(r, D.speedPrev, G, B)) + } + var C = v.len(r), + F = Math.min(C, 100) / (C + 0.1); + v.scale(r, r, F), v.add(D.position, D.position, r) + } + }, j.prototype.updateNodeNodeForce = function() { + for (var r = this.nodes.length, z = 0; r > z; z++) { + var s = this.nodes[z]; + if (this.barnesHutOptimize) { + this.applyRegionToNodeRepulsion(this._rootRegion, s) + } else { + for (var y = z + 1; r > y; y++) { + var l = this.nodes[y]; + this.applyNodeToNodeRepulsion(s, l, !1) + } + } + } + }, j.prototype.updateGravityForce = function() { + for (var a = 0; a < this.nodes.length; a++) { + this.applyNodeGravity(this.nodes[a]) + } + }, j.prototype.updateEdgeForce = function() { + for (var a = 0; a < this.edges.length; a++) { + this.applyEdgeAttraction(this.edges[a]) + } + }, j.prototype.updateNodeEdgeForce = function() { + for (var a = 0; a < this.nodes.length; a++) { + for (var i = 0; i < this.edges.length; i++) { + this.applyEdgeToNodeRepulsion(this.edges[i], this.nodes[a]) + } + } + }, j.prototype.applyRegionToNodeRepulsion = function() { + var a = v.create(); + return function(y, l) { + if (y.node) { + this.applyNodeToNodeRepulsion(y.node, l, !0) + } else { + if (0 === y.mass && 0 === l.mass) { + return + } + v.sub(a, l.position, y.centerOfMass); + var r = a[0] * a[0] + a[1] * a[1]; + if (r > this.barnesHutTheta * y.size * y.size) { + var e = this._k * this._k * (l.mass + y.mass) / (r + 1); + v.scaleAndAdd(l.force, l.force, a, 2 * e) + } else { + for (var s = 0; s < y.nSubRegions; s++) { + this.applyRegionToNodeRepulsion(y.subRegions[s], l) + } + } + } + } + }(), j.prototype.applyNodeToNodeRepulsion = function() { + var a = v.create(); + return function(C, r, z) { + if (C !== r && (0 !== C.mass || 0 !== r.mass)) { + v.sub(a, C.position, r.position); + var e = a[0] * a[0] + a[1] * a[1]; + if (0 !== e) { + var A, B = C.mass + r.mass, + y = Math.sqrt(e); + v.scale(a, a, 1 / y), this.preventNodeOverlap ? (y = y - C.size - r.size, y > 0 ? A = this.nodeToNodeRepulsionFactor(B, y, this._k) : 0 >= y && (A = this._k * this._k * 10 * B)) : A = this.nodeToNodeRepulsionFactor(B, y, this._k), z || v.scaleAndAdd(C.force, C.force, a, 2 * A), v.scaleAndAdd(r.force, r.force, a, 2 * -A) + } + } + } + }(), j.prototype.applyEdgeAttraction = function() { + var a = v.create(); + return function(A) { + var l = A.node1, + r = A.node2; + v.sub(a, l.position, r.position); + var e, y = v.len(a); + e = 0 === this.edgeWeightInfluence ? 1 : 1 == this.edgeWeightInfluence ? A.weight : Math.pow(A.weight, this.edgeWeightInfluence); + var z; + if (!(this.preventOverlap && (y = y - l.size - r.size, 0 >= y))) { + var z = this.attractionFactor(e, y, this._k); + v.scaleAndAdd(l.force, l.force, a, -z), v.scaleAndAdd(r.force, r.force, a, z) + } + } + }(), j.prototype.applyNodeGravity = function() { + var a = v.create(); + return function(l) { + v.sub(a, this.center, l.position), this.width > this.height ? a[1] *= this.width / this.height : a[0] *= this.height / this.width; + var e = v.len(a) / 100; + this.strongGravity ? v.scaleAndAdd(l.force, l.force, a, e * this.gravity * l.mass) : v.scaleAndAdd(l.force, l.force, a, this.gravity * l.mass / (e + 1)) + } + }(), j.prototype.applyEdgeToNodeRepulsion = function() { + var a = v.create(), + n = v.create(), + l = v.create(); + return function(y, e) { + var z = y.node1, + A = y.node2; + if (z !== e && A !== e) { + v.sub(a, A.position, z.position), v.sub(n, e.position, z.position); + var r = v.len(a); + v.scale(a, a, 1 / r); + var i = v.dot(a, n); + if (!(0 > i || i > r)) { + v.scaleAndAdd(l, z.position, a, i); + var t = v.dist(l, e.position) - e.size, + B = this.edgeToNodeRepulsionFactor(e.mass, Math.max(t, 0.1), 100); + v.sub(a, e.position, l), v.normalize(a, a), v.scaleAndAdd(e.force, e.force, a, B), v.scaleAndAdd(z.force, z.force, a, -B), v.scaleAndAdd(A.force, A.force, a, -B) + } + } + } + }(), j.prototype.updateBBox = function() { + for (var r = 1 / 0, A = 1 / 0, s = -(1 / 0), y = -(1 / 0), l = 0; l < this.nodes.length; l++) { + var z = this.nodes[l].position; + r = Math.min(r, z[0]), A = Math.min(A, z[1]), s = Math.max(s, z[0]), y = Math.max(y, z[1]) + } + this.bbox[0] = r, this.bbox[1] = A, this.bbox[2] = s, this.bbox[3] = y + }, j.getWorkerCode = function() { + var a = g.toString(); + return a.slice(a.indexOf("{") + 1, a.lastIndexOf("return")) + }, w) { + var o = null; + self.onmessage = function(a) { + if (a.data instanceof ArrayBuffer) { + if (!o) { + return + } + for (var E = new Float32Array(a.data), y = E.length / 2, A = 0; y > A; A++) { + var B = o.nodes[A]; + B.position[0] = E[2 * A], B.position[1] = E[2 * A + 1] + } + } else { + switch (a.data.cmd) { + case "init": + o || (o = new j), o.initNodes(a.data.nodesPosition, a.data.nodesMass, a.data.nodesSize), o.initEdges(a.data.edges, a.data.edgesWeight); + break; + case "updateConfig": + if (o) { + for (var C in a.data.config) { + o[C] = a.data.config[C] + } + } + break; + case "update": + var D = a.data.steps; + if (o) { + var y = o.nodes.length, + E = new Float32Array(2 * y); + o.temperature = a.data.temperature; + for (var A = 0; D > A; A++) { + o.update(), o.temperature *= a.data.coolDown + } + for (var A = 0; y > A; A++) { + var B = o.nodes[A]; + E[2 * A] = B.position[0], E[2 * A + 1] = B.position[1] + } + self.postMessage(E.buffer, [E.buffer]) + } else { + var z = new Float32Array; + self.postMessage(z.buffer, [z.buffer]) + } + } + } + } + } + return j + }), d("echarts/chart/map", ["require", "./base", "zrender/shape/Text", "zrender/shape/Path", "zrender/shape/Circle", "zrender/shape/Rectangle", "zrender/shape/Line", "zrender/shape/Polygon", "zrender/shape/Ellipse", "zrender/shape/Image", "../component/dataRange", "../component/roamController", "../layer/heatmap", "../config", "../util/ecData", "zrender/tool/util", "zrender/config", "zrender/tool/event", "../util/mapData/params", "../util/mapData/textFixed", "../util/mapData/geoCoord", "../util/projection/svg", "../util/projection/normal", "../chart"], function(x) { + function J(l, u, m, i, p) { + B.call(this, l, u, m, i, p); + var s = this; + s._onmousewheel = function(a) { + return s.__onmousewheel(a) + }, s._onmousedown = function(a) { + return s.__onmousedown(a) + }, s._onmousemove = function(a) { + return s.__onmousemove(a) + }, s._onmouseup = function(a) { + return s.__onmouseup(a) + }, s._onroamcontroller = function(a) { + return s.__onroamcontroller(a) + }, s._ondrhoverlink = function(a) { + return s.__ondrhoverlink(a) + }, this._isAlive = !0, this._selectedMode = {}, this._activeMapType = {}, this._clickable = {}, this._hoverable = {}, this._showLegendSymbol = {}, this._selected = {}, this._mapTypeMap = {}, this._mapDataMap = {}, this._nameMap = {}, this._specialArea = {}, this._refreshDelayTicket, this._mapDataRequireCounter, this._markAnimation = !1, this._hoverLinkMap = {}, this._roamMap = {}, this._scaleLimitMap = {}, this._mx, this._my, this._mousedown, this._justMove, this._curMapType, this.refresh(i), this.zr.on(v.EVENT.MOUSEWHEEL, this._onmousewheel), this.zr.on(v.EVENT.MOUSEDOWN, this._onmousedown), u.bind(L.EVENT.ROAMCONTROLLER, this._onroamcontroller), u.bind(L.EVENT.DATA_RANGE_HOVERLINK, this._ondrhoverlink) + } + var B = x("./base"), + E = x("zrender/shape/Text"), + j = x("zrender/shape/Path"), + F = x("zrender/shape/Circle"), + H = x("zrender/shape/Rectangle"), + I = x("zrender/shape/Line"), + C = x("zrender/shape/Polygon"), + A = x("zrender/shape/Ellipse"), + D = x("zrender/shape/Image"); + x("../component/dataRange"), x("../component/roamController"); + var M = x("../layer/heatmap"), + L = x("../config"); + L.map = { + zlevel: 0, + z: 2, + mapType: "china", + showLegendSymbol: !0, + dataRangeHoverLink: !0, + hoverable: !0, + clickable: !0, + itemStyle: { + normal: { + borderColor: "rgba(0,0,0,0)", + borderWidth: 1, + areaStyle: { + color: "#ccc" + }, + label: { + show: !1, + textStyle: { + color: "rgb(139,69,19)" + } + } + }, + emphasis: { + borderColor: "rgba(0,0,0,0)", + borderWidth: 1, + areaStyle: { + color: "rgba(255,215,0,0.8)" + }, + label: { + show: !1, + textStyle: { + color: "rgb(100,0,0)" + } + } + } + } + }; + var w = x("../util/ecData"), + G = x("zrender/tool/util"), + v = x("zrender/config"), + K = x("zrender/tool/event"), + N = x("../util/mapData/params").params, + z = x("../util/mapData/textFixed"), + q = x("../util/mapData/geoCoord"); + return J.prototype = { + type: L.CHART_TYPE_MAP, + _buildShape: function() { + var P = this.series; + this.selectedMap = {}, this._activeMapType = {}; + for (var ab, S, X, p, Y = this.component.legend, Z = {}, aa = {}, U = {}, R = {}, W = 0, ad = P.length; ad > W; W++) { + if (P[W].type == L.CHART_TYPE_MAP && (P[W] = this.reformOption(P[W]), S = P[W].mapType, aa[S] = aa[S] || {}, aa[S][W] = !0, U[S] = U[S] || P[W].mapValuePrecision, this._scaleLimitMap[S] = this._scaleLimitMap[S] || {}, P[W].scaleLimit && G.merge(this._scaleLimitMap[S], P[W].scaleLimit, !0), this._roamMap[S] = P[W].roam || this._roamMap[S], (null == this._hoverLinkMap[S] || this._hoverLinkMap[S]) && (this._hoverLinkMap[S] = P[W].dataRangeHoverLink), this._nameMap[S] = this._nameMap[S] || {}, P[W].nameMap && G.merge(this._nameMap[S], P[W].nameMap, !0), this._activeMapType[S] = !0, P[W].textFixed && G.merge(z, P[W].textFixed, !0), P[W].geoCoord && G.merge(q, P[W].geoCoord, !0), this._selectedMode[S] = this._selectedMode[S] || P[W].selectedMode, (null == this._hoverable[S] || this._hoverable[S]) && (this._hoverable[S] = P[W].hoverable), (null == this._clickable[S] || this._clickable[S]) && (this._clickable[S] = P[W].clickable), (null == this._showLegendSymbol[S] || this._showLegendSymbol[S]) && (this._showLegendSymbol[S] = P[W].showLegendSymbol), R[S] = R[S] || P[W].mapValueCalculation, ab = P[W].name, this.selectedMap[ab] = Y ? Y.isSelected(ab) : !0, this.selectedMap[ab])) { + Z[S] = Z[S] || {}, X = P[W].data; + for (var O = 0, y = X.length; y > O; O++) { + p = this._nameChange(S, X[O].name), Z[S][p] = Z[S][p] || { + seriesIndex: [], + valueMap: {}, + precision: 0 + }; + for (var ac in X[O]) { + "value" != ac ? Z[S][p][ac] = X[O][ac] : isNaN(X[O].value) || (null == Z[S][p].value && (Z[S][p].value = 0), Z[S][p].precision = Math.max(this.getPrecision(+X[O].value), Z[S][p].precision), Z[S][p].value += +X[O].value, Z[S][p].valueMap[W] = +X[O].value) + } + Z[S][p].seriesIndex.push(W) + } + } + } + this._mapDataRequireCounter = 0; + for (var Q in Z) { + this._mapDataRequireCounter++ + } + this._clearSelected(), 0 === this._mapDataRequireCounter && (this.clear(), this.zr && this.zr.delShape(this.lastShapeList), this.lastShapeList = []); + for (var Q in Z) { + for (var y in Z[Q]) { + "average" == R[Q] && (Z[Q][y].value /= Z[Q][y].seriesIndex.length); + var T = Z[Q][y].value; + null != T && (Z[Q][y].value = T.toFixed(null == U[Q] ? Z[Q][y].precision : U[Q]) - 0) + } + this._mapDataMap[Q] = this._mapDataMap[Q] || {}, this._mapDataMap[Q].mapData ? this._mapDataCallback(Q, Z[Q], aa[Q])(this._mapDataMap[Q].mapData) : N[Q.replace(/\|.*/, "")].getGeoJson && (this._specialArea[Q] = N[Q.replace(/\|.*/, "")].specialArea || this._specialArea[Q], N[Q.replace(/\|.*/, "")].getGeoJson(this._mapDataCallback(Q, Z[Q], aa[Q]))) + } + }, + _mapDataCallback: function(o, l, m) { + var e = this; + return function(a) { + e._isAlive && null != e._activeMapType[o] && (-1 != o.indexOf("|") && (a = e._getSubMapData(o, a)), e._mapDataMap[o].mapData = a, a.firstChild ? (e._mapDataMap[o].rate = 1, e._mapDataMap[o].projection = x("../util/projection/svg")) : (e._mapDataMap[o].rate = 0.75, e._mapDataMap[o].projection = x("../util/projection/normal")), e._buildMap(o, e._getProjectionData(o, a, m), l, m), e._buildMark(o, m), --e._mapDataRequireCounter <= 0 && (e.addShapeList(), e.zr.refreshNextFrame()), e._buildHeatmap(o)) + } + }, + _clearSelected: function() { + for (var a in this._selected) { + this._activeMapType[this._mapTypeMap[a]] || (delete this._selected[a], delete this._mapTypeMap[a]) + } + }, + _getSubMapData: function(m, u) { + for (var p = m.replace(/^.*\|/, ""), r = u.features, l = 0, s = r.length; s > l; l++) { + if (r[l].properties && r[l].properties.name == p) { + r = r[l], "United States of America" == p && r.geometry.coordinates.length > 1 && (r = { + geometry: { + coordinates: r.geometry.coordinates.slice(5, 6), + type: r.geometry.type + }, + id: r.id, + properties: r.properties, + type: r.type + }); + break + } + } + return { + type: "FeatureCollection", + features: [r] + } + }, + _getProjectionData: function(P, aa, R) { + var W, p = this._mapDataMap[P].projection, + X = [], + Y = this._mapDataMap[P].bbox || p.getBbox(aa, this._specialArea[P]); + W = this._mapDataMap[P].hasRoam ? this._mapDataMap[P].transform : this._getTransform(Y, R, this._mapDataMap[P].rate); + var Z, S = this._mapDataMap[P].lastTransform || { + scale: {} + }; + W.left != S.left || W.top != S.top || W.scale.x != S.scale.x || W.scale.y != S.scale.y ? (Z = p.geoJson2Path(aa, W, this._specialArea[P]), S = G.clone(W)) : (W = this._mapDataMap[P].transform, Z = this._mapDataMap[P].pathArray), this._mapDataMap[P].bbox = Y, this._mapDataMap[P].transform = W, this._mapDataMap[P].lastTransform = S, this._mapDataMap[P].pathArray = Z; + for (var Q = [W.left, W.top], T = 0, ad = Z.length; ad > T; T++) { + X.push(this._getSingleProvince(P, Z[T], Q)) + } + if (this._specialArea[P]) { + for (var ac in this._specialArea[P]) { + X.push(this._getSpecialProjectionData(P, aa, ac, this._specialArea[P][ac], Q)) + } + } + if ("china" == P) { + var O = this.geo2pos(P, q["南海诸岛"] || N["南海诸岛"].textCoord), + y = W.scale.x / 10.5, + ab = [32 * y + O[0], 83 * y + O[1]]; + z["南海诸岛"] && (ab[0] += z["南海诸岛"][0], ab[1] += z["南海诸岛"][1]), X.push({ + name: this._nameChange(P, "南海诸岛"), + path: N["南海诸岛"].getPath(O, y), + position: Q, + textX: ab[0], + textY: ab[1] + }) + } + return X + }, + _getSpecialProjectionData: function(ab, R, W, e, X) { + R = this._getSubMapData("x|" + W, R); + var Z = x("../util/projection/normal"), + aa = Z.getBbox(R), + S = this.geo2pos(ab, [e.left, e.top]), + Q = this.geo2pos(ab, [e.left + e.width, e.top + e.height]), + T = Math.abs(Q[0] - S[0]), + ae = Math.abs(Q[1] - S[1]), + ad = aa.width, + P = aa.height, + Y = T / 0.75 / ad, + O = ae / P; + Y > O ? (Y = 0.75 * O, T = ad * Y) : (O = Y, Y = 0.75 * O, ae = P * O); + var ac = { + OffsetLeft: S[0], + OffsetTop: S[1], + scale: { + x: Y, + y: O + } + }, + af = Z.geoJson2Path(R, ac); + return this._getSingleProvince(ab, af[0], X) + }, + _getSingleProvince: function(m, O, p) { + var s, l = O.properties.name, + u = z[l] || [0, 0]; + if (q[l]) { + s = this.geo2pos(m, q[l]) + } else { + if (O.cp) { + s = [O.cp[0] + u[0], O.cp[1] + u[1]] + } else { + var y = this._mapDataMap[m].bbox; + s = this.geo2pos(m, [y.left + y.width / 2, y.top + y.height / 2]), s[0] += u[0], s[1] += u[1] + } + } + return O.name = this._nameChange(m, l), O.position = p, O.textX = s[0], O.textY = s[1], O + }, + _getTransform: function(R, ae, W) { + var Z, O, aa, ac, ad, X, T, Y = this.series, + ah = this.zr.getWidth(), + ag = this.zr.getHeight(), + Q = Math.round(0.02 * Math.min(ah, ag)); + for (var ab in ae) { + Z = Y[ab].mapLocation || {}, aa = Z.x || aa, ad = Z.y || ad, X = Z.width || X, T = Z.height || T + } + O = this.parsePercent(aa, ah), O = isNaN(O) ? Q : O, ac = this.parsePercent(ad, ag), ac = isNaN(ac) ? Q : ac, X = null == X ? ah - O - 2 * Q : this.parsePercent(X, ah), T = null == T ? ag - ac - 2 * Q : this.parsePercent(T, ag); + var P = R.width, + af = R.height, + ai = X / W / P, + S = T / af; + if (ai > S ? (ai = S * W, X = P * ai) : (S = ai, ai = S * W, T = af * S), isNaN(aa)) { + switch (aa = aa || "center", aa + "") { + case "center": + O = Math.floor((ah - X) / 2); + break; + case "right": + O = ah - X + } + } + if (isNaN(ad)) { + switch (ad = ad || "center", ad + "") { + case "center": + ac = Math.floor((ag - T) / 2); + break; + case "bottom": + ac = ag - T + } + } + return { + left: O, + top: ac, + width: X, + height: T, + baseScale: 1, + scale: { + x: ai, + y: S + } + } + }, + _buildMap: function(p, aa, O, Y) { + for (var ad, n, ab, ai, s, l, r, R, ag, a, U, af = this.series, ah = this.component.legend, ac = this.component.dataRange, ae = 0, T = aa.length; T > ae; ae++) { + if (R = G.clone(aa[ae]), ag = { + name: R.name, + path: R.path, + position: G.clone(R.position) + }, n = R.name, ab = O[n]) { + s = [ab], ad = ""; + for (var P = 0, Q = ab.seriesIndex.length; Q > P; P++) { + var o = af[ab.seriesIndex[P]]; + s.push(o), ad += o.name + " ", ah && this._showLegendSymbol[p] && ah.hasColor(o.name) && this.shapeList.push(new F({ + zlevel: o.zlevel, + z: o.z + 1, + position: G.clone(R.position), + _mapType: p, + style: { + x: R.textX + 3 + 7 * P, + y: R.textY - 10, + r: 3, + color: ah.getColor(o.name) + }, + hoverable: !1 + })) + } + ai = ab.value + } else { + ab = { + name: n, + value: "-" + }, ad = "", s = []; + for (var Z in Y) { + s.push(af[Z]) + } + ai = "-" + } + switch (this.ecTheme.map && s.push(this.ecTheme.map), s.push(L.map), l = ac && !isNaN(ai) ? ac.getColor(ai) : null, R.color = R.color || l || this.getItemStyleColor(this.deepQuery(s, "itemStyle.normal.color"), ab.seriesIndex, -1, ab) || this.deepQuery(s, "itemStyle.normal.areaStyle.color"), R.strokeColor = R.strokeColor || this.deepQuery(s, "itemStyle.normal.borderColor"), R.lineWidth = R.lineWidth || this.deepQuery(s, "itemStyle.normal.borderWidth"), ag.color = this.getItemStyleColor(this.deepQuery(s, "itemStyle.emphasis.color"), ab.seriesIndex, -1, ab) || this.deepQuery(s, "itemStyle.emphasis.areaStyle.color") || R.color, ag.strokeColor = this.deepQuery(s, "itemStyle.emphasis.borderColor") || R.strokeColor, ag.lineWidth = this.deepQuery(s, "itemStyle.emphasis.borderWidth") || R.lineWidth, R.brushType = ag.brushType = R.brushType || "both", R.lineJoin = ag.lineJoin = "round", R._name = ag._name = n, r = this.deepQuery(s, "itemStyle.normal.label.textStyle"), U = { + zlevel: this.getZlevelBase(), + z: this.getZBase() + 1, + position: G.clone(R.position), + _mapType: p, + _geo: this.pos2geo(p, [R.textX, R.textY]), + style: { + brushType: "fill", + x: R.textX, + y: R.textY, + text: this.getLabelText(n, ai, s, "normal"), + _name: n, + textAlign: "center", + color: this.deepQuery(s, "itemStyle.normal.label.show") ? this.deepQuery(s, "itemStyle.normal.label.textStyle.color") : "rgba(0,0,0,0)", + textFont: this.getFont(r) + } + }, U._style = G.clone(U.style), U.highlightStyle = G.clone(U.style), this.deepQuery(s, "itemStyle.emphasis.label.show") ? (U.highlightStyle.text = this.getLabelText(n, ai, s, "emphasis"), U.highlightStyle.color = this.deepQuery(s, "itemStyle.emphasis.label.textStyle.color") || U.style.color, r = this.deepQuery(s, "itemStyle.emphasis.label.textStyle") || r, U.highlightStyle.textFont = this.getFont(r)) : U.highlightStyle.color = "rgba(0,0,0,0)", a = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + position: G.clone(R.position), + style: R, + highlightStyle: ag, + _style: G.clone(R), + _mapType: p + }, null != R.scale && (a.scale = G.clone(R.scale)), U = new E(U), a.style.shapeType) { + case "rectangle": + a = new H(a); + break; + case "line": + a = new I(a); + break; + case "circle": + a = new F(a); + break; + case "polygon": + a = new C(a); + break; + case "ellipse": + a = new A(a); + break; + default: + a = new j(a), a.buildPathArray && (a.style.pathArray = a.buildPathArray(a.style.path)) + }(this._selectedMode[p] && this._selected[n] && ab.selected !== !1 || ab.selected === !0) && (U.style = U.highlightStyle, a.style = a.highlightStyle), U.clickable = a.clickable = this._clickable[p] && (null == ab.clickable || ab.clickable), this._selectedMode[p] && (this._selected[n] = null != this._selected[n] ? this._selected[n] : ab.selected, this._mapTypeMap[n] = p, (null == ab.selectable || ab.selectable) && (a.clickable = U.clickable = !0, a.onclick = U.onclick = this.shapeHandler.onclick)), this._hoverable[p] && (null == ab.hoverable || ab.hoverable) ? (U.hoverable = a.hoverable = !0, a.hoverConnect = U.id, U.hoverConnect = a.id) : U.hoverable = a.hoverable = !1, w.pack(U, { + name: ad, + tooltip: this.deepQuery(s, "tooltip") + }, 0, ab, 0, n), this.shapeList.push(U), w.pack(a, { + name: ad, + tooltip: this.deepQuery(s, "tooltip") + }, 0, ab, 0, n), this.shapeList.push(a) + } + }, + _buildMark: function(a, o) { + this._seriesIndexToMapType = this._seriesIndexToMapType || {}, this.markAttachStyle = this.markAttachStyle || {}; + var l = [this._mapDataMap[a].transform.left, this._mapDataMap[a].transform.top]; + "none" == a && (l = [0, 0]); + for (var m in o) { + this._seriesIndexToMapType[m] = a, this.markAttachStyle[m] = { + position: l, + _mapType: a + }, this.buildMark(m) + } + }, + _buildHeatmap: function(O) { + for (var Y = this.series, Q = 0, S = Y.length; S > Q; Q++) { + if (Y[Q].heatmap) { + var m = Y[Q].heatmap.data; + if (Y[Q].heatmap.needsTransform === !1) { + for (var T = [], W = 0, X = m.length; X > W; ++W) { + T.push([m[W][3], m[W][4], m[W][2]]) + } + var R = [0, 0] + } else { + var P = Y[Q].heatmap._geoData; + if (void 0 === P) { + Y[Q].heatmap._geoData = []; + for (var W = 0, X = m.length; X > W; ++W) { + Y[Q].heatmap._geoData[W] = m[W] + } + P = Y[Q].heatmap._geoData + } + for (var X = m.length, Z = 0; X > Z; ++Z) { + m[Z] = this.geo2pos(O, [P[Z][0], P[Z][1]]) + } + var R = [this._mapDataMap[O].transform.left, this._mapDataMap[O].transform.top] + } + var y = new M(Y[Q].heatmap), + V = y.getCanvas(m[0][3] ? T : m, this.zr.getWidth(), this.zr.getHeight()), + u = new D({ + zlevel: this.getZlevelBase(), + z: this.getZBase() + 1, + position: R, + scale: [1, 1], + hoverable: !1, + style: { + x: 0, + y: 0, + image: V, + width: V.width, + height: V.height + } + }); + u.type = "heatmap", u._mapType = O, this.shapeList.push(u), this.zr.addShape(u) + } + } + }, + getMarkCoord: function(a, i) { + return i.geoCoord || q[i.name] ? this.geo2pos(this._seriesIndexToMapType[a], i.geoCoord || q[i.name]) : [0, 0] + }, + getMarkGeo: function(a) { + return a.geoCoord || q[a.name] + }, + _nameChange: function(a, i) { + return this._nameMap[a][i] || i + }, + getLabelText: function(m, r, o, p) { + var l = this.deepQuery(o, "itemStyle." + p + ".label.formatter"); + return l ? "function" == typeof l ? l.call(this.myChart, m, r) : "string" == typeof l ? (l = l.replace("{a}", "{a0}").replace("{b}", "{b0}"), l = l.replace("{a0}", m).replace("{b0}", r)) : void 0 : m + }, + _findMapTypeByPos: function(m, Q) { + var p, u, l, y, O; + for (var P in this._mapDataMap) { + if (p = this._mapDataMap[P].transform, p && this._roamMap[P] && this._activeMapType[P] && (u = p.left, l = p.top, y = p.width, O = p.height, m >= u && u + y >= m && Q >= l && l + O >= Q)) { + return P + } + } + }, + __onmousewheel: function(S) { + function aj(m, r) { + for (var o = 0; o < m.pointList.length; o++) { + var p = m.pointList[o]; + p[0] *= r, p[1] *= r + } + var l = m.controlPointList; + if (l) { + for (var o = 0; o < l.length; o++) { + var p = l[o]; + p[0] *= r, p[1] *= r + } + } + } + + function Z(a, i) { + a.xStart *= i, a.yStart *= i, a.xEnd *= i, a.yEnd *= i, null != a.cpX1 && (a.cpX1 *= i, a.cpY1 *= i) + } + if (!(this.shapeList.length <= 0)) { + for (var ae = 0, O = this.shapeList.length; O > ae; ae++) { + var af = this.shapeList[ae]; + if (af.__animating) { + return + } + } + var ah, ai, ab = S.event, + Y = K.getX(ab), + ad = K.getY(ab), + ak = K.getDelta(ab), + R = S.mapTypeControl; + R || (R = {}, ai = this._findMapTypeByPos(Y, ad), ai && this._roamMap[ai] && "move" != this._roamMap[ai] && (R[ai] = !0)); + var ag = !1; + for (ai in R) { + if (R[ai]) { + ag = !0; + var Q = this._mapDataMap[ai].transform, + ao = Q.left, + U = Q.top, + P = Q.width, + T = Q.height, + aa = this.pos2geo(ai, [Y - ao, ad - U]); + if (ak > 0) { + if (ah = 1.2, null != this._scaleLimitMap[ai].max && Q.baseScale >= this._scaleLimitMap[ai].max) { + continue + } + } else { + if (ah = 1 / 1.2, null != this._scaleLimitMap[ai].min && Q.baseScale <= this._scaleLimitMap[ai].min) { + continue + } + } + Q.baseScale *= ah, Q.scale.x *= ah, Q.scale.y *= ah, Q.width = P * ah, Q.height = T * ah, this._mapDataMap[ai].hasRoam = !0, this._mapDataMap[ai].transform = Q, aa = this.geo2pos(ai, aa), Q.left -= aa[0] - (Y - ao), Q.top -= aa[1] - (ad - U), this._mapDataMap[ai].transform = Q, this.clearEffectShape(!0); + for (var ae = 0, O = this.shapeList.length; O > ae; ae++) { + var af = this.shapeList[ae]; + if (af._mapType == ai) { + var am = af.type, + u = af.style; + switch (af.position[0] = Q.left, af.position[1] = Q.top, am) { + case "path": + case "symbol": + case "circle": + case "rectangle": + case "polygon": + case "line": + case "ellipse": + case "heatmap": + af.scale[0] *= ah, af.scale[1] *= ah; + break; + case "mark-line": + Z(u, ah); + break; + case "polyline": + aj(u, ah); + break; + case "shape-bundle": + for (var ac = 0; ac < u.shapeList.length; ac++) { + var al = u.shapeList[ac]; + "mark-line" == al.type ? Z(al.style, ah) : "polyline" == al.type && aj(al.style, ah) + } + break; + case "icon": + case "image": + aa = this.geo2pos(ai, af._geo), u.x = u._x = aa[0] - u.width / 2, u.y = u._y = aa[1] - u.height / 2; + break; + default: + aa = this.geo2pos(ai, af._geo), u.x = aa[0], u.y = aa[1], "text" == am && (af._style.x = af.highlightStyle.x = aa[0], af._style.y = af.highlightStyle.y = aa[1]) + } + this.zr.modShape(af.id) + } + } + } + } + if (ag) { + K.stop(ab), this.zr.refreshNextFrame(); + var an = this; + clearTimeout(this._refreshDelayTicket), this._refreshDelayTicket = setTimeout(function() { + an && an.shapeList && an.animationEffect() + }, 100), this.messageCenter.dispatch(L.EVENT.MAP_ROAM, S.event, { + type: "scale" + }, this.myChart) + } + } + }, + __onmousedown: function(m) { + if (!(this.shapeList.length <= 0)) { + var O = m.target; + if (!O || !O.draggable) { + var p = m.event, + s = K.getX(p), + l = K.getY(p), + u = this._findMapTypeByPos(s, l); + if (u && this._roamMap[u] && "scale" != this._roamMap[u]) { + this._mousedown = !0, this._mx = s, this._my = l, this._curMapType = u, this.zr.on(v.EVENT.MOUSEUP, this._onmouseup); + var y = this; + setTimeout(function() { + y.zr.on(v.EVENT.MOUSEMOVE, y._onmousemove) + }, 100) + } + } + } + }, + __onmousemove: function(m) { + if (this._mousedown && this._isAlive) { + var O = m.event, + p = K.getX(O), + s = K.getY(O), + l = this._mapDataMap[this._curMapType].transform; + l.hasRoam = !0, l.left -= this._mx - p, l.top -= this._my - s, this._mx = p, this._my = s, this._mapDataMap[this._curMapType].transform = l; + for (var u = 0, y = this.shapeList.length; y > u; u++) { + this.shapeList[u]._mapType == this._curMapType && (this.shapeList[u].position[0] = l.left, this.shapeList[u].position[1] = l.top, this.zr.modShape(this.shapeList[u].id)) + } + this.messageCenter.dispatch(L.EVENT.MAP_ROAM, m.event, { + type: "move" + }, this.myChart), this.clearEffectShape(!0), this.zr.refreshNextFrame(), this._justMove = !0, K.stop(O) + } + }, + __onmouseup: function(a) { + var m = a.event; + this._mx = K.getX(m), this._my = K.getY(m), this._mousedown = !1; + var l = this; + setTimeout(function() { + l._justMove && l.animationEffect(), l._justMove = !1, l.zr.un(v.EVENT.MOUSEMOVE, l._onmousemove), l.zr.un(v.EVENT.MOUSEUP, l._onmouseup) + }, 120) + }, + __onroamcontroller: function(u) { + var V = u.event; + V.zrenderX = this.zr.getWidth() / 2, V.zrenderY = this.zr.getHeight() / 2; + var O = u.mapTypeControl, + R = 0, + p = 0, + S = u.step; + switch (u.roamType) { + case "scaleUp": + return V.zrenderDelta = 1, void this.__onmousewheel({ + event: V, + mapTypeControl: O + }); + case "scaleDown": + return V.zrenderDelta = -1, void this.__onmousewheel({ + event: V, + mapTypeControl: O + }); + case "up": + R = -S; + break; + case "down": + R = S; + break; + case "left": + p = -S; + break; + case "right": + p = S + } + var T, U; + for (U in O) { + this._mapDataMap[U] && this._activeMapType[U] && (T = this._mapDataMap[U].transform, T.hasRoam = !0, T.left -= p, T.top -= R, this._mapDataMap[U].transform = T) + } + for (var P = 0, y = this.shapeList.length; y > P; P++) { + U = this.shapeList[P]._mapType, O[U] && this._activeMapType[U] && (T = this._mapDataMap[U].transform, this.shapeList[P].position[0] = T.left, this.shapeList[P].position[1] = T.top, this.zr.modShape(this.shapeList[P].id)) + } + this.messageCenter.dispatch(L.EVENT.MAP_ROAM, u.event, { + type: "move" + }, this.myChart), this.clearEffectShape(!0), this.zr.refreshNextFrame(), clearTimeout(this.dircetionTimer); + var Q = this; + this.dircetionTimer = setTimeout(function() { + Q.animationEffect() + }, 150) + }, + __ondrhoverlink: function(m) { + for (var r, o, p = 0, l = this.shapeList.length; l > p; p++) { + r = this.shapeList[p]._mapType, this._hoverLinkMap[r] && this._activeMapType[r] && (o = w.get(this.shapeList[p], "value"), null != o && o >= m.valueMin && o <= m.valueMax && this.zr.addHoverShape(this.shapeList[p])) + } + }, + onclick: function(m) { + if (this.isClick && m.target && !this._justMove && "icon" != m.target.type) { + this.isClick = !1; + var Q = m.target, + p = Q.style._name, + u = this.shapeList.length, + l = Q._mapType || ""; + if ("single" == this._selectedMode[l]) { + for (var y in this._selected) { + if (this._selected[y] && this._mapTypeMap[y] == l) { + for (var O = 0; u > O; O++) { + this.shapeList[O].style._name == y && this.shapeList[O]._mapType == l && (this.shapeList[O].style = this.shapeList[O]._style, this.zr.modShape(this.shapeList[O].id)) + } + y != p && (this._selected[y] = !1) + } + } + } + this._selected[p] = !this._selected[p]; + for (var O = 0; u > O; O++) { + this.shapeList[O].style._name == p && this.shapeList[O]._mapType == l && (this.shapeList[O].style = this._selected[p] ? this.shapeList[O].highlightStyle : this.shapeList[O]._style, this.zr.modShape(this.shapeList[O].id)) + } + this.messageCenter.dispatch(L.EVENT.MAP_SELECTED, m.event, { + selected: this._selected, + target: p + }, this.myChart), this.zr.refreshNextFrame(); + var P = this; + setTimeout(function() { + P.zr.trigger(v.EVENT.MOUSEMOVE, m.event) + }, 100) + } + }, + refresh: function(a) { + a && (this.option = a, this.series = a.series), this._mapDataRequireCounter > 0 ? this.clear() : this.backupShapeList(), this._buildShape(), this.zr.refreshHover() + }, + ondataRange: function(a, i) { + this.component.dataRange && (this.refresh(), i.needRefresh = !0) + }, + pos2geo: function(a, i) { + return this._mapDataMap[a].transform ? this._mapDataMap[a].projection.pos2geo(this._mapDataMap[a].transform, i) : null + }, + getGeoByPos: function(a, m) { + if (!this._mapDataMap[a].transform) { + return null + } + var l = [this._mapDataMap[a].transform.left, this._mapDataMap[a].transform.top]; + return m instanceof Array ? (m[0] -= l[0], m[1] -= l[1]) : (m.x -= l[0], m.y -= l[1]), this.pos2geo(a, m) + }, + geo2pos: function(a, i) { + return this._mapDataMap[a].transform ? this._mapDataMap[a].projection.geo2pos(this._mapDataMap[a].transform, i) : null + }, + getPosByGeo: function(a, m) { + if (!this._mapDataMap[a].transform) { + return null + } + var l = this.geo2pos(a, m); + return l[0] += this._mapDataMap[a].transform.left, l[1] += this._mapDataMap[a].transform.top, l + }, + getMapPosition: function(a) { + return this._mapDataMap[a].transform ? [this._mapDataMap[a].transform.left, this._mapDataMap[a].transform.top] : null + }, + onbeforDispose: function() { + this._isAlive = !1, this.zr.un(v.EVENT.MOUSEWHEEL, this._onmousewheel), this.zr.un(v.EVENT.MOUSEDOWN, this._onmousedown), this.messageCenter.unbind(L.EVENT.ROAMCONTROLLER, this._onroamcontroller), this.messageCenter.unbind(L.EVENT.DATA_RANGE_HOVERLINK, this._ondrhoverlink) + } + }, G.inherits(J, B), x("../chart").define("map", J), J + }), d("zrender/shape/Path", ["require", "./Base", "./util/PathProxy", "../tool/util"], function(l) { + var w = l("./Base"), + m = l("./util/PathProxy"), + p = m.PathSegment, + j = function(a) { + return Math.sqrt(a[0] * a[0] + a[1] * a[1]) + }, + q = function(a, i) { + return (a[0] * i[0] + a[1] * i[1]) / (j(a) * j(i)) + }, + u = function(a, i) { + return (a[0] * i[1] < a[1] * i[0] ? -1 : 1) * Math.acos(q(a, i)) + }, + v = function(a) { + w.call(this, a) + }; + return v.prototype = { + type: "path", + buildPathArray: function(D, R, H) { + if (!D) { + return [] + } + R = R || 0, H = H || 0; + var z = D, + N = ["m", "M", "l", "L", "v", "V", "h", "H", "z", "Z", "c", "C", "q", "Q", "t", "T", "s", "S", "a", "A"]; + z = z.replace(/-/g, " -"), z = z.replace(/ /g, " "), z = z.replace(/ /g, ","), z = z.replace(/,,/g, ","); + var P; + for (P = 0; P < N.length; P++) { + z = z.replace(new RegExp(N[P], "g"), "|" + N[P]) + } + var Q = z.split("|"), + J = [], + G = 0, + M = 0; + for (P = 1; P < Q.length; P++) { + var Z = Q[P], + T = Z.charAt(0); + Z = Z.slice(1), Z = Z.replace(new RegExp("e,-", "g"), "e-"); + var C = Z.split(","); + C.length > 0 && "" === C[0] && C.shift(); + for (var O = 0; O < C.length; O++) { + C[O] = parseFloat(C[O]) + } + for (; C.length > 0 && !isNaN(C[0]);) { + var B, S, ae, F, A, E, I, ac, n = null, + K = [], + ab = G, + ad = M; + switch (T) { + case "l": + G += C.shift(), M += C.shift(), n = "L", K.push(G, M); + break; + case "L": + G = C.shift(), M = C.shift(), K.push(G, M); + break; + case "m": + G += C.shift(), M += C.shift(), n = "M", K.push(G, M), T = "l"; + break; + case "M": + G = C.shift(), M = C.shift(), n = "M", K.push(G, M), T = "L"; + break; + case "h": + G += C.shift(), n = "L", K.push(G, M); + break; + case "H": + G = C.shift(), n = "L", K.push(G, M); + break; + case "v": + M += C.shift(), n = "L", K.push(G, M); + break; + case "V": + M = C.shift(), n = "L", K.push(G, M); + break; + case "C": + K.push(C.shift(), C.shift(), C.shift(), C.shift()), G = C.shift(), M = C.shift(), K.push(G, M); + break; + case "c": + K.push(G + C.shift(), M + C.shift(), G + C.shift(), M + C.shift()), G += C.shift(), M += C.shift(), n = "C", K.push(G, M); + break; + case "S": + B = G, S = M, ae = J[J.length - 1], "C" === ae.command && (B = G + (G - ae.points[2]), S = M + (M - ae.points[3])), K.push(B, S, C.shift(), C.shift()), G = C.shift(), M = C.shift(), n = "C", K.push(G, M); + break; + case "s": + B = G, S = M, ae = J[J.length - 1], "C" === ae.command && (B = G + (G - ae.points[2]), S = M + (M - ae.points[3])), K.push(B, S, G + C.shift(), M + C.shift()), G += C.shift(), M += C.shift(), n = "C", K.push(G, M); + break; + case "Q": + K.push(C.shift(), C.shift()), G = C.shift(), M = C.shift(), K.push(G, M); + break; + case "q": + K.push(G + C.shift(), M + C.shift()), G += C.shift(), M += C.shift(), n = "Q", K.push(G, M); + break; + case "T": + B = G, S = M, ae = J[J.length - 1], "Q" === ae.command && (B = G + (G - ae.points[0]), S = M + (M - ae.points[1])), G = C.shift(), M = C.shift(), n = "Q", K.push(B, S, G, M); + break; + case "t": + B = G, S = M, ae = J[J.length - 1], "Q" === ae.command && (B = G + (G - ae.points[0]), S = M + (M - ae.points[1])), G += C.shift(), M += C.shift(), n = "Q", K.push(B, S, G, M); + break; + case "A": + F = C.shift(), A = C.shift(), E = C.shift(), I = C.shift(), ac = C.shift(), ab = G, ad = M, G = C.shift(), M = C.shift(), n = "A", K = this._convertPoint(ab, ad, G, M, I, ac, F, A, E); + break; + case "a": + F = C.shift(), A = C.shift(), E = C.shift(), I = C.shift(), ac = C.shift(), ab = G, ad = M, G += C.shift(), M += C.shift(), n = "A", K = this._convertPoint(ab, ad, G, M, I, ac, F, A, E) + } + for (var Y = 0, aa = K.length; aa > Y; Y += 2) { + K[Y] += R, K[Y + 1] += H + } + J.push(new p(n || T, K)) + }("z" === T || "Z" === T) && J.push(new p("z", [])) + } + return J + }, + _convertPoint: function(C, N, G, K, r, M, I, F, J) { + var Q = J * (Math.PI / 180), + P = Math.cos(Q) * (C - G) / 2 + Math.sin(Q) * (N - K) / 2, + B = -1 * Math.sin(Q) * (C - G) / 2 + Math.cos(Q) * (N - K) / 2, + L = P * P / (I * I) + B * B / (F * F); + L > 1 && (I *= Math.sqrt(L), F *= Math.sqrt(L)); + var A = Math.sqrt((I * I * F * F - I * I * B * B - F * F * P * P) / (I * I * B * B + F * F * P * P)); + r === M && (A *= -1), isNaN(A) && (A = 0); + var O = A * I * B / F, + S = A * -F * P / I, + E = (C + G) / 2 + Math.cos(Q) * O - Math.sin(Q) * S, + z = (N + K) / 2 + Math.sin(Q) * O + Math.cos(Q) * S, + D = u([1, 0], [(P - O) / I, (B - S) / F]), + H = [(P - O) / I, (B - S) / F], + R = [(-1 * P - O) / I, (-1 * B - S) / F], + o = u(H, R); + return q(H, R) <= -1 && (o = Math.PI), q(H, R) >= 1 && (o = 0), 0 === M && o > 0 && (o -= 2 * Math.PI), 1 === M && 0 > o && (o += 2 * Math.PI), [E, z, I, F, D, o, Q, M] + }, + buildPath: function(E, T) { + var I = T.path, + O = T.x || 0, + A = T.y || 0; + T.pathArray = T.pathArray || this.buildPathArray(I, O, A); + for (var P = T.pathArray, R = T.pointList = [], S = [], K = 0, H = P.length; H > K; K++) { + "M" == P[K].command.toUpperCase() && (S.length > 0 && R.push(S), S = []); + for (var N = P[K].points, Y = 0, X = N.length; X > Y; Y += 2) { + S.push([N[Y], N[Y + 1]]) + } + } + S.length > 0 && R.push(S); + for (var K = 0, H = P.length; H > K; K++) { + var D = P[K].command, + N = P[K].points; + switch (D) { + case "L": + E.lineTo(N[0], N[1]); + break; + case "M": + E.moveTo(N[0], N[1]); + break; + case "C": + E.bezierCurveTo(N[0], N[1], N[2], N[3], N[4], N[5]); + break; + case "Q": + E.quadraticCurveTo(N[0], N[1], N[2], N[3]); + break; + case "A": + var Q = N[0], + C = N[1], + W = N[2], + aa = N[3], + G = N[4], + B = N[5], + F = N[6], + J = N[7], + Z = W > aa ? W : aa, + z = W > aa ? 1 : W / aa, + M = W > aa ? aa / W : 1; + E.translate(Q, C), E.rotate(F), E.scale(z, M), E.arc(0, 0, Z, G, G + B, 1 - J), E.scale(1 / z, 1 / M), E.rotate(-F), E.translate(-Q, -C); + break; + case "z": + E.closePath() + } + } + }, + getRect: function(y) { + if (y.__rect) { + return y.__rect + } + var H; + H = "stroke" == y.brushType || "fill" == y.brushType ? y.lineWidth || 1 : 0; + for (var A = Number.MAX_VALUE, D = Number.MIN_VALUE, x = Number.MAX_VALUE, E = Number.MIN_VALUE, F = y.x || 0, G = y.y || 0, B = y.pathArray || this.buildPathArray(y.path), z = 0; z < B.length; z++) { + for (var C = B[z].points, J = 0; J < C.length; J++) { + J % 2 === 0 ? (C[J] + F < A && (A = C[J]), C[J] + F > D && (D = C[J])) : (C[J] + G < x && (x = C[J]), C[J] + G > E && (E = C[J])) + } + } + var I; + return I = A === Number.MAX_VALUE || D === Number.MIN_VALUE || x === Number.MAX_VALUE || E === Number.MIN_VALUE ? { + x: 0, + y: 0, + width: 0, + height: 0 + } : { + x: Math.round(A - H / 2), + y: Math.round(x - H / 2), + width: D - A + H, + height: E - x + H + }, y.__rect = I, I + } + }, l("../tool/util").inherits(v, w), v + }), d("zrender/shape/Ellipse", ["require", "./Base", "../tool/util"], function(a) { + var l = a("./Base"), + j = function(i) { + l.call(this, i) + }; + return j.prototype = { + type: "ellipse", + buildPath: function(p, z) { + var q = 0.5522848, + v = z.x, + m = z.y, + w = z.a, + x = z.b, + y = w * q, + u = x * q; + p.moveTo(v - w, m), p.bezierCurveTo(v - w, m - u, v - y, m - x, v, m - x), p.bezierCurveTo(v + y, m - x, v + w, m - u, v + w, m), p.bezierCurveTo(v + w, m + u, v + y, m + x, v, m + x), p.bezierCurveTo(v - y, m + x, v - w, m + u, v - w, m), p.closePath() + }, + getRect: function(i) { + if (i.__rect) { + return i.__rect + } + var m; + return m = "stroke" == i.brushType || "fill" == i.brushType ? i.lineWidth || 1 : 0, i.__rect = { + x: Math.round(i.x - i.a - m / 2), + y: Math.round(i.y - i.b - m / 2), + width: 2 * i.a + m, + height: 2 * i.b + m + }, i.__rect + } + }, a("../tool/util").inherits(j, l), j + }), d("echarts/component/roamController", ["require", "./base", "zrender/shape/Rectangle", "zrender/shape/Sector", "zrender/shape/Circle", "../config", "zrender/tool/util", "zrender/tool/color", "zrender/tool/event", "../component"], function(m) { + function z(l, C, s, i, A) { + if (this.rcOption = {}, i.roamController && i.roamController.show) { + if (!i.roamController.mapTypeControl) { + return void console.error("option.roamController.mapTypeControl has not been defined.") + } + q.call(this, l, C, s, i, A), this.rcOption = i.roamController; + var B = this; + this._drictionMouseDown = function(a) { + return B.__drictionMouseDown(a) + }, this._drictionMouseUp = function(a) { + return B.__drictionMouseUp(a) + }, this._drictionMouseMove = function(a) { + return B.__drictionMouseMove(a) + }, this._drictionMouseOut = function(a) { + return B.__drictionMouseOut(a) + }, this._scaleHandler = function(a) { + return B.__scaleHandler(a) + }, this.refresh(i) + } + } + var q = m("./base"), + v = m("zrender/shape/Rectangle"), + j = m("zrender/shape/Sector"), + w = m("zrender/shape/Circle"), + x = m("../config"); + x.roamController = { + zlevel: 0, + z: 4, + show: !0, + x: "left", + y: "top", + width: 80, + height: 120, + backgroundColor: "rgba(0,0,0,0)", + borderColor: "#ccc", + borderWidth: 0, + padding: 5, + handleColor: "#6495ed", + fillerColor: "#fff", + step: 15, + mapTypeControl: null + }; + var y = m("zrender/tool/util"), + u = m("zrender/tool/color"), + p = m("zrender/tool/event"); + return z.prototype = { + type: x.COMPONENT_TYPE_ROAMCONTROLLER, + _buildShape: function() { + if (this.rcOption.show) { + this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem(); + for (var a = 0, i = this.shapeList.length; i > a; a++) { + this.zr.addShape(this.shapeList[a]) + } + } + }, + _buildItem: function() { + this.shapeList.push(this._getDirectionShape("up")), this.shapeList.push(this._getDirectionShape("down")), this.shapeList.push(this._getDirectionShape("left")), this.shapeList.push(this._getDirectionShape("right")), this.shapeList.push(this._getScaleShape("scaleUp")), this.shapeList.push(this._getScaleShape("scaleDown")) + }, + _getDirectionShape: function(a) { + var A = this._itemGroupLocation.r, + l = this._itemGroupLocation.x + A, + r = this._itemGroupLocation.y + A, + s = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: { + x: l, + y: r, + r: A, + startAngle: -45, + endAngle: 45, + color: this.rcOption.handleColor, + text: ">", + textX: l + A / 2 + 4, + textY: r - 0.5, + textAlign: "center", + textBaseline: "middle", + textPosition: "specific", + textColor: this.rcOption.fillerColor, + textFont: Math.floor(A / 2) + "px arial" + }, + highlightStyle: { + color: u.lift(this.rcOption.handleColor, -0.2), + brushType: "fill" + }, + clickable: !0 + }; + switch (a) { + case "up": + s.rotation = [Math.PI / 2, l, r]; + break; + case "left": + s.rotation = [Math.PI, l, r]; + break; + case "down": + s.rotation = [-Math.PI / 2, l, r] + } + return s = new j(s), s._roamType = a, s.onmousedown = this._drictionMouseDown, s.onmouseup = this._drictionMouseUp, s.onmousemove = this._drictionMouseMove, s.onmouseout = this._drictionMouseOut, s + }, + _getScaleShape: function(o) { + var E = this._itemGroupLocation.width, + A = this._itemGroupLocation.height - E; + A = 0 > A ? 20 : A; + var B = Math.min(E / 2 - 5, A) / 2, + l = this._itemGroupLocation.x + ("scaleDown" === o ? E - B : B), + C = this._itemGroupLocation.y + this._itemGroupLocation.height - B, + D = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: { + x: l, + y: C, + r: B, + color: this.rcOption.handleColor, + text: "scaleDown" === o ? "-" : "+", + textX: l, + textY: C - 2, + textAlign: "center", + textBaseline: "middle", + textPosition: "specific", + textColor: this.rcOption.fillerColor, + textFont: Math.floor(B) + "px verdana" + }, + highlightStyle: { + color: u.lift(this.rcOption.handleColor, -0.2), + brushType: "fill" + }, + clickable: !0 + }; + return D = new w(D), D._roamType = o, D.onmousedown = this._scaleHandler, D + }, + _buildBackground: function() { + var a = this.reformCssArray(this.rcOption.padding); + this.shapeList.push(new v({ + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + x: this._itemGroupLocation.x - a[3], + y: this._itemGroupLocation.y - a[0], + width: this._itemGroupLocation.width + a[3] + a[1], + height: this._itemGroupLocation.height + a[0] + a[2], + brushType: 0 === this.rcOption.borderWidth ? "fill" : "both", + color: this.rcOption.backgroundColor, + strokeColor: this.rcOption.borderColor, + lineWidth: this.rcOption.borderWidth + } + })) + }, + _getItemGroupLocation: function() { + var s, E = this.reformCssArray(this.rcOption.padding), + A = this.rcOption.width, + B = this.rcOption.height, + l = this.zr.getWidth(), + C = this.zr.getHeight(); + switch (this.rcOption.x) { + case "center": + s = Math.floor((l - A) / 2); + break; + case "left": + s = E[3] + this.rcOption.borderWidth; + break; + case "right": + s = l - A - E[1] - E[3] - 2 * this.rcOption.borderWidth; + break; + default: + s = this.parsePercent(this.rcOption.x, l) + } + var D; + switch (this.rcOption.y) { + case "top": + D = E[0] + this.rcOption.borderWidth; + break; + case "bottom": + D = C - B - E[0] - E[2] - 2 * this.rcOption.borderWidth; + break; + case "center": + D = Math.floor((C - B) / 2); + break; + default: + D = this.parsePercent(this.rcOption.y, C) + } + return { + x: s, + y: D, + r: A / 2, + width: A, + height: B + } + }, + __drictionMouseDown: function(a) { + this.mousedown = !0, this._drictionHandlerOn(a) + }, + __drictionMouseUp: function(a) { + this.mousedown = !1, this._drictionHandlerOff(a) + }, + __drictionMouseMove: function(a) { + this.mousedown && this._drictionHandlerOn(a) + }, + __drictionMouseOut: function(a) { + this._drictionHandlerOff(a) + }, + _drictionHandlerOn: function(a) { + this._dispatchEvent(a.event, a.target._roamType), clearInterval(this.dircetionTimer); + var i = this; + this.dircetionTimer = setInterval(function() { + i._dispatchEvent(a.event, a.target._roamType) + }, 100), p.stop(a.event) + }, + _drictionHandlerOff: function() { + clearInterval(this.dircetionTimer) + }, + __scaleHandler: function(a) { + this._dispatchEvent(a.event, a.target._roamType), p.stop(a.event) + }, + _dispatchEvent: function(a, i) { + this.messageCenter.dispatch(x.EVENT.ROAMCONTROLLER, a, { + roamType: i, + mapTypeControl: this.rcOption.mapTypeControl, + step: this.rcOption.step + }, this.myChart) + }, + refresh: function(a) { + a && (this.option = a || this.option, this.option.roamController = this.reformOption(this.option.roamController), this.rcOption = this.option.roamController), this.clear(), this._buildShape() + } + }, y.inherits(z, q), m("../component").define("roamController", z), z + }), d("echarts/layer/heatmap", ["require"], function() { + function a(n) { + if (this.option = n, n) { + for (var o in m) { + this.option[o] = void 0 !== n[o] ? n[o] : m[o] + } + } else { + this.option = m + } + } + var m = { + blurSize: 30, + gradientColors: ["blue", "cyan", "lime", "yellow", "red"], + minAlpha: 0.05, + valueScale: 1, + opacity: 1 + }, + j = 20, + l = 256; + return a.prototype = { + getCanvas: function(w, H, i) { + var D = this._getBrush(), + F = this._getGradient(), + G = j + this.option.blurSize, + B = document.createElement("canvas"); + B.width = H, B.height = i; + for (var A = B.getContext("2d"), C = w.length, K = 0; C > K; ++K) { + var J = w[K], + v = J[0], + E = J[1], + q = J[2], + I = Math.min(1, Math.max(q * this.option.valueScale || this.option.minAlpha, this.option.minAlpha)); + A.globalAlpha = I, A.drawImage(D, v - G, E - G) + } + for (var L = A.getImageData(0, 0, B.width, B.height), z = L.data, C = z.length / 4; C--;) { + var n = 4 * C + 3, + I = z[n] / 256, + x = Math.floor(I * (l - 1)); + z[n - 3] = F[4 * x], z[n - 2] = F[4 * x + 1], z[n - 1] = F[4 * x + 2], z[n] *= this.option.opacity + } + return A.putImageData(L, 0, 0), B + }, + _getBrush: function() { + if (!this._brushCanvas) { + this._brushCanvas = document.createElement("canvas"); + var i = j + this.option.blurSize, + p = 2 * i; + this._brushCanvas.width = p, this._brushCanvas.height = p; + var o = this._brushCanvas.getContext("2d"); + o.shadowOffsetX = p, o.shadowBlur = this.option.blurSize, o.shadowColor = "black", o.beginPath(), o.arc(-i, i, j, 0, 2 * Math.PI, !0), o.closePath(), o.fill() + } + return this._brushCanvas + }, + _getGradient: function() { + if (!this._gradientPixels) { + var p = l, + v = document.createElement("canvas"); + v.width = 1, v.height = p; + for (var q = v.getContext("2d"), n = q.createLinearGradient(0, 0, 0, p), s = this.option.gradientColors.length, u = 0; s > u; ++u) { + "string" == typeof this.option.gradientColors[u] ? n.addColorStop((u + 1) / s, this.option.gradientColors[u]) : n.addColorStop(this.option.gradientColors[u].offset, this.option.gradientColors[u].color) + } + q.fillStyle = n, q.fillRect(0, 0, 1, p), this._gradientPixels = q.getImageData(0, 0, 1, p).data + } + return this._gradientPixels + } + }, a + }), d("echarts/util/mapData/params", ["require"], function(a) { + function m(p) { + if (!p.UTF8Encoding) { + return p + } + for (var A = p.features, w = 0; w < A.length; w++) { + for (var i = A[w], x = i.geometry.coordinates, y = i.geometry.encodeOffsets, z = 0; z < x.length; z++) { + var u = x[z]; + if ("Polygon" === i.geometry.type) { + x[z] = j(u, y[z]) + } else { + if ("MultiPolygon" === i.geometry.type) { + for (var q = 0; q < u.length; q++) { + var v = u[q]; + u[q] = j(v, y[z][q]) + } + } + } + } + } + return p.UTF8Encoding = !1, p + } + + function j(q, z) { + for (var u = [], v = z[0], p = z[1], w = 0; w < q.length; w += 2) { + var x = q.charCodeAt(w) - 64, + y = q.charCodeAt(w + 1) - 64; + x = x >> 1 ^ -(1 & x), y = y >> 1 ^ -(1 & y), x += v, y += p, v = x, p = y, u.push([x / 1024, y / 1024]) + } + return u + } + var l = { + none: { + getGeoJson: function(i) { + i({ + type: "FeatureCollection", + features: [{ + type: "Feature", + geometry: { + coordinates: [], + encodeOffsets: [], + type: "Polygon" + }, + properties: {} + }] + }) + } + }, + world: { + getGeoJson: function(e) { + a(["./geoJson/world_geo"], function(i) { + e(m(i)) + }) + } + }, + china: { + getGeoJson: function(e) { + a(["./geoJson/china_geo"], function(i) { + e(m(i)) + }) + } + }, + "南海诸岛": { + textCoord: [126, 25], + getPath: function(q, B) { + for (var v = [ + [ + [0, 3.5], + [7, 11.2], + [15, 11.9], + [30, 7], + [42, 0.7], + [52, 0.7], + [56, 7.7], + [59, 0.7], + [64, 0.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.40000000000001], + [8, 70], + [9, 70], + [8, 64.40000000000001], + [6, 64.40000000000001] + ], + [ + [23, 82.59999999999999], + [29, 79.8], + [30, 79.8], + [25, 82.59999999999999], + [23, 82.59999999999999] + ], + [ + [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.09999999999999], + [64, 93.09999999999999], + [64, 0], + [63, 0], + [63, 92.40000000000001], + [1, 92.40000000000001], + [1, 3.5], + [0, 3.5] + ] + ], x = "", p = q[0], y = q[1], z = 0, A = v.length; A > z; z++) { + x += "M " + ((v[z][0][0] * B + p).toFixed(2) - 0) + " " + ((v[z][0][1] * B + y).toFixed(2) - 0) + " "; + for (var w = 1, u = v[z].length; u > w; w++) { + x += "L " + ((v[z][w][0] * B + p).toFixed(2) - 0) + " " + ((v[z][w][1] * B + y).toFixed(2) - 0) + " " + } + } + return x + " Z" + } + }, + "新疆": { + getGeoJson: function(e) { + a(["./geoJson/xin_jiang_geo"], function(i) { + e(m(i)) + }) + } + }, + "西藏": { + getGeoJson: function(e) { + a(["./geoJson/xi_zang_geo"], function(i) { + e(m(i)) + }) + } + }, + "内蒙古": { + getGeoJson: function(e) { + a(["./geoJson/nei_meng_gu_geo"], function(i) { + e(m(i)) + }) + } + }, + "青海": { + getGeoJson: function(e) { + a(["./geoJson/qing_hai_geo"], function(i) { + e(m(i)) + }) + } + }, + "四川": { + getGeoJson: function(e) { + a(["./geoJson/si_chuan_geo"], function(i) { + e(m(i)) + }) + } + }, + "黑龙江": { + getGeoJson: function(e) { + a(["./geoJson/hei_long_jiang_geo"], function(i) { + e(m(i)) + }) + } + }, + "甘肃": { + getGeoJson: function(e) { + a(["./geoJson/gan_su_geo"], function(i) { + e(m(i)) + }) + } + }, + "云南": { + getGeoJson: function(e) { + a(["./geoJson/yun_nan_geo"], function(i) { + e(m(i)) + }) + } + }, + "广西": { + getGeoJson: function(e) { + a(["./geoJson/guang_xi_geo"], function(i) { + e(m(i)) + }) + } + }, + "湖南": { + getGeoJson: function(e) { + a(["./geoJson/hu_nan_geo"], function(i) { + e(m(i)) + }) + } + }, + "陕西": { + getGeoJson: function(e) { + a(["./geoJson/shan_xi_1_geo"], function(i) { + e(m(i)) + }) + } + }, + "广东": { + getGeoJson: function(e) { + a(["./geoJson/guang_dong_geo"], function(i) { + e(m(i)) + }) + } + }, + "吉林": { + getGeoJson: function(e) { + a(["./geoJson/ji_lin_geo"], function(i) { + e(m(i)) + }) + } + }, + "河北": { + getGeoJson: function(e) { + a(["./geoJson/he_bei_geo"], function(i) { + e(m(i)) + }) + } + }, + "湖北": { + getGeoJson: function(e) { + a(["./geoJson/hu_bei_geo"], function(i) { + e(m(i)) + }) + } + }, + "贵州": { + getGeoJson: function(e) { + a(["./geoJson/gui_zhou_geo"], function(i) { + e(m(i)) + }) + } + }, + "山东": { + getGeoJson: function(e) { + a(["./geoJson/shan_dong_geo"], function(i) { + e(m(i)) + }) + } + }, + "江西": { + getGeoJson: function(e) { + a(["./geoJson/jiang_xi_geo"], function(i) { + e(m(i)) + }) + } + }, + "河南": { + getGeoJson: function(e) { + a(["./geoJson/he_nan_geo"], function(i) { + e(m(i)) + }) + } + }, + "辽宁": { + getGeoJson: function(e) { + a(["./geoJson/liao_ning_geo"], function(i) { + e(m(i)) + }) + } + }, + "山西": { + getGeoJson: function(e) { + a(["./geoJson/shan_xi_2_geo"], function(i) { + e(m(i)) + }) + } + }, + "安徽": { + getGeoJson: function(e) { + a(["./geoJson/an_hui_geo"], function(i) { + e(m(i)) + }) + } + }, + "福建": { + getGeoJson: function(e) { + a(["./geoJson/fu_jian_geo"], function(i) { + e(m(i)) + }) + } + }, + "浙江": { + getGeoJson: function(e) { + a(["./geoJson/zhe_jiang_geo"], function(i) { + e(m(i)) + }) + } + }, + "江苏": { + getGeoJson: function(e) { + a(["./geoJson/jiang_su_geo"], function(i) { + e(m(i)) + }) + } + }, + "重庆": { + getGeoJson: function(e) { + a(["./geoJson/chong_qing_geo"], function(i) { + e(m(i)) + }) + } + }, + "宁夏": { + getGeoJson: function(e) { + a(["./geoJson/ning_xia_geo"], function(i) { + e(m(i)) + }) + } + }, + "海南": { + getGeoJson: function(e) { + a(["./geoJson/hai_nan_geo"], function(i) { + e(m(i)) + }) + } + }, + "台湾": { + getGeoJson: function(e) { + a(["./geoJson/tai_wan_geo"], function(i) { + e(m(i)) + }) + } + }, + "北京": { + getGeoJson: function(e) { + a(["./geoJson/bei_jing_geo"], function(i) { + e(m(i)) + }) + } + }, + "天津": { + getGeoJson: function(e) { + a(["./geoJson/tian_jin_geo"], function(i) { + e(m(i)) + }) + } + }, + "上海": { + getGeoJson: function(e) { + a(["./geoJson/shang_hai_geo"], function(i) { + e(m(i)) + }) + } + }, + "香港": { + getGeoJson: function(e) { + a(["./geoJson/xiang_gang_geo"], function(i) { + e(m(i)) + }) + } + }, + "澳门": { + getGeoJson: function(e) { + a(["./geoJson/ao_men_geo"], function(i) { + e(m(i)) + }) + } + } + }; + return { + decode: m, + params: l + } + }), d("echarts/util/mapData/textFixed", [], function() { + return { + "广东": [0, -10], + "香港": [10, 10], + "澳门": [-10, 18], + "黑龙江": [0, 20], + "天津": [5, 5], + "深圳市": [-35, 0], + "红河哈尼族彝族自治州": [0, 20], + "楚雄彝族自治州": [-5, 15], + "石河子市": [-5, 5], + "五家渠市": [0, -10], + "昌吉回族自治州": [10, 10], + "昌江黎族自治县": [0, 20], + "陵水黎族自治县": [0, 20], + "东方市": [0, 20], + "渭南市": [0, 20] + } + }), d("echarts/util/mapData/geoCoord", [], function() { + return { + Russia: [100, 60], + "United States of America": [-99, 38] + } + }), d("echarts/util/projection/svg", ["require", "zrender/shape/Path"], function(p) { + function B(a) { + return parseFloat(a || 0) + } + + function u(m) { + for (var s = m.firstChild; + "svg" != s.nodeName.toLowerCase() || 1 != s.nodeType;) { + s = s.nextSibling + } + var t = B(s.getAttribute("x")), + l = B(s.getAttribute("y")), + C = B(s.getAttribute("width")), + D = B(s.getAttribute("height")); + return { + left: t, + top: l, + width: C, + height: D + } + } + + function x(m, s) { + function o(a) { + var E = a.tagName; + if (w[E]) { + var C = w[E](a, r); + C && (C.scale = r, C.properties = { + name: a.getAttribute("name") || "" + }, C.id = a.id, A(C, a), l.push(C)) + } + for (var D = a.childNodes, n = 0, i = D.length; i > n; n++) { + o(D[n]) + } + } + var r = [s.scale.x, s.scale.y], + l = []; + return o(m), l + } + + function j(a, m) { + var l = m instanceof Array ? [1 * m[0], 1 * m[1]] : [1 * m.x, 1 * m.y]; + return [l[0] / a.scale.x, l[1] / a.scale.y] + } + + function y(a, m) { + var l = m instanceof Array ? [1 * m[0], 1 * m[1]] : [1 * m.x, 1 * m.y]; + return [l[0] * a.scale.x, l[1] * a.scale.y] + } + + function z(a) { + return a.replace(/^\s\s*/, "").replace(/\s\s*$/, "") + } + + function A(m, D) { + var r = D.getAttribute("fill"), + s = D.getAttribute("stroke"), + l = D.getAttribute("stroke-width"), + C = D.getAttribute("opacity"); + r && "none" != r ? (m.color = r, s ? (m.brushType = "both", m.strokeColor = s) : m.brushType = "fill") : s && "none" != s && (m.strokeColor = s, m.brushType = "stroke"), l && "none" != l && (m.lineWidth = parseFloat(l)), C && "none" != C && (m.opacity = parseFloat(C)) + } + + function v(m) { + for (var D = z(m).replace(/,/g, " ").split(/\s+/), r = [], s = 0; s < D.length;) { + var l = parseFloat(D[s++]), + C = parseFloat(D[s++]); + r.push([l, C]) + } + return r + } + var q = p("zrender/shape/Path"), + w = { + path: function(a, o) { + var l = a.getAttribute("d"), + m = q.prototype.getRect({ + path: l + }); + return { + shapeType: "path", + path: l, + cp: [(m.x + m.width / 2) * o[0], (m.y + m.height / 2) * o[1]] + } + }, + rect: function(m, s) { + var t = B(m.getAttribute("x")), + l = B(m.getAttribute("y")), + C = B(m.getAttribute("width")), + D = B(m.getAttribute("height")); + return { + shapeType: "rectangle", + x: t, + y: l, + width: C, + height: D, + cp: [(t + C / 2) * s[0], (l + D / 2) * s[1]] + } + }, + line: function(m, s) { + var t = B(m.getAttribute("x1")), + l = B(m.getAttribute("y1")), + C = B(m.getAttribute("x2")), + D = B(m.getAttribute("y2")); + return { + shapeType: "line", + xStart: t, + yStart: l, + xEnd: C, + yEnd: D, + cp: [0.5 * (t + C) * s[0], 0.5 * (l + D) * s[1]] + } + }, + circle: function(m, r) { + var s = B(m.getAttribute("cx")), + l = B(m.getAttribute("cy")), + t = B(m.getAttribute("r")); + return { + shapeType: "circle", + x: s, + y: l, + r: t, + cp: [s * r[0], l * r[1]] + } + }, + ellipse: function(m, D) { + var r = parseFloat(m.getAttribute("cx") || 0), + s = parseFloat(m.getAttribute("cy") || 0), + l = parseFloat(m.getAttribute("rx") || 0), + C = parseFloat(m.getAttribute("ry") || 0); + return { + shapeType: "ellipse", + x: r, + y: s, + a: l, + b: C, + cp: [r * D[0], s * D[1]] + } + }, + polygon: function(m, F) { + var s = m.getAttribute("points"), + C = [1 / 0, 1 / 0], + l = [-(1 / 0), -(1 / 0)]; + if (s) { + s = v(s); + for (var D = 0; D < s.length; D++) { + var E = s[D]; + C[0] = Math.min(E[0], C[0]), C[1] = Math.min(E[1], C[1]), l[0] = Math.max(E[0], l[0]), l[1] = Math.max(E[1], l[1]) + } + return { + shapeType: "polygon", + pointList: s, + cp: [(C[0] + l[0]) / 2 * F[0], (C[1] + l[1]) / 2 * F[0]] + } + } + }, + polyline: function(a, m) { + var l = w.polygon(a, m); + return l + } + }; + return { + getBbox: u, + geoJson2Path: x, + pos2geo: j, + geo2pos: y + } + }), d("echarts/util/projection/normal", [], function() { + function l(a, n) { + return n = n || {}, a.srcSize || u(a, n), a.srcSize + } + + function u(v, C) { + C = C || {}, s.xmin = 360, s.xmax = -360, s.ymin = 180, s.ymax = -180; + for (var x, z, r = v.features, A = 0, B = r.length; B > A; A++) { + if (z = r[A], !z.properties.name || !C[z.properties.name]) { + switch (z.type) { + case "Feature": + s[z.geometry.type](z.geometry.coordinates); + break; + case "GeometryCollection": + x = z.geometries; + for (var y = 0, w = x.length; w > y; y++) { + s[x[y].type](x[y].coordinates) + } + } + } + } + return v.srcSize = { + left: 1 * s.xmin.toFixed(4), + top: 1 * s.ymin.toFixed(4), + width: 1 * (s.xmax - s.xmin).toFixed(4), + height: 1 * (s.ymax - s.ymin).toFixed(4) + }, v + } + + function m(w, z, C) { + function o(a, i) { + t = a.type, G = a.coordinates, q._bbox = { + xmin: 360, + xmax: -360, + ymin: 180, + ymax: -180 + }, J = q[t](G), B.push({ + path: J, + cp: q.makePoint(i.properties.cp ? i.properties.cp : [(q._bbox.xmin + q._bbox.xmax) / 2, (q._bbox.ymin + q._bbox.ymax) / 2]), + properties: i.properties, + id: i.id + }) + } + C = C || {}, q.scale = null, q.offset = null, w.srcSize || u(w, C), z.offset = { + x: w.srcSize.left, + y: w.srcSize.top, + left: z.OffsetLeft || 0, + top: z.OffsetTop || 0 + }, q.scale = z.scale, q.offset = z.offset; + for (var E, F, A, x = w.features, B = [], I = 0, H = x.length; H > I; I++) { + if (A = x[I], !A.properties.name || !C[A.properties.name]) { + if ("Feature" == A.type) { + o(A.geometry, A) + } else { + if ("GeometryCollection" == A.type) { + E = A.geometries; + for (var v = 0, D = E.length; D > v; v++) { + F = E[v], o(F, F) + } + } + } + } + } + var t, G, J; + return B + } + + function p(a, v) { + var o, r; + return v instanceof Array ? (o = 1 * v[0], r = 1 * v[1]) : (o = 1 * v.x, r = 1 * v.y), o = o / a.scale.x + a.offset.x - 168.5, o = o > 180 ? o - 360 : o, r = 90 - (r / a.scale.y + a.offset.y), [o, r] + } + + function j(a, i) { + return q.offset = a.offset, q.scale = a.scale, q.makePoint(i instanceof Array ? [1 * i[0], 1 * i[1]] : [1 * i.x, 1 * i.y]) + } + var q = { + formatPoint: function(a) { + return [(a[0] < -168.5 && a[1] > 63.8 ? a[0] + 360 : a[0]) + 168.5, 90 - a[1]] + }, + makePoint: function(r) { + var x = this, + v = x.formatPoint(r); + x._bbox.xmin > r[0] && (x._bbox.xmin = r[0]), x._bbox.xmax < r[0] && (x._bbox.xmax = r[0]), x._bbox.ymin > r[1] && (x._bbox.ymin = r[1]), x._bbox.ymax < r[1] && (x._bbox.ymax = r[1]); + var w = (v[0] - q.offset.x) * q.scale.x + q.offset.left, + o = (v[1] - q.offset.y) * q.scale.y + q.offset.top; + return [w, o] + }, + Point: function(a) { + return a = this.makePoint(a), a.join(",") + }, + LineString: function(r) { + for (var x, v = "", w = 0, o = r.length; o > w; w++) { + x = q.makePoint(r[w]), v = 0 === w ? "M" + x.join(",") : v + "L" + x.join(",") + } + return v + }, + Polygon: function(a) { + for (var v = "", o = 0, r = a.length; r > o; o++) { + v = v + q.LineString(a[o]) + "z" + } + return v + }, + MultiPoint: function(a) { + for (var v = [], o = 0, r = a.length; r > o; o++) { + v.push(q.Point(a[o])) + } + return v + }, + MultiLineString: function(a) { + for (var v = "", o = 0, r = a.length; r > o; o++) { + v += q.LineString(a[o]) + } + return v + }, + MultiPolygon: function(a) { + for (var v = "", o = 0, r = a.length; r > o; o++) { + v += q.Polygon(a[o]) + } + return v + } + }, + s = { + formatPoint: q.formatPoint, + makePoint: function(r) { + var x = this, + v = x.formatPoint(r), + w = v[0], + o = v[1]; + x.xmin > w && (x.xmin = w), x.xmax < w && (x.xmax = w), x.ymin > o && (x.ymin = o), x.ymax < o && (x.ymax = o) + }, + Point: function(a) { + this.makePoint(a) + }, + LineString: function(a) { + for (var o = 0, n = a.length; n > o; o++) { + this.makePoint(a[o]) + } + }, + Polygon: function(a) { + for (var o = 0, n = a.length; n > o; o++) { + this.LineString(a[o]) + } + }, + MultiPoint: function(a) { + for (var o = 0, n = a.length; n > o; o++) { + this.Point(a[o]) + } + }, + MultiLineString: function(a) { + for (var o = 0, n = a.length; n > o; o++) { + this.LineString(a[o]) + } + }, + MultiPolygon: function(a) { + for (var o = 0, n = a.length; n > o; o++) { + this.Polygon(a[o]) + } + } + }; + return { + getBbox: l, + geoJson2Path: m, + pos2geo: p, + geo2pos: j + } + }), d("echarts/util/mapData/geoJson/an_hui_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "3415", + properties: { + name: "六安市", + cp: [116.3123, 31.8329], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nJUXUV°UÑnU@mlLVaVln@@bn@VU@xlb@lLnKlVIJUVxnI@lVL@b°VX@bxnVVUnVVnU@kX@VwV@al¥UUnUWa@@wĸULU¥lKUa@aUI@alLVaU¯anWkUKm@XV@VaXlW@aU_UWVUI¯@ma¯W¯I@UU@WWU@U@@UU@VkV@@WUUm@UaU@lK@IUKL@KWmXUWaXI@@a@a@U@U@KV¥lwk°b²JVIVKlV@UXlaUl`UVLVVVUJU@Lnm@_VK@KUIW@J@Xk@WW@UmmXmWk@kK@aUUVmmkUwUmWL@WmU@UJmUULkKWakLWVkIlwULW@X°lUJ@°ULWVwmJ@bmb¯Vkm@@WkWm¯wL@lkXWmXym¯UImJUbkV@Vn¯@V@lUb@mk@maUxmlUbULWn@JLmKUkWKkwUKbmXWxkVUKmLkVV@JUUWL@xkJUUV@X@VVlUbVX@xk¤x¼xWxnnn@Þ¼JVb°aVn@mlnXUJlbVlkz@lUlXJmxVxXnWxXÈWlU@UxU@VX@xUL@UÆmLnV@lWXk@@JlbXblnlJ"], + encodeOffsets: [ + [118710, 33351] + ] + } + }, { + type: "Feature", + id: "3408", + properties: { + name: "安庆市", + cp: [116.7517, 30.5255], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@n°znWXlW@kK°xXnl@Xn@l°Una@anIxXUVK@¯VIkW¯X@VKxklJXUlKXblLVKnVVIV@Xn@XKVnVxlnnUlmV@²óUkVlWbln@VVVIn@lw@WVIXblV@ÈxaUaVIVVnKVLKln@b²K@»U£ÑķġÝÅbKa@Im@Û@kWÓkkmKÅnóJUÅ£W@wĕ@wĉţ¯¯UkK±l¯U¥UÑkÝUķ»Ý¥¯JIUVbUl¯ÈV¼VJU¼Vb@bkLUl@VJ@bUXÇ@lkVmXmKkLVxVL@VkVVVlzWkbmLUUUbVbUVlÒnJlUnLllUL@bUVxlLXVƦÈVU¦WJ"], + encodeOffsets: [ + [118834, 31759] + ] + } + }, { + type: "Feature", + id: "3411", + properties: { + name: "滁州市", + cp: [118.1909, 32.536], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@`nnl@xK@X°KXVIXVlbXVWnXlL@È»LVan@VJêVVn@X@laÞbVayn@_xnWVXnWl@VnUVkI@lnXKVLVV@V@kW@LlVô@J@bVnnKnkVa@»lç@nwKmaUUUVÑ@nmWXalI@alVn@VwUaVU@nlaôJnUVVXlJaXXVK@UV@VWx@nXVWXVUlLUbVULVVnUVbUbVb@@aKÆnnKVK@U@UU@@a@V°¯ÈJVIlķ@aaUaVKU_@mkxUI@aUlyU@@wkKWmUbUnUVWbkJW_J@bn@Vm@@KULk@V@@bVbÅm@LW@UVVbkK@UkKWL@VULUKWIUJUbkK@_WVXUJka@XVa@ky@aVIUUW@@mUlLKWÑUKVan@UkVmmIXKaVaUwVU@UmykU¯@±UUL@WUIVUU@KkIWaaU@kUUaÇUó»mKk¯@y@kWK@bkI¯`mnl¯XWlkVUzUJlbUbVJl@nnm@VULV`XnWÆbmUUnJmUknJ¯km@yk@kUxL@VUbmnn¤lX@`z@JmaULUVl@Xn@xllkXWaaW@UVmUb@mVXWxXbWbUÒnVVnVVUL"], + encodeOffsets: [ + [120004, 33520] + ] + } + }, { + type: "Feature", + id: "3418", + properties: { + name: "宣城市", + cp: [118.8062, 30.6244], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Vb@XLJXxlIXxlVlV@I²¤nlUnVU@VULWVUJ@Lnb@lV@UnV@@VVVlLnbnJUVkUUVWn@@anUVnVJVIV@@nUJVbUb@VUbVK@bn@VbnIlxkllXVlXKWUXUlL°¤UVVb@bUlkXWxXz@IlaUlnUlJVInVÆJULVUnVK°@VnlVnxV@XLlK@wVL@KnUlJXUbnKVLXlUw@VWlLXKm@@a@VLnmlIVVnKn@kVaVlwk@@a@k@VIUa@maUa@wna@kmWUUmVUIVÇ@aKmakUJ@InmUUaVaklX@Vk@m@VU@wnK@alKVUkUkKbmUkm@U£WVk@@UÝbbaÇx@b@WVUa¯@wVwUUV@VwnK@KWaÅ@KIUyUI@WmXóUbWaKm@km@IUyIUaWKx@zUKUL@llVUnkLVVkJWX@VUKUVIkVWakb@VWb@n@JkXUlmL@xkL@`VxLUÈUJ@Vm@@bmIUlUL@VUVVbknm@mKUwKVÈ@J@LV±kkJUIl"], + encodeOffsets: [ + [120803, 31247] + ] + } + }, { + type: "Feature", + id: "3412", + properties: { + name: "阜阳市", + cp: [115.7629, 32.9919], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Vn@ak°a±@¥@UUI@aUmlwUUxb@¥XU@mmI@a@Kn@@_W@@WI@mUVVXUl@XaV@K@I@aLX@aVI°K@KVLUUwyXkK@kKÆbXnlK@k@aJlU@w@U@»@aXKWn_JXkVKn@°LlKXW@¯U@aUK@kmJUwVIUJkmLK@kka@wUVm@@am@UkUbkK@nmVÒ¯VUWVVmIULk@ma@kkK@nUbUamU`UUVUkKVkkW@@bkmnmUXVKXVL@VbUmbVXJ@nmKÅI@KWKUXVJUL@VUKUX@KUKWL@LUJmaXXm@kVVV@L@VUL@VlK@L@V@LUK@VUb@UUU@°@nVxU`Lkn@`@XVJ@XVmk@UKmV¯LVVn±Wm@Ub@JlLUl@VLk@lmVVn@bnV@V°IVaVJXI°K°V@XXVlVVUnKVlUbWXnV@bV`U@@m@@@nxmn@bXVlL@¤nbUl¦VVUnJVUVl@@bÞL"], + encodeOffsets: [ + [118418, 34392] + ] + } + }, { + type: "Feature", + id: "3413", + properties: { + name: "宿州市", + cp: [117.5208, 33.6841], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@UWU@bkW@aWU@aUIkWVlLXblVIUVV@mn@V_n@VaUK@I@UaanJVU@lVUVnnKVVlaUaI@wnKLnll@nVlk@wVKXkl@@bbUJ@VU@UUUyVk@aVUXwlWXXWU¹@aU@WUI@mlUnJ@Il@aXbV@VKl@XxVL@WIJlb@al@IUUm@@aVK@¥¯@mUķ¯bWk£Vm@akm@VaÅ@UVWa@UJWkJUbWbU@UlXk@amV@K¯nk@lU@Uxmz@bU`ÇbUbÅVm£U@Wwx@akLUK@UlakwUJWVkLmaUal@n_mVUnKVUUmÅXWa@kJmx@XUJ@bVLXxl@VVUVVUbkLWbU@@lUVVVVXK@XkJ@nU@@bV@VxUVlbU@xXLWn@UxVbVĊV@b@XV`mnkJ@kUKmbaU@VbnbÆx@XU@@`k@@bl@@bkL@WakXWaU@Vmkx@XWW@@wUUUbJU¯V@¯ÞU@WxXlL@bkb@lVlnbJW@kkU@mbkaWJIVlmz¯`UnU@mb@@`@bkVlnV@b@V@aVxn@VxKXnl@nbVKbVK@a_V@Vw@WLlwnK@UmIU@VW@UÈ@lKnalw@@V°@aUmlUUw@V@@UXK"], + encodeOffsets: [ + [119836, 35061] + ] + } + }, { + type: "Feature", + id: "3410", + properties: { + name: "黄山市", + cp: [118.0481, 29.9542], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lXnlWX@VUJVnUJVzXJVxkVJlI²lU@K@IUÇLVxnLn@lmUaVU@UVKVknJ@an@@UVIVÇKUw@_lK@wnKVklW@I@mXa@UlaXblUJVUVL@UXWlIUUlKVmkU@kVKVL@ywXLVbJVz@Jln@nLXbVaônW@la@UVWUa@@a@mk@WIk@VwUa¯¥m@UUVK@ImK@aX£kKÅVa_@±akXWWLnU@@a@¯mK@LJUWwUVVmbXX@lWLn`mzUJUbLk@makVWmkXambkKkna@ab@U@Unm@WV@VbUbUJWIk@@lmL@°UVUVmn@@kmWkb@x_m@@aU@b@JlUzlWxXn@b²@l`IVlUlL@VKnVbUl@VlIn@@bbVWUk@@bX@Valb@bnb°Vn@xVKlbVnV@VxL@ln@UXVVL"], + encodeOffsets: [ + [120747, 31095] + ] + } + }, { + type: "Feature", + id: "3414", + properties: { + name: "巢湖市", + cp: [117.7734, 31.4978], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VV@blL@XlWnnn@VXXl@@WIX@VJ@LxŎxln@bXJVblX@VVbUVn@VbUVlb@LnJVbVLVXLÒVLÒVbVIVylUXk°Wknm°_lJ@aXL@lz°@lnLô¼VÈVUUaVKU@WW@@UUa@knmVLlaV@a@kak±@UmwkKmkljÝUUkL@mlIVmnÝWkkUÝ@KƑĉa@»mma@mX¤¯Uw@@UU@bU±±L@akmLUKmLUUUJVbbÇw@kUWaUJ@Xkxm@UJUUm@kakXUVl±ôU@kn"], + encodeOffsets: [ + [119847, 32007] + ] + } + }, { + type: "Feature", + id: "3416", + properties: { + name: "亳州市", + cp: [116.1914, 33.4698], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lU@Un@@anUlw@KVmUwlaX_lKna@KU@@kWKUU@ankWXK@@V²VVIÈU@al@VaÈamK@wU@klaUV@XVUU»WUUbkmUkVmk@aÈw@mWU@VkIkVWKUÑķXȭºU¯l@kkLWmÅaL@lLWlzVxVUK@L¯LUJ@bWK@b@JLU@Wbk@WVUUV@nJ@XX@@`m@@L@bnJ@nWV@¦awVVkxVn@bVJ@V¦@²¯blb@mUU@¼¦XbUV`@nnxUxWLkUkVWKkV@XV@@VVL@VX@lVV@L@blL@`L@xXKVL@VnU@lwnU@ml@XnV@@UVW°LnalUI@aUK@aa@UkXW@I@mWL@UXK@UVW@U@@kWn@@V@XblaVxL@bVKXbIlJ"], + encodeOffsets: [ + [119183, 34594] + ] + } + }, { + type: "Feature", + id: "3417", + properties: { + name: "池州市", + cp: [117.3889, 30.2014], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@V°°ĊŤ@xĖ@xXƤVôIÆmnLllXÔ@lÜn@@JbLÆaĢÞĸ°VVUUKVanK@UV@VLVVnln@xnklxXamk@WV@Xa@naVkKlk@mkUWwkJWwIWK@UaUwWIUyVIUmVI@UXWmkkWKUUVWm@@kKw@UUUmkaULwm@¯Uma@akaUbW@@a@VlUXa@am@kJ@UVkUamL@UkKVUkJk_±@a@WmXwÇkkaVaUa±wV@VkwnyUaW@UU¯amLk@m@kmmU¯K@L@lUX¯WlkXVbbVUL@J@LVKnlJXnlb@`nXlalV@bnL@Vnb¼@lXbWlkLK@zUJmIUxUVUVmX", "@@llUL@VlxL@a@UwXa¯@"], + encodeOffsets: [ + [119543, 30781], + [120061, 31152] + ] + } + }, { + type: "Feature", + id: "3401", + properties: { + name: "合肥市", + cp: [117.29, 32.0581], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@LxVĊLÞkVlVVXaWaXwWnU@anVVUX@bXblWkk@wWmk@VUVKnb@Iy@_kWm£nmVa@UKwlVl@zn@°lIlmnVIVmnVaXÅWmU_VK@Unmmk@UIVakaaUÑUKÑWKUUKUamI@KkaVUUam@VUUa@UkWUaWI@akmōwwUL@`mn@KVIUVUUUKVk_VkbW@VkUULUJ±I¯alkxU¦@L@V@V@b@b@WJXbWVXn@LKVL@JkLV@Vbn@VV@XU@UlV@@VV@V@XXV@@VJ°°Xnb°@JUVVXV`@bkXWUbU@Wn@VLXlm°bVUbkK@bVJ@bVbkLV¦KķV@x@XbmVVVk¦"], + encodeOffsets: [ + [119678, 33323] + ] + } + }, { + type: "Feature", + id: "3403", + properties: { + name: "蚌埠市", + cp: [117.4109, 33.1073], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VÒXLlUlJ@UXV@nÇx@bnlUVllnVaXVV¼UVWU@V²wVV@Vl@VnwlI@XbÆWVnUVmLUVnm`k@VbnblKXUVIlxkb@VVLlK@bwXxV@n¤ÆUVaÈaV_@anyVwV@kl@°m@LnUbl@WVkV@XaaVIXlIV@XbVUÆ@XKWwUkmW@_UmnIlJXkWKXmV@w@_XV@Kl@kU@KlX@@UUUUKWLm@klJVUUmk@mXUWmXw`m@zUbÝakbW@m@UUéUIm@UbKǼ@kKWXmWUkaWUJWU¯L@WLwk@mm@_ÅlUVkmWUnV@VWLUbbƑĬ¯l"], + encodeOffsets: [ + [119543, 33722] + ] + } + }, { + type: "Feature", + id: "3402", + properties: { + name: "芜湖市", + cp: [118.3557, 31.0858], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@bVaV@XllLXU°lL@V@VUnVl¯IkVUVU@@b@lUXUWmbn@¼bƒĊLÞ@lVXlmÞUnkJ@nlKVVÞXklWVaVI@aUKn»lL@Kn@XXwlm@mn°@V@WywXlWVk@aUaVU¯£kKWVXVWLUkkWlkkwmJUam@@aULVa@UVaUaVI@m@UUJUIUmmV@bm@UXVVUlVmImakKUU@UU@VmU@@kma@KVIXUVK@UVmUkVm±£@JkU@nlkLUlmb@WbU@@XnlWb"], + encodeOffsets: [ + [120814, 31585] + ] + } + }, { + type: "Feature", + id: "3406", + properties: { + name: "淮北市", + cp: [116.6968, 33.6896], + childNum: 3 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@lnnK@¦n@@VV@@VV@nIVV@VW²a@b@bVnUVVV@Vz@l@°UVIVaVV@x@XX@WlwUnV@XblWb@XlK@a@k@al@@_V@@WÅwmaUaV@bnaVL@llInmU_@W@aUUĉUaVwm@XWK@wVkaVUUwU@@aV@@mlI@WLWUUUVU@kV@XalKVaUVUUUk@WwUK@aVI@WUk@@UUU±xkb@lV@xnLÇbUbk@@bÇVUJ±U@U@WLXml@bVVXL@lV@@LmbkLW`kbVxUn@LkxmV@bm@@VkV"], + ["@@VVVkV@¥@UV@U@VUUJkWakKUlXVJ@bXV@blX@aXV@V"] + ], + encodeOffsets: [ + [ + [119183, 34594] + ], + [ + [119836, 35061] + ] + ] + } + }, { + type: "Feature", + id: "3404", + properties: { + name: "淮南市", + cp: [116.7847, 32.7722], + childNum: 2 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°kƒīaVaXK@UUVmnXUlVÆkVKUUUmmUÑkUUÝlĉKUwKbU@UxW@@lmVUUVmUUmwaWkL¯K@mULWlIm`XWL@b@¼@V@xkVI@b@l@lkV°Ȯ¹ĸW"], + encodeOffsets: [ + [119543, 33722] + ] + } + }, { + type: "Feature", + id: "3405", + properties: { + name: "马鞍山市", + cp: [118.6304, 31.5363], + childNum: 2 + }, + geometry: { + type: "Polygon", + coordinates: ["@@NJnllLnxV@laXLVKmaaXbVIbVKVVVIVyn@n_W@@UnJlUVVXlLnaUWlV@VVIXW@_W@XK@K@UVUUwVamÑXmmwwKUnUKçU@JU¯@m@nknWxWm@@LkKm¼VL@bUJUbkXWl"], + encodeOffsets: [ + [121219, 32288] + ] + } + }, { + type: "Feature", + id: "3407", + properties: { + name: "铜陵市", + cp: [117.9382, 30.9375], + childNum: 3 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ÒV¤@¼V²@aVV@@x°V£nW@nbnaVXVW@k@aV@VUUl°JUkVm@U@UkK¯WVkKWkU@Ubakwmlwm@kUmUUKU@@VmLUbVLUV¯U"], + ["@@LllUL@VlxL@a@UwXamK"] + ], + encodeOffsets: [ + [ + [120522, 31529] + ], + [ + [120094, 31146] + ] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/ao_men_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "8200", + properties: { + name: "澳门", + cp: [113.5715, 22.1583], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@HQFMDIDGBI@E@EEKEGCEIGGEKEMGSEU@CBEDAJAP@F@LBT@JCHMPOdADCFADAB@LFLDFFP@DAB@@AF@D@B@@FBD@FADHBBHAD@FAJ@JEDCJI`gFIJW"], + encodeOffsets: [ + [116325, 22699] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/bei_jing_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "110228", + properties: { + name: "密云县", + cp: [117.0923, 40.5121], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@vIHZDZQtDLNMXIbHRCXXITbJ@H`LGPRDDJNCLHTOCWFGvGBUJMKGFO^IHWXITQCIY^AXGfRDXF`DJOLB~G\\DZIHHpErUVMhHb]\\MBVF@FTP`@zTbD\\@~M\\K`H^EVODWICAakAQXoIcCOCIgGYNWFWNGGKKGaJEGMEIKYJUT_J_Go@_SyQaSFMEGTcYOQLIIi@EKAUPCV[EEXQCW|aMUMAaYCYNIDGGACIMGGSKDQGaF_C[GaB@GOIiOKAYLmI@CN]F[SWWAcKKI@HMUimEKbeYQYISNUOcBKPIFBNgvDPGZYFSf]CMSIWGEUFgDIQ[MeDMJS@RR@LphFPCHaBAJKF@J]IBJO@HlO@@RKAMPJHCNDJTHFP@ZGNANBRFH@J_fM^ONJNF\\VTDJHDON@XRND\\XRCPVETCLBVKDFJINHRGPRV@\\CLJN@VbXbLVT"], + encodeOffsets: [ + [119561, 41684] + ] + } + }, { + type: "Feature", + id: "110116", + properties: { + name: "怀柔区", + cp: [116.6377, 40.6219], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@JHTVHXCHPfnDJGHNDJSB[JSBGVSAOH@PMPuDEHHXZN@PHF@ZLJ@LHVYJA\\OFWP]BMtMBSRGV[JeVAPQVIFENMD¡@^NV\\JH@NNL@NM\\kTQ\\I^FNIpBHGTBFFAZQfKDIXQTLXFXNNVMVHRGpCFLlRLEVBBH`IVO\\G`RDPAXLXBXORHZEHTDLLN@VGTMrQNFPeASKG@GMOAKBYMK@GTUHUXSHMVDNMOUEOZMJML@^KRACMZEZMRQLUHE@OFENPR@DI\\ChMHIDG\\GJMDWHCKGMDCIQCHO_K@GaIJSWWQDaGWJMNCKRsCYGYuJUSaKaW@UIMDK@[QUHOGQJMEILCAUDKFSOUQD[WMCQ@WPMGCCIUSE[IMPMN]`e@IEGAQBMHM@YEOSGCIDMIGNOLB@QP@GkP@AI^J@ILEBIbADGEOog@KQQWSekWQQUOFKZLF@PUNmIaHIUeBCTSHENcJa@_IWSaGu`GLSBKJQFOXGDXVQVOBIHcDSJWBEFGTMH[^mLaXcHiKElTRKtFXZ`MHMPCNRDxZB\\ICIHK@KHbIVFZ@BPnGTGbDXRDJaZKRiGEFSFEJhjFNZFjn"], + encodeOffsets: [ + [119314, 41552] + ] + } + }, { + type: "Feature", + id: "110111", + properties: { + name: "房山区", + cp: [115.8453, 39.7163], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@h@bl@HRJDZ``TA\\VVD^H`\\pF\\J`JGv@ZO\\GPSTEjPTR`FnEbDTDHEhLFMTK@ETSPULKEI@OVISKSJACEQNQbVIXGDIN@dMB[IIBcN]ZHNLP@XOWCFWCNRHTpATD@^NVNLED@Rh@jCEF}E[OOHUEW]W@QGGDIQSH_MmFmCUT_K]i@MHCMWFCFE{BMHMPOHKS]CFNGBELDH_@BcAKOACESAOBELaXAROB@FODMEDWJAG[aE@UM@DImEWJMC@OeCA{aE[@{L@MINUCQXKfUJORCHqJBF@TCXWNQX]M[EAJO@@KMBQJIC]EWMCCUBEBFHKDOTMBGNGF]MWDBRDdMDQVyE@LPVHDCP@JVVMTG~HNSH[CmRUvHPHBbA\\PTNRC\\YNJPRARPJDDR"], + encodeOffsets: [ + [118343, 40770] + ] + } + }, { + type: "Feature", + id: "110229", + properties: { + name: "延庆县", + cp: [116.1543, 40.5286], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@^AXOPEB[ZIGU@KKI@YGE@OYMGWFGvCNO@OPGTBHUTA\\ITACIGMIHmCOeDGGWSUIGimYEEMgiFITEFEjHLQbYCIWQaCSHmHAOY@UEaJG@LGLDJ[JAwYQCDMNONGY_EWLsSQFkMO[NWAIGaIYL@HMBOKiOQDWEUDMQSF_QIUBWdg@[NaAKQ@M]OQ@WhgLUMMFYQDIRCEUZOOCIOJ[KIUMKL@HIDKVEBM`HJAJSJUdBLGNEdMBMO[BYEWJSNKNaD]PE\\SjOT_RQVEZPpNQXfNA~lNG`@PNLp¼RFLfbdKbATUh@FSNWjGFZVLFHVA~X¨PPROfFJbNJPLFbENJPrEFNPFRHDDJdENJLVEPBJTVTHGHFRFH@PXP\\ORQHW\\BjWFDERLPPBbB\\E`B\\D\\L`@F]FCnJ^AZL"], + encodeOffsets: [ + [119262, 41751] + ] + } + }, { + type: "Feature", + id: "110109", + properties: { + name: "门头沟区", + cp: [115.8, 39.9957], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@V@XMnGPY²JQNEhH\\AZMPDVTTDZCPiJkHSHCjIdFtEHITCNITQEKUAMCEIKCECABYESKFWAKBEIIHABGDCKCAIHMHALKEI\\CFIBILIJQZS]BBEECS@E@@C]COKI@CABAAEEDMGCH]A[M@CJWHJaUMRFRBDTITLUJ@PFJKLOVST@FSLENgKGFSCaCmF_ESQiOSFOT[HYPu@IH_[IoE_[]GUC[USB__CYQI@Gakg@qZeHQNMNV\\FVLPgJAFJPRLCH[XcPELUT[JiV_EELFTADBXRTRLJC@fHXHHbPd`fR@NfT`@TLplHMpCEJHJBVLF@JTVnG^KXDXHNVGRLRXFJVdDHSNWLGfEzA"], + encodeOffsets: [ + [118635, 41113] + ] + } + }, { + type: "Feature", + id: "110114", + properties: { + name: "昌平区", + cp: [116.1777, 40.2134], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VNLJI\\JPPDYPFVQDCJZRNEVNhKXgR@^P@NLRbB\\Mh@XcVARJE`RTCNFVXRCjPPLNA@GZKbJJHXB\\MNPjLdGbWnK\\]NGHSFEXATIdCJGPARUWUHCPWRELITAHKv_E@iYCaW_BQ\\Y@QIO@QDCIGZCEMWGFMFAFgHEDOCSqKCCFGAMKEAC@ODGCGs@WH@KQA@EE@CE@GEA@EH@GGUEEJEAYD@JM@@DAA@FHD@FTJEHUC@JUBKCKG@G[CIIQReAYhO@OXGDO@@FF@IHJFCPEBACBIAAKDOABXARHPNEHGbQAAKQFGIAM[C@WHKaGiCEGOAHUKCIokSCUSOCYN[BgGMFIR±OZmHWNU@ShbbXDHVXXGJ^lZ@PZ\\Nb@\\FHJAD"], + encodeOffsets: [ + [118750, 41232] + ] + } + }, { + type: "Feature", + id: "110115", + properties: { + name: "大兴区", + cp: [116.4716, 39.6352], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@F\\E~DFN@BDFEpHFCHBBEGCDCJBHUDSBB@ELCPbF@B\\J@BJVAFJ\\ADKTCBGECFMT@BMN@@FH@DaNBEnvB@FPBATK@FHEFIAKFBFL@@PKBFJHC@FXBRAFCDMPDTOL@JIVFDHH@DDH@BGRFCDLD@N^@@CNA@KNOAEBCECFEGCFGMGFIPMOEJOLBADBBHGG@GCHIECY@INC@DMGS\\AIOZAAEYA@GT@KKMBEETCGMVINFxA@MJADB@FlA@HJA@NND@DFA@DVAZBBOFKH_JA@K^GBC@EFEG@gAENMXKJigC@IbSJMqGOP£RGSMGE@kbQFDPEFiBSGGSBK]I{CDWCIDOic[C_G@SuSO@EWKCO@MNY@\\uZOPENQD[LKESSKGBKEG@EJGAGHoH¥CqhifeJkX_XFFGHFNEDFPENKHM^IFIVL^S`DVEnNnG`RTCJHH@R^XFXGVPP"], + encodeOffsets: [ + [119042, 40704] + ] + } + }, { + type: "Feature", + id: "110113", + properties: { + name: "顺义区", + cp: [116.7242, 40.1619], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@EhEBENXHFNYDJHCD@RJP@R[ZARX`DbjZF@bHXT`Jb@dIFMTGDSfAJVbGnJVM@OKELYPERVXRflXTT@NIfC\\NJRhCVEHFJXNT^DTeZEHYCOhuAMJELOdAVPTMOWBWNMNEJgl]@WGUFIC[T{EEDEHGCIGMI@SECUQI[D{A{GQESPUH]CsiMCmHUeoHENcAaDGCMDGMQCACCBaCGLMAHB@DIEQLOAAEEJ@CW@CDINGAAGKQOCgV@LG@BEGDKNeREFBNCFIDOPKD[@YRW@GFWDAFE@EHDDrLDTCPGF", "@@KrJEH[\\B@FF@CHFBHUNAJKADGECBCMAG^E@EbI@BEGP"], + encodeOffsets: [ + [119283, 41084], + [119377, 41046] + ] + } + }, { + type: "Feature", + id: "110117", + properties: { + name: "平谷区", + cp: [117.1706, 40.2052], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ZJZRafFLjnVGNJ@LLBdXX\\T^EDMJ@nZKLBjPPJ@HbA\\H`DbERHLCFK^BZaFWXQLAGMHa\\OLO@SBIpBdCLVQfElO@GSAKEDQTC@GEBKG@ORIJBDAPDFA@CaOq@GGQAAEJK@KMUGAAGEAa@MGMBGCGSIIW@WSUCMDOJeWOM@IUF{WMWaDIMgIoRoCOKeEOEAG_I[cg@wLIFENQFDVTFJ@HNDJGHCFFFS|D\\EJHV@Xk^IhMFMNAXPX"], + encodeOffsets: [ + [119748, 41190] + ] + } + }, { + type: "Feature", + id: "110112", + properties: { + name: "通州区", + cp: [116.7297, 39.8131], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@FDAJTGDNDCTDDEDBBE@DT@@EHCDGJ@EIZ@@FDBR@ATFBBVFFE@@HNA\\VE@CLIFNJFNJBCP]A@LJFA@HJEDD\\C@DBCHLAEPF@@DH@APHAERDF\\GIxDTM@CFLBBFJ@CNUPMHECGDBF]BMFPDLRBHHBJMDCX@@DFIBFPBRKJF@CGANBHKbDDABDRDHNNCHDbCdBFMpGHiOYMefKJMC}HWAUNW\\NNBNAkNU|]HMTMN@MZBLFFF@RIRUTBMFIEGaAGGAOIIUGTSFcYKS@MSLYPKRUBU]EWDOI]CKGASgW@MTWKIMCS@uMAKKADMECGAKVUTSDy@IjWLMNBF@hHEF@FAD]H@LIBG`ELAPYAUB@CEB@CMC@MIB@GkB@ECAIB@NwBMEUJHNSDFFNALLS@@HZBBFYBJP[BHTCND@JMZ@FDGJHDH@GHAABCKAIPPFONEJNHEHHDEFFDADBFMP@L"], + encodeOffsets: [ + [119329, 40782] + ] + } + }, { + type: "Feature", + id: "110105", + properties: { + name: "朝阳区", + cp: [116.4977, 39.949], + childNum: 2 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@bFGHBHFBFIVFHHG@@FFB@HDFF@@FRB@LXGt@DHCH@PBDLFBNF@BEXCHEX@ZQ\\@LCPOJCDEAMFEfQLMHCAFH@@KhUNE^AAEHCFDNGVODMI@AEKADEN@CSJw[HCEFQGBBOG@@CE@FOKBDGCAD@C[FCGIB@IE@K^BDOIAEMMIJEDKF@[UMB@GF@EEAUEABSQ@CA@EY@FJI@CHGD@FS@@CAFCACFSCCDCMSHBIECMB@D]@@MKCDCQEAHG@CCG@CGUEIJK@SPOCCNEDQBDNDB@DJCDLFCBBALJB@BVGPBKVO@KHCCCD@FE@BNA@FNCTDDJA@FGB@NBDW@CL@hT@@ZHHQDDDAFSAANBC@HG@EFS@@DE@@PCB@Ue@CADNJB@FCBWA@LI^ix@FIHrH"], + ["@@HUNAJKADGECBCMAG^E@EbI@BEGPKrJEH[\\B@FF@CHFB"] + ], + encodeOffsets: [ + [ + [119169, 40992] + ], + [ + [119398, 41063] + ] + ] + } + }, { + type: "Feature", + id: "110108", + properties: { + name: "海淀区", + cp: [116.2202, 40.0239], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@plDJVLGPBFHjDbHGL@X\\DBNHJREBLRBHaFGMGOBQAWPBLCBBAJBDFADOIEJGE@@EP@HCPWP@ZgfBRQJJ\\D@HLHLDVA@IVDFGSI@EGC@EBB@CN@@IZCAGHGaEqGJG@EjwJ]@K@GSA@e_I@NE@CA@Kg@KC@ENCFAKQAW@WIMK@V@I@@F@^EDFB@HcIaDYCBRRDCHD@EFLN@FE@CJUPEJOJMTBPEDIFCMIAKNOGMRFJNDVBFLSRMJSDGJsFcEiJGDGTIlOjYD"], + encodeOffsets: [ + [118834, 41050] + ] + } + }, { + type: "Feature", + id: "110106", + properties: { + name: "丰台区", + cp: [116.2683, 39.8309], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@hMN@NFTQCFRCBJFA@HJ@@HJ@HJ\\FTACD@@UNLXJX@@MA@@IECAQlDFEHBDI~D@GXCFMVDFCH@@NF@ANJC@FnAB@AMF@@EDCDDLGP@LUOAUH@AIABKAAEDCKID@CCACMWA@EGDEILA@OK@AELEJBFEEGL@BSOA@EuAFmMACbG@@EM@ANS@ENFDAHSDCL[BEIUBAII@A[E@OaKD@FAACTGVIACDHDAFGAEDoGEFACM@ig@@QFCMKMU@]SCoBGSMQDEXXDWPO@MKYGM^AdJJA\\cNB\\G^DNHFCBFABDBJ@PL^D@DF@T@FDAF^A"], + encodeOffsets: [ + [118958, 40846] + ] + } + }, { + type: "Feature", + id: "110107", + properties: { + name: "石景山区", + cp: [116.1887, 39.9346], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@NQPHLMJBDNJEFCAONSPIFIVODIF@@EKMFEC@DGQCAQZDbCdJ@GEAFC@]@EJ@DCSB[EGII@@GI@@GEBAIQDDESRMEM@gNYTIRKJAJEJ[DFJKLGBGNBJLDCDAHGBJJAFBLEXTLZFBAFDLD"], + encodeOffsets: [ + [118940, 40953] + ] + } + }, { + type: "Feature", + id: "110102", + properties: { + name: "西城区", + cp: [116.3631, 39.9353], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XBDA@EIACM@IJAD]BC@SFABISAD]H@@OAEDQEW@BLEMD@FLDh@@LDBF@@M`J@fTB@H"], + encodeOffsets: [ + [119175, 40932] + ] + } + }, { + type: "Feature", + id: "110101", + properties: { + name: "东城区", + cp: [116.418, 39.9367], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@DBf@@VDA@OF@@CT@FEH@@GADBMTBBECCRCGG@YS@@gDK@AC@PG@C^TBAJEB@TADC^IB@J"], + encodeOffsets: [ + [119182, 40921] + ] + } + }, { + type: "Feature", + id: "110104", + properties: { + name: "宣武区", + cp: [116.3603, 39.8852], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@RBX@RFFCBFU@aK@WA}CCJGAEFkCBRFD@JB@@N"], + encodeOffsets: [ + [119118, 40855] + ] + } + }, { + type: "Feature", + id: "110103", + properties: { + name: "崇文区", + cp: [116.4166, 39.8811], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XBL@@bEVD@BX@AC@MHA@EIBCCDSEMmB@EIDBME@@MG@EDUCENWD@H"], + encodeOffsets: [ + [119175, 40829] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/china_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "xin_jiang", + properties: { + name: "新疆", + cp: [84.9023, 41.748], + childNum: 18 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@ρȁôƧƦóəʵסʵóƪԫʵѵͩƧͩړυࡓɛʵ@ȃ@óᇑѵƨɝɚôóНѺͩɜ̏ԭʵôƧɞñ@υƩ݇ȂóƩƧ@ѵȂυƥŌਗ॥ɛóʵѵƧѹ݇̍ࢯəɞυρͩ̏óਙƨƧŋôōó̍ͩóʵןóŋړͪƧѶ@ɜԭԫƦɛȄ̍ɝȄöςƩȂ̏ñȀ̏ƩóóŎə@Ő̎@ɞȀɝŎôƨóנѵȄƧ@óŏɝóɜôŎ̍ͨςŎ@ƨóôƨɞ݈ʶóƨφó̎Ȁƨ̍ԮòѸԮמ@ѺȀ@ƪၬֆòȂñ̐òȂɜóƨ̒Ŏ̑@φρȀ@Ő๐ς̎Ƨφ@ɝφڔ೦Ԯǿࢰ@ƦŏԮƨƨȄƧ۬ɜʶڔŐɚɚóŐôƨôƧƧó̐ƥóŏѺǿƦȁφƧςƨƧ̒@ɜƥƦυ̐ɛƪͩƩəƪʷ̑ə@ȃƨʵנŋྸōਚԭԪ@ɝƨŋ̒օςʵôƧ"], + encodeOffsets: [ + [98730, 43786] + ] + } + }, { + type: "Feature", + id: "xi_zang", + properties: { + name: "西藏", + cp: [88.76949999999999, 31.6846], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ôŌנôʶ̎ͪôóŎƨŌਚƧ̐ôςͪφɚɝࢰ݈̎ѺѶƨôʶ०ɜਘƦŋφѶȁ̍ôŏɚŋ@̑ə@ŏò̍ɜóƥôʷƧ̍φѹԪ̍ע@Ѹʷɜ@ôñנ@Ѷɛɞô̐ŏѶƨѸƧƥōƦôŏô@ƧôƩ̒ŋƨŌƦǿô̎ɜȁ̒óʶѶôôО̒ςƥɜНφσɛȁ̎υƨఱƧŏ@ʵƥ@ŌóóóͩƨƧóŋ̑õóɞóɝԩͪɝρôƧ̍ƧѹͨڑŎ̑ōóƧࢭͩ̏ѵɝóఱóóԪυô@̒ƥŌ̏Ƨ̑Ȅ݇ŎƧѵӏ@ɛõŏɛȄôӒƧŌѵǿɝƧŋԫ@̏ʴƥ@óǿ̑Ȁóǿ̍ςóóυô@ʶɛñρƦƩŐó̎óѵó̑ͪࢯОóɜןƧ̏ƥȄ̎̏̐ןŎɝɜöɞƩȀôöɛȀóͪ̐ƨƪ̍̎ȂƥԪυО@φɞôƪ"], + encodeOffsets: [ + [80911, 35146] + ] + } + }, { + type: "Feature", + id: "nei_meng_gu", + properties: { + name: "内蒙古", + cp: [117.5977, 44.3408], + childNum: 12 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ኊȁöƩɜɛנñԮɛѶóԮô@ȁѸóמ̎ගѺၬ@ʶԮӒ̎@ŐѹӒ̒Ԫƨöග̑ѶȄ̒ς।ѶɚöɞɜʴڔôôȂ̎ѺȀςƨƪóԪɜôɛОਕڔԭѵ̍ѹȂԫɛƥ̍Ȃóɜ̎ô@ʶ݊ੲࢮʵږͪנƨôȂƧ̐ͪ@ŐƦƨφԬѶɜôƦ@ŐƧôôƦəŐ̏@ŐڒѶԬô̐ʳԩНςōôŏɞ@ƨȂѶəóƧ̒ػ̎ó̐Őנóƨô̒@ƨɚɚ@עԫɛɛ@ȁυͩƥʳòևρ̑ࡗƧͪ༃ॣԮփ̎Ʀ@ôô@ôō@@ȁѵóƨ̍υȃóʵɛƨƥóυȂóəƪ̐ρƧͩɜԭڔȄ̎عƧȁ̐ŏó̍ɛƥƧ̑óρŐ@Ƨ̏ɝəɛͩ̍ͩɝО̍ƪƧóóӓƨóƧʳ݇@ɝςƪ@ʴƩƧƦôƨɛȄəƧŋυóͩѵ@ɝǿóŌן̍ɛóО̍̑̏ôȁ̍ŏòȁñóƦͩ@ǿə@ɛƧ̑ρȁυô̍օѹóȃə@ȂσʵѷƪòƩ̍ôóۯôʳƧóõʵѵóѹɜ̍ȂѹôɛŌφֈƩͨρóυӑóޟఱ̑݇ͪóƪƨŌóȄڔԬƩςםñ̑ȃѵŐԭŏƨȁɛǿρôõɚɛóƧОə@ѹ̐ѵöԪͨôͪɛ̒ןŏƧƥóôƥƧɛŌôóɝó@̒݇Ӓ̒Ō@Ŏԭࢰ"], + encodeOffsets: [ + [99540, 43830] + ] + } + }, { + type: "Feature", + id: "qing_hai", + properties: { + name: "青海", + cp: [96.2402, 35.4199], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ƨ@ôƪ݈ȁƪ@φɝòóƨԮʶɛ̐ѹͪôОəóƧɞᇒѶ@ôږô@ǿѶƪȁςɜͩφςŋɞôѶɛƨŌɞ@ɚςŐñԪॢͩƨȂɞóƨŐ̎ŏעӏ̎óƧƦô̒ȁɜςͩ̒ɚɛƨôƨɝφɛóȁƨŋóóɚͩƨóóƩ@ƧəŋƦƩ̍@ƧƧôǿυ̑@ȁɞǿõŏρƥסɚƧóτԫɞôƧƦ@ñȃòñƥóυôôѹѵ@ŏ̏Ȅɝó@ȂəŌóəѹƦ@Ő̍Ōυ݈ԩŐƧóôƧ̑ôʵɞƧ̑ѵôƩɞƧ̑óНѵóôʵ̑ɛȂó̍ƥȀƧŋ̑Ōóƪ@ƨóóŐƥƦŎѷƨѵƧ̏Őɝóѵɜן@óòɛ@ѷʸס@ԩ̎υѺƨ̎óʸôƦɛñ̎@Őɚ@̒əŌóŐ̎"], + encodeOffsets: [ + [91890, 36945] + ] + } + }, { + type: "Feature", + id: "si_chuan", + properties: { + name: "四川", + cp: [102.9199, 30.1904], + childNum: 21 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ôôŋó̑Ԯ̒ɛОמͪƨōöͫƥôȃƨóóñôƧóƧôōڔŏƨŐ@ŎôòƥѺŎ@ōɜóנôǿôƦôԮ̍ɜôɚƧñɛɚȁ̍Ƨɛևυ@óóôŋρԭɝ@Ƨʸ̍ŏυɜƧƧóƧƨȁρ̍ƨȃɚôʵφóô̑̏Ȃ̑ʵɜʵɞ@ƨʳסƩóŎəóɜƧôƩƧρóôôô@ŎƧƨƨƪѹó̍̍Ʃ@̏ѹНôޟ̍ƩóƪυɝɛəƨôŎɛȀ@Ȃ@ñɝʶ@Ōρנ̏õóɛͨƨȂѵОɛʵ@̏ƩŐóƧల̍φɜȂυτɛОρƦɝƨóƪ̒Ѷɝƨóʶ̒óƨƨôԪŏφ݇̎ŋ@ŏѺƥôɚɚŋ@ȁɞô̐ȃ@ŐѶóѺφóƦôñòòȄ"], + encodeOffsets: [ + [104220, 34336] + ] + } + }, { + type: "Feature", + id: "hei_long_jiang", + properties: { + name: "黑龙江", + cp: [128.1445, 48.5156], + childNum: 13 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ᇔȂਚНƨŐѶŏöƥςŏñƧƦóƨȁ@óƨóȁφӑóóƨóǿ̎̑ôНɞó̑ɜə̎ǿ̒ôڒӑφ@Ƨȁ̎̏ƥƩ̎ρశôȂςƨφ@נɞ݈̑ƥƧɛƨʵƧȃƥ@Ƨƥ@ŏ̑ԩôɝρρóɛƧƩͩƧóʸ̍ʷѹƥɞڕõ̍öɝυ̍ȂƧ̐̑ŏóƨñŋѹóóȁ̍̏Ԭõʸ̏ŏ@ǿ̍@ƧОυ@ñƨòȀƥŎ̑ŐѵóɛŌóȂԫōƧŎѹñ̍ʶóОן@Ƨ̎Ѷô@Ȃ@óŎó@@ó̍ƥԭք༄।ƨͩ̒ࡘςñֈƦʴφͪ@ȂɜɜסԬə@Ƨə̑@Ƨóןô̏ŏ̍ô̑ؼôƨѵɚƧȁɝ@óŐρŎԪО̏ʴ"], + encodeOffsets: [ + [124380, 54630] + ] + } + }, { + type: "Feature", + id: "gan_su", + properties: { + name: "甘肃", + cp: [95.71290000000001, 40.166], + childNum: 14 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ڔôԮࢯ@ō̑ŋ݈ӑ@̑ɞôóôɜŋƦƨôóƨƦנŐɜ̑óͩԩͧѶõѺ̏ɚ@ƨНɜôöəςóɜȀƧȂԮŐѶŏ̒ȄמòƪρړԫôȃƧŋôƩ݈ͩɚ@@ǿɜ@φͩóŏɜӑƧōôǿ̎ôƥƪóõö@ôƨôƧƦôó̒ɜ@ɞŌõʶ̏Ő@ȀóôƨȂ@ʶע@@ƥӑó̑óŋôʵóɛړ@@ƩöóƩóρɛƨ̑@óʷƥƥ̎ɛƧôōƧǿôͩѵôɝȃɞȁõƧρóó@ōƧŏړŐóŎôƨóƨôòƧôóȄƦõͬƧŎםͩɜНԭ̑ô̒óŌóƥ@óƨɝσԬƨôעəςƦöŐɝȀ@Ȃφ̒óȀƨƨ̎@ƥƪɚŌ@ƨôƪƧôəͪôôƧŌôȂυɜƧɞƧóəɜ̑ρͪɛ̑Ȃóƨƥ̍ôסӐ̍ŐƧŏɝôƧȁॡͪòԩρŏ@əɝƧŋѵɜɝóρŌυɛͪρƩȂѵ@Ȁڕó@ȄɜʶφࡔڔƨͪѶͪԬʶôƩעʶɚʶƥôóƨςȂ"], + encodeOffsets: [ + [98730, 43740] + ] + } + }, { + type: "Feature", + id: "yun_nan", + properties: { + name: "云南", + cp: [101.8652, 25.1807], + childNum: 16 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ôɞôɝ̒öôŌƧƨôͪôô@ŋƦ@ʶƨŐôƪŏ@̐ɜʶѶНƧȁɜͧöô̐ςן@ŋɞʵ@ò@ȁɜǿóōɚƧɜφɞôƩ̎ƪóޠѺО@̐̎ƪô̎ѺƧƩƨƧ@ōóóôóςƪƨƨóôɛó̑ԭƥŌɛǿɝƨɛͩô@ǿƨȁѺŌɚɛ̍ןѶНɛƧôóƥȁƦͩôŎɞƨ̑ɜòôφ@ƨʵ@ɛѹōóȃəƨυǿóʵρƧƧŌƩɛ̏ȄñƧƧȀɝ̍ԩʶƧ̑υóŌƥʳɚӑóНƥô̑óӒѵʵѹƧӐןôƪφõŌƪ̒ԫŌƧؼƨƨסρȁƧƨȂóʶó@@ʴƨôôφ̎Ŏ@ȀƨƪɚƨóƨôôôςóޤƧŌƩŋƧԪ"], + encodeOffsets: [ + [100530, 28800] + ] + } + }, { + type: "Feature", + id: "guang_xi", + properties: { + name: "广西", + cp: [108.2813, 23.6426], + childNum: 14 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ƦŋѺ̎ڔʵƨŐ@ƦמȄƪôóȂɜŌɚͩɜ@öóɜôôȂƦôɜȁ@ɞφóȄ̎ƨʶɞŋƨʴɚǿ̐̎Ԭ@ôñ@̏ƨρ۫ôɚƨƨНƪŐ̎ƥóƦʵƥŋ@ȃóƥƧ@@ŏɝǿôυƧȁѵɛ@əóŏ̑@@ə̍óƧó@ȁƩρóòНƥô@Ӓ̑@óŎ̍ƥσŎυ@̍ƨ@Ō̑ôóͪƨ̒óŌړ̏Ŏ@ŌôȄѺŎ@ɜƧʶυ@ñóɛƧ̒ɝóōƥͪ"], + encodeOffsets: [ + [107011, 25335] + ] + } + }, { + type: "Feature", + id: "hu_nan", + properties: { + name: "湖南", + cp: [111.5332, 27.3779], + childNum: 14 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@քɜОƨ@öŐמóƪôƩɚ̒ŐȁςͩɜòƪɜȀòñɝòѺͪ@ŏƨŋóɝôǿƨɚȃóəƨȃѵͩó̍@ȃƨóóƥƨƧ@ʵƦóͩɜɛóñԭɛōυȂ̍ƧƦō@ɛƥɛȀ̑óʷóō̍ƩŏƧОəƧóς۬Ƨ@̐óòԫ@̏̍əȀƧʳɝŌóɞƧƨɜóŐƨò@ȄƧŌρŋóôԪОóʶ@̎óȄ"], + encodeOffsets: [ + [111870, 29161] + ] + } + }, { + type: "Feature", + id: "shan_xi_1", + properties: { + name: "陕西", + cp: [109.5996, 35.6396], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ςôöƨɝȂɞȄѶóóͪƨȀóŎƨ̍ɜƦƦôʸ̒@ɜƧςƪôõô@ƪڔ@ôɜóʶôŌô̒Ӓ@Ʀ@Ѻ̎ɜѺɛѶôöʶôƨóʴ۰óô̎ñƪѸƩτʶ@ȁòŋəѹóǿ̑ʵ@ȁ̒ʷυփô݉ôН̏ط@ȁƨóô̏ƪõ@ʳ̐ʵ@ɝɛŋƩŌɛóןôƧŋ̒ó@ŏ̐ƥ@ŏυ@ƧƧôן̏@ƥȂѹɜəɛóԭ̎ƥóóóȀןɛô@ŎѹōñƦ"], + encodeOffsets: [ + [108001, 33705] + ] + } + }, { + type: "Feature", + id: "guang_dong", + properties: { + name: "广东", + cp: [113.4668, 22.8076], + childNum: 21 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@Ȃôôƨ̎@ɚ̒@ôŐ@ɚѶɜƨȂóφɞȀ@Őƨ@ôƦ@ȄƦŌƥʶƦôôŎôʸ̒ɜǿƦ@ɜƥŎ̎ƨφȁɜŎòƥԮŎƨōóŏɛƧɝəɞƧɜςȃñȄƦŎ̒ōôòƨəƨɚН@əƨ̏ƪʵυŌəɛóəԭŏəóŏѹρʵɝƦ̏ƥʳѶöō̑óóŋρȀυƧƥɛѹōƧôןɛŏѵ@óŋôʵɝƪԩõ@Ƨō̍@Ƨ@@ƦɝԮƪО@@", "@@X¯aWĀ@l"], + encodeOffsets: [ + [112411, 21916], + [116325, 22697] + ] + } + }, { + type: "Feature", + id: "ji_lin", + properties: { + name: "吉林", + cp: [126.4746, 43.5938], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@נ@ôН̎ʵѺòƨōԬŎôȁɜŋѶô̒ŏƦōñǿòƧφ@ƨН̎@@Ȁ̐Őöʷ̐ԫ̎ôȂѺôòŌôƧ̒Őƨ̏̎ȁφ@ŋƩͩםȃƨ@ȁ̑ʶ@Ōóôɛƥѹ̑συ݇@ɜρƧȃࢯƨôəȂɛōƩɛ̏υρóõƪʴυφ@ʶôŌóρք@ɜƧ@ɝǿƧͪρȀƩó̏ŐƨȂ̍غړȃɛԮƨͪ̏ςƩôɚφȁƦôɜƧôʶφȄ"], + encodeOffsets: [ + [126181, 47341] + ] + } + }, { + type: "Feature", + id: "he_bei", + properties: { + name: "河北", + cp: [115.4004, 37.9688], + childNum: 11 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@Ʃ̒̏ŌѺ̒ƩóȄƧŌƥͪòôñȂ̎ŐóȂ̒̐̎ôНɜנ̎ôŋɞȀѶ@ôͪφƨŌɚɜȃóƧƨƥƪ@ʳƩɞρ݈@υНφʵɜƦρƨƧ̍ɝóɛѹ̍ρŏ̑ôóƨ@ƧƦôƨɛ@ƥƨ@ȂƦ@@ôəŐƧʶƨŌυ̍̎ɛŋôōɝ@óƧ̍ƦʵѵʳôʵɜŏςôƪŋƨŌɚ@ôНƥƧ@ōѸɛ̐ô̎ʵѵНԭ@̍̍Ƨò@ȁɝ@əρυͩƪ̏ƩõƧŎƧōóॡȄɛʶɜȀ@ɞςѶƧƥςɛŐ@ɚɜɜ@Ŏôôςƪς"], + ["@@õə@Ƨɛ@ŐóƦφô"] + ], + encodeOffsets: [ + [ + [117271, 40455] + ], + [ + [120061, 41040] + ] + ] + } + }, { + type: "Feature", + id: "hu_bei", + properties: { + name: "湖北", + cp: [112.2363, 31.1572], + childNum: 17 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ñȄυƦöŐƩóנƨƨφ@@Ő̏Ʀ@Ő̑ôƨŌנóɜôƪŋɜŌѶօڔə݈òɞōɜŎôӏƦóƨô̒óôȃƨó̎ŐôƧƪ@ƨȁςƧə̑̎Н@̍Ƨŏρôԭͩԫ̍ʵƧóȀôɞƧŌ@ŐѹͩñòɞñɛǿƩɛñρͪȂ̑ŏƪəƩóםôõŏƧ@ɛНƥȄó̑ѺƧôφóƨƨƦƪóɜŐôóòôƨóφ̐ƨóƦ̎"], + encodeOffsets: [ + [112860, 31905] + ] + } + }, { + type: "Feature", + id: "gui_zhou", + properties: { + name: "贵州", + cp: [106.6113, 26.9385], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ɜȀƦŋԮô̒ɚôōעƪƧʴɝ@ɛʶ̒ʶ̐ȁƦóȂô@ôŏ@ōôƨʶѸô@ʶƨɞó@ōτöòυƨ@@əƨô@ɛ̒@Ʀɜôȃ@̍ôʵԩНôóςŌƨŋ@ȃƧñôŏƧɛƨôɝƧʵ̍ôȃυ@ɝɛȂƥóóȁɛóõôɛ@əͪɛŋôȁƩóםȃ@ƥƧŏړʶѹ̍ƥŌƦȂóôɜƨѵО̎נəɜѹŋƧȂ@ȀóɜͪɞƧ"], + encodeOffsets: [ + [106651, 27901] + ] + } + }, { + type: "Feature", + id: "shan_dong", + properties: { + name: "山东", + cp: [118.7402, 36.4307], + childNum: 17 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ʃ̐φͪɚςɞ@@Ȃƨñ̎̎Ԯ@ѶОƨƧڔ@φН̑ŋ@Ʃ̒ǿ̎@ƨɜԬςôʶ̐ʶöԫƨƧנƥɜŎôō̎@ôŏóρƧŏԫôóƧԩó@ƥɜƧԭóƨʵɛƨӑɜНԩóô̑óƧʳəóɛƧ@õȀƧ̍ȃɛŐóŏυО̍óɝƩԩ@ƧɚԫȄɚʶƨɞʶԪ̐ړɛƪ̒"], + encodeOffsets: [ + [118261, 37036] + ] + } + }, { + type: "Feature", + id: "jiang_xi", + properties: { + name: "江西", + cp: [116.0156, 27.29], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ƧȄôɚəȄ̎ʶԬԮͪςóƨŐƪτɞƦōƥƧ@ŏςôóŐôô̒ʷѶƪƩƩǿ@ō̒ɛôυ@Ƨȁѹɛəƨѹ̑ƨ̏óƥѵʷô̍ɛȁôŏɝǿƧԫƧôʳƥōòȃρȄɛɝƨɞɚɜƨôŐƧŎԭōñƦòԮɜôɛôͪƥ@ʶƧƨôƦƧô@Ȅô̎Ѷͪ"], + encodeOffsets: [ + [117000, 29025] + ] + } + }, { + type: "Feature", + id: "he_nan", + properties: { + name: "河南", + cp: [113.4668, 33.8818], + childNum: 17 + }, + geometry: { + type: "Polygon", + coordinates: ["@@φ̎ƪ̐ɞȄɚ@@Ȃעó̎ŌѺ̒ôֆॢȃôƨŎƨōƪöƩ̑ڔɜԩ̏ɝʵƧəʵԬȃƨəԪ@@Ƨ̒ŏô̍υȁƧɚ̍ôóŋ@ɝƧŋõ̑σ@ŏɜŋôɝ̒ƧɚôôطρóóɛƩ@óƨ̍ŏƧôóȄ̑ôƧóƥôóӐɛōɝŎ݇ñړɚѵֆ@ɞ̏ʶ@ʴƩöó̐"], + encodeOffsets: [ + [113040, 35416] + ] + } + }, { + type: "Feature", + id: "liao_ning", + properties: { + name: "辽宁", + cp: [122.3438, 41.0889], + childNum: 14 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ƨʴƧôôӔƨô̎ƩɞН̎ͪͪɜɞɚ̐@ƨςŏ̒ôƦƨɜô̎ƪôςǿƨͩɞȀƨ@@ɛςփôóŋ@ʵφυƩʳö॥փρѹס@əɛ@ͩࢯ@ѹʵρƩʶφȀƧ݈̒۬óʸɝŎѵ@ԭԫןɛƧƨƥςɛυʶφО"], + encodeOffsets: [ + [122131, 42301] + ] + } + }, { + type: "Feature", + id: "shan_xi_2", + properties: { + name: "山西", + cp: [112.4121, 37.6611], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ɚѺñŌɚôȄѺ̎ֆφóςȂ̒ɜƨɚ@@Ȁƨŋôȃƪѹ̑̐ŋƪ̑Ʃρρóó@ōɛɛ@əɜŏƦρƨρѵ@ɝɛǿɜʵóօѹ̑̍ŋסô@ȁə@ɝȃ̏̍ƩυƧô@Ȃ̐ظóОó݊φք̑ʸ@Ȃ̒ʶôȀ"], + encodeOffsets: [ + [113581, 39645] + ] + } + }, { + type: "Feature", + id: "an_hui", + properties: { + name: "安徽", + cp: [117.2461, 32.0361], + childNum: 17 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ó̎̑Ő@ƨƪѶǿɜ̑φƦʵ̐ƧѵôóƪôôυςƨȂɞŏ@̍ԫôò̑ƥóȃѶͩƧƥôŏѺôŏƦ@ƥͩƧôȁυó@̑ƧɛѵʵƩƪѵ̑ʸóóôŏρó@ŐƦƨƥŎσɝƩ@̎̍Оɚ̒ρƨƧȂôɜςôóظəó̑ƨóɞɛŌ@Őτö̒ƨŌ@ɞôŌ̎óƨəφȂ"], + encodeOffsets: [ + [119431, 34741] + ] + } + }, { + type: "Feature", + id: "fu_jian", + properties: { + name: "福建", + cp: [118.3008, 25.9277], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@̎óȁƨӑ̒̎ɚƨͩφŐƨɝ̎ŋóŏρ@ōƨòʳəóƨō̏õɛƧ@ƨѵƧōəŏóŋƧô̑ɝɛʳƥ@@óɛõ@Ƨ̑ƧóȁəƧ̑Ƨ̐@ɚəОƧƧɚóñ̑ŎóʴƨƨԬɞȀóŐɜȂó̎ѶʸôƦƧ̐Ѻ̒ɚƧѺɜƨȂ"], + encodeOffsets: [ + [121321, 28981] + ] + } + }, { + type: "Feature", + id: "zhe_jiang", + properties: { + name: "浙江", + cp: [120.498, 29.0918], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ѷʶƨɜ@̒φôóȂƨƦͪ@̐Ѹ̍τȂ̒̑נŐמôƪƧôӑ̑@ƥρͩƨօ̏@@υɝó@ŋɛ@ôƩəóƧѵυó@ƩɜŋƧ@̍ŌƧɞυŏƧͪ̍ə̑ƧӒôȂ̍@óφ̑ɜ@ŎƪȀ"], + encodeOffsets: [ + [121051, 30105] + ] + } + }, { + type: "Feature", + id: "jiang_su", + properties: { + name: "江苏", + cp: [120.0586, 32.915], + childNum: 13 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ôɞ̎φНôŐɜŏ̎Ȅƨöǿƨ@ôɜɚƨʴ̒ôôó@Ƨ̎əԮȃԪૉöͩ̐ƧòʵφƧôʵ@óړɜóŏɜǿƧɝρσȁѷ̎̏ƥóŐѹóŐƨƦѵͪôȄƦñ̒Ԭó@̎ɝŐƧȁρóφƩóóôƨѶ̏ƥʶυɛ̒ѵȀ"], + encodeOffsets: [ + [119161, 35460] + ] + } + }, { + type: "Feature", + id: "chong_qing", + properties: { + name: "重庆", + cp: [107.7539, 30.1904], + childNum: 40 + }, + geometry: { + type: "Polygon", + coordinates: ["@@əȂòɜƨѺɛƦȁ̐@ƪõŏφƥòȃƥ̍Ƨôυ̏ƧôñóóôɛŏƩôƧƥôƧóυƨ̒ѹôƦȃ@փƥɛ̑@@ɜƧó@ɚƧ@ñφσõ@ŎɝôƧ@ʵѷóƧʵó@ŎóŐó@ôȁƥó̒υôóʶəƧȄς̎ƧȂôƨƨƨφɛ̎Őƨʷɞ@ςԮóŌôôφ@ɜֈ̎ƨ"], + encodeOffsets: [ + [111150, 32446] + ] + } + }, { + type: "Feature", + id: "ning_xia", + properties: { + name: "宁夏", + cp: [105.9961, 37.3096], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ల̒ôޠφӒςôƪͧυևɜŋѺó̎ȁ̍ɛ@ѹס@@ʵƧȁôó@ǿ̐ŏöʵɝŋɛ@ô̑ƥóóƨƧóôó@ƩôóƦ̍óȀƨŎɛӒôŐυͪɛ@@Ȁə@"], + encodeOffsets: [ + [106831, 38340] + ] + } + }, { + type: "Feature", + id: "hai_nan", + properties: { + name: "海南", + cp: [109.9512, 19.2041], + childNum: 18 + }, + geometry: { + type: "Polygon", + coordinates: ["@@φɜƦʶ̐ôφô̎@ƨŎö@τʵƦԩ۫õН̏óƥȃƧ@Ʃəםƨ̑Ʀ@ޤ"], + encodeOffsets: [ + [111240, 19846] + ] + } + }, { + type: "Feature", + id: "tai_wan", + properties: { + name: "台湾", + cp: [121.0254, 23.5986], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ôƩɝöƧɝѵəޣ̏ρƩԭóōóͪρɞƧОôԪ݈ଦѶɜ̒ɛ"], + encodeOffsets: [ + [124831, 25650] + ] + } + }, { + type: "Feature", + id: "bei_jing", + properties: { + name: "北京", + cp: [116.4551, 40.2539], + childNum: 19 + }, + geometry: { + type: "Polygon", + coordinates: ["@@óóóυóôƥ@ŏóóə@ƧŋƩŌρóɛŐóʶѶʴƥʶ̎ôƨɞ@óŎɜŌ̎̍φƧŋƨʵ"], + encodeOffsets: [ + [120241, 41176] + ] + } + }, { + type: "Feature", + id: "tian_jin", + properties: { + name: "天津", + cp: [117.4219, 39.4189], + childNum: 18 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ôôɜ@ƨöɚôôôɚŏ@óƥ@@ȁƦƧɜ@óƧƨƥ@ƧóəН̏óѷɜ@ŎƦƨóО"], + encodeOffsets: [ + [119610, 40545] + ] + } + }, { + type: "Feature", + id: "shang_hai", + properties: { + name: "上海", + cp: [121.4648, 31.2891], + childNum: 19 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ɞςƨɛȀôŐڔɛóυô̍ןŏ̑̒"], + encodeOffsets: [ + [123840, 31771] + ] + } + }, { + type: "Feature", + id: "xiang_gang", + properties: { + name: "香港", + cp: [114.2578, 22.3242], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@óɛƩ@ρ@óôȀɚŎƨ@ö@@ōƨ@"], + encodeOffsets: [ + [117361, 22950] + ] + } + }, { + type: "Feature", + id: "ao_men", + properties: { + name: "澳门", + cp: [113.5547, 22.1484], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@X¯aWĀ@l"], + encodeOffsets: [ + [116325, 22697] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/chong_qing_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "500242", + properties: { + name: "酉阳土家族苗族自治县", + cp: [108.8196, 28.8666], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XJ°lJX@lbl@XbV@VLnJlxnbUU@IVK@lVIVwnJlU@n@J@L@Jn@l_nWVLVln@@blLmV@@xÔ`nxVÈLlxLVxVVV_U»VWn_m¥XwVmnX°lmUUVwÞaVk@a@mmIUa@mwk@m@@U¯a@UV@@K@ykkmwkV@kU@ÑVkKWLÅamaUm@kyU@WkU@UaIUaVaUUmUUa@aVLXKWa¯UUbmJXnWnX`l@@xkzWÆ@VLU¦x@b@JkIkJ@LmbUamJwm@óxnk@V@xVnUVmVUVUbVlUbkXW"], + encodeOffsets: [ + [110914, 29695] + ] + } + }, { + type: "Feature", + id: "500236", + properties: { + name: "奉节县", + cp: [109.3909, 30.9265], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@WVXbUnK@x@b²kxmKkl¯_VV°VU@bnKVVV@@nk@nbn@°@VLČU@°WV@VnU@InKVl@nUbKnXWlknLlKUwnalLaVlUXmWk@UU@UWWIUyķ¹XaWW@XKUIVmU@W@UVU@KV@n»VkUkÇmUmVIUmULUbm@wUaKkkm¯ÑUL@bWVnx@VmxUI@klmkkK@aK@IlJ@I¯k@mak@mnkJVL@bV@UbW`UUUVI@VU@VVbUJVLUVVbUXVVxk¦VJUnVxnVVUJV@Ubl@@bXV@L"], + encodeOffsets: [ + [111781, 31658] + ] + } + }, { + type: "Feature", + id: "500238", + properties: { + name: "巫溪县", + cp: [109.3359, 31.4813], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nLWbXVLVUV@KIVl@b@lbUVnU@JÆU@V@n°KĢUl@VbÞKV@_VKXUU@KX@wlkkU@mWKUU@UôJ@XV@aVmÞIVaVL@»km@UkLU@aU@WWLUUUKkbwWa@KU@kaXmWLamVk@UmL@JmVUU@¯X@ċVUK¯@ÅnWKLkKULWK@UXK@wW@LkV@bVLlXn`¯xU°LnlV@n°Lnl"], + encodeOffsets: [ + [111488, 32361] + ] + } + }, { + type: "Feature", + id: "500234", + properties: { + name: "开县", + cp: [108.4131, 31.2561], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@n@naIw@@VVKLVbVxnVÆUnanKWXamKmk¯K@mkUm¯KV°w@Wm@UIUUlKUU@a¯KWanwmUXamKkUWUnU@KkUwWKXaWLUWkImaUUUKka±k@l¯wwmbUkXm@UJkIWXXbmUJXUV@°KllVXV@xmbnV@blV@VU`UL@Va@bULlb°VXbÜ@V@bL@JxnLVb@lVb@V@@zbXWXKVLV@@bUVVL@blVna@ll@zl@@J"], + encodeOffsets: [ + [111150, 32434] + ] + } + }, { + type: "Feature", + id: "500243", + properties: { + name: "彭水苗族土家族自治县", + cp: [108.2043, 29.3994], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Jlb@nVV@bXb@ÆlLUl`nVKU¼VxkbWnlUxlXX@°°WnnJ@VUn@Jk°L@VlV@nUJx@bVVVz@VnLlaKnalVlIU¼@nV@@anKUwVal@UlJlI@akU@UWXKVI¯Uak@@KmkXWÜkXWykIWwXw@laXamkVUUym_XmlkkmmakwmIUKU@Wak@kaW@kI¯WIk¦VUUmaUV@XkVUV±aUb¯b¯¥m@@ImJ@mmL@kUKUkkJbV¦"], + encodeOffsets: [ + [110408, 29729] + ] + } + }, { + type: "Feature", + id: "500235", + properties: { + name: "云阳县", + cp: [108.8306, 31.0089], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lbLVVVnblJVXXKWbXLVxl@LmVXVVlnLWbnVmxXb°L@bVVkLVVVJn@@X_WmkUK@alUKX@@xWL@VXLVKlLKXLÆm@ma@ml@mU@UUmL@aVUU¯U°`lknLlw±@a@wmLVWaXU@KWU@ak@VaU@IUVmUUwVmUIl¥UwUVWUaVUUKVIUa@UUUUJUUmknl@@VWV@L¯aUbUlx@@b@VULUx@VUxVVU@bU@mxUU@mUVklkk@WxknlxK@amLKUK"], + encodeOffsets: [ + [111016, 31742] + ] + } + }, { + type: "Feature", + id: "500101", + properties: { + name: "万州区", + cp: [108.3911, 30.6958], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ĸĊVInaWWXlJVIn@lWVnax°xkl@²LVLnK@bLkwlmXw@lllkUnVV@VnwV@@aVUUVw@UVwVK@U@a@kwVVa°b@KXU@U@mkÇÑamlkUVmn@VULUm@kUVkUawUWm@Uw¯mKUUmVUUULUKUW@XbWVkaWwkUUk@maUbmbVlk¦xUVUIWVUkJVVkL@UmJUUVU@lLUVUlx@@VbJUL¯¤@V"], + encodeOffsets: [ + [110464, 31551] + ] + } + }, { + type: "Feature", + id: "500229", + properties: { + name: "城口县", + cp: [108.7756, 31.9098], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VK@w¯L@m@UÅV@ImVUVka@@aUkJ@LUUVUKmLmbÅVmUUwUaKUL@U@xJmbm@nVJ@X@VkVnlLXx@b@bUVLU`UnbU@@mVVX@JX@VLVVklV`@bUL@VLVKn@U@UJkn@lmLmK@X@Jn@mbnÞWVXnJkKČÑÆ@VK@knaÜmXlUČW°kôÇÆ@a@yÞ_VmUnU@K"], + encodeOffsets: [ + [111893, 32513] + ] + } + }, { + type: "Feature", + id: "500116", + properties: { + name: "江津区", + cp: [106.2158, 28.9874], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@InWUUlU@LValX@°²lÒXxlK@Ul@@Un@UaVJ@I@W@UUUVUwVIUKUaUUVwn@Üx@XUlnnbJ@¥VklKUUlk@ynU@kVUUVWnI@¥V£VWVIUKU@UVa@n@Vm@@nlUaVkUwJ@blLkLW@XWmXkmmLn@m@U@UVm@UVUUlakUVaVkV@@wnaWUk@VwklmVIkUUxmJ@U@KIkx±V@IUm@K@IUKkbWKUbnm@bmVnbmb@xkxUJ@ULW`@bX@WVXL@V¯mk¯@UJ@VmLUaWnX@WJ@nkKkxW@UIV@@KkImmkK@UW@XaWIU@UIkbWbxXlLVbnV@bWlX@VxVLnl@nÆÞVÜ"], + encodeOffsets: [ + [108585, 30032] + ] + } + }, { + type: "Feature", + id: "500240", + properties: { + name: "石柱土家族自治县", + cp: [108.2813, 30.1025], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@kl@¼UbmVXJ@bV@nxVIVJULVVk@@LWbnJVU@bVbUJ@blLXnWV@mbnV@Vbn@VJVLnaVanbl@VlVXxlbXUWaX@VUUVwUUVm@I@WmI@amlLlK@alwnUV@kóVaÝk@UlbVK@VU»VUUVWU@U`ULkwm@@KmU@knK»VkJkUmbLkbmK@UUyUU@awm@@XXJ@VVLVVUbVnUJVX@Kk`WXXJWXUbmW@bkLUm`Xnb@JVL@LU@°VVXKVnUxVLUbmJ"], + encodeOffsets: [ + [110588, 30769] + ] + } + }, { + type: "Feature", + id: "500237", + properties: { + name: "巫山县", + cp: [109.8853, 31.1188], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@kVUbkKmbVxkLmKkllbV@@LXbxlaLVVVKXXV@@bVlKV@ln@¼°KXaU@Ulw°JXalIUaÝWXW@kVU@VUVWUUUamUw@aVamwn@VUUlLXWm£@wÇĉkKklmLUÒ¯Wn@ğ±kwmaWm¼U@@LUV@V@XVUnVJLW@XXWbĸºVzXJVXV@@VXlWn"], + encodeOffsets: [ + [112399, 31917] + ] + } + }, { + type: "Feature", + id: "500102", + properties: { + name: "涪陵区", + cp: [107.3364, 29.6796], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nèVblĖVVnL@xVn@nJ@LUVVX@lbUJV@@nn@VVVK@zV@nzVJVUlmX@@_VVVbnaVal@@knW@wnaVK@aVIJ@£kUVW@wXUVJam@Ik_X¥@WwkKkwmkUxnÅmm¥WV@Um@UlVL@JU@@X@UVkKVkKVkKkb@bmJVXUVVUbU@@`W_UV¯b"], + encodeOffsets: [ + [109508, 30207] + ] + } + }, { + type: "Feature", + id: "500230", + properties: { + name: "丰都县", + cp: [107.8418, 29.9048], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Þè@XUK@LlV@blbUJ@V@bnV@VVVXU@lbXal@VXnKV@maXUÞ@amk@aVKXVanb£°mnIVaUKVwUmWLUU¯V@@KUK@IaWmn_VlK@anXVaXWWIXWl_@LUWVIUmVaUUUK@UWI@Wn@VI@mkU@U¯Kl@ImVÅLwU¤óbUU@wWXkmm@LU@@VUIWVUL@JUnax@JnbUIWVx@UXlV@¤IUJ@bULmb@xmX@lk@UbmbUaUU@`W@kn"], + encodeOffsets: [ + [110048, 30713] + ] + } + }, { + type: "Feature", + id: "500232", + properties: { + name: "武隆县", + cp: [107.655, 29.35], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lwbVm@IVKXUVJ@UV@@KnnWlX@xVVôaV£xÆKnUVm@UmIXm¯¯@WkWVwmkXlaUwV»ULmk_VkK@ÅWa@aUU@mkaIb@n¼nm_@mmK@ULUVVmI@aUJ@XWJ@U`UIkm±kk@@lULmUmKUnVnlUVmI@VkVlxbkIVmLUxkKUXn¦ÆnmVwlnlxlLXx@W¦`"], + encodeOffsets: [ + [110262, 30291] + ] + } + }, { + type: "Feature", + id: "500119", + properties: { + name: "南川区", + cp: [107.1716, 29.1302], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VUbVJVUn@VLX@WVXVVI@VUVWxU@m@ĊX@@¼V°aVUX`@_V@VaUUVUWnI@alaLUlLUllLVU@@WV@@IUKVkn@@VlLVwnKUlJakwlU@UnJVUmkUVmXa@wVK@UUw@VVI@ak@alInwlKXUmaUW@wWLkKVak_ÇaUV@XbLVxUlWIk@UK@V@kU@VbUVUlVnLUV@lVXmxkV@L@V@Vk@WbUwmL@JUI@xVxkx"], + encodeOffsets: [ + [109463, 29830] + ] + } + }, { + type: "Feature", + id: "500241", + properties: { + name: "秀山土家族苗族自治县", + cp: [109.0173, 28.5205], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XlV@lzn@VnbÆbXKlLUÒV@@llUnxll@z@LU@@V°b@Vn@l@VÑUnK@UU@aUakVm@K¯wklmnnUl`nI@almkIUwmWVkUakkJmUUa@K@aU@@_m@@wUyVUUa@Um@awl@Wka±UkUykIWVb@bUVk@aU@UXUUIWakUWmUxUV@nUVWb@XXVVmXX@VbVLkVWx"], + encodeOffsets: [ + [111330, 29183] + ] + } + }, { + type: "Feature", + id: "500114", + properties: { + name: "黔江区", + cp: [108.7207, 29.4708], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VX@V@LV@VJUL@lVnnxlb@VXVXV@@W@UIVK@kUKna@£VWUaVUUalIVJVIUW_lm@bXKV@mn@JUUw@KnIVll@VanLVmUkVKXLVKUIVamw@UaU_lwKlwUWV_Ua@aUa@KUwm_Ó@wU@nkK@am@UkUKmXk`m@@I@K@I@mkVmIUxUJ@kUL@JVVlnklWnn`VzUVnlWbkb@WxXxlJXzWÛlWXnl@Ll@Vb°UJWLX@VlV@bkJ"], + encodeOffsets: [ + [111106, 30420] + ] + } + }, { + type: "Feature", + id: "500117", + properties: { + name: "合川区", + cp: [106.3257, 30.108], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XKVXlKVL@UnV@aValXXKU@WVwUaVU@IV@@aVWL@U@anVV@@bVK@UVL@bnJWL@VnUnb@@JnIlVl@@bXIWbn@UKVLVKXLlaV@VVnK@bVLmIV@KmknUUWVI@aVJ@_WU_VmUwU@KVak@am¯mJU_UJUkU@WkIV`UI@JV@LmmU@@mbUzÅ@VK@nUKbakb@UWK@bkVVbVÛ@@`Xk@W@n@lXL@bmb@VVJUn@JnUlnUlmX@`XLlbkJW@kzlb@`@b@b"], + encodeOffsets: [ + [108529, 31101] + ] + } + }, { + type: "Feature", + id: "500222", + properties: { + name: "綦江县", + cp: [106.6553, 28.8171], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@¦@XlVX@@UVKlVUX@lanVlUVbXWVXVVVUnKVUlwUwU@UJ@nmVkUVlwXam@VaUUUw@W@kk»mV@UmKkwVKVUU@@LUKVI@mV@XVWxnXVKUUUK@wWU@UUWnUlLXamUIam@wI@K@amImUUkI@makUkKWUUan@wamLVxk@UVmUUL@Vm@kV@I@ak@@bWVXJlLVbVL@@bn@@`Un@WbUKULWVXb@UVmbXWVb@bVmxUKUV@Un@V@V@nmnKlnnWWXX@lKkK@aIVxUlVbk@mn@@U@mbVUV@VLUJUXU¤"], + encodeOffsets: [ + [109137, 29779] + ] + } + }, { + type: "Feature", + id: "500233", + properties: { + name: "忠县", + cp: [107.8967, 30.3223], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VLÞĊU@W@¼V@lk@w²mlVUllVnI@VlKUUlIVXUVJVUwl¥UkUKUIm@aU@mUna@XUWmkK@aVIUa@aUVmIXa@Kl@UUVKUIUJmwU@@aWInUVa»k@@l¯n¤mabWUUL@bnl@bÝWVnbU@mLUWk@Wbka@WVUU@UmUmVkUULVlVUxl@L@VbÈÒlb"], + encodeOffsets: [ + [110239, 31146] + ] + } + }, { + type: "Feature", + id: "500228", + properties: { + name: "梁平县", + cp: [107.7429, 30.6519], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XLV@VV@b°°nnkb@bnJWVXblIUVxWnUJnVVLVUJlUnLVK@UnUVJ²nKVbVKla@aXlJkKlb@U°£KVIUa@@kwVVUkKV@VUkkUVk±n@xkl@U@»@XVÝĉUJnxWb@UXKkVUbUKWUkVmkkLU`b"], + encodeOffsets: [ + [109980, 31247] + ] + } + }, { + type: "Feature", + id: "500113", + properties: { + name: "巴南区", + cp: [106.7322, 29.4214], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nxnVlJlUXL¦@x@Vl@nKVVX@V_V@@KlVXU@lKlxXIl@ÈĊ@Vl@n_VJlnVlnb²VVVJVVmUUkĕUamçU@»W@@ĉnV@XwVU@UUJWUXUW@UKm@UVUIVaUUVmLUVUUUWWXUakVmUkbW@UVkUL@VW@kUW@mJUXVVU@lmV@zklVVkLUl@¦I"], + encodeOffsets: [ + [108990, 30061] + ] + } + }, { + type: "Feature", + id: "500223", + properties: { + name: "潼南县", + cp: [105.7764, 30.1135], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@a@a@_kalyX@lIkaWK@_nWVkkmmV@IVmUI@Una@aWK@k@mkbWaknmJUk@mk@@kUal@Ua@Wa@aXLlwUKlkk@KmI@VUJ@Lk@@VUUmL@amJU£kKUaWakLmU@bVVUbnbWV@xkL@bUbxUxVbXJVbUVWIUVU@kLWxkKWV@n¯VUbU@@VVX@VmaUL@VUK@VVbn@lVnI@@lnLULm@Ub@l@na@lK@XVVkJ@b@zl@@VnV@bVb@J@bnXV`lXXmVI@W@InbV@@aVKUblKVLUanLlmnLlK"], + encodeOffsets: [ + [108529, 31101] + ] + } + }, { + type: "Feature", + id: "500118", + properties: { + name: "永川区", + cp: [105.8643, 29.2566], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@bÜnWVLXlxVVxXxlVn@@bVblK@a@UnLVJV@@UnLVU@VXaVKVX@n`WUÿ@IUKlaUUUkWyUÛÅÝ@mmkUKUwW@Xk@amUUakKWwXaK@VVLklXVlkxVUL@bm@Vxn`IVxUVkLVUl@@lkXmmVUn@VV@Xb"], + encodeOffsets: [ + [108192, 30038] + ] + } + }, { + type: "Feature", + id: "500231", + properties: { + name: "垫江县", + cp: [107.4573, 30.2454], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ċ°¤nÒ¼aV_lKnllUXVVLValULVW@XamwVIUKkaÇÑa@U@KkVwkUUVKlVnU@aU@VIka@akU@KVL@WÝçUV@Vmbů@LKnnJWVkxlL@VX@VxmnXVWxUb@bkn"], + encodeOffsets: [ + [109812, 30961] + ] + } + }, { + type: "Feature", + id: "500112", + properties: { + name: "渝北区", + cp: [106.7212, 29.8499], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@bVVXLa@lnbWn@L@XVlK@VVLUVlbkLUKVVVL@VnXVL@VV@UbVb@x@¦UxVb@bUJL@LVVxlK@nk@U@WUVLlKXV@VblU@UUKVU@wn@VJVanLlkX@VaVK¯@a@U@U@VaUKkUU±maUkm@UUkbm@@Vk@@JwU@Ub@I@JmwUL@a@@KkVÇLkWk@kUU@@xUVmKUnllUb"], + encodeOffsets: [ + [109013, 30381] + ] + } + }, { + type: "Feature", + id: "500115", + properties: { + name: "长寿区", + cp: [107.1606, 29.9762], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VVUbXlX¥l@XnVmlxUx@@blVnnôĀlm@aVaXwWUnmUwW@@UkKlwUXmImL@KÆ°na@UUImyU@@yULUUm@@mU@VIkaW@UUV@KI@mmUw@mKUnUUIlVLUb@@V@V@b°ULUbW@klmKUbUIm@@xUVVL"], + encodeOffsets: [ + [109429, 30747] + ] + } + }, { + type: "Feature", + id: "500225", + properties: { + name: "大足县", + cp: [105.7544, 29.6136], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XUmaVaUU@anVlKXbValU@aV@@IXK@@bV@VxVK@UXLlUJXa@_@@aVKÅWVkwWawUa@am@kUWLU@kWmX@ykI@W@UV@na@LlLV@UkwWUKmXX`mIVl@bXLWVkbkkx@`VXm@@J@U@UUKUxk@WbUIVl@VXLWJUkUlUImxXlmb@X@VUJUnVbW@UV@@VVX@bnW@LVxUnlJUV@n@VxVIn@l`UVVVL"], + encodeOffsets: [ + [108270, 30578] + ] + } + }, { + type: "Feature", + id: "500224", + properties: { + name: "铜梁县", + cp: [106.0291, 29.8059], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VblLV¤nI@bnKVV@Ul@@KVI@UnJ@LlklVLkxWK@bXb@Vbk@Vb@ll@@nVlnIlmXblaXl@W@_Ü@UUalU@aXL@VlabaVL@mUL@UUÇXUWX_WaU»m_@UWULWb@UUVmK@VU@UImK@V@bkLxXblxXUÆUL@b@@`WbIkVWK@VULUwU@@a@WL@JU@@bkVUb"], + encodeOffsets: [ + [108316, 30527] + ] + } + }, { + type: "Feature", + id: "500226", + properties: { + name: "荣昌县", + cp: [105.5127, 29.4708], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VI@U@WnaWknwVJVkVlIXWK@UUkVJXal@VwVL@V@V@In@UW@_wlllaXUWK@aUknJW_Û@aWaU@@UVmUUaUImJVnÅUmVUm`kUUVWLnVU@VVmXK@nxmULkxImJ@nU`@X@Vkn@`@nlV@nVJVaXVLnK@bVV@nV@lbXW@"], + encodeOffsets: [ + [108012, 30392] + ] + } + }, { + type: "Feature", + id: "500227", + properties: { + name: "璧山县", + cp: [106.2048, 29.5807], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XzVlVVkbVL@JVĀX¼VXbW`XWVÈVVVkV@@UXa@alK@IU@UKWUyUI@wVUUWVak@VUkW¹@WXI@yVIUK@kWwkѯ±W@kUb@KkVVVmXJ"], + encodeOffsets: [ + [108585, 30032] + ] + } + }, { + type: "Feature", + id: "500109", + properties: { + name: "北碚区", + cp: [106.5674, 29.8883], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XVLV@@JkL@bWb@VU@UlÆVya@nV@nn@KU@IVJU_lJXV@VlVIV`nIn°@blUbKVI@aUaVw@¥@wUaVaU@@UUKWm@UUKUUVLlKkaVUUK@UkLWU@@KXmma@kbWKUU@aUamLnÞ@VWLk@@Wm@ULU@@UKUVWI"], + encodeOffsets: [ + [108855, 30449] + ] + } + }, { + type: "Feature", + id: "500110", + properties: { + name: "万盛区", + cp: [106.908, 28.9325], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VIV@@wVJ@InKVxXal@@U@U@KlUnwUW@kVUKUmVkUa@I@KW@@bk@@mU@m@k@a@aIUxmJk@wULwkKmVVX@VXV@xVLVVULmWXwWUU@@nUJVL@KV@UVULlxnL@VnUl¼@l@XVxVVUbn@WbkxUlVnU@m"], + encodeOffsets: [ + [109452, 29779] + ] + } + }, { + type: "Feature", + id: "500107", + properties: { + name: "九龙坡区", + cp: [106.3586, 29.4049], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XKL@V@XbV@lW@UV@@VXIV@UVKlL@KnnJ@VV@VU@I@@mVUVWUUmL@V¯LUK@UV@UU@a@U@yU@WLUK@X@KUVmL@@aXI@w@ammVk@WÛwm@UxVVVbVLUJVxVUV@V@X@JUIVbm@@Vk@@VkL@lVLUJ@zWJ@X"], + encodeOffsets: [ + [108799, 30241] + ] + } + }, { + type: "Feature", + id: "500106", + properties: { + name: "沙坪坝区", + cp: [106.3696, 29.6191], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XºlUVl@UbVXUV@xVJVzXJVUL@VV@VKn@@Xl@XK@UmÝnKVbVakkVm@kUK@UmIm@LkKULVU@WJ@UU@@VkXU@Wa@@UKWL"], + encodeOffsets: [ + [108799, 30241] + ] + } + }, { + type: "Feature", + id: "500108", + properties: { + name: "南岸区", + cp: [106.6663, 29.5367], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VVJVL@bUVVnl`XIlwXJlw°nnlIXW@UÇĉk@WJkwkL@WVkU@LU@U`W@UXUV@n"], + encodeOffsets: [ + [109092, 30241] + ] + } + }, { + type: "Feature", + id: "500105", + properties: { + name: "江北区", + cp: [106.8311, 29.6191], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nLVU@wV@lV@XllÈKlU@L@@bVKnx@I@JVaV@x@Il@@Un@laVVn@mkUIm`k@WXJmk¯mkxWIkxWJk_UmVUUK@UU@@l"], + encodeOffsets: [ + [109013, 30319] + ] + } + }, { + type: "Feature", + id: "500104", + properties: { + name: "大渡口区", + cp: [106.4905, 29.4214], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@k@@U@w¥WKkVkImUmwa@b@xWJ@b@nKVU@L@WVLXKV@@z@V@bVVU@@VVL°K@U"], + encodeOffsets: [ + [109080, 30190] + ] + } + }, { + type: "Feature", + id: "500111", + properties: { + name: "双桥区", + cp: [105.7874, 29.4928], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@WwUwU@kK@KmbU@@V@XlJ@znWlXV@XK"], + encodeOffsets: [ + [108372, 30235] + ] + } + }, { + type: "Feature", + id: "500103", + properties: { + name: "渝中区", + cp: [106.5344, 29.5477], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VL@VV@VL@aUKIUU@@JUVU@"], + encodeOffsets: [ + [109036, 30257] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/fu_jian_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "3507", + properties: { + name: "南平市", + cp: [118.136, 27.2845], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@knyk@KU¥wV@nkWzUmk@@lKUa@aVI@UKUamKUUVaUI@X@UV@K±IUVVlUbUbUL@KWUXmWk@KkXmmkÅKUa@amUbkUkKWUnwUÇwVUUÝUKV£U@nKWwXLVKm¥@wUXkmWk@@wX@lU@yVImaXwV@knU@mbk@mlUXmU@mV@n@bnW@bUIWJImVUKWbUK@nkKaU@W_VUUmWmL@UU@bUWUL@V@bmVUz@`mUUVVbXL@VL@lmLUxmVamXkW@xWbUVbUxkU±@ÅUmmkLUbW@@`kLknVlV@lbXxlVUXVVUU@UbWkIWVUUUJkI@llbUxVL@VVUU°ULUmWXUV@VULWb@xm@UaVLVKUa@w@VbkmVambUUm@@VkK@@bxlxX@n¤@X@@lkLWV@nVkb@bWJXLWx@nkxmmbXn@VWVUn@VnJ@bVXl@VJXnWbX`lLUlJVI@@VXV@Vl@bn@@Æmn@VxXU@mVIlxVnIl@nVJaXI@mlU@aXkVm°klmnVV_na°@V@xܦXKVnnUlVXbVKLXKV@naV@@VVl@@lXblXWnLlbVK²n@@VLUnlV@lXxô°V@UnaUUlKXLVUVVUbVVlUnJVX@VW@an@lb@nl@VU@anUVW@kaUm@InVVKVU@kUW@Uam@km@kVa@a@nwU@WlI@mVI@WXaW_n@nlkkW@U¥@kV@Uw@wU@@IXK¥VIn@nU@`@Xl@VVLnaWbVaUwnU@VIKlV"], + encodeOffsets: [ + [122119, 28086] + ] + } + }, { + type: "Feature", + id: "3504", + properties: { + name: "三明市", + cp: [117.5317, 26.3013], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lL@Un@VVnabnUla@Ux@VbULUKVbn@w@XaVK@UVUXWVnVKV¯VU@UUKVwka@klJVIVVXUlJXVaV@VUUVWkUWwkaU@UklmlK@_X@ValKnnÆV²@lVVwUaVXa@wlXnWbnUVwnK@kK@UWKUaVUnV@_VynU@a@UVKVXaV@@VnKnXVVUX`V@blL@mVLXaVLnUJXIVJ@amX@a@mnUV@nVWnkl@naV@ml@@KmKUam@UU@@UlKUVkUK@aVaUwVU¥UIkJ@wmI@mbkwkVW@UXKULU`IVKUa@LkkVmUU@WlULUWÅU@I@WWnU@@w@a@Uam_XyVIVWkk@mwVKXUV@nwVXkWÅU@aU¯KUnK@¯mULXVLnWVbVbUVm@Ub¯¼W@am`kbamLUUUaUXV`@x@XmJ@n@L@xkJUU@kU@mWm@kUUwUUVWl@VUkIy@kkaVUUmIWVXbWxU@kmVkK@nWVX¦WxU@@bkx@VU@Wk@kUbmJUUmkUW@_kKWK@knV¤kIUKWLUbV@Wbk@@VWL@VkI@lUXVxUVU@@mWIV@a¯nUaaUV@Jb@bÞ°VbU@XaUVmL@VXblnV°n@Vnx@VUUUlK@InJVb@Vlnn@VL@VWJUx@XlJUVVVl@LUUUJ@L@lUL°¦kVVnV@xVl@blLnlLVaXll@nVUn@xn@nml°X@lb"], + encodeOffsets: [ + [119858, 27754] + ] + } + }, { + type: "Feature", + id: "3508", + properties: { + name: "龙岩市", + cp: [116.8066, 25.2026], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@aI@VUbVb°m@bUXJ@nV@VUUwVW@klJ@UXK@Ul@Xa@UVaXKVLlJU£lm@XLlL@`VXnlVVnIVall@XV@@Ulw@aV@XwW¥XU@mlLnUlV@XwWaXUJVnUVlb@lzlJUVk@UXVVVxlVn@nXV@@lVVlI@w@K@mnI@W@wU_VWbVVVnKbla_nbX@°»Van@VUUaUamXUKWK@a@Uk@wWkXWW@wUUKw@_lywUkU@@U@kamVmXaUVUka@Wk@»UUUVKkbWUVUbk@mkxkKnIVUmW@kUKmXUmVaU@kU@m@KUWVkIWJ@U@UI@wUUUa@KW»nU@mVkUmm@XwWU@UUmL@w@mnVUU@aWak@@amxU@UxULWVXbVLU`mbUImVUbnV@@bVn@bnVWxLmyUbIUK@aVmakbVUXWUlKWbkV@WLUlk@@nbb@lkKmU@UIWJkw¯UUVVxm@@XkbWxXKlUzWJkUUL@bmKkV@@VUIUlWV@XK@VkbWx°xUb@LUbk@@VWb@LXJ@VWXU@@bUVVVVn@VVlLn@l@xk¦Vx@bVJXbn@JlnXxV@@nJ@X@V@lmxbUn@xVL@VVKlL@lnLVaVL@xkl@LxVl°XWVXVlJWnxlJ"], + encodeOffsets: [ + [119194, 26657] + ] + } + }, { + type: "Feature", + id: "3509", + properties: { + name: "宁德市", + cp: [119.6521, 26.9824], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@LVKVaVaUkVU²J@LVU@@WVJUbVVnLVbL@VUJ@bVbkL@l@VnyXmlU@xV¦L@lmz@lnL@bVVbVb@lnKVkVl¤@zXV@l@XJVLVKnXVKVnU@wUm@KU@UlVlw@U@U@UaUKlU@kXKlmXIWKXaVIVUVK@KU@@kJVUnLVJUL@VIVa@VnLKUnl`VbVV@Vbn@Vzn@lKnVlIVVKUalkXJl@XXVWVLVUUmVU@Unm£lK@Uk@WUXK@U@WVwVkĠkĢÇ°aUÅUwmaţɱUÇaw±V¹XalKôx@UVaÜʓͿVóbÅLJm¯Vk¦k@mamXkKUULakbk@mV@LkJWb@VkmXk@UVmaUV@amLUKUamI@KUaU@WbU@UUUUIWJUkm@wKkVJm@kxÇVUK@mUVUkmlkkVm@amwLVWU@UbVLkUb@VmK@XaVWU_VJnwV@@kUmWakx@kwWakIWxnbUJz@kVW@@x@XllnVW@xn¦ULWKXxmL@VU¤VLÞVVUÈxVmxXVlLlVanV@bbVLlÆnnlW@LXlWnXV"], + encodeOffsets: [ + [121816, 27816] + ] + } + }, { + type: "Feature", + id: "3501", + properties: { + name: "福州市", + cp: [119.4543, 25.9222], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lxna@nJ@xlIVJV¦UVxUb@bLVUlVkL@V@VVn@VbLn@LUlJXblx@lwXbVn@lU@mxUIV`UXWb@nLU@ValUKVaV@UXKnxbn@lUkllnUVnV@VLUÈlwn@UIlLxn@VlXIVJVVVV@XaV@Vb@LnJVbVLnK@bVUnbVUl@nWl@UXalI@KnUl@labVKVlLnWnbl@l¥°UnIÆKôaUa@UUwÇWǓIUWUÅVkƨm@@£@KmLU¤ULˣJkUVǟUUķ@ĉVKUk@Ñ°wôÇç@īé@Åţ¥mīÛkm¼Å@VķVó°ō¦U°n@bVJXVVL@bUakLmx@xmxXzW`XbWnXV@bWLÛ@a@aXbWVkaÝwU@mlWKkLWWkLUKULW@kVmVUUÝUamV¤n@xUVUzkJV¦lJU"], + encodeOffsets: [ + [121253, 26511] + ] + } + }, { + type: "Feature", + id: "3506", + properties: { + name: "漳州市", + cp: [117.5757, 24.3732], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@bl@Xb@bVVUm@nx@nKVV@XVWxn@VnUl@nmVX¼@LVbVV@xVJV@@XIlJXUV@Ln@lVV@UbVnnWVL@lnXUVmJLlwnll@VaUXVlaLVUVV@¼Xl@lbUVVWbnnUlb@@VV@aVUmlUaUny@kU@Wkk@WaUVk@@ammk@@U@UlU@aUa@wl@mXLllnLU@anVnU@L@VVV@KlXnWVnVanUw@w@wmnÅ@waUam@UkmUl@@aa@U@¥kôKwȯ°w@ŻkwǕaKÑÛk@ĕōřċ£ĵUKW»kÅŻLU@Ulġw@¤VzVUbkKUbmLmlULU¼UxmbXl@bWVb@bUnVUVbULU@@VkbVL@`U@WX@XV@b°@b¯@¤@Xm@@b@`UVVUL"], + encodeOffsets: [ + [119712, 24953] + ] + } + }, { + type: "Feature", + id: "3505", + properties: { + name: "泉州市", + cp: [118.3228, 25.1147], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Vlxkz@`xLVV@xXXWXl@xl@V@bnV°@LVm°LVbV@ÆXWlUmxU@WVULnx@llUXUJWzn`Vb@@b@xV@mXX@@JÆVVXVKXkV@nVlUl@KVbULJV_VKLVWX@lUVkIU¥lIVyVU@wm£nUVWU@am@UmWw@UX@@amVUn@@aUUlUVanaWUXWmUnkK@VUlVVUUw@XLWWXma@knmbVbVXbVL@XJlInlLwmXów@çV»ÇçŋaķƧóƅóKġ°nÅUķƑUÇW@¯xÇ°öÆlVn@lla@Lb`@VXVVx@V@bULVJUkÇ@¼XUKk@mmULkaWbk@x@UkL@a@K@U@UmKmbU@kV@UmVUbUmmXkW@LUU@U@KmVmU@bVmKkkWKnk@@xVb@bkV@V@Vl@nn@bl@VUXbl@XlV@@lmzVVbknUVb"], + encodeOffsets: [ + [120398, 25797] + ] + } + }, { + type: "Feature", + id: "3503", + properties: { + name: "莆田市", + cp: [119.0918, 25.3455], + childNum: 2 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VbÞVVnUlUX@VKVLlKXXlKXLnkV@ÞxlbXUWab@bÜ@XK@aWUXmWaX_Wynw@wnwlKbV@aUKWUUI@amV¯Ŏ¥ô¯ĸUUÆ@n»¯aƿé@ţ¯nĉĬÝKóó@ÑU¼@èxWônxKmkkJWI@UKWaUUaamn@lnbWXXWK@VxUVkUV@ULmlnVWXXVmbUbkVVV@bm@UVn@bW@@VXxn@Vn@bVUX"], + encodeOffsets: [ + [121388, 26264] + ] + } + }, { + type: "Feature", + id: "3502", + properties: { + name: "厦门市", + cp: [118.1689, 24.6478], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@VlUV@nanL@V@V@L@blK@Vwl@XalbVKnnl@VLW»È@lVUIVK@a@UUwWUU@_aK@bkkm@UkõÅxóLl@¦@Vb@bk@VnVln@Vbb@xmÆn@x@xx"], + encodeOffsets: [ + [120747, 25465] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/gan_su_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "6209", + properties: { + name: "酒泉市", + cp: [96.26220000000001, 40.4517], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÇnÅaĉ@U¯¥UŹ£WUýUU±JkkUwyÞIČxĊĕĊ¯¥ÆUkţUÅÓ±¼IUx¯UÒƑÝÅ°KÝnğ°ÅU@@Vn@þ¼¯WnŎ°XLWlnVnbWnVXxmbabóUlǕUUaIUmlU¥k¥ĉwkkÝɛa@¯U¯°mVkVnKlōÑÇÑU@klUġkUŻnUW@¯k»mWV£UKnUmUww@UIVaXwm»Èmmwn¯ċ¯LĉUJUalka±Va@Uk@ÛѯWmnUaɝ¤Ûmn¯m±x@wóxÛLġÒUx¯VÈJUbózÝÇKĉ¯ōlÝUÅWl¯nťbÝ@¯ǩLġmV@ƯĢkÆmĊkVťLɃmÝXó°@ĢbVóVݦɱ@ƧaġUVĠÇÈV¼UVţwmbJÇwˋaXmǯKkkmbXm¼V¼ǬŚ²¤ôŰÆƴô̐ŤǪnɆӨ¼ɆLÆłUĊxŎƞȘǔˎǬǪnƨŮǬö°»ġÞÜÆĸÒĊǀbƾèôÈ@¼¯þŤĸƧ°VĀ¯b@lÈĊʠń̐ȘKǀֲॗţÿǕý@ʊǓƨóÆÑǖŃôw@ʈƆÅÈVVĊVóĊÅ@ÞƒĬV@Þī@°V@ĸĢ°XτƜĠ@ÈaÜ¥ŐƅnğóĕVġUůƿŋĕa±VUťÇğÑ"], + encodeOffsets: [ + [101892, 40821] + ] + } + }, { + type: "Feature", + id: "6207", + properties: { + name: "张掖市", + cp: [99.79980000000001, 38.7433], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÈÒŎÒkmLUlU¯nV°@°ɜbÞĠaÈ»ĸlLVUÈ@Ċ@ýUm@@ÆVĠ¯ÞmLƯރѰVVwJ²»ÆÔVlŤÅV¦ĉ°ĉĖċwÝJzVxll²IVVVþX¤źV°¦VĊ@ÆbÈmǔLĸĠ¯Ģaô¯ĸmÆÛUlÇĸk°XyĊUǔVǩnmV»a@ýnK°n@l¥@»żĊ¤mç@£ČU@mmVkÞUƐ±²¹°ĠwÅƑŃU¯V¯aÈŁÇ»ġn_°xŎKlxklx@Þw@Æm²bDzLlkWXať¯ĊaÑK±w@wUÅçV±Uk@@¯¯xU±±UU°ōxVxÅÔō°ó¯UݦóbÝþ@ĉÈóUVUx@VUVÝwÅÈÇóVkk¯JÇkmmL@KÇx@bk@U°ķ²ó`mn¯°UwlÅkU`¦ɛôķz@ÅnÇ°U¼¯KmVk²J¼ƏÞķô¤UL@mnğ`ÇnUxÇ@ÛÿU@kŻ@x@móJkÅ¥VŹĉóÒĉlċ°ķUƽÜ@x"], + encodeOffsets: [ + [99720, 40090] + ] + } + }, { + type: "Feature", + id: "6230", + properties: { + name: "甘南藏族自治州", + cp: [102.9199, 34.6893], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÞnKlnwX¥WÝXkxÞUn°aĊVnUUKlÞĶWXnĠ¥ô»@nmVL@¤°VzJanU@aÆwna@kU¯yX_aĉbwéXkWwÅa¯V¥m¯UI@@mb°aÈçU¥@»knwɜƇ°I°ÑÈmVU¯Xa@wW@wV¯Č¥l¯Uwnm@kaUaóKkk@Çab@ÒWa¯IÇxÛam¼VUxÒl@zÝÒ¯bÝaĉVĉwÇWzJmJn²mܯU¯ĉ@ġ¤Åb@²nml@@ULVxVU¼Ålmab@°l@WIU¯@m@ó@UzţyXÇUÇVUUVLkbWakVWmUbkkKUÆ»n°Knk@aUVmnk»l¯Ģlw@_kKVU@na@lUk@¯¥mV@kmbWb¯Åõa@mkU@kÇkU@`@óóbl¼Uxn¼lVÈx@blVkVVn`XÈġÈ@ÇK£ÝJmUUnUĖmlUmKUnVÅaUwUĉ`¯n¯wW¼nxV@bĉnkIċŘkXU±ÒxÈ@X°`lVIȯĊVVVan@VaUVażVmblkÈWWIXaalL@wVbV¦lL@lĠnÒUnkL@ÆÞkÞKbñþW¦ÛċVULUºkÈlŎUxÆxÞUUxÒx@XbL@lÆ@ÒlXVln@bm¼J@Ånx@bnĠmxVXmbÈè@Ċ£ČWw"], + encodeOffsets: [ + [105210, 36349] + ] + } + }, { + type: "Feature", + id: "6206", + properties: { + name: "武威市", + cp: [103.0188, 38.1061], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@±¯¥@klwU»ÞÝmwKm¯ç@kVÇUL¯lVUKġġm@a@U@X£°l°LŎÇ@aōVÝwÔKUÅWJ¯lm@ÛVWa@klĉUmaLUanak¯J±KkXóÜÅx²Ç@nUÒĊb°@ÆkLXÇÆ@xÝnxWxţ¯¤I@ÆnVVVlU²ÆèV@x²xLÒĉbŦ°WbXklÞ@l¤XĊ`wl@ĢÈŎm@bnVUb@ÈÆÛLèÇUÒŦlĸ`°ĮʟÆǓbĉôϚĊÆĢnŤéÑĸĀĊ¦@@l°l¦Ȯ¦ɆÞĊKŤĵĸů»mŁyġķŭ@Çɱȭ¯mƧUĊķnŁŻ»UaUƛɞÝƨů"], + encodeOffsets: [ + [106336, 38543] + ] + } + }, { + type: "Feature", + id: "6212", + properties: { + name: "陇南市", + cp: [105.304, 33.5632], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÈÞ@l`UmV¼@nnÆwVlnVVaLVÈ_ÿÞ@naxÆ@l_@VxnK@llLnxmÈŎJnbUxI°l@n¦lÈIlmX¥k°@kJk²é@klaUaVaU@@ÝnIWnmnxkºÞaV°V@nwKxôbÞ£VUbþLn»mVwIJ°@nb@°°IġUkÇKV@ů»lLnm£@anK@ÑÜn@»mL@£ykUUmbUÞÝ@kyÇbó»XUxWVzb±mÝbXawUamL¯»@wUKVwm¯ĵJ°ÅUWVkKVk°wÈVVÑlU¥kmVamknUw¯¯bċ¥ÅKkKkVċVk£kKVwÑa@kóyÛ¯ÇVkówXō¥Ç¼ów¯U±k@xIĉÒÅVmÈnÜ@n°bUbÝVUnnJ¯Į@m¦nVÜ@L°JXbÑ@aÈb@llôLVbb@lmnVxk°ċ¦U°@xX@xWb°UVÇn¯Ò¯Jɛƈmxl@¼"], + encodeOffsets: [ + [106527, 34943] + ] + } + }, { + type: "Feature", + id: "6210", + properties: { + name: "庆阳市", + cp: [107.5342, 36.2], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@kwĉ»VamV¯wIóVkl¯KmVō¯ÝWkL@bÝKō¦@@Lx@b@la@km@@l¯nm@UaÅ@óWUXm¥nw`@UUxķôÇ°ğ¦@VJ_nIVnalxkXJWn¯nVLxl¤nnVbklVX@xnxmV@bUK@nm@@xV°±aÅnkUWnUax@mn@¯LmUĀlU@lV@blLUblxklkIÇx¯°UXbaVUnV@°LUlnbX@`°nVmbnÆmVkLmK¦U@Xy@kl@U°K@¼XbW@bWnLVaVVz@xlVČ¥lbUxÞlVU@nÆWôn²VJlUƧLnmÜLXan@mw@wlUlV²mblwVÈlLÞ±@lVnUlxnkma@mkJ@kXVU@mn@¼VXUVlLnmVbôaVnWV»ÈUl°È¯ÆInÆU@kk»mKkÆġk¯@»mk¯@óÇlÇ@VykklUml¯Þ@w"], + encodeOffsets: [ + [111229, 36383] + ] + } + }, { + type: "Feature", + id: "6204", + properties: { + name: "白银市", + cp: [104.8645, 36.5076], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VKUÈl@è°nLnxÝÞV¼kx@l¦²°ĊóĠĊ»@ÈxaĊxlwÈVŤa@¯²aÇ£Jk£lnUÞ@°ô@ywl»lIX¥Ǫnw@ÑÞWlaÅlL@Uwĉakl@¯mwna°JV¯nUVÓÞÑm£²óWaUÇ@óÝUçV»ÈkkW@¯xV@XlK@wX@Vmm_@wÈÝKU¯ÇwVwÅK¯VkJXkWVaIm¯UkÇlVĀV°mxók@¼óWxĉÜU@UbzÛJÇk@ÆnVlÔ@kxô@ĬWL¯K@aÛImm@IUa@UÇêU¤VÒÇx¯ÒVlk@Wbĉ¦UbkWV_y¯Laók@b@nmbkx°"], + encodeOffsets: [ + [106077, 37885] + ] + } + }, { + type: "Feature", + id: "6211", + properties: { + name: "定西市", + cp: [104.5569, 35.0848], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@aV²wVJV_@LlanÅllŦçÜÓ_lnWaôkxUbmV@È°lènk°l¦`@nnL@ÈlÜIyVaV@ĊÛXwô@»lônwU¯ÿUÈkl°VnJUblXWIl°UV@aVVVmnL@lUUwmk£bV¥VUVwÛlaÇÝÞmk£LUy¯L@WlkKW_XaWmġU@akakXkmVwmŹVUbWónmwnWW£KÈnV¥¥Æ_klWbU¯V°aôbnaVwmaōInÇmwkK@kmLUw@`kÅ@wb@mÝĀÇ`UKUbmUUkÅxmm@»nUVk_Ý@ǦVÇè¯ban@@JV°nU¦°ÆbXxWlêxĊabW`zV°@lmbÅx@bmVbI`¦@ÒUVUI@ÆL@b¼@@lmxnL°ULÞğÞ°kLUL°xVnKVl@zX@"], + encodeOffsets: [ + [106122, 36794] + ] + } + }, { + type: "Feature", + id: "6205", + properties: { + name: "天水市", + cp: [105.6445, 34.6289], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@UyÈVVUnn@VU`UblzJnk@VbKU°lwW°nkVUÈl£°V@n¥VklkU±Unlw¯UkwmKUlmkUmnkym@Å@UmWÈU°l°anlJkUKlU¯Èm@kmWV»kkÝLUWUx±b@¯ma@¯IJUxnm¼KýaVUݤóawLmxU@¯UbݹlmwmnXmJ@ÞV@UbVbkbl@±êlIl¯@lW¦knÇJkm¥k@¯Jmbóa¯bUV°akXlÅ`¦U¦ÇmLX¤mXnxmôXaVźUnUxlnlWbl@bĢVnXWbX`lLXk@°KVzKl¤nÞÝÈkbÜ"], + encodeOffsets: [ + [108180, 35984] + ] + } + }, { + type: "Feature", + id: "6201", + properties: { + name: "兰州市", + cp: [103.5901, 36.3043], + childNum: 5 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@lW²L°IlmbVbKnbĊVlk@XbÜU@kn°XIÆVLÓÞxŎUlôb°KzU`lXVaĊ¥Xal@kU°ÑÈwUÑV£ÈéV@VbJ@nnÜJ@bL°XK@īówl@kÓmUÅmK@m_k¥l¯mkçǯ@nUaVwólXbmk`ÛÔťèkkmÆkbK@U`UI±xUbWlXmbVbÅÒólkIWJk@zKŻ¼@xUxó¯LWb@ÅÒ±¦U`nbťĀUVbLU"], + ["@@¯lwna@mōȯK¯kW¤@@V@bĢnĢVLU°k"] + ], + encodeOffsets: [ + [ + [105188, 37649] + ], + [ + [106077, 37885] + ] + ] + } + }, { + type: "Feature", + id: "6208", + properties: { + name: "平凉市", + cp: [107.0728, 35.321], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÆLUxÈxV°LÇÞ@xn`Ü@X@nĊÆwnJmwUxaUkw@V@waVmlLXÝl@XVĢmV°@nl@UUUWK@wÿVI²Òlm@nÝĊýVV@nJ°Ułm@kV¼nKĢȤôKblnKllVk²aĠ¥È¯ĸóVw@V_xmn¦VWôXÆ@Vbn@°m@kn@@lb@ka@wK@@UlKVaWXW²¹lÓw@_°n@@_lKÅķW@mLUWn»Û@l_Ç`Ûmm°ÅbWb@VWbUUKÇÅaġlmkUġl»LlUm¦@¯U¤ÇkVUml¯Xx¯kVLUa@mlIkyVa_UV@mmUVUÇVzUxUVU¦a¤lnVxVk@mKUnUU@bU", "@@@ż@mlkġk"], + encodeOffsets: [ + [107877, 36338], + [108439, 36265] + ] + } + }, { + type: "Feature", + id: "6229", + properties: { + name: "临夏回族自治州", + cp: [103.2715, 35.5737], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@ż»Ly@lXIJlôkÆÑUanaWXkW@yk@ULmUw¯KVlK¯ĠÝÝVK¯mKnwk@@»@aK@ÅVJVU@Ñ¥_Uy¯@£UKmn@ó¼ğ¦WmĵXÝkVLmVĉU¯bmÝVwWlXÞW¦xkmmLݱU@VÞ@ÅÈW°XܼƨyUĮnWnXÝxUx°lVXJlôV"], + encodeOffsets: [ + [105548, 37075] + ] + } + }, { + type: "Feature", + id: "6203", + properties: { + name: "金昌市", + cp: [102.074, 38.5126], + childNum: 2 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ĢÈ¼Çł°bU°VƒńÆǖŰnÆōĬǔaʠůĭ_kķÆ¥VÑÈçÜKÅ@ÇVaUm@aōnġÇk@xĉ_Wk£@ݱKȱaÅn@Ýx@kwlkwōL¯wm`"], + encodeOffsets: [ + [103849, 38970] + ] + } + }, { + type: "Feature", + id: "6202", + properties: { + name: "嘉峪关市", + cp: [98.1738, 39.8035], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@llĊx¦l¦kVVnJVbǖVkôVabnaWwUXmmamUXkWKō¯Xm°»ĉÇ@UVKķkǼğb"], + encodeOffsets: [ + [100182, 40664] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/guang_dong_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "4418", + properties: { + name: "清远市", + cp: [112.9175, 24.3292], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lǯkÿaV¯VaÈU¥ÆÇIlxmnbUxlUôl°kWl@ôVwUanUl@xVkaX¥kU»a¯±@kka@UwmUkwJk±k@L@ÝWUwVÝxÇU¯ÇX@mÅ@@yĉ£VmUwȗ»ÇUnlUnWU¯`Uk@@x@bÇxX¼VV¯LĀkÝL¯@VĀ¯lnĊW¦kVÇôkUÇUK@ţU@aóÜUU»@¦k@VxKVbn@Æl@xbWnlUlxÈlVÈ°Æ@¼@xWxŎVK°¥nÆkŎ@ÈÑmK@¥k@ô@nôV"], + encodeOffsets: [ + [115707, 25527] + ] + } + }, { + type: "Feature", + id: "4402", + properties: { + name: "韶关市", + cp: [113.7964, 24.7028], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@WXk±Ñ@UwmUwĉwlmn@Æwn£mkI¥ÇÅ@¥aón£nWWw£V`Þ@nVml@xô¼IV¥kUmkamUkVWwÛ»mó£UVÅKmn@x@kbmm¯aXkaVĉaUbݲlIlxnVVx@lb@l²°bV¼lW¦bUlwk@mVVbUxó@kX¯lókVkwVmankwJÅȦÇVUbU°blĀ°kÈ@x¦ÆÜ°@°¦óaVUôlUlbXl@nÜVnKlnIVÞ°W°U@bnm@¥IV²Ul°VnalzXyl_Vyƒ¦lLlx@ÞbKmknVWanwÑVwČº@n_ÞVaVÜIl@KÈVJ@a£È@@kmaV¯W@_a¯KmbkÇkLmw@Å¥"], + encodeOffsets: [ + [117147, 25549] + ] + } + }, { + type: "Feature", + id: "4408", + properties: { + name: "湛江市", + cp: [110.3577, 20.9894], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@kX@aUUċlkJk@wVJXUWk°W@nKnwlUl²blU@lIl@XbWxnm@lW@wwUJX¯VU°`ŎóˋkÝÝkÅ@ÇmğÈřmwaĵVxUÛ»°ĠǷnýmóX¥ɅĵҏÇ@°²ĊUĖ±ĮU¤Ç°Ā¯ɐnżUĊĊĬV@è@ÔÒU¼l¤nĠbêVĠ°ÈyzVaVnUÆLabVlwÆ@"], + encodeOffsets: [ + [113040, 22416] + ] + } + }, { + type: "Feature", + id: "4414", + properties: { + name: "梅州市", + cp: [116.1255, 24.1534], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nÔlW¼x¦@lVllLkèa@z¤Ė¼UxlnUKUbÝlU¼lb@VxVklJÈwV¯@ĠlÛĖnbkÆźÞUÈôklmL¥LWnKUkVa°Vx@IVV@x°bUkaa@mV@@ywLÑUwVUVUbÞVVann@XwÇÿ¯²aVamkXaÆ»@»nw@¥UXakbWa¯KUw@¥m@kwmLU»UUJ@kmU@UUWU@yanwmçÛl¯¯UmKUmwVkmÝXbW@XWÝbk¯@±w@»U@W¯Å@Ç¥UU@IUakJĀê°þXkam@_J°m@X"], + encodeOffsets: [ + [118125, 24419] + ] + } + }, { + type: "Feature", + id: "4416", + properties: { + name: "河源市", + cp: [114.917, 23.9722], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°VlmX¹laĢÒlm@V£@¦Ģklynn¼lW°zW°VbÈV@lÆbnnJkXVÆaÅW@UUw@kaV»ÞkVaVLkmVw»ĕ£@yblçkKkU@k¥wX»kmÓ@Wn¯I`@nlbWý¯éÿlI@XUmWUw@@UJUÇmKUV@xţk¯¯LWnUxK@ű»Vwa¯@¤WX@Û¦@¤ÇIȼWxX@WxwUnVbÅèmVa±²UWl@klȤnôܼXxlUnVlbVnlU¦Jó»@wnkmUÝ@U_¤XxmXm¤ôb@¦ÈƦlJn"], + encodeOffsets: [ + [117057, 25167] + ] + } + }, { + type: "Feature", + id: "4412", + properties: { + name: "肇庆市", + cp: [112.1265, 23.5822], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@l@¥@V¼VôÛ@bV@ŤVLÈlVÈólUX¥mĉ°kÿU°@ÞKlÿ°KUUW»Èw@aw@@nm@w£kÓVUVnKk¥£Vam@nkKkbÆǫmakmLU¥UmÛwmVUmUJÇaUxÇIn`mb@Þ¯b@nJ@nlUVlVULW¯Û`Ç_¯`m¯IbĉWċzx±Jx¯ÆU_k@J@UmbXôlLn¦@¼ĊxlUXxUbLĠUnVĊwlUb@lWXm²@ÞWxXUnb"], + encodeOffsets: [ + [114627, 24818] + ] + } + }, { + type: "Feature", + id: "4413", + properties: { + name: "惠州市", + cp: [114.6204, 23.1647], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lbW°bnnla@@wnmÆLVUkÇl@XkV²±bnUÆçUaVmxXw@WXwÇ»ÈJ@£Ü¥@XW@£°bUx²¼@ÆLVwmX°K°Ťl@wVUnLÈVVIky±wkKU¯ÅkXġÑÛlwUwlm@mnKWaÅm¯óÇmğb¯alĉUwķbmb@lÞÒVnmĀŹ@VbVUnmakLm`@xĉkklVÔVJVnlVUnmJmaLUblzmkLaō@@zV¦UV²kJnÜU@VXUL@lJL@bݤUnVb@xVnlK²Vx°VxlIlkVl²k¤@n"], + encodeOffsets: [ + [116776, 24492] + ] + } + }, { + type: "Feature", + id: "4409", + properties: { + name: "茂名市", + cp: [111.0059, 22.0221], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@LnÇlkKnkÆLUmÈxlUJló°n@ana@@X_@mÝóóU@aaU¯mL¯kV¯ÇVwkw@V±Ŏ£@@alw±Vk@mÅm¯ÿÅƧIÇ`ōô¯_UVW°IVx@xkX@mnwXWa@kkJ@kVa±kkVmxmL@¯XXlWVUI@xlIklVČV@blW@@nUxVblVxkôlxnynIƻưaXwlKbVnXbL¤kLèVV¼²IlĠVXynz°KVx°@VlLlblK"], + encodeOffsets: [ + [113761, 23237] + ] + } + }, { + type: "Feature", + id: "4407", + properties: { + name: "江门市", + cp: [112.6318, 22.1484], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lUXx°JWnnÆXVWX@ºVLV¯nUVnbôxaXmWXIUb°xlKl¯KxXÞ°XÈ¥Ü@ĉÞUç»nóVmax¯UÅU¥Ý¯@ç@ș@çĉÅUmUç±ĉKÝxÝ_ÅJk¯»ó¯nmèkǀWx¼mnUÜġ°@¦@xLkÇaVnUxVVlnIlbnÆÆKX¦"], + encodeOffsets: [ + [114852, 22928] + ] + } + }, { + type: "Feature", + id: "4417", + properties: { + name: "阳江市", + cp: [111.8298, 22.0715], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°nKV°b@bôVÞô@nVlÒôÆUnlnn@lmkmVkaÈkÆÆk¥ÅÞ»ÆKXkW¥ÅLmÅkamJUkUVwUmÈblKw@@¥Ģ¯VÛnm»Xwlƿ@kbWaʵ@óLl¯ƽ@Ln°Æ@nUl²kxb@@ō¤U²@lxUxÈU°l"], + encodeOffsets: [ + [114053, 22782] + ] + } + }, { + type: "Feature", + id: "4453", + properties: { + name: "云浮市", + cp: [111.7859, 22.8516], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@VIl@`V°Åw²IwČyĊXa°Jn°_È`Ü_°XKVkUUVk@mmI@°a@Ýnam_ÈJVwlĉX@lUómaUmVU°UK¹@WXUWmÅXm¯IWwkVWlÅLݼÆl¦ÅÅÇlbUllnknm@kmVmóÅkÑUW`@@bmb@¯mkôIkVÇwnVÅKmlLklmÈKVĊK°²`n¤nUbWlxVxLUx@°nXm`VklVxmnnx"], + encodeOffsets: [ + [114053, 23873] + ] + } + }, { + type: "Feature", + id: "4401", + properties: { + name: "广州市", + cp: [113.5107, 23.2196], + childNum: 13 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ș¼VxUnĊ¤@z@Æ@nÈW°ÈVwUÞVxÞX@Kl@ÞVaĊbU@ml£k±lUkkJw¯UUw±kLUm@waUVmÞ£@aKkI@KVUW@ÛVmlIU±VU¥@yğzƧÇƽĠřÅnī±m@²¯l°@nÝÆóUll@XnÝVU¦mVV°V¼Jnb@°mbn@²¯¯wVw@@nmxX¤¯L@VLUm@@l"], + encodeOffsets: [ + [115673, 24019] + ] + } + }, { + type: "Feature", + id: "4415", + properties: { + name: "汕尾市", + cp: [115.5762, 23.0438], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@@VxnXWV@bVJV@ÞÅU¥Ċx£UWUwÅUU¥WVUkĊÇnkV`°LVwnU@lbĊ¯Vnal@@çkUÝ¥ġaó¯ÅaÅLŻÆUýmy¯ó@ĉÆóȯwÆXbmL@nknVxkxÜĢÒWÆlV°Ll²xlz"], + encodeOffsets: [ + [118193, 23806] + ] + } + }, { + type: "Feature", + id: "4452", + properties: { + name: "揭阳市", + cp: [116.1255, 23.313], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VȦÆ@X°V@@¼x²°@lÞaWXX@aÞWlnUxVnnL°V@kmĢl@ak@mlk°aX±nwm±²¯JV²@wW_maV»U@m¯ĉUÑJlabVnlĸLlƅÛDZwÝ@ĉxó@è@kmbUĉ°ka@mVxU¯KU_mlĉÈVlXUV¦ÆVxVVX¤ĉwV¦ÝÆ"], + encodeOffsets: [ + [118384, 24036] + ] + } + }, { + type: "Feature", + id: "4404", + properties: { + name: "珠海市", + cp: [113.7305, 22.1155], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@è@Þ°V¦VÆ°wnbUÆ»nçÆ@nxܤ²llU°VnÈJÞ°UôéķUklô£VVˌKÞV°£n¥£ȗÝy¯¯mÅkw¯bÇĔğ@Ýn¯ĊVğōŁŻķJ@Ț", "@@X¯kmèVbnJ"], + encodeOffsets: [ + [115774, 22602], + [116325, 22697] + ] + } + }, { + type: "Feature", + id: "4406", + properties: { + name: "佛山市", + cp: [112.8955, 23.1097], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÈbInVVnUÜxnVV¦nKlnbÅǬlalL@mnUb¤l¦LUmUVlÔ¤@xmnVl°_XVVmkVmÈ@kn@VUK@°KW£nw@m@Ux°x°@±mna@¯amIU»U¯nUV¥ÞUWmk@Vk¯UknÑWÝĊÛ@ǦW¯WÝwLk°kL¯wVaWJXWnbwkVW@kĊ"], + encodeOffsets: [ + [115088, 23316] + ] + } + }, { + type: "Feature", + id: "4451", + properties: { + name: "潮州市", + cp: [116.7847, 23.8293], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°Üknèmxbz@VVX@VnV@lIVVV¼nKlxn@@¦Vx°LXblaWbV°£¯W@nW@aUñVwW»@¥ŤÅUÝǓÝóV@ńÇkUVmIUwÅVWÇX¹@W¯bkl@nlb@kġn@l"], + encodeOffsets: [ + [119161, 24306] + ] + } + }, { + type: "Feature", + id: "4405", + properties: { + name: "汕头市", + cp: [117.1692, 23.3405], + childNum: 2 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@U±°I±n²mx²@WºXÈÆUVxJUnlVÈ@ŃôUǔÞVçn»VyĢÛVm@»kaÝUǼóÛÈķKċ¥X¥Wwğk¯@wķKkUmabkIVÒ°Ċ@nVU¼bn`Xx"], + encodeOffsets: [ + [119251, 24059] + ] + } + }, { + type: "Feature", + id: "4403", + properties: { + name: "深圳市", + cp: [114.5435, 22.5439], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÞL@xbVVK°X°Kô¥Vw@anUèlkĊl@wn_lKnbVmUaUź@nÿUmÝѯUbk@ÆkxŻ@aÇXwJ¯LķÝUĕóĸóêWº@b²nmĬÆ"], + encodeOffsets: [ + [116404, 23265] + ] + } + }, { + type: "Feature", + id: "4419", + properties: { + name: "东莞市", + cp: [113.8953, 22.901], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ŏ@blKnykVaKnbnIVmUkUmUIUÓçmV@bUxó¦¯LW¯LUUa@wÝKğŚƾƨÈĠy"], + encodeOffsets: [ + [116573, 23670] + ] + } + }, { + type: "Feature", + id: "4420", + properties: { + name: "中山市", + cp: [113.4229, 22.478], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XÒlmV°ôÞÅ@m¯°k±@@aX¹¯VÝÇIUmV¯kk±Û£mw@Åmèżmô¼èV"], + encodeOffsets: [ + [115887, 23209] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/guang_xi_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "4510", + properties: { + name: "百色市", + cp: [106.6003, 23.9227], + childNum: 12 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lklWXL@VIl@XnJn@VUUalk@mK@kny@UlU@a°UU@VmaU@Ua@UWw@n@KmLm@alkmnIm@an@VIUamWÅImwU@@a@KX@JVLUVmUaVkUa@m@@Ulmkk°UaVUlKXbVwVIkaVmUk@KVk@aaW¯m@w¥laX@KmakVmnUl@nxVKInU@yVaVIV@na°KlxX@@_lmXUV`VIVV@n@lbn@@WUkValK@²yl@VUV@@K°L@KU@@UVaXIVVV@naVkVa@K@UUK@UUaLWaw@m@K@UVV@mVUUVKnLmVLKbVK@UUIkmI@mUIVK@IUK@VkL@WU@mU@WmUk@I@VJk@WwX_@amK@UUWkIK@LVb@mVmakL@J@bU@Ux@xbmI@`Iwm@UbmKUaUWa¯UkJWV@XJUU¯LUmV@ma@kkamKwLUUmWVkkm@aVUUkVKnVVUmXK@UW@km@Ukkm@@W@UkUy@I@aUUmb¤U@kUmL@bmJU@Ua@wkLWWkL@U@VaU@LUakKWbkUWVkKkLVLUV@JVbz@V@VmUU@kVmK¯@VU_VWakVmIUKUaU@@bml@XU@@V@LmKUVmVUKKbkaUXKUL@x@V@l@mxU¦V@lL@V@Ln@@VV@nlKUaV@nLUbmJnL@VWLkbmV@@LWXLlxVVIVV@x@V²blUVmLVUK@kWWXUlV@Xl`LXl@@Vn@VnbV@lVUVUÈVb@@`UXU`l@@XUVm@k@xmVknUJVXUbmKULmbx@VlJ@LVbkKUbVLÇUUVUVmU@VaUkUKVUwmLkUUVVlbkaXmwKUVVU@@V±Uk@VWUUm»XamUbKk`U@UnWW_kKmbUVUVmnUV@nJVUlUbU@UV@n@JmI@VmbnVUXlx¯kKmnVV@L@VbkVUmm@Ub¯LmlUL@VWLkmkLmmn£WmnKU_mWbnbmx@U¦UJU@Xmlk¦@mnUUm@@Jn@lVÔVJnIVWI@aÆK@I@aVKIlÞnnl@nl`nbÆX²l@xV@llbVn²VVl@nnV@IlW@Un@@kVa°KnÈmVaVXUlaVÈUVlwôUlynIVaan@lVXbI@n¥la@K_n@bÆx@XnJVnKVz@`VXVU`@b¦UV@VIlxUnVKXÈbVllbVbnVn@"], + encodeOffsets: [ + [109126, 25684] + ] + } + }, { + type: "Feature", + id: "4512", + properties: { + name: "河池市", + cp: [107.8638, 24.5819], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lLVlbVV@nXVlI@JVXmnW°bIVV@ln@nalVUbnW@kVkÒlbVKn²°bUlV²@X@`nbaUI@°wlU@aXJVI@aVK@wUamIXm@XUV@@bV@VmImnUUwVaVKXUnVK@akVwV@nL@UV`n@@XlnIUJl@X¦V@aUIVm@anV@UwnL@VlbVL@KVVXUWwUUVUka@UVJnUlbnalbVVn@°LV`Þ@XVxV@@bVlUVVbXnWlXnml@XXWVXJmbUI@VllUVkn@@VWV@Vnb@VXUJVnn`lLVka»lVLnw@WV@lInw@WnU@U@mknUVóKwUmUXUU@@wVJVIl@XKVVVbVIJ@Un@lVLnmb@U@Ul@nU°VUVJnnVJV@@mVU@@wkUVwkKWkyUUkU@alkÈ@lJ@xIl@UUWVkUw@Kn@@kmaVUlUULÇUUKl@UUmL@aXU@mlUUwmKkUUVKVUaKUnK@U@Vl@XUWUKlwX@b@K@XkV@UwWJka@aUwmV@U@@U@wUm@»kLWVkIWXnmV@VkbmKLUbkVa@aa@@aVU@aVak£@±UkVU¯VUUJVUI@kxmUmWUbLw@K@aU@@aVU@Kma@aka@_VWkk@UWVUKULWKULU@KUnwVaUKxU@UmaLm@kVmVa@UkmI@@KmIkxU@@KU@mmakI@VLkmWkkJ_U@V@L@nxXbKVb@VVL@V@LUbUlmbU@UUWJUb@VV@@L¯K@LU@UVk@±z@kLUbVl@Xm@akm@U@UUJU_VWkn@`W@kw¯LmbU@UJUb@zmVJULmwk@mVUnlnb@LWkb¦@x°nXb@bUl@LVlUnlbUJUxWakLUVVb¯llkn@V@@nVbUlVbUnVUK@IW@L@bV@nxÆJnXVbUJm@@bnmJnkl@bnnK@Lm@Xx@VVbV@nb@UVV¯@bkV@Vmz@lnLl@kVbUVm@mI@WkJ@UWKkXkl"], + encodeOffsets: [ + [109126, 25684] + ] + } + }, { + type: "Feature", + id: "4503", + properties: { + name: "桂林市", + cp: [110.5554, 25.318], + childNum: 13 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nU@JX@`XLm¦Vb`lVXXW@VblČnVlanLnmVLK@_Va¥@kUa@VmVbaV@XVVzlVVK@knKVmX£VKLlbn@b@llL@xĊôXaV@°È@¤bnV@@Wl_VU@WnVamwwVbn@KVLX@VmVUxlV@nVV_nK@mI@Wn@@IUĊ@@wVWX@@I°VVm@wmU@m@IUVklkUmmkÅV@@aV@@Wn_UKla@kaVlVanb@k@@KlVn@@aV@nIWWUUaVU@kKmwU@UImKk@UU@w@W@k@UkW@mk_W@Ua@a@¯mV£@mUUam@kWakVama@UUm@nw@alaUmnUlVlIVLVyk£Vm@k@UUJkK@kmKUwKkWK@UXImyVwnI@mkUlkUKkUVmw@kkJWUÈm@_k@@aaW@UUJUwU@@IWKkmUUV@nVl@bVb@bUUXakw@WUkbkKbm@xUlkLm@@wmKUX@UaVWXVmU@@UUUxkmWXkKkUWaUaUbL@`UL@LV`UXmK@VmakLVbkLxUJUIVbUVVb¯KV@Xnl@lVXbmÒnV@L@VWKkVUIWJkIUamUUbm@UkU@JUbW@XWxUam@kbVVUnUJmUUV@bU@UUV@Vk@bmULV¦U@VU`VLUL@xVbn@UJ@nWJXXVVV@bkxVbUxL@x¦@UlXUVVlULV@@nUb@xlnJVnlVknUlVUbmU@bVx"], + encodeOffsets: [ + [112399, 26500] + ] + } + }, { + type: "Feature", + id: "4501", + properties: { + name: "南宁市", + cp: [108.479, 23.1152], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lKnbnU@Ua@KLlJVX@VnL@bW`Xxl@I@UJl@nV@XV@nXV@lK@UVL@JULVJ@nnJlVJ@VULaLUKnmKULVVU@nU`lIXllnK@UlJnb@nV@LV@lwnJ@L@nJl@VUbUn@lnKnbVV@wVLUbxVm@LVVKXLVKVLXU@VllUX@`lb@bnbL@UV@bV@@b@LxKVanXVUUmVUUUaVUkyUUaImK@mUUVUkKU_@W@UVVVIUWUVaVU@UUKn@k@al@ll@bnL@bVUVX@V@@bKnblmn@V_@aUalL@a@akK@kVKUKlwUUnV¥VmU_VWVIVaX@VaalÅK@LVJnalL@LnKwlVUwmX@VXlLUVnblaUmVUVwXU@Wm¯Va@ÞKnw@wmk»UVW²a@_mW@U@IyLVUUKW@@LX@VUV@@yVU@UV@nwUUmJka@IU@mVkaW@UwUX@`@kLWUk@mkUUm@kUUWkUkWxk@@VK@nV@UVaUUJmIkV@UamLUbkVmamLka@kmL¯WI@wJmwx@akU@aUKmbkaW_nW@_U@Wm@a@wkwUKmk@bkbw@mKUkkU@J@bW@kVWz@bVUaVUx@ULkJWbXVVX`@mJUVU@@Lk@WbU@UJlnXlmVx@Ln@b@KLXWJUUW@kaUVUbmV@nnV@n@lVLVmLXmXkV±@kxÅLUbJWIÅJ@ImXalkUamKkkL±aVwKUU@mÞnbWJXm@lbmKULWUUVkabnn@Vl@VVV@VbVbnLWLXJWxXLV@@VV"], + encodeOffsets: [ + [109958, 23806] + ] + } + }, { + type: "Feature", + id: "4502", + properties: { + name: "柳州市", + cp: [109.3799, 24.9774], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@wUaV@nVaUVklmkUUmmIk@waVm@U@VKUkVUkWV@¥@wKVwUalw@aUUUWWXI@mVIm@Ua@wVKUKV_UV@U¥VKnal@U@VU@VV@aVUnVVIVmUUlan@VbXwWX@Va@IlVVn@VanVVblJXIVJlUXL@U@KmUnÑWakU@mkJUI@mk@wUmmUV@JXaWIXWmaUIJkk@WnJ@aUak@kkJ@kUKU_@myUóWUkm¥kUmL@KUKm@k_UmVa@k@@UmU@mm_JWIUVUWLUlbVUJÇVUIVwKUVk@mU@n@lUL@Km@@l@LVzJmUU¤m@UbV²U`U@@¼Vn@x@V@@VnUVx@blbXIVxU@Wl@@LaW@kxLXVWVk@@U@VmLVLbUVULVVlnLVxkV@nWV@bnKVVk@VLVÈVKVVkUnb@lm@@LVxUlVX@VkJ@wkIÇ@kl@blVVVzXllLUxlV@x@UV@nU@UImmUIUV¯mVk@@V@VamnUKkm@@VIUJUaUUWLk@UJUI@xV@VVWVnxLUômVV@VkVVVUnV@UVkL@VVV@bVxla@bkXVJVn`nU@bb@bVL@VnJ@l@VaU@@_lW@UUU@Unlll@XLl@@UX@°bVWVanLlknVV@VVX@VVnUVLmbXJ@nllXX@`VXlmaXVWk@WkwJ@VL@JbnU@bn@@bVKUnVJVIVVVL²a@bV@@Vl@nUVakalmUL@VUL@Va@mXl@nK@UlKL@Vl@@nkllb@Vnn@nVV°lVInwlKXxlU°n@@I@UnVlakUJWkUK@anUWK@_ÞJ@U"], + encodeOffsets: [ + [112399, 26500] + ] + } + }, { + type: "Feature", + id: "4514", + properties: { + name: "崇左市", + cp: [107.3364, 22.4725], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@JVzl@V@Xn@ll@VlnX@@VWLnUVmUULVlUV@blnUlnXVVKxnLlb@lnbU@Vn°KVVI@WXUlI°VXbVVbnLVan@xJ@_nJa@wVwV@@a@IU@UU@WKXwWIXKmKUaa@UUUUk@@UmmalbVUXVVKnLa@knWXImanÝV@VLUx²blKlnLVbklWbn@JÆIXJIVaÆKlw²@lUnWWnKUUK@k@mmU@mnUVaVUb@lVXVXIWK@Lam@@KUwnWkkmVIV@Xal@@KV@VUnI@_UWWUkam@kkm@ka@mk@wkJWIUU@WXkWXkWWLUU@UakLWXV±VIVWUU@anUWaUK@IU@Vak@@UUKWa@m@ak@@wUkla@mUaUklakwV¯¯@WWUkLkKmakLUnV`UxWX@Jkn@bmlakkk@b@l¯bmbJb@VXnbVV@bJUkkKWVU@mÛVUUW@UVUJWXkVkKmUL@WW@UVl@XXKWXJ@XVlmbUxnnm@UlVnV@XVm¦VJb@mLkKÇbXblVkn@l@bWnX`V@@IVV@VV°n@@_naÆVVbUVVbUJnzlVUlXkV@Vlx@XVnxbKUK@b¯VVUVL"], + encodeOffsets: [ + [109227, 23440] + ] + } + }, { + type: "Feature", + id: "4513", + properties: { + name: "来宾市", + cp: [109.7095, 23.8403], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nVlw@VJUIVVUV°lU²V@l¤Ub@bUV@b@b@bUblVaKnLla@UnUWmXlJXUlKV@V_U±Van@V£nVIyU@K@kn@@LVK@k@mnVl@VULUxVJÈUVIUaVkXKVVUXJIn`@nnV@Vl@@UbVnl`n@VL@LnKlVn¦VlôXVnz@V`VL@llIll@Vbb@mIXl@lIVJnbWXXJWb@IUnVVn@xl@nVJI@WU°LUaVUUaVJVIwlKUalKnb@UnLVWU_@KVK@_KVa@VKU¯VLVKn@laaUkU@maVUJ@k@Um@XmbkyVaUIUU@KV@laVn@KXKWUkUk@aWUUVw@aXKmVaUUkmIlUU@wUaxUmmU¯U@WLUmVIUym@UVmUa@wmw@çm@aWLUJUIUamKmL@ax¯¥kU¥U@±kUVmKU_mJUbkKmLÅÇ_@WWUXUmaVUkKUWW@nVxkUxmL@KkKmbUI@KLkÆbUbW@UbUJUXV`UnU¦mVVkxVLUL@llL@b@bkKVb@bU`m@knmaL@a@@UWVUU@amK@akkk@@b@lmVL@VUVUbVVXUJUU@V@XV`lLUVVV@nnLJVbVlzUVVbVVnUVVU"], + encodeOffsets: [ + [111083, 24599] + ] + } + }, { + type: "Feature", + id: "4509", + properties: { + name: "玉林市", + cp: [110.2148, 22.3792], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VJUXVVXlWX@VxVnX@@`ULWUXÅbWK@mULUUmJ@n¯b@l@VULVxxXU`VXXJVIV@nm`@nUVXn@lWVn@b@Jn@nU@Lm`@Xn@WJ¦U@@VnLlV@@Xl`nIlJnkVLw@KVK@UaVL@bVKXlUUKVK@IVLa@U@WLUlVL@bU@@blb@VlbUxVbXUVJ@xVLUlV@VUbVLnKlXJ@Lb@an@VanL@`VLKV_UWl@U_a@WVInlVUUUVm@I@W@wVakIWm@U@XwlaVbnI@m»Va@aXaVLU»@aVa@kKkL@KmU@WzUK@wU@VWUUVUUKUa@mKmbUK@_nWVaUkVaUaVUVLXKVVUVmVI@UkKkLm`UkW@UwWW_UaU@WakXmK@xUXJkUUWUk@WlmJ@km@@aUKzmyVka@kkWVUU¯lmU@@wkkmV@Vk@mÅIUka@Ub@m@UUU`mUbWaWmbXXKWIXUWm@Å@y@UkIUJUUWLUWL@UkVUxW@kaWbKWnXxW¦nm`XLVlUbVbUxI@JmLUKUb@VW@@bkL@b@VlU@xk@L@lxXxWXX°V@VVVbUVV@UVVbULVnVJUb²baUb@VVVVInlV@VnXaVUlIVUb"], + encodeOffsets: [ + [112478, 22872] + ] + } + }, { + type: "Feature", + id: "4504", + properties: { + name: "梧州市", + cp: [110.9949, 23.5052], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VbXblVlLXWlnwVV@VV@UnWUXVb@VWXa@kVKUaVaVkUlyX@VaVmUwUaVU@UÈymI@aU°@nWV@VaVaw@IV@VmnLVK@kmmna@VbVI@aV@XbW`ULUVVx@VbUV@bl@VLXblJn¦lL°°@n@K@UlLnKa°LWbnJ¦UÒVUllLlVnKnbWnnV`w@@Xa±nl@XKV_WVkVa@kVyUa@wU£UW@UIVW@@awWaX_WKkVmUULmak@UJUI@±m»k@m»VyUImnmmwnkUmVaVIUn_mW@»Vk@VwkmmUXa@IaVmm@Wm_U@mIUWóLmUk@laXmmkUK@UmKULUUmWUL@VakU@Ub@b¼VUKWb@bUbn¼@mJUakbWx@@VXnlJUb@x@X@JUnVVUVmkUJ@XbV`k@VXU`LUK@_mKUbm@@b@U`@nlV@bUnbVbn@@`VbUbVV¯bm@@mJXb@bVnUllVXUlbUl@LU¦VVmkLVb@bl@V@XlK@V@nUJUz°mwmLmlXbWVU@UUUlIU@VVmV@@¦bXbWxXWlXVWL@LUmkbU@@LVVVJUblzna@WVn@@lIUVnbV@Vlbkbm@ULUKV°UL@"], + encodeOffsets: [ + [112973, 24863] + ] + } + }, { + type: "Feature", + id: "4511", + properties: { + name: "贺州市", + cp: [111.3135, 24.4006], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nL@xn@lKVkwn@alLlaXV@lxbVWV@aUa@aUk@mVUnVlXL@JV@VxVIVX@b@bl@@`ÇnXVlI@lxUnlVVLkllV@nmJUxnzWJ@VXLlLVxnL@lLlVI@V@lUnl¤UzK@Vl@LlLnb@VnVVU@kaKnxn@VkVJ@ÅUlakmWIUaVanm@_UK@UVWUa@klXamU@VmVIXW@lUVknVlKVLXVXW@b@VlnnVL@KXLKn@lb@UnW°@VaXWVb°aVa@I¯aUkUaVKVwaXk@aa@wkm@alanUVw@alK@Umkw@UaUmU@WXUaUK@UW@UaVWI@¥Xa@w@WWVXwU@mKUXUWVU@a¯kl@akU@UULmK¯VUVW@U_m`U@@xVbUz@lUbUlXU`WLk@m²Wb@@xU_mXmmamLkUkKVkUVÑ¥mIXa¯KbmLkK@V@Lm¯@¯kKm¥kIWaUKk@@aVUUa@UwVUKVX_WaU@@bUJUa@mbnn@lULmKUnU@@JxUbUbU@mX¯@V@bnJÇz@VUVVbVxUnUbW@kzVUlUbVbUL@lWb"], + encodeOffsets: [ + [113220, 24947] + ] + } + }, { + type: "Feature", + id: "4507", + properties: { + name: "钦州市", + cp: [109.0283, 22.0935], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@IlVVlnL@xlaal@nVLlx@x@bXnV@@`mXX`lbnaVL@blV@bwnxI@xXJ°nKl@lbnKnblUVanKVb@lUnJVIVUb@VU@mL@Ul@XwllVVXV@lVnlVnl@XVlK@@_VWVxX@lbUnV@@JlbnIlmnVV@UwVK@U@k°a@mnIVVVK@nXLÆaVWXVK@_W@Umw@UXWWkUUVWUIVaUkJUVWbUmU@mkUJUU@UVab±aVaUIUmVKUaVUU@VUUaUUU@W¯XWWww@k@Kl@wkV@U@alK@aX@@UmIUWUI@mmkXU`U_WJUnUJmUk@@amLU@UVW@UkU@@VbUWVUk@@wmKkUWLUWX@JmIlUkkKWKkLWU@UKWa@bU@@a@_UKWUUUmJmw@nV_@ġğKóLmbU¼VÆ@xUX@Um@wklVnUnlkaUV@lV²WVklWXXbWlkVkIm`UULUU@UWx@XU@@lWLU@kbUbV`UXllUV@bmb@LnKVbULmnVVIV`X@"], + encodeOffsets: [ + [110881, 22742] + ] + } + }, { + type: "Feature", + id: "4508", + properties: { + name: "贵港市", + cp: [109.9402, 23.3459], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@n@VzUJnVK@XV°nVVnwVb@xVVknJlVVUbnWL@bUxVVXbl@lVXkWXwWaa@¥@nUUUV@JVkVVV@XUWanknKxn¯VyVI@m@UkL@W@Uk@aUalKnUUV¥@KVkkaWVkUVkUm@aWanI@n@°aUUVaUa@_m@UamaV@akU@mV_@a@KWIkmLUKaUVU@kVUK@wUIWVUaVwka@Uka@aV@@aUKVkK@X@VbKU@JULVLkVWUL@aUKb@VUL@LxUKmlkImJk_@WU@kmK@UV@¥XIm@@Wn_@KmVm@@I@aUmkXm@UWV@mn_@mUUJWIUWV_WwU@mUknVVmxU@@VUV@zU@UVW@K@X@VLUVKz@J@VnX@`±bUXV¼ln@xmxÝL@Ubn°@XWVUxUVVnkbWVXV@X`ÆÈKnlLVanIV`nLVUl²V@V¦l°¦wb@nKnLVbVJIVXK@bn@ènx@xVbUnV"], + encodeOffsets: [ + [112568, 24255] + ] + } + }, { + type: "Feature", + id: "4506", + properties: { + name: "防城港市", + cp: [108.0505, 21.9287], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XV@X°°UlxkbVlVb@nkbVl@xl@@b@nXbVL@Vl@UbV@@JVLXbmV@bVVUXUJU²WXlKVb@VVXKlXWlXXWV@VXJlI@xl@nlbn@lln@lbXalIVK@VwUVbU@aXylUX@@aW@U_UJmUnVKUamL@Kna@aVUkkVWU_ValaV@XK@kV@@WwVXV@VKVVn_lJlUXkWaXWlkXU±kU@VUlbkVmUmlk¯ÝW@mb@¦VxULmkJUU@ma¯wmkX@VóJ±bUVUXÝWklWXXlxUabIğÇ@U@mVUKkkm@UJm@XnWV@x"], + encodeOffsets: [ + [110070, 22174] + ] + } + }, { + type: "Feature", + id: "4505", + properties: { + name: "北海市", + cp: [109.314, 21.6211], + childNum: 2 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VaVLnK@IJVwUaVaUkWKn_mX¥WwXmLXalbU£UyVÅ@Ýwm@°lLÅUmkmwÛaƑLÝUUm@ȣÆV_Ó@£UUV¼U°W̄ÞVbXbôx@b@bmV@ÇUÝ@@ĢU`m@nxnIVVVXVL@`@bV@@aXbVL@XVlKXLlLVlknJ@IWVXXKlVnL@xl@UVVXa@UV@VlX@VUV@nK@bl@nVVIVmXIV`V_lWnn@VJVXnJ"], + encodeOffsets: [ + [112242, 22444] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/gui_zhou_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "5203", + properties: { + name: "遵义市", + cp: [106.908, 28.1744], + childNum: 14 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@@UnUlJnwJU°VL@bnVUwlJ@XXVlU@klVUJknlUllL@bUJ@xULUlUblVkblbnwUXmla@wV@VK@L@UXaVKVLXWUVa@U@Im@@W@£UKUakKWIXU@al@@llUnL@W@Un@@VlUV@VIUanKl@Xb@lmxVb@b°bb@nlJVVnnJ@b@LV@ln@LmV@Vx@blnVKnlJXIlwJ@Òb@nlK@Un@UL@VVVVUUUVKl@VUVLJ@UVUUw@Wm@UVÈVlbUb@JLlX@@xLmk@@nlx@bUJUzVJ@@LVxUV@bWxnLnVVK@_K²xVbV@n¥@aVI@b@l@VaKnb@n`nmmýW@U_wV@VlVV@Vn@n@nI@Jn@°¦VaUU@mVVWVaUÅU@aVKnVbVUmmU@a@kUwm@aUUmUUJ¯lakUaXaWUUaVkkamkmUnVlULVlJ@XU@UJWUUwk@aU@WbkWL@U@WU@@XUKmV@aUVwUĕUJUamUUVUÑmnIVJ@kl@XalJVn@KVL¥@UWIXWmU@mVUKnUWLUKUaWUUKVU@U@anUny@UlUkK@w@a@aVU»UkVw@WmkJÅmUUVmwXalLXWWUnam@XkJ@UVU@U@W@@U@I@Wl@Ènlw@KXLWblVUkalKUUVVaV@@wnIlaUmkUKWU@KkUkLWaKUUWUn@VK@LnnWJUIVkUWVnV@V@@XK@VUIUJ@IWJkX@VVJIVkK@I@UVaUWk@m@wnUWKk@mxk@@lV@bxmb@x@VUmLkUJ@nVV@b@VkLVbU`¯Il@U_UW@UU@K¯wm@xL¯¥kI@bkb@Ua@m@kkW@XVbmV@kV@bWbUbV@¦xXlmVk@¦bkaWL@KUImK@wUK@VUIb@bmK@LÅy@akXW@kbWlXblL@ULUb`@UkUymX¯@mUJUUJL@Lm@@WX@lUVlXll@l@Èk°V°X@VU@UVll@XUJVXUVm@@VXLWlnV@Xk@mVULnxV@@bmkL@VWLUbU@UVm@b@ķ¥UnmJ@UUVkkJUlÔU`UIW@°kLUlUI@WVIU@mWKkXk@WU@bXW@J@xX@l@LVl@xLVxXX@xKnxVknbKVV@ULWlXU`@nUlX@llVXVUKlkUKlI@anKVLXKVaUIVWV_VK@VnLlU»VKVLm"], + ["@@@KlKkUUVVX"] + ], + encodeOffsets: [ + [ + [108799, 29239] + ], + [ + [110532, 27822] + ] + ] + } + }, { + type: "Feature", + id: "5226", + properties: { + name: "黔东南苗族侗族自治州", + cp: [108.4241, 26.4166], + childNum: 17 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@VV@XkV@bUbWJU¼Vb@Vnb@b@J@bL@LV@UVlUI@aKULVb@bkJmxlLVxknVJkxnKmnnL@bn`WIXlWLU@UxVbUVmKVXI@JVIVJ@UL@W@@UmUXUlVUVJXImm@KL@UVmVXVLXblKlV@LXVLlVVnkbmJ@xnXl@bXa@VanaÒLmVnIlÞ¦°k@b@@lVnJlUnVX_@lVlKVUUxVLVWVIXJUlnnWlI@KUaUUVKn@VaVXV@na@mw¯@mUkJUamI@lk@@am@@IUmVImUUw@anUVaUU@LU@WaWUXWWwV@VwnU@L@ynbl@@X@aJ@nW@@Vn@lVLlxnIl@@UWKUnIlJXIVllIVV¼XK@aVIV@@bn@VKXLVKVVVInwJ@UWI@mX@WKnI@KmUUVJUL@VKW@@k@aU@@W@InJWUXwWI@W@¯wkaVaUIl@nValIXWWI@UUm@anwWkXWWIUbk@UJmIUamKVUUUVVama¯VkIVVUlKnXVwX@@WVaUUVa@IlaVmknawkUU@U@mUVUVwl°LVbnJVU¯la@mX@@UWKXU@aV_V@@JlkU¯@VnK@km¯kU@WUW@mmU@kmlU@wkL@WUkL@VmLJ@b@V@bknUUVK@UVKUK@Uk@Wa@LUVVnUbmVk@@UU@@aV¯K@U@UU@WmUL@aU@WVw@IxXll@UXK@KXXVJna@wWa£naUKVm@UU@mUmalm@@XkVm@U@VLmWU@kkWxU@@bVV@VkXVlV@UUk@@mI@KUwm@UmVUUwU@lwkV@IUa@mUaVIVKVa@w@U@UJkb@n@bmJ@XmlVUxWXkJmUkUUVWxUlU@aULUmbU@@WXkmL@xUV@nUxÇm@XLWbnlnVnnUVUnVVz@lbUVVlULVb@V@nUJkwm@Ux@bWbUK@UULkaJbUU@U@lUK@XUJmnJ@bU@UwWax@zkJWnUJUUVVV@bXn@xVb@JLm@Xw@`@bkb@VmXUV¯L@mW@@n@V@L@KIW@@aaUx¯@Um@XbW@@LV@bnVWVkKUzlV@bÆa@lnI@VV@@LnVVKUaV_VJVbnU@bn@nX@yVIVxXKVLlUVaXU°J", "@@@KlKkUUVVX"], + ["@@UUVUkUmV@ln@VXVK@K"] + ], + encodeOffsets: [ + [ + [110318, 27214], + [110532, 27822] + ], + [ + [112219, 27394] + ] + ] + } + }, { + type: "Feature", + id: "5224", + properties: { + name: "毕节地区", + cp: [105.1611, 27.0648], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@UkV@kW@Xn@@KKVIVVIn°@nWVzl@V_VaVK@kKWaXklaX@lW@bÆz@KnL@aaVJ@UVL@xnLVJ@LXKlba¥l@nUWkw¥U@VaXa@amLkUKm¯kmkIUaKUIWkKm@anw@mlwXImUk¯@a@amU`kkKWVkxmUUak_mJmw@wmXUW¯X_@WnI@aVwkWWýÅU@WLkUaUbVV@lUVVnm@kUmV¯kKLwmVUUaWVaaWw¯wÈ@VULUVUUK@nWJkIl@Umxnbm@kbUJa¯bUbVxmLUVaU@VUUWxkVVV@bUV@XWbnlUbbUJlbUV¯b@z`WbXnmbawUwVWUbUxmbU@Uam@VkVawVaUWI@mUKóz@lUlÅ@WIb@xXxml@XklULWKUmwUa¯KUXWJkaULmKkLWbkKUVImWa@kUaULW¯LK¯@kbL@bx@J@bmnnlUlzU`U@@Ub@mn¦°bUVx@bkVm¼mx@mkmVV@bkxVnaVV@bU@mL@b²`lIVV@lXLlbVxn@@bl@XllIVnbVn°°wlbXw@mVa°lVnU@mVLVbn@@b@@WVnUV@Xlxn`VznJVb@L@bV`V@UnwU@WUXKV@UUlmUUlaXalLmbIVbnJVIlVVaUUnWVXnVLk@nWnblnlb²xxVKVXlVXLVWLlUVJna@wVL¼@JVX@`@nnx@nWJU@Vx@XXKUblxU°LVKVVlL@KnbVUnJIlUnKl£VWxIlJ@nVÞUVVnbVX@V_°lnK", "@@@UmWUwkU@Um@@VkL@V@VVkV@nbVa@"], + encodeOffsets: [ + [108552, 28412], + [107213, 27445] + ] + } + }, { + type: "Feature", + id: "5227", + properties: { + name: "黔南布依族苗族自治州", + cp: [107.2485, 25.8398], + childNum: 12 + }, + geometry: { + type: "Polygon", + coordinates: ["@@V@IöalK@UV@@KUaVIVVLlaVbVWnX@@LnUlxl@naVLXVVaVUJ@lUUanWWI@VlV@Xbb@Vn@VmVVbk@kU@VV@XJ@zn`ULW@kK@_WVUK@LUb@Jlxn@nnWlU@@bx@XVVU@UbVb@n`VI@VVLUlUIUV@KmL@VV@XIV@@lVLVmXV@WLXLW@U`nkb@Vl@UL@VVVLllX@`lIXbJIXWLaVL@XXWĢb@bmK@L@°@VnxmxnK@xVn@VkL@VLakbl`VnnxVnUlV@@VVXV`@k°JV_UalK@U@aUU@mIlVnKV@U@wnaw@akU@l@nwl@XLmV@xnl@VXUb@V@JlLUJUI@UlWUnLVUUaVwV@XKWkXJm_@amKnmmLwlUIlmUwkKnwlI@aUaVKL@bVJkVUU@@KK@a@I@ama@UUaV»XIVa@alU@WUU¯IWVUbkVUKWLUwUJ@zmWm@@amVUaUIU`VbULmU@KU@@UmJ@kÅb@akUVylLXUmU@aU@KX@Wan@V°@Vwb@bX@J@LK@@U@mX@@n°KVUnW@Ula@a@_x@WnK@IUa@wWm@aUUUVVVIXmlI@ywXbVxV@@aInmVI@WVL@k@VVVaIlbVK@VVLXa@aVwn@lxVI@m@UUaVKUkVUka@UymUVVUmmUmmkXaWK@ÈnVw@mVU@wKlnXW@V@naVVKUk@KVIUW@mk@KXU@Um@@lVk@UVJna@UWaL@a@Xa@kmmVUUk@mkkamJImJUUmIm±aUUkambkamVUU@VlbUbVVxXWVUU@VUakU@UmUVU@mnUVVnUbVJ@bUW¥kLVamVkUaWJU_UVWKk@@nlUVVJUXm@Vm@UnVlmbnmJUbULU@@UUKWVIWxnJVb@xUL@bUJWIkxbkb@xVJbmU@kW±LkKUkVa@a¯am¥ULkalÑlKXUWXaVakImV@ka@UUJ¯aXmmbKWU@wUUaUaKmU@UXlWb¼WLUKUb°UlVbkbVL@VJ@nVlUbUXmJ@VX@lbUbU@@bWb@VnLVJ@bVVUzVL@lnL@bVVVULmKUkJkbm@xVb@VkKVnnV@b@WXUnVlVVXVJUXlVXbWV@VU@Ubk@@KWbUUmL@JnXV°XJ@_`UbkXVVlÆkb@VLXVV@V@kKXX@`V@@n"], + encodeOffsets: [ + [108912, 26905] + ] + } + }, { + type: "Feature", + id: "5222", + properties: { + name: "铜仁地区", + cp: [108.6218, 28.0096], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°a@aÈbVUlU@aVKnVVVUlyX¹lWVa@UVnUVU@m@mUl@mÞw@xnIVbna@KVIJ@kwV¥UXÇVkVW@kkKWU@aXUWmnIVa°VXbmL@VVbnVVVUbVbJVbVKXkVKVanU@aWnWUWa@Unk@mVIVK@wXxlLXbVJVlKbl@VI@maXalVVVbX@@aalnkx@b@Vb@Vnx@bVVUXn¤WXn@Vl@Vlzn@`@I@KUU@V£namVkXa@aVKnnU@anVlKa@UUU@amk@»kU¯@aVWnkWmkImU@akaVm@»VUV@UKnkW¯XWlkUKnIWa@nmlIXmWUnwUwWm@wULmaUJkIUaaWaklwkwmJmU@bkJ@XUJ¯W@XbWbUKUkWJUUVKnn@UmmXUWa@mU@@UI@WmXVykwm@kaULWwU@¯lKUUVU@mU@UkmaUbmV@bxVnVUJVn@Jn@@bl@@knJVblInV°@nx@mbU@UWUbm@ULVVVb@LkJmXkmVWIUJUXUKVwVUkLkU@W`UmkVmIU@k@@a¯lÝ¥kmJUnKÑmbUb@Wbak@mWU@UbUVVkLlbUVkXaWK@LkxÇmk@@X@J@V@@X@VUV@VIWln@mbXVWXkKWbnxVUnVÆInl@XUxVl¼UV@b@b@xlLkV@VmzmV@b@VUVVLXVVbVLXKmVVLU@nnVWXXJ@V¦UK@LUmkIWbk@@lUImJnVÒVUnVVbVIVĖUxV@bnUVL@WV@@X@VKlXXaV@@blVxXVVIV@@WkIUVKUkVmlnnbllUVbXVWbblVkb°VInVVV@bnVx@l@bnVVnUUamUL@bVVÆUbUXUn@VVUb"], + encodeOffsets: [ + [110667, 29785] + ] + } + }, { + type: "Feature", + id: "5223", + properties: { + name: "黔西南布依族苗族自治州", + cp: [105.5347, 25.3949], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VL@Vl@@IXW@kVUVbnW@XlKVVnUVlL@baVbb@xX°ÔUxV@kbm@VxkxWJV¦@ÈnVKxWXJmV@nÒ@xVbn@@blLk`VX@bla²JVUlnn@U±lw@wnw@mlwVIX@@m@klKnkaKnwmmXkÆVmU¥l@nb°n@aVwVmVIVnI@a¯@mU°l@@VnI@JV@UV@b@IUbVJmXöºzllUbVa@aXUl@U@llLnKVaUa@UmK@UwVbnKV@VwVK@UXV@Vbn@w@UWnX@a@mI@UUKlaUaVk¯VaVLXK»XaWk¯mkğwmW@mIVkwJUIÇVwUUkVKkm@UkmU@WÅwm£Vm¤¯IkJWa_lUbmJzÝJkUÇVU@bUÝnm¯LUb@`mL@VkL@VUmmk@UU±Umka@kU@ķymUkk@mmkÝmUaUakImV@V@VÅL¦JUXmJXWb@n°Æx¼nV@LlbUUbmL¯@ÞbV¤nbVx@bUVlblI@KVVUnVJUn@VlLUlmLUUUxmK@I@@VW@@bU@UJmUkLVVUl@b@V"], + encodeOffsets: [ + [107157, 25965] + ] + } + }, { + type: "Feature", + id: "5202", + properties: { + name: "六盘水市", + cp: [104.7546, 26.0925], + childNum: 5 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ôyVL@nXJVUbxbUlU@nVbV@naVwaVUXVxxbnaWmXa_@y°aVUkaVIaVamkXa@WVU@aUUlUXwVV@UVbVUnKUwVa°abVIlan@manw@VklJXI@mLVVVUVK@UÇk@KUa@UkaVU@UVWV_XWVXVWlLXKlLXaÆKwVL@akKm@Uw@@XUVk@VUI@wWK@aUVI@UkK@mLW@kImJUÅVmkXUW@UJkx@nmx@xkxV²m@kmUV±Ikb@aUWl_kK@am@Ua@wÑ@mnUWIXwULm@ÇU¥XIlwUwn@laU@Vw¯ÓW@waUab@akKUmVUUkL@WmXUaUV@lWX@Jk@@UUKULmLUJmzkKmVX°VUnWKULL@mU@UnVJ@b@UV@X`m_@l@@bmbXJmnn@°wnn@VLX@V@nVl@nk@@bl@nn°WlXzW`XXVKnUlxVbUb@VXb@VxÈbVlnbmn@kVUL@mLUVVL"], + ["@@@@UmWUwkU@Um@@VkL@V@@V@VkV@nbVa"] + ], + encodeOffsets: [ + [ + [107089, 27181] + ], + [ + [107213, 27479] + ] + ] + } + }, { + type: "Feature", + id: "5204", + properties: { + name: "安顺市", + cp: [105.9082, 25.9882], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lL@bUKxÅLWbkKWLkKUXUWWXU`UX@VUVlb@VVb@Ll°xXxbbXUVbVnUxKlL°nUlVn@UmVU@kUUVablVXKV@ÆXþlXUxnU@mVK@_@ml@UU@blU@KnLVyUw@@UmkWVw@UVK@VXzVK@nVVUUW@kVJnla@nKWkaWL@Uõb@JU@mU@@_WWL@lUU@WUUK@lakÅUUlWVa_@`WIU¯mW@InKVVXa@Ll@VaV@@UXUWakUVWUIUWUkUmVXW@@amUUmLl@UUawn@laIVlnLVKUUU@amK@kUKVyUU@aUImK@UXa@aV@VakaW@@UnIVWVaUkb@mWX@Vxm@UaU@W@VULUxU@mLaUx@VnL@VVbUbmLkK@kVk@WV@bUbVakkyõ¹nWUIVa@J@aVUU@@ImJ@Uk@¯V@n°@bmJUUJUnUxbm@¯mak@¦VUnÅWlnnmxLbmlkL@l@nWVnlÆUVnIlJ@XnK@lL@VJVU@bXL@xVJUl@VU@W@Vxn@"], + encodeOffsets: [ + [108237, 26792] + ] + } + }, { + type: "Feature", + id: "5201", + properties: { + name: "贵阳市", + cp: [106.6992, 26.7682], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nlLXVJLVblJn°lnLlVnKlU@nUUa@WlX@ln@Vb@la@alJ°¦Kwn@°xLVkUmmwUmk_labK@UlK@UUm@wLmnwmw@U@¯@KnL@aaġXWW@UKbKWXJIWakJ@_kWkKUU@UVKk@@UlamV_X@WKXK@WUUnUK@kU@WJU@@UnK@LVUVJVkUK@UUJm_@UaVaV@UU@Ww@aV@Xkmmm@kw@IVa@KVLXU@`lLX@VKm_@yI@WU@UlVl@UanU@Um@UaWaU@Uk@XJmXVbkV@IUVUbWUUKmbk@kwmV@K@mWUXUakbKUUUJVb@LU@@VkL@VXKlbXmL@kbmUI@lVXUVU@mULWy@UUL@VUxXnl@V@VxUzmK@LkVa@VVk@@n@`UL@nmV@bmJ@X`WX°WVn@xnxnIl`VbnVlwXUlLl_nV@b@bl°VnWJkx@nmx@b"], + encodeOffsets: [ + [108945, 27760] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/hai_nan_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "469003", + properties: { + name: "儋州市", + cp: [109.3291, 19.5653], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@஼jpnr``pRVHÊ̤Zt^JÖA[CâlTébQhRPOhMBcRSQiROE[FYdGNOEIH]MgEAMLLIAG_WMCSL@ED]PCLYC[ZIHgjSxJTMbHNEFCMEE_HSDFHSLECRNSFDRICHNADGPI\\RZGIJTIAHLDQOHG`GTNCOIC@eIGDWHIS[kiE[FMbECZS@KKS[FDWsCeRuU_DUQNOE[LKGUBM¨EDQP@HWHGDImXCog_~I_fGDG|QDUWKBC\\ore|}[KLsISBHVXHCN`lNdQLOnFJSXcUEJMCKSHOUMDIm_DI`kNDIGEYFM\\YPEEIPMSGLIKOVAU_EBGQ@CIk`WGGDUM_XcIOLCJphHT_NCISG_R@V]\\OjSGAQSAKF]@q^mGFKSW^cQUC[]T}SGD@^_aRUTO@OHAT"], + encodeOffsets: [ + [111506, 20018] + ] + } + }, { + type: "Feature", + id: "469005", + properties: { + name: "文昌市", + cp: [110.8905, 19.7823], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@hIJ¤Ī¯LQDaFßL[VQìwGF~Z^Ab[¹ZYöpFº lN®D´INQQk]U[GSU©S_c}aoSiA£cÅ¡©EiQeUqWoESKSSOmwćõWkàmJMAAMMCWHGoM]gA[FGZLZCTURFNBncVOXCdGB@TSbk\\gDOKMNKWQHIvXDJ\\VDTXPERHJMFNj@OwX@LOTGzL^GHN^@RPHPE^KTDhhtBjZL[Pg@MNGLEdHV[HbRb@JHEV_NKLBRTPZhERHJcH^HDRlZJOPGdDJPOpXTETaV[GOZXTARQTRLBLWDa^QAF`ENUPBP \\Eji`yºEvåà"], + encodeOffsets: [ + [113115, 20665] + ] + } + }, { + type: "Feature", + id: "469033", + properties: { + name: "乐东黎族自治县", + cp: [109.0283, 18.6301], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ªVLP`@PEdNRAHOPEAKHEVL`GZBJfvdTAXNNTZJFPrHHNpKTD\\ILHbEVd^JOHLh@NNBnHP`\\xH@NBRLJTlNv_^CTLd@bNDVFbxdFVUPBTKOGEOUO@OEBXQP[H_EI\\EbeYa@UO_JMEJ_IEDKJUGMDcNUd_FMTEJSGoZ]EIYGO[YWgEQ]a@WHEDQKUSDUGAbYBUpSCYNiWqOSQEoF[UcQISWWNMSDe_cLQ_UBiKQOOASQAWgSā]ZaSPÝZ]XMXS[^oVËNgNKlE RôEø"], + encodeOffsets: [ + [111263, 19164] + ] + } + }, { + type: "Feature", + id: "4602", + properties: { + name: "三亚市", + cp: [109.3716, 18.3698], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@®ĂhTBXTRPBRPjLVAR`dKf`TCNXMTXRJVdE\\FpTRrPjXZMTDVoZABaVHTCLVCRGF@X^bFRhZXP\\ZHHMA[^wBWXJlW¤EJ[bCTOFWWMm@ILMGWQ@DQ^QNWFSHEbF`OXNbOVNKTEPDTLTCCVTREfvfEHNbRAENH^RJXCFHNFRpVGHWISDOTMVCZeGamaLoLÛD¹¹ėgsia{OųETtlÉwr}jR±E{L}j]HąKÃT[P"], + encodeOffsets: [ + [111547, 18737] + ] + } + }, { + type: "Feature", + id: "469036", + properties: { + name: "琼中黎族苗族自治县", + cp: [109.8413, 19.0736], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@bRFnHNbHgN@NPEnbXP@bND`NT\\@\\QZb@`@J]V@XhDpWnCJGHGXO@CR§FANHVKLF\\MPVR`CvVfQtDPKpGHG@S`WJP~^dSTHWX\\RHTFACQTIAUPOU@MG__IaYSFQKNSbORHXCZeTFJgB`YBMNMFi~IVDV[tGJWXGDQRGF]JrALgESLSAYDGIaFeXQLS\\MKSLSQYJY}eKO[EHiGSaK[Yw[bmdURgEK^_kcSGEOHKIAS]aFSU@Y]IWFUTYlkP_CUOUEkmYbSQK@EMWUuAU\\M@EpK^_ZMDQ^OXwC_ZODBrERURGVVZ\\DTXcFWNIAWJWAYUUFYEWLQQaCIZeDM`cLKRGpanJZQd"], + encodeOffsets: [ + [112153, 19488] + ] + } + }, { + type: "Feature", + id: "469007", + properties: { + name: "东方市", + cp: [108.8498, 19.0414], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ºxJYZQIYXLl@dR\\WZEn]bA\\S~F`KXaDeTiNO^EEKWEDQXITBXaWaDQMUJOIaTWf@NJV@dSxGZFu_@WMKAU}AQ@MwG_[GOAmMMg@GKP]IUcaFKG[JSCoLGMqGEOYIMSWMSBucIeYA_HUKGFBLOFGPQBcMOF_@KO©UAtERadwZQ\\@ÊJÒgòUĪRlR°KĮVLJ"], + encodeOffsets: [ + [111208, 19833] + ] + } + }, { + type: "Feature", + id: "4601", + properties: { + name: "海口市", + cp: [110.3893, 19.8516], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ńZƂtĢ¬æßFuz¹j_Fi[AOVOFME_RBb]XCAKQKRSBQWSPY\\HbUFSWSPoIOcCOHIPkYCQ]GdGGIFQYgSOAQLK`MFUIGa@aQ\\GGUFcHKNMh@\\OYKAigsCgLSF]GOQO]@GM]HyKSHKPW@Pxi@EMINYREXWRQ@MQcFGWIAwXGRH\\yDI`KJIdOCGRNPNtd\\UTMbQYi@]JeYOWaL[EcICMUJqWGDNZEXGJWFEXNbZRELFV]XQbAZFrYVUBCLNFCHmJaMIDDHXHEhQNXZ_TARFHVB@DTQIRR@YHAJVnAbKFUEMLd\\c^ÍÞ"], + encodeOffsets: [ + [112711, 20572] + ] + } + }, { + type: "Feature", + id: "469006", + properties: { + name: "万宁市", + cp: [110.3137, 18.8388], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@^J@ZTVbET^JBGLFPTHld]`FLQhcVanx\\\\ZbLHTGj\\FLP~fIZRZPVTQFSVAFJE^NDLEE[~LjsxVTG\\NZZNGlLRRGLJTV@hPZANN^@T\\NEPPbDZXO`d^HSvcJDIV\\XZAJUFCLNP@PQ¤@[ïKLÑIÏ]ÇE±I{uYśUćFcYUmsVeBSVgB[RO@aYYPO^]@UVaNeDShMLG\\EfFVE\\F`"], + encodeOffsets: [ + [112657, 19182] + ] + } + }, { + type: "Feature", + id: "469027", + properties: { + name: "澄迈县", + cp: [109.9937, 19.7314], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@T\\GJCXJH@fJDDPNCNJENN^NLHBNSx@DDYbBLLDRbjZTj@`XXTlG^Xr@PJLW\\WLTlWR@HDJTD@X_PO@STMDNTMVV@NLDM`M\\XM\\JNBH[PYZúYzŸ`Ċ\\ÎÝd]c[NKVFLEBaUmBIZGQ@JQSR@CUAEGBQ`SWYRMFgWGCGJCbNnIDGMEDKVAZUEqBYRa^WEUFKYQMaFWXEHIFWMYHCrXVIIiaK@aMCUYNSIISTwXALKH@XWXIEIJQCG[IEQDE_XSBaa[AIPW@]RS[FWS[CD]PEBYNGFSaSyJG]@ugEUDQlGHiBKHUIoNSKqHFaPMICK]UUHIPDJMuCA[SCPIDIOILGAEmU[POPBVSJDREBGS[QXWSGcT}]IO_X@TGHoHOLCX\\ELT@LYTDaFENF\\lj"], + encodeOffsets: [ + [112385, 19987] + ] + } + }, { + type: "Feature", + id: "469030", + properties: { + name: "白沙黎族自治县", + cp: [109.3703, 19.211], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@D\\RV]dTXELnHr]^@LETBBRTHPi^[@U`QTHDJ`MGSogDIPKdJ`WVNHCXHl_DJR@AH`FBVPUJLHKNTJOFFZON[ZEHFCJlMJ_Cn`CJVNGPLTNDFIdVTWEIPmRKMc_kDMWGGUTAtJLK~\\f{pqD[LAVXRCH{HC`eJ`}@W^U@I@_Ya[R[@MSC_aMO@aWFmMOM@haGGMEmaQ[@MESHaIQJQ MckBIw[AOSKKAMPSDSLOAV_@@`KJRbKRDfMdHZERgAWVsDMTUHqOUr@VQXTT@TfgL^NH\\@heTCZaESNObHPHeZF\\X^ElM^F^"], + encodeOffsets: [ + [111665, 19890] + ] + } + }, { + type: "Feature", + id: "469002", + properties: { + name: "琼海市", + cp: [110.4208, 19.224], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@TP\\pATHTGlZDJGAQjE\\Rb@jVBDCN`JZ[NCNHNXbULPrP\\KNbMTLjJJRFP`pNLZz^FLRHjVPZ@hxVKbHBHMNNJFRlLzGPnNHhIrHHADcPWdUAmEMVQDSKYHY\\EhBN^HpXGNDBNNBnIßÅ_g{³So]ã@ORO@KMEDIVYB[WJUICudGTc]P_YWaCOOMFS[]@MMYBgOU@ISHKQQkKMHYY[MSHwUit}KF\\KFMCF]EIUBETSROUKTLT[NKTWREfJbCHBZKTFTKh"], + encodeOffsets: [ + [112763, 19595] + ] + } + }, { + type: "Feature", + id: "469031", + properties: { + name: "昌江黎族自治县", + cp: [109.0407, 19.2137], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@`ZĤd`òü BSPGP@VSbQ`@]HC~T^SE]N]FkW]E[fYGGOPaTMbFDYfS@g[MGK]he@SSSRW@UVqrPVGNStCXUhBFQGYNcCeLQQaLI@_`@EUwcEaCUaMc@SK]Du`MSkKI~BVNL@X`EvYwHcTU@MIe@SXJbIPNVCRXbWbSAWJCRXFFL]FMPSjCfWb_L}E[TaBm^YF[XcQk@WKZJYRIZw¹ "], + encodeOffsets: [ + [111208, 19833] + ] + } + }, { + type: "Feature", + id: "469028", + properties: { + name: "临高县", + cp: [109.6957, 19.8063], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@jD`hNd\\^dZädĒH´Op@ùZY\\OAGIMN[[W_NCNMKU@NUMSNCTSP@`O@WSCCI@GXQSkXKX[IK@OWqH]SkWW@_SiiYQaKCAKZaCCw@MTGAMKM]FMMIMDSM_HGHRPKCBGSJJIYH[QOJCHMBDGQJECMTDQKFGTCEGTF`NFEDMFaGSNwIiTGhYJD\\KZODC^@FTKND`XBHKJNKFBNhG^FJMPcHEZF\\QPRjQTAdgNOPgQaRSê"], + encodeOffsets: [ + [112122, 20431] + ] + } + }, { + type: "Feature", + id: "469034", + properties: { + name: "陵水黎族自治县", + cp: [109.9924, 18.5415], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@R]NC`YL]FoN@V[vBXVFNL@TRZalnVFVP`DlOZkVSXEE_F[EUFeH[NKTgfCbMVU^@P]ZObZP@\\QhATUfAtUasñiāEoI]eYǯ@aKmaeWuCºKÜKpnbHbYfUDSNCPJTRAHJTDJSfDNLHXC``VBNGTYCQDIXMDSP@xLNEFRNXBIpVNLXah@RgF@`qOML@LJNSPLbaHAh@Jdj"], + encodeOffsets: [ + [112409, 19261] + ] + } + }, { + type: "Feature", + id: "469026", + properties: { + name: "屯昌县", + cp: [110.0377, 19.362], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@\\OnVBFKHPJCJOJTDB\\vDINOCGJVVL^JDONEbrGTLpMVJLGjAHGRkVChF@vH^zIbTETMHAZOFC^\\DXT\\EffAP\\PdAV@UIYfS|S@YPICMeM@sC[_A]VQEwyHSMuNcAUlQJMVGMS@mVBZPFO\\CSFQK[LqDMACiUa@[QiFBRIHYCHkGSBS[oSOqBIE^QHCRWHIXsHU\\UC}JEjMNAN_ZAIhSEYfWDQGaPMTLERZTJb``NHV@"], + encodeOffsets: [ + [112513, 19852] + ] + } + }, { + type: "Feature", + id: "469025", + properties: { + name: "定安县", + cp: [110.3384, 19.4698], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@JjDNdJ\\FbKPXfZ^Ij@RZNaVSc[MsMOHQPDJcLIJ_zCG[HQxWJBHXdENRR@XQFWZQQGOFSWUCI[WCJuRGLXNMPLhCl[Ta@SqGgJMGOmyHkKEQMINMAGaGULgwY@UOGiKQ]EYyMKoO_QEIIKiNSMa[LqOKOaVMWMGMDY\\_IKrL\\ERT[DEPYOUA@nNTUHINkRBVMdNvGTxzRF^U`BD\\@tfNDNOJ@Z{TeTJZ@VUcB[OBOeeQT@^OXBJb\\AbWTF`RCJFH\\RDJIJFXW@WLGBKxWTSJJMTVZND@bbL"], + encodeOffsets: [ + [112903, 20139] + ] + } + }, { + type: "Feature", + id: "469035", + properties: { + name: "保亭黎族苗族自治县", + cp: [109.6284, 18.6108], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@FJp@fxpQ\\ApN\\GNPNBM`HLMrXLXj\\PEHnI@WUCEM\\GTc\\GZYHTPBHRCPTdH\\K\\@HXiBJILJJAVNTOZJNtFPC`YxDPWci@IBgbGKaTOIM@KNKrP@_hE@QbgKWUMJoWAQMFEKM@wTONCJWRCZDHSAM_UD_GWMKeCITSCGIQBGXUHQoMEEGWDQIG]FMQBMaFGueFeSQDUSDSKOCSFMLUaPWM_PaEGFETMX]RCRR@HXKN@JNnXXESPaDI\\£FkXWIAX]xB\\GN"], + encodeOffsets: [ + [112031, 19071] + ] + } + }, { + type: "Feature", + id: "469001", + properties: { + name: "五指山市", + cp: [109.5282, 18.8299], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@TCNOLBTLBPx\\AJdlNRRIbJTGNF\\@RcIYbmHoLQdKN_fCJYbDRRXKZFVEZVXBXIJBXMdESW[CUYHUVQFQAqsEIMPYMSBUIIJKAIjGW[@[LGScDOGQOAGSYZ[HSd[HFNVD@XmJFG[OWiWKNqGKN_MAMO[HoM[BoRewo@Y^HpITSFENc`MVCdHNIVCLJFI`NFIP`@VZbaf[FFJG`O\\WRFA@PVPFPPH"], + encodeOffsets: [ + [111973, 19401] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/hei_long_jiang_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "2311", + properties: { + name: "黑河市", + cp: [127.1448, 49.2957], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VÈÞ@kxnX°VÈa°V@kôwbJVkXlVUx@lL@xkVV°VbxlVUnVxk@KkVbIl@°kVl@lÆnkll@@VVX@V²bUlVlVUVÇn@nkJlkVb@x²V@n°VUnlKUn`@n°bWLnVUblVUVVbknV`°kkl@@V°@nzJ@XxlWXb°n@bĠlbXbbVbJ@Vba@@lbUbVmn@lVmnIW@WbÞ@n@x°@ĢaƐéϚnlČ¯ĠŻÈwm@ôçUmm£Xy°UV@wÈ£Ǫ¯kõÝçUÑUķĢkVÑÆÞU°nŎ¥ČUĊx°m°¦żVƐx°Ç£@yUônÞÆ@Èĉ°Kô¦WkWUbÇ»@ÈĕWÇÈ£ŤU@n£ÆUUKVamanwÅmÝJ¯k@JIkaVaUUÇbkaÆÑkWmÝUÛÝ@wnU±@kkV¯KUkJ¼U¦Å@ówķaķůV¥Uaó@Åwm_kVwĉĉmmn_V»a@UVwķóU¦LǫéóXÇmōLǓÇķxÝkĉkmakbUĶ°@W¼@bÈÆ@ĖLl@°J¯mkl¯LݱLamJ@¼VƧUóUXċb¯ńVbkÆÝI@llxk°V²V@UxÞL@b@b`Çzkókݤ@ğ¯WLĉÇLmmnċVkbUaL@¯bU°ğLÝÝ@"], + encodeOffsets: [ + [127744, 50102] + ] + } + }, { + type: "Feature", + id: "2327", + properties: { + name: "大兴安岭地区", + cp: [124.1016, 52.2345], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@kϙmƏêġb¯@@wmÝ@XV@Ill@bUxl¯VlVbV@ULVlUV_kxVVVÈÝJ@¯Ulm¯x@xóÒĉ¼m¯Wxţ@Uz¯WwnUwť@knW£óVUUwğyó¦WIVmmI@±kwÇ@@b@ĉ¼ó@¯wó@¯aó¼KÅaUwmWUwÅI@aKó@UaLaVÅwō¼UUÝl±I¤VxÇx@zkJmnnmbnzxll¯ČkJl°@kbmx@x@kêmVnWxôXxU°bWLóJnÇWĵV¦UUbbÆġKk¯VU±aXmċÑUwĉKġkVxkÇKkbIÛXWl¯bX¯KbĊÞVÆnĸ²lxU°n°òÈb¦xVb@¯Vx@¯VķÞČlĊ°KĸȘI°¤ČIôò»ƨnȰKǬ¦ôWŎÈƨwlnKVXmbX`lbwkVWXXL°aƾaĊ£n°@°¥ŎzÞ¥»alwôkƒJa@ĶK£bU°ĊxźVÈUĠ¥ƨVI@XU°x°Ln¥w°UmwXmÝV¥Ģ°@nU@mÆ£¯lKÜw@aÅU¥UaÝIkmV²nn@Ķ»@Uk¥VKÞ@ÞÛ@kVmĢa@_Jómǖ¯ÆwóÇa@alUwwĢřk@wÆWXUWXWam@_ƒ»ÇéXaĸwVa@ÝKkUWkXkKXxn@lĊV@¯m¯nřÆw¥"], + encodeOffsets: [ + [130084, 52206] + ] + } + }, { + type: "Feature", + id: "2301", + properties: { + name: "哈尔滨市", + cp: [127.9688, 45.368], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°`_JlU@@V¦°JUnLôlnŤ@@ÈaUÒVbkbl¤zk°ÇVÛô°IlVUVôUxÆU@bźĀº@¦b@l²UVl@°ÒĠxnXxÆVô¼Þ@Üx²KÞlVÑ°UȰôlwô@²ĸ°lanV@VŎUll@bÈnÜmwĢ@la@ÝÞb°UXblŎ²ÆkVI@nJnĠ°knÜbĢwna@akÞKƒĀaIVbU¥wĠwkôxnLċVçkaU±IUmnġW°WôĉalÞÅĵ¯@W¹XÝab¯a±X¯ºLaVmkLóbkaVUKVkkKV_@aÝykk±L@ÅU@yV_aU¥ówÇx@UkVn@lkÅlwWVwUkĉmkklW@abVwnWWwWL@UUÇLÇm@wJĉL¥@Ý_@a¯yUWw¯¯Uġx¯aÝXVmaU£ó±¯nwa¯óÅVXmanUlUXkWa@mkIğamIklÇUkĊzkKlUōĬl@nX°@llUxŹ²mKĉVWwk@UbUK@bmVmIVmwaWxXlWČmºÞÆbUxV@ĵńWÆĉLkWUbaWzkbĉ`U±LklōwUVÝ£UW`Uwk@mk¯VkaõVX@WbLK@XƧºWzxK@lmX@bkVVÆk¼Vbk@Vn"], + encodeOffsets: [ + [128712, 46604] + ] + } + }, { + type: "Feature", + id: "2302", + properties: { + name: "齐齐哈尔市", + cp: [124.541, 47.5818], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Þ@ÞĠKV¯a°@KVblaČUmnnKĊÈKX°Ġ@Þ£ôllÈy_@a@aKÝVwU@±¯Ulkw@kÞJlÅUa°ŃČaWVôƨVU@»nIb²KÞ°Klkn°¯I@kK@ĕÇÅ@aX»¯@VĵlaÿVamI@aÅÝउýĊȗJôȁÅkmƑÛ@kxġ@@laVk¯»īŹak¥Å¯JUaWU@@wa»KUkÆkUmUmwÛ±±UUbUUXwWwÆÝklkUanaWwnKlkal¯kaƽakÅxa¯@amb¯VlÇwÛĀV@xmêVÆVVaôVwÈx@ˌx¦VÞ¯VlmX@L@¯Ua¯LmV@°XċKV@UÈ@¥@wġIUkm¥Źw¦¯lmn@°kxVV@¦óamn¦l@nxlĉVómxnÒĉĀĊ¼þǔêÞ°ˌĠÞÒ°ĀɲĀƨźˤȤƨĊ°w@£nymwnkUUV¥ôÑVmkÆmUUVamVIkmôlxkXÞþbll@kVƆVxV@¼VÒ@UnnÞJ"], + encodeOffsets: [ + [127744, 50102] + ] + } + }, { + type: "Feature", + id: "2310", + properties: { + name: "牡丹江市", + cp: [129.7815, 44.7089], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@U`lLUlVLUlbaôlKnUbK°¹²W°baÞbknyUlUkamř²L@m°@lm²n`ôÅlKxÜKnxV@l@ÅXyW_k@wmŹĕmX»Ûl°ôÈ»ôô_WW@Ual»wU@@wUV@VXI@wĢ͑ÞȻaU_@mUkly@¯óV»XmWUXUWmnm¥nUUaWLk»Æ²IÇawÅaÝ°¯nUa±a@¦õÆğ@@ÅbxUÜnÇłlb¯¦ôó»m@±Uk@Wwa¯xUV°xXbÇÅUVK@¹KUaȯ@ōÝXallÛkalÇUǫÇÅÇakbÝƆ¯nl¯@¼VUx@x¯W¼Æ¯mĖĬ¯ČVkķÅmx°ô²V¤bUnÞW°bĢw°V°XxV°z@bÞ`@¦KĊI@xnÈÈKV@VXKxXmXUxab@kXllĊnVlUxXkxlÆkm@UVl@ÈwôxV¦bU`@zÆV@²KllÞz@b"], + encodeOffsets: [ + [132672, 46936] + ] + } + }, { + type: "Feature", + id: "2312", + properties: { + name: "绥化市", + cp: [126.7163, 46.8018], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ऊþÆÞ@bnJUbĀnblĊÞlĸwǔÈŎKÈnôWǬêKV¥ĸôUx@VbU¼m`nnĊĊxlUmkaVÿLw@°»UmbKmÝUwUmVknKUUl¯KUUÈnK@ĠkX±lX°L@¯¥@wV_mĵ¯WwL¯UkōÇVUlwVó±¯aVka°wVk°mÞ¯ŦřÆl²ŎkU@mUkb¯ķ±ó@kxȯó¯VUÒkݱLÛwÝ@ó»ÅUWwmğw¯Ñ@UkV±@ka@¥¹Źÿ@aÅVwóVVUkU¯JÜóÈUl¯yk£laUaVÑÇb@ţ@kmómKV¯IU¥@@kVI`@ô¼blUlbÈb@xÇKkĢɳaÅɆō@VK@z@@¥ÆKnÜ@@aÛUwwnUķ@_V°@klVnULVVÞbVl@°@nxn°LÅÆlVÈmU²@VmĠLxn¯xkWzJwnLmbXbW°Æ²@x@JVxLĀ²Æ°I¯ºÈ@ÒnÈ"], + encodeOffsets: [ + [128352, 48421] + ] + } + }, { + type: "Feature", + id: "2307", + properties: { + name: "伊春市", + cp: [129.1992, 47.9608], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@K¯kWW²ğl@mLÇVVLk°VVmLUlVnxVnÞLnaV¯¼@xKUĀlbn`nÆxô@VbU¦ĸŰĸbôxÆ@V¥»IVl°LUll@²mVx@ÞÜÞVnlXÅÒlbÈaVVUblbJ@I°lÞInÆmxnbUbVLÅVm¤@ţVǤXÈÇĖ@ȼaXVÜaXbWnzŎařKôbUlw@¯naÆKnUU¯Üa@mkkVUĊmżÝǖK°L²lÆI@¯¥ĉƛVaÞk@ÝVaĠlnUVwóma@wĉ@aVxamX@a@UaÅLaVW_nWm£nWm_ÅV¯m@mó¤Ý¦¯ÅalmX£VWUÅwmÇ@@IVWUw@aI@k@wŎ»WÅVaKIka@¥lUkUlwÅwVyÈwWU@a¯U°mÇ@UçaVa¯mV»ÅwÝUlUkV@kmUkX£w°@@ÇaÝIamÛam¯lğmmI@JUl±ÅōkWa¯VÝa@Þkbġ@xÛnÇm@akkōVōl±kÅťŚÝ°¯nUl¯xlbU°b²ôUxkVÈUŎVl°KXxĶ°nU`@x°¦@"], + encodeOffsets: [ + [131637, 48556] + ] + } + }, { + type: "Feature", + id: "2308", + properties: { + name: "佳木斯市", + cp: [133.0005, 47.5763], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nbÞJb@ȯ@xW¤Vln@lUVlkÞVÆxU¼°nUbbVèÈ@nIn@ĢmlUw°żVUn@lnL@VôbwĊlJķĸĢlwôwƨxVVUŦxLźÈ°`nnĠwŎJÞĶwôJ@¤XnÜĸln°¼È°lUbx@l@ÞÞÈm°lôwL°¼ĸ°Þ²nĠ@ôwÞ`ŤIVÒĠU@VJĸbƲ@°ĊKJĶaĢȰ@ô¥°n¤bČU@VxmUw@aÝţÇķ@ĕķīU¯²@ÆmVÑô¯X¥ċç@ĉ»U¥ÝţKWVÅkUVÝŎUmÇÝx¯aķxÛUóL¯a±óōb¯ÑÅVÿ_Åķa@UK@wm@Van@UmmLVa@VImmXUWÝUÅKUwÝUUkVk@l¯XÅ_J¯kJmÅLa@¥U@¯Vz¯@`@¼mxƥŏKÛk@±laÛ@@Xm@@xƽ@WŎnˣĕÅ@@aÅ@@nÝbǯ@_UkUWkbwÝU@çWlw@anI¯lyX°m°VaÛm@mVwÞK°XlaXmm_@UkwÝK@VIXmV»I@a¯ğWbġaU_¯JU¯ġĉkō`±nÝÆkbóĊ¯XĢXmVn²JVlbUèČmKwlóğxxV¦UaJbƑÿÝLl@bmbġx"], + encodeOffsets: [ + [132615, 47740] + ] + } + }, { + type: "Feature", + id: "2303", + properties: { + name: "鸡西市", + cp: [132.7917, 45.7361], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@LKVVnkbVÈb²U°VnklVlaÈL@anU°ÜmXV`nôLèxlLXL²aVVmÈX@ķlnUÈl`ȹ@Ť°U@xKnnVmlnnUllVnnaŎwlVÞÒ@n¦LV°lwVkLaÞlnÒ@xmLÞ¤Wn¼WÈLVVUxlÈôWVaU_VKKXUÆbnnôKbÞw°bÆWXamVwKUw¯WUkUlJUwVUa@@kmyzmĉw@kVwkW¯ÅKU_VmxU@aW@@kK@wa@K@@kVUaky°_Vmkna¯K@Lwġk@@IÇóXwVakmV@mwXUWanlĉ@ÇUwKóܛNJÛm°@wÅ@±b¯W¹WVwŹĕ¯kVmōb¯w@awmVUUbVIkaVwķxk¼b@VXXó`ó¼Çó¯kܼWnźĖnxl@X`WzÆ"], + encodeOffsets: [ + [133921, 46716] + ] + } + }, { + type: "Feature", + id: "2305", + properties: { + name: "双鸭山市", + cp: [133.5938, 46.7523], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@UUwómÑÞÑUÝÝUkmmÅyV¯ī¥Uÿĉ¯mÇkaWbÅX¯aÝxaóLmmÅaWVLULV`UbXókÇVwUUÇKX»XmÝ£nK@wmÑkÝbKUlx¯kUKm¥@ÝÑkUōxmbUmkVkmmnkUmmL@w¯Vţ@Ǻk_ÇmVk@ĸVxVÈ°lLkllUbōwnVW¼nlUx¯XmWUnÝ@xÝUó¼¯J@LVbkJWnkbW¯ÝLUxn@nÜb¯U¯nWkz°mJ@bkxX@èÞVxlaXlVV`°@ÈÞa@mÆ@@bÆ@ˤĖmXōƾ@@wn@@WÜ@kb@²ÜlŐLƦnw@»_°@y°UV@@¦bÆKnI°lIÆ`°W@kllUVÞVVxLÆÞVXWVnnUJ@UbnKVnm@Ubn@@xL@VbÆĸ`UĀÆÒ°Ŏa²ô°bôKÜVĸw°bÞwÈVnÞōVUÆlXU"], + encodeOffsets: [ + [137577, 48578] + ] + } + }, { + type: "Feature", + id: "2306", + properties: { + name: "大庆市", + cp: [124.7717, 46.4282], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@mÇ@ÑÇ°¹¯J±ÅÿKUwI@w@±ÅX¯WanamKxIylX°wmwğKUn±@nVÇUÅkƯKmmw@@¯UkÝaUUVKmUlk@¯U`ĸ@VmxVxÜ@bÛ@mÅL@¦@@yLUŎ@ÆɅɴblġÈL@wÇaakkVa»@ó¯_ÝJwÇaÅXnyU¯¥Å@wbÝaLmm@@VUlbğVm¯Xm_`¯_UxmLa¯b@maó¦Çk¤V@bóJknVxVXx±aLUbVxkLVlLWl@nX@VÅbWlÈnxbWÅbm@xbml°bXbWXVmnn`Lmnbmb@k@mwU@@¯Jlbk°lbkmLXxmbVbkllÅÞxXxVWVVa²VܲnxVVnÅlVlL¼b@xV@XVbIÆ°¦lźbĬ°¼Ulb@kĢ@lw@ƒÜlnȂÆóȘIĉ"], + encodeOffsets: [ + [128352, 48421] + ] + } + }, { + type: "Feature", + id: "2304", + properties: { + name: "鹤岗市", + cp: [130.4407, 47.7081], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Þ¥ô£nn@°ÆUn`mXn¤mX`UXbÆKVb@@bnWbwUbĊ@x@nbWVm_mm@ó»UmÅWXkĠ»²¯¯nķwŎ@ĊŎK°bĸUnÑKȦĠÈbÆknJÆUĢV°IVƾwaVkǯ¯»mķkÛWm@£óIĵxÝōIğxmm¯_ÇŹKwťUVUƧwóxxġkĸķIkĉxóa@UmK@kVmUŻ¯Vxkġn@mmJ¯n°V@bXVÇxUzÆxkxlVkV@¦lbJLUbÆXō¼@xl@J@bVxXU@JÈ@nxVÆUXW¤knÆb°"], + encodeOffsets: [ + [132998, 49478] + ] + } + }, { + type: "Feature", + id: "2309", + properties: { + name: "七台河市", + cp: [131.2756, 45.9558], + childNum: 2 + }, + geometry: { + type: "Polygon", + coordinates: ["@@²mŎ_lĊĢV°°IV`ĢbaĠX°@bJU¼WnUJ@ÞLlxV@n`lIUa@K°Iô»ÞVwÞ@VmnX°WVwmkX»UmŎxVaklkkKǯUUwÇWUnU±bKWKkwçóKmU_nW¯ÛmV@bÇKkbkUml¯U±VÇaUamlUULKk@U@mwÛLwkLóÆm_±nk¯@@n±KnŚlbkVVmzlWXº@Ķ°"], + encodeOffsets: [ + [133369, 47228] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/he_bei_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "1308", + properties: { + name: "承德市", + cp: [117.5757, 41.4075], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lLnlmxnIVVlUnb@VVxXJWL@LÞVnnVJ_@wkmKbxwXkWXXKlb²K@nVVVbL@WlU²lKVnUJVz@VVb@lżmVUVnbôaVX@°Ub@lWbX@b@bVb°x@VxÈLVlaÆ@Þb²k°@lVU@Xn@VWLXb@¤VXKVVVLnm°_ƨ¤@aUIVaalkX°kV@alwUVyU@kó°na°UVUUmUÆw@mkLVUWVIWLnn@xlVnKmyU@U°UXaV@U¥U@UÆ@aVUkWU¯aU@WLUV@bkbmKULmKkUVUkmVIUwlWV²Uml°U@WLUwVm@UUK@_KUUÜaXw@VKUU@mVIUUlmnIVVVbÈVlKnbVK@nI@nVnwVLVKKVnb@aUIVW@In°@lVnI@lWĢ@°UVL@b@VyUUa@w@WUnU@WǯK@UkkJWaÛbmk@mVaÞU@amkW@mXUKkÿ£@akl@Um°UXwlaal@nmlXnW°znW@awV@akbĉ¥VmU@IVUJkUmWUKbmkUaKkUVU@KV@@klwWaU@kmXVènbmlUUKX¯JkbI@JmIUWU@Lml@XkJ@UkK@aVKwWaIWwmU@mU@J@UaċUaUUVkI±k@UU@UbVVm@UVKLlkIWaULUWXUJU@WbUb@lkXUxm@@JVn@J@bnb@Vkx@bLUÆnJaVXnKVVmzX°V@_lJXxWXK¯bÅamU@lUIbñJ@LÇKkIÇ`kxWL@@@bUVUb¯xWKkÅVlULW@n¦Ul@IlmUUUVm@kWnkKma¯XUKWmnwVwÝLmVUbUVWb@LnxmxVmbXx¦@nb@`V@kbLUmVUlkbVXkºmnm@@xk¦bĢÜl"], + encodeOffsets: [ + [118868, 42784] + ] + } + }, { + type: "Feature", + id: "1307", + properties: { + name: "张家口市", + cp: [115.1477, 40.8527], + childNum: 15 + }, + geometry: { + type: "Polygon", + coordinates: ["@@kġÛal¥@wn@nml¹UWlaVknUVKla@U@_ma@¥WwnaUwnmw@KXaVUVaUnmWUk°lnUVUXWVwIWVóKUI@WXxUU@mma@kUKWLkw@yk@aVkUUċaUU@Wk@Unm@UVmLm±IUkJkW@aI@m@UVUla@VXVXmVwnkWKKU_k@m¥mX_JmnU@km@U@KmUVU@U@Umk@@LmW@Û£Wka@wk@aI@mmk@mUa@UmUIwW@aWUbU@kbÇ@kw@makVUkU@am@aU@mxkUbKUXU±KXVWLUK@wkU@V@WXUa@WbUxJI@¦VèVVX@±ê¯KUI`¯UULVx@V@UKIVkLmVkKm@nUJÝbkIUJVXVVxVbUVJUn°bVmlU°XnK@Ul@lVÈVUXx@W@VXVKÞbn@VnbVm`UxkW@UVkLKm¼@lUnUJVnVXV@Vm@@LVklIkl@VWlULWKUL@mJ@blbUVUlmzUJUxm@UUbċÜk@Ub@VLVV¦ôbVmUKUkU@m@VlVn¼WbUJ¯@@°nIllÈl@nXWlLkJ@bkxlxkxlXUlklJXL@bWn`@nÆXxlL@xl@XbLKlVlIXblVUbUJW@lX@VL@VVXJwn@WnL°KbVbl@VI@K@U@nmVmV@XUWI@aXm@VUUkWmn@lmUUk@mUmK@UnwVĉ@mU_V@XJôVVULVUn@llUnJl_n@ml@XlLlw²LVJUL@VmbVblVXmVnl@Ť¦nn@Ü@bl@@XV`Unb@VlLVb²JXn¥ÆÑ@¥Þ@"], + encodeOffsets: [ + [118868, 42784] + ] + } + }, { + type: "Feature", + id: "1306", + properties: { + name: "保定市", + cp: [115.0488, 39.0948], + childNum: 23 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VbXW@@UlV@xVLXKWU²LVVWLalVnwV@@bn@bVVllUnb@lxÈ@laV@aXV@bXxJnV@VVb@nnl@nJ@bll@aU_VWUwVUkUmUkb±mVwU@VIUW@UWk@VU@ynLm@IV@bnKLVaVmnIlaXwV@@WVL°@@xnX@V`V@VbUVVLVKnwnL@ll@@_V@VVnaÆ@KVXÆ@n@wKmUWm@km@kÜKXU@ÑW±nIUwVKla@I°wU±kkmm¯m_JnawW@IVaUama@wUmU@mVw@aXk@mWa@£km@a_kVmUnWW@¯bkUmk@VÇm@@kUUKUU@UVUamVUaWIkb@xU@@amUkKVkam@@kVUkUWmKmUkLUb@xmJU@UImVÛVmnUwJU@VX@UWm@Ub°¦UmxklmX@`ULU@@UW@@xkn¯@makVUmxUb°lUbUbnUJUUVaLkbUUJUU@mUUUJka@xUIWJUnJ@Vz@kb@`@bln@lb@X@@@XlbnbVb@VJlInlbVw@UKl@lbnan@VbJôLnUzlV@lÈLVbVK@LVxVWXX`WxXzbV`UXV¤nx@bVlVnVlUL"], + encodeOffsets: [ + [117304, 40512] + ] + } + }, { + type: "Feature", + id: "1302", + properties: { + name: "唐山市", + cp: [118.4766, 39.6826], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@VVl@²lJUVVbČVVb@@InV@VnXxJXbxUL@bLl@VlI@WnkKV@VXnJ@IJla°IWLVVnkmaUçWVkôaܯ@nV°wnJlaV@VUnUUaW¯wXWWwna@£UaWKU¯¯@aVUkKUamUUn»anIVwUWlk@LlWVakU@K_lbÞU°@y°n@KÈkWWţ¥ĉōkġWUw¯£¯Çwţw@kK@k¥ÝwÅbÇ¤ÛťVlW°@ĸx@VVVULVLkl@V@X`Ub@Xm@UWbk@ÆVbnLWV@lnXUbl@X¯lmUVkKWLkK@_UK@U@UmmUxmVXLWVULkU@`W@ULUK@XlJXzV@@xml@VU@UX@Kk@WbUK@Xn`XmJnmkxUVbUVlVVxUbV@nKlLkVKÞbVKXI°KVmVUIUKULVxVJVLkV@V@UbU@WUU@UbUK@b@nV@VkLmb@b"], + encodeOffsets: [ + [120398, 41159] + ] + } + }, { + type: "Feature", + id: "1309", + properties: { + name: "沧州市", + cp: [116.8286, 38.2104], + childNum: 15 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@ln@UÈl@Vnl°aX@mXnVlU`@bln@¤Xb@nWl@bUx@nnVV@xnbVbUb@JXxbmXa@kUVwlWkKôVm@wkkK@kl»ÈmVKXkla°@XVV@VI@ml@@Vn@VX@V@J@VxUzVV²blVk¦@Ġ@@»@VK@VÈLlK@XnJ@alIUlaVVb@n@aU@WUIV@mUn@mKXml@lL@LnWb@XV@@aVVbV@VVIVWÈbIÈ»ƒǟlWaVUÅUUm@kVUWVkaUwmaóUJUU¯ÑU¥mk¯UaKÅnÇyóXmWÛX¯aċbÛaJWÝU¯»aóóUm@IVVl@bLUJWLX@@xXUxl¤V@VnVUVXVbV@@@VVn°V@ţU¯VUmUWV@mUXabUKUwUaÇKnVk¦Wb@VnLmV@bkV@nxW`Å_UVV@bUklVX@VmlUx@VVL@xVWVL@VW@UUm@"], + encodeOffsets: [ + [118485, 39280] + ] + } + }, { + type: "Feature", + id: "1301", + properties: { + name: "石家庄市", + cp: [114.4995, 38.1006], + childNum: 19 + }, + geometry: { + type: "Polygon", + coordinates: ["@@la@y@UImVXIVJw@lbIVVnV@VVIVVlaKbVUVVImVaaVk¯VanwVlUnb°@lm@wX@@VV@VK@_nWlknwV¯¥Van@VX@W@UVIVxnmÜUnUVJV@nI@wValKnV@kmU£na@mVk°KLVa@UU@UmknWWkXU@aWW@@km@UaU@@klK@UkaWaUnamm@Ua¯wWU@UkL@Un@xVlUXVJUbLmU@aUWUkmKkLUUm@mWXammkkWUm@@U¯JUUmkU¯@mKĉxÝwÝ¥LUómwkUUUWVkKmkKmLXlxVLVxXJ@nVJnz@VWL@`nX@x@kVUUmJmIXxJVnUV@UVV@LU`UXVVlXL@l@b@VmX@bxn°UbkKWLXlW@@bKmKULmakLUlmb@Xb@xmXU`Vb@`lLx@nWVXL@°WlXnlbKVKXVb@X@l_lJ@V@XnI"], + encodeOffsets: [ + [116562, 39691] + ] + } + }, { + type: "Feature", + id: "1305", + properties: { + name: "邢台市", + cp: [114.8071, 37.2821], + childNum: 18 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nKlLnlLXUVVlVnxôVKÞ¦ÞxĊwnL°@lVnVV°I@Vn@VlXnlnbWnXn@VVlKnLVlVX@bnVKVaUIVWkU@wVm@¯@U¥VmU_°lKkw@LXVaU@wUUUKlUóW@UVUUl°KwlKU_naKVnlKkkWWa@IJVa@IlJnU@KVUUmVlaXUl@lm@kXWÝÑnk±k@wğ@@U@mKĉLmVJ@zmlnWLUÝJU_@@mJkXUVlbklÝ@Ýab¯@¯±JÅwġaUU@kU@mVI±bUKLWUXJkaLóKULWbUVkKmnk@@bmLUl@b@mnmJkUULabnmn@lVV@¦n@l@bznx@`Vz@bxnV@xllbnKVx"], + encodeOffsets: [ + [116764, 38346] + ] + } + }, { + type: "Feature", + id: "1304", + properties: { + name: "邯郸市", + cp: [114.4775, 36.535], + childNum: 18 + }, + geometry: { + type: "Polygon", + coordinates: ["@@bVKlVnInm@@akVnK@al@nmlLVUXaVKôLKlbIVWXKVL²aJnU@lV@VVĢbÆx²I°°@aÞbÞ@lkkaVUlWnI@@V`ÞIVXKmnk@yInUĊKÇkUUamUUk@aU@Uk@WUwVkVJVkkw°a@mK@UX@VVLVW@wwVa@¯Xm@@lUIWaU@UWkXWmU@UwmUkKmn@lkV²VaULUVmJUUUwLma@UmkIUmLmVmx@bLUamKÅL@VmbkU¯KÝamzkJUb±VkbL@lU@WIkJzkKmKnUalWkkKW@@nkbk@WW¯XUVUJ@XlJ@X@XlWLkU`VUnaWaUV@UVIaUxUUmVK@I@W@ÇU@@U@b@nmKXmx@UxkVWUX@`VLlL@`zXÝb@b@VUVkIUJVz°KVlnLlKnLxlLVVUVlXUJ@nnI@mVUlbn@@m@bVnV"], + encodeOffsets: [ + [116528, 37885] + ] + } + }, { + type: "Feature", + id: "1303", + properties: { + name: "秦皇岛市", + cp: [119.2126, 40.0232], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lnV@Xbkx@lU@@LUVlVLVbnlaLXVVnlIVUJV@UnĊ¦lab@nJ°UmV@wn@VUJVI°bnWlXnWVLVK²bakklI@aUaVUwVUUalaVwnUVak¥X@WkLVÓmmUK@_lW@n_UK@alÅ@ğÅƑŃÝm@ÑţÇlL@¯mz¯@ÝVak`@LlVUbkXK@klVXUxJmbm¼VnVVblLUV@b°V°XLVb@¤mbXxWX°xXVbmVUVU@kbmI¯xmU@Û°óbUl"], + encodeOffsets: [ + [121411, 41254] + ] + } + }, { + type: "Feature", + id: "1311", + properties: { + name: "衡水市", + cp: [115.8838, 37.7161], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@KVlV@X°xb@VnnmbVXblb@VkL@lV@Vbn@@l@XX@bWVXlmXnlVV@@VUbK¯LUl@nmbV¤n@lLXnlVUV@ln@lbUlLnV@bV@@wlaXJVbnUVbVU@VVLVVn@VVX@@UKXUU@wUK@UwVnk@UUWlkV@aUVUÆ`X_w@mlU@anUmK@UXal¥UmÈLVbVxVLabVW@nXUVnV°UŤV@U¯Um@U@@UUaWVUmUUU@k£VwW@wW@XKIUa@wU@@al@UK@_mKXKbUU@aVKm@Xm±@kbÇakLğVaUw@a@mkUJk@ykw@£WX@lknk@WVkbUVnUVL@mVkI@JUbI@JXbXllkLUmLmbV`kLx¯LkVUV@VôXkVVLVV@xVUbW@KxlL¯kV`UnV¦°@"], + encodeOffsets: [ + [118024, 38549] + ] + } + }, { + type: "Feature", + id: "1310", + properties: { + name: "廊坊市", + cp: [116.521, 39.0509], + childNum: 9 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@laU@UnL@VWbklWxnIVVV@XJlbUlXVbn@@KmV@@X°WVInJmn²@lmVbnL@amKV_kwlmX@@LVamaXaaVU@UnJVanLlUkaW@UaVakK@IlKUU@an@ln@alKUkIVa@a@klaUKUV@UkUV¯KVV@kUmU@@a¯ImJUU@VV@UL@U@@WXUWa@Ukwm@X@@w@al@@aVIUmVUUUVWUknK@I@l¥kU±aUUVyUw@@I@UUWm@@Uk@@nUJU@WU¯@kbWlULnÇk¼@llLl@xUnóLlkXUxV@lWbI`°nnnllV²¯x@JkbLUVxmJX²@ÒWVÛL@lln@XnnVL"], + ["@@@kX@Valaa@KWI@UXW@WanaUIW@UaUKķk_W@UVUKU@b@UamxVXnJUbWVXLVbn@W°kb@U@Wó¼mIU¼k`V@bVbl@lX@lUôVlUIV`lXVn@lUlVn@l@UVaIUWl£UmVWU@@UUKlUUUnVL@KUnLVWUa@U"] + ], + encodeOffsets: [ + [ + [119037, 40467] + ], + [ + [119970, 40776] + ] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/he_nan_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "4113", + properties: { + name: "南阳市", + cp: [112.4011, 33.0359], + childNum: 12 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lKl@nVV@bn@VVnmnLLXx@VLlKVUIXWÜ@Člbl@XUĊUlwnWLÞwm@ÞUVmnVl@nXJXLm@VnnJlaI@VkxVb@VlnJ@knKVn@°aVanal@XK°b@¯VJXIVK@al@nVk@nKab@XL@blVVKVLXK@VaVI°mVaX@V_@a@yUkVwVIVaJ°@anIlaV@nKnXÆm@wUUV±UUWUKnaWwXUWmůVam@kakImUK»lan@VXXaW@@UlUUa@a@UlwUV@Xal@@anIVaUK@VXmwVmUmVLXl@nalLnal@nKlkV@@UnJUXnl@nVl¦V@@VnJ@nUVVVVIn@VaJÆn@@K@mka@kmWVaUI@a@k@@aUL@mmaVIUKUV@@IU@mUmmL@K@UUUU@mW@@nU@ğ»mVmbk@klW@UXnV@LJmlUnUJUUUW@UnkKxmLa@@@lUUbmUVWk@@nkUmam@UakJU_Vm@ÅlÇLUVmVUwULKU@k@UVUlU@@U@UaUUWaÅzJaWLklb@bmL@kKabWUV_@mV@b¯JmXUbUK¤ÇLUU@b@JkLWmkUWIkJ@VmX@JUbVXU`¯VV¯blK@LXKlUV@Um@@Uk@kxWkbL@KkbmL@UXmaU@@l@x@blX@xUJ@bULUlULÇ@@VnU`W@@nÛ¼U@@VmKUkm@VVX@@xÇ@bUbVb@VX@@xLUb@l¼XLlbUlVVUUb@n"], + encodeOffsets: [ + [113671, 34364] + ] + } + }, { + type: "Feature", + id: "4115", + properties: { + name: "信阳市", + cp: [114.8291, 32.0197], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VllInJlknJVkVU@mXlUÞ`VnVVU@U@y@nXlKVnJVkXKWaXIb@yVkVUkVwn@K@nW@kKlUXVVUlbnUV`n@V_V@llX@@Vb@bV@@nlVUb¯WLnbmb@nLnKbUbVWnLlaX@VVUX@Vln@`kL@ll@VXVJÈIVl@XÞJ°UnaLlylU@UXKlnn@lanLWWnbVI@KXKVL@LVWVL@UVKUIVWX@@XÆJ@In`@lJVI@aWÛnK@UlK@UU@VKnlmnXalUllLUbVVknJ@nV@Vm@al@@xnVlJVUU@w@ak@XW@_mWnUlŁUmVKV@VXwW»XWaUwnkWUkVUU@@@WlaUkkaIWVkm¯xmIUmLUVaUIó»m@mmwXk@amk¯¯l@wmkLmmU@UbkUWJ@XUbJ@b@l@znÆmK@Xk@Ub@lm@I@akmVKUUVUkU@U±JUbk@IWmkxa@UUVUWVkIUaW@UlLWn@VkJI@VkK@L@bmKkJmUUaUKWXk¼VxnJ@V@@VULV¼@@UkaUlWL@U@W@IkKmL@KULUWULWKUXUJmIbK²UWnWKUUkLUmUUam@UU@mUL@xkV@VV@bmV@Vk@mwkUVUx@mbXÇnVbUL¯WnUVLVb@xnlWnU@UVUVVUbVVlVkn@llVUXUWUXVbUJ@bmLUJnb@nVK@bl@@@bVJUbnX@lb"], + encodeOffsets: [ + [116551, 33385] + ] + } + }, { + type: "Feature", + id: "4103", + properties: { + name: "洛阳市", + cp: [112.0605, 34.3158], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VVUllLXl@LWn@J@bKUVmnL@`VblLnbV@b@JmL@LnV@VV@¯VJVnXL@nm@aÞ@ak@mImVbXLynLk°@°aVJnUV@UVVXk@WJ@VXLlUnJVnn°U@»°Uwl@bWmUXÆ@VLXU@m@Ua@Imkba@naWW@_@WXUV@@U²@K@I±U@¥kKWLóLla@£Um@kWKXU@mlLXUVKUU±J¯_@`UL¯Wmk@WakklUnVUVaU@KUU@mmK@_a@KX@VaUIm±kaVKVUkw@kaW@kbkL±UUaK@UUKVak£@UmmL@lIkmU@Ualw@UJkbmIUmn@WKImWk@mUUnÝV@nÝxKmXkxĉVWVk@kaċÛ@WXJUV@zmVWnbUbVbLlUnlUÒnWVVWnk@@Vm@kxm@Unl@Ll@@V@XnkJVV@nlVXxU@ln@a@VLnWĊ¦nx@lbVKXLl@ÞVLXJl@XXl`lIXVl@XlXUVKwV@lanxzUbVJ@VVX@b"], + encodeOffsets: [ + [114683, 35551] + ] + } + }, { + type: "Feature", + id: "4117", + properties: { + name: "驻马店市", + cp: [114.1589, 32.9041], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@n@b°UÆXnVlnLÜ@VLm@n@na@Jm@k@lVVxXX@V`lLVXVV@VVÞLVV°²@labnxV@@bLmlm_VWnIWUna@lLbnV°VL@KVLVUVaVLXK@mÆXna@wVma@Xw@KlL@a@Va@wUkaWnIVla@Kn@Vn@VUl@nKVnJ@LnK@aVkVUUW@VakUVanI²XW@UUU°KnUVLl@XaVK@aU@KUI@W@_lm@KkLUKV_U@»@UVJ@XV@@mVL@K@U@Kk@VwUUm@kmWL@VkVkzKmb¯VÝI@WUkÇJUIUWk@@klK@_km@UVWUUW@kbmKUXaVamLmK@namaXK°VakU@mU@@aa@UW@kkU@U`m@U_mVkaUVWUkVL@lmX@Lm@UxVlUUl@zaWJXbWLUlmIUkLmW@@z@VUVUUmÝ_kVW@nUVUlmIklmIkJUkl@n@Lm@ÅIUbm@UJUUVU@mmI@UU@k¥mUk@WmVmI@VU@klmLk@mbkKmb@WkKUVnUnnxW@UVLUbmJ@bk@WbU@Vkx@V@bVbkV@V@XWbUWm@kb¼VLnlJlb"], + encodeOffsets: [ + [115920, 33863] + ] + } + }, { + type: "Feature", + id: "4116", + properties: { + name: "周口市", + cp: [114.873, 33.6951], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lnb@xlJ@UnLlKXUlJl_KnV@xVL@bkbVVUè@Wb@UbmkVmbXVJnUl@a°@@bLVblXxInmnLVwanJÆw²IlmnXVl°VVbÈaVb@lkn@VWnLlUVmÞUUklkVkUaVaVaUwK@kkaVWmw_l@nUVVb@baV@VV@zXJl@@kl@lk°WVnÆbnbUVJI@VKVm@kK@_kK@a@aU@@wW@@k@aUW@IUWVUnLlUlVXKVwmk@W@VWa¥@k@lnUIÇKUaU@UUVmIUVUk¥Vma@¯k@Wanwm@@n@@m@UIVkUVamUXWaVU_@mUVUImW@aUIĉK@VmIb@lU@@nJkU@KIUmmLk@UVm@Um@@LkbUmJXlbV@xUb@@bkK@LWx@bUn@xmbÅW@nWLUKUbUVKU@LUK¯mU@VV@xULUVL@bU`WUz¯aUamKUa@@xkX@x"], + encodeOffsets: [ + [116832, 34527] + ] + } + }, { + type: "Feature", + id: "4114", + properties: { + name: "商丘市", + cp: [115.741, 34.2828], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XVl@lLÈ@VkV@V»UanWX@VaÆÇô@ÈaVX@xVJXUÞUaVLĸbXKlV@m°Vn_nyXX»mUk¥lK@a_@yInaVKVa°_@WXI@@KVnIlbnaV@l@a@_w@lwUKmXa@UV@»Vw@kUKVUUm@w±VUXUKUwmJUU@km@@±mXkmUI@mmKUwkbWakLWaUIkJmX@l@@VUX@JWbX@VbULWblUVULknlV@bVJkmb¯KknWmk@@nmVkx@VmU¯KUnUL@JUIVmaÅaUm¯Xlkk@@lk@WI@yUUU@b@aUaUmVk@`nxUXlb@lLVxUbUbVbUllkVlÝVUnkVmKUXm@kl@nUx@xnxn@`VX@V²x@V@b@Wl@zU`VUVVbL@VbW@bkXllkLWV@V@VVÈwlV@@XK²LlbWnnÆL@VnJWn"], + encodeOffsets: [ + [118024, 35680] + ] + } + }, { + type: "Feature", + id: "4112", + properties: { + name: "三门峡市", + cp: [110.8301, 34.3158], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@WKUmUI°U@@UmU@KnK@IaU@makKUa@_KnmVUL@a@IXm@KWkkKVkUU@aUW@UUIVaymwkbU@xLVUWWkk@WUkJk_WWk@WIUKÝk@WKULka@mwĉ¥mXUK@@bm@kVWwkU@mUUlIWm@@Uk@@KkVmn@lwn@@Ul@XmUXUmVÑkmkVKUaVamaUXn@ykLUK@WwKmKnUm@UmaU@mUk@kL@lxċxUnkVmnXxWb@`kzWJ@VLmVUnlmUL@lW@Ub@VXUb`VLUbUJ@nmnUlUUm@@bUJlnUU@lxkb@@XJUn@kb¯VVVmlXXlJlzn@VlkVW@bkKbmkUbVblXVxKÈnwÞlĊKlVnKlwX@lL@xlUnVn@l@lmX@ÆÈb°¼ÈwVJlx_°xalUÈxlUnbVxnL@lllbmn@nb@@VL@V@@VLJnIVVlKnV_"], + encodeOffsets: [ + [114661, 35911] + ] + } + }, { + type: "Feature", + id: "4107", + properties: { + name: "新乡市", + cp: [114.2029, 35.3595], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XVlLK°bUblbUbl@nX@WXVVKVk@@mb@UbnW`kLLV@VVLnKlVXIlV@@a@l£nWlkVa@°bnUlLVlnabnUVUXKlU@@lk@aI°y@ôkUU@wmônkWakmlUkVmkUlmUUm@nkUKWanamULXW@UVnUln`lblL°KXV@ĠJ@L°JUVwanK@UUImmkK@¯±Um@IVmUmmÅnWaUK¯aUkw@W±kVxUVwnÅJUIWaÝJóIbm`ÝbÅImJUI¯¥¯@mU¯UJmnUVóUkl±V@zXlbWVXL@bmmº@@XmJUXU°llk@nWJk@U@¦U`m¯Wx"], + encodeOffsets: [ + [116100, 36349] + ] + } + }, { + type: "Feature", + id: "4104", + properties: { + name: "平顶山市", + cp: [112.9724, 33.739], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@l¤UbVL@VLVb²VlKlaX@lb@lxUVULbln²VJUbW@@Lb@`nL@nVV@LVUbUVmkVllXbl@Xn°VK@_°`²IVVV@VUVJnInaWK@U@KLÆ@nmlXXWVUUw@klKVa@knyVkVanIJXUl@XbVUl@@aa@mXkbnK@UlK@UUUVaXaWmkUm¥nWmXaWakl@VmÞbKVL@aVI@mUwVm@KÅméULKVaUk@kUK@UWXI@VlKXU@VVnInVV@VLlK@UUkKU_@WWUwU@kln@@Imb@@mnUKÛ@mKUkWVXxmbVLXVVU²VV@xÅnmWmLU@kbmJ@b¯IUbJUUxVl@z@bU`W@Ub¯nUJUb@WLUKULkU@aWK@abmL@lmUk@@bULWJUI°@¯aWLk@mbUb¯b"], + encodeOffsets: [ + [114942, 34527] + ] + } + }, { + type: "Feature", + id: "4101", + properties: { + name: "郑州市", + cp: [113.4668, 34.6234], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@nWVUKÅ@WnVnIV@kÆwV@nn@lxÞlnôJzXJl@nalUČVll@²UlkôVVUnmI°VnV°@°¦VJnIÆJÞan_VmU@ama@kU¥kaUklw@UIV¥kVUI@mmUÅmUlwVU@amUJWbUakVVé¯Im`k@wVWmLkU¯XkWmLmx@UUbm@@xJ@LbW@UUVWUkVK@kaIUamKUkkmmLUkJUVWXkWmnÅ@KL@@VXLmbmJUIUVU@ULWVkK@nWVXL@lVn@¤bkôKXKlL@¦²V@JL±@@VU@WV@X@`XXmb@blan@Jb@V"], + encodeOffsets: [ + [115617, 35584] + ] + } + }, { + type: "Feature", + id: "4105", + properties: { + name: "安阳市", + cp: [114.5325, 36.0022], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°kVaV¥kVmUkWkWVkVKUwkkmKUU@awWWXWakKWkXmlaIVmX¥U@a@WnK@kVI¯@KğI@WU¯LkKak_kmmVU@VWXKnVmbXbVLmln@VVknlVUnVlklnXbmlmlXblnÈlWbn@@nK@VLbVV°VVzln@VxIbU@WLUa¯VUkWõ@¯kkmxk¼lXUlVbVLnlULmU@lLkVUlX@xW@¯mU@UmIUWL@aXakU¯anWk°@kkKmmUIWaambUkkKmV¯a@UblkmXk¤@@b@UbULWVnb@lUVVnmnVVUJ@bWXX@WJkL@blVU°UV@XlWnXUbW@UVkVVWbnLUJWLUK@Lnn@blVUnUblxVUVJXUa@UbLnUVV@mVIVVn@UbV@XbmbUV_lVXUWanJVI@WkI@WVIVU°WXXl@la@mX@lLXlkVbmXylIXJV@@kKla²UVaIVyÞb°LlVna@UÆKnLVbK@anwU"], + encodeOffsets: [ + [117676, 36917] + ] + } + }, { + type: "Feature", + id: "4102", + properties: { + name: "开封市", + cp: [114.5764, 34.6124], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lUVbXaInV@bUVxknVVÆnn@VJlUU¦VJ@kxVllb¦lV@nb@bVUnaôJÞIXbVJÆImxUVwU²l@XxVl°bVLXb`XklUnmVblL@lmx°LVK@UXIVaWlL@Uk°KkVaVUXmmI@UÅKmmXka±KL@W@kUÇxUU@@UXUlKkklW@aXa@UKUaVUUV_@yXk@@a@U±w@UUW@_mmw@wVwmUaÇbUa¯UUkmWkn±JÅxmIbUxmKmnJWwkUaK@a¯@bk@mVUIWLmwm@Ua@WJUb@LUl@UUmLUbWJ@VL@VmXWWzUJUê"], + encodeOffsets: [ + [116641, 35280] + ] + } + }, { + type: "Feature", + id: "4108", + properties: { + name: "焦作市", + cp: [112.8406, 35.1508], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@V@VL@x@bXWV@XklUWX@J@nI@KlLKUVaV@JlL@KUk@KÞLl²_@nWlLUVV@nLWVUJVn@anV@awÞUVLVxb@lW@lbXnVn@@¼L°mKVn@bnl@nVK@blbLWU@VWLXV@nlKn@lVVbXw°nV_@¥Vl@XI@mlkkV¯VWnI@W@n¹n@aWKXUaWk@yk@kċUkVmbk@WIyóImÝkkwm@mU@xÅlU@mJXak@x¯V@¼¯VmUmmIkVWK@UXIl@UWVUU@mVUI¯b¯@lmKzWKUanJ@nlbÝ@@b"], + encodeOffsets: [ + [114728, 35888] + ] + } + }, { + type: "Feature", + id: "4110", + properties: { + name: "许昌市", + cp: [113.6975, 34.0466], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lIVnKlnVlnLVbJlb@ULVlUXVVX@a@KI@wn@aVV@nwnKlXW°lVnKUXx@ln_°JVIXyXnW@UK@UXIVanKVV@Vk@KVaXI@Vbn@nxKnaUlnVa@Xa@VçUUla@aUK@wmULk`kIWVkLmK@V@XUln@JXV@nmbUóImUa±@@ÑóVUUk@UlKVU@akWVUUlUUaUK@UUKWbUkÅJ@XWa@XbmJ@nUJ@bUKLÝaUnk@lXbWbXnmn¦lVXnWbUbVV@VkL@VmLaWl@nb@bk@UVWak@WVImJUbUlmz@lUbkL@lVx"], + encodeOffsets: [ + [115797, 35089] + ] + } + }, { + type: "Feature", + id: "4109", + properties: { + name: "濮阳市", + cp: [115.1917, 35.799], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lLXbWXXx@bVVnLllVxULUlXXlVlUnlU¦Ub¯lnK@VbVb@XbVLKVxVVnIlaba¥lU@wnalLnVVlVLXnlWVXn@@lVI@WnU@mÅW¥aW_k@WwXy@km@wUm¦lUxVLV@UwJ°x@VX@Vb@`VX@VX@llIVbnJlIbVlJ@mѯLóa@KUakX@UK@wU@lWUUݯImW¯aLUKU@k»k@mwa@UnKWI@UU@akVWKk@a±bóUWKXUmkKUmLbUx@lmLX@@bVW¦UnJkbWnXl"], + encodeOffsets: [ + [117642, 36501] + ] + } + }, { + type: "Feature", + id: "4111", + properties: { + name: "漯河市", + cp: [113.8733, 33.6951], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@LUnVxnIWa@Xb@WÆIVlXaVL@VVLVbkVVUVlX@bUVkLVl@VVôU@Ò²@VbnôJVan@mWU@ImVk@WkI@wmak@wlW@w@VbnLVb°bVyXV_@aUKVVK@wUU@aK@kmbXVmJUX`knnK@aU@mwakb±@¯UUÝKUUU@WU@VkLUKU@mUmJUU@WVkL@UWJX@VVL@lVlUbLVKnêÆ"], + encodeOffsets: [ + [116348, 34431] + ] + } + }, { + type: "Feature", + id: "4106", + properties: { + name: "鹤壁市", + cp: [114.3787, 35.744], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ón@xVVól@¯zJ@bkl@@kVWLUVmVXbVJnnlLl¯@Xlm°bVlWb@bKVXnJ@VV°nX@@wWVklUK@knVVKmkUKUaVkWkl»nwl°lö@lXV°UVbXKV@aJw@UmkUy¯UUUaK@UL@mm@XaÇkkmWank"], + encodeOffsets: [ + [117158, 36338] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/hu_bei_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "4228", + properties: { + name: "恩施土家族苗族自治州", + cp: [109.5007, 30.2563], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VKbX@lbUVnL°@VlVnUl@VUX@aVmaXlaUUU@wmaVUn@Vnmmk@mU@knaaU¥VamX_@WUmW@_kVaVKnLl@VVal@k¥@kUW@kUKVUlUVÑW@kÇaU»ValmkUVUVak@aV¯_@WUkmVUlU@aalI@akkVWUaWXUWwWVbÆ@lalIVK@Um@UUW@al²a¯UağÇm@bkk@w@@WaULmxIUb¯@U`UXJmL¯aKXWUL@aknmK@aWUXaWm@I@UÅmVU@aUV@bVI@WkUbXkm@VakwUKULWKXmJ@XUK@mL@KUwVaUI@KU@mmnmXka@»V@@UUaw¯yVk@UUVmmkÛÈU@mWUnmxmlUbV¦UlbWVUL@UUIUmÇKVVbUVVxknLUxV`VX@kJVVUXWaUVVlUnmKUbkI@WULmK@L@LVlLnmUIWV@akn`VXUJIVlUVVbUX@¤mbnLmm@UXk@mm@Uka¥@kV@@KkU@aUKWbkLWVkIVk@UbVlmX@bU@@mmL@bn`@Ln@llVLVk@XVVU@`VXU¼k`VULka@VllVIn¤VU@@blÜbkx@bkLkKn@bn@@b@JUnV`UnVbVKlVXUlbn@°Vx@@bnVbUllVn@VVK@UnW@UVUlnkVÈÞxVbVVIxVaÆ@@aka@UVaU@@ak@Wl@nbVIÆ@Jk@L@VlXnlla@VJnw@UmwXU@aVK°ÒnllnLlbxnKVaV@l¦²nVl@llLx@XVVĶ@nax@U@alXUVaLÈþV°XxWXkK@mLnlUb@bxnLVlVVkb@UJ@xWXX"], + encodeOffsets: [ + [112816, 32052] + ] + } + }, { + type: "Feature", + id: "4203", + properties: { + name: "十堰市", + cp: [110.5115, 32.3877], + childNum: 9 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@@a@w@kV@nbVK@nUla@laÅl@nlVakwWX@WkLaVmwV@anK@UlIXmWkk@@mmLkWlwk@U_mKXwWK@U¯K@UU@VUakmkIyUUVUmanU@mlwk@_mWXaUWU@Ç@U@aUaVwUKUIVkK@UWIXmaV@k@Vm@UnwlUamk@V@ULUamxUJkU@I`WkkK¯XWak@@W@IUVLWJkXkaÇVUK@kUmbmUUUKbkKWUkI@kKÝ@@aUm»nI@mU@UnWV_@aUmWbkLUl¯b@akkk@WkkJm_k@UV±@J@bnU@@WÝIUJVbXL@nlJkx@Wn@VkJmbLmU`VbUL@xVn@XV@mVVnnJVbUx@VnVUbVVx@nbUK@b@bJm²VUlbXzVJVJVbn@@Xmb@V@bVJÈ@Vnkn@°aVVV@XKnalLVmUnnVKVlnLWlXXKlk°XWkLUVVV@nU@ml¯nmbk@W`Å@mbLWm¯UxnêVèk@mbVnUK@kKmXk@@JUIlÛLllnbVnlJ@LULnlÆaVLnV@nkVJ@lkô@²bÆm°wLWV@VXKVXI@W°ÆVKb°UJVIVV¦XKVL@lInaVÝnUl@@bX@nmVL@lVLlVLVUnbVW@xXnbU°¤V@a@kWKUUn@VlnL@UV@Ü»@mX@V_akaÞ@VK¯@kkW"], + ["@@mUkUUm@nllVKXXVK"] + ], + encodeOffsets: [ + [ + [113918, 33739] + ], + [ + [113817, 32811] + ] + ] + } + }, { + type: "Feature", + id: "4205", + properties: { + name: "宜昌市", + cp: [111.1707, 30.7617], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°`U@blUbUVlVknUbV¼Èb@lXUÒkVUVVL@lVX@ll¦k@UbU@kmKULUbl@`nXV@XW`nUbV¦bmb@lV@nnlmnUm@UVnb@xVVVkbWnbVnVa@an@UaVUJXnWlXX@l¦@lKÆXbXV@VV@°¯°xXxXV@nV°UVWU_VWXkmaVnWVkn@lln@lb@UVLXWlnX@aXUmaVK@UXUU@WVIWXXVU@¥VK@UÞa²LlV@kV@UanKma@UVUnK@UVLXyVLknJ@UV@@UXKWUXaV@Vb@mVLnKWm@aUUm@@UkK@UlaLXKWaXI@alKlmUk@wVKXL@m@WWn@UVa@K@wna@aW_XWWkXbVW@k@U¯WWwka@UUaVIVkU@m±@U@@wVKka_@VV@XUVwU¥yUkm@V±ÈUKk»ÇLmmLk@ó£kmWwm@UIkWKXwWU@kLwkbmabkK@VLkmWIUKkUUÇIǫJXÅJULVÇLUV@UK@kI@WVI@UaWmXVVUL`±kÅLmKkkÅ@UaXXxWVXVbUXll@bkJb@bkVUVlnV@X"], + encodeOffsets: [ + [112906, 30961] + ] + } + }, { + type: "Feature", + id: "4206", + properties: { + name: "襄樊市", + cp: [111.9397, 31.9263], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@Xl@Xb°WlLXl_@JlVVInwVbVK@@UnlVbkmx@VUnl@U@nbWXJ@VlLUVJVLUxVb@b@VÈ@XVVWbnX@`lkx@nmVnbUVVVzlJnlVbUV@@V°L@VXLWxnLV`l@kxlXnK@nl@XlWn`Xnl@@UVa@VÈK£VLVanW°U@UVU@`VInmV@nV@Xa@aVW@UalkXKblIyÆXnlJXbl@@VV@nklU@`nVKLVKVb@VU@UÈKUVKIlUX@V`lIVbn@nblVVmV@@XXJUVV@knKVn@`@XVnKwlLVmUUU@U@aXL@WlU@UUW@UmU@KkLWaXkWmXUWm@U@nk@UmK@U@UaUVUUKV_@al@namWUI@KUK@aV@WUIb¥ULUJkImK@U@KV@U@a@UkU@K@wVaUwlU@mUULmKUkV@@anIWmUK@I¯mKkl@LUb±lUakLmk@WwUKÝVUIm`¯n@Uk@makJU_@Jma¯ImwUVkKbaUÅ@wWaU@VU@mXIVmmUkJkwm@mIlUKWzUK@VmLUV@VnbmLVbU@@lkU±KbÝV@UL@¦VWUWXUJ@XVWV@VULnbWVbW@kmWXUK@Vkam@kkm@UlmXUnbWlUXV`UX¯VmUU@Ul@Lll@nnJ@LnWmbm@b`", "@@kUUm@nllVKXXVKmU"], + encodeOffsets: [ + [113423, 32597], + [113794, 32800] + ] + } + }, { + type: "Feature", + id: "4211", + properties: { + name: "黄冈市", + cp: [115.2686, 30.6628], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VVUnWVXnVJ@U@V@VXV@@IVJUn@V@L@KlIVlVanLVbnVlIn@@a@Kl@@IJlI@aXU@KlKkVblJXUVlU@VbVkVKXn@VlxVa²I@VlVUxln@bJXklaVWnLmÅ@y@k@aI@W@aXIlVVaV@nnlKnLVW@IUa@a@KUVVlI@wXKVV@IUla@lUXwWnnalLlxXLll°@XwVKVaXIlnb@nln@Va@U@k°UmÆUVaXIJV¯ÇUmmkU@WaKmakVm@U@aVKkkmKkVmIkÇ°£@aUUVaVVnKlkXmk@lUVaX@@Um@UmlUXVUVU@wK²¥Ua@I@UVl@UV±UIUÇ°»VkUmVI@a@Umĉ¯V±bŹĖğaÇL¯lmkX@óĀ@mÝêb±WkLn@xXx@@b@V@LW@UblţX`kxWnXô¯¦ÆV@L@JVLxkK@V@bkz°llXz@JUlVla@XUVbVKXnW`XXV@laVV@VX@V¯xx@xULVbUJ@n@LU@VmmakbUK@bIWWUUVkUmkLm@VJkb@nUJ@`V@kXaUaVmmLkUmJ@Uk@U±lkzmJUb@bVUxVXU¤L@JX@VlL@JkLUVU@mnUl¦@V"], + encodeOffsets: [ + [117181, 32063] + ] + } + }, { + type: "Feature", + id: "4210", + properties: { + name: "荆州市", + cp: [113.291, 30.0092], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÈJVlVVLXJlnK@UlLanblaxlK@XVWxXLlJ@VnXxlnô¤l@nKnÈKl¼VL²ÇUn@VlzV¦UxWVU@@U`lbUL@xV@²@@nlVUUJVb@VlbXx°XVWX_VKUwVKVa@UVKUUVk@KnblaUU@wnWl@UX@lÆ@@aIVmUkxVJUbÜ@Uk@WWnk@VVm@I@m@Un@mXUlVlUnJ@knJVU°@@aÆLX@llL@¦nJV@XblLVa²U@UlW@VX@`@LV@@bXJlIXml_lJU°bKÆLnVVl@öVmXaVIĢllUlVnLVlX@@bannxVLbn@°ÆXmmkĉ¯w±Uċ@KÝÅƧŃÝçUw¯m¯k@WkV@¯UIUJW¼kbUwk@W`@¦Uônb@VÆlÈ@VU@£UWWnUÆUnmJkUÇ£VWUI@aUU@WkI@Ua@JW@k£kaWVUKmnkKbkkVWbVmUUmwU@kk@UakUUa@V@nlx@lUb±lUbnnWLUyk@UamUK@mlk@Wb@VXL@x@xWI@a¯¯V@bVn@LkKmL@`XmKmVU@@bkL@V±bk@UaaLKUVIWXamVVbUK@b@Lm@UWkxULWVUnm@UlUX"], + encodeOffsets: [ + [113918, 30764] + ] + } + }, { + type: "Feature", + id: "4208", + properties: { + name: "荆门市", + cp: [112.6758, 30.9979], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@n@lxlInVUnWJ@nUVV@Xb@xVÆbalLVUnx°JnbI@V`lInbl@@V°mn_VJÞUVLXx@nllKVb²kVa@KlknL°@JVLXnmJ@bU@VlnLVKV@nX@lUKVaXal@VKn@¥°L@UnwbnaV@KV@VUX@lVXI@KW@@IXWV@laVLKlaXUVVnkVWV@lwXblIXWVkVmaU£VaUmVIkU@y@WakKUamU@UUK@kmK@w@@mK@LV¯U@WwkmULamVVUU@IbUKUakmm@UakLmxU@UÒWlULţÿmwkIUm@akÈblW@UVUUk@JW@XkWWUkUKUIlw@aUWknWUUmnIWaUwVaÛaVUIwVlUnJ@bÅ@@kVWk@mX@xVVkbma@LUlVVUL@VUbULVxULW`UX@V@lUXWaXlWXX`@bmb@x@LUb@VmXX@@nWKUL@xVlknkL@bWJXbWLKkb@VlL@Vn@VV@bnXmLUK@nUaU@WbXVWL@VU@@V"], + encodeOffsets: [ + [114548, 31984] + ] + } + }, { + type: "Feature", + id: "4212", + properties: { + name: "咸宁市", + cp: [114.2578, 29.6631], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÞÆLČ@V²°xĊnlWnům@aK@°nJwnVIUaÆJÅ@wwVXW@aV_l@²V°lĊwlaXLwlUkalVVaX@lVXI@aUXJ@U°UU¥VIVKVklanLVa@VÈIVV@nk@aVa@mV_@aK@klKUa@UnKWk@@lU@@UW@@nUWUwmaVIXlV@mLXblJ@kV@kk@KU@WkUWVÅwkLmW@UmL@lULKULak@maUUÝwUJIbKUU@aWK@kUWVkUwVw@mÝ@I@wkW@aww@LU¥kJ@nVJIkVVnkVUkyUIUl@xWUkaW@@°kzWxkLUWmzk@@bVVVb@@XlV@Vl@bVbUn`Wn@WbVVI@`LVbXLV`mnU@@lL@LUak@Lk@WbUJn¦@lVb@xVb@n"], + encodeOffsets: [ + [116303, 30567] + ] + } + }, { + type: "Feature", + id: "4213", + properties: { + name: "随州市", + cp: [113.4338, 31.8768], + childNum: 2 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@n`lwkUmUVWX@lk@VanUĠ¼V@@mX@@nVVVXLmJVLnK@bV@@J@VUn@VaVUUUVWVLV@@Kk_@almaVkUU@WVVUVLXmmk@wUaUKUV@°@kmaUaÈmWmUVklaX@lVnxl@@UnaUk@VUVwVKn@VVn@VbVJUknUmmVmk_VwKUUmVak¥@UVKVIkW@UmIVWkIVkmmLkwmVU@LUU@VVXL@JmLUbmK@UUKmkKUUmVUaUnÇlk¯mJUnmLUaUJUaWL@UkJU@aklkU@¯@KWLUmUUWVkbLUKkbU@WX@JX@@LWJkUW@UVU@@LUmbamx@V¯K@¦mULk@WbUbLkVW@kVVxUb@x@LlV@V@b@VU@L@VLnlJVIVK¦aVJ@XU@bLV@LVJnXmbk@@bU`VLUVVb@V@VnL@Vml@@VXnWVXnWlXblK@LnV@VVX@VkV@XWK@bVV@VV"], + encodeOffsets: [ + [115830, 33154] + ] + } + }, { + type: "Feature", + id: "4209", + properties: { + name: "孝感市", + cp: [113.9502, 31.1188], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VnXK@L@°lVlkb@VlI@VXKVbVIVbnKVmnI°lÈkVmVbnUVVlLnVL@VnLVanK@IWKUUV@V@KVnUlxnKlnUlJUXnJ@VlXUJUL@Vl¦UbnVVLUxl`UnnnmVVlnVKbmVX@a°Ý°LaXJV@VUnKVXVK@LnKlLUbVVX@VwVJVn@@UU¥V@@UUK@maUVUkkJ@L@K@UmVUI@JU@W@U@UV@UIWmXUVmUUÇ@UVmIlmnmakK@akaW@UwVUkKVnUlKVwkVU_WKUkVW@UXaWkUa@w@VU@XaW±@IkbKb¯L@WXkW@UakL@UV@UmVUmL@UXWVL@aUVUUUVU@yUUIUa@wUKWVU@kWk¯UkwVKLUxK@nVxUlUUWVUmw@wUUyXWlX¦WbUV@U@blbUVVbXXl@lVL@bk@lxkVVnVx¦`UnkL@V@L@@@xnL@lVL@VnVVblLXb@@zlVUJVnUbV¤bUnUlWXkJWakxU@UXml"], + encodeOffsets: [ + [116033, 32091] + ] + } + }, { + type: "Feature", + id: "4201", + properties: { + name: "武汉市", + cp: [114.3896, 30.6628], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nbnmknJVUÈ@@U¥VknmV@VUlK@IkK@UW@IKV£UWVwU@aVanIly²kVl@@VnIlVnKUnVbblWU@@_VI@mlaUIn@lKVnUlVVXXJ@aVLlanbUnV@@K@mVIUaVK@ww°w@UW@UUUkbU@WWX_WmULaVU@WkbkUV@IWyk¯kly@a@UlLwUK@I@KÅUW@űUm@wl¥ka@@_Vw@ķa@akw@kKW£XVUVwVwUaU@VUUxWKkbĉx¯k±Uk@U`@bWXUx@xÆÅIVbUJmxIm¯@UmxnUVVbnJV@L@@kV@bVn@UVULlx°VXllV@XUVL@xVbJVV@zUVVVUVV@bUKWX@VnKUVVnU@@VlKVb@lXW@X°KaLla@JX²Wb@UV@@xVbXlWb@VUXVlXLV`UlUxkLmVUlLUVVxX@lb@blL"], + encodeOffsets: [ + [117000, 32097] + ] + } + }, { + type: "Feature", + id: "4202", + properties: { + name: "黄石市", + cp: [115.0159, 29.9213], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VUVV@VbUxaWUblUVmnKlX@bXJVIlVUxVVVIUzlx¯@VbnL@xx@UVaXKb@XkWU_Vm²klWXVKl@nXV@@wmlK²XaÞén@ôÿ@lWn°kUKmmUÑUmm@wkImWU@UakL@bVLUVċ@bUK@alIXKWK@nXnKmkUVw@¯b@LlUL±Wn@KULUaW@kL@lL@bU`@nUb@bmlU@UÇJ@UUbmKkblUULUJV¦¯V@VWIV@bWJkUW@UbkUlbkV"], + encodeOffsets: [ + [117282, 30685] + ] + } + }, { + type: "Feature", + id: "429021", + properties: { + name: "神农架林区", + cp: [110.4565, 31.5802], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@n`lIXll@ll@b°aVklKXaVn@bU`mX@VV@nmJn¼V@bÞ@lL@lJXVlLaVLVnVnalV@VLÈUlblWXIKVU@J_@annaXm@KmI@mkk@KVkWWw¯w¯°@UUU@WaÅWkL@¥@kWWXkWmIUVVbm@@bUbmUUbW@UVk@mVkU@U¯mKVUkaW@aULÆVbb@VÅ@Un@VLWl¯L"], + encodeOffsets: [ + [112624, 32266] + ] + } + }, { + type: "Feature", + id: "429006", + properties: { + name: "天门市", + cp: [113.0273, 30.6409], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@K@UlKVm_¥UwUmlUkwl@@aUK@kkWWUaVUka@aV@VUXaW¥Xk@WWIklm@ÅxmIVÝUkxka@bWJaUL@W@l¯UULUbkVUa¯bm¤UnÇUkmUUxb@VkXÇal@bVnlJnxŤĀVKXkVÑV@nwlKVbn@nlVbVLaJ@VVUnUbVKlnXxV@°U@KnL"], + encodeOffsets: [ + [116056, 31636] + ] + } + }, { + type: "Feature", + id: "429004", + properties: { + name: "仙桃市", + cp: [113.3789, 30.3003], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VK°VkX@@VKbXI@alblwÞVUnJÆwn@lkXJ@XWVzV@xnxVXUVVVkUw@mLVwKVU@Um@alU@@@KUmIUaVUmnwmwmb@aW@UkmKkUkVġkUJWbnUõ@UkmUÅKL¯aVkIk`WnkJ@xVLUVVbUbk@WlXbmVxnxUblbUV@@VUV@nVL"], + encodeOffsets: [ + [115662, 31259] + ] + } + }, { + type: "Feature", + id: "429005", + properties: { + name: "潜江市", + cp: [112.7637, 30.3607], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@UbVxbXmJVnXVlmVX@bkxVJVLVlXXWlX@@IVlVUaVwVlnÈVVmn£°aVbUlaVUK@mVU@U@VUkaVamwUwnWaXkl@VaUaVUUK@wWI@aU@@K@_UW@kX@V±VUbkKWaU@mI@¥kKkW@ÅK@b¯@UVmI@lmIkVkUWVnm@@V@n@JUnU@mlXXl@@V"], + encodeOffsets: [ + [115234, 31118] + ] + } + }, { + type: "Feature", + id: "4207", + properties: { + name: "鄂州市", + cp: [114.7302, 30.4102], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°¥WóXmlw_ŤWkVaX@@K@U@a@WwU@mWk@ULWkX±lUnV`XWl@aWLUb@Vw@wmKUa@°kwyVUJUUVwkUUJWI@akWmLUnkVaXVbUxUVWX¤lL@lx@bb@ĸUx@`@lbk¦@xn²VÆX@"], + encodeOffsets: [ + [117541, 31349] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/hu_nan_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "4312", + properties: { + name: "怀化市", + cp: [109.9512, 27.4438], + childNum: 12 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@n@b@XnJ@k°x@aVUnlUXnV@@VnJWUJVnIVV°UbVVVL@²LUVa°V@aV@nmUXblLXWVXVmVLVK@an_`@X@l°VlXXW`nX@Jmn@b@nV@Lm`bUbn@VUVl@nIVbUlV@LkJUnVV@xVblVUbU@zUKU@mx@xUnn@@WV@lbUb@nVWXXV@VIV@VUnJ@VUz@JWbXllI@VXVVL@Vn@Wlb@lXVlLaV@VJ@XX`kVwVl@bkbUlVXIlnLVamVwV@@nV@XaVJVbX@lwV@n@nV@VWnIVVUÆ@Xxa@IUUKmk@mVIXmWUVJnUVU@anaVwkU@UXa@W@m_@a¯@@K@UVbnK@blIlbXa@WW_n@VU@¯bmyUkUJÇÅ@WU@kWKÅwnm°KVkmankVWnXVWV@UwXkV@mUlLnaVaX@VUn@VnVK@xlnXWU@a@@klakVwmUaV@wmIÛ`m@mVUXmlIXVI@K@aU@UaV_UK@wkUmmUKWXmVkUL@mU_nK@aVU@Ukak»@U@ymU¯UUVKkam@nka@mwkLWb¯mka_VaVKUIUw@kKmU@WK@UnmaULkU@wUalWV¹U@@WUI@WU@_@W@U@mU@WbbUK@Um@@UmbUwWWkk@WUa@anUUwlWUwUU@wlJVUnnV@@mnI@mK@U@wa@wUm@_mVUUaVUk_kċUkVWL@mlU@kn¥W@UwUWV@VÝU@lXLWVUbVLXlVIlknmU@VUJk@@@kVmwmVkxU@@XmVUb@xnKVLl@VxUxkIU`@bWVXX@JWL@bkb¤@bmUUU¯Kkmb@VVUVVn@@Vb@`lnxmblUnbk@xUmV@bmWbUV@VJIl@nVUbK@nn@VbnJVIlJVkXJ@X@lmx@bnnWVXJWXU@UlU@mk@@llb°xIUbnJ@VWbXVmI@JVX@bk@bWL@JUXUK@U@U`n@@Xm@XVW@@nX@@`ImxU@@JUI@KLmK@UÅUUV@VW@¯kUU@UamVUUmJ@nxmLKkmJkwkKm_mKXU@aU@b@Wk@ma@zUJVUmbUlU@xnXlWlXXblK¤V@@nUVVLkVl@Xb@VVKnXKVx@znW@X@@lVK@X@JXbWbnn@JUamLVVXIVxnK@aWUX@x@VnI@WlI@anVIVxkl@lbXXxVVVJVInbV@@ln¦ml@XXVWbkJWb", "@@XLVKVXVKUa@UUUmV@l"], + encodeOffsets: [ + [112050, 28384], + [112174, 27394] + ] + } + }, { + type: "Feature", + id: "4311", + properties: { + name: "永州市", + cp: [111.709, 25.752], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lxUXVlXUVnlVĢJVbUXVJV@XUW¯VIUK@klW@Un@nl@V`XUVL@l@Vx@XXW`UnUbxUlVnUVlb@VnJUVVVInJlUVnwVklKnwLVJVV@nIV@nbVa@KVVVUUaKV_nVVJ@_VWnV@n¥lI@anl¥X_VKlwVlULUVVV@U@VXL@IUmn@VU@wmKXUWU@m²l@VIXWWkWUkWlkIVamUXamUnmWUU@@UnlK@XJl@kVUk@mWKXkl@@aVU@UVWUUVaIn`VUVLnw@U@K@U@w@UVmUU°K@UnV@bV@Xk@KVm@amkaU£VWUUmUUwm`UbULkaKXU@kVmU@aV_UWVIn@yXXK@klmVV_kWVUn@WUU@UmaU@wnwWanUmmXkam@UakLmK@bxUUUU@Km¥Va¯@kUaVUlmUU@mUUÇmUkUybbUaXUWWbÅLmL@VaL@WWXUKmmk@a@UUKXW¥kU@VUkxmVkUWbUJnVJ@nVJXzWxk@lVbUX@VVL@`mbUnUnVV¼k@Ulm@mwLb@lmLUK@UamWkK@£Ua@UkJkUmbVlkX@bWbUVnnUVl@bbVK@VX@lbV@nU¤x²Knblb@xVô@l@b@l@XWxnVl@VV@XLVlLUUXV`bXXmJU@@bm@UUkLW@UlUKWUUbwUmL@nklVVmVXXm@@bUKlÆnXkllVUVVL@nUbV@V@nnV@xUn¯U@JW@UX@xĉ@`m@@LV@b"], + encodeOffsets: [ + [113671, 26989] + ] + } + }, { + type: "Feature", + id: "4305", + properties: { + name: "邵阳市", + cp: [110.9619, 26.8121], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XIlJIVVK@n@VVVKnLVwVmnLVK@U@wJ@wVIÆ°X@ÜÈUÈxll@kn@VwVaXJWXn@@WVL@UUKVKV_U@@aVKx@UaV@lk@XylbUaV_Vnal@WU@aI@aV@@aVUl@XmUXWaXml@@kk@ma@V_UnUVUUWJUa@kkaWLUmk@@LUVWUkJWkK@¼UnWJIkV@b@JUIm@UlVm@Uw@a@kWXWKUknW@WUU@kmxUkVmIUJUUVmI@UkaUVUmVkwVaVmX_WW@Uw@@kUKWVU_k@mm@@VkX@lVLUJX°WVU@UIVWUaIUġmkVUkWUVWkwWXk`mI@¥kUVUUn±@mXkWknVUVmmU@@XVUk`@Xk@¥¯»mbĉó@mkU@kUKmX@UnmL@lULkKUWUU@bUaUn@Vb@l¦Ub@l@UKmnKUnlUVVbUVn@`Vn@xb@x@VL@nmJ@nU@mmUVkI@xVVVxkXVxmV@bbXVl@XlXVxna@Vn@@VVLaXaV@n@@V@X`V@@XVJ@XV@UºkXVb@xlVVKnbm@VXLV@nlL@VxJVULUb`lb°nXalKnx@lbmn@lbULVV°nV@z@Vl¼lb@VUV@bmLV`@nKlVnUXWVLnnlV@xVLU`VbV@"], + encodeOffsets: [ + [113535, 28322] + ] + } + }, { + type: "Feature", + id: "4310", + properties: { + name: "郴州市", + cp: [113.2361, 25.8673], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@²zVaVlnVl@nVkJl_XJlIVmnL@mV@VXn@lV@XzV@lyV¯²U@UlJ@XVKnVVIXl@UVLV`@n@JI@mlIKVLnUlVUVVLXaKVLl@nb@WXV°KUnVVL@xVJL@b@LUVVVUVXbmbVbn@@lUbm@x@XVVV@@@bkImx@Vm@Xbb@l°XU¤aLmnL@bl@@VUX@VxnVanLnW¥XKVwnUWXmVIUWÆLVxLw@wVmlU@¥XWUkwlÇn_UwWV@VU°wnUy@aVkVlnL@lVnw@VlJ@bXx@bVKnb@U@WVUl@@Vnbl@XLlK@aVLVKnxÞn@aLlmUaVUm@ÅknUmaUKmVk@mkk@UlWUkVm@w@kUU@WU¯¥@wÇ@aVIlUV@kUWU@UUm»@k@mKVkUKUwaUaUa@kkUWJkImaU@UK@maUzk`@zy@XmJkL@UUJmUkV@z@kkVmK@¦UbWL@a@UbmKmwUKXkVUUkmVkw@UUKmL@WUIWaJW_k@@WmI@mk@WkWULUUVKUUVm@Ub@nUÇ@U@wV@Ua@aL@akl@kUJwó@@L@V@`@J@xnnmV@bkJmUó@nJWUUmU@UV@LkWlnnmVXbmxxV@nbVV@XVm@UVlXU`Ukn@lWLWzm@UJVXU`@bVUn@lWVLlbVKVan_VxnVVVUXV¤bnl@bUn@LWlU@@amU@V¯LVVUn@V@x@V@L@VmxUKUVm_JUbVV"], + encodeOffsets: [ + [114930, 26747] + ] + } + }, { + type: "Feature", + id: "4307", + properties: { + name: "常德市", + cp: [111.4014, 29.2676], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lUmkUwUyV@VW@¯VaVmUU@KVUVUVLnaWnkUÓV_@mVU@Ýw@ka@kVmUmK@IkaUamKkXWaUW@WUk@@KVU@aU@L@J@XÇVUKVak_mWkLWakVUbmLUUmlUVKUU@kUWW@UImJ@xkLkKm@@X@óÝ@UUk@UKVULKXkWWbkaIUWU@mUk@WLaUJġ@@XÈÆVIlVnz°aV@Um@X`@XWbkakJ@amLaU@V@L°@@bn`@@XWb@VVlUxmb@bUVmVUIXVWnJU@nnlVLV@JbWzk`m@UVK²VxkLVl@Vn@V°xVKVkVVlUblx@bUÆ@@nVnUllkx@VW@@VkLWxUL@bÝ@kKkVõV@bkXVVUV@VkUkVLkVa@@¯xUxmX@JVb°WXkK@Vm@kVbbn¤xUXkJblxnXÆK²l_@Wnan@UL@bJnIlV@lU@@¯ô@lWȂIVKVmU@aXaV@lwVXn@@K@UVKUUnUbn@lWXlJnULKV@l@²a@UlK@aV@naVXWV_nKlL@KUm@a°U°@VXL@a@wWmXal@k@VLnV@@bl@VnX@mwVa²aVU@mk@"], + encodeOffsets: [ + [114976, 30201] + ] + } + }, { + type: "Feature", + id: "4331", + properties: { + name: "湘西土家族苗族自治州", + cp: [109.7864, 28.6743], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@KL@wnK±nnm@WUkÜÈn@n»@mVamkmUl@VnmmU@wUan¯VKLnVWlInyWUI@WWk@KXUn@mnUmU@WmkV@kXaaVaUmIk@kaX@Um@UKWU@UkJWkXa@IVy@UmIUVU@UJU@WXWmU@VakaU@@Xm@Vm@wnwV@VLyV@VakUUa@wUUVmlI@KUVkUamJk@VU@UmVaan_@KmU@@anm@ImWX_WWUk¯@k@W_m`@bULUKUnUWWXkKWaVmnU@@b¯UUbV±K@UKUUVa¯UUmJUVIXmI@UU@WmVmkUV@b¯w@lmI@W@a@m¯LXbmJVLklWL@V@XXmbVVU@@VU²Ul@VlX@b`XxzUmkUVÒl@bXLWxXVl@VbkLma@nmVmULVbmVUb@lnzmbUÒVl@°nLVlJkn@bmJk_VmmkblxÈx@LUbxVb@Vn@JmLVU@nV@¦VbnJ@lVVbkxbm@UxVLV@n`UnVVVkl°zxVb@VU@@ÆlXnWm¦nbVK@XVVUVVl@XKUV@nVL@WnIWXLVKVLlxUbVKXVWbn@@UnKVLVbJU@aVU°b"], + encodeOffsets: [ + [112354, 30325] + ] + } + }, { + type: "Feature", + id: "4304", + properties: { + name: "衡阳市", + cp: [112.4121, 26.7902], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lV@XV@mXVlXLWX@l@bVxn@UVkn@VJ@I@alUJXIVm@»LXllIXVVU@Kl@VnXKlb@lVbXIVVUmVVU`@nbl@@lXLVVVKVbnXWJ@VXbWxXbUlVK¦nLVVUVVbbK@ULnK@Un@VxlUV`UnnL@VVL@JV@VUnxnKVbV@@VIVUnJUVUl@nWXllIUaKVbÞLV¼²`V@VIUwlaVmXa@IWanK@U@mkVVUVaX@lnaVLÈ@¥@kkJUWJUaXkaUmwVXJ@_lWUU@¥n_KkamUK@amKnKbV£¯W@kaWan@@UnwlJ@a@@UUU@Wwn@Va@km@UanaWaUVUUVU@K@aKUI@wKUUVm¯LWUX@mak@UKLWbUKVUkUmVUKLkJ@nJ@I@mU_UK@VWkUJmUUL@WkI@V±VU°kzU@Wy@kUm@UWU@@nmKUnkJWIk`IUlmk@mUUkUb±yUX@VUV@bk@WlXL@nVlUlk@WI@kLm@VV@XVmnnVWbnVUblJXkVlXXlWXUJk@±@nXVWVnL@xUVm@Vn@JWK@UV@UUVUVKUkkxULW`k¦m@bkJm¦U@mUX@`UImUU`LVbUVUU@LUbmaU@mJU@UUIKmxkLUl"], + encodeOffsets: [ + [114222, 27484] + ] + } + }, { + type: "Feature", + id: "4306", + properties: { + name: "岳阳市", + cp: [113.2361, 29.1357], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@wUklmUUmU@@UVm@wUaV_mmUKmwkIkJmUUnm@@UUbUKUmÛamm¯xVLkbÇÆUVUzkVUlUUKWLX¦W@VUUUaKUbmLKm@akU@amVaUUVIVWkk@wk@@xmLlmÅwmbVlXlÝIWVkK@kkVL@VWKU@Ublnam@b@bnW`@XUJk@UUWKk@UKnn@xmLUVm@kbVbVnV@Vb@KnVLWXÆVĢ¦VblnUJWz@ÆVóUVbkVaÅx@¦lVUbVVknWKk@wKVUÅl@zkb@`m_mJ@xXmbVb@llV@n@llbXLUXalUlalVnwnLVKlVbX@@IV@blJ@bVL@VVVUXȤVnkVÑXmlbnVKkÑÅ@UmaVç@±XUlIxlV@VaX¯lUVVUVJnV@°°n°Vxĸł°¦b²¦lJ@U@aUK@kUm@_m±VIXal@Kl@bV@KK@km@UmUUaK@_UJaXU@Xm_VmUk@WUk@kU@a@m@UaUUU@al@nyXXWWwkly@¯n@@bnV@k@mVIVlUUmlUJUwIbXVaUal@Kb@VKVkXVl@VkUU@ylUVVaVL"], + encodeOffsets: [ + [116888, 29526] + ] + } + }, { + type: "Feature", + id: "4309", + properties: { + name: "益阳市", + cp: [111.731, 28.3832], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÆxXL@lV@ĢVIbXKl@nVV@XVJlbXalXWLVKUVLl@VV@ôÞ@@Wn@lLlK@wnIVJX@VX@lVVULVnkVVnKValUXblKnXl`UbVLÈU@W@IKV@@bUV@L@lXV@VXXblWnLVblb@JnLVUn@llb@x@ÞUV@nU`VÔmlXmbUKUVUV@LVVUnUb@°UX@UVzVxnlVkVnlVnaW@wnIn`@_la@ykÆVULxl@XLlmUUVakU@¥ÆwblUUaôVU@ÅXyVImkUaġ¥ÅUWXKmU@La@UmUUUalan@VUnK@wmmL@VlXLVVl@VI@WX_m@a¯mKUkwW¥UK@_UWWLUVkUWL@WUIkVU@JwkLUUmJVI@WkXm@VmkKUIU@mmm_@VUV@kJċwUU@KUWkkW@IWW@km@klwkWVkkUV¯m@kWLU`mIkmkXm@@`@L@xUKWkU@VL@JUU@mbUKVa¯WVnL@`lXUVkU@xW@UbUWVU@UJ@lnU@mnÈmVa@bULwUb@@VkxmUUUVK@IUmk@akm@wmIkK@bVWXkm@wULUmm@UVW@UbmbkKVnU@WlxVU@UXmWUXmlnbUl¯Lmn"], + encodeOffsets: [ + [113378, 28981] + ] + } + }, { + type: "Feature", + id: "4301", + properties: { + name: "长沙市", + cp: [113.0823, 28.2568], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lVUllXkx@lln@XX@JlXXlV@LVVČxlI@VU@Un`nnV@VJlLUnn@lW@XUJnIVVlKx@IVlUVJ@XXKlVVUXKVX@`VLX¦lxVnL°an@bkmVaV@XL@UKlU@llLXUÞJWkUknaÆxnknK@w@l@xllUXUJVVUbn@blV@bnLnKVaLVbVVUX@W¥XKVLVVklUVyUVÈÅlaUK°wnnÜbnVVLaVV@n@VmnVlIlJna@Valkn@na@amwm@UXwK@aUUVUUaVawWK@kU@UaW@kKUU@kW¯XWan@kmmÅ@@I@U@KmLkaVUKkLWVUk@UVmU@am@kkk¥UVUKmaUb@UbI@aKkkWm@W¯K¯b@VmaULVxUXlVk@UxVJVbUb@xUL@ULWWLĕmxVVL@VbKUwaŲWwX@@WUWLU@VbkV@aU@@VUnmJ@VUn@VLUK@UmUIk@UÇmU@@UW@J@LbUmVI@aUmW@@bkXUx@lmLUbm@UbkJ@V@XmlUbkKm@ma@kUaVU@aUK@mImJUIkVUVUakbWwka@UWKkLUamKUXm`Å_UULmaU@@lUV@X"], + encodeOffsets: [ + [114582, 28694] + ] + } + }, { + type: "Feature", + id: "4302", + properties: { + name: "株洲市", + cp: [113.5327, 27.0319], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XUnwĖKXXVK@VK@wVaUaUIVwl@kUVWUwVKnb@U°a°LX@XnllL@bJVa@VanbVLUV@al@@UV¯ÅÇ@Ummkw@¯yVwnUVVVUkmWVnKVUa@WXkVKn@lUVUVVVXIlV°VnI@VlKnV@mwVm@LXKWkU¥wWw@k@mX@KX¯V@VUVa@VnKWkV@VUkm@aWa@wkUWwkmV£VÿXUVL@mVIXaò@nW@aU@@am@aUUUmXmWUk@nUW@_maVmwUkamaUL@awW@akI@UxUm@kmKUklU@bzVm¯xUVU@XVxm`kÈlxXVW@¦kVUn@xxKUwÅKVXUJWnXmVUxWL¦XmmKbmUUwW@UV@k@VLnlbLm`@¦VVkX@`WIUxVnlbWVbXIVlI@l¦Ç@UKmbkW@UbUVUl@n@VmLXb@JWbUnkbVxUJUxWXXlWL@V@V@XXJWxzUVVVVKnXW`@bkIUlnLVJUbUIWVXlWV@XklVbnn@xl"], + encodeOffsets: [ + [115774, 28587] + ] + } + }, { + type: "Feature", + id: "4308", + properties: { + name: "张家界市", + cp: [110.5115, 29.328], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@InWVw°w@@blUKlUlVU@VUUUlW@aöUlUlLÞ@@aVKXwlK@UX@@UlwkVkUm@m@ÅV@akwVaUkUUlUL¯w@UUm@UkKlw±UULVn@l_XyWwÅ@VUUmJUXU@@mmU@kxW@UaUIWbU@@mU@UxnUbmKkWJkUVal@aUkUxlW_@WUIU@bkKWUJVnUbbWblU@nl@XnVmV@nmWV@LXl@XJXVmzkJUXmKULm°Vb@xnVmnUk@VnnlUb@nm¼m@ÛÇVl@Xmnm²mL@xK@LUl@nULÆx@V@VXVWbXXl@nLlm@bVKXWL°bnU@VaVU@mVwJnwVK°zn@VVba@Ċ¼"], + encodeOffsets: [ + [113288, 30471] + ] + } + }, { + type: "Feature", + id: "4313", + properties: { + name: "娄底市", + cp: [111.6431, 27.7185], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lLnJ@xln@bnlV@JLVUVnVlw@U@VaxVK@abnUmÇnV@km@I@VUVVXVaX@@wlVVUkW@_mKXU°UbVLnaV@V@IUKV@XlVL@w@K@_n@lWlnnJV_XK@l°nU@WVU@kV@nbVKVl@nLlLXU@lmkw@nW@UKVa¯IVn@@aVUUKl@nXVKVn²aXblKnLlmVI@KUU@akLUaVaUXm@a@wVUVKnLnWlXln@@U@anUVm@UInm@IUK@UmKVmU_kVUwm@@VmLK@VLaUaVUUUmK¥ULkVWaXwWa@UXImWUaULUUWKk@WnXbWVWnk@UV@bU@@bJ@bV@XkmbUU`VbkaWz@klU@b@VwUL@bV@U`ULVL@VUK@Xm@XWWIUbUxm@@lkkÇwVÛÇW@¯ÅUJ@xIx@@VULmKUnUxmKULUUm@@ULUJkIWJ@b@LJUWkJWnUV@nnÜ_nJxU@VbnUxlkb@l@"], + encodeOffsets: [ + [113682, 28699] + ] + } + }, { + type: "Feature", + id: "4303", + properties: { + name: "湘潭市", + cp: [112.5439, 27.7075], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Æ`n_VWnLVblKXL@VlbXxlaVbUVlUVJnInJ@VL@bUVVb@lnbn@lLVank@W@UlIVan@VanK@kVwlW@aX@Vn@bUJVna@KIX@@VV@nVÈl@VJn@VVLK@UVm@UnIVm@UV@@blUUaV@XKV@XW@XxƱbVxLUa@UKWk@wmmUalk@WXUWkXUVJVaUImKVklJ@aX_mWULUUVUyXwWI@W@U@UXKWkXWVwU@±_U»ÝKUaLVbkJkWmXk@UVVmIUVJ@UU@UamLmwUVU@mnJ@VUnmV@b@Vm@kkWmXmKULUV@x@bWnVUbVblK@bVV@LUJknmKkLWa±bUmULmWk@VLUV@bm@U°JUbVLX@@mlxkn@WVKkmK@k"], + encodeOffsets: [ + [114683, 28576] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/jiang_su_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "3209", + properties: { + name: "盐城市", + cp: [120.2234, 33.5577], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@n@°ĀÞ°@¦ULWKkx@bkLWb@lUlVXXJVbnUKmxXV@bm@@XLÞܦXlVnmzVJ@n@²ÞôkÆÞaȰĉwnljÜóéVÛnĊīČljĉ@ō@KÞUlU@kklÇÈÑÑlġXɛ@UġaU@U_W@n@kaUL@VW@kKmkUV@bkbWW@bkzma@JWI@KUKUL@U¦`@XUJU@KmXw¯KXkmy@aUIWJXXmV@K¯UU@@bVL@¤VLXbV@@JVXVK@JVn@bkKmakVVXUVVVlI@`U@nzVVb@¤n@@UlKXLVVI@V@nV@V@ÈUx@óVōkÅWó@mU@bk@Ýwk@WbXxm@@J@zV@kVbVnLWVUXWUXUWLU@Wl°z@VkxU@UVWIxWJkbĬnW@@bUl"], + encodeOffsets: [ + [122344, 34504] + ] + } + }, { + type: "Feature", + id: "3203", + properties: { + name: "徐州市", + cp: [117.5208, 34.3268], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XKVX@WnIVx@K°Lnll@@I°KnVaU°x²mlx@VanU@ak@akmV@@w@Ua@aUwVwUw@w@UK@£kaĉlóIÇVk±@@kUKmVkIkxW@Ua¯UUm@UVI@WVIJV@@Um@UanaU@mI@J@XV@XaVlkXVaUUWLUyVIXmWak@XkJókJUL@KWkk@ULU@WalUIkJmImkVbV@lV°kXUKWKULUmb@VUlVnb@VV@IVKUUmU@ak@@bmV@xklUU@UKmV@nJVbkXKUamLUJ¯UUVmIbVVLl`@LLU`m@kXUVU@VlxUK@xkIWbUKx@VkVVnb¯@@U@xkmbkLÇKb@@XnJ@LmVkl@@XlUVkxakVVb@bVnUbU@@xVUVb@nIĊ`XVVôJ_K@xlU²KlkU@VaVVÈm@kVUVmnamUUaVXIVJ@ç@¥nkVLn@@XVK@VUX@JVUV@UnVJVLUJVLUVlnIbKnU@m°VanI@anVKVLanlKblKÞk@¦@¤@VKnLVKLKVzlWLX@VmV@VbnU°@UalkWXLVUKWkUUW@£Wa"], + encodeOffsets: [ + [121005, 35213] + ] + } + }, { + type: "Feature", + id: "3206", + properties: { + name: "南通市", + cp: [121.1023, 32.1625], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VJ@bnzWl°LxnW@LVVI@W_V¥@VKVL@LXJI@nbly@aXXla@aVUnllLX@@UVKlb@@mXV`V@bĢlkČÇÆȘ¯wnĕVĉVÿUƒUĠŦğlXÑVǵ@±ōLʵĖ¯lÇbÝÞ¯xk@Çkķén¯@ğġƴǫ@kVVlUbL@xULÇóLUl¤@nkVV°VLkxVb@laUXUKWĖklVX@¤UUkb"], + encodeOffsets: [ + [123087, 33385] + ] + } + }, { + type: "Feature", + id: "3208", + properties: { + name: "淮安市", + cp: [118.927, 33.4039], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nźUôÒɴèl¦nĖVkbmX@xVlVL@xUb@bUJVnUxlKVLÈxmzXV@lW@XVb@bÈVxnbVIXa°LaÆVVaXUlK@aXIÆVlXKVUlIXalK@alwXLVK@¥Ý¯¯ÿ@mVk@aX@mīlaXIwXJVUV@lw@U¯ybUaUġUÅaUKVknaġm@kUm@wÆIV±nLÆwÇnUUk@ƅÝU¯JÝI¯¦Ul@b@@VVL@l@LLÅmL@b@UaVaUWmLUKV¹KLWKX¥WI@mXk@UmaUVUU@VmL@WbkIUWUmVóIkbmm@UbVLUxmJkU@bkJWbnXU`WzKUÞÈlVbLmx@kè@Æ"], + encodeOffsets: [ + [121062, 33975] + ] + } + }, { + type: "Feature", + id: "3205", + properties: { + name: "苏州市", + cp: [120.6519, 31.3989], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ôèĊVnX°¤²lxƒÈÜ@²x@J@b@X`nIUÆUUV@bl@VVnL@L@xJ@X@blJXnW@@`XbWkV@UbVxXUxkV@LóxVbUVW²VJĸklUǬ@ĢƳĠ°@mƒī°»ÈÇ¥ULUU±a@bU@¯U@KnImUVWUkmXUVU@lIVaUUVWKUbUkWKU¥n£WakJUkULK¯LKkVIn@VaUVUUUkVk@U@amUkJ@UUlwX¥W@@UkVmk@JUakL@kk¯ÝmJUn@nmVXlmbVVkn@UJ@±WUxV¯a¯KōbżÇxUxUUlWL"], + encodeOffsets: [ + [122794, 31917] + ] + } + }, { + type: "Feature", + id: "3213", + properties: { + name: "宿迁市", + cp: [118.5535, 33.7775], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XbWnUJVzXKVVUbWklUWbU@@W@IJ@nVmbVbn@@V@UIUJ@XUJ@VVn°VVbX@lwlJnUVL@l²@lÈUôJĊklb@¤VL@@xVxUxVx@bVb@@xU@lnmnXmXLVmV@X@lxVnVJôLLXax@b@@KVL@bn@@m@@alLUUVaU¥nIV±I@mXI@aWWXU@LlUXWW_XWmaUwÇ@aaWUX@@kWUynÇwUKkLVwUmVI@aVa@wUKUk@wWnlaUmĕk¥ɳçóÑŹVmmzkVmm@a@Iók@@LWU@`WbXLWlkImJVn@`nXVbXmL@Vn@l@nUVl°Xx°U@LVĠ@z°@¦UV@Xn@VJmV"], + encodeOffsets: [ + [121005, 34560] + ] + } + }, { + type: "Feature", + id: "3207", + properties: { + name: "连云港市", + cp: [119.1248, 34.552], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@lzXxmÆV@@¦@l`XnlKXXmKnLlab@xmbm@kL@V@Vl@@VUXJXmb@@°Æ@èÈzlW°XĢJlÈ`lInbWV_@m@UUķnôw°ÆmnaVVÛVmĸ»Ģw±Ý@@mUInyUmWkÛ¥ÝK@Wn@@aWUnwVLmUaWIUWVk@kkJUVWLUkÅWJ@bkLWVUbÅUb¯KWbUJWXX`WXkV@KWVXX@bWJ@nJU²mJV¦UbVVkK@b@@nm@@aUK@L@@awWbKóKUIUmkwW@U@UnWKnmWn@bl@bmVUb@kw±n¯wVUb"], + encodeOffsets: [ + [121253, 35264] + ] + } + }, { + type: "Feature", + id: "3210", + properties: { + name: "扬州市", + cp: [119.4653, 32.8162], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VUXblVVVb@xV@kzV@lwVLUbVV@VU@VbUblb@nkĶ°IÞV@ƆVlmVÈÅxmKU²ÅJ@xVn@lĢnmbUlVLÆbĢVVbVaXk@VXKVVWXVWXUmKUaWaU@¥@£XWUUV@@ynam_VWkUVUna@ÆV@mnkWmXkWUW@k@@akkllWUI@UnKl¥I@VVma@a@I@U@a@anK@UmK@ÅVUnJlkI@aVwka@mVIUW@UWL@WÅbmIULkaUWUxkLUKWlXL@VImÅVUmĉLUól¯I±l@ÒUbVbUVVXUJUnVV@lnbl@"], + encodeOffsets: [ + [121928, 33244] + ] + } + }, { + type: "Feature", + id: "3201", + properties: { + name: "南京市", + cp: [118.8062, 31.9208], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@k@ma@kUUVmVIUWVUUaVa@Ѳk°Jôk@Wmk¯KmX¯aUakKWU@XULXaV@@mUaVUUl@VmkaUXm@WUUna°IlmVmIUW@Uk@@aV@VVX@VI°»nmU@VKVan@m»UaU@U_@WlIUaaVaUala@¯n@kaUkUUWKU@mwkUUmmL@K@LmUUVKVÅImUJVkVVLèVLVU@WLV@nVÜULVUL@bW@XbWbkJUUVUxVXmVk@WUUkVmIV@nbnVWbJUkUULa@Jma@XkK@VVL@L@JLUVU@V¼nXlbm@kbUKmn@lVb@VXXVUV@b@LVbÆxXbl@@lV@UVV@XVK²VlI`UbVbUlVVn@WXn@@VUV@@KmbVLXÒLkKV@nX@VVUV@bnVllbmnbIWVXU@`lLlknVnmlLlbUmVInK°nUU@l@VU@Vn@@alI`VIXaVaVa"], + encodeOffsets: [ + [121928, 33244] + ] + } + }, { + type: "Feature", + id: "3212", + properties: { + name: "泰州市", + cp: [120.0586, 32.5525], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lUU@@y@In@WwXal@Þxl@@anVô@ÆXlŎôU@Vw@ÇUU@@m@UJUUWKkL@Vm@@£aUUmyV@@_kJUUVUUWlUnblL@aUmI@ULUW@IU@WaUK@£UK@aV@°V@LnUWWXIlaVV@£UWlkXĕVLVWb@kUalwUKU¯lU@mk£VôKÈVK@wKVaUkķlUI±ğ¥ÝUŹ¯ôm¦ĸ@XXK@VVXUJ@nlbUx@blJkmIUV@ÆnL@VmL@b@b@V@J@bnbU@UJk¦mL@VVJkXkll@b@@lXXVWlXnml@nÅU@mbUVlVUXn`mb@zU@VVWX@¤¦V@Xb"], + encodeOffsets: [ + [122592, 34015] + ] + } + }, { + type: "Feature", + id: "3202", + properties: { + name: "无锡市", + cp: [120.3442, 31.5527], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nLÒlxUVkLam@kVWUULUxVVVbUV@bVLUnnźÞVĠ¦XVUUaôw@KlUVwWUwVa@lUXWa@_X@WmkI@a@WI@w@KmKUUk@@aVUVVÅmJ_@W@a@I±wÛ@ƑÇkw±¯£mWĉUóçK¯VkUWK@XkV¯UWabmUaUUblln@b@xbXWX`@VxUblL@bn@Vb@`m@XbWnn@l¤n@xnVlUVLÆWkV@VbÞJ_nl@nKVU@aUU@mVk°WVLUV¯bVXbXlVn@VmL@xV@bl@nW@X@VVJ@²VJVU"], + encodeOffsets: [ + [123064, 32513] + ] + } + }, { + type: "Feature", + id: "3204", + properties: { + name: "常州市", + cp: [119.4543, 31.5582], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@LnxUbVVL@xnnWnn@VVXn@yImx°La¥n@VkKVwW@nXVJ@b@UVn@UnUV@Lb@`VLklVÞnÆ@VaXLlÈJmmVUK@aVUUaUUVwVKXVlUn@blKVUkwÑmKUVUI@±UI@U@WmX@k@aU@wnK@UUmWkaWU°aVUUK¯XUl@nVV@bUVmLk@m`ÝIUaU@lÅXUKkVmU@wmk£m@XmWan@@_Uam@@akKVaUw@W_XWa@w@akmm@mL@UJmnUK@@XnJWLkKUb@VxkWLaWVUImVULUK@L@lkLVVVllbm@@°kbVbUbbVbkJ@XV`V@Vbn¼"], + encodeOffsets: [ + [122097, 32389] + ] + } + }, { + type: "Feature", + id: "3211", + properties: { + name: "镇江市", + cp: [119.4763, 31.9702], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VĊKnVÆUnJ@UWKXkVLlKVwXVlbVKnJÆaķn¥°óÇIkWKUbÅ@mUÝlkUK@_a@KVUVm@mVU@@aUIW@mXUxLUlm@¦bK¯nwJzm@UW@UmmXmm@wKUUVamwKm@UbUL@Vmn¯¼JUW@UUU@@bl@@VVXJnnUk¯JmbVVXn@VWlbUnk@VVUVb@nU@WbKWV@XVlLVb°bnW°Lnl@X"], + encodeOffsets: [ + [122097, 32997] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/jiang_xi_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "3607", + properties: { + name: "赣州市", + cp: [115.2795, 25.8124], + childNum: 18 + }, + geometry: { + type: "Polygon", + coordinates: ["@@`l@Èbln@KVLl@V@bÈlnKXkVlVL@lJnb¦VKVVnXW@w°@VUmlnUV`UbVUV@xnKVI°KXKVkVL@al@XaLVlULWVVVL@bx@VXVmb@x@VVV@nn¤lb°b°KXXWbX`lbXxz@x`VIVUnKLxWXLVKVbVLVU@wnW°b@nalXmXVJn@U²mKkVlU@@xlnaVmlKn@JVLlnVl@XXÆèVlUX@xVLXVb°W@wnUWmXk@KLVwUmUkUKUw@wVaVK@k@WnkUKWkwlmXL@KVUlLVKXmWUL@aL@malaVk@aaanX@VVUblbJnXaVwn£K@UWmUk@UaWIV@bJW@KmmU@aUUUkmKkVKlUUnKVUlVaV£Å¥WUUK@UkUUw@m@mIkUUWLK¯Uw°¯@wUKUbKm@kkKUL@UUKV¥U@manw@k@U@Wm@@U@WwkmwWaUU@UUmV¯kw@@kmkKkUW@UK@ÅV@XWWkXa@Ul@Va@KVaUUU@aXwla@UkVWaXk@K@lmkUmV@Vmbk@»XI¥VUkVUVU@anKVUKUalU@wX@@a@K@ÝwL@UnÇlUIkJmn@bVVb@VmnkLV¯U@±lIWm@kaUI@aÇU@K@KUIkbWbJUIUyX¯UbU@méUUmUkWKxWIkJm@V¥U_UJUwmVkUU@@knwm@UmkWJkL@n@VW@@U@knm@kUml@xÅx@@XUJlb@VXJVxn@lbV@lULnV@VlnV@bWV@bXL@lVLVbV@blLn@VlK@xln@bX@laLVbnKUVVbKlXVVkxV@nnVUblV@@z°WWkbIkWL@LUJ@bUI@b`@UmI@mkK¯XWmUV¯@UUVUUam@@VULWUJIm`IUJKUkW@UxnWbnnmlXbmIUVmV@Vnb@VLUKWLnÒVVV@VUL@kJUV@bÈ@V°@XVV@l@xUz"], + encodeOffsets: [ + [116753, 26596] + ] + } + }, { + type: "Feature", + id: "3608", + properties: { + name: "吉安市", + cp: [114.884, 26.9659], + childNum: 12 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lxnb@V@bV@ln@nlIn@blVXKnk¼@VUKWL@bL@`UXU`@V¦XLĠ@lJ¦@nV@l°nn@mVXna@nbKn@lIV@VanJ@_lKVVnL@LK@Vn@VbUVanKlLnbnJVbnWVnVVanI@Vb@LbVKVanXVbVJVU@aXLllbôlƼXxVLVK@Xn@xnVVVmb@LnVVKVXV@@mnaVXUVnVK@_UaUmwnKV_anKVL»K@¯ÝU@U@kWlUnlknKVnaUkma@UIUwl»Åw@VwV@nn@ÈXlKVmna@kVw@anm@n_WWk@mUkUK@ImkLUnbkm@wV@klUnLV±m@UInWkWmb@¯amX@xUVUKUaULWKXwKmLUVUJ_@wyWwkaW_XaWW¯L¯akam£@mUU@U@wnaWU@Uw@aUKUXUVKUkKWbk@@bUKUlWL¯LUJmLwU@UVaVU_VkmnUV¯@@xXmWUUUL¥makI@UKUkWlLkmÇ@aUk@UKL@kmÇak@_VlkL@`lbnlLVanLnbmVÆln@kJlbknmKUbÝmmwULUK@bkLWKULUUma@Kk@UV@L@llbVzxUxnl@bVLm@IVJXVlLV`@bn²@J@V@Xmbñ@WbUJ@bm@@LUĬU¦lV@xXb@blnUV"], + encodeOffsets: [ + [116652, 27608] + ] + } + }, { + type: "Feature", + id: "3611", + properties: { + name: "上饶市", + cp: [117.8613, 28.7292], + childNum: 12 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@VI°`nm¤²@bVJUVVXUl@Vmb@xV@XbmVV@lkLmbn`VbnU@VaUnbVllUXVa@w°VW@_VWLnVlbLVbnlKnVK@IUW@_@am@ÑUólK@U@WU@VwU@UI@aUUaX@kwmJV@yX@kan@mkwVmmI@aUU@aUUW@kVkV@@anK»XVWnIVUl`@_W@wlUV@UWKnUbn°InJlUV@VnIbWn@VklL@l@Vn²m@U`kI@bWJnV@°VXnJmXVmx@VVL@bkLmWULUmU@bWXb@llnX@xkxVVnVV@¤nLnVxnJVXX@bn`VIb@blmlLnaV@blWXnlUnbl@KVanUVmm_XK@kWWnaU@UnaWUXaXamUkKmXUWLX¯WakKmnUWwXa@KW_aXWW_@WnIVl@XULnWVknK@ImyUUÆbXKÛ@W@IÆUnVÝlkVK@mUIVwkUVaUm@aVIVyXIaÈwmmk@UnanVUmÅaó»lwW@kkUVmUK@WKLUmWULkamKLk@Wa@wk@UU@U@mbUIWVKUXWmkUmVmU@LkakKw@w@U¯UUn¯l@bmn@xkJWxkL@VkI@mkmJUI@V@b@VVxnbWlkÈkVLbkKmVL@V@²nxWkLUL@xlKVxbXmVnWJ@Þ°@nxUKUw±`UImVmnU@kalm@akwU@UUJmxU@@U@kU@Um@@KnVm@kKmkU@@WUnkLWxkVUwmKmLkUbmKUbV@xUnkJ@n±UxVXUWJ@LUblUnm@W@nknUJUVm@kXllknVbÆKVVb¼V@Ul"], + encodeOffsets: [ + [119194, 29751] + ] + } + }, { + type: "Feature", + id: "3604", + properties: { + name: "九江市", + cp: [115.4224, 29.3774], + childNum: 12 + }, + geometry: { + type: "Polygon", + coordinates: ["@@WUkVUkmaVUb@mVUam_nalK@kUnUWaU@@wna@UVkUWVUUI@a±n£m¯_JU@ĉ¦Ul@UVKmmLlm@ğ¹m`Uk¯@@UVK¯@UUK@amkmKkVVUa@UkUKUaL@VVXUJ@n@WUbnVb¯V@LÅlÝIJÅkÝm@UaWUU@UmUXmmwVUUKWUX±mUam@kWzUaVmÇw@aÅLmKXUWKkL@W¯IwVwlkUJ@Um@ÛÈWKUxWkaUU@KkLVl@UKUX±KUb@nVVUbUVmaUlUL@aUL@@nUlWzX`@V@lx²@Vlb@bVÞ@°nl@UxVL@lUbVV@n²xVUVmnUÞbaJ@IV°xnbl@nbÆ@VwnK@VnXlK°xnUlVXV@Vl@L@lk@W_XK@KkWxUL@JnVx@aX@VVUaIXlmL@bVVX@VbnKa²XVWk°a@UnV¤nbmLmW@XbmJUbVLaÞKL@K@U@aVKlbV@nXlJxV@VnVÈÞKôbźĕČmV@Ċ²xÆIV@Þ¦ĸ¼ÞVlVÞnxln°JkLXWVUVUVwnJVI@yn@lXlaXmWI@w»ma@UmK@akKkXmW@_kaWakKWk@@K@IWkUa"], + encodeOffsets: [ + [119487, 30319] + ] + } + }, { + type: "Feature", + id: "3610", + properties: { + name: "抚州市", + cp: [116.4441, 27.4933], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°V°UnÜ@n@lnLlV@bV°LlnLllVzVVXlVV@@L@xX@WlXm@UVL@V@n°kVmVUnKlaXxVbnlU@lVVnaVI@aX@VJ@V@bb@Vb@X@lUL@@VlIVm@wUVanLalVnKnLVxlUXwlKVm@k@Una@mWIXKWUÛVk@a@UVWn@@kl@@WXlW@_Um@UVK@aLnalInWV@@xnI@¥Km@kKmnk@mlI¤laXbVblknV@UKXVlUXa@@Unw@±mU@ak_±a@UJUIVKW_Xa@aWUK@mmUVa@IXa@UWmannlmX¯WKXwVUVw@XUlK@klJXa@kkmm@Uww@¯W¯kw@WmbULaUUU@mVUUWmkUbKmkkK@akU¯¥Ulm@akU@m@KVIVV@KUkUVUkaUWbmIkaVaUU@mWbb@bUlkbb@nK@bKXVWnULkKUV@LWKknlxXVLml@X@lULUb@xVxVLVlVnUxK@LWlXnmV@x¯XaWUUK@wVWUkÅçm`@mn@bUx@lmbUnkLÇWm@mU@Ux@Æxk¼VxVJ@nbVlmbUmLklmkVlX@VV@°Þ"], + encodeOffsets: [ + [118508, 28396] + ] + } + }, { + type: "Feature", + id: "3609", + properties: { + name: "宜春市", + cp: [115.0159, 28.3228], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@VlbnK@b@JLlUnx±ĀXxÆWX@l@V@@blJ@nX@xUbVVUbVV@bVmnmJ@bmbm@klUbLmb@lVb@xUX@bVVVbV¤@LVVbXlVwLXÜÇn@@VIlVkUxx°J@XlKXLVWnLÆK@bÈxUnVbylXn@VbnW²XVLVVUnxWnnV@VVVXVbn@ÞÆlIÞJÆk@K°UUamVa@UUU»@wV@VkkUKUVW£U@UmW@@aXkVUnVlKVVUUkVmU@kWaUanUVVamIX¥W@@aUaUVW@_mW@UnIVVn@VbVm@bVL@anKVUkWKUXVIkx@nabVKb@nVJ_V@VwVUVVXUlUUaV@X@VblabnKlkVaXa¯@m@UKVUn@WXkW@@w@KU@UWkUUUykkmKk¯KU@akUmK@k@mmÛ¯V¯U@L¼UKmLbU`mLxVnVb@`LmUVUUWmb@nU@UWULmU@KnaUUmUwmJ¯IUJWIkVkaWVUIUlWaUIUVkKmbUIÒlVUnn@VlLUJ@bUX¯@aWVUKUXKUbm@UwKWa@a@VkUWn@Uak@mbXWJXbm@mLaWVk@wL@WmanU@knwWmkaWLKWUXaU@¥lUVVVbnw¥nKV»@aUk@a@UJ@kmLma@mbUWnm@ULǺ@LXnmxUm@UbkbW@@akLmWk@UXmJmUkV@VUXVlULmKUxkL@lmXnJ@Xl°Vnb@bU@WbKUX@VmKUX"], + encodeOffsets: [ + [116652, 28666] + ] + } + }, { + type: "Feature", + id: "3601", + properties: { + name: "南昌市", + cp: [116.0046, 28.6633], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@X@m@VIUW@UKVbLlV@VVbUlUnLnl@bVL@V°UL@V°@Vln_Ġºn@knKnLVU@VkĊ¥Vk@U»UaUÅLUalmkklWn@VUVIlm@mXn@VmkVa@KXIVUWVw²@m@U@VK@k@WUa@a@aU@IUW@@bUJmbUU@kkVmUaWwkbmLUVUnlWbUbklmLakbUaW@U@VbkVWVUUUVUx@U`UI@maULamb@lwJWUVXLlUVmL@bUK@aUnUam@UUmJ@VnX@`UXVVb@bX@W¦nJUbUmVVbXb@lVUnVlVUUkLmUUVWl@bX@VnV@X¤VUVLllUU@@x¼VV@V"], + encodeOffsets: [ + [118249, 29700] + ] + } + }, { + type: "Feature", + id: "3602", + properties: { + name: "景德镇市", + cp: [117.334, 29.3225], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VVX@VbmzxUlU@mbmL@V²xVbUVVblbX@VkVykValKVI@bn@n`lVWnX@lL@WKnVIVa@¯nK@alIXJVIVWUwn@nUnK@alI@a@anKm_aW@UWmIUwmmK@£UUmUUlwwW@km@kWaXaV@VnVKnXlK@aUK@UnwWUnmIUW@¯mUXI@alJV_n@m±@U@kkKUlm@XamJ@UVUkmI¯JmamVXL@VUkV@xX@`k_UVmJUXW¼mL@bU@UllX@VV@bVV@bnJUnlx@nmb@lW@zUnIlx@WbVV@bVJV@UxV@@X@VkLVôÒn@@b@`VX@J"], + encodeOffsets: [ + [119903, 30409] + ] + } + }, { + type: "Feature", + id: "3603", + properties: { + name: "萍乡市", + cp: [113.9282, 27.4823], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VWnL@UVWLXaV@@ama¯Uk@WmInW@klKVwnLVKUkVW@UlUnVnIVWl@nXlK@bX@laVan@VnwWm@KȹVK¯m@kmU@¥kIğ@WKU¥@V_VW@_K@aXKVL@Ul»mWLkU@amkJm@kmU@@a@UmakwU@Xl@VXk`UIW¼kWWX@@lxV¦XlW@Ubn@mUkL@UmJ¯UkUWVUaUlm@UXWlnUJ@LmLUnXll@bUVUUmVUn@¦xlnn@VÆÈU°kbVVxllnL@VnVVUl@VanL"], + encodeOffsets: [ + [116652, 28666] + ] + } + }, { + type: "Feature", + id: "3606", + properties: { + name: "鹰潭市", + cp: [117.0813, 28.2349], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@XV@nlL@lUnm@Ln@@VlV@@VV@nwVI@VVlx@bknlbV@nmnUVJ_²VxVLw@m¯@ÝXImnUWaUwkL@wVKlKXmw@±@UKnUlLaKlUlÇXkmaUw@U@a@UUkwUJ@zWJw@WbkVWUL@VmUklUaWakb£kJ@nmlnlL@nL@¦mJ@wU@mXkJmbK@bUL@VVn@`kXW@Xk@@lm@UX@V@blÜUXVWLXJ@nmb@V@l"], + encodeOffsets: [ + [119599, 29025] + ] + } + }, { + type: "Feature", + id: "3605", + properties: { + name: "新余市", + cp: [114.95, 27.8174], + childNum: 2 + }, + geometry: { + type: "Polygon", + coordinates: ["@@m@@WULUKWwÅ»ókakkWK@bUVUIUamWUbULa@KUa@mJUbmUXUmUamImakKmLUbVUam@@UL@KKmUUkL@`mIUb@U@V@bVl@b¼UmL¦mxUaUUVk@¦VWbXVLXKlbXnmx@lmVnb@XKxl@XUbnKn@WaXIWnal@Vb@XmlV@U@bXbLVxn@VaLVWVLXUb°@VW@aVIkK@UmVmkUÑVJnalLVUVJXbVkVJXUlblUXJVI°JnI"], + encodeOffsets: [ + [118182, 28542] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/ji_lin_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "2224", + properties: { + name: "延边朝鲜族自治州", + cp: [129.397, 43.2587], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Wxĵm@ó¤VX@@xܼƨ²xWxVV@XVbWXllaÞU°Ċ@ô¼LôÝWanV¥Ñnĉ°¥ÅX¥°¯@w°w@»°k£°mÈŹmÈbÆŎ¦K°z@kxl¦UbU¤klVKŤÞȰ@@bV@nVVUlÞ¦lUllVlU°ÑU¯V°wbXxl@V²@nô¼ó°kmVk²ĕw@wVÞÞ@@Ġö»¯@bnb°mÞ¯°V°ÈJmX¥mamUÅUlaU¯@wKkl±n@@wkÝVUUl±¯I¯bal@kLmakb@ġŹé°Þb°ékLmwXaÅb@bVlbVbÒVbUbUUanwakbVUVak¯ULmxV°UxnôŻX@JXklbkbĉabWU@kWUU¯@@klm@@Å@awWXlKkI@WbUaVIUanU@ĕ¯KmUnWUwm@£ċèkUmbUmm@@nkJUalwk@@nmWUan_óaWmnw±KIwl@UmI@an@@mlUÅmV_KUk@U`@_KUmU@U¯mmb¯@kbImV¯LkbKÛ@ÇnɱJóaÝĢkb@xÒÇll@²VÆUVVUÇ°XóxlV¯lV@bV@nx@¤@șŎnxV¼knJnKX°¦UlnVbUbÆVnÞWVX¦llb@l°VJôÒnLVbbX"], + encodeOffsets: [ + [131086, 44798] + ] + } + }, { + type: "Feature", + id: "2202", + properties: { + name: "吉林市", + cp: [126.8372, 43.6047], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ôlzaÈV°K@mLWlnVxUVÈ@ÝĬUÈnôLa²VmĀkV@ĠĊnU@bV@b@nl°UVnÞaôJ@bV¦mlkbmVXx¯@VxmnbbÈKV@bÈLwĠyônmnbÜ@nnVx@n²KJ@kal@nxÞULź±Vwkw¯LWWUkŎīVww°yVĕ°wÈVlkÛ»@wW@Uô£@nĶXwWaUamKóÑUI¯@kakkW¥XUmÝÅUVaUamVk¥W¯LmIlmU»mwȚō@£kJUÇk@am¯y¯UVwa@wġx¦K¯X°Ċ¯¦U°ċWULÅa±b¯@UkÅWmVkIUlóċ¹`óIlXWXxmbULÝbƧ@x¯bÈl@x¯zaݤ@nmVWb²bmn¯J¯Ò@n"], + encodeOffsets: [ + [128701, 44303] + ] + } + }, { + type: "Feature", + id: "2208", + properties: { + name: "白城市", + cp: [123.0029, 45.2637], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@óǩŁ@WlwUaƑwÛÅÇéĉamKōÇ@IôġVȁÑŹçÝUƧċĉwóóÝ@Ƒ»ğL¯ll²@ƆÅV@¦mÅb@nmlU²VxlUn@VbnWbÇbkÒn@èlnlUÒ°Lx@¼ĉb@ÒUċxÅènLVxÒbÅJ±a@_ÅJÅnVbKlnUÜĊ@UxXVÆnmVJÞ¯VĠwXw°xWLxKV¦ôUwVÝǬóÞÞ¼ÞkVôȘxÞUlVn¦ÞĊa°wb°@bÆwlŤL²`z°@V@@nJVnl@@¥nUmmn@mwnmmUnk@mlwUaLnwn¯°anWakIÇmXwÆamUXUlJXaUUklKUknmÞV@K@VWÞ@VkUwV"], + encodeOffsets: [ + [127350, 46553] + ] + } + }, { + type: "Feature", + id: "2207", + properties: { + name: "松原市", + cp: [124.0906, 44.7198], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@źèȂÒUóĢ@JŎÈLnĊbÈêÜƃxVbkx@XǪłôkÞ`Wb@n°abKnVw°`_X`W¦ĊIkmVakwKx°UÞbU@ll@°¦VWaÞbxÞI@mVI@VkÅUWK¥nLa@@È@°Æ@nU@KÞalkUwVékUWwkUVkkJk¯@»ókV¯ÆÇI@bĉô¯@ķw¯nmmÅL¯wVUÞy@UówÇLkmm@@UóxkkĉmL¯wVwkWWXmLõm@kűV_ô»ÛƯ@VaVaĠVlmğwķUóÝƽ£ÇJkbǫaƽLW@nxݤkzy¯XɅm@VôÇX¯Ė¯ºÝnUnLVlUÔmV"], + encodeOffsets: [ + [126068, 45580] + ] + } + }, { + type: "Feature", + id: "2201", + properties: { + name: "长春市", + cp: [125.8154, 44.2584], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@U°xÆKnn°mĸx°@Ċó@aÈJ°ÅUôl@¼l°IllUlVXxlVUêVxkllnÈUVll@Vx²IÞ¤VUlVnIôlÞlwô_bVaĶLXÅÞÇ@K¯@wÛaçn¥¯WXyW¯XwUmmÛ@manómğzxÇK@aUÇLamanUw°@WwnUalnk¥U@aóIÝbUm¯Vmk@@aU@amVğĉ@lUnÿ±UbóKmVÇÞī@ÇVUUwmXkKn@L¯ÇUbyókōè@bn@lÝX@x¯ô@ÆUV_maXm@aóJWxnX@VVnĖVnUJ@nōÆǼV¼kxLklÝw@xx@zV`ÅbmxU±xUnnmknğUbUUb@Å°Üó¼U`Ʋ@lönKnXWlXUx°xnKĊllôw@Vn@lnÈKôx@VÝzV"], + encodeOffsets: [ + [128262, 45940] + ] + } + }, { + type: "Feature", + id: "2206", + properties: { + name: "白山市", + cp: [127.2217, 42.0941], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ul¦kÒÆ°IlÒU¤ôz¼lJUnÆXVl°@²aÆbVKČXV¯°¥¯ĉ°WL¥Ģw@xbUx°V°znb@ÈlVlI@w@mU@akU°kUôwWȯVUVUűU@kÈkÑw@laÞġUÞ£@ƅKnÑĢ¯@WaUaVUVkkw@a¯@¯ÝVXnW@@WkXmK@xkKUb@bW@Uw¯mmb@WKUbmUbUaWbJĉIVW@Il±LkmUbUm@nkKWa¯n@`UbmaĉL@bÆ@W`L@n¯Xb@kb@xL@VkL±mlUIU¥mL@lÅx@_la@UaV@kmmK£LmKUnÅKVbmXVlèĉUUbmlĢŤIl¯bǦl@ô¼Ģ@x°l¤nal@xb"], + encodeOffsets: [ + [129567, 43262] + ] + } + }, { + type: "Feature", + id: "2205", + properties: { + name: "通化市", + cp: [125.9583, 41.8579], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÆlXnĠxĢ°lÈ°K°kXm@¦VbkŤJnݤkVÞVVkÈb°y@wkÇ°awƨ@aÞKVnaWwXWkôJ_ČºôVk»óyV£kÑJůlÑk¥Va@wkbmk£¯@wġó»@kÈ¥°akJÆ£ġnkVaĊVkçWUnUaÆLVmnLKU±@m@a¯UbmV¯m@_KUaÅWó¹@UanmWak@@wmI@y@mkJVa@UaIkJ@n@Um±kkxmIkbÇm@°bXnV@°ÈmlÞ¼¯XVº¯LmkWWXLmVVlkn@@lnWÆVxbmnm¯lÝaVÈè@¼VbÆ°ÞUVJkxIxIV¤ÒXxmn"], + encodeOffsets: [ + [128273, 43330] + ] + } + }, { + type: "Feature", + id: "2203", + properties: { + name: "四平市", + cp: [124.541, 43.4894], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ɇn°WzlyÞ£mwX@ƾKǬblaÈIƾ¤ôÞĸVĠxnmmV²wVnwÆaU_@yw@wÞxlkKlwU»È»ŎÅ@mVIUmmĕUU@mWXwIô@bWnnbU`V@Å°ó@wÞW@km@aŎç@m°Ñ°Inm±aXaUn@mƑU¦@ǯaU£aUġ¦ÅÒJōUŻókUÇ@¥¯ak¯mUVak@@aċçÅaUm¦Ý`XbÆ@n`IxĊÞōÞml@Ub@Wl_¯JkÇUÝÆÅb@nllUb¯±a@WĉJġĀ¯Unóm¤xôaVnxôI@xV@bmÆ@lnLmÞ¯ÞxVb¯þ"], + encodeOffsets: [ + [126293, 45124] + ] + } + }, { + type: "Feature", + id: "2204", + properties: { + name: "辽源市", + cp: [125.343, 42.7643], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@żôŎVIÆÑĢ¥VbV¤°bÈ@V¥ƒÞ£lÇUUUÝlÞ£mţIlUa@¥nlW¯L¯kÇġ¯ğwWmÅk¯UVUbWlXlmnbUx¯xVVknlUbVÇKUb@VnbmlnzUº±bmJUbWÈnèmÒ@X`WL"], + encodeOffsets: [ + [127879, 44168] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/liao_ning_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "2102", + properties: { + name: "大连市", + cp: [122.2229, 39.4409], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@IÞmVk@wXWÜbnwlLnU@nLlbXW@awnbl@XLa@Ċ¥@LULnJ@xVnmV@VXXV@VJkn@VÜKXXôJlbxl@IVbnJVLUbnlnVwJVU@XUaUUlwn@°nVKnV°_VJwl@nwlVIXWlIVVnK@IWmkIVaVU@WÈUlmU@UWUalkXġŻ@kI»mmakUmĉUŁV»²ġVĕ@aUU؍IɃ`ȃ@kw@Umwĉ@WķÑIĉÇbÝLkymbIwÇmÛbmbU¯ÜõÈkÆVbŎxnXVÆnǪ¦b¤UxÝnĉÒmĊVȤÈbƼĀÆÆÞźbVVbX°²¤"], + encodeOffsets: [ + [124786, 41102] + ] + } + }, { + type: "Feature", + id: "2113", + properties: { + name: "朝阳市", + cp: [120.0696, 41.4899], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@na@UVI@mÑWkaV¥UI@wl@aÈbm@wVak@@K@k@a@UUmUUalmU@KÇUű¯@±kUKVkUaaU@¥m@@¯k@WLUmkn@mmIkm@amU@wVmkU@Klk@UmaXIWWULaULVbmk@UUmUk±_Uym@mbkImaX¯WWxWKzU@WkJWwkV@Um@UbVVVVXb@VWX@W@Vkb@VnUK±aUUlwXÇWKknU@mmUkLUVVUUVUawbkKmwnIkJ@nmb`kmVkLWwUm@UUUK@UmaUa@UUaWK@mU¯Wkk¯VmUUxVXUVmL¯ymXkWUbmXUKVknWx¯JVnkLl@VVxnxlĀVL²WlXl@bÝVUn@bnlÜaXblIVl@@Ȧ@VmbXV@@xVVnUn@`°@VnXU@K@VV@VmbnVn@ln@bx°Ub@bLV`ÅnW@@lUnnWVU@Vbkl@Xl`XxVUblkX@°¦VUVVbUlkV@UbVbkLUxmJkX@bbxVKÆlXXbnnala@Uk@UVVklKVUXKVU°KVan@VUnLKVLWVaU_@mmUXa@mwXwVkVWXkk@k@klm@wXKl@U@KVUUUVaUV@alLxUx@b°°VnnVxlIXJmxLUVlV@bnX@VbaVx@XJ@bn@VVXÈl@llX@lUVô°°@ÞVbn@Vk@VW"], + encodeOffsets: [ + [123919, 43262] + ] + } + }, { + type: "Feature", + id: "2106", + properties: { + name: "丹东市", + cp: [124.541, 40.4242], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lzXJU@²x@@V@bUVmKUn°n@lnVKnV@n@VlV°WbXn@VzJ@¦@bkbbUl@bkbJ¯zWULWbklVnb¦VJ@K°Ukl@@WbVn°@Vm²UnX`UÜLXmVXlKVbUVVnUbnX@VUL@lUbWx@²kl`n@Vlb@nUVWVLVU@aV@²bl@ÈmxWXVÈUJVl@laWnXKÈkÈ@Va°bÆm@XV°IVV°UnalVUn@UwVU@@VVJI@bl@XK@wWmXUUVbkJVXnJVI@mknwlKXL@`l@VI@UUaVKÞnaVm@aÇ£XWU@aÇUU@mbkKm£@WWL@@Kk@klUbWKUkUU¯UõÛmUUaVUU@WU_W@kVkJ_WKkV@bUL¯¯±mk¯ġğÑ@UmwKUaka@am¥ÝIUWmk@wmţLKʝbȗKWĢklVbX@VVknÇV@XUVUblJXn@J"], + encodeOffsets: [ + [126372, 40967] + ] + } + }, { + type: "Feature", + id: "2112", + properties: { + name: "铁岭市", + cp: [124.2773, 42.7423], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XJm@¯mXUlnVbUJU@bV@UJWL@VXLmJVbkXlJXxVL@b@V@n@b@`Vbk@lxknV@VVV@bUL@bV@@bVK@VXLWLXJ@LV@nbWJ@IUVx@LVJUXVxVx@VV@@LXJWL@VU@@L@VnL@bVVmVX@@VVInJmbnLWVnVULVVU@VVmX@@JVzl@nVVKVXÞ@mk_lmUUWV_nJlUÞÑÞVVUVVLUVJ@IVna@@KV@XwWknwnKlalUwaĉÝwJl_@aUaKUUU@WU@WXUÆ@@UVK@n@UnVVblK@bllb@bbW@Xbl@UlnLl°°b¦nKlVnIV@UWU@WXkw@am@nm@aVw@I@KUaVIm±XÑlknJVnVJaX_VaUaVKmwnkmmn@lU@U@mnaXlKUmUIVmklaUK@UlUVUW@UkVma@UUU@JmUU@@bmbKWV¯XUKm@ka@UVKVk@aUKmLkKUUÝUmbXbÇJ@k@WU_@m@klm@UXKVaUI@KWUXaÇWkaWUkWUL±U@lUU@UJI@V¯JmIm@@aU@Uwa@UV@VkIV¯aUkWkb@bVL@@VVVUXW@Ua@@bÝbUVÝ@LmUkVUbVllLUV@LXWbUXm@U`@kxlnnJlbnIllLXlVlUXmVKnV@L"], + encodeOffsets: [ + [126720, 43572] + ] + } + }, { + type: "Feature", + id: "2101", + properties: { + name: "沈阳市", + cp: [123.1238, 42.1216], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ȚĊÜ°bLlÞxUbUn±@ÈnVÆL@xnLlUVbxkImJkn@V±LUxkV@bbKVKnzVl@L°@VaxÞUlbôxVV@@V±bn@llXLöXĶnal@nkVJVI@aU@@aVK@aUUUU@lmkwl@Ua@_@a@m@U@aUKWwkIlWUanIWK@UXKVIU@@aVVIUamVknW°n@WI@KUmULWnkVkUWKkkmJkamIkmlw@V_n@VWXaW@KVUkKUkValUnVK@ÞVUÞa@a@VbX@VWUU@U@UK@ala@IkKmUUa@U@VkkWVwU_@KÜUXbl@V¥XUVmXakÅlUUkIm`UIUJW@UIKmkm@UUJImmU@VUXU`mIUbUK@LJUUl@X@UbJkU@nm@Uam@@aUmLKwmWXUK@kUaÇa@JUIUa@aKVUUXmUy_@lmbkLUKWLX`n@bVL@JXLWX@Vnb@Vm@UbnVmL@V@x@LUbVV@V@LUVl@mb¯U@xU@UVVV@X@VVblJ@bnVKUnx@llnL±¤b@k`VXÆK@kV@¼kl@bWIUl@VmLnbm@@JXXmb"], + encodeOffsets: [ + [125359, 43139] + ] + } + }, { + type: "Feature", + id: "2104", + properties: { + name: "抚顺市", + cp: [124.585, 41.8579], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XVl°bUlJ@UVU@bVxV@@bn@nJ°I@UJIVV@V@k²VVKlXXVblÈXWbXV@LVJUbWL@Vkn@l@nV`@X@lÈIWanaÞVVVlLnKVL@bUlUL@Vlbn@VL°WXULna@aV@nV@IVV@VbUnl@VXnKVa@UUnyWkXaaVk@aabnm@_WKXmWanU@alaUl@XJVLVxX@wnKnVlw@V_@a¯¥@UkKWUaUUanK@IaU@WUaVw@klUVyUUVUUÇ@Iôba@mnUma@kXa@UWak@Wal@a@WULmU@U`mIUU`mUk@@UUK±nkJbUam@kwm@@a@UU@Ua@@K@VK@kmKU_UKUUaĉWmkkL@`LnmlkLkbmK@k@Ulmb@b@xUVIUlmVXXxm@JUUk@WUk@akx±@¯x¯UmbKUUVmUU¯UmVVnWkÆlWbUnWVU¦k@WaÛV@LV`UxXllU@@VVbnVlL@J"], + encodeOffsets: [ + [126754, 42992] + ] + } + }, { + type: "Feature", + id: "2114", + properties: { + name: "葫芦岛市", + cp: [120.1575, 40.578], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ll°XnV@XLVb@VVbnb@VLVV@VVnXxlKnUl_na@mlImJnxlLaxVbUVVUVUKVlnnV@lmXLÈWkxVV²bVLm@Ula@UX@XW@UWaUUUUVan@V@lUXxlIXV@yXLwXXW°nblJnan@Vz`l²nVVVl@nUaVKbVKnXVaUaVUynXK@kVK@X@m@mLXaLWU¯w@a@UVw¥°ó¯¯y¯Uǯ»w¯Im¯ÇUUl¯»ţKċÑţķm¯w@mU_ómk¼VnU`±IkbVlnnU¼±Lk`@XWl¦UbmVUxkXVlkbllUVb@bkVmx@XVV@Jb±aULkKWXkWmX¯aUJmIkVm@xU@n"], + encodeOffsets: [ + [122097, 41575] + ] + } + }, { + type: "Feature", + id: "2109", + properties: { + name: "阜新市", + cp: [122.0032, 42.2699], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Xnb°lVlnXVJLlVnl@zÆxnK@bblKVLn@@VaVLVK@L@Vl@XVVInVVKVwlUXwlKLVVb@aV@XlUXbVW@nlWnXKV@@V@XUVVLUVV@@bVVV@@ln@VbVUXVIxVanJ@UIVWL@UV@@¤V@nInwWklnIVxlnzUVÇJ¦VVÜLĸUnW@aV_WĊXXaKnkl@nmLa@alUVw²K@UlmnIlJwaVUkmK@wÅKmU@DzVmVaÝwkKaÛ¯șĉķ¥ğ¥@kUWkƏīÝ@@akUK@KWIUm¯nU¯JmwUVmIkJÇLm@UImJUU@aW@U@@nUbJabXVWn@UVmX@V@b@l@L@lUb@xnÇabk@@xVJU¦lbXÒ@nUJ@Vmb"], + encodeOffsets: [ + [123919, 43262] + ] + } + }, { + type: "Feature", + id: "2107", + properties: { + name: "锦州市", + cp: [121.6626, 41.4294], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nJ@nlmVnXKl@@°n@@¦VbVbUlVL²l°@ƲÈV@LVknVbVVnnWVU@XmWUabIVa@mV@X@@bVVnIVJ@nÈKlInJVUnx°IV°mVnXJ@LLlV@b@ÞƐĬXllV@Ġ¦ĸ¦naWW@In@manK@UVkXJ@alk@»lU@ÅLUWl_@a²£Kkm@kwVmULm@akIUa@U@WUUVUaÝ@ğwkmĉ£UW@@bÇL@ma@_mKlXUwKLţÓ@UWw@K@UI@mU@UV¥@°UnJ°@@_KUwW@UnaWUmmI@mķwUaÇLóVĵwÝUUW¯¦Ux@Vb@xV°XKWbK@n@nW@UL@lWLmzUVVbUbmWXXWJbn@Vkl@LlVUn@xnV@bln"], + encodeOffsets: [ + [123694, 42391] + ] + } + }, { + type: "Feature", + id: "2103", + properties: { + name: "鞍山市", + cp: [123.0798, 40.6055], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lxĠÞ@bV@@w°Vna@UkV@K@UUUVa@K@w@UnKmUVan@@Uma@UXWWK@IUK@amW_XKVLlKna@kmKVak@VU@VmU@anIÆan@aUVnb@blLV`ÞLlUbnaKn@naVU@¥°IVK@anUUKVaUVak@mJkXUVwkVUUa°U@W@WlkXWlIXUlJlaxIVVXLll@nLV@lLXlKĊz¥maUlkXaVKX°yIla@aVkala@a@¥IUy@WmXa¯kU@U@mmUULkmm@¯VmnLVU@a@U@±w@VWIkymLUUkJWXJkUmxk@xUI¯`mUULm¯m@kxVVbWV@UVIUx@bkVVVxUbVV@V@zJVXUlnk@@lkLlLUU±Jkm@UIUVLUVU@K@UnnV@l@LlaUJ@zn`@nWlIUVUUUV±Ln@nmL@VUVkLVlUxVLVlÅXma@@akLmWUX@JUnVJVkXJ@X@`WXVUVUIlbW@bVUVL@`Un@¦U`@bUV@z@Jm@@XV`LUL¯J@IVKmKÅI@JnWVnLnVxV¤z@bmV@VUV@bUL"], + encodeOffsets: [ + [125123, 42447] + ] + } + }, { + type: "Feature", + id: "2105", + properties: { + name: "本溪市", + cp: [124.1455, 41.1987], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lb@VnlnVVUb@VJ@nnJ@bmXUx@xVbkbkWLUxnl@Ul@xWx@nUV@¼UllknkK@bmbnlLVJX@VIVJn_lJVVXUmnU°VVVUnVVLna°V°w²@lwbl@XVl@VVIn@wWWnUVkJVUw@@anaVk@@lnLlalKnkmK@_lKnlĊXVbVVLV`nL@lUL@@L@VbV@@V@bn@lxn@VbalI²mVL@Vl@nV_VVnJV_@nVKV@X@bkXbl@XblylUUk@Xa@UVIlK@UUWVULlm@UUUnKWU@K@UXmXVa@U°KVUUWUk@aUVKkaWkKUknaWa@U@m@mk@aUJk@@_WKkLmxl@nUJmIUWlIUaVWVXn@xWLk@@aJUI@U@UVVxm@UVkmb¯VUU¯JWU@Ån¯aUbÇ@ÇlLmWXkbk@UIÇVUXWwÇnk@±aU@@bUVUKUXmV@kaUm@k_±l@XwVa@kVK@UWmVaUmVUUakLUWWnÛKVW_m±VnU¯@Uma@Xk@l¯V"], + encodeOffsets: [ + [126552, 41839] + ] + } + }, { + type: "Feature", + id: "2108", + properties: { + name: "营口市", + cp: [122.4316, 40.4297], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ĊĖÆn¤°Ċ¯ŎWô@xXbwnKl@nX@VUVKmL@VU@UxÝ@VlbxU@VUb@bk`IUlVUnV@@UV@@JnXlK@b@nbÆWUkUKVwUklKVU@UnK@mm²KVUVVVUJXk@mm_@yVIbk@K@kmUm@VLV@VUKVUVJn@l²IVVKklK@kl@kmVUWI@y@UUUVawUUUl@akmmVaUKmIUaJk@wkaóIWWÛL@UlmUIU@WW@UnUUm@wmIVK@Kĉ¦@bWKk@max@bWXkamK@mVkKmxÛaWX@xUlÝnJ"], + encodeOffsets: [ + [124786, 41102] + ] + } + }, { + type: "Feature", + id: "2110", + properties: { + name: "辽阳市", + cp: [123.4094, 41.1383], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@`VzWnVUVL@bVbVJ@IÈbVb@lVLXWnxLnKVb@n@Vbn@mV@lIVa@@WkVVI@KVLVanJV_VWUV@nnJVIVn@na@alLlmkVk@»VU@mXwwk@@VmkVwXKllaUa@wVwnW@amI@mUI@VaUUkmm@UkaL@UIĉyLWkkKU@mKk@kWKUUJwkbkIWVkJWXkl@X@X¯VVbUVlUxVWlnI@lUbVUbVLmV@bUL¯J@¦UVmbm@LmbakVÝKU_kK@amaVUbm@ÅbmJ@bVUn@UVl@UbnL"], + encodeOffsets: [ + [125562, 42194] + ] + } + }, { + type: "Feature", + id: "2111", + properties: { + name: "盘锦市", + cp: [121.9482, 41.0449], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Vbĸx@nnJVnXmb@VXVxL@`¯@mI¯V@U¦@VV@nJ@V@LXx@VŤÔKLVxWknL@`b@nÈK@a@VXĊ¤nVK@aVU@UnU@ayU£UwmmKXUm@IÆJnLUL@J°IVKKU_@Wn@@I@yVU@aV_@¥Vm@_UKUV@aXkaVJVUUXW@_@WWIUlUIVm@IVW@IU@@VU@mUVVkJ_l@aVa@UVwka@UÞVwV@@UnKLVU@UmWk@mLxWa@wóUVUIÇÆĉ¦¯¦¯xʟJ"], + encodeOffsets: [ + [124392, 41822] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/nei_meng_gu_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "1507", + properties: { + name: "呼伦贝尔市", + cp: [120.8057, 50.2185], + childNum: 13 + }, + geometry: { + type: "Polygon", + coordinates: ["@@m@Łkklô@£kJ°ýɅķÑó¤ğLĉÅlÇğŁW¯¯ƥóÿlwkţÈéÝƛó°ÞÅxV¤ĉĖWƒ¯lȭţυ̃ɱÿķƅˋğɱřÝţϙȍƧĊţ@¯kWKUKm¹Å@ķJU@ƧÑƧō¥˹Ɔ@L@ÞVLn@VōČWJX¦@JŻbU@ţÞmVU@ȁýóbkWWLůUWġkmó±UŹôV¼ƽ¼ł̥ĖƽǬʉxĉŻȗKΕ̛ʵƨʟÞ˹»Ƨţ»Ǖō˷Ȍ±ȚʊĠUɾɜɨmÜ֞˸ƅȂ¯ǖKˢğÈÒǔnƾŎŐ@Ċbôô̐¼ƒ@ĊôĊÞĀxĖƧL±U°U°ĬƒČ°ÜêɴȂVł°@nxŎèbÈÞȌǸl²IlxĊl²ÒmôĖÈlĵºmÈêVþxɛČʉÇĵVmÒÈɆôƐŰǀĊ°ÆǬĮƾbyĊ@ĠƒXǀċm»ôw°Ûk¥Çm¯çkkÇǫţǕéX_ĶWǖīŎaÆĵĸĊ@ȚȘĊLĢĉVÆĉʊÇĕóaU¥ĉ°mkÅ°ġUĠřk°mÑČÿÛƒWĸ£ʠÆxÈÞŎÞ»ʈ²ĊÇČalÒ°Ť±ĸzĊKȲm¤Ŏ@Ò°¼nyȂUźīǖƳÈē°@ÝĶ@Èkl¥ÇçkxkJXÇUÅ@£k»óƿīÛ@lÅJl¥óý@¯ƽġÆÅanċ°é¯¹"], + encodeOffsets: [ + [128194, 51014] + ] + } + }, { + type: "Feature", + id: "1529", + properties: { + name: "阿拉善盟", + cp: [102.019, 40.1001], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ƏnǟƨʫŹɆÿ°¯ÆV²ˢżÿ@ÝÆŁȰ¯ȀƳĉó@ğky¹@īwl£Ź¯Ŧé@ÇÇxŋĉƩUUŃōLÇĵóÝnóç@ó@ġƱ¥çWUçÆō@éçťKçȭVһƽ̻aW¥ȁ£ʵNJǓƲɳÞǔlżÞmĠóĬȂɲȮ@ÈĢŮźÔnĶŻǠŎȭгŃċóȭţΗÆƑÞƧÅΫóȘǫɱȁġlÛkÇ°ȁÈnõl¯ôÞɛÝkĢóWĊzÇɼʝ@ÇÈķlUČÅÜķnέƒǓKȮŎŎb°ĢǀŌ@ȼôĬmĠğŰōĖƧbЇƧōx@ķó£Ål±ĀƧīXÝġÆêĉK°Ýʇƅ@ΌʉżÅÒϱʈ@˺ƾ֛।ţશóЈèʞU¤Ґ_Ƒʠɽ̦ÝɜLɛϜóȂJϚÈ@ǟͪaÞ»Ȯź"], + encodeOffsets: [ + [107764, 42750] + ] + } + }, { + type: "Feature", + id: "1525", + properties: { + name: "锡林郭勒盟", + cp: [115.6421, 44.176], + childNum: 12 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ʶĬĊIȘƨƨ@ĬÛĢșŤĉĬĀóUÈŚÜènŦƐȤȄłϰUƨťƾÑ܆ğɲƜǔÈèʈƲĊƞƒɆ¯̼V˺Ò˺ȂŤVĢêUÜxĀˌ˘ƨÆ°ѢmÞżU¼ÆlŎ@ĊçŎnÈÒͪŎźĸU°lżwUb°°°V£ÞlĠĉĊLÞɆnźÞn¦ĊaȂīġŃ¯Iĉůl»kÇý¥Ŏ¯én£ġÑÝȭxÇ@Åçķ»óƱŎ¥çWÿmlóa£ÇbyVÅČÇV»ÝU¯KĉýǕċţnġ¯»ÇōUm»ğÑwƏbċÇÅċwˋÈÛÿʉÑ°Łkw@óÇ»ĉw¥VÑŹUmW»ğğljVÿŤÅźī@ř¯ğnõƐ@ÞÅnŁVljóJwĊÑkĕÝw¯nk¥ŏaó¦ĉV¦Å`ğÑÑÝ@mwn¯m±@óƒÛKˍƏǓ±UÝa¯lōșkèĬÞn@ŤġŰk°ċx@ĉ`Ƨĕ°@ţÒĉwmĉ@na¥ķnÞĉVóÆókĉķ@ÝkƧƧÛa°Ç@ÝÈUóbݼ@ÛÒV°@V¼ˋLÞɅŤŹǠVÞȗŤÇĖÅōbȁƜ"], + encodeOffsets: [ + [113817, 44421] + ] + } + }, { + type: "Feature", + id: "1506", + properties: { + name: "鄂尔多斯市", + cp: [108.9734, 39.2487], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ĶL²ĬVłƑkkl@ȎŘWńÈĬȗ¯ºlz@ĠĊôŦôÒĠ°kÞÜn@¤UĸèĸbŌÈXĸLlÒĢxɲƤÈÛƾJÈÝ°UÅĶ»²VW¯ĸJôbkV@ôlbnĊyÈzVôab@ĸÞUl°yǬ²Ǭm°k±lbn°@È»JXVŎÑÆJ@kLÆl²Ġ²ʊůĊġřóƛÞÅ@mmLUÿóĉƧ@»L@`ČĸmȗÑţů±ĉğl¯ĀwÇçƧŤÛI@±ÜĉǓçō°UwôǫůķƳűbÅ£ÓÇwnÑó@ȁƽ@ÇƧĢón»ŏĕóĊ¯bÅVȯÅImōKULǓ±ÝxċŋV±Āȗ°Źl±Û@WÒȁŚŹНŚÅèŌô¼°ȰɞȂVĊ"], + encodeOffsets: [ + [109542, 39983] + ] + } + }, { + type: "Feature", + id: "1504", + properties: { + name: "赤峰市", + cp: [118.6743, 43.2642], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ɲŁĢljĊwƾōÞĭ°_ŎŃźȹƒUČÿl»¯ôķVÿǬƽɅġÅÑǫ»̐ʟȣU¯wVWÝÈġW»Þ¹m݃ɛŎÿŎōͩůV¹ōéċóŹÅVVĢǩʈ@Ėċ@ķÛV°¯xÇÅţ¥»°Ûôĉʟ¥WýČ¥wç»±mnÅķ¥ˋVbUÒġ»ÅxğLƧbWĖÅx¦U°ÝVóŰlô²@¥ÜÞÛôV@²±`¦¯Ý@ÅVÒō¼ô¤V²ŹĬÇĊƑţxç¯Lk»ʟlƽýmłÝÆƏ@mö°Ġ@ŚŹĬţÆUĀĠNJĠX¼nźVUÒ¦Ċxȼ@ôlx¯łʊÒÜĀˌÇČxÆČÈƐaxÒĠn¼ŎVȼĢ°ŤmǖČĊþLV°ÞU¼ċÈUÆzÈa¤ôbknXĀè"], + encodeOffsets: [ + [122232, 46328] + ] + } + }, { + type: "Feature", + id: "1508", + properties: { + name: "巴彦淖尔市", + cp: [107.5562, 41.3196], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@²@Ζǀݴʶհĸƒ¦Ķ̒Uˌ¼ӾÇƾ¼̨UÞĉƧéÝ»ĕĉƐȍōǪakóó¯a@ôţaV¯Þ¯°@²él¥ĵğťwōxó¯k±Vó@aóbUÇyĉzmkaóU@laóķIX°±Uĵ¼Æ¯VÇÞƽIÇÜÅ£ɱġwkÑķKWŋÇķaķçV@£mÛlÝğ¯Ñťóǿƴȯ°Åł@ÞŻĀˡ±ÅU¯°ɅĀźƧʬmǠƐ"], + encodeOffsets: [ + [107764, 42750] + ] + } + }, { + type: "Feature", + id: "1505", + properties: { + name: "通辽市", + cp: [121.4758, 43.9673], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ôƲĸ¼Æè@ÈȮwƾ»ʠĢ¥VÆ@²¥@»ŎѯĊJŤ£k»ÆÇX¯̼ōī°aX£ôƾȁź¥aôŤĢL°ĸ@Ȯ¼ÈÒʈŚôVXůÆaĠƛÈKķĉôÿ@ğÈĉ»ÇVnĉVwXĠÝ°ČÿĸwV¯¯ǵ±ĉǫÅÅm»²Ż±ƽIm¥ţÈķ@¯ƧJV»ÞUÝç¯UġºU£ţóaÅÅlƧī¯K¯ÞÝğL̑ȍƽ@ōŎōĀƑɜnÞݺX¼ÇĢÞUX°xVʠȤ̏Ǭ¼ÆÒɆĢǫƾUĀóĸ°k¼ċĀƑVŹȺōń¯`ÝĮƽŎĉxġNJɱłō¦"], + encodeOffsets: [ + [122097, 46379] + ] + } + }, { + type: "Feature", + id: "1509", + properties: { + name: "乌兰察布市", + cp: [112.5769, 41.77], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ʠǠÞĸɲȺƒÒȂƛŎaÆÈĕȘţUÝźǟɆţÝˌKU»@U¯ÜÑ@Þ»ôaVÞÇÈ@¯ÜbƨƨÞlĸ@ĊôlôÅĊUÝĸm¦bmĊ@nĊxŤÑ@¯ƨĖĊ_@Čwl¯ȭLÝ»ƽ¯ķůǓ@ÇǓbċÅÅÆwÿĠÇU£óa¥¯aŎğĠţkw°»¯ůlÝĵkǻݰɱƧǫaóôɱ»Çk¯ŃóʇŐŻĉNJŻĢ¯ÒÈUl°x°nÒĬónĊğ°ÇŚĉ¦ʵV°°ĬÛżÇJȁńʇʹó˂ƽŎÆţ¦"], + encodeOffsets: [ + [112984, 43763] + ] + } + }, { + type: "Feature", + id: "1522", + properties: { + name: "兴安盟", + cp: [121.3879, 46.1426], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÆXnlŎ°@LVLĠþxĊUȮĊnUĠV@żaW¯XIŎġ¥Ý@K@w@K@I˺ŻŎ¦ƨƨÒŎIÆ@X@VºnX°lŎ@ƾĉˤƒȘǷȘÑÝÝÞbVţĸÿŤxÈĖƐêÇKnĸ¥ô@ķÞUnÒl@UÅaīˋ¯ÑƧx@±kXřƐƏÛéVˋ»lō¯ĉÅÇÓǫÞĖġV@ğ»°ĵÇÞǓ¼¯mÛÅŃĉĠÇƾb²çéż¯VğÞml»ōÑVç»V¯¯ĕÆU¯y°k¯¯V»ôÇÑ°a@ŹkġKţóbŹ¦ƽȂóW¤¯bĬ̻ŎW°ÅÈl¼ţ¤ĉI°ōÒ@¼±¦Å@Uġ¦ʟƽ¼ÞĢÒm¤êō°¦Èþlk¼ĊŰ°JĢńȁĬ°żnÇbVݼ@¼óĸţ¤@°Ånl"], + encodeOffsets: [ + [122412, 48482] + ] + } + }, { + type: "Feature", + id: "1502", + properties: { + name: "包头市", + cp: [110.3467, 41.4899], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@źxżĀǔÆǬVȘĀŤ¥ÅƾōôˁʈͳȂŃÈIÜŻ¯ī¯ōm¯ɱĖ¯ķÒÝIÝ»ÅVlÅôÑġğVmÞnnWçkWÜXƝÆwU»Șĕ£ĉÑğ±±ÅkK@lÅIōÒUWIǼ¯@mka²l¯ǫnǫ±¯zkÝVķUôl²ô°ŎwŦxĶĠk¦±ê¯@Ý°U°bóŤ@°bôlôǩbŎƏȎĊĖÞ¼êƨÝĊ"], + encodeOffsets: [ + [112017, 43465] + ] + } + }, { + type: "Feature", + id: "1501", + properties: { + name: "呼和浩特市", + cp: [111.4124, 40.4901], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ʶUĊ¥ÈřĠ¯ĉômīѯmwk¯ÇV°ÑżġĊljǓɱţǓƝóX¯ɛÒóa@nÝÆôƜŚĉĢʉŰĊÒ¤ȗĖV¼ÅxWƞÛlXXèmÝmUnĠĢóÒkÆÆUÞ¼ÞJĸÑ°ɲĕ°Ŏn"], + encodeOffsets: [ + [114098, 42312] + ] + } + }, { + type: "Feature", + id: "1503", + properties: { + name: "乌海市", + cp: [106.886, 39.4739], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ș°ÇīXŃŗ@ȍlkƒlUŁ±īĵKō¼VÇôXĸ¯@ťê°źk¤x@Ĭ"], + encodeOffsets: [ + [109317, 40799] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/ning_xia_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "6403", + properties: { + name: "吴忠市", + cp: [106.853, 37.3755], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nLV@VLaÞbn@@l@bUVlUVzVx¤kÞVèXn@nm°a@UÑ@VXnV@VaUVKUUU@@U@@KVa@U²@wXkWnk±lLnU@UmmVKnIVWnI@UK@UK@@UVKXkmWLWUXmlkVwUyVa@ww@aVIK@aVÈwKlLVV@LnVVVnUܲ°WÈIUÆ@nÞ¼@¦@UÞUVW@UxUxVnbKb¯ÞU`VbǬV@XXÆVVl°InmnUô°¯anam£WVXKXmkôaVU@Vak@@wman@K@UÛUWKXUÇ@UIb@alW@akLUKV@@Ukw±InL@kmwkWmk@JUIůVmnnU@m@UKVKlkUwknVUKmbkI±KkmVkKb@U@aVkUmn`kIlaUK@UUKmbUIÝUa@mUa@am@UUULUK@bmKkbWI@WXwlkXWa@k@kKLVkkK@L@JUVmzUKlwUUnW£XVlKUwVU@aXI@aWaUw@W@_nam@¯UkWVkUWaU@nwmJkUVkWVUmUkJ@ImbUa@@WÅ_mJknmak@@mXaUV@xU@@VUnkV@Vn@`ULUbWLXVW@kbUJ@XW`@nÅĖWJ@m°@xxbnUaw²lÞ°xŤIVVULÛWbbkVVXÆ`UbVL@kx°LlV@VWbJn@bl¤ULV°@lmL@£U@@aUwmKULVxUVVx@@kU@mK¯LÇa¯@"], + encodeOffsets: [ + [108124, 38605] + ] + } + }, { + type: "Feature", + id: "6405", + properties: { + name: "中卫市", + cp: [105.4028, 36.9525], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°@Èb°KnL@lV@@UwVUUwVKnLVx@bV@¤@nK@k¯UVKk£@amIXa@UkU¯Klw@UKVaÅ_UWlUaXaÜVKUUţJ¯wݱkxVbmaw@wn¯@XIÆĕm@X_@WVIlaX@WUXKVaVK@_Um@lUVm@U@Vw@VUÛwm@@W@ImKUkU@UaaX@wWaUKkw@UVaUamLUnk@»±`¯@kW@UaykbI@VWJkLWUkJwU@n¤mL¯wm@Um²XVWbnV@bmxVkxUblLUV@kVWKU¼kU@mn@JnV@bUnmJUn@k@XlxLVVnKlLVV@@LkKULVbk`WL@lkXW@kV@UÞUlÇXlkaUbmV¯@@L@V@bkb@xlWbbW@±@UJ@IU@mVkVxV@@lIlln@Vm@VUbl@JLmKÛXmVkUKULU`@LĉwKUXlVUl@VbJX¦̼bÞxŎxɜĖĠŎaô@"], + encodeOffsets: [ + [108124, 38605] + ] + } + }, { + type: "Feature", + id: "6404", + properties: { + name: "固原市", + cp: [106.1389, 35.9363], + childNum: 6 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@Vnn@°xnK£mV@xlIXVlKXI@UJlazVbX@l°@²_@¼mlVnKVbUb@VlxVLXb@xWbVbV@VlnL@J@Xn@ÜxbW@nl@nblmnIÆ`@X@Vbna@aVUUWVk@kbWakbU@VwW@_l@nmn@@alVlk@UkmVak@@aUXaL@¯@KVa@axWI@KnkVaVJn_lJ@X@m@nVanUVb@mXLlJVWnLlaVVaVX@KXVVkVKlknKVa@aVU@KXb@klJUknUm@K@_UW@alIUamaU¯kJma@IUK@U@@UW@@aXLVVJVaXIKlaUkUV@ambUUJkIWJ@wUIV@JU@UwV@@Um@nU`@UkUmVUxWUUV@aÅb@aWXkKUUUUaWK@wnm@IVU@aXwm@UmVaUalk@anKUwlUwlkK@wmaUkmmIk@VmkUUbW@UVUnW@kV@xkVmbVnU@UbUV@ak@kkW@kLW¤@nV@VU@W_UVUU`VLUV@IUVõVULU@UUUJ@wmkUJ@WI@l@bkKkbVVbVbUL@UUJ@Vm@@L@xbVVVLVlVwX@Vb@bmUkbk@@JWIUVÅw@Km@UkWKXxWLÅ@UVUnWK@xkVW@KULwWVXVWzXVVKVXkVV@VUbV@UVV@@LXxVL@VbLnKVLVxXVmb@l"], + ["@@@J@aU@LWK¯UUxVVn@ĠLUW@UbUUUa@KUX"] + ], + encodeOffsets: [ + [ + [108023, 37052] + ], + [ + [108541, 36299] + ] + ] + } + }, { + type: "Feature", + id: "6401", + properties: { + name: "银川市", + cp: [106.3586, 38.1775], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@UwVK@UVWÞUbwV@knV@@KU_VK@Kn@W_XWlL@Vn@Ċw@Ula@Wanamī@a»ŋó@aÆÅɲÿUaV_°ÝaLaUmVwVwX@VUVÝ@@¥Ý»@mVÅÇJ¯XÛ±VUmUmU@KUUkKLÇxU@bLUJ@bx@xUbVzUxklWnXVKnXWlUL@V@VL@VL@mJUXmJULnn@VmVkK²mlXWlx±@@VUb@L@@VV@VVULVUbU@WmU@Ò@V¯bmn@V@lVnUnVWXVl@¦VVUn@x@XL@¦lXxVb"], + encodeOffsets: [ + [108563, 39803] + ] + } + }, { + type: "Feature", + id: "6402", + properties: { + name: "石嘴山市", + cp: [106.4795, 39.0015], + childNum: 2 + }, + geometry: { + type: "Polygon", + coordinates: ["@@U¯ķó±ÇÛ¯ķmbXb@kb@Vĉxm@@UkKWXX`m@@LULV`@L@mU@lUxaÝVUX@VULxVkLWV@JnVLXVlUV@zlVL@V@bn@lU²WVLlLVbUVxUx@xǀLxôÒkK²VaU@wXa@WÈĉUa@bÈkm@¯"], + encodeOffsets: [ + [109542, 39938] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/qing_hai_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "6328", + properties: { + name: "海西蒙古族藏族自治州", + cp: [94.9768, 37.1118], + childNum: 7 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@V£°@laXô±źwô@UlżaÜnKw@Uaa²LmÈLÆÈxlaUawÞmÜbÞUnJ°akôÑkwÝVğwÇ@ÝkkV¯¥@ò»nŤ¥XImw@mVwa@ÅwmLkaWw¥l»kçó»@WÑĉğ@ĉŃUwóřVómĵ»Ý@VǕ¯kÝĊÅk°ÓUklkU±IÇÞk±@ƽJ@UġIk@W¦VÑșÓÅnťKULn¯X@¯mUÛ@WÅmóKknōbxÝ@U@kw@ÿÇLţÝUkmwklċVÅU¦LkUWlÅÑ@a@ÅѱUóġŹ¼ÈĉmŻ@@wkwKl¯Uġ@lÇUÓ¯_Waĉ²Åló¼VbknKÇÅ@ƧĢō°Ý@ğWÅxUUm@ÝXÛWULUè¯@mbUaLbUWġxIUJWza¯by@ōÈóLU`ÇXUlUĉV¯nmÛbǕLklUĉVóaġƏbġKţnkbÝmmnÝWȭÈÝXţWókUÇl¯U¯ġUɅĀ@°¯¯VÆnmJ@ĊķnóJUbÝXUlVkL@lVxnnmb@¤Vz`ÞÞŤ@VnÆJV°bUôJkzlkl@²ó@ÆÇ°kĖÇbÛU@lmbXVkzVɅĀXˢlńĬŹ@éÅ@ĉńÆ°ğbUlɜ_°@xŦkbVbƒKĢŤVŎ°@żÈźlĊôKôb@nôxŦÆ@ôŎL@þÆb@nnWˌbÈxInaŎxlU@Ѳ±ğVUĢƨbɲ@Þ¥ôUUķWVô¯ĊWʶnôaŤˁ@£nmnIôǪK°xUXô@Ŧa°mkXÆÞVŎkĊ°ÞLÈôyVaIlwX°UVwĢÑÜKôw@nV@m°nmnÜɞ£VbmXn°ÜÒ@xx@Vb²UlbkxVnJUnVVĊ°KČm°nxÇnn¤±¦@UXVV@lVbmVVÈVxÒ°IbźaČbVw@VLƾÑ@Ŧô¯ĊkôÑ"], + ["@@@@nòVaw²bVxxÜaČVô_ĊJIVmLa°@Ŏ¥XlK@klKVbUb@nUĢnaÈ@lmǬ»Ġ¯nmnƨVyÑǖĠ»ɲIn@@ÅĢƳ@¯°ôVKÈbVIÇ¥¯@Ýó@ÑnīWKkk@¥¯ÅaX±VÅw@±Ġ¯@»nWmw@@¯VUUWçKĉa±VkkV¯wx@UJx@bknÇbmÅ@Uw±U¯¦UKm¯I¯ť¼ğĊ@ÇŹÈ¯@Ý»ÇnˡJbÛèÇnÅK¯ġĠŹW¼Ålm@¤n²Ýb@b¯l¯@ŤW¼nV@x°@Vx@lbUblbX¼WDzlU@¼V¦@bÇlVxUbVxÞbVbm¦VV"] + ], + encodeOffsets: [ + [ + [100452, 39719] + ], + [ + [91980, 35742] + ] + ] + } + }, { + type: "Feature", + id: "6327", + properties: { + name: "玉树藏族自治州", + cp: [93.5925, 33.9368], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ɆÿĢV°°VÈklVôŤXÞWȮÇÞXnmÞnlaŤmĢLƐaĢôbĊUVlkǖKÜan°mĊUVVkÈWV_ôKŎÇ@z°abXyVIJĢwVXaKVbna°@VçVKXÜÞWn@VVÆwXĠÞ@Ŏ¯ƨġÆ@ÈLlmUaô»ÆkĊ±Xb°`ÔVkÈĢ@Vk°Llx@xż@ĊnÇź»ôĢ²VÆÒ@@bÆÒXklVKV¥ÆČUklnxlç¥ċç@±m¥wÅJ@VmÈIléÈa°U¥@kÞVK²ÑW°w²ÑK²ñyÆÝVmw»kkWĉJWUVÅwLmÅ@@mwkn¥VÑ»°°@@»¯LlaJônVUůU@W¯Umѯ¯k@WykU@¯wV¥kVwţk»wWÇĉĶçKÞÇaĉbIlU@kwWXU°w±@UKn£WĉKWxkĕVamwXw@Wmnk@aVkbĉLlImmwUÇWxnÝJn@¥ÆkwaXÜĉ¯ÅV¯¤mkx¯kķܲVWôŹVU@V£¥@°wn@m@¯@UbUôķmn@ÆÛ@ÇýVaUÇĊV@Çlğ¯xÝŤlVÈÈVx¤VxkK@@x@kVĖġ¥kIWbXŎx@nxÅUW`_@±UaLUxK¯WbkVlbbmLÛÆWIUwWkwÝV@kIéUbUUkV¯Km¯k@Umݯm¯mLÞĉÛUmġ£UxkKm°Lwk@kVmKVUk@¯a¯ĢmóKUUxImlÅnÇbXèVVU°@@xXnm@¼ğ°@²ÆxU²WÆb°@¦llXLmĬ@ÒÞô°@ȦUJÇaLóU¯@°ġƴ@Æ@mɱJğ¼ǕÒUzƧmnmğ°ǫ¼knÇ@bġmmV@VaUaLkl@kLWō¦¯@bKUnJĉIó`ċUÛbwUw±axbñUm@@babÇÅXmƒÝÅôVbÞblUÞVÞU°VUx@UV@l`¼nL@ĊLW¤kXķWġXUVVVķUbVb@°kVVxÈa@ȦĊbaźJU@ÈVl@XkôaWĢÞ@laĸUÆb²mÞLĠÞÑôbÒĊaJVbm¦"], + encodeOffsets: [ + [93285, 37030] + ] + } + }, { + type: "Feature", + id: "6326", + properties: { + name: "果洛藏族自治州", + cp: [99.3823, 34.0466], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÞVŤÈK@ĀlxV@Þ@wŎalmôLnXÆÜ@nV°@°WmVKŦLÆmȚÔÒUX¥l@ĢJV@ƾI@wW°Ån¥kÅÝVwôÈç@lÑĊĕaJnaÆLVw°kny°UnkÆVČĊll¦Vƾ@@nUźÈÇIn°XwÞKô¦VWV£@£°ókċ±Iam¯Va»ČĉV¥°@mk¥l@Ċm@aUmwX@wÆxmĢ_`VnÆbKVw@@nUVğVmVVöIll@@çÛm£UÇw°@VU¯»m¯JōĖÅLa@»ĉĢ±`U_k`ÇçókXlK@akÝÞ£WċkÝkxJݯÅwxķxmIÅx@k±J@ýŋ¤UkmV°ÅÝxkwmġnÝVU¦ŤlmóXk¤UKç@mVkK@klī£m¯VUbW¯¼ċb¯ĵam¼mVXm@k¤ÇXÇbU¯J¯¯È@bVXVÒ¤V¼kxÝV@lVWxÛ¦W¯mKnlkU@nƑUĉÝ@ǺÛċUĉ¥UÞÅz±òL±Ò¯xX±ÒLÝU@lV¦¯ÇbkêÇJnU@ÆIxn¦@²Čè¦è"], + encodeOffsets: [ + [99709, 36130] + ] + } + }, { + type: "Feature", + id: "6325", + properties: { + name: "海南藏族自治州", + cp: [100.3711, 35.9418], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Vxń@ĊĠĊXÒ°UƾĕÞm°£nb@@LUUWÛº@nlÆǬĠ£ÞV°UXbVȂǵé@kWanm°@xzK°¯ĠVVkwLnm°kÞxÆa¥@wnĉÆ@_l_VwmĸèŤÅČU@Wn@ÑmKUnğK@°¯UÿV£nmLlUUÛé±óókkmnakV@Ç°óÝXWəÞťIţxmmVÛUVȂÓnWyȁĉkV°WnkĊa¥_K°ÿWna@mU¯wlÝIU¤UXó¥ÝLx¯WmJÇÈŹmV@ƽ@Uk¥ĉkċÅUml¯Vmz¯lUxÅKmbIbĉĖkÒ@ÇèóUxÆÞlm¦Æ¯X@x@²ÝlÈJV²klVl¯ÔlĉÆÞ°lUǖÞ@Ķ¼nUôôŚ"], + encodeOffsets: [ + [101712, 37632] + ] + } + }, { + type: "Feature", + id: "6322", + properties: { + name: "海北藏族自治州", + cp: [100.3711, 37.9138], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ōmġxƽUm±LǿþġÔ@kxmWb¯I¯mIUx@bbŹVÇkĵblĉI¯¥Um@ƯÈ@aóUlČ»@w»wXaó°ţçÝkUaV¥ÅbÝw¯lmnKlxUğU¯°Lyw¯@mnXbl@êȁǶUWa¯VÝUğ¤ǫkÅ@mܹXVV@K@ma¯¤ÝnƽĖ¯V@¼ôlèk¼¦xXlbnKÆx@bUx@nnxWJţ¦m¼ñ@°¦lUÞlÈ@ĠxÞUlxÒól¯bmIÝVÛaÝnxVbkbÇwÅÇKn±Kbb@VxLmÛŻbkVó@Źxó²Wkb@¯U¤źĊ@lUX°lÆôUlLXaV°wxUb°xÜôÈKVkÈmlwkÈKwKVUŤĉŎ»»Il¥na°LV»²¯Üy@wĢ°ĸwlwĢw°±_lVk@°bƯz@l_@Ģ±lÅVlUaÞLVnKlnÈ°IllČawÞÑ°xUU@wVkmĠLô»KÞýôaÞ¥ôĀÞmÆmUŎV¥Èl°²°a²¥V@@wamm@Ñn@Æ£żVĠ£@W¯Þl@»@Uk@"], + encodeOffsets: [ + [105087, 37992] + ] + } + }, { + type: "Feature", + id: "6323", + properties: { + name: "黄南藏族自治州", + cp: [101.5686, 35.1178], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ôl²ôÜêVVkKmnU¤VĀ¯°@LmĠVnLÈL@alb@al@n°V_XmWUÈamaVIn@naV£óVWU£°axÈ¥@aĊwȹ@óağbm@kw@maÆw@In¯mm@UkkWÑÅ@@kċÅçVkÝJÅkVykŹl¥@¯ĢUÜX¥òýmmXÝÅlmU@£WlyXW»Åbl@aI»k@klm@UxUUV¼¯XlaUnķI@x@¯KĉUU`ólČ¯ô@¤ÞJk°xVn@mbX¯ĀL`¦ĉbml¯XUlȂĊXzmȁÔUÜVUnnŤwŦJɚÝXÞW¯ô@ÈlUbmln"], + encodeOffsets: [ + [103984, 36344] + ] + } + }, { + type: "Feature", + id: "6321", + properties: { + name: "海东地区", + cp: [102.3706, 36.2988], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@Òb¤ÆI°ôU¼°UnnWx@b¯L@lUUWbXxWlƨnxVUllXVUnL@lȀý²KVnƾĢwV»@mÞ£nÆÞÑmLKUaVżĕWVk²ÆÝ@Xw°@ô@a°wóUUmIkaVmÞwmkny¹VÿƧnÅm£X»naV±Ýw@ab@am¯ĉVó¦kÝWKUU@WanUb@ôǺĉxb@Ǧw¯bV¤UXôU¤bmm@UJnbÇbXVWn`¯Umk@@bka@bÇK"], + encodeOffsets: [ + [104108, 37030] + ] + } + }, { + type: "Feature", + id: "6301", + properties: { + name: "西宁市", + cp: [101.4038, 36.8207], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@kmKVUWkVkUmwƧXkWwXaVV@k°K@aXwmmV¯V»¯óÅJ£amX@ċVţÆķçnUx`k`@ÅmĊx@¦U¦blVÞŤèô¯Wbx¼@xċ¼kVôbÇ@Å°@nV°¦ĊJkĶalÈźUa@aVwnJ°°JanXlw@ĢÓ"], + encodeOffsets: [ + [104356, 38042] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/shang_hai_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "310230", + properties: { + name: "崇明县", + cp: [121.5637, 31.5383], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@uŏu»GPIV±ÐɃŜ{\\qJmC[W\\t¾ÕjÕpnñÂ|ěÔe`² nZzZ~V|B^IpUbU{bs\\a\\OvQKªsMň£RAhQĤlA`GĂA@ĥWĝO"], + encodeOffsets: [ + [124908, 32105] + ] + } + }, { + type: "Feature", + id: "310119", + properties: { + name: "南汇区", + cp: [121.8755, 30.954], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@`yĉNǕDwǏ»ÖLxCdJ`HB@LBTD@CPFXANC@@PGBKNECCBB@EBFHEDDDSNKAUNBDMNqf[HcDCCcF @EFGLEBa@ACoCCDDD@LGHD@DJFBBJED@BGAEGGFKIGDBDLBAD@FHBEF@RFDMLE@SGANFFJBANPH@@E@FJjRIACDMDOEKLFD@DbDAJI@AP@BGHFBCBGDCC@DCA@CECGH@FKCEHFJGBFDIHACEDNJDCVFBDCRKRLDLITB@CjNJI^DBCfNVDHDFKHAFGDIICDWBIF@@CFAjFJNJBBHD@CJ@AEFJ@@DH@BFBCPDBMFEQGDIFCNDHIP@HDABFACBJFHEBSZC@DP@@JDBƤ~"], + encodeOffsets: [ + [124854, 31907] + ] + } + }, { + type: "Feature", + id: "310120", + properties: { + name: "奉贤区", + cp: [121.5747, 30.8475], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@~T~JjZdDbLXDLCB_J@@FHFZJJIAGH@HGR@BENBLID@@LFCDF\\FpDBDb@FAHKFE@dEDDdC\\GreNMACVMLBTMCCFCEGFAA@DAFDLMHA@OD@BMEWDOC@AS@KGAI_DcKwÕísƝåĆctKbMBQ@EGEBEJ@@MBKL@BJB@FIBGKE@ABG@@FMFCPL@AjCD@ZOFCJIDICIlKJHNGJALH@@FPDCTJDGDBNCn"], + encodeOffsets: [ + [124274, 31722] + ] + } + }, { + type: "Feature", + id: "310115", + properties: { + name: "浦东新区", + cp: [121.6928, 31.2561], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@EN@JJLNHjLJNR^GRYVBNZJRBV@PDvbLNDN@LGNER@nCNQNuT_TIVFV\\Z\\XnDrI|[Ʉś²ÏJUHOƣ}CA@IO@@CYDATGFIEDAEBBAGCO@GJMCEDCJRHEFANOCADAEG@@CI@FE@BDIC@AGIAIMiEEB@DE@AJCXJDCJEHGBELGCUCeMAD]CIJiM@DSAKJKCLQDQACUECDMIFCBDJGECHAEIWCK@GLMCCGEACNKCEJG@MMBMC@@CIJUINT@JAJSTEPZZCP"], + encodeOffsets: [ + [124383, 31915] + ] + } + }, { + type: "Feature", + id: "310116", + properties: { + name: "金山区", + cp: [121.2657, 30.8112], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@L@BIHFN@@EE@@EFBDGDAADVDD@@EF@CA@IIsRE@GDAF@BF@CV@|FBCHBLCNHAFCADBMDCFZXHILBVEEQA@MWFARJJ@DCX@@TEFBLHAAERE@AJABRPBNK\\BrJ\\VHGND@CNADKDADQjGAGNC@GJ@FCFFHC@JF@@dLBDSFADHVG\\DTEPDDHJALIJkJDJCDIPE@YDCBiK@DONE@EH@BAF@HLJA@EIA@ALKNA@@FIFAFHR@NALadsæąyQY@A±DʼnXUVI^BF@FFF@HBJEDFFGFEBSRkVEXGHFBMFIVW@GAEEFOIAIPKABGWEKFSCQLQBSEIBC\\FdBLRR@JGACFDDEF@AWB@LJJYNABBA@CUEGPaO_AIE@MYMFIGAEFECHSAAKAO\\[JEDB@E@MMA@@AGBKMGDFFCDDFEDFJF@NPBAFLHFH@EDDHBADDC@DDCDHHCDDFDABDAD@FEFOBCJ[D@HEDDNJBDDHABJIBBvGLBJAH"], + encodeOffsets: [ + [123901, 31695] + ] + } + }, { + type: "Feature", + id: "310118", + properties: { + name: "青浦区", + cp: [121.1751, 31.1909], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@RUNKdOFDJCbRFMLAHPLDN@JGL@@APBWYCKN@TU@SHGCEJIDIJKVIZVNM`iNY@CIE@CA@KBOEGEUFCCSADEIEFCDDDIDDHC@CKIeDCG@IG@DHWFEEGCH@@GO@@O]CNpeEQDBFME[JC]DGF@CKOA@QSB@GB@@GW@@ED@AQIJIAAFE@@DO@CFI@KNG@CDACAFEGKGBEGBDCCAIFCCLIECFI@MBCLDHGNAHSF@DMB@EEKBA@@C]DEICFG@ADBHGFKCDAKKHKD@@FHGAANGEEFCHKCECBCKG@ADKCNE\\[A[I@@mGBDQQEO@BCE@AI[AML@JGACLOAFKEMM@EQKC@CUCBCCBCHEA@FF@@FM@GEAJK@GNF@EXPH@FD@M^@HIADJCFDBER@DK@@DE@CAKFOCCBDHIBCNSB@GFC@GQEEOWFICGDUAEJIDBTAHJHEB@DIF@NE@H|HBDBEH@DKBAHEF@HEEUB@FGFGCCCE@AHOB@NH@PRLVNNFBX@RCPbAvMtBfH@DJF@ELBFA@EH@HNED@FFB@HLC@CJ@@DJ@PIRf@HE@CFF@GPHD@DKE@FFBEFFD@DEFCA@DD@IjCRFBAHFDKD@HF@@PM@H@BlbDJDBFEF@DLXB@HCD@@IFCBIFEJD@FDC@FBALLF@PAACJERACAJCBD@EL@JD"], + encodeOffsets: [ + [124061, 32028] + ] + } + }, { + type: "Feature", + id: "310117", + properties: { + name: "松江区", + cp: [121.1984, 31.0268], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@DLDFRN@FNELPBDKHB@INK\\BBJF@ADP@RFCRHA@nJ@B\\[\\MFLDBCH@DLDADFGLEDFFMHBBGH@EC@GLLLCBLDHEAGBCH@DEFJ^C@DB@LAFFA@CNE@GTMBGHKCAD@NEJFDKJDDJEDBCDHAAFLHFHBEBDDCH@LMJ@DEP@@CF@BEJBJIBRC@@FX@@HA@@HTA@RPBDLE@CHD^\\INFAERCfFMo^D@PP@@HG@HDFFXECGH@@JDHfCLJ@DGDCCCJCCEDJFCFTBDDVEHFPFLAB@NBFCFKFC@CHIACNOHWHCAAFIDD@CDAGEI@ACFMF@R@R_@GQED@EGFEQEDE_IAHKAEXCQUOQCUDEN@ZI\\DDmAMHCICDSOC@EG@BKHIGMIBCGOCSF[CUHCGEBCTKA@cE@@IGDEEEDI@@HMDBHiHCRCBCLMB@DMCGH[UqI[AMLOAAQIB@BQFBFGBAKFE@SW@CDI@QIEBNXB@FRUFKAGJYWDENCCADBBEMGKDGAAD{EU@@DAEE@CB@HQFJt@JDBE@@FC@"], + encodeOffsets: [ + [123933, 31687] + ] + } + }, { + type: "Feature", + id: "310114", + properties: { + name: "嘉定区", + cp: [121.2437, 31.3625], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@F@LI@IDKJADKIEJICADGACFECCJ@HKCAFOHAJI@aCBEE@ICAEB[GFGCKL@FGEIFADMLCAEJM@ELQECEIG@BE^QKKLQCA@EHBIGQ[GEHOMGGDHKH@JOECFCjCBEFDNCACMBCILGTABDLEEOEIG@GFIMM@CGKFBFCDE@@GEAGEEACIcGaHMFITIHDN[AKF@FS@OA@BK@IHM@KCGOKBENaQIDECcPMLQVFHFB@BFBKLGD@FAJOVGIACQ@A`LPCB@JEF@RU@ANS@@RCL\\HIFpRBFRBBDKLLDADJDGBFDABHBEDNF@DGBBBADKDAHC@\\JJFBDEH[DEFDH\\LX@XLBLbT@DNJLDCEL@VJABJNDHB@HBHYFBAA@GNFB@@AFB@AFABFLFBHFCL@HJBAFBLC@DN@HN"], + encodeOffsets: [ + [124213, 32254] + ] + } + }, { + type: "Feature", + id: "310113", + properties: { + name: "宝山区", + cp: [121.4346, 31.4051], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@mÖoÖi½[s[YEUJU`SCIEBCCWJY_LIICDWU@@FaBCJIB[ICH[@@CDKEE@MK@@IMCAEBCH@AMFI@SMGEFGB@FK@BHCAIFJNQD@FEBDFMBKGACG@ECWH@@CDDTOEEBGEK@GC@EE@GPHFR\\JHGA@FDBKRLL]RAFH@FJFDKR@FINBFKDCNEBFJEHK@DLEH\\HFADB@JFFDA@bIJGBEPDBGLI@DDEFBDCHDBIJJFCLIBCL@JKJE@ADHDBHJ@HIBBDFHBBAEIJ@BJFAVL¢"], + encodeOffsets: [ + [124300, 32302] + ] + } + }, { + type: "Feature", + id: "310112", + properties: { + name: "闵行区", + cp: [121.4992, 31.0838], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@T@@ELE\\BCMJGJSNEbGdHDJFBJAFIEIFCEWG@@gMENSFCVJFAxR~B@IH@AIiI@GE@FGEAFQPDRiV[\\DFSGMHAXHDOMCJCDETBBNVJJI@DD@ANNNH@FILDDMFBDHNDHKL@XDFGLD@EHGFD@DDB@CDDHCDAEAHG@ABOJ@BIaC@CECLKPFNCDCJBiQEIF@@@OGBMIAEEBMTHF@NKEC@QFEGA@EBCKAACHCLJHEFHHB@AFCAIEACIC@HG@KCCDC[ECEED@KC@KJMAAFQ@GHG@BHIJYIGE@EI@A`KDWCaKcCiY}I}S[CYJM@CFDVPRRVWDFLBBG`JCFRFEFFHC@RF@HQ`Q@E@ENBDJ@HFCB@DCCEJBBGDGXMPBDGJ@DEDELEDMA@DJF@DMZ_jMNYUUJILCJIJDFGH@TSVM@DLXZ"], + encodeOffsets: [ + [124165, 32010] + ] + } + }, { + type: "Feature", + id: "310110", + properties: { + name: "杨浦区", + cp: [121.528, 31.2966], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@V@CXJDKJZ`XIDDFADJvSRMDM@mFQHM@KCMKMuaOCU@BDAJSX@HKJGD@PNJCJWAGT@R"], + encodeOffsets: [ + [124402, 32064] + ] + } + }, { + type: "Feature", + id: "310107", + properties: { + name: "普陀区", + cp: [121.3879, 31.2602], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@F@@FHDL@HFFAPFCSDC@@XGFDH@BDLHNACEFA@ERCIMJEDBAGL@@EHAFENHHJ\\ONQBQCIBC[MKACKI@GGGH@I_G@CW@[DMHCDIBMTDHN@JNHEH@FJFPKFACSBKHDJNABDMDECAFiDEDFDIPG@GLHCNH"], + encodeOffsets: [ + [124248, 32045] + ] + } + }, { + type: "Feature", + id: "310104", + properties: { + name: "徐汇区", + cp: [121.4333, 31.1607], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@RADL\\NCPHFfLJaJ@FWLGMGIK@IFMDOYYFOTSBI@IMSAMSACFIDNDCPWGGBHNET[CU\\QjOCERFBEHF@@HjJBJG@@J"], + encodeOffsets: [ + [124327, 31941] + ] + } + }, { + type: "Feature", + id: "310105", + properties: { + name: "长宁区", + cp: [121.3852, 31.2115], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@HFFB@HF@DCAELENSJADCNG\\CX@@D`H@JHGHHJ@BINBFUGEDO[MCKQB}AwQEBUIEDMTNF@hH@FXEDFJEJIB"], + encodeOffsets: [ + [124250, 31987] + ] + } + }, { + type: "Feature", + id: "310108", + properties: { + name: "闸北区", + cp: [121.4511, 31.2794], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@CSG@BQGODUPWTOBQAAFMECKBGEMFKEOHADDJARMR[PGI@TEJBNG@ADBFND@JL@@NFFCL@D\\@DG\\JJADI"], + encodeOffsets: [ + [124385, 32068] + ] + } + }, { + type: "Feature", + id: "310109", + properties: { + name: "虹口区", + cp: [121.4882, 31.2788], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@bA@E@QHSXBDIMI@OHCLI@GTWBIACQAYIOFGCENBBARSPOXCVHPARH@DT"], + encodeOffsets: [ + [124385, 32068] + ] + } + }, { + type: "Feature", + id: "310101", + properties: { + name: "黄浦区", + cp: [121.4868, 31.219], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@NEHFLAFDHDPEAMZUHQQ]IMKJG@EPERABHBGRUCCNGV"], + encodeOffsets: [ + [124379, 31992] + ] + } + }, { + type: "Feature", + id: "310103", + properties: { + name: "卢湾区", + cp: [121.4758, 31.2074], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VDHQGABAFQFOH@LIiKKHEXI@IbAFZB"], + encodeOffsets: [ + [124385, 31974] + ] + } + }, { + type: "Feature", + id: "310106", + properties: { + name: "静安区", + cp: [121.4484, 31.2286], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@DLLB\\NPGLFHUDMYABEeKEVMAAJ"], + encodeOffsets: [ + [124343, 31979] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/shan_dong_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "3706", + properties: { + name: "烟台市", + cp: [120.7397, 37.5128], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ŤLLllVń²è°xżĢĠÆlÒŤbV¤ĊXnlĢVĊÒÈ°ĊŰÞèL±@џn»VUźċ²»ÆkôVɆkĊŃ²kŤVVwUUVmUa@KkU@mUmmk@UwUkmW@UVIXa@mw@aKULax@Uk@UbWU@yULmK¯@kXVUwm@@JUUknWKUVLUbU@wWykIa@w@mUI@aUVynIWak@@Wbl@@knmK@wnIl°Kna@V¥ğ@ġUķ»¥@UōJX¯¤k@wmI¯k@mwak@@lX@bUJ@VbknWxkLkxlLVlkLmb@bU@bU@VbU`Vb@nL@mbU@VnUVmnU@mm@kIUWVIUKVkkUJUnmL@VmLUaVWaXamU@U@KUUmVUJUVÇwğnm@mXĉV@l¯xnô"], + encodeOffsets: [ + [122446, 38042] + ] + } + }, { + type: "Feature", + id: "3713", + properties: { + name: "临沂市", + cp: [118.3118, 35.2936], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@bXll@zlV@lXXmkbVVlU@Vn@@Vmb@XKVXWJ@XXl@ÈbVLUl`@XXV@VVUxVbUxVb¦@WnXVJ@bnVUzl@°ÆxUKlU@mUUnUlUVWVUnVV@XX°V@Vll@VkaXVl@Ux@bmbXLlKlb@b@bUJn@@b@n°x°K@an@@UlLVKVbXb@bVVnK°LVa@UVa@XwKVxnLU°@naV@UWUkWULmVwÝKUUla@aó_@mK@aUU@WUkwVm@aVI°W@@IUw@a±¯@¥kUVUm@awkw@K@kVKk@maXalI@alLWXblaVLVUV@LnK@l@waXaLlnUlLmV@n°J@_VmnIVym£UKmI@WnIVm@anUVmÇ_kġIÅWUXÇm@U@ݯÅ@@naWIVW@IkK@klKn@naWImk@abkKkLWnWkLWmk_@UaVUKmLUw@mn£WwUmUaóV@UkUm@UKULUwmJUX@WW@XÒzVblJXWXk@UVWKX¤UL@xU@@VUaU@@XmVkLmWkXUyÝLmKXnV@n@lx@bWLnVVn`knULmxUlWLXVb@VK@z¯x¯¼WxKUn@bk@lVVVz"], + encodeOffsets: [ + [120241, 36119] + ] + } + }, { + type: "Feature", + id: "3707", + properties: { + name: "潍坊市", + cp: [119.0918, 36.524], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@l@@UK@@L@bX@@VlL@JLUVnX@`ÜXn`V²mJ@bU@@nb@l°xnnĸVÆ°@Ċ£Þ@lWnÑnkʶJmó°w@kk»V@»¥k@V@kw@wVmaÅmaô£ŎXI@mlnKla@mV_UK@kUkw@alWIU»m@WUIl±UUÅUbkJ@a@wUKUaVIÆmXIWaka@m@Ul£XKVw@UIJUkmJVkU@aWKImV@UxmL@bX`WXU@U`ÇkUak@@°UblXkmLUKmL@VULóVk@@Vlbn@Ub@ċaUJUbIUlVLUVVbVKXVlVXU@mb¯@VmKUwLWx@Ub@VUb¯KmLUU@aWaUaULkK@Vm@@b¯L¯w@ma@m@UUU@U¦lJUXVmkb@nmXVWkbIVxUV@VUbWLXVLW`Ux@nk@Vn@x@VkJ@V`mXk@VxV@lVI@VULVUIV`°bVXXxV@VWVnL@xVUb"], + encodeOffsets: [ + [121332, 37840] + ] + } + }, { + type: "Feature", + id: "3702", + properties: { + name: "青岛市", + cp: [120.4651, 36.3373], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@nUJXL@blVUnIVlIVJ@UxWLk¤@V@nlbXbWJÅnUJVbVL@x@blIaÆVVVk²VJ@XnV¼JkX@blxlV@VLU`@nkbLkm@nWJōó¤bnÆbUn@xlxU@l@¦@¼Ul¼ĊUnW@nĠmÈxUVIVnUVV@LV@nVWbXbUVbnK@UnKVmVIllUVLUJVXlJ@nnV@nmVUUm@Vna@K@mUaV_UaV@aV@@aanlKUkKklwlKXwlma@UVI@akW@l@bnxl@°nJxl@°£WŎIUÑn»lamô¹Ŏ¥VaUUkmkġWɱIUUŹ`@kk@ĉƨřV¥_Ç@Ĭ¤ÝL¯m¯£ƽóķwUW±ī¯kōaĉĕkğmó°bW@UKkLUaVmz@V@UxVn"], + encodeOffsets: [ + [122389, 36580] + ] + } + }, { + type: "Feature", + id: "3717", + properties: { + name: "菏泽市", + cp: [115.6201, 35.2057], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@¥IVUÈmÞ»@UlU@Un@VW@UVmkk@aVUUKVÝ@UVknK@UV@VVnIV@wnmwmKXaWaXI@UV@Vy²blkVKkamU@kb@Um@VmUkmKmkXKWwkU@Ul@UnK@UVUUmKXwUVLwKU@@Wl@@wUkV¥@@I@W@_V@VWUw@UUa@aaWa@@_mKUwl¯amzmV@WKnU@kWLķaUKbÝVmV@UWÇbÛ@X°UbW@XmVlk²UJUbmLÇxÅWUzl¯Ll@VkKXUbWJ@bU@¯@kbLmKka@l_WXºVbUz@Jn²V@¤lXnV°Ln`WbXLôVlKVUxXnlXLlU@bVV@XJWLUVnVV@@nl°nnVKÈbVXÆJU°VnXVkV@@xVL@Wlb"], + encodeOffsets: [ + [118654, 36726] + ] + } + }, { + type: "Feature", + id: "3708", + properties: { + name: "济宁市", + cp: [116.8286, 35.3375], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nam_nKlVLXaIl`_@KVVXI@m@w@@k@Knô@n`VbV@@LL@KVVn@VX@VLJl@VUUU@Uam@UkwKWaXamkJmIUVUÈblaUnV@kVKl@@lXL°kVJ@VÈnVJUX@VLXl@xVLnU@VKV@aIUaV@bĊUxKkVJXUlVUVaI@WUI@KlUnwmWk@WXIWUL@Wna@Um@@UVkUUlanWW@kkU@ykWkaWVUlÝbUU@kJUIU@@JmaókLKÇUUkKWLk@WbkUUabmKn¯°¥V@XwV@VanaVaU_@Wlk@WÈ@VUÈVVÛmaklKȯlLVUX@lK@aX@@kV@VmV@VwnJV_UWUwXam@kW@wVUkKVIUUVmU@UV@IVK@aUL@aV@LmUKmx@ômLkUWJ@nXmlUxUL@VknVUU@VL`Ub±LkV@kUKÇbÛ@UWó_mJ@Wk@@X@VLxUKVWxLVnUV@VmL@Vk@VlVXxWLnlLnVlUnn@@VlaV@nlbULkl±aUzU@@VWJXbWbnLnxm@xUmJUUU@@VmLUl@VUÞVLUV@bllUn@VUXm@@VkV@VݼÇnUVJ@¦nnlnVlL@Þb°KVV"], + encodeOffsets: [ + [118834, 36844] + ] + } + }, { + type: "Feature", + id: "3714", + properties: { + name: "德州市", + cp: [116.6858, 37.2107], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@¤@VmbVXnVVbVJX@ll@zlVInl@@bVxUbĠl@ÈblaIxXVWb@L@nULWVXXWWLnL@`@LUVVL@lVnJU@UUkanVôôb°¼VÞXIÜbČabôWXÞWÈzÆmnLVJ°ÈnlV²lbnW@@UUVmnwmkkKWkla@mVIUKUaaUwmnJU@@amIk@@bVlkX@mmUklUUa@_UaUUV@wwWkXmW@I@WUaÝU@UXaWUU@UUVW@UUUWUn¥nUVa@m@k@alU@wkLWa@UUm@@wnmUwla@anKn_@alK@Ý_@@WUUUmlkaIyU@UwU_Wa¯yU_mWUwkImm@InWWUk@@UVWVkW¯U@VL@b¯b@l±¦@VV@lUbV@kxVnUl¼XV@b@lV@nIWxnb@UULxÅxm¯aUwU@mUÅVÝKULm@bmKUXó@"], + encodeOffsets: [ + [118542, 37801] + ] + } + }, { + type: "Feature", + id: "3716", + properties: { + name: "滨州市", + cp: [117.8174, 37.4963], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Vb@`bVkVlnV@nlWUk@al@nJ@bV@InmVxbVbVLUJ@nkblXlLnlmxnUV@V@mXnlbĸ@nnVxb@lnXV@UJ@nVxxnxVbÆVn¯ƒĕ@@wÈçUÇlķVIb@Çmk@¥k@UkUK@aWakUóJW_UW@wkkWK@U@K@XUUkmUUalKXala@U@kkWlkÈl@kVmVIVmU_awnwVW@wwU@wU£wkJWIyUI±bkVUJ@nmVUklXmx@lnbWkVUkLWxkKUUmUkbJ±LÇxUKmkUmkkWamUaVkJÆ_²KĠ@UW@wU¥nUWwK@aÝUkÅVaVK@akLW¯I@bnbVx¯JWñWbUL@nV@VmbkUUV@IÇak@@bWak@WJUJWL@bXV@@VJlb@zUlUUImnbVmz@°UV@VbV@@V@L@xLmKUnmJVXJ@VkLW@UVUL@b"], + encodeOffsets: [ + [120083, 38442] + ] + } + }, { + type: "Feature", + id: "3715", + properties: { + name: "聊城市", + cp: [115.9167, 36.4032], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ô@VWnLan@VKÞLÆUnVV@xVbn°ÆwwKVV@maXwmJU@@k@aWUk»VUmlw@UVa@kUU@²¥@k°a@aK@UU@mmm@ówѱ¥¯@@wKmwI¥kU¯UmakJmIUaVkKUkm@VUUaU@UaKUK¯@wUVUIUKVwk¥wbV@xn@lWnXxlL@`XlJX¦l°XxW¦@¦Uln@@@Um@@VXVmx@¯bllUnUJ@VULVn@bxVVL@bVlnVVblVÈnVlIVJLôlJ@xl²"], + encodeOffsets: [ + [118542, 37801] + ] + } + }, { + type: "Feature", + id: "3705", + properties: { + name: "东营市", + cp: [118.7073, 37.5513], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ͬUǪlô@°Uw°ōĠ¯»Ģç»XÇ@wwƑaÇkwVƑ¯@ÅķUmm¯w@ka@mV@@anIU±m_ÛW@_mWVUK@IkK@UW@@a@K@L@Vk@±U@UV@lm@mUU@kLmxV¤@xVx@xUXmxxbV`UnUJnU@lÇkkllX@l@VkbWbkLVbnVVlWV@@L@VXLll@xVXX`ôIlVXb@bVLVll@@¦nlÈ@aUJkĸVÈÇè@x"], + encodeOffsets: [ + [121005, 39066] + ] + } + }, { + type: "Feature", + id: "3701", + properties: { + name: "济南市", + cp: [117.1582, 36.8701], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@²¦Òôxn@nn@V°VlXUUX@Vl@XVmX@JnnlJVxnXV`°zXbV`VxV@zJlbkVnVV@X@`@ÞkL@bm`mL@bkbxnVm@xn@VV@XbKl@xkV@b@l@nUbmVm¦XVVV@VUXVVV@XVWb@VÞVVb@X@JnXlWXx@xUVV@aVKVUX@lK@UIUWnIVmnLK@w@K@UU@a@UVU@¯nyUmanVJVVk@ykaIU@@WU@aXKIVXIl@Xb@al@Èb@JVUlVna@UmU@VKXaòX°IUwma@aU@UU@wVW@Ñw@aI±`kbUkwUmJ@UkmÇUUkmKknUV@mJUkaWka@KmKkULmyXa¯_@WmImmbLmUkVUbUVJbUkkWJkUlIUmkLlK@knaVmkI@mWaLUKUU@@VmLUVLWK@UUUWUkkVmx@Vl¦"], + encodeOffsets: [ + [119014, 37041] + ] + } + }, { + type: "Feature", + id: "3709", + properties: { + name: "泰安市", + cp: [117.0264, 36.0516], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@n¼WnxL@x°@¥Uk@nwlUVlXVV@VXLKVUnK@UV@VVLKXb@nlJUnmb@lkLKlVnJklVXIllVaIVUValUnVKannnJ@X°`WbnzKlVnL@LbXlbVlnI@VUU@UmV@U@U¥@VmV@@_Ua@m°@@kmUUm@UVmn@nX@@aanJVUVLmlIVJn@nkVLVa@KVmVLXVVL@@U°bn@VaV@@K@aVkbWaXUVymU@aUImWX@¥UaVwUaVwUUU@WW@k_VUKÇa@nmxkV@LVJ@XJUbVkUWVUIlLwĉVaU@VbJ@bUUL@mVUK@wWkK@UVWUIÇm@UUI¯lWK@kk@UL@lmUVkbÇaUVVnJlInWbXbLxVln@VbV@VUV@kIUK@UWm@UU@LK@KU@Uam_ó@m@L@l@@x@nWJUU@L`k_JWbUKkmLn`mb"], + encodeOffsets: [ + [118834, 36844] + ] + } + }, { + type: "Feature", + id: "3710", + properties: { + name: "威海市", + cp: [121.9482, 37.1393], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VbUnVVUxĊ¼¼ô@ÞѯWǬLŎUÆW¹UÇō¯ÑÝkţţóġóLł̥Uwm¥kÝmkkKóbÝ@U¦@mb¯LkmJ@xLmn@lk@a@X@lXbmJUzV@bVJ@n@xblJXzxV@VaKVUXLlmVV@In@VxUlW°@nLVK@zXVVal@@VwbVKL@bnx@WbUJ@VnXVlVxl@nnnV@lV@L"], + encodeOffsets: [ + [124842, 38312] + ] + } + }, { + type: "Feature", + id: "3711", + properties: { + name: "日照市", + cp: [119.2786, 35.5023], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@UaVUUKVkJVaVIČb@Vam@ka@Ul@UôVK@UnKVLnKlkWVa@¯l@VbÈlV_V@XWW_@anKVwUmVw@@UnyUVblKVLX@aô¯ó¥mÛĊÿÈ¥Þ¹lUī¯Kĉ¼ʟbÇVUUXmakJUnmV@bUnmJ@XnJVLn¤UzmJUn@`¯ImU@nKVkkmKWbb@xk@mL@KUUVUKkbWaXkK@bkJWbnbl@UL@lL@lxx@bnUVlV@¦²°@bVx@J@¯XUJ@bUnlxVX@VV@bL@nô`@bkbVVÞLxnU"], + encodeOffsets: [ + [121883, 36895] + ] + } + }, { + type: "Feature", + id: "3703", + properties: { + name: "淄博市", + cp: [118.0371, 36.6064], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nlKV@nVn@@kVU@²VVaU@wmKXU@UUWwUW¯aU_JUVVK@UJU@kUw@UlnWU_@lI@U@wUml@@mVwX_KWUXKVa@UVUUwJlaXWUn@mlanUVWkIV¥V@VVVI@a@akakLWKna@aVwk@WUbUlk@k@U¯UWWU@mUUVUXkVmVVV@nkVLVÅw¯k@WVXbaUl@bV@@b@xkVVXVxkJ@nk@@VLUlVbVXUVVUzVLVbUbVVWVkLmkJ@n±@UxUVVkV@bx@ÒUX@xVVV@°JXlK@bULUblÆÞV@bLXxmV¦V@xXVğ@±LÅ`IUlVbnbXllVnnlVLÈwK²IlanVVVlLwXlKVlUXma@knwWlkVnU@mVIUl²aVJzXJlI"], + encodeOffsets: [ + [121129, 37891] + ] + } + }, { + type: "Feature", + id: "3704", + properties: { + name: "枣庄市", + cp: [117.323, 34.8926], + childNum: 2 + }, + geometry: { + type: "Polygon", + coordinates: ["@@yUUUkl@@aVmLXw°»°w@yL@UUaWXKVknwVKlm_UmmUXK@aw@k@mUWmUL@@@£@KbÝV@akwaULmbUKLUU@lm@°mL@nUJVxVXU`mIUxU@UnU@@lW@@bkLW@UVkKÇ°kLlbnUÜÇUUVÇ@@Xkl@XV`UbmbUbU@WxU@¯¦m°nLaVblVXal@XKlLVVÈLKôlnbI@V@VJI@lVVÞaVkXU"], + encodeOffsets: [ + [120241, 36119] + ] + } + }, { + type: "Feature", + id: "3712", + properties: { + name: "莱芜市", + cp: [117.6526, 36.2714], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lmnLVlÈVln@VnIVlxVla²_JlUUUVVw²@@mlInlKXUUUVaUaKUVyUUWVUUaVkUK@l@@mlIUwUWlU@w@aU@@LU@Ubm@¯a@V@UKWUUKUn@LUbUKmlm@UIkJnUKUVmIb@b@mWm@Un@VVnnVl@¯@@nVb@`U@Un@¦@V@VUVnV@"], + encodeOffsets: [ + [120173, 37334] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/shan_xi_1_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "6108", + properties: { + name: "榆林市", + cp: [109.8743, 38.205], + childNum: 12 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ýVnIW»W@»kUÇLÝU¯¥ÇIUWWÑUWwX¯m@»n@ÜÈķô@a±kȱwÑmwçċmU»ÆkkVyImĉÿ@ݹWnwÇVÅazmmĉ¦ókVmxxU¼VkVm_UlVlk°IVkmJa¦kLmmV@XmKnlUôVXbb@UaÇLğÜÅw£mKnmċwÅ@UkbmaVn@m¯aUJm_k@kWXyl@@kÅamwLUÞmWÅzUKUk±@b@nnKbX¤mzVVxÇn¯@ÒknWVUbkķÈÑWkk@VaU@mUkbÝÅ@Ý¥ÇbkĬXV`kLÇVmalUUanV±nwmkJ@In°KVw¯UnÅ@¥U±bUU±mWbÛKWnUm`UƒVK@bmnmÈż@VL@xxmŤ°n@VmK²VllKkô@êÜV@VXLlm¦UV°Ș¯²ÿ@¥@ÆĊ²ImĶnnb°bKVĸLlÞ@UȮÜ°IVÞÝÞlx@ķĀWUxèÆ@°XnlĊĖ°mnV²V°ÒƦaÞ@zll@bÞĀl¼nKĊ¼óÈb²±IǪÒ¯ĖV@lxnVlkJlaXwŌĉ@VnlÆĕUÆLèŌŤôxÈlU@xlaUċĕXmIWmnkVVVW_@aÈWUUmk@¯çVm»±W¯n¥VmkXw±ÇVw"], + encodeOffsets: [ + [113592, 39645] + ] + } + }, { + type: "Feature", + id: "6106", + properties: { + name: "延安市", + cp: [109.1052, 36.4252], + childNum: 13 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@kkÇmImUwVkUU²WmVkm@m`mIĢĕUVa@mXÿVVkyUýĕ@l_UmnWKVkţ¥awğ@@aôWakUma¯¯a±£kxmmxUwÝ@xmUb¯KwóÝ@kmm¹Ub@lklVbmnnVUV@xUknƧJUX@LÇWkwLķƧÅwWJkLkþĉxWzJUnÇk@Ɛk¼ÜÔÈKè@°lÈÆk¦ln@l¼@l¯L°UUVÇ°¹`m¼mXkbUaV@U¯x@¦ÇUUmlmUVmnnmlkw@@¦ÅÇLmx¯Ikl@¦mÆ°VUx¯Lm@JInlmxU²mVbkVbUnÈlKU_WlīÈaÞ¦Æ@ÞlanV@VUbl@XlÇÒĸlVaUXlm@Ñ°ÈmUwUnyW£amL@ma²@lVVLÆynXÝVKnxÆb@lk@WzX@lln`IV°b@nmUnbaVlÆ@ČxmnnL¤ÆxĠÛÈKVb@aWaUókVmnL@WUnnKl¥bnIlU¯JlUkVkn`lUUV»wnwlUôĊ¥nnyÆb"], + encodeOffsets: [ + [113074, 37862] + ] + } + }, { + type: "Feature", + id: "6107", + properties: { + name: "汉中市", + cp: [106.886, 33.0139], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lKnb@nlWb°bkxĸwVb@łnlĊ¥L@XlÈVblÈKbakVwôml²`n@nVKlk²xŎ°¦VUJĊw@çnWçÞVkUóÛ@¥kwUmX¯WÑk@UymIUwlUn¥mUk²a°¯V»@ÝVÈÝċÅÅVl»@l@a°±@_kammÅba@m@żKknõĠ@m¯LÅwLVxmb@¼kV@mw¯wVakKW»X±¼¯Vkxb¼W@nx@x±bóakb@ÝmU@ķÓÛLkVUmk¯¤ÝLUlÝ@Ýzx@x°bmX¯aUJW¯k@bÇWwÛwWx@XWlb@VÈUlwLnl°VlUô¦U°¤VUxVXUxlbkVVlI°ÅVlU°m@kÇU¯xUlLUlVL@b°ĠInĠ°ÈnK@xÞa²naUyXUKVkWô¼Èaz°JXUVÇV_JVz@nb"], + encodeOffsets: [ + [109137, 34392] + ] + } + }, { + type: "Feature", + id: "6109", + properties: { + name: "安康市", + cp: [109.1162, 32.7722], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@bĊaƨèwôô¼b°aXVÞVUÞ@aXm¥kImx¯¯V@anU@UÇéğL@¯¥V£m@ÝÈbKX°wČÿb@xÈblxȯĊmÆUVnÈ@ƨÜLĢ¥Źn°VnnKaô_ÈwUaXmnW¯klLXÇō¦ÝaÅVmbğUn¥±wÅéVan¥U»°am¥£Ý@wVw¥nUÑUmmVwmķIÅaóVWxkblb@ból@ğÒĉ¤ċX¯XxkÇ@óÆÅx@xķ_kmÝÇ£kblb@`¯²@bk@k¼ÆUČÆÞÇÞU@U¼¯°±bVlnm¦kVVxnJVz@lÒXW°nVlx@¦ôÜVUlÝXèm@è"], + encodeOffsets: [ + [110644, 34521] + ] + } + }, { + type: "Feature", + id: "6110", + properties: { + name: "商洛市", + cp: [109.8083, 33.761], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@²nlôb°aVwnKÞI`°wXôw°VĊ°@ÅÞÆVzÞK@x@aLÅ@b@nLl@lnmnLVwabVVnbU¼V°blbÈ@ĶŦb@nÇ@amIyUI@ĠVmôUVwkwlanJ¯lwó¥@an°J_@nóƒó@£l¥UwmaÑ@Um±V_J£JUW¥¯@_k¯¼mUVUè¯b@wmL»ğVmağI¯¤ċIUWXKĵ¦ķaJUbIlUóVmk@WÅÅÇ@mUÅVnĉÇ°kwÇa@waċĀ¯xWLÇa@ÞnU¤°¦@ĠKÈê@VmV@bU°°nwlJn¦WbÝ@V"], + encodeOffsets: [ + [111454, 34628] + ] + } + }, { + type: "Feature", + id: "6103", + properties: { + name: "宝鸡市", + cp: [107.1826, 34.3433], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@£@°Ib@¯°ynŹaUlU£Umĵĉ@@ylUÞ@@£kWU¯WaU£¯ÇV¥@kb¯wn¥ÇkUÇnU@¯±kULm@m±_kónUxlbaÇLkUaÇkW@Kĉ¦km@ŁUaķxlw¯aXak@mmakL@mÛ@¼m@lXV`nKU°°@²¤UÈ@VxmôxKlVV²aVwXlaVlx@UVnÇnk°VVLlkIJÇk¯V@knÆn@lznmlVkzVVVx@Uxz@x±¼VxxUlkb@¼ČkVXlĠkôV²wLUKlwJ@aIV¥Þn¯Ün@nkl²kÆ@°aVbnI@Ťn"], + encodeOffsets: [ + [110408, 35815] + ] + } + }, { + type: "Feature", + id: "6105", + properties: { + name: "渭南市", + cp: [109.7864, 35.0299], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@ÈôLxU°Þ@mÈnl¤nUôLwX`@ÞÝLUmLôôbVbnºlnÞ@ôx°LanVwÞ@Vxnwnlw²¤b°°bVnlXbó@bĠ@xb¦ŤVXġ£W¥ƽɽó@ýóƝÝ»£XmƅĊkU@ókťaĵÇ@aka¯UV»maUUabUxmKnkm@kmK@xó@¯n¯KǦ@ôÅèlxkx°nƾ¯KU¯WķL@VÝIUbyWbX¼Ç°"], + encodeOffsets: [ + [111589, 35657] + ] + } + }, { + type: "Feature", + id: "6104", + properties: { + name: "咸阳市", + cp: [108.4131, 34.8706], + childNum: 14 + }, + geometry: { + type: "Polygon", + coordinates: ["@@IXyĊwlýKlXIVaķ»a£¯aVU@awÈōaL²»VUln°WȯW»XazVaÞJ@U»@¯Ýbğwly@£kÑţ±WÑ@kaIUn@¯ómţUbU¯lÇIÝb@¤Ý@kV@zĊ@ĶnVV¤kVbmź¯z@°a¯J@¤@bUxb@`xUÔ±ºVXWUnUJLĢ¯ÈKlblmÈXŎ°U°LlkÞK@Èxl_°ĶUÒkbl"], + encodeOffsets: [ + [111229, 36394] + ] + } + }, { + type: "Feature", + id: "6101", + properties: { + name: "西安市", + cp: [109.1162, 34.2004], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°²@mVVÈÈl¦m°xla@U¦°ÈV¤XbV°lXÞaÈJ°kVaŤVôn°@mVJlb@XÒŤ²lÒ@¤kzĠxÞa@°¼ĸK°XV°Lƽ¯mlwkwÆç@óÈ¥°L°mô@w@aÆK@b@wÝLyÅUÝÆ@ĉ¯¯UóxW¯x_ÝJmLUx¯bóak±mÝUUW¯ba»óóxƧçĉbaĉxIUV¯¥ō±wl"], + encodeOffsets: [ + [110206, 34532] + ] + } + }, { + type: "Feature", + id: "6102", + properties: { + name: "铜川市", + cp: [109.0393, 35.1947], + childNum: 2 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÆxĸƨKlxÈXK@VWƨIlmV@wVUmUnmUalk@kVaUaóaónKVÞK@ÝW_xóKmVk£ÇmnÝ@¯VwóK@ǯXkmVU±¼KbÇŎx@bUV°b¤b¼ĸUb"], + encodeOffsets: [ + [111477, 36192] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/shan_xi_2_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "1409", + properties: { + name: "忻州市", + cp: [112.4561, 38.8971], + childNum: 14 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Vx@lnbn¦WlnnUm°²VVVVVnUnºlz@l@J@kXWVXl@La@KULlbnKlLnKLnKÆXn°bVV@bUVl°Un@LnaVJUbW@UX²l@ČwlVVIWnkÆa°anVKn°UW¯@aVUVk@Un@aV@ValwUanmWUk@WVUUanaVwnLVl°@nk@mVU@UVK@wLVKVU@K@UUKVUV@@bnLaVaôlIXmlKX_°KVV@bVV@zV`kblIVUlL@bnV@VĊllVlIXW@kaU²blKVnIlJalbXXlWVn°JnnL@l@XlJlaX@XW²@l_VmnKUblU@mnkVK¯@U@ma@kX¥VmakkLa@a@WIUUVXWWnk@a°a@kkm@kUUmJm@WUUUIk`m@VkaWWkXKmXk¯@WKLkak@±bw@aa@aka@ma¯@LKÇÅkKWbkmġ±ÅULUKVVkm¯LUVVbUwUW¯bmULxWJ@klmkUm@@KnwVkVK@akw@@a¯bKknVUIb¯mmbk@UbmKUL@xUU@klmLUlVXIVVVUVUU`mLXVWbXnW`Ų°xmxU@mĉwU@mbU@UmbkVW¦kJ@X@`¯Im@UlUVVnb@bWJXnmbJUUUUa@UamIkax@@x@b"], + encodeOffsets: [ + [113614, 39657] + ] + } + }, { + type: "Feature", + id: "1411", + properties: { + name: "吕梁市", + cp: [111.3574, 37.7325], + childNum: 13 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@a@w@wlbnJVb@VbVVVInaWmXI@aaUmVUVkn@°J@_W@lIX¥lUnaVV@naV@xĊnV@wn¯wƱX_WmXaWUnKV_VVUUUUWJkUVnKlk¯@@kmKUaűKkU@WmI@WUIlUUmVwXw@UlUVwV@LnbW@anU@UaVkô@l»n@naJnUÈLVaÆUUVmVKV²L@mU_lK@UVWkUa@a@U¯aUaÑóÑUbKk@@ak¯mVaUwVÑkWUmK@UUKmXUWÝwUaLUU@aWJUUU@UaÝU@WL@VKVaVI@WnU@alIVK@kImIkJ@m@@@_K@x@kaW@U@Vmn@UK@mIJUXV¤XXWlkKkkK@XmJVakImJU@ó¯LWKUV@nUVLkxmKkLma@kXKmmLabLmK@V@mXVÆUxX@`nLaV@@VmLUVnLlLb@°²nx@bVUxlb@V¯bUV@zVXVĊXVx@lVn@VnnmU@LlJXVz¯VWVXbV@bmnVUVkÇþÅ@XVxmbUlVUlnW@Xl@VLXÒ@bÞJ°¦Lò@nUb@°X@XbmVUVnb@xx"], + encodeOffsets: [ + [113614, 39657] + ] + } + }, { + type: "Feature", + id: "1410", + properties: { + name: "临汾市", + cp: [111.4783, 36.1615], + childNum: 17 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nW@@UnLKabKnnWL@lnblKnLlwKVU@mVUXL°KôV@nIlJUbnI@WlLllLXkWWU£VWInJ@VL@nm@UVX@lb@@wL@`@n@V@lw@nVmVXWmwnUla@_lKwVlUn°xVKVXXWlUVVI@K@Kn°KwlVlU@kna@V_WnmUVm@kXml_@mLlKXw°m@_ôJVUV@Xl@UaV@Va°Ilk»VwUkVmwUmmVn@V¯@KUwmK@U¯wUVÝ@mJUnWK@@UnKVa_lykUmKÛnm@x@UUlwVkXW@a@U@@K@kIVnammVakUl@wX@@k¯@VVbml@°UbULmlVbnbÅK±VKVXUJWa@ULWaUU@@U@aWK@UkxUKLUUUJ±UkL@V±kk@kam@UV@l@LWl@n@VVUxLlUUx@VUVU@aIUlL@°mLUbkUUaWUUaUU@aWKLWJ@bUL@VUVVbU@m@a@kmKmnĉlUKXWUblbxmIkU@xWb@lkVxLXmzVV@bklVVUzm@bk@Vx@xlU@lUbVnl@Wxnl@n@UbVmLmb@`X@lUX@@xlnkLWaUJnnWVVn@l@bULVV@lV@XnJVX"], + encodeOffsets: [ + [113063, 37784] + ] + } + }, { + type: "Feature", + id: "1407", + properties: { + name: "晋中市", + cp: [112.7747, 37.37], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@lInJlJ@ULkJ@bmV@XUJUbL@UXKV@ÞVbV@VVXI@bVVKVbÞxVXnWVL@VnLVlXÒUVxUb°nl@bl@LVaôÒÒVb°b@VnLnnV@lmn@lbUV@JUVVXkl@lUzmJ@xXklbUnJVUbnUlbV@nlLX@lakV`Ub°@XVJnUL²KlxnI@KV@lbUbVVKnVl@zlm@U@nI@WUaVl@@mVU@XkW@nkVKV_Vwy@knwVa@XalU@Vnml@X@VLKVaÞbnnlJImVKnVVVInVlU@m@mXK@UmyUI@mWUUakamw@wUwmLkakwVmKw@wUam£y@am_W@UU@knmmamU@WUa@knw@UUUUV@nJm@mVUkKVUUUkKmwKULKUImV@lUnnm@mbUK@°bUnmbUmkkWUb@am@UXkK@a±@V@ĉÅVUXVxUVkLWl¯@@bULUlm@@nm`XlWakIkmVUbUL@Vm@kI@@Km@VaXI@W@aU@kUVU_KbJkkÇb@nkKmLwÅW@kVUUVU@WUIJmIXmma@_kyVaUUlkUm@kUx¯Lm@L@LUJUkVWXUWUL¯wVmUkxkL@`bkmVnxXUWUnm@kxU@"], + encodeOffsets: [ + [114087, 37682] + ] + } + }, { + type: "Feature", + id: "1408", + properties: { + name: "运城市", + cp: [111.1487, 35.2002], + childNum: 13 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VlnJwkaVaXWVLĊknmnLl@@bnV@UaVU@UVK@aXIKXL@bVVVbXVVblVaVnK@¯KVkJ@bVVU@UVwkVKVwUUm@@Xk@K@kVUn@lbl@²l@UlK²VVIVVKVLlw@VXL@b@VV@VXbVK@XbVIUWLU²ÆLmaUankVKVa¯@nkUaU°@n@@kWaUVaXUW@IXKVw@UWU@W@@UUU@mn@`m@UUULkUmJIU@@UK@U@anak_@wmKUwmakVkmKVk¯bw`kwUIÇx¯»ÇaÅmn@@mmUkV@wkKW@kxmLUkĉLÝkxÝw¯lóVUmV@ĀVVX¦W¤kz@`Vx°²ĸ@Ul@xêĸNJ°¤VVlXLWnXxmV@nUl@"], + encodeOffsets: [ + [113232, 36597] + ] + } + }, { + type: "Feature", + id: "1402", + properties: { + name: "大同市", + cp: [113.7854, 39.8035], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@²£yl@ČĖ@bĸĢbĸXaKŤnn@ŎôllÈxnVnÞÇV@bnXllL°KbVb@J@b@UxlKXLlKlXk@UlkJlkUVKXUÇVIVm@_nÇLalwVnU@UUwma@aaÝaLmUk@@W@U@@XwVWÝUUUk@@VmLKV»nwUwaUL@`mzJUIVUaUwKUaVIlJôanÑlLVUn@a@VV@@UUwVK°Vn_lJÆLéW@UUUÅ@»lm@aÞIVwXWUUkkm@U@aU@mwU£VWU_kWmXwW_°yUkkK@UÇK@kkUVymóKU@KWIbUak@mJ@bkbmLkUmkVUW¦@lnb@@V°ULml@nkVaVmLUnk`±@XWW@kbǦX¯WxI@xmbmxXlWV@bÅUz@Jb@bÞbU@Wbk@xk@WX¯VÛWÝbÝUkVUU@alI@a@akLWam@U¯UUmÇL@K@aU@¯VUkKmX@`@kJ@nVUb@lbVÆXVWULU`VbkLUV@XWl@bXJ@VbV@Vl"], + encodeOffsets: [ + [115335, 41209] + ] + } + }, { + type: "Feature", + id: "1404", + properties: { + name: "长治市", + cp: [112.8625, 36.4746], + childNum: 12 + }, + geometry: { + type: "Polygon", + coordinates: ["@@UkLky@IJVa@mÞaWy@_W@_WXVlUVw@nw°K@mUVamVkU@mmmnLVUmKXaU@IlKVUnK@UmWkX@WV_V@akU@aKWIXyIUVmUnUa@WaXUVKVmkUWVkULU@@VbKbIUm@mbVLxWUUkn±V¯wbÅJUbmLkbmKÅKbVnUbVKUbKUbmLKmbaKkUm@UnnVnxUVlUxl¼k¯JUbU@Vbk@WU@UVóI@`¯nWxkLK@nk`Wn@lUnVnmXU`@mb@lkV@VnklVVUblz@`nbWnnJIVJ@XUVVUV@lÆXxnKlL@maÈllIaLV`UlVV@@b@XJWUb@n@L@lJn@@UVKVaUlnlJXbkWn_@mn@VkVK@a°@XklKVUUwVWUĊÆ@U²@@blLVWn@@bVaXllVnnaVma@¯VLnan@mVm@knUVJ"], + encodeOffsets: [ + [116269, 37637] + ] + } + }, { + type: "Feature", + id: "1406", + properties: { + name: "朔州市", + cp: [113.0713, 39.6991], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XXWVXVWnnlnn@èƼ@xlVnblVÈUVl@blnLÜĊmUkU@Ua@WI@aXk@WVUlKUaV_VKXWUUÅka@VaU@mlI@@_nWLVl°UV@@b@LÈKVn°V@VnXblK@b@bkJ@bVVlUÞVÞaXÜ°UXWl@wl@XaV@Ýa@aa@IVyÆ@aXUWknwna@wJXw°WÈ¥kI@W@kmKm¯IUmkXWWkabkImJUkL±aVb@lWXkJUkĉk@UmU@aKkVUkJlaU_y@UU@aUU¯LW`kLWnkJóbUbmK@aU@UVVL@VL@UVULK@xUL@VUV@nml¯@UkmKUxmbVbUV@XlXVmnVbkxUbU@bm@@VUlUVb°@VX¯m"], + encodeOffsets: [ + [114615, 40562] + ] + } + }, { + type: "Feature", + id: "1405", + properties: { + name: "晋城市", + cp: [112.7856, 35.6342], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lVLbanLnKVaLVaLUVaUmaÆLnLlanKVaÆIa°x²UlmVVXwUKna@VnJaLa@UV@@alUkKVKnkmmVwUkw@@kxWUXW@@mk@aUa@a¯aLkKmwkUm@kL@K@aWIXmVXWkUVakL@UVKw@aUK@UUKmLU@¯nKUwVUIWJUWmka@UXJk@UkmW@kLWKVx@bmI@VUaVU@a¯@UUmVKmX@±`kÝKVxUL±akL@VbLkKmV@XWVUbVXb@lm@@lW@@xklVUbnnmbUlJ@@L@@Vb@WXUlkxVV@wn@ÜmnLlVkz`UbmL@V@XLmVnIÞ@VU°x@VnLxV@LU°"], + encodeOffsets: [ + [115223, 36895] + ] + } + }, { + type: "Feature", + id: "1401", + properties: { + name: "太原市", + cp: [112.3352, 37.9413], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@VV@wVKnLVal@na°naVJUlmL°a@b@lx@bULUlmx@Ln@lVknl@XIwKVn°aVXVxUaVU°KnUlUVLKÆV²ĢlnXalLÈÆLKUaVkUanmWUa@WwkUWU¯y¯Ñ@anIl@@aVUmIymULUUVakaU@@LmJkw±LKmVUI@W¯VaU_lkbW@kK@mUkaVmVaUIVmalkW@wnIVy@klkWUUVI@UVkam@knU@mmmK@bblVUX@VkLV`@n±KUULUnVVÅUbÇKmVImbm@k¼ó@Ulb@VmV@bXmaK@UUxkVV@xWUxVnkVVJ@XnJ@XlV²LÆVbnL@l@°"], + encodeOffsets: [ + [114503, 39134] + ] + } + }, { + type: "Feature", + id: "1403", + properties: { + name: "阳泉市", + cp: [113.4778, 38.0951], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°@nb@lb@bbb@x²al@lbKXU@mkUWkkmUUVwV@XUW@naVklKXblKnLnLVanImaXKlLaV@U@KUKWalXK@£WKXUV@VUUUVW_V@W@@K@UIWmXUmULnJkImmÝaUbLK@UWk@mnU@kVWb@Ubmx@lzUx`UULml@XWl@UV@nk@UVb@XJm@@Vknyk@zJnUV@bk@mJ@b°Ò°zXVlVXx@bXVmnVbUlVb"], + encodeOffsets: [ + [115864, 39336] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/si_chuan_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "5133", + properties: { + name: "甘孜藏族自治州", + cp: [99.9207, 31.0803], + childNum: 18 + }, + geometry: { + type: "Polygon", + coordinates: ["@@aXam¯wm@±°wUwV@UaVw²KU@UU¥a@£ÞôxKnkmX¥IUÝUwlk°V@ÈKUwlkUyV¹mx²XllÑW»lw°UŎnJl¯°V@wôIVÇnnUllLVÇLô¼XW£@±@¥k_ÇJkUékwXa@Llw²Vxbm¼ÈxlLÈVWÞn¯mÇÑUÝlÛkwlĉmULmwUJç@wkm@ÑlUXÑôġVaUѯ@wķÓkbVmnU@@y¯IķKV@¹aé@kmÞU°¥@a¯@anKlblU¥@óğç@Çw@wklaçݱk¯±@ğÝUÛmݯw@kb±¯akXWÜkXUÆÇU¤X_ƐwV@¤XUbUIUlÇUkġ@aXČmlUlèUV@mVk¦Vx@¦±¯¯¯anlW¯nÅw@w°KVak£m@klKknÇU»óKīlaUaV£@¯@ÆUVÛÝÇXÇlÓlŹ»WUğJ¯£mxLĵôºXVlUll²bllxónn°ÝU¼mJU¯nV@êĉ°Uĸw@m@¯kmXamѯaUwÝKU¥mÅn¥Wmn¹n±ƑƆÇôXê±NJnUôlĖkȂVÒ¯¼VnȮ¯ĀnƆĢ@k°V°¯ĢVlkVxm¼X²Ŏ@VxknWÜ°U¯nÆÝ@`ôݲÒÇznmX@xè°K°ÅUČĬóĖÝó¼ÅêÒbmk@V@Òl@nĉÜêx@ĖmlÅJ¯¦óxȭ°Ým¯LĵèĀ@Æl°żX@xmkV@z@°blnÞ°J@bn@ƼUVUóóL°X°ÝLxUn°Ĭn@lnL@Æ@nKÆxnUnVInĬmÆnxŎ¼ĊIĢóÞ@ĊƨbUmV¥lkwnLmÅÆ¥XwU@wwUÞ@alUUÅUVkkm°aU°Ó°w°Ub°a²K¯ĕ@ÈbÞĊa»XVm°InĬk¼VbaJô£VĊankůnÜU@anKnĮbÈmÆ»nIé£Ġ"], + encodeOffsets: [ + [103073, 33295] + ] + } + }, { + type: "Feature", + id: "5132", + properties: { + name: "阿坝藏族羌族自治州", + cp: [102.4805, 32.4536], + childNum: 13 + }, + geometry: { + type: "Polygon", + coordinates: ["@@l@@þ²I@lVL°wnJ°UĸŎèIlwV°¤nĮ¤ÝlèL@@xlè²ôĊ_ĊġVÈôJżīlbXÆÈVkxÇVn°¦Üb@è@nn@@°UÈ¥WÇ_Uala¯¯UÇk»mVwk»k²°VxlL@¤_@x`ÈĖöb@l²alXa@bnK°¦VK@nnWmx@nUnl@@llĉk°l°UXkmW@Un`kÇLWÛÈVxVVlVk@lIXb@ylXÈWĮWŤzy@mI²J@n°@VJ°aÅ@ŎkVÇkaUwKVwV@nkm@±ôkôĊJ¼InÑm±nIÞXÈĊxĊUÈbÜyÈ£Vkw@kVUVm@a»ÜbÈmUXwÝxUn¥@°ġÅaJVkaW¯Û@W¥UŏĶ@¯kUŃ@aI@mmanwÞW@mw°»Uřk¹±WxVx¯¦U°zţWw@°ÇVÑk¯@y°a£@mnl¼aÝÝakwU±aĉImlĵn@m@kkV¯Ñmĸ°xl@XVÞmlÛÝĉUÅ¥mwÅ¥VaUwXġċaVůÛŹlwU¯Uó±xÛV±¯¯n¯mċLmnĊm@_kJWaXmwUĉK»@mwXÝUÇkKÇw»naUw±kxK@WbxlVêlÈIl`@¦@²X¤Wó»KUÈKkkmVmUÈóJ@x¯Uk°Imō¯VxkX¼Òkk±WwnUºVzklVxLÇ@¯UklVxÞVJW¦nmlLówÝ@¤b¦V@VV±LUxVbU@Vx¯x@²n°xnWbb"], + encodeOffsets: [ + [103073, 33295] + ] + } + }, { + type: "Feature", + id: "5134", + properties: { + name: "凉山彝族自治州", + cp: [101.9641, 27.6746], + childNum: 17 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ĶóKnw°¤ĠIXV¼kźÔkÈWÞÈÜUVÅ°@@U¤VbkbĬôL¼ÈVlmLlkn@l¤Ub¯L@xÆx°mXmk°b°°²@¥Uwl¥nU@VUkçVnkWċbĢ@lÈVVkJVaVW@£UƏxW`£ÈVVÅlWXÛlW°b²la@°xnÞVÜĠÞ²@l°Þ²èkbl@xÈx@Ġènal£nUDz@ÞKnn¤@¼°U¼nVXUbnĠUVbUlV°LX@lVèÜUnK@_yXVyUwmIU»VkÇ¥ÿkkV¯m±n@n¯ÜanVVÆz@bwÜbm@wa@kmk»@a@VUUów@nb°mXmnVbÞVôanwJak£lwLÅnÝ@wl¥IÇÓ@UL¼kVÇÅó¯kVmmw@n_Vn»°LÅ»@éÇçŹīVÇÝ@ÝğUaVݯķlŭġl@óÞÛċ@¯nkUÓm±IVġUwóKUn±¯Kw»KÝVnl@óxUwţ£ĉUmÅÇÝKÝUlmK£UV@ÞÈW¦Ò@Ĭnny@nÒmV¼@°Vbl@VlnUUwl°a@@llnk°lbnKWĀnUVxU²Åm¦ÛÇÅaUVb@¦m`móXUmmxÅ@±Þnè²U¯»mVm@wU@wÝÝmLa@VÇUkl°¯VlkV¦UmxaULUèVx@kIUxmWV¼¯VmȯUnlÈ@m»ÅVWxÅbÅğW@km@kVV¦mlnn@ōl¦ÅÆxk"], + encodeOffsets: [ + [102466, 28756] + ] + } + }, { + type: "Feature", + id: "5107", + properties: { + name: "绵阳市", + cp: [104.7327, 31.8713], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ńlV°@ŐĵVX»ÆUĊÑJw@È»m»£°Kk@ÇnÑÆ@w°JUwnw@wbVb@VlźLUwa»aUklyUUVakwWXwWUxkLmn¥mwkUXlJw@aIk°X¥W²l¥aUIlmkklÈL@m°nlWUaW@V@UaV¥@ak@Çk¹K@aK@kKkÇX@VU@kx±VèkIWwUVUkkKÇ@a@wkml¯@kUWn£WaaVwnaVÝw¯@UaWxnJÅUxUma@L@mbUU±VVnkxUÆVm@kkKW°X@¤ÇUkÆÇnU¦¯kmLVwÅK@UóbÇÆV¦L@±êX¦mVÞkÜÝnWU@k¯wķn°ÒUlln@@ĶmnkĊJ²bVlxÞbÞbk»mn@¤¯bz@l°UÒ¯È@xŤXyV¯°¥Uww²XlºVŚ¯¼nx@XÝmxnb@nJ@b"], + encodeOffsets: [ + [106448, 33694] + ] + } + }, { + type: "Feature", + id: "5117", + properties: { + name: "达州市", + cp: [107.6111, 31.333], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Uxn°bnlUnÒÆnn@n¤LnxlUV@Ælx°XXxl`XVWLè±nÈb°b@²x°Kܼ°ĉV¦lJnU@¦ÞJÞğmLÞ»xUlbVÆannalVÆX@lnŎVmUmaÅXa@aWm@£@wĉJVkkkkmnk@mna@alKJ@ÞwmÅÅ@ambkU@KUġKU@mak¯±a@aĉÑÅaVwXlw±V¥l@@ak@@£mĉÝónWV@nÝÇÇxUmbaVkkk@m@m°ÝýXmakÅī@@mb@@xmnb@mxkWL@¯b@WUXmWWKkbm@kxXmm@LUlxlêóKnUallLlLó°m¯JVUK@xK²Āô¦l°"], + encodeOffsets: [ + [109519, 31917] + ] + } + }, { + type: "Feature", + id: "5108", + properties: { + name: "广元市", + cp: [105.6885, 32.2284], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÆLĊx°»Ŧ¦WLÈ@xÞKÜ°ÞnVxÅĀlÒnJ°a@wV¯l@XWknKnwVÈ°XXalX°VI°bWna¥@w°n@yÆ@nkÞ@°¯lJn°IÈlUlXÅ@ķlUV¥VUUÝÞUU@UwJUkĉm@ýlkWUwVwWJk@VUKlUkaVUmLkm@@UIk`@UmlUkV¯ÇXKÝ_mm¯@U`kwml¼±KV¯¯Vk±Vk±kzmaKUnDZbk¦±X¦¯WlJ@bxkIWVlxnm¦nlKVwXWxXlxUbVVkzVlb¼bVxŹKUk@Uaa@xmxVx¯Ix@ÅmÒ@Èl¯L¤n¼"], + encodeOffsets: [ + [107146, 33452] + ] + } + }, { + type: "Feature", + id: "5118", + properties: { + name: "雅安市", + cp: [102.6672, 29.8938], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ln@xèVInxVKnĊklxkÜVÞÒnÈm°nx@¼ĊLVnxWXblI`@nmĉnKČôÅlUÑmUK²¹@ÇÅVÓůVýÞWUVmXÆbnwKUÿ@UmmIUb¯¥Uw¯ÇmçmanUm»UUlk¤a¯bVU_WĕmÇűĢUlUlÛVçkU@W¯KUVkUağVmaVWUmV»¯@»m£mÝL±@ÈmVk¤mb@ô¦kVkamL@b°@b¯¦ÝVn@lêb@ºUĸL°J@zV@nmUlaĸÔ@x°VÒUbóĢÒWkV@Ò"], + encodeOffsets: [ + [104727, 30797] + ] + } + }, { + type: "Feature", + id: "5115", + properties: { + name: "宜宾市", + cp: [104.6558, 28.548], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VlÈnlXnWLX`m²nV@b°xĢçlnVmnn@@°UzlV°nÞÒkxlw`UnVbmL@albÞKÈÛmܼ°@XÇ@wmW@ÅKĊLlVLVŎçÞL²±ğkw@Uy@¹lKXlKVa@wČ@w@aÇU¯n@@wġakaōK@Å»VakUWmķwkbğ¥mLak@ġÞ°¯xVVÞ@VxVVWxXlxU@k²WVÅULmèULVĊklĠVJVx±nů¦mwğ@mlğkkl±@kUk@¯±ÇKkxl¤bImx"], + encodeOffsets: [ + [106099, 29279] + ] + } + }, { + type: "Feature", + id: "5111", + properties: { + name: "乐山市", + cp: [103.5791, 29.1742], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@kVkÆkV²UlºÈIlxLXèÜlUXUmkbVèx°@@¼°Knnn@mÆIUbnJ@bVI°b°±@nK@mVakkKl¯nbmĸèl@VnÈlUUwwmwnm°¥LlLnU@VaImbkmKnk@mbLVJVUUVnkVmb@a¯JUaÆkk¥IW¥KlwÑmÝU¯kVy¯@@mmnUkmġè¯w@aU±mnW_XKWmkÇmUkóbUÝUanmW¯nma@xVôUV@b@l¼n@lb@xnÛaxa@yUÅmUÛbm°@mn²U°llĀȦlUV¼nJVxUzWz@`mL"], + encodeOffsets: [ + [105480, 29993] + ] + } + }, { + type: "Feature", + id: "5113", + properties: { + name: "南充市", + cp: [106.2048, 31.1517], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ȲVmLnblyl²²UUl°U°²L»knlx_V°@nnÞ`WL°ÈUVlnkV@l_JV@n@lnKV£ÇUV¯m@laXUUbVx@VkôJU°Jn@wUk°wnUV_nJmknmm¯Vwk¯ó¥±ÿL@wLVUkUbX¯mykI@a±Kk¦ULmaXVm¯Kz±klUIVbÇJkL¯lUÿUlUkJUmUUkVVklKk@@aU@J²x¦kĬ@¼±ºXnWbxU@xx@lL@bLlº@Èl@bU¦Vb@U@XbVkX¯m@nÇKkllknJV"], + encodeOffsets: [ + [107989, 32282] + ] + } + }, { + type: "Feature", + id: "5119", + properties: { + name: "巴中市", + cp: [107.0618, 31.9977], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VUlbkVVLUl@XIUxVxXkl@þĊnVlIVx@VVÝVÞUVU¦kV@ĸWÆô²@VÞn@Vaôb²W@K@XUmÑUW°¯°Ina@y_lWn¼lLUbô¼Kla@nkUyôÆx°@n£Ý@¥mVkIU¥Ċ¯Û»¯L±w@¯aÇa²mçKXUWk_Ww¯WwÅk@UkVmwK£@mmmÅmÑkVmamnnlmIU`Vm¯xVlx@m¯IVóIUl@UwVaVWkb@nU°VÈU¤"], + encodeOffsets: [ + [108957, 32569] + ] + } + }, { + type: "Feature", + id: "5105", + properties: { + name: "泸州市", + cp: [105.4578, 28.493], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VVXwVKnwnVnl@b¯xmKUbVn°°X°@blLènV@Vnl@ULnmmUnaVV_ĶV@wnJl@@kkKVólaUwnJmwUlm@aUaôKVnJWbÞ@VwVLX¥VV_Þ`wWÞŹmmnIn¥W@kWV¯@°kILk¼Ç@k¤±XknmݯUlÅÛKWV¯klUwkLÓ@U@w@ġXVWX@UbVbV_kÇVlU°lnwŎ¦ÞaƯnmm¯Um¥nkVmkl_ó¥¯UÇl¯@Lk`¯ķLUy¯@mw¼ķ°ġ_ÅU°mlnÇVUÞ@_JUnVUXblĢb@x@mV°Èb@xċ@@xUbkLWkL@ºzV@lxĠ±²"], + encodeOffsets: [ + [107674, 29639] + ] + } + }, { + type: "Feature", + id: "5101", + properties: { + name: "成都市", + cp: [103.9526, 30.7617], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°n°m²°ÜUw²ôV°VkxÜźUŰČbĢlaÈL»@kwVÇ@nÛÆ»ÈUÝ°Kl_V°U`Vbn@VbÈLaVU@ƨ»VnIlUUa±lIk±@VnKmÅ@WaK¦lVōkKÝ@maXÇmw¯IU@kVwUmVIçÿU±Å@¯È@xK@wLUbÇKÅ@mÝ£@yóUóóUxkI@WlIUabaVĀLmxÅaWUnVÝXUþÆ°UÔÈÆ@±ºLnVVÒkóÆ"], + encodeOffsets: [ + [105492, 31534] + ] + } + }, { + type: "Feature", + id: "5120", + properties: { + name: "资阳市", + cp: [104.9744, 30.1575], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@èUJVnxU@lV°JnxWÈnbÞ@lLŎUk¥LXbÆ@nmLU@zlbXmlnVynLçJVbUnómUnamUan¥lKV_²aValWôn@nbVK°¯VblW@kklUnlV£°W@wUXk°KVwmVkwVyVI@wkmVÅ_Umm@Uÿmbk£xUaVw±V¼V¤kLWxU@UkbyXóm°V@@zÝÒkKn±U@@_VVkÇaVwnLWalm@@kkVVl¦kIV`±n@wKk²aVUUV¤nkxmUkVWVnLUbVb`kUUmLUmX@`ÅbÇXbWLXn"], + encodeOffsets: [ + [106695, 31062] + ] + } + }, { + type: "Feature", + id: "5104", + properties: { + name: "攀枝花市", + cp: [101.6895, 26.7133], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@bKÞnÞ@xV@xnUn°¼V±mç²ÝÆ@wnnVWnôn_@¥UaVbÆÈÜn¥Æ±VUwVmXÿmLkal¯km@k@¯bkVxmVUkk@Ua@¯»UnmÑ@mzm@īÑX¥Ç@ÝxU¦ÅÇUkx@lbUWVXmV@xĵĖ±@@¯xUÆLnÆmx@nXL±lUUVwKWak@WxkbÞĉbUn@@@xó¦Ŏ"], + encodeOffsets: [ + [103602, 27816] + ] + } + }, { + type: "Feature", + id: "5114", + properties: { + name: "眉山市", + cp: [103.8098, 30.0146], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Vx°¦VanJVn@baVbkJ@XlJVwôôôV@zÞ¤@nÆÈLVaK@xL@w°ÇÆ@²VĀmWXKWaÈÆa@_nWVnKVlV_UaVamKXUWwnmmwÑm£@ynUkWĉUkWVkkV±çkJmkKK¯¦mnnxxVxVÇkUmk@çķnmak°LllUb@nmL@¯²¯aUJ@amIVaÅJnm@mm¯L@»¯@wUçanlVWVÛkWçKkwÇJk¹±VUÅlġV²ÈÆnXĖV`U°ab£lkVVn¼mVnbèÈn°"], + encodeOffsets: [ + [105683, 30685] + ] + } + }, { + type: "Feature", + id: "5116", + properties: { + name: "广安市", + cp: [106.6333, 30.4376], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VlIVkVĀVk°lKÈIUaVJlk²yLn°UWnbVKl¥²L@blJnzW°alV°Inô¯KkKkkbVmôLkéwVk@KnnWlwn@laXLnXVW@X°a@XKlnw@man@w@na@@wĕġġwUkUWb@mk@¦¥mUÛb±yÅn@bml@kV@lknVbmVnlmbÇk¯bWyk@V_UamJ@I@WaVXamIVWkUkbVaUUx@VnkVU¼bkKUxmK@WxnV@n"], + encodeOffsets: [ + [108518, 31208] + ] + } + }, { + type: "Feature", + id: "5106", + properties: { + name: "德阳市", + cp: [104.48, 31.1133], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nUW¥²é@K¥UÈÅôa@VÆLUxnKl°V¥ÈmlÅÈV@£WX¯lLln@UVÅlwUm²UVVna@@KnbVVwÆImXwWkIVwÝĕVUaIèmKUzkmWnka@y@l²kJ²VbVkmJUƧ¼@UVbÇKUam@Ua_¯VUk`¯LVÞÇżmÜ@UÈx@l¼ÇKkbWVxUbƦnxƦĊV"], + encodeOffsets: [ + [106594, 32457] + ] + } + }, { + type: "Feature", + id: "5110", + properties: { + name: "内江市", + cp: [104.8535, 29.6136], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@²èlUUllXĊVXlmV@zn¤ÒnxmnXxlUnVlwmU£VVUbl±L@x²mU_lJ¥UklU@ln@kXbmKUxÈblUU@`V@²mlLÞÑ@yU@¯ônWzaVlV@XwlKU£»aVaUwm@mwUVUwklVDzLlKVm_@ykUm@mUçkKmxkIUÝ@LUJ@n±kºLXb¼@mmIXa@mamnkWKUx_U`UklwUwmUbV²akbmkn@`UmÒVxUbI`UaÝÈ"], + encodeOffsets: [ + [106774, 30342] + ] + } + }, { + type: "Feature", + id: "5109", + properties: { + name: "遂宁市", + cp: [105.5347, 30.6683], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÞĖUxlJXVb°@xUÞmbUxbXbm¤VX@lk°ln@xbÈ@lLVlVUXxlJç²UlwV@@UÈWlLw@wVwXaWm²¹@»lī¥w±I@V@bl@kLUllUVVn@mmUwXċbVb@VUkbmamW@ka@k@laUa@¯b@mmwó@@lkXUa¯°LUamm@ókXUb±bU`kLm¦bnVmbnVmô"], + encodeOffsets: [ + [107595, 31270] + ] + } + }, { + type: "Feature", + id: "5103", + properties: { + name: "自贡市", + cp: [104.6667, 29.2786], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lIÞÇbV_JVaUwnÑV@_lmnlab±UVanVxkxVlV_`wVLlXnmnb@WbnJ@n»WaKl¹²@mVI@KÞVlJnw@aW¯¯¯UmVanL°w@akmmUxmULWxUUÝKōèUKUkĉKL@ÆnX@xWȯ@Û»nÇÜÝLka@bKnUaVm_xkLX¦Jl¦ÅlVb°I@bnaUmlUVUVIUKa@nmlnLlnaJUbV@"], + encodeOffsets: [ + [106752, 30347] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/tai_wan_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "7100", + properties: { + name: "台湾", + cp: [121.0295, 23.6082], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@\\s@pS}aekgKSuSsMß`¡CqZ·be@Q^o@gieMp]}}Ľc_Kk {ùA¡r[uom@ÑĥJiq©mʼnq¯Bq]ÙYgSåk_gwUisTE ĕiqiUEkue_OSsZaWKo¡qycY£w}ĩĕS§Z©SN¥SyLÑ¡±Ks^IYPdY[UoFp}´\\¬\\j]eÜò¤¡ā a\\bnU㺹Ìs¼j®[cíȈEĝĆ`ļf¶®K|VØDdKGpVnUFjpHF`B[pMºxÖjbpÎxp¬|ΟÜÒC²®ÜApZG~dÞàV¨|¸`|²tx~\\~|dFf^zGĄŚhdL\\hĸ¼OªP®lV`p\\]Xpllæ¤CpQ|oF}fMRiNSon_²qämMNM\\"], + encodeOffsets: [ + [124853, 25650] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/tian_jin_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "120225", + properties: { + name: "蓟县", + cp: [117.4672, 40.004], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@EUDAEI@WNMNCBFAHFFNACDJDPBD@@GD@DIFFHEFGDBDEQOFG@EI_KG@OcJQM]RMEKBGPG@[LaCIICBWKCEEG@WBQHCDFD@HSLEJI@IHWECFGAAEKCGDBFCBSBIDCKKHEADMJMFABKOKEQAA@IEEG@GIQAEK@OZEESMOLlu@SLUTYFQCMG@@SQUAYKAACA@IB@BDB@B@DC@@BGAEFAA@BEGKJCC@AGAIHA@@JC@QEIP@@A@EGIDC@O@C@@@@CJCWKABFLBBEBSQGBAAMIEM@AKBcJEN@BEBCFMAEFEF@J@BG@BFABECKFG@AFQ@@F@BEB@@A@@AAAKAE@GFGDECEFEECBKIKDELDFEDYH@EIACDCHKBEB@BAAC@ADBHABKJIAIJICEDGDCD@@A@A@DHCHJHDFEFGBKRKBGIK@GIMHSBCH_BOJECCJCFKKMD@DNJEDEGC@OJCJHRUL@HRJ@H[DCNKDZHCTFDHCFFKR`TANVDFZRDLFARB@HPAPG`ILAR@TERNDFNHDLCLDDCXDYbHF@FEB@LDDVE@JPNfXPINCVDJJD@NJPAJHLXHDNANHhB@DPNLRMTBFRBHHr@`NBFEBOCCBIAQJDHCHLHFA@HSDCRLFTB@HEFLNF@PELBDJALFLTC@EPFLLP@tUHQJDfIHGTB^JTCPDLKAIBATFPADIEGECEMJ@JIAIHGECFEAGDI\\SPOXAFCL@BQTQBBTMZECYGAHA@GJAE@HCAEME@IECFKJADDBABLTHHG@ILEAMNDJCDHEBF@@JNFJELDFKTOT@JETBFFHBHEHKI@@IJEJ@XKEOUMS@AF@CEB"], + encodeOffsets: [ + [120575, 41009] + ] + } + }, { + type: "Feature", + id: "120114", + properties: { + name: "武清区", + cp: [117.0621, 39.4121], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@FWôµ@IFCLIB@EHNBp]AGEAKAEDMGZKFGBGME@ILGP@HEFB@BXMEAHUGC@IHCLOD@X[NWHWPKAEF[@EKIOL@EKGBNMJ@EIEHKBIC@BAKMIACCFQZCF]DB@ERAKADIHGEIBCGIIECFaGLZO@EFCNGAGDGAKL@BMG@IE@ADSDEH[JGC@CGA@BMDeK@EIACFE@@GG@FIAMM@CCGC@EM@ADE@CFMAAGHBDKIEAJG@DOGCDEKAGIS@KFCHKAEHIE]BeKNO[IFIOELC@A]GMBKVYCDDgGAICARc@MW@AQE@DGI@@AQ@@BKBAIQQYEFW@CEADIGGBCEIiMEMF_LGEKMBBDWEBGRC@E_CHYGCH_IAED@FFBQh@FGJaJ}AHRAREF@bE\\C@CT`FHC@\\BBF@BID@HGDDJ@@FAHKBARECKDAZBJIVNHCTA@EREAMLHDAFFBVFFC@RNRETHD@FOJMACH@CAB@P@DF@@FGDWE@FFSIEMKQDYCCHKb^JADOCIDGNDBdBCFJB@EC\\A@BJEA@JAAAD@HHD@LFBCFF@BERDHNhZQHMBGHOACCEBWEGD@PSJKCGEUD@CINLFGHE@AJK@HDABBHTB@F`DBFLBBHEDARCFG@ABJBAPVFE^FBGLGCFG_BMLEXGAAFE@@JNRVJHFALFBEHQJCTbNDHCF@PlFLJSXCHFHfVBTNJ\\BPJXC^FAVNFCHFB@FFH@JF@\\ABCFD\\BDMCAAJKQBGAILOEGHILECQLWFENJHADC@QxNHFJNLDFA@CBA@DUÂmR@FBL@BD"], + encodeOffsets: [ + [119959, 40574] + ] + } + }, { + type: "Feature", + id: "120115", + properties: { + name: "宝坻区", + cp: [117.4274, 39.5913], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@TZbB@JHD@DODCLM@AP@LL@BNH@ETFN@`E@DNG@CHLBCJA@AICFKDDBKA@\\N@AFNAGRBFjFFFL@DHLBLFQPcXAZMJ]GAVHAIZJFNE@JpDRRDCLFDGXA@EFF@CFFPDfEBDB@DCHCFCJDJIJBLI@I@CB@@ADBB@FALADGDC@@H@BB@FZGFCCE@@FMLALJDAFFFEFDFCB@@AHCF@L@@BBB@BB@FC@E@@R@BEL@HEFD@G@AH@AIB@@@FEFEBALDDEFAFO^IF@JCBBFPNJJ@D@PRDCEKBAXL@BIFD@T@JE@BHHJORFDI@@B@JGH@@B@BDDLIFFHCD@D@DEE@BAAAB@DAF@B@H@NGLJLMRDNMfGIEPMI@GDAKK@KIDIJ@GE@CFDN@FE@GFEPGV@TCDFKHBBF@RW@DD@@ID@TJFKIKLI@EP@IGBCLAEKLEN@KSHIGYACSD@SEAMBBMGEBMQBCMIGKFB[D@HDLPHDBC@IFITDLG@IIIFGVBNJDLN@VIRI@YIAIHIC@CLKZCBEE@JECEIHEAKGDGECBGEEM@@DA@CCCBBEGA[GEDBBoNAAH]MKiIAWKQoIIPMFQAEEDMH@FMSUYIeF@EK@BIOEKJEBICFKaKPFAFSE@LWCCFMHDDEKESBOGBKIEIODLG@CCDEQCEDWEMDIEIB@EHGEEDAEAa@@HqDEJGF[AECCFa@WCEIKAAEQB@FCAE^YDERDDJBLNABD@AJGLJF@FNIAMLH@FPKLJ@FE\\BFOLGXMXW\\C@KPGD@JHDGVFBWN@AEAGFO@KH@JNFAHEHYLNHFCLBFBBHo^MAFGA@KJED@Jó¶EX"], + encodeOffsets: [ + [119959, 40574] + ] + } + }, { + type: "Feature", + id: "120223", + properties: { + name: "静海县", + cp: [116.9824, 38.8312], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@NGFMDATCNDR@CCbINEHNJA@C\\EEGVE@IhE[wepc¢·²^QEKIEKIgiQDkehY£uSDBMkUDOJDHC@GF@CAFBFEN@CQ@BeP@@G@HD@@MHQKi@[IGCOCESE@GMA_OcCGDu`a@VZzKDkJBLNXGDqKEWE@cFEFA@ISIi@@KMABJGBcMuFEzGVH\\ATSEUBeALCEMG@CEBUHUCGXaBPtUBBFIBFTDFF@DDKBFNGBJPHXDDMDCLJ^mBIHIL@LR\\@LCR[@@z@NFD@LLBNb@RHDBNTPT\\F@BJF@BXCFBHHBDLFB@HODADE@@JHVXCPDHCFTLBBFNCDCCCU@@GAABEHHZHBCAEdEjFDD@GfD@DXFCHF@ERFDLBH@"], + encodeOffsets: [ + [119688, 40010] + ] + } + }, { + type: "Feature", + id: "120221", + properties: { + name: "宁河县", + cp: [117.6801, 39.3853], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@BFLBFJXDb@DEFD\\BHEFIrC@Gb@FBCBFFGH@FJAJFNCXFFCRDCFDDH@CKJPJFALPHTALFCFGCENDDKXF@ETEBObLELJDFALIPFAJL@@FfEZJTVENG@CNFFRBNEJOpJLRBXjJNLG^BBpMAAFC\\HHBAFDADDB@@CN@FFAHFDCHLHFBJGFCFUNKJJTD\\XUXF\\^F@DDDQXXBRLRCBDFEVCDLVDpUl@LEDJHAPRFGL@CETGPBTCDDVI@CFF@GFDCCVGLKEK[Y@MECISG@BKNSCGCKWEAaEBEKNGFSECO@GGM@GYI@DÅCMLHPTF@DJHAVVNKEGDETJ^[TJNNd@NOAMFYJ@@GFANDPEJB^aOadSTQSI@MHBDIEOKCG@EEFCKCqXO@@DMFENCDDHCCGJ]AKFoDaGGHYFDHKJiCMFGC@EQ@AEHGAC@IEAATKOHGIC@IXIFEoGE[JCFCDHNmRADFZMF[EEBMO{GU@AOW@@]ZeHBDEHBKEfQkuIWBs@EC@d[@[^EDMTKCEEcI@cDAB@FCBCACmOCG{PYHeBgPwPFDDALFFFCHQGSD@BHFAR[TaFYXMASUiGFL@DQNCJI@@D@PLDN`ETEFIGMCGBCE~CAIFDPEHGEQPHJADFJGHCJLB"], + encodeOffsets: [ + [120145, 40295] + ] + } + }, { + type: "Feature", + id: "120109", + properties: { + name: "大港区", + cp: [117.3875, 38.757], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@JFFL°_`ONJKDDFIFZN xlb~yFVNRrdJGzDPVFBCTNND\\UR@E`F@@Ip@IWGUoawOEE@ÏDgK{İEEMFëCb @KwOCDHHKBDJCDEEEAGHOABFABMCgDLSQ@CFEBMgYIDQINE@AUSwSAdYEHQMEyK[KI@GRMLE@@OqOoBOnpJ@BmEAFHL^FDB[C@BBDVFAHFJENB@sNEjQAMYsUgCSBGDJH@\\LjGR@NC@@G@HO@AfR@DM@EFEADBE@@HGDICCPlVANTC¤vgZlfRChjLJ"], + encodeOffsets: [ + [120065, 39771] + ] + } + }, { + type: "Feature", + id: "120107", + properties: { + name: "塘沽区", + cp: [117.6801, 38.9987], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@|ODHnPBDADEDA@CB@ddJFFLDNSFC\\]\\@@cFD@nACOMW@M@ITURBRZNHNWRQoOj½fcqAqeiDÿÍyÓįFL|Ch@ÐFFxPpbHVJXo@@JCTR^BPABQA]^MB@bE@@FQBFVJRH@FXtPNZSBAja@@NDTLJrQTHFXZFB`"], + encodeOffsets: [ + [120391, 40118] + ] + } + }, { + type: "Feature", + id: "120111", + properties: { + name: "西青区", + cp: [117.1829, 39.0022], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@LHAHRHATh`LHNHDG`HDGZ`D@FQDAHXFACNAFLVRTBFOfHDCVBFQH@HSXHEPFB@LDBF[bDbLFKJBFLADBDjLvCPEI]FGEIGCBEUSjcFiBIVWfaHCjN^HtwBBFGPBJGjFBEGECGDONMFAP]TDHQOWCMGAMHKIJEIGQ]aDlUG]VGEGDC{PEbBZmE@@GH@BCA@FMQCFMYMJECELCMI_P¯`]R±¡¸odfx\\gF@JUFFH[F@DIBGMMFaJDDQ@MCSDCBENMH"], + encodeOffsets: [ + [119688, 40010] + ] + } + }, { + type: "Feature", + id: "120113", + properties: { + name: "北辰区", + cp: [117.1761, 39.2548], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ROHFFGCOJEDB}DFHANDJHFEFSM_KC@O@CJ@DIRM@CEKKA L FKACHoLSJSIBETDJaEIIE]E]K[MYUYQILC@GF[MGNKEK@A@BCWECAIFEFYAGFOMI[OFuDiKACBCEKIAELaKaCE\\CA@KEAFOWGGTG@ERUACDeGEPSAUQKHE`FNjNFJADHHCJFB@DEXZFRRBJLA@AR@@BJ@CHF@BRX@@NQdDBBJhHCCZDLUNA^H@BKDPFEJ\\JMPfL^AJFFGLBDGLET@HJLBCFHDCPH@BIJFCLGABHNBDEF@BCN@@FHDDDN@BNEJH@@HF@DEJB@FfLNC@AHB@DHD\\IFGTCBCF@@JNH@ALKHBHCHBDMFEP@KYbHDEJF"], + encodeOffsets: [ + [120139, 40273] + ] + } + }, { + type: "Feature", + id: "120110", + properties: { + name: "东丽区", + cp: [117.4013, 39.1223], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ZV\\N^L^FJFFJIbSCAFTJTIpKDGLBEKLBjHTVNBZWbE\\SBQGE@ATCRHDGEEKECBECxOhOfAZGA_YEEWSGqRKISC@Mb@BiTAMYsOEWG@IQEURA@EF@@acUOXQRYCUDCHDTEF[SUEgAYDcVGJM`iAWDWLQRMHUHgDsDBLHJFCFDFGHBFFVEAGHCJN@RJFPIhBD\\FENCPWA@LFBAFHBEJUEARCDIAEDQBRNa^"], + encodeOffsets: [ + [120048, 40134] + ] + } + }, { + type: "Feature", + id: "120108", + properties: { + name: "汉沽区", + cp: [117.8888, 39.2191], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@LMEI\\MTABKN@FCDMH@COAcH[AoēAM¡Wa[MeqpQRMXMGQYQASV@J@NNXDPmBAtJXlveRLFGACFGAYf@^X@BPV@|HNPFA\\FNEEYBCnQGMDCDE\\IHFpEFWJ@JJDGHLPBSFB@JBDGHBFR@@FHDNEjDLICGZEHGbHpCLE^BHIDDCGDCFMNE@CP@rWLDEDFFH@"], + encodeOffsets: [ + [120859, 40235] + ] + } + }, { + type: "Feature", + id: "120112", + properties: { + name: "津南区", + cp: [117.3958, 38.9603], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@TLv@CNHFFBHGZFETNPhCVGNGRQXKXCjBN_HIdUZChBVF\\TFECSDGVCZDRQPWdVNA^]RBBAAOQ]DSE@F_Q@[VMCSMADUECOHycIqMQEU}zkawENRDENB@ADG@@HF@YnaAOF|CDFHUHH^kVbCR^JHIFLJNGHBDNPXGRSCO^EBMNCPDHHFAFiEIHOAEH"], + encodeOffsets: [ + [120045, 39982] + ] + } + }, { + type: "Feature", + id: "120103", + properties: { + name: "河西区", + cp: [117.2365, 39.0804], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@d@hZNFdcLYXKRCtCMOFSYEGHEAGEDMu@SKAAsx]GMTGt"], + encodeOffsets: [ + [119992, 40041] + ] + } + }, { + type: "Feature", + id: "120102", + properties: { + name: "河东区", + cp: [117.2571, 39.1209], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ZBVFFIGABEEA@KXBDOFM[EACJgOIE@QIMGDBHUFEEGAEHECEDGIAKQDWLKZcdQPEP@FOFBJTJ@HNORJf@DBCN"], + encodeOffsets: [ + [120063, 40098] + ] + } + }, { + type: "Feature", + id: "120104", + properties: { + name: "南开区", + cp: [117.1527, 39.1065], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@NMVDCG\\E^B@HlB@YEDS@C HsNSiMGDebUXAJEjidVTAFHDFJ"], + encodeOffsets: [ + [119940, 40093] + ] + } + }, { + type: "Feature", + id: "120105", + properties: { + name: "河北区", + cp: [117.2145, 39.1615], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@DBXFADB@L@LFHM\\NHED@JKZRb]QMRAFCJBDCBQYADMCAe@QIMP@GSIAIPE@E[EGH@ZEF]^HJAXK@KF"], + encodeOffsets: [ + [119980, 40125] + ] + } + }, { + type: "Feature", + id: "120106", + properties: { + name: "红桥区", + cp: [117.1596, 39.1663], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@J\\PNHEZBFEJELEL@BWGI^]FEkA@G]A[FDHUCMNEHJ^"], + encodeOffsets: [ + [119942, 40112] + ] + } + }, { + type: "Feature", + id: "120101", + properties: { + name: "和平区", + cp: [117.2008, 39.1189], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@DT@FCHG\\FFOROMEgYc@"], + encodeOffsets: [ + [119992, 40041] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/world_geo", [], function() { + return { + type: "FeatureCollection", + offset: { + x: 170, + y: 90 + }, + features: [{ + type: "Feature", + id: "AFG", + properties: { + name: "Afghanistan" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ࡪ͇وŐǬϠڐŶӂʮǚڦ۾njƀ̚ІɣʪҴMوǯʲĹ،˒˰Nj˖ϪԈiżŬĘͺβ̈Ҕȏĝʱʪ¡ý۷ͪ˟̊ǰώĊԼϖׂ×ࢀAƬʋӧĥяƹ७ĭࣗǭӫλȤΣĪллΛ͑ɳ̡ߛͦ։ɅΥԕ²ԋ͡ɿ̳þٝŋğɻسDҵӇ܍થΓבôǝȁԇņűටіހހåզُƚßՔ˟ڢάҢιŮɲؒਸ"], + encodeOffsets: [ + [62680, 36506] + ] + } + }, { + type: "Feature", + id: "AGO", + properties: { + name: "Angola" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ȸصʌԋȘ˕͐ѯ֊æˤŠҬşŲɀɂӨԶ®ƤіHñ̡৴RfՉǞ͕ūԑÖԫ˪̷ৃȼüκsԴŴϦ¹ĘʹĩСƨϿů̿î́ყZᦵ֤ۋպԽŠЖ₭ŵÏԃϞկ~ԉƝЙDžÿՈŜ݊̂ޒªΰ˚ݶȨΆӘռːϐĘج«ӊʣ̜ɡԚȵԎ®Ǩʶͬʭǣ֚сՐĄǎΌŔʒg̎ĸៜ["], + ["@@ɉėɣلͼδʪƘ̀˽̩ǯƍɍλ"] + ], + encodeOffsets: [ + [ + [16719, -6018] + ], + [ + [12736, -5820] + ] + ] + } + }, { + type: "Feature", + id: "ALB", + properties: { + name: "Albania" + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ń˷ŢέΒȳiə˗ŧ»˙ϷСƛÐgȂү˰ñАîֶŖʼƗƂÉˌθаÂƿɨôǴɥȪďȨ̂"], + encodeOffsets: [ + [21085, 42860] + ] + } + }, { + type: "Feature", + id: "ARE", + properties: { + name: "United Arab Emirates" + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ƭ¤ɱڂƂ۞uԖ{ֺ֪ظՠՎԮdž˹ŖڑѕGçճƪŝϝǑE΅ʓΏuͷǝDZᡋъ͏࡚Ț"], + encodeOffsets: [ + [52818, 24828] + ] + } + }, { + type: "Feature", + id: "ARG", + properties: { + name: "Argentina" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ߗ§ѓ̔ԑx࣑@Aሞ͒ϵрؿનԋ୲ȿϙп"], + ["@@Ӵ؇͠ڰॠƊǷോۊŷਆاࡾ͡Ŧχࠡ౧ࡒɭ़ŷڔƈނ٢ƎݐжLjфӝiڣۻҩ֟ॅࠃ૭ଧȽڥɣࡹT࠷ǽȇÝիËѫ੨ܙŗ׃Հν§Ч߯ઁఛ҉။ǩउĎǰԅǣػƺщԋ̏ࡱř̪͕߱ɗŜ࠳֨ʧҠˆʢѧޛʻڭԹūࡋȣ҇ߏEڃљʋؿؙࠞߦǝ˿ݭӃձটލͧ΅Ͽ˔ࢍ֔ӡΟ¨ީƀ᎓ŒΑӪhؾ֓Ą̃̏óࢺ٤φˈՒĭьѾܔ̬ěӲξDŽę̈́ϵǚˢΜϛ͈ȝॺǢƙȠࡲɤݢԊ̨ʭࠐEޚَոo۰ӒࠎDޜɓƶϭฐԬࡺÿࠀ̜ބռ߂צԺʥ͢Ǭ˔ඔࣶд̀ࢎĹɂ۬ݺશȱ"] + ], + encodeOffsets: [ + [ + [-67072, -56524] + ], + [ + [-66524, -22605] + ] + ] + } + }, { + type: "Feature", + id: "ARM", + properties: { + name: "Armenia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ƀǨə͌ƣǛɁ҄˽ʁˋΦɫϘƏḷ}ӢHżχCʝɤǩuͧʖرȼĄФƛ̒"], + encodeOffsets: [ + [44629, 42079] + ] + } + }, { + type: "Feature", + id: "ATF", + properties: { + name: "French Southern and Antarctic Lands" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ը˃ߐĿDžɽϣಇÃq҂ŮΎÊǢ"], + encodeOffsets: [ + [70590, -49792] + ] + } + }, { + type: "Feature", + id: "AUS", + properties: { + name: "Australia" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ߺ́ҜŘپNJԎÉÐঽ˽́ēگ̉ɰבǧ®ԫԭܘŗֈӝܸtϬռõ"], + ["@@̢ڇբ̈́˦ΡЖ͟đϋǴܛŸнɄĹɬܕąѥ˖֭࣬ѭצЋ֞λŋȯӔՃࣧ͜ͲȂ;ηȴźƢࢹԩϸ͋ڀڹʀڭtӏËԳА܋µݓơϵɩݡjӕǕχއثЭ̫ٱ˫гʝܧ͕нɅػʼnׁªˇӕ̇वޡ·ϫ͙ԕέ۟ψԥƪżѬҝǃ݁؉ܩɪӉƄӑÔ߿ʐիԮƻْțьЭ;߱ĸˢРȯزЧݝƷѮҬŶӞ͘ЬãجہܑԿ˽͏ڛٽΊ~ҀԿ،ѹ̀ǂȘઃԚןz߯Цຓāછ̝ख़˫ߡÈࢻљܯȗljѱ̳Ϳ܉qՅõݑƶğֽԁ҃ʕуʁЗˋ֛ؕBࢽ՜ҋDŽlӖкŘƚȒ̠ĺאģӼѻࡖƏӒӎͭնsʚϋͰĽڄӓڔřΪτε˳ެиʑʞ͗aјеڎă˄țʦĠӠǢȸŘрęӮΎÚٕ׀ۀˬЦΪٜ̰ϤàɴĻڎ̺ԚĤŶȀɞüҬoࢨʖҚώɊ҆ӲѐͲvҘטΠܩΦǚ̗Ј˂ТψǻĸٖҠаȮͨцƜ`ɼτĭdɂτŦОŔبϫҲӽՂMՖÿDZҦДڪϜɘſȾκӒԘ̒јıۺǂeі؛ˢ҂Ū֎ȻҀ·ۼɋʈĐԶʵӬʊ͂ñȠNJϬеɡ͉҇ͻ˿Įͱʙп̗ЭÔʁڜҫ٨ˏѠ́؈ӻʂBѰɍŶʷߤ˵ֈ˼ǐҊǠόľҤʰڞŝОÔʔīӔŌنLjǠŽˬȮѾdžҦtʈ̸̾ʂЩÎՃȾķΛ̨ёÚӇ̥"] + ], + encodeOffsets: [ + [ + [148888, -41771] + ], + [ + [147008, -14093] + ] + ] + } + }, { + type: "Feature", + id: "AUT", + properties: { + name: "Austria" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÛӁCǎǻ˧էLJƗܽsщȏۛÞயɐȉ̊ࠧƣĭDžԗŢѕxϝƶźȴƬʪ²ьɹŤɜݎƮЖ}ˀǣþƜšո̠ń̒ϰز˓ӀΆ̐ÚٶʱЂªϰǁãŃČ̅"], + encodeOffsets: [ + [17388, 49279] + ] + } + }, { + type: "Feature", + id: "AZE", + properties: { + name: "Azerbaijan" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ʞɣψDGŻ΄ӡֽŒщϰƃ͆Ǫv"], + ["@@ϊËƞɈԈͺѴѵђϺʸɧۗãƣٵƟ̭̍ȝvзȽ¥ԻѲ̂дʝʚ̿×যإkϗƐΥɬʂˌ҃˾ǜɂ͋ƤǧɚȶƎضʍҐ¹ŘIJбҔɔŚʀ ׀ԙ"] + ], + encodeOffsets: [ + [ + [46083, 40694] + ], + [ + [48511, 42210] + ] + ] + } + }, { + type: "Feature", + id: "BDI", + properties: { + name: "Burundi" + }, + geometry: { + type: "Polygon", + coordinates: ["@@Á০ɃϢԜßʲӎҀŸͧǸȏT˗ȹǭ͛ѫ̧̥"], + encodeOffsets: [ + [30045, -4607] + ] + } + }, { + type: "Feature", + id: "BEL", + properties: { + name: "Belgium" + }, + geometry: { + type: "Polygon", + coordinates: ["@@áުǪՐοҦȝħ֧ɕĝһܿϦћßדІϷͶϷ`ũ̒ڪǔ"], + encodeOffsets: [ + [3395, 52579] + ] + } + }, { + type: "Feature", + id: "BEN", + properties: { + name: "Benin" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ۛįȹ׆ኞǛǦЮ̇̌ʱʞņѶ̀ĨǠξЪĀȀʤˮʘ̠F٘ә˩ȎӽǓͷĘɧСԳʵʳǁՉtµണ"], + encodeOffsets: [ + [2757, 6410] + ] + } + }, { + type: "Feature", + id: "BFA", + properties: { + name: "Burkina Faso" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ֹɐϽ̍Ƀϗǰƥ˦ϙǾÅӦɮΤo˴ښۢŬּɲȴОœΚǢŘɎٴϖdžˀΒҦŢɀLJՠJáСŔϣӀչНॺȏmֻǿʣЩÿǟν˿ħ݁lϳâ˓ƉωÖร¡qӉŘم"], + encodeOffsets: [ + [-2895, 9874] + ] + } + }, { + type: "Feature", + id: "BGD", + properties: { + name: "Bangladesh" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ỉŶÆگʉѬµєDžКΕӨޟü˃ҳΧǠũƵʃĠ͗øŽۖ̅لƜԒԫɤȆ̪Հ̼Ѽ֮̔ږεВ£ôߞřު^Ӟƛϯ܅ϕµʷӍҢѥƎ՞ɶFѶ೯"], + encodeOffsets: [ + [94897, 22571] + ] + } + }, { + type: "Feature", + id: "BGR", + properties: { + name: "Bulgaria" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ʎΉ͚Ö٦ſ«иɌবȜ̩ؒӴĕѥΏ̫˔ӏܣŒࡥ˃Uлޅÿס̊ڧɱة|Ñ֊сːƒŢĝĴƘˌ͌ˀСδ÷̬ȸȐ"], + encodeOffsets: [ + [23201, 45297] + ] + } + }, { + type: "Feature", + id: "BHS", + properties: { + name: "The Bahamas" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ȵ£ɇӜ̿ʐǾՔʨۣ̎Jӥ"], + ["@@ࣷƅÏ̴Ђäֈ{~ɕ"], + ["@@ƟׯƷņ`ѮϓͪCĪڐϗ"] + ], + encodeOffsets: [ + [ + [-79395, 24330] + ], + [ + [-79687, 27218] + ], + [ + [-78848, 27229] + ] + ] + } + }, { + type: "Feature", + id: "BIH", + properties: { + name: "Bosnia and Herzegovina" + }, + geometry: { + type: "Polygon", + coordinates: ["@@̦FȿσМ͓ūЃȡƽû˙țūҥݓ͈ͅΘ͋Ȅϭ̾ǻʺЩϾǬΒ̞ȕǼǨϾnܠƓ\\Ϟȅ"], + encodeOffsets: [ + [19462, 45937] + ] + } + }, { + type: "Feature", + id: "BLR", + properties: { + name: "Belarus" + }, + geometry: { + type: "Polygon", + coordinates: ["@@Mࣰ̈́ȚӄېːÿϔԜƚ͖ࣘࢮɁŢȻѲĴࠒȧĊЁǷɧՄսƳ»Ʊ֦Ʃʎɡ͝ǿڳljÿȠ˧ȸ՝ܝ¹ʵȁÃхͭĆݷ¡əȞ̿ƥ́ŨڍjफȬࡕàٱmҡɩГeϐʷϴԌǢLͰɷ͌ϊ"], + encodeOffsets: [ + [24048, 55207] + ] + } + }, { + type: "Feature", + id: "BLZ", + properties: { + name: "Belize" + }, + geometry: { + type: "Polygon", + coordinates: ["@@OŮĸƴı̞ԔDŽZHūDŽGaɭƋεôŻĕ̝ÀăīщǓɟƱǓ̅ʣ@àॆPژ"], + encodeOffsets: [ + [-91282, 18236] + ] + } + }, { + type: "Feature", + id: "BMU", + properties: { + name: "Bermuda" + }, + geometry: { + type: "Polygon", + coordinates: ["@@OEMA]NOGNG\\Q^McMOI_OK@CQSGa@WNLVWHFLJXVFGJ`ZRTDLeeWKIHGIK@@[MQNi`]VDTBHCJAPBJLVFjT^LV\\RJZRn^RH`TfJjZHHOTTFJP_NOX[EYQQKMEJOLANJH@HQHAARF@ZEPS[U_IcRQXE@EEKKOCGGCQCOGISKYGUC"], + encodeOffsets: [ + [-66334, 33083] + ] + } + }, { + type: "Feature", + id: "BOL", + properties: { + name: "Bolivia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@य़͟گӳ؈વȲ۫ݹŗ͡ҋऺˆ߾ѳŏ؆ЫֲՌαۺȖ˰ƭ̶͠рh¤נǸ˶ܩഠزíѠnȈʪ݀;Ѷ͂સƚęؽļ͓ãࣰ֛ݫऴƑ̻ͦ֨ǕΐʑՈTӦʟӟǐʕZγʓa͒এྖūӟĜͧҞɽȤԹƫڋɯρĄӏʿǥaʶјޭ^ัʓЕsҋͥƉǸ"], + encodeOffsets: [ + [-64354, -22563] + ] + } + }, { + type: "Feature", + id: "BRA", + properties: { + name: "Brazil" + }, + geometry: { + type: "Polygon", + coordinates: ["@@૮ନॆࠄ֠ۼҪjڤуӞеLJǒӜŖӼBҦ̡ƴ̿Ƌ̻į͔ýޔƿʤ֥ɪǏࢱLjÈଜʝҴˀǦăӐɰςƬڌȣԺҝɾěͨŬӠྕ͑ঐʔbYδǏʖӠӥʠՇSΏʒ֧ǖ̼ͥळƒ࣯ݬä֜Ļ͔Ěؾષƙѵ́ܿͽȇʩџmرîӃƟϡĪÈ౨ۏӷݏv҄ͅ֏¶DzΰұԞΓݴɜƶAԖʎċҔɊ̈Ôϼ०ֲێNJŔŴݴϚᘰpθſӔύ̬LؐӀƒǚē͐ӯĔYՀ࿖k˦̂ɸˉǐӷǂļҨѻٸÆnjʲشȞΊƐĮΤʆ¯Ǯ܅ðśՊ֞ϓɒǀþجŅڜȿʐȤžल̮͎̾ŏʂѪȜȗʼnσ̀ŵȖϷɷ̏ƅɌыÔϳԬϿЮ¥ĢǒˆϠƦ˚ɢҬíȲҚçøǢƗǘĎʐͺõЈĒӔDZξǥʺɪȊŘɿДÒ͒͊ʴؤӼޒ˺¢ȺҫҼ҈ƑxׅمەʾʩƁࡃٔր̟ඊԡШӱƏҫʶ࿐ѹఴఔव٪ʏܖ̦˅˸੭Ɣԗͯ൹ёշஅୡՙोثܯȿgɻءÒ༽ɹಓęօˇͧƫ૱࡛ƛࢁڹηȟԋ࣯Fೕ͓סύवʗڝ܅ũطƔҫƽࡓȏЧחҥट๕݉ڗ֯Ͻϥߛ։ӑɷӈψЊӟֲڇҬࡹՠ̹{ࡅٰձę"], + encodeOffsets: [ + [-59008, -30941] + ] + } + }, { + type: "Feature", + id: "BRN", + properties: { + name: "Brunei" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ͬ̾ҢЯ·՛Бǭ˹ϥѦ"], + encodeOffsets: [ + [116945, 4635] + ] + } + }, { + type: "Feature", + id: "BTN", + properties: { + name: "Bhutan" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ˍÏԩۇ{ۿÈՇſޅ͊kǚزҒɈșѺqπɥ"], + encodeOffsets: [ + [93898, 28439] + ] + } + }, { + type: "Feature", + id: "BWA", + properties: { + name: "Botswana" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ǜƭ˄ӡॎइήĝD̑ʚՑٰŹ՚ϝأݭع˩֓ʧ́ҙãƧГďʽ՝țہ¤БɾΟĸХșȵГЉʧпϑđȇ̐üԠӽߚɧŲAរࠤ|Ჾشಖ͎̎՜ͤʮDӂȎưÙ͔ڣ"], + encodeOffsets: [ + [26265, -18980] + ] + } + }, { + type: "Feature", + id: "CAF", + properties: { + name: "Central African Republic" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ۜÚƺɎƔgȾȏ͐Τ͠Ѭ̌ĉ̐ʂüߺ½߆ϴ؊ࣺю;ՐƜĪΫӜԿFƋΓÄʻ̆ʍٖοҢͻT˗֠ѫΖεɆԋغͩƊˉˣęաpكĘ̹ïųȱ˕}ͧDzधнϥĎŗÝʥԕطǐؙĊ̴ۓ˸҉˓͛яùדգ²֩ƘԅѻѯޱėʐϦϧ˔̳Ѡï̠ЇѮæʢċΞÞٴȬƴц"], + encodeOffsets: [ + [15647, 7601] + ] + } + }, { + type: "Feature", + id: "CAN", + properties: { + name: "Canada" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@؎œުxЯ΅̵ÅΦȿˬ͆ʸ̎С"], + ["@@Хcઝ˂ޯІ̄îɁΗ|Ʒ"], + ["@@хŝൡϢʥ̘ݩ̌Ưʈࡻư͕ҜðȚࢨǿԨŵ߄ė˺̃дЋ࠼Όҩ"], + ["@@։ܿո˴֠ǵ̏̉ݚɱϰȴ࠼ʵʹ؛טƞņѿʼԷΝ݉ϝփǂǾیɻńইܯԅצЂ߫Ȳࣙ¹࿅~ŹʠԼ̐λɬ۸ԒࢄԶӎܲ̂϶Njɫ҅Չ"], + ["@@@@@@@@߰äʥ॓ܶگͯDԑϪ̵ϮчʾƻτºˎЂŋ"], + ["@@͡ѳχîəʢ Î͖ʦΆkɈǣ"], + ["@@ঝҧץnǿɪزϲ଼SiǍ"], + ["@@ƼυјżӨɗं˽४ʽöЍؤÞ˥ݙ˃ಳȬҽϚ࠭ҁѣ˿Ӯଗăܴдņڌ˺ޔ؈å"], + ["@@ष¥ȿЪΦҼޖŜپɷXέħřձʛ"], + ["@@Է̍ଉʬۃğଫϘ݊ʼטζࢼʃԎƯʦDžԠ͍"], + ["@@G૰ڄեʡح߾֥࢚؈ؖܨ°ईஞÝఔūૼй¼зس҃פ҇ŃУחୡŻࢃʨʣуߵ۽ʓοই֩ளÇڏΡÇձĿਉڻ࣭ु͙ڏ±উంƕϜϼّ୲ǔ༞εࡀ͋ЅɳࢸΟ൶µࣴąƍܫʼࡋ،ळనߗ٨˚ҔࡺѭೢףѶഎЀ॒לҮהç֭֘܌৷لলࢤνݾ˫ಾגȘɫࡸć۠ɚ˵ਚӣʮ͙ຄÛ}۷˪ਜ਼ގſ،ӵҰߦऔϸٺݣબੳघ͵ՅӁݰӓംɏբˍͬ܃ټŏͶͅÖऻ؍́̏൯̗ۑƋᅛǮుPࢇÍ۱ੳωॵޡ܌Ɛഘૄᄈ۪సČݔЫߍ֟ˊࣟ˜هતп൸ŨࡆीÎ؍ժ̥ਣսᇷԁͽयٓÖ܆ฤ۞णĹջӆBନύʐ֛ƛ˧ɚٙىʱٹ̕ϡΥŽˏ¥čȹAMϛƷࢵĿßˍ͝ޗBࠛGϛƅƊǑøʯeďષлࡽſউ҅Ɂ@˷ƂĥŦnĔȂ̎ЂҦʘӺǙܴǵނЂľƬūĺɳ@ǛƆ¥ȤǍēɥ¾ĊȡĊćɚٵːڹ˪ࠑ͘߁̨ݧʃ˝SਕɔڻʼnࠁʺƆו¾ʻƜƫҤ˳IE͓BᮝA᭯@ᡃ@ᠿ@៙@ᢡ@ࠛ@᠁@ᛷ@őFࠜδຽΐҳݖŤԨΨƧڴ৭؎iѠҲКwՌෙॠՁޑϚ֣ΈѿѢࡇ˕ࠇҹݛւדπࠋɸࠟ|JⷎNᷲ༬ȭЙ࢘û݆ΖৰˀఢĹ఼τ൘Ⱦ־ΑظȠȊЄęෆݫ૦֬ŖّਔƐ͆ʖৰ·౼Λዸ̭ୄƛࠖÄଊэзຶǷᗘIJܒƦࣆԋࣴьࡩΦժ˼৾ڦĎڴȩࡊҗरäϛಬƄ௬oĭԺݞƦದ˵KߑՖڠڰuϞࡊ࣑কͺäघশ؎ૌƇࡘχଞॅݗЭ༠ǝ"], + ["@@нϿሎʬୠщॊіސ˟یࠛфΒࡰ݊Ŭ࠲ƇशՆࠉʼץථеະЉĝσൡã՚͓˱ູ̯Ƃฃɪঋ»ཅ˷ᒃűāҕІଫɮݙģਛږ֔ĚಘƜஈરƦྷȞᅗãjѷ̴ዎͲಗ[ืɚ۶ـגͮᖬԠNj"], + ["@@݉ևಹך˸Şٔȁ"], + ["@@öɵࢿ|ࣟjࣿőʑ¼ऍѾ̠ИÈነěชң"], + ["@@ڎԽޤڴᒆΈࢅůջဒʒߒͮሀыୄЏŊν༚Ȑ࢘᎐ܸͩߐϹጘչೲȁீޙೖÇʽכ้ঋਗά߲ઙĿŁӕࢪӥଜϯΌɟմࠩ́ɪᑏڨஎܣԕƎ̉ᗱͲᅩӤ৳Ц̌ʂయќТ`ʑᝡƅ܃˾ֆؤdႸņ˫̜̊оચࠊɳϊ͕˾౿Рၳ˺՞ɆࢷԺ´ڏ˸҇ʛŅᵝȈᄫʚഹŴۥ̐࢞ϦHˉ࡚٦ݨࡺ΄ᓪɢأի"], + ["@@ǯຄńɖʑЕαƱݳ൝͗߳ê͎ᐡٮjˎ႖ĽएռসР"], + ["@@࣓عय़Խ݆`кѮΨ࠰ɮცྈȱళݟǍ"], + ["@@ᕍЙѷςኹѺήΤؘܰւࠑԦᭊƀǧᒰ±ࠄʑࣖΝ੍ɃᏝןਫי@ν"], + ["@@ҙ͙Øৱɖ҂Ϛீɨܼ̬̍ˇ"], + ["@@ٞϵљϣس൱đࣗƈjӬ൝ÝÁٮࣜౌ˺ஂµÜŎ"], + ["@@̙͢ݠƘࢢƪЩԝЋ᭗Žᑯη౩mŅ˜პϊ④ij୯Ʈପࠐ߈ɾᛄ˳ӻฺÛறߨޔ̪ࢄĭ˲Џ"], + ["@@ढ˓ကFܨˡȑ́८ȍՔȧଊ௬ëǼႊðീÏ࣒ͅȊԽɟభǷĸᜱŻႫcഫļᖁ˔̃ҦĹжࡇξĺঅʼ͂ΈႾÁ"], + ["@@ŗ٣٩̇£༝ΫŹଗǼ@@ුؼႮծಆ[ସŬ"], + ["@@ϣy༽Âɡɼၜ]מƻĵĩ"], + ["@@༩ʋఝ˔ڼˎ௮Đஈſ˩ʥ"], + ["@@৽ǏඉBbŤࡴʦҌદǝ"], + ["@@కǥۃȚέ͂áΎજӪÅ̇ɫ̣"], + ["@@͜Ε൏Ĥ൩˘ሏߺʠ৫ȮÕ͐ŕᗢ̫ٞЍ"], + ["@@০˕ଽʟ༇كÓდņࣗ΄^̦ڔɢOए˨ՑϠώʲࡴÎοȖዜ¨੶҅මǵ൞ǃڒև"], + ["@@ᖢßᅮŅɫɡᏅη᎙ǟݻȉᆬJጡԙേʃ෯ۇႿƓՙǡᡷěୈĿׇƭ۞бߙ˽ಛʃЋ͡୫ʣŞȏ෬lȳᖟԋᔧɴឿŻధĸཟªĿЖ༊Ȑб؆ԢÐᖤγբഹLjڼ͘Ȩʄ̊͠ΥѠᘞڒĝ಼̪ቃĬ᰽Á˸۩ͼগʘȁ˺దLjঘƌం̺ਬ©ࣤɽٔҒૐƈບĢᢲҀĝƚᆔÁᆒÁ"] + ], + encodeOffsets: [ + [ + [-65192, 47668] + ], + [ + [-63289, 50284] + ], + [ + [-126474, 49675] + ], + [ + [-57481, 51904] + ], + [ + [-135895, 55337] + ], + [ + [-81168, 63651] + ], + [ + [-83863, 64216] + ], + [ + [-87205, 67234] + ], + [ + [-77686, 68761] + ], + [ + [-97943, 70767] + ], + [ + [-92720, 71166] + ], + [ + [-116907, 74877] + ], + [ + [-107008, 75183] + ], + [ + [-78172, 74858] + ], + [ + [-88639, 74914] + ], + [ + [-102764, 75617] + ], + [ + [-95433, 74519] + ], + [ + [-123351, 73097] + ], + [ + [-95859, 76780] + ], + [ + [-100864, 78562] + ], + [ + [-110808, 78031] + ], + [ + [-96956, 78949] + ], + [ + [-118987, 79509] + ], + [ + [-96092, 79381] + ], + [ + [-112831, 79562] + ], + [ + [-112295, 80489] + ], + [ + [-98130, 79931] + ], + [ + [-102461, 80205] + ], + [ + [-89108, 81572] + ], + [ + [-70144, 85101] + ] + ] + } + }, { + type: "Feature", + id: "CHE", + properties: { + name: "Switzerland" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ƫŹȳϞƵіwá΅χƙةŀǻЏơƄһ˵Л¡αǶ˽ςБſ^ϠؚҾɈϤûɲƞMǦǼ࣒ʱ"], + encodeOffsets: [ + [9825, 48666] + ] + } + }, { + type: "Feature", + id: "CHL", + properties: { + name: "Chile" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@Bም࣒@Ԓw˧ͻܛʻЭӻä؏ʨ࢟ŨੑҸҎୃशۘǭ̟֗ѢϬ˘ֺޠΎװı"], + ["@@͢؆ŘĺɁ˿ࢍࣵгඓǫ˓ʦ͡ץԹջ߁̛ރĀ߿ԫࡹϮฏɔƵCޛӑࠍpۯٍշFޙʮࠏԉ̧ɣݡȟࡱƚͷǡȞॹϜ͇ˡΛ϶ǙĚ̓νǃĜӱ̫ѽܓĮыˇՑ٣υôࢹ̧̐֔ÄgؽΒө᎔őުſݝPЙȷݷ̣ƉΣoॅ˚१ג@@ਲ਼ӔˁՒʄӰх֒ŅΦ߰ࢴٰౣʔߞݒ˸ඊत̏Ѯგ֝ɠʿՉŠ˂ல˺༒ϮָʍࠎéूΠԨപഎΤబȗ఼ʤۚĵਞӮਆưྺ˒ნˀሤÕ൘ǩќɌɦњЬֱŐѴΡ˅߽Ҍह"] + ], + encodeOffsets: [ + [ + [-70281, -53899] + ], + [ + [-69857, -22010] + ] + ] + } + }, { + type: "Feature", + id: "CHN", + properties: { + name: "China" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ԑഓΫۏѷ܂ĩخӶࠜڦَϨʡƣԓ", "@@ܩЗۏʺyܢаϠࣾɾӚoȊ͍σσșӟ"], + ["@@ฬˍׯͼ߃౨Cܰͨ൸ʜѳݱ͙̭˽ः֡ࠇ৵ƪܝ̑ɜܙťѕwLяթӺͯһಙαƀѹܩЍ˂ֽऑҋۃա୭ʑأϽࣝɭ҂ϴǭ͞ږ֠ѹѲܷ̓ॉԫթ࠙¡ѓϻѸ֩یƏϕڔʕसݚ͝լuƌѱஓɻϻҏࠇућיࣜҥͦࠝԞޓ֮٥_دՅɯȪ҃ӶʻŻۃɇڗҷ÷ؗࣧڹિޭোିޡୟۻृĩԣύ̃˘Ӈй୭сࢵŹ˻ࢱҭ·ə؎Ȧ͘ૻːЇƍࡍɔЏƄӜޏƶЙܑ̀҃ࠇīڡJ҉ȳѥūŶ॥҃x÷Ȣ}Ύ؝ʓεƸر͂ʔۤՏǎȧޜࢱƓĴাߔۮۚ{٠νȨ˭ӶӭÙࣟŲ˴ΜϿԺ׳Ν۵ȸॷއسڳĿοɦѹrȚґɇرëڌԟǭওĈोȖڿτٵǔ˯ЖҽŦࡓոکʴΑȩଢ଼טࠛՒɽऐőіͭјĐۆࣙঠ൧ͼʝ٦ةϼƫʌųӎ͜ԛȔ˟ďɇިʈȔśȠߤЈǐࢸő͆՜ંIJͮ̚ҔŠȐãӐּɔݱฦဘͲјȈ؆ຒဠˡҲϞ¢ࡆۦĀٖ֔͢èɚו۸ѽப̿׆ڱ͕ঙ̢ηূƝଆŝ৪ԻԲġϤޟӲӿऒnჄȉŜࠦůఔԛ৮BόʽঐҌബ̈ాঘ̒҈ך˰Ƌˤˍ͔ѴըӀùࡺǝ࠸Ѿ͚؞֊נʆŐڐĥĠ̘ݿזګː٥̳ࠣžӇŃɏΆר࠾Цو̓ஆՎQτݸࢾҲːWҪңȦۜмਰƲvసʡ݈̱ࡏ̀α̊ԩ̶ࠕ"] + ], + encodeOffsets: [ + [ + [124701, 24980], + [112988, 19127] + ], + [ + [130722, 50955] + ] + ] + } + }, { + type: "Feature", + id: "CIV", + properties: { + name: "Ivory Coast" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ϣUוǒ՟Wহƥʍ̯ࠫNjvÞۖĄŀ}ͨΣΚˉÈʕɲǾώčО ʔƄB¸ξÝnjĄŜ̸ĶȹڨȗΎæ˸ǘÞŊúɸųٮOƸʖƢgʎĦžΫȞłΌŰϚǽƦ˥Ϙǯ̎ɄϾֺɏɠΟ۷ɕेθܣͧ"], + encodeOffsets: [ + [-2924, 5115] + ] + } + }, { + type: "Feature", + id: "CMR", + properties: { + name: "Cameroon" + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ľ°ӻŇԝŒЋÅnŬڒ͟֊ϧƚǟϖɋŦXɶɎתЎ߸ʒRԄӮ͈bҾΉ־˲ĀΔȌͺžь҆ΊǞךDzȊŢѨɜ՚۾ٲ¬˨ĠƲͫͰˌʂ¶ͮ՟Ê֏֏ҜޅҷTʁÏϥČǻЅӸөμƛŠΏˆ׃ſɩх࡛ȫƳÝٳČΝåʡЈѭð̴̟џϨ˓ϥĘʏÓґڛȤڷɜ"], + encodeOffsets: [ + [13390, 2322] + ] + } + }, { + type: "Feature", + id: "COD", + properties: { + name: "Democratic Republic of the Congo" + }, + geometry: { + type: "Polygon", + coordinates: ["@@»ঙͶŕˑ̗͓ɟ͍ѫǯϷ±ګț͍OهʍɹԃŗÝýҟɄϡÂưޝċѧǘӣӤҹҒͥĒ૿ƙɣĵʇՙȊχƫষĻࡇɨƫט͝ɲƴìٟࣟR·Ҧ̳ΨٟŠȋѰԣ˅ڧŞ˫ϢՕüϽqµʾ́rϥºԳųιtȻû®ৄ˩̸ÕԬŬԒǝ͖eՊ৳Qò̢ѕGƣԵɁӧűȿҫŠˣş։å͏Ѱȗ˖ʋԌȷض៛\\̍ķʑhœşʼɊĘμƎɎ̪ǰɚđ˼͐ҜSÄʃ̼ƩӶՄӨШɆː۔θࠆϬўքМĪˌt̰Ǝ̆«ӊŀݖǐԾʦ҈¸Ԕúה͜ѐҊ˔۔˷ؚ̳ĉظǏʦԖŘÞϦčनоͨDZ˖~ŴȲ̺ðلėբoˤĚԘۙϘķɤƖϲÅҶDzȦΫ݊֏"], + encodeOffsets: [ + [31574, 3594] + ] + } + }, { + type: "Feature", + id: "COG", + properties: { + name: "Republic of the Congo" + }, + geometry: { + type: "Polygon", + coordinates: ["@@̿˾ʩƗͻγۏࢸٖҪ̓˾ɂ֦ĺäό҆ЗݐʴЈł֒ĝڀЉӺζȽǘسçɻѢÔξڸɛڜȣÔҒѰԆѼ֪Ɨդ±·ԓʥ҇ǏԽĿݕ¬Ӊƍ̅s̯ĩˋփЛϫѝηࠅۓɅˏӧЧӵՃ̻ƪÃʄқT˻͏əĒ"], + encodeOffsets: [ + [13308, -4895] + ] + } + }, { + type: "Feature", + id: "COL", + properties: { + name: "Colombia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ΫȤЭ˨ʅƅ܉Ŝȱΰƽ_Ӓŕʺ̼ÚтȢ̦иÊΞՆ͐Ѵ̳ȦDŽӦȏސǸɚƃ܄ͻ҄ņТ˔ÑǂʠțӶĺŬѢـהΌĚT˦ƺ܂ӖϸՊfäǪڂéڌъ͞ȊОК̖»ɚɛǍ˱գƕɇп͗ʋʓ̷ĹɷӭѢÇņϭȄȁâij̵ǫȸéȨ̉ઊĄӦŃעܡͼĚӐĪ̔ƟƱҍȇ˯ßǜ֑ʆʟȉэл̨ȃɠ̋ʰ࠹ǁĻǏӸɷˊ˥́࿕lZԿӰē ͏ǙĔҿƑK؏ώ̫ƀӓoηϙᘯп҂ʣpժࡤٟϾԍị̈ƤҧɝصŀӵࢤϳɐˍІ֑Њɡā"], + encodeOffsets: [ + [-77182, -155] + ] + } + }, { + type: "Feature", + id: "CRI", + properties: { + name: "Costa Rica" + }, + geometry: { + type: "Polygon", + coordinates: ["@@җȆǟǮĬƤȄɷȪͥǔ́ņÅʖəƮÄʑǗȩȓɸˑĊŗǞLʮŎˆʁŠȖnjŴňֆɝȖŊˊéƔǥʜÇȪDzɈҙ͖ͷЂΩ͗õLͷǪűűıƱëǟ©Ǖ"], + encodeOffsets: [ + [-84956, 8423] + ] + } + }, { + type: "Feature", + id: "CUB", + properties: { + name: "Cuba" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ܨÑڊW߄˹̭ͮĨ̔ȡ܈ԳԺϛˢ\\ԆǟÕʁئٌ΅ıȟ֑Ń֡¥׃âளą֜ҶɔէÈ̃ʐȥӎӃɦʥǬભž̋ǐ̀ɀࠗ¨ѧΏ[ťȳеğΫĂѺʸǼ̤ϞȈіǎَĄȰĢ"], + encodeOffsets: [ + [-84242, 23746] + ] + } + }, { + type: "Feature", + id: "-99", + properties: { + name: "Northern Cyprus" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÐJŨȮYކʢ֧ΧÔƿęLJÙűj¥iĎѾNjVɫïƿ¬"], + encodeOffsets: [ + [33518, 35984] + ] + } + }, { + type: "Feature", + id: "CYP", + properties: { + name: "Cyprus" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ãࡱͿЩŊȟͶЎǀ«ɬðnjUÒ½jč¦ŲiLjÚĚ"], + encodeOffsets: [ + [34789, 35900] + ] + } + }, { + type: "Feature", + id: "CZE", + properties: { + name: "Czech Republic" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ϯǂЁ©ٵʲ̏Ùҿ΅ر˔ӃΰѕȬėΠƧʠؒǾ̸ȾǎɂdžɜīϒĖЊ˓ؼñ¿ɳҘǧŲɒּĥĄʿز»ϮЯʡCŽƯȕÅȑLJ¡wý˹ēϋbšȁ"], + encodeOffsets: [ + [17368, 49764] + ] + } + }, { + type: "Feature", + id: "DEU", + properties: { + name: "Germany" + }, + geometry: { + type: "Polygon", + coordinates: ["@@d͗ࡔțS̗ࡢǂҾɰॊͧІˋȞёɹɣ̨̙Ⱥ҅ß́Έ՛ϑĕɛĬɁDžǍ̷ȽؑǽƨʟĘΟіȫӄί̑ϯ̟ŃŢշýƛʿǤЕ~ƭݍţɛыɺʩ±࣑ʲǥǻ܍Nń״ьֺƸЇɘ´ςǗȐĨ֨ƗࢢԎ@Ɉ͂Ⱦޔƿ˴ǐDz۰°Ƽȃ֮вȓ̀ӈٌōՠŸ"], + encodeOffsets: [ + [10161, 56303] + ] + } + }, { + type: "Feature", + id: "DJI", + properties: { + name: "Djibouti" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ȤʹΑӏȩήɯ̱҇ȅƬȭÏҷb_ʮßɶ˴Ѐ̐ϊήñʪȴ"], + encodeOffsets: [ + [44116, 13005] + ] + } + }, { + type: "Feature", + id: "DNK", + properties: { + name: "Denmark" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ԋڹ࢟ӄŝΒ˨ˎу"], + ["@@ȵ̓ʡĞɮХ՟ŷًŎͽҲ}ƔɪʌʦÀ̐ɴڮʂѝʟ˙ĶɽҘŵ"] + ], + encodeOffsets: [ + [ + [12995, 56945] + ], + [ + [11175, 57814] + ] + ] + } + }, { + type: "Feature", + id: "DOM", + properties: { + name: "Dominican Republic" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ŀƞپIӾɏɜtƴ̕ҠhʡϐЮ̷̯ͿЍǼϫˡ¢ƱƵ͑½ŷȲˣťͳֻɏƆ§ʎjɬɍʦȲƚÞ͒óҜ"], + encodeOffsets: [ + [-73433, 20188] + ] + } + }, { + type: "Feature", + id: "DZA", + properties: { + name: "Algeria" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ᮩཽᝩஇϑटćUϵƌԹʊȧЀᬻᆴᬻᆴṕᎠfnj@ÊQബب࠼Ÿێɦ͎тচͪجӢòϞ̶સƚƸ͜ɛDz̃ࢲ¹Ԟ́ՠ߰ҠࣦƢՌΎ߶ʰƬർæшůߊͨ࣌Pȝֺ¾ǟћƄߟȡۙԭҵôمۊԃRȯԮΪຝ˖ݏ°ϵƧۇÔϥŃҟòՇͫΗӺؓέ̘ҵϼƸڒϷςՃ"], + encodeOffsets: [ + [12288, 24035] + ] + } + }, { + type: "Feature", + id: "ECU", + properties: { + name: "Ecuador" + }, + geometry: { + type: "Polygon", + coordinates: ["@@҂غǻξ͍ϵԉςǞʀƙބ̎ŴƺԼ͆զÍ΄ҢǸ׀Ͱࡀӑƾ`Ȳί܊śʆƆЮ˧άȣŞٓʽճࣷ࢟য়ͧԥܵǃ֣ӅΙъͻĞáw̮ʈȨıΔ"], + encodeOffsets: [ + [-82229, -3486] + ] + } + }, { + type: "Feature", + id: "EGY", + properties: { + name: "Egypt" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ɽͷǹىɫѩȝƥ˩˔ϛϒஸđùΐࢯԪࡋٌವ̴ҙ˒ӃݮछǗƣճݭƨǣΏ@Ὁ@@@ᶶ@ᲴʥڲɐŻά̤Ж૦b߲ɝ࠲ʛϴſ٨ˊΌʊݎêװŃɮеȜ˜ڨȣټ³аɄւ"], + encodeOffsets: [ + [35761, 30210] + ] + } + }, { + type: "Feature", + id: "ERI", + properties: { + name: "Eritrea" + }, + geometry: { + type: "Polygon", + coordinates: ["@@˻˖ΉӰϋ˒ɏܷ̄ͶֻXȭǬӯȡԛϢʽطǬęʹβఀĊ֒ˆʴؤƐьӒӦঃɴޗҢУବߏҲӍҖӝˀ˿аʧʩȳέò"], + encodeOffsets: [ + [43368, 12844] + ] + } + }, { + type: "Feature", + id: "ESP", + properties: { + name: "Spain" + }, + geometry: { + type: "Polygon", + coordinates: ["@@¦״θஒ؆ਊƱ૾NࣂƝۦªമͰ͛ϡ̨ǺीϝআŊ®ӥߓ֓ઁǯõ˱ԩү͕ہ͞ӑӟϑǹճىǗש٥੧_ߟhՃ͍̓ͅЩê̵˴ʃӚžé˦̶̀Śɬ̃ʢɶրͳԌδèЈƎŬZپϲɪɻфөƝŁӹCɁЬū̥ɇ"], + encodeOffsets: [ + [-9251, 42886] + ] + } + }, { + type: "Feature", + id: "EST", + properties: { + name: "Estonia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ĮӸ̱ŁՓ̘ñӘਫ਼ɼŨ࣮Ƒࢂ|ŴƣׯӝʞΫˉۙDܡ̸ρļƩ"], + encodeOffsets: [ + [24897, 59181] + ] + } + }, { + type: "Feature", + id: "ETH", + properties: { + name: "Ethiopia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ԜϡӰȢȮǫּWܸ͵ɐ̃όˑΊӯ˼˕̏ω˳Ͽàɵ`ʭҸaȮÐȆƫǽ̴̕ҧ̴Й̛͎ᩨঽۺNᛛᡃફݟףաeɯ˅ַB˴ލΙʝΓ֕àȃĬȟwˇT܌ב@˹ˢ@ҾѧƘӻࣴϥȚƧʹэЦԧÒ˸ӐҀrŲʰ[ݲʞࢠЊɾĎ΄ήٜԔиࠠƆܠǫʾظ"], + encodeOffsets: [ + [38816, 15319] + ] + } + }, { + type: "Feature", + id: "FIN", + properties: { + name: "Finland" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ūיಀ֓ޡىख़֡ܛݴس΅յఘֻ́ѓޭӟᅡੵໃá๑̯ൃǯӡҞ߿ˠȈࠢСݶАӪނՆ࣮֖ǬēୟЈ˳͜uಒֲ૩ЪԊɞतѻલ¦ࣘȭߠϊЬ؞ಬ˶ͯΡכ"], + encodeOffsets: [ + [29279, 70723] + ] + } + }, { + type: "Feature", + id: "FJI", + properties: { + name: "Fiji" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@̂ʍƓѭԳŗҩļąτ͖̀ϤĻȼƐ"], + ["@@՛ǯŅ̼оǤˊ°Ӱˀ@ЧՕȷ"], + ["@@é@ШǨĽЗ"] + ], + encodeOffsets: [ + [ + [182655, -17756] + ], + [ + [183669, -17204] + ], + [ + [-184235, -16897] + ] + ] + } + }, { + type: "Feature", + id: "FLK", + properties: { + name: "Falkland Islands" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ԌȿԌʹڦϙʥ̋ଋʥϙ̌܋ϙпϚ"], + encodeOffsets: [ + [-62668, -53094] + ] + } + }, { + type: "Feature", + id: "FRA", + properties: { + name: "France" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ˣ٭ϡǠș֢ǜ̺ը͎Ɯܛ"], + ["@@הЅќà݀ϥȊñʎjЈɗெƷыֹŃ׳ɱƝϣüɇؙҽ]ϟВƀ˾ρʁʚ̿̅ʯɐٱҖŃĩηݿӅစɬ௧˗ĩԑঅʼnिϞ̧ǹϢͯ͜ѢԎdžူࢁࢤإю౹͒čؖઠǾථɏˇॎߌέዠپʨێܾǞŪ̑ϸ_ϸ͵"] + ], + encodeOffsets: [ + [ + [9790, 43165] + ], + [ + [3675, 51589] + ] + ] + } + }, { + type: "Feature", + id: "GAB", + properties: { + name: "Gabon" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ࡹࡔ։ۚԙࢄ˨ǾˎȲؔǜخ˴¶SOৠЌÆԞőӼňľ¯ÓνɼѡشèȾǗεঃЊӹĞٿŁ֑ʳЇݏ҅Иãϋ֥Ĺ˽Ɂٕ̈́ҩ"], + encodeOffsets: [ + [11361, -4074] + ] + } + }, { + type: "Feature", + id: "GBR", + properties: { + name: "United Kingdom" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@҉ֽًǦԱ[ǦҊǥ҈۴ࣔԳ"], + ["@@࣋ࣧࡦŘऄIɕۅݯݩࢄÃäĕݠֺƇԬढ़ʈͧৰDžķ՝ѓʗͲѣݱѯRෝɱϻǒ։ϿޥĪם͍ҁǘࢨݪǺOBಽƔʃͰ࢜ʺҡҐdžռఢ÷D@ŮӤ֛Ԯ_\\৵ƨȧɬ̨ϒˡɴҍЇ·߶щє̨ࢆٶھڤá০ì"] + ], + encodeOffsets: [ + [ + [-5797, 55864] + ], + [ + [-3077, 60043] + ] + ] + } + }, { + type: "Feature", + id: "GEO", + properties: { + name: "Georgia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ųάȿִӟ̲ҭĬ̯ʴĺIJ܄ƝఆƋଦЕƦƻԚƂǭʴ·Նșɓřвғŗıҏºصʎȵƍଢ଼ſ߳Юࣅ¡"], + encodeOffsets: [ + [42552, 42533] + ] + } + }, { + type: "Feature", + id: "GHA", + properties: { + name: "Ghana" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ӯҳ˽ݳʑݡʆͨηܤɖैΠ۸ɟŗنrӊฤ¢ϊÕ˔ƊϴáÕʿΖџC؍Ąڍɂ̫ȅݳäйɢՓȈ̍"], + encodeOffsets: [ + [1086, 6072] + ] + } + }, { + type: "Feature", + id: "GIN", + properties: { + name: "Guinea" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ʃtǡͷʁJǏǴÈͶΗԨɕħǵmɳ³V̮ƇɘʔǻΜɹ̜ڥDțǁɵoƝǷīɹ҅σρӼ͛͢ɋŊȿǖħϊūȂʓƐώЦʮeɖƘȄDƄŎï˨ĢĖd˶МUȱȄlÚĤҜáŨ´¶̭ƆBɖŒƔɸɇάãɲǺ˖ŒȬŠǚuȈȁĴɳΆΙǣɏ˙ǴĊŀį«ʡʲʍǗÝå˷ȘȺڧ̷ĵăśÞNj·νƃA"], + encodeOffsets: [ + [-8641, 7871] + ] + } + }, { + type: "Feature", + id: "GMB", + properties: { + name: "Gambia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ņόࣶzȎȦˊ`ͨȷʼIˢƚǞʏεȋιdέǰ̷ȗƭQȫŝއl"], + encodeOffsets: [ + [-17245, 13468] + ] + } + }, { + type: "Feature", + id: "GNB", + properties: { + name: "Guinea Bissau" + }, + geometry: { + type: "Polygon", + coordinates: ["@@҅ΘΝÈȕʀLŸʯǴÁǶѼƌ˦ɦĨ༈c˵ġĕð˧ƃōȃCɕƗʭfύХ"], + encodeOffsets: [ + [-15493, 11306] + ] + } + }, { + type: "Feature", + id: "GNQ", + properties: { + name: "Equatorial Guinea" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ƿŴ़̀െmPয়T˳µ"], + encodeOffsets: [ + [9721, 1035] + ] + } + }, { + type: "Feature", + id: "GRC", + properties: { + name: "Greece" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@Ҡ˱ٺ¶شÑqƣҜĶĿʛíTƒਁǎƺΦ"], + ["@@ʹՁȥĥԟ|ѫĀৱɓҿяƋҳAѻўƿȁȊԅрЁ̓ǿҴϯжʑ^ӅޥɠʜѕՓĕ͈ݏ֏Yۍμ̿ڦƧ֒͝ϮљӐÉʆϸТ¼˚˘Ũjɚռö͌ȀҖgƒƦdžت{ڨɲע̉ކĀVмЦɝ"] + ], + encodeOffsets: [ + [ + [24269, 36562] + ], + [ + [27243, 42560] + ] + ] + } + }, { + type: "Feature", + id: "GRL", + properties: { + name: "Greenland" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ᬜԆ᱒ੴ̴ᲈĄ䀦Ŀ㉊ڗ༅͕ộ⭏ćшƫᲐĠᡚ́࿈ʴۦ̝इӧᒞ̺✘͚ᠼNjҾΫ⃝ױӃȕ᧑ơወ¡ছؕگկधշಽ൧ˇ༂ѽȢ܋࣍ýઞܡህÑঈ˟̑இŽE֩\\Ϗပΐћɣଌȿ઼ԣ͈ڱກlj٫͖ਣӘ˼֭উѵᕖ¯ᖯܵᗿڏឧ́ओIࢅ͓ୟࢱᅵכׅ૧ȷȝܛԱ[כыտോڧͺٿϗљࠍஅ½ۈဿLࠁҢ֕ࠐฝਲэոŗݮޢ̢ئ֗̒ࠪচొ̺ͨΘǬڀॡ̕қůݯţਏ˜Éְ͢҂ެ\\႔ɟՔݩ˾࠷ş۫ȼमԝ̺ڗৡࢼ੯͚XΚᖷӮᄻÖᖟᏅ×ইˌวՈᕂ˄ၚ¬≹ɖ΄Ś͜ẊИᶎИ̪͘ᗗ̠ܺͰ᯲זĚΓϘጲɜᣚƂᣖRࣺʽᕺҨፘ̽áპ˙ፅҐŘή"], + encodeOffsets: [ + [-47886, 84612] + ] + } + }, { + type: "Feature", + id: "GTM", + properties: { + name: "Guatemala" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ћƦԻfϩǖҍΌrʖĮȠšƾКۆFt˸Ƌ¾ġǺ̵Ț̹ˬϜDBӂBަUOڗßॅʤ@˚ƱòŰʘŃϥ͍ЉɻÏljâǑǧɇȟ½¬ıƿġ˽Ƀ}ŭ"], + encodeOffsets: [ + [-92257, 14065] + ] + } + }, { + type: "Feature", + id: "GUF", + properties: { + name: "French Guiana" + }, + geometry: { + type: "Polygon", + coordinates: ["@@͉͑ГÑŗʀȉʹɩνǦɈΪòϤƢή͛ӸáֺѪܠ˸ğؤȥࢸۿƔ·ӻޑʳأ"], + encodeOffsets: [ + [-53817, 2565] + ] + } + }, { + type: "Feature", + id: "GUY", + properties: { + name: "Guyana" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ր̯Դյzџ̈́o҈Чͪ̇Ƈݱԛɕ°ȣƹџϊ؏ːAŎӃԢܳȱҫî˙ɡϟƥ˅ġǑЭ¦ԫЀÓϴɋьƆܐɸ̐ȕϸ˿ŶŊτțȘѩْ֩ɬɲiϲԬƊȾƾ˽̸ô̬ږӲ"], + encodeOffsets: [ + [-61192, 8568] + ] + } + }, { + type: "Feature", + id: "HND", + properties: { + name: "Honduras" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ơˀʭòÐʹŗĞǣÒσijŔʩƈǷǚʛìǨɈáǒÐNJЊɼϦ͎ĔȂƨʊ\\þ垦ϸùϲv˒ĢİĦˎ©ȪÉɘnǖòϨśƄkʲƿʐį̏Źɜɳ˽jśŕ̇ŋɃAȅŃǙƛźĕ{ŇȩăRaǥ̉ɳƹıđĽʛǞǹɣǫPȟqlЭūQĿȓʽ"], + encodeOffsets: [ + [-89412, 13297] + ] + } + }, { + type: "Feature", + id: "HRV", + properties: { + name: "Croatia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ȳ͗ˊʇ͓̓ϝȆׇ[ܟƔϽmǻǧ̝ȖǫΑЪϽǼʹϮ̽͌ȃ͆Ηݔ͇ġƛ߃̶ӣ̢ޑʠ۹ؤǞØϥΞe˲եƄʱγʝˮn̆bג Ƹƚ˸ƍͤgGɼ̈ĒĈͺڞɠˊĻؼέۜlj̼Ų"], + encodeOffsets: [ + [19282, 47011] + ] + } + }, { + type: "Feature", + id: "HTI", + properties: { + name: "Haiti" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ԢܰƁôқÝ͑ȱƙɎʥiɫ֏ƜЅÍԡÔϽƿ҉ʾö˔ޜśيã̢ȈϧθP͎ՋžȌɶ"], + encodeOffsets: [ + [-74946, 20394] + ] + } + }, { + type: "Feature", + id: "HUN", + properties: { + name: "Hungary" + }, + geometry: { + type: "Polygon", + coordinates: ["@@˨ըǍǼӂDÜ΄ђɋ̲ğ۸ļäǚͮ~ЦžĜÃЂŀȠȢˠ¼࣒ʭǴĒҲɭÎɣԡǭЉ֫ԕ֭کǁԽ١ə̻űۛNJػήˉļǍ˴ƗV"], + encodeOffsets: [ + [16592, 47977] + ] + } + }, { + type: "Feature", + id: "IDN", + properties: { + name: "Indonesia" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ΛeךǒѴʭ̎ʭ»ɩ"], + ["@@ܙȁijĶø˸ΰԢࠨͬĐǓfʫշع"], + ["@@̢ɣԲèȼΥॿǛőҍP̀ӚҤPɤ̖"], + ["@@ūұʅૣľE̬ښǪՂʥ֔Üݬ̮"], + ["@@ྔċȂΌ༘З̪կీƵਐӿय़͋ऍݻwࢍØưঅ͎؝ČΓŁ໕ΌƣΰޑØּߤ৶·ڴ͡ΒÛŘ̗"], + ["@@ѝֱćنƬ̠Ǭ˴ȒʗCЏ"], + ["@@̿˥ׅƸǏΰࡘ¢Ⱦˣ"], + ["@@̨ٝۿΌۯìӃÅׇȦҦਠऎʕ"], + ["@@ɼയ࢈ԉ۰ࢼ८ԔݜBܘ̉خ̛ࣘLJbᩑbᩑݟېǜȷʇ}ΦۂՈɺɕࣲЕ۸࿃܆ۗêృަʛУ͑óȏ̮GκٛЮ̢ࣞ״gëɠ௵DͩԄݥƺΡдଈȰњ˜ഘ·Ƃ̹"], + ["@@ڭ࠭كlj߱ǐඓ¥ܽŧţٍݪݛҒϠ༪˸çϯλŪιӯ͙݉ߒƵ˿ݲॻQտ҅ʙ̐͡Мی࠙͗ȻɶŊ͖ӲØࠌ֕ʭîওறՓũίʚʌޜŽ߸ΛPʻֺΎվŤښфǮΎذپʛśॴࠨ؎Ʀȉ"], + ["@@©ܽџĈŷԝΌѷɽĵՒʟǚڤ˨̨ÔҝӸóĀ"], + ["@@सާহį˫ֵݿַ߱u࠷͕౻ŭ̚ॕϙͫԤ׳´лːৃ̟̩Оս¯ۗĬŹૺнɺЕܘŝ݀ĮުԂƖָ֗ӅըǠ՜ÑӪъЖôߒɽۆǶњୠ͔̈̆क़ॲ@ܰƙӍݷآߓơϭ"], + ["@@छkۻ۰અۊέԚٍۄзؾٕ୴۪݅ʙܠ̳ڀݵՊѭܘمҺऒóђզಢNjݔࠓٮ֫ҪΓߔࣙࡢ_ۺֹӠ۳٘ϥͳۉӖ̞̅sƜו̊ҵؠõФՏɁಟ"] + ], + encodeOffsets: [ + [ + [123613, -10485] + ], + [ + [127423, -10383] + ], + [ + [120730, -8289] + ], + [ + [125854, -8288] + ], + [ + [111231, -6940] + ], + [ + [137959, -6363] + ], + [ + [130304, -3542] + ], + [ + [133603, -3168] + ], + [ + [137363, -1179] + ], + [ + [128247, 1454] + ], + [ + [131777, 1160] + ], + [ + [120705, 1872] + ], + [ + [108358, -5992] + ] + ] + } + }, { + type: "Feature", + id: "IND", + properties: { + name: "India" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ࣚটďۅͮїѕŒɾएࠜՑחՑϟ͛ࠀͅߊЭરһସʼnӜёٮāৠȝ۪bĪͪŋՖÞβԠǮìڋlǙކ͉Ոƀ܀Çۈ|ÐԪˎڴŀވشॸ۶ȷ״ΞЀԹ˳Λ࣠űÜ͇̍ƷèԫƲછׅ~ӓҩ۵§ХϏۗځȒࢇȏ˹ĚΣгȥѵɵEƍ՝ҡѦʸӎϖ¶ϰ܆ӝƜީ]ߝŚóאБ¤ڕζ֭̓؆ѻԿ̻ȅ̩Ԭɣƛԑ̆كžەţֱ̫Zਛǩ´ك҃ӻ֡ळكՋ࠷ջCϭлȹݳ̝Ͻ«ʥٙǪધ®ۡΣߙIѣ¡ϣٙʰˣދʃ˱֯͵ʍߑϳ୴͑ࡒ̍Јѿ߰ȻੂơՀޅ଼Α࿀ʣHৰǍԉףĶ৲И̤ʝͤড܊֖֔ᇜCǗܞҽюĩ٨ջϘऒࢢঊÙ࢞ࢢՄ࡞ࠄࡈ_״ܒӠڳд֪݂̇̕ЬβȱपŰߺ۸"], + encodeOffsets: [ + [79706, 36346] + ] + } + }, { + type: "Feature", + id: "IRL", + properties: { + name: "Ireland" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ƒًݣӹŶڼ࢚ѭࡢତڄٌϼǦ҇ǥ҉Բ\\ٌǥ"], + encodeOffsets: [ + [-6346, 55161] + ] + } + }, { + type: "Feature", + id: "IRN", + properties: { + name: "Iran" + }, + geometry: { + type: "Polygon", + coordinates: ["@@݈njװӔ֚{τƾװýघэڤğ।ݓظòۻɱؑκŭΫҡˠڡàՓِƙæեݿݿжѵԓߦυx݉ДƋêϯѡ̓উཌྷʪࣷȖेŊΧਐЕƪ٣ƭࡑНਇ˦ࡑ٦߳ʈ֗ߘا૪ҍƋՕ˦̻͝ҭѴS҂ˍ@Ɛ،ѝٔҢߜȜپц̂ÙӬտʨխҟڨǐʼʿ६ּʈƄͅъϯ־ő̤~রئ̀Øʞʙ́гԼѱȾ¦ˈإߖǩуƟಾɞĄȞ"], + encodeOffsets: [ + [55216, 38092] + ] + } + }, { + type: "Feature", + id: "IRQ", + properties: { + name: "Iraq" + }, + geometry: { + type: "Polygon", + coordinates: ["@@րʧÚӫх́țٽߛҡўٓƏ؋ˎ@TҁҮѳӿ¤֟ê؝߭༟äᛍၖఫךৡɪ৾ᇶ͆৬āؘҢȺјԾΰžŇ̐ɉЖƚծ"], + encodeOffsets: [ + [46511, 36842] + ] + } + }, { + type: "Feature", + id: "ISL", + properties: { + name: "Iceland" + }, + geometry: { + type: "Polygon", + coordinates: ["@@șիॊֵથٙᝓֹܣƵૉŮᚑˈࠠψᆧЪǎʘᄋȜ֨նౠŰಸ֭౨Ҝʃൌ҄ආÑ"], + encodeOffsets: [ + [-14856, 68051] + ] + } + }, { + type: "Feature", + id: "ISR", + properties: { + name: "Israel" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ƥ˅̣Ŝǫ֓ɂĥɋřɛЄŖp͛нഉցʔˢ˶ɞϼǠيŤɆzVˬCþƦɤ\\`·ŕŵhM"], + encodeOffsets: [ + [36578, 33495] + ] + } + }, { + type: "Feature", + id: "ITA", + properties: { + name: "Italy" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@̟ڋŲʹǭѝٝ̈́ёĞ୩ѐŞќজûࡪĠْò"], + ["@@ԌşϣÂ˫͇ɞ২ȓӒҨ¥рʼ"], + ["@@ரɏĝЯȬΧڝŪہ̗²зĻʇˠё߀чцۛदڱچLȲȃɽǗݪ̥ؠʩܜѫĔƿƽ̛үϼܳƐΝի؈̷ıѫΗ¹҅ܛΕÝHʲǢҊǼǶ͝ӤʱшΑŀʛδգƴεͶثÆٿϜޑմ֯ӜʿࠪйĮہˤϯŕӝϵΓÕĪθҕńɏٲ̆ʰʙ̀ʂβǵМ¢Ҽ˶ƢƃАǼͺتĿψƚâΆԘšĮdžࠨƤȊ̉"] + ], + encodeOffsets: [ + [ + [15893, 39149] + ], + [ + [9432, 42200] + ], + [ + [12674, 47890] + ] + ] + } + }, { + type: "Feature", + id: "JAM", + properties: { + name: "Jamaica" + }, + geometry: { + type: "Polygon", + coordinates: ["@@֢÷ҀȫƔɯןeʭƗҹƊӑ̪ĶȔΜÎȒ"], + encodeOffsets: [ + [-79431, 18935] + ] + } + }, { + type: "Feature", + id: "JOR", + properties: { + name: "Jordan" + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ʀˆपͫࣆͺ৽Džų၅у࠸ˣƛƑ˭ٙřȩ̡εʵधƆŨоഊo͜Ůʚ@Ԥ"], + encodeOffsets: [ + [36399, 33172] + ] + } + }, { + type: "Feature", + id: "JPN", + properties: { + name: "Japan" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ņ˽ҿԕΉːљțɝӭշʈRЊҬԆӌīΊΜؠǹ"], + ["@@́ڡƤсѩףЃ๏½ணॡ͔֡غษȃষЃঝe࡞أ֗իΝН͜ȶݶՏʒͿ־ߐʶѲՈࡌѢ؞ָာʤ࣎ǣࢠ֔Бࡀӌ͜ՈਈƟाՎࣀƸҞୗ}ڻޥࡍbࢁ"], + ["@@נǵרΤȈहఝɯ݁࠱ָқँण]ř࠴д٨࣌²ʖʜټন٤˯"] + ], + encodeOffsets: [ + [ + [137870, 34969] + ], + [ + [144360, 38034] + ], + [ + [147365, 45235] + ] + ] + } + }, { + type: "Feature", + id: "KAZ", + properties: { + name: "Kazakhstan" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ӕƹ્דο̹KɱЊ੫ǡێХNÚࡆؘßডũߣݶۋ͆ಥƽðᓗӹᶽљ£יچ֧ɼॕǩχ˧±ȲȶΖDž̊অ˺ϛݮҩɆ ˜ࠊāؘƎܼűƲࠎƭԲ£܍ȴঃσǭяƌĐўՙ֘دw܉֬ӞِʕǢڢऊࡺӣŀؘჄࣴಾtᇢͻࢼΠjѥʔʠɂЊഷ׀߮Цƿɮ߮ɔֺϬ˼Ḯ̈ШȺᑆ̴ݰΒຢǹ˄ࢉ࢚Ȳઆ˹éҝ߮´ᑌߎ̭ˁ੶٭ሠᒑ҄ѰୄӛீɎҪƯКӟטNjΨΥŒѾԣٕ֓ۥÿ¡ࡅұϝဟˢຑїȇဗͱݲลֻɓäӏԭŬу̠ఝĖඃx̧ġΞӉǧŽӹ൩̂փşȉρ"], + encodeOffsets: [ + [72666, 43281] + ] + } + }, { + type: "Feature", + id: "KEN", + properties: { + name: "Kenya" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ӾۙיͱȹΕ̿ÕšףˑǏ֑ͷ˥ࡀËӤᵁႌƙĢSࢺʊ;а̨ؔσ॰įтЉԬԈ֬ֆѨƗ@ҽ˺ˡג@܋ˈSȠxȄī֖ßʞΔގΚͺ˳ָAܽ॑Xᵣ"], + encodeOffsets: [ + [41977, -878] + ] + } + }, { + type: "Feature", + id: "KGZ", + properties: { + name: "Kyrgyzstan" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ȊςքŠ൪́žӺӊǨΝ̨Ģwఞĕф̟Ԯūşȏғ̙ͭઁıͅ՛ࢷŒׇǏߣЇŜȟʇȓཟŵਡ˘࣫ÝĂӜࣴƕ̮ʸٖĉѸױȽإ͂۶ծʟĊ"], + encodeOffsets: [ + [72666, 43281] + ] + } + }, { + type: "Feature", + id: "KHM", + properties: { + name: "Cambodia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ѭыࢄȣ২ՠۨઘdž߀ťۚ͡Ϟׄݖ̱Ȝ֕Ļඳ٧τԙࢥÓܫͷ۱Ū"], + encodeOffsets: [ + [105982, 10888] + ] + } + }, { + type: "Feature", + id: "KOR", + properties: { + name: "South Korea" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ܨযȺխPॷ̓ҥݽljڥΏݳïĥҚƼـχذƚֻܘÂúϒ͞Ϝצ¢ΨÈŨȮ"], + encodeOffsets: [ + [131431, 39539] + ] + } + }, { + type: "Feature", + id: "CS-KM", + properties: { + name: "Kosovo" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ǣŃPĘ́ȩĐdzɦƾȌȪÒŜ˨ư²Ţşƾ¿ŌƅƒǎƻŢLĥȳijij×ȉӹŻ"], + encodeOffsets: [ + [21261, 43062] + ] + } + }, { + type: "Feature", + id: "KWT", + properties: { + name: "Kuwait" + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ǭχõȓ˔هשuȽАݟĆ؞߮֠é"], + encodeOffsets: [ + [49126, 30696] + ] + } + }, { + type: "Feature", + id: "LAO", + properties: { + name: "Laos" + }, + geometry: { + type: "Polygon", + coordinates: ["@@˚Ϝ܆ڹܸ¿ٕࠦھٍÎǛ̉ӯyʣƨࢯԅoݬȸࢮ֧³ԎηʸǴ̲ܐնøȡ҄wŵ०ѦŬӮڏϖޅਚO͚ܹ՝ɗʉ̟ԉۦՌَɄץƵݕ̲ϝ׃ۙ͢"], + encodeOffsets: [ + [107745, 14616] + ] + } + }, { + type: "Feature", + id: "LBN", + properties: { + name: "Lebanon" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ɣ[ýƥ˫D̘ۄмעfϘ§Ɛͣқ̓ȷҟ"], + encodeOffsets: [ + [36681, 34077] + ] + } + }, { + type: "Feature", + id: "LBR", + properties: { + name: "Liberia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ɗQࡽАޅٖҢ֣ըȪː¬ʔϜҘϺϺǶnɖĨΘԧÇ͵ǐdzʂIǢʄsʓĎНǽύʖɱˊÇΤΙ~ͧăĿÝە"], + encodeOffsets: [ + [-7897, 4470] + ] + } + }, { + type: "Feature", + id: "LBY", + properties: { + name: "Libya" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ק̷ҿҤ೧βρՄڑϸϻƷ̗ҶήӹؔͬΘñՈńҠÓϦƨۈ¯϶˕ݐШȜðΠėΒ־͔ʶːЦʌ´٦দ́ΜðۮƓϓЀݛݮǍஆΙࣆйЦɔЖϮț٠˂ФЀׂŘǣ˺ϑ̺Iˌƛ࠴ıȲˣ̣ЕżΫɏԯʦڱ@Ჳ@ᶵ@့ॱGYΙ‧ྐ‧ྒࡓҟ"], + encodeOffsets: [ + [15208, 23412] + ] + } + }, { + type: "Feature", + id: "LKA", + properties: { + name: "Sri Lanka" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ųΙʇܵȓЍڜƫீϠ഼׆ұϺסО"], + encodeOffsets: [ + [83751, 7704] + ] + } + }, { + type: "Feature", + id: "LSO", + properties: { + name: "Lesotho" + }, + geometry: { + type: "Polygon", + coordinates: ["@@̆ʩʳУƛ˛ҳſƹˍ̛ċؿ٨҄ՐҖ͢ϼǠξʵ"], + encodeOffsets: [ + [29674, -29650] + ] + } + }, { + type: "Feature", + id: "LTU", + properties: { + name: "Lithuania" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ãɊĚɲχƄࢡƨDZ۸२ʴඬÁࠜĊŞǩ҂Ã߲СĀϓۏˏșӃ࣯̓NȫʶљĜ"], + encodeOffsets: [ + [23277, 55632] + ] + } + }, { + type: "Feature", + id: "LUX", + properties: { + name: "Luxembourg" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ǘȏ³ρʍiȉòĞҼɖ"], + encodeOffsets: [ + [6189, 51332] + ] + } + }, { + type: "Feature", + id: "LVA", + properties: { + name: "Latvia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@نЮՆߊ˼ڜعڪhNJ٤ܐƪςĻܢ̷ۚCКȕîС˒ӷ͕ࣗԛƙ߱ТҁÄŝǪࠛĉණÂ१ʳ"], + encodeOffsets: [ + [21562, 57376] + ] + } + }, { + type: "Feature", + id: "MAR", + properties: { + name: "Morocco" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ԒΥߜÎࢊȃκU͂՟ºԝ̄ࢱɜDZƷ͛ષƙϝ̵ӡñثঙ͍ͩсۍɥ࠻ŷഫاRহŷ@@@p҉Ա˓ȑϡ@̥Ŋ۹ě˛ٻʿÕЁୟ࣡ˣୋ΅ϗĵ̡ቅãaD ϶͒ɮ˞ѪÃ˶̀פҴՖ˲ƊɞӬp҂̤Բ̪֔Ւf\\ц͔ްĢڎָтɠۮۮȿਸ਼͊ܢŔѶդ֨ࡈϦخΐ֘࢈˄ԪؤI"], + encodeOffsets: [ + [-5318, 36614] + ] + } + }, { + type: "Feature", + id: "MDA", + properties: { + name: "Moldova" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ȨŮ֒ĊؤʽΊϞɥÑ˵̪ƏŨΗ̊ɇÏűƾčɝ×ӷ|ĉŜǫãÒƭɱˍƥ˽ɁĝƯϦĘΪςӝԂˉΠʹʠʯĈ"], + encodeOffsets: [ + [27259, 49379] + ] + } + }, { + type: "Feature", + id: "MDG", + properties: { + name: "Madagascar" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ɠΥȺ։Ɗঢ়ɒϽĉЗƩʙ˷ӰǁʝLjثõΥɵȗ¿܅ͧওбԯཧ͑ୟϛইہȣܻΡӛɊڙ̜ɳѺÇݘ̑ڠùƮϰƢD˪Дِø՚șЈǃՌãޠ̊ҺŔՒмҶǤ̶Ʋτ\\ӐӎۖԮʦцŗάΦĵҪfԐ˦ϔ̊ί"], + encodeOffsets: [ + [50733, -12769] + ] + } + }, { + type: "Feature", + id: "MEX", + properties: { + name: "Mexico" + }, + geometry: { + type: "Polygon", + coordinates: ["@@͙݅ƥÕąЧƤқʺЧǚٳ֎سȞӏ͢бࢾɝΐΙ݄ɾٚĎؼưՊƠՖȨӬè۸Ƣʖ֬ɚࢶȚݔԚîȬDZ ЙҋԁȥԝƸƥűγɁٽɅɎǭcǃY̝ԓƳIJķPŭޥVAAӁϛC̺˫̶șĢǹƌ½s˷ઃEЙۅŢƽĭȟqʕ्ࣞџ˘ۇɖҷÓګ́чĉץɜؿDŽϬؿŠ्ϸ۱ВɃɤҹºˈΓϦࣗӊсՌȧЦ˪ĈđʈȖɔJ̄˱Ϙùͮ˭ъ࠴ࡋڀУԼܝ΄ƷȴŸԲѓȞӹФȽהҍæӣѸϿФˀҍو̓٠^͔؇ͬ˫ӑɴƇͿƔЕĆف̀خׁƒȡŸÓŎ˽Ƭ\\ǜթʮɇǴ̕Նё˨ޯʠρɸϿ²ѷКͶϡ̨ϑqƭΝ̱ƫJɛԞջӎРїɈؚŵҖЏʺֿϒŏŇɃɖԭȰӷӦÖÚΊ³̸̼Ϝ٩ӱɶ̱Հ̷վϳڦͿݲॖÞ੪ĞÿǑСኀףဪPژ@DΌผ@̪̕јˇԀσ˨ѭȾҥѢʩۤʥՊڒۊhפͱфֹ̄ӯӸӏȂחɾЃپʹȁ͞|"], + encodeOffsets: [ + [-99471, 26491] + ] + } + }, { + type: "Feature", + id: "MKD", + properties: { + name: "Macedonia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ńOǤӺżȊ˺¶ϴbтˏÒ։DžƑƥҕh͋ǿջõΑȴšήń˸"], + encodeOffsets: [ + [21085, 42860] + ] + } + }, { + type: "Feature", + id: "MLI", + properties: { + name: "Mali" + }, + geometry: { + type: "Polygon", + coordinates: ["@@˰ƶƘӶˊpזɻӄǖ͖ÇŴȈ⁚^ȈךƣļЛ⋈Л⋆౾dᬼᆳᬼᆳȨϿԺʉ϶ƋVठĈFካҟ֗íԭݛƃï̳̗ա՟IȿLjҥšΑDžʿٳϕŗɍΙǡНŔɱȳūֻڙۡp˳ɭΣÆӥůȝŁŽάʍĥơhƷʕ٭PɷŴʼnùʱʎ¬ʢĿİdzĉ˚Ǥɐ΅ΚijɴȇȂǙvȫş˕őɱǹΫäɷɈƓɕőƅAµ̮ʾí̽͘ʀǓӔԺ"], + encodeOffsets: [ + [-12462, 14968] + ] + } + }, { + type: "Feature", + id: "MMR", + properties: { + name: "Myanmar" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ӫηץϥࣥΟƳО݅ՔؗΈօ̭ܵ̃ƹȪу֖ڙĪҷ_ϵ͠ދңСࡷăذʴ٠˯ӼæࣸͽѤ˛Ʊਗ਼εۢօуॕ׳ҽöԳȠ̂ਪǫڅॺļ̢ӭņۆÅڰ̊ŵjдȦęΤȐ˺࢈ڂȑϐۘ¨ЦҪ۶}Ӕજ׆ƱçԬ̎ƸÛ͈ӮÚˮӵξȧ|ٟۙߓۭijঽࢲƔȨޛՐǍʓۣز́ζƷ؞ʔ~յdẕӓȗ"], + encodeOffsets: [ + [101933, 20672] + ] + } + }, { + type: "Feature", + id: "MNE", + properties: { + name: "Montenegro" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÁǀηЯÊˋǫÞɽ˞εǖĢƜŬҦ˚ȜƾüɠƟŬśˠě͌ǧçïƽȋɧó"], + encodeOffsets: [ + [20277, 43521] + ] + } + }, { + type: "Feature", + id: "MNG", + properties: { + name: "Mongolia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ࢮƢ྄ܤ౬Єܴʳ࢚]֘Ͻ࠼ௐɁࠈגͿӶࢊࢊशނįনɍLjؿஜΛߐƺਫ਼ŌࡆōࠖЗԚѕެTƋޜȼૈƒ௸פԌĝѰ˭ৌêХهק࠽ɐ΅ӈńࠤŽ٦̴ڬˏހוğ̗ڏĦŏןʅ؝։͙࠷ѽࡹǞҿúѳէˎ͓ƌˣי˯҇গ̑ఽഫ̇এҋϋʾ৭AఓԜࠥŰૣśჃȊऑmӱԀϣޠԱĢ৩ԼଅŞুƞ̡θ͖চׅڲன̀۷Ѿəז"], + encodeOffsets: [ + [89858, 50481] + ] + } + }, { + type: "Feature", + id: "MOZ", + properties: { + name: "Mozambique" + }, + geometry: { + type: "Polygon", + coordinates: ["@@لæʁɖńגt̚ʦԌaऀ͜ڞӤƊϕ࠷ľ݅ಿƨЫʣ͙Եޏ͉ृСॉ͓ࣕƵוׯȗí׳ЌُǔӱZʣƪ¦{ࠗƋϷȤƝűΓΗ̗ۗ˳য়ҕρ̳ðΟɊÉíѵّRïϊůϖí̠ƬपɓװГஂࢬ॔ɜ؆ŶúĨӶƉʞغǐEѥ˒ЏÔǹȼϳǰ۫gÅ̼āװᢈۘӚЕɴüͨɅ¸͵ǯϷØסոԱʲζǰíઊΙ؈̣˖̅]ɽદɾٔ"], + encodeOffsets: [ + [35390, -11796] + ] + } + }, { + type: "Feature", + id: "MRT", + properties: { + name: "Mauritania" + }, + geometry: { + type: "Polygon", + coordinates: ["@@և־ԗؤ֍ɞГʚҵUЧǽйð˽ˏïҐɺаŀߊģࠨĵкČмɑЎѵδǾˬᾔMǃȴќ߀øᒸ᪂©FṖ౽cМ⋅М⋇ƤĻȇי⁙]ųȇ͕ÈӃǕוɼˉoƗӵ˯Ƶ"], + encodeOffsets: [ + [-12462, 14968] + ] + } + }, { + type: "Feature", + id: "MWI", + properties: { + name: "Malawi" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ɽٓɾથ̆^̤˕Κ؇îઉεǯʱշԲ×עǰϸ·ͶͧɆɳûәЖѵɔʮޮ˄̈LJۢǚڼƞɪɉ܌Ѕϐ࠘ƽǜɵ˶Ϲɾଡ"], + encodeOffsets: [ + [35390, -11796] + ] + } + }, { + type: "Feature", + id: "MYS", + properties: { + name: "Malaysia" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@àћֈĶ˞ΈȘýӸԓΜ֛¶֣ęϡĆ˿Öӻ̒ɵͤݑe˳Éߑخښįђӟ֚ś̡۠ҜĠؔȃΤƤƮۈρ"], + ["@@أ˹ܯƚॱ@̅ॗ͓̇љୟۅǵߑɾЕóөщ՛Òէǟַӆƕ֘˽ٮǀǜ܆άǂǺڔЬՐϦѥǮ˺В¸՜а٪אшڀͼHќыιֆɻ۬ʧÑ֝͡¥ƮЧ"] + ], + encodeOffsets: [ + [ + [103502, 6354] + ], + [ + [121466, 4586] + ] + ] + } + }, { + type: "Feature", + id: "NAM", + properties: { + name: "Namibia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@رٌؖ͡ȃࠊȷ،˯ಒmŅҞ͛ΌѡۜѳǽՆۃࠐ»٢КdžԊƞհ}ԄϝŶÐ₮ЕşیȒհµͨȍPéӁȍʭC՛͍ͣΎಕ̍س{ᲽࠣBយA᷋ݣѕҋÕՇDŽϗÔƗάͩɰГг"], + encodeOffsets: [ + [16738, -29262] + ] + } + }, { + type: "Feature", + id: "NCL", + properties: { + name: "New Caledonia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ېԵѨϭ͉ȫҥɪϚէѼ։פś˶β[Һ˹φ˷ˎɻ"], + encodeOffsets: [ + [169759, -21585] + ] + } + }, { + type: "Feature", + id: "NER", + properties: { + name: "Niger" + }, + geometry: { + type: "Polygon", + coordinates: ["@@nּॹȐОҿպœϤâТբ̴̘ପðݜƄîԮҠ֘Eኬஈϒᝪ᮪ཾ೨αӀңר̸ȸಯ̾ɓ`ˋΔ˽ǻί͕ၻ«ધੳߋγૉΔ̵CեբmčЃʁµˋƻm֩ंȟځҷٱʔҍ¸ʏşӯ~ӷΧѓq৯ѢЉȵѓb̿͆ࡅ̼ࣗıɕǻşӗʋÍݣٗӚ̟E˭ʗ"], + encodeOffsets: [ + [2207, 12227] + ] + } + }, { + type: "Feature", + id: "NGA", + properties: { + name: "Nigeria" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ࢍ̡͉¬͓ȉڥl҇Ղˡ؊שֆكYݍB¶തsǂՊʶʴТԴėɨǔȍӾ˪ÎݤʌͺŠӘɖǼࣘIJࡆ̻̀ͅєaЊȶৰѡєrӸΨӰ}ʐŠҎ·ٲʓڂҸȠ֪ँƼnͬͯğƱ«˧۽ٱɛՙšѧDZȉǝי҅ΉŽыȋÿΓֽ˱ҽΊ͇aԃӭʑQЍ߷ɍש"], + encodeOffsets: [ + [8705, 4887] + ] + } + }, { + type: "Feature", + id: "NIC", + properties: { + name: "Nicaragua" + }, + geometry: { + type: "Polygon", + coordinates: ["@@̃ˆϽͺȁ˲Ο˄сϜĤžƒŵÚÒʾŀȔŬRkЮȠrǬOǺɤʜǝĒľƺIJ̊ɴbǦĄQňȪĖ|ƜŹǚȆńɄB̈ŌŜŖ˾iïă§ȉĐ̫ȗ˹ěͷυ®ɏtϙŹĉýΫÌɛǣɋ ɩźƏȩDZʛÈƓǦˉêȕʼnօɞųŇ"], + encodeOffsets: [ + [-87769, 11355] + ] + } + }, { + type: "Feature", + id: "NLD", + properties: { + name: "Netherlands" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ۦyǀ˳Ƚޓɇ́ԍ@ƘࢡҥȞՏπީǩ؛âѠɲ݀ఆଲΘ"], + encodeOffsets: [ + [6220, 54795] + ] + } + }, { + type: "Feature", + id: "NOR", + properties: { + name: "Norway" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@᥆ؙઍɣऄՅෛ͵ڵûלઃͰಫ˵Ы؝ߟωࣗȮ¥णѼԉɝԷūփནƊɝҵ߭Hևױझಫ̨˹̇ͫbձ¾՞э˥ধֻۧυӛ֝Ԫဋঁ૫ȟє̛ࣚˇޞզᕠ۶ဌࢂ୦፺ྴඦلᘼᇎπ൪౮ۢ໖ພǘ"], + ["@@ም΅Ȝ׆ɐԕˎეǚͮ̿ொȍ"], + ["@@᪖صᑟͥұأ݅ǁЍۡৣᅵԢނ̘ఽʐ࿕܂ٷڄᘎ̜Ң̋\\͊˼̋"], + ["@@̏ఝҍı៙ƖƫɴஹdँϬᣴɼȫࡘʤᑺȽ"] + ], + encodeOffsets: [ + [ + [28842, 72894] + ], + [ + [25318, 79723] + ], + [ + [18690, 81615] + ], + [ + [26059, 82338] + ] + ] + } + }, { + type: "Feature", + id: "NPL", + properties: { + name: "Nepal" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÝαŌՕĩͩ۩aয়Ȟ٭ĂӛђଷŊયҼ߉Ю߿͆͜ՒϠΒȪڪʳࡔշҾť˰ЕٶǓۀσौȕঔć"], + encodeOffsets: [ + [90236, 28546] + ] + } + }, { + type: "Feature", + id: "NZL", + properties: { + name: "New Zealand" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@Ȓװ;ʐΡBΝ̹ϳչإїͷ̴З٭Yܗ̓ɣջӋࡗڇϓнʇޝlխˢࣱÐƗ̰Ҍذࠦժǀ͌ܜѰԎѦώظ͈ɆŰҶלϴȆΧ"], + ["@@،ࢫlָϜɯŲًڰ˛֨ãӒ͎юĭȯݗʯӫٛjɡʭþαūƻͅҏзֹ٭ͯƟɘΕŨӞ۔˟ҨࣛͲz̦؈̌ƚ٨լͻ֜vƪБΎڋݔΗת̸àҚұٺɑʂݡ"] + ], + encodeOffsets: [ + [ + [177173, -41901] + ], + [ + [178803, -37024] + ] + ] + } + }, { + type: "Feature", + id: "OMN", + properties: { + name: "Oman" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ֹ̻ϟªǩȧƉэļ֗ÿĻϯFԽ̻ćХȓǯԹP͡ɃJͻПɷҩĂ֗˳ϱ³˝טٿ൴ᠾ࠾֖၂ϩתvʔΐFΆϞǒƩŞèմіHϖֵҸ̧؞ŋӼƳϜӕɨ˧̞ŃCȉ̩ԃƅɽΟˏ"], + ["@@ʼnƳDž˺ʔ˺ľñā"] + ], + encodeOffsets: [ + [ + [60274, 21621] + ], + [ + [57745, 26518] + ] + ] + } + }, { + type: "Feature", + id: "PAK", + properties: { + name: "Pakistan" + }, + geometry: { + type: "Polygon", + coordinates: ["@@تϻʞ٥൨ͻ߹۷ऩůౣȲЫα̖݁̈֩ڴгܑӟ`׳ࠃࡇՃ࢝ࢡউÚऑࢡռϗĪ٧ҾэǘܝᇛD֓֕؛Ɇʣ٭٘ǁിeஃŝ̈́ঊொѢéϰГƌw݊ߥφͷԔеѶඨѕࡀŲԈŅǞȂגóદΔҶӈشCĠɼٞŌ̴ý͢ʀ±ԌΦԖɆͥ֊ߜɴ̢͒мΜĩмȣΤӬμࣘǮ८ĮѐƺӨĦ"], + encodeOffsets: [ + [76962, 38025] + ] + } + }, { + type: "Feature", + id: "PAN", + properties: { + name: "Panama" + }, + geometry: { + type: "Polygon", + coordinates: ["@@˫ʎǵҒȺɢɅÎƿˤлɸοÁǝ̇ͻɁǽĉǩВҗɯŅŧŭϷ©ơԈŋƛˡ¸ǝ·ÈɓİέCǻĩŶªǖìǠƲŲIJǩŲK͘ö̠̝iDZͲĀæɴȵЮÔΨɄԜǞ˺ʤҬ·ĉҶ ώơ˜ʧ̈́ɵĹūȜӵǁʟ˓ÒŅС"], + encodeOffsets: [ + [-79750, 7398] + ] + } + }, { + type: "Feature", + id: "PER", + properties: { + name: "Peru" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ɥљћɋࡅӘñΈရࡊທࣾ٫ΏۜƐʎ܅ાࠣ༄ߍီ΅Ϥ˃ؤٷպױͼ˖ϒПߢʼךڢՎIJΓʇȧx̭ΎâͼĝΚщӆΌDŽ֤ԦܶৠͨࣸࢠʾմŝٔɢĂ֒ЉˎЅϴɏӶࢣضĿҨɞ̤ƣԎð٠Ͻթࡣʤoрҁݳ œųۍlj॥ֱÓϻɉ̇ČғԕʍBΡɛƵΔݳҲԝDZίµ͆҃ݐuېӸÇ౧ϢĩӄƠܪടǷ˵£ןg܍͟пƮ̵ȕ˯β۹Ջ࣡"], + encodeOffsets: [ + [-71260, -18001] + ] + } + }, { + type: "Feature", + id: "PHL", + properties: { + name: "Philippines" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@Đ֏ºҽ˹ޑ̫ࡨϽэˎإʉϿӦɿ؊ʰЎՑЈˁΑЃثҵƑʖ͢۾ՌʀҜ̈́̔ϝٔɰƎϒרv·ٰڼЋêхÐ̱"], + ["@@̟ˡˁՍ˃ʝԫǦɤɂɾĢԸҨ¸Ɖ֣جߺāߡ"], + ["@@ૣߕЬט؈ԎѰ࠲Ʈۅևҧѳֿ"], + ["@@ԎʹBgΗϳΣՕʧϸÒєŽА"], + ["@@ʀभ٫ɞj˭ȶԯЍȋעʧªƁԘӶãY͈ԣٜ߮mɴ̻"], + ["@@ɟܩέоѓ٘ܚ̡̈"], + ["@@ԮʉʶɖüɇƍΑ˼ɛۥӷ˥ƁڳȊڝѾġϊIJਾүăҙ˜ȫēϯٻЮ̵Ѵɍ̯ԊރůлȆ¨ΎˀɊʣȘŇ̡бӚűμߨͺˡĔೄ˜ހԘA"] + ], + encodeOffsets: [ + [ + [129410, 8617] + ], + [ + [126959, 10526] + ], + [ + [121349, 9540] + ], + [ + [124809, 12178] + ], + [ + [128515, 12455] + ], + [ + [124445, 13384] + ], + [ + [124234, 18949] + ] + ] + } + }, { + type: "Feature", + id: "PNG", + properties: { + name: "Papua New Guinea" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ɽčε͔ρՔǷ٘ŜĆĜʡʬȏРՑЈ˵ŝɽ"], + ["@@ѯçƃɽҟȱћȟѽBۏʔӑɺêʺݬũҠàŶЖŦrĆѽӐÜʂ˼Ҹ̚ġӸԌfǜƏgү˯ԡ"], + ["@@ݤտղࢻӖω٬ƛʥǁࣀΝġʏÏȷɔܟĦࡕŴٷ՚ӉҦѧ݀ભπ܇ʇԡˣńإڇ˿һƖࢅaᩒaᩒภ׃༊ӓׄїҴхŸӵඔԱȲѽޛěȄ֕"], + ["@@ʿɡǁӸȝ͘ϝ˞ӍΪ؇ʚɺȮҒɻ˸ȁΜȫʹΛ͊ˏĶѧ"] + ], + encodeOffsets: [ + [ + [159622, -6983] + ], + [ + [155631, -5609] + ], + [ + [150725, -7565] + ], + [ + [156816, -4607] + ] + ] + } + }, { + type: "Feature", + id: "POL", + properties: { + name: "Poland" + }, + geometry: { + type: "Polygon", + coordinates: ["@@·՜à̂ȹ̧҆̚ɺɤȝђָʘ಼ϴ˴࠼ƙÚȱ߸Yਚħ^њěȬʵωɸ͋KͯԋǡʸϳfϏцܻěɽзįރۥɒϗǿ¶ߙ͔šЇĒӹǵч̖Ήŕ³¼ϭаر¼ăˀֻĦűɑҗǨÀɴػòЉ˔"], + encodeOffsets: [ + [15378, 52334] + ] + } + }, { + type: "Feature", + id: "PRI", + properties: { + name: "Puerto Rico" + }, + geometry: { + type: "Polygon", + coordinates: ["@@јõưǕɋɃمLӫ·άŢŬیK"], + encodeOffsets: [ + [-67873, 18960] + ] + } + }, { + type: "Feature", + id: "PRK", + properties: { + name: "North Korea" + }, + geometry: { + type: "Polygon", + coordinates: ["@@Şƥ͉ºη˵ʣ˷ѣȅƫƧ̓ʝ֓ƏηɥηįġͰƋӈσŧȭΧÇץ¡͝ϛϑÁùСdžĵƿʙéǀɑüɥƆɰφȤİõƶɆҒÅƎөĠЇɤۄբऒҌ־ЎˁܪſѺಚβͰҼժӹ"], + encodeOffsets: [ + [133776, 43413] + ] + } + }, { + type: "Feature", + id: "PRT", + properties: { + name: "Portugal" + }, + geometry: { + type: "Polygon", + coordinates: ["@@̦Ɉ΄ŬɂЫӺDƞłӪɼуϱɩYٽƍūЇγçʹԋɵտ̄ʡřɫ̵̿ê˥ͷɓѷŠџġŸڂÿԬϓþȩ͈äռͰ̨ÒͼǪԎkΤǙ̠˲"], + encodeOffsets: [ + [-9251, 42886] + ] + } + }, { + type: "Feature", + id: "PRY", + properties: { + name: "Paraguay" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ͦtҌЖาʔޮ]їbʵʞҳÇଛࢲLJ΄ǐ֦ɩǀʣþޓİ͓̼̀ƌ̢ƳAҥŕӻǑӛƍݏށ١ړƇऻŸࡑɮࠢ౨ťψࡽ͢ਅبۉŸൌ"], + encodeOffsets: [ + [-64189, -22783] + ] + } + }, { + type: "Feature", + id: "QAT", + properties: { + name: "Qatar" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ÇؔɨѲɰĜʬˁdӯǽӳɵÑʫǖ"], + encodeOffsets: [ + [52030, 25349] + ] + } + }, { + type: "Feature", + id: "ROU", + properties: { + name: "Romania" + }, + geometry: { + type: "Polygon", + coordinates: ["@@δǶԴġՠGϸȳ˺źبĄɄȠΠ@ʰćʺʟˊΟӞԁρėΩưϥϒƹЂƊϠƟpɏПǹʯĀɻӳĖ̪ؑফțзɋ¬٥ƀ͙ÕʍΊƵƦȚƘȷŀ˃ȋөʔßΌԟȢĥˌҕͤڪǂԖ֮Њ֬ԢǮ"], + encodeOffsets: [ + [23256, 49032] + ] + } + }, { + type: "Feature", + id: "RUS", + properties: { + name: "Russia" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ࡌకˤԫ்ࠌࡳyוُԒսٱƻ۸ĤࠊħȚٌӯࠜôରަϮͭϴϐŠɔ։̆ߵuࠟΎࡑ"], + ["@@]ਙĨȒτ˚ࢢƧψƃęɱäɉ"], + ["@@֦Ƚțؐᗸű࠭λ൛ēsࠑͳǩ~ٗ̊ૣʖȉθƎॗʼnҗ̎Ǽ̸ȥϚЃӉΣ@„Ꮪٛᔺ࠳ïԷ"], + ["@@ः©ƭˌੲΖ@ַ"], + ["@@ળ»@ָň܈Eʉïŗࡽȩ"], + ["@@ౡMႣĤƧ¬ߘͪੀþஞ͏ĸə"], + ["@@ॿͩഉø༛ͨȪ˖༨ųᑔɗ"], + ["@@ډرᶽzඃȣမղҎ׀ǂᕞᴬѽ"], + ["@@ӹóᩣŊɟώູɦūҒǶ Ҟသܒޙĺ፨݆ɩϢሤѺ᪪բǀ෴̸࿐Ŋאͩ֟ʻᲗзЏᤙߝఫࠍ߱Ǡۥྎۏ"], + ["@@ɨгސȲឤYቈЧڬ̿ȽѧङʝᕅүفʟਬşఖɃݴDŽєաτɔഊƂ᧪ƑȴϽ↲ů´ٜᄼƥഄLബѷϮ՝ӹΙੌڋͿ߸ࢦഖϙɦྼʵؤʀൖşޮૐζ䢀ձܐӿᔲٛ₎DŽာƑ۪ĹؙਜʇǤvཚǑཪĢะݛਪˎڷ՞ϐώᧆɻფºᝂБ୲ν@”MKઇσઝÖݶҁԄەϲɧĮΏɑɝ༧Ǿمݛĭ౽ןԧ̱ϣயᔗڇϣ̸ߵΫ૱Ř˓ց߽ͻड़ȋőޭΫ۱Δαѕ̅ॡభȳʥேׂ̳έ௬ҵለИ܀ԆªϾರȊຊคࡺຢڢڮஆ৷ëԍۗᒉइۍਖᓧ˷ᑃටۚԧሙɕಝēÔ؊ಯŶЭᢵƠʟᨩủጝŁаՃࠄȅ՞оईÃௌऍ܍ځ࠽ë্ϛഉ్˯ׇଙଇॻթӹ૩ӱՉYՇФૻؙſ˩ŝƦKѐіxŦɛܚܞ̒৶Ʃ֢ࠈ˾ऄ͚̮Ѵݲ൷ʛܯͧ౧Dͻ߄হװหˎ̵ࠖ̉Ԫ̿βԯࡐ̲݇షʢuਯƱۛлҤȥXҩұˑݷࢻRσஅՍ̈́োéѯˮԋĞ௷ףેƑޛȻੑƌޫSԙіࠕИࡅŎŋߏƹΜLJـধɎށİवΎࢉࢉӵࠇבɂ࠻֗Ͼ࢙^ܳʴ౫Ѓྃܣࢭơ͡çѽԤઍőΧΦחnjЙӠҩưிɍୃӜ҃ѯሟᒒੵٮ̮˂ᑋߍ߭³êҞઅ˺࢙ȱ˃ࢊມǺݯΑᑅ̳Чȹḭ̇ϫ˻؆ֹ߭ɓǀɭ߭ХസֿɁЉʓʟѦ೯iࢻΟহͼᇡಽsჃࣳĿؗࡹӤڡउʖǡӝُ܊֫ذx՚֗ďѝѐƋϥӽ߿Ƒ࠳ࢁކߕĉ֣ࣼফԇƝɇωÌֿԚɿՅȚʳΈǮԙƁƥƼଥЖఅƌ܃ƞĹıੱ܂य़̈́ܩӴؒƈۤ۰ҹͪఌ΄uȀݯƉώѠɼÖƄ˪ȅҪѰWʚఉ˚ӭUԯЀ١ƃ੩̐lǒ̗θڟ¤éʼɀǞ՝ӈࢋąʭ¦Ƀȑ̽ȷ՞ȟ˨NJĀڴ͞Ȁʍɢ֥ƪ¼ƲƴՃվǸɨĉЂࠑȨѱijšȼࢭɂˑӸíТЙȖάˊʝװӞųƤक़ҬࢡЎᅢ੶ޮӠ͂єగּΆնݳش֢ܜग़ޢي౿֔ŬךڶüොͶࢀ̈൦ԕᘨȧṺो٤ЋÆ֓टѳ൏ɡ⏷ٔ؟Ńൌ؛ÂϵÆઌʯڂɓňРԑΰ͈᎖Թ۾Ȳ֣ዦࠖޢµ̋Ӫ׀۫ԄЪԊءԶᚠˑӔҹĻNҳڌ˽ಜǼȶ՚ჶАᰪܞي£ࠣԙਬĕ˼༾xఢΐफ़ԏॖࢡӢѪˤ២ʫʿᴾॣ֚ѰࡡѺ{ǴৣĈˢЌ҅ټ}ː༄ݾրކزǒᕮɛǬұߕڽԺˋ˒חȏଵऒԧέ֕०ŭ̢ͮऎɎɞжܮЎөӌϼֈࣿêȫҲڢࡈણۆຒ֦șװмnѴүͧ߷࣐Ƶϥඤͦლ¬༈ӏݛ۪ċࣆศǞᆘŌہѮংւॲx࿎иᕠŐ˪ɲᕂþیȋሴҀaɶδߤΨጤΈ˗ଥȷበŹ"], + ["@@ⵙ͕ໞીےĦقÃᒈӋʟͿ"], + ["@@૽ōݱÛśƏঙƑ࣫ȦӐʾል~ƶ౨XǢɧӘȬߊƐఞǿ͗ŷ"], + ["@@ᆳĿᚉʎඅ͎٣ǔᔆָᆎȎ࿌чኬȹݯ"] + ], + encodeOffsets: [ + [ + [147096, 51966] + ], + [ + [23277, 55632] + ], + [ + [-179214, 68183] + ], + [ + [184320, 72533] + ], + [ + [-182982, 72595] + ], + [ + [147051, 74970] + ], + [ + [154350, 76887] + ], + [ + [148569, 77377] + ], + [ + [58917, 72418] + ], + [ + [109538, 78822] + ], + [ + [107598, 80187] + ], + [ + [52364, 82481] + ], + [ + [102339, 80775] + ] + ] + } + }, { + type: "Feature", + id: "RWA", + properties: { + name: "Rwanda" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ͬӃµӵʏŁѿÆʱӍԛàþҠŘÞԄʎɺȰďԈʸ"], + encodeOffsets: [ + [31150, -1161] + ] + } + }, { + type: "Feature", + id: "ESH", + properties: { + name: "Western Sahara" + }, + geometry: { + type: "Polygon", + coordinates: ["@@oҊŸ@@ÉeNjEౝ᪁ªᒷ÷ȳћDŽ்ᾓNǽ˫bCቆäĶ̢ΆϘˤୌୠЂˀÖ˜ټۺĜ̦ʼnϢ@˔ȒԲ"], + encodeOffsets: [ + [-9005, 27772] + ] + } + }, { + type: "Feature", + id: "SAU", + properties: { + name: "Saudi Arabia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ʼnΪʩʨÝͲѡ̞҃۴ʁۆׇ׀ϑƐߠīאӾӕञϿ͠ґǨˡӖ°ȎɹѦʕȊ͝زԟڴѓ־лIžҦ̌ļͲनƅζʶȪ̢ٚŚƒˮˤƜ࠷ࡀ၆фdžŴৢɩబיᛎၕ༠ãݠąȾЏתv͠ܥаȓƠִ̏Λ¼ċ˩ł˯ʎɽŐ˟ŲȵʬǕɶÒdž͍ș࡙͐ᡌщǞDzϪש֕၁ᠽ࠽ᝑ͑ϙࢥϹƕɁˬ͏§ĎƷČॹmɫùΉɔɝЭĒΟρˋ"], + encodeOffsets: [ + [43807, 16741] + ] + } + }, { + type: "Feature", + id: "SDN", + properties: { + name: "Sudan" + }, + geometry: { + type: "Polygon", + coordinates: ["@@śhdмĵ̀џͨĵĶبϳÌÍȇԍ©Ȭʕðԍңңлџđ۹Ӫͅǥđʓџǃ ǥ࠵@řǦ̡ƝɳîѝӬƟɲŗɱϵɏݣ˿ǁʳğå ̅ʎÃʼƌΔE΄ӛՀĩάZȰ̱ʜUӦǭ͖̍µĎ̰ɒΖħΐˢʴǫȞɞϨئܦÏ¥ ZΚॲH@း@Ὂ@ῼ@˔ࠗȁƳŪࡻ্̰͌ȷҠ̳ыӑأƏ˅ʳĉ֑αĚͳƅܟͿࠟԓзέٛčЉɽʝ࢟Dij"], + encodeOffsets: [ + [34779, 9692] + ] + } + }, { + type: "Feature", + id: "SDS", + properties: { + name: "South Sudan" + }, + geometry: { + type: "Polygon", + coordinates: ["@@Xٽűʯѿq˷ӏԨÑюХƨͳϦșӼࣳ֫օԫԇԫϭסFگȟՕȊɭ݉ȥάҵDZϱÆɣƕϗĸԗۚƉˊعͪɅԌΕζ֟ѬS˘ҡͼ֯͠ʴĠ̀ǂɐݤɲ϶ŘƠɱўӫɴí̢ƞ Śǥ࠶@ǦѠDŽĒʔ͆ǦۺөѠĒм؆ҤҤïԎȫʖԎªÎȈϴËĵاĶѠͧĶ˿cлŜg"], + encodeOffsets: [ + [34779, 9692] + ] + } + }, { + type: "Feature", + id: "SEN", + properties: { + name: "Senegal" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ٺн̚φDŽРמȦќ˾ːкïШǾҶVДʙ֎ɝԘأֈֽԹǔӓ̾ɿî͗ʽŧ³қâÙģȃkȲЛV༇ɥħ˥ѻƋƏ٢ވkȬŞƮR̸ȘήǯκcζȌǝʐˡƙʻJͧȸˉ_ȍȥࣵy"], + encodeOffsets: [ + [-17114, 13922] + ] + } + }, { + type: "Feature", + id: "SLB", + properties: { + name: "Solomon Islands" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ɾ˿חN͉ԬԈȯǜ"], + ["@@͝mԧĎǫżÀͮֈƁ˜ǭƎə"], + ["@@ųƹحܰǫԈ˺@̠ڥʹЗ"], + ["@@ǛڅΦҟ̠̿˪ŰĐϮȫېϭȢˉ"], + ["@@Ǘ³οȒ·Ί¨ƖԈΡͰ˛"] + ], + encodeOffsets: [ + [ + [166010, -10734] + ], + [ + [164713, -10109] + ], + [ + [165561, -9830] + ], + [ + [163713, -8537] + ], + [ + [161320, -7524] + ] + ] + } + }, { + type: "Feature", + id: "SLE", + properties: { + name: "Sierra Leone" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ɧØͺѩ҈Ƨ̬Ĺت҆τĬɺƞǸɶpȜǂڦCɺ̛ǼΛʓƈɗṶɴ´ϹϹϛҗ«ʓȩˏ"], + encodeOffsets: [ + [-11713, 6949] + ] + } + }, { + type: "Feature", + id: "SLV", + properties: { + name: "El Salvador" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ġȡӡ^̡ĄǘұÀʃǶ~Ů˾ɄǀĢ«IJȠ¾ʜëǸǙʪƇœτĴǤÑŘĝÏͳ"], + encodeOffsets: [ + [-89900, 13706] + ] + } + }, { + type: "Feature", + id: "-99", + properties: { + name: "Somaliland" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ϛԩד۫۹Mᩧা͍̜̳К̳ҨǾ̖̲҈˚ƹǒΏϜΗкGߊɌࣴĴʼиÆ̚ƶӎKaEAࡑ@ѫ"], + encodeOffsets: [ + [50113, 9679] + ] + } + }, { + type: "Feature", + id: "SOM", + properties: { + name: "Somalia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ѼĎЊ˾͈FpɵýӧHѳǯ̣ʁࣥЙयԱܝ௷ܓवধࡁڹషٕँৱȗѷȍȣӽۚWᵤܾ॒ɰˆբfݠפબᛜᡄה۬ϜԪ@ѬBࡒFΌLbːhϰŰ"], + encodeOffsets: [ + [50923, 11857] + ] + } + }, { + type: "Feature", + id: "SRB", + properties: { + name: "Republic of Serbia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ԠȡàӪʓ˄ȌȸĿșƗƶƥȷȏø̫Тγ͋ʿƗˋĞijƑšϳa˹µØĴĴĦȴšKǍƼƑ ŋƆƽÀšŠƯ±ś˧ȩÑèð͋Ǩ˟ĜūŜɟƠȢŬЄЛ͔ɀτ̥Ë͔́ˉʈȱ͘٢ɚԾҖͣĦˋ"], + encodeOffsets: [ + [21376, 46507] + ] + } + }, { + type: "Feature", + id: "SUR", + properties: { + name: "Suriname" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ǙĞưڶÔࣚɥѩܟâֹͤӽƥίóϩɉΛӓDzЇđöčʏƘǗ÷ǡҙèԡܴōӄˏBωؐƺѠ¯ȤԜɖƈݲ"], + encodeOffsets: [ + [-58518, 6117] + ] + } + }, { + type: "Feature", + id: "SVK", + properties: { + name: "Slovakia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@´»ΊŖш̕ӺǶЈđŢߚ͓ɷɓǏdzđ࣑ʮ˟»ȟȡЁĿěÄХŽͭ}ãǙ۷Ļ̱ĠёɌċ̆äńŢȂόa˺ĔxþLj¢ÆȒȖžưʢD"], + encodeOffsets: [ + [19306, 50685] + ] + } + }, { + type: "Feature", + id: "SVN", + properties: { + name: "Slovenia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ۜÝъȐܾtLjƘƘUǎ˳ڝɟć̇đHɻͣh˷ƎƷƙבȈúȫΨĞа"], + encodeOffsets: [ + [14138, 47626] + ] + } + }, { + type: "Feature", + id: "SWE", + properties: { + name: "Sweden" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ࠁוƀԥڭྱܡؓஃײףߦүޗॅȝ͍තӋ৳ĆӅڗঃˉߐ۳॔ٓஐφӜּۨ˦ন՝ю½ૠղ߀࠰ä̧ͬ˺ಬஂࡀञֈײ߮GɞҶཔƉŬքԸ૪Щ಼ֱv˴͛ฃʃ"], + encodeOffsets: [ + [22716, 67302] + ] + } + }, { + type: "Feature", + id: "SWZ", + properties: { + name: "Swaziland" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ǡύӭěԅҖS̄ɰ̀ĂʔʐÒшƵŰϕðω"], + encodeOffsets: [ + [32842, -27375] + ] + } + }, { + type: "Feature", + id: "SYR", + properties: { + name: "Syria" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ࣅऩͬgNŖŶ_ΈȸҠҜ̈́Əͤϗ¨ÿٞȶΌɤȀɤȀ°Ҹ˞Ǐऎɺ҂ƿۖFॴ̀Ґaक़žїԽҡȹĂؗͅ৫ᇵ"], + encodeOffsets: [ + [39724, 34180] + ] + } + }, { + type: "Feature", + id: "TCD", + properties: { + name: "Chad" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ĎЄաnDզΓ̶δੴߌ¬ન͖ၼǼΰΓ˾_ˌ̽ɔȷರࡔҠ…ྑ…ྏ¦ ܥÐϧإɝԯǬȝˡʳĨΏɑΕč̯̎¶Ǯ͕Vӥ̲ʛYȯՏƛэͽ؉ࣹ߅ϳ߹¾ʁûĊ̏ѫ̋Σ͟͏ȽȐƓhƹɍۛÙƀɪ˅ׄşΐλƜӷӪǼІϦċʂÐҸSқކÉͭՠ"], + encodeOffsets: [ + [14844, 13169] + ] + } + }, { + type: "Feature", + id: "TGO", + properties: { + name: "Togo" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ڱdzȇ̎ɡՔãкȆݴɁ̬ăڎD؎ΕѠÖˀ݂kŅѵʲʝ̈̋ЭǜǥኝȺׅ"], + encodeOffsets: [ + [1911, 6290] + ] + } + }, { + type: "Feature", + id: "THA", + properties: { + name: "Thailand" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ݭϬܗeŬڈ݉Káऋґ௯˙ݏÌ؋նދưܭҶӓԚĭѤѧ˝·ևĵßќۇςƣƭͧ͒ƝжҁӄПЌƏӳǃҲĠԾʚ߬ТࡸҤ͟ތ`϶ĩҸ֕ښȩф̄ƺ̮ܶ·ֆՓؘН݆ΠƴϦࣦצӬθӔȘθʷ´ԍ֨ȷࢭpݫࢰԆʤƧӰzǜَ̊ÍٖڽÀࠥںܷ܅˙ϛŦગDž՟ۧȤ১"], + encodeOffsets: [ + [105047, 12480] + ] + } + }, { + type: "Feature", + id: "TJK", + properties: { + name: "Tajikistan" + }, + geometry: { + type: "Polygon", + coordinates: ["@@̭ʷࣳƖāӛ࣬Þਢ˗འŶɈާˠĐԜȓ͛ŴӍࡿBׁØԻϕύĉ̉ǯͩˠþ۸ʩ¢ĞʲғȐα̇ėŻūԇj˕ϩ˯nj؋ˑʱĺӀࡘǹض؟ȨɔφۮЌҬˌբȜǩϵŤɹΎv"], + encodeOffsets: [ + [72719, 41211] + ] + } + }, { + type: "Feature", + id: "TKM", + properties: { + name: "Turkmenistan" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ñۼطॣݔڣĠगюׯþσƽ֙|ׯӓ݇NjƻרŪ࢞ٽ˶Ɏֺ֏¸Ȇ۾ߊȵ݈ˎؓԎʉӔڱɋď؛ʿհψ˨ॖǪ֨ɻךڅњ¤ॆ\\Əцܖ̂۾ӦଆѹĜڡ͐ǣࣦˮƳаࡽ०ׇոЃ࢞ЩΫwԥʩЅɤſ̙۽NjǙڥӁʭڏŵǫϟهŏࡩ͈"], + encodeOffsets: [ + [62680, 36506] + ] + } + }, { + type: "Feature", + id: "TLS", + properties: { + name: "East Timor" + }, + geometry: { + type: "Polygon", + coordinates: ["@@IJȤܢȌזˀŀ͆Ľ̯ɫο۳ʋeʬďǔ"], + encodeOffsets: [ + [127968, -9106] + ] + } + }, { + type: "Feature", + id: "TTO", + properties: { + name: "Trinidad and Tobago" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ӚŊǮصۭġƯúʒɲiͪ"], + encodeOffsets: [ + [-63160, 11019] + ] + } + }, { + type: "Feature", + id: "TUN", + properties: { + name: "Tunisia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ΩພԭͺQȰۉԄóنԮҶȢۚƃߠǠќࣶͺךĵ}ы܊̲ÒljпЫMϱ̆ȽōܫփхDŽқѤaɄЍ͊ſ³٥Хʋʵˏֽ͓ĘΑïΟЧț"], + encodeOffsets: [ + [9710, 31035] + ] + } + }, { + type: "Feature", + id: "TUR", + properties: { + name: "Turkey" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@͗ঐżܤõলѬࣆ¢ߴЭƜ̑ăУزȻͨʕֻʇˀ५ǏʻҠڧЕƙ̏ɊňίŽॗŽҏbॳ̿ەEҁǀऍɹ˝ǐ¯ҷɣǿɣǿ̱Ϡ͈͂ԟí۱ȖֿәౣĥڹҊࣟȗΑׇij҄ࣻeӽ࠶ؗҰЦٸՓВठߨಒΜྀٔŏհʄർlุף"], + ["@@۫ҏ˃Ϻ\\ǦȦĦʺՂХɞࡦ˄ܤőĴ͓ܼ˓Ƶȵি±Ωʷ"] + ], + encodeOffsets: [ + [ + [37800, 42328] + ], + [ + [27845, 41668] + ] + ] + } + }, { + type: "Feature", + id: "TZA", + properties: { + name: "United Republic of Tanzania" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ƚġᵂႋÌӣϱਙ¸Ӊՠ̩~ɓɳԓ¶ʭÇГ̌Ճΐ̰ࠡǿڝӣࣿ͛ԋb̙ʥבsɕŃঢ়ʂكåɽଢ˵ϺǛɶࠗƾӉʨՕƘͯƘΗɈґӣҺǗӤČѨƯޞΎ ̨̦͜ѬȺǮS˘ǷȐ·ͨʐł¶Ӷͫӄ̎Ķऄ[ႎà"], + encodeOffsets: [ + [34718, -972] + ] + } + }, { + type: "Feature", + id: "UGA", + properties: { + name: "Uganda" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ः\\̍ĵԇʷȯĐPوȜ͎²ڬǰϸ͎Ѭ͔ɠ˒̘͵Ŗ¼চΌɮՖȉڰȠעEԬϮЊİсτ९̧ؓЯʉͽTࢹႍß"], + encodeOffsets: [ + [32631, -1052] + ] + } + }, { + type: "Feature", + id: "UKR", + properties: { + name: "Ukraine" + }, + geometry: { + type: "Polygon", + coordinates: ["@@̾ɄȒʮ¥ࢌĆ՞Ӈȿǝêʻڠ£̘ηkǑ੪̏٢ƄϿӮVఊ˙XʙͿѯȆҩƃ˩Õџɻύڡã֑˕«ܣ̻¸ԹЪȭࡨ¼Ǐ̛ँơଛӟұǠȄЂࣽʘƨLjߪ˪ʑȔಯɆË̼ީĻ̷ҧٱةϟƠЁƉϑƺɂĞƦ˾ɲˎÑƮǬäĊśӸ{ɞØƽĎÐŲ̉ɈŧΘ̩ƐÒ˶ϝɦΉأʾ֑ĉȧŭΟ@Ƀȟاă˹ŹϷȴ՟HԳĢγǵÍɤұɮǐͺɸɔȀµɑϘބۦиİĜɾхܼДҢɪٲnࡖßबȫڎi͂ŧ̀Ʀɚȝݸ¢ͮąÄцʶȂܞº"], + encodeOffsets: [ + [32549, 53353] + ] + } + }, { + type: "Feature", + id: "URY", + properties: { + name: "Uruguay" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ղĚࡆٯ̺|ࡺ՟ڈҫӠֱχЉɸӇεՇॉұاǚғěޥΰ֫ԟҬÞլǾȈS࠸ɤࡺȾڦ"], + encodeOffsets: [ + [-59008, -30941] + ] + } + }, { + type: "Feature", + id: "USA", + properties: { + name: "United States of America" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ũƕȽŤ|ɾƓ̨¦ĤƤƎÍǔ¸þÜe͐ƙƬñƌőɊ̍q¯͟ǵˏſ"], + ["@@˭ÑƟǮīèQÀĈî̘āɘŹëĵ"], + ["@@ĝ҉|Úĸа"], + ["@@µÓŻŃȒɤŚêÃʐ˥"], + ["@@ıĉ˱ƴªÖŸĈȘijȝ"], + ["@@Ƭңʼƛז½ƅࠂʹڼŊਖɓ˞Tݨʄ߂̧ࠒ͗ں˩ٶˏĈəȢĉ½ĉɦǎĔ¦ȣǜƅɴ@ŬĹĽƫЁǶށǚܳʗӹЁҥȁ̍mēĦť˸Ɓɂ@ঊ҆ࡾƀસмfĐ÷ʰƉǒϜƆࠜHޘAˎ͞ŀàࢶϜƸ౦NBĎȺː¦Φž̖Ϣʲٺٚي˨ə֜ƜώʏAଧռӅƢ˝࣋Пࡷ̃ࢱʝѻӿƛȋSѽˤѽΒsė̬ʦȇãʇ֥ƋЗhةƥλ¥ӥ¥۫ʏఀǂʠǃ୳ʥC|ĺʭɷʚǹؑ٧×Ɏȁª˟ɀǪҍȼƭ^ͅˏ͛ҿڡûʺֲѕ͎įۦljεǴՑևƀׂ˓ߛʊÍĖ̃ŠࡁՕدࢇʝցӱнÁэ̱ţ˭इձӁЍЅӽŻׯƪˬܗώשLεЊঅ֥͛ȿԡʣŃЯĺƁς͋ȖѻܢϹٞű͢ǤɽҦٻ۲͟źࡑϡƭ¦СϼՃȺोŁݗĤٙÍΏſƲɟaͽǴǓLJō̵Ů́ǃ؍طѺܻĿ؏ȚԹÏۻȝއح࠳γҝБȕϗUׅ¨ЕDŽ˹͝{ȂٽʺɽЄȁטӷӐ̃ӰуֺףͲۉgՉڑۣʦѡʪȽҦ˧Ѯӿτїˈ̩̖ป@Cڗ@ဩOቿפТĀǒ੩ĝॕÝƙіխӚϻĴğʌһ¦̝ɪޭĊɉƌĹҢࠁࡊ۩ୠȚχˤٯ۴řۆ҃ҞȀۢ ܜˍ٢͠ߊĸނĺނƱૼˇܘʓ϶ĸǐ˷҂ߋȺɜƇې˷ێᛸ@᠂@ࠜ@ᢢ@៚@ᡀ@ᡄ@᭰@ᮞBაAF͔˴J"], + ["@@࠽͋ѕɐŽЀބ̘҆ŸÉΤʻܫЍ"], + ["@@ԧŽսƾԛɮࠦƞښùĂ͑"], + ["@@DžԾĒڸɛ࠲őéĝُDZٕǾ͋Ʋݍµȧôº̈́"], + ["@@؊ϛώnjහ»¹ȕ౾ƛࡨČᄚ˅ྤā٨ʼn૦Ǝౢʧࣲŝ@@MᷱIⷍࠠ{ࠌɵהρݜցࠈҺࡈ˖Ҁѡ֤·ޒϙՂय़ේxՋұЙҥ͂ݍˌʃܺએںҍߎ߯ÄrটʌࢎߩDŽ̜íϬৃΨटǯǦҫÁঁǫ݉˱झdzťӶϚࠚࣀʶɱɂੱҵֵ֑ױؚСߏࣗΗࡁʱȻωಽѡ˅ϿছΫֽÞɻ˹ۧ˫ʉſƘऀϾࠔʸࣆҠਬĨвΈԊȈǚب̒ƢْђӸॹʫ˓Ơҕ̧շюɧ̝̽мͳԩBïԄƲ̮ե̚થLJ܁ЀַȬIӈ٩Ϊ͘ӘۆҸ̚њںÖ־ƇڴМ؎ï٘ʼƻϨҹưج͖ԩWࢻǽʯȃڏȄஏĥ௷ȬΛӦΘመШ۔@ŕнᄢڽԶਕ͌ױр߫ΨଽˈҺѲਗ਼ϦȨФЎࠊĪཪώޜÉಐ҄ౚǭ"] + ], + encodeOffsets: [ + [ + [-159275, 19542] + ], + [ + [-159825, 21140] + ], + [ + [-160520, 21686] + ], + [ + [-161436, 21834] + ], + [ + [-163169, 22510] + ], + [ + [-97093, 50575] + ], + [ + [-156678, 58487] + ], + [ + [-169553, 61348] + ], + [ + [-175853, 65314] + ], + [ + [-158789, 72856] + ] + ] + } + }, { + type: "Feature", + id: "UZB", + properties: { + name: "Uzbekistan" + }, + geometry: { + type: "Polygon", + coordinates: ["@@xԦૣά࢝ЪշЄ॥Яࡾ˭ƴࣥ͏ǤěڢଅѺ۽ӥܕ́Ɛхॅ[ᶾᓘӺƾïದیͅߤݵঢŪàؗÙࡅЦMǢۍ੬ɲЉ̺LπהӖƺʠĉ۵խئ́ײȾ়ѷٕĊuţɺǪ϶૱țˋաЋҫۭ ɓυؠȧǺصҿࡗهǰҳN"], + encodeOffsets: [ + [68116, 38260] + ] + } + }, { + type: "Feature", + id: "VEN", + properties: { + name: "Venezuela" + }, + geometry: { + type: "Polygon", + coordinates: ["@@yȣӱĭ˜ϡYѭυӥ͆ڙδÆȌ؈ʻ̒§َਸ਼řІ̎ˆ̞ןל_մҵ˧ݮQ࣌ĔӖϕٞĻҼʾXɄਨ¼\\܉ʛ˼Їڦ×ِЯƆڧѬn͢ȣڕӱó̫˾̷ȽƽԫƉjϱɫɱّ֪Őʁ̭͍ऱ̽Žʏȣڛɀثņƿýϔɑ֝ŜՉ܆ï°ǭʅĭΣΉƏسȝNjʱٷÅҧѼʯ࠺ɟ̧̌Ȅюм ȊʅʠǛ֒àȈ˰ƲҎ̓Ơӏĩ®ͻęסܢӥńઉăȧ̊ȷêǬĴ̶áͺȃȂŅϮѡÈɸӮĺʔ̸͘ʌɈрդƖ"], + encodeOffsets: [ + [-73043, 12059] + ] + } + }, { + type: "Feature", + id: "VNM", + properties: { + name: "Vietnam" + }, + geometry: { + type: "Polygon", + coordinates: ["@@૭ܗ۫ߍȁ٠ࢭળނԱԞګϪ།ŕ๓۫փ१եۇ۫ޱ̧ՠʀ֬دӌܬࢦÔσԚප٨ļț֖ƶࡀɃצٍאՋۥԊʊ̠՞ɘ͙ܺਙPϕކӭڐҊȴڢIࠈĬܒ҄К̿ސƵƃӛАͿࡎɓ"], + encodeOffsets: [ + [110644, 22070] + ] + } + }, { + type: "Feature", + id: "VUT", + properties: { + name: "Vanuatu" + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ˣō˭ςɤՆӗ"], + ["@@ƌڱɥŀǩťɴi٢Дʵ"] + ], + encodeOffsets: [ + [ + [171874, -16861] + ], + [ + [171119, -15292] + ] + ] + } + }, { + type: "Feature", + id: "PSE", + properties: { + name: "West Bank" + }, + geometry: { + type: "Polygon", + coordinates: ["@@@ԣŭʙЃŕɜɌŚɁĦǬ̤֔ś"], + encodeOffsets: [ + [36399, 33172] + ] + } + }, { + type: "Feature", + id: "YEM", + properties: { + name: "Yemen" + }, + geometry: { + type: "Polygon", + coordinates: ["@@؉ɥNjύo˹࠷Οഇϻݩףυ±ʥºӭΑlj۷©ɃµǿɛəÕŻɇеlˍœ¨ɓӬzҠƍʜǑتʋΊǚ¤đϨĸNJξςˌđΠɞЮΊɓɬúॺnƸċč͐¨ɂ˫ϺƖࢦϚᝒ͒ڀ൳˞ח"], + encodeOffsets: [ + [54384, 17051] + ] + } + }, { + type: "Feature", + id: "ZAF", + properties: { + name: "South Africa" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ǏŧΣяɻћӇोࢁףԋًϣ࢛͙ѓ«ŇɷԛŰеDž࣫NJԙĹΏ¬ࡿͩܓƃԱͅϡoΣ̚˳fαϒśŏɦLӰ˙֞˔ƴs٤սх܈AFતДдͪɯƘΫϘÓՈǃҌÖݤіB᷌ɨűӾߙûԟȈ̏ĒрϒЊʨȶДЦȚΠķВɽۂ£՞ȜĐʾƨДҚäʨ͂˪֔ݮغஒؤUОƛ˲Ķ҂ċДɔׯƫऩî̟чƶʏÑāʓɯ̿T̃ԆҕӮĜǢώْQȿؑıۥɑϛֵщ", "@@νʶϻǟҕ҃͡Տـ٧̜ČƺˎҴƀƜ˜ʴФ̅ʪ"], + encodeOffsets: [ + [32278, -29959], + [29674, -29650] + ] + } + }, { + type: "Feature", + id: "ZMB", + properties: { + name: "Zambia" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ІϏɊ܋ƝɩǙڻLjۡ˃̇ʭޭѶɓᢇۗĂׯٍřӍͯĹ̛̅ßܵۓҭխ˳o˗ĬऱĠƯÚOêͧȎկ¶ۋȑչԾ֣یᦶშYí̂Ű̀ƧЀĪТėʺ̂q¶ʽϾrՖûˬϡڨŝԤˆȌѯ٠ş̴ΧΈҥ٠Që࣠ɱƳח͞ɧƬļࡈƬসȉψʈ՚ɤĶƚͦđΘɇͰƗՖƗӊʧ"], + encodeOffsets: [ + [33546, -9452] + ] + } + }, { + type: "Feature", + id: "ZWE", + properties: { + name: "Zimbabwe" + }, + geometry: { + type: "Polygon", + coordinates: ["@@ҁČ˱ĵНƜVՙϞٯźʙՒC̒έĞ्ई˃ӢǛƮ͓ڤलğ˘ī˴pҮծܶ۔̜àĺ̆ӎͰَŚÆ̻۬hϴǯǺȻАÓѦˑFǏعƊʝħӵŵùɛࢫ॓"], + encodeOffsets: [ + [31941, -22785] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/xiang_gang_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "8100", + properties: { + name: "香港", + cp: [114.2784, 22.3057], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@}ScTʟ@cWuJÁ]l¦RLj¼BĄà H@TOHCTDDDHDNAT@PEHDDNJLX@BABALHFF@DKHADBBLDHHFBLEJB@GDBBFBADDB@@KFAFBBJJA@BB@@FFDDADFF@FADDDBJC@AFBD@@DDD@DAA@D@DB@DHHBFJBBFEHDFAN@DGDC@DLCBDDCFDlAFBFCBEF@BC@GDAB@FD@DZJX´HĐMja@Ý`p_PCZ@lLnRGSDMFK|a\\Y}§Mën"], + encodeOffsets: [ + [117078, 22678] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/xin_jiang_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "6528", + properties: { + name: "巴音郭楞蒙古自治州", + cp: [88.1653, 39.6002], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@ÈÒĊanwŎVȮ¦ͪŃĢÜōȂçČéƐżLɆóĊĊaʊŁ±¯²Um»ˌmÈ»VʠţWÑůǓéôƑƒğÆīŎī@Ƿwô˺LÞ¯ƨVǪуĢȘV°wĢôk°¯ƒ»@Ȃ»ĸǔ@͔ôôLɆó̐ÝɜLɲōͪƨóŤK@ī@IU܃ÛmȻţǩÝ˹ÛljťǓǫō@Ɲ²¯VçōKͿŁΗÇţ»ƽɅƑLÓŏÅÅɱV@ÝĊU¯ÑĊĭÞLÞŎJ±̃XȣˌōlUȯŎKÆƅ°XÑܱnŗġV¯óaUƧUōŁÑ±çɲ¥lĉkğ°k¥nğţL¯ÝÝUƽĬlķ°@ōXÿݯV»ŹLʉÞɱŤĉó°ÝJ¦ÝKÝ£ţÜÈĉ@xǩUċƑ@ky͓¹`U²ĉVġ»ğa¯¥ť@ĉó@ŻÛÛJw¯nó¯ġWƽʩķÝɛwĉĕݼȭÞķō@ó£ÅƑ¯ôȯÞ¯ȰÆōèĉXǼó@ÝnºĸÞVƜĸȚUʶõˀĵĖɱŎÝĖVࢰӒѢ°˘nϚVˌÈmɼĵŦW¤öʊõʔ@°ÈXVènŎȁb¯ǫĉ±Èğ`ġwōÔğ»mVVÝ¥ó@ĸķô@bXĶmV²²`Þ_ɴbͪÈ°ÞWĸÈŌmÞkɲÈUÆ»n¼ǬVķĸźô¯°n¦ɄÇÈ"], + encodeOffsets: [ + [86986, 44534] + ] + } + }, { + type: "Feature", + id: "6532", + properties: { + name: "和田地区", + cp: [81.167, 36.9855], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ƨ¥èź٨ΘƑᩄbUࢯÞĕɲōĶĕöʿVʵķșUƛÝķm¹Þô@È»ĊWŎçÅ°ȯȰÝ°óƒÆͿĉ»̽çnmɱĵƧºóUƽ@±wóL¯°̻L±Æ¯Vƴķb¯VÇ¥ğ²Ǖbk¥ÇKlÅɱġ@ÑóK@ÇaÝXğţxĉČǫķê¯K@ÑaŹƑK¼¯VóaónġwóÞéUġbóĉğÇl¹aUóğKWVůnÇŋƑķnʇ»óxĉwçÇ°Åw°ċXób±kÈÇJm²ţx@ÒÝŦǺnó¼n°ÇbUÒ±¼XĸĠłƽXmwĉºzÈÜmnxmx²ĖmÒbnƧêUºĊêÆVóĖóUĉ¼ÅĬƑ°ɆƆŻŚlłÞL¼nĠ¼@ÞÞź@ŎÞ°VɄɴжϼِ͈Ŏ"], + encodeOffsets: [ + [81293, 39764] + ] + } + }, { + type: "Feature", + id: "6522", + properties: { + name: "哈密地区", + cp: [93.77930000000001, 42.9236], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@WnŐÆĶLĢ¦ţºźlxÅĸƽŚɄĮè@ô²ÞUĔƐńV°¯ĸX¦Ɛm̐bƒ»ɆaĢƐLˤȘÑnІljĸÿn¯ĶaŎ¯ĢĕȘ¯°la¯¥ǕǔwˤӱlťО̻nŻmɃĕċţUw°WUóƨÅţķ°ýV±óÅǓéʉ¯ƽŁéōǖȁÝƏůǕw˹ǫȗǓƧǕVýé@ĬţLƧôͩɱŎɛK̏ÞɅôóK@²@°ōŘ¼lŦ¯ŰóƜÛlV¼ķ¼°kȰŰĠǬŚÝŎmĖ`@ÇÜn"], + encodeOffsets: [ + [93387, 44539] + ] + } + }, { + type: "Feature", + id: "6529", + properties: { + name: "阿克苏地区", + cp: [82.97969999999999, 41.0229], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VÆxˌŎÞŎ°nȂÒ°²VĊ¯VğƾˍǬƨÞÞKÈÞĊVźôɆÞĢèŌôWČ²ŤVÞĸʶbl¯ôn_VÆĸlmÞnVź_ĸ¼ȮmǖéĸW°°ĸJkʠ¼Æw°¤ÈlxɆzČºĶI²ÆǔU°ô@Þ¦UnUĠ¼ŎÓĢxĠ_²ÇĊǬ°ȂamōçUÇW@¯öʓõʉX£ĶťnɻÇUˋmϙ¯˗ӑѡᩃaΗƒɜ°xWƴUxɃÒˣ¤ɅwğʉōóÝŹ±°ȗ@¯Æƒ²¼", "@@ōгwȁ¥Ƨ°ŹÑķV¼ÞêĊ»lĵm¦ÅW@ĀôÈźaɜxÈbÞÆĶIОŘnIÇŃÛÝĊÑĠƏ"], + encodeOffsets: [ + [80022, 41294], + [83914, 41474] + ] + } + }, { + type: "Feature", + id: "6543", + properties: { + name: "阿勒泰地区", + cp: [88.2971, 47.0929], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ɲˣĊIÈ¥ÅU±Ċýkō°ĉƽó»ĶƽXóʵʵȯƑÅȁɅ¯ĉ@ÇሗK֛@@ˤV֜ʵрƒǬVĸƑŎ@ƆϯÑóķ@ʇ»ķ¦έmlÈĸĊX¼WźÛÞÝѸĢČþĀĊôάVö¼ĊUƨ°°èŎČUÜÆóôVôô²êȘlˌç°`n²ǬĊaÛ°±kğmm»@°ÝɆÛÅÇVaÝVm͔ğôÝÈb@n¯ÜUĢÑĊ@źīżWŤÈǖWôŁÆI²ÓƨL@ĊXmmÑÆ»ȰÑkĶō@ý°m¯"], + encodeOffsets: [ + [92656, 48460] + ] + } + }, { + type: "Feature", + id: "6531", + properties: { + name: "喀什地区", + cp: [77.16800000000001, 37.8534], + childNum: 13 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Č@°ĠôÓô@Ŏĉ@Ƴĸ@Ť£ĢlVôWVóřXĉŤêÞ@ƐÒĢÑlèÈV@ĠIk°ÆŘ@ÈÈĀ@ǶťÒğ@@ÒĉlŻ_@ƧĖÅĬōÆ@bźÞnƒlVÝĬWƼʇÝÅ@ÇÅÈwWóĉ±ğzĬČƨÆÝIĉݯbÇÑĉ¯ʈV°xUŰĊ¤ƪ_ôÓɚI@lȚXȮŎlɴȘ¦ɲÆʈ_ɴźôÞʊŎĠɆxˤ£ɄÑVwXƳ¯wɛŹ٧çƧ¦ōُ͇еϻɃɳUݯ@ōÝŹ@Ý»mğ»ÝKkŁżřɅƅƒ¯ÆīĊ»ôVôĕÅUĉéV¹ƨémanѱĕnwmwnÇÛyĉ¹ŹlŏkĵèķmōÞġKñÔċKÅèĉzômxȗÿƿI@þÅČÝKÝ°@¼ÈVº@ÅĢÆUċłnÝÆǕČĵJm£ÝJ¦@ĊxV°ƏLċ¼ǩ@m@ÅĢómÇÆğ¹ÇÆĖÞKxwô¦ÆÑÆL²ÆƾU±ŚÅŻĖ@ĬŤÈñ@ǔÇxÈǃ", "@@VÇţ°ğUĠ¯mk¯ó¥ķIġÿƏbĉa±ÒĸĀlKU_m»nwm@ÈŤ¦ĉbÞ°±Þżł̦°ĢŁVé"], + encodeOffsets: [ + [76624, 39196], + [81507, 40877] + ] + } + }, { + type: "Feature", + id: "6542", + properties: { + name: "塔城地区", + cp: [86.6272, 45.8514], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ήnĸ¥ʈ¼ĸ@ôϰÒ@ƅƒōUķƑǫʶпU֛܃LګK@ĸ@Æ£ÞġÅĠċLVÝ»@Å»Ýnm¯»nŻĊ@nķŃ@¯ómóÛÝǟ¯aÝóȭ¥ōUmxĉbÇÑ@bUº¯X¯ÆƧbVÒĉnǕw¯°ƑVÇ@kx±UɱnÅK¯ƒĠǠU°ɜL@°xnĬĀŋŎÇLğϱÞέƜkôÅĀǕłĸĊŤUŰĢ°¦ȂϰÜɨ°x@°żǠÆƈČVĠ»ČL°ÇbĊÑ̐óÞlĶwÞɆVÞwǬxǪţȼÜLŐĶˢ@", "@@óKĵĀV͈ĉłƾNJÆŤzXl°ÆL²¼źôÈĢǔ¦lô°ɜÞʊĠğÅm»ʵƳƑʝȗīV¥¯ĉ°Ñ@ŃÅI»ĉmğnaċƨbVğwġ¯@UōaĉÝJğÑÆŎkŎÞĀlź¦"], + encodeOffsets: [ + [87593, 48184], + [86884, 45760] + ] + } + }, { + type: "Feature", + id: "6523", + properties: { + name: "昌吉回族自治州", + cp: [89.6814, 44.4507], + childNum: 7 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@መL@È°ĊȂɆƒÆĊ£ťôWÓɆbĢÅŎƦČÑW¥°ķU¯ƏŃVē±Ý@óçĭɃƾřÆķkwŹŤ¹ġ¥ĵKŏÅXmˍщwǓ¤Ƒ@wóōVķ£ɱġôÛa±ÒȁóèţIVƽ¼k¤ó¹ġJmx»ÝU²@ÅÆĸǫŎĊmŎǬ"], + ["@@Þô°bÞǠôÜôn@°ĸńǶkł¼UÞKğČÆÝĢŤķ@@ΌڬL܄K@ˣȂ˭lĉÅW¥ĵVÆý@ŃÞēUŃȗƅ@ŹƩǕĉ»k»ÇVğóřXŻKƏċêȁèÛŎġͩń"] + ], + encodeOffsets: [ + [ + [90113, 46080] + ], + [ + [87638, 44579] + ] + ] + } + }, { + type: "Feature", + id: "6530", + properties: { + name: "克孜勒苏柯尔克孜自治州", + cp: [74.6301, 39.5233], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ˎǫĠƽ°UUĉ¯±ȁÑm¯ÝōˋōwUű»ÅƑ°Ș@²¯ɳʇ`ɱÅ¥ɳȗōkȭșW@kəJóÔƩ`ĉ£Vů¯wU°ʇĊÈÒ°aĊÞÞJÅċƧīĠyĊ²XôÇxÈÆÆ@ÞʈÅ»XÞīUƑkmŹÝ@aŎÅÆīƨĕ@ż`Ċk@ÑĠ@ŦÑ@ǵÇÿ@ÇÅŗl¯ğJ@ÇUkçġÒƏÑÝ@ţéWĊôŚUóXUġkţ¤ķ@@ƴōĊó@óÔğ¯ċ@@Ò¤kôˣŰ͓k»KX¯ċwƧôğɐÒôIVƯUķǬķn¼ôb°ÒȰVVÈÞ°ĸó¤V¼°V°²êlĢÒUƨ¦ôȰƴĊVV¼ǖIċĊÞɜénČW˸ǸařÈw±īçĸ¤ĊôwĸUĢ¦éǖĬĀô¼lÞkÒ°x°ƆÞxÆV²ǔ»b°wÞȘ¥°nŎV@°ʠèŰȂb"], + encodeOffsets: [ + [80269, 42396] + ] + } + }, { + type: "Feature", + id: "6521", + properties: { + name: "吐鲁番地区", + cp: [89.6375, 42.4127], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ôKĉǪa²¼lÜô@ʠê°ĬôȂ²ÑÜbĢóɲĸ¤ŎUô@xƒǔ£ъxˎmÈÛ@_nĕÞōřǫğůlȯ¯ĸ»U»Ükôƛ°ůkť»Ŏŗ@¯@±͓óͿǓ@ķȁ¼Ϳ@Ƒ¼¯°ólġ¯xȗUġƑǩÒƧUÝ°˹Kóx@ǸōĬÅĬƑĠóƒǔêÆ°XÒʟŤUǼˋnn¼±V²°ȂUŌÝbʟǔɅô@żǬaҎÈ"], + encodeOffsets: [ + [90248, 44371] + ] + } + }, { + type: "Feature", + id: "6540", + properties: { + name: "伊犁哈萨克自治州", + cp: [82.5513, 43.5498], + childNum: 10 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ĉÆŘȁ̐mÞ¯ĀX°±¼@ƾ¯ƴ°ŎÝþŋ¦WÜÞbȂĉźUÇmwVUȂóô@ȰÝnÆJnƾʠŌLČóǪ¯¥ǔaǖŌaôÝĢLxÆLɲm²VlwÈ@Uƒ°¯ǖxĊmUÑƨa°Å°WV¹aÇɃÈm¥°¯ŹóĸķǫUm»Å¼ÇVɱlÝŋnķÇÝX¯ͩÇɳaÝ`±_U±ĵnWa@ĸóķ¯ǓV±ÅĵJċ¹Ʌykwǯ£Åxʟ»lķI¯X¯ķêǕȭnķ»Ź`±kÞ@Ýô@Þ°xŤŎIƨÆUxō¯²ǔĬǬlUŚ"], + ["@@ÞĀlź¦¯ĸŤKÞċƨbVğwġ¯@ţƽJ"] + ], + encodeOffsets: [ + [ + [82722, 44337] + ], + [ + [86817, 45456] + ] + ] + } + }, { + type: "Feature", + id: "6527", + properties: { + name: "博尔塔拉蒙古自治州", + cp: [81.8481, 44.6979], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ήƛϲÝĠÈKŌōÿmīw@¯ɛKV¯ğǟ°ƑwġKóÞŋbǕǓb¦ǩ°ċôŋKʟƽmÅImͿȯÞó@ȁôUVnxÈŹVȁĊÝabŻ£¯°lóxȂŤĸkĊÞyĊêĊmĢxVƨÈĠXΘÆĠÔźɆţ°LXƾŤŤb"], + encodeOffsets: [ + [84555, 46311] + ] + } + }, { + type: "Feature", + id: "6501", + properties: { + name: "乌鲁木齐市", + cp: [87.92359999999999, 43.5883], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@WôŚUĠÈl¼Ċ¼ƪǖ@źȘƆ@ýlÜXVŘÞ¦V¼kĖóÒèkĊȁˮ֜@ǫnōĉǬōķÆÅ@±ÞV¼nwĢIôºl£ƾ»UŤJôçó¯īʟéó@kÛ±»ǩbĊóLҍÇǫb@ŻɆóʠǓaŋÞȁVʉłĉbĉɅô"], + encodeOffsets: [ + [88887, 44146] + ] + } + }, { + type: "Feature", + id: "6502", + properties: { + name: "克拉玛依市", + cp: [85.2869, 45.5054], + childNum: 2 + }, + geometry: { + type: "MultiPolygon", + coordinates: [ + ["@@ɜÞʊĊýVaÅm»ʵƳƑʝȗīV¥¯ĉ°Ñ@ŃÅI»ĉmğnaÝţL°ķóKĵĀV͈ĉłƾNJÆŤzXl°ÆL²¼źôÈĢǔ¦lô°"], + ["@@ƾIŤ@UUwōaĉÝJğÑÆŎkŎ"] + ], + encodeOffsets: [ + [ + [87424, 47245] + ], + [ + [86817, 45456] + ] + ] + } + }, { + type: "Feature", + id: "659002", + properties: { + name: "阿拉尔市", + cp: [81.2769, 40.6549], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nIÇŃÛÝĊÑĠƏōгwȁ¥Ƨ°ŹÑķV¼ÞêĊ»lĵm¦ÅW@ĀôÈźaɜxÈbÞÆĶIОŘ"], + encodeOffsets: [ + [83824, 41929] + ] + } + }, { + type: "Feature", + id: "659003", + properties: { + name: "图木舒克市", + cp: [79.1345, 39.8749], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VéVÇţ°ğUĠ¯mk¯ó¥ķIġÿƏbĉa±ÒĸĀlKU_m»nwm@ÈŤ¦ĉbÞ°±Þżł̦°ĢŁ"], + encodeOffsets: [ + [81496, 40962] + ] + } + }, { + type: "Feature", + id: "659004", + properties: { + name: "五家渠市", + cp: [87.53910000000001, 44.3024], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@çôÑlĕU»¥ÝUŗWkÛ@þVńÝĔ@ńÅþĶUX¦Æ"], + encodeOffsets: [ + [89674, 45636] + ] + } + }, { + type: "Feature", + id: "659001", + properties: { + name: "石河子市", + cp: [86.02290000000001, 44.2914], + childNum: 1 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lŁǵmĉ@mż¼n°ÞmƼ@"], + encodeOffsets: [ + [88178, 45529] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/xi_zang_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "5424", + properties: { + name: "那曲地区", + cp: [88.1982, 33.3215], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ƨʔĸbܺÞwnxźbÞ°ô@ĶĸIȼĊJŎÈôU݃¤ǔLÞŎ@ĢȘblôLÇźçȤôL¥ÞIÞ¯ĶxʊťƨƿÑĉXVķŦ¯ȂKÇǕѯIU£¯Óƿ£VĕÅÞÿÆwƑ£ǖxÞĕ±ÇÝaUÑÈU¯UōÈÝwWŁĵ±ÝóĢÿ°IÞ±mÅĢ¯mÿ¥°UnÑŤĢĕĶwǬŻͪwŎ¼źÇĢĠĕˎŁ°óƨ¼Èam@¥°wǔǖ°ƨÇŤġƨŎŃôbÈÛŎĊ°@Ġw²ÑÞJÆÆb²°êĊUÞlȲVÈKĊÒĸĉ»ÅôťUÅÇk¯@ÇÑklÇÅlĢVÑó@°@ÛĸV¯ÇĊn¯Uĕƽ¯m¯bÈ@Ò°Ĭbĵ¼kxķýÇJk£ÝaUÑÅóĶǟkÓʉnĉݼƑó»Þmn£mČ¯@ȮÿV¯ĸk@Ýów»ğġ±ǓLōV¼Əèķĉè±b@ÒţUÑóakl£Ó@¯L@ÇlUóȁ¯aġÈÅĕÝLķ¯Ė¯@WĬxÒÈnW°ţôU²ǓÓġ²V°¯ôǔÝLċk»Ý»Ý¯ÞVwÛÝÇōͩÈĉċ»ĉm¯£W¥ţKkóġƏW@¯±kōÈb@ÒÇaƯakóÛǦÝa¯Ýĉ@Ç»ÛmǓxķƛ¯lVĀÅÞġbÇJUÅVĖƑWzō»ōWn@è¯ÞóVkwƩnkźÇÞÒÞ¯ýğÇUxÆÈnè±bĉÝ»ÈŃwwÞ@m»ÈV@ýÇ°ķxaݯXċ¥ÈóW@ôkxlnxVÈóĊkŤġ¼@°¯ŰƑL̻۱ŎÝVÞVÇÞÅÇakƞ@èğŎĸżƾ°ÒLÞôĠKȰĖźVÈÒĠ¤VôUÈþťL@ôǬÞlÜÈnÇÒUŚ@ĊƨW°°X@ČÇþƴĉÒķ¦@ĢôWĀôłUÞĢǬź°¼@ôV°bUÆnzm¤ƽĸÈ"], + encodeOffsets: [ + [88133, 36721] + ] + } + }, { + type: "Feature", + id: "5425", + properties: { + name: "阿里地区", + cp: [82.36450000000001, 32.7667], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Çƾķn£myVÅaU¯ó@¯»ŹġǫVÝóŁXÿġó@ĸ¥ĊÑƳÈý@ċW¯X¯ĉƧ@VřÈÑÇmkÛǫÝ@óŦKÇýVUó£ğÇÑŹUȯĕğLÝóK¯ÑƽķŻĠō@çlƝÈbÆÈÝUÝÞU²ō̼ůƒK°ů@¯UK±ĊƧbōÇmçÈġóÅóbźó¥kīƯólçKôĵUÅVŃķ¥nÅŏm¯¹Å»@ÑÇóxÝkʇȤU¤ķb@ƒ¯ĊÇx¯ĸĉKm°Āk¦lKnĬȀƾÛ¦WÆÅmNJĉ°ōUţ¤UŎ°ŎKÞłÆǓ¦Þř¯bmUÝl¯Umğl¯£șwÅǫaÝnĉĶk@¯Kō»ĉnaÞ»ťnkmlĸ¥UÅŻkÑťĉVôó°LôīĠUÿĉǕÅz±K¤²ō¤¯Ė¯UÝ¥VĵóÈťÝwķÈÑk¤óWýĵĕVĠVóǓķ°k±VU±ţ¦UǟÝÅJVÑ¥XUċUÅlÛƆǕÆȗƆ¯wŏÞÅ@ĉlÝóÒnUôÅlxólÝôÛ±LÛôÝL@ġ¯X¯ÇUżóaó¤¼XÒġŎóLk¦ôżĸĠ¼KġƆô¦ÆƑÔĉĶ¯ImÒ°¦n°¯ÞlÝČnƒÒKĠÞĕklýƾťôIĖŤÒnƜm¼¯lnżóÞ@Ůó¦ôƽĖċŚn°Ý°ôÈUƜblÞó@ǖô°UÈƆ°XþôôlѢ²Ėm¦°@¤XĊblÜzkºƒĖmXŎWVóÞn°lĠxȚa°»żLźb@Æ°XĠÝȚxĊĕŤaȚ°È@@èŤ¦Ü¼WÞkÈ@V°lŤkŎ±²¦ƐUlj°aÈÑŎbĢŎbÆ¥ÞIȘlôVÈUbkɲĶnmnXb̼òƾĖŎ@ĢȂÑôÓĠĖʊĊÔ"], + encodeOffsets: [ + [88133, 36721] + ] + } + }, { + type: "Feature", + id: "5423", + properties: { + name: "日喀则地区", + cp: [86.2427, 29.5093], + childNum: 18 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ĶĖXþôl£ÒĸÇÞxÇŦôUĶÞ¦°V°ĕŎ£±£²LÆyĊǖĀğVóĬ¯KóôUĊŦlÒżVÆķ¦klnŦmݼbĊmŎ¼L@°lĊĵÞmǬbÆȚx°¤Ġkn°VÞkVn°aŚÝǔ¥ÅÝŁōL¯ōVŤ£ŎVĊ¯nljÆXÅÜ¥ǿƽmīLkl¥ÿn¯ĊL°ķÈw°ĉ@ƑĸaV£ʈȣÞlôwÈ@ҼưºŐnmÆĸ¦UńÆVóĶLèôkÅ°lĬ¦ŹôôaÆôÇĢnèŎÈƨaĉ²VLĢ»lţôĉUÇwkmlw@óôXÇȦ°WÞbwĸȯ@þÇUn¼Ý@xxÇńÞ¼Ċ²amçÅÇVwĠÈþ°ÝÑÈÝlŹƪmlxôU°Ý@çmXŎŎ¼yƒXĕÆUVÈIĢaÆÝUÿ°kĸƜǔwnÜȼĊ@Þ°ÞbÈ¥Üôl°bÅÈb@ÑaǯUU¯Vġ»¯aV¯Ç°ÅmnÑŤçǬVǬ±ĉ¯¥Vĕ¯Ýk£ōw@±ġÛ°ÇVÑ@Ûa@ČLƳÇa¯¤ÝIĵ¼U¥ƿōķÅţŻókÝóĕ¥¯U»Æ£X¯ġŃÛkÝ°V°ó¼¯èWôÞĖȎkĀƧĀówm¥¯JŹÝJÝōVVÅaÝƑ@ğŭǯ_ĵVnxÅónĵxÇĖĉVÝÈğVÒó¯±Żĉ£ķÆÅLLjĉýţÛ¯VnV¤ÝÈ@°ÅÞݤŰğŁm¦ÝxóK¥ɱÈUĠôêVôÛ¼ÇWÝçĵaō¦óĖƧlÇĢƑnŎÇV¼¼ºÛ@m¦ƽĉmm¯ÝKÛç¯bŏłĬb¼ÅLmxť°ÅUÝXkÝmĉ¦W¯KÒknÝaVÝè¯KɅńÝKnÞ¯¼"], + encodeOffsets: [ + [84117, 30927] + ] + } + }, { + type: "Feature", + id: "5426", + properties: { + name: "林芝地区", + cp: [95.4602, 29.1138], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VÈłVôÈk@°K@Ôk¤lôbVÒŤ@ѲaçĸĊƐçU»ŎǔKĢ²Ġ¼ôx@ÞlƨĬUl¯ÈLVÞJ°ÜnʊwÜbXêVÞ¯°anaU°wƼɴÑWÑ°mÈýÈam¥Þ£Ť@¥ôblÞĢź¥ôxÈÅmÝĕÅV»ĉōŤōnó»ÈīķIUĠÑ°ġĸLÞ¯VÒÆ@Āb¼WôÈ@V¼ôóŤKÈÑU»wVǫżnWÒÈx¼lŦ£ĊōŤx²¯@ÆU¯çÆ@¤°£é°k°lůÈó@¯ŤÇÈĉkkÿó¥ÝXķÑÜ@ÒóŚÝ¯°ĉówDZ¦ÅJUÒĉĀķw¯°mĖ¯±akxÝÅn»lÑK@¯lU¯UVѯóĊ¯mōğVǓƅÞWÝÈÛ@ƿô¯ÜġzÅþ¯ólmôʇġĊÅUͿřŏȁˋŁóÇˡōƧÇbw°Ķôk¦ÒnUþġÒÔkǔķèó@²@ŘōńĵyzġaݤÅI¤Ƀť¦ğѯ¤ķbó¯ó±U²°¤ČÜVnÈÆŚŎ°ôĢþÆzèVĀÇĀÇXŹÑ¯¤ówċķk¦łUÒġzÇ@ÆÝx@²Þ@ƤUô¦U°xU"], + encodeOffsets: [ + [94737, 30809] + ] + } + }, { + type: "Feature", + id: "5421", + properties: { + name: "昌都地区", + cp: [97.02030000000001, 30.7068], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@VĖm°ĉÈU°ķܯ@@ôUÒġkÆkÈlÒ@Èl°ÈVÆóŦƼaÅĢɄwnōw@¥Ŏ¦°ŹÞmV°wnÿwwÝw@¯mÞŗ°wĠĸkÞğlĔ²¦°@ĕĸwVóal@nĢÇĊn°@¦źUXçǔůĸVÆKÈÝĠ²ÅĔô@lÈ_mzǖlaU¼ôwV°¯¦ĬÈal@ČǼnIxô»ɜ@ƨ¥ɆŁŃǪȁkƛƨȍʊȡóĭ@ÈÇVůÞĸƅmēƨťÅÈʉVǵ°ġVŭÅɧ°ÿnɛ£mķ²ŃóÑUĉ°mÇ»¯@mxUĀ¯èţ°ȁÝçġU¯ÆÇţÈ@°ÇôŰ¯k¯lꯤ£Å@èV°Å@±°ţwĉŎť¤k»ÇwXÑŻmUǬxV¼ÇÒţLóôU»Ç@Xó»a@ÿÅUÑÝ°ķK¯ĢğÒVĸJÇĬ¼môţŎĊŎU¼ÆĖnÞÇÆówŹ¦ġkÝóa¦ţ@ݤn¦ÇbÇþ¯nXÒɳÒÅ»¯xVmbb¯Ý°UWéÛaxʉÛm¯ÝIUÇKk°VƧīķU°ȭĀ@ċ°nm¤Ýnô¼ƒÞ»ĊʊmlÔĵǠÆôVÒÞbl¤ÈIĸþlw»Ķa¯ī@ÑÇ°anƾ°"], + encodeOffsets: [ + [97302, 31917] + ] + } + }, { + type: "Feature", + id: "5422", + properties: { + name: "山南地区", + cp: [92.20829999999999, 28.3392], + childNum: 12 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°ÞUĖ°¦²ĊôÇÜLǖĀɜȘŰÞLĸźêÞ@UÜUŤ°ɞ¯Ü°WŦĀmŎ¦ĢyVÑŁl¥Čĸôx°£źÒWÈÿÈUÿçÅyýóġō¯řÅmÇÛUċ¯£V±²°ôôĸa°£ĠÒŦ¥Ʉ£ÆJÞ£ĢbyĶzŎŃ@ŗ±ô@ĸçlǓÓĢÑVýmÑl¥ĵó¯̻̥ƛǫÝһÇƧĉyţ¼ҍēVĶĉŎ°ĸmÞVÝĸÒÛaċóŹĖèÈÈl¼k¤ÝX@`Þŏ¼Æō¼ÇçĉKUÝÝ£ğ¤@¦ġl¯Òġĉ¯ómóxÝÞğVƴċK@b@ÜUÒ¯ÈĢÜ@²xŎl¤"], + encodeOffsets: [ + [92363, 29672] + ] + } + }, { + type: "Feature", + id: "5401", + properties: { + name: "拉萨市", + cp: [91.1865, 30.1465], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ŏ²l@°XĢƐlôŤLX¦°¤ĊnČ¼ÇĊŎͪÞÈÜxU°ÝÞÞ¼¼lČÞKǓ°óU¯Ģ±ǔÔV±ŤóX¯ÇmÑwXī°@°ĕĸÞKÆĖĢÇ°bȂÇŁUV¯wVó¥VÅ£Ý@@±ÞwÅÈ@¥nōťÿ¯XÛɝ°ţ¯ÛVVÝ@ŹéķÝKȗůɛǕÿÛKóÈǫǫUţèmÒn¯Æ°ÈU°b¼UĢV°°V"], + encodeOffsets: [ + [92059, 30696] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/yun_nan_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "5308", + properties: { + name: "普洱市", + cp: [100.7446, 23.4229], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Uô²a@²²Ķ¥V°Ķ²bl¤kVxl@°Ś²@y@ô¦¯@xxVxUVbVÜm¼ŎĢmºXXWÆ@ĀmmXU°ÅÒm¼Þx°w@°XêĠ°»nV°Ul@k@V±ôī@£ČŃÆ£KÞý@¥k@ya@nWVUVwm£Jknm@wmknXX¥mUUlUnb¯°nkVInlIUw°nmk@@mlanXlanmk@wVWUw_@éĠanmUaÜ£mX¥¯@@óUmݯ¯ÞÝlKnxô£»»ĠJ°aVUÝÿV¥ÛbI@wmón¯yÛL@WkÅmÈ`IWa¯K@¯mUnmaXmbmak¯ĢÒÝm¯mV¯KÇb¯KÛWWX@aVknċLUWVkXóW@ka@ób¯Uwmb¥UUlaU¥U£maķKXkmÝ@kwmѯk±ċbUUVakaġ¦kL@`a¯xmÅLUW@ċnÅUV°LkL@b°°@¤²nôôkl°kèÒÈzV¤ÈWôônV@¦@¼Ux"], + encodeOffsets: [ + [101903, 23637] + ] + } + }, { + type: "Feature", + id: "5325", + properties: { + name: "红河哈尼族彝族自治州", + cp: [103.0408, 23.6041], + childNum: 13 + }, + geometry: { + type: "Polygon", + coordinates: ["@@°°nÞôV@°@¦WnÛ¤Vbmnğb@ê`VxUX@xÆÞUnnWÞĸĢÈ@Çè@zÛÜWÅêl²KnV¯ĖĊx@bk@@°JÆ£Èblnnm°nlUkVUUwVmKnnVÞxVLX¥laX@@xl@VzÈVmk@b°ÈĸmV¦`WXbUbbX¼°x@aVVkn@lþnXUlVxŤÅyIUkaIŎĊ@lXx@bz@ô¥_V@ln@ôy@al_l`nmÈ»@kmXwWKU¯»aÅ@wmUÝKUaUUwW@w²»@kÆV£mm£VKkÑV@@»nw¥@kÆnllIVlnLVakalknJWmnaUaVÑVVÞn¥m@¯Uÿl@VçaXaV¯UyVLVk@nJlXLlkxlbla²Òl@nVJVkxKlkUaVķÝÑU@Åm¯@±Uó°ğńķĠmUÑ@ǯ¯Å¼@nml@°¯¯`@w£@¯Çk@»nmċ¯U»I¯LÇĶÛn@bó°Uwm¯UmǯaI@ykIVU¯bIğ¼¼ó¤mwkLÝÞ"], + encodeOffsets: [ + [104243, 23429] + ] + } + }, { + type: "Feature", + id: "5326", + properties: { + name: "文山壮族苗族自治州", + cp: [104.8865, 23.5712], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@wô@²¯maUmôUÆx@XbÞInlVUVwJVaUK°¥xmÞXnlKlnna°@ĊČÆwUmnkl@°£nyn@VV@Vak@@kÞÝbmx°Vnw°klÞInĖÞVlKl@Xa°KlVU@JnxU@ÈĢbUKlm@ak_wanWUk°l»k@Wk@lwU_@UalóU¥ÇnkJW@mVXx±bK@nV±a@Åa£ÝK²WknamKknÇk¯aVV¯ĀUÒ¥I@mm¯¯xÅW@@`k@ó»UU¯lm£ÅWlĵw@mmwÅmWU@y±UxmwU¯U¥Ý¥¯£m@kÇVUV°VbklLwUlUImk@±ÑkbkalwkWKkmI@UlUKVzU°WbbUè@kVĀ°@nm¦ÝUUUÒVbmbXnmIkllbUbmKUkkJmkÅ@l¦mx@¼U@lÒULn¤nU¤Å@l±¼@xXxVVVbÞLVn@xÆb°¼V"], + encodeOffsets: [ + [106504, 25037] + ] + } + }, { + type: "Feature", + id: "5303", + properties: { + name: "曲靖市", + cp: [103.9417, 25.7025], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ȦlKÞĕUV¯Um¯ÇVUnVVUĉnĊÇƾLn°°ÈJÆw@lbÞa¦VXJ°¯W¯aÞJVkUa@lKnÅmWUk¯a¯»@m±@ÑkkbWWX_WÓU»_lkÑm@U»m@l@IWċn¯l@VanVUVUVwVxKÈVmUē@n@VÝÆLwVVwnVlmkUVÑÇ°ka@kÿÝaÞUl£ċĕX±±ĉa@UnVnalónk@wlUVmkÝJaW@ÅwóVVnnb±°@óxXLWxn@lǼnmk_k`@bózm@kU@`¦ó@nW@ÜÅXWw@yb¦@ÒlnUb@xlÜk@²Ç@U¯bmy@kV@bb¦U`lLVx@bLl¼Þ¤@°VVÞU@WÞUbJ@nn@lnnmxUUUbK@ÇwklkUVWakn@lbU@@ULVxkKUn°¯Ò@¼km¦m@klȰ@lUl¦@Vl°wnnþĊUÆbUxbVĖU°annaVal@@b"], + encodeOffsets: [ + [106099, 27653] + ] + } + }, { + type: "Feature", + id: "5323", + properties: { + name: "楚雄彝族自治州", + cp: [101.6016, 25.3619], + childNum: 10 + }, + geometry: { + type: "Polygon", + coordinates: ["@@mÒXU`Wn@Xl±¦Uxnbl°knmKUxxVôUx°¼ôÒÈ°JlnÞKĠW°¦Vx²JVw_°¥@UV@@wnymknK¯I@²b°£V¥wUV¤nLkÆJÈwôô°l»Č¯ġVUU@@°ÝXl@U»°Å@U¯@w±¯VmUUlm@mÑnIVyUwmak£Vwm±@Çw@n@UxkwlÇnLmkÅ@±kka@kóJV¯Ç»U£lw¯Xalbl¥¯UX@aUaÈL@ÇVIVkaU¯mmakLWkUJ¯Umxn@kUx¯xmWÅīÝkkbŤbkxWmXwWk¯wKkLŤċń@¤óĬU²@@lk¯VmU¯¼@xV@k°l°kbU°nmVnU@°UVèÞÆbUÒÞnU¦V¼lô@Vl"], + encodeOffsets: [ + [103433, 26196] + ] + } + }, { + type: "Feature", + id: "5329", + properties: { + name: "大理白族自治州", + cp: [99.95359999999999, 25.6805], + childNum: 12 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lbKVIUa@²m@bxôÒÜxXLmbnl@K°¼kUôxôlV¦nJUÆnm@xÆwbXÆôôLUVwôK@wlmaVw@WknmIUmlnJla@_@kÝmKUaÑm¯Xw°aUaVl»²JVbÆJkôĶĀ²VVkmbVwUówVwnLlmk¯maVw²¥Wk@XmV_WnÑUk@kó»UV¥ÝmVÑÅaÝUçV@¯VUmn¯mVlak¯l¯U@@wğWé¯@¯xÝw¯¯Jċa¯U¥mLU¤bÞȤbÇLWUwmIUVW¼kb`UVb¯L±ĊÛkÿÝKkwKţêUĉþÈV¯ÞVbU°KVk²ÝmImV@kmUkVxm¯KXÈķJU¦V°ULWxL@môb@bkx±LnVUVLnkÜWnwlLŃmW@kkJU_VWĊÞ"], + encodeOffsets: [ + [101408, 26770] + ] + } + }, { + type: "Feature", + id: "5309", + properties: { + name: "临沧市", + cp: [99.613, 24.0546], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@xĢl`²X°Vx@x°Þ°KXağUÑWbnIl`X²°bxl°V@xVxk¦mbl@xXVÆzX¤Æk°kx@lźêlaX»VUnJVxXÈKaÝȣaV£nKV¦°Čb°I°n»ÆÑV¯nWn@ÿXÅWWn¹ġōn»ÛUaUVUww@w°ó¥@z±@ř¯@kUwlk£±aĵ¯Uĵ¦±±@bó±VÝ@ó¤w¯I@mÅóm±X¯IólK@°UllbzkKlln@@ÔºUmVk²ôÒxŎUVóLbmÈnmbnlax@z@Ʀk"], + encodeOffsets: [ + [101251, 24734] + ] + } + }, { + type: "Feature", + id: "5334", + properties: { + name: "迪庆藏族自治州", + cp: [99.4592, 27.9327], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@WXw@akk@yk°īX¥Uóķ¯w@n»UaVaUÛ¯mV¼kÞċô@n¯xÛÒmV¯Ô@x@kwmÅa@UaݯVÅyVa@ÿn»ÝVmankmmÞÅô@n£±ğzÇmU¦VmnÜmbn@°nV@xmzÅ@mºV¦k°ln¤¼õôn@xkÆIUxU@Ť¦VmVkmkXW¤XzVx@Æx¼Þ¯b@lVĸÞVm¼Xm¦VÞ@ƹVón¥ÆKnKX¯x@èĊȱłXaÆxnlV@UÛlȻkğV¥m²ljmÅÞĕƒƛm°ÆmX¤mznÆV¦ÞVVb°bnÞWbn°l@VÈ@VĵĊ±@óInxÆw¥@£ÞW¯ĸ£UUKk±akkkbmWmÈķaÆÇUÈÆW@wmknmU¯"], + encodeOffsets: [ + [102702, 28401] + ] + } + }, { + type: "Feature", + id: "5306", + properties: { + name: "昭通市", + cp: [104.0955, 27.6031], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@mnK@wmUÅ¥móXǓŏmX@VmL@xţnk@mlUŻÒğŋ@L@mmLkm@bXÅW¼ka¯lÇŹ¯aÇ»ÝÝ_@m@@a@UklwUm@ak@bUmbmbV¯ĕUaVwÅaĉVmým¯xUk@k¥VUX¤VÈm`@ńÇÜ@ĀknĔkƞÆĠÞUVôƆÞI@UxƦnl@ĊĊnxUÒ°¦Vb¯WUnWIml@xnUbô¤¼ÈxlI»KV@ÈÔJkUĖ±ÆVb@nVÜVUVLwĠlknĠ@nx°¥Æ²mUw@mmÅUl¯UÑÑUmLllIl±@VkwW@w°@U»kUóI°»ĢÑL`nUĠ²lmbôV@nJUxƦX¦l@ŎUV@lVKVÅV£UaÞUnW@¯VU@ó"], + encodeOffsets: [ + [107787, 28244] + ] + } + }, { + type: "Feature", + id: "5301", + properties: { + name: "昆明市", + cp: [102.9199, 25.4663], + childNum: 11 + }, + geometry: { + type: "Polygon", + coordinates: ["@@n@VkVUn²°@x°V@¯ÆV¼k@WÞ¯@@VVUĢċ°k¼VĊx¤Ōx°mVkÑÈL°x°X°VmĊLVxUĖ°bX¦VW@kȯlkn@¥ln@»°Ñ¯VmlLUwVK@V@ka@lmXbUlVlkÈx@LVaVVwnmm@km@mIVaÝ@XVUݯU@Ý£k»K@aUwkKV_¥a@alU@nz°aVÈ@@±lÛk@wVakm@Ñ¥az@XxÆW@ÛX@m@y@aWw@kōĉJlbVJzţÆUwVkmWkým@UlU@b¯wVºUVUêĠXUaUbVĊUWXUmkKWnUUUVVVÝ@kk±¯Lk±WkXlVkl@wXbmLVUIVmk@Ubma@kkaVKUkmlXLWnJ¯ÒĊ°@zkºlLUŤn@@nô@lÆnmKkÈlxVw@@mÈx@n²Uxl¤nbVxUzmJÒn"], + encodeOffsets: [ + [104828, 25999] + ] + } + }, { + type: "Feature", + id: "5307", + properties: { + name: "丽江市", + cp: [100.448, 26.955], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@l@@w°ÓUnÜÑ°w@mČóÝlU»n°VÜUbVbm¼@°xôĸVW¦¯Ĭl@zll@bWxXaX@ÆĠÆaXwl@XaƦn¼Jn@mnKW¯È»V¯°akVanXVwl@VyUĕVUbÈīlaUk°k¯l²VUkƛô@I@mVwĊaVakaÆbUVLaXIWKUwaWÑÅKUaVk°@Uw¯¥XğÝLkm¯IÇóѯ»anUl±UĵÿlóÅIaU±Ik¼UVb¯bWxn°ÒVbnLlÞ@@`kbmIkVnJmnXl@Uxbkn@xóLUxVKóóÅWaÅxw@nÅmVôXLlVU¤b¦m¼@ĀbUzUÆ°ÞVb@Æbnx"], + encodeOffsets: [ + [101937, 28227] + ] + } + }, { + type: "Feature", + id: "5328", + properties: { + name: "西双版纳傣族自治州", + cp: [100.8984, 21.8628], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@l²°nÒlxÞ@nWlLĸnbV¤V¦kbVV¦nax°Vôa@b@lôXlWUVXČKlmU@bWXXÜ°LÈa°LnU°ÞnÑġ°lnba¯¯KWó@kmK@UĉV@k°VV¹a@y_ċl_nÓlL@anI@óWl£VUlkĕlKVwU@kVam¯ÅL@bÝk@VnUbÇbÝwÅ@ċ¥¯lk¼ÅÒ°b@¦nlUn@ÇVmÆbWôU@ÝÅōm¯aUmkWWw@±n¯UèaL¯mLkwl@°mnÈÒ¯ów@VxĀU¤°Į°Xl"], + encodeOffsets: [ + [102376, 22579] + ] + } + }, { + type: "Feature", + id: "5305", + properties: { + name: "保山市", + cp: [99.0637, 24.9884], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@X°Il@¦È¼m¼ÞaÞÅlÈxV¼lVôÈÆlLޣȺlkUUw¯UĕVwĊ@n¦mlnVĸIWÇ°LnUwlVn@lnUnJÞl±U¯LVUa°ÝUÇĊýVŤéLlxÞLĀÜl²ĉ°KUaV_Źé@klw¯lÅW£ÅyUW@wknal¥Uw@wUk¯w¯aW±k_mJaXVÒĠWb¯L¯Ý@wwU¯±Wk_ġwwōKmb@¤bk°lĖôUJVnÅlťU¯°VbnbWxXmÞWUĀLyWzÛKmbUxVKknÝkVĀċ¤Ux@¯m@¦"], + encodeOffsets: [ + [100440, 25943] + ] + } + }, { + type: "Feature", + id: "5304", + properties: { + name: "玉溪市", + cp: [101.9312, 23.8898], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lL°xXlWxXnlwaţlaÞlÆĬnX°wVwl@mnw°VVIXllKbnnV°lbUUJ@ÈÇKVb@bW°Vk¦kaWb°kxV¤È¼U°ôI@llbl²@@ó@mm@VţkKl¹@yĉ¯°ÑIXmWKnklVULlb@lnbVal@UnVJUnKWax@lkkUlW²XlK°l²@lÞUUUVVVXmlLVnXWVUĉVaVbWğVéUVU¹W»aVaaWX_U¥nÇķ¯@alUnÇUyk@@wW@kbW¦UKÝwUmmLUnVxUVVlk¯mmnmkÇaŤ¯I@l@@aĉw°ĕmUL±kÆéXÜÛ@yÈç@ÇġÝķXmmÝVÅlmnkbmWkb@nl@nm¯VxkJmUJml¯°makVVnV¦WWmnl@xmnlI¤nxUVUmX@b@zl@¦Ýþ"], + encodeOffsets: [ + [103703, 24874] + ] + } + }, { + type: "Feature", + id: "5333", + properties: { + name: "怒江傈僳族自治州", + cp: [99.1516, 26.5594], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@WyX£lWlnnUU¥@ţVVwJlÅ@wmöó»£kml¯U¥n¹Æ@ny@wmU@¯mnamÛnUV¥ÈnĠy²m¤@ÆónÝnmlnbÞU¥aV£kUKWómIU¥ókwVól»¯Lk@mnaWKÛwóÑw@a±n@VbUJLkaÝXĉUV`lI@lnXÆƑkKmxÛXmlUKVmU²Klw@aaó@nKXwVKU¯V¥mUnkm¥ĉ@UxVĖ°VxVklmÞkKWĀkVWnl°Lnm@°UxlV@nk¦JVÈ°VÒ@nX°@ÆlUômlnô²nxmłnVV¯x@Èm°XblVUl°@xkXU¤WXXWXÆmkÅJmÞw±bxUīkKmÅVUĖÝèVkx@lXlnk¤LkĖk¦xUL°¯Ė@LnK@b°xVI¥Ua°Ñ@»nm@¹KŎÞÈWln²n"], + encodeOffsets: [ + [101071, 28891] + ] + } + }, { + type: "Feature", + id: "5331", + properties: { + name: "德宏傣族景颇族自治州", + cp: [98.12990000000001, 24.5874], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@¥n@°@VwČ£ÿUlÞlmULVwnaÜLXyzKVÿXÝnWXwmaUa°¯VŦÆkUmVIókĕl¯a@£nama@¯m¯ó@óyţbġkÅm±ÛammVkLwU`Wk@VkUmÅlUUKmbkkUVUw¦ó°¼bn°ô¦lºz@x¯@U°nU¤ţU°VƆ@ÈmlnzÞl°¦ÆaxUxLkxWƒn@²ŰW@°ÈXl°Llx"], + encodeOffsets: [ + [100440, 25943] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/util/mapData/geoJson/zhe_jiang_geo", [], function() { + return { + type: "FeatureCollection", + features: [{ + type: "Feature", + id: "3311", + properties: { + name: "丽水市", + cp: [119.5642, 28.1854], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@VbVl@XnUXKV@¦nxlUXVnKVmnLUV@bn¤lLXK²`nnlJXIVJIVnn°KnnVll@VLXWV@UkVaVKzV@VVaUK@U»VUl@@WnUU@wVLn@Vwl@XW°LVbn@VU@Xl`@XnKVbkl@XVJlUnlVxlL@lnXl@VUnV°°@aUVLXblWVXn@VVUV@L¤VLVUVbnalLUUVX_laVaWVzXKV@@a@KUmImmXama@kU@yVIUKaVa@kXK@aWU@VIUmW@kkVmU@VwUa@K@k@U`@kUKVk@UV@VaUm²Vy@klUUWUkVmUa@_KVaXaXmU@mUlWkaUX@mmkL@wJnVVÅbWKXa@@I@aJUUÇ@VULW@akLmb@K@aXXw@mVmUVkUy@£@aU@@VkUWm@kUKXUWU_mW@wkkmJUUkLWWUXW@IkJ@k@mW_kÓ_UlLm@I@aUa¯m@ka¯LUJ@mVVxUba@LUKkXbm@Uak@@a@Um`IUbUJ@nUVW@@LnVV@lUbVlUX@`@blXklWUmXlm¦U@@V¯bml@@nUb@llnn@VbX@lV@UVULmU@JVnbVbkbVWxU@@nUVk@"], + encodeOffsets: [ + [121546, 28992] + ] + } + }, { + type: "Feature", + id: "3301", + properties: { + name: "杭州市", + cp: [119.5313, 29.8773], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@X@l°KXXlWb@²`bIX`l@@bWl@n@VnLUV@V@°¦@l@XVlU@@xVbUb@Vkb@@XVJVzJ@LÞ@VmLUxUJ@LUVxbxXUl@VaÈwbaÞa@Vl@XUVx@V@VLlbnVal@lbVnnLnKnL@VlbVJXalIb@KUU@mVInJUVl@xUVLnU@UÞaV@lkV@UanKL@UlKVUnbÆmn@@nUlVnVJl@@UXUL@WVIVJVxVLXV@IÜKnbn@V¥V@@I@y°b@UUwnk°ÆƨVlUçXm£aÇIkV@WV@@aWIUWUIkb@WW@UnK@UU@kaWVkVIVVnU@UWVUV@VmVkKkWIkVWaULU`UImJUImmU@wmwUVIUWVkUamaU@mVkb@KVU@aVU@anKULVJU@kÛUJUVkkVakU@aVwkW@UWkXmWaULUaUK@XJUUmVU@UVUkJ@ImwmKU@k@lUW@@akKmkamIkWl_UwVm@UkaVUUa@UamakbWlkL@aUalU@mkL@U@UlmK@XkKm@Ýakb@xnXb`nUUU@U@wU@@mKkkV¯U@lULUbVbUb@Va@LºÝb@bLmKx@VUL@bk@mxULWl"], + encodeOffsets: [ + [121185, 30184] + ] + } + }, { + type: "Feature", + id: "3303", + properties: { + name: "温州市", + cp: [120.498, 27.8119], + childNum: 9 + }, + geometry: { + type: "Polygon", + coordinates: ["@@ll@xnXV`VXWVL@lXnlV@UV@@b@¤VzUlnVU@nWxW@b@LnalK@bXVKUÈ@VVI@b@J@WbXLÆaUUmI@xlKnn@VWlbkXV@nVWnWbUbL@`VbUnVlVXkV@lUz±VnUbU@@VUlVL@l_@V@l@LVbV@XLV`VÈlxn@lU@aaVVk@XJ@nl@@LU`°LVbL°a@aUVy@anI@aanV@²wÜJX@VVV°kna@WVkaWwU@m@kaUĕÝÝŤnÈaaóI»@±XWkUķ@kV±kwUkWwUÝ»ÛkɳlImaUaWóXÿǬkUnWVmmkKţnŏÞğlUlUx@XWbV@JkX°mb@VULVxUVk@@LWWk@WIkUkJmUkVmI@y@UakLmU@mUUUkaVk@mK@UlUU@UmKmbUUUJ@n@KVLUL@VkJWXX`mnULWlkL@JVLVb@°kxkU@LVV@VLV`UL@VUX"], + encodeOffsets: [ + [122502, 28334] + ] + } + }, { + type: "Feature", + id: "3302", + properties: { + name: "宁波市", + cp: [121.5967, 29.6466], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@Ċ¦ĸĀ°nXÞVKkƨƑźÿ°»n@wô¥ÜbU°ÆXÞWóçĉݱIUÈ¥@U°wÆ»²mm_@aXVKÞVlk@akk̅@£X»VwÆXWa¯aȗbKƽŰĊxLók@@¯nKUL@xkLÑkWULUUmJUXVU@mUX¯@V`mbXbV@@nn¤WXx@kJ@nVVUVl²UbÝVUVk@Wx@V@VXzmlaL@VlLU`XUVVVUnl@VbnJlnUVVnlUKkbmnnVxlJnxmbU@UL@KUVX@xmb@lk@mnVVUè"], + encodeOffsets: [ + [123784, 30977] + ] + } + }, { + type: "Feature", + id: "3309", + properties: { + name: "舟山市", + cp: [122.2559, 30.2234], + childNum: 3 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lƒʠþÆVĢLĊǬXĊÜXôVÑÆwlƏÈóVĭVǓ@ĉwɛkmK@ĉXīWaĉUĵÝm¯ĉwĉ±±nż¯x@VǦV²JĊÞôèÝXÅW¯VÛaó¦@xm¯¼ŹĀ"], + encodeOffsets: [ + [124437, 30983] + ] + } + }, { + type: "Feature", + id: "3310", + properties: { + name: "台州市", + cp: [121.1353, 28.6688], + childNum: 7 + }, + geometry: { + type: "Polygon", + coordinates: ["@@lVIVWVz@bXJl@Xal@°nLll@nVxnVK@UJVb¦°k`UIWJXnÆ@bUJXl@lbWn@UzVV@bVVmVnnJVXnabKUKnUVVUnVLlKVLXaJm£@mU@WanaU_°@VWnV@UVWnIVVVKlXÒlK@wVKL°m@l@ôKwĉƾůUl£@»UVkm@ƅUaÛIŏmUk@mw@a£Wk@ţIm±@ankôUlaUUw¯ōabÇbţmÞÞVĖbl@@nVXxbUl@Xmb¯lUUUW@ÛI±xU@mb@bmJ@bUzV@b¯bKUa¯KV_@Kk@@mWI@lUUb@bkVm@kwUÇU_WKU@Ux@VUnllX@VnJ@UXV@bWL@lUbbVLUJ@zV@lnbWbnnnJV@L"], + encodeOffsets: [ + [123312, 29526] + ] + } + }, { + type: "Feature", + id: "3307", + properties: { + name: "金华市", + cp: [120.0037, 29.1028], + childNum: 8 + }, + geometry: { + type: "Polygon", + coordinates: ["@@nbVb@VbUVlb@VUnVxk`lXnJlbnlL@bX@V@klV@nLnx@JlIVU@VUVnVVI@WVLVbVKXbWnXl@VlXUxb@lVUbllVUIÜVnalKX@@bV@@aUUlUwUw@naWWUVaUUaVbLlxXJVk°UlkU¥@ka@LVlXLVlVWznVn@lxJl_@WX_@mVaa@alU@kVVnaKVLlKb@UUaVabnUWmXU@k@yVI@aÅWmXIVJl_¯¥UaVI@LmUUw@mkkmK¯k@Wbk@WI@aUyUXJkU@bU@WLUyXUbkbW`UVVkKmbUaVUUK£@KVUUUm@UWkXWaUKV@b¯¯mUV@UkmW@kkKwUmkkVUI@WlkUamL@Wk_W@UVm@Ua¯KWXk@Uxm@UK@xVmV@Xk@UVV¼@VLUbUU@yULUbVlU@@XlVUVVbU@lXXVW@XUVl@@VUVÈn@VVU@lVa@UmL@`X@`WL@VUX@lUL@xlx"], + encodeOffsets: [ + [122119, 29948] + ] + } + }, { + type: "Feature", + id: "3308", + properties: { + name: "衢州市", + cp: [118.6853, 28.8666], + childNum: 5 + }, + geometry: { + type: "Polygon", + coordinates: ["@@XkVKnwl@@aVK@UwnLK@aÞa¹@Kb@UVaUaVaVK@k°VUllnL@V@xV@V@VVm_Wam@wlaÞbn@lL@WnLk@V@VlK@nkVVb@blKXklakw@wVK@kVW@UXK@_W@_nKV@Ub@kVUUm@ÇVU@Uk@VU@WUXWW@kVUaVUkU@WWXUKk@Ukmm¯LmmUJUIWJkImm_±WLkKm£@aVUmKUnLmWUkVmw@¥ULVWm@WUka@UmmLmm@@bUX@@WUIm@UVUK@UVUUUVVJmb@bXnmV¼nnn¦mJUVLV@VW@UzUlVnUbl`UnVl@XU@kl@bmÈUxVk@@J@¼W@ÅaVVnzmV@WJk@kWJ@lXbWbXxmVnlLXb@°lKVXnWbWVXmbV@XlbI@Kn@@x@VLlm"], + encodeOffsets: [ + [121185, 30184] + ] + } + }, { + type: "Feature", + id: "3306", + properties: { + name: "绍兴市", + cp: [120.564, 29.7565], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@x@VnnVJnIVJV_VKXblUXJllLUUnU@UVVX@mVUUUJlXUlbV@@VLVmX@@XlaVJVXXJ@b@XU@lUJÈb¤ŌJçVUUnml@@kna@wWVU@LVKV@namwkIUwmnmlaVLkUmVUkmmIUak@VmUUVUWV_kK@UKbnkWyU@@UXwl@VUÞUVak±VUUU@mlI@wXWIWbUKkLUKVmUUmVVLLambUWmIUmnUU@aUUVym@Xkak@W@z@lWVXnmVaUbVb@VakLUKLmbUU@lkV@bbUb@nW`@Xk`Ikwm@mUXyUUkWKUk@Kb@lV¦klV¯UlWIkwKUabVVUbVXXmb@VxxkVVV@bU@@aW@kLmb@lVUIVKmL@bUV@bUV@LalnUV@nbVbUlVXJVUnx"], + encodeOffsets: [ + [122997, 30561] + ] + } + }, { + type: "Feature", + id: "3304", + properties: { + name: "嘉兴市", + cp: [120.9155, 30.6354], + childNum: 6 + }, + geometry: { + type: "Polygon", + coordinates: ["@@@blIX@@VÜVUnn@lklKnI°Þl`²LVKVbnbVaVLUVn@W¦@VkVVb@VI`@blLnLaX@VVb@U@XlVa@@kVaUKV»U_lWXU@albk@VllnLVKn@@UVIUw@y°IVVXU@VV@lwm@wVkƾaJLkΡƧƒlLÝUmW¯ķÿĉ¥IŋWnèkVƧU¯ÅmlVx@V¯az@@JU@U¦m@@nVmn@VLV"], + encodeOffsets: [ + [123233, 31382] + ] + } + }, { + type: "Feature", + id: "3305", + properties: { + name: "湖州市", + cp: [119.8608, 30.7782], + childNum: 4 + }, + geometry: { + type: "Polygon", + coordinates: ["@@kLlkm@VmÛU@UW@kJ@aUK@UnmmU@maÛL@JWUUKUwUIUJ@XKWV@Vk@UIUmVk@mm@ÅnmaUVkL@VKmLVbU@klU@ÝbV@mVUKV@wUkVmIUJ@nVV@LakJWbUIka@UmKmLKmmUUVk@@nmLX`WXUV@@nUlkmlU@UbxVVIlVnn@@nUÒ@°n@@xmb@VbnV@@b@`@L@L@x@blVklVbnnV@aXb°VlU@Wb°ULXWVUVVwÈwÜ»ĸaĠnUVw²X@V@lVU@wlaUUVm@knUV"], + encodeOffsets: [ + [123379, 31500] + ] + } + }], + UTF8Encoding: !0 + } + }), d("echarts/chart/gauge", ["require", "./base", "../util/shape/GaugePointer", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Rectangle", "zrender/shape/Circle", "zrender/shape/Sector", "../config", "../util/ecData", "../util/accMath", "zrender/tool/util", "../chart"], function(p) { + function B(l, s, m, i, r) { + u.call(this, l, s, m, i, r), this.refresh(i) + } + var u = p("./base"), + x = p("../util/shape/GaugePointer"), + j = p("zrender/shape/Text"), + y = p("zrender/shape/Line"), + z = p("zrender/shape/Rectangle"), + A = p("zrender/shape/Circle"), + v = p("zrender/shape/Sector"), + q = p("../config"); + q.gauge = { + zlevel: 0, + z: 2, + center: ["50%", "50%"], + clickable: !0, + legendHoverLink: !0, + radius: "75%", + startAngle: 225, + endAngle: -45, + min: 0, + max: 100, + splitNumber: 10, + axisLine: { + show: !0, + lineStyle: { + color: [ + [0.2, "#228b22"], + [0.8, "#48b"], + [1, "#ff4500"] + ], + width: 30 + } + }, + axisTick: { + show: !0, + splitNumber: 5, + length: 8, + lineStyle: { + color: "#eee", + width: 1, + type: "solid" + } + }, + axisLabel: { + show: !0, + textStyle: { + color: "auto" + } + }, + splitLine: { + show: !0, + length: 30, + lineStyle: { + color: "#eee", + width: 2, + type: "solid" + } + }, + pointer: { + show: !0, + length: "80%", + width: 8, + color: "auto" + }, + title: { + show: !0, + offsetCenter: [0, "-40%"], + textStyle: { + color: "#333", + fontSize: 15 + } + }, + detail: { + show: !0, + backgroundColor: "rgba(0,0,0,0)", + borderWidth: 0, + borderColor: "#ccc", + width: 100, + height: 40, + offsetCenter: [0, "40%"], + textStyle: { + color: "auto", + fontSize: 30 + } + } + }; + var w = p("../util/ecData"), + D = p("../util/accMath"), + C = p("zrender/tool/util"); + return B.prototype = { + type: q.CHART_TYPE_GAUGE, + _buildShape: function() { + var a = this.series; + this._paramsMap = {}, this.selectedMap = {}; + for (var m = 0, l = a.length; l > m; m++) { + a[m].type === q.CHART_TYPE_GAUGE && (this.selectedMap[a[m].name] = !0, a[m] = this.reformOption(a[m]), this.legendHoverLink = a[m].legendHoverLink || this.legendHoverLink, this._buildSingleGauge(m), this.buildMark(m)) + } + this.addShapeList() + }, + _buildSingleGauge: function(a) { + var i = this.series[a]; + this._paramsMap[a] = { + center: this.parseCenter(this.zr, i.center), + radius: this.parseRadius(this.zr, i.radius), + startAngle: i.startAngle.toFixed(2) - 0, + endAngle: i.endAngle.toFixed(2) - 0 + }, this._paramsMap[a].totalAngle = this._paramsMap[a].startAngle - this._paramsMap[a].endAngle, this._colorMap(a), this._buildAxisLine(a), this._buildSplitLine(a), this._buildAxisTick(a), this._buildAxisLabel(a), this._buildPointer(a), this._buildTitle(a), this._buildDetail(a) + }, + _buildAxisLine: function(G) { + var Q = this.series[G]; + if (Q.axisLine.show) { + for (var J, L, m = Q.min, M = Q.max - m, O = this._paramsMap[G], P = O.center, K = O.startAngle, I = O.totalAngle, T = O.colorArray, S = Q.axisLine.lineStyle, F = this.parsePercent(S.width, O.radius[1]), N = O.radius[1], E = N - F, R = K, W = 0, H = T.length; H > W; W++) { + L = K - I * (T[W][0] - m) / M, J = this._getSector(P, E, N, L, R, T[W][1], S, Q.zlevel, Q.z), R = L, J._animationAdd = "r", w.set(J, "seriesIndex", G), w.set(J, "dataIndex", W), this.shapeList.push(J) + } + } + }, + _buildSplitLine: function(H) { + var R = this.series[H]; + if (R.splitLine.show) { + for (var K, N, o, P = this._paramsMap[H], Q = R.splitNumber, L = R.min, J = R.max - L, M = R.splitLine, W = this.parsePercent(M.length, P.radius[1]), T = M.lineStyle, G = T.color, O = P.center, F = P.startAngle * Math.PI / 180, S = P.totalAngle * Math.PI / 180, X = P.radius[1], I = X - W, E = 0; Q >= E; E++) { + K = F - S / Q * E, N = Math.sin(K), o = Math.cos(K), this.shapeList.push(new y({ + zlevel: R.zlevel, + z: R.z + 1, + hoverable: !1, + style: { + xStart: O[0] + o * X, + yStart: O[1] - N * X, + xEnd: O[0] + o * I, + yEnd: O[1] - N * I, + strokeColor: "auto" === G ? this._getColor(H, L + J / Q * E) : G, + lineType: T.type, + lineWidth: T.width, + shadowColor: T.shadowColor, + shadowBlur: T.shadowBlur, + shadowOffsetX: T.shadowOffsetX, + shadowOffsetY: T.shadowOffsetY + } + })) + } + } + }, + _buildAxisTick: function(H) { + var T = this.series[H]; + if (T.axisTick.show) { + for (var L, P, o, R = this._paramsMap[H], S = T.splitNumber, N = T.min, K = T.max - N, O = T.axisTick, Y = O.splitNumber, X = this.parsePercent(O.length, R.radius[1]), G = O.lineStyle, Q = G.color, F = R.center, W = R.startAngle * Math.PI / 180, Z = R.totalAngle * Math.PI / 180, J = R.radius[1], E = J - X, I = 0, M = S * Y; M >= I; I++) { + I % Y !== 0 && (L = W - Z / M * I, P = Math.sin(L), o = Math.cos(L), this.shapeList.push(new y({ + zlevel: T.zlevel, + z: T.z + 1, + hoverable: !1, + style: { + xStart: F[0] + o * J, + yStart: F[1] - P * J, + xEnd: F[0] + o * E, + yEnd: F[1] - P * E, + strokeColor: "auto" === Q ? this._getColor(H, N + K / M * I) : Q, + lineType: G.type, + lineWidth: G.width, + shadowColor: G.shadowColor, + shadowBlur: G.shadowBlur, + shadowOffsetX: G.shadowOffsetX, + shadowOffsetY: G.shadowOffsetY + } + }))) + } + } + }, + _buildAxisLabel: function(G) { + var R = this.series[G]; + if (R.axisLabel.show) { + for (var J, M, N, P, Q = R.splitNumber, K = R.min, I = R.max - K, L = R.axisLabel.textStyle, T = this.getFont(L), F = L.color, O = this._paramsMap[G], E = O.center, S = O.startAngle, V = O.totalAngle, H = O.radius[1] - this.parsePercent(R.splitLine.length, O.radius[1]) - 5, a = 0; Q >= a; a++) { + P = D.accAdd(K, D.accMul(D.accDiv(I, Q), a)), J = S - V / Q * a, M = Math.sin(J * Math.PI / 180), N = Math.cos(J * Math.PI / 180), J = (J + 360) % 360, this.shapeList.push(new j({ + zlevel: R.zlevel, + z: R.z + 1, + hoverable: !1, + style: { + x: E[0] + N * H, + y: E[1] - M * H, + color: "auto" === F ? this._getColor(G, P) : F, + text: this._getLabelText(R.axisLabel.formatter, P), + textAlign: J >= 110 && 250 >= J ? "left" : 70 >= J || J >= 290 ? "right" : "center", + textBaseline: J >= 10 && 170 >= J ? "top" : J >= 190 && 350 >= J ? "bottom" : "middle", + textFont: T, + shadowColor: L.shadowColor, + shadowBlur: L.shadowBlur, + shadowOffsetX: L.shadowOffsetX, + shadowOffsetY: L.shadowOffsetY + } + })) + } + } + }, + _buildPointer: function(s) { + var K = this.series[s]; + if (K.pointer.show) { + var F = K.max - K.min, + m = K.pointer, + H = this._paramsMap[s], + J = this.parsePercent(m.length, H.radius[1]), + G = this.parsePercent(m.width, H.radius[1]), + E = H.center, + M = this._getValue(s); + M = M < K.max ? M : K.max; + var L = (H.startAngle - H.totalAngle / F * (M - K.min)) * Math.PI / 180, + n = "auto" === m.color ? this._getColor(s, M) : m.color, + I = new x({ + zlevel: K.zlevel, + z: K.z + 1, + clickable: this.query(K, "clickable"), + style: { + x: E[0], + y: E[1], + r: J, + startAngle: H.startAngle * Math.PI / 180, + angle: L, + color: n, + width: G, + shadowColor: m.shadowColor, + shadowBlur: m.shadowBlur, + shadowOffsetX: m.shadowOffsetX, + shadowOffsetY: m.shadowOffsetY + }, + highlightStyle: { + brushType: "fill", + width: G > 2 ? 2 : G / 2, + color: "#fff" + } + }); + w.pack(I, this.series[s], s, this.series[s].data[0], 0, this.series[s].data[0].name, M), this.shapeList.push(I), this.shapeList.push(new A({ + zlevel: K.zlevel, + z: K.z + 2, + hoverable: !1, + style: { + x: E[0], + y: E[1], + r: m.width / 2.5, + color: "#fff" + } + })) + } + }, + _buildTitle: function(a) { + var M = this.series[a]; + if (M.title.show) { + var F = M.data[0], + I = null != F.name ? F.name : ""; + if ("" !== I) { + var J = M.title, + K = J.offsetCenter, + L = J.textStyle, + G = L.color, + E = this._paramsMap[a], + H = E.center[0] + this.parsePercent(K[0], E.radius[1]), + N = E.center[1] + this.parsePercent(K[1], E.radius[1]); + this.shapeList.push(new j({ + zlevel: M.zlevel, + z: M.z + (Math.abs(H - E.center[0]) + Math.abs(N - E.center[1]) < 2 * L.fontSize ? 2 : 1), + hoverable: !1, + style: { + x: H, + y: N, + color: "auto" === G ? this._getColor(a) : G, + text: I, + textAlign: "center", + textFont: this.getFont(L), + shadowColor: L.shadowColor, + shadowBlur: L.shadowBlur, + shadowOffsetX: L.shadowOffsetX, + shadowOffsetY: L.shadowOffsetY + } + })) + } + } + }, + _buildDetail: function(E) { + var M = this.series[E]; + if (M.detail.show) { + var G = M.detail, + J = G.offsetCenter, + r = G.backgroundColor, + K = G.textStyle, + L = K.color, + H = this._paramsMap[E], + F = this._getValue(E), + I = H.center[0] - G.width / 2 + this.parsePercent(J[0], H.radius[1]), + N = H.center[1] + this.parsePercent(J[1], H.radius[1]); + this.shapeList.push(new z({ + zlevel: M.zlevel, + z: M.z + (Math.abs(I + G.width / 2 - H.center[0]) + Math.abs(N + G.height / 2 - H.center[1]) < K.fontSize ? 2 : 1), + hoverable: !1, + style: { + x: I, + y: N, + width: G.width, + height: G.height, + brushType: "both", + color: "auto" === r ? this._getColor(E, F) : r, + lineWidth: G.borderWidth, + strokeColor: G.borderColor, + shadowColor: G.shadowColor, + shadowBlur: G.shadowBlur, + shadowOffsetX: G.shadowOffsetX, + shadowOffsetY: G.shadowOffsetY, + text: this._getLabelText(G.formatter, F), + textFont: this.getFont(K), + textPosition: "inside", + textColor: "auto" === L ? this._getColor(E, F) : L + } + })) + } + }, + _getValue: function(a) { + return this.getDataFromOption(this.series[a].data[0]) + }, + _colorMap: function(m) { + var J = this.series[m], + E = J.min, + F = J.max - E, + l = J.axisLine.lineStyle.color; + l instanceof Array || (l = [ + [1, l] + ]); + for (var G = [], H = 0, I = l.length; I > H; H++) { + G.push([l[H][0] * F + E, l[H][1]]) + } + this._paramsMap[m].colorArray = G + }, + _getColor: function(m, s) { + null == s && (s = this._getValue(m)); + for (var o = this._paramsMap[m].colorArray, r = 0, l = o.length; l > r; r++) { + if (o[r][0] >= s) { + return o[r][1] + } + } + return o[o.length - 1][1] + }, + _getSector: function(m, K, F, G, l, H, I, J, E) { + return new v({ + zlevel: J, + z: E, + hoverable: !1, + style: { + x: m[0], + y: m[1], + r0: K, + r: F, + startAngle: G, + endAngle: l, + brushType: "fill", + color: H, + shadowColor: I.shadowColor, + shadowBlur: I.shadowBlur, + shadowOffsetX: I.shadowOffsetX, + shadowOffsetY: I.shadowOffsetY + } + }) + }, + _getLabelText: function(a, i) { + if (a) { + if ("function" == typeof a) { + return a.call(this.myChart, i) + } + if ("string" == typeof a) { + return a.replace("{value}", i) + } + } + return i + }, + refresh: function(a) { + a && (this.option = a, this.series = a.series), this.backupShapeList(), this._buildShape() + } + }, C.inherits(B, u), p("../chart").define("gauge", B), B + }), d("echarts/util/shape/GaugePointer", ["require", "zrender/shape/Base", "zrender/tool/util", "./normalIsCover"], function(a) { + function m(i) { + j.call(this, i) + } + var j = a("zrender/shape/Base"), + l = a("zrender/tool/util"); + return m.prototype = { + type: "gauge-pointer", + buildPath: function(q, x) { + var s = x.r, + u = x.width, + p = x.angle, + v = x.x - Math.cos(p) * u * (u >= s / 3 ? 1 : 2), + w = x.y + Math.sin(p) * u * (u >= s / 3 ? 1 : 2); + p = x.angle - Math.PI / 2, q.moveTo(v, w), q.lineTo(x.x + Math.cos(p) * u, x.y - Math.sin(p) * u), q.lineTo(x.x + Math.cos(x.angle) * s, x.y - Math.sin(x.angle) * s), q.lineTo(x.x - Math.cos(p) * u, x.y + Math.sin(p) * u), q.lineTo(v, w) + }, + getRect: function(q) { + if (q.__rect) { + return q.__rect + } + var v = 2 * q.width, + r = q.x, + s = q.y, + p = r + Math.cos(q.angle) * q.r, + u = s - Math.sin(q.angle) * q.r; + return q.__rect = { + x: Math.min(r, p) - v, + y: Math.min(s, u) - v, + width: Math.abs(r - p) + v, + height: Math.abs(s - u) + v + }, q.__rect + }, + isCover: a("./normalIsCover") + }, l.inherits(m, j), m + }), d("echarts/chart/funnel", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Polygon", "../config", "../util/ecData", "../util/number", "zrender/tool/util", "zrender/tool/color", "zrender/tool/area", "../chart"], function(p) { + function B(l, s, m, i, r) { + u.call(this, l, s, m, i, r), this.refresh(i) + } + var u = p("./base"), + x = p("zrender/shape/Text"), + j = p("zrender/shape/Line"), + y = p("zrender/shape/Polygon"), + z = p("../config"); + z.funnel = { + zlevel: 0, + z: 2, + clickable: !0, + legendHoverLink: !0, + x: 80, + y: 60, + x2: 80, + y2: 60, + min: 0, + max: 100, + minSize: "0%", + maxSize: "100%", + sort: "descending", + gap: 0, + funnelAlign: "center", + itemStyle: { + normal: { + borderColor: "#fff", + borderWidth: 1, + label: { + show: !0, + position: "outer" + }, + labelLine: { + show: !0, + length: 10, + lineStyle: { + width: 1, + type: "solid" + } + } + }, + emphasis: { + borderColor: "rgba(0,0,0,0)", + borderWidth: 1, + label: { + show: !0 + }, + labelLine: { + show: !0 + } + } + } + }; + var A = p("../util/ecData"), + v = p("../util/number"), + q = p("zrender/tool/util"), + w = p("zrender/tool/color"), + C = p("zrender/tool/area"); + return B.prototype = { + type: z.CHART_TYPE_FUNNEL, + _buildShape: function() { + var m = this.series, + s = this.component.legend; + this._paramsMap = {}, this._selected = {}, this.selectedMap = {}; + for (var o, r = 0, l = m.length; l > r; r++) { + if (m[r].type === z.CHART_TYPE_FUNNEL) { + if (m[r] = this.reformOption(m[r]), this.legendHoverLink = m[r].legendHoverLink || this.legendHoverLink, o = m[r].name || "", this.selectedMap[o] = s ? s.isSelected(o) : !0, !this.selectedMap[o]) { + continue + } + this._buildSingleFunnel(r), this.buildMark(r) + } + } + this.addShapeList() + }, + _buildSingleFunnel: function(H) { + var T = this.component.legend, + L = this.series[H], + O = this._mapData(H), + D = this._getLocation(H); + this._paramsMap[H] = { + location: D, + data: O + }; + for (var P, R = 0, S = [], K = 0, N = O.length; N > K; K++) { + P = O[K].name, this.selectedMap[P] = T ? T.isSelected(P) : !0, this.selectedMap[P] && !isNaN(O[K].value) && (S.push(O[K]), R++) + } + if (0 !== R) { + for (var Y, X, G, Q, F = this._buildFunnelCase(H), W = L.funnelAlign, aa = L.gap, J = R > 1 ? (D.height - (R - 1) * aa) / R : D.height, E = D.y, I = "descending" === L.sort ? this._getItemWidth(H, S[0].value) : v.parsePercent(L.minSize, D.width), M = "descending" === L.sort ? 1 : 0, Z = D.centerX, l = [], K = 0, N = S.length; N > K; K++) { + if (P = S[K].name, this.selectedMap[P] && !isNaN(S[K].value)) { + switch (Y = N - 2 >= K ? this._getItemWidth(H, S[K + M].value) : "descending" === L.sort ? v.parsePercent(L.minSize, D.width) : v.parsePercent(L.maxSize, D.width), W) { + case "left": + X = D.x; + break; + case "right": + X = D.x + D.width - I; + break; + default: + X = Z - I / 2 + } + G = this._buildItem(H, S[K]._index, T ? T.getColor(P) : this.zr.getColor(S[K]._index), X, E, I, Y, J, W), E += J + aa, Q = G.style.pointList, l.unshift([Q[0][0] - 10, Q[0][1]]), l.push([Q[1][0] + 10, Q[1][1]]), 0 === K && (0 === I ? (Q = l.pop(), "center" == W && (l[0][0] += 10), "right" == W && (l[0][0] = Q[0]), l[0][1] -= "center" == W ? 10 : 15, 1 == N && (Q = G.style.pointList)) : (l[l.length - 1][1] -= 5, l[0][1] -= 5)), I = Y + } + } + F && (l.unshift([Q[3][0] - 10, Q[3][1]]), l.push([Q[2][0] + 10, Q[2][1]]), 0 === I ? (Q = l.pop(), "center" == W && (l[0][0] += 10), "right" == W && (l[0][0] = Q[0]), l[0][1] += "center" == W ? 10 : 15) : (l[l.length - 1][1] += 5, l[0][1] += 5), F.style.pointList = l) + } + }, + _buildFunnelCase: function(m) { + var s = this.series[m]; + if (this.deepQuery([s, this.option], "calculable")) { + var o = this._paramsMap[m].location, + r = 10, + l = { + hoverable: !1, + style: { + pointListd: [ + [o.x - r, o.y - r], + [o.x + o.width + r, o.y - r], + [o.x + o.width + r, o.y + o.height + r], + [o.x - r, o.y + o.height + r] + ], + brushType: "stroke", + lineWidth: 1, + strokeColor: s.calculableHolderColor || this.ecTheme.calculableHolderColor || z.calculableHolderColor + } + }; + return A.pack(l, s, m, void 0, -1), this.setCalculable(l), l = new y(l), this.shapeList.push(l), l + } + }, + _getLocation: function(m) { + var G = this.series[m], + s = this.zr.getWidth(), + D = this.zr.getHeight(), + l = this.parsePercent(G.x, s), + E = this.parsePercent(G.y, D), + F = null == G.width ? s - l - this.parsePercent(G.x2, s) : this.parsePercent(G.width, s); + return { + x: l, + y: E, + width: F, + height: null == G.height ? D - E - this.parsePercent(G.y2, D) : this.parsePercent(G.height, D), + centerX: l + F / 2 + } + }, + _mapData: function(m) { + function G(a, i) { + return "-" === a.value ? 1 : "-" === i.value ? -1 : i.value - a.value + } + + function s(a, n) { + return -G(a, n) + } + for (var D = this.series[m], l = q.clone(D.data), E = 0, F = l.length; F > E; E++) { + l[E]._index = E + } + return "none" != D.sort && l.sort("descending" === D.sort ? G : s), l + }, + _buildItem: function(F, O, H, K, s, L, N, I, G) { + var J = this.series, + R = J[F], + Q = R.data[O], + E = this.getPolygon(F, O, H, K, s, L, N, I, G); + A.pack(E, J[F], F, J[F].data[O], O, J[F].data[O].name), this.shapeList.push(E); + var M = this.getLabel(F, O, H, K, s, L, N, I, G); + A.pack(M, J[F], F, J[F].data[O], O, J[F].data[O].name), this.shapeList.push(M), this._needLabel(R, Q, !1) || (M.invisible = !0); + var D = this.getLabelLine(F, O, H, K, s, L, N, I, G); + this.shapeList.push(D), this._needLabelLine(R, Q, !1) || (D.invisible = !0); + var P = [], + S = []; + return this._needLabelLine(R, Q, !0) && (P.push(D.id), S.push(D.id)), this._needLabel(R, Q, !0) && (P.push(M.id), S.push(E.id)), E.hoverConnect = P, M.hoverConnect = S, E + }, + _getItemWidth: function(m, I) { + var D = this.series[m], + E = this._paramsMap[m].location, + l = D.min, + F = D.max, + G = v.parsePercent(D.minSize, E.width), + H = v.parsePercent(D.maxSize, E.width); + return (I - l) * (H - G) / (F - l) + G + }, + getPolygon: function(F, O, I, K, m, M, N, J, H) { + var R, Q = this.series[F], + E = Q.data[O], + L = [E, Q], + D = this.deepMerge(L, "itemStyle.normal") || {}, + P = this.deepMerge(L, "itemStyle.emphasis") || {}, + S = this.getItemStyleColor(D.color, F, O, E) || I, + G = this.getItemStyleColor(P.color, F, O, E) || ("string" == typeof S ? w.lift(S, -0.2) : S); + switch (H) { + case "left": + R = K; + break; + case "right": + R = K + (M - N); + break; + default: + R = K + (M - N) / 2 + } + var o = { + zlevel: Q.zlevel, + z: Q.z, + clickable: this.deepQuery(L, "clickable"), + style: { + pointList: [ + [K, m], + [K + M, m], + [R + N, m + J], + [R, m + J] + ], + brushType: "both", + color: S, + lineWidth: D.borderWidth, + strokeColor: D.borderColor + }, + highlightStyle: { + color: G, + lineWidth: P.borderWidth, + strokeColor: P.borderColor + } + }; + return this.deepQuery([E, Q, this.option], "calculable") && (this.setCalculable(o), o.draggable = !0), new y(o) + }, + getLabel: function(G, S, J, n, O, Q, R, M, V) { + var F, P = this.series[G], + E = P.data[S], + T = this._paramsMap[G].location, + Z = q.merge(q.clone(E.itemStyle) || {}, P.itemStyle), + I = "normal", + D = Z[I].label, + H = D.textStyle || {}, + K = Z[I].labelLine.length, + Y = this.getLabelText(G, S, I), + m = this.getFont(H), + N = J; + D.position = D.position || Z.normal.label.position, "inner" === D.position || "inside" === D.position || "center" === D.position ? (F = V, N = Math.max(Q, R) / 2 > C.getTextWidth(Y, m) ? "#fff" : w.reverse(J)) : F = "left" === D.position ? "right" : "left"; + var X = { + zlevel: P.zlevel, + z: P.z + 1, + style: { + x: this._getLabelPoint(D.position, n, T, Q, R, K, V), + y: O + M / 2, + color: H.color || N, + text: Y, + textAlign: H.align || F, + textBaseline: H.baseline || "middle", + textFont: m + } + }; + return I = "emphasis", D = Z[I].label || D, H = D.textStyle || H, K = Z[I].labelLine.length || K, D.position = D.position || Z.normal.label.position, Y = this.getLabelText(G, S, I), m = this.getFont(H), N = J, "inner" === D.position || "inside" === D.position || "center" === D.position ? (F = V, N = Math.max(Q, R) / 2 > C.getTextWidth(Y, m) ? "#fff" : w.reverse(J)) : F = "left" === D.position ? "right" : "left", X.highlightStyle = { + x: this._getLabelPoint(D.position, n, T, Q, R, K, V), + color: H.color || N, + text: Y, + textAlign: H.align || F, + textFont: m, + brushType: "fill" + }, new x(X) + }, + getLabelText: function(m, G, s) { + var D = this.series, + l = D[m], + E = l.data[G], + F = this.deepQuery([E, l], "itemStyle." + s + ".label.formatter"); + return F ? "function" == typeof F ? F.call(this.myChart, { + seriesIndex: m, + seriesName: l.name || "", + series: l, + dataIndex: G, + data: E, + name: E.name, + value: E.value + }) : "string" == typeof F ? F = F.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{a0}", l.name).replace("{b0}", E.name).replace("{c0}", E.value) : void 0 : E.name + }, + getLabelLine: function(F, Q, I, L, M, O, P, J, K) { + var T = this.series[F], + S = T.data[Q], + E = this._paramsMap[F].location, + N = q.merge(q.clone(S.itemStyle) || {}, T.itemStyle), + D = "normal", + R = N[D].labelLine, + W = N[D].labelLine.length, + H = R.lineStyle || {}, + a = N[D].label; + a.position = a.position || N.normal.label.position; + var G = { + zlevel: T.zlevel, + z: T.z + 1, + hoverable: !1, + style: { + xStart: this._getLabelLineStartPoint(L, E, O, P, K), + yStart: M + J / 2, + xEnd: this._getLabelPoint(a.position, L, E, O, P, W, K), + yEnd: M + J / 2, + strokeColor: H.color || I, + lineType: H.type, + lineWidth: H.width + } + }; + return D = "emphasis", R = N[D].labelLine || R, W = N[D].labelLine.length || W, H = R.lineStyle || H, a = N[D].label || a, a.position = a.position, G.highlightStyle = { + xEnd: this._getLabelPoint(a.position, L, E, O, P, W, K), + strokeColor: H.color || I, + lineType: H.type, + lineWidth: H.width + }, new j(G) + }, + _getLabelPoint: function(m, G, s, D, l, E, F) { + switch (m = "inner" === m || "inside" === m ? "center" : m) { + case "center": + return "center" == F ? G + D / 2 : "left" == F ? G + 10 : G + D - 10; + case "left": + return "auto" === E ? s.x - 10 : "center" == F ? s.centerX - Math.max(D, l) / 2 - E : "right" == F ? G - (l > D ? l - D : 0) - E : s.x - E; + default: + return "auto" === E ? s.x + s.width + 10 : "center" == F ? s.centerX + Math.max(D, l) / 2 + E : "right" == F ? s.x + s.width + E : G + Math.max(D, l) + E + } + }, + _getLabelLineStartPoint: function(m, s, o, r, l) { + return "center" == l ? s.centerX : r > o ? m + Math.min(o, r) / 2 : m + Math.max(o, r) / 2 + }, + _needLabel: function(a, m, l) { + return this.deepQuery([m, a], "itemStyle." + (l ? "emphasis" : "normal") + ".label.show") + }, + _needLabelLine: function(a, m, l) { + return this.deepQuery([m, a], "itemStyle." + (l ? "emphasis" : "normal") + ".labelLine.show") + }, + refresh: function(a) { + a && (this.option = a, this.series = a.series), this.backupShapeList(), this._buildShape() + } + }, q.inherits(B, u), p("../chart").define("funnel", B), B + }), d("echarts/chart/eventRiver", ["require", "./base", "../layout/eventRiver", "zrender/shape/Polygon", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "../util/date", "zrender/tool/util", "zrender/tool/color", "../chart"], function(m) { + function z(l, C, s, i, A) { + q.call(this, l, C, s, i, A); + var B = this; + B._ondragend = function() { + B.isDragend = !0 + }, this.refresh(i) + } + var q = m("./base"), + v = m("../layout/eventRiver"), + j = m("zrender/shape/Polygon"); + m("../component/axis"), m("../component/grid"), m("../component/dataZoom"); + var w = m("../config"); + w.eventRiver = { + zlevel: 0, + z: 2, + clickable: !0, + legendHoverLink: !0, + itemStyle: { + normal: { + borderColor: "rgba(0,0,0,0)", + borderWidth: 1, + label: { + show: !0, + position: "inside", + formatter: "{b}" + } + }, + emphasis: { + borderColor: "rgba(0,0,0,0)", + borderWidth: 1, + label: { + show: !0 + } + } + } + }; + var x = m("../util/ecData"), + y = m("../util/date"), + u = m("zrender/tool/util"), + p = m("zrender/tool/color"); + return z.prototype = { + type: w.CHART_TYPE_EVENTRIVER, + _buildShape: function() { + var n = this.series; + this.selectedMap = {}, this._dataPreprocessing(); + for (var A = this.component.legend, r = [], l = 0; l < n.length; l++) { + if (n[l].type === this.type) { + n[l] = this.reformOption(n[l]), this.legendHoverLink = n[l].legendHoverLink || this.legendHoverLink; + var s = n[l].name || ""; + if (this.selectedMap[s] = A ? A.isSelected(s) : !0, !this.selectedMap[s]) { + continue + } + this.buildMark(l), r.push(this.series[l]) + } + } + v(r, this._intervalX, this.component.grid.getArea()), this._drawEventRiver(), this.addShapeList() + }, + _dataPreprocessing: function() { + for (var A, H, C = this.series, E = 0, s = C.length; s > E; E++) { + if (C[E].type === this.type) { + A = this.component.xAxis.getAxis(C[E].xAxisIndex || 0); + for (var F = 0, G = C[E].data.length; G > F; F++) { + H = C[E].data[F].evolution; + for (var D = 0, B = H.length; B > D; D++) { + H[D].timeScale = A.getCoord(y.getNewDate(H[D].time) - 0), H[D].valueScale = Math.pow(H[D].value, 0.8) + } + } + } + } + this._intervalX = Math.round(this.component.grid.getWidth() / 40) + }, + _drawEventRiver: function() { + for (var a = this.series, r = 0; r < a.length; r++) { + var l = a[r].name || ""; + if (a[r].type === this.type && this.selectedMap[l]) { + for (var o = 0; o < a[r].data.length; o++) { + this._drawEventBubble(a[r].data[o], r, o) + } + } + } + }, + _drawEventBubble: function(A, J, C) { + var F = this.series, + G = F[J], + I = G.name || "", + D = G.data[C], + E = [D, G], + M = this.component.legend, + L = M ? M.getColor(I) : this.zr.getColor(J), + r = this.deepMerge(E, "itemStyle.normal") || {}, + H = this.deepMerge(E, "itemStyle.emphasis") || {}, + a = this.getItemStyleColor(r.color, J, C, D) || L, + K = this.getItemStyleColor(H.color, J, C, D) || ("string" == typeof a ? p.lift(a, -0.2) : a), + N = this._calculateControlPoints(A), + B = { + zlevel: G.zlevel, + z: G.z, + clickable: this.deepQuery(E, "clickable"), + style: { + pointList: N, + smooth: "spline", + brushType: "both", + lineJoin: "round", + color: a, + lineWidth: r.borderWidth, + strokeColor: r.borderColor + }, + highlightStyle: { + color: K, + lineWidth: H.borderWidth, + strokeColor: H.borderColor + }, + draggable: "vertical", + ondragend: this._ondragend + }; + B = new j(B), this.addLabel(B, G, D, A.name), x.pack(B, F[J], J, F[J].data[C], C, F[J].data[C].name), this.shapeList.push(B) + }, + _calculateControlPoints: function(B) { + var I = this._intervalX, + C = B.y, + E = B.evolution, + A = E.length; + if (!(1 > A)) { + for (var F = [], G = [], H = 0; A > H; H++) { + F.push(E[H].timeScale), G.push(E[H].valueScale) + } + var D = []; + D.push([F[0], C]); + var H = 0; + for (H = 0; A - 1 > H; H++) { + D.push([(F[H] + F[H + 1]) / 2, G[H] / -2 + C]) + } + for (D.push([(F[H] + (F[H] + I)) / 2, G[H] / -2 + C]), D.push([F[H] + I, C]), D.push([(F[H] + (F[H] + I)) / 2, G[H] / 2 + C]), H = A - 1; H > 0; H--) { + D.push([(F[H] + F[H - 1]) / 2, G[H - 1] / 2 + C]) + } + return D + } + }, + ondragend: function(a, i) { + this.isDragend && a.target && (i.dragOut = !0, i.dragIn = !0, i.needRefresh = !1, this.isDragend = !1) + }, + refresh: function(a) { + a && (this.option = a, this.series = a.series), this.backupShapeList(), this._buildShape() + } + }, u.inherits(z, q), m("../chart").define("eventRiver", z), z + }), d("echarts/layout/eventRiver", ["require"], function() { + function l(t, A, E) { + function G(r, x) { + var s = r.importance, + u = x.importance; + return s > u ? -1 : u > s ? 1 : 0 + } + for (var H = 4, C = 0; C < t.length; C++) { + for (var z = 0; z < t[C].data.length; z++) { + null == t[C].data[z].weight && (t[C].data[z].weight = 1); + for (var D = 0, K = 0; K < t[C].data[z].evolution.length; K++) { + D += t[C].data[z].evolution[K].valueScale + } + t[C].data[z].importance = D * t[C].data[z].weight + } + t[C].data.sort(G) + } + for (var C = 0; C < t.length; C++) { + null == t[C].weight && (t[C].weight = 1); + for (var D = 0, z = 0; z < t[C].data.length; z++) { + D += t[C].data[z].weight + } + t[C].importance = D * t[C].weight + } + t.sort(G); + for (var J = Number.MAX_VALUE, q = 0, C = 0; C < t.length; C++) { + for (var z = 0; z < t[C].data.length; z++) { + for (var K = 0; K < t[C].data[z].evolution.length; K++) { + var F = t[C].data[z].evolution[K].timeScale; + J = Math.min(J, F), q = Math.max(q, F) + } + } + } + J = ~~J, q = ~~q; + for (var n = function() { + var i = q - J + 1 + ~~A; + if (0 >= i) { + return [0] + } + for (var r = []; i--;) { + r.push(0) + } + return r + }(), I = n.slice(0), M = [], w = 0, a = 0, C = 0; C < t.length; C++) { + for (var z = 0; z < t[C].data.length; z++) { + var v = t[C].data[z]; + v.time = [], v.value = []; + for (var B, L = 0, K = 0; K < t[C].data[z].evolution.length; K++) { + B = t[C].data[z].evolution[K], v.time.push(B.timeScale), v.value.push(B.valueScale), L = Math.max(L, B.valueScale) + } + o(v, A, J), v.y = j(I, v, function(i, r) { + return i.ypx[r] + }), v._offset = j(n, v, function() { + return H + }), w = Math.max(w, v.y + L), a = Math.max(a, v._offset), M.push(v) + } + } + p(M, E, w, a) + } + + function p(v, E, x, A) { + for (var q = E.height, B = A / q > 0.5 ? 0.5 : 1, C = E.y, D = (E.height - A) / x, y = 0, w = v.length; w > y; y++) { + var z = v[y]; + z.y = C + D * z.y + z._offset * B, delete z.time, delete z.value, delete z.xpx, delete z.ypx, delete z._offset; + for (var G = z.evolution, F = 0, u = G.length; u > F; F++) { + G[F].valueScale *= D + } + } + } + + function m(r, w, s, u) { + if (r === s) { + throw new Error("x0 is equal with x1!!!") + } + if (w === u) { + return function() { + return w + } + } + var q = (w - u) / (r - s), + v = (u * r - w * s) / (r - s); + return function(a) { + return q * a + v + } + } + + function o(q, B, x) { + var i = ~~B, + y = q.time.length; + q.xpx = [], q.ypx = []; + for (var z, A = 0, v = 0, u = 0, w = 0, D = 0; y > A; A++) { + v = ~~q.time[A], w = q.value[A] / 2, A === y - 1 ? (u = v + i, D = 0) : (u = ~~q.time[A + 1], D = q.value[A + 1] / 2), z = m(v, w, u, D); + for (var C = v; u > C; C++) { + q.xpx.push(C - x), q.ypx.push(z(C)) + } + } + q.xpx.push(u - x), q.ypx.push(D) + } + + function j(s, y, u) { + for (var v, q = 0, w = y.xpx.length, x = 0; w > x; x++) { + v = u(y, x), q = Math.max(q, v + s[y.xpx[x]]) + } + for (x = 0; w > x; x++) { + v = u(y, x), s[y.xpx[x]] = q + v + } + return q + } + return l + }), d("echarts/chart/venn", ["require", "./base", "zrender/shape/Text", "zrender/shape/Circle", "zrender/shape/Path", "../config", "../util/ecData", "zrender/tool/util", "../chart"], function(m) { + function y(l, z, r, i, s) { + p.call(this, l, z, r, i, s), this.refresh(i) + } + var p = m("./base"), + u = m("zrender/shape/Text"), + j = m("zrender/shape/Circle"), + v = m("zrender/shape/Path"), + w = m("../config"); + w.venn = { + zlevel: 0, + z: 1, + calculable: !1 + }; + var x = m("../util/ecData"), + q = m("zrender/tool/util"); + return y.prototype = { + type: w.CHART_TYPE_VENN, + _buildShape: function() { + this.selectedMap = {}, this._symbol = this.option.symbolList, this._queryTarget, this._dropBoxList = [], this._vennDataCounter = 0; + for (var a = this.series, r = this.component.legend, l = 0; l < a.length; l++) { + if (a[l].type === w.CHART_TYPE_VENN) { + a[l] = this.reformOption(a[l]); + var o = a[l].name || ""; + if (this.selectedMap[o] = r ? r.isSelected(o) : !0, !this.selectedMap[o]) { + continue + } + this._buildVenn(l) + } + } + this.addShapeList() + }, + _buildVenn: function(B) { + var L, D, G = this.series[B], + z = G.data; + z[0].value > z[1].value ? (L = this.zr.getHeight() / 3, D = L * Math.sqrt(z[1].value) / Math.sqrt(z[0].value)) : (D = this.zr.getHeight() / 3, L = D * Math.sqrt(z[0].value) / Math.sqrt(z[1].value)); + var H = this.zr.getWidth() / 2 - L, + J = (L + D) / 2 * Math.sqrt(z[2].value) / Math.sqrt((z[0].value + z[1].value) / 2), + K = L + D; + 0 !== z[2].value && (K = this._getCoincideLength(z[0].value, z[1].value, z[2].value, L, D, J, Math.abs(L - D), L + D)); + var E = H + K, + C = this.zr.getHeight() / 2; + if (this._buildItem(B, 0, z[0], H, C, L), this._buildItem(B, 1, z[1], E, C, D), 0 !== z[2].value && z[2].value !== z[0].value && z[2].value !== z[1].value) { + var F = (L * L - D * D) / (2 * K) + K / 2, + N = K / 2 - (L * L - D * D) / (2 * K), + M = Math.sqrt(L * L - F * F), + A = 0, + I = 0; + z[0].value > z[1].value && H + F > E && (I = 1), z[0].value < z[1].value && H + N > E && (A = 1), this._buildCoincideItem(B, 2, z[2], H + F, C - M, C + M, L, D, A, I) + } + }, + _getCoincideLength: function(C, M, E, H, z, I, K, L) { + var F = (H * H - z * z) / (2 * I) + I / 2, + D = I / 2 - (H * H - z * z) / (2 * I), + G = Math.acos(F / H), + P = Math.acos(D / z), + O = H * H * Math.PI, + B = G * H * H - F * H * Math.sin(G) + P * z * z - D * z * Math.sin(P), + J = B / O, + A = E / C, + N = Math.abs(J / A); + return N > 0.999 && 1.001 > N ? I : 0.999 >= N ? (L = I, I = (I + K) / 2, this._getCoincideLength(C, M, E, H, z, I, K, L)) : (K = I, I = (I + L) / 2, this._getCoincideLength(C, M, E, H, z, I, K, L)) + }, + _buildItem: function(z, H, B, E, s, F) { + var G = this.series, + C = G[z], + A = this.getCircle(z, H, B, E, s, F); + if (x.pack(A, C, z, B, H, B.name), this.shapeList.push(A), C.itemStyle.normal.label.show) { + var D = this.getLabel(z, H, B, E, s, F); + x.pack(D, C, z, C.data[H], H, C.data[H].name), this.shapeList.push(D) + } + }, + _buildCoincideItem: function(B, M, F, J, o, L, H, E, I, P) { + var O = this.series, + A = O[B], + K = [F, A], + z = this.deepMerge(K, "itemStyle.normal") || {}, + N = this.deepMerge(K, "itemStyle.emphasis") || {}, + Q = z.color || this.zr.getColor(M), + D = N.color || this.zr.getColor(M), + s = "M" + J + "," + o + "A" + H + "," + H + ",0," + I + ",1," + J + "," + L + "A" + E + "," + E + ",0," + P + ",1," + J + "," + o, + C = { + color: Q, + path: s + }, + G = { + zlevel: A.zlevel, + z: A.z, + style: C, + highlightStyle: { + color: D, + lineWidth: N.borderWidth, + strokeColor: N.borderColor + } + }; + G = new v(G), G.buildPathArray && (G.style.pathArray = G.buildPathArray(C.path)), x.pack(G, O[B], 0, F, M, F.name), this.shapeList.push(G) + }, + getCircle: function(z, I, B, E, F, G) { + var H = this.series[z], + C = [B, H], + A = this.deepMerge(C, "itemStyle.normal") || {}, + D = this.deepMerge(C, "itemStyle.emphasis") || {}, + K = A.color || this.zr.getColor(I), + J = D.color || this.zr.getColor(I), + a = { + zlevel: H.zlevel, + z: H.z, + clickable: !0, + style: { + x: E, + y: F, + r: G, + brushType: "fill", + opacity: 1, + color: K + }, + highlightStyle: { + color: J, + lineWidth: D.borderWidth, + strokeColor: D.borderColor + } + }; + return this.deepQuery([B, H, this.option], "calculable") && (this.setCalculable(a), a.draggable = !0), new j(a) + }, + getLabel: function(B, L, E, n, H, J) { + var K = this.series[B], + F = K.itemStyle, + D = [E, K], + G = this.deepMerge(D, "itemStyle.normal") || {}, + O = "normal", + N = F[O].label, + A = N.textStyle || {}, + I = this.getLabelText(L, E, O), + z = this.getFont(A), + M = G.color || this.zr.getColor(L), + P = A.fontSize || 12, + C = { + zlevel: K.zlevel, + z: K.z, + style: { + x: n, + y: H - J - P, + color: A.color || M, + text: I, + textFont: z, + textAlign: "center" + } + }; + return new u(C) + }, + getLabelText: function(r, B, s) { + var z = this.series, + l = z[0], + A = this.deepQuery([B, l], "itemStyle." + s + ".label.formatter"); + return A ? "function" == typeof A ? A(l.name, B.name, B.value) : "string" == typeof A ? (A = A.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}"), A = A.replace("{a0}", l.name).replace("{b0}", B.name).replace("{c0}", B.value)) : void 0 : B.name + }, + refresh: function(a) { + a && (this.option = a, this.series = a.series), this._buildShape() + } + }, q.inherits(y, p), m("../chart").define("venn", y), y + }), d("echarts/chart/treemap", ["require", "./base", "zrender/tool/area", "zrender/shape/Rectangle", "zrender/shape/Text", "zrender/shape/Line", "../layout/TreeMap", "../data/Tree", "../config", "../util/ecData", "zrender/config", "zrender/tool/event", "zrender/tool/util", "zrender/tool/color", "../chart"], function(q) { + function C(l, G, m, i, s) { + v.call(this, l, G, m, i, s), this.refresh(i); + var F = this; + F._onclick = function(a) { + return F.__onclick(a) + }, F.zr.on(E.EVENT.CLICK, F._onclick) + } + var v = q("./base"), + y = q("zrender/tool/area"), + j = q("zrender/shape/Rectangle"), + z = q("zrender/shape/Text"), + A = q("zrender/shape/Line"), + B = q("../layout/TreeMap"), + w = q("../data/Tree"), + u = q("../config"); + u.treemap = { + zlevel: 0, + z: 1, + calculable: !1, + clickable: !0, + center: ["50%", "50%"], + size: ["80%", "80%"], + root: "", + itemStyle: { + normal: { + label: { + show: !0, + x: 5, + y: 12, + textStyle: { + align: "left", + color: "#000", + fontFamily: "Arial", + fontSize: 13, + fontStyle: "normal", + fontWeight: "normal" + } + }, + breadcrumb: { + show: !0, + textStyle: {} + }, + borderWidth: 1, + borderColor: "#ccc", + childBorderWidth: 1, + childBorderColor: "#ccc" + }, + emphasis: {} + } + }; + var x = q("../util/ecData"), + E = q("zrender/config"), + D = (q("zrender/tool/event"), q("zrender/tool/util")), + p = q("zrender/tool/color"); + return C.prototype = { + type: u.CHART_TYPE_TREEMAP, + refresh: function(m) { + this.clear(), m && (this.option = m, this.series = this.option.series), this._treesMap = {}; + for (var s = this.series, o = this.component.legend, r = 0; r < s.length; r++) { + if (s[r].type === u.CHART_TYPE_TREEMAP) { + s[r] = this.reformOption(s[r]); + var l = s[r].name || ""; + if (this.selectedMap[l] = o ? o.isSelected(l) : !0, !this.selectedMap[l]) { + continue + } + this._buildSeries(s[r], r) + } + } + }, + _buildSeries: function(a, o) { + var l = w.fromOptionData(a.name, a.data); + this._treesMap[o] = l; + var m = a.root && l.getNodeById(a.root) || l.root; + this._buildTreemap(m, o) + }, + _buildTreemap: function(I, Z) { + for (var N = this.shapeList, R = 0; R < N.length;) { + var s = N[R]; + x.get(s, "seriesIndex") === Z ? (this.zr.delShape(N[R]), N.splice(R, 1)) : R++ + } + for (var S = N.length, Y = this.series[Z], P = Y.itemStyle, M = this.parsePercent(Y.size[0], this.zr.getWidth()) || 400, ac = this.parsePercent(Y.size[1], this.zr.getHeight()) || 500, ab = this.parseCenter(this.zr, Y.center), H = ab[0] - 0.5 * M, T = ab[1] - 0.5 * ac, G = M * ac, aa = 0, ag = [], K = I.children, R = 0; R < K.length; R++) { + aa += K[R].data.value + } + for (var F = 0; F < K.length; F++) { + ag.push(K[F].data.value * G / aa) + } + for (var J = new B({ + x: H, + y: T, + width: M, + height: ac + }), O = J.run(ag), ae = 0; ae < O.length; ae++) { + var m = K[ae].data, + Q = O[ae], + ad = [m.itemStyle, P], + af = this.deepMerge(ad); + af.normal.color || (af.normal.color = this.zr.getColor(ae)), af.emphasis.color || (af.emphasis.color = af.normal.color), this._buildItem(m, af, Q, Z, ae), m.children && this._buildChildrenTreemap(m.children, af, Q, Z) + } + this.query(Y, "itemStyle.normal.breadcrumb.show") && this._buildBreadcrumb(I, Z, H, T + ac); + for (var R = S; R < N.length; R++) { + this.zr.addShape(N[R]) + } + }, + _buildItem: function(m, I, s, F, l) { + var G = this.series, + H = this.getRectangle(m, I, s); + x.pack(H, G[F], F, m, l, m.name), this.shapeList.push(H) + }, + getRectangle: function(a, K, m) { + var G = K.emphasis, + H = K.normal, + I = this.getLabel(K, m, a.name, a.value), + J = this.option.hoverable, + F = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: J, + clickable: !0, + style: D.merge({ + x: m.x, + y: m.y, + width: m.width, + height: m.height, + brushType: "both", + color: H.color, + lineWidth: H.borderWidth, + strokeColor: H.borderColor + }, I.style, !0), + highlightStyle: D.merge({ + color: G.color, + lineWidth: G.borderWidth, + strokeColor: G.borderColor + }, I.highlightStyle, !0) + }; + return new j(F) + }, + getLabel: function(H, R, K, n) { + var N = H.normal.label.textStyle, + P = [H.emphasis.label.textStyle, N], + Q = this.deepMerge(P), + L = H.normal.label.formatter, + J = this.getLabelText(K, n, L), + M = this.getFont(N), + W = y.getTextWidth(J, M), + T = y.getTextHeight(J, M), + G = this.deepQuery([H.emphasis, H.normal], "label.formatter"), + O = this.getLabelText(K, n, G), + F = this.getFont(Q), + S = y.getTextWidth(J, F), + X = y.getTextHeight(J, F); + H.normal.label.show ? (H.normal.label.x + W > R.width || H.normal.label.y + T > R.height) && (J = "") : J = "", H.emphasis.label.show ? (Q.x + S > R.width || Q.y + X > R.height) && (O = "") : O = ""; + var I = { + style: { + textX: R.x + H.normal.label.x, + textY: R.y + H.normal.label.y, + text: J, + textPosition: "specific", + textColor: N.color, + textFont: M + }, + highlightStyle: { + textX: R.x + H.emphasis.label.x, + textY: R.y + H.emphasis.label.y, + text: O, + textColor: Q.color, + textPosition: "specific" + } + }; + return I + }, + getLabelText: function(a, m, l) { + return l ? "function" == typeof l ? l.call(this.myChart, a, m) : "string" == typeof l ? (l = l.replace("{b}", "{b0}").replace("{c}", "{c0}"), l = l.replace("{b0}", a).replace("{c0}", m)) : void 0 : a + }, + _buildChildrenTreemap: function(G, P, J, L) { + for (var m = J.width * J.height, M = 0, O = [], K = 0; K < G.length; K++) { + M += G[K].value + } + for (var I = 0; I < G.length; I++) { + O.push(G[I].value * m / M) + } + for (var S = new B({ + x: J.x, + y: J.y, + width: J.width, + height: J.height + }), R = S.run(O), F = P.normal.childBorderWidth, N = P.normal.childBorderColor, s = 0; s < R.length; s++) { + var Q = R[s], + T = []; + J.y.toFixed(2) !== Q.y.toFixed(2) && T.push(this._getLine(Q.x, Q.y, Q.x + Q.width, Q.y, F, N)), J.x.toFixed(2) !== Q.x.toFixed(2) && T.push(this._getLine(Q.x, Q.y, Q.x, Q.y + Q.height, F, N)), (J.y + J.height).toFixed(2) !== (Q.y + Q.height).toFixed(2) && T.push(this._getLine(Q.x, Q.y + Q.height, Q.x + Q.width, Q.y + Q.height, F, N)), (J.x + J.width).toFixed(2) !== (Q.x + Q.width).toFixed(2) && T.push(this._getLine(Q.x + Q.width, Q.y, Q.x + Q.width, Q.y + Q.height, F, N)); + for (var H = 0; H < T.length; H++) { + x.set(T[H], "seriesIndex", L), this.shapeList.push(T[H]) + } + } + }, + _getLine: function(m, I, r, F, l, G) { + var H = { + zlevel: this.getZlevelBase(), + z: this.getZBase(), + hoverable: !1, + style: { + xStart: m, + yStart: I, + xEnd: r, + yEnd: F, + lineWidth: l, + strokeColor: G + } + }; + return new A(H) + }, + _buildBreadcrumb: function(F, N, H, J) { + for (var m = [], L = F; L;) { + m.unshift(L.data.name), L = L.parent + } + for (var M = this.series[N], I = this.query(M, "itemStyle.normal.breadcrumb.textStyle") || {}, G = this.query(M, "itemStyle.emphasis.breadcrumb.textStyle") || {}, P = { + y: J + 10, + textBaseline: "top", + textAlign: "left", + color: I.color, + textFont: this.getFont(I) + }, K = { + brushType: "fill", + color: G.color || p.lift(I.color, -0.3), + textFont: this.getFont(G) + }, o = 0; o < m.length; o++) { + var O = new z({ + zlevel: this.getZlevelBase(), + z: this.getZBase(), + style: D.merge({ + x: H, + text: m[o] + (m.length - 1 - o ? " > " : "") + }, P), + clickable: !0, + highlightStyle: K + }); + x.set(O, "seriesIndex", N), x.set(O, "name", m[o]), H += O.getRect(O.style).width, this.shapeList.push(O) + } + }, + __onclick: function(m) { + var G = m.target; + if (G) { + var r = x.get(G, "seriesIndex"), + s = x.get(G, "name"), + l = this._treesMap[r], + F = l.getNodeById(s); + F && F.children.length && this._buildTreemap(F, r) + } + } + }, D.inherits(C, v), q("../chart").define("treemap", C), C + }), d("echarts/layout/TreeMap", ["require"], function() { + function a(i) { + ({ + x: i.x, + y: i.y, + width: i.width, + height: i.height + }); + this.x = i.x, this.y = i.y, this.width = i.width, this.height = i.height + } + return a.prototype.run = function(i) { + var j = []; + return this._squarify(i, { + x: this.x, + y: this.y, + width: this.width, + height: this.height + }, j), j + }, a.prototype._squarify = function(p, B, u) { + var x = "VERTICAL", + j = B.width, + y = B.height; + B.width < B.height && (x = "HORIZONTAL", j = B.height, y = B.width); + for (var z = this._getShapeListInAbstractRow(p, j, y), A = 0; A < z.length; A++) { + z[A].x = 0, z[A].y = 0; + for (var v = 0; A > v; v++) { + z[A].y += z[v].height + } + } + var q = {}; + if ("VERTICAL" == x) { + for (var w = 0; w < z.length; w++) { + u.push({ + x: z[w].x + B.x, + y: z[w].y + B.y, + width: z[w].width, + height: z[w].height + }) + } + q = { + x: z[0].width + B.x, + y: B.y, + width: B.width - z[0].width, + height: B.height + } + } else { + for (var D = 0; D < z.length; D++) { + u.push({ + x: z[D].y + B.x, + y: z[D].x + B.y, + width: z[D].height, + height: z[D].width + }) + } + q = { + x: B.x, + y: B.y + z[0].width, + width: B.width, + height: B.height - z[0].width + } + } + var C = p.slice(z.length); + 0 !== C.length && this._squarify(C, q, u) + }, a.prototype._getShapeListInAbstractRow = function(l, r, m) { + if (1 === l.length) { + return [{ + width: r, + height: m + }] + } + for (var p = 1; p < l.length; p++) { + var j = this._placeFixedNumberRectangles(l.slice(0, p), r, m), + q = this._placeFixedNumberRectangles(l.slice(0, p + 1), r, m); + if (this._isFirstBetter(j, q)) { + return j + } + } + }, a.prototype._placeFixedNumberRectangles = function(m, z, q) { + for (var v = m.length, j = [], w = 0, x = 0; x < m.length; x++) { + w += m[x] + } + for (var y = w / q, u = 0; v > u; u++) { + var p = q * m[u] / w; + j.push({ + width: y, + height: p + }) + } + return j + }, a.prototype._isFirstBetter = function(j, o) { + var l = j[0].height / j[0].width; + l = l > 1 ? 1 / l : l; + var m = o[0].height / o[0].width; + return m = m > 1 ? 1 / m : m, Math.abs(l - 1) <= Math.abs(m - 1) ? !0 : !1 + }, a + }), d("echarts/data/Tree", ["require", "zrender/tool/util"], function(a) { + function m(i, n) { + this.id = i, this.depth = 0, this.height = 0, this.children = [], this.parent = null, this.data = n || null + } + + function j(i) { + this.root = new m(i) + } + var l = a("zrender/tool/util"); + return m.prototype.add = function(i) { + var n = this.children; + i.parent !== this && (n.push(i), i.parent = this) + }, m.prototype.remove = function(n) { + var p = this.children, + o = l.indexOf(p, n); + o >= 0 && (p.splice(o, 1), n.parent = null) + }, m.prototype.traverse = function(n, p) { + n.call(p, this); + for (var o = 0; o < this.children.length; o++) { + this.children[o].traverse(n, p) + } + }, m.prototype.updateDepthAndHeight = function(o) { + var r = 0; + this.depth = o; + for (var p = 0; p < this.children.length; p++) { + var q = this.children[p]; + q.updateDepthAndHeight(o + 1), q.height > r && (r = q.height) + } + this.height = r + 1 + }, m.prototype.getNodeById = function(n) { + if (this.id === n) { + return this + } + for (var p = 0; p < this.children.length; p++) { + var o = this.children[p].getNodeById(n); + if (o) { + return o + } + } + }, j.prototype.traverse = function(i, n) { + this.root.traverse(i, n) + }, j.prototype.getSubTree = function(i) { + var p = this.getNodeById(i); + if (p) { + var o = new j(p.id); + return o.root = p, o + } + }, j.prototype.getNodeById = function(i) { + return this.root.getNodeById(i) + }, j.fromOptionData = function(p, q) { + function i(s, w) { + var x = new m(s.name, s); + w.add(x); + var y = s.children; + if (y) { + for (var z = 0; z < y.length; z++) { + i(y[z], x) + } + } + } + var t = new j(p), + u = t.root; + u.data = { + name: p, + children: q + }; + for (var v = 0; v < q.length; v++) { + i(q[v], u) + } + return t.root.updateDepthAndHeight(0), t + }, j.fromGraph = function(p) { + function v(A) { + for (var n = p.getNodeById(A.id), e = 0; e < n.outEdges.length; e++) { + var o = n.outEdges[e], + z = w[o.node2.id]; + A.children.push(z), v(z) + } + } + for (var i = {}, w = {}, x = 0; x < p.nodes.length; x++) { + var y, t = p.nodes[x]; + 0 === t.inDegree() ? (i[t.id] = new j(t.id), y = i[t.id].root) : y = new m(t.id), y.data = t.data, w[t.id] = y + } + var q = []; + for (var u in i) { + v(i[u].root), i[u].root.updateDepthAndHeight(0), q.push(i[u]) + } + return q + }, j + }), d("echarts/chart/tree", ["require", "./base", "../util/shape/Icon", "zrender/shape/Image", "zrender/shape/Line", "zrender/shape/BezierCurve", "../layout/Tree", "../data/Tree", "../config", "../util/ecData", "zrender/config", "zrender/tool/event", "zrender/tool/util", "../chart"], function(p) { + function B(l, s, m, i, r) { + u.call(this, l, s, m, i, r), this.refresh(i) + } + var u = p("./base"), + x = 0.618, + j = p("../util/shape/Icon"), + y = p("zrender/shape/Image"), + z = p("zrender/shape/Line"), + A = p("zrender/shape/BezierCurve"), + v = p("../layout/Tree"), + q = p("../data/Tree"), + w = p("../config"); + w.tree = { + zlevel: 1, + z: 2, + calculable: !1, + clickable: !0, + rootLocation: {}, + orient: "vertical", + symbol: "circle", + symbolSize: 20, + nodePadding: 30, + layerPadding: 100, + itemStyle: { + normal: { + label: { + show: !0 + }, + lineStyle: { + width: 1, + color: "#777", + type: "curve" + } + }, + emphasis: {} + } + }; + var D = p("../util/ecData"), + C = (p("zrender/config"), p("zrender/tool/event"), p("zrender/tool/util")); + return B.prototype = { + type: w.CHART_TYPE_TREE, + _buildShape: function(m, s) { + var o = m.data[0]; + this.tree = q.fromOptionData(o.name, o.children), this.tree.root.data = o, this._setTreeShape(m), this.tree.traverse(function(a) { + this._buildItem(a, m, s), a.children.length > 0 && this._buildLink(a, m) + }, this); + var r = m.roam === !0 || "move" === m.roam, + l = m.roam === !0 || "scale" === m.roam; + this.zr.modLayer(this.getZlevelBase(), { + panable: r, + zoomable: l + }), (this.query("markPoint.effect.show") || this.query("markLine.effect.show")) && this.zr.modLayer(w.EFFECT_ZLEVEL, { + panable: r, + zoomable: l + }), this.addShapeList() + }, + _buildItem: function(E, N, G) { + var J = [E.data, N], + L = this.deepQuery(J, "symbol"), + M = this.deepMerge(J, "itemStyle.normal") || {}, + H = this.deepMerge(J, "itemStyle.emphasis") || {}, + F = M.color || this.zr.getColor(), + I = H.color || this.zr.getColor(), + O = -E.layout.angle || 0; + E.id === this.tree.root.id && (O = 0); + var o = "right"; + Math.abs(O) >= Math.PI / 2 && Math.abs(O) < 3 * Math.PI / 2 && (O += Math.PI, o = "left"); + var K = [O, E.layout.position[0], E.layout.position[1]], + a = new j({ + zlevel: this.getZlevelBase(), + z: this.getZBase() + 1, + rotation: K, + clickable: this.deepQuery(J, "clickable"), + style: { + x: E.layout.position[0] - 0.5 * E.layout.width, + y: E.layout.position[1] - 0.5 * E.layout.height, + width: E.layout.width, + height: E.layout.height, + iconType: L, + color: F, + brushType: "both", + lineWidth: M.borderWidth, + strokeColor: M.borderColor + }, + highlightStyle: { + color: I, + lineWidth: H.borderWidth, + strokeColor: H.borderColor + } + }); + a.style.iconType.match("image") && (a.style.image = a.style.iconType.replace(new RegExp("^image:\\/\\/"), ""), a = new y({ + rotation: K, + style: a.style, + highlightStyle: a.highlightStyle, + clickable: a.clickable, + zlevel: this.getZlevelBase(), + z: this.getZBase() + })), this.deepQuery(J, "itemStyle.normal.label.show") && (a.style.text = null == E.data.label ? E.id : E.data.label, a.style.textPosition = this.deepQuery(J, "itemStyle.normal.label.position"), "radial" === N.orient && "inside" !== a.style.textPosition && (a.style.textPosition = o), a.style.textColor = this.deepQuery(J, "itemStyle.normal.label.textStyle.color"), a.style.textFont = this.getFont(this.deepQuery(J, "itemStyle.normal.label.textStyle") || {})), this.deepQuery(J, "itemStyle.emphasis.label.show") && (a.highlightStyle.textPosition = this.deepQuery(J, "itemStyle.emphasis.label.position"), a.highlightStyle.textColor = this.deepQuery(J, "itemStyle.emphasis.label.textStyle.color"), a.highlightStyle.textFont = this.getFont(this.deepQuery(J, "itemStyle.emphasis.label.textStyle") || {})), D.pack(a, N, G, E.data, 0, E.id), this.shapeList.push(a) + }, + _buildLink: function(E, L) { + var F = L.itemStyle.normal.lineStyle; + if ("broken" === F.type) { + return void this._buildBrokenLine(E, F, L) + } + for (var H = 0; H < E.children.length; H++) { + var m = E.layout.position[0], + I = E.layout.position[1], + J = E.children[H].layout.position[0], + K = E.children[H].layout.position[1]; + switch (F.type) { + case "curve": + this._buildBezierCurve(E, E.children[H], F, L); + break; + case "broken": + break; + default: + var G = this._getLine(m, I, J, K, F); + this.shapeList.push(G) + } + } + }, + _buildBrokenLine: function(G, Q, J) { + var n = C.clone(Q); + n.type = "solid"; + var M = [], + O = G.layout.position[0], + P = G.layout.position[1], + K = J.orient, + I = G.children[0].layout.position[1], + L = O, + S = P + (I - P) * (1 - x), + F = G.children[0].layout.position[0], + N = S, + E = G.children[G.children.length - 1].layout.position[0], + R = S; + if ("horizontal" === K) { + var T = G.children[0].layout.position[0]; + L = O + (T - O) * (1 - x), S = P, F = L, N = G.children[0].layout.position[1], E = L, R = G.children[G.children.length - 1].layout.position[1] + } + M.push(this._getLine(O, P, L, S, n)), M.push(this._getLine(F, N, E, R, n)); + for (var H = 0; H < G.children.length; H++) { + T = G.children[H].layout.position[0], I = G.children[H].layout.position[1], "horizontal" === K ? N = I : F = T, M.push(this._getLine(F, N, T, I, n)) + } + this.shapeList = this.shapeList.concat(M) + }, + _getLine: function(m, s, o, r, l) { + return m === o && (m = o = this.subPixelOptimize(m, l.width)), s === r && (s = r = this.subPixelOptimize(s, l.width)), new z({ + zlevel: this.getZlevelBase(), + hoverable: !1, + style: C.merge({ + xStart: m, + yStart: s, + xEnd: o, + yEnd: r, + lineType: l.type, + strokeColor: l.color, + lineWidth: l.width + }, l, !0) + }) + }, + _buildBezierCurve: function(H, U, M, s) { + var R = x, + T = s.orient, + O = H.layout.position[0], + K = H.layout.position[1], + Q = U.layout.position[0], + X = U.layout.position[1], + G = O, + S = (X - K) * R + K, + F = Q, + W = (X - K) * (1 - R) + K; + if ("horizontal" === T) { + G = (Q - O) * R + O, S = K, F = (Q - O) * (1 - R) + O, W = X + } else { + if ("radial" === T) { + if (H.id === this.tree.root.id) { + G = (Q - O) * R + O, S = (X - K) * R + K, F = (Q - O) * (1 - R) + O, W = (X - K) * (1 - R) + K + } else { + var Z = H.layout.originPosition[0], + J = H.layout.originPosition[1], + E = U.layout.originPosition[0], + I = U.layout.originPosition[1], + N = this.tree.root.layout.position[0], + Y = this.tree.root.layout.position[1]; + G = Z, S = (I - J) * R + J, F = E, W = (I - J) * (1 - R) + J; + var n = (G - this.minX) / this.width * Math.PI * 2; + G = S * Math.cos(n) + N, S = S * Math.sin(n) + Y, n = (F - this.minX) / this.width * Math.PI * 2, F = W * Math.cos(n) + N, W = W * Math.sin(n) + Y + } + } + } + var P = new A({ + zlevel: this.getZlevelBase(), + hoverable: !1, + style: C.merge({ + xStart: O, + yStart: K, + cpX1: G, + cpY1: S, + cpX2: F, + cpY2: W, + xEnd: Q, + yEnd: X, + strokeColor: M.color, + lineWidth: M.width + }, M, !0) + }); + this.shapeList.push(P) + }, + _setTreeShape: function(E) { + var M = new v({ + nodePadding: E.nodePadding, + layerPadding: E.layerPadding + }); + this.tree.traverse(function(m) { + var a = [m.data, E], + e = this.deepQuery(a, "symbolSize"); + "number" == typeof e && (e = [e, e]), m.layout = { + width: e[0], + height: e[1] + } + }, this), M.run(this.tree); + var G = E.orient, + I = E.rootLocation.x, + l = E.rootLocation.y, + J = this.zr.getWidth(), + K = this.zr.getHeight(); + I = "center" === I ? 0.5 * J : this.parsePercent(I, J), l = "center" === l ? 0.5 * K : this.parsePercent(l, K), l = this.parsePercent(l, K), "horizontal" === G && (I = isNaN(I) ? 10 : I, l = isNaN(l) ? 0.5 * K : l), "radial" === G ? (I = isNaN(I) ? 0.5 * J : I, l = isNaN(l) ? 0.5 * K : l) : (I = isNaN(I) ? 0.5 * J : I, l = isNaN(l) ? 10 : l); + var L = this.tree.root.layout.position[0]; + if ("radial" === G) { + var F = 1 / 0, + H = 0, + N = 0; + this.tree.traverse(function(a) { + H = Math.max(H, a.layout.position[0]), F = Math.min(F, a.layout.position[0]), N = Math.max(N, a.layout.width) + }), this.width = H - F + 2 * N, this.minX = F + } + this.tree.traverse(function(s) { + var i, n; + if ("vertical" === G && "inverse" === E.direction) { + i = s.layout.position[0] - L + I, n = l - s.layout.position[1] + } else { + if ("vertical" === G) { + i = s.layout.position[0] - L + I, n = s.layout.position[1] + l + } else { + if ("horizontal" === G && "inverse" === E.direction) { + n = s.layout.position[0] - L + l, i = I - s.layout.position[1] + } else { + if ("horizontal" === G) { + n = s.layout.position[0] - L + l, i = s.layout.position[1] + I + } else { + i = s.layout.position[0], n = s.layout.position[1], s.layout.originPosition = [i, n]; + var a = n, + e = (i - F) / this.width * Math.PI * 2; + i = a * Math.cos(e) + I, n = a * Math.sin(e) + l, s.layout.angle = e + } + } + } + } + s.layout.position[0] = i, s.layout.position[1] = n + }, this) + }, + refresh: function(m) { + this.clear(), m && (this.option = m, this.series = this.option.series); + for (var s = this.series, o = this.component.legend, r = 0; r < s.length; r++) { + if (s[r].type === w.CHART_TYPE_TREE) { + s[r] = this.reformOption(s[r]); + var l = s[r].name || ""; + if (this.selectedMap[l] = o ? o.isSelected(l) : !0, !this.selectedMap[l]) { + continue + } + this._buildSeries(s[r], r) + } + } + }, + _buildSeries: function(a, i) { + this._buildShape(a, i) + } + }, C.inherits(B, u), p("../chart").define("tree", B), B + }), d("echarts/layout/Tree", ["require", "zrender/tool/vector"], function(a) { + function l(i) { + i = i || {}, this.nodePadding = i.nodePadding || 30, this.layerPadding = i.layerPadding || 100, this._layerOffsets = [], this._layers = [] + } + var j = a("zrender/tool/vector"); + return l.prototype.run = function(m) { + this._layerOffsets.length = 0; + for (var o = 0; o < m.root.height + 1; o++) { + this._layerOffsets[o] = 0, this._layers[o] = [] + } + this._updateNodeXPosition(m.root); + var n = m.root; + this._updateNodeYPosition(n, 0, n.layout.height) + }, l.prototype._updateNodeXPosition = function(m) { + var x = 1 / 0, + q = -(1 / 0); + m.layout.position = m.layout.position || j.create(); + for (var i = 0; i < m.children.length; i++) { + var u = m.children[i]; + this._updateNodeXPosition(u); + var v = u.layout.position[0]; + x > v && (x = v), v > q && (q = v) + } + m.layout.position[0] = m.children.length > 0 ? (x + q) / 2 : 0; + var w = this._layerOffsets[m.depth] || 0; + if (w > m.layout.position[0]) { + var p = w - m.layout.position[0]; + this._shiftSubtree(m, p); + for (var i = m.depth + 1; i < m.height + m.depth; i++) { + this._layerOffsets[i] += p + } + } + this._layerOffsets[m.depth] = m.layout.position[0] + m.layout.width + this.nodePadding, this._layers[m.depth].push(m) + }, l.prototype._shiftSubtree = function(m, o) { + m.layout.position[0] += o; + for (var n = 0; n < m.children.length; n++) { + this._shiftSubtree(m.children[n], o) + } + }, l.prototype._updateNodeYPosition = function(p, u, q) { + p.layout.position[1] = u; + for (var r = 0, m = 0; m < p.children.length; m++) { + r = Math.max(p.children[m].layout.height, r) + } + var s = this.layerPadding; + "function" == typeof s && (s = s(p.depth)); + for (var m = 0; m < p.children.length; m++) { + this._updateNodeYPosition(p.children[m], u + s + q, r) + } + }, l + }), d("echarts/chart/wordCloud", ["require", "./base", "zrender/shape/Text", "../layout/WordCloud", "../component/grid", "../component/dataRange", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "../chart"], function(m) { + function y(l, z, r, i, s) { + p.call(this, l, z, r, i, s), this.refresh(i) + } + var p = m("./base"), + u = m("zrender/shape/Text"), + j = m("../layout/WordCloud"); + m("../component/grid"), m("../component/dataRange"); + var v = m("../config"), + w = m("../util/ecData"), + x = m("zrender/tool/util"), + q = m("zrender/tool/color"); + return v.wordCloud = { + zlevel: 0, + z: 2, + clickable: !0, + center: ["50%", "50%"], + size: ["40%", "40%"], + textRotation: [0, 90], + textPadding: 0, + autoSize: { + enable: !0, + minSize: 12 + }, + itemStyle: { + normal: { + textStyle: { + fontSize: function(a) { + return a.value + } + } + } + } + }, y.prototype = { + type: v.CHART_TYPE_WORDCLOUD, + refresh: function(a) { + a && (this.option = a, this.series = a.series), this._init() + }, + _init: function() { + var a = this.series; + this.backupShapeList(); + for (var r = this.component.legend, l = 0; l < a.length; l++) { + if (a[l].type === v.CHART_TYPE_WORDCLOUD) { + a[l] = this.reformOption(a[l]); + var o = a[l].name || ""; + if (this.selectedMap[o] = r ? r.isSelected(o) : !0, !this.selectedMap[o]) { + continue + } + this.buildMark(l), this._initSerie(a[l]) + } + } + }, + _initSerie: function(a) { + var D = a.itemStyle.normal.textStyle, + l = [this.parsePercent(a.size[0], this.zr.getWidth()) || 200, this.parsePercent(a.size[1], this.zr.getHeight()) || 200], + z = this.parseCenter(this.zr, a.center), + A = { + size: l, + wordletype: { + autoSizeCal: a.autoSize + }, + center: z, + rotate: a.textRotation, + padding: a.textPadding, + font: D.fontFamily, + fontSize: D.fontSize, + fontWeight: D.fontWeight, + fontStyle: D.fontStyle, + text: function(i) { + return i.name + }, + data: a.data + }, + B = new j(A), + C = this; + B.end(function(i) { + C._buildShapes(i) + }), B.start() + }, + _buildShapes: function(a) { + for (var n = a.length, l = 0; n > l; l++) { + this._buildTextShape(a[l], 0, l) + } + this.addShapeList() + }, + _buildTextShape: function(z, G, B) { + var l = this.series, + D = l[G], + F = D.name || "", + A = D.data[B], + C = [A, D], + J = this.component.legend, + I = J ? J.getColor(F) : this.zr.getColor(G), + r = this.deepMerge(C, "itemStyle.normal") || {}, + E = this.deepMerge(C, "itemStyle.emphasis") || {}, + n = this.getItemStyleColor(r.color, G, B, A) || I, + H = this.getItemStyleColor(E.color, G, B, A) || ("string" == typeof n ? q.lift(n, -0.2) : n), + K = new u({ + zlevel: D.zlevel, + z: D.z, + hoverable: !0, + clickable: this.deepQuery(C, "clickable"), + style: { + x: 0, + y: 0, + text: z.text, + color: n, + textFont: [z.style, z.weight, z.size + "px", z.font].join(" "), + textBaseline: "alphabetic", + textAlign: "center" + }, + highlightStyle: { + brushType: E.borderWidth ? "both" : "fill", + color: H, + lineWidth: E.borderWidth || 0, + strokeColor: E.borderColor + }, + position: [z.x, z.y], + rotation: [-z.rotate / 180 * Math.PI, 0, 0] + }); + w.pack(K, D, G, A, B, A.name), this.shapeList.push(K) + } + }, x.inherits(y, p), m("../chart").define("wordCloud", y), y + }), d("echarts/layout/WordCloud", ["require", "../layout/WordCloudRectZero", "zrender/tool/util"], function(a) { + function m(i) { + this._init(i) + } + var j = a("../layout/WordCloudRectZero"), + l = a("zrender/tool/util"); + return m.prototype = { + start: function() { + function v() { + B.totalArea = C, F.autoSizeCal.enable && B._autoCalTextSize(y, C, i, A, F.autoSizeCal.minSize), G.timer && clearInterval(G.timer), G.timer = setInterval(E, 0), E() + } + + function E() { + for (var n, p = +new Date, o = y.length; + new Date - p < G.timeInterval && ++D < o && G.timer;) { + n = y[D], n.x = u[0] >> 1, n.y = u[1] >> 1, B._cloudSprite(n, y, D), n.hasText && B._place(z, n, w) && (x.push(n), n.x -= u[0] >> 1, n.y -= u[1] >> 1) + } + D >= o && (B.stop(), B._fixTagPosition(x), G.endcallback(x)) + } + var z = null, + i = 0, + A = 0, + C = 0, + D = -1, + x = [], + w = null, + y = this.wordsdata, + G = this.defaultOption, + F = G.wordletype, + u = G.size, + B = this, + q = new j({ + type: F.type, + width: u[0], + height: u[1] + }); + return q.calculate(function(e) { + z = e.initarr, i = e.maxWit, A = e.maxHit, C = e.area, w = e.imgboard, v() + }, this), this + }, + _fixTagPosition: function(o) { + for (var r = this.defaultOption.center, p = 0, q = o.length; q > p; p++) { + o[p].x += r[0], o[p].y += r[1] + } + }, + stop: function() { + return this.defaultOption.timer && (clearInterval(this.defaultOption.timer), this.defaultOption.timer = null), this + }, + end: function(i) { + return i && (this.defaultOption.endcallback = i), this + }, + _init: function(i) { + this.defaultOption = {}, this._initProperty(i), this._initMethod(i), this._initCanvas(), this._initData(i.data) + }, + _initData: function(n) { + var p = this, + o = p.defaultOption; + this.wordsdata = n.map(function(i, q) { + return i.text = o.text.call(p, i, q), i.font = o.font.call(p, i, q), i.style = o.fontStyle.call(p, i, q), i.weight = o.fontWeight.call(p, i, q), i.rotate = o.rotate.call(p, i, q), i.size = ~~o.fontSize.call(p, i, q), i.padding = o.padding.call(p, i, q), i + }).sort(function(i, q) { + return q.value - i.value + }) + }, + _initMethod: function(q) { + function C(i) { + return i.name + } + + function v() { + return "sans-serif" + } + + function y() { + return "normal" + } + + function p(i) { + return i.value + } + + function z() { + return 0 + } + + function A(i) { + return function() { + return i[Math.round(Math.random() * (i.length - 1))] + } + } + + function B() { + return 0 + } + + function w(i) { + var n = i[0] / i[1]; + return function(o) { + return [n * (o *= 0.1) * Math.cos(o), o * Math.sin(o)] + } + } + + function u(r) { + var F = 4, + s = F * r[0] / r[1], + E = 0, + o = 0; + return function(i) { + var n = 0 > i ? -1 : 1; + switch (Math.sqrt(1 + 4 * n * i) - n & 3) { + case 0: + E += s; + break; + case 1: + o += F; + break; + case 2: + E -= s; + break; + default: + o -= F + } + return [E, o] + } + } + + function x(i) { + return "function" == typeof i ? i : function() { + return i + } + } + var D = this.defaultOption; + D.text = q.text ? x(q.text) : C, D.font = q.font ? x(q.font) : v, D.fontSize = q.fontSize ? x(q.fontSize) : p, D.fontStyle = q.fontStyle ? x(q.fontStyle) : y, D.fontWeight = q.fontWeight ? x(q.fontWeight) : y, D.rotate = q.rotate ? A(q.rotate) : z, D.padding = q.padding ? x(q.padding) : B, D.center = q.center, D.spiral = w, D.endcallback = function() {}, D.rectangularSpiral = u, D.archimedeanSpiral = w + }, + _initProperty: function(i) { + var n = this.defaultOption; + n.size = i.size || [256, 256], n.wordletype = i.wordletype, n.words = i.words || [], n.timeInterval = 1 / 0, n.timer = null, n.spirals = { + archimedean: n.archimedeanSpiral, + rectangular: n.rectangularSpiral + }, l.merge(n, { + size: [256, 256], + wordletype: { + type: "RECT", + areaPresent: 0.058, + autoSizeCal: { + enable: !0, + minSize: 12 + } + } + }) + }, + _initCanvas: function() { + var q, v = Math.PI / 180, + r = 64, + s = 2048, + p = 1; + "undefined" != typeof document ? (q = document.createElement("canvas"), q.width = 1, q.height = 1, p = Math.sqrt(q.getContext("2d").getImageData(0, 0, 1, 1).data.length >> 2), q.width = (r << 5) / p, q.height = s / p) : q = new Canvas(r << 5, s); + var u = q.getContext("2d"); + u.fillStyle = u.strokeStyle = "red", u.textAlign = "center", this.defaultOption.c = u, this.defaultOption.cw = r, this.defaultOption.ch = s, this.defaultOption.ratio = p, this.defaultOption.cloudRadians = v + }, + _cloudSprite: function(D, S, H) { + if (!D.sprite) { + var N = this.defaultOption.cw, + z = this.defaultOption.ch, + O = this.defaultOption.c, + Q = this.defaultOption.ratio, + R = this.defaultOption.cloudRadians; + O.clearRect(0, 0, (N << 5) / Q, z / Q); + var J = 0, + G = 0, + M = 0, + aa = S.length; + for (--H; ++H < aa;) { + D = S[H], O.save(), O.font = D.style + " " + D.weight + " " + ~~((D.size + 1) / Q) + "px " + D.font; + var Y = O.measureText(D.text + "m").width * Q, + C = D.size << 1; + if (D.rotate) { + var P = Math.sin(D.rotate * R), + B = Math.cos(D.rotate * R), + T = Y * B, + af = Y * P, + F = C * B, + A = C * P; + Y = Math.max(Math.abs(T + A), Math.abs(T - A)) + 31 >> 5 << 5, C = ~~Math.max(Math.abs(af + F), Math.abs(af - F)) + } else { + Y = Y + 31 >> 5 << 5 + } + if (C > M && (M = C), J + Y >= N << 5 && (J = 0, G += M, M = 0), G + C >= z) { + break + } + O.translate((J + (Y >> 1)) / Q, (G + (C >> 1)) / Q), D.rotate && O.rotate(D.rotate * R), O.fillText(D.text, 0, 0), D.padding && (O.lineWidth = 2 * D.padding, O.strokeText(D.text, 0, 0)), O.restore(), D.width = Y, D.height = C, D.xoff = J, D.yoff = G, D.x1 = Y >> 1, D.y1 = C >> 1, D.x0 = -D.x1, D.y0 = -D.y1, D.hasText = !0, J += Y + } + for (var E = O.getImageData(0, 0, (N << 5) / Q, z / Q).data, I = []; --H >= 0;) { + if (D = S[H], D.hasText) { + for (var Y = D.width, ad = Y >> 5, C = D.y1 - D.y0, q = 0; C * ad > q; q++) { + I[q] = 0 + } + if (J = D.xoff, null == J) { + return + } + G = D.yoff; + for (var K = 0, ac = -1, ae = 0; C > ae; ae++) { + for (var q = 0; Y > q; q++) { + var Z = ad * ae + (q >> 5), + ab = E[(G + ae) * (N << 5) + (J + q) << 2] ? 1 << 31 - q % 32 : 0; + I[Z] |= ab, K |= ab + } + K ? ac = ae : (D.y0++, C--, ae--, G++) + } + D.y1 = D.y0 + ac, D.sprite = I.slice(0, (D.y1 - D.y0) * ad) + } + } + } + }, + _place: function(B, Q, F) { + function K(u, ae, y) { + y >>= 5; + for (var aa, p = u.sprite, ab = u.width >> 5, ac = u.x - (ab << 4), ad = 127 & ac, L = 32 - ad, x = u.y1 - u.y0, W = (u.y + u.y0) * y + (ac >> 5), ag = 0; x > ag; ag++) { + aa = 0; + for (var af = 0; ab >= af; af++) { + if ((aa << L | (ab > af ? (aa = p[ag * ab + af]) >>> ad : 0)) & ae[W + af]) { + return !0 + } + } + W += y + } + return !1 + } + + function v(i, n) { + return n.row[i.y] && n.cloumn[i.x] && i.x >= n.row[i.y].start && i.x <= n.row[i.y].end && i.y >= n.cloumn[i.x].start && i.y <= n.cloumn[i.x].end + } + for (var M, O, P, H = this.defaultOption.size, E = ([{ + x: 0, + y: 0 + }, { + x: H[0], + y: H[1] + }], Q.x), J = Q.y, T = Math.sqrt(H[0] * H[0] + H[1] * H[1]), S = this.defaultOption.spiral(H), A = Math.random() < 0.5 ? 1 : -1, N = -A; + (M = S(N += A)) && (O = ~~M[0], P = ~~M[1], !(Math.min(O, P) > T));) { + if (Q.x = E + O, Q.y = J + P, !(Q.x + Q.x0 < 0 || Q.y + Q.y0 < 0 || Q.x + Q.x1 > H[0] || Q.y + Q.y1 > H[1]) && !K(Q, B, H[0]) && v(Q, F)) { + for (var z, R = Q.sprite, Z = Q.width >> 5, D = H[0] >> 5, w = Q.x - (Z << 4), C = 127 & w, G = 32 - C, Y = Q.y1 - Q.y0, q = (Q.y + Q.y0) * D + (w >> 5), I = 0; Y > I; I++) { + z = 0; + for (var X = 0; Z >= X; X++) { + B[q + X] |= z << G | (Z > X ? (z = R[I * Z + X]) >>> C : 0) + } + q += D + } + return delete Q.sprite, !0 + } + } + return !1 + }, + _autoCalTextSize: function(x, I, A, D, q) { + function E(n) { + v.clearRect(0, 0, (w << 5) / J, F / J), v.save(), v.font = n.style + " " + n.weight + " " + ~~((n.size + 1) / J) + "px " + n.font; + var R = v.measureText(n.text + "m").width * J, + P = n.size << 1; + R = R + 31 >> 5 << 5, v.restore(), n.aw = R, n.ah = P; + var Q, N, u; + if (n.rotate) { + var O = Math.sin(n.rotate * M), + S = Math.cos(n.rotate * M), + p = R * S, + i = R * O, + o = P * S, + y = P * O; + N = Math.max(Math.abs(p + y), Math.abs(p - y)) + 31 >> 5 << 5, u = ~~Math.max(Math.abs(i + o), Math.abs(i - o)) + } + return n.size <= K || n.rotate && R * P <= n.area && A >= N && D >= u || R * P <= n.area && A >= R && D >= P ? void(n.area = R * P) : (Q = n.rotate && N > A && u > D ? Math.min(A / N, D / u) : R > A || P > D ? Math.min(A / R, D / P) : Math.sqrt(n.area / (n.aw * n.ah)), n.size = ~~(Q * n.size), n.size < q ? void(n.size = q) : E(n)) + } + + function G(o, s) { + for (var p = o.length, r = 0; p--;) { + r += s(o[p]) + } + return r + } + for (var H, B, z = G(x, function(i) { + return i.size + }), C = x.length, L = 0.25, K = q, w = this.defaultOption.cw, F = this.defaultOption.ch, v = this.defaultOption.c, J = this.defaultOption.ratio, M = this.defaultOption.cloudRadians; C--;) { + H = x[C], B = H.size / z, H.areapre = L ? L > B ? B : L : B, H.area = I * H.areapre, H.totalarea = I, E(H) + } + } + }, m + }), d("echarts/layout/WordCloudRectZero", ["require"], function() { + function a(i) { + this.defaultOption = { + type: "RECT" + }, this._init(i) + } + return a.prototype = { + RECT: "_calculateRect", + _init: function(i) { + this._initOption(i), this._initCanvas() + }, + _initOption: function(i) { + for (k in i) { + this.defaultOption[k] = i[k] + } + }, + _initCanvas: function() { + var j = document.createElement("canvas"); + j.width = 1, j.height = 1; + var m = Math.sqrt(j.getContext("2d").getImageData(0, 0, 1, 1).data.length >> 2); + if (j.width = this.defaultOption.width, j.height = this.defaultOption.height, j.getContext) { + var l = j.getContext("2d") + } + this.canvas = j, this.ctx = l, this.ratio = m + }, + calculate: function(j, o) { + var l = this.defaultOption.type, + m = this[l]; + this[m].call(this, j, o) + }, + _calculateReturn: function(j, m, l) { + m.call(l, j) + }, + _calculateRect: function(l, p) { + var m = {}, + o = this.defaultOption.width >> 5 << 5, + j = this.defaultOption.height; + m.initarr = this._rectZeroArray(o * j), m.area = o * j, m.maxHit = j, m.maxWit = o, m.imgboard = this._rectBoard(o, j), this._calculateReturn(m, l, p) + }, + _rectBoard: function(l, p) { + for (var m = [], o = 0; p > o; o++) { + m.push({ + y: o, + start: 0, + end: l + }) + } + for (var j = [], o = 0; l > o; o++) { + j.push({ + x: o, + start: 0, + end: p + }) + } + return { + row: m, + cloumn: j + } + }, + _rectZeroArray: function(j) { + for (var o = [], l = j, m = -1; ++m < l;) { + o[m] = 0 + } + return o + } + }, a + }), d("echarts/chart/heatmap", ["require", "./base", "../layer/heatmap", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "zrender/shape/Image", "../chart"], function(l) { + function u(r, x, v, i, w) { + m.call(this, r, x, v, i, w), this.refresh(i) + } + var m = l("./base"), + p = l("../layer/heatmap"), + j = l("../config"), + q = (l("../util/ecData"), l("zrender/tool/util")), + s = (l("zrender/tool/color"), l("zrender/shape/Image")); + return j.heatmap = { + zlevel: 0, + z: 2, + clickable: !0 + }, u.prototype = { + type: j.CHART_TYPE_HEATMAP, + refresh: function(a) { + this.clear(), a && (this.option = a, this.series = a.series), this._init() + }, + _init: function() { + var a = this.series; + this.backupShapeList(); + for (var x = a.length, n = 0; x > n; ++n) { + if (a[n].type === j.CHART_TYPE_HEATMAP) { + a[n] = this.reformOption(a[n]); + var v = new p(a[n]), + w = v.getCanvas(a[n].data, this.zr.getWidth(), this.zr.getHeight()), + r = new s({ + position: [0, 0], + scale: [1, 1], + hoverable: this.option.hoverable, + style: { + x: 0, + y: 0, + image: w, + width: w.width, + height: w.height + } + }); + this.shapeList.push(r) + } + } + this.addShapeList() + } + }, q.inherits(u, m), l("../chart").define("heatmap", u), u + }); + var f = h("zrender"); + f.tool = { + color: h("zrender/tool/color"), + math: h("zrender/tool/math"), + util: h("zrender/tool/util"), + vector: h("zrender/tool/vector"), + area: h("zrender/tool/area"), + event: h("zrender/tool/event") + }, f.animation = { + Animation: h("zrender/animation/Animation"), + Cip: h("zrender/animation/Clip"), + easing: h("zrender/animation/easing") + }; + var b = h("echarts"); + b.config = h("echarts/config"), b.util = { + mapData: { + params: h("echarts/util/mapData/params") + } + }, h("echarts/chart/line"), h("echarts/chart/bar"), h("echarts/chart/scatter"), h("echarts/chart/k"), h("echarts/chart/pie"), h("echarts/chart/radar"), h("echarts/chart/chord"), h("echarts/chart/force"), h("echarts/chart/map"), h("echarts/chart/gauge"), h("echarts/chart/funnel"), h("echarts/chart/eventRiver"), h("echarts/chart/venn"), h("echarts/chart/treemap"), h("echarts/chart/tree"), h("echarts/chart/wordCloud"), h("echarts/chart/heatmap"), c.echarts = b, c.zrender = f +}(window); \ No newline at end of file diff --git a/static/js/jquery.js b/static/js/jquery.js new file mode 100644 index 0000000..77ed782 --- /dev/null +++ b/static/js/jquery.js @@ -0,0 +1,4218 @@ +/* jQuery v1.8.2 jquery.com | jquery.org/license */ +(function(a, b) { + function G(a) { + var b = F[a] = {}; + return p.each(a.split(s), function(a, c) { + b[c] = !0 + }), b + } + + function J(a, c, d) { + if (d === b && a.nodeType === 1) { + var e = "data-" + c.replace(I, "-$1").toLowerCase(); + d = a.getAttribute(e); + if (typeof d == "string") { + try { + d = d === "true" ? !0 : d === "false" ? !1 : d === "null" ? null : +d + "" === d ? +d : H.test(d) ? p.parseJSON(d) : d + } catch (f) {} + p.data(a, c, d) + } else { + d = b + } + } + return d + } + + function K(a) { + var b; + for (b in a) { + if (b === "data" && p.isEmptyObject(a[b])) { + continue + } + if (b !== "toJSON") { + return !1 + } + } + return !0 + } + + function ba() { + return !1 + } + + function bb() { + return !0 + } + + function bh(a) { + return !a || !a.parentNode || a.parentNode.nodeType === 11 + } + + function bi(a, b) { + do { + a = a[b] + } while (a && a.nodeType !== 1); + return a + } + + function bj(a, b, c) { + b = b || 0; + if (p.isFunction(b)) { + return p.grep(a, function(a, d) { + var e = !!b.call(a, d, a); + return e === c + }) + } + if (b.nodeType) { + return p.grep(a, function(a, d) { + return a === b === c + }) + } + if (typeof b == "string") { + var d = p.grep(a, function(a) { + return a.nodeType === 1 + }); + if (be.test(b)) { + return p.filter(b, d, !c) + } + b = p.filter(b, d) + } + return p.grep(a, function(a, d) { + return p.inArray(a, b) >= 0 === c + }) + } + + function bk(a) { + var b = bl.split("|"), + c = a.createDocumentFragment(); + if (c.createElement) { + while (b.length) { + c.createElement(b.pop()) + } + } + return c + } + + function bC(a, b) { + return a.getElementsByTagName(b)[0] || a.appendChild(a.ownerDocument.createElement(b)) + } + + function bD(a, b) { + if (b.nodeType !== 1 || !p.hasData(a)) { + return + } + var c, d, e, f = p._data(a), + g = p._data(b, f), + h = f.events; + if (h) { + delete g.handle, g.events = {}; + for (c in h) { + for (d = 0, e = h[c].length; d < e; d++) { + p.event.add(b, c, h[c][d]) + } + } + } + g.data && (g.data = p.extend({}, g.data)) + } + + function bE(a, b) { + var c; + if (b.nodeType !== 1) { + return + } + b.clearAttributes && b.clearAttributes(), b.mergeAttributes && b.mergeAttributes(a), c = b.nodeName.toLowerCase(), c === "object" ? (b.parentNode && (b.outerHTML = a.outerHTML), p.support.html5Clone && a.innerHTML && !p.trim(b.innerHTML) && (b.innerHTML = a.innerHTML)) : c === "input" && bv.test(a.type) ? (b.defaultChecked = b.checked = a.checked, b.value !== a.value && (b.value = a.value)) : c === "option" ? b.selected = a.defaultSelected : c === "input" || c === "textarea" ? b.defaultValue = a.defaultValue : c === "script" && b.text !== a.text && (b.text = a.text), b.removeAttribute(p.expando) + } + + function bF(a) { + return typeof a.getElementsByTagName != "undefined" ? a.getElementsByTagName("*") : typeof a.querySelectorAll != "undefined" ? a.querySelectorAll("*") : [] + } + + function bG(a) { + bv.test(a.type) && (a.defaultChecked = a.checked) + } + + function bY(a, b) { + if (b in a) { + return b + } + var c = b.charAt(0).toUpperCase() + b.slice(1), + d = b, + e = bW.length; + while (e--) { + b = bW[e] + c; + if (b in a) { + return b + } + } + return d + } + + function bZ(a, b) { + return a = b || a, p.css(a, "display") === "none" || !p.contains(a.ownerDocument, a) + } + + function b$(a, b) { + var c, d, e = [], + f = 0, + g = a.length; + for (; f < g; f++) { + c = a[f]; + if (!c.style) { + continue + } + e[f] = p._data(c, "olddisplay"), b ? (!e[f] && c.style.display === "none" && (c.style.display = ""), c.style.display === "" && bZ(c) && (e[f] = p._data(c, "olddisplay", cc(c.nodeName)))) : (d = bH(c, "display"), !e[f] && d !== "none" && p._data(c, "olddisplay", d)) + } + for (f = 0; f < g; f++) { + c = a[f]; + if (!c.style) { + continue + } + if (!b || c.style.display === "none" || c.style.display === "") { + c.style.display = b ? e[f] || "" : "none" + } + } + return a + } + + function b_(a, b, c) { + var d = bP.exec(b); + return d ? Math.max(0, d[1] - (c || 0)) + (d[2] || "px") : b + } + + function ca(a, b, c, d) { + var e = c === (d ? "border" : "content") ? 4 : b === "width" ? 1 : 0, + f = 0; + for (; e < 4; e += 2) { + c === "margin" && (f += p.css(a, c + bV[e], !0)), d ? (c === "content" && (f -= parseFloat(bH(a, "padding" + bV[e])) || 0), c !== "margin" && (f -= parseFloat(bH(a, "border" + bV[e] + "Width")) || 0)) : (f += parseFloat(bH(a, "padding" + bV[e])) || 0, c !== "padding" && (f += parseFloat(bH(a, "border" + bV[e] + "Width")) || 0)) + } + return f + } + + function cb(a, b, c) { + var d = b === "width" ? a.offsetWidth : a.offsetHeight, + e = !0, + f = p.support.boxSizing && p.css(a, "boxSizing") === "border-box"; + if (d <= 0 || d == null) { + d = bH(a, b); + if (d < 0 || d == null) { + d = a.style[b] + } + if (bQ.test(d)) { + return d + } + e = f && (p.support.boxSizingReliable || d === a.style[b]), d = parseFloat(d) || 0 + } + return d + ca(a, b, c || (f ? "border" : "content"), e) + "px" + } + + function cc(a) { + if (bS[a]) { + return bS[a] + } + var b = p("<" + a + ">").appendTo(e.body), + c = b.css("display"); + b.remove(); + if (c === "none" || c === "") { + bI = e.body.appendChild(bI || p.extend(e.createElement("iframe"), { + frameBorder: 0, + width: 0, + height: 0 + })); + if (!bJ || !bI.createElement) { + bJ = (bI.contentWindow || bI.contentDocument).document, bJ.write(""), bJ.close() + } + b = bJ.body.appendChild(bJ.createElement(a)), c = bH(b, "display"), e.body.removeChild(bI) + } + return bS[a] = c, c + } + + function ci(a, b, c, d) { + var e; + if (p.isArray(b)) { + p.each(b, function(b, e) { + c || ce.test(a) ? d(a, e) : ci(a + "[" + (typeof e == "object" ? b : "") + "]", e, c, d) + }) + } else { + if (!c && p.type(b) === "object") { + for (e in b) { + ci(a + "[" + e + "]", b[e], c, d) + } + } else { + d(a, b) + } + } + } + + function cz(a) { + return function(b, c) { + typeof b != "string" && (c = b, b = "*"); + var d, e, f, g = b.toLowerCase().split(s), + h = 0, + i = g.length; + if (p.isFunction(c)) { + for (; h < i; h++) { + d = g[h], f = /^\+/.test(d), f && (d = d.substr(1) || "*"), e = a[d] = a[d] || [], e[f ? "unshift" : "push"](c) + } + } + } + } + + function cA(a, c, d, e, f, g) { + f = f || c.dataTypes[0], g = g || {}, g[f] = !0; + var h, i = a[f], + j = 0, + k = i ? i.length : 0, + l = a === cv; + for (; j < k && (l || !h); j++) { + h = i[j](c, d, e), typeof h == "string" && (!l || g[h] ? h = b : (c.dataTypes.unshift(h), h = cA(a, c, d, e, h, g))) + } + return (l || !h) && !g["*"] && (h = cA(a, c, d, e, "*", g)), h + } + + function cB(a, c) { + var d, e, f = p.ajaxSettings.flatOptions || {}; + for (d in c) { + c[d] !== b && ((f[d] ? a : e || (e = {}))[d] = c[d]) + } + e && p.extend(!0, a, e) + } + + function cC(a, c, d) { + var e, f, g, h, i = a.contents, + j = a.dataTypes, + k = a.responseFields; + for (f in k) { + f in d && (c[k[f]] = d[f]) + } + while (j[0] === "*") { + j.shift(), e === b && (e = a.mimeType || c.getResponseHeader("content-type")) + } + if (e) { + for (f in i) { + if (i[f] && i[f].test(e)) { + j.unshift(f); + break + } + } + } + if (j[0] in d) { + g = j[0] + } else { + for (f in d) { + if (!j[0] || a.converters[f + " " + j[0]]) { + g = f; + break + } + h || (h = f) + } + g = g || h + } + if (g) { + return g !== j[0] && j.unshift(g), d[g] + } + } + + function cD(a, b) { + var c, d, e, f, g = a.dataTypes.slice(), + h = g[0], + i = {}, + j = 0; + a.dataFilter && (b = a.dataFilter(b, a.dataType)); + if (g[1]) { + for (c in a.converters) { + i[c.toLowerCase()] = a.converters[c] + } + } + for (; e = g[++j];) { + if (e !== "*") { + if (h !== "*" && h !== e) { + c = i[h + " " + e] || i["* " + e]; + if (!c) { + for (d in i) { + f = d.split(" "); + if (f[1] === e) { + c = i[h + " " + f[0]] || i["* " + f[0]]; + if (c) { + c === !0 ? c = i[d] : i[d] !== !0 && (e = f[0], g.splice(j--, 0, e)); + break + } + } + } + } + if (c !== !0) { + if (c && a["throws"]) { + b = c(b) + } else { + try { + b = c(b) + } catch (k) { + return { + state: "parsererror", + error: c ? k : "No conversion from " + h + " to " + e + } + } + } + } + } + h = e + } + } + return { + state: "success", + data: b + } + } + + function cL() { + try { + return new a.XMLHttpRequest + } catch (b) {} + } + + function cM() { + try { + return new a.ActiveXObject("Microsoft.XMLHTTP") + } catch (b) {} + } + + function cU() { + return setTimeout(function() { + cN = b + }, 0), cN = p.now() + } + + function cV(a, b) { + p.each(b, function(b, c) { + var d = (cT[b] || []).concat(cT["*"]), + e = 0, + f = d.length; + for (; e < f; e++) { + if (d[e].call(a, b, c)) { + return + } + } + }) + } + + function cW(a, b, c) { + var d, e = 0, + f = 0, + g = cS.length, + h = p.Deferred().always(function() { + delete i.elem + }), + i = function() { + var b = cN || cU(), + c = Math.max(0, j.startTime + j.duration - b), + d = 1 - (c / j.duration || 0), + e = 0, + f = j.tweens.length; + for (; e < f; e++) { + j.tweens[e].run(d) + } + return h.notifyWith(a, [j, d, c]), d < 1 && f ? c : (h.resolveWith(a, [j]), !1) + }, + j = h.promise({ + elem: a, + props: p.extend({}, b), + opts: p.extend(!0, { + specialEasing: {} + }, c), + originalProperties: b, + originalOptions: c, + startTime: cN || cU(), + duration: c.duration, + tweens: [], + createTween: function(b, c, d) { + var e = p.Tween(a, j.opts, b, c, j.opts.specialEasing[b] || j.opts.easing); + return j.tweens.push(e), e + }, + stop: function(b) { + var c = 0, + d = b ? j.tweens.length : 0; + for (; c < d; c++) { + j.tweens[c].run(1) + } + return b ? h.resolveWith(a, [j, b]) : h.rejectWith(a, [j, b]), this + } + }), + k = j.props; + cX(k, j.opts.specialEasing); + for (; e < g; e++) { + d = cS[e].call(j, a, k, j.opts); + if (d) { + return d + } + } + return cV(j, k), p.isFunction(j.opts.start) && j.opts.start.call(a, j), p.fx.timer(p.extend(i, { + anim: j, + queue: j.opts.queue, + elem: a + })), j.progress(j.opts.progress).done(j.opts.done, j.opts.complete).fail(j.opts.fail).always(j.opts.always) + } + + function cX(a, b) { + var c, d, e, f, g; + for (c in a) { + d = p.camelCase(c), e = b[d], f = a[c], p.isArray(f) && (e = f[1], f = a[c] = f[0]), c !== d && (a[d] = f, delete a[c]), g = p.cssHooks[d]; + if (g && "expand" in g) { + f = g.expand(f), delete a[d]; + for (c in f) { + c in a || (a[c] = f[c], b[c] = e) + } + } else { + b[d] = e + } + } + } + + function cY(a, b, c) { + var d, e, f, g, h, i, j, k, l = this, + m = a.style, + n = {}, + o = [], + q = a.nodeType && bZ(a); + c.queue || (j = p._queueHooks(a, "fx"), j.unqueued == null && (j.unqueued = 0, k = j.empty.fire, j.empty.fire = function() { + j.unqueued || k() + }), j.unqueued++, l.always(function() { + l.always(function() { + j.unqueued--, p.queue(a, "fx").length || j.empty.fire() + }) + })), a.nodeType === 1 && ("height" in b || "width" in b) && (c.overflow = [m.overflow, m.overflowX, m.overflowY], p.css(a, "display") === "inline" && p.css(a, "float") === "none" && (!p.support.inlineBlockNeedsLayout || cc(a.nodeName) === "inline" ? m.display = "inline-block" : m.zoom = 1)), c.overflow && (m.overflow = "hidden", p.support.shrinkWrapBlocks || l.done(function() { + m.overflow = c.overflow[0], m.overflowX = c.overflow[1], m.overflowY = c.overflow[2] + })); + for (d in b) { + f = b[d]; + if (cP.exec(f)) { + delete b[d]; + if (f === (q ? "hide" : "show")) { + continue + } + o.push(d) + } + } + g = o.length; + if (g) { + h = p._data(a, "fxshow") || p._data(a, "fxshow", {}), q ? p(a).show() : l.done(function() { + p(a).hide() + }), l.done(function() { + var b; + p.removeData(a, "fxshow", !0); + for (b in n) { + p.style(a, b, n[b]) + } + }); + for (d = 0; d < g; d++) { + e = o[d], i = l.createTween(e, q ? h[e] : 0), n[e] = h[e] || p.style(a, e), e in h || (h[e] = i.start, q && (i.end = i.start, i.start = e === "width" || e === "height" ? 1 : 0)) + } + } + } + + function cZ(a, b, c, d, e) { + return new cZ.prototype.init(a, b, c, d, e) + } + + function c$(a, b) { + var c, d = { + height: a + }, + e = 0; + b = b ? 1 : 0; + for (; e < 4; e += 2 - b) { + c = bV[e], d["margin" + c] = d["padding" + c] = a + } + return b && (d.opacity = d.width = a), d + } + + function da(a) { + return p.isWindow(a) ? a : a.nodeType === 9 ? a.defaultView || a.parentWindow : !1 + } + var c, d, e = a.document, + f = a.location, + g = a.navigator, + h = a.jQuery, + i = a.$, + j = Array.prototype.push, + k = Array.prototype.slice, + l = Array.prototype.indexOf, + m = Object.prototype.toString, + n = Object.prototype.hasOwnProperty, + o = String.prototype.trim, + p = function(a, b) { + return new p.fn.init(a, b, c) + }, + q = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source, + r = /\S/, + s = /\s+/, + t = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + u = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, + v = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, + w = /^[\],:{}\s]*$/, + x = /(?:^|:|,)(?:\s*\[)+/g, + y = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, + z = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g, + A = /^-ms-/, + B = /-([\da-z])/gi, + C = function(a, b) { + return (b + "").toUpperCase() + }, + D = function() { + e.addEventListener ? (e.removeEventListener("DOMContentLoaded", D, !1), p.ready()) : e.readyState === "complete" && (e.detachEvent("onreadystatechange", D), p.ready()) + }, + E = {}; + p.fn = p.prototype = { + constructor: p, + init: function(a, c, d) { + var f, g, h, i; + if (!a) { + return this + } + if (a.nodeType) { + return this.context = this[0] = a, this.length = 1, this + } + if (typeof a == "string") { + a.charAt(0) === "<" && a.charAt(a.length - 1) === ">" && a.length >= 3 ? f = [null, a, null] : f = u.exec(a); + if (f && (f[1] || !c)) { + if (f[1]) { + return c = c instanceof p ? c[0] : c, i = c && c.nodeType ? c.ownerDocument || c : e, a = p.parseHTML(f[1], i, !0), v.test(f[1]) && p.isPlainObject(c) && this.attr.call(a, c, !0), p.merge(this, a) + } + g = e.getElementById(f[2]); + if (g && g.parentNode) { + if (g.id !== f[2]) { + return d.find(a) + } + this.length = 1, this[0] = g + } + return this.context = e, this.selector = a, this + } + return !c || c.jquery ? (c || d).find(a) : this.constructor(c).find(a) + } + return p.isFunction(a) ? d.ready(a) : (a.selector !== b && (this.selector = a.selector, this.context = a.context), p.makeArray(a, this)) + }, + selector: "", + jquery: "1.8.2", + length: 0, + size: function() { + return this.length + }, + toArray: function() { + return k.call(this) + }, + get: function(a) { + return a == null ? this.toArray() : a < 0 ? this[this.length + a] : this[a] + }, + pushStack: function(a, b, c) { + var d = p.merge(this.constructor(), a); + return d.prevObject = this, d.context = this.context, b === "find" ? d.selector = this.selector + (this.selector ? " " : "") + c : b && (d.selector = this.selector + "." + b + "(" + c + ")"), d + }, + each: function(a, b) { + return p.each(this, a, b) + }, + ready: function(a) { + return p.ready.promise().done(a), this + }, + eq: function(a) { + return a = +a, a === -1 ? this.slice(a) : this.slice(a, a + 1) + }, + first: function() { + return this.eq(0) + }, + last: function() { + return this.eq(-1) + }, + slice: function() { + return this.pushStack(k.apply(this, arguments), "slice", k.call(arguments).join(",")) + }, + map: function(a) { + return this.pushStack(p.map(this, function(b, c) { + return a.call(b, c, b) + })) + }, + end: function() { + return this.prevObject || this.constructor(null) + }, + push: j, + sort: [].sort, + splice: [].splice + }, p.fn.init.prototype = p.fn, p.extend = p.fn.extend = function() { + var a, c, d, e, f, g, h = arguments[0] || {}, + i = 1, + j = arguments.length, + k = !1; + typeof h == "boolean" && (k = h, h = arguments[1] || {}, i = 2), typeof h != "object" && !p.isFunction(h) && (h = {}), j === i && (h = this, --i); + for (; i < j; i++) { + if ((a = arguments[i]) != null) { + for (c in a) { + d = h[c], e = a[c]; + if (h === e) { + continue + } + k && e && (p.isPlainObject(e) || (f = p.isArray(e))) ? (f ? (f = !1, g = d && p.isArray(d) ? d : []) : g = d && p.isPlainObject(d) ? d : {}, h[c] = p.extend(k, g, e)) : e !== b && (h[c] = e) + } + } + } + return h + }, p.extend({ + noConflict: function(b) { + return a.$ === p && (a.$ = i), b && a.jQuery === p && (a.jQuery = h), p + }, + isReady: !1, + readyWait: 1, + holdReady: function(a) { + a ? p.readyWait++ : p.ready(!0) + }, + ready: function(a) { + if (a === !0 ? --p.readyWait : p.isReady) { + return + } + if (!e.body) { + return setTimeout(p.ready, 1) + } + p.isReady = !0; + if (a !== !0 && --p.readyWait > 0) { + return + } + d.resolveWith(e, [p]), p.fn.trigger && p(e).trigger("ready").off("ready") + }, + isFunction: function(a) { + return p.type(a) === "function" + }, + isArray: Array.isArray || function(a) { + return p.type(a) === "array" + }, + isWindow: function(a) { + return a != null && a == a.window + }, + isNumeric: function(a) { + return !isNaN(parseFloat(a)) && isFinite(a) + }, + type: function(a) { + return a == null ? String(a) : E[m.call(a)] || "object" + }, + isPlainObject: function(a) { + if (!a || p.type(a) !== "object" || a.nodeType || p.isWindow(a)) { + return !1 + } + try { + if (a.constructor && !n.call(a, "constructor") && !n.call(a.constructor.prototype, "isPrototypeOf")) { + return !1 + } + } catch (c) { + return !1 + } + var d; + for (d in a) {} + return d === b || n.call(a, d) + }, + isEmptyObject: function(a) { + var b; + for (b in a) { + return !1 + } + return !0 + }, + error: function(a) { + throw new Error(a) + }, + parseHTML: function(a, b, c) { + var d; + return !a || typeof a != "string" ? null : (typeof b == "boolean" && (c = b, b = 0), b = b || e, (d = v.exec(a)) ? [b.createElement(d[1])] : (d = p.buildFragment([a], b, c ? null : []), p.merge([], (d.cacheable ? p.clone(d.fragment) : d.fragment).childNodes))) + }, + parseJSON: function(b) { + if (!b || typeof b != "string") { + return null + } + b = p.trim(b); + if (a.JSON && a.JSON.parse) { + return a.JSON.parse(b) + } + if (w.test(b.replace(y, "@").replace(z, "]").replace(x, ""))) { + return (new Function("return " + b))() + } + p.error("Invalid JSON: " + b) + }, + parseXML: function(c) { + var d, e; + if (!c || typeof c != "string") { + return null + } + try { + a.DOMParser ? (e = new DOMParser, d = e.parseFromString(c, "text/xml")) : (d = new ActiveXObject("Microsoft.XMLDOM"), d.async = "false", d.loadXML(c)) + } catch (f) { + d = b + } + return (!d || !d.documentElement || d.getElementsByTagName("parsererror").length) && p.error("Invalid XML: " + c), d + }, + noop: function() {}, + globalEval: function(b) { + b && r.test(b) && (a.execScript || function(b) { + a.eval.call(a, b) + })(b) + }, + camelCase: function(a) { + return a.replace(A, "ms-").replace(B, C) + }, + nodeName: function(a, b) { + return a.nodeName && a.nodeName.toLowerCase() === b.toLowerCase() + }, + each: function(a, c, d) { + var e, f = 0, + g = a.length, + h = g === b || p.isFunction(a); + if (d) { + if (h) { + for (e in a) { + if (c.apply(a[e], d) === !1) { + break + } + } + } else { + for (; f < g;) { + if (c.apply(a[f++], d) === !1) { + break + } + } + } + } else { + if (h) { + for (e in a) { + if (c.call(a[e], e, a[e]) === !1) { + break + } + } + } else { + for (; f < g;) { + if (c.call(a[f], f, a[f++]) === !1) { + break + } + } + } + } + return a + }, + trim: o && !o.call(" ") ? function(a) { + return a == null ? "" : o.call(a) + } : function(a) { + return a == null ? "" : (a + "").replace(t, "") + }, + makeArray: function(a, b) { + var c, d = b || []; + return a != null && (c = p.type(a), a.length == null || c === "string" || c === "function" || c === "regexp" || p.isWindow(a) ? j.call(d, a) : p.merge(d, a)), d + }, + inArray: function(a, b, c) { + var d; + if (b) { + if (l) { + return l.call(b, a, c) + } + d = b.length, c = c ? c < 0 ? Math.max(0, d + c) : c : 0; + for (; c < d; c++) { + if (c in b && b[c] === a) { + return c + } + } + } + return -1 + }, + merge: function(a, c) { + var d = c.length, + e = a.length, + f = 0; + if (typeof d == "number") { + for (; f < d; f++) { + a[e++] = c[f] + } + } else { + while (c[f] !== b) { + a[e++] = c[f++] + } + } + return a.length = e, a + }, + grep: function(a, b, c) { + var d, e = [], + f = 0, + g = a.length; + c = !!c; + for (; f < g; f++) { + d = !!b(a[f], f), c !== d && e.push(a[f]) + } + return e + }, + map: function(a, c, d) { + var e, f, g = [], + h = 0, + i = a.length, + j = a instanceof p || i !== b && typeof i == "number" && (i > 0 && a[0] && a[i - 1] || i === 0 || p.isArray(a)); + if (j) { + for (; h < i; h++) { + e = c(a[h], h, d), e != null && (g[g.length] = e) + } + } else { + for (f in a) { + e = c(a[f], f, d), e != null && (g[g.length] = e) + } + } + return g.concat.apply([], g) + }, + guid: 1, + proxy: function(a, c) { + var d, e, f; + return typeof c == "string" && (d = a[c], c = a, a = d), p.isFunction(a) ? (e = k.call(arguments, 2), f = function() { + return a.apply(c, e.concat(k.call(arguments))) + }, f.guid = a.guid = a.guid || p.guid++, f) : b + }, + access: function(a, c, d, e, f, g, h) { + var i, j = d == null, + k = 0, + l = a.length; + if (d && typeof d == "object") { + for (k in d) { + p.access(a, c, k, d[k], 1, g, e) + } + f = 1 + } else { + if (e !== b) { + i = h === b && p.isFunction(e), j && (i ? (i = c, c = function(a, b, c) { + return i.call(p(a), c) + }) : (c.call(a, e), c = null)); + if (c) { + for (; k < l; k++) { + c(a[k], d, i ? e.call(a[k], k, c(a[k], d)) : e, h) + } + } + f = 1 + } + } + return f ? a : j ? c.call(a) : l ? c(a[0], d) : g + }, + now: function() { + return (new Date).getTime() + } + }), p.ready.promise = function(b) { + if (!d) { + d = p.Deferred(); + if (e.readyState === "complete") { + setTimeout(p.ready, 1) + } else { + if (e.addEventListener) { + e.addEventListener("DOMContentLoaded", D, !1), a.addEventListener("load", p.ready, !1) + } else { + e.attachEvent("onreadystatechange", D), a.attachEvent("onload", p.ready); + var c = !1; + try { + c = a.frameElement == null && e.documentElement + } catch (f) {} + c && c.doScroll && function g() { + if (!p.isReady) { + try { + c.doScroll("left") + } catch (a) { + return setTimeout(g, 50) + } + p.ready() + } + }() + } + } + } + return d.promise(b) + }, p.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(a, b) { + E["[object " + b + "]"] = b.toLowerCase() + }), c = p(e); + var F = {}; + p.Callbacks = function(a) { + a = typeof a == "string" ? F[a] || G(a) : p.extend({}, a); + var c, d, e, f, g, h, i = [], + j = !a.once && [], + k = function(b) { + c = a.memory && b, d = !0, h = f || 0, f = 0, g = i.length, e = !0; + for (; i && h < g; h++) { + if (i[h].apply(b[0], b[1]) === !1 && a.stopOnFalse) { + c = !1; + break + } + } + e = !1, i && (j ? j.length && k(j.shift()) : c ? i = [] : l.disable()) + }, + l = { + add: function() { + if (i) { + var b = i.length; + (function d(b) { + p.each(b, function(b, c) { + var e = p.type(c); + e === "function" && (!a.unique || !l.has(c)) ? i.push(c) : c && c.length && e !== "string" && d(c) + }) + })(arguments), e ? g = i.length : c && (f = b, k(c)) + } + return this + }, + remove: function() { + return i && p.each(arguments, function(a, b) { + var c; + while ((c = p.inArray(b, i, c)) > -1) { + i.splice(c, 1), e && (c <= g && g--, c <= h && h--) + } + }), this + }, + has: function(a) { + return p.inArray(a, i) > -1 + }, + empty: function() { + return i = [], this + }, + disable: function() { + return i = j = c = b, this + }, + disabled: function() { + return !i + }, + lock: function() { + return j = b, c || l.disable(), this + }, + locked: function() { + return !j + }, + fireWith: function(a, b) { + return b = b || [], b = [a, b.slice ? b.slice() : b], i && (!d || j) && (e ? j.push(b) : k(b)), this + }, + fire: function() { + return l.fireWith(this, arguments), this + }, + fired: function() { + return !!d + } + }; + return l + }, p.extend({ + Deferred: function(a) { + var b = [ + ["resolve", "done", p.Callbacks("once memory"), "resolved"], + ["reject", "fail", p.Callbacks("once memory"), "rejected"], + ["notify", "progress", p.Callbacks("memory")] + ], + c = "pending", + d = { + state: function() { + return c + }, + always: function() { + return e.done(arguments).fail(arguments), this + }, + then: function() { + var a = arguments; + return p.Deferred(function(c) { + p.each(b, function(b, d) { + var f = d[0], + g = a[b]; + e[d[1]](p.isFunction(g) ? function() { + var a = g.apply(this, arguments); + a && p.isFunction(a.promise) ? a.promise().done(c.resolve).fail(c.reject).progress(c.notify) : c[f + "With"](this === e ? c : this, [a]) + } : c[f]) + }), a = null + }).promise() + }, + promise: function(a) { + return a != null ? p.extend(a, d) : d + } + }, + e = {}; + return d.pipe = d.then, p.each(b, function(a, f) { + var g = f[2], + h = f[3]; + d[f[1]] = g.add, h && g.add(function() { + c = h + }, b[a ^ 1][2].disable, b[2][2].lock), e[f[0]] = g.fire, e[f[0] + "With"] = g.fireWith + }), d.promise(e), a && a.call(e, e), e + }, + when: function(a) { + var b = 0, + c = k.call(arguments), + d = c.length, + e = d !== 1 || a && p.isFunction(a.promise) ? d : 0, + f = e === 1 ? a : p.Deferred(), + g = function(a, b, c) { + return function(d) { + b[a] = this, c[a] = arguments.length > 1 ? k.call(arguments) : d, c === h ? f.notifyWith(b, c) : --e || f.resolveWith(b, c) + } + }, + h, i, j; + if (d > 1) { + h = new Array(d), i = new Array(d), j = new Array(d); + for (; b < d; b++) { + c[b] && p.isFunction(c[b].promise) ? c[b].promise().done(g(b, j, c)).fail(f.reject).progress(g(b, i, h)) : --e + } + } + return e || f.resolveWith(j, c), f.promise() + } + }), p.support = function() { + var b, c, d, f, g, h, i, j, k, l, m, n = e.createElement("div"); + n.setAttribute("className", "t"), n.innerHTML = "t |