! function(t, e) {
"object" == typeof exports && "undefined" != typeof module ? e(exports) : "function" == typeof define && define
.amd ? define(["exports"], e) : e(t.echarts = {})
}(this, function(t) {
"use strict";
function e(t, e) {
function n() {
this.constructor = t
}
if ("function" != typeof e && null !== e) throw new TypeError("Class extends value " + String(e) +
" is not a constructor or null");
Hm(t, e), t.prototype = null === e ? Object.create(e) : (n.prototype = e.prototype, new n)
}
function n(t, e) {
var n = e.browser,
i = t.match(/Firefox\/([\d.]+)/),
r = t.match(/MSIE\s([\d.]+)/) || t.match(/Trident\/.+?rv:(([\d.]+))/),
o = t.match(/Edge?\/([\d.]+)/),
a = /micromessenger/i.test(t);
i && (n.firefox = !0, n.version = i[1]), r && (n.ie = !0, n.version = r[1]), o && (n.edge = !0, n.version =
o[1], n.newEdge = +o[1].split(".")[0] > 18), a && (n.weChat = !0), e.svgSupported = "undefined" !=
typeof SVGRect, e.touchEventsSupported = "ontouchstart" in window && !n.ie && !n.edge, e
.pointerEventsSupported = "onpointerdown" in window && (n.edge || n.ie && +n.version >= 11), e
.domSupported = "undefined" != typeof document;
var s = document.documentElement.style;
e.transform3dSupported = (n.ie && "transition" in s || n.edge || "WebKitCSSMatrix" in window && "m11" in
new WebKitCSSMatrix || "MozPerspective" in s) && !("OTransition" in s), e.transformSupported = e
.transform3dSupported || n.ie && +n.version >= 9
}
function i(t) {
var e = {};
if ("undefined" == typeof JSON) return e;
for (var n = 0; n < t.length; n++) {
var i = String.fromCharCode(n + 32),
r = (t.charCodeAt(n) - qm) / jm;
e[i] = r
}
return e
}
function r(t) {
for (var e in Qm) t[e] && (Qm[e] = t[e])
}
function o() {
return h_++
}
function a() {
for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
"undefined" != typeof console && console.error.apply(console, t)
}
function s(t) {
if (null == t || "object" != typeof t) return t;
var e = t,
n = e_.call(t);
if ("[object Array]" === n) {
if (!Y(t)) {
e = [];
for (var i = 0, r = t.length; r > i; i++) e[i] = s(t[i])
}
} else if (t_[n]) {
if (!Y(t)) {
var o = t.constructor;
if (o.from) e = o.from(t);
else {
e = new o(t.length);
for (var i = 0, r = t.length; r > i; i++) e[i] = t[i]
}
}
} else if (!Jm[n] && !Y(t) && !L(t)) {
e = {};
for (var a in t) t.hasOwnProperty(a) && a !== u_ && (e[a] = s(t[a]))
}
return e
}
function l(t, e, n) {
if (!k(e) || !k(t)) return n ? s(e) : t;
for (var i in e)
if (e.hasOwnProperty(i) && i !== u_) {
var r = t[i],
o = e[i];
!k(o) || !k(r) || M(o) || M(r) || L(o) || L(r) || A(o) || A(r) || Y(o) || Y(r) ? !n && i in t || (t[
i] = s(e[i])) : l(r, o, n)
} return t
}
function u(t, e) {
for (var n = t[0], i = 1, r = t.length; r > i; i++) n = l(n, t[i], e);
return n
}
function h(t, e) {
if (Object.assign) Object.assign(t, e);
else
for (var n in e) e.hasOwnProperty(n) && n !== u_ && (t[n] = e[n]);
return t
}
function c(t, e, n) {
for (var i = w(e), r = 0; r < i.length; r++) {
var o = i[r];
(n ? null != e[o] : null == t[o]) && (t[o] = e[o])
}
return t
}
function p(t, e) {
if (t) {
if (t.indexOf) return t.indexOf(e);
for (var n = 0, i = t.length; i > n; n++)
if (t[n] === e) return n
}
return -1
}
function d(t, e) {
function n() {}
var i = t.prototype;
n.prototype = e.prototype, t.prototype = new n;
for (var r in i) i.hasOwnProperty(r) && (t.prototype[r] = i[r]);
t.prototype.constructor = t, t.superClass = e
}
function f(t, e, n) {
if (t = "prototype" in t ? t.prototype : t, e = "prototype" in e ? e.prototype : e, Object
.getOwnPropertyNames)
for (var i = Object.getOwnPropertyNames(e), r = 0; r < i.length; r++) {
var o = i[r];
"constructor" !== o && (n ? null != e[o] : null == t[o]) && (t[o] = e[o])
} else c(t, e, n)
}
function g(t) {
return t ? "string" == typeof t ? !1 : "number" == typeof t.length : !1
}
function v(t, e, n) {
if (t && e)
if (t.forEach && t.forEach === i_) t.forEach(e, n);
else if (t.length === +t.length)
for (var i = 0, r = t.length; r > i; i++) e.call(n, t[i], i, t);
else
for (var o in t) t.hasOwnProperty(o) && e.call(n, t[o], o, t)
}
function y(t, e, n) {
if (!t) return [];
if (!e) return V(t);
if (t.map && t.map === a_) return t.map(e, n);
for (var i = [], r = 0, o = t.length; o > r; r++) i.push(e.call(n, t[r], r, t));
return i
}
function m(t, e, n, i) {
if (t && e) {
for (var r = 0, o = t.length; o > r; r++) n = e.call(i, n, t[r], r, t);
return n
}
}
function _(t, e, n) {
if (!t) return [];
if (!e) return V(t);
if (t.filter && t.filter === r_) return t.filter(e, n);
for (var i = [], r = 0, o = t.length; o > r; r++) e.call(n, t[r], r, t) && i.push(t[r]);
return i
}
function x(t, e, n) {
if (t && e)
for (var i = 0, r = t.length; r > i; i++)
if (e.call(n, t[i], i, t)) return t[i]
}
function w(t) {
if (!t) return [];
if (Object.keys) return Object.keys(t);
var e = [];
for (var n in t) t.hasOwnProperty(n) && e.push(n);
return e
}
function b(t, e) {
for (var n = [], i = 2; i < arguments.length; i++) n[i - 2] = arguments[i];
return function() {
return t.apply(e, n.concat(o_.call(arguments)))
}
}
function S(t) {
for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n];
return function() {
return t.apply(this, e.concat(o_.call(arguments)))
}
}
function M(t) {
return Array.isArray ? Array.isArray(t) : "[object Array]" === e_.call(t)
}
function T(t) {
return "function" == typeof t
}
function C(t) {
return "string" == typeof t
}
function I(t) {
return "[object String]" === e_.call(t)
}
function D(t) {
return "number" == typeof t
}
function k(t) {
var e = typeof t;
return "function" === e || !!t && "object" === e
}
function A(t) {
return !!Jm[e_.call(t)]
}
function P(t) {
return !!t_[e_.call(t)]
}
function L(t) {
return "object" == typeof t && "number" == typeof t.nodeType && "object" == typeof t.ownerDocument
}
function O(t) {
return null != t.colorStops
}
function R(t) {
return null != t.image
}
function z(t) {
return "[object RegExp]" === e_.call(t)
}
function E(t) {
return t !== t
}
function B() {
for (var t = [], e = 0; e < arguments.length; e++) t[e] = arguments[e];
for (var n = 0, i = t.length; i > n; n++)
if (null != t[n]) return t[n]
}
function N(t, e) {
return null != t ? t : e
}
function F(t, e, n) {
return null != t ? t : null != e ? e : n
}
function V(t) {
for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n];
return o_.apply(t, e)
}
function H(t) {
if ("number" == typeof t) return [t, t, t, t];
var e = t.length;
return 2 === e ? [t[0], t[1], t[0], t[1]] : 3 === e ? [t[0], t[1], t[2], t[1]] : t
}
function W(t, e) {
if (!t) throw new Error(e)
}
function G(t) {
return null == t ? null : "function" == typeof t.trim ? t.trim() : t.replace(
/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "")
}
function U(t) {
t[d_] = !0
}
function Y(t) {
return t[d_]
}
function X() {
return g_ ? new Map : new f_
}
function Z(t) {
return new v_(t)
}
function q(t, e) {
for (var n = new t.constructor(t.length + e.length), i = 0; i < t.length; i++) n[i] = t[i];
for (var r = t.length, i = 0; i < e.length; i++) n[i + r] = e[i];
return n
}
function j(t, e) {
var n;
if (Object.create) n = Object.create(t);
else {
var i = function() {};
i.prototype = t, n = new i
}
return e && h(n, e), n
}
function K(t) {
var e = t.style;
e.webkitUserSelect = "none", e.userSelect = "none", e.webkitTapHighlightColor = "rgba(0,0,0,0)", e[
"-webkit-touch-callout"] = "none"
}
function $(t, e) {
return t.hasOwnProperty(e)
}
function Q() {}
function J(t, e) {
return null == t && (t = 0), null == e && (e = 0), [t, e]
}
function te(t, e) {
return t[0] = e[0], t[1] = e[1], t
}
function ee(t) {
return [t[0], t[1]]
}
function ne(t, e, n) {
return t[0] = e, t[1] = n, t
}
function ie(t, e, n) {
return t[0] = e[0] + n[0], t[1] = e[1] + n[1], t
}
function re(t, e, n, i) {
return t[0] = e[0] + n[0] * i, t[1] = e[1] + n[1] * i, t
}
function oe(t, e, n) {
return t[0] = e[0] - n[0], t[1] = e[1] - n[1], t
}
function ae(t) {
return Math.sqrt(se(t))
}
function se(t) {
return t[0] * t[0] + t[1] * t[1]
}
function le(t, e, n) {
return t[0] = e[0] * n[0], t[1] = e[1] * n[1], t
}
function ue(t, e, n) {
return t[0] = e[0] / n[0], t[1] = e[1] / n[1], t
}
function he(t, e) {
return t[0] * e[0] + t[1] * e[1]
}
function ce(t, e, n) {
return t[0] = e[0] * n, t[1] = e[1] * n, t
}
function pe(t, e) {
var n = ae(e);
return 0 === n ? (t[0] = 0, t[1] = 0) : (t[0] = e[0] / n, t[1] = e[1] / n), t
}
function de(t, e) {
return Math.sqrt((t[0] - e[0]) * (t[0] - e[0]) + (t[1] - e[1]) * (t[1] - e[1]))
}
function fe(t, e) {
return (t[0] - e[0]) * (t[0] - e[0]) + (t[1] - e[1]) * (t[1] - e[1])
}
function ge(t, e) {
return t[0] = -e[0], t[1] = -e[1], t
}
function ve(t, e, n, i) {
return t[0] = e[0] + i * (n[0] - e[0]), t[1] = e[1] + i * (n[1] - e[1]), t
}
function ye(t, e, n) {
var i = e[0],
r = e[1];
return t[0] = n[0] * i + n[2] * r + n[4], t[1] = n[1] * i + n[3] * r + n[5], t
}
function me(t, e, n) {
return t[0] = Math.min(e[0], n[0]), t[1] = Math.min(e[1], n[1]), t
}
function _e(t, e, n) {
return t[0] = Math.max(e[0], n[0]), t[1] = Math.max(e[1], n[1]), t
}
function xe(t, e, n, i, r, o) {
var a = i + "-" + r,
s = t.length;
if (o.hasOwnProperty(a)) return o[a];
if (1 === e) {
var l = Math.round(Math.log((1 << s) - 1 & ~r) / I_);
return t[n][l]
}
for (var u = i | 1 << n, h = n + 1; i & 1 << h;) h++;
for (var c = 0, p = 0, d = 0; s > p; p++) {
var f = 1 << p;
f & r || (c += (d % 2 ? -1 : 1) * t[n][p] * xe(t, e - 1, h, u, r | f, o), d++)
}
return o[a] = c, c
}
function we(t, e) {
var n = [
[t[0], t[1], 1, 0, 0, 0, -e[0] * t[0], -e[0] * t[1]],
[0, 0, 0, t[0], t[1], 1, -e[1] * t[0], -e[1] * t[1]],
[t[2], t[3], 1, 0, 0, 0, -e[2] * t[2], -e[2] * t[3]],
[0, 0, 0, t[2], t[3], 1, -e[3] * t[2], -e[3] * t[3]],
[t[4], t[5], 1, 0, 0, 0, -e[4] * t[4], -e[4] * t[5]],
[0, 0, 0, t[4], t[5], 1, -e[5] * t[4], -e[5] * t[5]],
[t[6], t[7], 1, 0, 0, 0, -e[6] * t[6], -e[6] * t[7]],
[0, 0, 0, t[6], t[7], 1, -e[7] * t[6], -e[7] * t[7]]
],
i = {},
r = xe(n, 8, 0, 0, 0, i);
if (0 !== r) {
for (var o = [], a = 0; 8 > a; a++)
for (var s = 0; 8 > s; s++) null == o[s] && (o[s] = 0), o[s] += ((a + s) % 2 ? -1 : 1) * xe(n, 7,
0 === a ? 1 : 0, 1 << a, 1 << s, i) / r * e[a];
return function(t, e, n) {
var i = e * o[6] + n * o[7] + 1;
t[0] = (e * o[0] + n * o[1] + o[2]) / i, t[1] = (e * o[3] + n * o[4] + o[5]) / i
}
}
}
function be(t, e, n, i, r) {
return Se(k_, e, i, r, !0) && Se(t, n, k_[0], k_[1])
}
function Se(t, e, n, i, r) {
if (e.getBoundingClientRect && Um.domSupported && !Ce(e)) {
var o = e[D_] || (e[D_] = {}),
a = Me(e, o),
s = Te(a, o, r);
if (s) return s(t, n, i), !0
}
return !1
}
function Me(t, e) {
var n = e.markers;
if (n) return n;
n = e.markers = [];
for (var i = ["left", "right"], r = ["top", "bottom"], o = 0; 4 > o; o++) {
var a = document.createElement("div"),
s = a.style,
l = o % 2,
u = (o >> 1) % 2;
s.cssText = ["position: absolute", "visibility: hidden", "padding: 0", "margin: 0", "border-width: 0",
"user-select: none", "width:0", "height:0", i[l] + ":0", r[u] + ":0", i[1 - l] + ":auto", r[1 -
u] + ":auto", ""
].join("!important;"), t.appendChild(a), n.push(a)
}
return n
}
function Te(t, e, n) {
for (var i = n ? "invTrans" : "trans", r = e[i], o = e.srcCoords, a = [], s = [], l = !0, u = 0; 4 >
u; u++) {
var h = t[u].getBoundingClientRect(),
c = 2 * u,
p = h.left,
d = h.top;
a.push(p, d), l = l && o && p === o[c] && d === o[c + 1], s.push(t[u].offsetLeft, t[u].offsetTop)
}
return l && r ? r : (e.srcCoords = a, e[i] = n ? we(s, a) : we(a, s))
}
function Ce(t) {
return "CANVAS" === t.nodeName.toUpperCase()
}
function Ie(t) {
return null == t ? "" : (t + "").replace(A_, function(t, e) {
return P_[e]
})
}
function De(t, e, n, i) {
return n = n || {}, i ? ke(t, e, n) : R_ && null != e.layerX && e.layerX !== e.offsetX ? (n.zrX = e.layerX,
n.zrY = e.layerY) : null != e.offsetX ? (n.zrX = e.offsetX, n.zrY = e.offsetY) : ke(t, e, n), n
}
function ke(t, e, n) {
if (Um.domSupported && t.getBoundingClientRect) {
var i = e.clientX,
r = e.clientY;
if (Ce(t)) {
var o = t.getBoundingClientRect();
return n.zrX = i - o.left, void(n.zrY = r - o.top)
}
if (Se(O_, t, i, r)) return n.zrX = O_[0], void(n.zrY = O_[1])
}
n.zrX = n.zrY = 0
}
function Ae(t) {
return t || window.event
}
function Pe(t, e, n) {
if (e = Ae(e), null != e.zrX) return e;
var i = e.type,
r = i && i.indexOf("touch") >= 0;
if (r) {
var o = "touchend" !== i ? e.targetTouches[0] : e.changedTouches[0];
o && De(t, o, e, n)
} else {
De(t, e, e, n);
var a = Le(e);
e.zrDelta = a ? a / 120 : -(e.detail || 0) / 3
}
var s = e.button;
return null == e.which && void 0 !== s && L_.test(e.type) && (e.which = 1 & s ? 1 : 2 & s ? 3 : 4 & s ? 2 :
0), e
}
function Le(t) {
var e = t.wheelDelta;
if (e) return e;
var n = t.deltaX,
i = t.deltaY;
if (null == n || null == i) return e;
var r = Math.abs(0 !== i ? i : n),
o = i > 0 ? -1 : 0 > i ? 1 : n > 0 ? -1 : 1;
return 3 * r * o
}
function Oe(t, e, n, i) {
t.addEventListener(e, n, i)
}
function Re(t, e, n, i) {
t.removeEventListener(e, n, i)
}
function ze(t) {
return 2 === t.which || 3 === t.which
}
function Ee(t) {
var e = t[1][0] - t[0][0],
n = t[1][1] - t[0][1];
return Math.sqrt(e * e + n * n)
}
function Be(t) {
return [(t[0][0] + t[1][0]) / 2, (t[0][1] + t[1][1]) / 2]
}
function Ne() {
return [1, 0, 0, 1, 0, 0]
}
function Fe(t) {
return t[0] = 1, t[1] = 0, t[2] = 0, t[3] = 1, t[4] = 0, t[5] = 0, t
}
function Ve(t, e) {
return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4], t[5] = e[5], t
}
function He(t, e, n) {
var i = e[0] * n[0] + e[2] * n[1],
r = e[1] * n[0] + e[3] * n[1],
o = e[0] * n[2] + e[2] * n[3],
a = e[1] * n[2] + e[3] * n[3],
s = e[0] * n[4] + e[2] * n[5] + e[4],
l = e[1] * n[4] + e[3] * n[5] + e[5];
return t[0] = i, t[1] = r, t[2] = o, t[3] = a, t[4] = s, t[5] = l, t
}
function We(t, e, n) {
return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t[4] = e[4] + n[0], t[5] = e[5] + n[1], t
}
function Ge(t, e, n) {
var i = e[0],
r = e[2],
o = e[4],
a = e[1],
s = e[3],
l = e[5],
u = Math.sin(n),
h = Math.cos(n);
return t[0] = i * h + a * u, t[1] = -i * u + a * h, t[2] = r * h + s * u, t[3] = -r * u + h * s, t[4] = h *
o + u * l, t[5] = h * l - u * o, t
}
function Ue(t, e, n) {
var i = n[0],
r = n[1];
return t[0] = e[0] * i, t[1] = e[1] * r, t[2] = e[2] * i, t[3] = e[3] * r, t[4] = e[4] * i, t[5] = e[5] * r,
t
}
function Ye(t, e) {
var n = e[0],
i = e[2],
r = e[4],
o = e[1],
a = e[3],
s = e[5],
l = n * a - o * i;
return l ? (l = 1 / l, t[0] = a * l, t[1] = -o * l, t[2] = -i * l, t[3] = n * l, t[4] = (i * s - a * r) * l,
t[5] = (o * r - n * s) * l, t) : null
}
function Xe(t) {
var e = Ne();
return Ve(e, t), e
}
function Ze(t, e, n) {
return {
type: t,
event: n,
target: e.target,
topTarget: e.topTarget,
cancelBubble: !1,
offsetX: n.zrX,
offsetY: n.zrY,
gestureEvent: n.gestureEvent,
pinchX: n.pinchX,
pinchY: n.pinchY,
pinchScale: n.pinchScale,
wheelDelta: n.zrDelta,
zrByTouch: n.zrByTouch,
which: n.which,
stop: qe
}
}
function qe() {
z_(this.event)
}
function je(t, e, n) {
if (t[t.rectHover ? "rectContain" : "contain"](e, n)) {
for (var i = t, r = void 0, o = !1; i;) {
if (i.ignoreClip && (o = !0), !o) {
var a = i.getClipPath();
if (a && !a.contain(e, n)) return !1;
i.silent && (r = !0)
}
var s = i.__hostTarget;
i = s ? s : i.parent
}
return r ? j_ : !0
}
return !1
}
function Ke(t, e, n, i, r) {
for (var o = t.length - 1; o >= 0; o--) {
var a = t[o],
s = void 0;
if (a !== r && !a.ignore && (s = je(a, n, i)) && (!e.topTarget && (e.topTarget = a), s !== j_)) {
e.target = a;
break
}
}
}
function $e(t, e, n) {
var i = t.painter;
return 0 > e || e > i.getWidth() || 0 > n || n > i.getHeight()
}
function Qe(t) {
for (var e = 0; t >= nx;) e |= 1 & t, t >>= 1;
return t + e
}
function Je(t, e, n, i) {
var r = e + 1;
if (r === n) return 1;
if (i(t[r++], t[e]) < 0) {
for (; n > r && i(t[r], t[r - 1]) < 0;) r++;
tn(t, e, r)
} else
for (; n > r && i(t[r], t[r - 1]) >= 0;) r++;
return r - e
}
function tn(t, e, n) {
for (n--; n > e;) {
var i = t[e];
t[e++] = t[n], t[n--] = i
}
}
function en(t, e, n, i, r) {
for (i === e && i++; n > i; i++) {
for (var o, a = t[i], s = e, l = i; l > s;) o = s + l >>> 1, r(a, t[o]) < 0 ? l = o : s = o + 1;
var u = i - s;
switch (u) {
case 3:
t[s + 3] = t[s + 2];
case 2:
t[s + 2] = t[s + 1];
case 1:
t[s + 1] = t[s];
break;
default:
for (; u > 0;) t[s + u] = t[s + u - 1], u--
}
t[s] = a
}
}
function nn(t, e, n, i, r, o) {
var a = 0,
s = 0,
l = 1;
if (o(t, e[n + r]) > 0) {
for (s = i - r; s > l && o(t, e[n + r + l]) > 0;) a = l, l = (l << 1) + 1, 0 >= l && (l = s);
l > s && (l = s), a += r, l += r
} else {
for (s = r + 1; s > l && o(t, e[n + r - l]) <= 0;) a = l, l = (l << 1) + 1, 0 >= l && (l = s);
l > s && (l = s);
var u = a;
a = r - l, l = r - u
}
for (a++; l > a;) {
var h = a + (l - a >>> 1);
o(t, e[n + h]) > 0 ? a = h + 1 : l = h
}
return l
}
function rn(t, e, n, i, r, o) {
var a = 0,
s = 0,
l = 1;
if (o(t, e[n + r]) < 0) {
for (s = r + 1; s > l && o(t, e[n + r - l]) < 0;) a = l, l = (l << 1) + 1, 0 >= l && (l = s);
l > s && (l = s);
var u = a;
a = r - l, l = r - u
} else {
for (s = i - r; s > l && o(t, e[n + r + l]) >= 0;) a = l, l = (l << 1) + 1, 0 >= l && (l = s);
l > s && (l = s), a += r, l += r
}
for (a++; l > a;) {
var h = a + (l - a >>> 1);
o(t, e[n + h]) < 0 ? l = h : a = h + 1
}
return l
}
function on(t, e) {
function n(t, e) {
l[c] = t, u[c] = e, c += 1
}
function i() {
for (; c > 1;) {
var t = c - 2;
if (t >= 1 && u[t - 1] <= u[t] + u[t + 1] || t >= 2 && u[t - 2] <= u[t] + u[t - 1]) u[t - 1] < u[t +
1] && t--;
else if (u[t] > u[t + 1]) break;
o(t)
}
}
function r() {
for (; c > 1;) {
var t = c - 2;
t > 0 && u[t - 1] < u[t + 1] && t--, o(t)
}
}
function o(n) {
var i = l[n],
r = u[n],
o = l[n + 1],
h = u[n + 1];
u[n] = r + h, n === c - 3 && (l[n + 1] = l[n + 2], u[n + 1] = u[n + 2]), c--;
var p = rn(t[o], t, i, r, 0, e);
i += p, r -= p, 0 !== r && (h = nn(t[i + r - 1], t, o, h, h - 1, e), 0 !== h && (h >= r ? a(i, r, o,
h) : s(i, r, o, h)))
}
function a(n, i, r, o) {
var a = 0;
for (a = 0; i > a; a++) p[a] = t[n + a];
var s = 0,
l = r,
u = n;
if (t[u++] = t[l++], 0 !== --o) {
if (1 === i) {
for (a = 0; o > a; a++) t[u + a] = t[l + a];
return void(t[u + o] = p[s])
}
for (var c, d, f, g = h;;) {
c = 0, d = 0, f = !1;
do
if (e(t[l], p[s]) < 0) {
if (t[u++] = t[l++], d++, c = 0, 0 === --o) {
f = !0;
break
}
} else if (t[u++] = p[s++], c++, d = 0, 1 === --i) {
f = !0;
break
} while (g > (c | d));
if (f) break;
do {
if (c = rn(t[l], p, s, i, 0, e), 0 !== c) {
for (a = 0; c > a; a++) t[u + a] = p[s + a];
if (u += c, s += c, i -= c, 1 >= i) {
f = !0;
break
}
}
if (t[u++] = t[l++], 0 === --o) {
f = !0;
break
}
if (d = nn(p[s], t, l, o, 0, e), 0 !== d) {
for (a = 0; d > a; a++) t[u + a] = t[l + a];
if (u += d, l += d, o -= d, 0 === o) {
f = !0;
break
}
}
if (t[u++] = p[s++], 1 === --i) {
f = !0;
break
}
g--
} while (c >= ix || d >= ix);
if (f) break;
0 > g && (g = 0), g += 2
}
if (h = g, 1 > h && (h = 1), 1 === i) {
for (a = 0; o > a; a++) t[u + a] = t[l + a];
t[u + o] = p[s]
} else {
if (0 === i) throw new Error;
for (a = 0; i > a; a++) t[u + a] = p[s + a]
}
} else
for (a = 0; i > a; a++) t[u + a] = p[s + a]
}
function s(n, i, r, o) {
var a = 0;
for (a = 0; o > a; a++) p[a] = t[r + a];
var s = n + i - 1,
l = o - 1,
u = r + o - 1,
c = 0,
d = 0;
if (t[u--] = t[s--], 0 !== --i) {
if (1 === o) {
for (u -= i, s -= i, d = u + 1, c = s + 1, a = i - 1; a >= 0; a--) t[d + a] = t[c + a];
return void(t[u] = p[l])
}
for (var f = h;;) {
var g = 0,
v = 0,
y = !1;
do
if (e(p[l], t[s]) < 0) {
if (t[u--] = t[s--], g++, v = 0, 0 === --i) {
y = !0;
break
}
} else if (t[u--] = p[l--], v++, g = 0, 1 === --o) {
y = !0;
break
} while (f > (g | v));
if (y) break;
do {
if (g = i - rn(p[l], t, n, i, i - 1, e), 0 !== g) {
for (u -= g, s -= g, i -= g, d = u + 1, c = s + 1, a = g - 1; a >= 0; a--) t[d + a] = t[
c + a];
if (0 === i) {
y = !0;
break
}
}
if (t[u--] = p[l--], 1 === --o) {
y = !0;
break
}
if (v = o - nn(t[s], p, 0, o, o - 1, e), 0 !== v) {
for (u -= v, l -= v, o -= v, d = u + 1, c = l + 1, a = 0; v > a; a++) t[d + a] = p[c +
a];
if (1 >= o) {
y = !0;
break
}
}
if (t[u--] = t[s--], 0 === --i) {
y = !0;
break
}
f--
} while (g >= ix || v >= ix);
if (y) break;
0 > f && (f = 0), f += 2
}
if (h = f, 1 > h && (h = 1), 1 === o) {
for (u -= i, s -= i, d = u + 1, c = s + 1, a = i - 1; a >= 0; a--) t[d + a] = t[c + a];
t[u] = p[l]
} else {
if (0 === o) throw new Error;
for (c = u - (o - 1), a = 0; o > a; a++) t[c + a] = p[a]
}
} else
for (c = u - (o - 1), a = 0; o > a; a++) t[c + a] = p[a]
}
var l, u, h = ix,
c = 0,
p = [];
return l = [], u = [], {
mergeRuns: i,
forceMergeRuns: r,
pushRun: n
}
}
function an(t, e, n, i) {
n || (n = 0), i || (i = t.length);
var r = i - n;
if (!(2 > r)) {
var o = 0;
if (nx > r) return o = Je(t, n, i, e), void en(t, n, i, n + o, e);
var a = on(t, e),
s = Qe(r);
do {
if (o = Je(t, n, i, e), s > o) {
var l = r;
l > s && (l = s), en(t, n, n + l, n + o, e), o = l
}
a.pushRun(n, o), a.mergeRuns(), r -= o, n += o
} while (0 !== r);
a.forceMergeRuns()
}
}
function sn() {
sx || (sx = !0, console.warn(
"z / z2 / zlevel of displayable is invalid, which may cause unexpected errors"))
}
function ln(t, e) {
return t.zlevel === e.zlevel ? t.z === e.z ? t.z2 - e.z2 : t.z - e.z : t.zlevel - e.zlevel
}
function un(t) {
return t > -dx && dx > t
}
function hn(t) {
return t > dx || -dx > t
}
function cn(t, e, n, i, r) {
var o = 1 - r;
return o * o * (o * t + 3 * r * e) + r * r * (r * i + 3 * o * n)
}
function pn(t, e, n, i, r) {
var o = 1 - r;
return 3 * (((e - t) * o + 2 * (n - e) * r) * o + (i - n) * r * r)
}
function dn(t, e, n, i, r, o) {
var a = i + 3 * (e - n) - t,
s = 3 * (n - 2 * e + t),
l = 3 * (e - t),
u = t - r,
h = s * s - 3 * a * l,
c = s * l - 9 * a * u,
p = l * l - 3 * s * u,
d = 0;
if (un(h) && un(c))
if (un(s)) o[0] = 0;
else {
var f = -l / s;
f >= 0 && 1 >= f && (o[d++] = f)
}
else {
var g = c * c - 4 * h * p;
if (un(g)) {
var v = c / h,
f = -s / a + v,
y = -v / 2;
f >= 0 && 1 >= f && (o[d++] = f), y >= 0 && 1 >= y && (o[d++] = y)
} else if (g > 0) {
var m = px(g),
_ = h * s + 1.5 * a * (-c + m),
x = h * s + 1.5 * a * (-c - m);
_ = 0 > _ ? -cx(-_, vx) : cx(_, vx), x = 0 > x ? -cx(-x, vx) : cx(x, vx);
var f = (-s - (_ + x)) / (3 * a);
f >= 0 && 1 >= f && (o[d++] = f)
} else {
var w = (2 * h * s - 3 * a * c) / (2 * px(h * h * h)),
b = Math.acos(w) / 3,
S = px(h),
M = Math.cos(b),
f = (-s - 2 * S * M) / (3 * a),
y = (-s + S * (M + gx * Math.sin(b))) / (3 * a),
T = (-s + S * (M - gx * Math.sin(b))) / (3 * a);
f >= 0 && 1 >= f && (o[d++] = f), y >= 0 && 1 >= y && (o[d++] = y), T >= 0 && 1 >= T && (o[d++] = T)
}
}
return d
}
function fn(t, e, n, i, r) {
var o = 6 * n - 12 * e + 6 * t,
a = 9 * e + 3 * i - 3 * t - 9 * n,
s = 3 * e - 3 * t,
l = 0;
if (un(a)) {
if (hn(o)) {
var u = -s / o;
u >= 0 && 1 >= u && (r[l++] = u)
}
} else {
var h = o * o - 4 * a * s;
if (un(h)) r[0] = -o / (2 * a);
else if (h > 0) {
var c = px(h),
u = (-o + c) / (2 * a),
p = (-o - c) / (2 * a);
u >= 0 && 1 >= u && (r[l++] = u), p >= 0 && 1 >= p && (r[l++] = p)
}
}
return l
}
function gn(t, e, n, i, r, o) {
var a = (e - t) * r + t,
s = (n - e) * r + e,
l = (i - n) * r + n,
u = (s - a) * r + a,
h = (l - s) * r + s,
c = (h - u) * r + u;
o[0] = t, o[1] = a, o[2] = u, o[3] = c, o[4] = c, o[5] = h, o[6] = l, o[7] = i
}
function vn(t, e, n, i, r, o, a, s, l, u, h) {
var c, p, d, f, g, v = .005,
y = 1 / 0;
yx[0] = l, yx[1] = u;
for (var m = 0; 1 > m; m += .05) mx[0] = cn(t, n, r, a, m), mx[1] = cn(e, i, o, s, m), f = b_(yx, mx), y >
f && (c = m, y = f);
y = 1 / 0;
for (var _ = 0; 32 > _ && !(fx > v); _++) p = c - v, d = c + v, mx[0] = cn(t, n, r, a, p), mx[1] = cn(e, i,
o, s, p), f = b_(mx, yx), p >= 0 && y > f ? (c = p, y = f) : (_x[0] = cn(t, n, r, a, d), _x[1] = cn(
e, i, o, s, d), g = b_(_x, yx), 1 >= d && y > g ? (c = d, y = g) : v *= .5);
return h && (h[0] = cn(t, n, r, a, c), h[1] = cn(e, i, o, s, c)), px(y)
}
function yn(t, e, n, i, r, o, a, s, l) {
for (var u = t, h = e, c = 0, p = 1 / l, d = 1; l >= d; d++) {
var f = d * p,
g = cn(t, n, r, a, f),
v = cn(e, i, o, s, f),
y = g - u,
m = v - h;
c += Math.sqrt(y * y + m * m), u = g, h = v
}
return c
}
function mn(t, e, n, i) {
var r = 1 - i;
return r * (r * t + 2 * i * e) + i * i * n
}
function _n(t, e, n, i) {
return 2 * ((1 - i) * (e - t) + i * (n - e))
}
function xn(t, e, n, i, r) {
var o = t - 2 * e + n,
a = 2 * (e - t),
s = t - i,
l = 0;
if (un(o)) {
if (hn(a)) {
var u = -s / a;
u >= 0 && 1 >= u && (r[l++] = u)
}
} else {
var h = a * a - 4 * o * s;
if (un(h)) {
var u = -a / (2 * o);
u >= 0 && 1 >= u && (r[l++] = u)
} else if (h > 0) {
var c = px(h),
u = (-a + c) / (2 * o),
p = (-a - c) / (2 * o);
u >= 0 && 1 >= u && (r[l++] = u), p >= 0 && 1 >= p && (r[l++] = p)
}
}
return l
}
function wn(t, e, n) {
var i = t + n - 2 * e;
return 0 === i ? .5 : (t - e) / i
}
function bn(t, e, n, i, r) {
var o = (e - t) * i + t,
a = (n - e) * i + e,
s = (a - o) * i + o;
r[0] = t, r[1] = o, r[2] = s, r[3] = s, r[4] = a, r[5] = n
}
function Sn(t, e, n, i, r, o, a, s, l) {
var u, h = .005,
c = 1 / 0;
yx[0] = a, yx[1] = s;
for (var p = 0; 1 > p; p += .05) {
mx[0] = mn(t, n, r, p), mx[1] = mn(e, i, o, p);
var d = b_(yx, mx);
c > d && (u = p, c = d)
}
c = 1 / 0;
for (var f = 0; 32 > f && !(fx > h); f++) {
var g = u - h,
v = u + h;
mx[0] = mn(t, n, r, g), mx[1] = mn(e, i, o, g);
var d = b_(mx, yx);
if (g >= 0 && c > d) u = g, c = d;
else {
_x[0] = mn(t, n, r, v), _x[1] = mn(e, i, o, v);
var y = b_(_x, yx);
1 >= v && c > y ? (u = v, c = y) : h *= .5
}
}
return l && (l[0] = mn(t, n, r, u), l[1] = mn(e, i, o, u)), px(c)
}
function Mn(t, e, n, i, r, o, a) {
for (var s = t, l = e, u = 0, h = 1 / a, c = 1; a >= c; c++) {
var p = c * h,
d = mn(t, n, r, p),
f = mn(e, i, o, p),
g = d - s,
v = f - l;
u += Math.sqrt(g * g + v * v), s = d, l = f
}
return u
}
function Tn(t) {
var e = t && xx.exec(t);
if (e) {
var n = e[1].split(","),
i = +G(n[0]),
r = +G(n[1]),
o = +G(n[2]),
a = +G(n[3]);
if (isNaN(i + r + o + a)) return;
var s = [];
return function(t) {
return 0 >= t ? 0 : t >= 1 ? 1 : dn(0, i, o, 1, t, s) && cn(0, r, a, 1, s[0])
}
}
}
function Cn(t) {
return t = Math.round(t), 0 > t ? 0 : t > 255 ? 255 : t
}
function In(t) {
return t = Math.round(t), 0 > t ? 0 : t > 360 ? 360 : t
}
function Dn(t) {
return 0 > t ? 0 : t > 1 ? 1 : t
}
function kn(t) {
var e = t;
return Cn(e.length && "%" === e.charAt(e.length - 1) ? parseFloat(e) / 100 * 255 : parseInt(e, 10))
}
function An(t) {
var e = t;
return Dn(e.length && "%" === e.charAt(e.length - 1) ? parseFloat(e) / 100 : parseFloat(e))
}
function Pn(t, e, n) {
return 0 > n ? n += 1 : n > 1 && (n -= 1), 1 > 6 * n ? t + (e - t) * n * 6 : 1 > 2 * n ? e : 2 > 3 * n ? t +
(e - t) * (2 / 3 - n) * 6 : t
}
function Ln(t, e, n) {
return t + (e - t) * n
}
function On(t, e, n, i, r) {
return t[0] = e, t[1] = n, t[2] = i, t[3] = r, t
}
function Rn(t, e) {
return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t
}
function zn(t, e) {
Dx && Rn(Dx, e), Dx = Ix.put(t, Dx || e.slice())
}
function En(t, e) {
if (t) {
e = e || [];
var n = Ix.get(t);
if (n) return Rn(e, n);
t += "";
var i = t.replace(/ /g, "").toLowerCase();
if (i in Cx) return Rn(e, Cx[i]), zn(t, e), e;
var r = i.length;
if ("#" !== i.charAt(0)) {
var o = i.indexOf("("),
a = i.indexOf(")");
if (-1 !== o && a + 1 === r) {
var s = i.substr(0, o),
l = i.substr(o + 1, a - (o + 1)).split(","),
u = 1;
switch (s) {
case "rgba":
if (4 !== l.length) return 3 === l.length ? On(e, +l[0], +l[1], +l[2], 1) : On(e, 0, 0,
0, 1);
u = An(l.pop());
case "rgb":
return l.length >= 3 ? (On(e, kn(l[0]), kn(l[1]), kn(l[2]), 3 === l.length ? u : An(l[
3])), zn(t, e), e) : void On(e, 0, 0, 0, 1);
case "hsla":
return 4 !== l.length ? void On(e, 0, 0, 0, 1) : (l[3] = An(l[3]), Bn(l, e), zn(t, e),
e);
case "hsl":
return 3 !== l.length ? void On(e, 0, 0, 0, 1) : (Bn(l, e), zn(t, e), e);
default:
return
}
}
On(e, 0, 0, 0, 1)
} else {
if (4 === r || 5 === r) {
var h = parseInt(i.slice(1, 4), 16);
return h >= 0 && 4095 >= h ? (On(e, (3840 & h) >> 4 | (3840 & h) >> 8, 240 & h | (240 & h) >> 4,
15 & h | (15 & h) << 4, 5 === r ? parseInt(i.slice(4), 16) / 15 : 1), zn(t, e), e) :
void On(e, 0, 0, 0, 1)
}
if (7 === r || 9 === r) {
var h = parseInt(i.slice(1, 7), 16);
return h >= 0 && 16777215 >= h ? (On(e, (16711680 & h) >> 16, (65280 & h) >> 8, 255 & h, 9 ===
r ? parseInt(i.slice(7), 16) / 255 : 1), zn(t, e), e) : void On(e, 0, 0, 0, 1)
}
}
}
}
function Bn(t, e) {
var n = (parseFloat(t[0]) % 360 + 360) % 360 / 360,
i = An(t[1]),
r = An(t[2]),
o = .5 >= r ? r * (i + 1) : r + i - r * i,
a = 2 * r - o;
return e = e || [], On(e, Cn(255 * Pn(a, o, n + 1 / 3)), Cn(255 * Pn(a, o, n)), Cn(255 * Pn(a, o, n - 1 /
3)), 1), 4 === t.length && (e[3] = t[3]), e
}
function Nn(t) {
if (t) {
var e, n, i = t[0] / 255,
r = t[1] / 255,
o = t[2] / 255,
a = Math.min(i, r, o),
s = Math.max(i, r, o),
l = s - a,
u = (s + a) / 2;
if (0 === l) e = 0, n = 0;
else {
n = .5 > u ? l / (s + a) : l / (2 - s - a);
var h = ((s - i) / 6 + l / 2) / l,
c = ((s - r) / 6 + l / 2) / l,
p = ((s - o) / 6 + l / 2) / l;
i === s ? e = p - c : r === s ? e = 1 / 3 + h - p : o === s && (e = 2 / 3 + c - h), 0 > e && (e +=
1), e > 1 && (e -= 1)
}
var d = [360 * e, n, u];
return null != t[3] && d.push(t[3]), d
}
}
function Fn(t, e) {
var n = En(t);
if (n) {
for (var i = 0; 3 > i; i++) n[i] = 0 > e ? n[i] * (1 - e) | 0 : (255 - n[i]) * e + n[i] | 0, n[i] >
255 ? n[i] = 255 : n[i] < 0 && (n[i] = 0);
return Yn(n, 4 === n.length ? "rgba" : "rgb")
}
}
function Vn(t) {
var e = En(t);
return e ? ((1 << 24) + (e[0] << 16) + (e[1] << 8) + +e[2]).toString(16).slice(1) : void 0
}
function Hn(t, e, n) {
if (e && e.length && t >= 0 && 1 >= t) {
n = n || [];
var i = t * (e.length - 1),
r = Math.floor(i),
o = Math.ceil(i),
a = e[r],
s = e[o],
l = i - r;
return n[0] = Cn(Ln(a[0], s[0], l)), n[1] = Cn(Ln(a[1], s[1], l)), n[2] = Cn(Ln(a[2], s[2], l)), n[3] =
Dn(Ln(a[3], s[3], l)), n
}
}
function Wn(t, e, n) {
if (e && e.length && t >= 0 && 1 >= t) {
var i = t * (e.length - 1),
r = Math.floor(i),
o = Math.ceil(i),
a = En(e[r]),
s = En(e[o]),
l = i - r,
u = Yn([Cn(Ln(a[0], s[0], l)), Cn(Ln(a[1], s[1], l)), Cn(Ln(a[2], s[2], l)), Dn(Ln(a[3], s[3], l))],
"rgba");
return n ? {
color: u,
leftIndex: r,
rightIndex: o,
value: i
} : u
}
}
function Gn(t, e, n, i) {
var r = En(t);
return t ? (r = Nn(r), null != e && (r[0] = In(e)), null != n && (r[1] = An(n)), null != i && (r[2] = An(
i)), Yn(Bn(r), "rgba")) : void 0
}
function Un(t, e) {
var n = En(t);
return n && null != e ? (n[3] = Dn(e), Yn(n, "rgba")) : void 0
}
function Yn(t, e) {
if (t && t.length) {
var n = t[0] + "," + t[1] + "," + t[2];
return ("rgba" === e || "hsva" === e || "hsla" === e) && (n += "," + t[3]), e + "(" + n + ")"
}
}
function Xn(t, e) {
var n = En(t);
return n ? (.299 * n[0] + .587 * n[1] + .114 * n[2]) * n[3] / 255 + (1 - n[3]) * e : 0
}
function Zn() {
return Yn([Math.round(255 * Math.random()), Math.round(255 * Math.random()), Math.round(255 * Math
.random())], "rgb")
}
function qn(t) {
return "linear" === t.type
}
function jn(t) {
return "radial" === t.type
}
function Kn(t, e, n) {
return (e - t) * n + t
}
function $n(t, e, n, i) {
for (var r = e.length, o = 0; r > o; o++) t[o] = Kn(e[o], n[o], i);
return t
}
function Qn(t, e, n, i) {
for (var r = e.length, o = r && e[0].length, a = 0; r > a; a++) {
t[a] || (t[a] = []);
for (var s = 0; o > s; s++) t[a][s] = Kn(e[a][s], n[a][s], i)
}
return t
}
function Jn(t, e, n, i) {
for (var r = e.length, o = 0; r > o; o++) t[o] = e[o] + n[o] * i;
return t
}
function ti(t, e, n, i) {
for (var r = e.length, o = r && e[0].length, a = 0; r > a; a++) {
t[a] || (t[a] = []);
for (var s = 0; o > s; s++) t[a][s] = e[a][s] + n[a][s] * i
}
return t
}
function ei(t, e) {
for (var n = t.length, i = e.length, r = n > i ? e : t, o = Math.min(n, i), a = r[o - 1] || {
color: [0, 0, 0, 0],
offset: 0
}, s = o; s < Math.max(n, i); s++) r.push({
offset: a.offset,
color: a.color.slice()
})
}
function ni(t, e, n) {
var i = t,
r = e;
if (i.push && r.push) {
var o = i.length,
a = r.length;
if (o !== a) {
var s = o > a;
if (s) i.length = a;
else
for (var l = o; a > l; l++) i.push(1 === n ? r[l] : Lx.call(r[l]))
}
for (var u = i[0] && i[0].length, l = 0; l < i.length; l++)
if (1 === n) isNaN(i[l]) && (i[l] = r[l]);
else
for (var h = 0; u > h; h++) isNaN(i[l][h]) && (i[l][h] = r[l][h])
}
}
function ii(t) {
if (g(t)) {
var e = t.length;
if (g(t[0])) {
for (var n = [], i = 0; e > i; i++) n.push(Lx.call(t[i]));
return n
}
return Lx.call(t)
}
return t
}
function ri(t) {
return t[0] = Math.floor(t[0]) || 0, t[1] = Math.floor(t[1]) || 0, t[2] = Math.floor(t[2]) || 0, t[3] =
null == t[3] ? 1 : t[3], "rgba(" + t.join(",") + ")"
}
function oi(t) {
return g(t && t[0]) ? 2 : 1
}
function ai(t) {
return t === Bx || t === Nx
}
function si(t) {
return t === Rx || t === zx
}
function li() {
return (new Date).getTime()
}
function ui(t) {
var e = t.pointerType;
return "pen" === e || "touch" === e
}
function hi(t) {
t.touching = !0, null != t.touchTimer && (clearTimeout(t.touchTimer), t.touchTimer = null), t.touchTimer =
setTimeout(function() {
t.touching = !1, t.touchTimer = null
}, 700)
}
function ci(t) {
t && (t.zrByTouch = !0)
}
function pi(t, e) {
return Pe(t.dom, new jx(t, e), !0)
}
function di(t, e) {
for (var n = e, i = !1; n && 9 !== n.nodeType && !(i = n.domBelongToZr || n !== e && n === t.painterRoot);)
n = n.parentNode;
return i
}
function fi(t, e) {
var n = e.domHandlers;
Um.pointerEventsSupported ? v(Xx.pointer, function(i) {
vi(e, i, function(e) {
n[i].call(t, e)
})
}) : (Um.touchEventsSupported && v(Xx.touch, function(i) {
vi(e, i, function(r) {
n[i].call(t, r), hi(e)
})
}), v(Xx.mouse, function(i) {
vi(e, i, function(r) {
r = Ae(r), e.touching || n[i].call(t, r)
})
}))
}
function gi(t, e) {
function n(n) {
function i(i) {
i = Ae(i), di(t, i.target) || (i = pi(t, i), e.domHandlers[n].call(t, i))
}
vi(e, n, i, {
capture: !0
})
}
Um.pointerEventsSupported ? v(Zx.pointer, n) : Um.touchEventsSupported || v(Zx.mouse, n)
}
function vi(t, e, n, i) {
t.mounted[e] = n, t.listenerOpts[e] = i, Oe(t.domTarget, e, n, i)
}
function yi(t) {
var e = t.mounted;
for (var n in e) e.hasOwnProperty(n) && Re(t.domTarget, n, e[n], t.listenerOpts[n]);
t.mounted = {}
}
function mi(t) {
return t > sw || -sw > t
}
function _i(t, e) {
for (var n = 0; n < dw.length; n++) {
var i = dw[n];
t[i] = e[i]
}
}
function xi(t, e) {
e = e || Zm;
var n = fw[e];
n || (n = fw[e] = new Tx(500));
var i = n.get(t);
return null == i && (i = Qm.measureText(t, e).width, n.put(t, i)), i
}
function wi(t, e, n, i) {
var r = xi(t, e),
o = Ti(e),
a = Si(0, r, n),
s = Mi(0, o, i),
l = new q_(a, s, r, o);
return l
}
function bi(t, e, n, i) {
var r = ((t || "") + "").split("\n"),
o = r.length;
if (1 === o) return wi(r[0], e, n, i);
for (var a = new q_(0, 0, 0, 0), s = 0; s < r.length; s++) {
var l = wi(r[s], e, n, i);
0 === s ? a.copy(l) : a.union(l)
}
return a
}
function Si(t, e, n) {
return "right" === n ? t -= e : "center" === n && (t -= e / 2), t
}
function Mi(t, e, n) {
return "middle" === n ? t -= e / 2 : "bottom" === n && (t -= e), t
}
function Ti(t) {
return xi("国", t)
}
function Ci(t, e) {
return "string" == typeof t ? t.lastIndexOf("%") >= 0 ? parseFloat(t) / 100 * e : parseFloat(t) : t
}
function Ii(t, e, n) {
var i = e.position || "inside",
r = null != e.distance ? e.distance : 5,
o = n.height,
a = n.width,
s = o / 2,
l = n.x,
u = n.y,
h = "left",
c = "top";
if (i instanceof Array) l += Ci(i[0], n.width), u += Ci(i[1], n.height), h = null, c = null;
else switch (i) {
case "left":
l -= r, u += s, h = "right", c = "middle";
break;
case "right":
l += r + a, u += s, c = "middle";
break;
case "top":
l += a / 2, u -= r, h = "center", c = "bottom";
break;
case "bottom":
l += a / 2, u += o + r, h = "center";
break;
case "inside":
l += a / 2, u += s, h = "center", c = "middle";
break;
case "insideLeft":
l += r, u += s, c = "middle";
break;
case "insideRight":
l += a - r, u += s, h = "right", c = "middle";
break;
case "insideTop":
l += a / 2, u += r, h = "center";
break;
case "insideBottom":
l += a / 2, u += o - r, h = "center", c = "bottom";
break;
case "insideTopLeft":
l += r, u += r;
break;
case "insideTopRight":
l += a - r, u += r, h = "right";
break;
case "insideBottomLeft":
l += r, u += o - r, c = "bottom";
break;
case "insideBottomRight":
l += a - r, u += o - r, h = "right", c = "bottom"
}
return t = t || {}, t.x = l, t.y = u, t.align = h, t.verticalAlign = c, t
}
function Di(t, e, n, i, r) {
n = n || {};
var o = [];
Ri(t, "", t, e, n, i, o, r);
var a = o.length,
s = !1,
l = n.done,
u = n.aborted,
h = function() {
s = !0, a--, 0 >= a && (s ? l && l() : u && u())
},
c = function() {
a--, 0 >= a && (s ? l && l() : u && u())
};
a || l && l(), o.length > 0 && n.during && o[0].during(function(t, e) {
n.during(e)
});
for (var p = 0; p < o.length; p++) {
var d = o[p];
h && d.done(h), c && d.aborted(c), n.force && d.duration(n.duration), d.start(n.easing)
}
return o
}
function ki(t, e, n) {
for (var i = 0; n > i; i++) t[i] = e[i]
}
function Ai(t) {
return g(t[0])
}
function Pi(t, e, n) {
if (g(e[n]))
if (g(t[n]) || (t[n] = []), P(e[n])) {
var i = e[n].length;
t[n].length !== i && (t[n] = new e[n].constructor(i), ki(t[n], e[n], i))
} else {
var r = e[n],
o = t[n],
a = r.length;
if (Ai(r))
for (var s = r[0].length, l = 0; a > l; l++) o[l] ? ki(o[l], r[l], s) : o[l] = Array.prototype
.slice.call(r[l]);
else ki(o, r, a);
o.length = r.length
}
else t[n] = e[n]
}
function Li(t, e) {
return t === e || g(t) && g(e) && Oi(t, e)
}
function Oi(t, e) {
var n = t.length;
if (n !== e.length) return !1;
for (var i = 0; n > i; i++)
if (t[i] !== e[i]) return !1;
return !0
}
function Ri(t, e, n, i, r, o, a, s) {
for (var l = w(i), u = r.duration, h = r.delay, c = r.additive, d = r.setToFinal, f = !k(o), v = t
.animators, y = [], m = 0; m < l.length; m++) {
var x = l[m],
b = i[x];
if (null != b && null != n[x] && (f || o[x]))
if (!k(b) || g(b) || O(b)) y.push(x);
else {
if (e) {
s || (n[x] = b, t.updateDuringAnimation(e));
continue
}
Ri(t, x, n[x], b, r, o && o[x], a, s)
}
else s || (n[x] = b, t.updateDuringAnimation(e), y.push(x))
}
var S = y.length;
if (!c && S)
for (var M = 0; M < v.length; M++) {
var T = v[M];
if (T.targetName === e) {
var C = T.stopTracks(y);
if (C) {
var I = p(v, T);
v.splice(I, 1)
}
}
}
if (r.force || (y = _(y, function(t) {
return !Li(i[t], n[t])
}), S = y.length), S > 0 || r.force && !a.length) {
var D = void 0,
A = void 0,
P = void 0;
if (s) {
A = {}, d && (D = {});
for (var M = 0; S > M; M++) {
var x = y[M];
A[x] = n[x], d ? D[x] = i[x] : n[x] = i[x]
}
} else if (d) {
P = {};
for (var M = 0; S > M; M++) {
var x = y[M];
P[x] = ii(n[x]), Pi(n, i, x)
}
}
var T = new Wx(n, !1, !1, c ? _(v, function(t) {
return t.targetName === e
}) : null);
T.targetName = e, r.scope && (T.scope = r.scope), d && D && T.whenWithKeys(0, D, y), P && T
.whenWithKeys(0, P, y), T.whenWithKeys(null == u ? 500 : u, s ? A : i, y).delay(h || 0), t
.addAnimator(T, e), a.push(T)
}
}
function zi(t) {
delete Sw[t]
}
function Ei(t) {
if (!t) return !1;
if ("string" == typeof t) return Xn(t, 1) < nw;
if (t.colorStops) {
for (var e = t.colorStops, n = 0, i = e.length, r = 0; i > r; r++) n += Xn(e[r].color, 1);
return n /= i, nw > n
}
return !1
}
function Bi(t, e) {
var n = new Mw(o(), t, e);
return Sw[n.id] = n, n
}
function Ni(t) {
t.dispose()
}
function Fi() {
for (var t in Sw) Sw.hasOwnProperty(t) && Sw[t].dispose();
Sw = {}
}
function Vi(t) {
return Sw[t]
}
function Hi(t, e) {
bw[t] = e
}
function Wi(t) {
return t.replace(/^\s+|\s+$/g, "")
}
function Gi(t, e, n, i) {
var r = e[0],
o = e[1],
a = n[0],
s = n[1],
l = o - r,
u = s - a;
if (0 === l) return 0 === u ? a : (a + s) / 2;
if (i)
if (l > 0) {
if (r >= t) return a;
if (t >= o) return s
} else {
if (t >= r) return a;
if (o >= t) return s
}
else {
if (t === r) return a;
if (t === o) return s
}
return (t - r) / l * u + a
}
function Ui(t, e) {
switch (t) {
case "center":
case "middle":
t = "50%";
break;
case "left":
case "top":
t = "0%";
break;
case "right":
case "bottom":
t = "100%"
}
return C(t) ? Wi(t).match(/%$/) ? parseFloat(t) / 100 * e : parseFloat(t) : null == t ? 0 / 0 : +t
}
function Yi(t, e, n) {
return null == e && (e = 10), e = Math.min(Math.max(0, e), Dw), t = (+t).toFixed(e), n ? t : +t
}
function Xi(t) {
return t.sort(function(t, e) {
return t - e
}), t
}
function Zi(t) {
if (t = +t, isNaN(t)) return 0;
if (t > 1e-14)
for (var e = 1, n = 0; 15 > n; n++, e *= 10)
if (Math.round(t * e) / e === t) return n;
return qi(t)
}
function qi(t) {
var e = t.toString().toLowerCase(),
n = e.indexOf("e"),
i = n > 0 ? +e.slice(n + 1) : 0,
r = n > 0 ? n : e.length,
o = e.indexOf("."),
a = 0 > o ? 0 : r - 1 - o;
return Math.max(0, a - i)
}
function ji(t, e) {
var n = Math.log,
i = Math.LN10,
r = Math.floor(n(t[1] - t[0]) / i),
o = Math.round(n(Math.abs(e[1] - e[0])) / i),
a = Math.min(Math.max(-r + o, 0), 20);
return isFinite(a) ? a : 20
}
function Ki(t, e, n) {
if (!t[e]) return 0;
var i = $i(t, n);
return i[e] || 0
}
function $i(t, e) {
var n = m(t, function(t, e) {
return t + (isNaN(e) ? 0 : e)
}, 0);
if (0 === n) return [];
for (var i = Math.pow(10, e), r = y(t, function(t) {
return (isNaN(t) ? 0 : t) / n * i * 100
}), o = 100 * i, a = y(r, function(t) {
return Math.floor(t)
}), s = m(a, function(t, e) {
return t + e
}, 0), l = y(r, function(t, e) {
return t - a[e]
}); o > s;) {
for (var u = Number.NEGATIVE_INFINITY, h = null, c = 0, p = l.length; p > c; ++c) l[c] > u && (u = l[c],
h = c);
++a[h], l[h] = 0, ++s
}
return y(a, function(t) {
return t / i
})
}
function Qi(t, e) {
var n = Math.max(Zi(t), Zi(e)),
i = t + e;
return n > Dw ? i : Yi(i, n)
}
function Ji(t) {
var e = 2 * Math.PI;
return (t % e + e) % e
}
function tr(t) {
return t > -Iw && Iw > t
}
function er(t) {
if (t instanceof Date) return t;
if (C(t)) {
var e = Aw.exec(t);
if (!e) return new Date(0 / 0);
if (e[8]) {
var n = +e[4] || 0;
return "Z" !== e[8].toUpperCase() && (n -= +e[8].slice(0, 3)), new Date(Date.UTC(+e[1], +(e[2] ||
1) - 1, +e[3] || 1, n, +(e[5] || 0), +e[6] || 0, e[7] ? +e[7].substring(0, 3) : 0))
}
return new Date(+e[1], +(e[2] || 1) - 1, +e[3] || 1, +e[4] || 0, +(e[5] || 0), +e[6] || 0, e[7] ? +e[7]
.substring(0, 3) : 0)
}
return new Date(null == t ? 0 / 0 : Math.round(t))
}
function nr(t) {
return Math.pow(10, ir(t))
}
function ir(t) {
if (0 === t) return 0;
var e = Math.floor(Math.log(t) / Math.LN10);
return t / Math.pow(10, e) >= 10 && e++, e
}
function rr(t, e) {
var n, i = ir(t),
r = Math.pow(10, i),
o = t / r;
return n = e ? 1.5 > o ? 1 : 2.5 > o ? 2 : 4 > o ? 3 : 7 > o ? 5 : 10 : 1 > o ? 1 : 2 > o ? 2 : 3 > o ? 3 :
5 > o ? 5 : 10, t = n * r, i >= -20 ? +t.toFixed(0 > i ? -i : 0) : t
}
function or(t, e) {
var n = (t.length - 1) * e + 1,
i = Math.floor(n),
r = +t[i - 1],
o = n - i;
return o ? r + o * (t[i] - r) : r
}
function ar(t) {
function e(t, n, i) {
return t.interval[i] < n.interval[i] || t.interval[i] === n.interval[i] && (t.close[i] - n.close[i] ===
(i ? -1 : 1) || !i && e(t, n, 1))
}
t.sort(function(t, n) {
return e(t, n, 0) ? -1 : 1
});
for (var n = -1 / 0, i = 1, r = 0; r < t.length;) {
for (var o = t[r].interval, a = t[r].close, s = 0; 2 > s; s++) o[s] <= n && (o[s] = n, a[s] = s ? 1 :
1 - i), n = o[s], i = a[s];
o[0] === o[1] && a[0] * a[1] !== 1 ? t.splice(r, 1) : r++
}
return t
}
function sr(t) {
var e = parseFloat(t);
return e == t && (0 !== e || !C(t) || t.indexOf("x") <= 0) ? e : 0 / 0
}
function lr(t) {
return !isNaN(sr(t))
}
function ur() {
return Math.round(9 * Math.random())
}
function hr(t, e) {
return 0 === e ? t : hr(e, t % e)
}
function cr(t, e) {
return null == t ? e : null == e ? t : t * e / hr(t, e)
}
function pr(t) {
throw new Error(t)
}
function dr(t, e, n) {
return (e - t) * n + t
}
function fr(t) {
return t instanceof Array ? t : null == t ? [] : [t]
}
function gr(t, e, n) {
if (t) {
t[e] = t[e] || {}, t.emphasis = t.emphasis || {}, t.emphasis[e] = t.emphasis[e] || {};
for (var i = 0, r = n.length; r > i; i++) {
var o = n[i];
!t.emphasis[e].hasOwnProperty(o) && t[e].hasOwnProperty(o) && (t.emphasis[e][o] = t[e][o])
}
}
}
function vr(t) {
return !k(t) || M(t) || t instanceof Date ? t : t.value
}
function yr(t) {
return k(t) && !(t instanceof Array)
}
function mr(t, e, n) {
var i = "normalMerge" === n,
r = "replaceMerge" === n,
o = "replaceAll" === n;
t = t || [], e = (e || []).slice();
var a = Z();
v(e, function(t, n) {
return k(t) ? void 0 : void(e[n] = null)
});
var s = _r(t, a, n);
return (i || r) && xr(s, t, a, e), i && wr(s, e), i || r ? br(s, e, r) : o && Sr(s, e), Mr(s), s
}
function _r(t, e, n) {
var i = [];
if ("replaceAll" === n) return i;
for (var r = 0; r < t.length; r++) {
var o = t[r];
o && null != o.id && e.set(o.id, r), i.push({
existing: "replaceMerge" === n || kr(o) ? null : o,
newOption: null,
keyInfo: null,
brandNew: null
})
}
return i
}
function xr(t, e, n, i) {
v(i, function(r, o) {
if (r && null != r.id) {
var a = Cr(r.id),
s = n.get(a);
if (null != s) {
var l = t[s];
W(!l.newOption, 'Duplicated option on id "' + a + '".'), l.newOption = r, l.existing =
e[s], i[o] = null
}
}
})
}
function wr(t, e) {
v(e, function(n, i) {
if (n && null != n.name)
for (var r = 0; r < t.length; r++) {
var o = t[r].existing;
if (!t[r].newOption && o && (null == o.id || null == n.id) && !kr(n) && !kr(o) && Tr(
"name", o, n)) return t[r].newOption = n, void(e[i] = null)
}
})
}
function br(t, e, n) {
v(e, function(e) {
if (e) {
for (var i, r = 0;
(i = t[r]) && (i.newOption || kr(i.existing) || i.existing && null != e.id && !Tr("id",
e, i.existing));) r++;
i ? (i.newOption = e, i.brandNew = n) : t.push({
newOption: e,
brandNew: n,
existing: null,
keyInfo: null
}), r++
}
})
}
function Sr(t, e) {
v(e, function(e) {
t.push({
newOption: e,
brandNew: !0,
existing: null,
keyInfo: null
})
})
}
function Mr(t) {
var e = Z();
v(t, function(t) {
var n = t.existing;
n && e.set(n.id, t)
}), v(t, function(t) {
var n = t.newOption;
W(!n || null == n.id || !e.get(n.id) || e.get(n.id) === t, "id duplicates: " + (n && n.id)),
n && null != n.id && e.set(n.id, t), !t.keyInfo && (t.keyInfo = {})
}), v(t, function(t, n) {
var i = t.existing,
r = t.newOption,
o = t.keyInfo;
if (k(r)) {
if (o.name = null != r.name ? Cr(r.name) : i ? i.name : Pw + n, i) o.id = Cr(i.id);
else if (null != r.id) o.id = Cr(r.id);
else {
var a = 0;
do o.id = "\x00" + o.name + "\x00" + a++; while (e.get(o.id))
}
e.set(o.id, t)
}
})
}
function Tr(t, e, n) {
var i = Ir(e[t], null),
r = Ir(n[t], null);
return null != i && null != r && i === r
}
function Cr(t) {
return Ir(t, "")
}
function Ir(t, e) {
return null == t ? e : C(t) ? t : D(t) || I(t) ? t + "" : e
}
function Dr(t) {
var e = t.name;
return !(!e || !e.indexOf(Pw))
}
function kr(t) {
return t && null != t.id && 0 === Cr(t.id).indexOf(Lw)
}
function Ar(t, e, n) {
v(t, function(t) {
var i = t.newOption;
k(i) && (t.keyInfo.mainType = e, t.keyInfo.subType = Pr(e, i, t.existing, n))
})
}
function Pr(t, e, n, i) {
var r = e.type ? e.type : n ? n.subType : i.determineSubType(t, e);
return r
}
function Lr(t, e) {
return null != e.dataIndexInside ? e.dataIndexInside : null != e.dataIndex ? M(e.dataIndex) ? y(e.dataIndex,
function(e) {
return t.indexOfRawIndex(e)
}) : t.indexOfRawIndex(e.dataIndex) : null != e.name ? M(e.name) ? y(e.name, function(e) {
return t.indexOfName(e)
}) : t.indexOfName(e.name) : void 0
}
function Or() {
var t = "__ec_inner_" + Rw++;
return function(e) {
return e[t] || (e[t] = {})
}
}
function Rr(t, e, n) {
var i = zr(e, n),
r = i.mainTypeSpecified,
o = i.queryOptionMap,
a = i.others,
s = a,
l = n ? n.defaultMainType : null;
return !r && l && o.set(l, {}), o.each(function(e, i) {
var r = Er(t, i, e, {
useDefault: l === i,
enableAll: n && null != n.enableAll ? n.enableAll : !0,
enableNone: n && null != n.enableNone ? n.enableNone : !0
});
s[i + "Models"] = r.models, s[i + "Model"] = r.models[0]
}), s
}
function zr(t, e) {
var n;
if (C(t)) {
var i = {};
i[t + "Index"] = 0, n = i
} else n = t;
var r = Z(),
o = {},
a = !1;
return v(n, function(t, n) {
if ("dataIndex" === n || "dataIndexInside" === n) return void(o[n] = t);
var i = n.match(/^(\w+)(Index|Id|Name)$/) || [],
s = i[1],
l = (i[2] || "").toLowerCase();
if (s && l && !(e && e.includeMainTypes && p(e.includeMainTypes, s) < 0)) {
a = a || !!s;
var u = r.get(s) || r.set(s, {});
u[l] = t
}
}), {
mainTypeSpecified: a,
queryOptionMap: r,
others: o
}
}
function Er(t, e, n, i) {
i = i || zw;
var r = n.index,
o = n.id,
a = n.name,
s = {
models: null,
specified: null != r || null != o || null != a
};
if (!s.specified) {
var l = void 0;
return s.models = i.useDefault && (l = t.getComponent(e)) ? [l] : [], s
}
return "none" === r || r === !1 ? (W(i.enableNone,
'`"none"` or `false` is not a valid value on index option.'), s.models = [], s) : ("all" === r && (
W(i.enableAll, '`"all"` is not a valid value on index option.'), r = o = a = null), s.models = t
.queryComponents({
mainType: e,
index: r,
id: o,
name: a
}), s)
}
function Br(t, e, n) {
t.setAttribute ? t.setAttribute(e, n) : t[e] = n
}
function Nr(t, e) {
return t.getAttribute ? t.getAttribute(e) : t[e]
}
function Fr(t) {
return "auto" === t ? Um.domSupported ? "html" : "richText" : t || "html"
}
function Vr(t, e, n, i, r) {
var o = null == e || "auto" === e;
if (null == i) return i;
if (D(i)) {
var a = dr(n || 0, i, r);
return Yi(a, o ? Math.max(Zi(n || 0), Zi(i)) : e)
}
if (C(i)) return 1 > r ? n : i;
for (var s = [], l = n, u = i, h = Math.max(l ? l.length : 0, u.length), c = 0; h > c; ++c) {
var p = t.getDimensionInfo(c);
if (p && "ordinal" === p.type) s[c] = (1 > r && l ? l : u)[c];
else {
var d = l && l[c] ? l[c] : 0,
f = u[c],
a = dr(d, f, r);
s[c] = Yi(a, o ? Math.max(Zi(d), Zi(f)) : e)
}
}
return s
}
function Hr(t) {
var e = {
main: "",
sub: ""
};
if (t) {
var n = t.split(Bw);
e.main = n[0] || "", e.sub = n[1] || ""
}
return e
}
function Wr(t) {
W(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t), 'componentType "' + t + '" illegal')
}
function Gr(t) {
return !(!t || !t[Fw])
}
function Ur(t) {
t.$constructor = t, t.extend = function(t) {
var n, i = this;
return Yr(i) ? n = function(t) {
function n() {
return t.apply(this, arguments) || this
}
return e(n, t), n
}(i) : (n = function() {
(t.$constructor || i).apply(this, arguments)
}, d(n, this)), h(n.prototype, t), n[Fw] = !0, n.extend = this.extend, n.superCall = qr, n
.superApply = jr, n.superClass = i, n
}
}
function Yr(t) {
return T(t) && /^class\s/.test(Function.prototype.toString.call(t))
}
function Xr(t, e) {
t.extend = e.extend
}
function Zr(t) {
var e = ["__\x00is_clz", Vw++].join("_");
t.prototype[e] = !0, t.isInstance = function(t) {
return !(!t || !t[e])
}
}
function qr(t, e) {
for (var n = [], i = 2; i < arguments.length; i++) n[i - 2] = arguments[i];
return this.superClass.prototype[e].apply(t, n)
}
function jr(t, e, n) {
return this.superClass.prototype[e].apply(t, n)
}
function Kr(t) {
function e(t) {
var e = n[t.main];
return e && e[Nw] || (e = n[t.main] = {}, e[Nw] = !0), e
}
var n = {};
t.registerClass = function(t) {
var i = t.type || t.prototype.type;
if (i) {
Wr(i), t.prototype.type = i;
var r = Hr(i);
if (r.sub) {
if (r.sub !== Nw) {
var o = e(r);
o[r.sub] = t
}
} else n[r.main] = t
}
return t
}, t.getClass = function(t, e, i) {
var r = n[t];
if (r && r[Nw] && (r = e ? r[e] : null), i && !r) throw new Error(e ? "Component " + t + "." + (e ||
"") + " is used but not imported." : t + ".type should be specified.");
return r
}, t.getClassesByMainType = function(t) {
var e = Hr(t),
i = [],
r = n[e.main];
return r && r[Nw] ? v(r, function(t, e) {
e !== Nw && i.push(t)
}) : i.push(r), i
}, t.hasClass = function(t) {
var e = Hr(t);
return !!n[e.main]
}, t.getAllClassMainTypes = function() {
var t = [];
return v(n, function(e, n) {
t.push(n)
}), t
}, t.hasSubTypes = function(t) {
var e = Hr(t),
i = n[e.main];
return i && i[Nw]
}
}
function $r(t, e) {
for (var n = 0; n < t.length; n++) t[n][1] || (t[n][1] = t[n][0]);
return e = e || !1,
function(n, i, r) {
for (var o = {}, a = 0; a < t.length; a++) {
var s = t[a][1];
if (!(i && p(i, s) >= 0 || r && p(r, s) < 0)) {
var l = n.getShallow(s, e);
null != l && (o[t[a][0]] = l)
}
}
return o
}
}
function Qr(t) {
if ("string" == typeof t) {
var e = Uw.get(t);
return e && e.image
}
return t
}
function Jr(t, e, n, i, r) {
if (t) {
if ("string" == typeof t) {
if (e && e.__zrImageSrc === t || !n) return e;
var o = Uw.get(t),
a = {
hostEl: n,
cb: i,
cbPayload: r
};
return o ? (e = o.image, !eo(e) && o.pending.push(a)) : (e = Qm.loadImage(t, to, to), e
.__zrImageSrc = t, Uw.put(t, e.__cachedImgObj = {
image: e,
pending: [a]
})), e
}
return t
}
return e
}
function to() {
var t = this.__cachedImgObj;
this.onload = this.onerror = this.__cachedImgObj = null;
for (var e = 0; e < t.pending.length; e++) {
var n = t.pending[e],
i = n.cb;
i && i(this, n.cbPayload), n.hostEl.dirty()
}
t.pending.length = 0
}
function eo(t) {
return t && t.width && t.height
}
function no(t, e, n, i, r) {
if (!e) return "";
var o = (t + "").split("\n");
r = io(e, n, i, r);
for (var a = 0, s = o.length; s > a; a++) o[a] = ro(o[a], r);
return o.join("\n")
}
function io(t, e, n, i) {
i = i || {};
var r = h({}, i);
r.font = e, n = N(n, "..."), r.maxIterations = N(i.maxIterations, 2);
var o = r.minChar = N(i.minChar, 0);
r.cnCharWidth = xi("国", e);
var a = r.ascCharWidth = xi("a", e);
r.placeholder = N(i.placeholder, "");
for (var s = t = Math.max(0, t - 1), l = 0; o > l && s >= a; l++) s -= a;
var u = xi(n, e);
return u > s && (n = "", u = 0), s = t - u, r.ellipsis = n, r.ellipsisWidth = u, r.contentWidth = s, r
.containerWidth = t, r
}
function ro(t, e) {
var n = e.containerWidth,
i = e.font,
r = e.contentWidth;
if (!n) return "";
var o = xi(t, i);
if (n >= o) return t;
for (var a = 0;; a++) {
if (r >= o || a >= e.maxIterations) {
t += e.ellipsis;
break
}
var s = 0 === a ? oo(t, r, e.ascCharWidth, e.cnCharWidth) : o > 0 ? Math.floor(t.length * r / o) : 0;
t = t.substr(0, s), o = xi(t, i)
}
return "" === t && (t = e.placeholder), t
}
function oo(t, e, n, i) {
for (var r = 0, o = 0, a = t.length; a > o && e > r; o++) {
var s = t.charCodeAt(o);
r += s >= 0 && 127 >= s ? n : i
}
return o
}
function ao(t, e) {
null != t && (t += "");
var n, i = e.overflow,
r = e.padding,
o = e.font,
a = "truncate" === i,
s = Ti(o),
l = N(e.lineHeight, s),
u = !!e.backgroundColor,
h = "truncate" === e.lineOverflow,
c = e.width;
n = null == c || "break" !== i && "breakAll" !== i ? t ? t.split("\n") : [] : t ? co(t, e.font, c,
"breakAll" === i, 0).lines : [];
var p = n.length * l,
d = N(e.height, p);
if (p > d && h) {
var f = Math.floor(d / l);
n = n.slice(0, f)
}
if (t && a && null != c)
for (var g = io(c, o, e.ellipsis, {
minChar: e.truncateMinChar,
placeholder: e.placeholder
}), v = 0; v < n.length; v++) n[v] = ro(n[v], g);
for (var y = d, m = 0, v = 0; v < n.length; v++) m = Math.max(xi(n[v], o), m);
null == c && (c = m);
var _ = m;
return r && (y += r[0] + r[2], _ += r[1] + r[3], c += r[1] + r[3]), u && (_ = c), {
lines: n,
height: d,
outerWidth: _,
outerHeight: y,
lineHeight: l,
calculatedLineHeight: s,
contentWidth: m,
contentHeight: p,
width: c
}
}
function so(t, e) {
function n(t, e, n) {
t.width = e, t.lineHeight = n, p += n, d = Math.max(d, e)
}
var i = new qw;
if (null != t && (t += ""), !t) return i;
for (var r, o = e.width, a = e.height, s = e.overflow, l = "break" !== s && "breakAll" !== s || null == o ?
null : {
width: o,
accumWidth: 0,
breakAll: "breakAll" === s
}, u = Yw.lastIndex = 0; null != (r = Yw.exec(t));) {
var h = r.index;
h > u && lo(i, t.substring(u, h), e, l), lo(i, r[2], e, l, r[1]), u = Yw.lastIndex
}
u < t.length && lo(i, t.substring(u, t.length), e, l);
var c = [],
p = 0,
d = 0,
f = e.padding,
g = "truncate" === s,
v = "truncate" === e.lineOverflow;
t: for (var y = 0; y < i.lines.length; y++) {
for (var m = i.lines[y], _ = 0, x = 0, w = 0; w < m.tokens.length; w++) {
var b = m.tokens[w],
S = b.styleName && e.rich[b.styleName] || {},
M = b.textPadding = S.padding,
T = M ? M[1] + M[3] : 0,
C = b.font = S.font || e.font;
b.contentHeight = Ti(C);
var I = N(S.height, b.contentHeight);
if (b.innerHeight = I, M && (I += M[0] + M[2]), b.height = I, b.lineHeight = F(S.lineHeight, e
.lineHeight, I), b.align = S && S.align || e.align, b.verticalAlign = S && S
.verticalAlign || "middle", v && null != a && p + b.lineHeight > a) {
w > 0 ? (m.tokens = m.tokens.slice(0, w), n(m, x, _), i.lines = i.lines.slice(0, y + 1)) : i
.lines = i.lines.slice(0, y);
break t
}
var D = S.width,
k = null == D || "auto" === D;
if ("string" == typeof D && "%" === D.charAt(D.length - 1)) b.percentWidth = D, c.push(b), b
.contentWidth = xi(b.text, C);
else {
if (k) {
var A = S.backgroundColor,
P = A && A.image;
P && (P = Qr(P), eo(P) && (b.width = Math.max(b.width, P.width * I / P.height)))
}
var L = g && null != o ? o - x : null;
null != L && L < b.width ? !k || T > L ? (b.text = "", b.width = b.contentWidth = 0) : (b
.text = no(b.text, L - T, C, e.ellipsis, {
minChar: e.truncateMinChar
}), b.width = b.contentWidth = xi(b.text, C)) : b.contentWidth = xi(b.text, C)
}
b.width += T, x += b.width, S && (_ = Math.max(_, b.lineHeight))
}
n(m, x, _)
}
i.outerWidth = i.width = N(o, d), i.outerHeight = i.height = N(a, p), i.contentHeight = p, i.contentWidth =
d, f && (i.outerWidth += f[1] + f[3], i.outerHeight += f[0] + f[2]);
for (var y = 0; y < c.length; y++) {
var b = c[y],
O = b.percentWidth;
b.width = parseInt(O, 10) / 100 * i.width
}
return i
}
function lo(t, e, n, i, r) {
var o, a, s = "" === e,
l = r && n.rich[r] || {},
u = t.lines,
h = l.font || n.font,
c = !1;
if (i) {
var p = l.padding,
d = p ? p[1] + p[3] : 0;
if (null != l.width && "auto" !== l.width) {
var f = Ci(l.width, i.width) + d;
u.length > 0 && f + i.accumWidth > i.width && (o = e.split("\n"), c = !0), i.accumWidth = f
} else {
var g = co(e, h, i.width, i.breakAll, i.accumWidth);
i.accumWidth = g.accumWidth + d, a = g.linesWidths, o = g.lines
}
} else o = e.split("\n");
for (var v = 0; v < o.length; v++) {
var y = o[v],
m = new Xw;
if (m.styleName = r, m.text = y, m.isLineHolder = !y && !s, m.width = "number" == typeof l.width ? l
.width : a ? a[v] : xi(y, h), v || c) u.push(new Zw([m]));
else {
var _ = (u[u.length - 1] || (u[0] = new Zw)).tokens,
x = _.length;
1 === x && _[0].isLineHolder ? _[0] = m : (y || !x || s) && _.push(m)
}
}
}
function uo(t) {
var e = t.charCodeAt(0);
return e >= 32 && 591 >= e || e >= 880 && 4351 >= e || e >= 4608 && 5119 >= e || e >= 7680 && 8303 >= e
}
function ho(t) {
return uo(t) ? jw[t] ? !0 : !1 : !0
}
function co(t, e, n, i, r) {
for (var o = [], a = [], s = "", l = "", u = 0, h = 0, c = 0; c < t.length; c++) {
var p = t.charAt(c);
if ("\n" !== p) {
var d = xi(p, e),
f = i ? !1 : !ho(p);
(o.length ? h + d > n : r + h + d > n) ? h ? (s || l) && (f ? (s || (s = l, l = "", u = 0, h = u), o
.push(s), a.push(h - u), l += p, u += d, s = "", h = u) : (l && (s += l, l = "", u = 0),
o.push(s), a.push(h), s = p, h = d)) : f ? (o.push(l), a.push(u), l = p, u = d) : (o.push(
p), a.push(d)): (h += d, f ? (l += p, u += d) : (l && (s += l, l = "", u = 0), s += p))
} else l && (s += l, h += u), o.push(s), a.push(h), s = "", l = "", u = 0, h = 0
}
return o.length || s || (s = t, l = "", u = 0), l && (s += l), s && (o.push(s), a.push(h)), 1 === o
.length && (h += r), {
accumWidth: h,
lines: o,
linesWidths: a
}
}
function po(t, e, n) {
return nb.copy(t.getBoundingRect()), t.transform && nb.applyTransform(t.transform), ib.width = e, ib
.height = n, !nb.intersect(ib)
}
function fo(t, e, n, i, r, o) {
r[0] = rb(t, n), r[1] = rb(e, i), o[0] = ob(t, n), o[1] = ob(e, i)
}
function go(t, e, n, i, r, o, a, s, l, u) {
var h = fn,
c = cn,
p = h(t, n, r, a, pb);
l[0] = 1 / 0, l[1] = 1 / 0, u[0] = -1 / 0, u[1] = -1 / 0;
for (var d = 0; p > d; d++) {
var f = c(t, n, r, a, pb[d]);
l[0] = rb(f, l[0]), u[0] = ob(f, u[0])
}
p = h(e, i, o, s, db);
for (var d = 0; p > d; d++) {
var g = c(e, i, o, s, db[d]);
l[1] = rb(g, l[1]), u[1] = ob(g, u[1])
}
l[0] = rb(t, l[0]), u[0] = ob(t, u[0]), l[0] = rb(a, l[0]), u[0] = ob(a, u[0]), l[1] = rb(e, l[1]), u[1] =
ob(e, u[1]), l[1] = rb(s, l[1]), u[1] = ob(s, u[1])
}
function vo(t, e, n, i, r, o, a, s) {
var l = wn,
u = mn,
h = ob(rb(l(t, n, r), 1), 0),
c = ob(rb(l(e, i, o), 1), 0),
p = u(t, n, r, h),
d = u(e, i, o, c);
a[0] = rb(t, r, p), a[1] = rb(e, o, d), s[0] = ob(t, r, p), s[1] = ob(e, o, d)
}
function yo(t, e, n, i, r, o, a, s, l) {
var u = me,
h = _e,
c = Math.abs(r - o);
if (1e-4 > c % lb && c > 1e-4) return s[0] = t - n, s[1] = e - i, l[0] = t + n, void(l[1] = e + i);
if (ub[0] = sb(r) * n + t, ub[1] = ab(r) * i + e, hb[0] = sb(o) * n + t, hb[1] = ab(o) * i + e, u(s, ub,
hb), h(l, ub, hb), r %= lb, 0 > r && (r += lb), o %= lb, 0 > o && (o += lb), r > o && !a ? o += lb : o >
r && a && (r += lb), a) {
var p = o;
o = r, r = p
}
for (var d = 0; o > d; d += Math.PI / 2) d > r && (cb[0] = sb(d) * n + t, cb[1] = ab(d) * i + e, u(s, cb,
s), h(l, cb, l))
}
function mo(t) {
var e = Math.round(t / Cb * 1e8) / 1e8;
return e % 2 * Cb
}
function _o(t, e) {
var n = mo(t[0]);
0 > n && (n += Ib);
var i = n - t[0],
r = t[1];
r += i, !e && r - n >= Ib ? r = n + Ib : e && n - r >= Ib ? r = n - Ib : !e && n > r ? r = n + (Ib - mo(n -
r)) : e && r > n && (r = n - (Ib - mo(r - n))), t[0] = n, t[1] = r
}
function xo(t, e, n, i, r, o, a) {
if (0 === r) return !1;
var s = r,
l = 0,
u = t;
if (a > e + s && a > i + s || e - s > a && i - s > a || o > t + s && o > n + s || t - s > o && n - s > o)
return !1;
if (t === n) return Math.abs(o - t) <= s / 2;
l = (e - i) / (t - n), u = (t * i - n * e) / (t - n);
var h = l * o - a + u,
c = h * h / (l * l + 1);
return s / 2 * s / 2 >= c
}
function wo(t, e, n, i, r, o, a, s, l, u, h) {
if (0 === l) return !1;
var c = l;
if (h > e + c && h > i + c && h > o + c && h > s + c || e - c > h && i - c > h && o - c > h && s - c > h ||
u > t + c && u > n + c && u > r + c && u > a + c || t - c > u && n - c > u && r - c > u && a - c > u)
return !1;
var p = vn(t, e, n, i, r, o, a, s, u, h, null);
return c / 2 >= p
}
function bo(t, e, n, i, r, o, a, s, l) {
if (0 === a) return !1;
var u = a;
if (l > e + u && l > i + u && l > o + u || e - u > l && i - u > l && o - u > l || s > t + u && s > n + u &&
s > r + u || t - u > s && n - u > s && r - u > s) return !1;
var h = Sn(t, e, n, i, r, o, s, l, null);
return u / 2 >= h
}
function So(t) {
return t %= Pb, 0 > t && (t += Pb), t
}
function Mo(t, e, n, i, r, o, a, s, l) {
if (0 === a) return !1;
var u = a;
s -= t, l -= e;
var h = Math.sqrt(s * s + l * l);
if (h - u > n || n > h + u) return !1;
if (Math.abs(i - r) % Lb < 1e-4) return !0;
if (o) {
var c = i;
i = So(r), r = So(c)
} else i = So(i), r = So(r);
i > r && (r += Lb);
var p = Math.atan2(l, s);
return 0 > p && (p += Lb), p >= i && r >= p || p + Lb >= i && r >= p + Lb
}
function To(t, e, n, i, r, o) {
if (o > e && o > i || e > o && i > o) return 0;
if (i === e) return 0;
var a = (o - e) / (i - e),
s = e > i ? 1 : -1;
(1 === a || 0 === a) && (s = e > i ? .5 : -.5);
var l = a * (n - t) + t;
return l === r ? 1 / 0 : l > r ? s : 0
}
function Co(t, e) {
return Math.abs(t - e) < zb
}
function Io() {
var t = Bb[0];
Bb[0] = Bb[1], Bb[1] = t
}
function Do(t, e, n, i, r, o, a, s, l, u) {
if (u > e && u > i && u > o && u > s || e > u && i > u && o > u && s > u) return 0;
var h = dn(e, i, o, s, u, Eb);
if (0 === h) return 0;
for (var c = 0, p = -1, d = void 0, f = void 0, g = 0; h > g; g++) {
var v = Eb[g],
y = 0 === v || 1 === v ? .5 : 1,
m = cn(t, n, r, a, v);
l > m || (0 > p && (p = fn(e, i, o, s, Bb), Bb[1] < Bb[0] && p > 1 && Io(), d = cn(e, i, o, s, Bb[0]),
p > 1 && (f = cn(e, i, o, s, Bb[1]))), c += 2 === p ? v < Bb[0] ? e > d ? y : -y : v < Bb[
1] ? d > f ? y : -y : f > s ? y : -y : v < Bb[0] ? e > d ? y : -y : d > s ? y : -y)
}
return c
}
function ko(t, e, n, i, r, o, a, s) {
if (s > e && s > i && s > o || e > s && i > s && o > s) return 0;
var l = xn(e, i, o, s, Eb);
if (0 === l) return 0;
var u = wn(e, i, o);
if (u >= 0 && 1 >= u) {
for (var h = 0, c = mn(e, i, o, u), p = 0; l > p; p++) {
var d = 0 === Eb[p] || 1 === Eb[p] ? .5 : 1,
f = mn(t, n, r, Eb[p]);
a > f || (h += Eb[p] < u ? e > c ? d : -d : c > o ? d : -d)
}
return h
}
var d = 0 === Eb[0] || 1 === Eb[0] ? .5 : 1,
f = mn(t, n, r, Eb[0]);
return a > f ? 0 : e > o ? d : -d
}
function Ao(t, e, n, i, r, o, a, s) {
if (s -= e, s > n || -n > s) return 0;
var l = Math.sqrt(n * n - s * s);
Eb[0] = -l, Eb[1] = l;
var u = Math.abs(i - r);
if (1e-4 > u) return 0;
if (u >= Rb - 1e-4) {
i = 0, r = Rb;
var h = o ? 1 : -1;
return a >= Eb[0] + t && a <= Eb[1] + t ? h : 0
}
if (i > r) {
var c = i;
i = r, r = c
}
0 > i && (i += Rb, r += Rb);
for (var p = 0, d = 0; 2 > d; d++) {
var f = Eb[d];
if (f + t > a) {
var g = Math.atan2(s, f),
h = o ? 1 : -1;
0 > g && (g = Rb + g), (g >= i && r >= g || g + Rb >= i && r >= g + Rb) && (g > Math.PI / 2 && g <
1.5 * Math.PI && (h = -h), p += h)
}
}
return p
}
function Po(t, e, n, i, r) {
for (var o, a, s = t.data, l = t.len(), u = 0, h = 0, c = 0, p = 0, d = 0, f = 0; l > f;) {
var g = s[f++],
v = 1 === f;
switch (g === Ob.M && f > 1 && (n || (u += To(h, c, p, d, i, r))), v && (h = s[f], c = s[f + 1], p = h,
d = c), g) {
case Ob.M:
p = s[f++], d = s[f++], h = p, c = d;
break;
case Ob.L:
if (n) {
if (xo(h, c, s[f], s[f + 1], e, i, r)) return !0
} else u += To(h, c, s[f], s[f + 1], i, r) || 0;
h = s[f++], c = s[f++];
break;
case Ob.C:
if (n) {
if (wo(h, c, s[f++], s[f++], s[f++], s[f++], s[f], s[f + 1], e, i, r)) return !0
} else u += Do(h, c, s[f++], s[f++], s[f++], s[f++], s[f], s[f + 1], i, r) || 0;
h = s[f++], c = s[f++];
break;
case Ob.Q:
if (n) {
if (bo(h, c, s[f++], s[f++], s[f], s[f + 1], e, i, r)) return !0
} else u += ko(h, c, s[f++], s[f++], s[f], s[f + 1], i, r) || 0;
h = s[f++], c = s[f++];
break;
case Ob.A:
var y = s[f++],
m = s[f++],
_ = s[f++],
x = s[f++],
w = s[f++],
b = s[f++];
f += 1;
var S = !!(1 - s[f++]);
o = Math.cos(w) * _ + y, a = Math.sin(w) * x + m, v ? (p = o, d = a) : u += To(h, c, o, a, i,
r);
var M = (i - y) * x / _ + y;
if (n) {
if (Mo(y, m, x, w, w + b, S, e, M, r)) return !0
} else u += Ao(y, m, x, w, w + b, S, M, r);
h = Math.cos(w + b) * _ + y, c = Math.sin(w + b) * x + m;
break;
case Ob.R:
p = h = s[f++], d = c = s[f++];
var T = s[f++],
C = s[f++];
if (o = p + T, a = d + C, n) {
if (xo(p, d, o, d, e, i, r) || xo(o, d, o, a, e, i, r) || xo(o, a, p, a, e, i, r) || xo(p,
a, p, d, e, i, r)) return !0
} else u += To(o, d, o, a, i, r), u += To(p, a, p, d, i, r);
break;
case Ob.Z:
if (n) {
if (xo(h, c, p, d, e, i, r)) return !0
} else u += To(h, c, p, d, i, r);
h = p, c = d
}
}
return n || Co(c, d) || (u += To(h, c, p, d, i, r) || 0), 0 !== u
}
function Lo(t, e, n) {
return Po(t, 0, !1, e, n)
}
function Oo(t, e, n, i) {
return Po(t, e, !0, n, i)
}
function Ro(t) {
return !!(t && "string" != typeof t && t.width && t.height)
}
function zo(t, e) {
var n, i, r, o, a = e.x,
s = e.y,
l = e.width,
u = e.height,
h = e.r;
0 > l && (a += l, l = -l), 0 > u && (s += u, u = -u), "number" == typeof h ? n = i = r = o = h :
h instanceof Array ? 1 === h.length ? n = i = r = o = h[0] : 2 === h.length ? (n = r = h[0], i = o = h[
1]) : 3 === h.length ? (n = h[0], i = o = h[1], r = h[2]) : (n = h[0], i = h[1], r = h[2], o = h[
3]) : n = i = r = o = 0;
var c;
n + i > l && (c = n + i, n *= l / c, i *= l / c), r + o > l && (c = r + o, r *= l / c, o *= l / c), i + r >
u && (c = i + r, i *= u / c, r *= u / c), n + o > u && (c = n + o, n *= u / c, o *= u / c), t.moveTo(a +
n, s), t.lineTo(a + l - i, s), 0 !== i && t.arc(a + l - i, s + i, i, -Math.PI / 2, 0), t.lineTo(a +
l, s + u - r), 0 !== r && t.arc(a + l - r, s + u - r, r, 0, Math.PI / 2), t.lineTo(a + o, s + u),
0 !== o && t.arc(a + o, s + u - o, o, Math.PI / 2, Math.PI), t.lineTo(a, s + n), 0 !== n && t.arc(a + n,
s + n, n, Math.PI, 1.5 * Math.PI)
}
function Eo(t, e, n) {
if (e) {
var i = e.x1,
r = e.x2,
o = e.y1,
a = e.y2;
t.x1 = i, t.x2 = r, t.y1 = o, t.y2 = a;
var s = n && n.lineWidth;
return s ? (Zb(2 * i) === Zb(2 * r) && (t.x1 = t.x2 = No(i, s, !0)), Zb(2 * o) === Zb(2 * a) && (t.y1 =
t.y2 = No(o, s, !0)), t) : t
}
}
function Bo(t, e, n) {
if (e) {
var i = e.x,
r = e.y,
o = e.width,
a = e.height;
t.x = i, t.y = r, t.width = o, t.height = a;
var s = n && n.lineWidth;
return s ? (t.x = No(i, s, !0), t.y = No(r, s, !0), t.width = Math.max(No(i + o, s, !1) - t.x, 0 === o ?
0 : 1), t.height = Math.max(No(r + a, s, !1) - t.y, 0 === a ? 0 : 1), t) : t
}
}
function No(t, e, n) {
if (!e) return t;
var i = Zb(2 * t);
return (i + Zb(e)) % 2 === 0 ? i / 2 : (i + (n ? 1 : -1)) / 2
}
function Fo(t) {
return "string" != typeof t || -1 === t.indexOf("px") && -1 === t.indexOf("rem") && -1 === t.indexOf("em") ?
isNaN(+t) ? Ym + "px" : t + "px" : t
}
function Vo(t, e) {
for (var n = 0; n < iS.length; n++) {
var i = iS[n],
r = e[i];
null != r && (t[i] = r)
}
}
function Ho(t) {
return null != t.fontSize || t.fontFamily || t.fontWeight
}
function Wo(t) {
return Go(t), v(t.rich, Go), t
}
function Go(t) {
if (t) {
t.font = tS.makeFont(t);
var e = t.align;
"middle" === e && (e = "center"), t.align = null == e || eS[e] ? e : "left";
var n = t.verticalAlign;
"center" === n && (n = "middle"), t.verticalAlign = null == n || nS[n] ? n : "top";
var i = t.padding;
i && (t.padding = H(t.padding))
}
}
function Uo(t, e) {
return null == t || 0 >= e || "transparent" === t || "none" === t ? null : t.image || t.colorStops ?
"#000" : t
}
function Yo(t) {
return null == t || "none" === t ? null : t.image || t.colorStops ? "#000" : t
}
function Xo(t, e, n) {
return "right" === e ? t - n[1] : "center" === e ? t + n[3] / 2 - n[1] / 2 : t + n[3]
}
function Zo(t) {
var e = t.text;
return null != e && (e += ""), e
}
function qo(t) {
return !!(t.backgroundColor || t.lineHeight || t.borderWidth && t.borderColor)
}
function jo(t) {
return null != t && "none" !== t
}
function Ko(t) {
if (C(t)) {
var e = bS.get(t);
return e || (e = Fn(t, -.1), bS.put(t, e)), e
}
if (O(t)) {
var n = h({}, t);
return n.colorStops = y(t.colorStops, function(t) {
return {
offset: t.offset,
color: Fn(t.color, -.1)
}
}), n
}
return t
}
function $o(t, e, n) {
t.onHoverStateChange && (t.hoverState || 0) !== n && t.onHoverStateChange(e), t.hoverState = n
}
function Qo(t) {
$o(t, "emphasis", pS)
}
function Jo(t) {
t.hoverState === pS && $o(t, "normal", hS)
}
function ta(t) {
$o(t, "blur", cS)
}
function ea(t) {
t.hoverState === cS && $o(t, "normal", hS)
}
function na(t) {
t.selected = !0
}
function ia(t) {
t.selected = !1
}
function ra(t, e, n) {
e(t, n)
}
function oa(t, e, n) {
ra(t, e, n), t.isGroup && t.traverse(function(t) {
ra(t, e, n)
})
}
function aa(t, e) {
switch (e) {
case "emphasis":
t.hoverState = pS;
break;
case "normal":
t.hoverState = hS;
break;
case "blur":
t.hoverState = cS;
break;
case "select":
t.selected = !0
}
}
function sa(t, e, n, i) {
for (var r = t.style, o = {}, a = 0; a < e.length; a++) {
var s = e[a],
l = r[s];
o[s] = null == l ? i && i[s] : l
}
for (var a = 0; a < t.animators.length; a++) {
var u = t.animators[a];
u.__fromStateTransition && u.__fromStateTransition.indexOf(n) < 0 && "style" === u.targetName && u
.saveTo(o, e)
}
return o
}
function la(t, e, n, i) {
var r = n && p(n, "select") >= 0,
o = !1;
if (t instanceof Hb) {
var a = lS(t),
s = r ? a.selectFill || a.normalFill : a.normalFill,
l = r ? a.selectStroke || a.normalStroke : a.normalStroke;
if (jo(s) || jo(l)) {
i = i || {};
var u = i.style || {};
"inherit" === u.fill ? (o = !0, i = h({}, i), u = h({}, u), u.fill = s) : !jo(u.fill) && jo(s) ? (
o = !0, i = h({}, i), u = h({}, u), u.fill = Ko(s)) : !jo(u.stroke) && jo(l) && (o || (i =
h({}, i), u = h({}, u)), u.stroke = Ko(l)), i.style = u
}
}
if (i && null == i.z2) {
o || (i = h({}, i));
var c = t.z2EmphasisLift;
i.z2 = t.z2 + (null != c ? c : gS)
}
return i
}
function ua(t, e, n) {
if (n && null == n.z2) {
n = h({}, n);
var i = t.z2SelectLift;
n.z2 = t.z2 + (null != i ? i : vS)
}
return n
}
function ha(t, e, n) {
var i = p(t.currentStates, e) >= 0,
r = t.style.opacity,
o = i ? null : sa(t, ["opacity"], e, {
opacity: 1
});
n = n || {};
var a = n.style || {};
return null == a.opacity && (n = h({}, n), a = h({
opacity: i ? r : .1 * o.opacity
}, a), n.style = a), n
}
function ca(t, e) {
var n = this.states[t];
if (this.style) {
if ("emphasis" === t) return la(this, t, e, n);
if ("blur" === t) return ha(this, t, n);
if ("select" === t) return ua(this, t, n)
}
return n
}
function pa(t) {
t.stateProxy = ca;
var e = t.getTextContent(),
n = t.getTextGuideLine();
e && (e.stateProxy = ca), n && (n.stateProxy = ca)
}
function da(t, e) {
!wa(t, e) && !t.__highByOuter && oa(t, Qo)
}
function fa(t, e) {
!wa(t, e) && !t.__highByOuter && oa(t, Jo)
}
function ga(t, e) {
t.__highByOuter |= 1 << (e || 0), oa(t, Qo)
}
function va(t, e) {
!(t.__highByOuter &= ~(1 << (e || 0))) && oa(t, Jo)
}
function ya(t) {
oa(t, ta)
}
function ma(t) {
oa(t, ea)
}
function _a(t) {
oa(t, na)
}
function xa(t) {
oa(t, ia)
}
function wa(t, e) {
return t.__highDownSilentOnTouch && e.zrByTouch
}
function ba(t) {
var e = t.getModel(),
n = [],
i = [];
e.eachComponent(function(e, r) {
var o = uS(r),
a = "series" === e,
s = a ? t.getViewOfSeriesModel(r) : t.getViewOfComponentModel(r);
!a && i.push(s), o.isBlured && (s.group.traverse(function(t) {
ea(t)
}), a && n.push(r)), o.isBlured = !1
}), v(i, function(t) {
t && t.toggleBlurSeries && t.toggleBlurSeries(n, !1, e)
})
}
function Sa(t, e, n, i) {
function r(t, e) {
for (var n = 0; n < e.length; n++) {
var i = t.getItemGraphicEl(e[n]);
i && ma(i)
}
}
var o = i.getModel();
if (n = n || "coordinateSystem", null != t && e && "none" !== e) {
var a = o.getSeriesByIndex(t),
s = a.coordinateSystem;
s && s.master && (s = s.master);
var l = [];
o.eachSeries(function(t) {
var o = a === t,
u = t.coordinateSystem;
u && u.master && (u = u.master);
var h = u && s ? u === s : o;
if (!("series" === n && !o || "coordinateSystem" === n && !h || "series" === e && o)) {
var c = i.getViewOfSeriesModel(t);
if (c.group.traverse(function(t) {
t.__highByOuter && o && "self" === e || ta(t)
}), g(e)) r(t.getData(), e);
else if (k(e))
for (var p = w(e), d = 0; d < p.length; d++) r(t.getData(p[d]), e[p[d]]);
l.push(t), uS(t).isBlured = !0
}
}), o.eachComponent(function(t, e) {
if ("series" !== t) {
var n = i.getViewOfComponentModel(e);
n && n.toggleBlurSeries && n.toggleBlurSeries(l, !0, o)
}
})
}
}
function Ma(t, e, n) {
if (null != t && null != e) {
var i = n.getModel().getComponent(t, e);
if (i) {
uS(i).isBlured = !0;
var r = n.getViewOfComponentModel(i);
r && r.focusBlurEnabled && r.group.traverse(function(t) {
ta(t)
})
}
}
}
function Ta(t, e, n) {
var i = t.seriesIndex,
r = t.getData(e.dataType);
if (r) {
var o = Lr(r, e);
o = (M(o) ? o[0] : o) || 0;
var a = r.getItemGraphicEl(o);
if (!a)
for (var s = r.count(), l = 0; !a && s > l;) a = r.getItemGraphicEl(l++);
if (a) {
var u = rS(a);
Sa(i, u.focus, u.blurScope, n)
} else {
var h = t.get(["emphasis", "focus"]),
c = t.get(["emphasis", "blurScope"]);
null != h && Sa(i, h, c, n)
}
}
}
function Ca(t, e, n, i) {
var r = {
focusSelf: !1,
dispatchers: null
};
if (null == t || "series" === t || null == e || null == n) return r;
var o = i.getModel().getComponent(t, e);
if (!o) return r;
var a = i.getViewOfComponentModel(o);
if (!a || !a.findHighDownDispatchers) return r;
for (var s, l = a.findHighDownDispatchers(n), u = 0; u < l.length; u++)
if ("self" === rS(l[u]).focus) {
s = !0;
break
} return {
focusSelf: s,
dispatchers: l
}
}
function Ia(t, e, n) {
var i = rS(t),
r = Ca(i.componentMainType, i.componentIndex, i.componentHighDownName, n),
o = r.dispatchers,
a = r.focusSelf;
o ? (a && Ma(i.componentMainType, i.componentIndex, n), v(o, function(t) {
return da(t, e)
})) : (Sa(i.seriesIndex, i.focus, i.blurScope, n), "self" === i.focus && Ma(i.componentMainType, i
.componentIndex, n), da(t, e))
}
function Da(t, e, n) {
ba(n);
var i = rS(t),
r = Ca(i.componentMainType, i.componentIndex, i.componentHighDownName, n).dispatchers;
r ? v(r, function(t) {
return fa(t, e)
}) : fa(t, e)
}
function ka(t, e) {
if (Va(e)) {
var n = e.dataType,
i = t.getData(n),
r = Lr(i, e);
M(r) || (r = [r]), t[e.type === wS ? "toggleSelect" : e.type === _S ? "select" : "unselect"](r, n)
}
}
function Aa(t) {
var e = t.getAllData();
v(e, function(e) {
var n = e.data,
i = e.type;
n.eachItemGraphicEl(function(e, n) {
t.isSelected(n, i) ? _a(e) : xa(e)
})
})
}
function Pa(t) {
var e = [];
return t.eachSeries(function(t) {
var n = t.getAllData();
v(n, function(n) {
var i = (n.data, n.type),
r = t.getSelectedDataIndices();
if (r.length > 0) {
var o = {
dataIndex: r,
seriesIndex: t.seriesIndex
};
null != i && (o.dataType = i), e.push(o)
}
})
}), e
}
function La(t, e, n) {
Ba(t, !0), oa(t, pa), za(t, e, n)
}
function Oa(t) {
Ba(t, !1)
}
function Ra(t, e, n, i) {
i ? Oa(t) : La(t, e, n)
}
function za(t, e, n) {
var i = rS(t);
null != e ? (i.focus = e, i.blurScope = n) : i.focus && (i.focus = null)
}
function Ea(t, e, n, i) {
n = n || "itemStyle";
for (var r = 0; r < SS.length; r++) {
var o = SS[r],
a = e.getModel([o, n]),
s = t.ensureState(o);
s.style = i ? i(a) : a[MS[n]]()
}
}
function Ba(t, e) {
var n = e === !1,
i = t;
t.highDownSilentOnTouch && (i.__highDownSilentOnTouch = t.highDownSilentOnTouch), (!n || i
.__highDownDispatcher) && (i.__highByOuter = i.__highByOuter || 0, i.__highDownDispatcher = !n)
}
function Na(t) {
return !(!t || !t.__highDownDispatcher)
}
function Fa(t) {
var e = sS[t];
return null == e && 32 >= aS && (e = sS[t] = aS++), e
}
function Va(t) {
var e = t.type;
return e === _S || e === xS || e === wS
}
function Ha(t) {
var e = t.type;
return e === yS || e === mS
}
function Wa(t) {
var e = lS(t);
e.normalFill = t.style.fill, e.normalStroke = t.style.stroke;
var n = t.states.select || {};
e.selectFill = n.style && n.style.fill || null, e.selectStroke = n.style && n.style.stroke || null
}
function Ga(t, e) {
if (e) {
var n, i, r, o, a, s, l = t.data,
u = t.len(),
h = TS.M,
c = TS.C,
p = TS.L,
d = TS.R,
f = TS.A,
g = TS.Q;
for (r = 0, o = 0; u > r;) {
switch (n = l[r++], o = r, i = 0, n) {
case h:
i = 1;
break;
case p:
i = 1;
break;
case c:
i = 3;
break;
case g:
i = 2;
break;
case f:
var v = e[4],
y = e[5],
m = IS(e[0] * e[0] + e[1] * e[1]),
_ = IS(e[2] * e[2] + e[3] * e[3]),
x = DS(-e[1] / _, e[0] / m);
l[r] *= m, l[r++] += v, l[r] *= _, l[r++] += y, l[r++] *= m, l[r++] *= _, l[r++] += x, l[
r++] += x, r += 2, o = r;
break;
case d:
s[0] = l[r++], s[1] = l[r++], ye(s, s, e), l[o++] = s[0], l[o++] = s[1], s[0] += l[r++], s[
1] += l[r++], ye(s, s, e), l[o++] = s[0], l[o++] = s[1]
}
for (a = 0; i > a; a++) {
var w = CS[a];
w[0] = l[r++], w[1] = l[r++], ye(w, w, e), l[o++] = w[0], l[o++] = w[1]
}
}
t.increaseVersion()
}
}
function Ua(t) {
return Math.sqrt(t[0] * t[0] + t[1] * t[1])
}
function Ya(t, e) {
return (t[0] * e[0] + t[1] * e[1]) / (Ua(t) * Ua(e))
}
function Xa(t, e) {
return (t[0] * e[1] < t[1] * e[0] ? -1 : 1) * Math.acos(Ya(t, e))
}
function Za(t, e, n, i, r, o, a, s, l, u, h) {
var c = l * (LS / 180),
p = PS(c) * (t - n) / 2 + AS(c) * (e - i) / 2,
d = -1 * AS(c) * (t - n) / 2 + PS(c) * (e - i) / 2,
f = p * p / (a * a) + d * d / (s * s);
f > 1 && (a *= kS(f), s *= kS(f));
var g = (r === o ? -1 : 1) * kS((a * a * s * s - a * a * d * d - s * s * p * p) / (a * a * d * d + s * s *
p * p)) || 0,
v = g * a * d / s,
y = g * -s * p / a,
m = (t + n) / 2 + PS(c) * v - AS(c) * y,
_ = (e + i) / 2 + AS(c) * v + PS(c) * y,
x = Xa([1, 0], [(p - v) / a, (d - y) / s]),
w = [(p - v) / a, (d - y) / s],
b = [(-1 * p - v) / a, (-1 * d - y) / s],
S = Xa(w, b);
if (Ya(w, b) <= -1 && (S = LS), Ya(w, b) >= 1 && (S = 0), 0 > S) {
var M = Math.round(S / LS * 1e6) / 1e6;
S = 2 * LS + M % 2 * LS
}
h.addData(u, m, _, a, s, x, S, c, o)
}
function qa(t) {
var e = new Ab;
if (!t) return e;
var n, i = 0,
r = 0,
o = i,
a = r,
s = Ab.CMD,
l = t.match(OS);
if (!l) return e;
for (var u = 0; u < l.length; u++) {
for (var h = l[u], c = h.charAt(0), p = void 0, d = h.match(RS) || [], f = d.length, g = 0; f > g; g++)
d[g] = parseFloat(d[g]);
for (var v = 0; f > v;) {
var y = void 0,
m = void 0,
_ = void 0,
x = void 0,
w = void 0,
b = void 0,
S = void 0,
M = i,
T = r,
C = void 0,
I = void 0;
switch (c) {
case "l":
i += d[v++], r += d[v++], p = s.L, e.addData(p, i, r);
break;
case "L":
i = d[v++], r = d[v++], p = s.L, e.addData(p, i, r);
break;
case "m":
i += d[v++], r += d[v++], p = s.M, e.addData(p, i, r), o = i, a = r, c = "l";
break;
case "M":
i = d[v++], r = d[v++], p = s.M, e.addData(p, i, r), o = i, a = r, c = "L";
break;
case "h":
i += d[v++], p = s.L, e.addData(p, i, r);
break;
case "H":
i = d[v++], p = s.L, e.addData(p, i, r);
break;
case "v":
r += d[v++], p = s.L, e.addData(p, i, r);
break;
case "V":
r = d[v++], p = s.L, e.addData(p, i, r);
break;
case "C":
p = s.C, e.addData(p, d[v++], d[v++], d[v++], d[v++], d[v++], d[v++]), i = d[v - 2], r = d[
v - 1];
break;
case "c":
p = s.C, e.addData(p, d[v++] + i, d[v++] + r, d[v++] + i, d[v++] + r, d[v++] + i, d[v++] +
r), i += d[v - 2], r += d[v - 1];
break;
case "S":
y = i, m = r, C = e.len(), I = e.data, n === s.C && (y += i - I[C - 4], m += r - I[C - 3]),
p = s.C, M = d[v++], T = d[v++], i = d[v++], r = d[v++], e.addData(p, y, m, M, T, i, r);
break;
case "s":
y = i, m = r, C = e.len(), I = e.data, n === s.C && (y += i - I[C - 4], m += r - I[C - 3]),
p = s.C, M = i + d[v++], T = r + d[v++], i += d[v++], r += d[v++], e.addData(p, y, m, M,
T, i, r);
break;
case "Q":
M = d[v++], T = d[v++], i = d[v++], r = d[v++], p = s.Q, e.addData(p, M, T, i, r);
break;
case "q":
M = d[v++] + i, T = d[v++] + r, i += d[v++], r += d[v++], p = s.Q, e.addData(p, M, T, i, r);
break;
case "T":
y = i, m = r, C = e.len(), I = e.data, n === s.Q && (y += i - I[C - 4], m += r - I[C - 3]),
i = d[v++], r = d[v++], p = s.Q, e.addData(p, y, m, i, r);
break;
case "t":
y = i, m = r, C = e.len(), I = e.data, n === s.Q && (y += i - I[C - 4], m += r - I[C - 3]),
i += d[v++], r += d[v++], p = s.Q, e.addData(p, y, m, i, r);
break;
case "A":
_ = d[v++], x = d[v++], w = d[v++], b = d[v++], S = d[v++], M = i, T = r, i = d[v++], r = d[
v++], p = s.A, Za(M, T, i, r, b, S, _, x, w, p, e);
break;
case "a":
_ = d[v++], x = d[v++], w = d[v++], b = d[v++], S = d[v++], M = i, T = r, i += d[v++], r +=
d[v++], p = s.A, Za(M, T, i, r, b, S, _, x, w, p, e)
}
}("z" === c || "Z" === c) && (p = s.Z, e.addData(p), i = o, r = a), n = p
}
return e.toStatic(), e
}
function ja(t) {
return null != t.setData
}
function Ka(t, e) {
var n = qa(t),
i = h({}, e);
return i.buildPath = function(t) {
if (ja(t)) {
t.setData(n.data);
var e = t.getContext();
e && t.rebuildPath(e, 1)
} else {
var e = t;
n.rebuildPath(e, 1)
}
}, i.applyTransform = function(t) {
Ga(n, t), this.dirtyShape()
}, i
}
function $a(t, e) {
return new zS(Ka(t, e))
}
function Qa(t, n) {
var i = Ka(t, n),
r = function(t) {
function n(e) {
var n = t.call(this, e) || this;
return n.applyTransform = i.applyTransform, n.buildPath = i.buildPath, n
}
return e(n, t), n
}(zS);
return r
}
function Ja(t, e) {
for (var n = [], i = t.length, r = 0; i > r; r++) {
var o = t[r];
n.push(o.getUpdatedPathProxy(!0))
}
var a = new Hb(e);
return a.createPathProxy(), a.buildPath = function(t) {
if (ja(t)) {
t.appendPath(n);
var e = t.getContext();
e && t.rebuildPath(e, 1)
}
}, a
}
function ts(t, e, n, i, r, o, a, s) {
var l = n - t,
u = i - e,
h = a - r,
c = s - o,
p = c * l - h * u;
return KS > p * p ? void 0 : (p = (h * (e - o) - c * (t - r)) / p, [t + p * l, e + p * u])
}
function es(t, e, n, i, r, o, a) {
var s = t - n,
l = e - i,
u = (a ? o : -o) / ZS(s * s + l * l),
h = u * l,
c = -u * s,
p = t + h,
d = e + c,
f = n + h,
g = i + c,
v = (p + f) / 2,
y = (d + g) / 2,
m = f - p,
_ = g - d,
x = m * m + _ * _,
w = r - o,
b = p * g - f * d,
S = (0 > _ ? -1 : 1) * ZS(qS(0, w * w * x - b * b)),
M = (b * _ - m * S) / x,
T = (-b * m - _ * S) / x,
C = (b * _ + m * S) / x,
I = (-b * m + _ * S) / x,
D = M - v,
k = T - y,
A = C - v,
P = I - y;
return D * D + k * k > A * A + P * P && (M = C, T = I), {
cx: M,
cy: T,
x0: -h,
y0: -c,
x1: M * (r / w - 1),
y1: T * (r / w - 1)
}
}
function ns(t) {
var e;
if (M(t)) {
var n = t.length;
if (!n) return t;
e = 1 === n ? [t[0], t[0], 0, 0] : 2 === n ? [t[0], t[0], t[1], t[1]] : 3 === n ? t.concat(t[2]) : t
} else e = [t, t, t, t];
return e
}
function is(t, e) {
var n, i = qS(e.r, 0),
r = qS(e.r0 || 0, 0),
o = i > 0,
a = r > 0;
if (o || a) {
if (o || (i = r, r = 0), r > i) {
var s = i;
i = r, r = s
}
var l = e.startAngle,
u = e.endAngle;
if (!isNaN(l) && !isNaN(u)) {
var h = e.cx,
c = e.cy,
p = !!e.clockwise,
d = XS(u - l),
f = d > HS && d % HS;
if (f > KS && (d = f), i > KS)
if (d > HS - KS) t.moveTo(h + i * GS(l), c + i * WS(l)), t.arc(h, c, i, l, u, !p), r > KS && (t
.moveTo(h + r * GS(u), c + r * WS(u)), t.arc(h, c, r, u, l, p));
else {
var g = void 0,
v = void 0,
y = void 0,
m = void 0,
_ = void 0,
x = void 0,
w = void 0,
b = void 0,
S = void 0,
M = void 0,
T = void 0,
C = void 0,
I = void 0,
D = void 0,
k = void 0,
A = void 0,
P = i * GS(l),
L = i * WS(l),
O = r * GS(u),
R = r * WS(u),
z = d > KS;
if (z) {
var E = e.cornerRadius;
E && (n = ns(E), g = n[0], v = n[1], y = n[2], m = n[3]);
var B = XS(i - r) / 2;
if (_ = jS(B, y), x = jS(B, m), w = jS(B, g), b = jS(B, v), T = S = qS(_, x), C = M =
qS(w, b), (S > KS || M > KS) && (I = i * GS(u), D = i * WS(u), k = r * GS(l), A =
r * WS(l), VS > d)) {
var N = ts(P, L, k, A, I, D, O, R);
if (N) {
var F = P - N[0],
V = L - N[1],
H = I - N[0],
W = D - N[1],
G = 1 / WS(US((F * H + V * W) / (ZS(F * F + V * V) * ZS(H * H + W * W))) /
2),
U = ZS(N[0] * N[0] + N[1] * N[1]);
T = jS(S, (i - U) / (G + 1)), C = jS(M, (r - U) / (G - 1))
}
}
}
if (z)
if (T > KS) {
var Y = jS(y, T),
X = jS(m, T),
Z = es(k, A, P, L, i, Y, p),
q = es(I, D, O, R, i, X, p);
t.moveTo(h + Z.cx + Z.x0, c + Z.cy + Z.y0), S > T && Y === X ? t.arc(h + Z.cx, c + Z
.cy, T, YS(Z.y0, Z.x0), YS(q.y0, q.x0), !p) : (Y > 0 && t.arc(h + Z.cx, c +
Z.cy, Y, YS(Z.y0, Z.x0), YS(Z.y1, Z.x1), !p), t.arc(h, c, i, YS(Z.cy + Z
.y1, Z.cx + Z.x1), YS(q.cy + q.y1, q.cx + q.x1), !p), X > 0 && t.arc(h +
q.cx, c + q.cy, X, YS(q.y1, q.x1), YS(q.y0, q.x0), !p))
} else t.moveTo(h + P, c + L), t.arc(h, c, i, l, u, !p);
else t.moveTo(h + P, c + L);
if (r > KS && z)
if (C > KS) {
var Y = jS(g, C),
X = jS(v, C),
Z = es(O, R, I, D, r, -X, p),
q = es(P, L, k, A, r, -Y, p);
t.lineTo(h + Z.cx + Z.x0, c + Z.cy + Z.y0), M > C && Y === X ? t.arc(h + Z.cx, c + Z
.cy, C, YS(Z.y0, Z.x0), YS(q.y0, q.x0), !p) : (X > 0 && t.arc(h + Z.cx, c +
Z.cy, X, YS(Z.y0, Z.x0), YS(Z.y1, Z.x1), !p), t.arc(h, c, r, YS(Z.cy + Z
.y1, Z.cx + Z.x1), YS(q.cy + q.y1, q.cx + q.x1), p), Y > 0 && t.arc(h +
q.cx, c + q.cy, Y, YS(q.y1, q.x1), YS(q.y0, q.x0), !p))
} else t.lineTo(h + O, c + R), t.arc(h, c, r, u, l, p);
else t.lineTo(h + O, c + R)
}
else t.moveTo(h, c);
t.closePath()
}
}
}
function rs(t, e, n, i) {
var r, o, a, s, l = [],
u = [],
h = [],
c = [];
if (i) {
a = [1 / 0, 1 / 0], s = [-1 / 0, -1 / 0];
for (var p = 0, d = t.length; d > p; p++) me(a, a, t[p]), _e(s, s, t[p]);
me(a, a, i[0]), _e(s, s, i[1])
}
for (var p = 0, d = t.length; d > p; p++) {
var f = t[p];
if (n) r = t[p ? p - 1 : d - 1], o = t[(p + 1) % d];
else {
if (0 === p || p === d - 1) {
l.push(ee(t[p]));
continue
}
r = t[p - 1], o = t[p + 1]
}
oe(u, o, r), ce(u, u, e);
var g = de(f, r),
v = de(f, o),
y = g + v;
0 !== y && (g /= y, v /= y), ce(h, u, -g), ce(c, u, v);
var m = ie([], f, h),
_ = ie([], f, c);
i && (_e(m, m, a), me(m, m, s), _e(_, _, a), me(_, _, s)), l.push(m), l.push(_)
}
return n && l.push(l.shift()), l
}
function os(t, e, n) {
var i = e.smooth,
r = e.points;
if (r && r.length >= 2) {
if (i) {
var o = rs(r, i, n, e.smoothConstraint);
t.moveTo(r[0][0], r[0][1]);
for (var a = r.length, s = 0;
(n ? a : a - 1) > s; s++) {
var l = o[2 * s],
u = o[2 * s + 1],
h = r[(s + 1) % a];
t.bezierCurveTo(l[0], l[1], u[0], u[1], h[0], h[1])
}
} else {
t.moveTo(r[0][0], r[0][1]);
for (var s = 1, c = r.length; c > s; s++) t.lineTo(r[s][0], r[s][1])
}
n && t.closePath()
}
}
function as(t, e, n) {
var i = t.cpx2,
r = t.cpy2;
return null != i || null != r ? [(n ? pn : cn)(t.x1, t.cpx1, t.cpx2, t.x2, e), (n ? pn : cn)(t.y1, t.cpy1, t
.cpy2, t.y2, e)] : [(n ? _n : mn)(t.x1, t.cpx1, t.x2, e), (n ? _n : mn)(t.y1, t.cpy1, t.y2, e)]
}
function ss(t, e, n, i, r) {
var o;
if (e && e.ecModel) {
var a = e.ecModel.getUpdatePayload();
o = a && a.animation
}
var s = e && e.isAnimationEnabled(),
l = "update" === t;
if (s) {
var u = void 0,
h = void 0,
c = void 0;
i ? (u = N(i.duration, 200), h = N(i.easing, "cubicOut"), c = 0) : (u = e.getShallow(l ?
"animationDurationUpdate" : "animationDuration"), h = e.getShallow(l ?
"animationEasingUpdate" : "animationEasing"), c = e.getShallow(l ? "animationDelayUpdate" :
"animationDelay")), o && (null != o.duration && (u = o.duration), null != o.easing && (h = o
.easing), null != o.delay && (c = o.delay)), T(c) && (c = c(n, r)), T(u) && (u = u(n));
var p = {
duration: u || 0,
delay: c,
easing: h
};
return p
}
return null
}
function ls(t, e, n, i, r, o, a) {
var s, l = !1;
T(r) ? (a = o, o = r, r = null) : k(r) && (o = r.cb, a = r.during, l = r.isFrom, s = r.removeOpt, r = r
.dataIndex);
var u = "leave" === t;
u || e.stopAnimation("leave");
var h = ss(t, i, r, u ? s || {} : null, i && i.getAnimationDelayParams ? i.getAnimationDelayParams(e, r) :
null);
if (h && h.duration > 0) {
var c = h.duration,
p = h.delay,
d = h.easing,
f = {
duration: c,
delay: p || 0,
easing: d,
done: o,
force: !!o || !!a,
setToFinal: !u,
scope: t,
during: a
};
l ? e.animateFrom(n, f) : e.animateTo(n, f)
} else e.stopAnimation(), !l && e.attr(n), a && a(1), o && o()
}
function us(t, e, n, i, r, o) {
ls("update", t, e, n, i, r, o)
}
function hs(t, e, n, i, r, o) {
ls("enter", t, e, n, i, r, o)
}
function cs(t) {
if (!t.__zr) return !0;
for (var e = 0; e < t.animators.length; e++) {
var n = t.animators[e];
if ("leave" === n.scope) return !0
}
return !1
}
function ps(t, e, n, i, r, o) {
cs(t) || ls("leave", t, e, n, i, r, o)
}
function ds(t, e, n, i) {
t.removeTextContent(), t.removeTextGuideLine(), ps(t, {
style: {
opacity: 0
}
}, e, n, i)
}
function fs(t, e, n) {
function i() {
t.parent && t.parent.remove(t)
}
t.isGroup ? t.traverse(function(t) {
t.isGroup || ds(t, e, n, i)
}) : ds(t, e, n, i)
}
function gs(t) {
MM(t).oldStyle = t.style
}
function vs(t) {
return Hb.extend(t)
}
function ys(t, e) {
return DM(t, e)
}
function ms(t, e) {
IM[t] = e
}
function _s(t) {
return IM.hasOwnProperty(t) ? IM[t] : void 0
}
function xs(t, e, n, i) {
var r = $a(t, e);
return n && ("center" === i && (n = bs(n, r.getBoundingRect())), Ss(r, n)), r
}
function ws(t, e, n) {
var i = new Xb({
style: {
image: t,
x: e.x,
y: e.y,
width: e.width,
height: e.height
},
onload: function(t) {
if ("center" === n) {
var r = {
width: t.width,
height: t.height
};
i.setStyle(bs(e, r))
}
}
});
return i
}
function bs(t, e) {
var n, i = e.width / e.height,
r = t.height * i;
r <= t.width ? n = t.height : (r = t.width, n = r / i);
var o = t.x + t.width / 2,
a = t.y + t.height / 2;
return {
x: o - r / 2,
y: a - n / 2,
width: r,
height: n
}
}
function Ss(t, e) {
if (t.applyTransform) {
var n = t.getBoundingRect(),
i = n.calculateTransform(e);
t.applyTransform(i)
}
}
function Ms(t, e) {
return Eo(t, t, {
lineWidth: e
}), t
}
function Ts(t) {
return Bo(t.shape, t.shape, t.style), t
}
function Cs(t, e) {
for (var n = Fe([]); t && t !== e;) He(n, t.getLocalTransform(), n), t = t.parent;
return n
}
function Is(t, e, n) {
return e && !g(e) && (e = pw.getLocalTransform(e)), n && (e = Ye([], e)), ye([], t, e)
}
function Ds(t, e, n) {
var i = 0 === e[4] || 0 === e[5] || 0 === e[0] ? 1 : Math.abs(2 * e[4] / e[0]),
r = 0 === e[4] || 0 === e[5] || 0 === e[2] ? 1 : Math.abs(2 * e[4] / e[2]),
o = ["left" === t ? -i : "right" === t ? i : 0, "top" === t ? -r : "bottom" === t ? r : 0];
return o = Is(o, e, n), Math.abs(o[0]) > Math.abs(o[1]) ? o[0] > 0 ? "right" : "left" : o[1] > 0 ?
"bottom" : "top"
}
function ks(t) {
return !t.isGroup
}
function As(t) {
return null != t.shape
}
function Ps(t, e, n) {
function i(t) {
var e = {};
return t.traverse(function(t) {
ks(t) && t.anid && (e[t.anid] = t)
}), e
}
function r(t) {
var e = {
x: t.x,
y: t.y,
rotation: t.rotation
};
return As(t) && (e.shape = h({}, t.shape)), e
}
if (t && e) {
var o = i(t);
e.traverse(function(t) {
if (ks(t) && t.anid) {
var e = o[t.anid];
if (e) {
var i = r(t);
t.attr(r(e)), us(t, i, n, rS(t).dataIndex)
}
}
})
}
}
function Ls(t, e) {
return y(t, function(t) {
var n = t[0];
n = TM(n, e.x), n = CM(n, e.x + e.width);
var i = t[1];
return i = TM(i, e.y), i = CM(i, e.y + e.height), [n, i]
})
}
function Os(t, e) {
var n = TM(t.x, e.x),
i = CM(t.x + t.width, e.x + e.width),
r = TM(t.y, e.y),
o = CM(t.y + t.height, e.y + e.height);
return i >= n && o >= r ? {
x: n,
y: r,
width: i - n,
height: o - r
} : void 0
}
function Rs(t, e, n) {
var i = h({
rectHover: !0
}, e),
r = i.style = {
strokeNoScale: !0
};
return n = n || {
x: -1,
y: -1,
width: 2,
height: 2
}, t ? 0 === t.indexOf("image://") ? (r.image = t.slice(8), c(r, n), new Xb(i)) : xs(t.replace(
"path://", ""), i, n, "center") : void 0
}
function zs(t, e, n, i, r) {
for (var o = 0, a = r[r.length - 1]; o < r.length; o++) {
var s = r[o];
if (Es(t, e, n, i, s[0], s[1], a[0], a[1])) return !0;
a = s
}
}
function Es(t, e, n, i, r, o, a, s) {
var l = n - t,
u = i - e,
h = a - r,
c = s - o,
p = Bs(h, c, l, u);
if (Ns(p)) return !1;
var d = t - r,
f = e - o,
g = Bs(d, f, l, u) / p;
if (0 > g || g > 1) return !1;
var v = Bs(d, f, h, c) / p;
return 0 > v || v > 1 ? !1 : !0
}
function Bs(t, e, n, i) {
return t * i - n * e
}
function Ns(t) {
return 1e-6 >= t && t >= -1e-6
}
function Fs(t) {
var e = t.itemTooltipOption,
n = t.componentModel,
i = t.itemName,
r = C(e) ? {
formatter: e
} : e,
o = n.mainType,
a = n.componentIndex,
s = {
componentType: o,
name: i,
$vars: ["name"]
};
s[o + "Index"] = a;
var l = t.formatterParamsExtra;
l && v(w(l), function(t) {
$(s, t) || (s[t] = l[t], s.$vars.push(t))
});
var u = rS(t.el);
u.componentMainType = o, u.componentIndex = a, u.tooltipConfig = {
name: i,
option: c({
content: i,
formatterParams: s
}, r)
}
}
function Vs(t, e) {
var n;
t.isGroup && (n = e(t)), n || t.traverse(e)
}
function Hs(t, e) {
if (t)
if (M(t))
for (var n = 0; n < t.length; n++) Vs(t[n], e);
else Vs(t, e)
}
function Ws(t, e) {
for (var n = 0; n < dS.length; n++) {
var i = dS[n],
r = e[i],
o = t.ensureState(i);
o.style = o.style || {}, o.style.text = r
}
var a = t.currentStates.slice();
t.clearStates(!0), t.setStyle({
text: e.normal
}), t.useStates(a, !0)
}
function Gs(t, e, n) {
var i, r = t.labelFetcher,
o = t.labelDataIndex,
a = t.labelDimIndex,
s = e.normal;
r && (i = r.getFormattedLabel(o, "normal", null, a, s && s.get("formatter"), null != n ? {
interpolatedValue: n
} : null)), null == i && (i = T(t.defaultText) ? t.defaultText(o, t, n) : t.defaultText);
for (var l = {
normal: i
}, u = 0; u < dS.length; u++) {
var h = dS[u],
c = e[h];
l[h] = N(r ? r.getFormattedLabel(o, h, null, a, c && c.get("formatter")) : null, i)
}
return l
}
function Us(t, e, n, i) {
n = n || LM;
for (var r = t instanceof tS, o = !1, a = 0; a < fS.length; a++) {
var s = e[fS[a]];
if (s && s.getShallow("show")) {
o = !0;
break
}
}
var l = r ? t : t.getTextContent();
if (o) {
r || (l || (l = new tS, t.setTextContent(l)), t.stateProxy && (l.stateProxy = t.stateProxy));
var u = Gs(n, e),
h = e.normal,
c = !!h.getShallow("show"),
p = Xs(h, i && i.normal, n, !1, !r);
p.text = u.normal, r || t.setTextConfig(Zs(h, n, !1));
for (var a = 0; a < dS.length; a++) {
var d = dS[a],
s = e[d];
if (s) {
var f = l.ensureState(d),
g = !!N(s.getShallow("show"), c);
if (g !== c && (f.ignore = !g), f.style = Xs(s, i && i[d], n, !0, !r), f.style.text = u[d], !
r) {
var v = t.ensureState(d);
v.textConfig = Zs(s, n, !0)
}
}
}
l.silent = !!h.getShallow("silent"), null != l.style.x && (p.x = l.style.x), null != l.style.y && (p.y =
l.style.y), l.ignore = !c, l.useStyle(p), l.dirty(), n.enableTextSetter && (EM(l).setLabelText =
function(t) {
var i = Gs(n, e, t);
Ws(l, i)
})
} else l && (l.ignore = !0);
t.dirty()
}
function Ys(t, e) {
e = e || "label";
for (var n = {
normal: t.getModel(e)
}, i = 0; i < dS.length; i++) {
var r = dS[i];
n[r] = t.getModel([r, e])
}
return n
}
function Xs(t, e, n, i, r) {
var o = {};
return qs(o, t, n, i, r), e && h(o, e), o
}
function Zs(t, e, n) {
e = e || {};
var i, r = {},
o = t.getShallow("rotate"),
a = N(t.getShallow("distance"), n ? null : 5),
s = t.getShallow("offset");
return i = t.getShallow("position") || (n ? null : "inside"), "outside" === i && (i = e
.defaultOutsidePosition || "top"), null != i && (r.position = i), null != s && (r.offset = s),
null != o && (o *= Math.PI / 180, r.rotation = o), null != a && (r.distance = a), r.outsideFill =
"inherit" === t.get("color") ? e.inheritColor || null : "auto", r
}
function qs(t, e, n, i, r) {
n = n || LM;
var o, a = e.ecModel,
s = a && a.option.textStyle,
l = js(e);
if (l) {
o = {};
for (var u in l)
if (l.hasOwnProperty(u)) {
var h = e.getModel(["rich", u]);
Ks(o[u] = {}, h, s, n, i, r, !1, !0)
}
}
o && (t.rich = o);
var c = e.get("overflow");
c && (t.overflow = c);
var p = e.get("minMargin");
null != p && (t.margin = p), Ks(t, e, s, n, i, r, !0, !1)
}
function js(t) {
for (var e; t && t !== t.ecModel;) {
var n = (t.option || LM).rich;
if (n) {
e = e || {};
for (var i = w(n), r = 0; r < i.length; r++) {
var o = i[r];
e[o] = 1
}
}
t = t.parentModel
}
return e
}
function Ks(t, e, n, i, r, o, a, s) {
n = !r && n || LM;
var l = i && i.inheritColor,
u = e.getShallow("color"),
h = e.getShallow("textBorderColor"),
c = N(e.getShallow("opacity"), n.opacity);
("inherit" === u || "auto" === u) && (u = l ? l : null), ("inherit" === h || "auto" === h) && (h = l ? l :
null), o || (u = u || n.color, h = h || n.textBorderColor), null != u && (t.fill = u), null != h && (t
.stroke = h);
var p = N(e.getShallow("textBorderWidth"), n.textBorderWidth);
null != p && (t.lineWidth = p);
var d = N(e.getShallow("textBorderType"), n.textBorderType);
null != d && (t.lineDash = d);
var f = N(e.getShallow("textBorderDashOffset"), n.textBorderDashOffset);
null != f && (t.lineDashOffset = f), r || null != c || s || (c = i && i.defaultOpacity), null != c && (t
.opacity = c), r || o || null == t.fill && i.inheritColor && (t.fill = i.inheritColor);
for (var g = 0; g < OM.length; g++) {
var v = OM[g],
y = N(e.getShallow(v), n[v]);
null != y && (t[v] = y)
}
for (var g = 0; g < RM.length; g++) {
var v = RM[g],
y = e.getShallow(v);
null != y && (t[v] = y)
}
if (null == t.verticalAlign) {
var m = e.getShallow("baseline");
null != m && (t.verticalAlign = m)
}
if (!a || !i.disableBox) {
for (var g = 0; g < zM.length; g++) {
var v = zM[g],
y = e.getShallow(v);
null != y && (t[v] = y)
}
var _ = e.getShallow("borderType");
null != _ && (t.borderDash = _), "auto" !== t.backgroundColor && "inherit" !== t.backgroundColor || !
l || (t.backgroundColor = l), "auto" !== t.borderColor && "inherit" !== t.borderColor || !l || (t
.borderColor = l)
}
}
function $s(t, e) {
var n = e && e.getModel("textStyle");
return G([t.fontStyle || n && n.getShallow("fontStyle") || "", t.fontWeight || n && n.getShallow(
"fontWeight") || "", (t.fontSize || n && n.getShallow("fontSize") || 12) + "px", t
.fontFamily || n && n.getShallow("fontFamily") || "sans-serif"
].join(" "))
}
function Qs(t, e, n, i) {
if (t) {
var r = EM(t);
r.prevValue = r.value, r.value = n;
var o = e.normal;
r.valueAnimation = o.get("valueAnimation"), r.valueAnimation && (r.precision = o.get("precision"), r
.defaultInterpolatedText = i, r.statesModels = e)
}
}
function Js(t, e, n, i, r) {
function o(i) {
var o = Vr(n, a.precision, l, u, i);
a.interpolatedValue = 1 === i ? null : o;
var h = Gs({
labelDataIndex: e,
labelFetcher: r,
defaultText: s ? s(o) : o + ""
}, a.statesModels, o);
Ws(t, h)
}
var a = EM(t);
if (a.valueAnimation && a.prevValue !== a.value) {
var s = a.defaultInterpolatedText,
l = N(a.interpolatedValue, a.prevValue),
u = a.value;
t.percent = 0, (null == a.prevValue ? hs : us)(t, {
percent: 1
}, i, e, null, o)
}
}
function tl(t) {
return [t || "", qM++].join("_")
}
function el(t) {
var e = {};
t.registerSubTypeDefaulter = function(t, n) {
var i = Hr(t);
e[i.main] = n
}, t.determineSubType = function(n, i) {
var r = i.type;
if (!r) {
var o = Hr(n).main;
t.hasSubTypes(n) && e[o] && (r = e[o](i))
}
return r
}
}
function nl(t, e) {
function n(t) {
var n = {},
o = [];
return v(t, function(a) {
var s = i(n, a),
l = s.originalDeps = e(a),
u = r(l, t);
s.entryCount = u.length, 0 === s.entryCount && o.push(a), v(u, function(t) {
p(s.predecessor, t) < 0 && s.predecessor.push(t);
var e = i(n, t);
p(e.successor, t) < 0 && e.successor.push(a)
})
}), {
graph: n,
noEntryList: o
}
}
function i(t, e) {
return t[e] || (t[e] = {
predecessor: [],
successor: []
}), t[e]
}
function r(t, e) {
var n = [];
return v(t, function(t) {
p(e, t) >= 0 && n.push(t)
}), n
}
t.topologicalTravel = function(t, e, i, r) {
function o(t) {
l[t].entryCount--, 0 === l[t].entryCount && u.push(t)
}
function a(t) {
h[t] = !0, o(t)
}
if (t.length) {
var s = n(e),
l = s.graph,
u = s.noEntryList,
h = {};
for (v(t, function(t) {
h[t] = !0
}); u.length;) {
var c = u.pop(),
p = l[c],
d = !!h[c];
d && (i.call(r, c, p.originalDeps.slice()), delete h[c]), v(p.successor, d ? a : o)
}
v(h, function() {
var t = "";
throw new Error(t)
})
}
}
}
function il(t, e) {
return l(l({}, t, !0), e, !0)
}
function rl(t, e) {
t = t.toUpperCase(), eT[t] = new ZM(e), tT[t] = e
}
function ol(t) {
if (C(t)) {
var e = tT[t.toUpperCase()] || {};
return t === $M || t === QM ? s(e) : l(s(e), s(tT[JM]), !1)
}
return l(s(t), s(tT[JM]), !1)
}
function al(t) {
return eT[t]
}
function sl() {
return eT[JM]
}
function ll(t, e) {
return t += "", "0000".substr(0, e - t.length) + t
}
function ul(t) {
switch (t) {
case "half-year":
case "quarter":
return "month";
case "week":
case "half-week":
return "day";
case "half-day":
case "quarter-day":
return "hour";
default:
return t
}
}
function hl(t) {
return t === ul(t)
}
function cl(t) {
switch (t) {
case "year":
case "month":
return "day";
case "millisecond":
return "millisecond";
default:
return "second"
}
}
function pl(t, e, n, i) {
var r = er(t),
o = r[vl(n)](),
a = r[yl(n)]() + 1,
s = Math.floor((a - 1) / 3) + 1,
l = r[ml(n)](),
u = r["get" + (n ? "UTC" : "") + "Day"](),
h = r[_l(n)](),
c = (h - 1) % 12 + 1,
p = r[xl(n)](),
d = r[wl(n)](),
f = r[bl(n)](),
g = i instanceof ZM ? i : al(i || nT) || sl(),
v = g.getModel("time"),
y = v.get("month"),
m = v.get("monthAbbr"),
_ = v.get("dayOfWeek"),
x = v.get("dayOfWeekAbbr");
return (e || "").replace(/{yyyy}/g, o + "").replace(/{yy}/g, ll(o % 100 + "", 2)).replace(/{Q}/g, s + "")
.replace(/{MMMM}/g, y[a - 1]).replace(/{MMM}/g, m[a - 1]).replace(/{MM}/g, ll(a, 2)).replace(/{M}/g, a +
"").replace(/{dd}/g, ll(l, 2)).replace(/{d}/g, l + "").replace(/{eeee}/g, _[u]).replace(/{ee}/g, x[
u]).replace(/{e}/g, u + "").replace(/{HH}/g, ll(h, 2)).replace(/{H}/g, h + "").replace(/{hh}/g, ll(
c + "", 2)).replace(/{h}/g, c + "").replace(/{mm}/g, ll(p, 2)).replace(/{m}/g, p + "").replace(
/{ss}/g, ll(d, 2)).replace(/{s}/g, d + "").replace(/{SSS}/g, ll(f, 3)).replace(/{S}/g, f + "")
}
function dl(t, e, n, i, r) {
var o = null;
if (C(n)) o = n;
else if (T(n)) o = n(t.value, e, {
level: t.level
});
else {
var a = h({}, lT);
if (t.level > 0)
for (var s = 0; s < cT.length; ++s) a[cT[s]] = "{primary|" + a[cT[s]] + "}";
var l = n ? n.inherit === !1 ? n : c(n, a) : a,
u = fl(t.value, r);
if (l[u]) o = l[u];
else if (l.inherit) {
for (var p = pT.indexOf(u), s = p - 1; s >= 0; --s)
if (l[u]) {
o = l[u];
break
} o = o || a.none
}
if (M(o)) {
var d = null == t.level ? 0 : t.level >= 0 ? t.level : o.length + t.level;
d = Math.min(d, o.length - 1), o = o[d]
}
}
return pl(new Date(t.value), o, r, i)
}
function fl(t, e) {
var n = er(t),
i = n[yl(e)]() + 1,
r = n[ml(e)](),
o = n[_l(e)](),
a = n[xl(e)](),
s = n[wl(e)](),
l = n[bl(e)](),
u = 0 === l,
h = u && 0 === s,
c = h && 0 === a,
p = c && 0 === o,
d = p && 1 === r,
f = d && 1 === i;
return f ? "year" : d ? "month" : p ? "day" : c ? "hour" : h ? "minute" : u ? "second" : "millisecond"
}
function gl(t, e, n) {
var i = D(t) ? er(t) : t;
switch (e = e || fl(t, n)) {
case "year":
return i[vl(n)]();
case "half-year":
return i[yl(n)]() >= 6 ? 1 : 0;
case "quarter":
return Math.floor((i[yl(n)]() + 1) / 4);
case "month":
return i[yl(n)]();
case "day":
return i[ml(n)]();
case "half-day":
return i[_l(n)]() / 24;
case "hour":
return i[_l(n)]();
case "minute":
return i[xl(n)]();
case "second":
return i[wl(n)]();
case "millisecond":
return i[bl(n)]()
}
}
function vl(t) {
return t ? "getUTCFullYear" : "getFullYear"
}
function yl(t) {
return t ? "getUTCMonth" : "getMonth"
}
function ml(t) {
return t ? "getUTCDate" : "getDate"
}
function _l(t) {
return t ? "getUTCHours" : "getHours"
}
function xl(t) {
return t ? "getUTCMinutes" : "getMinutes"
}
function wl(t) {
return t ? "getUTCSeconds" : "getSeconds"
}
function bl(t) {
return t ? "getUTCMilliseconds" : "getMilliseconds"
}
function Sl(t) {
return t ? "setUTCFullYear" : "setFullYear"
}
function Ml(t) {
return t ? "setUTCMonth" : "setMonth"
}
function Tl(t) {
return t ? "setUTCDate" : "setDate"
}
function Cl(t) {
return t ? "setUTCHours" : "setHours"
}
function Il(t) {
return t ? "setUTCMinutes" : "setMinutes"
}
function Dl(t) {
return t ? "setUTCSeconds" : "setSeconds"
}
function kl(t) {
return t ? "setUTCMilliseconds" : "setMilliseconds"
}
function Al(t, e, n, i, r, o, a, s) {
var l = new tS({
style: {
text: t,
font: e,
align: n,
verticalAlign: i,
padding: r,
rich: o,
overflow: a ? "truncate" : null,
lineHeight: s
}
});
return l.getBoundingRect()
}
function Pl(t) {
if (!lr(t)) return C(t) ? t : "-";
var e = (t + "").split(".");
return e[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, "$1,") + (e.length > 1 ? "." + e[1] : "")
}
function Ll(t, e) {
return t = (t || "").toLowerCase().replace(/-(.)/g, function(t, e) {
return e.toUpperCase()
}), e && t && (t = t.charAt(0).toUpperCase() + t.slice(1)), t
}
function Ol(t, e, n) {
function i(t) {
return t && G(t) ? t : "-"
}
function r(t) {
return !(null == t || isNaN(t) || !isFinite(t))
}
var o = "{yyyy}-{MM}-{dd} {HH}:{mm}:{ss}",
a = "time" === e,
s = t instanceof Date;
if (a || s) {
var l = a ? er(t) : t;
if (!isNaN(+l)) return pl(l, o, n);
if (s) return "-"
}
if ("ordinal" === e) return I(t) ? i(t) : D(t) && r(t) ? t + "" : "-";
var u = sr(t);
return r(u) ? Pl(u) : I(t) ? i(t) : "boolean" == typeof t ? t + "" : "-"
}
function Rl(t, e, n) {
M(e) || (e = [e]);
var i = e.length;
if (!i) return "";
for (var r = e[0].$vars || [], o = 0; o < r.length; o++) {
var a = fT[o];
t = t.replace(gT(a), gT(a, 0))
}
for (var s = 0; i > s; s++)
for (var l = 0; l < r.length; l++) {
var u = e[s][r[l]];
t = t.replace(gT(fT[l], s), n ? Ie(u) : u)
}
return t
}
function zl(t, e) {
var n = C(t) ? {
color: t,
extraCssText: e
} : t || {},
i = n.color,
r = n.type;
e = n.extraCssText;
var o = n.renderMode || "html";
if (!i) return "";
if ("html" === o) return "subItem" === r ?
'' :
'';
var a = n.markerId || "markerX";
return {
renderMode: o,
content: "{" + a + "|} ",
style: "subItem" === r ? {
width: 4,
height: 4,
borderRadius: 2,
backgroundColor: i
} : {
width: 10,
height: 10,
borderRadius: 5,
backgroundColor: i
}
}
}
function El(t, e, n) {
("week" === t || "month" === t || "quarter" === t || "half-year" === t || "year" === t) && (t =
"MM-dd\nyyyy");
var i = er(e),
r = n ? "getUTC" : "get",
o = i[r + "FullYear"](),
a = i[r + "Month"]() + 1,
s = i[r + "Date"](),
l = i[r + "Hours"](),
u = i[r + "Minutes"](),
h = i[r + "Seconds"](),
c = i[r + "Milliseconds"]();
return t = t.replace("MM", ll(a, 2)).replace("M", a).replace("yyyy", o).replace("yy", ll(o % 100 + "", 2))
.replace("dd", ll(s, 2)).replace("d", s).replace("hh", ll(l, 2)).replace("h", l).replace("mm", ll(u, 2))
.replace("m", u).replace("ss", ll(h, 2)).replace("s", h).replace("SSS", ll(c, 3))
}
function Bl(t) {
return t ? t.charAt(0).toUpperCase() + t.substr(1) : t
}
function Nl(t, e) {
return e = e || "transparent", C(t) ? t : k(t) ? t.colorStops && (t.colorStops[0] || {}).color || e : e
}
function Fl(t, e) {
if ("_blank" === e || "blank" === e) {
var n = window.open();
n.opener = null, n.location.href = t
} else window.open(t, e)
}
function Vl(t, e, n, i, r) {
var o = 0,
a = 0;
null == i && (i = 1 / 0), null == r && (r = 1 / 0);
var s = 0;
e.eachChild(function(l, u) {
var h, c, p = l.getBoundingRect(),
d = e.childAt(u + 1),
f = d && d.getBoundingRect();
if ("horizontal" === t) {
var g = p.width + (f ? -f.x + p.x : 0);
h = o + g, h > i || l.newline ? (o = 0, h = g, a += s + n, s = p.height) : s = Math.max(s, p
.height)
} else {
var v = p.height + (f ? -f.y + p.y : 0);
c = a + v, c > r || l.newline ? (o += s + n, a = 0, c = v, s = p.width) : s = Math.max(s, p
.width)
}
l.newline || (l.x = o, l.y = a, l.markRedraw(), "horizontal" === t ? o = h + n : a = c + n)
})
}
function Hl(t, e, n) {
n = dT(n || 0);
var i = e.width,
r = e.height,
o = Ui(t.left, i),
a = Ui(t.top, r),
s = Ui(t.right, i),
l = Ui(t.bottom, r),
u = Ui(t.width, i),
h = Ui(t.height, r),
c = n[2] + n[0],
p = n[1] + n[3],
d = t.aspect;
switch (isNaN(u) && (u = i - s - p - o), isNaN(h) && (h = r - l - c - a), null != d && (isNaN(u) && isNaN(
h) && (d > i / r ? u = .8 * i : h = .8 * r), isNaN(u) && (u = d * h), isNaN(h) && (h = u / d)),
isNaN(o) && (o = i - s - u - p), isNaN(a) && (a = r - l - h - c), t.left || t.right) {
case "center":
o = i / 2 - u / 2 - n[3];
break;
case "right":
o = i - u - p
}
switch (t.top || t.bottom) {
case "middle":
case "center":
a = r / 2 - h / 2 - n[0];
break;
case "bottom":
a = r - h - c
}
o = o || 0, a = a || 0, isNaN(u) && (u = i - p - o - (s || 0)), isNaN(h) && (h = r - c - a - (l || 0));
var f = new q_(o + n[3], a + n[0], u, h);
return f.margin = n, f
}
function Wl(t) {
var e = t.layoutMode || t.constructor.layoutMode;
return k(e) ? e : e ? {
type: e
} : null
}
function Gl(t, e, n) {
function i(n, i) {
var a = {},
l = 0,
u = {},
h = 0,
c = 2;
if (vT(n, function(e) {
u[e] = t[e]
}), vT(n, function(t) {
r(e, t) && (a[t] = u[t] = e[t]), o(a, t) && l++, o(u, t) && h++
}), s[i]) return o(e, n[1]) ? u[n[2]] = null : o(e, n[2]) && (u[n[1]] = null), u;
if (h !== c && l) {
if (l >= c) return a;
for (var p = 0; p < n.length; p++) {
var d = n[p];
if (!r(a, d) && r(t, d)) {
a[d] = t[d];
break
}
}
return a
}
return u
}
function r(t, e) {
return t.hasOwnProperty(e)
}
function o(t, e) {
return null != t[e] && "auto" !== t[e]
}
function a(t, e, n) {
vT(t, function(t) {
e[t] = n[t]
})
}
var s = n && n.ignoreSize;
!M(s) && (s = [s, s]);
var l = i(mT[0], 0),
u = i(mT[1], 1);
a(mT[0], t, l), a(mT[1], t, u)
}
function Ul(t) {
return Yl({}, t)
}
function Yl(t, e) {
return e && t && vT(yT, function(n) {
e.hasOwnProperty(n) && (t[n] = e[n])
}), t
}
function Xl(t) {
var e = [];
return v(wT.getClassesByMainType(t), function(t) {
e = e.concat(t.dependencies || t.prototype.dependencies || [])
}), e = y(e, function(t) {
return Hr(t).main
}), "dataset" !== t && p(e, "dataset") <= 0 && e.unshift("dataset"), e
}
function Zl(t) {
BT(t).datasetMap = Z()
}
function ql(t, e, n) {
function i(t, e, n) {
for (var i = 0; n > i; i++) t.push(e + i)
}
function r(t) {
var e = t.dimsDef;
return e ? e.length : 1
}
var o = {},
a = Kl(e);
if (!a || !t) return o;
var s, l, u = [],
h = [],
c = e.ecModel,
p = BT(c).datasetMap,
d = a.uid + "_" + n.seriesLayoutBy;
t = t.slice(), v(t, function(e, n) {
var i = k(e) ? e : t[n] = {
name: e
};
"ordinal" === i.type && null == s && (s = n, l = r(i)), o[i.name] = []
});
var f = p.get(d) || p.set(d, {
categoryWayDim: l,
valueWayDim: 0
});
return v(t, function(t, e) {
var n = t.name,
a = r(t);
if (null == s) {
var l = f.valueWayDim;
i(o[n], l, a), i(h, l, a), f.valueWayDim += a
} else if (s === e) i(o[n], 0, a), i(u, 0, a);
else {
var l = f.categoryWayDim;
i(o[n], l, a), i(h, l, a), f.categoryWayDim += a
}
}), u.length && (o.itemName = u), h.length && (o.seriesName = h), o
}
function jl(t, e, n) {
var i = {},
r = Kl(t);
if (!r) return i;
var o, a = e.sourceFormat,
s = e.dimensionsDefine;
(a === AT || a === PT) && v(s, function(t, e) {
"name" === (k(t) ? t.name : t) && (o = e)
});
var l = function() {
function t(t) {
return null != t.v && null != t.n
}
for (var i = {}, r = {}, l = [], u = 0, h = Math.min(5, n); h > u; u++) {
var c = Jl(e.data, a, e.seriesLayoutBy, s, e.startIndex, u);
l.push(c);
var p = c === ET.Not;
if (p && null == i.v && u !== o && (i.v = u), (null == i.n || i.n === i.v || !p && l[i.n] === ET
.Not) && (i.n = u), t(i) && l[i.n] !== ET.Not) return i;
p || (c === ET.Might && null == r.v && u !== o && (r.v = u), (null == r.n || r.n === r.v) && (r
.n = u))
}
return t(i) ? i : t(r) ? r : null
}();
if (l) {
i.value = [l.v];
var u = null != o ? o : l.n;
i.itemName = [u], i.seriesName = [u]
}
return i
}
function Kl(t) {
var e = t.get("data", !0);
return e ? void 0 : Er(t.ecModel, "dataset", {
index: t.get("datasetIndex", !0),
id: t.get("datasetId", !0)
}, zw).models[0]
}
function $l(t) {
return t.get("transform", !0) || t.get("fromTransformResult", !0) ? Er(t.ecModel, "dataset", {
index: t.get("fromDatasetIndex", !0),
id: t.get("fromDatasetId", !0)
}, zw).models : []
}
function Ql(t, e) {
return Jl(t.data, t.sourceFormat, t.seriesLayoutBy, t.dimensionsDefine, t.startIndex, e)
}
function Jl(t, e, n, i, r, o) {
function a(t) {
var e = C(t);
return null != t && isFinite(t) && "" !== t ? e ? ET.Might : ET.Not : e && "-" !== t ? ET.Must : void 0
}
var s, l = 5;
if (P(t)) return ET.Not;
var u, h;
if (i) {
var c = i[o];
k(c) ? (u = c.name, h = c.type) : C(c) && (u = c)
}
if (null != h) return "ordinal" === h ? ET.Must : ET.Not;
if (e === kT) {
var p = t;
if (n === zT) {
for (var d = p[o], f = 0; f < (d || []).length && l > f; f++)
if (null != (s = a(d[r + f]))) return s
} else
for (var f = 0; f < p.length && l > f; f++) {
var g = p[r + f];
if (g && null != (s = a(g[o]))) return s
}
} else if (e === AT) {
var v = t;
if (!u) return ET.Not;
for (var f = 0; f < v.length && l > f; f++) {
var y = v[f];
if (y && null != (s = a(y[u]))) return s
}
} else if (e === PT) {
var m = t;
if (!u) return ET.Not;
var d = m[u];
if (!d || P(d)) return ET.Not;
for (var f = 0; f < d.length && l > f; f++)
if (null != (s = a(d[f]))) return s
} else if (e === DT)
for (var _ = t, f = 0; f < _.length && l > f; f++) {
var y = _[f],
x = vr(y);
if (!M(x)) return ET.Not;
if (null != (s = a(x[o]))) return s
}
return ET.Not
}
function tu(t, e, n) {
var i = NT.get(e);
if (!i) return n;
var r = i(t);
return r ? n.concat(r) : n
}
function eu(t, e) {
for (var n = t.length, i = 0; n > i; i++)
if (t[i].length > e) return t[i];
return t[n - 1]
}
function nu(t, e, n, i, r, o, a) {
o = o || t;
var s = e(o),
l = s.paletteIdx || 0,
u = s.paletteNameMap = s.paletteNameMap || {};
if (u.hasOwnProperty(r)) return u[r];
var h = null != a && i ? eu(i, a) : n;
if (h = h || n, h && h.length) {
var c = h[l];
return r && (u[r] = c), s.paletteIdx = (l + 1) % h.length, c
}
}
function iu(t, e) {
e(t).paletteIdx = 0, e(t).paletteNameMap = {}
}
function ru(t, e) {
if (e) {
var n = e.seriesIndex,
i = e.seriesId,
r = e.seriesName;
return null != n && t.componentIndex !== n || null != i && t.id !== i || null != r && t.name !== r
}
}
function ou(t, e) {
var n = t.color && !t.colorLayer;
v(e, function(e, i) {
"colorLayer" === i && n || wT.hasClass(i) || ("object" == typeof e ? t[i] = t[i] ? l(t[i], e, !
1) : s(e) : null == t[i] && (t[i] = e))
})
}
function au(t, e, n) {
if (M(e)) {
var i = Z();
return v(e, function(t) {
if (null != t) {
var e = Ir(t, null);
null != e && i.set(t, !0)
}
}), _(n, function(e) {
return e && i.get(e[t])
})
}
var r = Ir(e, null);
return _(n, function(e) {
return e && null != r && e[t] === r
})
}
function su(t, e) {
return e.hasOwnProperty("subType") ? _(t, function(t) {
return t && t.subType === e.subType
}) : t
}
function lu(t) {
var e = Z();
return t && v(fr(t.replaceMerge), function(t) {
e.set(t, !0)
}), {
replaceMergeMainTypeMap: e
}
}
function uu(t, e, n) {
function i(t) {
v(e, function(e) {
e(t, n)
})
}
var r, o, a = [],
s = t.baseOption,
l = t.timeline,
u = t.options,
h = t.media,
c = !!t.media,
p = !!(u || l || s && s.timeline);
return s ? (o = s, o.timeline || (o.timeline = l)) : ((p || c) && (t.options = t.media = null), o = t), c &&
M(h) && v(h, function(t) {
t && t.option && (t.query ? a.push(t) : r || (r = t))
}), i(o), v(u, function(t) {
return i(t)
}), v(a, function(t) {
return i(t.option)
}), {
baseOption: o,
timelineOptions: u || [],
mediaDefault: r,
mediaList: a
}
}
function hu(t, e, n) {
var i = {
width: e,
height: n,
aspectratio: e / n
},
r = !0;
return v(t, function(t, e) {
var n = e.match(tC);
if (n && n[1] && n[2]) {
var o = n[1],
a = n[2].toLowerCase();
cu(i[a], t, o) || (r = !1)
}
}), r
}
function cu(t, e, n) {
return "min" === n ? t >= e : "max" === n ? e >= t : t === e
}
function pu(t, e) {
return t.join(",") === e.join(",")
}
function du(t) {
var e = t && t.itemStyle;
if (e)
for (var n = 0, i = rC.length; i > n; n++) {
var r = rC[n],
o = e.normal,
a = e.emphasis;
o && o[r] && (t[r] = t[r] || {}, t[r].normal ? l(t[r].normal, o[r]) : t[r].normal = o[r], o[r] =
null), a && a[r] && (t[r] = t[r] || {}, t[r].emphasis ? l(t[r].emphasis, a[r]) : t[r]
.emphasis = a[r], a[r] = null)
}
}
function fu(t, e, n) {
if (t && t[e] && (t[e].normal || t[e].emphasis)) {
var i = t[e].normal,
r = t[e].emphasis;
i && (n ? (t[e].normal = t[e].emphasis = null, c(t[e], i)) : t[e] = i), r && (t.emphasis = t.emphasis ||
{}, t.emphasis[e] = r, r.focus && (t.emphasis.focus = r.focus), r.blurScope && (t.emphasis
.blurScope = r.blurScope))
}
}
function gu(t) {
fu(t, "itemStyle"), fu(t, "lineStyle"), fu(t, "areaStyle"), fu(t, "label"), fu(t, "labelLine"), fu(t,
"upperLabel"), fu(t, "edgeLabel")
}
function vu(t, e) {
var n = iC(t) && t[e],
i = iC(n) && n.textStyle;
if (i)
for (var r = 0, o = Ow.length; o > r; r++) {
var a = Ow[r];
i.hasOwnProperty(a) && (n[a] = i[a])
}
}
function yu(t) {
t && (gu(t), vu(t, "label"), t.emphasis && vu(t.emphasis, "label"))
}
function mu(t) {
if (iC(t)) {
du(t), gu(t), vu(t, "label"), vu(t, "upperLabel"), vu(t, "edgeLabel"), t.emphasis && (vu(t.emphasis,
"label"), vu(t.emphasis, "upperLabel"), vu(t.emphasis, "edgeLabel"));
var e = t.markPoint;
e && (du(e), yu(e));
var n = t.markLine;
n && (du(n), yu(n));
var i = t.markArea;
i && yu(i);
var r = t.data;
if ("graph" === t.type) {
r = r || t.nodes;
var o = t.links || t.edges;
if (o && !P(o))
for (var a = 0; a < o.length; a++) yu(o[a]);
v(t.categories, function(t) {
gu(t)
})
}
if (r && !P(r))
for (var a = 0; a < r.length; a++) yu(r[a]);
if (e = t.markPoint, e && e.data)
for (var s = e.data, a = 0; a < s.length; a++) yu(s[a]);
if (n = t.markLine, n && n.data)
for (var l = n.data, a = 0; a < l.length; a++) M(l[a]) ? (yu(l[a][0]), yu(l[a][1])) : yu(l[a]);
"gauge" === t.type ? (vu(t, "axisLabel"), vu(t, "title"), vu(t, "detail")) : "treemap" === t.type ? (fu(
t.breadcrumb, "itemStyle"), v(t.levels, function(t) {
gu(t)
})) : "tree" === t.type && gu(t.leaves)
}
}
function _u(t) {
return M(t) ? t : t ? [t] : []
}
function xu(t) {
return (M(t) ? t[0] : t) || {}
}
function wu(t, e) {
nC(_u(t.series), function(t) {
iC(t) && mu(t)
});
var n = ["xAxis", "yAxis", "radiusAxis", "angleAxis", "singleAxis", "parallelAxis", "radar"];
e && n.push("valueAxis", "categoryAxis", "logAxis", "timeAxis"), nC(n, function(e) {
nC(_u(t[e]), function(t) {
t && (vu(t, "axisLabel"), vu(t.axisPointer, "label"))
})
}), nC(_u(t.parallel), function(t) {
var e = t && t.parallelAxisDefault;
vu(e, "axisLabel"), vu(e && e.axisPointer, "label")
}), nC(_u(t.calendar), function(t) {
fu(t, "itemStyle"), vu(t, "dayLabel"), vu(t, "monthLabel"), vu(t, "yearLabel")
}), nC(_u(t.radar), function(t) {
vu(t, "name"), t.name && null == t.axisName && (t.axisName = t.name, delete t.name), null != t
.nameGap && null == t.axisNameGap && (t.axisNameGap = t.nameGap, delete t.nameGap)
}), nC(_u(t.geo), function(t) {
iC(t) && (yu(t), nC(_u(t.regions), function(t) {
yu(t)
}))
}), nC(_u(t.timeline), function(t) {
yu(t), fu(t, "label"), fu(t, "itemStyle"), fu(t, "controlStyle", !0);
var e = t.data;
M(e) && v(e, function(t) {
k(t) && (fu(t, "label"), fu(t, "itemStyle"))
})
}), nC(_u(t.toolbox), function(t) {
fu(t, "iconStyle"), nC(t.feature, function(t) {
fu(t, "iconStyle")
})
}), vu(xu(t.axisPointer), "label"), vu(xu(t.tooltip).axisPointer, "label")
}
function bu(t, e) {
for (var n = e.split(","), i = t, r = 0; r < n.length && (i = i && i[n[r]], null != i); r++);
return i
}
function Su(t, e, n, i) {
for (var r, o = e.split(","), a = t, s = 0; s < o.length - 1; s++) r = o[s], null == a[r] && (a[r] = {}),
a = a[r];
(i || null == a[o[s]]) && (a[o[s]] = n)
}
function Mu(t) {
t && v(oC, function(e) {
e[0] in t && !(e[1] in t) && (t[e[1]] = t[e[0]])
})
}
function Tu(t) {
var e = t && t.itemStyle;
if (e)
for (var n = 0; n < sC.length; n++) {
var i = sC[n][1],
r = sC[n][0];
null != e[i] && (e[r] = e[i])
}
}
function Cu(t) {
t && "edge" === t.alignTo && null != t.margin && null == t.edgeDistance && (t.edgeDistance = t.margin)
}
function Iu(t) {
t && t.downplay && !t.blur && (t.blur = t.downplay)
}
function Du(t) {
t && null != t.focusNodeAdjacency && (t.emphasis = t.emphasis || {}, null == t.emphasis.focus && (t.emphasis
.focus = "adjacency"))
}
function ku(t, e) {
if (t)
for (var n = 0; n < t.length; n++) e(t[n]), t[n] && ku(t[n].children, e)
}
function Au(t, e) {
wu(t, e), t.series = fr(t.series), v(t.series, function(t) {
if (k(t)) {
var e = t.type;
if ("line" === e) null != t.clipOverflow && (t.clip = t.clipOverflow);
else if ("pie" === e || "gauge" === e) {
null != t.clockWise && (t.clockwise = t.clockWise), Cu(t.label);
var n = t.data;
if (n && !P(n))
for (var i = 0; i < n.length; i++) Cu(n[i]);
null != t.hoverOffset && (t.emphasis = t.emphasis || {}, (t.emphasis.scaleSize =
null) && (t.emphasis.scaleSize = t.hoverOffset))
} else if ("gauge" === e) {
var r = bu(t, "pointer.color");
null != r && Su(t, "itemStyle.color", r)
} else if ("bar" === e) {
Tu(t), Tu(t.backgroundStyle), Tu(t.emphasis);
var n = t.data;
if (n && !P(n))
for (var i = 0; i < n.length; i++) "object" == typeof n[i] && (Tu(n[i]), Tu(n[i] &&
n[i].emphasis))
} else if ("sunburst" === e) {
var o = t.highlightPolicy;
o && (t.emphasis = t.emphasis || {}, t.emphasis.focus || (t.emphasis.focus = o)), Iu(t),
ku(t.data, Iu)
} else "graph" === e || "sankey" === e ? Du(t) : "map" === e && (t.mapType && !t.map && (t
.map = t.mapType), t.mapLocation && c(t, t.mapLocation));
null != t.hoverAnimation && (t.emphasis = t.emphasis || {}, t.emphasis && null == t.emphasis
.scale && (t.emphasis.scale = t.hoverAnimation)), Mu(t)
}
}), t.dataRange && (t.visualMap = t.dataRange), v(aC, function(e) {
var n = t[e];
n && (M(n) || (n = [n]), v(n, function(t) {
Mu(t)
}))
})
}
function Pu(t) {
var e = Z();
t.eachSeries(function(t) {
var n = t.get("stack");
if (n) {
var i = e.get(n) || e.set(n, []),
r = t.getData(),
o = {
stackResultDimension: r.getCalculationInfo("stackResultDimension"),
stackedOverDimension: r.getCalculationInfo("stackedOverDimension"),
stackedDimension: r.getCalculationInfo("stackedDimension"),
stackedByDimension: r.getCalculationInfo("stackedByDimension"),
isStackedByIndex: r.getCalculationInfo("isStackedByIndex"),
data: r,
seriesModel: t
};
if (!o.stackedDimension || !o.isStackedByIndex && !o.stackedByDimension) return;
i.length && r.setCalculationInfo("stackedOnSeries", i[i.length - 1].seriesModel), i.push(o)
}
}), e.each(Lu)
}
function Lu(t) {
v(t, function(e, n) {
var i = [],
r = [0 / 0, 0 / 0],
o = [e.stackResultDimension, e.stackedOverDimension],
a = e.data,
s = e.isStackedByIndex,
l = e.seriesModel.get("stackStrategy") || "samesign";
a.modify(o, function(o, u, h) {
var c = a.get(e.stackedDimension, h);
if (isNaN(c)) return r;
var p, d;
s ? d = a.getRawIndex(h) : p = a.get(e.stackedByDimension, h);
for (var f = 0 / 0, g = n - 1; g >= 0; g--) {
var v = t[g];
if (s || (d = v.data.rawIndexOf(v.stackedByDimension, p)), d >= 0) {
var y = v.data.getByRawIndex(v.stackResultDimension, d);
if ("all" === l || "positive" === l && y > 0 || "negative" === l && 0 > y ||
"samesign" === l && c >= 0 && y > 0 || "samesign" === l && 0 >= c && 0 >
y) {
c = Qi(c, y), f = y;
break
}
}
}
return i[0] = c, i[1] = f, i
})
})
}
function Ou(t) {
return t instanceof lC
}
function Ru(t, e, n) {
n = n || Bu(t);
var i = e.seriesLayoutBy,
r = Nu(t, n, i, e.sourceHeader, e.dimensions),
o = new lC({
data: t,
sourceFormat: n,
seriesLayoutBy: i,
dimensionsDefine: r.dimensionsDefine,
startIndex: r.startIndex,
dimensionsDetectedCount: r.dimensionsDetectedCount,
metaRawOption: s(e)
});
return o
}
function zu(t) {
return new lC({
data: t,
sourceFormat: P(t) ? LT : DT
})
}
function Eu(t) {
return new lC({
data: t.data,
sourceFormat: t.sourceFormat,
seriesLayoutBy: t.seriesLayoutBy,
dimensionsDefine: s(t.dimensionsDefine),
startIndex: t.startIndex,
dimensionsDetectedCount: t.dimensionsDetectedCount
})
}
function Bu(t) {
var e = OT;
if (P(t)) e = LT;
else if (M(t)) {
0 === t.length && (e = kT);
for (var n = 0, i = t.length; i > n; n++) {
var r = t[n];
if (null != r) {
if (M(r)) {
e = kT;
break
}
if (k(r)) {
e = AT;
break
}
}
}
} else if (k(t))
for (var o in t)
if ($(t, o) && g(t[o])) {
e = PT;
break
} return e
}
function Nu(t, e, n, i, r) {
var o, a;
if (!t) return {
dimensionsDefine: Vu(r),
startIndex: a,
dimensionsDetectedCount: o
};
if (e === kT) {
var s = t;
"auto" === i || null == i ? Hu(function(t) {
null != t && "-" !== t && (C(t) ? null == a && (a = 1) : a = 0)
}, n, s, 10) : a = D(i) ? i : i ? 1 : 0, r || 1 !== a || (r = [], Hu(function(t, e) {
r[e] = null != t ? t + "" : ""
}, n, s, 1 / 0)), o = r ? r.length : n === zT ? s.length : s[0] ? s[0].length : null
} else if (e === AT) r || (r = Fu(t));
else if (e === PT) r || (r = [], v(t, function(t, e) {
r.push(e)
}));
else if (e === DT) {
var l = vr(t[0]);
o = M(l) && l.length || 1
}
return {
startIndex: a,
dimensionsDefine: Vu(r),
dimensionsDetectedCount: o
}
}
function Fu(t) {
for (var e, n = 0; n < t.length && !(e = t[n++]););
return e ? w(e) : void 0
}
function Vu(t) {
if (t) {
var e = Z();
return y(t, function(t) {
t = k(t) ? t : {
name: t
};
var n = {
name: t.name,
displayName: t.displayName,
type: t.type
};
if (null == n.name) return n;
n.name += "", null == n.displayName && (n.displayName = n.name);
var i = e.get(n.name);
return i ? n.name += "-" + i.count++ : e.set(n.name, {
count: 1
}), n
})
}
}
function Hu(t, e, n, i) {
if (e === zT)
for (var r = 0; r < n.length && i > r; r++) t(n[r] ? n[r][0] : null, r);
else
for (var o = n[0] || [], r = 0; r < o.length && i > r; r++) t(o[r], r)
}
function Wu(t) {
var e = t.sourceFormat;
return e === AT || e === PT
}
function Gu(t, e) {
var n = cC[Xu(t, e)];
return n
}
function Uu(t, e) {
var n = dC[Xu(t, e)];
return n
}
function Yu(t) {
var e = gC[t];
return e
}
function Xu(t, e) {
return t === kT ? t + "_" + e : t
}
function Zu(t, e, n) {
if (t) {
var i = t.getRawDataItem(e);
if (null != i) {
var r = t.getStore(),
o = r.getSource().sourceFormat;
if (null != n) {
var a = t.getDimensionIndex(n),
s = r.getDimensionProperty(a);
return Yu(o)(i, a, s)
}
var l = i;
return o === DT && (l = vr(i)), l
}
}
}
function qu(t) {
var e, n;
return k(t) ? t.type && (n = t) : e = t, {
text: e,
frag: n
}
}
function ju(t) {
return new mC(t)
}
function Ku(t, e) {
var n = e && e.type;
return "ordinal" === n ? t : ("time" !== n || D(t) || null == t || "-" === t || (t = +er(t)), null == t ||
"" === t ? 0 / 0 : +t)
}
function $u(t, e) {
var n = new bC,
i = t.data,
r = n.sourceFormat = t.sourceFormat,
o = t.startIndex,
a = "";
t.seriesLayoutBy !== RT && pr(a);
var s = [],
l = {},
u = t.dimensionsDefine;
if (u) v(u, function(t, e) {
var n = t.name,
i = {
index: e,
name: n,
displayName: t.displayName
};
if (s.push(i), null != n) {
var r = "";
$(l, n) && pr(r), l[n] = i
}
});
else
for (var h = 0; h < t.dimensionsDetectedCount; h++) s.push({
index: h
});
var c = Gu(r, RT);
e.__isBuiltIn && (n.getRawDataItem = function(t) {
return c(i, o, s, t)
}, n.getRawData = p_(Qu, null, t)), n.cloneRawData = p_(Ju, null, t);
var p = Uu(r, RT);
n.count = p_(p, null, i, o, s);
var d = Yu(r);
n.retrieveValue = function(t, e) {
var n = c(i, o, s, t);
return f(n, e)
};
var f = n.retrieveValueFromItem = function(t, e) {
if (null != t) {
var n = s[e];
return n ? d(t, e, n.name) : void 0
}
};
return n.getDimensionInfo = p_(th, null, s, l), n.cloneAllDimensionInfo = p_(eh, null, s), n
}
function Qu(t) {
var e = t.sourceFormat;
if (!oh(e)) {
var n = "";
pr(n)
}
return t.data
}
function Ju(t) {
var e = t.sourceFormat,
n = t.data;
if (!oh(e)) {
var i = "";
pr(i)
}
if (e === kT) {
for (var r = [], o = 0, a = n.length; a > o; o++) r.push(n[o].slice());
return r
}
if (e === AT) {
for (var r = [], o = 0, a = n.length; a > o; o++) r.push(h({}, n[o]));
return r
}
}
function th(t, e, n) {
return null != n ? D(n) || !isNaN(n) && !$(e, n) ? t[n] : $(e, n) ? e[n] : void 0 : void 0
}
function eh(t) {
return s(t)
}
function nh(t) {
t = s(t);
var e = t.type,
n = "";
e || pr(n);
var i = e.split(":");
2 !== i.length && pr(n);
var r = !1;
"echarts" === i[0] && (e = i[1], r = !0), t.__isBuiltIn = r, SC.set(e, t)
}
function ih(t, e, n) {
var i = fr(t),
r = i.length,
o = "";
r || pr(o);
for (var a = 0, s = r; s > a; a++) {
var l = i[a];
e = rh(l, e, n, 1 === r ? null : a), a !== s - 1 && (e.length = Math.max(e.length, 1))
}
return e
}
function rh(t, e) {
var n = "";
e.length || pr(n), k(t) || pr(n);
var i = t.type,
r = SC.get(i);
r || pr(n);
var o = y(e, function(t) {
return $u(t, r)
}),
a = fr(r.transform({
upstream: o[0],
upstreamList: o,
config: s(t.config)
}));
return y(a, function(t, n) {
var i = "";
k(t) || pr(i), t.data || pr(i);
var r = Bu(t.data);
oh(r) || pr(i);
var o, a = e[0];
if (a && 0 === n && !t.dimensions) {
var s = a.startIndex;
s && (t.data = a.data.slice(0, s).concat(t.data)), o = {
seriesLayoutBy: RT,
sourceHeader: s,
dimensions: a.metaRawOption.dimensions
}
} else o = {
seriesLayoutBy: RT,
sourceHeader: 0,
dimensions: t.dimensions
};
return Ru(t.data, o, null)
})
}
function oh(t) {
return t === kT || t === AT
}
function ah(t) {
return t > 65535 ? TC : CC
}
function sh() {
return [1 / 0, -1 / 0]
}
function lh(t) {
var e = t.constructor;
return e === Array ? t.slice() : new e(t)
}
function uh(t, e, n, i, r) {
var o = kC[n || "float"];
if (r) {
var a = t[e],
s = a && a.length;
if (s !== i) {
for (var l = new o(i), u = 0; s > u; u++) l[u] = a[u];
t[e] = l
}
} else t[e] = new o(i)
}
function hh(t) {
var e = t.option.transform;
e && U(t.option.transform)
}
function ch(t) {
return "series" === t.mainType
}
function ph(t) {
throw new Error(t)
}
function dh(t, e) {
var n = t.color || "#6e7079",
i = t.fontSize || 12,
r = t.fontWeight || "400",
o = t.color || "#464646",
a = t.fontSize || 14,
s = t.fontWeight || "900";
return "html" === e ? {
nameStyle: "font-size:" + Ie(i + "") + "px;color:" + Ie(n) + ";font-weight:" + Ie(r + ""),
valueStyle: "font-size:" + Ie(a + "") + "px;color:" + Ie(o) + ";font-weight:" + Ie(s + "")
} : {
nameStyle: {
fontSize: i,
fill: n,
fontWeight: r
},
valueStyle: {
fontSize: a,
fill: o,
fontWeight: s
}
}
}
function fh(t, e) {
return e.type = t, e
}
function gh(t) {
return "section" === t.type
}
function vh(t) {
return gh(t) ? mh : _h
}
function yh(t) {
if (gh(t)) {
var e = 0,
n = t.blocks.length,
i = n > 1 || n > 0 && !t.noHeader;
return v(t.blocks, function(t) {
var n = yh(t);
n >= e && (e = n + +(i && (!n || gh(t) && !t.noHeader)))
}), e
}
return 0
}
function mh(t, e, n, i) {
var r = e.noHeader,
o = wh(yh(e)),
a = [],
s = e.blocks || [];
W(!s || M(s)), s = s || [];
var l = t.orderMode;
if (e.sortBlocks && l) {
s = s.slice();
var u = {
valueAsc: "asc",
valueDesc: "desc"
};
if ($(u, l)) {
var c = new wC(u[l], null);
s.sort(function(t, e) {
return c.evaluate(t.sortParam, e.sortParam)
})
} else "seriesDesc" === l && s.reverse()
}
v(s, function(n, r) {
var s = e.valueFormatter,
l = vh(n)(s ? h(h({}, t), {
valueFormatter: s
}) : t, n, r > 0 ? o.html : 0, i);
null != l && a.push(l)
});
var p = "richText" === t.renderMode ? a.join(o.richText) : bh(a.join(""), r ? n : o.html);
if (r) return p;
var d = Ol(e.header, "ordinal", t.useUTC),
f = dh(i, t.renderMode).nameStyle;
return "richText" === t.renderMode ? Th(t, d, f) + o.richText + p : bh('
' + Ie(d) + "
" + p, n)
}
function _h(t, e, n, i) {
var r = t.renderMode,
o = e.noName,
a = e.noValue,
s = !e.markerType,
l = e.name,
u = t.useUTC,
h = e.valueFormatter || t.valueFormatter || function(t) {
return t = M(t) ? t : [t], y(t, function(t, e) {
return Ol(t, M(d) ? d[e] : d, u)
})
};
if (!o || !a) {
var c = s ? "" : t.markupStyleCreator.makeTooltipMarker(e.markerType, e.markerColor || "#333", r),
p = o ? "" : Ol(l, "ordinal", u),
d = e.valueType,
f = a ? [] : h(e.value),
g = !s || !o,
v = !s && o,
m = dh(i, r),
_ = m.nameStyle,
x = m.valueStyle;
return "richText" === r ? (s ? "" : c) + (o ? "" : Th(t, p, _)) + (a ? "" : Ch(t, f, g, v, x)) : bh((s ?
"" : c) + (o ? "" : Sh(p, !s, _)) + (a ? "" : Mh(f, g, v, x)), n)
}
}
function xh(t, e, n, i, r, o) {
if (t) {
var a = vh(t),
s = {
useUTC: r,
renderMode: n,
orderMode: i,
markupStyleCreator: e,
valueFormatter: t.valueFormatter
};
return a(s, t, 0, o)
}
}
function wh(t) {
return {
html: OC[t],
richText: RC[t]
}
}
function bh(t, e) {
var n = '',
i = "margin: " + e + "px 0 0";
return '' + t + n + "
"
}
function Sh(t, e, n) {
var i = e ? "margin-left:2px" : "";
return '' + Ie(t) + ""
}
function Mh(t, e, n, i) {
var r = n ? "10px" : "20px",
o = e ? "float:right;margin-left:" + r : "";
return t = M(t) ? t : [t], '' + y(t, function(t) {
return Ie(t)
}).join(" ") + ""
}
function Th(t, e, n) {
return t.markupStyleCreator.wrapRichTextStyle(e, n)
}
function Ch(t, e, n, i, r) {
var o = [r],
a = i ? 10 : 20;
return n && o.push({
padding: [0, 0, 0, a],
align: "right"
}), t.markupStyleCreator.wrapRichTextStyle(M(e) ? e.join(" ") : e, o)
}
function Ih(t, e) {
var n = t.getData().getItemVisual(e, "style"),
i = n[t.visualDrawType];
return Nl(i)
}
function Dh(t, e) {
var n = t.get("padding");
return null != n ? n : "richText" === e ? [8, 10] : 10
}
function kh(t) {
var e, n, i, r, o = t.series,
a = t.dataIndex,
s = t.multipleSeries,
l = o.getData(),
u = l.mapDimensionsAll("defaultedTooltip"),
h = u.length,
c = o.getRawValue(a),
p = M(c),
d = Ih(o, a);
if (h > 1 || p && !h) {
var f = Ah(c, o, a, u, d);
e = f.inlineValues, n = f.inlineValueTypes, i = f.blocks, r = f.inlineValues[0]
} else if (h) {
var g = l.getDimensionInfo(u[0]);
r = e = Zu(l, a, u[0]), n = g.type
} else r = e = p ? c[0] : c;
var v = Dr(o),
y = v && o.name || "",
m = l.getName(a),
_ = s ? y : m;
return fh("section", {
header: y,
noHeader: s || !v,
sortParam: r,
blocks: [fh("nameValue", {
markerType: "item",
markerColor: d,
name: _,
noName: !G(_),
value: e,
valueType: n
})].concat(i || [])
})
}
function Ah(t, e, n, i, r) {
function o(t, e) {
var n = a.getDimensionInfo(e);
n && n.otherDims.tooltip !== !1 && (s ? h.push(fh("nameValue", {
markerType: "subItem",
markerColor: r,
name: n.displayName,
value: t,
valueType: n.type
})) : (l.push(t), u.push(n.type)))
}
var a = e.getData(),
s = m(t, function(t, e, n) {
var i = a.getDimensionInfo(n);
return t = t || i && i.tooltip !== !1 && null != i.displayName
}, !1),
l = [],
u = [],
h = [];
return i.length ? v(i, function(t) {
o(Zu(a, n, t), t)
}) : v(t, o), {
inlineValues: l,
inlineValueTypes: u,
blocks: h
}
}
function Ph(t, e) {
return t.getName(e) || t.getId(e)
}
function Lh(t) {
var e = t.name;
Dr(t) || (t.name = Oh(t) || e)
}
function Oh(t) {
var e = t.getRawData(),
n = e.mapDimensionsAll("seriesName"),
i = [];
return v(n, function(t) {
var n = e.getDimensionInfo(t);
n.displayName && i.push(n.displayName)
}), i.join(" ")
}
function Rh(t) {
return t.model.getRawData().count()
}
function zh(t) {
var e = t.model;
return e.setData(e.getRawData().cloneShallow()), Eh
}
function Eh(t, e) {
e.outputData && t.end > e.outputData.count() && e.model.getRawData().cloneShallow(e.outputData)
}
function Bh(t, e) {
v(q(t.CHANGABLE_METHODS, t.DOWNSAMPLE_METHODS), function(n) {
t.wrapMethod(n, S(Nh, e))
})
}
function Nh(t, e) {
var n = Fh(t);
return n && n.setOutputEnd((e || this).count()), e
}
function Fh(t) {
var e = (t.ecModel || {}).scheduler,
n = e && e.getPipeline(t.uid);
if (n) {
var i = n.currentTask;
if (i) {
var r = i.agentStubMap;
r && (i = r.get(t.uid))
}
return i
}
}
function Vh() {
var t = Or();
return function(e) {
var n = t(e),
i = e.pipelineContext,
r = !!n.large,
o = !!n.progressiveRender,
a = n.large = !(!i || !i.large),
s = n.progressiveRender = !(!i || !i.progressiveRender);
return !(r === a && o === s) && "reset"
}
}
function Hh(t, e, n) {
t && Na(t) && ("emphasis" === e ? ga : va)(t, n)
}
function Wh(t, e, n) {
var i = Lr(t, e),
r = e && null != e.highlightKey ? Fa(e.highlightKey) : null;
null != i ? v(fr(i), function(e) {
Hh(t.getItemGraphicEl(e), n, r)
}) : t.eachItemGraphicEl(function(t) {
Hh(t, n, r)
})
}
function Gh(t) {
return HC(t.model)
}
function Uh(t) {
var e = t.model,
n = t.ecModel,
i = t.api,
r = t.payload,
o = e.pipelineContext.progressiveRender,
a = t.view,
s = r && VC(r).updateMethod,
l = o ? "incrementalPrepareRender" : s && a[s] ? s : "render";
return "render" !== l && a[l](e, n, i, r), UC[l]
}
function Yh(t, e, n) {
function i() {
h = (new Date).getTime(), c = null, t.apply(a, s || [])
}
var r, o, a, s, l, u = 0,
h = 0,
c = null;
e = e || 0;
var p = function() {
for (var t = [], p = 0; p < arguments.length; p++) t[p] = arguments[p];
r = (new Date).getTime(), a = this, s = t;
var d = l || e,
f = l || n;
l = null, o = r - (f ? u : h) - d, clearTimeout(c), f ? c = setTimeout(i, d) : o >= 0 ? i() : c =
setTimeout(i, -o), u = r
};
return p.clear = function() {
c && (clearTimeout(c), c = null)
}, p.debounceNextCall = function(t) {
l = t
}, p
}
function Xh(t, e, n, i) {
var r = t[e];
if (r) {
var o = r[YC] || r,
a = r[ZC],
s = r[XC];
if (s !== n || a !== i) {
if (null == n || !i) return t[e] = o;
r = t[e] = Yh(o, n, "debounce" === i), r[YC] = o, r[ZC] = i, r[XC] = n
}
return r
}
}
function Zh(t, e) {
var n = t[e];
n && n[YC] && (n.clear && n.clear(), t[e] = n[YC])
}
function qh(t, e) {
var n = t.visualStyleMapper || jC[e];
return n ? n : (console.warn("Unknown style type '" + e + "'."), jC.itemStyle)
}
function jh(t, e) {
var n = t.visualDrawType || KC[e];
return n ? n : (console.warn("Unknown style type '" + e + "'."), "fill")
}
function Kh(t, e) {
e = e || {}, c(e, {
text: "loading",
textColor: "#000",
fontSize: 12,
fontWeight: "normal",
fontStyle: "normal",
fontFamily: "sans-serif",
maskColor: "rgba(255, 255, 255, 0.8)",
showSpinner: !0,
color: "#5470c6",
spinnerRadius: 10,
lineWidth: 5,
zlevel: 0
});
var n = new ww,
i = new Kb({
style: {
fill: e.maskColor
},
zlevel: e.zlevel,
z: 1e4
});
n.add(i);
var r = new tS({
style: {
text: e.text,
fill: e.textColor,
fontSize: e.fontSize,
fontWeight: e.fontWeight,
fontStyle: e.fontStyle,
fontFamily: e.fontFamily
},
zlevel: e.zlevel,
z: 10001
}),
o = new Kb({
style: {
fill: "none"
},
textContent: r,
textConfig: {
position: "right",
distance: 10
},
zlevel: e.zlevel,
z: 10001
});
n.add(o);
var a;
return e.showSpinner && (a = new pM({
shape: {
startAngle: -eI / 2,
endAngle: -eI / 2 + .1,
r: e.spinnerRadius
},
style: {
stroke: e.color,
lineCap: "round",
lineWidth: e.lineWidth
},
zlevel: e.zlevel,
z: 10001
}), a.animateShape(!0).when(1e3, {
endAngle: 3 * eI / 2
}).start("circularInOut"), a.animateShape(!0).when(1e3, {
startAngle: 3 * eI / 2
}).delay(300).start("circularInOut"), n.add(a)), n.resize = function() {
var n = r.getBoundingRect().width,
s = e.showSpinner ? e.spinnerRadius : 0,
l = (t.getWidth() - 2 * s - (e.showSpinner && n ? 10 : 0) - n) / 2 - (e.showSpinner && n ? 0 :
5 + n / 2) + (e.showSpinner ? 0 : n / 2) + (n ? 0 : s),
u = t.getHeight() / 2;
e.showSpinner && a.setShape({
cx: l,
cy: u
}), o.setShape({
x: l - s,
y: u - s,
width: 2 * s,
height: 2 * s
}), i.setShape({
x: 0,
y: 0,
width: t.getWidth(),
height: t.getHeight()
})
}, n.resize(), n
}
function $h(t) {
t.overallReset(t.ecModel, t.api, t.payload)
}
function Qh(t) {
return t.overallProgress && Jh
}
function Jh() {
this.agent.dirty(), this.getDownstream().dirty()
}
function tc() {
this.agent && this.agent.dirty()
}
function ec(t) {
return t.plan ? t.plan(t.model, t.ecModel, t.api, t.payload) : null
}
function nc(t) {
t.useClearVisual && t.data.clearAllVisual();
var e = t.resetDefines = fr(t.reset(t.model, t.ecModel, t.api, t.payload));
return e.length > 1 ? y(e, function(t, e) {
return ic(e)
}) : iI
}
function ic(t) {
return function(e, n) {
var i = n.data,
r = n.resetDefines[t];
if (r && r.dataEach)
for (var o = e.start; o < e.end; o++) r.dataEach(i, o);
else r && r.progress && r.progress(e, i)
}
}
function rc(t) {
return t.data.count()
}
function oc(t) {
GC = null;
try {
t(rI, oI)
} catch (e) {}
return GC
}
function ac(t, e) {
for (var n in e.prototype) t[n] = Q
}
function sc(t, e, n) {
switch (n) {
case "color":
var i = t.getItemVisual(e, "style");
return i[t.getVisual("drawType")];
case "opacity":
return t.getItemVisual(e, "style").opacity;
case "symbol":
case "symbolSize":
case "liftZ":
return t.getItemVisual(e, n)
}
}
function lc(t, e) {
switch (e) {
case "color":
var n = t.getVisual("style");
return n[t.getVisual("drawType")];
case "opacity":
return t.getVisual("style").opacity;
case "symbol":
case "symbolSize":
case "liftZ":
return t.getVisual(e)
}
}
function uc(t, e) {
function n(e, n) {
var i = [];
return e.eachComponent({
mainType: "series",
subType: t,
query: n
}, function(t) {
i.push(t.seriesIndex)
}), i
}
v([
[t + "ToggleSelect", "toggleSelect"],
[t + "Select", "select"],
[t + "UnSelect", "unselect"]
], function(t) {
e(t[0], function(e, i, r) {
e = h({}, e), r.dispatchAction(h(e, {
type: t[1],
seriesIndex: n(i, e)
}))
})
})
}
function hc(t, e, n, i, r) {
var o = t + e;
n.isSilent(o) || i.eachComponent({
mainType: "series",
subType: "pie"
}, function(t) {
for (var e = t.seriesIndex, i = t.option.selectedMap, a = r.selected, s = 0; s < a.length; s++)
if (a[s].seriesIndex === e) {
var l = t.getData(),
u = Lr(l, r.fromActionPayload);
n.trigger(o, {
type: o,
seriesId: t.id,
name: l.getName(M(u) ? u[0] : u),
selected: C(i) ? i : h({}, i)
})
}
})
}
function cc(t, e, n) {
t.on("selectchanged", function(t) {
var i = n.getModel();
t.isFromClick ? (hc("map", "selectchanged", e, i, t), hc("pie", "selectchanged", e, i, t)) :
"select" === t.fromAction ? (hc("map", "selected", e, i, t), hc("pie", "selected", e, i,
t)) : "unselect" === t.fromAction && (hc("map", "unselected", e, i, t), hc("pie",
"unselected", e, i, t))
})
}
function pc(t, e, n) {
for (var i; t && (!e(t) || (i = t, !n));) t = t.__hostTarget || t.parent;
return i
}
function dc(t, e) {
if ("image" !== this.type) {
var n = this.style;
this.__isEmptyBrush ? (n.stroke = t, n.fill = e || "#fff", n.lineWidth = 2) : "line" === this.shape
.symbolType ? n.stroke = t : n.fill = t, this.markRedraw()
}
}
function fc(t, e, n, i, r, o, a) {
var s = 0 === t.indexOf("empty");
s && (t = t.substr(5, 1).toLowerCase() + t.substr(6));
var l;
return l = 0 === t.indexOf("image://") ? ws(t.slice(8), new q_(e, n, i, r), a ? "center" : "cover") : 0 ===
t.indexOf("path://") ? xs(t.slice(7), {}, new q_(e, n, i, r), a ? "center" : "cover") : new DI({
shape: {
symbolType: t,
x: e,
y: n,
width: i,
height: r
}
}), l.__isEmptyBrush = s, l.setColor = dc, o && l.setColor(o), l
}
function gc(t) {
return M(t) || (t = [+t, +t]), [t[0] || 0, t[1] || 0]
}
function vc(t, e) {
return null != t ? (M(t) || (t = [t, t]), [Ui(t[0], e[0]) || 0, Ui(N(t[1], t[0]), e[1]) || 0]) : void 0
}
function yc(t) {
return isFinite(t)
}
function mc(t, e, n) {
var i = null == e.x ? 0 : e.x,
r = null == e.x2 ? 1 : e.x2,
o = null == e.y ? 0 : e.y,
a = null == e.y2 ? 0 : e.y2;
e.global || (i = i * n.width + n.x, r = r * n.width + n.x, o = o * n.height + n.y, a = a * n.height + n.y),
i = yc(i) ? i : 0, r = yc(r) ? r : 1, o = yc(o) ? o : 0, a = yc(a) ? a : 0;
var s = t.createLinearGradient(i, o, r, a);
return s
}
function _c(t, e, n) {
var i = n.width,
r = n.height,
o = Math.min(i, r),
a = null == e.x ? .5 : e.x,
s = null == e.y ? .5 : e.y,
l = null == e.r ? .5 : e.r;
e.global || (a = a * i + n.x, s = s * r + n.y, l *= o), a = yc(a) ? a : .5, s = yc(s) ? s : .5, l = l >=
0 && yc(l) ? l : .5;
var u = t.createRadialGradient(a, s, 0, a, s, l);
return u
}
function xc(t, e, n) {
for (var i = "radial" === e.type ? _c(t, e, n) : mc(t, e, n), r = e.colorStops, o = 0; o < r.length; o++) i
.addColorStop(r[o].offset, r[o].color);
return i
}
function wc(t, e) {
if (t === e || !t && !e) return !1;
if (!t || !e || t.length !== e.length) return !0;
for (var n = 0; n < t.length; n++)
if (t[n] !== e[n]) return !0;
return !1
}
function bc(t) {
return parseInt(t, 10)
}
function Sc(t, e, n) {
var i = ["width", "height"][e],
r = ["clientWidth", "clientHeight"][e],
o = ["paddingLeft", "paddingTop"][e],
a = ["paddingRight", "paddingBottom"][e];
if (null != n[i] && "auto" !== n[i]) return parseFloat(n[i]);
var s = document.defaultView.getComputedStyle(t);
return (t[r] || bc(s[i]) || bc(t.style[i])) - (bc(s[o]) || 0) - (bc(s[a]) || 0) | 0
}
function Mc(t, e) {
return t && "solid" !== t && e > 0 ? "dashed" === t ? [4 * e, 2 * e] : "dotted" === t ? [e] : D(t) ? [t] :
M(t) ? t : null : null
}
function Tc(t) {
var e = t.style,
n = e.lineDash && e.lineWidth > 0 && Mc(e.lineDash, e.lineWidth),
i = e.lineDashOffset;
if (n) {
var r = e.strokeNoScale && t.getLineScale ? t.getLineScale() : 1;
r && 1 !== r && (n = y(n, function(t) {
return t / r
}), i /= r)
}
return [n, i]
}
function Cc(t) {
var e = t.stroke;
return !(null == e || "none" === e || !(t.lineWidth > 0))
}
function Ic(t) {
return "string" == typeof t && "none" !== t
}
function Dc(t) {
var e = t.fill;
return null != e && "none" !== e
}
function kc(t, e) {
if (null != e.fillOpacity && 1 !== e.fillOpacity) {
var n = t.globalAlpha;
t.globalAlpha = e.fillOpacity * e.opacity, t.fill(), t.globalAlpha = n
} else t.fill()
}
function Ac(t, e) {
if (null != e.strokeOpacity && 1 !== e.strokeOpacity) {
var n = t.globalAlpha;
t.globalAlpha = e.strokeOpacity * e.opacity, t.stroke(), t.globalAlpha = n
} else t.stroke()
}
function Pc(t, e, n) {
var i = Jr(e.image, e.__image, n);
if (eo(i)) {
var r = t.createPattern(i, e.repeat || "repeat");
if ("function" == typeof DOMMatrix && r && r.setTransform) {
var o = new DOMMatrix;
o.translateSelf(e.x || 0, e.y || 0), o.rotateSelf(0, 0, (e.rotation || 0) * y_), o.scaleSelf(e
.scaleX || 1, e.scaleY || 1), r.setTransform(o)
}
return r
}
}
function Lc(t, e, n, i) {
var r, o = Cc(n),
a = Dc(n),
s = n.strokePercent,
l = 1 > s,
u = !e.path;
e.silent && !l || !u || e.createPathProxy();
var h = e.path || kI,
c = e.__dirty;
if (!i) {
var p = n.fill,
d = n.stroke,
f = a && !!p.colorStops,
g = o && !!d.colorStops,
v = a && !!p.image,
y = o && !!d.image,
m = void 0,
_ = void 0,
x = void 0,
w = void 0,
b = void 0;
(f || g) && (b = e.getBoundingRect()), f && (m = c ? xc(t, p, b) : e.__canvasFillGradient, e
.__canvasFillGradient = m), g && (_ = c ? xc(t, d, b) : e.__canvasStrokeGradient, e
.__canvasStrokeGradient = _), v && (x = c || !e.__canvasFillPattern ? Pc(t, p, e) : e
.__canvasFillPattern, e.__canvasFillPattern = x), y && (w = c || !e.__canvasStrokePattern ? Pc(
t, d, e) : e.__canvasStrokePattern, e.__canvasStrokePattern = x), f ? t.fillStyle = m : v && (
x ? t.fillStyle = x : a = !1), g ? t.strokeStyle = _ : y && (w ? t.strokeStyle = w : o = !1)
}
var S = e.getGlobalScale();
h.setScale(S[0], S[1], e.segmentIgnoreThreshold);
var M, T;
t.setLineDash && n.lineDash && (r = Tc(e), M = r[0], T = r[1]);
var C = !0;
(u || c & ax) && (h.setDPR(t.dpr), l ? h.setContext(null) : (h.setContext(t), C = !1), h.reset(), e
.buildPath(h, e.shape, i), h.toStatic(), e.pathUpdated()), C && h.rebuildPath(t, l ? s : 1), M && (t
.setLineDash(M), t.lineDashOffset = T), i || (n.strokeFirst ? (o && Ac(t, n), a && kc(t, n)) : (a &&
kc(t, n), o && Ac(t, n))), M && t.setLineDash([])
}
function Oc(t, e, n) {
var i = e.__image = Jr(n.image, e.__image, e, e.onload);
if (i && eo(i)) {
var r = n.x || 0,
o = n.y || 0,
a = e.getWidth(),
s = e.getHeight(),
l = i.width / i.height;
if (null == a && null != s ? a = s * l : null == s && null != a ? s = a / l : null == a && null == s &&
(a = i.width, s = i.height), n.sWidth && n.sHeight) {
var u = n.sx || 0,
h = n.sy || 0;
t.drawImage(i, u, h, n.sWidth, n.sHeight, r, o, a, s)
} else if (n.sx && n.sy) {
var u = n.sx,
h = n.sy,
c = a - u,
p = s - h;
t.drawImage(i, u, h, c, p, r, o, a, s)
} else t.drawImage(i, r, o, a, s)
}
}
function Rc(t, e, n) {
var i, r = n.text;
if (null != r && (r += ""), r) {
t.font = n.font || Zm, t.textAlign = n.textAlign, t.textBaseline = n.textBaseline;
var o = void 0,
a = void 0;
t.setLineDash && n.lineDash && (i = Tc(e), o = i[0], a = i[1]), o && (t.setLineDash(o), t
.lineDashOffset = a), n.strokeFirst ? (Cc(n) && t.strokeText(r, n.x, n.y), Dc(n) && t.fillText(
r, n.x, n.y)) : (Dc(n) && t.fillText(r, n.x, n.y), Cc(n) && t.strokeText(r, n.x, n.y)), o && t
.setLineDash([])
}
}
function zc(t, e, n, i, r) {
var o = !1;
if (!i && (n = n || {}, e === n)) return !1;
if (i || e.opacity !== n.opacity) {
Wc(t, r), o = !0;
var a = Math.max(Math.min(e.opacity, 1), 0);
t.globalAlpha = isNaN(a) ? $w.opacity : a
}(i || e.blend !== n.blend) && (o || (Wc(t, r), o = !0), t.globalCompositeOperation = e.blend || $w.blend);
for (var s = 0; s < AI.length; s++) {
var l = AI[s];
(i || e[l] !== n[l]) && (o || (Wc(t, r), o = !0), t[l] = t.dpr * (e[l] || 0))
}
return (i || e.shadowColor !== n.shadowColor) && (o || (Wc(t, r), o = !0), t.shadowColor = e.shadowColor ||
$w.shadowColor), o
}
function Ec(t, e, n, i, r) {
var o = Gc(e, r.inHover),
a = i ? null : n && Gc(n, r.inHover) || {};
if (o === a) return !1;
var s = zc(t, o, a, i, r);
if ((i || o.fill !== a.fill) && (s || (Wc(t, r), s = !0), Ic(o.fill) && (t.fillStyle = o.fill)), (i || o
.stroke !== a.stroke) && (s || (Wc(t, r), s = !0), Ic(o.stroke) && (t.strokeStyle = o.stroke)), (
i || o.opacity !== a.opacity) && (s || (Wc(t, r), s = !0), t.globalAlpha = null == o.opacity ? 1 : o
.opacity), e.hasStroke()) {
var l = o.lineWidth,
u = l / (o.strokeNoScale && e.getLineScale ? e.getLineScale() : 1);
t.lineWidth !== u && (s || (Wc(t, r), s = !0), t.lineWidth = u)
}
for (var h = 0; h < PI.length; h++) {
var c = PI[h],
p = c[0];
(i || o[p] !== a[p]) && (s || (Wc(t, r), s = !0), t[p] = o[p] || c[1])
}
return s
}
function Bc(t, e, n, i, r) {
return zc(t, Gc(e, r.inHover), n && Gc(n, r.inHover), i, r)
}
function Nc(t, e) {
var n = e.transform,
i = t.dpr || 1;
n ? t.setTransform(i * n[0], i * n[1], i * n[2], i * n[3], i * n[4], i * n[5]) : t.setTransform(i, 0, 0, i,
0, 0)
}
function Fc(t, e, n) {
for (var i = !1, r = 0; r < t.length; r++) {
var o = t[r];
i = i || o.isZeroArea(), Nc(e, o), e.beginPath(), o.buildPath(e, o.shape), e.clip()
}
n.allClipped = i
}
function Vc(t, e) {
return t && e ? t[0] !== e[0] || t[1] !== e[1] || t[2] !== e[2] || t[3] !== e[3] || t[4] !== e[4] || t[
5] !== e[5] : t || e ? !0 : !1
}
function Hc(t) {
var e = Dc(t),
n = Cc(t);
return !(t.lineDash || !(+e ^ +n) || e && "string" != typeof t.fill || n && "string" != typeof t.stroke || t
.strokePercent < 1 || t.strokeOpacity < 1 || t.fillOpacity < 1)
}
function Wc(t, e) {
e.batchFill && t.fill(), e.batchStroke && t.stroke(), e.batchFill = "", e.batchStroke = ""
}
function Gc(t, e) {
return e ? t.__hoverStyle || t.style : t.style
}
function Uc(t, e) {
Yc(t, e, {
inHover: !1,
viewWidth: 0,
viewHeight: 0
}, !0)
}
function Yc(t, e, n, i) {
var r = e.transform;
if (!e.shouldBePainted(n.viewWidth, n.viewHeight, !1, !1)) return e.__dirty &= ~rx, void(e.__isRendered = !
1);
var o = e.__clipPaths,
a = n.prevElClipPaths,
s = !1,
l = !1;
if ((!a || wc(o, a)) && (a && a.length && (Wc(t, n), t.restore(), l = s = !0, n.prevElClipPaths = null, n
.allClipped = !1, n.prevEl = null), o && o.length && (Wc(t, n), t.save(), Fc(o, t, n), s = !0),
n.prevElClipPaths = o), n.allClipped) return void(e.__isRendered = !1);
e.beforeBrush && e.beforeBrush(), e.innerBeforeBrush();
var u = n.prevEl;
u || (l = s = !0);
var h = e instanceof Hb && e.autoBatch && Hc(e.style);
s || Vc(r, u.transform) ? (Wc(t, n), Nc(t, e)) : h || Wc(t, n);
var c = Gc(e, n.inHover);
e instanceof Hb ? (n.lastDrawType !== LI && (l = !0, n.lastDrawType = LI), Ec(t, e, u, l, n), h && (n
.batchFill || n.batchStroke) || t.beginPath(), Lc(t, e, c, h), h && (n.batchFill = c.fill || "",
n.batchStroke = c.stroke || "")) : e instanceof Gb ? (n.lastDrawType !== RI && (l = !0, n
.lastDrawType = RI), Ec(t, e, u, l, n), Rc(t, e, c)) : e instanceof Xb ? (n.lastDrawType !== OI && (
l = !0, n.lastDrawType = OI), Bc(t, e, u, l, n), Oc(t, e, c)) : e.getTemporalDisplayables && (n
.lastDrawType !== zI && (l = !0, n.lastDrawType = zI), Xc(t, e, n)), h && i && Wc(t, n), e
.innerAfterBrush(), e.afterBrush && e.afterBrush(), n.prevEl = e, e.__dirty = 0, e.__isRendered = !0
}
function Xc(t, e, n) {
var i = e.getDisplayables(),
r = e.getTemporalDisplayables();
t.save();
var o, a, s = {
prevElClipPaths: null,
prevEl: null,
allClipped: !1,
viewWidth: n.viewWidth,
viewHeight: n.viewHeight,
inHover: n.inHover
};
for (o = e.getCursor(), a = i.length; a > o; o++) {
var l = i[o];
l.beforeBrush && l.beforeBrush(), l.innerBeforeBrush(), Yc(t, l, s, o === a - 1), l.innerAfterBrush(), l
.afterBrush && l.afterBrush(), s.prevEl = l
}
for (var u = 0, h = r.length; h > u; u++) {
var l = r[u];
l.beforeBrush && l.beforeBrush(), l.innerBeforeBrush(), Yc(t, l, s, u === h - 1), l.innerAfterBrush(), l
.afterBrush && l.afterBrush(), s.prevEl = l
}
e.clearTemporalDisplayables(), e.notClear = !0, t.restore()
}
function Zc(t, e) {
function n(t) {
function e() {
for (var t = 1, e = 0, n = y.length; n > e; ++e) t = cr(t, y[e]);
for (var i = 1, e = 0, n = v.length; n > e; ++e) i = cr(i, v[e].length);
t *= i;
var r = m * y.length * v.length;
return {
width: Math.max(1, Math.min(t, s.maxTileWidth)),
height: Math.max(1, Math.min(r, s.maxTileHeight))
}
}
function n() {
function t(t, e, n, a, l) {
var u = o ? 1 : i,
h = fc(l, t * u, e * u, n * u, a * u, s.color, s.symbolKeepAspect);
if (o) {
var c = r.painter.renderOneToVNode(h);
c && x.children.push(c)
} else Uc(d, h)
}
d && (d.clearRect(0, 0, _.width, _.height), s.backgroundColor && (d.fillStyle = s.backgroundColor, d
.fillRect(0, 0, _.width, _.height)));
for (var e = 0, n = 0; n < g.length; ++n) e += g[n];
if (!(0 >= e))
for (var a = -m, l = 0, u = 0, h = 0; a < w.height;) {
if (l % 2 === 0) {
for (var c = u / 2 % v.length, p = 0, y = 0, b = 0; p < 2 * w.width;) {
for (var S = 0, n = 0; n < f[h].length; ++n) S += f[h][n];
if (0 >= S) break;
if (y % 2 === 0) {
var M = .5 * (1 - s.symbolSize),
T = p + f[h][y] * M,
C = a + g[l] * M,
I = f[h][y] * s.symbolSize,
D = g[l] * s.symbolSize,
k = b / 2 % v[c].length;
t(T, C, I, D, v[c][k])
}
p += f[h][y], ++b, ++y, y === f[h].length && (y = 0)
}++h, h === f.length && (h = 0)
}
a += g[l], ++u, ++l, l === g.length && (l = 0)
}
}
for (var a = [i], l = !0, u = 0; u < NI.length; ++u) {
var h = s[NI[u]];
if (null != h && !M(h) && !C(h) && !D(h) && "boolean" != typeof h) {
l = !1;
break
}
a.push(h)
}
var c;
if (l) {
c = a.join(",") + (o ? "-svg" : "");
var p = BI.get(c);
p && (o ? t.svgElement = p : t.image = p)
}
var d, f = jc(s.dashArrayX),
g = Kc(s.dashArrayY),
v = qc(s.symbol),
y = $c(f),
m = Qc(g),
_ = !o && Qm.createCanvas(),
x = o && {
tag: "g",
attrs: {},
key: "dcl",
children: []
},
w = e();
_ && (_.width = w.width * i, _.height = w.height * i, d = _.getContext("2d")), n(), l && BI.put(c, _ ||
x), t.image = _, t.svgElement = x, t.svgWidth = w.width, t.svgHeight = w.height
}
if ("none" === t) return null;
var i = e.getDevicePixelRatio(),
r = e.getZr(),
o = "svg" === r.painter.type;
t.dirty && EI["delete"](t);
var a = EI.get(t);
if (a) return a;
var s = c(t, {
symbol: "rect",
symbolSize: 1,
symbolKeepAspect: !0,
color: "rgba(0, 0, 0, 0.2)",
backgroundColor: null,
dashArrayX: 5,
dashArrayY: 5,
rotation: 0,
maxTileWidth: 512,
maxTileHeight: 512
});
"none" === s.backgroundColor && (s.backgroundColor = null);
var l = {
repeat: "repeat"
};
return n(l), l.rotation = s.rotation, l.scaleX = l.scaleY = o ? 1 : 1 / i, EI.set(t, l), t.dirty = !1, l
}
function qc(t) {
if (!t || 0 === t.length) return [
["rect"]
];
if (C(t)) return [
[t]
];
for (var e = !0, n = 0; n < t.length; ++n)
if (!C(t[n])) {
e = !1;
break
} if (e) return qc([t]);
for (var i = [], n = 0; n < t.length; ++n) i.push(C(t[n]) ? [t[n]] : t[n]);
return i
}
function jc(t) {
if (!t || 0 === t.length) return [
[0, 0]
];
if (D(t)) {
var e = Math.ceil(t);
return [
[e, e]
]
}
for (var n = !0, i = 0; i < t.length; ++i)
if (!D(t[i])) {
n = !1;
break
} if (n) return jc([t]);
for (var r = [], i = 0; i < t.length; ++i)
if (D(t[i])) {
var e = Math.ceil(t[i]);
r.push([e, e])
} else {
var e = y(t[i], function(t) {
return Math.ceil(t)
});
r.push(e.length % 2 === 1 ? e.concat(e) : e)
} return r
}
function Kc(t) {
if (!t || "object" == typeof t && 0 === t.length) return [0, 0];
if (D(t)) {
var e = Math.ceil(t);
return [e, e]
}
var n = y(t, function(t) {
return Math.ceil(t)
});
return t.length % 2 ? n.concat(n) : n
}
function $c(t) {
return y(t, function(t) {
return Qc(t)
})
}
function Qc(t) {
for (var e = 0, n = 0; n < t.length; ++n) e += t[n];
return t.length % 2 === 1 ? 2 * e : e
}
function Jc(t, e) {
t.eachRawSeries(function(n) {
if (!t.isSeriesFiltered(n)) {
var i = n.getData();
i.hasItemVisual() && i.each(function(t) {
var n = i.getItemVisual(t, "decal");
if (n) {
var r = i.ensureUniqueItemVisual(t, "style");
r.decal = Zc(n, e)
}
});
var r = i.getVisual("decal");
if (r) {
var o = i.getVisual("style");
o.decal = Zc(r, e)
}
}
})
}
function tp(t, e) {
VI[t] = e
}
function ep(t) {
return VI[t]
}
function np(t) {
return function() {
for (var e = [], n = 0; n < arguments.length; n++) e[n] = arguments[n];
return this.isDisposed() ? void 0 : rp(this, t, e)
}
}
function ip(t) {
return function() {
for (var e = [], n = 0; n < arguments.length; n++) e[n] = arguments[n];
return rp(this, t, e)
}
}
function rp(t, e, n) {
return n[0] = n[0] && n[0].toLowerCase(), C_.prototype[e].apply(t, n)
}
function op(t, e, n) {
var i = !(n && n.ssr);
if (i) {
var r = up(t);
if (r) return r
}
var o = new RD(t, e, n);
return o.id = "ec_" + XD++, UD[o.id] = o, i && Br(t, qD, o.id), PD(o), FI.trigger("afterinit", o), o
}
function ap(t) {
if (M(t)) {
var e = t;
t = null, v(e, function(e) {
null != e.group && (t = e.group)
}), t = t || "g_" + ZD++, v(e, function(e) {
e.group = t
})
}
return YD[t] = !0, t
}
function sp(t) {
YD[t] = !1
}
function lp(t) {
C(t) ? t = UD[t] : t instanceof RD || (t = up(t)), t instanceof RD && !t.isDisposed() && t.dispose()
}
function up(t) {
return UD[Nr(t, qD)]
}
function hp(t) {
return UD[t]
}
function cp(t, e) {
WD[t] = e
}
function pp(t) {
p(VD, t) < 0 && VD.push(t)
}
function dp(t, e) {
bp(FD, t, e, ZI)
}
function fp(t) {
vp("afterinit", t)
}
function gp(t) {
vp("afterupdate", t)
}
function vp(t, e) {
FI.on(t, e)
}
function yp(t, e, n) {
T(e) && (n = e, e = "");
var i = k(t) ? t.type : [t, t = {
event: e
}][0];
t.event = (t.event || i).toLowerCase(), e = t.event, ND[e] || (W(uD.test(i) && uD.test(e)), BD[i] || (BD[
i] = {
action: n,
actionInfo: t
}), ND[e] = i)
}
function mp(t, e) {
JT.register(t, e)
}
function _p(t) {
var e = JT.get(t);
return e ? e.getDimensionsInfo ? e.getDimensionsInfo() : e.dimensions.slice() : void 0
}
function xp(t, e) {
bp(HD, t, e, jI, "layout")
}
function wp(t, e) {
bp(HD, t, e, QI, "visual")
}
function bp(t, e, n, i, r) {
if ((T(e) || k(e)) && (n = e, e = i), !(p(KD, n) >= 0)) {
KD.push(n);
var o = nI.wrapStageHandler(n, r);
o.__prio = e, o.__raw = n, t.push(o)
}
}
function Sp(t, e) {
GD[t] = e
}
function Mp(t) {
r({
createCanvas: t
})
}
function Tp(t, e, n) {
var i = ep("registerMap");
i && i(t, e, n)
}
function Cp(t) {
var e = ep("getMap");
return e && e(t)
}
function Ip(t) {
return null == t ? 0 : t.length || 1
}
function Dp(t) {
return t
}
function kp(t, e) {
var n = {},
i = n.encode = {},
r = Z(),
o = [],
a = [],
s = {};
v(t.dimensions, function(e) {
var n = t.getDimensionInfo(e),
l = n.coordDim;
if (l) {
var u = n.coordDimIndex;
Ap(i, l)[u] = e, n.isExtraCoord || (r.set(l, 1), Lp(n.type) && (o[0] = e), Ap(s, l)[u] = t
.getDimensionIndex(n.name)), n.defaultTooltip && a.push(e)
}
IT.each(function(t, e) {
var r = Ap(i, e),
o = n.otherDims[e];
null != o && o !== !1 && (r[o] = n.name)
})
});
var l = [],
u = {};
r.each(function(t, e) {
var n = i[e];
u[e] = n[0], l = l.concat(n)
}), n.dataDimsOnCoord = l, n.dataDimIndicesOnCoord = y(l, function(e) {
return t.getDimensionInfo(e).storeDimIndex
}), n.encodeFirstDimNotExtra = u;
var h = i.label;
h && h.length && (o = h.slice());
var c = i.tooltip;
return c && c.length ? a = c.slice() : a.length || (a = o.slice()), i.defaultedLabel = o, i
.defaultedTooltip = a, n.userOutput = new sk(s, e), n
}
function Ap(t, e) {
return t.hasOwnProperty(e) || (t[e] = []), t[e]
}
function Pp(t) {
return "category" === t ? "ordinal" : "time" === t ? "time" : "float"
}
function Lp(t) {
return !("ordinal" === t || "time" === t)
}
function Op(t) {
return t instanceof ck
}
function Rp(t) {
for (var e = Z(), n = 0; n < (t || []).length; n++) {
var i = t[n],
r = k(i) ? i.name : i;
null != r && null == e.get(r) && e.set(r, n)
}
return e
}
function zp(t) {
var e = uk(t);
return e.dimNameMap || (e.dimNameMap = Rp(t.dimensionsDefine))
}
function Ep(t) {
return t > 30
}
function Bp(t, e) {
return Np(t, e).dimensions
}
function Np(t, e) {
function n(t) {
var e = m[t];
if (0 > e) {
var n = a[t],
i = k(n) ? n : {
name: n
},
r = new lk,
o = i.name;
null != o && null != f.get(o) && (r.name = r.displayName = o), null != i.type && (r.type = i.type),
null != i.displayName && (r.displayName = i.displayName);
var s = l.length;
return m[t] = s, r.storeDimIndex = t, l.push(r), r
}
return l[e]
}
function i(t, e, n) {
null != IT.get(e) ? t.otherDims[e] = n : (t.coordDim = e, t.coordDimIndex = n, s.set(e, !0))
}
function r(t) {
null == t.name && (t.name = t.coordDim)
}
Ou(t) || (t = zu(t)), e = e || {};
var o = e.coordDimensions || [],
a = e.dimensionsDefine || t.dimensionsDefine || [],
s = Z(),
l = [],
u = Vp(t, o, a, e.dimensionsCount),
p = e.canOmitUnusedDimensions && Ep(u),
d = a === t.dimensionsDefine,
f = d ? zp(t) : Rp(a),
g = e.encodeDefine;
!g && e.encodeDefaulter && (g = e.encodeDefaulter(t, u));
for (var y = Z(g), m = new IC(u), _ = 0; _ < m.length; _++) m[_] = -1;
if (!p)
for (var _ = 0; u > _; _++) n(_);
y.each(function(t, e) {
var r = fr(t).slice();
if (1 === r.length && !C(r[0]) && r[0] < 0) return void y.set(e, !1);
var o = y.set(e, []);
v(r, function(t, r) {
var a = C(t) ? f.get(t) : t;
null != a && u > a && (o[r] = a, i(n(a), e, r))
})
});
var x = 0;
v(o, function(t) {
var e, r, o, a;
if (C(t)) e = t, a = {};
else {
a = t, e = a.name;
var s = a.ordinalMeta;
a.ordinalMeta = null, a = h({}, a), a.ordinalMeta = s, r = a.dimsDef, o = a.otherDims, a
.name = a.coordDim = a.coordDimIndex = a.dimsDef = a.otherDims = null
}
var l = y.get(e);
if (l !== !1) {
if (l = fr(l), !l.length)
for (var p = 0; p < (r && r.length || 1); p++) {
for (; u > x && null != n(x).coordDim;) x++;
u > x && l.push(x++)
}
v(l, function(t, s) {
var l = n(t);
if (d && null != a.type && (l.type = a.type), i(c(l, a), e, s), null == l
.name && r) {
var u = r[s];
!k(u) && (u = {
name: u
}), l.name = l.displayName = u.name, l.defaultTooltip = u.defaultTooltip
}
o && c(l.otherDims, o)
})
}
});
var w = e.generateCoord,
b = e.generateCoordCount,
S = null != b;
b = w ? b || 1 : 0;
var M = w || "value";
if (p) v(l, function(t) {
r(t)
}), l.sort(function(t, e) {
return t.storeDimIndex - e.storeDimIndex
});
else
for (var T = 0; u > T; T++) {
var I = n(T),
D = I.coordDim;
null == D && (I.coordDim = Hp(M, s, S), I.coordDimIndex = 0, (!w || 0 >= b) && (I.isExtraCoord = !
0), b--), r(I), null != I.type || Ql(t, T) !== ET.Must && (!I.isExtraCoord || null == I
.otherDims.itemName && null == I.otherDims.seriesName) || (I.type = "ordinal")
}
return Fp(l), new ck({
source: t,
dimensions: l,
fullDimensionCount: u,
dimensionOmitted: p
})
}
function Fp(t) {
for (var e = Z(), n = 0; n < t.length; n++) {
var i = t[n],
r = i.name,
o = e.get(r) || 0;
o > 0 && (i.name = r + (o - 1)), o++, e.set(r, o)
}
}
function Vp(t, e, n, i) {
var r = Math.max(t.dimensionsDetectedCount || 1, e.length, n.length, i || 0);
return v(e, function(t) {
var e;
k(t) && (e = t.dimsDef) && (r = Math.max(r, e.length))
}), r
}
function Hp(t, e, n) {
if (n || e.hasKey(t)) {
for (var i = 0; e.hasKey(t + i);) i++;
t += i
}
return e.set(t, !0), t
}
function Wp(t) {
var e = t.get("coordinateSystem"),
n = new xk(e),
i = wk[e];
return i ? (i(t, n, n.axisMap, n.categoryAxisMap), n) : void 0
}
function Gp(t) {
return "category" === t.get("type")
}
function Up(t, e, n) {
n = n || {};
var i, r, o, a = n.byIndex,
s = n.stackedCoordDimension;
Yp(e) ? i = e : (r = e.schema, i = r.dimensions, o = e.store);
var l, u, h, c, p = !(!t || !t.get("stack"));
if (v(i, function(t, e) {
C(t) && (i[e] = t = {
name: t
}), p && !t.isExtraCoord && (a || l || !t.ordinalMeta || (l = t), u || "ordinal" === t
.type || "time" === t.type || s && s !== t.coordDim || (u = t))
}), !u || a || l || (a = !0), u) {
h = "__\x00ecstackresult_" + t.id, c = "__\x00ecstackedover_" + t.id, l && (l.createInvertedIndices = !
0);
var d = u.coordDim,
f = u.type,
g = 0;
v(i, function(t) {
t.coordDim === d && g++
});
var y = {
name: h,
coordDim: d,
coordDimIndex: g,
type: f,
isExtraCoord: !0,
isCalculationCoord: !0,
storeDimIndex: i.length
},
m = {
name: c,
coordDim: c,
coordDimIndex: g + 1,
type: f,
isExtraCoord: !0,
isCalculationCoord: !0,
storeDimIndex: i.length + 1
};
r ? (o && (y.storeDimIndex = o.ensureCalculationDimension(c, f), m.storeDimIndex = o
.ensureCalculationDimension(h, f)), r.appendCalculationDimension(y), r
.appendCalculationDimension(m)) : (i.push(y), i.push(m))
}
return {
stackedDimension: u && u.name,
stackedByDimension: l && l.name,
isStackedByIndex: a,
stackedOverDimension: c,
stackResultDimension: h
}
}
function Yp(t) {
return !Op(t.schema)
}
function Xp(t, e) {
return !!e && e === t.getCalculationInfo("stackedDimension")
}
function Zp(t, e) {
return Xp(t, e) ? t.getCalculationInfo("stackResultDimension") : e
}
function qp(t, e) {
var n, i = t.get("coordinateSystem"),
r = JT.get(i);
return e && e.coordSysDims && (n = y(e.coordSysDims, function(t) {
var n = {
name: t
},
i = e.axisMap.get(t);
if (i) {
var r = i.get("type");
n.type = Pp(r)
}
return n
})), n || (n = r && (r.getDimensionsInfo ? r.getDimensionsInfo() : r.dimensions.slice()) || ["x", "y"]),
n
}
function jp(t, e, n) {
var i, r;
return n && v(t, function(t, o) {
var a = t.coordDim,
s = n.categoryAxisMap.get(a);
s && (null == i && (i = o), t.ordinalMeta = s.getOrdinalMeta(), e && (t
.createInvertedIndices = !0)), null != t.otherDims.itemName && (r = !0)
}), r || null == i || (t[i].otherDims.itemName = 0), i
}
function Kp(t, e, n) {
n = n || {};
var i, r = e.getSourceManager(),
o = !1;
t ? (o = !0, i = zu(t)) : (i = r.getSource(), o = i.sourceFormat === DT);
var a = Wp(e),
s = qp(e, a),
l = n.useEncodeDefaulter,
u = T(l) ? l : l ? S(ql, s, e) : null,
h = {
coordDimensions: s,
generateCoord: n.generateCoord,
encodeDefine: e.getEncode(),
encodeDefaulter: u,
canOmitUnusedDimensions: !o
},
c = Np(i, h),
p = jp(c.dimensions, n.createInvertedIndices, a),
d = o ? null : r.getSharedDataStore(c),
f = Up(e, {
schema: c,
store: d
}),
g = new _k(c, e);
g.setCalculationInfo(f);
var v = null != p && $p(i) ? function(t, e, n, i) {
return i === p ? n : this.defaultDimValueGetter(t, e, n, i)
} : null;
return g.hasItemOption = !1, g.initData(o ? i : d, null, v), g
}
function $p(t) {
if (t.sourceFormat === DT) {
var e = Qp(t.data || []);
return !M(vr(e))
}
}
function Qp(t) {
for (var e = 0; e < t.length && null == t[e];) e++;
return t[e]
}
function Jp(t) {
return k(t) && null != t.value ? t.value : t + ""
}
function td(t) {
return "interval" === t.type || "log" === t.type
}
function ed(t, e, n, i) {
var r = {},
o = t[1] - t[0],
a = r.interval = rr(o / e, !0);
null != n && n > a && (a = r.interval = n), null != i && a > i && (a = r.interval = i);
var s = r.intervalPrecision = id(a),
l = r.niceTickExtent = [Yi(Math.ceil(t[0] / a) * a, s), Yi(Math.floor(t[1] / a) * a, s)];
return od(l, t), r
}
function nd(t) {
var e = Math.pow(10, ir(t)),
n = t / e;
return n ? 2 === n ? n = 3 : 3 === n ? n = 5 : n *= 2 : n = 1, Yi(n * e)
}
function id(t) {
return Zi(t) + 2
}
function rd(t, e, n) {
t[e] = Math.max(Math.min(t[e], n[1]), n[0])
}
function od(t, e) {
!isFinite(t[0]) && (t[0] = e[0]), !isFinite(t[1]) && (t[1] = e[1]), rd(t, 0, e), rd(t, 1, e), t[0] > t[1] &&
(t[0] = t[1])
}
function ad(t, e) {
return t >= e[0] && t <= e[1]
}
function sd(t, e) {
return e[1] === e[0] ? .5 : (t - e[0]) / (e[1] - e[0])
}
function ld(t, e) {
return t * (e[1] - e[0]) + e[0]
}
function ud(t) {
return M(t) ? Dk ? new Float32Array(t) : t : new kk(t)
}
function hd(t) {
return t.get("stack") || Ak + t.seriesIndex
}
function cd(t) {
return t.dim + t.index
}
function pd(t, e) {
var n = [];
return e.eachSeriesByType(t, function(t) {
_d(t) && n.push(t)
}), n
}
function dd(t) {
var e = {};
v(t, function(t) {
var n = t.coordinateSystem,
i = n.getBaseAxis();
if ("time" === i.type || "value" === i.type)
for (var r = t.getData(), o = i.dim + "_" + i.index, a = r.getDimensionIndex(r.mapDimension(
i.dim)), s = r.getStore(), l = 0, u = s.count(); u > l; ++l) {
var h = s.get(a, l);
e[o] ? e[o].push(h) : e[o] = [h]
}
});
var n = {};
for (var i in e)
if (e.hasOwnProperty(i)) {
var r = e[i];
if (r) {
r.sort(function(t, e) {
return t - e
});
for (var o = null, a = 1; a < r.length; ++a) {
var s = r[a] - r[a - 1];
s > 0 && (o = null === o ? s : Math.min(o, s))
}
n[i] = o
}
} return n
}
function fd(t) {
var e = dd(t),
n = [];
return v(t, function(t) {
var i, r = t.coordinateSystem,
o = r.getBaseAxis(),
a = o.getExtent();
if ("category" === o.type) i = o.getBandWidth();
else if ("value" === o.type || "time" === o.type) {
var s = o.dim + "_" + o.index,
l = e[s],
u = Math.abs(a[1] - a[0]),
h = o.scale.getExtent(),
c = Math.abs(h[1] - h[0]);
i = l ? u / c * l : u
} else {
var p = t.getData();
i = Math.abs(a[1] - a[0]) / p.count()
}
var d = Ui(t.get("barWidth"), i),
f = Ui(t.get("barMaxWidth"), i),
g = Ui(t.get("barMinWidth") || (xd(t) ? .5 : 1), i),
v = t.get("barGap"),
y = t.get("barCategoryGap");
n.push({
bandWidth: i,
barWidth: d,
barMaxWidth: f,
barMinWidth: g,
barGap: v,
barCategoryGap: y,
axisKey: cd(o),
stackId: hd(t)
})
}), gd(n)
}
function gd(t) {
var e = {};
v(t, function(t) {
var n = t.axisKey,
i = t.bandWidth,
r = e[n] || {
bandWidth: i,
remainedWidth: i,
autoWidthCount: 0,
categoryGap: null,
gap: "20%",
stacks: {}
},
o = r.stacks;
e[n] = r;
var a = t.stackId;
o[a] || r.autoWidthCount++, o[a] = o[a] || {
width: 0,
maxWidth: 0
};
var s = t.barWidth;
s && !o[a].width && (o[a].width = s, s = Math.min(r.remainedWidth, s), r.remainedWidth -= s);
var l = t.barMaxWidth;
l && (o[a].maxWidth = l);
var u = t.barMinWidth;
u && (o[a].minWidth = u);
var h = t.barGap;
null != h && (r.gap = h);
var c = t.barCategoryGap;
null != c && (r.categoryGap = c)
});
var n = {};
return v(e, function(t, e) {
n[e] = {};
var i = t.stacks,
r = t.bandWidth,
o = t.categoryGap;
if (null == o) {
var a = w(i).length;
o = Math.max(35 - 4 * a, 15) + "%"
}
var s = Ui(o, r),
l = Ui(t.gap, 1),
u = t.remainedWidth,
h = t.autoWidthCount,
c = (u - s) / (h + (h - 1) * l);
c = Math.max(c, 0), v(i, function(t) {
var e = t.maxWidth,
n = t.minWidth;
if (t.width) {
var i = t.width;
e && (i = Math.min(i, e)), n && (i = Math.max(i, n)), t.width = i, u -= i + l *
i, h--
} else {
var i = c;
e && i > e && (i = Math.min(e, u)), n && n > i && (i = n), i !== c && (t.width =
i, u -= i + l * i, h--)
}
}), c = (u - s) / (h + (h - 1) * l), c = Math.max(c, 0);
var p, d = 0;
v(i, function(t) {
t.width || (t.width = c), p = t, d += t.width * (1 + l)
}), p && (d -= p.width * l);
var f = -d / 2;
v(i, function(t, i) {
n[e][i] = n[e][i] || {
bandWidth: r,
offset: f,
width: t.width
}, f += t.width * (1 + l)
})
}), n
}
function vd(t, e, n) {
if (t && e) {
var i = t[cd(e)];
return null != i && null != n ? i[hd(n)] : i
}
}
function yd(t, e) {
var n = pd(t, e),
i = fd(n);
v(n, function(t) {
var e = t.getData(),
n = t.coordinateSystem,
r = n.getBaseAxis(),
o = hd(t),
a = i[cd(r)][o],
s = a.offset,
l = a.width;
e.setLayout({
bandWidth: a.bandWidth,
offset: s,
size: l
})
})
}
function md(t) {
return {
seriesType: t,
plan: Vh(),
reset: function(t) {
if (_d(t)) {
var e = t.getData(),
n = t.coordinateSystem,
i = n.getBaseAxis(),
r = n.getOtherAxis(i),
o = e.getDimensionIndex(e.mapDimension(r.dim)),
a = e.getDimensionIndex(e.mapDimension(i.dim)),
s = t.get("showBackground", !0),
l = e.mapDimension(r.dim),
u = e.getCalculationInfo("stackResultDimension"),
h = Xp(e, l) && !!e.getCalculationInfo("stackedOnSeries"),
c = r.isHorizontal(),
p = wd(i, r),
d = xd(t),
f = t.get("barMinHeight") || 0,
g = u && e.getDimensionIndex(u),
v = e.getLayout("size"),
y = e.getLayout("offset");
return {
progress: function(t, e) {
for (var i, r = t.count, l = d && ud(3 * r), u = d && s && ud(3 * r), m = d &&
ud(r), _ = n.master.getRect(), x = c ? _.width : _.height, w = e
.getStore(), b = 0; null != (i = t.next());) {
var S = w.get(h ? g : o, i),
M = w.get(a, i),
T = p,
C = void 0;
h && (C = +S - w.get(o, i));
var I = void 0,
D = void 0,
k = void 0,
A = void 0;
if (c) {
var P = n.dataToPoint([S, M]);
if (h) {
var L = n.dataToPoint([C, M]);
T = L[0]
}
I = T, D = P[1] + y, k = P[0] - T, A = v, Math.abs(k) < f && (k = (0 >
k ? -1 : 1) * f)
} else {
var P = n.dataToPoint([M, S]);
if (h) {
var L = n.dataToPoint([M, C]);
T = L[1]
}
I = P[0] + y, D = T, k = v, A = P[1] - T, Math.abs(A) < f && (A = (0 >=
A ? -1 : 1) * f)
}
d ? (l[b] = I, l[b + 1] = D, l[b + 2] = c ? k : A, u && (u[b] = c ? _.x : I,
u[b + 1] = c ? D : _.y, u[b + 2] = x), m[i] = i) : e.setItemLayout(
i, {
x: I,
y: D,
width: k,
height: A
}), b += 3
}
d && e.setLayout({
largePoints: l,
largeDataIndices: m,
largeBackgroundPoints: u,
valueAxisHorizontal: c
})
}
}
}
}
}
}
function _d(t) {
return t.coordinateSystem && "cartesian2d" === t.coordinateSystem.type
}
function xd(t) {
return t.pipelineContext && t.pipelineContext.large
}
function wd(t, e) {
return e.toGlobalCoord(e.dataToCoord("log" === e.type ? 1 : 0))
}
function bd(t, e, n, i) {
var r = er(e),
o = er(n),
a = function(t) {
return gl(r, t, i) === gl(o, t, i)
},
s = function() {
return a("year")
},
l = function() {
return s() && a("month")
},
u = function() {
return l() && a("day")
},
h = function() {
return u() && a("hour")
},
c = function() {
return h() && a("minute")
},
p = function() {
return c() && a("second")
},
d = function() {
return p() && a("millisecond")
};
switch (t) {
case "year":
return s();
case "month":
return l();
case "day":
return u();
case "hour":
return h();
case "minute":
return c();
case "second":
return p();
case "millisecond":
return d()
}
}
function Sd(t) {
return t /= aT, t > 16 ? 16 : t > 7.5 ? 7 : t > 3.5 ? 4 : t > 1.5 ? 2 : 1
}
function Md(t) {
var e = 30 * aT;
return t /= e, t > 6 ? 6 : t > 3 ? 3 : t > 2 ? 2 : 1
}
function Td(t) {
return t /= oT, t > 12 ? 12 : t > 6 ? 6 : t > 3.5 ? 4 : t > 2 ? 2 : 1
}
function Cd(t, e) {
return t /= e ? rT : iT, t > 30 ? 30 : t > 20 ? 20 : t > 15 ? 15 : t > 10 ? 10 : t > 5 ? 5 : t > 2 ? 2 : 1
}
function Id(t) {
return rr(t, !0)
}
function Dd(t, e, n) {
var i = new Date(t);
switch (ul(e)) {
case "year":
case "month":
i[Ml(n)](0);
case "day":
i[Tl(n)](1);
case "hour":
i[Cl(n)](0);
case "minute":
i[Il(n)](0);
case "second":
i[Dl(n)](0), i[kl(n)](0)
}
return i.getTime()
}
function kd(t, e, n, i) {
function r(t, e, n, r, o, a, s) {
for (var l = new Date(e), u = e, h = l[r](); n > u && u <= i[1];) s.push({
value: u
}), h += t, l[o](h), u = l.getTime();
s.push({
value: u,
notAdd: !0
})
}
function o(t, o, a) {
var s = [],
l = !o.length;
if (!bd(ul(t), i[0], i[1], n)) {
l && (o = [{
value: Dd(new Date(i[0]), t, n)
}, {
value: i[1]
}]);
for (var u = 0; u < o.length - 1; u++) {
var h = o[u].value,
c = o[u + 1].value;
if (h !== c) {
var p = void 0,
d = void 0,
f = void 0,
g = !1;
switch (t) {
case "year":
p = Math.max(1, Math.round(e / aT / 365)), d = vl(n), f = Sl(n);
break;
case "half-year":
case "quarter":
case "month":
p = Md(e), d = yl(n), f = Ml(n);
break;
case "week":
case "half-week":
case "day":
p = Sd(e, 31), d = ml(n), f = Tl(n), g = !0;
break;
case "half-day":
case "quarter-day":
case "hour":
p = Td(e), d = _l(n), f = Cl(n);
break;
case "minute":
p = Cd(e, !0), d = xl(n), f = Il(n);
break;
case "second":
p = Cd(e, !1), d = wl(n), f = Dl(n);
break;
case "millisecond":
p = Id(e), d = bl(n), f = kl(n)
}
r(p, h, c, d, f, g, s), "year" === t && a.length > 1 && 0 === u && a.unshift({
value: a[0].value - p
})
}
}
for (var u = 0; u < s.length; u++) a.push(s[u]);
return s
}
}
for (var a = 1e4, s = pT, l = 0, u = [], h = [], c = 0, p = 0, d = 0; d < s.length && l++ < a; ++d) {
var f = ul(s[d]);
if (hl(s[d])) {
o(s[d], u[u.length - 1] || [], h);
var g = s[d + 1] ? ul(s[d + 1]) : null;
if (f !== g) {
if (h.length) {
p = c, h.sort(function(t, e) {
return t.value - e.value
});
for (var v = [], m = 0; m < h.length; ++m) {
var x = h[m].value;
(0 === m || h[m - 1].value !== x) && (v.push(h[m]), x >= i[0] && x <= i[1] && c++)
}
var w = (i[1] - i[0]) / e;
if (c > 1.5 * w && p > w / 1.5) break;
if (u.push(v), c > w || t === s[d]) break
}
h = []
}
}
}
for (var b = _(y(u, function(t) {
return _(t, function(t) {
return t.value >= i[0] && t.value <= i[1] && !t.notAdd
})
}), function(t) {
return t.length > 0
}), S = [], M = b.length - 1, d = 0; d < b.length; ++d)
for (var T = b[d], C = 0; C < T.length; ++C) S.push({
value: T[C].value,
level: M - d
});
S.sort(function(t, e) {
return t.value - e.value
});
for (var I = [], d = 0; d < S.length; ++d)(0 === d || S[d].value !== S[d - 1].value) && I.push(S[d]);
return I
}
function Ad(t, e) {
return Ek(t, Zi(e))
}
function Pd(t, e, n) {
var i = t.rawExtentInfo;
return i ? i : (i = new Gk(t, e, n), t.rawExtentInfo = i, i)
}
function Ld(t, e) {
return null == e ? null : E(e) ? 0 / 0 : t.parse(e)
}
function Od(t, e) {
var n = t.type,
i = Pd(t, e, t.getExtent()).calculate();
t.setBlank(i.isBlank);
var r = i.min,
o = i.max,
a = e.ecModel;
if (a && "time" === n) {
var s = pd("bar", a),
l = !1;
if (v(s, function(t) {
l = l || t.getBaseAxis() === e.axis
}), l) {
var u = fd(s),
h = Rd(r, o, e, u);
r = h.min, o = h.max
}
}
return {
extent: [r, o],
fixMin: i.minFixed,
fixMax: i.maxFixed
}
}
function Rd(t, e, n, i) {
var r = n.axis.getExtent(),
o = r[1] - r[0],
a = vd(i, n.axis);
if (void 0 === a) return {
min: t,
max: e
};
var s = 1 / 0;
v(a, function(t) {
s = Math.min(t.offset, s)
});
var l = -1 / 0;
v(a, function(t) {
l = Math.max(t.offset + t.width, l)
}), s = Math.abs(s), l = Math.abs(l);
var u = s + l,
h = e - t,
c = 1 - (s + l) / o,
p = h / c - h;
return e += p * (l / u), t -= p * (s / u), {
min: t,
max: e
}
}
function zd(t, e) {
var n = e,
i = Od(t, n),
r = i.extent,
o = n.get("splitNumber");
t instanceof Hk && (t.base = n.get("logBase"));
var a = t.type,
s = n.get("interval"),
l = "interval" === a || "time" === a;
t.setExtent(r[0], r[1]), t.calcNiceExtent({
splitNumber: o,
fixMin: i.fixMin,
fixMax: i.fixMax,
minInterval: l ? n.get("minInterval") : null,
maxInterval: l ? n.get("maxInterval") : null
}), null != s && t.setInterval && t.setInterval(s)
}
function Ed(t, e) {
if (e = e || t.get("type")) switch (e) {
case "category":
return new Tk({
ordinalMeta: t.getOrdinalMeta ? t.getOrdinalMeta() : t.getCategories(),
extent: [1 / 0, -1 / 0]
});
case "time":
return new Lk({
locale: t.ecModel.getLocaleModel(),
useUTC: t.ecModel.get("useUTC")
});
default:
return new(bk.getClass(e) || Ik)
}
}
function Bd(t) {
var e = t.scale.getExtent(),
n = e[0],
i = e[1];
return !(n > 0 && i > 0 || 0 > n && 0 > i)
}
function Nd(t) {
var e = t.getLabelModel().get("formatter"),
n = "category" === t.type ? t.scale.getExtent()[0] : null;
return "time" === t.scale.type ? function(e) {
return function(n, i) {
return t.scale.getFormattedLabel(n, i, e)
}
}(e) : C(e) ? function(e) {
return function(n) {
var i = t.scale.getLabel(n)+'111',
r = e.replace("{value}", null != i ? i : "");
return r
}
}(e) : T(e) ? function(e) {
return function(i, r) {
return null != n && (r = i.value - n), e(Fd(t, i), r, null != i.level ? {
level: i.level
} : null)
}
}(e) : function(e) {
return t.scale.getLabel(e)
}
}
function Fd(t, e) {
return "category" === t.type ? t.scale.getLabel(e) : e.value
}
function Vd(t) {
var e = t.model,
n = t.scale;
if (e.get(["axisLabel", "show"]) && !n.isBlank()) {
var i, r, o = n.getExtent();
n instanceof Tk ? r = n.count() : (i = n.getTicks(), r = i.length);
var a, s = t.getLabelModel(),
l = Nd(t),
u = 1;
r > 40 && (u = Math.ceil(r / 40));
for (var h = 0; r > h; h += u) {
var c = i ? i[h] : {
value: o[0] + h
},
p = l(c, h),
d = s.getTextRect(p),
f = Hd(d, s.get("rotate") || 0);
a ? a.union(f) : a = f
}
return a
}
}
function Hd(t, e) {
var n = e * Math.PI / 180,
i = t.width,
r = t.height,
o = i * Math.abs(Math.cos(n)) + Math.abs(r * Math.sin(n)),
a = i * Math.abs(Math.sin(n)) + Math.abs(r * Math.cos(n)),
s = new q_(t.x, t.y, o, a);
return s
}
function Wd(t) {
var e = t.get("interval");
return null == e ? "auto" : e
}
function Gd(t) {
return "category" === t.type && 0 === Wd(t.getLabelModel())
}
function Ud(t, e) {
var n = {};
return v(t.mapDimensionsAll(e), function(e) {
n[Zp(t, e)] = !0
}), w(n)
}
function Yd(t, e, n) {
e && v(Ud(e, n), function(n) {
var i = e.getApproximateExtent(n);
i[0] < t[0] && (t[0] = i[0]), i[1] > t[1] && (t[1] = i[1])
})
}
function Xd(t) {
return Kp(null, t)
}
function Zd(t, e) {
var n = e;
e instanceof ZM || (n = new ZM(e));
var i = Ed(n);
return i.setExtent(t[0], t[1]), zd(i, n), i
}
function qd(t) {
f(t, Xk)
}
function jd(t, e) {
return e = e || {}, Xs(t, null, null, "normal" !== e.state)
}
function Kd(t) {
return M(t) ? void v(t, function(t) {
Kd(t)
}) : void(p(jk, t) >= 0 || (jk.push(t), T(t) && (t = {
install: t
}), t.install(Kk)))
}
function $d(t, e) {
return Math.abs(t - e) < $k
}
function Qd(t, e, n) {
var i = 0,
r = t[0];
if (!r) return !1;
for (var o = 1; o < t.length; o++) {
var a = t[o];
i += To(r[0], r[1], a[0], a[1], e, n), r = a
}
var s = t[0];
return $d(r[0], s[0]) && $d(r[1], s[1]) || (i += To(r[0], r[1], s[0], s[1], e, n)), 0 !== i
}
function Jd(t, e) {
for (var n = 0; n < t.length; n++) ye(t[n], t[n], e)
}
function tf(t, e, n, i) {
for (var r = 0; r < t.length; r++) {
var o = t[r];
i && (o = i.project(o)), o && isFinite(o[0]) && isFinite(o[1]) && (me(e, e, o), _e(n, n, o))
}
}
function ef(t) {
for (var e = 0, n = 0, i = 0, r = t.length, o = t[r - 1][0], a = t[r - 1][1], s = 0; r > s; s++) {
var l = t[s][0],
u = t[s][1],
h = o * u - l * a;
e += h, n += (o + l) * h, i += (a + u) * h, o = l, a = u
}
return e ? [n / e / 3, i / e / 3, e] : [t[0][0] || 0, t[0][1] || 0]
}
function nf(t) {
if (!t.UTF8Encoding) return t;
var e = t,
n = e.UTF8Scale;
null == n && (n = 1024);
var i = e.features;
return v(i, function(t) {
var e = t.geometry,
i = e.encodeOffsets,
r = e.coordinates;
if (i) switch (e.type) {
case "LineString":
e.coordinates = of(r, i, n);
break;
case "Polygon":
rf(r, i, n);
break;
case "MultiLineString":
rf(r, i, n);
break;
case "MultiPolygon":
v(r, function(t, e) {
return rf(t, i[e], n)
})
}
}), e.UTF8Encoding = !1, e
}
function rf(t, e, n) {
for (var i = 0; i < t.length; i++) t[i] = of(t[i], e[i], n)
}
function of(t, e, n) {
for (var i = [], r = e[0], o = e[1], a = 0; a < t.length; a += 2) {
var s = t.charCodeAt(a) - 64,
l = t.charCodeAt(a + 1) - 64;
s = s >> 1 ^ -(1 & s), l = l >> 1 ^ -(1 & l), s += r, l += o, r = s, o = l, i.push([s / n, l / n])
}
return i
}
function af(t, e) {
return t = nf(t), y(_(t.features, function(t) {
return t.geometry && t.properties && t.geometry.coordinates.length > 0
}), function(t) {
var n = t.properties,
i = t.geometry,
r = [];
switch (i.type) {
case "Polygon":
var o = i.coordinates;
r.push(new tA(o[0], o.slice(1)));
break;
case "MultiPolygon":
v(i.coordinates, function(t) {
t[0] && r.push(new tA(t[0], t.slice(1)))
});
break;
case "LineString":
r.push(new eA([i.coordinates]));
break;
case "MultiLineString":
r.push(new eA(i.coordinates))
}
var a = new nA(n[e || "name"], r, n.cp);
return a.properties = n, a
})
}
function sf(t) {
return "category" === t.type ? uf(t) : pf(t)
}
function lf(t, e) {
return "category" === t.type ? cf(t, e) : {
ticks: y(t.scale.getTicks(), function(t) {
return t.value
})
}
}
function uf(t) {
var e = t.getLabelModel(),
n = hf(t, e);
return !e.get("show") || t.scale.isBlank() ? {
labels: [],
labelCategoryInterval: n.labelCategoryInterval
} : n
}
function hf(t, e) {
var n = df(t, "labels"),
i = Wd(e),
r = ff(n, i);
if (r) return r;
var o, a;
return T(i) ? o = xf(t, i) : (a = "auto" === i ? vf(t) : i, o = _f(t, a)), gf(n, i, {
labels: o,
labelCategoryInterval: a
})
}
function cf(t, e) {
var n = df(t, "ticks"),
i = Wd(e),
r = ff(n, i);
if (r) return r;
var o, a;
if ((!e.get("show") || t.scale.isBlank()) && (o = []), T(i)) o = xf(t, i, !0);
else if ("auto" === i) {
var s = hf(t, t.getLabelModel());
a = s.labelCategoryInterval, o = y(s.labels, function(t) {
return t.tickValue
})
} else a = i, o = _f(t, a, !0);
return gf(n, i, {
ticks: o,
tickCategoryInterval: a
})
}
function pf(t) {
var e = t.scale.getTicks(),
n = Nd(t);
return {
labels: y(e, function(e, i) {
return {
level: e.level,
formattedLabel: n(e, i),
rawLabel: t.scale.getLabel(e),
tickValue: e.value
}
})
}
}
function df(t, e) {
return lA(t)[e] || (lA(t)[e] = [])
}
function ff(t, e) {
for (var n = 0; n < t.length; n++)
if (t[n].key === e) return t[n].value
}
function gf(t, e, n) {
return t.push({
key: e,
value: n
}), n
}
function vf(t) {
var e = lA(t).autoInterval;
return null != e ? e : lA(t).autoInterval = t.calculateCategoryInterval()
}
function yf(t) {
var e = mf(t),
n = Nd(t),
i = (e.axisRotate - e.labelRotate) / 180 * Math.PI,
r = t.scale,
o = r.getExtent(),
a = r.count();
if (o[1] - o[0] < 1) return 0;
var s = 1;
a > 40 && (s = Math.max(1, Math.floor(a / 40)));
for (var l = o[0], u = t.dataToCoord(l + 1) - t.dataToCoord(l), h = Math.abs(u * Math.cos(i)), c = Math.abs(
u * Math.sin(i)), p = 0, d = 0; l <= o[1]; l += s) {
var f = 0,
g = 0,
v = bi(n({
value: l
}), e.font, "center", "top");
f = 1.3 * v.width, g = 1.3 * v.height, p = Math.max(p, f, 7), d = Math.max(d, g, 7)
}
var y = p / h,
m = d / c;
isNaN(y) && (y = 1 / 0), isNaN(m) && (m = 1 / 0);
var _ = Math.max(0, Math.floor(Math.min(y, m))),
x = lA(t.model),
w = t.getExtent(),
b = x.lastAutoInterval,
S = x.lastTickCount;
return null != b && null != S && Math.abs(b - _) <= 1 && Math.abs(S - a) <= 1 && b > _ && x.axisExtent0 ===
w[0] && x.axisExtent1 === w[1] ? _ = b : (x.lastTickCount = a, x.lastAutoInterval = _, x.axisExtent0 =
w[0], x.axisExtent1 = w[1]), _
}
function mf(t) {
var e = t.getLabelModel();
return {
axisRotate: t.getRotate ? t.getRotate() : t.isHorizontal && !t.isHorizontal() ? 90 : 0,
labelRotate: e.get("rotate") || 0,
font: e.getFont()
}
}
function _f(t, e, n) {
function i(t) {
var e = {
value: t
};
l.push(n ? t : {
formattedLabel: r(e),
rawLabel: o.getLabel(e),
tickValue: t
})
}
var r = Nd(t),
o = t.scale,
a = o.getExtent(),
s = t.getLabelModel(),
l = [],
u = Math.max((e || 0) + 1, 1),
h = a[0],
c = o.count();
0 !== h && u > 1 && c / u > 2 && (h = Math.round(Math.ceil(h / u) * u));
var p = Gd(t),
d = s.get("showMinLabel") || p,
f = s.get("showMaxLabel") || p;
d && h !== a[0] && i(a[0]);
for (var g = h; g <= a[1]; g += u) i(g);
return f && g - u !== a[1] && i(a[1]), l
}
function xf(t, e, n) {
var i = t.scale,
r = Nd(t),
o = [];
return v(i.getTicks(), function(t) {
var a = i.getLabel(t),
s = t.value;
e(t.value, a) && o.push(n ? s : {
formattedLabel: r(t),
rawLabel: a,
tickValue: s
})
}), o
}
function wf(t, e) {
var n = t[1] - t[0],
i = e,
r = n / i / 2;
t[0] += r, t[1] -= r
}
function bf(t, e, n, i) {
function r(t, e) {
return t = Yi(t), e = Yi(e), p ? t > e : e > t
}
var o = e.length;
if (t.onBand && !n && o) {
var a, s, l = t.getExtent();
if (1 === o) e[0].coord = l[0], a = e[1] = {
coord: l[1]
};
else {
var u = e[o - 1].tickValue - e[0].tickValue,
h = (e[o - 1].coord - e[0].coord) / u;
v(e, function(t) {
t.coord -= h / 2
});
var c = t.scale.getExtent();
s = 1 + c[1] - e[o - 1].tickValue, a = {
coord: e[o - 1].coord + h * s
}, e.push(a)
}
var p = l[0] > l[1];
r(e[0].coord, l[0]) && (i ? e[0].coord = l[0] : e.shift()), i && r(l[0], e[0].coord) && e.unshift({
coord: l[0]
}), r(l[1], a.coord) && (i ? a.coord = l[1] : e.pop()), i && r(a.coord, l[1]) && e.push({
coord: l[1]
})
}
}
function Sf(t) {
var e = wT.extend(t);
return wT.registerClass(e), e
}
function Mf(t) {
var e = FC.extend(t);
return FC.registerClass(e), e
}
function Tf(t) {
var e = NC.extend(t);
return NC.registerClass(e), e
}
function Cf(t) {
var e = WC.extend(t);
return WC.registerClass(e), e
}
function If(t, e, n, i, r) {
var o = n.width,
a = n.height;
switch (t) {
case "top":
i.set(n.x + o / 2, n.y - e), r.set(0, -1);
break;
case "bottom":
i.set(n.x + o / 2, n.y + a + e), r.set(0, 1);
break;
case "left":
i.set(n.x - e, n.y + a / 2), r.set(-1, 0);
break;
case "right":
i.set(n.x + o + e, n.y + a / 2), r.set(1, 0)
}
}
function Df(t, e, n, i, r, o, a, s, l) {
a -= t, s -= e;
var u = Math.sqrt(a * a + s * s);
a /= u, s /= u;
var h = a * n + t,
c = s * n + e;
if (Math.abs(i - r) % cA < 1e-4) return l[0] = h, l[1] = c, u - n;
if (o) {
var p = i;
i = So(r), r = So(p)
} else i = So(i), r = So(r);
i > r && (r += cA);
var d = Math.atan2(s, a);
if (0 > d && (d += cA), d >= i && r >= d || d + cA >= i && r >= d + cA) return l[0] = h, l[1] = c, u - n;
var f = n * Math.cos(i) + t,
g = n * Math.sin(i) + e,
v = n * Math.cos(r) + t,
y = n * Math.sin(r) + e,
m = (f - a) * (f - a) + (g - s) * (g - s),
_ = (v - a) * (v - a) + (y - s) * (y - s);
return _ > m ? (l[0] = f, l[1] = g, Math.sqrt(m)) : (l[0] = v, l[1] = y, Math.sqrt(_))
}
function kf(t, e, n, i, r, o, a, s) {
var l = r - t,
u = o - e,
h = n - t,
c = i - e,
p = Math.sqrt(h * h + c * c);
h /= p, c /= p;
var d = l * h + u * c,
f = d / p;
s && (f = Math.min(Math.max(f, 0), 1)), f *= p;
var g = a[0] = t + f * h,
v = a[1] = e + f * c;
return Math.sqrt((g - r) * (g - r) + (v - o) * (v - o))
}
function Af(t, e, n, i, r, o, a) {
0 > n && (t += n, n = -n), 0 > i && (e += i, i = -i);
var s = t + n,
l = e + i,
u = a[0] = Math.min(Math.max(r, t), s),
h = a[1] = Math.min(Math.max(o, e), l);
return Math.sqrt((u - r) * (u - r) + (h - o) * (h - o))
}
function Pf(t, e, n) {
var i = Af(e.x, e.y, e.width, e.height, t.x, t.y, fA);
return n.set(fA[0], fA[1]), i
}
function Lf(t, e, n) {
for (var i, r, o = 0, a = 0, s = 0, l = 0, u = 1 / 0, h = e.data, c = t.x, p = t.y, d = 0; d < h.length;) {
var f = h[d++];
1 === d && (o = h[d], a = h[d + 1], s = o, l = a);
var g = u;
switch (f) {
case pA.M:
s = h[d++], l = h[d++], o = s, a = l;
break;
case pA.L:
g = kf(o, a, h[d], h[d + 1], c, p, fA, !0), o = h[d++], a = h[d++];
break;
case pA.C:
g = vn(o, a, h[d++], h[d++], h[d++], h[d++], h[d], h[d + 1], c, p, fA), o = h[d++], a = h[d++];
break;
case pA.Q:
g = Sn(o, a, h[d++], h[d++], h[d], h[d + 1], c, p, fA), o = h[d++], a = h[d++];
break;
case pA.A:
var v = h[d++],
y = h[d++],
m = h[d++],
_ = h[d++],
x = h[d++],
w = h[d++];
d += 1;
var b = !!(1 - h[d++]);
i = Math.cos(x) * m + v, r = Math.sin(x) * _ + y, 1 >= d && (s = i, l = r);
var S = (c - v) * _ / m + v;
g = Df(v, y, _, x, x + w, b, S, p, fA), o = Math.cos(x + w) * m + v, a = Math.sin(x + w) * _ +
y;
break;
case pA.R:
s = o = h[d++], l = a = h[d++];
var M = h[d++],
T = h[d++];
g = Af(s, l, M, T, c, p, fA);
break;
case pA.Z:
g = kf(o, a, s, l, c, p, fA, !0), o = s, a = l
}
u > g && (u = g, n.set(fA[0], fA[1]))
}
return u
}
function Of(t, e) {
if (t) {
var n = t.getTextGuideLine(),
i = t.getTextContent();
if (i && n) {
var r = t.textGuideLineConfig || {},
o = [
[0, 0],
[0, 0],
[0, 0]
],
a = r.candidates || dA,
s = i.getBoundingRect().clone();
s.applyTransform(i.getComputedTransform());
var l = 1 / 0,
u = r.anchor,
h = t.getComputedTransform(),
c = h && Ye([], h),
p = e.get("length2") || 0;
u && yA.copy(u);
for (var d = 0; d < a.length; d++) {
var f = a[d];
If(f, 0, s, gA, mA), F_.scaleAndAdd(vA, gA, mA, p), vA.transform(c);
var g = t.getBoundingRect(),
v = u ? u.distance(vA) : t instanceof Hb ? Lf(vA, t.path, yA) : Pf(vA, g, yA);
l > v && (l = v, vA.transform(h), yA.transform(h), yA.toArray(o[0]), vA.toArray(o[1]), gA
.toArray(o[2]))
}
Rf(o, e.get("minTurnAngle")), n.setShape({
points: o
})
}
}
}
function Rf(t, e) {
if (180 >= e && e > 0) {
e = e / 180 * Math.PI, gA.fromArray(t[0]), vA.fromArray(t[1]), yA.fromArray(t[2]), F_.sub(mA, gA, vA),
F_.sub(_A, yA, vA);
var n = mA.len(),
i = _A.len();
if (!(.001 > n || .001 > i)) {
mA.scale(1 / n), _A.scale(1 / i);
var r = mA.dot(_A),
o = Math.cos(e);
if (r > o) {
var a = kf(vA.x, vA.y, yA.x, yA.y, gA.x, gA.y, xA, !1);
wA.fromArray(xA), wA.scaleAndAdd(_A, a / Math.tan(Math.PI - e));
var s = yA.x !== vA.x ? (wA.x - vA.x) / (yA.x - vA.x) : (wA.y - vA.y) / (yA.y - vA.y);
if (isNaN(s)) return;
0 > s ? F_.copy(wA, vA) : s > 1 && F_.copy(wA, yA), wA.toArray(t[1])
}
}
}
}
function zf(t, e, n) {
if (180 >= n && n > 0) {
n = n / 180 * Math.PI, gA.fromArray(t[0]), vA.fromArray(t[1]), yA.fromArray(t[2]), F_.sub(mA, vA, gA),
F_.sub(_A, yA, vA);
var i = mA.len(),
r = _A.len();
if (!(.001 > i || .001 > r)) {
mA.scale(1 / i), _A.scale(1 / r);
var o = mA.dot(e),
a = Math.cos(n);
if (a > o) {
var s = kf(vA.x, vA.y, yA.x, yA.y, gA.x, gA.y, xA, !1);
wA.fromArray(xA);
var l = Math.PI / 2,
u = Math.acos(_A.dot(e)),
h = l + u - n;
if (h >= l) F_.copy(wA, yA);
else {
wA.scaleAndAdd(_A, s / Math.tan(Math.PI / 2 - h));
var c = yA.x !== vA.x ? (wA.x - vA.x) / (yA.x - vA.x) : (wA.y - vA.y) / (yA.y - vA.y);
if (isNaN(c)) return;
0 > c ? F_.copy(wA, vA) : c > 1 && F_.copy(wA, yA)
}
wA.toArray(t[1])
}
}
}
}
function Ef(t, e, n, i) {
var r = "normal" === n,
o = r ? t : t.ensureState(n);
o.ignore = e;
var a = i.get("smooth");
a && a === !0 && (a = .3), o.shape = o.shape || {}, a > 0 && (o.shape.smooth = a);
var s = i.getModel("lineStyle").getLineStyle();
r ? t.useStyle(s) : o.style = s
}
function Bf(t, e) {
var n = e.smooth,
i = e.points;
if (i)
if (t.moveTo(i[0][0], i[0][1]), n > 0 && i.length >= 3) {
var r = w_(i[0], i[1]),
o = w_(i[1], i[2]);
if (!r || !o) return t.lineTo(i[1][0], i[1][1]), void t.lineTo(i[2][0], i[2][1]);
var a = Math.min(r, o) * n,
s = ve([], i[1], i[0], a / r),
l = ve([], i[1], i[2], a / o),
u = ve([], s, l, .5);
t.bezierCurveTo(s[0], s[1], s[0], s[1], u[0], u[1]), t.bezierCurveTo(l[0], l[1], l[0], l[1], i[2][
0], i[2][1])
} else
for (var h = 1; h < i.length; h++) t.lineTo(i[h][0], i[h][1])
}
function Nf(t, e, n) {
var i = t.getTextGuideLine(),
r = t.getTextContent();
if (!r) return void(i && t.removeTextGuideLine());
for (var o = e.normal, a = o.get("show"), s = r.ignore, l = 0; l < fS.length; l++) {
var u = fS[l],
h = e[u],
p = "normal" === u;
if (h) {
var d = h.get("show"),
f = p ? s : N(r.states[u] && r.states[u].ignore, s);
if (f || !N(d, a)) {
var g = p ? i : i && i.states[u];
g && (g.ignore = !0);
continue
}
i || (i = new rM, t.setTextGuideLine(i), p || !s && a || Ef(i, !0, "normal", e.normal), t
.stateProxy && (i.stateProxy = t.stateProxy)), Ef(i, !1, u, h)
}
}
if (i) {
c(i.style, n), i.style.fill = null;
var v = o.get("showAbove"),
y = t.textGuideLineConfig = t.textGuideLineConfig || {};
y.showAbove = v || !1, i.buildPath = Bf
}
}
function Ff(t, e) {
e = e || "labelLine";
for (var n = {
normal: t.getModel(e)
}, i = 0; i < dS.length; i++) {
var r = dS[i];
n[r] = t.getModel([r, e])
}
return n
}
function Vf(t) {
for (var e = [], n = 0; n < t.length; n++) {
var i = t[n];
if (!i.defaultAttr.ignore) {
var r = i.label,
o = r.getComputedTransform(),
a = r.getBoundingRect(),
s = !o || o[1] < 1e-5 && o[2] < 1e-5,
l = r.style.margin || 0,
u = a.clone();
u.applyTransform(o), u.x -= l / 2, u.y -= l / 2, u.width += l, u.height += l;
var h = s ? new wM(a, o) : null;
e.push({
label: r,
labelLine: i.labelLine,
rect: u,
localRect: a,
obb: h,
priority: i.priority,
defaultAttr: i.defaultAttr,
layoutOption: i.computedLayoutOption,
axisAligned: s,
transform: o
})
}
}
return e
}
function Hf(t, e, n, i, r, o) {
function a() {
w = S.rect[e] - i, b = r - M.rect[e] - M.rect[n]
}
function s(t, e, n) {
if (0 > t) {
var i = Math.min(e, -t);
if (i > 0) {
l(i * n, 0, c);
var r = i + t;
0 > r && u(-r * n, 1)
} else u(-t * n, 1)
}
}
function l(n, i, r) {
0 !== n && (f = !0);
for (var o = i; r > o; o++) {
var a = t[o],
s = a.rect;
s[e] += n, a.label[e] += n
}
}
function u(i, r) {
for (var o = [], a = 0, s = 1; c > s; s++) {
var u = t[s - 1].rect,
h = Math.max(t[s].rect[e] - u[e] - u[n], 0);
o.push(h), a += h
}
if (a) {
var p = Math.min(Math.abs(i) / a, r);
if (i > 0)
for (var s = 0; c - 1 > s; s++) {
var d = o[s] * p;
l(d, 0, s + 1)
} else
for (var s = c - 1; s > 0; s--) {
var d = o[s - 1] * p;
l(-d, s, c)
}
}
}
function h(t) {
var e = 0 > t ? -1 : 1;
t = Math.abs(t);
for (var n = Math.ceil(t / (c - 1)), i = 0; c - 1 > i; i++)
if (e > 0 ? l(n, 0, i + 1) : l(-n, c - i - 1, c), t -= n, 0 >= t) return
}
var c = t.length;
if (!(2 > c)) {
t.sort(function(t, n) {
return t.rect[e] - n.rect[e]
});
for (var p, d = 0, f = !1, g = [], v = 0, y = 0; c > y; y++) {
var m = t[y],
_ = m.rect;
p = _[e] - d, 0 > p && (_[e] -= p, m.label[e] -= p, f = !0);
var x = Math.max(-p, 0);
g.push(x), v += x, d = _[e] + _[n]
}
v > 0 && o && l(-v / c, 0, c);
var w, b, S = t[0],
M = t[c - 1];
return a(), 0 > w && u(-w, .8), 0 > b && u(b, .8), a(), s(w, b, 1), s(b, w, -1), a(), 0 > w && h(-w),
0 > b && h(b), f
}
}
function Wf(t, e, n, i) {
return Hf(t, "x", "width", e, n, i)
}
function Gf(t, e, n, i) {
return Hf(t, "y", "height", e, n, i)
}
function Uf(t) {
function e(t) {
if (!t.ignore) {
var e = t.ensureState("emphasis");
null == e.ignore && (e.ignore = !1)
}
t.ignore = !0
}
var n = [];
t.sort(function(t, e) {
return e.priority - t.priority
});
for (var i = new q_(0, 0, 0, 0), r = 0; r < t.length; r++) {
var o = t[r],
a = o.axisAligned,
s = o.localRect,
l = o.transform,
u = o.label,
h = o.labelLine;
i.copy(o.rect), i.width -= .1, i.height -= .1, i.x += .05, i.y += .05;
for (var c = o.obb, p = !1, d = 0; d < n.length; d++) {
var f = n[d];
if (i.intersect(f.rect)) {
if (a && f.axisAligned) {
p = !0;
break
}
if (f.obb || (f.obb = new wM(f.localRect, f.transform)), c || (c = new wM(s, l)), c.intersect(f
.obb)) {
p = !0;
break
}
}
}
p ? (e(u), h && e(h)) : (u.attr("ignore", o.defaultAttr.ignore), h && h.attr("ignore", o.defaultAttr
.labelGuideIgnore), n.push(o))
}
}
function Yf(t) {
if (t) {
for (var e = [], n = 0; n < t.length; n++) e.push(t[n].slice());
return e
}
}
function Xf(t, e) {
var n = t.label,
i = e && e.getTextGuideLine();
return {
dataIndex: t.dataIndex,
dataType: t.dataType,
seriesIndex: t.seriesModel.seriesIndex,
text: t.label.style.text,
rect: t.hostRect,
labelRect: t.rect,
align: n.style.align,
verticalAlign: n.style.verticalAlign,
labelLinePoints: Yf(i && i.shape.points)
}
}
function Zf(t, e, n) {
for (var i = 0; i < n.length; i++) {
var r = n[i];
null != e[r] && (t[r] = e[r])
}
}
function qf(t) {
t.registerUpdateLifecycle("series:beforeupdate", function(t, e) {
var n = DA(e).labelManager;
n || (n = DA(e).labelManager = new IA), n.clearLabels()
}), t.registerUpdateLifecycle("series:layoutlabels", function(t, e, n) {
var i = DA(e).labelManager;
n.updatedSeries.forEach(function(t) {
i.addLabelsOfSeries(e.getViewOfSeriesModel(t))
}), i.updateLayoutConfig(e), i.layout(e), i.processLabelsOverall()
})
}
function jf(t, e, n) {
var i = Qm.createCanvas(),
r = e.getWidth(),
o = e.getHeight(),
a = i.style;
return a && (a.position = "absolute", a.left = "0", a.top = "0", a.width = r + "px", a.height = o + "px", i
.setAttribute("data-zr-dom-id", t)), i.width = r * n, i.height = o * n, i
}
function Kf(t) {
return t ? t.__builtin__ ? !0 : "function" != typeof t.resize || "function" != typeof t.refresh ? !1 : !0 :
!1
}
function $f(t, e) {
var n = document.createElement("div");
return n.style.cssText = ["position:relative", "width:" + t + "px", "height:" + e + "px", "padding:0",
"margin:0", "border-width:0"
].join(";") + ";", n
}
function Qf(t) {
t.registerPainter("canvas", RA)
}
function Jf(t) {
t.registerComponentModel(zA), t.registerComponentView(EA)
}
function tg(t) {
return {
seriesType: t,
reset: function(t, e, n) {
var i = t.getData(),
r = t.get("sampling"),
o = t.coordinateSystem,
a = i.count();
if (a > 10 && "cartesian2d" === o.type && r) {
var s = o.getBaseAxis(),
l = o.getOtherAxis(s),
u = s.getExtent(),
h = n.getDevicePixelRatio(),
c = Math.abs(u[1] - u[0]) * (h || 1),
p = Math.round(a / c);
if (isFinite(p) && p > 1) {
"lttb" === r && t.setData(i.lttbDownSample(i.mapDimension(l.dim), 1 / p));
var d = void 0;
C(r) ? d = BA[r] : T(r) && (d = r), d && t.setData(i.downSample(i.mapDimension(l.dim),
1 / p, d, NA))
}
}
}
}
}
function eg(t, e, n, i, r) {
var o = t.getArea(),
a = o.x,
s = o.y,
l = o.width,
u = o.height,
h = n.get(["lineStyle", "width"]) || 2;
a -= h / 2, s -= h / 2, l += h, u += h, a = Math.floor(a), l = Math.round(l);
var c = new Kb({
shape: {
x: a,
y: s,
width: l,
height: u
}
});
if (e) {
var p = t.getBaseAxis(),
d = p.isHorizontal(),
f = p.inverse;
d ? (f && (c.shape.x += l), c.shape.width = 0) : (f || (c.shape.y += u), c.shape.height = 0);
var g = T(r) ? function(t) {
r(t, c)
} : null;
hs(c, {
shape: {
width: l,
height: u,
x: a,
y: s
}
}, n, null, i, g)
}
return c
}
function ng(t, e, n) {
var i = t.getArea(),
r = Yi(i.r0, 1),
o = Yi(i.r, 1),
a = new QS({
shape: {
cx: Yi(t.cx, 1),
cy: Yi(t.cy, 1),
r0: r,
r: o,
startAngle: i.startAngle,
endAngle: i.endAngle,
clockwise: i.clockwise
}
});
if (e) {
var s = "angle" === t.getBaseAxis().dim;
s ? a.shape.endAngle = i.startAngle : a.shape.r = r, hs(a, {
shape: {
endAngle: i.endAngle,
r: o
}
}, n)
}
return a
}
function ig(t, e, n, i, r) {
return t ? "polar" === t.type ? ng(t, e, n) : "cartesian2d" === t.type ? eg(t, e, n, i, r) : null : null
}
function rg(t, e) {
return t.type === e
}
function og(t, e) {
var n = t.mapDimensionsAll("defaultedLabel"),
i = n.length;
if (1 === i) {
var r = Zu(t, e, n[0]);
return null != r ? r + "" : null
}
if (i) {
for (var o = [], a = 0; a < n.length; a++) o.push(Zu(t, e, n[a]));
return o.join(" ")
}
}
function ag(t, e) {
var n = t.mapDimensionsAll("defaultedLabel");
if (!M(e)) return e + "";
for (var i = [], r = 0; r < n.length; r++) {
var o = t.getDimensionIndex(n[r]);
o >= 0 && i.push(e[o])
}
return i.join(" ")
}
function sg(t, e) {
e = e || {};
var n = e.isRoundCap;
return function(e, i, r) {
var o = i.position;
if (!o || o instanceof Array) return Ii(e, i, r);
var a = t(o),
s = null != i.distance ? i.distance : 5,
l = this.shape,
u = l.cx,
h = l.cy,
c = l.r,
p = l.r0,
d = (c + p) / 2,
f = l.startAngle,
g = l.endAngle,
v = (f + g) / 2,
y = n ? Math.abs(c - p) / 2 : 0,
m = Math.cos,
_ = Math.sin,
x = u + c * m(f),
w = h + c * _(f),
b = "left",
S = "top";
switch (a) {
case "startArc":
x = u + (p - s) * m(v), w = h + (p - s) * _(v), b = "center", S = "top";
break;
case "insideStartArc":
x = u + (p + s) * m(v), w = h + (p + s) * _(v), b = "center", S = "bottom";
break;
case "startAngle":
x = u + d * m(f) + ug(f, s + y, !1), w = h + d * _(f) + hg(f, s + y, !1), b = "right", S =
"middle";
break;
case "insideStartAngle":
x = u + d * m(f) + ug(f, -s + y, !1), w = h + d * _(f) + hg(f, -s + y, !1), b = "left", S =
"middle";
break;
case "middle":
x = u + d * m(v), w = h + d * _(v), b = "center", S = "middle";
break;
case "endArc":
x = u + (c + s) * m(v), w = h + (c + s) * _(v), b = "center", S = "bottom";
break;
case "insideEndArc":
x = u + (c - s) * m(v), w = h + (c - s) * _(v), b = "center", S = "top";
break;
case "endAngle":
x = u + d * m(g) + ug(g, s + y, !0), w = h + d * _(g) + hg(g, s + y, !0), b = "left", S =
"middle";
break;
case "insideEndAngle":
x = u + d * m(g) + ug(g, -s + y, !0), w = h + d * _(g) + hg(g, -s + y, !0), b = "right", S =
"middle";
break;
default:
return Ii(e, i, r)
}
return e = e || {}, e.x = x, e.y = w, e.align = b, e.verticalAlign = S, e
}
}
function lg(t, e, n, i) {
if (D(i)) return void t.setTextConfig({
rotation: i
});
if (M(e)) return void t.setTextConfig({
rotation: 0
});
var r, o = t.shape,
a = o.clockwise ? o.startAngle : o.endAngle,
s = o.clockwise ? o.endAngle : o.startAngle,
l = (a + s) / 2,
u = n(e);
switch (u) {
case "startArc":
case "insideStartArc":
case "middle":
case "insideEndArc":
case "endArc":
r = l;
break;
case "startAngle":
case "insideStartAngle":
r = a;
break;
case "endAngle":
case "insideEndAngle":
r = s;
break;
default:
return void t.setTextConfig({
rotation: 0
})
}
var h = 1.5 * Math.PI - r;
"middle" === u && h > Math.PI / 2 && h < 1.5 * Math.PI && (h -= Math.PI), t.setTextConfig({
rotation: h
})
}
function ug(t, e, n) {
return e * Math.sin(t) * (n ? -1 : 1)
}
function hg(t, e, n) {
return e * Math.cos(t) * (n ? 1 : -1)
}
function cg(t, e, n) {
var i = t.get("borderRadius");
if (null == i) return n ? {
cornerRadius: 0
} : null;
M(i) || (i = [i, i, i, i]);
var r = Math.abs(e.r || 0 - e.r0 || 0);
return {
cornerRadius: y(i, function(t) {
return Ci(t, r)
})
}
}
function pg(t, e) {
var n = t.getArea && t.getArea();
if (rg(t, "cartesian2d")) {
var i = t.getBaseAxis();
if ("category" !== i.type || !i.onBand) {
var r = e.getLayout("bandWidth");
i.isHorizontal() ? (n.x -= r, n.width += 2 * r) : (n.y -= r, n.height += 2 * r)
}
}
return n
}
function dg(t, e) {
var n = t.get("realtimeSort", !0),
i = e.getBaseAxis();
return n && "category" === i.type && "cartesian2d" === e.type ? {
baseAxis: i,
otherAxis: e.getOtherAxis(i)
} : void 0
}
function fg(t, e, n, i, r, o, a, s) {
var l, u;
o ? (u = {
x: i.x,
width: i.width
}, l = {
y: i.y,
height: i.height
}) : (u = {
y: i.y,
height: i.height
}, l = {
x: i.x,
width: i.width
}), s || (a ? us : hs)(n, {
shape: l
}, e, r, null);
var h = e ? t.baseAxis.model : null;
(a ? us : hs)(n, {
shape: u
}, h, r)
}
function gg(t, e) {
for (var n = 0; n < e.length; n++)
if (!isFinite(t[e[n]])) return !0;
return !1
}
function vg(t) {
return null != t.startAngle && null != t.endAngle && t.startAngle === t.endAngle
}
function yg(t) {
return function(t) {
var e = t ? "Arc" : "Angle";
return function(t) {
switch (t) {
case "start":
case "insideStart":
case "end":
case "insideEnd":
return t + e;
default:
return t
}
}
}(t)
}
function mg(t, e, n, i, r, o, a, s) {
var l = e.getItemVisual(n, "style");
if (s) {
if (!o.get("roundCap")) {
var u = t.shape,
c = cg(i.getModel("itemStyle"), u, !0);
h(u, c), t.setShape(u)
}
} else {
var p = i.get(["itemStyle", "borderRadius"]) || 0;
t.setShape("r", p)
}
t.useStyle(l);
var d = i.getShallow("cursor");
d && t.attr("cursor", d);
var f = s ? a ? r.r >= r.r0 ? "endArc" : "startArc" : r.endAngle >= r.startAngle ? "endAngle" :
"startAngle" : a ? r.height >= 0 ? "bottom" : "top" : r.width >= 0 ? "right" : "left",
g = Ys(i);
Us(t, g, {
labelFetcher: o,
labelDataIndex: n,
defaultText: og(o.getData(), n),
inheritColor: l.fill,
defaultOpacity: l.opacity,
defaultOutsidePosition: f
});
var y = t.getTextContent();
if (s && y) {
var m = i.get(["label", "position"]);
t.textConfig.inside = "middle" === m ? !0 : null, lg(t, "outside" === m ? f : m, yg(a), i.get(["label",
"rotate"
]))
}
Qs(y, g, o.getRawValue(n), function(t) {
return ag(e, t)
});
var _ = i.getModel(["emphasis"]);
Ra(t, _.get("focus"), _.get("blurScope"), _.get("disabled")), Ea(t, i), vg(r) && (t.style.fill = "none", t
.style.stroke = "none", v(t.states, function(t) {
t.style && (t.style.fill = t.style.stroke = "none")
}))
}
function _g(t, e) {
var n = t.get(["itemStyle", "borderColor"]);
if (!n || "none" === n) return 0;
var i = t.get(["itemStyle", "borderWidth"]) || 0,
r = isNaN(e.width) ? Number.MAX_VALUE : Math.abs(e.width),
o = isNaN(e.height) ? Number.MAX_VALUE : Math.abs(e.height);
return Math.min(i, r, o)
}
function xg(t, e, n, i) {
var r = t.getData(),
o = r.getLayout("valueAxisHorizontal") ? 1 : 0,
a = r.getLayout("largeDataIndices"),
s = r.getLayout("size"),
l = t.getModel("backgroundStyle"),
u = r.getLayout("largeBackgroundPoints");
if (u) {
var h = new JA({
shape: {
points: u
},
incremental: !!i,
silent: !0,
z2: 0
});
h.baseDimIdx = o, h.largeDataIndices = a, h.barWidth = s, h.useStyle(l.getItemStyle()), e.add(h), n && n
.push(h)
}
var c = new JA({
shape: {
points: r.getLayout("largePoints")
},
incremental: !!i,
ignoreCoarsePointer: !0,
z2: 1
});
c.baseDimIdx = o, c.largeDataIndices = a, c.barWidth = s, e.add(c), c.useStyle(r.getVisual("style")), rS(c)
.seriesIndex = t.seriesIndex, t.get("silent") || (c.on("mousedown", tP), c.on("mousemove", tP)), n && n
.push(c)
}
function wg(t, e, n) {
for (var i = t.baseDimIdx, r = 1 - i, o = t.shape.points, a = t.largeDataIndices, s = [], l = [], u = t
.barWidth, h = 0, c = o.length / 3; c > h; h++) {
var p = 3 * h;
if (l[i] = u, l[r] = o[p + 2], s[i] = o[p + i], s[r] = o[p + r], l[r] < 0 && (s[r] += l[r], l[r] = -l[
r]), e >= s[0] && e <= s[0] + l[0] && n >= s[1] && n <= s[1] + l[1]) return a[h]
}
return -1
}
function bg(t, e, n) {
if (rg(n, "cartesian2d")) {
var i = e,
r = n.getArea();
return {
x: t ? i.x : r.x,
y: t ? r.y : i.y,
width: t ? i.width : r.width,
height: t ? r.height : i.height
}
}
var r = n.getArea(),
o = e;
return {
cx: r.cx,
cy: r.cy,
r0: t ? r.r0 : o.r0,
r: t ? r.r : o.r,
startAngle: t ? o.startAngle : 0,
endAngle: t ? o.endAngle : 2 * Math.PI
}
}
function Sg(t, e, n) {
var i = "polar" === t.type ? QS : Kb;
return new i({
shape: bg(e, n, t),
silent: !0,
z2: 0
})
}
function Mg(t) {
t.registerChartView(YA), t.registerSeriesModel(VA), t.registerLayout(t.PRIORITY.VISUAL.LAYOUT, S(yd,
"bar")), t.registerLayout(t.PRIORITY.VISUAL.PROGRESSIVE_LAYOUT, md("bar")), t.registerProcessor(t
.PRIORITY.PROCESSOR.STATISTIC, tg("bar")), t.registerAction({
type: "changeAxisOrder",
event: "changeAxisOrder",
update: "update"
}, function(t, e) {
var n = t.componentType || "series";
e.eachComponent({
mainType: n,
query: t
}, function(e) {
t.sortInfo && e.axis.setCategorySortInfo(t.sortInfo)
})
})
}
function Tg(t, e) {
this.parent.drift(t, e)
}
function Cg(t, e, n, i) {
return !(!e || isNaN(e[0]) || isNaN(e[1]) || i.isIgnore && i.isIgnore(n) || i.clipShape && !i.clipShape
.contain(e[0], e[1]) || "none" === t.getItemVisual(n, "symbol"))
}
function Ig(t) {
return null == t || k(t) || (t = {
isIgnore: t
}), t || {}
}
function Dg(t) {
var e = t.hostModel,
n = e.getModel("emphasis");
return {
emphasisItemStyle: n.getModel("itemStyle").getItemStyle(),
blurItemStyle: e.getModel(["blur", "itemStyle"]).getItemStyle(),
selectItemStyle: e.getModel(["select", "itemStyle"]).getItemStyle(),
focus: n.get("focus"),
blurScope: n.get("blurScope"),
emphasisDisabled: n.get("disabled"),
hoverScale: n.get("scale"),
labelStatesModels: Ys(e),
cursorStyle: e.get("cursor")
}
}
function kg(t, e, n) {
var i = t.getBaseAxis(),
r = t.getOtherAxis(i),
o = Ag(r, n),
a = i.dim,
s = r.dim,
l = e.mapDimension(s),
u = e.mapDimension(a),
h = "x" === s || "radius" === s ? 1 : 0,
c = y(t.dimensions, function(t) {
return e.mapDimension(t)
}),
p = !1,
d = e.getCalculationInfo("stackResultDimension");
return Xp(e, c[0]) && (p = !0, c[0] = d), Xp(e, c[1]) && (p = !0, c[1] = d), {
dataDimsForPoint: c,
valueStart: o,
valueAxisDim: s,
baseAxisDim: a,
stacked: !!p,
valueDim: l,
baseDim: u,
baseDataOffset: h,
stackedOverDimension: e.getCalculationInfo("stackedOverDimension")
}
}
function Ag(t, e) {
var n = 0,
i = t.scale.getExtent();
return "start" === e ? n = i[0] : "end" === e ? n = i[1] : D(e) && !isNaN(e) ? n = e : i[0] > 0 ? n = i[0] :
i[1] < 0 && (n = i[1]), n
}
function Pg(t, e, n, i) {
var r = 0 / 0;
t.stacked && (r = n.get(n.getCalculationInfo("stackedOverDimension"), i)), isNaN(r) && (r = t.valueStart);
var o = t.baseDataOffset,
a = [];
return a[o] = n.get(t.baseDim, i), a[1 - o] = r, e.dataToPoint(a)
}
function Lg(t, e) {
var n = [];
return e.diff(t).add(function(t) {
n.push({
cmd: "+",
idx: t
})
}).update(function(t, e) {
n.push({
cmd: "=",
idx: e,
idx1: t
})
}).remove(function(t) {
n.push({
cmd: "-",
idx: t
})
}).execute(), n
}
function Og(t, e, n, i, r, o, a) {
for (var s = Lg(t, e), l = [], u = [], h = [], c = [], p = [], d = [], f = [], g = kg(r, e, a), v = t
.getLayout("points") || [], y = e.getLayout("points") || [], m = 0; m < s.length; m++) {
var _ = s[m],
x = !0,
w = void 0,
b = void 0;
switch (_.cmd) {
case "=":
w = 2 * _.idx, b = 2 * _.idx1;
var S = v[w],
M = v[w + 1],
T = y[b],
C = y[b + 1];
(isNaN(S) || isNaN(M)) && (S = T, M = C), l.push(S, M), u.push(T, C), h.push(n[w], n[w + 1]), c
.push(i[b], i[b + 1]), f.push(e.getRawIndex(_.idx1));
break;
case "+":
var I = _.idx,
D = g.dataDimsForPoint,
k = r.dataToPoint([e.get(D[0], I), e.get(D[1], I)]);
b = 2 * I, l.push(k[0], k[1]), u.push(y[b], y[b + 1]);
var A = Pg(g, r, e, I);
h.push(A[0], A[1]), c.push(i[b], i[b + 1]), f.push(e.getRawIndex(I));
break;
case "-":
x = !1
}
x && (p.push(_), d.push(d.length))
}
d.sort(function(t, e) {
return f[t] - f[e]
});
for (var P = l.length, L = ud(P), O = ud(P), R = ud(P), z = ud(P), E = [], m = 0; m < d.length; m++) {
var B = d[m],
N = 2 * m,
F = 2 * B;
L[N] = l[F], L[N + 1] = l[F + 1], O[N] = u[F], O[N + 1] = u[F + 1], R[N] = h[F], R[N + 1] = h[F + 1], z[
N] = c[F], z[N + 1] = c[F + 1], E[m] = p[B]
}
return {
current: L,
next: O,
stackedOnCurrent: R,
stackedOnNext: z,
status: E
}
}
function Rg(t, e) {
return isNaN(t) || isNaN(e)
}
function zg(t, e, n, i, r, o, a, s, l) {
for (var u, h, c, p, d, f, g = n, v = 0; i > v; v++) {
var y = e[2 * g],
m = e[2 * g + 1];
if (g >= r || 0 > g) break;
if (Rg(y, m)) {
if (l) {
g += o;
continue
}
break
}
if (g === n) t[o > 0 ? "moveTo" : "lineTo"](y, m), c = y, p = m;
else {
var _ = y - u,
x = m - h;
if (.5 > _ * _ + x * x) {
g += o;
continue
}
if (a > 0) {
for (var w = g + o, b = e[2 * w], S = e[2 * w + 1]; b === y && S === m && i > v;) v++, w += o,
g += o, b = e[2 * w], S = e[2 * w + 1], y = e[2 * g], m = e[2 * g + 1], _ = y - u, x = m -
h;
var M = v + 1;
if (l)
for (; Rg(b, S) && i > M;) M++, w += o, b = e[2 * w], S = e[2 * w + 1];
var T = .5,
C = 0,
I = 0,
D = void 0,
k = void 0;
if (M >= i || Rg(b, S)) d = y, f = m;
else {
C = b - u, I = S - h;
var A = y - u,
P = b - y,
L = m - h,
O = S - m,
R = void 0,
z = void 0;
if ("x" === s) {
R = Math.abs(A), z = Math.abs(P);
var E = C > 0 ? 1 : -1;
d = y - E * R * a, f = m, D = y + E * z * a, k = m
} else if ("y" === s) {
R = Math.abs(L), z = Math.abs(O);
var B = I > 0 ? 1 : -1;
d = y, f = m - B * R * a, D = y, k = m + B * z * a
} else R = Math.sqrt(A * A + L * L), z = Math.sqrt(P * P + O * O), T = z / (z + R), d = y -
C * a * (1 - T), f = m - I * a * (1 - T), D = y + C * a * T, k = m + I * a * T, D = rP(
D, oP(b, y)), k = rP(k, oP(S, m)), D = oP(D, rP(b, y)), k = oP(k, rP(S, m)), C = D -
y, I = k - m, d = y - C * R / z, f = m - I * R / z, d = rP(d, oP(u, y)), f = rP(f, oP(h,
m)), d = oP(d, rP(u, y)), f = oP(f, rP(h, m)), C = y - d, I = m - f, D = y + C * z /
R, k = m + I * z / R
}
t.bezierCurveTo(c, p, d, f, y, m), c = D, p = k
} else t.lineTo(y, m)
}
u = y, h = m, g += o
}
return v
}
function Eg(t, e) {
if (t.length === e.length) {
for (var n = 0; n < t.length; n++)
if (t[n] !== e[n]) return;
return !0
}
}
function Bg(t) {
for (var e = 1 / 0, n = 1 / 0, i = -1 / 0, r = -1 / 0, o = 0; o < t.length;) {
var a = t[o++],
s = t[o++];
isNaN(a) || (e = Math.min(a, e), i = Math.max(a, i)), isNaN(s) || (n = Math.min(s, n), r = Math.max(s,
r))
}
return [
[e, n],
[i, r]
]
}
function Ng(t, e) {
var n = Bg(t),
i = n[0],
r = n[1],
o = Bg(e),
a = o[0],
s = o[1];
return Math.max(Math.abs(i[0] - a[0]), Math.abs(i[1] - a[1]), Math.abs(r[0] - s[0]), Math.abs(r[1] - s[1]))
}
function Fg(t) {
return D(t) ? t : t ? .5 : 0
}
function Vg(t, e, n) {
if (!n.valueDim) return [];
for (var i = e.count(), r = ud(2 * i), o = 0; i > o; o++) {
var a = Pg(n, t, e, o);
r[2 * o] = a[0], r[2 * o + 1] = a[1]
}
return r
}
function Hg(t, e, n, i) {
var r = e.getBaseAxis(),
o = "x" === r.dim || "radius" === r.dim ? 0 : 1,
a = [],
s = 0,
l = [],
u = [],
h = [],
c = [];
if (i) {
for (s = 0; s < t.length; s += 2) isNaN(t[s]) || isNaN(t[s + 1]) || c.push(t[s], t[s + 1]);
t = c
}
for (s = 0; s < t.length - 2; s += 2) switch (h[0] = t[s + 2], h[1] = t[s + 3], u[0] = t[s], u[1] = t[s +
1], a.push(u[0], u[1]), n) {
case "end":
l[o] = h[o], l[1 - o] = u[1 - o], a.push(l[0], l[1]);
break;
case "middle":
var p = (u[o] + h[o]) / 2,
d = [];
l[o] = d[o] = p, l[1 - o] = u[1 - o], d[1 - o] = h[1 - o], a.push(l[0], l[1]), a.push(d[0], d[
1]);
break;
default:
l[o] = u[o], l[1 - o] = h[1 - o], a.push(l[0], l[1])
}
return a.push(t[s++], t[s++]), a
}
function Wg(t, e) {
function n(t, e, n) {
var i = t.coord,
r = (n - i) / (e.coord - i),
o = Wn(r, [t.color, e.color]);
return {
coord: n,
color: o
}
}
for (var i, r, o = [], a = t.length, s = 0; a > s; s++) {
var l = t[s],
u = l.coord;
if (0 > u) i = l;
else {
if (u > e) {
r ? o.push(n(r, l, e)) : i && o.push(n(i, l, 0), n(i, l, e));
break
}
i && (o.push(n(i, l, 0)), i = null), o.push(l), r = l
}
}
return o
}
function Gg(t, e, n) {
var i = t.getVisual("visualMeta");
if (i && i.length && t.count() && "cartesian2d" === e.type) {
for (var r, o, a = i.length - 1; a >= 0; a--) {
var s = t.getDimensionInfo(i[a].dimension);
if (r = s && s.coordDim, "x" === r || "y" === r) {
o = i[a];
break
}
}
if (o) {
var l = e.getAxis(r),
u = y(o.stops, function(t) {
return {
coord: l.toGlobalCoord(l.dataToCoord(t.value)),
color: t.color
}
}),
h = u.length,
c = o.outerColors.slice();
h && u[0].coord > u[h - 1].coord && (u.reverse(), c.reverse());
var p = Wg(u, "x" === r ? n.getWidth() : n.getHeight()),
d = p.length;
if (!d && h) return u[0].coord < 0 ? c[1] ? c[1] : u[h - 1].color : c[0] ? c[0] : u[0].color;
var f = 10,
g = p[0].coord - f,
m = p[d - 1].coord + f,
_ = m - g;
if (.001 > _) return "transparent";
v(p, function(t) {
t.offset = (t.coord - g) / _
}), p.push({
offset: d ? p[d - 1].offset : .5,
color: c[1] || "transparent"
}), p.unshift({
offset: d ? p[0].offset : .5,
color: c[0] || "transparent"
});
var x = new gM(0, 0, 0, 0, p, !0);
return x[r] = g, x[r + "2"] = m, x
}
}
}
function Ug(t, e, n) {
var i = t.get("showAllSymbol"),
r = "auto" === i;
if (!i || r) {
var o = n.getAxesByScale("ordinal")[0];
if (o && (!r || !Yg(o, e))) {
var a = e.mapDimension(o.dim),
s = {};
return v(o.getViewLabels(), function(t) {
var e = o.scale.getRawOrdinalNumber(t.tickValue);
s[e] = 1
}),
function(t) {
return !s.hasOwnProperty(e.get(a, t))
}
}
}
}
function Yg(t, e) {
var n = t.getExtent(),
i = Math.abs(n[1] - n[0]) / t.scale.count();
isNaN(i) && (i = 0);
for (var r = e.count(), o = Math.max(1, Math.round(r / 5)), a = 0; r > a; a += o)
if (1.5 * nP.getSymbolSize(e, a)[t.isHorizontal() ? 1 : 0] > i) return !1;
return !0
}
function Xg(t, e) {
return isNaN(t) || isNaN(e)
}
function Zg(t) {
for (var e = t.length / 2; e > 0 && Xg(t[2 * e - 2], t[2 * e - 1]); e--);
return e - 1
}
function qg(t, e) {
return [t[2 * e], t[2 * e + 1]]
}
function jg(t, e, n) {
for (var i, r, o = t.length / 2, a = "x" === n ? 0 : 1, s = 0, l = -1, u = 0; o > u; u++)
if (r = t[2 * u + a], !isNaN(r) && !isNaN(t[2 * u + 1 - a]))
if (0 !== u) {
if (e >= i && r >= e || i >= e && e >= r) {
l = u;
break
}
s = u, i = r
} else i = r;
return {
range: [s, l],
t: (e - i) / (r - i)
}
}
function Kg(t) {
if (t.get(["endLabel", "show"])) return !0;
for (var e = 0; e < dS.length; e++)
if (t.get([dS[e], "endLabel", "show"])) return !0;
return !1
}
function $g(t, e, n, i) {
if (rg(e, "cartesian2d")) {
var r = i.getModel("endLabel"),
o = r.get("valueAnimation"),
a = i.getData(),
s = {
lastFrameIndex: 0
},
l = Kg(i) ? function(n, i) {
t._endLabelOnDuring(n, i, a, s, o, r, e)
} : null,
u = e.getBaseAxis().isHorizontal(),
h = eg(e, n, i, function() {
var e = t._endLabel;
e && n && null != s.originalX && e.attr({
x: s.originalX,
y: s.originalY
})
}, l);
if (!i.get("clip", !0)) {
var c = h.shape,
p = Math.max(c.width, c.height);
u ? (c.y -= p, c.height += 2 * p) : (c.x -= p, c.width += 2 * p)
}
return l && l(1, h), h
}
return ng(e, n, i)
}
function Qg(t, e) {
var n = e.getBaseAxis(),
i = n.isHorizontal(),
r = n.inverse,
o = i ? r ? "right" : "left" : "center",
a = i ? "middle" : r ? "top" : "bottom";
return {
normal: {
align: t.get("align") || o,
verticalAlign: t.get("verticalAlign") || a
}
}
}
function Jg(t, e) {
return {
seriesType: t,
plan: Vh(),
reset: function(t) {
var n = t.getData(),
i = t.coordinateSystem,
r = t.pipelineContext,
o = e || r.large;
if (i) {
var a = y(i.dimensions, function(t) {
return n.mapDimension(t)
}).slice(0, 2),
s = a.length,
l = n.getCalculationInfo("stackResultDimension");
Xp(n, a[0]) && (a[0] = l), Xp(n, a[1]) && (a[1] = l);
var u = n.getStore(),
h = n.getDimensionIndex(a[0]),
c = n.getDimensionIndex(a[1]);
return s && {
progress: function(t, e) {
for (var n = t.end - t.start, r = o && ud(n * s), a = [], l = [], p = t
.start, d = 0; p < t.end; p++) {
var f = void 0;
if (1 === s) {
var g = u.get(h, p);
f = i.dataToPoint(g, null, l)
} else a[0] = u.get(h, p), a[1] = u.get(c, p), f = i.dataToPoint(a,
null, l);
o ? (r[d++] = f[0], r[d++] = f[1]) : e.setItemLayout(p, f.slice())
}
o && e.setLayout("points", r)
}
}
}
}
}
}
function tv(t) {
t.registerChartView(hP), t.registerSeriesModel(eP), t.registerLayout(Jg("line", !0)), t.registerVisual({
seriesType: "line",
reset: function(t) {
var e = t.getData(),
n = t.getModel("lineStyle").getLineStyle();
n && !n.stroke && (n.stroke = e.getVisual("style").fill), e.setVisual("legendLineStyle",
n)
}
}), t.registerProcessor(t.PRIORITY.PROCESSOR.STATISTIC, tg("line"))
}
function ev(t, e) {
return Hl(t.getBoxLayoutParams(), {
width: e.getWidth(),
height: e.getHeight()
})
}
function nv(t, e) {
var n = ev(t, e),
i = t.get("center"),
r = t.get("radius");
M(r) || (r = [0, r]);
var o, a, s = Ui(n.width, e.getWidth()),
l = Ui(n.height, e.getHeight()),
u = Math.min(s, l),
h = Ui(r[0], u / 2),
c = Ui(r[1], u / 2),
p = t.coordinateSystem;
if (p) {
var d = p.dataToPoint(i);
o = d[0] || 0, a = d[1] || 0
} else M(i) || (i = [i, i]), o = Ui(i[0], s) + n.x, a = Ui(i[1], l) + n.y;
return {
cx: o,
cy: a,
r0: h,
r: c
}
}
function iv(t, e, n) {
e.eachSeriesByType(t, function(t) {
var e = t.getData(),
i = e.mapDimension("value"),
r = ev(t, n),
o = nv(t, n),
a = o.cx,
s = o.cy,
l = o.r,
u = o.r0,
h = -t.get("startAngle") * pP,
c = t.get("minAngle") * pP,
p = 0;
e.each(i, function(t) {
!isNaN(t) && p++
});
var d = e.getSum(i),
f = Math.PI / (d || p) * 2,
g = t.get("clockwise"),
v = t.get("roseType"),
y = t.get("stillShowZeroSum"),
m = e.getDataExtent(i);
m[0] = 0;
var _ = cP,
x = 0,
w = h,
b = g ? 1 : -1;
if (e.setLayout({
viewRect: r,
r: l
}), e.each(i, function(t, n) {
var i;
if (isNaN(t)) return void e.setItemLayout(n, {
angle: 0 / 0,
startAngle: 0 / 0,
endAngle: 0 / 0,
clockwise: g,
cx: a,
cy: s,
r0: u,
r: v ? 0 / 0 : l
});
i = "area" !== v ? 0 === d && y ? f : t * f : cP / p, c > i ? (i = c, _ -= c) : x +=
t;
var r = w + b * i;
e.setItemLayout(n, {
angle: i,
startAngle: w,
endAngle: r,
clockwise: g,
cx: a,
cy: s,
r0: u,
r: v ? Gi(t, m, [u, l]) : l
}), w = r
}), cP > _ && p)
if (.001 >= _) {
var S = cP / p;
e.each(i, function(t, n) {
if (!isNaN(t)) {
var i = e.getItemLayout(n);
i.angle = S, i.startAngle = h + b * n * S, i.endAngle = h + b * (n +
1) * S
}
})
} else f = _ / x, w = h, e.each(i, function(t, n) {
if (!isNaN(t)) {
var i = e.getItemLayout(n),
r = i.angle === c ? c : t * f;
i.startAngle = w, i.endAngle = w + b * r, w += b * r
}
})
})
}
function rv(t) {
return {
seriesType: t,
reset: function(t, e) {
var n = e.findComponents({
mainType: "legend"
});
if (n && n.length) {
var i = t.getData();
i.filterSelf(function(t) {
for (var e = i.getName(t), r = 0; r < n.length; r++)
if (!n[r].isSelected(e)) return !1;
return !0
})
}
}
}
}
function ov(t, e, n, i, r, o, a, s, l, u) {
function h(t) {
for (var o = t.rB, a = o * o, s = 0; s < t.list.length; s++) {
var l = t.list[s],
u = Math.abs(l.label.y - n),
h = i + l.len,
c = h * h,
p = Math.sqrt((1 - Math.abs(u * u / a)) * c),
d = e + (p + l.len2) * r,
f = d - l.label.x,
g = l.targetTextWidth - f * r;
sv(l, g, !0), l.label.x = d
}
}
function c(t) {
for (var o = {
list: [],
maxY: 0
}, a = {
list: [],
maxY: 0
}, s = 0; s < t.length; s++)
if ("none" === t[s].labelAlignTo) {
var l = t[s],
u = l.label.y > n ? a : o,
c = Math.abs(l.label.y - n);
if (c >= u.maxY) {
var p = l.label.x - e - l.len2 * r,
d = i + l.len,
f = Math.abs(p) < d ? Math.sqrt(c * c / (1 - p * p / d / d)) : d;
u.rB = f, u.maxY = c
}
u.list.push(l)
} h(o), h(a)
}
if (!(t.length < 2)) {
for (var p = t.length, d = 0; p > d; d++)
if ("outer" === t[d].position && "labelLine" === t[d].labelAlignTo) {
var f = t[d].label.x - u;
t[d].linePoints[1][0] += f, t[d].label.x = u
} Gf(t, l, l + a) && c(t)
}
}
function av(t, e, n, i, r, o, a, s) {
for (var l = [], u = [], h = Number.MAX_VALUE, c = -Number.MAX_VALUE, p = 0; p < t.length; p++) {
var d = t[p].label;
lv(t[p]) || (d.x < e ? (h = Math.min(h, d.x), l.push(t[p])) : (c = Math.max(c, d.x), u.push(t[p])))
}
for (var p = 0; p < t.length; p++) {
var f = t[p];
if (!lv(f) && f.linePoints) {
if (null != f.labelStyleWidth) continue;
var d = f.label,
g = f.linePoints,
v = void 0;
v = "edge" === f.labelAlignTo ? d.x < e ? g[2][0] - f.labelDistance - a - f.edgeDistance : a + r - f
.edgeDistance - g[2][0] - f.labelDistance : "labelLine" === f.labelAlignTo ? d.x < e ? h - a - f
.bleedMargin : a + r - c - f.bleedMargin : d.x < e ? d.x - a - f.bleedMargin : a + r - d.x - f
.bleedMargin, f.targetTextWidth = v, sv(f, v)
}
}
ov(u, e, n, i, 1, r, o, a, s, c), ov(l, e, n, i, -1, r, o, a, s, h);
for (var p = 0; p < t.length; p++) {
var f = t[p];
if (!lv(f) && f.linePoints) {
var d = f.label,
g = f.linePoints,
y = "edge" === f.labelAlignTo,
m = d.style.padding,
_ = m ? m[1] + m[3] : 0,
x = d.style.backgroundColor ? 0 : _,
w = f.rect.width + x,
b = g[1][0] - g[2][0];
y ? g[2][0] = d.x < e ? a + f.edgeDistance + w + f.labelDistance : a + r - f.edgeDistance - w - f
.labelDistance : (g[2][0] = d.x < e ? d.x + f.labelDistance : d.x - f.labelDistance, g[1][0] =
g[2][0] + b), g[1][1] = g[2][1] = d.y
}
}
}
function sv(t, e, n) {
if (void 0 === n && (n = !1), null == t.labelStyleWidth) {
var i = t.label,
r = i.style,
o = t.rect,
a = r.backgroundColor,
s = r.padding,
l = s ? s[1] + s[3] : 0,
u = r.overflow,
h = o.width + (a ? 0 : l);
if (h > e || n) {
var c = o.height;
if (u && u.match("break")) {
i.setStyle("backgroundColor", null), i.setStyle("width", e - l);
var p = i.getBoundingRect();
i.setStyle("width", Math.ceil(p.width)), i.setStyle("backgroundColor", a)
} else {
var d = e - l,
f = h > e ? d : n ? d > t.unconstrainedWidth ? null : d : null;
i.setStyle("width", f)
}
var g = i.getBoundingRect();
o.width = g.width;
var v = (i.style.margin || 0) + 2.1;
o.height = g.height + v, o.y -= (o.height - c) / 2
}
}
}
function lv(t) {
return "center" === t.position
}
function uv(t) {
function e(t) {
t.ignore = !0
}
function n(t) {
if (!t.ignore) return !0;
for (var e in t.states)
if (t.states[e].ignore === !1) return !0;
return !1
}
var i, r, o = t.getData(),
a = [],
s = !1,
l = (t.get("minShowLabelAngle") || 0) * dP,
u = o.getLayout("viewRect"),
h = o.getLayout("r"),
c = u.width,
p = u.x,
d = u.y,
f = u.height;
o.each(function(t) {
var u = o.getItemGraphicEl(t),
d = u.shape,
f = u.getTextContent(),
g = u.getTextGuideLine(),
y = o.getItemModel(t),
m = y.getModel("label"),
_ = m.get("position") || y.get(["emphasis", "label", "position"]),
x = m.get("distanceToLabelLine"),
w = m.get("alignTo"),
b = Ui(m.get("edgeDistance"), c),
S = m.get("bleedMargin"),
M = y.getModel("labelLine"),
T = M.get("length");
T = Ui(T, c);
var C = M.get("length2");
if (C = Ui(C, c), Math.abs(d.endAngle - d.startAngle) < l) return v(f.states, e), f.ignore = !0,
void(g && (v(g.states, e), g.ignore = !0));
if (n(f)) {
var I, k, A, P, L = (d.startAngle + d.endAngle) / 2,
O = Math.cos(L),
R = Math.sin(L);
i = d.cx, r = d.cy;
var z = "inside" === _ || "inner" === _;
if ("center" === _) I = d.cx, k = d.cy, P = "center";
else {
var E = (z ? (d.r + d.r0) / 2 * O : d.r * O) + i,
B = (z ? (d.r + d.r0) / 2 * R : d.r * R) + r;
if (I = E + 3 * O, k = B + 3 * R, !z) {
var N = E + O * (T + h - d.r),
F = B + R * (T + h - d.r),
V = N + (0 > O ? -1 : 1) * C,
H = F;
I = "edge" === w ? 0 > O ? p + b : p + c - b : V + (0 > O ? -x : x), k = H, A = [
[E, B],
[N, F],
[V, H]
]
}
P = z ? "center" : "edge" === w ? O > 0 ? "right" : "left" : O > 0 ? "left" : "right"
}
var W = Math.PI,
G = 0,
U = m.get("rotate");
if (D(U)) G = U * (W / 180);
else if ("center" === _) G = 0;
else if ("radial" === U || U === !0) {
var Y = 0 > O ? -L + W : -L;
G = Y
} else if ("tangential" === U && "outside" !== _ && "outer" !== _) {
var X = Math.atan2(O, R);
0 > X && (X = 2 * W + X);
var Z = R > 0;
Z && (X = W + X), G = X - W
}
if (s = !!G, f.x = I, f.y = k, f.rotation = G, f.setStyle({
verticalAlign: "middle"
}), z) {
f.setStyle({
align: P
});
var q = f.states.select;
q && (q.x += f.x, q.y += f.y)
} else {
var j = f.getBoundingRect().clone();
j.applyTransform(f.getComputedTransform());
var K = (f.style.margin || 0) + 2.1;
j.y -= K / 2, j.height += K, a.push({
label: f,
labelLine: g,
position: _,
len: T,
len2: C,
minTurnAngle: M.get("minTurnAngle"),
maxSurfaceAngle: M.get("maxSurfaceAngle"),
surfaceNormal: new F_(O, R),
linePoints: A,
textAlign: P,
labelDistance: x,
labelAlignTo: w,
edgeDistance: b,
bleedMargin: S,
rect: j,
unconstrainedWidth: j.width,
labelStyleWidth: f.style.width
})
}
u.setTextConfig({
inside: z
})
}
}), !s && t.get("avoidLabelOverlap") && av(a, i, r, h, c, f, p, d);
for (var g = 0; g < a.length; g++) {
var y = a[g],
m = y.label,
_ = y.labelLine,
x = isNaN(m.x) || isNaN(m.y);
if (m) {
m.setStyle({
align: y.textAlign
}), x && (v(m.states, e), m.ignore = !0);
var w = m.states.select;
w && (w.x += m.x, w.y += m.y)
}
if (_) {
var b = y.linePoints;
x || !b ? (v(_.states, e), _.ignore = !0) : (Rf(b, y.minTurnAngle), zf(b, y.surfaceNormal, y
.maxSurfaceAngle), _.setShape({
points: b
}), m.__hostTarget.textGuideLineConfig = {
anchor: new F_(b[0][0], b[0][1])
})
}
}
}
function hv(t, e, n) {
e = M(e) && {
coordDimensions: e
} || h({
encodeDefine: t.getEncode()
}, e);
var i = t.getSource(),
r = Np(i, e).dimensions,
o = new _k(r, t);
return o.initData(i, n), o
}
function cv(t) {
return {
seriesType: t,
reset: function(t) {
var e = t.getData();
e.filterSelf(function(t) {
var n = e.mapDimension("value"),
i = e.get(n, t);
return D(i) && !isNaN(i) && 0 > i ? !1 : !0
})
}
}
}
function pv(t) {
t.registerChartView(gP), t.registerSeriesModel(mP), uc("pie", t.registerAction), t.registerLayout(S(iv,
"pie")), t.registerProcessor(rv("pie")), t.registerProcessor(cv("pie"))
}
function dv(t, n, i, r) {
v(IP, function(o, a) {
var s = l(l({}, CP[a], !0), r, !0),
u = function(t) {
function i() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n + "Axis." + a, e
}
return e(i, t), i.prototype.mergeDefaultAndTheme = function(t, e) {
var n = Wl(this),
i = n ? Ul(t) : {},
r = e.getTheme();
l(t, r.get(a + "Axis")), l(t, this.getDefaultOption()), t.type = fv(t), n && Gl(
t, i, n)
}, i.prototype.optionUpdated = function() {
var t = this.option;
"category" === t.type && (this.__ordinalMeta = Mk.createByAxisModel(this))
}, i.prototype.getCategories = function(t) {
var e = this.option;
return "category" === e.type ? t ? e.data : this.__ordinalMeta.categories :
void 0
}, i.prototype.getOrdinalMeta = function() {
return this.__ordinalMeta
}, i.type = n + "Axis." + a, i.defaultOption = s, i
}(i);
t.registerComponentModel(u)
}), t.registerSubTypeDefaulter(n + "Axis", fv)
}
function fv(t) {
return t.type || (t.data ? "category" : "value")
}
function gv(t) {
return "interval" === t.type || "time" === t.type
}
function vv(t, e, n) {
n = n || {};
var i = t.coordinateSystem,
r = e.axis,
o = {},
a = r.getAxesOnZeroOf()[0],
s = r.position,
l = a ? "onZero" : s,
u = r.dim,
h = i.getRect(),
c = [h.x, h.x + h.width, h.y, h.y + h.height],
p = {
left: 0,
right: 1,
top: 0,
bottom: 1,
onZero: 2
},
d = e.get("offset") || 0,
f = "x" === u ? [c[2] - d, c[3] + d] : [c[0] - d, c[1] + d];
if (a) {
var g = a.toGlobalCoord(a.dataToCoord(0));
f[p.onZero] = Math.max(Math.min(g, f[1]), f[0])
}
o.position = ["y" === u ? f[p[l]] : c[0], "x" === u ? f[p[l]] : c[3]], o.rotation = Math.PI / 2 * ("x" ===
u ? 0 : 1);
var v = {
top: -1,
bottom: 1,
left: -1,
right: 1
};
o.labelDirection = o.tickDirection = o.nameDirection = v[s], o.labelOffset = a ? f[p[s]] - f[p.onZero] : 0,
e.get(["axisTick", "inside"]) && (o.tickDirection = -o.tickDirection), B(n.labelInside, e.get([
"axisLabel", "inside"
])) && (o.labelDirection = -o.labelDirection);
var y = e.get(["axisLabel", "rotate"]);
return o.labelRotate = "top" === l ? -y : y, o.z2 = 1, o
}
function yv(t) {
return "cartesian2d" === t.get("coordinateSystem")
}
function mv(t) {
var e = {
xAxisModel: null,
yAxisModel: null
};
return v(e, function(n, i) {
var r = i.replace(/Model$/, ""),
o = t.getReferringComponents(r, zw).models[0];
e[i] = o
}), e
}
function _v(t, e, n) {
var i = Ik.prototype,
r = i.getTicks.call(n),
o = i.getTicks.call(n, !0),
a = r.length - 1,
s = i.getInterval.call(n),
l = Od(t, e),
u = l.extent,
h = l.fixMin,
c = l.fixMax;
if ("log" === t.type) {
var p = LP(t.base);
u = [LP(u[0]) / p, LP(u[1]) / p]
}
t.setExtent(u[0], u[1]), t.calcNiceExtent({
splitNumber: a,
fixMin: h,
fixMax: c
});
var d = i.getExtent.call(t);
h && (u[0] = d[0]), c && (u[1] = d[1]);
var f = i.getInterval.call(t),
g = u[0],
v = u[1];
if (h && c) f = (v - g) / a;
else if (h)
for (v = u[0] + f * a; v < u[1] && isFinite(v) && isFinite(u[1]);) f = nd(f), v = u[0] + f * a;
else if (c)
for (g = u[1] - f * a; g > u[0] && isFinite(g) && isFinite(u[0]);) f = nd(f), g = u[1] - f * a;
else {
var y = t.getTicks().length - 1;
y > a && (f = nd(f));
var m = f * a;
v = Math.ceil(u[1] / f) * f, g = Yi(v - m), 0 > g && u[0] >= 0 ? (g = 0, v = Yi(m)) : v > 0 && u[1] <=
0 && (v = 0, g = -Yi(m))
}
var _ = (r[0].value - o[0].value) / s,
x = (r[a].value - o[a].value) / s;
i.setExtent.call(t, g + f * _, v + f * x), i.setInterval.call(t, f), (_ || x) && i.setNiceExtent.call(t, g +
f, v - f)
}
function xv(t, e) {
return t.getCoordSysModel() === e
}
function wv(t, e, n, i) {
function r(t) {
return t.dim + "_" + t.index
}
n.getAxesOnZeroOf = function() {
return o ? [o] : []
};
var o, a = t[e],
s = n.model,
l = s.get(["axisLine", "onZero"]),
u = s.get(["axisLine", "onZeroAxisIndex"]);
if (l) {
if (null != u) bv(a[u]) && (o = a[u]);
else
for (var h in a)
if (a.hasOwnProperty(h) && bv(a[h]) && !i[r(a[h])]) {
o = a[h];
break
} o && (i[r(o)] = !0)
}
}
function bv(t) {
return t && "category" !== t.type && "time" !== t.type && Bd(t)
}
function Sv(t, e) {
var n = t.getExtent(),
i = n[0] + n[1];
t.toGlobalCoord = "x" === t.dim ? function(t) {
return t + e
} : function(t) {
return i - t + e
}, t.toLocalCoord = "x" === t.dim ? function(t) {
return t - e
} : function(t) {
return i - t + e
}
}
function Mv(t, e, n, i) {
var r, o, a = Ji(n - t),
s = i[0] > i[1],
l = "start" === e && !s || "start" !== e && s;
return tr(a - RP / 2) ? (o = l ? "bottom" : "top", r = "center") : tr(a - 1.5 * RP) ? (o = l ? "top" :
"bottom", r = "center") : (o = "middle", r = 1.5 * RP > a && a > RP / 2 ? l ? "left" : "right" : l ?
"right" : "left"), {
rotation: a,
textAlign: r,
textVerticalAlign: o
}
}
function Tv(t, e, n) {
if (!Gd(t.axis)) {
var i = t.get(["axisLabel", "showMinLabel"]),
r = t.get(["axisLabel", "showMaxLabel"]);
e = e || [], n = n || [];
var o = e[0],
a = e[1],
s = e[e.length - 1],
l = e[e.length - 2],
u = n[0],
h = n[1],
c = n[n.length - 1],
p = n[n.length - 2];
i === !1 ? (Cv(o), Cv(u)) : Iv(o, a) && (i ? (Cv(a), Cv(h)) : (Cv(o), Cv(u))), r === !1 ? (Cv(s), Cv(
c)) : Iv(l, s) && (r ? (Cv(l), Cv(p)) : (Cv(s), Cv(c)))
}
}
function Cv(t) {
t && (t.ignore = !0)
}
function Iv(t, e) {
var n = t && t.getBoundingRect().clone(),
i = e && e.getBoundingRect().clone();
if (n && i) {
var r = Fe([]);
return Ge(r, r, -t.rotation), n.applyTransform(He([], r, t.getLocalTransform())), i.applyTransform(He(
[], r, e.getLocalTransform())), n.intersect(i)
}
}
function Dv(t) {
return "middle" === t || "center" === t
}
function kv(t, e, n, i, r) {
for (var o = [], a = [], s = [], l = 0; l < t.length; l++) {
var u = t[l].coord;
a[0] = u, a[1] = 0, s[0] = u, s[1] = n, e && (ye(a, a, e), ye(s, s, e));
var h = new sM({
shape: {
x1: a[0],
y1: a[1],
x2: s[0],
y2: s[1]
},
style: i,
z2: 2,
autoBatch: !0,
silent: !0
});
Ms(h.shape, h.style.lineWidth), h.anid = r + "_" + t[l].tickValue, o.push(h)
}
return o
}
function Av(t, e, n, i) {
var r = n.axis,
o = n.getModel("axisTick"),
a = o.get("show");
if ("auto" === a && i.handleAutoShown && (a = i.handleAutoShown("axisTick")), a && !r.scale.isBlank()) {
for (var s = o.getModel("lineStyle"), l = i.tickDirection * o.get("length"), u = r.getTicksCoords(), h =
kv(u, e.transform, l, c(s.getLineStyle(), {
stroke: n.get(["axisLine", "lineStyle", "color"])
}), "ticks"), p = 0; p < h.length; p++) t.add(h[p]);
return h
}
}
function Pv(t, e, n, i) {
var r = n.axis,
o = n.getModel("minorTick");
if (o.get("show") && !r.scale.isBlank()) {
var a = r.getMinorTicksCoords();
if (a.length)
for (var s = o.getModel("lineStyle"), l = i * o.get("length"), u = c(s.getLineStyle(), c(n.getModel(
"axisTick").getLineStyle(), {
stroke: n.get(["axisLine", "lineStyle", "color"])
})), h = 0; h < a.length; h++)
for (var p = kv(a[h], e.transform, l, u, "minorticks_" + h), d = 0; d < p.length; d++) t.add(p[
d])
}
}
function Lv(t, e, n, i) {
var r = n.axis,
o = B(i.axisLabelShow, n.get(["axisLabel", "show"]));
if (o && !r.scale.isBlank()) {
var a = n.getModel("axisLabel"),
s = a.get("margin"),
l = r.getViewLabels(),
u = (B(i.labelRotate, a.get("rotate")) || 0) * RP / 180,
h = zP.innerTextLayout(i.rotation, u, i.labelDirection),
c = n.getCategories && n.getCategories(!0),
p = [],
d = zP.isLabelSilent(n),
f = n.get("triggerEvent");
return v(l, function(o, l) {
var u = "ordinal" === r.scale.type ? r.scale.getRawOrdinalNumber(o.tickValue) : o.tickValue,
g = o.formattedLabel,
v = o.rawLabel,
y = a;
if (c && c[u]) {
var m = c[u];
k(m) && m.textStyle && (y = new ZM(m.textStyle, a, n.ecModel))
}
var _ = y.getTextColor() || n.get(["axisLine", "lineStyle", "color"]),
x = r.dataToCoord(u),
w = new tS({
x: x,
y: i.labelOffset + i.labelDirection * s,
rotation: h.rotation,
silent: d,
z2: 10 + (o.level || 0),
style: Xs(y, {
text: g,
align: y.getShallow("align", !0) || h.textAlign,
verticalAlign: y.getShallow("verticalAlign", !0) || y.getShallow(
"baseline", !0) || h.textVerticalAlign,
fill: T(_) ? _("category" === r.type ? v : "value" === r.type ? u +
"" : u, l) : _
})
});
if (w.anid = "label_" + u, f) {
var b = zP.makeAxisEventDataBase(n);
b.targetType = "axisLabel", b.value = v, b.tickIndex = l, "category" === r.type && (b
.dataIndex = u), rS(w).eventData = b
}
e.add(w), w.updateTransform(), p.push(w), t.add(w), w.decomposeTransform()
}), p
}
}
function Ov(t, e) {
var n = {
axesInfo: {},
seriesInvolved: !1,
coordSysAxesInfo: {},
coordSysMap: {}
};
return Rv(n, t, e), n.seriesInvolved && Ev(n, t), n
}
function Rv(t, e, n) {
var i = e.getComponent("tooltip"),
r = e.getComponent("axisPointer"),
o = r.get("link", !0) || [],
a = [];
v(n.getCoordinateSystems(), function(n) {
function s(i, s, l) {
var h = l.model.getModel("axisPointer", r),
p = h.get("show");
if (p && ("auto" !== p || i || Wv(h))) {
null == s && (s = h.get("triggerTooltip")), h = i ? zv(l, c, r, e, i, s) : h;
var d = h.get("snap"),
f = h.get("triggerEmphasis"),
g = Gv(l.model),
v = s || d || "category" === l.type,
y = t.axesInfo[g] = {
key: g,
axis: l,
coordSys: n,
axisPointerModel: h,
triggerTooltip: s,
triggerEmphasis: f,
involveSeries: v,
snap: d,
useHandle: Wv(h),
seriesModels: [],
linkGroup: null
};
u[g] = y, t.seriesInvolved = t.seriesInvolved || v;
var m = Bv(o, l);
if (null != m) {
var _ = a[m] || (a[m] = {
axesInfo: {}
});
_.axesInfo[g] = y, _.mapper = o[m].mapper, y.linkGroup = _
}
}
}
if (n.axisPointerEnabled) {
var l = Gv(n.model),
u = t.coordSysAxesInfo[l] = {};
t.coordSysMap[l] = n;
var h = n.model,
c = h.getModel("tooltip", i);
if (v(n.getAxes(), S(s, !1, null)), n.getTooltipAxes && i && c.get("show")) {
var p = "axis" === c.get("trigger"),
d = "cross" === c.get(["axisPointer", "type"]),
f = n.getTooltipAxes(c.get(["axisPointer", "axis"]));
(p || d) && v(f.baseAxes, S(s, d ? "cross" : !0, p)), d && v(f.otherAxes, S(s, "cross",
!1))
}
}
})
}
function zv(t, e, n, i, r, o) {
var a = e.getModel("axisPointer"),
l = ["type", "snap", "lineStyle", "shadowStyle", "label", "animation", "animationDurationUpdate",
"animationEasingUpdate", "z"
],
u = {};
v(l, function(t) {
u[t] = s(a.get(t))
}), u.snap = "category" !== t.type && !!o, "cross" === a.get("type") && (u.type = "line");
var h = u.label || (u.label = {});
if (null == h.show && (h.show = !1), "cross" === r) {
var p = a.get(["label", "show"]);
if (h.show = null != p ? p : !0, !o) {
var d = u.lineStyle = a.get("crossStyle");
d && c(h, d.textStyle)
}
}
return t.model.getModel("axisPointer", new ZM(u, n, i))
}
function Ev(t, e) {
e.eachSeries(function(e) {
var n = e.coordinateSystem,
i = e.get(["tooltip", "trigger"], !0),
r = e.get(["tooltip", "show"], !0);
n && "none" !== i && i !== !1 && "item" !== i && r !== !1 && e.get(["axisPointer", "show"], !
0) !== !1 && v(t.coordSysAxesInfo[Gv(n.model)], function(t) {
var i = t.axis;
n.getAxis(i.dim) === i && (t.seriesModels.push(e), null == t.seriesDataCount && (t
.seriesDataCount = 0), t.seriesDataCount += e.getData().count())
})
})
}
function Bv(t, e) {
for (var n = e.model, i = e.dim, r = 0; r < t.length; r++) {
var o = t[r] || {};
if (Nv(o[i + "AxisId"], n.id) || Nv(o[i + "AxisIndex"], n.componentIndex) || Nv(o[i + "AxisName"], n
.name)) return r
}
}
function Nv(t, e) {
return "all" === t || M(t) && p(t, e) >= 0 || t === e
}
function Fv(t) {
var e = Vv(t);
if (e) {
var n = e.axisPointerModel,
i = e.axis.scale,
r = n.option,
o = n.get("status"),
a = n.get("value");
null != a && (a = i.parse(a));
var s = Wv(n);
null == o && (r.status = s ? "show" : "hide");
var l = i.getExtent().slice();
l[0] > l[1] && l.reverse(), (null == a || a > l[1]) && (a = l[1]), a < l[0] && (a = l[0]), r.value = a,
s && (r.status = e.axis.scale.isBlank() ? "hide" : "show")
}
}
function Vv(t) {
var e = (t.ecModel.getComponent("axisPointer") || {}).coordSysAxesInfo;
return e && e.axesInfo[Gv(t)]
}
function Hv(t) {
var e = Vv(t);
return e && e.axisPointerModel
}
function Wv(t) {
return !!t.get(["handle", "show"])
}
function Gv(t) {
return t.type + "||" + t.id
}
function Uv(t, e, n, i) {
var r = n.axis;
if (!r.scale.isBlank()) {
var o = n.getModel("splitArea"),
a = o.getModel("areaStyle"),
s = a.get("color"),
l = i.coordinateSystem.getRect(),
u = r.getTicksCoords({
tickModel: o,
clamp: !0
});
if (u.length) {
var h = s.length,
p = FP(t).splitAreaColors,
d = Z(),
f = 0;
if (p)
for (var g = 0; g < u.length; g++) {
var v = p.get(u[g].tickValue);
if (null != v) {
f = (v + (h - 1) * g) % h;
break
}
}
var y = r.toGlobalCoord(u[0].coord),
m = a.getAreaStyle();
s = M(s) ? s : [s];
for (var g = 1; g < u.length; g++) {
var _ = r.toGlobalCoord(u[g].coord),
x = void 0,
w = void 0,
b = void 0,
S = void 0;
r.isHorizontal() ? (x = y, w = l.y, b = _ - x, S = l.height, y = x + b) : (x = l.x, w = y, b = l
.width, S = _ - w, y = w + S);
var T = u[g - 1].tickValue;
null != T && d.set(T, f), e.add(new Kb({
anid: null != T ? "area_" + T : null,
shape: {
x: x,
y: w,
width: b,
height: S
},
style: c({
fill: s[f]
}, m),
autoBatch: !0,
silent: !0
})), f = (f + 1) % h
}
FP(t).splitAreaColors = d
}
}
}
function Yv(t) {
FP(t).splitAreaColors = null
}
function Xv(t) {
t.registerComponentView(XP), t.registerComponentModel(_P), t.registerCoordinateSystem("cartesian2d", OP),
dv(t, "x", xP, ZP), dv(t, "y", xP, ZP), t.registerComponentView(UP), t.registerComponentView(YP), t
.registerPreprocessor(function(t) {
t.xAxis && t.yAxis && !t.grid && (t.grid = {})
})
}
function Zv(t) {
t.registerComponentModel(qP), t.registerComponentView(jP)
}
function qv(t, e) {
var n = dT(e.get("padding")),
i = e.getItemStyle(["color", "opacity"]);
return i.fill = e.get("backgroundColor"), t = new Kb({
shape: {
x: t.x - n[3],
y: t.y - n[0],
width: t.width + n[1] + n[3],
height: t.height + n[0] + n[2],
r: e.get("borderRadius")
},
style: i,
silent: !0,
z2: -1
})
}
function jv(t, e, n, i, r, o, a) {
function s(t, e) {
"auto" === t.lineWidth && (t.lineWidth = e.lineWidth > 0 ? 2 : 0), JP(t, function(n, i) {
"inherit" === t[i] && (t[i] = e[i])
})
}
var l = e.getModel("itemStyle"),
u = l.getItemStyle(),
h = 0 === t.lastIndexOf("empty", 0) ? "fill" : "stroke",
c = l.getShallow("decal");
u.decal = c && "inherit" !== c ? Zc(c, a) : i.decal, "inherit" === u.fill && (u.fill = i[r]), "inherit" ===
u.stroke && (u.stroke = i[h]), "inherit" === u.opacity && (u.opacity = ("fill" === r ? i : n).opacity),
s(u, i);
var p = e.getModel("lineStyle"),
d = p.getLineStyle();
if (s(d, n), "auto" === u.fill && (u.fill = i.fill), "auto" === u.stroke && (u.stroke = i.fill), "auto" ===
d.stroke && (d.stroke = i.fill), !o) {
var f = e.get("inactiveBorderWidth"),
g = u[h];
u.lineWidth = "auto" === f ? i.lineWidth > 0 && g ? 2 : 0 : u.lineWidth, u.fill = e.get(
"inactiveColor"), u.stroke = e.get("inactiveBorderColor"), d.stroke = p.get("inactiveColor"), d
.lineWidth = p.get("inactiveWidth")
}
return {
itemStyle: u,
lineStyle: d
}
}
function Kv(t) {
var e = t.icon || "roundRect",
n = fc(e, 0, 0, t.itemWidth, t.itemHeight, t.itemStyle.fill, t.symbolKeepAspect);
return n.setStyle(t.itemStyle), n.rotation = (t.iconRotate || 0) * Math.PI / 180, n.setOrigin([t.itemWidth /
2, t.itemHeight / 2
]), e.indexOf("empty") > -1 && (n.style.stroke = n.style.fill, n.style.fill = "#fff", n.style
.lineWidth = 2), n
}
function $v(t, e, n, i) {
ty(t, e, n, i), n.dispatchAction({
type: "legendToggleSelect",
name: null != t ? t : e
}), Jv(t, e, n, i)
}
function Qv(t) {
for (var e, n = t.getZr().storage.getDisplayList(), i = 0, r = n.length; r > i && !(e = n[i].states
.emphasis);) i++;
return e && e.hoverLayer
}
function Jv(t, e, n, i) {
Qv(n) || n.dispatchAction({
type: "highlight",
seriesName: t,
name: e,
excludeSeriesId: i
})
}
function ty(t, e, n, i) {
Qv(n) || n.dispatchAction({
type: "downplay",
seriesName: t,
name: e,
excludeSeriesId: i
})
}
function ey(t) {
var e = t.findComponents({
mainType: "legend"
});
e && e.length && t.filterSeries(function(t) {
for (var n = 0; n < e.length; n++)
if (!e[n].isSelected(t.name)) return !1;
return !0
})
}
function ny(t, e, n) {
var i, r = {},
o = "toggleSelected" === t;
return n.eachComponent("legend", function(n) {
o && null != i ? n[i ? "select" : "unSelect"](e.name) : "allSelect" === t || "inverseSelect" ===
t ? n[t]() : (n[t](e.name), i = n.isSelected(e.name));
var a = n.getData();
v(a, function(t) {
var e = t.get("name");
if ("\n" !== e && "" !== e) {
var i = n.isSelected(e);
r[e] = r.hasOwnProperty(e) ? r[e] && i : i
}
})
}), "allSelect" === t || "inverseSelect" === t ? {
selected: r
} : {
name: e.name,
selected: r
}
}
function iy(t) {
t.registerAction("legendToggleSelect", "legendselectchanged", S(ny, "toggleSelected")), t.registerAction(
"legendAllSelect", "legendselectall", S(ny, "allSelect")), t.registerAction("legendInverseSelect",
"legendinverseselect", S(ny, "inverseSelect")), t.registerAction("legendSelect", "legendselected",
S(ny, "select")), t.registerAction("legendUnSelect", "legendunselected", S(ny, "unSelect"))
}
function ry(t) {
t.registerComponentModel($P), t.registerComponentView(eL), t.registerProcessor(t.PRIORITY.PROCESSOR
.SERIES_FILTER, ey), t.registerSubTypeDefaulter("legend", function() {
return "plain"
}), iy(t)
}
function oy(t, e, n) {
var i = t.getOrient(),
r = [1, 1];
r[i.index] = 0, Gl(e, n, {
type: "box",
ignoreSize: !!r
})
}
function ay(t) {
t.registerAction("legendScroll", "legendscroll", function(t, e) {
var n = t.scrollDataIndex;
null != n && e.eachComponent({
mainType: "legend",
subType: "scroll",
query: t
}, function(t) {
t.setScrollDataIndex(n)
})
})
}
function sy(t) {
Kd(ry), t.registerComponentModel(nL), t.registerComponentView(aL), ay(t)
}
function ly(t, e, n, i) {
uy(sL(n).lastProp, i) || (sL(n).lastProp = i, e ? us(n, i, t) : (n.stopAnimation(), n.attr(i)))
}
function uy(t, e) {
if (k(t) && k(e)) {
var n = !0;
return v(e, function(e, i) {
n = n && uy(t[i], e)
}), !!n
}
return t === e
}
function hy(t, e) {
t[e.get(["label", "show"]) ? "show" : "hide"]()
}
function cy(t) {
return {
x: t.x || 0,
y: t.y || 0,
rotation: t.rotation || 0
}
}
function py(t, e, n) {
var i = e.get("z"),
r = e.get("zlevel");
t && t.traverse(function(t) {
"group" !== t.type && (null != i && (t.z = i), null != r && (t.zlevel = r), t.silent = n)
})
}
function dy(t) {
var e, n = t.get("type"),
i = t.getModel(n + "Style");
return "line" === n ? (e = i.getLineStyle(), e.fill = null) : "shadow" === n && (e = i.getAreaStyle(), e
.stroke = null), e
}
function fy(t, e, n, i, r) {
var o = n.get("value"),
a = vy(o, e.axis, e.ecModel, n.get("seriesDataIndices"), {
precision: n.get(["label", "precision"]),
formatter: n.get(["label", "formatter"])
}),
s = n.getModel("label"),
l = dT(s.get("padding") || 0),
u = s.getFont(),
h = bi(a, u),
c = r.position,
p = h.width + l[1] + l[3],
d = h.height + l[0] + l[2],
f = r.align;
"right" === f && (c[0] -= p), "center" === f && (c[0] -= p / 2);
var g = r.verticalAlign;
"bottom" === g && (c[1] -= d), "middle" === g && (c[1] -= d / 2), gy(c, p, d, i);
var v = s.get("backgroundColor");
v && "auto" !== v || (v = e.get(["axisLine", "lineStyle", "color"])), t.label = {
x: c[0],
y: c[1],
style: Xs(s, {
text: a,
font: u,
fill: s.getTextColor(),
padding: l,
backgroundColor: v
}),
z2: 10
}
}
function gy(t, e, n, i) {
var r = i.getWidth(),
o = i.getHeight();
t[0] = Math.min(t[0] + e, r) - e, t[1] = Math.min(t[1] + n, o) - n, t[0] = Math.max(t[0], 0), t[1] = Math
.max(t[1], 0)
}
function vy(t, e, n, i, r) {
t = e.scale.parse(t);
var o = e.scale.getLabel({
value: t
}, {
precision: r.precision
}),
a = r.formatter;
if (a) {
var s = {
value: Fd(e, {
value: t
}),
axisDimension: e.dim,
axisIndex: e.index,
seriesData: []
};
v(i, function(t) {
var e = n.getSeriesByIndex(t.seriesIndex),
i = t.dataIndexInside,
r = e && e.getDataParams(i);
r && s.seriesData.push(r)
}), C(a) ? o = a.replace("{value}", o) : T(a) && (o = a(s))
}
return o
}
function yy(t, e, n) {
var i = Ne();
return Ge(i, i, n.rotation), We(i, i, n.position), Is([t.dataToCoord(e), (n.labelOffset || 0) + (n
.labelDirection || 1) * (n.labelMargin || 0)], i)
}
function my(t, e, n, i, r, o) {
var a = zP.innerTextLayout(n.rotation, 0, n.labelDirection);
n.labelMargin = r.get(["label", "margin"]), fy(e, i, r, o, {
position: yy(i.axis, t, n),
align: a.textAlign,
verticalAlign: a.textVerticalAlign
})
}
function _y(t, e, n) {
return n = n || 0, {
x1: t[n],
y1: t[1 - n],
x2: e[n],
y2: e[1 - n]
}
}
function xy(t, e, n) {
return n = n || 0, {
x: t[n],
y: t[1 - n],
width: e[n],
height: e[1 - n]
}
}
function wy(t, e) {
var n = {};
return n[e.dim + "AxisIndex"] = e.index, t.getCartesian(n)
}
function by(t) {
return "x" === t.dim ? 0 : 1
}
function Sy(t, e, n) {
if (!Um.node) {
var i = e.getZr();
fL(i).records || (fL(i).records = {}), My(i, e);
var r = fL(i).records[t] || (fL(i).records[t] = {});
r.handler = n
}
}
function My(t, e) {
function n(n, i) {
t.on(n, function(n) {
var r = Dy(e);
gL(fL(t).records, function(t) {
t && i(t, n, r.dispatchAction)
}), Ty(r.pendings, e)
})
}
fL(t).initialized || (fL(t).initialized = !0, n("click", S(Iy, "click")), n("mousemove", S(Iy,
"mousemove")), n("globalout", Cy))
}
function Ty(t, e) {
var n, i = t.showTip.length,
r = t.hideTip.length;
i ? n = t.showTip[i - 1] : r && (n = t.hideTip[r - 1]), n && (n.dispatchAction = null, e.dispatchAction(n))
}
function Cy(t, e, n) {
t.handler("leave", null, n)
}
function Iy(t, e, n, i) {
e.handler(t, n, i)
}
function Dy(t) {
var e = {
showTip: [],
hideTip: []
},
n = function(i) {
var r = e[i.type];
r ? r.push(i) : (i.dispatchAction = n, t.dispatchAction(i))
};
return {
dispatchAction: n,
pendings: e
}
}
function ky(t, e) {
if (!Um.node) {
var n = e.getZr(),
i = (fL(n).records || {})[t];
i && (fL(n).records[t] = null)
}
}
function Ay(t, e) {
var n, i = [],
r = t.seriesIndex;
if (null == r || !(n = e.getSeriesByIndex(r))) return {
point: []
};
var o = n.getData(),
a = Lr(o, t);
if (null == a || 0 > a || M(a)) return {
point: []
};
var s = o.getItemGraphicEl(a),
l = n.coordinateSystem;
if (n.getTooltipPosition) i = n.getTooltipPosition(a) || [];
else if (l && l.dataToPoint)
if (t.isStacked) {
var u = l.getBaseAxis(),
h = l.getOtherAxis(u),
c = h.dim,
p = u.dim,
d = "x" === c || "radius" === c ? 1 : 0,
f = o.mapDimension(p),
g = [];
g[d] = o.get(f, a), g[1 - d] = o.get(o.getCalculationInfo("stackResultDimension"), a), i = l
.dataToPoint(g) || []
} else i = l.dataToPoint(o.getValues(y(l.dimensions, function(t) {
return o.mapDimension(t)
}), a)) || [];
else if (s) {
var v = s.getBoundingRect().clone();
v.applyTransform(s.transform), i = [v.x + v.width / 2, v.y + v.height / 2]
}
return {
point: i,
el: s
}
}
function Py(t, e, n) {
var i = t.currTrigger,
r = [t.x, t.y],
o = t,
a = t.dispatchAction || p_(n.dispatchAction, n),
s = e.getComponent("axisPointer").coordSysAxesInfo;
if (s) {
Hy(r) && (r = Ay({
seriesIndex: o.seriesIndex,
dataIndex: o.dataIndex
}, e).point);
var l = Hy(r),
u = o.axesInfo,
h = s.axesInfo,
c = "leave" === i || Hy(r),
p = {},
d = {},
f = {
list: [],
map: {}
},
g = {
showPointer: S(Ry, d),
showTooltip: S(zy, f)
};
v(s.coordSysMap, function(t, e) {
var n = l || t.containPoint(r);
v(s.coordSysAxesInfo[e], function(t) {
var e = t.axis,
i = Fy(u, t);
if (!c && n && (!u || i)) {
var o = i && i.value;
null != o || l || (o = e.pointToData(r)), null != o && Ly(t, o, g, !1, p)
}
})
});
var y = {};
return v(h, function(t, e) {
var n = t.linkGroup;
n && !d[e] && v(n.axesInfo, function(e, i) {
var r = d[i];
if (e !== t && r) {
var o = r.value;
n.mapper && (o = t.axis.scale.parse(n.mapper(o, Vy(e), Vy(t)))), y[t.key] =
o
}
})
}), v(y, function(t, e) {
Ly(h[e], t, g, !0, p)
}), Ey(d, h, p), By(f, r, t, a), Ny(h, a, n), p
}
}
function Ly(t, e, n, i, r) {
var o = t.axis;
if (!o.scale.isBlank() && o.containData(e)) {
if (!t.involveSeries) return void n.showPointer(t, e);
var a = Oy(e, t),
s = a.payloadBatch,
l = a.snapToValue;
s[0] && null == r.seriesIndex && h(r, s[0]), !i && t.snap && o.containData(l) && null != l && (e = l), n
.showPointer(t, e, s), n.showTooltip(t, a, l)
}
}
function Oy(t, e) {
var n = e.axis,
i = n.dim,
r = t,
o = [],
a = Number.MAX_VALUE,
s = -1;
return v(e.seriesModels, function(e) {
var l, u, h = e.getData().mapDimensionsAll(i);
if (e.getAxisTooltipData) {
var c = e.getAxisTooltipData(h, t, n);
u = c.dataIndices, l = c.nestestValue
} else {
if (u = e.getData().indicesOfNearest(h[0], t, "category" === n.type ? .5 : null), !u.length)
return;
l = e.getData().get(h[0], u[0])
}
if (null != l && isFinite(l)) {
var p = t - l,
d = Math.abs(p);
a >= d && ((a > d || p >= 0 && 0 > s) && (a = d, s = p, r = l, o.length = 0), v(u, function(
t) {
o.push({
seriesIndex: e.seriesIndex,
dataIndexInside: t,
dataIndex: e.getData().getRawIndex(t)
})
}))
}
}), {
payloadBatch: o,
snapToValue: r
}
}
function Ry(t, e, n, i) {
t[e.key] = {
value: n,
payloadBatch: i
}
}
function zy(t, e, n, i) {
var r = n.payloadBatch,
o = e.axis,
a = o.model,
s = e.axisPointerModel;
if (e.triggerTooltip && r.length) {
var l = e.coordSys.model,
u = Gv(l),
h = t.map[u];
h || (h = t.map[u] = {
coordSysId: l.id,
coordSysIndex: l.componentIndex,
coordSysType: l.type,
coordSysMainType: l.mainType,
dataByAxis: []
}, t.list.push(h)), h.dataByAxis.push({
axisDim: o.dim,
axisIndex: a.componentIndex,
axisType: a.type,
axisId: a.id,
value: i,
valueLabelOpt: {
precision: s.get(["label", "precision"]),
formatter: s.get(["label", "formatter"])
},
seriesDataIndices: r.slice()
})
}
}
function Ey(t, e, n) {
var i = n.axesInfo = [];
v(e, function(e, n) {
var r = e.axisPointerModel.option,
o = t[n];
o ? (!e.useHandle && (r.status = "show"), r.value = o.value, r.seriesDataIndices = (o
.payloadBatch || []).slice()) : !e.useHandle && (r.status = "hide"), "show" === r
.status && i.push({
axisDim: e.axis.dim,
axisIndex: e.axis.model.componentIndex,
value: r.value
})
})
}
function By(t, e, n, i) {
if (Hy(e) || !t.list.length) return void i({
type: "hideTip"
});
var r = ((t.list[0].dataByAxis[0] || {}).seriesDataIndices || [])[0] || {};
i({
type: "showTip",
escapeConnect: !0,
x: e[0],
y: e[1],
tooltipOption: n.tooltipOption,
position: n.position,
dataIndexInside: r.dataIndexInside,
dataIndex: r.dataIndex,
seriesIndex: r.seriesIndex,
dataByCoordSys: t.list
})
}
function Ny(t, e, n) {
var i = n.getZr(),
r = "axisPointerLastHighlights",
o = yL(i)[r] || {},
a = yL(i)[r] = {};
v(t, function(t) {
var e = t.axisPointerModel.option;
"show" === e.status && t.triggerEmphasis && v(e.seriesDataIndices, function(t) {
var e = t.seriesIndex + " | " + t.dataIndex;
a[e] = t
})
});
var s = [],
l = [];
v(o, function(t, e) {
!a[e] && l.push(t)
}), v(a, function(t, e) {
!o[e] && s.push(t)
}), l.length && n.dispatchAction({
type: "downplay",
escapeConnect: !0,
notBlur: !0,
batch: l
}), s.length && n.dispatchAction({
type: "highlight",
escapeConnect: !0,
notBlur: !0,
batch: s
})
}
function Fy(t, e) {
for (var n = 0; n < (t || []).length; n++) {
var i = t[n];
if (e.axis.dim === i.axisDim && e.axis.model.componentIndex === i.axisIndex) return i
}
}
function Vy(t) {
var e = t.axis.model,
n = {},
i = n.axisDim = t.axis.dim;
return n.axisIndex = n[i + "AxisIndex"] = e.componentIndex, n.axisName = n[i + "AxisName"] = e.name, n
.axisId = n[i + "AxisId"] = e.id, n
}
function Hy(t) {
return !t || null == t[0] || isNaN(t[0]) || null == t[1] || isNaN(t[1])
}
function Wy(t) {
NP.registerAxisPointerClass("CartesianAxisPointer", cL), t.registerComponentModel(dL), t
.registerComponentView(vL), t.registerPreprocessor(function(t) {
if (t) {
(!t.axisPointer || 0 === t.axisPointer.length) && (t.axisPointer = {});
var e = t.axisPointer.link;
e && !M(e) && (t.axisPointer.link = [e])
}
}), t.registerProcessor(t.PRIORITY.PROCESSOR.STATISTIC, function(t, e) {
t.getComponent("axisPointer").coordSysAxesInfo = Ov(t, e)
}), t.registerAction({
type: "updateAxisPointer",
event: "updateAxisPointer",
update: ":updateAxisPointer"
}, Py)
}
function Gy(t) {
var e = t.get("confine");
return null != e ? !!e : "richText" === t.get("renderMode")
}
function Uy(t) {
if (Um.domSupported)
for (var e = document.documentElement.style, n = 0, i = t.length; i > n; n++)
if (t[n] in e) return t[n]
}
function Yy(t, e) {
if (!t) return e;
e = Ll(e, !0);
var n = t.indexOf(e);
return t = -1 === n ? e : "-" + t.slice(0, n) + "-" + e, t.toLowerCase()
}
function Xy(t, e) {
var n = t.currentStyle || document.defaultView && document.defaultView.getComputedStyle(t);
return n ? e ? n[e] : n : null
}
function Zy(t) {
return t = "left" === t ? "right" : "right" === t ? "left" : "top" === t ? "bottom" : "top"
}
function qy(t, e, n) {
if (!C(n) || "inside" === n) return "";
var i = t.get("backgroundColor"),
r = t.get("borderWidth");
e = Nl(e);
var o, a = Zy(n),
s = Math.max(1.5 * Math.round(r), 6),
l = "",
u = bL + ":";
p(["left", "right"], a) > -1 ? (l += "top:50%", u += "translateY(-50%) rotate(" + (o = "left" === a ? -225 :
-45) + "deg)") : (l += "left:50%", u += "translateX(-50%) rotate(" + (o = "top" === a ? 225 : 45) +
"deg)");
var h = o * Math.PI / 180,
c = s + r,
d = c * Math.abs(Math.cos(h)) + c * Math.abs(Math.sin(h)),
f = Math.round(100 * ((d - Math.SQRT2 * r) / 2 + Math.SQRT2 * r - (d - c) / 2)) / 100;
l += ";" + a + ":-" + f + "px";
var g = e + " solid " + r + "px;",
v = ["position:absolute;width:" + s + "px;height:" + s + "px;z-index:-1;", l + ";" + u + ";",
"border-bottom:" + g, "border-right:" + g, "background-color:" + i + ";"
];
return ''
}
function jy(t, e) {
var n = "cubic-bezier(0.23,1,0.32,1)",
i = " " + t / 2 + "s " + n,
r = "opacity" + i + ",visibility" + i;
return e || (i = " " + t + "s " + n, r += Um.transformSupported ? "," + bL + i : ",left" + i + ",top" + i),
wL + ":" + r
}
function Ky(t, e, n) {
var i = t.toFixed(0) + "px",
r = e.toFixed(0) + "px";
if (!Um.transformSupported) return n ? "top:" + r + ";left:" + i + ";" : [
["top", r],
["left", i]
];
var o = Um.transform3dSupported,
a = "translate" + (o ? "3d" : "") + "(" + i + "," + r + (o ? ",0" : "") + ")";
return n ? "top:0;left:0;" + bL + ":" + a + ";" : [
["top", 0],
["left", 0],
[_L, a]
]
}
function $y(t) {
var e = [],
n = t.get("fontSize"),
i = t.getTextColor();
i && e.push("color:" + i), e.push("font:" + t.getFont()), n && e.push("line-height:" + Math.round(3 * n /
2) + "px");
var r = t.get("textShadowColor"),
o = t.get("textShadowBlur") || 0,
a = t.get("textShadowOffsetX") || 0,
s = t.get("textShadowOffsetY") || 0;
return r && o && e.push("text-shadow:" + a + "px " + s + "px " + o + "px " + r), v(["decoration", "align"],
function(n) {
var i = t.get(n);
i && e.push("text-" + n + ":" + i)
}), e.join(";")
}
function Qy(t, e, n) {
var i = [],
r = t.get("transitionDuration"),
o = t.get("backgroundColor"),
a = t.get("shadowBlur"),
s = t.get("shadowColor"),
l = t.get("shadowOffsetX"),
u = t.get("shadowOffsetY"),
h = t.getModel("textStyle"),
c = Dh(t, "html"),
p = l + "px " + u + "px " + a + "px " + s;
return i.push("box-shadow:" + p), e && r && i.push(jy(r, n)), o && i.push("background-color:" + o), v([
"width", "color", "radius"
], function(e) {
var n = "border-" + e,
r = Ll(n),
o = t.get(r);
null != o && i.push(n + ":" + o + ("color" === e ? "" : "px"))
}), i.push($y(h)), null != c && i.push("padding:" + dT(c).join("px ") + "px"), i.join(";") + ";"
}
function Jy(t, e, n, i, r) {
var o = e && e.painter;
if (n) {
var a = o && o.getViewportRoot();
a && be(t, a, document.body, i, r)
} else {
t[0] = i, t[1] = r;
var s = o && o.getViewportRootOffset();
s && (t[0] += s.offsetLeft, t[1] += s.offsetTop)
}
t[2] = t[0] / e.getWidth(), t[3] = t[1] / e.getHeight()
}
function tm(t) {
return Math.max(0, t)
}
function em(t) {
var e = tm(t.shadowBlur || 0),
n = tm(t.shadowOffsetX || 0),
i = tm(t.shadowOffsetY || 0);
return {
left: tm(e - n),
right: tm(e + n),
top: tm(e - i),
bottom: tm(e + i)
}
}
function nm(t, e, n, i) {
t[0] = n, t[1] = i, t[2] = t[0] / e.getWidth(), t[3] = t[1] / e.getHeight()
}
function im(t, e, n) {
var i, r = e.ecModel;
n ? (i = new ZM(n, r, r), i = new ZM(e.option, i, r)) : i = e;
for (var o = t.length - 1; o >= 0; o--) {
var a = t[o];
a && (a instanceof ZM && (a = a.get("tooltip", !0)), C(a) && (a = {
formatter: a
}), a && (i = new ZM(a, i, r)))
}
return i
}
function rm(t, e) {
return t.dispatchAction || p_(e.dispatchAction, e)
}
function om(t, e, n, i, r, o, a) {
var s = n.getSize(),
l = s[0],
u = s[1];
return null != o && (t + l + o + 2 > i ? t -= l + o : t += o), null != a && (e + u + a > r ? e -= u + a :
e += a), [t, e]
}
function am(t, e, n, i, r) {
var o = n.getSize(),
a = o[0],
s = o[1];
return t = Math.min(t + a, i) - a, e = Math.min(e + s, r) - s, t = Math.max(t, 0), e = Math.max(e, 0), [t,
e]
}
function sm(t, e, n, i) {
var r = n[0],
o = n[1],
a = Math.ceil(Math.SQRT2 * i) + 8,
s = 0,
l = 0,
u = e.width,
h = e.height;
switch (t) {
case "inside":
s = e.x + u / 2 - r / 2, l = e.y + h / 2 - o / 2;
break;
case "top":
s = e.x + u / 2 - r / 2, l = e.y - o - a;
break;
case "bottom":
s = e.x + u / 2 - r / 2, l = e.y + h + a;
break;
case "left":
s = e.x - r - a, l = e.y + h / 2 - o / 2;
break;
case "right":
s = e.x + u + a, l = e.y + h / 2 - o / 2
}
return [s, l]
}
function lm(t) {
return "center" === t || "middle" === t
}
function um(t, e, n) {
var i = zr(t).queryOptionMap,
r = i.keys()[0];
if (r && "series" !== r) {
var o = Er(e, r, i.get(r), {
useDefault: !1,
enableAll: !1,
enableNone: !1
}),
a = o.models[0];
if (a) {
var s, l = n.getViewOfComponentModel(a);
return l.group.traverse(function(e) {
var n = rS(e).tooltipConfig;
return n && n.name === t.name ? (s = e, !0) : void 0
}), s ? {
componentMainType: r,
componentIndex: a.componentIndex,
el: s
} : void 0
}
}
}
function hm(t) {
Kd(Wy), t.registerComponentModel(mL), t.registerComponentView(IL), t.registerAction({
type: "showTip",
event: "showTip",
update: "tooltip:manuallyShowTip"
}, Q), t.registerAction({
type: "hideTip",
event: "hideTip",
update: "tooltip:manuallyHideTip"
}, Q)
}
function cm(t) {
var e = t.get("coordinateSystem");
return p(kL, e) >= 0
}
function pm(t) {
return t + "Axis"
}
function dm(t, e) {
function n(t) {
!l.get(t.uid) && r(t) && (i(t), u = !0)
}
function i(t) {
l.set(t.uid, !0), s.push(t), o(t)
}
function r(t) {
var e = !1;
return t.eachTargetAxis(function(t, n) {
var i = a.get(t);
i && i[n] && (e = !0)
}), e
}
function o(t) {
t.eachTargetAxis(function(t, e) {
(a.get(t) || a.set(t, []))[e] = !0
})
}
var a = Z(),
s = [],
l = Z();
t.eachComponent({
mainType: "dataZoom",
query: e
}, function(t) {
l.get(t.uid) || i(t)
});
var u;
do u = !1, t.eachComponent("dataZoom", n); while (u);
return s
}
function fm(t) {
var e = t.ecModel,
n = {
infoList: [],
infoMap: Z()
};
return t.eachTargetAxis(function(t, i) {
var r = e.getComponent(pm(t), i);
if (r) {
var o = r.getCoordSysModel();
if (o) {
var a = o.uid,
s = n.infoMap.get(a);
s || (s = {
model: o,
axisModels: []
}, n.infoList.push(s), n.infoMap.set(a, s)), s.axisModels.push(r)
}
}
}), n
}
function gm(t) {
var e = {};
return v(["start", "end", "startValue", "endValue", "throttle"], function(n) {
t.hasOwnProperty(n) && (e[n] = t[n])
}), e
}
function vm(t, e, n, i, r, o) {
t = t || 0;
var a = n[1] - n[0];
if (null != r && (r = mm(r, [0, a])), null != o && (o = Math.max(o, null != r ? r : 0)), "all" === i) {
var s = Math.abs(e[1] - e[0]);
s = mm(s, [0, a]), r = o = mm(s, [r, o]), i = 0
}
e[0] = mm(e[0], n), e[1] = mm(e[1], n);
var l = ym(e, i);
e[i] += t;
var u = r || 0,
h = n.slice();
l.sign < 0 ? h[0] += u : h[1] -= u, e[i] = mm(e[i], h);
var c;
return c = ym(e, i), null != r && (c.sign !== l.sign || c.span < r) && (e[1 - i] = e[i] + l.sign * r), c =
ym(e, i), null != o && c.span > o && (e[1 - i] = e[i] + c.sign * o), e
}
function ym(t, e) {
var n = t[e] - t[1 - e];
return {
span: Math.abs(n),
sign: n > 0 ? -1 : 0 > n ? 1 : e ? -1 : 1
}
}
function mm(t, e) {
return Math.min(null != e[1] ? e[1] : 1 / 0, Math.max(null != e[0] ? e[0] : -1 / 0, t))
}
function _m(t, e) {
return !!xm(t)[e]
}
function xm(t) {
return t[RL] || (t[RL] = {})
}
function wm(t, e, n, i, r) {
t.pointerChecker && t.pointerChecker(i, r.originX, r.originY) && (z_(i.event), bm(t, e, n, i, r))
}
function bm(t, e, n, i, r) {
r.isAvailableBehavior = p_(Sm, null, n, i), t.trigger(e, r)
}
function Sm(t, e, n) {
var i = n[t];
return !t || i && (!C(i) || e.event[i + "Key"])
}
function Mm(t, e, n) {
EL(t).coordSysRecordMap.each(function(t) {
var i = t.dataZoomInfoMap.get(e.uid);
i && (i.getRange = n)
})
}
function Tm(t, e) {
for (var n = EL(t).coordSysRecordMap, i = n.keys(), r = 0; r < i.length; r++) {
var o = i[r],
a = n.get(o),
s = a.dataZoomInfoMap;
if (s) {
var l = e.uid,
u = s.get(l);
u && (s.removeKey(l), s.keys().length || Cm(n, a))
}
}
}
function Cm(t, e) {
if (e) {
t.removeKey(e.model.uid);
var n = e.controller;
n && n.dispose()
}
}
function Im(t, e) {
var n = {
model: e,
containsPoint: S(km, e),
dispatchAction: S(Dm, t),
dataZoomInfoMap: null,
controller: null
},
i = n.controller = new zL(t.getZr());
return v(["pan", "zoom", "scrollMove"], function(t) {
i.on(t, function(e) {
var i = [];
n.dataZoomInfoMap.each(function(r) {
if (e.isAvailableBehavior(r.model.option)) {
var o = (r.getRange || {})[t],
a = o && o(r.dzReferCoordSysInfo, n.model.mainType, n
.controller, e);
!r.model.get("disabled", !0) && a && i.push({
dataZoomId: r.model.id,
start: a[0],
end: a[1]
})
}
}), i.length && n.dispatchAction(i)
})
}), n
}
function Dm(t, e) {
t.isDisposed() || t.dispatchAction({
type: "dataZoom",
animation: {
easing: "cubicOut",
duration: 100
},
batch: e
})
}
function km(t, e, n, i) {
return t.coordinateSystem.containPoint([n, i])
}
function Am(t) {
var e, n = "type_",
i = {
type_true: 2,
type_move: 1,
type_false: 0,
type_undefined: -1
},
r = !0;
return t.each(function(t) {
var o = t.model,
a = o.get("disabled", !0) ? !1 : o.get("zoomLock", !0) ? "move" : !0;
i[n + a] > i[n + e] && (e = a), r = r && o.get("preventDefaultMouseMove", !0)
}), {
controlType: e,
opt: {
zoomOnMouseWheel: !0,
moveOnMouseMove: !0,
moveOnMouseWheel: !0,
preventDefaultMouseMove: !!r
}
}
}
function Pm(t) {
t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER, function(t, e) {
var n = EL(e),
i = n.coordSysRecordMap || (n.coordSysRecordMap = Z());
i.each(function(t) {
t.dataZoomInfoMap = null
}), t.eachComponent({
mainType: "dataZoom",
subType: "inside"
}, function(t) {
var n = fm(t);
v(n.infoList, function(n) {
var r = n.model.uid,
o = i.get(r) || i.set(r, Im(e, n.model)),
a = o.dataZoomInfoMap || (o.dataZoomInfoMap = Z());
a.set(t.uid, {
dzReferCoordSysInfo: n,
model: t,
getRange: null
})
})
}), i.each(function(t) {
var e, n = t.controller,
r = t.dataZoomInfoMap;
if (r) {
var o = r.keys()[0];
null != o && (e = r.get(o))
}
if (!e) return void Cm(i, t);
var a = Am(r);
n.enable(a.controlType, a.opt), n.setPointerChecker(t.containsPoint), Xh(t,
"dispatchAction", e.model.get("throttle", !0), "fixRate")
})
})
}
function Lm(t) {
return function(e, n, i, r) {
var o = this.range,
a = o.slice(),
s = e.axisModels[0];
if (s) {
var l = t(a, s, e, n, i, r);
return vm(l, a, [0, 100], "all"), this.range = a, o[0] !== a[0] || o[1] !== a[1] ? a : void 0
}
}
}
function Om(t, e, n) {
var i = [1 / 0, -1 / 0];
VL(n, function(t) {
Yd(i, t.getData(), e)
});
var r = t.getAxisModel(),
o = Pd(r.axis.scale, r, i).calculate();
return [o.min, o.max]
}
function Rm(t) {
t.registerAction("dataZoom", function(t, e) {
var n = dm(e, t);
v(n, function(e) {
e.setRawRange({
start: t.start,
end: t.end,
startValue: t.startValue,
endValue: t.endValue
})
})
})
}
function zm(t) {
UL || (UL = !0, t.registerProcessor(t.PRIORITY.PROCESSOR.FILTER, GL), Rm(t), t.registerSubTypeDefaulter(
"dataZoom",
function() {
return "slider"
}))
}
function Em(t) {
zm(t), t.registerComponentModel(LL), t.registerComponentView(BL), Pm(t)
}
function Bm(t) {
var e = {
x: "y",
y: "x",
radius: "angle",
angle: "radius"
};
return e[t]
}
function Nm(t) {
return "vertical" === t ? "ns-resize" : "ew-resize"
}
function Fm(t) {
t.registerComponentModel(YL), t.registerComponentView(nO), zm(t)
}
function Vm() {
Kd(Em), Kd(Fm)
}
var Hm = function(t, e) {
return (Hm = Object.setPrototypeOf || {
__proto__: []
}
instanceof Array && function(t, e) {
t.__proto__ = e
} || function(t, e) {
for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && (t[n] = e[n])
})(t, e)
},
Wm = function() {
function t() {
this.firefox = !1, this.ie = !1, this.edge = !1, this.newEdge = !1, this.weChat = !1
}
return t
}(),
Gm = function() {
function t() {
this.browser = new Wm, this.node = !1, this.wxa = !1, this.worker = !1, this.svgSupported = !1, this
.touchEventsSupported = !1, this.pointerEventsSupported = !1, this.domSupported = !1, this
.transformSupported = !1, this.transform3dSupported = !1, this.hasGlobalWindow = "undefined" !=
typeof window
}
return t
}(),
Um = new Gm;
"object" == typeof wx && "function" == typeof wx.getSystemInfoSync ? (Um.wxa = !0, Um.touchEventsSupported = !
0) : "undefined" == typeof document && "undefined" != typeof self ? Um.worker = !0 : "undefined" ==
typeof navigator ? (Um.node = !0, Um.svgSupported = !0) : n(navigator.userAgent, Um);
var Ym = 12,
Xm = "sans-serif",
Zm = Ym + "px " + Xm,
qm = 20,
jm = 100,
Km =
"007LLmW'55;N0500LLLLLLLLLL00NNNLzWW\\\\WQb\\0FWLg\\bWb\\WQ\\WrWWQ000CL5LLFLL0LL**F*gLLLL5F0LF\\FFF5.5N",
$m = i(Km),
Qm = {
createCanvas: function() {
return "undefined" != typeof document && document.createElement("canvas")
},
measureText: function() {
var t, e;
return function(n, i) {
if (!t) {
var r = Qm.createCanvas();
t = r && r.getContext("2d")
}
if (t) return e !== i && (e = t.font = i || Zm), t.measureText(n);
n = n || "", i = i || Zm;
var o = /(\d+)px/.exec(i),
a = o && +o[1] || Ym,
s = 0;
if (i.indexOf("mono") >= 0) s = a * n.length;
else
for (var l = 0; l < n.length; l++) {
var u = $m[n[l]];
s += null == u ? a : u * a
}
return {
width: s
}
}
}(),
loadImage: function(t, e, n) {
var i = new Image;
return i.onload = e, i.onerror = n, i.src = t, i
}
},
Jm = m(["Function", "RegExp", "Date", "Error", "CanvasGradient", "CanvasPattern", "Image", "Canvas"],
function(t, e) {
return t["[object " + e + "]"] = !0, t
}, {}),
t_ = m(["Int8", "Uint8", "Uint8Clamped", "Int16", "Uint16", "Int32", "Uint32", "Float32", "Float64"],
function(t, e) {
return t["[object " + e + "Array]"] = !0, t
}, {}),
e_ = Object.prototype.toString,
n_ = Array.prototype,
i_ = n_.forEach,
r_ = n_.filter,
o_ = n_.slice,
a_ = n_.map,
s_ = function() {}.constructor,
l_ = s_ ? s_.prototype : null,
u_ = "__proto__",
h_ = 2311,
c_ = Qm.createCanvas,
p_ = l_ && T(l_.bind) ? l_.call.bind(l_.bind) : b,
d_ = "__ec_primitive__",
f_ = function() {
function t() {
this.data = {}
}
return t.prototype["delete"] = function(t) {
var e = this.has(t);
return e && delete this.data[t], e
}, t.prototype.has = function(t) {
return this.data.hasOwnProperty(t)
}, t.prototype.get = function(t) {
return this.data[t]
}, t.prototype.set = function(t, e) {
return this.data[t] = e, this
}, t.prototype.keys = function() {
return w(this.data)
}, t.prototype.forEach = function(t) {
var e = this.data;
for (var n in e) e.hasOwnProperty(n) && t(e[n], n)
}, t
}(),
g_ = "function" == typeof Map,
v_ = function() {
function t(e) {
function n(t, e) {
i ? r.set(t, e) : r.set(e, t)
}
var i = M(e);
this.data = X();
var r = this;
e instanceof t ? e.each(n) : e && v(e, n)
}
return t.prototype.hasKey = function(t) {
return this.data.has(t)
}, t.prototype.get = function(t) {
return this.data.get(t)
}, t.prototype.set = function(t, e) {
return this.data.set(t, e), e
}, t.prototype.each = function(t, e) {
this.data.forEach(function(n, i) {
t.call(e, n, i)
})
}, t.prototype.keys = function() {
var t = this.data.keys();
return g_ ? Array.from(t) : t
}, t.prototype.removeKey = function(t) {
this.data["delete"](t)
}, t
}(),
y_ = 180 / Math.PI,
m_ = (Object.freeze || Object)({
guid: o,
logError: a,
clone: s,
merge: l,
mergeAll: u,
extend: h,
defaults: c,
createCanvas: c_,
indexOf: p,
inherits: d,
mixin: f,
isArrayLike: g,
each: v,
map: y,
reduce: m,
filter: _,
find: x,
keys: w,
bind: p_,
curry: S,
isArray: M,
isFunction: T,
isString: C,
isStringSafe: I,
isNumber: D,
isObject: k,
isBuiltInObject: A,
isTypedArray: P,
isDom: L,
isGradientObject: O,
isImagePatternObject: R,
isRegExp: z,
eqNaN: E,
retrieve: B,
retrieve2: N,
retrieve3: F,
slice: V,
normalizeCssArray: H,
assert: W,
trim: G,
setAsPrimitive: U,
isPrimitive: Y,
HashMap: v_,
createHashMap: Z,
concatArray: q,
createObject: j,
disableUserSelect: K,
hasOwn: $,
noop: Q,
RADIAN_TO_DEGREE: y_
}),
__ = ae,
x_ = se,
w_ = de,
b_ = fe,
S_ = (Object.freeze || Object)({
create: J,
copy: te,
clone: ee,
set: ne,
add: ie,
scaleAndAdd: re,
sub: oe,
len: ae,
length: __,
lenSquare: se,
lengthSquare: x_,
mul: le,
div: ue,
dot: he,
scale: ce,
normalize: pe,
distance: de,
dist: w_,
distanceSquare: fe,
distSquare: b_,
negate: ge,
lerp: ve,
applyTransform: ye,
min: me,
max: _e
}),
M_ = function() {
function t(t, e) {
this.target = t, this.topTarget = e && e.topTarget
}
return t
}(),
T_ = function() {
function t(t) {
this.handler = t, t.on("mousedown", this._dragStart, this), t.on("mousemove", this._drag, this), t
.on("mouseup", this._dragEnd, this)
}
return t.prototype._dragStart = function(t) {
for (var e = t.target; e && !e.draggable;) e = e.parent || e.__hostTarget;
e && (this._draggingTarget = e, e.dragging = !0, this._x = t.offsetX, this._y = t.offsetY, this
.handler.dispatchToElement(new M_(e, t), "dragstart", t.event))
}, t.prototype._drag = function(t) {
var e = this._draggingTarget;
if (e) {
var n = t.offsetX,
i = t.offsetY,
r = n - this._x,
o = i - this._y;
this._x = n, this._y = i, e.drift(r, o, t), this.handler.dispatchToElement(new M_(e, t),
"drag", t.event);
var a = this.handler.findHover(n, i, e).target,
s = this._dropTarget;
this._dropTarget = a, e !== a && (s && a !== s && this.handler.dispatchToElement(new M_(s,
t), "dragleave", t.event), a && a !== s && this.handler.dispatchToElement(
new M_(a, t), "dragenter", t.event))
}
}, t.prototype._dragEnd = function(t) {
var e = this._draggingTarget;
e && (e.dragging = !1), this.handler.dispatchToElement(new M_(e, t), "dragend", t.event), this
._dropTarget && this.handler.dispatchToElement(new M_(this._dropTarget, t), "drop", t
.event), this._draggingTarget = null, this._dropTarget = null
}, t
}(),
C_ = function() {
function t(t) {
t && (this._$eventProcessor = t)
}
return t.prototype.on = function(t, e, n, i) {
this._$handlers || (this._$handlers = {});
var r = this._$handlers;
if ("function" == typeof e && (i = n, n = e, e = null), !n || !t) return this;
var o = this._$eventProcessor;
null != e && o && o.normalizeQuery && (e = o.normalizeQuery(e)), r[t] || (r[t] = []);
for (var a = 0; a < r[t].length; a++)
if (r[t][a].h === n) return this;
var s = {
h: n,
query: e,
ctx: i || this,
callAtLast: n.zrEventfulCallAtLast
},
l = r[t].length - 1,
u = r[t][l];
return u && u.callAtLast ? r[t].splice(l, 0, s) : r[t].push(s), this
}, t.prototype.isSilent = function(t) {
var e = this._$handlers;
return !e || !e[t] || !e[t].length
}, t.prototype.off = function(t, e) {
var n = this._$handlers;
if (!n) return this;
if (!t) return this._$handlers = {}, this;
if (e) {
if (n[t]) {
for (var i = [], r = 0, o = n[t].length; o > r; r++) n[t][r].h !== e && i.push(n[t][r]);
n[t] = i
}
n[t] && 0 === n[t].length && delete n[t]
} else delete n[t];
return this
}, t.prototype.trigger = function(t) {
for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n];
if (!this._$handlers) return this;
var i = this._$handlers[t],
r = this._$eventProcessor;
if (i)
for (var o = e.length, a = i.length, s = 0; a > s; s++) {
var l = i[s];
if (!r || !r.filter || null == l.query || r.filter(t, l.query)) switch (o) {
case 0:
l.h.call(l.ctx);
break;
case 1:
l.h.call(l.ctx, e[0]);
break;
case 2:
l.h.call(l.ctx, e[0], e[1]);
break;
default:
l.h.apply(l.ctx, e)
}
}
return r && r.afterTrigger && r.afterTrigger(t), this
}, t.prototype.triggerWithContext = function(t) {
for (var e = [], n = 1; n < arguments.length; n++) e[n - 1] = arguments[n];
if (!this._$handlers) return this;
var i = this._$handlers[t],
r = this._$eventProcessor;
if (i)
for (var o = e.length, a = e[o - 1], s = i.length, l = 0; s > l; l++) {
var u = i[l];
if (!r || !r.filter || null == u.query || r.filter(t, u.query)) switch (o) {
case 0:
u.h.call(a);
break;
case 1:
u.h.call(a, e[0]);
break;
case 2:
u.h.call(a, e[0], e[1]);
break;
default:
u.h.apply(a, e.slice(1, o - 1))
}
}
return r && r.afterTrigger && r.afterTrigger(t), this
}, t
}(),
I_ = Math.log(2),
D_ = "___zrEVENTSAVED",
k_ = [],
A_ = /([&<>"'])/g,
P_ = {
"&": "&",
"<": "<",
">": ">",
'"': """,
"'": "'"
},
L_ = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
O_ = [],
R_ = Um.browser.firefox && +Um.browser.version.split(".")[0] < 39,
z_ = function(t) {
t.preventDefault(), t.stopPropagation(), t.cancelBubble = !0
},
E_ = function() {
function t() {
this._track = []
}
return t.prototype.recognize = function(t, e, n) {
return this._doTrack(t, e, n), this._recognize(t)
}, t.prototype.clear = function() {
return this._track.length = 0, this
}, t.prototype._doTrack = function(t, e, n) {
var i = t.touches;
if (i) {
for (var r = {
points: [],
touches: [],
target: e,
event: t
}, o = 0, a = i.length; a > o; o++) {
var s = i[o],
l = De(n, s, {});
r.points.push([l.zrX, l.zrY]), r.touches.push(s)
}
this._track.push(r)
}
}, t.prototype._recognize = function(t) {
for (var e in B_)
if (B_.hasOwnProperty(e)) {
var n = B_[e](this._track, t);
if (n) return n
}
}, t
}(),
B_ = {
pinch: function(t, e) {
var n = t.length;
if (n) {
var i = (t[n - 1] || {}).points,
r = (t[n - 2] || {}).points || i;
if (r && r.length > 1 && i && i.length > 1) {
var o = Ee(i) / Ee(r);
!isFinite(o) && (o = 1), e.pinchScale = o;
var a = Be(i);
return e.pinchX = a[0], e.pinchY = a[1], {
type: "pinch",
target: t[0].target,
event: e
}
}
}
}
},
N_ = (Object.freeze || Object)({
create: Ne,
identity: Fe,
copy: Ve,
mul: He,
translate: We,
rotate: Ge,
scale: Ue,
invert: Ye,
clone: Xe
}),
F_ = function() {
function t(t, e) {
this.x = t || 0, this.y = e || 0
}
return t.prototype.copy = function(t) {
return this.x = t.x, this.y = t.y, this
}, t.prototype.clone = function() {
return new t(this.x, this.y)
}, t.prototype.set = function(t, e) {
return this.x = t, this.y = e, this
}, t.prototype.equal = function(t) {
return t.x === this.x && t.y === this.y
}, t.prototype.add = function(t) {
return this.x += t.x, this.y += t.y, this
}, t.prototype.scale = function(t) {
this.x *= t, this.y *= t
}, t.prototype.scaleAndAdd = function(t, e) {
this.x += t.x * e, this.y += t.y * e
}, t.prototype.sub = function(t) {
return this.x -= t.x, this.y -= t.y, this
}, t.prototype.dot = function(t) {
return this.x * t.x + this.y * t.y
}, t.prototype.len = function() {
return Math.sqrt(this.x * this.x + this.y * this.y)
}, t.prototype.lenSquare = function() {
return this.x * this.x + this.y * this.y
}, t.prototype.normalize = function() {
var t = this.len();
return this.x /= t, this.y /= t, this
}, t.prototype.distance = function(t) {
var e = this.x - t.x,
n = this.y - t.y;
return Math.sqrt(e * e + n * n)
}, t.prototype.distanceSquare = function(t) {
var e = this.x - t.x,
n = this.y - t.y;
return e * e + n * n
}, t.prototype.negate = function() {
return this.x = -this.x, this.y = -this.y, this
}, t.prototype.transform = function(t) {
if (t) {
var e = this.x,
n = this.y;
return this.x = t[0] * e + t[2] * n + t[4], this.y = t[1] * e + t[3] * n + t[5], this
}
}, t.prototype.toArray = function(t) {
return t[0] = this.x, t[1] = this.y, t
}, t.prototype.fromArray = function(t) {
this.x = t[0], this.y = t[1]
}, t.set = function(t, e, n) {
t.x = e, t.y = n
}, t.copy = function(t, e) {
t.x = e.x, t.y = e.y
}, t.len = function(t) {
return Math.sqrt(t.x * t.x + t.y * t.y)
}, t.lenSquare = function(t) {
return t.x * t.x + t.y * t.y
}, t.dot = function(t, e) {
return t.x * e.x + t.y * e.y
}, t.add = function(t, e, n) {
t.x = e.x + n.x, t.y = e.y + n.y
}, t.sub = function(t, e, n) {
t.x = e.x - n.x, t.y = e.y - n.y
}, t.scale = function(t, e, n) {
t.x = e.x * n, t.y = e.y * n
}, t.scaleAndAdd = function(t, e, n, i) {
t.x = e.x + n.x * i, t.y = e.y + n.y * i
}, t.lerp = function(t, e, n, i) {
var r = 1 - i;
t.x = r * e.x + i * n.x, t.y = r * e.y + i * n.y
}, t
}(),
V_ = Math.min,
H_ = Math.max,
W_ = new F_,
G_ = new F_,
U_ = new F_,
Y_ = new F_,
X_ = new F_,
Z_ = new F_,
q_ = function() {
function t(t, e, n, i) {
0 > n && (t += n, n = -n), 0 > i && (e += i, i = -i), this.x = t, this.y = e, this.width = n, this
.height = i
}
return t.prototype.union = function(t) {
var e = V_(t.x, this.x),
n = V_(t.y, this.y);
this.width = isFinite(this.x) && isFinite(this.width) ? H_(t.x + t.width, this.x + this.width) -
e : t.width, this.height = isFinite(this.y) && isFinite(this.height) ? H_(t.y + t.height,
this.y + this.height) - n : t.height, this.x = e, this.y = n
}, t.prototype.applyTransform = function(e) {
t.applyTransform(this, this, e)
}, t.prototype.calculateTransform = function(t) {
var e = this,
n = t.width / e.width,
i = t.height / e.height,
r = Ne();
return We(r, r, [-e.x, -e.y]), Ue(r, r, [n, i]), We(r, r, [t.x, t.y]), r
}, t.prototype.intersect = function(e, n) {
if (!e) return !1;
e instanceof t || (e = t.create(e));
var i = this,
r = i.x,
o = i.x + i.width,
a = i.y,
s = i.y + i.height,
l = e.x,
u = e.x + e.width,
h = e.y,
c = e.y + e.height,
p = !(l > o || r > u || h > s || a > c);
if (n) {
var d = 1 / 0,
f = 0,
g = Math.abs(o - l),
v = Math.abs(u - r),
y = Math.abs(s - h),
m = Math.abs(c - a),
_ = Math.min(g, v),
x = Math.min(y, m);
l > o || r > u ? _ > f && (f = _, v > g ? F_.set(Z_, -g, 0) : F_.set(Z_, v, 0)) : d > _ && (
d = _, v > g ? F_.set(X_, g, 0) : F_.set(X_, -v, 0)), h > s || a > c ? x > f && (f =
x, m > y ? F_.set(Z_, 0, -y) : F_.set(Z_, 0, m)) : d > _ && (d = _, m > y ? F_.set(
X_, 0, y) : F_.set(X_, 0, -m))
}
return n && F_.copy(n, p ? X_ : Z_), p
}, t.prototype.contain = function(t, e) {
var n = this;
return t >= n.x && t <= n.x + n.width && e >= n.y && e <= n.y + n.height
}, t.prototype.clone = function() {
return new t(this.x, this.y, this.width, this.height)
}, t.prototype.copy = function(e) {
t.copy(this, e)
}, t.prototype.plain = function() {
return {
x: this.x,
y: this.y,
width: this.width,
height: this.height
}
}, t.prototype.isFinite = function() {
return isFinite(this.x) && isFinite(this.y) && isFinite(this.width) && isFinite(this.height)
}, t.prototype.isZero = function() {
return 0 === this.width || 0 === this.height
}, t.create = function(e) {
return new t(e.x, e.y, e.width, e.height)
}, t.copy = function(t, e) {
t.x = e.x, t.y = e.y, t.width = e.width, t.height = e.height
}, t.applyTransform = function(e, n, i) {
if (!i) return void(e !== n && t.copy(e, n));
if (i[1] < 1e-5 && i[1] > -1e-5 && i[2] < 1e-5 && i[2] > -1e-5) {
var r = i[0],
o = i[3],
a = i[4],
s = i[5];
return e.x = n.x * r + a, e.y = n.y * o + s, e.width = n.width * r, e.height = n.height * o,
e.width < 0 && (e.x += e.width, e.width = -e.width), void(e.height < 0 && (e.y += e
.height, e.height = -e.height))
}
W_.x = U_.x = n.x, W_.y = Y_.y = n.y, G_.x = Y_.x = n.x + n.width, G_.y = U_.y = n.y + n.height,
W_.transform(i), Y_.transform(i), G_.transform(i), U_.transform(i), e.x = V_(W_.x, G_.x, U_
.x, Y_.x), e.y = V_(W_.y, G_.y, U_.y, Y_.y);
var l = H_(W_.x, G_.x, U_.x, Y_.x),
u = H_(W_.y, G_.y, U_.y, Y_.y);
e.width = l - e.x, e.height = u - e.y
}, t
}(),
j_ = "silent",
K_ = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.handler = null, e
}
return e(n, t), n.prototype.dispose = function() {}, n.prototype.setCursor = function() {}, n
}(C_),
$_ = function() {
function t(t, e) {
this.x = t, this.y = e
}
return t
}(),
Q_ = ["click", "dblclick", "mousewheel", "mouseout", "mouseup", "mousedown", "mousemove", "contextmenu"],
J_ = new q_(0, 0, 0, 0),
tx = function(t) {
function n(e, n, i, r, o) {
var a = t.call(this) || this;
return a._hovered = new $_(0, 0), a.storage = e, a.painter = n, a.painterRoot = r, a._pointerSize =
o, i = i || new K_, a.proxy = null, a.setHandlerProxy(i), a._draggingMgr = new T_(a), a
}
return e(n, t), n.prototype.setHandlerProxy = function(t) {
this.proxy && this.proxy.dispose(), t && (v(Q_, function(e) {
t.on && t.on(e, this[e], this)
}, this), t.handler = this), this.proxy = t
}, n.prototype.mousemove = function(t) {
var e = t.zrX,
n = t.zrY,
i = $e(this, e, n),
r = this._hovered,
o = r.target;
o && !o.__zr && (r = this.findHover(r.x, r.y), o = r.target);
var a = this._hovered = i ? new $_(e, n) : this.findHover(e, n),
s = a.target,
l = this.proxy;
l.setCursor && l.setCursor(s ? s.cursor : "default"), o && s !== o && this.dispatchToElement(r,
"mouseout", t), this.dispatchToElement(a, "mousemove", t), s && s !== o && this
.dispatchToElement(a, "mouseover", t)
}, n.prototype.mouseout = function(t) {
var e = t.zrEventControl;
"only_globalout" !== e && this.dispatchToElement(this._hovered, "mouseout", t),
"no_globalout" !== e && this.trigger("globalout", {
type: "globalout",
event: t
})
}, n.prototype.resize = function() {
this._hovered = new $_(0, 0)
}, n.prototype.dispatch = function(t, e) {
var n = this[t];
n && n.call(this, e)
}, n.prototype.dispose = function() {
this.proxy.dispose(), this.storage = null, this.proxy = null, this.painter = null
}, n.prototype.setCursorStyle = function(t) {
var e = this.proxy;
e.setCursor && e.setCursor(t)
}, n.prototype.dispatchToElement = function(t, e, n) {
t = t || {};
var i = t.target;
if (!i || !i.silent) {
for (var r = "on" + e, o = Ze(e, t, n); i && (i[r] && (o.cancelBubble = !!i[r].call(i, o)),
i.trigger(e, o), i = i.__hostTarget ? i.__hostTarget : i.parent, !o.cancelBubble););
o.cancelBubble || (this.trigger(e, o), this.painter && this.painter.eachOtherLayer && this
.painter.eachOtherLayer(function(t) {
"function" == typeof t[r] && t[r].call(t, o), t.trigger && t.trigger(e, o)
}))
}
}, n.prototype.findHover = function(t, e, n) {
var i = this.storage.getDisplayList(),
r = new $_(t, e);
if (Ke(i, r, t, e, n), this._pointerSize && !r.target) {
for (var o = [], a = this._pointerSize, s = a / 2, l = new q_(t - s, e - s, a, a), u = i
.length - 1; u >= 0; u--) {
var h = i[u];
h === n || h.ignore || h.ignoreCoarsePointer || h.parent && h.parent
.ignoreCoarsePointer || (J_.copy(h.getBoundingRect()), h.transform && J_
.applyTransform(h.transform), J_.intersect(l) && o.push(h))
}
if (o.length)
for (var c = 4, p = Math.PI / 12, d = 2 * Math.PI, f = 0; s > f; f += c)
for (var g = 0; d > g; g += p) {
var v = t + f * Math.cos(g),
y = e + f * Math.sin(g);
if (Ke(o, r, v, y, n), r.target) return r
}
}
return r
}, n.prototype.processGesture = function(t, e) {
this._gestureMgr || (this._gestureMgr = new E_);
var n = this._gestureMgr;
"start" === e && n.clear();
var i = n.recognize(t, this.findHover(t.zrX, t.zrY, null).target, this.proxy.dom);
if ("end" === e && n.clear(), i) {
var r = i.type;
t.gestureEvent = r;
var o = new $_;
o.target = i.target, this.dispatchToElement(o, r, i.event)
}
}, n
}(C_);
v(["click", "mousedown", "mouseup", "mousewheel", "dblclick", "contextmenu"], function(t) {
tx.prototype[t] = function(e) {
var n, i, r = e.zrX,
o = e.zrY,
a = $e(this, r, o);
if ("mouseup" === t && a || (n = this.findHover(r, o), i = n.target), "mousedown" === t)
this._downEl = i, this._downPoint = [e.zrX, e.zrY], this._upEl = i;
else if ("mouseup" === t) this._upEl = i;
else if ("click" === t) {
if (this._downEl !== this._upEl || !this._downPoint || w_(this._downPoint, [e.zrX, e
.zrY]) > 4) return;
this._downPoint = null
}
this.dispatchToElement(n, t, e)
}
});
var ex, nx = 32,
ix = 7,
rx = 1,
ox = 2,
ax = 4,
sx = !1,
lx = function() {
function t() {
this._roots = [], this._displayList = [], this._displayListLen = 0, this.displayableSortFunc = ln
}
return t.prototype.traverse = function(t, e) {
for (var n = 0; n < this._roots.length; n++) this._roots[n].traverse(t, e)
}, t.prototype.getDisplayList = function(t, e) {
e = e || !1;
var n = this._displayList;
return (t || !n.length) && this.updateDisplayList(e), n
}, t.prototype.updateDisplayList = function(t) {
this._displayListLen = 0;
for (var e = this._roots, n = this._displayList, i = 0, r = e.length; r > i; i++) this
._updateAndAddDisplayable(e[i], null, t);
n.length = this._displayListLen, an(n, ln)
}, t.prototype._updateAndAddDisplayable = function(t, e, n) {
if (!t.ignore || n) {
t.beforeUpdate(), t.update(), t.afterUpdate();
var i = t.getClipPath();
if (t.ignoreClip) e = null;
else if (i) {
e = e ? e.slice() : [];
for (var r = i, o = t; r;) r.parent = o, r.updateTransform(), e.push(r), o = r, r = r
.getClipPath()
}
if (t.childrenRef) {
for (var a = t.childrenRef(), s = 0; s < a.length; s++) {
var l = a[s];
t.__dirty && (l.__dirty |= rx), this._updateAndAddDisplayable(l, e, n)
}
t.__dirty = 0
} else {
var u = t;
e && e.length ? u.__clipPaths = e : u.__clipPaths && u.__clipPaths.length > 0 && (u
.__clipPaths = []), isNaN(u.z) && (sn(), u.z = 0), isNaN(u.z2) && (sn(), u.z2 =
0), isNaN(u.zlevel) && (sn(), u.zlevel = 0), this._displayList[this
._displayListLen++] = u
}
var h = t.getDecalElement && t.getDecalElement();
h && this._updateAndAddDisplayable(h, e, n);
var c = t.getTextGuideLine();
c && this._updateAndAddDisplayable(c, e, n);
var p = t.getTextContent();
p && this._updateAndAddDisplayable(p, e, n)
}
}, t.prototype.addRoot = function(t) {
t.__zr && t.__zr.storage === this || this._roots.push(t)
}, t.prototype.delRoot = function(t) {
if (t instanceof Array)
for (var e = 0, n = t.length; n > e; e++) this.delRoot(t[e]);
else {
var i = p(this._roots, t);
i >= 0 && this._roots.splice(i, 1)
}
}, t.prototype.delAllRoots = function() {
this._roots = [], this._displayList = [], this._displayListLen = 0
}, t.prototype.getRoots = function() {
return this._roots
}, t.prototype.dispose = function() {
this._displayList = null, this._roots = null
}, t
}();
ex = Um.hasGlobalWindow && (window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window
.msRequestAnimationFrame && window.msRequestAnimationFrame.bind(window) || window
.mozRequestAnimationFrame || window.webkitRequestAnimationFrame) || function(t) {
return setTimeout(t, 16)
};
var ux = ex,
hx = {
linear: function(t) {
return t
},
quadraticIn: function(t) {
return t * t
},
quadraticOut: function(t) {
return t * (2 - t)
},
quadraticInOut: function(t) {
return (t *= 2) < 1 ? .5 * t * t : -.5 * (--t * (t - 2) - 1)
},
cubicIn: function(t) {
return t * t * t
},
cubicOut: function(t) {
return --t * t * t + 1
},
cubicInOut: function(t) {
return (t *= 2) < 1 ? .5 * t * t * t : .5 * ((t -= 2) * t * t + 2)
},
quarticIn: function(t) {
return t * t * t * t
},
quarticOut: function(t) {
return 1 - --t * t * t * t
},
quarticInOut: function(t) {
return (t *= 2) < 1 ? .5 * t * t * t * t : -.5 * ((t -= 2) * t * t * t - 2)
},
quinticIn: function(t) {
return t * t * t * t * t
},
quinticOut: function(t) {
return --t * t * t * t * t + 1
},
quinticInOut: function(t) {
return (t *= 2) < 1 ? .5 * t * t * t * t * t : .5 * ((t -= 2) * t * t * t * t + 2)
},
sinusoidalIn: function(t) {
return 1 - Math.cos(t * Math.PI / 2)
},
sinusoidalOut: function(t) {
return Math.sin(t * Math.PI / 2)
},
sinusoidalInOut: function(t) {
return .5 * (1 - Math.cos(Math.PI * t))
},
exponentialIn: function(t) {
return 0 === t ? 0 : Math.pow(1024, t - 1)
},
exponentialOut: function(t) {
return 1 === t ? 1 : 1 - Math.pow(2, -10 * t)
},
exponentialInOut: function(t) {
return 0 === t ? 0 : 1 === t ? 1 : (t *= 2) < 1 ? .5 * Math.pow(1024, t - 1) : .5 * (-Math.pow(
2, -10 * (t - 1)) + 2)
},
circularIn: function(t) {
return 1 - Math.sqrt(1 - t * t)
},
circularOut: function(t) {
return Math.sqrt(1 - --t * t)
},
circularInOut: function(t) {
return (t *= 2) < 1 ? -.5 * (Math.sqrt(1 - t * t) - 1) : .5 * (Math.sqrt(1 - (t -= 2) * t) + 1)
},
elasticIn: function(t) {
var e, n = .1,
i = .4;
return 0 === t ? 0 : 1 === t ? 1 : (!n || 1 > n ? (n = 1, e = i / 4) : e = i * Math.asin(1 /
n) / (2 * Math.PI), -(n * Math.pow(2, 10 * (t -= 1)) * Math.sin(2 * (t - e) * Math.PI /
i)))
},
elasticOut: function(t) {
var e, n = .1,
i = .4;
return 0 === t ? 0 : 1 === t ? 1 : (!n || 1 > n ? (n = 1, e = i / 4) : e = i * Math.asin(1 /
n) / (2 * Math.PI), n * Math.pow(2, -10 * t) * Math.sin(2 * (t - e) * Math.PI / i) + 1)
},
elasticInOut: function(t) {
var e, n = .1,
i = .4;
return 0 === t ? 0 : 1 === t ? 1 : (!n || 1 > n ? (n = 1, e = i / 4) : e = i * Math.asin(1 /
n) / (2 * Math.PI), (t *= 2) < 1 ? -.5 * n * Math.pow(2, 10 * (t -= 1)) * Math.sin(2 * (
t - e) * Math.PI / i) : n * Math.pow(2, -10 * (t -= 1)) * Math.sin(2 * (t - e) *
Math.PI / i) * .5 + 1)
},
backIn: function(t) {
var e = 1.70158;
return t * t * ((e + 1) * t - e)
},
backOut: function(t) {
var e = 1.70158;
return --t * t * ((e + 1) * t + e) + 1
},
backInOut: function(t) {
var e = 2.5949095;
return (t *= 2) < 1 ? .5 * t * t * ((e + 1) * t - e) : .5 * ((t -= 2) * t * ((e + 1) * t + e) +
2)
},
bounceIn: function(t) {
return 1 - hx.bounceOut(1 - t)
},
bounceOut: function(t) {
return 1 / 2.75 > t ? 7.5625 * t * t : 2 / 2.75 > t ? 7.5625 * (t -= 1.5 / 2.75) * t + .75 :
2.5 / 2.75 > t ? 7.5625 * (t -= 2.25 / 2.75) * t + .9375 : 7.5625 * (t -= 2.625 / 2.75) *
t + .984375
},
bounceInOut: function(t) {
return .5 > t ? .5 * hx.bounceIn(2 * t) : .5 * hx.bounceOut(2 * t - 1) + .5
}
},
cx = Math.pow,
px = Math.sqrt,
dx = 1e-8,
fx = 1e-4,
gx = px(3),
vx = 1 / 3,
yx = J(),
mx = J(),
_x = J(),
xx = /cubic-bezier\(([0-9,\.e ]+)\)/,
bx = function() {
function t(t) {
this._inited = !1, this._startTime = 0, this._pausedTime = 0, this._paused = !1, this._life = t
.life || 1e3, this._delay = t.delay || 0, this.loop = t.loop || !1, this.onframe = t.onframe ||
Q, this.ondestroy = t.ondestroy || Q, this.onrestart = t.onrestart || Q, t.easing && this
.setEasing(t.easing)
}
return t.prototype.step = function(t, e) {
if (this._inited || (this._startTime = t + this._delay, this._inited = !0), this._paused)
return void(this._pausedTime += e);
var n = this._life,
i = t - this._startTime - this._pausedTime,
r = i / n;
0 > r && (r = 0), r = Math.min(r, 1);
var o = this.easingFunc,
a = o ? o(r) : r;
if (this.onframe(a), 1 === r) {
if (!this.loop) return !0;
var s = i % n;
this._startTime = t - s, this._pausedTime = 0, this.onrestart()
}
return !1
}, t.prototype.pause = function() {
this._paused = !0
}, t.prototype.resume = function() {
this._paused = !1
}, t.prototype.setEasing = function(t) {
this.easing = t, this.easingFunc = T(t) ? t : hx[t] || Tn(t)
}, t
}(),
Sx = function() {
function t(t) {
this.value = t
}
return t
}(),
Mx = function() {
function t() {
this._len = 0
}
return t.prototype.insert = function(t) {
var e = new Sx(t);
return this.insertEntry(e), e
}, t.prototype.insertEntry = function(t) {
this.head ? (this.tail.next = t, t.prev = this.tail, t.next = null, this.tail = t) : this.head =
this.tail = t, this._len++
}, t.prototype.remove = function(t) {
var e = t.prev,
n = t.next;
e ? e.next = n : this.head = n, n ? n.prev = e : this.tail = e, t.next = t.prev = null, this
._len--
}, t.prototype.len = function() {
return this._len
}, t.prototype.clear = function() {
this.head = this.tail = null, this._len = 0
}, t
}(),
Tx = function() {
function t(t) {
this._list = new Mx, this._maxSize = 10, this._map = {}, this._maxSize = t
}
return t.prototype.put = function(t, e) {
var n = this._list,
i = this._map,
r = null;
if (null == i[t]) {
var o = n.len(),
a = this._lastRemovedEntry;
if (o >= this._maxSize && o > 0) {
var s = n.head;
n.remove(s), delete i[s.key], r = s.value, this._lastRemovedEntry = s
}
a ? a.value = e : a = new Sx(e), a.key = t, n.insertEntry(a), i[t] = a
}
return r
}, t.prototype.get = function(t) {
var e = this._map[t],
n = this._list;
return null != e ? (e !== n.tail && (n.remove(e), n.insertEntry(e)), e.value) : void 0
}, t.prototype.clear = function() {
this._list.clear(), this._map = {}
}, t.prototype.len = function() {
return this._list.len()
}, t
}(),
Cx = {
transparent: [0, 0, 0, 0],
aliceblue: [240, 248, 255, 1],
antiquewhite: [250, 235, 215, 1],
aqua: [0, 255, 255, 1],
aquamarine: [127, 255, 212, 1],
azure: [240, 255, 255, 1],
beige: [245, 245, 220, 1],
bisque: [255, 228, 196, 1],
black: [0, 0, 0, 1],
blanchedalmond: [255, 235, 205, 1],
blue: [0, 0, 255, 1],
blueviolet: [138, 43, 226, 1],
brown: [165, 42, 42, 1],
burlywood: [222, 184, 135, 1],
cadetblue: [95, 158, 160, 1],
chartreuse: [127, 255, 0, 1],
chocolate: [210, 105, 30, 1],
coral: [255, 127, 80, 1],
cornflowerblue: [100, 149, 237, 1],
cornsilk: [255, 248, 220, 1],
crimson: [220, 20, 60, 1],
cyan: [0, 255, 255, 1],
darkblue: [0, 0, 139, 1],
darkcyan: [0, 139, 139, 1],
darkgoldenrod: [184, 134, 11, 1],
darkgray: [169, 169, 169, 1],
darkgreen: [0, 100, 0, 1],
darkgrey: [169, 169, 169, 1],
darkkhaki: [189, 183, 107, 1],
darkmagenta: [139, 0, 139, 1],
darkolivegreen: [85, 107, 47, 1],
darkorange: [255, 140, 0, 1],
darkorchid: [153, 50, 204, 1],
darkred: [139, 0, 0, 1],
darksalmon: [233, 150, 122, 1],
darkseagreen: [143, 188, 143, 1],
darkslateblue: [72, 61, 139, 1],
darkslategray: [47, 79, 79, 1],
darkslategrey: [47, 79, 79, 1],
darkturquoise: [0, 206, 209, 1],
darkviolet: [148, 0, 211, 1],
deeppink: [255, 20, 147, 1],
deepskyblue: [0, 191, 255, 1],
dimgray: [105, 105, 105, 1],
dimgrey: [105, 105, 105, 1],
dodgerblue: [30, 144, 255, 1],
firebrick: [178, 34, 34, 1],
floralwhite: [255, 250, 240, 1],
forestgreen: [34, 139, 34, 1],
fuchsia: [255, 0, 255, 1],
gainsboro: [220, 220, 220, 1],
ghostwhite: [248, 248, 255, 1],
gold: [255, 215, 0, 1],
goldenrod: [218, 165, 32, 1],
gray: [128, 128, 128, 1],
green: [0, 128, 0, 1],
greenyellow: [173, 255, 47, 1],
grey: [128, 128, 128, 1],
honeydew: [240, 255, 240, 1],
hotpink: [255, 105, 180, 1],
indianred: [205, 92, 92, 1],
indigo: [75, 0, 130, 1],
ivory: [255, 255, 240, 1],
khaki: [240, 230, 140, 1],
lavender: [230, 230, 250, 1],
lavenderblush: [255, 240, 245, 1],
lawngreen: [124, 252, 0, 1],
lemonchiffon: [255, 250, 205, 1],
lightblue: [173, 216, 230, 1],
lightcoral: [240, 128, 128, 1],
lightcyan: [224, 255, 255, 1],
lightgoldenrodyellow: [250, 250, 210, 1],
lightgray: [211, 211, 211, 1],
lightgreen: [144, 238, 144, 1],
lightgrey: [211, 211, 211, 1],
lightpink: [255, 182, 193, 1],
lightsalmon: [255, 160, 122, 1],
lightseagreen: [32, 178, 170, 1],
lightskyblue: [135, 206, 250, 1],
lightslategray: [119, 136, 153, 1],
lightslategrey: [119, 136, 153, 1],
lightsteelblue: [176, 196, 222, 1],
lightyellow: [255, 255, 224, 1],
lime: [0, 255, 0, 1],
limegreen: [50, 205, 50, 1],
linen: [250, 240, 230, 1],
magenta: [255, 0, 255, 1],
maroon: [128, 0, 0, 1],
mediumaquamarine: [102, 205, 170, 1],
mediumblue: [0, 0, 205, 1],
mediumorchid: [186, 85, 211, 1],
mediumpurple: [147, 112, 219, 1],
mediumseagreen: [60, 179, 113, 1],
mediumslateblue: [123, 104, 238, 1],
mediumspringgreen: [0, 250, 154, 1],
mediumturquoise: [72, 209, 204, 1],
mediumvioletred: [199, 21, 133, 1],
midnightblue: [25, 25, 112, 1],
mintcream: [245, 255, 250, 1],
mistyrose: [255, 228, 225, 1],
moccasin: [255, 228, 181, 1],
navajowhite: [255, 222, 173, 1],
navy: [0, 0, 128, 1],
oldlace: [253, 245, 230, 1],
olive: [128, 128, 0, 1],
olivedrab: [107, 142, 35, 1],
orange: [255, 165, 0, 1],
orangered: [255, 69, 0, 1],
orchid: [218, 112, 214, 1],
palegoldenrod: [238, 232, 170, 1],
palegreen: [152, 251, 152, 1],
paleturquoise: [175, 238, 238, 1],
palevioletred: [219, 112, 147, 1],
papayawhip: [255, 239, 213, 1],
peachpuff: [255, 218, 185, 1],
peru: [205, 133, 63, 1],
pink: [255, 192, 203, 1],
plum: [221, 160, 221, 1],
powderblue: [176, 224, 230, 1],
purple: [128, 0, 128, 1],
red: [255, 0, 0, 1],
rosybrown: [188, 143, 143, 1],
royalblue: [65, 105, 225, 1],
saddlebrown: [139, 69, 19, 1],
salmon: [250, 128, 114, 1],
sandybrown: [244, 164, 96, 1],
seagreen: [46, 139, 87, 1],
seashell: [255, 245, 238, 1],
sienna: [160, 82, 45, 1],
silver: [192, 192, 192, 1],
skyblue: [135, 206, 235, 1],
slateblue: [106, 90, 205, 1],
slategray: [112, 128, 144, 1],
slategrey: [112, 128, 144, 1],
snow: [255, 250, 250, 1],
springgreen: [0, 255, 127, 1],
steelblue: [70, 130, 180, 1],
tan: [210, 180, 140, 1],
teal: [0, 128, 128, 1],
thistle: [216, 191, 216, 1],
tomato: [255, 99, 71, 1],
turquoise: [64, 224, 208, 1],
violet: [238, 130, 238, 1],
wheat: [245, 222, 179, 1],
white: [255, 255, 255, 1],
whitesmoke: [245, 245, 245, 1],
yellow: [255, 255, 0, 1],
yellowgreen: [154, 205, 50, 1]
},
Ix = new Tx(20),
Dx = null,
kx = Hn,
Ax = Wn,
Px = (Object.freeze || Object)({
parse: En,
lift: Fn,
toHex: Vn,
fastLerp: Hn,
fastMapToColor: kx,
lerp: Wn,
mapToColor: Ax,
modifyHSL: Gn,
modifyAlpha: Un,
stringify: Yn,
lum: Xn,
random: Zn
}),
Lx = (function() {
return Um.hasGlobalWindow && T(window.btoa) ? function(t) {
return window.btoa(unescape(encodeURIComponent(t)))
} : "undefined" != typeof Buffer ? function(t) {
return Buffer.from(t).toString("base64")
} : function() {
return null
}
}(), Array.prototype.slice),
Ox = 0,
Rx = 1,
zx = 2,
Ex = 3,
Bx = 4,
Nx = 5,
Fx = 6,
Vx = [0, 0, 0, 0],
Hx = function() {
function t(t) {
this.keyframes = [], this.discrete = !1, this._invalid = !1, this._needsSort = !1, this._lastFr = 0,
this._lastFrP = 0, this.propName = t
}
return t.prototype.isFinished = function() {
return this._finished
}, t.prototype.setFinished = function() {
this._finished = !0, this._additiveTrack && this._additiveTrack.setFinished()
}, t.prototype.needsAnimate = function() {
return this.keyframes.length >= 1
}, t.prototype.getAdditiveTrack = function() {
return this._additiveTrack
}, t.prototype.addKeyframe = function(t, e, n) {
this._needsSort = !0;
var i = this.keyframes,
r = i.length,
o = !1,
a = Fx,
s = e;
if (g(e)) {
var l = oi(e);
a = l, (1 === l && !D(e[0]) || 2 === l && !D(e[0][0])) && (o = !0)
} else if (D(e) && !E(e)) a = Ox;
else if (C(e))
if (isNaN(+e)) {
var u = En(e);
u && (s = u, a = Ex)
} else a = Ox;
else if (O(e)) {
var c = h({}, s);
c.colorStops = y(e.colorStops, function(t) {
return {
offset: t.offset,
color: En(t.color)
}
}), qn(e) ? a = Bx : jn(e) && (a = Nx), s = c
}
0 === r ? this.valType = a : (a !== this.valType || a === Fx) && (o = !0), this.discrete = this
.discrete || o;
var p = {
time: t,
value: s,
rawValue: e,
percent: 0
};
return n && (p.easing = n, p.easingFunc = T(n) ? n : hx[n] || Tn(n)), i.push(p), p
}, t.prototype.prepare = function(t, e) {
var n = this.keyframes;
this._needsSort && n.sort(function(t, e) {
return t.time - e.time
});
for (var i = this.valType, r = n.length, o = n[r - 1], a = this.discrete, s = si(i), l = ai(i),
u = 0; r > u; u++) {
var h = n[u],
c = h.value,
p = o.value;
h.percent = h.time / t, a || (s && u !== r - 1 ? ni(c, p, i) : l && ei(c.colorStops, p
.colorStops))
}
if (!a && i !== Nx && e && this.needsAnimate() && e.needsAnimate() && i === e.valType && !e
._finished) {
this._additiveTrack = e;
for (var d = n[0].value, u = 0; r > u; u++) i === Ox ? n[u].additiveValue = n[u].value - d :
i === Ex ? n[u].additiveValue = Jn([], n[u].value, d, -1) : si(i) && (n[u]
.additiveValue = i === Rx ? Jn([], n[u].value, d, -1) : ti([], n[u].value, d, -1))
}
}, t.prototype.step = function(t, e) {
if (!this._finished) {
this._additiveTrack && this._additiveTrack._finished && (this._additiveTrack = null);
var n, i, r, o = null != this._additiveTrack,
a = o ? "additiveValue" : "value",
s = this.valType,
l = this.keyframes,
u = l.length,
h = this.propName,
c = s === Ex,
p = this._lastFr,
d = Math.min;
if (1 === u) i = r = l[0];
else {
if (0 > e) n = 0;
else if (e < this._lastFrP) {
var f = d(p + 1, u - 1);
for (n = f; n >= 0 && !(l[n].percent <= e); n--);
n = d(n, u - 2)
} else {
for (n = p; u > n && !(l[n].percent > e); n++);
n = d(n - 1, u - 2)
}
r = l[n + 1], i = l[n]
}
if (i && r) {
this._lastFr = n, this._lastFrP = e;
var g = r.percent - i.percent,
v = 0 === g ? 1 : d((e - i.percent) / g, 1);
r.easingFunc && (v = r.easingFunc(v));
var m = o ? this._additiveValue : c ? Vx : t[h];
if (!si(s) && !c || m || (m = this._additiveValue = []), this.discrete) t[h] = 1 > v ? i
.rawValue : r.rawValue;
else if (si(s)) s === Rx ? $n(m, i[a], r[a], v) : Qn(m, i[a], r[a], v);
else if (ai(s)) {
var _ = i[a],
x = r[a],
w = s === Bx;
t[h] = {
type: w ? "linear" : "radial",
x: Kn(_.x, x.x, v),
y: Kn(_.y, x.y, v),
colorStops: y(_.colorStops, function(t, e) {
var n = x.colorStops[e];
return {
offset: Kn(t.offset, n.offset, v),
color: ri($n([], t.color, n.color, v))
}
}),
global: x.global
}, w ? (t[h].x2 = Kn(_.x2, x.x2, v), t[h].y2 = Kn(_.y2, x.y2, v)) : t[h].r = Kn(
_.r, x.r, v)
} else if (c) $n(m, i[a], r[a], v), o || (t[h] = ri(m));
else {
var b = Kn(i[a], r[a], v);
o ? this._additiveValue = b : t[h] = b
}
o && this._addToTarget(t)
}
}
}, t.prototype._addToTarget = function(t) {
var e = this.valType,
n = this.propName,
i = this._additiveValue;
e === Ox ? t[n] = t[n] + i : e === Ex ? (En(t[n], Vx), Jn(Vx, Vx, i, 1), t[n] = ri(Vx)) : e ===
Rx ? Jn(t[n], t[n], i, 1) : e === zx && ti(t[n], t[n], i, 1)
}, t
}(),
Wx = function() {
function t(t, e, n, i) {
return this._tracks = {}, this._trackKeys = [], this._maxTime = 0, this._started = 0, this._clip =
null, this._target = t, this._loop = e, e && i ? void a(
"Can' use additive animation on looped animation.") : (this._additiveAnimators = i, void(
this._allowDiscrete = n))
}
return t.prototype.getMaxTime = function() {
return this._maxTime
}, t.prototype.getDelay = function() {
return this._delay
}, t.prototype.getLoop = function() {
return this._loop
}, t.prototype.getTarget = function() {
return this._target
}, t.prototype.changeTarget = function(t) {
this._target = t
}, t.prototype.when = function(t, e, n) {
return this.whenWithKeys(t, e, w(e), n)
}, t.prototype.whenWithKeys = function(t, e, n, i) {
for (var r = this._tracks, o = 0; o < n.length; o++) {
var a = n[o],
s = r[a];
if (!s) {
s = r[a] = new Hx(a);
var l = void 0,
u = this._getAdditiveTrack(a);
if (u) {
var h = u.keyframes,
c = h[h.length - 1];
l = c && c.value, u.valType === Ex && l && (l = ri(l))
} else l = this._target[a];
if (null == l) continue;
t > 0 && s.addKeyframe(0, ii(l), i), this._trackKeys.push(a)
}
s.addKeyframe(t, ii(e[a]), i)
}
return this._maxTime = Math.max(this._maxTime, t), this
}, t.prototype.pause = function() {
this._clip.pause(), this._paused = !0
}, t.prototype.resume = function() {
this._clip.resume(), this._paused = !1
}, t.prototype.isPaused = function() {
return !!this._paused
}, t.prototype.duration = function(t) {
return this._maxTime = t, this._force = !0, this
}, t.prototype._doneCallback = function() {
this._setTracksFinished(), this._clip = null;
var t = this._doneCbs;
if (t)
for (var e = t.length, n = 0; e > n; n++) t[n].call(this)
}, t.prototype._abortedCallback = function() {
this._setTracksFinished();
var t = this.animation,
e = this._abortedCbs;
if (t && t.removeClip(this._clip), this._clip = null, e)
for (var n = 0; n < e.length; n++) e[n].call(this)
}, t.prototype._setTracksFinished = function() {
for (var t = this._tracks, e = this._trackKeys, n = 0; n < e.length; n++) t[e[n]].setFinished()
}, t.prototype._getAdditiveTrack = function(t) {
var e, n = this._additiveAnimators;
if (n)
for (var i = 0; i < n.length; i++) {
var r = n[i].getTrack(t);
r && (e = r)
}
return e
}, t.prototype.start = function(t) {
if (!(this._started > 0)) {
this._started = 1;
for (var e = this, n = [], i = this._maxTime || 0, r = 0; r < this._trackKeys.length; r++) {
var o = this._trackKeys[r],
a = this._tracks[o],
s = this._getAdditiveTrack(o),
l = a.keyframes,
u = l.length;
if (a.prepare(i, s), a.needsAnimate())
if (!this._allowDiscrete && a.discrete) {
var h = l[u - 1];
h && (e._target[a.propName] = h.rawValue), a.setFinished()
} else n.push(a)
}
if (n.length || this._force) {
var c = new bx({
life: i,
loop: this._loop,
delay: this._delay || 0,
onframe: function(t) {
e._started = 2;
var i = e._additiveAnimators;
if (i) {
for (var r = !1, o = 0; o < i.length; o++)
if (i[o]._clip) {
r = !0;
break
} r || (e._additiveAnimators = null)
}
for (var o = 0; o < n.length; o++) n[o].step(e._target, t);
var a = e._onframeCbs;
if (a)
for (var o = 0; o < a.length; o++) a[o](e._target, t)
},
ondestroy: function() {
e._doneCallback()
}
});
this._clip = c, this.animation && this.animation.addClip(c), t && c.setEasing(t)
} else this._doneCallback();
return this
}
}, t.prototype.stop = function(t) {
if (this._clip) {
var e = this._clip;
t && e.onframe(1), this._abortedCallback()
}
}, t.prototype.delay = function(t) {
return this._delay = t, this
}, t.prototype.during = function(t) {
return t && (this._onframeCbs || (this._onframeCbs = []), this._onframeCbs.push(t)), this
}, t.prototype.done = function(t) {
return t && (this._doneCbs || (this._doneCbs = []), this._doneCbs.push(t)), this
}, t.prototype.aborted = function(t) {
return t && (this._abortedCbs || (this._abortedCbs = []), this._abortedCbs.push(t)), this
}, t.prototype.getClip = function() {
return this._clip
}, t.prototype.getTrack = function(t) {
return this._tracks[t]
}, t.prototype.getTracks = function() {
var t = this;
return y(this._trackKeys, function(e) {
return t._tracks[e]
})
}, t.prototype.stopTracks = function(t, e) {
if (!t.length || !this._clip) return !0;
for (var n = this._tracks, i = this._trackKeys, r = 0; r < t.length; r++) {
var o = n[t[r]];
o && !o.isFinished() && (e ? o.step(this._target, 1) : 1 === this._started && o.step(this
._target, 0), o.setFinished())
}
for (var a = !0, r = 0; r < i.length; r++)
if (!n[i[r]].isFinished()) {
a = !1;
break
} return a && this._abortedCallback(), a
}, t.prototype.saveTo = function(t, e, n) {
if (t) {
e = e || this._trackKeys;
for (var i = 0; i < e.length; i++) {
var r = e[i],
o = this._tracks[r];
if (o && !o.isFinished()) {
var a = o.keyframes,
s = a[n ? 0 : a.length - 1];
s && (t[r] = ii(s.rawValue))
}
}
}
}, t.prototype.__changeFinalValue = function(t, e) {
e = e || w(t);
for (var n = 0; n < e.length; n++) {
var i = e[n],
r = this._tracks[i];
if (r) {
var o = r.keyframes;
if (o.length > 1) {
var a = o.pop();
r.addKeyframe(a.time, t[i]), r.prepare(this._maxTime, r.getAdditiveTrack())
}
}
}
}, t
}(),
Gx = function(t) {
function n(e) {
var n = t.call(this) || this;
return n._running = !1, n._time = 0, n._pausedTime = 0, n._pauseStart = 0, n._paused = !1, e = e ||
{}, n.stage = e.stage || {}, n
}
return e(n, t), n.prototype.addClip = function(t) {
t.animation && this.removeClip(t), this._head ? (this._tail.next = t, t.prev = this._tail, t
.next = null, this._tail = t) : this._head = this._tail = t, t.animation = this
}, n.prototype.addAnimator = function(t) {
t.animation = this;
var e = t.getClip();
e && this.addClip(e)
}, n.prototype.removeClip = function(t) {
if (t.animation) {
var e = t.prev,
n = t.next;
e ? e.next = n : this._head = n, n ? n.prev = e : this._tail = e, t.next = t.prev = t
.animation = null
}
}, n.prototype.removeAnimator = function(t) {
var e = t.getClip();
e && this.removeClip(e), t.animation = null
}, n.prototype.update = function(t) {
for (var e = li() - this._pausedTime, n = e - this._time, i = this._head; i;) {
var r = i.next,
o = i.step(e, n);
o ? (i.ondestroy(), this.removeClip(i), i = r) : i = r
}
this._time = e, t || (this.trigger("frame", n), this.stage.update && this.stage.update())
}, n.prototype._startLoop = function() {
function t() {
e._running && (ux(t), !e._paused && e.update())
}
var e = this;
this._running = !0, ux(t)
}, n.prototype.start = function() {
this._running || (this._time = li(), this._pausedTime = 0, this._startLoop())
}, n.prototype.stop = function() {
this._running = !1
}, n.prototype.pause = function() {
this._paused || (this._pauseStart = li(), this._paused = !0)
}, n.prototype.resume = function() {
this._paused && (this._pausedTime += li() - this._pauseStart, this._paused = !1)
}, n.prototype.clear = function() {
for (var t = this._head; t;) {
var e = t.next;
t.prev = t.next = t.animation = null, t = e
}
this._head = this._tail = null
}, n.prototype.isFinished = function() {
return null == this._head
}, n.prototype.animate = function(t, e) {
e = e || {}, this.start();
var n = new Wx(t, e.loop);
return this.addAnimator(n), n
}, n
}(C_),
Ux = 300,
Yx = Um.domSupported,
Xx = function() {
var t = ["click", "dblclick", "mousewheel", "wheel", "mouseout", "mouseup", "mousedown", "mousemove",
"contextmenu"
],
e = ["touchstart", "touchend", "touchmove"],
n = {
pointerdown: 1,
pointerup: 1,
pointermove: 1,
pointerout: 1
},
i = y(t, function(t) {
var e = t.replace("mouse", "pointer");
return n.hasOwnProperty(e) ? e : t
});
return {
mouse: t,
touch: e,
pointer: i
}
}(),
Zx = {
mouse: ["mousemove", "mouseup"],
pointer: ["pointermove", "pointerup"]
},
qx = !1,
jx = function() {
function t(t, e) {
this.stopPropagation = Q, this.stopImmediatePropagation = Q, this.preventDefault = Q, this.type = e
.type, this.target = this.currentTarget = t.dom, this.pointerType = e.pointerType, this
.clientX = e.clientX, this.clientY = e.clientY
}
return t
}(),
Kx = {
mousedown: function(t) {
t = Pe(this.dom, t), this.__mayPointerCapture = [t.zrX, t.zrY], this.trigger("mousedown", t)
},
mousemove: function(t) {
t = Pe(this.dom, t);
var e = this.__mayPointerCapture;
!e || t.zrX === e[0] && t.zrY === e[1] || this.__togglePointerCapture(!0), this.trigger(
"mousemove", t)
},
mouseup: function(t) {
t = Pe(this.dom, t), this.__togglePointerCapture(!1), this.trigger("mouseup", t)
},
mouseout: function(t) {
t = Pe(this.dom, t);
var e = t.toElement || t.relatedTarget;
di(this, e) || (this.__pointerCapturing && (t.zrEventControl = "no_globalout"), this.trigger(
"mouseout", t))
},
wheel: function(t) {
qx = !0, t = Pe(this.dom, t), this.trigger("mousewheel", t)
},
mousewheel: function(t) {
qx || (t = Pe(this.dom, t), this.trigger("mousewheel", t))
},
touchstart: function(t) {
t = Pe(this.dom, t), ci(t), this.__lastTouchMoment = new Date, this.handler.processGesture(t,
"start"), Kx.mousemove.call(this, t), Kx.mousedown.call(this, t)
},
touchmove: function(t) {
t = Pe(this.dom, t), ci(t), this.handler.processGesture(t, "change"), Kx.mousemove.call(this, t)
},
touchend: function(t) {
t = Pe(this.dom, t), ci(t), this.handler.processGesture(t, "end"), Kx.mouseup.call(this, t), +
new Date - +this.__lastTouchMoment < Ux && Kx.click.call(this, t)
},
pointerdown: function(t) {
Kx.mousedown.call(this, t)
},
pointermove: function(t) {
ui(t) || Kx.mousemove.call(this, t)
},
pointerup: function(t) {
Kx.mouseup.call(this, t)
},
pointerout: function(t) {
ui(t) || Kx.mouseout.call(this, t)
}
};
v(["click", "dblclick", "contextmenu"], function(t) {
Kx[t] = function(e) {
e = Pe(this.dom, e), this.trigger(t, e)
}
});
var $x = {
pointermove: function(t) {
ui(t) || $x.mousemove.call(this, t)
},
pointerup: function(t) {
$x.mouseup.call(this, t)
},
mousemove: function(t) {
this.trigger("mousemove", t)
},
mouseup: function(t) {
var e = this.__pointerCapturing;
this.__togglePointerCapture(!1), this.trigger("mouseup", t), e && (t.zrEventControl =
"only_globalout", this.trigger("mouseout", t))
}
},
Qx = function() {
function t(t, e) {
this.mounted = {}, this.listenerOpts = {}, this.touching = !1, this.domTarget = t, this
.domHandlers = e
}
return t
}(),
Jx = function(t) {
function n(e, n) {
var i = t.call(this) || this;
return i.__pointerCapturing = !1, i.dom = e, i.painterRoot = n, i._localHandlerScope = new Qx(e,
Kx), Yx && (i._globalHandlerScope = new Qx(document, $x)), fi(i, i._localHandlerScope), i
}
return e(n, t), n.prototype.dispose = function() {
yi(this._localHandlerScope), Yx && yi(this._globalHandlerScope)
}, n.prototype.setCursor = function(t) {
this.dom.style && (this.dom.style.cursor = t || "default")
}, n.prototype.__togglePointerCapture = function(t) {
if (this.__mayPointerCapture = null, Yx && +this.__pointerCapturing ^ +t) {
this.__pointerCapturing = t;
var e = this._globalHandlerScope;
t ? gi(this, e) : yi(e)
}
}, n
}(C_),
tw = 1;
Um.hasGlobalWindow && (tw = Math.max(window.devicePixelRatio || window.screen && window.screen.deviceXDPI /
window.screen.logicalXDPI || 1, 1));
var ew = tw,
nw = .4,
iw = "#333",
rw = "#ccc",
ow = "#eee",
aw = Fe,
sw = 5e-5,
lw = [],
uw = [],
hw = Ne(),
cw = Math.abs,
pw = function() {
function t() {}
return t.prototype.getLocalTransform = function(e) {
return t.getLocalTransform(this, e)
}, t.prototype.setPosition = function(t) {
this.x = t[0], this.y = t[1]
}, t.prototype.setScale = function(t) {
this.scaleX = t[0], this.scaleY = t[1]
}, t.prototype.setSkew = function(t) {
this.skewX = t[0], this.skewY = t[1]
}, t.prototype.setOrigin = function(t) {
this.originX = t[0], this.originY = t[1]
}, t.prototype.needLocalTransform = function() {
return mi(this.rotation) || mi(this.x) || mi(this.y) || mi(this.scaleX - 1) || mi(this.scaleY -
1) || mi(this.skewX) || mi(this.skewY)
}, t.prototype.updateTransform = function() {
var t = this.parent && this.parent.transform,
e = this.needLocalTransform(),
n = this.transform;
return e || t ? (n = n || Ne(), e ? this.getLocalTransform(n) : aw(n), t && (e ? He(n, t, n) :
Ve(n, t)), this.transform = n, void this._resolveGlobalScaleRatio(n)) : void(n && (aw(
n), this.invTransform = null))
}, t.prototype._resolveGlobalScaleRatio = function(t) {
var e = this.globalScaleRatio;
if (null != e && 1 !== e) {
this.getGlobalScale(lw);
var n = lw[0] < 0 ? -1 : 1,
i = lw[1] < 0 ? -1 : 1,
r = ((lw[0] - n) * e + n) / lw[0] || 0,
o = ((lw[1] - i) * e + i) / lw[1] || 0;
t[0] *= r, t[1] *= r, t[2] *= o, t[3] *= o
}
this.invTransform = this.invTransform || Ne(), Ye(this.invTransform, t)
}, t.prototype.getComputedTransform = function() {
for (var t = this, e = []; t;) e.push(t), t = t.parent;
for (; t = e.pop();) t.updateTransform();
return this.transform
}, t.prototype.setLocalTransform = function(t) {
if (t) {
var e = t[0] * t[0] + t[1] * t[1],
n = t[2] * t[2] + t[3] * t[3],
i = Math.atan2(t[1], t[0]),
r = Math.PI / 2 + i - Math.atan2(t[3], t[2]);
n = Math.sqrt(n) * Math.cos(r), e = Math.sqrt(e), this.skewX = r, this.skewY = 0, this
.rotation = -i, this.x = +t[4], this.y = +t[5], this.scaleX = e, this.scaleY = n, this
.originX = 0, this.originY = 0
}
}, t.prototype.decomposeTransform = function() {
if (this.transform) {
var t = this.parent,
e = this.transform;
t && t.transform && (He(uw, t.invTransform, e), e = uw);
var n = this.originX,
i = this.originY;
(n || i) && (hw[4] = n, hw[5] = i, He(uw, e, hw), uw[4] -= n, uw[5] -= i, e = uw), this
.setLocalTransform(e)
}
}, t.prototype.getGlobalScale = function(t) {
var e = this.transform;
return t = t || [], e ? (t[0] = Math.sqrt(e[0] * e[0] + e[1] * e[1]), t[1] = Math.sqrt(e[2] * e[
2] + e[3] * e[3]), e[0] < 0 && (t[0] = -t[0]), e[3] < 0 && (t[1] = -t[1]), t) : (t[0] =
1, t[1] = 1, t)
}, t.prototype.transformCoordToLocal = function(t, e) {
var n = [t, e],
i = this.invTransform;
return i && ye(n, n, i), n
}, t.prototype.transformCoordToGlobal = function(t, e) {
var n = [t, e],
i = this.transform;
return i && ye(n, n, i), n
}, t.prototype.getLineScale = function() {
var t = this.transform;
return t && cw(t[0] - 1) > 1e-10 && cw(t[3] - 1) > 1e-10 ? Math.sqrt(cw(t[0] * t[3] - t[2] * t[
1])) : 1
}, t.prototype.copyTransform = function(t) {
_i(this, t)
}, t.getLocalTransform = function(t, e) {
e = e || [];
var n = t.originX || 0,
i = t.originY || 0,
r = t.scaleX,
o = t.scaleY,
a = t.anchorX,
s = t.anchorY,
l = t.rotation || 0,
u = t.x,
h = t.y,
c = t.skewX ? Math.tan(t.skewX) : 0,
p = t.skewY ? Math.tan(-t.skewY) : 0;
if (n || i || a || s) {
var d = n + a,
f = i + s;
e[4] = -d * r - c * f * o, e[5] = -f * o - p * d * r
} else e[4] = e[5] = 0;
return e[0] = r, e[3] = o, e[1] = p * r, e[2] = c * o, l && Ge(e, e, l), e[4] += n + u, e[5] +=
i + h, e
}, t.initDefaultProps = function() {
var e = t.prototype;
e.scaleX = e.scaleY = e.globalScaleRatio = 1, e.x = e.y = e.originX = e.originY = e.skewX = e
.skewY = e.rotation = e.anchorX = e.anchorY = 0
}(), t
}(),
dw = ["x", "y", "originX", "originY", "anchorX", "anchorY", "rotation", "scaleX", "scaleY", "skewX",
"skewY"],
fw = {},
gw = "__zr_normal__",
vw = dw.concat(["ignore"]),
yw = m(dw, function(t, e) {
return t[e] = !0, t
}, {
ignore: !1
}),
mw = {},
_w = new q_(0, 0, 0, 0),
xw = function() {
function t(t) {
this.id = o(), this.animators = [], this.currentStates = [], this.states = {}, this._init(t)
}
return t.prototype._init = function(t) {
this.attr(t)
}, t.prototype.drift = function(t, e) {
switch (this.draggable) {
case "horizontal":
e = 0;
break;
case "vertical":
t = 0
}
var n = this.transform;
n || (n = this.transform = [1, 0, 0, 1, 0, 0]), n[4] += t, n[5] += e, this.decomposeTransform(),
this.markRedraw()
}, t.prototype.beforeUpdate = function() {}, t.prototype.afterUpdate = function() {}, t.prototype
.update = function() {
this.updateTransform(), this.__dirty && this.updateInnerText()
}, t.prototype.updateInnerText = function(t) {
var e = this._textContent;
if (e && (!e.ignore || t)) {
this.textConfig || (this.textConfig = {});
var n = this.textConfig,
i = n.local,
r = e.innerTransformable,
o = void 0,
a = void 0,
s = !1;
r.parent = i ? this : null;
var l = !1;
if (r.copyTransform(e), null != n.position) {
var u = _w;
u.copy(n.layoutRect ? n.layoutRect : this.getBoundingRect()), i || u.applyTransform(this
.transform), this.calculateTextPosition ? this.calculateTextPosition(mw, n, u) :
Ii(mw, n, u), r.x = mw.x, r.y = mw.y, o = mw.align, a = mw.verticalAlign;
var h = n.origin;
if (h && null != n.rotation) {
var c = void 0,
p = void 0;
"center" === h ? (c = .5 * u.width, p = .5 * u.height) : (c = Ci(h[0], u.width), p =
Ci(h[1], u.height)), l = !0, r.originX = -r.x + c + (i ? 0 : u.x), r
.originY = -r.y + p + (i ? 0 : u.y)
}
}
null != n.rotation && (r.rotation = n.rotation);
var d = n.offset;
d && (r.x += d[0], r.y += d[1], l || (r.originX = -d[0], r.originY = -d[1]));
var f = null == n.inside ? "string" == typeof n.position && n.position.indexOf("inside") >=
0 : n.inside,
g = this._innerTextDefaultStyle || (this._innerTextDefaultStyle = {}),
v = void 0,
y = void 0,
m = void 0;
f && this.canBeInsideText() ? (v = n.insideFill, y = n.insideStroke, (null == v ||
"auto" === v) && (v = this.getInsideTextFill()), (null == y || "auto" === y) &&
(y = this.getInsideTextStroke(v), m = !0)) : (v = n.outsideFill, y = n
.outsideStroke, (null == v || "auto" === v) && (v = this.getOutsideFill()), (null ==
y || "auto" === y) && (y = this.getOutsideStroke(v), m = !0)), v = v || "#000",
(v !== g.fill || y !== g.stroke || m !== g.autoStroke || o !== g.align || a !== g
.verticalAlign) && (s = !0, g.fill = v, g.stroke = y, g.autoStroke = m, g.align = o,
g.verticalAlign = a, e.setDefaultTextStyle(g)), e.__dirty |= rx, s && e.dirtyStyle(!
0)
}
}, t.prototype.canBeInsideText = function() {
return !0
}, t.prototype.getInsideTextFill = function() {
return "#fff"
}, t.prototype.getInsideTextStroke = function() {
return "#000"
}, t.prototype.getOutsideFill = function() {
return this.__zr && this.__zr.isDarkMode() ? rw : iw
}, t.prototype.getOutsideStroke = function() {
var t = this.__zr && this.__zr.getBackgroundColor(),
e = "string" == typeof t && En(t);
e || (e = [255, 255, 255, 1]);
for (var n = e[3], i = this.__zr.isDarkMode(), r = 0; 3 > r; r++) e[r] = e[r] * n + (i ? 0 :
255) * (1 - n);
return e[3] = 1, Yn(e, "rgba")
}, t.prototype.traverse = function() {}, t.prototype.attrKV = function(t, e) {
"textConfig" === t ? this.setTextConfig(e) : "textContent" === t ? this.setTextContent(e) :
"clipPath" === t ? this.setClipPath(e) : "extra" === t ? (this.extra = this.extra || {}, h(
this.extra, e)) : this[t] = e
}, t.prototype.hide = function() {
this.ignore = !0, this.markRedraw()
}, t.prototype.show = function() {
this.ignore = !1, this.markRedraw()
}, t.prototype.attr = function(t, e) {
if ("string" == typeof t) this.attrKV(t, e);
else if (k(t))
for (var n = t, i = w(n), r = 0; r < i.length; r++) {
var o = i[r];
this.attrKV(o, t[o])
}
return this.markRedraw(), this
}, t.prototype.saveCurrentToNormalState = function(t) {
this._innerSaveToNormal(t);
for (var e = this._normalState, n = 0; n < this.animators.length; n++) {
var i = this.animators[n],
r = i.__fromStateTransition;
if (!(i.getLoop() || r && r !== gw)) {
var o = i.targetName,
a = o ? e[o] : e;
i.saveTo(a)
}
}
}, t.prototype._innerSaveToNormal = function(t) {
var e = this._normalState;
e || (e = this._normalState = {}), t.textConfig && !e.textConfig && (e.textConfig = this
.textConfig), this._savePrimaryToNormal(t, e, vw)
}, t.prototype._savePrimaryToNormal = function(t, e, n) {
for (var i = 0; i < n.length; i++) {
var r = n[i];
null == t[r] || r in e || (e[r] = this[r])
}
}, t.prototype.hasState = function() {
return this.currentStates.length > 0
}, t.prototype.getState = function(t) {
return this.states[t]
}, t.prototype.ensureState = function(t) {
var e = this.states;
return e[t] || (e[t] = {}), e[t]
}, t.prototype.clearStates = function(t) {
this.useState(gw, !1, t)
}, t.prototype.useState = function(t, e, n, i) {
var r = t === gw,
o = this.hasState();
if (o || !r) {
var s = this.currentStates,
l = this.stateTransition;
if (!(p(s, t) >= 0) || !e && 1 !== s.length) {
var u;
if (this.stateProxy && !r && (u = this.stateProxy(t)), u || (u = this.states && this
.states[t]), !u && !r) return void a("State " + t + " not exists.");
r || this.saveCurrentToNormalState(u);
var h = !!(u && u.hoverLayer || i);
h && this._toggleHoverLayerFlag(!0), this._applyStateObj(t, u, this._normalState, e, !
n && !this.__inHover && l && l.duration > 0, l);
var c = this._textContent,
d = this._textGuide;
return c && c.useState(t, e, n, h), d && d.useState(t, e, n, h), r ? (this
.currentStates = [], this._normalState = {}) : e ? this.currentStates.push(t) :
this.currentStates = [t], this._updateAnimationTargets(), this.markRedraw(), !h &&
this.__inHover && (this._toggleHoverLayerFlag(!1), this.__dirty &= ~rx), u
}
}
}, t.prototype.useStates = function(t, e, n) {
if (t.length) {
var i = [],
r = this.currentStates,
o = t.length,
a = o === r.length;
if (a)
for (var s = 0; o > s; s++)
if (t[s] !== r[s]) {
a = !1;
break
} if (a) return;
for (var s = 0; o > s; s++) {
var l = t[s],
u = void 0;
this.stateProxy && (u = this.stateProxy(l, t)), u || (u = this.states[l]), u && i.push(
u)
}
var h = i[o - 1],
c = !!(h && h.hoverLayer || n);
c && this._toggleHoverLayerFlag(!0);
var p = this._mergeStates(i),
d = this.stateTransition;
this.saveCurrentToNormalState(p), this._applyStateObj(t.join(","), p, this._normalState, !1,
!e && !this.__inHover && d && d.duration > 0, d);
var f = this._textContent,
g = this._textGuide;
f && f.useStates(t, e, c), g && g.useStates(t, e, c), this._updateAnimationTargets(), this
.currentStates = t.slice(), this.markRedraw(), !c && this.__inHover && (this
._toggleHoverLayerFlag(!1), this.__dirty &= ~rx)
} else this.clearStates()
}, t.prototype._updateAnimationTargets = function() {
for (var t = 0; t < this.animators.length; t++) {
var e = this.animators[t];
e.targetName && e.changeTarget(this[e.targetName])
}
}, t.prototype.removeState = function(t) {
var e = p(this.currentStates, t);
if (e >= 0) {
var n = this.currentStates.slice();
n.splice(e, 1), this.useStates(n)
}
}, t.prototype.replaceState = function(t, e, n) {
var i = this.currentStates.slice(),
r = p(i, t),
o = p(i, e) >= 0;
r >= 0 ? o ? i.splice(r, 1) : i[r] = e : n && !o && i.push(e), this.useStates(i)
}, t.prototype.toggleState = function(t, e) {
e ? this.useState(t, !0) : this.removeState(t)
}, t.prototype._mergeStates = function(t) {
for (var e, n = {}, i = 0; i < t.length; i++) {
var r = t[i];
h(n, r), r.textConfig && (e = e || {}, h(e, r.textConfig))
}
return e && (n.textConfig = e), n
}, t.prototype._applyStateObj = function(t, e, n, i, r, o) {
var a = !(e && i);
e && e.textConfig ? (this.textConfig = h({}, i ? this.textConfig : n.textConfig), h(this
.textConfig, e.textConfig)) : a && n.textConfig && (this.textConfig = n.textConfig);
for (var s = {}, l = !1, u = 0; u < vw.length; u++) {
var c = vw[u],
p = r && yw[c];
e && null != e[c] ? p ? (l = !0, s[c] = e[c]) : this[c] = e[c] : a && null != n[c] && (p ? (
l = !0, s[c] = n[c]) : this[c] = n[c])
}
if (!r)
for (var u = 0; u < this.animators.length; u++) {
var d = this.animators[u],
f = d.targetName;
d.getLoop() || d.__changeFinalValue(f ? (e || n)[f] : e || n)
}
l && this._transitionState(t, s, o)
}, t.prototype._attachComponent = function(t) {
if ((!t.__zr || t.__hostTarget) && t !== this) {
var e = this.__zr;
e && t.addSelfToZr(e), t.__zr = e, t.__hostTarget = this
}
}, t.prototype._detachComponent = function(t) {
t.__zr && t.removeSelfFromZr(t.__zr), t.__zr = null, t.__hostTarget = null
}, t.prototype.getClipPath = function() {
return this._clipPath
}, t.prototype.setClipPath = function(t) {
this._clipPath && this._clipPath !== t && this.removeClipPath(), this._attachComponent(t), this
._clipPath = t, this.markRedraw()
}, t.prototype.removeClipPath = function() {
var t = this._clipPath;
t && (this._detachComponent(t), this._clipPath = null, this.markRedraw())
}, t.prototype.getTextContent = function() {
return this._textContent
}, t.prototype.setTextContent = function(t) {
var e = this._textContent;
e !== t && (e && e !== t && this.removeTextContent(), t.innerTransformable = new pw, this
._attachComponent(t), this._textContent = t, this.markRedraw())
}, t.prototype.setTextConfig = function(t) {
this.textConfig || (this.textConfig = {}), h(this.textConfig, t), this.markRedraw()
}, t.prototype.removeTextConfig = function() {
this.textConfig = null, this.markRedraw()
}, t.prototype.removeTextContent = function() {
var t = this._textContent;
t && (t.innerTransformable = null, this._detachComponent(t), this._textContent = null, this
._innerTextDefaultStyle = null, this.markRedraw())
}, t.prototype.getTextGuideLine = function() {
return this._textGuide
}, t.prototype.setTextGuideLine = function(t) {
this._textGuide && this._textGuide !== t && this.removeTextGuideLine(), this._attachComponent(
t), this._textGuide = t, this.markRedraw()
}, t.prototype.removeTextGuideLine = function() {
var t = this._textGuide;
t && (this._detachComponent(t), this._textGuide = null, this.markRedraw())
}, t.prototype.markRedraw = function() {
this.__dirty |= rx;
var t = this.__zr;
t && (this.__inHover ? t.refreshHover() : t.refresh()), this.__hostTarget && this.__hostTarget
.markRedraw()
}, t.prototype.dirty = function() {
this.markRedraw()
}, t.prototype._toggleHoverLayerFlag = function(t) {
this.__inHover = t;
var e = this._textContent,
n = this._textGuide;
e && (e.__inHover = t), n && (n.__inHover = t)
}, t.prototype.addSelfToZr = function(t) {
if (this.__zr !== t) {
this.__zr = t;
var e = this.animators;
if (e)
for (var n = 0; n < e.length; n++) t.animation.addAnimator(e[n]);
this._clipPath && this._clipPath.addSelfToZr(t), this._textContent && this._textContent
.addSelfToZr(t), this._textGuide && this._textGuide.addSelfToZr(t)
}
}, t.prototype.removeSelfFromZr = function(t) {
if (this.__zr) {
this.__zr = null;
var e = this.animators;
if (e)
for (var n = 0; n < e.length; n++) t.animation.removeAnimator(e[n]);
this._clipPath && this._clipPath.removeSelfFromZr(t), this._textContent && this._textContent
.removeSelfFromZr(t), this._textGuide && this._textGuide.removeSelfFromZr(t)
}
}, t.prototype.animate = function(t, e, n) {
var i = t ? this[t] : this,
r = new Wx(i, e, n);
return t && (r.targetName = t), this.addAnimator(r, t), r
}, t.prototype.addAnimator = function(t, e) {
var n = this.__zr,
i = this;
t.during(function() {
i.updateDuringAnimation(e)
}).done(function() {
var e = i.animators,
n = p(e, t);
n >= 0 && e.splice(n, 1)
}), this.animators.push(t), n && n.animation.addAnimator(t), n && n.wakeUp()
}, t.prototype.updateDuringAnimation = function() {
this.markRedraw()
}, t.prototype.stopAnimation = function(t, e) {
for (var n = this.animators, i = n.length, r = [], o = 0; i > o; o++) {
var a = n[o];
t && t !== a.scope ? r.push(a) : a.stop(e)
}
return this.animators = r, this
}, t.prototype.animateTo = function(t, e, n) {
Di(this, t, e, n)
}, t.prototype.animateFrom = function(t, e, n) {
Di(this, t, e, n, !0)
}, t.prototype._transitionState = function(t, e, n, i) {
for (var r = Di(this, e, n, i), o = 0; o < r.length; o++) r[o].__fromStateTransition = t
}, t.prototype.getBoundingRect = function() {
return null
}, t.prototype.getPaintRect = function() {
return null
}, t.initDefaultProps = function() {
function e(t, e, i, r) {
function o(t, e) {
Object.defineProperty(e, 0, {
get: function() {
return t[i]
},
set: function(e) {
t[i] = e
}
}), Object.defineProperty(e, 1, {
get: function() {
return t[r]
},
set: function(e) {
t[r] = e
}
})
}
Object.defineProperty(n, t, {
get: function() {
if (!this[e]) {
var t = this[e] = [];
o(this, t)
}
return this[e]
},
set: function(t) {
this[i] = t[0], this[r] = t[1], this[e] = t, o(this, t)
}
})
}
var n = t.prototype;
n.type = "element", n.name = "", n.ignore = n.silent = n.isGroup = n.draggable = n.dragging = n
.ignoreClip = n.__inHover = !1, n.__dirty = rx, Object.defineProperty && (e("position",
"_legacyPos", "x", "y"), e("scale", "_legacyScale", "scaleX", "scaleY"), e("origin",
"_legacyOrigin", "originX", "originY"))
}(), t
}();
f(xw, C_), f(xw, pw);
var ww = function(t) {
function n(e) {
var n = t.call(this) || this;
return n.isGroup = !0, n._children = [], n.attr(e), n
}
return e(n, t), n.prototype.childrenRef = function() {
return this._children
}, n.prototype.children = function() {
return this._children.slice()
}, n.prototype.childAt = function(t) {
return this._children[t]
}, n.prototype.childOfName = function(t) {
for (var e = this._children, n = 0; n < e.length; n++)
if (e[n].name === t) return e[n]
}, n.prototype.childCount = function() {
return this._children.length
}, n.prototype.add = function(t) {
return t && t !== this && t.parent !== this && (this._children.push(t), this._doAdd(t)), this
}, n.prototype.addBefore = function(t, e) {
if (t && t !== this && t.parent !== this && e && e.parent === this) {
var n = this._children,
i = n.indexOf(e);
i >= 0 && (n.splice(i, 0, t), this._doAdd(t))
}
return this
}, n.prototype.replace = function(t, e) {
var n = p(this._children, t);
return n >= 0 && this.replaceAt(e, n), this
}, n.prototype.replaceAt = function(t, e) {
var n = this._children,
i = n[e];
if (t && t !== this && t.parent !== this && t !== i) {
n[e] = t, i.parent = null;
var r = this.__zr;
r && i.removeSelfFromZr(r), this._doAdd(t)
}
return this
}, n.prototype._doAdd = function(t) {
t.parent && t.parent.remove(t), t.parent = this;
var e = this.__zr;
e && e !== t.__zr && t.addSelfToZr(e), e && e.refresh()
}, n.prototype.remove = function(t) {
var e = this.__zr,
n = this._children,
i = p(n, t);
return 0 > i ? this : (n.splice(i, 1), t.parent = null, e && t.removeSelfFromZr(e), e && e
.refresh(), this)
}, n.prototype.removeAll = function() {
for (var t = this._children, e = this.__zr, n = 0; n < t.length; n++) {
var i = t[n];
e && i.removeSelfFromZr(e), i.parent = null
}
return t.length = 0, this
}, n.prototype.eachChild = function(t, e) {
for (var n = this._children, i = 0; i < n.length; i++) {
var r = n[i];
t.call(e, r, i)
}
return this
}, n.prototype.traverse = function(t, e) {
for (var n = 0; n < this._children.length; n++) {
var i = this._children[n],
r = t.call(e, i);
i.isGroup && !r && i.traverse(t, e)
}
return this
}, n.prototype.addSelfToZr = function(e) {
t.prototype.addSelfToZr.call(this, e);
for (var n = 0; n < this._children.length; n++) {
var i = this._children[n];
i.addSelfToZr(e)
}
}, n.prototype.removeSelfFromZr = function(e) {
t.prototype.removeSelfFromZr.call(this, e);
for (var n = 0; n < this._children.length; n++) {
var i = this._children[n];
i.removeSelfFromZr(e)
}
}, n.prototype.getBoundingRect = function(t) {
for (var e = new q_(0, 0, 0, 0), n = t || this._children, i = [], r = null, o = 0; o < n
.length; o++) {
var a = n[o];
if (!a.ignore && !a.invisible) {
var s = a.getBoundingRect(),
l = a.getLocalTransform(i);
l ? (q_.applyTransform(e, s, l), r = r || e.clone(), r.union(e)) : (r = r || s.clone(),
r.union(s))
}
}
return r || e
}, n
}(xw);
ww.prototype.type = "group";
var bw = {},
Sw = {},
Mw = function() {
function t(t, e, n) {
var i = this;
this._sleepAfterStill = 10, this._stillFrameAccum = 0, this._needsRefresh = !0, this
._needsRefreshHover = !0, this._darkMode = !1, n = n || {}, this.dom = e, this.id = t;
var r = new lx,
o = n.renderer || "canvas";
bw[o] || (o = w(bw)[0]), n.useDirtyRect = null == n.useDirtyRect ? !1 : n.useDirtyRect;
var a = new bw[o](e, r, n, t),
s = n.ssr || a.ssrOnly;
this.storage = r, this.painter = a;
var l, u = Um.node || Um.worker || s ? null : new Jx(a.getViewportRoot(), a.root),
h = n.useCoarsePointer,
c = null == h || "auto" === h ? Um.touchEventsSupported : !!h,
p = 44;
c && (l = N(n.pointerSize, p)), this.handler = new tx(r, a, u, a.root, l), this.animation = new Gx({
stage: {
update: s ? null : function() {
return i._flush(!0)
}
}
}), s || this.animation.start()
}
return t.prototype.add = function(t) {
t && (this.storage.addRoot(t), t.addSelfToZr(this), this.refresh())
}, t.prototype.remove = function(t) {
t && (this.storage.delRoot(t), t.removeSelfFromZr(this), this.refresh())
}, t.prototype.configLayer = function(t, e) {
this.painter.configLayer && this.painter.configLayer(t, e), this.refresh()
}, t.prototype.setBackgroundColor = function(t) {
this.painter.setBackgroundColor && this.painter.setBackgroundColor(t), this.refresh(), this
._backgroundColor = t, this._darkMode = Ei(t)
}, t.prototype.getBackgroundColor = function() {
return this._backgroundColor
}, t.prototype.setDarkMode = function(t) {
this._darkMode = t
}, t.prototype.isDarkMode = function() {
return this._darkMode
}, t.prototype.refreshImmediately = function(t) {
t || this.animation.update(!0), this._needsRefresh = !1, this.painter.refresh(), this
._needsRefresh = !1
}, t.prototype.refresh = function() {
this._needsRefresh = !0, this.animation.start()
}, t.prototype.flush = function() {
this._flush(!1)
}, t.prototype._flush = function(t) {
var e, n = li();
this._needsRefresh && (e = !0, this.refreshImmediately(t)), this._needsRefreshHover && (e = !0,
this.refreshHoverImmediately());
var i = li();
e ? (this._stillFrameAccum = 0, this.trigger("rendered", {
elapsedTime: i - n
})) : this._sleepAfterStill > 0 && (this._stillFrameAccum++, this._stillFrameAccum > this
._sleepAfterStill && this.animation.stop())
}, t.prototype.setSleepAfterStill = function(t) {
this._sleepAfterStill = t
}, t.prototype.wakeUp = function() {
this.animation.start(), this._stillFrameAccum = 0
}, t.prototype.refreshHover = function() {
this._needsRefreshHover = !0
}, t.prototype.refreshHoverImmediately = function() {
this._needsRefreshHover = !1, this.painter.refreshHover && "canvas" === this.painter
.getType() && this.painter.refreshHover()
}, t.prototype.resize = function(t) {
t = t || {}, this.painter.resize(t.width, t.height), this.handler.resize()
}, t.prototype.clearAnimation = function() {
this.animation.clear()
}, t.prototype.getWidth = function() {
return this.painter.getWidth()
}, t.prototype.getHeight = function() {
return this.painter.getHeight()
}, t.prototype.setCursorStyle = function(t) {
this.handler.setCursorStyle(t)
}, t.prototype.findHover = function(t, e) {
return this.handler.findHover(t, e)
}, t.prototype.on = function(t, e, n) {
return this.handler.on(t, e, n), this
}, t.prototype.off = function(t, e) {
this.handler.off(t, e)
}, t.prototype.trigger = function(t, e) {
this.handler.trigger(t, e)
}, t.prototype.clear = function() {
for (var t = this.storage.getRoots(), e = 0; e < t.length; e++) t[e] instanceof ww && t[e]
.removeSelfFromZr(this);
this.storage.delAllRoots(), this.painter.clear()
}, t.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, zi(
this.id)
}, t
}(),
Tw = "5.4.4",
Cw = (Object.freeze || Object)({
init: Bi,
dispose: Ni,
disposeAll: Fi,
getInstance: Vi,
registerPainter: Hi,
version: Tw
}),
Iw = 1e-4,
Dw = 20,
kw = 9007199254740991,
Aw =
/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d{1,2})(?::(\d{1,2})(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/,
Pw = ("undefined" != typeof console && console.warn && console.log, "series\x00"),
Lw = "\x00_ec_\x00",
Ow = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "rich", "tag", "color", "textBorderColor",
"textBorderWidth", "width", "height", "lineHeight", "align", "verticalAlign", "baseline", "shadowColor",
"shadowBlur", "shadowOffsetX", "shadowOffsetY", "textShadowColor", "textShadowBlur",
"textShadowOffsetX", "textShadowOffsetY", "backgroundColor", "borderColor", "borderWidth",
"borderRadius", "padding"
],
Rw = ur(),
zw = {
useDefault: !0,
enableAll: !1,
enableNone: !1
},
Ew = {
useDefault: !1,
enableAll: !0,
enableNone: !0
},
Bw = ".",
Nw = "___EC__COMPONENT__CONTAINER___",
Fw = "___EC__EXTENDED_CLASS___",
Vw = Math.round(10 * Math.random()),
Hw = [
["fill", "color"],
["shadowBlur"],
["shadowOffsetX"],
["shadowOffsetY"],
["opacity"],
["shadowColor"]
],
Ww = $r(Hw),
Gw = function() {
function t() {}
return t.prototype.getAreaStyle = function(t, e) {
return Ww(this, t, e)
}, t
}(),
Uw = new Tx(50),
Yw = /\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,
Xw = function() {
function t() {}
return t
}(),
Zw = function() {
function t(t) {
this.tokens = [], t && (this.tokens = t)
}
return t
}(),
qw = function() {
function t() {
this.width = 0, this.height = 0, this.contentWidth = 0, this.contentHeight = 0, this.outerWidth = 0,
this.outerHeight = 0, this.lines = []
}
return t
}(),
jw = m(",&?/;] ".split(""), function(t, e) {
return t[e] = !0, t
}, {}),
Kw = "__zr_style_" + Math.round(10 * Math.random()),
$w = {
shadowBlur: 0,
shadowOffsetX: 0,
shadowOffsetY: 0,
shadowColor: "#000",
opacity: 1,
blend: "source-over"
},
Qw = {
style: {
shadowBlur: !0,
shadowOffsetX: !0,
shadowOffsetY: !0,
shadowColor: !0,
opacity: !0
}
};
$w[Kw] = !0;
var Jw = ["z", "z2", "invisible"],
tb = ["invisible"],
eb = function(t) {
function n(e) {
return t.call(this, e) || this
}
return e(n, t), n.prototype._init = function(e) {
for (var n = w(e), i = 0; i < n.length; i++) {
var r = n[i];
"style" === r ? this.useStyle(e[r]) : t.prototype.attrKV.call(this, r, e[r])
}
this.style || this.useStyle({})
}, n.prototype.beforeBrush = function() {}, n.prototype.afterBrush = function() {}, n.prototype
.innerBeforeBrush = function() {}, n.prototype.innerAfterBrush = function() {}, n.prototype
.shouldBePainted = function(t, e, n, i) {
var r = this.transform;
if (this.ignore || this.invisible || 0 === this.style.opacity || this.culling && po(this, t,
e) || r && !r[0] && !r[3]) return !1;
if (n && this.__clipPaths)
for (var o = 0; o < this.__clipPaths.length; ++o)
if (this.__clipPaths[o].isZeroArea()) return !1;
if (i && this.parent)
for (var a = this.parent; a;) {
if (a.ignore) return !1;
a = a.parent
}
return !0
}, n.prototype.contain = function(t, e) {
return this.rectContain(t, e)
}, n.prototype.traverse = function(t, e) {
t.call(e, this)
}, n.prototype.rectContain = function(t, e) {
var n = this.transformCoordToLocal(t, e),
i = this.getBoundingRect();
return i.contain(n[0], n[1])
}, n.prototype.getPaintRect = function() {
var t = this._paintRect;
if (!this._paintRect || this.__dirty) {
var e = this.transform,
n = this.getBoundingRect(),
i = this.style,
r = i.shadowBlur || 0,
o = i.shadowOffsetX || 0,
a = i.shadowOffsetY || 0;
t = this._paintRect || (this._paintRect = new q_(0, 0, 0, 0)), e ? q_.applyTransform(t, n,
e) : t.copy(n), (r || o || a) && (t.width += 2 * r + Math.abs(o), t.height += 2 *
r + Math.abs(a), t.x = Math.min(t.x, t.x + o - r), t.y = Math.min(t.y, t.y + a - r));
var s = this.dirtyRectTolerance;
t.isZero() || (t.x = Math.floor(t.x - s), t.y = Math.floor(t.y - s), t.width = Math.ceil(t
.width + 1 + 2 * s), t.height = Math.ceil(t.height + 1 + 2 * s))
}
return t
}, n.prototype.setPrevPaintRect = function(t) {
t ? (this._prevPaintRect = this._prevPaintRect || new q_(0, 0, 0, 0), this._prevPaintRect.copy(
t)) : this._prevPaintRect = null
}, n.prototype.getPrevPaintRect = function() {
return this._prevPaintRect
}, n.prototype.animateStyle = function(t) {
return this.animate("style", t)
}, n.prototype.updateDuringAnimation = function(t) {
"style" === t ? this.dirtyStyle() : this.markRedraw()
}, n.prototype.attrKV = function(e, n) {
"style" !== e ? t.prototype.attrKV.call(this, e, n) : this.style ? this.setStyle(n) : this
.useStyle(n)
}, n.prototype.setStyle = function(t, e) {
return "string" == typeof t ? this.style[t] = e : h(this.style, t), this.dirtyStyle(), this
}, n.prototype.dirtyStyle = function(t) {
t || this.markRedraw(), this.__dirty |= ox, this._rect && (this._rect = null)
}, n.prototype.dirty = function() {
this.dirtyStyle()
}, n.prototype.styleChanged = function() {
return !!(this.__dirty & ox)
}, n.prototype.styleUpdated = function() {
this.__dirty &= ~ox
}, n.prototype.createStyle = function(t) {
return j($w, t)
}, n.prototype.useStyle = function(t) {
t[Kw] || (t = this.createStyle(t)), this.__inHover ? this.__hoverStyle = t : this.style = t,
this.dirtyStyle()
}, n.prototype.isStyleObject = function(t) {
return t[Kw]
}, n.prototype._innerSaveToNormal = function(e) {
t.prototype._innerSaveToNormal.call(this, e);
var n = this._normalState;
e.style && !n.style && (n.style = this._mergeStyle(this.createStyle(), this.style)), this
._savePrimaryToNormal(e, n, Jw)
}, n.prototype._applyStateObj = function(e, n, i, r, o, a) {
t.prototype._applyStateObj.call(this, e, n, i, r, o, a);
var s, l = !(n && r);
if (n && n.style ? o ? r ? s = n.style : (s = this._mergeStyle(this.createStyle(), i.style),
this._mergeStyle(s, n.style)) : (s = this._mergeStyle(this.createStyle(), r ? this
.style : i.style), this._mergeStyle(s, n.style)) : l && (s = i.style), s)
if (o) {
var u = this.style;
if (this.style = this.createStyle(l ? {} : u), l)
for (var h = w(u), c = 0; c < h.length; c++) {
var p = h[c];
p in s && (s[p] = s[p], this.style[p] = u[p])
}
for (var d = w(s), c = 0; c < d.length; c++) {
var p = d[c];
this.style[p] = this.style[p]
}
this._transitionState(e, {
style: s
}, a, this.getAnimationStyleProps())
} else this.useStyle(s);
for (var f = this.__inHover ? tb : Jw, c = 0; c < f.length; c++) {
var p = f[c];
n && null != n[p] ? this[p] = n[p] : l && null != i[p] && (this[p] = i[p])
}
}, n.prototype._mergeStates = function(e) {
for (var n, i = t.prototype._mergeStates.call(this, e), r = 0; r < e.length; r++) {
var o = e[r];
o.style && (n = n || {}, this._mergeStyle(n, o.style))
}
return n && (i.style = n), i
}, n.prototype._mergeStyle = function(t, e) {
return h(t, e), t
}, n.prototype.getAnimationStyleProps = function() {
return Qw
}, n.initDefaultProps = function() {
var t = n.prototype;
t.type = "displayable", t.invisible = !1, t.z = 0, t.z2 = 0, t.zlevel = 0, t.culling = !1, t
.cursor = "pointer", t.rectHover = !1, t.incremental = !1, t._rect = null, t
.dirtyRectTolerance = 0, t.__dirty = rx | ox
}(), n
}(xw),
nb = new q_(0, 0, 0, 0),
ib = new q_(0, 0, 0, 0),
rb = Math.min,
ob = Math.max,
ab = Math.sin,
sb = Math.cos,
lb = 2 * Math.PI,
ub = J(),
hb = J(),
cb = J(),
pb = [],
db = [],
fb = {
M: 1,
L: 2,
C: 3,
Q: 4,
A: 5,
Z: 6,
R: 7
},
gb = [],
vb = [],
yb = [],
mb = [],
_b = [],
xb = [],
wb = Math.min,
bb = Math.max,
Sb = Math.cos,
Mb = Math.sin,
Tb = Math.abs,
Cb = Math.PI,
Ib = 2 * Cb,
Db = "undefined" != typeof Float32Array,
kb = [],
Ab = function() {
function t(t) {
this.dpr = 1, this._xi = 0, this._yi = 0, this._x0 = 0, this._y0 = 0, this._len = 0, t && (this
._saveData = !1), this._saveData && (this.data = [])
}
return t.prototype.increaseVersion = function() {
this._version++
}, t.prototype.getVersion = function() {
return this._version
}, t.prototype.setScale = function(t, e, n) {
n = n || 0, n > 0 && (this._ux = Tb(n / ew / t) || 0, this._uy = Tb(n / ew / e) || 0)
}, t.prototype.setDPR = function(t) {
this.dpr = t
}, t.prototype.setContext = function(t) {
this._ctx = t
}, t.prototype.getContext = function() {
return this._ctx
}, t.prototype.beginPath = function() {
return this._ctx && this._ctx.beginPath(), this.reset(), this
}, t.prototype.reset = function() {
this._saveData && (this._len = 0), this._pathSegLen && (this._pathSegLen = null, this._pathLen =
0), this._version++
}, t.prototype.moveTo = function(t, e) {
return this._drawPendingPt(), this.addData(fb.M, t, e), this._ctx && this._ctx.moveTo(t, e),
this._x0 = t, this._y0 = e, this._xi = t, this._yi = e, this
}, t.prototype.lineTo = function(t, e) {
var n = Tb(t - this._xi),
i = Tb(e - this._yi),
r = n > this._ux || i > this._uy;
if (this.addData(fb.L, t, e), this._ctx && r && this._ctx.lineTo(t, e), r) this._xi = t, this
._yi = e, this._pendingPtDist = 0;
else {
var o = n * n + i * i;
o > this._pendingPtDist && (this._pendingPtX = t, this._pendingPtY = e, this
._pendingPtDist = o)
}
return this
}, t.prototype.bezierCurveTo = function(t, e, n, i, r, o) {
return this._drawPendingPt(), this.addData(fb.C, t, e, n, i, r, o), this._ctx && this._ctx
.bezierCurveTo(t, e, n, i, r, o), this._xi = r, this._yi = o, this
}, t.prototype.quadraticCurveTo = function(t, e, n, i) {
return this._drawPendingPt(), this.addData(fb.Q, t, e, n, i), this._ctx && this._ctx
.quadraticCurveTo(t, e, n, i), this._xi = n, this._yi = i, this
}, t.prototype.arc = function(t, e, n, i, r, o) {
this._drawPendingPt(), kb[0] = i, kb[1] = r, _o(kb, o), i = kb[0], r = kb[1];
var a = r - i;
return this.addData(fb.A, t, e, n, n, i, a, 0, o ? 0 : 1), this._ctx && this._ctx.arc(t, e, n,
i, r, o), this._xi = Sb(r) * n + t, this._yi = Mb(r) * n + e, this
}, t.prototype.arcTo = function(t, e, n, i, r) {
return this._drawPendingPt(), this._ctx && this._ctx.arcTo(t, e, n, i, r), this
}, t.prototype.rect = function(t, e, n, i) {
return this._drawPendingPt(), this._ctx && this._ctx.rect(t, e, n, i), this.addData(fb.R, t, e,
n, i), this
}, t.prototype.closePath = function() {
this._drawPendingPt(), this.addData(fb.Z);
var t = this._ctx,
e = this._x0,
n = this._y0;
return t && t.closePath(), this._xi = e, this._yi = n, this
}, t.prototype.fill = function(t) {
t && t.fill(), this.toStatic()
}, t.prototype.stroke = function(t) {
t && t.stroke(), this.toStatic()
}, t.prototype.len = function() {
return this._len
}, t.prototype.setData = function(t) {
var e = t.length;
this.data && this.data.length === e || !Db || (this.data = new Float32Array(e));
for (var n = 0; e > n; n++) this.data[n] = t[n];
this._len = e
}, t.prototype.appendPath = function(t) {
t instanceof Array || (t = [t]);
for (var e = t.length, n = 0, i = this._len, r = 0; e > r; r++) n += t[r].len();
Db && this.data instanceof Float32Array && (this.data = new Float32Array(i + n));
for (var r = 0; e > r; r++)
for (var o = t[r].data, a = 0; a < o.length; a++) this.data[i++] = o[a];
this._len = i
}, t.prototype.addData = function() {
if (this._saveData) {
var t = this.data;
this._len + arguments.length > t.length && (this._expandData(), t = this.data);
for (var e = 0; e < arguments.length; e++) t[this._len++] = arguments[e]
}
}, t.prototype._drawPendingPt = function() {
this._pendingPtDist > 0 && (this._ctx && this._ctx.lineTo(this._pendingPtX, this._pendingPtY),
this._pendingPtDist = 0)
}, t.prototype._expandData = function() {
if (!(this.data instanceof Array)) {
for (var t = [], e = 0; e < this._len; e++) t[e] = this.data[e];
this.data = t
}
}, t.prototype.toStatic = function() {
if (this._saveData) {
this._drawPendingPt();
var t = this.data;
t instanceof Array && (t.length = this._len, Db && this._len > 11 && (this.data =
new Float32Array(t)))
}
}, t.prototype.getBoundingRect = function() {
yb[0] = yb[1] = _b[0] = _b[1] = Number.MAX_VALUE, mb[0] = mb[1] = xb[0] = xb[1] = -Number
.MAX_VALUE;
var t, e = this.data,
n = 0,
i = 0,
r = 0,
o = 0;
for (t = 0; t < this._len;) {
var a = e[t++],
s = 1 === t;
switch (s && (n = e[t], i = e[t + 1], r = n, o = i), a) {
case fb.M:
n = r = e[t++], i = o = e[t++], _b[0] = r, _b[1] = o, xb[0] = r, xb[1] = o;
break;
case fb.L:
fo(n, i, e[t], e[t + 1], _b, xb), n = e[t++], i = e[t++];
break;
case fb.C:
go(n, i, e[t++], e[t++], e[t++], e[t++], e[t], e[t + 1], _b, xb), n = e[t++], i = e[
t++];
break;
case fb.Q:
vo(n, i, e[t++], e[t++], e[t], e[t + 1], _b, xb), n = e[t++], i = e[t++];
break;
case fb.A:
var l = e[t++],
u = e[t++],
h = e[t++],
c = e[t++],
p = e[t++],
d = e[t++] + p;
t += 1;
var f = !e[t++];
s && (r = Sb(p) * h + l, o = Mb(p) * c + u), yo(l, u, h, c, p, d, f, _b, xb), n =
Sb(d) * h + l, i = Mb(d) * c + u;
break;
case fb.R:
r = n = e[t++], o = i = e[t++];
var g = e[t++],
v = e[t++];
fo(r, o, r + g, o + v, _b, xb);
break;
case fb.Z:
n = r, i = o
}
me(yb, yb, _b), _e(mb, mb, xb)
}
return 0 === t && (yb[0] = yb[1] = mb[0] = mb[1] = 0), new q_(yb[0], yb[1], mb[0] - yb[0], mb[
1] - yb[1])
}, t.prototype._calculateLength = function() {
var t = this.data,
e = this._len,
n = this._ux,
i = this._uy,
r = 0,
o = 0,
a = 0,
s = 0;
this._pathSegLen || (this._pathSegLen = []);
for (var l = this._pathSegLen, u = 0, h = 0, c = 0; e > c;) {
var p = t[c++],
d = 1 === c;
d && (r = t[c], o = t[c + 1], a = r, s = o);
var f = -1;
switch (p) {
case fb.M:
r = a = t[c++], o = s = t[c++];
break;
case fb.L:
var g = t[c++],
v = t[c++],
y = g - r,
m = v - o;
(Tb(y) > n || Tb(m) > i || c === e - 1) && (f = Math.sqrt(y * y + m * m), r = g, o =
v);
break;
case fb.C:
var _ = t[c++],
x = t[c++],
g = t[c++],
v = t[c++],
w = t[c++],
b = t[c++];
f = yn(r, o, _, x, g, v, w, b, 10), r = w, o = b;
break;
case fb.Q:
var _ = t[c++],
x = t[c++],
g = t[c++],
v = t[c++];
f = Mn(r, o, _, x, g, v, 10), r = g, o = v;
break;
case fb.A:
var S = t[c++],
M = t[c++],
T = t[c++],
C = t[c++],
I = t[c++],
D = t[c++],
k = D + I;
c += 1; {
!t[c++]
}
d && (a = Sb(I) * T + S, s = Mb(I) * C + M), f = bb(T, C) * wb(Ib, Math.abs(D)), r =
Sb(k) * T + S, o = Mb(k) * C + M;
break;
case fb.R:
a = r = t[c++], s = o = t[c++];
var A = t[c++],
P = t[c++];
f = 2 * A + 2 * P;
break;
case fb.Z:
var y = a - r,
m = s - o;
f = Math.sqrt(y * y + m * m), r = a, o = s
}
f >= 0 && (l[h++] = f, u += f)
}
return this._pathLen = u, u
}, t.prototype.rebuildPath = function(t, e) {
var n, i, r, o, a, s, l, u, h, c, p, d = this.data,
f = this._ux,
g = this._uy,
v = this._len,
y = 1 > e,
m = 0,
_ = 0,
x = 0;
if (!y || (this._pathSegLen || this._calculateLength(), l = this._pathSegLen, u = this._pathLen,
h = e * u)) t: for (var w = 0; v > w;) {
var b = d[w++],
S = 1 === w;
switch (S && (r = d[w], o = d[w + 1], n = r, i = o), b !== fb.L && x > 0 && (t.lineTo(c,
p), x = 0), b) {
case fb.M:
n = r = d[w++], i = o = d[w++], t.moveTo(r, o);
break;
case fb.L:
a = d[w++], s = d[w++];
var M = Tb(a - r),
T = Tb(s - o);
if (M > f || T > g) {
if (y) {
var C = l[_++];
if (m + C > h) {
var I = (h - m) / C;
t.lineTo(r * (1 - I) + a * I, o * (1 - I) + s * I);
break t
}
m += C
}
t.lineTo(a, s), r = a, o = s, x = 0
} else {
var D = M * M + T * T;
D > x && (c = a, p = s, x = D)
}
break;
case fb.C:
var k = d[w++],
A = d[w++],
P = d[w++],
L = d[w++],
O = d[w++],
R = d[w++];
if (y) {
var C = l[_++];
if (m + C > h) {
var I = (h - m) / C;
gn(r, k, P, O, I, gb), gn(o, A, L, R, I, vb), t.bezierCurveTo(gb[1], vb[
1], gb[2], vb[2], gb[3], vb[3]);
break t
}
m += C
}
t.bezierCurveTo(k, A, P, L, O, R), r = O, o = R;
break;
case fb.Q:
var k = d[w++],
A = d[w++],
P = d[w++],
L = d[w++];
if (y) {
var C = l[_++];
if (m + C > h) {
var I = (h - m) / C;
bn(r, k, P, I, gb), bn(o, A, L, I, vb), t.quadraticCurveTo(gb[1], vb[1],
gb[2], vb[2]);
break t
}
m += C
}
t.quadraticCurveTo(k, A, P, L), r = P, o = L;
break;
case fb.A:
var z = d[w++],
E = d[w++],
B = d[w++],
N = d[w++],
F = d[w++],
V = d[w++],
H = d[w++],
W = !d[w++],
G = B > N ? B : N,
U = Tb(B - N) > .001,
Y = F + V,
X = !1;
if (y) {
var C = l[_++];
m + C > h && (Y = F + V * (h - m) / C, X = !0), m += C
}
if (U && t.ellipse ? t.ellipse(z, E, B, N, H, F, Y, W) : t.arc(z, E, G, F, Y,
W), X) break t;
S && (n = Sb(F) * B + z, i = Mb(F) * N + E), r = Sb(Y) * B + z, o = Mb(Y) * N +
E;
break;
case fb.R:
n = r = d[w], i = o = d[w + 1], a = d[w++], s = d[w++];
var Z = d[w++],
q = d[w++];
if (y) {
var C = l[_++];
if (m + C > h) {
var j = h - m;
t.moveTo(a, s), t.lineTo(a + wb(j, Z), s), j -= Z, j > 0 && t.lineTo(a +
Z, s + wb(j, q)), j -= q, j > 0 && t.lineTo(a + bb(Z - j, 0),
s + q), j -= Z, j > 0 && t.lineTo(a, s + bb(q - j, 0));
break t
}
m += C
}
t.rect(a, s, Z, q);
break;
case fb.Z:
if (y) {
var C = l[_++];
if (m + C > h) {
var I = (h - m) / C;
t.lineTo(r * (1 - I) + n * I, o * (1 - I) + i * I);
break t
}
m += C
}
t.closePath(), r = n, o = i
}
}
}, t.prototype.clone = function() {
var e = new t,
n = this.data;
return e.data = n.slice ? n.slice() : Array.prototype.slice.call(n), e._len = this._len, e
}, t.CMD = fb, t.initDefaultProps = function() {
var e = t.prototype;
e._saveData = !0, e._ux = 0, e._uy = 0, e._pendingPtDist = 0, e._version = 0
}(), t
}(),
Pb = 2 * Math.PI,
Lb = 2 * Math.PI,
Ob = Ab.CMD,
Rb = 2 * Math.PI,
zb = 1e-4,
Eb = [-1, -1, -1],
Bb = [-1, -1],
Nb = c({
fill: "#000",
stroke: null,
strokePercent: 1,
fillOpacity: 1,
strokeOpacity: 1,
lineDashOffset: 0,
lineWidth: 1,
lineCap: "butt",
miterLimit: 10,
strokeNoScale: !1,
strokeFirst: !1
}, $w),
Fb = {
style: c({
fill: !0,
stroke: !0,
strokePercent: !0,
fillOpacity: !0,
strokeOpacity: !0,
lineDashOffset: !0,
lineWidth: !0,
miterLimit: !0
}, Qw.style)
},
Vb = dw.concat(["invisible", "culling", "z", "z2", "zlevel", "parent"]),
Hb = function(t) {
function n(e) {
return t.call(this, e) || this
}
return e(n, t), n.prototype.update = function() {
var e = this;
t.prototype.update.call(this);
var i = this.style;
if (i.decal) {
var r = this._decalEl = this._decalEl || new n;
r.buildPath === n.prototype.buildPath && (r.buildPath = function(t) {
e.buildPath(t, e.shape)
}), r.silent = !0;
var o = r.style;
for (var a in i) o[a] !== i[a] && (o[a] = i[a]);
o.fill = i.fill ? i.decal : null, o.decal = null, o.shadowColor = null, i.strokeFirst && (o
.stroke = null);
for (var s = 0; s < Vb.length; ++s) r[Vb[s]] = this[Vb[s]];
r.__dirty |= rx
} else this._decalEl && (this._decalEl = null)
}, n.prototype.getDecalElement = function() {
return this._decalEl
}, n.prototype._init = function(e) {
var n = w(e);
this.shape = this.getDefaultShape();
var i = this.getDefaultStyle();
i && this.useStyle(i);
for (var r = 0; r < n.length; r++) {
var o = n[r],
a = e[o];
"style" === o ? this.style ? h(this.style, a) : this.useStyle(a) : "shape" === o ? h(this
.shape, a) : t.prototype.attrKV.call(this, o, a)
}
this.style || this.useStyle({})
}, n.prototype.getDefaultStyle = function() {
return null
}, n.prototype.getDefaultShape = function() {
return {}
}, n.prototype.canBeInsideText = function() {
return this.hasFill()
}, n.prototype.getInsideTextFill = function() {
var t = this.style.fill;
if ("none" !== t) {
if (C(t)) {
var e = Xn(t, 0);
return e > .5 ? iw : e > .2 ? ow : rw
}
if (t) return rw
}
return iw
}, n.prototype.getInsideTextStroke = function(t) {
var e = this.style.fill;
if (C(e)) {
var n = this.__zr,
i = !(!n || !n.isDarkMode()),
r = Xn(t, 0) < nw;
if (i === r) return e
}
}, n.prototype.buildPath = function() {}, n.prototype.pathUpdated = function() {
this.__dirty &= ~ax
}, n.prototype.getUpdatedPathProxy = function(t) {
return !this.path && this.createPathProxy(), this.path.beginPath(), this.buildPath(this.path,
this.shape, t), this.path
}, n.prototype.createPathProxy = function() {
this.path = new Ab(!1)
}, n.prototype.hasStroke = function() {
var t = this.style,
e = t.stroke;
return !(null == e || "none" === e || !(t.lineWidth > 0))
}, n.prototype.hasFill = function() {
var t = this.style,
e = t.fill;
return null != e && "none" !== e
}, n.prototype.getBoundingRect = function() {
var t = this._rect,
e = this.style,
n = !t;
if (n) {
var i = !1;
this.path || (i = !0, this.createPathProxy());
var r = this.path;
(i || this.__dirty & ax) && (r.beginPath(), this.buildPath(r, this.shape, !1), this
.pathUpdated()), t = r.getBoundingRect()
}
if (this._rect = t, this.hasStroke() && this.path && this.path.len() > 0) {
var o = this._rectStroke || (this._rectStroke = t.clone());
if (this.__dirty || n) {
o.copy(t);
var a = e.strokeNoScale ? this.getLineScale() : 1,
s = e.lineWidth;
if (!this.hasFill()) {
var l = this.strokeContainThreshold;
s = Math.max(s, null == l ? 4 : l)
}
a > 1e-10 && (o.width += s / a, o.height += s / a, o.x -= s / a / 2, o.y -= s / a / 2)
}
return o
}
return t
}, n.prototype.contain = function(t, e) {
var n = this.transformCoordToLocal(t, e),
i = this.getBoundingRect(),
r = this.style;
if (t = n[0], e = n[1], i.contain(t, e)) {
var o = this.path;
if (this.hasStroke()) {
var a = r.lineWidth,
s = r.strokeNoScale ? this.getLineScale() : 1;
if (s > 1e-10 && (this.hasFill() || (a = Math.max(a, this.strokeContainThreshold)), Oo(
o, a / s, t, e))) return !0
}
if (this.hasFill()) return Lo(o, t, e)
}
return !1
}, n.prototype.dirtyShape = function() {
this.__dirty |= ax, this._rect && (this._rect = null), this._decalEl && this._decalEl
.dirtyShape(), this.markRedraw()
}, n.prototype.dirty = function() {
this.dirtyStyle(), this.dirtyShape()
}, n.prototype.animateShape = function(t) {
return this.animate("shape", t)
}, n.prototype.updateDuringAnimation = function(t) {
"style" === t ? this.dirtyStyle() : "shape" === t ? this.dirtyShape() : this.markRedraw()
}, n.prototype.attrKV = function(e, n) {
"shape" === e ? this.setShape(n) : t.prototype.attrKV.call(this, e, n)
}, n.prototype.setShape = function(t, e) {
var n = this.shape;
return n || (n = this.shape = {}), "string" == typeof t ? n[t] = e : h(n, t), this.dirtyShape(),
this
}, n.prototype.shapeChanged = function() {
return !!(this.__dirty & ax)
}, n.prototype.createStyle = function(t) {
return j(Nb, t)
}, n.prototype._innerSaveToNormal = function(e) {
t.prototype._innerSaveToNormal.call(this, e);
var n = this._normalState;
e.shape && !n.shape && (n.shape = h({}, this.shape))
}, n.prototype._applyStateObj = function(e, n, i, r, o, a) {
t.prototype._applyStateObj.call(this, e, n, i, r, o, a);
var s, l = !(n && r);
if (n && n.shape ? o ? r ? s = n.shape : (s = h({}, i.shape), h(s, n.shape)) : (s = h({}, r ?
this.shape : i.shape), h(s, n.shape)) : l && (s = i.shape), s)
if (o) {
this.shape = h({}, this.shape);
for (var u = {}, c = w(s), p = 0; p < c.length; p++) {
var d = c[p];
"object" == typeof s[d] ? this.shape[d] = s[d] : u[d] = s[d]
}
this._transitionState(e, {
shape: u
}, a)
} else this.shape = s, this.dirtyShape()
}, n.prototype._mergeStates = function(e) {
for (var n, i = t.prototype._mergeStates.call(this, e), r = 0; r < e.length; r++) {
var o = e[r];
o.shape && (n = n || {}, this._mergeStyle(n, o.shape))
}
return n && (i.shape = n), i
}, n.prototype.getAnimationStyleProps = function() {
return Fb
}, n.prototype.isZeroArea = function() {
return !1
}, n.extend = function(t) {
var i = function(n) {
function i(e) {
var i = n.call(this, e) || this;
return t.init && t.init.call(i, e), i
}
return e(i, n), i.prototype.getDefaultStyle = function() {
return s(t.style)
}, i.prototype.getDefaultShape = function() {
return s(t.shape)
}, i
}(n);
for (var r in t) "function" == typeof t[r] && (i.prototype[r] = t[r]);
return i
}, n.initDefaultProps = function() {
var t = n.prototype;
t.type = "path", t.strokeContainThreshold = 5, t.segmentIgnoreThreshold = 0, t
.subPixelOptimize = !1, t.autoBatch = !1, t.__dirty = rx | ox | ax
}(), n
}(eb),
Wb = c({
strokeFirst: !0,
font: Zm,
x: 0,
y: 0,
textAlign: "left",
textBaseline: "top",
miterLimit: 2
}, Nb),
Gb = function(t) {
function n() {
return null !== t && t.apply(this, arguments) || this
}
return e(n, t), n.prototype.hasStroke = function() {
var t = this.style,
e = t.stroke;
return null != e && "none" !== e && t.lineWidth > 0
}, n.prototype.hasFill = function() {
var t = this.style,
e = t.fill;
return null != e && "none" !== e
}, n.prototype.createStyle = function(t) {
return j(Wb, t)
}, n.prototype.setBoundingRect = function(t) {
this._rect = t
}, n.prototype.getBoundingRect = function() {
var t = this.style;
if (!this._rect) {
var e = t.text;
null != e ? e += "" : e = "";
var n = bi(e, t.font, t.textAlign, t.textBaseline);
if (n.x += t.x || 0, n.y += t.y || 0, this.hasStroke()) {
var i = t.lineWidth;
n.x -= i / 2, n.y -= i / 2, n.width += i, n.height += i
}
this._rect = n
}
return this._rect
}, n.initDefaultProps = function() {
var t = n.prototype;
t.dirtyRectTolerance = 10
}(), n
}(eb);
Gb.prototype.type = "tspan";
var Ub = c({
x: 0,
y: 0
}, $w),
Yb = {
style: c({
x: !0,
y: !0,
width: !0,
height: !0,
sx: !0,
sy: !0,
sWidth: !0,
sHeight: !0
}, Qw.style)
},
Xb = function(t) {
function n() {
return null !== t && t.apply(this, arguments) || this
}
return e(n, t), n.prototype.createStyle = function(t) {
return j(Ub, t)
}, n.prototype._getSize = function(t) {
var e = this.style,
n = e[t];
if (null != n) return n;
var i = Ro(e.image) ? e.image : this.__image;
if (!i) return 0;
var r = "width" === t ? "height" : "width",
o = e[r];
return null == o ? i[t] : i[t] / i[r] * o
}, n.prototype.getWidth = function() {
return this._getSize("width")
}, n.prototype.getHeight = function() {
return this._getSize("height")
}, n.prototype.getAnimationStyleProps = function() {
return Yb
}, n.prototype.getBoundingRect = function() {
var t = this.style;
return this._rect || (this._rect = new q_(t.x || 0, t.y || 0, this.getWidth(), this
.getHeight())), this._rect
}, n
}(eb);
Xb.prototype.type = "image";
var Zb = Math.round,
qb = function() {
function t() {
this.x = 0, this.y = 0, this.width = 0, this.height = 0
}
return t
}(),
jb = {},
Kb = function(t) {
function n(e) {
return t.call(this, e) || this
}
return e(n, t), n.prototype.getDefaultShape = function() {
return new qb
}, n.prototype.buildPath = function(t, e) {
var n, i, r, o;
if (this.subPixelOptimize) {
var a = Bo(jb, e, this.style);
n = a.x, i = a.y, r = a.width, o = a.height, a.r = e.r, e = a
} else n = e.x, i = e.y, r = e.width, o = e.height;
e.r ? zo(t, e) : t.rect(n, i, r, o)
}, n.prototype.isZeroArea = function() {
return !this.shape.width || !this.shape.height
}, n
}(Hb);
Kb.prototype.type = "rect";
var $b = {
fill: "#000"
},
Qb = 2,
Jb = {
style: c({
fill: !0,
stroke: !0,
fillOpacity: !0,
strokeOpacity: !0,
lineWidth: !0,
fontSize: !0,
lineHeight: !0,
width: !0,
height: !0,
textShadowColor: !0,
textShadowBlur: !0,
textShadowOffsetX: !0,
textShadowOffsetY: !0,
backgroundColor: !0,
padding: !0,
borderColor: !0,
borderWidth: !0,
borderRadius: !0
}, Qw.style)
},
tS = function(t) {
function n(e) {
var n = t.call(this) || this;
return n.type = "text", n._children = [], n._defaultStyle = $b, n.attr(e), n
}
return e(n, t), n.prototype.childrenRef = function() {
return this._children
}, n.prototype.update = function() {
t.prototype.update.call(this), this.styleChanged() && this._updateSubTexts();
for (var e = 0; e < this._children.length; e++) {
var n = this._children[e];
n.zlevel = this.zlevel, n.z = this.z, n.z2 = this.z2, n.culling = this.culling, n.cursor =
this.cursor, n.invisible = this.invisible
}
}, n.prototype.updateTransform = function() {
var e = this.innerTransformable;
e ? (e.updateTransform(), e.transform && (this.transform = e.transform)) : t.prototype
.updateTransform.call(this)
}, n.prototype.getLocalTransform = function(e) {
var n = this.innerTransformable;
return n ? n.getLocalTransform(e) : t.prototype.getLocalTransform.call(this, e)
}, n.prototype.getComputedTransform = function() {
return this.__hostTarget && (this.__hostTarget.getComputedTransform(), this.__hostTarget
.updateInnerText(!0)), t.prototype.getComputedTransform.call(this)
}, n.prototype._updateSubTexts = function() {
this._childCursor = 0, Wo(this.style), this.style.rich ? this._updateRichTexts() : this
._updatePlainTexts(), this._children.length = this._childCursor, this.styleUpdated()
}, n.prototype.addSelfToZr = function(e) {
t.prototype.addSelfToZr.call(this, e);
for (var n = 0; n < this._children.length; n++) this._children[n].__zr = e
}, n.prototype.removeSelfFromZr = function(e) {
t.prototype.removeSelfFromZr.call(this, e);
for (var n = 0; n < this._children.length; n++) this._children[n].__zr = null
}, n.prototype.getBoundingRect = function() {
if (this.styleChanged() && this._updateSubTexts(), !this._rect) {
for (var t = new q_(0, 0, 0, 0), e = this._children, n = [], i = null, r = 0; r < e
.length; r++) {
var o = e[r],
a = o.getBoundingRect(),
s = o.getLocalTransform(n);
s ? (t.copy(a), t.applyTransform(s), i = i || t.clone(), i.union(t)) : (i = i || a
.clone(), i.union(a))
}
this._rect = i || t
}
return this._rect
}, n.prototype.setDefaultTextStyle = function(t) {
this._defaultStyle = t || $b
}, n.prototype.setTextContent = function() {}, n.prototype._mergeStyle = function(t, e) {
if (!e) return t;
var n = e.rich,
i = t.rich || n && {};
return h(t, e), n && i ? (this._mergeRich(i, n), t.rich = i) : i && (t.rich = i), t
}, n.prototype._mergeRich = function(t, e) {
for (var n = w(e), i = 0; i < n.length; i++) {
var r = n[i];
t[r] = t[r] || {}, h(t[r], e[r])
}
}, n.prototype.getAnimationStyleProps = function() {
return Jb
}, n.prototype._getOrCreateChild = function(t) {
var e = this._children[this._childCursor];
return e && e instanceof t || (e = new t), this._children[this._childCursor++] = e, e.__zr =
this.__zr, e.parent = this, e
}, n.prototype._updatePlainTexts = function() {
var t = this.style,
e = t.font || Zm,
n = t.padding,
i = Zo(t),
r = ao(i, t),
o = qo(t),
a = !!t.backgroundColor,
s = r.outerHeight,
l = r.outerWidth,
u = r.contentWidth,
h = r.lines,
c = r.lineHeight,
p = this._defaultStyle,
d = t.x || 0,
f = t.y || 0,
g = t.align || p.align || "left",
v = t.verticalAlign || p.verticalAlign || "top",
y = d,
m = Mi(f, r.contentHeight, v);
if (o || n) {
var _ = Si(d, l, g),
x = Mi(f, s, v);
o && this._renderBackground(t, t, _, x, l, s)
}
m += c / 2, n && (y = Xo(d, g, n), "top" === v ? m += n[0] : "bottom" === v && (m -= n[2]));
for (var w = 0, b = !1, S = (Yo("fill" in t ? t.fill : (b = !0, p.fill))), M = (Uo("stroke" in
t ? t.stroke : a || p.autoStroke && !b ? null : (w = Qb, p.stroke))), T = t
.textShadowBlur > 0, C = null != t.width && ("truncate" === t.overflow || "break" === t
.overflow || "breakAll" === t.overflow), I = r.calculatedLineHeight, D = 0; D < h
.length; D++) {
var k = this._getOrCreateChild(Gb),
A = k.createStyle();
k.useStyle(A), A.text = h[D], A.x = y, A.y = m, g && (A.textAlign = g), A.textBaseline =
"middle", A.opacity = t.opacity, A.strokeFirst = !0, T && (A.shadowBlur = t
.textShadowBlur || 0, A.shadowColor = t.textShadowColor || "transparent", A
.shadowOffsetX = t.textShadowOffsetX || 0, A.shadowOffsetY = t.textShadowOffsetY ||
0), A.stroke = M, A.fill = S, M && (A.lineWidth = t.lineWidth || w, A.lineDash = t
.lineDash, A.lineDashOffset = t.lineDashOffset || 0), A.font = e, Vo(A, t), m += c,
C && k.setBoundingRect(new q_(Si(A.x, t.width, A.textAlign), Mi(A.y, I, A.textBaseline),
u, I))
}
}, n.prototype._updateRichTexts = function() {
var t = this.style,
e = Zo(t),
n = so(e, t),
i = n.width,
r = n.outerWidth,
o = n.outerHeight,
a = t.padding,
s = t.x || 0,
l = t.y || 0,
u = this._defaultStyle,
h = t.align || u.align,
c = t.verticalAlign || u.verticalAlign,
p = Si(s, r, h),
d = Mi(l, o, c),
f = p,
g = d;
a && (f += a[3], g += a[0]);
var v = f + i;
qo(t) && this._renderBackground(t, t, p, d, r, o);
for (var y = !!t.backgroundColor, m = 0; m < n.lines.length; m++) {
for (var _ = n.lines[m], x = _.tokens, w = x.length, b = _.lineHeight, S = _.width, M = 0,
T = f, C = v, I = w - 1, D = void 0; w > M && (D = x[M], !D.align || "left" === D
.align);) this._placeToken(D, t, b, g, T, "left", y), S -= D.width, T += D.width,
M++;
for (; I >= 0 && (D = x[I], "right" === D.align);) this._placeToken(D, t, b, g, C, "right",
y), S -= D.width, C -= D.width, I--;
for (T += (i - (T - f) - (v - C) - S) / 2; I >= M;) D = x[M], this._placeToken(D, t, b, g,
T + D.width / 2, "center", y), T += D.width, M++;
g += b
}
}, n.prototype._placeToken = function(t, e, n, i, r, o, a) {
var s = e.rich[t.styleName] || {};
s.text = t.text;
var l = t.verticalAlign,
u = i + n / 2;
"top" === l ? u = i + t.height / 2 : "bottom" === l && (u = i + n - t.height / 2);
var h = !t.isLineHolder && qo(s);
h && this._renderBackground(s, e, "right" === o ? r - t.width : "center" === o ? r - t.width /
2 : r, u - t.height / 2, t.width, t.height);
var c = !!s.backgroundColor,
p = t.textPadding;
p && (r = Xo(r, o, p), u -= t.height / 2 - p[0] - t.innerHeight / 2);
var d = this._getOrCreateChild(Gb),
f = d.createStyle();
d.useStyle(f);
var g = this._defaultStyle,
v = !1,
y = 0,
m = Yo("fill" in s ? s.fill : "fill" in e ? e.fill : (v = !0, g.fill)),
_ = Uo("stroke" in s ? s.stroke : "stroke" in e ? e.stroke : c || a || g.autoStroke && !v ?
null : (y = Qb, g.stroke)),
x = s.textShadowBlur > 0 || e.textShadowBlur > 0;
f.text = t.text, f.x = r, f.y = u, x && (f.shadowBlur = s.textShadowBlur || e.textShadowBlur ||
0, f.shadowColor = s.textShadowColor || e.textShadowColor || "transparent", f
.shadowOffsetX = s.textShadowOffsetX || e.textShadowOffsetX || 0, f.shadowOffsetY = s
.textShadowOffsetY || e.textShadowOffsetY || 0), f.textAlign = o, f.textBaseline =
"middle", f.font = t.font || Zm, f.opacity = F(s.opacity, e.opacity, 1), Vo(f, s), _ && (f
.lineWidth = F(s.lineWidth, e.lineWidth, y), f.lineDash = N(s.lineDash, e.lineDash), f
.lineDashOffset = e.lineDashOffset || 0, f.stroke = _), m && (f.fill = m);
var w = t.contentWidth,
b = t.contentHeight;
d.setBoundingRect(new q_(Si(f.x, w, f.textAlign), Mi(f.y, b, f.textBaseline), w, b))
}, n.prototype._renderBackground = function(t, e, n, i, r, o) {
var a, s, l = t.backgroundColor,
u = t.borderWidth,
h = t.borderColor,
c = l && l.image,
p = l && !c,
d = t.borderRadius,
f = this;
if (p || t.lineHeight || u && h) {
a = this._getOrCreateChild(Kb), a.useStyle(a.createStyle()), a.style.fill = null;
var g = a.shape;
g.x = n, g.y = i, g.width = r, g.height = o, g.r = d, a.dirtyShape()
}
if (p) {
var v = a.style;
v.fill = l || null, v.fillOpacity = N(t.fillOpacity, 1)
} else if (c) {
s = this._getOrCreateChild(Xb), s.onload = function() {
f.dirtyStyle()
};
var y = s.style;
y.image = l.image, y.x = n, y.y = i, y.width = r, y.height = o
}
if (u && h) {
var v = a.style;
v.lineWidth = u, v.stroke = h, v.strokeOpacity = N(t.strokeOpacity, 1), v.lineDash = t
.borderDash, v.lineDashOffset = t.borderDashOffset || 0, a.strokeContainThreshold = 0, a
.hasFill() && a.hasStroke() && (v.strokeFirst = !0, v.lineWidth *= 2)
}
var m = (a || s).style;
m.shadowBlur = t.shadowBlur || 0, m.shadowColor = t.shadowColor || "transparent", m
.shadowOffsetX = t.shadowOffsetX || 0, m.shadowOffsetY = t.shadowOffsetY || 0, m.opacity =
F(t.opacity, e.opacity, 1)
}, n.makeFont = function(t) {
var e = "";
return Ho(t) && (e = [t.fontStyle, t.fontWeight, Fo(t.fontSize), t.fontFamily || "sans-serif"]
.join(" ")), e && G(e) || t.textFont || t.font
}, n
}(eb),
eS = {
left: !0,
right: 1,
center: 1
},
nS = {
top: 1,
bottom: 1,
middle: 1
},
iS = ["fontStyle", "fontWeight", "fontSize", "fontFamily"],
rS = Or(),
oS = function(t, e, n, i) {
if (i) {
var r = rS(i);
r.dataIndex = n, r.dataType = e, r.seriesIndex = t, "group" === i.type && i.traverse(function(i) {
var r = rS(i);
r.seriesIndex = t, r.dataIndex = n, r.dataType = e
})
}
},
aS = 1,
sS = {},
lS = Or(),
uS = Or(),
hS = 0,
cS = 1,
pS = 2,
dS = ["emphasis", "blur", "select"],
fS = ["normal", "emphasis", "blur", "select"],
gS = 10,
vS = 9,
yS = "highlight",
mS = "downplay",
_S = "select",
xS = "unselect",
wS = "toggleSelect",
bS = new Tx(100),
SS = ["emphasis", "blur", "select"],
MS = {
itemStyle: "getItemStyle",
lineStyle: "getLineStyle",
areaStyle: "getAreaStyle"
},
TS = Ab.CMD,
CS = [
[],
[],
[]
],
IS = Math.sqrt,
DS = Math.atan2,
kS = Math.sqrt,
AS = Math.sin,
PS = Math.cos,
LS = Math.PI,
OS = /([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,
RS = /-?([0-9]*\.)?[0-9]+([eE]-?[0-9]+)?/g,
zS = function(t) {
function n() {
return null !== t && t.apply(this, arguments) || this
}
return e(n, t), n.prototype.applyTransform = function() {}, n
}(Hb),
ES = function() {
function t() {
this.cx = 0, this.cy = 0, this.r = 0
}
return t
}(),
BS = function(t) {
function n(e) {
return t.call(this, e) || this
}
return e(n, t), n.prototype.getDefaultShape = function() {
return new ES
}, n.prototype.buildPath = function(t, e) {
t.moveTo(e.cx + e.r, e.cy), t.arc(e.cx, e.cy, e.r, 0, 2 * Math.PI)
}, n
}(Hb);
BS.prototype.type = "circle";
var NS = function() {
function t() {
this.cx = 0, this.cy = 0, this.rx = 0, this.ry = 0
}
return t
}(),
FS = function(t) {
function n(e) {
return t.call(this, e) || this
}
return e(n, t), n.prototype.getDefaultShape = function() {
return new NS
}, n.prototype.buildPath = function(t, e) {
var n = .5522848,
i = e.cx,
r = e.cy,
o = e.rx,
a = e.ry,
s = o * n,
l = a * n;
t.moveTo(i - o, r), t.bezierCurveTo(i - o, r - l, i - s, r - a, i, r - a), t.bezierCurveTo(i +
s, r - a, i + o, r - l, i + o, r), t.bezierCurveTo(i + o, r + l, i + s, r + a, i, r +
a), t.bezierCurveTo(i - s, r + a, i - o, r + l, i - o, r), t.closePath()
}, n
}(Hb);
FS.prototype.type = "ellipse";
var VS = Math.PI,
HS = 2 * VS,
WS = Math.sin,
GS = Math.cos,
US = Math.acos,
YS = Math.atan2,
XS = Math.abs,
ZS = Math.sqrt,
qS = Math.max,
jS = Math.min,
KS = 1e-4,
$S = function() {
function t() {
this.cx = 0, this.cy = 0, this.r0 = 0, this.r = 0, this.startAngle = 0, this.endAngle = 2 * Math.PI,
this.clockwise = !0, this.cornerRadius = 0
}
return t
}(),
QS = function(t) {
function n(e) {
return t.call(this, e) || this
}
return e(n, t), n.prototype.getDefaultShape = function() {
return new $S
}, n.prototype.buildPath = function(t, e) {
is(t, e)
}, n.prototype.isZeroArea = function() {
return this.shape.startAngle === this.shape.endAngle || this.shape.r === this.shape.r0
}, n
}(Hb);
QS.prototype.type = "sector";
var JS = function() {
function t() {
this.cx = 0, this.cy = 0, this.r = 0, this.r0 = 0
}
return t
}(),
tM = function(t) {
function n(e) {
return t.call(this, e) || this
}
return e(n, t), n.prototype.getDefaultShape = function() {
return new JS
}, n.prototype.buildPath = function(t, e) {
var n = e.cx,
i = e.cy,
r = 2 * Math.PI;
t.moveTo(n + e.r, i), t.arc(n, i, e.r, 0, r, !1), t.moveTo(n + e.r0, i), t.arc(n, i, e.r0, 0, r,
!0)
}, n
}(Hb);
tM.prototype.type = "ring";
var eM = function() {
function t() {
this.points = null, this.smooth = 0, this.smoothConstraint = null
}
return t
}(),
nM = function(t) {
function n(e) {
return t.call(this, e) || this
}
return e(n, t), n.prototype.getDefaultShape = function() {
return new eM
}, n.prototype.buildPath = function(t, e) {
os(t, e, !0)
}, n
}(Hb);
nM.prototype.type = "polygon";
var iM = function() {
function t() {
this.points = null, this.percent = 1, this.smooth = 0, this.smoothConstraint = null
}
return t
}(),
rM = function(t) {
function n(e) {
return t.call(this, e) || this
}
return e(n, t), n.prototype.getDefaultStyle = function() {
return {
stroke: "#000",
fill: null
}
}, n.prototype.getDefaultShape = function() {
return new iM
}, n.prototype.buildPath = function(t, e) {
os(t, e, !1)
}, n
}(Hb);
rM.prototype.type = "polyline";
var oM = {},
aM = function() {
function t() {
this.x1 = 0, this.y1 = 0, this.x2 = 0, this.y2 = 0, this.percent = 1
}
return t
}(),
sM = function(t) {
function n(e) {
return t.call(this, e) || this
}
return e(n, t), n.prototype.getDefaultStyle = function() {
return {
stroke: "#000",
fill: null
}
}, n.prototype.getDefaultShape = function() {
return new aM
}, n.prototype.buildPath = function(t, e) {
var n, i, r, o;
if (this.subPixelOptimize) {
var a = Eo(oM, e, this.style);
n = a.x1, i = a.y1, r = a.x2, o = a.y2
} else n = e.x1, i = e.y1, r = e.x2, o = e.y2;
var s = e.percent;
0 !== s && (t.moveTo(n, i), 1 > s && (r = n * (1 - s) + r * s, o = i * (1 - s) + o * s), t
.lineTo(r, o))
}, n.prototype.pointAt = function(t) {
var e = this.shape;
return [e.x1 * (1 - t) + e.x2 * t, e.y1 * (1 - t) + e.y2 * t]
}, n
}(Hb);
sM.prototype.type = "line";
var lM = [],
uM = function() {
function t() {
this.x1 = 0, this.y1 = 0, this.x2 = 0, this.y2 = 0, this.cpx1 = 0, this.cpy1 = 0, this.percent = 1
}
return t
}(),
hM = function(t) {
function n(e) {
return t.call(this, e) || this
}
return e(n, t), n.prototype.getDefaultStyle = function() {
return {
stroke: "#000",
fill: null
}
}, n.prototype.getDefaultShape = function() {
return new uM
}, n.prototype.buildPath = function(t, e) {
var n = e.x1,
i = e.y1,
r = e.x2,
o = e.y2,
a = e.cpx1,
s = e.cpy1,
l = e.cpx2,
u = e.cpy2,
h = e.percent;
0 !== h && (t.moveTo(n, i), null == l || null == u ? (1 > h && (bn(n, a, r, h, lM), a = lM[1],
r = lM[2], bn(i, s, o, h, lM), s = lM[1], o = lM[2]), t.quadraticCurveTo(a, s,
r, o)) : (1 > h && (gn(n, a, l, r, h, lM), a = lM[1], l = lM[2], r = lM[3], gn(i, s,
u, o, h, lM), s = lM[1], u = lM[2], o = lM[3]), t.bezierCurveTo(a, s, l, u, r,
o)))
}, n.prototype.pointAt = function(t) {
return as(this.shape, t, !1)
}, n.prototype.tangentAt = function(t) {
var e = as(this.shape, t, !0);
return pe(e, e)
}, n
}(Hb);
hM.prototype.type = "bezier-curve";
var cM = function() {
function t() {
this.cx = 0, this.cy = 0, this.r = 0, this.startAngle = 0, this.endAngle = 2 * Math.PI, this
.clockwise = !0
}
return t
}(),
pM = function(t) {
function n(e) {
return t.call(this, e) || this
}
return e(n, t), n.prototype.getDefaultStyle = function() {
return {
stroke: "#000",
fill: null
}
}, n.prototype.getDefaultShape = function() {
return new cM
}, n.prototype.buildPath = function(t, e) {
var n = e.cx,
i = e.cy,
r = Math.max(e.r, 0),
o = e.startAngle,
a = e.endAngle,
s = e.clockwise,
l = Math.cos(o),
u = Math.sin(o);
t.moveTo(l * r + n, u * r + i), t.arc(n, i, r, o, a, !s)
}, n
}(Hb);
pM.prototype.type = "arc";
var dM = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = "compound", e
}
return e(n, t), n.prototype._updatePathDirty = function() {
for (var t = this.shape.paths, e = this.shapeChanged(), n = 0; n < t.length; n++) e = e || t[n]
.shapeChanged();
e && this.dirtyShape()
}, n.prototype.beforeBrush = function() {
this._updatePathDirty();
for (var t = this.shape.paths || [], e = this.getGlobalScale(), n = 0; n < t.length; n++) t[n]
.path || t[n].createPathProxy(), t[n].path.setScale(e[0], e[1], t[n].segmentIgnoreThreshold)
}, n.prototype.buildPath = function(t, e) {
for (var n = e.paths || [], i = 0; i < n.length; i++) n[i].buildPath(t, n[i].shape, !0)
}, n.prototype.afterBrush = function() {
for (var t = this.shape.paths || [], e = 0; e < t.length; e++) t[e].pathUpdated()
}, n.prototype.getBoundingRect = function() {
return this._updatePathDirty.call(this), Hb.prototype.getBoundingRect.call(this)
}, n
}(Hb),
fM = function() {
function t(t) {
this.colorStops = t || []
}
return t.prototype.addColorStop = function(t, e) {
this.colorStops.push({
offset: t,
color: e
})
}, t
}(),
gM = function(t) {
function n(e, n, i, r, o, a) {
var s = t.call(this, o) || this;
return s.x = null == e ? 0 : e, s.y = null == n ? 0 : n, s.x2 = null == i ? 1 : i, s.y2 = null ==
r ? 0 : r, s.type = "linear", s.global = a || !1, s
}
return e(n, t), n
}(fM),
vM = function(t) {
function n(e, n, i, r, o) {
var a = t.call(this, r) || this;
return a.x = null == e ? .5 : e, a.y = null == n ? .5 : n, a.r = null == i ? .5 : i, a.type =
"radial", a.global = o || !1, a
}
return e(n, t), n
}(fM),
yM = [0, 0],
mM = [0, 0],
_M = new F_,
xM = new F_,
wM = function() {
function t(t, e) {
this._corners = [], this._axes = [], this._origin = [0, 0];
for (var n = 0; 4 > n; n++) this._corners[n] = new F_;
for (var n = 0; 2 > n; n++) this._axes[n] = new F_;
t && this.fromBoundingRect(t, e)
}
return t.prototype.fromBoundingRect = function(t, e) {
var n = this._corners,
i = this._axes,
r = t.x,
o = t.y,
a = r + t.width,
s = o + t.height;
if (n[0].set(r, o), n[1].set(a, o), n[2].set(a, s), n[3].set(r, s), e)
for (var l = 0; 4 > l; l++) n[l].transform(e);
F_.sub(i[0], n[1], n[0]), F_.sub(i[1], n[3], n[0]), i[0].normalize(), i[1].normalize();
for (var l = 0; 2 > l; l++) this._origin[l] = i[l].dot(n[0])
}, t.prototype.intersect = function(t, e) {
var n = !0,
i = !e;
return _M.set(1 / 0, 1 / 0), xM.set(0, 0), !this._intersectCheckOneSide(this, t, _M, xM, i,
1) && (n = !1, i) ? n : !this._intersectCheckOneSide(t, this, _M, xM, i, -1) && (n = !1,
i) ? n : (i || F_.copy(e, n ? _M : xM), n)
}, t.prototype._intersectCheckOneSide = function(t, e, n, i, r, o) {
for (var a = !0, s = 0; 2 > s; s++) {
var l = this._axes[s];
if (this._getProjMinMaxOnAxis(s, t._corners, yM), this._getProjMinMaxOnAxis(s, e._corners,
mM), yM[1] < mM[0] || yM[0] > mM[1]) {
if (a = !1, r) return a;
var u = Math.abs(mM[0] - yM[1]),
h = Math.abs(yM[0] - mM[1]);
Math.min(u, h) > i.len() && (h > u ? F_.scale(i, l, -u * o) : F_.scale(i, l, h * o))
} else if (n) {
var u = Math.abs(mM[0] - yM[1]),
h = Math.abs(yM[0] - mM[1]);
Math.min(u, h) < n.len() && (h > u ? F_.scale(n, l, u * o) : F_.scale(n, l, -h * o))
}
}
return a
}, t.prototype._getProjMinMaxOnAxis = function(t, e, n) {
for (var i = this._axes[t], r = this._origin, o = e[0].dot(i) + r[t], a = o, s = o, l = 1; l < e
.length; l++) {
var u = e[l].dot(i) + r[t];
a = Math.min(u, a), s = Math.max(u, s)
}
n[0] = a, n[1] = s
}, t
}(),
bM = [],
SM = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.notClear = !0, e.incremental = !0, e._displayables = [], e._temporaryDisplayables = [], e
._cursor = 0, e
}
return e(n, t), n.prototype.traverse = function(t, e) {
t.call(e, this)
}, n.prototype.useStyle = function() {
this.style = {}
}, n.prototype.getCursor = function() {
return this._cursor
}, n.prototype.innerAfterBrush = function() {
this._cursor = this._displayables.length
}, n.prototype.clearDisplaybles = function() {
this._displayables = [], this._temporaryDisplayables = [], this._cursor = 0, this.markRedraw(),
this.notClear = !1
}, n.prototype.clearTemporalDisplayables = function() {
this._temporaryDisplayables = []
}, n.prototype.addDisplayable = function(t, e) {
e ? this._temporaryDisplayables.push(t) : this._displayables.push(t), this.markRedraw()
}, n.prototype.addDisplayables = function(t, e) {
e = e || !1;
for (var n = 0; n < t.length; n++) this.addDisplayable(t[n], e)
}, n.prototype.getDisplayables = function() {
return this._displayables
}, n.prototype.getTemporalDisplayables = function() {
return this._temporaryDisplayables
}, n.prototype.eachPendingDisplayable = function(t) {
for (var e = this._cursor; e < this._displayables.length; e++) t && t(this._displayables[e]);
for (var e = 0; e < this._temporaryDisplayables.length; e++) t && t(this._temporaryDisplayables[
e])
}, n.prototype.update = function() {
this.updateTransform();
for (var t = this._cursor; t < this._displayables.length; t++) {
var e = this._displayables[t];
e.parent = this, e.update(), e.parent = null
}
for (var t = 0; t < this._temporaryDisplayables.length; t++) {
var e = this._temporaryDisplayables[t];
e.parent = this, e.update(), e.parent = null
}
}, n.prototype.getBoundingRect = function() {
if (!this._rect) {
for (var t = new q_(1 / 0, 1 / 0, -1 / 0, -1 / 0), e = 0; e < this._displayables
.length; e++) {
var n = this._displayables[e],
i = n.getBoundingRect().clone();
n.needLocalTransform() && i.applyTransform(n.getLocalTransform(bM)), t.union(i)
}
this._rect = t
}
return this._rect
}, n.prototype.contain = function(t, e) {
var n = this.transformCoordToLocal(t, e),
i = this.getBoundingRect();
if (i.contain(n[0], n[1]))
for (var r = 0; r < this._displayables.length; r++) {
var o = this._displayables[r];
if (o.contain(t, e)) return !0
}
return !1
}, n
}(eb),
MM = Or(),
TM = Math.max,
CM = Math.min,
IM = {},
DM = Qa,
kM = Ja,
AM = No;
ms("circle", BS), ms("ellipse", FS), ms("sector", QS), ms("ring", tM), ms("polygon", nM), ms("polyline", rM),
ms("rect", Kb), ms("line", sM), ms("bezierCurve", hM), ms("arc", pM);
var PM = (Object.freeze || Object)({
updateProps: us,
initProps: hs,
removeElement: ps,
removeElementWithFadeOut: fs,
isElementRemoved: cs,
extendShape: vs,
extendPath: ys,
registerShape: ms,
getShapeClass: _s,
makePath: xs,
makeImage: ws,
mergePath: kM,
resizePath: Ss,
subPixelOptimizeLine: Ms,
subPixelOptimizeRect: Ts,
subPixelOptimize: AM,
getTransform: Cs,
applyTransform: Is,
transformDirection: Ds,
groupTransition: Ps,
clipPointsByRect: Ls,
clipRectByRect: Os,
createIcon: Rs,
linePolygonIntersect: zs,
lineLineIntersect: Es,
setTooltipConfig: Fs,
traverseElements: Hs,
Group: ww,
Image: Xb,
Text: tS,
Circle: BS,
Ellipse: FS,
Sector: QS,
Ring: tM,
Polygon: nM,
Polyline: rM,
Rect: Kb,
Line: sM,
BezierCurve: hM,
Arc: pM,
IncrementalDisplayable: SM,
CompoundPath: dM,
LinearGradient: gM,
RadialGradient: vM,
BoundingRect: q_,
OrientedBoundingRect: wM,
Point: F_,
Path: Hb
}),
LM = {},
OM = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "textShadowColor", "textShadowBlur",
"textShadowOffsetX", "textShadowOffsetY"
],
RM = ["align", "lineHeight", "width", "height", "tag", "verticalAlign", "ellipsis"],
zM = ["padding", "borderWidth", "borderRadius", "borderDashOffset", "backgroundColor", "borderColor",
"shadowColor", "shadowBlur", "shadowOffsetX", "shadowOffsetY"
],
EM = Or(),
BM = ["textStyle", "color"],
NM = ["fontStyle", "fontWeight", "fontSize", "fontFamily", "padding", "lineHeight", "rich", "width",
"height", "overflow"
],
FM = new tS,
VM = function() {
function t() {}
return t.prototype.getTextColor = function(t) {
var e = this.ecModel;
return this.getShallow("color") || (!t && e ? e.get(BM) : null)
}, t.prototype.getFont = function() {
return $s({
fontStyle: this.getShallow("fontStyle"),
fontWeight: this.getShallow("fontWeight"),
fontSize: this.getShallow("fontSize"),
fontFamily: this.getShallow("fontFamily")
}, this.ecModel)
}, t.prototype.getTextRect = function(t) {
for (var e = {
text: t,
verticalAlign: this.getShallow("verticalAlign") || this.getShallow("baseline")
}, n = 0; n < NM.length; n++) e[NM[n]] = this.getShallow(NM[n]);
return FM.useStyle(e), FM.update(), FM.getBoundingRect()
}, t
}(),
HM = [
["lineWidth", "width"],
["stroke", "color"],
["opacity"],
["shadowBlur"],
["shadowOffsetX"],
["shadowOffsetY"],
["shadowColor"],
["lineDash", "type"],
["lineDashOffset", "dashOffset"],
["lineCap", "cap"],
["lineJoin", "join"],
["miterLimit"]
],
WM = $r(HM),
GM = function() {
function t() {}
return t.prototype.getLineStyle = function(t) {
return WM(this, t)
}, t
}(),
UM = [
["fill", "color"],
["stroke", "borderColor"],
["lineWidth", "borderWidth"],
["opacity"],
["shadowBlur"],
["shadowOffsetX"],
["shadowOffsetY"],
["shadowColor"],
["lineDash", "borderType"],
["lineDashOffset", "borderDashOffset"],
["lineCap", "borderCap"],
["lineJoin", "borderJoin"],
["miterLimit", "borderMiterLimit"]
],
YM = $r(UM),
XM = function() {
function t() {}
return t.prototype.getItemStyle = function(t, e) {
return YM(this, t, e)
}, t
}(),
ZM = function() {
function t(t, e, n) {
this.parentModel = e, this.ecModel = n, this.option = t
}
return t.prototype.init = function() {
for (var t = [], e = 3; e < arguments.length; e++) t[e - 3] = arguments[e]
}, t.prototype.mergeOption = function(t) {
l(this.option, t, !0)
}, t.prototype.get = function(t, e) {
return null == t ? this.option : this._doGet(this.parsePath(t), !e && this.parentModel)
}, t.prototype.getShallow = function(t, e) {
var n = this.option,
i = null == n ? n : n[t];
if (null == i && !e) {
var r = this.parentModel;
r && (i = r.getShallow(t))
}
return i
}, t.prototype.getModel = function(e, n) {
var i = null != e,
r = i ? this.parsePath(e) : null,
o = i ? this._doGet(r) : this.option;
return n = n || this.parentModel && this.parentModel.getModel(this.resolveParentPath(r)), new t(
o, n, this.ecModel)
}, t.prototype.isEmpty = function() {
return null == this.option
}, t.prototype.restoreData = function() {}, t.prototype.clone = function() {
var t = this.constructor;
return new t(s(this.option))
}, t.prototype.parsePath = function(t) {
return "string" == typeof t ? t.split(".") : t
}, t.prototype.resolveParentPath = function(t) {
return t
}, t.prototype.isAnimationEnabled = function() {
if (!Um.node && this.option) {
if (null != this.option.animation) return !!this.option.animation;
if (this.parentModel) return this.parentModel.isAnimationEnabled()
}
}, t.prototype._doGet = function(t, e) {
var n = this.option;
if (!t) return n;
for (var i = 0; i < t.length && (!t[i] || (n = n && "object" == typeof n ? n[t[i]] : null,
null != n)); i++);
return null == n && e && (n = e._doGet(this.resolveParentPath(t), e.parentModel)), n
}, t
}();
Ur(ZM), Zr(ZM), f(ZM, GM), f(ZM, XM), f(ZM, Gw), f(ZM, VM);
var qM = Math.round(10 * Math.random()),
jM = {
time: {
month: ["January", "February", "March", "April", "May", "June", "July", "August", "September",
"October", "November", "December"
],
monthAbbr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
dayOfWeek: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
dayOfWeekAbbr: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
},
legend: {
selector: {
all: "All",
inverse: "Inv"
}
},
toolbox: {
brush: {
title: {
rect: "Box Select",
polygon: "Lasso Select",
lineX: "Horizontally Select",
lineY: "Vertically Select",
keep: "Keep Selections",
clear: "Clear Selections"
}
},
dataView: {
title: "Data View",
lang: ["Data View", "Close", "Refresh"]
},
dataZoom: {
title: {
zoom: "Zoom",
back: "Zoom Reset"
}
},
magicType: {
title: {
line: "Switch to Line Chart",
bar: "Switch to Bar Chart",
stack: "Stack",
tiled: "Tile"
}
},
restore: {
title: "Restore"
},
saveAsImage: {
title: "Save as Image",
lang: ["Right Click to Save Image"]
}
},
series: {
typeNames: {
pie: "Pie chart",
bar: "Bar chart",
line: "Line chart",
scatter: "Scatter plot",
effectScatter: "Ripple scatter plot",
radar: "Radar chart",
tree: "Tree",
treemap: "Treemap",
boxplot: "Boxplot",
candlestick: "Candlestick",
k: "K line chart",
heatmap: "Heat map",
map: "Map",
parallel: "Parallel coordinate map",
lines: "Line graph",
graph: "Relationship graph",
sankey: "Sankey diagram",
funnel: "Funnel chart",
gauge: "Gauge",
pictorialBar: "Pictorial bar",
themeRiver: "Theme River Map",
sunburst: "Sunburst"
}
},
aria: {
general: {
withTitle: 'This is a chart about "{title}"',
withoutTitle: "This is a chart"
},
series: {
single: {
prefix: "",
withName: " with type {seriesType} named {seriesName}.",
withoutName: " with type {seriesType}."
},
multiple: {
prefix: ". It consists of {seriesCount} series count.",
withName: " The {seriesId} series is a {seriesType} representing {seriesName}.",
withoutName: " The {seriesId} series is a {seriesType}.",
separator: {
middle: "",
end: ""
}
}
},
data: {
allData: "The data is as follows: ",
partialData: "The first {displayCnt} items are: ",
withName: "the data for {name} is {value}",
withoutName: "{value}",
separator: {
middle: ", ",
end: ". "
}
}
}
},
KM = {
time: {
month: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
monthAbbr: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
dayOfWeek: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"],
dayOfWeekAbbr: ["日", "一", "二", "三", "四", "五", "六"]
},
legend: {
selector: {
all: "全选",
inverse: "反选"
}
},
toolbox: {
brush: {
title: {
rect: "矩形选择",
polygon: "圈选",
lineX: "横向选择",
lineY: "纵向选择",
keep: "保持选择",
clear: "清除选择"
}
},
dataView: {
title: "数据视图",
lang: ["数据视图", "关闭", "刷新"]
},
dataZoom: {
title: {
zoom: "区域缩放",
back: "区域缩放还原"
}
},
magicType: {
title: {
line: "切换为折线图",
bar: "切换为柱状图",
stack: "切换为堆叠",
tiled: "切换为平铺"
}
},
restore: {
title: "还原"
},
saveAsImage: {
title: "保存为图片",
lang: ["右键另存为图片"]
}
},
series: {
typeNames: {
pie: "饼图",
bar: "柱状图",
line: "折线图",
scatter: "散点图",
effectScatter: "涟漪散点图",
radar: "雷达图",
tree: "树图",
treemap: "矩形树图",
boxplot: "箱型图",
candlestick: "K线图",
k: "K线图",
heatmap: "热力图",
map: "地图",
parallel: "平行坐标图",
lines: "线图",
graph: "关系图",
sankey: "桑基图",
funnel: "漏斗图",
gauge: "仪表盘图",
pictorialBar: "象形柱图",
themeRiver: "主题河流图",
sunburst: "旭日图"
}
},
aria: {
general: {
withTitle: "这是一个关于“{title}”的图表。",
withoutTitle: "这是一个图表,"
},
series: {
single: {
prefix: "",
withName: "图表类型是{seriesType},表示{seriesName}。",
withoutName: "图表类型是{seriesType}。"
},
multiple: {
prefix: "它由{seriesCount}个图表系列组成。",
withName: "第{seriesId}个系列是一个表示{seriesName}的{seriesType},",
withoutName: "第{seriesId}个系列是一个{seriesType},",
separator: {
middle: ";",
end: "。"
}
}
},
data: {
allData: "其数据是——",
partialData: "其中,前{displayCnt}项是——",
withName: "{name}的数据是{value}",
withoutName: "{value}",
separator: {
middle: ",",
end: ""
}
}
}
},
$M = "ZH",
QM = "EN",
JM = QM,
tT = {},
eT = {},
nT = Um.domSupported ? function() {
var t = (document.documentElement.lang || navigator.language || navigator.browserLanguage)
.toUpperCase();
return t.indexOf($M) > -1 ? $M : JM
}() : JM;
rl(QM, jM), rl($M, KM);
var iT = 1e3,
rT = 60 * iT,
oT = 60 * rT,
aT = 24 * oT,
sT = 365 * aT,
lT = {
year: "{yyyy}",
month: "{MMM}",
day: "{d}",
hour: "{HH}:{mm}",
minute: "{HH}:{mm}",
second: "{HH}:{mm}:{ss}",
millisecond: "{HH}:{mm}:{ss} {SSS}",
none: "{yyyy}-{MM}-{dd} {HH}:{mm}:{ss} {SSS}"
},
uT = "{yyyy}-{MM}-{dd}",
hT = {
year: "{yyyy}",
month: "{yyyy}-{MM}",
day: uT,
hour: uT + " " + lT.hour,
minute: uT + " " + lT.minute,
second: uT + " " + lT.second,
millisecond: lT.none
},
cT = ["year", "month", "day", "hour", "minute", "second", "millisecond"],
pT = ["year", "half-year", "quarter", "month", "week", "half-week", "day", "half-day", "quarter-day",
"hour", "minute", "second", "millisecond"
],
dT = H,
fT = ["a", "b", "c", "d", "e", "f", "g"],
gT = function(t, e) {
return "{" + t + (null == e ? "" : e) + "}"
},
vT = v,
yT = ["left", "right", "top", "bottom", "width", "height"],
mT = [
["width", "left", "right"],
["height", "top", "bottom"]
],
_T = Vl,
xT = (S(Vl, "vertical"), S(Vl, "horizontal"), Or()),
wT = function(t) {
function n(e, n, i) {
var r = t.call(this, e, n, i) || this;
return r.uid = tl("ec_cpt_model"), r
}
return e(n, t), n.prototype.init = function(t, e, n) {
this.mergeDefaultAndTheme(t, n)
}, n.prototype.mergeDefaultAndTheme = function(t, e) {
var n = Wl(this),
i = n ? Ul(t) : {},
r = e.getTheme();
l(t, r.get(this.mainType)), l(t, this.getDefaultOption()), n && Gl(t, i, n)
}, n.prototype.mergeOption = function(t) {
l(this.option, t, !0);
var e = Wl(this);
e && Gl(this.option, t, e)
}, n.prototype.optionUpdated = function() {}, n.prototype.getDefaultOption = function() {
var t = this.constructor;
if (!Gr(t)) return t.defaultOption;
var e = xT(this);
if (!e.defaultOption) {
for (var n = [], i = t; i;) {
var r = i.prototype.defaultOption;
r && n.push(r), i = i.superClass
}
for (var o = {}, a = n.length - 1; a >= 0; a--) o = l(o, n[a], !0);
e.defaultOption = o
}
return e.defaultOption
}, n.prototype.getReferringComponents = function(t, e) {
var n = t + "Index",
i = t + "Id";
return Er(this.ecModel, t, {
index: this.get(n, !0),
id: this.get(i, !0)
}, e)
}, n.prototype.getBoxLayoutParams = function() {
var t = this;
return {
left: t.get("left"),
top: t.get("top"),
right: t.get("right"),
bottom: t.get("bottom"),
width: t.get("width"),
height: t.get("height")
}
}, n.prototype.getZLevelKey = function() {
return ""
}, n.prototype.setZLevel = function(t) {
this.option.zlevel = t
}, n.protoInitialize = function() {
var t = n.prototype;
t.type = "component", t.id = "", t.name = "", t.mainType = "", t.subType = "", t
.componentIndex = 0
}(), n
}(ZM);
Xr(wT, ZM), Kr(wT), el(wT), nl(wT, Xl);
var bT = "";
"undefined" != typeof navigator && (bT = navigator.platform || "");
var ST, MT, TT = "rgba(0, 0, 0, 0.2)",
CT = {
darkMode: "auto",
colorBy: "series",
color: ["#5470c6", "#91cc75", "#fac858", "#ee6666", "#73c0de", "#3ba272", "#fc8452", "#9a60b4",
"#ea7ccc"
],
gradientColor: ["#f6efa6", "#d88273", "#bf444c"],
aria: {
decal: {
decals: [{
color: TT,
dashArrayX: [1, 0],
dashArrayY: [2, 5],
symbolSize: 1,
rotation: Math.PI / 6
}, {
color: TT,
symbol: "circle",
dashArrayX: [
[8, 8],
[0, 8, 8, 0]
],
dashArrayY: [6, 0],
symbolSize: .8
}, {
color: TT,
dashArrayX: [1, 0],
dashArrayY: [4, 3],
rotation: -Math.PI / 4
}, {
color: TT,
dashArrayX: [
[6, 6],
[0, 6, 6, 0]
],
dashArrayY: [6, 0]
}, {
color: TT,
dashArrayX: [
[1, 0],
[1, 6]
],
dashArrayY: [1, 0, 6, 0],
rotation: Math.PI / 4
}, {
color: TT,
symbol: "triangle",
dashArrayX: [
[9, 9],
[0, 9, 9, 0]
],
dashArrayY: [7, 2],
symbolSize: .75
}]
}
},
textStyle: {
fontFamily: bT.match(/^Win/) ? "Microsoft YaHei" : "sans-serif",
fontSize: 12,
fontStyle: "normal",
fontWeight: "normal"
},
blendMode: null,
stateAnimation: {
duration: 300,
easing: "cubicOut"
},
animation: "auto",
animationDuration: 1e3,
animationDurationUpdate: 500,
animationEasing: "cubicInOut",
animationEasingUpdate: "cubicInOut",
animationThreshold: 2e3,
progressiveThreshold: 3e3,
progressive: 400,
hoverLayerThreshold: 3e3,
useUTC: !1
},
IT = Z(["tooltip", "label", "itemName", "itemId", "itemGroupId", "seriesName"]),
DT = "original",
kT = "arrayRows",
AT = "objectRows",
PT = "keyedColumns",
LT = "typedArray",
OT = "unknown",
RT = "column",
zT = "row",
ET = {
Must: 1,
Might: 2,
Not: 3
},
BT = Or(),
NT = Z(),
FT = Or(),
VT = (Or(), function() {
function t() {}
return t.prototype.getColorFromPalette = function(t, e, n) {
var i = fr(this.get("color", !0)),
r = this.get("colorLayer", !0);
return nu(this, FT, i, r, t, e, n)
}, t.prototype.clearColorPalette = function() {
iu(this, FT)
}, t
}()),
HT = "\x00_ec_inner",
WT = 1,
GT = function(t) {
function n() {
return null !== t && t.apply(this, arguments) || this
}
return e(n, t), n.prototype.init = function(t, e, n, i, r, o) {
i = i || {}, this.option = null, this._theme = new ZM(i), this._locale = new ZM(r), this
._optionManager = o
}, n.prototype.setOption = function(t, e, n) {
var i = lu(e);
this._optionManager.setOption(t, n, i), this._resetOption(null, i)
}, n.prototype.resetOption = function(t, e) {
return this._resetOption(t, lu(e))
}, n.prototype._resetOption = function(t, e) {
var n = !1,
i = this._optionManager;
if (!t || "recreate" === t) {
var r = i.mountOption("recreate" === t);
this.option && "recreate" !== t ? (this.restoreData(), this._mergeOption(r, e)) : MT(this,
r), n = !0
}
if (("timeline" === t || "media" === t) && this.restoreData(), !t || "recreate" === t ||
"timeline" === t) {
var o = i.getTimelineOption(this);
o && (n = !0, this._mergeOption(o, e))
}
if (!t || "recreate" === t || "media" === t) {
var a = i.getMediaOption(this);
a.length && v(a, function(t) {
n = !0, this._mergeOption(t, e)
}, this)
}
return n
}, n.prototype.mergeOption = function(t) {
this._mergeOption(t, null)
}, n.prototype._mergeOption = function(t, e) {
function n(e) {
var n = tu(this, e, fr(t[e])),
a = r.get(e),
s = a ? c && c.get(e) ? "replaceMerge" : "normalMerge" : "replaceAll",
l = mr(a, n, s);
Ar(l, e, wT), i[e] = null, r.set(e, null), o.set(e, 0);
var u, p = [],
d = [],
f = 0;
v(l, function(t, n) {
var i = t.existing,
r = t.newOption;
if (r) {
var o = "series" === e,
a = wT.getClass(e, t.keyInfo.subType, !o);
if (!a) return;
if ("tooltip" === e) {
if (u) return;
u = !0
}
if (i && i.constructor === a) i.name = t.keyInfo.name, i.mergeOption(r,
this), i.optionUpdated(r, !1);
else {
var s = h({
componentIndex: n
}, t.keyInfo);
i = new a(r, this, this, s), h(i, s), t.brandNew && (i
.__requireNewView = !0), i.init(r, this, this), i.optionUpdated(
null, !0)
}
} else i && (i.mergeOption({}, this), i.optionUpdated({}, !1));
i ? (p.push(i.option), d.push(i), f++) : (p.push(void 0), d.push(void 0))
}, this), i[e] = p, r.set(e, d), o.set(e, f), "series" === e && ST(this)
}
var i = this.option,
r = this._componentsMap,
o = this._componentsCount,
a = [],
u = Z(),
c = e && e.replaceMergeMainTypeMap;
Zl(this), v(t, function(t, e) {
null != t && (wT.hasClass(e) ? e && (a.push(e), u.set(e, !0)) : i[e] = null == i[
e] ? s(t) : l(i[e], t, !0))
}), c && c.each(function(t, e) {
wT.hasClass(e) && !u.get(e) && (a.push(e), u.set(e, !0))
}), wT.topologicalTravel(a, wT.getAllClassMainTypes(), n, this), this._seriesIndices || ST(
this)
}, n.prototype.getOption = function() {
var t = s(this.option);
return v(t, function(e, n) {
if (wT.hasClass(n)) {
for (var i = fr(e), r = i.length, o = !1, a = r - 1; a >= 0; a--) i[a] && !kr(i[
a]) ? o = !0 : (i[a] = null, !o && r--);
i.length = r, t[n] = i
}
}), delete t[HT], t
}, n.prototype.getTheme = function() {
return this._theme
}, n.prototype.getLocaleModel = function() {
return this._locale
}, n.prototype.setUpdatePayload = function(t) {
this._payload = t
}, n.prototype.getUpdatePayload = function() {
return this._payload
}, n.prototype.getComponent = function(t, e) {
var n = this._componentsMap.get(t);
if (n) {
var i = n[e || 0];
if (i) return i;
if (null == e)
for (var r = 0; r < n.length; r++)
if (n[r]) return n[r]
}
}, n.prototype.queryComponents = function(t) {
var e = t.mainType;
if (!e) return [];
var n = t.index,
i = t.id,
r = t.name,
o = this._componentsMap.get(e);
if (!o || !o.length) return [];
var a;
return null != n ? (a = [], v(fr(n), function(t) {
o[t] && a.push(o[t])
})) : a = null != i ? au("id", i, o) : null != r ? au("name", r, o) : _(o, function(t) {
return !!t
}), su(a, t)
}, n.prototype.findComponents = function(t) {
function e(t) {
var e = r + "Index",
n = r + "Id",
i = r + "Name";
return !t || null == t[e] && null == t[n] && null == t[i] ? null : {
mainType: r,
index: t[e],
id: t[n],
name: t[i]
}
}
function n(e) {
return t.filter ? _(e, t.filter) : e
}
var i = t.query,
r = t.mainType,
o = e(i),
a = o ? this.queryComponents(o) : _(this._componentsMap.get(r), function(t) {
return !!t
});
return n(su(a, t))
}, n.prototype.eachComponent = function(t, e, n) {
var i = this._componentsMap;
if (T(t)) {
var r = e,
o = t;
i.each(function(t, e) {
for (var n = 0; t && n < t.length; n++) {
var i = t[n];
i && o.call(r, e, i, i.componentIndex)
}
})
} else
for (var a = C(t) ? i.get(t) : k(t) ? this.findComponents(t) : null, s = 0; a && s < a
.length; s++) {
var l = a[s];
l && e.call(n, l, l.componentIndex)
}
}, n.prototype.getSeriesByName = function(t) {
var e = Ir(t, null);
return _(this._componentsMap.get("series"), function(t) {
return !!t && null != e && t.name === e
})
}, n.prototype.getSeriesByIndex = function(t) {
return this._componentsMap.get("series")[t]
}, n.prototype.getSeriesByType = function(t) {
return _(this._componentsMap.get("series"), function(e) {
return !!e && e.subType === t
})
}, n.prototype.getSeries = function() {
return _(this._componentsMap.get("series"), function(t) {
return !!t
})
}, n.prototype.getSeriesCount = function() {
return this._componentsCount.get("series")
}, n.prototype.eachSeries = function(t, e) {
v(this._seriesIndices, function(n) {
var i = this._componentsMap.get("series")[n];
t.call(e, i, n)
}, this)
}, n.prototype.eachRawSeries = function(t, e) {
v(this._componentsMap.get("series"), function(n) {
n && t.call(e, n, n.componentIndex)
})
}, n.prototype.eachSeriesByType = function(t, e, n) {
v(this._seriesIndices, function(i) {
var r = this._componentsMap.get("series")[i];
r.subType === t && e.call(n, r, i)
}, this)
}, n.prototype.eachRawSeriesByType = function(t, e, n) {
return v(this.getSeriesByType(t), e, n)
}, n.prototype.isSeriesFiltered = function(t) {
return null == this._seriesIndicesMap.get(t.componentIndex)
}, n.prototype.getCurrentSeriesIndices = function() {
return (this._seriesIndices || []).slice()
}, n.prototype.filterSeries = function(t, e) {
var n = [];
v(this._seriesIndices, function(i) {
var r = this._componentsMap.get("series")[i];
t.call(e, r, i) && n.push(i)
}, this), this._seriesIndices = n, this._seriesIndicesMap = Z(n)
}, n.prototype.restoreData = function(t) {
ST(this);
var e = this._componentsMap,
n = [];
e.each(function(t, e) {
wT.hasClass(e) && n.push(e)
}), wT.topologicalTravel(n, wT.getAllClassMainTypes(), function(n) {
v(e.get(n), function(e) {
!e || "series" === n && ru(e, t) || e.restoreData()
})
})
}, n.internalField = function() {
ST = function(t) {
var e = t._seriesIndices = [];
v(t._componentsMap.get("series"), function(t) {
t && e.push(t.componentIndex)
}), t._seriesIndicesMap = Z(e)
}, MT = function(t, e) {
t.option = {}, t.option[HT] = WT, t._componentsMap = Z({
series: []
}), t._componentsCount = Z();
var n = e.aria;
k(n) && null == n.enabled && (n.enabled = !0), ou(e, t._theme.option), l(e, CT, !1), t
._mergeOption(e, null)
}
}(), n
}(ZM);
f(GT, VT);
var UT, YT, XT, ZT, qT, jT, KT = ["getDom", "getZr", "getWidth", "getHeight", "getDevicePixelRatio",
"dispatchAction", "isSSR", "isDisposed", "on", "off", "getDataURL", "getConnectedDataURL", "getOption",
"getId", "updateLabelLayout"
],
$T = function() {
function t(t) {
v(KT, function(e) {
this[e] = p_(t[e], t)
}, this)
}
return t
}(),
QT = {},
JT = function() {
function t() {
this._coordinateSystems = []
}
return t.prototype.create = function(t, e) {
var n = [];
v(QT, function(i) {
var r = i.create(t, e);
n = n.concat(r || [])
}), this._coordinateSystems = n
}, t.prototype.update = function(t, e) {
v(this._coordinateSystems, function(n) {
n.update && n.update(t, e)
})
}, t.prototype.getCoordinateSystems = function() {
return this._coordinateSystems.slice()
}, t.register = function(t, e) {
QT[t] = e
}, t.get = function(t) {
return QT[t]
}, t
}(),
tC = /^(min|max)?(.+)$/,
eC = function() {
function t(t) {
this._timelineOptions = [], this._mediaList = [], this._currentMediaIndices = [], this._api = t
}
return t.prototype.setOption = function(t, e) {
t && (v(fr(t.series), function(t) {
t && t.data && P(t.data) && U(t.data)
}), v(fr(t.dataset), function(t) {
t && t.source && P(t.source) && U(t.source)
})), t = s(t);
var n = this._optionBackup,
i = uu(t, e, !n);
this._newBaseOption = i.baseOption, n ? (i.timelineOptions.length && (n.timelineOptions = i
.timelineOptions), i.mediaList.length && (n.mediaList = i.mediaList), i
.mediaDefault && (n.mediaDefault = i.mediaDefault)) : this._optionBackup = i
}, t.prototype.mountOption = function(t) {
var e = this._optionBackup;
return this._timelineOptions = e.timelineOptions, this._mediaList = e.mediaList, this
._mediaDefault = e.mediaDefault, this._currentMediaIndices = [], s(t ? e.baseOption : this
._newBaseOption)
}, t.prototype.getTimelineOption = function(t) {
var e, n = this._timelineOptions;
if (n.length) {
var i = t.getComponent("timeline");
i && (e = s(n[i.getCurrentIndex()]))
}
return e
}, t.prototype.getMediaOption = function() {
var t = this._api.getWidth(),
e = this._api.getHeight(),
n = this._mediaList,
i = this._mediaDefault,
r = [],
o = [];
if (!n.length && !i) return o;
for (var a = 0, l = n.length; l > a; a++) hu(n[a].query, t, e) && r.push(a);
return !r.length && i && (r = [-1]), r.length && !pu(r, this._currentMediaIndices) && (o = y(r,
function(t) {
return s(-1 === t ? i.option : n[t].option)
})), this._currentMediaIndices = r, o
}, t
}(),
nC = v,
iC = k,
rC = ["areaStyle", "lineStyle", "nodeStyle", "linkStyle", "chordStyle", "label", "labelLine"],
oC = [
["x", "left"],
["y", "top"],
["x2", "right"],
["y2", "bottom"]
],
aC = ["grid", "geo", "parallel", "legend", "toolbox", "title", "visualMap", "dataZoom", "timeline"],
sC = [
["borderRadius", "barBorderRadius"],
["borderColor", "barBorderColor"],
["borderWidth", "barBorderWidth"]
],
lC = function() {
function t(t) {
this.data = t.data || (t.sourceFormat === PT ? {} : []), this.sourceFormat = t.sourceFormat || OT,
this.seriesLayoutBy = t.seriesLayoutBy || RT, this.startIndex = t.startIndex || 0, this
.dimensionsDetectedCount = t.dimensionsDetectedCount, this.metaRawOption = t.metaRawOption;
var e = this.dimensionsDefine = t.dimensionsDefine;
if (e)
for (var n = 0; n < e.length; n++) {
var i = e[n];
null == i.type && Ql(this, n) === ET.Must && (i.type = "ordinal")
}
}
return t
}(),
uC = function() {
function t(t, e) {
var n = Ou(t) ? t : zu(t);
this._source = n;
var i = this._data = n.data;
n.sourceFormat === LT && (this._offset = 0, this._dimSize = e, this._data = i), qT(this, i, n)
}
return t.prototype.getSource = function() {
return this._source
}, t.prototype.count = function() {
return 0
}, t.prototype.getItem = function() {}, t.prototype.appendData = function() {}, t.prototype.clean =
function() {}, t.protoInitialize = function() {
var e = t.prototype;
e.pure = !1, e.persistent = !0
}(), t.internalField = function() {
function t(t) {
for (var e = 0; e < t.length; e++) this._data.push(t[e])
}
var e;
qT = function(t, e, o) {
var a = o.sourceFormat,
s = o.seriesLayoutBy,
l = o.startIndex,
u = o.dimensionsDefine,
c = ZT[Xu(a, s)];
if (h(t, c), a === LT) t.getItem = n, t.count = r, t.fillStorage = i;
else {
var p = Gu(a, s);
t.getItem = p_(p, null, e, l, u);
var d = Uu(a, s);
t.count = p_(d, null, e, l, u)
}
};
var n = function(t, e) {
t -= this._offset, e = e || [];
for (var n = this._data, i = this._dimSize, r = i * t, o = 0; i > o; o++) e[o] = n[r +
o];
return e
},
i = function(t, e, n, i) {
for (var r = this._data, o = this._dimSize, a = 0; o > a; a++) {
for (var s = i[a], l = null == s[0] ? 1 / 0 : s[0], u = null == s[1] ? -1 / 0 : s[
1], h = e - t, c = n[a], p = 0; h > p; p++) {
var d = r[p * o + a];
c[t + p] = d, l > d && (l = d), d > u && (u = d)
}
s[0] = l, s[1] = u
}
},
r = function() {
return this._data ? this._data.length / this._dimSize : 0
};
e = {}, e[kT + "_" + RT] = {
pure: !0,
appendData: t
}, e[kT + "_" + zT] = {
pure: !0,
appendData: function() {
throw new Error('Do not support appendData when set seriesLayoutBy: "row".')
}
}, e[AT] = {
pure: !0,
appendData: t
}, e[PT] = {
pure: !0,
appendData: function(t) {
var e = this._data;
v(t, function(t, n) {
for (var i = e[n] || (e[n] = []), r = 0; r < (t || []).length; r++)
i.push(t[r])
})
}
}, e[DT] = {
appendData: t
}, e[LT] = {
persistent: !1,
pure: !0,
appendData: function(t) {
this._data = t
},
clean: function() {
this._offset += this.count(), this._data = null
}
}, ZT = e
}(), t
}(),
hC = function(t, e, n, i) {
return t[i]
},
cC = (UT = {}, UT[kT + "_" + RT] = function(t, e, n, i) {
return t[i + e]
}, UT[kT + "_" + zT] = function(t, e, n, i, r) {
i += e;
for (var o = r || [], a = t, s = 0; s < a.length; s++) {
var l = a[s];
o[s] = l ? l[i] : null
}
return o
}, UT[AT] = hC, UT[PT] = function(t, e, n, i, r) {
for (var o = r || [], a = 0; a < n.length; a++) {
var s = n[a].name,
l = t[s];
o[a] = l ? l[i] : null
}
return o
}, UT[DT] = hC, UT),
pC = function(t) {
return t.length
},
dC = (YT = {}, YT[kT + "_" + RT] = function(t, e) {
return Math.max(0, t.length - e)
}, YT[kT + "_" + zT] = function(t, e) {
var n = t[0];
return n ? Math.max(0, n.length - e) : 0
}, YT[AT] = pC, YT[PT] = function(t, e, n) {
var i = n[0].name,
r = t[i];
return r ? r.length : 0
}, YT[DT] = pC, YT),
fC = function(t, e) {
return t[e]
},
gC = (XT = {}, XT[kT] = fC, XT[AT] = function(t, e, n) {
return t[n]
}, XT[PT] = fC, XT[DT] = function(t, e) {
var n = vr(t);
return n instanceof Array ? n[e] : n
}, XT[LT] = fC, XT),
vC = /\{@(.+?)\}/g,
yC = function() {
function t() {}
return t.prototype.getDataParams = function(t, e) {
var n = this.getData(e),
i = this.getRawValue(t, e),
r = n.getRawIndex(t),
o = n.getName(t),
a = n.getRawDataItem(t),
s = n.getItemVisual(t, "style"),
l = s && s[n.getItemVisual(t, "drawType") || "fill"],
u = s && s.stroke,
h = this.mainType,
c = "series" === h,
p = n.userOutput && n.userOutput.get();
return {
componentType: h,
componentSubType: this.subType,
componentIndex: this.componentIndex,
seriesType: c ? this.subType : null,
seriesIndex: this.seriesIndex,
seriesId: c ? this.id : null,
seriesName: c ? this.name : null,
name: o,
dataIndex: r,
data: a,
dataType: e,
value: i,
color: l,
borderColor: u,
dimensionNames: p ? p.fullDimensions : null,
encode: p ? p.encode : null,
$vars: ["seriesName", "name", "value"]
}
}, t.prototype.getFormattedLabel = function(t, e, n, i, r, o) {
e = e || "normal";
var a = this.getData(n),
s = this.getDataParams(t, n);
if (o && (s.value = o.interpolatedValue), null != i && M(s.value) && (s.value = s.value[i]), !
r) {
var l = a.getItemModel(t);
r = l.get("normal" === e ? ["label", "formatter"] : [e, "label", "formatter"])
}
if (T(r)) return s.status = e, s.dimensionIndex = i, r(s);
if (C(r)) {
var u = Rl(r, s);
return u.replace(vC, function(e, n) {
var i = n.length,
r = n;
"[" === r.charAt(0) && "]" === r.charAt(i - 1) && (r = +r.slice(1, i - 1));
var s = Zu(a, t, r);
if (o && M(o.interpolatedValue)) {
var l = a.getDimensionIndex(r);
l >= 0 && (s = o.interpolatedValue[l])
}
return null != s ? s + "" : ""
})
}
}, t.prototype.getRawValue = function(t, e) {
return Zu(this.getData(e), t)
}, t.prototype.formatTooltip = function() {}, t
}(),
mC = function() {
function t(t) {
t = t || {}, this._reset = t.reset, this._plan = t.plan, this._count = t.count, this._onDirty = t
.onDirty, this._dirty = !0
}
return t.prototype.perform = function(t) {
function e(t) {
return !(t >= 1) && (t = 1), t
}
var n = this._upstream,
i = t && t.skip;
if (this._dirty && n) {
var r = this.context;
r.data = r.outputData = n.context.outputData
}
this.__pipeline && (this.__pipeline.currentTask = this);
var o;
this._plan && !i && (o = this._plan(this.context));
var a = e(this._modBy),
s = this._modDataCount || 0,
l = e(t && t.modBy),
u = t && t.modDataCount || 0;
(a !== l || s !== u) && (o = "reset");
var h;
(this._dirty || "reset" === o) && (this._dirty = !1, h = this._doReset(i)), this._modBy = l,
this._modDataCount = u;
var c = t && t.step;
if (this._dueEnd = n ? n._outputDueEnd : this._count ? this._count(this.context) : 1 / 0, this
._progress) {
var p = this._dueIndex,
d = Math.min(null != c ? this._dueIndex + c : 1 / 0, this._dueEnd);
if (!i && (h || d > p)) {
var f = this._progress;
if (M(f))
for (var g = 0; g < f.length; g++) this._doProgress(f[g], p, d, l, u);
else this._doProgress(f, p, d, l, u)
}
this._dueIndex = d;
var v = null != this._settedOutputEnd ? this._settedOutputEnd : d;
this._outputDueEnd = v
} else this._dueIndex = this._outputDueEnd = null != this._settedOutputEnd ? this
._settedOutputEnd : this._dueEnd;
return this.unfinished()
}, t.prototype.dirty = function() {
this._dirty = !0, this._onDirty && this._onDirty(this.context)
}, t.prototype._doProgress = function(t, e, n, i, r) {
_C.reset(e, n, i, r), this._callingProgress = t, this._callingProgress({
start: e,
end: n,
count: n - e,
next: _C.next
}, this.context)
}, t.prototype._doReset = function(t) {
this._dueIndex = this._outputDueEnd = this._dueEnd = 0, this._settedOutputEnd = null;
var e, n;
!t && this._reset && (e = this._reset(this.context), e && e.progress && (n = e
.forceFirstProgress, e = e.progress), M(e) && !e.length && (e = null)), this._progress =
e, this._modBy = this._modDataCount = null;
var i = this._downstream;
return i && i.dirty(), n
}, t.prototype.unfinished = function() {
return this._progress && this._dueIndex < this._dueEnd
}, t.prototype.pipe = function(t) {
(this._downstream !== t || this._dirty) && (this._downstream = t, t._upstream = this, t.dirty())
}, t.prototype.dispose = function() {
this._disposed || (this._upstream && (this._upstream._downstream = null), this._downstream && (
this._downstream._upstream = null), this._dirty = !1, this._disposed = !0)
}, t.prototype.getUpstream = function() {
return this._upstream
}, t.prototype.getDownstream = function() {
return this._downstream
}, t.prototype.setOutputEnd = function(t) {
this._outputDueEnd = this._settedOutputEnd = t
}, t
}(),
_C = function() {
function t() {
return n > i ? i++ : null
}
function e() {
var t = i % a * r + Math.ceil(i / a),
e = i >= n ? null : o > t ? t : i;
return i++, e
}
var n, i, r, o, a, s = {
reset: function(l, u, h, c) {
i = l, n = u, r = h, o = c, a = Math.ceil(o / r), s.next = r > 1 && o > 0 ? e : t
}
};
return s
}(),
xC = (Z({
number: function(t) {
return parseFloat(t)
},
time: function(t) {
return +er(t)
},
trim: function(t) {
return C(t) ? G(t) : t
}
}), {
lt: function(t, e) {
return e > t
},
lte: function(t, e) {
return e >= t
},
gt: function(t, e) {
return t > e
},
gte: function(t, e) {
return t >= e
}
}),
wC = (function() {
function t(t, e) {
if (!D(e)) {
var n = "";
pr(n)
}
this._opFn = xC[t], this._rvalFloat = sr(e)
}
return t.prototype.evaluate = function(t) {
return D(t) ? this._opFn(t, this._rvalFloat) : this._opFn(sr(t), this._rvalFloat)
}, t
}(), function() {
function t(t, e) {
var n = "desc" === t;
this._resultLT = n ? 1 : -1, null == e && (e = n ? "min" : "max"), this._incomparable =
"min" === e ? -1 / 0 : 1 / 0
}
return t.prototype.evaluate = function(t, e) {
var n = D(t) ? t : sr(t),
i = D(e) ? e : sr(e),
r = isNaN(n),
o = isNaN(i);
if (r && (n = this._incomparable), o && (i = this._incomparable), r && o) {
var a = C(t),
s = C(e);
a && (n = s ? t : 0), s && (i = a ? e : 0)
}
return i > n ? this._resultLT : n > i ? -this._resultLT : 0
}, t
}()),
bC = (function() {
function t(t, e) {
this._rval = e, this._isEQ = t, this._rvalTypeof = typeof e, this._rvalFloat = sr(e)
}
return t.prototype.evaluate = function(t) {
var e = t === this._rval;
if (!e) {
var n = typeof t;
n === this._rvalTypeof || "number" !== n && "number" !== this._rvalTypeof || (e = sr(
t) === this._rvalFloat)
}
return this._isEQ ? e : !e
}, t
}(), function() {
function t() {}
return t.prototype.getRawData = function() {
throw new Error("not supported")
}, t.prototype.getRawDataItem = function() {
throw new Error("not supported")
}, t.prototype.cloneRawData = function() {}, t.prototype.getDimensionInfo = function() {}, t
.prototype.cloneAllDimensionInfo = function() {}, t.prototype.count = function() {}, t.prototype
.retrieveValue = function() {}, t.prototype.retrieveValueFromItem = function() {}, t.prototype
.convertValue = function(t, e) {
return Ku(t, e)
}, t
}()),
SC = Z(),
MC = "undefined",
TC = typeof Uint32Array === MC ? Array : Uint32Array,
CC = typeof Uint16Array === MC ? Array : Uint16Array,
IC = typeof Int32Array === MC ? Array : Int32Array,
DC = typeof Float64Array === MC ? Array : Float64Array,
kC = {
"float": DC,
"int": IC,
ordinal: Array,
number: Array,
time: DC
},
AC = function() {
function t() {
this._chunks = [], this._rawExtent = [], this._extent = [], this._count = 0, this._rawCount = 0,
this._calcDimNameToIdx = Z()
}
return t.prototype.initData = function(t, e, n) {
this._provider = t, this._chunks = [], this._indices = null, this.getRawIndex = this
._getRawIdxIdentity;
var i = t.getSource(),
r = this.defaultDimValueGetter = jT[i.sourceFormat];
this._dimValueGetter = n || r, this._rawExtent = [];
Wu(i);
this._dimensions = y(e, function(t) {
return {
type: t.type,
property: t.property
}
}), this._initDataFromProvider(0, t.count())
}, t.prototype.getProvider = function() {
return this._provider
}, t.prototype.getSource = function() {
return this._provider.getSource()
}, t.prototype.ensureCalculationDimension = function(t, e) {
var n = this._calcDimNameToIdx,
i = this._dimensions,
r = n.get(t);
if (null != r) {
if (i[r].type === e) return r
} else r = i.length;
return i[r] = {
type: e
}, n.set(t, r), this._chunks[r] = new kC[e || "float"](this._rawCount), this._rawExtent[r] =
sh(), r
}, t.prototype.collectOrdinalMeta = function(t, e) {
var n = this._chunks[t],
i = this._dimensions[t],
r = this._rawExtent,
o = i.ordinalOffset || 0,
a = n.length;
0 === o && (r[t] = sh());
for (var s = r[t], l = o; a > l; l++) {
var u = n[l] = e.parseAndCollect(n[l]);
isNaN(u) || (s[0] = Math.min(u, s[0]), s[1] = Math.max(u, s[1]))
}
i.ordinalMeta = e, i.ordinalOffset = a, i.type = "ordinal"
}, t.prototype.getOrdinalMeta = function(t) {
var e = this._dimensions[t],
n = e.ordinalMeta;
return n
}, t.prototype.getDimensionProperty = function(t) {
var e = this._dimensions[t];
return e && e.property
}, t.prototype.appendData = function(t) {
var e = this._provider,
n = this.count();
e.appendData(t);
var i = e.count();
return e.persistent || (i += n), i > n && this._initDataFromProvider(n, i, !0), [n, i]
}, t.prototype.appendValues = function(t, e) {
for (var n = this._chunks, i = this._dimensions, r = i.length, o = this._rawExtent, a = this
.count(), s = a + Math.max(t.length, e || 0), l = 0; r > l; l++) {
var u = i[l];
uh(n, l, u.type, s, !0)
}
for (var h = [], c = a; s > c; c++)
for (var p = c - a, d = 0; r > d; d++) {
var u = i[d],
f = jT.arrayRows.call(this, t[p] || h, u.property, p, d);
n[d][c] = f;
var g = o[d];
f < g[0] && (g[0] = f), f > g[1] && (g[1] = f)
}
return this._rawCount = this._count = s, {
start: a,
end: s
}
}, t.prototype._initDataFromProvider = function(t, e, n) {
for (var i = this._provider, r = this._chunks, o = this._dimensions, a = o.length, s = this
._rawExtent, l = y(o, function(t) {
return t.property
}), u = 0; a > u; u++) {
var h = o[u];
s[u] || (s[u] = sh()), uh(r, u, h.type, e, n)
}
if (i.fillStorage) i.fillStorage(t, e, r, s);
else
for (var c = [], p = t; e > p; p++) {
c = i.getItem(p, c);
for (var d = 0; a > d; d++) {
var f = r[d],
g = this._dimValueGetter(c, l[d], p, d);
f[p] = g;
var v = s[d];
g < v[0] && (v[0] = g), g > v[1] && (v[1] = g)
}
}!i.persistent && i.clean && i.clean(), this._rawCount = this._count = e, this._extent = []
}, t.prototype.count = function() {
return this._count
}, t.prototype.get = function(t, e) {
if (!(e >= 0 && e < this._count)) return 0 / 0;
var n = this._chunks[t];
return n ? n[this.getRawIndex(e)] : 0 / 0
}, t.prototype.getValues = function(t, e) {
var n = [],
i = [];
if (null == e) {
e = t, t = [];
for (var r = 0; r < this._dimensions.length; r++) i.push(r)
} else i = t;
for (var r = 0, o = i.length; o > r; r++) n.push(this.get(i[r], e));
return n
}, t.prototype.getByRawIndex = function(t, e) {
if (!(e >= 0 && e < this._rawCount)) return 0 / 0;
var n = this._chunks[t];
return n ? n[e] : 0 / 0
}, t.prototype.getSum = function(t) {
var e = this._chunks[t],
n = 0;
if (e)
for (var i = 0, r = this.count(); r > i; i++) {
var o = this.get(t, i);
isNaN(o) || (n += o)
}
return n
}, t.prototype.getMedian = function(t) {
var e = [];
this.each([t], function(t) {
isNaN(t) || e.push(t)
});
var n = e.sort(function(t, e) {
return t - e
}),
i = this.count();
return 0 === i ? 0 : i % 2 === 1 ? n[(i - 1) / 2] : (n[i / 2] + n[i / 2 - 1]) / 2
}, t.prototype.indexOfRawIndex = function(t) {
if (t >= this._rawCount || 0 > t) return -1;
if (!this._indices) return t;
var e = this._indices,
n = e[t];
if (null != n && n < this._count && n === t) return t;
for (var i = 0, r = this._count - 1; r >= i;) {
var o = (i + r) / 2 | 0;
if (e[o] < t) i = o + 1;
else {
if (!(e[o] > t)) return o;
r = o - 1
}
}
return -1
}, t.prototype.indicesOfNearest = function(t, e, n) {
var i = this._chunks,
r = i[t],
o = [];
if (!r) return o;
null == n && (n = 1 / 0);
for (var a = 1 / 0, s = -1, l = 0, u = 0, h = this.count(); h > u; u++) {
var c = this.getRawIndex(u),
p = e - r[c],
d = Math.abs(p);
n >= d && ((a > d || d === a && p >= 0 && 0 > s) && (a = d, s = p, l = 0), p === s && (o[
l++] = u))
}
return o.length = l, o
}, t.prototype.getIndices = function() {
var t, e = this._indices;
if (e) {
var n = e.constructor,
i = this._count;
if (n === Array) {
t = new n(i);
for (var r = 0; i > r; r++) t[r] = e[r]
} else t = new n(e.buffer, 0, i)
} else {
var n = ah(this._rawCount);
t = new n(this.count());
for (var r = 0; r < t.length; r++) t[r] = r
}
return t
}, t.prototype.filter = function(t, e) {
if (!this._count) return this;
for (var n = this.clone(), i = n.count(), r = ah(n._rawCount), o = new r(i), a = [], s = t
.length, l = 0, u = t[0], h = n._chunks, c = 0; i > c; c++) {
var p = void 0,
d = n.getRawIndex(c);
if (0 === s) p = e(c);
else if (1 === s) {
var f = h[u][d];
p = e(f, c)
} else {
for (var g = 0; s > g; g++) a[g] = h[t[g]][d];
a[g] = c, p = e.apply(null, a)
}
p && (o[l++] = d)
}
return i > l && (n._indices = o), n._count = l, n._extent = [], n._updateGetRawIdx(), n
}, t.prototype.selectRange = function(t) {
var e = this.clone(),
n = e._count;
if (!n) return this;
var i = w(t),
r = i.length;
if (!r) return this;
var o = e.count(),
a = ah(e._rawCount),
s = new a(o),
l = 0,
u = i[0],
h = t[u][0],
c = t[u][1],
p = e._chunks,
d = !1;
if (!e._indices) {
var f = 0;
if (1 === r) {
for (var g = p[i[0]], v = 0; n > v; v++) {
var y = g[v];
(y >= h && c >= y || isNaN(y)) && (s[l++] = f), f++
}
d = !0
} else if (2 === r) {
for (var g = p[i[0]], m = p[i[1]], _ = t[i[1]][0], x = t[i[1]][1], v = 0; n > v; v++) {
var y = g[v],
b = m[v];
(y >= h && c >= y || isNaN(y)) && (b >= _ && x >= b || isNaN(b)) && (s[l++] = f),
f++
}
d = !0
}
}
if (!d)
if (1 === r)
for (var v = 0; o > v; v++) {
var S = e.getRawIndex(v),
y = p[i[0]][S];
(y >= h && c >= y || isNaN(y)) && (s[l++] = S)
} else
for (var v = 0; o > v; v++) {
for (var M = !0, S = e.getRawIndex(v), T = 0; r > T; T++) {
var C = i[T],
y = p[C][S];
(y < t[C][0] || y > t[C][1]) && (M = !1)
}
M && (s[l++] = e.getRawIndex(v))
}
return o > l && (e._indices = s), e._count = l, e._extent = [], e._updateGetRawIdx(), e
}, t.prototype.map = function(t, e) {
var n = this.clone(t);
return this._updateDims(n, t, e), n
}, t.prototype.modify = function(t, e) {
this._updateDims(this, t, e)
}, t.prototype._updateDims = function(t, e, n) {
for (var i = t._chunks, r = [], o = e.length, a = t.count(), s = [], l = t._rawExtent, u =
0; u < e.length; u++) l[e[u]] = sh();
for (var h = 0; a > h; h++) {
for (var c = t.getRawIndex(h), p = 0; o > p; p++) s[p] = i[e[p]][c];
s[o] = h;
var d = n && n.apply(null, s);
if (null != d) {
"object" != typeof d && (r[0] = d, d = r);
for (var u = 0; u < d.length; u++) {
var f = e[u],
g = d[u],
v = l[f],
y = i[f];
y && (y[c] = g), g < v[0] && (v[0] = g), g > v[1] && (v[1] = g)
}
}
}
}, t.prototype.lttbDownSample = function(t, e) {
var n, i, r, o = this.clone([t], !0),
a = o._chunks,
s = a[t],
l = this.count(),
u = 0,
h = Math.floor(1 / e),
c = this.getRawIndex(0),
p = new(ah(this._rawCount))(Math.min(2 * (Math.ceil(l / h) + 2), l));
p[u++] = c;
for (var d = 1; l - 1 > d; d += h) {
for (var f = Math.min(d + h, l - 1), g = Math.min(d + 2 * h, l), v = (g + f) / 2, y = 0, m =
f; g > m; m++) {
var _ = this.getRawIndex(m),
x = s[_];
isNaN(x) || (y += x)
}
y /= g - f;
var w = d,
b = Math.min(d + h, l),
S = d - 1,
M = s[c];
n = -1, r = w;
for (var T = -1, C = 0, m = w; b > m; m++) {
var _ = this.getRawIndex(m),
x = s[_];
isNaN(x) ? (C++, 0 > T && (T = _)) : (i = Math.abs((S - v) * (x - M) - (S - m) * (y -
M)), i > n && (n = i, r = _))
}
C > 0 && b - w > C && (p[u++] = Math.min(T, r), r = Math.max(T, r)), p[u++] = r, c = r
}
return p[u++] = this.getRawIndex(l - 1), o._count = u, o._indices = p, o.getRawIndex = this
._getRawIdx, o
}, t.prototype.downSample = function(t, e, n, i) {
for (var r = this.clone([t], !0), o = r._chunks, a = [], s = Math.floor(1 / e), l = o[t], u =
this.count(), h = r._rawExtent[t] = sh(), c = new(ah(this._rawCount))(Math.ceil(u / s)),
p = 0, d = 0; u > d; d += s) {
s > u - d && (s = u - d, a.length = s);
for (var f = 0; s > f; f++) {
var g = this.getRawIndex(d + f);
a[f] = l[g]
}
var v = n(a),
y = this.getRawIndex(Math.min(d + i(a, v) || 0, u - 1));
l[y] = v, v < h[0] && (h[0] = v), v > h[1] && (h[1] = v), c[p++] = y
}
return r._count = p, r._indices = c, r._updateGetRawIdx(), r
}, t.prototype.each = function(t, e) {
if (this._count)
for (var n = t.length, i = this._chunks, r = 0, o = this.count(); o > r; r++) {
var a = this.getRawIndex(r);
switch (n) {
case 0:
e(r);
break;
case 1:
e(i[t[0]][a], r);
break;
case 2:
e(i[t[0]][a], i[t[1]][a], r);
break;
default:
for (var s = 0, l = []; n > s; s++) l[s] = i[t[s]][a];
l[s] = r, e.apply(null, l)
}
}
}, t.prototype.getDataExtent = function(t) {
var e = this._chunks[t],
n = sh();
if (!e) return n;
var i, r = this.count(),
o = !this._indices;
if (o) return this._rawExtent[t].slice();
if (i = this._extent[t]) return i.slice();
i = n;
for (var a = i[0], s = i[1], l = 0; r > l; l++) {
var u = this.getRawIndex(l),
h = e[u];
a > h && (a = h), h > s && (s = h)
}
return i = [a, s], this._extent[t] = i, i
}, t.prototype.getRawDataItem = function(t) {
var e = this.getRawIndex(t);
if (this._provider.persistent) return this._provider.getItem(e);
for (var n = [], i = this._chunks, r = 0; r < i.length; r++) n.push(i[r][e]);
return n
}, t.prototype.clone = function(e, n) {
var i = new t,
r = this._chunks,
o = e && m(e, function(t, e) {
return t[e] = !0, t
}, {});
if (o)
for (var a = 0; a < r.length; a++) i._chunks[a] = o[a] ? lh(r[a]) : r[a];
else i._chunks = r;
return this._copyCommonProps(i), n || (i._indices = this._cloneIndices()), i._updateGetRawIdx(),
i
}, t.prototype._copyCommonProps = function(t) {
t._count = this._count, t._rawCount = this._rawCount, t._provider = this._provider, t
._dimensions = this._dimensions, t._extent = s(this._extent), t._rawExtent = s(this
._rawExtent)
}, t.prototype._cloneIndices = function() {
if (this._indices) {
var t = this._indices.constructor,
e = void 0;
if (t === Array) {
var n = this._indices.length;
e = new t(n);
for (var i = 0; n > i; i++) e[i] = this._indices[i]
} else e = new t(this._indices);
return e
}
return null
}, t.prototype._getRawIdxIdentity = function(t) {
return t
}, t.prototype._getRawIdx = function(t) {
return t < this._count && t >= 0 ? this._indices[t] : -1
}, t.prototype._updateGetRawIdx = function() {
this.getRawIndex = this._indices ? this._getRawIdx : this._getRawIdxIdentity
}, t.internalField = function() {
function t(t, e, n, i) {
return Ku(t[i], this._dimensions[i])
}
jT = {
arrayRows: t,
objectRows: function(t, e, n, i) {
return Ku(t[e], this._dimensions[i])
},
keyedColumns: t,
original: function(t, e, n, i) {
var r = t && (null == t.value ? t : t.value);
return Ku(r instanceof Array ? r[i] : r, this._dimensions[i])
},
typedArray: function(t, e, n, i) {
return t[i]
}
}
}(), t
}(),
PC = function() {
function t(t) {
this._sourceList = [], this._storeList = [], this._upstreamSignList = [], this._versionSignBase = 0,
this._dirty = !0, this._sourceHost = t
}
return t.prototype.dirty = function() {
this._setLocalSource([], []), this._storeList = [], this._dirty = !0
}, t.prototype._setLocalSource = function(t, e) {
this._sourceList = t, this._upstreamSignList = e, this._versionSignBase++, this
._versionSignBase > 9e10 && (this._versionSignBase = 0)
}, t.prototype._getVersionSign = function() {
return this._sourceHost.uid + "_" + this._versionSignBase
}, t.prototype.prepareSource = function() {
this._isDirty() && (this._createSource(), this._dirty = !1)
}, t.prototype._createSource = function() {
this._setLocalSource([], []);
var t, e, n = this._sourceHost,
i = this._getUpstreamSourceManagers(),
r = !!i.length;
if (ch(n)) {
var o = n,
a = void 0,
s = void 0,
l = void 0;
if (r) {
var u = i[0];
u.prepareSource(), l = u.getSource(), a = l.data, s = l.sourceFormat, e = [u
._getVersionSign()
]
} else a = o.get("data", !0), s = P(a) ? LT : DT, e = [];
var h = this._getSourceMetaRawOption() || {},
c = l && l.metaRawOption || {},
p = N(h.seriesLayoutBy, c.seriesLayoutBy) || null,
d = N(h.sourceHeader, c.sourceHeader),
f = N(h.dimensions, c.dimensions),
g = p !== c.seriesLayoutBy || !!d != !!c.sourceHeader || f;
t = g ? [Ru(a, {
seriesLayoutBy: p,
sourceHeader: d,
dimensions: f
}, s)] : []
} else {
var v = n;
if (r) {
var y = this._applyTransform(i);
t = y.sourceList, e = y.upstreamSignList
} else {
var m = v.get("source", !0);
t = [Ru(m, this._getSourceMetaRawOption(), null)], e = []
}
}
this._setLocalSource(t, e)
}, t.prototype._applyTransform = function(t) {
var e = this._sourceHost,
n = e.get("transform", !0),
i = e.get("fromTransformResult", !0);
if (null != i) {
var r = "";
1 !== t.length && ph(r)
}
var o, a = [],
s = [];
return v(t, function(t) {
t.prepareSource();
var e = t.getSource(i || 0),
n = "";
null == i || e || ph(n), a.push(e), s.push(t._getVersionSign())
}), n ? o = ih(n, a, {
datasetIndex: e.componentIndex
}) : null != i && (o = [Eu(a[0])]), {
sourceList: o,
upstreamSignList: s
}
}, t.prototype._isDirty = function() {
if (this._dirty) return !0;
for (var t = this._getUpstreamSourceManagers(), e = 0; e < t.length; e++) {
var n = t[e];
if (n._isDirty() || this._upstreamSignList[e] !== n._getVersionSign()) return !0
}
}, t.prototype.getSource = function(t) {
t = t || 0;
var e = this._sourceList[t];
if (!e) {
var n = this._getUpstreamSourceManagers();
return n[0] && n[0].getSource(t)
}
return e
}, t.prototype.getSharedDataStore = function(t) {
var e = t.makeStoreSchema();
return this._innerGetDataStore(e.dimensions, t.source, e.hash)
}, t.prototype._innerGetDataStore = function(t, e, n) {
var i = 0,
r = this._storeList,
o = r[i];
o || (o = r[i] = {});
var a = o[n];
if (!a) {
var s = this._getUpstreamSourceManagers()[0];
ch(this._sourceHost) && s ? a = s._innerGetDataStore(t, e, n) : (a = new AC, a.initData(
new uC(e, t.length), t)), o[n] = a
}
return a
}, t.prototype._getUpstreamSourceManagers = function() {
var t = this._sourceHost;
if (ch(t)) {
var e = Kl(t);
return e ? [e.getSourceManager()] : []
}
return y($l(t), function(t) {
return t.getSourceManager()
})
}, t.prototype._getSourceMetaRawOption = function() {
var t, e, n, i = this._sourceHost;
if (ch(i)) t = i.get("seriesLayoutBy", !0), e = i.get("sourceHeader", !0), n = i.get(
"dimensions", !0);
else if (!this._getUpstreamSourceManagers().length) {
var r = i;
t = r.get("seriesLayoutBy", !0), e = r.get("sourceHeader", !0), n = r.get("dimensions", !0)
}
return {
seriesLayoutBy: t,
sourceHeader: e,
dimensions: n
}
}, t
}(),
LC = "line-height:1",
OC = [0, 10, 20, 30],
RC = ["", "\n", "\n\n", "\n\n\n"],
zC = function() {
function t() {
this.richTextStyles = {}, this._nextStyleNameId = ur()
}
return t.prototype._generateStyleName = function() {
return "__EC_aUTo_" + this._nextStyleNameId++
}, t.prototype.makeTooltipMarker = function(t, e, n) {
var i = "richText" === n ? this._generateStyleName() : null,
r = zl({
color: e,
type: t,
renderMode: n,
markerId: i
});
return C(r) ? r : (this.richTextStyles[i] = r.style, r.content)
}, t.prototype.wrapRichTextStyle = function(t, e) {
var n = {};
M(e) ? v(e, function(t) {
return h(n, t)
}) : h(n, e);
var i = this._generateStyleName();
return this.richTextStyles[i] = n, "{" + i + "|" + t + "}"
}, t
}(),
EC = Or(),
BC = "__universalTransitionEnabled",
NC = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e._selectedDataIndicesMap = {}, e
}
return e(n, t), n.prototype.init = function(t, e, n) {
this.seriesIndex = this.componentIndex, this.dataTask = ju({
count: Rh,
reset: zh
}), this.dataTask.context = {
model: this
}, this.mergeDefaultAndTheme(t, n);
var i = EC(this).sourceManager = new PC(this);
i.prepareSource();
var r = this.getInitialData(t, n);
Bh(r, this), this.dataTask.context.data = r, EC(this).dataBeforeProcessed = r, Lh(this), this
._initSelectedMapFromData(r)
}, n.prototype.mergeDefaultAndTheme = function(t, e) {
var n = Wl(this),
i = n ? Ul(t) : {},
r = this.subType;
wT.hasClass(r) && (r += "Series"), l(t, e.getTheme().get(this.subType)), l(t, this
.getDefaultOption()), gr(t, "label", ["show"]), this.fillDataTextStyle(t.data), n && Gl(
t, i, n)
}, n.prototype.mergeOption = function(t, e) {
t = l(this.option, t, !0), this.fillDataTextStyle(t.data);
var n = Wl(this);
n && Gl(this.option, t, n);
var i = EC(this).sourceManager;
i.dirty(), i.prepareSource();
var r = this.getInitialData(t, e);
Bh(r, this), this.dataTask.dirty(), this.dataTask.context.data = r, EC(this)
.dataBeforeProcessed = r, Lh(this), this._initSelectedMapFromData(r)
}, n.prototype.fillDataTextStyle = function(t) {
if (t && !P(t))
for (var e = ["show"], n = 0; n < t.length; n++) t[n] && t[n].label && gr(t[n], "label", e)
}, n.prototype.getInitialData = function() {}, n.prototype.appendData = function(t) {
var e = this.getRawData();
e.appendData(t.data)
}, n.prototype.getData = function(t) {
var e = Fh(this);
if (e) {
var n = e.context.data;
return null == t ? n : n.getLinkedData(t)
}
return EC(this).data
}, n.prototype.getAllData = function() {
var t = this.getData();
return t && t.getLinkedDataAll ? t.getLinkedDataAll() : [{
data: t
}]
}, n.prototype.setData = function(t) {
var e = Fh(this);
if (e) {
var n = e.context;
n.outputData = t, e !== this.dataTask && (n.data = t)
}
EC(this).data = t
}, n.prototype.getEncode = function() {
var t = this.get("encode", !0);
return t ? Z(t) : void 0
}, n.prototype.getSourceManager = function() {
return EC(this).sourceManager
}, n.prototype.getSource = function() {
return this.getSourceManager().getSource()
}, n.prototype.getRawData = function() {
return EC(this).dataBeforeProcessed
}, n.prototype.getColorBy = function() {
var t = this.get("colorBy");
return t || "series"
}, n.prototype.isColorBySeries = function() {
return "series" === this.getColorBy()
}, n.prototype.getBaseAxis = function() {
var t = this.coordinateSystem;
return t && t.getBaseAxis && t.getBaseAxis()
}, n.prototype.formatTooltip = function(t, e) {
return kh({
series: this,
dataIndex: t,
multipleSeries: e
})
}, n.prototype.isAnimationEnabled = function() {
var t = this.ecModel;
if (Um.node && (!t || !t.ssr)) return !1;
var e = this.getShallow("animation");
return e && this.getData().count() > this.getShallow("animationThreshold") && (e = !1), !!e
}, n.prototype.restoreData = function() {
this.dataTask.dirty()
}, n.prototype.getColorFromPalette = function(t, e, n) {
var i = this.ecModel,
r = VT.prototype.getColorFromPalette.call(this, t, e, n);
return r || (r = i.getColorFromPalette(t, e, n)), r
}, n.prototype.coordDimToDataDim = function(t) {
return this.getRawData().mapDimensionsAll(t)
}, n.prototype.getProgressive = function() {
return this.get("progressive")
}, n.prototype.getProgressiveThreshold = function() {
return this.get("progressiveThreshold")
}, n.prototype.select = function(t, e) {
this._innerSelect(this.getData(e), t)
}, n.prototype.unselect = function(t, e) {
var n = this.option.selectedMap;
if (n) {
var i = this.option.selectedMode,
r = this.getData(e);
if ("series" === i || "all" === n) return this.option.selectedMap = {}, void(this
._selectedDataIndicesMap = {});
for (var o = 0; o < t.length; o++) {
var a = t[o],
s = Ph(r, a);
n[s] = !1, this._selectedDataIndicesMap[s] = -1
}
}
}, n.prototype.toggleSelect = function(t, e) {
for (var n = [], i = 0; i < t.length; i++) n[0] = t[i], this.isSelected(t[i], e) ? this
.unselect(n, e) : this.select(n, e)
}, n.prototype.getSelectedDataIndices = function() {
if ("all" === this.option.selectedMap) return [].slice.call(this.getData().getIndices());
for (var t = this._selectedDataIndicesMap, e = w(t), n = [], i = 0; i < e.length; i++) {
var r = t[e[i]];
r >= 0 && n.push(r)
}
return n
}, n.prototype.isSelected = function(t, e) {
var n = this.option.selectedMap;
if (!n) return !1;
var i = this.getData(e);
return ("all" === n || n[Ph(i, t)]) && !i.getItemModel(t).get(["select", "disabled"])
}, n.prototype.isUniversalTransitionEnabled = function() {
if (this[BC]) return !0;
var t = this.option.universalTransition;
return t ? t === !0 ? !0 : t && t.enabled : !1
}, n.prototype._innerSelect = function(t, e) {
var n, i, r = this.option,
o = r.selectedMode,
a = e.length;
if (o && a)
if ("series" === o) r.selectedMap = "all";
else if ("multiple" === o) {
k(r.selectedMap) || (r.selectedMap = {});
for (var s = r.selectedMap, l = 0; a > l; l++) {
var u = e[l],
h = Ph(t, u);
s[h] = !0, this._selectedDataIndicesMap[h] = t.getRawIndex(u)
}
} else if ("single" === o || o === !0) {
var c = e[a - 1],
h = Ph(t, c);
r.selectedMap = (n = {}, n[h] = !0, n), this._selectedDataIndicesMap = (i = {}, i[h] = t
.getRawIndex(c), i)
}
}, n.prototype._initSelectedMapFromData = function(t) {
if (!this.option.selectedMap) {
var e = [];
t.hasItemOption && t.each(function(n) {
var i = t.getRawDataItem(n);
i && i.selected && e.push(n)
}), e.length > 0 && this._innerSelect(t, e)
}
}, n.registerClass = function(t) {
return wT.registerClass(t)
}, n.protoInitialize = function() {
var t = n.prototype;
t.type = "series.__base__", t.seriesIndex = 0, t.ignoreStyleOnData = !1, t.hasSymbolVisual = !1,
t.defaultSymbol = "circle", t.visualStyleAccessPath = "itemStyle", t.visualDrawType = "fill"
}(), n
}(wT);
f(NC, yC), f(NC, VT), Xr(NC, wT);
var FC = function() {
function t() {
this.group = new ww, this.uid = tl("viewComponent")
}
return t.prototype.init = function() {}, t.prototype.render = function() {}, t.prototype.dispose =
function() {}, t.prototype.updateView = function() {}, t.prototype.updateLayout = function() {}, t
.prototype.updateVisual = function() {}, t.prototype.toggleBlurSeries = function() {}, t.prototype
.eachRendered = function(t) {
var e = this.group;
e && e.traverse(t)
}, t
}();
Ur(FC), Kr(FC);
var VC = Or(),
HC = Vh(),
WC = function() {
function t() {
this.group = new ww, this.uid = tl("viewChart"), this.renderTask = ju({
plan: Gh,
reset: Uh
}), this.renderTask.context = {
view: this
}
}
return t.prototype.init = function() {}, t.prototype.render = function() {}, t.prototype.highlight =
function(t, e, n, i) {
var r = t.getData(i && i.dataType);
r && Wh(r, i, "emphasis")
}, t.prototype.downplay = function(t, e, n, i) {
var r = t.getData(i && i.dataType);
r && Wh(r, i, "normal")
}, t.prototype.remove = function() {
this.group.removeAll()
}, t.prototype.dispose = function() {}, t.prototype.updateView = function(t, e, n, i) {
this.render(t, e, n, i)
}, t.prototype.updateLayout = function(t, e, n, i) {
this.render(t, e, n, i)
}, t.prototype.updateVisual = function(t, e, n, i) {
this.render(t, e, n, i)
}, t.prototype.eachRendered = function(t) {
Hs(this.group, t)
}, t.markUpdateMethod = function(t, e) {
VC(t).updateMethod = e
}, t.protoInitialize = function() {
var e = t.prototype;
e.type = "chart"
}(), t
}();
Ur(WC, ["dispose"]), Kr(WC);
var GC, UC = {
incrementalPrepareRender: {
progress: function(t, e) {
e.view.incrementalRender(t, e.model, e.ecModel, e.api, e.payload)
}
},
render: {
forceFirstProgress: !0,
progress: function(t, e) {
e.view.render(e.model, e.ecModel, e.api, e.payload)
}
}
},
YC = "\x00__throttleOriginMethod",
XC = "\x00__throttleRate",
ZC = "\x00__throttleType",
qC = Or(),
jC = {
itemStyle: $r(UM, !0),
lineStyle: $r(HM, !0)
},
KC = {
lineStyle: "stroke",
itemStyle: "fill"
},
$C = {
createOnAllSeries: !0,
performRawSeries: !0,
reset: function(t, e) {
var n = t.getData(),
i = t.visualStyleAccessPath || "itemStyle",
r = t.getModel(i),
o = qh(t, i),
a = o(r),
s = r.getShallow("decal");
s && (n.setVisual("decal", s), s.dirty = !0);
var l = jh(t, i),
u = a[l],
c = T(u) ? u : null,
p = "auto" === a.fill || "auto" === a.stroke;
if (!a[l] || c || p) {
var d = t.getColorFromPalette(t.name, null, e.getSeriesCount());
a[l] || (a[l] = d, n.setVisual("colorFromPalette", !0)), a.fill = "auto" === a.fill || T(a
.fill) ? d : a.fill, a.stroke = "auto" === a.stroke || T(a.stroke) ? d : a.stroke
}
return n.setVisual("style", a), n.setVisual("drawType", l), !e.isSeriesFiltered(t) && c ? (n
.setVisual("colorFromPalette", !1), {
dataEach: function(e, n) {
var i = t.getDataParams(n),
r = h({}, a);
r[l] = c(i), e.setItemVisual(n, "style", r)
}
}) : void 0
}
},
QC = new ZM,
JC = {
createOnAllSeries: !0,
performRawSeries: !0,
reset: function(t, e) {
if (!t.ignoreStyleOnData && !e.isSeriesFiltered(t)) {
var n = t.getData(),
i = t.visualStyleAccessPath || "itemStyle",
r = qh(t, i),
o = n.getVisual("drawType");
return {
dataEach: n.hasItemOption ? function(t, e) {
var n = t.getRawDataItem(e);
if (n && n[i]) {
QC.option = n[i];
var a = r(QC),
s = t.ensureUniqueItemVisual(e, "style");
h(s, a), QC.option.decal && (t.setItemVisual(e, "decal", QC.option.decal),
QC.option.decal.dirty = !0), o in a && t.setItemVisual(e,
"colorFromPalette", !1)
}
} : null
}
}
}
},
tI = {
performRawSeries: !0,
overallReset: function(t) {
var e = Z();
t.eachSeries(function(t) {
var n = t.getColorBy();
if (!t.isColorBySeries()) {
var i = t.type + "-" + n,
r = e.get(i);
r || (r = {}, e.set(i, r)), qC(t).scope = r
}
}), t.eachSeries(function(e) {
if (!e.isColorBySeries() && !t.isSeriesFiltered(e)) {
var n = e.getRawData(),
i = {},
r = e.getData(),
o = qC(e).scope,
a = e.visualStyleAccessPath || "itemStyle",
s = jh(e, a);
r.each(function(t) {
var e = r.getRawIndex(t);
i[e] = t
}), n.each(function(t) {
var a = i[t],
l = r.getItemVisual(a, "colorFromPalette");
if (l) {
var u = r.ensureUniqueItemVisual(a, "style"),
h = n.getName(t) || t + "",
c = n.count();
u[s] = e.getColorFromPalette(h, o, c)
}
})
}
})
}
},
eI = Math.PI,
nI = function() {
function t(t, e, n, i) {
this._stageTaskMap = Z(), this.ecInstance = t, this.api = e, n = this._dataProcessorHandlers = n
.slice(), i = this._visualHandlers = i.slice(), this._allHandlers = n.concat(i)
}
return t.prototype.restoreData = function(t, e) {
t.restoreData(e), this._stageTaskMap.each(function(t) {
var e = t.overallTask;
e && e.dirty()
})
}, t.prototype.getPerformArgs = function(t, e) {
if (t.__pipeline) {
var n = this._pipelineMap.get(t.__pipeline.id),
i = n.context,
r = !e && n.progressiveEnabled && (!i || i.progressiveRender) && t.__idxInPipeline > n
.blockIndex,
o = r ? n.step : null,
a = i && i.modDataCount,
s = null != a ? Math.ceil(a / o) : null;
return {
step: o,
modBy: s,
modDataCount: a
}
}
}, t.prototype.getPipeline = function(t) {
return this._pipelineMap.get(t)
}, t.prototype.updateStreamModes = function(t, e) {
var n = this._pipelineMap.get(t.uid),
i = t.getData(),
r = i.count(),
o = n.progressiveEnabled && e.incrementalPrepareRender && r >= n.threshold,
a = t.get("large") && r >= t.get("largeThreshold"),
s = "mod" === t.get("progressiveChunkMode") ? r : null;
t.pipelineContext = n.context = {
progressiveRender: o,
modDataCount: s,
large: a
}
}, t.prototype.restorePipelines = function(t) {
var e = this,
n = e._pipelineMap = Z();
t.eachSeries(function(t) {
var i = t.getProgressive(),
r = t.uid;
n.set(r, {
id: r,
head: null,
tail: null,
threshold: t.getProgressiveThreshold(),
progressiveEnabled: i && !(t.preventIncremental && t
.preventIncremental()),
blockIndex: -1,
step: Math.round(i || 700),
count: 0
}), e._pipe(t, t.dataTask)
})
}, t.prototype.prepareStageTasks = function() {
var t = this._stageTaskMap,
e = this.api.getModel(),
n = this.api;
v(this._allHandlers, function(i) {
var r = t.get(i.uid) || t.set(i.uid, {}),
o = "";
W(!(i.reset && i.overallReset), o), i.reset && this._createSeriesStageTask(i, r, e,
n), i.overallReset && this._createOverallStageTask(i, r, e, n)
}, this)
}, t.prototype.prepareView = function(t, e, n, i) {
var r = t.renderTask,
o = r.context;
o.model = e, o.ecModel = n, o.api = i, r.__block = !t.incrementalPrepareRender, this._pipe(e, r)
}, t.prototype.performDataProcessorTasks = function(t, e) {
this._performStageTasks(this._dataProcessorHandlers, t, e, {
block: !0
})
}, t.prototype.performVisualTasks = function(t, e, n) {
this._performStageTasks(this._visualHandlers, t, e, n)
}, t.prototype._performStageTasks = function(t, e, n, i) {
function r(t, e) {
return t.setDirty && (!t.dirtyMap || t.dirtyMap.get(e.__pipeline.id))
}
i = i || {};
var o = !1,
a = this;
v(t, function(t) {
if (!i.visualType || i.visualType === t.visualType) {
var s = a._stageTaskMap.get(t.uid),
l = s.seriesTaskMap,
u = s.overallTask;
if (u) {
var h, c = u.agentStubMap;
c.each(function(t) {
r(i, t) && (t.dirty(), h = !0)
}), h && u.dirty(), a.updatePayload(u, n);
var p = a.getPerformArgs(u, i.block);
c.each(function(t) {
t.perform(p)
}), u.perform(p) && (o = !0)
} else l && l.each(function(s) {
r(i, s) && s.dirty();
var l = a.getPerformArgs(s, i.block);
l.skip = !t.performRawSeries && e.isSeriesFiltered(s.context.model),
a.updatePayload(s, n), s.perform(l) && (o = !0)
})
}
}), this.unfinished = o || this.unfinished
}, t.prototype.performSeriesTasks = function(t) {
var e;
t.eachSeries(function(t) {
e = t.dataTask.perform() || e
}), this.unfinished = e || this.unfinished
}, t.prototype.plan = function() {
this._pipelineMap.each(function(t) {
var e = t.tail;
do {
if (e.__block) {
t.blockIndex = e.__idxInPipeline;
break
}
e = e.getUpstream()
} while (e)
})
}, t.prototype.updatePayload = function(t, e) {
"remain" !== e && (t.context.payload = e)
}, t.prototype._createSeriesStageTask = function(t, e, n, i) {
function r(e) {
var r = e.uid,
l = s.set(r, a && a.get(r) || ju({
plan: ec,
reset: nc,
count: rc
}));
l.context = {
model: e,
ecModel: n,
api: i,
useClearVisual: t.isVisual && !t.isLayout,
plan: t.plan,
reset: t.reset,
scheduler: o
}, o._pipe(e, l)
}
var o = this,
a = e.seriesTaskMap,
s = e.seriesTaskMap = Z(),
l = t.seriesType,
u = t.getTargetSeries;
t.createOnAllSeries ? n.eachRawSeries(r) : l ? n.eachRawSeriesByType(l, r) : u && u(n, i).each(
r)
}, t.prototype._createOverallStageTask = function(t, e, n, i) {
function r(t) {
var e = t.uid,
n = l.set(e, s && s.get(e) || (p = !0, ju({
reset: Qh,
onDirty: tc
})));
n.context = {
model: t,
overallProgress: c
}, n.agent = a, n.__block = c, o._pipe(t, n)
}
var o = this,
a = e.overallTask = e.overallTask || ju({
reset: $h
});
a.context = {
ecModel: n,
api: i,
overallReset: t.overallReset,
scheduler: o
};
var s = a.agentStubMap,
l = a.agentStubMap = Z(),
u = t.seriesType,
h = t.getTargetSeries,
c = !0,
p = !1,
d = "";
W(!t.createOnAllSeries, d), u ? n.eachRawSeriesByType(u, r) : h ? h(n, i).each(r) : (c = !1, v(n
.getSeries(), r)), p && a.dirty()
}, t.prototype._pipe = function(t, e) {
var n = t.uid,
i = this._pipelineMap.get(n);
!i.head && (i.head = e), i.tail && i.tail.pipe(e), i.tail = e, e.__idxInPipeline = i.count++, e
.__pipeline = i
}, t.wrapStageHandler = function(t, e) {
return T(t) && (t = {
overallReset: t,
seriesType: oc(t)
}), t.uid = tl("stageHandler"), e && (t.visualType = e), t
}, t
}(),
iI = ic(0),
rI = {},
oI = {};
ac(rI, GT), ac(oI, $T), rI.eachSeriesByType = rI.eachRawSeriesByType = function(t) {
GC = t
}, rI.eachComponent = function(t) {
"series" === t.mainType && t.subType && (GC = t.subType)
};
var aI = ["#37A2DA", "#32C5E9", "#67E0E3", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#E062AE", "#E690D1",
"#e7bcf3", "#9d96f5", "#8378EA", "#96BFFF"
],
sI = {
color: aI,
colorLayer: [
["#37A2DA", "#ffd85c", "#fd7b5f"],
["#37A2DA", "#67E0E3", "#FFDB5C", "#ff9f7f", "#E062AE", "#9d96f5"],
["#37A2DA", "#32C5E9", "#9FE6B8", "#FFDB5C", "#ff9f7f", "#fb7293", "#e7bcf3", "#8378EA",
"#96BFFF"
], aI
]
},
lI = "#B9B8CE",
uI = "#100C2A",
hI = function() {
return {
axisLine: {
lineStyle: {
color: lI
}
},
splitLine: {
lineStyle: {
color: "#484753"
}
},
splitArea: {
areaStyle: {
color: ["rgba(255,255,255,0.02)", "rgba(255,255,255,0.05)"]
}
},
minorSplitLine: {
lineStyle: {
color: "#20203B"
}
}
}
},
cI = ["#4992ff", "#7cffb2", "#fddd60", "#ff6e76", "#58d9f9", "#05c091", "#ff8a45", "#8d48e3", "#dd79ff"],
pI = {
darkMode: !0,
color: cI,
backgroundColor: uI,
axisPointer: {
lineStyle: {
color: "#817f91"
},
crossStyle: {
color: "#817f91"
},
label: {
color: "#fff"
}
},
legend: {
textStyle: {
color: lI
}
},
textStyle: {
color: lI
},
title: {
textStyle: {
color: "#EEF1FA"
},
subtextStyle: {
color: "#B9B8CE"
}
},
toolbox: {
iconStyle: {
borderColor: lI
}
},
dataZoom: {
borderColor: "#71708A",
textStyle: {
color: lI
},
brushStyle: {
color: "rgba(135,163,206,0.3)"
},
handleStyle: {
color: "#353450",
borderColor: "#C5CBE3"
},
moveHandleStyle: {
color: "#B0B6C3",
opacity: .3
},
fillerColor: "rgba(135,163,206,0.2)",
emphasis: {
handleStyle: {
borderColor: "#91B7F2",
color: "#4D587D"
},
moveHandleStyle: {
color: "#636D9A",
opacity: .7
}
},
dataBackground: {
lineStyle: {
color: "#71708A",
width: 1
},
areaStyle: {
color: "#71708A"
}
},
selectedDataBackground: {
lineStyle: {
color: "#87A3CE"
},
areaStyle: {
color: "#87A3CE"
}
}
},
visualMap: {
textStyle: {
color: lI
}
},
timeline: {
lineStyle: {
color: lI
},
label: {
color: lI
},
controlStyle: {
color: lI,
borderColor: lI
}
},
calendar: {
itemStyle: {
color: uI
},
dayLabel: {
color: lI
},
monthLabel: {
color: lI
},
yearLabel: {
color: lI
}
},
timeAxis: hI(),
logAxis: hI(),
valueAxis: hI(),
categoryAxis: hI(),
line: {
symbol: "circle"
},
graph: {
color: cI
},
gauge: {
title: {
color: lI
},
axisLine: {
lineStyle: {
color: [
[1, "rgba(207,212,219,0.2)"]
]
}
},
axisLabel: {
color: lI
},
detail: {
color: "#EEF1FA"
}
},
candlestick: {
itemStyle: {
color: "#f64e56",
color0: "#54ea92",
borderColor: "#f64e56",
borderColor0: "#54ea92"
}
}
};
pI.categoryAxis.splitLine.show = !1;
var dI = function() {
function t() {}
return t.prototype.normalizeQuery = function(t) {
var e = {},
n = {},
i = {};
if (C(t)) {
var r = Hr(t);
e.mainType = r.main || null, e.subType = r.sub || null
} else {
var o = ["Index", "Name", "Id"],
a = {
name: 1,
dataIndex: 1,
dataType: 1
};
v(t, function(t, r) {
for (var s = !1, l = 0; l < o.length; l++) {
var u = o[l],
h = r.lastIndexOf(u);
if (h > 0 && h === r.length - u.length) {
var c = r.slice(0, h);
"data" !== c && (e.mainType = c, e[u.toLowerCase()] = t, s = !0)
}
}
a.hasOwnProperty(r) && (n[r] = t, s = !0), s || (i[r] = t)
})
}
return {
cptQuery: e,
dataQuery: n,
otherQuery: i
}
}, t.prototype.filter = function(t, e) {
function n(t, e, n, i) {
return null == t[n] || e[i || n] === t[n]
}
var i = this.eventInfo;
if (!i) return !0;
var r = i.targetEl,
o = i.packedEvent,
a = i.model,
s = i.view;
if (!a || !s) return !0;
var l = e.cptQuery,
u = e.dataQuery;
return n(l, a, "mainType") && n(l, a, "subType") && n(l, a, "index", "componentIndex") && n(l,
a, "name") && n(l, a, "id") && n(u, o, "name") && n(u, o, "dataIndex") && n(u, o,
"dataType") && (!s.filterForExposedEvent || s.filterForExposedEvent(t, e.otherQuery, r,
o))
}, t.prototype.afterTrigger = function() {
this.eventInfo = null
}, t
}(),
fI = ["symbol", "symbolSize", "symbolRotate", "symbolOffset"],
gI = fI.concat(["symbolKeepAspect"]),
vI = {
createOnAllSeries: !0,
performRawSeries: !0,
reset: function(t, e) {
function n(e, n) {
for (var i = t.getRawValue(n), r = t.getDataParams(n), a = 0; a < c.length; a++) {
var s = c[a];
e.setItemVisual(n, s, o[s](i, r))
}
}
var i = t.getData();
if (t.legendIcon && i.setVisual("legendIcon", t.legendIcon), t.hasSymbolVisual) {
for (var r = {}, o = {}, a = !1, s = 0; s < fI.length; s++) {
var l = fI[s],
u = t.get(l);
T(u) ? (a = !0, o[l] = u) : r[l] = u
}
if (r.symbol = r.symbol || t.defaultSymbol, i.setVisual(h({
legendIcon: t.legendIcon || r.symbol,
symbolKeepAspect: t.get("symbolKeepAspect")
}, r)), !e.isSeriesFiltered(t)) {
var c = w(o);
return {
dataEach: a ? n : null
}
}
}
}
},
yI = {
createOnAllSeries: !0,
performRawSeries: !0,
reset: function(t, e) {
function n(t, e) {
for (var n = t.getItemModel(e), i = 0; i < gI.length; i++) {
var r = gI[i],
o = n.getShallow(r, !0);
null != o && t.setItemVisual(e, r, o)
}
}
if (t.hasSymbolVisual && !e.isSeriesFiltered(t)) {
var i = t.getData();
return {
dataEach: i.hasItemOption ? n : null
}
}
}
},
mI = Math.round(9 * Math.random()),
_I = "function" == typeof Object.defineProperty,
xI = function() {
function t() {
this._id = "__ec_inner_" + mI++
}
return t.prototype.get = function(t) {
return this._guard(t)[this._id]
}, t.prototype.set = function(t, e) {
var n = this._guard(t);
return _I ? Object.defineProperty(n, this._id, {
value: e,
enumerable: !1,
configurable: !0
}) : n[this._id] = e, this
}, t.prototype["delete"] = function(t) {
return this.has(t) ? (delete this._guard(t)[this._id], !0) : !1
}, t.prototype.has = function(t) {
return !!this._guard(t)[this._id]
}, t.prototype._guard = function(t) {
if (t !== Object(t)) throw TypeError("Value of WeakMap is not a non-null object.");
return t
}, t
}(),
wI = Hb.extend({
type: "triangle",
shape: {
cx: 0,
cy: 0,
width: 0,
height: 0
},
buildPath: function(t, e) {
var n = e.cx,
i = e.cy,
r = e.width / 2,
o = e.height / 2;
t.moveTo(n, i - o), t.lineTo(n + r, i + o), t.lineTo(n - r, i + o), t.closePath()
}
}),
bI = Hb.extend({
type: "diamond",
shape: {
cx: 0,
cy: 0,
width: 0,
height: 0
},
buildPath: function(t, e) {
var n = e.cx,
i = e.cy,
r = e.width / 2,
o = e.height / 2;
t.moveTo(n, i - o), t.lineTo(n + r, i), t.lineTo(n, i + o), t.lineTo(n - r, i), t
.closePath()
}
}),
SI = Hb.extend({
type: "pin",
shape: {
x: 0,
y: 0,
width: 0,
height: 0
},
buildPath: function(t, e) {
var n = e.x,
i = e.y,
r = e.width / 5 * 3,
o = Math.max(r, e.height),
a = r / 2,
s = a * a / (o - a),
l = i - o + a + s,
u = Math.asin(s / a),
h = Math.cos(u) * a,
c = Math.sin(u),
p = Math.cos(u),
d = .6 * a,
f = .7 * a;
t.moveTo(n - h, l + s), t.arc(n, l, a, Math.PI - u, 2 * Math.PI + u), t.bezierCurveTo(n +
h - c * d, l + s + p * d, n, i - f, n, i), t.bezierCurveTo(n, i - f, n - h + c * d,
l + s + p * d, n - h, l + s), t.closePath()
}
}),
MI = Hb.extend({
type: "arrow",
shape: {
x: 0,
y: 0,
width: 0,
height: 0
},
buildPath: function(t, e) {
var n = e.height,
i = e.width,
r = e.x,
o = e.y,
a = i / 3 * 2;
t.moveTo(r, o), t.lineTo(r + a, o + n), t.lineTo(r, o + n / 4 * 3), t.lineTo(r - a, o + n),
t.lineTo(r, o), t.closePath()
}
}),
TI = {
line: sM,
rect: Kb,
roundRect: Kb,
square: Kb,
circle: BS,
diamond: bI,
pin: SI,
arrow: MI,
triangle: wI
},
CI = {
line: function(t, e, n, i, r) {
r.x1 = t, r.y1 = e + i / 2, r.x2 = t + n, r.y2 = e + i / 2
},
rect: function(t, e, n, i, r) {
r.x = t, r.y = e, r.width = n, r.height = i
},
roundRect: function(t, e, n, i, r) {
r.x = t, r.y = e, r.width = n, r.height = i, r.r = Math.min(n, i) / 4
},
square: function(t, e, n, i, r) {
var o = Math.min(n, i);
r.x = t, r.y = e, r.width = o, r.height = o
},
circle: function(t, e, n, i, r) {
r.cx = t + n / 2, r.cy = e + i / 2, r.r = Math.min(n, i) / 2
},
diamond: function(t, e, n, i, r) {
r.cx = t + n / 2, r.cy = e + i / 2, r.width = n, r.height = i
},
pin: function(t, e, n, i, r) {
r.x = t + n / 2, r.y = e + i / 2, r.width = n, r.height = i
},
arrow: function(t, e, n, i, r) {
r.x = t + n / 2, r.y = e + i / 2, r.width = n, r.height = i
},
triangle: function(t, e, n, i, r) {
r.cx = t + n / 2, r.cy = e + i / 2, r.width = n, r.height = i
}
},
II = {};
v(TI, function(t, e) {
II[e] = new t
});
var DI = Hb.extend({
type: "symbol",
shape: {
symbolType: "",
x: 0,
y: 0,
width: 0,
height: 0
},
calculateTextPosition: function(t, e, n) {
var i = Ii(t, e, n),
r = this.shape;
return r && "pin" === r.symbolType && "inside" === e.position && (i.y = n.y + .4 * n
.height), i
},
buildPath: function(t, e, n) {
var i = e.symbolType;
if ("none" !== i) {
var r = II[i];
r || (i = "rect", r = II[i]), CI[i](e.x, e.y, e.width, e.height, r.shape), r.buildPath(
t, r.shape, n)
}
}
}),
kI = new Ab(!0),
AI = ["shadowBlur", "shadowOffsetX", "shadowOffsetY"],
PI = [
["lineCap", "butt"],
["lineJoin", "miter"],
["miterLimit", 10]
],
LI = 1,
OI = 2,
RI = 3,
zI = 4,
EI = new xI,
BI = new Tx(100),
NI = ["symbol", "symbolSize", "symbolKeepAspect", "color", "backgroundColor", "dashArrayX", "dashArrayY",
"maxTileWidth", "maxTileHeight"
],
FI = new C_,
VI = {},
HI = "5.4.3",
WI = {
zrender: "5.4.4"
},
GI = 1,
UI = 800,
YI = 900,
XI = 1e3,
ZI = 2e3,
qI = 5e3,
jI = 1e3,
KI = 1100,
$I = 2e3,
QI = 3e3,
JI = 4e3,
tD = 4500,
eD = 4600,
nD = 5e3,
iD = 6e3,
rD = 7e3,
oD = {
PROCESSOR: {
FILTER: XI,
SERIES_FILTER: UI,
STATISTIC: qI
},
VISUAL: {
LAYOUT: jI,
PROGRESSIVE_LAYOUT: KI,
GLOBAL: $I,
CHART: QI,
POST_CHART_LAYOUT: eD,
COMPONENT: JI,
BRUSH: nD,
CHART_ITEM: tD,
ARIA: iD,
DECAL: rD
}
},
aD = "__flagInMainProcess",
sD = "__pendingUpdate",
lD = "__needsUpdateStatus",
uD = /^[a-zA-Z0-9_]+$/,
hD = "__connectUpdateStatus",
cD = 0,
pD = 1,
dD = 2,
fD = function(t) {
function n() {
return null !== t && t.apply(this, arguments) || this
}
return e(n, t), n
}(C_),
gD = fD.prototype;
gD.on = ip("on"), gD.off = ip("off");
var vD, yD, mD, _D, xD, wD, bD, SD, MD, TD, CD, ID, DD, kD, AD, PD, LD, OD, RD = function(t) {
function n(e, n, i) {
function r(t, e) {
return t.__prio - e.__prio
}
var o = t.call(this, new dI) || this;
o._chartsViews = [], o._chartsMap = {}, o._componentsViews = [], o._componentsMap = {}, o
._pendingActions = [], i = i || {}, C(n) && (n = WD[n]), o._dom = e;
var a = "canvas",
l = "auto",
u = !1,
h = o._zr = Bi(e, {
renderer: i.renderer || a,
devicePixelRatio: i.devicePixelRatio,
width: i.width,
height: i.height,
ssr: i.ssr,
useDirtyRect: N(i.useDirtyRect, u),
useCoarsePointer: N(i.useCoarsePointer, l),
pointerSize: i.pointerSize
});
o._ssr = i.ssr, o._throttledZrFlush = Yh(p_(h.flush, h), 17), n = s(n), n && Au(n, !0), o._theme =
n, o._locale = ol(i.locale || nT), o._coordSysMgr = new JT;
var c = o._api = AD(o);
return an(HD, r), an(FD, r), o._scheduler = new nI(o, c, FD, HD), o._messageCenter = new fD, o
._initEvents(), o.resize = p_(o.resize, o), h.animation.on("frame", o._onframe, o), TD(h, o),
CD(h, o), U(o), o
}
return e(n, t), n.prototype._onframe = function() {
if (!this._disposed) {
OD(this);
var t = this._scheduler;
if (this[sD]) {
var e = this[sD].silent;
this[aD] = !0;
try {
vD(this), _D.update.call(this, null, this[sD].updateParams)
} catch (n) {
throw this[aD] = !1, this[sD] = null, n
}
this._zr.flush(), this[aD] = !1, this[sD] = null, SD.call(this, e), MD.call(this, e)
} else if (t.unfinished) {
var i = GI,
r = this._model,
o = this._api;
t.unfinished = !1;
do {
var a = +new Date;
t.performSeriesTasks(r), t.performDataProcessorTasks(r), wD(this, r), t
.performVisualTasks(r), kD(this, this._model, o, "remain", {}), i -= +new Date -
a
} while (i > 0 && t.unfinished);
t.unfinished || this._zr.flush()
}
}
}, n.prototype.getDom = function() {
return this._dom
}, n.prototype.getId = function() {
return this.id
}, n.prototype.getZr = function() {
return this._zr
}, n.prototype.isSSR = function() {
return this._ssr
}, n.prototype.setOption = function(t, e, n) {
if (!this[aD] && !this._disposed) {
var i, r, o;
if (k(e) && (n = e.lazyUpdate, i = e.silent, r = e.replaceMerge, o = e.transition, e = e
.notMerge), this[aD] = !0, !this._model || e) {
var a = new eC(this._api),
s = this._theme,
l = this._model = new GT;
l.scheduler = this._scheduler, l.ssr = this._ssr, l.init(null, null, null, s, this
._locale, a)
}
this._model.setOption(t, {
replaceMerge: r
}, VD);
var u = {
seriesTransition: o,
optionChanged: !0
};
if (n) this[sD] = {
silent: i,
updateParams: u
}, this[aD] = !1, this.getZr().wakeUp();
else {
try {
vD(this), _D.update.call(this, null, u)
} catch (h) {
throw this[sD] = null, this[aD] = !1, h
}
this._ssr || this._zr.flush(), this[sD] = null, this[aD] = !1, SD.call(this, i), MD
.call(this, i)
}
}
}, n.prototype.setTheme = function() {}, n.prototype.getModel = function() {
return this._model
}, n.prototype.getOption = function() {
return this._model && this._model.getOption()
}, n.prototype.getWidth = function() {
return this._zr.getWidth()
}, n.prototype.getHeight = function() {
return this._zr.getHeight()
}, n.prototype.getDevicePixelRatio = function() {
return this._zr.painter.dpr || Um.hasGlobalWindow && window.devicePixelRatio || 1
}, n.prototype.getRenderedCanvas = function(t) {
return this.renderToCanvas(t)
}, n.prototype.renderToCanvas = function(t) {
t = t || {};
var e = this._zr.painter;
return e.getRenderedCanvas({
backgroundColor: t.backgroundColor || this._model.get("backgroundColor"),
pixelRatio: t.pixelRatio || this.getDevicePixelRatio()
})
}, n.prototype.renderToSVGString = function(t) {
t = t || {};
var e = this._zr.painter;
return e.renderToString({
useViewBox: t.useViewBox
})
}, n.prototype.getSvgDataURL = function() {
if (Um.svgSupported) {
var t = this._zr,
e = t.storage.getDisplayList();
return v(e, function(t) {
t.stopAnimation(null, !0)
}), t.painter.toDataURL()
}
}, n.prototype.getDataURL = function(t) {
if (!this._disposed) {
t = t || {};
var e = t.excludeComponents,
n = this._model,
i = [],
r = this;
v(e, function(t) {
n.eachComponent({
mainType: t
}, function(t) {
var e = r._componentsMap[t.__viewId];
e.group.ignore || (i.push(e), e.group.ignore = !0)
})
});
var o = "svg" === this._zr.painter.getType() ? this.getSvgDataURL() : this.renderToCanvas(t)
.toDataURL("image/" + (t && t.type || "png"));
return v(i, function(t) {
t.group.ignore = !1
}), o
}
}, n.prototype.getConnectedDataURL = function(t) {
if (!this._disposed) {
var e = "svg" === t.type,
n = this.group,
i = Math.min,
r = Math.max,
o = 1 / 0;
if (YD[n]) {
var a = o,
l = o,
u = -o,
h = -o,
c = [],
p = t && t.pixelRatio || this.getDevicePixelRatio();
v(UD, function(o) {
if (o.group === n) {
var p = e ? o.getZr().painter.getSvgDom().innerHTML : o.renderToCanvas(
s(t)),
d = o.getDom().getBoundingClientRect();
a = i(d.left, a), l = i(d.top, l), u = r(d.right, u), h = r(d.bottom,
h), c.push({
dom: p,
left: d.left,
top: d.top
})
}
}), a *= p, l *= p, u *= p, h *= p;
var d = u - a,
f = h - l,
g = Qm.createCanvas(),
y = Bi(g, {
renderer: e ? "svg" : "canvas"
});
if (y.resize({
width: d,
height: f
}), e) {
var m = "";
return v(c, function(t) {
var e = t.left - a,
n = t.top - l;
m += '' + t.dom + ""
}), y.painter.getSvgRoot().innerHTML = m, t.connectedBackgroundColor && y
.painter.setBackgroundColor(t.connectedBackgroundColor), y.refreshImmediately(),
y.painter.toDataURL()
}
return t.connectedBackgroundColor && y.add(new Kb({
shape: {
x: 0,
y: 0,
width: d,
height: f
},
style: {
fill: t.connectedBackgroundColor
}
})), v(c, function(t) {
var e = new Xb({
style: {
x: t.left * p - a,
y: t.top * p - l,
image: t.dom
}
});
y.add(e)
}), y.refreshImmediately(), g.toDataURL("image/" + (t && t.type || "png"))
}
return this.getDataURL(t)
}
}, n.prototype.convertToPixel = function(t, e) {
return xD(this, "convertToPixel", t, e)
}, n.prototype.convertFromPixel = function(t, e) {
return xD(this, "convertFromPixel", t, e)
}, n.prototype.containPixel = function(t, e) {
if (!this._disposed) {
var n, i = this._model,
r = Rr(i, t);
return v(r, function(t, i) {
i.indexOf("Models") >= 0 && v(t, function(t) {
var r = t.coordinateSystem;
if (r && r.containPoint) n = n || !!r.containPoint(e);
else if ("seriesModels" === i) {
var o = this._chartsMap[t.__viewId];
o && o.containPoint && (n = n || o.containPoint(e, t))
}
}, this)
}, this), !!n
}
}, n.prototype.getVisual = function(t, e) {
var n = this._model,
i = Rr(n, t, {
defaultMainType: "series"
}),
r = i.seriesModel,
o = r.getData(),
a = i.hasOwnProperty("dataIndexInside") ? i.dataIndexInside : i.hasOwnProperty(
"dataIndex") ? o.indexOfRawIndex(i.dataIndex) : null;
return null != a ? sc(o, a, e) : lc(o, e)
}, n.prototype.getViewOfComponentModel = function(t) {
return this._componentsMap[t.__viewId]
}, n.prototype.getViewOfSeriesModel = function(t) {
return this._chartsMap[t.__viewId]
}, n.prototype._initEvents = function() {
var t = this;
v(ED, function(e) {
var n = function(n) {
var i, r = t.getModel(),
o = n.target,
a = "globalout" === e;
if (a ? i = {} : o && pc(o, function(t) {
var e = rS(t);
if (e && null != e.dataIndex) {
var n = e.dataModel || r.getSeriesByIndex(e.seriesIndex);
return i = n && n.getDataParams(e.dataIndex, e.dataType,
o) || {}, !0
}
return e.eventData ? (i = h({}, e.eventData), !0) : void 0
}, !0), i) {
var s = i.componentType,
l = i.componentIndex;
("markLine" === s || "markPoint" === s || "markArea" === s) && (s =
"series", l = i.seriesIndex);
var u = s && null != l && r.getComponent(s, l),
c = u && t["series" === u.mainType ? "_chartsMap" :
"_componentsMap"][u.__viewId];
i.event = n, i.type = e, t._$eventProcessor.eventInfo = {
targetEl: o,
packedEvent: i,
model: u,
view: c
}, t.trigger(e, i)
}
};
n.zrEventfulCallAtLast = !0, t._zr.on(e, n, t)
}), v(ND, function(e, n) {
t._messageCenter.on(n, function(t) {
this.trigger(n, t)
}, t)
}), v(["selectchanged"], function(e) {
t._messageCenter.on(e, function(t) {
this.trigger(e, t)
}, t)
}), cc(this._messageCenter, this, this._api)
}, n.prototype.isDisposed = function() {
return this._disposed
}, n.prototype.clear = function() {
this._disposed || this.setOption({
series: []
}, !0)
}, n.prototype.dispose = function() {
if (!this._disposed) {
this._disposed = !0;
var t = this.getDom();
t && Br(this.getDom(), qD, "");
var e = this,
n = e._api,
i = e._model;
v(e._componentsViews, function(t) {
t.dispose(i, n)
}), v(e._chartsViews, function(t) {
t.dispose(i, n)
}), e._zr.dispose(), e._dom = e._model = e._chartsMap = e._componentsMap = e
._chartsViews = e._componentsViews = e._scheduler = e._api = e._zr = e
._throttledZrFlush = e._theme = e._coordSysMgr = e._messageCenter = null, delete UD[e
.id]
}
}, n.prototype.resize = function(t) {
if (!this[aD] && !this._disposed) {
this._zr.resize(t);
var e = this._model;
if (this._loadingFX && this._loadingFX.resize(), e) {
var n = e.resetOption("media"),
i = t && t.silent;
this[sD] && (null == i && (i = this[sD].silent), n = !0, this[sD] = null), this[aD] = !
0;
try {
n && vD(this), _D.update.call(this, {
type: "resize",
animation: h({
duration: 0
}, t && t.animation)
})
} catch (r) {
throw this[aD] = !1, r
}
this[aD] = !1, SD.call(this, i), MD.call(this, i)
}
}
}, n.prototype.showLoading = function(t, e) {
if (!this._disposed && (k(t) && (e = t, t = ""), t = t || "default", this.hideLoading(), GD[
t])) {
var n = GD[t](this._api, e),
i = this._zr;
this._loadingFX = n, i.add(n)
}
}, n.prototype.hideLoading = function() {
this._disposed || (this._loadingFX && this._zr.remove(this._loadingFX), this._loadingFX = null)
}, n.prototype.makeActionFromEvent = function(t) {
var e = h({}, t);
return e.type = ND[t.type], e
}, n.prototype.dispatchAction = function(t, e) {
if (!this._disposed && (k(e) || (e = {
silent: !!e
}), BD[t.type] && this._model)) {
if (this[aD]) return void this._pendingActions.push(t);
var n = e.silent;
bD.call(this, t, n);
var i = e.flush;
i ? this._zr.flush() : i !== !1 && Um.browser.weChat && this._throttledZrFlush(), SD.call(
this, n), MD.call(this, n)
}
}, n.prototype.updateLabelLayout = function() {
FI.trigger("series:layoutlabels", this._model, this._api, {
updatedSeries: []
})
}, n.prototype.appendData = function(t) {
if (!this._disposed) {
var e = t.seriesIndex,
n = this.getModel(),
i = n.getSeriesByIndex(e);
i.appendData(t), this._scheduler.unfinished = !0, this.getZr().wakeUp()
}
}, n.internalField = function() {
function t(t) {
t.clearColorPalette(), t.eachSeries(function(t) {
t.clearColorPalette()
})
}
function n(t) {
var e = [],
n = [],
i = !1;
if (t.eachComponent(function(t, r) {
var o = r.get("zlevel") || 0,
a = r.get("z") || 0,
s = r.getZLevelKey();
i = i || !!s, ("series" === t ? n : e).push({
zlevel: o,
z: a,
idx: r.componentIndex,
type: t,
key: s
})
}), i) {
var r, o, a = e.concat(n);
an(a, function(t, e) {
return t.zlevel === e.zlevel ? t.z - e.z : t.zlevel - e.zlevel
}), v(a, function(e) {
var n = t.getComponent(e.type, e.idx),
i = e.zlevel,
a = e.key;
null != r && (i = Math.max(r, i)), a ? (i === r && a !== o && i++, o = a) :
o && (i === r && i++, o = ""), r = i, n.setZLevel(i)
})
}
}
function i(t) {
for (var e = [], n = t.currentStates, i = 0; i < n.length; i++) {
var r = n[i];
"emphasis" !== r && "blur" !== r && "select" !== r && e.push(r)
}
t.selected && t.states.select && e.push("select"), t.hoverState === pS && t.states
.emphasis ? e.push("emphasis") : t.hoverState === cS && t.states.blur && e.push("blur"),
t.useStates(e)
}
function r(t, e) {
var n = t._zr,
i = n.storage,
r = 0;
i.traverse(function(t) {
t.isGroup || r++
}), r > e.get("hoverLayerThreshold") && !Um.node && !Um.worker && e.eachSeries(function(
e) {
if (!e.preventUsingHoverLayer) {
var n = t._chartsMap[e.__viewId];
n.__alive && n.eachRendered(function(t) {
t.states.emphasis && (t.states.emphasis.hoverLayer = !0)
})
}
})
}
function o(t, e) {
var n = t.get("blendMode") || null;
e.eachRendered(function(t) {
t.isGroup || (t.style.blend = n)
})
}
function a(t, e) {
if (!t.preventAutoZ) {
var n = t.get("z") || 0,
i = t.get("zlevel") || 0;
e.eachRendered(function(t) {
return s(t, n, i, -1 / 0), !0
})
}
}
function s(t, e, n, i) {
var r = t.getTextContent(),
o = t.getTextGuideLine(),
a = t.isGroup;
if (a)
for (var l = t.childrenRef(), u = 0; u < l.length; u++) i = Math.max(s(l[u], e, n, i),
i);
else t.z = e, t.zlevel = n, i = Math.max(t.z2, i);
if (r && (r.z = e, r.zlevel = n, isFinite(i) && (r.z2 = i + 2)), o) {
var h = t.textGuideLineConfig;
o.z = e, o.zlevel = n, isFinite(i) && (o.z2 = i + (h && h.showAbove ? 1 : -1))
}
return i
}
function l(t, e) {
e.eachRendered(function(t) {
if (!cs(t)) {
var e = t.getTextContent(),
n = t.getTextGuideLine();
t.stateTransition && (t.stateTransition = null), e && e.stateTransition && (
e.stateTransition = null), n && n.stateTransition && (n
.stateTransition = null), t.hasState() ? (t.prevStates = t
.currentStates, t.clearStates()) : t.prevStates && (t.prevStates =
null)
}
})
}
function u(t, e) {
var n = t.getModel("stateAnimation"),
r = t.isAnimationEnabled(),
o = n.get("duration"),
a = o > 0 ? {
duration: o,
delay: n.get("delay"),
easing: n.get("easing")
} : null;
e.eachRendered(function(t) {
if (t.states && t.states.emphasis) {
if (cs(t)) return;
if (t instanceof Hb && Wa(t), t.__dirty) {
var e = t.prevStates;
e && t.useStates(e)
}
if (r) {
t.stateTransition = a;
var n = t.getTextContent(),
o = t.getTextGuideLine();
n && (n.stateTransition = a), o && (o.stateTransition = a)
}
t.__dirty && i(t)
}
})
}
vD = function(t) {
var e = t._scheduler;
e.restorePipelines(t._model), e.prepareStageTasks(), yD(t, !0), yD(t, !1), e.plan()
}, yD = function(t, e) {
function n(t) {
var n = t.__requireNewView;
t.__requireNewView = !1;
var u = "_ec_" + t.id + "_" + t.type,
h = !n && a[u];
if (!h) {
var c = Hr(t.type),
p = e ? FC.getClass(c.main, c.sub) : WC.getClass(c.sub);
h = new p, h.init(i, l), a[u] = h, o.push(h), s.add(h.group)
}
t.__viewId = h.__id = u, h.__alive = !0, h.__model = t, h.group
.__ecComponentInfo = {
mainType: t.mainType,
index: t.componentIndex
}, !e && r.prepareView(h, t, i, l)
}
for (var i = t._model, r = t._scheduler, o = e ? t._componentsViews : t._chartsViews,
a = e ? t._componentsMap : t._chartsMap, s = t._zr, l = t._api, u = 0; u < o
.length; u++) o[u].__alive = !1;
e ? i.eachComponent(function(t, e) {
"series" !== t && n(e)
}) : i.eachSeries(n);
for (var u = 0; u < o.length;) {
var h = o[u];
h.__alive ? u++ : (!e && h.renderTask.dispose(), s.remove(h.group), h.dispose(i, l),
o.splice(u, 1), a[h.__id] === h && delete a[h.__id], h.__id = h.group
.__ecComponentInfo = null)
}
}, mD = function(t, e, n, i, r) {
function o(i) {
i && i.__alive && i[e] && i[e](i.__model, a, t._api, n)
}
var a = t._model;
if (a.setUpdatePayload(n), !i) return void v([].concat(t._componentsViews).concat(t
._chartsViews), o);
var s = {};
s[i + "Id"] = n[i + "Id"], s[i + "Index"] = n[i + "Index"], s[i + "Name"] = n[i +
"Name"];
var l = {
mainType: i,
query: s
};
r && (l.subType = r);
var u, h = n.excludeSeriesId;
null != h && (u = Z(), v(fr(h), function(t) {
var e = Ir(t, null);
null != e && u.set(e, !0)
})), a && a.eachComponent(l, function(e) {
var i = u && null != u.get(e.id);
if (!i)
if (Ha(n))
if (e instanceof NC) n.type !== yS || n.notBlur || e.get([
"emphasis", "disabled"
]) || Ta(e, n, t._api);
else {
var r = Ca(e.mainType, e.componentIndex, n.name, t._api),
o = r.focusSelf,
a = r.dispatchers;
n.type === yS && o && !n.notBlur && Ma(e.mainType, e
.componentIndex, t._api), a && v(a, function(t) {
n.type === yS ? ga(t) : va(t)
})
}
else Va(n) && e instanceof NC && (ka(e, n, t._api), Aa(e), LD(t))
}, t), a && a.eachComponent(l, function(e) {
var n = u && null != u.get(e.id);
n || o(t["series" === i ? "_chartsMap" : "_componentsMap"][e.__viewId])
}, t)
}, _D = {
prepareAndUpdate: function(t) {
vD(this), _D.update.call(this, t, {
optionChanged: null != t.newOption
})
},
update: function(e, n) {
var i = this._model,
r = this._api,
o = this._zr,
a = this._coordSysMgr,
s = this._scheduler;
if (i) {
i.setUpdatePayload(e), s.restoreData(i, e), s.performSeriesTasks(i), a
.create(i, r), s.performDataProcessorTasks(i, e), wD(this, i), a.update(
i, r), t(i), s.performVisualTasks(i, e), ID(this, i, r, e, n);
var l = i.get("backgroundColor") || "transparent",
u = i.get("darkMode");
o.setBackgroundColor(l), null != u && "auto" !== u && o.setDarkMode(u), FI
.trigger("afterupdate", i, r)
}
},
updateTransform: function(e) {
var n = this,
i = this._model,
r = this._api;
if (i) {
i.setUpdatePayload(e);
var o = [];
i.eachComponent(function(t, a) {
if ("series" !== t) {
var s = n.getViewOfComponentModel(a);
if (s && s.__alive)
if (s.updateTransform) {
var l = s.updateTransform(a, i, r, e);
l && l.update && o.push(s)
} else o.push(s)
}
});
var a = Z();
i.eachSeries(function(t) {
var o = n._chartsMap[t.__viewId];
if (o.updateTransform) {
var s = o.updateTransform(t, i, r, e);
s && s.update && a.set(t.uid, 1)
} else a.set(t.uid, 1)
}), t(i), this._scheduler.performVisualTasks(i, e, {
setDirty: !0,
dirtyMap: a
}), kD(this, i, r, e, {}, a), FI.trigger("afterupdate", i, r)
}
},
updateView: function(e) {
var n = this._model;
n && (n.setUpdatePayload(e), WC.markUpdateMethod(e, "updateView"), t(n), this
._scheduler.performVisualTasks(n, e, {
setDirty: !0
}), ID(this, n, this._api, e, {}), FI.trigger("afterupdate", n, this
._api))
},
updateVisual: function(e) {
var n = this,
i = this._model;
i && (i.setUpdatePayload(e), i.eachSeries(function(t) {
t.getData().clearAllVisual()
}), WC.markUpdateMethod(e, "updateVisual"), t(i), this._scheduler
.performVisualTasks(i, e, {
visualType: "visual",
setDirty: !0
}), i.eachComponent(function(t, r) {
if ("series" !== t) {
var o = n.getViewOfComponentModel(r);
o && o.__alive && o.updateVisual(r, i, n._api, e)
}
}), i.eachSeries(function(t) {
var r = n._chartsMap[t.__viewId];
r.updateVisual(t, i, n._api, e)
}), FI.trigger("afterupdate", i, this._api))
},
updateLayout: function(t) {
_D.update.call(this, t)
}
}, xD = function(t, e, n, i) {
if (!t._disposed)
for (var r, o = t._model, a = t._coordSysMgr.getCoordinateSystems(), s = Rr(o, n),
l = 0; l < a.length; l++) {
var u = a[l];
if (u[e] && null != (r = u[e](o, s, i))) return r
}
}, wD = function(t, e) {
var n = t._chartsMap,
i = t._scheduler;
e.eachSeries(function(t) {
i.updateStreamModes(t, n[t.__viewId])
})
}, bD = function(t, e) {
var n = this,
i = this.getModel(),
r = t.type,
o = t.escapeConnect,
a = BD[r],
s = a.actionInfo,
l = (s.update || "update").split(":"),
u = l.pop(),
p = null != l[0] && Hr(l[0]);
this[aD] = !0;
var d = [t],
f = !1;
t.batch && (f = !0, d = y(t.batch, function(e) {
return e = c(h({}, e), t), e.batch = null, e
}));
var g, m = [],
_ = Va(t),
x = Ha(t);
if (x && ba(this._api), v(d, function(e) {
if (g = a.action(e, n._model, n._api), g = g || h({}, e), g.type = s
.event || g.type, m.push(g), x) {
var i = zr(t),
r = i.queryOptionMap,
o = i.mainTypeSpecified,
l = o ? r.keys()[0] : "series";
mD(n, u, e, l), LD(n)
} else _ ? (mD(n, u, e, "series"), LD(n)) : p && mD(n, u, e, p.main, p.sub)
}), "none" !== u && !x && !_ && !p) try {
this[sD] ? (vD(this), _D.update.call(this, t), this[sD] = null) : _D[u].call(
this, t)
} catch (w) {
throw this[aD] = !1, w
}
if (g = f ? {
type: s.event || r,
escapeConnect: o,
batch: m
} : m[0], this[aD] = !1, !e) {
var b = this._messageCenter;
if (b.trigger(g.type, g), _) {
var S = {
type: "selectchanged",
escapeConnect: o,
selected: Pa(i),
isFromClick: t.isFromClick || !1,
fromAction: t.type,
fromActionPayload: t
};
b.trigger(S.type, S)
}
}
}, SD = function(t) {
for (var e = this._pendingActions; e.length;) {
var n = e.shift();
bD.call(this, n, t)
}
}, MD = function(t) {
!t && this.trigger("updated")
}, TD = function(t, e) {
t.on("rendered", function(n) {
e.trigger("rendered", n), !t.animation.isFinished() || e[sD] || e._scheduler
.unfinished || e._pendingActions.length || e.trigger("finished")
})
}, CD = function(t, e) {
t.on("mouseover", function(t) {
var n = t.target,
i = pc(n, Na);
i && (Ia(i, t, e._api), LD(e))
}).on("mouseout", function(t) {
var n = t.target,
i = pc(n, Na);
i && (Da(i, t, e._api), LD(e))
}).on("click", function(t) {
var n = t.target,
i = pc(n, function(t) {
return null != rS(t).dataIndex
}, !0);
if (i) {
var r = i.selected ? "unselect" : "select",
o = rS(i);
e._api.dispatchAction({
type: r,
dataType: o.dataType,
dataIndexInside: o.dataIndex,
seriesIndex: o.seriesIndex,
isFromClick: !0
})
}
})
}, ID = function(t, e, i, r, o) {
n(e), DD(t, e, i, r, o), v(t._chartsViews, function(t) {
t.__alive = !1
}), kD(t, e, i, r, o), v(t._chartsViews, function(t) {
t.__alive || t.remove(e, i)
})
}, DD = function(t, e, n, i, r, o) {
v(o || t._componentsViews, function(t) {
var r = t.__model;
l(r, t), t.render(r, e, n, i), a(r, t), u(r, t)
})
}, kD = function(t, e, n, i, s, c) {
var p = t._scheduler;
s = h(s || {}, {
updatedSeries: e.getSeries()
}), FI.trigger("series:beforeupdate", e, n, s);
var d = !1;
e.eachSeries(function(e) {
var n = t._chartsMap[e.__viewId];
n.__alive = !0;
var r = n.renderTask;
p.updatePayload(r, i), l(e, n), c && c.get(e.uid) && r.dirty(), r.perform(p
.getPerformArgs(r)) && (d = !0), n.group.silent = !!e.get("silent"),
o(e, n), Aa(e)
}), p.unfinished = d || p.unfinished, FI.trigger("series:layoutlabels", e, n, s), FI
.trigger("series:transition", e, n, s), e.eachSeries(function(e) {
var n = t._chartsMap[e.__viewId];
a(e, n), u(e, n)
}), r(t, e), FI.trigger("series:afterupdate", e, n, s)
}, LD = function(t) {
t[lD] = !0, t.getZr().wakeUp()
}, OD = function(t) {
t[lD] && (t.getZr().storage.traverse(function(t) {
cs(t) || i(t)
}), t[lD] = !1)
}, AD = function(t) {
return new(function(n) {
function i() {
return null !== n && n.apply(this, arguments) || this
}
return e(i, n), i.prototype.getCoordinateSystems = function() {
return t._coordSysMgr.getCoordinateSystems()
}, i.prototype.getComponentByElement = function(e) {
for (; e;) {
var n = e.__ecComponentInfo;
if (null != n) return t._model.getComponent(n.mainType, n
.index);
e = e.parent
}
}, i.prototype.enterEmphasis = function(e, n) {
ga(e, n), LD(t)
}, i.prototype.leaveEmphasis = function(e, n) {
va(e, n), LD(t)
}, i.prototype.enterBlur = function(e) {
ya(e), LD(t)
}, i.prototype.leaveBlur = function(e) {
ma(e), LD(t)
}, i.prototype.enterSelect = function(e) {
_a(e), LD(t)
}, i.prototype.leaveSelect = function(e) {
xa(e), LD(t)
}, i.prototype.getModel = function() {
return t.getModel()
}, i.prototype.getViewOfComponentModel = function(e) {
return t.getViewOfComponentModel(e)
}, i.prototype.getViewOfSeriesModel = function(e) {
return t.getViewOfSeriesModel(e)
}, i
}($T))(t)
}, PD = function(t) {
function e(t, e) {
for (var n = 0; n < t.length; n++) {
var i = t[n];
i[hD] = e
}
}
v(ND, function(n, i) {
t._messageCenter.on(i, function(n) {
if (YD[t.group] && t[hD] !== cD) {
if (n && n.escapeConnect) return;
var i = t.makeActionFromEvent(n),
r = [];
v(UD, function(e) {
e !== t && e.group === t.group && r.push(e)
}), e(r, cD), v(r, function(t) {
t[hD] !== pD && t.dispatchAction(i)
}), e(r, dD)
}
})
})
}
}(), n
}(C_),
zD = RD.prototype;
zD.on = np("on"), zD.off = np("off"), zD.one = function(t, e, n) {
function i() {
for (var n = [], o = 0; o < arguments.length; o++) n[o] = arguments[o];
e && e.apply && e.apply(this, n), r.off(t, i)
}
var r = this;
this.on.call(this, t, i, n)
};
var ED = ["click", "dblclick", "mouseover", "mouseout", "mousemove", "mousedown", "mouseup", "globalout",
"contextmenu"
],
BD = {},
ND = {},
FD = [],
VD = [],
HD = [],
WD = {},
GD = {},
UD = {},
YD = {},
XD = +new Date - 0,
ZD = +new Date - 0,
qD = "_echarts_instance_",
jD = sp,
KD = [],
$D = nh;
wp($I, $C), wp(tD, JC), wp(tD, tI), wp($I, vI), wp(tD, yI), wp(rD, Jc), pp(Au), dp(YI, Pu), Sp("default", Kh),
yp({
type: yS,
event: yS,
update: yS
}, Q), yp({
type: mS,
event: mS,
update: mS
}, Q), yp({
type: _S,
event: _S,
update: _S
}, Q), yp({
type: xS,
event: xS,
update: xS
}, Q), yp({
type: wS,
event: wS,
update: wS
}, Q), cp("light", sI), cp("dark", pI);
var QD, JD, tk, ek, nk, ik, rk, ok = {},
ak = function() {
function t(t, e, n, i, r, o) {
this._old = t, this._new = e, this._oldKeyGetter = n || Dp, this._newKeyGetter = i || Dp, this
.context = r, this._diffModeMultiple = "multiple" === o
}
return t.prototype.add = function(t) {
return this._add = t, this
}, t.prototype.update = function(t) {
return this._update = t, this
}, t.prototype.updateManyToOne = function(t) {
return this._updateManyToOne = t, this
}, t.prototype.updateOneToMany = function(t) {
return this._updateOneToMany = t, this
}, t.prototype.updateManyToMany = function(t) {
return this._updateManyToMany = t, this
}, t.prototype.remove = function(t) {
return this._remove = t, this
}, t.prototype.execute = function() {
this[this._diffModeMultiple ? "_executeMultiple" : "_executeOneToOne"]()
}, t.prototype._executeOneToOne = function() {
var t = this._old,
e = this._new,
n = {},
i = new Array(t.length),
r = new Array(e.length);
this._initIndexMap(t, null, i, "_oldKeyGetter"), this._initIndexMap(e, n, r, "_newKeyGetter");
for (var o = 0; o < t.length; o++) {
var a = i[o],
s = n[a],
l = Ip(s);
if (l > 1) {
var u = s.shift();
1 === s.length && (n[a] = s[0]), this._update && this._update(u, o)
} else 1 === l ? (n[a] = null, this._update && this._update(s, o)) : this._remove && this
._remove(o)
}
this._performRestAdd(r, n)
}, t.prototype._executeMultiple = function() {
var t = this._old,
e = this._new,
n = {},
i = {},
r = [],
o = [];
this._initIndexMap(t, n, r, "_oldKeyGetter"), this._initIndexMap(e, i, o, "_newKeyGetter");
for (var a = 0; a < r.length; a++) {
var s = r[a],
l = n[s],
u = i[s],
h = Ip(l),
c = Ip(u);
if (h > 1 && 1 === c) this._updateManyToOne && this._updateManyToOne(u, l), i[s] = null;
else if (1 === h && c > 1) this._updateOneToMany && this._updateOneToMany(u, l), i[s] =
null;
else if (1 === h && 1 === c) this._update && this._update(u, l), i[s] = null;
else if (h > 1 && c > 1) this._updateManyToMany && this._updateManyToMany(u, l), i[s] =
null;
else if (h > 1)
for (var p = 0; h > p; p++) this._remove && this._remove(l[p]);
else this._remove && this._remove(l)
}
this._performRestAdd(o, i)
}, t.prototype._performRestAdd = function(t, e) {
for (var n = 0; n < t.length; n++) {
var i = t[n],
r = e[i],
o = Ip(r);
if (o > 1)
for (var a = 0; o > a; a++) this._add && this._add(r[a]);
else 1 === o && this._add && this._add(r);
e[i] = null
}
}, t.prototype._initIndexMap = function(t, e, n, i) {
for (var r = this._diffModeMultiple, o = 0; o < t.length; o++) {
var a = "_ec_" + this[i](t[o], o);
if (r || (n[o] = a), e) {
var s = e[a],
l = Ip(s);
0 === l ? (e[a] = o, r && n.push(a)) : 1 === l ? e[a] = [s, o] : s.push(o)
}
}
}, t
}(),
sk = function() {
function t(t, e) {
this._encode = t, this._schema = e
}
return t.prototype.get = function() {
return {
fullDimensions: this._getFullDimensionNames(),
encode: this._encode
}
}, t.prototype._getFullDimensionNames = function() {
return this._cachedDimNames || (this._cachedDimNames = this._schema ? this._schema
.makeOutputDimensionNames() : []), this._cachedDimNames
}, t
}(),
lk = function() {
function t(t) {
this.otherDims = {}, null != t && h(this, t)
}
return t
}(),
uk = Or(),
hk = {
"float": "f",
"int": "i",
ordinal: "o",
number: "n",
time: "t"
},
ck = function() {
function t(t) {
this.dimensions = t.dimensions, this._dimOmitted = t.dimensionOmitted, this.source = t.source, this
._fullDimCount = t.fullDimensionCount, this._updateDimOmitted(t.dimensionOmitted)
}
return t.prototype.isDimensionOmitted = function() {
return this._dimOmitted
}, t.prototype._updateDimOmitted = function(t) {
this._dimOmitted = t, t && (this._dimNameMap || (this._dimNameMap = zp(this.source)))
}, t.prototype.getSourceDimensionIndex = function(t) {
return N(this._dimNameMap.get(t), -1)
}, t.prototype.getSourceDimension = function(t) {
var e = this.source.dimensionsDefine;
return e ? e[t] : void 0
}, t.prototype.makeStoreSchema = function() {
for (var t = this._fullDimCount, e = Wu(this.source), n = !Ep(t), i = "", r = [], o = 0, a =
0; t > o; o++) {
var s = void 0,
l = void 0,
u = void 0,
h = this.dimensions[a];
if (h && h.storeDimIndex === o) s = e ? h.name : null, l = h.type, u = h.ordinalMeta, a++;
else {
var c = this.getSourceDimension(o);
c && (s = e ? c.name : null, l = c.type)
}
r.push({
property: s,
type: l,
ordinalMeta: u
}), !e || null == s || h && h.isCalculationCoord || (i += n ? s.replace(/\`/g, "`1")
.replace(/\$/g, "`2") : s), i += "$", i += hk[l] || "f", u && (i += u.uid), i += "$"
}
var p = this.source,
d = [p.seriesLayoutBy, p.startIndex, i].join("$$");
return {
dimensions: r,
hash: d
}
}, t.prototype.makeOutputDimensionNames = function() {
for (var t = [], e = 0, n = 0; e < this._fullDimCount; e++) {
var i = void 0,
r = this.dimensions[n];
if (r && r.storeDimIndex === e) r.isCalculationCoord || (i = r.name), n++;
else {
var o = this.getSourceDimension(e);
o && (i = o.name)
}
t.push(i)
}
return t
}, t.prototype.appendCalculationDimension = function(t) {
this.dimensions.push(t), t.isCalculationCoord = !0, this._fullDimCount++, this
._updateDimOmitted(!0)
}, t
}(),
pk = k,
dk = y,
fk = "undefined" == typeof Int32Array ? Array : Int32Array,
gk = "e\x00\x00",
vk = -1,
yk = ["hasItemOption", "_nameList", "_idList", "_invertedIndicesMap", "_dimSummary", "userOutput",
"_rawData", "_dimValueGetter", "_nameDimIdx", "_idDimIdx", "_nameRepeatCount"
],
mk = ["_approximateExtent"],
_k = function() {
function t(t, e) {
this.type = "list", this._dimOmitted = !1, this._nameList = [], this._idList = [], this
._visual = {}, this._layout = {}, this._itemVisuals = [], this._itemLayouts = [], this
._graphicEls = [], this._approximateExtent = {}, this._calculationInfo = {}, this
.hasItemOption = !1, this.TRANSFERABLE_METHODS = ["cloneShallow", "downSample",
"lttbDownSample", "map"
], this.CHANGABLE_METHODS = ["filterSelf", "selectRange"], this.DOWNSAMPLE_METHODS = [
"downSample", "lttbDownSample"
];
var n, i = !1;
Op(t) ? (n = t.dimensions, this._dimOmitted = t.isDimensionOmitted(), this._schema = t) : (i = !0,
n = t), n = n || ["x", "y"];
for (var r = {}, o = [], a = {}, s = !1, l = {}, u = 0; u < n.length; u++) {
var h = n[u],
c = C(h) ? new lk({
name: h
}) : h instanceof lk ? h : new lk(h),
p = c.name;
c.type = c.type || "float", c.coordDim || (c.coordDim = p, c.coordDimIndex = 0);
var d = c.otherDims = c.otherDims || {};
o.push(p), r[p] = c, null != l[p] && (s = !0), c.createInvertedIndices && (a[p] = []), 0 === d
.itemName && (this._nameDimIdx = u), 0 === d.itemId && (this._idDimIdx = u), i && (c
.storeDimIndex = u)
}
if (this.dimensions = o, this._dimInfos = r, this._initGetDimensionInfo(s), this.hostModel = e, this
._invertedIndicesMap = a, this._dimOmitted) {
var f = this._dimIdxToName = Z();
v(o, function(t) {
f.set(r[t].storeDimIndex, t)
})
}
}
return t.prototype.getDimension = function(t) {
var e = this._recognizeDimIndex(t);
if (null == e) return t;
if (e = t, !this._dimOmitted) return this.dimensions[e];
var n = this._dimIdxToName.get(e);
if (null != n) return n;
var i = this._schema.getSourceDimension(e);
return i ? i.name : void 0
}, t.prototype.getDimensionIndex = function(t) {
var e = this._recognizeDimIndex(t);
if (null != e) return e;
if (null == t) return -1;
var n = this._getDimInfo(t);
return n ? n.storeDimIndex : this._dimOmitted ? this._schema.getSourceDimensionIndex(t) : -1
}, t.prototype._recognizeDimIndex = function(t) {
return D(t) || null != t && !isNaN(t) && !this._getDimInfo(t) && (!this._dimOmitted || this
._schema.getSourceDimensionIndex(t) < 0) ? +t : void 0
}, t.prototype._getStoreDimIndex = function(t) {
var e = this.getDimensionIndex(t);
return e
}, t.prototype.getDimensionInfo = function(t) {
return this._getDimInfo(this.getDimension(t))
}, t.prototype._initGetDimensionInfo = function(t) {
var e = this._dimInfos;
this._getDimInfo = t ? function(t) {
return e.hasOwnProperty(t) ? e[t] : void 0
} : function(t) {
return e[t]
}
}, t.prototype.getDimensionsOnCoord = function() {
return this._dimSummary.dataDimsOnCoord.slice()
}, t.prototype.mapDimension = function(t, e) {
var n = this._dimSummary;
if (null == e) return n.encodeFirstDimNotExtra[t];
var i = n.encode[t];
return i ? i[e] : null
}, t.prototype.mapDimensionsAll = function(t) {
var e = this._dimSummary,
n = e.encode[t];
return (n || []).slice()
}, t.prototype.getStore = function() {
return this._store
}, t.prototype.initData = function(t, e, n) {
var i, r = this;
if (t instanceof AC && (i = t), !i) {
var o = this.dimensions,
a = Ou(t) || g(t) ? new uC(t, o.length) : t;
i = new AC;
var s = dk(o, function(t) {
return {
type: r._dimInfos[t].type,
property: t
}
});
i.initData(a, s, n)
}
this._store = i, this._nameList = (e || []).slice(), this._idList = [], this
._nameRepeatCount = {}, this._doInit(0, i.count()), this._dimSummary = kp(this, this
._schema), this.userOutput = this._dimSummary.userOutput
}, t.prototype.appendData = function(t) {
var e = this._store.appendData(t);
this._doInit(e[0], e[1])
}, t.prototype.appendValues = function(t, e) {
var n = this._store.appendValues(t, e.length),
i = n.start,
r = n.end,
o = this._shouldMakeIdFromName();
if (this._updateOrdinalMeta(), e)
for (var a = i; r > a; a++) {
var s = a - i;
this._nameList[a] = e[s], o && rk(this, a)
}
}, t.prototype._updateOrdinalMeta = function() {
for (var t = this._store, e = this.dimensions, n = 0; n < e.length; n++) {
var i = this._dimInfos[e[n]];
i.ordinalMeta && t.collectOrdinalMeta(i.storeDimIndex, i.ordinalMeta)
}
}, t.prototype._shouldMakeIdFromName = function() {
var t = this._store.getProvider();
return null == this._idDimIdx && t.getSource().sourceFormat !== LT && !t.fillStorage
}, t.prototype._doInit = function(t, e) {
if (!(t >= e)) {
var n = this._store,
i = n.getProvider();
this._updateOrdinalMeta();
var r = this._nameList,
o = this._idList,
a = i.getSource().sourceFormat,
s = a === DT;
if (s && !i.pure)
for (var l = [], u = t; e > u; u++) {
var h = i.getItem(u, l);
if (!this.hasItemOption && yr(h) && (this.hasItemOption = !0), h) {
var c = h.name;
null == r[u] && null != c && (r[u] = Ir(c, null));
var p = h.id;
null == o[u] && null != p && (o[u] = Ir(p, null))
}
}
if (this._shouldMakeIdFromName())
for (var u = t; e > u; u++) rk(this, u);
QD(this)
}
}, t.prototype.getApproximateExtent = function(t) {
return this._approximateExtent[t] || this._store.getDataExtent(this._getStoreDimIndex(t))
}, t.prototype.setApproximateExtent = function(t, e) {
e = this.getDimension(e), this._approximateExtent[e] = t.slice()
}, t.prototype.getCalculationInfo = function(t) {
return this._calculationInfo[t]
}, t.prototype.setCalculationInfo = function(t, e) {
pk(t) ? h(this._calculationInfo, t) : this._calculationInfo[t] = e
}, t.prototype.getName = function(t) {
var e = this.getRawIndex(t),
n = this._nameList[e];
return null == n && null != this._nameDimIdx && (n = tk(this, this._nameDimIdx, e)), null ==
n && (n = ""), n
}, t.prototype._getCategory = function(t, e) {
var n = this._store.get(t, e),
i = this._store.getOrdinalMeta(t);
return i ? i.categories[n] : n
}, t.prototype.getId = function(t) {
return JD(this, this.getRawIndex(t))
}, t.prototype.count = function() {
return this._store.count()
}, t.prototype.get = function(t, e) {
var n = this._store,
i = this._dimInfos[t];
return i ? n.get(i.storeDimIndex, e) : void 0
}, t.prototype.getByRawIndex = function(t, e) {
var n = this._store,
i = this._dimInfos[t];
return i ? n.getByRawIndex(i.storeDimIndex, e) : void 0
}, t.prototype.getIndices = function() {
return this._store.getIndices()
}, t.prototype.getDataExtent = function(t) {
return this._store.getDataExtent(this._getStoreDimIndex(t))
}, t.prototype.getSum = function(t) {
return this._store.getSum(this._getStoreDimIndex(t))
}, t.prototype.getMedian = function(t) {
return this._store.getMedian(this._getStoreDimIndex(t))
}, t.prototype.getValues = function(t, e) {
var n = this,
i = this._store;
return M(t) ? i.getValues(dk(t, function(t) {
return n._getStoreDimIndex(t)
}), e) : i.getValues(t)
}, t.prototype.hasValue = function(t) {
for (var e = this._dimSummary.dataDimIndicesOnCoord, n = 0, i = e.length; i > n; n++)
if (isNaN(this._store.get(e[n], t))) return !1;
return !0
}, t.prototype.indexOfName = function(t) {
for (var e = 0, n = this._store.count(); n > e; e++)
if (this.getName(e) === t) return e;
return -1
}, t.prototype.getRawIndex = function(t) {
return this._store.getRawIndex(t)
}, t.prototype.indexOfRawIndex = function(t) {
return this._store.indexOfRawIndex(t)
}, t.prototype.rawIndexOf = function(t, e) {
var n = t && this._invertedIndicesMap[t],
i = n[e];
return null == i || isNaN(i) ? vk : i
}, t.prototype.indicesOfNearest = function(t, e, n) {
return this._store.indicesOfNearest(this._getStoreDimIndex(t), e, n)
}, t.prototype.each = function(t, e, n) {
T(t) && (n = e, e = t, t = []);
var i = n || this,
r = dk(ek(t), this._getStoreDimIndex, this);
this._store.each(r, i ? p_(e, i) : e)
}, t.prototype.filterSelf = function(t, e, n) {
T(t) && (n = e, e = t, t = []);
var i = n || this,
r = dk(ek(t), this._getStoreDimIndex, this);
return this._store = this._store.filter(r, i ? p_(e, i) : e), this
}, t.prototype.selectRange = function(t) {
var e = this,
n = {},
i = w(t),
r = [];
return v(i, function(i) {
var o = e._getStoreDimIndex(i);
n[o] = t[i], r.push(o)
}), this._store = this._store.selectRange(n), this
}, t.prototype.mapArray = function(t, e, n) {
T(t) && (n = e, e = t, t = []), n = n || this;
var i = [];
return this.each(t, function() {
i.push(e && e.apply(this, arguments))
}, n), i
}, t.prototype.map = function(t, e, n, i) {
var r = n || i || this,
o = dk(ek(t), this._getStoreDimIndex, this),
a = ik(this);
return a._store = this._store.map(o, r ? p_(e, r) : e), a
}, t.prototype.modify = function(t, e, n, i) {
var r = n || i || this,
o = dk(ek(t), this._getStoreDimIndex, this);
this._store.modify(o, r ? p_(e, r) : e)
}, t.prototype.downSample = function(t, e, n, i) {
var r = ik(this);
return r._store = this._store.downSample(this._getStoreDimIndex(t), e, n, i), r
}, t.prototype.lttbDownSample = function(t, e) {
var n = ik(this);
return n._store = this._store.lttbDownSample(this._getStoreDimIndex(t), e), n
}, t.prototype.getRawDataItem = function(t) {
return this._store.getRawDataItem(t)
}, t.prototype.getItemModel = function(t) {
var e = this.hostModel,
n = this.getRawDataItem(t);
return new ZM(n, e, e && e.ecModel)
}, t.prototype.diff = function(t) {
var e = this;
return new ak(t ? t.getStore().getIndices() : [], this.getStore().getIndices(), function(e) {
return JD(t, e)
}, function(t) {
return JD(e, t)
})
}, t.prototype.getVisual = function(t) {
var e = this._visual;
return e && e[t]
}, t.prototype.setVisual = function(t, e) {
this._visual = this._visual || {}, pk(t) ? h(this._visual, t) : this._visual[t] = e
}, t.prototype.getItemVisual = function(t, e) {
var n = this._itemVisuals[t],
i = n && n[e];
return null == i ? this.getVisual(e) : i
}, t.prototype.hasItemVisual = function() {
return this._itemVisuals.length > 0
}, t.prototype.ensureUniqueItemVisual = function(t, e) {
var n = this._itemVisuals,
i = n[t];
i || (i = n[t] = {});
var r = i[e];
return null == r && (r = this.getVisual(e), M(r) ? r = r.slice() : pk(r) && (r = h({}, r)), i[
e] = r), r
}, t.prototype.setItemVisual = function(t, e, n) {
var i = this._itemVisuals[t] || {};
this._itemVisuals[t] = i, pk(e) ? h(i, e) : i[e] = n
}, t.prototype.clearAllVisual = function() {
this._visual = {}, this._itemVisuals = []
}, t.prototype.setLayout = function(t, e) {
pk(t) ? h(this._layout, t) : this._layout[t] = e
}, t.prototype.getLayout = function(t) {
return this._layout[t]
}, t.prototype.getItemLayout = function(t) {
return this._itemLayouts[t]
}, t.prototype.setItemLayout = function(t, e, n) {
this._itemLayouts[t] = n ? h(this._itemLayouts[t] || {}, e) : e
}, t.prototype.clearItemLayouts = function() {
this._itemLayouts.length = 0
}, t.prototype.setItemGraphicEl = function(t, e) {
var n = this.hostModel && this.hostModel.seriesIndex;
oS(n, this.dataType, t, e), this._graphicEls[t] = e
}, t.prototype.getItemGraphicEl = function(t) {
return this._graphicEls[t]
}, t.prototype.eachItemGraphicEl = function(t, e) {
v(this._graphicEls, function(n, i) {
n && t && t.call(e, n, i)
})
}, t.prototype.cloneShallow = function(e) {
return e || (e = new t(this._schema ? this._schema : dk(this.dimensions, this._getDimInfo,
this), this.hostModel)), nk(e, this), e._store = this._store, e
}, t.prototype.wrapMethod = function(t, e) {
var n = this[t];
T(n) && (this.__wrappedMethods = this.__wrappedMethods || [], this.__wrappedMethods.push(t),
this[t] = function() {
var t = n.apply(this, arguments);
return e.apply(this, [t].concat(V(arguments)))
})
}, t.internalField = function() {
QD = function(t) {
var e = t._invertedIndicesMap;
v(e, function(n, i) {
var r = t._dimInfos[i],
o = r.ordinalMeta,
a = t._store;
if (o) {
n = e[i] = new fk(o.categories.length);
for (var s = 0; s < n.length; s++) n[s] = vk;
for (var s = 0; s < a.count(); s++) n[a.get(r.storeDimIndex, s)] = s
}
})
}, tk = function(t, e, n) {
return Ir(t._getCategory(e, n), null)
}, JD = function(t, e) {
var n = t._idList[e];
return null == n && null != t._idDimIdx && (n = tk(t, t._idDimIdx, e)), null == n && (
n = gk + e), n
}, ek = function(t) {
return M(t) || (t = null != t ? [t] : []), t
}, ik = function(e) {
var n = new t(e._schema ? e._schema : dk(e.dimensions, e._getDimInfo, e), e.hostModel);
return nk(n, e), n
}, nk = function(t, e) {
v(yk.concat(e.__wrappedMethods || []), function(n) {
e.hasOwnProperty(n) && (t[n] = e[n])
}), t.__wrappedMethods = e.__wrappedMethods, v(mk, function(n) {
t[n] = s(e[n])
}), t._calculationInfo = h({}, e._calculationInfo)
}, rk = function(t, e) {
var n = t._nameList,
i = t._idList,
r = t._nameDimIdx,
o = t._idDimIdx,
a = n[e],
s = i[e];
if (null == a && null != r && (n[e] = a = tk(t, r, e)), null == s && null != o && (i[
e] = s = tk(t, o, e)), null == s && null != a) {
var l = t._nameRepeatCount,
u = l[a] = (l[a] || 0) + 1;
s = a, u > 1 && (s += "__ec__" + u), i[e] = s
}
}
}(), t
}(),
xk = function() {
function t(t) {
this.coordSysDims = [], this.axisMap = Z(), this.categoryAxisMap = Z(), this.coordSysName = t
}
return t
}(),
wk = {
cartesian2d: function(t, e, n, i) {
var r = t.getReferringComponents("xAxis", zw).models[0],
o = t.getReferringComponents("yAxis", zw).models[0];
e.coordSysDims = ["x", "y"], n.set("x", r), n.set("y", o), Gp(r) && (i.set("x", r), e
.firstCategoryDimIndex = 0), Gp(o) && (i.set("y", o), null == e.firstCategoryDimIndex &&
(e.firstCategoryDimIndex = 1))
},
singleAxis: function(t, e, n, i) {
var r = t.getReferringComponents("singleAxis", zw).models[0];
e.coordSysDims = ["single"], n.set("single", r), Gp(r) && (i.set("single", r), e
.firstCategoryDimIndex = 0)
},
polar: function(t, e, n, i) {
var r = t.getReferringComponents("polar", zw).models[0],
o = r.findAxisModel("radiusAxis"),
a = r.findAxisModel("angleAxis");
e.coordSysDims = ["radius", "angle"], n.set("radius", o), n.set("angle", a), Gp(o) && (i.set(
"radius", o), e.firstCategoryDimIndex = 0), Gp(a) && (i.set("angle", a), null == e
.firstCategoryDimIndex && (e.firstCategoryDimIndex = 1))
},
geo: function(t, e) {
e.coordSysDims = ["lng", "lat"]
},
parallel: function(t, e, n, i) {
var r = t.ecModel,
o = r.getComponent("parallel", t.get("parallelIndex")),
a = e.coordSysDims = o.dimensions.slice();
v(o.parallelAxisIndex, function(t, o) {
var s = r.getComponent("parallelAxis", t),
l = a[o];
n.set(l, s), Gp(s) && (i.set(l, s), null == e.firstCategoryDimIndex && (e
.firstCategoryDimIndex = o))
})
}
},
bk = function() {
function t(t) {
this._setting = t || {}, this._extent = [1 / 0, -1 / 0]
}
return t.prototype.getSetting = function(t) {
return this._setting[t]
}, t.prototype.unionExtent = function(t) {
var e = this._extent;
t[0] < e[0] && (e[0] = t[0]), t[1] > e[1] && (e[1] = t[1])
}, t.prototype.unionExtentFromData = function(t, e) {
this.unionExtent(t.getApproximateExtent(e))
}, t.prototype.getExtent = function() {
return this._extent.slice()
}, t.prototype.setExtent = function(t, e) {
var n = this._extent;
isNaN(t) || (n[0] = t), isNaN(e) || (n[1] = e)
}, t.prototype.isInExtentRange = function(t) {
return this._extent[0] <= t && this._extent[1] >= t
}, t.prototype.isBlank = function() {
return this._isBlank
}, t.prototype.setBlank = function(t) {
this._isBlank = t
}, t
}();
Kr(bk);
var Sk = 0,
Mk = function() {
function t(t) {
this.categories = t.categories || [], this._needCollect = t.needCollect, this._deduplication = t
.deduplication, this.uid = ++Sk
}
return t.createByAxisModel = function(e) {
var n = e.option,
i = n.data,
r = i && y(i, Jp);
return new t({
categories: r,
needCollect: !r,
deduplication: n.dedplication !== !1
})
}, t.prototype.getOrdinal = function(t) {
return this._getOrCreateMap().get(t)
}, t.prototype.parseAndCollect = function(t) {
var e, n = this._needCollect;
if (!C(t) && !n) return t;
if (n && !this._deduplication) return e = this.categories.length, this.categories[e] = t, e;
var i = this._getOrCreateMap();
return e = i.get(t), null == e && (n ? (e = this.categories.length, this.categories[e] = t, i
.set(t, e)) : e = 0 / 0), e
}, t.prototype._getOrCreateMap = function() {
return this._map || (this._map = Z(this.categories))
}, t
}(),
Tk = function(t) {
function n(e) {
var n = t.call(this, e) || this;
n.type = "ordinal";
var i = n.getSetting("ordinalMeta");
return i || (i = new Mk({})), M(i) && (i = new Mk({
categories: y(i, function(t) {
return k(t) ? t.value : t
})
})), n._ordinalMeta = i, n._extent = n.getSetting("extent") || [0, i.categories.length - 1], n
}
return e(n, t), n.prototype.parse = function(t) {
return null == t ? 0 / 0 : C(t) ? this._ordinalMeta.getOrdinal(t) : Math.round(t)
}, n.prototype.contain = function(t) {
return t = this.parse(t), ad(t, this._extent) && null != this._ordinalMeta.categories[t]
}, n.prototype.normalize = function(t) {
return t = this._getTickNumber(this.parse(t)), sd(t, this._extent)
}, n.prototype.scale = function(t) {
return t = Math.round(ld(t, this._extent)), this.getRawOrdinalNumber(t)
}, n.prototype.getTicks = function() {
for (var t = [], e = this._extent, n = e[0]; n <= e[1];) t.push({
value: n
}), n++;
return t
}, n.prototype.getMinorTicks = function() {}, n.prototype.setSortInfo = function(t) {
if (null == t) return void(this._ordinalNumbersByTick = this._ticksByOrdinalNumber = null);
for (var e = t.ordinalNumbers, n = this._ordinalNumbersByTick = [], i = this
._ticksByOrdinalNumber = [], r = 0, o = this._ordinalMeta.categories.length, a = Math
.min(o, e.length); a > r; ++r) {
var s = e[r];
n[r] = s, i[s] = r
}
for (var l = 0; o > r; ++r) {
for (; null != i[l];) l++;
n.push(l), i[l] = r
}
}, n.prototype._getTickNumber = function(t) {
var e = this._ticksByOrdinalNumber;
return e && t >= 0 && t < e.length ? e[t] : t
}, n.prototype.getRawOrdinalNumber = function(t) {
var e = this._ordinalNumbersByTick;
return e && t >= 0 && t < e.length ? e[t] : t
}, n.prototype.getLabel = function(t) {
if (!this.isBlank()) {
var e = this.getRawOrdinalNumber(t.value),
n = this._ordinalMeta.categories[e];
return null == n ? "" : n + ""
}
}, n.prototype.count = function() {
return this._extent[1] - this._extent[0] + 1
}, n.prototype.unionExtentFromData = function(t, e) {
this.unionExtent(t.getApproximateExtent(e))
}, n.prototype.isInExtentRange = function(t) {
return t = this._getTickNumber(t), this._extent[0] <= t && this._extent[1] >= t
}, n.prototype.getOrdinalMeta = function() {
return this._ordinalMeta
}, n.prototype.calcNiceTicks = function() {}, n.prototype.calcNiceExtent = function() {}, n.type =
"ordinal", n
}(bk);
bk.registerClass(Tk);
var Ck = Yi,
Ik = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = "interval", e._interval = 0, e._intervalPrecision = 2, e
}
return e(n, t), n.prototype.parse = function(t) {
return t
}, n.prototype.contain = function(t) {
return ad(t, this._extent)
}, n.prototype.normalize = function(t) {
return sd(t, this._extent)
}, n.prototype.scale = function(t) {
return ld(t, this._extent)
}, n.prototype.setExtent = function(t, e) {
var n = this._extent;
isNaN(t) || (n[0] = parseFloat(t)), isNaN(e) || (n[1] = parseFloat(e))
}, n.prototype.unionExtent = function(t) {
var e = this._extent;
t[0] < e[0] && (e[0] = t[0]), t[1] > e[1] && (e[1] = t[1]), this.setExtent(e[0], e[1])
}, n.prototype.getInterval = function() {
return this._interval
}, n.prototype.setInterval = function(t) {
this._interval = t, this._niceExtent = this._extent.slice(), this._intervalPrecision = id(t)
}, n.prototype.getTicks = function(t) {
var e = this._interval,
n = this._extent,
i = this._niceExtent,
r = this._intervalPrecision,
o = [];
if (!e) return o;
var a = 1e4;
n[0] < i[0] && o.push(t ? {
value: Ck(i[0] - e, r)
} : {
value: n[0]
});
for (var s = i[0]; s <= i[1] && (o.push({
value: s
}), s = Ck(s + e, r), s !== o[o.length - 1].value);)
if (o.length > a) return [];
var l = o.length ? o[o.length - 1].value : i[1];
return n[1] > l && o.push(t ? {
value: Ck(l + e, r)
} : {
value: n[1]
}), o
}, n.prototype.getMinorTicks = function(t) {
for (var e = this.getTicks(!0), n = [], i = this.getExtent(), r = 1; r < e.length; r++) {
for (var o = e[r], a = e[r - 1], s = 0, l = [], u = o.value - a.value, h = u / t; t - 1 >
s;) {
var c = Ck(a.value + (s + 1) * h);
c > i[0] && c < i[1] && l.push(c), s++
}
n.push(l)
}
return n
}, n.prototype.getLabel = function(t, e) {
if (null == t) return "";
var n = e && e.precision;
null == n ? n = Zi(t.value) || 0 : "auto" === n && (n = this._intervalPrecision);
var i = Ck(t.value, n, !0);
return Pl(i)
}, n.prototype.calcNiceTicks = function(t, e, n) {
t = t || 5;
var i = this._extent,
r = i[1] - i[0];
if (isFinite(r)) {
0 > r && (r = -r, i.reverse());
var o = ed(i, t, e, n);
this._intervalPrecision = o.intervalPrecision, this._interval = o.interval, this
._niceExtent = o.niceTickExtent
}
}, n.prototype.calcNiceExtent = function(t) {
var e = this._extent;
if (e[0] === e[1])
if (0 !== e[0]) {
var n = Math.abs(e[0]);
t.fixMax ? e[0] -= n / 2 : (e[1] += n / 2, e[0] -= n / 2)
} else e[1] = 1;
var i = e[1] - e[0];
isFinite(i) || (e[0] = 0, e[1] = 1), this.calcNiceTicks(t.splitNumber, t.minInterval, t
.maxInterval);
var r = this._interval;
t.fixMin || (e[0] = Ck(Math.floor(e[0] / r) * r)), t.fixMax || (e[1] = Ck(Math.ceil(e[1] / r) *
r))
}, n.prototype.setNiceExtent = function(t, e) {
this._niceExtent = [t, e]
}, n.type = "interval", n
}(bk);
bk.registerClass(Ik);
var Dk = "undefined" != typeof Float32Array,
kk = Dk ? Float32Array : Array,
Ak = "__ec_stack_",
Pk = function(t, e, n, i) {
for (; i > n;) {
var r = n + i >>> 1;
t[r][1] < e ? n = r + 1 : i = r
}
return n
},
Lk = function(t) {
function n(e) {
var n = t.call(this, e) || this;
return n.type = "time", n
}
return e(n, t), n.prototype.getLabel = function(t) {
var e = this.getSetting("useUTC");
return pl(t.value, hT[cl(ul(this._minLevelUnit))] || hT.second, e, this.getSetting("locale"))
}, n.prototype.getFormattedLabel = function(t, e, n) {
var i = this.getSetting("useUTC"),
r = this.getSetting("locale");
return dl(t, e, n, r, i)
}, n.prototype.getTicks = function() {
var t = this._interval,
e = this._extent,
n = [];
if (!t) return n;
n.push({
value: e[0],
level: 0
});
var i = this.getSetting("useUTC"),
r = kd(this._minLevelUnit, this._approxInterval, i, e);
return n = n.concat(r), n.push({
value: e[1],
level: 0
}), n
}, n.prototype.calcNiceExtent = function(t) {
var e = this._extent;
if (e[0] === e[1] && (e[0] -= aT, e[1] += aT), e[1] === -1 / 0 && 1 / 0 === e[0]) {
var n = new Date;
e[1] = +new Date(n.getFullYear(), n.getMonth(), n.getDate()), e[0] = e[1] - aT
}
this.calcNiceTicks(t.splitNumber, t.minInterval, t.maxInterval)
}, n.prototype.calcNiceTicks = function(t, e, n) {
t = t || 10;
var i = this._extent,
r = i[1] - i[0];
this._approxInterval = r / t, null != e && this._approxInterval < e && (this._approxInterval =
e), null != n && this._approxInterval > n && (this._approxInterval = n);
var o = Ok.length,
a = Math.min(Pk(Ok, this._approxInterval, 0, o), o - 1);
this._interval = Ok[a][1], this._minLevelUnit = Ok[Math.max(a - 1, 0)][0]
}, n.prototype.parse = function(t) {
return D(t) ? t : +er(t)
}, n.prototype.contain = function(t) {
return ad(this.parse(t), this._extent)
}, n.prototype.normalize = function(t) {
return sd(this.parse(t), this._extent)
}, n.prototype.scale = function(t) {
return ld(t, this._extent)
}, n.type = "time", n
}(Ik),
Ok = [
["second", iT],
["minute", rT],
["hour", oT],
["quarter-day", 6 * oT],
["half-day", 12 * oT],
["day", 1.2 * aT],
["half-week", 3.5 * aT],
["week", 7 * aT],
["month", 31 * aT],
["quarter", 95 * aT],
["half-year", sT / 2],
["year", sT]
];
bk.registerClass(Lk);
var Rk = bk.prototype,
zk = Ik.prototype,
Ek = Yi,
Bk = Math.floor,
Nk = Math.ceil,
Fk = Math.pow,
Vk = Math.log,
Hk = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = "log", e.base = 10, e._originalScale = new Ik, e._interval = 0, e
}
return e(n, t), n.prototype.getTicks = function(t) {
var e = this._originalScale,
n = this._extent,
i = e.getExtent(),
r = zk.getTicks.call(this, t);
return y(r, function(t) {
var e = t.value,
r = Yi(Fk(this.base, e));
return r = e === n[0] && this._fixMin ? Ad(r, i[0]) : r, r = e === n[1] && this
._fixMax ? Ad(r, i[1]) : r, {
value: r
}
}, this)
}, n.prototype.setExtent = function(t, e) {
var n = Vk(this.base);
t = Vk(Math.max(0, t)) / n, e = Vk(Math.max(0, e)) / n, zk.setExtent.call(this, t, e)
}, n.prototype.getExtent = function() {
var t = this.base,
e = Rk.getExtent.call(this);
e[0] = Fk(t, e[0]), e[1] = Fk(t, e[1]);
var n = this._originalScale,
i = n.getExtent();
return this._fixMin && (e[0] = Ad(e[0], i[0])), this._fixMax && (e[1] = Ad(e[1], i[1])), e
}, n.prototype.unionExtent = function(t) {
this._originalScale.unionExtent(t);
var e = this.base;
t[0] = Vk(t[0]) / Vk(e), t[1] = Vk(t[1]) / Vk(e), Rk.unionExtent.call(this, t)
}, n.prototype.unionExtentFromData = function(t, e) {
this.unionExtent(t.getApproximateExtent(e))
}, n.prototype.calcNiceTicks = function(t) {
t = t || 10;
var e = this._extent,
n = e[1] - e[0];
if (!(1 / 0 === n || 0 >= n)) {
var i = nr(n),
r = t / n * i;
for (.5 >= r && (i *= 10); !isNaN(i) && Math.abs(i) < 1 && Math.abs(i) > 0;) i *= 10;
var o = [Yi(Nk(e[0] / i) * i), Yi(Bk(e[1] / i) * i)];
this._interval = i, this._niceExtent = o
}
}, n.prototype.calcNiceExtent = function(t) {
zk.calcNiceExtent.call(this, t), this._fixMin = t.fixMin, this._fixMax = t.fixMax
}, n.prototype.parse = function(t) {
return t
}, n.prototype.contain = function(t) {
return t = Vk(t) / Vk(this.base), ad(t, this._extent)
}, n.prototype.normalize = function(t) {
return t = Vk(t) / Vk(this.base), sd(t, this._extent)
}, n.prototype.scale = function(t) {
return t = ld(t, this._extent), Fk(this.base, t)
}, n.type = "log", n
}(bk),
Wk = Hk.prototype;
Wk.getMinorTicks = zk.getMinorTicks, Wk.getLabel = zk.getLabel, bk.registerClass(Hk);
var Gk = function() {
function t(t, e, n) {
this._prepareParams(t, e, n)
}
return t.prototype._prepareParams = function(t, e, n) {
n[1] < n[0] && (n = [0 / 0, 0 / 0]), this._dataMin = n[0], this._dataMax = n[1];
var i = this._isOrdinal = "ordinal" === t.type;
this._needCrossZero = "interval" === t.type && e.getNeedCrossZero && e.getNeedCrossZero();
var r = this._modelMinRaw = e.get("min", !0);
T(r) ? this._modelMinNum = Ld(t, r({
min: n[0],
max: n[1]
})) : "dataMin" !== r && (this._modelMinNum = Ld(t, r));
var o = this._modelMaxRaw = e.get("max", !0);
if (T(o) ? this._modelMaxNum = Ld(t, o({
min: n[0],
max: n[1]
})) : "dataMax" !== o && (this._modelMaxNum = Ld(t, o)), i) this._axisDataLen = e
.getCategories().length;
else {
var a = e.get("boundaryGap"),
s = M(a) ? a : [a || 0, a || 0];
this._boundaryGapInner = "boolean" == typeof s[0] || "boolean" == typeof s[1] ? [0, 0] : [
Ci(s[0], 1), Ci(s[1], 1)
]
}
}, t.prototype.calculate = function() {
var t = this._isOrdinal,
e = this._dataMin,
n = this._dataMax,
i = this._axisDataLen,
r = this._boundaryGapInner,
o = t ? null : n - e || Math.abs(e),
a = "dataMin" === this._modelMinRaw ? e : this._modelMinNum,
s = "dataMax" === this._modelMaxRaw ? n : this._modelMaxNum,
l = null != a,
u = null != s;
null == a && (a = t ? i ? 0 : 0 / 0 : e - r[0] * o), null == s && (s = t ? i ? i - 1 : 0 / 0 :
n + r[1] * o), (null == a || !isFinite(a)) && (a = 0 / 0), (null == s || !isFinite(
s)) && (s = 0 / 0);
var h = E(a) || E(s) || t && !i;
this._needCrossZero && (a > 0 && s > 0 && !l && (a = 0), 0 > a && 0 > s && !u && (s = 0));
var c = this._determinedMin,
p = this._determinedMax;
return null != c && (a = c, l = !0), null != p && (s = p, u = !0), {
min: a,
max: s,
minFixed: l,
maxFixed: u,
isBlank: h
}
}, t.prototype.modifyDataMinMax = function(t, e) {
this[Yk[t]] = e
}, t.prototype.setDeterminedMinMax = function(t, e) {
var n = Uk[t];
this[n] = e
}, t.prototype.freeze = function() {
this.frozen = !0
}, t
}(),
Uk = {
min: "_determinedMin",
max: "_determinedMax"
},
Yk = {
min: "_dataMin",
max: "_dataMax"
},
Xk = function() {
function t() {}
return t.prototype.getNeedCrossZero = function() {
var t = this.option;
return !t.scale
}, t.prototype.getCoordSysModel = function() {}, t
}(),
Zk = {
isDimensionStacked: Xp,
enableDataStack: Up,
getStackedDimension: Zp
},
qk = (Object.freeze || Object)({
createList: Xd,
getLayoutRect: Hl,
dataStack: Zk,
createScale: Zd,
mixinAxisModelCommonMethods: qd,
getECData: rS,
createTextStyle: jd,
createDimensions: Bp,
createSymbol: fc,
enableHoverEmphasis: La
}),
jk = [],
Kk = {
registerPreprocessor: pp,
registerProcessor: dp,
registerPostInit: fp,
registerPostUpdate: gp,
registerUpdateLifecycle: vp,
registerAction: yp,
registerCoordinateSystem: mp,
registerLayout: xp,
registerVisual: wp,
registerTransform: $D,
registerLoading: Sp,
registerMap: Tp,
registerImpl: tp,
PRIORITY: oD,
ComponentModel: wT,
ComponentView: FC,
SeriesModel: NC,
ChartView: WC,
registerComponentModel: function(t) {
wT.registerClass(t)
},
registerComponentView: function(t) {
FC.registerClass(t)
},
registerSeriesModel: function(t) {
NC.registerClass(t)
},
registerChartView: function(t) {
WC.registerClass(t)
},
registerSubTypeDefaulter: function(t, e) {
wT.registerSubTypeDefaulter(t, e)
},
registerPainter: function(t, e) {
Hi(t, e)
}
},
$k = 1e-8,
Qk = [],
Jk = function() {
function t(t) {
this.name = t
}
return t.prototype.setCenter = function(t) {
this._center = t
}, t.prototype.getCenter = function() {
var t = this._center;
return t || (t = this._center = this.calcCenter()), t
}, t
}(),
tA = function() {
function t(t, e) {
this.type = "polygon", this.exterior = t, this.interiors = e
}
return t
}(),
eA = function() {
function t(t) {
this.type = "linestring", this.points = t
}
return t
}(),
nA = function(t) {
function n(e, n, i) {
var r = t.call(this, e) || this;
return r.type = "geoJSON", r.geometries = n, r._center = i && [i[0], i[1]], r
}
return e(n, t), n.prototype.calcCenter = function() {
for (var t, e = this.geometries, n = 0, i = 0; i < e.length; i++) {
var r = e[i],
o = r.exterior,
a = o && o.length;
a > n && (t = r, n = a)
}
if (t) return ef(t.exterior);
var s = this.getBoundingRect();
return [s.x + s.width / 2, s.y + s.height / 2]
}, n.prototype.getBoundingRect = function(t) {
var e = this._rect;
if (e && !t) return e;
var n = [1 / 0, 1 / 0],
i = [-1 / 0, -1 / 0],
r = this.geometries;
return v(r, function(e) {
"polygon" === e.type ? tf(e.exterior, n, i, t) : v(e.points, function(e) {
tf(e, n, i, t)
})
}), isFinite(n[0]) && isFinite(n[1]) && isFinite(i[0]) && isFinite(i[1]) || (n[0] = n[1] =
i[0] = i[1] = 0), e = new q_(n[0], n[1], i[0] - n[0], i[1] - n[1]), t || (this._rect =
e), e
}, n.prototype.contain = function(t) {
var e = this.getBoundingRect(),
n = this.geometries;
if (!e.contain(t[0], t[1])) return !1;
t: for (var i = 0, r = n.length; r > i; i++) {
var o = n[i];
if ("polygon" === o.type) {
var a = o.exterior,
s = o.interiors;
if (Qd(a, t[0], t[1])) {
for (var l = 0; l < (s ? s.length : 0); l++)
if (Qd(s[l], t[0], t[1])) continue t;
return !0
}
}
}
return !1
}, n.prototype.transformTo = function(t, e, n, i) {
var r = this.getBoundingRect(),
o = r.width / r.height;
n ? i || (i = n / o) : n = o * i;
for (var a = new q_(t, e, n, i), s = r.calculateTransform(a), l = this.geometries, u = 0; u < l
.length; u++) {
var h = l[u];
"polygon" === h.type ? (Jd(h.exterior, s), v(h.interiors, function(t) {
Jd(t, s)
})) : v(h.points, function(t) {
Jd(t, s)
})
}
r = this._rect, r.copy(a), this._center = [r.x + r.width / 2, r.y + r.height / 2]
}, n.prototype.cloneShallow = function(t) {
null == t && (t = this.name);
var e = new n(t, this.geometries, this._center);
return e._rect = this._rect, e.transformTo = null, e
}, n
}(Jk),
iA = (function(t) {
function n(e, n) {
var i = t.call(this, e) || this;
return i.type = "geoSVG", i._elOnlyForCalculate = n, i
}
return e(n, t), n.prototype.calcCenter = function() {
for (var t = this._elOnlyForCalculate, e = t.getBoundingRect(), n = [e.x + e.width / 2, e
.y + e.height / 2
], i = Fe(Qk), r = t; r && !r.isGeoSVGGraphicRoot;) He(i, r.getLocalTransform(), i), r =
r.parent;
return Ye(i, i), ye(n, n, i), n
}, n
}(Jk), (Object.freeze || Object)({
linearMap: Gi,
round: Yi,
asc: Xi,
getPrecision: Zi,
getPrecisionSafe: qi,
getPixelPrecision: ji,
getPercentWithPrecision: Ki,
MAX_SAFE_INTEGER: kw,
remRadian: Ji,
isRadianAroundZero: tr,
parseDate: er,
quantity: nr,
quantityExponent: ir,
nice: rr,
quantile: or,
reformIntervals: ar,
isNumeric: lr,
numericToNumber: sr
})),
rA = (Object.freeze || Object)({
parse: er,
format: pl
}),
oA = (Object.freeze || Object)({
extendShape: vs,
extendPath: ys,
makePath: xs,
makeImage: ws,
mergePath: kM,
resizePath: Ss,
createIcon: Rs,
updateProps: us,
initProps: hs,
getTransform: Cs,
clipPointsByRect: Ls,
clipRectByRect: Os,
registerShape: ms,
getShapeClass: _s,
Group: ww,
Image: Xb,
Text: tS,
Circle: BS,
Ellipse: FS,
Sector: QS,
Ring: tM,
Polygon: nM,
Polyline: rM,
Rect: Kb,
Line: sM,
BezierCurve: hM,
Arc: pM,
IncrementalDisplayable: SM,
CompoundPath: dM,
LinearGradient: gM,
RadialGradient: vM,
BoundingRect: q_
}),
aA = (Object.freeze || Object)({
addCommas: Pl,
toCamelCase: Ll,
normalizeCssArray: dT,
encodeHTML: Ie,
formatTpl: Rl,
getTooltipMarker: zl,
formatTime: El,
capitalFirst: Bl,
truncateText: no,
getTextRect: Al
}),
sA = (Object.freeze || Object)({
map: y,
each: v,
indexOf: p,
inherits: d,
reduce: m,
filter: _,
bind: p_,
curry: S,
isArray: M,
isString: C,
isObject: k,
isFunction: T,
extend: h,
defaults: c,
clone: s,
merge: l
}),
lA = Or(),
uA = [0, 1],
hA = function() {
function t(t, e, n) {
this.onBand = !1, this.inverse = !1, this.dim = t, this.scale = e, this._extent = n || [0, 0]
}
return t.prototype.contain = function(t) {
var e = this._extent,
n = Math.min(e[0], e[1]),
i = Math.max(e[0], e[1]);
return t >= n && i >= t
}, t.prototype.containData = function(t) {
return this.scale.contain(t)
}, t.prototype.getExtent = function() {
return this._extent.slice()
}, t.prototype.getPixelPrecision = function(t) {
return ji(t || this.scale.getExtent(), this._extent)
}, t.prototype.setExtent = function(t, e) {
var n = this._extent;
n[0] = t, n[1] = e
}, t.prototype.dataToCoord = function(t, e) {
var n = this._extent,
i = this.scale;
return t = i.normalize(t), this.onBand && "ordinal" === i.type && (n = n.slice(), wf(n, i
.count())), Gi(t, uA, n, e)
}, t.prototype.coordToData = function(t, e) {
var n = this._extent,
i = this.scale;
this.onBand && "ordinal" === i.type && (n = n.slice(), wf(n, i.count()));
var r = Gi(t, n, uA, e);
return this.scale.scale(r)
}, t.prototype.pointToData = function() {}, t.prototype.getTicksCoords = function(t) {
t = t || {};
var e = t.tickModel || this.getTickModel(),
n = lf(this, e),
i = n.ticks,
r = y(i, function(t) {
return {
coord: this.dataToCoord("ordinal" === this.scale.type ? this.scale
.getRawOrdinalNumber(t) : t),
tickValue: t
}
}, this),
o = e.get("alignWithLabel");
return bf(this, r, o, t.clamp), r
}, t.prototype.getMinorTicksCoords = function() {
if ("ordinal" === this.scale.type) return [];
var t = this.model.getModel("minorTick"),
e = t.get("splitNumber");
e > 0 && 100 > e || (e = 5);
var n = this.scale.getMinorTicks(e),
i = y(n, function(t) {
return y(t, function(t) {
return {
coord: this.dataToCoord(t),
tickValue: t
}
}, this)
}, this);
return i
}, t.prototype.getViewLabels = function() {
return sf(this).labels
}, t.prototype.getLabelModel = function() {
return this.model.getModel("axisLabel")
}, t.prototype.getTickModel = function() {
return this.model.getModel("axisTick")
}, t.prototype.getBandWidth = function() {
var t = this._extent,
e = this.scale.getExtent(),
n = e[1] - e[0] + (this.onBand ? 1 : 0);
0 === n && (n = 1);
var i = Math.abs(t[1] - t[0]);
return Math.abs(i) / n
}, t.prototype.calculateCategoryInterval = function() {
return yf(this)
}, t
}(),
cA = 2 * Math.PI,
pA = Ab.CMD,
dA = ["top", "right", "bottom", "left"],
fA = [],
gA = new F_,
vA = new F_,
yA = new F_,
mA = new F_,
_A = new F_,
xA = [],
wA = new F_,
bA = ["align", "verticalAlign", "width", "height", "fontSize"],
SA = new pw,
MA = Or(),
TA = Or(),
CA = ["x", "y", "rotation"],
IA = function() {
function t() {
this._labelList = [], this._chartViewList = []
}
return t.prototype.clearLabels = function() {
this._labelList = [], this._chartViewList = []
}, t.prototype._addLabel = function(t, e, n, i, r) {
var o = i.style,
a = i.__hostTarget,
s = a.textConfig || {},
l = i.getComputedTransform(),
u = i.getBoundingRect().plain();
q_.applyTransform(u, u, l), l ? SA.setLocalTransform(l) : (SA.x = SA.y = SA.rotation = SA
.originX = SA.originY = 0, SA.scaleX = SA.scaleY = 1), SA.rotation = So(SA.rotation);
var h, c = i.__hostTarget;
if (c) {
h = c.getBoundingRect().plain();
var p = c.getComputedTransform();
q_.applyTransform(h, h, p)
}
var d = h && c.getTextGuideLine();
this._labelList.push({
label: i,
labelLine: d,
seriesModel: n,
dataIndex: t,
dataType: e,
layoutOption: r,
computedLayoutOption: null,
rect: u,
hostRect: h,
priority: h ? h.width * h.height : 0,
defaultAttr: {
ignore: i.ignore,
labelGuideIgnore: d && d.ignore,
x: SA.x,
y: SA.y,
scaleX: SA.scaleX,
scaleY: SA.scaleY,
rotation: SA.rotation,
style: {
x: o.x,
y: o.y,
align: o.align,
verticalAlign: o.verticalAlign,
width: o.width,
height: o.height,
fontSize: o.fontSize
},
cursor: i.cursor,
attachedPos: s.position,
attachedRot: s.rotation
}
})
}, t.prototype.addLabelsOfSeries = function(t) {
var e = this;
this._chartViewList.push(t);
var n = t.__model,
i = n.get("labelLayout");
(T(i) || w(i).length) && t.group.traverse(function(t) {
if (t.ignore) return !0;
var r = t.getTextContent(),
o = rS(t);
r && !r.disableLabelLayout && e._addLabel(o.dataIndex, o.dataType, n, r, i)
})
}, t.prototype.updateLayoutConfig = function(t) {
function e(t, e) {
return function() {
Of(t, e)
}
}
for (var n = t.getWidth(), i = t.getHeight(), r = 0; r < this._labelList.length; r++) {
var o = this._labelList[r],
a = o.label,
s = a.__hostTarget,
l = o.defaultAttr,
u = void 0;
u = T(o.layoutOption) ? o.layoutOption(Xf(o, s)) : o.layoutOption, u = u || {}, o
.computedLayoutOption = u;
var h = Math.PI / 180;
s && s.setTextConfig({
local: !1,
position: null != u.x || null != u.y ? null : l.attachedPos,
rotation: null != u.rotate ? u.rotate * h : l.attachedRot,
offset: [u.dx || 0, u.dy || 0]
});
var c = !1;
if (null != u.x ? (a.x = Ui(u.x, n), a.setStyle("x", 0), c = !0) : (a.x = l.x, a.setStyle(
"x", l.style.x)), null != u.y ? (a.y = Ui(u.y, i), a.setStyle("y", 0), c = !0) : (a
.y = l.y, a.setStyle("y", l.style.y)), u.labelLinePoints) {
var p = s.getTextGuideLine();
p && (p.setShape({
points: u.labelLinePoints
}), c = !1)
}
var d = MA(a);
d.needsUpdateLabelLine = c, a.rotation = null != u.rotate ? u.rotate * h : l.rotation, a
.scaleX = l.scaleX, a.scaleY = l.scaleY;
for (var f = 0; f < bA.length; f++) {
var g = bA[f];
a.setStyle(g, null != u[g] ? u[g] : l.style[g])
}
if (u.draggable) {
if (a.draggable = !0, a.cursor = "move", s) {
var v = o.seriesModel;
if (null != o.dataIndex) {
var y = o.seriesModel.getData(o.dataType);
v = y.getItemModel(o.dataIndex)
}
a.on("drag", e(s, v.getModel("labelLine")))
}
} else a.off("drag"), a.cursor = l.cursor
}
}, t.prototype.layout = function(t) {
var e = t.getWidth(),
n = t.getHeight(),
i = Vf(this._labelList),
r = _(i, function(t) {
return "shiftX" === t.layoutOption.moveOverlap
}),
o = _(i, function(t) {
return "shiftY" === t.layoutOption.moveOverlap
});
Wf(r, 0, e), Gf(o, 0, n);
var a = _(i, function(t) {
return t.layoutOption.hideOverlap
});
Uf(a)
}, t.prototype.processLabelsOverall = function() {
var t = this;
v(this._chartViewList, function(e) {
var n = e.__model,
i = e.ignoreLabelLineUpdate,
r = n.isAnimationEnabled();
e.group.traverse(function(e) {
if (e.ignore && !e.forceLabelAnimation) return !0;
var o = !i,
a = e.getTextContent();
!o && a && (o = MA(a).needsUpdateLabelLine), o && t._updateLabelLine(e,
n), r && t._animateLabels(e, n)
})
})
}, t.prototype._updateLabelLine = function(t, e) {
var n = t.getTextContent(),
i = rS(t),
r = i.dataIndex;
if (n && null != r) {
var o = e.getData(i.dataType),
a = o.getItemModel(r),
s = {},
l = o.getItemVisual(r, "style");
if (l) {
var u = o.getVisual("drawType");
s.stroke = l[u]
}
var h = a.getModel("labelLine");
Nf(t, Ff(a), s), Of(t, h)
}
}, t.prototype._animateLabels = function(t, e) {
var n = t.getTextContent(),
i = t.getTextGuideLine();
if (n && (t.forceLabelAnimation || !n.ignore && !n.invisible && !t.disableLabelAnimation && !cs(
t))) {
var r = MA(n),
o = r.oldLayout,
a = rS(t),
s = a.dataIndex,
l = {
x: n.x,
y: n.y,
rotation: n.rotation
},
u = e.getData(a.dataType);
if (o) {
n.attr(o);
var h = t.prevStates;
h && (p(h, "select") >= 0 && n.attr(r.oldLayoutSelect), p(h, "emphasis") >= 0 && n.attr(
r.oldLayoutEmphasis)), us(n, l, e, s)
} else if (n.attr(l), !EM(n).valueAnimation) {
var c = N(n.style.opacity, 1);
n.style.opacity = 0, hs(n, {
style: {
opacity: c
}
}, e, s)
}
if (r.oldLayout = l, n.states.select) {
var d = r.oldLayoutSelect = {};
Zf(d, l, CA), Zf(d, n.states.select, CA)
}
if (n.states.emphasis) {
var f = r.oldLayoutEmphasis = {};
Zf(f, l, CA), Zf(f, n.states.emphasis, CA)
}
Js(n, s, u, e, e)
}
if (i && !i.ignore && !i.invisible) {
var r = TA(i),
o = r.oldLayout,
g = {
points: i.shape.points
};
o ? (i.attr({
shape: o
}), us(i, {
shape: g
}, e)) : (i.setShape(g), i.style.strokePercent = 0, hs(i, {
style: {
strokePercent: 1
}
}, e)), r.oldLayout = g
}
}, t
}(),
DA = Or();
Kd(qf);
var kA = function(t) {
function n(e, n, i) {
var r = t.call(this) || this;
r.motionBlur = !1, r.lastFrameAlpha = .7, r.dpr = 1, r.virtual = !1, r.config = {}, r
.incremental = !1, r.zlevel = 0, r.maxRepaintRectCount = 5, r.__dirty = !0, r
.__firstTimePaint = !0, r.__used = !1, r.__drawIndex = 0, r.__startIndex = 0, r.__endIndex = 0,
r.__prevStartIndex = null, r.__prevEndIndex = null;
var o;
i = i || ew, "string" == typeof e ? o = jf(e, n, i) : k(e) && (o = e, e = o.id), r.id = e, r.dom =
o;
var a = o.style;
return a && (K(o), o.onselectstart = function() {
return !1
}, a.padding = "0", a.margin = "0", a.borderWidth = "0"), r.painter = n, r.dpr = i, r
}
return e(n, t), n.prototype.getElementCount = function() {
return this.__endIndex - this.__startIndex
}, n.prototype.afterBrush = function() {
this.__prevStartIndex = this.__startIndex, this.__prevEndIndex = this.__endIndex
}, n.prototype.initContext = function() {
this.ctx = this.dom.getContext("2d"), this.ctx.dpr = this.dpr
}, n.prototype.setUnpainted = function() {
this.__firstTimePaint = !0
}, n.prototype.createBackBuffer = function() {
var t = this.dpr;
this.domBack = jf("back-" + this.id, this.painter, t), this.ctxBack = this.domBack.getContext(
"2d"), 1 !== t && this.ctxBack.scale(t, t)
}, n.prototype.createRepaintRects = function(t, e, n, i) {
function r(t) {
if (t.isFinite() && !t.isZero())
if (0 === o.length) {
var e = new q_(0, 0, 0, 0);
e.copy(t), o.push(e)
} else {
for (var n = !1, i = 1 / 0, r = 0, u = 0; u < o.length; ++u) {
var h = o[u];
if (h.intersect(t)) {
var c = new q_(0, 0, 0, 0);
c.copy(h), c.union(t), o[u] = c, n = !0;
break
}
if (s) {
l.copy(t), l.union(h);
var p = t.width * t.height,
d = h.width * h.height,
f = l.width * l.height,
g = f - p - d;
i > g && (i = g, r = u)
}
}
if (s && (o[r].union(t), n = !0), !n) {
var e = new q_(0, 0, 0, 0);
e.copy(t), o.push(e)
}
s || (s = o.length >= a)
}
}
if (this.__firstTimePaint) return this.__firstTimePaint = !1, null;
for (var o = [], a = this.maxRepaintRectCount, s = !1, l = new q_(0, 0, 0, 0), u = this
.__startIndex; u < this.__endIndex; ++u) {
var h = t[u];
if (h) {
var c = h.shouldBePainted(n, i, !0, !0),
p = h.__isRendered && (h.__dirty & rx || !c) ? h.getPrevPaintRect() : null;
p && r(p);
var d = c && (h.__dirty & rx || !h.__isRendered) ? h.getPaintRect() : null;
d && r(d)
}
}
for (var u = this.__prevStartIndex; u < this.__prevEndIndex; ++u) {
var h = e[u],
c = h.shouldBePainted(n, i, !0, !0);
if (h && (!c || !h.__zr) && h.__isRendered) {
var p = h.getPrevPaintRect();
p && r(p)
}
}
var f;
do {
f = !1;
for (var u = 0; u < o.length;)
if (o[u].isZero()) o.splice(u, 1);
else {
for (var g = u + 1; g < o.length;) o[u].intersect(o[g]) ? (f = !0, o[u].union(o[g]),
o.splice(g, 1)) : g++;
u++
}
} while (f);
return this._paintRects = o, o
}, n.prototype.debugGetPaintRects = function() {
return (this._paintRects || []).slice()
}, n.prototype.resize = function(t, e) {
var n = this.dpr,
i = this.dom,
r = i.style,
o = this.domBack;
r && (r.width = t + "px", r.height = e + "px"), i.width = t * n, i.height = e * n, o && (o
.width = t * n, o.height = e * n, 1 !== n && this.ctxBack.scale(n, n))
}, n.prototype.clear = function(t, e, n) {
function i(t, n, i, r) {
if (o.clearRect(t, n, i, r), e && "transparent" !== e) {
var a = void 0;
if (O(e)) {
var s = e.global || e.__width === i && e.__height === r;
a = s && e.__canvasGradient || xc(o, e, {
x: 0,
y: 0,
width: i,
height: r
}), e.__canvasGradient = a, e.__width = i, e.__height = r
} else R(e) && (e.scaleX = e.scaleX || h, e.scaleY = e.scaleY || h, a = Pc(o, e, {
dirty: function() {
c.setUnpainted(), c.__painter.refresh()
}
}));
o.save(), o.fillStyle = a || e, o.fillRect(t, n, i, r), o.restore()
}
l && (o.save(), o.globalAlpha = u, o.drawImage(p, t, n, i, r), o.restore())
}
var r = this.dom,
o = this.ctx,
a = r.width,
s = r.height;
e = e || this.clearColor;
var l = this.motionBlur && !t,
u = this.lastFrameAlpha,
h = this.dpr,
c = this;
l && (this.domBack || this.createBackBuffer(), this.ctxBack.globalCompositeOperation = "copy",
this.ctxBack.drawImage(r, 0, 0, a / h, s / h));
var p = this.domBack;
!n || l ? i(0, 0, a, s) : n.length && v(n, function(t) {
i(t.x * h, t.y * h, t.width * h, t.height * h)
})
}, n
}(C_),
AA = 1e5,
PA = 314159,
LA = .01,
OA = .001,
RA = function() {
function t(t, e, n) {
this.type = "canvas", this._zlevelList = [], this._prevDisplayList = [], this._layers = {}, this
._layerConfig = {}, this._needsManuallyCompositing = !1, this.type = "canvas";
var i = !t.nodeName || "CANVAS" === t.nodeName.toUpperCase();
this._opts = n = h({}, n || {}), this.dpr = n.devicePixelRatio || ew, this._singleCanvas = i, this
.root = t;
var r = t.style;
r && (K(t), t.innerHTML = ""), this.storage = e;
var o = this._zlevelList;
this._prevDisplayList = [];
var a = this._layers;
if (i) {
var s = t,
l = s.width,
u = s.height;
null != n.width && (l = n.width), null != n.height && (u = n.height), this.dpr = n
.devicePixelRatio || 1, s.width = l * this.dpr, s.height = u * this.dpr, this._width = l,
this._height = u;
var c = new kA(s, this, this.dpr);
c.__builtin__ = !0, c.initContext(), a[PA] = c, c.zlevel = PA, o.push(PA), this._domRoot = t
} else {
this._width = Sc(t, 0, n), this._height = Sc(t, 1, n);
var p = this._domRoot = $f(this._width, this._height);
t.appendChild(p)
}
}
return t.prototype.getType = function() {
return "canvas"
}, t.prototype.isSingleCanvas = function() {
return this._singleCanvas
}, t.prototype.getViewportRoot = function() {
return this._domRoot
}, t.prototype.getViewportRootOffset = function() {
var t = this.getViewportRoot();
return t ? {
offsetLeft: t.offsetLeft || 0,
offsetTop: t.offsetTop || 0
} : void 0
}, t.prototype.refresh = function(t) {
var e = this.storage.getDisplayList(!0),
n = this._prevDisplayList,
i = this._zlevelList;
this._redrawId = Math.random(), this._paintList(e, n, t, this._redrawId);
for (var r = 0; r < i.length; r++) {
var o = i[r],
a = this._layers[o];
if (!a.__builtin__ && a.refresh) {
var s = 0 === r ? this._backgroundColor : null;
a.refresh(s)
}
}
return this._opts.useDirtyRect && (this._prevDisplayList = e.slice()), this
}, t.prototype.refreshHover = function() {
this._paintHoverList(this.storage.getDisplayList(!1))
}, t.prototype._paintHoverList = function(t) {
var e = t.length,
n = this._hoverlayer;
if (n && n.clear(), e) {
for (var i, r = {
inHover: !0,
viewWidth: this._width,
viewHeight: this._height
}, o = 0; e > o; o++) {
var a = t[o];
a.__inHover && (n || (n = this._hoverlayer = this.getLayer(AA)), i || (i = n.ctx, i
.save()), Yc(i, a, r, o === e - 1))
}
i && i.restore()
}
}, t.prototype.getHoverLayer = function() {
return this.getLayer(AA)
}, t.prototype.paintOne = function(t, e) {
Uc(t, e)
}, t.prototype._paintList = function(t, e, n, i) {
if (this._redrawId === i) {
n = n || !1, this._updateLayerStatus(t);
var r = this._doPaintList(t, e, n),
o = r.finished,
a = r.needsRefreshHover;
if (this._needsManuallyCompositing && this._compositeManually(), a && this._paintHoverList(
t), o) this.eachLayer(function(t) {
t.afterBrush && t.afterBrush()
});
else {
var s = this;
ux(function() {
s._paintList(t, e, n, i)
})
}
}
}, t.prototype._compositeManually = function() {
var t = this.getLayer(PA).ctx,
e = this._domRoot.width,
n = this._domRoot.height;
t.clearRect(0, 0, e, n), this.eachBuiltinLayer(function(i) {
i.virtual && t.drawImage(i.dom, 0, 0, e, n)
})
}, t.prototype._doPaintList = function(t, e, n) {
for (var i = this, r = [], o = this._opts.useDirtyRect, a = 0; a < this._zlevelList
.length; a++) {
var s = this._zlevelList[a],
l = this._layers[s];
l.__builtin__ && l !== this._hoverlayer && (l.__dirty || n) && r.push(l)
}
for (var u = !0, h = !1, c = function(a) {
var s = r[a],
l = s.ctx,
c = o && s.createRepaintRects(t, e, p._width, p._height),
d = n ? s.__startIndex : s.__drawIndex,
f = !n && s.incremental && Date.now,
g = f && Date.now(),
v = s.zlevel === p._zlevelList[0] ? p._backgroundColor : null;
if (s.__startIndex === s.__endIndex) s.clear(!1, v, c);
else if (d === s.__startIndex) {
var y = t[d];
y.incremental && y.notClear && !n || s.clear(!1, v, c)
} - 1 === d && (console.error("For some unknown reason. drawIndex is -1"), d = s
.__startIndex);
var m, _ = function(e) {
var n = {
inHover: !1,
allClipped: !1,
prevEl: null,
viewWidth: i._width,
viewHeight: i._height
};
for (m = d; m < s.__endIndex; m++) {
var r = t[m];
if (r.__inHover && (h = !0), i._doPaintEl(r, s, o, e, n, m === s
.__endIndex - 1), f) {
var a = Date.now() - g;
if (a > 15) break
}
}
n.prevElClipPaths && l.restore()
};
if (c)
if (0 === c.length) m = s.__endIndex;
else
for (var x = p.dpr, w = 0; w < c.length; ++w) {
var b = c[w];
l.save(), l.beginPath(), l.rect(b.x * x, b.y * x, b.width * x, b
.height * x), l.clip(), _(b), l.restore()
} else l.save(), _(), l.restore();
s.__drawIndex = m, s.__drawIndex < s.__endIndex && (u = !1)
}, p = this, d = 0; d < r.length; d++) c(d);
return Um.wxa && v(this._layers, function(t) {
t && t.ctx && t.ctx.draw && t.ctx.draw()
}), {
finished: u,
needsRefreshHover: h
}
}, t.prototype._doPaintEl = function(t, e, n, i, r, o) {
var a = e.ctx;
if (n) {
var s = t.getPaintRect();
(!i || s && s.intersect(i)) && (Yc(a, t, r, o), t.setPrevPaintRect(s))
} else Yc(a, t, r, o)
}, t.prototype.getLayer = function(t, e) {
this._singleCanvas && !this._needsManuallyCompositing && (t = PA);
var n = this._layers[t];
return n || (n = new kA("zr_" + t, this, this.dpr), n.zlevel = t, n.__builtin__ = !0, this
._layerConfig[t] ? l(n, this._layerConfig[t], !0) : this._layerConfig[t - LA] && l(n,
this._layerConfig[t - LA], !0), e && (n.virtual = e), this.insertLayer(t, n), n
.initContext()), n
}, t.prototype.insertLayer = function(t, e) {
var n = this._layers,
i = this._zlevelList,
r = i.length,
o = this._domRoot,
a = null,
s = -1;
if (!n[t] && Kf(e)) {
if (r > 0 && t > i[0]) {
for (s = 0; r - 1 > s && !(i[s] < t && i[s + 1] > t); s++);
a = n[i[s]]
}
if (i.splice(s + 1, 0, t), n[t] = e, !e.virtual)
if (a) {
var l = a.dom;
l.nextSibling ? o.insertBefore(e.dom, l.nextSibling) : o.appendChild(e.dom)
} else o.firstChild ? o.insertBefore(e.dom, o.firstChild) : o.appendChild(e.dom);
e.__painter = this
}
}, t.prototype.eachLayer = function(t, e) {
for (var n = this._zlevelList, i = 0; i < n.length; i++) {
var r = n[i];
t.call(e, this._layers[r], r)
}
}, t.prototype.eachBuiltinLayer = function(t, e) {
for (var n = this._zlevelList, i = 0; i < n.length; i++) {
var r = n[i],
o = this._layers[r];
o.__builtin__ && t.call(e, o, r)
}
}, t.prototype.eachOtherLayer = function(t, e) {
for (var n = this._zlevelList, i = 0; i < n.length; i++) {
var r = n[i],
o = this._layers[r];
o.__builtin__ || t.call(e, o, r)
}
}, t.prototype.getLayers = function() {
return this._layers
}, t.prototype._updateLayerStatus = function(t) {
function e(t) {
s && (s.__endIndex !== t && (s.__dirty = !0), s.__endIndex = t)
}
if (this.eachBuiltinLayer(function(t) {
t.__dirty = t.__used = !1
}), this._singleCanvas)
for (var n = 1; n < t.length; n++) {
var i = t[n];
if (i.zlevel !== t[n - 1].zlevel || i.incremental) {
this._needsManuallyCompositing = !0;
break
}
}
var r, o, s = null,
l = 0;
for (o = 0; o < t.length; o++) {
var i = t[o],
u = i.zlevel,
h = void 0;
r !== u && (r = u, l = 0), i.incremental ? (h = this.getLayer(u + OA, this
._needsManuallyCompositing), h.incremental = !0, l = 1) : h = this.getLayer(u + (l >
0 ? LA : 0), this._needsManuallyCompositing), h.__builtin__ || a("ZLevel " + u +
" has been used by unkown layer " + h.id), h !== s && (h.__used = !0, h
.__startIndex !== o && (h.__dirty = !0), h.__startIndex = o, h.__drawIndex = h
.incremental ? -1 : o, e(o), s = h), i.__dirty & rx && !i.__inHover && (h
.__dirty = !0, h.incremental && h.__drawIndex < 0 && (h.__drawIndex = o))
}
e(o), this.eachBuiltinLayer(function(t) {
!t.__used && t.getElementCount() > 0 && (t.__dirty = !0, t.__startIndex = t
.__endIndex = t.__drawIndex = 0), t.__dirty && t.__drawIndex < 0 && (t
.__drawIndex = t.__startIndex)
})
}, t.prototype.clear = function() {
return this.eachBuiltinLayer(this._clearLayer), this
}, t.prototype._clearLayer = function(t) {
t.clear()
}, t.prototype.setBackgroundColor = function(t) {
this._backgroundColor = t, v(this._layers, function(t) {
t.setUnpainted()
})
}, t.prototype.configLayer = function(t, e) {
if (e) {
var n = this._layerConfig;
n[t] ? l(n[t], e, !0) : n[t] = e;
for (var i = 0; i < this._zlevelList.length; i++) {
var r = this._zlevelList[i];
if (r === t || r === t + LA) {
var o = this._layers[r];
l(o, n[t], !0)
}
}
}
}, t.prototype.delLayer = function(t) {
var e = this._layers,
n = this._zlevelList,
i = e[t];
i && (i.dom.parentNode.removeChild(i.dom), delete e[t], n.splice(p(n, t), 1))
}, t.prototype.resize = function(t, e) {
if (this._domRoot.style) {
var n = this._domRoot;
n.style.display = "none";
var i = this._opts,
r = this.root;
if (null != t && (i.width = t), null != e && (i.height = e), t = Sc(r, 0, i), e = Sc(r, 1,
i), n.style.display = "", this._width !== t || e !== this._height) {
n.style.width = t + "px", n.style.height = e + "px";
for (var o in this._layers) this._layers.hasOwnProperty(o) && this._layers[o].resize(t,
e);
this.refresh(!0)
}
this._width = t, this._height = e
} else {
if (null == t || null == e) return;
this._width = t, this._height = e, this.getLayer(PA).resize(t, e)
}
return this
}, t.prototype.clearLayer = function(t) {
var e = this._layers[t];
e && e.clear()
}, t.prototype.dispose = function() {
this.root.innerHTML = "", this.root = this.storage = this._domRoot = this._layers = null
}, t.prototype.getRenderedCanvas = function(t) {
if (t = t || {}, this._singleCanvas && !this._compositeManually) return this._layers[PA].dom;
var e = new kA("image", this, t.pixelRatio || this.dpr);
e.initContext(), e.clear(!1, t.backgroundColor || this._backgroundColor);
var n = e.ctx;
if (t.pixelRatio <= this.dpr) {
this.refresh();
var i = e.dom.width,
r = e.dom.height;
this.eachLayer(function(t) {
t.__builtin__ ? n.drawImage(t.dom, 0, 0, i, r) : t.renderToCanvas && (n.save(),
t.renderToCanvas(n), n.restore())
})
} else
for (var o = {
inHover: !1,
viewWidth: this._width,
viewHeight: this._height
}, a = this.storage.getDisplayList(!0), s = 0, l = a.length; l > s; s++) {
var u = a[s];
Yc(n, u, o, s === l - 1)
}
return e.dom
}, t.prototype.getWidth = function() {
return this._width
}, t.prototype.getHeight = function() {
return this._height
}, t
}(),
zA = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = "dataset", e
}
return e(n, t), n.prototype.init = function(e, n, i) {
t.prototype.init.call(this, e, n, i), this._sourceManager = new PC(this), hh(this)
}, n.prototype.mergeOption = function(e, n) {
t.prototype.mergeOption.call(this, e, n), hh(this)
}, n.prototype.optionUpdated = function() {
this._sourceManager.dirty()
}, n.prototype.getSourceManager = function() {
return this._sourceManager
}, n.type = "dataset", n.defaultOption = {
seriesLayoutBy: RT
}, n
}(wT),
EA = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = "dataset", e
}
return e(n, t), n.type = "dataset", n
}(FC);
Kd([Qf, Jf]), Kd(qf);
var BA = {
average: function(t) {
for (var e = 0, n = 0, i = 0; i < t.length; i++) isNaN(t[i]) || (e += t[i], n++);
return 0 === n ? 0 / 0 : e / n
},
sum: function(t) {
for (var e = 0, n = 0; n < t.length; n++) e += t[n] || 0;
return e
},
max: function(t) {
for (var e = -1 / 0, n = 0; n < t.length; n++) t[n] > e && (e = t[n]);
return isFinite(e) ? e : 0 / 0
},
min: function(t) {
for (var e = 1 / 0, n = 0; n < t.length; n++) t[n] < e && (e = t[n]);
return isFinite(e) ? e : 0 / 0
},
nearest: function(t) {
return t[0]
}
},
NA = function(t) {
return Math.round(t.length / 2)
},
FA = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e
}
return e(n, t), n.prototype.getInitialData = function() {
return Kp(null, this, {
useEncodeDefaulter: !0
})
}, n.prototype.getMarkerPosition = function(t, e, n) {
var i = this.coordinateSystem;
if (i && i.clampData) {
var r = i.clampData(t),
o = i.dataToPoint(r);
if (n) v(i.getAxes(), function(t, n) {
if ("category" === t.type && null != e) {
var i = t.getTicksCoords(),
a = r[n],
s = "x1" === e[n] || "y1" === e[n];
if (s && (a += 1), i.length < 2) return;
if (2 === i.length) return void(o[n] = t.toGlobalCoord(t.getExtent()[s ? 1 :
0]));
for (var l = void 0, u = void 0, h = 1, c = 0; c < i.length; c++) {
var p = i[c].coord,
d = c === i.length - 1 ? i[c - 1].tickValue + h : i[c].tickValue;
if (d === a) {
u = p;
break
}
if (a > d) l = p;
else if (null != l && d > a) {
u = (p + l) / 2;
break
}
1 === c && (h = d - i[0].tickValue)
}
null == u && (l ? l && (u = i[i.length - 1].coord) : u = i[0].coord), o[n] =
t.toGlobalCoord(u)
}
});
else {
var a = this.getData(),
s = a.getLayout("offset"),
l = a.getLayout("size"),
u = i.getBaseAxis().isHorizontal() ? 0 : 1;
o[u] += s + l / 2
}
return o
}
return [0 / 0, 0 / 0]
}, n.type = "series.__base_bar__", n.defaultOption = {
z: 2,
coordinateSystem: "cartesian2d",
legendHoverLink: !0,
barMinHeight: 0,
barMinAngle: 0,
large: !1,
largeThreshold: 400,
progressive: 3e3,
progressiveChunkMode: "mod"
}, n
}(NC);
NC.registerClass(FA);
var VA = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e
}
return e(n, t), n.prototype.getInitialData = function() {
return Kp(null, this, {
useEncodeDefaulter: !0,
createInvertedIndices: !!this.get("realtimeSort", !0) || null
})
}, n.prototype.getProgressive = function() {
return this.get("large") ? this.get("progressive") : !1
}, n.prototype.getProgressiveThreshold = function() {
var t = this.get("progressiveThreshold"),
e = this.get("largeThreshold");
return e > t && (t = e), t
}, n.prototype.brushSelector = function(t, e, n) {
return n.rect(e.getItemLayout(t))
}, n.type = "series.bar", n.dependencies = ["grid", "polar"], n.defaultOption = il(FA
.defaultOption, {
clip: !0,
roundCap: !1,
showBackground: !1,
backgroundStyle: {
color: "rgba(180, 180, 180, 0.2)",
borderColor: null,
borderWidth: 0,
borderType: "solid",
borderRadius: 0,
shadowBlur: 0,
shadowColor: null,
shadowOffsetX: 0,
shadowOffsetY: 0,
opacity: 1
},
select: {
itemStyle: {
borderColor: "#212121"
}
},
realtimeSort: !1
}), n
}(FA),
HA = function() {
function t() {
this.cx = 0, this.cy = 0, this.r0 = 0, this.r = 0, this.startAngle = 0, this.endAngle = 2 * Math.PI,
this.clockwise = !0
}
return t
}(),
WA = function(t) {
function n(e) {
var n = t.call(this, e) || this;
return n.type = "sausage", n
}
return e(n, t), n.prototype.getDefaultShape = function() {
return new HA
}, n.prototype.buildPath = function(t, e) {
var n = e.cx,
i = e.cy,
r = Math.max(e.r0 || 0, 0),
o = Math.max(e.r, 0),
a = .5 * (o - r),
s = r + a,
l = e.startAngle,
u = e.endAngle,
h = e.clockwise,
c = 2 * Math.PI,
p = h ? c > u - l : c > l - u;
p || (l = u - (h ? c : -c));
var d = Math.cos(l),
f = Math.sin(l),
g = Math.cos(u),
v = Math.sin(u);
p ? (t.moveTo(d * r + n, f * r + i), t.arc(d * s + n, f * s + i, a, -Math.PI + l, l, !h)) : t
.moveTo(d * o + n, f * o + i), t.arc(n, i, o, l, u, !h), t.arc(g * s + n, v * s + i, a, u -
2 * Math.PI, u - Math.PI, !h), 0 !== r && t.arc(n, i, r, u, l, h)
}, n
}(Hb),
GA = Math.max,
UA = Math.min,
YA = function(t) {
function n() {
var e = t.call(this) || this;
return e.type = n.type, e._isFirstFrame = !0, e
}
return e(n, t), n.prototype.render = function(t, e, n, i) {
this._model = t, this._removeOnRenderedListener(n), this._updateDrawMode(t);
var r = t.get("coordinateSystem");
("cartesian2d" === r || "polar" === r) && (this._progressiveEls = null, this._isLargeDraw ? this
._renderLarge(t, e, n) : this._renderNormal(t, e, n, i))
}, n.prototype.incrementalPrepareRender = function(t) {
this._clear(), this._updateDrawMode(t), this._updateLargeClip(t)
}, n.prototype.incrementalRender = function(t, e) {
this._progressiveEls = [], this._incrementalRenderLarge(t, e)
}, n.prototype.eachRendered = function(t) {
Hs(this._progressiveEls || this.group, t)
}, n.prototype._updateDrawMode = function(t) {
var e = t.pipelineContext.large;
(null == this._isLargeDraw || e !== this._isLargeDraw) && (this._isLargeDraw = e, this._clear())
}, n.prototype._renderNormal = function(t, e, n, i) {
function r(t) {
var e = $A[u.type](s, t),
n = Sg(u, o, e);
return n.useStyle(y.getItemStyle()), "cartesian2d" === u.type ? n.setShape("r", m) : n
.setShape("cornerRadius", m), _[t] = n, n
}
var o, a = this.group,
s = t.getData(),
l = this._data,
u = t.coordinateSystem,
h = u.getBaseAxis();
"cartesian2d" === u.type ? o = h.isHorizontal() : "polar" === u.type && (o = "angle" === h.dim);
var c = t.isAnimationEnabled() ? t : null,
p = dg(t, u);
p && this._enableRealtimeSort(p, s, n);
var d = t.get("clip", !0) || p,
f = pg(u, s);
a.removeClipPath();
var g = t.get("roundCap", !0),
v = t.get("showBackground", !0),
y = t.getModel("backgroundStyle"),
m = y.get("borderRadius") || 0,
_ = [],
x = this._backgroundEls,
w = i && i.isInitSort,
b = i && "changeAxisOrder" === i.type;
s.diff(l).add(function(e) {
var n = s.getItemModel(e),
i = $A[u.type](s, e, n);
if (v && r(e), s.hasValue(e) && KA[u.type](i)) {
var l = !1;
d && (l = XA[u.type](f, i));
var y = ZA[u.type](t, s, e, i, o, c, h.model, !1, g);
p && (y.forceLabelAnimation = !0), mg(y, s, e, n, i, t, o, "polar" === u.type),
w ? y.attr({
shape: i
}) : p ? fg(p, c, y, i, e, o, !1, !1) : hs(y, {
shape: i
}, t, e), s.setItemGraphicEl(e, y), a.add(y), y.ignore = l
}
}).update(function(e, n) {
var i = s.getItemModel(e),
S = $A[u.type](s, e, i);
if (v) {
var M = void 0;
0 === x.length ? M = r(n) : (M = x[n], M.useStyle(y.getItemStyle()),
"cartesian2d" === u.type ? M.setShape("r", m) : M.setShape(
"cornerRadius", m), _[e] = M);
var T = $A[u.type](s, e),
C = bg(o, T, u);
us(M, {
shape: C
}, c, e)
}
var I = l.getItemGraphicEl(n);
if (!s.hasValue(e) || !KA[u.type](S)) return void a.remove(I);
var D = !1;
if (d && (D = XA[u.type](f, S), D && a.remove(I)), I ? gs(I) : I = ZA[u.type](t, s,
e, S, o, c, h.model, !!I, g), p && (I.forceLabelAnimation = !0), b) {
var k = I.getTextContent();
if (k) {
var A = EM(k);
null != A.prevValue && (A.prevValue = A.value)
}
} else mg(I, s, e, i, S, t, o, "polar" === u.type);
w ? I.attr({
shape: S
}) : p ? fg(p, c, I, S, e, o, !0, b) : us(I, {
shape: S
}, t, e, null), s.setItemGraphicEl(e, I), I.ignore = D, a.add(I)
}).remove(function(e) {
var n = l.getItemGraphicEl(e);
n && fs(n, t, e)
}).execute();
var S = this._backgroundGroup || (this._backgroundGroup = new ww);
S.removeAll();
for (var M = 0; M < _.length; ++M) S.add(_[M]);
a.add(S), this._backgroundEls = _, this._data = s
}, n.prototype._renderLarge = function(t) {
this._clear(), xg(t, this.group), this._updateLargeClip(t)
}, n.prototype._incrementalRenderLarge = function(t, e) {
this._removeBackground(), xg(e, this.group, this._progressiveEls, !0)
}, n.prototype._updateLargeClip = function(t) {
var e = t.get("clip", !0) && ig(t.coordinateSystem, !1, t),
n = this.group;
e ? n.setClipPath(e) : n.removeClipPath()
}, n.prototype._enableRealtimeSort = function(t, e, n) {
var i = this;
if (e.count()) {
var r = t.baseAxis;
if (this._isFirstFrame) this._dispatchInitSort(e, t, n), this._isFirstFrame = !1;
else {
var o = function(t) {
var n = e.getItemGraphicEl(t),
i = n && n.shape;
return i && Math.abs(r.isHorizontal() ? i.height : i.width) || 0
};
this._onRendered = function() {
i._updateSortWithinSameData(e, o, r, n)
}, n.getZr().on("rendered", this._onRendered)
}
}
}, n.prototype._dataSort = function(t, e, n) {
var i = [];
return t.each(t.mapDimension(e.dim), function(t, e) {
var r = n(e);
r = null == r ? 0 / 0 : r, i.push({
dataIndex: e,
mappedValue: r,
ordinalNumber: t
})
}), i.sort(function(t, e) {
return e.mappedValue - t.mappedValue
}), {
ordinalNumbers: y(i, function(t) {
return t.ordinalNumber
})
}
}, n.prototype._isOrderChangedWithinSameData = function(t, e, n) {
for (var i = n.scale, r = t.mapDimension(n.dim), o = Number.MAX_VALUE, a = 0, s = i
.getOrdinalMeta().categories.length; s > a; ++a) {
var l = t.rawIndexOf(r, i.getRawOrdinalNumber(a)),
u = 0 > l ? Number.MIN_VALUE : e(t.indexOfRawIndex(l));
if (u > o) return !0;
o = u
}
return !1
}, n.prototype._isOrderDifferentInView = function(t, e) {
for (var n = e.scale, i = n.getExtent(), r = Math.max(0, i[0]), o = Math.min(i[1], n
.getOrdinalMeta().categories.length - 1); o >= r; ++r)
if (t.ordinalNumbers[r] !== n.getRawOrdinalNumber(r)) return !0
}, n.prototype._updateSortWithinSameData = function(t, e, n, i) {
if (this._isOrderChangedWithinSameData(t, e, n)) {
var r = this._dataSort(t, n, e);
this._isOrderDifferentInView(r, n) && (this._removeOnRenderedListener(i), i.dispatchAction({
type: "changeAxisOrder",
componentType: n.dim + "Axis",
axisId: n.index,
sortInfo: r
}))
}
}, n.prototype._dispatchInitSort = function(t, e, n) {
var i = e.baseAxis,
r = this._dataSort(t, i, function(n) {
return t.get(t.mapDimension(e.otherAxis.dim), n)
});
n.dispatchAction({
type: "changeAxisOrder",
componentType: i.dim + "Axis",
isInitSort: !0,
axisId: i.index,
sortInfo: r
})
}, n.prototype.remove = function(t, e) {
this._clear(this._model), this._removeOnRenderedListener(e)
}, n.prototype.dispose = function(t, e) {
this._removeOnRenderedListener(e)
}, n.prototype._removeOnRenderedListener = function(t) {
this._onRendered && (t.getZr().off("rendered", this._onRendered), this._onRendered = null)
}, n.prototype._clear = function(t) {
var e = this.group,
n = this._data;
t && t.isAnimationEnabled() && n && !this._isLargeDraw ? (this._removeBackground(), this
._backgroundEls = [], n.eachItemGraphicEl(function(e) {
fs(e, t, rS(e).dataIndex)
})) : e.removeAll(), this._data = null, this._isFirstFrame = !0
}, n.prototype._removeBackground = function() {
this.group.remove(this._backgroundGroup), this._backgroundGroup = null
}, n.type = "bar", n
}(WC),
XA = {
cartesian2d: function(t, e) {
var n = e.width < 0 ? -1 : 1,
i = e.height < 0 ? -1 : 1;
0 > n && (e.x += e.width, e.width = -e.width), 0 > i && (e.y += e.height, e.height = -e.height);
var r = t.x + t.width,
o = t.y + t.height,
a = GA(e.x, t.x),
s = UA(e.x + e.width, r),
l = GA(e.y, t.y),
u = UA(e.y + e.height, o),
h = a > s,
c = l > u;
return e.x = h && a > r ? s : a, e.y = c && l > o ? u : l, e.width = h ? 0 : s - a, e.height =
c ? 0 : u - l, 0 > n && (e.x += e.width, e.width = -e.width), 0 > i && (e.y += e.height, e
.height = -e.height), h || c
},
polar: function(t, e) {
var n = e.r0 <= e.r ? 1 : -1;
if (0 > n) {
var i = e.r;
e.r = e.r0, e.r0 = i
}
var r = UA(e.r, t.r),
o = GA(e.r0, t.r0);
e.r = r, e.r0 = o;
var a = 0 > r - o;
if (0 > n) {
var i = e.r;
e.r = e.r0, e.r0 = i
}
return a
}
},
ZA = {
cartesian2d: function(t, e, n, i, r, o) {
var a = new Kb({
shape: h({}, i),
z2: 1
});
if (a.__dataIndex = n, a.name = "item", o) {
var s = a.shape,
l = r ? "height" : "width";
s[l] = 0
}
return a
},
polar: function(t, e, n, i, r, o, a, s, l) {
var u = !r && l ? WA : QS,
h = new u({
shape: i,
z2: 1
});
h.name = "item";
var c = yg(r);
if (h.calculateTextPosition = sg(c, {
isRoundCap: u === WA
}), o) {
var p = h.shape,
d = r ? "r" : "endAngle",
f = {};
p[d] = r ? i.r0 : i.startAngle, f[d] = i[d], (s ? us : hs)(h, {
shape: f
}, o)
}
return h
}
},
qA = ["x", "y", "width", "height"],
jA = ["cx", "cy", "r", "startAngle", "endAngle"],
KA = {
cartesian2d: function(t) {
return !gg(t, qA)
},
polar: function(t) {
return !gg(t, jA)
}
},
$A = {
cartesian2d: function(t, e, n) {
var i = t.getItemLayout(e),
r = n ? _g(n, i) : 0,
o = i.width > 0 ? 1 : -1,
a = i.height > 0 ? 1 : -1;
return {
x: i.x + o * r / 2,
y: i.y + a * r / 2,
width: i.width - o * r,
height: i.height - a * r
}
},
polar: function(t, e) {
var n = t.getItemLayout(e);
return {
cx: n.cx,
cy: n.cy,
r0: n.r0,
r: n.r,
startAngle: n.startAngle,
endAngle: n.endAngle,
clockwise: n.clockwise
}
}
},
QA = function() {
function t() {}
return t
}(),
JA = function(t) {
function n(e) {
var n = t.call(this, e) || this;
return n.type = "largeBar", n
}
return e(n, t), n.prototype.getDefaultShape = function() {
return new QA
}, n.prototype.buildPath = function(t, e) {
for (var n = e.points, i = this.baseDimIdx, r = 1 - this.baseDimIdx, o = [], a = [], s = this
.barWidth, l = 0; l < n.length; l += 3) a[i] = s, a[r] = n[l + 2], o[i] = n[l + i], o[
r] = n[l + r], t.rect(o[0], o[1], a[0], a[1])
}, n
}(Hb),
tP = Yh(function(t) {
var e = this,
n = wg(e, t.offsetX, t.offsetY);
rS(e).dataIndex = n >= 0 ? n : null
}, 30, !1);
Kd(Mg);
var eP = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e.hasSymbolVisual = !0, e
}
return e(n, t), n.prototype.getInitialData = function() {
return Kp(null, this, {
useEncodeDefaulter: !0
})
}, n.prototype.getLegendIcon = function(t) {
var e = new ww,
n = fc("line", 0, t.itemHeight / 2, t.itemWidth, 0, t.lineStyle.stroke, !1);
e.add(n), n.setStyle(t.lineStyle);
var i = this.getData().getVisual("symbol"),
r = this.getData().getVisual("symbolRotate"),
o = "none" === i ? "circle" : i,
a = .8 * t.itemHeight,
s = fc(o, (t.itemWidth - a) / 2, (t.itemHeight - a) / 2, a, a, t.itemStyle.fill);
e.add(s), s.setStyle(t.itemStyle);
var l = "inherit" === t.iconRotate ? r : t.iconRotate || 0;
return s.rotation = l * Math.PI / 180, s.setOrigin([t.itemWidth / 2, t.itemHeight / 2]), o
.indexOf("empty") > -1 && (s.style.stroke = s.style.fill, s.style.fill = "#fff", s.style
.lineWidth = 2), e
}, n.type = "series.line", n.dependencies = ["grid", "polar"], n.defaultOption = {
z: 3,
coordinateSystem: "cartesian2d",
legendHoverLink: !0,
clip: !0,
label: {
position: "top"
},
endLabel: {
show: !1,
valueAnimation: !0,
distance: 8
},
lineStyle: {
width: 2,
type: "solid"
},
emphasis: {
scale: !0
},
step: !1,
smooth: !1,
smoothMonotone: null,
symbol: "emptyCircle",
symbolSize: 4,
symbolRotate: null,
showSymbol: !0,
showAllSymbol: "auto",
connectNulls: !1,
sampling: "none",
animationEasing: "linear",
progressive: 0,
hoverLayerThreshold: 1 / 0,
universalTransition: {
divideShape: "clone"
},
triggerLineEvent: !1
}, n
}(NC),
nP = function(t) {
function n(e, n, i, r) {
var o = t.call(this) || this;
return o.updateData(e, n, i, r), o
}
return e(n, t), n.prototype._createSymbol = function(t, e, n, i, r) {
this.removeAll();
var o = fc(t, -1, -1, 2, 2, null, r);
o.attr({
z2: 100,
culling: !0,
scaleX: i[0] / 2,
scaleY: i[1] / 2
}), o.drift = Tg, this._symbolType = t, this.add(o)
}, n.prototype.stopSymbolAnimation = function(t) {
this.childAt(0).stopAnimation(null, t)
}, n.prototype.getSymbolType = function() {
return this._symbolType
}, n.prototype.getSymbolPath = function() {
return this.childAt(0)
}, n.prototype.highlight = function() {
ga(this.childAt(0))
}, n.prototype.downplay = function() {
va(this.childAt(0))
}, n.prototype.setZ = function(t, e) {
var n = this.childAt(0);
n.zlevel = t, n.z = e
}, n.prototype.setDraggable = function(t, e) {
var n = this.childAt(0);
n.draggable = t, n.cursor = !e && t ? "move" : n.cursor
}, n.prototype.updateData = function(t, e, i, r) {
this.silent = !1;
var o = t.getItemVisual(e, "symbol") || "circle",
a = t.hostModel,
s = n.getSymbolSize(t, e),
l = o !== this._symbolType,
u = r && r.disableAnimation;
if (l) {
var h = t.getItemVisual(e, "symbolKeepAspect");
this._createSymbol(o, t, e, s, h)
} else {
var c = this.childAt(0);
c.silent = !1;
var p = {
scaleX: s[0] / 2,
scaleY: s[1] / 2
};
u ? c.attr(p) : us(c, p, a, e), gs(c)
}
if (this._updateCommon(t, e, s, i, r), l) {
var c = this.childAt(0);
if (!u) {
var p = {
scaleX: this._sizeX,
scaleY: this._sizeY,
style: {
opacity: c.style.opacity
}
};
c.scaleX = c.scaleY = 0, c.style.opacity = 0, hs(c, p, a, e)
}
}
u && this.childAt(0).stopAnimation("leave")
}, n.prototype._updateCommon = function(t, e, n, i, r) {
function o(e) {
return I ? t.getName(e) : og(t, e)
}
var a, s, l, u, c, p, d, f, g, v = this.childAt(0),
y = t.hostModel;
if (i && (a = i.emphasisItemStyle, s = i.blurItemStyle, l = i.selectItemStyle, u = i.focus, c =
i.blurScope, d = i.labelStatesModels, f = i.hoverScale, g = i.cursorStyle, p = i
.emphasisDisabled), !i || t.hasItemOption) {
var m = i && i.itemModel ? i.itemModel : t.getItemModel(e),
_ = m.getModel("emphasis");
a = _.getModel("itemStyle").getItemStyle(), l = m.getModel(["select", "itemStyle"])
.getItemStyle(), s = m.getModel(["blur", "itemStyle"]).getItemStyle(), u = _.get(
"focus"), c = _.get("blurScope"), p = _.get("disabled"), d = Ys(m), f = _
.getShallow("scale"), g = m.getShallow("cursor")
}
var x = t.getItemVisual(e, "symbolRotate");
v.attr("rotation", (x || 0) * Math.PI / 180 || 0);
var w = vc(t.getItemVisual(e, "symbolOffset"), n);
w && (v.x = w[0], v.y = w[1]), g && v.attr("cursor", g);
var b = t.getItemVisual(e, "style"),
S = b.fill;
if (v instanceof Xb) {
var M = v.style;
v.useStyle(h({
image: M.image,
x: M.x,
y: M.y,
width: M.width,
height: M.height
}, b))
} else v.useStyle(v.__isEmptyBrush ? h({}, b) : b), v.style.decal = null, v.setColor(S, r && r
.symbolInnerColor), v.style.strokeNoScale = !0;
var T = t.getItemVisual(e, "liftZ"),
C = this._z2;
null != T ? null == C && (this._z2 = v.z2, v.z2 += T) : null != C && (v.z2 = C, this._z2 =
null);
var I = r && r.useNameLabel;
Us(v, d, {
labelFetcher: y,
labelDataIndex: e,
defaultText: o,
inheritColor: S,
defaultOpacity: b.opacity
}), this._sizeX = n[0] / 2, this._sizeY = n[1] / 2;
var D = v.ensureState("emphasis");
D.style = a, v.ensureState("select").style = l, v.ensureState("blur").style = s;
var k = null == f || f === !0 ? Math.max(1.1, 3 / this._sizeY) : isFinite(f) && f > 0 ? +f : 1;
D.scaleX = this._sizeX * k, D.scaleY = this._sizeY * k, this.setSymbolScale(1), Ra(this, u, c,
p)
}, n.prototype.setSymbolScale = function(t) {
this.scaleX = this.scaleY = t
}, n.prototype.fadeOut = function(t, e, n) {
var i = this.childAt(0),
r = rS(this).dataIndex,
o = n && n.animation;
if (this.silent = i.silent = !0, n && n.fadeLabel) {
var a = i.getTextContent();
a && ps(a, {
style: {
opacity: 0
}
}, e, {
dataIndex: r,
removeOpt: o,
cb: function() {
i.removeTextContent()
}
})
} else i.removeTextContent();
ps(i, {
style: {
opacity: 0
},
scaleX: 0,
scaleY: 0
}, e, {
dataIndex: r,
cb: t,
removeOpt: o
})
}, n.getSymbolSize = function(t, e) {
return gc(t.getItemVisual(e, "symbolSize"))
}, n
}(ww),
iP = function() {
function t(t) {
this.group = new ww, this._SymbolCtor = t || nP
}
return t.prototype.updateData = function(t, e) {
this._progressiveEls = null, e = Ig(e);
var n = this.group,
i = t.hostModel,
r = this._data,
o = this._SymbolCtor,
a = e.disableAnimation,
s = Dg(t),
l = {
disableAnimation: a
},
u = e.getSymbolPoint || function(e) {
return t.getItemLayout(e)
};
r || n.removeAll(), t.diff(r).add(function(i) {
var r = u(i);
if (Cg(t, r, i, e)) {
var a = new o(t, i, s, l);
a.setPosition(r), t.setItemGraphicEl(i, a), n.add(a)
}
}).update(function(h, c) {
var p = r.getItemGraphicEl(c),
d = u(h);
if (!Cg(t, d, h, e)) return void n.remove(p);
var f = t.getItemVisual(h, "symbol") || "circle",
g = p && p.getSymbolType && p.getSymbolType();
if (!p || g && g !== f) n.remove(p), p = new o(t, h, s, l), p.setPosition(d);
else {
p.updateData(t, h, s, l);
var v = {
x: d[0],
y: d[1]
};
a ? p.attr(v) : us(p, v, i)
}
n.add(p), t.setItemGraphicEl(h, p)
}).remove(function(t) {
var e = r.getItemGraphicEl(t);
e && e.fadeOut(function() {
n.remove(e)
}, i)
}).execute(), this._getSymbolPoint = u, this._data = t
}, t.prototype.updateLayout = function() {
var t = this,
e = this._data;
e && e.eachItemGraphicEl(function(e, n) {
var i = t._getSymbolPoint(n);
e.setPosition(i), e.markRedraw()
})
}, t.prototype.incrementalPrepareUpdate = function(t) {
this._seriesScope = Dg(t), this._data = null, this.group.removeAll()
}, t.prototype.incrementalUpdate = function(t, e, n) {
function i(t) {
t.isGroup || (t.incremental = !0, t.ensureState("emphasis").hoverLayer = !0)
}
this._progressiveEls = [], n = Ig(n);
for (var r = t.start; r < t.end; r++) {
var o = e.getItemLayout(r);
if (Cg(e, o, r, n)) {
var a = new this._SymbolCtor(e, r, this._seriesScope);
a.traverse(i), a.setPosition(o), this.group.add(a), e.setItemGraphicEl(r, a), this
._progressiveEls.push(a)
}
}
}, t.prototype.eachRendered = function(t) {
Hs(this._progressiveEls || this.group, t)
}, t.prototype.remove = function(t) {
var e = this.group,
n = this._data;
n && t ? n.eachItemGraphicEl(function(t) {
t.fadeOut(function() {
e.remove(t)
}, n.hostModel)
}) : e.removeAll()
}, t
}(),
rP = Math.min,
oP = Math.max,
aP = function() {
function t() {
this.smooth = 0, this.smoothConstraint = !0
}
return t
}(),
sP = function(t) {
function n(e) {
var n = t.call(this, e) || this;
return n.type = "ec-polyline", n
}
return e(n, t), n.prototype.getDefaultStyle = function() {
return {
stroke: "#000",
fill: null
}
}, n.prototype.getDefaultShape = function() {
return new aP
}, n.prototype.buildPath = function(t, e) {
var n = e.points,
i = 0,
r = n.length / 2;
if (e.connectNulls) {
for (; r > 0 && Rg(n[2 * r - 2], n[2 * r - 1]); r--);
for (; r > i && Rg(n[2 * i], n[2 * i + 1]); i++);
}
for (; r > i;) i += zg(t, n, i, r, r, 1, e.smooth, e.smoothMonotone, e.connectNulls) + 1
}, n.prototype.getPointOn = function(t, e) {
this.path || (this.createPathProxy(), this.buildPath(this.path, this.shape));
for (var n, i, r = this.path, o = r.data, a = Ab.CMD, s = "x" === e, l = [], u = 0; u < o
.length;) {
var h = o[u++],
c = void 0,
p = void 0,
d = void 0,
f = void 0,
g = void 0,
v = void 0,
y = void 0;
switch (h) {
case a.M:
n = o[u++], i = o[u++];
break;
case a.L:
if (c = o[u++], p = o[u++], y = s ? (t - n) / (c - n) : (t - i) / (p - i), 1 >= y &&
y >= 0) {
var m = s ? (p - i) * y + i : (c - n) * y + n;
return s ? [t, m] : [m, t]
}
n = c, i = p;
break;
case a.C:
c = o[u++], p = o[u++], d = o[u++], f = o[u++], g = o[u++], v = o[u++];
var _ = s ? dn(n, c, d, g, t, l) : dn(i, p, f, v, t, l);
if (_ > 0)
for (var x = 0; _ > x; x++) {
var w = l[x];
if (1 >= w && w >= 0) {
var m = s ? cn(i, p, f, v, w) : cn(n, c, d, g, w);
return s ? [t, m] : [m, t]
}
}
n = g, i = v
}
}
}, n
}(Hb),
lP = function(t) {
function n() {
return null !== t && t.apply(this, arguments) || this
}
return e(n, t), n
}(aP),
uP = function(t) {
function n(e) {
var n = t.call(this, e) || this;
return n.type = "ec-polygon", n
}
return e(n, t), n.prototype.getDefaultShape = function() {
return new lP
}, n.prototype.buildPath = function(t, e) {
var n = e.points,
i = e.stackedOnPoints,
r = 0,
o = n.length / 2,
a = e.smoothMonotone;
if (e.connectNulls) {
for (; o > 0 && Rg(n[2 * o - 2], n[2 * o - 1]); o--);
for (; o > r && Rg(n[2 * r], n[2 * r + 1]); r++);
}
for (; o > r;) {
var s = zg(t, n, r, o, o, 1, e.smooth, a, e.connectNulls);
zg(t, i, r + s - 1, s, o, -1, e.stackedOnSmooth, a, e.connectNulls), r += s + 1, t
.closePath()
}
}, n
}(Hb),
hP = function(t) {
function n() {
return null !== t && t.apply(this, arguments) || this
}
return e(n, t), n.prototype.init = function() {
var t = new ww,
e = new iP;
this.group.add(e.group), this._symbolDraw = e, this._lineGroup = t
}, n.prototype.render = function(t, e, n) {
var i = this,
r = t.coordinateSystem,
o = this.group,
a = t.getData(),
s = t.getModel("lineStyle"),
l = t.getModel("areaStyle"),
u = a.getLayout("points") || [],
h = "polar" === r.type,
p = this._coordSys,
d = this._symbolDraw,
f = this._polyline,
g = this._polygon,
v = this._lineGroup,
y = !e.ssr && t.isAnimationEnabled(),
m = !l.isEmpty(),
_ = l.get("origin"),
x = kg(r, a, _),
w = m && Vg(r, a, x),
b = t.get("showSymbol"),
S = t.get("connectNulls"),
M = b && !h && Ug(t, a, r),
T = this._data;
T && T.eachItemGraphicEl(function(t, e) {
t.__temp && (o.remove(t), T.setItemGraphicEl(e, null))
}), b || d.remove(), o.add(v);
var C, I = h ? !1 : t.get("step");
r && r.getArea && t.get("clip", !0) && (C = r.getArea(), null != C.width ? (C.x -= .1, C.y -=
.1, C.width += .2, C.height += .2) : C.r0 && (C.r0 -= .5, C.r += .5)), this
._clipShapeForSymbol = C;
var D = Gg(a, r, n) || a.getVisual("style")[a.getVisual("drawType")];
if (f && p.type === r.type && I === this._step) {
m && !g ? g = this._newPolygon(u, w) : g && !m && (v.remove(g), g = this._polygon = null),
h || this._initOrUpdateEndLabel(t, r, Nl(D));
var k = v.getClipPath();
if (k) {
var A = $g(this, r, !1, t);
hs(k, {
shape: A.shape
}, t)
} else v.setClipPath($g(this, r, !0, t));
b && d.updateData(a, {
isIgnore: M,
clipShape: C,
disableAnimation: !0,
getSymbolPoint: function(t) {
return [u[2 * t], u[2 * t + 1]]
}
}), Eg(this._stackedOnPoints, w) && Eg(this._points, u) || (y ? this._doUpdateAnimation(
a, w, r, n, I, _, S) : (I && (u = Hg(u, r, I, S), w && (w = Hg(w, r, I, S))), f
.setShape({
points: u
}), g && g.setShape({
points: u,
stackedOnPoints: w
})))
} else b && d.updateData(a, {
isIgnore: M,
clipShape: C,
disableAnimation: !0,
getSymbolPoint: function(t) {
return [u[2 * t], u[2 * t + 1]]
}
}), y && this._initSymbolLabelAnimation(a, r, C), I && (u = Hg(u, r, I, S), w && (w = Hg(w,
r, I, S))), f = this._newPolyline(u), m ? g = this._newPolygon(u, w) : g && (v.remove(
g), g = this._polygon = null), h || this._initOrUpdateEndLabel(t, r, Nl(D)), v
.setClipPath($g(this, r, !0, t));
var P = t.getModel("emphasis"),
L = P.get("focus"),
O = P.get("blurScope"),
R = P.get("disabled");
if (f.useStyle(c(s.getLineStyle(), {
fill: "none",
stroke: D,
lineJoin: "bevel"
})), Ea(f, t, "lineStyle"), f.style.lineWidth > 0 && "bolder" === t.get(["emphasis",
"lineStyle", "width"
])) {
var z = f.getState("emphasis").style;
z.lineWidth = +f.style.lineWidth + 1
}
rS(f).seriesIndex = t.seriesIndex, Ra(f, L, O, R);
var E = Fg(t.get("smooth")),
B = t.get("smoothMonotone");
if (f.setShape({
smooth: E,
smoothMonotone: B,
connectNulls: S
}), g) {
var N = a.getCalculationInfo("stackedOnSeries"),
F = 0;
g.useStyle(c(l.getAreaStyle(), {
fill: D,
opacity: .7,
lineJoin: "bevel",
decal: a.getVisual("style").decal
})), N && (F = Fg(N.get("smooth"))), g.setShape({
smooth: E,
stackedOnSmooth: F,
smoothMonotone: B,
connectNulls: S
}), Ea(g, t, "areaStyle"), rS(g).seriesIndex = t.seriesIndex, Ra(g, L, O, R)
}
var V = function(t) {
i._changePolyState(t)
};
a.eachItemGraphicEl(function(t) {
t && (t.onHoverStateChange = V)
}), this._polyline.onHoverStateChange = V, this._data = a, this._coordSys = r, this
._stackedOnPoints = w, this._points = u, this._step = I, this._valueOrigin = _, t.get(
"triggerLineEvent") && (this.packEventData(t, f), g && this.packEventData(t, g))
}, n.prototype.packEventData = function(t, e) {
rS(e).eventData = {
componentType: "series",
componentSubType: "line",
componentIndex: t.componentIndex,
seriesIndex: t.seriesIndex,
seriesName: t.name,
seriesType: "line"
}
}, n.prototype.highlight = function(t, e, n, i) {
var r = t.getData(),
o = Lr(r, i);
if (this._changePolyState("emphasis"), !(o instanceof Array) && null != o && o >= 0) {
var a = r.getLayout("points"),
s = r.getItemGraphicEl(o);
if (!s) {
var l = a[2 * o],
u = a[2 * o + 1];
if (isNaN(l) || isNaN(u)) return;
if (this._clipShapeForSymbol && !this._clipShapeForSymbol.contain(l, u)) return;
var h = t.get("zlevel") || 0,
c = t.get("z") || 0;
s = new nP(r, o), s.x = l, s.y = u, s.setZ(h, c);
var p = s.getSymbolPath().getTextContent();
p && (p.zlevel = h, p.z = c, p.z2 = this._polyline.z2 + 1), s.__temp = !0, r
.setItemGraphicEl(o, s), s.stopSymbolAnimation(!0), this.group.add(s)
}
s.highlight()
} else WC.prototype.highlight.call(this, t, e, n, i)
}, n.prototype.downplay = function(t, e, n, i) {
var r = t.getData(),
o = Lr(r, i);
if (this._changePolyState("normal"), null != o && o >= 0) {
var a = r.getItemGraphicEl(o);
a && (a.__temp ? (r.setItemGraphicEl(o, null), this.group.remove(a)) : a.downplay())
} else WC.prototype.downplay.call(this, t, e, n, i)
}, n.prototype._changePolyState = function(t) {
var e = this._polygon;
aa(this._polyline, t), e && aa(e, t)
}, n.prototype._newPolyline = function(t) {
var e = this._polyline;
return e && this._lineGroup.remove(e), e = new sP({
shape: {
points: t
},
segmentIgnoreThreshold: 2,
z2: 10
}), this._lineGroup.add(e), this._polyline = e, e
}, n.prototype._newPolygon = function(t, e) {
var n = this._polygon;
return n && this._lineGroup.remove(n), n = new uP({
shape: {
points: t,
stackedOnPoints: e
},
segmentIgnoreThreshold: 2
}), this._lineGroup.add(n), this._polygon = n, n
}, n.prototype._initSymbolLabelAnimation = function(t, e, n) {
var i, r, o = e.getBaseAxis(),
a = o.inverse;
"cartesian2d" === e.type ? (i = o.isHorizontal(), r = !1) : "polar" === e.type && (i =
"angle" === o.dim, r = !0);
var s = t.hostModel,
l = s.get("animationDuration");
T(l) && (l = l(null));
var u = s.get("animationDelay") || 0,
h = T(u) ? u(null) : u;
t.eachItemGraphicEl(function(t, o) {
var s = t;
if (s) {
var c = [t.x, t.y],
p = void 0,
d = void 0,
f = void 0;
if (n)
if (r) {
var g = n,
v = e.pointToCoord(c);
i ? (p = g.startAngle, d = g.endAngle, f = -v[1] / 180 * Math.PI) : (p =
g.r0, d = g.r, f = v[0])
} else {
var y = n;
i ? (p = y.x, d = y.x + y.width, f = t.x) : (p = y.y + y.height, d = y
.y, f = t.y)
} var m = d === p ? 0 : (f - p) / (d - p);
a && (m = 1 - m);
var _ = T(u) ? u(o) : l * m + h,
x = s.getSymbolPath(),
w = x.getTextContent();
s.attr({
scaleX: 0,
scaleY: 0
}), s.animateTo({
scaleX: 1,
scaleY: 1
}, {
duration: 200,
setToFinal: !0,
delay: _
}), w && w.animateFrom({
style: {
opacity: 0
}
}, {
duration: 300,
delay: _
}), x.disableLabelAnimation = !0
}
})
}, n.prototype._initOrUpdateEndLabel = function(t, e, n) {
var i = t.getModel("endLabel");
if (Kg(t)) {
var r = t.getData(),
o = this._polyline,
a = r.getLayout("points");
if (!a) return o.removeTextContent(), void(this._endLabel = null);
var s = this._endLabel;
s || (s = this._endLabel = new tS({
z2: 200
}), s.ignoreClip = !0, o.setTextContent(this._endLabel), o.disableLabelAnimation = !
0);
var l = Zg(a);
l >= 0 && (Us(o, Ys(t, "endLabel"), {
inheritColor: n,
labelFetcher: t,
labelDataIndex: l,
defaultText: function(t, e, n) {
return null != n ? ag(r, n) : og(r, t)
},
enableTextSetter: !0
}, Qg(i, e)), o.textConfig.position = null)
} else this._endLabel && (this._polyline.removeTextContent(), this._endLabel = null)
}, n.prototype._endLabelOnDuring = function(t, e, n, i, r, o, a) {
var s = this._endLabel,
l = this._polyline;
if (s) {
1 > t && null == i.originalX && (i.originalX = s.x, i.originalY = s.y);
var u = n.getLayout("points"),
h = n.hostModel,
c = h.get("connectNulls"),
p = o.get("precision"),
d = o.get("distance") || 0,
f = a.getBaseAxis(),
g = f.isHorizontal(),
v = f.inverse,
y = e.shape,
m = v ? g ? y.x : y.y + y.height : g ? y.x + y.width : y.y,
_ = (g ? d : 0) * (v ? -1 : 1),
x = (g ? 0 : -d) * (v ? -1 : 1),
w = g ? "x" : "y",
b = jg(u, m, w),
S = b.range,
M = S[1] - S[0],
T = void 0;
if (M >= 1) {
if (M > 1 && !c) {
var C = qg(u, S[0]);
s.attr({
x: C[0] + _,
y: C[1] + x
}), r && (T = h.getRawValue(S[0]))
} else {
var C = l.getPointOn(m, w);
C && s.attr({
x: C[0] + _,
y: C[1] + x
});
var I = h.getRawValue(S[0]),
D = h.getRawValue(S[1]);
r && (T = Vr(n, p, I, D, b.t))
}
i.lastFrameIndex = S[0]
} else {
var k = 1 === t || i.lastFrameIndex > 0 ? S[0] : 0,
C = qg(u, k);
r && (T = h.getRawValue(k)), s.attr({
x: C[0] + _,
y: C[1] + x
})
}
if (r) {
var A = EM(s);
"function" == typeof A.setLabelText && A.setLabelText(T)
}
}
}, n.prototype._doUpdateAnimation = function(t, e, n, i, r, o, a) {
var s = this._polyline,
l = this._polygon,
u = t.hostModel,
h = Og(this._data, t, this._stackedOnPoints, e, this._coordSys, n, this._valueOrigin, o),
c = h.current,
p = h.stackedOnCurrent,
d = h.next,
f = h.stackedOnNext;
if (r && (c = Hg(h.current, n, r, a), p = Hg(h.stackedOnCurrent, n, r, a), d = Hg(h.next, n, r,
a), f = Hg(h.stackedOnNext, n, r, a)), Ng(c, d) > 3e3 || l && Ng(p, f) > 3e3) return s
.stopAnimation(), s.setShape({
points: d
}), void(l && (l.stopAnimation(), l.setShape({
points: d,
stackedOnPoints: f
})));
s.shape.__points = h.current, s.shape.points = c;
var g = {
shape: {
points: d
}
};
h.current !== c && (g.shape.__points = h.next), s.stopAnimation(), us(s, g, u), l && (l
.setShape({
points: c,
stackedOnPoints: p
}), l.stopAnimation(), us(l, {
shape: {
stackedOnPoints: f
}
}, u), s.shape.points !== l.shape.points && (l.shape.points = s.shape.points));
for (var v = [], y = h.status, m = 0; m < y.length; m++) {
var _ = y[m].cmd;
if ("=" === _) {
var x = t.getItemGraphicEl(y[m].idx1);
x && v.push({
el: x,
ptIdx: m
})
}
}
s.animators && s.animators.length && s.animators[0].during(function() {
l && l.dirtyShape();
for (var t = s.shape.__points, e = 0; e < v.length; e++) {
var n = v[e].el,
i = 2 * v[e].ptIdx;
n.x = t[i], n.y = t[i + 1], n.markRedraw()
}
})
}, n.prototype.remove = function() {
var t = this.group,
e = this._data;
this._lineGroup.removeAll(), this._symbolDraw.remove(!0), e && e.eachItemGraphicEl(function(n,
i) {
n.__temp && (t.remove(n), e.setItemGraphicEl(i, null))
}), this._polyline = this._polygon = this._coordSys = this._points = this._stackedOnPoints =
this._endLabel = this._data = null
}, n.type = "line", n
}(WC);
Kd(tv);
var cP = 2 * Math.PI,
pP = Math.PI / 180,
dP = Math.PI / 180,
fP = function(t) {
function n(e, n, i) {
var r = t.call(this) || this;
r.z2 = 2;
var o = new tS;
return r.setTextContent(o), r.updateData(e, n, i, !0), r
}
return e(n, t), n.prototype.updateData = function(t, e, n, i) {
var r = this,
o = t.hostModel,
a = t.getItemModel(e),
s = a.getModel("emphasis"),
l = t.getItemLayout(e),
u = h(cg(a.getModel("itemStyle"), l, !0), l);
if (isNaN(u.startAngle)) return void r.setShape(u);
if (i) {
r.setShape(u);
var c = o.getShallow("animationType");
o.ecModel.ssr ? (hs(r, {
scaleX: 0,
scaleY: 0
}, o, {
dataIndex: e,
isFrom: !0
}), r.originX = u.cx, r.originY = u.cy) : "scale" === c ? (r.shape.r = l.r0, hs(r, {
shape: {
r: l.r
}
}, o, e)) : null != n ? (r.setShape({
startAngle: n,
endAngle: n
}), hs(r, {
shape: {
startAngle: l.startAngle,
endAngle: l.endAngle
}
}, o, e)) : (r.shape.endAngle = l.startAngle, us(r, {
shape: {
endAngle: l.endAngle
}
}, o, e))
} else gs(r), us(r, {
shape: u
}, o, e);
r.useStyle(t.getItemVisual(e, "style")), Ea(r, a);
var p = (l.startAngle + l.endAngle) / 2,
d = o.get("selectedOffset"),
f = Math.cos(p) * d,
g = Math.sin(p) * d,
v = a.getShallow("cursor");
v && r.attr("cursor", v), this._updateLabel(o, t, e), r.ensureState("emphasis").shape = h({
r: l.r + (s.get("scale") ? s.get("scaleSize") || 0 : 0)
}, cg(s.getModel("itemStyle"), l)), h(r.ensureState("select"), {
x: f,
y: g,
shape: cg(a.getModel(["select", "itemStyle"]), l)
}), h(r.ensureState("blur"), {
shape: cg(a.getModel(["blur", "itemStyle"]), l)
});
var y = r.getTextGuideLine(),
m = r.getTextContent();
y && h(y.ensureState("select"), {
x: f,
y: g
}), h(m.ensureState("select"), {
x: f,
y: g
}), Ra(this, s.get("focus"), s.get("blurScope"), s.get("disabled"))
}, n.prototype._updateLabel = function(t, e, n) {
var i = this,
r = e.getItemModel(n),
o = r.getModel("labelLine"),
a = e.getItemVisual(n, "style"),
s = a && a.fill,
l = a && a.opacity;
Us(i, Ys(r), {
labelFetcher: e.hostModel,
labelDataIndex: n,
inheritColor: s,
defaultOpacity: l,
defaultText: t.getFormattedLabel(n, "normal") || e.getName(n)
});
var u = i.getTextContent();
i.setTextConfig({
position: null,
rotation: null
}), u.attr({
z2: 10
});
var h = t.get(["label", "position"]);
if ("outside" !== h && "outer" !== h) i.removeTextGuideLine();
else {
var c = this.getTextGuideLine();
c || (c = new rM, this.setTextGuideLine(c)), Nf(this, Ff(r), {
stroke: s,
opacity: F(o.get(["lineStyle", "opacity"]), l, 1)
})
}
}, n
}(QS),
gP = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.ignoreLabelLineUpdate = !0, e
}
return e(n, t), n.prototype.render = function(t, e, n) {
var i, r = t.getData(),
o = this._data,
a = this.group;
if (!o && r.count() > 0) {
for (var s = r.getItemLayout(0), l = 1; isNaN(s && s.startAngle) && l < r.count(); ++l) s =
r.getItemLayout(l);
s && (i = s.startAngle)
}
if (this._emptyCircleSector && a.remove(this._emptyCircleSector), 0 === r.count() && t.get(
"showEmptyCircle")) {
var u = new QS({
shape: nv(t, n)
});
u.useStyle(t.getModel("emptyCircleStyle").getItemStyle()), this._emptyCircleSector = u, a
.add(u)
}
r.diff(o).add(function(t) {
var e = new fP(r, t, i);
r.setItemGraphicEl(t, e), a.add(e)
}).update(function(t, e) {
var n = o.getItemGraphicEl(e);
n.updateData(r, t, i), n.off("click"), a.add(n), r.setItemGraphicEl(t, n)
}).remove(function(e) {
var n = o.getItemGraphicEl(e);
fs(n, t, e)
}).execute(), uv(t), "expansion" !== t.get("animationTypeUpdate") && (this._data = r)
}, n.prototype.dispose = function() {}, n.prototype.containPoint = function(t, e) {
var n = e.getData(),
i = n.getItemLayout(0);
if (i) {
var r = t[0] - i.cx,
o = t[1] - i.cy,
a = Math.sqrt(r * r + o * o);
return a <= i.r && a >= i.r0
}
}, n.type = "pie", n
}(WC),
vP = function() {
function t(t, e) {
this._getDataWithEncodedVisual = t, this._getRawData = e
}
return t.prototype.getAllNames = function() {
var t = this._getRawData();
return t.mapArray(t.getName)
}, t.prototype.containName = function(t) {
var e = this._getRawData();
return e.indexOfName(t) >= 0
}, t.prototype.indexOfName = function(t) {
var e = this._getDataWithEncodedVisual();
return e.indexOfName(t)
}, t.prototype.getItemVisual = function(t, e) {
var n = this._getDataWithEncodedVisual();
return n.getItemVisual(t, e)
}, t
}(),
yP = Or(),
mP = function(t) {
function n() {
return null !== t && t.apply(this, arguments) || this
}
return e(n, t), n.prototype.init = function(e) {
t.prototype.init.apply(this, arguments), this.legendVisualProvider = new vP(p_(this.getData,
this), p_(this.getRawData, this)), this._defaultLabelLine(e)
}, n.prototype.mergeOption = function() {
t.prototype.mergeOption.apply(this, arguments)
}, n.prototype.getInitialData = function() {
return hv(this, {
coordDimensions: ["value"],
encodeDefaulter: S(jl, this)
})
}, n.prototype.getDataParams = function(e) {
var n = this.getData(),
i = yP(n),
r = i.seats;
if (!r) {
var o = [];
n.each(n.mapDimension("value"), function(t) {
o.push(t)
}), r = i.seats = $i(o, n.hostModel.get("percentPrecision"))
}
var a = t.prototype.getDataParams.call(this, e);
return a.percent = r[e] || 0, a.$vars.push("percent"), a
}, n.prototype._defaultLabelLine = function(t) {
gr(t, "labelLine", ["show"]);
var e = t.labelLine,
n = t.emphasis.labelLine;
e.show = e.show && t.label.show, n.show = n.show && t.emphasis.label.show
}, n.type = "series.pie", n.defaultOption = {
z: 2,
legendHoverLink: !0,
colorBy: "data",
center: ["50%", "50%"],
radius: [0, "75%"],
clockwise: !0,
startAngle: 90,
minAngle: 0,
minShowLabelAngle: 0,
selectedOffset: 10,
percentPrecision: 2,
stillShowZeroSum: !0,
left: 0,
top: 0,
right: 0,
bottom: 0,
width: null,
height: null,
label: {
rotate: 0,
show: !0,
overflow: "truncate",
position: "outer",
alignTo: "none",
edgeDistance: "25%",
bleedMargin: 10,
distanceToLabelLine: 5
},
labelLine: {
show: !0,
length: 15,
length2: 15,
smooth: !1,
minTurnAngle: 90,
maxSurfaceAngle: 90,
lineStyle: {
width: 1,
type: "solid"
}
},
itemStyle: {
borderWidth: 1,
borderJoin: "round"
},
showEmptyCircle: !0,
emptyCircleStyle: {
color: "lightgray",
opacity: 1
},
labelLayout: {
hideOverlap: !0
},
emphasis: {
scale: !0,
scaleSize: 5
},
avoidLabelOverlap: !0,
animationType: "expansion",
animationDuration: 1e3,
animationTypeUpdate: "transition",
animationEasingUpdate: "cubicInOut",
animationDurationUpdate: 500,
animationEasing: "cubicInOut"
}, n
}(NC);
Kd(pv);
var _P = function(t) {
function n() {
return null !== t && t.apply(this, arguments) || this
}
return e(n, t), n.type = "grid", n.dependencies = ["xAxis", "yAxis"], n.layoutMode = "box", n
.defaultOption = {
show: !1,
z: 0,
left: "10%",
top: 60,
right: "10%",
bottom: 70,
containLabel: !1,
backgroundColor: "rgba(0,0,0,0)",
borderWidth: 1,
borderColor: "#ccc"
}, n
}(wT),
xP = function(t) {
function n() {
return null !== t && t.apply(this, arguments) || this
}
return e(n, t), n.prototype.getCoordSysModel = function() {
return this.getReferringComponents("grid", zw).models[0]
}, n.type = "cartesian2dAxis", n
}(wT);
f(xP, Xk);
var wP = {
show: !0,
z: 0,
inverse: !1,
name: "",
nameLocation: "end",
nameRotate: null,
nameTruncate: {
maxWidth: null,
ellipsis: "...",
placeholder: "."
},
nameTextStyle: {},
nameGap: 15,
silent: !1,
triggerEvent: !1,
tooltip: {
show: !1
},
axisPointer: {},
axisLine: {
show: !0,
onZero: !0,
onZeroAxisIndex: null,
lineStyle: {
color: "#6E7079",
width: 1,
type: "solid"
},
symbol: ["none", "none"],
symbolSize: [10, 15]
},
axisTick: {
show: !0,
inside: !1,
length: 5,
lineStyle: {
width: 1
}
},
axisLabel: {
show: !0,
inside: !1,
rotate: 0,
showMinLabel: null,
showMaxLabel: null,
margin: 8,
fontSize: 12
},
splitLine: {
show: !0,
lineStyle: {
color: ["#E0E6F1"],
width: 1,
type: "solid"
}
},
splitArea: {
show: !1,
areaStyle: {
color: ["rgba(250,250,250,0.2)", "rgba(210,219,238,0.2)"]
}
}
},
bP = l({
boundaryGap: !0,
deduplication: null,
splitLine: {
show: !1
},
axisTick: {
alignWithLabel: !1,
interval: "auto"
},
axisLabel: {
interval: "auto"
}
}, wP),
SP = l({
boundaryGap: [0, 0],
axisLine: {
show: "auto"
},
axisTick: {
show: "auto"
},
splitNumber: 5,
minorTick: {
show: !1,
splitNumber: 5,
length: 3,
lineStyle: {}
},
minorSplitLine: {
show: !1,
lineStyle: {
color: "#F4F7FD",
width: 1
}
}
}, wP),
MP = l({
splitNumber: 6,
axisLabel: {
showMinLabel: !1,
showMaxLabel: !1,
rich: {
primary: {
fontWeight: "bold"
}
}
},
splitLine: {
show: !1
}
}, SP),
TP = c({
logBase: 10
}, SP),
CP = {
category: bP,
value: SP,
time: MP,
log: TP
},
IP = {
value: 1,
category: 1,
time: 1,
log: 1
},
DP = function() {
function t(t) {
this.type = "cartesian", this._dimList = [], this._axes = {}, this.name = t || ""
}
return t.prototype.getAxis = function(t) {
return this._axes[t]
}, t.prototype.getAxes = function() {
return y(this._dimList, function(t) {
return this._axes[t]
}, this)
}, t.prototype.getAxesByScale = function(t) {
return t = t.toLowerCase(), _(this.getAxes(), function(e) {
return e.scale.type === t
})
}, t.prototype.addAxis = function(t) {
var e = t.dim;
this._axes[e] = t, this._dimList.push(e)
}, t
}(),
kP = ["x", "y"],
AP = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = "cartesian2d", e.dimensions = kP, e
}
return e(n, t), n.prototype.calcAffineTransform = function() {
this._transform = this._invTransform = null;
var t = this.getAxis("x").scale,
e = this.getAxis("y").scale;
if (gv(t) && gv(e)) {
var n = t.getExtent(),
i = e.getExtent(),
r = this.dataToPoint([n[0], i[0]]),
o = this.dataToPoint([n[1], i[1]]),
a = n[1] - n[0],
s = i[1] - i[0];
if (a && s) {
var l = (o[0] - r[0]) / a,
u = (o[1] - r[1]) / s,
h = r[0] - n[0] * l,
c = r[1] - i[0] * u,
p = this._transform = [l, 0, 0, u, h, c];
this._invTransform = Ye([], p)
}
}
}, n.prototype.getBaseAxis = function() {
return this.getAxesByScale("ordinal")[0] || this.getAxesByScale("time")[0] || this.getAxis("x")
}, n.prototype.containPoint = function(t) {
var e = this.getAxis("x"),
n = this.getAxis("y");
return e.contain(e.toLocalCoord(t[0])) && n.contain(n.toLocalCoord(t[1]))
}, n.prototype.containData = function(t) {
return this.getAxis("x").containData(t[0]) && this.getAxis("y").containData(t[1])
}, n.prototype.containZone = function(t, e) {
var n = this.dataToPoint(t),
i = this.dataToPoint(e),
r = this.getArea(),
o = new q_(n[0], n[1], i[0] - n[0], i[1] - n[1]);
return r.intersect(o)
}, n.prototype.dataToPoint = function(t, e, n) {
n = n || [];
var i = t[0],
r = t[1];
if (this._transform && null != i && isFinite(i) && null != r && isFinite(r)) return ye(n, t,
this._transform);
var o = this.getAxis("x"),
a = this.getAxis("y");
return n[0] = o.toGlobalCoord(o.dataToCoord(i, e)), n[1] = a.toGlobalCoord(a.dataToCoord(r, e)),
n
}, n.prototype.clampData = function(t, e) {
var n = this.getAxis("x").scale,
i = this.getAxis("y").scale,
r = n.getExtent(),
o = i.getExtent(),
a = n.parse(t[0]),
s = i.parse(t[1]);
return e = e || [], e[0] = Math.min(Math.max(Math.min(r[0], r[1]), a), Math.max(r[0], r[1])), e[
1] = Math.min(Math.max(Math.min(o[0], o[1]), s), Math.max(o[0], o[1])), e
}, n.prototype.pointToData = function(t, e) {
var n = [];
if (this._invTransform) return ye(n, t, this._invTransform);
var i = this.getAxis("x"),
r = this.getAxis("y");
return n[0] = i.coordToData(i.toLocalCoord(t[0]), e), n[1] = r.coordToData(r.toLocalCoord(t[1]),
e), n
}, n.prototype.getOtherAxis = function(t) {
return this.getAxis("x" === t.dim ? "y" : "x")
}, n.prototype.getArea = function() {
var t = this.getAxis("x").getGlobalExtent(),
e = this.getAxis("y").getGlobalExtent(),
n = Math.min(t[0], t[1]),
i = Math.min(e[0], e[1]),
r = Math.max(t[0], t[1]) - n,
o = Math.max(e[0], e[1]) - i;
return new q_(n, i, r, o)
}, n
}(DP),
PP = function(t) {
function n(e, n, i, r, o) {
var a = t.call(this, e, n, i) || this;
return a.index = 0, a.type = r || "value", a.position = o || "bottom", a
}
return e(n, t), n.prototype.isHorizontal = function() {
var t = this.position;
return "top" === t || "bottom" === t
}, n.prototype.getGlobalExtent = function(t) {
var e = this.getExtent();
return e[0] = this.toGlobalCoord(e[0]), e[1] = this.toGlobalCoord(e[1]), t && e[0] > e[1] && e
.reverse(), e
}, n.prototype.pointToData = function(t, e) {
return this.coordToData(this.toLocalCoord(t["x" === this.dim ? 0 : 1]), e)
}, n.prototype.setCategorySortInfo = function(t) {
return "category" !== this.type ? !1 : (this.model.option.categorySortInfo = t, void this.scale
.setSortInfo(t))
}, n
}(hA),
LP = Math.log,
OP = function() {
function t(t, e, n) {
this.type = "grid", this._coordsMap = {}, this._coordsList = [], this._axesMap = {}, this
._axesList = [], this.axisPointerEnabled = !0, this.dimensions = kP, this._initCartesian(t, e,
n), this.model = t
}
return t.prototype.getRect = function() {
return this._rect
}, t.prototype.update = function(t, e) {
function n(t) {
var e, n = w(t),
i = n.length;
if (i) {
for (var r = [], o = i - 1; o >= 0; o--) {
var a = +n[o],
s = t[a],
l = s.model,
u = s.scale;
td(u) && l.get("alignTicks") && null == l.get("interval") ? r.push(s) : (zd(u, l),
td(u) && (e = s))
}
r.length && (e || (e = r.pop(), zd(e.scale, e.model)), v(r, function(t) {
_v(t.scale, t.model, e.scale)
}))
}
}
var i = this._axesMap;
this._updateScale(t, this.model), n(i.x), n(i.y);
var r = {};
v(i.x, function(t) {
wv(i, "y", t, r)
}), v(i.y, function(t) {
wv(i, "x", t, r)
}), this.resize(this.model, e)
}, t.prototype.resize = function(t, e, n) {
function i() {
v(s, function(t) {
var e = t.isHorizontal(),
n = e ? [0, a.width] : [0, a.height],
i = t.inverse ? 1 : 0;
t.setExtent(n[i], n[1 - i]), Sv(t, e ? a.x : a.y)
})
}
var r = t.getBoxLayoutParams(),
o = !n && t.get("containLabel"),
a = Hl(r, {
width: e.getWidth(),
height: e.getHeight()
});
this._rect = a;
var s = this._axesList;
i(), o && (v(s, function(t) {
if (!t.model.get(["axisLabel", "inside"])) {
var e = Vd(t);
if (e) {
var n = t.isHorizontal() ? "height" : "width",
i = t.model.get(["axisLabel", "margin"]);
a[n] -= e[n] + i, "top" === t.position ? a.y += e.height + i :
"left" === t.position && (a.x += e.width + i)
}
}
}), i()), v(this._coordsList, function(t) {
t.calcAffineTransform()
})
}, t.prototype.getAxis = function(t, e) {
var n = this._axesMap[t];
return null != n ? n[e || 0] : void 0
}, t.prototype.getAxes = function() {
return this._axesList.slice()
}, t.prototype.getCartesian = function(t, e) {
if (null != t && null != e) {
var n = "x" + t + "y" + e;
return this._coordsMap[n]
}
k(t) && (e = t.yAxisIndex, t = t.xAxisIndex);
for (var i = 0, r = this._coordsList; i < r.length; i++)
if (r[i].getAxis("x").index === t || r[i].getAxis("y").index === e) return r[i]
}, t.prototype.getCartesians = function() {
return this._coordsList.slice()
}, t.prototype.convertToPixel = function(t, e, n) {
var i = this._findConvertTarget(e);
return i.cartesian ? i.cartesian.dataToPoint(n) : i.axis ? i.axis.toGlobalCoord(i.axis
.dataToCoord(n)) : null
}, t.prototype.convertFromPixel = function(t, e, n) {
var i = this._findConvertTarget(e);
return i.cartesian ? i.cartesian.pointToData(n) : i.axis ? i.axis.coordToData(i.axis
.toLocalCoord(n)) : null
}, t.prototype._findConvertTarget = function(t) {
var e, n, i = t.seriesModel,
r = t.xAxisModel || i && i.getReferringComponents("xAxis", zw).models[0],
o = t.yAxisModel || i && i.getReferringComponents("yAxis", zw).models[0],
a = t.gridModel,
s = this._coordsList;
if (i) e = i.coordinateSystem, p(s, e) < 0 && (e = null);
else if (r && o) e = this.getCartesian(r.componentIndex, o.componentIndex);
else if (r) n = this.getAxis("x", r.componentIndex);
else if (o) n = this.getAxis("y", o.componentIndex);
else if (a) {
var l = a.coordinateSystem;
l === this && (e = this._coordsList[0])
}
return {
cartesian: e,
axis: n
}
}, t.prototype.containPoint = function(t) {
var e = this._coordsList[0];
return e ? e.containPoint(t) : void 0
}, t.prototype._initCartesian = function(t, e) {
function n(e) {
return function(n, i) {
if (xv(n, t)) {
var l = n.get("position");
"x" === e ? "top" !== l && "bottom" !== l && (l = o.bottom ? "top" : "bottom") :
"left" !== l && "right" !== l && (l = o.left ? "right" : "left"), o[l] = !0;
var u = new PP(e, Ed(n), [0, 0], n.get("type"), l),
h = "category" === u.type;
u.onBand = h && n.get("boundaryGap"), u.inverse = n.get("inverse"), n.axis = u,
u.model = n, u.grid = r, u.index = i, r._axesList.push(u), a[e][i] = u, s[
e]++
}
}
}
var i = this,
r = this,
o = {
left: !1,
right: !1,
top: !1,
bottom: !1
},
a = {
x: {},
y: {}
},
s = {
x: 0,
y: 0
};
return e.eachComponent("xAxis", n("x"), this), e.eachComponent("yAxis", n("y"), this), s.x && s
.y ? (this._axesMap = a, void v(a.x, function(e, n) {
v(a.y, function(r, o) {
var a = "x" + n + "y" + o,
s = new AP(a);
s.master = i, s.model = t, i._coordsMap[a] = s, i._coordsList.push(
s), s.addAxis(e), s.addAxis(r)
})
})) : (this._axesMap = {}, void(this._axesList = []))
}, t.prototype._updateScale = function(t, e) {
function n(t, e) {
v(Ud(t, e.dim), function(n) {
e.scale.unionExtentFromData(t, n)
})
}
v(this._axesList, function(t) {
if (t.scale.setExtent(1 / 0, -1 / 0), "category" === t.type) {
var e = t.model.get("categorySortInfo");
t.scale.setSortInfo(e)
}
}), t.eachSeries(function(t) {
if (yv(t)) {
var i = mv(t),
r = i.xAxisModel,
o = i.yAxisModel;
if (!xv(r, e) || !xv(o, e)) return;
var a = this.getCartesian(r.componentIndex, o.componentIndex),
s = t.getData(),
l = a.getAxis("x"),
u = a.getAxis("y");
n(s, l), n(s, u)
}
}, this)
}, t.prototype.getTooltipAxes = function(t) {
var e = [],
n = [];
return v(this.getCartesians(), function(i) {
var r = null != t && "auto" !== t ? i.getAxis(t) : i.getBaseAxis(),
o = i.getOtherAxis(r);
p(e, r) < 0 && e.push(r), p(n, o) < 0 && n.push(o)
}), {
baseAxes: e,
otherAxes: n
}
}, t.create = function(e, n) {
var i = [];
return e.eachComponent("grid", function(r, o) {
var a = new t(r, e, n);
a.name = "grid_" + o, a.resize(r, n, !0), r.coordinateSystem = a, i.push(a)
}), e.eachSeries(function(t) {
if (yv(t)) {
var e = mv(t),
n = e.xAxisModel,
i = e.yAxisModel,
r = n.getCoordSysModel(),
o = r.coordinateSystem;
t.coordinateSystem = o.getCartesian(n.componentIndex, i.componentIndex)
}
}), i
}, t.dimensions = kP, t
}(),
RP = Math.PI,
zP = function() {
function t(t, e) {
this.group = new ww, this.opt = e, this.axisModel = t, c(e, {
labelOffset: 0,
nameDirection: 1,
tickDirection: 1,
labelDirection: 1,
silent: !0,
handleAutoShown: function() {
return !0
}
});
var n = new ww({
x: e.position[0],
y: e.position[1],
rotation: e.rotation
});
n.updateTransform(), this._transformGroup = n
}
return t.prototype.hasBuilder = function(t) {
return !!EP[t]
}, t.prototype.add = function(t) {
EP[t](this.opt, this.axisModel, this.group, this._transformGroup)
}, t.prototype.getGroup = function() {
return this.group
}, t.innerTextLayout = function(t, e, n) {
var i, r, o = Ji(e - t);
return tr(o) ? (r = n > 0 ? "top" : "bottom", i = "center") : tr(o - RP) ? (r = n > 0 ?
"bottom" : "top", i = "center") : (r = "middle", i = o > 0 && RP > o ? n > 0 ? "right" :
"left" : n > 0 ? "left" : "right"), {
rotation: o,
textAlign: i,
textVerticalAlign: r
}
}, t.makeAxisEventDataBase = function(t) {
var e = {
componentType: t.mainType,
componentIndex: t.componentIndex
};
return e[t.mainType + "Index"] = t.componentIndex, e
}, t.isLabelSilent = function(t) {
var e = t.get("tooltip");
return t.get("silent") || !(t.get("triggerEvent") || e && e.show)
}, t
}(),
EP = {
axisLine: function(t, e, n, i) {
var r = e.get(["axisLine", "show"]);
if ("auto" === r && t.handleAutoShown && (r = t.handleAutoShown("axisLine")), r) {
var o = e.axis.getExtent(),
a = i.transform,
s = [o[0], 0],
l = [o[1], 0],
u = s[0] > l[0];
a && (ye(s, s, a), ye(l, l, a));
var c = h({
lineCap: "round"
}, e.getModel(["axisLine", "lineStyle"]).getLineStyle()),
p = new sM({
shape: {
x1: s[0],
y1: s[1],
x2: l[0],
y2: l[1]
},
style: c,
strokeContainThreshold: t.strokeContainThreshold || 5,
silent: !0,
z2: 1
});
Ms(p.shape, p.style.lineWidth), p.anid = "line", n.add(p);
var d = e.get(["axisLine", "symbol"]);
if (null != d) {
var f = e.get(["axisLine", "symbolSize"]);
C(d) && (d = [d, d]), (C(f) || D(f)) && (f = [f, f]);
var g = vc(e.get(["axisLine", "symbolOffset"]) || 0, f),
y = f[0],
m = f[1];
v([{
rotate: t.rotation + Math.PI / 2,
offset: g[0],
r: 0
}, {
rotate: t.rotation - Math.PI / 2,
offset: g[1],
r: Math.sqrt((s[0] - l[0]) * (s[0] - l[0]) + (s[1] - l[1]) * (s[1] - l[
1]))
}], function(e, i) {
if ("none" !== d[i] && null != d[i]) {
var r = fc(d[i], -y / 2, -m / 2, y, m, c.stroke, !0),
o = e.r + e.offset,
a = u ? l : s;
r.attr({
rotation: e.rotate,
x: a[0] + o * Math.cos(t.rotation),
y: a[1] - o * Math.sin(t.rotation),
silent: !0,
z2: 11
}), n.add(r)
}
})
}
}
},
axisTickLabel: function(t, e, n, i) {
var r = Av(n, i, e, t),
o = Lv(n, i, e, t);
if (Tv(e, o, r), Pv(n, i, e, t.tickDirection), e.get(["axisLabel", "hideOverlap"])) {
var a = Vf(y(o, function(t) {
return {
label: t,
priority: t.z2,
defaultAttr: {
ignore: t.ignore
}
}
}));
Uf(a)
}
},
axisName: function(t, e, n, i) {
var r = B(t.axisName, e.get("name"));
if (r) {
var o, a = e.get("nameLocation"),
s = t.nameDirection,
l = e.getModel("nameTextStyle"),
u = e.get("nameGap") || 0,
h = e.axis.getExtent(),
c = h[0] > h[1] ? -1 : 1,
p = ["start" === a ? h[0] - c * u : "end" === a ? h[1] + c * u : (h[0] + h[1]) / 2, Dv(
a) ? t.labelOffset + s * u : 0],
d = e.get("nameRotate");
null != d && (d = d * RP / 180);
var f;
Dv(a) ? o = zP.innerTextLayout(t.rotation, null != d ? d : t.rotation, s) : (o = Mv(t
.rotation, a, d || 0, h), f = t.axisNameAvailableWidth, null != f && (f = Math
.abs(f / Math.sin(o.rotation)), !isFinite(f) && (f = null)));
var g = l.getFont(),
v = e.get("nameTruncate", !0) || {},
y = v.ellipsis,
m = B(t.nameTruncateMaxWidth, v.maxWidth, f),
_ = new tS({
x: p[0],
y: p[1],
rotation: o.rotation,
silent: zP.isLabelSilent(e),
style: Xs(l, {
text: r,
font: g,
overflow: "truncate",
width: m,
ellipsis: y,
fill: l.getTextColor() || e.get(["axisLine", "lineStyle", "color"]),
align: l.get("align") || o.textAlign,
verticalAlign: l.get("verticalAlign") || o.textVerticalAlign
}),
z2: 1
});
if (Fs({
el: _,
componentModel: e,
itemName: r
}), _.__fullText = r, _.anid = "name", e.get("triggerEvent")) {
var x = zP.makeAxisEventDataBase(e);
x.targetType = "axisName", x.name = r, rS(_).eventData = x
}
i.add(_), _.updateTransform(), n.add(_), _.decomposeTransform()
}
}
},
BP = {},
NP = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e
}
return e(n, t), n.prototype.render = function(e, n, i) {
this.axisPointerClass && Fv(e), t.prototype.render.apply(this, arguments), this
._doUpdateAxisPointerClass(e, i, !0)
}, n.prototype.updateAxisPointer = function(t, e, n) {
this._doUpdateAxisPointerClass(t, n, !1)
}, n.prototype.remove = function(t, e) {
var n = this._axisPointer;
n && n.remove(e)
}, n.prototype.dispose = function(e, n) {
this._disposeAxisPointer(n), t.prototype.dispose.apply(this, arguments)
}, n.prototype._doUpdateAxisPointerClass = function(t, e, i) {
var r = n.getAxisPointerClass(this.axisPointerClass);
if (r) {
var o = Hv(t);
o ? (this._axisPointer || (this._axisPointer = new r)).render(t, o, e, i) : this
._disposeAxisPointer(e)
}
}, n.prototype._disposeAxisPointer = function(t) {
this._axisPointer && this._axisPointer.dispose(t), this._axisPointer = null
}, n.registerAxisPointerClass = function(t, e) {
BP[t] = e
}, n.getAxisPointerClass = function(t) {
return t && BP[t]
}, n.type = "axis", n
}(FC),
FP = Or(),
VP = ["axisLine", "axisTickLabel", "axisName"],
HP = ["splitArea", "splitLine", "minorSplitLine"],
WP = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e.axisPointerClass = "CartesianAxisPointer", e
}
return e(n, t), n.prototype.render = function(e, n, i, r) {
this.group.removeAll();
var o = this._axisGroup;
if (this._axisGroup = new ww, this.group.add(this._axisGroup), e.get("show")) {
var a = e.getCoordSysModel(),
s = vv(a, e),
l = new zP(e, h({
handleAutoShown: function() {
for (var t = a.coordinateSystem.getCartesians(), n = 0; n < t
.length; n++)
if (td(t[n].getOtherAxis(e.axis).scale)) return !0;
return !1
}
}, s));
v(VP, l.add, l), this._axisGroup.add(l.getGroup()), v(HP, function(t) {
e.get([t, "show"]) && GP[t](this, this._axisGroup, e, a)
}, this);
var u = r && "changeAxisOrder" === r.type && r.isInitSort;
u || Ps(o, this._axisGroup, e), t.prototype.render.call(this, e, n, i, r)
}
}, n.prototype.remove = function() {
Yv(this)
}, n.type = "cartesianAxis", n
}(NP),
GP = {
splitLine: function(t, e, n, i) {
var r = n.axis;
if (!r.scale.isBlank()) {
var o = n.getModel("splitLine"),
a = o.getModel("lineStyle"),
s = a.get("color");
s = M(s) ? s : [s];
for (var l = i.coordinateSystem.getRect(), u = r.isHorizontal(), h = 0, p = r
.getTicksCoords({
tickModel: o
}), d = [], f = [], g = a.getLineStyle(), v = 0; v < p.length; v++) {
var y = r.toGlobalCoord(p[v].coord);
u ? (d[0] = y, d[1] = l.y, f[0] = y, f[1] = l.y + l.height) : (d[0] = l.x, d[1] = y, f[
0] = l.x + l.width, f[1] = y);
var m = h++ % s.length,
_ = p[v].tickValue,
x = new sM({
anid: null != _ ? "line_" + p[v].tickValue : null,
autoBatch: !0,
shape: {
x1: d[0],
y1: d[1],
x2: f[0],
y2: f[1]
},
style: c({
stroke: s[m]
}, g),
silent: !0
});
Ms(x.shape, g.lineWidth), e.add(x)
}
}
},
minorSplitLine: function(t, e, n, i) {
var r = n.axis,
o = n.getModel("minorSplitLine"),
a = o.getModel("lineStyle"),
s = i.coordinateSystem.getRect(),
l = r.isHorizontal(),
u = r.getMinorTicksCoords();
if (u.length)
for (var h = [], c = [], p = a.getLineStyle(), d = 0; d < u.length; d++)
for (var f = 0; f < u[d].length; f++) {
var g = r.toGlobalCoord(u[d][f].coord);
l ? (h[0] = g, h[1] = s.y, c[0] = g, c[1] = s.y + s.height) : (h[0] = s.x, h[1] = g,
c[0] = s.x + s.width, c[1] = g);
var v = new sM({
anid: "minor_line_" + u[d][f].tickValue,
autoBatch: !0,
shape: {
x1: h[0],
y1: h[1],
x2: c[0],
y2: c[1]
},
style: p,
silent: !0
});
Ms(v.shape, p.lineWidth), e.add(v)
}
},
splitArea: function(t, e, n, i) {
Uv(t, e, n, i)
}
},
UP = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e
}
return e(n, t), n.type = "xAxis", n
}(WP),
YP = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = UP.type, e
}
return e(n, t), n.type = "yAxis", n
}(WP),
XP = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = "grid", e
}
return e(n, t), n.prototype.render = function(t) {
this.group.removeAll(), t.get("show") && this.group.add(new Kb({
shape: t.coordinateSystem.getRect(),
style: c({
fill: t.get("backgroundColor")
}, t.getItemStyle()),
silent: !0,
z2: -1
}))
}, n.type = "grid", n
}(FC),
ZP = {
offset: 0
};
Kd(Xv);
var qP = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e.layoutMode = {
type: "box",
ignoreSize: !0
}, e
}
return e(n, t), n.type = "title", n.defaultOption = {
z: 6,
show: !0,
text: "",
target: "blank",
subtext: "",
subtarget: "blank",
left: 0,
top: 0,
backgroundColor: "rgba(0,0,0,0)",
borderColor: "#ccc",
borderWidth: 0,
padding: 5,
itemGap: 10,
textStyle: {
fontSize: 18,
fontWeight: "bold",
color: "#464646"
},
subtextStyle: {
fontSize: 12,
color: "#6E7079"
}
}, n
}(wT),
jP = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e
}
return e(n, t), n.prototype.render = function(t, e, n) {
if (this.group.removeAll(), t.get("show")) {
var i = this.group,
r = t.getModel("textStyle"),
o = t.getModel("subtextStyle"),
a = t.get("textAlign"),
s = N(t.get("textBaseline"), t.get("textVerticalAlign")),
l = new tS({
style: Xs(r, {
text: t.get("text"),
fill: r.getTextColor()
}, {
disableBox: !0
}),
z2: 10
}),
u = l.getBoundingRect(),
h = t.get("subtext"),
c = new tS({
style: Xs(o, {
text: h,
fill: o.getTextColor(),
y: u.height + t.get("itemGap"),
verticalAlign: "top"
}, {
disableBox: !0
}),
z2: 10
}),
p = t.get("link"),
d = t.get("sublink"),
f = t.get("triggerEvent", !0);
l.silent = !p && !f, c.silent = !d && !f, p && l.on("click", function() {
Fl(p, "_" + t.get("target"))
}), d && c.on("click", function() {
Fl(d, "_" + t.get("subtarget"))
}), rS(l).eventData = rS(c).eventData = f ? {
componentType: "title",
componentIndex: t.componentIndex
} : null, i.add(l), h && i.add(c);
var g = i.getBoundingRect(),
v = t.getBoxLayoutParams();
v.width = g.width, v.height = g.height;
var y = Hl(v, {
width: n.getWidth(),
height: n.getHeight()
}, t.get("padding"));
a || (a = t.get("left") || t.get("right"), "middle" === a && (a = "center"), "right" === a ?
y.x += y.width : "center" === a && (y.x += y.width / 2)), s || (s = t.get("top") ||
t.get("bottom"), "center" === s && (s = "middle"), "bottom" === s ? y.y += y
.height : "middle" === s && (y.y += y.height / 2), s = s || "top"), i.x = y.x, i.y =
y.y, i.markRedraw();
var m = {
align: a,
verticalAlign: s
};
l.setStyle(m), c.setStyle(m), g = i.getBoundingRect();
var _ = y.margin,
x = t.getItemStyle(["color", "opacity"]);
x.fill = t.get("backgroundColor");
var w = new Kb({
shape: {
x: g.x - _[3],
y: g.y - _[0],
width: g.width + _[1] + _[3],
height: g.height + _[0] + _[2],
r: t.get("borderRadius")
},
style: x,
subPixelOptimize: !0,
silent: !0
});
i.add(w)
}
}, n.type = "title", n
}(FC);
Kd(Zv);
var KP = function(t, e) {
return "all" === e ? {
type: "all",
title: t.getLocaleModel().get(["legend", "selector", "all"])
} : "inverse" === e ? {
type: "inverse",
title: t.getLocaleModel().get(["legend", "selector", "inverse"])
} : void 0
},
$P = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e.layoutMode = {
type: "box",
ignoreSize: !0
}, e
}
return e(n, t), n.prototype.init = function(t, e, n) {
this.mergeDefaultAndTheme(t, n), t.selected = t.selected || {}, this._updateSelector(t)
}, n.prototype.mergeOption = function(e, n) {
t.prototype.mergeOption.call(this, e, n), this._updateSelector(e)
}, n.prototype._updateSelector = function(t) {
var e = t.selector,
n = this.ecModel;
e === !0 && (e = t.selector = ["all", "inverse"]), M(e) && v(e, function(t, i) {
C(t) && (t = {
type: t
}), e[i] = l(t, KP(n, t.type))
})
}, n.prototype.optionUpdated = function() {
this._updateData(this.ecModel);
var t = this._data;
if (t[0] && "single" === this.get("selectedMode")) {
for (var e = !1, n = 0; n < t.length; n++) {
var i = t[n].get("name");
if (this.isSelected(i)) {
this.select(i), e = !0;
break
}
}!e && this.select(t[0].get("name"))
}
}, n.prototype._updateData = function(t) {
var e = [],
n = [];
t.eachRawSeries(function(i) {
var r = i.name;
n.push(r);
var o;
if (i.legendVisualProvider) {
var a = i.legendVisualProvider,
s = a.getAllNames();
t.isSeriesFiltered(i) || (n = n.concat(s)), s.length ? e = e.concat(s) : o = !0
} else o = !0;
o && Dr(i) && e.push(i.name)
}), this._availableNames = n;
var i = this.get("data") || e,
r = Z(),
o = y(i, function(t) {
return (C(t) || D(t)) && (t = {
name: t
}), r.get(t.name) ? null : (r.set(t.name, !0), new ZM(t, this, this.ecModel))
}, this);
this._data = _(o, function(t) {
return !!t
})
}, n.prototype.getData = function() {
return this._data
}, n.prototype.select = function(t) {
var e = this.option.selected,
n = this.get("selectedMode");
if ("single" === n) {
var i = this._data;
v(i, function(t) {
e[t.get("name")] = !1
})
}
e[t] = !0
}, n.prototype.unSelect = function(t) {
"single" !== this.get("selectedMode") && (this.option.selected[t] = !1)
}, n.prototype.toggleSelected = function(t) {
var e = this.option.selected;
e.hasOwnProperty(t) || (e[t] = !0), this[e[t] ? "unSelect" : "select"](t)
}, n.prototype.allSelect = function() {
var t = this._data,
e = this.option.selected;
v(t, function(t) {
e[t.get("name", !0)] = !0
})
}, n.prototype.inverseSelect = function() {
var t = this._data,
e = this.option.selected;
v(t, function(t) {
var n = t.get("name", !0);
e.hasOwnProperty(n) || (e[n] = !0), e[n] = !e[n]
})
}, n.prototype.isSelected = function(t) {
var e = this.option.selected;
return !(e.hasOwnProperty(t) && !e[t]) && p(this._availableNames, t) >= 0
}, n.prototype.getOrient = function() {
return "vertical" === this.get("orient") ? {
index: 1,
name: "vertical"
} : {
index: 0,
name: "horizontal"
}
}, n.type = "legend.plain", n.dependencies = ["series"], n.defaultOption = {
z: 4,
show: !0,
orient: "horizontal",
left: "center",
top: 0,
align: "auto",
backgroundColor: "rgba(0,0,0,0)",
borderColor: "#ccc",
borderRadius: 0,
borderWidth: 0,
padding: 5,
itemGap: 10,
itemWidth: 25,
itemHeight: 14,
symbolRotate: "inherit",
symbolKeepAspect: !0,
inactiveColor: "#ccc",
inactiveBorderColor: "#ccc",
inactiveBorderWidth: "auto",
itemStyle: {
color: "inherit",
opacity: "inherit",
borderColor: "inherit",
borderWidth: "auto",
borderCap: "inherit",
borderJoin: "inherit",
borderDashOffset: "inherit",
borderMiterLimit: "inherit"
},
lineStyle: {
width: "auto",
color: "inherit",
inactiveColor: "#ccc",
inactiveWidth: 2,
opacity: "inherit",
type: "inherit",
cap: "inherit",
join: "inherit",
dashOffset: "inherit",
miterLimit: "inherit"
},
textStyle: {
color: "#333"
},
selectedMode: !0,
selector: !1,
selectorLabel: {
show: !0,
borderRadius: 10,
padding: [3, 5, 3, 5],
fontSize: 12,
fontFamily: "sans-serif",
color: "#666",
borderWidth: 1,
borderColor: "#666"
},
emphasis: {
selectorLabel: {
show: !0,
color: "#eee",
backgroundColor: "#666"
}
},
selectorPosition: "auto",
selectorItemGap: 7,
selectorButtonGap: 10,
tooltip: {
show: !1
}
}, n
}(wT),
QP = S,
JP = v,
tL = ww,
eL = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e.newlineDisabled = !1, e
}
return e(n, t), n.prototype.init = function() {
this.group.add(this._contentGroup = new tL), this.group.add(this._selectorGroup = new tL), this
._isFirstRender = !0
}, n.prototype.getContentGroup = function() {
return this._contentGroup
}, n.prototype.getSelectorGroup = function() {
return this._selectorGroup
}, n.prototype.render = function(t, e, n) {
var i = this._isFirstRender;
if (this._isFirstRender = !1, this.resetInner(), t.get("show", !0)) {
var r = t.get("align"),
o = t.get("orient");
r && "auto" !== r || (r = "right" === t.get("left") && "vertical" === o ? "right" : "left");
var a = t.get("selector", !0),
s = t.get("selectorPosition", !0);
!a || s && "auto" !== s || (s = "horizontal" === o ? "end" : "start"), this.renderInner(r,
t, e, n, a, o, s);
var l = t.getBoxLayoutParams(),
u = {
width: n.getWidth(),
height: n.getHeight()
},
h = t.get("padding"),
p = Hl(l, u, h),
d = this.layoutInner(t, r, p, i, a, s),
f = Hl(c({
width: d.width,
height: d.height
}, l), u, h);
this.group.x = f.x - d.x, this.group.y = f.y - d.y, this.group.markRedraw(), this.group.add(
this._backgroundEl = qv(d, t))
}
}, n.prototype.resetInner = function() {
this.getContentGroup().removeAll(), this._backgroundEl && this.group.remove(this._backgroundEl),
this.getSelectorGroup().removeAll()
}, n.prototype.renderInner = function(t, e, n, i, r, o, a) {
var s = this.getContentGroup(),
l = Z(),
u = e.get("selectedMode"),
c = [];
n.eachRawSeries(function(t) {
!t.get("legendHoverLink") && c.push(t.id)
}), JP(e.getData(), function(r, o) {
var a = r.get("name");
if (!this.newlineDisabled && ("" === a || "\n" === a)) {
var p = new tL;
return p.newline = !0, void s.add(p)
}
var d = n.getSeriesByName(a)[0];
if (!l.get(a))
if (d) {
var f = d.getData(),
g = f.getVisual("legendLineStyle") || {},
v = f.getVisual("legendIcon"),
y = f.getVisual("style"),
m = this._createItem(d, a, o, r, e, t, g, y, v, u, i);
m.on("click", QP($v, a, null, i, c)).on("mouseover", QP(Jv, d.name, null, i,
c)).on("mouseout", QP(ty, d.name, null, i, c)), l.set(a, !0)
} else n.eachRawSeries(function(n) {
if (!l.get(a) && n.legendVisualProvider) {
var s = n.legendVisualProvider;
if (!s.containName(a)) return;
var p = s.indexOfName(a),
d = s.getItemVisual(p, "style"),
f = s.getItemVisual(p, "legendIcon"),
g = En(d.fill);
g && 0 === g[3] && (g[3] = .2, d = h(h({}, d), {
fill: Yn(g, "rgba")
}));
var v = this._createItem(n, a, o, r, e, t, {}, d, f, u, i);
v.on("click", QP($v, null, a, i, c)).on("mouseover", QP(Jv,
null, a, i, c)).on("mouseout", QP(ty, null, a, i, c)), l
.set(a, !0)
}
}, this)
}, this), r && this._createSelector(r, e, i, o, a)
}, n.prototype._createSelector = function(t, e, n) {
var i = this.getSelectorGroup();
JP(t, function(t) {
var r = t.type,
o = new tS({
style: {
x: 0,
y: 0,
align: "center",
verticalAlign: "middle"
},
onclick: function() {
n.dispatchAction({
type: "all" === r ? "legendAllSelect" :
"legendInverseSelect"
})
}
});
i.add(o);
var a = e.getModel("selectorLabel"),
s = e.getModel(["emphasis", "selectorLabel"]);
Us(o, {
normal: a,
emphasis: s
}, {
defaultText: t.title
}), La(o)
})
}, n.prototype._createItem = function(t, e, n, i, r, o, a, s, l, u, h) {
var c = t.visualDrawType,
p = r.get("itemWidth"),
d = r.get("itemHeight"),
f = r.isSelected(e),
g = i.get("symbolRotate"),
v = i.get("symbolKeepAspect"),
y = i.get("icon");
l = y || l || "roundRect";
var m = jv(l, i, a, s, c, f, h),
_ = new tL,
x = i.getModel("textStyle");
if (!T(t.getLegendIcon) || y && "inherit" !== y) {
var w = "inherit" === y && t.getData().getVisual("symbol") ? "inherit" === g ? t.getData()
.getVisual("symbolRotate") : g : 0;
_.add(Kv({
itemWidth: p,
itemHeight: d,
icon: l,
iconRotate: w,
itemStyle: m.itemStyle,
lineStyle: m.lineStyle,
symbolKeepAspect: v
}))
} else _.add(t.getLegendIcon({
itemWidth: p,
itemHeight: d,
icon: l,
iconRotate: g,
itemStyle: m.itemStyle,
lineStyle: m.lineStyle,
symbolKeepAspect: v
}));
var b = "left" === o ? p + 5 : -5,
S = o,
M = r.get("formatter"),
I = e;
C(M) && M ? I = M.replace("{name}", null != e ? e : "") : T(M) && (I = M(e));
var D = f ? x.getTextColor() : i.get("inactiveColor");
_.add(new tS({
style: Xs(x, {
text: I,
x: b,
y: d / 2,
fill: D,
align: S,
verticalAlign: "middle"
}, {
inheritColor: D
})
}));
var k = new Kb({
shape: _.getBoundingRect(),
invisible: !0
}),
A = i.getModel("tooltip");
return A.get("show") && Fs({
el: k,
componentModel: r,
itemName: e,
itemTooltipOption: A.option
}), _.add(k), _.eachChild(function(t) {
t.silent = !0
}), k.silent = !u, this.getContentGroup().add(_), La(_), _.__legendDataIndex = n, _
}, n.prototype.layoutInner = function(t, e, n, i, r, o) {
var a = this.getContentGroup(),
s = this.getSelectorGroup();
_T(t.get("orient"), a, t.get("itemGap"), n.width, n.height);
var l = a.getBoundingRect(),
u = [-l.x, -l.y];
if (s.markRedraw(), a.markRedraw(), r) {
_T("horizontal", s, t.get("selectorItemGap", !0));
var h = s.getBoundingRect(),
c = [-h.x, -h.y],
p = t.get("selectorButtonGap", !0),
d = t.getOrient().index,
f = 0 === d ? "width" : "height",
g = 0 === d ? "height" : "width",
v = 0 === d ? "y" : "x";
"end" === o ? c[d] += l[f] + p : u[d] += h[f] + p, c[1 - d] += l[g] / 2 - h[g] / 2, s.x = c[
0], s.y = c[1], a.x = u[0], a.y = u[1];
var y = {
x: 0,
y: 0
};
return y[f] = l[f] + p + h[f], y[g] = Math.max(l[g], h[g]), y[v] = Math.min(0, h[v] + c[1 -
d]), y
}
return a.x = u[0], a.y = u[1], this.group.getBoundingRect()
}, n.prototype.remove = function() {
this.getContentGroup().removeAll(), this._isFirstRender = !0
}, n.type = "legend.plain", n
}(FC),
nL = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e
}
return e(n, t), n.prototype.setScrollDataIndex = function(t) {
this.option.scrollDataIndex = t
}, n.prototype.init = function(e, n, i) {
var r = Ul(e);
t.prototype.init.call(this, e, n, i), oy(this, e, r)
}, n.prototype.mergeOption = function(e, n) {
t.prototype.mergeOption.call(this, e, n), oy(this, this.option, e)
}, n.type = "legend.scroll", n.defaultOption = il($P.defaultOption, {
scrollDataIndex: 0,
pageButtonItemGap: 5,
pageButtonGap: null,
pageButtonPosition: "end",
pageFormatter: "{current}/{total}",
pageIcons: {
horizontal: ["M0,0L12,-10L12,10z", "M0,0L-12,-10L-12,10z"],
vertical: ["M0,0L20,0L10,-20z", "M0,0L20,0L10,20z"]
},
pageIconColor: "#2f4554",
pageIconInactiveColor: "#aaa",
pageIconSize: 15,
pageTextStyle: {
color: "#333"
},
animationDurationUpdate: 800
}), n
}($P),
iL = ww,
rL = ["width", "height"],
oL = ["x", "y"],
aL = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e.newlineDisabled = !0, e._currentIndex = 0, e
}
return e(n, t), n.prototype.init = function() {
t.prototype.init.call(this), this.group.add(this._containerGroup = new iL), this._containerGroup
.add(this.getContentGroup()), this.group.add(this._controllerGroup = new iL)
}, n.prototype.resetInner = function() {
t.prototype.resetInner.call(this), this._controllerGroup.removeAll(), this._containerGroup
.removeClipPath(), this._containerGroup.__rectSize = null
}, n.prototype.renderInner = function(e, n, i, r, o, a, s) {
function l(t, e) {
var i = t + "DataIndex",
o = Rs(n.get("pageIcons", !0)[n.getOrient().name][e], {
onclick: p_(u._pageGo, u, i, n, r)
}, {
x: -p[0] / 2,
y: -p[1] / 2,
width: p[0],
height: p[1]
});
o.name = t, h.add(o)
}
var u = this;
t.prototype.renderInner.call(this, e, n, i, r, o, a, s);
var h = this._controllerGroup,
c = n.get("pageIconSize", !0),
p = M(c) ? c : [c, c];
l("pagePrev", 0);
var d = n.getModel("pageTextStyle");
h.add(new tS({
name: "pageText",
style: {
text: "xx/xx",
fill: d.getTextColor(),
font: d.getFont(),
verticalAlign: "middle",
align: "center"
},
silent: !0
})), l("pageNext", 1)
}, n.prototype.layoutInner = function(t, e, n, i, r, o) {
var a = this.getSelectorGroup(),
l = t.getOrient().index,
u = rL[l],
h = oL[l],
c = rL[1 - l],
p = oL[1 - l];
r && _T("horizontal", a, t.get("selectorItemGap", !0));
var d = t.get("selectorButtonGap", !0),
f = a.getBoundingRect(),
g = [-f.x, -f.y],
v = s(n);
r && (v[u] = n[u] - f[u] - d);
var y = this._layoutContentAndController(t, i, v, l, u, c, p, h);
if (r) {
if ("end" === o) g[l] += y[u] + d;
else {
var m = f[u] + d;
g[l] -= m, y[h] -= m
}
y[u] += f[u] + d, g[1 - l] += y[p] + y[c] / 2 - f[c] / 2, y[c] = Math.max(y[c], f[c]), y[
p] = Math.min(y[p], f[p] + g[1 - l]), a.x = g[0], a.y = g[1], a.markRedraw()
}
return y
}, n.prototype._layoutContentAndController = function(t, e, n, i, r, o, a, s) {
var l = this.getContentGroup(),
u = this._containerGroup,
h = this._controllerGroup;
_T(t.get("orient"), l, t.get("itemGap"), i ? n.width : null, i ? null : n.height), _T(
"horizontal", h, t.get("pageButtonItemGap", !0));
var c = l.getBoundingRect(),
p = h.getBoundingRect(),
d = this._showController = c[r] > n[r],
f = [-c.x, -c.y];
e || (f[i] = l[s]);
var g = [0, 0],
v = [-p.x, -p.y],
y = N(t.get("pageButtonGap", !0), t.get("itemGap", !0));
if (d) {
var m = t.get("pageButtonPosition", !0);
"end" === m ? v[i] += n[r] - p[r] : g[i] += p[r] + y
}
v[1 - i] += c[o] / 2 - p[o] / 2, l.setPosition(f), u.setPosition(g), h.setPosition(v);
var _ = {
x: 0,
y: 0
};
if (_[r] = d ? n[r] : c[r], _[o] = Math.max(c[o], p[o]), _[a] = Math.min(0, p[a] + v[1 - i]), u
.__rectSize = n[r], d) {
var x = {
x: 0,
y: 0
};
x[r] = Math.max(n[r] - p[r] - y, 0), x[o] = _[o], u.setClipPath(new Kb({
shape: x
})), u.__rectSize = x[r]
} else h.eachChild(function(t) {
t.attr({
invisible: !0,
silent: !0
})
});
var w = this._getPageInfo(t);
return null != w.pageIndex && us(l, {
x: w.contentPosition[0],
y: w.contentPosition[1]
}, d ? t : null), this._updatePageInfoView(t, w), _
}, n.prototype._pageGo = function(t, e, n) {
var i = this._getPageInfo(e)[t];
null != i && n.dispatchAction({
type: "legendScroll",
scrollDataIndex: i,
legendId: e.id
})
}, n.prototype._updatePageInfoView = function(t, e) {
var n = this._controllerGroup;
v(["pagePrev", "pageNext"], function(i) {
var r = i + "DataIndex",
o = null != e[r],
a = n.childOfName(i);
a && (a.setStyle("fill", o ? t.get("pageIconColor", !0) : t.get(
"pageIconInactiveColor", !0)), a.cursor = o ? "pointer" : "default")
});
var i = n.childOfName("pageText"),
r = t.get("pageFormatter"),
o = e.pageIndex,
a = null != o ? o + 1 : 0,
s = e.pageCount;
i && r && i.setStyle("text", C(r) ? r.replace("{current}", null == a ? "" : a + "").replace(
"{total}", null == s ? "" : s + "") : r({
current: a,
total: s
}))
}, n.prototype._getPageInfo = function(t) {
function e(t) {
if (t) {
var e = t.getBoundingRect(),
n = e[l] + t[l];
return {
s: n,
e: n + e[s],
i: t.__legendDataIndex
}
}
}
function n(t, e) {
return t.e >= e && t.s <= e + o
}
var i = t.get("scrollDataIndex", !0),
r = this.getContentGroup(),
o = this._containerGroup.__rectSize,
a = t.getOrient().index,
s = rL[a],
l = oL[a],
u = this._findTargetItemIndex(i),
h = r.children(),
c = h[u],
p = h.length,
d = p ? 1 : 0,
f = {
contentPosition: [r.x, r.y],
pageCount: d,
pageIndex: d - 1,
pagePrevDataIndex: null,
pageNextDataIndex: null
};
if (!c) return f;
var g = e(c);
f.contentPosition[a] = -g.s;
for (var v = u + 1, y = g, m = g, _ = null; p >= v; ++v) _ = e(h[v]), (!_ && m.e > y.s + o ||
_ && !n(_, y.s)) && (y = m.i > y.i ? m : _, y && (null == f.pageNextDataIndex && (f
.pageNextDataIndex = y.i), ++f.pageCount)), m = _;
for (var v = u - 1, y = g, m = g, _ = null; v >= -1; --v) _ = e(h[v]), _ && n(m, _.s) || !(y.i <
m.i) || (m = y, null == f.pagePrevDataIndex && (f.pagePrevDataIndex = y.i), ++f
.pageCount, ++f.pageIndex), y = _;
return f
}, n.prototype._findTargetItemIndex = function(t) {
if (!this._showController) return 0;
var e, n, i = this.getContentGroup();
return i.eachChild(function(i, r) {
var o = i.__legendDataIndex;
null == n && null != o && (n = r), o === t && (e = r)
}), null != e ? e : n
}, n.type = "legend.scroll", n
}(eL);
Kd(sy);
var sL = Or(),
lL = s,
uL = p_,
hL = function() {
function t() {
this._dragging = !1, this.animationThreshold = 15
}
return t.prototype.render = function(t, e, n, i) {
var r = e.get("value"),
o = e.get("status");
if (this._axisModel = t, this._axisPointerModel = e, this._api = n, i || this._lastValue !==
r || this._lastStatus !== o) {
this._lastValue = r, this._lastStatus = o;
var a = this._group,
s = this._handle;
if (!o || "hide" === o) return a && a.hide(), void(s && s.hide());
a && a.show(), s && s.show();
var l = {};
this.makeElOption(l, r, t, e, n);
var u = l.graphicKey;
u !== this._lastGraphicKey && this.clear(n), this._lastGraphicKey = u;
var h = this._moveAnimation = this.determineAnimation(t, e);
if (a) {
var c = S(ly, e, h);
this.updatePointerEl(a, l, c), this.updateLabelEl(a, l, c, e)
} else a = this._group = new ww, this.createPointerEl(a, l, t, e), this.createLabelEl(a, l,
t, e), n.getZr().add(a);
py(a, e, !0), this._renderHandle(r)
}
}, t.prototype.remove = function(t) {
this.clear(t)
}, t.prototype.dispose = function(t) {
this.clear(t)
}, t.prototype.determineAnimation = function(t, e) {
var n = e.get("animation"),
i = t.axis,
r = "category" === i.type,
o = e.get("snap");
if (!o && !r) return !1;
if ("auto" === n || null == n) {
var a = this.animationThreshold;
if (r && i.getBandWidth() > a) return !0;
if (o) {
var s = Vv(t).seriesDataCount,
l = i.getExtent();
return Math.abs(l[0] - l[1]) / s > a
}
return !1
}
return n === !0
}, t.prototype.makeElOption = function() {}, t.prototype.createPointerEl = function(t, e) {
var n = e.pointer;
if (n) {
var i = sL(t).pointerEl = new PM[n.type](lL(e.pointer));
t.add(i)
}
}, t.prototype.createLabelEl = function(t, e, n, i) {
if (e.label) {
var r = sL(t).labelEl = new tS(lL(e.label));
t.add(r), hy(r, i)
}
}, t.prototype.updatePointerEl = function(t, e, n) {
var i = sL(t).pointerEl;
i && e.pointer && (i.setStyle(e.pointer.style), n(i, {
shape: e.pointer.shape
}))
}, t.prototype.updateLabelEl = function(t, e, n, i) {
var r = sL(t).labelEl;
r && (r.setStyle(e.label.style), n(r, {
x: e.label.x,
y: e.label.y
}), hy(r, i))
}, t.prototype._renderHandle = function(t) {
if (!this._dragging && this.updateHandleTransform) {
var e = this._axisPointerModel,
n = this._api.getZr(),
i = this._handle,
r = e.getModel("handle"),
o = e.get("status");
if (!r.get("show") || !o || "hide" === o) return i && n.remove(i), void(this._handle =
null);
var a;
this._handle || (a = !0, i = this._handle = Rs(r.get("icon"), {
cursor: "move",
draggable: !0,
onmousemove: function(t) {
z_(t.event)
},
onmousedown: uL(this._onHandleDragMove, this, 0, 0),
drift: uL(this._onHandleDragMove, this),
ondragend: uL(this._onHandleDragEnd, this)
}), n.add(i)), py(i, e, !1), i.setStyle(r.getItemStyle(null, ["color", "borderColor",
"borderWidth", "opacity", "shadowColor", "shadowBlur", "shadowOffsetX",
"shadowOffsetY"
]));
var s = r.get("size");
M(s) || (s = [s, s]), i.scaleX = s[0] / 2, i.scaleY = s[1] / 2, Xh(this,
"_doDispatchAxisPointer", r.get("throttle") || 0, "fixRate"), this
._moveHandleToValue(t, a)
}
}, t.prototype._moveHandleToValue = function(t, e) {
ly(this._axisPointerModel, !e && this._moveAnimation, this._handle, cy(this.getHandleTransform(
t, this._axisModel, this._axisPointerModel)))
}, t.prototype._onHandleDragMove = function(t, e) {
var n = this._handle;
if (n) {
this._dragging = !0;
var i = this.updateHandleTransform(cy(n), [t, e], this._axisModel, this._axisPointerModel);
this._payloadInfo = i, n.stopAnimation(), n.attr(cy(i)), sL(n).lastProp = null, this
._doDispatchAxisPointer()
}
}, t.prototype._doDispatchAxisPointer = function() {
var t = this._handle;
if (t) {
var e = this._payloadInfo,
n = this._axisModel;
this._api.dispatchAction({
type: "updateAxisPointer",
x: e.cursorPoint[0],
y: e.cursorPoint[1],
tooltipOption: e.tooltipOption,
axesInfo: [{
axisDim: n.axis.dim,
axisIndex: n.componentIndex
}]
})
}
}, t.prototype._onHandleDragEnd = function() {
this._dragging = !1;
var t = this._handle;
if (t) {
var e = this._axisPointerModel.get("value");
this._moveHandleToValue(e), this._api.dispatchAction({
type: "hideTip"
})
}
}, t.prototype.clear = function(t) {
this._lastValue = null, this._lastStatus = null;
var e = t.getZr(),
n = this._group,
i = this._handle;
e && n && (this._lastGraphicKey = null, n && e.remove(n), i && e.remove(i), this._group = null,
this._handle = null, this._payloadInfo = null), Zh(this, "_doDispatchAxisPointer")
}, t.prototype.doClear = function() {}, t.prototype.buildLabel = function(t, e, n) {
return n = n || 0, {
x: t[n],
y: t[1 - n],
width: e[n],
height: e[1 - n]
}
}, t
}(),
cL = function(t) {
function n() {
return null !== t && t.apply(this, arguments) || this
}
return e(n, t), n.prototype.makeElOption = function(t, e, n, i, r) {
var o = n.axis,
a = o.grid,
s = i.get("type"),
l = wy(a, o).getOtherAxis(o).getGlobalExtent(),
u = o.toGlobalCoord(o.dataToCoord(e, !0));
if (s && "none" !== s) {
var h = dy(i),
c = pL[s](o, u, l);
c.style = h, t.graphicKey = c.type, t.pointer = c
}
var p = vv(a.model, n);
my(e, t, p, n, i, r)
}, n.prototype.getHandleTransform = function(t, e, n) {
var i = vv(e.axis.grid.model, e, {
labelInside: !1
});
i.labelMargin = n.get(["handle", "margin"]);
var r = yy(e.axis, t, i);
return {
x: r[0],
y: r[1],
rotation: i.rotation + (i.labelDirection < 0 ? Math.PI : 0)
}
}, n.prototype.updateHandleTransform = function(t, e, n) {
var i = n.axis,
r = i.grid,
o = i.getGlobalExtent(!0),
a = wy(r, i).getOtherAxis(i).getGlobalExtent(),
s = "x" === i.dim ? 0 : 1,
l = [t.x, t.y];
l[s] += e[s], l[s] = Math.min(o[1], l[s]), l[s] = Math.max(o[0], l[s]);
var u = (a[1] + a[0]) / 2,
h = [u, u];
h[s] = l[s];
var c = [{
verticalAlign: "middle"
}, {
align: "center"
}];
return {
x: l[0],
y: l[1],
rotation: t.rotation,
cursorPoint: h,
tooltipOption: c[s]
}
}, n
}(hL),
pL = {
line: function(t, e, n) {
var i = _y([e, n[0]], [e, n[1]], by(t));
return {
type: "Line",
subPixelOptimize: !0,
shape: i
}
},
shadow: function(t, e, n) {
var i = Math.max(1, t.getBandWidth()),
r = n[1] - n[0];
return {
type: "Rect",
shape: xy([e - i / 2, n[0]], [i, r], by(t))
}
}
},
dL = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e
}
return e(n, t), n.type = "axisPointer", n.defaultOption = {
show: "auto",
z: 50,
type: "line",
snap: !1,
triggerTooltip: !0,
triggerEmphasis: !0,
value: null,
status: null,
link: [],
animation: null,
animationDurationUpdate: 200,
lineStyle: {
color: "#B9BEC9",
width: 1,
type: "dashed"
},
shadowStyle: {
color: "rgba(210,219,238,0.2)"
},
label: {
show: !0,
formatter: null,
precision: "auto",
margin: 3,
color: "#fff",
padding: [5, 7, 5, 7],
backgroundColor: "auto",
borderColor: null,
borderWidth: 0,
borderRadius: 3
},
handle: {
show: !1,
icon: "M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",
size: 45,
margin: 50,
color: "#333",
shadowBlur: 3,
shadowColor: "#aaa",
shadowOffsetX: 0,
shadowOffsetY: 2,
throttle: 40
}
}, n
}(wT),
fL = Or(),
gL = v,
vL = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e
}
return e(n, t), n.prototype.render = function(t, e, n) {
var i = e.getComponent("tooltip"),
r = t.get("triggerOn") || i && i.get("triggerOn") || "mousemove|click";
Sy("axisPointer", n, function(t, e, n) {
"none" !== r && ("leave" === t || r.indexOf(t) >= 0) && n({
type: "updateAxisPointer",
currTrigger: t,
x: e && e.offsetX,
y: e && e.offsetY
})
})
}, n.prototype.remove = function(t, e) {
ky("axisPointer", e)
}, n.prototype.dispose = function(t, e) {
ky("axisPointer", e)
}, n.type = "axisPointer", n
}(FC),
yL = Or(),
mL = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e
}
return e(n, t), n.type = "tooltip", n.dependencies = ["axisPointer"], n.defaultOption = {
z: 60,
show: !0,
showContent: !0,
trigger: "item",
triggerOn: "mousemove|click",
alwaysShowContent: !1,
displayMode: "single",
renderMode: "auto",
confine: null,
showDelay: 0,
hideDelay: 100,
transitionDuration: .4,
enterable: !1,
backgroundColor: "#fff",
shadowBlur: 10,
shadowColor: "rgba(0, 0, 0, .2)",
shadowOffsetX: 1,
shadowOffsetY: 2,
borderRadius: 4,
borderWidth: 1,
padding: null,
extraCssText: "",
axisPointer: {
type: "line",
axis: "auto",
animation: "auto",
animationDurationUpdate: 200,
animationEasingUpdate: "exponentialOut",
crossStyle: {
color: "#999",
width: 1,
type: "dashed",
textStyle: {}
}
},
textStyle: {
color: "#666",
fontSize: 14
}
}, n
}(wT),
_L = Uy(["transform", "webkitTransform", "OTransform", "MozTransform", "msTransform"]),
xL = Uy(["webkitTransition", "transition", "OTransition", "MozTransition", "msTransition"]),
wL = Yy(xL, "transition"),
bL = Yy(_L, "transform"),
SL = "position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;" + (Um
.transform3dSupported ? "will-change:transform;" : ""),
ML = function() {
function t(t, e, n) {
if (this._show = !1, this._styleCoord = [0, 0, 0, 0], this._enterable = !0, this
._alwaysShowContent = !1, this._firstShow = !0, this._longHide = !0, Um.wxa) return null;
var i = document.createElement("div");
i.domBelongToZr = !0, this.el = i;
var r = this._zr = e.getZr(),
o = this._appendToBody = n && n.appendToBody;
Jy(this._styleCoord, r, o, e.getWidth() / 2, e.getHeight() / 2), o ? document.body.appendChild(i) :
t.appendChild(i), this._container = t;
var a = this;
i.onmouseenter = function() {
a._enterable && (clearTimeout(a._hideTimeout), a._show = !0), a._inContent = !0
}, i.onmousemove = function(t) {
if (t = t || window.event, !a._enterable) {
var e = r.handler,
n = r.painter.getViewportRoot();
Pe(n, t, !0), e.dispatch("mousemove", t)
}
}, i.onmouseleave = function() {
a._inContent = !1, a._enterable && a._show && a.hideLater(a._hideDelay)
}
}
return t.prototype.update = function(t) {
var e = this._container,
n = Xy(e, "position"),
i = e.style;
"absolute" !== i.position && "absolute" !== n && (i.position = "relative");
var r = t.get("alwaysShowContent");
r && this._moveIfResized(), this._alwaysShowContent = r, this.el.className = t.get(
"className") || ""
}, t.prototype.show = function(t, e) {
clearTimeout(this._hideTimeout), clearTimeout(this._longHideTimeout);
var n = this.el,
i = n.style,
r = this._styleCoord;
n.innerHTML ? i.cssText = SL + Qy(t, !this._firstShow, this._longHide) + Ky(r[0], r[1], !0) + (
"border-color:" + Nl(e) + ";") + (t.get("extraCssText") || "") + (";pointer-events:" + (
this._enterable ? "auto" : "none")) : i.display = "none", this._show = !0, this
._firstShow = !1, this._longHide = !1
}, t.prototype.setContent = function(t, e, n, i, r) {
var o = this.el;
if (null == t) return void(o.innerHTML = "");
var a = "";
if (C(r) && "item" === n.get("trigger") && !Gy(n) && (a = qy(n, i, r)), C(t)) o.innerHTML = t +
a;
else if (t) {
o.innerHTML = "", M(t) || (t = [t]);
for (var s = 0; s < t.length; s++) L(t[s]) && t[s].parentNode !== o && o.appendChild(t[s]);
if (a && o.childNodes.length) {
var l = document.createElement("div");
l.innerHTML = a, o.appendChild(l)
}
}
}, t.prototype.setEnterable = function(t) {
this._enterable = t
}, t.prototype.getSize = function() {
var t = this.el;
return [t.offsetWidth, t.offsetHeight]
}, t.prototype.moveTo = function(t, e) {
var n = this._styleCoord;
if (Jy(n, this._zr, this._appendToBody, t, e), null != n[0] && null != n[1]) {
var i = this.el.style,
r = Ky(n[0], n[1]);
v(r, function(t) {
i[t[0]] = t[1]
})
}
}, t.prototype._moveIfResized = function() {
var t = this._styleCoord[2],
e = this._styleCoord[3];
this.moveTo(t * this._zr.getWidth(), e * this._zr.getHeight())
}, t.prototype.hide = function() {
var t = this,
e = this.el.style;
e.visibility = "hidden", e.opacity = "0", Um.transform3dSupported && (e.willChange = ""), this
._show = !1, this._longHideTimeout = setTimeout(function() {
return t._longHide = !0
}, 500)
}, t.prototype.hideLater = function(t) {
!this._show || this._inContent && this._enterable || this._alwaysShowContent || (t ? (this
._hideDelay = t, this._show = !1, this._hideTimeout = setTimeout(p_(this.hide,
this), t)) : this.hide())
}, t.prototype.isShow = function() {
return this._show
}, t.prototype.dispose = function() {
this.el.parentNode.removeChild(this.el)
}, t
}(),
TL = function() {
function t(t) {
this._show = !1, this._styleCoord = [0, 0, 0, 0], this._alwaysShowContent = !1, this._enterable = !
0, this._zr = t.getZr(), nm(this._styleCoord, this._zr, t.getWidth() / 2, t.getHeight() / 2)
}
return t.prototype.update = function(t) {
var e = t.get("alwaysShowContent");
e && this._moveIfResized(), this._alwaysShowContent = e
}, t.prototype.show = function() {
this._hideTimeout && clearTimeout(this._hideTimeout), this.el.show(), this._show = !0
}, t.prototype.setContent = function(t, e, n, i) {
var r = this;
k(t) && pr(""), this.el && this._zr.remove(this.el);
var o = n.getModel("textStyle");
this.el = new tS({
style: {
rich: e.richTextStyles,
text: t,
lineHeight: 22,
borderWidth: 1,
borderColor: i,
textShadowColor: o.get("textShadowColor"),
fill: n.get(["textStyle", "color"]),
padding: Dh(n, "richText"),
verticalAlign: "top",
align: "left"
},
z: n.get("z")
}), v(["backgroundColor", "borderRadius", "shadowColor", "shadowBlur", "shadowOffsetX",
"shadowOffsetY"
], function(t) {
r.el.style[t] = n.get(t)
}), v(["textShadowBlur", "textShadowOffsetX", "textShadowOffsetY"], function(t) {
r.el.style[t] = o.get(t) || 0
}), this._zr.add(this.el);
var a = this;
this.el.on("mouseover", function() {
a._enterable && (clearTimeout(a._hideTimeout), a._show = !0), a._inContent = !0
}), this.el.on("mouseout", function() {
a._enterable && a._show && a.hideLater(a._hideDelay), a._inContent = !1
})
}, t.prototype.setEnterable = function(t) {
this._enterable = t
}, t.prototype.getSize = function() {
var t = this.el,
e = this.el.getBoundingRect(),
n = em(t.style);
return [e.width + n.left + n.right, e.height + n.top + n.bottom]
}, t.prototype.moveTo = function(t, e) {
var n = this.el;
if (n) {
var i = this._styleCoord;
nm(i, this._zr, t, e), t = i[0], e = i[1];
var r = n.style,
o = tm(r.borderWidth || 0),
a = em(r);
n.x = t + o + a.left, n.y = e + o + a.top, n.markRedraw()
}
}, t.prototype._moveIfResized = function() {
var t = this._styleCoord[2],
e = this._styleCoord[3];
this.moveTo(t * this._zr.getWidth(), e * this._zr.getHeight())
}, t.prototype.hide = function() {
this.el && this.el.hide(), this._show = !1
}, t.prototype.hideLater = function(t) {
!this._show || this._inContent && this._enterable || this._alwaysShowContent || (t ? (this
._hideDelay = t, this._show = !1, this._hideTimeout = setTimeout(p_(this.hide,
this), t)) : this.hide())
}, t.prototype.isShow = function() {
return this._show
}, t.prototype.dispose = function() {
this._zr.remove(this.el)
}, t
}(),
CL = new Kb({
shape: {
x: -1,
y: -1,
width: 2,
height: 2
}
}),
IL = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e
}
return e(n, t), n.prototype.init = function(t, e) {
if (!Um.node && e.getDom()) {
var n = t.getComponent("tooltip"),
i = this._renderMode = Fr(n.get("renderMode"));
this._tooltipContent = "richText" === i ? new TL(e) : new ML(e.getDom(), e, {
appendToBody: n.get("appendToBody", !0)
})
}
}, n.prototype.render = function(t, e, n) {
if (!Um.node && n.getDom()) {
this.group.removeAll(), this._tooltipModel = t, this._ecModel = e, this._api = n;
var i = this._tooltipContent;
i.update(t), i.setEnterable(t.get("enterable")), this._initGlobalListener(), this
._keepShow(), "richText" !== this._renderMode && t.get("transitionDuration") ? Xh(this,
"_updatePosition", 50, "fixRate") : Zh(this, "_updatePosition")
}
}, n.prototype._initGlobalListener = function() {
var t = this._tooltipModel,
e = t.get("triggerOn");
Sy("itemTooltip", this._api, p_(function(t, n, i) {
"none" !== e && (e.indexOf(t) >= 0 ? this._tryShow(n, i) : "leave" === t && this
._hide(i))
}, this))
}, n.prototype._keepShow = function() {
var t = this._tooltipModel,
e = this._ecModel,
n = this._api,
i = t.get("triggerOn");
if (null != this._lastX && null != this._lastY && "none" !== i && "click" !== i) {
var r = this;
clearTimeout(this._refreshUpdateTimeout), this._refreshUpdateTimeout = setTimeout(
function() {
!n.isDisposed() && r.manuallyShowTip(t, e, n, {
x: r._lastX,
y: r._lastY,
dataByCoordSys: r._lastDataByCoordSys
})
})
}
}, n.prototype.manuallyShowTip = function(t, e, n, i) {
if (i.from !== this.uid && !Um.node && n.getDom()) {
var r = rm(i, n);
this._ticket = "";
var o = i.dataByCoordSys,
a = um(i, e, n);
if (a) {
var s = a.el.getBoundingRect().clone();
s.applyTransform(a.el.transform), this._tryShow({
offsetX: s.x + s.width / 2,
offsetY: s.y + s.height / 2,
target: a.el,
position: i.position,
positionDefault: "bottom"
}, r)
} else if (i.tooltip && null != i.x && null != i.y) {
var l = CL;
l.x = i.x, l.y = i.y, l.update(), rS(l).tooltipConfig = {
name: null,
option: i.tooltip
}, this._tryShow({
offsetX: i.x,
offsetY: i.y,
target: l
}, r)
} else if (o) this._tryShow({
offsetX: i.x,
offsetY: i.y,
position: i.position,
dataByCoordSys: o,
tooltipOption: i.tooltipOption
}, r);
else if (null != i.seriesIndex) {
if (this._manuallyAxisShowTip(t, e, n, i)) return;
var u = Ay(i, e),
h = u.point[0],
c = u.point[1];
null != h && null != c && this._tryShow({
offsetX: h,
offsetY: c,
target: u.el,
position: i.position,
positionDefault: "bottom"
}, r)
} else null != i.x && null != i.y && (n.dispatchAction({
type: "updateAxisPointer",
x: i.x,
y: i.y
}), this._tryShow({
offsetX: i.x,
offsetY: i.y,
position: i.position,
target: n.getZr().findHover(i.x, i.y).target
}, r))
}
}, n.prototype.manuallyHideTip = function(t, e, n, i) {
var r = this._tooltipContent;
this._tooltipModel && r.hideLater(this._tooltipModel.get("hideDelay")), this._lastX = this
._lastY = this._lastDataByCoordSys = null, i.from !== this.uid && this._hide(rm(i, n))
}, n.prototype._manuallyAxisShowTip = function(t, e, n, i) {
var r = i.seriesIndex,
o = i.dataIndex,
a = e.getComponent("axisPointer").coordSysAxesInfo;
if (null != r && null != o && null != a) {
var s = e.getSeriesByIndex(r);
if (s) {
var l = s.getData(),
u = im([l.getItemModel(o), s, (s.coordinateSystem || {}).model], this
._tooltipModel);
if ("axis" === u.get("trigger")) return n.dispatchAction({
type: "updateAxisPointer",
seriesIndex: r,
dataIndex: o,
position: i.position
}), !0
}
}
}, n.prototype._tryShow = function(t, e) {
var n = t.target,
i = this._tooltipModel;
if (i) {
this._lastX = t.offsetX, this._lastY = t.offsetY;
var r = t.dataByCoordSys;
if (r && r.length) this._showAxisTooltip(r, t);
else if (n) {
this._lastDataByCoordSys = null;
var o, a;
pc(n, function(t) {
return null != rS(t).dataIndex ? (o = t, !0) : null != rS(t).tooltipConfig ?
(a = t, !0) : void 0
}, !0), o ? this._showSeriesItemTooltip(t, o, e) : a ? this
._showComponentItemTooltip(t, a, e) : this._hide(e)
} else this._lastDataByCoordSys = null, this._hide(e)
}
}, n.prototype._showOrMove = function(t, e) {
var n = t.get("showDelay");
e = p_(e, this), clearTimeout(this._showTimout), n > 0 ? this._showTimout = setTimeout(e, n) :
e()
}, n.prototype._showAxisTooltip = function(t, e) {
var n = this._ecModel,
i = this._tooltipModel,
r = [e.offsetX, e.offsetY],
o = im([e.tooltipOption], i),
a = this._renderMode,
s = [],
l = fh("section", {
blocks: [],
noHeader: !0
}),
u = [],
c = new zC;
v(t, function(t) {
v(t.dataByAxis, function(t) {
var e = n.getComponent(t.axisDim + "Axis", t.axisIndex),
r = t.value;
if (e && null != r) {
var o = vy(r, e.axis, n, t.seriesDataIndices, t.valueLabelOpt),
p = fh("section", {
header: o,
noHeader: !G(o),
sortBlocks: !0,
blocks: []
});
l.blocks.push(p), v(t.seriesDataIndices, function(l) {
var d = n.getSeriesByIndex(l.seriesIndex),
f = l.dataIndexInside,
g = d.getDataParams(f);
if (!(g.dataIndex < 0)) {
g.axisDim = t.axisDim, g.axisIndex = t.axisIndex, g
.axisType = t.axisType, g.axisId = t.axisId, g
.axisValue = Fd(e.axis, {
value: r
}), g.axisValueLabel = o, g.marker = c
.makeTooltipMarker("item", Nl(g.color), a);
var v = qu(d.formatTooltip(f, !0, null)),
y = v.frag;
if (y) {
var m = im([d], i).get("valueFormatter");
p.blocks.push(m ? h({
valueFormatter: m
}, y) : y)
}
v.text && u.push(v.text), s.push(g)
}
})
}
})
}), l.blocks.reverse(), u.reverse();
var p = e.position,
d = o.get("order"),
f = xh(l, c, a, d, n.get("useUTC"), o.get("textStyle"));
f && u.unshift(f);
var g = "richText" === a ? "\n\n" : "
",
y = u.join(g);
this._showOrMove(o, function() {
this._updateContentNotChangedOnAxis(t, s) ? this._updatePosition(o, p, r[0], r[1],
this._tooltipContent, s) : this._showTooltipContent(o, y, s, Math.random() +
"", r[0], r[1], p, null, c)
})
}, n.prototype._showSeriesItemTooltip = function(t, e, n) {
var i = this._ecModel,
r = rS(e),
o = r.seriesIndex,
a = i.getSeriesByIndex(o),
s = r.dataModel || a,
l = r.dataIndex,
u = r.dataType,
c = s.getData(u),
p = this._renderMode,
d = t.positionDefault,
f = im([c.getItemModel(l), s, a && (a.coordinateSystem || {}).model], this._tooltipModel,
d ? {
position: d
} : null),
g = f.get("trigger");
if (null == g || "item" === g) {
var v = s.getDataParams(l, u),
y = new zC;
v.marker = y.makeTooltipMarker("item", Nl(v.color), p);
var m = qu(s.formatTooltip(l, !1, u)),
_ = f.get("order"),
x = f.get("valueFormatter"),
w = m.frag,
b = w ? xh(x ? h({
valueFormatter: x
}, w) : w, y, p, _, i.get("useUTC"), f.get("textStyle")) : m.text,
S = "item_" + s.name + "_" + l;
this._showOrMove(f, function() {
this._showTooltipContent(f, b, v, S, t.offsetX, t.offsetY, t.position, t.target,
y)
}), n({
type: "showTip",
dataIndexInside: l,
dataIndex: c.getRawIndex(l),
seriesIndex: o,
from: this.uid
})
}
}, n.prototype._showComponentItemTooltip = function(t, e, n) {
var i = rS(e),
r = i.tooltipConfig,
o = r.option || {};
if (C(o)) {
var a = o;
o = {
content: a,
formatter: a
}
}
var l = [o],
u = this._ecModel.getComponent(i.componentMainType, i.componentIndex);
u && l.push(u), l.push({
formatter: o.content
});
var h = t.positionDefault,
c = im(l, this._tooltipModel, h ? {
position: h
} : null),
p = c.get("content"),
d = Math.random() + "",
f = new zC;
this._showOrMove(c, function() {
var n = s(c.get("formatterParams") || {});
this._showTooltipContent(c, p, n, d, t.offsetX, t.offsetY, t.position, e, f)
}), n({
type: "showTip",
from: this.uid
})
}, n.prototype._showTooltipContent = function(t, e, n, i, r, o, a, s, l) {
if (this._ticket = "", t.get("showContent") && t.get("show")) {
var u = this._tooltipContent;
u.setEnterable(t.get("enterable"));
var h = t.get("formatter");
a = a || t.get("position");
var c = e,
p = this._getNearestPoint([r, o], n, t.get("trigger"), t.get("borderColor")),
d = p.color;
if (h)
if (C(h)) {
var f = t.ecModel.get("useUTC"),
g = M(n) ? n[0] : n,
v = g && g.axisType && g.axisType.indexOf("time") >= 0;
c = h, v && (c = pl(g.axisValue, c, f)), c = Rl(c, n, !0)
} else if (T(h)) {
var y = p_(function(e, i) {
e === this._ticket && (u.setContent(i, l, t, d, a), this._updatePosition(t,
a, r, o, u, n, s))
}, this);
this._ticket = i, c = h(n, i, y)
} else c = h;
u.setContent(c, l, t, d, a), u.show(t, d), this._updatePosition(t, a, r, o, u, n, s)
}
}, n.prototype._getNearestPoint = function(t, e, n, i) {
return "axis" === n || M(e) ? {
color: i || ("html" === this._renderMode ? "#fff" : "none")
} : M(e) ? void 0 : {
color: i || e.color || e.borderColor
}
}, n.prototype._updatePosition = function(t, e, n, i, r, o, a) {
var s = this._api.getWidth(),
l = this._api.getHeight();
e = e || t.get("position");
var u = r.getSize(),
h = t.get("align"),
c = t.get("verticalAlign"),
p = a && a.getBoundingRect().clone();
if (a && p.applyTransform(a.transform), T(e) && (e = e([n, i], o, r.el, p, {
viewSize: [s, l],
contentSize: u.slice()
})), M(e)) n = Ui(e[0], s), i = Ui(e[1], l);
else if (k(e)) {
var d = e;
d.width = u[0], d.height = u[1];
var f = Hl(d, {
width: s,
height: l
});
n = f.x, i = f.y, h = null, c = null
} else if (C(e) && a) {
var g = sm(e, p, u, t.get("borderWidth"));
n = g[0], i = g[1]
} else {
var g = om(n, i, r, s, l, h ? null : 20, c ? null : 20);
n = g[0], i = g[1]
}
if (h && (n -= lm(h) ? u[0] / 2 : "right" === h ? u[0] : 0), c && (i -= lm(c) ? u[1] / 2 :
"bottom" === c ? u[1] : 0), Gy(t)) {
var g = am(n, i, r, s, l);
n = g[0], i = g[1]
}
r.moveTo(n, i)
}, n.prototype._updateContentNotChangedOnAxis = function(t, e) {
var n = this._lastDataByCoordSys,
i = this._cbParamsList,
r = !!n && n.length === t.length;
return r && v(n, function(n, o) {
var a = n.dataByAxis || [],
s = t[o] || {},
l = s.dataByAxis || [];
r = r && a.length === l.length, r && v(a, function(t, n) {
var o = l[n] || {},
a = t.seriesDataIndices || [],
s = o.seriesDataIndices || [];
r = r && t.value === o.value && t.axisType === o.axisType && t
.axisId === o.axisId && a.length === s.length, r && v(a, function(t,
e) {
var n = s[e];
r = r && t.seriesIndex === n.seriesIndex && t.dataIndex ===
n.dataIndex
}), i && v(t.seriesDataIndices, function(t) {
var n = t.seriesIndex,
o = e[n],
a = i[n];
o && a && a.data !== o.data && (r = !1)
})
})
}), this._lastDataByCoordSys = t, this._cbParamsList = e, !!r
}, n.prototype._hide = function(t) {
this._lastDataByCoordSys = null, t({
type: "hideTip",
from: this.uid
})
}, n.prototype.dispose = function(t, e) {
!Um.node && e.getDom() && (Zh(this, "_updatePosition"), this._tooltipContent.dispose(), ky(
"itemTooltip", e))
}, n.type = "tooltip", n
}(FC);
Kd(hm);
var DL = ["x", "y", "radius", "angle", "single"],
kL = ["cartesian2d", "polar", "singleAxis"],
AL = function() {
function t() {
this.indexList = [], this.indexMap = []
}
return t.prototype.add = function(t) {
this.indexMap[t] || (this.indexList.push(t), this.indexMap[t] = !0)
}, t
}(),
PL = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e._autoThrottle = !0, e._noTarget = !0, e._rangePropMode = ["percent",
"percent"
], e
}
return e(n, t), n.prototype.init = function(t, e, n) {
var i = gm(t);
this.settledOption = i, this.mergeDefaultAndTheme(t, n), this._doInit(i)
}, n.prototype.mergeOption = function(t) {
var e = gm(t);
l(this.option, t, !0), l(this.settledOption, e, !0), this._doInit(e)
}, n.prototype._doInit = function(t) {
var e = this.option;
this._setDefaultThrottle(t), this._updateRangeUse(t);
var n = this.settledOption;
v([
["start", "startValue"],
["end", "endValue"]
], function(t, i) {
"value" === this._rangePropMode[i] && (e[t[0]] = n[t[0]] = null)
}, this), this._resetTarget()
}, n.prototype._resetTarget = function() {
var t = this.get("orient", !0),
e = this._targetAxisInfoMap = Z(),
n = this._fillSpecifiedTargetAxis(e);
n ? this._orient = t || this._makeAutoOrientByTargetAxis() : (this._orient = t || "horizontal",
this._fillAutoTargetAxisByOrient(e, this._orient)), this._noTarget = !0, e.each(
function(t) {
t.indexList.length && (this._noTarget = !1)
}, this)
}, n.prototype._fillSpecifiedTargetAxis = function(t) {
var e = !1;
return v(DL, function(n) {
var i = this.getReferringComponents(pm(n), Ew);
if (i.specified) {
e = !0;
var r = new AL;
v(i.models, function(t) {
r.add(t.componentIndex)
}), t.set(n, r)
}
}, this), e
}, n.prototype._fillAutoTargetAxisByOrient = function(t, e) {
function n(e, n) {
var i = e[0];
if (i) {
var o = new AL;
if (o.add(i.componentIndex), t.set(n, o), r = !1, "x" === n || "y" === n) {
var a = i.getReferringComponents("grid", zw).models[0];
a && v(e, function(t) {
i.componentIndex !== t.componentIndex && a === t.getReferringComponents(
"grid", zw).models[0] && o.add(t.componentIndex)
})
}
}
}
var i = this.ecModel,
r = !0;
if (r) {
var o = "vertical" === e ? "y" : "x",
a = i.findComponents({
mainType: o + "Axis"
});
n(a, o)
}
if (r) {
var a = i.findComponents({
mainType: "singleAxis",
filter: function(t) {
return t.get("orient", !0) === e
}
});
n(a, "single")
}
r && v(DL, function(e) {
if (r) {
var n = i.findComponents({
mainType: pm(e),
filter: function(t) {
return "category" === t.get("type", !0)
}
});
if (n[0]) {
var o = new AL;
o.add(n[0].componentIndex), t.set(e, o), r = !1
}
}
}, this)
}, n.prototype._makeAutoOrientByTargetAxis = function() {
var t;
return this.eachTargetAxis(function(e) {
!t && (t = e)
}, this), "y" === t ? "vertical" : "horizontal"
}, n.prototype._setDefaultThrottle = function(t) {
if (t.hasOwnProperty("throttle") && (this._autoThrottle = !1), this._autoThrottle) {
var e = this.ecModel.option;
this.option.throttle = e.animation && e.animationDurationUpdate > 0 ? 100 : 20
}
}, n.prototype._updateRangeUse = function(t) {
var e = this._rangePropMode,
n = this.get("rangeMode");
v([
["start", "startValue"],
["end", "endValue"]
], function(i, r) {
var o = null != t[i[0]],
a = null != t[i[1]];
o && !a ? e[r] = "percent" : !o && a ? e[r] = "value" : n ? e[r] = n[r] : o && (e[
r] = "percent")
})
}, n.prototype.noTarget = function() {
return this._noTarget
}, n.prototype.getFirstTargetAxisModel = function() {
var t;
return this.eachTargetAxis(function(e, n) {
null == t && (t = this.ecModel.getComponent(pm(e), n))
}, this), t
}, n.prototype.eachTargetAxis = function(t, e) {
this._targetAxisInfoMap.each(function(n, i) {
v(n.indexList, function(n) {
t.call(e, i, n)
})
})
}, n.prototype.getAxisProxy = function(t, e) {
var n = this.getAxisModel(t, e);
return n ? n.__dzAxisProxy : void 0
}, n.prototype.getAxisModel = function(t, e) {
var n = this._targetAxisInfoMap.get(t);
return n && n.indexMap[e] ? this.ecModel.getComponent(pm(t), e) : void 0
}, n.prototype.setRawRange = function(t) {
var e = this.option,
n = this.settledOption;
v([
["start", "startValue"],
["end", "endValue"]
], function(i) {
(null != t[i[0]] || null != t[i[1]]) && (e[i[0]] = n[i[0]] = t[i[0]], e[i[1]] = n[i[
1]] = t[i[1]])
}, this), this._updateRangeUse(t)
}, n.prototype.setCalculatedRange = function(t) {
var e = this.option;
v(["start", "startValue", "end", "endValue"], function(n) {
e[n] = t[n]
})
}, n.prototype.getPercentRange = function() {
var t = this.findRepresentativeAxisProxy();
return t ? t.getDataPercentWindow() : void 0
}, n.prototype.getValueRange = function(t, e) {
if (null != t || null != e) return this.getAxisProxy(t, e).getDataValueWindow();
var n = this.findRepresentativeAxisProxy();
return n ? n.getDataValueWindow() : void 0
}, n.prototype.findRepresentativeAxisProxy = function(t) {
if (t) return t.__dzAxisProxy;
for (var e, n = this._targetAxisInfoMap.keys(), i = 0; i < n.length; i++)
for (var r = n[i], o = this._targetAxisInfoMap.get(r), a = 0; a < o.indexList.length; a++) {
var s = this.getAxisProxy(r, o.indexList[a]);
if (s.hostedBy(this)) return s;
e || (e = s)
}
return e
}, n.prototype.getRangePropMode = function() {
return this._rangePropMode.slice()
}, n.prototype.getOrient = function() {
return this._orient
}, n.type = "dataZoom", n.dependencies = ["xAxis", "yAxis", "radiusAxis", "angleAxis", "singleAxis",
"series", "toolbox"
], n.defaultOption = {
z: 4,
filterMode: "filter",
start: 0,
end: 100
}, n
}(wT),
LL = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e
}
return e(n, t), n.type = "dataZoom.inside", n.defaultOption = il(PL.defaultOption, {
disabled: !1,
zoomLock: !1,
zoomOnMouseWheel: !0,
moveOnMouseMove: !0,
moveOnMouseWheel: !1,
preventDefaultMouseMove: !0
}), n
}(PL),
OL = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e
}
return e(n, t), n.prototype.render = function(t, e, n) {
this.dataZoomModel = t, this.ecModel = e, this.api = n
}, n.type = "dataZoom", n
}(FC),
RL = "\x00_ec_interaction_mutex";
yp({
type: "takeGlobalCursor",
event: "globalCursorTaken",
update: "update"
}, Q);
var zL = function(t) {
function n(e) {
var n = t.call(this) || this;
n._zr = e;
var i = p_(n._mousedownHandler, n),
r = p_(n._mousemoveHandler, n),
o = p_(n._mouseupHandler, n),
a = p_(n._mousewheelHandler, n),
l = p_(n._pinchHandler, n);
return n.enable = function(t, n) {
this.disable(), this._opt = c(s(n) || {}, {
zoomOnMouseWheel: !0,
moveOnMouseMove: !0,
moveOnMouseWheel: !1,
preventDefaultMouseMove: !0
}), null == t && (t = !0), (t === !0 || "move" === t || "pan" === t) && (e.on(
"mousedown", i), e.on("mousemove", r), e.on("mouseup", o)), (t === !0 || "scale" ===
t || "zoom" === t) && (e.on("mousewheel", a), e.on("pinch", l))
}, n.disable = function() {
e.off("mousedown", i), e.off("mousemove", r), e.off("mouseup", o), e.off("mousewheel", a), e
.off("pinch", l)
}, n
}
return e(n, t), n.prototype.isDragging = function() {
return this._dragging
}, n.prototype.isPinching = function() {
return this._pinching
}, n.prototype.setPointerChecker = function(t) {
this.pointerChecker = t
}, n.prototype.dispose = function() {
this.disable()
}, n.prototype._mousedownHandler = function(t) {
if (!ze(t)) {
for (var e = t.target; e;) {
if (e.draggable) return;
e = e.__hostTarget || e.parent
}
var n = t.offsetX,
i = t.offsetY;
this.pointerChecker && this.pointerChecker(t, n, i) && (this._x = n, this._y = i, this
._dragging = !0)
}
}, n.prototype._mousemoveHandler = function(t) {
if (this._dragging && Sm("moveOnMouseMove", t, this._opt) && "pinch" !== t.gestureEvent && !_m(
this._zr, "globalPan")) {
var e = t.offsetX,
n = t.offsetY,
i = this._x,
r = this._y,
o = e - i,
a = n - r;
this._x = e, this._y = n, this._opt.preventDefaultMouseMove && z_(t.event), bm(this, "pan",
"moveOnMouseMove", t, {
dx: o,
dy: a,
oldX: i,
oldY: r,
newX: e,
newY: n,
isAvailableBehavior: null
})
}
}, n.prototype._mouseupHandler = function(t) {
ze(t) || (this._dragging = !1)
}, n.prototype._mousewheelHandler = function(t) {
var e = Sm("zoomOnMouseWheel", t, this._opt),
n = Sm("moveOnMouseWheel", t, this._opt),
i = t.wheelDelta,
r = Math.abs(i),
o = t.offsetX,
a = t.offsetY;
if (0 !== i && (e || n)) {
if (e) {
var s = r > 3 ? 1.4 : r > 1 ? 1.2 : 1.1,
l = i > 0 ? s : 1 / s;
wm(this, "zoom", "zoomOnMouseWheel", t, {
scale: l,
originX: o,
originY: a,
isAvailableBehavior: null
})
}
if (n) {
var u = Math.abs(i),
h = (i > 0 ? 1 : -1) * (u > 3 ? .4 : u > 1 ? .15 : .05);
wm(this, "scrollMove", "moveOnMouseWheel", t, {
scrollDelta: h,
originX: o,
originY: a,
isAvailableBehavior: null
})
}
}
}, n.prototype._pinchHandler = function(t) {
if (!_m(this._zr, "globalPan")) {
var e = t.pinchScale > 1 ? 1.1 : 1 / 1.1;
wm(this, "zoom", null, t, {
scale: e,
originX: t.pinchX,
originY: t.pinchY,
isAvailableBehavior: null
})
}
}, n
}(C_),
EL = Or(),
BL = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = "dataZoom.inside", e
}
return e(n, t), n.prototype.render = function(e, n, i) {
return t.prototype.render.apply(this, arguments), e.noTarget() ? void this._clear() : (this
.range = e.getPercentRange(), void Mm(i, e, {
pan: p_(NL.pan, this),
zoom: p_(NL.zoom, this),
scrollMove: p_(NL.scrollMove, this)
}))
}, n.prototype.dispose = function() {
this._clear(), t.prototype.dispose.apply(this, arguments)
}, n.prototype._clear = function() {
Tm(this.api, this.dataZoomModel), this.range = null
}, n.type = "dataZoom.inside", n
}(OL),
NL = {
zoom: function(t, e, n, i) {
var r = this.range,
o = r.slice(),
a = t.axisModels[0];
if (a) {
var s = FL[e](null, [i.originX, i.originY], a, n, t),
l = (s.signal > 0 ? s.pixelStart + s.pixelLength - s.pixel : s.pixel - s.pixelStart) / s
.pixelLength * (o[1] - o[0]) + o[0],
u = Math.max(1 / i.scale, 0);
o[0] = (o[0] - l) * u + l, o[1] = (o[1] - l) * u + l;
var h = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();
return vm(0, o, [0, 100], 0, h.minSpan, h.maxSpan), this.range = o, r[0] !== o[0] || r[
1] !== o[1] ? o : void 0
}
},
pan: Lm(function(t, e, n, i, r, o) {
var a = FL[i]([o.oldX, o.oldY], [o.newX, o.newY], e, r, n);
return a.signal * (t[1] - t[0]) * a.pixel / a.pixelLength
}),
scrollMove: Lm(function(t, e, n, i, r, o) {
var a = FL[i]([0, 0], [o.scrollDelta, o.scrollDelta], e, r, n);
return a.signal * (t[1] - t[0]) * o.scrollDelta
})
},
FL = {
grid: function(t, e, n, i, r) {
var o = n.axis,
a = {},
s = r.model.coordinateSystem.getRect();
return t = t || [0, 0], "x" === o.dim ? (a.pixel = e[0] - t[0], a.pixelLength = s.width, a
.pixelStart = s.x, a.signal = o.inverse ? 1 : -1) : (a.pixel = e[1] - t[1], a
.pixelLength = s.height, a.pixelStart = s.y, a.signal = o.inverse ? -1 : 1), a
},
polar: function(t, e, n, i, r) {
var o = n.axis,
a = {},
s = r.model.coordinateSystem,
l = s.getRadiusAxis().getExtent(),
u = s.getAngleAxis().getExtent();
return t = t ? s.pointToCoord(t) : [0, 0], e = s.pointToCoord(e), "radiusAxis" === n.mainType ?
(a.pixel = e[0] - t[0], a.pixelLength = l[1] - l[0], a.pixelStart = l[0], a.signal = o
.inverse ? 1 : -1) : (a.pixel = e[1] - t[1], a.pixelLength = u[1] - u[0], a.pixelStart =
u[0], a.signal = o.inverse ? -1 : 1), a
},
singleAxis: function(t, e, n, i, r) {
var o = n.axis,
a = r.model.coordinateSystem.getRect(),
s = {};
return t = t || [0, 0], "horizontal" === o.orient ? (s.pixel = e[0] - t[0], s.pixelLength = a
.width, s.pixelStart = a.x, s.signal = o.inverse ? 1 : -1) : (s.pixel = e[1] - t[1], s
.pixelLength = a.height, s.pixelStart = a.y, s.signal = o.inverse ? -1 : 1), s
}
},
VL = v,
HL = Xi,
WL = function() {
function t(t, e, n, i) {
this._dimName = t, this._axisIndex = e, this.ecModel = i, this._dataZoomModel = n
}
return t.prototype.hostedBy = function(t) {
return this._dataZoomModel === t
}, t.prototype.getDataValueWindow = function() {
return this._valueWindow.slice()
}, t.prototype.getDataPercentWindow = function() {
return this._percentWindow.slice()
}, t.prototype.getTargetSeriesModels = function() {
var t = [];
return this.ecModel.eachSeries(function(e) {
if (cm(e)) {
var n = pm(this._dimName),
i = e.getReferringComponents(n, zw).models[0];
i && this._axisIndex === i.componentIndex && t.push(e)
}
}, this), t
}, t.prototype.getAxisModel = function() {
return this.ecModel.getComponent(this._dimName + "Axis", this._axisIndex)
}, t.prototype.getMinMaxSpan = function() {
return s(this._minMaxSpan)
}, t.prototype.calculateDataWindow = function(t) {
function e(t, e, n, i, r) {
var a = r ? "Span" : "ValueSpan";
vm(0, t, n, "all", h["min" + a], h["max" + a]);
for (var s = 0; 2 > s; s++) e[s] = Gi(t[s], n, i, !0), r && (e[s] = o.parse(e[s]))
}
var n, i = this._dataExtent,
r = this.getAxisModel(),
o = r.axis.scale,
a = this._dataZoomModel.getRangePropMode(),
s = [0, 100],
l = [],
u = [];
VL(["start", "end"], function(e, r) {
var h = t[e],
c = t[e + "Value"];
"percent" === a[r] ? (null == h && (h = s[r]), c = o.parse(Gi(h, s, i))) : (n = !0,
c = null == c ? i[r] : o.parse(c), h = Gi(c, i, s)), u[r] = null == c ||
isNaN(c) ? i[r] : c, l[r] = null == h || isNaN(h) ? s[r] : h
}), HL(u), HL(l);
var h = this._minMaxSpan;
return n ? e(u, l, i, s, !1) : e(l, u, s, i, !0), {
valueWindow: u,
percentWindow: l
}
}, t.prototype.reset = function(t) {
if (t === this._dataZoomModel) {
var e = this.getTargetSeriesModels();
this._dataExtent = Om(this, this._dimName, e), this._updateMinMaxSpan();
var n = this.calculateDataWindow(t.settledOption);
this._valueWindow = n.valueWindow, this._percentWindow = n.percentWindow, this
._setAxisModel()
}
}, t.prototype.filterData = function(t) {
function e(t) {
return t >= o[0] && t <= o[1]
}
if (t === this._dataZoomModel) {
var n = this._dimName,
i = this.getTargetSeriesModels(),
r = t.get("filterMode"),
o = this._valueWindow;
"none" !== r && VL(i, function(t) {
var i = t.getData(),
a = i.mapDimensionsAll(n);
if (a.length) {
if ("weakFilter" === r) {
var s = i.getStore(),
l = y(a, function(t) {
return i.getDimensionIndex(t)
}, i);
i.filterSelf(function(t) {
for (var e, n, i, r = 0; r < a.length; r++) {
var u = s.get(l[r], t),
h = !isNaN(u),
c = u < o[0],
p = u > o[1];
if (h && !c && !p) return !0;
h && (i = !0), c && (e = !0), p && (n = !0)
}
return i && e && n
})
} else VL(a, function(n) {
if ("empty" === r) t.setData(i = i.map(n, function(t) {
return e(t) ? t : 0 / 0
}));
else {
var a = {};
a[n] = o, i.selectRange(a)
}
});
VL(a, function(t) {
i.setApproximateExtent(o, t)
})
}
})
}
}, t.prototype._updateMinMaxSpan = function() {
var t = this._minMaxSpan = {},
e = this._dataZoomModel,
n = this._dataExtent;
VL(["min", "max"], function(i) {
var r = e.get(i + "Span"),
o = e.get(i + "ValueSpan");
null != o && (o = this.getAxisModel().axis.scale.parse(o)), null != o ? r = Gi(n[
0] + o, n, [0, 100], !0) : null != r && (o = Gi(r, [0, 100], n, !0) - n[0]),
t[i + "Span"] = r, t[i + "ValueSpan"] = o
}, this)
}, t.prototype._setAxisModel = function() {
var t = this.getAxisModel(),
e = this._percentWindow,
n = this._valueWindow;
if (e) {
var i = ji(n, [0, 500]);
i = Math.min(i, 20);
var r = t.axis.scale.rawExtentInfo;
0 !== e[0] && r.setDeterminedMinMax("min", +n[0].toFixed(i)), 100 !== e[1] && r
.setDeterminedMinMax("max", +n[1].toFixed(i)), r.freeze()
}
}, t
}(),
GL = {
getTargetSeries: function(t) {
function e(e) {
t.eachComponent("dataZoom", function(n) {
n.eachTargetAxis(function(i, r) {
var o = t.getComponent(pm(i), r);
e(i, r, o, n)
})
})
}
e(function(t, e, n) {
n.__dzAxisProxy = null
});
var n = [];
e(function(e, i, r, o) {
r.__dzAxisProxy || (r.__dzAxisProxy = new WL(e, i, o, t), n.push(r.__dzAxisProxy))
});
var i = Z();
return v(n, function(t) {
v(t.getTargetSeriesModels(), function(t) {
i.set(t.uid, t)
})
}), i
},
overallReset: function(t, e) {
t.eachComponent("dataZoom", function(t) {
t.eachTargetAxis(function(e, n) {
t.getAxisProxy(e, n).reset(t)
}), t.eachTargetAxis(function(n, i) {
t.getAxisProxy(n, i).filterData(t, e)
})
}), t.eachComponent("dataZoom", function(t) {
var e = t.findRepresentativeAxisProxy();
if (e) {
var n = e.getDataPercentWindow(),
i = e.getDataValueWindow();
t.setCalculatedRange({
start: n[0],
end: n[1],
startValue: i[0],
endValue: i[1]
})
}
})
}
},
UL = !1,
YL = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e
}
return e(n, t), n.type = "dataZoom.slider", n.layoutMode = "box", n.defaultOption = il(PL
.defaultOption, {
show: !0,
right: "ph",
top: "ph",
width: "ph",
height: "ph",
left: null,
bottom: null,
borderColor: "#d2dbee",
borderRadius: 3,
backgroundColor: "rgba(47,69,84,0)",
dataBackground: {
lineStyle: {
color: "#d2dbee",
width: .5
},
areaStyle: {
color: "#d2dbee",
opacity: .2
}
},
selectedDataBackground: {
lineStyle: {
color: "#8fb0f7",
width: .5
},
areaStyle: {
color: "#8fb0f7",
opacity: .2
}
},
fillerColor: "rgba(135,175,274,0.2)",
handleIcon: "path://M-9.35,34.56V42m0-40V9.5m-2,0h4a2,2,0,0,1,2,2v21a2,2,0,0,1-2,2h-4a2,2,0,0,1-2-2v-21A2,2,0,0,1-11.35,9.5Z",
handleSize: "100%",
handleStyle: {
color: "#fff",
borderColor: "#ACB8D1"
},
moveHandleSize: 7,
moveHandleIcon: "path://M-320.9-50L-320.9-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-348-41-339-50-320.9-50z M-212.3-50L-212.3-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-239.4-41-230.4-50-212.3-50z M-103.7-50L-103.7-50c18.1,0,27.1,9,27.1,27.1V85.7c0,18.1-9,27.1-27.1,27.1l0,0c-18.1,0-27.1-9-27.1-27.1V-22.9C-130.9-41-121.8-50-103.7-50z",
moveHandleStyle: {
color: "#D2DBEE",
opacity: .7
},
showDetail: !0,
showDataShadow: "auto",
realtime: !0,
zoomLock: !1,
textStyle: {
color: "#6E7079"
},
brushSelect: !0,
brushStyle: {
color: "rgba(135,175,274,0.15)"
},
emphasis: {
handleStyle: {
borderColor: "#8FB0F7"
},
moveHandleStyle: {
color: "#8FB0F7"
}
}
}), n
}(PL),
XL = Kb,
ZL = 7,
qL = 1,
jL = 30,
KL = 7,
$L = "horizontal",
QL = "vertical",
JL = 5,
tO = ["line", "bar", "candlestick", "scatter"],
eO = {
easing: "cubicOut",
duration: 100,
delay: 0
},
nO = function(t) {
function n() {
var e = null !== t && t.apply(this, arguments) || this;
return e.type = n.type, e._displayables = {}, e
}
return e(n, t), n.prototype.init = function(t, e) {
this.api = e, this._onBrush = p_(this._onBrush, this), this._onBrushEnd = p_(this._onBrushEnd,
this)
}, n.prototype.render = function(e, n, i, r) {
return t.prototype.render.apply(this, arguments), Xh(this, "_dispatchZoomAction", e.get(
"throttle"), "fixRate"), this._orient = e.getOrient(), e.get("show") === !1 ? void this
.group.removeAll() : e.noTarget() ? (this._clear(), void this.group.removeAll()) : (r &&
"dataZoom" === r.type && r.from === this.uid || this._buildView(), void this
._updateView())
}, n.prototype.dispose = function() {
this._clear(), t.prototype.dispose.apply(this, arguments)
}, n.prototype._clear = function() {
Zh(this, "_dispatchZoomAction");
var t = this.api.getZr();
t.off("mousemove", this._onBrush), t.off("mouseup", this._onBrushEnd)
}, n.prototype._buildView = function() {
var t = this.group;
t.removeAll(), this._brushing = !1, this._displayables.brushRect = null, this._resetLocation(),
this._resetInterval();
var e = this._displayables.sliderGroup = new ww;
this._renderBackground(), this._renderHandle(), this._renderDataShadow(), t.add(e), this
._positionGroup()
}, n.prototype._resetLocation = function() {
var t = this.dataZoomModel,
e = this.api,
n = t.get("brushSelect"),
i = n ? KL : 0,
r = this._findCoordRect(),
o = {
width: e.getWidth(),
height: e.getHeight()
},
a = this._orient === $L ? {
right: o.width - r.x - r.width,
top: o.height - jL - ZL - i,
width: r.width,
height: jL
} : {
right: ZL,
top: r.y,
width: jL,
height: r.height
},
s = Ul(t.option);
v(["right", "top", "width", "height"], function(t) {
"ph" === s[t] && (s[t] = a[t])
});
var l = Hl(s, o);
this._location = {
x: l.x,
y: l.y
}, this._size = [l.width, l.height], this._orient === QL && this._size.reverse()
}, n.prototype._positionGroup = function() {
var t = this.group,
e = this._location,
n = this._orient,
i = this.dataZoomModel.getFirstTargetAxisModel(),
r = i && i.get("inverse"),
o = this._displayables.sliderGroup,
a = (this._dataShadowInfo || {}).otherAxisInverse;
o.attr(n !== $L || r ? n === $L && r ? {
scaleY: a ? 1 : -1,
scaleX: -1
} : n !== QL || r ? {
scaleY: a ? -1 : 1,
scaleX: -1,
rotation: Math.PI / 2
} : {
scaleY: a ? -1 : 1,
scaleX: 1,
rotation: Math.PI / 2
} : {
scaleY: a ? 1 : -1,
scaleX: 1
});
var s = t.getBoundingRect([o]);
t.x = e.x - s.x, t.y = e.y - s.y, t.markRedraw()
}, n.prototype._getViewExtent = function() {
return [0, this._size[0]]
}, n.prototype._renderBackground = function() {
var t = this.dataZoomModel,
e = this._size,
n = this._displayables.sliderGroup,
i = t.get("brushSelect");
n.add(new XL({
silent: !0,
shape: {
x: 0,
y: 0,
width: e[0],
height: e[1]
},
style: {
fill: t.get("backgroundColor")
},
z2: -40
}));
var r = new XL({
shape: {
x: 0,
y: 0,
width: e[0],
height: e[1]
},
style: {
fill: "transparent"
},
z2: 0,
onclick: p_(this._onClickPanel, this)
}),
o = this.api.getZr();
i ? (r.on("mousedown", this._onBrushStart, this), r.cursor = "crosshair", o.on("mousemove", this
._onBrush), o.on("mouseup", this._onBrushEnd)) : (o.off("mousemove", this._onBrush), o
.off("mouseup", this._onBrushEnd)), n.add(r)
}, n.prototype._renderDataShadow = function() {
function t(t) {
var e = x.getModel(t ? "selectedDataBackground" : "dataBackground"),
n = new ww,
i = new nM({
shape: {
points: l
},
segmentIgnoreThreshold: 1,
style: e.getModel("areaStyle").getAreaStyle(),
silent: !0,
z2: -20
}),
r = new rM({
shape: {
points: u
},
segmentIgnoreThreshold: 1,
style: e.getModel("lineStyle").getLineStyle(),
silent: !0,
z2: -19
});
return n.add(i), n.add(r), n
}
var e = this._dataShadowInfo = this._prepareDataShadowInfo();
if (this._displayables.dataShadowSegs = [], e) {
var n = this._size,
i = this._shadowSize || [],
r = e.series,
o = r.getRawData(),
a = r.getShadowDim && r.getShadowDim(),
s = a && o.getDimensionInfo(a) ? r.getShadowDim() : e.otherDim;
if (null != s) {
var l = this._shadowPolygonPts,
u = this._shadowPolylinePts;
if (o !== this._shadowData || s !== this._shadowDim || n[0] !== i[0] || n[1] !== i[1]) {
var h = o.getDataExtent(s),
c = .3 * (h[1] - h[0]);
h = [h[0] - c, h[1] + c];
var p, d = [0, n[1]],
f = [0, n[0]],
g = [
[n[0], 0],
[0, 0]
],
v = [],
y = f[1] / (o.count() - 1),
m = 0,
_ = Math.round(o.count() / n[0]);
o.each([s], function(t, e) {
if (_ > 0 && e % _) return void(m += y);
var n = null == t || isNaN(t) || "" === t,
i = n ? 0 : Gi(t, h, d, !0);
n && !p && e ? (g.push([g[g.length - 1][0], 0]), v.push([v[v.length - 1]
[0], 0
])) : !n && p && (g.push([m, 0]), v.push([m, 0])), g.push([m, i]), v
.push([m, i]), m += y, p = n
}), l = this._shadowPolygonPts = g, u = this._shadowPolylinePts = v
}
this._shadowData = o, this._shadowDim = s, this._shadowSize = [n[0], n[1]];
for (var x = this.dataZoomModel, w = 0; 3 > w; w++) {
var b = t(1 === w);
this._displayables.sliderGroup.add(b), this._displayables.dataShadowSegs.push(b)
}
}
}
}, n.prototype._prepareDataShadowInfo = function() {
var t = this.dataZoomModel,
e = t.get("showDataShadow");
if (e !== !1) {
var n, i = this.ecModel;
return t.eachTargetAxis(function(r, o) {
var a = t.getAxisProxy(r, o).getTargetSeriesModels();
v(a, function(t) {
if (!(n || e !== !0 && p(tO, t.get("type")) < 0)) {
var a, s = i.getComponent(pm(r), o).axis,
l = Bm(r),
u = t.coordinateSystem;
null != l && u.getOtherAxis && (a = u.getOtherAxis(s).inverse),
l = t.getData().mapDimension(l), n = {
thisAxis: s,
series: t,
thisDim: r,
otherDim: l,
otherAxisInverse: a
}
}
}, this)
}, this), n
}
}, n.prototype._renderHandle = function() {
var t = this.group,
e = this._displayables,
n = e.handles = [null, null],
i = e.handleLabels = [null, null],
r = this._displayables.sliderGroup,
o = this._size,
a = this.dataZoomModel,
s = this.api,
l = a.get("borderRadius") || 0,
u = a.get("brushSelect"),
h = e.filler = new XL({
silent: u,
style: {
fill: a.get("fillerColor")
},
textConfig: {
position: "inside"
}
});
r.add(h), r.add(new XL({
silent: !0,
subPixelOptimize: !0,
shape: {
x: 0,
y: 0,
width: o[0],
height: o[1],
r: l
},
style: {
stroke: a.get("dataBackgroundColor") || a.get("borderColor"),
lineWidth: qL,
fill: "rgba(0,0,0,0)"
}
})), v([0, 1], function(e) {
var o = a.get("handleIcon");
!II[o] && o.indexOf("path://") < 0 && o.indexOf("image://") < 0 && (o = "path://" +
o);
var s = fc(o, -1, 0, 2, 2, null, !0);
s.attr({
cursor: Nm(this._orient),
draggable: !0,
drift: p_(this._onDragMove, this, e),
ondragend: p_(this._onDragEnd, this),
onmouseover: p_(this._showDataInfo, this, !0),
onmouseout: p_(this._showDataInfo, this, !1),
z2: 5
});
var l = s.getBoundingRect(),
u = a.get("handleSize");
this._handleHeight = Ui(u, this._size[1]), this._handleWidth = l.width / l.height *
this._handleHeight, s.setStyle(a.getModel("handleStyle").getItemStyle()), s
.style.strokeNoScale = !0, s.rectHover = !0, s.ensureState("emphasis").style = a
.getModel(["emphasis", "handleStyle"]).getItemStyle(), La(s);
var h = a.get("handleColor");
null != h && (s.style.fill = h), r.add(n[e] = s);
var c = a.getModel("textStyle");
t.add(i[e] = new tS({
silent: !0,
invisible: !0,
style: Xs(c, {
x: 0,
y: 0,
text: "",
verticalAlign: "middle",
align: "center",
fill: c.getTextColor(),
font: c.getFont()
}),
z2: 10
}))
}, this);
var c = h;
if (u) {
var p = Ui(a.get("moveHandleSize"), o[1]),
d = e.moveHandle = new Kb({
style: a.getModel("moveHandleStyle").getItemStyle(),
silent: !0,
shape: {
r: [0, 0, 2, 2],
y: o[1] - .5,
height: p
}
}),
f = .8 * p,
g = e.moveHandleIcon = fc(a.get("moveHandleIcon"), -f / 2, -f / 2, f, f, "#fff", !0);
g.silent = !0, g.y = o[1] + p / 2 - .5, d.ensureState("emphasis").style = a.getModel([
"emphasis", "moveHandleStyle"
]).getItemStyle();
var y = Math.min(o[1] / 2, Math.max(p, 10));
c = e.moveZone = new Kb({
invisible: !0,
shape: {
y: o[1] - y,
height: p + y
}
}), c.on("mouseover", function() {
s.enterEmphasis(d)
}).on("mouseout", function() {
s.leaveEmphasis(d)
}), r.add(d), r.add(g), r.add(c)
}
c.attr({
draggable: !0,
cursor: Nm(this._orient),
drift: p_(this._onDragMove, this, "all"),
ondragstart: p_(this._showDataInfo, this, !0),
ondragend: p_(this._onDragEnd, this),
onmouseover: p_(this._showDataInfo, this, !0),
onmouseout: p_(this._showDataInfo, this, !1)
})
}, n.prototype._resetInterval = function() {
var t = this._range = this.dataZoomModel.getPercentRange(),
e = this._getViewExtent();
this._handleEnds = [Gi(t[0], [0, 100], e, !0), Gi(t[1], [0, 100], e, !0)]
}, n.prototype._updateInterval = function(t, e) {
var n = this.dataZoomModel,
i = this._handleEnds,
r = this._getViewExtent(),
o = n.findRepresentativeAxisProxy().getMinMaxSpan(),
a = [0, 100];
vm(e, i, r, n.get("zoomLock") ? "all" : t, null != o.minSpan ? Gi(o.minSpan, a, r, !0) : null,
null != o.maxSpan ? Gi(o.maxSpan, a, r, !0) : null);
var s = this._range,
l = this._range = Xi([Gi(i[0], r, a, !0), Gi(i[1], r, a, !0)]);
return !s || s[0] !== l[0] || s[1] !== l[1]
}, n.prototype._updateView = function(t) {
var e = this._displayables,
n = this._handleEnds,
i = Xi(n.slice()),
r = this._size;
v([0, 1], function(t) {
var i = e.handles[t],
o = this._handleHeight;
i.attr({
scaleX: o / 2,
scaleY: o / 2,
x: n[t] + (t ? -1 : 1),
y: r[1] / 2 - o / 2
})
}, this), e.filler.setShape({
x: i[0],
y: 0,
width: i[1] - i[0],
height: r[1]
});
var o = {
x: i[0],
width: i[1] - i[0]
};
e.moveHandle && (e.moveHandle.setShape(o), e.moveZone.setShape(o), e.moveZone.getBoundingRect(),
e.moveHandleIcon && e.moveHandleIcon.attr("x", o.x + o.width / 2));
for (var a = e.dataShadowSegs, s = [0, i[0], i[1], r[0]], l = 0; l < a.length; l++) {
var u = a[l],
h = u.getClipPath();
h || (h = new Kb, u.setClipPath(h)), h.setShape({
x: s[l],
y: 0,
width: s[l + 1] - s[l],
height: r[1]
})
}
this._updateDataInfo(t)
}, n.prototype._updateDataInfo = function(t) {
function e(t) {
var e = Cs(i.handles[t].parent, this.group),
n = Ds(0 === t ? "right" : "left", e),
s = this._handleWidth / 2 + JL,
l = Is([c[t] + (0 === t ? -s : s), this._size[1] / 2], e);
r[t].setStyle({
x: l[0],
y: l[1],
verticalAlign: o === $L ? "middle" : n,
align: o === $L ? n : "center",
text: a[t]
})
}
var n = this.dataZoomModel,
i = this._displayables,
r = i.handleLabels,
o = this._orient,
a = ["", ""];
if (n.get("showDetail")) {
var s = n.findRepresentativeAxisProxy();
if (s) {
var l = s.getAxisModel().axis,
u = this._range,
h = t ? s.calculateDataWindow({
start: u[0],
end: u[1]
}).valueWindow : s.getDataValueWindow();
a = [this._formatLabel(h[0], l), this._formatLabel(h[1], l)]
}
}
var c = Xi(this._handleEnds.slice());
e.call(this, 0), e.call(this, 1)
}, n.prototype._formatLabel = function(t, e) {
var n = this.dataZoomModel,
i = n.get("labelFormatter"),
r = n.get("labelPrecision");
(null == r || "auto" === r) && (r = e.getPixelPrecision());
var o = null == t || isNaN(t) ? "" : "category" === e.type || "time" === e.type ? e.scale
.getLabel({
value: Math.round(t)
}) : t.toFixed(Math.min(r, 20));
return T(i) ? i(t, o) : C(i) ? i.replace("{value}", o) : o
}, n.prototype._showDataInfo = function(t) {
t = this._dragging || t;
var e = this._displayables,
n = e.handleLabels;
n[0].attr("invisible", !t), n[1].attr("invisible", !t), e.moveHandle && this.api[t ?
"enterEmphasis" : "leaveEmphasis"](e.moveHandle, 1)
}, n.prototype._onDragMove = function(t, e, n, i) {
this._dragging = !0, z_(i.event);
var r = this._displayables.sliderGroup.getLocalTransform(),
o = Is([e, n], r, !0),
a = this._updateInterval(t, o[0]),
s = this.dataZoomModel.get("realtime");
this._updateView(!s), a && s && this._dispatchZoomAction(!0)
}, n.prototype._onDragEnd = function() {
this._dragging = !1, this._showDataInfo(!1);
var t = this.dataZoomModel.get("realtime");
!t && this._dispatchZoomAction(!1)
}, n.prototype._onClickPanel = function(t) {
var e = this._size,
n = this._displayables.sliderGroup.transformCoordToLocal(t.offsetX, t.offsetY);
if (!(n[0] < 0 || n[0] > e[0] || n[1] < 0 || n[1] > e[1])) {
var i = this._handleEnds,
r = (i[0] + i[1]) / 2,
o = this._updateInterval("all", n[0] - r);
this._updateView(), o && this._dispatchZoomAction(!1)
}
}, n.prototype._onBrushStart = function(t) {
var e = t.offsetX,
n = t.offsetY;
this._brushStart = new F_(e, n), this._brushing = !0, this._brushStartTime = +new Date
}, n.prototype._onBrushEnd = function() {
if (this._brushing) {
var t = this._displayables.brushRect;
if (this._brushing = !1, t) {
t.attr("ignore", !0);
var e = t.shape,
n = +new Date;
if (!(n - this._brushStartTime < 200 && Math.abs(e.width) < 5)) {
var i = this._getViewExtent(),
r = [0, 100];
this._range = Xi([Gi(e.x, i, r, !0), Gi(e.x + e.width, i, r, !0)]), this
._handleEnds = [e.x, e.x + e.width], this._updateView(), this
._dispatchZoomAction(!1)
}
}
}
}, n.prototype._onBrush = function(t) {
this._brushing && (z_(t.event), this._updateBrushRect(t.offsetX, t.offsetY))
}, n.prototype._updateBrushRect = function(t, e) {
var n = this._displayables,
i = this.dataZoomModel,
r = n.brushRect;
r || (r = n.brushRect = new XL({
silent: !0,
style: i.getModel("brushStyle").getItemStyle()
}), n.sliderGroup.add(r)), r.attr("ignore", !1);
var o = this._brushStart,
a = this._displayables.sliderGroup,
s = a.transformCoordToLocal(t, e),
l = a.transformCoordToLocal(o.x, o.y),
u = this._size;
s[0] = Math.max(Math.min(u[0], s[0]), 0), r.setShape({
x: l[0],
y: 0,
width: s[0] - l[0],
height: u[1]
})
}, n.prototype._dispatchZoomAction = function(t) {
var e = this._range;
this.api.dispatchAction({
type: "dataZoom",
from: this.uid,
dataZoomId: this.dataZoomModel.id,
animation: t ? eO : null,
start: e[0],
end: e[1]
})
}, n.prototype._findCoordRect = function() {
var t, e = fm(this.dataZoomModel).infoList;
if (!t && e.length) {
var n = e[0].model.coordinateSystem;
t = n.getRect && n.getRect()
}
if (!t) {
var i = this.api.getWidth(),
r = this.api.getHeight();
t = {
x: .2 * i,
y: .2 * r,
width: .6 * i,
height: .6 * r
}
}
return t
}, n.type = "dataZoom.slider", n
}(OL);
Kd(Vm), t.version = HI, t.dependencies = WI, t.PRIORITY = oD, t.init = op, t.connect = ap, t.disconnect = sp, t
.disConnect = jD, t.dispose = lp, t.getInstanceByDom = up, t.getInstanceById = hp, t.registerTheme = cp, t
.registerPreprocessor = pp, t.registerProcessor = dp, t.registerPostInit = fp, t.registerPostUpdate = gp, t
.registerUpdateLifecycle = vp, t.registerAction = yp, t.registerCoordinateSystem = mp, t
.getCoordinateSystemDimensions = _p, t.registerLayout = xp, t.registerVisual = wp, t.registerLoading = Sp, t
.setCanvasCreator = Mp, t.registerMap = Tp, t.getMap = Cp, t.registerTransform = $D, t.dataTool = ok, t
.registerLocale = rl, t.zrender = Cw, t.matrix = N_, t.vector = S_, t.zrUtil = m_, t.color = Px, t.helper =
qk, t.number = iA, t.time = rA, t.graphic = oA, t.format = aA, t.util = sA, t.List = _k, t.ComponentModel =
wT, t.ComponentView = FC, t.SeriesModel = NC, t.ChartView = WC, t.extendComponentModel = Sf, t
.extendComponentView = Mf, t.extendSeriesModel = Tf, t.extendChartView = Cf, t.throttle = Yh, t.use = Kd, t
.setPlatformAPI = r, t.parseGeoJSON = af, t.parseGeoJson = af, t.env = Um, t.Model = ZM, t.Axis = hA, t
.innerDrawElementOnCanvas = Uc
});