!function (e) {
var t, i;
!function () {
function e(e, t) {
if (!t) return e;
if (0 === e.indexOf(".")) {
var i = t.split("/"), n = e.split("/"), a = i.length - 1, o = n.length, r = 0, s = 0;
e:for (var l = 0; o > l; l++) switch (n[l]) {
case"..":
if (!(a > r)) break e;
r++, s++;
break;
case".":
s++;
break;
default:
break e
}
return i.length = a - r, n = n.slice(s), i.concat(n).join("/")
}
return e
}
function n(t) {
function i(i, r) {
if ("string" == typeof i) {
var s = n[i];
return s || (s = o(e(i, t)), n[i] = s), s
}
i instanceof Array && (r = r || function () {
}, r.apply(this, a(i, r, t)))
}
var n = {};
return i
}
function a(i, n, a) {
for (var s = [], l = r[a], h = 0, m = Math.min(i.length, n.length); m > h; h++) {
var V, U = e(i[h], a);
switch (U) {
case"require":
V = l && l.require || t;
break;
case"exports":
V = l.exports;
break;
case"module":
V = l;
break;
default:
V = o(U)
}
s.push(V)
}
return s
}
function o(e) {
var t = r[e];
if (!t) throw new Error("No " + e);
if (!t.defined) {
var i = t.factory, n = i.apply(this, a(t.deps || [], i, e));
"undefined" != typeof n && (t.exports = n), t.defined = 1
}
return t.exports
}
var r = {};
i = function (e, t, i) {
r[e] = {id: e, deps: t, factory: i, defined: 0, exports: {}, require: n(e)}
}, t = n("")
}(), i("echarts", ["echarts/echarts"], function (e) {
return e
}), i("echarts/echarts", ["require", "./config", "zrender/tool/util", "zrender/tool/event", "zrender/tool/env", "zrender", "zrender/config", "./chart/island", "./component/toolbox", "./component", "./component/title", "./component/tooltip", "./component/legend", "./util/ecData", "./chart", "zrender/tool/color", "./component/timeline", "zrender/shape/Image", "zrender/loadingEffect/Bar", "zrender/loadingEffect/Bubble", "zrender/loadingEffect/DynamicLine", "zrender/loadingEffect/Ring", "zrender/loadingEffect/Spin", "zrender/loadingEffect/Whirling", "./theme/macarons", "./theme/infographic"], function (e) {
function t() {
r.Dispatcher.call(this)
}
function i(e) {
e.innerHTML = "", this._themeConfig = {}, this.dom = e, this._connected = !1, this._status = {
dragIn: !1,
dragOut: !1,
needRefresh: !1
}, this._curEventType = !1, this._chartList = [], this._messageCenter = new t, this._messageCenterOutSide = new t, this.resize = this.resize(), this._init()
}
function n(e, t, i, n, a) {
for (var o = e._chartList, r = o.length; r--;) {
var s = o[r];
"function" == typeof s[t] && s[t](i, n, a)
}
}
var a = e("./config"), o = e("zrender/tool/util"), r = e("zrender/tool/event"), s = {},
l = e("zrender/tool/env").canvasSupported, h = new Date - 0, m = {}, V = "_echarts_instance_";
s.version = "2.2.7", s.dependencies = {zrender: "2.1.1"}, s.init = function (t, n) {
var a = e("zrender");
a.version.replace(".", "") - 0 < s.dependencies.zrender.replace(".", "") - 0 && console.error("ZRender " + a.version + " is too old for ECharts " + s.version + ". Current version need ZRender " + s.dependencies.zrender + "+"), t = t instanceof Array ? t[0] : t;
var o = t.getAttribute(V);
return o || (o = h++, t.setAttribute(V, o)), m[o] && m[o].dispose(), m[o] = new i(t), m[o].id = o, m[o].canvasSupported = l, m[o].setTheme(n), m[o]
}, s.getInstanceById = function (e) {
return m[e]
}, o.merge(t.prototype, r.Dispatcher.prototype, !0);
var U = e("zrender/config").EVENT,
d = ["CLICK", "DBLCLICK", "MOUSEOVER", "MOUSEOUT", "DRAGSTART", "DRAGEND", "DRAGENTER", "DRAGOVER", "DRAGLEAVE", "DROP"];
return i.prototype = {
_init: function () {
var t = this, i = e("zrender").init(this.dom);
this._zr = i, this._messageCenter.dispatch = function (e, i, n, a) {
n = n || {}, n.type = e, n.event = i, t._messageCenter.dispatchWithContext(e, n, a), t._messageCenterOutSide.dispatchWithContext(e, n, a)
}, this._onevent = function (e) {
return t.__onevent(e)
};
for (var n in a.EVENT) "CLICK" != n && "DBLCLICK" != n && "HOVER" != n && "MOUSEOUT" != n && "MAP_ROAM" != n && this._messageCenter.bind(a.EVENT[n], this._onevent, this);
var o = {};
this._onzrevent = function (e) {
return t[o[e.type]](e)
};
for (var r = 0, s = d.length; s > r; r++) {
var l = d[r], h = U[l];
o[h] = "_on" + l.toLowerCase(), i.on(h, this._onzrevent)
}
this.chart = {}, this.component = {};
var m = e("./chart/island");
this._island = new m(this._themeConfig, this._messageCenter, i, {}, this), this.chart.island = this._island;
var V = e("./component/toolbox");
this._toolbox = new V(this._themeConfig, this._messageCenter, i, {}, this), this.component.toolbox = this._toolbox;
var p = e("./component");
p.define("title", e("./component/title")), p.define("tooltip", e("./component/tooltip")), p.define("legend", e("./component/legend")), (0 === i.getWidth() || 0 === i.getHeight()) && console.error("Dom’s width & height should be ready before init.")
}, __onevent: function (e) {
e.__echartsId = e.__echartsId || this.id;
var t = e.__echartsId === this.id;
switch (this._curEventType || (this._curEventType = e.type), e.type) {
case a.EVENT.LEGEND_SELECTED:
this._onlegendSelected(e);
break;
case a.EVENT.DATA_ZOOM:
if (!t) {
var i = this.component.dataZoom;
i && (i.silence(!0), i.absoluteZoom(e.zoom), i.silence(!1))
}
this._ondataZoom(e);
break;
case a.EVENT.DATA_RANGE:
t && this._ondataRange(e);
break;
case a.EVENT.MAGIC_TYPE_CHANGED:
if (!t) {
var n = this.component.toolbox;
n && (n.silence(!0), n.setMagicType(e.magicType), n.silence(!1))
}
this._onmagicTypeChanged(e);
break;
case a.EVENT.DATA_VIEW_CHANGED:
t && this._ondataViewChanged(e);
break;
case a.EVENT.TOOLTIP_HOVER:
t && this._tooltipHover(e);
break;
case a.EVENT.RESTORE:
this._onrestore();
break;
case a.EVENT.REFRESH:
t && this._onrefresh(e);
break;
case a.EVENT.TOOLTIP_IN_GRID:
case a.EVENT.TOOLTIP_OUT_GRID:
if (t) {
if (this._connected) {
var o = this.component.grid;
o && (e.x = (e.event.zrenderX - o.getX()) / o.getWidth(), e.y = (e.event.zrenderY - o.getY()) / o.getHeight())
}
} else {
var o = this.component.grid;
o && this._zr.trigger("mousemove", {
connectTrigger: !0,
zrenderX: o.getX() + e.x * o.getWidth(),
zrenderY: o.getY() + e.y * o.getHeight()
})
}
}
if (this._connected && t && this._curEventType === e.type) {
for (var r in this._connected) this._connected[r].connectedEventHandler(e);
this._curEventType = null
}
(!t || !this._connected && t) && (this._curEventType = null)
}, _onclick: function (e) {
if (n(this, "onclick", e), e.target) {
var t = this._eventPackage(e.target);
t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.CLICK, e.event, t, this)
}
}, _ondblclick: function (e) {
if (n(this, "ondblclick", e), e.target) {
var t = this._eventPackage(e.target);
t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.DBLCLICK, e.event, t, this)
}
}, _onmouseover: function (e) {
if (e.target) {
var t = this._eventPackage(e.target);
t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.HOVER, e.event, t, this)
}
}, _onmouseout: function (e) {
if (e.target) {
var t = this._eventPackage(e.target);
t && null != t.seriesIndex && this._messageCenter.dispatch(a.EVENT.MOUSEOUT, e.event, t, this)
}
}, _ondragstart: function (e) {
this._status = {dragIn: !1, dragOut: !1, needRefresh: !1}, n(this, "ondragstart", e)
}, _ondragenter: function (e) {
n(this, "ondragenter", e)
}, _ondragover: function (e) {
n(this, "ondragover", e)
}, _ondragleave: function (e) {
n(this, "ondragleave", e)
}, _ondrop: function (e) {
n(this, "ondrop", e, this._status), this._island.ondrop(e, this._status)
}, _ondragend: function (e) {
if (n(this, "ondragend", e, this._status), this._timeline && this._timeline.ondragend(e, this._status), this._island.ondragend(e, this._status), this._status.needRefresh) {
this._syncBackupData(this._option);
var t = this._messageCenter;
t.dispatch(a.EVENT.DATA_CHANGED, e.event, this._eventPackage(e.target), this), t.dispatch(a.EVENT.REFRESH, null, null, this)
}
}, _onlegendSelected: function (e) {
this._status.needRefresh = !1, n(this, "onlegendSelected", e, this._status), this._status.needRefresh && this._messageCenter.dispatch(a.EVENT.REFRESH, null, null, this)
}, _ondataZoom: function (e) {
this._status.needRefresh = !1, n(this, "ondataZoom", e, this._status), this._status.needRefresh && this._messageCenter.dispatch(a.EVENT.REFRESH, null, null, this)
}, _ondataRange: function (e) {
this._clearEffect(), this._status.needRefresh = !1, n(this, "ondataRange", e, this._status), this._status.needRefresh && this._zr.refreshNextFrame()
}, _onmagicTypeChanged: function () {
this._clearEffect(), this._render(this._toolbox.getMagicOption())
}, _ondataViewChanged: function (e) {
this._syncBackupData(e.option), this._messageCenter.dispatch(a.EVENT.DATA_CHANGED, null, e, this), this._messageCenter.dispatch(a.EVENT.REFRESH, null, null, this)
}, _tooltipHover: function (e) {
var t = [];
n(this, "ontooltipHover", e, t)
}, _onrestore: function () {
this.restore()
}, _onrefresh: function (e) {
this._refreshInside = !0, this.refresh(e), this._refreshInside = !1
}, _syncBackupData: function (e) {
this.component.dataZoom && this.component.dataZoom.syncBackupData(e)
}, _eventPackage: function (t) {
if (t) {
var i = e("./util/ecData"), n = i.get(t, "seriesIndex"), a = i.get(t, "dataIndex");
return a = -1 != n && this.component.dataZoom ? this.component.dataZoom.getRealDataIndex(n, a) : a, {
seriesIndex: n,
seriesName: (i.get(t, "series") || {}).name,
dataIndex: a,
data: i.get(t, "data"),
name: i.get(t, "name"),
value: i.get(t, "value"),
special: i.get(t, "special")
}
}
}, _noDataCheck: function (e) {
for (var t = e.series, i = 0, n = t.length; n > i; i++) if (t[i].type == a.CHART_TYPE_MAP || t[i].data && t[i].data.length > 0 || t[i].markPoint && t[i].markPoint.data && t[i].markPoint.data.length > 0 || t[i].markLine && t[i].markLine.data && t[i].markLine.data.length > 0 || t[i].nodes && t[i].nodes.length > 0 || t[i].links && t[i].links.length > 0 || t[i].matrix && t[i].matrix.length > 0 || t[i].eventList && t[i].eventList.length > 0) return !1;
var o = this._option && this._option.noDataLoadingOption || this._themeConfig.noDataLoadingOption || a.noDataLoadingOption || {
text: this._option && this._option.noDataText || this._themeConfig.noDataText || a.noDataText,
effect: this._option && this._option.noDataEffect || this._themeConfig.noDataEffect || a.noDataEffect
};
return this.clear(), this.showLoading(o), !0
}, _render: function (t) {
if (this._mergeGlobalConifg(t), !this._noDataCheck(t)) {
var i = t.backgroundColor;
if (i) if (l || -1 == i.indexOf("rgba")) this.dom.style.backgroundColor = i; else {
var n = i.split(",");
this.dom.style.filter = "alpha(opacity=" + 100 * n[3].substring(0, n[3].lastIndexOf(")")) + ")", n.length = 3, n[0] = n[0].replace("a", ""), this.dom.style.backgroundColor = n.join(",") + ")"
}
this._zr.clearAnimation(), this._chartList = [];
var o = e("./chart"), r = e("./component");
(t.xAxis || t.yAxis) && (t.grid = t.grid || {}, t.dataZoom = t.dataZoom || {});
for (var s, h, m, V = ["title", "legend", "tooltip", "dataRange", "roamController", "grid", "dataZoom", "xAxis", "yAxis", "polar"], U = 0, d = V.length; d > U; U++) h = V[U], m = this.component[h], t[h] ? (m ? m.refresh && m.refresh(t) : (s = r.get(/^[xy]Axis$/.test(h) ? "axis" : h), m = new s(this._themeConfig, this._messageCenter, this._zr, t, this, h), this.component[h] = m), this._chartList.push(m)) : m && (m.dispose(), this.component[h] = null, delete this.component[h]);
for (var p, c, u, y = {}, U = 0, d = t.series.length; d > U; U++) c = t.series[U].type, c ? y[c] || (y[c] = !0, p = o.get(c), p ? (this.chart[c] ? (u = this.chart[c], u.refresh(t)) : u = new p(this._themeConfig, this._messageCenter, this._zr, t, this), this._chartList.push(u), this.chart[c] = u) : console.error(c + " has not been required.")) : console.error("series[" + U + "] chart type has not been defined.");
for (c in this.chart) c == a.CHART_TYPE_ISLAND || y[c] || (this.chart[c].dispose(), this.chart[c] = null, delete this.chart[c]);
this.component.grid && this.component.grid.refixAxisShape(this.component), this._island.refresh(t), this._toolbox.refresh(t), t.animation && !t.renderAsImage ? this._zr.refresh() : this._zr.render();
var g = "IMG" + this.id, b = document.getElementById(g);
t.renderAsImage && l ? (b ? b.src = this.getDataURL(t.renderAsImage) : (b = this.getImage(t.renderAsImage), b.id = g, b.style.position = "absolute", b.style.left = 0, b.style.top = 0, this.dom.firstChild.appendChild(b)), this.un(), this._zr.un(), this._disposeChartList(), this._zr.clear()) : b && b.parentNode.removeChild(b), b = null, this._option = t
}
}, restore: function () {
this._clearEffect(), this._option = o.clone(this._optionRestore), this._disposeChartList(), this._island.clear(), this._toolbox.reset(this._option, !0), this._render(this._option)
}, refresh: function (e) {
this._clearEffect(), e = e || {};
var t = e.option;
!this._refreshInside && t && (t = this.getOption(), o.merge(t, e.option, !0), o.merge(this._optionRestore, e.option, !0), this._toolbox.reset(t)), this._island.refresh(t), this._toolbox.refresh(t), this._zr.clearAnimation();
for (var i = 0, n = this._chartList.length; n > i; i++) this._chartList[i].refresh && this._chartList[i].refresh(t);
this.component.grid && this.component.grid.refixAxisShape(this.component), this._zr.refresh()
}, _disposeChartList: function () {
this._clearEffect(), this._zr.clearAnimation();
for (var e = this._chartList.length; e--;) {
var t = this._chartList[e];
if (t) {
var i = t.type;
this.chart[i] && delete this.chart[i], this.component[i] && delete this.component[i], t.dispose && t.dispose()
}
}
this._chartList = []
}, _mergeGlobalConifg: function (t) {
for (var i = ["backgroundColor", "calculable", "calculableColor", "calculableHolderColor", "nameConnector", "valueConnector", "animation", "animationThreshold", "animationDuration", "animationDurationUpdate", "animationEasing", "addDataAnimation", "symbolList", "DRAG_ENABLE_TIME"], n = i.length; n--;) {
var o = i[n];
null == t[o] && (t[o] = null != this._themeConfig[o] ? this._themeConfig[o] : a[o])
}
var r = t.color;
r && r.length || (r = this._themeConfig.color || a.color), this._zr.getColor = function (t) {
var i = e("zrender/tool/color");
return i.getColor(t, r)
}, l || (t.animation = !1, t.addDataAnimation = !1)
}, setOption: function (e, t) {
return e.timeline ? this._setTimelineOption(e) : this._setOption(e, t)
}, _setOption: function (e, t, i) {
return !t && this._option ? this._option = o.merge(this.getOption(), o.clone(e), !0) : (this._option = o.clone(e), !i && this._timeline && this._timeline.dispose()), this._optionRestore = o.clone(this._option), this._option.series && 0 !== this._option.series.length ? (this.component.dataZoom && (this._option.dataZoom || this._option.toolbox && this._option.toolbox.feature && this._option.toolbox.feature.dataZoom && this._option.toolbox.feature.dataZoom.show) && this.component.dataZoom.syncOption(this._option), this._toolbox.reset(this._option), this._render(this._option), this) : void this._zr.clear()
}, getOption: function () {
function e(e) {
var n = i._optionRestore[e];
if (n) if (n instanceof Array) for (var a = n.length; a--;) t[e][a].data = o.clone(n[a].data); else t[e].data = o.clone(n.data)
}
var t = o.clone(this._option), i = this;
return e("xAxis"), e("yAxis"), e("series"), t
}, setSeries: function (e, t) {
return t ? (this._option.series = e, this.setOption(this._option, t)) : this.setOption({series: e}), this
}, getSeries: function () {
return this.getOption().series
}, _setTimelineOption: function (t) {
this._timeline && this._timeline.dispose();
var i = e("./component/timeline"), n = new i(this._themeConfig, this._messageCenter, this._zr, t, this);
return this._timeline = n, this.component.timeline = this._timeline, this
}, addData: function (e, t, i, n, r) {
function s() {
if (V._zr) {
V._zr.clearAnimation();
for (var e = 0, t = X.length; t > e; e++) X[e].motionlessOnce = h.addDataAnimation && X[e].addDataAnimation;
V._messageCenter.dispatch(a.EVENT.REFRESH, null, {option: h}, V)
}
}
for (var l = e instanceof Array ? e : [[e, t, i, n, r]], h = this.getOption(), m = this._optionRestore, V = this, U = 0, d = l.length; d > U; U++) {
e = l[U][0], t = l[U][1], i = l[U][2], n = l[U][3], r = l[U][4];
var p = m.series[e], c = i ? "unshift" : "push", u = i ? "pop" : "shift";
if (p) {
var y = p.data, g = h.series[e].data;
if (y[c](t), g[c](t), n || (y[u](), t = g[u]()), null != r) {
var b, f;
if (p.type === a.CHART_TYPE_PIE && (b = m.legend) && (f = b.data)) {
var k = h.legend.data;
if (f[c](r), k[c](r), !n) {
var x = o.indexOf(f, t.name);
-1 != x && f.splice(x, 1), x = o.indexOf(k, t.name), -1 != x && k.splice(x, 1)
}
} else if (null != m.xAxis && null != m.yAxis) {
var _, L, W = p.xAxisIndex || 0;
(null == m.xAxis[W].type || "category" === m.xAxis[W].type) && (_ = m.xAxis[W].data, L = h.xAxis[W].data, _[c](r), L[c](r), n || (_[u](), L[u]())), W = p.yAxisIndex || 0, "category" === m.yAxis[W].type && (_ = m.yAxis[W].data, L = h.yAxis[W].data, _[c](r), L[c](r), n || (_[u](), L[u]()))
}
}
this._option.series[e].data = h.series[e].data
}
}
this._zr.clearAnimation();
for (var X = this._chartList, v = 0, w = function () {
v--, 0 === v && s()
}, U = 0, d = X.length; d > U; U++) h.addDataAnimation && X[U].addDataAnimation && (v++, X[U].addDataAnimation(l, w));
return this.component.dataZoom && this.component.dataZoom.syncOption(h), this._option = h, h.addDataAnimation || setTimeout(s, 0), this
}, addMarkPoint: function (e, t) {
return this._addMark(e, t, "markPoint")
}, addMarkLine: function (e, t) {
return this._addMark(e, t, "markLine")
}, _addMark: function (e, t, i) {
var n, a = this._option.series;
if (a && (n = a[e])) {
var r = this._optionRestore.series, s = r[e], l = n[i], h = s[i];
l = n[i] = l || {data: []}, h = s[i] = h || {data: []};
for (var m in t) "data" === m ? (l.data = l.data.concat(t.data), h.data = h.data.concat(t.data)) : "object" != typeof t[m] || null == l[m] ? l[m] = h[m] = t[m] : (o.merge(l[m], t[m], !0), o.merge(h[m], t[m], !0));
var V = this.chart[n.type];
V && V.addMark(e, t, i)
}
return this
}, delMarkPoint: function (e, t) {
return this._delMark(e, t, "markPoint")
}, delMarkLine: function (e, t) {
return this._delMark(e, t, "markLine")
}, _delMark: function (e, t, i) {
var n, a, o, r = this._option.series;
if (!(r && (n = r[e]) && (a = n[i]) && (o = a.data))) return this;
t = t.split(" > ");
for (var s = -1, l = 0, h = o.length; h > l; l++) {
var m = o[l];
if (m instanceof Array) {
if (m[0].name === t[0] && m[1].name === t[1]) {
s = l;
break
}
} else if (m.name === t[0]) {
s = l;
break
}
}
if (s > -1) {
o.splice(s, 1), this._optionRestore.series[e][i].data.splice(s, 1);
var V = this.chart[n.type];
V && V.delMark(e, t.join(" > "), i)
}
return this
}, getDom: function () {
return this.dom
}, getZrender: function () {
return this._zr
}, getDataURL: function (e) {
if (!l) return "";
if (0 === this._chartList.length) {
var t = "IMG" + this.id, i = document.getElementById(t);
if (i) return i.src
}
var n = this.component.tooltip;
switch (n && n.hideTip(), e) {
case"jpeg":
break;
default:
e = "png"
}
var a = this._option.backgroundColor;
return a && "rgba(0,0,0,0)" === a.replace(" ", "") && (a = "#fff"), this._zr.toDataURL("image/" + e, a)
}, getImage: function (e) {
var t = this._optionRestore.title, i = document.createElement("img");
return i.src = this.getDataURL(e), i.title = t && t.text || "ECharts", i
}, getConnectedDataURL: function (t) {
if (!this.isConnected()) return this.getDataURL(t);
var i = this.dom, n = {
self: {
img: this.getDataURL(t),
left: i.offsetLeft,
top: i.offsetTop,
right: i.offsetLeft + i.offsetWidth,
bottom: i.offsetTop + i.offsetHeight
}
}, a = n.self.left, o = n.self.top, r = n.self.right, s = n.self.bottom;
for (var l in this._connected) i = this._connected[l].getDom(), n[l] = {
img: this._connected[l].getDataURL(t),
left: i.offsetLeft,
top: i.offsetTop,
right: i.offsetLeft + i.offsetWidth,
bottom: i.offsetTop + i.offsetHeight
}, a = Math.min(a, n[l].left), o = Math.min(o, n[l].top), r = Math.max(r, n[l].right), s = Math.max(s, n[l].bottom);
var h = document.createElement("div");
h.style.position = "absolute", h.style.left = "-4000px", h.style.width = r - a + "px", h.style.height = s - o + "px", document.body.appendChild(h);
var m = e("zrender").init(h), V = e("zrender/shape/Image");
for (var l in n) m.addShape(new V({style: {x: n[l].left - a, y: n[l].top - o, image: n[l].img}}));
m.render();
var U = this._option.backgroundColor;
U && "rgba(0,0,0,0)" === U.replace(/ /g, "") && (U = "#fff");
var d = m.toDataURL("image/png", U);
return setTimeout(function () {
m.dispose(), h.parentNode.removeChild(h), h = null
}, 100), d
}, getConnectedImage: function (e) {
var t = this._optionRestore.title, i = document.createElement("img");
return i.src = this.getConnectedDataURL(e), i.title = t && t.text || "ECharts", i
}, on: function (e, t) {
return this._messageCenterOutSide.bind(e, t, this), this
}, un: function (e, t) {
return this._messageCenterOutSide.unbind(e, t), this
}, connect: function (e) {
if (!e) return this;
if (this._connected || (this._connected = {}), e instanceof Array) for (var t = 0, i = e.length; i > t; t++) this._connected[e[t].id] = e[t]; else this._connected[e.id] = e;
return this
}, disConnect: function (e) {
if (!e || !this._connected) return this;
if (e instanceof Array) for (var t = 0, i = e.length; i > t; t++) delete this._connected[e[t].id]; else delete this._connected[e.id];
for (var n in this._connected) return this;
return this._connected = !1, this
}, connectedEventHandler: function (e) {
e.__echartsId != this.id && this._onevent(e)
}, isConnected: function () {
return !!this._connected
}, showLoading: function (t) {
var i = {
bar: e("zrender/loadingEffect/Bar"),
bubble: e("zrender/loadingEffect/Bubble"),
dynamicLine: e("zrender/loadingEffect/DynamicLine"),
ring: e("zrender/loadingEffect/Ring"),
spin: e("zrender/loadingEffect/Spin"),
whirling: e("zrender/loadingEffect/Whirling")
};
this._toolbox.hideDataView(), t = t || {};
var n = t.textStyle || {};
t.textStyle = n;
var r = o.merge(o.merge(o.clone(n), this._themeConfig.textStyle), a.textStyle);
n.textFont = r.fontStyle + " " + r.fontWeight + " " + r.fontSize + "px " + r.fontFamily, n.text = t.text || this._option && this._option.loadingText || this._themeConfig.loadingText || a.loadingText, null != t.x && (n.x = t.x), null != t.y && (n.y = t.y), t.effectOption = t.effectOption || {}, t.effectOption.textStyle = n;
var s = t.effect;
return ("string" == typeof s || null == s) && (s = i[t.effect || this._option && this._option.loadingEffect || this._themeConfig.loadingEffect || a.loadingEffect] || i.spin), this._zr.showLoading(new s(t.effectOption)), this
}, hideLoading: function () {
return this._zr.hideLoading(), this
}, setTheme: function (t) {
if (t) {
if ("string" == typeof t) switch (t) {
case"macarons":
t = e("./theme/macarons");
break;
case"infographic":
t = e("./theme/infographic");
break;
default:
t = {}
} else t = t || {};
this._themeConfig = t
}
if (!l) {
var i = this._themeConfig.textStyle;
i && i.fontFamily && i.fontFamily2 && (i.fontFamily = i.fontFamily2), i = a.textStyle, i.fontFamily = i.fontFamily2
}
this._timeline && this._timeline.setTheme(!0), this._optionRestore && this.restore()
}, resize: function () {
var e = this;
return function () {
if (e._clearEffect(), e._zr.resize(), e._option && e._option.renderAsImage && l) return e._render(e._option), e;
e._zr.clearAnimation(), e._island.resize(), e._toolbox.resize(), e._timeline && e._timeline.resize();
for (var t = 0, i = e._chartList.length; i > t; t++) e._chartList[t].resize && e._chartList[t].resize();
return e.component.grid && e.component.grid.refixAxisShape(e.component), e._zr.refresh(), e._messageCenter.dispatch(a.EVENT.RESIZE, null, null, e), e
}
}, _clearEffect: function () {
this._zr.modLayer(a.EFFECT_ZLEVEL, {motionBlur: !1}), this._zr.painter.clearLayer(a.EFFECT_ZLEVEL)
}, clear: function () {
return this._disposeChartList(), this._zr.clear(), this._option = {}, this._optionRestore = {}, this.dom.style.backgroundColor = null, this
}, dispose: function () {
var e = this.dom.getAttribute(V);
e && delete m[e], this._island.dispose(), this._toolbox.dispose(), this._timeline && this._timeline.dispose(), this._messageCenter.unbind(), this.clear(), this._zr.dispose(), this._zr = null
}
}, s
}), i("echarts/config", [], function () {
var e = {
CHART_TYPE_LINE: "line",
CHART_TYPE_BAR: "bar",
CHART_TYPE_SCATTER: "scatter",
CHART_TYPE_PIE: "pie",
CHART_TYPE_RADAR: "radar",
CHART_TYPE_VENN: "venn",
CHART_TYPE_TREEMAP: "treemap",
CHART_TYPE_TREE: "tree",
CHART_TYPE_MAP: "map",
CHART_TYPE_K: "k",
CHART_TYPE_ISLAND: "island",
CHART_TYPE_FORCE: "force",
CHART_TYPE_CHORD: "chord",
CHART_TYPE_GAUGE: "gauge",
CHART_TYPE_FUNNEL: "funnel",
CHART_TYPE_EVENTRIVER: "eventRiver",
CHART_TYPE_WORDCLOUD: "wordCloud",
CHART_TYPE_HEATMAP: "heatmap",
COMPONENT_TYPE_TITLE: "title",
COMPONENT_TYPE_LEGEND: "legend",
COMPONENT_TYPE_DATARANGE: "dataRange",
COMPONENT_TYPE_DATAVIEW: "dataView",
COMPONENT_TYPE_DATAZOOM: "dataZoom",
COMPONENT_TYPE_TOOLBOX: "toolbox",
COMPONENT_TYPE_TOOLTIP: "tooltip",
COMPONENT_TYPE_GRID: "grid",
COMPONENT_TYPE_AXIS: "axis",
COMPONENT_TYPE_POLAR: "polar",
COMPONENT_TYPE_X_AXIS: "xAxis",
COMPONENT_TYPE_Y_AXIS: "yAxis",
COMPONENT_TYPE_AXIS_CATEGORY: "categoryAxis",
COMPONENT_TYPE_AXIS_VALUE: "valueAxis",
COMPONENT_TYPE_TIMELINE: "timeline",
COMPONENT_TYPE_ROAMCONTROLLER: "roamController",
backgroundColor: "rgba(0,0,0,0)",
color: ["#ff7f50", "#87cefa", "#da70d6", "#32cd32", "#6495ed", "#ff69b4", "#ba55d3", "#cd5c5c", "#ffa500", "#40e0d0", "#1e90ff", "#ff6347", "#7b68ee", "#00fa9a", "#ffd700", "#6699FF", "#ff6666", "#3cb371", "#b8860b", "#30e0e0"],
markPoint: {
clickable: !0,
symbol: "pin",
symbolSize: 10,
large: !1,
effect: {show: !1, loop: !0, period: 15, type: "scale", scaleSize: 2, bounceDistance: 10},
itemStyle: {
normal: {borderWidth: 2, label: {show: !0, position: "inside"}},
emphasis: {label: {show: !0}}
}
},
markLine: {
clickable: !0,
symbol: ["circle", "arrow"],
symbolSize: [2, 4],
smoothness: .2,
precision: 2,
effect: {show: !1, loop: !0, period: 15, scaleSize: 2},
bundling: {enable: !1, maxTurningAngle: 45},
itemStyle: {
normal: {borderWidth: 1.5, label: {show: !0, position: "end"}, lineStyle: {type: "dashed"}},
emphasis: {label: {show: !1}, lineStyle: {}}
}
},
textStyle: {
decoration: "none",
fontFamily: "Arial, Verdana, sans-serif",
fontFamily2: "微软雅黑",
fontSize: 12,
fontStyle: "normal",
fontWeight: "normal"
},
EVENT: {
REFRESH: "refresh",
RESTORE: "restore",
RESIZE: "resize",
CLICK: "click",
DBLCLICK: "dblclick",
HOVER: "hover",
MOUSEOUT: "mouseout",
DATA_CHANGED: "dataChanged",
DATA_ZOOM: "dataZoom",
DATA_RANGE: "dataRange",
DATA_RANGE_SELECTED: "dataRangeSelected",
DATA_RANGE_HOVERLINK: "dataRangeHoverLink",
LEGEND_SELECTED: "legendSelected",
LEGEND_HOVERLINK: "legendHoverLink",
MAP_SELECTED: "mapSelected",
PIE_SELECTED: "pieSelected",
MAGIC_TYPE_CHANGED: "magicTypeChanged",
DATA_VIEW_CHANGED: "dataViewChanged",
TIMELINE_CHANGED: "timelineChanged",
MAP_ROAM: "mapRoam",
FORCE_LAYOUT_END: "forceLayoutEnd",
TOOLTIP_HOVER: "tooltipHover",
TOOLTIP_IN_GRID: "tooltipInGrid",
TOOLTIP_OUT_GRID: "tooltipOutGrid",
ROAMCONTROLLER: "roamController"
},
DRAG_ENABLE_TIME: 120,
EFFECT_ZLEVEL: 10,
effectBlendAlpha: .95,
symbolList: ["circle", "rectangle", "triangle", "diamond", "emptyCircle", "emptyRectangle", "emptyTriangle", "emptyDiamond"],
loadingEffect: "spin",
loadingText: "数据读取中...",
noDataEffect: "bubble",
noDataText: "暂无数据",
calculable: !1,
calculableColor: "rgba(255,165,0,0.6)",
calculableHolderColor: "#ccc",
nameConnector: " & ",
valueConnector: ": ",
animation: !0,
addDataAnimation: !0,
animationThreshold: 2e3,
animationDuration: 2e3,
animationDurationUpdate: 500,
animationEasing: "ExponentialOut"
};
return e
}), i("zrender/tool/util", ["require", "../dep/excanvas"], function (e) {
function t(e) {
return e && 1 === e.nodeType && "string" == typeof e.nodeName
}
function i(e) {
if ("object" == typeof e && null !== e) {
var n = e;
if (e instanceof Array) {
n = [];
for (var a = 0, o = e.length; o > a; a++) n[a] = i(e[a])
} else if (!y[g.call(e)] && !t(e)) {
n = {};
for (var r in e) e.hasOwnProperty(r) && (n[r] = i(e[r]))
}
return n
}
return e
}
function n(e, i, n, o) {
if (i.hasOwnProperty(n)) {
var r = e[n];
"object" != typeof r || y[g.call(r)] || t(r) ? !o && n in e || (e[n] = i[n]) : a(e[n], i[n], o)
}
}
function a(e, t, i) {
for (var a in t) n(e, t, a, i);
return e
}
function o() {
if (!U) if (e("../dep/excanvas"), window.G_vmlCanvasManager) {
var t = document.createElement("div");
t.style.position = "absolute", t.style.top = "-1000px", document.body.appendChild(t), U = G_vmlCanvasManager.initElement(t).getContext("2d")
} else U = document.createElement("canvas").getContext("2d");
return U
}
function r(e, t) {
if (e.indexOf) return e.indexOf(t);
for (var i = 0, n = e.length; n > i; i++) if (e[i] === t) return i;
return -1
}
function s(e, t) {
function i() {
}
var n = e.prototype;
i.prototype = t.prototype, e.prototype = new i;
for (var a in n) e.prototype[a] = n[a];
e.constructor = e
}
function l(e, t, i) {
if (e && t) if (e.forEach && e.forEach === p) e.forEach(t, i); else if (e.length === +e.length) for (var n = 0, a = e.length; a > n; n++) t.call(i, e[n], n, e); else for (var o in e) e.hasOwnProperty(o) && t.call(i, e[o], o, e)
}
function h(e, t, i) {
if (e && t) {
if (e.map && e.map === c) return e.map(t, i);
for (var n = [], a = 0, o = e.length; o > a; a++) n.push(t.call(i, e[a], a, e));
return n
}
}
function m(e, t, i) {
if (e && t) {
if (e.filter && e.filter === u) return e.filter(t, i);
for (var n = [], a = 0, o = e.length; o > a; a++) t.call(i, e[a], a, e) && n.push(e[a]);
return n
}
}
function V(e, t) {
return function () {
e.apply(t, arguments)
}
}
var U, d = Array.prototype, p = d.forEach, c = d.map, u = d.filter, y = {
"[object Function]": 1,
"[object RegExp]": 1,
"[object Date]": 1,
"[object Error]": 1,
"[object CanvasGradient]": 1
}, g = Object.prototype.toString;
return {inherits: s, clone: i, merge: a, getContext: o, indexOf: r, each: l, map: h, filter: m, bind: V}
}), i("zrender/tool/event", ["require", "../mixin/Eventful"], function (e) {
"use strict";
function t(e) {
return "undefined" != typeof e.zrenderX && e.zrenderX || "undefined" != typeof e.offsetX && e.offsetX || "undefined" != typeof e.layerX && e.layerX || "undefined" != typeof e.clientX && e.clientX
}
function i(e) {
return "undefined" != typeof e.zrenderY && e.zrenderY || "undefined" != typeof e.offsetY && e.offsetY || "undefined" != typeof e.layerY && e.layerY || "undefined" != typeof e.clientY && e.clientY
}
function n(e) {
return "undefined" != typeof e.zrenderDelta && e.zrenderDelta || "undefined" != typeof e.wheelDelta && e.wheelDelta || "undefined" != typeof e.detail && -e.detail
}
var a = e("../mixin/Eventful"), o = "function" == typeof window.addEventListener ? function (e) {
e.preventDefault(), e.stopPropagation(), e.cancelBubble = !0
} : function (e) {
e.returnValue = !1, e.cancelBubble = !0
};
return {getX: t, getY: i, getDelta: n, stop: o, Dispatcher: a}
}), i("zrender/tool/env", [], function () {
function e(e) {
var t = this.os = {}, i = this.browser = {}, n = e.match(/Web[kK]it[\/]{0,1}([\d.]+)/),
a = e.match(/(Android);?[\s\/]+([\d.]+)?/), o = e.match(/(iPad).*OS\s([\d_]+)/),
r = e.match(/(iPod)(.*OS\s([\d_]+))?/), s = !o && e.match(/(iPhone\sOS)\s([\d_]+)/),
l = e.match(/(webOS|hpwOS)[\s\/]([\d.]+)/), h = l && e.match(/TouchPad/),
m = e.match(/Kindle\/([\d.]+)/), V = e.match(/Silk\/([\d._]+)/),
U = e.match(/(BlackBerry).*Version\/([\d.]+)/), d = e.match(/(BB10).*Version\/([\d.]+)/),
p = e.match(/(RIM\sTablet\sOS)\s([\d.]+)/), c = e.match(/PlayBook/),
u = e.match(/Chrome\/([\d.]+)/) || e.match(/CriOS\/([\d.]+)/), y = e.match(/Firefox\/([\d.]+)/),
g = e.match(/MSIE ([\d.]+)/), b = n && e.match(/Mobile\//) && !u,
f = e.match(/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/) && !u, g = e.match(/MSIE\s([\d.]+)/);
return (i.webkit = !!n) && (i.version = n[1]), a && (t.android = !0, t.version = a[2]), s && !r && (t.ios = t.iphone = !0, t.version = s[2].replace(/_/g, ".")), o && (t.ios = t.ipad = !0, t.version = o[2].replace(/_/g, ".")), r && (t.ios = t.ipod = !0, t.version = r[3] ? r[3].replace(/_/g, ".") : null), l && (t.webos = !0, t.version = l[2]), h && (t.touchpad = !0), U && (t.blackberry = !0, t.version = U[2]), d && (t.bb10 = !0, t.version = d[2]), p && (t.rimtabletos = !0, t.version = p[2]), c && (i.playbook = !0), m && (t.kindle = !0, t.version = m[1]), V && (i.silk = !0, i.version = V[1]), !V && t.android && e.match(/Kindle Fire/) && (i.silk = !0), u && (i.chrome = !0, i.version = u[1]), y && (i.firefox = !0, i.version = y[1]), g && (i.ie = !0, i.version = g[1]), b && (e.match(/Safari/) || t.ios) && (i.safari = !0), f && (i.webview = !0), g && (i.ie = !0, i.version = g[1]), t.tablet = !!(o || c || a && !e.match(/Mobile/) || y && e.match(/Tablet/) || g && !e.match(/Phone/) && e.match(/Touch/)), t.phone = !(t.tablet || t.ipod || !(a || s || l || U || d || u && e.match(/Android/) || u && e.match(/CriOS\/([\d.]+)/) || y && e.match(/Mobile/) || g && e.match(/Touch/))), {
browser: i,
os: t,
canvasSupported: document.createElement("canvas").getContext ? !0 : !1
}
}
return e(navigator.userAgent)
}), i("zrender", ["zrender/zrender"], function (e) {
return e
}), i("zrender/zrender", ["require", "./dep/excanvas", "./tool/util", "./tool/log", "./tool/guid", "./Handler", "./Painter", "./Storage", "./animation/Animation", "./tool/env"], function (e) {
function t(e) {
return function () {
e._needsRefreshNextFrame && e.refresh()
}
}
e("./dep/excanvas");
var i = e("./tool/util"), n = e("./tool/log"), a = e("./tool/guid"), o = e("./Handler"), r = e("./Painter"),
s = e("./Storage"), l = e("./animation/Animation"), h = {}, m = {};
m.version = "2.1.1", m.init = function (e) {
var t = new V(a(), e);
return h[t.id] = t, t
}, m.dispose = function (e) {
if (e) e.dispose(); else {
for (var t in h) h[t].dispose();
h = {}
}
return m
}, m.getInstance = function (e) {
return h[e]
}, m.delInstance = function (e) {
return delete h[e], m
};
var V = function (i, n) {
this.id = i, this.env = e("./tool/env"), this.storage = new s, this.painter = new r(n, this.storage), this.handler = new o(n, this.storage, this.painter), this.animation = new l({stage: {update: t(this)}}), this.animation.start();
var a = this;
this.painter.refreshNextFrame = function () {
a.refreshNextFrame()
}, this._needsRefreshNextFrame = !1;
var a = this, h = this.storage, m = h.delFromMap;
h.delFromMap = function (e) {
var t = h.get(e);
a.stopAnimation(t), m.call(h, e)
}
};
return V.prototype.getId = function () {
return this.id
}, V.prototype.addShape = function (e) {
return this.addElement(e), this
}, V.prototype.addGroup = function (e) {
return this.addElement(e), this
}, V.prototype.delShape = function (e) {
return this.delElement(e), this
}, V.prototype.delGroup = function (e) {
return this.delElement(e), this
}, V.prototype.modShape = function (e, t) {
return this.modElement(e, t), this
}, V.prototype.modGroup = function (e, t) {
return this.modElement(e, t), this
}, V.prototype.addElement = function (e) {
return this.storage.addRoot(e), this._needsRefreshNextFrame = !0, this
}, V.prototype.delElement = function (e) {
return this.storage.delRoot(e), this._needsRefreshNextFrame = !0, this
}, V.prototype.modElement = function (e, t) {
return this.storage.mod(e, t), this._needsRefreshNextFrame = !0, this
}, V.prototype.modLayer = function (e, t) {
return this.painter.modLayer(e, t), this._needsRefreshNextFrame = !0, this
}, V.prototype.addHoverShape = function (e) {
return this.storage.addHover(e), this
}, V.prototype.render = function (e) {
return this.painter.render(e), this._needsRefreshNextFrame = !1, this
}, V.prototype.refresh = function (e) {
return this.painter.refresh(e), this._needsRefreshNextFrame = !1, this
}, V.prototype.refreshNextFrame = function () {
return this._needsRefreshNextFrame = !0, this
}, V.prototype.refreshHover = function (e) {
return this.painter.refreshHover(e), this
}, V.prototype.refreshShapes = function (e, t) {
return this.painter.refreshShapes(e, t), this
}, V.prototype.resize = function () {
return this.painter.resize(), this
}, V.prototype.animate = function (e, t, a) {
var o = this;
if ("string" == typeof e && (e = this.storage.get(e)), e) {
var r;
if (t) {
for (var s = t.split("."), l = e, h = 0, m = s.length; m > h; h++) l && (l = l[s[h]]);
l && (r = l)
} else r = e;
if (!r) return void n('Property "' + t + '" is not existed in element ' + e.id);
null == e.__animators && (e.__animators = []);
var V = e.__animators, U = this.animation.animate(r, {loop: a}).during(function () {
o.modShape(e)
}).done(function () {
var t = i.indexOf(e.__animators, U);
t >= 0 && V.splice(t, 1)
});
return V.push(U), U
}
n("Element not existed")
}, V.prototype.stopAnimation = function (e) {
if (e.__animators) {
for (var t = e.__animators, i = t.length, n = 0; i > n; n++) t[n].stop();
t.length = 0
}
return this
}, V.prototype.clearAnimation = function () {
return this.animation.clear(), this
}, V.prototype.showLoading = function (e) {
return this.painter.showLoading(e), this
}, V.prototype.hideLoading = function () {
return this.painter.hideLoading(), this
}, V.prototype.getWidth = function () {
return this.painter.getWidth()
}, V.prototype.getHeight = function () {
return this.painter.getHeight()
}, V.prototype.toDataURL = function (e, t, i) {
return this.painter.toDataURL(e, t, i)
}, V.prototype.shapeToImage = function (e, t, i) {
var n = a();
return this.painter.shapeToImage(n, e, t, i)
}, V.prototype.on = function (e, t, i) {
return this.handler.on(e, t, i), this
}, V.prototype.un = function (e, t) {
return this.handler.un(e, t), this
}, V.prototype.trigger = function (e, t) {
return this.handler.trigger(e, t), this
}, V.prototype.clear = function () {
return this.storage.delRoot(), this.painter.clear(), this
}, V.prototype.dispose = function () {
this.animation.stop(), this.clear(), this.storage.dispose(), this.painter.dispose(), this.handler.dispose(), this.animation = this.storage = this.painter = this.handler = null, m.delInstance(this.id)
}, m
}), i("zrender/config", [], function () {
var e = {
EVENT: {
RESIZE: "resize",
CLICK: "click",
DBLCLICK: "dblclick",
MOUSEWHEEL: "mousewheel",
MOUSEMOVE: "mousemove",
MOUSEOVER: "mouseover",
MOUSEOUT: "mouseout",
MOUSEDOWN: "mousedown",
MOUSEUP: "mouseup",
GLOBALOUT: "globalout",
DRAGSTART: "dragstart",
DRAGEND: "dragend",
DRAGENTER: "dragenter",
DRAGOVER: "dragover",
DRAGLEAVE: "dragleave",
DROP: "drop",
touchClickDelay: 300
},
elementClassName: "zr-element",
catchBrushException: !1,
debugMode: 0,
devicePixelRatio: Math.max(window.devicePixelRatio || 1, 1)
};
return e
}), i("echarts/chart/island", ["require", "./base", "zrender/shape/Circle", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/event", "zrender/tool/color", "../util/accMath", "../chart"], function (e) {
function t(e, t, n, a, r) {
i.call(this, e, t, n, a, r), this._nameConnector, this._valueConnector, this._zrHeight = this.zr.getHeight(), this._zrWidth = this.zr.getWidth();
var l = this;
l.shapeHandler.onmousewheel = function (e) {
var t = e.target, i = e.event, n = s.getDelta(i);
n = n > 0 ? -1 : 1, t.style.r -= n, t.style.r = t.style.r < 5 ? 5 : t.style.r;
var a = o.get(t, "value"), r = a * l.option.island.calculateStep;
a = r > 1 ? Math.round(a - r * n) : +(a - r * n).toFixed(2);
var h = o.get(t, "name");
t.style.text = h + ":" + a, o.set(t, "value", a), o.set(t, "name", h), l.zr.modShape(t.id), l.zr.refreshNextFrame(), s.stop(i)
}
}
var i = e("./base"), n = e("zrender/shape/Circle"), a = e("../config");
a.island = {zlevel: 0, z: 5, r: 15, calculateStep: .1};
var o = e("../util/ecData"), r = e("zrender/tool/util"), s = e("zrender/tool/event");
return t.prototype = {
type: a.CHART_TYPE_ISLAND, _combine: function (t, i) {
var n = e("zrender/tool/color"), a = e("../util/accMath"),
r = a.accAdd(o.get(t, "value"), o.get(i, "value")),
s = o.get(t, "name") + this._nameConnector + o.get(i, "name");
t.style.text = s + this._valueConnector + r, o.set(t, "value", r), o.set(t, "name", s), t.style.r = this.option.island.r, t.style.color = n.mix(t.style.color, i.style.color)
}, refresh: function (e) {
e && (e.island = this.reformOption(e.island), this.option = e, this._nameConnector = this.option.nameConnector, this._valueConnector = this.option.valueConnector)
}, getOption: function () {
return this.option
}, resize: function () {
var e = this.zr.getWidth(), t = this.zr.getHeight(), i = e / (this._zrWidth || e),
n = t / (this._zrHeight || t);
if (1 !== i || 1 !== n) {
this._zrWidth = e, this._zrHeight = t;
for (var a = 0, o = this.shapeList.length; o > a; a++) this.zr.modShape(this.shapeList[a].id, {
style: {
x: Math.round(this.shapeList[a].style.x * i),
y: Math.round(this.shapeList[a].style.y * n)
}
})
}
}, add: function (e) {
var t = o.get(e, "name"), i = o.get(e, "value"),
a = null != o.get(e, "series") ? o.get(e, "series").name : "",
r = this.getFont(this.option.island.textStyle), s = this.option.island, l = {
zlevel: s.zlevel,
z: s.z,
style: {
x: e.style.x,
y: e.style.y,
r: this.option.island.r,
color: e.style.color || e.style.strokeColor,
text: t + this._valueConnector + i,
textFont: r
},
draggable: !0,
hoverable: !0,
onmousewheel: this.shapeHandler.onmousewheel,
_type: "island"
};
"#fff" === l.style.color && (l.style.color = e.style.strokeColor), this.setCalculable(l), l.dragEnableTime = 0, o.pack(l, {name: a}, -1, i, -1, t), l = new n(l), this.shapeList.push(l), this.zr.addShape(l)
}, del: function (e) {
this.zr.delShape(e.id);
for (var t = [], i = 0, n = this.shapeList.length; n > i; i++) this.shapeList[i].id != e.id && t.push(this.shapeList[i]);
this.shapeList = t
}, ondrop: function (e, t) {
if (this.isDrop && e.target) {
var i = e.target, n = e.dragged;
this._combine(i, n), this.zr.modShape(i.id), t.dragIn = !0, this.isDrop = !1
}
}, ondragend: function (e, t) {
var i = e.target;
this.isDragend ? t.dragIn && (this.del(i), t.needRefresh = !0) : t.dragIn || (i.style.x = s.getX(e.event), i.style.y = s.getY(e.event), this.add(i), t.needRefresh = !0), this.isDragend = !1
}
}, r.inherits(t, i), e("../chart").define("island", t), t
}), i("echarts/component/toolbox", ["require", "./base", "zrender/shape/Line", "zrender/shape/Image", "zrender/shape/Rectangle", "../util/shape/Icon", "../config", "zrender/tool/util", "zrender/config", "zrender/tool/event", "./dataView", "../component"], function (e) {
function t(e, t, n, a, o) {
i.call(this, e, t, n, a, o), this.dom = o.dom, this._magicType = {}, this._magicMap = {}, this._isSilence = !1, this._iconList, this._iconShapeMap = {}, this._featureTitle = {}, this._featureIcon = {}, this._featureColor = {}, this._featureOption = {}, this._enableColor = "red", this._disableColor = "#ccc", this._markShapeList = [];
var r = this;
r._onMark = function (e) {
r.__onMark(e)
}, r._onMarkUndo = function (e) {
r.__onMarkUndo(e)
}, r._onMarkClear = function (e) {
r.__onMarkClear(e)
}, r._onDataZoom = function (e) {
r.__onDataZoom(e)
}, r._onDataZoomReset = function (e) {
r.__onDataZoomReset(e)
}, r._onDataView = function (e) {
r.__onDataView(e)
}, r._onRestore = function (e) {
r.__onRestore(e)
}, r._onSaveAsImage = function (e) {
r.__onSaveAsImage(e)
}, r._onMagicType = function (e) {
r.__onMagicType(e)
}, r._onCustomHandler = function (e) {
r.__onCustomHandler(e)
}, r._onmousemove = function (e) {
return r.__onmousemove(e)
}, r._onmousedown = function (e) {
return r.__onmousedown(e)
}, r._onmouseup = function (e) {
return r.__onmouseup(e)
}, r._onclick = function (e) {
return r.__onclick(e)
}
}
var i = e("./base"), n = e("zrender/shape/Line"), a = e("zrender/shape/Image"),
o = e("zrender/shape/Rectangle"), r = e("../util/shape/Icon"), s = e("../config");
s.toolbox = {
zlevel: 0,
z: 6,
show: !1,
orient: "horizontal",
x: "right",
y: "top",
color: ["#1e90ff", "#22bb22", "#4b0082", "#d2691e"],
disableColor: "#ddd",
effectiveColor: "red",
backgroundColor: "rgba(0,0,0,0)",
borderColor: "#ccc",
borderWidth: 0,
padding: 5,
itemGap: 10,
itemSize: 16,
showTitle: !0,
feature: {
mark: {
show: !1,
title: {mark: "辅助线开关", markUndo: "删除辅助线", markClear: "清空辅助线"},
lineStyle: {width: 1, color: "#1e90ff", type: "dashed"}
},
dataZoom: {show: !1, title: {dataZoom: "区域缩放", dataZoomReset: "区域缩放后退"}},
dataView: {show: !1, title: "数据视图", readOnly: !1, lang: ["数据视图", "关闭", "刷新"]},
magicType: {
show: !1,
title: {
line: "折线图切换",
bar: "柱形图切换",
stack: "堆积",
tiled: "平铺",
force: "力导向布局图切换",
chord: "和弦图切换",
pie: "饼图切换",
funnel: "漏斗图切换"
},
type: []
},
restore: {show: !1, title: "还原"},
saveAsImage: {show: !1, title: "保存为图片", type: "png", lang: ["点击保存"]}
}
};
var l = e("zrender/tool/util"), h = e("zrender/config"), m = e("zrender/tool/event"), V = "stack", U = "tiled";
return t.prototype = {
type: s.COMPONENT_TYPE_TOOLBOX, _buildShape: function () {
this._iconList = [];
var e = this.option.toolbox;
this._enableColor = e.effectiveColor, this._disableColor = e.disableColor;
var t = e.feature, i = [];
for (var n in t) if (t[n].show) switch (n) {
case"mark":
i.push({key: n, name: "mark"}), i.push({key: n, name: "markUndo"}), i.push({
key: n,
name: "markClear"
});
break;
case"magicType":
for (var a = 0, o = t[n].type.length; o > a; a++) t[n].title[t[n].type[a] + "Chart"] = t[n].title[t[n].type[a]], t[n].option && (t[n].option[t[n].type[a] + "Chart"] = t[n].option[t[n].type[a]]), i.push({
key: n,
name: t[n].type[a] + "Chart"
});
break;
case"dataZoom":
i.push({key: n, name: "dataZoom"}), i.push({key: n, name: "dataZoomReset"});
break;
case"saveAsImage":
this.canvasSupported && i.push({key: n, name: "saveAsImage"});
break;
default:
i.push({key: n, name: n})
}
if (i.length > 0) {
for (var r, n, a = 0, o = i.length; o > a; a++) r = i[a].name, n = i[a].key, this._iconList.push(r), this._featureTitle[r] = t[n].title[r] || t[n].title, t[n].icon && (this._featureIcon[r] = t[n].icon[r] || t[n].icon), t[n].color && (this._featureColor[r] = t[n].color[r] || t[n].color), t[n].option && (this._featureOption[r] = t[n].option[r] || t[n].option);
this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
for (var a = 0, o = this.shapeList.length; o > a; a++) this.zr.addShape(this.shapeList[a]);
this._iconShapeMap.mark && (this._iconDisable(this._iconShapeMap.markUndo), this._iconDisable(this._iconShapeMap.markClear)), this._iconShapeMap.dataZoomReset && 0 === this._zoomQueue.length && this._iconDisable(this._iconShapeMap.dataZoomReset)
}
}, _buildItem: function () {
var t, i, n, o, s = this.option.toolbox, l = this._iconList.length, h = this._itemGroupLocation.x,
m = this._itemGroupLocation.y, V = s.itemSize, U = s.itemGap,
d = s.color instanceof Array ? s.color : [s.color], p = this.getFont(s.textStyle);
"horizontal" === s.orient ? (i = this._itemGroupLocation.y / this.zr.getHeight() < .5 ? "bottom" : "top", n = this._itemGroupLocation.x / this.zr.getWidth() < .5 ? "left" : "right", o = this._itemGroupLocation.y / this.zr.getHeight() < .5 ? "top" : "bottom") : i = this._itemGroupLocation.x / this.zr.getWidth() < .5 ? "right" : "left", this._iconShapeMap = {};
for (var c = this, u = 0; l > u; u++) {
switch (t = {
type: "icon",
zlevel: this.getZlevelBase(),
z: this.getZBase(),
style: {
x: h,
y: m,
width: V,
height: V,
iconType: this._iconList[u],
lineWidth: 1,
strokeColor: this._featureColor[this._iconList[u]] || d[u % d.length],
brushType: "stroke"
},
highlightStyle: {
lineWidth: 1,
text: s.showTitle ? this._featureTitle[this._iconList[u]] : void 0,
textFont: p,
textPosition: i,
strokeColor: this._featureColor[this._iconList[u]] || d[u % d.length]
},
hoverable: !0,
clickable: !0
}, this._featureIcon[this._iconList[u]] && (t.style.image = this._featureIcon[this._iconList[u]].replace(new RegExp("^image:\\/\\/"), ""), t.style.opacity = .8, t.highlightStyle.opacity = 1, t.type = "image"), "horizontal" === s.orient && (0 === u && "left" === n && (t.highlightStyle.textPosition = "specific", t.highlightStyle.textAlign = n, t.highlightStyle.textBaseline = o, t.highlightStyle.textX = h, t.highlightStyle.textY = "top" === o ? m + V + 10 : m - 10), u === l - 1 && "right" === n && (t.highlightStyle.textPosition = "specific", t.highlightStyle.textAlign = n, t.highlightStyle.textBaseline = o, t.highlightStyle.textX = h + V, t.highlightStyle.textY = "top" === o ? m + V + 10 : m - 10)), this._iconList[u]) {
case"mark":
t.onclick = c._onMark;
break;
case"markUndo":
t.onclick = c._onMarkUndo;
break;
case"markClear":
t.onclick = c._onMarkClear;
break;
case"dataZoom":
t.onclick = c._onDataZoom;
break;
case"dataZoomReset":
t.onclick = c._onDataZoomReset;
break;
case"dataView":
if (!this._dataView) {
var y = e("./dataView");
this._dataView = new y(this.ecTheme, this.messageCenter, this.zr, this.option, this.myChart)
}
t.onclick = c._onDataView;
break;
case"restore":
t.onclick = c._onRestore;
break;
case"saveAsImage":
t.onclick = c._onSaveAsImage;
break;
default:
this._iconList[u].match("Chart") ? (t._name = this._iconList[u].replace("Chart", ""), t.onclick = c._onMagicType) : t.onclick = c._onCustomHandler
}
"icon" === t.type ? t = new r(t) : "image" === t.type && (t = new a(t)), this.shapeList.push(t), this._iconShapeMap[this._iconList[u]] = t, "horizontal" === s.orient ? h += V + U : m += V + U
}
}, _buildBackground: function () {
var e = this.option.toolbox, t = this.reformCssArray(this.option.toolbox.padding);
this.shapeList.push(new o({
zlevel: this.getZlevelBase(),
z: this.getZBase(),
hoverable: !1,
style: {
x: this._itemGroupLocation.x - t[3],
y: this._itemGroupLocation.y - t[0],
width: this._itemGroupLocation.width + t[3] + t[1],
height: this._itemGroupLocation.height + t[0] + t[2],
brushType: 0 === e.borderWidth ? "fill" : "both",
color: e.backgroundColor,
strokeColor: e.borderColor,
lineWidth: e.borderWidth
}
}))
}, _getItemGroupLocation: function () {
var e = this.option.toolbox, t = this.reformCssArray(this.option.toolbox.padding),
i = this._iconList.length, n = e.itemGap, a = e.itemSize, o = 0, r = 0;
"horizontal" === e.orient ? (o = (a + n) * i - n, r = a) : (r = (a + n) * i - n, o = a);
var s, l = this.zr.getWidth();
switch (e.x) {
case"center":
s = Math.floor((l - o) / 2);
break;
case"left":
s = t[3] + e.borderWidth;
break;
case"right":
s = l - o - t[1] - e.borderWidth;
break;
default:
s = e.x - 0, s = isNaN(s) ? 0 : s
}
var h, m = this.zr.getHeight();
switch (e.y) {
case"top":
h = t[0] + e.borderWidth;
break;
case"bottom":
h = m - r - t[2] - e.borderWidth;
break;
case"center":
h = Math.floor((m - r) / 2);
break;
default:
h = e.y - 0, h = isNaN(h) ? 0 : h
}
return {x: s, y: h, width: o, height: r}
}, __onmousemove: function (e) {
this._marking && (this._markShape.style.xEnd = m.getX(e.event), this._markShape.style.yEnd = m.getY(e.event), this.zr.addHoverShape(this._markShape)), this._zooming && (this._zoomShape.style.width = m.getX(e.event) - this._zoomShape.style.x, this._zoomShape.style.height = m.getY(e.event) - this._zoomShape.style.y, this.zr.addHoverShape(this._zoomShape), this.dom.style.cursor = "crosshair", m.stop(e.event)), this._zoomStart && "pointer" != this.dom.style.cursor && "move" != this.dom.style.cursor && (this.dom.style.cursor = "crosshair")
}, __onmousedown: function (e) {
if (!e.target) {
this._zooming = !0;
var t = m.getX(e.event), i = m.getY(e.event), n = this.option.dataZoom || {};
return this._zoomShape = new o({
zlevel: this.getZlevelBase(),
z: this.getZBase(),
style: {x: t, y: i, width: 1, height: 1, brushType: "both"},
highlightStyle: {
lineWidth: 2,
color: n.fillerColor || s.dataZoom.fillerColor,
strokeColor: n.handleColor || s.dataZoom.handleColor,
brushType: "both"
}
}), this.zr.addHoverShape(this._zoomShape), !0
}
}, __onmouseup: function () {
if (!this._zoomShape || Math.abs(this._zoomShape.style.width) < 10 || Math.abs(this._zoomShape.style.height) < 10) return this._zooming = !1, !0;
if (this._zooming && this.component.dataZoom) {
this._zooming = !1;
var e = this.component.dataZoom.rectZoom(this._zoomShape.style);
e && (this._zoomQueue.push({
start: e.start,
end: e.end,
start2: e.start2,
end2: e.end2
}), this._iconEnable(this._iconShapeMap.dataZoomReset), this.zr.refreshNextFrame())
}
return !0
}, __onclick: function (e) {
if (!e.target) if (this._marking) this._marking = !1, this._markShapeList.push(this._markShape), this._iconEnable(this._iconShapeMap.markUndo), this._iconEnable(this._iconShapeMap.markClear), this.zr.addShape(this._markShape), this.zr.refreshNextFrame(); else if (this._markStart) {
this._marking = !0;
var t = m.getX(e.event), i = m.getY(e.event);
this._markShape = new n({
zlevel: this.getZlevelBase(),
z: this.getZBase(),
style: {
xStart: t,
yStart: i,
xEnd: t,
yEnd: i,
lineWidth: this.query(this.option, "toolbox.feature.mark.lineStyle.width"),
strokeColor: this.query(this.option, "toolbox.feature.mark.lineStyle.color"),
lineType: this.query(this.option, "toolbox.feature.mark.lineStyle.type")
}
}), this.zr.addHoverShape(this._markShape)
}
}, __onMark: function (e) {
var t = e.target;
if (this._marking || this._markStart) this._resetMark(), this.zr.refreshNextFrame(); else {
this._resetZoom(), this.zr.modShape(t.id, {style: {strokeColor: this._enableColor}}), this.zr.refreshNextFrame(), this._markStart = !0;
var i = this;
setTimeout(function () {
i.zr && i.zr.on(h.EVENT.CLICK, i._onclick) && i.zr.on(h.EVENT.MOUSEMOVE, i._onmousemove)
}, 10)
}
return !0
}, __onMarkUndo: function () {
if (this._marking) this._marking = !1; else {
var e = this._markShapeList.length;
if (e >= 1) {
var t = this._markShapeList[e - 1];
this.zr.delShape(t.id), this.zr.refreshNextFrame(), this._markShapeList.pop(), 1 === e && (this._iconDisable(this._iconShapeMap.markUndo), this._iconDisable(this._iconShapeMap.markClear))
}
}
return !0
}, __onMarkClear: function () {
this._marking && (this._marking = !1);
var e = this._markShapeList.length;
if (e > 0) {
for (; e--;) this.zr.delShape(this._markShapeList.pop().id);
this._iconDisable(this._iconShapeMap.markUndo), this._iconDisable(this._iconShapeMap.markClear), this.zr.refreshNextFrame()
}
return !0
}, __onDataZoom: function (e) {
var t = e.target;
if (this._zooming || this._zoomStart) this._resetZoom(), this.zr.refreshNextFrame(), this.dom.style.cursor = "default"; else {
this._resetMark(), this.zr.modShape(t.id, {style: {strokeColor: this._enableColor}}), this.zr.refreshNextFrame(), this._zoomStart = !0;
var i = this;
setTimeout(function () {
i.zr && i.zr.on(h.EVENT.MOUSEDOWN, i._onmousedown) && i.zr.on(h.EVENT.MOUSEUP, i._onmouseup) && i.zr.on(h.EVENT.MOUSEMOVE, i._onmousemove)
}, 10), this.dom.style.cursor = "crosshair"
}
return !0
}, __onDataZoomReset: function () {
return this._zooming && (this._zooming = !1), this._zoomQueue.pop(), this._zoomQueue.length > 0 ? this.component.dataZoom.absoluteZoom(this._zoomQueue[this._zoomQueue.length - 1]) : (this.component.dataZoom.rectZoom(), this._iconDisable(this._iconShapeMap.dataZoomReset), this.zr.refreshNextFrame()), !0
}, _resetMark: function () {
this._marking = !1, this._markStart && (this._markStart = !1, this._iconShapeMap.mark && this.zr.modShape(this._iconShapeMap.mark.id, {style: {strokeColor: this._iconShapeMap.mark.highlightStyle.strokeColor}}), this.zr.un(h.EVENT.CLICK, this._onclick), this.zr.un(h.EVENT.MOUSEMOVE, this._onmousemove))
}, _resetZoom: function () {
this._zooming = !1, this._zoomStart && (this._zoomStart = !1, this._iconShapeMap.dataZoom && this.zr.modShape(this._iconShapeMap.dataZoom.id, {style: {strokeColor: this._iconShapeMap.dataZoom.highlightStyle.strokeColor}}), this.zr.un(h.EVENT.MOUSEDOWN, this._onmousedown), this.zr.un(h.EVENT.MOUSEUP, this._onmouseup), this.zr.un(h.EVENT.MOUSEMOVE, this._onmousemove))
}, _iconDisable: function (e) {
"image" != e.type ? this.zr.modShape(e.id, {
hoverable: !1,
clickable: !1,
style: {strokeColor: this._disableColor}
}) : this.zr.modShape(e.id, {hoverable: !1, clickable: !1, style: {opacity: .3}})
}, _iconEnable: function (e) {
"image" != e.type ? this.zr.modShape(e.id, {
hoverable: !0,
clickable: !0,
style: {strokeColor: e.highlightStyle.strokeColor}
}) : this.zr.modShape(e.id, {hoverable: !0, clickable: !0, style: {opacity: .8}})
}, __onDataView: function () {
return this._dataView.show(this.option), !0
}, __onRestore: function () {
return this._resetMark(), this._resetZoom(), this.messageCenter.dispatch(s.EVENT.RESTORE, null, null, this.myChart), !0
}, __onSaveAsImage: function () {
var e = this.option.toolbox.feature.saveAsImage, t = e.type || "png";
"png" != t && "jpeg" != t && (t = "png");
var i;
i = this.myChart.isConnected() ? this.myChart.getConnectedDataURL(t) : this.zr.toDataURL("image/" + t, this.option.backgroundColor && "rgba(0,0,0,0)" === this.option.backgroundColor.replace(" ", "") ? "#fff" : this.option.backgroundColor);
var n = document.createElement("div");
n.id = "__echarts_download_wrap__", n.style.cssText = "position:fixed;z-index:99999;display:block;top:0;left:0;background-color:rgba(33,33,33,0.5);text-align:center;width:100%;height:100%;line-height:" + document.documentElement.clientHeight + "px;";
var a = document.createElement("a");
a.href = i, a.setAttribute("download", (e.name ? e.name : this.option.title && (this.option.title.text || this.option.title.subtext) ? this.option.title.text || this.option.title.subtext : "ECharts") + "." + t), a.innerHTML = '图片另存为" : e.lang ? e.lang[0] : "点击保存") + '"/>', n.appendChild(a), document.body.appendChild(n), a = null, n = null, setTimeout(function () {
var e = document.getElementById("__echarts_download_wrap__");
e && (e.onclick = function () {
var e = document.getElementById("__echarts_download_wrap__");
e.onclick = null, e.innerHTML = "", document.body.removeChild(e), e = null
}, e = null)
}, 500)
}, __onMagicType: function (e) {
this._resetMark();
var t = e.target._name;
return this._magicType[t] || (this._magicType[t] = !0, t === s.CHART_TYPE_LINE ? this._magicType[s.CHART_TYPE_BAR] = !1 : t === s.CHART_TYPE_BAR && (this._magicType[s.CHART_TYPE_LINE] = !1), t === s.CHART_TYPE_PIE ? this._magicType[s.CHART_TYPE_FUNNEL] = !1 : t === s.CHART_TYPE_FUNNEL && (this._magicType[s.CHART_TYPE_PIE] = !1), t === s.CHART_TYPE_FORCE ? this._magicType[s.CHART_TYPE_CHORD] = !1 : t === s.CHART_TYPE_CHORD && (this._magicType[s.CHART_TYPE_FORCE] = !1), t === V ? this._magicType[U] = !1 : t === U && (this._magicType[V] = !1), this.messageCenter.dispatch(s.EVENT.MAGIC_TYPE_CHANGED, e.event, {magicType: this._magicType}, this.myChart)), !0
}, setMagicType: function (e) {
this._resetMark(), this._magicType = e, !this._isSilence && this.messageCenter.dispatch(s.EVENT.MAGIC_TYPE_CHANGED, null, {magicType: this._magicType}, this.myChart)
}, __onCustomHandler: function (e) {
var t = e.target.style.iconType, i = this.option.toolbox.feature[t].onclick;
"function" == typeof i && i.call(this, this.option)
}, reset: function (e, t) {
if (t && this.clear(), this.query(e, "toolbox.show") && this.query(e, "toolbox.feature.magicType.show")) {
var i = e.toolbox.feature.magicType.type, n = i.length;
for (this._magicMap = {}; n--;) this._magicMap[i[n]] = !0;
n = e.series.length;
for (var a, o; n--;) a = e.series[n].type, this._magicMap[a] && (o = e.xAxis instanceof Array ? e.xAxis[e.series[n].xAxisIndex || 0] : e.xAxis, o && "category" === (o.type || "category") && (o.__boundaryGap = null != o.boundaryGap ? o.boundaryGap : !0), o = e.yAxis instanceof Array ? e.yAxis[e.series[n].yAxisIndex || 0] : e.yAxis, o && "category" === o.type && (o.__boundaryGap = null != o.boundaryGap ? o.boundaryGap : !0), e.series[n].__type = a, e.series[n].__itemStyle = l.clone(e.series[n].itemStyle || {})), (this._magicMap[V] || this._magicMap[U]) && (e.series[n].__stack = e.series[n].stack)
}
this._magicType = t ? {} : this._magicType || {};
for (var r in this._magicType) if (this._magicType[r]) {
this.option = e, this.getMagicOption();
break
}
var s = e.dataZoom;
if (s && s.show) {
var h = null != s.start && s.start >= 0 && s.start <= 100 ? s.start : 0,
m = null != s.end && s.end >= 0 && s.end <= 100 ? s.end : 100;
h > m && (h += m, m = h - m, h -= m), this._zoomQueue = [{start: h, end: m, start2: 0, end2: 100}]
} else this._zoomQueue = []
}, getMagicOption: function () {
var e, t;
if (this._magicType[s.CHART_TYPE_LINE] || this._magicType[s.CHART_TYPE_BAR]) {
for (var i = this._magicType[s.CHART_TYPE_LINE] ? !1 : !0, n = 0, a = this.option.series.length; a > n; n++) t = this.option.series[n].type, (t == s.CHART_TYPE_LINE || t == s.CHART_TYPE_BAR) && (e = this.option.xAxis instanceof Array ? this.option.xAxis[this.option.series[n].xAxisIndex || 0] : this.option.xAxis, e && "category" === (e.type || "category") && (e.boundaryGap = i ? !0 : e.__boundaryGap), e = this.option.yAxis instanceof Array ? this.option.yAxis[this.option.series[n].yAxisIndex || 0] : this.option.yAxis, e && "category" === e.type && (e.boundaryGap = i ? !0 : e.__boundaryGap));
this._defaultMagic(s.CHART_TYPE_LINE, s.CHART_TYPE_BAR)
}
if (this._defaultMagic(s.CHART_TYPE_CHORD, s.CHART_TYPE_FORCE), this._defaultMagic(s.CHART_TYPE_PIE, s.CHART_TYPE_FUNNEL), this._magicType[V] || this._magicType[U]) for (var n = 0, a = this.option.series.length; a > n; n++) this._magicType[V] ? (this.option.series[n].stack = "_ECHARTS_STACK_KENER_2014_", t = V) : this._magicType[U] && (this.option.series[n].stack = null, t = U), this._featureOption[t + "Chart"] && l.merge(this.option.series[n], this._featureOption[t + "Chart"] || {}, !0);
return this.option
}, _defaultMagic: function (e, t) {
if (this._magicType[e] || this._magicType[t]) for (var i = 0, n = this.option.series.length; n > i; i++) {
var a = this.option.series[i].type;
(a == e || a == t) && (this.option.series[i].type = this._magicType[e] ? e : t, this.option.series[i].itemStyle = l.clone(this.option.series[i].__itemStyle), a = this.option.series[i].type, this._featureOption[a + "Chart"] && l.merge(this.option.series[i], this._featureOption[a + "Chart"] || {}, !0))
}
}, silence: function (e) {
this._isSilence = e
}, resize: function () {
this._resetMark(), this.clear(), this.option && this.option.toolbox && this.option.toolbox.show && this._buildShape(), this._dataView && this._dataView.resize()
}, hideDataView: function () {
this._dataView && this._dataView.hide()
}, clear: function (e) {
this.zr && (this.zr.delShape(this.shapeList), this.shapeList = [], e || (this.zr.delShape(this._markShapeList), this._markShapeList = []))
}, onbeforDispose: function () {
this._dataView && (this._dataView.dispose(), this._dataView = null), this._markShapeList = null
}, refresh: function (e) {
e && (this._resetMark(), this._resetZoom(), e.toolbox = this.reformOption(e.toolbox), this.option = e, this.clear(!0), e.toolbox.show && this._buildShape(), this.hideDataView())
}
}, l.inherits(t, i), e("../component").define("toolbox", t), t
}), i("echarts/component", [], function () {
var e = {}, t = {};
return e.define = function (i, n) {
return t[i] = n, e
}, e.get = function (e) {
return t[e]
}, e
}), i("echarts/component/title", ["require", "./base", "zrender/shape/Text", "zrender/shape/Rectangle", "../config", "zrender/tool/util", "zrender/tool/area", "zrender/tool/color", "../component"], function (e) {
function t(e, t, n, a, o) {
i.call(this, e, t, n, a, o), this.refresh(a)
}
var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Rectangle"), o = e("../config");
o.title = {
zlevel: 0,
z: 6,
show: !0,
text: "",
subtext: "",
x: "left",
y: "top",
backgroundColor: "rgba(0,0,0,0)",
borderColor: "#ccc",
borderWidth: 0,
padding: 5,
itemGap: 5,
textStyle: {fontSize: 18, fontWeight: "bolder", color: "#333"},
subtextStyle: {color: "#aaa"}
};
var r = e("zrender/tool/util"), s = e("zrender/tool/area"), l = e("zrender/tool/color");
return t.prototype = {
type: o.COMPONENT_TYPE_TITLE, _buildShape: function () {
if (this.titleOption.show) {
this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem();
for (var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e])
}
}, _buildItem: function () {
var e = this.titleOption.text, t = this.titleOption.link, i = this.titleOption.target,
a = this.titleOption.subtext, o = this.titleOption.sublink, r = this.titleOption.subtarget,
s = this.getFont(this.titleOption.textStyle), h = this.getFont(this.titleOption.subtextStyle),
m = this._itemGroupLocation.x, V = this._itemGroupLocation.y, U = this._itemGroupLocation.width,
d = this._itemGroupLocation.height, p = {
zlevel: this.getZlevelBase(),
z: this.getZBase(),
style: {y: V, color: this.titleOption.textStyle.color, text: e, textFont: s, textBaseline: "top"},
highlightStyle: {color: l.lift(this.titleOption.textStyle.color, 1), brushType: "fill"},
hoverable: !1
};
t && (p.hoverable = !0, p.clickable = !0, p.onclick = function () {
i && "self" == i ? window.location = t : window.open(t)
});
var c = {
zlevel: this.getZlevelBase(),
z: this.getZBase(),
style: {
y: V + d,
color: this.titleOption.subtextStyle.color,
text: a,
textFont: h,
textBaseline: "bottom"
},
highlightStyle: {color: l.lift(this.titleOption.subtextStyle.color, 1), brushType: "fill"},
hoverable: !1
};
switch (o && (c.hoverable = !0, c.clickable = !0, c.onclick = function () {
r && "self" == r ? window.location = o : window.open(o)
}), this.titleOption.x) {
case"center":
p.style.x = c.style.x = m + U / 2, p.style.textAlign = c.style.textAlign = "center";
break;
case"left":
p.style.x = c.style.x = m, p.style.textAlign = c.style.textAlign = "left";
break;
case"right":
p.style.x = c.style.x = m + U, p.style.textAlign = c.style.textAlign = "right";
break;
default:
m = this.titleOption.x - 0, m = isNaN(m) ? 0 : m, p.style.x = c.style.x = m
}
this.titleOption.textAlign && (p.style.textAlign = c.style.textAlign = this.titleOption.textAlign), this.shapeList.push(new n(p)), "" !== a && this.shapeList.push(new n(c))
}, _buildBackground: function () {
var e = this.reformCssArray(this.titleOption.padding);
this.shapeList.push(new a({
zlevel: this.getZlevelBase(),
z: this.getZBase(),
hoverable: !1,
style: {
x: this._itemGroupLocation.x - e[3],
y: this._itemGroupLocation.y - e[0],
width: this._itemGroupLocation.width + e[3] + e[1],
height: this._itemGroupLocation.height + e[0] + e[2],
brushType: 0 === this.titleOption.borderWidth ? "fill" : "both",
color: this.titleOption.backgroundColor,
strokeColor: this.titleOption.borderColor,
lineWidth: this.titleOption.borderWidth
}
}))
}, _getItemGroupLocation: function () {
var e, t = this.reformCssArray(this.titleOption.padding), i = this.titleOption.text,
n = this.titleOption.subtext, a = this.getFont(this.titleOption.textStyle),
o = this.getFont(this.titleOption.subtextStyle),
r = Math.max(s.getTextWidth(i, a), s.getTextWidth(n, o)),
l = s.getTextHeight(i, a) + ("" === n ? 0 : this.titleOption.itemGap + s.getTextHeight(n, o)),
h = this.zr.getWidth();
switch (this.titleOption.x) {
case"center":
e = Math.floor((h - r) / 2);
break;
case"left":
e = t[3] + this.titleOption.borderWidth;
break;
case"right":
e = h - r - t[1] - this.titleOption.borderWidth;
break;
default:
e = this.titleOption.x - 0, e = isNaN(e) ? 0 : e
}
var m, V = this.zr.getHeight();
switch (this.titleOption.y) {
case"top":
m = t[0] + this.titleOption.borderWidth;
break;
case"bottom":
m = V - l - t[2] - this.titleOption.borderWidth;
break;
case"center":
m = Math.floor((V - l) / 2);
break;
default:
m = this.titleOption.y - 0, m = isNaN(m) ? 0 : m
}
return {x: e, y: m, width: r, height: l}
}, refresh: function (e) {
e && (this.option = e, this.option.title = this.reformOption(this.option.title), this.titleOption = this.option.title, this.titleOption.textStyle = this.getTextStyle(this.titleOption.textStyle), this.titleOption.subtextStyle = this.getTextStyle(this.titleOption.subtextStyle)), this.clear(), this._buildShape()
}
}, r.inherits(t, i), e("../component").define("title", t), t
}), i("echarts/component/tooltip", ["require", "./base", "../util/shape/Cross", "zrender/shape/Line", "zrender/shape/Rectangle", "../config", "../util/ecData", "zrender/config", "zrender/tool/event", "zrender/tool/area", "zrender/tool/color", "zrender/tool/util", "zrender/shape/Base", "../component"], function (e) {
function t(e, t, o, r, s) {
i.call(this, e, t, o, r, s), this.dom = s.dom;
var l = this;
l._onmousemove = function (e) {
return l.__onmousemove(e)
}, l._onglobalout = function (e) {
return l.__onglobalout(e)
}, this.zr.on(h.EVENT.MOUSEMOVE, l._onmousemove), this.zr.on(h.EVENT.GLOBALOUT, l._onglobalout), l._hide = function (e) {
return l.__hide(e)
}, l._tryShow = function (e) {
return l.__tryShow(e)
}, l._refixed = function (e) {
return l.__refixed(e)
}, l._setContent = function (e, t) {
return l.__setContent(e, t)
}, this._tDom = this._tDom || document.createElement("div"), this._tDom.onselectstart = function () {
return !1
}, this._tDom.onmouseover = function () {
l._mousein = !0
}, this._tDom.onmouseout = function () {
l._mousein = !1
}, this._tDom.className = "echarts-tooltip", this._tDom.style.position = "absolute", this.hasAppend = !1, this._axisLineShape && this.zr.delShape(this._axisLineShape.id), this._axisLineShape = new a({
zlevel: this.getZlevelBase(),
z: this.getZBase(),
invisible: !0,
hoverable: !1
}), this.shapeList.push(this._axisLineShape), this.zr.addShape(this._axisLineShape), this._axisShadowShape && this.zr.delShape(this._axisShadowShape.id), this._axisShadowShape = new a({
zlevel: this.getZlevelBase(),
z: 1,
invisible: !0,
hoverable: !1
}), this.shapeList.push(this._axisShadowShape), this.zr.addShape(this._axisShadowShape), this._axisCrossShape && this.zr.delShape(this._axisCrossShape.id), this._axisCrossShape = new n({
zlevel: this.getZlevelBase(),
z: this.getZBase(),
invisible: !0,
hoverable: !1
}), this.shapeList.push(this._axisCrossShape), this.zr.addShape(this._axisCrossShape), this.showing = !1, this.refresh(r)
}
var i = e("./base"), n = e("../util/shape/Cross"), a = e("zrender/shape/Line"),
o = e("zrender/shape/Rectangle"), r = new o({}), s = e("../config");
s.tooltip = {
zlevel: 1,
z: 8,
show: !0,
showContent: !0,
trigger: "item",
islandFormatter: "{a}
{b} : {c}",
showDelay: 20,
hideDelay: 100,
transitionDuration: .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 l = e("../util/ecData"), h = e("zrender/config"), m = e("zrender/tool/event"), V = e("zrender/tool/area"),
U = e("zrender/tool/color"), d = e("zrender/tool/util"), p = e("zrender/shape/Base");
return t.prototype = {
type: s.COMPONENT_TYPE_TOOLTIP,
_gCssText: "position:absolute;display:block;border-style:solid;white-space:nowrap;",
_style: function (e) {
if (!e) return "";
var t = [];
if (e.transitionDuration) {
var i = "left " + e.transitionDuration + "s,top " + e.transitionDuration + "s";
t.push("transition:" + i), t.push("-moz-transition:" + i), t.push("-webkit-transition:" + i), t.push("-o-transition:" + i)
}
e.backgroundColor && (t.push("background-Color:" + U.toHex(e.backgroundColor)), t.push("filter:alpha(opacity=70)"), t.push("background-Color:" + e.backgroundColor)), null != e.borderWidth && t.push("border-width:" + e.borderWidth + "px"), null != e.borderColor && t.push("border-color:" + e.borderColor), null != e.borderRadius && (t.push("border-radius:" + e.borderRadius + "px"), t.push("-moz-border-radius:" + e.borderRadius + "px"), t.push("-webkit-border-radius:" + e.borderRadius + "px"), t.push("-o-border-radius:" + e.borderRadius + "px"));
var n = e.textStyle;
n && (n.color && t.push("color:" + n.color), n.decoration && t.push("text-decoration:" + n.decoration), n.align && t.push("text-align:" + n.align), n.fontFamily && t.push("font-family:" + n.fontFamily), n.fontSize && t.push("font-size:" + n.fontSize + "px"), n.fontSize && t.push("line-height:" + Math.round(3 * n.fontSize / 2) + "px"), n.fontStyle && t.push("font-style:" + n.fontStyle), n.fontWeight && t.push("font-weight:" + n.fontWeight));
var a = e.padding;
return null != a && (a = this.reformCssArray(a), t.push("padding:" + a[0] + "px " + a[1] + "px " + a[2] + "px " + a[3] + "px")), t = t.join(";") + ";"
},
__hide: function () {
this._lastDataIndex = -1, this._lastSeriesIndex = -1, this._lastItemTriggerId = -1, this._tDom && (this._tDom.style.display = "none");
var e = !1;
this._axisLineShape.invisible || (this._axisLineShape.invisible = !0,
this.zr.modShape(this._axisLineShape.id), e = !0), this._axisShadowShape.invisible || (this._axisShadowShape.invisible = !0, this.zr.modShape(this._axisShadowShape.id), e = !0), this._axisCrossShape.invisible || (this._axisCrossShape.invisible = !0, this.zr.modShape(this._axisCrossShape.id), e = !0), this._lastTipShape && this._lastTipShape.tipShape.length > 0 && (this.zr.delShape(this._lastTipShape.tipShape), this._lastTipShape = !1, this.shapeList.length = 2), e && this.zr.refreshNextFrame(), this.showing = !1
},
_show: function (e, t, i, n) {
var a = this._tDom.offsetHeight, o = this._tDom.offsetWidth;
e && ("function" == typeof e && (e = e([t, i])), e instanceof Array && (t = e[0], i = e[1])), t + o > this._zrWidth && (t -= o + 40), i + a > this._zrHeight && (i -= a - 20), 20 > i && (i = 0), this._tDom.style.cssText = this._gCssText + this._defaultCssText + (n ? n : "") + "left:" + t + "px;top:" + i + "px;", (10 > a || 10 > o) && setTimeout(this._refixed, 20), this.showing = !0
},
__refixed: function () {
if (this._tDom) {
var e = "", t = this._tDom.offsetHeight, i = this._tDom.offsetWidth;
this._tDom.offsetLeft + i > this._zrWidth && (e += "left:" + (this._zrWidth - i - 20) + "px;"), this._tDom.offsetTop + t > this._zrHeight && (e += "top:" + (this._zrHeight - t - 10) + "px;"), "" !== e && (this._tDom.style.cssText += e)
}
},
__tryShow: function () {
var e, t;
if (this._curTarget) {
if ("island" === this._curTarget._type && this.option.tooltip.show) return void this._showItemTrigger();
var i = l.get(this._curTarget, "series"), n = l.get(this._curTarget, "data");
e = this.deepQuery([n, i, this.option], "tooltip.show"), null != i && null != n && e ? (t = this.deepQuery([n, i, this.option], "tooltip.trigger"), "axis" === t ? this._showAxisTrigger(i.xAxisIndex, i.yAxisIndex, l.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 e, t, i = this.option.series, n = 0, a = i.length; a > n; n++) if ("axis" === this.deepQuery([i[n], this.option], "tooltip.trigger")) return e = i[n].xAxisIndex || 0, t = i[n].yAxisIndex || 0, this.component.xAxis.getAxis(e) && this.component.xAxis.getAxis(e).type === s.COMPONENT_TYPE_AXIS_CATEGORY ? void this._showAxisTrigger(e, t, this._getNearestDataIndex("x", this.component.xAxis.getAxis(e))) : this.component.yAxis.getAxis(t) && this.component.yAxis.getAxis(t).type === s.COMPONENT_TYPE_AXIS_CATEGORY ? void this._showAxisTrigger(e, t, this._getNearestDataIndex("y", this.component.yAxis.getAxis(t))) : void this._showAxisTrigger(e, t, -1);
"cross" === this.option.tooltip.axisPointer.type && this._showAxisTrigger(-1, -1, -1)
},
_findPolarTrigger: function () {
if (!this.component.polar) return !1;
var e, t = m.getX(this._event), i = m.getY(this._event),
n = this.component.polar.getNearestIndex([t, i]);
return n ? (e = n.valueIndex, n = n.polarIndex) : n = -1, -1 != n ? this._showPolarTrigger(n, e) : !1
},
_getNearestDataIndex: function (e, t) {
var i = -1, n = m.getX(this._event), a = m.getY(this._event);
if ("x" === e) {
for (var o, r, s = this.component.grid.getXend(), l = t.getCoordByIndex(i); s > l && (r = l, n >= l);) o = l, l = t.getCoordByIndex(++i);
return 0 >= i ? i = 0 : r - n >= n - o ? i -= 1 : null == t.getNameByIndex(i) && (i -= 1), i
}
for (var h, V, U = this.component.grid.getY(), l = t.getCoordByIndex(i); l > U && (h = l, l >= a);) V = l, l = t.getCoordByIndex(++i);
return 0 >= i ? i = 0 : a - h >= V - a ? i -= 1 : null == t.getNameByIndex(i) && (i -= 1), i
},
_showAxisTrigger: function (e, t, i) {
if (!this._event.connectTrigger && this.messageCenter.dispatch(s.EVENT.TOOLTIP_IN_GRID, this._event, null, this.myChart), null == this.component.xAxis || null == this.component.yAxis || null == e || null == t) return clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), void (this._hidingTicket = setTimeout(this._hide, this._hideDelay));
var n, a, o, r, l = this.option.series, h = [], V = [], U = "";
if ("axis" === this.option.tooltip.trigger) {
if (!this.option.tooltip.show) return;
a = this.option.tooltip.formatter, o = this.option.tooltip.position
}
var d, p,
c = -1 != e && this.component.xAxis.getAxis(e).type === s.COMPONENT_TYPE_AXIS_CATEGORY ? "xAxis" : -1 != t && this.component.yAxis.getAxis(t).type === s.COMPONENT_TYPE_AXIS_CATEGORY ? "yAxis" : !1;
if (c) {
var u = "xAxis" == c ? e : t;
n = this.component[c].getAxis(u);
for (var y = 0, g = l.length; g > y; y++) this._isSelected(l[y].name) && l[y][c + "Index"] === u && "axis" === this.deepQuery([l[y], this.option], "tooltip.trigger") && (r = this.query(l[y], "tooltip.showContent") || r, a = this.query(l[y], "tooltip.formatter") || a, o = this.query(l[y], "tooltip.position") || o, U += this._style(this.query(l[y], "tooltip")), null != l[y].stack && "xAxis" == c ? (h.unshift(l[y]), V.unshift(y)) : (h.push(l[y]), V.push(y)));
this.messageCenter.dispatch(s.EVENT.TOOLTIP_HOVER, this._event, {
seriesIndex: V,
dataIndex: i
}, this.myChart);
var b;
"xAxis" == c ? (d = this.subPixelOptimize(n.getCoordByIndex(i), this._axisLineWidth), p = m.getY(this._event), b = [d, this.component.grid.getY(), d, this.component.grid.getYend()]) : (d = m.getX(this._event), p = this.subPixelOptimize(n.getCoordByIndex(i), this._axisLineWidth), b = [this.component.grid.getX(), p, this.component.grid.getXend(), p]), this._styleAxisPointer(h, b[0], b[1], b[2], b[3], n.getGap(), d, p)
} else d = m.getX(this._event), p = m.getY(this._event), this._styleAxisPointer(l, this.component.grid.getX(), p, this.component.grid.getXend(), p, 0, d, p), i >= 0 ? this._showItemTrigger(!0) : (clearTimeout(this._hidingTicket), clearTimeout(this._showingTicket), this._tDom.style.display = "none");
if (h.length > 0) {
if (this._lastItemTriggerId = -1, this._lastDataIndex != i || this._lastSeriesIndex != V[0]) {
this._lastDataIndex = i, this._lastSeriesIndex = V[0];
var f, k;
if ("function" == typeof a) {
for (var x = [], y = 0, g = h.length; g > y; y++) f = h[y].data[i], k = this.getDataFromOption(f, "-"), x.push({
seriesIndex: V[y],
seriesName: h[y].name || "",
series: h[y],
dataIndex: i,
data: f,
name: n.getNameByIndex(i),
value: k,
0: h[y].name || "",
1: n.getNameByIndex(i),
2: k,
3: f
});
this._curTicket = "axis:" + i, this._tDom.innerHTML = a.call(this.myChart, x, this._curTicket, this._setContent)
} else if ("string" == typeof a) {
this._curTicket = 0 / 0, a = a.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}");
for (var y = 0, g = h.length; g > y; y++) a = a.replace("{a" + y + "}", this._encodeHTML(h[y].name || "")), a = a.replace("{b" + y + "}", this._encodeHTML(n.getNameByIndex(i))), f = h[y].data[i], f = this.getDataFromOption(f, "-"), a = a.replace("{c" + y + "}", f instanceof Array ? f : this.numAddCommas(f));
this._tDom.innerHTML = a
} else {
this._curTicket = 0 / 0, a = this._encodeHTML(n.getNameByIndex(i));
for (var y = 0, g = h.length; g > y; y++) a += "
" + this._encodeHTML(h[y].name || "") + " : ", f = h[y].data[i], f = this.getDataFromOption(f, "-"), a += f instanceof Array ? f : this.numAddCommas(f);
this._tDom.innerHTML = a
}
}
if (r === !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(o, d + 10, p + 10, U)
}
},
_showPolarTrigger: function (e, t) {
if (null == this.component.polar || null == e || null == t || 0 > t) return !1;
var i, n, a, o = this.option.series, r = [], s = [], l = "";
if ("axis" === this.option.tooltip.trigger) {
if (!this.option.tooltip.show) return !1;
i = this.option.tooltip.formatter, n = this.option.tooltip.position
}
for (var h = this.option.polar[e].indicator[t].text, V = 0, U = o.length; U > V; V++) this._isSelected(o[V].name) && o[V].polarIndex === e && "axis" === this.deepQuery([o[V], this.option], "tooltip.trigger") && (a = this.query(o[V], "tooltip.showContent") || a, i = this.query(o[V], "tooltip.formatter") || i, n = this.query(o[V], "tooltip.position") || n, l += this._style(this.query(o[V], "tooltip")), r.push(o[V]), s.push(V));
if (r.length > 0) {
for (var d, p, c, u = [], V = 0, U = r.length; U > V; V++) {
d = r[V].data;
for (var y = 0, g = d.length; g > y; y++) p = d[y], this._isSelected(p.name) && (p = null != p ? p : {
name: "",
value: {dataIndex: "-"}
}, c = this.getDataFromOption(p.value[t]), u.push({
seriesIndex: s[V],
seriesName: r[V].name || "",
series: r[V],
dataIndex: t,
data: p,
name: p.name,
indicator: h,
value: c,
0: r[V].name || "",
1: p.name,
2: c,
3: h
}))
}
if (u.length <= 0) return;
if (this._lastItemTriggerId = -1, this._lastDataIndex != t || this._lastSeriesIndex != s[0]) if (this._lastDataIndex = t, this._lastSeriesIndex = s[0], "function" == typeof i) this._curTicket = "axis:" + t, this._tDom.innerHTML = i.call(this.myChart, u, this._curTicket, this._setContent); else if ("string" == typeof i) {
i = i.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{d}", "{d0}");
for (var V = 0, U = u.length; U > V; V++) i = i.replace("{a" + V + "}", this._encodeHTML(u[V].seriesName)), i = i.replace("{b" + V + "}", this._encodeHTML(u[V].name)), i = i.replace("{c" + V + "}", this.numAddCommas(u[V].value)), i = i.replace("{d" + V + "}", this._encodeHTML(u[V].indicator));
this._tDom.innerHTML = i
} else {
i = this._encodeHTML(u[0].name) + "
" + this._encodeHTML(u[0].indicator) + " : " + this.numAddCommas(u[0].value);
for (var V = 1, U = u.length; U > V; V++) i += "
" + this._encodeHTML(u[V].name) + "
", i += this._encodeHTML(u[V].indicator) + " : " + this.numAddCommas(u[V].value);
this._tDom.innerHTML = i
}
if (a === !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(n, m.getX(this._event), m.getY(this._event), l), !0
}
},
_showItemTrigger: function (e) {
if (this._curTarget) {
var t, i, n, a = l.get(this._curTarget, "series"), o = l.get(this._curTarget, "seriesIndex"),
r = l.get(this._curTarget, "data"), h = l.get(this._curTarget, "dataIndex"),
V = l.get(this._curTarget, "name"), U = l.get(this._curTarget, "value"),
d = l.get(this._curTarget, "special"), p = l.get(this._curTarget, "special2"),
c = [r, a, this.option], u = "";
if ("island" != this._curTarget._type) {
var y = e ? "axis" : "item";
this.option.tooltip.trigger === y && (t = this.option.tooltip.formatter, i = this.option.tooltip.position), this.query(a, "tooltip.trigger") === y && (n = this.query(a, "tooltip.showContent") || n, t = this.query(a, "tooltip.formatter") || t, i = this.query(a, "tooltip.position") || i, u += this._style(this.query(a, "tooltip"))), n = this.query(r, "tooltip.showContent") || n, t = this.query(r, "tooltip.formatter") || t, i = this.query(r, "tooltip.position") || i, u += this._style(this.query(r, "tooltip"))
} else this._lastItemTriggerId = 0 / 0, n = this.deepQuery(c, "tooltip.showContent"), t = this.deepQuery(c, "tooltip.islandFormatter"), i = this.deepQuery(c, "tooltip.islandPosition");
this._lastDataIndex = -1, this._lastSeriesIndex = -1, this._lastItemTriggerId !== this._curTarget.id && (this._lastItemTriggerId = this._curTarget.id, "function" == typeof t ? (this._curTicket = (a.name || "") + ":" + h, this._tDom.innerHTML = t.call(this.myChart, {
seriesIndex: o,
seriesName: a.name || "",
series: a,
dataIndex: h,
data: r,
name: V,
value: U,
percent: d,
indicator: d,
value2: p,
indicator2: p,
0: a.name || "",
1: V,
2: U,
3: d,
4: p,
5: r,
6: o,
7: h
}, this._curTicket, this._setContent)) : "string" == typeof t ? (this._curTicket = 0 / 0, t = t.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}"), t = t.replace("{a0}", this._encodeHTML(a.name || "")).replace("{b0}", this._encodeHTML(V)).replace("{c0}", U instanceof Array ? U : this.numAddCommas(U)), t = t.replace("{d}", "{d0}").replace("{d0}", d || ""), t = t.replace("{e}", "{e0}").replace("{e0}", l.get(this._curTarget, "special2") || ""), this._tDom.innerHTML = t) : (this._curTicket = 0 / 0, this._tDom.innerHTML = a.type === s.CHART_TYPE_RADAR && d ? this._itemFormatter.radar.call(this, a, V, U, d) : a.type === s.CHART_TYPE_EVENTRIVER ? this._itemFormatter.eventRiver.call(this, a, V, U, r) : "" + (null != a.name ? this._encodeHTML(a.name) + "
" : "") + ("" === V ? "" : this._encodeHTML(V) + " : ") + (U instanceof Array ? U : this.numAddCommas(U))));
var g = m.getX(this._event), b = m.getY(this._event);
this.deepQuery(c, "tooltip.axisPointer.show") && this.component.grid ? this._styleAxisPointer([a], this.component.grid.getX(), b, this.component.grid.getXend(), b, 0, g, b) : this._hide(), n !== !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(i, g + 20, b - 20, u))
}
},
_itemFormatter: {
radar: function (e, t, i, n) {
var a = "";
a += this._encodeHTML("" === t ? e.name || "" : t), a += "" === a ? "" : "
";
for (var o = 0; o < n.length; o++) a += this._encodeHTML(n[o].text) + " : " + this.numAddCommas(i[o]) + "
";
return a
}, chord: function (e, t, i, n, a) {
if (null == a) return this._encodeHTML(t) + " (" + this.numAddCommas(i) + ")";
var o = this._encodeHTML(t), r = this._encodeHTML(n);
return "" + (null != e.name ? this._encodeHTML(e.name) + "
" : "") + o + " -> " + r + " (" + this.numAddCommas(i) + ")
" + r + " -> " + o + " (" + this.numAddCommas(a) + ")"
}, eventRiver: function (e, t, i, n) {
var a = "";
a += this._encodeHTML("" === e.name ? "" : e.name + " : "), a += this._encodeHTML(t), a += "" === a ? "" : "
", n = n.evolution;
for (var o = 0, r = n.length; r > o; o++) a += '
' + (t[0] || this._lang[0]) + "
"; var i = this.query(this.option, "toolbox.feature.dataView.optionToContent"); "function" != typeof i ? this._textArea.value = this._optionToContent() : (this._textArea = document.createElement("div"), this._textArea.innerHTML = i(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 = t[1] || this._lang[1]; var n = this; this._buttonClose.onclick = function () { n.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 = t[2] || this._lang[2], this._buttonRefresh.onclick = function () { n._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 e, t, i, a, o, r, s = [], l = ""; if (this.option.xAxis) for (s = this.option.xAxis instanceof Array ? this.option.xAxis : [this.option.xAxis], e = 0, a = s.length; a > e; e++) if ("category" == (s[e].type || "category")) { for (r = [], t = 0, i = s[e].data.length; i > t; t++) r.push(this.getDataFromOption(s[e].data[t])); l += r.join(", ") + "\n\n" } if (this.option.yAxis) for (s = this.option.yAxis instanceof Array ? this.option.yAxis : [this.option.yAxis], e = 0, a = s.length; a > e; e++) if ("category" == s[e].type) { for (r = [], t = 0, i = s[e].data.length; i > t; t++) r.push(this.getDataFromOption(s[e].data[t])); l += r.join(", ") + "\n\n" } var h, m = this.option.series; for (e = 0, a = m.length; a > e; e++) { for (r = [], t = 0, i = m[e].data.length; i > t; t++) o = m[e].data[t], h = m[e].type == n.CHART_TYPE_PIE || m[e].type == n.CHART_TYPE_MAP ? (o.name || "-") + ":" : "", m[e].type == n.CHART_TYPE_SCATTER && (o = this.getDataFromOption(o).join(", ")), r.push(h + this.getDataFromOption(o)); l += (m[e].name || "-") + " : \n", l += r.join(m[e].type == n.CHART_TYPE_SCATTER ? "\n" : ", "), l += "\n\n" } return l }, _save: function () { var e = this.query(this.option, "toolbox.feature.dataView.contentToOption"); if ("function" != typeof e) { for (var t = this._textArea.value.split("\n"), i = [], a = 0, o = t.length; o > a; a++) t[a] = this._trim(t[a]), "" !== t[a] && i.push(t[a]); this._contentToOption(i) } else e(this._textArea, this.option); this.hide(); var r = this; setTimeout(function () { r.messageCenter && r.messageCenter.dispatch(n.EVENT.DATA_VIEW_CHANGED, null, {option: r.option}, r.myChart) }, r.canvasSupported ? 800 : 100) }, _contentToOption: function (e) { var t, i, a, o, r, s, l, h = [], m = 0; if (this.option.xAxis) for (h = this.option.xAxis instanceof Array ? this.option.xAxis : [this.option.xAxis], t = 0, o = h.length; o > t; t++) if ("category" == (h[t].type || "category")) { for (s = e[m].split(","), i = 0, a = h[t].data.length; a > i; i++) l = this._trim(s[i] || ""), r = h[t].data[i], "undefined" != typeof h[t].data[i].value ? h[t].data[i].value = l : h[t].data[i] = l; m++ } if (this.option.yAxis) for (h = this.option.yAxis instanceof Array ? this.option.yAxis : [this.option.yAxis], t = 0, o = h.length; o > t; t++) if ("category" == h[t].type) { for (s = e[m].split(","), i = 0, a = h[t].data.length; a > i; i++) l = this._trim(s[i] || ""), r = h[t].data[i], "undefined" != typeof h[t].data[i].value ? h[t].data[i].value = l : h[t].data[i] = l; m++ } var V = this.option.series; for (t = 0, o = V.length; o > t; t++) if (m++, V[t].type == n.CHART_TYPE_SCATTER) for (var i = 0, a = V[t].data.length; a > i; i++) s = e[m], l = s.replace(" ", "").split(","), "undefined" != typeof V[t].data[i].value ? V[t].data[i].value = l : V[t].data[i] = l, m++; else { s = e[m].split(","); for (var i = 0, a = V[t].data.length; a > i; i++) l = (s[i] || "").replace(/.*:/, ""), l = this._trim(l), l = "-" != l && "" !== l ? l - 0 : "-", "undefined" != typeof V[t].data[i].value ? V[t].data[i].value = l : V[t].data[i] = l; m++ } }, _trim: function (e) { var t = new RegExp("(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+$)", "g"); return e.replace(t, "") }, _stop: function (e) { e = e || window.event, e.stopPropagation ? e.stopPropagation() : e.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 } }, a.inherits(t, i), e("../component").define("dataView", t), t }), i("echarts/util/shape/Cross", ["require", "zrender/shape/Base", "zrender/shape/Line", "zrender/tool/util", "./normalIsCover"], function (e) { function t(e) { i.call(this, e) } var i = e("zrender/shape/Base"), n = e("zrender/shape/Line"), a = e("zrender/tool/util"); return t.prototype = { type: "cross", buildPath: function (e, t) { var i = t.rect; t.xStart = i.x, t.xEnd = i.x + i.width, t.yStart = t.yEnd = t.y, n.prototype.buildPath(e, t), t.xStart = t.xEnd = t.x, t.yStart = i.y, t.yEnd = i.y + i.height, n.prototype.buildPath(e, t) }, getRect: function (e) { return e.rect }, isCover: e("./normalIsCover") }, a.inherits(t, i), t }), i("zrender/shape/Sector", ["require", "../tool/math", "../tool/computeBoundingBox", "../tool/vector", "./Base", "../tool/util"], function (e) { var t = e("../tool/math"), i = e("../tool/computeBoundingBox"), n = e("../tool/vector"), a = e("./Base"), o = n.create(), r = n.create(), s = n.create(), l = n.create(), h = function (e) { a.call(this, e) }; return h.prototype = { type: "sector", buildPath: function (e, i) { var n = i.x, a = i.y, o = i.r0 || 0, r = i.r, s = i.startAngle, l = i.endAngle, h = i.clockWise || !1; s = t.degreeToRadian(s), l = t.degreeToRadian(l), h || (s = -s, l = -l); var m = t.cos(s), V = t.sin(s); e.moveTo(m * o + n, V * o + a), e.lineTo(m * r + n, V * r + a), e.arc(n, a, r, s, l, !h), e.lineTo(t.cos(l) * o + n, t.sin(l) * o + a), 0 !== o && e.arc(n, a, o, l, s, h), e.closePath() }, getRect: function (e) { if (e.__rect) return e.__rect; var a = e.x, h = e.y, m = e.r0 || 0, V = e.r, U = t.degreeToRadian(e.startAngle), d = t.degreeToRadian(e.endAngle), p = e.clockWise; return p || (U = -U, d = -d), m > 1 ? i.arc(a, h, m, U, d, !p, o, s) : (o[0] = s[0] = a, o[1] = s[1] = h), i.arc(a, h, V, U, d, !p, r, l), n.min(o, o, r), n.max(s, s, l), e.__rect = { x: o[0], y: o[1], width: s[0] - o[0], height: s[1] - o[1] }, e.__rect } }, e("../tool/util").inherits(h, a), h }), i("echarts/util/shape/Candle", ["require", "zrender/shape/Base", "zrender/tool/util", "./normalIsCover"], function (e) { function t(e) { i.call(this, e) } var i = e("zrender/shape/Base"), n = e("zrender/tool/util"); return t.prototype = { type: "candle", _numberOrder: function (e, t) { return t - e }, buildPath: function (e, t) { var i = n.clone(t.y).sort(this._numberOrder); e.moveTo(t.x, i[3]), e.lineTo(t.x, i[2]), e.moveTo(t.x - t.width / 2, i[2]), e.rect(t.x - t.width / 2, i[2], t.width, i[1] - i[2]), e.moveTo(t.x, i[1]), e.lineTo(t.x, i[0]) }, getRect: function (e) { if (!e.__rect) { var t = 0; ("stroke" == e.brushType || "fill" == e.brushType) && (t = e.lineWidth || 1); var i = n.clone(e.y).sort(this._numberOrder); e.__rect = { x: Math.round(e.x - e.width / 2 - t / 2), y: Math.round(i[3] - t / 2), width: e.width + t, height: i[0] - i[3] + t } } return e.__rect }, isCover: e("./normalIsCover") }, n.inherits(t, i), t }), i("zrender/tool/computeBoundingBox", ["require", "./vector", "./curve"], function (e) { function t(e, t, i) { if (0 !== e.length) { for (var n = e[0][0], a = e[0][0], o = e[0][1], r = e[0][1], s = 1; s < e.length; s++) { var l = e[s]; l[0] < n && (n = l[0]), l[0] > a && (a = l[0]), l[1] < o && (o = l[1]), l[1] > r && (r = l[1]) } t[0] = n, t[1] = o, i[0] = a, i[1] = r } } function i(e, t, i, n, a, r) { var s = []; o.cubicExtrema(e[0], t[0], i[0], n[0], s); for (var l = 0; l < s.length; l++) s[l] = o.cubicAt(e[0], t[0], i[0], n[0], s[l]); var h = []; o.cubicExtrema(e[1], t[1], i[1], n[1], h); for (var l = 0; l < h.length; l++) h[l] = o.cubicAt(e[1], t[1], i[1], n[1], h[l]); s.push(e[0], n[0]), h.push(e[1], n[1]); var m = Math.min.apply(null, s), V = Math.max.apply(null, s), U = Math.min.apply(null, h), d = Math.max.apply(null, h); a[0] = m, a[1] = U, r[0] = V, r[1] = d } function n(e, t, i, n, a) { var r = o.quadraticExtremum(e[0], t[0], i[0]), s = o.quadraticExtremum(e[1], t[1], i[1]); r = Math.max(Math.min(r, 1), 0), s = Math.max(Math.min(s, 1), 0); var l = 1 - r, h = 1 - s, m = l * l * e[0] + 2 * l * r * t[0] + r * r * i[0], V = l * l * e[1] + 2 * l * r * t[1] + r * r * i[1], U = h * h * e[0] + 2 * h * s * t[0] + s * s * i[0], d = h * h * e[1] + 2 * h * s * t[1] + s * s * i[1]; n[0] = Math.min(e[0], i[0], m, U), n[1] = Math.min(e[1], i[1], V, d), a[0] = Math.max(e[0], i[0], m, U), a[1] = Math.max(e[1], i[1], V, d) } var a = e("./vector"), o = e("./curve"), r = a.create(), s = a.create(), l = a.create(), h = function (e, t, i, n, o, h, m, V) { if (Math.abs(n - o) >= 2 * Math.PI) return m[0] = e - i, m[1] = t - i, V[0] = e + i, void (V[1] = t + i); if (r[0] = Math.cos(n) * i + e, r[1] = Math.sin(n) * i + t, s[0] = Math.cos(o) * i + e, s[1] = Math.sin(o) * i + t, a.min(m, r, s), a.max(V, r, s), n %= 2 * Math.PI, 0 > n && (n += 2 * Math.PI), o %= 2 * Math.PI, 0 > o && (o += 2 * Math.PI), n > o && !h ? o += 2 * Math.PI : o > n && h && (n += 2 * Math.PI), h) { var U = o; o = n, n = U } for (var d = 0; o > d; d += Math.PI / 2) d > n && (l[0] = Math.cos(d) * i + e, l[1] = Math.sin(d) * i + t, a.min(m, l, m), a.max(V, l, V)) }; return t.cubeBezier = i, t.quadraticBezier = n, t.arc = h, t }), i("echarts/util/shape/Chain", ["require", "zrender/shape/Base", "./Icon", "zrender/shape/util/dashedLineTo", "zrender/tool/util", "zrender/tool/matrix"], function (e) { function t(e) { i.call(this, e) } var i = e("zrender/shape/Base"), n = e("./Icon"), a = e("zrender/shape/util/dashedLineTo"), o = e("zrender/tool/util"), r = e("zrender/tool/matrix"); return t.prototype = { type: "chain", brush: function (e, t) { var i = this.style; t && (i = this.getHighlightStyle(i, this.highlightStyle || {})), e.save(), this.setContext(e, i), this.setTransform(e), e.save(), e.beginPath(), this.buildLinePath(e, i), e.stroke(), e.restore(), this.brushSymbol(e, i), e.restore() }, buildLinePath: function (e, t) { var i = t.x, n = t.y + 5, o = t.width, r = t.height / 2 - 10; if (e.moveTo(i, n), e.lineTo(i, n + r), e.moveTo(i + o, n), e.lineTo(i + o, n + r), e.moveTo(i, n + r / 2), t.lineType && "solid" != t.lineType) { if ("dashed" == t.lineType || "dotted" == t.lineType) { var s = (t.lineWidth || 1) * ("dashed" == t.lineType ? 5 : 1); a(e, i, n + r / 2, i + o, n + r / 2, s) } } else e.lineTo(i + o, n + r / 2) }, brushSymbol: function (e, t) { var i = t.y + t.height / 4; e.save(); for (var a, o = t.chainPoint, r = 0, s = o.length; s > r; r++) { if (a = o[r], "none" != a.symbol) { e.beginPath(); var l = a.symbolSize; n.prototype.buildPath(e, { iconType: a.symbol, x: a.x - l, y: i - l, width: 2 * l, height: 2 * l, n: a.n }), e.fillStyle = a.isEmpty ? "#fff" : t.strokeColor, e.closePath(), e.fill(), e.stroke() } a.showLabel && (e.font = a.textFont, e.fillStyle = a.textColor, e.textAlign = a.textAlign, e.textBaseline = a.textBaseline, a.rotation ? (e.save(), this._updateTextTransform(e, a.rotation), e.fillText(a.name, a.textX, a.textY), e.restore()) : e.fillText(a.name, a.textX, a.textY)) } e.restore() }, _updateTextTransform: function (e, t) { var i = r.create(); if (r.identity(i), 0 !== t[0]) { var n = t[1] || 0, a = t[2] || 0; (n || a) && r.translate(i, i, [-n, -a]), r.rotate(i, i, t[0]), (n || a) && r.translate(i, i, [n, a]) } e.transform.apply(e, i) }, isCover: function (e, t) { var i = this.style; return e >= i.x && e <= i.x + i.width && t >= i.y && t <= i.y + i.height ? !0 : !1 } }, o.inherits(t, i), t }), i("zrender/shape/Ring", ["require", "./Base", "../tool/util"], function (e) { var t = e("./Base"), i = function (e) { t.call(this, e) }; return i.prototype = { type: "ring", buildPath: function (e, t) { e.arc(t.x, t.y, t.r, 0, 2 * Math.PI, !1), e.moveTo(t.x + t.r0, t.y), e.arc(t.x, t.y, t.r0, 0, 2 * Math.PI, !0) }, getRect: function (e) { if (e.__rect) return e.__rect; var t; return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = { x: Math.round(e.x - e.r - t / 2), y: Math.round(e.y - e.r - t / 2), width: 2 * e.r + t, height: 2 * e.r + t }, e.__rect } }, e("../tool/util").inherits(i, t), i }), i("echarts/component/axis", ["require", "./base", "zrender/shape/Line", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "./categoryAxis", "./valueAxis", "../component"], function (e) { function t(e, t, n, a, o, r) { i.call(this, e, t, n, a, o), this.axisType = r, this._axisList = [], this.refresh(a) } var i = e("./base"), n = e("zrender/shape/Line"), a = e("../config"), o = e("../util/ecData"), r = e("zrender/tool/util"), s = e("zrender/tool/color"); return t.prototype = { type: a.COMPONENT_TYPE_AXIS, axisBase: { _buildAxisLine: function () { var e = this.option.axisLine.lineStyle.width, t = e / 2, i = { _axisShape: "axisLine", zlevel: this.getZlevelBase(), z: this.getZBase() + 3, hoverable: !1 }, a = this.grid; switch (this.option.position) { case"left": i.style = { xStart: a.getX() - t, yStart: a.getYend(), xEnd: a.getX() - t, yEnd: a.getY(), lineCap: "round" }; break; case"right": i.style = { xStart: a.getXend() + t, yStart: a.getYend(), xEnd: a.getXend() + t, yEnd: a.getY(), lineCap: "round" }; break; case"bottom": i.style = { xStart: a.getX(), yStart: a.getYend() + t, xEnd: a.getXend(), yEnd: a.getYend() + t, lineCap: "round" }; break; case"top": i.style = { xStart: a.getX(), yStart: a.getY() - t, xEnd: a.getXend(), yEnd: a.getY() - t, lineCap: "round" } } var o = i.style; "" !== this.option.name && (o.text = this.option.name, o.textPosition = this.option.nameLocation, o.textFont = this.getFont(this.option.nameTextStyle), this.option.nameTextStyle.align && (o.textAlign = this.option.nameTextStyle.align), this.option.nameTextStyle.baseline && (o.textBaseline = this.option.nameTextStyle.baseline), this.option.nameTextStyle.color && (o.textColor = this.option.nameTextStyle.color)), o.strokeColor = this.option.axisLine.lineStyle.color, o.lineWidth = e, this.isHorizontal() ? o.yStart = o.yEnd = this.subPixelOptimize(o.yEnd, e) : o.xStart = o.xEnd = this.subPixelOptimize(o.xEnd, e), o.lineType = this.option.axisLine.lineStyle.type, i = new n(i), this.shapeList.push(i) }, _axisLabelClickable: function (e, t) { return e ? (o.pack(t, void 0, -1, void 0, -1, t.style.text), t.hoverable = !0, t.clickable = !0, t.highlightStyle = { color: s.lift(t.style.color, 1), brushType: "fill" }, t) : t }, refixAxisShape: function (e, t) { if (this.option.axisLine.onZero) { var i; if (this.isHorizontal() && null != t) for (var n = 0, a = this.shapeList.length; a > n; n++) "axisLine" === this.shapeList[n]._axisShape ? (this.shapeList[n].style.yStart = this.shapeList[n].style.yEnd = this.subPixelOptimize(t, this.shapeList[n].stylelineWidth), this.zr.modShape(this.shapeList[n].id)) : "axisTick" === this.shapeList[n]._axisShape && (i = this.shapeList[n].style.yEnd - this.shapeList[n].style.yStart, this.shapeList[n].style.yStart = t - i, this.shapeList[n].style.yEnd = t, this.zr.modShape(this.shapeList[n].id)); if (!this.isHorizontal() && null != e) for (var n = 0, a = this.shapeList.length; a > n; n++) "axisLine" === this.shapeList[n]._axisShape ? (this.shapeList[n].style.xStart = this.shapeList[n].style.xEnd = this.subPixelOptimize(e, this.shapeList[n].stylelineWidth), this.zr.modShape(this.shapeList[n].id)) : "axisTick" === this.shapeList[n]._axisShape && (i = this.shapeList[n].style.xEnd - this.shapeList[n].style.xStart, this.shapeList[n].style.xStart = e, this.shapeList[n].style.xEnd = e + i, this.zr.modShape(this.shapeList[n].id)) } }, getPosition: function () { return this.option.position }, isHorizontal: function () { return "bottom" === this.option.position || "top" === this.option.position } }, reformOption: function (e) { if (!e || e instanceof Array && 0 === e.length ? e = [{type: a.COMPONENT_TYPE_AXIS_VALUE}] : e instanceof Array || (e = [e]), e.length > 2 && (e = [e[0], e[1]]), "xAxis" === this.axisType) { (!e[0].position || "bottom" != e[0].position && "top" != e[0].position) && (e[0].position = "bottom"), e.length > 1 && (e[1].position = "bottom" === e[0].position ? "top" : "bottom"); for (var t = 0, i = e.length; i > t; t++) e[t].type = e[t].type || "category", e[t].xAxisIndex = t, e[t].yAxisIndex = -1 } else { (!e[0].position || "left" != e[0].position && "right" != e[0].position) && (e[0].position = "left"), e.length > 1 && (e[1].position = "left" === e[0].position ? "right" : "left"); for (var t = 0, i = e.length; i > t; t++) e[t].type = e[t].type || "value", e[t].xAxisIndex = -1, e[t].yAxisIndex = t } return e }, refresh: function (t) { var i; t && (this.option = t, "xAxis" === this.axisType ? (this.option.xAxis = this.reformOption(t.xAxis), i = this.option.xAxis) : (this.option.yAxis = this.reformOption(t.yAxis), i = this.option.yAxis), this.series = t.series); for (var n = e("./categoryAxis"), a = e("./valueAxis"), o = Math.max(i && i.length || 0, this._axisList.length), r = 0; o > r; r++) !this._axisList[r] || !t || i[r] && this._axisList[r].type == i[r].type || (this._axisList[r].dispose && this._axisList[r].dispose(), this._axisList[r] = !1), this._axisList[r] ? this._axisList[r].refresh && this._axisList[r].refresh(i ? i[r] : !1, this.series) : i && i[r] && (this._axisList[r] = "category" === i[r].type ? new n(this.ecTheme, this.messageCenter, this.zr, i[r], this.myChart, this.axisBase) : new a(this.ecTheme, this.messageCenter, this.zr, i[r], this.myChart, this.axisBase, this.series)) }, getAxis: function (e) { return this._axisList[e] }, getAxisCount: function () { return this._axisList.length }, clear: function () { for (var e = 0, t = this._axisList.length; t > e; e++) this._axisList[e].dispose && this._axisList[e].dispose(); this._axisList = [] } }, r.inherits(t, i), e("../component").define("axis", t), t }), i("echarts/component/grid", ["require", "./base", "zrender/shape/Rectangle", "../config", "zrender/tool/util", "../component"], function (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.refresh(a) } var i = e("./base"), n = e("zrender/shape/Rectangle"), a = e("../config"); a.grid = { zlevel: 0, z: 0, x: 80, y: 60, x2: 80, y2: 60, backgroundColor: "rgba(0,0,0,0)", borderWidth: 1, borderColor: "#ccc" }; var o = e("zrender/tool/util"); return t.prototype = { type: a.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 (e) { for (var t, i, n, o = e.xAxis._axisList.concat(e.yAxis ? e.yAxis._axisList : []), r = o.length; r--;) n = o[r], n.type == a.COMPONENT_TYPE_AXIS_VALUE && n._min < 0 && n._max >= 0 && (n.isHorizontal() ? t = n.getCoord(0) : i = n.getCoord(0)); if ("undefined" != typeof t || "undefined" != typeof i) for (r = o.length; r--;) o[r].refixAxisShape(t, i) }, refresh: function (e) { if (e || this._zrWidth != this.zr.getWidth() || this._zrHeight != this.zr.getHeight()) { this.clear(), this.option = e || this.option, this.option.grid = this.reformOption(this.option.grid); var t = this.option.grid; this._zrWidth = this.zr.getWidth(), this._zrHeight = this.zr.getHeight(), this._x = this.parsePercent(t.x, this._zrWidth), this._y = this.parsePercent(t.y, this._zrHeight); var i = this.parsePercent(t.x2, this._zrWidth), a = this.parsePercent(t.y2, this._zrHeight); this._width = "undefined" == typeof t.width ? this._zrWidth - this._x - i : this.parsePercent(t.width, this._zrWidth), this._width = this._width <= 0 ? 10 : this._width, this._height = "undefined" == typeof t.height ? this._zrHeight - this._y - a : this.parsePercent(t.height, this._zrHeight), this._height = this._height <= 0 ? 10 : this._height, this._x = this.subPixelOptimize(this._x, t.borderWidth), this._y = this.subPixelOptimize(this._y, t.borderWidth), this.shapeList.push(new n({ zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: { x: this._x, y: this._y, width: this._width, height: this._height, brushType: t.borderWidth > 0 ? "both" : "fill", color: t.backgroundColor, strokeColor: t.borderColor, lineWidth: t.borderWidth } })), this.zr.addShape(this.shapeList[0]) } } }, o.inherits(t, i), e("../component").define("grid", t), t }), i("echarts/component/dataZoom", ["require", "./base", "zrender/shape/Rectangle", "zrender/shape/Polygon", "../util/shape/Icon", "../config", "../util/date", "zrender/tool/util", "../component"], function (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o); var r = this; r._ondrift = function (e, t) { return r.__ondrift(this, e, t) }, r._ondragend = function () { return r.__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 i = e("./base"), n = e("zrender/shape/Rectangle"), a = e("zrender/shape/Polygon"), o = e("../util/shape/Icon"), r = e("../config"); r.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 s = e("../util/date"), l = e("zrender/tool/util"); return t.prototype = { type: r.COMPONENT_TYPE_DATAZOOM, _buildShape: function () { this._buildBackground(), this._buildFiller(), this._buildHandle(), this._buildFrame(); for (var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e]); this._syncFrameShape() }, _getLocation: function () { var e, t, i, n, a = this.component.grid; return "horizontal" == this.zoomOption.orient ? (i = this.zoomOption.width || a.getWidth(), n = this.zoomOption.height || this._fillerSize, e = null != this.zoomOption.x ? this.zoomOption.x : a.getX(), t = null != this.zoomOption.y ? this.zoomOption.y : this.zr.getHeight() - n - 2) : (i = this.zoomOption.width || this._fillerSize, n = this.zoomOption.height || a.getHeight(), e = null != this.zoomOption.x ? this.zoomOption.x : 2, t = null != this.zoomOption.y ? this.zoomOption.y : a.getY()), { x: e, y: t, width: i, height: n } }, _getZoom: function () { var e = this.option.series, t = this.option.xAxis; !t || t instanceof Array || (t = [t], this.option.xAxis = t); var i = this.option.yAxis; !i || i instanceof Array || (i = [i], this.option.yAxis = i); var n, a, o = [], s = this.zoomOption.xAxisIndex; if (t && null == s) { n = []; for (var l = 0, h = t.length; h > l; l++) ("category" == t[l].type || null == t[l].type) && n.push(l) } else n = s instanceof Array ? s : null != s ? [s] : []; if (s = this.zoomOption.yAxisIndex, i && null == s) { a = []; for (var l = 0, h = i.length; h > l; l++) "category" == i[l].type && a.push(l) } else a = s instanceof Array ? s : null != s ? [s] : []; for (var m, l = 0, h = e.length; h > l; l++) if (m = e[l], m.type == r.CHART_TYPE_LINE || m.type == r.CHART_TYPE_BAR || m.type == r.CHART_TYPE_SCATTER || m.type == r.CHART_TYPE_K) { for (var V = 0, U = n.length; U > V; V++) if (n[V] == (m.xAxisIndex || 0)) { o.push(l); break } for (var V = 0, U = a.length; U > V; V++) if (a[V] == (m.yAxisIndex || 0)) { o.push(l); break } null == this.zoomOption.xAxisIndex && null == this.zoomOption.yAxisIndex && m.data && this.getDataFromOption(m.data[0]) instanceof Array && (m.type == r.CHART_TYPE_SCATTER || m.type == r.CHART_TYPE_LINE || m.type == r.CHART_TYPE_BAR) && o.push(l) } var d = null != this._zoom.start ? this._zoom.start : null != this.zoomOption.start ? this.zoomOption.start : 0, p = null != this._zoom.end ? this._zoom.end : null != this.zoomOption.end ? this.zoomOption.end : 100; d > p && (d += p, p = d - p, d -= p); var c = Math.round((p - d) / 100 * ("horizontal" == this.zoomOption.orient ? this._location.width : this._location.height)); return { start: d, end: p, start2: 0, end2: 100, size: c, xAxisIndex: n, yAxisIndex: a, seriesIndex: o, scatterMap: this._zoom.scatterMap || {} } }, _backupData: function () { this._originalData = {xAxis: {}, yAxis: {}, series: {}}; for (var e = this.option.xAxis, t = this._zoom.xAxisIndex, i = 0, n = t.length; n > i; i++) this._originalData.xAxis[t[i]] = e[t[i]].data; for (var a = this.option.yAxis, o = this._zoom.yAxisIndex, i = 0, n = o.length; n > i; i++) this._originalData.yAxis[o[i]] = a[o[i]].data; for (var s, l = this.option.series, h = this._zoom.seriesIndex, i = 0, n = h.length; n > i; i++) s = l[h[i]], this._originalData.series[h[i]] = s.data, s.data && this.getDataFromOption(s.data[0]) instanceof Array && (s.type == r.CHART_TYPE_SCATTER || s.type == r.CHART_TYPE_LINE || s.type == r.CHART_TYPE_BAR) && (this._backupScale(), this._calculScatterMap(h[i])) }, _calculScatterMap: function (t) { this._zoom.scatterMap = this._zoom.scatterMap || {}, this._zoom.scatterMap[t] = this._zoom.scatterMap[t] || {}; var i = e("../component"), n = i.get("axis"), a = l.clone(this.option.xAxis); "category" == a[0].type && (a[0].type = "value"), a[1] && "category" == a[1].type && (a[1].type = "value"); var o = new n(this.ecTheme, null, !1, {xAxis: a, series: this.option.series}, this, "xAxis"), r = this.option.series[t].xAxisIndex || 0; this._zoom.scatterMap[t].x = o.getAxis(r).getExtremum(), o.dispose(), a = l.clone(this.option.yAxis), "category" == a[0].type && (a[0].type = "value"), a[1] && "category" == a[1].type && (a[1].type = "value"), o = new n(this.ecTheme, null, !1, { yAxis: a, series: this.option.series }, this, "yAxis"), r = this.option.series[t].yAxisIndex || 0, this._zoom.scatterMap[t].y = o.getAxis(r).getExtremum(), o.dispose() }, _buildBackground: function () { var e = this._location.width, t = this._location.height; this.shapeList.push(new n({ zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: { x: this._location.x, y: this._location.y, width: e, height: t, color: this.zoomOption.backgroundColor } })); for (var i = 0, o = this._originalData.xAxis, s = this._zoom.xAxisIndex, l = 0, h = s.length; h > l; l++) i = Math.max(i, o[s[l]].length); for (var m = this._originalData.yAxis, V = this._zoom.yAxisIndex, l = 0, h = V.length; h > l; l++) i = Math.max(i, m[V[l]].length); for (var U, d = this._zoom.seriesIndex[0], p = this._originalData.series[d], c = Number.MIN_VALUE, u = Number.MAX_VALUE, l = 0, h = p.length; h > l; l++) U = this.getDataFromOption(p[l], 0), this.option.series[d].type == r.CHART_TYPE_K && (U = U[1]), isNaN(U) && (U = 0), c = Math.max(c, U), u = Math.min(u, U); var y = c - u, g = [], b = e / (i - (i > 1 ? 1 : 0)), f = t / (i - (i > 1 ? 1 : 0)), k = 1; "horizontal" == this.zoomOption.orient && 1 > b ? k = Math.floor(3 * i / e) : "vertical" == this.zoomOption.orient && 1 > f && (k = Math.floor(3 * i / t)); for (var l = 0, h = i; h > l; l += k) U = this.getDataFromOption(p[l], 0), this.option.series[d].type == r.CHART_TYPE_K && (U = U[1]), isNaN(U) && (U = 0), g.push("horizontal" == this.zoomOption.orient ? [this._location.x + b * l, this._location.y + t - 1 - Math.round((U - u) / y * (t - 10))] : [this._location.x + 1 + Math.round((U - u) / y * (e - 10)), this._location.y + f * (h - l - 1)]); "horizontal" == this.zoomOption.orient ? (g.push([this._location.x + e, this._location.y + t]), g.push([this._location.x, this._location.y + t])) : (g.push([this._location.x, this._location.y]), g.push([this._location.x, this._location.y + t])), this.shapeList.push(new a({ zlevel: this.getZlevelBase(), z: this.getZBase(), style: {pointList: g, 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 n(this._fillerShae), this.shapeList.push(this._fillerShae) }, _buildHandle: function () { var e = 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: e.start, brushType: "fill", textPosition: "left"}, ondrift: this._ondrift, ondragend: this._ondragend }, "horizontal" == this.zoomOption.orient ? (this._startShape.style.height = this._location.height, this._endShape = l.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 = e.end, this._endShape.highlightStyle.textPosition = "right") : (this._startShape.style.width = this._location.width, this._endShape = l.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 = e.end, this._endShape.highlightStyle.textPosition = "top"), this._startShape = new o(this._startShape), this._endShape = new o(this._endShape), this.shapeList.push(this._startShape), this.shapeList.push(this._endShape) }, _buildFrame: function () { var e = this.subPixelOptimize(this._location.x, 1), t = this.subPixelOptimize(this._location.y, 1); this._startFrameShape = { zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: { x: e, y: t, width: this._location.width - (e > this._location.x ? 1 : 0), height: this._location.height - (t > this._location.y ? 1 : 0), lineWidth: 1, brushType: "stroke", strokeColor: this.zoomOption.handleColor } }, this._endFrameShape = l.clone(this._startFrameShape), this._startFrameShape = new n(this._startFrameShape), this._endFrameShape = new n(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 e, t; "horizontal" == this.zoomOption.orient ? (e = this._startShape.style.x, t = this._endShape.style.x, this._fillerShae.style.x = Math.min(e, t) + this._handleSize, this._fillerShae.style.width = Math.abs(e - t) - this._handleSize, this._zoom.start = (Math.min(e, t) - this._location.x) / this._location.width * 100, this._zoom.end = (Math.max(e, t) + this._handleSize - this._location.x) / this._location.width * 100) : (e = this._startShape.style.y, t = this._endShape.style.y, this._fillerShae.style.y = Math.min(e, t) + this._handleSize, this._fillerShae.style.height = Math.abs(e - t) - this._handleSize, this._zoom.start = (this._location.y + this._location.height - Math.max(e, t)) / this._location.height * 100, this._zoom.end = (this._location.y + this._location.height - Math.min(e, t) - 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 (e) { var t, i, n, a, o; for (var s in this._originalData) { t = this._originalData[s]; for (var l in t) o = t[l], null != o && (a = o.length, i = Math.floor(this._zoom.start / 100 * a), n = Math.ceil(this._zoom.end / 100 * a), this.getDataFromOption(o[0]) instanceof Array && this.option[s][l].type != r.CHART_TYPE_K ? (this._setScale(), this.option[s][l].data = this._synScatterData(l, o)) : this.option[s][l].data = o.slice(i, n)) } this._isSilence || !this.zoomOption.realtime && !e || this.messageCenter.dispatch(r.EVENT.DATA_ZOOM, null, {zoom: this._zoom}, this.myChart) }, _synScatterData: function (e, t) { if (0 === this._zoom.start && 100 == this._zoom.end && 0 === this._zoom.start2 && 100 == this._zoom.end2) return t; var i, n, a, o, r, s = [], l = this._zoom.scatterMap[e]; "horizontal" == this.zoomOption.orient ? (i = l.x.max - l.x.min, n = this._zoom.start / 100 * i + l.x.min, a = this._zoom.end / 100 * i + l.x.min, i = l.y.max - l.y.min, o = this._zoom.start2 / 100 * i + l.y.min, r = this._zoom.end2 / 100 * i + l.y.min) : (i = l.x.max - l.x.min, n = this._zoom.start2 / 100 * i + l.x.min, a = this._zoom.end2 / 100 * i + l.x.min, i = l.y.max - l.y.min, o = this._zoom.start / 100 * i + l.y.min, r = this._zoom.end / 100 * i + l.y.min); var h; (h = l.x.dataMappingMethods) && (n = h.coord2Value(n), a = h.coord2Value(a)), (h = l.y.dataMappingMethods) && (o = h.coord2Value(o), r = h.coord2Value(r)); for (var m, V = 0, U = t.length; U > V; V++) m = t[V].value || t[V], m[0] >= n && m[0] <= a && m[1] >= o && m[1] <= r && s.push(t[V]); return s }, _setScale: function () { var e = 0 !== this._zoom.start || 100 !== this._zoom.end || 0 !== this._zoom.start2 || 100 !== this._zoom.end2, t = {xAxis: this.option.xAxis, yAxis: this.option.yAxis}; for (var i in t) for (var n = 0, a = t[i].length; a > n; n++) t[i][n].scale = e || t[i][n]._scale }, _backupScale: function () { var e = {xAxis: this.option.xAxis, yAxis: this.option.yAxis}; for (var t in e) for (var i = 0, n = e[t].length; n > i; i++) e[t][i]._scale = e[t][i].scale }, _getDetail: function () { for (var e = ["xAxis", "yAxis"], t = 0, i = e.length; i > t; t++) { var n = this._originalData[e[t]]; for (var a in n) { var o = n[a]; if (null != o) { var r = o.length, l = Math.floor(this._zoom.start / 100 * r), h = Math.ceil(this._zoom.end / 100 * r); return h -= h > 0 ? 1 : 0, { start: this.getDataFromOption(o[l]), end: this.getDataFromOption(o[h]) } } } } e = "horizontal" == this.zoomOption.orient ? "xAxis" : "yAxis"; var m = this._zoom.seriesIndex[0], V = this.option.series[m][e + "Index"] || 0, U = this.option[e][V].type, d = this._zoom.scatterMap[m][e.charAt(0)].min, p = this._zoom.scatterMap[m][e.charAt(0)].max, c = p - d; if ("value" == U) return {start: d + c * this._zoom.start / 100, end: d + c * this._zoom.end / 100}; if ("time" == U) { p = d + c * this._zoom.end / 100, d += c * this._zoom.start / 100; var u = s.getAutoFormatter(d, p).formatter; return {start: s.format(u, d), end: s.format(u, p)} } return {start: "", end: ""} }, __ondrift: function (e, t, i) { this.zoomOption.zoomLock && (e = this._fillerShae); var n = "filler" == e._type ? this._handleSize : 0; if ("horizontal" == this.zoomOption.orient ? e.style.x + t - n <= this._location.x ? e.style.x = this._location.x + n : e.style.x + t + e.style.width + n >= this._location.x + this._location.width ? e.style.x = this._location.x + this._location.width - e.style.width - n : e.style.x += t : e.style.y + i - n <= this._location.y ? e.style.y = this._location.y + n : e.style.y + i + e.style.height + n >= this._location.y + this._location.height ? e.style.y = this._location.y + this._location.height - e.style.height - n : e.style.y += i, "filler" == e._type ? this._syncHandleShape() : this._syncFillerShape(), this.zoomOption.realtime && this._syncData(), this.zoomOption.showDetail) { var a = this._getDetail(); this._startShape.style.text = this._startShape.highlightStyle.text = a.start, this._endShape.style.text = this._endShape.highlightStyle.text = a.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 (e, t) { this.isDragend && e.target && (!this.zoomOption.realtime && this._syncData(), t.dragOut = !0, t.dragIn = !0, this._isSilence || this.zoomOption.realtime || this.messageCenter.dispatch(r.EVENT.DATA_ZOOM, null, {zoom: this._zoom}, this.myChart), t.needRefresh = !1, this.isDragend = !1) }, ondataZoom: function (e, t) { t.needRefresh = !0 }, absoluteZoom: function (e) { this._zoom.start = e.start, this._zoom.end = e.end, this._zoom.start2 = e.start2, this._zoom.end2 = e.end2, this._syncShape(), this._syncData(!0) }, rectZoom: function (e) { if (!e) return this._zoom.start = this._zoom.start2 = 0, this._zoom.end = this._zoom.end2 = 100, this._syncShape(), this._syncData(!0), this._zoom; var t = this.component.grid.getArea(), i = {x: e.x, y: e.y, width: e.width, height: e.height}; if (i.width < 0 && (i.x += i.width, i.width = -i.width), i.height < 0 && (i.y += i.height, i.height = -i.height), i.x > t.x + t.width || i.y > t.y + t.height) return !1; i.x < t.x && (i.x = t.x), i.x + i.width > t.x + t.width && (i.width = t.x + t.width - i.x), i.y + i.height > t.y + t.height && (i.height = t.y + t.height - i.y); var n, a = (i.x - t.x) / t.width, o = 1 - (i.x + i.width - t.x) / t.width, r = 1 - (i.y + i.height - t.y) / t.height, s = (i.y - t.y) / t.height; return "horizontal" == this.zoomOption.orient ? (n = this._zoom.end - this._zoom.start, this._zoom.start += n * a, this._zoom.end -= n * o, n = this._zoom.end2 - this._zoom.start2, this._zoom.start2 += n * r, this._zoom.end2 -= n * s) : (n = this._zoom.end - this._zoom.start, this._zoom.start += n * r, this._zoom.end -= n * s, n = this._zoom.end2 - this._zoom.start2, this._zoom.start2 += n * a, this._zoom.end2 -= n * o), this._syncShape(), this._syncData(!0), this._zoom }, syncBackupData: function (e) { for (var t, i, n = this._originalData.series, a = e.series, o = 0, r = a.length; r > o; o++) { i = a[o].data || a[o].eventList, t = n[o] ? Math.floor(this._zoom.start / 100 * n[o].length) : 0; for (var s = 0, l = i.length; l > s; s++) n[o] && (n[o][s + t] = i[s]) } }, syncOption: function (e) { this.silence(!0), this.option = e, 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 (e) { this._isSilence = e }, getRealDataIndex: function (e, t) { if (!this._originalData || 0 === this._zoom.start && 100 == this._zoom.end) return t; var i = this._originalData.series; return i[e] ? Math.floor(this._zoom.start / 100 * i[e].length) + t : -1 }, resize: function () { this.clear(), this._location = this._getLocation(), this._zoom = this._getZoom(), this.option.dataZoom.show && this._buildShape() } }, l.inherits(t, i), e("../component").define("dataZoom", t), t }), i("echarts/component/categoryAxis", ["require", "./base", "zrender/shape/Text", "zrender/shape/Line", "zrender/shape/Rectangle", "../config", "zrender/tool/util", "zrender/tool/area", "../component"], function (e) { function t(e, t, n, a, o, r) { if (a.data.length < 1) return void console.error("option.data.length < 1."); i.call(this, e, t, n, a, o), this.grid = this.component.grid; for (var s in r) this[s] = r[s]; this.refresh(a) } var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Line"), o = e("zrender/shape/Rectangle"), r = e("../config"); r.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 s = e("zrender/tool/util"), l = e("zrender/tool/area"); return t.prototype = { type: r.COMPONENT_TYPE_AXIS_CATEGORY, _getReformedLabel: function (e) { var t = this.getDataFromOption(this.option.data[e]), i = this.option.data[e].formatter || this.option.axisLabel.formatter; return i && ("function" == typeof i ? t = i.call(this.myChart, t) : "string" == typeof i && (t = i.replace("{value}", t))), t }, _getInterval: function () { var e = this.option.axisLabel.interval; if ("auto" == e) { var t = this.option.axisLabel.textStyle.fontSize, i = this.option.data, n = this.option.data.length; if (this.isHorizontal()) if (n > 3) { var a, o, r = this.getGap(), h = !1, m = Math.floor(.5 / r); for (m = 1 > m ? 1 : m, e = Math.floor(15 / r); !h && n > e;) { e += m, h = !0, a = Math.floor(r * e); for (var V = Math.floor((n - 1) / e) * e; V >= 0; V -= e) { if (0 !== this.option.axisLabel.rotate) o = t; else if (i[V].textStyle) o = l.getTextWidth(this._getReformedLabel(V), this.getFont(s.merge(i[V].textStyle, this.option.axisLabel.textStyle))); else { var U = this._getReformedLabel(V) + "", d = (U.match(/\w/g) || "").length, p = U.length - d; o = d * t * 2 / 3 + p * t } if (o > a) { h = !1; break } } } } else e = 1; else if (n > 3) { var r = this.getGap(); for (e = Math.floor(11 / r); t > r * e - 6 && n > e;) e++ } else e = 1 } else e = "function" == typeof e ? 1 : e - 0 + 1; return e }, _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 e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e]) } }, _buildAxisTick: function () { var e, t = this.option.data, i = this.option.data.length, n = this.option.axisTick, o = n.length, r = n.lineStyle.color, s = n.lineStyle.width, l = "function" == typeof n.interval ? n.interval : "auto" == n.interval && "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1, h = l ? 1 : "auto" == n.interval ? this._interval : n.interval - 0 + 1, m = n.onGap, V = m ? this.getGap() / 2 : "undefined" == typeof m && this.option.boundaryGap ? this.getGap() / 2 : 0, U = V > 0 ? -h : 0; if (this.isHorizontal()) for (var d, p = "bottom" == this.option.position ? n.inside ? this.grid.getYend() - o - 1 : this.grid.getYend() + 1 : n.inside ? this.grid.getY() + 1 : this.grid.getY() - o - 1, c = U; i > c; c += h) (!l || l(c, t[c])) && (d = this.subPixelOptimize(this.getCoordByIndex(c) + (c >= 0 ? V : 0), s), e = { _axisShape: "axisTick", zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: {xStart: d, yStart: p, xEnd: d, yEnd: p + o, strokeColor: r, lineWidth: s} }, this.shapeList.push(new a(e))); else for (var u, y = "left" == this.option.position ? n.inside ? this.grid.getX() + 1 : this.grid.getX() - o - 1 : n.inside ? this.grid.getXend() - o - 1 : this.grid.getXend() + 1, c = U; i > c; c += h) (!l || l(c, t[c])) && (u = this.subPixelOptimize(this.getCoordByIndex(c) - (c >= 0 ? V : 0), s), e = { _axisShape: "axisTick", zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: {xStart: y, yStart: u, xEnd: y + o, yEnd: u, strokeColor: r, lineWidth: s} }, this.shapeList.push(new a(e))) }, _buildAxisLabel: function () { var e, t, i = this.option.data, a = this.option.data.length, o = this.option.axisLabel, r = o.rotate, l = o.margin, h = o.clickable, m = o.textStyle, V = "function" == typeof o.interval ? o.interval : !1; if (this.isHorizontal()) { var U, d; "bottom" == this.option.position ? (U = this.grid.getYend() + l, d = "top") : (U = this.grid.getY() - l, d = "bottom"); for (var p = 0; a > p; p += this._interval) V && !V(p, i[p]) || "" === this._getReformedLabel(p) || (t = s.merge(i[p].textStyle || {}, m), e = { zlevel: this.getZlevelBase(), z: this.getZBase() + 3, hoverable: !1, style: { x: this.getCoordByIndex(p), y: U, color: t.color, text: this._getReformedLabel(p), textFont: this.getFont(t), textAlign: t.align || "center", textBaseline: t.baseline || d } }, r && (e.style.textAlign = r > 0 ? "bottom" == this.option.position ? "right" : "left" : "bottom" == this.option.position ? "left" : "right", e.rotation = [r * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(h, e)))) } else { var c, u; "left" == this.option.position ? (c = this.grid.getX() - l, u = "right") : (c = this.grid.getXend() + l, u = "left"); for (var p = 0; a > p; p += this._interval) V && !V(p, i[p]) || "" === this._getReformedLabel(p) || (t = s.merge(i[p].textStyle || {}, m), e = { zlevel: this.getZlevelBase(), z: this.getZBase() + 3, hoverable: !1, style: { x: c, y: this.getCoordByIndex(p), color: t.color, text: this._getReformedLabel(p), textFont: this.getFont(t), textAlign: t.align || u, textBaseline: t.baseline || 0 === p && "" !== this.option.name ? "bottom" : p == a - 1 && "" !== this.option.name ? "top" : "middle" } }, r && (e.rotation = [r * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(h, e)))) } }, _buildSplitLine: function () { var e, t = this.option.data, i = this.option.data.length, n = this.option.splitLine, o = n.lineStyle.type, r = n.lineStyle.width, s = n.lineStyle.color; s = s instanceof Array ? s : [s]; var l = s.length, h = "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1, m = n.onGap, V = m ? this.getGap() / 2 : "undefined" == typeof m && this.option.boundaryGap ? this.getGap() / 2 : 0; if (i -= m || "undefined" == typeof m && this.option.boundaryGap ? 1 : 0, this.isHorizontal()) for (var U, d = this.grid.getY(), p = this.grid.getYend(), c = 0; i > c; c += this._interval) (!h || h(c, t[c])) && (U = this.subPixelOptimize(this.getCoordByIndex(c) + V, r), e = { zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: { xStart: U, yStart: d, xEnd: U, yEnd: p, strokeColor: s[c / this._interval % l], lineType: o, lineWidth: r } }, this.shapeList.push(new a(e))); else for (var u, y = this.grid.getX(), g = this.grid.getXend(), c = 0; i > c; c += this._interval) (!h || h(c, t[c])) && (u = this.subPixelOptimize(this.getCoordByIndex(c) - V, r), e = { zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: { xStart: y, yStart: u, xEnd: g, yEnd: u, strokeColor: s[c / this._interval % l], lineType: o, lineWidth: r } }, this.shapeList.push(new a(e))) }, _buildSplitArea: function () { var e, t = this.option.data, i = this.option.splitArea, n = i.areaStyle.color; if (n instanceof Array) { var a = n.length, r = this.option.data.length, s = "function" == typeof this.option.axisLabel.interval ? this.option.axisLabel.interval : !1, l = i.onGap, h = l ? this.getGap() / 2 : "undefined" == typeof l && this.option.boundaryGap ? this.getGap() / 2 : 0; if (this.isHorizontal()) for (var m, V = this.grid.getY(), U = this.grid.getHeight(), d = this.grid.getX(), p = 0; r >= p; p += this._interval) s && !s(p, t[p]) && r > p || (m = r > p ? this.getCoordByIndex(p) + h : this.grid.getXend(), e = { zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: {x: d, y: V, width: m - d, height: U, color: n[p / this._interval % a]} }, this.shapeList.push(new o(e)), d = m); else for (var c, u = this.grid.getX(), y = this.grid.getWidth(), g = this.grid.getYend(), p = 0; r >= p; p += this._interval) s && !s(p, t[p]) && r > p || (c = r > p ? this.getCoordByIndex(p) - h : this.grid.getY(), e = { zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: {x: u, y: c, width: y, height: g - c, color: n[p / this._interval % a]} }, this.shapeList.push(new o(e)), g = c) } else e = { 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: n } }, this.shapeList.push(new o(e)) }, refresh: function (e) { e && (this.option = this.reformOption(e), this.option.axisLabel.textStyle = this.getTextStyle(this.option.axisLabel.textStyle)), this.clear(), this._buildShape() }, getGap: function () { var e = this.option.data.length, t = this.isHorizontal() ? this.grid.getWidth() : this.grid.getHeight(); return this.option.boundaryGap ? t / e : t / (e > 1 ? e - 1 : 1) }, getCoord: function (e) { for (var t = this.option.data, i = t.length, n = this.getGap(), a = this.option.boundaryGap ? n / 2 : 0, o = 0; i > o; o++) { if (this.getDataFromOption(t[o]) == e) return a = this.isHorizontal() ? this.grid.getX() + a : this.grid.getYend() - a; a += n } }, getCoordByIndex: function (e) { if (0 > e) return this.isHorizontal() ? this.grid.getX() : this.grid.getYend(); if (e > this.option.data.length - 1) return this.isHorizontal() ? this.grid.getXend() : this.grid.getY(); var t = this.getGap(), i = this.option.boundaryGap ? t / 2 : 0; return i += e * t, i = this.isHorizontal() ? this.grid.getX() + i : this.grid.getYend() - i }, getNameByIndex: function (e) { return this.getDataFromOption(this.option.data[e]) }, getIndexByName: function (e) { for (var t = this.option.data, i = t.length, n = 0; i > n; n++) if (this.getDataFromOption(t[n]) == e) return n; return -1 }, getValueFromCoord: function () { return "" }, isMainAxis: function (e) { return e % this._interval === 0 } }, s.inherits(t, i), e("../component").define("categoryAxis", t), t }), i("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 (e) { function t(e, t, n, a, o, r, s) { if (!s || 0 === s.length) return void console.err("option.series.length == 0."); i.call(this, e, t, n, a, o), this.series = s, this.grid = this.component.grid; for (var l in r) this[l] = r[l]; this.refresh(a, s) } var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Line"), o = e("zrender/shape/Rectangle"), r = e("../config"); r.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 s = e("../util/date"), l = e("zrender/tool/util"); return t.prototype = { type: r.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 e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e]) } }, _buildAxisTick: function () { var e, t = this._valueList, i = this._valueList.length, n = this.option.axisTick, o = n.length, r = n.lineStyle.color, s = n.lineStyle.width; if (this.isHorizontal()) for (var l, h = "bottom" === this.option.position ? n.inside ? this.grid.getYend() - o - 1 : this.grid.getYend() + 1 : n.inside ? this.grid.getY() + 1 : this.grid.getY() - o - 1, m = 0; i > m; m++) l = this.subPixelOptimize(this.getCoord(t[m]), s), e = { _axisShape: "axisTick", zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: {xStart: l, yStart: h, xEnd: l, yEnd: h + o, strokeColor: r, lineWidth: s} }, this.shapeList.push(new a(e)); else for (var V, U = "left" === this.option.position ? n.inside ? this.grid.getX() + 1 : this.grid.getX() - o - 1 : n.inside ? this.grid.getXend() - o - 1 : this.grid.getXend() + 1, m = 0; i > m; m++) V = this.subPixelOptimize(this.getCoord(t[m]), s), e = { _axisShape: "axisTick", zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: {xStart: U, yStart: V, xEnd: U + o, yEnd: V, strokeColor: r, lineWidth: s} }, this.shapeList.push(new a(e)) }, _buildAxisLabel: function () { var e, t = this._valueList, i = this._valueList.length, a = this.option.axisLabel.rotate, o = this.option.axisLabel.margin, r = this.option.axisLabel.clickable, s = this.option.axisLabel.textStyle; if (this.isHorizontal()) { var l, h; "bottom" === this.option.position ? (l = this.grid.getYend() + o, h = "top") : (l = this.grid.getY() - o, h = "bottom"); for (var m = 0; i > m; m++) e = { zlevel: this.getZlevelBase(), z: this.getZBase() + 3, hoverable: !1, style: { x: this.getCoord(t[m]), y: l, color: "function" == typeof s.color ? s.color(t[m]) : s.color, text: this._valueLabel[m], textFont: this.getFont(s), textAlign: s.align || "center", textBaseline: s.baseline || h } }, a && (e.style.textAlign = a > 0 ? "bottom" === this.option.position ? "right" : "left" : "bottom" === this.option.position ? "left" : "right", e.rotation = [a * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(r, e))) } else { var V, U; "left" === this.option.position ? (V = this.grid.getX() - o, U = "right") : (V = this.grid.getXend() + o, U = "left"); for (var m = 0; i > m; m++) e = { zlevel: this.getZlevelBase(), z: this.getZBase() + 3, hoverable: !1, style: { x: V, y: this.getCoord(t[m]), color: "function" == typeof s.color ? s.color(t[m]) : s.color, text: this._valueLabel[m], textFont: this.getFont(s), textAlign: s.align || U, textBaseline: s.baseline || (0 === m && "" !== this.option.name ? "bottom" : m === i - 1 && "" !== this.option.name ? "top" : "middle") } }, a && (e.rotation = [a * Math.PI / 180, e.style.x, e.style.y]), this.shapeList.push(new n(this._axisLabelClickable(r, e))) } }, _buildSplitLine: function () { var e, t = this._valueList, i = this._valueList.length, n = this.option.splitLine, o = n.lineStyle.type, r = n.lineStyle.width, s = n.lineStyle.color; s = s instanceof Array ? s : [s]; var l = s.length; if (this.isHorizontal()) for (var h, m = this.grid.getY(), V = this.grid.getYend(), U = 0; i > U; U++) h = this.subPixelOptimize(this.getCoord(t[U]), r), e = { zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: {xStart: h, yStart: m, xEnd: h, yEnd: V, strokeColor: s[U % l], lineType: o, lineWidth: r} }, this.shapeList.push(new a(e)); else for (var d, p = this.grid.getX(), c = this.grid.getXend(), U = 0; i > U; U++) d = this.subPixelOptimize(this.getCoord(t[U]), r), e = { zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: {xStart: p, yStart: d, xEnd: c, yEnd: d, strokeColor: s[U % l], lineType: o, lineWidth: r} }, this.shapeList.push(new a(e)) }, _buildSplitArea: function () { var e, t = this.option.splitArea.areaStyle.color; if (t instanceof Array) { var i = t.length, n = this._valueList, a = this._valueList.length; if (this.isHorizontal()) for (var r, s = this.grid.getY(), l = this.grid.getHeight(), h = this.grid.getX(), m = 0; a >= m; m++) r = a > m ? this.getCoord(n[m]) : this.grid.getXend(), e = { zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: {x: h, y: s, width: r - h, height: l, color: t[m % i]} }, this.shapeList.push(new o(e)), h = r; else for (var V, U = this.grid.getX(), d = this.grid.getWidth(), p = this.grid.getYend(), m = 0; a >= m; m++) V = a > m ? this.getCoord(n[m]) : this.grid.getY(), e = { zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: {x: U, y: V, width: d, height: p - V, color: t[m % i]} }, this.shapeList.push(new o(e)), p = V } else e = { 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: t } }, this.shapeList.push(new o(e)) }, _calculateValue: function () { if (isNaN(this.option.min - 0) || isNaN(this.option.max - 0)) { for (var e, t, i = {}, n = this.component.legend, a = 0, o = this.series.length; o > a; a++) !(this.series[a].type != r.CHART_TYPE_LINE && this.series[a].type != r.CHART_TYPE_BAR && this.series[a].type != r.CHART_TYPE_SCATTER && this.series[a].type != r.CHART_TYPE_K && this.series[a].type != r.CHART_TYPE_EVENTRIVER || n && !n.isSelected(this.series[a].name) || (e = this.series[a].xAxisIndex || 0, t = this.series[a].yAxisIndex || 0, this.option.xAxisIndex != e && this.option.yAxisIndex != t || !this._calculSum(i, a))); var s; for (var a in i) { s = i[a]; for (var l = 0, h = s.length; h > l; l++) if (!isNaN(s[l])) { this._hasData = !0, this._min = s[l], this._max = s[l]; break } if (this._hasData) break } for (var a in i) { s = i[a]; for (var l = 0, h = s.length; h > l; l++) isNaN(s[l]) || (this._min = Math.min(this._min, s[l]), this._max = Math.max(this._max, s[l])) } var m = "log" !== this.option.type ? this.option.boundaryGap : [0, 0], V = Math.abs(this._max - this._min); this._min = isNaN(this.option.min - 0) ? this._min - Math.abs(V * m[0]) : this.option.min - 0, this._max = isNaN(this.option.max - 0) ? this._max + Math.abs(V * m[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 (e, t) { var i, n, a = this.series[t].name || "kener"; if (this.series[t].stack) { var o = "__Magic_Key_Positive__" + this.series[t].stack, l = "__Magic_Key_Negative__" + this.series[t].stack; e[o] = e[o] || [], e[l] = e[l] || [], e[a] = e[a] || [], n = this.series[t].data; for (var h = 0, m = n.length; m > h; h++) i = this.getDataFromOption(n[h]), "-" !== i && (i -= 0, i >= 0 ? null != e[o][h] ? e[o][h] += i : e[o][h] = i : null != e[l][h] ? e[l][h] += i : e[l][h] = i, this.option.scale && e[a].push(i)) } else if (e[a] = e[a] || [], this.series[t].type != r.CHART_TYPE_EVENTRIVER) { n = this.series[t].data; for (var h = 0, m = n.length; m > h; h++) i = this.getDataFromOption(n[h]), this.series[t].type === r.CHART_TYPE_K ? (e[a].push(i[0]), e[a].push(i[1]), e[a].push(i[2]), e[a].push(i[3])) : i instanceof Array ? (-1 != this.option.xAxisIndex && e[a].push("time" != this.option.type ? i[0] : s.getNewDate(i[0])), -1 != this.option.yAxisIndex && e[a].push("time" != this.option.type ? i[1] : s.getNewDate(i[1]))) : e[a].push(i) } else { n = this.series[t].data; for (var h = 0, m = n.length; m > h; h++) for (var V = n[h].evolution, U = 0, d = V.length; d > U; U++) e[a].push(s.getNewDate(V[U].time)) } }, _reformValue: function (t) { var i = e("../util/smartSteps"), n = this.option.splitNumber; !t && this._min >= 0 && this._max >= 0 && (this._min = 0), !t && this._min <= 0 && this._max <= 0 && (this._max = 0); var a = i(this._min, this._max, n); n = null != n ? n : a.secs, this._min = a.min, this._max = a.max, this._valueList = a.pnts, this._reformLabelData() }, _reformTimeValue: function () { var e = null != this.option.splitNumber ? this.option.splitNumber : 5, t = s.getAutoFormatter(this._min, this._max, e), i = t.formatter, n = t.gapValue; this._valueList = [s.getNewDate(this._min)]; var a; switch (i) { case"week": a = s.nextMonday(this._min); break; case"month": a = s.nextNthOnMonth(this._min, 1); break; case"quarter": a = s.nextNthOnQuarterYear(this._min, 1); break; case"half-year": a = s.nextNthOnHalfYear(this._min, 1); break; case"year": a = s.nextNthOnYear(this._min, 1); break; default: 72e5 >= n ? a = (Math.floor(this._min / n) + 1) * n : (a = s.getNewDate(this._min - -n), a.setHours(6 * Math.round(a.getHours() / 6)), a.setMinutes(0), a.setSeconds(0)) } for (a - this._min < n / 2 && (a -= -n), t = s.getNewDate(a), e *= 1.5; e-- >= 0 && (("month" == i || "quarter" == i || "half-year" == i || "year" == i) && t.setDate(1), !(this._max - t < n / 2));) this._valueList.push(t), t = s.getNewDate(t - -n); this._valueList.push(s.getNewDate(this._max)), this._reformLabelData(function (e) { return function (t) { return s.format(e, t) } }(i)) }, _customerValue: function () { var t = e("../util/accMath"), i = null != this.option.splitNumber ? this.option.splitNumber : 5, n = (this._max - this._min) / i; this._valueList = []; for (var a = 0; i >= a; a++) this._valueList.push(t.accAdd(this._min, t.accMul(n, a))); this._reformLabelData() }, _reformLogValue: function () { var t = this.option, i = e("../util/smartLogSteps")({ dataMin: this._min, dataMax: this._max, logPositive: t.logPositive, logLabelBase: t.logLabelBase, splitNumber: t.splitNumber }); this._min = i.dataMin, this._max = i.dataMax, this._valueList = i.tickList, this._dataMappingMethods = i.dataMappingMethods, this._reformLabelData(i.labelFormatter) }, _reformLabelData: function (e) { this._valueLabel = []; var t = this.option.axisLabel.formatter; if (t) for (var i = 0, n = this._valueList.length; n > i; i++) "function" == typeof t ? this._valueLabel.push(e ? t.call(this.myChart, this._valueList[i], e) : t.call(this.myChart, this._valueList[i])) : "string" == typeof t && this._valueLabel.push(e ? s.format(t, this._valueList[i]) : t.replace("{value}", this._valueList[i])); else for (var i = 0, n = this._valueList.length; n > i; i++) this._valueLabel.push(e ? e(this._valueList[i]) : this.numAddCommas(this._valueList[i])) }, getExtremum: function () { this._calculateValue(); var e = this._dataMappingMethods; return {min: this._min, max: this._max, dataMappingMethods: e ? l.merge({}, e) : null} }, refresh: function (e, t) { e && (this.option = this.reformOption(e), this.option.axisLabel.textStyle = l.merge(this.option.axisLabel.textStyle || {}, this.ecTheme.textStyle), this.series = t), this.zr && (this.clear(), this._buildShape()) }, getCoord: function (e) { this._dataMappingMethods && (e = this._dataMappingMethods.value2Coord(e)), e = e < this._min ? this._min : e, e = e > this._max ? this._max : e; var t; return t = this.isHorizontal() ? this.grid.getX() + (e - this._min) / (this._max - this._min) * this.grid.getWidth() : this.grid.getYend() - (e - this._min) / (this._max - this._min) * this.grid.getHeight() }, getCoordSize: function (e) { return Math.abs(this.isHorizontal() ? e / (this._max - this._min) * this.grid.getWidth() : e / (this._max - this._min) * this.grid.getHeight()) }, getValueFromCoord: function (e) { var t; return this.isHorizontal() ? (e = e < this.grid.getX() ? this.grid.getX() : e, e = e > this.grid.getXend() ? this.grid.getXend() : e, t = this._min + (e - this.grid.getX()) / this.grid.getWidth() * (this._max - this._min)) : (e = e < this.grid.getY() ? this.grid.getY() : e, e = e > this.grid.getYend() ? this.grid.getYend() : e, t = this._max - (e - this.grid.getY()) / this.grid.getHeight() * (this._max - this._min)), this._dataMappingMethods && (t = this._dataMappingMethods.coord2Value(t)), t.toFixed(2) - 0 }, isMaindAxis: function (e) { for (var t = 0, i = this._valueList.length; i > t; t++) if (this._valueList[t] === e) return !0; return !1 } }, l.inherits(t, i), e("../component").define("valueAxis", t), t }), i("echarts/util/date", [], function () { function e(e, t, i) { i = i > 1 ? i : 2; for (var n, a, o, r, s = 0, l = m.length; l > s; s++) if (n = m[s].value, a = Math.ceil(t / n) * n - Math.floor(e / n) * n, Math.round(a / n) <= 1.2 * i) { o = m[s].formatter, r = m[s].value; break } return null == o && (o = "year", n = 317088e5, a = Math.ceil(t / n) * n - Math.floor(e / n) * n, r = Math.round(a / (i - 1) / n) * n), { formatter: o, gapValue: r } } function t(e) { return 10 > e ? "0" + e : e } function i(e, i) { ("week" == e || "month" == e || "quarter" == e || "half-year" == e || "year" == e) && (e = "MM - dd\nyyyy"); var n = h(i), a = n.getFullYear(), o = n.getMonth() + 1, r = n.getDate(), s = n.getHours(), l = n.getMinutes(), m = n.getSeconds(); return e = e.replace("MM", t(o)), e = e.toLowerCase(), e = e.replace("yyyy", a), e = e.replace("yy", a % 100), e = e.replace("dd", t(r)), e = e.replace("d", r), e = e.replace("hh", t(s)), e = e.replace("h", s), e = e.replace("mm", t(l)), e = e.replace("m", l), e = e.replace("ss", t(m)), e = e.replace("s", m) } function n(e) { return e = h(e), e.setDate(e.getDate() + 8 - e.getDay()), e } function a(e, t, i) { return e = h(e), e.setMonth(Math.ceil((e.getMonth() + 1) / i) * i), e.setDate(t), e } function o(e, t) { return a(e, t, 1) } function r(e, t) { return a(e, t, 3) } function s(e, t) { return a(e, t, 6) } function l(e, t) { return a(e, t, 12) } function h(e) { return e instanceof Date ? e : new Date("string" == typeof e ? e.replace(/-/g, "/") : e) } var m = [{formatter: "hh : mm : ss", value: 1e3}, { formatter: "hh : mm : ss", value: 5e3 }, {formatter: "hh : mm : ss", value: 1e4}, { formatter: "hh : mm : ss", value: 15e3 }, {formatter: "hh : mm : ss", value: 3e4}, { formatter: "hh : mm\nMM - dd", value: 6e4 }, {formatter: "hh : mm\nMM - dd", value: 3e5}, { formatter: "hh : mm\nMM - dd", value: 6e5 }, {formatter: "hh : mm\nMM - dd", value: 9e5}, { formatter: "hh : mm\nMM - dd", value: 18e5 }, {formatter: "hh : mm\nMM - dd", value: 36e5}, { formatter: "hh : mm\nMM - dd", value: 72e5 }, {formatter: "hh : mm\nMM - dd", value: 216e5}, { formatter: "hh : mm\nMM - dd", value: 432e5 }, {formatter: "MM - dd\nyyyy", value: 864e5}, {formatter: "week", value: 6048e5}, { formatter: "month", value: 26784e5 }, {formatter: "quarter", value: 8208e6}, {formatter: "half-year", value: 16416e6}, { formatter: "year", value: 32832e6 }]; return { getAutoFormatter: e, getNewDate: h, format: i, nextMonday: n, nextNthPerNmonth: a, nextNthOnMonth: o, nextNthOnQuarterYear: r, nextNthOnHalfYear: s, nextNthOnYear: l } }), i("echarts/util/smartSteps", [], function () { function e(e) { return X.log(I(e)) / X.LN10 } function t(e) { return X.pow(10, e) } function i(e) { return e === w(e) } function n(e, t, n, a) { b = a || {}, f = b.steps || L, k = b.secs || W, n = v(+n || 0) % 99, e = +e || 0, t = +t || 0, x = _ = 0, "min" in b && (e = +b.min || 0, x = 1), "max" in b && (t = +b.max || 0, _ = 1), e > t && (t = [e, e = t][0]); var o = t - e; if (x && _) return g(e, t, n); if ((n || 5) > o) { if (i(e) && i(t)) return d(e, t, n); if (0 === o) return p(e, t, n) } return h(e, t, n) } function a(e, i, n, a) { a = a || 0; var s = o((i - e) / n, -1), l = o(e, -1, 1), h = o(i, -1), m = X.min(s.e, l.e, h.e); 0 === l.c ? m = X.min(s.e, h.e) : 0 === h.c && (m = X.min(s.e, l.e)), r(s, { c: 0, e: m }), r(l, s, 1), r(h, s), a += m, e = l.c, i = h.c; for (var V = (i - e) / n, U = t(a), d = 0, p = [], c = n + 1; c--;) p[c] = (e + V * c) * U; if (0 > a) { d = u(U), V = +(V * U).toFixed(d), e = +(e * U).toFixed(d), i = +(i * U).toFixed(d); for (var c = p.length; c--;) p[c] = p[c].toFixed(d), 0 === +p[c] && (p[c] = "0") } else e *= U, i *= U, V *= U; return k = 0, f = 0, b = 0, {min: e, max: i, secs: n, step: V, fix: d, exp: a, pnts: p} } function o(n, a, o) { a = v(a % 10) || 2, 0 > a && (i(n) ? a = ("" + I(n)).replace(/0+$/, "").length || 1 : (n = n.toFixed(15).replace(/0+$/, ""), a = n.replace(".", "").replace(/^[-0]+/, "").length, n = +n)); var r = w(e(n)) - a + 1, s = +(n * t(-r)).toFixed(15) || 0; return s = o ? w(s) : K(s), !s && (r = 0), ("" + I(s)).length > a && (r += 1, s /= 10), {c: s, e: r} } function r(e, i, n) { var a = i.e - e.e; a && (e.e += a, e.c *= t(-a), e.c = n ? w(e.c) : K(e.c)) } function s(e, t, i) { e.e < t.e ? r(t, e, i) : r(e, t, i) } function l(e, t) { t = t || L, e = o(e); for (var i = e.c, n = 0; i > t[n];) n++; if (!t[n]) for (i /= 10, e.e += 1, n = 0; i > t[n];) n++; return e.c = t[n], e } function h(e, t, n) { var s, h = n || +k.slice(-1), p = l((t - e) / h, f), u = o(t - e), g = o(e, -1, 1), b = o(t, -1); if (r(u, p), r(g, p, 1), r(b, p), n ? s = V(g, b, h) : h = m(g, b), i(e) && i(t) && e * t >= 0) { if (h > t - e) return d(e, t, h); h = U(e, t, n, g, b, h) } var L = c(e, t, g.c, b.c); return g.c = L[0], b.c = L[1], (x || _) && y(e, t, g, b), a(g.c, b.c, h, b.e) } function m(e, i) { for (var n, a, o, r, s = [], h = k.length; h--;) n = k[h], a = l((i.c - e.c) / n, f), a = a.c * t(a.e), o = w(e.c / a) * a, r = K(i.c / a) * a, s[h] = { min: o, max: r, step: a, span: r - o }; return s.sort(function (e, t) { var i = e.span - t.span; return 0 === i && (i = e.step - t.step), i }), s = s[0], n = s.span / s.step, e.c = s.min, i.c = s.max, 3 > n ? 2 * n : n } function V(e, i, n) { for (var a, o, r = i.c, s = (i.c - e.c) / n - 1; r > e.c;) s = l(s + 1, f), s = s.c * t(s.e), a = s * n, o = K(i.c / s) * s, r = o - a; var h = e.c - r, m = o - i.c, V = h - m; return V > 1.1 * s && (V = v(V / s / 2) * s, r += V, o += V), e.c = r, i.c = o, s } function U(e, n, a, o, r, s) { var l = r.c - o.c, h = l / s * t(r.e); if (!i(h) && (h = w(h), l = h * s, n - e > l && (h += 1, l = h * s, !a && h * (s - 1) >= n - e && (s -= 1, l = h * s)), l >= n - e)) { var m = l - (n - e); o.c = v(e - m / 2), r.c = v(n + m / 2), o.e = 0, r.e = 0 } return s } function d(e, t, i) { if (i = i || 5, x) t = e + i; else if (_) e = t - i; else { var n = i - (t - e), o = v(e - n / 2), r = v(t + n / 2), s = c(e, t, o, r); e = s[0], t = s[1] } return a(e, t, i) } function p(e, t, i) { i = i || 5; var n = X.min(I(t / i), i) / 2.1; return x ? t = e + n : _ ? e = t - n : (e -= n, t += n), h(e, t, i) } function c(e, t, i, n) { return e >= 0 && 0 > i ? (n -= i, i = 0) : 0 >= t && n > 0 && (i -= n, n = 0), [i, n] } function u(e) { return e = (+e).toFixed(15).split("."), e.pop().replace(/0+$/, "").length } function y(e, t, i, n) { if (x) { var a = o(e, 4, 1); i.e - a.e > 6 && (a = {c: 0, e: i.e}), s(i, a), s(n, a), n.c += a.c - i.c, i.c = a.c } else if (_) { var r = o(t, 4); n.e - r.e > 6 && (r = {c: 0, e: n.e}), s(i, r), s(n, r), i.c += r.c - n.c, n.c = r.c } } function g(e, t, i) { var n = i ? [i] : k, s = t - e; if (0 === s) return t = o(t, 3), i = n[0], t.c = v(t.c + i / 2), a(t.c - i, t.c, i, t.e); I(t / s) < 1e-6 && (t = 0), I(e / s) < 1e-6 && (e = 0); var l, h, m, V = [[5, 10], [10, 2], [50, 10], [100, 2]], U = [], d = [], p = o(t - e, 3), c = o(e, -1, 1), u = o(t, -1); r(c, p, 1), r(u, p), s = u.c - c.c, p.c = s; for (var y = n.length; y--;) { i = n[y], l = K(s / i), h = l * i - s, m = 3 * (h + 3), m += 2 * (i - n[0] + 2), i % 5 === 0 && (m -= 10); for (var g = V.length; g--;) l % V[g][0] === 0 && (m /= V[g][1]); d[y] = [i, l, h, m].join(), U[y] = {secs: i, step: l, delta: h, score: m} } return U.sort(function (e, t) { return e.score - t.score }), U = U[0], c.c = v(c.c - U.delta / 2), u.c = v(u.c + U.delta / 2), a(c.c, u.c, U.secs, p.e) } var b, f, k, x, _, L = [10, 20, 25, 50], W = [4, 5, 6], X = Math, v = X.round, w = X.floor, K = X.ceil, I = X.abs; return n }), i("echarts/util/smartLogSteps", ["require", "./number"], function (e) { function t(e) { return i(), u = e || {}, n(), a(), [o(), i()][0] } function i() { U = u = g = c = b = f = y = k = d = p = null } function n() { d = u.logLabelBase, null == d ? (p = "plain", d = 10, c = I) : (d = +d, 1 > d && (d = 10), p = "exponent", c = L(d)), y = u.splitNumber, null == y && (y = E); var e = parseFloat(u.dataMin), t = parseFloat(u.dataMax); isFinite(e) || isFinite(t) ? isFinite(e) ? isFinite(t) ? e > t && (t = [e, e = t][0]) : t = e : e = t : e = t = 1, U = u.logPositive, null == U && (U = t > 0 || 0 === e), b = U ? e : -t, f = U ? t : -e, S > b && (b = S), S > f && (f = S) } function a() { function e() { y > m && (y = m); var e = w(l(m / y)), t = v(l(m / e)), i = e * t, n = (i - U) / 2, a = w(l(r - n)); V(a - r) && (a -= 1), g = -a * c; for (var s = a; o >= s - e; s += e) k.push(W(d, s)) } function t() { for (var e = i(h, 0), t = e + 2; t > e && a(e + 1) + n(e + 1) * C < r;) e++; for (var l = i(s, 0), t = l - 2; l > t && a(l - 1) + n(l - 1) * C > o;) l--; g = -(a(e) * I + n(e) * J); for (var m = e; l >= m; m++) { var V = a(m), U = n(m); k.push(W(10, V) * W(2, U)) } } function i(e, t) { return 3 * e + t } function n(e) { return e - 3 * a(e) } function a(e) { return w(l(e / 3)) } k = []; var o = l(L(f) / c), r = l(L(b) / c), s = v(o), h = w(r), m = s - h, U = o - r; "exponent" === p ? e() : F >= m && y > F ? t() : e() } function o() { for (var e = [], t = 0, i = k.length; i > t; t++) e[t] = (U ? 1 : -1) * k[t]; !U && e.reverse(); var n = s(), a = n.value2Coord, o = a(e[0]), l = a(e[e.length - 1]); return o === l && (o -= 1, l += 1), { dataMin: o, dataMax: l, tickList: e, logPositive: U, labelFormatter: r(), dataMappingMethods: n } } function r() { if ("exponent" === p) { var e = d, t = c; return function (i) { if (!isFinite(parseFloat(i))) return ""; var n = ""; return 0 > i && (i = -i, n = "-"), n + e + m(L(i) / t) } } return function (e) { return isFinite(parseFloat(e)) ? x.addCommas(h(e)) : "" } } function s() { var e = U, t = g; return { value2Coord: function (i) { return null == i || isNaN(i) || !isFinite(i) ? i : (i = parseFloat(i), isFinite(i) ? e && S > i ? i = S : !e && i > -S && (i = -S) : i = S, i = X(i), (e ? 1 : -1) * (L(i) + t)) }, coord2Value: function (i) { return null == i || isNaN(i) || !isFinite(i) ? i : (i = parseFloat(i), isFinite(i) || (i = S), e ? W(K, i - t) : -W(K, -i + t)) } } } function l(e) { return +Number(+e).toFixed(14) } function h(e) { return Number(e).toFixed(15).replace(/\.?0*$/, "") } function m(e) { e = h(Math.round(e)); for (var t = [], i = 0, n = e.length; n > i; i++) { var a = e.charAt(i); t.push(T[a] || "") } return t.join("") } function V(e) { return e > -S && S > e } var U, d, p, c, u, y, g, b, f, k, x = e("./number"), _ = Math, L = _.log, W = _.pow, X = _.abs, v = _.ceil, w = _.floor, K = _.E, I = _.LN10, J = _.LN2, C = J / I, S = 1e-9, E = 5, F = 2, T = {0: "⁰", 1: "¹", 2: "²", 3: "³", 4: "⁴", 5: "⁵", 6: "⁶", 7: "⁷", 8: "⁸", 9: "⁹", "-": "⁻"}; return t }), i("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 (e) { function t(e, t, i, a, o) { n.call(this, e, t, i, a, o), this.refresh(a) } function i(e, t, i) { var n = t.x, a = t.y, r = t.width, s = t.height, l = s / 2; t.symbol.match("empty") && (e.fillStyle = "#fff"), t.brushType = "both"; var h = t.symbol.replace("empty", "").toLowerCase(); h.match("star") ? (l = h.replace("star", "") - 0 || 5, a -= 1, h = "star") : ("rectangle" === h || "arrow" === h) && (n += (r - s) / 2, r = s); var m = ""; if (h.match("image") && (m = h.replace(new RegExp("^image:\\/\\/"), ""), h = "image", n += Math.round((r - s) / 2) - 1, r = s += 2), h = o.prototype.iconLibrary[h]) { var V = t.x, U = t.y; e.moveTo(V, U + l), e.lineTo(V + 5, U + l), e.moveTo(V + t.width - 5, U + l), e.lineTo(V + t.width, U + l); var d = this; h(e, {x: n + 4, y: a + 4, width: r - 8, height: s - 8, n: l, image: m}, function () { d.modSelf(), i() }) } else e.moveTo(n, a + l), e.lineTo(n + r, a + l) } var n = e("./base"), a = e("zrender/shape/Polyline"), o = e("../util/shape/Icon"), r = e("../util/shape/HalfSmoothPolygon"); e("../component/axis"), e("../component/grid"), e("../component/dataZoom"); var s = e("../config"); s.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 l = e("../util/ecData"), h = e("zrender/tool/util"), m = e("zrender/tool/color"); return t.prototype = { type: s.CHART_TYPE_LINE, _buildShape: function () { this.finalPLMap = {}, this._buildPosition() }, _buildHorizontal: function (e, t, i, n) { for (var a, o, r, s, l, h, m, V, U, d = this.series, p = i[0][0], c = d[p], u = this.component.xAxis.getAxis(c.xAxisIndex || 0), y = {}, g = 0, b = t; b > g && null != u.getNameByIndex(g); g++) { o = u.getCoordByIndex(g); for (var f = 0, k = i.length; k > f; f++) { a = this.component.yAxis.getAxis(d[i[f][0]].yAxisIndex || 0), l = s = m = h = a.getCoord(0); for (var x = 0, _ = i[f].length; _ > x; x++) p = i[f][x], c = d[p], V = c.data[g], U = this.getDataFromOption(V, "-"), y[p] = y[p] || [], n[p] = n[p] || { min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY, sum: 0, counter: 0, average: 0 }, "-" !== U ? (U >= 0 ? (s -= x > 0 ? a.getCoordSize(U) : l - a.getCoord(U), r = s) : 0 > U && (h += x > 0 ? a.getCoordSize(U) : a.getCoord(U) - m, r = h), y[p].push([o, r, g, u.getNameByIndex(g), o, l]), n[p].min > U && (n[p].min = U, n[p].minY = r, n[p].minX = o), n[p].max < U && (n[p].max = U, n[p].maxY = r, n[p].maxX = o), n[p].sum += U, n[p].counter++) : y[p].length > 0 && (this.finalPLMap[p] = this.finalPLMap[p] || [], this.finalPLMap[p].push(y[p]), y[p] = []) } s = this.component.grid.getY(); for (var L, f = 0, k = i.length; k > f; f++) for (var x = 0, _ = i[f].length; _ > x; x++) p = i[f][x], c = d[p], V = c.data[g], U = this.getDataFromOption(V, "-"), "-" == U && this.deepQuery([V, c, this.option], "calculable") && (L = this.deepQuery([V, c], "symbolSize"), s += 2 * L + 5, r = s, this.shapeList.push(this._getCalculableItem(p, g, u.getNameByIndex(g), o, r, "horizontal"))) } for (var W in y) y[W].length > 0 && (this.finalPLMap[W] = this.finalPLMap[W] || [], this.finalPLMap[W].push(y[W]), y[W] = []); this._calculMarkMapXY(n, i, "y"), this._buildBorkenLine(e, this.finalPLMap, u, "horizontal") }, _buildVertical: function (e, t, i, n) { for (var a, o, r, s, l, h, m, V, U, d = this.series, p = i[0][0], c = d[p], u = this.component.yAxis.getAxis(c.yAxisIndex || 0), y = {}, g = 0, b = t; b > g && null != u.getNameByIndex(g); g++) { r = u.getCoordByIndex(g); for (var f = 0, k = i.length; k > f; f++) { a = this.component.xAxis.getAxis(d[i[f][0]].xAxisIndex || 0), l = s = m = h = a.getCoord(0); for (var x = 0, _ = i[f].length; _ > x; x++) p = i[f][x], c = d[p], V = c.data[g], U = this.getDataFromOption(V, "-"), y[p] = y[p] || [], n[p] = n[p] || { min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY, sum: 0, counter: 0, average: 0 }, "-" !== U ? (U >= 0 ? (s += x > 0 ? a.getCoordSize(U) : a.getCoord(U) - l, o = s) : 0 > U && (h -= x > 0 ? a.getCoordSize(U) : m - a.getCoord(U), o = h), y[p].push([o, r, g, u.getNameByIndex(g), l, r]), n[p].min > U && (n[p].min = U, n[p].minX = o, n[p].minY = r), n[p].max < U && (n[p].max = U, n[p].maxX = o, n[p].maxY = r), n[p].sum += U, n[p].counter++) : y[p].length > 0 && (this.finalPLMap[p] = this.finalPLMap[p] || [], this.finalPLMap[p].push(y[p]), y[p] = []) } s = this.component.grid.getXend(); for (var L, f = 0, k = i.length; k > f; f++) for (var x = 0, _ = i[f].length; _ > x; x++) p = i[f][x], c = d[p], V = c.data[g], U = this.getDataFromOption(V, "-"), "-" == U && this.deepQuery([V, c, this.option], "calculable") && (L = this.deepQuery([V, c], "symbolSize"), s -= 2 * L + 5, o = s, this.shapeList.push(this._getCalculableItem(p, g, u.getNameByIndex(g), o, r, "vertical"))) } for (var W in y) y[W].length > 0 && (this.finalPLMap[W] = this.finalPLMap[W] || [], this.finalPLMap[W].push(y[W]), y[W] = []); this._calculMarkMapXY(n, i, "x"), this._buildBorkenLine(e, this.finalPLMap, u, "vertical") }, _buildOther: function (e, t, i, n) { for (var a, o = this.series, r = {}, s = 0, l = i.length; l > s; s++) for (var h = 0, m = i[s].length; m > h; h++) { var V = i[s][h], U = o[V]; a = this.component.xAxis.getAxis(U.xAxisIndex || 0); var d = this.component.yAxis.getAxis(U.yAxisIndex || 0), p = d.getCoord(0); r[V] = r[V] || [], n[V] = n[V] || { 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 c = 0, u = U.data.length; u > c; c++) { var y = U.data[c], g = this.getDataFromOption(y, "-"); if (g instanceof Array) { var b = a.getCoord(g[0]), f = d.getCoord(g[1]); r[V].push([b, f, c, g[0], b, p]), n[V].min0 > g[0] && (n[V].min0 = g[0], n[V].minY0 = f, n[V].minX0 = b), n[V].max0 < g[0] && (n[V].max0 = g[0], n[V].maxY0 = f, n[V].maxX0 = b), n[V].sum0 += g[0], n[V].counter0++, n[V].min1 > g[1] && (n[V].min1 = g[1], n[V].minY1 = f, n[V].minX1 = b), n[V].max1 < g[1] && (n[V].max1 = g[1], n[V].maxY1 = f, n[V].maxX1 = b), n[V].sum1 += g[1], n[V].counter1++ } } } for (var k in r) r[k].length > 0 && (this.finalPLMap[k] = this.finalPLMap[k] || [], this.finalPLMap[k].push(r[k]), r[k] = []); this._calculMarkMapXY(n, i, "xy"), this._buildBorkenLine(e, this.finalPLMap, a, "other") }, _buildBorkenLine: function (e, t, i, n) { for (var o, s = "other" == n ? "horizontal" : n, V = this.series, U = e.length - 1; U >= 0; U--) { var d = e[U], p = V[d], c = t[d]; if (p.type === this.type && null != c) for (var u = this._getBbox(d, s), y = this._sIndex2ColorMap[d], g = this.query(p, "itemStyle.normal.lineStyle.width"), b = this.query(p, "itemStyle.normal.lineStyle.type"), f = this.query(p, "itemStyle.normal.lineStyle.color"), k = this.getItemStyleColor(this.query(p, "itemStyle.normal.color"), d, -1), x = null != this.query(p, "itemStyle.normal.areaStyle"), _ = this.query(p, "itemStyle.normal.areaStyle.color"), L = 0, W = c.length; W > L; L++) { var X = c[L], v = "other" != n && this._isLarge(s, X); if (v) X = this._getLargePointList(s, X, p.dataFilter); else for (var w = 0, K = X.length; K > w; w++) o = p.data[X[w][2]], (this.deepQuery([o, p, this.option], "calculable") || this.deepQuery([o, p], "showAllSymbol") || "categoryAxis" === i.type && i.isMainAxis(X[w][2]) && "none" != this.deepQuery([o, p], "symbol")) && this.shapeList.push(this._getSymbol(d, X[w][2], X[w][3], X[w][0], X[w][1], s)); var I = new a({ zlevel: p.zlevel, z: p.z, style: { miterLimit: g, pointList: X, strokeColor: f || k || y, lineWidth: g, lineType: b, smooth: this._getSmooth(p.smooth), smoothConstraint: u, shadowColor: this.query(p, "itemStyle.normal.lineStyle.shadowColor"), shadowBlur: this.query(p, "itemStyle.normal.lineStyle.shadowBlur"), shadowOffsetX: this.query(p, "itemStyle.normal.lineStyle.shadowOffsetX"), shadowOffsetY: this.query(p, "itemStyle.normal.lineStyle.shadowOffsetY") }, hoverable: !1, _main: !0, _seriesIndex: d, _orient: s }); if (l.pack(I, V[d], d, 0, L, V[d].name), this.shapeList.push(I), x) { var J = new r({ zlevel: p.zlevel, z: p.z, style: { miterLimit: g, pointList: h.clone(X).concat([[X[X.length - 1][4], X[X.length - 1][5]], [X[0][4], X[0][5]]]), brushType: "fill", smooth: this._getSmooth(p.smooth), smoothConstraint: u, color: _ ? _ : m.alpha(y, .5) }, highlightStyle: {brushType: "fill"}, hoverable: !1, _main: !0, _seriesIndex: d, _orient: s }); l.pack(J, V[d], d, 0, L, V[d].name), this.shapeList.push(J) } } } }, _getBbox: function (e, t) { var i = this.component.grid.getBbox(), n = this.xMarkMap[e]; return null != n.minX0 ? [[Math.min(n.minX0, n.maxX0, n.minX1, n.maxX1), Math.min(n.minY0, n.maxY0, n.minY1, n.maxY1)], [Math.max(n.minX0, n.maxX0, n.minX1, n.maxX1), Math.max(n.minY0, n.maxY0, n.minY1, n.maxY1)]] : ("horizontal" === t ? (i[0][1] = Math.min(n.minY, n.maxY), i[1][1] = Math.max(n.minY, n.maxY)) : (i[0][0] = Math.min(n.minX, n.maxX), i[1][0] = Math.max(n.minX, n.maxX)), i) }, _isLarge: function (e, t) { return t.length < 2 ? !1 : "horizontal" === e ? Math.abs(t[0][0] - t[1][0]) < .5 : Math.abs(t[0][1] - t[1][1]) < .5 }, _getLargePointList: function (e, t, i) { var n; n = "horizontal" === e ? this.component.grid.getWidth() : this.component.grid.getHeight(); var a = t.length, o = []; if ("function" != typeof i) switch (i) { case"min": i = function (e) { return Math.max.apply(null, e) }; break; case"max": i = function (e) { return Math.min.apply(null, e) }; break; case"average": i = function (e) { for (var t = 0, i = 0; i < e.length; i++) t += e[i]; return t / e.length }; break; default: i = function (e) { return e[0] } } for (var r = [], s = 0; n > s; s++) { var l = Math.floor(a / n * s), h = Math.min(Math.floor(a / n * (s + 1)), a); if (!(l >= h)) { for (var m = l; h > m; m++) r[m - l] = "horizontal" === e ? t[m][1] : t[m][0]; r.length = h - l; for (var V = i(r), U = -1, d = 1 / 0, m = l; h > m; m++) { var p = "horizontal" === e ? t[m][1] : t[m][0], c = Math.abs(p - V); d > c && (U = m, d = c) } var u = t[U].slice(); "horizontal" === e ? u[1] = V : u[0] = V, o.push(u) } } return o }, _getSmooth: function (e) { return e ? .3 : 0 }, _getCalculableItem: function (e, t, i, n, a, o) { var r = this.series, l = r[e].calculableHolderColor || this.ecTheme.calculableHolderColor || s.calculableHolderColor, h = this._getSymbol(e, t, i, n, a, o); return h.style.color = l, h.style.strokeColor = l, h.rotation = [0, 0], h.hoverable = !1, h.draggable = !1, h.style.text = void 0, h }, _getSymbol: function (e, t, i, n, a, o) { var r = this.series, s = r[e], l = s.data[t], h = this.getSymbolShape(s, e, l, t, i, n, a, this._sIndex2ShapeMap[e], this._sIndex2ColorMap[e], "#fff", "vertical" === o ? "horizontal" : "vertical"); return h.zlevel = s.zlevel, h.z = s.z + 1, this.deepQuery([l, s, this.option], "calculable") && (this.setCalculable(h), h.draggable = !0), h }, getMarkCoord: function (e, t) { var i = this.series[e], n = this.xMarkMap[e], a = this.component.xAxis.getAxis(i.xAxisIndex), o = this.component.yAxis.getAxis(i.yAxisIndex); if (t.type && ("max" === t.type || "min" === t.type || "average" === t.type)) { var r = null != t.valueIndex ? t.valueIndex : null != n.maxX0 ? "1" : ""; return [n[t.type + "X" + r], n[t.type + "Y" + r], n[t.type + "Line" + r], n[t.type + r]] } return ["string" != typeof t.xAxis && a.getCoordByIndex ? a.getCoordByIndex(t.xAxis || 0) : a.getCoord(t.xAxis || 0), "string" != typeof t.yAxis && o.getCoordByIndex ? o.getCoordByIndex(t.yAxis || 0) : o.getCoord(t.yAxis || 0)] }, refresh: function (e) { e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape() }, ontooltipHover: function (e, t) { for (var i, n, a = e.seriesIndex, o = e.dataIndex, r = a.length; r--;) if (i = this.finalPLMap[a[r]]) for (var s = 0, l = i.length; l > s; s++) { n = i[s]; for (var h = 0, m = n.length; m > h; h++) o === n[h][2] && t.push(this._getSymbol(a[r], n[h][2], n[h][3], n[h][0], n[h][1], "horizontal")) } }, addDataAnimation: function (e, t) { function i() { c--, 0 === c && t && t() } function n(e) { e.style.controlPointList = null } for (var a = this.series, o = {}, r = 0, s = e.length; s > r; r++) o[e[r][0]] = e[r]; for (var l, h, m, V, U, d, p, c = 0, r = this.shapeList.length - 1; r >= 0; r--) if (U = this.shapeList[r]._seriesIndex, o[U] && !o[U][3]) { if (this.shapeList[r]._main && this.shapeList[r].style.pointList.length > 1) { if (d = this.shapeList[r].style.pointList, h = Math.abs(d[0][0] - d[1][0]), V = Math.abs(d[0][1] - d[1][1]), p = "horizontal" === this.shapeList[r]._orient, o[U][2]) { if ("half-smooth-polygon" === this.shapeList[r].type) { var u = d.length; this.shapeList[r].style.pointList[u - 3] = d[u - 2], this.shapeList[r].style.pointList[u - 3][p ? 0 : 1] = d[u - 4][p ? 0 : 1], this.shapeList[r].style.pointList[u - 2] = d[u - 1] } this.shapeList[r].style.pointList.pop(), p ? (l = h, m = 0) : (l = 0, m = -V) } else { if (this.shapeList[r].style.pointList.shift(), "half-smooth-polygon" === this.shapeList[r].type) { var y = this.shapeList[r].style.pointList.pop(); p ? y[0] = d[0][0] : y[1] = d[0][1], this.shapeList[r].style.pointList.push(y) } p ? (l = -h, m = 0) : (l = 0, m = V) } this.shapeList[r].style.controlPointList = null, this.zr.modShape(this.shapeList[r]) } else { if (o[U][2] && this.shapeList[r]._dataIndex === a[U].data.length - 1) { this.zr.delShape(this.shapeList[r].id); continue } if (!o[U][2] && 0 === this.shapeList[r]._dataIndex) { this.zr.delShape(this.shapeList[r].id); continue } } this.shapeList[r].position = [0, 0], c++, this.zr.animate(this.shapeList[r].id, "").when(this.query(this.option, "animationDurationUpdate"), {position: [l, m]}).during(n).done(i).start() } c || t && t() } }, o.prototype.iconLibrary.legendLineIcon = i, h.inherits(t, n), e("../chart").define("line", t), t }), i("echarts/util/shape/HalfSmoothPolygon", ["require", "zrender/shape/Base", "zrender/shape/util/smoothBezier", "zrender/tool/util", "zrender/shape/Polygon"], function (e) { function t(e) { i.call(this, e) } var i = e("zrender/shape/Base"), n = e("zrender/shape/util/smoothBezier"), a = e("zrender/tool/util"); return t.prototype = { type: "half-smooth-polygon", buildPath: function (t, i) { var a = i.pointList; if (!(a.length < 2)) if (i.smooth) { var o = n(a.slice(0, -2), i.smooth, !1, i.smoothConstraint); t.moveTo(a[0][0], a[0][1]); for (var r, s, l, h = a.length, m = 0; h - 3 > m; m++) r = o[2 * m], s = o[2 * m + 1], l = a[m + 1], t.bezierCurveTo(r[0], r[1], s[0], s[1], l[0], l[1]); t.lineTo(a[h - 2][0], a[h - 2][1]), t.lineTo(a[h - 1][0], a[h - 1][1]), t.lineTo(a[0][0], a[0][1]) } else e("zrender/shape/Polygon").prototype.buildPath(t, i) } }, a.inherits(t, i), t }), i("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 (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.refresh(a) } var i = e("./base"), n = e("zrender/shape/Rectangle"); e("../component/axis"), e("../component/grid"), e("../component/dataZoom"); var a = e("../config"); a.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 o = e("../util/ecData"), r = e("zrender/tool/util"), s = e("zrender/tool/color"); return t.prototype = { type: a.CHART_TYPE_BAR, _buildShape: function () { this._buildPosition() }, _buildNormal: function (e, t, i, o, r) { for (var s, l, h, m, V, U, d, p, c, u, y, g, b = this.series, f = i[0][0], k = b[f], x = "horizontal" == r, _ = this.component.xAxis, L = this.component.yAxis, W = x ? _.getAxis(k.xAxisIndex) : L.getAxis(k.yAxisIndex), X = this._mapSize(W, i), v = X.gap, w = X.barGap, K = X.barWidthMap, I = X.barMaxWidthMap, J = X.barWidth, C = X.barMinHeightMap, S = X.interval, E = this.deepQuery([this.ecTheme, a], "island.r"), F = 0, T = t; T > F && null != W.getNameByIndex(F); F++) { x ? m = W.getCoordByIndex(F) - v / 2 : V = W.getCoordByIndex(F) + v / 2; for (var z = 0, A = i.length; A > z; z++) { var M = b[i[z][0]].yAxisIndex || 0, O = b[i[z][0]].xAxisIndex || 0; s = x ? L.getAxis(M) : _.getAxis(O), d = U = c = p = s.getCoord(0); for (var P = 0, D = i[z].length; D > P; P++) f = i[z][P], k = b[f], y = k.data[F], g = this.getDataFromOption(y, "-"), o[f] = o[f] || { min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY, sum: 0, counter: 0, average: 0 }, h = Math.min(I[f] || Number.MAX_VALUE, K[f] || J), "-" !== g && (g > 0 ? (l = P > 0 ? s.getCoordSize(g) : x ? d - s.getCoord(g) : s.getCoord(g) - d, 1 === D && C[f] > l && (l = C[f]), x ? (U -= l, V = U) : (m = U, U += l)) : 0 > g ? (l = P > 0 ? s.getCoordSize(g) : x ? s.getCoord(g) - c : c - s.getCoord(g), 1 === D && C[f] > l && (l = C[f]), x ? (V = p, p += l) : (p -= l, m = p)) : (l = 0, x ? (U -= l, V = U) : (m = U, U += l)), o[f][F] = x ? m + h / 2 : V - h / 2, o[f].min > g && (o[f].min = g, x ? (o[f].minY = V, o[f].minX = o[f][F]) : (o[f].minX = m + l, o[f].minY = o[f][F])), o[f].max < g && (o[f].max = g, x ? (o[f].maxY = V, o[f].maxX = o[f][F]) : (o[f].maxX = m + l, o[f].maxY = o[f][F])), o[f].sum += g, o[f].counter++, F % S === 0 && (u = this._getBarItem(f, F, W.getNameByIndex(F), m, V - (x ? 0 : h), x ? h : l, x ? l : h, x ? "vertical" : "horizontal"), this.shapeList.push(new n(u)))); for (var P = 0, D = i[z].length; D > P; P++) f = i[z][P], k = b[f], y = k.data[F], g = this.getDataFromOption(y, "-"), h = Math.min(I[f] || Number.MAX_VALUE, K[f] || J), "-" == g && this.deepQuery([y, k, this.option], "calculable") && (x ? (U -= E, V = U) : (m = U, U += E), u = this._getBarItem(f, F, W.getNameByIndex(F), m, V - (x ? 0 : h), x ? h : E, x ? E : h, x ? "vertical" : "horizontal"), u.hoverable = !1, u.draggable = !1, u.style.lineWidth = 1, u.style.brushType = "stroke", u.style.strokeColor = k.calculableHolderColor || this.ecTheme.calculableHolderColor || a.calculableHolderColor, this.shapeList.push(new n(u))); x ? m += h + w : V -= h + w } } this._calculMarkMapXY(o, i, x ? "y" : "x") }, _buildHorizontal: function (e, t, i, n) { return this._buildNormal(e, t, i, n, "horizontal") }, _buildVertical: function (e, t, i, n) { return this._buildNormal(e, t, i, n, "vertical") }, _buildOther: function (e, t, i, a) { for (var o = this.series, r = 0, s = i.length; s > r; r++) for (var l = 0, h = i[r].length; h > l; l++) { var m = i[r][l], V = o[m], U = V.xAxisIndex || 0, d = this.component.xAxis.getAxis(U), p = d.getCoord(0), c = V.yAxisIndex || 0, u = this.component.yAxis.getAxis(c), y = u.getCoord(0); a[m] = a[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 g = 0, b = V.data.length; b > g; g++) { var f = V.data[g], k = this.getDataFromOption(f, "-"); if (k instanceof Array) { var x, _, L = d.getCoord(k[0]), W = u.getCoord(k[1]), X = [f, V], v = this.deepQuery(X, "barWidth") || 10, w = this.deepQuery(X, "barHeight"); null != w ? (x = "horizontal", k[0] > 0 ? (v = L - p, L -= v) : v = k[0] < 0 ? p - L : 0, _ = this._getBarItem(m, g, k[0], L, W - w / 2, v, w, x)) : (x = "vertical", k[1] > 0 ? w = y - W : k[1] < 0 ? (w = W - y, W -= w) : w = 0, _ = this._getBarItem(m, g, k[0], L - v / 2, W, v, w, x)), this.shapeList.push(new n(_)), L = d.getCoord(k[0]), W = u.getCoord(k[1]), a[m].min0 > k[0] && (a[m].min0 = k[0], a[m].minY0 = W, a[m].minX0 = L), a[m].max0 < k[0] && (a[m].max0 = k[0], a[m].maxY0 = W, a[m].maxX0 = L), a[m].sum0 += k[0], a[m].counter0++, a[m].min1 > k[1] && (a[m].min1 = k[1], a[m].minY1 = W, a[m].minX1 = L), a[m].max1 < k[1] && (a[m].max1 = k[1], a[m].maxY1 = W, a[m].maxX1 = L), a[m].sum1 += k[1], a[m].counter1++ } } } this._calculMarkMapXY(a, i, "xy") }, _mapSize: function (e, t, i) { var n, a, o = this._findSpecialBarSzie(t, i), r = o.barWidthMap, s = o.barMaxWidthMap, l = o.barMinHeightMap, h = o.sBarWidthCounter, m = o.sBarWidthTotal, V = o.barGap, U = o.barCategoryGap, d = 1; if (t.length != h) { if (i) n = e.getGap(), V = 0, a = +(n / t.length).toFixed(2), 0 >= a && (d = Math.floor(t.length / n), a = 1); else if (n = "string" == typeof U && U.match(/%$/) ? (e.getGap() * (100 - parseFloat(U)) / 100).toFixed(2) - 0 : e.getGap() - U, "string" == typeof V && V.match(/%$/) ? (V = parseFloat(V) / 100, a = +((n - m) / ((t.length - 1) * V + t.length - h)).toFixed(2), V = a * V) : (V = parseFloat(V), a = +((n - m - V * (t.length - 1)) / (t.length - h)).toFixed(2)), 0 >= a) return this._mapSize(e, t, !0) } else if (n = h > 1 ? "string" == typeof U && U.match(/%$/) ? +(e.getGap() * (100 - parseFloat(U)) / 100).toFixed(2) : e.getGap() - U : m, a = 0, V = h > 1 ? +((n - m) / (h - 1)).toFixed(2) : 0, 0 > V) return this._mapSize(e, t, !0); return this._recheckBarMaxWidth(t, r, s, l, n, a, V, d) }, _findSpecialBarSzie: function (e, t) { for (var i, n, a, o, r = this.series, s = {}, l = {}, h = {}, m = 0, V = 0, U = 0, d = e.length; d > U; U++) for (var p = { barWidth: !1, barMaxWidth: !1 }, c = 0, u = e[U].length; u > c; c++) { var y = e[U][c], g = r[y]; if (!t) { if (p.barWidth) s[y] = i; else if (i = this.query(g, "barWidth"), null != i) { s[y] = i, V += i, m++, p.barWidth = !0; for (var b = 0, f = c; f > b; b++) { var k = e[U][b]; s[k] = i } } if (p.barMaxWidth) l[y] = n; else if (n = this.query(g, "barMaxWidth"), null != n) { l[y] = n, p.barMaxWidth = !0; for (var b = 0, f = c; f > b; b++) { var k = e[U][b]; l[k] = n } } } h[y] = this.query(g, "barMinHeight"), a = null != a ? a : this.query(g, "barGap"), o = null != o ? o : this.query(g, "barCategoryGap") } return { barWidthMap: s, barMaxWidthMap: l, barMinHeightMap: h, sBarWidth: i, sBarMaxWidth: n, sBarWidthCounter: m, sBarWidthTotal: V, barGap: a, barCategoryGap: o } }, _recheckBarMaxWidth: function (e, t, i, n, a, o, r, s) { for (var l = 0, h = e.length; h > l; l++) { var m = e[l][0]; i[m] && i[m] < o && (a -= o - i[m]) } return { barWidthMap: t, barMaxWidthMap: i, barMinHeightMap: n, gap: a, barWidth: o, barGap: r, interval: s } }, _getBarItem: function (e, t, i, n, a, r, l, h) { var m, V = this.series, U = V[e], d = U.data[t], p = this._sIndex2ColorMap[e], c = [d, U], u = this.deepMerge(c, "itemStyle.normal"), y = this.deepMerge(c, "itemStyle.emphasis"), g = u.barBorderWidth; m = { zlevel: U.zlevel, z: U.z, clickable: this.deepQuery(c, "clickable"), style: { x: n, y: a, width: r, height: l, brushType: "both", color: this.getItemStyleColor(this.deepQuery(c, "itemStyle.normal.color") || p, e, t, d), radius: u.barBorderRadius, lineWidth: g, strokeColor: u.barBorderColor }, highlightStyle: { color: this.getItemStyleColor(this.deepQuery(c, "itemStyle.emphasis.color"), e, t, d), radius: y.barBorderRadius, lineWidth: y.barBorderWidth, strokeColor: y.barBorderColor }, _orient: h }; var b = m.style; m.highlightStyle.color = m.highlightStyle.color || ("string" == typeof b.color ? s.lift(b.color, -.3) : b.color), b.x = Math.floor(b.x), b.y = Math.floor(b.y), b.height = Math.ceil(b.height), b.width = Math.ceil(b.width), g > 0 && b.height > g && b.width > g ? (b.y += g / 2, b.height -= g, b.x += g / 2, b.width -= g) : b.brushType = "fill", m.highlightStyle.textColor = m.highlightStyle.color, m = this.addLabel(m, U, d, i, h); for (var f = [b, m.highlightStyle], k = 0, x = f.length; x > k; k++) { var _ = f[k].textPosition; if ("insideLeft" === _ || "insideRight" === _ || "insideTop" === _ || "insideBottom" === _) { var L = 5; switch (_) { case"insideLeft": f[k].textX = b.x + L, f[k].textY = b.y + b.height / 2, f[k].textAlign = "left", f[k].textBaseline = "middle"; break; case"insideRight": f[k].textX = b.x + b.width - L, f[k].textY = b.y + b.height / 2, f[k].textAlign = "right", f[k].textBaseline = "middle"; break; case"insideTop": f[k].textX = b.x + b.width / 2, f[k].textY = b.y + L / 2, f[k].textAlign = "center", f[k].textBaseline = "top"; break; case"insideBottom": f[k].textX = b.x + b.width / 2, f[k].textY = b.y + b.height - L / 2, f[k].textAlign = "center", f[k].textBaseline = "bottom" } f[k].textPosition = "specific", f[k].textColor = f[k].textColor || "#fff" } } return this.deepQuery([d, U, this.option], "calculable") && (this.setCalculable(m), m.draggable = !0), o.pack(m, V[e], e, V[e].data[t], t, i), m }, getMarkCoord: function (e, t) { var i, n, a = this.series[e], o = this.xMarkMap[e], r = this.component.xAxis.getAxis(a.xAxisIndex), s = this.component.yAxis.getAxis(a.yAxisIndex); if (!t.type || "max" !== t.type && "min" !== t.type && "average" !== t.type) if (o.isHorizontal) { i = "string" == typeof t.xAxis && r.getIndexByName ? r.getIndexByName(t.xAxis) : t.xAxis || 0; var l = o[i]; l = null != l ? l : "string" != typeof t.xAxis && r.getCoordByIndex ? r.getCoordByIndex(t.xAxis || 0) : r.getCoord(t.xAxis || 0), n = [l, s.getCoord(t.yAxis || 0)] } else { i = "string" == typeof t.yAxis && s.getIndexByName ? s.getIndexByName(t.yAxis) : t.yAxis || 0; var h = o[i]; h = null != h ? h : "string" != typeof t.yAxis && s.getCoordByIndex ? s.getCoordByIndex(t.yAxis || 0) : s.getCoord(t.yAxis || 0), n = [r.getCoord(t.xAxis || 0), h] } else { var m = null != t.valueIndex ? t.valueIndex : null != o.maxX0 ? "1" : ""; n = [o[t.type + "X" + m], o[t.type + "Y" + m], o[t.type + "Line" + m], o[t.type + m]] } return n }, refresh: function (e) { e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape() }, addDataAnimation: function (e, t) { function i() { c--, 0 === c && t && t() } for (var n = this.series, a = {}, r = 0, s = e.length; s > r; r++) a[e[r][0]] = e[r]; for (var l, h, m, V, U, d, p, c = 0, r = this.shapeList.length - 1; r >= 0; r--) if (d = o.get(this.shapeList[r], "seriesIndex"), a[d] && !a[d][3] && "rectangle" === this.shapeList[r].type) { if (p = o.get(this.shapeList[r], "dataIndex"), U = n[d], a[d][2] && p === U.data.length - 1) { this.zr.delShape(this.shapeList[r].id); continue } if (!a[d][2] && 0 === p) { this.zr.delShape(this.shapeList[r].id); continue } "horizontal" === this.shapeList[r]._orient ? (V = this.component.yAxis.getAxis(U.yAxisIndex || 0).getGap(), m = a[d][2] ? -V : V, l = 0) : (h = this.component.xAxis.getAxis(U.xAxisIndex || 0).getGap(), l = a[d][2] ? h : -h, m = 0), this.shapeList[r].position = [0, 0], c++, this.zr.animate(this.shapeList[r].id, "").when(this.query(this.option, "animationDurationUpdate"), {position: [l, m]}).done(i).start() } c || t && t() } }, r.inherits(t, i), e("../chart").define("bar", t), t }), i("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 (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.refresh(a) } var i = e("./base"), n = e("../util/shape/Symbol"); e("../component/axis"), e("../component/grid"), e("../component/dataZoom"), e("../component/dataRange"); var a = e("../config"); a.scatter = { zlevel: 0, z: 2, clickable: !0, legendHoverLink: !0, xAxisIndex: 0, yAxisIndex: 0, symbolSize: 4, large: !1, largeThreshold: 2e3, itemStyle: {normal: {label: {show: !1}}, emphasis: {label: {show: !1}}} }; var o = e("zrender/tool/util"), r = e("zrender/tool/color"); return t.prototype = { type: a.CHART_TYPE_SCATTER, _buildShape: function () { var e = this.series; this._sIndex2ColorMap = {}, this._symbol = this.option.symbolList, this._sIndex2ShapeMap = {}, this.selectedMap = {}, this.xMarkMap = {}; for (var t, i, n, o, s = this.component.legend, l = [], h = 0, m = e.length; m > h; h++) if (t = e[h], i = t.name, t.type === a.CHART_TYPE_SCATTER) { if (e[h] = this.reformOption(e[h]), this.legendHoverLink = e[h].legendHoverLink || this.legendHoverLink, this._sIndex2ShapeMap[h] = this.query(t, "symbol") || this._symbol[h % this._symbol.length], s) { if (this.selectedMap[i] = s.isSelected(i), this._sIndex2ColorMap[h] = r.alpha(s.getColor(i), .5), n = s.getItemShape(i)) { var o = this._sIndex2ShapeMap[h]; n.style.brushType = o.match("empty") ? "stroke" : "both", o = o.replace("empty", "").toLowerCase(), o.match("rectangle") && (n.style.x += Math.round((n.style.width - n.style.height) / 2), n.style.width = n.style.height), o.match("star") && (n.style.n = o.replace("star", "") - 0 || 5, o = "star"), o.match("image") && (n.style.image = o.replace(new RegExp("^image:\\/\\/"), ""), n.style.x += Math.round((n.style.width - n.style.height) / 2), n.style.width = n.style.height, o = "image"), n.style.iconType = o, s.setItemShape(i, n) } } else this.selectedMap[i] = !0, this._sIndex2ColorMap[h] = r.alpha(this.zr.getColor(h), .5); this.selectedMap[i] && l.push(h) } this._buildSeries(l), this.addShapeList() }, _buildSeries: function (e) { if (0 !== e.length) { for (var t, i, n, a, o, r, s, l, h = this.series, m = {}, V = 0, U = e.length; U > V; V++) if (t = e[V], i = h[t], 0 !== i.data.length) { o = this.component.xAxis.getAxis(i.xAxisIndex || 0), r = this.component.yAxis.getAxis(i.yAxisIndex || 0), m[t] = []; for (var d = 0, p = i.data.length; p > d; d++) n = i.data[d], a = this.getDataFromOption(n, "-"), "-" === a || a.length < 2 || (s = o.getCoord(a[0]), l = r.getCoord(a[1]), m[t].push([s, l, d, n.name || ""])); this.xMarkMap[t] = this._markMap(o, r, i.data, m[t]), this.buildMark(t) } this._buildPointList(m) } }, _markMap: function (e, t, i, n) { for (var a, o = { 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 }, r = 0, s = n.length; s > r; r++) a = i[n[r][2]].value || i[n[r][2]], o.min0 > a[0] && (o.min0 = a[0], o.minY0 = n[r][1], o.minX0 = n[r][0]), o.max0 < a[0] && (o.max0 = a[0], o.maxY0 = n[r][1], o.maxX0 = n[r][0]), o.sum0 += a[0], o.counter0++, o.min1 > a[1] && (o.min1 = a[1], o.minY1 = n[r][1], o.minX1 = n[r][0]), o.max1 < a[1] && (o.max1 = a[1], o.maxY1 = n[r][1], o.maxX1 = n[r][0]), o.sum1 += a[1], o.counter1++; var l = this.component.grid.getX(), h = this.component.grid.getXend(), m = this.component.grid.getY(), V = this.component.grid.getYend(); o.average0 = o.sum0 / o.counter0; var U = e.getCoord(o.average0); o.averageLine0 = [[U, V], [U, m]], o.minLine0 = [[o.minX0, V], [o.minX0, m]], o.maxLine0 = [[o.maxX0, V], [o.maxX0, m]], o.average1 = o.sum1 / o.counter1; var d = t.getCoord(o.average1); return o.averageLine1 = [[l, d], [h, d]], o.minLine1 = [[l, o.minY1], [h, o.minY1]], o.maxLine1 = [[l, o.maxY1], [h, o.maxY1]], o }, _buildPointList: function (e) { var t, i, n, a, o = this.series; for (var r in e) if (t = o[r], i = e[r], t.large && t.data.length > t.largeThreshold) this.shapeList.push(this._getLargeSymbol(t, i, this.getItemStyleColor(this.query(t, "itemStyle.normal.color"), r, -1) || this._sIndex2ColorMap[r])); else for (var s = 0, l = i.length; l > s; s++) n = i[s], a = this._getSymbol(r, n[2], n[3], n[0], n[1]), a && this.shapeList.push(a) }, _getSymbol: function (e, t, i, n, a) { var o, r = this.series, s = r[e], l = s.data[t], h = this.component.dataRange; if (h) { if (o = isNaN(l[2]) ? this._sIndex2ColorMap[e] : h.getColor(l[2]), !o) return null } else o = this._sIndex2ColorMap[e]; var m = this.getSymbolShape(s, e, l, t, i, n, a, this._sIndex2ShapeMap[e], o, "rgba(0,0,0,0)", "vertical"); return m.zlevel = s.zlevel, m.z = s.z, m._main = !0, m }, _getLargeSymbol: function (e, t, i) { return new n({ zlevel: e.zlevel, z: e.z, _main: !0, hoverable: !1, style: {pointList: t, color: i, strokeColor: i}, highlightStyle: {pointList: []} }) }, getMarkCoord: function (e, t) { var i, n = this.series[e], a = this.xMarkMap[e], o = this.component.xAxis.getAxis(n.xAxisIndex), r = this.component.yAxis.getAxis(n.yAxisIndex); if (!t.type || "max" !== t.type && "min" !== t.type && "average" !== t.type) i = ["string" != typeof t.xAxis && o.getCoordByIndex ? o.getCoordByIndex(t.xAxis || 0) : o.getCoord(t.xAxis || 0), "string" != typeof t.yAxis && r.getCoordByIndex ? r.getCoordByIndex(t.yAxis || 0) : r.getCoord(t.yAxis || 0)]; else { var s = null != t.valueIndex ? t.valueIndex : 1; i = [a[t.type + "X" + s], a[t.type + "Y" + s], a[t.type + "Line" + s], a[t.type + s]] } return i }, refresh: function (e) { e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape() }, ondataRange: function (e, t) { this.component.dataRange && (this.refresh(), t.needRefresh = !0) } }, o.inherits(t, i), e("../chart").define("scatter", t), t }), i("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 (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o); var s = this; s._ondrift = function (e, t) { return s.__ondrift(this, e, t) }, s._ondragend = function () { return s.__ondragend() }, s._dataRangeSelected = function (e) { return s.__dataRangeSelected(e) }, s._dispatchHoverLink = function (e) { return s.__dispatchHoverLink(e) }, s._onhoverlink = function (e) { return s.__onhoverlink(e); }, this._selectedMap = {}, this._range = {}, this.refresh(a), t.bind(r.EVENT.HOVER, this._onhoverlink) } var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Rectangle"), o = e("../util/shape/HandlePolygon"), r = e("../config"); r.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 s = e("zrender/tool/util"), l = e("zrender/tool/event"), h = e("zrender/tool/area"), m = e("zrender/tool/color"); return t.prototype = { type: r.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 e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e]); this._syncShapeFromRange() }, _buildItem: function () { var e, t, i, o, r = this._valueTextList, s = r.length, l = this.getFont(this.dataRangeOption.textStyle), m = this._itemGroupLocation.x, V = this._itemGroupLocation.y, U = this.dataRangeOption.itemWidth, d = this.dataRangeOption.itemHeight, p = this.dataRangeOption.itemGap, c = h.getTextHeight("国", l); "vertical" == this.dataRangeOption.orient && "right" == this.dataRangeOption.x && (m = this._itemGroupLocation.x + this._itemGroupLocation.width - U); var u = !0; this.dataRangeOption.text && (u = !1, this.dataRangeOption.text[0] && (i = this._getTextShape(m, V, this.dataRangeOption.text[0]), "horizontal" == this.dataRangeOption.orient ? m += h.getTextWidth(this.dataRangeOption.text[0], l) + this._textGap : (V += c + this._textGap, i.style.y += c / 2 + this._textGap, i.style.textBaseline = "bottom"), this.shapeList.push(new n(i)))); for (var y = 0; s > y; y++) e = r[y], o = this.getColorByIndex(y), t = this._getItemShape(m, V, U, d, this._selectedMap[y] ? o : "#ccc"), t._idx = y, t.onmousemove = this._dispatchHoverLink, this.dataRangeOption.selectedMode && (t.clickable = !0, t.onclick = this._dataRangeSelected), this.shapeList.push(new a(t)), u && (i = { zlevel: this.getZlevelBase(), z: this.getZBase(), style: { x: m + U + 5, y: V, color: this._selectedMap[y] ? this.dataRangeOption.textStyle.color : "#ccc", text: r[y], textFont: l, textBaseline: "top" }, highlightStyle: {brushType: "fill"} }, "vertical" == this.dataRangeOption.orient && "right" == this.dataRangeOption.x && (i.style.x -= U + 10, i.style.textAlign = "right"), i._idx = y, i.onmousemove = this._dispatchHoverLink, this.dataRangeOption.selectedMode && (i.clickable = !0, i.onclick = this._dataRangeSelected), this.shapeList.push(new n(i))), "horizontal" == this.dataRangeOption.orient ? m += U + (u ? 5 : 0) + (u ? h.getTextWidth(e, l) : 0) + p : V += d + p; !u && this.dataRangeOption.text[1] && ("horizontal" == this.dataRangeOption.orient ? m = m - p + this._textGap : V = V - p + this._textGap, i = this._getTextShape(m, V, this.dataRangeOption.text[1]), "horizontal" != this.dataRangeOption.orient && (i.style.y -= 5, i.style.textBaseline = "top"), this.shapeList.push(new n(i))) }, _buildGradient: function () { var t, i, o = this.getFont(this.dataRangeOption.textStyle), r = this._itemGroupLocation.x, s = this._itemGroupLocation.y, l = this.dataRangeOption.itemWidth, m = this.dataRangeOption.itemHeight, V = h.getTextHeight("国", o), U = 10, d = !0; this.dataRangeOption.text && (d = !1, this.dataRangeOption.text[0] && (i = this._getTextShape(r, s, this.dataRangeOption.text[0]), "horizontal" == this.dataRangeOption.orient ? r += h.getTextWidth(this.dataRangeOption.text[0], o) + this._textGap : (s += V + this._textGap, i.style.y += V / 2 + this._textGap, i.style.textBaseline = "bottom"), this.shapeList.push(new n(i)))); for (var p = e("zrender/tool/color"), c = 1 / (this.dataRangeOption.color.length - 1), u = [], y = 0, g = this.dataRangeOption.color.length; g > y; y++) u.push([y * c, this.dataRangeOption.color[y]]); "horizontal" == this.dataRangeOption.orient ? (t = { zlevel: this.getZlevelBase(), z: this.getZBase(), style: {x: r, y: s, width: l * U, height: m, color: p.getLinearGradient(r, s, r + l * U, s, u)}, hoverable: !1 }, r += l * U + this._textGap) : (t = { zlevel: this.getZlevelBase(), z: this.getZBase(), style: {x: r, y: s, width: l, height: m * U, color: p.getLinearGradient(r, s, r, s + m * U, u)}, hoverable: !1 }, s += m * U + this._textGap), this.shapeList.push(new a(t)), this._calculableLocation = t.style, this.dataRangeOption.calculable && (this._buildFiller(), this._bulidMask(), this._bulidHandle()), this._buildIndicator(), !d && this.dataRangeOption.text[1] && (i = this._getTextShape(r, s, this.dataRangeOption.text[1]), this.shapeList.push(new n(i))) }, _buildIndicator: function () { var e, t, i = this._calculableLocation.x, n = this._calculableLocation.y, a = this._calculableLocation.width, r = this._calculableLocation.height, s = 5; "horizontal" == this.dataRangeOption.orient ? "bottom" != this.dataRangeOption.y ? (e = [[i, n + r], [i - s, n + r + s], [i + s, n + r + s]], t = "bottom") : (e = [[i, n], [i - s, n - s], [i + s, n - s]], t = "top") : "right" != this.dataRangeOption.x ? (e = [[i + a, n], [i + a + s, n - s], [i + a + s, n + s]], t = "right") : (e = [[i, n], [i - s, n - s], [i - s, n + s]], t = "left"), this._indicatorShape = { style: { pointList: e, color: "#fff", __rect: { x: Math.min(e[0][0], e[1][0]), y: Math.min(e[0][1], e[1][1]), width: s * ("horizontal" == this.dataRangeOption.orient ? 2 : 1), height: s * ("horizontal" == this.dataRangeOption.orient ? 1 : 2) } }, highlightStyle: { brushType: "fill", textPosition: t, textColor: this.dataRangeOption.textStyle.color }, hoverable: !1 }, this._indicatorShape = new o(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 a(this._fillerShape), this.shapeList.push(this._fillerShape) }, _bulidHandle: function () { var e, t, i, n, a, r, s, l, m = this._calculableLocation.x, V = this._calculableLocation.y, U = this._calculableLocation.width, d = this._calculableLocation.height, p = this.getFont(this.dataRangeOption.textStyle), c = h.getTextHeight("国", p), u = Math.max(h.getTextWidth(this._textFormat(this.dataRangeOption.max), p), h.getTextWidth(this._textFormat(this.dataRangeOption.min), p)) + 2; "horizontal" == this.dataRangeOption.orient ? "bottom" != this.dataRangeOption.y ? (e = [[m, V], [m, V + d + c], [m - c, V + d + c], [m - 1, V + d], [m - 1, V]], t = m - u / 2 - c, i = V + d + c / 2 + 2, n = { x: m - u - c, y: V + d, width: u + c, height: c }, a = [[m + U, V], [m + U, V + d + c], [m + U + c, V + d + c], [m + U + 1, V + d], [m + U + 1, V]], r = m + U + u / 2 + c, s = i, l = { x: m + U, y: V + d, width: u + c, height: c }) : (e = [[m, V + d], [m, V - c], [m - c, V - c], [m - 1, V], [m - 1, V + d]], t = m - u / 2 - c, i = V - c / 2 - 2, n = { x: m - u - c, y: V - c, width: u + c, height: c }, a = [[m + U, V + d], [m + U, V - c], [m + U + c, V - c], [m + U + 1, V], [m + U + 1, V + d]], r = m + U + u / 2 + c, s = i, l = { x: m + U, y: V - c, width: u + c, height: c }) : (u += c, "right" != this.dataRangeOption.x ? (e = [[m, V], [m + U + c, V], [m + U + c, V - c], [m + U, V - 1], [m, V - 1]], t = m + U + u / 2 + c / 2, i = V - c / 2, n = { x: m + U, y: V - c, width: u + c, height: c }, a = [[m, V + d], [m + U + c, V + d], [m + U + c, V + c + d], [m + U, V + 1 + d], [m, V + d + 1]], r = t, s = V + d + c / 2, l = { x: m + U, y: V + d, width: u + c, height: c }) : (e = [[m + U, V], [m - c, V], [m - c, V - c], [m, V - 1], [m + U, V - 1]], t = m - u / 2 - c / 2, i = V - c / 2, n = { x: m - u - c, y: V - c, width: u + c, height: c }, a = [[m + U, V + d], [m - c, V + d], [m - c, V + c + d], [m, V + 1 + d], [m + U, V + d + 1]], r = t, s = V + d + c / 2, l = { x: m - u - c, y: V + d, width: u + c, height: c })), this._startShape = { style: { pointList: e, text: this._textFormat(this.dataRangeOption.max), textX: t, textY: i, textFont: p, color: this.getColor(this.dataRangeOption.max), rect: n, 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: a, text: this._textFormat(this.dataRangeOption.min), textX: r, textY: s, textFont: p, color: this.getColor(this.dataRangeOption.min), rect: l, x: a[0][0], y: a[0][1], _x: a[0][0], _y: a[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 o(this._startShape), this._endShape = new o(this._endShape), this.shapeList.push(this._startShape), this.shapeList.push(this._endShape) }, _bulidMask: function () { var e = this._calculableLocation.x, t = this._calculableLocation.y, i = this._calculableLocation.width, n = this._calculableLocation.height; this._startMask = { zlevel: this.getZlevelBase(), z: this.getZBase() + 1, style: { x: e, y: t, width: "horizontal" == this.dataRangeOption.orient ? 0 : i, height: "horizontal" == this.dataRangeOption.orient ? n : 0, color: "#ccc" }, hoverable: !1 }, this._endMask = { zlevel: this.getZlevelBase(), z: this.getZBase() + 1, style: { x: "horizontal" == this.dataRangeOption.orient ? e + i : e, y: "horizontal" == this.dataRangeOption.orient ? t : t + n, width: "horizontal" == this.dataRangeOption.orient ? 0 : i, height: "horizontal" == this.dataRangeOption.orient ? n : 0, color: "#ccc" }, hoverable: !1 }, this._startMask = new a(this._startMask), this._endMask = new a(this._endMask), this.shapeList.push(this._startMask), this.shapeList.push(this._endMask) }, _buildBackground: function () { var e = this.reformCssArray(this.dataRangeOption.padding); this.shapeList.push(new a({ zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: { x: this._itemGroupLocation.x - e[3], y: this._itemGroupLocation.y - e[0], width: this._itemGroupLocation.width + e[3] + e[1], height: this._itemGroupLocation.height + e[0] + e[2], brushType: 0 === this.dataRangeOption.borderWidth ? "fill" : "both", color: this.dataRangeOption.backgroundColor, strokeColor: this.dataRangeOption.borderColor, lineWidth: this.dataRangeOption.borderWidth } })) }, _getItemGroupLocation: function () { var e = this._valueTextList, t = e.length, i = this.dataRangeOption.itemGap, n = this.dataRangeOption.itemWidth, a = this.dataRangeOption.itemHeight, o = 0, r = 0, s = this.getFont(this.dataRangeOption.textStyle), l = h.getTextHeight("国", s), m = 10; if ("horizontal" == this.dataRangeOption.orient) { if (this.dataRangeOption.text || this._isContinuity()) o = (this._isContinuity() ? n * m + i : t * (n + i)) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[0] ? h.getTextWidth(this.dataRangeOption.text[0], s) + this._textGap : 0) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[1] ? h.getTextWidth(this.dataRangeOption.text[1], s) + this._textGap : 0); else { n += 5; for (var V = 0; t > V; V++) o += n + h.getTextWidth(e[V], s) + i } o -= i, r = Math.max(l, a) } else { var U; if (this.dataRangeOption.text || this._isContinuity()) r = (this._isContinuity() ? a * m + i : t * (a + i)) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[0] ? this._textGap + l : 0) + (this.dataRangeOption.text && "undefined" != typeof this.dataRangeOption.text[1] ? this._textGap + l : 0), U = Math.max(h.getTextWidth(this.dataRangeOption.text && this.dataRangeOption.text[0] || "", s), h.getTextWidth(this.dataRangeOption.text && this.dataRangeOption.text[1] || "", s)), o = Math.max(n, U); else { r = (a + i) * t, n += 5, U = 0; for (var V = 0; t > V; V++) U = Math.max(U, h.getTextWidth(e[V], s)); o = n + U } r -= i } var d, p = this.reformCssArray(this.dataRangeOption.padding), c = this.zr.getWidth(); switch (this.dataRangeOption.x) { case"center": d = Math.floor((c - o) / 2); break; case"left": d = p[3] + this.dataRangeOption.borderWidth; break; case"right": d = c - o - p[1] - this.dataRangeOption.borderWidth; break; default: d = this.parsePercent(this.dataRangeOption.x, c), d = isNaN(d) ? 0 : d } var u, y = this.zr.getHeight(); switch (this.dataRangeOption.y) { case"top": u = p[0] + this.dataRangeOption.borderWidth; break; case"bottom": u = y - r - p[2] - this.dataRangeOption.borderWidth; break; case"center": u = Math.floor((y - r) / 2); break; default: u = this.parsePercent(this.dataRangeOption.y, y), u = isNaN(u) ? 0 : u } if (this.dataRangeOption.calculable) { var g = Math.max(h.getTextWidth(this.dataRangeOption.max, s), h.getTextWidth(this.dataRangeOption.min, s)) + l; "horizontal" == this.dataRangeOption.orient ? (g > d && (d = g), d + o + g > c && (d -= g)) : (l > u && (u = l), u + r + l > y && (u -= l)) } return {x: d, y: u, width: o, height: r} }, _getTextShape: function (e, t, i) { return { zlevel: this.getZlevelBase(), z: this.getZBase(), style: { x: "horizontal" == this.dataRangeOption.orient ? e : this._itemGroupLocation.x + this._itemGroupLocation.width / 2, y: "horizontal" == this.dataRangeOption.orient ? this._itemGroupLocation.y + this._itemGroupLocation.height / 2 : t, color: this.dataRangeOption.textStyle.color, text: i, textFont: this.getFont(this.dataRangeOption.textStyle), textBaseline: "horizontal" == this.dataRangeOption.orient ? "middle" : "top", textAlign: "horizontal" == this.dataRangeOption.orient ? "left" : "center" }, hoverable: !1 } }, _getItemShape: function (e, t, i, n, a) { return { zlevel: this.getZlevelBase(), z: this.getZBase(), style: {x: e, y: t + 1, width: i, height: n - 2, color: a}, highlightStyle: {strokeColor: a, lineWidth: 1} } }, __ondrift: function (e, t, i) { var n = this._calculableLocation.x, a = this._calculableLocation.y, o = this._calculableLocation.width, r = this._calculableLocation.height; return "horizontal" == this.dataRangeOption.orient ? e.style.x + t <= n ? e.style.x = n : e.style.x + t + e.style.width >= n + o ? e.style.x = n + o - e.style.width : e.style.x += t : e.style.y + i <= a ? e.style.y = a : e.style.y + i + e.style.height >= a + r ? e.style.y = a + r - e.style.height : e.style.y += i, "filler" == e._type ? this._syncHandleShape() : this._syncFillerShape(e), this.dataRangeOption.realtime && this._dispatchDataRange(), !0 }, __ondragend: function () { this.isDragend = !0 }, ondragend: function (e, t) { this.isDragend && e.target && (t.dragOut = !0, t.dragIn = !0, this.dataRangeOption.realtime || this._dispatchDataRange(), t.needRefresh = !1, this.isDragend = !1) }, _syncShapeFromRange: function () { var e = this.dataRangeOption.range || {}, t = e.start, i = e.end; if (t > i && (t = [i, i = t][0]), this._range.end = null != t ? t : null != this._range.end ? this._range.end : 0, this._range.start = null != i ? i : null != this._range.start ? this._range.start : 100, 100 != this._range.start || 0 !== this._range.end) { if ("horizontal" == this.dataRangeOption.orient) { var n = this._fillerShape.style.width; this._fillerShape.style.x += n * (100 - this._range.start) / 100, this._fillerShape.style.width = n * (this._range.start - this._range.end) / 100 } else { var a = this._fillerShape.style.height; this._fillerShape.style.y += a * (100 - this._range.start) / 100, this._fillerShape.style.height = a * (this._range.start - this._range.end) / 100 } this.zr.modShape(this._fillerShape.id), this._syncHandleShape() } }, _syncHandleShape: function () { var e = this._calculableLocation.x, t = this._calculableLocation.y, i = this._calculableLocation.width, n = this._calculableLocation.height; "horizontal" == this.dataRangeOption.orient ? (this._startShape.style.x = this._fillerShape.style.x, this._startMask.style.width = this._startShape.style.x - e, this._endShape.style.x = this._fillerShape.style.x + this._fillerShape.style.width, this._endMask.style.x = this._endShape.style.x, this._endMask.style.width = e + i - this._endShape.style.x, this._range.start = Math.ceil(100 - (this._startShape.style.x - e) / i * 100), this._range.end = Math.floor(100 - (this._endShape.style.x - e) / i * 100)) : (this._startShape.style.y = this._fillerShape.style.y, this._startMask.style.height = this._startShape.style.y - t, this._endShape.style.y = this._fillerShape.style.y + this._fillerShape.style.height, this._endMask.style.y = this._endShape.style.y, this._endMask.style.height = t + n - this._endShape.style.y, this._range.start = Math.ceil(100 - (this._startShape.style.y - t) / n * 100), this._range.end = Math.floor(100 - (this._endShape.style.y - t) / n * 100)), this._syncShape() }, _syncFillerShape: function (e) { var t, i, n = this._calculableLocation.x, a = this._calculableLocation.y, o = this._calculableLocation.width, r = this._calculableLocation.height; "horizontal" == this.dataRangeOption.orient ? (t = this._startShape.style.x, i = this._endShape.style.x, e.id == this._startShape.id && t >= i ? (i = t, this._endShape.style.x = t) : e.id == this._endShape.id && t >= i && (t = i, this._startShape.style.x = t), this._fillerShape.style.x = t, this._fillerShape.style.width = i - t, this._startMask.style.width = t - n, this._endMask.style.x = i, this._endMask.style.width = n + o - i, this._range.start = Math.ceil(100 - (t - n) / o * 100), this._range.end = Math.floor(100 - (i - n) / o * 100)) : (t = this._startShape.style.y, i = this._endShape.style.y, e.id == this._startShape.id && t >= i ? (i = t, this._endShape.style.y = t) : e.id == this._endShape.id && t >= i && (t = i, this._startShape.style.y = t), this._fillerShape.style.y = t, this._fillerShape.style.height = i - t, this._startMask.style.height = t - a, this._endMask.style.y = i, this._endMask.style.height = a + r - i, this._range.start = Math.ceil(100 - (t - a) / r * 100), this._range.end = Math.floor(100 - (i - a) / r * 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(r.EVENT.DATA_RANGE, null, { range: { start: this._range.end, end: this._range.start } }, this.myChart) }, __dataRangeSelected: function (e) { if ("single" === this.dataRangeOption.selectedMode) for (var t in this._selectedMap) this._selectedMap[t] = !1; var i = e.target._idx; this._selectedMap[i] = !this._selectedMap[i]; var n, a; this._useCustomizedSplit() ? (n = this._splitList[i].max, a = this._splitList[i].min) : (n = (this._colorList.length - i) * this._gap + this.dataRangeOption.min, a = n - this._gap), this.messageCenter.dispatch(r.EVENT.DATA_RANGE_SELECTED, e.event, { selected: this._selectedMap, target: i, valueMax: n, valueMin: a }, this.myChart), this.messageCenter.dispatch(r.EVENT.REFRESH, null, null, this.myChart) }, __dispatchHoverLink: function (e) { var t, i; if (this.dataRangeOption.calculable) { var n, a = this.dataRangeOption.max - this.dataRangeOption.min; n = "horizontal" == this.dataRangeOption.orient ? (1 - (l.getX(e.event) - this._calculableLocation.x) / this._calculableLocation.width) * a : (1 - (l.getY(e.event) - this._calculableLocation.y) / this._calculableLocation.height) * a, t = n - .05 * a, i = n + .05 * a } else if (this._useCustomizedSplit()) { var o = e.target._idx; i = this._splitList[o].max, t = this._splitList[o].min } else { var o = e.target._idx; i = (this._colorList.length - o) * this._gap + this.dataRangeOption.min, t = i - this._gap } this.messageCenter.dispatch(r.EVENT.DATA_RANGE_HOVERLINK, e.event, { valueMin: t, valueMax: i }, this.myChart) }, __onhoverlink: function (e) { if (this.dataRangeOption.show && this.dataRangeOption.hoverLink && this._indicatorShape && e && null != e.seriesIndex && null != e.dataIndex) { var t = e.value; if ("" === t || isNaN(t)) return; t < this.dataRangeOption.min ? t = this.dataRangeOption.min : t > this.dataRangeOption.max && (t = this.dataRangeOption.max), this._indicatorShape.position = "horizontal" == this.dataRangeOption.orient ? [(this.dataRangeOption.max - t) / (this.dataRangeOption.max - this.dataRangeOption.min) * this._calculableLocation.width, 0] : [0, (this.dataRangeOption.max - t) / (this.dataRangeOption.max - this.dataRangeOption.min) * this._calculableLocation.height], this._indicatorShape.style.text = this._textFormat(e.value), this._indicatorShape.style.color = this.getColor(t), this.zr.addHoverShape(this._indicatorShape) } }, _textFormat: function (e, t) { var i = this.dataRangeOption; if (e !== -Number.MAX_VALUE && (e = (+e).toFixed(i.precision)), null != t && t !== Number.MAX_VALUE && (t = (+t).toFixed(i.precision)), i.formatter) { if ("string" == typeof i.formatter) return i.formatter.replace("{value}", e === -Number.MAX_VALUE ? "min" : e).replace("{value2}", t === Number.MAX_VALUE ? "max" : t); if ("function" == typeof i.formatter) return i.formatter.call(this.myChart, e, t) } return null == t ? e : e === -Number.MAX_VALUE ? "< " + t : t === Number.MAX_VALUE ? "> " + e : e + " - " + t }, _isContinuity: function () { var e = this.dataRangeOption; return !(e.splitList ? e.splitList.length > 0 : e.splitNumber > 0) || e.calculable }, _useCustomizedSplit: function () { var e = this.dataRangeOption; return e.splitList && e.splitList.length > 0 }, _buildColorList: function (e) { if (this._colorList = m.getGradientColors(this.dataRangeOption.color, Math.max((e - this.dataRangeOption.color.length) / (this.dataRangeOption.color.length - 1), 0) + 1), this._colorList.length > e) { for (var t = this._colorList.length, i = [this._colorList[0]], n = t / (e - 1), a = 1; e - 1 > a; a++) i.push(this._colorList[Math.floor(a * n)]); i.push(this._colorList[t - 1]), this._colorList = i } if (this._useCustomizedSplit()) for (var o = this._splitList, a = 0, t = o.length; t > a; a++) o[a].color && (this._colorList[a] = o[a].color) }, _buildGap: function (e) { if (!this._useCustomizedSplit()) { var t = this.dataRangeOption.precision; for (this._gap = (this.dataRangeOption.max - this.dataRangeOption.min) / e; this._gap.toFixed(t) - 0 != this._gap && 5 > t;) t++; this.dataRangeOption.precision = t, this._gap = ((this.dataRangeOption.max - this.dataRangeOption.min) / e).toFixed(t) - 0 } }, _buildDataList: function (e) { for (var t = this._valueTextList = [], i = this.dataRangeOption, n = this._useCustomizedSplit(), a = 0; e > a; a++) { this._selectedMap[a] = !0; var o = ""; if (n) { var r = this._splitList[e - 1 - a]; o = null != r.label ? r.label : null != r.single ? this._textFormat(r.single) : this._textFormat(r.min, r.max) } else o = this._textFormat(a * this._gap + i.min, (a + 1) * this._gap + i.min); t.unshift(o) } }, _buildSplitList: function () { if (this._useCustomizedSplit()) for (var e = this.dataRangeOption.splitList, t = this._splitList = [], i = 0, n = e.length; n > i; i++) { var a = e[i]; if (!a || null == a.start && null == a.end) throw new Error("Empty item exists in splitList!"); var o = {label: a.label, color: a.color}; o.min = a.start, o.max = a.end, o.min > o.max && (o.min = [o.max, o.max = o.min][0]), o.min === o.max && (o.single = o.max), null == o.min && (o.min = -Number.MAX_VALUE), null == o.max && (o.max = Number.MAX_VALUE), t.push(o) } }, refresh: function (e) { if (e) { this.option = e, this.option.dataRange = this.reformOption(this.option.dataRange); var t = this.dataRangeOption = this.option.dataRange; if (!this._useCustomizedSplit() && (null == t.min || null == t.max)) throw new Error("option.dataRange.min or option.dataRange.max has not been defined."); this.myChart.canvasSupported || (t.realtime = !1); var i = this._isContinuity() ? 100 : this._useCustomizedSplit() ? t.splitList.length : t.splitNumber; this._buildSplitList(), this._buildColorList(i), this._buildGap(i), this._buildDataList(i) } this.clear(), this._buildShape() }, getColor: function (e) { if (isNaN(e)) return null; var t; if (this._useCustomizedSplit()) { for (var i = this._splitList, n = 0, a = i.length; a > n; n++) if (i[n].min <= e && i[n].max >= e) { t = n; break } } else { if (this.dataRangeOption.min == this.dataRangeOption.max) return this._colorList[0]; if (e < this.dataRangeOption.min ? e = this.dataRangeOption.min : e > this.dataRangeOption.max && (e = this.dataRangeOption.max), this.dataRangeOption.calculable && (e - (this._gap * this._range.start + this.dataRangeOption.min) > 5e-5 || e - (this._gap * this._range.end + this.dataRangeOption.min) < -5e-5)) return null; t = this._colorList.length - Math.ceil((e - this.dataRangeOption.min) / (this.dataRangeOption.max - this.dataRangeOption.min) * this._colorList.length), t == this._colorList.length && t-- } return this._selectedMap[t] ? this._colorList[t] : null }, getColorByIndex: function (e) { return e >= this._colorList.length ? e = this._colorList.length - 1 : 0 > e && (e = 0), this._colorList[e] }, onbeforDispose: function () { this.messageCenter.unbind(r.EVENT.HOVER, this._onhoverlink) } }, s.inherits(t, i), e("../component").define("dataRange", t), t }), i("echarts/util/shape/HandlePolygon", ["require", "zrender/shape/Base", "zrender/shape/Polygon", "zrender/tool/util"], function (e) { function t(e) { i.call(this, e) } var i = e("zrender/shape/Base"), n = e("zrender/shape/Polygon"), a = e("zrender/tool/util"); return t.prototype = { type: "handle-polygon", buildPath: function (e, t) { n.prototype.buildPath(e, t) }, isCover: function (e, t) { var i = this.transformCoordToLocal(e, t); e = i[0], t = i[1]; var n = this.style.rect; return e >= n.x && e <= n.x + n.width && t >= n.y && t <= n.y + n.height ? !0 : !1 } }, a.inherits(t, i), t }), i("echarts/chart/k", ["require", "./base", "../util/shape/Candle", "../component/axis", "../component/grid", "../component/dataZoom", "../config", "../util/ecData", "zrender/tool/util", "../chart"], function (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.refresh(a) } var i = e("./base"), n = e("../util/shape/Candle"); e("../component/axis"), e("../component/grid"), e("../component/dataZoom"); var a = e("../config"); a.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 o = e("../util/ecData"), r = e("zrender/tool/util"); return t.prototype = { type: a.CHART_TYPE_K, _buildShape: function () { var e = this.series; this.selectedMap = {}; for (var t, i = { top: [], bottom: [] }, n = 0, o = e.length; o > n; n++) e[n].type === a.CHART_TYPE_K && (e[n] = this.reformOption(e[n]), this.legendHoverLink = e[n].legendHoverLink || this.legendHoverLink, t = this.component.xAxis.getAxis(e[n].xAxisIndex), t.type === a.COMPONENT_TYPE_AXIS_CATEGORY && i[t.getPosition()].push(n)); for (var r in i) i[r].length > 0 && this._buildSinglePosition(r, i[r]); this.addShapeList() }, _buildSinglePosition: function (e, t) { var i = this._mapData(t), n = i.locationMap, a = i.maxDataLength; if (0 !== a && 0 !== n.length) { this._buildHorizontal(t, a, n); for (var o = 0, r = t.length; r > o; o++) this.buildMark(t[o]) } }, _mapData: function (e) { for (var t, i, n = this.series, a = this.component.legend, o = [], r = 0, s = 0, l = e.length; l > s; s++) t = n[e[s]], i = t.name, this.selectedMap[i] = a ? a.isSelected(i) : !0, this.selectedMap[i] && o.push(e[s]), r = Math.max(r, t.data.length); return {locationMap: o, maxDataLength: r} }, _buildHorizontal: function (e, t, i) { for (var n, a, o, r, s, l, h, m, V, U, d = this.series, p = {}, c = 0, u = i.length; u > c; c++) { n = i[c], a = d[n], o = a.xAxisIndex || 0, r = this.component.xAxis.getAxis(o), h = a.barWidth || Math.floor(r.getGap() / 2), U = a.barMaxWidth, U && h > U && (h = U), s = a.yAxisIndex || 0, l = this.component.yAxis.getAxis(s), p[n] = []; for (var y = 0, g = t; g > y && null != r.getNameByIndex(y); y++) m = a.data[y], V = this.getDataFromOption(m, "-"), "-" !== V && 4 == V.length && p[n].push([r.getCoordByIndex(y), h, l.getCoord(V[0]), l.getCoord(V[1]), l.getCoord(V[2]), l.getCoord(V[3]), y, r.getNameByIndex(y)]) } this._buildKLine(e, p) }, _buildKLine: function (e, t) { for (var i, n, o, r, s, l, h, m, V, U, d, p, c, u, y, g, b, f = this.series, k = 0, x = e.length; x > k; k++) if (b = e[k], d = f[b], u = t[b], this._isLarge(u) && (u = this._getLargePointList(u)), d.type === a.CHART_TYPE_K && null != u) { p = d, i = this.query(p, "itemStyle.normal.lineStyle.width"), n = this.query(p, "itemStyle.normal.lineStyle.color"), o = this.query(p, "itemStyle.normal.lineStyle.color0"), r = this.query(p, "itemStyle.normal.color"), s = this.query(p, "itemStyle.normal.color0"), l = this.query(p, "itemStyle.emphasis.lineStyle.width"), h = this.query(p, "itemStyle.emphasis.lineStyle.color"), m = this.query(p, "itemStyle.emphasis.lineStyle.color0"), V = this.query(p, "itemStyle.emphasis.color"), U = this.query(p, "itemStyle.emphasis.color0"); for (var _ = 0, L = u.length; L > _; _++) y = u[_], c = d.data[y[6]], p = c, g = y[3] < y[2], this.shapeList.push(this._getCandle(b, y[6], y[7], y[0], y[1], y[2], y[3], y[4], y[5], g ? this.query(p, "itemStyle.normal.color") || r : this.query(p, "itemStyle.normal.color0") || s, this.query(p, "itemStyle.normal.lineStyle.width") || i, g ? this.query(p, "itemStyle.normal.lineStyle.color") || n : this.query(p, "itemStyle.normal.lineStyle.color0") || o, g ? this.query(p, "itemStyle.emphasis.color") || V || r : this.query(p, "itemStyle.emphasis.color0") || U || s, this.query(p, "itemStyle.emphasis.lineStyle.width") || l || i, g ? this.query(p, "itemStyle.emphasis.lineStyle.color") || h || n : this.query(p, "itemStyle.emphasis.lineStyle.color0") || m || o)) } }, _isLarge: function (e) { return e[0][1] < .5 }, _getLargePointList: function (e) { for (var t = this.component.grid.getWidth(), i = e.length, n = [], a = 0; t > a; a++) n[a] = e[Math.floor(i / t * a)]; return n }, _getCandle: function (e, t, i, a, r, s, l, h, m, V, U, d, p, c, u) { var y = this.series, g = y[e], b = g.data[t], f = [b, g], k = { zlevel: g.zlevel, z: g.z, clickable: this.deepQuery(f, "clickable"), hoverable: this.deepQuery(f, "hoverable"), style: {x: a, y: [s, l, h, m], width: r, color: V, strokeColor: d, lineWidth: U, brushType: "both"}, highlightStyle: {color: p, strokeColor: u, lineWidth: c}, _seriesIndex: e }; return k = this.addLabel(k, g, b, i), o.pack(k, g, e, b, t, i), k = new n(k) }, getMarkCoord: function (e, t) { var i = this.series[e], n = this.component.xAxis.getAxis(i.xAxisIndex), a = this.component.yAxis.getAxis(i.yAxisIndex); return ["string" != typeof t.xAxis && n.getCoordByIndex ? n.getCoordByIndex(t.xAxis || 0) : n.getCoord(t.xAxis || 0), "string" != typeof t.yAxis && a.getCoordByIndex ? a.getCoordByIndex(t.yAxis || 0) : a.getCoord(t.yAxis || 0)] }, refresh: function (e) { e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape() }, addDataAnimation: function (e, t) { function i() { p--, 0 === p && t && t() } for (var n = this.series, a = {}, r = 0, s = e.length; s > r; r++) a[e[r][0]] = e[r]; for (var l, h, m, V, U, d, p = 0, r = 0, s = this.shapeList.length; s > r; r++) if (U = this.shapeList[r]._seriesIndex, a[U] && !a[U][3] && "candle" === this.shapeList[r].type) { if (d = o.get(this.shapeList[r], "dataIndex"), V = n[U], a[U][2] && d === V.data.length - 1) { this.zr.delShape(this.shapeList[r].id); continue } if (!a[U][2] && 0 === d) { this.zr.delShape(this.shapeList[r].id); continue } h = this.component.xAxis.getAxis(V.xAxisIndex || 0).getGap(), l = a[U][2] ? h : -h, m = 0, p++, this.zr.animate(this.shapeList[r].id, "").when(this.query(this.option, "animationDurationUpdate"), {position: [l, m]}).done(i).start() } p || t && t() } }, r.inherits(t, i), e("../chart").define("k", t), t }), i("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 (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o); var r = this; r.shapeHandler.onmouseover = function (e) { var t = e.target, i = h.get(t, "seriesIndex"), n = h.get(t, "dataIndex"), a = h.get(t, "special"), o = [t.style.x, t.style.y], s = t.style.startAngle, l = t.style.endAngle, m = ((l + s) / 2 + 360) % 360, V = t.highlightStyle.color, U = r.getLabel(i, n, a, o, m, V, !0); U && r.zr.addHoverShape(U); var d = r.getLabelLine(i, n, o, t.style.r0, t.style.r, m, V, !0); d && r.zr.addHoverShape(d) }, this.refresh(a) } var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Ring"), o = e("zrender/shape/Circle"), r = e("zrender/shape/Sector"), s = e("zrender/shape/Polyline"), l = e("../config"); l.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 h = e("../util/ecData"), m = e("zrender/tool/util"), V = e("zrender/tool/math"), U = e("zrender/tool/color"); return t.prototype = { type: l.CHART_TYPE_PIE, _buildShape: function () { var e = this.series, t = this.component.legend; this.selectedMap = {}, this._selected = {}; var i, n, r; this._selectedMode = !1; for (var s, m = 0, V = e.length; V > m; m++) if (e[m].type === l.CHART_TYPE_PIE) { if (e[m] = this.reformOption(e[m]), this.legendHoverLink = e[m].legendHoverLink || this.legendHoverLink, s = e[m].name || "", this.selectedMap[s] = t ? t.isSelected(s) : !0, !this.selectedMap[s]) continue; i = this.parseCenter(this.zr, e[m].center), n = this.parseRadius(this.zr, e[m].radius), this._selectedMode = this._selectedMode || e[m].selectedMode, this._selected[m] = [], this.deepQuery([e[m], this.option], "calculable") && (r = { zlevel: e[m].zlevel, z: e[m].z, hoverable: !1, style: { x: i[0], y: i[1], r0: n[0] <= 10 ? 0 : n[0] - 10, r: n[1] + 10, brushType: "stroke", lineWidth: 1, strokeColor: e[m].calculableHolderColor || this.ecTheme.calculableHolderColor || l.calculableHolderColor } }, h.pack(r, e[m], m, void 0, -1), this.setCalculable(r), r = n[0] <= 10 ? new o(r) : new a(r), this.shapeList.push(r)), this._buildSinglePie(m), this.buildMark(m) } this.addShapeList() }, _buildSinglePie: function (e) { for (var t, i = this.series, n = i[e], a = n.data, o = this.component.legend, r = 0, s = 0, l = 0, h = Number.NEGATIVE_INFINITY, m = [], V = 0, U = a.length; U > V; V++) t = a[V].name, this.selectedMap[t] = o ? o.isSelected(t) : !0, this.selectedMap[t] && !isNaN(a[V].value) && (0 !== +a[V].value ? r++ : s++, l += +a[V].value, h = Math.max(h, +a[V].value)); if (0 !== l) { for (var d, p, c, u, y, g, b = 100, f = n.clockWise, k = (n.startAngle.toFixed(2) - 0 + 360) % 360, x = n.minAngle || .01, _ = 360 - x * r - .01 * s, L = n.roseType, V = 0, U = a.length; U > V; V++) if (t = a[V].name, this.selectedMap[t] && !isNaN(a[V].value)) { if (p = o ? o.getColor(t) : this.zr.getColor(V), b = a[V].value / l, d = "area" != L ? f ? k - b * _ - (0 !== b ? x : .01) : b * _ + k + (0 !== b ? x : .01) : f ? k - 360 / U : 360 / U + k, d = d.toFixed(2) - 0, b = (100 * b).toFixed(2), c = this.parseCenter(this.zr, n.center), u = this.parseRadius(this.zr, n.radius), y = +u[0], g = +u[1], "radius" === L ? g = a[V].value / h * (g - y) * .8 + .2 * (g - y) + y : "area" === L && (g = Math.sqrt(a[V].value / h) * (g - y) + y), f) { var W; W = k, k = d, d = W } this._buildItem(m, e, V, b, a[V].selected, c, y, g, k, d, p), f || (k = d) } this._autoLabelLayout(m, c, g); for (var V = 0, U = m.length; U > V; V++) this.shapeList.push(m[V]); m = null } }, _buildItem: function (e, t, i, n, a, o, r, s, l, m, V) { var U = this.series, d = ((m + l) / 2 + 360) % 360, p = this.getSector(t, i, n, a, o, r, s, l, m, V); h.pack(p, U[t], t, U[t].data[i], i, U[t].data[i].name, n), e.push(p); var c = this.getLabel(t, i, n, o, d, V, !1), u = this.getLabelLine(t, i, o, r, s, d, V, !1); u && (h.pack(u, U[t], t, U[t].data[i], i, U[t].data[i].name, n), e.push(u)), c && (h.pack(c, U[t], t, U[t].data[i], i, U[t].data[i].name, n), c._labelLine = u, e.push(c)) }, getSector: function (e, t, i, n, a, o, s, l, h, m) { var d = this.series, p = d[e], c = p.data[t], u = [c, p], y = this.deepMerge(u, "itemStyle.normal") || {}, g = this.deepMerge(u, "itemStyle.emphasis") || {}, b = this.getItemStyleColor(y.color, e, t, c) || m, f = this.getItemStyleColor(g.color, e, t, c) || ("string" == typeof b ? U.lift(b, -.2) : b), k = { zlevel: p.zlevel, z: p.z, clickable: this.deepQuery(u, "clickable"), style: { x: a[0], y: a[1], r0: o, r: s, startAngle: l, endAngle: h, brushType: "both", color: b, lineWidth: y.borderWidth, strokeColor: y.borderColor, lineJoin: "round" }, highlightStyle: {color: f, lineWidth: g.borderWidth, strokeColor: g.borderColor, lineJoin: "round"}, _seriesIndex: e, _dataIndex: t }; if (n) { var x = ((k.style.startAngle + k.style.endAngle) / 2).toFixed(2) - 0; k.style._hasSelected = !0, k.style._x = k.style.x, k.style._y = k.style.y; var _ = this.query(p, "selectedOffset"); k.style.x += V.cos(x, !0) * _, k.style.y -= V.sin(x, !0) * _, this._selected[e][t] = !0 } else this._selected[e][t] = !1; return this._selectedMode && (k.onclick = this.shapeHandler.onclick), this.deepQuery([c, p, this.option], "calculable") && (this.setCalculable(k), k.draggable = !0), (this._needLabel(p, c, !0) || this._needLabelLine(p, c, !0)) && (k.onmouseover = this.shapeHandler.onmouseover), k = new r(k) }, getLabel: function (e, t, i, a, o, r, s) { var l = this.series, h = l[e], U = h.data[t]; if (this._needLabel(h, U, s)) { var d, p, c, u = s ? "emphasis" : "normal", y = m.merge(m.clone(U.itemStyle) || {}, h.itemStyle), g = y[u].label, b = g.textStyle || {}, f = a[0], k = a[1], x = this.parseRadius(this.zr, h.radius), _ = "middle"; g.position = g.position || y.normal.label.position, "center" === g.position ? (d = f, p = k, c = "center") : "inner" === g.position || "inside" === g.position ? (x = (x[0] + x[1]) * (g.distance || .5), d = Math.round(f + x * V.cos(o, !0)), p = Math.round(k - x * V.sin(o, !0)), r = "#fff", c = "center") : (x = x[1] - -y[u].labelLine.length, d = Math.round(f + x * V.cos(o, !0)), p = Math.round(k - x * V.sin(o, !0)), c = o >= 90 && 270 >= o ? "right" : "left"), "center" != g.position && "inner" != g.position && "inside" != g.position && (d += "left" === c ? 20 : -20), U.__labelX = d - ("left" === c ? 5 : -5), U.__labelY = p; var L = new n({ zlevel: h.zlevel, z: h.z + 1, hoverable: !1, style: { x: d, y: p, color: b.color || r, text: this.getLabelText(e, t, i, u), textAlign: b.align || c, textBaseline: b.baseline || _, textFont: this.getFont(b) }, highlightStyle: {brushType: "fill"} }); return L._radius = x, L._labelPosition = g.position || "outer", L._rect = L.getRect(L.style), L._seriesIndex = e, L._dataIndex = t, L } }, getLabelText: function (e, t, i, n) { var a = this.series, o = a[e], r = o.data[t], s = this.deepQuery([r, o], "itemStyle." + n + ".label.formatter"); return s ? "function" == typeof s ? s.call(this.myChart, { seriesIndex: e, seriesName: o.name || "", series: o, dataIndex: t, data: r, name: r.name, value: r.value, percent: i }) : "string" == typeof s ? (s = s.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{d}", "{d0}"), s = s.replace("{a0}", o.name).replace("{b0}", r.name).replace("{c0}", r.value).replace("{d0}", i)) : void 0 : r.name }, getLabelLine: function (e, t, i, n, a, o, r, l) { var h = this.series, U = h[e], d = U.data[t]; if (this._needLabelLine(U, d, l)) { var p = l ? "emphasis" : "normal", c = m.merge(m.clone(d.itemStyle) || {}, U.itemStyle), u = c[p].labelLine, y = u.lineStyle || {}, g = i[0], b = i[1], f = a, k = this.parseRadius(this.zr, U.radius)[1] - -u.length, x = V.cos(o, !0), _ = V.sin(o, !0); return new s({ zlevel: U.zlevel, z: U.z + 1, hoverable: !1, style: { pointList: [[g + f * x, b - f * _], [g + k * x, b - k * _], [d.__labelX, d.__labelY]], strokeColor: y.color || r, lineType: y.type, lineWidth: y.width }, _seriesIndex: e, _dataIndex: t }) } }, _needLabel: function (e, t, i) { return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".label.show") }, _needLabelLine: function (e, t, i) { return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".labelLine.show") }, _autoLabelLayout: function (e, t, i) { for (var n = [], a = [], o = 0, r = e.length; r > o; o++) ("outer" === e[o]._labelPosition || "outside" === e[o]._labelPosition) && (e[o]._rect._y = e[o]._rect.y, e[o]._rect.x < t[0] ? n.push(e[o]) : a.push(e[o])); this._layoutCalculate(n, t, i, -1), this._layoutCalculate(a, t, i, 1) }, _layoutCalculate: function (e, t, i, n) { function a(t, i, n) { for (var a = t; i > a; a++) if (e[a]._rect.y += n, e[a].style.y += n, e[a]._labelLine && (e[a]._labelLine.style.pointList[1][1] += n, e[a]._labelLine.style.pointList[2][1] += n), a > t && i > a + 1 && e[a + 1]._rect.y > e[a]._rect.y + e[a]._rect.height) return void o(a, n / 2); o(i - 1, n / 2) } function o(t, i) { for (var n = t; n >= 0 && (e[n]._rect.y -= i, e[n].style.y -= i, e[n]._labelLine && (e[n]._labelLine.style.pointList[1][1] -= i, e[n]._labelLine.style.pointList[2][1] -= i), !(n > 0 && e[n]._rect.y > e[n - 1]._rect.y + e[n - 1]._rect.height)); n--) ; } function r(e, t, i, n, a) { for (var o, r, s, l = i[0], h = i[1], m = a > 0 ? t ? Number.MAX_VALUE : 0 : t ? Number.MAX_VALUE : 0, V = 0, U = e.length; U > V; V++) r = Math.abs(e[V]._rect.y - h), s = e[V]._radius - n, o = n + s > r ? Math.sqrt((n + s + 20) * (n + s + 20) - Math.pow(e[V]._rect.y - h, 2)) : Math.abs(e[V]._rect.x + (a > 0 ? 0 : e[V]._rect.width) - l), t && o >= m && (o = m - 10), !t && m >= o && (o = m + 10), e[V]._rect.x = e[V].style.x = l + o * a, e[V]._labelLine && (e[V]._labelLine.style.pointList[2][0] = l + (o - 5) * a, e[V]._labelLine.style.pointList[1][0] = l + (o - 20) * a), m = o } e.sort(function (e, t) { return e._rect.y - t._rect.y }); for (var s, l = 0, h = e.length, m = [], V = [], U = 0; h > U; U++) s = e[U]._rect.y - l, 0 > s && a(U, h, -s, n), l = e[U]._rect.y + e[U]._rect.height; this.zr.getHeight() - l < 0 && o(h - 1, l - this.zr.getHeight()); for (var U = 0; h > U; U++) e[U]._rect.y >= t[1] ? V.push(e[U]) : m.push(e[U]); r(V, !0, t, i, n), r(m, !1, t, i, n) }, reformOption: function (e) { var t = m.merge; return e = t(t(e || {}, m.clone(this.ecTheme.pie || {})), m.clone(l.pie)), e.itemStyle.normal.label.textStyle = this.getTextStyle(e.itemStyle.normal.label.textStyle), e.itemStyle.emphasis.label.textStyle = this.getTextStyle(e.itemStyle.emphasis.label.textStyle), this.z = e.z, this.zlevel = e.zlevel, e }, refresh: function (e) { e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape() }, addDataAnimation: function (e, t) { function i() { s--, 0 === s && t && t() } for (var n = this.series, a = {}, o = 0, r = e.length; r > o; o++) a[e[o][0]] = e[o]; var s = 0, h = {}, m = {}, V = {}, U = this.shapeList; this.shapeList = []; for (var d, p, c, u = {}, o = 0, r = e.length; r > o; o++) d = e[o][0], p = e[o][2], c = e[o][3], n[d] && n[d].type === l.CHART_TYPE_PIE && (p ? (c || (h[d + "_" + n[d].data.length] = "delete"), u[d] = 1) : c ? u[d] = 0 : (h[d + "_-1"] = "delete", u[d] = -1), this._buildSinglePie(d)); for (var y, g, o = 0, r = this.shapeList.length; r > o; o++) switch (d = this.shapeList[o]._seriesIndex, y = this.shapeList[o]._dataIndex, g = d + "_" + y, this.shapeList[o].type) { case"sector": h[g] = this.shapeList[o]; break; case"text": m[g] = this.shapeList[o]; break; case"polyline": V[g] = this.shapeList[o] } this.shapeList = []; for (var b, o = 0, r = U.length; r > o; o++) if (d = U[o]._seriesIndex, a[d]) { if (y = U[o]._dataIndex + u[d], g = d + "_" + y, b = h[g], !b) continue; if ("sector" === U[o].type) "delete" != b ? (s++, this.zr.animate(U[o].id, "style").when(400, { startAngle: b.style.startAngle, endAngle: b.style.endAngle }).done(i).start()) : (s++, this.zr.animate(U[o].id, "style").when(400, u[d] < 0 ? {startAngle: U[o].style.startAngle} : {endAngle: U[o].style.endAngle}).done(i).start()); else if ("text" === U[o].type || "polyline" === U[o].type) if ("delete" === b) this.zr.delShape(U[o].id); else switch (U[o].type) { case"text": s++, b = m[g], this.zr.animate(U[o].id, "style").when(400, { x: b.style.x, y: b.style.y }).done(i).start(); break; case"polyline": s++, b = V[g], this.zr.animate(U[o].id, "style").when(400, {pointList: b.style.pointList}).done(i).start() } } this.shapeList = U, s || t && t() }, onclick: function (e) { var t = this.series; if (this.isClick && e.target) { this.isClick = !1; for (var i, n = e.target, a = n.style, o = h.get(n, "seriesIndex"), r = h.get(n, "dataIndex"), s = 0, m = this.shapeList.length; m > s; s++) if (this.shapeList[s].id === n.id) { if (o = h.get(n, "seriesIndex"), r = h.get(n, "dataIndex"), a._hasSelected) n.style.x = n.style._x, n.style.y = n.style._y, n.style._hasSelected = !1, this._selected[o][r] = !1; else { var U = ((a.startAngle + a.endAngle) / 2).toFixed(2) - 0; n.style._hasSelected = !0, this._selected[o][r] = !0, n.style._x = n.style.x, n.style._y = n.style.y, i = this.query(t[o], "selectedOffset"), n.style.x += V.cos(U, !0) * i, n.style.y -= V.sin(U, !0) * i } this.zr.modShape(n.id) } else this.shapeList[s].style._hasSelected && "single" === this._selectedMode && (o = h.get(this.shapeList[s], "seriesIndex"), r = h.get(this.shapeList[s], "dataIndex"), this.shapeList[s].style.x = this.shapeList[s].style._x, this.shapeList[s].style.y = this.shapeList[s].style._y, this.shapeList[s].style._hasSelected = !1, this._selected[o][r] = !1, this.zr.modShape(this.shapeList[s].id)); this.messageCenter.dispatch(l.EVENT.PIE_SELECTED, e.event, { selected: this._selected, target: h.get(n, "name") }, this.myChart), this.zr.refreshNextFrame() } } }, m.inherits(t, i), e("../chart").define("pie", t), t }),i("echarts/chart/radar", ["require", "./base", "zrender/shape/Polygon", "../component/polar", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "../util/accMath", "../chart"], function (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.refresh(a) } var i = e("./base"), n = e("zrender/shape/Polygon"); e("../component/polar"); var a = e("../config"); a.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 o = e("../util/ecData"), r = e("zrender/tool/util"), s = e("zrender/tool/color"); return t.prototype = { type: a.CHART_TYPE_RADAR, _buildShape: function () { this.selectedMap = {}, this._symbol = this.option.symbolList, this._queryTarget, this._dropBoxList = [], this._radarDataCounter = 0; for (var e, t = this.series, i = this.component.legend, n = 0, o = t.length; o > n; n++) t[n].type === a.CHART_TYPE_RADAR && (this.serie = this.reformOption(t[n]), this.legendHoverLink = t[n].legendHoverLink || this.legendHoverLink, e = this.serie.name || "", this.selectedMap[e] = i ? i.isSelected(e) : !0, this.selectedMap[e] && (this._queryTarget = [this.serie, this.option], this.deepQuery(this._queryTarget, "calculable") && this._addDropBox(n), this._buildSingleRadar(n), this.buildMark(n))); this.addShapeList() }, _buildSingleRadar: function (e) { for (var t, i, n, a, o = this.component.legend, r = this.serie.data, s = this.deepQuery(this._queryTarget, "calculable"), l = 0; l < r.length; l++) n = r[l].name || "", this.selectedMap[n] = o ? o.isSelected(n) : !0, this.selectedMap[n] && (o ? (i = o.getColor(n), t = o.getItemShape(n), t && (t.style.brushType = this.deepQuery([r[l], this.serie], "itemStyle.normal.areaStyle") ? "both" : "stroke", o.setItemShape(n, t))) : i = this.zr.getColor(l), a = this._getPointList(this.serie.polarIndex, r[l]), this._addSymbol(a, i, l, e, this.serie.polarIndex), this._addDataShape(a, i, r[l], e, l, s), this._radarDataCounter++) }, _getPointList: function (e, t) { for (var i, n, a = [], o = this.component.polar, r = 0, s = t.value.length; s > r; r++) n = this.getDataFromOption(t.value[r]), i = "-" != n ? o.getVector(e, r, n) : !1, i && a.push(i); return a }, _addSymbol: function (e, t, i, n, a) { for (var r, s = this.series, l = this.component.polar, h = 0, m = e.length; m > h; h++) r = this.getSymbolShape(this.deepMerge([s[n].data[i], s[n]]), n, s[n].data[i].value[h], h, l.getIndicatorText(a, h), e[h][0], e[h][1], this._symbol[this._radarDataCounter % this._symbol.length], t, "#fff", "vertical"), r.zlevel = this.getZlevelBase(), r.z = this.getZBase() + 1, o.set(r, "data", s[n].data[i]), o.set(r, "value", s[n].data[i].value), o.set(r, "dataIndex", i), o.set(r, "special", h), this.shapeList.push(r) }, _addDataShape: function (e, t, i, a, r, l) { var h = this.series, m = [i, this.serie], V = this.getItemStyleColor(this.deepQuery(m, "itemStyle.normal.color"), a, r, i), U = this.deepQuery(m, "itemStyle.normal.lineStyle.width"), d = this.deepQuery(m, "itemStyle.normal.lineStyle.type"), p = this.deepQuery(m, "itemStyle.normal.areaStyle.color"), c = this.deepQuery(m, "itemStyle.normal.areaStyle"), u = { zlevel: this.getZlevelBase(), z: this.getZBase(), style: { pointList: e, brushType: c ? "both" : "stroke", color: p || V || ("string" == typeof t ? s.alpha(t, .5) : t), strokeColor: V || t, lineWidth: U, lineType: d }, highlightStyle: { brushType: this.deepQuery(m, "itemStyle.emphasis.areaStyle") || c ? "both" : "stroke", color: this.deepQuery(m, "itemStyle.emphasis.areaStyle.color") || p || V || ("string" == typeof t ? s.alpha(t, .5) : t), strokeColor: this.getItemStyleColor(this.deepQuery(m, "itemStyle.emphasis.color"), a, r, i) || V || t, lineWidth: this.deepQuery(m, "itemStyle.emphasis.lineStyle.width") || U, lineType: this.deepQuery(m, "itemStyle.emphasis.lineStyle.type") || d } }; o.pack(u, h[a], a, i, r, i.name, this.component.polar.getIndicator(h[a].polarIndex)), l && (u.draggable = !0, this.setCalculable(u)), u = new n(u), this.shapeList.push(u) }, _addDropBox: function (e) { var t = this.series, i = this.deepQuery(this._queryTarget, "polarIndex"); if (!this._dropBoxList[i]) { var n = this.component.polar.getDropBox(i); n.zlevel = this.getZlevelBase(), n.z = this.getZBase(), this.setCalculable(n), o.pack(n, t, e, void 0, -1), this.shapeList.push(n), this._dropBoxList[i] = !0 } }, ondragend: function (e, t) { var i = this.series; if (this.isDragend && e.target) { var n = e.target, a = o.get(n, "seriesIndex"), r = o.get(n, "dataIndex"); this.component.legend && this.component.legend.del(i[a].data[r].name), i[a].data.splice(r, 1), t.dragOut = !0, t.needRefresh = !0, this.isDragend = !1 } }, ondrop: function (t, i) { var n = this.series; if (this.isDrop && t.target) { var a, r, s = t.target, l = t.dragged, h = o.get(s, "seriesIndex"), m = o.get(s, "dataIndex"), V = this.component.legend; if (-1 === m) a = { value: o.get(l, "value"), name: o.get(l, "name") }, n[h].data.push(a), V && V.add(a.name, l.style.color || l.style.strokeColor); else { var U = e("../util/accMath"); a = n[h].data[m], V && V.del(a.name), a.name += this.option.nameConnector + o.get(l, "name"), r = o.get(l, "value"); for (var d = 0; d < r.length; d++) a.value[d] = U.accAdd(a.value[d], r[d]); V && V.add(a.name, l.style.color || l.style.strokeColor) } i.dragIn = i.dragIn || !0, this.isDrop = !1 } }, refresh: function (e) { e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape() } }, r.inherits(t, i), e("../chart").define("radar", t), t }),i("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 (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.refresh(a) } var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Line"), o = e("zrender/shape/Polygon"), r = e("zrender/shape/Circle"), s = e("zrender/shape/Ring"), l = e("../config"); l.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 h = e("zrender/tool/util"), m = e("../util/coordinates"); return t.prototype = { type: l.COMPONENT_TYPE_POLAR, _buildShape: function () { for (var e = 0; e < this.polar.length; e++) this._index = e, this.reformOption(this.polar[e]), this._queryTarget = [this.polar[e], this.option], this._createVector(e), this._buildSpiderWeb(e), this._buildText(e), this._adjustIndicatorValue(e), this._addAxisLabel(e); for (var e = 0; e < this.shapeList.length; e++) this.zr.addShape(this.shapeList[e]) }, _createVector: function (e) { for (var t, i = this.polar[e], n = this.deepQuery(this._queryTarget, "indicator"), a = n.length, o = i.startAngle, r = 2 * Math.PI / a, s = this._getRadius(), l = i.__ecIndicator = [], h = 0; a > h; h++) t = m.polar2cartesian(s, o * Math.PI / 180 + r * h), l.push({vector: [t[1], -t[0]]}) }, _getRadius: function () { var e = this.polar[this._index]; return this.parsePercent(e.radius, Math.min(this.zr.getWidth(), this.zr.getHeight()) / 2) }, _buildSpiderWeb: function (e) { var t = this.polar[e], i = t.__ecIndicator, n = t.splitArea, a = t.splitLine, o = this.getCenter(e), r = t.splitNumber, s = a.lineStyle.color, l = a.lineStyle.width, h = a.show, m = this.deepQuery(this._queryTarget, "axisLine"); this._addArea(i, r, o, n, s, l, h), m.show && this._addLine(i, o, m) }, _addAxisLabel: function (t) { for (var i, a, o, r, a, s, l, m, V, U, d = e("../util/accMath"), p = this.polar[t], c = this.deepQuery(this._queryTarget, "indicator"), u = p.__ecIndicator, y = this.deepQuery(this._queryTarget, "splitNumber"), g = this.getCenter(t), b = 0; b < c.length; b++) if (i = this.deepQuery([c[b], p, this.option], "axisLabel"), i.show) { var f = this.deepQuery([i, p, this.option], "textStyle"), k = this.deepQuery([i, p], "formatter"); if (o = {}, o.textFont = this.getFont(f), o.color = f.color, o = h.merge(o, i), o.lineWidth = o.width, a = u[b].vector, s = u[b].value, m = b / c.length * 2 * Math.PI, V = i.offset || 10, U = i.interval || 0, !s) return; for (var x = 1; y >= x; x += U + 1) r = h.merge({}, o), l = d.accAdd(s.min, d.accMul(s.step, x)), l = "function" == typeof k ? k(l) : "string" == typeof k ? k.replace("{a}", "{a0}").replace("{a0}", l) : this.numAddCommas(l), r.text = l, r.x = x * a[0] / y + Math.cos(m) * V + g[0], r.y = x * a[1] / y + Math.sin(m) * V + g[1], this.shapeList.push(new n({ zlevel: this.getZlevelBase(), z: this.getZBase(), style: r, draggable: !1, hoverable: !1 })) } }, _buildText: function (e) { for (var t, i, a, o, r, s, l, h = this.polar[e], m = h.__ecIndicator, V = this.deepQuery(this._queryTarget, "indicator"), U = this.getCenter(e), d = 0, p = 0, c = 0; c < V.length; c++) o = this.deepQuery([V[c], h, this.option], "name"), o.show && (l = this.deepQuery([o, h, this.option], "textStyle"), i = {}, i.textFont = this.getFont(l), i.color = l.color, i.text = "function" == typeof o.formatter ? o.formatter.call(this.myChart, V[c].text, c) : "string" == typeof o.formatter ? o.formatter.replace("{value}", V[c].text) : V[c].text, m[c].text = i.text, t = m[c].vector, a = Math.round(t[0]) > 0 ? "left" : Math.round(t[0]) < 0 ? "right" : "center", null == o.margin ? t = this._mapVector(t, U, 1.1) : (s = o.margin, d = t[0] > 0 ? s : -s, p = t[1] > 0 ? s : -s, d = 0 === t[0] ? 0 : d, p = 0 === t[1] ? 0 : p, t = this._mapVector(t, U, 1)), i.textAlign = a, i.x = t[0] + d, i.y = t[1] + p, r = o.rotate ? [o.rotate / 180 * Math.PI, t[0], t[1]] : [0, 0, 0], this.shapeList.push(new n({ zlevel: this.getZlevelBase(), z: this.getZBase(), style: i, draggable: !1, hoverable: !1, rotation: r }))) }, getIndicatorText: function (e, t) { return this.polar[e] && this.polar[e].__ecIndicator[t] && this.polar[e].__ecIndicator[t].text }, getDropBox: function (e) { var t, i, e = e || 0, n = this.polar[e], a = this.getCenter(e), o = n.__ecIndicator, r = o.length, s = [], l = n.type; if ("polygon" == l) { for (var h = 0; r > h; h++) t = o[h].vector, s.push(this._mapVector(t, a, 1.2)); i = this._getShape(s, "fill", "rgba(0,0,0,0)", "", 1) } else "circle" == l && (i = this._getCircle("", 1, 1.2, a, "fill", "rgba(0,0,0,0)")); return i }, _addArea: function (e, t, i, n, a, o, r) { for (var s, l, h, m, V = this.deepQuery(this._queryTarget, "type"), U = 0; t > U; U++) l = (t - U) / t, r && ("polygon" == V ? (m = this._getPointList(e, l, i), s = this._getShape(m, "stroke", "", a, o)) : "circle" == V && (s = this._getCircle(a, o, l, i, "stroke")), this.shapeList.push(s)), n.show && (h = (t - U - 1) / t, this._addSplitArea(e, n, l, h, i, U)) }, _getCircle: function (e, t, i, n, a, o) { var s = this._getRadius(); return new r({ zlevel: this.getZlevelBase(), z: this.getZBase(), style: {x: n[0], y: n[1], r: s * i, brushType: a, strokeColor: e, lineWidth: t, color: o}, hoverable: !1, draggable: !1 }) }, _getRing: function (e, t, i, n) { var a = this._getRadius(); return new s({ zlevel: this.getZlevelBase(), z: this.getZBase(), style: {x: n[0], y: n[1], r: t * a, r0: i * a, color: e, brushType: "fill"}, hoverable: !1, draggable: !1 }) }, _getPointList: function (e, t, i) { for (var n, a = [], o = e.length, r = 0; o > r; r++) n = e[r].vector, a.push(this._mapVector(n, i, t)); return a }, _getShape: function (e, t, i, n, a) { return new o({ zlevel: this.getZlevelBase(), z: this.getZBase(), style: {pointList: e, brushType: t, color: i, strokeColor: n, lineWidth: a}, hoverable: !1, draggable: !1 }) }, _addSplitArea: function (e, t, i, n, a, o) { var r, s, l, h, m, V = e.length, U = t.areaStyle.color, d = [], V = e.length, p = this.deepQuery(this._queryTarget, "type"); if ("string" == typeof U && (U = [U]), s = U.length, r = U[o % s], "polygon" == p) for (var c = 0; V > c; c++) d = [], l = e[c].vector, h = e[(c + 1) % V].vector, d.push(this._mapVector(l, a, i)), d.push(this._mapVector(l, a, n)), d.push(this._mapVector(h, a, n)), d.push(this._mapVector(h, a, i)), m = this._getShape(d, "fill", r, "", 1), this.shapeList.push(m); else "circle" == p && (m = this._getRing(r, i, n, a), this.shapeList.push(m)) }, _mapVector: function (e, t, i) { return [e[0] * i + t[0], e[1] * i + t[1]] }, getCenter: function (e) { var e = e || 0; return this.parseCenter(this.zr, this.polar[e].center) }, _addLine: function (e, t, i) { for (var n, a, o = e.length, r = i.lineStyle, s = r.color, l = r.width, h = r.type, m = 0; o > m; m++) a = e[m].vector, n = this._getLine(t[0], t[1], a[0] + t[0], a[1] + t[1], s, l, h), this.shapeList.push(n) }, _getLine: function (e, t, i, n, o, r, s) { return new a({ zlevel: this.getZlevelBase(), z: this.getZBase(), style: {xStart: e, yStart: t, xEnd: i, yEnd: n, strokeColor: o, lineWidth: r, lineType: s}, hoverable: !1 }) }, _adjustIndicatorValue: function (t) { for (var i, n, a, o = this.polar[t], r = this.deepQuery(this._queryTarget, "indicator"), s = r.length, l = o.__ecIndicator, h = this._getSeriesData(t), m = o.boundaryGap, V = o.splitNumber, U = o.scale, d = e("../util/smartSteps"), p = 0; s > p; p++) { if ("number" == typeof r[p].max) i = r[p].max, n = r[p].min || 0, a = {max: i, min: n}; else { var c = this._findValue(h, p, V, m); n = c.min, i = c.max } !U && n >= 0 && i >= 0 && (n = 0), !U && 0 >= n && 0 >= i && (i = 0); var u = d(n, i, V, a); l[p].value = {min: u.min, max: u.max, step: u.step} } }, _getSeriesData: function (e) { for (var t, i, n, a = [], o = this.component.legend, r = 0; r < this.series.length; r++) if (t = this.series[r], t.type == l.CHART_TYPE_RADAR) { i = t.data || []; for (var s = 0; s < i.length; s++) n = this.deepQuery([i[s], t, this.option], "polarIndex") || 0, n != e || o && !o.isSelected(i[s].name) || a.push(i[s]) } return a }, _findValue: function (e, t, i, n) { function a(e) { (e > o || void 0 === o) && (o = e), (r > e || void 0 === r) && (r = e) } var o, r, s; if (e && 0 !== e.length) { if (1 == e.length && (r = 0), 1 != e.length) for (var l = 0; l < e.length; l++) a(this.getDataFromOption(e[l].value[t])); else { s = e[0]; for (var l = 0; l < s.value.length; l++) a(this.getDataFromOption(s.value[l])) } var h = Math.abs(o - r); return r -= Math.abs(h * n[0]), o += Math.abs(h * n[1]), r === o && (0 === o ? o = 1 : o > 0 ? r = o / i : o /= i), { max: o, min: r } } }, getVector: function (e, t, i) { e = e || 0, t = t || 0; var n = this.polar[e].__ecIndicator; if (!(t >= n.length)) { var a, o = this.polar[e].__ecIndicator[t], r = this.getCenter(e), s = o.vector, l = o.value.max, h = o.value.min; if ("undefined" == typeof i) return r; switch (i) { case"min": i = h; break; case"max": i = l; break; case"center": i = (l + h) / 2 } return a = l != h ? (i - h) / (l - h) : .5, this._mapVector(s, r, a) } }, isInside: function (e) { var t = this.getNearestIndex(e); return t ? t.polarIndex : -1 }, getNearestIndex: function (e) { for (var t, i, n, a, o, r, s, l, h, V = 0; V < this.polar.length; V++) { if (t = this.polar[V], i = this.getCenter(V), e[0] == i[0] && e[1] == i[1]) return { polarIndex: V, valueIndex: 0 }; if (n = this._getRadius(), o = t.startAngle, r = t.indicator, s = r.length, l = 2 * Math.PI / s, a = m.cartesian2polar(e[0] - i[0], i[1] - e[1]), e[0] - i[0] < 0 && (a[1] += Math.PI), a[1] < 0 && (a[1] += 2 * Math.PI), h = a[1] - o / 180 * Math.PI + 2 * Math.PI, Math.abs(Math.cos(h % (l / 2))) * n > a[0]) return { polarIndex: V, valueIndex: Math.floor((h + l / 2) / l) % s } } }, getIndicator: function (e) { var e = e || 0; return this.polar[e].indicator }, refresh: function (e) { e && (this.option = e, this.polar = this.option.polar, this.series = this.option.series), this.clear(), this._buildShape() } }, h.inherits(t, i), e("../component").define("polar", t), t }),i("echarts/util/coordinates", ["require", "zrender/tool/math"], function (e) { function t(e, t) { return [e * n.sin(t), e * n.cos(t)] } function i(e, t) { return [Math.sqrt(e * e + t * t), Math.atan(t / e)] } var n = e("zrender/tool/math"); return {polar2cartesian: t, cartesian2polar: i} }),i("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 (e) { "use strict"; function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.scaleLineLength = 4, this.scaleUnitAngle = 4, this.refresh(a) } var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Line"), o = e("zrender/shape/Sector"), r = e("../util/shape/Ribbon"), s = e("../util/shape/Icon"), l = e("zrender/shape/BezierCurve"), h = e("../config"); h.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: .5} }, emphasis: { borderWidth: 0, borderColor: "#000", chordStyle: {width: 1, color: "black", borderWidth: 1, borderColor: "#999"} } } }; var m = e("../util/ecData"), V = e("zrender/tool/util"), U = e("zrender/tool/vector"), d = e("../data/Graph"), p = e("../layout/Chord"); return t.prototype = { type: h.CHART_TYPE_CHORD, _init: function () { var e = this.series; this.selectedMap = {}; for (var t = {}, i = {}, n = 0, a = e.length; a > n; n++) if (e[n].type === this.type) { var o = this.isSelected(e[n].name); this.selectedMap[e[n].name] = o, o && this.buildMark(n), this.reformOption(e[n]), t[e[n].name] = e[n] } for (var n = 0, a = e.length; a > n; n++) if (e[n].type === this.type) if (e[n].insertToSerie) { var r = t[e[n].insertToSerie]; e[n]._referenceSerie = r } else i[e[n].name] = [e[n]]; for (var n = 0, a = e.length; a > n; n++) if (e[n].type === this.type && e[n].insertToSerie) { for (var s = e[n]._referenceSerie; s && s._referenceSerie;) s = s._referenceSerie; i[s.name] && this.selectedMap[e[n].name] && i[s.name].push(e[n]) } for (var l in i) this._buildChords(i[l]); this.addShapeList() }, _getNodeCategory: function (e, t) { return e.categories && e.categories[t.category || 0] }, _getNodeQueryTarget: function (e, t) { var i = this._getNodeCategory(e, t); return [t, i, e] }, _getEdgeQueryTarget: function (e, t, i) { return i = i || "normal", [t.itemStyle && t.itemStyle[i], e.itemStyle[i].chordStyle] }, _buildChords: function (e) { for (var t = [], i = e[0], n = function (e) { return e.layout.size > 0 }, a = function (e) { return function (t) { return e.getEdge(t.node2, t.node1) } }, o = 0; o < e.length; o++) { var r = e[o]; if (this.selectedMap[r.name]) { var s; r.matrix ? s = this._getSerieGraphFromDataMatrix(r, i) : r.links && (s = this._getSerieGraphFromNodeLinks(r, i)), s.filterNode(n, this), r.ribbonType && s.filterEdge(a(s)), t.push(s), s.__serie = r } } if (t.length) { var l = t[0]; if (!i.ribbonType) { var h = i.minRadius, m = i.maxRadius, V = 1 / 0, U = -(1 / 0); l.eachNode(function (e) { U = Math.max(e.layout.size, U), V = Math.min(e.layout.size, V) }); var d = (m - h) / (U - V); l.eachNode(function (e) { var t = this._getNodeQueryTarget(i, e), n = this.query(t, "symbolSize"); e.layout.size = U === V ? n || V : n || (e.layout.size - V) * d + h }, this) } var c = new p; c.clockWise = i.clockWise, c.startAngle = i.startAngle * Math.PI / 180, c.clockWise || (c.startAngle = -c.startAngle), c.padding = i.padding * Math.PI / 180, c.sort = i.sort, c.sortSub = i.sortSub, c.directed = i.ribbonType, c.run(t); var u = this.query(i, "itemStyle.normal.label.show"); if (i.ribbonType) { this._buildSectors(i, 0, l, i, t), u && this._buildLabels(i, 0, l, i, t); for (var o = 0, y = 0; o < e.length; o++) this.selectedMap[e[o].name] && this._buildRibbons(e, o, t[y++], i); i.showScale && this._buildScales(i, 0, l) } else { this._buildNodeIcons(i, 0, l, i, t), u && this._buildLabels(i, 0, l, i, t); for (var o = 0, y = 0; o < e.length; o++) this.selectedMap[e[o].name] && this._buildEdgeCurves(e, o, t[y++], i, l) } this._initHoverHandler(e, t) } }, _getSerieGraphFromDataMatrix: function (e, t) { for (var i = [], n = 0, a = [], o = 0; o < e.matrix.length; o++) a[o] = e.matrix[o].slice(); for (var r = e.data || e.nodes, o = 0; o < r.length; o++) { var s = {}, l = r[o]; l.rawIndex = o; for (var h in l) "name" === h ? s.id = l.name : s[h] = l[h]; var m = this._getNodeCategory(t, l), V = m ? m.name : l.name; if (this.selectedMap[V] = this.isSelected(V), this.selectedMap[V]) i.push(s), n++; else { a.splice(n, 1); for (var U = 0; U < a.length; U++) a[U].splice(n, 1) } } var p = d.fromMatrix(i, a, !0); return p.eachNode(function (e) { e.layout = {size: e.data.outValue}, e.rawIndex = e.data.rawIndex }), p.eachEdge(function (e) { e.layout = {weight: e.data.weight} }), p }, _getSerieGraphFromNodeLinks: function (e, t) { for (var i = new d(!0), n = e.data || e.nodes, a = 0, o = n.length; o > a; a++) { var r = n[a]; if (r && !r.ignore) { var s = this._getNodeCategory(t, r), l = s ? s.name : r.name; if (this.selectedMap[l] = this.isSelected(l), this.selectedMap[l]) { var h = i.addNode(r.name, r); h.rawIndex = a } } } for (var a = 0, o = e.links.length; o > a; a++) { var m = e.links[a], V = m.source, U = m.target; "number" == typeof V && (V = n[V], V && (V = V.name)), "number" == typeof U && (U = n[U], U && (U = U.name)); var p = i.addEdge(V, U, m); p && (p.rawIndex = a) } return i.eachNode(function (e) { var i = e.data.value; if (null == i) if (i = 0, t.ribbonType) for (var n = 0; n < e.outEdges.length; n++) i += e.outEdges[n].data.weight || 0; else for (var n = 0; n < e.edges.length; n++) i += e.edges[n].data.weight || 0; e.layout = {size: i} }), i.eachEdge(function (e) { e.layout = {weight: null == e.data.weight ? 1 : e.data.weight} }), i }, _initHoverHandler: function (e, t) { var i = e[0], n = t[0], a = this; n.eachNode(function (e) { e.shape.onmouseover = function () { n.eachNode(function (e) { e.shape.style.opacity = .1, e.labelShape && (e.labelShape.style.opacity = .1, e.labelShape.modSelf()), e.shape.modSelf() }); for (var i = 0; i < t.length; i++) for (var o = 0; o < t[i].edges.length; o++) { var r = t[i].edges[o], s = a._getEdgeQueryTarget(t[i].__serie, r.data); r.shape.style.opacity = .1 * a.deepQuery(s, "opacity"), r.shape.modSelf() } e.shape.style.opacity = 1, e.labelShape && (e.labelShape.style.opacity = 1); for (var i = 0; i < t.length; i++) { var l = t[i].getNodeById(e.id); if (l) for (var o = 0; o < l.outEdges.length; o++) { var r = l.outEdges[o], s = a._getEdgeQueryTarget(t[i].__serie, r.data); r.shape.style.opacity = a.deepQuery(s, "opacity"); var h = t[0].getNodeById(r.node2.id); h && (h.shape && (h.shape.style.opacity = 1), h.labelShape && (h.labelShape.style.opacity = 1)) } } a.zr.refreshNextFrame() }, e.shape.onmouseout = function () { n.eachNode(function (e) { e.shape.style.opacity = 1, e.labelShape && (e.labelShape.style.opacity = 1, e.labelShape.modSelf()), e.shape.modSelf() }); for (var e = 0; e < t.length; e++) for (var o = 0; o < t[e].edges.length; o++) { var r = t[e].edges[o], s = [r.data, i]; r.shape.style.opacity = a.deepQuery(s, "itemStyle.normal.chordStyle.opacity"), r.shape.modSelf() } a.zr.refreshNextFrame() } }) }, _buildSectors: function (e, t, i, n) { var a = this.parseCenter(this.zr, n.center), r = this.parseRadius(this.zr, n.radius), s = n.clockWise, l = s ? 1 : -1; i.eachNode(function (i) { var h = this._getNodeCategory(n, i.data), V = this.getColor(h ? h.name : i.id), U = i.layout.startAngle / Math.PI * 180 * l, d = i.layout.endAngle / Math.PI * 180 * l, p = new o({ zlevel: e.zlevel, z: e.z, style: { x: a[0], y: a[1], r0: r[0], r: r[1], startAngle: U, endAngle: d, brushType: "fill", opacity: 1, color: V, clockWise: s }, clickable: n.clickable, highlightStyle: {brushType: "fill"} }); p.style.lineWidth = this.deepQuery([i.data, n], "itemStyle.normal.borderWidth"), p.highlightStyle.lineWidth = this.deepQuery([i.data, n], "itemStyle.emphasis.borderWidth"), p.style.strokeColor = this.deepQuery([i.data, n], "itemStyle.normal.borderColor"), p.highlightStyle.strokeColor = this.deepQuery([i.data, n], "itemStyle.emphasis.borderColor"), p.style.lineWidth > 0 && (p.style.brushType = "both"), p.highlightStyle.lineWidth > 0 && (p.highlightStyle.brushType = "both"), m.pack(p, e, t, i.data, i.rawIndex, i.id, i.category), this.shapeList.push(p), i.shape = p }, this) }, _buildNodeIcons: function (e, t, i, n) { var a = this.parseCenter(this.zr, n.center), o = this.parseRadius(this.zr, n.radius), r = o[1]; i.eachNode(function (i) { var o = i.layout.startAngle, l = i.layout.endAngle, h = (o + l) / 2, V = r * Math.cos(h), U = r * Math.sin(h), d = this._getNodeQueryTarget(n, i.data), p = this._getNodeCategory(n, i.data), c = this.deepQuery(d, "itemStyle.normal.color"); c || (c = this.getColor(p ? p.name : i.id)); var u = new s({ zlevel: e.zlevel, z: e.z + 1, style: { x: -i.layout.size, y: -i.layout.size, width: 2 * i.layout.size, height: 2 * i.layout.size, iconType: this.deepQuery(d, "symbol"), color: c, brushType: "both", lineWidth: this.deepQuery(d, "itemStyle.normal.borderWidth"), strokeColor: this.deepQuery(d, "itemStyle.normal.borderColor") }, highlightStyle: { color: this.deepQuery(d, "itemStyle.emphasis.color"), lineWidth: this.deepQuery(d, "itemStyle.emphasis.borderWidth"), strokeColor: this.deepQuery(d, "itemStyle.emphasis.borderColor") }, clickable: n.clickable, position: [V + a[0], U + a[1]] }); m.pack(u, e, t, i.data, i.rawIndex, i.id, i.category), this.shapeList.push(u), i.shape = u }, this) }, _buildLabels: function (e, t, i, a) { var o = this.query(a, "itemStyle.normal.label.rotate"), r = this.query(a, "itemStyle.normal.label.distance"), s = this.parseCenter(this.zr, a.center), l = this.parseRadius(this.zr, a.radius), h = a.clockWise, m = h ? 1 : -1; i.eachNode(function (t) { var i = t.layout.startAngle / Math.PI * 180 * m, h = t.layout.endAngle / Math.PI * 180 * m, V = (i * -m + h * -m) / 2; V %= 360, 0 > V && (V += 360); var d = 90 >= V || V >= 270; V = V * Math.PI / 180; var p = [Math.cos(V), -Math.sin(V)], c = 0; c = a.ribbonType ? a.showScaleText ? 35 + r : r : r + t.layout.size; var u = U.scale([], p, l[1] + c); U.add(u, u, s); var y = { zlevel: e.zlevel, z: e.z + 1, hoverable: !1, style: {text: null == t.data.label ? t.id : t.data.label, textAlign: d ? "left" : "right"} }; o ? (y.rotation = d ? V : Math.PI + V, y.style.x = d ? l[1] + c : -l[1] - c, y.style.y = 0, y.position = s.slice()) : (y.style.x = u[0], y.style.y = u[1]), y.style.color = this.deepQuery([t.data, a], "itemStyle.normal.label.textStyle.color") || "#000000", y.style.textFont = this.getFont(this.deepQuery([t.data, a], "itemStyle.normal.label.textStyle")), y = new n(y), this.shapeList.push(y), t.labelShape = y }, this) }, _buildRibbons: function (e, t, i, n) { var a = e[t], o = this.parseCenter(this.zr, n.center), s = this.parseRadius(this.zr, n.radius); i.eachEdge(function (l, h) { var V, U = i.getEdge(l.node2, l.node1); if (U && !l.shape) { if (U.shape) return void (l.shape = U.shape); var d = l.layout.startAngle / Math.PI * 180, p = l.layout.endAngle / Math.PI * 180, c = U.layout.startAngle / Math.PI * 180, u = U.layout.endAngle / Math.PI * 180; V = this.getColor(1 === e.length ? l.layout.weight <= U.layout.weight ? l.node1.id : l.node2.id : a.name); var y, g, b = this._getEdgeQueryTarget(a, l.data), f = this._getEdgeQueryTarget(a, l.data, "emphasis"), k = new r({ zlevel: a.zlevel, z: a.z, style: { x: o[0], y: o[1], r: s[0], source0: d, source1: p, target0: c, target1: u, brushType: "both", opacity: this.deepQuery(b, "opacity"), color: V, lineWidth: this.deepQuery(b, "borderWidth"), strokeColor: this.deepQuery(b, "borderColor"), clockWise: n.clockWise }, clickable: n.clickable, highlightStyle: { brushType: "both", opacity: this.deepQuery(f, "opacity"), lineWidth: this.deepQuery(f, "borderWidth"), strokeColor: this.deepQuery(f, "borderColor") } }); l.layout.weight <= U.layout.weight ? (y = U.node1, g = U.node2) : (y = l.node1, g = l.node2), m.pack(k, a, t, l.data, null == l.rawIndex ? h : l.rawIndex, l.data.name || y.id + "-" + g.id, y.id, g.id), this.shapeList.push(k), l.shape = k } }, this) }, _buildEdgeCurves: function (e, t, i, n, a) { var o = e[t], r = this.parseCenter(this.zr, n.center); i.eachEdge(function (e, i) { var n = a.getNodeById(e.node1.id), s = a.getNodeById(e.node2.id), h = n.shape, V = s.shape, U = this._getEdgeQueryTarget(o, e.data), d = this._getEdgeQueryTarget(o, e.data, "emphasis"), p = new l({ zlevel: o.zlevel, z: o.z, style: { xStart: h.position[0], yStart: h.position[1], xEnd: V.position[0], yEnd: V.position[1], cpX1: r[0], cpY1: r[1], lineWidth: this.deepQuery(U, "width"), strokeColor: this.deepQuery(U, "color"), opacity: this.deepQuery(U, "opacity") }, highlightStyle: { lineWidth: this.deepQuery(d, "width"), strokeColor: this.deepQuery(d, "color"), opacity: this.deepQuery(d, "opacity") } }); m.pack(p, o, t, e.data, null == e.rawIndex ? i : e.rawIndex, e.data.name || e.node1.id + "-" + e.node2.id, e.node1.id, e.node2.id), this.shapeList.push(p), e.shape = p }, this) }, _buildScales: function (e, t, i) { var o, r, s = e.clockWise, l = this.parseCenter(this.zr, e.center), h = this.parseRadius(this.zr, e.radius), m = s ? 1 : -1, V = 0, d = -(1 / 0); e.showScaleText && (i.eachNode(function (e) { var t = e.data.value; t > d && (d = t), V += t }), d > 1e10 ? (o = "b", r = 1e-9) : d > 1e7 ? (o = "m", r = 1e-6) : d > 1e4 ? (o = "k", r = .001) : (o = "", r = 1)); var p = V / (360 - e.padding); i.eachNode(function (t) { for (var i = t.layout.startAngle / Math.PI * 180, V = t.layout.endAngle / Math.PI * 180, d = i; ;) { if (s && d > V || !s && V > d) break; var c = d / 180 * Math.PI, u = [Math.cos(c), Math.sin(c)], y = U.scale([], u, h[1] + 1); U.add(y, y, l); var g = U.scale([], u, h[1] + this.scaleLineLength); U.add(g, g, l); var b = new a({ zlevel: e.zlevel, z: e.z - 1, hoverable: !1, style: { xStart: y[0], yStart: y[1], xEnd: g[0], yEnd: g[1], lineCap: "round", brushType: "stroke", strokeColor: "#666", lineWidth: 1 } }); this.shapeList.push(b), d += m * this.scaleUnitAngle } if (e.showScaleText) for (var f = i, k = 5 * p * this.scaleUnitAngle, x = 0; ;) { if (s && f > V || !s && V > f) break; var c = f; c %= 360, 0 > c && (c += 360); var _ = 90 >= c || c >= 270, L = new n({ zlevel: e.zlevel, z: e.z - 1, hoverable: !1, style: { x: _ ? h[1] + this.scaleLineLength + 4 : -h[1] - this.scaleLineLength - 4, y: 0, text: Math.round(10 * x) / 10 + o, textAlign: _ ? "left" : "right" }, position: l.slice(), rotation: _ ? [-c / 180 * Math.PI, 0, 0] : [-(c + 180) / 180 * Math.PI, 0, 0] }); this.shapeList.push(L), x += k * r, f += m * this.scaleUnitAngle * 5 } }, this) }, refresh: function (e) { if (e && (this.option = e, this.series = e.series), this.legend = this.component.legend, this.legend) this.getColor = function (e) { return this.legend.getColor(e) }, this.isSelected = function (e) { return this.legend.isSelected(e) }; else { var t = {}, i = 0; this.getColor = function (e) { return t[e] ? t[e] : (t[e] || (t[e] = this.zr.getColor(i++)), t[e]) }, this.isSelected = function () { return !0 } } this.backupShapeList(), this._init() }, reformOption: function (e) { var t = V.merge; e = t(t(e || {}, this.ecTheme.chord), h.chord), e.itemStyle.normal.label.textStyle = this.getTextStyle(e.itemStyle.normal.label.textStyle), this.z = e.z, this.zlevel = e.zlevel } }, V.inherits(t, i), e("../chart").define("chord", t), t }),i("echarts/util/shape/Ribbon", ["require", "zrender/shape/Base", "zrender/shape/util/PathProxy", "zrender/tool/util", "zrender/tool/area"], function (e) { function t(e) { i.call(this, e), this._pathProxy = new n } var i = e("zrender/shape/Base"), n = e("zrender/shape/util/PathProxy"), a = e("zrender/tool/util"), o = e("zrender/tool/area"); return t.prototype = { type: "ribbon", buildPath: function (e, t) { var i = t.clockWise || !1, n = this._pathProxy; n.begin(e); var a = t.x, o = t.y, r = t.r, s = t.source0 / 180 * Math.PI, l = t.source1 / 180 * Math.PI, h = t.target0 / 180 * Math.PI, m = t.target1 / 180 * Math.PI, V = a + Math.cos(s) * r, U = o + Math.sin(s) * r, d = a + Math.cos(l) * r, p = o + Math.sin(l) * r, c = a + Math.cos(h) * r, u = o + Math.sin(h) * r, y = a + Math.cos(m) * r, g = o + Math.sin(m) * r; n.moveTo(V, U), n.arc(a, o, t.r, s, l, !i), n.bezierCurveTo(.7 * (a - d) + d, .7 * (o - p) + p, .7 * (a - c) + c, .7 * (o - u) + u, c, u), (t.source0 !== t.target0 || t.source1 !== t.target1) && (n.arc(a, o, t.r, h, m, !i), n.bezierCurveTo(.7 * (a - y) + y, .7 * (o - g) + g, .7 * (a - V) + V, .7 * (o - U) + U, V, U)) }, getRect: function (e) { return e.__rect ? e.__rect : (this._pathProxy.isEmpty() || this.buildPath(null, e), this._pathProxy.fastBoundingRect()) }, isCover: function (e, t) { var i = this.getRect(this.style); return e >= i.x && e <= i.x + i.width && t >= i.y && t <= i.y + i.height ? o.isInsidePath(this._pathProxy.pathCommands, 0, "fill", e, t) : void 0 } }, a.inherits(t, i), t }),i("echarts/data/Graph", ["require", "zrender/tool/util"], function (e) { var t = e("zrender/tool/util"), i = function (e) { this._directed = e || !1, this.nodes = [], this.edges = [], this._nodesMap = {}, this._edgesMap = {} }; i.prototype.isDirected = function () { return this._directed }, i.prototype.addNode = function (e, t) { if (this._nodesMap[e]) return this._nodesMap[e]; var n = new i.Node(e, t); return this.nodes.push(n), this._nodesMap[e] = n, n }, i.prototype.getNodeById = function (e) { return this._nodesMap[e] }, i.prototype.addEdge = function (e, t, n) { if ("string" == typeof e && (e = this._nodesMap[e]), "string" == typeof t && (t = this._nodesMap[t]), e && t) { var a = e.id + "-" + t.id; if (this._edgesMap[a]) return this._edgesMap[a]; var o = new i.Edge(e, t, n); return this._directed && (e.outEdges.push(o), t.inEdges.push(o)), e.edges.push(o), e !== t && t.edges.push(o), this.edges.push(o), this._edgesMap[a] = o, o } }, i.prototype.removeEdge = function (e) { var i = e.node1, n = e.node2, a = i.id + "-" + n.id; this._directed && (i.outEdges.splice(t.indexOf(i.outEdges, e), 1), n.inEdges.splice(t.indexOf(n.inEdges, e), 1)), i.edges.splice(t.indexOf(i.edges, e), 1), i !== n && n.edges.splice(t.indexOf(n.edges, e), 1), delete this._edgesMap[a], this.edges.splice(t.indexOf(this.edges, e), 1) }, i.prototype.getEdge = function (e, t) { return "string" != typeof e && (e = e.id), "string" != typeof t && (t = t.id), this._directed ? this._edgesMap[e + "-" + t] : this._edgesMap[e + "-" + t] || this._edgesMap[t + "-" + e] }, i.prototype.removeNode = function (e) { if ("string" != typeof e || (e = this._nodesMap[e])) { delete this._nodesMap[e.id], this.nodes.splice(t.indexOf(this.nodes, e), 1); for (var i = 0; i < this.edges.length;) { var n = this.edges[i]; n.node1 === e || n.node2 === e ? this.removeEdge(n) : i++ } } }, i.prototype.filterNode = function (e, t) { for (var i = this.nodes.length, n = 0; i > n;) e.call(t, this.nodes[n], n) ? n++ : (this.removeNode(this.nodes[n]), i--) }, i.prototype.filterEdge = function (e, t) { for (var i = this.edges.length, n = 0; i > n;) e.call(t, this.edges[n], n) ? n++ : (this.removeEdge(this.edges[n]), i--) }, i.prototype.eachNode = function (e, t) { for (var i = this.nodes.length, n = 0; i > n; n++) this.nodes[n] && e.call(t, this.nodes[n], n) }, i.prototype.eachEdge = function (e, t) { for (var i = this.edges.length, n = 0; i > n; n++) this.edges[n] && e.call(t, this.edges[n], n) }, i.prototype.clear = function () { this.nodes.length = 0, this.edges.length = 0, this._nodesMap = {}, this._edgesMap = {} }, i.prototype.breadthFirstTraverse = function (e, t, i, n) { if ("string" == typeof t && (t = this._nodesMap[t]), t) { var a = "edges"; "out" === i ? a = "outEdges" : "in" === i && (a = "inEdges"); for (var o = 0; o < this.nodes.length; o++) this.nodes[o].__visited = !1; if (!e.call(n, t, null)) for (var r = [t]; r.length;) for (var s = r.shift(), l = s[a], o = 0; o < l.length; o++) { var h = l[o], m = h.node1 === s ? h.node2 : h.node1; if (!m.__visited) { if (e.call(m, m, s)) return; r.push(m), m.__visited = !0 } } } }, i.prototype.clone = function () { for (var e = new i(this._directed), t = 0; t < this.nodes.length; t++) e.addNode(this.nodes[t].id, this.nodes[t].data); for (var t = 0; t < this.edges.length; t++) { var n = this.edges[t]; e.addEdge(n.node1.id, n.node2.id, n.data) } return e }; var n = function (e, t) { this.id = e, this.data = t || null, this.inEdges = [], this.outEdges = [], this.edges = [] }; n.prototype.degree = function () { return this.edges.length }, n.prototype.inDegree = function () { return this.inEdges.length }, n.prototype.outDegree = function () { return this.outEdges.length }; var a = function (e, t, i) { this.node1 = e, this.node2 = t, this.data = i || null }; return i.Node = n, i.Edge = a, i.fromMatrix = function (e, t, n) { if (t && t.length && t[0].length === t.length && e.length === t.length) { for (var a = t.length, o = new i(n), r = 0; a > r; r++) { var s = o.addNode(e[r].id, e[r]); s.data.value = 0, n && (s.data.outValue = s.data.inValue = 0) } for (var r = 0; a > r; r++) for (var l = 0; a > l; l++) { var h = t[r][l]; n && (o.nodes[r].data.outValue += h, o.nodes[l].data.inValue += h), o.nodes[r].data.value += h, o.nodes[l].data.value += h } for (var r = 0; a > r; r++) for (var l = r; a > l; l++) { var h = t[r][l]; if (0 !== h) { var m = o.nodes[r], V = o.nodes[l], U = o.addEdge(m, V, {}); if (U.data.weight = h, r !== l && n && t[l][r]) { var d = o.addEdge(V, m, {}); d.data.weight = t[l][r] } } } return o } }, i }),i("echarts/layout/Chord", ["require"], function () { var e = function (e) { e = e || {}, this.sort = e.sort || null, this.sortSub = e.sortSub || null, this.padding = .05, this.startAngle = e.startAngle || 0, this.clockWise = null == e.clockWise ? !1 : e.clockWise, this.center = e.center || [0, 0], this.directed = !0 }; e.prototype.run = function (e) { e instanceof Array || (e = [e]); var n = e.length; if (n) { for (var a = e[0], o = a.nodes.length, r = [], s = 0, l = 0; o > l; l++) { var h = a.nodes[l], m = {size: 0, subGroups: [], node: h}; r.push(m); for (var V = 0, U = 0; U < e.length; U++) { var d = e[U], p = d.getNodeById(h.id); if (p) { m.size += p.layout.size; for (var c = this.directed ? p.outEdges : p.edges, u = 0; u < c.length; u++) { var y = c[u], g = y.layout.weight; m.subGroups.push({weight: g, edge: y, graph: d}), V += g } } } s += m.size; for (var b = m.size / V, u = 0; u < m.subGroups.length; u++) m.subGroups[u].weight *= b; "ascending" === this.sortSub ? m.subGroups.sort(t) : "descending" === this.sort && (m.subGroups.sort(t), m.subGroups.reverse()) } "ascending" === this.sort ? r.sort(i) : "descending" === this.sort && (r.sort(i), r.reverse()); for (var b = (2 * Math.PI - this.padding * o) / s, f = this.startAngle, k = this.clockWise ? 1 : -1, l = 0; o > l; l++) { var m = r[l]; m.node.layout.startAngle = f, m.node.layout.endAngle = f + k * m.size * b, m.node.layout.subGroups = []; for (var u = 0; u < m.subGroups.length; u++) { var x = m.subGroups[u]; x.edge.layout.startAngle = f, f += k * x.weight * b, x.edge.layout.endAngle = f } f = m.node.layout.endAngle + k * this.padding } } }; var t = function (e, t) { return e.weight - t.weight }, i = function (e, t) { return e.size - t.size }; return e }),i("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 (e) { "use strict"; function t(e, t, o, h, m) { var V = this; r.call(this, e, t, o, h, m), this.__nodePositionMap = {}, this._graph = new s(!0), this._layout = new l, this._layout.onupdate = function () { V._step() }, this._steps = 1, this.ondragstart = function () { i.apply(V, arguments) }, this.ondragend = function () { a.apply(V, arguments) }, this.ondrop = function () { }, this.shapeHandler.ondragstart = function () { V.isDragstart = !0 }, this.onmousemove = function () { n.apply(V, arguments) }, this.refresh(h) } function i(e) { if (this.isDragstart && e.target) { var t = e.target; t.fixed = !0, this.isDragstart = !1, this.zr.on(u.EVENT.MOUSEMOVE, this.onmousemove) } } function n() { this._layout.temperature = .8, this._step() } function a(e, t) { if (this.isDragend && e.target) { var i = e.target; i.fixed = !1, t.dragIn = !0, t.needRefresh = !1, this.isDragend = !1, this.zr.un(u.EVENT.MOUSEMOVE, this.onmousemove) } } function o(e, t, i) { var n = y.create(); return n[0] = (Math.random() - .5) * i + e, n[1] = (Math.random() - .5) * i + t, n } var r = e("./base"), s = e("../data/Graph"), l = e("../layout/Force"), h = e("zrender/shape/Line"), m = e("zrender/shape/BezierCurve"), V = e("zrender/shape/Image"), U = e("../util/shape/Icon"), d = e("../config"); d.force = { zlevel: 1, z: 2, center: ["50%", "50%"], size: "100%", preventOverlap: !1, coolDown: .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 p = e("../util/ecData"), c = e("zrender/tool/util"), u = e("zrender/config"), y = e("zrender/tool/vector"); return t.prototype = { constructor: t, type: d.CHART_TYPE_FORCE, _init: function () { this.selectedMap = {}; var e, t = this.component.legend, i = this.series; this.clear(); for (var n = 0, a = i.length; a > n; n++) { var o = i[n]; if (o.type === d.CHART_TYPE_FORCE) { if (i[n] = this.reformOption(i[n]), e = i[n].name || "", this.selectedMap[e] = t ? t.isSelected(e) : !0, !this.selectedMap[e]) continue; this.buildMark(n), this._initSerie(o, n); break } } this.animationEffect() }, _getNodeCategory: function (e, t) { return e.categories && e.categories[t.category || 0] }, _getNodeQueryTarget: function (e, t, i) { i = i || "normal"; var n = this._getNodeCategory(e, t) || {}; return [t.itemStyle && t.itemStyle[i], n && n.itemStyle && n.itemStyle[i], e.itemStyle[i].nodeStyle] }, _getEdgeQueryTarget: function (e, t, i) { return i = i || "normal", [t.itemStyle && t.itemStyle[i], e.itemStyle[i].linkStyle] }, _initSerie: function (e, t) { this._temperature = 1, e.matrix ? this._graph = this._getSerieGraphFromDataMatrix(e) : e.links && (this._graph = this._getSerieGraphFromNodeLinks(e)), this._buildLinkShapes(e, t), this._buildNodeShapes(e, t); var i = e.roam === !0 || "move" === e.roam, n = e.roam === !0 || "scale" === e.roam; this.zr.modLayer(this.getZlevelBase(), { panable: i, zoomable: n }), (this.query("markPoint.effect.show") || this.query("markLine.effect.show")) && this.zr.modLayer(d.EFFECT_ZLEVEL, { panable: i, zoomable: n }), this._initLayout(e), this._step() }, _getSerieGraphFromDataMatrix: function (e) { for (var t = [], i = 0, n = [], a = 0; a < e.matrix.length; a++) n[a] = e.matrix[a].slice(); for (var o = e.data || e.nodes, a = 0; a < o.length; a++) { var r = {}, l = o[a]; for (var h in l) "name" === h ? r.id = l.name : r[h] = l[h]; var m = this._getNodeCategory(e, l), V = m ? m.name : l.name; if (this.selectedMap[V] = this.isSelected(V), this.selectedMap[V]) t.push(r), i++; else { n.splice(i, 1); for (var U = 0; U < n.length; U++) n[U].splice(i, 1) } } var d = s.fromMatrix(t, n, !0); return d.eachNode(function (e, t) { e.layout = {size: e.data.value, mass: 0}, e.rawIndex = t }), d.eachEdge(function (e) { e.layout = {weight: e.data.weight} }), d }, _getSerieGraphFromNodeLinks: function (e) { for (var t = new s(!0), i = e.data || e.nodes, n = 0, a = i.length; a > n; n++) { var o = i[n]; if (o && !o.ignore) { var r = this._getNodeCategory(e, o), l = r ? r.name : o.name; if (this.selectedMap[l] = this.isSelected(l), this.selectedMap[l]) { var h = t.addNode(o.name, o); h.rawIndex = n } } } for (var n = 0, a = e.links.length; a > n; n++) { var m = e.links[n], V = m.source, U = m.target; "number" == typeof V && (V = i[V], V && (V = V.name)), "number" == typeof U && (U = i[U], U && (U = U.name)); var d = t.addEdge(V, U, m); d && (d.rawIndex = n) } return t.eachNode(function (e) { var t = e.data.value; if (null == t) { t = 0; for (var i = 0; i < e.edges.length; i++) t += e.edges[i].data.weight || 0 } e.layout = {size: t, mass: 0} }), t.eachEdge(function (e) { e.layout = {weight: null == e.data.weight ? 1 : e.data.weight} }), t }, _initLayout: function (e) { var t = this._graph, i = t.nodes.length, n = this.query(e, "minRadius"), a = this.query(e, "maxRadius"); this._steps = e.steps || 1; var r = this._layout; r.center = this.parseCenter(this.zr, e.center), r.width = this.parsePercent(e.size, this.zr.getWidth()), r.height = this.parsePercent(e.size, this.zr.getHeight()), r.large = e.large, r.scaling = e.scaling, r.ratioScaling = e.ratioScaling, r.gravity = e.gravity, r.temperature = 1, r.coolDown = e.coolDown, r.preventNodeEdgeOverlap = e.preventOverlap, r.preventNodeOverlap = e.preventOverlap; for (var s = 1 / 0, l = -(1 / 0), h = 0; i > h; h++) { var m = t.nodes[h]; l = Math.max(m.layout.size, l), s = Math.min(m.layout.size, s) } for (var V = l - s, h = 0; i > h; h++) { var m = t.nodes[h]; V > 0 ? (m.layout.size = (m.layout.size - s) * (a - n) / V + n, m.layout.mass = m.layout.size / a) : (m.layout.size = (a - n) / 2, m.layout.mass = .5) } for (var h = 0; i > h; h++) { var m = t.nodes[h]; if ("undefined" != typeof this.__nodePositionMap[m.id]) m.layout.position = y.create(), y.copy(m.layout.position, this.__nodePositionMap[m.id]); else if ("undefined" != typeof m.data.initial) m.layout.position = y.create(), y.copy(m.layout.position, m.data.initial); else { var U = this._layout.center, d = Math.min(this._layout.width, this._layout.height); m.layout.position = o(U[0], U[1], .8 * d) } var p = m.shape.style, c = m.layout.size; p.width = p.width || 2 * c, p.height = p.height || 2 * c, p.x = -p.width / 2, p.y = -p.height / 2, y.copy(m.shape.position, m.layout.position) } i = t.edges.length, l = -(1 / 0); for (var h = 0; i > h; h++) { var u = t.edges[h]; u.layout.weight > l && (l = u.layout.weight) } for (var h = 0; i > h; h++) { var u = t.edges[h]; u.layout.weight /= l } this._layout.init(t, e.useWorker) }, _buildNodeShapes: function (e, t) { var i = this._graph, n = this.query(e, "categories"); i.eachNode(function (i) { var a = this._getNodeCategory(e, i.data), o = [i.data, a, e], r = this._getNodeQueryTarget(e, i.data), s = this._getNodeQueryTarget(e, i.data, "emphasis"), l = new U({ style: { x: 0, y: 0, color: this.deepQuery(r, "color"), brushType: "both", strokeColor: this.deepQuery(r, "strokeColor") || this.deepQuery(r, "borderColor"), lineWidth: this.deepQuery(r, "lineWidth") || this.deepQuery(r, "borderWidth") }, highlightStyle: { color: this.deepQuery(s, "color"), strokeColor: this.deepQuery(s, "strokeColor") || this.deepQuery(s, "borderColor"), lineWidth: this.deepQuery(s, "lineWidth") || this.deepQuery(s, "borderWidth") }, clickable: e.clickable, zlevel: this.getZlevelBase(), z: this.getZBase() }); l.style.color || (l.style.color = this.getColor(a ? a.name : i.id)), l.style.iconType = this.deepQuery(o, "symbol"); var h = this.deepQuery(o, "symbolSize") || 0; "number" == typeof h && (h = [h, h]), l.style.width = 2 * h[0], l.style.height = 2 * h[1], l.style.iconType.match("image") && (l.style.image = l.style.iconType.replace(new RegExp("^image:\\/\\/"), ""), l = new V({ style: l.style, highlightStyle: l.highlightStyle, clickable: l.clickable, zlevel: this.getZlevelBase(), z: this.getZBase() })), this.deepQuery(o, "itemStyle.normal.label.show") && (l.style.text = null == i.data.label ? i.id : i.data.label, l.style.textPosition = this.deepQuery(o, "itemStyle.normal.label.position"), l.style.textColor = this.deepQuery(o, "itemStyle.normal.label.textStyle.color"), l.style.textFont = this.getFont(this.deepQuery(o, "itemStyle.normal.label.textStyle") || {})), this.deepQuery(o, "itemStyle.emphasis.label.show") && (l.highlightStyle.textPosition = this.deepQuery(o, "itemStyle.emphasis.label.position"), l.highlightStyle.textColor = this.deepQuery(o, "itemStyle.emphasis.label.textStyle.color"), l.highlightStyle.textFont = this.getFont(this.deepQuery(o, "itemStyle.emphasis.label.textStyle") || {})), this.deepQuery(o, "draggable") && (this.setCalculable(l), l.dragEnableTime = 0, l.draggable = !0, l.ondragstart = this.shapeHandler.ondragstart, l.ondragover = null); var m = ""; if ("undefined" != typeof i.category) { var a = n[i.category]; m = a && a.name || "" } p.pack(l, e, t, i.data, i.rawIndex, i.data.name || "", i.category), this.shapeList.push(l), this.zr.addShape(l), i.shape = l }, this) }, _buildLinkShapes: function (e, t) { for (var i = this._graph, n = i.edges.length, a = 0; n > a; a++) { var o = i.edges[a], r = o.data, s = o.node1, l = o.node2, V = i.getEdge(l, s), d = this._getEdgeQueryTarget(e, r), u = this.deepQuery(d, "type"); e.linkSymbol && "none" !== e.linkSymbol && (u = "line"); var y = "line" === u ? h : m, g = new y({ style: {xStart: 0, yStart: 0, xEnd: 0, yEnd: 0}, clickable: this.query(e, "clickable"), highlightStyle: {}, zlevel: this.getZlevelBase(), z: this.getZBase() }); if (V && V.shape && (g.style.offset = 4, V.shape.style.offset = 4), c.merge(g.style, this.query(e, "itemStyle.normal.linkStyle"), !0), c.merge(g.highlightStyle, this.query(e, "itemStyle.emphasis.linkStyle"), !0), "undefined" != typeof r.itemStyle && (r.itemStyle.normal && c.merge(g.style, r.itemStyle.normal, !0), r.itemStyle.emphasis && c.merge(g.highlightStyle, r.itemStyle.emphasis, !0)), g.style.lineWidth = g.style.lineWidth || g.style.width, g.style.strokeColor = g.style.strokeColor || g.style.color, g.highlightStyle.lineWidth = g.highlightStyle.lineWidth || g.highlightStyle.width, g.highlightStyle.strokeColor = g.highlightStyle.strokeColor || g.highlightStyle.color, p.pack(g, e, t, o.data, null == o.rawIndex ? a : o.rawIndex, o.data.name || s.id + " - " + l.id, s.id, l.id), this.shapeList.push(g), this.zr.addShape(g), o.shape = g, e.linkSymbol && "none" !== e.linkSymbol) { var b = new U({ style: { x: -5, y: 0, width: e.linkSymbolSize[0], height: e.linkSymbolSize[1], iconType: e.linkSymbol, brushType: "fill", color: g.style.strokeColor }, highlightStyle: {brushType: "fill"}, position: [0, 0], rotation: 0, zlevel: this.getZlevelBase(), z: this.getZBase() }); g._symbolShape = b, this.shapeList.push(b), this.zr.addShape(b) } } }, _updateLinkShapes: function () { for (var e = y.create(), t = y.create(), i = y.create(), n = y.create(), a = this._graph.edges, o = 0, r = a.length; r > o; o++) { var s = a[o], l = s.node1.shape, h = s.node2.shape; y.copy(i, l.position), y.copy(n, h.position); var m = s.shape.style; if (y.sub(e, i, n), y.normalize(e, e), m.offset ? (t[0] = e[1], t[1] = -e[0], y.scaleAndAdd(i, i, t, m.offset), y.scaleAndAdd(n, n, t, m.offset)) : "bezier-curve" === s.shape.type && (m.cpX1 = (i[0] + n[0]) / 2 - (n[1] - i[1]) / 4, m.cpY1 = (i[1] + n[1]) / 2 - (i[0] - n[0]) / 4), m.xStart = i[0], m.yStart = i[1], m.xEnd = n[0], m.yEnd = n[1], s.shape.modSelf(), s.shape._symbolShape) { var V = s.shape._symbolShape; y.copy(V.position, n), y.scaleAndAdd(V.position, V.position, e, h.style.width / 2 + 2); var U = Math.atan2(e[1], e[0]); V.rotation = Math.PI / 2 - U, V.modSelf() } } }, _syncNodePositions: function () { for (var e = this._graph, t = 0; t < e.nodes.length; t++) { var i = e.nodes[t], n = i.layout.position, a = i.data, o = i.shape, r = o.fixed || a.fixX, s = o.fixed || a.fixY; r === !0 ? r = 1 : isNaN(r) && (r = 0), s === !0 ? s = 1 : isNaN(s) && (s = 0), o.position[0] += (n[0] - o.position[0]) * (1 - r), o.position[1] += (n[1] - o.position[1]) * (1 - s), y.copy(n, o.position); var l = a.name; if (l) { var h = this.__nodePositionMap[l]; h || (h = this.__nodePositionMap[l] = y.create()), y.copy(h, n) } o.modSelf() } }, _step: function () { this._syncNodePositions(), this._updateLinkShapes(), this.zr.refreshNextFrame(), this._layout.temperature > .01 ? this._layout.step(this._steps) : this.messageCenter.dispatch(d.EVENT.FORCE_LAYOUT_END, {}, {}, this.myChart) }, refresh: function (e) { if (e && (this.option = e, this.series = this.option.series), this.legend = this.component.legend, this.legend) this.getColor = function (e) { return this.legend.getColor(e) }, this.isSelected = function (e) { return this.legend.isSelected(e) }; else { var t = {}, i = 0; this.getColor = function (e) { return t[e] ? t[e] : (t[e] || (t[e] = this.zr.getColor(i++)), t[e]) }, 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 e = []; return this._graph.eachNode(function (t) { t.layout && e.push({name: t.data.name, position: Array.prototype.slice.call(t.layout.position)}) }), e } }, c.inherits(t, r), e("../chart").define("force", t), t }),i("echarts/layout/Force", ["require", "./forceLayoutWorker", "zrender/tool/vector"], function (e) { function t() { if ("undefined" != typeof Worker && "undefined" != typeof Blob) try { var e = new Blob([n.getWorkerCode()]); i = window.URL.createObjectURL(e) } catch (t) { i = "" } return i } var i, n = e("./forceLayoutWorker"), a = e("zrender/tool/vector"), o = window.requestAnimationFrame || window.msRequestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function (e) { setTimeout(e, 16) }, r = "undefined" == typeof Float32Array ? Array : Float32Array, s = function (e) { "undefined" == typeof i && t(), e = e || {}, this.width = e.width || 500, this.height = e.height || 500, this.center = e.center || [this.width / 2, this.height / 2], this.ratioScaling = e.ratioScaling || !1, this.scaling = e.scaling || 1, this.gravity = "undefined" != typeof e.gravity ? e.gravity : 1, this.large = e.large || !1, this.preventNodeOverlap = e.preventNodeOverlap || !1, this.preventNodeEdgeOverlap = e.preventNodeEdgeOverlap || !1, this.maxSpeedIncrease = e.maxSpeedIncrease || 1, this.onupdate = e.onupdate || function () { }, this.temperature = e.temperature || 1, this.coolDown = e.coolDown || .99, this._layout = null, this._layoutWorker = null; var n = this, a = this._$onupdate; this._$onupdate = function (e) { a.call(n, e) } }; return s.prototype.updateConfig = function () { var e = this.width, t = this.height, i = Math.min(e, t), n = { center: this.center, width: this.ratioScaling ? e : i, height: this.ratioScaling ? t : i, 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: n }); else for (var a in n) this._layout[a] = n[a] }, s.prototype.init = function (e, t) { if (this._layoutWorker && (this._layoutWorker.terminate(), this._layoutWorker = null), i && t) try { this._layoutWorker || (this._layoutWorker = new Worker(i), this._layoutWorker.onmessage = this._$onupdate), this._layout = null } catch (a) { this._layoutWorker = null, this._layout || (this._layout = new n) } else this._layout || (this._layout = new n); this.temperature = 1, this.graph = e; for (var o = e.nodes.length, s = new r(2 * o), l = new r(o), h = new r(o), m = 0; o > m; m++) { var V = e.nodes[m]; s[2 * m] = V.layout.position[0], s[2 * m + 1] = V.layout.position[1], l[m] = "undefined" == typeof V.layout.mass ? 1 : V.layout.mass, h[m] = "undefined" == typeof V.layout.size ? 1 : V.layout.size, V.layout.__index = m } o = e.edges.length; for (var U = new r(2 * o), d = new r(o), m = 0; o > m; m++) { var p = e.edges[m]; U[2 * m] = p.node1.layout.__index, U[2 * m + 1] = p.node2.layout.__index, d[m] = p.layout.weight || 1 } this._layoutWorker ? this._layoutWorker.postMessage({ cmd: "init", nodesPosition: s, nodesMass: l, nodesSize: h, edges: U, edgesWeight: d }) : (this._layout.initNodes(s, l, h), this._layout.initEdges(U, d)), this.updateConfig() }, s.prototype.step = function (e) { var t = this.graph.nodes; if (this._layoutWorker) { for (var i = new r(2 * t.length), n = 0; n < t.length; n++) { var s = t[n]; i[2 * n] = s.layout.position[0], i[2 * n + 1] = s.layout.position[1] } this._layoutWorker.postMessage(i.buffer, [i.buffer]), this._layoutWorker.postMessage({ cmd: "update", steps: e, temperature: this.temperature, coolDown: this.coolDown }); for (var n = 0; e > n; n++) this.temperature *= this.coolDown } else { o(this._$onupdate); for (var n = 0; n < t.length; n++) { var s = t[n]; a.copy(this._layout.nodes[n].position, s.layout.position) } for (var n = 0; e > n; n++) this._layout.temperature = this.temperature, this._layout.update(), this.temperature *= this.coolDown } }, s.prototype._$onupdate = function (e) { if (this._layoutWorker) { for (var t = new Float32Array(e.data), i = 0; i < this.graph.nodes.length; i++) { var n = this.graph.nodes[i]; n.layout.position[0] = t[2 * i], n.layout.position[1] = t[2 * i + 1] } this.onupdate && this.onupdate() } else if (this._layout) { for (var i = 0; i < this.graph.nodes.length; i++) { var n = this.graph.nodes[i]; a.copy(n.layout.position, this._layout.nodes[i].position) } this.onupdate && this.onupdate() } }, s.prototype.dispose = function () { this._layoutWorker && this._layoutWorker.terminate(), this._layoutWorker = null, this._layout = null }, s }),i("echarts/layout/forceLayoutWorker", ["require", "zrender/tool/vector"], function o(e) { "use strict"; function t() { this.subRegions = [], this.nSubRegions = 0, this.node = null, this.mass = 0, this.centerOfMass = null, this.bbox = new l(4), this.size = 0 } function i() { this.position = r.create(), this.force = r.create(), this.forcePrev = r.create(), this.speed = r.create(), this.speedPrev = r.create(), this.mass = 1, this.inDegree = 0, this.outDegree = 0 } function n(e, t) { this.node1 = e, this.node2 = t, this.weight = 1 } function a() { 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 l(4), this._rootRegion = new t, this._rootRegion.centerOfMass = r.create(), this._massArr = null, this._k = 0 } var r, s = "undefined" == typeof window && "undefined" == typeof e; r = s ? { create: function (e, t) { var i = new Float32Array(2); return i[0] = e || 0, i[1] = t || 0, i }, dist: function (e, t) { var i = t[0] - e[0], n = t[1] - e[1]; return Math.sqrt(i * i + n * n) }, len: function (e) { var t = e[0], i = e[1]; return Math.sqrt(t * t + i * i) }, scaleAndAdd: function (e, t, i, n) { return e[0] = t[0] + i[0] * n, e[1] = t[1] + i[1] * n, e }, scale: function (e, t, i) { return e[0] = t[0] * i, e[1] = t[1] * i, e }, add: function (e, t, i) { return e[0] = t[0] + i[0], e[1] = t[1] + i[1], e }, sub: function (e, t, i) { return e[0] = t[0] - i[0], e[1] = t[1] - i[1], e }, dot: function (e, t) { return e[0] * t[0] + e[1] * t[1] }, normalize: function (e, t) { var i = t[0], n = t[1], a = i * i + n * n; return a > 0 && (a = 1 / Math.sqrt(a), e[0] = t[0] * a, e[1] = t[1] * a), e }, negate: function (e, t) { return e[0] = -t[0], e[1] = -t[1], e }, copy: function (e, t) { return e[0] = t[0], e[1] = t[1], e }, set: function (e, t, i) { return e[0] = t, e[1] = i, e } } : e("zrender/tool/vector"); var l = "undefined" == typeof Float32Array ? Array : Float32Array; if (t.prototype.beforeUpdate = function () { for (var e = 0; e < this.nSubRegions; e++) this.subRegions[e].beforeUpdate(); this.mass = 0, this.centerOfMass && (this.centerOfMass[0] = 0, this.centerOfMass[1] = 0), this.nSubRegions = 0, this.node = null }, t.prototype.afterUpdate = function () { this.subRegions.length = this.nSubRegions; for (var e = 0; e < this.nSubRegions; e++) this.subRegions[e].afterUpdate() }, t.prototype.addNode = function (e) { if (0 === this.nSubRegions) { if (null == this.node) return void (this.node = e); this._addNodeToSubRegion(this.node), this.node = null } this._addNodeToSubRegion(e), this._updateCenterOfMass(e) }, t.prototype.findSubRegion = function (e, t) { for (var i = 0; i < this.nSubRegions; i++) { var n = this.subRegions[i]; if (n.contain(e, t)) return n } }, t.prototype.contain = function (e, t) { return this.bbox[0] <= e && this.bbox[2] >= e && this.bbox[1] <= t && this.bbox[3] >= t }, t.prototype.setBBox = function (e, t, i, n) { this.bbox[0] = e, this.bbox[1] = t, this.bbox[2] = i, this.bbox[3] = n, this.size = (i - e + n - t) / 2 }, t.prototype._newSubRegion = function () { var e = this.subRegions[this.nSubRegions]; return e || (e = new t, this.subRegions[this.nSubRegions] = e), this.nSubRegions++, e }, t.prototype._addNodeToSubRegion = function (e) { var t = this.findSubRegion(e.position[0], e.position[1]), i = this.bbox; if (!t) { var n = (i[0] + i[2]) / 2, a = (i[1] + i[3]) / 2, o = (i[2] - i[0]) / 2, r = (i[3] - i[1]) / 2, s = e.position[0] >= n ? 1 : 0, l = e.position[1] >= a ? 1 : 0, t = this._newSubRegion(); t.setBBox(s * o + i[0], l * r + i[1], (s + 1) * o + i[0], (l + 1) * r + i[1]) } t.addNode(e) }, t.prototype._updateCenterOfMass = function (e) { null == this.centerOfMass && (this.centerOfMass = r.create()); var t = this.centerOfMass[0] * this.mass, i = this.centerOfMass[1] * this.mass; t += e.position[0] * e.mass, i += e.position[1] * e.mass, this.mass += e.mass, this.centerOfMass[0] = t / this.mass, this.centerOfMass[1] = i / this.mass }, a.prototype.nodeToNodeRepulsionFactor = function (e, t, i) { return i * i * e / t }, a.prototype.edgeToNodeRepulsionFactor = function (e, t, i) { return i * e / t }, a.prototype.attractionFactor = function (e, t, i) { return e * t / i }, a.prototype.initNodes = function (e, t, n) { this.temperature = 1; var a = e.length / 2; this.nodes.length = 0; for (var o = "undefined" != typeof n, r = 0; a > r; r++) { var s = new i; s.position[0] = e[2 * r], s.position[1] = e[2 * r + 1], s.mass = t[r], o && (s.size = n[r]), this.nodes.push(s) } this._massArr = t, o && (this._sizeArr = n) }, a.prototype.initEdges = function (e, t) { var i = e.length / 2; this.edges.length = 0; for (var a = "undefined" != typeof t, o = 0; i > o; o++) { var r = e[2 * o], s = e[2 * o + 1], l = this.nodes[r], h = this.nodes[s]; if (l && h) { l.outDegree++, h.inDegree++; var m = new n(l, h); a && (m.weight = t[o]), this.edges.push(m) } } }, a.prototype.update = function () { var e = this.nodes.length; if (this.updateBBox(), this._k = .4 * this.scaling * Math.sqrt(this.width * this.height / e), this.barnesHutOptimize) { this._rootRegion.setBBox(this.bbox[0], this.bbox[1], this.bbox[2], this.bbox[3]), this._rootRegion.beforeUpdate(); for (var t = 0; e > t; t++) this._rootRegion.addNode(this.nodes[t]); this._rootRegion.afterUpdate() } else { var i = 0, n = this._rootRegion.centerOfMass; r.set(n, 0, 0); for (var t = 0; e > t; t++) { var a = this.nodes[t]; i += a.mass, r.scaleAndAdd(n, n, a.position, a.mass); } i > 0 && r.scale(n, n, 1 / i) } this.updateForce(), this.updatePosition() }, a.prototype.updateForce = function () { for (var e = this.nodes.length, t = 0; e > t; t++) { var i = this.nodes[t]; r.copy(i.forcePrev, i.force), r.copy(i.speedPrev, i.speed), r.set(i.force, 0, 0) } this.updateNodeNodeForce(), this.gravity > 0 && this.updateGravityForce(), this.updateEdgeForce(), this.preventNodeEdgeOverlap && this.updateNodeEdgeForce() }, a.prototype.updatePosition = function () { for (var e = this.nodes.length, t = r.create(), i = 0; e > i; i++) { var n = this.nodes[i], a = n.speed; r.scale(n.force, n.force, 1 / 30); var o = r.len(n.force) + .1, s = Math.min(o, 500) / o; r.scale(n.force, n.force, s), r.add(a, a, n.force), r.scale(a, a, this.temperature), r.sub(t, a, n.speedPrev); var l = r.len(t); if (l > 0) { r.scale(t, t, 1 / l); var h = r.len(n.speedPrev); h > 0 && (l = Math.min(l / h, this.maxSpeedIncrease) * h, r.scaleAndAdd(a, n.speedPrev, t, l)) } var m = r.len(a), s = Math.min(m, 100) / (m + .1); r.scale(a, a, s), r.add(n.position, n.position, a) } }, a.prototype.updateNodeNodeForce = function () { for (var e = this.nodes.length, t = 0; e > t; t++) { var i = this.nodes[t]; if (this.barnesHutOptimize) this.applyRegionToNodeRepulsion(this._rootRegion, i); else for (var n = t + 1; e > n; n++) { var a = this.nodes[n]; this.applyNodeToNodeRepulsion(i, a, !1) } } }, a.prototype.updateGravityForce = function () { for (var e = 0; e < this.nodes.length; e++) this.applyNodeGravity(this.nodes[e]) }, a.prototype.updateEdgeForce = function () { for (var e = 0; e < this.edges.length; e++) this.applyEdgeAttraction(this.edges[e]) }, a.prototype.updateNodeEdgeForce = function () { for (var e = 0; e < this.nodes.length; e++) for (var t = 0; t < this.edges.length; t++) this.applyEdgeToNodeRepulsion(this.edges[t], this.nodes[e]) }, a.prototype.applyRegionToNodeRepulsion = function () { var e = r.create(); return function (t, i) { if (t.node) this.applyNodeToNodeRepulsion(t.node, i, !0); else { if (0 === t.mass && 0 === i.mass) return; r.sub(e, i.position, t.centerOfMass); var n = e[0] * e[0] + e[1] * e[1]; if (n > this.barnesHutTheta * t.size * t.size) { var a = this._k * this._k * (i.mass + t.mass) / (n + 1); r.scaleAndAdd(i.force, i.force, e, 2 * a) } else for (var o = 0; o < t.nSubRegions; o++) this.applyRegionToNodeRepulsion(t.subRegions[o], i) } } }(), a.prototype.applyNodeToNodeRepulsion = function () { var e = r.create(); return function (t, i, n) { if (t !== i && (0 !== t.mass || 0 !== i.mass)) { r.sub(e, t.position, i.position); var a = e[0] * e[0] + e[1] * e[1]; if (0 !== a) { var o, s = t.mass + i.mass, l = Math.sqrt(a); r.scale(e, e, 1 / l), this.preventNodeOverlap ? (l = l - t.size - i.size, l > 0 ? o = this.nodeToNodeRepulsionFactor(s, l, this._k) : 0 >= l && (o = this._k * this._k * 10 * s)) : o = this.nodeToNodeRepulsionFactor(s, l, this._k), n || r.scaleAndAdd(t.force, t.force, e, 2 * o), r.scaleAndAdd(i.force, i.force, e, 2 * -o) } } } }(), a.prototype.applyEdgeAttraction = function () { var e = r.create(); return function (t) { var i = t.node1, n = t.node2; r.sub(e, i.position, n.position); var a, o = r.len(e); a = 0 === this.edgeWeightInfluence ? 1 : 1 == this.edgeWeightInfluence ? t.weight : Math.pow(t.weight, this.edgeWeightInfluence); var s; if (!(this.preventOverlap && (o = o - i.size - n.size, 0 >= o))) { var s = this.attractionFactor(a, o, this._k); r.scaleAndAdd(i.force, i.force, e, -s), r.scaleAndAdd(n.force, n.force, e, s) } } }(), a.prototype.applyNodeGravity = function () { var e = r.create(); return function (t) { r.sub(e, this.center, t.position), this.width > this.height ? e[1] *= this.width / this.height : e[0] *= this.height / this.width; var i = r.len(e) / 100; this.strongGravity ? r.scaleAndAdd(t.force, t.force, e, i * this.gravity * t.mass) : r.scaleAndAdd(t.force, t.force, e, this.gravity * t.mass / (i + 1)) } }(), a.prototype.applyEdgeToNodeRepulsion = function () { var e = r.create(), t = r.create(), i = r.create(); return function (n, a) { var o = n.node1, s = n.node2; if (o !== a && s !== a) { r.sub(e, s.position, o.position), r.sub(t, a.position, o.position); var l = r.len(e); r.scale(e, e, 1 / l); var h = r.dot(e, t); if (!(0 > h || h > l)) { r.scaleAndAdd(i, o.position, e, h); var m = r.dist(i, a.position) - a.size, V = this.edgeToNodeRepulsionFactor(a.mass, Math.max(m, .1), 100); r.sub(e, a.position, i), r.normalize(e, e), r.scaleAndAdd(a.force, a.force, e, V), r.scaleAndAdd(o.force, o.force, e, -V), r.scaleAndAdd(s.force, s.force, e, -V) } } } }(), a.prototype.updateBBox = function () { for (var e = 1 / 0, t = 1 / 0, i = -(1 / 0), n = -(1 / 0), a = 0; a < this.nodes.length; a++) { var o = this.nodes[a].position; e = Math.min(e, o[0]), t = Math.min(t, o[1]), i = Math.max(i, o[0]), n = Math.max(n, o[1]) } this.bbox[0] = e, this.bbox[1] = t, this.bbox[2] = i, this.bbox[3] = n }, a.getWorkerCode = function () { var e = o.toString(); return e.slice(e.indexOf("{") + 1, e.lastIndexOf("return")) }, s) { var h = null; self.onmessage = function (e) { if (e.data instanceof ArrayBuffer) { if (!h) return; for (var t = new Float32Array(e.data), i = t.length / 2, n = 0; i > n; n++) { var o = h.nodes[n]; o.position[0] = t[2 * n], o.position[1] = t[2 * n + 1] } } else switch (e.data.cmd) { case"init": h || (h = new a), h.initNodes(e.data.nodesPosition, e.data.nodesMass, e.data.nodesSize), h.initEdges(e.data.edges, e.data.edgesWeight); break; case"updateConfig": if (h) for (var r in e.data.config) h[r] = e.data.config[r]; break; case"update": var s = e.data.steps; if (h) { var i = h.nodes.length, t = new Float32Array(2 * i); h.temperature = e.data.temperature; for (var n = 0; s > n; n++) h.update(), h.temperature *= e.data.coolDown; for (var n = 0; i > n; n++) { var o = h.nodes[n]; t[2 * n] = o.position[0], t[2 * n + 1] = o.position[1] } self.postMessage(t.buffer, [t.buffer]) } else { var l = new Float32Array; self.postMessage(l.buffer, [l.buffer]) } } } } return a }),i("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 (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o); var r = this; r._onmousewheel = function (e) { return r.__onmousewheel(e) }, r._onmousedown = function (e) { return r.__onmousedown(e) }, r._onmousemove = function (e) { return r.__onmousemove(e) }, r._onmouseup = function (e) { return r.__onmouseup(e) }, r._onroamcontroller = function (e) { return r.__onroamcontroller(e) }, r._ondrhoverlink = function (e) { return r.__ondrhoverlink(e) }, 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(a), this.zr.on(c.EVENT.MOUSEWHEEL, this._onmousewheel), this.zr.on(c.EVENT.MOUSEDOWN, this._onmousedown), t.bind(U.EVENT.ROAMCONTROLLER, this._onroamcontroller), t.bind(U.EVENT.DATA_RANGE_HOVERLINK, this._ondrhoverlink) } var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Path"), o = e("zrender/shape/Circle"), r = e("zrender/shape/Rectangle"), s = e("zrender/shape/Line"), l = e("zrender/shape/Polygon"), h = e("zrender/shape/Ellipse"), m = e("zrender/shape/Image"); e("../component/dataRange"), e("../component/roamController"); var V = e("../layer/heatmap"), U = e("../config"); U.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 d = e("../util/ecData"), p = e("zrender/tool/util"), c = e("zrender/config"), u = e("zrender/tool/event"), y = e("../util/mapData/params").params, g = e("../util/mapData/textFixed"), b = e("../util/mapData/geoCoord"); return t.prototype = { type: U.CHART_TYPE_MAP, _buildShape: function () { var e = this.series; this.selectedMap = {}, this._activeMapType = {}; for (var t, i, n, a, o = this.component.legend, r = {}, s = {}, l = {}, h = {}, m = 0, V = e.length; V > m; m++) if (e[m].type == U.CHART_TYPE_MAP && (e[m] = this.reformOption(e[m]), i = e[m].mapType, s[i] = s[i] || {}, s[i][m] = !0, l[i] = l[i] || e[m].mapValuePrecision, this._scaleLimitMap[i] = this._scaleLimitMap[i] || {}, e[m].scaleLimit && p.merge(this._scaleLimitMap[i], e[m].scaleLimit, !0), this._roamMap[i] = e[m].roam || this._roamMap[i], (null == this._hoverLinkMap[i] || this._hoverLinkMap[i]) && (this._hoverLinkMap[i] = e[m].dataRangeHoverLink), this._nameMap[i] = this._nameMap[i] || {}, e[m].nameMap && p.merge(this._nameMap[i], e[m].nameMap, !0), this._activeMapType[i] = !0, e[m].textFixed && p.merge(g, e[m].textFixed, !0), e[m].geoCoord && p.merge(b, e[m].geoCoord, !0), this._selectedMode[i] = this._selectedMode[i] || e[m].selectedMode, (null == this._hoverable[i] || this._hoverable[i]) && (this._hoverable[i] = e[m].hoverable), (null == this._clickable[i] || this._clickable[i]) && (this._clickable[i] = e[m].clickable), (null == this._showLegendSymbol[i] || this._showLegendSymbol[i]) && (this._showLegendSymbol[i] = e[m].showLegendSymbol), h[i] = h[i] || e[m].mapValueCalculation, t = e[m].name, this.selectedMap[t] = o ? o.isSelected(t) : !0, this.selectedMap[t])) { r[i] = r[i] || {}, n = e[m].data; for (var d = 0, c = n.length; c > d; d++) { a = this._nameChange(i, n[d].name), r[i][a] = r[i][a] || { seriesIndex: [], valueMap: {}, precision: 0 }; for (var u in n[d]) "value" != u ? r[i][a][u] = n[d][u] : isNaN(n[d].value) || (null == r[i][a].value && (r[i][a].value = 0), r[i][a].precision = Math.max(this.getPrecision(+n[d].value), r[i][a].precision), r[i][a].value += +n[d].value, r[i][a].valueMap[m] = +n[d].value); r[i][a].seriesIndex.push(m) } } this._mapDataRequireCounter = 0; for (var f in r) this._mapDataRequireCounter++; this._clearSelected(), 0 === this._mapDataRequireCounter && (this.clear(), this.zr && this.zr.delShape(this.lastShapeList), this.lastShapeList = []); for (var f in r) { for (var c in r[f]) { "average" == h[f] && (r[f][c].value /= r[f][c].seriesIndex.length); var k = r[f][c].value; null != k && (r[f][c].value = k.toFixed(null == l[f] ? r[f][c].precision : l[f]) - 0) } this._mapDataMap[f] = this._mapDataMap[f] || {}, this._mapDataMap[f].mapData ? this._mapDataCallback(f, r[f], s[f])(this._mapDataMap[f].mapData) : y[f.replace(/\|.*/, "")].getGeoJson && (this._specialArea[f] = y[f.replace(/\|.*/, "")].specialArea || this._specialArea[f], y[f.replace(/\|.*/, "")].getGeoJson(this._mapDataCallback(f, r[f], s[f]))) } }, _mapDataCallback: function (t, i, n) { var a = this; return function (o) { a._isAlive && null != a._activeMapType[t] && (-1 != t.indexOf("|") && (o = a._getSubMapData(t, o)), a._mapDataMap[t].mapData = o, o.firstChild ? (a._mapDataMap[t].rate = 1, a._mapDataMap[t].projection = e("../util/projection/svg")) : (a._mapDataMap[t].rate = .75, a._mapDataMap[t].projection = e("../util/projection/normal")), a._buildMap(t, a._getProjectionData(t, o, n), i, n), a._buildMark(t, n), --a._mapDataRequireCounter <= 0 && (a.addShapeList(), a.zr.refreshNextFrame()), a._buildHeatmap(t)) } }, _clearSelected: function () { for (var e in this._selected) this._activeMapType[this._mapTypeMap[e]] || (delete this._selected[e], delete this._mapTypeMap[e]) }, _getSubMapData: function (e, t) { for (var i = e.replace(/^.*\|/, ""), n = t.features, a = 0, o = n.length; o > a; a++) if (n[a].properties && n[a].properties.name == i) { n = n[a], "United States of America" == i && n.geometry.coordinates.length > 1 && (n = { geometry: { coordinates: n.geometry.coordinates.slice(5, 6), type: n.geometry.type }, id: n.id, properties: n.properties, type: n.type }); break } return {type: "FeatureCollection", features: [n]} }, _getProjectionData: function (e, t, i) { var n, a = this._mapDataMap[e].projection, o = [], r = this._mapDataMap[e].bbox || a.getBbox(t, this._specialArea[e]); n = this._mapDataMap[e].hasRoam ? this._mapDataMap[e].transform : this._getTransform(r, i, this._mapDataMap[e].rate); var s, l = this._mapDataMap[e].lastTransform || {scale: {}}; n.left != l.left || n.top != l.top || n.scale.x != l.scale.x || n.scale.y != l.scale.y ? (s = a.geoJson2Path(t, n, this._specialArea[e]), l = p.clone(n)) : (n = this._mapDataMap[e].transform, s = this._mapDataMap[e].pathArray), this._mapDataMap[e].bbox = r, this._mapDataMap[e].transform = n, this._mapDataMap[e].lastTransform = l, this._mapDataMap[e].pathArray = s; for (var h = [n.left, n.top], m = 0, V = s.length; V > m; m++) o.push(this._getSingleProvince(e, s[m], h)); if (this._specialArea[e]) for (var U in this._specialArea[e]) o.push(this._getSpecialProjectionData(e, t, U, this._specialArea[e][U], h)); if ("china" == e) { var d = this.geo2pos(e, b["南海诸岛"] || y["南海诸岛"].textCoord), c = n.scale.x / 10.5, u = [32 * c + d[0], 83 * c + d[1]]; g["南海诸岛"] && (u[0] += g["南海诸岛"][0], u[1] += g["南海诸岛"][1]), o.push({ name: this._nameChange(e, "南海诸岛"), path: y["南海诸岛"].getPath(d, c), position: h, textX: u[0], textY: u[1] }) } return o }, _getSpecialProjectionData: function (t, i, n, a, o) { i = this._getSubMapData("x|" + n, i); var r = e("../util/projection/normal"), s = r.getBbox(i), l = this.geo2pos(t, [a.left, a.top]), h = this.geo2pos(t, [a.left + a.width, a.top + a.height]), m = Math.abs(h[0] - l[0]), V = Math.abs(h[1] - l[1]), U = s.width, d = s.height, p = m / .75 / U, c = V / d; p > c ? (p = .75 * c, m = U * p) : (c = p, p = .75 * c, V = d * c); var u = {OffsetLeft: l[0], OffsetTop: l[1], scale: {x: p, y: c}}, y = r.geoJson2Path(i, u); return this._getSingleProvince(t, y[0], o) }, _getSingleProvince: function (e, t, i) { var n, a = t.properties.name, o = g[a] || [0, 0]; if (b[a]) n = this.geo2pos(e, b[a]); else if (t.cp) n = [t.cp[0] + o[0], t.cp[1] + o[1]]; else { var r = this._mapDataMap[e].bbox; n = this.geo2pos(e, [r.left + r.width / 2, r.top + r.height / 2]), n[0] += o[0], n[1] += o[1] } return t.name = this._nameChange(e, a), t.position = i, t.textX = n[0], t.textY = n[1], t }, _getTransform: function (e, t, i) { var n, a, o, r, s, l, h, m = this.series, V = this.zr.getWidth(), U = this.zr.getHeight(), d = Math.round(.02 * Math.min(V, U)); for (var p in t) n = m[p].mapLocation || {}, o = n.x || o, s = n.y || s, l = n.width || l, h = n.height || h; a = this.parsePercent(o, V), a = isNaN(a) ? d : a, r = this.parsePercent(s, U), r = isNaN(r) ? d : r, l = null == l ? V - a - 2 * d : this.parsePercent(l, V), h = null == h ? U - r - 2 * d : this.parsePercent(h, U); var c = e.width, u = e.height, y = l / i / c, g = h / u; if (y > g ? (y = g * i, l = c * y) : (g = y, y = g * i, h = u * g), isNaN(o)) switch (o = o || "center", o + "") { case"center": a = Math.floor((V - l) / 2); break; case"right": a = V - l } if (isNaN(s)) switch (s = s || "center", s + "") { case"center": r = Math.floor((U - h) / 2); break; case"bottom": r = U - h } return {left: a, top: r, width: l, height: h, baseScale: 1, scale: {x: y, y: g}} }, _buildMap: function (e, t, i, m) { for (var V, c, u, y, g, b, f, k, x, _, L, W = this.series, X = this.component.legend, v = this.component.dataRange, w = 0, K = t.length; K > w; w++) { if (k = p.clone(t[w]), x = { name: k.name, path: k.path, position: p.clone(k.position) }, c = k.name, u = i[c]) { g = [u], V = ""; for (var I = 0, J = u.seriesIndex.length; J > I; I++) { var C = W[u.seriesIndex[I]]; g.push(C), V += C.name + " ", X && this._showLegendSymbol[e] && X.hasColor(C.name) && this.shapeList.push(new o({ zlevel: C.zlevel, z: C.z + 1, position: p.clone(k.position), _mapType: e, style: {x: k.textX + 3 + 7 * I, y: k.textY - 10, r: 3, color: X.getColor(C.name)}, hoverable: !1 })) } y = u.value } else { u = {name: c, value: "-"}, V = "", g = []; for (var S in m) g.push(W[S]); y = "-" } switch (this.ecTheme.map && g.push(this.ecTheme.map), g.push(U.map), b = v && !isNaN(y) ? v.getColor(y) : null, k.color = k.color || b || this.getItemStyleColor(this.deepQuery(g, "itemStyle.normal.color"), u.seriesIndex, -1, u) || this.deepQuery(g, "itemStyle.normal.areaStyle.color"), k.strokeColor = k.strokeColor || this.deepQuery(g, "itemStyle.normal.borderColor"), k.lineWidth = k.lineWidth || this.deepQuery(g, "itemStyle.normal.borderWidth"), x.color = this.getItemStyleColor(this.deepQuery(g, "itemStyle.emphasis.color"), u.seriesIndex, -1, u) || this.deepQuery(g, "itemStyle.emphasis.areaStyle.color") || k.color, x.strokeColor = this.deepQuery(g, "itemStyle.emphasis.borderColor") || k.strokeColor, x.lineWidth = this.deepQuery(g, "itemStyle.emphasis.borderWidth") || k.lineWidth, k.brushType = x.brushType = k.brushType || "both", k.lineJoin = x.lineJoin = "round", k._name = x._name = c, f = this.deepQuery(g, "itemStyle.normal.label.textStyle"), L = { zlevel: this.getZlevelBase(), z: this.getZBase() + 1, position: p.clone(k.position), _mapType: e, _geo: this.pos2geo(e, [k.textX, k.textY]), style: { brushType: "fill", x: k.textX, y: k.textY, text: this.getLabelText(c, y, g, "normal"), _name: c, textAlign: "center", color: this.deepQuery(g, "itemStyle.normal.label.show") ? this.deepQuery(g, "itemStyle.normal.label.textStyle.color") : "rgba(0,0,0,0)", textFont: this.getFont(f) } }, L._style = p.clone(L.style), L.highlightStyle = p.clone(L.style), this.deepQuery(g, "itemStyle.emphasis.label.show") ? (L.highlightStyle.text = this.getLabelText(c, y, g, "emphasis"), L.highlightStyle.color = this.deepQuery(g, "itemStyle.emphasis.label.textStyle.color") || L.style.color, f = this.deepQuery(g, "itemStyle.emphasis.label.textStyle") || f, L.highlightStyle.textFont = this.getFont(f)) : L.highlightStyle.color = "rgba(0,0,0,0)", _ = { zlevel: this.getZlevelBase(), z: this.getZBase(), position: p.clone(k.position), style: k, highlightStyle: x, _style: p.clone(k), _mapType: e }, null != k.scale && (_.scale = p.clone(k.scale)), L = new n(L), _.style.shapeType) { case"rectangle": _ = new r(_); break; case"line": _ = new s(_); break; case"circle": _ = new o(_); break; case"polygon": _ = new l(_); break; case"ellipse": _ = new h(_); break; default: _ = new a(_), _.buildPathArray && (_.style.pathArray = _.buildPathArray(_.style.path)) } (this._selectedMode[e] && this._selected[c] && u.selected !== !1 || u.selected === !0) && (L.style = L.highlightStyle, _.style = _.highlightStyle), L.clickable = _.clickable = this._clickable[e] && (null == u.clickable || u.clickable), this._selectedMode[e] && (this._selected[c] = null != this._selected[c] ? this._selected[c] : u.selected, this._mapTypeMap[c] = e, (null == u.selectable || u.selectable) && (_.clickable = L.clickable = !0, _.onclick = L.onclick = this.shapeHandler.onclick)), this._hoverable[e] && (null == u.hoverable || u.hoverable) ? (L.hoverable = _.hoverable = !0, _.hoverConnect = L.id, L.hoverConnect = _.id) : L.hoverable = _.hoverable = !1, d.pack(L, { name: V, tooltip: this.deepQuery(g, "tooltip") }, 0, u, 0, c), this.shapeList.push(L), d.pack(_, { name: V, tooltip: this.deepQuery(g, "tooltip") }, 0, u, 0, c), this.shapeList.push(_) } }, _buildMark: function (e, t) { this._seriesIndexToMapType = this._seriesIndexToMapType || {}, this.markAttachStyle = this.markAttachStyle || {}; var i = [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top]; "none" == e && (i = [0, 0]); for (var n in t) this._seriesIndexToMapType[n] = e, this.markAttachStyle[n] = { position: i, _mapType: e }, this.buildMark(n) }, _buildHeatmap: function (e) { for (var t = this.series, i = 0, n = t.length; n > i; i++) if (t[i].heatmap) { var a = t[i].heatmap.data; if (t[i].heatmap.needsTransform === !1) { for (var o = [], r = 0, s = a.length; s > r; ++r) o.push([a[r][3], a[r][4], a[r][2]]); var l = [0, 0] } else { var h = t[i].heatmap._geoData; if (void 0 === h) { t[i].heatmap._geoData = []; for (var r = 0, s = a.length; s > r; ++r) t[i].heatmap._geoData[r] = a[r]; h = t[i].heatmap._geoData } for (var s = a.length, U = 0; s > U; ++U) a[U] = this.geo2pos(e, [h[U][0], h[U][1]]); var l = [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top] } var d = new V(t[i].heatmap), p = d.getCanvas(a[0][3] ? o : a, this.zr.getWidth(), this.zr.getHeight()), c = new m({ zlevel: this.getZlevelBase(), z: this.getZBase() + 1, position: l, scale: [1, 1], hoverable: !1, style: {x: 0, y: 0, image: p, width: p.width, height: p.height} }); c.type = "heatmap", c._mapType = e, this.shapeList.push(c), this.zr.addShape(c) } }, getMarkCoord: function (e, t) { return t.geoCoord || b[t.name] ? this.geo2pos(this._seriesIndexToMapType[e], t.geoCoord || b[t.name]) : [0, 0] }, getMarkGeo: function (e) { return e.geoCoord || b[e.name] }, _nameChange: function (e, t) { return this._nameMap[e][t] || t }, getLabelText: function (e, t, i, n) { var a = this.deepQuery(i, "itemStyle." + n + ".label.formatter"); return a ? "function" == typeof a ? a.call(this.myChart, e, t) : "string" == typeof a ? (a = a.replace("{a}", "{a0}").replace("{b}", "{b0}"), a = a.replace("{a0}", e).replace("{b0}", t)) : void 0 : e }, _findMapTypeByPos: function (e, t) { var i, n, a, o, r; for (var s in this._mapDataMap) if (i = this._mapDataMap[s].transform, i && this._roamMap[s] && this._activeMapType[s] && (n = i.left, a = i.top, o = i.width, r = i.height, e >= n && n + o >= e && t >= a && a + r >= t)) return s }, __onmousewheel: function (e) { function t(e, t) { for (var i = 0; i < e.pointList.length; i++) { var n = e.pointList[i]; n[0] *= t, n[1] *= t } var a = e.controlPointList; if (a) for (var i = 0; i < a.length; i++) { var n = a[i]; n[0] *= t, n[1] *= t } } function i(e, t) { e.xStart *= t, e.yStart *= t, e.xEnd *= t, e.yEnd *= t, null != e.cpX1 && (e.cpX1 *= t, e.cpY1 *= t) } if (!(this.shapeList.length <= 0)) { for (var n = 0, a = this.shapeList.length; a > n; n++) { var o = this.shapeList[n]; if (o.__animating) return } var r, s, l = e.event, h = u.getX(l), m = u.getY(l), V = u.getDelta(l), d = e.mapTypeControl; d || (d = {}, s = this._findMapTypeByPos(h, m), s && this._roamMap[s] && "move" != this._roamMap[s] && (d[s] = !0)); var p = !1; for (s in d) if (d[s]) { p = !0; var c = this._mapDataMap[s].transform, y = c.left, g = c.top, b = c.width, f = c.height, k = this.pos2geo(s, [h - y, m - g]); if (V > 0) { if (r = 1.2, null != this._scaleLimitMap[s].max && c.baseScale >= this._scaleLimitMap[s].max) continue } else if (r = 1 / 1.2, null != this._scaleLimitMap[s].min && c.baseScale <= this._scaleLimitMap[s].min) continue; c.baseScale *= r, c.scale.x *= r, c.scale.y *= r, c.width = b * r, c.height = f * r, this._mapDataMap[s].hasRoam = !0, this._mapDataMap[s].transform = c, k = this.geo2pos(s, k), c.left -= k[0] - (h - y), c.top -= k[1] - (m - g), this._mapDataMap[s].transform = c, this.clearEffectShape(!0); for (var n = 0, a = this.shapeList.length; a > n; n++) { var o = this.shapeList[n]; if (o._mapType == s) { var x = o.type, _ = o.style; switch (o.position[0] = c.left, o.position[1] = c.top, x) { case"path": case"symbol": case"circle": case"rectangle": case"polygon": case"line": case"ellipse": case"heatmap": o.scale[0] *= r, o.scale[1] *= r; break; case"mark-line": i(_, r); break; case"polyline": t(_, r); break; case"shape-bundle": for (var L = 0; L < _.shapeList.length; L++) { var W = _.shapeList[L]; "mark-line" == W.type ? i(W.style, r) : "polyline" == W.type && t(W.style, r) } break; case"icon": case"image": k = this.geo2pos(s, o._geo), _.x = _._x = k[0] - _.width / 2, _.y = _._y = k[1] - _.height / 2; break; default: k = this.geo2pos(s, o._geo), _.x = k[0], _.y = k[1], "text" == x && (o._style.x = o.highlightStyle.x = k[0], o._style.y = o.highlightStyle.y = k[1]) } this.zr.modShape(o.id) } } } if (p) { u.stop(l), this.zr.refreshNextFrame(); var X = this; clearTimeout(this._refreshDelayTicket), this._refreshDelayTicket = setTimeout(function () { X && X.shapeList && X.animationEffect() }, 100), this.messageCenter.dispatch(U.EVENT.MAP_ROAM, e.event, {type: "scale"}, this.myChart) } } }, __onmousedown: function (e) { if (!(this.shapeList.length <= 0)) { var t = e.target; if (!t || !t.draggable) { var i = e.event, n = u.getX(i), a = u.getY(i), o = this._findMapTypeByPos(n, a); if (o && this._roamMap[o] && "scale" != this._roamMap[o]) { this._mousedown = !0, this._mx = n, this._my = a, this._curMapType = o, this.zr.on(c.EVENT.MOUSEUP, this._onmouseup); var r = this; setTimeout(function () { r.zr.on(c.EVENT.MOUSEMOVE, r._onmousemove) }, 100) } } } }, __onmousemove: function (e) { if (this._mousedown && this._isAlive) { var t = e.event, i = u.getX(t), n = u.getY(t), a = this._mapDataMap[this._curMapType].transform; a.hasRoam = !0, a.left -= this._mx - i, a.top -= this._my - n, this._mx = i, this._my = n, this._mapDataMap[this._curMapType].transform = a; for (var o = 0, r = this.shapeList.length; r > o; o++) this.shapeList[o]._mapType == this._curMapType && (this.shapeList[o].position[0] = a.left, this.shapeList[o].position[1] = a.top, this.zr.modShape(this.shapeList[o].id)); this.messageCenter.dispatch(U.EVENT.MAP_ROAM, e.event, {type: "move"}, this.myChart), this.clearEffectShape(!0), this.zr.refreshNextFrame(), this._justMove = !0, u.stop(t) } }, __onmouseup: function (e) { var t = e.event; this._mx = u.getX(t), this._my = u.getY(t), this._mousedown = !1; var i = this; setTimeout(function () { i._justMove && i.animationEffect(), i._justMove = !1, i.zr.un(c.EVENT.MOUSEMOVE, i._onmousemove), i.zr.un(c.EVENT.MOUSEUP, i._onmouseup) }, 120) }, __onroamcontroller: function (e) { var t = e.event; t.zrenderX = this.zr.getWidth() / 2, t.zrenderY = this.zr.getHeight() / 2; var i = e.mapTypeControl, n = 0, a = 0, o = e.step; switch (e.roamType) { case"scaleUp": return t.zrenderDelta = 1, void this.__onmousewheel({event: t, mapTypeControl: i}); case"scaleDown": return t.zrenderDelta = -1, void this.__onmousewheel({event: t, mapTypeControl: i}); case"up": n = -o; break; case"down": n = o; break; case"left": a = -o; break; case"right": a = o } var r, s; for (s in i) this._mapDataMap[s] && this._activeMapType[s] && (r = this._mapDataMap[s].transform, r.hasRoam = !0, r.left -= a, r.top -= n, this._mapDataMap[s].transform = r); for (var l = 0, h = this.shapeList.length; h > l; l++) s = this.shapeList[l]._mapType, i[s] && this._activeMapType[s] && (r = this._mapDataMap[s].transform, this.shapeList[l].position[0] = r.left, this.shapeList[l].position[1] = r.top, this.zr.modShape(this.shapeList[l].id)); this.messageCenter.dispatch(U.EVENT.MAP_ROAM, e.event, {type: "move"}, this.myChart), this.clearEffectShape(!0), this.zr.refreshNextFrame(), clearTimeout(this.dircetionTimer); var m = this; this.dircetionTimer = setTimeout(function () { m.animationEffect() }, 150) }, __ondrhoverlink: function (e) { for (var t, i, n = 0, a = this.shapeList.length; a > n; n++) t = this.shapeList[n]._mapType, this._hoverLinkMap[t] && this._activeMapType[t] && (i = d.get(this.shapeList[n], "value"), null != i && i >= e.valueMin && i <= e.valueMax && this.zr.addHoverShape(this.shapeList[n])) }, onclick: function (e) { if (this.isClick && e.target && !this._justMove && "icon" != e.target.type) { this.isClick = !1; var t = e.target, i = t.style._name, n = this.shapeList.length, a = t._mapType || ""; if ("single" == this._selectedMode[a]) for (var o in this._selected) if (this._selected[o] && this._mapTypeMap[o] == a) { for (var r = 0; n > r; r++) this.shapeList[r].style._name == o && this.shapeList[r]._mapType == a && (this.shapeList[r].style = this.shapeList[r]._style, this.zr.modShape(this.shapeList[r].id)); o != i && (this._selected[o] = !1) } this._selected[i] = !this._selected[i]; for (var r = 0; n > r; r++) this.shapeList[r].style._name == i && this.shapeList[r]._mapType == a && (this.shapeList[r].style = this._selected[i] ? this.shapeList[r].highlightStyle : this.shapeList[r]._style, this.zr.modShape(this.shapeList[r].id)); this.messageCenter.dispatch(U.EVENT.MAP_SELECTED, e.event, { selected: this._selected, target: i }, this.myChart), this.zr.refreshNextFrame(); var s = this; setTimeout(function () { s.zr.trigger(c.EVENT.MOUSEMOVE, e.event) }, 100) } }, refresh: function (e) { e && (this.option = e, this.series = e.series), this._mapDataRequireCounter > 0 ? this.clear() : this.backupShapeList(), this._buildShape(), this.zr.refreshHover() }, ondataRange: function (e, t) { this.component.dataRange && (this.refresh(), t.needRefresh = !0) }, pos2geo: function (e, t) { return this._mapDataMap[e].transform ? this._mapDataMap[e].projection.pos2geo(this._mapDataMap[e].transform, t) : null }, getGeoByPos: function (e, t) { if (!this._mapDataMap[e].transform) return null; var i = [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top]; return t instanceof Array ? (t[0] -= i[0], t[1] -= i[1]) : (t.x -= i[0], t.y -= i[1]), this.pos2geo(e, t) }, geo2pos: function (e, t) { return this._mapDataMap[e].transform ? this._mapDataMap[e].projection.geo2pos(this._mapDataMap[e].transform, t) : null }, getPosByGeo: function (e, t) { if (!this._mapDataMap[e].transform) return null; var i = this.geo2pos(e, t); return i[0] += this._mapDataMap[e].transform.left, i[1] += this._mapDataMap[e].transform.top, i }, getMapPosition: function (e) { return this._mapDataMap[e].transform ? [this._mapDataMap[e].transform.left, this._mapDataMap[e].transform.top] : null }, onbeforDispose: function () { this._isAlive = !1, this.zr.un(c.EVENT.MOUSEWHEEL, this._onmousewheel), this.zr.un(c.EVENT.MOUSEDOWN, this._onmousedown), this.messageCenter.unbind(U.EVENT.ROAMCONTROLLER, this._onroamcontroller), this.messageCenter.unbind(U.EVENT.DATA_RANGE_HOVERLINK, this._ondrhoverlink) } }, p.inherits(t, i), e("../chart").define("map", t), t }),i("zrender/shape/Path", ["require", "./Base", "./util/PathProxy", "../tool/util"], function (e) { var t = e("./Base"), i = e("./util/PathProxy"), n = i.PathSegment, a = function (e) { return Math.sqrt(e[0] * e[0] + e[1] * e[1]) }, o = function (e, t) { return (e[0] * t[0] + e[1] * t[1]) / (a(e) * a(t)) }, r = function (e, t) { return (e[0] * t[1] < e[1] * t[0] ? -1 : 1) * Math.acos(o(e, t)) }, s = function (e) { t.call(this, e) }; return s.prototype = { type: "path", buildPathArray: function (e, t, i) { if (!e) return []; t = t || 0, i = i || 0; var a = e, o = ["m", "M", "l", "L", "v", "V", "h", "H", "z", "Z", "c", "C", "q", "Q", "t", "T", "s", "S", "a", "A"]; a = a.replace(/-/g, " -"), a = a.replace(/ /g, " "), a = a.replace(/ /g, ","), a = a.replace(/,,/g, ","); var r; for (r = 0; r < o.length; r++) a = a.replace(new RegExp(o[r], "g"), "|" + o[r]); var s = a.split("|"), l = [], h = 0, m = 0; for (r = 1; r < s.length; r++) { var V = s[r], U = V.charAt(0); V = V.slice(1), V = V.replace(new RegExp("e,-", "g"), "e-"); var d = V.split(","); d.length > 0 && "" === d[0] && d.shift(); for (var p = 0; p < d.length; p++) d[p] = parseFloat(d[p]); for (; d.length > 0 && !isNaN(d[0]);) { var c, u, y, g, b, f, k, x, _ = null, L = [], W = h, X = m; switch (U) { case"l": h += d.shift(), m += d.shift(), _ = "L", L.push(h, m); break; case"L": h = d.shift(), m = d.shift(), L.push(h, m); break; case"m": h += d.shift(), m += d.shift(), _ = "M", L.push(h, m), U = "l"; break; case"M": h = d.shift(), m = d.shift(), _ = "M", L.push(h, m), U = "L"; break; case"h": h += d.shift(), _ = "L", L.push(h, m); break; case"H": h = d.shift(), _ = "L", L.push(h, m); break; case"v": m += d.shift(), _ = "L", L.push(h, m); break; case"V": m = d.shift(), _ = "L", L.push(h, m); break; case"C": L.push(d.shift(), d.shift(), d.shift(), d.shift()), h = d.shift(), m = d.shift(), L.push(h, m); break; case"c": L.push(h + d.shift(), m + d.shift(), h + d.shift(), m + d.shift()), h += d.shift(), m += d.shift(), _ = "C", L.push(h, m); break; case"S": c = h, u = m, y = l[l.length - 1], "C" === y.command && (c = h + (h - y.points[2]), u = m + (m - y.points[3])), L.push(c, u, d.shift(), d.shift()), h = d.shift(), m = d.shift(), _ = "C", L.push(h, m); break; case"s": c = h, u = m, y = l[l.length - 1], "C" === y.command && (c = h + (h - y.points[2]), u = m + (m - y.points[3])), L.push(c, u, h + d.shift(), m + d.shift()), h += d.shift(), m += d.shift(), _ = "C", L.push(h, m); break; case"Q": L.push(d.shift(), d.shift()), h = d.shift(), m = d.shift(), L.push(h, m); break; case"q": L.push(h + d.shift(), m + d.shift()), h += d.shift(), m += d.shift(), _ = "Q", L.push(h, m); break; case"T": c = h, u = m, y = l[l.length - 1], "Q" === y.command && (c = h + (h - y.points[0]), u = m + (m - y.points[1])), h = d.shift(), m = d.shift(), _ = "Q", L.push(c, u, h, m); break; case"t": c = h, u = m, y = l[l.length - 1], "Q" === y.command && (c = h + (h - y.points[0]), u = m + (m - y.points[1])), h += d.shift(), m += d.shift(), _ = "Q", L.push(c, u, h, m); break; case"A": g = d.shift(), b = d.shift(), f = d.shift(), k = d.shift(), x = d.shift(), W = h, X = m, h = d.shift(), m = d.shift(), _ = "A", L = this._convertPoint(W, X, h, m, k, x, g, b, f); break; case"a": g = d.shift(), b = d.shift(), f = d.shift(), k = d.shift(), x = d.shift(), W = h, X = m, h += d.shift(), m += d.shift(), _ = "A", L = this._convertPoint(W, X, h, m, k, x, g, b, f) } for (var v = 0, w = L.length; w > v; v += 2) L[v] += t, L[v + 1] += i; l.push(new n(_ || U, L)) } ("z" === U || "Z" === U) && l.push(new n("z", [])) } return l }, _convertPoint: function (e, t, i, n, a, s, l, h, m) { var V = m * (Math.PI / 180), U = Math.cos(V) * (e - i) / 2 + Math.sin(V) * (t - n) / 2, d = -1 * Math.sin(V) * (e - i) / 2 + Math.cos(V) * (t - n) / 2, p = U * U / (l * l) + d * d / (h * h); p > 1 && (l *= Math.sqrt(p), h *= Math.sqrt(p)); var c = Math.sqrt((l * l * h * h - l * l * d * d - h * h * U * U) / (l * l * d * d + h * h * U * U)); a === s && (c *= -1), isNaN(c) && (c = 0); var u = c * l * d / h, y = c * -h * U / l, g = (e + i) / 2 + Math.cos(V) * u - Math.sin(V) * y, b = (t + n) / 2 + Math.sin(V) * u + Math.cos(V) * y, f = r([1, 0], [(U - u) / l, (d - y) / h]), k = [(U - u) / l, (d - y) / h], x = [(-1 * U - u) / l, (-1 * d - y) / h], _ = r(k, x); return o(k, x) <= -1 && (_ = Math.PI), o(k, x) >= 1 && (_ = 0), 0 === s && _ > 0 && (_ -= 2 * Math.PI), 1 === s && 0 > _ && (_ += 2 * Math.PI), [g, b, l, h, f, _, V, s] }, buildPath: function (e, t) { var i = t.path, n = t.x || 0, a = t.y || 0; t.pathArray = t.pathArray || this.buildPathArray(i, n, a); for (var o = t.pathArray, r = t.pointList = [], s = [], l = 0, h = o.length; h > l; l++) { "M" == o[l].command.toUpperCase() && (s.length > 0 && r.push(s), s = []); for (var m = o[l].points, V = 0, U = m.length; U > V; V += 2) s.push([m[V], m[V + 1]]) } s.length > 0 && r.push(s); for (var l = 0, h = o.length; h > l; l++) { var d = o[l].command, m = o[l].points; switch (d) { case"L": e.lineTo(m[0], m[1]); break; case"M": e.moveTo(m[0], m[1]); break; case"C": e.bezierCurveTo(m[0], m[1], m[2], m[3], m[4], m[5]); break; case"Q": e.quadraticCurveTo(m[0], m[1], m[2], m[3]); break; case"A": var p = m[0], c = m[1], u = m[2], y = m[3], g = m[4], b = m[5], f = m[6], k = m[7], x = u > y ? u : y, _ = u > y ? 1 : u / y, L = u > y ? y / u : 1; e.translate(p, c), e.rotate(f), e.scale(_, L), e.arc(0, 0, x, g, g + b, 1 - k), e.scale(1 / _, 1 / L), e.rotate(-f), e.translate(-p, -c); break; case"z": e.closePath() } } }, getRect: function (e) { if (e.__rect) return e.__rect; var t; t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0; for (var i = Number.MAX_VALUE, n = Number.MIN_VALUE, a = Number.MAX_VALUE, o = Number.MIN_VALUE, r = e.x || 0, s = e.y || 0, l = e.pathArray || this.buildPathArray(e.path), h = 0; h < l.length; h++) for (var m = l[h].points, V = 0; V < m.length; V++) V % 2 === 0 ? (m[V] + r < i && (i = m[V]), m[V] + r > n && (n = m[V])) : (m[V] + s < a && (a = m[V]), m[V] + s > o && (o = m[V])); var U; return U = i === Number.MAX_VALUE || n === Number.MIN_VALUE || a === Number.MAX_VALUE || o === Number.MIN_VALUE ? { x: 0, y: 0, width: 0, height: 0 } : { x: Math.round(i - t / 2), y: Math.round(a - t / 2), width: n - i + t, height: o - a + t }, e.__rect = U, U } }, e("../tool/util").inherits(s, t), s }),i("zrender/shape/Ellipse", ["require", "./Base", "../tool/util"], function (e) { var t = e("./Base"), i = function (e) { t.call(this, e) }; return i.prototype = { type: "ellipse", buildPath: function (e, t) { var i = .5522848, n = t.x, a = t.y, o = t.a, r = t.b, s = o * i, l = r * i; e.moveTo(n - o, a), e.bezierCurveTo(n - o, a - l, n - s, a - r, n, a - r), e.bezierCurveTo(n + s, a - r, n + o, a - l, n + o, a), e.bezierCurveTo(n + o, a + l, n + s, a + r, n, a + r), e.bezierCurveTo(n - s, a + r, n - o, a + l, n - o, a), e.closePath() }, getRect: function (e) { if (e.__rect) return e.__rect; var t; return t = "stroke" == e.brushType || "fill" == e.brushType ? e.lineWidth || 1 : 0, e.__rect = { x: Math.round(e.x - e.a - t / 2), y: Math.round(e.y - e.b - t / 2), width: 2 * e.a + t, height: 2 * e.b + t }, e.__rect } }, e("../tool/util").inherits(i, t), i }),i("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 (e) { function t(e, t, n, a, o) { if (this.rcOption = {}, a.roamController && a.roamController.show) { if (!a.roamController.mapTypeControl) return void console.error("option.roamController.mapTypeControl has not been defined."); i.call(this, e, t, n, a, o), this.rcOption = a.roamController; var r = this; this._drictionMouseDown = function (e) { return r.__drictionMouseDown(e) }, this._drictionMouseUp = function (e) { return r.__drictionMouseUp(e) }, this._drictionMouseMove = function (e) { return r.__drictionMouseMove(e) }, this._drictionMouseOut = function (e) { return r.__drictionMouseOut(e) }, this._scaleHandler = function (e) { return r.__scaleHandler(e) }, this.refresh(a) } } var i = e("./base"), n = e("zrender/shape/Rectangle"), a = e("zrender/shape/Sector"), o = e("zrender/shape/Circle"), r = e("../config"); r.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 s = e("zrender/tool/util"), l = e("zrender/tool/color"), h = e("zrender/tool/event"); return t.prototype = { type: r.COMPONENT_TYPE_ROAMCONTROLLER, _buildShape: function () { if (this.rcOption.show) { this._itemGroupLocation = this._getItemGroupLocation(), this._buildBackground(), this._buildItem(); for (var e = 0, t = this.shapeList.length; t > e; e++) this.zr.addShape(this.shapeList[e]) } }, _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 (e) { var t = this._itemGroupLocation.r, i = this._itemGroupLocation.x + t, n = this._itemGroupLocation.y + t, o = { zlevel: this.getZlevelBase(), z: this.getZBase(), style: { x: i, y: n, r: t, startAngle: -45, endAngle: 45, color: this.rcOption.handleColor, text: ">", textX: i + t / 2 + 4, textY: n - .5, textAlign: "center", textBaseline: "middle", textPosition: "specific", textColor: this.rcOption.fillerColor, textFont: Math.floor(t / 2) + "px arial" }, highlightStyle: {color: l.lift(this.rcOption.handleColor, -.2), brushType: "fill"}, clickable: !0 }; switch (e) { case"up": o.rotation = [Math.PI / 2, i, n]; break; case"left": o.rotation = [Math.PI, i, n]; break; case"down": o.rotation = [-Math.PI / 2, i, n] } return o = new a(o), o._roamType = e, o.onmousedown = this._drictionMouseDown, o.onmouseup = this._drictionMouseUp, o.onmousemove = this._drictionMouseMove, o.onmouseout = this._drictionMouseOut, o }, _getScaleShape: function (e) { var t = this._itemGroupLocation.width, i = this._itemGroupLocation.height - t; i = 0 > i ? 20 : i; var n = Math.min(t / 2 - 5, i) / 2, a = this._itemGroupLocation.x + ("scaleDown" === e ? t - n : n), r = this._itemGroupLocation.y + this._itemGroupLocation.height - n, s = { zlevel: this.getZlevelBase(), z: this.getZBase(), style: { x: a, y: r, r: n, color: this.rcOption.handleColor, text: "scaleDown" === e ? "-" : "+", textX: a, textY: r - 2, textAlign: "center", textBaseline: "middle", textPosition: "specific", textColor: this.rcOption.fillerColor, textFont: Math.floor(n) + "px verdana" }, highlightStyle: {color: l.lift(this.rcOption.handleColor, -.2), brushType: "fill"}, clickable: !0 }; return s = new o(s), s._roamType = e, s.onmousedown = this._scaleHandler, s }, _buildBackground: function () { var e = this.reformCssArray(this.rcOption.padding); this.shapeList.push(new n({ zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: { x: this._itemGroupLocation.x - e[3], y: this._itemGroupLocation.y - e[0], width: this._itemGroupLocation.width + e[3] + e[1], height: this._itemGroupLocation.height + e[0] + e[2], brushType: 0 === this.rcOption.borderWidth ? "fill" : "both", color: this.rcOption.backgroundColor, strokeColor: this.rcOption.borderColor, lineWidth: this.rcOption.borderWidth } })) }, _getItemGroupLocation: function () { var e, t = this.reformCssArray(this.rcOption.padding), i = this.rcOption.width, n = this.rcOption.height, a = this.zr.getWidth(), o = this.zr.getHeight(); switch (this.rcOption.x) { case"center": e = Math.floor((a - i) / 2); break; case"left": e = t[3] + this.rcOption.borderWidth; break; case"right": e = a - i - t[1] - t[3] - 2 * this.rcOption.borderWidth; break; default: e = this.parsePercent(this.rcOption.x, a) } var r; switch (this.rcOption.y) { case"top": r = t[0] + this.rcOption.borderWidth; break; case"bottom": r = o - n - t[0] - t[2] - 2 * this.rcOption.borderWidth; break; case"center": r = Math.floor((o - n) / 2); break; default: r = this.parsePercent(this.rcOption.y, o) } return {x: e, y: r, r: i / 2, width: i, height: n} }, __drictionMouseDown: function (e) { this.mousedown = !0, this._drictionHandlerOn(e) }, __drictionMouseUp: function (e) { this.mousedown = !1, this._drictionHandlerOff(e) }, __drictionMouseMove: function (e) { this.mousedown && this._drictionHandlerOn(e) }, __drictionMouseOut: function (e) { this._drictionHandlerOff(e) }, _drictionHandlerOn: function (e) { this._dispatchEvent(e.event, e.target._roamType), clearInterval(this.dircetionTimer); var t = this; this.dircetionTimer = setInterval(function () { t._dispatchEvent(e.event, e.target._roamType) }, 100), h.stop(e.event) }, _drictionHandlerOff: function () { clearInterval(this.dircetionTimer) }, __scaleHandler: function (e) { this._dispatchEvent(e.event, e.target._roamType), h.stop(e.event) }, _dispatchEvent: function (e, t) { this.messageCenter.dispatch(r.EVENT.ROAMCONTROLLER, e, { roamType: t, mapTypeControl: this.rcOption.mapTypeControl, step: this.rcOption.step }, this.myChart) }, refresh: function (e) { e && (this.option = e || this.option, this.option.roamController = this.reformOption(this.option.roamController), this.rcOption = this.option.roamController), this.clear(), this._buildShape() } }, s.inherits(t, i), e("../component").define("roamController", t), t }),i("echarts/layer/heatmap", ["require"], function () { function e(e) { if (this.option = e, e) for (var i in t) this.option[i] = void 0 !== e[i] ? e[i] : t[i]; else this.option = t } var t = { blurSize: 30, gradientColors: ["blue", "cyan", "lime", "yellow", "red"], minAlpha: .05, valueScale: 1, opacity: 1 }, i = 20, n = 256; return e.prototype = { getCanvas: function (e, t, a) { var o = this._getBrush(), r = this._getGradient(), s = i + this.option.blurSize, l = document.createElement("canvas"); l.width = t, l.height = a; for (var h = l.getContext("2d"), m = e.length, V = 0; m > V; ++V) { var U = e[V], d = U[0], p = U[1], c = U[2], u = Math.min(1, Math.max(c * this.option.valueScale || this.option.minAlpha, this.option.minAlpha)); h.globalAlpha = u, h.drawImage(o, d - s, p - s) } for (var y = h.getImageData(0, 0, l.width, l.height), g = y.data, m = g.length / 4; m--;) { var b = 4 * m + 3, u = g[b] / 256, f = Math.floor(u * (n - 1)); g[b - 3] = r[4 * f], g[b - 2] = r[4 * f + 1], g[b - 1] = r[4 * f + 2], g[b] *= this.option.opacity } return h.putImageData(y, 0, 0), l }, _getBrush: function () { if (!this._brushCanvas) { this._brushCanvas = document.createElement("canvas"); var e = i + this.option.blurSize, t = 2 * e; this._brushCanvas.width = t, this._brushCanvas.height = t; var n = this._brushCanvas.getContext("2d"); n.shadowOffsetX = t, n.shadowBlur = this.option.blurSize, n.shadowColor = "black", n.beginPath(), n.arc(-e, e, i, 0, 2 * Math.PI, !0), n.closePath(), n.fill() } return this._brushCanvas }, _getGradient: function () { if (!this._gradientPixels) { var e = n, t = document.createElement("canvas"); t.width = 1, t.height = e; for (var i = t.getContext("2d"), a = i.createLinearGradient(0, 0, 0, e), o = this.option.gradientColors.length, r = 0; o > r; ++r) "string" == typeof this.option.gradientColors[r] ? a.addColorStop((r + 1) / o, this.option.gradientColors[r]) : a.addColorStop(this.option.gradientColors[r].offset, this.option.gradientColors[r].color); i.fillStyle = a, i.fillRect(0, 0, 1, e), this._gradientPixels = i.getImageData(0, 0, 1, e).data } return this._gradientPixels } }, e }),i("echarts/util/mapData/params", ["require"], function (e) { function t(e) { if (!e.UTF8Encoding) return e; for (var t = e.features, n = 0; n < t.length; n++) for (var a = t[n], o = a.geometry.coordinates, r = a.geometry.encodeOffsets, s = 0; s < o.length; s++) { var l = o[s]; if ("Polygon" === a.geometry.type) o[s] = i(l, r[s]); else if ("MultiPolygon" === a.geometry.type) for (var h = 0; h < l.length; h++) { var m = l[h]; l[h] = i(m, r[s][h]) } } return e.UTF8Encoding = !1, e } function i(e, t) { for (var i = [], n = t[0], a = t[1], o = 0; o < e.length; o += 2) { var r = e.charCodeAt(o) - 64, s = e.charCodeAt(o + 1) - 64; r = r >> 1 ^ -(1 & r), s = s >> 1 ^ -(1 & s), r += n, s += a, n = r, a = s, i.push([r / 1024, s / 1024]) } return i } var n = { none: { getGeoJson: function (e) { e({ type: "FeatureCollection", features: [{ type: "Feature", geometry: {coordinates: [], encodeOffsets: [], type: "Polygon"}, properties: {} }] }) } }, world: { getGeoJson: function (i) { e(["./geoJson/world_geo"], function (e) { i(t(e)) }) } }, china: { getGeoJson: function (i) { e(["./geoJson/china_geo"], function (e) { i(t(e)) }) } }, "南海诸岛": { textCoord: [126, 25], getPath: function (e, t) { for (var i = [[[0, 3.5], [7, 11.2], [15, 11.9], [30, 7], [42, .7], [52, .7], [56, 7.7], [59, .7], [64, .7], [64, 0], [5, 0], [0, 3.5]], [[13, 16.1], [19, 14.7], [16, 21.7], [11, 23.1], [13, 16.1]], [[12, 32.2], [14, 38.5], [15, 38.5], [13, 32.2], [12, 32.2]], [[16, 47.6], [12, 53.2], [13, 53.2], [18, 47.6], [16, 47.6]], [[6, 64.4], [8, 70], [9, 70], [8, 64.4], [6, 64.4]], [[23, 82.6], [29, 79.8], [30, 79.8], [25, 82.6], [23, 82.6]], [[37, 70.7], [43, 62.3], [44, 62.3], [39, 70.7], [37, 70.7]], [[48, 51.1], [51, 45.5], [53, 45.5], [50, 51.1], [48, 51.1]], [[51, 35], [51, 28.7], [53, 28.7], [53, 35], [51, 35]], [[52, 22.4], [55, 17.5], [56, 17.5], [53, 22.4], [52, 22.4]], [[58, 12.6], [62, 7], [63, 7], [60, 12.6], [58, 12.6]], [[0, 3.5], [0, 93.1], [64, 93.1], [64, 0], [63, 0], [63, 92.4], [1, 92.4], [1, 3.5], [0, 3.5]]], n = "", a = e[0], o = e[1], r = 0, s = i.length; s > r; r++) { n += "M " + ((i[r][0][0] * t + a).toFixed(2) - 0) + " " + ((i[r][0][1] * t + o).toFixed(2) - 0) + " "; for (var l = 1, h = i[r].length; h > l; l++) n += "L " + ((i[r][l][0] * t + a).toFixed(2) - 0) + " " + ((i[r][l][1] * t + o).toFixed(2) - 0) + " " } return n + " Z" } }, "新疆": { getGeoJson: function (i) { e(["./geoJson/xin_jiang_geo"], function (e) { i(t(e)) }) } }, "西藏": { getGeoJson: function (i) { e(["./geoJson/xi_zang_geo"], function (e) { i(t(e)) }) } }, "内蒙古": { getGeoJson: function (i) { e(["./geoJson/nei_meng_gu_geo"], function (e) { i(t(e)) }) } }, "青海": { getGeoJson: function (i) { e(["./geoJson/qing_hai_geo"], function (e) { i(t(e)) }) } }, "四川": { getGeoJson: function (i) { e(["./geoJson/si_chuan_geo"], function (e) { i(t(e)) }) } }, "黑龙江": { getGeoJson: function (i) { e(["./geoJson/hei_long_jiang_geo"], function (e) { i(t(e)) }) } }, "甘肃": { getGeoJson: function (i) { e(["./geoJson/gan_su_geo"], function (e) { i(t(e)) }) } }, "云南": { getGeoJson: function (i) { e(["./geoJson/yun_nan_geo"], function (e) { i(t(e)) }) } }, "广西": { getGeoJson: function (i) { e(["./geoJson/guang_xi_geo"], function (e) { i(t(e)) }) } }, "湖南": { getGeoJson: function (i) { e(["./geoJson/hu_nan_geo"], function (e) { i(t(e)) }) } }, "陕西": { getGeoJson: function (i) { e(["./geoJson/shan_xi_1_geo"], function (e) { i(t(e)) }) } }, "广东": { getGeoJson: function (i) { e(["./geoJson/guang_dong_geo"], function (e) { i(t(e)) }) } }, "吉林": { getGeoJson: function (i) { e(["./geoJson/ji_lin_geo"], function (e) { i(t(e)) }) } }, "河北": { getGeoJson: function (i) { e(["./geoJson/he_bei_geo"], function (e) { i(t(e)) }) } }, "湖北": { getGeoJson: function (i) { e(["./geoJson/hu_bei_geo"], function (e) { i(t(e)) }) } }, "贵州": { getGeoJson: function (i) { e(["./geoJson/gui_zhou_geo"], function (e) { i(t(e)) }) } }, "山东": { getGeoJson: function (i) { e(["./geoJson/shan_dong_geo"], function (e) { i(t(e)) }) } }, "江西": { getGeoJson: function (i) { e(["./geoJson/jiang_xi_geo"], function (e) { i(t(e)) }) } }, "河南": { getGeoJson: function (i) { e(["./geoJson/he_nan_geo"], function (e) { i(t(e)) }) } }, "辽宁": { getGeoJson: function (i) { e(["./geoJson/liao_ning_geo"], function (e) { i(t(e)) }) } }, "山西": { getGeoJson: function (i) { e(["./geoJson/shan_xi_2_geo"], function (e) { i(t(e)) }) } }, "安徽": { getGeoJson: function (i) { e(["./geoJson/an_hui_geo"], function (e) { i(t(e)) }) } }, "福建": { getGeoJson: function (i) { e(["./geoJson/fu_jian_geo"], function (e) { i(t(e)) }) } }, "浙江": { getGeoJson: function (i) { e(["./geoJson/zhe_jiang_geo"], function (e) { i(t(e)) }) } }, "江苏": { getGeoJson: function (i) { e(["./geoJson/jiang_su_geo"], function (e) { i(t(e)) }) } }, "重庆": { getGeoJson: function (i) { e(["./geoJson/chong_qing_geo"], function (e) { i(t(e)) }) } }, "宁夏": { getGeoJson: function (i) { e(["./geoJson/ning_xia_geo"], function (e) { i(t(e)) }) } }, "海南": { getGeoJson: function (i) { e(["./geoJson/hai_nan_geo"], function (e) { i(t(e)) }) } }, "台湾": { getGeoJson: function (i) { e(["./geoJson/tai_wan_geo"], function (e) { i(t(e)) }) } }, "北京": { getGeoJson: function (i) { e(["./geoJson/bei_jing_geo"], function (e) { i(t(e)) }) } }, "天津": { getGeoJson: function (i) { e(["./geoJson/tian_jin_geo"], function (e) { i(t(e)) }) } }, "上海": { getGeoJson: function (i) { e(["./geoJson/shang_hai_geo"], function (e) { i(t(e)) }) } }, "香港": { getGeoJson: function (i) { e(["./geoJson/xiang_gang_geo"], function (e) { i(t(e)) }) } }, "澳门": { getGeoJson: function (i) { e(["./geoJson/ao_men_geo"], function (e) { i(t(e)) }) } } }; return {decode: t, params: n} }),i("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] } }),i("echarts/util/mapData/geoCoord", [], function () { return {Russia: [100, 60], "United States of America": [-99, 38]} }),i("echarts/util/projection/svg", ["require", "zrender/shape/Path"], function (e) { function t(e) { return parseFloat(e || 0) } function i(e) { for (var i = e.firstChild; "svg" != i.nodeName.toLowerCase() || 1 != i.nodeType;) i = i.nextSibling; var n = t(i.getAttribute("x")), a = t(i.getAttribute("y")), o = t(i.getAttribute("width")), r = t(i.getAttribute("height")); return {left: n, top: a, width: o, height: r} } function n(e, t) { function i(e) { var t = e.tagName; if (m[t]) { var o = m[t](e, n); o && (o.scale = n, o.properties = {name: e.getAttribute("name") || ""}, o.id = e.id, s(o, e), a.push(o)) } for (var r = e.childNodes, l = 0, h = r.length; h > l; l++) i(r[l]) } var n = [t.scale.x, t.scale.y], a = []; return i(e), a } function a(e, t) { var i = t instanceof Array ? [1 * t[0], 1 * t[1]] : [1 * t.x, 1 * t.y]; return [i[0] / e.scale.x, i[1] / e.scale.y] } function o(e, t) { var i = t instanceof Array ? [1 * t[0], 1 * t[1]] : [1 * t.x, 1 * t.y]; return [i[0] * e.scale.x, i[1] * e.scale.y] } function r(e) { return e.replace(/^\s\s*/, "").replace(/\s\s*$/, "") } function s(e, t) { var i = t.getAttribute("fill"), n = t.getAttribute("stroke"), a = t.getAttribute("stroke-width"), o = t.getAttribute("opacity"); i && "none" != i ? (e.color = i, n ? (e.brushType = "both", e.strokeColor = n) : e.brushType = "fill") : n && "none" != n && (e.strokeColor = n, e.brushType = "stroke"), a && "none" != a && (e.lineWidth = parseFloat(a)), o && "none" != o && (e.opacity = parseFloat(o)) } function l(e) { for (var t = r(e).replace(/,/g, " ").split(/\s+/), i = [], n = 0; n < t.length;) { var a = parseFloat(t[n++]), o = parseFloat(t[n++]); i.push([a, o]) } return i } var h = e("zrender/shape/Path"), m = { path: function (e, t) { var i = e.getAttribute("d"), n = h.prototype.getRect({path: i}); return {shapeType: "path", path: i, cp: [(n.x + n.width / 2) * t[0], (n.y + n.height / 2) * t[1]]} }, rect: function (e, i) { var n = t(e.getAttribute("x")), a = t(e.getAttribute("y")), o = t(e.getAttribute("width")), r = t(e.getAttribute("height")); return { shapeType: "rectangle", x: n, y: a, width: o, height: r, cp: [(n + o / 2) * i[0], (a + r / 2) * i[1]] } }, line: function (e, i) { var n = t(e.getAttribute("x1")), a = t(e.getAttribute("y1")), o = t(e.getAttribute("x2")), r = t(e.getAttribute("y2")); return { shapeType: "line", xStart: n, yStart: a, xEnd: o, yEnd: r, cp: [.5 * (n + o) * i[0], .5 * (a + r) * i[1]] } }, circle: function (e, i) { var n = t(e.getAttribute("cx")), a = t(e.getAttribute("cy")), o = t(e.getAttribute("r")); return {shapeType: "circle", x: n, y: a, r: o, cp: [n * i[0], a * i[1]]} }, ellipse: function (e, t) { var i = parseFloat(e.getAttribute("cx") || 0), n = parseFloat(e.getAttribute("cy") || 0), a = parseFloat(e.getAttribute("rx") || 0), o = parseFloat(e.getAttribute("ry") || 0); return {shapeType: "ellipse", x: i, y: n, a: a, b: o, cp: [i * t[0], n * t[1]]} }, polygon: function (e, t) { var i = e.getAttribute("points"), n = [1 / 0, 1 / 0], a = [-(1 / 0), -(1 / 0)]; if (i) { i = l(i); for (var o = 0; o < i.length; o++) { var r = i[o]; n[0] = Math.min(r[0], n[0]), n[1] = Math.min(r[1], n[1]), a[0] = Math.max(r[0], a[0]), a[1] = Math.max(r[1], a[1]) } return { shapeType: "polygon", pointList: i, cp: [(n[0] + a[0]) / 2 * t[0], (n[1] + a[1]) / 2 * t[0]] } } }, polyline: function (e, t) { var i = m.polygon(e, t); return i } }; return {getBbox: i, geoJson2Path: n, pos2geo: a, geo2pos: o} }),i("echarts/util/projection/normal", [], function () { function e(e, i) { return i = i || {}, e.srcSize || t(e, i), e.srcSize } function t(e, t) { t = t || {}, r.xmin = 360, r.xmax = -360, r.ymin = 180, r.ymax = -180; for (var i, n, a = e.features, o = 0, s = a.length; s > o; o++) if (n = a[o], !n.properties.name || !t[n.properties.name]) switch (n.type) { case"Feature": r[n.geometry.type](n.geometry.coordinates); break; case"GeometryCollection": i = n.geometries; for (var l = 0, h = i.length; h > l; l++) r[i[l].type](i[l].coordinates) } return e.srcSize = { left: 1 * r.xmin.toFixed(4), top: 1 * r.ymin.toFixed(4), width: 1 * (r.xmax - r.xmin).toFixed(4), height: 1 * (r.ymax - r.ymin).toFixed(4) }, e } function i(e, i, n) { function a(e, t) { c = e.type, u = e.coordinates, o._bbox = { xmin: 360, xmax: -360, ymin: 180, ymax: -180 }, y = o[c](u), m.push({ path: y, cp: o.makePoint(t.properties.cp ? t.properties.cp : [(o._bbox.xmin + o._bbox.xmax) / 2, (o._bbox.ymin + o._bbox.ymax) / 2]), properties: t.properties, id: t.id }) } n = n || {}, o.scale = null, o.offset = null, e.srcSize || t(e, n), i.offset = { x: e.srcSize.left, y: e.srcSize.top, left: i.OffsetLeft || 0, top: i.OffsetTop || 0 }, o.scale = i.scale, o.offset = i.offset; for (var r, s, l, h = e.features, m = [], V = 0, U = h.length; U > V; V++) if (l = h[V], !l.properties.name || !n[l.properties.name]) if ("Feature" == l.type) a(l.geometry, l); else if ("GeometryCollection" == l.type) { r = l.geometries; for (var d = 0, p = r.length; p > d; d++) s = r[d], a(s, s) } var c, u, y; return m } function n(e, t) { var i, n; return t instanceof Array ? (i = 1 * t[0], n = 1 * t[1]) : (i = 1 * t.x, n = 1 * t.y), i = i / e.scale.x + e.offset.x - 168.5, i = i > 180 ? i - 360 : i, n = 90 - (n / e.scale.y + e.offset.y), [i, n] } function a(e, t) { return o.offset = e.offset, o.scale = e.scale, o.makePoint(t instanceof Array ? [1 * t[0], 1 * t[1]] : [1 * t.x, 1 * t.y]) } var o = { formatPoint: function (e) { return [(e[0] < -168.5 && e[1] > 63.8 ? e[0] + 360 : e[0]) + 168.5, 90 - e[1]] }, makePoint: function (e) { var t = this, i = t.formatPoint(e); t._bbox.xmin > e[0] && (t._bbox.xmin = e[0]), t._bbox.xmax < e[0] && (t._bbox.xmax = e[0]), t._bbox.ymin > e[1] && (t._bbox.ymin = e[1]), t._bbox.ymax < e[1] && (t._bbox.ymax = e[1]); var n = (i[0] - o.offset.x) * o.scale.x + o.offset.left, a = (i[1] - o.offset.y) * o.scale.y + o.offset.top; return [n, a] }, Point: function (e) { return e = this.makePoint(e), e.join(",") }, LineString: function (e) { for (var t, i = "", n = 0, a = e.length; a > n; n++) t = o.makePoint(e[n]), i = 0 === n ? "M" + t.join(",") : i + "L" + t.join(","); return i }, Polygon: function (e) { for (var t = "", i = 0, n = e.length; n > i; i++) t = t + o.LineString(e[i]) + "z"; return t }, MultiPoint: function (e) { for (var t = [], i = 0, n = e.length; n > i; i++) t.push(o.Point(e[i])); return t }, MultiLineString: function (e) { for (var t = "", i = 0, n = e.length; n > i; i++) t += o.LineString(e[i]); return t }, MultiPolygon: function (e) { for (var t = "", i = 0, n = e.length; n > i; i++) t += o.Polygon(e[i]); return t } }, r = { formatPoint: o.formatPoint, makePoint: function (e) { var t = this, i = t.formatPoint(e), n = i[0], a = i[1]; t.xmin > n && (t.xmin = n), t.xmax < n && (t.xmax = n), t.ymin > a && (t.ymin = a), t.ymax < a && (t.ymax = a) }, Point: function (e) { this.makePoint(e) }, LineString: function (e) { for (var t = 0, i = e.length; i > t; t++) this.makePoint(e[t]) }, Polygon: function (e) { for (var t = 0, i = e.length; i > t; t++) this.LineString(e[t]) }, MultiPoint: function (e) { for (var t = 0, i = e.length; i > t; t++) this.Point(e[t]) }, MultiLineString: function (e) { for (var t = 0, i = e.length; i > t; t++) this.LineString(e[t]) }, MultiPolygon: function (e) { for (var t = 0, i = e.length; i > t; t++) this.Polygon(e[t]) } }; return {getBbox: e, geoJson2Path: i, pos2geo: n, geo2pos: a} }),i("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 } }),i("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 } }),i("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 } }),i("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.7695, 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.7129, 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: [[117e3, 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 } }),i("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 } }),i("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 } }),i("echarts/util/mapData/geoJson/gan_su_geo", [], function () { return { type: "FeatureCollection", features: [{ type: "Feature", id: "6209", properties: {name: "酒泉市", cp: [96.2622, 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.7998, 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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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: [[117e3, 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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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 } }),i("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.7793, 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.9797, 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.168, 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.9236, 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.5391, 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.0229, 44.2914], childNum: 1}, geometry: {type: "Polygon", coordinates: ["@@lŁǵmĉ@mż¼n°ÞmƼ@"], encodeOffsets: [[88178, 45529]]} }], UTF8Encoding: !0 } }),i("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.3645, 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.0203, 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.2083, 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 } }),i("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.9536, 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.1299, 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 } }),i("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 } }),i("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 (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.refresh(a) } var i = e("./base"), n = e("../util/shape/GaugePointer"), a = e("zrender/shape/Text"), o = e("zrender/shape/Line"), r = e("zrender/shape/Rectangle"), s = e("zrender/shape/Circle"), l = e("zrender/shape/Sector"), h = e("../config"); h.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: [[.2, "#228b22"], [.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 m = e("../util/ecData"), V = e("../util/accMath"), U = e("zrender/tool/util"); return t.prototype = { type: h.CHART_TYPE_GAUGE, _buildShape: function () { var e = this.series; this._paramsMap = {}, this.selectedMap = {}; for (var t = 0, i = e.length; i > t; t++) e[t].type === h.CHART_TYPE_GAUGE && (this.selectedMap[e[t].name] = !0, e[t] = this.reformOption(e[t]), this.legendHoverLink = e[t].legendHoverLink || this.legendHoverLink, this._buildSingleGauge(t), this.buildMark(t)); this.addShapeList() }, _buildSingleGauge: function (e) { var t = this.series[e]; this._paramsMap[e] = { center: this.parseCenter(this.zr, t.center), radius: this.parseRadius(this.zr, t.radius), startAngle: t.startAngle.toFixed(2) - 0, endAngle: t.endAngle.toFixed(2) - 0 }, this._paramsMap[e].totalAngle = this._paramsMap[e].startAngle - this._paramsMap[e].endAngle, this._colorMap(e), this._buildAxisLine(e), this._buildSplitLine(e), this._buildAxisTick(e), this._buildAxisLabel(e), this._buildPointer(e), this._buildTitle(e), this._buildDetail(e) }, _buildAxisLine: function (e) { var t = this.series[e]; if (t.axisLine.show) for (var i, n, a = t.min, o = t.max - a, r = this._paramsMap[e], s = r.center, l = r.startAngle, h = r.totalAngle, V = r.colorArray, U = t.axisLine.lineStyle, d = this.parsePercent(U.width, r.radius[1]), p = r.radius[1], c = p - d, u = l, y = 0, g = V.length; g > y; y++) n = l - h * (V[y][0] - a) / o, i = this._getSector(s, c, p, n, u, V[y][1], U, t.zlevel, t.z), u = n, i._animationAdd = "r", m.set(i, "seriesIndex", e), m.set(i, "dataIndex", y), this.shapeList.push(i) }, _buildSplitLine: function (e) { var t = this.series[e]; if (t.splitLine.show) for (var i, n, a, r = this._paramsMap[e], s = t.splitNumber, l = t.min, h = t.max - l, m = t.splitLine, V = this.parsePercent(m.length, r.radius[1]), U = m.lineStyle, d = U.color, p = r.center, c = r.startAngle * Math.PI / 180, u = r.totalAngle * Math.PI / 180, y = r.radius[1], g = y - V, b = 0; s >= b; b++) i = c - u / s * b, n = Math.sin(i), a = Math.cos(i), this.shapeList.push(new o({ zlevel: t.zlevel, z: t.z + 1, hoverable: !1, style: { xStart: p[0] + a * y, yStart: p[1] - n * y, xEnd: p[0] + a * g, yEnd: p[1] - n * g, strokeColor: "auto" === d ? this._getColor(e, l + h / s * b) : d, lineType: U.type, lineWidth: U.width, shadowColor: U.shadowColor, shadowBlur: U.shadowBlur, shadowOffsetX: U.shadowOffsetX, shadowOffsetY: U.shadowOffsetY } })) }, _buildAxisTick: function (e) { var t = this.series[e]; if (t.axisTick.show) for (var i, n, a, r = this._paramsMap[e], s = t.splitNumber, l = t.min, h = t.max - l, m = t.axisTick, V = m.splitNumber, U = this.parsePercent(m.length, r.radius[1]), d = m.lineStyle, p = d.color, c = r.center, u = r.startAngle * Math.PI / 180, y = r.totalAngle * Math.PI / 180, g = r.radius[1], b = g - U, f = 0, k = s * V; k >= f; f++) f % V !== 0 && (i = u - y / k * f, n = Math.sin(i), a = Math.cos(i), this.shapeList.push(new o({ zlevel: t.zlevel, z: t.z + 1, hoverable: !1, style: { xStart: c[0] + a * g, yStart: c[1] - n * g, xEnd: c[0] + a * b, yEnd: c[1] - n * b, strokeColor: "auto" === p ? this._getColor(e, l + h / k * f) : p, lineType: d.type, lineWidth: d.width, shadowColor: d.shadowColor, shadowBlur: d.shadowBlur, shadowOffsetX: d.shadowOffsetX, shadowOffsetY: d.shadowOffsetY } }))) }, _buildAxisLabel: function (e) { var t = this.series[e]; if (t.axisLabel.show) for (var i, n, o, r, s = t.splitNumber, l = t.min, h = t.max - l, m = t.axisLabel.textStyle, U = this.getFont(m), d = m.color, p = this._paramsMap[e], c = p.center, u = p.startAngle, y = p.totalAngle, g = p.radius[1] - this.parsePercent(t.splitLine.length, p.radius[1]) - 5, b = 0; s >= b; b++) r = V.accAdd(l, V.accMul(V.accDiv(h, s), b)), i = u - y / s * b, n = Math.sin(i * Math.PI / 180), o = Math.cos(i * Math.PI / 180), i = (i + 360) % 360, this.shapeList.push(new a({ zlevel: t.zlevel, z: t.z + 1, hoverable: !1, style: { x: c[0] + o * g, y: c[1] - n * g, color: "auto" === d ? this._getColor(e, r) : d, text: this._getLabelText(t.axisLabel.formatter, r), textAlign: i >= 110 && 250 >= i ? "left" : 70 >= i || i >= 290 ? "right" : "center", textBaseline: i >= 10 && 170 >= i ? "top" : i >= 190 && 350 >= i ? "bottom" : "middle", textFont: U, shadowColor: m.shadowColor, shadowBlur: m.shadowBlur, shadowOffsetX: m.shadowOffsetX, shadowOffsetY: m.shadowOffsetY } })) }, _buildPointer: function (e) { var t = this.series[e]; if (t.pointer.show) { var i = t.max - t.min, a = t.pointer, o = this._paramsMap[e], r = this.parsePercent(a.length, o.radius[1]), l = this.parsePercent(a.width, o.radius[1]), h = o.center, V = this._getValue(e); V = V < t.max ? V : t.max; var U = (o.startAngle - o.totalAngle / i * (V - t.min)) * Math.PI / 180, d = "auto" === a.color ? this._getColor(e, V) : a.color, p = new n({ zlevel: t.zlevel, z: t.z + 1, clickable: this.query(t, "clickable"), style: { x: h[0], y: h[1], r: r, startAngle: o.startAngle * Math.PI / 180, angle: U, color: d, width: l, shadowColor: a.shadowColor, shadowBlur: a.shadowBlur, shadowOffsetX: a.shadowOffsetX, shadowOffsetY: a.shadowOffsetY }, highlightStyle: {brushType: "fill", width: l > 2 ? 2 : l / 2, color: "#fff"} }); m.pack(p, this.series[e], e, this.series[e].data[0], 0, this.series[e].data[0].name, V), this.shapeList.push(p), this.shapeList.push(new s({ zlevel: t.zlevel, z: t.z + 2, hoverable: !1, style: {x: h[0], y: h[1], r: a.width / 2.5, color: "#fff"} })) } }, _buildTitle: function (e) { var t = this.series[e]; if (t.title.show) { var i = t.data[0], n = null != i.name ? i.name : ""; if ("" !== n) { var o = t.title, r = o.offsetCenter, s = o.textStyle, l = s.color, h = this._paramsMap[e], m = h.center[0] + this.parsePercent(r[0], h.radius[1]), V = h.center[1] + this.parsePercent(r[1], h.radius[1]); this.shapeList.push(new a({ zlevel: t.zlevel, z: t.z + (Math.abs(m - h.center[0]) + Math.abs(V - h.center[1]) < 2 * s.fontSize ? 2 : 1), hoverable: !1, style: { x: m, y: V, color: "auto" === l ? this._getColor(e) : l, text: n, textAlign: "center", textFont: this.getFont(s), shadowColor: s.shadowColor, shadowBlur: s.shadowBlur, shadowOffsetX: s.shadowOffsetX, shadowOffsetY: s.shadowOffsetY } })) } } }, _buildDetail: function (e) { var t = this.series[e]; if (t.detail.show) { var i = t.detail, n = i.offsetCenter, a = i.backgroundColor, o = i.textStyle, s = o.color, l = this._paramsMap[e], h = this._getValue(e), m = l.center[0] - i.width / 2 + this.parsePercent(n[0], l.radius[1]), V = l.center[1] + this.parsePercent(n[1], l.radius[1]); this.shapeList.push(new r({ zlevel: t.zlevel, z: t.z + (Math.abs(m + i.width / 2 - l.center[0]) + Math.abs(V + i.height / 2 - l.center[1]) < o.fontSize ? 2 : 1), hoverable: !1, style: { x: m, y: V, width: i.width, height: i.height, brushType: "both", color: "auto" === a ? this._getColor(e, h) : a, lineWidth: i.borderWidth, strokeColor: i.borderColor, shadowColor: i.shadowColor, shadowBlur: i.shadowBlur, shadowOffsetX: i.shadowOffsetX, shadowOffsetY: i.shadowOffsetY, text: this._getLabelText(i.formatter, h), textFont: this.getFont(o), textPosition: "inside", textColor: "auto" === s ? this._getColor(e, h) : s } })) } }, _getValue: function (e) { return this.getDataFromOption(this.series[e].data[0]) }, _colorMap: function (e) { var t = this.series[e], i = t.min, n = t.max - i, a = t.axisLine.lineStyle.color; a instanceof Array || (a = [[1, a]]); for (var o = [], r = 0, s = a.length; s > r; r++) o.push([a[r][0] * n + i, a[r][1]]); this._paramsMap[e].colorArray = o }, _getColor: function (e, t) { null == t && (t = this._getValue(e)); for (var i = this._paramsMap[e].colorArray, n = 0, a = i.length; a > n; n++) if (i[n][0] >= t) return i[n][1]; return i[i.length - 1][1] }, _getSector: function (e, t, i, n, a, o, r, s, h) { return new l({ zlevel: s, z: h, hoverable: !1, style: { x: e[0], y: e[1], r0: t, r: i, startAngle: n, endAngle: a, brushType: "fill", color: o, shadowColor: r.shadowColor, shadowBlur: r.shadowBlur, shadowOffsetX: r.shadowOffsetX, shadowOffsetY: r.shadowOffsetY } }) }, _getLabelText: function (e, t) { if (e) { if ("function" == typeof e) return e.call(this.myChart, t); if ("string" == typeof e) return e.replace("{value}", t) } return t }, refresh: function (e) { e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape() } }, U.inherits(t, i), e("../chart").define("gauge", t), t }),i("echarts/util/shape/GaugePointer", ["require", "zrender/shape/Base", "zrender/tool/util", "./normalIsCover"], function (e) { function t(e) { i.call(this, e) } var i = e("zrender/shape/Base"), n = e("zrender/tool/util"); return t.prototype = { type: "gauge-pointer", buildPath: function (e, t) { var i = t.r, n = t.width, a = t.angle, o = t.x - Math.cos(a) * n * (n >= i / 3 ? 1 : 2), r = t.y + Math.sin(a) * n * (n >= i / 3 ? 1 : 2); a = t.angle - Math.PI / 2, e.moveTo(o, r), e.lineTo(t.x + Math.cos(a) * n, t.y - Math.sin(a) * n), e.lineTo(t.x + Math.cos(t.angle) * i, t.y - Math.sin(t.angle) * i), e.lineTo(t.x - Math.cos(a) * n, t.y + Math.sin(a) * n), e.lineTo(o, r) }, getRect: function (e) { if (e.__rect) return e.__rect; var t = 2 * e.width, i = e.x, n = e.y, a = i + Math.cos(e.angle) * e.r, o = n - Math.sin(e.angle) * e.r; return e.__rect = { x: Math.min(i, a) - t, y: Math.min(n, o) - t, width: Math.abs(i - a) + t, height: Math.abs(n - o) + t }, e.__rect }, isCover: e("./normalIsCover") }, n.inherits(t, i), t }),i("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 (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.refresh(a) } var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Line"), o = e("zrender/shape/Polygon"), r = e("../config"); r.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 s = e("../util/ecData"), l = e("../util/number"), h = e("zrender/tool/util"), m = e("zrender/tool/color"), V = e("zrender/tool/area"); return t.prototype = { type: r.CHART_TYPE_FUNNEL, _buildShape: function () { var e = this.series, t = this.component.legend; this._paramsMap = {}, this._selected = {}, this.selectedMap = {}; for (var i, n = 0, a = e.length; a > n; n++) if (e[n].type === r.CHART_TYPE_FUNNEL) { if (e[n] = this.reformOption(e[n]), this.legendHoverLink = e[n].legendHoverLink || this.legendHoverLink, i = e[n].name || "", this.selectedMap[i] = t ? t.isSelected(i) : !0, !this.selectedMap[i]) continue; this._buildSingleFunnel(n), this.buildMark(n) } this.addShapeList() }, _buildSingleFunnel: function (e) { var t = this.component.legend, i = this.series[e], n = this._mapData(e), a = this._getLocation(e); this._paramsMap[e] = {location: a, data: n}; for (var o, r = 0, s = [], h = 0, m = n.length; m > h; h++) o = n[h].name, this.selectedMap[o] = t ? t.isSelected(o) : !0, this.selectedMap[o] && !isNaN(n[h].value) && (s.push(n[h]), r++); if (0 !== r) { for (var V, U, d, p, c = this._buildFunnelCase(e), u = i.funnelAlign, y = i.gap, g = r > 1 ? (a.height - (r - 1) * y) / r : a.height, b = a.y, f = "descending" === i.sort ? this._getItemWidth(e, s[0].value) : l.parsePercent(i.minSize, a.width), k = "descending" === i.sort ? 1 : 0, x = a.centerX, _ = [], h = 0, m = s.length; m > h; h++) if (o = s[h].name, this.selectedMap[o] && !isNaN(s[h].value)) { switch (V = m - 2 >= h ? this._getItemWidth(e, s[h + k].value) : "descending" === i.sort ? l.parsePercent(i.minSize, a.width) : l.parsePercent(i.maxSize, a.width), u) { case"left": U = a.x; break; case"right": U = a.x + a.width - f; break; default: U = x - f / 2 } d = this._buildItem(e, s[h]._index, t ? t.getColor(o) : this.zr.getColor(s[h]._index), U, b, f, V, g, u), b += g + y, p = d.style.pointList, _.unshift([p[0][0] - 10, p[0][1]]), _.push([p[1][0] + 10, p[1][1]]), 0 === h && (0 === f ? (p = _.pop(), "center" == u && (_[0][0] += 10), "right" == u && (_[0][0] = p[0]), _[0][1] -= "center" == u ? 10 : 15, 1 == m && (p = d.style.pointList)) : (_[_.length - 1][1] -= 5, _[0][1] -= 5)), f = V } c && (_.unshift([p[3][0] - 10, p[3][1]]), _.push([p[2][0] + 10, p[2][1]]), 0 === f ? (p = _.pop(), "center" == u && (_[0][0] += 10), "right" == u && (_[0][0] = p[0]), _[0][1] += "center" == u ? 10 : 15) : (_[_.length - 1][1] += 5, _[0][1] += 5), c.style.pointList = _) } }, _buildFunnelCase: function (e) { var t = this.series[e]; if (this.deepQuery([t, this.option], "calculable")) { var i = this._paramsMap[e].location, n = 10, a = { hoverable: !1, style: { pointListd: [[i.x - n, i.y - n], [i.x + i.width + n, i.y - n], [i.x + i.width + n, i.y + i.height + n], [i.x - n, i.y + i.height + n]], brushType: "stroke", lineWidth: 1, strokeColor: t.calculableHolderColor || this.ecTheme.calculableHolderColor || r.calculableHolderColor } }; return s.pack(a, t, e, void 0, -1), this.setCalculable(a), a = new o(a), this.shapeList.push(a), a } }, _getLocation: function (e) { var t = this.series[e], i = this.zr.getWidth(), n = this.zr.getHeight(), a = this.parsePercent(t.x, i), o = this.parsePercent(t.y, n), r = null == t.width ? i - a - this.parsePercent(t.x2, i) : this.parsePercent(t.width, i); return { x: a, y: o, width: r, height: null == t.height ? n - o - this.parsePercent(t.y2, n) : this.parsePercent(t.height, n), centerX: a + r / 2 } }, _mapData: function (e) { function t(e, t) { return "-" === e.value ? 1 : "-" === t.value ? -1 : t.value - e.value } function i(e, i) { return -t(e, i) } for (var n = this.series[e], a = h.clone(n.data), o = 0, r = a.length; r > o; o++) a[o]._index = o; return "none" != n.sort && a.sort("descending" === n.sort ? t : i), a }, _buildItem: function (e, t, i, n, a, o, r, l, h) { var m = this.series, V = m[e], U = V.data[t], d = this.getPolygon(e, t, i, n, a, o, r, l, h); s.pack(d, m[e], e, m[e].data[t], t, m[e].data[t].name), this.shapeList.push(d); var p = this.getLabel(e, t, i, n, a, o, r, l, h); s.pack(p, m[e], e, m[e].data[t], t, m[e].data[t].name), this.shapeList.push(p), this._needLabel(V, U, !1) || (p.invisible = !0); var c = this.getLabelLine(e, t, i, n, a, o, r, l, h); this.shapeList.push(c), this._needLabelLine(V, U, !1) || (c.invisible = !0); var u = [], y = []; return this._needLabelLine(V, U, !0) && (u.push(c.id), y.push(c.id)), this._needLabel(V, U, !0) && (u.push(p.id), y.push(d.id)), d.hoverConnect = u, p.hoverConnect = y, d }, _getItemWidth: function (e, t) { var i = this.series[e], n = this._paramsMap[e].location, a = i.min, o = i.max, r = l.parsePercent(i.minSize, n.width), s = l.parsePercent(i.maxSize, n.width); return (t - a) * (s - r) / (o - a) + r }, getPolygon: function (e, t, i, n, a, r, s, l, h) { var V, U = this.series[e], d = U.data[t], p = [d, U], c = this.deepMerge(p, "itemStyle.normal") || {}, u = this.deepMerge(p, "itemStyle.emphasis") || {}, y = this.getItemStyleColor(c.color, e, t, d) || i, g = this.getItemStyleColor(u.color, e, t, d) || ("string" == typeof y ? m.lift(y, -.2) : y); switch (h) { case"left": V = n; break; case"right": V = n + (r - s); break; default: V = n + (r - s) / 2 } var b = { zlevel: U.zlevel, z: U.z, clickable: this.deepQuery(p, "clickable"), style: { pointList: [[n, a], [n + r, a], [V + s, a + l], [V, a + l]], brushType: "both", color: y, lineWidth: c.borderWidth, strokeColor: c.borderColor }, highlightStyle: {color: g, lineWidth: u.borderWidth, strokeColor: u.borderColor} }; return this.deepQuery([d, U, this.option], "calculable") && (this.setCalculable(b), b.draggable = !0), new o(b) }, getLabel: function (e, t, i, a, o, r, s, l, U) { var d, p = this.series[e], c = p.data[t], u = this._paramsMap[e].location, y = h.merge(h.clone(c.itemStyle) || {}, p.itemStyle), g = "normal", b = y[g].label, f = b.textStyle || {}, k = y[g].labelLine.length, x = this.getLabelText(e, t, g), _ = this.getFont(f), L = i; b.position = b.position || y.normal.label.position, "inner" === b.position || "inside" === b.position || "center" === b.position ? (d = U, L = Math.max(r, s) / 2 > V.getTextWidth(x, _) ? "#fff" : m.reverse(i)) : d = "left" === b.position ? "right" : "left"; var W = { zlevel: p.zlevel, z: p.z + 1, style: { x: this._getLabelPoint(b.position, a, u, r, s, k, U), y: o + l / 2, color: f.color || L, text: x, textAlign: f.align || d, textBaseline: f.baseline || "middle", textFont: _ } }; return g = "emphasis", b = y[g].label || b, f = b.textStyle || f, k = y[g].labelLine.length || k, b.position = b.position || y.normal.label.position, x = this.getLabelText(e, t, g), _ = this.getFont(f), L = i, "inner" === b.position || "inside" === b.position || "center" === b.position ? (d = U, L = Math.max(r, s) / 2 > V.getTextWidth(x, _) ? "#fff" : m.reverse(i)) : d = "left" === b.position ? "right" : "left", W.highlightStyle = { x: this._getLabelPoint(b.position, a, u, r, s, k, U), color: f.color || L, text: x, textAlign: f.align || d, textFont: _, brushType: "fill" }, new n(W) }, getLabelText: function (e, t, i) { var n = this.series, a = n[e], o = a.data[t], r = this.deepQuery([o, a], "itemStyle." + i + ".label.formatter"); return r ? "function" == typeof r ? r.call(this.myChart, { seriesIndex: e, seriesName: a.name || "", series: a, dataIndex: t, data: o, name: o.name, value: o.value }) : "string" == typeof r ? r = r.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}").replace("{a0}", a.name).replace("{b0}", o.name).replace("{c0}", o.value) : void 0 : o.name }, getLabelLine: function (e, t, i, n, o, r, s, l, m) { var V = this.series[e], U = V.data[t], d = this._paramsMap[e].location, p = h.merge(h.clone(U.itemStyle) || {}, V.itemStyle), c = "normal", u = p[c].labelLine, y = p[c].labelLine.length, g = u.lineStyle || {}, b = p[c].label; b.position = b.position || p.normal.label.position; var f = { zlevel: V.zlevel, z: V.z + 1, hoverable: !1, style: { xStart: this._getLabelLineStartPoint(n, d, r, s, m), yStart: o + l / 2, xEnd: this._getLabelPoint(b.position, n, d, r, s, y, m), yEnd: o + l / 2, strokeColor: g.color || i, lineType: g.type, lineWidth: g.width } }; return c = "emphasis", u = p[c].labelLine || u, y = p[c].labelLine.length || y, g = u.lineStyle || g, b = p[c].label || b, b.position = b.position, f.highlightStyle = { xEnd: this._getLabelPoint(b.position, n, d, r, s, y, m), strokeColor: g.color || i, lineType: g.type, lineWidth: g.width }, new a(f) }, _getLabelPoint: function (e, t, i, n, a, o, r) { switch (e = "inner" === e || "inside" === e ? "center" : e) { case"center": return "center" == r ? t + n / 2 : "left" == r ? t + 10 : t + n - 10; case"left": return "auto" === o ? i.x - 10 : "center" == r ? i.centerX - Math.max(n, a) / 2 - o : "right" == r ? t - (a > n ? a - n : 0) - o : i.x - o; default: return "auto" === o ? i.x + i.width + 10 : "center" == r ? i.centerX + Math.max(n, a) / 2 + o : "right" == r ? i.x + i.width + o : t + Math.max(n, a) + o } }, _getLabelLineStartPoint: function (e, t, i, n, a) { return "center" == a ? t.centerX : n > i ? e + Math.min(i, n) / 2 : e + Math.max(i, n) / 2 }, _needLabel: function (e, t, i) { return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".label.show") }, _needLabelLine: function (e, t, i) { return this.deepQuery([t, e], "itemStyle." + (i ? "emphasis" : "normal") + ".labelLine.show") }, refresh: function (e) { e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape() } }, h.inherits(t, i), e("../chart").define("funnel", t), t }),i("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 (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o); var r = this; r._ondragend = function () { r.isDragend = !0 }, this.refresh(a) } var i = e("./base"), n = e("../layout/eventRiver"), a = e("zrender/shape/Polygon"); e("../component/axis"), e("../component/grid"), e("../component/dataZoom"); var o = e("../config"); o.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 r = e("../util/ecData"), s = e("../util/date"), l = e("zrender/tool/util"), h = e("zrender/tool/color"); return t.prototype = { type: o.CHART_TYPE_EVENTRIVER, _buildShape: function () { var e = this.series; this.selectedMap = {}, this._dataPreprocessing(); for (var t = this.component.legend, i = [], a = 0; a < e.length; a++) if (e[a].type === this.type) { e[a] = this.reformOption(e[a]), this.legendHoverLink = e[a].legendHoverLink || this.legendHoverLink; var o = e[a].name || ""; if (this.selectedMap[o] = t ? t.isSelected(o) : !0, !this.selectedMap[o]) continue; this.buildMark(a), i.push(this.series[a]) } n(i, this._intervalX, this.component.grid.getArea()), this._drawEventRiver(), this.addShapeList() }, _dataPreprocessing: function () { for (var e, t, i = this.series, n = 0, a = i.length; a > n; n++) if (i[n].type === this.type) { e = this.component.xAxis.getAxis(i[n].xAxisIndex || 0); for (var o = 0, r = i[n].data.length; r > o; o++) { t = i[n].data[o].evolution; for (var l = 0, h = t.length; h > l; l++) t[l].timeScale = e.getCoord(s.getNewDate(t[l].time) - 0), t[l].valueScale = Math.pow(t[l].value, .8) } } this._intervalX = Math.round(this.component.grid.getWidth() / 40) }, _drawEventRiver: function () { for (var e = this.series, t = 0; t < e.length; t++) { var i = e[t].name || ""; if (e[t].type === this.type && this.selectedMap[i]) for (var n = 0; n < e[t].data.length; n++) this._drawEventBubble(e[t].data[n], t, n) } }, _drawEventBubble: function (e, t, i) { var n = this.series, o = n[t], s = o.name || "", l = o.data[i], m = [l, o], V = this.component.legend, U = V ? V.getColor(s) : this.zr.getColor(t), d = this.deepMerge(m, "itemStyle.normal") || {}, p = this.deepMerge(m, "itemStyle.emphasis") || {}, c = this.getItemStyleColor(d.color, t, i, l) || U, u = this.getItemStyleColor(p.color, t, i, l) || ("string" == typeof c ? h.lift(c, -.2) : c), y = this._calculateControlPoints(e), g = { zlevel: o.zlevel, z: o.z, clickable: this.deepQuery(m, "clickable"), style: { pointList: y, smooth: "spline", brushType: "both", lineJoin: "round", color: c, lineWidth: d.borderWidth, strokeColor: d.borderColor }, highlightStyle: {color: u, lineWidth: p.borderWidth, strokeColor: p.borderColor}, draggable: "vertical", ondragend: this._ondragend }; g = new a(g), this.addLabel(g, o, l, e.name), r.pack(g, n[t], t, n[t].data[i], i, n[t].data[i].name), this.shapeList.push(g) }, _calculateControlPoints: function (e) { var t = this._intervalX, i = e.y, n = e.evolution, a = n.length; if (!(1 > a)) { for (var o = [], r = [], s = 0; a > s; s++) o.push(n[s].timeScale), r.push(n[s].valueScale); var l = []; l.push([o[0], i]); var s = 0; for (s = 0; a - 1 > s; s++) l.push([(o[s] + o[s + 1]) / 2, r[s] / -2 + i]); for (l.push([(o[s] + (o[s] + t)) / 2, r[s] / -2 + i]), l.push([o[s] + t, i]), l.push([(o[s] + (o[s] + t)) / 2, r[s] / 2 + i]), s = a - 1; s > 0; s--) l.push([(o[s] + o[s - 1]) / 2, r[s - 1] / 2 + i]); return l } }, ondragend: function (e, t) { this.isDragend && e.target && (t.dragOut = !0, t.dragIn = !0, t.needRefresh = !1, this.isDragend = !1) }, refresh: function (e) { e && (this.option = e, this.series = e.series), this.backupShapeList(), this._buildShape() } }, l.inherits(t, i), e("../chart").define("eventRiver", t), t }),i("echarts/layout/eventRiver", ["require"], function () { function e(e, i, o) { function r(e, t) { var i = e.importance, n = t.importance; return i > n ? -1 : n > i ? 1 : 0 } for (var s = 4, l = 0; l < e.length; l++) { for (var h = 0; h < e[l].data.length; h++) { null == e[l].data[h].weight && (e[l].data[h].weight = 1); for (var m = 0, V = 0; V < e[l].data[h].evolution.length; V++) m += e[l].data[h].evolution[V].valueScale; e[l].data[h].importance = m * e[l].data[h].weight } e[l].data.sort(r) } for (var l = 0; l < e.length; l++) { null == e[l].weight && (e[l].weight = 1); for (var m = 0, h = 0; h < e[l].data.length; h++) m += e[l].data[h].weight; e[l].importance = m * e[l].weight } e.sort(r); for (var U = Number.MAX_VALUE, d = 0, l = 0; l < e.length; l++) for (var h = 0; h < e[l].data.length; h++) for (var V = 0; V < e[l].data[h].evolution.length; V++) { var p = e[l].data[h].evolution[V].timeScale; U = Math.min(U, p), d = Math.max(d, p) } U = ~~U, d = ~~d; for (var c = function () { var e = d - U + 1 + ~~i; if (0 >= e) return [0]; for (var t = []; e--;) t.push(0); return t }(), u = c.slice(0), y = [], g = 0, b = 0, l = 0; l < e.length; l++) for (var h = 0; h < e[l].data.length; h++) { var f = e[l].data[h]; f.time = [], f.value = []; for (var k, x = 0, V = 0; V < e[l].data[h].evolution.length; V++) k = e[l].data[h].evolution[V], f.time.push(k.timeScale), f.value.push(k.valueScale), x = Math.max(x, k.valueScale); n(f, i, U), f.y = a(u, f, function (e, t) { return e.ypx[t] }), f._offset = a(c, f, function () { return s }), g = Math.max(g, f.y + x), b = Math.max(b, f._offset), y.push(f) } t(y, o, g, b) } function t(e, t, i, n) { for (var a = t.height, o = n / a > .5 ? .5 : 1, r = t.y, s = (t.height - n) / i, l = 0, h = e.length; h > l; l++) { var m = e[l]; m.y = r + s * m.y + m._offset * o, delete m.time, delete m.value, delete m.xpx, delete m.ypx, delete m._offset; for (var V = m.evolution, U = 0, d = V.length; d > U; U++) V[U].valueScale *= s } } function i(e, t, i, n) { if (e === i) throw new Error("x0 is equal with x1!!!"); if (t === n) return function () { return t }; var a = (t - n) / (e - i), o = (n * e - t * i) / (e - i); return function (e) { return a * e + o } } function n(e, t, n) { var a = ~~t, o = e.time.length; e.xpx = [], e.ypx = []; for (var r, s = 0, l = 0, h = 0, m = 0, V = 0; o > s; s++) { l = ~~e.time[s], m = e.value[s] / 2, s === o - 1 ? (h = l + a, V = 0) : (h = ~~e.time[s + 1], V = e.value[s + 1] / 2), r = i(l, m, h, V); for (var U = l; h > U; U++) e.xpx.push(U - n), e.ypx.push(r(U)) } e.xpx.push(h - n), e.ypx.push(V) } function a(e, t, i) { for (var n, a = 0, o = t.xpx.length, r = 0; o > r; r++) n = i(t, r), a = Math.max(a, n + e[t.xpx[r]]); for (r = 0; o > r; r++) n = i(t, r), e[t.xpx[r]] = a + n; return a } return e }),i("echarts/chart/venn", ["require", "./base", "zrender/shape/Text", "zrender/shape/Circle", "zrender/shape/Path", "../config", "../util/ecData", "zrender/tool/util", "../chart"], function (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.refresh(a) } var i = e("./base"), n = e("zrender/shape/Text"), a = e("zrender/shape/Circle"), o = e("zrender/shape/Path"), r = e("../config"); r.venn = {zlevel: 0, z: 1, calculable: !1}; var s = e("../util/ecData"), l = e("zrender/tool/util"); return t.prototype = { type: r.CHART_TYPE_VENN, _buildShape: function () { this.selectedMap = {}, this._symbol = this.option.symbolList, this._queryTarget, this._dropBoxList = [], this._vennDataCounter = 0; for (var e = this.series, t = this.component.legend, i = 0; i < e.length; i++) if (e[i].type === r.CHART_TYPE_VENN) { e[i] = this.reformOption(e[i]); var n = e[i].name || ""; if (this.selectedMap[n] = t ? t.isSelected(n) : !0, !this.selectedMap[n]) continue; this._buildVenn(i) } this.addShapeList() }, _buildVenn: function (e) { var t, i, n = this.series[e], a = n.data; a[0].value > a[1].value ? (t = this.zr.getHeight() / 3, i = t * Math.sqrt(a[1].value) / Math.sqrt(a[0].value)) : (i = this.zr.getHeight() / 3, t = i * Math.sqrt(a[0].value) / Math.sqrt(a[1].value)); var o = this.zr.getWidth() / 2 - t, r = (t + i) / 2 * Math.sqrt(a[2].value) / Math.sqrt((a[0].value + a[1].value) / 2), s = t + i; 0 !== a[2].value && (s = this._getCoincideLength(a[0].value, a[1].value, a[2].value, t, i, r, Math.abs(t - i), t + i)); var l = o + s, h = this.zr.getHeight() / 2; if (this._buildItem(e, 0, a[0], o, h, t), this._buildItem(e, 1, a[1], l, h, i), 0 !== a[2].value && a[2].value !== a[0].value && a[2].value !== a[1].value) { var m = (t * t - i * i) / (2 * s) + s / 2, V = s / 2 - (t * t - i * i) / (2 * s), U = Math.sqrt(t * t - m * m), d = 0, p = 0; a[0].value > a[1].value && o + m > l && (p = 1), a[0].value < a[1].value && o + V > l && (d = 1), this._buildCoincideItem(e, 2, a[2], o + m, h - U, h + U, t, i, d, p) } }, _getCoincideLength: function (e, t, i, n, a, o, r, s) { var l = (n * n - a * a) / (2 * o) + o / 2, h = o / 2 - (n * n - a * a) / (2 * o), m = Math.acos(l / n), V = Math.acos(h / a), U = n * n * Math.PI, d = m * n * n - l * n * Math.sin(m) + V * a * a - h * a * Math.sin(V), p = d / U, c = i / e, u = Math.abs(p / c); return u > .999 && 1.001 > u ? o : .999 >= u ? (s = o, o = (o + r) / 2, this._getCoincideLength(e, t, i, n, a, o, r, s)) : (r = o, o = (o + s) / 2, this._getCoincideLength(e, t, i, n, a, o, r, s)) }, _buildItem: function (e, t, i, n, a, o) { var r = this.series, l = r[e], h = this.getCircle(e, t, i, n, a, o); if (s.pack(h, l, e, i, t, i.name), this.shapeList.push(h), l.itemStyle.normal.label.show) { var m = this.getLabel(e, t, i, n, a, o); s.pack(m, l, e, l.data[t], t, l.data[t].name), this.shapeList.push(m) } }, _buildCoincideItem: function (e, t, i, n, a, r, l, h, m, V) { var U = this.series, d = U[e], p = [i, d], c = this.deepMerge(p, "itemStyle.normal") || {}, u = this.deepMerge(p, "itemStyle.emphasis") || {}, y = c.color || this.zr.getColor(t), g = u.color || this.zr.getColor(t), b = "M" + n + "," + a + "A" + l + "," + l + ",0," + m + ",1," + n + "," + r + "A" + h + "," + h + ",0," + V + ",1," + n + "," + a, f = {color: y, path: b}, k = { zlevel: d.zlevel, z: d.z, style: f, highlightStyle: {color: g, lineWidth: u.borderWidth, strokeColor: u.borderColor} }; k = new o(k), k.buildPathArray && (k.style.pathArray = k.buildPathArray(f.path)), s.pack(k, U[e], 0, i, t, i.name), this.shapeList.push(k) }, getCircle: function (e, t, i, n, o, r) { var s = this.series[e], l = [i, s], h = this.deepMerge(l, "itemStyle.normal") || {}, m = this.deepMerge(l, "itemStyle.emphasis") || {}, V = h.color || this.zr.getColor(t), U = m.color || this.zr.getColor(t), d = { zlevel: s.zlevel, z: s.z, clickable: !0, style: {x: n, y: o, r: r, brushType: "fill", opacity: 1, color: V}, highlightStyle: {color: U, lineWidth: m.borderWidth, strokeColor: m.borderColor} }; return this.deepQuery([i, s, this.option], "calculable") && (this.setCalculable(d), d.draggable = !0), new a(d) }, getLabel: function (e, t, i, a, o, r) { var s = this.series[e], l = s.itemStyle, h = [i, s], m = this.deepMerge(h, "itemStyle.normal") || {}, V = "normal", U = l[V].label, d = U.textStyle || {}, p = this.getLabelText(t, i, V), c = this.getFont(d), u = m.color || this.zr.getColor(t), y = d.fontSize || 12, g = { zlevel: s.zlevel, z: s.z, style: {x: a, y: o - r - y, color: d.color || u, text: p, textFont: c, textAlign: "center"} }; return new n(g) }, getLabelText: function (e, t, i) { var n = this.series, a = n[0], o = this.deepQuery([t, a], "itemStyle." + i + ".label.formatter"); return o ? "function" == typeof o ? o(a.name, t.name, t.value) : "string" == typeof o ? (o = o.replace("{a}", "{a0}").replace("{b}", "{b0}").replace("{c}", "{c0}"), o = o.replace("{a0}", a.name).replace("{b0}", t.name).replace("{c0}", t.value)) : void 0 : t.name }, refresh: function (e) { e && (this.option = e, this.series = e.series), this._buildShape() } }, l.inherits(t, i), e("../chart").define("venn", t), t }),i("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 (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.refresh(a); var r = this; r._onclick = function (e) { return r.__onclick(e) }, r.zr.on(V.EVENT.CLICK, r._onclick) } var i = e("./base"), n = e("zrender/tool/area"), a = e("zrender/shape/Rectangle"), o = e("zrender/shape/Text"), r = e("zrender/shape/Line"), s = e("../layout/TreeMap"), l = e("../data/Tree"), h = e("../config"); h.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 m = e("../util/ecData"), V = e("zrender/config"), U = (e("zrender/tool/event"), e("zrender/tool/util")), d = e("zrender/tool/color"); return t.prototype = { type: h.CHART_TYPE_TREEMAP, refresh: function (e) { this.clear(), e && (this.option = e, this.series = this.option.series), this._treesMap = {}; for (var t = this.series, i = this.component.legend, n = 0; n < t.length; n++) if (t[n].type === h.CHART_TYPE_TREEMAP) { t[n] = this.reformOption(t[n]); var a = t[n].name || ""; if (this.selectedMap[a] = i ? i.isSelected(a) : !0, !this.selectedMap[a]) continue; this._buildSeries(t[n], n) } }, _buildSeries: function (e, t) { var i = l.fromOptionData(e.name, e.data); this._treesMap[t] = i; var n = e.root && i.getNodeById(e.root) || i.root; this._buildTreemap(n, t) }, _buildTreemap: function (e, t) { for (var i = this.shapeList, n = 0; n < i.length;) { var a = i[n]; m.get(a, "seriesIndex") === t ? (this.zr.delShape(i[n]), i.splice(n, 1)) : n++ } for (var o = i.length, r = this.series[t], l = r.itemStyle, h = this.parsePercent(r.size[0], this.zr.getWidth()) || 400, V = this.parsePercent(r.size[1], this.zr.getHeight()) || 500, U = this.parseCenter(this.zr, r.center), d = U[0] - .5 * h, p = U[1] - .5 * V, c = h * V, u = 0, y = [], g = e.children, n = 0; n < g.length; n++) u += g[n].data.value; for (var b = 0; b < g.length; b++) y.push(g[b].data.value * c / u); for (var f = new s({x: d, y: p, width: h, height: V}), k = f.run(y), x = 0; x < k.length; x++) { var _ = g[x].data, L = k[x], W = [_.itemStyle, l], X = this.deepMerge(W); X.normal.color || (X.normal.color = this.zr.getColor(x)), X.emphasis.color || (X.emphasis.color = X.normal.color), this._buildItem(_, X, L, t, x), _.children && this._buildChildrenTreemap(_.children, X, L, t) } this.query(r, "itemStyle.normal.breadcrumb.show") && this._buildBreadcrumb(e, t, d, p + V); for (var n = o; n < i.length; n++) this.zr.addShape(i[n]) }, _buildItem: function (e, t, i, n, a) { var o = this.series, r = this.getRectangle(e, t, i); m.pack(r, o[n], n, e, a, e.name), this.shapeList.push(r) }, getRectangle: function (e, t, i) { var n = t.emphasis, o = t.normal, r = this.getLabel(t, i, e.name, e.value), s = this.option.hoverable, l = { zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: s, clickable: !0, style: U.merge({ x: i.x, y: i.y, width: i.width, height: i.height, brushType: "both", color: o.color, lineWidth: o.borderWidth, strokeColor: o.borderColor }, r.style, !0), highlightStyle: U.merge({ color: n.color, lineWidth: n.borderWidth, strokeColor: n.borderColor }, r.highlightStyle, !0) }; return new a(l) }, getLabel: function (e, t, i, a) { var o = e.normal.label.textStyle, r = [e.emphasis.label.textStyle, o], s = this.deepMerge(r), l = e.normal.label.formatter, h = this.getLabelText(i, a, l), m = this.getFont(o), V = n.getTextWidth(h, m), U = n.getTextHeight(h, m), d = this.deepQuery([e.emphasis, e.normal], "label.formatter"), p = this.getLabelText(i, a, d), c = this.getFont(s), u = n.getTextWidth(h, c), y = n.getTextHeight(h, c); e.normal.label.show ? (e.normal.label.x + V > t.width || e.normal.label.y + U > t.height) && (h = "") : h = "", e.emphasis.label.show ? (s.x + u > t.width || s.y + y > t.height) && (p = "") : p = ""; var g = { style: { textX: t.x + e.normal.label.x, textY: t.y + e.normal.label.y, text: h, textPosition: "specific", textColor: o.color, textFont: m }, highlightStyle: { textX: t.x + e.emphasis.label.x, textY: t.y + e.emphasis.label.y, text: p, textColor: s.color, textPosition: "specific" } }; return g }, getLabelText: function (e, t, i) { return i ? "function" == typeof i ? i.call(this.myChart, e, t) : "string" == typeof i ? (i = i.replace("{b}", "{b0}").replace("{c}", "{c0}"), i = i.replace("{b0}", e).replace("{c0}", t)) : void 0 : e }, _buildChildrenTreemap: function (e, t, i, n) { for (var a = i.width * i.height, o = 0, r = [], l = 0; l < e.length; l++) o += e[l].value; for (var h = 0; h < e.length; h++) r.push(e[h].value * a / o); for (var V = new s({ x: i.x, y: i.y, width: i.width, height: i.height }), U = V.run(r), d = t.normal.childBorderWidth, p = t.normal.childBorderColor, c = 0; c < U.length; c++) { var u = U[c], y = []; i.y.toFixed(2) !== u.y.toFixed(2) && y.push(this._getLine(u.x, u.y, u.x + u.width, u.y, d, p)), i.x.toFixed(2) !== u.x.toFixed(2) && y.push(this._getLine(u.x, u.y, u.x, u.y + u.height, d, p)), (i.y + i.height).toFixed(2) !== (u.y + u.height).toFixed(2) && y.push(this._getLine(u.x, u.y + u.height, u.x + u.width, u.y + u.height, d, p)), (i.x + i.width).toFixed(2) !== (u.x + u.width).toFixed(2) && y.push(this._getLine(u.x + u.width, u.y, u.x + u.width, u.y + u.height, d, p)); for (var g = 0; g < y.length; g++) m.set(y[g], "seriesIndex", n), this.shapeList.push(y[g]) } }, _getLine: function (e, t, i, n, a, o) { var s = { zlevel: this.getZlevelBase(), z: this.getZBase(), hoverable: !1, style: {xStart: e, yStart: t, xEnd: i, yEnd: n, lineWidth: a, strokeColor: o} }; return new r(s) }, _buildBreadcrumb: function (e, t, i, n) { for (var a = [], r = e; r;) a.unshift(r.data.name), r = r.parent; for (var s = this.series[t], l = this.query(s, "itemStyle.normal.breadcrumb.textStyle") || {}, h = this.query(s, "itemStyle.emphasis.breadcrumb.textStyle") || {}, V = { y: n + 10, textBaseline: "top", textAlign: "left", color: l.color, textFont: this.getFont(l) }, p = { brushType: "fill", color: h.color || d.lift(l.color, -.3), textFont: this.getFont(h) }, c = 0; c < a.length; c++) { var u = new o({ zlevel: this.getZlevelBase(), z: this.getZBase(), style: U.merge({x: i, text: a[c] + (a.length - 1 - c ? " > " : "")}, V), clickable: !0, highlightStyle: p }); m.set(u, "seriesIndex", t), m.set(u, "name", a[c]), i += u.getRect(u.style).width, this.shapeList.push(u) } }, __onclick: function (e) { var t = e.target; if (t) { var i = m.get(t, "seriesIndex"), n = m.get(t, "name"), a = this._treesMap[i], o = a.getNodeById(n); o && o.children.length && this._buildTreemap(o, i) } } }, U.inherits(t, i), e("../chart").define("treemap", t), t }),i("echarts/layout/TreeMap", ["require"], function () { function e(e) { ({x: e.x, y: e.y, width: e.width, height: e.height}); this.x = e.x, this.y = e.y, this.width = e.width, this.height = e.height } return e.prototype.run = function (e) { var t = []; return this._squarify(e, {x: this.x, y: this.y, width: this.width, height: this.height}, t), t }, e.prototype._squarify = function (e, t, i) { var n = "VERTICAL", a = t.width, o = t.height; t.width < t.height && (n = "HORIZONTAL", a = t.height, o = t.width); for (var r = this._getShapeListInAbstractRow(e, a, o), s = 0; s < r.length; s++) { r[s].x = 0, r[s].y = 0; for (var l = 0; s > l; l++) r[s].y += r[l].height } var h = {}; if ("VERTICAL" == n) { for (var m = 0; m < r.length; m++) i.push({ x: r[m].x + t.x, y: r[m].y + t.y, width: r[m].width, height: r[m].height }); h = {x: r[0].width + t.x, y: t.y, width: t.width - r[0].width, height: t.height} } else { for (var V = 0; V < r.length; V++) i.push({ x: r[V].y + t.x, y: r[V].x + t.y, width: r[V].height, height: r[V].width }); h = {x: t.x, y: t.y + r[0].width, width: t.width, height: t.height - r[0].width} } var U = e.slice(r.length); 0 !== U.length && this._squarify(U, h, i) }, e.prototype._getShapeListInAbstractRow = function (e, t, i) { if (1 === e.length) return [{width: t, height: i}]; for (var n = 1; n < e.length; n++) { var a = this._placeFixedNumberRectangles(e.slice(0, n), t, i), o = this._placeFixedNumberRectangles(e.slice(0, n + 1), t, i); if (this._isFirstBetter(a, o)) return a } }, e.prototype._placeFixedNumberRectangles = function (e, t, i) { for (var n = e.length, a = [], o = 0, r = 0; r < e.length; r++) o += e[r]; for (var s = o / i, l = 0; n > l; l++) { var h = i * e[l] / o; a.push({width: s, height: h}) } return a }, e.prototype._isFirstBetter = function (e, t) { var i = e[0].height / e[0].width; i = i > 1 ? 1 / i : i; var n = t[0].height / t[0].width; return n = n > 1 ? 1 / n : n, Math.abs(i - 1) <= Math.abs(n - 1) ? !0 : !1 }, e }),i("echarts/data/Tree", ["require", "zrender/tool/util"], function (e) { function t(e, t) { this.id = e, this.depth = 0, this.height = 0, this.children = [], this.parent = null, this.data = t || null } function i(e) { this.root = new t(e) } var n = e("zrender/tool/util"); return t.prototype.add = function (e) { var t = this.children; e.parent !== this && (t.push(e), e.parent = this) }, t.prototype.remove = function (e) { var t = this.children, i = n.indexOf(t, e); i >= 0 && (t.splice(i, 1), e.parent = null) }, t.prototype.traverse = function (e, t) { e.call(t, this); for (var i = 0; i < this.children.length; i++) this.children[i].traverse(e, t) }, t.prototype.updateDepthAndHeight = function (e) { var t = 0; this.depth = e; for (var i = 0; i < this.children.length; i++) { var n = this.children[i]; n.updateDepthAndHeight(e + 1), n.height > t && (t = n.height) } this.height = t + 1 }, t.prototype.getNodeById = function (e) { if (this.id === e) return this; for (var t = 0; t < this.children.length; t++) { var i = this.children[t].getNodeById(e); if (i) return i } }, i.prototype.traverse = function (e, t) { this.root.traverse(e, t) }, i.prototype.getSubTree = function (e) { var t = this.getNodeById(e); if (t) { var n = new i(t.id); return n.root = t, n } }, i.prototype.getNodeById = function (e) { return this.root.getNodeById(e) }, i.fromOptionData = function (e, n) { function a(e, i) { var n = new t(e.name, e); i.add(n); var o = e.children; if (o) for (var r = 0; r < o.length; r++) a(o[r], n) } var o = new i(e), r = o.root; r.data = {name: e, children: n}; for (var s = 0; s < n.length; s++) a(n[s], r); return o.root.updateDepthAndHeight(0), o }, i.fromGraph = function (e) { function n(t) { for (var i = e.getNodeById(t.id), a = 0; a < i.outEdges.length; a++) { var r = i.outEdges[a], s = o[r.node2.id]; t.children.push(s), n(s) } } for (var a = {}, o = {}, r = 0; r < e.nodes.length; r++) { var s, l = e.nodes[r]; 0 === l.inDegree() ? (a[l.id] = new i(l.id), s = a[l.id].root) : s = new t(l.id), s.data = l.data, o[l.id] = s } var h = []; for (var m in a) n(a[m].root), a[m].root.updateDepthAndHeight(0), h.push(a[m]); return h }, i }),i("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 (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.refresh(a) } var i = e("./base"), n = .618, a = e("../util/shape/Icon"), o = e("zrender/shape/Image"), r = e("zrender/shape/Line"), s = e("zrender/shape/BezierCurve"), l = e("../layout/Tree"), h = e("../data/Tree"), m = e("../config"); m.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 V = e("../util/ecData"), U = (e("zrender/config"), e("zrender/tool/event"), e("zrender/tool/util")); return t.prototype = { type: m.CHART_TYPE_TREE, _buildShape: function (e, t) { var i = e.data[0]; this.tree = h.fromOptionData(i.name, i.children), this.tree.root.data = i, this._setTreeShape(e), this.tree.traverse(function (i) { this._buildItem(i, e, t), i.children.length > 0 && this._buildLink(i, e) }, this); var n = e.roam === !0 || "move" === e.roam, a = e.roam === !0 || "scale" === e.roam; this.zr.modLayer(this.getZlevelBase(), { panable: n, zoomable: a }), (this.query("markPoint.effect.show") || this.query("markLine.effect.show")) && this.zr.modLayer(m.EFFECT_ZLEVEL, { panable: n, zoomable: a }), this.addShapeList() }, _buildItem: function (e, t, i) { var n = [e.data, t], r = this.deepQuery(n, "symbol"), s = this.deepMerge(n, "itemStyle.normal") || {}, l = this.deepMerge(n, "itemStyle.emphasis") || {}, h = s.color || this.zr.getColor(), m = l.color || this.zr.getColor(), U = -e.layout.angle || 0; e.id === this.tree.root.id && (U = 0); var d = "right"; Math.abs(U) >= Math.PI / 2 && Math.abs(U) < 3 * Math.PI / 2 && (U += Math.PI, d = "left"); var p = [U, e.layout.position[0], e.layout.position[1]], c = new a({ zlevel: this.getZlevelBase(), z: this.getZBase() + 1, rotation: p, clickable: this.deepQuery(n, "clickable"), style: { x: e.layout.position[0] - .5 * e.layout.width, y: e.layout.position[1] - .5 * e.layout.height, width: e.layout.width, height: e.layout.height, iconType: r, color: h, brushType: "both", lineWidth: s.borderWidth, strokeColor: s.borderColor }, highlightStyle: {color: m, lineWidth: l.borderWidth, strokeColor: l.borderColor} }); c.style.iconType.match("image") && (c.style.image = c.style.iconType.replace(new RegExp("^image:\\/\\/"), ""), c = new o({ rotation: p, style: c.style, highlightStyle: c.highlightStyle, clickable: c.clickable, zlevel: this.getZlevelBase(), z: this.getZBase() })), this.deepQuery(n, "itemStyle.normal.label.show") && (c.style.text = null == e.data.label ? e.id : e.data.label, c.style.textPosition = this.deepQuery(n, "itemStyle.normal.label.position"), "radial" === t.orient && "inside" !== c.style.textPosition && (c.style.textPosition = d), c.style.textColor = this.deepQuery(n, "itemStyle.normal.label.textStyle.color"), c.style.textFont = this.getFont(this.deepQuery(n, "itemStyle.normal.label.textStyle") || {})), this.deepQuery(n, "itemStyle.emphasis.label.show") && (c.highlightStyle.textPosition = this.deepQuery(n, "itemStyle.emphasis.label.position"), c.highlightStyle.textColor = this.deepQuery(n, "itemStyle.emphasis.label.textStyle.color"), c.highlightStyle.textFont = this.getFont(this.deepQuery(n, "itemStyle.emphasis.label.textStyle") || {})), V.pack(c, t, i, e.data, 0, e.id), this.shapeList.push(c) }, _buildLink: function (e, t) { var i = t.itemStyle.normal.lineStyle; if ("broken" === i.type) return void this._buildBrokenLine(e, i, t); for (var n = 0; n < e.children.length; n++) { var a = e.layout.position[0], o = e.layout.position[1], r = e.children[n].layout.position[0], s = e.children[n].layout.position[1]; switch (i.type) { case"curve": this._buildBezierCurve(e, e.children[n], i, t); break; case"broken": break; default: var l = this._getLine(a, o, r, s, i); this.shapeList.push(l) } } }, _buildBrokenLine: function (e, t, i) { var a = U.clone(t); a.type = "solid"; var o = [], r = e.layout.position[0], s = e.layout.position[1], l = i.orient, h = e.children[0].layout.position[1], m = r, V = s + (h - s) * (1 - n), d = e.children[0].layout.position[0], p = V, c = e.children[e.children.length - 1].layout.position[0], u = V; if ("horizontal" === l) { var y = e.children[0].layout.position[0]; m = r + (y - r) * (1 - n), V = s, d = m, p = e.children[0].layout.position[1], c = m, u = e.children[e.children.length - 1].layout.position[1] } o.push(this._getLine(r, s, m, V, a)), o.push(this._getLine(d, p, c, u, a)); for (var g = 0; g < e.children.length; g++) y = e.children[g].layout.position[0], h = e.children[g].layout.position[1], "horizontal" === l ? p = h : d = y, o.push(this._getLine(d, p, y, h, a)); this.shapeList = this.shapeList.concat(o) }, _getLine: function (e, t, i, n, a) { return e === i && (e = i = this.subPixelOptimize(e, a.width)), t === n && (t = n = this.subPixelOptimize(t, a.width)), new r({ zlevel: this.getZlevelBase(), hoverable: !1, style: U.merge({ xStart: e, yStart: t, xEnd: i, yEnd: n, lineType: a.type, strokeColor: a.color, lineWidth: a.width }, a, !0) }) }, _buildBezierCurve: function (e, t, i, a) { var o = n, r = a.orient, l = e.layout.position[0], h = e.layout.position[1], m = t.layout.position[0], V = t.layout.position[1], d = l, p = (V - h) * o + h, c = m, u = (V - h) * (1 - o) + h; if ("horizontal" === r) d = (m - l) * o + l, p = h, c = (m - l) * (1 - o) + l, u = V; else if ("radial" === r) if (e.id === this.tree.root.id) d = (m - l) * o + l, p = (V - h) * o + h, c = (m - l) * (1 - o) + l, u = (V - h) * (1 - o) + h; else { var y = e.layout.originPosition[0], g = e.layout.originPosition[1], b = t.layout.originPosition[0], f = t.layout.originPosition[1], k = this.tree.root.layout.position[0], x = this.tree.root.layout.position[1]; d = y, p = (f - g) * o + g, c = b, u = (f - g) * (1 - o) + g; var _ = (d - this.minX) / this.width * Math.PI * 2; d = p * Math.cos(_) + k, p = p * Math.sin(_) + x, _ = (c - this.minX) / this.width * Math.PI * 2, c = u * Math.cos(_) + k, u = u * Math.sin(_) + x } var L = new s({ zlevel: this.getZlevelBase(), hoverable: !1, style: U.merge({ xStart: l, yStart: h, cpX1: d, cpY1: p, cpX2: c, cpY2: u, xEnd: m, yEnd: V, strokeColor: i.color, lineWidth: i.width }, i, !0) }); this.shapeList.push(L) }, _setTreeShape: function (e) { var t = new l({nodePadding: e.nodePadding, layerPadding: e.layerPadding}); this.tree.traverse(function (t) { var i = [t.data, e], n = this.deepQuery(i, "symbolSize"); "number" == typeof n && (n = [n, n]), t.layout = {width: n[0], height: n[1]} }, this), t.run(this.tree); var i = e.orient, n = e.rootLocation.x, a = e.rootLocation.y, o = this.zr.getWidth(), r = this.zr.getHeight(); n = "center" === n ? .5 * o : this.parsePercent(n, o), a = "center" === a ? .5 * r : this.parsePercent(a, r), a = this.parsePercent(a, r), "horizontal" === i && (n = isNaN(n) ? 10 : n, a = isNaN(a) ? .5 * r : a), "radial" === i ? (n = isNaN(n) ? .5 * o : n, a = isNaN(a) ? .5 * r : a) : (n = isNaN(n) ? .5 * o : n, a = isNaN(a) ? 10 : a); var s = this.tree.root.layout.position[0]; if ("radial" === i) { var h = 1 / 0, m = 0, V = 0; this.tree.traverse(function (e) { m = Math.max(m, e.layout.position[0]), h = Math.min(h, e.layout.position[0]), V = Math.max(V, e.layout.width) }), this.width = m - h + 2 * V, this.minX = h } this.tree.traverse(function (t) { var o, r; if ("vertical" === i && "inverse" === e.direction) o = t.layout.position[0] - s + n, r = a - t.layout.position[1]; else if ("vertical" === i) o = t.layout.position[0] - s + n, r = t.layout.position[1] + a; else if ("horizontal" === i && "inverse" === e.direction) r = t.layout.position[0] - s + a, o = n - t.layout.position[1]; else if ("horizontal" === i) r = t.layout.position[0] - s + a, o = t.layout.position[1] + n; else { o = t.layout.position[0], r = t.layout.position[1], t.layout.originPosition = [o, r]; var l = r, m = (o - h) / this.width * Math.PI * 2; o = l * Math.cos(m) + n, r = l * Math.sin(m) + a, t.layout.angle = m } t.layout.position[0] = o, t.layout.position[1] = r }, this) }, refresh: function (e) { this.clear(), e && (this.option = e, this.series = this.option.series); for (var t = this.series, i = this.component.legend, n = 0; n < t.length; n++) if (t[n].type === m.CHART_TYPE_TREE) { t[n] = this.reformOption(t[n]); var a = t[n].name || ""; if (this.selectedMap[a] = i ? i.isSelected(a) : !0, !this.selectedMap[a]) continue; this._buildSeries(t[n], n) } }, _buildSeries: function (e, t) { this._buildShape(e, t) } }, U.inherits(t, i), e("../chart").define("tree", t), t }),i("echarts/layout/Tree", ["require", "zrender/tool/vector"], function (e) { function t(e) { e = e || {}, this.nodePadding = e.nodePadding || 30, this.layerPadding = e.layerPadding || 100, this._layerOffsets = [], this._layers = [] } var i = e("zrender/tool/vector"); return t.prototype.run = function (e) { this._layerOffsets.length = 0; for (var t = 0; t < e.root.height + 1; t++) this._layerOffsets[t] = 0, this._layers[t] = []; this._updateNodeXPosition(e.root); var i = e.root; this._updateNodeYPosition(i, 0, i.layout.height) }, t.prototype._updateNodeXPosition = function (e) { var t = 1 / 0, n = -(1 / 0); e.layout.position = e.layout.position || i.create(); for (var a = 0; a < e.children.length; a++) { var o = e.children[a]; this._updateNodeXPosition(o); var r = o.layout.position[0]; t > r && (t = r), r > n && (n = r) } e.layout.position[0] = e.children.length > 0 ? (t + n) / 2 : 0; var s = this._layerOffsets[e.depth] || 0; if (s > e.layout.position[0]) { var l = s - e.layout.position[0]; this._shiftSubtree(e, l); for (var a = e.depth + 1; a < e.height + e.depth; a++) this._layerOffsets[a] += l } this._layerOffsets[e.depth] = e.layout.position[0] + e.layout.width + this.nodePadding, this._layers[e.depth].push(e) }, t.prototype._shiftSubtree = function (e, t) { e.layout.position[0] += t; for (var i = 0; i < e.children.length; i++) this._shiftSubtree(e.children[i], t) }, t.prototype._updateNodeYPosition = function (e, t, i) { e.layout.position[1] = t; for (var n = 0, a = 0; a < e.children.length; a++) n = Math.max(e.children[a].layout.height, n); var o = this.layerPadding; "function" == typeof o && (o = o(e.depth)); for (var a = 0; a < e.children.length; a++) this._updateNodeYPosition(e.children[a], t + o + i, n) }, t }),i("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 (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.refresh(a) } var i = e("./base"), n = e("zrender/shape/Text"), a = e("../layout/WordCloud"); e("../component/grid"), e("../component/dataRange"); var o = e("../config"), r = e("../util/ecData"), s = e("zrender/tool/util"), l = e("zrender/tool/color"); return o.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 (e) { return e.value } } } } }, t.prototype = { type: o.CHART_TYPE_WORDCLOUD, refresh: function (e) { e && (this.option = e, this.series = e.series), this._init() }, _init: function () { var e = this.series; this.backupShapeList(); for (var t = this.component.legend, i = 0; i < e.length; i++) if (e[i].type === o.CHART_TYPE_WORDCLOUD) { e[i] = this.reformOption(e[i]); var n = e[i].name || ""; if (this.selectedMap[n] = t ? t.isSelected(n) : !0, !this.selectedMap[n]) continue; this.buildMark(i), this._initSerie(e[i]) } }, _initSerie: function (e) { var t = e.itemStyle.normal.textStyle, i = [this.parsePercent(e.size[0], this.zr.getWidth()) || 200, this.parsePercent(e.size[1], this.zr.getHeight()) || 200], n = this.parseCenter(this.zr, e.center), o = { size: i, wordletype: {autoSizeCal: e.autoSize}, center: n, rotate: e.textRotation, padding: e.textPadding, font: t.fontFamily, fontSize: t.fontSize, fontWeight: t.fontWeight, fontStyle: t.fontStyle, text: function (e) { return e.name }, data: e.data }, r = new a(o), s = this; r.end(function (e) { s._buildShapes(e) }), r.start() }, _buildShapes: function (e) { for (var t = e.length, i = 0; t > i; i++) this._buildTextShape(e[i], 0, i); this.addShapeList() }, _buildTextShape: function (e, t, i) { var a = this.series, o = a[t], s = o.name || "", h = o.data[i], m = [h, o], V = this.component.legend, U = V ? V.getColor(s) : this.zr.getColor(t), d = this.deepMerge(m, "itemStyle.normal") || {}, p = this.deepMerge(m, "itemStyle.emphasis") || {}, c = this.getItemStyleColor(d.color, t, i, h) || U, u = this.getItemStyleColor(p.color, t, i, h) || ("string" == typeof c ? l.lift(c, -.2) : c), y = new n({ zlevel: o.zlevel, z: o.z, hoverable: !0, clickable: this.deepQuery(m, "clickable"), style: { x: 0, y: 0, text: e.text, color: c, textFont: [e.style, e.weight, e.size + "px", e.font].join(" "), textBaseline: "alphabetic", textAlign: "center" }, highlightStyle: { brushType: p.borderWidth ? "both" : "fill", color: u, lineWidth: p.borderWidth || 0, strokeColor: p.borderColor }, position: [e.x, e.y], rotation: [-e.rotate / 180 * Math.PI, 0, 0] }); r.pack(y, o, t, h, i, h.name), this.shapeList.push(y) } }, s.inherits(t, i), e("../chart").define("wordCloud", t), t }),i("echarts/layout/WordCloud", ["require", "../layout/WordCloudRectZero", "zrender/tool/util"], function (e) { function t(e) { this._init(e) } var i = e("../layout/WordCloudRectZero"), n = e("zrender/tool/util"); return t.prototype = { start: function () { function e() { p.totalArea = r, U.autoSizeCal.enable && p._autoCalTextSize(m, r, a, o, U.autoSizeCal.minSize), V.timer && clearInterval(V.timer), V.timer = setInterval(t, 0), t() } function t() { for (var e, t = +new Date, i = m.length; +new Date - t < V.timeInterval && ++s < i && V.timer;) e = m[s], e.x = d[0] >> 1, e.y = d[1] >> 1, p._cloudSprite(e, m, s), e.hasText && p._place(n, e, h) && (l.push(e), e.x -= d[0] >> 1, e.y -= d[1] >> 1); s >= i && (p.stop(), p._fixTagPosition(l), V.endcallback(l)) } var n = null, a = 0, o = 0, r = 0, s = -1, l = [], h = null, m = this.wordsdata, V = this.defaultOption, U = V.wordletype, d = V.size, p = this, c = new i({type: U.type, width: d[0], height: d[1]}); return c.calculate(function (t) { n = t.initarr, a = t.maxWit, o = t.maxHit, r = t.area, h = t.imgboard, e() }, this), this }, _fixTagPosition: function (e) { for (var t = this.defaultOption.center, i = 0, n = e.length; n > i; i++) e[i].x += t[0], e[i].y += t[1] }, stop: function () { return this.defaultOption.timer && (clearInterval(this.defaultOption.timer), this.defaultOption.timer = null), this }, end: function (e) { return e && (this.defaultOption.endcallback = e), this }, _init: function (e) { this.defaultOption = {}, this._initProperty(e), this._initMethod(e), this._initCanvas(), this._initData(e.data) }, _initData: function (e) { var t = this, i = t.defaultOption; this.wordsdata = e.map(function (e, n) { return e.text = i.text.call(t, e, n), e.font = i.font.call(t, e, n), e.style = i.fontStyle.call(t, e, n), e.weight = i.fontWeight.call(t, e, n), e.rotate = i.rotate.call(t, e, n), e.size = ~~i.fontSize.call(t, e, n), e.padding = i.padding.call(t, e, n), e }).sort(function (e, t) { return t.value - e.value }) }, _initMethod: function (e) { function t(e) { return e.name } function i() { return "sans-serif" } function n() { return "normal" } function a(e) { return e.value } function o() { return 0 } function r(e) { return function () { return e[Math.round(Math.random() * (e.length - 1))] } } function s() { return 0 } function l(e) { var t = e[0] / e[1]; return function (e) { return [t * (e *= .1) * Math.cos(e), e * Math.sin(e)] } } function h(e) { var t = 4, i = t * e[0] / e[1], n = 0, a = 0; return function (e) { var o = 0 > e ? -1 : 1; switch (Math.sqrt(1 + 4 * o * e) - o & 3) { case 0: n += i; break; case 1: a += t; break; case 2: n -= i; break; default: a -= t } return [n, a] } } function m(e) { return "function" == typeof e ? e : function () { return e } } var V = this.defaultOption; V.text = e.text ? m(e.text) : t, V.font = e.font ? m(e.font) : i, V.fontSize = e.fontSize ? m(e.fontSize) : a, V.fontStyle = e.fontStyle ? m(e.fontStyle) : n, V.fontWeight = e.fontWeight ? m(e.fontWeight) : n, V.rotate = e.rotate ? r(e.rotate) : o, V.padding = e.padding ? m(e.padding) : s, V.center = e.center, V.spiral = l, V.endcallback = function () { }, V.rectangularSpiral = h, V.archimedeanSpiral = l }, _initProperty: function (e) { var t = this.defaultOption; t.size = e.size || [256, 256], t.wordletype = e.wordletype, t.words = e.words || [], t.timeInterval = 1 / 0, t.timer = null, t.spirals = { archimedean: t.archimedeanSpiral, rectangular: t.rectangularSpiral }, n.merge(t, { size: [256, 256], wordletype: {type: "RECT", areaPresent: .058, autoSizeCal: {enable: !0, minSize: 12}} }) }, _initCanvas: function () { var e, t = Math.PI / 180, i = 64, n = 2048, a = 1; "undefined" != typeof document ? (e = document.createElement("canvas"), e.width = 1, e.height = 1, a = Math.sqrt(e.getContext("2d").getImageData(0, 0, 1, 1).data.length >> 2), e.width = (i << 5) / a, e.height = n / a) : e = new Canvas(i << 5, n); var o = e.getContext("2d"); o.fillStyle = o.strokeStyle = "red", o.textAlign = "center", this.defaultOption.c = o, this.defaultOption.cw = i, this.defaultOption.ch = n, this.defaultOption.ratio = a, this.defaultOption.cloudRadians = t }, _cloudSprite: function (e, t, i) { if (!e.sprite) { var n = this.defaultOption.cw, a = this.defaultOption.ch, o = this.defaultOption.c, r = this.defaultOption.ratio, s = this.defaultOption.cloudRadians; o.clearRect(0, 0, (n << 5) / r, a / r); var l = 0, h = 0, m = 0, V = t.length; for (--i; ++i < V;) { e = t[i], o.save(), o.font = e.style + " " + e.weight + " " + ~~((e.size + 1) / r) + "px " + e.font; var U = o.measureText(e.text + "m").width * r, d = e.size << 1; if (e.rotate) { var p = Math.sin(e.rotate * s), c = Math.cos(e.rotate * s), u = U * c, y = U * p, g = d * c, b = d * p; U = Math.max(Math.abs(u + b), Math.abs(u - b)) + 31 >> 5 << 5, d = ~~Math.max(Math.abs(y + g), Math.abs(y - g)) } else U = U + 31 >> 5 << 5; if (d > m && (m = d), l + U >= n << 5 && (l = 0, h += m, m = 0), h + d >= a) break; o.translate((l + (U >> 1)) / r, (h + (d >> 1)) / r), e.rotate && o.rotate(e.rotate * s), o.fillText(e.text, 0, 0), e.padding && (o.lineWidth = 2 * e.padding, o.strokeText(e.text, 0, 0)), o.restore(), e.width = U, e.height = d, e.xoff = l, e.yoff = h, e.x1 = U >> 1, e.y1 = d >> 1, e.x0 = -e.x1, e.y0 = -e.y1, e.hasText = !0, l += U } for (var f = o.getImageData(0, 0, (n << 5) / r, a / r).data, k = []; --i >= 0;) if (e = t[i], e.hasText) { for (var U = e.width, x = U >> 5, d = e.y1 - e.y0, _ = 0; d * x > _; _++) k[_] = 0; if (l = e.xoff, null == l) return; h = e.yoff; for (var L = 0, W = -1, X = 0; d > X; X++) { for (var _ = 0; U > _; _++) { var v = x * X + (_ >> 5), w = f[(h + X) * (n << 5) + (l + _) << 2] ? 1 << 31 - _ % 32 : 0; k[v] |= w, L |= w } L ? W = X : (e.y0++, d--, X--, h++) } e.y1 = e.y0 + W, e.sprite = k.slice(0, (e.y1 - e.y0) * x) } } }, _place: function (e, t, i) { function n(e, t, i) { i >>= 5; for (var n, a = e.sprite, o = e.width >> 5, r = e.x - (o << 4), s = 127 & r, l = 32 - s, h = e.y1 - e.y0, m = (e.y + e.y0) * i + (r >> 5), V = 0; h > V; V++) { n = 0; for (var U = 0; o >= U; U++) if ((n << l | (o > U ? (n = a[V * o + U]) >>> s : 0)) & t[m + U]) return !0; m += i } return !1 } function a(e, t) { return t.row[e.y] && t.cloumn[e.x] && e.x >= t.row[e.y].start && e.x <= t.row[e.y].end && e.y >= t.cloumn[e.x].start && e.y <= t.cloumn[e.x].end } for (var o, r, s, l = this.defaultOption.size, h = ([{x: 0, y: 0}, { x: l[0], y: l[1] }], t.x), m = t.y, V = Math.sqrt(l[0] * l[0] + l[1] * l[1]), U = this.defaultOption.spiral(l), d = Math.random() < .5 ? 1 : -1, p = -d; (o = U(p += d)) && (r = ~~o[0], s = ~~o[1], !(Math.min(r, s) > V));) if (t.x = h + r, t.y = m + s, !(t.x + t.x0 < 0 || t.y + t.y0 < 0 || t.x + t.x1 > l[0] || t.y + t.y1 > l[1]) && !n(t, e, l[0]) && a(t, i)) { for (var c, u = t.sprite, y = t.width >> 5, g = l[0] >> 5, b = t.x - (y << 4), f = 127 & b, k = 32 - f, x = t.y1 - t.y0, _ = (t.y + t.y0) * g + (b >> 5), L = 0; x > L; L++) { c = 0; for (var W = 0; y >= W; W++) e[_ + W] |= c << k | (y > W ? (c = u[L * y + W]) >>> f : 0); _ += g } return delete t.sprite, !0 } return !1 }, _autoCalTextSize: function (e, t, i, n, a) { function o(e) { c.clearRect(0, 0, (d << 5) / u, p / u), c.save(), c.font = e.style + " " + e.weight + " " + ~~((e.size + 1) / u) + "px " + e.font; var t = c.measureText(e.text + "m").width * u, r = e.size << 1; t = t + 31 >> 5 << 5, c.restore(), e.aw = t, e.ah = r; var s, l, h; if (e.rotate) { var m = Math.sin(e.rotate * y), V = Math.cos(e.rotate * y), g = t * V, b = t * m, f = r * V, k = r * m; l = Math.max(Math.abs(g + k), Math.abs(g - k)) + 31 >> 5 << 5, h = ~~Math.max(Math.abs(b + f), Math.abs(b - f)) } return e.size <= U || e.rotate && t * r <= e.area && i >= l && n >= h || t * r <= e.area && i >= t && n >= r ? void (e.area = t * r) : (s = e.rotate && l > i && h > n ? Math.min(i / l, n / h) : t > i || r > n ? Math.min(i / t, n / r) : Math.sqrt(e.area / (e.aw * e.ah)), e.size = ~~(s * e.size), e.size < a ? void (e.size = a) : o(e)) } function r(e, t) { for (var i = e.length, n = 0; i--;) n += t(e[i]); return n } for (var s, l, h = r(e, function (e) { return e.size }), m = e.length, V = .25, U = a, d = this.defaultOption.cw, p = this.defaultOption.ch, c = this.defaultOption.c, u = this.defaultOption.ratio, y = this.defaultOption.cloudRadians; m--;) s = e[m], l = s.size / h, s.areapre = V ? V > l ? l : V : l, s.area = t * s.areapre, s.totalarea = t, o(s) } }, t }),i("echarts/layout/WordCloudRectZero", ["require"], function () { function e(e) { this.defaultOption = {type: "RECT"}, this._init(e) } return e.prototype = { RECT: "_calculateRect", _init: function (e) { this._initOption(e), this._initCanvas() }, _initOption: function (e) { for (k in e) this.defaultOption[k] = e[k] }, _initCanvas: function () { var e = document.createElement("canvas"); e.width = 1, e.height = 1; var t = Math.sqrt(e.getContext("2d").getImageData(0, 0, 1, 1).data.length >> 2); if (e.width = this.defaultOption.width, e.height = this.defaultOption.height, e.getContext) var i = e.getContext("2d"); this.canvas = e, this.ctx = i, this.ratio = t }, calculate: function (e, t) { var i = this.defaultOption.type, n = this[i]; this[n].call(this, e, t) }, _calculateReturn: function (e, t, i) { t.call(i, e) }, _calculateRect: function (e, t) { var i = {}, n = this.defaultOption.width >> 5 << 5, a = this.defaultOption.height; i.initarr = this._rectZeroArray(n * a), i.area = n * a, i.maxHit = a, i.maxWit = n, i.imgboard = this._rectBoard(n, a), this._calculateReturn(i, e, t) }, _rectBoard: function (e, t) { for (var i = [], n = 0; t > n; n++) i.push({y: n, start: 0, end: e}); for (var a = [], n = 0; e > n; n++) a.push({x: n, start: 0, end: t}); return {row: i, cloumn: a} }, _rectZeroArray: function (e) { for (var t = [], i = e, n = -1; ++n < i;) t[n] = 0; return t } }, e }),i("echarts/chart/heatmap", ["require", "./base", "../layer/heatmap", "../config", "../util/ecData", "zrender/tool/util", "zrender/tool/color", "zrender/shape/Image", "../chart"], function (e) { function t(e, t, n, a, o) { i.call(this, e, t, n, a, o), this.refresh(a) } var i = e("./base"), n = e("../layer/heatmap"), a = e("../config"), o = (e("../util/ecData"), e("zrender/tool/util")), r = (e("zrender/tool/color"), e("zrender/shape/Image")); return a.heatmap = {zlevel: 0, z: 2, clickable: !0}, t.prototype = { type: a.CHART_TYPE_HEATMAP, refresh: function (e) { this.clear(), e && (this.option = e, this.series = e.series), this._init() }, _init: function () { var e = this.series; this.backupShapeList(); for (var t = e.length, i = 0; t > i; ++i) if (e[i].type === a.CHART_TYPE_HEATMAP) { e[i] = this.reformOption(e[i]); var o = new n(e[i]), s = o.getCanvas(e[i].data, this.zr.getWidth(), this.zr.getHeight()), l = new r({ position: [0, 0], scale: [1, 1], hoverable: this.option.hoverable, style: {x: 0, y: 0, image: s, width: s.width, height: s.height} }); this.shapeList.push(l) } this.addShapeList() } }, o.inherits(t, i), e("../chart").define("heatmap", t), t }); var n = t("zrender"); n.tool = { color: t("zrender/tool/color"), math: t("zrender/tool/math"), util: t("zrender/tool/util"), vector: t("zrender/tool/vector"), area: t("zrender/tool/area"), event: t("zrender/tool/event") }, n.animation = { Animation: t("zrender/animation/Animation"), Cip: t("zrender/animation/Clip"), easing: t("zrender/animation/easing") }; var a = t("echarts"); a.config = t("echarts/config"), a.util = {mapData: {params: t("echarts/util/mapData/params")}}, t("echarts/chart/line"), t("echarts/chart/bar"), t("echarts/chart/scatter"), t("echarts/chart/k"), t("echarts/chart/pie"), t("echarts/chart/radar"), t("echarts/chart/chord"), t("echarts/chart/force"), t("echarts/chart/map"), t("echarts/chart/gauge"), t("echarts/chart/funnel"), t("echarts/chart/eventRiver"), t("echarts/chart/venn"), t("echarts/chart/treemap"), t("echarts/chart/tree"), t("echarts/chart/wordCloud"), t("echarts/chart/heatmap"), e.echarts = a, e.zrender = n }(window);