text: (window['webpackJsonp'] = window['webpackJsonp'] || []).push([['chunk-1c85'], {'0046': function (t, e, n) { var i = n('6d8b'), a = i.each, r = i.createHashMap, o = n('4f85'), s = n('3301'), l = o.extend({type: 'series.parallel', dependencies: ['parallel'], visualColorAccessPath: 'lineStyle.color', getInitialData: function (t, e) { var n = this.getSource(); return u(n, this), s(n, this) }, getRawIndicesByActiveState: function (t) { var e = this.coordinateSystem, n = this.getData(), i = []; return e.eachActiveState(n, function (e, a) { t === e && i.push(n.getRawIndex(a)) }), i }, defaultOption: {zlevel: 0, z: 2, coordinateSystem: 'parallel', parallelIndex: 0, label: {show: !1}, inactiveOpacity: 0.05, activeOpacity: 1, lineStyle: {width: 1, opacity: 0.45, type: 'solid'}, emphasis: {label: {show: !1}}, progressive: 500, smooth: !1, animationEasing: 'linear'}}); function u (t, e) { if (!t.encodeDefine) { var n = e.ecModel.getComponent('parallel', e.get('parallelIndex')); if (n) { var i = t.encodeDefine = r(); a(n.dimensions, function (t) { var e = c(t); i.set(t, e) }) } } } function c (t) { return +t.replace('dim', '') }t.exports = l }, '004f': function (t, e, n) { var i = n('6d8b'), a = n('72b6'), r = n('2306'), o = n('a15a'), s = o.createSymbol, l = n('f934'), u = n('cbb0'), c = a.extend({type: 'visualMap.piecewise', doRender: function () { var t = this.group; t.removeAll(); var e = this.visualMapModel, n = e.get('textGap'), a = e.textStyleModel, o = a.getFont(), s = a.getTextColor(), u = this._getItemAlign(), c = e.itemSize, h = this._getViewData(), d = h.endsText, f = i.retrieve(e.get('showLabel', !0), !d); function p (a) { var l = a.piece, h = new r.Group(); h.onclick = i.bind(this._onItemClick, this, l), this._enableHoverLink(h, a.indexInModelPieceList); var d = e.getRepresentValue(l); if (this._createItemSymbol(h, d, [0, 0, c[0], c[1]]), f) { var p = this.visualMapModel.getValueState(d); h.add(new r.Text({style: {x: u === 'right' ? -n : c[0] + n, y: c[1] / 2, text: l.text, textVerticalAlign: 'middle', textAlign: u, textFont: o, textFill: s, opacity: p === 'outOfRange' ? 0.5 : 1}})) }t.add(h) }d && this._renderEndsText(t, d[0], c, f, u), i.each(h.viewPieceList, p, this), d && this._renderEndsText(t, d[1], c, f, u), l.box(e.get('orient'), t, e.get('itemGap')), this.renderBackground(t), this.positionGroup(t) }, _enableHoverLink: function (t, e) { function n (t) { var n = this.visualMapModel; n.option.hoverLink && this.api.dispatchAction({type: t, batch: u.convertDataIndex(n.findTargetDataIndices(e))}) }t.on('mouseover', i.bind(n, this, 'highlight')).on('mouseout', i.bind(n, this, 'downplay')) }, _getItemAlign: function () { var t = this.visualMapModel, e = t.option; if (e.orient === 'vertical') return u.getItemAlign(t, this.api, t.itemSize); var n = e.align; return n && n !== 'auto' || (n = 'left'), n }, _renderEndsText: function (t, e, n, i, a) { if (e) { var o = new r.Group(), s = this.visualMapModel.textStyleModel; o.add(new r.Text({style: {x: i ? a === 'right' ? n[0] : 0 : n[0] / 2, y: n[1] / 2, textVerticalAlign: 'middle', textAlign: i ? a : 'center', text: e, textFont: s.getFont(), textFill: s.getTextColor()}})), t.add(o) } }, _getViewData: function () { var t = this.visualMapModel, e = i.map(t.getPieceList(), function (t, e) { return {piece: t, indexInModelPieceList: e} }), n = t.get('text'), a = t.get('orient'), r = t.get('inverse'); return (a === 'horizontal' ? r : !r) ? e.reverse() : n && (n = n.slice().reverse()), {viewPieceList: e, endsText: n} }, _createItemSymbol: function (t, e, n) { t.add(s(this.getControllerVisual(e, 'symbol'), n[0], n[1], n[2], n[3], this.getControllerVisual(e, 'color'))) }, _onItemClick: function (t) { var e = this.visualMapModel, n = e.option, a = i.clone(n.selected), r = e.getSelectedMapKey(t); n.selectedMode === 'single' ? (a[r] = !0, i.each(a, function (t, e) { a[e] = e === r })) : a[r] = !a[r], this.api.dispatchAction({type: 'selectDataRange', from: this.uid, visualMapId: this.visualMapModel.id, selected: a}) }}), h = c; t.exports = h }, '007d': function (t, e, n) { var i = n('3eba'); n('cb8f'), n('a96b'), n('42f6'), i.registerAction({type: 'showTip', event: 'showTip', update: 'tooltip:manuallyShowTip'}, function () {}), i.registerAction({type: 'hideTip', event: 'hideTip', update: 'tooltip:manuallyHideTip'}, function () {}) }, '00ba': function (t, e, n) { var i = n('3eba'), a = n('e46b'), r = n('e0d3'), o = r.defaultEmphasis, s = i.extendSeriesModel({type: 'series.funnel', init: function (t) { s.superApply(this, 'init', arguments), this.legendDataProvider = function () { return this.getRawData() }, this._defaultLabelLine(t) }, getInitialData: function (t, e) { return a(this, ['value']) }, _defaultLabelLine: function (t) { o(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 }, getDataParams: function (t) { var e = this.getData(), n = s.superCall(this, 'getDataParams', t), i = e.mapDimension('value'), a = e.getSum(i); return n.percent = a ? +(e.get(i, t) / a * 100).toFixed(2) : 0, n.$vars.push('percent'), n }, defaultOption: {zlevel: 0, z: 2, legendHoverLink: !0, left: 80, top: 60, right: 80, bottom: 60, minSize: '0%', maxSize: '100%', sort: 'descending', gap: 0, funnelAlign: 'center', label: {show: !0, position: 'outer'}, labelLine: {show: !0, length: 20, lineStyle: {width: 1, type: 'solid'}}, itemStyle: {borderColor: '#fff', borderWidth: 1}, emphasis: {label: {show: !0}}}}), l = s; t.exports = l }, '00d8': function (t, e, n) { var i = n('6d8b'); function a (t, e) { return e = e || [0, 0], i.map([0, 1], function (n) { var i = e[n], a = t[n] / 2, r = [], o = []; return r[n] = i - a, o[n] = i + a, r[1 - n] = o[1 - n] = e[1 - n], Math.abs(this.dataToPoint(r)[n] - this.dataToPoint(o)[n]) }, this) } function r (t) { var e = t.getBoundingRect(); return {coordSys: {type: 'geo', x: e.x, y: e.y, width: e.width, height: e.height}, api: {coord: function (e) { return t.dataToPoint(e) }, size: i.bind(a, t)}} }t.exports = r }, '0141': function (t, e, n) { var i = n('6d8b'), a = n('9850'), r = n('bda7'), o = n('6cc5'), s = n('320a'), l = n('1792'), u = n('6bd4'), c = n('a7f2'), h = [s, l, u, c]; function d (t, e, n, a, r) { o.call(this, t), this.map = e, this._nameCoordMap = i.createHashMap(), this.loadGeoJson(n, a, r) } function f (t, e, n, i) { var a = n.geoModel, r = n.seriesModel, o = a ? a.coordinateSystem : r ? r.coordinateSystem || (r.getReferringComponents('geo')[0] || {}).coordinateSystem : null; return o === this ? o[t](i) : null }d.prototype = {constructor: d, type: 'geo', dimensions: ['lng', 'lat'], containCoord: function (t) { for (var e = this.regions, n = 0; n < e.length; n++) if (e[n].contain(t)) return !0; return !1 }, loadGeoJson: function (t, e, n) { try { this.regions = t ? r(t) : [] } catch (t) { throw 'Invalid geoJson format\n' + t.message }e = e || {}, n = n || {}; for (var a = this.regions, o = i.createHashMap(), s = 0; s < a.length; s++) { var l = a[s].name; l = n.hasOwnProperty(l) ? n[l] : l, a[s].name = l, o.set(l, a[s]), this.addGeoCoord(l, a[s].center); var u = e[l]; u && a[s].transformTo(u.left, u.top, u.width, u.height) } this._regionsMap = o, this._rect = null, i.each(h, function (t) { t(this) }, this) }, transformTo: function (t, e, n, i) { var r = this.getBoundingRect(); r = r.clone(), r.y = -r.y - r.height; var o = this._rawTransformable; o.transform = r.calculateTransform(new a(t, e, n, i)), o.decomposeTransform(); var s = o.scale; s[1] = -s[1], o.updateTransform(), this._updateTransform() }, getRegion: function (t) { return this._regionsMap.get(t) }, getRegionByCoord: function (t) { for (var e = this.regions, n = 0; n < e.length; n++) if (e[n].contain(t)) return e[n] }, addGeoCoord: function (t, e) { this._nameCoordMap.set(t, e) }, getGeoCoord: function (t) { return this._nameCoordMap.get(t) }, getBoundingRect: function () { if (this._rect) return this._rect; for (var t, e = this.regions, n = 0; n < e.length; n++) { var i = e[n].getBoundingRect(); t = t || i.clone(), t.union(i) } return this._rect = t || new a(0, 0, 0, 0) }, dataToPoint: function (t, e, n) { if (typeof t === 'string' && (t = this.getGeoCoord(t)), t) return o.prototype.dataToPoint.call(this, t, e, n) }, convertToPixel: i.curry(f, 'dataToPoint'), convertFromPixel: i.curry(f, 'pointToData')}, i.mixin(d, o); var p = d; t.exports = p }, '0156': function (t, e, n) { var i = n('6d8b'); function a (t, e, n) { n = n || {}; var a = t.coordinateSystem, r = e.axis, o = {}, s = r.getAxesOnZeroOf()[0], l = r.position, u = s ? 'onZero' : l, c = r.dim, h = a.getRect(), d = [h.x, h.x + h.width, h.y, h.y + h.height], f = {left: 0, right: 1, top: 0, bottom: 1, onZero: 2}, p = e.get('offset') || 0, g = c === 'x' ? [d[2] - p, d[3] + p] : [d[0] - p, d[1] + p]; if (s) { var m = s.toGlobalCoord(s.dataToCoord(0)); g[f['onZero']] = Math.max(Math.min(m, g[1]), g[0]) }o.position = [c === 'y' ? g[f[u]] : d[0], c === 'x' ? g[f[u]] : d[3]], o.rotation = Math.PI / 2 * (c === 'x' ? 0 : 1); var v = {top: -1, bottom: 1, left: -1, right: 1}; o.labelDirection = o.tickDirection = o.nameDirection = v[l], o.labelOffset = s ? g[f[l]] - g[f['onZero']] : 0, e.get('axisTick.inside') && (o.tickDirection = -o.tickDirection), i.retrieve(n.labelInside, e.get('axisLabel.inside')) && (o.labelDirection = -o.labelDirection); var y = e.get('axisLabel.rotate'); return o.labelRotate = u === 'top' ? -y : y, o.z2 = 1, o }e.layout = a }, '01ed': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('2306'); n('5aa9'), n('af24'), i.extendComponentView({type: 'grid', render: function (t, e) { this.group.removeAll(), t.get('show') && this.group.add(new r.Rect({shape: t.coordinateSystem.getRect(), style: a.defaults({fill: t.get('backgroundColor')}, t.getItemStyle()), silent: !0, z2: -1})) }}), i.registerPreprocessor(function (t) { t.xAxis && t.yAxis && !t.grid && (t.grid = {}) }) }, '01ef': function (t, e) { function n (t, e, n) { var i = t.target, a = i.position; a[0] += e, a[1] += n, i.dirty() } function i (t, e, n, i) { var a = t.target, r = t.zoomLimit, o = a.position, s = a.scale, l = t.zoom = t.zoom || 1; if (l *= e, r) { var u = r.min || 0, c = r.max || 1 / 0; l = Math.max(Math.min(c, l), u) } var h = l / t.zoom; t.zoom = l, o[0] -= (n - o[0]) * (h - 1), o[1] -= (i - o[1]) * (h - 1), s[0] *= h, s[1] *= h, a.dirty() }e.updateViewOnPan = n, e.updateViewOnZoom = i }, '0352': function (t, e, n) { var i = n('6cb7'), a = n('b12f'), r = n('0f99'), o = r.detectSourceFormat, s = n('93d0'), l = s.SERIES_LAYOUT_BY_COLUMN; i.extend({type: 'dataset', defaultOption: {seriesLayoutBy: l, sourceHeader: null, dimensions: null, source: null}, optionUpdated: function () { o(this) }}), a.extend({type: 'dataset'}) }, '04f6': function (t, e) { var n = 32, i = 7; function a (t) { var e = 0; while (t >= n)e |= 1 & t, t >>= 1; return t + e } function r (t, e, n, i) { var a = e + 1; if (a === n) return 1; if (i(t[a++], t[e]) < 0) { while (a < n && i(t[a], t[a - 1]) < 0)a++; o(t, e, a) } else while (a < n && i(t[a], t[a - 1]) >= 0)a++; return a - e } function o (t, e, n) { n--; while (e < n) { var i = t[e]; t[e++] = t[n], t[n--] = i } } function s (t, e, n, i, a) { for (i === e && i++; i < n; i++) { var r, o = t[i], s = e, l = i; while (s < l)r = s + l >>> 1, a(o, t[r]) < 0 ? l = r : s = r + 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:while (u > 0)t[s + u] = t[s + u - 1], u-- }t[s] = o } } function l (t, e, n, i, a, r) { var o = 0, s = 0, l = 1; if (r(t, e[n + a]) > 0) { s = i - a; while (l < s && r(t, e[n + a + l]) > 0)o = l, l = 1 + (l << 1), l <= 0 && (l = s); l > s && (l = s), o += a, l += a } else { s = a + 1; while (l < s && r(t, e[n + a - l]) <= 0)o = l, l = 1 + (l << 1), l <= 0 && (l = s); l > s && (l = s); var u = o; o = a - l, l = a - u }o++; while (o < l) { var c = o + (l - o >>> 1); r(t, e[n + c]) > 0 ? o = c + 1 : l = c } return l } function u (t, e, n, i, a, r) { var o = 0, s = 0, l = 1; if (r(t, e[n + a]) < 0) { s = a + 1; while (l < s && r(t, e[n + a - l]) < 0)o = l, l = 1 + (l << 1), l <= 0 && (l = s); l > s && (l = s); var u = o; o = a - l, l = a - u } else { s = i - a; while (l < s && r(t, e[n + a + l]) >= 0)o = l, l = 1 + (l << 1), l <= 0 && (l = s); l > s && (l = s), o += a, l += a }o++; while (o < l) { var c = o + (l - o >>> 1); r(t, e[n + c]) < 0 ? l = c : o = c + 1 } return l } function c (t, e) { var n, a, r = i, o = 0, s = 0; o = t.length; var c = []; function h (t, e) { n[s] = t, a[s] = e, s += 1 } function d () { while (s > 1) { var t = s - 2; if (t >= 1 && a[t - 1] <= a[t] + a[t + 1] || t >= 2 && a[t - 2] <= a[t] + a[t - 1])a[t - 1] < a[t + 1] && t--; else if (a[t] > a[t + 1]) break; p(t) } } function f () { while (s > 1) { var t = s - 2; t > 0 && a[t - 1] < a[t + 1] && t--, p(t) } } function p (i) { var r = n[i], o = a[i], c = n[i + 1], h = a[i + 1]; a[i] = o + h, i === s - 3 && (n[i + 1] = n[i + 2], a[i + 1] = a[i + 2]), s--; var d = u(t[c], t, r, o, 0, e); r += d, o -= d, o !== 0 && (h = l(t[r + o - 1], t, c, h, h - 1, e), h !== 0 && (o <= h ? g(r, o, c, h) : m(r, o, c, h))) } function g (n, a, o, s) { var h = 0; for (h = 0; h < a; h++)c[h] = t[n + h]; var d = 0, f = o, p = n; if (t[p++] = t[f++], --s !== 0) if (a !== 1) { var g, m, v, y = r; while (1) { g = 0, m = 0, v = !1; do { if (e(t[f], c[d]) < 0) { if (t[p++] = t[f++], m++, g = 0, --s === 0) { v = !0; break } } else if (t[p++] = c[d++], g++, m = 0, --a === 1) { v = !0; break } } while ((g | m) < y);if (v) break; do { if (g = u(t[f], c, d, a, 0, e), g !== 0) { for (h = 0; h < g; h++)t[p + h] = c[d + h]; if (p += g, d += g, a -= g, a <= 1) { v = !0; break } } if (t[p++] = t[f++], --s === 0) { v = !0; break } if (m = l(c[d], t, f, s, 0, e), m !== 0) { for (h = 0; h < m; h++)t[p + h] = t[f + h]; if (p += m, f += m, s -= m, s === 0) { v = !0; break } } if (t[p++] = c[d++], --a === 1) { v = !0; break }y-- } while (g >= i || m >= i);if (v) break; y < 0 && (y = 0), y += 2 } if (r = y, r < 1 && (r = 1), a === 1) { for (h = 0; h < s; h++)t[p + h] = t[f + h]; t[p + s] = c[d] } else { if (a === 0) throw new Error(); for (h = 0; h < a; h++)t[p + h] = c[d + h] } } else { for (h = 0; h < s; h++)t[p + h] = t[f + h]; t[p + s] = c[d] } else for (h = 0; h < a; h++)t[p + h] = c[d + h] } function m (n, a, o, s) { var h = 0; for (h = 0; h < s; h++)c[h] = t[o + h]; var d = n + a - 1, f = s - 1, p = o + s - 1, g = 0, m = 0; if (t[p--] = t[d--], --a !== 0) if (s !== 1) { var v = r; while (1) { var y = 0, x = 0, _ = !1; do { if (e(c[f], t[d]) < 0) { if (t[p--] = t[d--], y++, x = 0, --a === 0) { _ = !0; break } } else if (t[p--] = c[f--], x++, y = 0, --s === 1) { _ = !0; break } } while ((y | x) < v);if (_) break; do { if (y = a - u(c[f], t, n, a, a - 1, e), y !== 0) { for (p -= y, d -= y, a -= y, m = p + 1, g = d + 1, h = y - 1; h >= 0; h--)t[m + h] = t[g + h]; if (a === 0) { _ = !0; break } } if (t[p--] = c[f--], --s === 1) { _ = !0; break } if (x = s - l(t[d], c, 0, s, s - 1, e), x !== 0) { for (p -= x, f -= x, s -= x, m = p + 1, g = f + 1, h = 0; h < x; h++)t[m + h] = c[g + h]; if (s <= 1) { _ = !0; break } } if (t[p--] = t[d--], --a === 0) { _ = !0; break }v-- } while (y >= i || x >= i);if (_) break; v < 0 && (v = 0), v += 2 } if (r = v, r < 1 && (r = 1), s === 1) { for (p -= a, d -= a, m = p + 1, g = d + 1, h = a - 1; h >= 0; h--)t[m + h] = t[g + h]; t[p] = c[f] } else { if (s === 0) throw new Error(); for (g = p - (s - 1), h = 0; h < s; h++)t[g + h] = c[h] } } else { for (p -= a, d -= a, m = p + 1, g = d + 1, h = a - 1; h >= 0; h--)t[m + h] = t[g + h]; t[p] = c[f] } else for (g = p - (s - 1), h = 0; h < s; h++)t[g + h] = c[h] }n = [], a = [], this.mergeRuns = d, this.forceMergeRuns = f, this.pushRun = h } function h (t, e, i, o) { i || (i = 0), o || (o = t.length); var l = o - i; if (!(l < 2)) { var u = 0; if (l < n) return u = r(t, i, o, e), void s(t, i, o, i + u, e); var h = new c(t, e), d = a(l); do { if (u = r(t, i, o, e), u < d) { var f = l; f > d && (f = d), s(t, i, i + f, i + u, e), u = f }h.pushRun(i, u), h.mergeRuns(), l -= u, i += u } while (l !== 0);h.forceMergeRuns() } }t.exports = h }, '0655': function (t, e, n) { var i = n('8728'), a = 1e-8; function r (t, e) { return Math.abs(t - e) < a } function o (t, e, n) { var a = 0, o = t[0]; if (!o) return !1; for (var s = 1; s < t.length; s++) { var l = t[s]; a += i(o[0], o[1], l[0], l[1], e, n), o = l } var u = t[0]; return r(o[0], u[0]) && r(o[1], u[1]) || (a += i(o[0], o[1], u[0], u[1], e, n)), a !== 0 }e.contain = o }, '06ad': function (t, e, n) { var i = n('4436'), a = n('41ef'), r = n('6d8b'), o = r.isArrayLike, s = Array.prototype.slice; function l (t, e) { return t[e] } function u (t, e, n) { t[e] = n } function c (t, e, n) { return (e - t) * n + t } function h (t, e, n) { return n > 0.5 ? e : t } function d (t, e, n, i, a) { var r = t.length; if (a == 1) for (var o = 0; o < r; o++)i[o] = c(t[o], e[o], n); else { var s = r && t[0].length; for (o = 0; o < r; o++) for (var l = 0; l < s; l++)i[o][l] = c(t[o][l], e[o][l], n) } } function f (t, e, n) { var i = t.length, a = e.length; if (i !== a) { var r = i > a; if (r)t.length = a; else for (var o = i; o < a; o++)t.push(n === 1 ? e[o] : s.call(e[o])) } var l = t[0] && t[0].length; for (o = 0; o < t.length; o++) if (n === 1)isNaN(t[o]) && (t[o] = e[o]); else for (var u = 0; u < l; u++)isNaN(t[o][u]) && (t[o][u] = e[o][u]) } function p (t, e, n) { if (t === e) return !0; var i = t.length; if (i !== e.length) return !1; if (n === 1) { for (var a = 0; a < i; a++) if (t[a] !== e[a]) return !1 } else { var r = t[0].length; for (a = 0; a < i; a++) for (var o = 0; o < r; o++) if (t[a][o] !== e[a][o]) return !1 } return !0 } function g (t, e, n, i, a, r, o, s, l) { var u = t.length; if (l == 1) for (var c = 0; c < u; c++)s[c] = m(t[c], e[c], n[c], i[c], a, r, o); else { var h = t[0].length; for (c = 0; c < u; c++) for (var d = 0; d < h; d++)s[c][d] = m(t[c][d], e[c][d], n[c][d], i[c][d], a, r, o) } } function m (t, e, n, i, a, r, o) { var s = 0.5 * (n - t), l = 0.5 * (i - e); return (2 * (e - n) + s + l) * o + (-3 * (e - n) - 2 * s - l) * r + s * a + e } function v (t) { if (o(t)) { var e = t.length; if (o(t[0])) { for (var n = [], i = 0; i < e; i++)n.push(s.call(t[i])); return n } return s.call(t) } return t } function y (t) { return t[0] = Math.floor(t[0]), t[1] = Math.floor(t[1]), t[2] = Math.floor(t[2]), 'rgba(' + t.join(',') + ')' } function x (t) { var e = t[t.length - 1].value; return o(e && e[0]) ? 2 : 1 } function _ (t, e, n, r, s, l) { var u = t._getter, v = t._setter, _ = e === 'spline', b = r.length; if (b) { var w, S = r[0].value, M = o(S), I = !1, A = !1, T = M ? x(r) : 0; r.sort(function (t, e) { return t.time - e.time }), w = r[b - 1].time; for (var C = [], D = [], L = r[0].value, P = !0, k = 0; k < b; k++) { C.push(r[k].time / w); var O = r[k].value; if (M && p(O, L, T) || !M && O === L || (P = !1), L = O, typeof O === 'string') { var R = a.parse(O); R ? (O = R, I = !0) : A = !0 }D.push(O) } if (l || !P) { var E = D[b - 1]; for (k = 0; k < b - 1; k++)M ? f(D[k], E, T) : !isNaN(D[k]) || isNaN(E) || A || I || (D[k] = E); M && f(u(t._target, s), E, T); var N, z, V, B, G, F, H = 0, W = 0; if (I) var U = [0, 0, 0, 0]; var Z = function (t, e) { var n; if (e < 0)n = 0; else if (e < W) { for (N = Math.min(H + 1, b - 1), n = N; n >= 0; n--) if (C[n] <= e) break; n = Math.min(n, b - 2) } else { for (n = H; n < b; n++) if (C[n] > e) break; n = Math.min(n - 1, b - 2) }H = n, W = e; var i = C[n + 1] - C[n]; if (i !== 0) if (z = (e - C[n]) / i, _) if (B = D[n], V = D[n === 0 ? n : n - 1], G = D[n > b - 2 ? b - 1 : n + 1], F = D[n > b - 3 ? b - 1 : n + 2], M)g(V, B, G, F, z, z * z, z * z * z, u(t, s), T); else { if (I)a = g(V, B, G, F, z, z * z, z * z * z, U, 1), a = y(U); else { if (A) return h(B, G, z); a = m(V, B, G, F, z, z * z, z * z * z) }v(t, s, a) } else if (M)d(D[n], D[n + 1], z, u(t, s), T); else { var a; if (I)d(D[n], D[n + 1], z, U, 1), a = y(U); else { if (A) return h(D[n], D[n + 1], z); a = c(D[n], D[n + 1], z) }v(t, s, a) } }, j = new i({target: t._target, life: w, loop: t._loop, delay: t._delay, onframe: Z, ondestroy: n}); return e && e !== 'spline' && (j.easing = e), j } } } var b = function (t, e, n, i) { this._tracks = {}, this._target = t, this._loop = e || !1, this._getter = n || l, this._setter = i || u, this._clipCount = 0, this._delay = 0, this._doneList = [], this._onframeList = [], this._clipList = [] }; b.prototype = {when: function (t, e) { var n = this._tracks; for (var i in e) if (e.hasOwnProperty(i)) { if (!n[i]) { n[i] = []; var a = this._getter(this._target, i); if (a == null) continue; t !== 0 && n[i].push({time: 0, value: v(a)}) }n[i].push({time: t, value: e[i]}) } return this }, during: function (t) { return this._onframeList.push(t), this }, pause: function () { for (var t = 0; t < this._clipList.length; t++) this._clipList[t].pause(); this._paused = !0 }, resume: function () { for (var t = 0; t < this._clipList.length; t++) this._clipList[t].resume(); this._paused = !1 }, isPaused: function () { return !!this._paused }, _doneCallback: function () { this._tracks = {}, this._clipList.length = 0; for (var t = this._doneList, e = t.length, n = 0; n < e; n++)t[n].call(this) }, start: function (t, e) { var n, i = this, a = 0, r = function () { a--, a || i._doneCallback() }; for (var o in this._tracks) if (this._tracks.hasOwnProperty(o)) { var s = _(this, t, r, this._tracks[o], o, e); s && (this._clipList.push(s), a++, this.animation && this.animation.addClip(s), n = s) } if (n) { var l = n.onframe; n.onframe = function (t, e) { l(t, e); for (var n = 0; n < i._onframeList.length; n++)i._onframeList[n](t, e) } } return a || this._doneCallback(), this }, stop: function (t) { for (var e = this._clipList, n = this.animation, i = 0; i < e.length; i++) { var a = e[i]; t && a.onframe(this._target, 1), n && n.removeClip(a) }e.length = 0 }, delay: function (t) { return this._delay = t, this }, done: function (t) { return t && this._doneList.push(t), this }, getClips: function () { return this._clipList }}; var w = b; t.exports = w }, '06c7': function (t, e, n) { var i = n('6d8b'), a = n('4319'), r = n('31d9'), o = n('6179'), s = n('b1d4'), l = function (t, e) { this.name = t || '', this.depth = 0, this.height = 0, this.parentNode = null, this.dataIndex = -1, this.children = [], this.viewChildren = [], this.hostTree = e }; function u (t, e, n) { this.root, this.data, this._nodes = [], this.hostModel = t, this.levelModels = i.map(e || [], function (e) { return new a(e, t, t.ecModel) }), this.leavesModel = new a(n || {}, t, t.ecModel) } function c (t, e) { var n = e.children; t.parentNode !== e && (n.push(t), t.parentNode = e) }l.prototype = {constructor: l, isRemoved: function () { return this.dataIndex < 0 }, eachNode: function (t, e, n) { typeof t === 'function' && (n = e, e = t, t = null), t = t || {}, i.isString(t) && (t = {order: t}); var a, r = t.order || 'preorder', o = this[t.attr || 'children']; r === 'preorder' && (a = e.call(n, this)); for (var s = 0; !a && s < o.length; s++)o[s].eachNode(t, e, n); r === 'postorder' && e.call(n, this) }, updateDepthAndHeight: function (t) { var e = 0; this.depth = t; for (var n = 0; n < this.children.length; n++) { var i = this.children[n]; i.updateDepthAndHeight(t + 1), i.height > e && (e = i.height) } this.height = e + 1 }, getNodeById: function (t) { if (this.getId() === t) return this; for (var e = 0, n = this.children, i = n.length; e < i; e++) { var a = n[e].getNodeById(t); if (a) return a } }, contains: function (t) { if (t === this) return !0; for (var e = 0, n = this.children, i = n.length; e < i; e++) { var a = n[e].contains(t); if (a) return a } }, getAncestors: function (t) { var e = [], n = t ? this : this.parentNode; while (n)e.push(n), n = n.parentNode; return e.reverse(), e }, getValue: function (t) { var e = this.hostTree.data; return e.get(e.getDimension(t || 'value'), this.dataIndex) }, setLayout: function (t, e) { this.dataIndex >= 0 && this.hostTree.data.setItemLayout(this.dataIndex, t, e) }, getLayout: function () { return this.hostTree.data.getItemLayout(this.dataIndex) }, getModel: function (t) { if (!(this.dataIndex < 0)) { var e, n = this.hostTree, i = n.data.getItemModel(this.dataIndex), a = this.getLevelModel(); return a || this.children.length !== 0 && (this.children.length === 0 || !1 !== this.isExpand) || (e = this.getLeavesModel()), i.getModel(t, (a || e || n.hostModel).getModel(t)) } }, getLevelModel: function () { return (this.hostTree.levelModels || [])[this.depth] }, getLeavesModel: function () { return this.hostTree.leavesModel }, setVisual: function (t, e) { this.dataIndex >= 0 && this.hostTree.data.setItemVisual(this.dataIndex, t, e) }, getVisual: function (t, e) { return this.hostTree.data.getItemVisual(this.dataIndex, t, e) }, getRawIndex: function () { return this.hostTree.data.getRawIndex(this.dataIndex) }, getId: function () { return this.hostTree.data.getId(this.dataIndex) }, isAncestorOf: function (t) { var e = t.parentNode; while (e) { if (e === this) return !0; e = e.parentNode } return !1 }, isDescendantOf: function (t) { return t !== this && t.isAncestorOf(this) }}, u.prototype = {constructor: u, type: 'tree', eachNode: function (t, e, n) { this.root.eachNode(t, e, n) }, getNodeByDataIndex: function (t) { var e = this.data.getRawIndex(t); return this._nodes[e] }, getNodeByName: function (t) { return this.root.getNodeByName(t) }, update: function () { for (var t = this.data, e = this._nodes, n = 0, i = e.length; n < i; n++)e[n].dataIndex = -1; for (n = 0, i = t.count(); n < i; n++)e[t.getRawIndex(n)].dataIndex = n }, clearLayouts: function () { this.data.clearItemLayouts() }}, u.createTree = function (t, e, n) { var a = new u(e, n.levels, n.leaves), h = [], d = 1; function f (t, e) { var n = t.value; d = Math.max(d, i.isArray(n) ? n.length : 1), h.push(t); var r = new l(t.name, a); e ? c(r, e) : a.root = r, a._nodes.push(r); var o = t.children; if (o) for (var s = 0; s < o.length; s++)f(o[s], r) }f(t), a.root.updateDepthAndHeight(0); var p = s(h, {coordDimensions: ['value'], dimensionsCount: d}), g = new o(p, e); return g.initData(h), r({mainData: g, struct: a, structAttr: 'tree'}), a.update(), a }; var h = u; t.exports = h }, '06ea': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = n('eaea'), o = n('5f14'), s = n('60e3'), l = n('3842'), u = l.reformIntervals, c = r.extend({type: 'visualMap.piecewise', defaultOption: {selected: null, minOpen: !1, maxOpen: !1, align: 'auto', itemWidth: 20, itemHeight: 14, itemSymbol: 'roundRect', pieceList: null, categories: null, splitNumber: 5, selectedMode: 'multiple', itemGap: 10, hoverLink: !0, showLabel: null}, optionUpdated: function (t, e) { c.superApply(this, 'optionUpdated', arguments), this._pieceList = [], this.resetExtent(); var n = this._mode = this._determineMode(); h[this._mode].call(this), this._resetSelected(t, e); var i = this.option.categories; this.resetVisual(function (t, e) { n === 'categories' ? (t.mappingMethod = 'category', t.categories = a.clone(i)) : (t.dataExtent = this.getExtent(), t.mappingMethod = 'piecewise', t.pieceList = a.map(this._pieceList, function (t) { t = a.clone(t); return e !== 'inRange' && (t.visual = null), t })) }) }, completeVisualOption: function () { var t = this.option, e = {}, n = o.listVisualTypes(), i = this.isCategory(); function l (t, e, n) { return t && t[e] && (a.isObject(t[e]) ? t[e].hasOwnProperty(n) : t[e] === n) }a.each(t.pieces, function (t) { a.each(n, function (n) { t.hasOwnProperty(n) && (e[n] = 1) }) }), a.each(e, function (e, n) { var r = 0; a.each(this.stateList, function (e) { r |= l(t, e, n) || l(t.target, e, n) }, this), !r && a.each(this.stateList, function (e) { (t[e] || (t[e] = {}))[n] = s.get(n, e === 'inRange' ? 'active' : 'inactive', i) }) }, this), r.prototype.completeVisualOption.apply(this, arguments) }, _resetSelected: function (t, e) { var n = this.option, i = this._pieceList, r = (e ? n : t).selected || {}; if (n.selected = r, a.each(i, function (t, e) { var n = this.getSelectedMapKey(t); r.hasOwnProperty(n) || (r[n] = !0) }, this), n.selectedMode === 'single') { var o = !1; a.each(i, function (t, e) { var n = this.getSelectedMapKey(t); r[n] && (o ? r[n] = !1 : o = !0) }, this) } }, getSelectedMapKey: function (t) { return this._mode === 'categories' ? t.value + '' : t.index + '' }, getPieceList: function () { return this._pieceList }, _determineMode: function () { var t = this.option; return t.pieces && t.pieces.length > 0 ? 'pieces' : this.option.categories ? 'categories' : 'splitNumber' }, setSelected: function (t) { this.option.selected = a.clone(t) }, getValueState: function (t) { var e = o.findPieceIndex(t, this._pieceList); return e != null && this.option.selected[this.getSelectedMapKey(this._pieceList[e])] ? 'inRange' : 'outOfRange' }, findTargetDataIndices: function (t) { var e = []; return this.eachTargetSeries(function (n) { var i = [], a = n.getData(); a.each(this.getDataDimension(a), function (e, n) { var a = o.findPieceIndex(e, this._pieceList); a === t && i.push(n) }, this), e.push({seriesId: n.id, dataIndex: i}) }, this), e }, getRepresentValue: function (t) { var e; if (this.isCategory())e = t.value; else if (t.value != null)e = t.value; else { var n = t.interval || []; e = n[0] === -1 / 0 && n[1] === 1 / 0 ? 0 : (n[0] + n[1]) / 2 } return e }, getVisualMeta: function (t) { if (!this.isCategory()) { var e = [], n = [], i = this, r = this._pieceList.slice(); if (r.length) { var o = r[0].interval[0]; o !== -1 / 0 && r.unshift({interval: [-1 / 0, o]}), o = r[r.length - 1].interval[1], o !== 1 / 0 && r.push({interval: [o, 1 / 0]}) } else r.push({interval: [-1 / 0, 1 / 0]}); var s = -1 / 0; return a.each(r, function (t) { var e = t.interval; e && (e[0] > s && l([s, e[0]], 'outOfRange'), l(e.slice()), s = e[1]) }, this), {stops: e, outerColors: n} } function l (a, r) { var o = i.getRepresentValue({interval: a}); r || (r = i.getValueState(o)); var s = t(o, r); a[0] === -1 / 0 ? n[0] = s : a[1] === 1 / 0 ? n[1] = s : e.push({value: a[0], color: s}, {value: a[1], color: s}) } }}), h = {splitNumber: function () { var t = this.option, e = this._pieceList, n = Math.min(t.precision, 20), i = this.getExtent(), r = t.splitNumber; r = Math.max(parseInt(r, 10), 1), t.splitNumber = r; var o = (i[1] - i[0]) / r; while (+o.toFixed(n) !== o && n < 5)n++; t.precision = n, o = +o.toFixed(n); var s = 0; t.minOpen && e.push({index: s++, interval: [-1 / 0, i[0]], close: [0, 0]}); for (var l = i[0], c = s + r; s < c; l += o) { var h = s === r - 1 ? i[1] : l + o; e.push({index: s++, interval: [l, h], close: [1, 1]}) }t.maxOpen && e.push({index: s++, interval: [i[1], 1 / 0], close: [0, 0]}), u(e), a.each(e, function (t) { t.text = this.formatValueText(t.interval) }, this) }, categories: function () { var t = this.option; a.each(t.categories, function (t) { this._pieceList.push({text: this.formatValueText(t, !0), value: t}) }, this), d(t, this._pieceList) }, pieces: function () { var t = this.option, e = this._pieceList; a.each(t.pieces, function (t, n) { a.isObject(t) || (t = {value: t}); var i = {text: '', index: n}; if (t.label != null && (i.text = t.label), t.hasOwnProperty('value')) { var r = i.value = t.value; i.interval = [r, r], i.close = [1, 1] } else { for (var s = i.interval = [], l = i.close = [0, 0], u = [1, 0, 1], c = [-1 / 0, 1 / 0], h = [], d = 0; d < 2; d++) { for (var f = [['gte', 'gt', 'min'], ['lte', 'lt', 'max']][d], p = 0; p < 3 && s[d] == null; p++)s[d] = t[f[p]], l[d] = u[p], h[d] = p === 2; s[d] == null && (s[d] = c[d]) }h[0] && s[1] === 1 / 0 && (l[0] = 0), h[1] && s[0] === -1 / 0 && (l[1] = 0), s[0] === s[1] && l[0] && l[1] && (i.value = s[0]) }i.visual = o.retrieveVisuals(t), e.push(i) }, this), d(t, e), u(e), a.each(e, function (t) { var e = t.close, n = [['<', '≤'][e[1]], ['>', '≥'][e[0]]]; t.text = t.text || this.formatValueText(t.value != null ? t.value : t.interval, !1, n) }, this) }}; function d (t, e) { var n = t.inverse; (t.orient === 'vertical' ? !n : n) && e.reverse() } var f = c; t.exports = f }, '07d7': function (t, e, n) { var i = n('6d8b'), a = n('41ef'), r = n('607d'), o = n('22d1'), s = n('eda2'), l = i.each, u = s.toCamelCase, c = ['', '-webkit-', '-moz-', '-o-'], h = 'position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;'; function d (t) { var e = 'cubic-bezier(0.23, 1, 0.32, 1)', n = 'left ' + t + 's ' + e + ',top ' + t + 's ' + e; return i.map(c, function (t) { return t + 'transition:' + n }).join(';') } function f (t) { var e = [], n = t.get('fontSize'), i = t.getTextColor(); return i && e.push('color:' + i), e.push('font:' + t.getFont()), n && e.push('line-height:' + Math.round(3 * n / 2) + 'px'), l(['decoration', 'align'], function (n) { var i = t.get(n); i && e.push('text-' + n + ':' + i) }), e.join(';') } function p (t) { var e = [], n = t.get('transitionDuration'), i = t.get('backgroundColor'), r = t.getModel('textStyle'), c = t.get('padding'); return n && e.push(d(n)), i && (o.canvasSupported ? e.push('background-Color:' + i) : (e.push('background-Color:#' + a.toHex(i)), e.push('filter:alpha(opacity=70)'))), l(['width', 'color', 'radius'], function (n) { var i = 'border-' + n, a = u(i), r = t.get(a); r != null && e.push(i + ':' + r + (n === 'color' ? '' : 'px')) }), e.push(f(r)), c != null && e.push('padding:' + s.normalizeCssArray(c).join('px ') + 'px'), e.join(';') + ';' } function g (t, e) { if (o.wxa) return null; var n = document.createElement('div'), i = this._zr = e.getZr(); this.el = n, this._x = e.getWidth() / 2, this._y = e.getHeight() / 2, t.appendChild(n), this._container = t, this._show = !1, this._hideTimeout; var a = this; n.onmouseenter = function () { a._enterable && (clearTimeout(a._hideTimeout), a._show = !0), a._inContent = !0 }, n.onmousemove = function (e) { if (e = e || window.event, !a._enterable) { var n = i.handler; r.normalizeEvent(t, e, !0), n.dispatch('mousemove', e) } }, n.onmouseleave = function () { a._enterable && a._show && a.hideLater(a._hideDelay), a._inContent = !1 } }g.prototype = {constructor: g, _enterable: !0, update: function () { var t = this._container, e = t.currentStyle || document.defaultView.getComputedStyle(t), n = t.style; n.position !== 'absolute' && e.position !== 'absolute' && (n.position = 'relative') }, show: function (t) { clearTimeout(this._hideTimeout); var e = this.el; e.style.cssText = h + p(t) + ';left:' + this._x + 'px;top:' + this._y + 'px;' + (t.get('extraCssText') || ''), e.style.display = e.innerHTML ? 'block' : 'none', this._show = !0 }, setContent: function (t) { this.el.innerHTML = t == null ? '' : t }, setEnterable: function (t) { this._enterable = t }, getSize: function () { var t = this.el; return [t.clientWidth, t.clientHeight] }, moveTo: function (t, e) { var n, i = this._zr; i && i.painter && (n = i.painter.getViewportRootOffset()) && (t += n.offsetLeft, e += n.offsetTop); var a = this.el.style; a.left = t + 'px', a.top = e + 'px', this._x = t, this._y = e }, hide: function () { this.el.style.display = 'none', this._show = !1 }, hideLater: function (t) { !this._show || this._inContent && this._enterable || (t ? (this._hideDelay = t, this._show = !1, this._hideTimeout = setTimeout(i.bind(this.hide, this), t)) : this.hide()) }, isShow: function () { return this._show }}; var m = g; t.exports = m }, '07e6': function (t, e, n) { n('4d85'), n('a753') }, '0817': function (t, e, n) { var i = n('3eba'); n('f306'), n('0046'), n('60d7'); var a = n('ab71'); i.registerVisual(a) }, '085d': function (t, e, n) { var i = n('3eba'); n('bd92'), n('19e2'); var a = n('eabf'), r = n('4c99'), o = n('09b1'); i.registerPreprocessor(a), i.registerVisual(r), i.registerLayout(o) }, '08c3': function (t, e, n) { var i = n('6d8b'), a = n('84ce'), r = function (t, e, n, i) { a.call(this, t, e, n), this.type = i || 'value', this.model = null }; r.prototype = {constructor: r, getLabelModel: function () { return this.model.getModel('label') }, isHorizontal: function () { return this.model.get('orient') === 'horizontal' }}, i.inherits(r, a); var o = r; t.exports = o }, '09b1': function (t, e, n) { var i = n('2306'), a = i.subPixelOptimize, r = n('cccd'), o = n('3842'), s = o.parsePercent, l = n('6d8b'), u = l.retrieve2, c = typeof Float32Array !== 'undefined' ? Float32Array : Array, h = {seriesType: 'candlestick', plan: r(), reset: function (t) { var e = t.coordinateSystem, n = t.getData(), i = f(t, n), r = 0, o = 1, s = ['x', 'y'], l = n.mapDimension(s[r]), u = n.mapDimension(s[o], !0), h = u[0], p = u[1], g = u[2], m = u[3]; if (n.setLayout({candleWidth: i, isSimpleBox: i <= 1.3}), !(l == null || u.length < 4)) return {progress: t.pipelineContext.large ? y : v}; function v (t, n) { var s; while ((s = t.next()) != null) { var u = n.get(l, s), c = n.get(h, s), f = n.get(p, s), v = n.get(g, s), y = n.get(m, s), x = Math.min(c, f), _ = Math.max(c, f), b = A(x, u), w = A(_, u), S = A(v, u), M = A(y, u), I = []; T(I, w, 0), T(I, b, 1), I.push(D(M), D(w), D(S), D(b)), n.setItemLayout(s, {sign: d(n, s, c, f, p), initBaseline: c > f ? w[o] : b[o], ends: I, brushRect: C(v, y, u)}) } function A (t, n) { var i = []; return i[r] = n, i[o] = t, isNaN(n) || isNaN(t) ? [NaN, NaN] : e.dataToPoint(i) } function T (t, e, n) { var o = e.slice(), s = e.slice(); o[r] = a(o[r] + i / 2, 1, !1), s[r] = a(s[r] - i / 2, 1, !0), n ? t.push(o, s) : t.push(s, o) } function C (t, e, n) { var a = A(t, n), s = A(e, n); return a[r] -= i / 2, s[r] -= i / 2, {x: a[0], y: a[1], width: o ? i : s[0] - a[0], height: o ? s[1] - a[1] : i} } function D (t) { return t[r] = a(t[r], 1), t } } function y (t, n) { var i, a, s = new c(5 * t.count), u = 0, f = [], v = []; while ((a = t.next()) != null) { var y = n.get(l, a), x = n.get(h, a), _ = n.get(p, a), b = n.get(g, a), w = n.get(m, a); isNaN(y) || isNaN(b) || isNaN(w) ? (s[u++] = NaN, u += 4) : (s[u++] = d(n, a, x, _, p), f[r] = y, f[o] = b, i = e.dataToPoint(f, null, v), s[u++] = i ? i[0] : NaN, s[u++] = i ? i[1] : NaN, f[o] = w, i = e.dataToPoint(f, null, v), s[u++] = i ? i[1] : NaN) }n.setLayout('largePoints', s) } }}; function d (t, e, n, i, a) { var r; return r = n > i ? -1 : n < i ? 1 : e > 0 ? t.get(a, e - 1) <= i ? 1 : -1 : 1, r } function f (t, e) { var n, i = t.getBaseAxis(), a = i.type === 'category' ? i.getBandWidth() : (n = i.getExtent(), Math.abs(n[1] - n[0]) / e.count()), r = s(u(t.get('barMaxWidth'), a), a), o = s(u(t.get('barMinWidth'), 1), a), l = t.get('barWidth'); return l != null ? s(l, a) : Math.max(Math.min(a / 2, r), o) }t.exports = h }, '0a6d': function (t, e, n) { n('6932'), n('3a56'), n('7dcf'), n('3790'), n('2325'), n('a18f'), n('32a1'), n('2c17'), n('9e87') }, '0b44': function (t, e, n) { var i = n('607d'), a = function () { this._track = [] }; function r (t) { var e = t[1][0] - t[0][0], n = t[1][1] - t[0][1]; return Math.sqrt(e * e + n * n) } function o (t) { return [(t[0][0] + t[1][0]) / 2, (t[0][1] + t[1][1]) / 2] }a.prototype = {constructor: a, recognize: function (t, e, n) { return this._doTrack(t, e, n), this._recognize(t) }, clear: function () { return this._track.length = 0, this }, _doTrack: function (t, e, n) { var a = t.touches; if (a) { for (var r = {points: [], touches: [], target: e, event: t}, o = 0, s = a.length; o < s; o++) { var l = a[o], u = i.clientToLocal(n, l, {}); r.points.push([u.zrX, u.zrY]), r.touches.push(l) } this._track.push(r) } }, _recognize: function (t) { for (var e in s) if (s.hasOwnProperty(e)) { var n = s[e](this._track, t); if (n) return n } }}; var s = {pinch: function (t, e) { var n = t.length; if (n) { var i = (t[n - 1] || {}).points, a = (t[n - 2] || {}).points || i; if (a && a.length > 1 && i && i.length > 1) { var s = r(i) / r(a); !isFinite(s) && (s = 1), e.pinchScale = s; var l = o(i); return e.pinchX = l[0], e.pinchY = l[1], {type: 'pinch', target: t[0].target, event: e} } } }}, l = a; t.exports = l }, '0b4b': function (t, e, n) { n('d28f'), n('f14c'), n('0ee7'), n('ebf9') }, '0c12': function (t, e) { function n () {} function i (t, e, n, i) { for (var a = 0, r = e.length, o = 0, s = 0; a < r; a++) { var l = e[a]; if (l.removed) { for (u = [], c = s; c < s + l.count; c++)u.push(c); l.indices = u, s += l.count } else { for (var u = [], c = o; c < o + l.count; c++)u.push(c); l.indices = u, o += l.count, l.added || (s += l.count) } } return e } function a (t) { return {newPos: t.newPos, components: t.components.slice(0)} }n.prototype = {diff: function (t, e, n) { n || (n = function (t, e) { return t === e }), this.equals = n; var r = this; t = t.slice(), e = e.slice(); var o = e.length, s = t.length, l = 1, u = o + s, c = [{newPos: -1, components: []}], h = this.extractCommon(c[0], e, t, 0); if (c[0].newPos + 1 >= o && h + 1 >= s) { for (var d = [], f = 0; f < e.length; f++)d.push(f); return [{indices: d, count: e.length}] } function p () { for (var n = -1 * l; n <= l; n += 2) { var u, h = c[n - 1], d = c[n + 1], f = (d ? d.newPos : 0) - n; h && (c[n - 1] = void 0); var p = h && h.newPos + 1 < o, g = d && f >= 0 && f < s; if (p || g) { if (!p || g && h.newPos < d.newPos ? (u = a(d), r.pushComponent(u.components, void 0, !0)) : (u = h, u.newPos++, r.pushComponent(u.components, !0, void 0)), f = r.extractCommon(u, e, t, n), u.newPos + 1 >= o && f + 1 >= s) return i(r, u.components, e, t); c[n] = u } else c[n] = void 0 }l++ } while (l <= u) { var g = p(); if (g) return g } }, pushComponent: function (t, e, n) { var i = t[t.length - 1]; i && i.added === e && i.removed === n ? t[t.length - 1] = {count: i.count + 1, added: e, removed: n} : t.push({count: 1, added: e, removed: n}) }, extractCommon: function (t, e, n, i) { var a = e.length, r = n.length, o = t.newPos, s = o - i, l = 0; while (o + 1 < a && s + 1 < r && this.equals(e[o + 1], n[s + 1]))o++, s++, l++; return l && t.components.push({count: l}), t.newPos = o, s }, tokenize: function (t) { return t.slice() }, join: function (t) { return t.slice() }}; var r = new n(); function o (t, e, n) { return r.diff(t, e, n) }t.exports = o }, '0c41': function (t, e, n) { var i = n('6d8b'), a = n('4a01'), r = n('01ef'), o = n('c526'), s = o.onIrrelevantElement, l = n('2306'); function u (t, e) { var n = t.getItemStyle(), i = t.get('areaColor'); return i != null && (n.fill = i), n } function c (t, e, n, a, r) { n.off('click'), n.off('mousedown'), e.get('selectedMode') && (n.on('mousedown', function () { t._mouseDownFlag = !0 }), n.on('click', function (o) { if (t._mouseDownFlag) { t._mouseDownFlag = !1; var s = o.target; while (!s.__regions)s = s.parent; if (s) { var l = {type: (e.mainType === 'geo' ? 'geo' : 'map') + 'ToggleSelect', batch: i.map(s.__regions, function (t) { return {name: t.name, from: r.uid} })}; l[e.mainType + 'Id'] = e.id, a.dispatchAction(l), h(e, n) } } })) } function h (t, e) { e.eachChild(function (e) { i.each(e.__regions, function (n) { e.trigger(t.isSelected(n.name) ? 'emphasis' : 'normal') }) }) } function d (t, e) { var n = new l.Group(); this._controller = new a(t.getZr()), this._controllerHost = {target: e ? n : null}, this.group = n, this._updateGroup = e, this._mouseDownFlag }d.prototype = {constructor: d, draw: function (t, e, n, a, r) { var o = t.mainType === 'geo', s = t.getData && t.getData(); o && e.eachComponent({mainType: 'series', subType: 'map'}, function (e) { s || e.getHostGeoModel() !== t || (s = e.getData()) }); var d = t.coordinateSystem, f = this.group, p = d.scale, g = {position: d.position, scale: p}; !f.childAt(0) || r ? f.attr(g) : l.updateProps(f, g, t), f.removeAll(); var m = ['itemStyle'], v = ['emphasis', 'itemStyle'], y = ['label'], x = ['emphasis', 'label'], _ = i.createHashMap(); i.each(d.regions, function (e) { var n = _.get(e.name) || _.set(e.name, new l.Group()), a = new l.CompoundPath({shape: {paths: []}}); n.add(a); var r, c = t.getRegionModel(e.name) || t, h = c.getModel(m), d = c.getModel(v), g = u(h, p), b = u(d, p), w = c.getModel(y), S = c.getModel(x); if (s) { r = s.indexOfName(e.name); var M = s.getItemVisual(r, 'color', !0); M && (g.fill = M) }i.each(e.geometries, function (t) { if (t.type === 'polygon') { a.shape.paths.push(new l.Polygon({shape: {points: t.exterior}})); for (var e = 0; e < (t.interiors ? t.interiors.length : 0); e++)a.shape.paths.push(new l.Polygon({shape: {points: t.interiors[e]}})) } }), a.setStyle(g), a.style.strokeNoScale = !0, a.culling = !0; var I = w.get('show'), A = S.get('show'), T = s && isNaN(s.get(s.mapDimension('value'), r)), C = s && s.getItemLayout(r); if (o || T && (I || A) || C && C.showLabel) { var D, L = o ? e.name : r; (!s || r >= 0) && (D = t); var P = new l.Text({position: e.center.slice(), scale: [1 / p[0], 1 / p[1]], z2: 10, silent: !0}); l.setLabelStyle(P.style, P.hoverStyle = {}, w, S, {labelFetcher: D, labelDataIndex: L, defaultText: e.name, useInsideStyle: !1}, {textAlign: 'center', textVerticalAlign: 'middle'}), n.add(P) } if (s)s.setItemGraphicEl(r, n); else { c = t.getRegionModel(e.name); a.eventData = {componentType: 'geo', geoIndex: t.componentIndex, name: e.name, region: c && c.option || {}} } var k = n.__regions || (n.__regions = []); k.push(e), l.setHoverStyle(n, b, {hoverSilentOnTouch: !!t.get('selectedMode')}), f.add(n) }), this._updateController(t, e, n), c(this, t, f, n, a), h(t, f) }, remove: function () { this.group.removeAll(), this._controller.dispose(), this._controllerHost = {} }, _updateController: function (t, e, n) { var a = t.coordinateSystem, o = this._controller, l = this._controllerHost; l.zoomLimit = t.get('scaleLimit'), l.zoom = a.getZoom(), o.enable(t.get('roam') || !1); var u = t.mainType; function c () { var e = {type: 'geoRoam', componentType: u}; return e[u + 'Id'] = t.id, e }o.off('pan').on('pan', function (t, e) { this._mouseDownFlag = !1, r.updateViewOnPan(l, t, e), n.dispatchAction(i.extend(c(), {dx: t, dy: e})) }, this), o.off('zoom').on('zoom', function (t, e, a) { if (this._mouseDownFlag = !1, r.updateViewOnZoom(l, t, e, a), n.dispatchAction(i.extend(c(), {zoom: t, originX: e, originY: a})), this._updateGroup) { var o = this.group, s = o.scale; o.traverse(function (t) { t.type === 'text' && t.attr('scale', [1 / s[0], 1 / s[1]]) }) } }, this), o.setPointerChecker(function (e, i, r) { return a.getViewRectAfterRoam().contain(i, r) && !s(e, n, t) }) }}; var f = d; t.exports = f }, '0cde': function (t, e, n) { var i = n('1687'), a = n('401b'), r = i.identity, o = 5e-5; function s (t) { return t > o || t < -o } var l = function (t) { t = t || {}, t.position || (this.position = [0, 0]), t.rotation == null && (this.rotation = 0), t.scale || (this.scale = [1, 1]), this.origin = this.origin || null }, u = l.prototype; u.transform = null, u.needLocalTransform = function () { return s(this.rotation) || s(this.position[0]) || s(this.position[1]) || s(this.scale[0] - 1) || s(this.scale[1] - 1) }, u.updateTransform = function () { var t = this.parent, e = t && t.transform, n = this.needLocalTransform(), a = this.transform; n || e ? (a = a || i.create(), n ? this.getLocalTransform(a) : r(a), e && (n ? i.mul(a, t.transform, a) : i.copy(a, t.transform)), this.transform = a, this.invTransform = this.invTransform || i.create(), i.invert(this.invTransform, a)) : a && r(a) }, u.getLocalTransform = function (t) { return l.getLocalTransform(this, t) }, u.setTransform = function (t) { var e = this.transform, n = t.dpr || 1; e ? t.setTransform(n * e[0], n * e[1], n * e[2], n * e[3], n * e[4], n * e[5]) : t.setTransform(n, 0, 0, n, 0, 0) }, u.restoreTransform = function (t) { var e = t.dpr || 1; t.setTransform(e, 0, 0, e, 0, 0) }; var c = []; u.decomposeTransform = function () { if (this.transform) { var t = this.parent, e = this.transform; t && t.transform && (i.mul(c, t.invTransform, e), e = c); var n = e[0] * e[0] + e[1] * e[1], a = e[2] * e[2] + e[3] * e[3], r = this.position, o = this.scale; s(n - 1) && (n = Math.sqrt(n)), s(a - 1) && (a = Math.sqrt(a)), e[0] < 0 && (n = -n), e[3] < 0 && (a = -a), r[0] = e[4], r[1] = e[5], o[0] = n, o[1] = a, this.rotation = Math.atan2(-e[1] / a, e[0] / n) } }, u.getGlobalScale = function () { var t = this.transform; if (!t) return [1, 1]; var e = Math.sqrt(t[0] * t[0] + t[1] * t[1]), n = Math.sqrt(t[2] * t[2] + t[3] * t[3]); return t[0] < 0 && (e = -e), t[3] < 0 && (n = -n), [e, n] }, u.transformCoordToLocal = function (t, e) { var n = [t, e], i = this.invTransform; return i && a.applyTransform(n, n, i), n }, u.transformCoordToGlobal = function (t, e) { var n = [t, e], i = this.transform; return i && a.applyTransform(n, n, i), n }, l.getLocalTransform = function (t, e) { e = e || [], r(e); var n = t.origin, a = t.scale || [1, 1], o = t.rotation || 0, s = t.position || [0, 0]; return n && (e[4] -= n[0], e[5] -= n[1]), i.scale(e, e, a), o && i.rotate(e, e, o), n && (e[4] += n[0], e[5] += n[1]), e[4] += s[0], e[5] += s[1], e }; var h = l; t.exports = h }, '0d18': function (t, e, n) {}, '0da8': function (t, e, n) { var i = n('19eb'), a = n('9850'), r = n('6d8b'), o = n('5e76'); function s (t) { i.call(this, t) }s.prototype = {constructor: s, type: 'image', brush: function (t, e) { var n = this.style, i = n.image; n.bind(t, this, e); var a = this._image = o.createOrUpdateImage(i, this._image, this, this.onload); if (a && o.isImageReady(a)) { var r = n.x || 0, s = n.y || 0, l = n.width, u = n.height, c = a.width / a.height; if (l == null && u != null ? l = u * c : u == null && l != null ? u = l / c : l == null && u == null && (l = a.width, u = a.height), this.setTransform(t), n.sWidth && n.sHeight) { var h = n.sx || 0, d = n.sy || 0; t.drawImage(a, h, d, n.sWidth, n.sHeight, r, s, l, u) } else if (n.sx && n.sy) { h = n.sx, d = n.sy; var f = l - h, p = u - d; t.drawImage(a, h, d, f, p, r, s, l, u) } else t.drawImage(a, r, s, l, u); n.text != null && (this.restoreTransform(t), this.drawRectText(t, this.getBoundingRect())) } }, getBoundingRect: function () { var t = this.style; return this._rect || (this._rect = new a(t.x || 0, t.y || 0, t.width || 0, t.height || 0)), this._rect }}, r.inherits(s, i); var l = s; t.exports = l }, '0e0f': function (t, e, n) { var i = n('5f14'), a = n('6d8b'); function r (t, e) { t.eachSeriesByType('sankey', function (t) { var e = t.getGraph(), n = e.nodes; if (n.length) { var r = 1 / 0, o = -1 / 0; a.each(n, function (t) { var e = t.getLayout().value; e < r && (r = e), e > o && (o = e) }), a.each(n, function (e) { var n = new i({type: 'color', mappingMethod: 'linear', dataExtent: [r, o], visual: t.get('color')}), a = n.mapValueToVisual(e.getLayout().value); e.setVisual('color', a); var s = e.getModel(), l = s.get('itemStyle.color'); l != null && e.setVisual('color', l) }) } }) }t.exports = r }, '0ee7': function (t, e, n) { var i = n('6d8b'), a = n('2306'), r = n('f934'), o = n('5e97'), s = a.Group, l = ['width', 'height'], u = ['x', 'y'], c = o.extend({type: 'legend.scroll', newlineDisabled: !0, init: function () { c.superCall(this, 'init'), this._currentIndex = 0, this.group.add(this._containerGroup = new s()), this._containerGroup.add(this.getContentGroup()), this.group.add(this._controllerGroup = new s()), this._showController }, resetInner: function () { c.superCall(this, 'resetInner'), this._controllerGroup.removeAll(), this._containerGroup.removeClipPath(), this._containerGroup.__rectSize = null }, renderInner: function (t, e, n, r) { var o = this; c.superCall(this, 'renderInner', t, e, n, r); var s = this._controllerGroup, l = e.get('pageIconSize', !0); i.isArray(l) || (l = [l, l]), h('pagePrev', 0); var u = e.getModel('pageTextStyle'); function h (t, n) { var u = t + 'DataIndex', c = a.createIcon(e.get('pageIcons', !0)[e.getOrient().name][n], {onclick: i.bind(o._pageGo, o, u, e, r)}, {x: -l[0] / 2, y: -l[1] / 2, width: l[0], height: l[1]}); c.name = t, s.add(c) }s.add(new a.Text({name: 'pageText', style: {textFill: u.getTextColor(), font: u.getFont(), textVerticalAlign: 'middle', textAlign: 'center'}, silent: !0})), h('pageNext', 1) }, layoutInner: function (t, e, n) { var o = this.getContentGroup(), s = this._containerGroup, c = this._controllerGroup, h = t.getOrient().index, d = l[h], f = l[1 - h], p = u[1 - h]; r.box(t.get('orient'), o, t.get('itemGap'), h ? n.width : null, h ? null : n.height), r.box('horizontal', c, t.get('pageButtonItemGap', !0)); var g = o.getBoundingRect(), m = c.getBoundingRect(), v = this._showController = g[d] > n[d], y = [-g.x, -g.y]; y[h] = o.position[h]; var x = [0, 0], _ = [-m.x, -m.y], b = i.retrieve2(t.get('pageButtonGap', !0), t.get('itemGap', !0)); if (v) { var w = t.get('pageButtonPosition', !0); w === 'end' ? _[h] += n[d] - m[d] : x[h] += m[d] + b }_[1 - h] += g[f] / 2 - m[f] / 2, o.attr('position', y), s.attr('position', x), c.attr('position', _); var S = this.group.getBoundingRect(); S = {x: 0, y: 0}; if (S[d] = v ? n[d] : g[d], S[f] = Math.max(g[f], m[f]), S[p] = Math.min(0, m[p] + _[1 - h]), s.__rectSize = n[d], v) { var M = {x: 0, y: 0}; M[d] = Math.max(n[d] - m[d] - b, 0), M[f] = S[f], s.setClipPath(new a.Rect({shape: M})), s.__rectSize = M[d] } else c.eachChild(function (t) { t.attr({invisible: !0, silent: !0}) }); var I = this._getPageInfo(t); return I.pageIndex != null && a.updateProps(o, {position: I.contentPosition}, !!v && t), this._updatePageInfoView(t, I), S }, _pageGo: function (t, e, n) { var i = this._getPageInfo(e)[t]; i != null && n.dispatchAction({type: 'legendScroll', scrollDataIndex: i, legendId: e.id}) }, _updatePageInfoView: function (t, e) { var n = this._controllerGroup; i.each(['pagePrev', 'pageNext'], function (i) { var a = e[i + 'DataIndex'] != null, r = n.childOfName(i); r && (r.setStyle('fill', a ? t.get('pageIconColor', !0) : t.get('pageIconInactiveColor', !0)), r.cursor = a ? 'pointer' : 'default') }); var a = n.childOfName('pageText'), r = t.get('pageFormatter'), o = e.pageIndex, s = o != null ? o + 1 : 0, l = e.pageCount; a && r && a.setStyle('text', i.isString(r) ? r.replace('{current}', s).replace('{total}', l) : r({current: s, total: l})) }, _getPageInfo: function (t) { var e, n, i, a, r = t.get('scrollDataIndex', !0), o = this.getContentGroup(), s = o.getBoundingRect(), c = this._containerGroup.__rectSize, h = t.getOrient().index, d = l[h], f = l[1 - h], p = u[h], g = o.position.slice(); this._showController ? o.eachChild(function (t) { t.__legendDataIndex === r && (a = t) }) : a = o.childAt(0); var m = c ? Math.ceil(s[d] / c) : 0; if (a) { var v = a.getBoundingRect(), y = a.position[h] + v[p]; g[h] = -y - s[p], e = Math.floor(m * (y + v[p] + c / 2) / s[d]), e = s[d] && m ? Math.max(0, Math.min(m - 1, e)) : -1; var x, _ = {x: 0, y: 0}; _[d] = c, _[f] = s[f], _[p] = -g[h] - s[p]; var b = o.children(); if (o.eachChild(function (t, e) { var n = M(t); n.intersect(_) && (x == null && (x = e), i = t.__legendDataIndex), e === b.length - 1 && n[p] + n[d] <= _[p] + _[d] && (i = null) }), x != null) { var w = b[x], S = M(w); if (_[p] = S[p] + S[d] - _[d], x <= 0 && S[p] >= _[p])n = null; else { while (x > 0 && M(b[x - 1]).intersect(_))x--; n = b[x].__legendDataIndex } } } return {contentPosition: g, pageIndex: e, pageCount: m, pagePrevDataIndex: n, pageNextDataIndex: i}; function M (t) { var e = t.getBoundingRect().clone(); return e[p] += t.position[h], e } }}), h = c; t.exports = h }, '0f55': function (t, e, n) { var i = n('6d8b'), a = n('84ce'), r = function (t, e, n, i, r) { a.call(this, t, e, n), this.type = i || 'value', this.axisIndex = r }; r.prototype = {constructor: r, model: null, isHorizontal: function () { return this.coordinateSystem.getModel().get('layout') !== 'horizontal' }}, i.inherits(r, a); var o = r; t.exports = o }, '0f99': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('e0d3')), r = a.makeInner, o = a.getDataItemValue, s = n('8b7f'), l = s.getCoordSysDefineBySeries, u = n('6d8b'), c = u.createHashMap, h = u.each, d = u.map, f = u.isArray, p = u.isString, g = u.isObject, m = u.isTypedArray, v = u.isArrayLike, y = u.extend, x = (u.assert, n('ec6f')), _ = n('93d0'), b = _.SOURCE_FORMAT_ORIGINAL, w = _.SOURCE_FORMAT_ARRAY_ROWS, S = _.SOURCE_FORMAT_OBJECT_ROWS, M = _.SOURCE_FORMAT_KEYED_COLUMNS, I = _.SOURCE_FORMAT_UNKNOWN, A = _.SOURCE_FORMAT_TYPED_ARRAY, T = _.SERIES_LAYOUT_BY_ROW, C = r(); function D (t) { var e = t.option.source, n = I; if (m(e))n = A; else if (f(e)) for (var i = 0, a = e.length; i < a; i++) { var r = e[i]; if (r != null) { if (f(r)) { n = w; break } if (g(r)) { n = S; break } } } else if (g(e)) { for (var o in e) if (e.hasOwnProperty(o) && v(e[o])) { n = M; break } } else if (e != null) throw new Error('Invalid data'); C(t).sourceFormat = n } function L (t) { return C(t).source } function P (t) { C(t).datasetMap = c() } function k (t) { var e = t.option, n = e.data, i = m(n) ? A : b, a = !1, r = e.seriesLayoutBy, o = e.sourceHeader, s = e.dimensions, l = V(t); if (l) { var u = l.option; n = u.source, i = C(l).sourceFormat, a = !0, r = r || u.seriesLayoutBy, o == null && (o = u.sourceHeader), s = s || u.dimensions } var c = O(n, i, r, o, s), h = e.encode; !h && l && (h = z(t, l, n, i, r, c)), C(t).source = new x({data: n, fromDataset: a, seriesLayoutBy: r, sourceFormat: i, dimensionsDefine: c.dimensionsDefine, startIndex: c.startIndex, dimensionsDetectCount: c.dimensionsDetectCount, encodeDefine: h}) } function O (t, e, n, i, a) { if (!t) return {dimensionsDefine: R(a)}; var r, s, l, u; if (e === w)i === 'auto' || i == null ? E(function (t) { t != null && t !== '-' && (p(t) ? s == null && (s = 1) : s = 0) }, n, t, 10) : s = i ? 1 : 0, a || s !== 1 || (a = [], E(function (t, e) { a[e] = t != null ? t : '' }, n, t)), r = a ? a.length : n === T ? t.length : t[0] ? t[0].length : null; else if (e === S)a || (a = N(t), l = !0); else if (e === M)a || (a = [], l = !0, h(t, function (t, e) { a.push(e) })); else if (e === b) { var c = o(t[0]); r = f(c) && c.length || 1 } return l && h(a, function (t, e) { (g(t) ? t.name : t) === 'name' && (u = e) }), {startIndex: s, dimensionsDefine: R(a), dimensionsDetectCount: r, potentialNameDimIndex: u} } function R (t) { if (t) { var e = c(); return d(t, function (t, n) { if (t = y({}, g(t) ? t : {name: t}), t.name == null) return t; t.name += '', t.displayName == null && (t.displayName = t.name); var i = e.get(t.name); return i ? t.name += '-' + i.count++ : e.set(t.name, {count: 1}), t }) } } function E (t, e, n, i) { if (i == null && (i = 1 / 0), e === T) for (var a = 0; a < n.length && a < i; a++)t(n[a] ? n[a][0] : null, a); else { var r = n[0] || []; for (a = 0; a < r.length && a < i; a++)t(r[a], a) } } function N (t) { var e, n = 0; while (n < t.length && !(e = t[n++]));if (e) { var i = []; return h(e, function (t, e) { i.push(e) }), i } } function z (t, e, n, i, a, r) { var o = l(t), s = {}, u = [], d = [], f = t.subType, p = c(['pie', 'map', 'funnel']), g = c(['line', 'bar', 'pictorialBar', 'scatter', 'effectScatter', 'candlestick', 'boxplot']); if (o && g.get(f) != null) { var m = t.ecModel, v = C(m).datasetMap, y = e.uid + '_' + a, x = v.get(y) || v.set(y, {categoryWayDim: 1, valueWayDim: 0}); h(o.coordSysDims, function (t) { if (o.firstCategoryDimIndex == null) { var e = x.valueWayDim++; s[t] = e, d.push(e) } else if (o.categoryAxisMap.get(t))s[t] = 0, u.push(0); else { e = x.categoryWayDim++; s[t] = e, d.push(e) } }) } else if (p.get(f) != null) { for (var _, b = 0; b < 5 && _ == null; b++)G(n, i, a, r.dimensionsDefine, r.startIndex, b) || (_ = b); if (_ != null) { s.value = _; var w = r.potentialNameDimIndex || Math.max(_ - 1, 0); d.push(w), u.push(w) } } return u.length && (s.itemName = u), d.length && (s.seriesName = d), s } function V (t) { var e = t.option, n = e.data; if (!n) return t.ecModel.getComponent('dataset', e.datasetIndex || 0) } function B (t, e) { return G(t.data, t.sourceFormat, t.seriesLayoutBy, t.dimensionsDefine, t.startIndex, e) } function G (t, e, n, i, a, r) { var s, l, u = 5; if (m(t)) return !1; if (i && (l = i[r], l = g(l) ? l.name : l), e === w) if (n === T) { for (var c = t[r], h = 0; h < (c || []).length && h < u; h++) if ((s = x(c[a + h])) != null) return s } else for (h = 0; h < t.length && h < u; h++) { var d = t[a + h]; if (d && (s = x(d[r])) != null) return s } else if (e === S) { if (!l) return; for (h = 0; h < t.length && h < u; h++) { var v = t[h]; if (v && (s = x(v[l])) != null) return s } } else if (e === M) { if (!l) return; c = t[l]; if (!c || m(c)) return !1; for (h = 0; h < c.length && h < u; h++) if ((s = x(c[h])) != null) return s } else if (e === b) for (h = 0; h < t.length && h < u; h++) { v = t[h]; var y = o(v); if (!f(y)) return !1; if ((s = x(y[r])) != null) return s } function x (t) { return (t == null || !isFinite(t) || t === '') && (!(!p(t) || t === '-') || void 0) } return !1 }e.detectSourceFormat = D, e.getSource = L, e.resetSourceDefaulter = P, e.prepareSource = k, e.guessOrdinal = B }, '0fd3': function (t, e, n) { var i = n('2306'), a = n('7e5b'), r = n('6d8b'), o = n('a15a'), s = o.createSymbol, l = n('401b'), u = n('4a3f'); function c (t, e, n) { i.Group.call(this), this.add(this.createLine(t, e, n)), this._updateEffectSymbol(t, e) } var h = c.prototype; h.createLine = function (t, e, n) { return new a(t, e, n) }, h._updateEffectSymbol = function (t, e) { var n = t.getItemModel(e), i = n.getModel('effect'), a = i.get('symbolSize'), o = i.get('symbol'); r.isArray(a) || (a = [a, a]); var l = i.get('color') || t.getItemVisual(e, 'color'), u = this.childAt(1); this._symbolType !== o && (this.remove(u), u = s(o, -0.5, -0.5, 1, 1, l), u.z2 = 100, u.culling = !0, this.add(u)), u && (u.setStyle('shadowColor', l), u.setStyle(i.getItemStyle(['color'])), u.attr('scale', a), u.setColor(l), u.attr('scale', a), this._symbolType = o, this._updateEffectAnimation(t, i, e)) }, h._updateEffectAnimation = function (t, e, n) { var i = this.childAt(1); if (i) { var a = this, o = t.getItemLayout(n), s = 1e3 * e.get('period'), l = e.get('loop'), u = e.get('constantSpeed'), c = r.retrieve(e.get('delay'), function (e) { return e / t.count() * s / 3 }), h = typeof c === 'function'; if (i.ignore = !0, this.updateAnimationPoints(i, o), u > 0 && (s = this.getLineLength(i) / u * 1e3), s !== this._period || l !== this._loop) { i.stopAnimation(); var d = c; h && (d = c(n)), i.__t > 0 && (d = -s * i.__t), i.__t = 0; var f = i.animate('', l).when(s, {__t: 1}).delay(d).during(function () { a.updateSymbolPosition(i) }); l || f.done(function () { a.remove(i) }), f.start() } this._period = s, this._loop = l } }, h.getLineLength = function (t) { return l.dist(t.__p1, t.__cp1) + l.dist(t.__cp1, t.__p2) }, h.updateAnimationPoints = function (t, e) { t.__p1 = e[0], t.__p2 = e[1], t.__cp1 = e[2] || [(e[0][0] + e[1][0]) / 2, (e[0][1] + e[1][1]) / 2] }, h.updateData = function (t, e, n) { this.childAt(0).updateData(t, e, n), this._updateEffectSymbol(t, e) }, h.updateSymbolPosition = function (t) { var e = t.__p1, n = t.__p2, i = t.__cp1, a = t.__t, r = t.position, o = u.quadraticAt, s = u.quadraticDerivativeAt; r[0] = o(e[0], i[0], n[0], a), r[1] = o(e[1], i[1], n[1], a); var l = s(e[0], i[0], n[0], a), c = s(e[1], i[1], n[1], a); t.rotation = -Math.atan2(c, l) - Math.PI / 2, t.ignore = !1 }, h.updateLayout = function (t, e) { this.childAt(0).updateLayout(t, e); var n = t.getItemModel(e).getModel('effect'); this._updateEffectAnimation(t, n, e) }, r.inherits(c, i.Group); var d = c; t.exports = d }, '10cc': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('9850'), o = n('2b8c'), s = n('a890'), l = n('88b3'), u = n('bd9e'), c = ['inBrush', 'outOfBrush'], h = '__ecBrushSelect', d = '__ecInBrushSelectEvent', f = i.PRIORITY.VISUAL.BRUSH; function p (t, e, n, i, a) { if (a) { var r = t.getZr(); if (!r[d]) { r[h] || (r[h] = g); var o = l.createOrUpdate(r, h, n, e); o(t, i) } } } function g (t, e) { if (!t.isDisposed()) { var n = t.getZr(); n[d] = !0, t.dispatchAction({type: 'brushSelect', batch: e}), n[d] = !1 } } function m (t, e, n, i) { for (var a = 0, r = e.length; a < r; a++) { var o = e[a]; if (t[o.brushType](i, n, o.selectors, o)) return !0 } } function v (t) { var e = t.brushSelector; if (a.isString(e)) { var n = []; return a.each(s, function (t, i) { n[i] = function (n, i, a, r) { var o = i.getItemLayout(n); return t[e](o, a, r) } }), n } if (a.isFunction(e)) { var i = {}; return a.each(s, function (t, n) { i[n] = e }), i } return e } function y (t, e) { var n = t.option.seriesIndex; return n != null && n !== 'all' && (a.isArray(n) ? a.indexOf(n, e) < 0 : e !== n) } function x (t) { var e = t.selectors = {}; return a.each(s[t.brushType], function (n, i) { e[i] = function (i) { return n(i, e, t) } }), t }i.registerLayout(f, function (t, e, n) { t.eachComponent({mainType: 'brush'}, function (e) { n && n.type === 'takeGlobalCursor' && e.setBrushOption(n.key === 'brush' ? n.brushOption : {brushType: !1}); var i = e.brushTargetManager = new u(e.option, t); i.setInputRanges(e.areas, t) }) }), i.registerVisual(f, function (t, e, n) { var i, r, s = []; t.eachComponent({mainType: 'brush'}, function (e, n) { var l = {brushId: e.id, brushIndex: n, brushName: e.name, areas: a.clone(e.areas), selected: []}; s.push(l); var u = e.option, h = u.brushLink, d = [], f = [], p = [], g = 0; n || (i = u.throttleType, r = u.throttleDelay); var b = a.map(e.areas, function (t) { return x(a.defaults({boundingRect: _[t.brushType](t)}, t)) }), w = o.createVisualMappings(e.option, c, function (t) { t.mappingMethod = 'fixed' }); function S (t) { return h === 'all' || d[t] } function M (t) { return !!t.length } function I (t, e) { var n = t.coordinateSystem; g |= n.hasAxisBrushed(), S(e) && n.eachActiveState(t.getData(), function (t, e) { t === 'active' && (f[e] = 1) }) } function A (n, i, r) { var o = v(n); if (o && !y(e, i) && (a.each(b, function (i) { o[i.brushType] && e.brushTargetManager.controlSeries(i, n, t) && r.push(i), g |= M(r) }), S(i) && M(r))) { var s = n.getData(); s.each(function (t) { m(o, r, s, t) && (f[t] = 1) }) } }a.isArray(h) && a.each(h, function (t) { d[t] = 1 }), t.eachSeries(function (t, e) { var n = p[e] = []; t.subType === 'parallel' ? I(t, e, n) : A(t, e, n) }), t.eachSeries(function (t, e) { var n = {seriesId: t.id, seriesIndex: e, seriesName: t.name, dataIndex: []}; l.selected.push(n); var i = v(t), a = p[e], r = t.getData(), s = S(e) ? function (t) { return f[t] ? (n.dataIndex.push(r.getRawIndex(t)), 'inBrush') : 'outOfBrush' } : function (t) { return m(i, a, r, t) ? (n.dataIndex.push(r.getRawIndex(t)), 'inBrush') : 'outOfBrush' }; (S(e) ? g : M(a)) && o.applyVisual(c, w, r, s) }) }), p(e, i, r, s, n) }); var _ = {lineX: a.noop, lineY: a.noop, rect: function (t) { return b(t.range) }, polygon: function (t) { for (var e, n = t.range, i = 0, a = n.length; i < a; i++) { e = e || [[1 / 0, -1 / 0], [1 / 0, -1 / 0]]; var r = n[i]; r[0] < e[0][0] && (e[0][0] = r[0]), r[0] > e[0][1] && (e[0][1] = r[0]), r[1] < e[1][0] && (e[1][0] = r[1]), r[1] > e[1][1] && (e[1][1] = r[1]) } return e && b(e) }}; function b (t) { return new r(t[0][0], t[1][0], t[0][1] - t[0][0], t[1][1] - t[1][0]) } }, 1111: function (t, e, n) { var i = n('3eba'); n('67a8'), n('4784'); var a = n('7f96'), r = n('87c3'); i.registerVisual(a('effectScatter', 'circle')), i.registerLayout(r('effectScatter')) }, '133d': function (t, e, n) { var i = n('6d8b'), a = n('e0d3'); function r (t, e) { var n, r = [], o = t.seriesIndex; if (o == null || !(n = e.getSeriesByIndex(o))) return {point: []}; var s = n.getData(), l = a.queryDataIndex(s, t); if (l == null || l < 0 || i.isArray(l)) return {point: []}; var u = s.getItemGraphicEl(l), c = n.coordinateSystem; if (n.getTooltipPosition)r = n.getTooltipPosition(l) || []; else if (c && c.dataToPoint)r = c.dataToPoint(s.getValues(i.map(c.dimensions, function (t) { return s.mapDimension(t) }), l, !0)) || []; else if (u) { var h = u.getBoundingRect().clone(); h.applyTransform(u.transform), r = [h.x + h.width / 2, h.y + h.height / 2] } return {point: r, el: u} }t.exports = r }, 1374: function (t, e, n) { 'use strict'; var i = n('a658'), a = n.n(i); a.a }, 1418: function (t, e, n) { var i = n('6d8b'), a = n('a15a'), r = a.createSymbol, o = n('2306'), s = n('3842'), l = s.parsePercent, u = n('c775'), c = u.getDefaultLabel; function h (t, e, n) { o.Group.call(this), this.updateData(t, e, n) } var d = h.prototype, f = h.getSymbolSize = function (t, e) { var n = t.getItemVisual(e, 'symbolSize'); return n instanceof Array ? n.slice() : [+n, +n] }; function p (t) { return [t[0] / 2, t[1] / 2] } function g (t, e) { this.parent.drift(t, e) }d._createSymbol = function (t, e, n, i, a) { this.removeAll(); var o = e.getItemVisual(n, 'color'), s = r(t, -1, -1, 2, 2, o, a); s.attr({z2: 100, culling: !0, scale: p(i)}), s.drift = g, this._symbolType = t, this.add(s) }, d.stopSymbolAnimation = function (t) { this.childAt(0).stopAnimation(t) }, d.getSymbolPath = function () { return this.childAt(0) }, d.getScale = function () { return this.childAt(0).scale }, d.highlight = function () { this.childAt(0).trigger('emphasis') }, d.downplay = function () { this.childAt(0).trigger('normal') }, d.setZ = function (t, e) { var n = this.childAt(0); n.zlevel = t, n.z = e }, d.setDraggable = function (t) { var e = this.childAt(0); e.draggable = t, e.cursor = t ? 'move' : 'pointer' }, d.updateData = function (t, e, n) { this.silent = !1; var i = t.getItemVisual(e, 'symbol') || 'circle', a = t.hostModel, r = f(t, e), s = i !== this._symbolType; if (s) { var l = t.getItemVisual(e, 'symbolKeepAspect'); this._createSymbol(i, t, e, r, l) } else { var u = this.childAt(0); u.silent = !1, o.updateProps(u, {scale: p(r)}, a, e) } if (this._updateCommon(t, e, r, n), s) { u = this.childAt(0); var c = n && n.fadeIn, h = {scale: u.scale.slice()}; c && (h.style = {opacity: u.style.opacity}), u.scale = [0, 0], c && (u.style.opacity = 0), o.initProps(u, h, a, e) } this._seriesModel = a }; var m = ['itemStyle'], v = ['emphasis', 'itemStyle'], y = ['label'], x = ['emphasis', 'label']; d._updateCommon = function (t, e, n, a) { var r = this.childAt(0), s = t.hostModel, u = t.getItemVisual(e, 'color'); r.type !== 'image' && r.useStyle({strokeNoScale: !0}); var h = a && a.itemStyle, d = a && a.hoverItemStyle, f = a && a.symbolRotate, g = a && a.symbolOffset, _ = a && a.labelModel, b = a && a.hoverLabelModel, w = a && a.hoverAnimation, S = a && a.cursorStyle; if (!a || t.hasItemOption) { var M = a && a.itemModel ? a.itemModel : t.getItemModel(e); h = M.getModel(m).getItemStyle(['color']), d = M.getModel(v).getItemStyle(), f = M.getShallow('symbolRotate'), g = M.getShallow('symbolOffset'), _ = M.getModel(y), b = M.getModel(x), w = M.getShallow('hoverAnimation'), S = M.getShallow('cursor') } else d = i.extend({}, d); var I = r.style; r.attr('rotation', (f || 0) * Math.PI / 180 || 0), g && r.attr('position', [l(g[0], n[0]), l(g[1], n[1])]), S && r.attr('cursor', S), r.setColor(u, a && a.symbolInnerColor), r.setStyle(h); var A = t.getItemVisual(e, 'opacity'); A != null && (I.opacity = A); var T = t.getItemVisual(e, 'liftZ'), C = r.__z2Origin; T != null ? C == null && (r.__z2Origin = r.z2, r.z2 += T) : C != null && (r.z2 = C, r.__z2Origin = null); var D = a && a.useNameLabel; function L (e, n) { return D ? t.getName(e) : c(t, e) }o.setLabelStyle(I, d, _, b, {labelFetcher: s, labelDataIndex: e, defaultText: L, isRectText: !0, autoColor: u}), r.off('mouseover').off('mouseout').off('emphasis').off('normal'), r.hoverStyle = d, o.setHoverStyle(r); var P = p(n); if (w && s.isAnimationEnabled()) { var k = function () { if (!this.incremental) { var t = P[1] / P[0]; this.animateTo({scale: [Math.max(1.1 * P[0], P[0] + 3), Math.max(1.1 * P[1], P[1] + 3 * t)]}, 400, 'elasticOut') } }, O = function () { this.incremental || this.animateTo({scale: P}, 400, 'elasticOut') }; r.on('mouseover', k).on('mouseout', O).on('emphasis', k).on('normal', O) } }, d.fadeOut = function (t, e) { var n = this.childAt(0); this.silent = n.silent = !0, (!e || !e.keepLabel) && (n.style.text = null), o.updateProps(n, {style: {opacity: 0}, scale: [0, 0]}, this._seriesModel, this.dataIndex, t) }, i.inherits(h, o.Group); var _ = h; t.exports = _ }, 1466: function (t, e, n) { var i = n('3eba'), a = n('2306'), r = n('6d8b'), o = n('a15a'); function s (t) { return r.isArray(t) || (t = [+t, +t]), t } var l = i.extendChartView({type: 'radar', render: function (t, e, n) { var i = t.coordinateSystem, l = this.group, u = t.getData(), c = this._data; function h (t, e) { var n = t.getItemVisual(e, 'symbol') || 'circle', i = t.getItemVisual(e, 'color'); if (n !== 'none') { var a = s(t.getItemVisual(e, 'symbolSize')), r = o.createSymbol(n, -1, -1, 2, 2, i); return r.attr({style: {strokeNoScale: !0}, z2: 100, scale: [a[0] / 2, a[1] / 2]}), r } } function d (e, n, i, r, o, s) { i.removeAll(); for (var l = 0; l < n.length - 1; l++) { var u = h(r, o); u && (u.__dimIdx = l, e[l] ? (u.attr('position', e[l]), a[s ? 'initProps' : 'updateProps'](u, {position: n[l]}, t, o)) : u.attr('position', n[l]), i.add(u)) } } function f (t) { return r.map(t, function (t) { return [i.cx, i.cy] }) }u.diff(c).add(function (e) { var n = u.getItemLayout(e); if (n) { var i = new a.Polygon(), r = new a.Polyline(), o = {shape: {points: n}}; i.shape.points = f(n), r.shape.points = f(n), a.initProps(i, o, t, e), a.initProps(r, o, t, e); var s = new a.Group(), l = new a.Group(); s.add(r), s.add(i), s.add(l), d(r.shape.points, n, l, u, e, !0), u.setItemGraphicEl(e, s) } }).update(function (e, n) { var i = c.getItemGraphicEl(n), r = i.childAt(0), o = i.childAt(1), s = i.childAt(2), l = {shape: {points: u.getItemLayout(e)}}; l.shape.points && (d(r.shape.points, l.shape.points, s, u, e, !1), a.updateProps(r, l, t), a.updateProps(o, l, t), u.setItemGraphicEl(e, i)) }).remove(function (t) { l.remove(c.getItemGraphicEl(t)) }).execute(), u.eachItemGraphicEl(function (t, e) { var n = u.getItemModel(e), i = t.childAt(0), o = t.childAt(1), s = t.childAt(2), c = u.getItemVisual(e, 'color'); l.add(t), i.useStyle(r.defaults(n.getModel('lineStyle').getLineStyle(), {fill: 'none', stroke: c})), i.hoverStyle = n.getModel('emphasis.lineStyle').getLineStyle(); var h = n.getModel('areaStyle'), d = n.getModel('emphasis.areaStyle'), f = h.isEmpty() && h.parentModel.isEmpty(), p = d.isEmpty() && d.parentModel.isEmpty(); p = p && f, o.ignore = f, o.useStyle(r.defaults(h.getAreaStyle(), {fill: c, opacity: 0.7})), o.hoverStyle = d.getAreaStyle(); var g = n.getModel('itemStyle').getItemStyle(['color']), m = n.getModel('emphasis.itemStyle').getItemStyle(), v = n.getModel('label'), y = n.getModel('emphasis.label'); function x () { o.attr('ignore', p) } function _ () { o.attr('ignore', f) }s.eachChild(function (t) { t.setStyle(g), t.hoverStyle = r.clone(m), a.setLabelStyle(t.style, t.hoverStyle, v, y, {labelFetcher: u.hostModel, labelDataIndex: e, labelDimIndex: t.__dimIdx, defaultText: u.get(u.dimensions[t.__dimIdx], e), autoColor: c, isRectText: !0}) }), t.off('mouseover').off('mouseout').off('normal').off('emphasis'), t.on('emphasis', x).on('mouseover', x).on('normal', _).on('mouseout', _), a.setHoverStyle(t) }), this._data = u }, remove: function () { this.group.removeAll(), this._data = null }, dispose: function () {}}); t.exports = l }, '14d3': function (t, e, n) { var i = n('6d8b'), a = n('2306'), r = n('fab22'), o = n('6679'), s = ['axisLine', 'axisTickLabel', 'axisName'], l = ['splitLine', 'splitArea'], u = o.extend({type: 'radiusAxis', axisPointerClass: 'PolarAxisPointer', render: function (t, e) { if (this.group.removeAll(), t.get('show')) { var n = t.axis, a = n.polar, o = a.getAngleAxis(), u = n.getTicksCoords(), h = o.getExtent()[0], d = n.getExtent(), f = c(a, t, h), p = new r(t, f); i.each(s, p.add, p), this.group.add(p.getGroup()), i.each(l, function (e) { t.get(e + '.show') && !n.scale.isBlank() && this['_' + e](t, a, h, d, u) }, this) } }, _splitLine: function (t, e, n, r, o) { var s = t.getModel('splitLine'), l = s.getModel('lineStyle'), u = l.get('color'), c = 0; u = u instanceof Array ? u : [u]; for (var h = [], d = 0; d < o.length; d++) { var f = c++ % u.length; h[f] = h[f] || [], h[f].push(new a.Circle({shape: {cx: e.cx, cy: e.cy, r: o[d].coord}, silent: !0})) } for (d = 0; d < h.length; d++) this.group.add(a.mergePath(h[d], {style: i.defaults({stroke: u[d % u.length], fill: null}, l.getLineStyle()), silent: !0})) }, _splitArea: function (t, e, n, r, o) { if (o.length) { var s = t.getModel('splitArea'), l = s.getModel('areaStyle'), u = l.get('color'), c = 0; u = u instanceof Array ? u : [u]; for (var h = [], d = o[0].coord, f = 1; f < o.length; f++) { var p = c++ % u.length; h[p] = h[p] || [], h[p].push(new a.Sector({shape: {cx: e.cx, cy: e.cy, r0: d, r: o[f].coord, startAngle: 0, endAngle: 2 * Math.PI}, silent: !0})), d = o[f].coord } for (f = 0; f < h.length; f++) this.group.add(a.mergePath(h[f], {style: i.defaults({fill: u[f % u.length]}, l.getAreaStyle()), silent: !0})) } }}); function c (t, e, n) { return {position: [t.cx, t.cy], rotation: n / 180 * Math.PI, labelDirection: -1, tickDirection: -1, nameDirection: 1, labelRotate: e.getModel('axisLabel').get('rotate'), z2: 1} }t.exports = u }, 1548: function (t, e, n) { var i = n('6d8b'), a = n('3301'), r = n('697e'), o = n('2023'), s = n('4319'), l = n('f934'); l.getLayoutRect; e.getLayoutRect = l.getLayoutRect; var u = n('ee1a'), c = u.enableDataStack, h = u.isDimensionStacked, d = u.getStackedDimension, f = n('862d'); e.completeDimensions = f; var p = n('b1d4'); e.createDimensions = p; var g = n('a15a'); function m (t) { return a(t.getSource(), t) }e.createSymbol = g.createSymbol; var v = {isDimensionStacked: h, enableDataStack: c, getStackedDimension: d}; function y (t, e) { var n = e; s.isInstance(e) || (n = new s(e), i.mixin(n, o)); var a = r.createScaleByModel(n); return a.setExtent(t[0], t[1]), r.niceScaleExtent(a, n), a } function x (t) { i.mixin(t, o) }e.createList = m, e.dataStack = v, e.createScale = y, e.mixinAxisModelCommonMethods = x }, '15af': function (t, e, n) { var i = n('3eba'); n('cb69'), n('abff'); var a = n('7f96'), r = n('87c3'); n('01ed'), i.registerVisual(a('scatter', 'circle')), i.registerLayout(r('scatter')) }, 1687: function (t, e) { var n = typeof Float32Array === 'undefined' ? Array : Float32Array; function i () { var t = new n(6); return a(t), t } function a (t) { return t[0] = 1, t[1] = 0, t[2] = 0, t[3] = 1, t[4] = 0, t[5] = 0, t } function r (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 o (t, e, n) { var i = e[0] * n[0] + e[2] * n[1], a = e[1] * n[0] + e[3] * n[1], r = e[0] * n[2] + e[2] * n[3], o = 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] = a, t[2] = r, t[3] = o, t[4] = s, t[5] = l, t } function s (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 l (t, e, n) { var i = e[0], a = e[2], r = e[4], o = e[1], s = e[3], l = e[5], u = Math.sin(n), c = Math.cos(n); return t[0] = i * c + o * u, t[1] = -i * u + o * c, t[2] = a * c + s * u, t[3] = -a * u + c * s, t[4] = c * r + u * l, t[5] = c * l - u * r, t } function u (t, e, n) { var i = n[0], a = n[1]; return t[0] = e[0] * i, t[1] = e[1] * a, t[2] = e[2] * i, t[3] = e[3] * a, t[4] = e[4] * i, t[5] = e[5] * a, t } function c (t, e) { var n = e[0], i = e[2], a = e[4], r = e[1], o = e[3], s = e[5], l = n * o - r * i; return l ? (l = 1 / l, t[0] = o * l, t[1] = -r * l, t[2] = -i * l, t[3] = n * l, t[4] = (i * s - o * a) * l, t[5] = (r * a - n * s) * l, t) : null } function h (t) { var e = i(); return r(e, t), e }e.create = i, e.identity = a, e.copy = r, e.mul = o, e.translate = s, e.rotate = l, e.scale = u, e.invert = c, e.clone = h }, '16e0': function (t, e, n) {}, 1748: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('71ad'), o = n('4319'), s = n('2023'), l = r.valueAxis; function u (t, e) { return a.defaults({show: e}, t) } var c = i.extendComponentModel({type: 'radar', optionUpdated: function () { var t = this.get('boundaryGap'), e = this.get('splitNumber'), n = this.get('scale'), i = this.get('axisLine'), r = this.get('axisTick'), l = this.get('axisLabel'), u = this.get('name'), c = this.get('name.show'), h = this.get('name.formatter'), d = this.get('nameGap'), f = this.get('triggerEvent'), p = a.map(this.get('indicator') || [], function (p) { p.max != null && p.max > 0 && !p.min ? p.min = 0 : p.min != null && p.min < 0 && !p.max && (p.max = 0); var g = u; if (p.color != null && (g = a.defaults({color: p.color}, u)), p = a.merge(a.clone(p), {boundaryGap: t, splitNumber: e, scale: n, axisLine: i, axisTick: r, axisLabel: l, name: p.text, nameLocation: 'end', nameGap: d, nameTextStyle: g, triggerEvent: f}, !1), c || (p.name = ''), typeof h === 'string') { var m = p.name; p.name = h.replace('{value}', m != null ? m : '') } else typeof h === 'function' && (p.name = h(p.name, p)); var v = a.extend(new o(p, null, this.ecModel), s); return v.mainType = 'radar', v.componentIndex = this.componentIndex, v }, this); this.getIndicatorModels = function () { return p } }, defaultOption: {zlevel: 0, z: 0, center: ['50%', '50%'], radius: '75%', startAngle: 90, name: {show: !0}, boundaryGap: [0, 0], splitNumber: 5, nameGap: 15, scale: !1, shape: 'polygon', axisLine: a.merge({lineStyle: {color: '#bbb'}}, l.axisLine), axisLabel: u(l.axisLabel, !1), axisTick: u(l.axisTick, !1), splitLine: u(l.splitLine, !0), splitArea: u(l.splitArea, !0), indicator: []}}), h = c; t.exports = h }, 1792: function (t, e, n) { var i = n('6d8b'), a = {'南海诸岛': [32, 80], '广东': [0, -10], '香港': [10, 5], '澳门': [-10, 10], '天津': [5, 5]}; function r (t) { i.each(t.regions, function (t) { var e = a[t.name]; if (e) { var n = t.center; n[0] += e[0] / 10.5, n[1] += -e[1] / 14 } }) }t.exports = r }, '17b8': function (t, e, n) { var i = n('3014'), a = i.extend({type: 'series.bar', dependencies: ['grid', 'polar'], brushSelector: 'rect', getProgressive: function () { return !!this.get('large') && this.get('progressive') }, getProgressiveThreshold: function () { var t = this.get('progressiveThreshold'), e = this.get('largeThreshold'); return e > t && (t = e), t }}); t.exports = a }, '17d6': function (t, e, n) { var i = n('6d8b'), a = n('22d1'), r = n('e0d3'), o = r.makeInner, s = o(), l = i.each; function u (t, e, n) { if (!a.node) { var i = e.getZr(); s(i).records || (s(i).records = {}), c(i, e); var r = s(i).records[t] || (s(i).records[t] = {}); r.handler = n } } function c (t, e) { function n (n, i) { t.on(n, function (n) { var a = p(e); l(s(t).records, function (t) { t && i(t, n, a.dispatchAction) }), h(a.pendings, e) }) }s(t).initialized || (s(t).initialized = !0, n('click', i.curry(f, 'click')), n('mousemove', i.curry(f, 'mousemove')), n('globalout', d)) } function h (t, e) { var n, i = t.showTip.length, a = t.hideTip.length; i ? n = t.showTip[i - 1] : a && (n = t.hideTip[a - 1]), n && (n.dispatchAction = null, e.dispatchAction(n)) } function d (t, e, n) { t.handler('leave', null, n) } function f (t, e, n, i) { e.handler(t, n, i) } function p (t) { var e = {showTip: [], hideTip: []}, n = function (i) { var a = e[i.type]; a ? a.push(i) : (i.dispatchAction = n, t.dispatchAction(i)) }; return {dispatchAction: n, pendings: e} } function g (t, e) { if (!a.node) { var n = e.getZr(), i = (s(n).records || {})[t]; i && (s(n).records[t] = null) } }e.register = u, e.unregister = g }, '18c0': function (t, e, n) { var i = n('6d8b'), a = n('e0d8'), r = n('8e43'), o = a.prototype, s = a.extend({type: 'ordinal', init: function (t, e) { t && !i.isArray(t) || (t = new r({categories: t})), this._ordinalMeta = t, this._extent = e || [0, t.categories.length - 1] }, parse: function (t) { return typeof t === 'string' ? this._ordinalMeta.getOrdinal(t) : Math.round(t) }, contain: function (t) { return t = this.parse(t), o.contain.call(this, t) && this._ordinalMeta.categories[t] != null }, normalize: function (t) { return o.normalize.call(this, this.parse(t)) }, scale: function (t) { return Math.round(o.scale.call(this, t)) }, getTicks: function () { var t = [], e = this._extent, n = e[0]; while (n <= e[1])t.push(n), n++; return t }, getLabel: function (t) { if (!this.isBlank()) return this._ordinalMeta.categories[t] }, count: function () { return this._extent[1] - this._extent[0] + 1 }, unionExtentFromData: function (t, e) { this.unionExtent(t.getApproximateExtent(e)) }, getOrdinalMeta: function () { return this._ordinalMeta }, niceTicks: i.noop, niceExtent: i.noop}); s.create = function () { return new s() }; var l = s; t.exports = l }, 1953: function (t, e, n) { var i = n('2449'), a = i.extend({type: 'markLine', defaultOption: {zlevel: 0, z: 5, symbol: ['circle', 'arrow'], symbolSize: [8, 16], precision: 2, tooltip: {trigger: 'item'}, label: {show: !0, position: 'end'}, lineStyle: {type: 'dashed'}, emphasis: {label: {show: !0}, lineStyle: {width: 3}}, animationEasing: 'linear'}}); t.exports = a }, '19e2': function (t, e, n) { var i = n('6d8b'), a = n('e887'), r = n('2306'), o = n('cbe5'), s = ['itemStyle'], l = ['emphasis', 'itemStyle'], u = ['color', 'color0', 'borderColor', 'borderColor0'], c = a.extend({type: 'candlestick', render: function (t, e, n) { this._updateDrawMode(t), this._isLargeDraw ? this._renderLarge(t) : this._renderNormal(t) }, incrementalPrepareRender: function (t, e, n) { this._clear(), this._updateDrawMode(t) }, incrementalRender: function (t, e, n, i) { this._isLargeDraw ? this._incrementalRenderLarge(t, e) : this._incrementalRenderNormal(t, e) }, _updateDrawMode: function (t) { var e = t.pipelineContext.large; (this._isLargeDraw == null || e ^ this._isLargeDraw) && (this._isLargeDraw = e, this._clear()) }, _renderNormal: function (t) { var e = t.getData(), n = this._data, i = this.group, a = e.getLayout('isSimpleBox'); this._data || i.removeAll(), e.diff(n).add(function (n) { if (e.hasValue(n)) { var o, s = e.getItemLayout(n); o = d(s, n, !0), r.initProps(o, {shape: {points: s.ends}}, t, n), f(o, e, n, a), i.add(o), e.setItemGraphicEl(n, o) } }).update(function (o, s) { var l = n.getItemGraphicEl(s); if (e.hasValue(o)) { var u = e.getItemLayout(o); l ? r.updateProps(l, {shape: {points: u.ends}}, t, o) : l = d(u, o), f(l, e, o, a), i.add(l), e.setItemGraphicEl(o, l) } else i.remove(l) }).remove(function (t) { var e = n.getItemGraphicEl(t); e && i.remove(e) }).execute(), this._data = e }, _renderLarge: function (t) { this._clear(), m(t, this.group) }, _incrementalRenderNormal: function (t, e) { var n, i = e.getData(), a = i.getLayout('isSimpleBox'); while ((n = t.next()) != null) { var r, o = i.getItemLayout(n); r = d(o, n), f(r, i, n, a), r.incremental = !0, this.group.add(r) } }, _incrementalRenderLarge: function (t, e) { m(e, this.group, !0) }, remove: function (t) { this._clear() }, _clear: function () { this.group.removeAll(), this._data = null }, dispose: i.noop}), h = o.extend({type: 'normalCandlestickBox', shape: {}, buildPath: function (t, e) { var n = e.points; this.__simpleBox ? (t.moveTo(n[4][0], n[4][1]), t.lineTo(n[6][0], n[6][1])) : (t.moveTo(n[0][0], n[0][1]), t.lineTo(n[1][0], n[1][1]), t.lineTo(n[2][0], n[2][1]), t.lineTo(n[3][0], n[3][1]), t.closePath(), t.moveTo(n[4][0], n[4][1]), t.lineTo(n[5][0], n[5][1]), t.moveTo(n[6][0], n[6][1]), t.lineTo(n[7][0], n[7][1])) }}); function d (t, e, n) { var i = t.ends; return new h({shape: {points: n ? p(i, t) : i}, z2: 100}) } function f (t, e, n, i) { var a = e.getItemModel(n), o = a.getModel(s), c = e.getItemVisual(n, 'color'), h = e.getItemVisual(n, 'borderColor') || c, d = o.getItemStyle(u); t.useStyle(d), t.style.strokeNoScale = !0, t.style.fill = c, t.style.stroke = h, t.__simpleBox = i; var f = a.getModel(l).getItemStyle(); r.setHoverStyle(t, f) } function p (t, e) { return i.map(t, function (t) { return t = t.slice(), t[1] = e.initBaseline, t }) } var g = o.extend({type: 'largeCandlestickBox', shape: {}, buildPath: function (t, e) { for (var n = e.points, i = 0; i < n.length;) if (this.__sign === n[i++]) { var a = n[i++]; t.moveTo(a, n[i++]), t.lineTo(a, n[i++]) } else i += 3 }}); function m (t, e, n) { var i = t.getData(), a = i.getLayout('largePoints'), r = new g({shape: {points: a}, __sign: 1}); e.add(r); var o = new g({shape: {points: a}, __sign: -1}); e.add(o), v(1, r, t, i), v(-1, o, t, i), n && (r.incremental = !0, o.incremental = !0) } function v (t, e, n, i) { var a = t > 0 ? 'P' : 'N', r = i.getVisual('borderColor' + a) || i.getVisual('color' + a), o = n.getModel(s).getItemStyle(u); e.useStyle(o), e.style.fill = null, e.style.stroke = r } var y = c; t.exports = y }, '19eb': function (t, e, n) { var i = n('6d8b'), a = n('2b61'), r = n('d5b7'), o = n('9e2e'); function s (t) { for (var e in t = t || {}, r.call(this, t), t)t.hasOwnProperty(e) && e !== 'style' && (this[e] = t[e]); this.style = new a(t.style, this), this._rect = null, this.__clipPaths = [] }s.prototype = {constructor: s, type: 'displayable', __dirty: !0, invisible: !1, z: 0, z2: 0, zlevel: 0, draggable: !1, dragging: !1, silent: !1, culling: !1, cursor: 'pointer', rectHover: !1, progressive: !1, incremental: !1, inplace: !1, beforeBrush: function (t) {}, afterBrush: function (t) {}, brush: function (t, e) {}, getBoundingRect: function () {}, contain: function (t, e) { return this.rectContain(t, e) }, traverse: function (t, e) { t.call(e, this) }, rectContain: function (t, e) { var n = this.transformCoordToLocal(t, e), i = this.getBoundingRect(); return i.contain(n[0], n[1]) }, dirty: function () { this.__dirty = !0, this._rect = null, this.__zr && this.__zr.refresh() }, animateStyle: function (t) { return this.animate('style', t) }, attrKV: function (t, e) { t !== 'style' ? r.prototype.attrKV.call(this, t, e) : this.style.set(e) }, setStyle: function (t, e) { return this.style.set(t, e), this.dirty(!1), this }, useStyle: function (t) { return this.style = new a(t, this), this.dirty(!1), this }}, i.inherits(s, r), i.mixin(s, o); var l = s; t.exports = l }, '1ab3': function (t, e, n) { var i = n('6d8b'), a = n('2306'), r = n('e887'); function o (t, e, n, i) { var a = e.getData(), r = this.dataIndex, o = a.getName(r), l = e.get('selectedOffset'); i.dispatchAction({type: 'pieToggleSelect', from: t, name: o, seriesId: e.id}), a.each(function (t) { s(a.getItemGraphicEl(t), a.getItemLayout(t), e.isSelected(a.getName(t)), l, n) }) } function s (t, e, n, i, a) { var r = (e.startAngle + e.endAngle) / 2, o = Math.cos(r), s = Math.sin(r), l = n ? i : 0, u = [o * l, s * l]; a ? t.animate().when(200, {position: u}).start('bounceOut') : t.attr('position', u) } function l (t, e) { a.Group.call(this); var n = new a.Sector({z2: 2}), i = new a.Polyline(), r = new a.Text(); function o () { i.ignore = i.hoverIgnore, r.ignore = r.hoverIgnore } function s () { i.ignore = i.normalIgnore, r.ignore = r.normalIgnore } this.add(n), this.add(i), this.add(r), this.updateData(t, e, !0), this.on('emphasis', o).on('normal', s).on('mouseover', o).on('mouseout', s) } var u = l.prototype; u.updateData = function (t, e, n) { var r = this.childAt(0), o = t.hostModel, l = t.getItemModel(e), u = t.getItemLayout(e), c = i.extend({}, u); if (c.label = null, n) { r.setShape(c); var h = o.getShallow('animationType'); h === 'scale' ? (r.shape.r = u.r0, a.initProps(r, {shape: {r: u.r}}, o, e)) : (r.shape.endAngle = u.startAngle, a.updateProps(r, {shape: {endAngle: u.endAngle}}, o, e)) } else a.updateProps(r, {shape: c}, o, e); var d = t.getItemVisual(e, 'color'); r.useStyle(i.defaults({lineJoin: 'bevel', fill: d}, l.getModel('itemStyle').getItemStyle())), r.hoverStyle = l.getModel('emphasis.itemStyle').getItemStyle(); var f = l.getShallow('cursor'); function p () { r.stopAnimation(!0), r.animateTo({shape: {r: u.r + o.get('hoverOffset')}}, 300, 'elasticOut') } function g () { r.stopAnimation(!0), r.animateTo({shape: {r: u.r}}, 300, 'elasticOut') }f && r.attr('cursor', f), s(this, t.getItemLayout(e), o.isSelected(null, e), o.get('selectedOffset'), o.get('animation')), r.off('mouseover').off('mouseout').off('emphasis').off('normal'), l.get('hoverAnimation') && o.isAnimationEnabled() && r.on('mouseover', p).on('mouseout', g).on('emphasis', p).on('normal', g), this._updateLabel(t, e), a.setHoverStyle(this) }, u._updateLabel = function (t, e) { var n = this.childAt(1), i = this.childAt(2), r = t.hostModel, o = t.getItemModel(e), s = t.getItemLayout(e), l = s.label, u = t.getItemVisual(e, 'color'); a.updateProps(n, {shape: {points: l.linePoints || [[l.x, l.y], [l.x, l.y], [l.x, l.y]]}}, r, e), a.updateProps(i, {style: {x: l.x, y: l.y}}, r, e), i.attr({rotation: l.rotation, origin: [l.x, l.y], z2: 10}); var c = o.getModel('label'), h = o.getModel('emphasis.label'), d = o.getModel('labelLine'), f = o.getModel('emphasis.labelLine'); u = t.getItemVisual(e, 'color'); a.setLabelStyle(i.style, i.hoverStyle = {}, c, h, {labelFetcher: t.hostModel, labelDataIndex: e, defaultText: t.getName(e), autoColor: u, useInsideStyle: !!l.inside}, {textAlign: l.textAlign, textVerticalAlign: l.verticalAlign, opacity: t.getItemVisual(e, 'opacity')}), i.ignore = i.normalIgnore = !c.get('show'), i.hoverIgnore = !h.get('show'), n.ignore = n.normalIgnore = !d.get('show'), n.hoverIgnore = !f.get('show'), n.setStyle({stroke: u, opacity: t.getItemVisual(e, 'opacity')}), n.setStyle(d.getModel('lineStyle').getLineStyle()), n.hoverStyle = f.getModel('lineStyle').getLineStyle(); var p = d.get('smooth'); p && !0 === p && (p = 0.4), n.setShape({smooth: p}) }, i.inherits(l, a.Group); var c = r.extend({type: 'pie', init: function () { var t = new a.Group(); this._sectorGroup = t }, render: function (t, e, n, a) { if (!a || a.from !== this.uid) { var r = t.getData(), s = this._data, u = this.group, c = e.get('animation'), h = !s, d = t.get('animationType'), f = i.curry(o, this.uid, t, c, n), p = t.get('selectedMode'); if (r.diff(s).add(function (t) { var e = new l(r, t); h && d !== 'scale' && e.eachChild(function (t) { t.stopAnimation(!0) }), p && e.on('click', f), r.setItemGraphicEl(t, e), u.add(e) }).update(function (t, e) { var n = s.getItemGraphicEl(e); n.updateData(r, t), n.off('click'), p && n.on('click', f), u.add(n), r.setItemGraphicEl(t, n) }).remove(function (t) { var e = s.getItemGraphicEl(t); u.remove(e) }).execute(), c && h && r.count() > 0 && d !== 'scale') { var g = r.getItemLayout(0), m = Math.max(n.getWidth(), n.getHeight()) / 2, v = i.bind(u.removeClipPath, u); u.setClipPath(this._createClipPath(g.cx, g.cy, m, g.startAngle, g.clockwise, v, t)) } this._data = r } }, dispose: function () {}, _createClipPath: function (t, e, n, i, r, o, s) { var l = new a.Sector({shape: {cx: t, cy: e, r0: 0, r: n, startAngle: i, endAngle: i, clockwise: r}}); return a.initProps(l, {shape: {endAngle: i + (r ? 1 : -1) * Math.PI * 2}}, s, o), l }, containPoint: function (t, e) { var n = e.getData(), i = n.getItemLayout(0); if (i) { var a = t[0] - i.cx, r = t[1] - i.cy, o = Math.sqrt(a * a + r * r); return o <= i.r && o >= i.r0 } }}), h = c; t.exports = h }, '1c5f': function (t, e, n) { var i = n('401b'); function a (t) { var e = t.coordinateSystem; if (!e || e.type === 'view') { var n = t.getGraph(); n.eachNode(function (t) { var e = t.getModel(); t.setLayout([+e.get('x'), +e.get('y')]) }), r(n) } } function r (t) { t.eachEdge(function (t) { var e = t.getModel().get('lineStyle.curveness') || 0, n = i.clone(t.node1.getLayout()), a = i.clone(t.node2.getLayout()), r = [n, a]; +e && r.push([(n[0] + a[0]) / 2 - (n[1] - a[1]) * e, (n[1] + a[1]) / 2 - (a[0] - n[0]) * e]), t.setLayout(r) }) }e.simpleLayout = a, e.simpleLayoutEdge = r }, '1ccf': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = n('fd27'), o = n('3842'), s = o.parsePercent, l = n('697e'), u = l.createScaleByModel, c = l.niceScaleExtent, h = n('2039'), d = n('ee1a'), f = d.getStackedDimension; function p (t, e, n) { var i = e.get('center'), a = n.getWidth(), r = n.getHeight(); t.cx = s(i[0], a), t.cy = s(i[1], r); var o = t.getRadiusAxis(), l = Math.min(a, r) / 2, u = s(e.get('radius'), l); o.inverse ? o.setExtent(u, 0) : o.setExtent(0, u) } function g (t, e) { var n = this, i = n.getAngleAxis(), r = n.getRadiusAxis(); if (i.scale.setExtent(1 / 0, -1 / 0), r.scale.setExtent(1 / 0, -1 / 0), t.eachSeries(function (t) { if (t.coordinateSystem === n) { var e = t.getData(); a.each(e.mapDimension('radius', !0), function (t) { r.scale.unionExtentFromData(e, f(e, t)) }), a.each(e.mapDimension('angle', !0), function (t) { i.scale.unionExtentFromData(e, f(e, t)) }) } }), c(i.scale, i.model), c(r.scale, r.model), i.type === 'category' && !i.onBand) { var o = i.getExtent(), s = 360 / i.scale.count(); i.inverse ? o[1] += s : o[1] -= s, i.setExtent(o[0], o[1]) } } function m (t, e) { if (t.type = e.get('type'), t.scale = u(e), t.onBand = e.get('boundaryGap') && t.type === 'category', t.inverse = e.get('inverse'), e.mainType === 'angleAxis') { t.inverse ^= e.get('clockwise'); var n = e.get('startAngle'); t.setExtent(n, n + (t.inverse ? -360 : 360)) }e.axis = t, t.model = e }n('78f0'); var v = {dimensions: r.prototype.dimensions, create: function (t, e) { var n = []; return t.eachComponent('polar', function (t, i) { var a = new r(i); a.update = g; var o = a.getRadiusAxis(), s = a.getAngleAxis(), l = t.findAxisModel('radiusAxis'), u = t.findAxisModel('angleAxis'); m(o, l), m(s, u), p(a, t, e), n.push(a), t.coordinateSystem = a, a.model = t }), t.eachSeries(function (e) { if (e.get('coordinateSystem') === 'polar') { var n = t.queryComponents({mainType: 'polar', index: e.get('polarIndex'), id: e.get('polarId')})[0]; e.coordinateSystem = n.coordinateSystem } }), n }}; h.register('polar', v) }, '1e32': function (t, e, n) { var i = n('6d8b'), a = n('3842'), r = a.parsePercent, o = n('ee1a'), s = o.isDimensionStacked; function l (t) { return t.get('stack') || '__ec_stack_' + t.seriesIndex } function u (t) { return t.dim } function c (t, e, n) { var a = n.getWidth(), o = n.getHeight(), c = {}, d = h(i.filter(e.getSeriesByType(t), function (t) { return !e.isSeriesFiltered(t) && t.coordinateSystem && t.coordinateSystem.type === 'polar' })); e.eachSeriesByType(t, function (t) { if (t.coordinateSystem.type === 'polar') { var e = t.getData(), n = t.coordinateSystem, i = n.getBaseAxis(), h = l(t), f = d[u(i)][h], p = f.offset, g = f.width, m = n.getOtherAxis(i), v = t.get('center') || ['50%', '50%'], y = r(v[0], a), x = r(v[1], o), _ = t.get('barMinHeight') || 0, b = t.get('barMinAngle') || 0; c[h] = c[h] || []; for (var w = e.mapDimension(m.dim), S = e.mapDimension(i.dim), M = s(e, w), I = m.getExtent()[0], A = 0, T = e.count(); A < T; A++) { var C = e.get(w, A), D = e.get(S, A); if (!isNaN(C)) { var L, P, k, O, R = C >= 0 ? 'p' : 'n', E = I; if (M && (c[h][D] || (c[h][D] = {p: I, n: I}), E = c[h][D][R]), m.dim === 'radius') { var N = m.dataToRadius(C) - I, z = i.dataToAngle(D); Math.abs(N) < _ && (N = (N < 0 ? -1 : 1) * _), L = E, P = E + N, k = z - p, O = k - g, M && (c[h][D][R] = P) } else { var V = m.dataToAngle(C, !0) - I, B = i.dataToRadius(D); Math.abs(V) < b && (V = (V < 0 ? -1 : 1) * b), L = B + p, P = L + g, k = E, O = E + V, M && (c[h][D][R] = O) }e.setItemLayout(A, {cx: y, cy: x, r0: L, r: P, startAngle: -k * Math.PI / 180, endAngle: -O * Math.PI / 180}) } } } }, this) } function h (t, e) { var n = {}; i.each(t, function (t, e) { var i = t.getData(), a = t.coordinateSystem, o = a.getBaseAxis(), s = o.getExtent(), c = o.type === 'category' ? o.getBandWidth() : Math.abs(s[1] - s[0]) / i.count(), h = n[u(o)] || {bandWidth: c, remainedWidth: c, autoWidthCount: 0, categoryGap: '20%', gap: '30%', stacks: {}}, d = h.stacks; n[u(o)] = h; var f = l(t); d[f] || h.autoWidthCount++, d[f] = d[f] || {width: 0, maxWidth: 0}; var p = r(t.get('barWidth'), c), g = r(t.get('barMaxWidth'), c), m = t.get('barGap'), v = t.get('barCategoryGap'); p && !d[f].width && (p = Math.min(h.remainedWidth, p), d[f].width = p, h.remainedWidth -= p), g && (d[f].maxWidth = g), m != null && (h.gap = m), v != null && (h.categoryGap = v) }); var a = {}; return i.each(n, function (t, e) { a[e] = {}; var n = t.stacks, o = t.bandWidth, s = r(t.categoryGap, o), l = r(t.gap, 1), u = t.remainedWidth, c = t.autoWidthCount, h = (u - s) / (c + (c - 1) * l); h = Math.max(h, 0), i.each(n, function (t, e) { var n = t.maxWidth; n && n < h && (n = Math.min(n, u), t.width && (n = Math.min(n, t.width)), u -= n, t.width = n, c--) }), h = (u - s) / (c + (c - 1) * l), h = Math.max(h, 0); var d, f = 0; i.each(n, function (t, e) { t.width || (t.width = h), d = t, f += t.width * (1 + l) }), d && (f -= d.width * l); var p = -f / 2; i.each(n, function (t, n) { a[e][n] = a[e][n] || {offset: p, width: t.width}, p += t.width * (1 + l) }) }), a } var d = c; t.exports = d }, '1f0e': function (t, e, n) { var i = n('cbe5'), a = i.extend({type: 'echartsGaugePointer', shape: {angle: 0, width: 10, r: 10, x: 0, y: 0}, buildPath: function (t, e) { var n = Math.cos, i = Math.sin, a = e.r, r = e.width, o = e.angle, s = e.x - n(o) * r * (r >= a / 3 ? 1 : 2), l = e.y - i(o) * r * (r >= a / 3 ? 1 : 2); o = e.angle - Math.PI / 2, t.moveTo(s, l), t.lineTo(e.x + n(o) * r, e.y + i(o) * r), t.lineTo(e.x + n(e.angle) * a, e.y + i(e.angle) * a), t.lineTo(e.x - n(o) * r, e.y - i(o) * r), t.lineTo(s, l) }}); t.exports = a }, '1f1a': function (t, e, n) { var i = n('6d8b'), a = n('e0d3'), r = n('6cb7'), o = n('4319'), s = n('7023'), l = n('eeea'), u = r.extend({type: 'geo', coordinateSystem: null, layoutMode: 'box', init: function (t) { r.prototype.init.apply(this, arguments), a.defaultEmphasis(t, 'label', ['show']) }, optionUpdated: function () { var t = this.option, e = this; t.regions = l.getFilledRegions(t.regions, t.map, t.nameMap), this._optionModelMap = i.reduce(t.regions || [], function (t, n) { return n.name && t.set(n.name, new o(n, e)), t }, i.createHashMap()), this.updateSelectedMap(t.regions) }, defaultOption: {zlevel: 0, z: 0, show: !0, left: 'center', top: 'center', aspectScale: 0.75, silent: !1, map: '', boundingCoords: null, center: null, zoom: 1, scaleLimit: null, label: {show: !1, color: '#000'}, itemStyle: {borderWidth: 0.5, borderColor: '#444', color: '#eee'}, emphasis: {label: {show: !0, color: 'rgb(100,0,0)'}, itemStyle: {color: 'rgba(255,215,0,0.8)'}}, regions: []}, getRegionModel: function (t) { return this._optionModelMap.get(t) || new o(null, this, this.ecModel) }, getFormattedLabel: function (t, e) { var n = this.getRegionModel(t), i = n.get('label.' + e + '.formatter'), a = {name: t}; return typeof i === 'function' ? (a.status = e, i(a)) : typeof i === 'string' ? i.replace('{a}', t != null ? t : '') : void 0 }, setZoom: function (t) { this.option.zoom = t }, setCenter: function (t) { this.option.center = t }}); i.mixin(u, s); var c = u; t.exports = c }, '1fab': function (t, e) { var n = Array.prototype.slice, i = function () { this._$handlers = {} }; i.prototype = {constructor: i, one: function (t, e, n) { var i = this._$handlers; if (!e || !t) return this; i[t] || (i[t] = []); for (var a = 0; a < i[t].length; a++) if (i[t][a].h === e) return this; return i[t].push({h: e, one: !0, ctx: n || this}), this }, on: function (t, e, n) { var i = this._$handlers; if (!e || !t) return this; i[t] || (i[t] = []); for (var a = 0; a < i[t].length; a++) if (i[t][a].h === e) return this; return i[t].push({h: e, one: !1, ctx: n || this}), this }, isSilent: function (t) { var e = this._$handlers; return e[t] && e[t].length }, off: function (t, e) { var n = this._$handlers; if (!t) return this._$handlers = {}, this; if (e) { if (n[t]) { for (var i = [], a = 0, r = n[t].length; a < r; a++)n[t][a]['h'] != e && i.push(n[t][a]); n[t] = i }n[t] && n[t].length === 0 && delete n[t] } else delete n[t]; return this }, trigger: function (t) { if (this._$handlers[t]) { var e = arguments, i = e.length; i > 3 && (e = n.call(e, 1)); for (var a = this._$handlers[t], r = a.length, o = 0; o < r;) { switch (i) { case 1:a[o]['h'].call(a[o]['ctx']); break; case 2:a[o]['h'].call(a[o]['ctx'], e[1]); break; case 3:a[o]['h'].call(a[o]['ctx'], e[1], e[2]); break; default:a[o]['h'].apply(a[o]['ctx'], e); break }a[o]['one'] ? (a.splice(o, 1), r--) : o++ } } return this }, triggerWithContext: function (t) { if (this._$handlers[t]) { var e = arguments, i = e.length; i > 4 && (e = n.call(e, 1, e.length - 1)); for (var a = e[e.length - 1], r = this._$handlers[t], o = r.length, s = 0; s < o;) { switch (i) { case 1:r[s]['h'].call(a); break; case 2:r[s]['h'].call(a, e[1]); break; case 3:r[s]['h'].call(a, e[1], e[2]); break; default:r[s]['h'].apply(a, e); break }r[s]['one'] ? (r.splice(s, 1), o--) : s++ } } return this }}; var a = i; t.exports = a }, 2023: function (t, e, n) { var i = n('6d8b'), a = (n('697e'), {getMin: function (t) { var e = this.option, n = t || e.rangeStart == null ? e.min : e.rangeStart; return this.axis && n != null && n !== 'dataMin' && typeof n !== 'function' && !i.eqNaN(n) && (n = this.axis.scale.parse(n)), n }, getMax: function (t) { var e = this.option, n = t || e.rangeEnd == null ? e.max : e.rangeEnd; return this.axis && n != null && n !== 'dataMax' && typeof n !== 'function' && !i.eqNaN(n) && (n = this.axis.scale.parse(n)), n }, getNeedCrossZero: function () { var t = this.option; return t.rangeStart == null && t.rangeEnd == null && !t.scale }, getCoordSysModel: i.noop, setRange: function (t, e) { this.option.rangeStart = t, this.option.rangeEnd = e }, resetRange: function () { this.option.rangeStart = this.option.rangeEnd = null }}); t.exports = a }, 2039: function (t, e, n) { var i = n('6d8b'), a = {}; function r () { this._coordinateSystems = [] }r.prototype = {constructor: r, create: function (t, e) { var n = []; i.each(a, function (i, a) { var r = i.create(t, e); n = n.concat(r || []) }), this._coordinateSystems = n }, update: function (t, e) { i.each(this._coordinateSystems, function (n) { n.update && n.update(t, e) }) }, getCoordinateSystems: function () { return this._coordinateSystems.slice() }}, r.register = function (t, e) { a[t] = e }, r.get = function (t) { return a[t] }; var o = r; t.exports = o }, '20c8': function (t, e, n) { var i = n('4a3f'), a = n('401b'), r = n('e263'), o = n('9850'), s = n('2cf4'), l = s.devicePixelRatio, u = {M: 1, L: 2, C: 3, Q: 4, A: 5, Z: 6, R: 7}, c = [], h = [], d = [], f = [], p = Math.min, g = Math.max, m = Math.cos, v = Math.sin, y = Math.sqrt, x = Math.abs, _ = typeof Float32Array !== 'undefined', b = function (t) { this._saveData = !t, this._saveData && (this.data = []), this._ctx = null }; b.prototype = {constructor: b, _xi: 0, _yi: 0, _x0: 0, _y0: 0, _ux: 0, _uy: 0, _len: 0, _lineDash: null, _dashOffset: 0, _dashIdx: 0, _dashSum: 0, setScale: function (t, e) { this._ux = x(1 / l / t) || 0, this._uy = x(1 / l / e) || 0 }, getContext: function () { return this._ctx }, beginPath: function (t) { return this._ctx = t, t && t.beginPath(), t && (this.dpr = t.dpr), this._saveData && (this._len = 0), this._lineDash && (this._lineDash = null, this._dashOffset = 0), this }, moveTo: function (t, e) { return this.addData(u.M, t, e), this._ctx && this._ctx.moveTo(t, e), this._x0 = t, this._y0 = e, this._xi = t, this._yi = e, this }, lineTo: function (t, e) { var n = x(t - this._xi) > this._ux || x(e - this._yi) > this._uy || this._len < 5; return this.addData(u.L, t, e), this._ctx && n && (this._needsDash() ? this._dashedLineTo(t, e) : this._ctx.lineTo(t, e)), n && (this._xi = t, this._yi = e), this }, bezierCurveTo: function (t, e, n, i, a, r) { return this.addData(u.C, t, e, n, i, a, r), this._ctx && (this._needsDash() ? this._dashedBezierTo(t, e, n, i, a, r) : this._ctx.bezierCurveTo(t, e, n, i, a, r)), this._xi = a, this._yi = r, this }, quadraticCurveTo: function (t, e, n, i) { return this.addData(u.Q, t, e, n, i), this._ctx && (this._needsDash() ? this._dashedQuadraticTo(t, e, n, i) : this._ctx.quadraticCurveTo(t, e, n, i)), this._xi = n, this._yi = i, this }, arc: function (t, e, n, i, a, r) { return this.addData(u.A, t, e, n, n, i, a - i, 0, r ? 0 : 1), this._ctx && this._ctx.arc(t, e, n, i, a, r), this._xi = m(a) * n + t, this._yi = v(a) * n + t, this }, arcTo: function (t, e, n, i, a) { return this._ctx && this._ctx.arcTo(t, e, n, i, a), this }, rect: function (t, e, n, i) { return this._ctx && this._ctx.rect(t, e, n, i), this.addData(u.R, t, e, n, i), this }, closePath: function () { this.addData(u.Z); var t = this._ctx, e = this._x0, n = this._y0; return t && (this._needsDash() && this._dashedLineTo(e, n), t.closePath()), this._xi = e, this._yi = n, this }, fill: function (t) { t && t.fill(), this.toStatic() }, stroke: function (t) { t && t.stroke(), this.toStatic() }, setLineDash: function (t) { if (t instanceof Array) { this._lineDash = t, this._dashIdx = 0; for (var e = 0, n = 0; n < t.length; n++)e += t[n]; this._dashSum = e } return this }, setLineDashOffset: function (t) { return this._dashOffset = t, this }, len: function () { return this._len }, setData: function (t) { var e = t.length; this.data && this.data.length == e || !_ || (this.data = new Float32Array(e)); for (var n = 0; n < e; n++) this.data[n] = t[n]; this._len = e }, appendPath: function (t) { t instanceof Array || (t = [t]); for (var e = t.length, n = 0, i = this._len, a = 0; a < e; a++)n += t[a].len(); _ && this.data instanceof Float32Array && (this.data = new Float32Array(i + n)); for (a = 0; a < e; a++) for (var r = t[a].data, o = 0; o < r.length; o++) this.data[i++] = r[o]; this._len = i }, addData: function (t) { if (this._saveData) { var e = this.data; this._len + arguments.length > e.length && (this._expandData(), e = this.data); for (var n = 0; n < arguments.length; n++)e[this._len++] = arguments[n]; this._prevCmd = t } }, _expandData: function () { if (!(this.data instanceof Array)) { for (var t = [], e = 0; e < this._len; e++)t[e] = this.data[e]; this.data = t } }, _needsDash: function () { return this._lineDash }, _dashedLineTo: function (t, e) { var n, i, a = this._dashSum, r = this._dashOffset, o = this._lineDash, s = this._ctx, l = this._xi, u = this._yi, c = t - l, h = e - u, d = y(c * c + h * h), f = l, m = u, v = o.length; c /= d, h /= d, r < 0 && (r = a + r), r %= a, f -= r * c, m -= r * h; while (c > 0 && f <= t || c < 0 && f >= t || c == 0 && (h > 0 && m <= e || h < 0 && m >= e))i = this._dashIdx, n = o[i], f += c * n, m += h * n, this._dashIdx = (i + 1) % v, c > 0 && f < l || c < 0 && f > l || h > 0 && m < u || h < 0 && m > u || s[i % 2 ? 'moveTo' : 'lineTo'](c >= 0 ? p(f, t) : g(f, t), h >= 0 ? p(m, e) : g(m, e)); c = f - t, h = m - e, this._dashOffset = -y(c * c + h * h) }, _dashedBezierTo: function (t, e, n, a, r, o) { var s, l, u, c, h, d = this._dashSum, f = this._dashOffset, p = this._lineDash, g = this._ctx, m = this._xi, v = this._yi, x = i.cubicAt, _ = 0, b = this._dashIdx, w = p.length, S = 0; for (f < 0 && (f = d + f), f %= d, s = 0; s < 1; s += 0.1)l = x(m, t, n, r, s + 0.1) - x(m, t, n, r, s), u = x(v, e, a, o, s + 0.1) - x(v, e, a, o, s), _ += y(l * l + u * u); for (;b < w; b++) if (S += p[b], S > f) break; s = (S - f) / _; while (s <= 1)c = x(m, t, n, r, s), h = x(v, e, a, o, s), b % 2 ? g.moveTo(c, h) : g.lineTo(c, h), s += p[b] / _, b = (b + 1) % w; b % 2 !== 0 && g.lineTo(r, o), l = r - c, u = o - h, this._dashOffset = -y(l * l + u * u) }, _dashedQuadraticTo: function (t, e, n, i) { var a = n, r = i; n = (n + 2 * t) / 3, i = (i + 2 * e) / 3, t = (this._xi + 2 * t) / 3, e = (this._yi + 2 * e) / 3, this._dashedBezierTo(t, e, n, i, a, r) }, toStatic: function () { var t = this.data; t instanceof Array && (t.length = this._len, _ && (this.data = new Float32Array(t))) }, getBoundingRect: function () { c[0] = c[1] = d[0] = d[1] = Number.MAX_VALUE, h[0] = h[1] = f[0] = f[1] = -Number.MAX_VALUE; for (var t = this.data, e = 0, n = 0, i = 0, s = 0, l = 0; l < t.length;) { var p = t[l++]; switch (l == 1 && (e = t[l], n = t[l + 1], i = e, s = n), p) { case u.M:i = t[l++], s = t[l++], e = i, n = s, d[0] = i, d[1] = s, f[0] = i, f[1] = s; break; case u.L:r.fromLine(e, n, t[l], t[l + 1], d, f), e = t[l++], n = t[l++]; break; case u.C:r.fromCubic(e, n, t[l++], t[l++], t[l++], t[l++], t[l], t[l + 1], d, f), e = t[l++], n = t[l++]; break; case u.Q:r.fromQuadratic(e, n, t[l++], t[l++], t[l], t[l + 1], d, f), e = t[l++], n = t[l++]; break; case u.A:var g = t[l++], y = t[l++], x = t[l++], _ = t[l++], b = t[l++], w = t[l++] + b, S = (t[l++], 1 - t[l++]); l == 1 && (i = m(b) * x + g, s = v(b) * _ + y), r.fromArc(g, y, x, _, b, w, S, d, f), e = m(w) * x + g, n = v(w) * _ + y; break; case u.R:i = e = t[l++], s = n = t[l++]; var M = t[l++], I = t[l++]; r.fromLine(i, s, i + M, s + I, d, f); break; case u.Z:e = i, n = s; break }a.min(c, c, d), a.max(h, h, f) } return l === 0 && (c[0] = c[1] = h[0] = h[1] = 0), new o(c[0], c[1], h[0] - c[0], h[1] - c[1]) }, rebuildPath: function (t) { for (var e, n, i, a, r, o, s = this.data, l = this._ux, c = this._uy, h = this._len, d = 0; d < h;) { var f = s[d++]; switch (d == 1 && (i = s[d], a = s[d + 1], e = i, n = a), f) { case u.M:e = i = s[d++], n = a = s[d++], t.moveTo(i, a); break; case u.L:r = s[d++], o = s[d++], (x(r - i) > l || x(o - a) > c || d === h - 1) && (t.lineTo(r, o), i = r, a = o); break; case u.C:t.bezierCurveTo(s[d++], s[d++], s[d++], s[d++], s[d++], s[d++]), i = s[d - 2], a = s[d - 1]; break; case u.Q:t.quadraticCurveTo(s[d++], s[d++], s[d++], s[d++]), i = s[d - 2], a = s[d - 1]; break; case u.A:var p = s[d++], g = s[d++], y = s[d++], _ = s[d++], b = s[d++], w = s[d++], S = s[d++], M = s[d++], I = y > _ ? y : _, A = y > _ ? 1 : y / _, T = y > _ ? _ / y : 1, C = Math.abs(y - _) > 0.001, D = b + w; C ? (t.translate(p, g), t.rotate(S), t.scale(A, T), t.arc(0, 0, I, b, D, 1 - M), t.scale(1 / A, 1 / T), t.rotate(-S), t.translate(-p, -g)) : t.arc(p, g, I, b, D, 1 - M), d == 1 && (e = m(b) * y + p, n = v(b) * _ + g), i = m(D) * y + p, a = v(D) * _ + g; break; case u.R:e = i = s[d], n = a = s[d + 1], t.rect(s[d++], s[d++], s[d++], s[d++]); break; case u.Z:t.closePath(), i = e, a = n } } }}, b.CMD = u; var w = b; t.exports = w }, 2145: function (t, e) { var n = {}; function i (t, e) { n[t] = e } function a (t) { return n[t] }e.register = i, e.get = a }, 2163: function (t, e, n) { var i = n('4f85'), a = n('06c7'), r = n('eda2'), o = r.encodeHTML, s = i.extend({type: 'series.tree', layoutInfo: null, layoutMode: 'box', getInitialData: function (t) { var e = {name: t.name, children: t.data}, n = t.leaves || {}, i = {}; i.leaves = n; var r = a.createTree(e, this, i), o = 0; r.eachNode('preorder', function (t) { t.depth > o && (o = t.depth) }); var s = t.expandAndCollapse, l = s && t.initialTreeDepth >= 0 ? t.initialTreeDepth : o; return r.root.eachNode('preorder', function (t) { var e = t.hostTree.data.getRawDataItem(t.dataIndex); t.isExpand = e && e.collapsed != null ? !e.collapsed : t.depth <= l }), r.data }, getOrient: function () { var t = this.get('orient'); return t === 'horizontal' ? t = 'LR' : t === 'vertical' && (t = 'TB'), t }, formatTooltip: function (t) { var e = this.getData().tree, n = e.root.children[0], i = e.getNodeByDataIndex(t), a = i.getValue(), r = i.name; while (i && i !== n)r = i.parentNode.name + '.' + r, i = i.parentNode; return o(r + (isNaN(a) || a == null ? '' : ' : ' + a)) }, defaultOption: {zlevel: 0, z: 2, left: '12%', top: '12%', right: '12%', bottom: '12%', layout: 'orthogonal', orient: 'LR', symbol: 'emptyCircle', symbolSize: 7, expandAndCollapse: !0, initialTreeDepth: 2, lineStyle: {color: '#ccc', width: 1.5, curveness: 0.5}, itemStyle: {color: 'lightsteelblue', borderColor: '#c23531', borderWidth: 1.5}, label: {show: !0, color: '#555'}, leaves: {label: {show: !0}}, animationEasing: 'linear', animationDuration: 700, animationDurationUpdate: 1e3}}); t.exports = s }, '216a': function (t, e, n) { var i = n('6d8b'), a = n('3842'), r = n('eda2'), o = n('944e'), s = n('89e3'), l = s.prototype, u = Math.ceil, c = Math.floor, h = 1e3, d = 60 * h, f = 60 * d, p = 24 * f, g = function (t, e, n, i) { while (n < i) { var a = n + i >>> 1; t[a][1] < e ? n = a + 1 : i = a } return n }, m = s.extend({type: 'time', getLabel: function (t) { var e = this._stepLvl, n = new Date(t); return r.formatTime(e[0], n, this.getSetting('useUTC')) }, niceExtent: function (t) { var e = this._extent; if (e[0] === e[1] && (e[0] -= p, e[1] += p), e[1] === -1 / 0 && e[0] === 1 / 0) { var n = new Date(); e[1] = +new Date(n.getFullYear(), n.getMonth(), n.getDate()), e[0] = e[1] - p } this.niceTicks(t.splitNumber, t.minInterval, t.maxInterval); var i = this._interval; t.fixMin || (e[0] = a.round(c(e[0] / i) * i)), t.fixMax || (e[1] = a.round(u(e[1] / i) * i)) }, niceTicks: function (t, e, n) { t = t || 10; var i = this._extent, r = i[1] - i[0], s = r / t; e != null && s < e && (s = e), n != null && s > n && (s = n); var l = v.length, h = g(v, s, 0, l), d = v[Math.min(h, l - 1)], f = d[1]; if (d[0] === 'year') { var p = r / f, m = a.nice(p / t, !0); f *= m } var y = this.getSetting('useUTC') ? 0 : 60 * new Date(+i[0] || +i[1]).getTimezoneOffset() * 1e3, x = [Math.round(u((i[0] - y) / f) * f + y), Math.round(c((i[1] - y) / f) * f + y)]; o.fixExtent(x, i), this._stepLvl = d, this._interval = f, this._niceExtent = x }, parse: function (t) { return +a.parseDate(t) }}); i.each(['contain', 'normalize'], function (t) { m.prototype[t] = function (e) { return l[t].call(this, this.parse(e)) } }); var v = [['hh:mm:ss', h], ['hh:mm:ss', 5 * h], ['hh:mm:ss', 10 * h], ['hh:mm:ss', 15 * h], ['hh:mm:ss', 30 * h], ['hh:mm\nMM-dd', d], ['hh:mm\nMM-dd', 5 * d], ['hh:mm\nMM-dd', 10 * d], ['hh:mm\nMM-dd', 15 * d], ['hh:mm\nMM-dd', 30 * d], ['hh:mm\nMM-dd', f], ['hh:mm\nMM-dd', 2 * f], ['hh:mm\nMM-dd', 6 * f], ['hh:mm\nMM-dd', 12 * f], ['MM-dd\nyyyy', p], ['MM-dd\nyyyy', 2 * p], ['MM-dd\nyyyy', 3 * p], ['MM-dd\nyyyy', 4 * p], ['MM-dd\nyyyy', 5 * p], ['MM-dd\nyyyy', 6 * p], ['week', 7 * p], ['MM-dd\nyyyy', 10 * p], ['week', 14 * p], ['week', 21 * p], ['month', 31 * p], ['week', 42 * p], ['month', 62 * p], ['week', 42 * p], ['quarter', 380 * p / 4], ['month', 31 * p * 4], ['month', 31 * p * 5], ['half-year', 380 * p / 2], ['month', 31 * p * 8], ['month', 31 * p * 10], ['year', 380 * p]]; m.create = function (t) { return new m({useUTC: t.ecModel.get('useUTC')}) }; var y = m; t.exports = y }, '217b': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('3301')), r = n('4f85'), o = r.extend({type: 'series.line', dependencies: ['grid', 'polar'], getInitialData: function (t, e) { return a(this.getSource(), this) }, defaultOption: {zlevel: 0, z: 2, coordinateSystem: 'cartesian2d', legendHoverLink: !0, hoverAnimation: !0, clipOverflow: !0, label: {position: 'top'}, lineStyle: {width: 2, type: 'solid'}, step: !1, smooth: !1, smoothMonotone: null, symbol: 'emptyCircle', symbolSize: 4, symbolRotate: null, showSymbol: !0, showAllSymbol: 'auto', connectNulls: !1, sampling: 'none', animationEasing: 'linear', progressive: 0, hoverLayerThreshold: 1 / 0}}); t.exports = o }, '217c': function (t, e, n) { var i = n('6d8b'), a = n('6cb7'); n('df3a'); var r = a.extend({type: 'parallel', dependencies: ['parallelAxis'], coordinateSystem: null, dimensions: null, parallelAxisIndex: null, layoutMode: 'box', defaultOption: {zlevel: 0, z: 0, left: 80, top: 60, right: 80, bottom: 60, layout: 'horizontal', axisExpandable: !1, axisExpandCenter: null, axisExpandCount: 0, axisExpandWidth: 50, axisExpandRate: 17, axisExpandDebounce: 50, axisExpandSlideTriggerArea: [-0.15, 0.05, 0.4], axisExpandTriggerOn: 'click', parallelAxisDefault: null}, init: function () { a.prototype.init.apply(this, arguments), this.mergeOption({}) }, mergeOption: function (t) { var e = this.option; t && i.merge(e, t, !0), this._initDimensions() }, contains: function (t, e) { var n = t.get('parallelIndex'); return n != null && e.getComponent('parallel', n) === this }, setAxisExpand: function (t) { i.each(['axisExpandable', 'axisExpandCenter', 'axisExpandCount', 'axisExpandWidth', 'axisExpandWindow'], function (e) { t.hasOwnProperty(e) && (this.option[e] = t[e]) }, this) }, _initDimensions: function () { var t = this.dimensions = [], e = this.parallelAxisIndex = [], n = i.filter(this.dependentModels.parallelAxis, function (t) { return (t.get('parallelIndex') || 0) === this.componentIndex }, this); i.each(n, function (n) { t.push('dim' + n.get('dim')), e.push(n.componentIndex) }) }}); t.exports = r }, '22d1': function (t, e) { var n = {}; n = typeof wx === 'object' && typeof wx.getSystemInfoSync === 'function' ? {browser: {}, os: {}, node: !1, wxa: !0, canvasSupported: !0, svgSupported: !1, touchEventsSupported: !0} : typeof document === 'undefined' && typeof self !== 'undefined' ? {browser: {}, os: {}, node: !1, worker: !0, canvasSupported: !0} : typeof navigator === 'undefined' ? {browser: {}, os: {}, node: !0, worker: !1, canvasSupported: !0, svgSupported: !0} : a(navigator.userAgent); var i = n; function a (t) { var e = {}, n = {}, i = t.match(/Firefox\/([\d.]+)/), a = t.match(/MSIE\s([\d.]+)/) || t.match(/Trident\/.+?rv:(([\d.]+))/), r = t.match(/Edge\/([\d.]+)/), o = /micromessenger/i.test(t); return i && (n.firefox = !0, n.version = i[1]), a && (n.ie = !0, n.version = a[1]), r && (n.edge = !0, n.version = r[1]), o && (n.weChat = !0), {browser: n, os: e, node: !1, canvasSupported: !!document.createElement('canvas').getContext, svgSupported: typeof SVGRect !== 'undefined', touchEventsSupported: 'ontouchstart' in window && !n.ie && !n.edge, pointerEventsSupported: 'onpointerdown' in window && (n.edge || n.ie && n.version >= 11)} }t.exports = i }, '22da': function (t, e, n) { var i = n('f934'); function a (t) { t.hierNode = {defaultAncestor: null, ancestor: t, prelim: 0, modifier: 0, change: 0, shift: 0, i: 0, thread: null}; var e, n, i = [t]; while (e = i.pop()) if (n = e.children, e.isExpand && n.length) for (var a = n.length, r = a - 1; r >= 0; r--) { var o = n[r]; o.hierNode = {defaultAncestor: null, ancestor: o, prelim: 0, modifier: 0, change: 0, shift: 0, i: r, thread: null}, i.push(o) } } function r (t, e) { var n = t.isExpand ? t.children : [], i = t.parentNode.children, a = t.hierNode.i ? i[t.hierNode.i - 1] : null; if (n.length) { c(t); var r = (n[0].hierNode.prelim + n[n.length - 1].hierNode.prelim) / 2; a ? (t.hierNode.prelim = a.hierNode.prelim + e(t, a), t.hierNode.modifier = t.hierNode.prelim - r) : t.hierNode.prelim = r } else a && (t.hierNode.prelim = a.hierNode.prelim + e(t, a)); t.parentNode.hierNode.defaultAncestor = h(t, a, t.parentNode.hierNode.defaultAncestor || i[0], e) } function o (t) { var e = t.hierNode.prelim + t.parentNode.hierNode.modifier; t.setLayout({x: e}, !0), t.hierNode.modifier += t.parentNode.hierNode.modifier } function s (t) { return arguments.length ? t : m } function l (t, e) { var n = {}; return t -= Math.PI / 2, n.x = e * Math.cos(t), n.y = e * Math.sin(t), n } function u (t, e) { return i.getLayoutRect(t.getBoxLayoutParams(), {width: e.getWidth(), height: e.getHeight()}) } function c (t) { var e = t.children, n = e.length, i = 0, a = 0; while (--n >= 0) { var r = e[n]; r.hierNode.prelim += i, r.hierNode.modifier += i, a += r.hierNode.change, i += r.hierNode.shift + a } } function h (t, e, n, i) { if (e) { var a = t, r = t, o = r.parentNode.children[0], s = e, l = a.hierNode.modifier, u = r.hierNode.modifier, c = o.hierNode.modifier, h = s.hierNode.modifier; while (s = d(s), r = f(r), s && r) { a = d(a), o = f(o), a.hierNode.ancestor = t; var m = s.hierNode.prelim + h - r.hierNode.prelim - u + i(s, r); m > 0 && (g(p(s, t, n), t, m), u += m, l += m), h += s.hierNode.modifier, u += r.hierNode.modifier, l += a.hierNode.modifier, c += o.hierNode.modifier }s && !d(a) && (a.hierNode.thread = s, a.hierNode.modifier += h - l), r && !f(o) && (o.hierNode.thread = r, o.hierNode.modifier += u - c, n = t) } return n } function d (t) { var e = t.children; return e.length && t.isExpand ? e[e.length - 1] : t.hierNode.thread } function f (t) { var e = t.children; return e.length && t.isExpand ? e[0] : t.hierNode.thread } function p (t, e, n) { return t.hierNode.ancestor.parentNode === e.parentNode ? t.hierNode.ancestor : n } function g (t, e, n) { var i = n / (e.hierNode.i - t.hierNode.i); e.hierNode.change -= i, e.hierNode.shift += n, e.hierNode.modifier += n, e.hierNode.prelim += n, t.hierNode.change += i } function m (t, e) { return t.parentNode === e.parentNode ? 1 : 2 }e.init = a, e.firstWalk = r, e.secondWalk = o, e.separation = s, e.radialCoordinate = l, e.getViewRect = u }, 2306: function (t, e, n) { var i = n('6d8b'), a = n('342d'), r = n('41ef'), o = n('1687'), s = n('401b'), l = n('cbe5'), u = n('0cde'), c = n('0da8'); e.Image = c; var h = n('e1fc'); e.Group = h; var d = n('76a5'); e.Text = d; var f = n('d9fc'); e.Circle = f; var p = n('4aa2'); e.Sector = p; var g = n('4573'); e.Ring = g; var m = n('87b1'); e.Polygon = m; var v = n('d498'); e.Polyline = v; var y = n('c7a2'); e.Rect = y; var x = n('cb11'); e.Line = x; var _ = n('ac0f'); e.BezierCurve = _; var b = n('8d32'); e.Arc = b; var w = n('d4c6'); e.CompoundPath = w; var S = n('48a9'); e.LinearGradient = S; var M = n('dded'); e.RadialGradient = M; var I = n('9850'); e.BoundingRect = I; var A = n('392f'); e.IncrementalDisplayable = A; var T = Math.round, C = Math.max, D = Math.min, L = {}; function P (t) { return l.extend(t) } function k (t, e) { return a.extendFromString(t, e) } function O (t, e, n, i) { var r = a.createFromString(t, e), o = r.getBoundingRect(); return n && (i === 'center' && (n = E(n, o)), z(r, n)), r } function R (t, e, n) { var i = new c({style: {image: t, x: e.x, y: e.y, width: e.width, height: e.height}, onload: function (t) { if (n === 'center') { var a = {width: t.width, height: t.height}; i.setStyle(E(e, a)) } }}); return i } function E (t, e) { var n, i = e.width / e.height, a = t.height * i; a <= t.width ? n = t.height : (a = t.width, n = a / i); var r = t.x + t.width / 2, o = t.y + t.height / 2; return {x: r - a / 2, y: o - n / 2, width: a, height: n} } var N = a.mergePath; function z (t, e) { if (t.applyTransform) { var n = t.getBoundingRect(), i = n.calculateTransform(e); t.applyTransform(i) } } function V (t) { var e = t.shape, n = t.style.lineWidth; return T(2 * e.x1) === T(2 * e.x2) && (e.x1 = e.x2 = G(e.x1, n, !0)), T(2 * e.y1) === T(2 * e.y2) && (e.y1 = e.y2 = G(e.y1, n, !0)), t } function B (t) { var e = t.shape, n = t.style.lineWidth, i = e.x, a = e.y, r = e.width, o = e.height; return e.x = G(e.x, n, !0), e.y = G(e.y, n, !0), e.width = Math.max(G(i + r, n, !1) - e.x, r === 0 ? 0 : 1), e.height = Math.max(G(a + o, n, !1) - e.y, o === 0 ? 0 : 1), t } function G (t, e, n) { var i = T(2 * t); return (i + T(e)) % 2 === 0 ? i / 2 : (i + (n ? 1 : -1)) / 2 } function F (t) { return t != null && t != 'none' } function H (t) { return typeof t === 'string' ? r.lift(t, -0.1) : t } function W (t) { if (t.__hoverStlDirty) { var e = t.style.stroke, n = t.style.fill, i = t.__hoverStl; i.fill = i.fill || (F(n) ? H(n) : null), i.stroke = i.stroke || (F(e) ? H(e) : null); var a = {}; for (var r in i)i[r] != null && (a[r] = t.style[r]); t.__normalStl = a, t.__hoverStlDirty = !1 } } function U (t) { if (!t.__isHover) { if (W(t), t.useHoverLayer)t.__zr && t.__zr.addHover(t, t.__hoverStl); else { var e = t.style, n = e.insideRollbackOpt; n && lt(e), e.extendFrom(t.__hoverStl), n && (st(e, e.insideOriginalTextPosition, n), e.textFill == null && (e.textFill = n.autoColor)), t.dirty(!1), t.z2 += 1 }t.__isHover = !0 } } function Z (t) { if (t.__isHover) { var e = t.__normalStl; t.useHoverLayer ? t.__zr && t.__zr.removeHover(t) : (e && t.setStyle(e), t.z2 -= 1), t.__isHover = !1 } } function j (t) { t.type === 'group' ? t.traverse(function (t) { t.type !== 'group' && U(t) }) : U(t) } function Y (t) { t.type === 'group' ? t.traverse(function (t) { t.type !== 'group' && Z(t) }) : Z(t) } function q (t, e) { t.__hoverStl = t.hoverStyle || e || {}, t.__hoverStlDirty = !0, t.__isHover && W(t) } function X (t) { this.__hoverSilentOnTouch && t.zrByTouch || !this.__isEmphasis && j(this) } function $ (t) { this.__hoverSilentOnTouch && t.zrByTouch || !this.__isEmphasis && Y(this) } function K () { this.__isEmphasis = !0, j(this) } function J () { this.__isEmphasis = !1, Y(this) } function Q (t, e, n) { t.__hoverSilentOnTouch = n && n.hoverSilentOnTouch, t.type === 'group' ? t.traverse(function (t) { t.type !== 'group' && q(t, e) }) : q(t, e), t.on('mouseover', X).on('mouseout', $), t.on('emphasis', K).on('normal', J) } function tt (t, e, n, a, r, o, s) { r = r || L; var l, u = r.labelFetcher, c = r.labelDataIndex, h = r.labelDimIndex, d = n.getShallow('show'), f = a.getShallow('show'); (d || f) && (u && (l = u.getFormattedLabel(c, 'normal', null, h)), l == null && (l = i.isFunction(r.defaultText) ? r.defaultText(c, r) : r.defaultText)); var p = d ? l : null, g = f ? i.retrieve2(u ? u.getFormattedLabel(c, 'emphasis', null, h) : null, l) : null; p == null && g == null || (et(t, n, o, r), et(e, a, s, r, !0)), t.text = p, e.text = g } function et (t, e, n, a, r) { return it(t, e, a, r), n && i.extend(t, n), t.host && t.host.dirty && t.host.dirty(!1), t } function nt (t, e, n) { var i, a = {isRectText: !0}; !1 === n ? i = !0 : a.autoColor = n, it(t, e, a, i), t.host && t.host.dirty && t.host.dirty(!1) } function it (t, e, n, a) { if (n = n || L, n.isRectText) { var r = e.getShallow('position') || (a ? null : 'inside'); r === 'outside' && (r = 'top'), t.textPosition = r, t.textOffset = e.getShallow('offset'); var o = e.getShallow('rotate'); o != null && (o *= Math.PI / 180), t.textRotation = o, t.textDistance = i.retrieve2(e.getShallow('distance'), a ? null : 5) } var s, l = e.ecModel, u = l && l.option.textStyle, c = at(e); if (c) for (var h in s = {}, c) if (c.hasOwnProperty(h)) { var d = e.getModel(['rich', h]); rt(s[h] = {}, d, u, n, a) } return t.rich = s, rt(t, e, u, n, a, !0), n.forceRich && !n.textStyle && (n.textStyle = {}), t } function at (t) { var e; while (t && t !== t.ecModel) { var n = (t.option || L).rich; if (n) for (var i in e = e || {}, n)n.hasOwnProperty(i) && (e[i] = 1); t = t.parentModel } return e } function rt (t, e, n, a, r, o) { if (n = !r && n || L, t.textFill = ot(e.getShallow('color'), a) || n.color, t.textStroke = ot(e.getShallow('textBorderColor'), a) || n.textBorderColor, t.textStrokeWidth = i.retrieve2(e.getShallow('textBorderWidth'), n.textBorderWidth), !r) { if (o) { var s = t.textPosition; t.insideRollback = st(t, s, a), t.insideOriginalTextPosition = s, t.insideRollbackOpt = a }t.textFill == null && (t.textFill = a.autoColor) }t.fontStyle = e.getShallow('fontStyle') || n.fontStyle, t.fontWeight = e.getShallow('fontWeight') || n.fontWeight, t.fontSize = e.getShallow('fontSize') || n.fontSize, t.fontFamily = e.getShallow('fontFamily') || n.fontFamily, t.textAlign = e.getShallow('align'), t.textVerticalAlign = e.getShallow('verticalAlign') || e.getShallow('baseline'), t.textLineHeight = e.getShallow('lineHeight'), t.textWidth = e.getShallow('width'), t.textHeight = e.getShallow('height'), t.textTag = e.getShallow('tag'), o && a.disableBox || (t.textBackgroundColor = ot(e.getShallow('backgroundColor'), a), t.textPadding = e.getShallow('padding'), t.textBorderColor = ot(e.getShallow('borderColor'), a), t.textBorderWidth = e.getShallow('borderWidth'), t.textBorderRadius = e.getShallow('borderRadius'), t.textBoxShadowColor = e.getShallow('shadowColor'), t.textBoxShadowBlur = e.getShallow('shadowBlur'), t.textBoxShadowOffsetX = e.getShallow('shadowOffsetX'), t.textBoxShadowOffsetY = e.getShallow('shadowOffsetY')), t.textShadowColor = e.getShallow('textShadowColor') || n.textShadowColor, t.textShadowBlur = e.getShallow('textShadowBlur') || n.textShadowBlur, t.textShadowOffsetX = e.getShallow('textShadowOffsetX') || n.textShadowOffsetX, t.textShadowOffsetY = e.getShallow('textShadowOffsetY') || n.textShadowOffsetY } function ot (t, e) { return t !== 'auto' ? t : e && e.autoColor ? e.autoColor : null } function st (t, e, n) { var i, a = n.useInsideStyle; return t.textFill == null && !1 !== a && (!0 === a || n.isRectText && e && typeof e === 'string' && e.indexOf('inside') >= 0) && (i = {textFill: null, textStroke: t.textStroke, textStrokeWidth: t.textStrokeWidth}, t.textFill = '#fff', t.textStroke == null && (t.textStroke = n.autoColor, t.textStrokeWidth == null && (t.textStrokeWidth = 2))), i } function lt (t) { var e = t.insideRollback; e && (t.textFill = e.textFill, t.textStroke = e.textStroke, t.textStrokeWidth = e.textStrokeWidth) } function ut (t, e) { var n = e || e.getModel('textStyle'); return i.trim([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 ct (t, e, n, i, a, r) { typeof a === 'function' && (r = a, a = null); var o = i && i.isAnimationEnabled(); if (o) { var s = t ? 'Update' : '', l = i.getShallow('animationDuration' + s), u = i.getShallow('animationEasing' + s), c = i.getShallow('animationDelay' + s); typeof c === 'function' && (c = c(a, i.getAnimationDelayParams ? i.getAnimationDelayParams(e, a) : null)), typeof l === 'function' && (l = l(a)), l > 0 ? e.animateTo(n, l, c || 0, u, r, !!r) : (e.stopAnimation(), e.attr(n), r && r()) } else e.stopAnimation(), e.attr(n), r && r() } function ht (t, e, n, i, a) { ct(!0, t, e, n, i, a) } function dt (t, e, n, i, a) { ct(!1, t, e, n, i, a) } function ft (t, e) { var n = o.identity([]); while (t && t !== e)o.mul(n, t.getLocalTransform(), n), t = t.parent; return n } function pt (t, e, n) { return e && !i.isArrayLike(e) && (e = u.getLocalTransform(e)), n && (e = o.invert([], e)), s.applyTransform([], t, e) } function gt (t, e, n) { var i = e[4] === 0 || e[5] === 0 || e[0] === 0 ? 1 : Math.abs(2 * e[4] / e[0]), a = e[4] === 0 || e[5] === 0 || e[2] === 0 ? 1 : Math.abs(2 * e[4] / e[2]), r = [t === 'left' ? -i : t === 'right' ? i : 0, t === 'top' ? -a : t === 'bottom' ? a : 0]; return r = pt(r, e, n), Math.abs(r[0]) > Math.abs(r[1]) ? r[0] > 0 ? 'right' : 'left' : r[1] > 0 ? 'bottom' : 'top' } function mt (t, e, n, a) { if (t && e) { var r = o(t); e.traverse(function (t) { if (!t.isGroup && t.anid) { var e = r[t.anid]; if (e) { var i = l(t); t.attr(l(e)), ht(t, i, n, t.dataIndex) } } }) } function o (t) { var e = {}; return t.traverse(function (t) { !t.isGroup && t.anid && (e[t.anid] = t) }), e } function l (t) { var e = {position: s.clone(t.position), rotation: t.rotation}; return t.shape && (e.shape = i.extend({}, t.shape)), e } } function vt (t, e) { return i.map(t, function (t) { var n = t[0]; n = C(n, e.x), n = D(n, e.x + e.width); var i = t[1]; return i = C(i, e.y), i = D(i, e.y + e.height), [n, i] }) } function yt (t, e) { var n = C(t.x, e.x), i = D(t.x + t.width, e.x + e.width), a = C(t.y, e.y), r = D(t.y + t.height, e.y + e.height); if (i >= n && r >= a) return {x: n, y: a, width: i - n, height: r - a} } function xt (t, e, n) { e = i.extend({rectHover: !0}, e); var a = e.style = {strokeNoScale: !0}; if (n = n || {x: -1, y: -1, width: 2, height: 2}, t) return t.indexOf('image://') === 0 ? (a.image = t.slice(8), i.defaults(a, n), new c(e)) : O(t.replace('path://', ''), e, n, 'center') }e.extendShape = P, e.extendPath = k, e.makePath = O, e.makeImage = R, e.mergePath = N, e.resizePath = z, e.subPixelOptimizeLine = V, e.subPixelOptimizeRect = B, e.subPixelOptimize = G, e.setHoverStyle = Q, e.setLabelStyle = tt, e.setTextStyle = et, e.setText = nt, e.getFont = ut, e.updateProps = ht, e.initProps = dt, e.getTransform = ft, e.applyTransform = pt, e.transformDirection = gt, e.groupTransition = mt, e.clipPointsByRect = vt, e.clipRectByRect = yt, e.createIcon = xt }, 2325: function (t, e, n) { var i = n('6d8b'), a = n('607d'), r = n('2306'), o = n('88b3'), s = n('7dcf'), l = n('3842'), u = n('f934'), c = n('ef6a'), h = r.Rect, d = l.linearMap, f = l.asc, p = i.bind, g = i.each, m = 7, v = 1, y = 30, x = 'horizontal', _ = 'vertical', b = 5, w = ['line', 'bar', 'candlestick', 'scatter'], S = s.extend({type: 'dataZoom.slider', init: function (t, e) { this._displayables = {}, this._orient, this._range, this._handleEnds, this._size, this._handleWidth, this._handleHeight, this._location, this._dragging, this._dataShadowInfo, this.api = e }, render: function (t, e, n, i) { S.superApply(this, 'render', arguments), o.createOrUpdate(this, '_dispatchZoomAction', this.dataZoomModel.get('throttle'), 'fixRate'), this._orient = t.get('orient'), !1 !== this.dataZoomModel.get('show') ? (i && i.type === 'dataZoom' && i.from === this.uid || this._buildView(), this._updateView()) : this.group.removeAll() }, remove: function () { S.superApply(this, 'remove', arguments), o.clear(this, '_dispatchZoomAction') }, dispose: function () { S.superApply(this, 'dispose', arguments), o.clear(this, '_dispatchZoomAction') }, _buildView: function () { var t = this.group; t.removeAll(), this._resetLocation(), this._resetInterval(); var e = this._displayables.barGroup = new r.Group(); this._renderBackground(), this._renderHandle(), this._renderDataShadow(), t.add(e), this._positionGroup() }, _resetLocation: function () { var t = this.dataZoomModel, e = this.api, n = this._findCoordRect(), a = {width: e.getWidth(), height: e.getHeight()}, r = this._orient === x ? {right: a.width - n.x - n.width, top: a.height - y - m, width: n.width, height: y} : {right: m, top: n.y, width: y, height: n.height}, o = u.getLayoutParams(t.option); i.each(['right', 'top', 'width', 'height'], function (t) { o[t] === 'ph' && (o[t] = r[t]) }); var s = u.getLayoutRect(o, a, t.padding); this._location = {x: s.x, y: s.y}, this._size = [s.width, s.height], this._orient === _ && this._size.reverse() }, _positionGroup: function () { var t = this.group, e = this._location, n = this._orient, i = this.dataZoomModel.getFirstTargetAxisModel(), a = i && i.get('inverse'), r = this._displayables.barGroup, o = (this._dataShadowInfo || {}).otherAxisInverse; r.attr(n !== x || a ? n === x && a ? {scale: o ? [-1, 1] : [-1, -1]} : n !== _ || a ? {scale: o ? [-1, -1] : [-1, 1], rotation: Math.PI / 2} : {scale: o ? [1, -1] : [1, 1], rotation: Math.PI / 2} : {scale: o ? [1, 1] : [1, -1]}); var s = t.getBoundingRect([r]); t.attr('position', [e.x - s.x, e.y - s.y]) }, _getViewExtent: function () { return [0, this._size[0]] }, _renderBackground: function () { var t = this.dataZoomModel, e = this._size, n = this._displayables.barGroup; n.add(new h({silent: !0, shape: {x: 0, y: 0, width: e[0], height: e[1]}, style: {fill: t.get('backgroundColor')}, z2: -40})), n.add(new h({shape: {x: 0, y: 0, width: e[0], height: e[1]}, style: {fill: 'transparent'}, z2: 0, onclick: i.bind(this._onClickPanelClick, this)})) }, _renderDataShadow: function () { var t = this._dataShadowInfo = this._prepareDataShadowInfo(); if (t) { var e = this._size, n = t.series, a = n.getRawData(), o = n.getShadowDim ? n.getShadowDim() : t.otherDim; if (o != null) { var s = a.getDataExtent(o), l = 0.3 * (s[1] - s[0]); s = [s[0] - l, s[1] + l]; var u, c = [0, e[1]], h = [0, e[0]], f = [[e[0], 0], [0, 0]], p = [], g = h[1] / (a.count() - 1), m = 0, v = Math.round(a.count() / e[0]); a.each([o], function (t, e) { if (v > 0 && e % v)m += g; else { var n = t == null || isNaN(t) || t === '', i = n ? 0 : d(t, s, c, !0); n && !u && e ? (f.push([f[f.length - 1][0], 0]), p.push([p[p.length - 1][0], 0])) : !n && u && (f.push([m, 0]), p.push([m, 0])), f.push([m, i]), p.push([m, i]), m += g, u = n } }); var y = this.dataZoomModel; this._displayables.barGroup.add(new r.Polygon({shape: {points: f}, style: i.defaults({fill: y.get('dataBackgroundColor')}, y.getModel('dataBackground.areaStyle').getAreaStyle()), silent: !0, z2: -20})), this._displayables.barGroup.add(new r.Polyline({shape: {points: p}, style: y.getModel('dataBackground.lineStyle').getLineStyle(), silent: !0, z2: -19})) } } }, _prepareDataShadowInfo: function () { var t = this.dataZoomModel, e = t.get('showDataShadow'); if (!1 !== e) { var n, a = this.ecModel; return t.eachTargetAxis(function (r, o) { var s = t.getAxisProxy(r.name, o).getTargetSeriesModels(); i.each(s, function (t) { if (!n && !(!0 !== e && i.indexOf(w, t.get('type')) < 0)) { var s, l = a.getComponent(r.axis, o).axis, u = M(r.name), c = t.coordinateSystem; u != null && c.getOtherAxis && (s = c.getOtherAxis(l).inverse), u = t.getData().mapDimension(u), n = {thisAxis: l, series: t, thisDim: r.name, otherDim: u, otherAxisInverse: s} } }, this) }, this), n } }, _renderHandle: function () { var t = this._displayables, e = t.handles = [], n = t.handleLabels = [], i = this._displayables.barGroup, o = this._size, s = this.dataZoomModel; i.add(t.filler = new h({draggable: !0, cursor: I(this._orient), drift: p(this._onDragMove, this, 'all'), onmousemove: function (t) { a.stop(t.event) }, ondragstart: p(this._showDataInfo, this, !0), ondragend: p(this._onDragEnd, this), onmouseover: p(this._showDataInfo, this, !0), onmouseout: p(this._showDataInfo, this, !1), style: {fill: s.get('fillerColor'), textPosition: 'inside'}})), i.add(new h(r.subPixelOptimizeRect({silent: !0, shape: {x: 0, y: 0, width: o[0], height: o[1]}, style: {stroke: s.get('dataBackgroundColor') || s.get('borderColor'), lineWidth: v, fill: 'rgba(0,0,0,0)'}}))), g([0, 1], function (t) { var o = r.createIcon(s.get('handleIcon'), {cursor: I(this._orient), draggable: !0, drift: p(this._onDragMove, this, t), onmousemove: function (t) { a.stop(t.event) }, ondragend: p(this._onDragEnd, this), onmouseover: p(this._showDataInfo, this, !0), onmouseout: p(this._showDataInfo, this, !1)}, {x: -1, y: 0, width: 2, height: 2}), u = o.getBoundingRect(); this._handleHeight = l.parsePercent(s.get('handleSize'), this._size[1]), this._handleWidth = u.width / u.height * this._handleHeight, o.setStyle(s.getModel('handleStyle').getItemStyle()); var c = s.get('handleColor'); c != null && (o.style.fill = c), i.add(e[t] = o); var h = s.textStyleModel; this.group.add(n[t] = new r.Text({silent: !0, invisible: !0, style: {x: 0, y: 0, text: '', textVerticalAlign: 'middle', textAlign: 'center', textFill: h.getTextColor(), textFont: h.getFont()}, z2: 10})) }, this) }, _resetInterval: function () { var t = this._range = this.dataZoomModel.getPercentRange(), e = this._getViewExtent(); this._handleEnds = [d(t[0], [0, 100], e, !0), d(t[1], [0, 100], e, !0)] }, _updateInterval: function (t, e) { var n = this.dataZoomModel, i = this._handleEnds, a = this._getViewExtent(), r = n.findRepresentativeAxisProxy().getMinMaxSpan(), o = [0, 100]; c(e, i, a, n.get('zoomLock') ? 'all' : t, r.minSpan != null ? d(r.minSpan, o, a, !0) : null, r.maxSpan != null ? d(r.maxSpan, o, a, !0) : null); var s = this._range, l = this._range = f([d(i[0], a, o, !0), d(i[1], a, o, !0)]); return !s || s[0] !== l[0] || s[1] !== l[1] }, _updateView: function (t) { var e = this._displayables, n = this._handleEnds, i = f(n.slice()), a = this._size; g([0, 1], function (t) { var i = e.handles[t], r = this._handleHeight; i.attr({scale: [r / 2, r / 2], position: [n[t], a[1] / 2 - r / 2]}) }, this), e.filler.setShape({x: i[0], y: 0, width: i[1] - i[0], height: a[1]}), this._updateDataInfo(t) }, _updateDataInfo: function (t) { var e = this.dataZoomModel, n = this._displayables, i = n.handleLabels, a = this._orient, o = ['', '']; if (e.get('showDetail')) { var s = e.findRepresentativeAxisProxy(); if (s) { var l = s.getAxisModel().axis, u = this._range, c = t ? s.calculateDataWindow({start: u[0], end: u[1]}).valueWindow : s.getDataValueWindow(); o = [this._formatLabel(c[0], l), this._formatLabel(c[1], l)] } } var h = f(this._handleEnds.slice()); function d (t) { var e = r.getTransform(n.handles[t].parent, this.group), s = r.transformDirection(t === 0 ? 'right' : 'left', e), l = this._handleWidth / 2 + b, u = r.applyTransform([h[t] + (t === 0 ? -l : l), this._size[1] / 2], e); i[t].setStyle({x: u[0], y: u[1], textVerticalAlign: a === x ? 'middle' : s, textAlign: a === x ? s : 'center', text: o[t]}) }d.call(this, 0), d.call(this, 1) }, _formatLabel: function (t, e) { var n = this.dataZoomModel, a = n.get('labelFormatter'), r = n.get('labelPrecision'); r != null && r !== 'auto' || (r = e.getPixelPrecision()); var o = t == null || isNaN(t) ? '' : e.type === 'category' || e.type === 'time' ? e.scale.getLabel(Math.round(t)) : t.toFixed(Math.min(r, 20)); return i.isFunction(a) ? a(t, o) : i.isString(a) ? a.replace('{value}', o) : o }, _showDataInfo: function (t) { t = this._dragging || t; var e = this._displayables.handleLabels; e[0].attr('invisible', !t), e[1].attr('invisible', !t) }, _onDragMove: function (t, e, n) { this._dragging = !0; var i = this._displayables.barGroup.getLocalTransform(), a = r.applyTransform([e, n], i, !0), o = this._updateInterval(t, a[0]), s = this.dataZoomModel.get('realtime'); this._updateView(!s), o && s && this._dispatchZoomAction() }, _onDragEnd: function () { this._dragging = !1, this._showDataInfo(!1); var t = this.dataZoomModel.get('realtime'); !t && this._dispatchZoomAction() }, _onClickPanelClick: function (t) { var e = this._size, n = this._displayables.barGroup.transformCoordToLocal(t.offsetX, t.offsetY); if (!(n[0] < 0 || n[0] > e[0] || n[1] < 0 || n[1] > e[1])) { var i = this._handleEnds, a = (i[0] + i[1]) / 2, r = this._updateInterval('all', n[0] - a); this._updateView(), r && this._dispatchZoomAction() } }, _dispatchZoomAction: function () { var t = this._range; this.api.dispatchAction({type: 'dataZoom', from: this.uid, dataZoomId: this.dataZoomModel.id, start: t[0], end: t[1]}) }, _findCoordRect: function () { var t; if (g(this.getTargetCoordInfo(), function (e) { if (!t && e.length) { var n = e[0].model.coordinateSystem; t = n.getRect && n.getRect() } }), !t) { var e = this.api.getWidth(), n = this.api.getHeight(); t = {x: 0.2 * e, y: 0.2 * n, width: 0.6 * e, height: 0.6 * n} } return t }}); function M (t) { var e = {x: 'y', y: 'x', radius: 'angle', angle: 'radius'}; return e[t] } function I (t) { return t === 'vertical' ? 'ns-resize' : 'ew-resize' } var A = S; t.exports = A }, '237f': function (t, e, n) { var i = n('6d8b'), a = n('6179'), r = n('7368'), o = n('31d9'), s = n('b1d4'), l = n('2039'), u = n('3301'); function c (t, e, n, c, h) { for (var d = new r(c), f = 0; f < t.length; f++)d.addNode(i.retrieve(t[f].id, t[f].name, f), f); var p = [], g = [], m = 0; for (f = 0; f < e.length; f++) { var v = e[f], y = v.source, x = v.target; d.addEdge(y, x, m) && (g.push(v), p.push(i.retrieve(v.id, y + ' > ' + x)), m++) } var _, b = n.get('coordinateSystem'); if (b === 'cartesian2d' || b === 'polar')_ = u(t, n); else { var w = l.get(b), S = w && w.type !== 'view' && w.dimensions || []; i.indexOf(S, 'value') < 0 && S.concat(['value']); var M = s(t, {coordDimensions: S}); _ = new a(M, n), _.initData(t) } var I = new a(['value'], n); return I.initData(g, p), h && h(_, I), o({mainData: _, struct: d, structAttr: 'graph', datas: {node: _, edge: I}, datasAttr: {node: 'data', edge: 'edgeData'}}), d.update(), d }t.exports = c }, '23e0': function (t, e, n) { var i = n('6d8b'), a = n('7887'), r = n('89e3'), o = n('3842'), s = n('697e'), l = s.getScaleExtent, u = s.niceScaleExtent, c = n('2039'); function h (t, e, n) { this._model = t, this.dimensions = [], this._indicatorAxes = i.map(t.getIndicatorModels(), function (t, e) { var n = 'indicator_' + e, i = new a(n, new r()); return i.name = t.get('name'), i.model = t, t.axis = i, this.dimensions.push(n), i }, this), this.resize(t, n), this.cx, this.cy, this.r, this.startAngle }h.prototype.getIndicatorAxes = function () { return this._indicatorAxes }, h.prototype.dataToPoint = function (t, e) { var n = this._indicatorAxes[e]; return this.coordToPoint(n.dataToCoord(t), e) }, h.prototype.coordToPoint = function (t, e) { var n = this._indicatorAxes[e], i = n.angle, a = this.cx + t * Math.cos(i), r = this.cy - t * Math.sin(i); return [a, r] }, h.prototype.pointToData = function (t) { var e = t[0] - this.cx, n = t[1] - this.cy, i = Math.sqrt(e * e + n * n); e /= i, n /= i; for (var a, r = Math.atan2(-n, e), o = 1 / 0, s = -1, l = 0; l < this._indicatorAxes.length; l++) { var u = this._indicatorAxes[l], c = Math.abs(r - u.angle); c < o && (a = u, s = l, o = c) } return [s, +(a && a.coodToData(i))] }, h.prototype.resize = function (t, e) { var n = t.get('center'), a = e.getWidth(), r = e.getHeight(), s = Math.min(a, r) / 2; this.cx = o.parsePercent(n[0], a), this.cy = o.parsePercent(n[1], r), this.startAngle = t.get('startAngle') * Math.PI / 180, this.r = o.parsePercent(t.get('radius'), s), i.each(this._indicatorAxes, function (t, e) { t.setExtent(0, this.r); var n = this.startAngle + e * Math.PI * 2 / this._indicatorAxes.length; n = Math.atan2(Math.sin(n), Math.cos(n)), t.angle = n }, this) }, h.prototype.update = function (t, e) { var n = this._indicatorAxes, a = this._model; i.each(n, function (t) { t.scale.setExtent(1 / 0, -1 / 0) }), t.eachSeriesByType('radar', function (e, r) { if (e.get('coordinateSystem') === 'radar' && t.getComponent('radar', e.get('radarIndex')) === a) { var o = e.getData(); i.each(n, function (t) { t.scale.unionExtentFromData(o, o.mapDimension(t.dim)) }) } }, this); var r = a.get('splitNumber'); function s (t) { var e = Math.pow(10, Math.floor(Math.log(t) / Math.LN10)), n = t / e; return n === 2 ? n = 5 : n *= 2, n * e }i.each(n, function (t, e) { var n = l(t.scale, t.model); u(t.scale, t.model); var i = t.model, a = t.scale, c = i.getMin(), h = i.getMax(), d = a.getInterval(); if (c != null && h != null)a.setExtent(+c, +h), a.setInterval((h - c) / r); else if (c != null) { var f; do { f = c + d * r, a.setExtent(+c, f), a.setInterval(d), d = s(d) } while (f < n[1] && isFinite(f) && isFinite(n[1])) } else if (h != null) { var p; do { p = h - d * r, a.setExtent(p, +h), a.setInterval(d), d = s(d) } while (p > n[0] && isFinite(p) && isFinite(n[0])) } else { var g = a.getTicks().length - 1; g > r && (d = s(d)); var m = Math.round((n[0] + n[1]) / 2 / d) * d, v = Math.round(r / 2); a.setExtent(o.round(m - v * d), o.round(m + (r - v) * d)), a.setInterval(d) } }) }, h.dimensions = [], h.create = function (t, e) { var n = []; return t.eachComponent('radar', function (i) { var a = new h(i, t, e); n.push(a), i.coordinateSystem = a }), t.eachSeriesByType('radar', function (t) { t.get('coordinateSystem') === 'radar' && (t.coordinateSystem = n[t.get('radarIndex') || 0]) }), n }, c.register('radar', h); var d = h; t.exports = d }, '23ee': function (t, e, n) { var i = n('3eba'); n('879e'), n('9704'), n('d747'); var a = n('675a'), r = n('7f96'), o = n('2943'), s = n('de6e'), l = n('d357'), u = n('adda'), c = n('5866'), h = n('7b0c'); i.registerProcessor(a), i.registerVisual(r('graph', 'circle', null)), i.registerVisual(o), i.registerVisual(s), i.registerLayout(l), i.registerLayout(u), i.registerLayout(c), i.registerCoordinateSystem('graphView', {create: h}) }, 2449: function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('3eba')), r = n('6d8b'), o = n('22d1'), s = n('e0d3'), l = n('eda2'), u = n('38a2'), c = l.addCommas, h = l.encodeHTML; function d (t) { s.defaultEmphasis(t, 'label', ['show']) } var f = a.extendComponentModel({type: 'marker', dependencies: ['series', 'grid', 'polar', 'geo'], init: function (t, e, n, i) { this.mergeDefaultAndTheme(t, n), this.mergeOption(t, n, i.createdBySelf, !0) }, isAnimationEnabled: function () { if (o.node) return !1; var t = this.__hostSeries; return this.getShallow('animation') && t && t.isAnimationEnabled() }, mergeOption: function (t, e, n, i) { var a = this.constructor, o = this.mainType + 'Model'; n || e.eachSeries(function (t) { var n = t.get(this.mainType, !0), s = t[o]; n && n.data ? (s ? s.mergeOption(n, e, !0) : (i && d(n), r.each(n.data, function (t) { t instanceof Array ? (d(t[0]), d(t[1])) : d(t) }), s = new a(n, this, e), r.extend(s, {mainType: this.mainType, seriesIndex: t.seriesIndex, name: t.name, createdBySelf: !0}), s.__hostSeries = t), t[o] = s) : t[o] = null }, this) }, formatTooltip: function (t) { var e = this.getData(), n = this.getRawValue(t), i = r.isArray(n) ? r.map(n, c).join(', ') : c(n), a = e.getName(t), o = h(this.name); return (n != null || a) && (o += '<br />'), a && (o += h(a), n != null && (o += ' : ')), n != null && (o += h(i)), o }, getData: function () { return this._data }, setData: function (t) { this._data = t }}); r.mixin(f, u); var p = f; t.exports = p }, '24b9': function (t, e, n) { var i = n('f934'), a = n('3842'), r = a.parsePercent, o = a.linearMap; function s (t, e) { return i.getLayoutRect(t.getBoxLayoutParams(), {width: e.getWidth(), height: e.getHeight()}) } function l (t, e) { for (var n = t.mapDimension('value'), i = t.mapArray(n, function (t) { return t }), a = [], r = e === 'ascending', o = 0, s = t.count(); o < s; o++)a[o] = o; return typeof e === 'function' ? a.sort(e) : e !== 'none' && a.sort(function (t, e) { return r ? i[t] - i[e] : i[e] - i[t] }), a } function u (t) { t.each(function (e) { var n, i, a, r, o = t.getItemModel(e), s = o.getModel('label'), l = s.get('position'), u = o.getModel('labelLine'), c = t.getItemLayout(e), h = c.points, d = l === 'inner' || l === 'inside' || l === 'center'; if (d)i = (h[0][0] + h[1][0] + h[2][0] + h[3][0]) / 4, a = (h[0][1] + h[1][1] + h[2][1] + h[3][1]) / 4, n = 'center', r = [[i, a], [i, a]]; else { var f, p, g, m = u.get('length'); l === 'left' ? (f = (h[3][0] + h[0][0]) / 2, p = (h[3][1] + h[0][1]) / 2, g = f - m, i = g - 5, n = 'right') : (f = (h[1][0] + h[2][0]) / 2, p = (h[1][1] + h[2][1]) / 2, g = f + m, i = g + 5, n = 'left'); var v = p; r = [[f, p], [g, v]], a = v }c.label = {linePoints: r, x: i, y: a, verticalAlign: 'middle', textAlign: n, inside: d} }) } function c (t, e, n) { t.eachSeriesByType('funnel', function (t) { var n = t.getData(), i = n.mapDimension('value'), a = t.get('sort'), c = s(t, e), h = l(n, a), d = [r(t.get('minSize'), c.width), r(t.get('maxSize'), c.width)], f = n.getDataExtent(i), p = t.get('min'), g = t.get('max'); p == null && (p = Math.min(f[0], 0)), g == null && (g = f[1]); var m = t.get('funnelAlign'), v = t.get('gap'), y = (c.height - v * (n.count() - 1)) / n.count(), x = c.y, _ = function (t, e) { var a, r = n.get(i, t) || 0, s = o(r, [p, g], d, !0); switch (m) { case 'left':a = c.x; break; case 'center':a = c.x + (c.width - s) / 2; break; case 'right':a = c.x + c.width - s; break } return [[a, e], [a + s, e]] }; a === 'ascending' && (y = -y, v = -v, x += c.height, h = h.reverse()); for (var b = 0; b < h.length; b++) { var w = h[b], S = h[b + 1], M = n.getItemModel(w), I = M.get('itemStyle.height'); I == null ? I = y : (I = r(I, c.height), a === 'ascending' && (I = -I)); var A = _(w, x), T = _(S, x + I); x += I + v, n.setItemLayout(w, {points: A.concat(T.slice().reverse())}) }u(n) }) }t.exports = c }, '255c': function (t, e, n) { var i = n('3eba'), a = n('d4d1'), r = a.Polygon, o = n('2306'), s = n('6d8b'), l = s.bind, u = s.extend, c = n('80f0'), h = i.extendChartView({type: 'themeRiver', init: function () { this._layers = [] }, render: function (t, e, n) { var i = t.getData(), a = this.group, s = t.getLayerSeries(), h = i.getLayout('layoutInfo'), f = h.rect, p = h.boundaryGap; function g (t) { return t.name }a.attr('position', [0, f.y + p[0]]); var m = new c(this._layersSeries || [], s, g, g), v = {}; function y (e, n, l) { var c = this._layers; if (e !== 'remove') { for (var h, f, p, g = [], m = [], y = s[n].indices, x = 0; x < y.length; x++) { var _ = i.getItemLayout(y[x]), b = _.x, w = _.y0, S = _.y; g.push([b, w]), m.push([b, w + S]), h = i.getItemVisual(y[x], 'color') } var M = i.getItemLayout(y[0]), I = i.getItemModel(y[x - 1]), A = I.getModel('label'), T = A.get('margin'); if (e === 'add') { var C = v[n] = new o.Group(); f = new r({shape: {points: g, stackedOnPoints: m, smooth: 0.4, stackedOnSmooth: 0.4, smoothConstraint: !1}, z2: 0}), p = new o.Text({style: {x: M.x - T, y: M.y0 + M.y / 2}}), C.add(f), C.add(p), a.add(C), f.setClipPath(d(f.getBoundingRect(), t, function () { f.removeClipPath() })) } else { C = c[l]; f = C.childAt(0), p = C.childAt(1), a.add(C), v[n] = C, o.updateProps(f, {shape: {points: g, stackedOnPoints: m}}, t), o.updateProps(p, {style: {x: M.x - T, y: M.y0 + M.y / 2}}, t) } var D = I.getModel('emphasis.itemStyle'), L = I.getModel('itemStyle'); o.setTextStyle(p.style, A, {text: A.get('show') ? t.getFormattedLabel(y[x - 1], 'normal') || i.getName(y[x - 1]) : null, textVerticalAlign: 'middle'}), f.setStyle(u({fill: h}, L.getItemStyle(['color']))), o.setHoverStyle(f, D.getItemStyle()) } else a.remove(c[n]) }m.add(l(y, this, 'add')).update(l(y, this, 'update')).remove(l(y, this, 'remove')).execute(), this._layersSeries = s, this._layers = v }, dispose: function () {}}); function d (t, e, n) { var i = new o.Rect({shape: {x: t.x - 10, y: t.y - 10, width: 0, height: t.height + 20}}); return o.initProps(i, {shape: {width: t.width + 20, height: t.height + 20}}, e, n), i }t.exports = h }, '26e1': function (t, e, n) { var i = n('6d8b'), a = n('e0d3'), r = i.each, o = i.isObject, s = ['areaStyle', 'lineStyle', 'nodeStyle', 'linkStyle', 'chordStyle', 'label', 'labelLine']; function l (t) { var e = t && t.itemStyle; if (e) for (var n = 0, a = s.length; n < a; n++) { var r = s[n], o = e.normal, l = e.emphasis; o && o[r] && (t[r] = t[r] || {}, t[r].normal ? i.merge(t[r].normal, o[r]) : t[r].normal = o[r], o[r] = null), l && l[r] && (t[r] = t[r] || {}, t[r].emphasis ? i.merge(t[r].emphasis, l[r]) : t[r].emphasis = l[r], l[r] = null) } } function u (t, e, n) { if (t && t[e] && (t[e].normal || t[e].emphasis)) { var a = t[e].normal, r = t[e].emphasis; a && (n ? (t[e].normal = t[e].emphasis = null, i.defaults(t[e], a)) : t[e] = a), r && (t.emphasis = t.emphasis || {}, t.emphasis[e] = r) } } function c (t) { u(t, 'itemStyle'), u(t, 'lineStyle'), u(t, 'areaStyle'), u(t, 'label'), u(t, 'labelLine'), u(t, 'upperLabel'), u(t, 'edgeLabel') } function h (t, e) { var n = o(t) && t[e], i = o(n) && n.textStyle; if (i) for (var r = 0, s = a.TEXT_STYLE_OPTIONS.length; r < s; r++) { e = a.TEXT_STYLE_OPTIONS[r]; i.hasOwnProperty(e) && (n[e] = i[e]) } } function d (t) { t && (c(t), h(t, 'label'), t.emphasis && h(t.emphasis, 'label')) } function f (t) { if (o(t)) { l(t), c(t), h(t, 'label'), h(t, 'upperLabel'), h(t, 'edgeLabel'), t.emphasis && (h(t.emphasis, 'label'), h(t.emphasis, 'upperLabel'), h(t.emphasis, 'edgeLabel')); var e = t.markPoint; e && (l(e), d(e)); var n = t.markLine; n && (l(n), d(n)); var a = t.markArea; a && d(a); var r = t.data; if (t.type === 'graph') { r = r || t.nodes; var s = t.links || t.edges; if (s && !i.isTypedArray(s)) for (var f = 0; f < s.length; f++)d(s[f]); i.each(t.categories, function (t) { c(t) }) } if (r && !i.isTypedArray(r)) for (f = 0; f < r.length; f++)d(r[f]); e = t.markPoint; if (e && e.data) { var p = e.data; for (f = 0; f < p.length; f++)d(p[f]) }n = t.markLine; if (n && n.data) { var g = n.data; for (f = 0; f < g.length; f++)i.isArray(g[f]) ? (d(g[f][0]), d(g[f][1])) : d(g[f]) }t.type === 'gauge' ? (h(t, 'axisLabel'), h(t, 'title'), h(t, 'detail')) : t.type === 'treemap' ? (u(t.breadcrumb, 'itemStyle'), i.each(t.levels, function (t) { c(t) })) : t.type === 'tree' && c(t.leaves) } } function p (t) { return i.isArray(t) ? t : t ? [t] : [] } function g (t) { return (i.isArray(t) ? t[0] : t) || {} } function m (t, e) { r(p(t.series), function (t) { o(t) && f(t) }); var n = ['xAxis', 'yAxis', 'radiusAxis', 'angleAxis', 'singleAxis', 'parallelAxis', 'radar']; e && n.push('valueAxis', 'categoryAxis', 'logAxis', 'timeAxis'), r(n, function (e) { r(p(t[e]), function (t) { t && (h(t, 'axisLabel'), h(t.axisPointer, 'label')) }) }), r(p(t.parallel), function (t) { var e = t && t.parallelAxisDefault; h(e, 'axisLabel'), h(e && e.axisPointer, 'label') }), r(p(t.calendar), function (t) { u(t, 'itemStyle'), h(t, 'dayLabel'), h(t, 'monthLabel'), h(t, 'yearLabel') }), r(p(t.radar), function (t) { h(t, 'name') }), r(p(t.geo), function (t) { o(t) && (d(t), r(p(t.regions), function (t) { d(t) })) }), r(p(t.timeline), function (t) { d(t), u(t, 'label'), u(t, 'itemStyle'), u(t, 'controlStyle', !0); var e = t.data; i.isArray(e) && i.each(e, function (t) { i.isObject(t) && (u(t, 'label'), u(t, 'itemStyle')) }) }), r(p(t.toolbox), function (t) { u(t, 'iconStyle'), r(t.feature, function (t) { u(t, 'iconStyle') }) }), h(g(t.axisPointer), 'label'), h(g(t.tooltip).axisPointer, 'label') }t.exports = m }, '282b': function (t, e, n) { var i = n('6d8b'); function a (t) { for (var e = 0; e < t.length; e++)t[e][1] || (t[e][1] = t[e][0]); return function (e, n, a) { for (var r = {}, o = 0; o < t.length; o++) { var s = t[o][1]; if (!(n && i.indexOf(n, s) >= 0 || a && i.indexOf(a, s) < 0)) { var l = e.getShallow(s); l != null && (r[t[o][0]] = l) } } return r } }t.exports = a }, '292e': function (t, e, n) { var i = n('3842'), a = i.parsePercent, r = i.linearMap, o = n('bb70'), s = n('6d8b'), l = 2 * Math.PI, u = Math.PI / 180; function c (t, e, n, i) { e.eachSeriesByType(t, function (t) { var e = t.getData(), i = e.mapDimension('value'), c = t.get('center'), h = t.get('radius'); s.isArray(h) || (h = [0, h]), s.isArray(c) || (c = [c, c]); var d = n.getWidth(), f = n.getHeight(), p = Math.min(d, f), g = a(c[0], d), m = a(c[1], f), v = a(h[0], p / 2), y = a(h[1], p / 2), x = -t.get('startAngle') * u, _ = t.get('minAngle') * u, b = 0; e.each(i, function (t) { !isNaN(t) && b++ }); var w = e.getSum(i), S = Math.PI / (w || b) * 2, M = t.get('clockwise'), I = t.get('roseType'), A = t.get('stillShowZeroSum'), T = e.getDataExtent(i); T[0] = 0; var C = l, D = 0, L = x, P = M ? 1 : -1; if (e.each(i, function (t, n) { var i; if (isNaN(t))e.setItemLayout(n, {angle: NaN, startAngle: NaN, endAngle: NaN, clockwise: M, cx: g, cy: m, r0: v, r: I ? NaN : y}); else { i = I !== 'area' ? w === 0 && A ? S : t * S : l / b, i < _ ? (i = _, C -= _) : D += t; var a = L + P * i; e.setItemLayout(n, {angle: i, startAngle: L, endAngle: a, clockwise: M, cx: g, cy: m, r0: v, r: I ? r(t, T, [v, y]) : y}), L = a } }), C < l && b) if (C <= 0.001) { var k = l / b; e.each(i, function (t, n) { if (!isNaN(t)) { var i = e.getItemLayout(n); i.angle = k, i.startAngle = x + P * n * k, i.endAngle = x + P * (n + 1) * k } }) } else S = C / D, L = x, e.each(i, function (t, n) { if (!isNaN(t)) { var i = e.getItemLayout(n), a = i.angle === _ ? _ : t * S; i.startAngle = L, i.endAngle = L + P * a, L += P * a } }); o(t, y, d, f) }) }t.exports = c }, 2943: function (t, e) { function n (t) { var e = {}; t.eachSeriesByType('graph', function (t) { var n = t.getCategoriesData(), i = t.getData(), a = {}; n.each(function (i) { var r = n.getName(i); a['ec-' + r] = i; var o = n.getItemModel(i), s = o.get('itemStyle.color') || t.getColorFromPalette(r, e); n.setItemVisual(i, 'color', s) }), n.count() && i.each(function (t) { var e = i.getItemModel(t), r = e.getShallow('category'); r != null && (typeof r === 'string' && (r = a['ec-' + r]), i.getItemVisual(t, 'color', !0) || i.setItemVisual(t, 'color', n.getItemVisual(r, 'color'))) }) }) }t.exports = n }, '29a8': function (t, e) { var n = {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: ''}}}}; t.exports = n }, '29a9': function (t, e, n) { var i = n('3eba'), a = n('b336'); n('bc5f'), n('ab05'), n('06ea'), n('004f'), n('d6ef'), i.registerPreprocessor(a) }, '2b17': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = (a.isTypedArray, a.extend), o = (a.assert, a.each), s = a.isObject, l = n('e0d3'), u = l.getDataItemValue, c = l.isDataItemOption, h = n('3842'), d = h.parseDate, f = n('ec6f'), p = n('93d0'), g = p.SOURCE_FORMAT_TYPED_ARRAY, m = p.SOURCE_FORMAT_ARRAY_ROWS, v = p.SOURCE_FORMAT_ORIGINAL, y = p.SOURCE_FORMAT_OBJECT_ROWS; function x (t, e) { f.isInstance(t) || (t = f.seriesDataToSource(t)), this._source = t; var n = this._data = t.data, i = t.sourceFormat; i === g && (this._offset = 0, this._dimSize = e, this._data = n); var a = b[i === m ? i + '_' + t.seriesLayoutBy : i]; r(this, a) } var _ = x.prototype; _.pure = !1, _.persistent = !0, _.getSource = function () { return this._source }; var b = {arrayRows_column: {pure: !0, count: function () { return Math.max(0, this._data.length - this._source.startIndex) }, getItem: function (t) { return this._data[t + this._source.startIndex] }, appendData: M}, arrayRows_row: {pure: !0, count: function () { var t = this._data[0]; return t ? Math.max(0, t.length - this._source.startIndex) : 0 }, getItem: function (t) { t += this._source.startIndex; for (var e = [], n = this._data, i = 0; i < n.length; i++) { var a = n[i]; e.push(a ? a[t] : null) } return e }, appendData: function () { throw new Error('Do not support appendData when set seriesLayoutBy: "row".') }}, objectRows: {pure: !0, count: w, getItem: S, appendData: M}, keyedColumns: {pure: !0, count: function () { var t = this._source.dimensionsDefine[0].name, e = this._data[t]; return e ? e.length : 0 }, getItem: function (t) { for (var e = [], n = this._source.dimensionsDefine, i = 0; i < n.length; i++) { var a = this._data[n[i].name]; e.push(a ? a[t] : null) } return e }, appendData: function (t) { var e = this._data; o(t, function (t, n) { for (var i = e[n] || (e[n] = []), a = 0; a < (t || []).length; a++)i.push(t[a]) }) }}, original: {count: w, getItem: S, appendData: M}, typedArray: {persistent: !1, pure: !0, count: function () { return this._data ? this._data.length / this._dimSize : 0 }, getItem: function (t, e) { t -= this._offset, e = e || []; for (var n = this._dimSize * t, i = 0; i < this._dimSize; i++)e[i] = this._data[n + i]; return e }, appendData: function (t) { this._data = t }, clean: function () { this._offset += this.count(), this._data = null }}}; function w () { return this._data.length } function S (t) { return this._data[t] } function M (t) { for (var e = 0; e < t.length; e++) this._data.push(t[e]) } var I = {arrayRows: A, objectRows: function (t, e, n, i) { return n != null ? t[i] : t }, keyedColumns: A, original: function (t, e, n, i) { var a = u(t); return n != null && a instanceof Array ? a[n] : a }, typedArray: A}; function A (t, e, n, i) { return n != null ? t[n] : t } var T = {arrayRows: C, objectRows: function (t, e, n, i) { return D(t[e], this._dimensionInfos[e]) }, keyedColumns: C, original: function (t, e, n, i) { var a = t && (t.value == null ? t : t.value); return !this._rawData.pure && c(t) && (this.hasItemOption = !0), D(a instanceof Array ? a[i] : a, this._dimensionInfos[e]) }, typedArray: function (t, e, n, i) { return t[i] }}; function C (t, e, n, i) { return D(t[i], this._dimensionInfos[e]) } function D (t, e) { var n = e && e.type; if (n === 'ordinal') { var i = e && e.ordinalMeta; return i ? i.parseAndCollect(t) : t } return n === 'time' && typeof t !== 'number' && t != null && t !== '-' && (t = +d(t)), t == null || t === '' ? NaN : +t } function L (t, e, n) { if (t) { var i = t.getRawDataItem(e); if (i != null) { var a, r, o = t.getProvider().getSource().sourceFormat, s = t.getDimensionInfo(n); return s && (a = s.name, r = s.index), I[o](i, e, r, a) } } } function P (t, e, n) { if (t) { var i = t.getProvider().getSource().sourceFormat; if (i === v || i === y) { var a = t.getRawDataItem(e); return i !== v || s(a) || (a = null), a ? a[n] : void 0 } } }e.DefaultDataProvider = x, e.defaultDimValueGetters = T, e.retrieveRawValue = L, e.retrieveRawAttr = P }, '2b61': function (t, e, n) { var i = n('7d6d'), a = [['shadowBlur', 0], ['shadowOffsetX', 0], ['shadowOffsetY', 0], ['shadowColor', '#000'], ['lineCap', 'butt'], ['lineJoin', 'miter'], ['miterLimit', 10]], r = function (t, e) { this.extendFrom(t, !1), this.host = e }; function o (t, e, n) { var i = e.x == null ? 0 : e.x, a = e.x2 == null ? 1 : e.x2, r = e.y == null ? 0 : e.y, o = e.y2 == null ? 0 : e.y2; e.global || (i = i * n.width + n.x, a = a * n.width + n.x, r = r * n.height + n.y, o = o * n.height + n.y), i = isNaN(i) ? 0 : i, a = isNaN(a) ? 1 : a, r = isNaN(r) ? 0 : r, o = isNaN(o) ? 0 : o; var s = t.createLinearGradient(i, r, a, o); return s } function s (t, e, n) { var i = n.width, a = n.height, r = Math.min(i, a), o = e.x == null ? 0.5 : e.x, s = e.y == null ? 0.5 : e.y, l = e.r == null ? 0.5 : e.r; e.global || (o = o * i + n.x, s = s * a + n.y, l *= r); var u = t.createRadialGradient(o, s, 0, o, s, l); return u }r.prototype = {constructor: r, host: null, fill: '#000', stroke: null, opacity: 1, lineDash: null, lineDashOffset: 0, shadowBlur: 0, shadowOffsetX: 0, shadowOffsetY: 0, lineWidth: 1, strokeNoScale: !1, text: null, font: null, textFont: null, fontStyle: null, fontWeight: null, fontSize: null, fontFamily: null, textTag: null, textFill: '#000', textStroke: null, textWidth: null, textHeight: null, textStrokeWidth: 0, textLineHeight: null, textPosition: 'inside', textRect: null, textOffset: null, textAlign: null, textVerticalAlign: null, textDistance: 5, textShadowColor: 'transparent', textShadowBlur: 0, textShadowOffsetX: 0, textShadowOffsetY: 0, textBoxShadowColor: 'transparent', textBoxShadowBlur: 0, textBoxShadowOffsetX: 0, textBoxShadowOffsetY: 0, transformText: !1, textRotation: 0, textOrigin: null, textBackgroundColor: null, textBorderColor: null, textBorderWidth: 0, textBorderRadius: 0, textPadding: null, rich: null, truncate: null, blend: null, bind: function (t, e, n) { for (var r = this, o = n && n.style, s = !o, l = 0; l < a.length; l++) { var u = a[l], c = u[0]; (s || r[c] !== o[c]) && (t[c] = i(t, c, r[c] || u[1])) } if ((s || r.fill !== o.fill) && (t.fillStyle = r.fill), (s || r.stroke !== o.stroke) && (t.strokeStyle = r.stroke), (s || r.opacity !== o.opacity) && (t.globalAlpha = r.opacity == null ? 1 : r.opacity), (s || r.blend !== o.blend) && (t.globalCompositeOperation = r.blend || 'source-over'), this.hasStroke()) { var h = r.lineWidth; t.lineWidth = h / (this.strokeNoScale && e && e.getLineScale ? e.getLineScale() : 1) } }, hasFill: function () { var t = this.fill; return t != null && t !== 'none' }, hasStroke: function () { var t = this.stroke; return t != null && t !== 'none' && this.lineWidth > 0 }, extendFrom: function (t, e) { if (t) for (var n in t)!t.hasOwnProperty(n) || !0 !== e && (!1 === e ? this.hasOwnProperty(n) : t[n] == null) || (this[n] = t[n]) }, set: function (t, e) { typeof t === 'string' ? this[t] = e : this.extendFrom(t, !0) }, clone: function () { var t = new this.constructor(); return t.extendFrom(this, !0), t }, getGradient: function (t, e, n) { for (var i = e.type === 'radial' ? s : o, a = i(t, e, n), r = e.colorStops, l = 0; l < r.length; l++)a.addColorStop(r[l].offset, r[l].color); return a }}; for (var l = r.prototype, u = 0; u < a.length; u++) { var c = a[u]; c[0] in l || (l[c[0]] = c[1]) }r.getGradient = l.getGradient; var h = r; t.exports = h }, '2b8c': function (t, e, n) { var i = n('6d8b'), a = n('5f14'), r = i.each; function o (t) { if (t) for (var e in t) if (t.hasOwnProperty(e)) return !0 } function s (t, e, n) { var o = {}; return r(e, function (e) { var l = o[e] = s(); r(t[e], function (t, r) { if (a.isValidType(r)) { var o = {type: r, visual: t}; n && n(o, e), l[r] = new a(o), r === 'opacity' && (o = i.clone(o), o.type = 'colorAlpha', l.__hidden.__alphaForOpacity = new a(o)) } }) }), o; function s () { var t = function () {}; t.prototype.__hidden = t.prototype; var e = new t(); return e } } function l (t, e, n) { var a; i.each(n, function (t) { e.hasOwnProperty(t) && o(e[t]) && (a = !0) }), a && i.each(n, function (n) { e.hasOwnProperty(n) && o(e[n]) ? t[n] = i.clone(e[n]) : delete t[n] }) } function u (t, e, n, r, o, s) { var l, u = {}; function c (t) { return n.getItemVisual(l, t) } function h (t, e) { n.setItemVisual(l, t, e) } function d (t, i) { l = s == null ? t : i; var a = n.getRawDataItem(l); if (!a || !1 !== a.visualMap) for (var d = r.call(o, t), f = e[d], p = u[d], g = 0, m = p.length; g < m; g++) { var v = p[g]; f[v] && f[v].applyVisual(t, c, h) } }i.each(t, function (t) { var n = a.prepareVisualTypes(e[t]); u[t] = n }), s == null ? n.each(d) : n.each([s], d) } function c (t, e, n, r) { var o = {}; function s (t, i) { function a (t) { return i.getItemVisual(l, t) } function s (t, e) { i.setItemVisual(l, t, e) } var l; r != null && (r = i.getDimension(r)); while ((l = t.next()) != null) { var u = i.getRawDataItem(l); if (u && !1 === u.visualMap) return; for (var c = r != null ? i.get(r, l, !0) : l, h = n(c), d = e[h], f = o[h], p = 0, g = f.length; p < g; p++) { var m = f[p]; d[m] && d[m].applyVisual(c, a, s) } } } return i.each(t, function (t) { var n = a.prepareVisualTypes(e[t]); o[t] = n }), {progress: s} }e.createVisualMappings = s, e.replaceVisualOption = l, e.applyVisual = u, e.incrementalApplyVisual = c }, '2c17': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = a.createHashMap, o = a.each; i.registerProcessor({getTargetSeries: function (t) { var e = r(); return t.eachComponent('dataZoom', function (t) { t.eachTargetAxis(function (t, n, i) { var a = i.getAxisProxy(t.name, n); o(a.getTargetSeriesModels(), function (t) { e.set(t.uid, t) }) }) }), e }, modifyOutputEnd: !0, overallReset: function (t, e) { t.eachComponent('dataZoom', function (t) { t.eachTargetAxis(function (t, n, i) { i.getAxisProxy(t.name, n).reset(i, e) }), t.eachTargetAxis(function (t, n, i) { i.getAxisProxy(t.name, n).filterData(i, e) }) }), t.eachComponent('dataZoom', function (t) { var e = t.findRepresentativeAxisProxy(), n = e.getDataPercentWindow(), i = e.getDataValueWindow(); t.setRawRange({start: n[0], end: n[1], startValue: i[0], endValue: i[1]}, !0) }) }}) }, '2cf4': function (t, e) { var n = 1; typeof window !== 'undefined' && (n = Math.max(window.devicePixelRatio || 1, 1)); var i = 0, a = n; e.debugMode = i, e.devicePixelRatio = a }, '2cfc': function (t, e, n) { var i = n('3eba'); n('4338'), n('bcbe'), n('c62c'), n('cb8f'), n('f138'), i.extendComponentView({type: 'single'}) }, '2f31': function (t, e, n) { var i = n('3eba'), a = n('ae75'); n('10cc'), n('f31f'), n('c2dd'), n('b8ec'), n('fecb'), i.registerPreprocessor(a) }, '2f45': function (t, e, n) { var i = n('6d8b'), a = i.each, r = i.createHashMap, o = (i.assert, n('4e08')), s = (o.__DEV__, r(['tooltip', 'label', 'itemName', 'itemId', 'seriesName'])); function l (t) { var e = {}, n = e.encode = {}, i = r(), o = [], l = []; a(t.dimensions, function (e) { var a = t.getDimensionInfo(e), r = a.coordDim; if (r) { var u = n[r]; n.hasOwnProperty(r) || (u = n[r] = []), u[a.coordDimIndex] = e, a.isExtraCoord || (i.set(r, 1), c(a.type) && (o[0] = e)), a.defaultTooltip && l.push(e) }s.each(function (t, e) { var i = n[e]; n.hasOwnProperty(e) || (i = n[e] = []); var r = a.otherDims[e]; r != null && !1 !== r && (i[r] = a.name) }) }); var u = [], h = {}; i.each(function (t, e) { var i = n[e]; h[e] = i[0], u = u.concat(i) }), e.dataDimsOnCoord = u, e.encodeFirstDimNotExtra = h; var d = n.label; d && d.length && (o = d.slice()); var f = n.tooltip; return f && f.length ? l = f.slice() : l.length || (l = o.slice()), n.defaultedLabel = o, n.defaultedTooltip = l, e } function u (t) { return t === 'category' ? 'ordinal' : t === 'time' ? 'time' : 'float' } function c (t) { return !(t === 'ordinal' || t === 'time') }e.OTHER_DIMENSIONS = s, e.summarizeDimensions = l, e.getDimensionTypeByAxis = u }, '2f73': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('1e32'); n('1ccf'), n('f5e6'), n('792e'), n('cb8f'), n('6acf'), i.registerLayout(a.curry(r, 'bar')), i.extendComponentView({type: 'polar'}) }, '2f91': function (t, e) { var n = ['itemStyle', 'borderColor']; function i (t, e) { var i = t.get('color'); t.eachRawSeriesByType('boxplot', function (e) { var a = i[e.seriesIndex % i.length], r = e.getData(); r.setVisual({legendSymbol: 'roundRect', color: e.get(n) || a}), t.isSeriesFiltered(e) || r.each(function (t) { var e = r.getItemModel(t); r.setItemVisual(t, {color: e.get(n, !0)}) }) }) }t.exports = i }, 3014: function (t, e, n) { var i = n('4f85'), a = n('3301'), r = i.extend({type: 'series.__base_bar__', getInitialData: function (t, e) { return a(this.getSource(), this) }, getMarkerPosition: function (t) { var e = this.coordinateSystem; if (e) { var n = e.dataToPoint(e.clampData(t)), i = this.getData(), a = i.getLayout('offset'), r = i.getLayout('size'), o = e.getBaseAxis().isHorizontal() ? 0 : 1; return n[o] += a + r / 2, n } return [NaN, NaN] }, defaultOption: {zlevel: 0, z: 2, coordinateSystem: 'cartesian2d', legendHoverLink: !0, barMinHeight: 0, barMinAngle: 0, large: !1, largeThreshold: 400, progressive: 5e3, progressiveChunkMode: 'mod', itemStyle: {}, emphasis: {}}}); t.exports = r }, '307a': function (t, e, n) { var i = n('6d8b'), a = n('eaea'), r = n('3842'), o = [20, 140], s = a.extend({type: 'visualMap.continuous', defaultOption: {align: 'auto', calculable: !1, range: null, realtime: !0, itemHeight: null, itemWidth: null, hoverLink: !0, hoverLinkDataSize: null, hoverLinkOnHandle: null}, optionUpdated: function (t, e) { s.superApply(this, 'optionUpdated', arguments), this.resetExtent(), this.resetVisual(function (t) { t.mappingMethod = 'linear', t.dataExtent = this.getExtent() }), this._resetRange() }, resetItemSize: function () { s.superApply(this, 'resetItemSize', arguments); var t = this.itemSize; this._orient === 'horizontal' && t.reverse(), (t[0] == null || isNaN(t[0])) && (t[0] = o[0]), (t[1] == null || isNaN(t[1])) && (t[1] = o[1]) }, _resetRange: function () { var t = this.getExtent(), e = this.option.range; !e || e.auto ? (t.auto = 1, this.option.range = t) : i.isArray(e) && (e[0] > e[1] && e.reverse(), e[0] = Math.max(e[0], t[0]), e[1] = Math.min(e[1], t[1])) }, completeVisualOption: function () { a.prototype.completeVisualOption.apply(this, arguments), i.each(this.stateList, function (t) { var e = this.option.controller[t].symbolSize; e && e[0] !== e[1] && (e[0] = 0) }, this) }, setSelected: function (t) { this.option.range = t.slice(), this._resetRange() }, getSelected: function () { var t = this.getExtent(), e = r.asc((this.get('range') || []).slice()); return e[0] > t[1] && (e[0] = t[1]), e[1] > t[1] && (e[1] = t[1]), e[0] < t[0] && (e[0] = t[0]), e[1] < t[0] && (e[1] = t[0]), e }, getValueState: function (t) { var e = this.option.range, n = this.getExtent(); return (e[0] <= n[0] || e[0] <= t) && (e[1] >= n[1] || t <= e[1]) ? 'inRange' : 'outOfRange' }, findTargetDataIndices: function (t) { var e = []; return this.eachTargetSeries(function (n) { var i = [], a = n.getData(); a.each(this.getDataDimension(a), function (e, n) { t[0] <= e && e <= t[1] && i.push(n) }, this), e.push({seriesId: n.id, dataIndex: i}) }, this), e }, getVisualMeta: function (t) { var e = l(this, 'outOfRange', this.getExtent()), n = l(this, 'inRange', this.option.range.slice()), i = []; function a (e, n) { i.push({value: e, color: t(e, n)}) } for (var r = 0, o = 0, s = n.length, u = e.length; o < u && (!n.length || e[o] <= n[0]); o++)e[o] < n[r] && a(e[o], 'outOfRange'); for (var c = 1; r < s; r++, c = 0)c && i.length && a(n[r], 'outOfRange'), a(n[r], 'inRange'); for (c = 1; o < u; o++)(!n.length || n[n.length - 1] < e[o]) && (c && (i.length && a(i[i.length - 1].value, 'outOfRange'), c = 0), a(e[o], 'outOfRange')); var h = i.length; return {stops: i, outerColors: [h ? i[0].color : 'transparent', h ? i[h - 1].color : 'transparent']} }}); function l (t, e, n) { if (n[0] === n[1]) return n.slice(); for (var i = 200, a = (n[1] - n[0]) / i, r = n[0], o = [], s = 0; s <= i && r < n[1]; s++)o.push(r), r += a; return o.push(n[1]), o } var u = s; t.exports = u }, '307b': function (t, e, n) { var i = n('6d8b'); function a (t, e) { var n = this.getAxis(), i = e instanceof Array ? e[0] : e, a = (t instanceof Array ? t[0] : t) / 2; return n.type === 'category' ? n.getBandWidth() : Math.abs(n.dataToCoord(i - a) - n.dataToCoord(i + a)) } function r (t) { var e = t.getRect(); return {coordSys: {type: 'singleAxis', x: e.x, y: e.y, width: e.width, height: e.height}, api: {coord: function (e) { return t.dataToPoint(e) }, size: i.bind(a, t)}} }t.exports = r }, '307d': function (t, e, n) { var i = n('6d8b'), a = n('6179'), r = n('3842'), o = n('923d'), s = n('73ca'), l = n('88f0'), u = function (t, e, n, a) { var r = t.getData(), s = a.type; if (!i.isArray(a) && (s === 'min' || s === 'max' || s === 'average' || s === 'median' || a.xAxis != null || a.yAxis != null)) { var l, u; if (a.yAxis != null || a.xAxis != null)l = a.yAxis != null ? 'y' : 'x', e.getAxis(l), u = i.retrieve(a.yAxis, a.xAxis); else { var c = o.getAxisInfo(a, r, e, t); l = c.valueDataDim, c.valueAxis, u = o.numCalculate(r, l, s) } var h = l === 'x' ? 0 : 1, d = 1 - h, f = i.clone(a), p = {}; f.type = null, f.coord = [], p.coord = [], f.coord[d] = -1 / 0, p.coord[d] = 1 / 0; var g = n.get('precision'); g >= 0 && typeof u === 'number' && (u = +u.toFixed(Math.min(g, 20))), f.coord[h] = p.coord[h] = u, a = [f, p, {type: s, valueIndex: a.valueIndex, value: u}] } return a = [o.dataTransform(t, a[0]), o.dataTransform(t, a[1]), i.extend({}, a[2])], a[2].type = a[2].type || '', i.merge(a[2], a[0]), i.merge(a[2], a[1]), a }; function c (t) { return !isNaN(t) && !isFinite(t) } function h (t, e, n, i) { var a = 1 - t, r = i.dimensions[t]; return c(e[a]) && c(n[a]) && e[t] === n[t] && i.getAxis(r).containData(e[t]) } function d (t, e) { if (t.type === 'cartesian2d') { var n = e[0].coord, i = e[1].coord; if (n && i && (h(1, n, i, t) || h(0, n, i, t))) return !0 } return o.dataFilter(t, e[0]) && o.dataFilter(t, e[1]) } function f (t, e, n, i, a) { var o, s = i.coordinateSystem, l = t.getItemModel(e), u = r.parsePercent(l.get('x'), a.getWidth()), h = r.parsePercent(l.get('y'), a.getHeight()); if (isNaN(u) || isNaN(h)) { if (i.getMarkerPosition)o = i.getMarkerPosition(t.getValues(t.dimensions, e)); else { var d = s.dimensions, f = t.get(d[0], e), p = t.get(d[1], e); o = s.dataToPoint([f, p]) } if (s.type === 'cartesian2d') { var g = s.getAxis('x'), m = s.getAxis('y'); d = s.dimensions; c(t.get(d[0], e)) ? o[0] = g.toGlobalCoord(g.getExtent()[n ? 0 : 1]) : c(t.get(d[1], e)) && (o[1] = m.toGlobalCoord(m.getExtent()[n ? 0 : 1])) }isNaN(u) || (o[0] = u), isNaN(h) || (o[1] = h) } else o = [u, h]; t.setItemLayout(e, o) } var p = l.extend({type: 'markLine', updateTransform: function (t, e, n) { e.eachSeries(function (t) { var e = t.markLineModel; if (e) { var i = e.getData(), a = e.__from, r = e.__to; a.each(function (e) { f(a, e, !0, t, n), f(r, e, !1, t, n) }), i.each(function (t) { i.setItemLayout(t, [a.getItemLayout(t), r.getItemLayout(t)]) }), this.markerGroupMap.get(t.id).updateLayout() } }, this) }, renderSeries: function (t, e, n, a) { var r = t.coordinateSystem, o = t.id, l = t.getData(), u = this.markerGroupMap, c = u.get(o) || u.set(o, new s()); this.group.add(c.group); var h = g(r, t, e), d = h.from, p = h.to, m = h.line; e.__from = d, e.__to = p, e.setData(m); var v = e.get('symbol'), y = e.get('symbolSize'); function x (e, n, i) { var r = e.getItemModel(n); f(e, n, i, t, a), e.setItemVisual(n, {symbolSize: r.get('symbolSize') || y[i ? 0 : 1], symbol: r.get('symbol', !0) || v[i ? 0 : 1], color: r.get('itemStyle.color') || l.getVisual('color')}) }i.isArray(v) || (v = [v, v]), typeof y === 'number' && (y = [y, y]), h.from.each(function (t) { x(d, t, !0), x(p, t, !1) }), m.each(function (t) { var e = m.getItemModel(t).get('lineStyle.color'); m.setItemVisual(t, {color: e || d.getItemVisual(t, 'color')}), m.setItemLayout(t, [d.getItemLayout(t), p.getItemLayout(t)]), m.setItemVisual(t, {fromSymbolSize: d.getItemVisual(t, 'symbolSize'), fromSymbol: d.getItemVisual(t, 'symbol'), toSymbolSize: p.getItemVisual(t, 'symbolSize'), toSymbol: p.getItemVisual(t, 'symbol')}) }), c.updateData(m), h.line.eachItemGraphicEl(function (t, n) { t.traverse(function (t) { t.dataModel = e }) }), c.__keep = !0, c.group.silent = e.get('silent') || t.get('silent') }}); function g (t, e, n) { var r; r = t ? i.map(t && t.dimensions, function (t) { var n = e.getData().getDimensionInfo(e.getData().mapDimension(t)) || {}; return i.defaults({name: t}, n) }) : [{name: 'value', type: 'float'}]; var s = new a(r, n), l = new a(r, n), c = new a([], n), h = i.map(n.get('data'), i.curry(u, e, t, n)); t && (h = i.filter(h, i.curry(d, t))); var f = t ? o.dimValueGetter : function (t) { return t.value }; return s.initData(i.map(h, function (t) { return t[0] }), null, f), l.initData(i.map(h, function (t) { return t[1] }), null, f), c.initData(i.map(h, function (t) { return t[2] })), c.hasItemOption = !0, {from: s, to: l, line: c} }t.exports = p }, '30a3': function (t, e, n) { var i = n('6d8b'), a = n('607d'), r = a.Dispatcher, o = n('98b7'), s = n('06ad'), l = function (t) { t = t || {}, this.stage = t.stage || {}, this.onframe = t.onframe || function () {}, this._clips = [], this._running = !1, this._time, this._pausedTime, this._pauseStart, this._paused = !1, r.call(this) }; l.prototype = {constructor: l, addClip: function (t) { this._clips.push(t) }, addAnimator: function (t) { t.animation = this; for (var e = t.getClips(), n = 0; n < e.length; n++) this.addClip(e[n]) }, removeClip: function (t) { var e = i.indexOf(this._clips, t); e >= 0 && this._clips.splice(e, 1) }, removeAnimator: function (t) { for (var e = t.getClips(), n = 0; n < e.length; n++) this.removeClip(e[n]); t.animation = null }, _update: function () { for (var t = (new Date()).getTime() - this._pausedTime, e = t - this._time, n = this._clips, i = n.length, a = [], r = [], o = 0; o < i; o++) { var s = n[o], l = s.step(t, e); l && (a.push(l), r.push(s)) } for (o = 0; o < i;)n[o]._needsRemove ? (n[o] = n[i - 1], n.pop(), i--) : o++; i = a.length; for (o = 0; o < i; o++)r[o].fire(a[o]); this._time = t, this.onframe(e), this.trigger('frame', e), this.stage.update && this.stage.update() }, _startLoop: function () { var t = this; function e () { t._running && (o(e), !t._paused && t._update()) } this._running = !0, o(e) }, start: function () { this._time = (new Date()).getTime(), this._pausedTime = 0, this._startLoop() }, stop: function () { this._running = !1 }, pause: function () { this._paused || (this._pauseStart = (new Date()).getTime(), this._paused = !0) }, resume: function () { this._paused && (this._pausedTime += (new Date()).getTime() - this._pauseStart, this._paused = !1) }, clear: function () { this._clips = [] }, isFinished: function () { return !this._clips.length }, animate: function (t, e) { e = e || {}; var n = new s(t, e.loop, e.getter, e.setter); return this.addAnimator(n), n }}, i.mixin(l, r); var u = l; t.exports = u }, '311a': function (t, e, n) { var i = n('3eba'); n('d01c'), n('5b69'), n('bdc0'); var a = n('81ac'), r = n('0e0f'); i.registerLayout(a), i.registerVisual(r) }, '313e': function (t, e, n) { var i = n('3eba'); (function () { for (var t in i) { if (i == null || !i.hasOwnProperty(t) || t === 'default' || t === '__esModule') return; e[t] = i[t] } })(); var a = n('b719'); (function () { for (var t in a) { if (a == null || !a.hasOwnProperty(t) || t === 'default' || t === '__esModule') return; e[t] = a[t] } })(), n('0352'), n('ef97'), n('94b1'), n('c037'), n('15af'), n('8deb'), n('675c'), n('ef97a'), n('dae1'), n('23ee'), n('07e6'), n('a4b1'), n('0817'), n('311a'), n('fa52'), n('085d'), n('1111'), n('a7e2'), n('5ce2'), n('aadf'), n('6c12f'), n('d716'), n('e057'), n('7f59'), n('cd12'), n('0b4b'), n('007d'), n('cb8f'), n('2f73'), n('d070'), n('f306'), n('2cfc'), n('2f31'), n('9390'), n('627c'), n('0a6d'), n('5450'), n('db0e'), n('95a8'), n('7e32'), n('ee95'), n('b11c'), n('f170'), n('8ee0') }, '31d9': function (t, e, n) { var i = n('6d8b'), a = i.each, r = '\0__link_datas', o = '\0__link_mainData'; function s (t) { var e = t.mainData, n = t.datas; n || (n = {main: e}, t.datasAttr = {main: 'data'}), t.datas = t.mainData = null, f(e, n, t), a(n, function (n) { a(e.TRANSFERABLE_METHODS, function (e) { n.wrapMethod(e, i.curry(l, t)) }) }), e.wrapMethod('cloneShallow', i.curry(c, t)), a(e.CHANGABLE_METHODS, function (n) { e.wrapMethod(n, i.curry(u, t)) }), i.assert(n[e.dataType] === e) } function l (t, e) { if (d(this)) { var n = i.extend({}, this[r]); n[this.dataType] = e, f(e, n, t) } else p(e, this.dataType, this[o], t); return e } function u (t, e) { return t.struct && t.struct.update(this), e } function c (t, e) { return a(e[r], function (n, i) { n !== e && p(n.cloneShallow(), i, e, t) }), e } function h (t) { var e = this[o]; return t == null || e == null ? e : e[r][t] } function d (t) { return t[o] === t } function f (t, e, n) { t[r] = {}, a(e, function (e, i) { p(e, i, t, n) }) } function p (t, e, n, i) { n[r][e] = t, t[o] = n, t.dataType = e, i.struct && (t[i.structAttr] = i.struct, i.struct[i.datasAttr[e]] = t), t.getLinkedData = h } var g = s; t.exports = g }, '320a': function (t, e, n) { for (var i = n('6d8b'), a = n('f279'), r = [126, 25], o = [[[0, 3.5], [7, 11.2], [15, 11.9], [30, 7], [42, 0.7], [52, 0.7], [56, 7.7], [59, 0.7], [64, 0.7], [64, 0], [5, 0], [0, 3.5]], [[13, 16.1], [19, 14.7], [16, 21.7], [11, 23.1], [13, 16.1]], [[12, 32.2], [14, 38.5], [15, 38.5], [13, 32.2], [12, 32.2]], [[16, 47.6], [12, 53.2], [13, 53.2], [18, 47.6], [16, 47.6]], [[6, 64.4], [8, 70], [9, 70], [8, 64.4], [6, 64.4]], [[23, 82.6], [29, 79.8], [30, 79.8], [25, 82.6], [23, 82.6]], [[37, 70.7], [43, 62.3], [44, 62.3], [39, 70.7], [37, 70.7]], [[48, 51.1], [51, 45.5], [53, 45.5], [50, 51.1], [48, 51.1]], [[51, 35], [51, 28.7], [53, 28.7], [53, 35], [51, 35]], [[52, 22.4], [55, 17.5], [56, 17.5], [53, 22.4], [52, 22.4]], [[58, 12.6], [62, 7], [63, 7], [60, 12.6], [58, 12.6]], [[0, 3.5], [0, 93.1], [64, 93.1], [64, 0], [63, 0], [63, 92.4], [1, 92.4], [1, 3.5], [0, 3.5]]], s = 0; s < o.length; s++) for (var l = 0; l < o[s].length; l++)o[s][l][0] /= 10.5, o[s][l][1] /= -14, o[s][l][0] += r[0], o[s][l][1] += r[1]; function u (t) { t.map === 'china' && t.regions.push(new a('南海诸岛', i.map(o, function (t) { return {type: 'polygon', exterior: t} }), r)) }t.exports = u }, '32a1': function (t, e, n) { var i = n('6d8b'), a = n('7dcf'), r = n('ef6a'), o = n('5576'), s = i.bind, l = a.extend({type: 'dataZoom.inside', init: function (t, e) { this._range }, render: function (t, e, n, a) { l.superApply(this, 'render', arguments), this._range = t.getPercentRange(), i.each(this.getTargetCoordInfo(), function (e, a) { var r = i.map(e, function (t) { return o.generateCoordId(t.model) }); i.each(e, function (e) { var i = e.model, l = t.option; o.register(n, {coordId: o.generateCoordId(i), allCoordIds: r, containsPoint: function (t, e, n) { return i.coordinateSystem.containPoint([e, n]) }, dataZoomId: t.id, throttleRate: t.get('throttle', !0), panGetRange: s(this._onPan, this, e, a), zoomGetRange: s(this._onZoom, this, e, a), zoomLock: l.zoomLock, disabled: l.disabled, roamControllerOpt: {zoomOnMouseWheel: l.zoomOnMouseWheel, moveOnMouseMove: l.moveOnMouseMove, preventDefaultMouseMove: l.preventDefaultMouseMove}}) }, this) }, this) }, dispose: function () { o.unregister(this.api, this.dataZoomModel.id), l.superApply(this, 'dispose', arguments), this._range = null }, _onPan: function (t, e, n, i, a, o, s, l, c) { var h = this._range, d = h.slice(), f = t.axisModels[0]; if (f) { var p = u[e]([o, s], [l, c], f, n, t), g = p.signal * (d[1] - d[0]) * p.pixel / p.pixelLength; return r(g, d, [0, 100], 'all'), this._range = d, h[0] !== d[0] || h[1] !== d[1] ? d : void 0 } }, _onZoom: function (t, e, n, i, a, o) { var s = this._range, l = s.slice(), c = t.axisModels[0]; if (c) { var h = u[e](null, [a, o], c, n, t), d = (h.signal > 0 ? h.pixelStart + h.pixelLength - h.pixel : h.pixel - h.pixelStart) / h.pixelLength * (l[1] - l[0]) + l[0]; i = Math.max(1 / i, 0), l[0] = (l[0] - d) * i + d, l[1] = (l[1] - d) * i + d; var f = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan(); return r(0, l, [0, 100], 0, f.minSpan, f.maxSpan), this._range = l, s[0] !== l[0] || s[1] !== l[1] ? l : void 0 } }}), u = {grid: function (t, e, n, i, a) { var r = n.axis, o = {}, s = a.model.coordinateSystem.getRect(); return t = t || [0, 0], r.dim === 'x' ? (o.pixel = e[0] - t[0], o.pixelLength = s.width, o.pixelStart = s.x, o.signal = r.inverse ? 1 : -1) : (o.pixel = e[1] - t[1], o.pixelLength = s.height, o.pixelStart = s.y, o.signal = r.inverse ? -1 : 1), o }, polar: function (t, e, n, i, a) { var r = n.axis, o = {}, s = a.model.coordinateSystem, l = s.getRadiusAxis().getExtent(), u = s.getAngleAxis().getExtent(); return t = t ? s.pointToCoord(t) : [0, 0], e = s.pointToCoord(e), n.mainType === 'radiusAxis' ? (o.pixel = e[0] - t[0], o.pixelLength = l[1] - l[0], o.pixelStart = l[0], o.signal = r.inverse ? 1 : -1) : (o.pixel = e[1] - t[1], o.pixelLength = u[1] - u[0], o.pixelStart = u[0], o.signal = r.inverse ? -1 : 1), o }, singleAxis: function (t, e, n, i, a) { var r = n.axis, o = a.model.coordinateSystem.getRect(), s = {}; return t = t || [0, 0], r.orient === 'horizontal' ? (s.pixel = e[0] - t[0], s.pixelLength = o.width, s.pixelStart = o.x, s.signal = r.inverse ? 1 : -1) : (s.pixel = e[1] - t[1], s.pixelLength = o.height, s.pixelStart = o.y, s.signal = r.inverse ? -1 : 1), s }}, c = l; t.exports = c }, 3301: function (t, e, n) { var i = n('6d8b'), a = n('6179'), r = n('b1d4'), o = n('93d0'), s = o.SOURCE_FORMAT_ORIGINAL, l = n('2f45'), u = l.getDimensionTypeByAxis, c = n('e0d3'), h = c.getDataItemValue, d = n('2039'), f = n('8b7f'), p = f.getCoordSysDefineBySeries, g = n('ec6f'), m = n('ee1a'), v = m.enableDataStack; function y (t, e, n) { n = n || {}, g.isInstance(t) || (t = g.seriesDataToSource(t)); var o, s = e.get('coordinateSystem'), l = d.get(s), c = p(e); c && (o = i.map(c.coordSysDims, function (t) { var e = {name: t}, n = c.axisMap.get(t); if (n) { var i = n.get('type'); e.type = u(i) } return e })), o || (o = l && (l.getDimensionsInfo ? l.getDimensionsInfo() : l.dimensions.slice()) || ['x', 'y']); var h, f, m = r(t, {coordDimensions: o, generateCoord: n.generateCoord}); c && i.each(m, function (t, e) { var n = t.coordDim, i = c.categoryAxisMap.get(n); i && (h == null && (h = e), t.ordinalMeta = i.getOrdinalMeta()), t.otherDims.itemName != null && (f = !0) }), f || h == null || (m[h].otherDims.itemName = 0); var y = v(e, m), _ = new a(m, e); _.setCalculationInfo(y); var b = h != null && x(t) ? function (t, e, n, i) { return i === h ? n : this.defaultDimValueGetter(t, e, n, i) } : null; return _.hasItemOption = !1, _.initData(t, null, b), _ } function x (t) { if (t.sourceFormat === s) { var e = _(t.data || []); return e != null && !i.isArray(h(e)) } } function _ (t) { var e = 0; while (e < t.length && t[e] == null)e++; return t[e] } var b = y; t.exports = b }, 3329: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('2306'), o = n('a15a'), s = o.createSymbol, l = n('3842'), u = l.parsePercent, c = l.isNumeric, h = n('e7aa'), d = h.setLabel, f = ['itemStyle', 'borderWidth'], p = [{xy: 'x', wh: 'width', index: 0, posDesc: ['left', 'right']}, {xy: 'y', wh: 'height', index: 1, posDesc: ['top', 'bottom']}], g = new r.Circle(), m = i.extendChartView({type: 'pictorialBar', render: function (t, e, n) { var i = this.group, a = t.getData(), r = this._data, o = t.coordinateSystem, s = o.getBaseAxis(), l = !!s.isHorizontal(), u = o.grid.getRect(), c = {ecSize: {width: n.getWidth(), height: n.getHeight()}, seriesModel: t, coordSys: o, coordSysExtent: [[u.x, u.x + u.width], [u.y, u.y + u.height]], isHorizontal: l, valueDim: p[+l], categoryDim: p[1 - l]}; return a.diff(r).add(function (t) { if (a.hasValue(t)) { var e = C(a, t), n = v(a, t, e, c), r = k(a, c, n); a.setItemGraphicEl(t, r), i.add(r), V(r, c, n) } }).update(function (t, e) { var n = r.getItemGraphicEl(e); if (a.hasValue(t)) { var o = C(a, t), s = v(a, t, o, c), l = E(a, s); n && l !== n.__pictorialShapeStr && (i.remove(n), a.setItemGraphicEl(t, null), n = null), n ? O(n, c, s) : n = k(a, c, s, !0), a.setItemGraphicEl(t, n), n.__pictorialSymbolMeta = s, i.add(n), V(n, c, s) } else i.remove(n) }).remove(function (t) { var e = r.getItemGraphicEl(t); e && R(r, t, e.__pictorialSymbolMeta.animationModel, e) }).execute(), this._data = a, this.group }, dispose: a.noop, remove: function (t, e) { var n = this.group, i = this._data; t.get('animation') ? i && i.eachItemGraphicEl(function (e) { R(i, e.dataIndex, t, e) }) : n.removeAll() }}); function v (t, e, n, i) { var r = t.getItemLayout(e), o = n.get('symbolRepeat'), s = n.get('symbolClip'), l = n.get('symbolPosition') || 'start', c = n.get('symbolRotate'), h = (c || 0) * Math.PI / 180 || 0, d = n.get('symbolPatternSize') || 2, f = n.isAnimationEnabled(), p = {dataIndex: e, layout: r, itemModel: n, symbolType: t.getItemVisual(e, 'symbol') || 'circle', color: t.getItemVisual(e, 'color'), symbolClip: s, symbolRepeat: o, symbolRepeatDirection: n.get('symbolRepeatDirection'), symbolPatternSize: d, rotation: h, animationModel: f ? n : null, hoverAnimation: f && n.get('hoverAnimation'), z2: n.getShallow('z', !0) || 0}; y(n, o, r, i, p), _(t, e, r, o, s, p.boundingLength, p.pxSign, d, i, p), b(n, p.symbolScale, h, i, p); var g = p.symbolSize, m = n.get('symbolOffset'); return a.isArray(m) && (m = [u(m[0], g[0]), u(m[1], g[1])]), w(n, g, r, o, s, m, l, p.valueLineWidth, p.boundingLength, p.repeatCutLength, i, p), p } function y (t, e, n, i, r) { var o, s = i.valueDim, l = t.get('symbolBoundingData'), u = i.coordSys.getOtherAxis(i.coordSys.getBaseAxis()), c = u.toGlobalCoord(u.dataToCoord(0)), h = 1 - +(n[s.wh] <= 0); if (a.isArray(l)) { var d = [x(u, l[0]) - c, x(u, l[1]) - c]; d[1] < d[0] && d.reverse(), o = d[h] } else o = l != null ? x(u, l) - c : e ? i.coordSysExtent[s.index][h] - c : n[s.wh]; r.boundingLength = o, e && (r.repeatCutLength = n[s.wh]), r.pxSign = o > 0 ? 1 : o < 0 ? -1 : 0 } function x (t, e) { return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e))) } function _ (t, e, n, i, r, o, s, l, c, h) { var d = c.valueDim, f = c.categoryDim, p = Math.abs(n[f.wh]), g = t.getItemVisual(e, 'symbolSize'); a.isArray(g) ? g = g.slice() : (g == null && (g = '100%'), g = [g, g]), g[f.index] = u(g[f.index], p), g[d.index] = u(g[d.index], i ? p : Math.abs(o)), h.symbolSize = g; var m = h.symbolScale = [g[0] / l, g[1] / l]; m[d.index] *= (c.isHorizontal ? -1 : 1) * s } function b (t, e, n, i, a) { var r = t.get(f) || 0; r && (g.attr({scale: e.slice(), rotation: n}), g.updateTransform(), r /= g.getLineScale(), r *= e[i.valueDim.index]), a.valueLineWidth = r } function w (t, e, n, i, r, o, s, l, h, d, f, p) { var g = f.categoryDim, m = f.valueDim, v = p.pxSign, y = Math.max(e[m.index] + l, 0), x = y; if (i) { var _ = Math.abs(h), b = a.retrieve(t.get('symbolMargin'), '15%') + '', w = !1; b.lastIndexOf('!') === b.length - 1 && (w = !0, b = b.slice(0, b.length - 1)), b = u(b, e[m.index]); var S = Math.max(y + 2 * b, 0), M = w ? 0 : 2 * b, I = c(i), A = I ? i : B((_ + M) / S), T = _ - A * y; b = T / 2 / (w ? A : A - 1), S = y + 2 * b, M = w ? 0 : 2 * b, I || i === 'fixed' || (A = d ? B((Math.abs(d) + M) / S) : 0), x = A * S - M, p.repeatTimes = A, p.symbolMargin = b } var C = v * (x / 2), D = p.pathPosition = []; D[g.index] = n[g.wh] / 2, D[m.index] = s === 'start' ? C : s === 'end' ? h - C : h / 2, o && (D[0] += o[0], D[1] += o[1]); var L = p.bundlePosition = []; L[g.index] = n[g.xy], L[m.index] = n[m.xy]; var P = p.barRectShape = a.extend({}, n); P[m.wh] = v * Math.max(Math.abs(n[m.wh]), Math.abs(D[m.index] + C)), P[g.wh] = n[g.wh]; var k = p.clipShape = {}; k[g.xy] = -n[g.xy], k[g.wh] = f.ecSize[g.wh], k[m.xy] = 0, k[m.wh] = n[m.wh] } function S (t) { var e = t.symbolPatternSize, n = s(t.symbolType, -e / 2, -e / 2, e, e, t.color); return n.attr({culling: !0}), n.type !== 'image' && n.setStyle({strokeNoScale: !0}), n } function M (t, e, n, i) { var a = t.__pictorialBundle, r = n.symbolSize, o = n.valueLineWidth, s = n.pathPosition, l = e.valueDim, u = n.repeatTimes || 0, c = 0, h = r[e.valueDim.index] + o + 2 * n.symbolMargin; for (N(t, function (t) { t.__pictorialAnimationIndex = c, t.__pictorialRepeatTimes = u, c < u ? z(t, null, p(c), n, i) : z(t, null, {scale: [0, 0]}, n, i, function () { a.remove(t) }), P(t, n), c++ }); c < u; c++) { var d = S(n); d.__pictorialAnimationIndex = c, d.__pictorialRepeatTimes = u, a.add(d); var f = p(c); z(d, {position: f.position, scale: [0, 0]}, {scale: f.scale, rotation: f.rotation}, n, i), d.on('mouseover', g).on('mouseout', m), P(d, n) } function p (t) { var e = s.slice(), i = n.pxSign, a = t; return (n.symbolRepeatDirection === 'start' ? i > 0 : i < 0) && (a = u - 1 - t), e[l.index] = h * (a - u / 2 + 0.5) + s[l.index], {position: e, scale: n.symbolScale.slice(), rotation: n.rotation} } function g () { N(t, function (t) { t.trigger('emphasis') }) } function m () { N(t, function (t) { t.trigger('normal') }) } } function I (t, e, n, i) { var a = t.__pictorialBundle, r = t.__pictorialMainPath; function o () { this.trigger('emphasis') } function s () { this.trigger('normal') }r ? z(r, null, {position: n.pathPosition.slice(), scale: n.symbolScale.slice(), rotation: n.rotation}, n, i) : (r = t.__pictorialMainPath = S(n), a.add(r), z(r, {position: n.pathPosition.slice(), scale: [0, 0], rotation: n.rotation}, {scale: n.symbolScale.slice()}, n, i), r.on('mouseover', o).on('mouseout', s)), P(r, n) } function A (t, e, n) { var i = a.extend({}, e.barRectShape), o = t.__pictorialBarRect; o ? z(o, null, {shape: i}, e, n) : (o = t.__pictorialBarRect = new r.Rect({z2: 2, shape: i, silent: !0, style: {stroke: 'transparent', fill: 'transparent', lineWidth: 0}}), t.add(o)) } function T (t, e, n, i) { if (n.symbolClip) { var o = t.__pictorialClipPath, s = a.extend({}, n.clipShape), l = e.valueDim, u = n.animationModel, c = n.dataIndex; if (o)r.updateProps(o, {shape: s}, u, c); else { s[l.wh] = 0, o = new r.Rect({shape: s}), t.__pictorialBundle.setClipPath(o), t.__pictorialClipPath = o; var h = {}; h[l.wh] = n.clipShape[l.wh], r[i ? 'updateProps' : 'initProps'](o, {shape: h}, u, c) } } } function C (t, e) { var n = t.getItemModel(e); return n.getAnimationDelayParams = D, n.isAnimationEnabled = L, n } function D (t) { return {index: t.__pictorialAnimationIndex, count: t.__pictorialRepeatTimes} } function L () { return this.parentModel.isAnimationEnabled() && !!this.getShallow('animation') } function P (t, e) { t.off('emphasis').off('normal'); var n = e.symbolScale.slice(); e.hoverAnimation && t.on('emphasis', function () { this.animateTo({scale: [1.1 * n[0], 1.1 * n[1]]}, 400, 'elasticOut') }).on('normal', function () { this.animateTo({scale: n.slice()}, 400, 'elasticOut') }) } function k (t, e, n, i) { var a = new r.Group(), o = new r.Group(); return a.add(o), a.__pictorialBundle = o, o.attr('position', n.bundlePosition.slice()), n.symbolRepeat ? M(a, e, n) : I(a, e, n), A(a, n, i), T(a, e, n, i), a.__pictorialShapeStr = E(t, n), a.__pictorialSymbolMeta = n, a } function O (t, e, n) { var i = n.animationModel, a = n.dataIndex, o = t.__pictorialBundle; r.updateProps(o, {position: n.bundlePosition.slice()}, i, a), n.symbolRepeat ? M(t, e, n, !0) : I(t, e, n, !0), A(t, n, !0), T(t, e, n, !0) } function R (t, e, n, i) { var o = i.__pictorialBarRect; o && (o.style.text = null); var s = []; N(i, function (t) { s.push(t) }), i.__pictorialMainPath && s.push(i.__pictorialMainPath), i.__pictorialClipPath && (n = null), a.each(s, function (t) { r.updateProps(t, {scale: [0, 0]}, n, e, function () { i.parent && i.parent.remove(i) }) }), t.setItemGraphicEl(e, null) } function E (t, e) { return [t.getItemVisual(e.dataIndex, 'symbol') || 'none', !!e.symbolRepeat, !!e.symbolClip].join(':') } function N (t, e, n) { a.each(t.__pictorialBundle.children(), function (i) { i !== t.__pictorialBarRect && e.call(n, i) }) } function z (t, e, n, i, a, o) { e && t.attr(e), i.symbolClip && !a ? n && t.attr(n) : n && r[a ? 'updateProps' : 'initProps'](t, n, i.animationModel, i.dataIndex, o) } function V (t, e, n) { var i = n.color, o = n.dataIndex, s = n.itemModel, l = s.getModel('itemStyle').getItemStyle(['color']), u = s.getModel('emphasis.itemStyle').getItemStyle(), c = s.getShallow('cursor'); N(t, function (t) { t.setColor(i), t.setStyle(a.defaults({fill: i, opacity: n.opacity}, l)), r.setHoverStyle(t, u), c && (t.cursor = c), t.z2 = n.z2 }); var h = {}, f = e.valueDim.posDesc[+(n.boundingLength > 0)], p = t.__pictorialBarRect; d(p.style, h, s, i, e.seriesModel, o, f), r.setHoverStyle(p, h) } function B (t) { var e = Math.round(t); return Math.abs(t - e) < 1e-4 ? e : Math.ceil(t) } var G = m; t.exports = G }, '340d': function (t, e, n) { var i = n('6d8b'), a = n('e887'), r = n('4e47'), o = n('80f0'), s = 'sunburstRootToNode', l = a.extend({type: 'sunburst', init: function () {}, render: function (t, e, n, a) { var s = this; this.seriesModel = t, this.api = n, this.ecModel = e; var l = t.getData(), u = l.tree.root, c = t.getViewRoot(), h = this.group, d = t.get('renderLabelForZeroData'), f = []; c.eachNode(function (t) { f.push(t) }); var p = this._oldChildren || []; if (v(f, p), _(u, c), a && a.highlight && a.highlight.piece) { var g = t.getShallow('highlightPolicy'); a.highlight.piece.onEmphasis(g) } else if (a && a.unhighlight) { var m = this.virtualPiece; !m && u.children.length && (m = u.children[0].piece), m && m.onNormal() } function v (t, e) { function n (t) { return t.getId() } function a (n, i) { var a = n == null ? null : t[n], r = i == null ? null : e[i]; y(a, r) }t.length === 0 && e.length === 0 || new o(e, t, n, n).add(a).update(a).remove(i.curry(a, null)).execute() } function y (n, i) { if (d || !n || n.getValue() || (n = null), n !== u && i !== u) if (i && i.piece)n ? (i.piece.updateData(!1, n, 'normal', t, e), l.setItemGraphicEl(n.dataIndex, i.piece)) : x(i); else if (n) { var a = new r(n, t, e); h.add(a), l.setItemGraphicEl(n.dataIndex, a) } } function x (t) { t && t.piece && (h.remove(t.piece), t.piece = null) } function _ (n, i) { if (i.depth > 0) { s.virtualPiece ? s.virtualPiece.updateData(!1, n, 'normal', t, e) : (s.virtualPiece = new r(n, t, e), h.add(s.virtualPiece)), i.piece._onclickEvent && i.piece.off('click', i.piece._onclickEvent); var a = function (t) { s._rootToNode(i.parentNode) }; i.piece._onclickEvent = a, s.virtualPiece.on('click', a) } else s.virtualPiece && (h.remove(s.virtualPiece), s.virtualPiece = null) } this._initEvents(), this._oldChildren = f }, dispose: function () {}, _initEvents: function () { var t = this, e = function (e) { var n = !1, i = t.seriesModel.getViewRoot(); i.eachNode(function (i) { if (!n && i.piece && i.piece.childAt(0) === e.target) { var a = i.getModel().get('nodeClick'); if (a === 'rootToNode')t._rootToNode(i); else if (a === 'link') { var r = i.getModel(), o = r.get('link'); if (o) { var s = r.get('target', !0) || '_blank'; window.open(o, s) } }n = !0 } }) }; this.group._onclickEvent && this.group.off('click', this.group._onclickEvent), this.group.on('click', e), this.group._onclickEvent = e }, _rootToNode: function (t) { t !== this.seriesModel.getViewRoot() && this.api.dispatchAction({type: s, from: this.uid, seriesId: this.seriesModel.id, targetNode: t}) }, containPoint: function (t, e) { var n = e.getData(), i = n.getItemLayout(0); if (i) { var a = t[0] - i.cx, r = t[1] - i.cy, o = Math.sqrt(a * a + r * r); return o <= i.r && o >= i.r0 } }}), u = l; t.exports = u }, '342d': function (t, e, n) { var i = n('cbe5'), a = n('20c8'), r = n('ee84'), o = ['m', 'M', 'l', 'L', 'v', 'V', 'h', 'H', 'z', 'Z', 'c', 'C', 'q', 'Q', 't', 'T', 's', 'S', 'a', 'A'], s = Math.sqrt, l = Math.sin, u = Math.cos, c = Math.PI, h = function (t) { return Math.sqrt(t[0] * t[0] + t[1] * t[1]) }, d = function (t, e) { return (t[0] * e[0] + t[1] * e[1]) / (h(t) * h(e)) }, f = function (t, e) { return (t[0] * e[1] < t[1] * e[0] ? -1 : 1) * Math.acos(d(t, e)) }; function p (t, e, n, i, a, r, o, h, p, g, m) { var v = p * (c / 180), y = u(v) * (t - n) / 2 + l(v) * (e - i) / 2, x = -1 * l(v) * (t - n) / 2 + u(v) * (e - i) / 2, _ = y * y / (o * o) + x * x / (h * h); _ > 1 && (o *= s(_), h *= s(_)); var b = (a === r ? -1 : 1) * s((o * o * (h * h) - o * o * (x * x) - h * h * (y * y)) / (o * o * (x * x) + h * h * (y * y))) || 0, w = b * o * x / h, S = b * -h * y / o, M = (t + n) / 2 + u(v) * w - l(v) * S, I = (e + i) / 2 + l(v) * w + u(v) * S, A = f([1, 0], [(y - w) / o, (x - S) / h]), T = [(y - w) / o, (x - S) / h], C = [(-1 * y - w) / o, (-1 * x - S) / h], D = f(T, C); d(T, C) <= -1 && (D = c), d(T, C) >= 1 && (D = 0), r === 0 && D > 0 && (D -= 2 * c), r === 1 && D < 0 && (D += 2 * c), m.addData(g, M, I, o, h, A, D, v, r) } function g (t) { if (!t) return []; var e, n = t.replace(/-/g, ' -').replace(/ {2}/g, ' ').replace(/ /g, ',').replace(/,,/g, ','); for (e = 0; e < o.length; e++)n = n.replace(new RegExp(o[e], 'g'), '|' + o[e]); var i, r = n.split('|'), s = 0, l = 0, u = new a(), c = a.CMD; for (e = 1; e < r.length; e++) { var h, d = r[e], f = d.charAt(0), g = 0, m = d.slice(1).replace(/e,-/g, 'e-').split(','); m.length > 0 && m[0] === '' && m.shift(); for (var v = 0; v < m.length; v++)m[v] = parseFloat(m[v]); while (g < m.length && !isNaN(m[g])) { if (isNaN(m[0])) break; var y, x, _, b, w, S, M, I = s, A = l; switch (f) { case 'l':s += m[g++], l += m[g++], h = c.L, u.addData(h, s, l); break; case 'L':s = m[g++], l = m[g++], h = c.L, u.addData(h, s, l); break; case 'm':s += m[g++], l += m[g++], h = c.M, u.addData(h, s, l), f = 'l'; break; case 'M':s = m[g++], l = m[g++], h = c.M, u.addData(h, s, l), f = 'L'; break; case 'h':s += m[g++], h = c.L, u.addData(h, s, l); break; case 'H':s = m[g++], h = c.L, u.addData(h, s, l); break; case 'v':l += m[g++], h = c.L, u.addData(h, s, l); break; case 'V':l = m[g++], h = c.L, u.addData(h, s, l); break; case 'C':h = c.C, u.addData(h, m[g++], m[g++], m[g++], m[g++], m[g++], m[g++]), s = m[g - 2], l = m[g - 1]; break; case 'c':h = c.C, u.addData(h, m[g++] + s, m[g++] + l, m[g++] + s, m[g++] + l, m[g++] + s, m[g++] + l), s += m[g - 2], l += m[g - 1]; break; case 'S':y = s, x = l; var T = u.len(), C = u.data; i === c.C && (y += s - C[T - 4], x += l - C[T - 3]), h = c.C, I = m[g++], A = m[g++], s = m[g++], l = m[g++], u.addData(h, y, x, I, A, s, l); break; case 's':y = s, x = l; T = u.len(), C = u.data; i === c.C && (y += s - C[T - 4], x += l - C[T - 3]), h = c.C, I = s + m[g++], A = l + m[g++], s += m[g++], l += m[g++], u.addData(h, y, x, I, A, s, l); break; case 'Q':I = m[g++], A = m[g++], s = m[g++], l = m[g++], h = c.Q, u.addData(h, I, A, s, l); break; case 'q':I = m[g++] + s, A = m[g++] + l, s += m[g++], l += m[g++], h = c.Q, u.addData(h, I, A, s, l); break; case 'T':y = s, x = l; T = u.len(), C = u.data; i === c.Q && (y += s - C[T - 4], x += l - C[T - 3]), s = m[g++], l = m[g++], h = c.Q, u.addData(h, y, x, s, l); break; case 't':y = s, x = l; T = u.len(), C = u.data; i === c.Q && (y += s - C[T - 4], x += l - C[T - 3]), s += m[g++], l += m[g++], h = c.Q, u.addData(h, y, x, s, l); break; case 'A':_ = m[g++], b = m[g++], w = m[g++], S = m[g++], M = m[g++], I = s, A = l, s = m[g++], l = m[g++], h = c.A, p(I, A, s, l, S, M, _, b, w, h, u); break; case 'a':_ = m[g++], b = m[g++], w = m[g++], S = m[g++], M = m[g++], I = s, A = l, s += m[g++], l += m[g++], h = c.A, p(I, A, s, l, S, M, _, b, w, h, u); break } }f !== 'z' && f !== 'Z' || (h = c.Z, u.addData(h)), i = h } return u.toStatic(), u } function m (t, e) { var n = g(t); return e = e || {}, e.buildPath = function (t) { if (t.setData) { t.setData(n.data); var e = t.getContext(); e && t.rebuildPath(e) } else { e = t; n.rebuildPath(e) } }, e.applyTransform = function (t) { r(n, t), this.dirty(!0) }, e } function v (t, e) { return new i(m(t, e)) } function y (t, e) { return i.extend(m(t, e)) } function x (t, e) { for (var n = [], a = t.length, r = 0; r < a; r++) { var o = t[r]; o.path || o.createPathProxy(), o.__dirtyPath && o.buildPath(o.path, o.shape, !0), n.push(o.path) } var s = new i(e); return s.createPathProxy(), s.buildPath = function (t) { t.appendPath(n); var e = t.getContext(); e && t.rebuildPath(e) }, s }e.createFromString = v, e.extendFromString = y, e.mergePath = x }, '347f': function (t, e, n) { var i = n('6d8b'), a = n('9850'), r = n('1687'), o = n('2306'), s = n('f934'), l = n('933b'), u = n('08c3'), c = n('a15a'), h = c.createSymbol, d = n('697e'), f = n('3842'), p = n('eda2'), g = p.encodeHTML, m = i.bind, v = i.each, y = Math.PI, x = l.extend({type: 'timeline.slider', init: function (t, e) { this.api = e, this._axis, this._viewRect, this._timer, this._currentPointer, this._mainGroup, this._labelGroup }, render: function (t, e, n, i) { if (this.model = t, this.api = n, this.ecModel = e, this.group.removeAll(), t.get('show', !0)) { var a = this._layout(t, n), r = this._createGroup('mainGroup'), o = this._createGroup('labelGroup'), s = this._axis = this._createAxis(a, t); t.formatTooltip = function (t) { return g(s.scale.getLabel(t)) }, v(['AxisLine', 'AxisTick', 'Control', 'CurrentPointer'], function (e) { this['_render' + e](a, r, s, t) }, this), this._renderAxisLabel(a, o, s, t), this._position(a, t) } this._doPlayStop() }, remove: function () { this._clearTimer(), this.group.removeAll() }, dispose: function () { this._clearTimer() }, _layout: function (t, e) { var n = t.get('label.position'), i = t.get('orient'), a = _(t, e); n == null || n === 'auto' ? n = i === 'horizontal' ? a.y + a.height / 2 < e.getHeight() / 2 ? '-' : '+' : a.x + a.width / 2 < e.getWidth() / 2 ? '+' : '-' : isNaN(n) && (n = {horizontal: {top: '-', bottom: '+'}, vertical: {left: '-', right: '+'}}[i][n]); var r, o, s, l, u = {horizontal: 'center', vertical: n >= 0 || n === '+' ? 'left' : 'right'}, c = {horizontal: n >= 0 || n === '+' ? 'top' : 'bottom', vertical: 'middle'}, h = {horizontal: 0, vertical: y / 2}, d = i === 'vertical' ? a.height : a.width, f = t.getModel('controlStyle'), p = f.get('show', !0), g = p ? f.get('itemSize') : 0, m = p ? f.get('itemGap') : 0, v = g + m, x = t.get('label.rotate') || 0; x = x * y / 180; var b = f.get('position', !0), w = p && f.get('showPlayBtn', !0), S = p && f.get('showPrevBtn', !0), M = p && f.get('showNextBtn', !0), I = 0, A = d; return b === 'left' || b === 'bottom' ? (w && (r = [0, 0], I += v), S && (o = [I, 0], I += v), M && (s = [A - g, 0], A -= v)) : (w && (r = [A - g, 0], A -= v), S && (o = [0, 0], I += v), M && (s = [A - g, 0], A -= v)), l = [I, A], t.get('inverse') && l.reverse(), {viewRect: a, mainLength: d, orient: i, rotation: h[i], labelRotation: x, labelPosOpt: n, labelAlign: t.get('label.align') || u[i], labelBaseline: t.get('label.verticalAlign') || t.get('label.baseline') || c[i], playPosition: r, prevBtnPosition: o, nextBtnPosition: s, axisExtent: l, controlSize: g, controlGap: m} }, _position: function (t, e) { var n = this._mainGroup, i = this._labelGroup, a = t.viewRect; if (t.orient === 'vertical') { var o = r.create(), s = a.x, l = a.y + a.height; r.translate(o, o, [-s, -l]), r.rotate(o, o, -y / 2), r.translate(o, o, [s, l]), a = a.clone(), a.applyTransform(o) } var u = v(a), c = v(n.getBoundingRect()), h = v(i.getBoundingRect()), d = n.position, f = i.position; f[0] = d[0] = u[0][0]; var p = t.labelPosOpt; if (isNaN(p)) { var g = p === '+' ? 0 : 1; x(d, c, u, 1, g), x(f, h, u, 1, 1 - g) } else { g = p >= 0 ? 0 : 1; x(d, c, u, 1, g), f[1] = d[1] + p } function m (t) { var e = t.position; t.origin = [u[0][0] - e[0], u[1][0] - e[1]] } function v (t) { return [[t.x, t.x + t.width], [t.y, t.y + t.height]] } function x (t, e, n, i, a) { t[i] += n[i][a] - e[i][a] }n.attr('position', d), i.attr('position', f), n.rotation = i.rotation = t.rotation, m(n), m(i) }, _createAxis: function (t, e) { var n = e.getData(), i = e.get('axisType'), a = d.createScaleByModel(e, i); a.getTicks = function () { return n.mapArray(['value'], function (t) { return t }) }; var r = n.getDataExtent('value'); a.setExtent(r[0], r[1]), a.niceTicks(); var o = new u('value', a, t.axisExtent, i); return o.model = e, o }, _createGroup: function (t) { var e = this['_' + t] = new o.Group(); return this.group.add(e), e }, _renderAxisLine: function (t, e, n, a) { var r = n.getExtent(); a.get('lineStyle.show') && e.add(new o.Line({shape: {x1: r[0], y1: 0, x2: r[1], y2: 0}, style: i.extend({lineCap: 'round'}, a.getModel('lineStyle').getLineStyle()), silent: !0, z2: 1})) }, _renderAxisTick: function (t, e, n, i) { var a = i.getData(), r = n.scale.getTicks(); v(r, function (t) { var r = n.dataToCoord(t), s = a.getItemModel(t), l = s.getModel('itemStyle'), u = s.getModel('emphasis.itemStyle'), c = {position: [r, 0], onclick: m(this._changeTimeline, this, t)}, h = w(s, l, e, c); o.setHoverStyle(h, u.getItemStyle()), s.get('tooltip') ? (h.dataIndex = t, h.dataModel = i) : h.dataIndex = h.dataModel = null }, this) }, _renderAxisLabel: function (t, e, n, i) { var a = n.getLabelModel(); if (a.get('show')) { var r = i.getData(), s = n.getViewLabels(); v(s, function (i) { var a = i.tickValue, s = r.getItemModel(a), l = s.getModel('label'), u = s.getModel('emphasis.label'), c = n.dataToCoord(i.tickValue), h = new o.Text({position: [c, 0], rotation: t.labelRotation - t.rotation, onclick: m(this._changeTimeline, this, a), silent: !1}); o.setTextStyle(h.style, l, {text: i.formattedLabel, textAlign: t.labelAlign, textVerticalAlign: t.labelBaseline}), e.add(h), o.setHoverStyle(h, o.setTextStyle({}, u)) }, this) } }, _renderControl: function (t, e, n, i) { var a = t.controlSize, r = t.rotation, s = i.getModel('controlStyle').getItemStyle(), l = i.getModel('emphasis.controlStyle').getItemStyle(), u = [0, -a / 2, a, a], c = i.getPlayState(), h = i.get('inverse', !0); function d (t, n, c, h) { if (t) { var d = {position: t, origin: [a / 2, 0], rotation: h ? -r : 0, rectHover: !0, style: s, onclick: c}, f = b(i, n, u, d); e.add(f), o.setHoverStyle(f, l) } }d(t.nextBtnPosition, 'controlStyle.nextIcon', m(this._changeTimeline, this, h ? '-' : '+')), d(t.prevBtnPosition, 'controlStyle.prevIcon', m(this._changeTimeline, this, h ? '+' : '-')), d(t.playPosition, 'controlStyle.' + (c ? 'stopIcon' : 'playIcon'), m(this._handlePlayClick, this, !c), !0) }, _renderCurrentPointer: function (t, e, n, i) { var a = i.getData(), r = i.getCurrentIndex(), o = a.getItemModel(r).getModel('checkpointStyle'), s = this, l = {onCreate: function (t) { t.draggable = !0, t.drift = m(s._handlePointerDrag, s), t.ondragend = m(s._handlePointerDragend, s), S(t, r, n, i, !0) }, onUpdate: function (t) { S(t, r, n, i) }}; this._currentPointer = w(o, o, this._mainGroup, {}, this._currentPointer, l) }, _handlePlayClick: function (t) { this._clearTimer(), this.api.dispatchAction({type: 'timelinePlayChange', playState: t, from: this.uid}) }, _handlePointerDrag: function (t, e, n) { this._clearTimer(), this._pointerChangeTimeline([n.offsetX, n.offsetY]) }, _handlePointerDragend: function (t) { this._pointerChangeTimeline([t.offsetX, t.offsetY], !0) }, _pointerChangeTimeline: function (t, e) { var n = this._toAxisCoord(t)[0], i = this._axis, a = f.asc(i.getExtent().slice()); n > a[1] && (n = a[1]), n < a[0] && (n = a[0]), this._currentPointer.position[0] = n, this._currentPointer.dirty(); var r = this._findNearestTick(n), o = this.model; (e || r !== o.getCurrentIndex() && o.get('realtime')) && this._changeTimeline(r) }, _doPlayStop: function () { function t () { var t = this.model; this._changeTimeline(t.getCurrentIndex() + (t.get('rewind', !0) ? -1 : 1)) } this._clearTimer(), this.model.getPlayState() && (this._timer = setTimeout(m(t, this), this.model.get('playInterval'))) }, _toAxisCoord: function (t) { var e = this._mainGroup.getLocalTransform(); return o.applyTransform(t, e, !0) }, _findNearestTick: function (t) { var e, n = this.model.getData(), i = 1 / 0, a = this._axis; return n.each(['value'], function (n, r) { var o = a.dataToCoord(n), s = Math.abs(o - t); s < i && (i = s, e = r) }), e }, _clearTimer: function () { this._timer && (clearTimeout(this._timer), this._timer = null) }, _changeTimeline: function (t) { var e = this.model.getCurrentIndex(); t === '+' ? t = e + 1 : t === '-' && (t = e - 1), this.api.dispatchAction({type: 'timelineChange', currentIndex: t, from: this.uid}) }}); function _ (t, e) { return s.getLayoutRect(t.getBoxLayoutParams(), {width: e.getWidth(), height: e.getHeight()}, t.get('padding')) } function b (t, e, n, r) { var s = o.makePath(t.get(e).replace(/^path:\/\//, ''), i.clone(r || {}), new a(n[0], n[1], n[2], n[3]), 'center'); return s } function w (t, e, n, a, r, o) { var s = e.get('color'); if (r)r.setColor(s), n.add(r), o && o.onUpdate(r); else { var l = t.get('symbol'); r = h(l, -1, -1, 2, 2, s), r.setStyle('strokeNoScale', !0), n.add(r), o && o.onCreate(r) } var u = e.getItemStyle(['color', 'symbol', 'symbolSize']); r.setStyle(u), a = i.merge({rectHover: !0, z2: 100}, a, !0); var c = t.get('symbolSize'); c = c instanceof Array ? c.slice() : [+c, +c], c[0] /= 2, c[1] /= 2, a.scale = c; var d = t.get('symbolOffset'); if (d) { var p = a.position = a.position || [0, 0]; p[0] += f.parsePercent(d[0], c[0]), p[1] += f.parsePercent(d[1], c[1]) } var g = t.get('symbolRotate'); return a.rotation = (g || 0) * Math.PI / 180 || 0, r.attr(a), r.updateTransform(), r } function S (t, e, n, i, a) { if (!t.dragging) { var r = i.getModel('checkpointStyle'), o = n.dataToCoord(i.getData().get(['value'], e)); a || !r.get('animation', !0) ? t.attr({position: [o, 0]}) : (t.stopAnimation(!0), t.animateTo({position: [o, 0]}, r.get('animationDuration', !0), r.get('animationEasing', !0))) } }t.exports = x }, 3790: function (t, e, n) { var i = n('3a56'), a = i.extend({type: 'dataZoom.slider', layoutMode: 'box', defaultOption: {show: !0, right: 'ph', top: 'ph', width: 'ph', height: 'ph', left: null, bottom: null, backgroundColor: 'rgba(47,69,84,0)', dataBackground: {lineStyle: {color: '#2f4554', width: 0.5, opacity: 0.3}, areaStyle: {color: 'rgba(47,69,84,0.3)', opacity: 0.3}}, borderColor: '#ddd', fillerColor: 'rgba(167,183,204,0.4)', handleIcon: 'M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z', handleSize: '100%', handleStyle: {color: '#a7b7cc'}, labelPrecision: null, labelFormatter: null, showDetail: !0, showDataShadow: 'auto', realtime: !0, zoomLock: !1, textStyle: {color: '#333'}}}), r = a; t.exports = r }, 3842: function (t, e, n) { var i = n('6d8b'), a = 1e-4; function r (t) { return t.replace(/^\s+/, '').replace(/\s+$/, '') } function o (t, e, n, i) { var a = e[1] - e[0], r = n[1] - n[0]; if (a === 0) return r === 0 ? n[0] : (n[0] + n[1]) / 2; if (i) if (a > 0) { if (t <= e[0]) return n[0]; if (t >= e[1]) return n[1] } else { if (t >= e[0]) return n[0]; if (t <= e[1]) return n[1] } else { if (t === e[0]) return n[0]; if (t === e[1]) return n[1] } return (t - e[0]) / a * r + n[0] } function s (t, e) { switch (t) { case 'center':case 'middle':t = '50%'; break; case 'left':case 'top':t = '0%'; break; case 'right':case 'bottom':t = '100%'; break } return typeof t === 'string' ? r(t).match(/%$/) ? parseFloat(t) / 100 * e : parseFloat(t) : t == null ? NaN : +t } function l (t, e, n) { return e == null && (e = 10), e = Math.min(Math.max(0, e), 20), t = (+t).toFixed(e), n ? t : +t } function u (t) { return t.sort(function (t, e) { return t - e }), t } function c (t) { if (t = +t, isNaN(t)) return 0; var e = 1, n = 0; while (Math.round(t * e) / e !== t)e *= 10, n++; return n } function h (t) { var e = t.toString(), n = e.indexOf('e'); if (n > 0) { var i = +e.slice(n + 1); return i < 0 ? -i : 0 } var a = e.indexOf('.'); return a < 0 ? 0 : e.length - 1 - a } function d (t, e) { var n = Math.log, i = Math.LN10, a = Math.floor(n(t[1] - t[0]) / i), r = Math.round(n(Math.abs(e[1] - e[0])) / i), o = Math.min(Math.max(-a + r, 0), 20); return isFinite(o) ? o : 20 } function f (t, e, n) { if (!t[e]) return 0; var a = i.reduce(t, function (t, e) { return t + (isNaN(e) ? 0 : e) }, 0); if (a === 0) return 0; var r = Math.pow(10, n), o = i.map(t, function (t) { return (isNaN(t) ? 0 : t) / a * r * 100 }), s = 100 * r, l = i.map(o, function (t) { return Math.floor(t) }), u = i.reduce(l, function (t, e) { return t + e }, 0), c = i.map(o, function (t, e) { return t - l[e] }); while (u < s) { for (var h = Number.NEGATIVE_INFINITY, d = null, f = 0, p = c.length; f < p; ++f)c[f] > h && (h = c[f], d = f); ++l[d], c[d] = 0, ++u } return l[e] / r } var p = 9007199254740991; function g (t) { var e = 2 * Math.PI; return (t % e + e) % e } function m (t) { return t > -a && t < a } var v = /^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/; function y (t) { if (t instanceof Date) return t; if (typeof t === 'string') { var e = v.exec(t); if (!e) return new Date(NaN); if (e[8]) { var n = +e[4] || 0; return e[8].toUpperCase() !== 'Z' && (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] || 0)) } return new Date(+e[1], +(e[2] || 1) - 1, +e[3] || 1, +e[4] || 0, +(e[5] || 0), +e[6] || 0, +e[7] || 0) } return t == null ? new Date(NaN) : new Date(Math.round(t)) } function x (t) { return Math.pow(10, _(t)) } function _ (t) { return Math.floor(Math.log(t) / Math.LN10) } function b (t, e) { var n, i = _(t), a = Math.pow(10, i), r = t / a; return n = e ? r < 1.5 ? 1 : r < 2.5 ? 2 : r < 4 ? 3 : r < 7 ? 5 : 10 : r < 1 ? 1 : r < 2 ? 2 : r < 3 ? 3 : r < 5 ? 5 : 10, t = n * a, i >= -20 ? +t.toFixed(i < 0 ? -i : 0) : t } function w (t) { t.sort(function (t, e) { return s(t, e, 0) ? -1 : 1 }); for (var e = -1 / 0, n = 1, i = 0; i < t.length;) { for (var a = t[i].interval, r = t[i].close, o = 0; o < 2; o++)a[o] <= e && (a[o] = e, r[o] = o ? 1 : 1 - n), e = a[o], n = r[o]; a[0] === a[1] && r[0] * r[1] !== 1 ? t.splice(i, 1) : i++ } return t; function s (t, e, n) { return t.interval[n] < e.interval[n] || t.interval[n] === e.interval[n] && (t.close[n] - e.close[n] === (n ? -1 : 1) || !n && s(t, e, 1)) } } function S (t) { return t - parseFloat(t) >= 0 }e.linearMap = o, e.parsePercent = s, e.round = l, e.asc = u, e.getPrecision = c, e.getPrecisionSafe = h, e.getPixelPrecision = d, e.getPercentWithPrecision = f, e.MAX_SAFE_INTEGER = p, e.remRadian = g, e.isRadianAroundZero = m, e.parseDate = y, e.quantity = x, e.nice = b, e.reformIntervals = w, e.isNumeric = S }, '38a2': function (t, e, n) { var i = n('2b17'), a = i.retrieveRawValue, r = n('eda2'), o = r.getTooltipMarker, s = r.formatTpl, l = /\{@(.+?)\}/g, u = {getDataParams: function (t, e) { var n = this.getData(e), i = this.getRawValue(t, e), a = n.getRawIndex(t), r = n.getName(t), s = n.getRawDataItem(t), l = n.getItemVisual(t, 'color'); return {componentType: this.mainType, componentSubType: this.subType, seriesType: this.mainType === 'series' ? this.subType : null, seriesIndex: this.seriesIndex, seriesId: this.id, seriesName: this.name, name: r, dataIndex: a, data: s, dataType: e, value: i, color: l, marker: o(l), $vars: ['seriesName', 'name', 'value']} }, getFormattedLabel: function (t, e, n, i, r) { e = e || 'normal'; var o = this.getData(n), u = o.getItemModel(t), c = this.getDataParams(t, n); i != null && c.value instanceof Array && (c.value = c.value[i]); var h = u.get(e === 'normal' ? [r || 'label', 'formatter'] : [e, r || 'label', 'formatter']); if (typeof h === 'function') return c.status = e, h(c); if (typeof h === 'string') { var d = s(h, c); return d.replace(l, function (e, n) { var i = n.length; return n.charAt(0) === '[' && n.charAt(i - 1) === ']' && (n = +n.slice(1, i - 1)), a(o, t, n) }) } }, getRawValue: function (t, e) { return a(this.getData(e), t) }, formatTooltip: function () {}}; t.exports = u }, 3901: function (t, e, n) { var i = n('282b'), a = i([['lineWidth', 'width'], ['stroke', 'color'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor']]), r = {getLineStyle: function (t) { var e = a(this, t), n = this.getLineDash(e.lineWidth); return n && (e.lineDash = n), e }, getLineDash: function (t) { t == null && (t = 1); var e = this.get('type'), n = Math.max(t, 2), i = 4 * t; return e === 'solid' || e == null ? null : e === 'dashed' ? [i, i] : [n, n] }}; t.exports = r }, '392f': function (t, e, n) { var i = n('6d8b'), a = i.inherits, r = n('19eb'), o = n('9850'); function s (t) { r.call(this, t), this._displayables = [], this._temporaryDisplayables = [], this._cursor = 0, this.notClear = !0 }s.prototype.incremental = !0, s.prototype.clearDisplaybles = function () { this._displayables = [], this._temporaryDisplayables = [], this._cursor = 0, this.dirty(), this.notClear = !1 }, s.prototype.addDisplayable = function (t, e) { e ? this._temporaryDisplayables.push(t) : this._displayables.push(t), this.dirty() }, s.prototype.addDisplayables = function (t, e) { e = e || !1; for (var n = 0; n < t.length; n++) this.addDisplayable(t[n], e) }, s.prototype.eachPendingDisplayable = function (t) { for (var e = this._cursor; e < this._displayables.length; e++)t && t(this._displayables[e]); for (e = 0; e < this._temporaryDisplayables.length; e++)t && t(this._temporaryDisplayables[e]) }, s.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 (t = 0; t < this._temporaryDisplayables.length; t++) { e = this._temporaryDisplayables[t]; e.parent = this, e.update(), e.parent = null } }, s.prototype.brush = function (t, e) { for (var n = this._cursor; n < this._displayables.length; n++) { var i = this._displayables[n]; i.beforeBrush && i.beforeBrush(t), i.brush(t, n === this._cursor ? null : this._displayables[n - 1]), i.afterBrush && i.afterBrush(t) } this._cursor = n; for (n = 0; n < this._temporaryDisplayables.length; n++) { i = this._temporaryDisplayables[n]; i.beforeBrush && i.beforeBrush(t), i.brush(t, n === 0 ? null : this._temporaryDisplayables[n - 1]), i.afterBrush && i.afterBrush(t) } this._temporaryDisplayables = [], this.notClear = !0 }; var l = []; s.prototype.getBoundingRect = function () { if (!this._rect) { for (var t = new o(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(l)), t.union(i) } this._rect = t } return this._rect }, s.prototype.contain = function (t, e) { var n = this.transformCoordToLocal(t, e), i = this.getBoundingRect(); if (i.contain(n[0], n[1])) for (var a = 0; a < this._displayables.length; a++) { var r = this._displayables[a]; if (r.contain(t, e)) return !0 } return !1 }, a(s, r); var u = s; t.exports = u }, 3942: function (t, e, n) { var i = n('3eba'), a = n('6d8b'); i.registerAction({type: 'timelineChange', event: 'timelineChanged', update: 'prepareAndUpdate'}, function (t, e) { var n = e.getComponent('timeline'); return n && t.currentIndex != null && (n.setCurrentIndex(t.currentIndex), !n.get('loop', !0) && n.isIndexMax() && n.setPlayState(!1)), e.resetOption('timeline'), a.defaults({currentIndex: n.option.currentIndex}, t) }), i.registerAction({type: 'timelinePlayChange', event: 'timelinePlayChanged', update: 'update'}, function (t, e) { var n = e.getComponent('timeline'); n && t.playState != null && n.setPlayState(t.playState) }) }, 3970: function (t, e, n) { var i = n('4f85'), a = n('3301'), r = n('2039'), o = i.extend({type: 'series.heatmap', getInitialData: function (t, e) { return a(this.getSource(), this, {generateCoord: 'value'}) }, preventIncremental: function () { var t = r.get(this.get('coordinateSystem')); if (t && t.dimensions) return t.dimensions[0] === 'lng' && t.dimensions[1] === 'lat' }, defaultOption: {coordinateSystem: 'cartesian2d', zlevel: 0, z: 2, geoIndex: 0, blurSize: 30, pointSize: 20, maxOpacity: 1, minOpacity: 0}}); t.exports = o }, '3a56': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('3eba')), r = n('6d8b'), o = n('22d1'), s = n('e0d3'), l = n('50e5'), u = n('cc39'), c = r.each, h = l.eachAxisDim, d = a.extendComponentModel({type: 'dataZoom', dependencies: ['xAxis', 'yAxis', 'zAxis', 'radiusAxis', 'angleAxis', 'singleAxis', 'series'], defaultOption: {zlevel: 0, z: 4, orient: null, xAxisIndex: null, yAxisIndex: null, filterMode: 'filter', throttle: null, start: 0, end: 100, startValue: null, endValue: null, minSpan: null, maxSpan: null, minValueSpan: null, maxValueSpan: null, rangeMode: null}, init: function (t, e, n) { this._dataIntervalByAxis = {}, this._dataInfo = {}, this._axisProxies = {}, this.textStyleModel, this._autoThrottle = !0, this._rangePropMode = ['percent', 'percent']; var i = f(t); this.mergeDefaultAndTheme(t, n), this.doInit(i) }, mergeOption: function (t) { var e = f(t); r.merge(this.option, t, !0), this.doInit(e) }, doInit: function (t) { var e = this.option; o.canvasSupported || (e.realtime = !1), this._setDefaultThrottle(t), p(this, t), c([['start', 'startValue'], ['end', 'endValue']], function (t, n) { this._rangePropMode[n] === 'value' && (e[t[0]] = null) }, this), this.textStyleModel = this.getModel('textStyle'), this._resetTarget(), this._giveAxisProxies() }, _giveAxisProxies: function () { var t = this._axisProxies; this.eachTargetAxis(function (e, n, i, a) { var r = this.dependentModels[e.axis][n], o = r.__dzAxisProxy || (r.__dzAxisProxy = new u(e.name, n, this, a)); t[e.name + '_' + n] = o }, this) }, _resetTarget: function () { var t = this.option, e = this._judgeAutoMode(); h(function (e) { var n = e.axisIndex; t[n] = s.normalizeToArray(t[n]) }, this), e === 'axisIndex' ? this._autoSetAxisIndex() : e === 'orient' && this._autoSetOrient() }, _judgeAutoMode: function () { var t = this.option, e = !1; h(function (n) { t[n.axisIndex] != null && (e = !0) }, this); var n = t.orient; return n == null && e ? 'orient' : e ? void 0 : (n == null && (t.orient = 'horizontal'), 'axisIndex') }, _autoSetAxisIndex: function () { var t = !0, e = this.get('orient', !0), n = this.option, i = this.dependentModels; if (t) { var a = e === 'vertical' ? 'y' : 'x'; i[a + 'Axis'].length ? (n[a + 'AxisIndex'] = [0], t = !1) : c(i.singleAxis, function (i) { t && i.get('orient', !0) === e && (n.singleAxisIndex = [i.componentIndex], t = !1) }) }t && h(function (e) { if (t) { var i = [], a = this.dependentModels[e.axis]; if (a.length && !i.length) for (var r = 0, o = a.length; r < o; r++)a[r].get('type') === 'category' && i.push(r); n[e.axisIndex] = i, i.length && (t = !1) } }, this), t && this.ecModel.eachSeries(function (t) { this._isSeriesHasAllAxesTypeOf(t, 'value') && h(function (e) { var i = n[e.axisIndex], a = t.get(e.axisIndex), o = t.get(e.axisId), s = t.ecModel.queryComponents({mainType: e.axis, index: a, id: o})[0]; a = s.componentIndex, r.indexOf(i, a) < 0 && i.push(a) }) }, this) }, _autoSetOrient: function () { var t; this.eachTargetAxis(function (e) { !t && (t = e.name) }, this), this.option.orient = t === 'y' ? 'vertical' : 'horizontal' }, _isSeriesHasAllAxesTypeOf: function (t, e) { var n = !0; return h(function (i) { var a = t.get(i.axisIndex), r = this.dependentModels[i.axis][a]; r && r.get('type') === e || (n = !1) }, this), n }, _setDefaultThrottle: function (t) { if (t.hasOwnProperty('throttle') && (this._autoThrottle = !1), this._autoThrottle) { var e = this.ecModel.option; this.option.throttle = e.animation && e.animationDurationUpdate > 0 ? 100 : 20 } }, getFirstTargetAxisModel: function () { var t; return h(function (e) { if (t == null) { var n = this.get(e.axisIndex); n.length && (t = this.dependentModels[e.axis][n[0]]) } }, this), t }, eachTargetAxis: function (t, e) { var n = this.ecModel; h(function (i) { c(this.get(i.axisIndex), function (a) { t.call(e, i, a, this, n) }, this) }, this) }, getAxisProxy: function (t, e) { return this._axisProxies[t + '_' + e] }, getAxisModel: function (t, e) { var n = this.getAxisProxy(t, e); return n && n.getAxisModel() }, setRawRange: function (t, e) { var n = this.option; c([['start', 'startValue'], ['end', 'endValue']], function (e) { t[e[0]] == null && t[e[1]] == null || (n[e[0]] = t[e[0]], n[e[1]] = t[e[1]]) }, this), !e && p(this, t) }, getPercentRange: function () { var t = this.findRepresentativeAxisProxy(); if (t) return t.getDataPercentWindow() }, getValueRange: function (t, e) { if (t != null || e != null) return this.getAxisProxy(t, e).getDataValueWindow(); var n = this.findRepresentativeAxisProxy(); return n ? n.getDataValueWindow() : void 0 }, findRepresentativeAxisProxy: function (t) { if (t) return t.__dzAxisProxy; var e = this._axisProxies; for (var n in e) if (e.hasOwnProperty(n) && e[n].hostedBy(this)) return e[n]; for (var n in e) if (e.hasOwnProperty(n) && !e[n].hostedBy(this)) return e[n] }, getRangePropMode: function () { return this._rangePropMode.slice() }}); function f (t) { var e = {}; return c(['start', 'end', 'startValue', 'endValue', 'throttle'], function (n) { t.hasOwnProperty(n) && (e[n] = t[n]) }), e } function p (t, e) { var n = t._rangePropMode, i = t.get('rangeMode'); c([['start', 'startValue'], ['end', 'endValue']], function (t, a) { var r = e[t[0]] != null, o = e[t[1]] != null; r && !o ? n[a] = 'percent' : !r && o ? n[a] = 'value' : i ? n[a] = i[a] : r && (n[a] = 'percent') }) } var g = d; t.exports = g }, '3cd6': function (t, e, n) { var i = n('6d8b'), a = n('48a9'), r = n('607d'), o = n('72b6'), s = n('2306'), l = n('3842'), u = n('ef6a'), c = n('cbb0'), h = n('e0d3'), d = l.linearMap, f = i.each, p = Math.min, g = Math.max, m = 12, v = 6, y = o.extend({type: 'visualMap.continuous', init: function () { y.superApply(this, 'init', arguments), this._shapes = {}, this._dataInterval = [], this._handleEnds = [], this._orient, this._useHandle, this._hoverLinkDataIndices = [], this._dragging, this._hovering }, doRender: function (t, e, n, i) { i && i.type === 'selectDataRange' && i.from === this.uid || this._buildView() }, _buildView: function () { this.group.removeAll(); var t = this.visualMapModel, e = this.group; this._orient = t.get('orient'), this._useHandle = t.get('calculable'), this._resetInterval(), this._renderBar(e); var n = t.get('text'); this._renderEndsText(e, n, 0), this._renderEndsText(e, n, 1), this._updateView(!0), this.renderBackground(e), this._updateView(), this._enableHoverLinkToSeries(), this._enableHoverLinkFromSeries(), this.positionGroup(e) }, _renderEndsText: function (t, e, n) { if (e) { var i = e[1 - n]; i = i != null ? i + '' : ''; var a = this.visualMapModel, r = a.get('textGap'), o = a.itemSize, l = this._shapes.barGroup, u = this._applyTransform([o[0] / 2, n === 0 ? -r : o[1] + r], l), c = this._applyTransform(n === 0 ? 'bottom' : 'top', l), h = this._orient, d = this.visualMapModel.textStyleModel; this.group.add(new s.Text({style: {x: u[0], y: u[1], textVerticalAlign: h === 'horizontal' ? 'middle' : c, textAlign: h === 'horizontal' ? c : 'center', text: i, textFont: d.getFont(), textFill: d.getTextColor()}})) } }, _renderBar: function (t) { var e = this.visualMapModel, n = this._shapes, a = e.itemSize, r = this._orient, o = this._useHandle, s = c.getItemAlign(e, this.api, a), l = n.barGroup = this._createBarGroup(s); l.add(n.outOfRange = x()), l.add(n.inRange = x(null, o ? M(this._orient) : null, i.bind(this._dragHandle, this, 'all', !1), i.bind(this._dragHandle, this, 'all', !0))); var u = e.textStyleModel.getTextRect('国'), h = g(u.width, u.height); o && (n.handleThumbs = [], n.handleLabels = [], n.handleLabelPoints = [], this._createHandle(l, 0, a, h, r, s), this._createHandle(l, 1, a, h, r, s)), this._createIndicator(l, a, h, r), t.add(l) }, _createHandle: function (t, e, n, a, o) { var l = i.bind(this._dragHandle, this, e, !1), u = i.bind(this._dragHandle, this, e, !0), c = x(_(e, a), M(this._orient), l, u); c.position[0] = n[0], t.add(c); var h = this.visualMapModel.textStyleModel, d = new s.Text({draggable: !0, drift: l, onmousemove: function (t) { r.stop(t.event) }, ondragend: u, style: {x: 0, y: 0, text: '', textFont: h.getFont(), textFill: h.getTextColor()}}); this.group.add(d); var f = [o === 'horizontal' ? a / 2 : 1.5 * a, o === 'horizontal' ? e === 0 ? -1.5 * a : 1.5 * a : e === 0 ? -a / 2 : a / 2], p = this._shapes; p.handleThumbs[e] = c, p.handleLabelPoints[e] = f, p.handleLabels[e] = d }, _createIndicator: function (t, e, n, i) { var a = x([[0, 0]], 'move'); a.position[0] = e[0], a.attr({invisible: !0, silent: !0}), t.add(a); var r = this.visualMapModel.textStyleModel, o = new s.Text({silent: !0, invisible: !0, style: {x: 0, y: 0, text: '', textFont: r.getFont(), textFill: r.getTextColor()}}); this.group.add(o); var l = [i === 'horizontal' ? n / 2 : v + 3, 0], u = this._shapes; u.indicator = a, u.indicatorLabel = o, u.indicatorLabelPoint = l }, _dragHandle: function (t, e, n, i) { if (this._useHandle) { if (this._dragging = !e, !e) { var a = this._applyTransform([n, i], this._shapes.barGroup, !0); this._updateInterval(t, a[1]), this._updateView() }e === !this.visualMapModel.get('realtime') && this.api.dispatchAction({type: 'selectDataRange', from: this.uid, visualMapId: this.visualMapModel.id, selected: this._dataInterval.slice()}), e ? !this._hovering && this._clearHoverLinkToSeries() : S(this.visualMapModel) && this._doHoverLinkToSeries(this._handleEnds[t], !1) } }, _resetInterval: function () { var t = this.visualMapModel, e = this._dataInterval = t.getSelected(), n = t.getExtent(), i = [0, t.itemSize[1]]; this._handleEnds = [d(e[0], n, i, !0), d(e[1], n, i, !0)] }, _updateInterval: function (t, e) { e = e || 0; var n = this.visualMapModel, i = this._handleEnds, a = [0, n.itemSize[1]]; u(e, i, a, t, 0); var r = n.getExtent(); this._dataInterval = [d(i[0], a, r, !0), d(i[1], a, r, !0)] }, _updateView: function (t) { var e = this.visualMapModel, n = e.getExtent(), i = this._shapes, a = [0, e.itemSize[1]], r = t ? a : this._handleEnds, o = this._createBarVisual(this._dataInterval, n, r, 'inRange'), s = this._createBarVisual(n, n, a, 'outOfRange'); i.inRange.setStyle({fill: o.barColor, opacity: o.opacity}).setShape('points', o.barPoints), i.outOfRange.setStyle({fill: s.barColor, opacity: s.opacity}).setShape('points', s.barPoints), this._updateHandle(r, o) }, _createBarVisual: function (t, e, n, i) { var r = {forceState: i, convertOpacityToAlpha: !0}, o = this._makeColorGradient(t, r), s = [this.getControllerVisual(t[0], 'symbolSize', r), this.getControllerVisual(t[1], 'symbolSize', r)], l = this._createBarPoints(n, s); return {barColor: new a(0, 0, 0, 1, o), barPoints: l, handlesColor: [o[0].color, o[o.length - 1].color]} }, _makeColorGradient: function (t, e) { var n = 100, i = [], a = (t[1] - t[0]) / n; i.push({color: this.getControllerVisual(t[0], 'color', e), offset: 0}); for (var r = 1; r < n; r++) { var o = t[0] + a * r; if (o > t[1]) break; i.push({color: this.getControllerVisual(o, 'color', e), offset: r / n}) } return i.push({color: this.getControllerVisual(t[1], 'color', e), offset: 1}), i }, _createBarPoints: function (t, e) { var n = this.visualMapModel.itemSize; return [[n[0] - e[0], t[0]], [n[0], t[0]], [n[0], t[1]], [n[0] - e[1], t[1]]] }, _createBarGroup: function (t) { var e = this._orient, n = this.visualMapModel.get('inverse'); return new s.Group(e !== 'horizontal' || n ? e === 'horizontal' && n ? {scale: t === 'bottom' ? [-1, 1] : [1, 1], rotation: -Math.PI / 2} : e !== 'vertical' || n ? {scale: t === 'left' ? [1, 1] : [-1, 1]} : {scale: t === 'left' ? [1, -1] : [-1, -1]} : {scale: t === 'bottom' ? [1, 1] : [-1, 1], rotation: Math.PI / 2}) }, _updateHandle: function (t, e) { if (this._useHandle) { var n = this._shapes, i = this.visualMapModel, a = n.handleThumbs, r = n.handleLabels; f([0, 1], function (o) { var l = a[o]; l.setStyle('fill', e.handlesColor[o]), l.position[1] = t[o]; var u = s.applyTransform(n.handleLabelPoints[o], s.getTransform(l, this.group)); r[o].setStyle({x: u[0], y: u[1], text: i.formatValueText(this._dataInterval[o]), textVerticalAlign: 'middle', textAlign: this._applyTransform(this._orient === 'horizontal' ? o === 0 ? 'bottom' : 'top' : 'left', n.barGroup)}) }, this) } }, _showIndicator: function (t, e, n, i) { var a = this.visualMapModel, r = a.getExtent(), o = a.itemSize, l = [0, o[1]], u = d(t, r, l, !0), c = this._shapes, h = c.indicator; if (h) { h.position[1] = u, h.attr('invisible', !1), h.setShape('points', b(!!n, i, u, o[1])); var f = {convertOpacityToAlpha: !0}, p = this.getControllerVisual(t, 'color', f); h.setStyle('fill', p); var g = s.applyTransform(c.indicatorLabelPoint, s.getTransform(h, this.group)), m = c.indicatorLabel; m.attr('invisible', !1); var v = this._applyTransform('left', c.barGroup), y = this._orient; m.setStyle({text: (n || '') + a.formatValueText(e), textVerticalAlign: y === 'horizontal' ? v : 'middle', textAlign: y === 'horizontal' ? 'center' : v, x: g[0], y: g[1]}) } }, _enableHoverLinkToSeries: function () { var t = this; this._shapes.barGroup.on('mousemove', function (e) { if (t._hovering = !0, !t._dragging) { var n = t.visualMapModel.itemSize, i = t._applyTransform([e.offsetX, e.offsetY], t._shapes.barGroup, !0, !0); i[1] = p(g(0, i[1]), n[1]), t._doHoverLinkToSeries(i[1], i[0] >= 0 && i[0] <= n[0]) } }).on('mouseout', function () { t._hovering = !1, !t._dragging && t._clearHoverLinkToSeries() }) }, _enableHoverLinkFromSeries: function () { var t = this.api.getZr(); this.visualMapModel.option.hoverLink ? (t.on('mouseover', this._hoverLinkFromSeriesMouseOver, this), t.on('mouseout', this._hideIndicator, this)) : this._clearHoverLinkFromSeries() }, _doHoverLinkToSeries: function (t, e) { var n = this.visualMapModel, i = n.itemSize; if (n.option.hoverLink) { var a = [0, i[1]], r = n.getExtent(); t = p(g(a[0], t), a[1]); var o = w(n, r, a), s = [t - o, t + o], l = d(t, a, r, !0), u = [d(s[0], a, r, !0), d(s[1], a, r, !0)]; s[0] < a[0] && (u[0] = -1 / 0), s[1] > a[1] && (u[1] = 1 / 0), e && (u[0] === -1 / 0 ? this._showIndicator(l, u[1], '< ', o) : u[1] === 1 / 0 ? this._showIndicator(l, u[0], '> ', o) : this._showIndicator(l, l, '≈ ', o)); var f = this._hoverLinkDataIndices, m = []; (e || S(n)) && (m = this._hoverLinkDataIndices = n.findTargetDataIndices(u)); var v = h.compressBatches(f, m); this._dispatchHighDown('downplay', c.convertDataIndex(v[0])), this._dispatchHighDown('highlight', c.convertDataIndex(v[1])) } }, _hoverLinkFromSeriesMouseOver: function (t) { var e = t.target, n = this.visualMapModel; if (e && e.dataIndex != null) { var i = this.ecModel.getSeriesByIndex(e.seriesIndex); if (n.isTargetSeries(i)) { var a = i.getData(e.dataType), r = a.get(n.getDataDimension(a), e.dataIndex, !0); isNaN(r) || this._showIndicator(r, r) } } }, _hideIndicator: function () { var t = this._shapes; t.indicator && t.indicator.attr('invisible', !0), t.indicatorLabel && t.indicatorLabel.attr('invisible', !0) }, _clearHoverLinkToSeries: function () { this._hideIndicator(); var t = this._hoverLinkDataIndices; this._dispatchHighDown('downplay', c.convertDataIndex(t)), t.length = 0 }, _clearHoverLinkFromSeries: function () { this._hideIndicator(); var t = this.api.getZr(); t.off('mouseover', this._hoverLinkFromSeriesMouseOver), t.off('mouseout', this._hideIndicator) }, _applyTransform: function (t, e, n, a) { var r = s.getTransform(e, a ? null : this.group); return s[i.isArray(t) ? 'applyTransform' : 'transformDirection'](t, r, n) }, _dispatchHighDown: function (t, e) { e && e.length && this.api.dispatchAction({type: t, batch: e}) }, dispose: function () { this._clearHoverLinkFromSeries(), this._clearHoverLinkToSeries() }, remove: function () { this._clearHoverLinkFromSeries(), this._clearHoverLinkToSeries() }}); function x (t, e, n, i) { return new s.Polygon({shape: {points: t}, draggable: !!n, cursor: e, drift: n, onmousemove: function (t) { r.stop(t.event) }, ondragend: i}) } function _ (t, e) { return t === 0 ? [[0, 0], [e, 0], [e, -e]] : [[0, 0], [e, 0], [e, e]] } function b (t, e, n, i) { return t ? [[0, -p(e, g(n, 0))], [v, 0], [0, p(e, g(i - n, 0))]] : [[0, 0], [5, -5], [5, 5]] } function w (t, e, n) { var i = m / 2, a = t.get('hoverLinkDataSize'); return a && (i = d(a, e, n, !0) / 2), i } function S (t) { var e = t.get('hoverLinkOnHandle'); return !!(e == null ? t.get('realtime') : e) } function M (t) { return t === 'vertical' ? 'ns-resize' : 'ew-resize' } var I = y; t.exports = I }, '3eba': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('697e7')), r = n('6d8b'), o = n('41ef'), s = n('22d1'), l = n('04f6'), u = n('1fab'), c = n('7e63'), h = n('843e'), d = n('2039'), f = n('ca98'), p = n('fb05'), g = n('d15d'), m = n('6cb7'), v = n('4f85'), y = n('b12f'), x = n('e887'), _ = n('2306'), b = n('e0d3'), w = n('88b3'), S = w.throttle, M = n('fd63'), I = n('b809'), A = n('998c'), T = n('69ff'), C = n('c533'), D = n('f219'); n('0352'); var L = r.assert, P = r.each, k = r.isFunction, O = r.isObject, R = m.parseClassType, E = '4.1.0', N = {zrender: '4.0.4'}, z = 1, V = 1e3, B = 5e3, G = 1e3, F = 2e3, H = 3e3, W = 4e3, U = 5e3, Z = {PROCESSOR: {FILTER: V, STATISTIC: B}, VISUAL: {LAYOUT: G, GLOBAL: F, CHART: H, COMPONENT: W, BRUSH: U}}, j = '__flagInMainProcess', Y = '__optionUpdated', q = /^[a-zA-Z0-9_]+$/; function X (t) { return function (e, n, i) { e = e && e.toLowerCase(), u.prototype[t].call(this, e, n, i) } } function $ () { u.call(this) } function K (t, e, n) { n = n || {}, typeof e === 'string' && (e = It[e]), this.id, this.group, this._dom = t; var i = 'canvas', o = this._zr = a.init(t, {renderer: n.renderer || i, devicePixelRatio: n.devicePixelRatio, width: n.width, height: n.height}); this._throttledZrFlush = S(r.bind(o.flush, o), 17); e = r.clone(e); e && p(e, !0), this._theme = e, this._chartsViews = [], this._chartsMap = {}, this._componentsViews = [], this._componentsMap = {}, this._coordSysMgr = new d(); var s = this._api = yt(this); function c (t, e) { return t.__prio - e.__prio }l(Mt, c), l(bt, c), this._scheduler = new T(this, s, bt, Mt), u.call(this), this._messageCenter = new $(), this._initEvents(), this.resize = r.bind(this.resize, this), this._pendingActions = [], o.animation.on('frame', this._onframe, this), st(o, this), r.setAsPrimitive(this) }$.prototype.on = X('on'), $.prototype.off = X('off'), $.prototype.one = X('one'), r.mixin($, u); var J = K.prototype; function Q (t, e, n) { var i, a = this._model, r = this._coordSysMgr.getCoordinateSystems(); e = b.parseFinder(a, e); for (var o = 0; o < r.length; o++) { var s = r[o]; if (s[t] && (i = s[t](a, e, n)) != null) return i } }J._onframe = function () { if (!this._disposed) { var t = this._scheduler; if (this[Y]) { var e = this[Y].silent; this[j] = !0, et(this), tt.update.call(this), this[j] = !1, this[Y] = !1, rt.call(this, e), ot.call(this, e) } else if (t.unfinished) { var n = z, i = this._model, a = this._api; t.unfinished = !1; do { var r = +new Date(); t.performSeriesTasks(i), t.performDataProcessorTasks(i), it(this, i), t.performVisualTasks(i), dt(this, this._model, a, 'remain'), n -= +new Date() - r } while (n > 0 && t.unfinished);t.unfinished || this._zr.flush() } } }, J.getDom = function () { return this._dom }, J.getZr = function () { return this._zr }, J.setOption = function (t, e, n) { var i; if (O(e) && (n = e.lazyUpdate, i = e.silent, e = e.notMerge), this[j] = !0, !this._model || e) { var a = new f(this._api), r = this._theme, o = this._model = new c(null, null, r, a); o.scheduler = this._scheduler, o.init(null, null, r, a) } this._model.setOption(t, wt), n ? (this[Y] = {silent: i}, this[j] = !1) : (et(this), tt.update.call(this), this._zr.flush(), this[Y] = !1, this[j] = !1, rt.call(this, i), ot.call(this, i)) }, J.setTheme = function () { console.log('ECharts#setTheme() is DEPRECATED in ECharts 3.0') }, J.getModel = function () { return this._model }, J.getOption = function () { return this._model && this._model.getOption() }, J.getWidth = function () { return this._zr.getWidth() }, J.getHeight = function () { return this._zr.getHeight() }, J.getDevicePixelRatio = function () { return this._zr.painter.dpr || window.devicePixelRatio || 1 }, J.getRenderedCanvas = function (t) { if (s.canvasSupported) { t = t || {}, t.pixelRatio = t.pixelRatio || 1, t.backgroundColor = t.backgroundColor || this._model.get('backgroundColor'); var e = this._zr; return e.painter.getRenderedCanvas(t) } }, J.getSvgDataUrl = function () { if (s.svgSupported) { var t = this._zr, e = t.storage.getDisplayList(); return r.each(e, function (t) { t.stopAnimation(!0) }), t.painter.pathToDataUrl() } }, J.getDataURL = function (t) { t = t || {}; var e = t.excludeComponents, n = this._model, i = [], a = this; P(e, function (t) { n.eachComponent({mainType: t}, function (t) { var e = a._componentsMap[t.__viewId]; e.group.ignore || (i.push(e), e.group.ignore = !0) }) }); var r = this._zr.painter.getType() === 'svg' ? this.getSvgDataUrl() : this.getRenderedCanvas(t).toDataURL('image/' + (t && t.type || 'png')); return P(i, function (t) { t.group.ignore = !1 }), r }, J.getConnectedDataURL = function (t) { if (s.canvasSupported) { var e = this.group, n = Math.min, i = Math.max, o = 1 / 0; if (Ct[e]) { var l = o, u = o, c = -o, h = -o, d = [], f = t && t.pixelRatio || 1; r.each(Tt, function (a, o) { if (a.group === e) { var s = a.getRenderedCanvas(r.clone(t)), f = a.getDom().getBoundingClientRect(); l = n(f.left, l), u = n(f.top, u), c = i(f.right, c), h = i(f.bottom, h), d.push({dom: s, left: f.left, top: f.top}) } }), l *= f, u *= f, c *= f, h *= f; var p = c - l, g = h - u, m = r.createCanvas(); m.width = p, m.height = g; var v = a.init(m); return P(d, function (t) { var e = new _.Image({style: {x: t.left * f - l, y: t.top * f - u, image: t.dom}}); v.add(e) }), v.refreshImmediately(), m.toDataURL('image/' + (t && t.type || 'png')) } return this.getDataURL(t) } }, J.convertToPixel = r.curry(Q, 'convertToPixel'), J.convertFromPixel = r.curry(Q, 'convertFromPixel'), J.containPixel = function (t, e) { var n, i = this._model; return t = b.parseFinder(i, t), r.each(t, function (t, i) { i.indexOf('Models') >= 0 && r.each(t, function (t) { var a = t.coordinateSystem; if (a && a.containPoint)n |= !!a.containPoint(e); else if (i === 'seriesModels') { var r = this._chartsMap[t.__viewId]; r && r.containPoint && (n |= r.containPoint(e, t)) } }, this) }, this), !!n }, J.getVisual = function (t, e) { var n = this._model; t = b.parseFinder(n, t, {defaultMainType: 'series'}); var i = t.seriesModel, a = i.getData(), r = t.hasOwnProperty('dataIndexInside') ? t.dataIndexInside : t.hasOwnProperty('dataIndex') ? a.indexOfRawIndex(t.dataIndex) : null; return r != null ? a.getItemVisual(r, e) : a.getVisual(e) }, J.getViewOfComponentModel = function (t) { return this._componentsMap[t.__viewId] }, J.getViewOfSeriesModel = function (t) { return this._chartsMap[t.__viewId] }; var tt = {prepareAndUpdate: function (t) { et(this), tt.update.call(this, t) }, update: function (t) { var e = this._model, n = this._api, i = this._zr, a = this._coordSysMgr, r = this._scheduler; if (e) { r.restoreData(e, t), r.performSeriesTasks(e), a.create(e, n), r.performDataProcessorTasks(e, t), it(this, e), a.update(e, n), ut(e), r.performVisualTasks(e, t), ct(this, e, n, t); var l = e.get('backgroundColor') || 'transparent'; if (s.canvasSupported)i.setBackgroundColor(l); else { var u = o.parse(l); l = o.stringify(u, 'rgb'), u[3] === 0 && (l = 'transparent') }ft(e, n) } }, updateTransform: function (t) { var e = this._model, n = this, i = this._api; if (e) { var a = []; e.eachComponent(function (r, o) { var s = n.getViewOfComponentModel(o); if (s && s.__alive) if (s.updateTransform) { var l = s.updateTransform(o, e, i, t); l && l.update && a.push(s) } else a.push(s) }); var o = r.createHashMap(); e.eachSeries(function (a) { var r = n._chartsMap[a.__viewId]; if (r.updateTransform) { var s = r.updateTransform(a, e, i, t); s && s.update && o.set(a.uid, 1) } else o.set(a.uid, 1) }), ut(e), this._scheduler.performVisualTasks(e, t, {setDirty: !0, dirtyMap: o}), dt(n, e, i, t, o), ft(e, this._api) } }, updateView: function (t) { var e = this._model; e && (x.markUpdateMethod(t, 'updateView'), ut(e), this._scheduler.performVisualTasks(e, t, {setDirty: !0}), ct(this, this._model, this._api, t), ft(e, this._api)) }, updateVisual: function (t) { tt.update.call(this, t) }, updateLayout: function (t) { tt.update.call(this, t) }}; function et (t) { var e = t._model, n = t._scheduler; n.restorePipelines(e), n.prepareStageTasks(), lt(t, 'component', e, n), lt(t, 'chart', e, n), n.plan() } function nt (t, e, n, i, a) { var o = t._model; if (i) { 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}; a && (l.subType = a); var u = n.excludeSeriesId; u != null && (u = r.createHashMap(b.normalizeToArray(u))), o && o.eachComponent(l, function (e) { u && u.get(e.id) != null || c(t[i === 'series' ? '_chartsMap' : '_componentsMap'][e.__viewId]) }, t) } else P(t._componentsViews.concat(t._chartsViews), c); function c (i) { i && i.__alive && i[e] && i[e](i.__model, o, t._api, n) } } function it (t, e) { var n = t._chartsMap, i = t._scheduler; e.eachSeries(function (t) { i.updateStreamModes(t, n[t.__viewId]) }) } function at (t, e) { var n = t.type, i = t.escapeConnect, a = xt[n], o = a.actionInfo, s = (o.update || 'update').split(':'), l = s.pop(); s = s[0] != null && R(s[0]), this[j] = !0; var u = [t], c = !1; t.batch && (c = !0, u = r.map(t.batch, function (e) { return e = r.defaults(r.extend({}, e), t), e.batch = null, e })); var h, d = [], f = n === 'highlight' || n === 'downplay'; P(u, function (t) { h = a.action(t, this._model, this._api), h = h || r.extend({}, t), h.type = o.event || h.type, d.push(h), f ? nt(this, l, t, 'series') : s && nt(this, l, t, s.main, s.sub) }, this), l === 'none' || f || s || (this[Y] ? (et(this), tt.update.call(this, t), this[Y] = !1) : tt[l].call(this, t)), h = c ? {type: o.event || n, escapeConnect: i, batch: d} : d[0], this[j] = !1, !e && this._messageCenter.trigger(h.type, h) } function rt (t) { var e = this._pendingActions; while (e.length) { var n = e.shift(); at.call(this, n, t) } } function ot (t) { !t && this.trigger('updated') } function st (t, e) { t.on('rendered', function () { e.trigger('rendered'), !t.animation.isFinished() || e[Y] || e._scheduler.unfinished || e._pendingActions.length || e.trigger('finished') }) } function lt (t, e, n, i) { for (var a = e === 'component', r = a ? t._componentsViews : t._chartsViews, o = a ? t._componentsMap : t._chartsMap, s = t._zr, l = t._api, u = 0; u < r.length; u++)r[u].__alive = !1; function c (t) { var e = '_ec_' + t.id + '_' + t.type, u = o[e]; if (!u) { var c = R(t.type), h = a ? y.getClass(c.main, c.sub) : x.getClass(c.sub); u = new h(), u.init(n, l), o[e] = u, r.push(u), s.add(u.group) }t.__viewId = u.__id = e, u.__alive = !0, u.__model = t, u.group.__ecComponentInfo = {mainType: t.mainType, index: t.componentIndex}, !a && i.prepareView(u, t, n, l) }a ? n.eachComponent(function (t, e) { t !== 'series' && c(e) }) : n.eachSeries(c); for (u = 0; u < r.length;) { var h = r[u]; h.__alive ? u++ : (!a && h.renderTask.dispose(), s.remove(h.group), h.dispose(n, l), r.splice(u, 1), delete o[h.__id], h.__id = h.group.__ecComponentInfo = null) } } function ut (t) { t.clearColorPalette(), t.eachSeries(function (t) { t.clearColorPalette() }) } function ct (t, e, n, i) { ht(t, e, n, i), P(t._chartsViews, function (t) { t.__alive = !1 }), dt(t, e, n, i), P(t._chartsViews, function (t) { t.__alive || t.remove(e, n) }) } function ht (t, e, n, i, a) { P(a || t._componentsViews, function (t) { var a = t.__model; t.render(a, e, n, i), vt(a, t) }) } function dt (t, e, n, i, a) { var r, o = t._scheduler; e.eachSeries(function (e) { var n = t._chartsMap[e.__viewId]; n.__alive = !0; var s = n.renderTask; o.updatePayload(s, i), a && a.get(e.uid) && s.dirty(), r |= s.perform(o.getPerformArgs(s)), n.group.silent = !!e.get('silent'), vt(e, n), mt(e, n) }), o.unfinished |= r, gt(t._zr, e), I(t._zr.dom, e) } function ft (t, e) { P(St, function (n) { n(t, e) }) }J.resize = function (t) { 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[j] = !0, n && et(this), tt.update.call(this), this[j] = !1, rt.call(this, i), ot.call(this, i) } }, J.showLoading = function (t, e) { if (O(t) && (e = t, t = ''), t = t || 'default', this.hideLoading(), At[t]) { var n = At[t](this._api, e), i = this._zr; this._loadingFX = n, i.add(n) } }, J.hideLoading = function () { this._loadingFX && this._zr.remove(this._loadingFX), this._loadingFX = null }, J.makeActionFromEvent = function (t) { var e = r.extend({}, t); return e.type = _t[t.type], e }, J.dispatchAction = function (t, e) { O(e) || (e = {silent: !!e}), xt[t.type] && this._model && (this[j] ? this._pendingActions.push(t) : (at.call(this, t, e.silent), e.flush ? this._zr.flush(!0) : !1 !== e.flush && s.browser.weChat && this._throttledZrFlush(), rt.call(this, e.silent), ot.call(this, e.silent))) }, J.appendData = function (t) { var e = t.seriesIndex, n = this.getModel(), i = n.getSeriesByIndex(e); i.appendData(t), this._scheduler.unfinished = !0 }, J.on = X('on'), J.off = X('off'), J.one = X('one'); var pt = ['click', 'dblclick', 'mouseover', 'mouseout', 'mousemove', 'mousedown', 'mouseup', 'globalout', 'contextmenu']; function gt (t, e) { var n = t.storage, i = 0; n.traverse(function (t) { t.isGroup || i++ }), i > e.get('hoverLayerThreshold') && !s.node && n.traverse(function (t) { t.isGroup || (t.useHoverLayer = !0) }) } function mt (t, e) { var n = t.get('blendMode') || null; e.group.traverse(function (t) { t.isGroup || t.style.blend !== n && t.setStyle('blend', n), t.eachPendingDisplayable && t.eachPendingDisplayable(function (t) { t.setStyle('blend', n) }) }) } function vt (t, e) { var n = t.get('z'), i = t.get('zlevel'); e.group.traverse(function (t) { t.type !== 'group' && (n != null && (t.z = n), i != null && (t.zlevel = i)) }) } function yt (t) { var e = t._coordSysMgr; return r.extend(new h(t), {getCoordinateSystems: r.bind(e.getCoordinateSystems, e), getComponentByElement: function (e) { while (e) { var n = e.__ecComponentInfo; if (n != null) return t._model.getComponent(n.mainType, n.index); e = e.parent } }}) }J._initEvents = function () { P(pt, function (t) { this._zr.on(t, function (e) { var n, i = this.getModel(), a = e.target; if (t === 'globalout')n = {}; else if (a && a.dataIndex != null) { var o = a.dataModel || i.getSeriesByIndex(a.seriesIndex); n = o && o.getDataParams(a.dataIndex, a.dataType) || {} } else a && a.eventData && (n = r.extend({}, a.eventData)); n && (n.event = e, n.type = t, this.trigger(t, n)) }, this) }, this), P(_t, function (t, e) { this._messageCenter.on(e, function (t) { this.trigger(e, t) }, this) }, this) }, J.isDisposed = function () { return this._disposed }, J.clear = function () { this.setOption({series: []}, !0) }, J.dispose = function () { if (!this._disposed) { this._disposed = !0, b.setAttribute(this.getDom(), Pt, ''); var t = this._api, e = this._model; P(this._componentsViews, function (n) { n.dispose(e, t) }), P(this._chartsViews, function (n) { n.dispose(e, t) }), this._zr.dispose(), delete Tt[this.id] } }, r.mixin(K, u); var xt = {}, _t = {}, bt = [], wt = [], St = [], Mt = [], It = {}, At = {}, Tt = {}, Ct = {}, Dt = new Date() - 0, Lt = new Date() - 0, Pt = '_echarts_instance_', kt = {}; function Ot (t) { var e = 0, n = 1, i = 2, a = '__connectUpdateStatus'; function r (t, e) { for (var n = 0; n < t.length; n++) { var i = t[n]; i[a] = e } }P(_t, function (o, s) { t._messageCenter.on(s, function (o) { if (Ct[t.group] && t[a] !== e) { if (o && o.escapeConnect) return; var s = t.makeActionFromEvent(o), l = []; P(Tt, function (e) { e !== t && e.group === t.group && l.push(e) }), r(l, e), P(l, function (t) { t[a] !== n && t.dispatchAction(s) }), r(l, i) } }) }) } function Rt (t, e, n) { var i = Bt(t); if (i) return i; var a = new K(t, e, n); return a.id = 'ec_' + Dt++, Tt[a.id] = a, b.setAttribute(t, Pt, a.id), Ot(a), a } function Et (t) { if (r.isArray(t)) { var e = t; t = null, P(e, function (e) { e.group != null && (t = e.group) }), t = t || 'g_' + Lt++, P(e, function (e) { e.group = t }) } return Ct[t] = !0, t } function Nt (t) { Ct[t] = !1 } var zt = Nt; function Vt (t) { typeof t === 'string' ? t = Tt[t] : t instanceof K || (t = Bt(t)), t instanceof K && !t.isDisposed() && t.dispose() } function Bt (t) { return Tt[b.getAttribute(t, Pt)] } function Gt (t) { return Tt[t] } function Ft (t, e) { It[t] = e } function Ht (t) { wt.push(t) } function Wt (t, e) { $t(bt, t, e, V) } function Ut (t) { St.push(t) } function Zt (t, e, n) { typeof e === 'function' && (n = e, e = ''); var i = O(t) ? t.type : [t, t = {event: e}][0]; t.event = (t.event || i).toLowerCase(), e = t.event, L(q.test(i) && q.test(e)), xt[i] || (xt[i] = {action: n, actionInfo: t}), _t[e] = i } function jt (t, e) { d.register(t, e) } function Yt (t) { var e = d.get(t); if (e) return e.getDimensionsInfo ? e.getDimensionsInfo() : e.dimensions.slice() } function qt (t, e) { $t(Mt, t, e, G, 'layout') } function Xt (t, e) { $t(Mt, t, e, H, 'visual') } function $t (t, e, n, i, a) { (k(e) || O(e)) && (n = e, e = i); var r = T.wrapStageHandler(n, a); return r.__prio = e, r.__raw = n, t.push(r), r } function Kt (t, e) { At[t] = e } function Jt (t) { return m.extend(t) } function Qt (t) { return y.extend(t) } function te (t) { return v.extend(t) } function ee (t) { return x.extend(t) } function ne (t) { r.$override('createCanvas', t) } function ie (t, e, n) { e.geoJson && !e.features && (n = e.specialAreas, e = e.geoJson), typeof e === 'string' && (e = typeof JSON !== 'undefined' && JSON.parse ? JSON.parse(e) : new Function('return (' + e + ');')()), kt[t] = {geoJson: e, specialAreas: n} } function ae (t) { return kt[t] }Xt(F, M), Ht(p), Wt(B, g), Kt('default', A), Zt({type: 'highlight', event: 'highlight', update: 'highlight'}, r.noop), Zt({type: 'downplay', event: 'downplay', update: 'downplay'}, r.noop), Ft('light', C), Ft('dark', D); var re = {}; e.version = E, e.dependencies = N, e.PRIORITY = Z, e.init = Rt, e.connect = Et, e.disConnect = Nt, e.disconnect = zt, e.dispose = Vt, e.getInstanceByDom = Bt, e.getInstanceById = Gt, e.registerTheme = Ft, e.registerPreprocessor = Ht, e.registerProcessor = Wt, e.registerPostUpdate = Ut, e.registerAction = Zt, e.registerCoordinateSystem = jt, e.getCoordinateSystemDimensions = Yt, e.registerLayout = qt, e.registerVisual = Xt, e.registerLoading = Kt, e.extendComponentModel = Jt, e.extendComponentView = Qt, e.extendSeriesModel = te, e.extendChartView = ee, e.setCanvasCreator = ne, e.registerMap = ie, e.getMap = ae, e.dataTool = re; var oe = n('b719'); (function () { for (var t in oe)oe.hasOwnProperty(t) && (e[t] = oe[t]) })() }, '3f8e': function (t, e, n) { var i = n('8727'), a = i.createElement, r = n('20c8'), o = n('9850'), s = n('1687'), l = n('e86a'), u = n('a73c'), c = n('76a5'), h = r.CMD, d = Array.prototype.join, f = 'none', p = Math.round, g = Math.sin, m = Math.cos, v = Math.PI, y = 2 * Math.PI, x = 180 / v, _ = 1e-4; function b (t) { return p(1e4 * t) / 1e4 } function w (t) { return t < _ && t > -_ } function S (t, e) { var n = e ? t.textFill : t.fill; return n != null && n !== f } function M (t, e) { var n = e ? t.textStroke : t.stroke; return n != null && n !== f } function I (t, e) { e && A(t, 'transform', 'matrix(' + d.call(e, ',') + ')') } function A (t, e, n) { (!n || n.type !== 'linear' && n.type !== 'radial') && (typeof n === 'string' && n.indexOf('NaN') > -1 && console.log(n), t.setAttribute(e, n)) } function T (t, e, n) { t.setAttributeNS('http://www.w3.org/1999/xlink', e, n) } function C (t, e, n) { if (S(e, n)) { var i = n ? e.textFill : e.fill; i = i === 'transparent' ? f : i, t.getAttribute('clip-path') !== 'none' && i === f && (i = 'rgba(0, 0, 0, 0.002)'), A(t, 'fill', i), A(t, 'fill-opacity', e.opacity) } else A(t, 'fill', f); if (M(e, n)) { var a = n ? e.textStroke : e.stroke; a = a === 'transparent' ? f : a, A(t, 'stroke', a); var r = n ? e.textStrokeWidth : e.lineWidth, o = !n && e.strokeNoScale ? e.host.getLineScale() : 1; A(t, 'stroke-width', r / o), A(t, 'paint-order', n ? 'stroke' : 'fill'), A(t, 'stroke-opacity', e.opacity); var s = e.lineDash; s ? (A(t, 'stroke-dasharray', e.lineDash.join(',')), A(t, 'stroke-dashoffset', p(e.lineDashOffset || 0))) : A(t, 'stroke-dasharray', ''), e.lineCap && A(t, 'stroke-linecap', e.lineCap), e.lineJoin && A(t, 'stroke-linejoin', e.lineJoin), e.miterLimit && A(t, 'stroke-miterlimit', e.miterLimit) } else A(t, 'stroke', f) } function D (t) { for (var e = [], n = t.data, i = t.len(), a = 0; a < i;) { var r = n[a++], o = '', s = 0; switch (r) { case h.M:o = 'M', s = 2; break; case h.L:o = 'L', s = 2; break; case h.Q:o = 'Q', s = 4; break; case h.C:o = 'C', s = 6; break; case h.A:var l = n[a++], u = n[a++], c = n[a++], d = n[a++], f = n[a++], _ = n[a++], S = n[a++], M = n[a++], I = Math.abs(_), A = w(I - y) && !w(I), T = !1; T = I >= y || !w(I) && (_ > -v && _ < 0 || _ > v) === !!M; var C = b(l + c * m(f)), D = b(u + d * g(f)); A && (_ = M ? y - 1e-4 : 1e-4 - y, T = !0, a === 9 && e.push('M', C, D)); var L = b(l + c * m(f + _)), P = b(u + d * g(f + _)); e.push('A', b(c), b(d), p(S * x), +T, +M, L, P); break; case h.Z:o = 'Z'; break; case h.R:L = b(n[a++]), P = b(n[a++]); var k = b(n[a++]), O = b(n[a++]); e.push('M', L, P, 'L', L + k, P, 'L', L + k, P + O, 'L', L, P + O, 'L', L, P); break }o && e.push(o); for (var R = 0; R < s; R++)e.push(b(n[a++])) } return e.join(' ') } var L = {brush: function (t) { var e = t.style, n = t.__svgEl; n || (n = a('path'), t.__svgEl = n), t.path || t.createPathProxy(); var i = t.path; if (t.__dirtyPath) { i.beginPath(), t.buildPath(i, t.shape), t.__dirtyPath = !1; var r = D(i); r.indexOf('NaN') < 0 && A(n, 'd', r) }C(n, e), I(n, t.transform), e.text != null && R(t, t.getBoundingRect()) }}, P = {brush: function (t) { var e = t.style, n = e.image; if (n instanceof HTMLImageElement) { var i = n.src; n = i } if (n) { var r = e.x || 0, o = e.y || 0, s = e.width, l = e.height, u = t.__svgEl; u || (u = a('image'), t.__svgEl = u), n !== t.__imageSrc && (T(u, 'href', n), t.__imageSrc = n), A(u, 'width', s), A(u, 'height', l), A(u, 'x', r), A(u, 'y', o), I(u, t.transform), e.text != null && R(t, t.getBoundingRect()) } }}, k = {}, O = new o(), R = function (t, e, n) { var i = t.style; t.__dirty && u.normalizeTextStyle(i, !0); var r = i.text; if (r != null) { r += ''; var o, h, d = t.__textSvgEl; d || (d = a('text'), t.__textSvgEl = d); var f = i.textPosition, p = i.textDistance, g = i.textAlign || 'left'; typeof i.fontSize === 'number' && (i.fontSize += 'px'); var m = i.font || [i.fontStyle || '', i.fontWeight || '', i.fontSize || '', i.fontFamily || ''].join(' ') || l.DEFAULT_FONT, v = E(i.textVerticalAlign); n = l.getBoundingRect(r, m, g, v); var y = n.lineHeight; if (f instanceof Array)o = e.x + f[0], h = e.y + f[1]; else { var x = l.adjustTextPositionOnRect(f, e, p); o = x.x, h = x.y, v = E(x.textVerticalAlign), g = x.textAlign }A(d, 'alignment-baseline', v), m && (d.style.font = m); var _ = i.textPadding; if (A(d, 'x', o), A(d, 'y', h), C(d, i, !0), t instanceof c || t.style.transformText)I(d, t.transform); else { if (t.transform)O.copy(e), O.applyTransform(t.transform), e = O; else { var b = t.transformCoordToGlobal(e.x, e.y); e.x = b[0], e.y = b[1] } var w = i.textOrigin; w === 'center' ? (o = n.width / 2 + o, h = n.height / 2 + h) : w && (o = w[0] + o, h = w[1] + h); var S = -i.textRotation || 0, M = s.create(); s.rotate(M, t.transform, S), I(d, M) } var T = r.split('\n'), D = T.length, L = g; L === 'left' ? (L = 'start', _ && (o += _[3])) : L === 'right' ? (L = 'end', _ && (o -= _[1])) : L === 'center' && (L = 'middle', _ && (o += (_[3] - _[1]) / 2)); var P = 0; if (v === 'baseline' ? (P = -n.height + y, _ && (P -= _[2])) : v === 'middle' ? (P = (-n.height + y) / 2, _ && (h += (_[0] - _[2]) / 2)) : _ && (P += _[0]), t.__text !== r || t.__textFont !== m) { var k = t.__tspanList || []; t.__tspanList = k; for (var R = 0; R < D; R++) { var N = k[R]; N ? N.innerHTML = '' : (N = k[R] = a('tspan'), d.appendChild(N), A(N, 'alignment-baseline', v), A(N, 'text-anchor', L)), A(N, 'x', o), A(N, 'y', h + R * y + P), N.appendChild(document.createTextNode(T[R])) } for (;R < k.length; R++)d.removeChild(k[R]); k.length = D, t.__text = r, t.__textFont = m } else if (t.__tspanList.length) { var z = t.__tspanList.length; for (R = 0; R < z; ++R) { N = t.__tspanList[R]; N && (A(N, 'x', o), A(N, 'y', h + R * y + P)) } } } }; function E (t) { return t === 'middle' ? 'middle' : t === 'bottom' ? 'baseline' : 'hanging' }k.drawRectText = R, k.brush = function (t) { var e = t.style; e.text != null && (e.textPosition = [0, 0], R(t, {x: e.x || 0, y: e.y || 0, width: 0, height: 0}, t.getBoundingRect())) }, e.path = L, e.image = P, e.text = k }, '401b': function (t, e) { var n = typeof Float32Array === 'undefined' ? Array : Float32Array; function i (t, e) { var i = new n(2); return t == null && (t = 0), e == null && (e = 0), i[0] = t, i[1] = e, i } function a (t, e) { return t[0] = e[0], t[1] = e[1], t } function r (t) { var e = new n(2); return e[0] = t[0], e[1] = t[1], e } function o (t, e, n) { return t[0] = e, t[1] = n, t } function s (t, e, n) { return t[0] = e[0] + n[0], t[1] = e[1] + n[1], t } function l (t, e, n, i) { return t[0] = e[0] + n[0] * i, t[1] = e[1] + n[1] * i, t } function u (t, e, n) { return t[0] = e[0] - n[0], t[1] = e[1] - n[1], t } function c (t) { return Math.sqrt(d(t)) } var h = c; function d (t) { return t[0] * t[0] + t[1] * t[1] } var f = d; function p (t, e, n) { return t[0] = e[0] * n[0], t[1] = e[1] * n[1], t } function g (t, e, n) { return t[0] = e[0] / n[0], t[1] = e[1] / n[1], t } function m (t, e) { return t[0] * e[0] + t[1] * e[1] } function v (t, e, n) { return t[0] = e[0] * n, t[1] = e[1] * n, t } function y (t, e) { var n = c(e); return n === 0 ? (t[0] = 0, t[1] = 0) : (t[0] = e[0] / n, t[1] = e[1] / n), t } function x (t, e) { return Math.sqrt((t[0] - e[0]) * (t[0] - e[0]) + (t[1] - e[1]) * (t[1] - e[1])) } var _ = x; function b (t, e) { return (t[0] - e[0]) * (t[0] - e[0]) + (t[1] - e[1]) * (t[1] - e[1]) } var w = b; function S (t, e) { return t[0] = -e[0], t[1] = -e[1], t } function M (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 I (t, e, n) { var i = e[0], a = e[1]; return t[0] = n[0] * i + n[2] * a + n[4], t[1] = n[1] * i + n[3] * a + n[5], t } function A (t, e, n) { return t[0] = Math.min(e[0], n[0]), t[1] = Math.min(e[1], n[1]), t } function T (t, e, n) { return t[0] = Math.max(e[0], n[0]), t[1] = Math.max(e[1], n[1]), t }e.create = i, e.copy = a, e.clone = r, e.set = o, e.add = s, e.scaleAndAdd = l, e.sub = u, e.len = c, e.length = h, e.lenSquare = d, e.lengthSquare = f, e.mul = p, e.div = g, e.dot = m, e.scale = v, e.normalize = y, e.distance = x, e.dist = _, e.distanceSquare = b, e.distSquare = w, e.negate = S, e.lerp = M, e.applyTransform = I, e.min = A, e.max = T }, '414c': function (t, e, n) { var i = n('3a56'), a = i.extend({type: 'dataZoom.select'}); t.exports = a }, '41ef': function (t, e, n) { var i = n('d51b'), a = {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]}; function r (t) { return t = Math.round(t), t < 0 ? 0 : t > 255 ? 255 : t } function o (t) { return t = Math.round(t), t < 0 ? 0 : t > 360 ? 360 : t } function s (t) { return t < 0 ? 0 : t > 1 ? 1 : t } function l (t) { return t.length && t.charAt(t.length - 1) === '%' ? r(parseFloat(t) / 100 * 255) : r(parseInt(t, 10)) } function u (t) { return t.length && t.charAt(t.length - 1) === '%' ? s(parseFloat(t) / 100) : s(parseFloat(t)) } function c (t, e, n) { return n < 0 ? n += 1 : n > 1 && (n -= 1), 6 * n < 1 ? t + (e - t) * n * 6 : 2 * n < 1 ? e : 3 * n < 2 ? t + (e - t) * (2 / 3 - n) * 6 : t } function h (t, e, n) { return t + (e - t) * n } function d (t, e, n, i, a) { return t[0] = e, t[1] = n, t[2] = i, t[3] = a, t } function f (t, e) { return t[0] = e[0], t[1] = e[1], t[2] = e[2], t[3] = e[3], t } var p = new i(20), g = null; function m (t, e) { g && f(g, e), g = p.put(t, g || e.slice()) } function v (t, e) { if (t) { e = e || []; var n = p.get(t); if (n) return f(e, n); t += ''; var i = t.replace(/ /g, '').toLowerCase(); if (i in a) return f(e, a[i]), m(t, e), e; if (i.charAt(0) !== '#') { var r = i.indexOf('('), o = i.indexOf(')'); if (r !== -1 && o + 1 === i.length) { var s = i.substr(0, r), c = i.substr(r + 1, o - (r + 1)).split(','), h = 1; switch (s) { case 'rgba':if (c.length !== 4) return void d(e, 0, 0, 0, 1); h = u(c.pop()); case 'rgb':return c.length !== 3 ? void d(e, 0, 0, 0, 1) : (d(e, l(c[0]), l(c[1]), l(c[2]), h), m(t, e), e); case 'hsla':return c.length !== 4 ? void d(e, 0, 0, 0, 1) : (c[3] = u(c[3]), y(c, e), m(t, e), e); case 'hsl':return c.length !== 3 ? void d(e, 0, 0, 0, 1) : (y(c, e), m(t, e), e); default:return } }d(e, 0, 0, 0, 1) } else { if (i.length === 4) { var g = parseInt(i.substr(1), 16); return g >= 0 && g <= 4095 ? (d(e, (3840 & g) >> 4 | (3840 & g) >> 8, 240 & g | (240 & g) >> 4, 15 & g | (15 & g) << 4, 1), m(t, e), e) : void d(e, 0, 0, 0, 1) } if (i.length === 7) { g = parseInt(i.substr(1), 16); return g >= 0 && g <= 16777215 ? (d(e, (16711680 & g) >> 16, (65280 & g) >> 8, 255 & g, 1), m(t, e), e) : void d(e, 0, 0, 0, 1) } } } } function y (t, e) { var n = (parseFloat(t[0]) % 360 + 360) % 360 / 360, i = u(t[1]), a = u(t[2]), o = a <= 0.5 ? a * (i + 1) : a + i - a * i, s = 2 * a - o; return e = e || [], d(e, r(255 * c(s, o, n + 1 / 3)), r(255 * c(s, o, n)), r(255 * c(s, o, n - 1 / 3)), 1), t.length === 4 && (e[3] = t[3]), e } function x (t) { if (t) { var e, n, i = t[0] / 255, a = t[1] / 255, r = t[2] / 255, o = Math.min(i, a, r), s = Math.max(i, a, r), l = s - o, u = (s + o) / 2; if (l === 0)e = 0, n = 0; else { n = u < 0.5 ? l / (s + o) : l / (2 - s - o); var c = ((s - i) / 6 + l / 2) / l, h = ((s - a) / 6 + l / 2) / l, d = ((s - r) / 6 + l / 2) / l; i === s ? e = d - h : a === s ? e = 1 / 3 + c - d : r === s && (e = 2 / 3 + h - c), e < 0 && (e += 1), e > 1 && (e -= 1) } var f = [360 * e, n, u]; return t[3] != null && f.push(t[3]), f } } function _ (t, e) { var n = v(t); if (n) { for (var i = 0; i < 3; i++)n[i] = e < 0 ? n[i] * (1 - e) | 0 : (255 - n[i]) * e + n[i] | 0, n[i] > 255 ? n[i] = 255 : t[i] < 0 && (n[i] = 0); return C(n, n.length === 4 ? 'rgba' : 'rgb') } } function b (t) { var e = v(t); if (e) return ((1 << 24) + (e[0] << 16) + (e[1] << 8) + +e[2]).toString(16).slice(1) } function w (t, e, n) { if (e && e.length && t >= 0 && t <= 1) { n = n || []; var i = t * (e.length - 1), a = Math.floor(i), o = Math.ceil(i), l = e[a], u = e[o], c = i - a; return n[0] = r(h(l[0], u[0], c)), n[1] = r(h(l[1], u[1], c)), n[2] = r(h(l[2], u[2], c)), n[3] = s(h(l[3], u[3], c)), n } } var S = w; function M (t, e, n) { if (e && e.length && t >= 0 && t <= 1) { var i = t * (e.length - 1), a = Math.floor(i), o = Math.ceil(i), l = v(e[a]), u = v(e[o]), c = i - a, d = C([r(h(l[0], u[0], c)), r(h(l[1], u[1], c)), r(h(l[2], u[2], c)), s(h(l[3], u[3], c))], 'rgba'); return n ? {color: d, leftIndex: a, rightIndex: o, value: i} : d } } var I = M; function A (t, e, n, i) { if (t = v(t), t) return t = x(t), e != null && (t[0] = o(e)), n != null && (t[1] = u(n)), i != null && (t[2] = u(i)), C(y(t), 'rgba') } function T (t, e) { if (t = v(t), t && e != null) return t[3] = s(e), C(t, 'rgba') } function C (t, e) { if (t && t.length) { var n = t[0] + ',' + t[1] + ',' + t[2]; return e !== 'rgba' && e !== 'hsva' && e !== 'hsla' || (n += ',' + t[3]), e + '(' + n + ')' } }e.parse = v, e.lift = _, e.toHex = b, e.fastLerp = w, e.fastMapToColor = S, e.lerp = M, e.mapToColor = I, e.modifyHSL = A, e.modifyAlpha = T, e.stringify = C }, '42e5': function (t, e) { var n = function (t) { this.colorStops = t || [] }; n.prototype = {constructor: n, addColorStop: function (t, e) { this.colorStops.push({offset: t, color: e}) }}; var i = n; t.exports = i }, '42f6': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('22d1'), o = n('07d7'), s = n('eda2'), l = n('3842'), u = n('2306'), c = n('133d'), h = n('f934'), d = n('4319'), f = n('17d6'), p = n('697e'), g = n('ff2e'), m = a.bind, v = a.each, y = l.parsePercent, x = new u.Rect({shape: {x: -1, y: -1, width: 2, height: 2}}), _ = i.extendComponentView({type: 'tooltip', init: function (t, e) { if (!r.node) { var n = new o(e.getDom(), e); this._tooltipContent = n } }, render: function (t, e, n) { if (!r.node && !r.wxa) { this.group.removeAll(), this._tooltipModel = t, this._ecModel = e, this._api = n, this._lastDataByCoordSys = null, this._alwaysShowContent = t.get('alwaysShowContent'); var i = this._tooltipContent; i.update(), i.setEnterable(t.get('enterable')), this._initGlobalListener(), this._keepShow() } }, _initGlobalListener: function () { var t = this._tooltipModel, e = t.get('triggerOn'); f.register('itemTooltip', this._api, m(function (t, n, i) { e !== 'none' && (e.indexOf(t) >= 0 ? this._tryShow(n, i) : t === 'leave' && this._hide(i)) }, this)) }, _keepShow: function () { var t = this._tooltipModel, e = this._ecModel, n = this._api; if (this._lastX != null && this._lastY != null && t.get('triggerOn') !== 'none') { var i = this; clearTimeout(this._refreshUpdateTimeout), this._refreshUpdateTimeout = setTimeout(function () { i.manuallyShowTip(t, e, n, {x: i._lastX, y: i._lastY}) }) } }, manuallyShowTip: function (t, e, n, i) { if (i.from !== this.uid && !r.node) { var a = w(i, n); this._ticket = ''; var o = i.dataByCoordSys; if (i.tooltip && i.x != null && i.y != null) { var s = x; s.position = [i.x, i.y], s.update(), s.tooltip = i.tooltip, this._tryShow({offsetX: i.x, offsetY: i.y, target: s}, a) } else if (o) this._tryShow({offsetX: i.x, offsetY: i.y, position: i.position, event: {}, dataByCoordSys: i.dataByCoordSys, tooltipOption: i.tooltipOption}, a); else if (i.seriesIndex != null) { if (this._manuallyAxisShowTip(t, e, n, i)) return; var l = c(i, e), u = l.point[0], h = l.point[1]; u != null && h != null && this._tryShow({offsetX: u, offsetY: h, position: i.position, target: l.el, event: {}}, a) } else i.x != null && i.y != null && (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, event: {}}, a)) } }, manuallyHideTip: function (t, e, n, i) { var a = this._tooltipContent; !this._alwaysShowContent && this._tooltipModel && a.hideLater(this._tooltipModel.get('hideDelay')), this._lastX = this._lastY = null, i.from !== this.uid && this._hide(w(i, n)) }, _manuallyAxisShowTip: function (t, e, n, i) { var a = i.seriesIndex, r = i.dataIndex, o = e.getComponent('axisPointer').coordSysAxesInfo; if (a != null && r != null && o != null) { var s = e.getSeriesByIndex(a); if (s) { var l = s.getData(); t = b([l.getItemModel(r), s, (s.coordinateSystem || {}).model, t]); if (t.get('trigger') === 'axis') return n.dispatchAction({type: 'updateAxisPointer', seriesIndex: a, dataIndex: r, position: i.position}), !0 } } }, _tryShow: function (t, e) { var n = t.target, i = this._tooltipModel; if (i) { this._lastX = t.offsetX, this._lastY = t.offsetY; var a = t.dataByCoordSys; a && a.length ? this._showAxisTooltip(a, t) : n && n.dataIndex != null ? (this._lastDataByCoordSys = null, this._showSeriesItemTooltip(t, n, e)) : n && n.tooltip ? (this._lastDataByCoordSys = null, this._showComponentItemTooltip(t, n, e)) : (this._lastDataByCoordSys = null, this._hide(e)) } }, _showOrMove: function (t, e) { var n = t.get('showDelay'); e = a.bind(e, this), clearTimeout(this._showTimout), n > 0 ? this._showTimout = setTimeout(e, n) : e() }, _showAxisTooltip: function (t, e) { var n = this._ecModel, i = this._tooltipModel, r = [e.offsetX, e.offsetY], o = [], l = [], u = b([e.tooltipOption, i]); v(t, function (t) { v(t.dataByAxis, function (t) { var e = n.getComponent(t.axisDim + 'Axis', t.axisIndex), i = t.value, r = []; if (e && i != null) { var u = g.getValueLabel(i, e.axis, n, t.seriesDataIndices, t.valueLabelOpt); a.each(t.seriesDataIndices, function (a) { var o = n.getSeriesByIndex(a.seriesIndex), s = a.dataIndexInside, c = o && o.getDataParams(s); c.axisDim = t.axisDim, c.axisIndex = t.axisIndex, c.axisType = t.axisType, c.axisId = t.axisId, c.axisValue = p.getAxisRawValue(e.axis, i), c.axisValueLabel = u, c && (l.push(c), r.push(o.formatTooltip(s, !0))) }); var c = u; o.push((c ? s.encodeHTML(c) + '<br />' : '') + r.join('<br />')) } }) }, this), o.reverse(), o = o.join('<br /><br />'); var c = e.position; this._showOrMove(u, function () { this._updateContentNotChangedOnAxis(t) ? this._updatePosition(u, c, r[0], r[1], this._tooltipContent, l) : this._showTooltipContent(u, o, l, Math.random(), r[0], r[1], c) }) }, _showSeriesItemTooltip: function (t, e, n) { var i = this._ecModel, a = e.seriesIndex, r = i.getSeriesByIndex(a), o = e.dataModel || r, s = e.dataIndex, l = e.dataType, u = o.getData(), c = b([u.getItemModel(s), o, r && (r.coordinateSystem || {}).model, this._tooltipModel]), h = c.get('trigger'); if (h == null || h === 'item') { var d = o.getDataParams(s, l), f = o.formatTooltip(s, !1, l), p = 'item_' + o.name + '_' + s; this._showOrMove(c, function () { this._showTooltipContent(c, f, d, p, t.offsetX, t.offsetY, t.position, t.target) }), n({type: 'showTip', dataIndexInside: s, dataIndex: u.getRawIndex(s), seriesIndex: a, from: this.uid}) } }, _showComponentItemTooltip: function (t, e, n) { var i = e.tooltip; if (typeof i === 'string') { var a = i; i = {content: a, formatter: a} } var r = new d(i, this._tooltipModel, this._ecModel), o = r.get('content'), s = Math.random(); this._showOrMove(r, function () { this._showTooltipContent(r, o, r.get('formatterParams') || {}, s, t.offsetX, t.offsetY, t.position, e) }), n({type: 'showTip', from: this.uid}) }, _showTooltipContent: function (t, e, n, i, a, r, o, l) { if (this._ticket = '', t.get('showContent') && t.get('show')) { var u = this._tooltipContent, c = t.get('formatter'); o = o || t.get('position'); var h = e; if (c && typeof c === 'string')h = s.formatTpl(c, n, !0); else if (typeof c === 'function') { var d = m(function (e, i) { e === this._ticket && (u.setContent(i), this._updatePosition(t, o, a, r, u, n, l)) }, this); this._ticket = i, h = c(n, i, d) }u.setContent(h), u.show(t), this._updatePosition(t, o, a, r, u, n, l) } }, _updatePosition: function (t, e, n, i, r, o, s) { var l = this._api.getWidth(), u = this._api.getHeight(); e = e || t.get('position'); var c = r.getSize(), d = t.get('align'), f = t.get('verticalAlign'), p = s && s.getBoundingRect().clone(); if (s && p.applyTransform(s.transform), typeof e === 'function' && (e = e([n, i], o, r.el, p, {viewSize: [l, u], contentSize: c.slice()})), a.isArray(e))n = y(e[0], l), i = y(e[1], u); else if (a.isObject(e)) { e.width = c[0], e.height = c[1]; var g = h.getLayoutRect(e, {width: l, height: u}); n = g.x, i = g.y, d = null, f = null } else if (typeof e === 'string' && s) { var m = A(e, p, c); n = m[0], i = m[1] } else { m = S(n, i, r.el, l, u, d ? null : 20, f ? null : 20); n = m[0], i = m[1] } if (d && (n -= T(d) ? c[0] / 2 : d === 'right' ? c[0] : 0), f && (i -= T(f) ? c[1] / 2 : f === 'bottom' ? c[1] : 0), t.get('confine')) { m = M(n, i, r.el, l, u); n = m[0], i = m[1] }r.moveTo(n, i) }, _updateContentNotChangedOnAxis: function (t) { var e = this._lastDataByCoordSys, n = !!e && e.length === t.length; return n && v(e, function (e, i) { var a = e.dataByAxis || {}, r = t[i] || {}, o = r.dataByAxis || []; n &= a.length === o.length, n && v(a, function (t, e) { var i = o[e] || {}, a = t.seriesDataIndices || [], r = i.seriesDataIndices || []; n &= t.value === i.value && t.axisType === i.axisType && t.axisId === i.axisId && a.length === r.length, n && v(a, function (t, e) { var i = r[e]; n &= t.seriesIndex === i.seriesIndex && t.dataIndex === i.dataIndex }) }) }), this._lastDataByCoordSys = t, !!n }, _hide: function (t) { this._lastDataByCoordSys = null, t({type: 'hideTip', from: this.uid}) }, dispose: function (t, e) { r.node || r.wxa || (this._tooltipContent.hide(), f.unregister('itemTooltip', e)) }}); function b (t) { var e = t.pop(); while (t.length) { var n = t.pop(); n && (d.isInstance(n) && (n = n.get('tooltip', !0)), typeof n === 'string' && (n = {formatter: n}), e = new d(n, e, e.ecModel)) } return e } function w (t, e) { return t.dispatchAction || a.bind(e.dispatchAction, e) } function S (t, e, n, i, a, r, o) { var s = I(n), l = s.width, u = s.height; return r != null && (t + l + r > i ? t -= l + r : t += r), o != null && (e + u + o > a ? e -= u + o : e += o), [t, e] } function M (t, e, n, i, a) { var r = I(n), o = r.width, s = r.height; return t = Math.min(t + o, i) - o, e = Math.min(e + s, a) - s, t = Math.max(t, 0), e = Math.max(e, 0), [t, e] } function I (t) { var e = t.clientWidth, n = t.clientHeight; if (document.defaultView && document.defaultView.getComputedStyle) { var i = document.defaultView.getComputedStyle(t); i && (e += parseInt(i.paddingLeft, 10) + parseInt(i.paddingRight, 10) + parseInt(i.borderLeftWidth, 10) + parseInt(i.borderRightWidth, 10), n += parseInt(i.paddingTop, 10) + parseInt(i.paddingBottom, 10) + parseInt(i.borderTopWidth, 10) + parseInt(i.borderBottomWidth, 10)) } return {width: e, height: n} } function A (t, e, n) { var i = n[0], a = n[1], r = 5, o = 0, s = 0, l = e.width, u = e.height; switch (t) { case 'inside':o = e.x + l / 2 - i / 2, s = e.y + u / 2 - a / 2; break; case 'top':o = e.x + l / 2 - i / 2, s = e.y - a - r; break; case 'bottom':o = e.x + l / 2 - i / 2, s = e.y + u + r; break; case 'left':o = e.x - i - r, s = e.y + u / 2 - a / 2; break; case 'right':o = e.x + l + r, s = e.y + u / 2 - a / 2 } return [o, s] } function T (t) { return t === 'center' || t === 'middle' }t.exports = _ }, 4319: function (t, e, n) { var i = n('6d8b'), a = n('22d1'), r = n('e0d3'), o = r.makeInner, s = n('625e'), l = s.enableClassExtend, u = s.enableClassCheck, c = n('3901'), h = n('9bdb'), d = n('fe21'), f = n('551f'), p = i.mixin, g = o(); function m (t, e, n) { this.parentModel = e, this.ecModel = n, this.option = t } function v (t, e, n) { for (var i = 0; i < e.length; i++) if (e[i] && (t = t && typeof t === 'object' ? t[e[i]] : null, t == null)) break; return t == null && n && (t = n.get(e)), t } function y (t, e) { var n = g(t).getParent; return n ? n.call(t, e) : t.parentModel }m.prototype = {constructor: m, init: null, mergeOption: function (t) { i.merge(this.option, t, !0) }, get: function (t, e) { return t == null ? this.option : v(this.option, this.parsePath(t), !e && y(this, t)) }, getShallow: function (t, e) { var n = this.option, i = n == null ? n : n[t], a = !e && y(this, t); return i == null && a && (i = a.getShallow(t)), i }, getModel: function (t, e) { var n, i = t == null ? this.option : v(this.option, t = this.parsePath(t)); return e = e || (n = y(this, t)) && n.getModel(t), new m(i, e, this.ecModel) }, isEmpty: function () { return this.option == null }, restoreData: function () {}, clone: function () { var t = this.constructor; return new t(i.clone(this.option)) }, setReadOnly: function (t) {}, parsePath: function (t) { return typeof t === 'string' && (t = t.split('.')), t }, customizeGetParent: function (t) { g(this).getParent = t }, isAnimationEnabled: function () { if (!a.node) { if (this.option.animation != null) return !!this.option.animation; if (this.parentModel) return this.parentModel.isAnimationEnabled() } }}, l(m), u(m), p(m, c), p(m, h), p(m, d), p(m, f); var x = m; t.exports = x }, 4338: function (t, e, n) { var i = n('4bf6'), a = n('2039'); function r (t, e) { var n = []; return t.eachComponent('singleAxis', function (a, r) { var o = new i(a, t, e); o.name = 'single_' + r, o.resize(a, e), a.coordinateSystem = o, n.push(o) }), t.eachSeries(function (e) { if (e.get('coordinateSystem') === 'singleAxis') { var n = t.queryComponents({mainType: 'singleAxis', index: e.get('singleAxisIndex'), id: e.get('singleAxisId')})[0]; e.coordinateSystem = n && n.coordinateSystem } }), n }a.register('single', {create: r, dimensions: i.prototype.dimensions}) }, '43b8': function (t, e, n) { var i = n('2449'), a = i.extend({type: 'markArea', defaultOption: {zlevel: 0, z: 1, tooltip: {trigger: 'item'}, animation: !1, label: {show: !0, position: 'top'}, itemStyle: {borderWidth: 0}, emphasis: {label: {show: !0, position: 'top'}}}}); t.exports = a }, 4411: function (t, e, n) { for (var i = n('3eba'), a = n('55ac'), r = function () {}, o = ['treemapZoomToNode', 'treemapRender', 'treemapMove'], s = 0; s < o.length; s++)i.registerAction({type: o[s], update: 'updateView'}, r); i.registerAction({type: 'treemapRootToNode', update: 'updateView'}, function (t, e) { function n (e, n) { var i = ['treemapZoomToNode', 'treemapRootToNode'], r = a.retrieveTargetInfo(t, i, e); if (r) { var o = e.getViewRoot(); o && (t.direction = a.aboveViewRoot(o, r.node) ? 'rollUp' : 'drillDown'), e.resetViewRoot(r.node) } }e.eachComponent({mainType: 'series', subType: 'treemap', query: t}, n) }) }, 4436: function (t, e, n) { var i = n('74cb'); function a (t) { this._target = t.target, this._life = t.life || 1e3, this._delay = t.delay || 0, this._initialized = !1, this.loop = t.loop != null && t.loop, this.gap = t.gap || 0, this.easing = t.easing || 'Linear', this.onframe = t.onframe, this.ondestroy = t.ondestroy, this.onrestart = t.onrestart, this._pausedTime = 0, this._paused = !1 }a.prototype = {constructor: a, step: function (t, e) { if (this._initialized || (this._startTime = t + this._delay, this._initialized = !0), this._paused) this._pausedTime += e; else { var n = (t - this._startTime - this._pausedTime) / this._life; if (!(n < 0)) { n = Math.min(n, 1); var a = this.easing, r = typeof a === 'string' ? i[a] : a, o = typeof r === 'function' ? r(n) : n; return this.fire('frame', o), n == 1 ? this.loop ? (this.restart(t), 'restart') : (this._needsRemove = !0, 'destroy') : null } } }, restart: function (t) { var e = (t - this._startTime - this._pausedTime) % this._life; this._startTime = t - e + this.gap, this._pausedTime = 0, this._needsRemove = !1 }, fire: function (t, e) { t = 'on' + t, this[t] && this[t](this._target, e) }, pause: function () { this._paused = !0 }, resume: function () { this._paused = !1 }}; var r = a; t.exports = r }, '44fb': function (t, e, n) { var i = n('3eba'), a = n('55ac'), r = 'sunburstRootToNode'; i.registerAction({type: r, update: 'updateView'}, function (t, e) { function n (e, n) { var i = a.retrieveTargetInfo(t, [r], e); if (i) { var o = e.getViewRoot(); o && (t.direction = a.aboveViewRoot(o, i.node) ? 'rollUp' : 'drillDown'), e.resetViewRoot(i.node) } }e.eachComponent({mainType: 'series', subType: 'sunburst', query: t}, n) }); var o = 'sunburstHighlight'; i.registerAction({type: o, update: 'updateView'}, function (t, e) { function n (e, n) { var i = a.retrieveTargetInfo(t, [o], e); i && (t.highlight = i.node) }e.eachComponent({mainType: 'series', subType: 'sunburst', query: t}, n) }); var s = 'sunburstUnhighlight'; i.registerAction({type: s, update: 'updateView'}, function (t, e) { function n (e, n) { t.unhighlight = !0 }e.eachComponent({mainType: 'series', subType: 'sunburst', query: t}, n) }) }, 4527: function (t, e, n) { var i = n('2306'), a = n('6d8b'); function r (t, e, n) { i.Group.call(this), this._createPolyline(t, e, n) } var o = r.prototype; o._createPolyline = function (t, e, n) { var a = t.getItemLayout(e), r = new i.Polyline({shape: {points: a}}); this.add(r), this._updateCommonStl(t, e, n) }, o.updateData = function (t, e, n) { var a = t.hostModel, r = this.childAt(0), o = {shape: {points: t.getItemLayout(e)}}; i.updateProps(r, o, a, e), this._updateCommonStl(t, e, n) }, o._updateCommonStl = function (t, e, n) { var r = this.childAt(0), o = t.getItemModel(e), s = t.getItemVisual(e, 'color'), l = n && n.lineStyle, u = n && n.hoverLineStyle; n && !t.hasItemOption || (l = o.getModel('lineStyle').getLineStyle(), u = o.getModel('emphasis.lineStyle').getLineStyle()), r.useStyle(a.defaults({strokeNoScale: !0, fill: 'none', stroke: s}, l)), r.hoverStyle = u, i.setHoverStyle(this) }, o.updateLayout = function (t, e) { var n = this.childAt(0); n.setShape('points', t.getItemLayout(e)) }, a.inherits(r, i.Group); var s = r; t.exports = s }, 4573: function (t, e, n) { var i = n('cbe5'), a = i.extend({type: 'ring', shape: {cx: 0, cy: 0, r: 0, r0: 0}, buildPath: function (t, e) { var n = e.cx, i = e.cy, a = 2 * Math.PI; t.moveTo(n + e.r, i), t.arc(n, i, e.r, 0, a, !1), t.moveTo(n + e.r0, i), t.arc(n, i, e.r0, 0, a, !0) }}); t.exports = a }, 4650: function (t, e, n) { var i = n('3eba'), a = n('6d8b'); function r (t, e, n) { var i, r = {}, o = t === 'toggleSelected'; return n.eachComponent('legend', function (n) { o && i != null ? n[i ? 'select' : 'unSelect'](e.name) : (n[t](e.name), i = n.isSelected(e.name)); var s = n.getData(); a.each(s, function (t) { var e = t.get('name'); if (e !== '\n' && e !== '') { var i = n.isSelected(e); r.hasOwnProperty(e) ? r[e] = r[e] && i : r[e] = i } }) }), {name: e.name, selected: r} }i.registerAction('legendToggleSelect', 'legendselectchanged', a.curry(r, 'toggleSelected')), i.registerAction('legendSelect', 'legendselected', a.curry(r, 'select')), i.registerAction('legendUnSelect', 'legendunselected', a.curry(r, 'unSelect')) }, '471e': function (t, e) { function n (t) { var e = t.getRect(), n = t.getRangeInfo(); return {coordSys: {type: 'calendar', x: e.x, y: e.y, width: e.width, height: e.height, cellWidth: t.getCellWidth(), cellHeight: t.getCellHeight(), rangeInfo: {start: n.start, end: n.end, weeks: n.weeks, dayCount: n.allDay}}, api: {coord: function (e, n) { return t.dataToPoint(e, n) }}} }t.exports = n }, 4784: function (t, e, n) { var i = n('3eba'), a = n('f706'), r = n('c8ef'), o = n('1687'), s = n('87c3'), l = i.extendChartView({type: 'effectScatter', init: function () { this._symbolDraw = new a(r) }, render: function (t, e, n) { var i = t.getData(), a = this._symbolDraw; a.updateData(i), this.group.add(a.group) }, updateTransform: function (t, e, n) { var i = t.getData(); this.group.dirty(); var a = s().reset(t); a.progress && a.progress({start: 0, end: i.count()}, i), this._symbolDraw.updateLayout(i) }, _updateGroupTransform: function (t) { var e = t.coordinateSystem; e && e.getRoamTransform && (this.group.transform = o.clone(e.getRoamTransform()), this.group.decomposeTransform()) }, remove: function (t, e) { this._symbolDraw && this._symbolDraw.remove(e) }, dispose: function () {}}); t.exports = l }, '480e': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('3eba')), r = n('2306'), o = n('cd84'), s = n('6d8b'); function l (t, e, n) { var i = t[1] - t[0]; e = s.map(e, function (e) { return {interval: [(e.interval[0] - t[0]) / i, (e.interval[1] - t[0]) / i]} }); var a = e.length, r = 0; return function (t) { for (var i = r; i < a; i++) { var o = e[i].interval; if (o[0] <= t && t <= o[1]) { r = i; break } } if (i === a) for (i = r - 1; i >= 0; i--) { o = e[i].interval; if (o[0] <= t && t <= o[1]) { r = i; break } } return i >= 0 && i < a && n[i] } } function u (t, e) { var n = t[1] - t[0]; return e = [(e[0] - t[0]) / n, (e[1] - t[0]) / n], function (t) { return t >= e[0] && t <= e[1] } } function c (t) { var e = t.dimensions; return e[0] === 'lng' && e[1] === 'lat' } var h = a.extendChartView({type: 'heatmap', render: function (t, e, n) { var i; e.eachComponent('visualMap', function (e) { e.eachTargetSeries(function (n) { n === t && (i = e) }) }), this.group.removeAll(), this._incrementalDisplayable = null; var a = t.coordinateSystem; a.type === 'cartesian2d' || a.type === 'calendar' ? this._renderOnCartesianAndCalendar(t, n, 0, t.getData().count()) : c(a) && this._renderOnGeo(a, t, i, n) }, incrementalPrepareRender: function (t, e, n) { this.group.removeAll() }, incrementalRender: function (t, e, n, i) { var a = e.coordinateSystem; a && this._renderOnCartesianAndCalendar(e, i, t.start, t.end, !0) }, _renderOnCartesianAndCalendar: function (t, e, n, i, a) { var o, l, u = t.coordinateSystem; if (u.type === 'cartesian2d') { var c = u.getAxis('x'), h = u.getAxis('y'); o = c.getBandWidth(), l = h.getBandWidth() } for (var d = this.group, f = t.getData(), p = 'itemStyle', g = 'emphasis.itemStyle', m = 'label', v = 'emphasis.label', y = t.getModel(p).getItemStyle(['color']), x = t.getModel(g).getItemStyle(), _ = t.getModel(m), b = t.getModel(v), w = u.type, S = w === 'cartesian2d' ? [f.mapDimension('x'), f.mapDimension('y'), f.mapDimension('value')] : [f.mapDimension('time'), f.mapDimension('value')], M = n; M < i; M++) { var I; if (w === 'cartesian2d') { if (isNaN(f.get(S[2], M))) continue; var A = u.dataToPoint([f.get(S[0], M), f.get(S[1], M)]); I = new r.Rect({shape: {x: A[0] - o / 2, y: A[1] - l / 2, width: o, height: l}, style: {fill: f.getItemVisual(M, 'color'), opacity: f.getItemVisual(M, 'opacity')}}) } else { if (isNaN(f.get(S[1], M))) continue; I = new r.Rect({z2: 1, shape: u.dataToRect([f.get(S[0], M)]).contentShape, style: {fill: f.getItemVisual(M, 'color'), opacity: f.getItemVisual(M, 'opacity')}}) } var T = f.getItemModel(M); f.hasItemOption && (y = T.getModel(p).getItemStyle(['color']), x = T.getModel(g).getItemStyle(), _ = T.getModel(m), b = T.getModel(v)); var C = t.getRawValue(M), D = '-'; C && C[2] != null && (D = C[2]), r.setLabelStyle(y, x, _, b, {labelFetcher: t, labelDataIndex: M, defaultText: D, isRectText: !0}), I.setStyle(y), r.setHoverStyle(I, f.hasItemOption ? x : s.extend({}, x)), I.incremental = a, a && (I.useHoverLayer = !0), d.add(I), f.setItemGraphicEl(M, I) } }, _renderOnGeo: function (t, e, n, i) { var a = n.targetVisuals.inRange, s = n.targetVisuals.outOfRange, c = e.getData(), h = this._hmLayer || this._hmLayer || new o(); h.blurSize = e.get('blurSize'), h.pointSize = e.get('pointSize'), h.minOpacity = e.get('minOpacity'), h.maxOpacity = e.get('maxOpacity'); var d = t.getViewRect().clone(), f = t.getRoamTransform(); d.applyTransform(f); var p = Math.max(d.x, 0), g = Math.max(d.y, 0), m = Math.min(d.width + d.x, i.getWidth()), v = Math.min(d.height + d.y, i.getHeight()), y = m - p, x = v - g, _ = [c.mapDimension('lng'), c.mapDimension('lat'), c.mapDimension('value')], b = c.mapArray(_, function (e, n, i) { var a = t.dataToPoint([e, n]); return a[0] -= p, a[1] -= g, a.push(i), a }), w = n.getExtent(), S = n.type === 'visualMap.continuous' ? u(w, n.option.range) : l(w, n.getPieceList(), n.option.selected); h.update(b, y, x, a.color.getNormalizer(), {inRange: a.color.getColorMapper(), outOfRange: s.color.getColorMapper()}, S); var M = new r.Image({style: {width: y, height: x, x: p, y: g, image: h.canvas}, silent: !0}); this.group.add(M) }, dispose: function () {}}); t.exports = h }, '480f': function (t, e, n) { var i = n('4a3f'), a = n('401b'), r = [], o = [], s = [], l = i.quadraticAt, u = a.distSquare, c = Math.abs; function h (t, e, n) { for (var i, a = t[0], h = t[1], d = t[2], f = 1 / 0, p = n * n, g = 0.1, m = 0.1; m <= 0.9; m += 0.1) { r[0] = l(a[0], h[0], d[0], m), r[1] = l(a[1], h[1], d[1], m); var v = c(u(r, e) - p); v < f && (f = v, i = m) } for (var y = 0; y < 32; y++) { var x = i + g; o[0] = l(a[0], h[0], d[0], i), o[1] = l(a[1], h[1], d[1], i), s[0] = l(a[0], h[0], d[0], x), s[1] = l(a[1], h[1], d[1], x); v = u(o, e) - p; if (c(v) < 0.01) break; var _ = u(s, e) - p; g /= 2, v < 0 ? _ >= 0 ? i += g : i -= g : _ >= 0 ? i -= g : i += g } return i } function d (t, e) { var n = [], r = i.quadraticSubdivide, o = [[], [], []], s = [[], []], l = []; function u (t) { var e = t.getVisual('symbolSize'); return e instanceof Array && (e = (e[0] + e[1]) / 2), e }e /= 2, t.eachEdge(function (t, i) { var c = t.getLayout(), d = t.getVisual('fromSymbol'), f = t.getVisual('toSymbol'); c.__original || (c.__original = [a.clone(c[0]), a.clone(c[1])], c[2] && c.__original.push(a.clone(c[2]))); var p = c.__original; if (c[2] != null) { if (a.copy(o[0], p[0]), a.copy(o[1], p[2]), a.copy(o[2], p[1]), d && d != 'none') { var g = u(t.node1), m = h(o, p[0], g * e); r(o[0][0], o[1][0], o[2][0], m, n), o[0][0] = n[3], o[1][0] = n[4], r(o[0][1], o[1][1], o[2][1], m, n), o[0][1] = n[3], o[1][1] = n[4] } if (f && f != 'none') { g = u(t.node2), m = h(o, p[1], g * e); r(o[0][0], o[1][0], o[2][0], m, n), o[1][0] = n[1], o[2][0] = n[2], r(o[0][1], o[1][1], o[2][1], m, n), o[1][1] = n[1], o[2][1] = n[2] }a.copy(c[0], o[0]), a.copy(c[1], o[2]), a.copy(c[2], o[1]) } else { if (a.copy(s[0], p[0]), a.copy(s[1], p[1]), a.sub(l, s[1], s[0]), a.normalize(l, l), d && d != 'none') { g = u(t.node1); a.scaleAndAdd(s[0], s[0], l, g * e) } if (f && f != 'none') { g = u(t.node2); a.scaleAndAdd(s[1], s[1], l, -g * e) }a.copy(c[0], s[0]), a.copy(c[1], s[1]) } }) }t.exports = d }, '48a9': function (t, e, n) { var i = n('6d8b'), a = n('42e5'), r = function (t, e, n, i, r, o) { this.x = t == null ? 0 : t, this.y = e == null ? 0 : e, this.x2 = n == null ? 1 : n, this.y2 = i == null ? 0 : i, this.type = 'linear', this.global = o || !1, a.call(this, r) }; r.prototype = {constructor: r}, i.inherits(r, a); var o = r; t.exports = o }, '48ac': function (t, e, n) { var i = n('3eba'), a = i.extendComponentModel({type: 'axisPointer', coordSysAxesInfo: null, defaultOption: {show: 'auto', triggerOn: null, zlevel: 0, z: 50, type: 'line', snap: !1, triggerTooltip: !0, value: null, status: null, link: [], animation: null, animationDurationUpdate: 200, lineStyle: {color: '#aaa', width: 1, type: 'solid'}, shadowStyle: {color: 'rgba(150,150,150,0.3)'}, label: {show: !0, formatter: null, precision: 'auto', margin: 3, color: '#fff', padding: [5, 7, 5, 7], backgroundColor: 'auto', borderColor: null, borderWidth: 0, shadowBlur: 3, shadowColor: '#aaa'}, handle: {show: !1, icon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z', size: 45, margin: 50, color: '#333', shadowBlur: 3, shadowColor: '#aaa', shadowOffsetX: 0, shadowOffsetY: 2, throttle: 40}}}), r = a; t.exports = r }, '48c7': function (t, e, n) { var i = n('6d8b'), a = n('6cb7'), r = n('9e47'), o = n('2023'), s = a.extend({type: 'cartesian2dAxis', axis: null, init: function () { s.superApply(this, 'init', arguments), this.resetRange() }, mergeOption: function () { s.superApply(this, 'mergeOption', arguments), this.resetRange() }, restoreData: function () { s.superApply(this, 'restoreData', arguments), this.resetRange() }, getCoordSysModel: function () { return this.ecModel.queryComponents({mainType: 'grid', index: this.option.gridIndex, id: this.option.gridId})[0] }}); function l (t, e) { return e.type || (e.data ? 'category' : 'value') }i.merge(s.prototype, o); var u = {offset: 0}; r('x', s, l, u), r('y', s, l, u); var c = s; t.exports = c }, 4942: function (t, e, n) { var i = n('2cf4'), a = i.debugMode, r = function () {}; a === 1 ? r = function () { for (var t in arguments) throw new Error(arguments[t]) } : a > 1 && (r = function () { for (var t in arguments)console.log(arguments[t]) }); var o = r; t.exports = o }, '49e8': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('d81e'), o = r.updateCenterAndZoom; i.registerAction({type: 'geoRoam', event: 'geoRoam', update: 'updateTransform'}, function (t, e) { var n = t.componentType || 'series'; e.eachComponent({mainType: n, query: t}, function (e) { var i = e.coordinateSystem; if (i.type === 'geo') { var r = o(i, t, e.get('scaleLimit')); e.setCenter && e.setCenter(r.center), e.setZoom && e.setZoom(r.zoom), n === 'series' && a.each(e.seriesGroup, function (t) { t.setCenter(r.center), t.setZoom(r.zoom) }) } }) }) }, '4a01': function (t, e, n) { var i = n('6d8b'), a = n('1fab'), r = n('607d'), o = n('a4fe'); function s (t) { this.pointerChecker, this._zr = t, this._opt = {}; var e = i.bind, n = e(l, this), r = e(u, this), o = e(c, this), s = e(h, this), f = e(d, this); a.call(this), this.setPointerChecker = function (t) { this.pointerChecker = t }, this.enable = function (e, a) { this.disable(), this._opt = i.defaults(i.clone(a) || {}, {zoomOnMouseWheel: !0, moveOnMouseMove: !0, preventDefaultMouseMove: !0}), e == null && (e = !0), !0 !== e && e !== 'move' && e !== 'pan' || (t.on('mousedown', n), t.on('mousemove', r), t.on('mouseup', o)), !0 !== e && e !== 'scale' && e !== 'zoom' || (t.on('mousewheel', s), t.on('pinch', f)) }, this.disable = function () { t.off('mousedown', n), t.off('mousemove', r), t.off('mouseup', o), t.off('mousewheel', s), t.off('pinch', f) }, this.dispose = this.disable, this.isDragging = function () { return this._dragging }, this.isPinching = function () { return this._pinching } } function l (t) { if (!(r.notLeftMouse(t) || t.target && t.target.draggable)) { var e = t.offsetX, n = t.offsetY; this.pointerChecker && this.pointerChecker(t, e, n) && (this._x = e, this._y = n, this._dragging = !0) } } function u (t) { if (!r.notLeftMouse(t) && p(this, 'moveOnMouseMove', t) && this._dragging && t.gestureEvent !== 'pinch' && !o.isTaken(this._zr, 'globalPan')) { var e = t.offsetX, n = t.offsetY, i = this._x, a = this._y, s = e - i, l = n - a; this._x = e, this._y = n, this._opt.preventDefaultMouseMove && r.stop(t.event), this.trigger('pan', s, l, i, a, e, n) } } function c (t) { r.notLeftMouse(t) || (this._dragging = !1) } function h (t) { if (p(this, 'zoomOnMouseWheel', t) && t.wheelDelta !== 0) { var e = t.wheelDelta > 0 ? 1.1 : 1 / 1.1; f.call(this, t, e, t.offsetX, t.offsetY) } } function d (t) { if (!o.isTaken(this._zr, 'globalPan')) { var e = t.pinchScale > 1 ? 1.1 : 1 / 1.1; f.call(this, t, e, t.pinchX, t.pinchY) } } function f (t, e, n, i) { this.pointerChecker && this.pointerChecker(t, n, i) && (r.stop(t.event), this.trigger('zoom', e, n, i)) } function p (t, e, n) { var a = t._opt[e]; return a && (!i.isString(a) || n.event[a + 'Key']) }i.mixin(s, a); var g = s; t.exports = g }, '4a3f': function (t, e, n) { var i = n('401b'), a = i.create, r = i.distSquare, o = Math.pow, s = Math.sqrt, l = 1e-8, u = 1e-4, c = s(3), h = 1 / 3, d = a(), f = a(), p = a(); function g (t) { return t > -l && t < l } function m (t) { return t > l || t < -l } function v (t, e, n, i, a) { var r = 1 - a; return r * r * (r * t + 3 * a * e) + a * a * (a * i + 3 * r * n) } function y (t, e, n, i, a) { var r = 1 - a; return 3 * (((e - t) * r + 2 * (n - e) * a) * r + (i - n) * a * a) } function x (t, e, n, i, a, r) { var l = i + 3 * (e - n) - t, u = 3 * (n - 2 * e + t), d = 3 * (e - t), f = t - a, p = u * u - 3 * l * d, m = u * d - 9 * l * f, v = d * d - 3 * u * f, y = 0; if (g(p) && g(m)) if (g(u))r[0] = 0; else { var x = -d / u; x >= 0 && x <= 1 && (r[y++] = x) } else { var _ = m * m - 4 * p * v; if (g(_)) { var b = m / p, w = (x = -u / l + b, -b / 2); x >= 0 && x <= 1 && (r[y++] = x), w >= 0 && w <= 1 && (r[y++] = w) } else if (_ > 0) { var S = s(_), M = p * u + 1.5 * l * (-m + S), I = p * u + 1.5 * l * (-m - S); M = M < 0 ? -o(-M, h) : o(M, h), I = I < 0 ? -o(-I, h) : o(I, h); x = (-u - (M + I)) / (3 * l); x >= 0 && x <= 1 && (r[y++] = x) } else { var A = (2 * p * u - 3 * l * m) / (2 * s(p * p * p)), T = Math.acos(A) / 3, C = s(p), D = Math.cos(T), L = (x = (-u - 2 * C * D) / (3 * l), w = (-u + C * (D + c * Math.sin(T))) / (3 * l), (-u + C * (D - c * Math.sin(T))) / (3 * l)); x >= 0 && x <= 1 && (r[y++] = x), w >= 0 && w <= 1 && (r[y++] = w), L >= 0 && L <= 1 && (r[y++] = L) } } return y } function _ (t, e, n, i, a) { var r = 6 * n - 12 * e + 6 * t, o = 9 * e + 3 * i - 3 * t - 9 * n, l = 3 * e - 3 * t, u = 0; if (g(o)) { if (m(r)) { var c = -l / r; c >= 0 && c <= 1 && (a[u++] = c) } } else { var h = r * r - 4 * o * l; if (g(h))a[0] = -r / (2 * o); else if (h > 0) { var d = s(h), f = (c = (-r + d) / (2 * o), (-r - d) / (2 * o)); c >= 0 && c <= 1 && (a[u++] = c), f >= 0 && f <= 1 && (a[u++] = f) } } return u } function b (t, e, n, i, a, r) { var o = (e - t) * a + t, s = (n - e) * a + e, l = (i - n) * a + n, u = (s - o) * a + o, c = (l - s) * a + s, h = (c - u) * a + u; r[0] = t, r[1] = o, r[2] = u, r[3] = h, r[4] = h, r[5] = c, r[6] = l, r[7] = i } function w (t, e, n, i, a, o, l, c, h, g, m) { var y, x, _, b, w, S = 0.005, M = 1 / 0; d[0] = h, d[1] = g; for (var I = 0; I < 1; I += 0.05)f[0] = v(t, n, a, l, I), f[1] = v(e, i, o, c, I), b = r(d, f), b < M && (y = I, M = b); M = 1 / 0; for (var A = 0; A < 32; A++) { if (S < u) break; x = y - S, _ = y + S, f[0] = v(t, n, a, l, x), f[1] = v(e, i, o, c, x), b = r(f, d), x >= 0 && b < M ? (y = x, M = b) : (p[0] = v(t, n, a, l, _), p[1] = v(e, i, o, c, _), w = r(p, d), _ <= 1 && w < M ? (y = _, M = w) : S *= 0.5) } return m && (m[0] = v(t, n, a, l, y), m[1] = v(e, i, o, c, y)), s(M) } function S (t, e, n, i) { var a = 1 - i; return a * (a * t + 2 * i * e) + i * i * n } function M (t, e, n, i) { return 2 * ((1 - i) * (e - t) + i * (n - e)) } function I (t, e, n, i, a) { var r = t - 2 * e + n, o = 2 * (e - t), l = t - i, u = 0; if (g(r)) { if (m(o)) { var c = -l / o; c >= 0 && c <= 1 && (a[u++] = c) } } else { var h = o * o - 4 * r * l; if (g(h)) { c = -o / (2 * r); c >= 0 && c <= 1 && (a[u++] = c) } else if (h > 0) { var d = s(h), f = (c = (-o + d) / (2 * r), (-o - d) / (2 * r)); c >= 0 && c <= 1 && (a[u++] = c), f >= 0 && f <= 1 && (a[u++] = f) } } return u } function A (t, e, n) { var i = t + n - 2 * e; return i === 0 ? 0.5 : (t - e) / i } function T (t, e, n, i, a) { var r = (e - t) * i + t, o = (n - e) * i + e, s = (o - r) * i + r; a[0] = t, a[1] = r, a[2] = s, a[3] = s, a[4] = o, a[5] = n } function C (t, e, n, i, a, o, l, c, h) { var g, m = 0.005, v = 1 / 0; d[0] = l, d[1] = c; for (var y = 0; y < 1; y += 0.05) { f[0] = S(t, n, a, y), f[1] = S(e, i, o, y); var x = r(d, f); x < v && (g = y, v = x) }v = 1 / 0; for (var _ = 0; _ < 32; _++) { if (m < u) break; var b = g - m, w = g + m; f[0] = S(t, n, a, b), f[1] = S(e, i, o, b); x = r(f, d); if (b >= 0 && x < v)g = b, v = x; else { p[0] = S(t, n, a, w), p[1] = S(e, i, o, w); var M = r(p, d); w <= 1 && M < v ? (g = w, v = M) : m *= 0.5 } } return h && (h[0] = S(t, n, a, g), h[1] = S(e, i, o, g)), s(v) }e.cubicAt = v, e.cubicDerivativeAt = y, e.cubicRootAt = x, e.cubicExtrema = _, e.cubicSubdivide = b, e.cubicProjectPoint = w, e.quadraticAt = S, e.quadraticDerivativeAt = M, e.quadraticRootAt = I, e.quadraticExtremum = A, e.quadraticSubdivide = T, e.quadraticProjectPoint = C }, '4a9d': function (t, e, n) { var i = n('2306'), a = n('dcb3'), r = n('ff2e'), o = n('0156'), s = n('6679'), l = a.extend({makeElOption: function (t, e, n, i, a) { var s = n.axis, l = s.grid, h = i.get('type'), d = u(l, s).getOtherAxis(s).getGlobalExtent(), f = s.toGlobalCoord(s.dataToCoord(e, !0)); if (h && h !== 'none') { var p = r.buildElStyle(i), g = c[h](s, f, d, p); g.style = p, t.graphicKey = g.type, t.pointer = g } var m = o.layout(l.model, n); r.buildCartesianSingleLabelElOption(e, t, m, n, i, a) }, getHandleTransform: function (t, e, n) { var i = o.layout(e.axis.grid.model, e, {labelInside: !1}); return i.labelMargin = n.get('handle.margin'), {position: r.getTransformedPosition(e.axis, t, i), rotation: i.rotation + (i.labelDirection < 0 ? Math.PI : 0)} }, updateHandleTransform: function (t, e, n, i) { var a = n.axis, r = a.grid, o = a.getGlobalExtent(!0), s = u(r, a).getOtherAxis(a).getGlobalExtent(), l = a.dim === 'x' ? 0 : 1, c = t.position; c[l] += e[l], c[l] = Math.min(o[1], c[l]), c[l] = Math.max(o[0], c[l]); var h = (s[1] + s[0]) / 2, d = [h, h]; d[l] = c[l]; var f = [{verticalAlign: 'middle'}, {align: 'center'}]; return {position: c, rotation: t.rotation, cursorPoint: d, tooltipOption: f[l]} }}); function u (t, e) { var n = {}; return n[e.dim + 'AxisIndex'] = e.index, t.getCartesian(n) } var c = {line: function (t, e, n, a) { var o = r.makeLineShape([e, n[0]], [e, n[1]], h(t)); return i.subPixelOptimizeLine({shape: o, style: a}), {type: 'Line', shape: o} }, shadow: function (t, e, n, i) { var a = Math.max(1, t.getBandWidth()), o = n[1] - n[0]; return {type: 'Rect', shape: r.makeRectShape([e - a / 2, n[0]], [a, o], h(t))} }}; function h (t) { return t.dim === 'x' ? 0 : 1 }s.registerAxisPointerClass('CartesianAxisPointer', l); var d = l; t.exports = d }, '4aa2': function (t, e, n) { var i = n('cbe5'), a = n('897a'), r = i.extend({type: 'sector', shape: {cx: 0, cy: 0, r0: 0, r: 0, startAngle: 0, endAngle: 2 * Math.PI, clockwise: !0}, brush: a(i.prototype.brush), buildPath: function (t, e) { var n = e.cx, i = e.cy, a = Math.max(e.r0 || 0, 0), r = Math.max(e.r, 0), o = e.startAngle, s = e.endAngle, l = e.clockwise, u = Math.cos(o), c = Math.sin(o); t.moveTo(u * a + n, c * a + i), t.lineTo(u * r + n, c * r + i), t.arc(n, i, r, o, s, !l), t.lineTo(Math.cos(s) * a + n, Math.sin(s) * a + i), a !== 0 && t.arc(n, i, a, s, o, l), t.closePath() }}); t.exports = r }, '4ab1': function (t, e, n) { var i = n('8727'), a = i.createElement, r = n('6d8b'), o = n('cbe5'), s = n('0da8'), l = n('76a5'), u = n('3f8e'), c = u.path, h = u.image, d = u.text, f = '0', p = '1'; function g (t, e, n, i, a) { this._zrId = t, this._svgRoot = e, this._tagNames = typeof n === 'string' ? [n] : n, this._markLabel = i, this._domName = a || '_dom', this.nextId = 0 }g.prototype.createElement = a, g.prototype.getDefs = function (t) { var e = this._svgRoot, n = this._svgRoot.getElementsByTagName('defs'); return n.length === 0 ? t ? (n = e.insertBefore(this.createElement('defs'), e.firstChild), n.contains || (n.contains = function (t) { var e = n.children; if (!e) return !1; for (var i = e.length - 1; i >= 0; --i) if (e[i] === t) return !0; return !1 }), n) : null : n[0] }, g.prototype.update = function (t, e) { if (t) { var n = this.getDefs(!1); if (t[this._domName] && n.contains(t[this._domName])) typeof e === 'function' && e(t); else { var i = this.add(t); i && (t[this._domName] = i) } } }, g.prototype.addDom = function (t) { var e = this.getDefs(!0); e.appendChild(t) }, g.prototype.removeDom = function (t) { var e = this.getDefs(!1); e && t[this._domName] && (e.removeChild(t[this._domName]), t[this._domName] = null) }, g.prototype.getDoms = function () { var t = this.getDefs(!1); if (!t) return []; var e = []; return r.each(this._tagNames, function (n) { var i = t.getElementsByTagName(n); e = e.concat([].slice.call(i)) }), e }, g.prototype.markAllUnused = function () { var t = this.getDoms(), e = this; r.each(t, function (t) { t[e._markLabel] = f }) }, g.prototype.markUsed = function (t) { t && (t[this._markLabel] = p) }, g.prototype.removeUnused = function () { var t = this.getDefs(!1); if (t) { var e = this.getDoms(), n = this; r.each(e, function (e) { e[n._markLabel] !== p && t.removeChild(e) }) } }, g.prototype.getSvgProxy = function (t) { return t instanceof o ? c : t instanceof s ? h : t instanceof l ? d : c }, g.prototype.getTextSvgElement = function (t) { return t.__textSvgEl }, g.prototype.getSvgElement = function (t) { return t.__svgEl }; var m = g; t.exports = m }, '4b08': function (t, e, n) { var i = n('7dcf'), a = i.extend({type: 'dataZoom.select'}); t.exports = a }, '4bf6': function (t, e, n) { var i = n('66fc'), a = n('697e'), r = n('f934'), o = r.getLayoutRect, s = n('6d8b'), l = s.each; function u (t, e, n) { this.dimension = 'single', this.dimensions = ['single'], this._axis = null, this._rect, this._init(t, e, n), this.model = t }u.prototype = {type: 'singleAxis', axisPointerEnabled: !0, constructor: u, _init: function (t, e, n) { var r = this.dimension, o = new i(r, a.createScaleByModel(t), [0, 0], t.get('type'), t.get('position')), s = o.type === 'category'; o.onBand = s && t.get('boundaryGap'), o.inverse = t.get('inverse'), o.orient = t.get('orient'), t.axis = o, o.model = t, o.coordinateSystem = this, this._axis = o }, update: function (t, e) { t.eachSeries(function (t) { if (t.coordinateSystem === this) { var e = t.getData(); l(e.mapDimension(this.dimension, !0), function (t) { this._axis.scale.unionExtentFromData(e, t) }, this), a.niceScaleExtent(this._axis.scale, this._axis.model) } }, this) }, resize: function (t, e) { this._rect = o({left: t.get('left'), top: t.get('top'), right: t.get('right'), bottom: t.get('bottom'), width: t.get('width'), height: t.get('height')}, {width: e.getWidth(), height: e.getHeight()}), this._adjustAxis() }, getRect: function () { return this._rect }, _adjustAxis: function () { var t = this._rect, e = this._axis, n = e.isHorizontal(), i = n ? [0, t.width] : [0, t.height], a = e.reverse ? 1 : 0; e.setExtent(i[a], i[1 - a]), this._updateAxisTransform(e, n ? t.x : t.y) }, _updateAxisTransform: function (t, e) { var n = t.getExtent(), i = n[0] + n[1], a = t.isHorizontal(); t.toGlobalCoord = a ? function (t) { return t + e } : function (t) { return i - t + e }, t.toLocalCoord = a ? function (t) { return t - e } : function (t) { return i - t + e } }, getAxis: function () { return this._axis }, getBaseAxis: function () { return this._axis }, getAxes: function () { return [this._axis] }, getTooltipAxes: function () { return {baseAxes: [this.getAxis()]} }, containPoint: function (t) { var e = this.getRect(), n = this.getAxis(), i = n.orient; return i === 'horizontal' ? n.contain(n.toLocalCoord(t[0])) && t[1] >= e.y && t[1] <= e.y + e.height : n.contain(n.toLocalCoord(t[1])) && t[0] >= e.y && t[0] <= e.y + e.height }, pointToData: function (t) { var e = this.getAxis(); return [e.coordToData(e.toLocalCoord(t[e.orient === 'horizontal' ? 0 : 1]))] }, dataToPoint: function (t) { var e = this.getAxis(), n = this.getRect(), i = [], a = e.orient === 'horizontal' ? 0 : 1; return t instanceof Array && (t = t[0]), i[a] = e.toGlobalCoord(e.dataToCoord(+t)), i[1 - a] = a === 0 ? n.y + n.height / 2 : n.x + n.width / 2, i }}; var c = u; t.exports = c }, '4c99': function (t, e, n) { var i = n('cccd'), a = ['itemStyle', 'borderColor'], r = ['itemStyle', 'borderColor0'], o = ['itemStyle', 'color'], s = ['itemStyle', 'color0'], l = {seriesType: 'candlestick', plan: i(), performRawSeries: !0, reset: function (t, e) { var n = t.getData(), i = t.pipelineContext.large; if (n.setVisual({legendSymbol: 'roundRect', colorP: u(1, t), colorN: u(-1, t), borderColorP: c(1, t), borderColorN: c(-1, t)}), !e.isSeriesFiltered(t)) return !i && {progress: l}; function l (t, e) { var n; while ((n = t.next()) != null) { var i = e.getItemModel(n), a = e.getItemLayout(n).sign; e.setItemVisual(n, {color: u(a, i), borderColor: c(a, i)}) } } function u (t, e) { return e.get(t > 0 ? o : s) } function c (t, e) { return e.get(t > 0 ? a : r) } }}; t.exports = l }, '4d62': function (t, e, n) { var i = n('2306'), a = n('6d8b'), r = n('e887'); function o (t, e) { i.Group.call(this); var n = new i.Polygon(), a = new i.Polyline(), r = new i.Text(); function o () { a.ignore = a.hoverIgnore, r.ignore = r.hoverIgnore } function s () { a.ignore = a.normalIgnore, r.ignore = r.normalIgnore } this.add(n), this.add(a), this.add(r), this.updateData(t, e, !0), this.on('emphasis', o).on('normal', s).on('mouseover', o).on('mouseout', s) } var s = o.prototype, l = ['itemStyle', 'opacity']; s.updateData = function (t, e, n) { var r = this.childAt(0), o = t.hostModel, s = t.getItemModel(e), u = t.getItemLayout(e), c = t.getItemModel(e).get(l); c = c == null ? 1 : c, r.useStyle({}), n ? (r.setShape({points: u.points}), r.setStyle({opacity: 0}), i.initProps(r, {style: {opacity: c}}, o, e)) : i.updateProps(r, {style: {opacity: c}, shape: {points: u.points}}, o, e); var h = s.getModel('itemStyle'), d = t.getItemVisual(e, 'color'); r.setStyle(a.defaults({lineJoin: 'round', fill: d}, h.getItemStyle(['opacity']))), r.hoverStyle = h.getModel('emphasis').getItemStyle(), this._updateLabel(t, e), i.setHoverStyle(this) }, s._updateLabel = function (t, e) { var n = this.childAt(1), a = this.childAt(2), r = t.hostModel, o = t.getItemModel(e), s = t.getItemLayout(e), l = s.label, u = t.getItemVisual(e, 'color'); i.updateProps(n, {shape: {points: l.linePoints || l.linePoints}}, r, e), i.updateProps(a, {style: {x: l.x, y: l.y}}, r, e), a.attr({rotation: l.rotation, origin: [l.x, l.y], z2: 10}); var c = o.getModel('label'), h = o.getModel('emphasis.label'), d = o.getModel('labelLine'), f = o.getModel('emphasis.labelLine'); u = t.getItemVisual(e, 'color'); i.setLabelStyle(a.style, a.hoverStyle = {}, c, h, {labelFetcher: t.hostModel, labelDataIndex: e, defaultText: t.getName(e), autoColor: u, useInsideStyle: !!l.inside}, {textAlign: l.textAlign, textVerticalAlign: l.verticalAlign}), a.ignore = a.normalIgnore = !c.get('show'), a.hoverIgnore = !h.get('show'), n.ignore = n.normalIgnore = !d.get('show'), n.hoverIgnore = !f.get('show'), n.setStyle({stroke: u}), n.setStyle(d.getModel('lineStyle').getLineStyle()), n.hoverStyle = f.getModel('lineStyle').getLineStyle() }, a.inherits(o, i.Group); var u = r.extend({type: 'funnel', render: function (t, e, n) { var i = t.getData(), a = this._data, r = this.group; i.diff(a).add(function (t) { var e = new o(i, t); i.setItemGraphicEl(t, e), r.add(e) }).update(function (t, e) { var n = a.getItemGraphicEl(e); n.updateData(i, t), r.add(n), i.setItemGraphicEl(t, n) }).remove(function (t) { var e = a.getItemGraphicEl(t); r.remove(e) }).execute(), this._data = i }, remove: function () { this.group.removeAll(), this._data = null }, dispose: function () {}}), c = u; t.exports = c }, '4d85': function (t, e, n) { var i = n('e46b'), a = n('4f85'), r = n('6d8b'), o = a.extend({type: 'series.gauge', getInitialData: function (t, e) { var n = t.data || []; return r.isArray(n) || (n = [n]), t.data = n, i(this, ['value']) }, defaultOption: {zlevel: 0, z: 2, center: ['50%', '50%'], legendHoverLink: !0, radius: '75%', startAngle: 225, endAngle: -45, clockwise: !0, min: 0, max: 100, splitNumber: 10, axisLine: {show: !0, lineStyle: {color: [[0.2, '#91c7ae'], [0.8, '#63869e'], [1, '#c23531']], width: 30}}, splitLine: {show: !0, length: 30, lineStyle: {color: '#eee', width: 2, type: 'solid'}}, axisTick: {show: !0, splitNumber: 5, length: 8, lineStyle: {color: '#eee', width: 1, type: 'solid'}}, axisLabel: {show: !0, distance: 5, color: 'auto'}, pointer: {show: !0, length: '80%', width: 8}, itemStyle: {color: 'auto'}, title: {show: !0, offsetCenter: [0, '-40%'], color: '#333', fontSize: 15}, detail: {show: !0, backgroundColor: 'rgba(0,0,0,0)', borderWidth: 0, borderColor: '#ccc', width: 100, height: null, padding: [5, 10], offsetCenter: [0, '40%'], color: 'auto', fontSize: 30}}}), s = o; t.exports = s }, '4e08': function (t, e, n) { (function (t) { var n; typeof window !== 'undefined' ? n = window.__DEV__ : typeof t !== 'undefined' && (n = t.__DEV__), typeof n === 'undefined' && (n = !0); var i = n; e.__DEV__ = i }).call(this, n('c8ba')) }, '4e10': function (t, e, n) { var i = n('6d8b'), a = n('e46b'), r = n('4f85'), o = n('eda2'), s = o.encodeHTML, l = o.addCommas, u = n('7023'), c = n('2b17'), h = c.retrieveRawAttr, d = n('eeea'), f = r.extend({type: 'series.map', dependencies: ['geo'], layoutMode: 'box', needsDrawMap: !1, seriesGroup: [], init: function (t) { f.superApply(this, 'init', arguments), this.updateSelectedMap(this._createSelectableList()) }, getInitialData: function (t) { return a(this, ['value']) }, mergeOption: function (t) { f.superApply(this, 'mergeOption', arguments), this.updateSelectedMap(this._createSelectableList()) }, _createSelectableList: function () { for (var t = this.getRawData(), e = t.mapDimension('value'), n = [], i = 0, a = t.count(); i < a; i++)n.push({name: t.getName(i), value: t.get(e, i), selected: h(t, i, 'selected')}); return n = d.getFilledRegions(n, this.getMapType(), this.option.nameMap), n }, getHostGeoModel: function () { var t = this.option.geoIndex; return t != null ? this.dependentModels.geo[t] : null }, getMapType: function () { return (this.getHostGeoModel() || this).option.map }, _fillOption: function (t, e) {}, getRawValue: function (t) { var e = this.getData(); return e.get(e.mapDimension('value'), t) }, getRegionModel: function (t) { var e = this.getData(); return e.getItemModel(e.indexOfName(t)) }, formatTooltip: function (t) { for (var e = this.getData(), n = l(this.getRawValue(t)), i = e.getName(t), a = this.seriesGroup, r = [], o = 0; o < a.length; o++) { var u = a[o].originalData.indexOfName(i), c = e.mapDimension('value'); isNaN(a[o].originalData.get(c, u)) || r.push(s(a[o].name)) } return r.join(', ') + '<br />' + s(i + ' : ' + n) }, getTooltipPosition: function (t) { if (t != null) { var e = this.getData().getName(t), n = this.coordinateSystem, i = n.getRegion(e); return i && n.dataToPoint(i.center) } }, setZoom: function (t) { this.option.zoom = t }, setCenter: function (t) { this.option.center = t }, defaultOption: {zlevel: 0, z: 2, coordinateSystem: 'geo', map: '', left: 'center', top: 'center', aspectScale: 0.75, showLegendSymbol: !0, dataRangeHoverLink: !0, boundingCoords: null, center: null, zoom: 1, scaleLimit: null, label: {show: !1, color: '#000'}, itemStyle: {borderWidth: 0.5, borderColor: '#444', areaColor: '#eee'}, emphasis: {label: {show: !0, color: 'rgb(100,0,0)'}, itemStyle: {areaColor: 'rgba(255,215,0,0.8)'}}}}); i.mixin(f, u); var p = f; t.exports = p }, '4e47': function (t, e, n) { var i = n('6d8b'), a = n('2306'), r = {NONE: 'none', DESCENDANT: 'descendant', ANCESTOR: 'ancestor', SELF: 'self'}, o = 2, s = 4; function l (t, e, n) { a.Group.call(this); var i = new a.Sector({z2: o}); i.seriesIndex = e.seriesIndex; var r = new a.Text({z2: s, silent: t.getModel('label').get('silent')}); function l () { r.ignore = r.hoverIgnore } function u () { r.ignore = r.normalIgnore } this.add(i), this.add(r), this.updateData(!0, t, 'normal', e, n), this.on('emphasis', l).on('normal', u).on('mouseover', l).on('mouseout', u) } var u = l.prototype; u.updateData = function (t, e, n, r, o) { this.node = e, e.piece = this, r = r || this._seriesModel, o = o || this._ecModel; var s = this.childAt(0); s.dataIndex = e.dataIndex; var l = e.getModel(), u = e.getLayout(); u || console.log(e.getLayout()); var c = i.extend({}, u); c.label = null; var d, f = h(e, r, o), p = l.getModel('itemStyle').getItemStyle(); if (n === 'normal')d = p; else { var g = l.getModel(n + '.itemStyle').getItemStyle(); d = i.merge(g, p) }d = i.defaults({lineJoin: 'bevel', fill: d.fill || f}, d), t ? (s.setShape(c), s.shape.r = u.r0, a.updateProps(s, {shape: {r: u.r}}, r, e.dataIndex), s.useStyle(d)) : typeof d.fill === 'object' && d.fill.type || typeof s.style.fill === 'object' && s.style.fill.type ? (a.updateProps(s, {shape: c}, r), s.useStyle(d)) : a.updateProps(s, {shape: c, style: d}, r), this._updateLabel(r, f, n); var m = l.getShallow('cursor'); if (m && s.attr('cursor', m), t) { var v = r.getShallow('highlightPolicy'); this._initEvents(s, e, r, v) } this._seriesModel = r || this._seriesModel, this._ecModel = o || this._ecModel }, u.onEmphasis = function (t) { var e = this; this.node.hostTree.root.eachNode(function (n) { n.piece && (e.node === n ? n.piece.updateData(!1, n, 'emphasis') : f(n, e.node, t) ? n.piece.childAt(0).trigger('highlight') : t !== r.NONE && n.piece.childAt(0).trigger('downplay')) }) }, u.onNormal = function () { this.node.hostTree.root.eachNode(function (t) { t.piece && t.piece.updateData(!1, t, 'normal') }) }, u.onHighlight = function () { this.updateData(!1, this.node, 'highlight') }, u.onDownplay = function () { this.updateData(!1, this.node, 'downplay') }, u._updateLabel = function (t, e, n) { var r = this.node.getModel(), o = r.getModel('label'), s = n === 'normal' || n === 'emphasis' ? o : r.getModel(n + '.label'), l = r.getModel('emphasis.label'), u = i.retrieve(t.getFormattedLabel(this.node.dataIndex, 'normal', null, null, 'label'), this.node.name); !1 === I('show') && (u = ''); var c = this.node.getLayout(), h = s.get('minAngle'); h == null && (h = o.get('minAngle')), h = h / 180 * Math.PI; var d = c.endAngle - c.startAngle; h != null && Math.abs(d) < h && (u = ''); var f = this.childAt(1); a.setLabelStyle(f.style, f.hoverStyle || {}, o, l, {defaultText: s.getShallow('show') ? u : null, autoColor: e, useInsideStyle: !0}); var p, g = (c.startAngle + c.endAngle) / 2, m = Math.cos(g), v = Math.sin(g), y = I('position'), x = I('distance') || 0, _ = I('align'); y === 'outside' ? (p = c.r + x, _ = g > Math.PI / 2 ? 'right' : 'left') : _ && _ !== 'center' ? _ === 'left' ? (p = c.r0 + x, g > Math.PI / 2 && (_ = 'right')) : _ === 'right' && (p = c.r - x, g > Math.PI / 2 && (_ = 'left')) : (p = (c.r + c.r0) / 2, _ = 'center'), f.attr('style', {text: u, textAlign: _, textVerticalAlign: I('verticalAlign') || 'middle', opacity: I('opacity')}); var b = p * m + c.cx, w = p * v + c.cy; f.attr('position', [b, w]); var S = I('rotate'), M = 0; function I (t) { var e = s.get(t); return e == null ? o.get(t) : e }S === 'radial' ? (M = -g, M < -Math.PI / 2 && (M += Math.PI)) : S === 'tangential' ? (M = Math.PI / 2 - g, M > Math.PI / 2 ? M -= Math.PI : M < -Math.PI / 2 && (M += Math.PI)) : typeof S === 'number' && (M = S * Math.PI / 180), f.attr('rotation', M) }, u._initEvents = function (t, e, n, i) { t.off('mouseover').off('mouseout').off('emphasis').off('normal'); var a = this, r = function () { a.onEmphasis(i) }, o = function () { a.onNormal() }, s = function () { a.onDownplay() }, l = function () { a.onHighlight() }; n.isAnimationEnabled() && t.on('mouseover', r).on('mouseout', o).on('emphasis', r).on('normal', o).on('downplay', s).on('highlight', l) }, i.inherits(l, a.Group); var c = l; function h (t, e, n) { var i = t.getVisual('color'), a = t.getVisual('visualMeta'); a && a.length !== 0 || (i = null); var r = t.getModel('itemStyle').get('color'); if (r) return r; if (i) return i; if (t.depth === 0) return n.option.color[0]; var o = n.option.color.length; return r = n.option.color[d(t) % o], r } function d (t) { var e = t; while (e.depth > 1)e = e.parentNode; var n = t.getAncestors()[0]; return i.indexOf(n.children, e) } function f (t, e, n) { return n !== r.NONE && (n === r.SELF ? t === e : n === r.ANCESTOR ? t === e || t.isAncestorOf(e) : t === e || t.isDescendantOf(e)) }t.exports = c }, '4e9f': function (t, e, n) { var i = n('22d1'), a = n('29a8'), r = n('2145'), o = a.toolbox.saveAsImage; function s (t) { this.model = t }s.defaultOption = {show: !0, icon: 'M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0', title: o.title, type: 'png', name: '', excludeComponents: ['toolbox'], pixelRatio: 1, lang: o.lang.slice()}, s.prototype.unusable = !i.canvasSupported; var l = s.prototype; l.onclick = function (t, e) { var n = this.model, a = n.get('name') || t.get('title.0.text') || 'echarts', r = document.createElement('a'), o = n.get('type', !0) || 'png'; r.download = a + '.' + o, r.target = '_blank'; var s = e.getConnectedDataURL({type: o, backgroundColor: n.get('backgroundColor', !0) || t.get('backgroundColor') || '#fff', excludeComponents: n.get('excludeComponents'), pixelRatio: n.get('pixelRatio')}); if (r.href = s, typeof MouseEvent !== 'function' || i.browser.ie || i.browser.edge) if (window.navigator.msSaveOrOpenBlob) { var l = atob(s.split(',')[1]), u = l.length, c = new Uint8Array(u); while (u--)c[u] = l.charCodeAt(u); var h = new Blob([c]); window.navigator.msSaveOrOpenBlob(h, a + '.' + o) } else { var d = n.get('lang'), f = '<body style="margin:0;"><img src="' + s + '" style="max-width:100%;" title="' + (d && d[0] || '') + '" /></body>', p = window.open(); p.document.write(f) } else { var g = new MouseEvent('click', {view: window, bubbles: !0, cancelable: !1}); r.dispatchEvent(g) } }, r.register('saveAsImage', s); var u = s; t.exports = u }, '4f85': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = n('22d1'), o = n('eda2'), s = o.formatTime, l = o.encodeHTML, u = o.addCommas, c = o.getTooltipMarker, h = n('e0d3'), d = n('6cb7'), f = n('e47b'), p = n('38a2'), g = n('f934'), m = g.getLayoutParams, v = g.mergeLayoutParam, y = n('f47d'), x = y.createTask, _ = n('0f99'), b = _.prepareSource, w = _.getSource, S = n('2b17'), M = S.retrieveRawValue, I = h.makeInner(), A = d.extend({type: 'series.__base__', seriesIndex: 0, coordinateSystem: null, defaultOption: null, legendDataProvider: null, visualColorAccessPath: 'itemStyle.color', layoutMode: null, init: function (t, e, n, i) { this.seriesIndex = this.componentIndex, this.dataTask = x({count: D, reset: L}), this.dataTask.context = {model: this}, this.mergeDefaultAndTheme(t, n), b(this); var a = this.getInitialData(t, n); k(a, this), this.dataTask.context.data = a, I(this).dataBeforeProcessed = a, T(this) }, mergeDefaultAndTheme: function (t, e) { var n = this.layoutMode, i = n ? m(t) : {}, r = this.subType; d.hasClass(r) && (r += 'Series'), a.merge(t, e.getTheme().get(this.subType)), a.merge(t, this.getDefaultOption()), h.defaultEmphasis(t, 'label', ['show']), this.fillDataTextStyle(t.data), n && v(t, i, n) }, mergeOption: function (t, e) { t = a.merge(this.option, t, !0), this.fillDataTextStyle(t.data); var n = this.layoutMode; n && v(this.option, t, n), b(this); var i = this.getInitialData(t, e); k(i, this), this.dataTask.dirty(), this.dataTask.context.data = i, I(this).dataBeforeProcessed = i, T(this) }, fillDataTextStyle: function (t) { if (t && !a.isTypedArray(t)) for (var e = ['show'], n = 0; n < t.length; n++)t[n] && t[n].label && h.defaultEmphasis(t[n], 'label', e) }, getInitialData: function () {}, appendData: function (t) { var e = this.getRawData(); e.appendData(t.data) }, getData: function (t) { var e = R(this); if (e) { var n = e.context.data; return t == null ? n : n.getLinkedData(t) } return I(this).data }, setData: function (t) { var e = R(this); if (e) { var n = e.context; n.data !== t && e.modifyOutputEnd && e.setOutputEnd(t.count()), n.outputData = t, e !== this.dataTask && (n.data = t) }I(this).data = t }, getSource: function () { return w(this) }, getRawData: function () { return I(this).dataBeforeProcessed }, getBaseAxis: function () { var t = this.coordinateSystem; return t && t.getBaseAxis && t.getBaseAxis() }, formatTooltip: function (t, e, n) { function i (n) { var i = a.reduce(n, function (t, e, n) { var i = o.getDimensionInfo(n); return t | (i && !1 !== i.tooltip && i.displayName != null) }, 0), r = []; function h (t, n) { var a = o.getDimensionInfo(n); if (a && !1 !== a.otherDims.tooltip) { var h = a.type, d = c({color: m, type: 'subItem'}), f = (i ? d + l(a.displayName || '-') + ': ' : '') + l(h === 'ordinal' ? t + '' : h === 'time' ? e ? '' : s('yyyy/MM/dd hh:mm:ss', t) : u(t)); f && r.push(f) } } return d.length ? a.each(d, function (e) { h(M(o, t, e), e) }) : a.each(n, h), (i ? '<br/>' : '') + r.join(i ? '<br/>' : ', ') } function r (t) { return l(u(t)) } var o = this.getData(), d = o.mapDimension('defaultedTooltip', !0), f = d.length, p = this.getRawValue(t), g = a.isArray(p), m = o.getItemVisual(t, 'color'); a.isObject(m) && m.colorStops && (m = (m.colorStops[0] || {}).color), m = m || 'transparent'; var v = f > 1 || g && !f ? i(p) : r(f ? M(o, t, d[0]) : g ? p[0] : p), y = c(m), x = o.getName(t), _ = this.name; return h.isNameSpecified(this) || (_ = ''), _ = _ ? l(_) + (e ? ': ' : '<br/>') : '', e ? y + _ + v : _ + y + (x ? l(x) + ': ' + v : v) }, isAnimationEnabled: function () { if (r.node) return !1; var t = this.getShallow('animation'); return t && this.getData().count() > this.getShallow('animationThreshold') && (t = !1), t }, restoreData: function () { this.dataTask.dirty() }, getColorFromPalette: function (t, e, n) { var i = this.ecModel, a = f.getColorFromPalette.call(this, t, e, n); return a || (a = i.getColorFromPalette(t, e, n)), a }, coordDimToDataDim: function (t) { return this.getRawData().mapDimension(t, !0) }, getProgressive: function () { return this.get('progressive') }, getProgressiveThreshold: function () { return this.get('progressiveThreshold') }, getAxisTooltipData: null, getTooltipPosition: null, pipeTask: null, preventIncremental: null, pipelineContext: null}); function T (t) { var e = t.name; h.isNameSpecified(t) || (t.name = C(t) || e) } function C (t) { var e = t.getRawData(), n = e.mapDimension('seriesName', !0), i = []; return a.each(n, function (t) { var n = e.getDimensionInfo(t); n.displayName && i.push(n.displayName) }), i.join(' ') } function D (t) { return t.model.getRawData().count() } function L (t) { var e = t.model; return e.setData(e.getRawData().cloneShallow()), P } function P (t, e) { t.end > e.outputData.count() && e.model.getRawData().cloneShallow(e.outputData) } function k (t, e) { a.each(t.CHANGABLE_METHODS, function (n) { t.wrapMethod(n, a.curry(O, e)) }) } function O (t) { var e = R(t); e && e.setOutputEnd(this.count()) } function R (t) { var e = (t.ecModel || {}).scheduler, n = e && e.getPipeline(t.uid); if (n) { var i = n.currentTask; if (i) { var a = i.agentStubMap; a && (i = a.get(t.uid)) } return i } }a.mixin(A, p), a.mixin(A, f); var E = A; t.exports = E }, '4fac': function (t, e, n) { var i = n('620b'), a = n('9c2c'); function r (t, e, n) { var r = e.points, o = e.smooth; if (r && r.length >= 2) { if (o && o !== 'spline') { var s = a(r, o, n, e.smoothConstraint); t.moveTo(r[0][0], r[0][1]); for (var l = r.length, u = 0; u < (n ? l : l - 1); u++) { var c = s[2 * u], h = s[2 * u + 1], d = r[(u + 1) % l]; t.bezierCurveTo(c[0], c[1], h[0], h[1], d[0], d[1]) } } else { o === 'spline' && (r = i(r, n)), t.moveTo(r[0][0], r[0][1]); u = 1; for (var f = r.length; u < f; u++)t.lineTo(r[u][0], r[u][1]) }n && t.closePath() } }e.buildPath = r }, '504c': function (t, e, n) { var i = n('0d58'), a = n('6821'), r = n('52a7').f; t.exports = function (t) { return function (e) { var n, o = a(e), s = i(o), l = s.length, u = 0, c = []; while (l > u)r.call(o, n = s[u++]) && c.push(t ? [n, o[n]] : o[n]); return c } } }, '50e5': function (t, e, n) { var i = n('6d8b'), a = n('eda2'), r = ['x', 'y', 'z', 'radius', 'angle', 'single'], o = ['cartesian2d', 'polar', 'singleAxis']; function s (t) { return i.indexOf(o, t) >= 0 } function l (t, e) { t = t.slice(); var n = i.map(t, a.capitalFirst); e = (e || []).slice(); var r = i.map(e, a.capitalFirst); return function (a, o) { i.each(t, function (t, i) { for (var s = {name: t, capital: n[i]}, l = 0; l < e.length; l++)s[e[l]] = t + r[l]; a.call(o, s) }) } } var u = l(r, ['axisIndex', 'axis', 'index', 'id']); function c (t, e, n) { return function (n) { var i, s = {nodes: [], records: {}}; if (e(function (t) { s.records[t.name] = {} }), !n) return s; o(n, s); do { i = !1, t(l) } while (i);function l (t) { !a(t, s) && r(t, s) && (o(t, s), i = !0) } return s }; function a (t, e) { return i.indexOf(e.nodes, t) >= 0 } function r (t, a) { var r = !1; return e(function (e) { i.each(n(t, e) || [], function (t) { a.records[e.name][t] && (r = !0) }) }), r } function o (t, a) { a.nodes.push(t), e(function (e) { i.each(n(t, e) || [], function (t) { a.records[e.name][t] = !0 }) }) } }e.isCoordSupported = s, e.createNameEach = l, e.eachAxisDim = u, e.createLinkedNodesFinder = c }, '51a2': function (t, e, n) { 'use strict'; var i = n('ffbe'), a = n.n(i); a.a }, '527a': function (t, e, n) { var i = n('6d8b'), a = n('3842'); function r (t, e) { t.eachSeriesByType('themeRiver', function (t) { var e = t.getData(), n = t.coordinateSystem, i = {}, r = n.getRect(); i.rect = r; var s = t.get('boundaryGap'), l = n.getAxis(); if (i.boundaryGap = s, l.orient === 'horizontal') { s[0] = a.parsePercent(s[0], r.height), s[1] = a.parsePercent(s[1], r.height); var u = r.height - s[0] - s[1]; o(e, t, u) } else { s[0] = a.parsePercent(s[0], r.width), s[1] = a.parsePercent(s[1], r.width); var c = r.width - s[0] - s[1]; o(e, t, c) }e.setLayout('layoutInfo', i) }) } function o (t, e, n) { if (t.count()) for (var a, r = e.coordinateSystem, o = e.getLayerSeries(), l = t.mapDimension('single'), u = t.mapDimension('value'), c = i.map(o, function (e) { return i.map(e.indices, function (e) { var n = r.dataToPoint(t.get(l, e)); return n[1] = t.get(u, e), n }) }), h = s(c), d = h.y0, f = n / h.max, p = o.length, g = o[0].indices.length, m = 0; m < g; ++m) { a = d[m] * f, t.setItemLayout(o[0].indices[m], {layerIndex: 0, x: c[0][m][0], y0: a, y: c[0][m][1] * f}); for (var v = 1; v < p; ++v)a += c[v - 1][m][1] * f, t.setItemLayout(o[v].indices[m], {layerIndex: v, x: c[v][m][0], y0: a, y: c[v][m][1] * f}) } } function s (t) { for (var e = t.length, n = t[0].length, i = [], a = [], r = 0, o = {}, s = 0; s < n; ++s) { for (var l = 0, u = 0; l < e; ++l)u += t[l][s][1]; u > r && (r = u), i.push(u) } for (var c = 0; c < n; ++c)a[c] = (r - i[c]) / 2; r = 0; for (var h = 0; h < n; ++h) { var d = i[h] + a[h]; d > r && (r = d) } return o.y0 = a, o.max = r, o }t.exports = r }, 5450: function (t, e, n) { n('7419'), n('29a9') }, '54fb': function (t, e) { function n (t) { t.eachSeriesByType('map', function (t) { var e = t.get('color'), n = t.getModel('itemStyle'), i = n.get('areaColor'), a = n.get('color') || e[t.seriesIndex % e.length]; t.getData().setVisual({areaColor: i, color: a}) }) }t.exports = n }, '551f': function (t, e, n) { var i = n('282b'), a = i([['fill', 'color'], ['stroke', 'borderColor'], ['lineWidth', 'borderWidth'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor'], ['textPosition'], ['textAlign']]), r = {getItemStyle: function (t, e) { var n = a(this, t, e), i = this.getBorderLineDash(); return i && (n.lineDash = i), n }, getBorderLineDash: function () { var t = this.get('borderType'); return t === 'solid' || t == null ? null : t === 'dashed' ? [5, 5] : [1, 1] }}; t.exports = r }, 5522: function (t, e, n) { n('23e0'), n('1748'), n('6c12') }, 5576: function (t, e, n) { var i = n('6d8b'), a = n('4a01'), r = n('88b3'), o = i.curry, s = '\0_ec_dataZoom_roams'; function l (t, e) { var n = h(t), a = e.dataZoomId, o = e.coordId; i.each(n, function (t, n) { var r = t.dataZoomInfos; r[a] && i.indexOf(e.allCoordIds, o) < 0 && (delete r[a], t.count--) }), f(n); var s = n[o]; s || (s = n[o] = {coordId: o, dataZoomInfos: {}, count: 0}, s.controller = d(t, s), s.dispatchAction = i.curry(v, t)), !s.dataZoomInfos[a] && s.count++, s.dataZoomInfos[a] = e; var l = y(s.dataZoomInfos); s.controller.enable(l.controlType, l.opt), s.controller.setPointerChecker(e.containsPoint), r.createOrUpdate(s, 'dispatchAction', e.throttleRate, 'fixRate') } function u (t, e) { var n = h(t); i.each(n, function (t) { t.controller.dispose(); var n = t.dataZoomInfos; n[e] && (delete n[e], t.count--) }), f(n) } function c (t) { return t.type + '\0_' + t.id } function h (t) { var e = t.getZr(); return e[s] || (e[s] = {}) } function d (t, e) { var n = new a(t.getZr()); return n.on('pan', o(p, e)), n.on('zoom', o(g, e)), n } function f (t) { i.each(t, function (e, n) { e.count || (e.controller.dispose(), delete t[n]) }) } function p (t, e, n, i, a, r, o) { m(t, function (s) { return s.panGetRange(t.controller, e, n, i, a, r, o) }) } function g (t, e, n, i) { m(t, function (a) { return a.zoomGetRange(t.controller, e, n, i) }) } function m (t, e) { var n = []; i.each(t.dataZoomInfos, function (t) { var i = e(t); !t.disabled && i && n.push({dataZoomId: t.dataZoomId, start: i[0], end: i[1]}) }), n.length && t.dispatchAction(n) } function v (t, e) { t.dispatchAction({type: 'dataZoom', batch: e}) } function y (t) { var e, n = {}, a = 'type_', r = {type_true: 2, type_move: 1, type_false: 0, type_undefined: -1}; return i.each(t, function (t) { var o = !t.disabled && (!t.zoomLock || 'move'); r[a + o] > r[a + e] && (e = o), i.extend(n, t.roamControllerOpt) }), {controlType: e, opt: n} }e.register = l, e.unregister = u, e.generateCoordId = c }, '55ac': function (t, e, n) { var i = n('6d8b'); function a (t, e, n) { if (t && i.indexOf(e, t.type) >= 0) { var a = n.getData().tree.root, r = t.targetNode; if (r && a.contains(r)) return {node: r}; var o = t.targetNodeId; if (o != null && (r = a.getNodeById(o))) return {node: r} } } function r (t) { var e = []; while (t)t = t.parentNode, t && e.push(t); return e.reverse() } function o (t, e) { var n = r(t); return i.indexOf(n, e) >= 0 } function s (t, e) { var n = []; while (t) { var i = t.dataIndex; n.push({name: t.name, dataIndex: i, value: e.getRawValue(i)}), t = t.parentNode } return n.reverse(), n }e.retrieveTargetInfo = a, e.getPathToRoot = r, e.aboveViewRoot = o, e.wrapTreePathInfo = s }, 5693: function (t, e) { function n (t, e) { var n, i, a, r, o, s = e.x, l = e.y, u = e.width, c = e.height, h = e.r; u < 0 && (s += u, u = -u), c < 0 && (l += c, c = -c), typeof h === 'number' ? n = i = a = r = h : h instanceof Array ? h.length === 1 ? n = i = a = r = h[0] : h.length === 2 ? (n = a = h[0], i = r = h[1]) : h.length === 3 ? (n = h[0], i = r = h[1], a = h[2]) : (n = h[0], i = h[1], a = h[2], r = h[3]) : n = i = a = r = 0, n + i > u && (o = n + i, n *= u / o, i *= u / o), a + r > u && (o = a + r, a *= u / o, r *= u / o), i + a > c && (o = i + a, i *= c / o, a *= c / o), n + r > c && (o = n + r, n *= c / o, r *= c / o), t.moveTo(s + n, l), t.lineTo(s + u - i, l), i !== 0 && t.arc(s + u - i, l + i, i, -Math.PI / 2, 0), t.lineTo(s + u, l + c - a), a !== 0 && t.arc(s + u - a, l + c - a, a, 0, Math.PI / 2), t.lineTo(s + r, l + c), r !== 0 && t.arc(s + r, l + c - r, r, Math.PI / 2, Math.PI), t.lineTo(s, l + n), n !== 0 && t.arc(s + n, l + n, n, Math.PI, 1.5 * Math.PI) }e.buildPath = n }, '57f2': function (t, e, n) { var i, a; !(function (r, o) { i = o, a = typeof i === 'function' ? i.call(e, n, e, t) : i, void 0 === a || (t.exports = a) }(0, function (t, e, n) { var i = function (t, e, n, i, a, r) { for (var o = 0, s = ['webkit', 'moz', 'ms', 'o'], l = 0; l < s.length && !window.requestAnimationFrame; ++l)window.requestAnimationFrame = window[s[l] + 'RequestAnimationFrame'], window.cancelAnimationFrame = window[s[l] + 'CancelAnimationFrame'] || window[s[l] + 'CancelRequestAnimationFrame']; window.requestAnimationFrame || (window.requestAnimationFrame = function (t, e) { var n = (new Date()).getTime(), i = Math.max(0, 16 - (n - o)), a = window.setTimeout(function () { t(n + i) }, i); return o = n + i, a }), window.cancelAnimationFrame || (window.cancelAnimationFrame = function (t) { clearTimeout(t) }); var u = this; for (var c in u.options = {useEasing: !0, useGrouping: !0, separator: ',', decimal: '.', easingFn: null, formattingFn: null}, r)r.hasOwnProperty(c) && (u.options[c] = r[c]); u.options.separator === '' && (u.options.useGrouping = !1), u.options.prefix || (u.options.prefix = ''), u.options.suffix || (u.options.suffix = ''), u.d = typeof t === 'string' ? document.getElementById(t) : t, u.startVal = Number(e), u.endVal = Number(n), u.countDown = u.startVal > u.endVal, u.frameVal = u.startVal, u.decimals = Math.max(0, i || 0), u.dec = Math.pow(10, u.decimals), u.duration = 1e3 * Number(a) || 2e3, u.formatNumber = function (t) { var e, n, i, a; if (t = t.toFixed(u.decimals), t += '', e = t.split('.'), n = e[0], i = e.length > 1 ? u.options.decimal + e[1] : '', a = /(\d+)(\d{3})/, u.options.useGrouping) for (;a.test(n);)n = n.replace(a, '$1' + u.options.separator + '$2'); return u.options.prefix + n + i + u.options.suffix }, u.easeOutExpo = function (t, e, n, i) { return n * (1 - Math.pow(2, -10 * t / i)) * 1024 / 1023 + e }, u.easingFn = u.options.easingFn ? u.options.easingFn : u.easeOutExpo, u.formattingFn = u.options.formattingFn ? u.options.formattingFn : u.formatNumber, u.version = function () { return '1.7.1' }, u.printValue = function (t) { var e = u.formattingFn(t); u.d.tagName === 'INPUT' ? this.d.value = e : u.d.tagName === 'text' || u.d.tagName === 'tspan' ? this.d.textContent = e : this.d.innerHTML = e }, u.count = function (t) { u.startTime || (u.startTime = t), u.timestamp = t; var e = t - u.startTime; u.remaining = u.duration - e, u.options.useEasing ? u.countDown ? u.frameVal = u.startVal - u.easingFn(e, 0, u.startVal - u.endVal, u.duration) : u.frameVal = u.easingFn(e, u.startVal, u.endVal - u.startVal, u.duration) : u.countDown ? u.frameVal = u.startVal - (u.startVal - u.endVal) * (e / u.duration) : u.frameVal = u.startVal + (u.endVal - u.startVal) * (e / u.duration), u.countDown ? u.frameVal = u.frameVal < u.endVal ? u.endVal : u.frameVal : u.frameVal = u.frameVal > u.endVal ? u.endVal : u.frameVal, u.frameVal = Math.round(u.frameVal * u.dec) / u.dec, u.printValue(u.frameVal), e < u.duration ? u.rAF = requestAnimationFrame(u.count) : u.callback && u.callback() }, u.start = function (t) { return u.callback = t, u.rAF = requestAnimationFrame(u.count), !1 }, u.pauseResume = function () { u.paused ? (u.paused = !1, delete u.startTime, u.duration = u.remaining, u.startVal = u.frameVal, requestAnimationFrame(u.count)) : (u.paused = !0, cancelAnimationFrame(u.rAF)) }, u.reset = function () { u.paused = !1, delete u.startTime, u.startVal = e, cancelAnimationFrame(u.rAF), u.printValue(u.startVal) }, u.update = function (t) { cancelAnimationFrame(u.rAF), u.paused = !1, delete u.startTime, u.startVal = u.frameVal, u.endVal = Number(t), u.countDown = u.startVal > u.endVal, u.rAF = requestAnimationFrame(u.count) }, u.printValue(u.startVal) }; return i })) }, 5866: function (t, e, n) { var i = n('ef2b'), a = i.forceLayout, r = n('1c5f'), o = r.simpleLayout, s = n('94e4'), l = s.circularLayout, u = n('3842'), c = u.linearMap, h = n('401b'), d = n('6d8b'); function f (t) { t.eachSeriesByType('graph', function (t) { var e = t.coordinateSystem; if (!e || e.type === 'view') if (t.get('layout') === 'force') { var n = t.preservedPoints || {}, i = t.getGraph(), r = i.data, s = i.edgeData, u = t.getModel('force'), f = u.get('initLayout'); t.preservedPoints ? r.each(function (t) { var e = r.getId(t); r.setItemLayout(t, n[e] || [NaN, NaN]) }) : f && f !== 'none' ? f === 'circular' && l(t) : o(t); var p = r.getDataExtent('value'), g = s.getDataExtent('value'), m = u.get('repulsion'), v = u.get('edgeLength'); d.isArray(m) || (m = [m, m]), d.isArray(v) || (v = [v, v]), v = [v[1], v[0]]; var y = r.mapArray('value', function (t, e) { var n = r.getItemLayout(e), i = c(t, p, m); return isNaN(i) && (i = (m[0] + m[1]) / 2), {w: i, rep: i, fixed: r.getItemModel(e).get('fixed'), p: !n || isNaN(n[0]) || isNaN(n[1]) ? null : n} }), x = s.mapArray('value', function (t, e) { var n = i.getEdgeByIndex(e), a = c(t, g, v); return isNaN(a) && (a = (v[0] + v[1]) / 2), {n1: y[n.node1.dataIndex], n2: y[n.node2.dataIndex], d: a, curveness: n.getModel().get('lineStyle.curveness') || 0} }), _ = (e = t.coordinateSystem, e.getBoundingRect()), b = a(y, x, {rect: _, gravity: u.get('gravity')}), w = b.step; b.step = function (t) { for (var e = 0, a = y.length; e < a; e++)y[e].fixed && h.copy(y[e].p, i.getNodeByIndex(e).getLayout()); w(function (e, a, o) { for (var s = 0, l = e.length; s < l; s++)e[s].fixed || i.getNodeByIndex(s).setLayout(e[s].p), n[r.getId(s)] = e[s].p; for (s = 0, l = a.length; s < l; s++) { var u = a[s], c = i.getEdgeByIndex(s), d = u.n1.p, f = u.n2.p, p = c.getLayout(); p = p ? p.slice() : [], p[0] = p[0] || [], p[1] = p[1] || [], h.copy(p[0], d), h.copy(p[1], f), +u.curveness && (p[2] = [(d[0] + f[0]) / 2 - (d[1] - f[1]) * u.curveness, (d[1] + f[1]) / 2 - (f[0] - d[0]) * u.curveness]), c.setLayout(p) }t && t(o) }) }, t.forceLayout = b, t.preservedPoints = n, b.step() } else t.forceLayout = null }) }t.exports = f }, '5aa9': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = a.isObject, o = a.each, s = a.map, l = a.indexOf, u = (a.retrieve, n('f934')), c = u.getLayoutRect, h = n('697e'), d = h.createScaleByModel, f = h.ifAxisCrossZero, p = h.niceScaleExtent, g = h.estimateLabelUnionRect, m = n('cbe9'), v = n('ec02'), y = n('2039'), x = n('ee1a'), _ = x.getStackedDimension; function b (t, e, n) { return t.getCoordSysModel() === e } function w (t, e, n) { this._coordsMap = {}, this._coordsList = [], this._axesMap = {}, this._axesList = [], this._initCartesian(t, e, n), this.model = t }n('8ed2'); var S = w.prototype; function M (t, e, n) { n.getAxesOnZeroOf = function () { return i ? [i] : [] }; var i, a = t[e], r = n.model, o = r.get('axisLine.onZero'), s = r.get('axisLine.onZeroAxisIndex'); if (o) if (s == null) { for (var l in a) if (a.hasOwnProperty(l) && I(a[l])) { i = a[l]; break } } else I(a[s]) && (i = a[s]) } function I (t) { return t && t.type !== 'category' && t.type !== 'time' && f(t) } function A (t, e) { var n = t.getExtent(), i = n[0] + n[1]; t.toGlobalCoord = t.dim === 'x' ? function (t) { return t + e } : function (t) { return i - t + e }, t.toLocalCoord = t.dim === 'x' ? function (t) { return t - e } : function (t) { return i - t + e } }S.type = 'grid', S.axisPointerEnabled = !0, S.getRect = function () { return this._rect }, S.update = function (t, e) { var n = this._axesMap; this._updateScale(t, this.model), o(n.x, function (t) { p(t.scale, t.model) }), o(n.y, function (t) { p(t.scale, t.model) }), o(n.x, function (t) { M(n, 'y', t) }), o(n.y, function (t) { M(n, 'x', t) }), this.resize(this.model, e) }, S.resize = function (t, e, n) { var i = c(t.getBoxLayoutParams(), {width: e.getWidth(), height: e.getHeight()}); this._rect = i; var a = this._axesList; function r () { o(a, function (t) { var e = t.isHorizontal(), n = e ? [0, i.width] : [0, i.height], a = t.inverse ? 1 : 0; t.setExtent(n[a], n[1 - a]), A(t, e ? i.x : i.y) }) }r(), !n && t.get('containLabel') && (o(a, function (t) { if (!t.model.get('axisLabel.inside')) { var e = g(t); if (e) { var n = t.isHorizontal() ? 'height' : 'width', a = t.model.get('axisLabel.margin'); i[n] -= e[n] + a, t.position === 'top' ? i.y += e.height + a : t.position === 'left' && (i.x += e.width + a) } } }), r()) }, S.getAxis = function (t, e) { var n = this._axesMap[t]; if (n != null) { if (e == null) for (var i in n) if (n.hasOwnProperty(i)) return n[i]; return n[e] } }, S.getAxes = function () { return this._axesList.slice() }, S.getCartesian = function (t, e) { if (t != null && e != null) { var n = 'x' + t + 'y' + e; return this._coordsMap[n] }r(t) && (e = t.yAxisIndex, t = t.xAxisIndex); for (var i = 0, a = this._coordsList; i < a.length; i++) if (a[i].getAxis('x').index === t || a[i].getAxis('y').index === e) return a[i] }, S.getCartesians = function () { return this._coordsList.slice() }, S.convertToPixel = function (t, e, n) { var i = this._findConvertTarget(t, e); return i.cartesian ? i.cartesian.dataToPoint(n) : i.axis ? i.axis.toGlobalCoord(i.axis.dataToCoord(n)) : null }, S.convertFromPixel = function (t, e, n) { var i = this._findConvertTarget(t, e); return i.cartesian ? i.cartesian.pointToData(n) : i.axis ? i.axis.coordToData(i.axis.toLocalCoord(n)) : null }, S._findConvertTarget = function (t, e) { var n, i, a = e.seriesModel, r = e.xAxisModel || a && a.getReferringComponents('xAxis')[0], o = e.yAxisModel || a && a.getReferringComponents('yAxis')[0], s = e.gridModel, u = this._coordsList; if (a)n = a.coordinateSystem, l(u, n) < 0 && (n = null); else if (r && o)n = this.getCartesian(r.componentIndex, o.componentIndex); else if (r)i = this.getAxis('x', r.componentIndex); else if (o)i = this.getAxis('y', o.componentIndex); else if (s) { var c = s.coordinateSystem; c === this && (n = this._coordsList[0]) } return {cartesian: n, axis: i} }, S.containPoint = function (t) { var e = this._coordsList[0]; if (e) return e.containPoint(t) }, S._initCartesian = function (t, e, n) { var i = {left: !1, right: !1, top: !1, bottom: !1}, a = {x: {}, y: {}}, r = {x: 0, y: 0}; if (e.eachComponent('xAxis', s('x'), this), e.eachComponent('yAxis', s('y'), this), !r.x || !r.y) return this._axesMap = {}, void (this._axesList = []); function s (n) { return function (o, s) { if (b(o, t, e)) { var l = o.get('position'); n === 'x' ? l !== 'top' && l !== 'bottom' && (l = 'bottom', i[l] && (l = l === 'top' ? 'bottom' : 'top')) : l !== 'left' && l !== 'right' && (l = 'left', i[l] && (l = l === 'left' ? 'right' : 'left')), i[l] = !0; var u = new v(n, d(o), [0, 0], o.get('type'), l), c = u.type === 'category'; u.onBand = c && o.get('boundaryGap'), u.inverse = o.get('inverse'), o.axis = u, u.model = o, u.grid = this, u.index = s, this._axesList.push(u), a[n][s] = u, r[n]++ } } } this._axesMap = a, o(a.x, function (e, n) { o(a.y, function (i, a) { var r = 'x' + n + 'y' + a, o = new m(r); o.grid = this, o.model = t, this._coordsMap[r] = o, this._coordsList.push(o), o.addAxis(e), o.addAxis(i) }, this) }, this) }, S._updateScale = function (t, e) { function n (t, e, n) { o(t.mapDimension(e.dim, !0), function (n) { e.scale.unionExtentFromData(t, _(t, n)) }) }o(this._axesList, function (t) { t.scale.setExtent(1 / 0, -1 / 0) }), t.eachSeries(function (i) { if (D(i)) { var a = C(i, t), r = a[0], o = a[1]; if (!b(r, e, t) || !b(o, e, t)) return; var s = this.getCartesian(r.componentIndex, o.componentIndex), l = i.getData(), u = s.getAxis('x'), c = s.getAxis('y'); l.type === 'list' && (n(l, u, i), n(l, c, i)) } }, this) }, S.getTooltipAxes = function (t) { var e = [], n = []; return o(this.getCartesians(), function (i) { var a = t != null && t !== 'auto' ? i.getAxis(t) : i.getBaseAxis(), r = i.getOtherAxis(a); l(e, a) < 0 && e.push(a), l(n, r) < 0 && n.push(r) }), {baseAxes: e, otherAxes: n} }; var T = ['xAxis', 'yAxis']; function C (t, e) { return s(T, function (e) { var n = t.getReferringComponents(e)[0]; return n }) } function D (t) { return t.get('coordinateSystem') === 'cartesian2d' }w.create = function (t, e) { var n = []; return t.eachComponent('grid', function (i, a) { var r = new w(i, t, e); r.name = 'grid_' + a, r.resize(i, e, !0), i.coordinateSystem = r, n.push(r) }), t.eachSeries(function (e) { if (D(e)) { var n = C(e, t), i = n[0], a = n[1], r = i.getCoordSysModel(), o = r.coordinateSystem; e.coordinateSystem = o.getCartesian(i.componentIndex, a.componentIndex) } }), n }, w.dimensions = w.prototype.dimensions = m.prototype.dimensions, y.register('cartesian2d', w); var L = w; t.exports = L }, '5b69': function (t, e, n) { var i = n('2306'), a = n('3eba'), r = i.extendShape({shape: {x1: 0, y1: 0, x2: 0, y2: 0, cpx1: 0, cpy1: 0, cpx2: 0, cpy2: 0, extent: 0}, buildPath: function (t, e) { var n = e.extent / 2; t.moveTo(e.x1, e.y1 - n), t.bezierCurveTo(e.cpx1, e.cpy1 - n, e.cpx2, e.cpy2 - n, e.x2, e.y2 - n), t.lineTo(e.x2, e.y2 + n), t.bezierCurveTo(e.cpx2, e.cpy2 + n, e.cpx1, e.cpy1 + n, e.x1, e.y1 + n), t.closePath() }}), o = a.extendChartView({type: 'sankey', _model: null, render: function (t, e, n) { var a = t.getGraph(), o = this.group, l = t.layoutInfo, u = l.width, c = l.height, h = t.getData(), d = t.getData('edge'); this._model = t, o.removeAll(), o.attr('position', [l.x, l.y]), a.eachEdge(function (e) { var n = new r(); n.dataIndex = e.dataIndex, n.seriesIndex = t.seriesIndex, n.dataType = 'edge'; var a = e.getModel('lineStyle'), s = a.get('curveness'), l = e.node1.getLayout(), h = e.node1.getModel(), f = h.get('localX'), p = h.get('localY'), g = e.node2.getLayout(), m = e.node2.getModel(), v = m.get('localX'), y = m.get('localY'), x = e.getLayout(); n.shape.extent = Math.max(1, x.dy); var _ = (f != null ? f * u : l.x) + l.dx, b = (p != null ? p * c : l.y) + x.sy + x.dy / 2, w = v != null ? v * u : g.x, S = (y != null ? y * c : g.y) + x.ty + x.dy / 2, M = _ * (1 - s) + w * s, I = b, A = _ * s + w * (1 - s), T = S; switch (n.setShape({x1: _, y1: b, x2: w, y2: S, cpx1: M, cpy1: I, cpx2: A, cpy2: T}), n.setStyle(a.getItemStyle()), n.style.fill) { case 'source':n.style.fill = e.node1.getVisual('color'); break; case 'target':n.style.fill = e.node2.getVisual('color'); break }i.setHoverStyle(n, e.getModel('emphasis.lineStyle').getItemStyle()), o.add(n), d.setItemGraphicEl(e.dataIndex, n) }), a.eachNode(function (e) { var n = e.getLayout(), a = e.getModel(), r = a.get('localX'), s = a.get('localY'), l = a.getModel('label'), d = a.getModel('emphasis.label'), f = new i.Rect({shape: {x: r != null ? r * u : n.x, y: s != null ? s * c : n.y, width: n.dx, height: n.dy}, style: a.getModel('itemStyle').getItemStyle()}), p = e.getModel('emphasis.itemStyle').getItemStyle(); i.setLabelStyle(f.style, p, l, d, {labelFetcher: t, labelDataIndex: e.dataIndex, defaultText: e.id, isRectText: !0}), f.setStyle('fill', e.getVisual('color')), i.setHoverStyle(f, p), o.add(f), h.setItemGraphicEl(e.dataIndex, f), f.dataType = 'node' }); var f = t.get('draggable'); f && h.eachItemGraphicEl(function (e, i) { e.drift = function (e, a) { this.shape.x += e, this.shape.y += a, this.dirty(), n.dispatchAction({type: 'dragNode', seriesId: t.id, dataIndex: h.getRawIndex(i), localX: this.shape.x / u, localY: this.shape.y / c}) }, e.draggable = !0, e.cursor = 'move' }), !this._data && t.get('animation') && o.setClipPath(s(o.getBoundingRect(), t, function () { o.removeClipPath() })), this._data = t.getData() }, dispose: function () {}}); function s (t, e, n) { var a = new i.Rect({shape: {x: t.x - 10, y: t.y - 10, width: 0, height: t.height + 20}}); return i.initProps(a, {shape: {width: t.width + 20, height: t.height + 20}}, e, n), a }t.exports = o }, '5ce2': function (t, e, n) { n('3970'), n('480e') }, '5e68': function (t, e, n) { var i = n('6d8b'), a = n('2cf4'), r = a.devicePixelRatio, o = n('2b61'), s = n('dc2f'); function l () { return !1 } function u (t, e, n) { var a = i.createCanvas(), r = e.getWidth(), o = e.getHeight(), s = a.style; return s && (s.position = 'absolute', s.left = 0, s.top = 0, s.width = r + 'px', s.height = o + 'px', a.setAttribute('data-zr-dom-id', t)), a.width = r * n, a.height = o * n, a } var c = function (t, e, n) { var a; n = n || r, typeof t === 'string' ? a = u(t, e, n) : i.isObject(t) && (a = t, t = a.id), this.id = t, this.dom = a; var o = a.style; o && (a.onselectstart = l, o['-webkit-user-select'] = 'none', o['user-select'] = 'none', o['-webkit-touch-callout'] = 'none', o['-webkit-tap-highlight-color'] = 'rgba(0,0,0,0)', o['padding'] = 0, o['margin'] = 0, o['border-width'] = 0), this.domBack = null, this.ctxBack = null, this.painter = e, this.config = null, this.clearColor = 0, this.motionBlur = !1, this.lastFrameAlpha = 0.7, this.dpr = n }; c.prototype = {constructor: c, __dirty: !0, __used: !1, __drawIndex: 0, __startIndex: 0, __endIndex: 0, incremental: !1, getElementCount: function () { return this.__endIndex - this.__startIndex }, initContext: function () { this.ctx = this.dom.getContext('2d'), this.ctx.dpr = this.dpr }, createBackBuffer: function () { var t = this.dpr; this.domBack = u('back-' + this.id, this.painter, t), this.ctxBack = this.domBack.getContext('2d'), t != 1 && this.ctxBack.scale(t, t) }, resize: function (t, e) { var n = this.dpr, i = this.dom, a = i.style, r = this.domBack; a && (a.width = t + 'px', a.height = e + 'px'), i.width = t * n, i.height = e * n, r && (r.width = t * n, r.height = e * n, n != 1 && this.ctxBack.scale(n, n)) }, clear: function (t, e) { var n, i = this.dom, a = this.ctx, r = i.width, l = i.height, u = (e = e || this.clearColor, this.motionBlur && !t), c = this.lastFrameAlpha, h = this.dpr; (u && (this.domBack || this.createBackBuffer(), this.ctxBack.globalCompositeOperation = 'copy', this.ctxBack.drawImage(i, 0, 0, r / h, l / h)), a.clearRect(0, 0, r, l), e && e !== 'transparent') && (e.colorStops ? (n = e.__canvasGradient || o.getGradient(a, e, {x: 0, y: 0, width: r, height: l}), e.__canvasGradient = n) : e.image && (n = s.prototype.getCanvasPattern.call(e, a)), a.save(), a.fillStyle = n || e, a.fillRect(0, 0, r, l), a.restore()); if (u) { var d = this.domBack; a.save(), a.globalAlpha = c, a.drawImage(d, 0, 0, r, l), a.restore() } }}; var h = c; t.exports = h }, '5e76': function (t, e, n) { var i = n('d51b'), a = new i(50); function r (t) { if (typeof t === 'string') { var e = a.get(t); return e && e.image } return t } function o (t, e, n, i, r) { if (t) { if (typeof t === 'string') { if (e && e.__zrImageSrc === t || !n) return e; var o = a.get(t), u = {hostEl: n, cb: i, cbPayload: r}; return o ? (e = o.image, !l(e) && o.pending.push(u)) : (!e && (e = new Image()), e.onload = s, a.put(t, e.__cachedImgObj = {image: e, pending: [u]}), e.src = e.__zrImageSrc = t), e } return t } return e } function s () { var t = this.__cachedImgObj; this.onload = 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 l (t) { return t && t.width && t.height }e.findExistImage = r, e.createOrUpdateImage = o, e.isImageReady = l }, '5e97': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('3eba')), r = n('6d8b'), o = n('a15a'), s = o.createSymbol, l = n('2306'), u = n('7919'), c = u.makeBackground, h = n('f934'), d = r.curry, f = r.each, p = l.Group, g = a.extendComponentView({type: 'legend.plain', newlineDisabled: !1, init: function () { this.group.add(this._contentGroup = new p()), this._backgroundEl }, getContentGroup: function () { return this._contentGroup }, render: function (t, e, n) { if (this.resetInner(), t.get('show', !0)) { var i = t.get('align'); i && i !== 'auto' || (i = t.get('left') === 'right' && t.get('orient') === 'vertical' ? 'right' : 'left'), this.renderInner(i, t, e, n); var a = t.getBoxLayoutParams(), o = {width: n.getWidth(), height: n.getHeight()}, s = t.get('padding'), l = h.getLayoutRect(a, o, s), u = this.layoutInner(t, i, l), d = h.getLayoutRect(r.defaults({width: u.width, height: u.height}, a), o, s); this.group.attr('position', [d.x - u.x, d.y - u.y]), this.group.add(this._backgroundEl = c(u, t)) } }, resetInner: function () { this.getContentGroup().removeAll(), this._backgroundEl && this.group.remove(this._backgroundEl) }, renderInner: function (t, e, n, i) { var a = this.getContentGroup(), o = r.createHashMap(), s = e.get('selectedMode'), l = []; n.eachRawSeries(function (t) { !t.get('legendHoverLink') && l.push(t.id) }), f(e.getData(), function (r, u) { var c = r.get('name'); if (this.newlineDisabled || c !== '' && c !== '\n') { var h = n.getSeriesByName(c)[0]; if (!o.get(c)) if (h) { var f = h.getData(), g = f.getVisual('color'); typeof g === 'function' && (g = g(h.getDataParams(0))); var x = f.getVisual('legendSymbol') || 'roundRect', _ = f.getVisual('symbol'), b = this._createItem(c, u, r, e, x, _, t, g, s); b.on('click', d(m, c, i)).on('mouseover', d(v, h, null, i, l)).on('mouseout', d(y, h, null, i, l)), o.set(c, !0) } else n.eachRawSeries(function (n) { if (!o.get(c) && n.legendDataProvider) { var a = n.legendDataProvider(), h = a.indexOfName(c); if (h < 0) return; var f = a.getItemVisual(h, 'color'), p = 'roundRect', g = this._createItem(c, u, r, e, p, null, t, f, s); g.on('click', d(m, c, i)).on('mouseover', d(v, n, c, i, l)).on('mouseout', d(y, n, c, i, l)), o.set(c, !0) } }, this) } else a.add(new p({newline: !0})) }, this) }, _createItem: function (t, e, n, i, a, o, u, c, h) { var d = i.get('itemWidth'), f = i.get('itemHeight'), g = i.get('inactiveColor'), m = i.get('symbolKeepAspect'), v = i.isSelected(t), y = new p(), x = n.getModel('textStyle'), _ = n.get('icon'), b = n.getModel('tooltip'), w = b.parentModel; if (a = _ || a, y.add(s(a, 0, 0, d, f, v ? c : g, m == null || m)), !_ && o && (o !== a || o == 'none')) { var S = 0.8 * f; o === 'none' && (o = 'circle'), y.add(s(o, (d - S) / 2, (f - S) / 2, S, S, v ? c : g, m == null || m)) } var M = u === 'left' ? d + 5 : -5, I = u, A = i.get('formatter'), T = t; typeof A === 'string' && A ? T = A.replace('{name}', t != null ? t : '') : typeof A === 'function' && (T = A(t)), y.add(new l.Text({style: l.setTextStyle({}, x, {text: T, x: M, y: f / 2, textFill: v ? x.getTextColor() : g, textAlign: I, textVerticalAlign: 'middle'})})); var C = new l.Rect({shape: y.getBoundingRect(), invisible: !0, tooltip: b.get('show') ? r.extend({content: t, formatter: w.get('formatter', !0) || function () { return t }, formatterParams: {componentType: 'legend', legendIndex: i.componentIndex, name: t, $vars: ['name']}}, b.option) : null}); return y.add(C), y.eachChild(function (t) { t.silent = !0 }), C.silent = !h, this.getContentGroup().add(y), l.setHoverStyle(y), y.__legendDataIndex = e, y }, layoutInner: function (t, e, n) { var i = this.getContentGroup(); h.box(t.get('orient'), i, t.get('itemGap'), n.width, n.height); var a = i.getBoundingRect(); return i.attr('position', [-a.x, -a.y]), this.group.getBoundingRect() }}); function m (t, e) { e.dispatchAction({type: 'legendToggleSelect', name: t}) } function v (t, e, n, i) { var a = n.getZr().storage.getDisplayList()[0]; a && a.useHoverLayer || n.dispatchAction({type: 'highlight', seriesName: t.name, name: e, excludeSeriesId: i}) } function y (t, e, n, i) { var a = n.getZr().storage.getDisplayList()[0]; a && a.useHoverLayer || n.dispatchAction({type: 'downplay', seriesName: t.name, name: e, excludeSeriesId: i}) }t.exports = g }, '5f14': function (t, e, n) { var i = n('6d8b'), a = n('41ef'), r = n('3842'), o = r.linearMap, s = i.each, l = i.isObject, u = -1, c = function (t) { var e = t.mappingMethod, n = t.type, a = this.option = i.clone(t); this.type = n, this.mappingMethod = e, this._normalizeData = S[e]; var r = h[n]; this.applyVisual = r.applyVisual, this.getColorMapper = r.getColorMapper, this._doMap = r._doMap[e], e === 'piecewise' ? (p(a), d(a)) : e === 'category' ? a.categories ? f(a) : p(a, !0) : (i.assert(e !== 'linear' || a.dataExtent), p(a)) }; c.prototype = {constructor: c, mapValueToVisual: function (t) { var e = this._normalizeData(t); return this._doMap(e, t) }, getNormalizer: function () { return i.bind(this._normalizeData, this) }}; var h = c.visualHandlers = {color: {applyVisual: v('color'), getColorMapper: function () { var t = this.option; return i.bind(t.mappingMethod === 'category' ? function (t, e) { return !e && (t = this._normalizeData(t)), y.call(this, t) } : function (e, n, i) { var r = !!i; return !n && (e = this._normalizeData(e)), i = a.fastLerp(e, t.parsedVisual, i), r ? i : a.stringify(i, 'rgba') }, this) }, _doMap: {linear: function (t) { return a.stringify(a.fastLerp(t, this.option.parsedVisual), 'rgba') }, category: y, piecewise: function (t, e) { var n = b.call(this, e); return n == null && (n = a.stringify(a.fastLerp(t, this.option.parsedVisual), 'rgba')), n }, fixed: x}}, colorHue: g(function (t, e) { return a.modifyHSL(t, e) }), colorSaturation: g(function (t, e) { return a.modifyHSL(t, null, e) }), colorLightness: g(function (t, e) { return a.modifyHSL(t, null, null, e) }), colorAlpha: g(function (t, e) { return a.modifyAlpha(t, e) }), opacity: {applyVisual: v('opacity'), _doMap: _([0, 1])}, liftZ: {applyVisual: v('liftZ'), _doMap: {linear: x, category: x, piecewise: x, fixed: x}}, symbol: {applyVisual: function (t, e, n) { var a = this.mapValueToVisual(t); if (i.isString(a))n('symbol', a); else if (l(a)) for (var r in a)a.hasOwnProperty(r) && n(r, a[r]) }, _doMap: {linear: m, category: y, piecewise: function (t, e) { var n = b.call(this, e); return n == null && (n = m.call(this, t)), n }, fixed: x}}, symbolSize: {applyVisual: v('symbolSize'), _doMap: _([0, 1])}}; function d (t) { var e = t.pieceList; t.hasSpecialVisual = !1, i.each(e, function (e, n) { e.originIndex = n, e.visual != null && (t.hasSpecialVisual = !0) }) } function f (t) { var e = t.categories, n = t.visual, a = t.categoryMap = {}; if (s(e, function (t, e) { a[t] = e }), !i.isArray(n)) { var r = []; i.isObject(n) ? s(n, function (t, e) { var n = a[e]; r[n != null ? n : u] = t }) : r[u] = n, n = w(t, r) } for (var o = e.length - 1; o >= 0; o--)n[o] == null && (delete a[e[o]], e.pop()) } function p (t, e) { var n = t.visual, a = []; i.isObject(n) ? s(n, function (t) { a.push(t) }) : n != null && a.push(n); var r = {color: 1, symbol: 1}; e || a.length !== 1 || r.hasOwnProperty(t.type) || (a[1] = a[0]), w(t, a) } function g (t) { return {applyVisual: function (e, n, i) { e = this.mapValueToVisual(e), i('color', t(n('color'), e)) }, _doMap: _([0, 1])} } function m (t) { var e = this.option.visual; return e[Math.round(o(t, [0, 1], [0, e.length - 1], !0))] || {} } function v (t) { return function (e, n, i) { i(t, this.mapValueToVisual(e)) } } function y (t) { var e = this.option.visual; return e[this.option.loop && t !== u ? t % e.length : t] } function x () { return this.option.visual[0] } function _ (t) { return {linear: function (e) { return o(e, t, this.option.visual, !0) }, category: y, piecewise: function (e, n) { var i = b.call(this, n); return i == null && (i = o(e, t, this.option.visual, !0)), i }, fixed: x} } function b (t) { var e = this.option, n = e.pieceList; if (e.hasSpecialVisual) { var i = c.findPieceIndex(t, n), a = n[i]; if (a && a.visual) return a.visual[this.type] } } function w (t, e) { return t.visual = e, t.type === 'color' && (t.parsedVisual = i.map(e, function (t) { return a.parse(t) })), e } var S = {linear: function (t) { return o(t, this.option.dataExtent, [0, 1], !0) }, piecewise: function (t) { var e = this.option.pieceList, n = c.findPieceIndex(t, e, !0); if (n != null) return o(n, [0, e.length - 1], [0, 1], !0) }, category: function (t) { var e = this.option.categories ? this.option.categoryMap[t] : t; return e == null ? u : e }, fixed: i.noop}; function M (t, e, n) { return t ? e <= n : e < n }c.listVisualTypes = function () { var t = []; return i.each(h, function (e, n) { t.push(n) }), t }, c.addVisualHandler = function (t, e) { h[t] = e }, c.isValidType = function (t) { return h.hasOwnProperty(t) }, c.eachVisual = function (t, e, n) { i.isObject(t) ? i.each(t, e, n) : e.call(n, t) }, c.mapVisual = function (t, e, n) { var a, r = i.isArray(t) ? [] : i.isObject(t) ? {} : (a = !0, null); return c.eachVisual(t, function (t, i) { var o = e.call(n, t, i); a ? r = o : r[i] = o }), r }, c.retrieveVisuals = function (t) { var e, n = {}; return t && s(h, function (i, a) { t.hasOwnProperty(a) && (n[a] = t[a], e = !0) }), e ? n : null }, c.prepareVisualTypes = function (t) { if (l(t)) { var e = []; s(t, function (t, n) { e.push(n) }), t = e } else { if (!i.isArray(t)) return []; t = t.slice() } return t.sort(function (t, e) { return e === 'color' && t !== 'color' && t.indexOf('color') === 0 ? 1 : -1 }), t }, c.dependsOn = function (t, e) { return e === 'color' ? !(!t || t.indexOf(e) !== 0) : t === e }, c.findPieceIndex = function (t, e, n) { for (var i, a = 1 / 0, r = 0, o = e.length; r < o; r++) { var s = e[r].value; if (s != null) { if (s === t || typeof s === 'string' && s === t + '') return r; n && h(s, r) } } for (r = 0, o = e.length; r < o; r++) { var l = e[r], u = l.interval, c = l.close; if (u) { if (u[0] === -1 / 0) { if (M(c[1], t, u[1])) return r } else if (u[1] === 1 / 0) { if (M(c[0], u[0], t)) return r } else if (M(c[0], u[0], t) && M(c[1], t, u[1])) return r; n && h(u[0], r), n && h(u[1], r) } } if (n) return t === 1 / 0 ? e.length - 1 : t === -1 / 0 ? 0 : i; function h (e, n) { var r = Math.abs(e - t); r < a && (a = r, i = n) } }; var I = c; t.exports = I }, '607d': function (t, e, n) { var i = n('1fab'); e.Dispatcher = i; var a = n('22d1'), r = typeof window !== 'undefined' && !!window.addEventListener, o = /^(?:mouse|pointer|contextmenu|drag|drop)|click/; function s (t) { return t.getBoundingClientRect ? t.getBoundingClientRect() : {left: 0, top: 0} } function l (t, e, n, i) { return n = n || {}, i || !a.canvasSupported ? u(t, e, n) : a.browser.firefox && e.layerX != null && e.layerX !== e.offsetX ? (n.zrX = e.layerX, n.zrY = e.layerY) : e.offsetX != null ? (n.zrX = e.offsetX, n.zrY = e.offsetY) : u(t, e, n), n } function u (t, e, n) { var i = s(t); n.zrX = e.clientX - i.left, n.zrY = e.clientY - i.top } function c (t, e, n) { if (e = e || window.event, e.zrX != null) return e; var i = e.type, a = i && i.indexOf('touch') >= 0; if (a) { var r = i != 'touchend' ? e.targetTouches[0] : e.changedTouches[0]; r && l(t, r, e, n) } else l(t, e, e, n), e.zrDelta = e.wheelDelta ? e.wheelDelta / 120 : -(e.detail || 0) / 3; var s = e.button; return e.which == null && void 0 !== s && o.test(e.type) && (e.which = 1 & s ? 1 : 2 & s ? 3 : 4 & s ? 2 : 0), e } function h (t, e, n) { r ? t.addEventListener(e, n) : t.attachEvent('on' + e, n) } function d (t, e, n) { r ? t.removeEventListener(e, n) : t.detachEvent('on' + e, n) } var f = r ? function (t) { t.preventDefault(), t.stopPropagation(), t.cancelBubble = !0 } : function (t) { t.returnValue = !1, t.cancelBubble = !0 }; function p (t) { return t.which > 1 }e.clientToLocal = l, e.normalizeEvent = c, e.addEventListener = h, e.removeEventListener = d, e.stop = f, e.notLeftMouse = p }, '60d7': function (t, e, n) { var i = n('2306'), a = (n('6d8b'), n('e887')), r = 0.3, o = a.extend({type: 'parallel', init: function () { this._dataGroup = new i.Group(), this.group.add(this._dataGroup), this._data, this._initialized }, render: function (t, e, n, a) { var r = this._dataGroup, o = t.getData(), d = this._data, f = t.coordinateSystem, p = f.dimensions, g = c(t); function m (t) { var e = u(o, r, t, p, f); h(e, o, t, g) } function v (e, n) { var r = d.getItemGraphicEl(n), s = l(o, e, p, f); o.setItemGraphicEl(e, r); var u = a && !1 === a.animation ? null : t; i.updateProps(r, {shape: {points: s}}, u, e), h(r, o, e, g) } function y (t) { var e = d.getItemGraphicEl(t); r.remove(e) } if (o.diff(d).add(m).update(v).remove(y).execute(), !this._initialized) { this._initialized = !0; var x = s(f, t, function () { setTimeout(function () { r.removeClipPath() }) }); r.setClipPath(x) } this._data = o }, incrementalPrepareRender: function (t, e, n) { this._initialized = !0, this._data = null, this._dataGroup.removeAll() }, incrementalRender: function (t, e, n) { for (var i = e.getData(), a = e.coordinateSystem, r = a.dimensions, o = c(e), s = t.start; s < t.end; s++) { var l = u(i, this._dataGroup, s, r, a); l.incremental = !0, h(l, i, s, o) } }, dispose: function () {}, remove: function () { this._dataGroup && this._dataGroup.removeAll(), this._data = null }}); function s (t, e, n) { var a = t.model, r = t.getRect(), o = new i.Rect({shape: {x: r.x, y: r.y, width: r.width, height: r.height}}), s = a.get('layout') === 'horizontal' ? 'width' : 'height'; return o.setShape(s, 0), i.initProps(o, {shape: {width: r.width, height: r.height}}, e, n), o } function l (t, e, n, i) { for (var a = [], r = 0; r < n.length; r++) { var o = n[r], s = t.get(t.mapDimension(o), e); d(s, i.getAxis(o).type) || a.push(i.dataToPoint(s, o)) } return a } function u (t, e, n, a, r) { var o = l(t, n, a, r), s = new i.Polyline({shape: {points: o}, silent: !0, z2: 10}); return e.add(s), t.setItemGraphicEl(n, s), s } function c (t) { var e = t.get('smooth', !0); return !0 === e && (e = r), {lineStyle: t.getModel('lineStyle').getLineStyle(), smooth: e != null ? e : r} } function h (t, e, n, i) { var a = i.lineStyle; if (e.hasItemOption) { var r = e.getItemModel(n).getModel('lineStyle'); a = r.getLineStyle() }t.useStyle(a); var o = t.style; o.fill = null, o.stroke = e.getItemVisual(n, 'color'), o.opacity = e.getItemVisual(n, 'opacity'), i.smooth && (t.shape.smooth = i.smooth) } function d (t, e) { return e === 'category' ? t == null : t == null || isNaN(t) } var f = o; t.exports = f }, '60e3': function (t, e, n) { var i = n('6d8b'), a = {get: function (t, e, n) { var a = i.clone((r[t] || {})[e]); return n && i.isArray(a) ? a[a.length - 1] : a }}, r = {color: {active: ['#006edd', '#e0ffff'], inactive: ['rgba(0,0,0,0)']}, colorHue: {active: [0, 360], inactive: [0, 0]}, colorSaturation: {active: [0.3, 1], inactive: [0, 0]}, colorLightness: {active: [0.9, 0.5], inactive: [0, 0]}, colorAlpha: {active: [0.3, 1], inactive: [0, 0]}, opacity: {active: [0.3, 1], inactive: [0, 0]}, symbol: {active: ['circle', 'roundRect', 'diamond'], inactive: ['none']}, symbolSize: {active: [10, 50], inactive: [0, 0]}}, o = a; t.exports = o }, 6179: function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = n('4319'), o = n('80f0'), s = n('ec6f'), l = n('2b17'), u = l.defaultDimValueGetters, c = l.DefaultDataProvider, h = n('2f45'), d = h.summarizeDimensions, f = a.isObject, p = 'undefined', g = 'e\0\0', m = {float: typeof Float64Array === p ? Array : Float64Array, int: typeof Int32Array === p ? Array : Int32Array, ordinal: Array, number: Array, time: Array}, v = typeof Uint32Array === p ? Array : Uint32Array, y = typeof Uint16Array === p ? Array : Uint16Array; function x (t) { return t._rawCount > 65535 ? v : y } function _ (t) { var e = t.constructor; return e === Array ? t.slice() : new e(t) } var b = ['hasItemOption', '_nameList', '_idList', '_invertedIndicesMap', '_rawData', '_chunkSize', '_chunkCount', '_dimValueGetter', '_count', '_rawCount', '_nameDimIdx', '_idDimIdx'], w = ['_extent', '_approximateExtent', '_rawExtent']; function S (t, e) { a.each(b.concat(e.__wrappedMethods || []), function (n) { e.hasOwnProperty(n) && (t[n] = e[n]) }), t.__wrappedMethods = e.__wrappedMethods, a.each(w, function (n) { t[n] = a.clone(e[n]) }), t._calculationInfo = a.extend(e._calculationInfo) } var M = function (t, e) { t = t || ['x', 'y']; for (var n = {}, i = [], r = {}, o = 0; o < t.length; o++) { var s = t[o]; a.isString(s) && (s = {name: s}); var l = s.name; s.type = s.type || 'float', s.coordDim || (s.coordDim = l, s.coordDimIndex = 0), s.otherDims = s.otherDims || {}, i.push(l), n[l] = s, s.index = o, s.createInvertedIndices && (r[l] = []) } this.dimensions = i, this._dimensionInfos = n, this.hostModel = e, this.dataType, this._indices = null, this._count = 0, this._rawCount = 0, this._storage = {}, this._nameList = [], this._idList = [], this._optionModels = [], this._visual = {}, this._layout = {}, this._itemVisuals = [], this.hasItemVisual = {}, this._itemLayouts = [], this._graphicEls = [], this._chunkSize = 1e5, this._chunkCount = 0, this._rawData, this._rawExtent = {}, this._extent = {}, this._approximateExtent = {}, this._dimensionsSummary = d(this), this._invertedIndicesMap = r, this._calculationInfo = {} }, I = M.prototype; function A (t) { var e = t._invertedIndicesMap; a.each(e, function (n, i) { var a = t._dimensionInfos[i], r = a.ordinalMeta; if (r) { n = e[i] = new v(r.categories.length); for (var o = 0; o < n.length; o++)n[o] = NaN; for (o = 0; o < t._count; o++)n[t.get(i, o)] = o } }) } function T (t, e, n) { var i; if (e != null) { var a = t._chunkSize, r = Math.floor(n / a), o = n % a, s = t.dimensions[e], l = t._storage[s][r]; if (l) { i = l[o]; var u = t._dimensionInfos[s].ordinalMeta; u && u.categories.length && (i = u.categories[i]) } } return i } function C (t) { return t } function D (t) { return t < this._count && t >= 0 ? this._indices[t] : -1 } function L (t, e) { var n = t._idList[e]; return n == null && (n = T(t, t._idDimIdx, e)), n == null && (n = g + e), n } function P (t) { return a.isArray(t) || (t = [t]), t } function k (t, e) { var n = t.dimensions, i = new M(a.map(n, t.getDimensionInfo, t), t.hostModel); S(i, t); for (var r = i._storage = {}, o = t._storage, s = 0; s < n.length; s++) { var l = n[s]; o[l] && (a.indexOf(e, l) >= 0 ? (r[l] = O(o[l]), i._rawExtent[l] = R(), i._extent[l] = null) : r[l] = o[l]) } return i } function O (t) { for (var e = new Array(t.length), n = 0; n < t.length; n++)e[n] = _(t[n]); return e } function R () { return [1 / 0, -1 / 0] }I.type = 'list', I.hasItemOption = !0, I.getDimension = function (t) { return isNaN(t) || (t = this.dimensions[t] || t), t }, I.getDimensionInfo = function (t) { return this._dimensionInfos[this.getDimension(t)] }, I.getDimensionsOnCoord = function () { return this._dimensionsSummary.dataDimsOnCoord.slice() }, I.mapDimension = function (t, e) { var n = this._dimensionsSummary; if (e == null) return n.encodeFirstDimNotExtra[t]; var i = n.encode[t]; return !0 === e ? (i || []).slice() : i && i[e] }, I.initData = function (t, e, n) { var i = s.isInstance(t) || a.isArrayLike(t); i && (t = new c(t, this.dimensions.length)), this._rawData = t, this._storage = {}, this._indices = null, this._nameList = e || [], this._idList = [], this._nameRepeatCount = {}, n || (this.hasItemOption = !1), this.defaultDimValueGetter = u[this._rawData.getSource().sourceFormat], this._dimValueGetter = n = n || this.defaultDimValueGetter, this._rawExtent = {}, this._initDataFromProvider(0, t.count()), t.pure && (this.hasItemOption = !1) }, I.getProvider = function () { return this._rawData }, I.appendData = function (t) { var e = this._rawData, n = this.count(); e.appendData(t); var i = e.count(); e.persistent || (i += n), this._initDataFromProvider(n, i) }, I._initDataFromProvider = function (t, e) { if (!(t >= e)) { for (var n, i = this._chunkSize, a = this._rawData, r = this._storage, o = this.dimensions, s = o.length, l = this._dimensionInfos, u = this._nameList, c = this._idList, h = this._rawExtent, d = this._nameRepeatCount = {}, f = this._chunkCount, p = f - 1, g = 0; g < s; g++) { var v = o[g]; h[v] || (h[v] = R()); var y = l[v]; y.otherDims.itemName === 0 && (n = this._nameDimIdx = g), y.otherDims.itemId === 0 && (this._idDimIdx = g); var x = m[y.type]; r[v] || (r[v] = []); var _ = r[v][p]; if (_ && _.length < i) { for (var b = new x(Math.min(e - p * i, i)), w = 0; w < _.length; w++)b[w] = _[w]; r[v][p] = b } for (var S = f * i; S < e; S += i)r[v].push(new x(Math.min(e - S, i))); this._chunkCount = r[v].length } for (var M = new Array(s), I = t; I < e; I++) { M = a.getItem(I, M); var T = Math.floor(I / i), C = I % i; for (S = 0; S < s; S++) { v = o[S]; var D = r[v][T], L = this._dimValueGetter(M, v, I, S); D[C] = L; var P = h[v]; L < P[0] && (P[0] = L), L > P[1] && (P[1] = L) } if (!a.pure) { var k = u[I]; if (M && k == null) if (M.name != null)u[I] = k = M.name; else if (n != null) { var O = o[n], E = r[O][T]; if (E) { k = E[C]; var N = l[O].ordinalMeta; N && N.categories.length && (k = N.categories[k]) } } var z = M == null ? null : M.id; z == null && k != null && (d[k] = d[k] || 0, z = k, d[k] > 0 && (z += '__ec__' + d[k]), d[k]++), z != null && (c[I] = z) } }!a.persistent && a.clean && a.clean(), this._rawCount = this._count = e, this._extent = {}, A(this) } }, I.count = function () { return this._count }, I.getIndices = function () { var t = this._indices; if (t) { var e = t.constructor, n = this._count; if (e === Array) { a = new e(n); for (var i = 0; i < n; i++)a[i] = t[i] } else a = new e(t.buffer, 0, n) } else { e = x(this); var a = new e(this.count()); for (i = 0; i < a.length; i++)a[i] = i } return a }, I.get = function (t, e) { if (!(e >= 0 && e < this._count)) return NaN; var n = this._storage; if (!n[t]) return NaN; e = this.getRawIndex(e); var i = Math.floor(e / this._chunkSize), a = e % this._chunkSize, r = n[t][i], o = r[a]; return o }, I.getByRawIndex = function (t, e) { if (!(e >= 0 && e < this._rawCount)) return NaN; var n = this._storage[t]; if (!n) return NaN; var i = Math.floor(e / this._chunkSize), a = e % this._chunkSize, r = n[i]; return r[a] }, I._getFast = function (t, e) { var n = Math.floor(e / this._chunkSize), i = e % this._chunkSize, a = this._storage[t][n]; return a[i] }, I.getValues = function (t, e) { var n = []; a.isArray(t) || (e = t, t = this.dimensions); for (var i = 0, r = t.length; i < r; i++)n.push(this.get(t[i], e)); return n }, I.hasValue = function (t) { for (var e = this._dimensionsSummary.dataDimsOnCoord, n = this._dimensionInfos, i = 0, a = e.length; i < a; i++) if (n[e[i]].type !== 'ordinal' && isNaN(this.get(e[i], t))) return !1; return !0 }, I.getDataExtent = function (t) { t = this.getDimension(t); var e = this._storage[t], n = R(); if (!e) return n; var i, a = this.count(), r = !this._indices; if (r) return this._rawExtent[t].slice(); if (i = this._extent[t], i) return i.slice(); i = n; for (var o = i[0], s = i[1], l = 0; l < a; l++) { var u = this._getFast(t, this.getRawIndex(l)); u < o && (o = u), u > s && (s = u) } return i = [o, s], this._extent[t] = i, i }, I.getApproximateExtent = function (t) { return t = this.getDimension(t), this._approximateExtent[t] || this.getDataExtent(t) }, I.setApproximateExtent = function (t, e) { e = this.getDimension(e), this._approximateExtent[e] = t.slice() }, I.getCalculationInfo = function (t) { return this._calculationInfo[t] }, I.setCalculationInfo = function (t, e) { f(t) ? a.extend(this._calculationInfo, t) : this._calculationInfo[t] = e }, I.getSum = function (t) { var e = this._storage[t], n = 0; if (e) for (var i = 0, a = this.count(); i < a; i++) { var r = this.get(t, i); isNaN(r) || (n += r) } return n }, I.getMedian = function (t) { var e = []; this.each(t, function (t, n) { isNaN(t) || e.push(t) }); var n = [].concat(e).sort(function (t, e) { return t - e }), i = this.count(); return i === 0 ? 0 : i % 2 === 1 ? n[(i - 1) / 2] : (n[i / 2] + n[i / 2 - 1]) / 2 }, I.rawIndexOf = function (t, e) { var n = t && this._invertedIndicesMap[t], i = n[e]; return i == null || isNaN(i) ? -1 : i }, I.indexOfName = function (t) { for (var e = 0, n = this.count(); e < n; e++) if (this.getName(e) === t) return e; return -1 }, I.indexOfRawIndex = function (t) { if (!this._indices) return t; if (t >= this._rawCount || t < 0) return -1; var e = this._indices, n = e[t]; if (n != null && n < this._count && n === t) return t; var i = 0, a = this._count - 1; while (i <= a) { var r = (i + a) / 2 | 0; if (e[r] < t)i = r + 1; else { if (!(e[r] > t)) return r; a = r - 1 } } return -1 }, I.indicesOfNearest = function (t, e, n) { var i = this._storage, a = i[t], r = []; if (!a) return r; n == null && (n = 1 / 0); for (var o = Number.MAX_VALUE, s = -1, l = 0, u = this.count(); l < u; l++) { var c = e - this.get(t, l), h = Math.abs(c); c <= n && h <= o && ((h < o || c >= 0 && s < 0) && (o = h, s = c, r.length = 0), r.push(l)) } return r }, I.getRawIndex = C, I.getRawDataItem = function (t) { if (this._rawData.persistent) return this._rawData.getItem(this.getRawIndex(t)); for (var e = [], n = 0; n < this.dimensions.length; n++) { var i = this.dimensions[n]; e.push(this.get(i, t)) } return e }, I.getName = function (t) { var e = this.getRawIndex(t); return this._nameList[e] || T(this, this._nameDimIdx, e) || '' }, I.getId = function (t) { return L(this, this.getRawIndex(t)) }, I.each = function (t, e, n, i) { 'use strict'; if (this._count) { typeof t === 'function' && (i = n, n = e, e = t, t = []), n = n || i || this, t = a.map(P(t), this.getDimension, this); for (var r = t.length, o = 0; o < this.count(); o++) switch (r) { case 0:e.call(n, o); break; case 1:e.call(n, this.get(t[0], o), o); break; case 2:e.call(n, this.get(t[0], o), this.get(t[1], o), o); break; default:for (var s = 0, l = []; s < r; s++)l[s] = this.get(t[s], o); l[s] = o, e.apply(n, l) } } }, I.filterSelf = function (t, e, n, i) { 'use strict'; if (this._count) { typeof t === 'function' && (i = n, n = e, e = t, t = []), n = n || i || this, t = a.map(P(t), this.getDimension, this); for (var r = this.count(), o = x(this), s = new o(r), l = [], u = t.length, c = 0, h = t[0], d = 0; d < r; d++) { var f, p = this.getRawIndex(d); if (u === 0)f = e.call(n, d); else if (u === 1) { var g = this._getFast(h, p); f = e.call(n, g, d) } else { for (var m = 0; m < u; m++)l[m] = this._getFast(h, p); l[m] = d, f = e.apply(n, l) }f && (s[c++] = p) } return c < r && (this._indices = s), this._count = c, this._extent = {}, this.getRawIndex = this._indices ? D : C, this } }, I.selectRange = function (t) { 'use strict'; if (this._count) { var e = []; for (var n in t)t.hasOwnProperty(n) && e.push(n); var i = e.length; if (i) { var a = this.count(), r = x(this), o = new r(a), s = 0, l = e[0], u = t[l][0], c = t[l][1], h = !1; if (!this._indices) { var d = 0; if (i === 1) { for (var f = this._storage[e[0]], p = 0; p < this._chunkCount; p++) for (var g = f[p], m = Math.min(this._count - p * this._chunkSize, this._chunkSize), v = 0; v < m; v++) { var y = g[v]; (y >= u && y <= c || isNaN(y)) && (o[s++] = d), d++ }h = !0 } else if (i === 2) { f = this._storage[l]; var _ = this._storage[e[1]], b = t[e[1]][0], w = t[e[1]][1]; for (p = 0; p < this._chunkCount; p++) { g = f[p]; var S = _[p]; for (m = Math.min(this._count - p * this._chunkSize, this._chunkSize), v = 0; v < m; v++) { y = g[v]; var M = S[v]; (y >= u && y <= c || isNaN(y)) && (M >= b && M <= w || isNaN(M)) && (o[s++] = d), d++ } }h = !0 } } if (!h) if (i === 1) for (v = 0; v < a; v++) { var I = this.getRawIndex(v); y = this._getFast(l, I); (y >= u && y <= c || isNaN(y)) && (o[s++] = I) } else for (v = 0; v < a; v++) { var A = !0; for (I = this.getRawIndex(v), p = 0; p < i; p++) { var T = e[p]; y = this._getFast(n, I); (y < t[T][0] || y > t[T][1]) && (A = !1) }A && (o[s++] = this.getRawIndex(v)) } return s < a && (this._indices = o), this._count = s, this._extent = {}, this.getRawIndex = this._indices ? D : C, this } } }, I.mapArray = function (t, e, n, i) { 'use strict'; typeof t === 'function' && (i = n, n = e, e = t, t = []), n = n || i || this; var a = []; return this.each(t, function () { a.push(e && e.apply(this, arguments)) }, n), a }, I.map = function (t, e, n, i) { 'use strict'; n = n || i || this, t = a.map(P(t), this.getDimension, this); var r = k(this, t); r._indices = this._indices, r.getRawIndex = r._indices ? D : C; for (var o = r._storage, s = [], l = this._chunkSize, u = t.length, c = this.count(), h = [], d = r._rawExtent, f = 0; f < c; f++) { for (var p = 0; p < u; p++)h[p] = this.get(t[p], f); h[u] = f; var g = e && e.apply(n, h); if (g != null) { typeof g !== 'object' && (s[0] = g, g = s); for (var m = this.getRawIndex(f), v = Math.floor(m / l), y = m % l, x = 0; x < g.length; x++) { var _ = t[x], b = g[x], w = d[_], S = o[_]; S && (S[v][y] = b), b < w[0] && (w[0] = b), b > w[1] && (w[1] = b) } } } return r }, I.downSample = function (t, e, n, i) { for (var a = k(this, [t]), r = a._storage, o = [], s = Math.floor(1 / e), l = r[t], u = this.count(), c = this._chunkSize, h = a._rawExtent[t], d = new (x(this))(u), f = 0, p = 0; p < u; p += s) { s > u - p && (s = u - p, o.length = s); for (var g = 0; g < s; g++) { var m = this.getRawIndex(p + g), v = Math.floor(m / c), y = m % c; o[g] = l[v][y] } var _ = n(o), b = this.getRawIndex(Math.min(p + i(o, _) || 0, u - 1)), w = Math.floor(b / c), S = b % c; l[w][S] = _, _ < h[0] && (h[0] = _), _ > h[1] && (h[1] = _), d[f++] = b } return a._count = f, a._indices = d, a.getRawIndex = D, a }, I.getItemModel = function (t) { var e = this.hostModel; return new r(this.getRawDataItem(t), e, e && e.ecModel) }, I.diff = function (t) { var e = this; return new o(t ? t.getIndices() : [], this.getIndices(), function (e) { return L(t, e) }, function (t) { return L(e, t) }) }, I.getVisual = function (t) { var e = this._visual; return e && e[t] }, I.setVisual = function (t, e) { if (f(t)) for (var n in t)t.hasOwnProperty(n) && this.setVisual(n, t[n]); else this._visual = this._visual || {}, this._visual[t] = e }, I.setLayout = function (t, e) { if (f(t)) for (var n in t)t.hasOwnProperty(n) && this.setLayout(n, t[n]); else this._layout[t] = e }, I.getLayout = function (t) { return this._layout[t] }, I.getItemLayout = function (t) { return this._itemLayouts[t] }, I.setItemLayout = function (t, e, n) { this._itemLayouts[t] = n ? a.extend(this._itemLayouts[t] || {}, e) : e }, I.clearItemLayouts = function () { this._itemLayouts.length = 0 }, I.getItemVisual = function (t, e, n) { var i = this._itemVisuals[t], a = i && i[e]; return a != null || n ? a : this.getVisual(e) }, I.setItemVisual = function (t, e, n) { var i = this._itemVisuals[t] || {}, a = this.hasItemVisual; if (this._itemVisuals[t] = i, f(e)) for (var r in e)e.hasOwnProperty(r) && (i[r] = e[r], a[r] = !0); else i[e] = n, a[e] = !0 }, I.clearAllVisual = function () { this._visual = {}, this._itemVisuals = [], this.hasItemVisual = {} }; var E = function (t) { t.seriesIndex = this.seriesIndex, t.dataIndex = this.dataIndex, t.dataType = this.dataType }; I.setItemGraphicEl = function (t, e) { var n = this.hostModel; e && (e.dataIndex = t, e.dataType = this.dataType, e.seriesIndex = n && n.seriesIndex, e.type === 'group' && e.traverse(E, e)), this._graphicEls[t] = e }, I.getItemGraphicEl = function (t) { return this._graphicEls[t] }, I.eachItemGraphicEl = function (t, e) { a.each(this._graphicEls, function (n, i) { n && t && t.call(e, n, i) }) }, I.cloneShallow = function (t) { if (!t) { var e = a.map(this.dimensions, this.getDimensionInfo, this); t = new M(e, this.hostModel) } if (t._storage = this._storage, S(t, this), this._indices) { var n = this._indices.constructor; t._indices = new n(this._indices) } else t._indices = null; return t.getRawIndex = t._indices ? D : C, t }, I.wrapMethod = function (t, e) { var n = this[t]; typeof n === 'function' && (this.__wrappedMethods = this.__wrappedMethods || [], this.__wrappedMethods.push(t), this[t] = function () { var t = n.apply(this, arguments); return e.apply(this, [t].concat(a.slice(arguments))) }) }, I.TRANSFERABLE_METHODS = ['cloneShallow', 'downSample', 'map'], I.CHANGABLE_METHODS = ['filterSelf', 'selectRange']; var N = M; t.exports = N }, '620b': function (t, e, n) { var i = n('401b'), a = i.distance; function r (t, e, n, i, a, r, o) { var s = 0.5 * (n - t), l = 0.5 * (i - e); return (2 * (e - n) + s + l) * o + (-3 * (e - n) - 2 * s - l) * r + s * a + e } function o (t, e) { for (var n = t.length, i = [], o = 0, s = 1; s < n; s++)o += a(t[s - 1], t[s]); var l = o / 2; l = l < n ? n : l; for (s = 0; s < l; s++) { var u, c, h, d = s / (l - 1) * (e ? n : n - 1), f = Math.floor(d), p = d - f, g = t[f % n]; e ? (u = t[(f - 1 + n) % n], c = t[(f + 1) % n], h = t[(f + 2) % n]) : (u = t[f === 0 ? f : f - 1], c = t[f > n - 2 ? n - 1 : f + 1], h = t[f > n - 3 ? n - 1 : f + 2]); var m = p * p, v = p * m; i.push([r(u[0], g[0], c[0], h[0], p, m, v), r(u[1], g[1], c[1], h[1], p, m, v)]) } return i }t.exports = o }, '625e': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = '.', o = '___EC__COMPONENT__CONTAINER___'; function s (t) { var e = {main: '', sub: ''}; return t && (t = t.split(r), e.main = t[0] || '', e.sub = t[1] || ''), e } function l (t) { a.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t), 'componentType "' + t + '" illegal') } function u (t, e) { t.$constructor = t, t.extend = function (t) { var e = this, n = function () { t.$constructor ? t.$constructor.apply(this, arguments) : e.apply(this, arguments) }; return a.extend(n.prototype, t), n.extend = this.extend, n.superCall = d, n.superApply = f, a.inherits(n, this), n.superClass = e, n } } var c = 0; function h (t) { var e = ['__\0is_clz', c++, Math.random().toFixed(3)].join('_'); t.prototype[e] = !0, t.isInstance = function (t) { return !(!t || !t[e]) } } function d (t, e) { var n = a.slice(arguments, 2); return this.superClass.prototype[e].apply(t, n) } function f (t, e, n) { return this.superClass.prototype[e].apply(t, n) } function p (t, e) { e = e || {}; var n = {}; function i (t) { var e = n[t.main]; return e && e[o] || (e = n[t.main] = {}, e[o] = !0), e } if (t.registerClass = function (t, e) { if (e) if (l(e), e = s(e), e.sub) { if (e.sub !== o) { var a = i(e); a[e.sub] = t } } else n[e.main] = t; return t }, t.getClass = function (t, e, i) { var a = n[t]; if (a && a[o] && (a = e ? a[e] : null), i && !a) throw new Error(e ? 'Component ' + t + '.' + (e || '') + ' not exists. Load it first.' : t + '.type should be specified.'); return a }, t.getClassesByMainType = function (t) { t = s(t); var e = [], i = n[t.main]; return i && i[o] ? a.each(i, function (t, n) { n !== o && e.push(t) }) : e.push(i), e }, t.hasClass = function (t) { return t = s(t), !!n[t.main] }, t.getAllClassMainTypes = function () { var t = []; return a.each(n, function (e, n) { t.push(n) }), t }, t.hasSubTypes = function (t) { t = s(t); var e = n[t.main]; return e && e[o] }, t.parseClassType = s, e.registerWhenExtend) { var r = t.extend; r && (t.extend = function (e) { var n = r.call(this, e); return t.registerClass(n, e.type) }) } return t } function g (t, e) {}e.parseClassType = s, e.enableClassExtend = u, e.enableClassCheck = h, e.enableClassManagement = p, e.setReadOnly = g }, '627c': function (t, e, n) { var i = n('3eba'), a = n('2306'), r = n('f934'), o = r.getLayoutRect; i.extendComponentModel({type: 'title', layoutMode: {type: 'box', ignoreSize: !0}, defaultOption: {zlevel: 0, z: 6, show: !0, text: '', target: 'blank', subtext: '', subtarget: 'blank', left: 0, top: 0, backgroundColor: 'rgba(0,0,0,0)', borderColor: '#ccc', borderWidth: 0, padding: 5, itemGap: 10, textStyle: {fontSize: 18, fontWeight: 'bolder', color: '#333'}, subtextStyle: {color: '#aaa'}}}), i.extendComponentView({type: 'title', render: function (t, e, n) { if (this.group.removeAll(), t.get('show')) { var i = this.group, r = t.getModel('textStyle'), s = t.getModel('subtextStyle'), l = t.get('textAlign'), u = t.get('textBaseline'), c = new a.Text({style: a.setTextStyle({}, r, {text: t.get('text'), textFill: r.getTextColor()}, {disableBox: !0}), z2: 10}), h = c.getBoundingRect(), d = t.get('subtext'), f = new a.Text({style: a.setTextStyle({}, s, {text: d, textFill: s.getTextColor(), y: h.height + t.get('itemGap'), textVerticalAlign: 'top'}, {disableBox: !0}), z2: 10}), p = t.get('link'), g = t.get('sublink'); c.silent = !p, f.silent = !g, p && c.on('click', function () { window.open(p, '_' + t.get('target')) }), g && f.on('click', function () { window.open(g, '_' + t.get('subtarget')) }), i.add(c), d && i.add(f); var m = i.getBoundingRect(), v = t.getBoxLayoutParams(); v.width = m.width, v.height = m.height; var y = o(v, {width: n.getWidth(), height: n.getHeight()}, t.get('padding')); l || (l = t.get('left') || t.get('right'), l === 'middle' && (l = 'center'), l === 'right' ? y.x += y.width : l === 'center' && (y.x += y.width / 2)), u || (u = t.get('top') || t.get('bottom'), u === 'center' && (u = 'middle'), u === 'bottom' ? y.y += y.height : u === 'middle' && (y.y += y.height / 2), u = u || 'top'), i.attr('position', [y.x, y.y]); var x = {textAlign: l, textVerticalAlign: u}; c.setStyle(x), f.setStyle(x), m = i.getBoundingRect(); var _ = y.margin, b = t.getItemStyle(['color', 'opacity']); b.fill = t.get('backgroundColor'); var w = new a.Rect({shape: {x: m.x - _[3], y: m.y - _[0], width: m.width + _[1] + _[3], height: m.height + _[0] + _[2], r: t.get('borderRadius')}, style: b, silent: !0}); a.subPixelOptimizeRect(w), i.add(w) } }}) }, 6569: function (t, e, n) { var i = n('6d8b'), a = n('e0d3'); function r (t) { o(t), s(t) } function o (t) { if (!t.parallel) { var e = !1; i.each(t.series, function (t) { t && t.type === 'parallel' && (e = !0) }), e && (t.parallel = [{}]) } } function s (t) { var e = a.normalizeToArray(t.parallelAxis); i.each(e, function (e) { if (i.isObject(e)) { var n = e.parallelIndex || 0, r = a.normalizeToArray(t.parallel)[n]; r && r.parallelAxisDefault && i.merge(e, r.parallelAxisDefault, !1) } }) }t.exports = r }, 6582: function (t, e, n) { var i = n('cccd'), a = {seriesType: 'lines', plan: i(), reset: function (t) { var e = t.coordinateSystem, n = t.get('polyline'), i = t.pipelineContext.large; function a (a, r) { var o = []; if (i) { var s, l = a.end - a.start; if (n) { for (var u = 0, c = a.start; c < a.end; c++)u += t.getLineCoordsCount(c); s = new Float32Array(l + 2 * u) } else s = new Float32Array(4 * l); var h = 0, d = []; for (c = a.start; c < a.end; c++) { var f = t.getLineCoords(c, o); n && (s[h++] = f); for (var p = 0; p < f; p++)d = e.dataToPoint(o[p], !1, d), s[h++] = d[0], s[h++] = d[1] }r.setLayout('linesPoints', s) } else for (c = a.start; c < a.end; c++) { var g = r.getItemModel(c), m = (f = t.getLineCoords(c, o), []); if (n) for (var v = 0; v < f; v++)m.push(e.dataToPoint(o[v])); else { m[0] = e.dataToPoint(o[0]), m[1] = e.dataToPoint(o[1]); var y = g.get('lineStyle.curveness'); +y && (m[2] = [(m[0][0] + m[1][0]) / 2 - (m[0][1] - m[1][1]) * y, (m[0][1] + m[1][1]) / 2 - (m[1][0] - m[0][0]) * y]) }r.setItemLayout(c, m) } } return {progress: a} }}; t.exports = a }, 6679: function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('3eba')), r = n('cd33'), o = a.extendComponentView({type: 'axis', _axisPointer: null, axisPointerClass: null, render: function (t, e, n, i) { this.axisPointerClass && r.fixValue(t), o.superApply(this, 'render', arguments), s(this, t, e, n, i, !0) }, updateAxisPointer: function (t, e, n, i, a) { s(this, t, e, n, i, !1) }, remove: function (t, e) { var n = this._axisPointer; n && n.remove(e), o.superApply(this, 'remove', arguments) }, dispose: function (t, e) { l(this, e), o.superApply(this, 'dispose', arguments) }}); function s (t, e, n, i, a, s) { var u = o.getAxisPointerClass(t.axisPointerClass); if (u) { var c = r.getAxisPointerModel(e); c ? (t._axisPointer || (t._axisPointer = new u())).render(e, c, i, s) : l(t, i) } } function l (t, e, n) { var i = t._axisPointer; i && i.dispose(e, n), t._axisPointer = null } var u = []; o.registerAxisPointerClass = function (t, e) { u[t] = e }, o.getAxisPointerClass = function (t) { return t && u[t] }; var c = o; t.exports = c }, '66a4': function (t, e, n) { var i = n('6d8b'); function a (t) { var e = t && t.timeline; i.isArray(e) || (e = e ? [e] : []), i.each(e, function (t) { t && r(t) }) } function r (t) { var e = t.type, n = {number: 'value', time: 'time'}; if (n[e] && (t.axisType = n[e], delete t.type), o(t), s(t, 'controlPosition')) { var a = t.controlStyle || (t.controlStyle = {}); s(a, 'position') || (a.position = t.controlPosition), a.position !== 'none' || s(a, 'show') || (a.show = !1, delete a.position), delete t.controlPosition }i.each(t.data || [], function (t) { i.isObject(t) && !i.isArray(t) && (!s(t, 'value') && s(t, 'name') && (t.value = t.name), o(t)) }) } function o (t) { var e = t.itemStyle || (t.itemStyle = {}), n = e.emphasis || (e.emphasis = {}), a = t.label || t.label || {}, r = a.normal || (a.normal = {}), o = {normal: 1, emphasis: 1}; i.each(a, function (t, e) { o[e] || s(r, e) || (r[e] = t) }), n.label && !s(a, 'emphasis') && (a.emphasis = n.label, delete n.label) } function s (t, e) { return t.hasOwnProperty(e) }t.exports = a }, '66fc': function (t, e, n) { var i = n('6d8b'), a = n('84ce'), r = function (t, e, n, i, r) { a.call(this, t, e, n), this.type = i || 'value', this.position = r || 'bottom', this.orient = null }; r.prototype = {constructor: r, model: null, isHorizontal: function () { var t = this.position; return t === 'top' || t === 'bottom' }, pointToData: function (t, e) { return this.coordinateSystem.pointToData(t, e)[0] }, toGlobalCoord: null, toLocalCoord: null}, i.inherits(r, a); var o = r; t.exports = o }, '675a': function (t, e) { function n (t) { var e = t.findComponents({mainType: 'legend'}); e && e.length && t.eachSeriesByType('graph', function (t) { var n = t.getCategoriesData(), i = t.getGraph(), a = i.data, r = n.mapArray(n.getName); a.filterSelf(function (t) { var n = a.getItemModel(t), i = n.getShallow('category'); if (i != null) { typeof i === 'number' && (i = r[i]); for (var o = 0; o < e.length; o++) if (!e[o].isSelected(i)) return !1 } return !0 }) }, this) }t.exports = n }, '675c': function (t, e, n) { var i = n('3eba'); n('4e10'), n('a666'), n('49e8'), n('eeea'); var a = n('cee1'), r = n('54fb'), o = n('f6ed'), s = n('9442'), l = n('7782'); i.registerLayout(a), i.registerVisual(r), i.registerProcessor(i.PRIORITY.PROCESSOR.STATISTIC, o), i.registerPreprocessor(s), l('map', [{type: 'mapToggleSelect', event: 'mapselectchanged', method: 'toggleSelected'}, {type: 'mapSelect', event: 'mapselected', method: 'select'}, {type: 'mapUnSelect', event: 'mapunselected', method: 'unSelect'}]) }, '67a8': function (t, e, n) { var i = n('3301'), a = n('4f85'), r = a.extend({type: 'series.effectScatter', dependencies: ['grid', 'polar'], getInitialData: function (t, e) { return i(this.getSource(), this) }, brushSelector: 'point', defaultOption: {coordinateSystem: 'cartesian2d', zlevel: 0, z: 2, legendHoverLink: !0, effectType: 'ripple', progressive: 0, showEffectOn: 'render', rippleEffect: {period: 4, scale: 2.5, brushType: 'fill'}, symbolSize: 10}}); t.exports = r }, '67cc': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('3eba')), r = n('6d8b'), o = n('2306'), s = n('e7aa'), l = s.setLabel, u = n('4319'), c = n('b5c7'), h = n('cbe5'), d = ['itemStyle', 'barBorderWidth']; r.extend(u.prototype, c); var f = a.extendChartView({type: 'bar', render: function (t, e, n) { this._updateDrawMode(t); var i = t.get('coordinateSystem'); return i !== 'cartesian2d' && i !== 'polar' || (this._isLargeDraw ? this._renderLarge(t, e, n) : this._renderNormal(t, e, n)), this.group }, incrementalPrepareRender: function (t, e, n) { this._clear(), this._updateDrawMode(t) }, incrementalRender: function (t, e, n, i) { this._incrementalRenderLarge(t, e) }, _updateDrawMode: function (t) { var e = t.pipelineContext.large; (this._isLargeDraw == null || e ^ this._isLargeDraw) && (this._isLargeDraw = e, this._clear()) }, _renderNormal: function (t, e, n) { var i, a = this.group, r = t.getData(), s = this._data, l = t.coordinateSystem, u = l.getBaseAxis(); l.type === 'cartesian2d' ? i = u.isHorizontal() : l.type === 'polar' && (i = u.dim === 'angle'); var c = t.isAnimationEnabled() ? t : null; r.diff(s).add(function (e) { if (r.hasValue(e)) { var n = r.getItemModel(e), o = v[l.type](r, e, n), s = p[l.type](r, e, n, o, i, c); r.setItemGraphicEl(e, s), a.add(s), y(s, r, e, n, o, t, i, l.type === 'polar') } }).update(function (e, n) { var u = s.getItemGraphicEl(n); if (r.hasValue(e)) { var h = r.getItemModel(e), d = v[l.type](r, e, h); u ? o.updateProps(u, {shape: d}, c, e) : u = p[l.type](r, e, h, d, i, c, !0), r.setItemGraphicEl(e, u), a.add(u), y(u, r, e, h, d, t, i, l.type === 'polar') } else a.remove(u) }).remove(function (t) { var e = s.getItemGraphicEl(t); l.type === 'cartesian2d' ? e && g(t, c, e) : e && m(t, c, e) }).execute(), this._data = r }, _renderLarge: function (t, e, n) { this._clear(), b(t, this.group) }, _incrementalRenderLarge: function (t, e) { b(e, this.group, !0) }, dispose: r.noop, remove: function (t) { this._clear(t) }, _clear: function (t) { var e = this.group, n = this._data; t && t.get('animation') && n && !this._isLargeDraw ? n.eachItemGraphicEl(function (e) { e.type === 'sector' ? m(e.dataIndex, t, e) : g(e.dataIndex, t, e) }) : e.removeAll(), this._data = null }}), p = {cartesian2d: function (t, e, n, i, a, s, l) { var u = new o.Rect({shape: r.extend({}, i)}); if (s) { var c = u.shape, h = a ? 'height' : 'width', d = {}; c[h] = 0, d[h] = i[h], o[l ? 'updateProps' : 'initProps'](u, {shape: d}, s, e) } return u }, polar: function (t, e, n, i, a, s, l) { var u = i.startAngle < i.endAngle, c = new o.Sector({shape: r.defaults({clockwise: u}, i)}); if (s) { var h = c.shape, d = a ? 'r' : 'endAngle', f = {}; h[d] = a ? 0 : i.startAngle, f[d] = i[d], o[l ? 'updateProps' : 'initProps'](c, {shape: f}, s, e) } return c }}; function g (t, e, n) { n.style.text = null, o.updateProps(n, {shape: {width: 0}}, e, t, function () { n.parent && n.parent.remove(n) }) } function m (t, e, n) { n.style.text = null, o.updateProps(n, {shape: {r: n.shape.r0}}, e, t, function () { n.parent && n.parent.remove(n) }) } var v = {cartesian2d: function (t, e, n) { var i = t.getItemLayout(e), a = x(n, i), r = i.width > 0 ? 1 : -1, o = i.height > 0 ? 1 : -1; return {x: i.x + r * a / 2, y: i.y + o * a / 2, width: i.width - r * a, height: i.height - o * a} }, polar: function (t, e, n) { var i = t.getItemLayout(e); return {cx: i.cx, cy: i.cy, r0: i.r0, r: i.r, startAngle: i.startAngle, endAngle: i.endAngle} }}; function y (t, e, n, i, a, s, u, c) { var h = e.getItemVisual(n, 'color'), d = e.getItemVisual(n, 'opacity'), f = i.getModel('itemStyle'), p = i.getModel('emphasis.itemStyle').getBarItemStyle(); c || t.setShape('r', f.get('barBorderRadius') || 0), t.useStyle(r.defaults({fill: h, opacity: d}, f.getBarItemStyle())); var g = i.getShallow('cursor'); g && t.attr('cursor', g); var m = u ? a.height > 0 ? 'bottom' : 'top' : a.width > 0 ? 'left' : 'right'; c || l(t.style, p, i, h, s, n, m), o.setHoverStyle(t, p) } function x (t, e) { var n = t.get(d) || 0; return Math.min(n, Math.abs(e.width), Math.abs(e.height)) } var _ = h.extend({type: 'largeBar', shape: {points: []}, buildPath: function (t, e) { for (var n = e.points, i = this.__startPoint, a = this.__valueIdx, r = 0; r < n.length; r += 2)i[this.__valueIdx] = n[r + a], t.moveTo(i[0], i[1]), t.lineTo(n[r], n[r + 1]) }}); function b (t, e, n) { var i = t.getData(), a = [], r = i.getLayout('valueAxisHorizontal') ? 1 : 0; a[1 - r] = i.getLayout('valueAxisStart'); var o = new _({shape: {points: i.getLayout('largePoints')}, incremental: !!n, __startPoint: a, __valueIdx: r}); e.add(o), w(o, t, i) } function w (t, e, n) { var i = n.getVisual('borderColor') || n.getVisual('color'), a = e.getModel('itemStyle').getItemStyle(['color', 'borderColor']); t.useStyle(a), t.style.fill = null, t.style.stroke = i, t.style.lineWidth = n.getLayout('barWidth') }t.exports = f }, '68ab': function (t, e, n) { var i = n('4a3f'), a = i.quadraticProjectPoint; function r (t, e, n, i, r, o, s, l, u) { if (s === 0) return !1; var c = s; if (u > e + c && u > i + c && u > o + c || u < e - c && u < i - c && u < o - c || l > t + c && l > n + c && l > r + c || l < t - c && l < n - c && l < r - c) return !1; var h = a(t, e, n, i, r, o, l, u, null); return h <= c / 2 }e.containStroke = r }, 6932: function (t, e, n) { var i = n('6cb7'); i.registerSubTypeDefaulter('dataZoom', function () { return 'slider' }) }, '697e': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = n('18c0'), o = n('89e3'), s = n('e0d8'), l = n('3842'), u = n('9d57'), c = u.prepareLayoutBarSeries, h = u.makeColumnLayout, d = u.retrieveColumnLayout, f = n('9850'); function p (t, e) { var n, i, r, o = t.type, s = e.getMin(), u = e.getMax(), d = s != null, f = u != null, p = t.getExtent(); o === 'ordinal' ? n = e.getCategories().length : (i = e.get('boundaryGap'), a.isArray(i) || (i = [i || 0, i || 0]), typeof i[0] === 'boolean' && (i = [0, 0]), i[0] = l.parsePercent(i[0], 1), i[1] = l.parsePercent(i[1], 1), r = p[1] - p[0] || Math.abs(p[0])), s == null && (s = o === 'ordinal' ? n ? 0 : NaN : p[0] - i[0] * r), u == null && (u = o === 'ordinal' ? n ? n - 1 : NaN : p[1] + i[1] * r), s === 'dataMin' ? s = p[0] : typeof s === 'function' && (s = s({min: p[0], max: p[1]})), u === 'dataMax' ? u = p[1] : typeof u === 'function' && (u = u({min: p[0], max: p[1]})), (s == null || !isFinite(s)) && (s = NaN), (u == null || !isFinite(u)) && (u = NaN), t.setBlank(a.eqNaN(s) || a.eqNaN(u) || o === 'ordinal' && !t.getOrdinalMeta().categories.length), e.getNeedCrossZero() && (s > 0 && u > 0 && !d && (s = 0), s < 0 && u < 0 && !f && (u = 0)); var m = e.ecModel; if (m && o === 'time') { var v, y = c('bar', m); if (a.each(y, function (t) { v |= t.getBaseAxis() === e.axis }), v) { var x = h(y), _ = g(s, u, e, x); s = _.min, u = _.max } } return [s, u] } function g (t, e, n, i) { var r = n.axis.getExtent(), o = r[1] - r[0], s = d(i, n.axis); if (void 0 === s) return {min: t, max: e}; var l = 1 / 0; a.each(s, function (t) { l = Math.min(t.offset, l) }); var u = -1 / 0; a.each(s, function (t) { u = Math.max(t.offset + t.width, u) }), l = Math.abs(l), u = Math.abs(u); var c = l + u, h = e - t, f = 1 - (l + u) / o, p = h / f - h; return e += p * (u / c), t -= p * (l / c), {min: t, max: e} } function m (t, e) { var n = p(t, e), i = e.getMin() != null, a = e.getMax() != null, r = e.get('splitNumber'); t.type === 'log' && (t.base = e.get('logBase')); var o = t.type; t.setExtent(n[0], n[1]), t.niceExtent({splitNumber: r, fixMin: i, fixMax: a, minInterval: o === 'interval' || o === 'time' ? e.get('minInterval') : null, maxInterval: o === 'interval' || o === 'time' ? e.get('maxInterval') : null}); var s = e.get('interval'); s != null && t.setInterval && t.setInterval(s) } function v (t, e) { if (e = e || t.get('type'), e) switch (e) { case 'category':return new r(t.getOrdinalMeta ? t.getOrdinalMeta() : t.getCategories(), [1 / 0, -1 / 0]); case 'value':return new o(); default:return (s.getClass(e) || o).create(t) } } function y (t) { var e = t.scale.getExtent(), n = e[0], i = e[1]; return !(n > 0 && i > 0 || n < 0 && i < 0) } function x (t) { var e = t.getLabelModel().get('formatter'), n = t.type === 'category' ? t.scale.getExtent()[0] : null; return typeof e === 'string' ? (e = (function (t) { return function (e) { return t.replace('{value}', e != null ? e : '') } }(e)), e) : typeof e === 'function' ? function (i, a) { return n != null && (a = i - n), e(_(t, i), a) } : function (e) { return t.scale.getLabel(e) } } function _ (t, e) { return t.type === 'category' ? t.scale.getLabel(e) : e } function b (t) { var e = t.model, n = t.scale; if (e.get('axisLabel.show') && !n.isBlank()) { var i, a, r = t.type === 'category', o = n.getExtent(); r ? a = n.count() : (i = n.getTicks(), a = i.length); var s, l = t.getLabelModel(), u = x(t), c = 1; a > 40 && (c = Math.ceil(a / 40)); for (var h = 0; h < a; h += c) { var d = i ? i[h] : o[0] + h, f = u(d), p = l.getTextRect(f), g = w(p, l.get('rotate') || 0); s ? s.union(g) : s = g } return s } } function w (t, e) { var n = e * Math.PI / 180, i = t.plain(), a = i.width, r = i.height, o = a * Math.cos(n) + r * Math.sin(n), s = a * Math.sin(n) + r * Math.cos(n), l = new f(i.x, i.y, o, s); return l }n('216a'), n('8c2a'), e.getScaleExtent = p, e.niceScaleExtent = m, e.createScaleByModel = v, e.ifAxisCrossZero = y, e.makeLabelFormatter = x, e.getAxisRawValue = _, e.estimateLabelUnionRect = b }, '697e7': function (t, e, n) { var i = n('de00'), a = n('22d1'), r = n('6d8b'), o = n('d2cf'), s = n('afa0'), l = n('ed21'), u = n('30a3'), c = n('cdaa'), h = !a.canvasSupported, d = {canvas: l}, f = {}, p = '4.0.4'; function g (t, e) { var n = new _(i(), t, e); return f[n.id] = n, n } function m (t) { if (t)t.dispose(); else { for (var e in f)f.hasOwnProperty(e) && f[e].dispose(); f = {} } return this } function v (t) { return f[t] } function y (t, e) { d[t] = e } function x (t) { delete f[t] } var _ = function (t, e, n) { n = n || {}, this.dom = e, this.id = t; var i = this, l = new s(), f = n.renderer; if (h) { if (!d.vml) throw new Error("You need to require 'zrender/vml/vml' to support IE8"); f = 'vml' } else f && d[f] || (f = 'canvas'); var p = new d[f](e, l, n, t); this.storage = l, this.painter = p; var g = a.node || a.worker ? null : new c(p.getViewportRoot()); this.handler = new o(l, p, g, p.root), this.animation = new u({stage: {update: r.bind(this.flush, this)}}), this.animation.start(), this._needsRefresh; var m = l.delFromStorage, v = l.addToStorage; l.delFromStorage = function (t) { m.call(l, t), t && t.removeSelfFromZr(i) }, l.addToStorage = function (t) { v.call(l, t), t.addSelfToZr(i) } }; _.prototype = {constructor: _, getId: function () { return this.id }, add: function (t) { this.storage.addRoot(t), this._needsRefresh = !0 }, remove: function (t) { this.storage.delRoot(t), this._needsRefresh = !0 }, configLayer: function (t, e) { this.painter.configLayer && this.painter.configLayer(t, e), this._needsRefresh = !0 }, setBackgroundColor: function (t) { this.painter.setBackgroundColor && this.painter.setBackgroundColor(t), this._needsRefresh = !0 }, refreshImmediately: function () { this._needsRefresh = !1, this.painter.refresh(), this._needsRefresh = !1 }, refresh: function () { this._needsRefresh = !0 }, flush: function () { var t; this._needsRefresh && (t = !0, this.refreshImmediately()), this._needsRefreshHover && (t = !0, this.refreshHoverImmediately()), t && this.trigger('rendered') }, addHover: function (t, e) { this.painter.addHover && (this.painter.addHover(t, e), this.refreshHover()) }, removeHover: function (t) { this.painter.removeHover && (this.painter.removeHover(t), this.refreshHover()) }, clearHover: function () { this.painter.clearHover && (this.painter.clearHover(), this.refreshHover()) }, refreshHover: function () { this._needsRefreshHover = !0 }, refreshHoverImmediately: function () { this._needsRefreshHover = !1, this.painter.refreshHover && this.painter.refreshHover() }, resize: function (t) { t = t || {}, this.painter.resize(t.width, t.height), this.handler.resize() }, clearAnimation: function () { this.animation.clear() }, getWidth: function () { return this.painter.getWidth() }, getHeight: function () { return this.painter.getHeight() }, pathToImage: function (t, e) { return this.painter.pathToImage(t, e) }, setCursorStyle: function (t) { this.handler.setCursorStyle(t) }, findHover: function (t, e) { return this.handler.findHover(t, e) }, on: function (t, e, n) { this.handler.on(t, e, n) }, off: function (t, e) { this.handler.off(t, e) }, trigger: function (t, e) { this.handler.trigger(t, e) }, clear: function () { this.storage.delRoot(), this.painter.clear() }, dispose: function () { this.animation.stop(), this.clear(), this.storage.dispose(), this.painter.dispose(), this.handler.dispose(), this.animation = this.storage = this.painter = this.handler = null, x(this.id) }}, e.version = p, e.init = g, e.dispose = m, e.getInstance = v, e.registerPainter = y }, '69ff': function (t, e, n) { var i = n('6d8b'), a = i.each, r = i.map, o = (i.isArray, i.isFunction), s = i.createHashMap, l = i.noop, u = n('f47d'), c = u.createTask, h = n('8918'), d = h.getUID, f = n('7e63'), p = n('843e'), g = n('e0d3'), m = g.normalizeToArray; function v (t, e, n, i) { this.ecInstance = t, this.api = e, this.unfinished; n = this._dataProcessorHandlers = n.slice(), i = this._visualHandlers = i.slice(); this._allHandlers = n.concat(i), this._stageTaskMap = s() } var y = v.prototype; function x (t, e, n, i, r) { var o; function s (t, e) { return t.setDirty && (!t.dirtyMap || t.dirtyMap.get(e.__pipeline.id)) }r = r || {}, a(e, function (e, a) { if (!r.visualType || r.visualType === e.visualType) { var l = t._stageTaskMap.get(e.uid), u = l.seriesTaskMap, c = l.overallTask; if (c) { var h, d = c.agentStubMap; d.each(function (t) { s(r, t) && (t.dirty(), h = !0) }), h && c.dirty(), _(c, i); var f = t.getPerformArgs(c, r.block); d.each(function (t) { t.perform(f) }), o |= c.perform(f) } else u && u.each(function (a, l) { s(r, a) && a.dirty(); var u = t.getPerformArgs(a, r.block); u.skip = !e.performRawSeries && n.isSeriesFiltered(a.context.model), _(a, i), o |= a.perform(u) }) } }), t.unfinished |= o }y.restoreData = function (t, e) { t.restoreData(e), this._stageTaskMap.each(function (t) { var e = t.overallTask; e && e.dirty() }) }, y.getPerformArgs = function (t, e) { if (t.__pipeline) { var n = this._pipelineMap.get(t.__pipeline.id), i = n.context, a = !e && n.progressiveEnabled && (!i || i.progressiveRender) && t.__idxInPipeline > n.blockIndex, r = a ? n.step : null, o = i && i.modDataCount, s = o != null ? Math.ceil(o / r) : null; return {step: r, modBy: s, modDataCount: o} } }, y.getPipeline = function (t) { return this._pipelineMap.get(t) }, y.updateStreamModes = function (t, e) { var n = this._pipelineMap.get(t.uid), i = t.getData(), a = i.count(), r = n.progressiveEnabled && e.incrementalPrepareRender && a >= n.threshold, o = t.get('large') && a >= t.get('largeThreshold'), s = t.get('progressiveChunkMode') === 'mod' ? a : null; t.pipelineContext = n.context = {progressiveRender: r, modDataCount: s, large: o} }, y.restorePipelines = function (t) { var e = this, n = e._pipelineMap = s(); t.eachSeries(function (t) { var i = t.getProgressive(), a = t.uid; n.set(a, {id: a, head: null, tail: null, threshold: t.getProgressiveThreshold(), progressiveEnabled: i && !(t.preventIncremental && t.preventIncremental()), blockIndex: -1, step: Math.round(i || 700), count: 0}), k(e, t, t.dataTask) }) }, y.prepareStageTasks = function () { var t = this._stageTaskMap, e = this.ecInstance.getModel(), n = this.api; a(this._allHandlers, function (i) { var a = t.get(i.uid) || t.set(i.uid, []); i.reset && b(this, i, a, e, n), i.overallReset && w(this, i, a, e, n) }, this) }, y.prepareView = function (t, e, n, i) { var a = t.renderTask, r = a.context; r.model = e, r.ecModel = n, r.api = i, a.__block = !t.incrementalPrepareRender, k(this, e, a) }, y.performDataProcessorTasks = function (t, e) { x(this, this._dataProcessorHandlers, t, e, {block: !0}) }, y.performVisualTasks = function (t, e, n) { x(this, this._visualHandlers, t, e, n) }, y.performSeriesTasks = function (t) { var e; t.eachSeries(function (t) { e |= t.dataTask.perform() }), this.unfinished |= e }, y.plan = function () { this._pipelineMap.each(function (t) { var e = t.tail; do { if (e.__block) { t.blockIndex = e.__idxInPipeline; break }e = e.getUpstream() } while (e) }) }; var _ = y.updatePayload = function (t, e) { e !== 'remain' && (t.context.payload = e) }; function b (t, e, n, i, a) { var r = n.seriesTaskMap || (n.seriesTaskMap = s()), o = e.seriesType, l = e.getTargetSeries; function u (n) { var o = n.uid, s = r.get(o) || r.set(o, c({plan: T, reset: C, count: P})); s.context = {model: n, ecModel: i, api: a, useClearVisual: e.isVisual && !e.isLayout, plan: e.plan, reset: e.reset, scheduler: t}, k(t, n, s) }e.createOnAllSeries ? i.eachRawSeries(u) : o ? i.eachRawSeriesByType(o, u) : l && l(i, a).each(u); var h = t._pipelineMap; r.each(function (t, e) { h.get(e) || (t.dispose(), r.removeKey(e)) }) } function w (t, e, n, i, r) { var o = n.overallTask = n.overallTask || c({reset: S}); o.context = {ecModel: i, api: r, overallReset: e.overallReset, scheduler: t}; var l = o.agentStubMap = o.agentStubMap || s(), u = e.seriesType, h = e.getTargetSeries, d = !0, f = e.modifyOutputEnd; function p (e) { var n = e.uid, i = l.get(n); i || (i = l.set(n, c({reset: M, onDirty: A})), o.dirty()), i.context = {model: e, overallProgress: d, modifyOutputEnd: f}, i.agent = o, i.__block = d, k(t, e, i) }u ? i.eachRawSeriesByType(u, p) : h ? h(i, r).each(p) : (d = !1, a(i.getSeries(), p)); var g = t._pipelineMap; l.each(function (t, e) { g.get(e) || (t.dispose(), o.dirty(), l.removeKey(e)) }) } function S (t) { t.overallReset(t.ecModel, t.api, t.payload) } function M (t, e) { return t.overallProgress && I } function I () { this.agent.dirty(), this.getDownstream().dirty() } function A () { this.agent && this.agent.dirty() } function T (t) { return t.plan && t.plan(t.model, t.ecModel, t.api, t.payload) } function C (t) { t.useClearVisual && t.data.clearAllVisual(); var e = t.resetDefines = m(t.reset(t.model, t.ecModel, t.api, t.payload)); return e.length > 1 ? r(e, function (t, e) { return L(e) }) : D } var D = L(0); function L (t) { return function (e, n) { var i = n.data, a = n.resetDefines[t]; if (a && a.dataEach) for (var r = e.start; r < e.end; r++)a.dataEach(i, r); else a && a.progress && a.progress(e, i) } } function P (t) { return t.data.count() } function k (t, e, n) { var i = e.uid, a = t._pipelineMap.get(i); !a.head && (a.head = n), a.tail && a.tail.pipe(n), a.tail = n, n.__idxInPipeline = a.count++, n.__pipeline = a } function O (t) { R = null; try { t(E, N) } catch (t) {} return R }v.wrapStageHandler = function (t, e) { return o(t) && (t = {overallReset: t, seriesType: O(t)}), t.uid = d('stageHandler'), e && (t.visualType = e), t }; var R, E = {}, N = {}; function z (t, e) { for (var n in e.prototype)t[n] = l }z(E, f), z(N, p), E.eachSeriesByType = E.eachRawSeriesByType = function (t) { R = t }, E.eachComponent = function (t) { t.mainType === 'series' && t.subType && (R = t.subType) }; var V = v; t.exports = V }, '6a4c': function (t, e, n) { var i = n('4527'), a = n('6d8b'), r = n('0fd3'), o = n('401b'); function s (t, e, n) { r.call(this, t, e, n), this._lastFrame = 0, this._lastFramePercent = 0 } var l = s.prototype; l.createLine = function (t, e, n) { return new i(t, e, n) }, l.updateAnimationPoints = function (t, e) { this._points = e; for (var n = [0], i = 0, a = 1; a < e.length; a++) { var r = e[a - 1], s = e[a]; i += o.dist(r, s), n.push(i) } if (i !== 0) { for (a = 0; a < n.length; a++)n[a] /= i; this._offsets = n, this._length = i } }, l.getLineLength = function (t) { return this._length }, l.updateSymbolPosition = function (t) { var e = t.__t, n = this._points, i = this._offsets, a = n.length; if (i) { var r = this._lastFrame; if (e < this._lastFramePercent) { var s = Math.min(r + 1, a - 1); for (l = s; l >= 0; l--) if (i[l] <= e) break; l = Math.min(l, a - 2) } else { for (var l = r; l < a; l++) if (i[l] > e) break; l = Math.min(l - 1, a - 2) }o.lerp(t.position, n[l], n[l + 1], (e - i[l]) / (i[l + 1] - i[l])); var u = n[l + 1][0] - n[l][0], c = n[l + 1][1] - n[l][1]; t.rotation = -Math.atan2(c, u) - Math.PI / 2, this._lastFrame = l, this._lastFramePercent = e, t.ignore = !1 } }, a.inherits(s, r); var u = s; t.exports = u }, '6acf': function (t, e, n) { var i = n('eda2'), a = n('dcb3'), r = n('2306'), o = n('ff2e'), s = n('1687'), l = n('fab22'), u = n('6679'), c = a.extend({makeElOption: function (t, e, n, a, r) { var s = n.axis; s.dim === 'angle' && (this.animationThreshold = Math.PI / 18); var l, u = s.polar, c = u.getOtherAxis(s), f = c.getExtent(); l = s['dataTo' + i.capitalFirst(s.dim)](e); var p = a.get('type'); if (p && p !== 'none') { var g = o.buildElStyle(a), m = d[p](s, u, l, f, g); m.style = g, t.graphicKey = m.type, t.pointer = m } var v = a.get('label.margin'), y = h(e, n, a, u, v); o.buildLabelElOption(t, n, a, r, y) }}); function h (t, e, n, i, a) { var o = e.axis, u = o.dataToCoord(t), c = i.getAngleAxis().getExtent()[0]; c = c / 180 * Math.PI; var h, d, f, p = i.getRadiusAxis().getExtent(); if (o.dim === 'radius') { var g = s.create(); s.rotate(g, g, c), s.translate(g, g, [i.cx, i.cy]), h = r.applyTransform([u, -a], g); var m = e.getModel('axisLabel').get('rotate') || 0, v = l.innerTextLayout(c, m * Math.PI / 180, -1); d = v.textAlign, f = v.textVerticalAlign } else { var y = p[1]; h = i.coordToPoint([y + a, u]); var x = i.cx, _ = i.cy; d = Math.abs(h[0] - x) / y < 0.3 ? 'center' : h[0] > x ? 'left' : 'right', f = Math.abs(h[1] - _) / y < 0.3 ? 'middle' : h[1] > _ ? 'top' : 'bottom' } return {position: h, align: d, verticalAlign: f} } var d = {line: function (t, e, n, i, a) { return t.dim === 'angle' ? {type: 'Line', shape: o.makeLineShape(e.coordToPoint([i[0], n]), e.coordToPoint([i[1], n]))} : {type: 'Circle', shape: {cx: e.cx, cy: e.cy, r: n}} }, shadow: function (t, e, n, i, a) { var r = Math.max(1, t.getBandWidth()), s = Math.PI / 180; return t.dim === 'angle' ? {type: 'Sector', shape: o.makeSectorShape(e.cx, e.cy, i[0], i[1], (-n - r / 2) * s, (r / 2 - n) * s)} : {type: 'Sector', shape: o.makeSectorShape(e.cx, e.cy, n - r / 2, n + r / 2, 0, 2 * Math.PI)} }}; u.registerAxisPointerClass('PolarAxisPointer', c); var f = c; t.exports = f }, '6bd4': function (t, e, n) { var i = n('6d8b'), a = {Russia: [100, 60], 'United States': [-99, 38], 'United States of America': [-99, 38]}; function r (t) { i.each(t.regions, function (t) { var e = a[t.name]; if (e) { var n = t.center; n[0] = e[0], n[1] = e[1] } }) }t.exports = r }, '6c12': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('3eba')), r = n('6d8b'), o = n('fab22'), s = n('2306'), l = ['axisLine', 'axisTickLabel', 'axisName'], u = a.extendComponentView({type: 'radar', render: function (t, e, n) { var i = this.group; i.removeAll(), this._buildAxes(t), this._buildSplitLineAndArea(t) }, _buildAxes: function (t) { var e = t.coordinateSystem, n = e.getIndicatorAxes(), i = r.map(n, function (t) { var n = new o(t.model, {position: [e.cx, e.cy], rotation: t.angle, labelDirection: -1, tickDirection: -1, nameDirection: 1}); return n }); r.each(i, function (t) { r.each(l, t.add, t), this.group.add(t.getGroup()) }, this) }, _buildSplitLineAndArea: function (t) { var e = t.coordinateSystem, n = e.getIndicatorAxes(); if (n.length) { var i = t.get('shape'), a = t.getModel('splitLine'), o = t.getModel('splitArea'), l = a.getModel('lineStyle'), u = o.getModel('areaStyle'), c = a.get('show'), h = o.get('show'), d = l.get('color'), f = u.get('color'); d = r.isArray(d) ? d : [d], f = r.isArray(f) ? f : [f]; var p = [], g = []; if (i === 'circle') for (var m = n[0].getTicksCoords(), v = e.cx, y = e.cy, x = 0; x < m.length; x++) { if (c) { var _ = C(p, d, x); p[_].push(new s.Circle({shape: {cx: v, cy: y, r: m[x].coord}})) } if (h && x < m.length - 1) { _ = C(g, f, x); g[_].push(new s.Ring({shape: {cx: v, cy: y, r0: m[x].coord, r: m[x + 1].coord}})) } } else { var b, w = r.map(n, function (t, n) { var i = t.getTicksCoords(); return b = b == null ? i.length - 1 : Math.min(i.length - 1, b), r.map(i, function (t) { return e.coordToPoint(t.coord, n) }) }), S = []; for (x = 0; x <= b; x++) { for (var M = [], I = 0; I < n.length; I++)M.push(w[I][x]); if (M[0] && M.push(M[0].slice()), c) { _ = C(p, d, x); p[_].push(new s.Polyline({shape: {points: M}})) } if (h && S) { _ = C(g, f, x - 1); g[_].push(new s.Polygon({shape: {points: M.concat(S)}})) }S = M.slice().reverse() } } var A = l.getLineStyle(), T = u.getAreaStyle(); r.each(g, function (t, e) { this.group.add(s.mergePath(t, {style: r.defaults({stroke: 'none', fill: f[e % f.length]}, T), silent: !0})) }, this), r.each(p, function (t, e) { this.group.add(s.mergePath(t, {style: r.defaults({fill: 'none', stroke: d[e % d.length]}, A), silent: !0})) }, this) } function C (t, e, n) { var i = n % e.length; return t[i] = t[i] || [], i } }}); t.exports = u }, '6c12f': function (t, e, n) { var i = n('3eba'); n('2cfc'), n('adf4'), n('255c'); var a = n('527a'), r = n('71b2'), o = n('d3f47'); i.registerLayout(a), i.registerVisual(r), i.registerProcessor(o('themeRiver')) }, '6cb7': function (t, e, n) { var i = n('6d8b'), a = n('4319'), r = n('8918'), o = n('625e'), s = o.enableClassManagement, l = o.parseClassType, u = n('e0d3'), c = u.makeInner, h = n('f934'), d = n('de1c'), f = c(), p = a.extend({type: 'component', id: '', name: '', mainType: '', subType: '', componentIndex: 0, defaultOption: null, ecModel: null, dependentModels: [], uid: null, layoutMode: null, $constructor: function (t, e, n, i) { a.call(this, t, e, n, i), this.uid = r.getUID('ec_cpt_model') }, init: function (t, e, n, i) { this.mergeDefaultAndTheme(t, n) }, mergeDefaultAndTheme: function (t, e) { var n = this.layoutMode, a = n ? h.getLayoutParams(t) : {}, r = e.getTheme(); i.merge(t, r.get(this.mainType)), i.merge(t, this.getDefaultOption()), n && h.mergeLayoutParam(t, a, n) }, mergeOption: function (t, e) { i.merge(this.option, t, !0); var n = this.layoutMode; n && h.mergeLayoutParam(this.option, t, n) }, optionUpdated: function (t, e) {}, getDefaultOption: function () { var t = f(this); if (!t.defaultOption) { var e = [], n = this.constructor; while (n) { var a = n.prototype.defaultOption; a && e.push(a), n = n.superClass } for (var r = {}, o = e.length - 1; o >= 0; o--)r = i.merge(r, e[o], !0); t.defaultOption = r } return t.defaultOption }, getReferringComponents: function (t) { return this.ecModel.queryComponents({mainType: t, index: this.get(t + 'Index', !0), id: this.get(t + 'Id', !0)}) }}); function g (t) { var e = []; return i.each(p.getClassesByMainType(t), function (t) { e = e.concat(t.prototype.dependencies || []) }), e = i.map(e, function (t) { return l(t).main }), t !== 'dataset' && i.indexOf(e, 'dataset') <= 0 && e.unshift('dataset'), e }s(p, {registerWhenExtend: !0}), r.enableSubTypeDefaulter(p), r.enableTopologicalTravel(p, g), i.mixin(p, d); var m = p; t.exports = m }, '6cc5': function (t, e, n) { var i = n('6d8b'), a = n('401b'), r = n('1687'), o = n('9850'), s = n('0cde'), l = a.applyTransform; function u () { s.call(this) } function c (t) { this.name = t, this.zoomLimit, s.call(this), this._roamTransformable = new u(), this._rawTransformable = new u(), this._center, this._zoom } function h (t, e, n, i) { var a = n.seriesModel, r = a ? a.coordinateSystem : null; return r === this ? r[t](i) : null }i.mixin(u, s), c.prototype = {constructor: c, type: 'view', dimensions: ['x', 'y'], setBoundingRect: function (t, e, n, i) { return this._rect = new o(t, e, n, i), this._rect }, getBoundingRect: function () { return this._rect }, setViewRect: function (t, e, n, i) { this.transformTo(t, e, n, i), this._viewRect = new o(t, e, n, i) }, transformTo: function (t, e, n, i) { var a = this.getBoundingRect(), r = this._rawTransformable; r.transform = a.calculateTransform(new o(t, e, n, i)), r.decomposeTransform(), this._updateTransform() }, setCenter: function (t) { t && (this._center = t, this._updateCenterAndZoom()) }, setZoom: function (t) { t = t || 1; var e = this.zoomLimit; e && (e.max != null && (t = Math.min(e.max, t)), e.min != null && (t = Math.max(e.min, t))), this._zoom = t, this._updateCenterAndZoom() }, getDefaultCenter: function () { var t = this.getBoundingRect(), e = t.x + t.width / 2, n = t.y + t.height / 2; return [e, n] }, getCenter: function () { return this._center || this.getDefaultCenter() }, getZoom: function () { return this._zoom || 1 }, getRoamTransform: function () { return this._roamTransformable.getLocalTransform() }, _updateCenterAndZoom: function () { var t = this._rawTransformable.getLocalTransform(), e = this._roamTransformable, n = this.getDefaultCenter(), i = this.getCenter(), r = this.getZoom(); i = a.applyTransform([], i, t), n = a.applyTransform([], n, t), e.origin = i, e.position = [n[0] - i[0], n[1] - i[1]], e.scale = [r, r], this._updateTransform() }, _updateTransform: function () { var t = this._roamTransformable, e = this._rawTransformable; e.parent = t, t.updateTransform(), e.updateTransform(), r.copy(this.transform || (this.transform = []), e.transform || r.create()), this._rawTransform = e.getLocalTransform(), this.invTransform = this.invTransform || [], r.invert(this.invTransform, this.transform), this.decomposeTransform() }, getViewRect: function () { return this._viewRect }, getViewRectAfterRoam: function () { var t = this.getBoundingRect().clone(); return t.applyTransform(this.transform), t }, dataToPoint: function (t, e, n) { var i = e ? this._rawTransform : this.transform; return n = n || [], i ? l(n, t, i) : a.copy(n, t) }, pointToData: function (t) { var e = this.invTransform; return e ? l([], t, e) : [t[0], t[1]] }, convertToPixel: i.curry(h, 'dataToPoint'), convertFromPixel: i.curry(h, 'pointToData'), containPoint: function (t) { return this.getViewRectAfterRoam().contain(t[0], t[1]) }}, i.mixin(c, s); var d = c; t.exports = d }, '6cd8': function (t, e, n) { var i = n('6d8b'), a = n('2306'), r = n('1418'), o = n('22da'), s = o.radialCoordinate, l = n('3eba'), u = l.extendChartView({type: 'tree', init: function (t, e) { this._oldTree, this._mainGroup = new a.Group(), this.group.add(this._mainGroup) }, render: function (t, e, n, i) { var a = t.getData(), r = t.layoutInfo, o = this._mainGroup, s = t.get('layout'); s === 'radial' ? o.attr('position', [r.x + r.width / 2, r.y + r.height / 2]) : o.attr('position', [r.x, r.y]); var l = this._data, u = {expandAndCollapse: t.get('expandAndCollapse'), layout: s, orient: t.getOrient(), curvature: t.get('lineStyle.curveness'), symbolRotate: t.get('symbolRotate'), symbolOffset: t.get('symbolOffset'), hoverAnimation: t.get('hoverAnimation'), useNameLabel: !0, fadeIn: !0}; a.diff(l).add(function (e) { c(a, e) && d(a, e, null, o, t, u) }).update(function (e, n) { var i = l.getItemGraphicEl(n); c(a, e) ? d(a, e, i, o, t, u) : i && f(l, n, i, o, t, u) }).remove(function (e) { var n = l.getItemGraphicEl(e); n && f(l, e, n, o, t, u) }).execute(), !0 === u.expandAndCollapse && a.eachItemGraphicEl(function (e, i) { e.off('click').on('click', function () { n.dispatchAction({type: 'treeExpandAndCollapse', seriesId: t.id, dataIndex: i}) }) }), this._data = a }, dispose: function () {}, remove: function () { this._mainGroup.removeAll(), this._data = null }}); function c (t, e) { var n = t.getItemLayout(e); return n && !isNaN(n.x) && !isNaN(n.y) && t.getItemVisual(e, 'symbol') !== 'none' } function h (t, e, n) { return n.itemModel = e, n.itemStyle = e.getModel('itemStyle').getItemStyle(), n.hoverItemStyle = e.getModel('emphasis.itemStyle').getItemStyle(), n.lineStyle = e.getModel('lineStyle').getLineStyle(), n.labelModel = e.getModel('label'), n.hoverLabelModel = e.getModel('emphasis.label'), !1 === t.isExpand && t.children.length !== 0 ? n.symbolInnerColor = n.itemStyle.fill : n.symbolInnerColor = '#fff', n } function d (t, e, n, o, s, l) { var u = !n, c = t.tree.getNodeByDataIndex(e), d = c.getModel(), f = (l = h(c, d, l), t.tree.root), g = c.parentNode === f ? c : c.parentNode || c, m = t.getItemGraphicEl(g.dataIndex), v = g.getLayout(), y = m ? {x: m.position[0], y: m.position[1], rawX: m.__radialOldRawX, rawY: m.__radialOldRawY} : v, x = c.getLayout(); u ? (n = new r(t, e, l), n.attr('position', [y.x, y.y])) : n.updateData(t, e, l), n.__radialOldRawX = n.__radialRawX, n.__radialOldRawY = n.__radialRawY, n.__radialRawX = x.rawX, n.__radialRawY = x.rawY, o.add(n), t.setItemGraphicEl(e, n), a.updateProps(n, {position: [x.x, x.y]}, s); var _ = n.getSymbolPath(); if (l.layout === 'radial') { var b, w, S = f.children[0], M = S.getLayout(), I = S.children.length; if (x.x === M.x && !0 === c.isExpand) { var A = {}; A.x = (S.children[0].getLayout().x + S.children[I - 1].getLayout().x) / 2, A.y = (S.children[0].getLayout().y + S.children[I - 1].getLayout().y) / 2, b = Math.atan2(A.y - M.y, A.x - M.x), b < 0 && (b = 2 * Math.PI + b), w = A.x < M.x, w && (b -= Math.PI) } else b = Math.atan2(x.y - M.y, x.x - M.x), b < 0 && (b = 2 * Math.PI + b), c.children.length === 0 || c.children.length !== 0 && !1 === c.isExpand ? (w = x.x < M.x, w && (b -= Math.PI)) : (w = x.x > M.x, w || (b -= Math.PI)); var T = w ? 'left' : 'right'; _.setStyle({textPosition: T, textRotation: -b, textOrigin: 'center', verticalAlign: 'middle'}) } if (c.parentNode && c.parentNode !== f) { var C = n.__edge; C || (C = n.__edge = new a.BezierCurve({shape: p(l, y, y), style: i.defaults({opacity: 0}, l.lineStyle)})), a.updateProps(C, {shape: p(l, v, x), style: {opacity: 1}}, s), o.add(C) } } function f (t, e, n, i, r, o) { var s, l = t.tree.getNodeByDataIndex(e), u = t.tree.root, c = l.getModel(), d = (o = h(l, c, o), l.parentNode === u ? l : l.parentNode || l); while (s = d.getLayout(), s == null)d = d.parentNode === u ? d : d.parentNode || d; a.updateProps(n, {position: [s.x + 1, s.y + 1]}, r, function () { i.remove(n), t.setItemGraphicEl(e, null) }), n.fadeOut(null, {keepLabel: !0}); var f = n.__edge; f && a.updateProps(f, {shape: p(o, s, s), style: {opacity: 0}}, r, function () { i.remove(f) }) } function p (t, e, n) { var i, a, r, o, l = t.orient; if (t.layout === 'radial') { var u = e.rawX, c = e.rawY, h = n.rawX, d = n.rawY, f = s(u, c), p = s(u, c + (d - c) * t.curvature), g = s(h, d + (c - d) * t.curvature), m = s(h, d); return {x1: f.x, y1: f.y, x2: m.x, y2: m.y, cpx1: p.x, cpy1: p.y, cpx2: g.x, cpy2: g.y} }u = e.x, c = e.y, h = n.x, d = n.y; return l !== 'LR' && l !== 'RL' || (i = u + (h - u) * t.curvature, a = c, r = h + (u - h) * t.curvature, o = d), l !== 'TB' && l !== 'BT' || (i = u, a = c + (d - c) * t.curvature, r = h, o = d + (c - d) * t.curvature), {x1: u, y1: c, x2: h, y2: d, cpx1: i, cpy1: a, cpx2: r, cpy2: o} }t.exports = u }, '6d8b': function (t, e) { var n = {'[object Function]': 1, '[object RegExp]': 1, '[object Date]': 1, '[object Error]': 1, '[object CanvasGradient]': 1, '[object CanvasPattern]': 1, '[object Image]': 1, '[object Canvas]': 1}, i = {'[object Int8Array]': 1, '[object Uint8Array]': 1, '[object Uint8ClampedArray]': 1, '[object Int16Array]': 1, '[object Uint16Array]': 1, '[object Int32Array]': 1, '[object Uint32Array]': 1, '[object Float32Array]': 1, '[object Float64Array]': 1}, a = Object.prototype.toString, r = Array.prototype, o = r.forEach, s = r.filter, l = r.slice, u = r.map, c = r.reduce, h = {}; function d (t, e) { t === 'createCanvas' && (y = null), h[t] = e } function f (t) { if (t == null || typeof t !== 'object') return t; var e = t, r = a.call(t); if (r === '[object Array]') { if (!X(t)) { e = []; for (var o = 0, s = t.length; o < s; o++)e[o] = f(t[o]) } } else if (i[r]) { if (!X(t)) { var l = t.constructor; if (t.constructor.from)e = l.from(t); else { e = new l(t.length); for (o = 0, s = t.length; o < s; o++)e[o] = f(t[o]) } } } else if (!n[r] && !X(t) && !V(t)) for (var u in e = {}, t)t.hasOwnProperty(u) && (e[u] = f(t[u])); return e } function p (t, e, n) { if (!E(e) || !E(t)) return n ? f(e) : t; for (var i in e) if (e.hasOwnProperty(i)) { var a = t[i], r = e[i]; !E(r) || !E(a) || k(r) || k(a) || V(r) || V(a) || N(r) || N(a) || X(r) || X(a) ? !n && i in t || (t[i] = f(e[i], !0)) : p(a, r, n) } return t } function g (t, e) { for (var n = t[0], i = 1, a = t.length; i < a; i++)n = p(n, t[i], e); return n } function m (t, e) { for (var n in e)e.hasOwnProperty(n) && (t[n] = e[n]); return t } function v (t, e, n) { for (var i in e)e.hasOwnProperty(i) && (n ? e[i] != null : t[i] == null) && (t[i] = e[i]); return t } var y, x = function () { return h.createCanvas() }; function _ () { return y || (y = x().getContext('2d')), y } function b (t, e) { if (t) { if (t.indexOf) return t.indexOf(e); for (var n = 0, i = t.length; n < i; n++) if (t[n] === e) return n } return -1 } function w (t, e) { var n = t.prototype; function i () {} for (var a in i.prototype = e.prototype, t.prototype = new i(), n)t.prototype[a] = n[a]; t.prototype.constructor = t, t.superClass = e } function S (t, e, n) { t = 'prototype' in t ? t.prototype : t, e = 'prototype' in e ? e.prototype : e, v(t, e, n) } function M (t) { if (t) return typeof t !== 'string' && typeof t.length === 'number' } function I (t, e, n) { if (t && e) if (t.forEach && t.forEach === o)t.forEach(e, n); else if (t.length === +t.length) for (var i = 0, a = t.length; i < a; i++)e.call(n, t[i], i, t); else for (var r in t)t.hasOwnProperty(r) && e.call(n, t[r], r, t) } function A (t, e, n) { if (t && e) { if (t.map && t.map === u) return t.map(e, n); for (var i = [], a = 0, r = t.length; a < r; a++)i.push(e.call(n, t[a], a, t)); return i } } function T (t, e, n, i) { if (t && e) { if (t.reduce && t.reduce === c) return t.reduce(e, n, i); for (var a = 0, r = t.length; a < r; a++)n = e.call(i, n, t[a], a, t); return n } } function C (t, e, n) { if (t && e) { if (t.filter && t.filter === s) return t.filter(e, n); for (var i = [], a = 0, r = t.length; a < r; a++)e.call(n, t[a], a, t) && i.push(t[a]); return i } } function D (t, e, n) { if (t && e) for (var i = 0, a = t.length; i < a; i++) if (e.call(n, t[i], i, t)) return t[i] } function L (t, e) { var n = l.call(arguments, 2); return function () { return t.apply(e, n.concat(l.call(arguments))) } } function P (t) { var e = l.call(arguments, 1); return function () { return t.apply(this, e.concat(l.call(arguments))) } } function k (t) { return a.call(t) === '[object Array]' } function O (t) { return typeof t === 'function' } function R (t) { return a.call(t) === '[object String]' } function E (t) { var e = typeof t; return e === 'function' || !!t && e == 'object' } function N (t) { return !!n[a.call(t)] } function z (t) { return !!i[a.call(t)] } function V (t) { return typeof t === 'object' && typeof t.nodeType === 'number' && typeof t.ownerDocument === 'object' } function B (t) { return t !== t } function G (t) { for (var e = 0, n = arguments.length; e < n; e++) if (arguments[e] != null) return arguments[e] } function F (t, e) { return t != null ? t : e } function H (t, e, n) { return t != null ? t : e != null ? e : n } function W () { return Function.call.apply(l, arguments) } function U (t) { if (typeof t === 'number') return [t, t, t, t]; var e = t.length; return e === 2 ? [t[0], t[1], t[0], t[1]] : e === 3 ? [t[0], t[1], t[2], t[1]] : t } function Z (t, e) { if (!t) throw new Error(e) } function j (t) { return t == null ? null : typeof t.trim === 'function' ? t.trim() : t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '') }h.createCanvas = function () { return document.createElement('canvas') }; var Y = '__ec_primitive__'; function q (t) { t[Y] = !0 } function X (t) { return t[Y] } function $ (t) { var e = k(t), n = this; function i (t, i) { e ? n.set(t, i) : n.set(i, t) }t instanceof $ ? t.each(i) : t && I(t, i) } function K (t) { return new $(t) } function J (t, e) { for (var n = new t.constructor(t.length + e.length), i = 0; i < t.length; i++)n[i] = t[i]; var a = t.length; for (i = 0; i < e.length; i++)n[i + a] = e[i]; return n } function Q () {}$.prototype = {constructor: $, get: function (t) { return this.hasOwnProperty(t) ? this[t] : null }, set: function (t, e) { return this[t] = e }, each: function (t, e) { for (var n in void 0 !== e && (t = L(t, e)), this) this.hasOwnProperty(n) && t(this[n], n) }, removeKey: function (t) { delete this[t] }}, e.$override = d, e.clone = f, e.merge = p, e.mergeAll = g, e.extend = m, e.defaults = v, e.createCanvas = x, e.getContext = _, e.indexOf = b, e.inherits = w, e.mixin = S, e.isArrayLike = M, e.each = I, e.map = A, e.reduce = T, e.filter = C, e.find = D, e.bind = L, e.curry = P, e.isArray = k, e.isFunction = O, e.isString = R, e.isObject = E, e.isBuiltInObject = N, e.isTypedArray = z, e.isDom = V, e.eqNaN = B, e.retrieve = G, e.retrieve2 = F, e.retrieve3 = H, e.slice = W, e.normalizeCssArray = U, e.assert = Z, e.trim = j, e.setAsPrimitive = q, e.isPrimitive = X, e.createHashMap = K, e.concatArray = J, e.noop = Q }, '6d9a': function (t, e) { function n (t, e, n) { var i, a = [t], r = []; while (i = a.pop()) if (r.push(i), i.isExpand) { var o = i.children; if (o.length) for (var s = 0; s < o.length; s++)a.push(o[s]) } while (i = r.pop())e(i, n) } function i (t, e) { var n, i = [t]; while (n = i.pop()) if (e(n), n.isExpand) { var a = n.children; if (a.length) for (var r = a.length - 1; r >= 0; r--)i.push(a[r]) } }e.eachAfter = n, e.eachBefore = i }, '6fda': function (t, e, n) { var i = n('6d8b'), a = i.each, r = '\0_ec_hist_store'; function o (t, e) { var n = c(t); a(e, function (e, i) { for (var a = n.length - 1; a >= 0; a--) { var r = n[a]; if (r[i]) break } if (a < 0) { var o = t.queryComponents({mainType: 'dataZoom', subType: 'select', id: i})[0]; if (o) { var s = o.getPercentRange(); n[0][i] = {dataZoomId: i, start: s[0], end: s[1]} } } }), n.push(e) } function s (t) { var e = c(t), n = e[e.length - 1]; e.length > 1 && e.pop(); var i = {}; return a(n, function (t, n) { for (var a = e.length - 1; a >= 0; a--) { t = e[a][n]; if (t) { i[n] = t; break } } }), i } function l (t) { t[r] = null } function u (t) { return c(t).length } function c (t) { var e = t[r]; return e || (e = t[r] = [{}]), e }e.push = o, e.pop = s, e.clear = l, e.count = u }, 7023: function (t, e, n) { var i = n('6d8b'), a = {updateSelectedMap: function (t) { this._targetList = i.isArray(t) ? t.slice() : [], this._selectTargetMap = i.reduce(t || [], function (t, e) { return t.set(e.name, e), t }, i.createHashMap()) }, select: function (t, e) { var n = e != null ? this._targetList[e] : this._selectTargetMap.get(t), i = this.get('selectedMode'); i === 'single' && this._selectTargetMap.each(function (t) { t.selected = !1 }), n && (n.selected = !0) }, unSelect: function (t, e) { var n = e != null ? this._targetList[e] : this._selectTargetMap.get(t); n && (n.selected = !1) }, toggleSelected: function (t, e) { var n = e != null ? this._targetList[e] : this._selectTargetMap.get(t); if (n != null) return this[n.selected ? 'unSelect' : 'select'](t, e), n.selected }, isSelected: function (t, e) { var n = e != null ? this._targetList[e] : this._selectTargetMap.get(t); return n && n.selected }}; t.exports = a }, '71ad': function (t, e, n) { var i = n('6d8b'), a = {show: !0, zlevel: 0, z: 0, inverse: !1, name: '', nameLocation: 'end', nameRotate: null, nameTruncate: {maxWidth: null, ellipsis: '...', placeholder: '.'}, nameTextStyle: {}, nameGap: 15, silent: !1, triggerEvent: !1, tooltip: {show: !1}, axisPointer: {}, axisLine: {show: !0, onZero: !0, onZeroAxisIndex: null, lineStyle: {color: '#333', width: 1, type: 'solid'}, symbol: ['none', 'none'], symbolSize: [10, 15]}, axisTick: {show: !0, inside: !1, length: 5, lineStyle: {width: 1}}, axisLabel: {show: !0, inside: !1, rotate: 0, showMinLabel: null, showMaxLabel: null, margin: 8, fontSize: 12}, splitLine: {show: !0, lineStyle: {color: ['#ccc'], width: 1, type: 'solid'}}, splitArea: {show: !1, areaStyle: {color: ['rgba(250,250,250,0.3)', 'rgba(200,200,200,0.3)']}}}, r = {}; r.categoryAxis = i.merge({boundaryGap: !0, deduplication: null, splitLine: {show: !1}, axisTick: {alignWithLabel: !1, interval: 'auto'}, axisLabel: {interval: 'auto'}}, a), r.valueAxis = i.merge({boundaryGap: [0, 0], splitNumber: 5}, a), r.timeAxis = i.defaults({scale: !0, min: 'dataMin', max: 'dataMax'}, r.valueAxis), r.logAxis = i.defaults({scale: !0, logBase: 10}, r.valueAxis); var o = r; t.exports = o }, '71b2': function (t, e, n) { var i = n('6d8b'), a = i.createHashMap; function r (t) { t.eachSeriesByType('themeRiver', function (t) { var e = t.getData(), n = t.getRawData(), i = t.get('color'), r = a(); e.each(function (t) { r.set(e.getRawIndex(t), t) }), n.each(function (a) { var o = n.getName(a), s = i[(t.nameMap.get(o) - 1) % i.length]; n.setItemVisual(a, 'color', s); var l = r.get(a); l != null && e.setItemVisual(l, 'color', s) }) }) }t.exports = r }, 7293: function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('4f85')), r = n('6179'), o = n('6d8b'), s = o.concatArray, l = o.mergeAll, u = o.map, c = n('eda2'), h = c.encodeHTML, d = (n('2039'), typeof Uint32Array === 'undefined' ? Array : Uint32Array), f = typeof Float64Array === 'undefined' ? Array : Float64Array; function p (t) { var e = t.data; e && e[0] && e[0][0] && e[0][0].coord && (t.data = u(e, function (t) { var e = [t[0].coord, t[1].coord], n = {coords: e}; return t[0].name && (n.fromName = t[0].name), t[1].name && (n.toName = t[1].name), l([n, t[0], t[1]]) })) } var g = a.extend({type: 'series.lines', dependencies: ['grid', 'polar'], visualColorAccessPath: 'lineStyle.color', init: function (t) { t.data = t.data || [], p(t); var e = this._processFlatCoordsArray(t.data); this._flatCoords = e.flatCoords, this._flatCoordsOffset = e.flatCoordsOffset, e.flatCoords && (t.data = new Float32Array(e.count)), g.superApply(this, 'init', arguments) }, mergeOption: function (t) { if (t.data = t.data || [], p(t), t.data) { var e = this._processFlatCoordsArray(t.data); this._flatCoords = e.flatCoords, this._flatCoordsOffset = e.flatCoordsOffset, e.flatCoords && (t.data = new Float32Array(e.count)) }g.superApply(this, 'mergeOption', arguments) }, appendData: function (t) { var e = this._processFlatCoordsArray(t.data); e.flatCoords && (this._flatCoords ? (this._flatCoords = s(this._flatCoords, e.flatCoords), this._flatCoordsOffset = s(this._flatCoordsOffset, e.flatCoordsOffset)) : (this._flatCoords = e.flatCoords, this._flatCoordsOffset = e.flatCoordsOffset), t.data = new Float32Array(e.count)), this.getRawData().appendData(t.data) }, _getCoordsFromItemModel: function (t) { var e = this.getData().getItemModel(t), n = e.option instanceof Array ? e.option : e.getShallow('coords'); return n }, getLineCoordsCount: function (t) { return this._flatCoordsOffset ? this._flatCoordsOffset[2 * t + 1] : this._getCoordsFromItemModel(t).length }, getLineCoords: function (t, e) { if (this._flatCoordsOffset) { for (var n = this._flatCoordsOffset[2 * t], i = this._flatCoordsOffset[2 * t + 1], a = 0; a < i; a++)e[a] = e[a] || [], e[a][0] = this._flatCoords[n + 2 * a], e[a][1] = this._flatCoords[n + 2 * a + 1]; return i } var r = this._getCoordsFromItemModel(t); for (a = 0; a < r.length; a++)e[a] = e[a] || [], e[a][0] = r[a][0], e[a][1] = r[a][1]; return r.length }, _processFlatCoordsArray: function (t) { var e = 0; if (this._flatCoords && (e = this._flatCoords.length), typeof t[0] === 'number') { for (var n = t.length, i = new d(n), a = new f(n), r = 0, o = 0, s = 0, l = 0; l < n;) { s++; var u = t[l++]; i[o++] = r + e, i[o++] = u; for (var c = 0; c < u; c++) { var h = t[l++], p = t[l++]; a[r++] = h, a[r++] = p } } return {flatCoordsOffset: new Uint32Array(i.buffer, 0, o), flatCoords: a, count: s} } return {flatCoordsOffset: null, flatCoords: null, count: t.length} }, getInitialData: function (t, e) { var n = new r(['value'], this); return n.hasItemOption = !1, n.initData(t.data, [], function (t, e, i, a) { if (t instanceof Array) return NaN; n.hasItemOption = !0; var r = t.value; return r != null ? r instanceof Array ? r[a] : r : void 0 }), n }, formatTooltip: function (t) { var e = this.getData(), n = e.getItemModel(t), i = n.get('name'); if (i) return i; var a = n.get('fromName'), r = n.get('toName'), o = []; return a != null && o.push(a), r != null && o.push(r), h(o.join(' > ')) }, preventIncremental: function () { return !!this.get('effect.show') }, getProgressive: function () { var t = this.option.progressive; return t == null ? this.option.large ? 1e4 : this.get('progressive') : t }, getProgressiveThreshold: function () { var t = this.option.progressiveThreshold; return t == null ? this.option.large ? 2e4 : this.get('progressiveThreshold') : t }, defaultOption: {coordinateSystem: 'geo', zlevel: 0, z: 2, legendHoverLink: !0, hoverAnimation: !0, xAxisIndex: 0, yAxisIndex: 0, symbol: ['none', 'none'], symbolSize: [10, 10], geoIndex: 0, effect: {show: !1, period: 4, constantSpeed: 0, symbol: 'circle', symbolSize: 3, loop: !0, trailLength: 0.2}, large: !1, largeThreshold: 2e3, polyline: !1, label: {show: !1, position: 'end'}, lineStyle: {opacity: 0.5}}}), m = g; t.exports = m }, '72b6': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('2306'), o = n('eda2'), s = n('f934'), l = n('5f14'), u = i.extendComponentView({type: 'visualMap', autoPositionValues: {left: 1, right: 1, top: 1, bottom: 1}, init: function (t, e) { this.ecModel = t, this.api = e, this.visualMapModel }, render: function (t, e, n, i) { this.visualMapModel = t, !1 !== t.get('show') ? this.doRender.apply(this, arguments) : this.group.removeAll() }, renderBackground: function (t) { var e = this.visualMapModel, n = o.normalizeCssArray(e.get('padding') || 0), i = t.getBoundingRect(); t.add(new r.Rect({z2: -1, silent: !0, shape: {x: i.x - n[3], y: i.y - n[0], width: i.width + n[3] + n[1], height: i.height + n[0] + n[2]}, style: {fill: e.get('backgroundColor'), stroke: e.get('borderColor'), lineWidth: e.get('borderWidth')}})) }, getControllerVisual: function (t, e, n) { n = n || {}; var i = n.forceState, r = this.visualMapModel, o = {}; if (e === 'symbol' && (o.symbol = r.get('itemSymbol')), e === 'color') { var s = r.get('contentColor'); o.color = s } function u (t) { return o[t] } function c (t, e) { o[t] = e } var h = r.controllerVisuals[i || r.getValueState(t)], d = l.prepareVisualTypes(h); return a.each(d, function (i) { var a = h[i]; n.convertOpacityToAlpha && i === 'opacity' && (i = 'colorAlpha', a = h.__alphaForOpacity), l.dependsOn(i, e) && a && a.applyVisual(t, u, c) }), o[e] }, positionGroup: function (t) { var e = this.visualMapModel, n = this.api; s.positionElement(t, e.getBoxLayoutParams(), {width: n.getWidth(), height: n.getHeight()}) }, doRender: a.noop}); t.exports = u }, 7368: function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = n('625e'), o = r.enableClassCheck; function s (t) { return '_EC_' + t } var l = function (t) { this._directed = t || !1, this.nodes = [], this.edges = [], this._nodesMap = {}, this._edgesMap = {}, this.data, this.edgeData }, u = l.prototype; function c (t, e) { this.id = t == null ? '' : t, this.inEdges = [], this.outEdges = [], this.edges = [], this.hostGraph, this.dataIndex = e == null ? -1 : e } function h (t, e, n) { this.node1 = t, this.node2 = e, this.dataIndex = n == null ? -1 : n }u.type = 'graph', u.isDirected = function () { return this._directed }, u.addNode = function (t, e) { t = t || '' + e; var n = this._nodesMap; if (!n[s(t)]) { var i = new c(t, e); return i.hostGraph = this, this.nodes.push(i), n[s(t)] = i, i } }, u.getNodeByIndex = function (t) { var e = this.data.getRawIndex(t); return this.nodes[e] }, u.getNodeById = function (t) { return this._nodesMap[s(t)] }, u.addEdge = function (t, e, n) { var i = this._nodesMap, a = this._edgesMap; if (typeof t === 'number' && (t = this.nodes[t]), typeof e === 'number' && (e = this.nodes[e]), c.isInstance(t) || (t = i[s(t)]), c.isInstance(e) || (e = i[s(e)]), t && e) { var r = t.id + '-' + e.id; if (!a[r]) { var o = new h(t, e, n); return o.hostGraph = this, this._directed && (t.outEdges.push(o), e.inEdges.push(o)), t.edges.push(o), t !== e && e.edges.push(o), this.edges.push(o), a[r] = o, o } } }, u.getEdgeByIndex = function (t) { var e = this.edgeData.getRawIndex(t); return this.edges[e] }, u.getEdge = function (t, e) { c.isInstance(t) && (t = t.id), c.isInstance(e) && (e = e.id); var n = this._edgesMap; return this._directed ? n[t + '-' + e] : n[t + '-' + e] || n[e + '-' + t] }, u.eachNode = function (t, e) { for (var n = this.nodes, i = n.length, a = 0; a < i; a++)n[a].dataIndex >= 0 && t.call(e, n[a], a) }, u.eachEdge = function (t, e) { for (var n = this.edges, i = n.length, a = 0; a < i; a++)n[a].dataIndex >= 0 && n[a].node1.dataIndex >= 0 && n[a].node2.dataIndex >= 0 && t.call(e, n[a], a) }, u.breadthFirstTraverse = function (t, e, n, i) { if (c.isInstance(e) || (e = this._nodesMap[s(e)]), e) { for (var a = n === 'out' ? 'outEdges' : n === 'in' ? 'inEdges' : 'edges', r = 0; r < this.nodes.length; r++) this.nodes[r].__visited = !1; if (!t.call(i, e, null)) { var o = [e]; while (o.length) { var l = o.shift(), u = l[a]; for (r = 0; r < u.length; r++) { var h = u[r], d = h.node1 === l ? h.node2 : h.node1; if (!d.__visited) { if (t.call(i, d, l)) return; o.push(d), d.__visited = !0 } } } } } }, u.update = function () { for (var t = this.data, e = this.edgeData, n = this.nodes, i = this.edges, a = 0, r = n.length; a < r; a++)n[a].dataIndex = -1; for (a = 0, r = t.count(); a < r; a++)n[t.getRawIndex(a)].dataIndex = a; e.filterSelf(function (t) { var n = i[e.getRawIndex(t)]; return n.node1.dataIndex >= 0 && n.node2.dataIndex >= 0 }); for (a = 0, r = i.length; a < r; a++)i[a].dataIndex = -1; for (a = 0, r = e.count(); a < r; a++)i[e.getRawIndex(a)].dataIndex = a }, u.clone = function () { for (var t = new l(this._directed), e = this.nodes, n = this.edges, i = 0; i < e.length; i++)t.addNode(e[i].id, e[i].dataIndex); for (i = 0; i < n.length; i++) { var a = n[i]; t.addEdge(a.node1.id, a.node2.id, a.dataIndex) } return t }, c.prototype = {constructor: c, degree: function () { return this.edges.length }, inDegree: function () { return this.inEdges.length }, outDegree: function () { return this.outEdges.length }, getModel: function (t) { if (!(this.dataIndex < 0)) { var e = this.hostGraph, n = e.data.getItemModel(this.dataIndex); return n.getModel(t) } }}, h.prototype.getModel = function (t) { if (!(this.dataIndex < 0)) { var e = this.hostGraph, n = e.edgeData.getItemModel(this.dataIndex); return n.getModel(t) } }; var d = function (t, e) { return {getValue: function (n) { var i = this[t][e]; return i.get(i.getDimension(n || 'value'), this.dataIndex) }, setVisual: function (n, i) { this.dataIndex >= 0 && this[t][e].setItemVisual(this.dataIndex, n, i) }, getVisual: function (n, i) { return this[t][e].getItemVisual(this.dataIndex, n, i) }, setLayout: function (n, i) { this.dataIndex >= 0 && this[t][e].setItemLayout(this.dataIndex, n, i) }, getLayout: function () { return this[t][e].getItemLayout(this.dataIndex) }, getGraphicEl: function () { return this[t][e].getItemGraphicEl(this.dataIndex) }, getRawIndex: function () { return this[t][e].getRawIndex(this.dataIndex) }} }; a.mixin(c, d('hostGraph', 'data')), a.mixin(h, d('hostGraph', 'edgeData')), l.Node = c, l.Edge = h, o(c), o(h); var f = l; t.exports = f }, '73ca': function (t, e, n) { var i = n('2306'), a = n('7e5b'); function r (t) { this._ctor = t || a, this.group = new i.Group() } var o = r.prototype; function s (t, e, n, i) { var a = e.getItemLayout(n); if (h(a)) { var r = new t._ctor(e, n, i); e.setItemGraphicEl(n, r), t.group.add(r) } } function l (t, e, n, i, a, r) { var o = e.getItemGraphicEl(i); h(n.getItemLayout(a)) ? (o ? o.updateData(n, a, r) : o = new t._ctor(n, a, r), n.setItemGraphicEl(a, o), t.group.add(o)) : t.group.remove(o) } function u (t) { var e = t.hostModel; return {lineStyle: e.getModel('lineStyle').getLineStyle(), hoverLineStyle: e.getModel('emphasis.lineStyle').getLineStyle(), labelModel: e.getModel('label'), hoverLabelModel: e.getModel('emphasis.label')} } function c (t) { return isNaN(t[0]) || isNaN(t[1]) } function h (t) { return !c(t[0]) && !c(t[1]) }o.isPersistent = function () { return !0 }, o.updateData = function (t) { var e = this, n = e.group, i = e._lineData; e._lineData = t, i || n.removeAll(); var a = u(t); t.diff(i).add(function (n) { s(e, t, n, a) }).update(function (n, r) { l(e, i, t, r, n, a) }).remove(function (t) { n.remove(i.getItemGraphicEl(t)) }).execute() }, o.updateLayout = function () { var t = this._lineData; t && t.eachItemGraphicEl(function (e, n) { e.updateLayout(t, n) }, this) }, o.incrementalPrepareUpdate = function (t) { this._seriesScope = u(t), this._lineData = null, this.group.removeAll() }, o.incrementalUpdate = function (t, e) { function n (t) { t.isGroup || (t.incremental = t.useHoverLayer = !0) } for (var i = t.start; i < t.end; i++) { var a = e.getItemLayout(i); if (h(a)) { var r = new this._ctor(e, i, this._seriesScope); r.traverse(n), this.group.add(r), e.setItemGraphicEl(i, r) } } }, o.remove = function () { this._clearIncremental(), this._incremental = null, this.group.removeAll() }, o._clearIncremental = function () { var t = this._incremental; t && t.clearDisplaybles() }; var d = r; t.exports = d }, 7419: function (t, e, n) { var i = n('3eba'), a = n('b336'); n('bc5f'), n('ab05'), n('307a'), n('3cd6'), n('d6ef'), i.registerPreprocessor(a) }, '74cb': function (t, e) { var n = {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 ? 0.5 * t * t : -0.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 ? 0.5 * t * t * t : 0.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 ? 0.5 * t * t * t * t : -0.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 ? 0.5 * t * t * t * t * t : 0.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 0.5 * (1 - Math.cos(Math.PI * t)) }, exponentialIn: function (t) { return t === 0 ? 0 : Math.pow(1024, t - 1) }, exponentialOut: function (t) { return t === 1 ? 1 : 1 - Math.pow(2, -10 * t) }, exponentialInOut: function (t) { return t === 0 ? 0 : t === 1 ? 1 : (t *= 2) < 1 ? 0.5 * Math.pow(1024, t - 1) : 0.5 * (2 - Math.pow(2, -10 * (t - 1))) }, circularIn: function (t) { return 1 - Math.sqrt(1 - t * t) }, circularOut: function (t) { return Math.sqrt(1 - --t * t) }, circularInOut: function (t) { return (t *= 2) < 1 ? -0.5 * (Math.sqrt(1 - t * t) - 1) : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1) }, elasticIn: function (t) { var e, n = 0.1, i = 0.4; return t === 0 ? 0 : t === 1 ? 1 : (!n || n < 1 ? (n = 1, e = i / 4) : e = i * Math.asin(1 / n) / (2 * Math.PI), -n * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - e) * (2 * Math.PI) / i)) }, elasticOut: function (t) { var e, n = 0.1, i = 0.4; return t === 0 ? 0 : t === 1 ? 1 : (!n || n < 1 ? (n = 1, e = i / 4) : e = i * Math.asin(1 / n) / (2 * Math.PI), n * Math.pow(2, -10 * t) * Math.sin((t - e) * (2 * Math.PI) / i) + 1) }, elasticInOut: function (t) { var e, n = 0.1, i = 0.4; return t === 0 ? 0 : t === 1 ? 1 : (!n || n < 1 ? (n = 1, e = i / 4) : e = i * Math.asin(1 / n) / (2 * Math.PI), (t *= 2) < 1 ? n * Math.pow(2, 10 * (t -= 1)) * Math.sin((t - e) * (2 * Math.PI) / i) * -0.5 : n * Math.pow(2, -10 * (t -= 1)) * Math.sin((t - e) * (2 * Math.PI) / i) * 0.5 + 1) }, backIn: function (t) { var e = 1.70158; return t * t * ((e + 1) * t - e) }, backOut: function (t) { var e = 1.70158; return --t * t * ((e + 1) * t + e) + 1 }, backInOut: function (t) { var e = 2.5949095; return (t *= 2) < 1 ? t * t * ((e + 1) * t - e) * 0.5 : 0.5 * ((t -= 2) * t * ((e + 1) * t + e) + 2) }, bounceIn: function (t) { return 1 - n.bounceOut(1 - t) }, bounceOut: function (t) { return t < 1 / 2.75 ? 7.5625 * t * t : t < 2 / 2.75 ? 7.5625 * (t -= 1.5 / 2.75) * t + 0.75 : t < 2.5 / 2.75 ? 7.5625 * (t -= 2.25 / 2.75) * t + 0.9375 : 7.5625 * (t -= 2.625 / 2.75) * t + 0.984375 }, bounceInOut: function (t) { return t < 0.5 ? 0.5 * n.bounceIn(2 * t) : 0.5 * n.bounceOut(2 * t - 1) + 0.5 }}, i = n; t.exports = i }, 7661: function (t, e, n) { var i = n('0c41'), a = n('3eba'), r = a.extendComponentView({type: 'geo', init: function (t, e) { var n = new i(e, !0); this._mapDraw = n, this.group.add(n.group) }, render: function (t, e, n, i) { if (!i || i.type !== 'geoToggleSelect' || i.from !== this.uid) { var a = this._mapDraw; t.get('show') ? a.draw(t, e, n, this, i) : this._mapDraw.group.removeAll(), this.group.silent = t.get('silent') } }, dispose: function () { this._mapDraw && this._mapDraw.remove() }}); t.exports = r }, '767c': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('607d'), o = n('29a8'), s = n('2145'), l = o.toolbox.dataView, u = new Array(60).join('-'), c = '\t'; function h (t) { var e = {}, n = [], i = []; return t.eachRawSeries(function (t) { var a = t.coordinateSystem; if (!a || a.type !== 'cartesian2d' && a.type !== 'polar')n.push(t); else { var r = a.getBaseAxis(); if (r.type === 'category') { var o = r.dim + '_' + r.index; e[o] || (e[o] = {categoryAxis: r, valueAxis: a.getOtherAxis(r), series: []}, i.push({axisDim: r.dim, axisIndex: r.index})), e[o].series.push(t) } else n.push(t) } }), {seriesGroupByCategoryAxis: e, other: n, meta: i} } function d (t) { var e = []; return a.each(t, function (t, n) { var i = t.categoryAxis, r = t.valueAxis, o = r.dim, s = [' '].concat(a.map(t.series, function (t) { return t.name })), l = [i.model.getCategories()]; a.each(t.series, function (t) { l.push(t.getRawData().mapArray(o, function (t) { return t })) }); for (var u = [s.join(c)], h = 0; h < l[0].length; h++) { for (var d = [], f = 0; f < l.length; f++)d.push(l[f][h]); u.push(d.join(c)) }e.push(u.join('\n')) }), e.join('\n\n' + u + '\n\n') } function f (t) { return a.map(t, function (t) { var e = t.getRawData(), n = [t.name], i = []; return e.each(e.dimensions, function () { for (var t = arguments.length, a = arguments[t - 1], r = e.getName(a), o = 0; o < t - 1; o++)i[o] = arguments[o]; n.push((r ? r + c : '') + i.join(c)) }), n.join('\n') }).join('\n\n' + u + '\n\n') } function p (t) { var e = h(t); return {value: a.filter([d(e.seriesGroupByCategoryAxis), f(e.other)], function (t) { return t.replace(/[\n\t\s]/g, '') }).join('\n\n' + u + '\n\n'), meta: e.meta} } function g (t) { return t.replace(/^\s\s*/, '').replace(/\s\s*$/, '') } function m (t) { var e = t.slice(0, t.indexOf('\n')); if (e.indexOf(c) >= 0) return !0 } var v = new RegExp('[' + c + ']+', 'g'); function y (t) { for (var e = t.split(/\n+/g), n = g(e.shift()).split(v), i = [], r = a.map(n, function (t) { return {name: t, data: []} }), o = 0; o < e.length; o++) { var s = g(e[o]).split(v); i.push(s.shift()); for (var l = 0; l < s.length; l++)r[l] && (r[l].data[o] = s[l]) } return {series: r, categories: i} } function x (t) { for (var e = t.split(/\n+/g), n = g(e.shift()), i = [], a = 0; a < e.length; a++) { var r, o = g(e[a]).split(v), s = '', l = !1; isNaN(o[0]) ? (l = !0, s = o[0], o = o.slice(1), i[a] = {name: s, value: []}, r = i[a].value) : r = i[a] = []; for (var u = 0; u < o.length; u++)r.push(+o[u]); r.length === 1 && (l ? i[a].value = r[0] : i[a] = r[0]) } return {name: n, data: i} } function _ (t, e) { var n = t.split(new RegExp('\n*' + u + '\n*', 'g')), i = {series: []}; return a.each(n, function (t, n) { if (m(t)) { var a = y(t), r = e[n], o = r.axisDim + 'Axis'; r && (i[o] = i[o] || [], i[o][r.axisIndex] = {data: a.categories}, i.series = i.series.concat(a.series)) } else { a = x(t); i.series.push(a) } }), i } function b (t) { this._dom = null, this.model = t } function w (t, e) { return a.map(t, function (t, n) { var i = e && e[n]; return a.isObject(i) && !a.isArray(i) ? (a.isObject(t) && !a.isArray(t) && (t = t.value), a.defaults({value: t}, i)) : t }) }b.defaultOption = {show: !0, readOnly: !1, optionToContent: null, contentToOption: null, icon: 'M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28', title: a.clone(l.title), lang: a.clone(l.lang), backgroundColor: '#fff', textColor: '#000', textareaColor: '#fff', textareaBorderColor: '#333', buttonColor: '#c23531', buttonTextColor: '#fff'}, b.prototype.onclick = function (t, e) { var n = e.getDom(), i = this.model; this._dom && n.removeChild(this._dom); var o = document.createElement('div'); o.style.cssText = 'position:absolute;left:5px;top:5px;bottom:5px;right:5px;', o.style.backgroundColor = i.get('backgroundColor') || '#fff'; var s = document.createElement('h4'), l = i.get('lang') || []; s.innerHTML = l[0] || i.get('title'), s.style.cssText = 'margin: 10px 20px;', s.style.color = i.get('textColor'); var u = document.createElement('div'), h = document.createElement('textarea'); u.style.cssText = 'display:block;width:100%;overflow:auto;'; var d = i.get('optionToContent'), f = i.get('contentToOption'), g = p(t); if (typeof d === 'function') { var m = d(e.getOption()); typeof m === 'string' ? u.innerHTML = m : a.isDom(m) && u.appendChild(m) } else u.appendChild(h), h.readOnly = i.get('readOnly'), h.style.cssText = 'width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;', h.style.color = i.get('textColor'), h.style.borderColor = i.get('textareaBorderColor'), h.style.backgroundColor = i.get('textareaColor'), h.value = g.value; var v = g.meta, y = document.createElement('div'); y.style.cssText = 'position:absolute;bottom:0;left:0;right:0;'; var x = 'float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px', b = document.createElement('div'), w = document.createElement('div'); x += ';background-color:' + i.get('buttonColor'), x += ';color:' + i.get('buttonTextColor'); var S = this; function M () { n.removeChild(o), S._dom = null }r.addEventListener(b, 'click', M), r.addEventListener(w, 'click', function () { var t; try { t = typeof f === 'function' ? f(u, e.getOption()) : _(h.value, v) } catch (t) { throw M(), new Error('Data view format error ' + t) }t && e.dispatchAction({type: 'changeDataView', newOption: t}), M() }), b.innerHTML = l[1], w.innerHTML = l[2], w.style.cssText = x, b.style.cssText = x, !i.get('readOnly') && y.appendChild(w), y.appendChild(b), r.addEventListener(h, 'keydown', function (t) { if ((t.keyCode || t.which) === 9) { var e = this.value, n = this.selectionStart, i = this.selectionEnd; this.value = e.substring(0, n) + c + e.substring(i), this.selectionStart = this.selectionEnd = n + 1, r.stop(t) } }), o.appendChild(s), o.appendChild(u), o.appendChild(y), u.style.height = n.clientHeight - 80 + 'px', n.appendChild(o), this._dom = o }, b.prototype.remove = function (t, e) { this._dom && e.getDom().removeChild(this._dom) }, b.prototype.dispose = function (t, e) { this.remove(t, e) }, s.register('dataView', b), i.registerAction({type: 'changeDataView', event: 'dataViewChanged', update: 'prepareAndUpdate'}, function (t, e) { var n = []; a.each(t.newOption.series, function (t) { var i = e.getSeriesByName(t.name)[0]; if (i) { var r = i.get('data'); n.push({name: t.name, data: w(t.data, r)}) } else n.push(a.extend({type: 'scatter'}, t)) }), e.mergeOption(a.defaults({series: n}, t.newOption)) }); var S = b; t.exports = S }, '76a5': function (t, e, n) { var i = n('19eb'), a = n('6d8b'), r = n('e86a'), o = n('a73c'), s = function (t) { i.call(this, t) }; s.prototype = {constructor: s, type: 'text', brush: function (t, e) { var n = this.style; this.__dirty && o.normalizeTextStyle(n, !0), n.fill = n.stroke = n.shadowBlur = n.shadowColor = n.shadowOffsetX = n.shadowOffsetY = null; var i = n.text; i != null && (i += ''), n.bind(t, this, e), o.needDrawText(i, n) && (this.setTransform(t), o.renderText(this, t, i, n), this.restoreTransform(t)) }, getBoundingRect: function () { var t = this.style; if (this.__dirty && o.normalizeTextStyle(t, !0), !this._rect) { var e = t.text; e != null ? e += '' : e = ''; var n = r.getBoundingRect(t.text + '', t.font, t.textAlign, t.textVerticalAlign, t.textPadding, t.rich); if (n.x += t.x || 0, n.y += t.y || 0, o.getStroke(t.textStroke, t.textStrokeWidth)) { var i = t.textStrokeWidth; n.x -= i / 2, n.y -= i / 2, n.width += i, n.height += i } this._rect = n } return this._rect }}, a.inherits(s, i); var l = s; t.exports = l }, 7782: function (t, e, n) { var i = n('3eba'), a = n('6d8b'); function r (t, e) { a.each(e, function (e) { e.update = 'updateView', i.registerAction(e, function (n, i) { var a = {}; return i.eachComponent({mainType: 'series', subType: t, query: n}, function (t) { t[e.method] && t[e.method](n.name, n.dataIndex); var i = t.getData(); i.each(function (e) { var n = i.getName(e); a[n] = t.isSelected(n) || !1 }) }), {name: n.name, selected: a} }) }) }t.exports = r }, 7887: function (t, e, n) { var i = n('6d8b'), a = n('84ce'); function r (t, e, n) { a.call(this, t, e, n), this.type = 'value', this.angle = 0, this.name = '', this.model }i.inherits(r, a); var o = r; t.exports = o }, 7891: function (t, e, n) { var i = n('6d8b'); function a (t) { var e = t.polar; if (e) { i.isArray(e) || (e = [e]); var n = []; i.each(e, function (e, a) { e.indicator ? (e.type && !e.shape && (e.shape = e.type), t.radar = t.radar || [], i.isArray(t.radar) || (t.radar = [t.radar]), t.radar.push(e)) : n.push(e) }), t.polar = n }i.each(t.series, function (t) { t && t.type === 'radar' && t.polarIndex && (t.radarIndex = t.polarIndex) }) }t.exports = a }, '78f0': function (t, e, n) { var i = n('3eba'); n('d9f1'); var a = i.extendComponentModel({type: 'polar', dependencies: ['polarAxis', 'angleAxis'], coordinateSystem: null, findAxisModel: function (t) { var e, n = this.ecModel; return n.eachComponent(t, function (t) { t.getCoordSysModel() === this && (e = t) }, this), e }, defaultOption: {zlevel: 0, z: 0, center: ['50%', '50%'], radius: '80%'}}); t.exports = a }, 7919: function (t, e, n) { var i = n('f934'), a = i.getLayoutRect, r = i.box, o = i.positionElement, s = n('eda2'), l = n('2306'); function u (t, e, n) { var i = e.getBoxLayoutParams(), s = e.get('padding'), l = {width: n.getWidth(), height: n.getHeight()}, u = a(i, l, s); r(e.get('orient'), t, e.get('itemGap'), u.width, u.height), o(t, i, l, s) } function c (t, e) { var n = s.normalizeCssArray(e.get('padding')), i = e.getItemStyle(['color', 'opacity']); i.fill = e.get('backgroundColor'); t = new l.Rect({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}); return t }e.layout = u, e.makeBackground = c }, '792e': function (t, e, n) { n('1ccf'), n('14d3') }, '79bd': function (t, e, n) {}, '7b0c': function (t, e, n) { var i = n('6cc5'), a = n('f934'), r = a.getLayoutRect, o = n('e263'); function s (t, e, n) { var i = t.getBoxLayoutParams(); return i.aspect = n, r(i, {width: e.getWidth(), height: e.getHeight()}) } function l (t, e) { var n = []; return t.eachSeriesByType('graph', function (t) { var a = t.get('coordinateSystem'); if (!a || a === 'view') { var r = t.getData(), l = r.mapArray(function (t) { var e = r.getItemModel(t); return [+e.get('x'), +e.get('y')] }), u = [], c = []; o.fromPoints(l, u, c), c[0] - u[0] === 0 && (c[0] += 1, u[0] -= 1), c[1] - u[1] === 0 && (c[1] += 1, u[1] -= 1); var h = (c[0] - u[0]) / (c[1] - u[1]), d = s(t, e, h); isNaN(h) && (u = [d.x, d.y], c = [d.x + d.width, d.y + d.height]); var f = c[0] - u[0], p = c[1] - u[1], g = d.width, m = d.height, v = t.coordinateSystem = new i(); v.zoomLimit = t.get('scaleLimit'), v.setBoundingRect(u[0], u[1], f, p), v.setViewRect(d.x, d.y, g, m), v.setCenter(t.get('center')), v.setZoom(t.get('zoom')), n.push(v) } }), n }t.exports = l }, '7c4d': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('fc82'), o = n('bd9e'), s = n('6fda'), l = n('ef6a'), u = n('29a8'), c = n('2145'); n('dd39'); var h = u.toolbox.dataZoom, d = a.each, f = '\0_ec_\0toolbox-dataZoom_'; function p (t, e, n) { (this._brushController = new r(n.getZr())).on('brush', a.bind(this._onBrush, this)).mount(), this._isZoomActive }p.defaultOption = {show: !0, icon: {zoom: 'M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1', back: 'M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26'}, title: a.clone(h.title)}; var g = p.prototype; g.render = function (t, e, n, i) { this.model = t, this.ecModel = e, this.api = n, x(t, e, this, i, n), y(t, e) }, g.onclick = function (t, e, n) { m[n].call(this) }, g.remove = function (t, e) { this._brushController.unmount() }, g.dispose = function (t, e) { this._brushController.dispose() }; var m = {zoom: function () { var t = !this._isZoomActive; this.api.dispatchAction({type: 'takeGlobalCursor', key: 'dataZoomSelect', dataZoomSelectActive: t}) }, back: function () { this._dispatchZoomAction(s.pop(this.ecModel)) }}; function v (t) { var e = {}; return a.each(['xAxisIndex', 'yAxisIndex'], function (n) { e[n] = t[n], e[n] == null && (e[n] = 'all'), (!1 === e[n] || e[n] === 'none') && (e[n] = []) }), e } function y (t, e) { t.setIconStatus('back', s.count(e) > 1 ? 'emphasis' : 'normal') } function x (t, e, n, i, a) { var r = n._isZoomActive; i && i.type === 'takeGlobalCursor' && (r = i.key === 'dataZoomSelect' && i.dataZoomSelectActive), n._isZoomActive = r, t.setIconStatus('zoom', r ? 'emphasis' : 'normal'); var s = new o(v(t.option), e, {include: ['grid']}); n._brushController.setPanels(s.makePanelOpts(a, function (t) { return t.xAxisDeclared && !t.yAxisDeclared ? 'lineX' : !t.xAxisDeclared && t.yAxisDeclared ? 'lineY' : 'rect' })).enableBrush(!!r && {brushType: 'auto', brushStyle: {lineWidth: 0, fill: 'rgba(0,0,0,0.2)'}}) }g._onBrush = function (t, e) { if (e.isEnd && t.length) { var n = {}, i = this.ecModel; this._brushController.updateCovers([]); var a = new o(v(this.model.option), i, {include: ['grid']}); a.matchOutputRanges(t, i, function (t, e, n) { if (n.type === 'cartesian2d') { var i = t.brushType; i === 'rect' ? (r('x', n, e[0]), r('y', n, e[1])) : r({lineX: 'x', lineY: 'y'}[i], n, e) } }), s.push(i, n), this._dispatchZoomAction(n) } function r (t, e, a) { var r = e.getAxis(t), o = r.model, s = u(t, o, i), c = s.findRepresentativeAxisProxy(o).getMinMaxSpan(); c.minValueSpan == null && c.maxValueSpan == null || (a = l(0, a.slice(), r.scale.getExtent(), 0, c.minValueSpan, c.maxValueSpan)), s && (n[s.id] = {dataZoomId: s.id, startValue: a[0], endValue: a[1]}) } function u (t, e, n) { var i; return n.eachComponent({mainType: 'dataZoom', subType: 'select'}, function (n) { var a = n.getAxisModel(t, e.componentIndex); a && (i = n) }), i } }, g._dispatchZoomAction = function (t) { var e = []; d(t, function (t, n) { e.push(a.clone(t)) }), e.length && this.api.dispatchAction({type: 'dataZoom', from: this.uid, batch: e}) }, c.register('dataZoom', p), i.registerPreprocessor(function (t) { if (t) { var e = t.dataZoom || (t.dataZoom = []); a.isArray(e) || (t.dataZoom = e = [e]); var n = t.toolbox; if (n && (a.isArray(n) && (n = n[0]), n && n.feature)) { var i = n.feature.dataZoom; r('xAxis', i), r('yAxis', i) } } function r (t, n) { if (n) { var i = t + 'Index', r = n[i]; r == null || r == 'all' || a.isArray(r) || (r = !1 === r || r === 'none' ? [] : [r]), o(t, function (n, o) { if (r == null || r == 'all' || a.indexOf(r, o) !== -1) { var s = {type: 'select', $fromToolbox: !0, id: f + t + o}; s[i] = o, e.push(s) } }) } } function o (e, n) { var i = t[e]; a.isArray(i) || (i = i ? [i] : []), d(i, n) } }); var _ = p; t.exports = _ }, '7d6d': function (t, e) { var n = {shadowBlur: 1, shadowOffsetX: 1, shadowOffsetY: 1, textShadowBlur: 1, textShadowOffsetX: 1, textShadowOffsetY: 1, textBoxShadowBlur: 1, textBoxShadowOffsetX: 1, textBoxShadowOffsetY: 1}; function i (t, e, i) { return n.hasOwnProperty(e) ? i * t.dpr : i }t.exports = i }, '7dcf': function (t, e, n) { var i = n('b12f'), a = i.extend({type: 'dataZoom', render: function (t, e, n, i) { this.dataZoomModel = t, this.ecModel = e, this.api = n }, getTargetCoordInfo: function () { var t = this.dataZoomModel, e = this.ecModel, n = {}; function i (t, e, n, i) { for (var a, r = 0; r < n.length; r++) if (n[r].model === t) { a = n[r]; break }a || n.push(a = {model: t, axisModels: [], coordIndex: i}), a.axisModels.push(e) } return t.eachTargetAxis(function (t, a) { var r = e.getComponent(t.axis, a); if (r) { var o = r.getCoordSysModel(); o && i(o, r, n[o.mainType] || (n[o.mainType] = []), o.componentIndex) } }, this), n }}); t.exports = a }, '7e32': function (t, e, n) { var i = n('3eba'); n('43b8'), n('8e77'), i.registerPreprocessor(function (t) { t.markArea = t.markArea || {} }) }, '7e5b': function (t, e, n) { var i = n('6d8b'), a = n('401b'), r = n('a15a'), o = n('7f91'), s = n('2306'), l = n('3842'), u = l.round, c = ['fromSymbol', 'toSymbol']; function h (t) { return '_' + t + 'Type' } function d (t, e, n) { var a = e.getItemVisual(n, 'color'), o = e.getItemVisual(n, t), s = e.getItemVisual(n, t + 'Size'); if (o && o !== 'none') { i.isArray(s) || (s = [s, s]); var l = r.createSymbol(o, -s[0] / 2, -s[1] / 2, s[0], s[1], a); return l.name = t, l } } function f (t) { var e = new o({name: 'line'}); return p(e.shape, t), e } function p (t, e) { var n = e[0], i = e[1], a = e[2]; t.x1 = n[0], t.y1 = n[1], t.x2 = i[0], t.y2 = i[1], t.percent = 1, a ? (t.cpx1 = a[0], t.cpy1 = a[1]) : (t.cpx1 = NaN, t.cpy1 = NaN) } function g () { var t = this, e = t.childOfName('fromSymbol'), n = t.childOfName('toSymbol'), i = t.childOfName('label'); if (e || n || !i.ignore) { var r = 1, o = this.parent; while (o)o.scale && (r /= o.scale[0]), o = o.parent; var s = t.childOfName('line'); if (this.__dirty || s.__dirty) { var l = s.shape.percent, u = s.pointAt(0), c = s.pointAt(l), h = a.sub([], c, u); if (a.normalize(h, h), e) { e.attr('position', u); var d = s.tangentAt(0); e.attr('rotation', Math.PI / 2 - Math.atan2(d[1], d[0])), e.attr('scale', [r * l, r * l]) } if (n) { n.attr('position', c); d = s.tangentAt(1); n.attr('rotation', -Math.PI / 2 - Math.atan2(d[1], d[0])), n.attr('scale', [r * l, r * l]) } if (!i.ignore) { var f, p, g; i.attr('position', c); var m = 5 * r; if (i.__position === 'end')f = [h[0] * m + c[0], h[1] * m + c[1]], p = h[0] > 0.8 ? 'left' : h[0] < -0.8 ? 'right' : 'center', g = h[1] > 0.8 ? 'top' : h[1] < -0.8 ? 'bottom' : 'middle'; else if (i.__position === 'middle') { var v = l / 2, y = (d = s.tangentAt(v), [d[1], -d[0]]), x = s.pointAt(v); y[1] > 0 && (y[0] = -y[0], y[1] = -y[1]), f = [x[0] + y[0] * m, x[1] + y[1] * m], p = 'center', g = 'bottom'; var _ = -Math.atan2(d[1], d[0]); c[0] < u[0] && (_ = Math.PI + _), i.attr('rotation', _) } else f = [-h[0] * m + u[0], -h[1] * m + u[1]], p = h[0] > 0.8 ? 'right' : h[0] < -0.8 ? 'left' : 'center', g = h[1] > 0.8 ? 'bottom' : h[1] < -0.8 ? 'top' : 'middle'; i.attr({style: {textVerticalAlign: i.__verticalAlign || g, textAlign: i.__textAlign || p}, position: f, scale: [r, r]}) } } } } function m (t, e, n) { s.Group.call(this), this._createLine(t, e, n) } var v = m.prototype; v.beforeUpdate = g, v._createLine = function (t, e, n) { var a = t.hostModel, r = t.getItemLayout(e), o = f(r); o.shape.percent = 0, s.initProps(o, {shape: {percent: 1}}, a, e), this.add(o); var l = new s.Text({name: 'label'}); this.add(l), i.each(c, function (n) { var i = d(n, t, e); this.add(i), this[h(n)] = t.getItemVisual(e, n) }, this), this._updateCommonStl(t, e, n) }, v.updateData = function (t, e, n) { var a = t.hostModel, r = this.childOfName('line'), o = t.getItemLayout(e), l = {shape: {}}; p(l.shape, o), s.updateProps(r, l, a, e), i.each(c, function (n) { var i = t.getItemVisual(e, n), a = h(n); if (this[a] !== i) { this.remove(this.childOfName(n)); var r = d(n, t, e); this.add(r) } this[a] = i }, this), this._updateCommonStl(t, e, n) }, v._updateCommonStl = function (t, e, n) { var a = t.hostModel, r = this.childOfName('line'), o = n && n.lineStyle, l = n && n.hoverLineStyle, h = n && n.labelModel, d = n && n.hoverLabelModel; if (!n || t.hasItemOption) { var f = t.getItemModel(e); o = f.getModel('lineStyle').getLineStyle(), l = f.getModel('emphasis.lineStyle').getLineStyle(), h = f.getModel('label'), d = f.getModel('emphasis.label') } var p = t.getItemVisual(e, 'color'), g = i.retrieve3(t.getItemVisual(e, 'opacity'), o.opacity, 1); r.useStyle(i.defaults({strokeNoScale: !0, fill: 'none', stroke: p, opacity: g}, o)), r.hoverStyle = l, i.each(c, function (t) { var e = this.childOfName(t); e && (e.setColor(p), e.setStyle({opacity: g})) }, this); var m, v, y = h.getShallow('show'), x = d.getShallow('show'), _ = this.childOfName('label'); if ((y || x) && (m = p || '#000', v = a.getFormattedLabel(e, 'normal', t.dataType), v == null)) { var b = a.getRawValue(e); v = b == null ? t.getName(e) : isFinite(b) ? u(b) : b } var w = y ? v : null, S = x ? i.retrieve2(a.getFormattedLabel(e, 'emphasis', t.dataType), v) : null, M = _.style; w == null && S == null || (s.setTextStyle(_.style, h, {text: w}, {autoColor: m}), _.__textAlign = M.textAlign, _.__verticalAlign = M.textVerticalAlign, _.__position = h.get('position') || 'middle'), _.hoverStyle = S != null ? {text: S, textFill: d.getTextColor(!0), fontStyle: d.getShallow('fontStyle'), fontWeight: d.getShallow('fontWeight'), fontSize: d.getShallow('fontSize'), fontFamily: d.getShallow('fontFamily')} : {text: null}, _.ignore = !y && !x, s.setHoverStyle(this) }, v.highlight = function () { this.trigger('emphasis') }, v.downplay = function () { this.trigger('normal') }, v.updateLayout = function (t, e) { this.setLinePoints(t.getItemLayout(e)) }, v.setLinePoints = function (t) { var e = this.childOfName('line'); p(e.shape, t), e.dirty() }, i.inherits(m, s.Group); var y = m; t.exports = y }, '7e63': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = a.each, o = a.filter, s = a.map, l = a.isArray, u = a.indexOf, c = a.isObject, h = a.isString, d = a.createHashMap, f = a.assert, p = a.clone, g = a.merge, m = a.extend, v = a.mixin, y = n('e0d3'), x = n('4319'), _ = n('6cb7'), b = n('8971'), w = n('e47b'), S = n('0f99'), M = S.resetSourceDefaulter, I = '\0_ec_inner', A = x.extend({init: function (t, e, n, i) { n = n || {}, this.option = null, this._theme = new x(n), this._optionManager = i }, setOption: function (t, e) { f(!(I in t), 'please use chart.getOption()'), this._optionManager.setOption(t, e), this.resetOption(null) }, resetOption: function (t) { var e = !1, n = this._optionManager; if (!t || t === 'recreate') { var i = n.mountOption(t === 'recreate'); this.option && t !== 'recreate' ? (this.restoreData(), this.mergeOption(i)) : D.call(this, i), e = !0 } if (t !== 'timeline' && t !== 'media' || this.restoreData(), !t || t === 'recreate' || t === 'timeline') { var a = n.getTimelineOption(this); a && (this.mergeOption(a), e = !0) } if (!t || t === 'recreate' || t === 'media') { var o = n.getMediaOption(this, this._api); o.length && r(o, function (t) { this.mergeOption(t, e = !0) }, this) } return e }, mergeOption: function (t) { var e = this.option, n = this._componentsMap, i = []; function a (i, a) { var o = y.normalizeToArray(t[i]), s = y.mappingToExists(n.get(i), o); y.makeIdAndName(s), r(s, function (t, e) { var n = t.option; c(n) && (t.keyInfo.mainType = i, t.keyInfo.subType = P(i, n, t.exist)) }); var l = L(n, a); e[i] = [], n.set(i, []), r(s, function (t, a) { var r = t.exist, o = t.option; if (f(c(o) || r, 'Empty component definition'), o) { var s = _.getClass(i, t.keyInfo.subType, !0); if (r && r instanceof s)r.name = t.keyInfo.name, r.mergeOption(o, this), r.optionUpdated(o, !1); else { var u = m({dependentModels: l, componentIndex: a}, t.keyInfo); r = new s(o, this, this, u), m(r, u), r.init(o, this, this, u), r.optionUpdated(null, !0) } } else r.mergeOption({}, this), r.optionUpdated({}, !1); n.get(i)[a] = r, e[i][a] = r.option }, this), i === 'series' && k(this, n.get('series')) }M(this), r(t, function (t, n) { t != null && (_.hasClass(n) ? n && i.push(n) : e[n] = e[n] == null ? p(t) : g(e[n], t, !0)) }), _.topologicalTravel(i, _.getAllClassMainTypes(), a, this), this._seriesIndicesMap = d(this._seriesIndices = this._seriesIndices || []) }, getOption: function () { var t = p(this.option); return r(t, function (e, n) { if (_.hasClass(n)) { e = y.normalizeToArray(e); for (var i = e.length - 1; i >= 0; i--)y.isIdInner(e[i]) && e.splice(i, 1); t[n] = e } }), delete t[I], t }, getTheme: function () { return this._theme }, getComponent: function (t, e) { var n = this._componentsMap.get(t); if (n) return n[e || 0] }, queryComponents: function (t) { var e = t.mainType; if (!e) return []; var n, i = t.index, a = t.id, r = t.name, c = this._componentsMap.get(e); if (!c || !c.length) return []; if (i != null)l(i) || (i = [i]), n = o(s(i, function (t) { return c[t] }), function (t) { return !!t }); else if (a != null) { var h = l(a); n = o(c, function (t) { return h && u(a, t.id) >= 0 || !h && t.id === a }) } else if (r != null) { var d = l(r); n = o(c, function (t) { return d && u(r, t.name) >= 0 || !d && t.name === r }) } else n = c.slice(); return O(n, t) }, findComponents: function (t) { var e = t.query, n = t.mainType, i = r(e), a = i ? this.queryComponents(i) : this._componentsMap.get(n); return s(O(a, t)); function r (t) { var e = n + 'Index', i = n + 'Id', a = n + 'Name'; return !t || t[e] == null && t[i] == null && t[a] == null ? null : {mainType: n, index: t[e], id: t[i], name: t[a]} } function s (e) { return t.filter ? o(e, t.filter) : e } }, eachComponent: function (t, e, n) { var i = this._componentsMap; if (typeof t === 'function')n = e, e = t, i.each(function (t, i) { r(t, function (t, a) { e.call(n, i, t, a) }) }); else if (h(t))r(i.get(t), e, n); else if (c(t)) { var a = this.findComponents(t); r(a, e, n) } }, getSeriesByName: function (t) { var e = this._componentsMap.get('series'); return o(e, function (e) { return e.name === t }) }, getSeriesByIndex: function (t) { return this._componentsMap.get('series')[t] }, getSeriesByType: function (t) { var e = this._componentsMap.get('series'); return o(e, function (e) { return e.subType === t }) }, getSeries: function () { return this._componentsMap.get('series').slice() }, getSeriesCount: function () { return this._componentsMap.get('series').length }, eachSeries: function (t, e) { R(this), r(this._seriesIndices, function (n) { var i = this._componentsMap.get('series')[n]; t.call(e, i, n) }, this) }, eachRawSeries: function (t, e) { r(this._componentsMap.get('series'), t, e) }, eachSeriesByType: function (t, e, n) { R(this), r(this._seriesIndices, function (i) { var a = this._componentsMap.get('series')[i]; a.subType === t && e.call(n, a, i) }, this) }, eachRawSeriesByType: function (t, e, n) { return r(this.getSeriesByType(t), e, n) }, isSeriesFiltered: function (t) { return R(this), this._seriesIndicesMap.get(t.componentIndex) == null }, getCurrentSeriesIndices: function () { return (this._seriesIndices || []).slice() }, filterSeries: function (t, e) { R(this); var n = o(this._componentsMap.get('series'), t, e); k(this, n) }, restoreData: function (t) { var e = this._componentsMap; k(this, e.get('series')); var n = []; e.each(function (t, e) { n.push(e) }), _.topologicalTravel(n, _.getAllClassMainTypes(), function (n, i) { r(e.get(n), function (e) { (n !== 'series' || !T(e, t)) && e.restoreData() }) }) }}); function T (t, e) { if (e) { var n = e.seiresIndex, i = e.seriesId, a = e.seriesName; return n != null && t.componentIndex !== n || i != null && t.id !== i || a != null && t.name !== a } } function C (t, e) { var n = t.color && !t.colorLayer; r(e, function (e, i) { i === 'colorLayer' && n || _.hasClass(i) || (typeof e === 'object' ? t[i] = t[i] ? g(t[i], e, !1) : p(e) : t[i] == null && (t[i] = e)) }) } function D (t) { t = t, this.option = {}, this.option[I] = 1, this._componentsMap = d({series: []}), this._seriesIndices, this._seriesIndicesMap, C(t, this._theme.option), g(t, b, !1), this.mergeOption(t) } function L (t, e) { l(e) || (e = e ? [e] : []); var n = {}; return r(e, function (e) { n[e] = (t.get(e) || []).slice() }), n } function P (t, e, n) { var i = e.type ? e.type : n ? n.subType : _.determineSubType(t, e); return i } function k (t, e) { t._seriesIndicesMap = d(t._seriesIndices = s(e, function (t) { return t.componentIndex }) || []) } function O (t, e) { return e.hasOwnProperty('subType') ? o(t, function (t) { return t.subType === e.subType }) : t } function R (t) {}v(A, w); var E = A; t.exports = E }, '7f59': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('3eba')), r = n('6d8b'), o = n('e0d3'), s = n('2306'), l = n('f934'); a.registerPreprocessor(function (t) { var e = t.graphic; r.isArray(e) ? e[0] && e[0].elements ? t.graphic = [t.graphic[0]] : t.graphic = [{elements: e}] : e && !e.elements && (t.graphic = [{elements: [e]}]) }); var u = a.extendComponentModel({type: 'graphic', defaultOption: {elements: [], parentId: null}, _elOptionsToUpdate: null, mergeOption: function (t) { var e = this.option.elements; this.option.elements = null, u.superApply(this, 'mergeOption', arguments), this.option.elements = e }, optionUpdated: function (t, e) { var n = this.option, i = (e ? n : t).elements, a = n.elements = e ? [] : n.elements, s = []; this._flatten(i, s); var l = o.mappingToExists(a, s); o.makeIdAndName(l); var u = this._elOptionsToUpdate = []; r.each(l, function (t, e) { var n = t.option; n && (u.push(n), p(t, n), g(a, e, n), m(a[e], n)) }, this); for (var c = a.length - 1; c >= 0; c--)a[c] == null ? a.splice(c, 1) : delete a[c].$action }, _flatten: function (t, e, n) { r.each(t, function (t) { if (t) { n && (t.parentOption = n), e.push(t); var i = t.children; t.type === 'group' && i && this._flatten(i, e, t), delete t.children } }, this) }, useElOptionsToUpdate: function () { var t = this._elOptionsToUpdate; return this._elOptionsToUpdate = null, t }}); function c (t, e, n, i) { var a = n.type, r = s[a.charAt(0).toUpperCase() + a.slice(1)], o = new r(n); e.add(o), i.set(t, o), o.__ecGraphicId = t } function h (t, e) { var n = t && t.parent; n && (t.type === 'group' && t.traverse(function (t) { h(t, e) }), e.removeKey(t.__ecGraphicId), n.remove(t)) } function d (t) { return t = r.extend({}, t), r.each(['id', 'parentId', '$action', 'hv', 'bounding'].concat(l.LOCATION_PARAMS), function (e) { delete t[e] }), t } function f (t, e) { var n; return r.each(e, function (e) { t[e] != null && t[e] !== 'auto' && (n = !0) }), n } function p (t, e) { var n = t.exist; if (e.id = t.keyInfo.id, !e.type && n && (e.type = n.type), e.parentId == null) { var i = e.parentOption; i ? e.parentId = i.id : n && (e.parentId = n.parentId) }e.parentOption = null } function g (t, e, n) { var i = r.extend({}, n), a = t[e], o = n.$action || 'merge'; o === 'merge' ? a ? (r.merge(a, i, !0), l.mergeLayoutParam(a, i, {ignoreSize: !0}), l.copyLayoutParams(n, a)) : t[e] = i : o === 'replace' ? t[e] = i : o === 'remove' && a && (t[e] = null) } function m (t, e) { t && (t.hv = e.hv = [f(e, ['left', 'right']), f(e, ['top', 'bottom'])], t.type === 'group' && (t.width == null && (t.width = e.width = 0), t.height == null && (t.height = e.height = 0))) }a.extendComponentView({type: 'graphic', init: function (t, e) { this._elMap = r.createHashMap(), this._lastGraphicModel }, render: function (t, e, n) { t !== this._lastGraphicModel && this._clear(), this._lastGraphicModel = t, this._updateElements(t, n), this._relocate(t, n) }, _updateElements: function (t, e) { var n = t.useElOptionsToUpdate(); if (n) { var i = this._elMap, a = this.group; r.each(n, function (t) { var e = t.$action, n = t.id, r = i.get(n), o = t.parentId, s = o != null ? i.get(o) : a; if (t.type === 'text') { var l = t.style; t.hv && t.hv[1] && (l.textVerticalAlign = l.textBaseline = null), !l.hasOwnProperty('textFill') && l.fill && (l.textFill = l.fill), !l.hasOwnProperty('textStroke') && l.stroke && (l.textStroke = l.stroke) } var u = d(t); e && e !== 'merge' ? e === 'replace' ? (h(r, i), c(n, s, u, i)) : e === 'remove' && h(r, i) : r ? r.attr(u) : c(n, s, u, i); var f = i.get(n); f && (f.__ecGraphicWidth = t.width, f.__ecGraphicHeight = t.height) }) } }, _relocate: function (t, e) { for (var n = t.option.elements, i = this.group, a = this._elMap, r = n.length - 1; r >= 0; r--) { var o = n[r], s = a.get(o.id); if (s) { var u = s.parent, c = u === i ? {width: e.getWidth(), height: e.getHeight()} : {width: u.__ecGraphicWidth || 0, height: u.__ecGraphicHeight || 0}; l.positionElement(s, o, c, null, {hv: o.hv, boundingMode: o.bounding}) } } }, _clear: function () { var t = this._elMap; t.each(function (e) { h(e, t) }), this._elMap = r.createHashMap() }, dispose: function () { this._clear() }}) }, '7f91': function (t, e, n) { var i = n('2306'), a = n('401b'), r = i.Line.prototype, o = i.BezierCurve.prototype; function s (t) { return isNaN(+t.cpx1) || isNaN(+t.cpy1) } var l = i.extendShape({type: 'ec-line', style: {stroke: '#000', fill: null}, shape: {x1: 0, y1: 0, x2: 0, y2: 0, percent: 1, cpx1: null, cpy1: null}, buildPath: function (t, e) { (s(e) ? r : o).buildPath(t, e) }, pointAt: function (t) { return s(this.shape) ? r.pointAt.call(this, t) : o.pointAt.call(this, t) }, tangentAt: function (t) { var e = this.shape, n = s(e) ? [e.x2 - e.x1, e.y2 - e.y1] : o.tangentAt.call(this, t); return a.normalize(n, n) }}); t.exports = l }, '7f96': function (t, e) { function n (t, e, n) { return {seriesType: t, performRawSeries: !0, reset: function (t, i, a) { var r = t.getData(), o = t.get('symbol') || e, s = t.get('symbolSize'), l = t.get('symbolKeepAspect'); if (r.setVisual({legendSymbol: n || o, symbol: o, symbolSize: s, symbolKeepAspect: l}), !i.isSeriesFiltered(t)) { var u = typeof s === 'function'; return {dataEach: r.hasItemOption || u ? c : null} } function c (e, n) { if (typeof s === 'function') { var i = t.getRawValue(n), a = t.getDataParams(n); e.setItemVisual(n, 'symbolSize', s(i, a)) } if (e.hasItemOption) { var r = e.getItemModel(n), o = r.getShallow('symbol', !0), l = r.getShallow('symbolSize', !0), u = r.getShallow('symbolKeepAspect', !0); o != null && e.setItemVisual(n, 'symbol', o), l != null && e.setItemVisual(n, 'symbolSize', l), u != null && e.setItemVisual(n, 'symbolKeepAspect', u) } } }} }t.exports = n }, '80f0': function (t, e) { function n (t) { return t } function i (t, e, i, a, r) { this._old = t, this._new = e, this._oldKeyGetter = i || n, this._newKeyGetter = a || n, this.context = r } function a (t, e, n, i, a) { for (var r = 0; r < t.length; r++) { var o = '_ec_' + a[i](t[r], r), s = e[o]; s == null ? (n.push(o), e[o] = r) : (s.length || (e[o] = s = [s]), s.push(r)) } }i.prototype = {constructor: i, add: function (t) { return this._add = t, this }, update: function (t) { return this._update = t, this }, remove: function (t) { return this._remove = t, this }, execute: function () { var t = this._old, e = this._new, n = {}, i = {}, r = [], o = []; for (a(t, n, r, '_oldKeyGetter', this), a(e, i, o, '_newKeyGetter', this), c = 0; c < t.length; c++) { var s = r[c], l = i[s]; if (l != null) { var u = l.length; u ? (u === 1 && (i[s] = null), l = l.unshift()) : i[s] = null, this._update && this._update(l, c) } else this._remove && this._remove(c) } for (var c = 0; c < o.length; c++) { s = o[c]; if (i.hasOwnProperty(s)) { l = i[s]; if (l == null) continue; if (l.length) { var h = 0; for (u = l.length; h < u; h++) this._add && this._add(l[h]) } else this._add && this._add(l) } } }}; var r = i; t.exports = r }, 8187: function (t, e, n) { 'use strict'; var i = n('0d18'), a = n.n(i); a.a }, '81ac': function (t, e, n) { var i = n('f934'), a = n('ee70'), r = n('6d8b'), o = n('4e08'); o.__DEV__; function s (t, e, n) { t.eachSeriesByType('sankey', function (t) { var n = t.get('nodeWidth'), i = t.get('nodeGap'), a = l(t, e); t.layoutInfo = a; var o = a.width, s = a.height, h = t.getGraph(), d = h.nodes, f = h.edges; c(d); var p = r.filter(d, function (t) { return t.getLayout().value === 0 }), g = p.length !== 0 ? 0 : t.get('layoutIterations'); u(d, f, n, i, o, s, g) }) } function l (t, e) { return i.getLayoutRect(t.getBoxLayoutParams(), {width: e.getWidth(), height: e.getHeight()}) } function u (t, e, n, i, a, r, o) { h(t, e, n, a), p(t, e, r, i, o), b(t) } function c (t) { r.each(t, function (t) { var e = M(t.outEdges, C), n = M(t.inEdges, C), i = Math.max(e, n); t.setLayout({value: i}, !0) }) } function h (t, e, n, i) { for (var a = [], o = [], s = [], l = [], u = 0, c = 0, h = 0; h < e.length; h++)a[h] = 1; for (h = 0; h < t.length; h++)o[h] = t[h].inEdges.length, o[h] === 0 && s.push(t[h]); while (s.length)r.each(s, function (i) { i.setLayout({x: u}, !0), i.setLayout({dx: n}, !0), r.each(i.outEdges, function (n) { var i = e.indexOf(n); a[i] = 0; var r = n.node2, s = t.indexOf(r); --o[s] === 0 && l.push(r) }) }), ++u, s = l, l = []; for (h = 0; h < a.length; h++);d(t, u), c = (i - n) / (u - 1), f(t, c) } function d (t, e) { r.each(t, function (t) { t.outEdges.length || t.setLayout({x: e - 1}, !0) }) } function f (t, e) { r.each(t, function (t) { var n = t.getLayout().x * e; t.setLayout({x: n}, !0) }) } function p (t, e, n, i, r) { var o = a().key(function (t) { return t.getLayout().x }).sortKeys(T).entries(t).map(function (t) { return t.values }); g(t, o, e, n, i), m(o, i, n); for (var s = 1; r > 0; r--)s *= 0.99, v(o, s), m(o, i, n), x(o, s), m(o, i, n) } function g (t, e, n, i, a) { var o = []; r.each(e, function (t) { var e = t.length, n = 0; r.each(t, function (t) { n += t.getLayout().value }); var s = (i - (e - 1) * a) / n; o.push(s) }), o.sort(function (t, e) { return t - e }); var s = o[0]; r.each(e, function (t) { r.each(t, function (t, e) { t.setLayout({y: e}, !0); var n = t.getLayout().value * s; t.setLayout({dy: n}, !0) }) }), r.each(n, function (t) { var e = +t.getValue() * s; t.setLayout({dy: e}, !0) }) } function m (t, e, n) { r.each(t, function (t) { var i, a, r, o = 0, s = t.length; for (t.sort(A), r = 0; r < s; r++) { if (i = t[r], a = o - i.getLayout().y, a > 0) { var l = i.getLayout().y + a; i.setLayout({y: l}, !0) }o = i.getLayout().y + i.getLayout().dy + e } if (a = o - e - n, a > 0) { l = i.getLayout().y - a; for (i.setLayout({y: l}, !0), o = i.getLayout().y, r = s - 2; r >= 0; --r)i = t[r], a = i.getLayout().y + i.getLayout().dy + e - o, a > 0 && (l = i.getLayout().y - a, i.setLayout({y: l}, !0)), o = i.getLayout().y } }) } function v (t, e) { r.each(t.slice().reverse(), function (t) { r.each(t, function (t) { if (t.outEdges.length) { var n = M(t.outEdges, y) / M(t.outEdges, C), i = t.getLayout().y + (n - I(t)) * e; t.setLayout({y: i}, !0) } }) }) } function y (t) { return I(t.node2) * t.getValue() } function x (t, e) { r.each(t, function (t) { r.each(t, function (t) { if (t.inEdges.length) { var n = M(t.inEdges, _) / M(t.inEdges, C), i = t.getLayout().y + (n - I(t)) * e; t.setLayout({y: i}, !0) } }) }) } function _ (t) { return I(t.node1) * t.getValue() } function b (t) { r.each(t, function (t) { t.outEdges.sort(w), t.inEdges.sort(S) }), r.each(t, function (t) { var e = 0, n = 0; r.each(t.outEdges, function (t) { t.setLayout({sy: e}, !0), e += t.getLayout().dy }), r.each(t.inEdges, function (t) { t.setLayout({ty: n}, !0), n += t.getLayout().dy }) }) } function w (t, e) { return t.node2.getLayout().y - e.node2.getLayout().y } function S (t, e) { return t.node1.getLayout().y - e.node1.getLayout().y } function M (t, e) { var n = 0, i = t.length, a = -1; while (++a < i) { var r = +e.call(t, t[a], a); isNaN(r) || (n += r) } return n } function I (t) { return t.getLayout().y + t.getLayout().dy / 2 } function A (t, e) { return t.getLayout().y - e.getLayout().y } function T (t, e) { return t - e } function C (t) { return t.getValue() }t.exports = s }, 8344: function (t, e, n) { var i = n('6d8b'), a = n('f706'), r = n('3842'), o = n('6179'), s = n('923d'), l = n('88f0'); function u (t, e, n) { var i = e.coordinateSystem; t.each(function (a) { var o, s = t.getItemModel(a), l = r.parsePercent(s.get('x'), n.getWidth()), u = r.parsePercent(s.get('y'), n.getHeight()); if (isNaN(l) || isNaN(u)) { if (e.getMarkerPosition)o = e.getMarkerPosition(t.getValues(t.dimensions, a)); else if (i) { var c = t.get(i.dimensions[0], a), h = t.get(i.dimensions[1], a); o = i.dataToPoint([c, h]) } } else o = [l, u]; isNaN(l) || (o[0] = l), isNaN(u) || (o[1] = u), t.setItemLayout(a, o) }) } var c = l.extend({type: 'markPoint', updateTransform: function (t, e, n) { e.eachSeries(function (t) { var e = t.markPointModel; e && (u(e.getData(), t, n), this.markerGroupMap.get(t.id).updateLayout(e)) }, this) }, renderSeries: function (t, e, n, i) { var r = t.coordinateSystem, o = t.id, s = t.getData(), l = this.markerGroupMap, c = l.get(o) || l.set(o, new a()), d = h(r, t, e); e.setData(d), u(e.getData(), t, i), d.each(function (t) { var n = d.getItemModel(t), i = n.getShallow('symbolSize'); typeof i === 'function' && (i = i(e.getRawValue(t), e.getDataParams(t))), d.setItemVisual(t, {symbolSize: i, color: n.get('itemStyle.color') || s.getVisual('color'), symbol: n.getShallow('symbol')}) }), c.updateData(d), this.group.add(c.group), d.eachItemGraphicEl(function (t) { t.traverse(function (t) { t.dataModel = e }) }), c.__keep = !0, c.group.silent = e.get('silent') || t.get('silent') }}); function h (t, e, n) { var a; a = t ? i.map(t && t.dimensions, function (t) { var n = e.getData().getDimensionInfo(e.getData().mapDimension(t)) || {}; return i.defaults({name: t}, n) }) : [{name: 'value', type: 'float'}]; var r = new o(a, n), l = i.map(n.get('data'), i.curry(s.dataTransform, e)); return t && (l = i.filter(l, i.curry(s.dataFilter, t))), r.initData(l, null, t ? s.dimValueGetter : function (t) { return t.value }), r }t.exports = c }, '83ba': function (t, e, n) { var i = n('6d8b'), a = n('6cb7'), r = n('f934'), o = r.getLayoutParams, s = r.sizeCalculable, l = r.mergeLayoutParam, u = a.extend({type: 'calendar', coordinateSystem: null, defaultOption: {zlevel: 0, z: 2, left: 80, top: 60, cellSize: 20, orient: 'horizontal', splitLine: {show: !0, lineStyle: {color: '#000', width: 1, type: 'solid'}}, itemStyle: {color: '#fff', borderWidth: 1, borderColor: '#ccc'}, dayLabel: {show: !0, firstDay: 0, position: 'start', margin: '50%', nameMap: 'en', color: '#000'}, monthLabel: {show: !0, position: 'start', margin: 5, align: 'center', nameMap: 'en', formatter: null, color: '#000'}, yearLabel: {show: !0, position: null, margin: 30, formatter: null, color: '#ccc', fontFamily: 'sans-serif', fontWeight: 'bolder', fontSize: 20}}, init: function (t, e, n, i) { var a = o(t); u.superApply(this, 'init', arguments), c(t, a) }, mergeOption: function (t, e) { u.superApply(this, 'mergeOption', arguments), c(this.option, t) }}); function c (t, e) { var n = t.cellSize; i.isArray(n) ? n.length === 1 && (n[1] = n[0]) : n = t.cellSize = [n, n]; var a = i.map([0, 1], function (t) { return s(e, t) && (n[t] = 'auto'), n[t] != null && n[t] !== 'auto' }); l(t, e, {type: 'box', ignoreSize: a}) } var h = u; t.exports = h }, '843e': function (t, e, n) { var i = n('6d8b'), a = ['getDom', 'getZr', 'getWidth', 'getHeight', 'getDevicePixelRatio', 'dispatchAction', 'isDisposed', 'on', 'off', 'getDataURL', 'getConnectedDataURL', 'getModel', 'getOption', 'getViewOfComponentModel', 'getViewOfSeriesModel']; function r (t) { i.each(a, function (e) { this[e] = i.bind(t[e], t) }, this) } var o = r; t.exports = o }, 8459: function (t, e, n) { var i = n('3eba'), a = {type: 'axisAreaSelect', event: 'axisAreaSelected'}; i.registerAction(a, function (t, e) { e.eachComponent({mainType: 'parallelAxis', query: t}, function (e) { e.axis.model.setActiveIntervals(t.intervals) }) }), i.registerAction('parallelAxisExpand', function (t, e) { e.eachComponent({mainType: 'parallel', query: t}, function (e) { e.setAxisExpand(t) }) }) }, '849b': function (t, e, n) { var i = n('d9d0'), a = n('2039'); function r (t, e) { var n = []; return t.eachComponent('parallel', function (a, r) { var o = new i(a, t, e); o.name = 'parallel_' + r, o.resize(a, e), a.coordinateSystem = o, o.model = a, n.push(o) }), t.eachSeries(function (e) { if (e.get('coordinateSystem') === 'parallel') { var n = t.queryComponents({mainType: 'parallel', index: e.get('parallelIndex'), id: e.get('parallelId')})[0]; e.coordinateSystem = n.coordinateSystem } }), n }a.register('parallel', {create: r}) }, '84ce': function (t, e, n) { var i = n('6d8b'), a = i.each, r = i.map, o = n('3842'), s = o.linearMap, l = o.getPixelPrecision, u = n('e073'), c = u.createAxisTicks, h = u.createAxisLabels, d = u.calculateCategoryInterval, f = [0, 1], p = function (t, e, n) { this.dim = t, this.scale = e, this._extent = n || [0, 0], this.inverse = !1, this.onBand = !1 }; function g (t, e) { var n = t[1] - t[0], i = e, a = n / i / 2; t[0] += a, t[1] -= a } function m (t, e, n, i, r) { var o = e.length; if (t.onBand && !i && o) { var s, l = t.getExtent(); if (o === 1)e[0].coord = l[0], s = e[1] = {coord: l[0]}; else { var u = e[1].coord - e[0].coord; a(e, function (t) { t.coord -= u / 2; var e = e || 0; e % 2 > 0 && (t.coord -= u / (2 * (e + 1))) }), s = {coord: e[o - 1].coord + u}, e.push(s) } var c = l[0] > l[1]; h(e[0].coord, l[0]) && (r ? e[0].coord = l[0] : e.shift()), r && h(l[0], e[0].coord) && e.unshift({coord: l[0]}), h(l[1], s.coord) && (r ? s.coord = l[1] : e.pop()), r && h(s.coord, l[1]) && e.push({coord: l[1]}) } function h (t, e) { return c ? t > e : t < e } }p.prototype = {constructor: p, contain: function (t) { var e = this._extent, n = Math.min(e[0], e[1]), i = Math.max(e[0], e[1]); return t >= n && t <= i }, containData: function (t) { return this.contain(this.dataToCoord(t)) }, getExtent: function () { return this._extent.slice() }, getPixelPrecision: function (t) { return l(t || this.scale.getExtent(), this._extent) }, setExtent: function (t, e) { var n = this._extent; n[0] = t, n[1] = e }, dataToCoord: function (t, e) { var n = this._extent, i = this.scale; return t = i.normalize(t), this.onBand && i.type === 'ordinal' && (n = n.slice(), g(n, i.count())), s(t, f, n, e) }, coordToData: function (t, e) { var n = this._extent, i = this.scale; this.onBand && i.type === 'ordinal' && (n = n.slice(), g(n, i.count())); var a = s(t, n, f, e); return this.scale.scale(a) }, pointToData: function (t, e) {}, getTicksCoords: function (t) { t = t || {}; var e = t.tickModel || this.getTickModel(), n = c(this, e), i = n.ticks, a = r(i, function (t) { return {coord: this.dataToCoord(t), tickValue: t} }, this), o = e.get('alignWithLabel'); return m(this, a, n.tickCategoryInterval, o, t.clamp), a }, getViewLabels: function () { return h(this).labels }, getLabelModel: function () { return this.model.getModel('axisLabel') }, getTickModel: function () { return this.model.getModel('axisTick') }, getBandWidth: function () { var t = this._extent, e = this.scale.getExtent(), n = e[1] - e[0] + (this.onBand ? 1 : 0); n === 0 && (n = 1); var i = Math.abs(t[1] - t[0]); return Math.abs(i) / n }, isHorizontal: null, getRotate: null, calculateCategoryInterval: function () { return d(this) }}; var v = p; t.exports = v }, '84d5': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('4319'), o = n('e0d3'), s = o.isNameSpecified, l = i.extendComponentModel({type: 'legend.plain', dependencies: ['series'], layoutMode: {type: 'box', ignoreSize: !0}, init: function (t, e, n) { this.mergeDefaultAndTheme(t, n), t.selected = t.selected || {} }, mergeOption: function (t) { l.superCall(this, 'mergeOption', t) }, optionUpdated: function () { this._updateData(this.ecModel); var t = this._data; if (t[0] && this.get('selectedMode') === 'single') { 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')) } }, _updateData: function (t) { var e = [], n = []; t.eachRawSeries(function (i) { var a, r = i.name; if (n.push(r), i.legendDataProvider) { var o = i.legendDataProvider(), l = o.mapArray(o.getName); t.isSeriesFiltered(i) || (n = n.concat(l)), l.length ? e = e.concat(l) : a = !0 } else a = !0; a && s(i) && e.push(i.name) }), this._availableNames = n; var i = this.get('data') || e, o = a.map(i, function (t) { return typeof t !== 'string' && typeof t !== 'number' || (t = {name: t}), new r(t, this, this.ecModel) }, this); this._data = o }, getData: function () { return this._data }, select: function (t) { var e = this.option.selected, n = this.get('selectedMode'); if (n === 'single') { var i = this._data; a.each(i, function (t) { e[t.get('name')] = !1 }) }e[t] = !0 }, unSelect: function (t) { this.get('selectedMode') !== 'single' && (this.option.selected[t] = !1) }, toggleSelected: function (t) { var e = this.option.selected; e.hasOwnProperty(t) || (e[t] = !0), this[e[t] ? 'unSelect' : 'select'](t) }, isSelected: function (t) { var e = this.option.selected; return !(e.hasOwnProperty(t) && !e[t]) && a.indexOf(this._availableNames, t) >= 0 }, defaultOption: {zlevel: 0, z: 4, show: !0, orient: 'horizontal', left: 'center', top: 0, align: 'auto', backgroundColor: 'rgba(0,0,0,0)', borderColor: '#ccc', borderRadius: 0, borderWidth: 0, padding: 5, itemGap: 10, itemWidth: 25, itemHeight: 14, inactiveColor: '#ccc', textStyle: {color: '#333'}, selectedMode: !0, tooltip: {show: !1}}}), u = l; t.exports = u }, '857d': function (t, e) { var n = 2 * Math.PI; function i (t) { return t %= n, t < 0 && (t += n), t }e.normalizeRadian = i }, 8615: function (t, e, n) { var i = n('5ca1'), a = n('504c')(!1); i(i.S, 'Object', {values: function (t) { return a(t) }}) }, '862d': function (t, e, n) { var i = n('6d8b'), a = i.createHashMap, r = i.each, o = i.isString, s = i.defaults, l = i.extend, u = i.isObject, c = i.clone, h = n('e0d3'), d = h.normalizeToArray, f = n('0f99'), p = f.guessOrdinal, g = n('ec6f'), m = n('2f45'), v = m.OTHER_DIMENSIONS; function y (t, e, n) { g.isInstance(e) || (e = g.seriesDataToSource(e)), n = n || {}, t = (t || []).slice(); for (var i = (n.dimsDef || []).slice(), h = a(n.encodeDef), f = a(), m = a(), y = [], b = x(e, t, i, n.dimCount), w = 0; w < b; w++) { var S = i[w] = l({}, u(i[w]) ? i[w] : {name: i[w]}), M = S.name, I = y[w] = {otherDims: {}}; M != null && f.get(M) == null && (I.name = I.displayName = M, f.set(M, w)), S.type != null && (I.type = S.type), S.displayName != null && (I.displayName = S.displayName) }h.each(function (t, e) { t = d(t).slice(); var n = h.set(e, []); r(t, function (t, i) { o(t) && (t = f.get(t)), t != null && t < b && (n[i] = t, T(y[t], e, i)) }) }); var A = 0; function T (t, e, n) { v.get(e) != null ? t.otherDims[e] = n : (t.coordDim = e, t.coordDimIndex = n, m.set(e, !0)) }r(t, function (t, e) { var n, i, a; if (o(t))n = t, t = {}; else { n = t.name; var l = t.ordinalMeta; t.ordinalMeta = null, t = c(t), t.ordinalMeta = l, i = t.dimsDef, a = t.otherDims, t.name = t.coordDim = t.coordDimIndex = t.dimsDef = t.otherDims = null } var f = d(h.get(n)); if (!f.length) for (var p = 0; p < (i && i.length || 1); p++) { while (A < y.length && y[A].coordDim != null)A++; A < y.length && f.push(A++) }r(f, function (e, r) { var o = y[e]; if (T(s(o, t), n, r), o.name == null && i) { var l = i[r]; !u(l) && (l = {name: l}), o.name = o.displayName = l.name, o.defaultTooltip = l.defaultTooltip }a && s(o.otherDims, a) }) }); var C = n.generateCoord, D = n.generateCoordCount, L = D != null; D = C ? D || 1 : 0; for (var P = C || 'value', k = 0; k < b; k++) { I = y[k] = y[k] || {}; var O = I.coordDim; O == null && (I.coordDim = _(P, m, L), I.coordDimIndex = 0, (!C || D <= 0) && (I.isExtraCoord = !0), D--), I.name == null && (I.name = _(I.coordDim, f)), I.type == null && p(e, k, I.name) && (I.type = 'ordinal') } return y } function x (t, e, n, i) { var a = Math.max(t.dimensionsDetectCount || 1, e.length, n.length, i || 0); return r(e, function (t) { var e = t.dimsDef; e && (a = Math.max(a, e.length)) }), a } function _ (t, e, n) { if (n || e.get(t) != null) { var i = 0; while (e.get(t + i) != null)i++; t += i } return e.set(t, !0), t } var b = y; t.exports = b }, '870e': function (t, e) { function n (t) { t.eachSeriesByType('radar', function (t) { var e = t.getData(), n = [], i = t.coordinateSystem; if (i) { for (var a = i.getIndicatorAxes(), r = 0; r < a.length; r++)e.each(e.mapDimension(a[r].dim), o); e.each(function (t) { n[t][0] && n[t].push(n[t][0].slice()), e.setItemLayout(t, n[t]) }) } function o (t, e) { n[e] = n[e] || [], n[e][r] = i.dataToPoint(t, r) } }) }t.exports = n }, 8727: function (t, e) { var n = 'http://www.w3.org/2000/svg'; function i (t) { return document.createElementNS(n, t) }e.createElement = i }, 8728: function (t, e) { function n (t, e, n, i, a, r) { if (r > e && r > i || r < e && r < i) return 0; if (i === e) return 0; var o = i < e ? 1 : -1, s = (r - e) / (i - e); s !== 1 && s !== 0 || (o = i < e ? 0.5 : -0.5); var l = s * (n - t) + t; return l === a ? 1 / 0 : l > a ? o : 0 }t.exports = n }, '879e': function (t, e, n) { var i = n('3eba'), a = n('6179'), r = n('6d8b'), o = n('e0d3'), s = o.defaultEmphasis, l = n('4319'), u = n('eda2'), c = u.encodeHTML, h = n('237f'), d = i.extendSeriesModel({type: 'series.graph', init: function (t) { d.superApply(this, 'init', arguments), this.legendDataProvider = function () { return this._categoriesData }, this.fillDataTextStyle(t.edges || t.links), this._updateCategoriesData() }, mergeOption: function (t) { d.superApply(this, 'mergeOption', arguments), this.fillDataTextStyle(t.edges || t.links), this._updateCategoriesData() }, mergeDefaultAndTheme: function (t) { d.superApply(this, 'mergeDefaultAndTheme', arguments), s(t, ['edgeLabel'], ['show']) }, getInitialData: function (t, e) { var n = t.edges || t.links || [], i = t.data || t.nodes || [], a = this; if (i && n) return h(i, n, this, !0, r).data; function r (t, n) { t.wrapMethod('getItemModel', function (t) { var e = a._categoriesModels, n = t.getShallow('category'), i = e[n]; return i && (i.parentModel = t.parentModel, t.parentModel = i), t }); var i = a.getModel('edgeLabel'), r = new l({label: i.option}, i.parentModel, e), o = a.getModel('emphasis.edgeLabel'), s = new l({emphasis: {label: o.option}}, o.parentModel, e); function u (t) { return t = this.parsePath(t), t && t[0] === 'label' ? r : t && t[0] === 'emphasis' && t[1] === 'label' ? s : this.parentModel }n.wrapMethod('getItemModel', function (t) { return t.customizeGetParent(u), t }) } }, getGraph: function () { return this.getData().graph }, getEdgeData: function () { return this.getGraph().edgeData }, getCategoriesData: function () { return this._categoriesData }, formatTooltip: function (t, e, n) { if (n === 'edge') { var i = this.getData(), a = this.getDataParams(t, n), r = i.graph.getEdgeByIndex(t), o = i.getName(r.node1.dataIndex), s = i.getName(r.node2.dataIndex), l = []; return o != null && l.push(o), s != null && l.push(s), l = c(l.join(' > ')), a.value && (l += ' : ' + c(a.value)), l } return d.superApply(this, 'formatTooltip', arguments) }, _updateCategoriesData: function () { var t = r.map(this.option.categories || [], function (t) { return t.value != null ? t : r.extend({value: 0}, t) }), e = new a(['value'], this); e.initData(t), this._categoriesData = e, this._categoriesModels = e.mapArray(function (t) { return e.getItemModel(t, !0) }) }, setZoom: function (t) { this.option.zoom = t }, setCenter: function (t) { this.option.center = t }, isAnimationEnabled: function () { return d.superCall(this, 'isAnimationEnabled') && !(this.get('layout') === 'force' && this.get('force.layoutAnimation')) }, defaultOption: {zlevel: 0, z: 2, coordinateSystem: 'view', legendHoverLink: !0, hoverAnimation: !0, layout: null, focusNodeAdjacency: !1, circular: {rotateLabel: !1}, force: {initLayout: null, repulsion: [0, 50], gravity: 0.1, edgeLength: 30, layoutAnimation: !0}, left: 'center', top: 'center', symbol: 'circle', symbolSize: 10, edgeSymbol: ['none', 'none'], edgeSymbolSize: 10, edgeLabel: {position: 'middle'}, draggable: !1, roam: !1, center: null, zoom: 1, nodeScaleRatio: 0.6, label: {show: !1, formatter: '{b}'}, itemStyle: {}, lineStyle: {color: '#aaa', width: 1, curveness: 0, opacity: 0.5}, emphasis: {label: {show: !0}}}}), f = d; t.exports = f }, '87b1': function (t, e, n) { var i = n('cbe5'), a = n('4fac'), r = i.extend({type: 'polygon', shape: {points: null, smooth: !1, smoothConstraint: null}, buildPath: function (t, e) { a.buildPath(t, e, !0) }}); t.exports = r }, '87b8': function (t, e, n) { 'use strict'; n.r(e); var i = function () { var t = this, e = t.$createElement, n = t._self._c || e; return n('div', [n('Row', {staticStyle: {padding: '20px'}, attrs: {gutter: 16}}, [n('i-col', {staticClass: 'padding-left-10', attrs: {span: '6'}}, [n('Card', [n('p', {attrs: {slot: 'title'}, slot: 'title'}, [n('Icon', {attrs: {type: 'paintbucket'}}), t._v('\n            用户数\n          ')], 1), n('Row', {staticClass: 'countto-page-row', attrs: {type: 'flex', justify: 'center', align: 'middle'}}, [n('div', {staticClass: 'count-to-con'}, [n('count-to', {attrs: {end: t.indexDate.userCount || 0, 'count-class': 'count-text', 'unit-class': 'unit-class'}}, [n('span', {staticClass: 'slot-text', attrs: {slot: 'right'}, slot: 'right'}, [t._v(' 人')])])], 1)])], 1)], 1), n('i-col', {staticClass: 'padding-left-10', attrs: {span: '6'}}, [n('Card', [n('p', {attrs: {slot: 'title'}, slot: 'title'}, [n('Icon', {attrs: {type: 'paintbucket'}}), t._v('\n            发货申请待处理\n          ')], 1), n('Row', {staticClass: 'countto-page-row', attrs: {type: 'flex', justify: 'center', align: 'middle'}}, [n('div', {staticClass: 'count-to-con'}, [n('count-to', {attrs: {end: t.indexDate.shipCount || 0, 'count-class': 'count-text', 'unit-class': 'unit-class'}}, [n('span', {staticClass: 'slot-text', attrs: {slot: 'right'}, slot: 'right'}, [t._v(' 个')])])], 1)])], 1)], 1), n('i-col', {staticClass: 'padding-left-10', attrs: {span: '6'}}, [n('Card', [n('p', {attrs: {slot: 'title'}, slot: 'title'}, [n('Icon', {attrs: {type: 'paintbucket'}}), t._v('\n            提现申请待处理\n          ')], 1), n('Row', {staticClass: 'countto-page-row', attrs: {type: 'flex', justify: 'center', align: 'middle'}}, [n('div', {staticClass: 'count-to-con'}, [n('count-to', {attrs: {end: t.indexDate.withdrawCount || 0, 'count-class': 'count-text', 'unit-class': 'unit-class'}}, [n('span', {staticClass: 'slot-text', attrs: {slot: 'right'}, slot: 'right'}, [t._v(' 个')])])], 1)])], 1)], 1), n('i-col', {staticClass: 'padding-left-10', attrs: {span: '6'}}, [n('Card', [n('p', {attrs: {slot: 'title'}, slot: 'title'}, [n('Icon', {attrs: {type: 'paintbucket'}}), t._v('\n            身份证待审核\n          ')], 1), n('Row', {staticClass: 'countto-page-row', attrs: {type: 'flex', justify: 'center', align: 'middle'}}, [n('div', {staticClass: 'count-to-con'}, [n('count-to', {attrs: {end: t.indexDate.idCardCount || 0, 'count-class': 'count-text', 'unit-class': 'unit-class'}}, [n('span', {staticClass: 'slot-text', attrs: {slot: 'right'}, slot: 'right'}, [t._v(' 个')])])], 1)])], 1)], 1)], 1)], 1) }, a = [], r = function () { var t = this, e = t.$createElement, n = t._self._c || e; return n('Card', {staticClass: 'info-card-wrapper', attrs: {shadow: t.shadow, padding: 0}}, [n('div', {staticClass: 'content-con'}, [n('div', {staticClass: 'left-area', style: {background: t.color, width: t.leftWidth}}, [n('common-icon', {staticClass: 'icon', attrs: {type: t.icon, size: t.iconSize, color: '#fff'}})], 1), n('div', {staticClass: 'right-area', style: {width: t.rightWidth}}, [n('div', [t._t('default')], 2)])])]) }, o = [], s = (n('c5f6'), n('cb21')), l = {name: 'InforCard', components: {CommonIcon: s['a']}, props: {left: {type: Number, default: 36}, color: {type: String, default: '#2d8cf0'}, icon: {type: String, default: ''}, iconSize: {type: Number, default: 20}, shadow: {type: Boolean, default: !1}}, computed: {leftWidth: function () { return ''.concat(this.left, '%') }, rightWidth: function () { return ''.concat(100 - this.left, '%') }}}, u = l, c = (n('a189'), n('2877')), h = Object(c['a'])(u, r, o, !1, null, null, null); h.options.__file = 'infor-card.vue'; var d = h.exports, f = d, p = function () { var t = this, e = t.$createElement, n = t._self._c || e; return n('div', {staticClass: 'count-to-wrapper'}, [t._t('left'), n('p', {staticClass: 'content-outer'}, [n('span', {class: ['count-to-count-text', t.countClass], attrs: {id: t.counterId}}, [t._v(t._s(t.init))]), n('i', {class: ['count-to-unit-text', t.unitClass]}, [t._v(t._s(t.unitText))])]), t._t('right')], 2) }, g = [], m = n('57f2'), v = n.n(m), y = (n('16e0'), {name: 'CountTo', props: {init: {type: Number, default: 0}, startVal: {type: Number, default: 0}, end: {type: Number, required: !0}, decimals: {type: Number, default: 0}, decimal: {type: String, default: '.'}, duration: {type: Number, default: 2}, delay: {type: Number, default: 0}, uneasing: {type: Boolean, default: !1}, usegroup: {type: Boolean, default: !1}, separator: {type: String, default: ','}, simplify: {type: Boolean, default: !1}, unit: {type: Array, default: function () { return [[3, 'K+'], [6, 'M+'], [9, 'B+']] }}, countClass: {type: String, default: ''}, unitClass: {type: String, default: ''}}, data: function () { return {counter: null, unitText: ''} }, computed: {counterId: function () { return 'count_to_'.concat(this._uid) }}, methods: {getHandleVal: function (t, e) { return {endVal: parseInt(t / Math.pow(10, this.unit[e - 1][0])), unitText: this.unit[e - 1][1]} }, transformValue: function (t) { var e = this.unit.length, n = {endVal: 0, unitText: ''}; if (t < Math.pow(10, this.unit[0][0]))n.endVal = t; else for (var i = 1; i < e; i++)t >= Math.pow(10, this.unit[i - 1][0]) && t < Math.pow(10, this.unit[i][0]) && (n = this.getHandleVal(t, i)); return t > Math.pow(10, this.unit[e - 1][0]) && (n = this.getHandleVal(t, e)), n }, getValue: function (t) { var e = 0; if (this.simplify) { var n = this.transformValue(t), i = n.endVal, a = n.unitText; this.unitText = a, e = i } else e = t; return e }}, mounted: function () { var t = this; this.$nextTick(function () { var e = t.getValue(t.end); t.counter = new v.a(t.counterId, t.startVal, e, t.decimals, t.duration, {useEasing: !t.uneasing, useGrouping: t.useGroup, separator: t.separator, decimal: t.decimal}), setTimeout(function () { t.counter.error || t.counter.start() }, t.delay) }) }, watch: {end: function (t) { var e = this.getValue(t); this.counter.update(e) }}}), x = y, _ = Object(c['a'])(x, p, g, !1, null, null, null); _.options.__file = 'count-to.vue'; var b = _.exports, w = b, S = function () { var t = this, e = t.$createElement, n = t._self._c || e; return n('div', {ref: 'dom', staticClass: 'charts chart-pie'}) }, M = [], I = (n('7f7f'), n('313e')), A = n.n(I), T = n('8e9a'); A.a.registerTheme('tdTheme', T); var C = {name: 'ChartPie', props: {value: Array, text: String, subtext: String}, mounted: function () { var t = this; this.$nextTick(function () { var e = t.value.map(function (t) { return t.name }), n = {title: {text: t.text, subtext: t.subtext, x: 'center'}, tooltip: {trigger: 'item', formatter: '{a} <br/>{b} : {c} ({d}%)'}, legend: {orient: 'vertical', left: 'left', data: e}, series: [{type: 'pie', radius: '55%', center: ['50%', '60%'], data: t.value, itemStyle: {emphasis: {shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]}, i = A.a.init(t.$refs.dom, 'tdTheme'); i.setOption(n) }) }}, D = C, L = (n('8187'), Object(c['a'])(D, S, M, !1, null, null, null)); L.options.__file = 'pie.vue'; var P = L.exports, k = function () { var t = this, e = t.$createElement, n = t._self._c || e; return n('div', {ref: 'dom', staticClass: 'charts chart-bar'}) }, O = []; n('8615'), n('ac6a'), n('456d'); A.a.registerTheme('tdTheme', T); var R = {name: 'ChartBar', props: {value: Object, text: String, subtext: String}, mounted: function () { var t = this; this.$nextTick(function () { var e = Object.keys(t.value), n = Object.values(t.value), i = {title: {text: t.text, subtext: t.subtext, x: 'center'}, xAxis: {type: 'category', data: e}, yAxis: {type: 'value'}, series: [{data: n, type: 'bar'}]}, a = A.a.init(t.$refs.dom, 'tdTheme'); a.setOption(i) }) }}, E = R, N = (n('51a2'), Object(c['a'])(E, k, O, !1, null, null, null)); N.options.__file = 'bar.vue'; var z = N.exports, V = function () { var t = this, e = t.$createElement, n = t._self._c || e; return n('div', {ref: 'dom'}) }, B = [], G = n('90de'), F = {name: 'serviceRequests', data: function () { return {dom: null} }, methods: {resize: function () { this.dom.resize() }}, mounted: function () { var t = this, e = {tooltip: {trigger: 'axis', axisPointer: {type: 'cross', label: {backgroundColor: '#6a7985'}}}, grid: {top: '3%', left: '1.2%', right: '1%', bottom: '3%', containLabel: !0}, xAxis: [{type: 'category', boundaryGap: !1, data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日']}], yAxis: [{type: 'value'}], series: [{name: '运营商/网络服务', type: 'line', stack: '总量', areaStyle: {normal: {color: '#2d8cf0'}}, data: [120, 132, 101, 134, 90, 230, 210]}, {name: '银行/证券', type: 'line', stack: '总量', areaStyle: {normal: {color: '#10A6FF'}}, data: [257, 358, 278, 234, 290, 330, 310]}, {name: '游戏/视频', type: 'line', stack: '总量', areaStyle: {normal: {color: '#0C17A6'}}, data: [379, 268, 354, 269, 310, 478, 358]}, {name: '餐饮/外卖', type: 'line', stack: '总量', areaStyle: {normal: {color: '#4608A6'}}, data: [320, 332, 301, 334, 390, 330, 320]}, {name: '快递/电商', type: 'line', stack: '总量', label: {normal: {show: !0, position: 'top'}}, areaStyle: {normal: {color: '#398DBF'}}, data: [820, 645, 546, 745, 872, 624, 258]}]}; this.$nextTick(function () { t.dom = A.a.init(t.$refs.dom), t.dom.setOption(e), Object(G['f'])(window, 'resize', t.resize()) }) }, beforeDestroy: function () { Object(G['e'])(window, 'resize', this.resize()) }}, H = F, W = Object(c['a'])(H, V, B, !1, null, null, null); W.options.__file = 'example.vue'; var U = W.exports, Z = {name: 'home', components: {InforCard: f, CountTo: w, ChartPie: P, ChartBar: z, Example: U}, data: function () { return {indexDate: {}} }, mounted: function () { this.queryIndex() }, methods: {queryIndex: function () { var t = this; this.$api.queryIndex({}).then(function (e) { e.code === 200 ? (t.indexDate = e.data.index, console.log(t.indexDate)) : console.log(e) }) }}}, j = Z, Y = (n('1374'), Object(c['a'])(j, i, a, !1, null, null, null)); Y.options.__file = 'index.vue'; var q = Y.exports; e['default'] = q }, '87c3': function (t, e, n) { var i = n('6d8b'), a = i.map, r = n('cccd'), o = n('ee1a'), s = o.isDimensionStacked; function l (t) { return {seriesType: t, plan: r(), reset: function (t) { var e = t.getData(), n = t.coordinateSystem, i = t.pipelineContext, r = i.large; if (n) { var o = a(n.dimensions, function (t) { return e.mapDimension(t) }).slice(0, 2), l = o.length, u = e.getCalculationInfo('stackResultDimension'); return s(e, o[0]) && (o[0] = u), s(e, o[1]) && (o[1] = u), l && {progress: c} } function c (t, e) { for (var i = t.end - t.start, a = r && new Float32Array(i * l), s = t.start, u = 0, c = [], h = []; s < t.end; s++) { var d; if (l === 1) { var f = e.get(o[0], s); d = !isNaN(f) && n.dataToPoint(f, null, h) } else { f = c[0] = e.get(o[0], s); var p = c[1] = e.get(o[1], s); d = !isNaN(f) && !isNaN(p) && n.dataToPoint(c, null, h) }r ? (a[u++] = d ? d[0] : NaN, a[u++] = d ? d[1] : NaN) : e.setItemLayout(s, d && d.slice() || [NaN, NaN]) }r && e.setLayout('symbolPoints', a) } }} }t.exports = l }, '88b3': function (t, e) { var n = '\0__throttleOriginMethod', i = '\0__throttleRate', a = '\0__throttleType'; function r (t, e, n) { var i, a, r, o, s, l = 0, u = 0, c = null; function h () { u = (new Date()).getTime(), c = null, t.apply(r, o || []) }e = e || 0; var d = function () { i = (new Date()).getTime(), r = this, o = arguments; var t = s || e, d = s || n; s = null, a = i - (d ? l : u) - t, clearTimeout(c), d ? c = setTimeout(h, t) : a >= 0 ? h() : c = setTimeout(h, -a), l = i }; return d.clear = function () { c && (clearTimeout(c), c = null) }, d.debounceNextCall = function (t) { s = t }, d } function o (t, e, o, s) { var l = t[e]; if (l) { var u = l[n] || l, c = l[a], h = l[i]; if (h !== o || c !== s) { if (o == null || !s) return t[e] = u; l = t[e] = r(u, o, s === 'debounce'), l[n] = u, l[a] = s, l[i] = o } return l } } function s (t, e) { var i = t[e]; i && i[n] && (t[e] = i[n]) }e.throttle = r, e.createOrUpdate = o, e.clear = s }, '88f0': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = i.extendComponentView({type: 'marker', init: function () { this.markerGroupMap = a.createHashMap() }, render: function (t, e, n) { var i = this.markerGroupMap; i.each(function (t) { t.__keep = !1 }); var a = this.type + 'Model'; e.eachSeries(function (t) { var i = t[a]; i && this.renderSeries(t, i, e, n) }, this), i.each(function (t) { !t.__keep && this.group.remove(t.group) }, this) }, renderSeries: function () {}}); t.exports = r }, 8918: function (t, e, n) { var i = n('6d8b'), a = n('625e'), r = a.parseClassType, o = 0; function s (t) { return [t || '', o++, Math.random().toFixed(5)].join('_') } function l (t) { var e = {}; return t.registerSubTypeDefaulter = function (t, n) { t = r(t), e[t.main] = n }, t.determineSubType = function (n, i) { var a = i.type; if (!a) { var o = r(n).main; t.hasSubTypes(n) && e[o] && (a = e[o](i)) } return a }, t } function u (t, e) { function n (t) { var n = {}, o = []; return i.each(t, function (s) { var l = a(n, s), u = l.originalDeps = e(s), c = r(u, t); l.entryCount = c.length, l.entryCount === 0 && o.push(s), i.each(c, function (t) { i.indexOf(l.predecessor, t) < 0 && l.predecessor.push(t); var e = a(n, t); i.indexOf(e.successor, t) < 0 && e.successor.push(s) }) }), {graph: n, noEntryList: o} } function a (t, e) { return t[e] || (t[e] = {predecessor: [], successor: []}), t[e] } function r (t, e) { var n = []; return i.each(t, function (t) { i.indexOf(e, t) >= 0 && n.push(t) }), n }t.topologicalTravel = function (t, e, a, r) { if (t.length) { var o = n(e), s = o.graph, l = o.noEntryList, u = {}; i.each(t, function (t) { u[t] = !0 }); while (l.length) { var c = l.pop(), h = s[c], d = !!u[c]; d && (a.call(r, c, h.originalDeps.slice()), delete u[c]), i.each(h.successor, d ? p : f) }i.each(u, function () { throw new Error('Circle dependency may exists') }) } function f (t) { s[t].entryCount--, s[t].entryCount === 0 && l.push(t) } function p (t) { u[t] = !0, f(t) } } }e.getUID = s, e.enableSubTypeDefaulter = l, e.enableTopologicalTravel = u }, 8971: function (t, e) { var n = ''; typeof navigator !== 'undefined' && (n = navigator.platform || ''); var i = {color: ['#c23531', '#2f4554', '#61a0a8', '#d48265', '#91c7ae', '#749f83', '#ca8622', '#bda29a', '#6e7074', '#546570', '#c4ccd3'], gradientColor: ['#f6efa6', '#d88273', '#bf444c'], textStyle: {fontFamily: n.match(/^Win/) ? 'Microsoft YaHei' : 'sans-serif', fontSize: 12, fontStyle: 'normal', fontWeight: 'normal'}, blendMode: null, animation: 'auto', animationDuration: 1e3, animationDurationUpdate: 300, animationEasing: 'exponentialOut', animationEasingUpdate: 'cubicOut', animationThreshold: 2e3, progressiveThreshold: 3e3, progressive: 400, hoverLayerThreshold: 3e3, useUTC: !1}; t.exports = i }, '897a': function (t, e, n) { var i = n('22d1'), a = [['shadowBlur', 0], ['shadowColor', '#000'], ['shadowOffsetX', 0], ['shadowOffsetY', 0]]; function r (t) { return i.browser.ie && i.browser.version >= 11 ? function () { var e, n = this.__clipPaths, i = this.style; if (n) for (var r = 0; r < n.length; r++) { var o = n[r], s = o && o.shape, l = o && o.type; if (s && (l === 'sector' && s.startAngle === s.endAngle || l === 'rect' && (!s.width || !s.height))) { for (var u = 0; u < a.length; u++)a[u][2] = i[a[u][0]], i[a[u][0]] = a[u][1]; e = !0; break } } if (t.apply(this, arguments), e) for (u = 0; u < a.length; u++)i[a[u][0]] = a[u][2] } : t }t.exports = r }, '89e3': function (t, e, n) { var i = n('3842'), a = n('eda2'), r = n('e0d8'), o = n('944e'), s = i.round, l = r.extend({type: 'interval', _interval: 0, _intervalPrecision: 2, setExtent: function (t, e) { var n = this._extent; isNaN(t) || (n[0] = parseFloat(t)), isNaN(e) || (n[1] = parseFloat(e)) }, unionExtent: function (t) { var e = this._extent; t[0] < e[0] && (e[0] = t[0]), t[1] > e[1] && (e[1] = t[1]), l.prototype.setExtent.call(this, e[0], e[1]) }, getInterval: function () { return this._interval }, setInterval: function (t) { this._interval = t, this._niceExtent = this._extent.slice(), this._intervalPrecision = o.getIntervalPrecision(t) }, getTicks: function () { return o.intervalScaleGetTicks(this._interval, this._extent, this._niceExtent, this._intervalPrecision) }, getLabel: function (t, e) { if (t == null) return ''; var n = e && e.precision; return n == null ? n = i.getPrecisionSafe(t) || 0 : n === 'auto' && (n = this._intervalPrecision), t = s(t, n, !0), a.addCommas(t) }, niceTicks: function (t, e, n) { t = t || 5; var i = this._extent, a = i[1] - i[0]; if (isFinite(a)) { a < 0 && (a = -a, i.reverse()); var r = o.intervalScaleNiceTicks(i, t, e, n); this._intervalPrecision = r.intervalPrecision, this._interval = r.interval, this._niceExtent = r.niceTickExtent } }, niceExtent: function (t) { var e = this._extent; if (e[0] === e[1]) if (e[0] !== 0) { var n = 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.niceTicks(t.splitNumber, t.minInterval, t.maxInterval); var a = this._interval; t.fixMin || (e[0] = s(Math.floor(e[0] / a) * a)), t.fixMax || (e[1] = s(Math.ceil(e[1] / a) * a)) }}); l.create = function () { return new l() }; var u = l; t.exports = u }, '8b7f': function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = a.createHashMap, o = (a.retrieve, a.each); function s (t) { var e = t.get('coordinateSystem'), n = {coordSysName: e, coordSysDims: [], axisMap: r(), categoryAxisMap: r()}, i = l[e]; if (i) return i(t, n, n.axisMap, n.categoryAxisMap), n } var l = {cartesian2d: function (t, e, n, i) { var a = t.getReferringComponents('xAxis')[0], r = t.getReferringComponents('yAxis')[0]; e.coordSysDims = ['x', 'y'], n.set('x', a), n.set('y', r), u(a) && (i.set('x', a), e.firstCategoryDimIndex = 0), u(r) && (i.set('y', r), e.firstCategoryDimIndex = 1) }, singleAxis: function (t, e, n, i) { var a = t.getReferringComponents('singleAxis')[0]; e.coordSysDims = ['single'], n.set('single', a), u(a) && (i.set('single', a), e.firstCategoryDimIndex = 0) }, polar: function (t, e, n, i) { var a = t.getReferringComponents('polar')[0], r = a.findAxisModel('radiusAxis'), o = a.findAxisModel('angleAxis'); e.coordSysDims = ['radius', 'angle'], n.set('radius', r), n.set('angle', o), u(r) && (i.set('radius', r), e.firstCategoryDimIndex = 0), u(o) && (i.set('angle', o), e.firstCategoryDimIndex = 1) }, geo: function (t, e, n, i) { e.coordSysDims = ['lng', 'lat'] }, parallel: function (t, e, n, i) { var a = t.ecModel, r = a.getComponent('parallel', t.get('parallelIndex')), s = e.coordSysDims = r.dimensions.slice(); o(r.parallelAxisIndex, function (t, r) { var o = a.getComponent('parallelAxis', t), l = s[r]; n.set(l, o), u(o) && e.firstCategoryDimIndex == null && (i.set(l, o), e.firstCategoryDimIndex = r) }) }}; function u (t) { return t.get('type') === 'category' }e.getCoordSysDefineBySeries = s }, '8c2a': function (t, e, n) { var i = n('6d8b'), a = n('e0d8'), r = n('3842'), o = n('89e3'), s = a.prototype, l = o.prototype, u = r.getPrecisionSafe, c = r.round, h = Math.floor, d = Math.ceil, f = Math.pow, p = Math.log, g = a.extend({type: 'log', base: 10, $constructor: function () { a.apply(this, arguments), this._originalScale = new o() }, getTicks: function () { var t = this._originalScale, e = this._extent, n = t.getExtent(); return i.map(l.getTicks.call(this), function (i) { var a = r.round(f(this.base, i)); return a = i === e[0] && t.__fixMin ? m(a, n[0]) : a, a = i === e[1] && t.__fixMax ? m(a, n[1]) : a, a }, this) }, getLabel: l.getLabel, scale: function (t) { return t = s.scale.call(this, t), f(this.base, t) }, setExtent: function (t, e) { var n = this.base; t = p(t) / p(n), e = p(e) / p(n), l.setExtent.call(this, t, e) }, getExtent: function () { var t = this.base, e = s.getExtent.call(this); e[0] = f(t, e[0]), e[1] = f(t, e[1]); var n = this._originalScale, i = n.getExtent(); return n.__fixMin && (e[0] = m(e[0], i[0])), n.__fixMax && (e[1] = m(e[1], i[1])), e }, unionExtent: function (t) { this._originalScale.unionExtent(t); var e = this.base; t[0] = p(t[0]) / p(e), t[1] = p(t[1]) / p(e), s.unionExtent.call(this, t) }, unionExtentFromData: function (t, e) { this.unionExtent(t.getApproximateExtent(e)) }, niceTicks: function (t) { t = t || 10; var e = this._extent, n = e[1] - e[0]; if (!(n === 1 / 0 || n <= 0)) { var i = r.quantity(n), a = t / n * i; a <= 0.5 && (i *= 10); while (!isNaN(i) && Math.abs(i) < 1 && Math.abs(i) > 0)i *= 10; var o = [r.round(d(e[0] / i) * i), r.round(h(e[1] / i) * i)]; this._interval = i, this._niceExtent = o } }, niceExtent: function (t) { l.niceExtent.call(this, t); var e = this._originalScale; e.__fixMin = t.fixMin, e.__fixMax = t.fixMax }}); function m (t, e) { return c(t, u(e)) }i.each(['contain', 'normalize'], function (t) { g.prototype[t] = function (e) { return e = p(e) / p(this.base), s[t].call(this, e) } }), g.create = function () { return new g() }; var v = g; t.exports = v }, '8d32': function (t, e, n) { var i = n('cbe5'), a = i.extend({type: 'arc', shape: {cx: 0, cy: 0, r: 0, startAngle: 0, endAngle: 2 * Math.PI, clockwise: !0}, style: {stroke: '#000', fill: null}, buildPath: function (t, e) { var n = e.cx, i = e.cy, a = Math.max(e.r, 0), r = e.startAngle, o = e.endAngle, s = e.clockwise, l = Math.cos(r), u = Math.sin(r); t.moveTo(l * a + n, u * a + i), t.arc(n, i, a, r, o, !s) }}); t.exports = a }, '8deb': function (t, e, n) { var i = n('3eba'); n('5522'), n('a016'), n('1466'); var a = n('98e7'), r = n('7f96'), o = n('870e'), s = n('d3f47'), l = n('7891'); i.registerVisual(a('radar')), i.registerVisual(r('radar', 'circle')), i.registerLayout(o), i.registerProcessor(s('radar')), i.registerPreprocessor(l) }, '8e43': function (t, e, n) { var i = n('6d8b'), a = i.createHashMap, r = i.isObject, o = i.map; function s (t) { this.categories = t.categories || [], this._needCollect = t.needCollect, this._deduplication = t.deduplication, this._map }s.createByAxisModel = function (t) { var e = t.option, n = e.data, i = n && o(n, c); return new s({categories: i, needCollect: !i, deduplication: !1 !== e.dedplication}) }; var l = s.prototype; function u (t) { return t._map || (t._map = a(t.categories)) } function c (t) { return r(t) && t.value != null ? t.value : t + '' }l.getOrdinal = function (t) { return u(this).get(t) }, l.parseAndCollect = function (t) { var e, n = this._needCollect; if (typeof t !== 'string' && !n) return t; if (n && !this._deduplication) return e = this.categories.length, this.categories[e] = t, e; var i = u(this); return e = i.get(t), e == null && (n ? (e = this.categories.length, this.categories[e] = t, i.set(t, e)) : e = NaN), e }; var h = s; t.exports = h }, '8e77': function (t, e, n) { var i = n('6d8b'), a = n('41ef'), r = n('6179'), o = n('3842'), s = n('2306'), l = n('923d'), u = n('88f0'), c = function (t, e, n, a) { var r = l.dataTransform(t, a[0]), o = l.dataTransform(t, a[1]), s = i.retrieve, u = r.coord, c = o.coord; u[0] = s(u[0], -1 / 0), u[1] = s(u[1], -1 / 0), c[0] = s(c[0], 1 / 0), c[1] = s(c[1], 1 / 0); var h = i.mergeAll([{}, r, o]); return h.coord = [r.coord, o.coord], h.x0 = r.x, h.y0 = r.y, h.x1 = o.x, h.y1 = o.y, h }; function h (t) { return !isNaN(t) && !isFinite(t) } function d (t, e, n, i) { var a = 1 - t; return h(e[a]) && h(n[a]) } function f (t, e) { var n = e.coord[0], i = e.coord[1]; return !(t.type !== 'cartesian2d' || !n || !i || !d(1, n, i, t) && !d(0, n, i, t)) || (l.dataFilter(t, {coord: n, x: e.x0, y: e.y0}) || l.dataFilter(t, {coord: i, x: e.x1, y: e.y1})) } function p (t, e, n, i, a) { var r, s = i.coordinateSystem, l = t.getItemModel(e), u = o.parsePercent(l.get(n[0]), a.getWidth()), c = o.parsePercent(l.get(n[1]), a.getHeight()); if (isNaN(u) || isNaN(c)) { if (i.getMarkerPosition)r = i.getMarkerPosition(t.getValues(n, e)); else { var d = t.get(n[0], e), f = t.get(n[1], e), p = [d, f]; s.clampData && s.clampData(p, p), r = s.dataToPoint(p, !0) } if (s.type === 'cartesian2d') { var g = s.getAxis('x'), m = s.getAxis('y'); d = t.get(n[0], e), f = t.get(n[1], e); h(d) ? r[0] = g.toGlobalCoord(g.getExtent()[n[0] === 'x0' ? 0 : 1]) : h(f) && (r[1] = m.toGlobalCoord(m.getExtent()[n[1] === 'y0' ? 0 : 1])) }isNaN(u) || (r[0] = u), isNaN(c) || (r[1] = c) } else r = [u, c]; return r } var g = [['x0', 'y0'], ['x1', 'y0'], ['x1', 'y1'], ['x0', 'y1']]; function m (t, e, n) { var a, o, s = ['x0', 'y0', 'x1', 'y1']; t ? (a = i.map(t && t.dimensions, function (t) { var n = e.getData(), a = n.getDimensionInfo(n.mapDimension(t)) || {}; return i.defaults({name: t}, a) }), o = new r(i.map(s, function (t, e) { return {name: t, type: a[e % 2].type} }), n)) : (a = [{name: 'value', type: 'float'}], o = new r(a, n)); var l = i.map(n.get('data'), i.curry(c, e, t, n)); t && (l = i.filter(l, i.curry(f, t))); var u = t ? function (t, e, n, i) { return t.coord[Math.floor(i / 2)][i % 2] } : function (t) { return t.value }; return o.initData(l, null, u), o.hasItemOption = !0, o }u.extend({type: 'markArea', updateTransform: function (t, e, n) { e.eachSeries(function (t) { var e = t.markAreaModel; if (e) { var a = e.getData(); a.each(function (e) { var r = i.map(g, function (i) { return p(a, e, i, t, n) }); a.setItemLayout(e, r); var o = a.getItemGraphicEl(e); o.setShape('points', r) }) } }, this) }, renderSeries: function (t, e, n, r) { var o = t.coordinateSystem, l = t.id, u = t.getData(), c = this.markerGroupMap, h = c.get(l) || c.set(l, {group: new s.Group()}); this.group.add(h.group), h.__keep = !0; var d = m(o, t, e); e.setData(d), d.each(function (e) { d.setItemLayout(e, i.map(g, function (n) { return p(d, e, n, t, r) })), d.setItemVisual(e, {color: u.getVisual('color')}) }), d.diff(h.__data).add(function (t) { var e = new s.Polygon({shape: {points: d.getItemLayout(t)}}); d.setItemGraphicEl(t, e), h.group.add(e) }).update(function (t, n) { var i = h.__data.getItemGraphicEl(n); s.updateProps(i, {shape: {points: d.getItemLayout(t)}}, e, t), h.group.add(i), d.setItemGraphicEl(t, i) }).remove(function (t) { var e = h.__data.getItemGraphicEl(t); h.group.remove(e) }).execute(), d.eachItemGraphicEl(function (t, n) { var r = d.getItemModel(n), o = r.getModel('label'), l = r.getModel('emphasis.label'), u = d.getItemVisual(n, 'color'); t.useStyle(i.defaults(r.getModel('itemStyle').getItemStyle(), {fill: a.modifyAlpha(u, 0.4), stroke: u})), t.hoverStyle = r.getModel('emphasis.itemStyle').getItemStyle(), s.setLabelStyle(t.style, t.hoverStyle, o, l, {labelFetcher: e, labelDataIndex: n, defaultText: d.getName(n) || '', isRectText: !0, autoColor: u}), s.setHoverStyle(t, {}), t.dataModel = e }), h.__data = d, h.group.silent = e.get('silent') || t.get('silent') }}) }, '8e9a': function (t) { t.exports = {color: ['#2d8cf0', '#19be6b', '#ff9900', '#E46CBB', '#9A66E4', '#ed3f14'], backgroundColor: 'rgba(0,0,0,0)', textStyle: {}, title: {textStyle: {color: '#516b91'}, subtextStyle: {color: '#93b7e3'}}, line: {itemStyle: {normal: {borderWidth: '2'}}, lineStyle: {normal: {width: '2'}}, symbolSize: '6', symbol: 'emptyCircle', smooth: !0}, radar: {itemStyle: {normal: {borderWidth: '2'}}, lineStyle: {normal: {width: '2'}}, symbolSize: '6', symbol: 'emptyCircle', smooth: !0}, bar: {itemStyle: {normal: {barBorderWidth: 0, barBorderColor: '#ccc'}, emphasis: {barBorderWidth: 0, barBorderColor: '#ccc'}}}, pie: {itemStyle: {normal: {borderWidth: 0, borderColor: '#ccc'}, emphasis: {borderWidth: 0, borderColor: '#ccc'}}}, scatter: {itemStyle: {normal: {borderWidth: 0, borderColor: '#ccc'}, emphasis: {borderWidth: 0, borderColor: '#ccc'}}}, boxplot: {itemStyle: {normal: {borderWidth: 0, borderColor: '#ccc'}, emphasis: {borderWidth: 0, borderColor: '#ccc'}}}, parallel: {itemStyle: {normal: {borderWidth: 0, borderColor: '#ccc'}, emphasis: {borderWidth: 0, borderColor: '#ccc'}}}, sankey: {itemStyle: {normal: {borderWidth: 0, borderColor: '#ccc'}, emphasis: {borderWidth: 0, borderColor: '#ccc'}}}, funnel: {itemStyle: {normal: {borderWidth: 0, borderColor: '#ccc'}, emphasis: {borderWidth: 0, borderColor: '#ccc'}}}, gauge: {itemStyle: {normal: {borderWidth: 0, borderColor: '#ccc'}, emphasis: {borderWidth: 0, borderColor: '#ccc'}}}, candlestick: {itemStyle: {normal: {color: '#edafda', color0: 'transparent', borderColor: '#d680bc', borderColor0: '#8fd3e8', borderWidth: '2'}}}, graph: {itemStyle: {normal: {borderWidth: 0, borderColor: '#ccc'}}, lineStyle: {normal: {width: 1, color: '#aaa'}}, symbolSize: '6', symbol: 'emptyCircle', smooth: !0, color: ['#2d8cf0', '#19be6b', '#f5ae4a', '#9189d5', '#56cae2', '#cbb0e3'], label: {normal: {textStyle: {color: '#eee'}}}}, map: {itemStyle: {normal: {areaColor: '#f3f3f3', borderColor: '#516b91', borderWidth: 0.5}, emphasis: {areaColor: 'rgba(165,231,240,1)', borderColor: '#516b91', borderWidth: 1}}, label: {normal: {textStyle: {color: '#000'}}, emphasis: {textStyle: {color: 'rgb(81,107,145)'}}}}, geo: {itemStyle: {normal: {areaColor: '#f3f3f3', borderColor: '#516b91', borderWidth: 0.5}, emphasis: {areaColor: 'rgba(165,231,240,1)', borderColor: '#516b91', borderWidth: 1}}, label: {normal: {textStyle: {color: '#000'}}, emphasis: {textStyle: {color: 'rgb(81,107,145)'}}}}, categoryAxis: {axisLine: {show: !0, lineStyle: {color: '#cccccc'}}, axisTick: {show: !1, lineStyle: {color: '#333'}}, axisLabel: {show: !0, textStyle: {color: '#999999'}}, splitLine: {show: !0, lineStyle: {color: ['#eeeeee']}}, splitArea: {show: !1, areaStyle: {color: ['rgba(250,250,250,0.05)', 'rgba(200,200,200,0.02)']}}}, valueAxis: {axisLine: {show: !0, lineStyle: {color: '#cccccc'}}, axisTick: {show: !1, lineStyle: {color: '#333'}}, axisLabel: {show: !0, textStyle: {color: '#999999'}}, splitLine: {show: !0, lineStyle: {color: ['#eeeeee']}}, splitArea: {show: !1, areaStyle: {color: ['rgba(250,250,250,0.05)', 'rgba(200,200,200,0.02)']}}}, logAxis: {axisLine: {show: !0, lineStyle: {color: '#cccccc'}}, axisTick: {show: !1, lineStyle: {color: '#333'}}, axisLabel: {show: !0, textStyle: {color: '#999999'}}, splitLine: {show: !0, lineStyle: {color: ['#eeeeee']}}, splitArea: {show: !1, areaStyle: {color: ['rgba(250,250,250,0.05)', 'rgba(200,200,200,0.02)']}}}, timeAxis: {axisLine: {show: !0, lineStyle: {color: '#cccccc'}}, axisTick: {show: !1, lineStyle: {color: '#333'}}, axisLabel: {show: !0, textStyle: {color: '#999999'}}, splitLine: {show: !0, lineStyle: {color: ['#eeeeee']}}, splitArea: {show: !1, areaStyle: {color: ['rgba(250,250,250,0.05)', 'rgba(200,200,200,0.02)']}}}, toolbox: {iconStyle: {normal: {borderColor: '#999'}, emphasis: {borderColor: '#666'}}}, legend: {textStyle: {color: '#999999'}}, tooltip: {axisPointer: {lineStyle: {color: '#ccc', width: 1}, crossStyle: {color: '#ccc', width: 1}}}, timeline: {lineStyle: {color: '#8fd3e8', width: 1}, itemStyle: {normal: {color: '#8fd3e8', borderWidth: 1}, emphasis: {color: '#8fd3e8'}}, controlStyle: {normal: {color: '#8fd3e8', borderColor: '#8fd3e8', borderWidth: 0.5}, emphasis: {color: '#8fd3e8', borderColor: '#8fd3e8', borderWidth: 0.5}}, checkpointStyle: {color: '#8fd3e8', borderColor: 'rgba(138,124,168,0.37)'}, label: {normal: {textStyle: {color: '#8fd3e8'}}, emphasis: {textStyle: {color: '#8fd3e8'}}}}, visualMap: {color: ['#516b91', '#59c4e6', '#a5e7f0']}, dataZoom: {backgroundColor: 'rgba(0,0,0,0)', dataBackgroundColor: 'rgba(255,255,255,0.3)', fillerColor: 'rgba(167,183,204,0.4)', handleColor: '#a7b7cc', handleSize: '100%', textStyle: {color: '#333'}}, markPoint: {label: {normal: {textStyle: {color: '#eee'}}, emphasis: {textStyle: {color: '#eee'}}}}} }, '8ec5': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('2145'), o = i.extendComponentModel({type: 'toolbox', layoutMode: {type: 'box', ignoreSize: !0}, optionUpdated: function () { o.superApply(this, 'optionUpdated', arguments), a.each(this.option.feature, function (t, e) { var n = r.get(e); n && a.merge(t, n.defaultOption) }) }, defaultOption: {show: !0, z: 6, zlevel: 0, orient: 'horizontal', left: 'right', top: 'top', backgroundColor: 'transparent', borderColor: '#ccc', borderRadius: 0, borderWidth: 0, padding: 5, itemSize: 15, itemGap: 8, showTitle: !0, iconStyle: {borderColor: '#666', color: 'none'}, emphasis: {iconStyle: {borderColor: '#3E98C5'}}}}), s = o; t.exports = s }, '8ed2': function (t, e, n) { n('48c7'); var i = n('6cb7'), a = i.extend({type: 'grid', dependencies: ['xAxis', 'yAxis'], layoutMode: 'box', coordinateSystem: null, defaultOption: {show: !1, zlevel: 0, z: 0, left: '10%', top: 60, right: '10%', bottom: 60, containLabel: !1, backgroundColor: 'rgba(0,0,0,0)', borderWidth: 1, borderColor: '#ccc'}}); t.exports = a }, '8ee0': function (t, e, n) { n('3f8e'); var i = n('697e7'), a = i.registerPainter, r = n('dc20'); a('svg', r) }, '903c': function (t, e) { function n (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 }) }t.exports = n }, '90c2': function (t, e, n) { var i = n('5f14'), a = n('41ef'), r = n('6d8b'), o = r.isArray, s = 'itemStyle', l = {seriesType: 'treemap', reset: function (t, e, n, i) { var a = t.getData().tree, o = a.root, l = t.getModel(s); if (!o.isRemoved()) { var c = r.map(a.levelModels, function (t) { return t ? t.get(s) : null }); u(o, {}, c, l, t.getViewRoot().getAncestors(), t) } }}; function u (t, e, n, i, a, o) { var l = t.getModel(), f = t.getLayout(); if (f && !f.invisible && f.isInView) { var g, v = t.getModel(s), y = n[t.depth], x = c(v, e, y, i), _ = v.get('borderColor'), b = v.get('borderColorSaturation'); b != null && (g = h(x, t), _ = d(b, g)), t.setVisual('borderColor', _); var w = t.viewChildren; if (w && w.length) { var S = p(t, l, f, v, x, w); r.each(w, function (t, e) { if (t.depth >= a.length || t === a[t.depth]) { var r = m(l, x, t, e, S, o); u(t, r, n, i, a, o) } }) } else g = h(x, t), t.setVisual('color', g) } } function c (t, e, n, i) { var a = r.extend({}, e); return r.each(['color', 'colorAlpha', 'colorSaturation'], function (r) { var o = t.get(r, !0); o == null && n && (o = n[r]), o == null && (o = e[r]), o == null && (o = i.get(r)), o != null && (a[r] = o) }), a } function h (t) { var e = f(t, 'color'); if (e) { var n = f(t, 'colorAlpha'), i = f(t, 'colorSaturation'); return i && (e = a.modifyHSL(e, null, null, i)), n && (e = a.modifyAlpha(e, n)), e } } function d (t, e) { return e != null ? a.modifyHSL(e, null, null, t) : null } function f (t, e) { var n = t[e]; if (n != null && n !== 'none') return n } function p (t, e, n, a, r, o) { if (o && o.length) { var s = g(e, 'color') || r.color != null && r.color !== 'none' && (g(e, 'colorAlpha') || g(e, 'colorSaturation')); if (s) { var l = e.get('visualMin'), u = e.get('visualMax'), c = n.dataExtent.slice(); l != null && l < c[0] && (c[0] = l), u != null && u > c[1] && (c[1] = u); var h = e.get('colorMappingBy'), d = {type: s.name, dataExtent: c, visual: s.range}; d.type !== 'color' || h !== 'index' && h !== 'id' ? d.mappingMethod = 'linear' : (d.mappingMethod = 'category', d.loop = !0); var f = new i(d); return f.__drColorMappingBy = h, f } } } function g (t, e) { var n = t.get(e); return o(n) && n.length ? {name: e, range: n} : null } function m (t, e, n, i, a, o) { var s = r.extend({}, e); if (a) { var l = a.type, u = l === 'color' && a.__drColorMappingBy, c = u === 'index' ? i : u === 'id' ? o.mapIdToIndex(n.getId()) : n.getValue(t.get('visualDimension')); s[l] = a.mapValueToVisual(c) } return s }t.exports = l }, '923d': function (t, e, n) { var i = n('6d8b'), a = n('3842'), r = n('ee1a'), o = r.isDimensionStacked, s = i.indexOf; function l (t) { return !(isNaN(parseFloat(t.x)) && isNaN(parseFloat(t.y))) } function u (t) { return !isNaN(parseFloat(t.x)) && !isNaN(parseFloat(t.y)) } function c (t, e, n, i, r, s) { var l = [], u = o(e, i), c = u ? e.getCalculationInfo('stackResultDimension') : i, h = y(e, c, t), d = e.indicesOfNearest(c, h)[0]; l[r] = e.get(n, d), l[s] = e.get(i, d); var f = a.getPrecision(e.get(i, d)); return f = Math.min(f, 20), f >= 0 && (l[s] = +l[s].toFixed(f)), l } var h = i.curry, d = {min: h(c, 'min'), max: h(c, 'max'), average: h(c, 'average')}; function f (t, e) { var n = t.getData(), a = t.coordinateSystem; if (e && !u(e) && !i.isArray(e.coord) && a) { var r = a.dimensions, o = p(e, n, a, t); if (e = i.clone(e), e.type && d[e.type] && o.baseAxis && o.valueAxis) { var l = s(r, o.baseAxis.dim), c = s(r, o.valueAxis.dim); e.coord = d[e.type](n, o.baseDataDim, o.valueDataDim, l, c), e.value = e.coord[c] } else { for (var h = [e.xAxis != null ? e.xAxis : e.radiusAxis, e.yAxis != null ? e.yAxis : e.angleAxis], f = 0; f < 2; f++)d[h[f]] && (h[f] = y(n, n.mapDimension(r[f]), h[f])); e.coord = h } } return e } function p (t, e, n, i) { var a = {}; return t.valueIndex != null || t.valueDim != null ? (a.valueDataDim = t.valueIndex != null ? e.getDimension(t.valueIndex) : t.valueDim, a.valueAxis = n.getAxis(g(i, a.valueDataDim)), a.baseAxis = n.getOtherAxis(a.valueAxis), a.baseDataDim = e.mapDimension(a.baseAxis.dim)) : (a.baseAxis = i.getBaseAxis(), a.valueAxis = n.getOtherAxis(a.baseAxis), a.baseDataDim = e.mapDimension(a.baseAxis.dim), a.valueDataDim = e.mapDimension(a.valueAxis.dim)), a } function g (t, e) { var n = t.getData(), i = n.dimensions; e = n.getDimension(e); for (var a = 0; a < i.length; a++) { var r = n.getDimensionInfo(i[a]); if (r.name === e) return r.coordDim } } function m (t, e) { return !(t && t.containData && e.coord && !l(e)) || t.containData(e.coord) } function v (t, e, n, i) { return i < 2 ? t.coord && t.coord[i] : t.value } function y (t, e, n) { if (n === 'average') { var i = 0, a = 0; return t.each(e, function (t, e) { isNaN(t) || (i += t, a++) }), i / a } return n === 'median' ? t.getMedian(e) : t.getDataExtent(e, !0)[n === 'max' ? 1 : 0] }e.dataTransform = f, e.getAxisInfo = p, e.dataFilter = m, e.dimValueGetter = v, e.numCalculate = y }, 9273: function (t, e, n) { var i = n('6d8b'), a = n('84ce'); function r (t, e) { a.call(this, 'radius', t, e), this.type = 'category' }r.prototype = {constructor: r, pointToData: function (t, e) { return this.polar.pointToData(t, e)[this.dim === 'radius' ? 0 : 1] }, dataToRadius: a.prototype.dataToCoord, radiusToData: a.prototype.coordToData}, i.inherits(r, a); var o = r; t.exports = o }, '928d': function (t, e, n) { var i = n('6d8b'), a = n('4f85'), r = n('06c7'), o = n('4319'), s = n('eda2'), l = s.encodeHTML, u = s.addCommas, c = n('55ac'), h = c.wrapTreePathInfo, d = a.extend({type: 'series.treemap', layoutMode: 'box', dependencies: ['grid', 'polar'], _viewRoot: null, defaultOption: {progressive: 0, hoverLayerThreshold: 1 / 0, left: 'center', top: 'middle', right: null, bottom: null, width: '80%', height: '80%', sort: !0, clipWindow: 'origin', squareRatio: 0.5 * (1 + Math.sqrt(5)), leafDepth: null, drillDownIcon: '▶', zoomToNodeRatio: 0.1024, roam: !0, nodeClick: 'zoomToNode', animation: !0, animationDurationUpdate: 900, animationEasing: 'quinticInOut', breadcrumb: {show: !0, height: 22, left: 'center', top: 'bottom', emptyItemWidth: 25, itemStyle: {color: 'rgba(0,0,0,0.7)', borderColor: 'rgba(255,255,255,0.7)', borderWidth: 1, shadowColor: 'rgba(150,150,150,1)', shadowBlur: 3, shadowOffsetX: 0, shadowOffsetY: 0, textStyle: {color: '#fff'}}, emphasis: {textStyle: {}}}, label: {show: !0, distance: 0, padding: 5, position: 'inside', color: '#fff', ellipsis: !0}, upperLabel: {show: !1, position: [0, '50%'], height: 20, color: '#fff', ellipsis: !0, verticalAlign: 'middle'}, itemStyle: {color: null, colorAlpha: null, colorSaturation: null, borderWidth: 0, gapWidth: 0, borderColor: '#fff', borderColorSaturation: null}, emphasis: {upperLabel: {show: !0, position: [0, '50%'], color: '#fff', ellipsis: !0, verticalAlign: 'middle'}}, visualDimension: 0, visualMin: null, visualMax: null, color: [], colorAlpha: null, colorSaturation: null, colorMappingBy: 'index', visibleMin: 10, childrenVisibleMin: null, levels: []}, getInitialData: function (t, e) { var n = {name: t.name, children: t.data}; f(n); var i = t.levels || []; i = t.levels = p(i, e); var a = {}; return a.levels = i, r.createTree(n, this, a).data }, optionUpdated: function () { this.resetViewRoot() }, formatTooltip: function (t) { var e = this.getData(), n = this.getRawValue(t), a = i.isArray(n) ? u(n[0]) : u(n), r = e.getName(t); return l(r + ': ' + a) }, getDataParams: function (t) { var e = a.prototype.getDataParams.apply(this, arguments), n = this.getData().tree.getNodeByDataIndex(t); return e.treePathInfo = h(n, this), e }, setLayoutInfo: function (t) { this.layoutInfo = this.layoutInfo || {}, i.extend(this.layoutInfo, t) }, mapIdToIndex: function (t) { var e = this._idIndexMap; e || (e = this._idIndexMap = i.createHashMap(), this._idIndexMapCount = 0); var n = e.get(t); return n == null && e.set(t, n = this._idIndexMapCount++), n }, getViewRoot: function () { return this._viewRoot }, resetViewRoot: function (t) { t ? this._viewRoot = t : t = this._viewRoot; var e = this.getRawData().tree.root; t && (t === e || e.contains(t)) || (this._viewRoot = e) }}); function f (t) { var e = 0; i.each(t.children, function (t) { f(t); var n = t.value; i.isArray(n) && (n = n[0]), e += n }); var n = t.value; i.isArray(n) && (n = n[0]), (n == null || isNaN(n)) && (n = e), n < 0 && (n = 0), i.isArray(t.value) ? t.value[0] = n : t.value = n } function p (t, e) { var n = e.get('color'); if (n) { var a; if (t = t || [], i.each(t, function (t) { var e = new o(t), n = e.get('color'); (e.get('itemStyle.color') || n && n !== 'none') && (a = !0) }), !a) { var r = t[0] || (t[0] = {}); r.color = n.slice() } return t } }t.exports = d }, '933b': function (t, e, n) { var i = n('b12f'), a = i.extend({type: 'timeline'}); t.exports = a }, 9390: function (t, e, n) { n('d090'), n('83ba'), n('ee66') }, '93d0': function (t, e) { var n = 'original', i = 'arrayRows', a = 'objectRows', r = 'keyedColumns', o = 'unknown', s = 'typedArray', l = 'column', u = 'row'; e.SOURCE_FORMAT_ORIGINAL = n, e.SOURCE_FORMAT_ARRAY_ROWS = i, e.SOURCE_FORMAT_OBJECT_ROWS = a, e.SOURCE_FORMAT_KEYED_COLUMNS = r, e.SOURCE_FORMAT_UNKNOWN = o, e.SOURCE_FORMAT_TYPED_ARRAY = s, e.SERIES_LAYOUT_BY_COLUMN = l, e.SERIES_LAYOUT_BY_ROW = u }, 9442: function (t, e, n) { var i = n('6d8b'); function a (t) { var e = []; i.each(t.series, function (t) { t && t.type === 'map' && (e.push(t), t.map = t.map || t.mapType, i.defaults(t, t.mapLocation)) }) }t.exports = a }, '944e': function (t, e, n) { var i = n('3842'), a = i.round; function r (t, e, n, r) { var s = {}, u = t[1] - t[0], c = s.interval = i.nice(u / e, !0); n != null && c < n && (c = s.interval = n), r != null && c > r && (c = s.interval = r); var h = s.intervalPrecision = o(c), d = s.niceTickExtent = [a(Math.ceil(t[0] / c) * c, h), a(Math.floor(t[1] / c) * c, h)]; return l(d, t), s } function o (t) { return i.getPrecisionSafe(t) + 2 } function s (t, e, n) { t[e] = Math.max(Math.min(t[e], n[1]), n[0]) } function l (t, e) { !isFinite(t[0]) && (t[0] = e[0]), !isFinite(t[1]) && (t[1] = e[1]), s(t, 0, e), s(t, 1, e), t[0] > t[1] && (t[0] = t[1]) } function u (t, e, n, i) { var r = []; if (!t) return r; var o = 1e4; e[0] < n[0] && r.push(e[0]); var s = n[0]; while (s <= n[1]) { if (r.push(s), s = a(s + t, i), s === r[r.length - 1]) break; if (r.length > o) return [] } return e[1] > (r.length ? r[r.length - 1] : n[1]) && r.push(e[1]), r }e.intervalScaleNiceTicks = r, e.getIntervalPrecision = o, e.fixExtent = l, e.intervalScaleGetTicks = u }, '94b1': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('9d57'), o = r.layout, s = r.largeLayout; n('5aa9'), n('17b8'), n('67cc'), n('01ed'), i.registerLayout(a.curry(o, 'bar')), i.registerLayout(s), i.registerVisual({seriesType: 'bar', reset: function (t) { t.getData().setVisual('legendSymbol', 'roundRect') }}) }, '94e4': function (t, e, n) { var i = n('401b'); function a (t) { var e = t.coordinateSystem; if (!e || e.type === 'view') { var n = e.getBoundingRect(), a = t.getData(), r = a.graph, o = 0, s = a.getSum('value'), l = 2 * Math.PI / (s || a.count()), u = n.width / 2 + n.x, c = n.height / 2 + n.y, h = Math.min(n.width, n.height) / 2; r.eachNode(function (t) { var e = t.getValue('value'); o += l * (s ? e : 1) / 2, t.setLayout([h * Math.cos(o) + u, h * Math.sin(o) + c]), o += l * (s ? e : 1) / 2 }), a.setLayout({cx: u, cy: c}), r.eachEdge(function (t) { var e, n = t.getModel().get('lineStyle.curveness') || 0, a = i.clone(t.node1.getLayout()), r = i.clone(t.node2.getLayout()), o = (a[0] + r[0]) / 2, s = (a[1] + r[1]) / 2; +n && (n *= 3, e = [u * n + o * (1 - n), c * n + s * (1 - n)]), t.setLayout([a, r, e]) }) } }e.circularLayout = a }, '95a8': function (t, e, n) { var i = n('3eba'); n('1953'), n('307d'), i.registerPreprocessor(function (t) { t.markLine = t.markLine || {} }) }, 9680: function (t, e) { function n (t, e, n, i, a, r, o) { if (a === 0) return !1; var s = a, l = 0, u = t; if (o > e + s && o > i + s || o < e - s && o < i - s || r > t + s && r > n + s || r < t - s && r < n - s) return !1; if (t === n) return Math.abs(r - t) <= s / 2; l = (e - i) / (t - n), u = (t * i - n * e) / (t - n); var c = l * r - o + u, h = c * c / (l * l + 1); return h <= s / 2 * s / 2 }e.containStroke = n }, 9704: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('f706'), o = n('73ca'), s = n('4a01'), l = n('01ef'), u = n('c526'), c = u.onIrrelevantElement, h = n('2306'), d = n('480f'), f = ['itemStyle', 'opacity'], p = ['lineStyle', 'opacity']; function g (t, e) { return t.getVisual('opacity') || t.getModel().get(e) } function m (t, e, n) { var i = t.getGraphicEl(), a = g(t, e); n != null && (a == null && (a = 1), a *= n), i.downplay && i.downplay(), i.traverse(function (t) { t.type !== 'group' && t.setStyle('opacity', a) }) } function v (t, e) { var n = g(t, e), i = t.getGraphicEl(); i.highlight && i.highlight(), i.traverse(function (t) { t.type !== 'group' && t.setStyle('opacity', n) }) } var y = i.extendChartView({type: 'graph', init: function (t, e) { var n = new r(), i = new o(), a = this.group; this._controller = new s(e.getZr()), this._controllerHost = {target: a}, a.add(n.group), a.add(i.group), this._symbolDraw = n, this._lineDraw = i, this._firstRender = !0 }, render: function (t, e, n) { var i = t.coordinateSystem; this._model = t, this._nodeScaleRatio = t.get('nodeScaleRatio'); var a = this._symbolDraw, r = this._lineDraw, o = this.group; if (i.type === 'view') { var s = {position: i.position, scale: i.scale}; this._firstRender ? o.attr(s) : h.updateProps(o, s, t) }d(t.getGraph(), this._getNodeGlobalScale(t)); var l = t.getData(); a.updateData(l); var u = t.getEdgeData(); r.updateData(u), this._updateNodeAndLinkScale(), this._updateController(t, e, n), clearTimeout(this._layoutTimeout); var c = t.forceLayout, f = t.get('force.layoutAnimation'); c && this._startForceLayoutIteration(c, f), l.eachItemGraphicEl(function (e, i) { var a = l.getItemModel(i); e.off('drag').off('dragend'); var r = l.getItemModel(i).get('draggable'); r && e.on('drag', function () { c && (c.warmUp(), !this._layouting && this._startForceLayoutIteration(c, f), c.setFixed(i), l.setItemLayout(i, e.position)) }, this).on('dragend', function () { c && c.setUnfixed(i) }, this), e.setDraggable(r && c), e.off('mouseover', e.__focusNodeAdjacency), e.off('mouseout', e.__unfocusNodeAdjacency), a.get('focusNodeAdjacency') && (e.on('mouseover', e.__focusNodeAdjacency = function () { n.dispatchAction({type: 'focusNodeAdjacency', seriesId: t.id, dataIndex: e.dataIndex}) }), e.on('mouseout', e.__unfocusNodeAdjacency = function () { n.dispatchAction({type: 'unfocusNodeAdjacency', seriesId: t.id}) })) }, this), l.graph.eachEdge(function (e) { var i = e.getGraphicEl(); i.off('mouseover', i.__focusNodeAdjacency), i.off('mouseout', i.__unfocusNodeAdjacency), e.getModel().get('focusNodeAdjacency') && (i.on('mouseover', i.__focusNodeAdjacency = function () { n.dispatchAction({type: 'focusNodeAdjacency', seriesId: t.id, edgeDataIndex: e.dataIndex}) }), i.on('mouseout', i.__unfocusNodeAdjacency = function () { n.dispatchAction({type: 'unfocusNodeAdjacency', seriesId: t.id}) })) }); var p = t.get('layout') === 'circular' && t.get('circular.rotateLabel'), g = l.getLayout('cx'), m = l.getLayout('cy'); l.eachItemGraphicEl(function (t, e) { var n = t.getSymbolPath(); if (p) { var i = l.getItemLayout(e), a = Math.atan2(i[1] - m, i[0] - g); a < 0 && (a = 2 * Math.PI + a); var r = i[0] < g; r && (a -= Math.PI); var o = r ? 'left' : 'right'; n.setStyle({textRotation: -a, textPosition: o, textOrigin: 'center'}), n.hoverStyle && (n.hoverStyle.textPosition = o) } else n.setStyle({textRotation: 0}) }), this._firstRender = !1 }, dispose: function () { this._controller && this._controller.dispose(), this._controllerHost = {} }, focusNodeAdjacency: function (t, e, n, i) { var r = this._model.getData(), o = r.graph, s = i.dataIndex, l = i.edgeDataIndex, u = o.getNodeByIndex(s), c = o.getEdgeByIndex(l); (u || c) && (o.eachNode(function (t) { m(t, f, 0.1) }), o.eachEdge(function (t) { m(t, p, 0.1) }), u && (v(u, f), a.each(u.edges, function (t) { t.dataIndex < 0 || (v(t, p), v(t.node1, f), v(t.node2, f)) })), c && (v(c, p), v(c.node1, f), v(c.node2, f))) }, unfocusNodeAdjacency: function (t, e, n, i) { var a = this._model.getData().graph; a.eachNode(function (t) { m(t, f) }), a.eachEdge(function (t) { m(t, p) }) }, _startForceLayoutIteration: function (t, e) { var n = this; (function i () { t.step(function (t) { n.updateLayout(n._model), (n._layouting = !t) && (e ? n._layoutTimeout = setTimeout(i, 16) : i()) }) })() }, _updateController: function (t, e, n) { var i = this._controller, a = this._controllerHost, r = this.group; i.setPointerChecker(function (e, i, a) { var o = r.getBoundingRect(); return o.applyTransform(r.transform), o.contain(i, a) && !c(e, n, t) }), t.coordinateSystem.type === 'view' ? (i.enable(t.get('roam')), a.zoomLimit = t.get('scaleLimit'), a.zoom = t.coordinateSystem.getZoom(), i.off('pan').off('zoom').on('pan', function (e, i) { l.updateViewOnPan(a, e, i), n.dispatchAction({seriesId: t.id, type: 'graphRoam', dx: e, dy: i}) }).on('zoom', function (e, i, r) { l.updateViewOnZoom(a, e, i, r), n.dispatchAction({seriesId: t.id, type: 'graphRoam', zoom: e, originX: i, originY: r}), this._updateNodeAndLinkScale(), d(t.getGraph(), this._getNodeGlobalScale(t)), this._lineDraw.updateLayout() }, this)) : i.disable() }, _updateNodeAndLinkScale: function () { var t = this._model, e = t.getData(), n = this._getNodeGlobalScale(t), i = [n, n]; e.eachItemGraphicEl(function (t, e) { t.attr('scale', i) }) }, _getNodeGlobalScale: function (t) { var e = t.coordinateSystem; if (e.type !== 'view') return 1; var n = this._nodeScaleRatio, i = e.scale, a = i && i[0] || 1, r = e.getZoom(), o = (r - 1) * n + 1; return o / a }, updateLayout: function (t) { d(t.getGraph(), this._getNodeGlobalScale(t)), this._symbolDraw.updateLayout(), this._lineDraw.updateLayout() }, remove: function (t, e) { this._symbolDraw && this._symbolDraw.remove(), this._lineDraw && this._lineDraw.remove() }}); t.exports = y }, 9850: function (t, e, n) { var i = n('401b'), a = n('1687'), r = i.applyTransform, o = Math.min, s = Math.max; function l (t, e, n, i) { n < 0 && (t += n, n = -n), i < 0 && (e += i, i = -i), this.x = t, this.y = e, this.width = n, this.height = i }l.prototype = {constructor: l, union: function (t) { var e = o(t.x, this.x), n = o(t.y, this.y); this.width = s(t.x + t.width, this.x + this.width) - e, this.height = s(t.y + t.height, this.y + this.height) - n, this.x = e, this.y = n }, applyTransform: (function () { var t = [], e = [], n = [], i = []; return function (a) { if (a) { t[0] = n[0] = this.x, t[1] = i[1] = this.y, e[0] = i[0] = this.x + this.width, e[1] = n[1] = this.y + this.height, r(t, t, a), r(e, e, a), r(n, n, a), r(i, i, a), this.x = o(t[0], e[0], n[0], i[0]), this.y = o(t[1], e[1], n[1], i[1]); var l = s(t[0], e[0], n[0], i[0]), u = s(t[1], e[1], n[1], i[1]); this.width = l - this.x, this.height = u - this.y } } }()), calculateTransform: function (t) { var e = this, n = t.width / e.width, i = t.height / e.height, r = a.create(); return a.translate(r, r, [-e.x, -e.y]), a.scale(r, r, [n, i]), a.translate(r, r, [t.x, t.y]), r }, intersect: function (t) { if (!t) return !1; t instanceof l || (t = l.create(t)); var e = this, n = e.x, i = e.x + e.width, a = e.y, r = e.y + e.height, o = t.x, s = t.x + t.width, u = t.y, c = t.y + t.height; return !(i < o || s < n || r < u || c < a) }, contain: function (t, e) { var n = this; return t >= n.x && t <= n.x + n.width && e >= n.y && e <= n.y + n.height }, clone: function () { return new l(this.x, this.y, this.width, this.height) }, copy: function (t) { this.x = t.x, this.y = t.y, this.width = t.width, this.height = t.height }, plain: function () { return {x: this.x, y: this.y, width: this.width, height: this.height} }}, l.create = function (t) { return new l(t.x, t.y, t.width, t.height) }; var u = l; t.exports = u }, '98b7': function (t, e) { var n = typeof window !== 'undefined' && (window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.msRequestAnimationFrame && window.msRequestAnimationFrame.bind(window) || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame) || function (t) { setTimeout(t, 16) }; t.exports = n }, '98e7': function (t, e, n) { var i = n('6d8b'), a = i.createHashMap; function r (t) { return {getTargetSeries: function (e) { var n = {}, i = a(); return e.eachSeriesByType(t, function (t) { t.__paletteScope = n, i.set(t.uid, t) }), i }, reset: function (t, e) { var n = t.getRawData(), i = {}, a = t.getData(); a.each(function (t) { var e = a.getRawIndex(t); i[e] = t }), n.each(function (e) { var r = i[e], o = r != null && a.getItemVisual(r, 'color', !0); if (o)n.setItemVisual(e, 'color', o); else { var s = n.getItemModel(e), l = s.get('itemStyle.color') || t.getColorFromPalette(n.getName(e) || e + '', t.__paletteScope, n.count()); n.setItemVisual(e, 'color', l), r != null && a.setItemVisual(r, 'color', l) } }) }} }t.exports = r }, '998c': function (t, e, n) { var i = n('6d8b'), a = n('2306'), r = Math.PI; function o (t, e) { e = e || {}, i.defaults(e, {text: 'loading', color: '#c23531', textColor: '#000', maskColor: 'rgba(255, 255, 255, 0.8)', zlevel: 0}); var n = new a.Rect({style: {fill: e.maskColor}, zlevel: e.zlevel, z: 1e4}), o = new a.Arc({shape: {startAngle: -r / 2, endAngle: -r / 2 + 0.1, r: 10}, style: {stroke: e.color, lineCap: 'round', lineWidth: 5}, zlevel: e.zlevel, z: 10001}), s = new a.Rect({style: {fill: 'none', text: e.text, textPosition: 'right', textDistance: 10, textFill: e.textColor}, zlevel: e.zlevel, z: 10001}); o.animateShape(!0).when(1e3, {endAngle: 3 * r / 2}).start('circularInOut'), o.animateShape(!0).when(1e3, {startAngle: 3 * r / 2}).delay(300).start('circularInOut'); var l = new a.Group(); return l.add(o), l.add(s), l.add(n), l.resize = function () { var e = t.getWidth() / 2, i = t.getHeight() / 2; o.setShape({cx: e, cy: i}); var a = o.shape.r; s.setShape({x: e - a, y: i - a, width: 2 * a, height: 2 * a}), n.setShape({x: 0, y: 0, width: t.getWidth(), height: t.getHeight()}) }, l.resize(), l }t.exports = o }, '9bdb': function (t, e, n) { var i = n('282b'), a = i([['fill', 'color'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['opacity'], ['shadowColor']]), r = {getAreaStyle: function (t, e) { return a(this, t, e) }}; t.exports = r }, '9c2c': function (t, e, n) { var i = n('401b'), a = i.min, r = i.max, o = i.scale, s = i.distance, l = i.add, u = i.clone, c = i.sub; function h (t, e, n, i) { var h, d, f, p, g = [], m = [], v = [], y = []; if (i) { f = [1 / 0, 1 / 0], p = [-1 / 0, -1 / 0]; for (var x = 0, _ = t.length; x < _; x++)a(f, f, t[x]), r(p, p, t[x]); a(f, f, i[0]), r(p, p, i[1]) } for (x = 0, _ = t.length; x < _; x++) { var b = t[x]; if (n)h = t[x ? x - 1 : _ - 1], d = t[(x + 1) % _]; else { if (x === 0 || x === _ - 1) { g.push(u(t[x])); continue }h = t[x - 1], d = t[x + 1] }c(m, d, h), o(m, m, e); var w = s(b, h), S = s(b, d), M = w + S; M !== 0 && (w /= M, S /= M), o(v, m, -w), o(y, m, S); var I = l([], b, v), A = l([], b, y); i && (r(I, I, f), a(I, I, p), r(A, A, f), a(A, A, p)), g.push(I), g.push(A) } return n && g.push(g.shift()), g }t.exports = h }, '9ca8': function (t, e, n) { var i = n('6d8b'), a = n('9850'), r = n('3842'), o = r.parsePercent, s = r.MAX_SAFE_INTEGER, l = n('f934'), u = n('55ac'), c = Math.max, h = Math.min, d = i.retrieve, f = i.each, p = ['itemStyle', 'borderWidth'], g = ['itemStyle', 'gapWidth'], m = ['upperLabel', 'show'], v = ['upperLabel', 'height'], y = {seriesType: 'treemap', reset: function (t, e, n, r) { var s = n.getWidth(), c = n.getHeight(), h = t.option, p = l.getLayoutRect(t.getBoxLayoutParams(), {width: n.getWidth(), height: n.getHeight()}), g = h.size || [], m = o(d(p.width, g[0]), s), v = o(d(p.height, g[1]), c), y = r && r.type, _ = ['treemapZoomToNode', 'treemapRootToNode'], b = u.retrieveTargetInfo(r, _, t), w = y === 'treemapRender' || y === 'treemapMove' ? r.rootRect : null, S = t.getViewRoot(), M = u.getPathToRoot(S); if (y !== 'treemapMove') { var I = y === 'treemapZoomToNode' ? A(t, b, S, m, v) : w ? [w.width, w.height] : [m, v], D = h.sort; D && D !== 'asc' && D !== 'desc' && (D = 'desc'); var L = {squareRatio: h.squareRatio, sort: D, leafDepth: h.leafDepth}; S.hostTree.clearLayouts(); var P = {x: 0, y: 0, width: I[0], height: I[1], area: I[0] * I[1]}; S.setLayout(P), x(S, L, !1, 0); P = S.getLayout(); f(M, function (t, e) { var n = (M[e + 1] || S).getValue(); t.setLayout(i.extend({dataExtent: [n, n], borderWidth: 0, upperHeight: 0}, P)) }) } var k = t.getData().tree.root; k.setLayout(T(p, w, b), !0), t.setLayoutInfo(p), C(k, new a(-p.x, -p.y, s, c), M, S, 0) }}; function x (t, e, n, i) { var a, r; if (!t.isRemoved()) { var o = t.getLayout(); a = o.width, r = o.height; var s = t.getModel(), l = s.get(p), u = s.get(g) / 2, d = D(s), f = Math.max(l, d), m = l - u, v = f - u; s = t.getModel(); t.setLayout({borderWidth: l, upperHeight: f, upperLabelHeight: d}, !0), a = c(a - 2 * m, 0), r = c(r - m - v, 0); var y = a * r, b = _(t, s, y, e, n, i); if (b.length) { var w = {x: m, y: v, width: a, height: r}, S = h(a, r), A = 1 / 0, T = []; T.area = 0; for (var C = 0, L = b.length; C < L;) { var P = b[C]; T.push(P), T.area += P.getLayout().area; var k = M(T, S, e.squareRatio); k <= A ? (C++, A = k) : (T.area -= T.pop().getLayout().area, I(T, S, w, u, !1), S = h(w.width, w.height), T.length = T.area = 0, A = 1 / 0) } if (T.length && I(T, S, w, u, !0), !n) { var O = s.get('childrenVisibleMin'); O != null && y < O && (n = !0) } for (C = 0, L = b.length; C < L; C++)x(b[C], e, n, i + 1) } } } function _ (t, e, n, a, r, o) { var s = t.children || [], l = a.sort; l !== 'asc' && l !== 'desc' && (l = null); var u = a.leafDepth != null && a.leafDepth <= o; if (r && !u) return t.viewChildren = []; s = i.filter(s, function (t) { return !t.isRemoved() }), w(s, l); var c = S(e, s, l); if (c.sum === 0) return t.viewChildren = []; if (c.sum = b(e, n, c.sum, l, s), c.sum === 0) return t.viewChildren = []; for (var h = 0, d = s.length; h < d; h++) { var f = s[h].getValue() / c.sum * n; s[h].setLayout({area: f}) } return u && (s.length && t.setLayout({isLeafRoot: !0}, !0), s.length = 0), t.viewChildren = s, t.setLayout({dataExtent: c.dataExtent}, !0), s } function b (t, e, n, i, a) { if (!i) return n; for (var r = t.get('visibleMin'), o = a.length, s = o, l = o - 1; l >= 0; l--) { var u = a[i === 'asc' ? o - l - 1 : l].getValue(); u / n * e < r && (s = l, n -= u) } return i === 'asc' ? a.splice(0, o - s) : a.splice(s, o - s), n } function w (t, e) { return e && t.sort(function (t, n) { var i = e === 'asc' ? t.getValue() - n.getValue() : n.getValue() - t.getValue(); return i === 0 ? e === 'asc' ? t.dataIndex - n.dataIndex : n.dataIndex - t.dataIndex : i }), t } function S (t, e, n) { for (var i = 0, a = 0, r = e.length; a < r; a++)i += e[a].getValue(); var o = t.get('visualDimension'); if (e && e.length) if (o === 'value' && n)s = [e[e.length - 1].getValue(), e[0].getValue()], n === 'asc' && s.reverse(); else { var s = [1 / 0, -1 / 0]; f(e, function (t) { var e = t.getValue(o); e < s[0] && (s[0] = e), e > s[1] && (s[1] = e) }) } else s = [NaN, NaN]; return {sum: i, dataExtent: s} } function M (t, e, n) { for (var i, a = 0, r = 1 / 0, o = 0, s = t.length; o < s; o++)i = t[o].getLayout().area, i && (i < r && (r = i), i > a && (a = i)); var l = t.area * t.area, u = e * e * n; return l ? c(u * a / l, l / (u * r)) : 1 / 0 } function I (t, e, n, i, a) { var r = e === n.width ? 0 : 1, o = 1 - r, s = ['x', 'y'], l = ['width', 'height'], u = n[s[r]], d = e ? t.area / e : 0; (a || d > n[l[o]]) && (d = n[l[o]]); for (var f = 0, p = t.length; f < p; f++) { var g = t[f], m = {}, v = d ? g.getLayout().area / d : 0, y = m[l[o]] = c(d - 2 * i, 0), x = n[s[r]] + n[l[r]] - u, _ = f === p - 1 || x < v ? x : v, b = m[l[r]] = c(_ - 2 * i, 0); m[s[o]] = n[s[o]] + h(i, y / 2), m[s[r]] = u + h(i, b / 2), u += _, g.setLayout(m, !0) }n[s[o]] += d, n[l[o]] -= d } function A (t, e, n, i, a) { var r, o = (e || {}).node, l = [i, a]; if (!o || o === n) return l; var u = i * a, c = u * t.option.zoomToNodeRatio; while (r = o.parentNode) { for (var h = 0, d = r.children, f = 0, g = d.length; f < g; f++)h += d[f].getValue(); var m = o.getValue(); if (m === 0) return l; c *= h / m; var v = r.getModel(), y = v.get(p), x = Math.max(y, D(v, y)); c += 4 * y * y + (3 * y + x) * Math.pow(c, 0.5), c > s && (c = s), o = r }c < u && (c = u); var _ = Math.pow(c / u, 0.5); return [i * _, a * _] } function T (t, e, n) { if (e) return {x: e.x, y: e.y}; var i = {x: 0, y: 0}; if (!n) return i; var a = n.node, r = a.getLayout(); if (!r) return i; var o = [r.width / 2, r.height / 2], s = a; while (s) { var l = s.getLayout(); o[0] += l.x, o[1] += l.y, s = s.parentNode } return {x: t.width / 2 - o[0], y: t.height / 2 - o[1]} } function C (t, e, n, i, r) { var o = t.getLayout(), s = n[r], l = s && s === t; if (!(s && !l || r === n.length && t !== i)) { t.setLayout({isInView: !0, invisible: !l && !e.intersect(o), isAboveViewRoot: l}, !0); var u = new a(e.x - o.x, e.y - o.y, e.width, e.height); f(t.viewChildren || [], function (t) { C(t, u, n, i, r + 1) }) } } function D (t) { return t.get(m) ? t.get(v) : 0 }t.exports = y }, '9d57': function (t, e, n) { var i = n('6d8b'), a = n('3842'), r = a.parsePercent, o = n('ee1a'), s = o.isDimensionStacked, l = n('cccd'), u = '__ec_stack_', c = 0.5, h = typeof Float32Array !== 'undefined' ? Float32Array : Array; function d (t) { return t.get('stack') || u + t.seriesIndex } function f (t) { return t.dim + t.index } function p (t) { var e = [], n = t.axis, a = 'axis0'; if (n.type === 'category') { for (var r = n.getBandWidth(), o = 0; o < t.count; o++)e.push(i.defaults({bandWidth: r, axisKey: a, stackId: u + o}, t)); var s = v(e), l = []; for (o = 0; o < t.count; o++) { var c = s[a][u + o]; c.offsetCenter = c.offset + c.width / 2, l.push(c) } return l } } function g (t, e) { var n = []; return e.eachSeriesByType(t, function (t) { b(t) && !w(t) && n.push(t) }), n } function m (t) { var e = []; return i.each(t, function (t) { var n = t.getData(), i = t.coordinateSystem, a = i.getBaseAxis(), o = a.getExtent(), s = a.type === 'category' ? a.getBandWidth() : Math.abs(o[1] - o[0]) / n.count(), l = r(t.get('barWidth'), s), u = r(t.get('barMaxWidth'), s), c = t.get('barGap'), h = t.get('barCategoryGap'); e.push({bandWidth: s, barWidth: l, barMaxWidth: u, barGap: c, barCategoryGap: h, axisKey: f(a), stackId: d(t)}) }), v(e) } function v (t) { var e = {}; i.each(t, function (t, n) { var i = t.axisKey, a = t.bandWidth, r = e[i] || {bandWidth: a, remainedWidth: a, autoWidthCount: 0, categoryGap: '20%', gap: '30%', stacks: {}}, o = r.stacks; e[i] = r; var s = t.stackId; o[s] || r.autoWidthCount++, o[s] = o[s] || {width: 0, maxWidth: 0}; var l = t.barWidth; l && !o[s].width && (o[s].width = l, l = Math.min(r.remainedWidth, l), r.remainedWidth -= l); var u = t.barMaxWidth; u && (o[s].maxWidth = u); var c = t.barGap; c != null && (r.gap = c); var h = t.barCategoryGap; h != null && (r.categoryGap = h) }); var n = {}; return i.each(e, function (t, e) { n[e] = {}; var a = t.stacks, o = t.bandWidth, s = r(t.categoryGap, o), l = r(t.gap, 1), u = t.remainedWidth, c = t.autoWidthCount, h = (u - s) / (c + (c - 1) * l); h = Math.max(h, 0), i.each(a, function (t, e) { var n = t.maxWidth; n && n < h && (n = Math.min(n, u), t.width && (n = Math.min(n, t.width)), u -= n, t.width = n, c--) }), h = (u - s) / (c + (c - 1) * l), h = Math.max(h, 0); var d, f = 0; i.each(a, function (t, e) { t.width || (t.width = h), d = t, f += t.width * (1 + l) }), d && (f -= d.width * l); var p = -f / 2; i.each(a, function (t, i) { n[e][i] = n[e][i] || {offset: p, width: t.width}, p += t.width * (1 + l) }) }), n } function y (t, e, n) { if (t && e) { var i = t[f(e)]; return i != null && n != null && (i = i[d(n)]), i } } function x (t, e) { var n = g(t, e), a = m(n), r = {}, o = {}; i.each(n, function (t) { var e = t.getData(), n = t.coordinateSystem, i = n.getBaseAxis(), l = d(t), u = a[f(i)][l], c = u.offset, h = u.width, p = n.getOtherAxis(i), g = t.get('barMinHeight') || 0; r[l] = r[l] || [], o[l] = o[l] || [], e.setLayout({offset: c, size: h}); for (var m = e.mapDimension(p.dim), v = e.mapDimension(i.dim), y = s(e, m), x = p.isHorizontal(), _ = S(i, p, y), b = 0, w = e.count(); b < w; b++) { var M = e.get(m, b), I = e.get(v, b); if (!isNaN(M)) { var A, T, C, D, L = M >= 0 ? 'p' : 'n', P = _; if (y && (r[l][I] || (r[l][I] = {p: _, n: _}), P = r[l][I][L]), x) { var k = n.dataToPoint([M, I]); A = P, T = k[1] + c, C = k[0] - _, D = h, Math.abs(C) < g && (C = (C < 0 ? -1 : 1) * g), y && (r[l][I][L] += C) } else { k = n.dataToPoint([I, M]); A = k[0] + c, T = P, C = h, D = k[1] - _, Math.abs(D) < g && (D = (D <= 0 ? -1 : 1) * g), y && (r[l][I][L] += D) }e.setItemLayout(b, {x: A, y: T, width: C, height: D}) } } }, this) } var _ = {seriesType: 'bar', plan: l(), reset: function (t) { if (b(t) && w(t)) { var e = t.getData(), n = t.coordinateSystem, i = n.getBaseAxis(), a = n.getOtherAxis(i), r = e.mapDimension(a.dim), o = e.mapDimension(i.dim), s = a.isHorizontal(), l = s ? 0 : 1, u = y(m([t]), i, t).width; return u > c || (u = c), {progress: d} } function d (t, e) { var c, d = new h(2 * t.count), f = [], p = [], g = 0; while ((c = t.next()) != null)p[l] = e.get(r, c), p[1 - l] = e.get(o, c), f = n.dataToPoint(p, null, f), d[g++] = f[0], d[g++] = f[1]; e.setLayout({largePoints: d, barWidth: u, valueAxisStart: S(i, a, !1), valueAxisHorizontal: s}) } }}; function b (t) { return t.coordinateSystem && t.coordinateSystem.type === 'cartesian2d' } function w (t) { return t.pipelineContext && t.pipelineContext.large } function S (t, e, n) { return i.indexOf(t.getAxesOnZeroOf(), e) >= 0 || n ? e.toGlobalCoord(e.dataToCoord(0)) : e.getGlobalExtent()[0] }e.getLayoutOnAxis = p, e.prepareLayoutBarSeries = g, e.makeColumnLayout = m, e.retrieveColumnLayout = y, e.layout = x, e.largeLayout = _ }, '9e2e': function (t, e, n) { var i = n('a73c'), a = n('9850'), r = new a(), o = function () {}; o.prototype = {constructor: o, drawRectText: function (t, e) { var n = this.style; e = n.textRect || e, this.__dirty && i.normalizeTextStyle(n, !0); var a = n.text; if (a != null && (a += ''), i.needDrawText(a, n)) { t.save(); var o = this.transform; n.transformText ? this.setTransform(t) : o && (r.copy(e), r.applyTransform(o), e = r), i.renderText(this, t, a, n, e), t.restore() } }}; var s = o; t.exports = s }, '9e47': function (t, e, n) { var i = n('6d8b'), a = n('71ad'), r = n('6cb7'), o = n('f934'), s = o.getLayoutParams, l = o.mergeLayoutParam, u = n('8e43'), c = ['value', 'category', 'time', 'log']; function h (t, e, n, o) { i.each(c, function (r) { e.extend({type: t + 'Axis.' + r, mergeDefaultAndTheme: function (e, a) { var o = this.layoutMode, u = o ? s(e) : {}, c = a.getTheme(); i.merge(e, c.get(r + 'Axis')), i.merge(e, this.getDefaultOption()), e.type = n(t, e), o && l(e, u, o) }, optionUpdated: function () { var t = this.option; t.type === 'category' && (this.__ordinalMeta = u.createByAxisModel(this)) }, getCategories: function (t) { var e = this.option; if (e.type === 'category') return t ? e.data : this.__ordinalMeta.categories }, getOrdinalMeta: function () { return this.__ordinalMeta }, defaultOption: i.mergeAll([{}, a[r + 'Axis'], o], !0)}) }), r.registerSubTypeDefaulter(t + 'Axis', i.curry(n, t)) }t.exports = h }, '9e87': function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('50e5'); i.registerAction('dataZoom', function (t, e) { var n = r.createLinkedNodesFinder(a.bind(e.eachComponent, e, 'dataZoom'), r.eachAxisDim, function (t, e) { return t.get(e.axisIndex) }), i = []; e.eachComponent({mainType: 'dataZoom', query: t}, function (t, e) { i.push.apply(i, n(t).nodes) }), a.each(i, function (e, n) { e.setRawRange({start: t.start, end: t.end, startValue: t.startValue, endValue: t.endValue}) }) }) }, '9f51': function (t, e, n) { var i = n('857d'), a = i.normalizeRadian, r = 2 * Math.PI; function o (t, e, n, i, o, s, l, u, c) { if (l === 0) return !1; var h = l; u -= t, c -= e; var d = Math.sqrt(u * u + c * c); if (d - h > n || d + h < n) return !1; if (Math.abs(i - o) % r < 1e-4) return !0; if (s) { var f = i; i = a(o), o = a(f) } else i = a(i), o = a(o); i > o && (o += r); var p = Math.atan2(c, u); return p < 0 && (p += r), p >= i && p <= o || p + r >= i && p + r <= o }e.containStroke = o }, '9f82': function (t, e, n) { var i = n('ee1a'), a = i.isDimensionStacked, r = n('6d8b'), o = r.map; function s (t, e, n) { var i, r = t.getBaseAxis(), s = t.getOtherAxis(r), u = l(s, n), c = r.dim, h = s.dim, d = e.mapDimension(h), f = e.mapDimension(c), p = h === 'x' || h === 'radius' ? 1 : 0, g = o(t.dimensions, function (t) { return e.mapDimension(t) }), m = e.getCalculationInfo('stackResultDimension'); return (i |= a(e, g[0])) && (g[0] = m), (i |= a(e, g[1])) && (g[1] = m), {dataDimsForPoint: g, valueStart: u, valueAxisDim: h, baseAxisDim: c, stacked: !!i, valueDim: d, baseDim: f, baseDataOffset: p, stackedOverDimension: e.getCalculationInfo('stackedOverDimension')} } function l (t, e) { var n = 0, i = t.scale.getExtent(); return e === 'start' ? n = i[0] : e === 'end' ? n = i[1] : i[0] > 0 ? n = i[0] : i[1] < 0 && (n = i[1]), n } function u (t, e, n, i) { var a = NaN; t.stacked && (a = n.get(n.getCalculationInfo('stackedOverDimension'), i)), isNaN(a) && (a = t.valueStart); var r = t.baseDataOffset, o = []; return o[r] = n.get(t.baseDim, i), o[1 - r] = a, e.dataToPoint(o) }e.prepareDataCoordInfo = s, e.getStackedOnPoint = u }, '9fa3': function (t, e, n) { var i = n('4ab1'), a = n('6d8b'), r = n('1687'); function o (t, e) { i.call(this, t, e, 'clipPath', '__clippath_in_use__') }a.inherits(o, i), o.prototype.update = function (t) { var e = this.getSvgElement(t); e && this.updateDom(e, t.__clipPaths, !1); var n = this.getTextSvgElement(t); n && this.updateDom(n, t.__clipPaths, !0), this.markUsed(t) }, o.prototype.updateDom = function (t, e, n) { if (e && e.length > 0) { var i, a, o = this.getDefs(!0), s = e[0], l = n ? '_textDom' : '_dom'; s[l] ? (a = s[l].getAttribute('id'), i = s[l], o.contains(i) || o.appendChild(i)) : (a = 'zr' + this._zrId + '-clip-' + this.nextId, ++this.nextId, i = this.createElement('clipPath'), i.setAttribute('id', a), o.appendChild(i), s[l] = i); var u = this.getSvgProxy(s); if (s.transform && s.parent.invTransform && !n) { var c = Array.prototype.slice.call(s.transform); r.mul(s.transform, s.parent.invTransform, s.transform), u.brush(s), s.transform = c } else u.brush(s); var h = this.getSvgElement(s); i.innerHTML = '', i.appendChild(h.cloneNode()), t.setAttribute('clip-path', 'url(#' + a + ')'), e.length > 1 && this.updateDom(i, e.slice(1), n) } else t && t.setAttribute('clip-path', 'none') }, o.prototype.markUsed = function (t) { var e = this; t.__clipPaths && t.__clipPaths.length > 0 && a.each(t.__clipPaths, function (t) { t._dom && i.prototype.markUsed.call(e, t._dom), t._textDom && i.prototype.markUsed.call(e, t._textDom) }) }; var s = o; t.exports = s }, a016: function (t, e, n) { var i = n('4f85'), a = n('e46b'), r = n('6d8b'), o = n('eda2'), s = o.encodeHTML, l = i.extend({type: 'series.radar', dependencies: ['radar'], init: function (t) { l.superApply(this, 'init', arguments), this.legendDataProvider = function () { return this.getRawData() } }, getInitialData: function (t, e) { return a(this, {generateCoord: 'indicator_', generateCoordCount: 1 / 0}) }, formatTooltip: function (t) { var e = this.getData(), n = this.coordinateSystem, i = n.getIndicatorAxes(), a = this.getData().getName(t); return s(a === '' ? this.name : a) + '<br/>' + r.map(i, function (n, i) { var a = e.get(e.mapDimension(n.dim), t); return s(n.name + ' : ' + a) }).join('<br />') }, defaultOption: {zlevel: 0, z: 2, coordinateSystem: 'radar', legendHoverLink: !0, radarIndex: 0, lineStyle: {width: 2, type: 'solid'}, label: {position: 'top'}, symbol: 'emptyCircle', symbolSize: 4}}), u = l; t.exports = u }, a04e: function (t, e, n) { var i = n('6cb7'); i.registerSubTypeDefaulter('timeline', function () { return 'slider' }) }, a15a: function (t, e, n) { var i = n('6d8b'), a = n('2306'), r = n('9850'), o = a.extendShape({type: 'triangle', shape: {cx: 0, cy: 0, width: 0, height: 0}, buildPath: function (t, e) { var n = e.cx, i = e.cy, a = e.width / 2, r = e.height / 2; t.moveTo(n, i - r), t.lineTo(n + a, i + r), t.lineTo(n - a, i + r), t.closePath() }}), s = a.extendShape({type: 'diamond', shape: {cx: 0, cy: 0, width: 0, height: 0}, buildPath: function (t, e) { var n = e.cx, i = e.cy, a = e.width / 2, r = e.height / 2; t.moveTo(n, i - r), t.lineTo(n + a, i), t.lineTo(n, i + r), t.lineTo(n - a, i), t.closePath() }}), l = a.extendShape({type: 'pin', shape: {x: 0, y: 0, width: 0, height: 0}, buildPath: function (t, e) { var n = e.x, i = e.y, a = e.width / 5 * 3, r = Math.max(a, e.height), o = a / 2, s = o * o / (r - o), l = i - r + o + s, u = Math.asin(s / o), c = Math.cos(u) * o, h = Math.sin(u), d = Math.cos(u), f = 0.6 * o, p = 0.7 * o; t.moveTo(n - c, l + s), t.arc(n, l, o, Math.PI - u, 2 * Math.PI + u), t.bezierCurveTo(n + c - h * f, l + s + d * f, n, i - p, n, i), t.bezierCurveTo(n, i - p, n - c + h * f, l + s + d * f, n - c, l + s), t.closePath() }}), u = a.extendShape({type: 'arrow', shape: {x: 0, y: 0, width: 0, height: 0}, buildPath: function (t, e) { var n = e.height, i = e.width, a = e.x, r = e.y, o = i / 3 * 2; t.moveTo(a, r), t.lineTo(a + o, r + n), t.lineTo(a, r + n / 4 * 3), t.lineTo(a - o, r + n), t.lineTo(a, r), t.closePath() }}), c = {line: a.Line, rect: a.Rect, roundRect: a.Rect, square: a.Rect, circle: a.Circle, diamond: s, pin: l, arrow: u, triangle: o}, h = {line: function (t, e, n, i, a) { a.x1 = t, a.y1 = e + i / 2, a.x2 = t + n, a.y2 = e + i / 2 }, rect: function (t, e, n, i, a) { a.x = t, a.y = e, a.width = n, a.height = i }, roundRect: function (t, e, n, i, a) { a.x = t, a.y = e, a.width = n, a.height = i, a.r = Math.min(n, i) / 4 }, square: function (t, e, n, i, a) { var r = Math.min(n, i); a.x = t, a.y = e, a.width = r, a.height = r }, circle: function (t, e, n, i, a) { a.cx = t + n / 2, a.cy = e + i / 2, a.r = Math.min(n, i) / 2 }, diamond: function (t, e, n, i, a) { a.cx = t + n / 2, a.cy = e + i / 2, a.width = n, a.height = i }, pin: function (t, e, n, i, a) { a.x = t + n / 2, a.y = e + i / 2, a.width = n, a.height = i }, arrow: function (t, e, n, i, a) { a.x = t + n / 2, a.y = e + i / 2, a.width = n, a.height = i }, triangle: function (t, e, n, i, a) { a.cx = t + n / 2, a.cy = e + i / 2, a.width = n, a.height = i }}, d = {}; i.each(c, function (t, e) { d[e] = new t() }); var f = a.extendShape({type: 'symbol', shape: {symbolType: '', x: 0, y: 0, width: 0, height: 0}, beforeBrush: function () { var t = this.style, e = this.shape; e.symbolType === 'pin' && t.textPosition === 'inside' && (t.textPosition = ['50%', '40%'], t.textAlign = 'center', t.textVerticalAlign = 'middle') }, buildPath: function (t, e, n) { var i = e.symbolType, a = d[i]; e.symbolType !== 'none' && (a || (i = 'rect', a = d[i]), h[i](e.x, e.y, e.width, e.height, a.shape), a.buildPath(t, a.shape, n)) }}); function p (t, e) { if (this.type !== 'image') { var n = this.style, i = this.shape; i && i.symbolType === 'line' ? n.stroke = t : this.__isEmptyBrush ? (n.stroke = t, n.fill = e || '#fff') : (n.fill && (n.fill = t), n.stroke && (n.stroke = t)), this.dirty(!1) } } function g (t, e, n, i, o, s, l) { var u, c = t.indexOf('empty') === 0; return c && (t = t.substr(5, 1).toLowerCase() + t.substr(6)), u = t.indexOf('image://') === 0 ? a.makeImage(t.slice(8), new r(e, n, i, o), l ? 'center' : 'cover') : t.indexOf('path://') === 0 ? a.makePath(t.slice(7), {}, new r(e, n, i, o), l ? 'center' : 'cover') : new f({shape: {symbolType: t, x: e, y: n, width: i, height: o}}), u.__isEmptyBrush = c, u.setColor = p, u.setColor(s), u }e.createSymbol = g }, a189: function (t, e, n) { 'use strict'; var i = n('79bd'), a = n.n(i); a.a }, a18f: function (t, e, n) { var i = n('3a56'), a = i.extend({type: 'dataZoom.inside', defaultOption: {disabled: !1, zoomLock: !1, zoomOnMouseWheel: !0, moveOnMouseMove: !0, preventDefaultMouseMove: !0}}); t.exports = a }, a38d: function (t, e, n) { var i = n('2306'), a = n('392f'), r = n('9680'), o = n('68ab'), s = i.extendShape({shape: {polyline: !1, curveness: 0, segs: []}, buildPath: function (t, e) { var n = e.segs, i = e.curveness; if (e.polyline) for (var a = 0; a < n.length;) { var r = n[a++]; if (r > 0) { t.moveTo(n[a++], n[a++]); for (var o = 1; o < r; o++)t.lineTo(n[a++], n[a++]) } } else for (a = 0; a < n.length;) { var s = n[a++], l = n[a++], u = n[a++], c = n[a++]; if (t.moveTo(s, l), i > 0) { var h = (s + u) / 2 - (l - c) * i, d = (l + c) / 2 - (u - s) * i; t.quadraticCurveTo(h, d, u, c) } else t.lineTo(u, c) } }, findDataIndex: function (t, e) { var n = this.shape, i = n.segs, a = n.curveness; if (n.polyline) for (var s = 0, l = 0; l < i.length;) { var u = i[l++]; if (u > 0) for (var c = i[l++], h = i[l++], d = 1; d < u; d++) { var f = i[l++], p = i[l++]; if (r.containStroke(c, h, f, p)) return s }s++ } else for (s = 0, l = 0; l < i.length;) { c = i[l++], h = i[l++], f = i[l++], p = i[l++]; if (a > 0) { var g = (c + f) / 2 - (h - p) * a, m = (h + p) / 2 - (f - c) * a; if (o.containStroke(c, h, g, m, f, p)) return s } else if (r.containStroke(c, h, f, p)) return s; s++ } return -1 }}); function l () { this.group = new i.Group() } var u = l.prototype; u.isPersistent = function () { return !this._incremental }, u.updateData = function (t) { this.group.removeAll(); var e = new s({rectHover: !0, cursor: 'default'}); e.setShape({segs: t.getLayout('linesPoints')}), this._setCommon(e, t), this.group.add(e), this._incremental = null }, u.incrementalPrepareUpdate = function (t) { this.group.removeAll(), this._clearIncremental(), t.count() > 5e5 ? (this._incremental || (this._incremental = new a({silent: !0})), this.group.add(this._incremental)) : this._incremental = null }, u.incrementalUpdate = function (t, e) { var n = new s(); n.setShape({segs: e.getLayout('linesPoints')}), this._setCommon(n, e, !!this._incremental), this._incremental ? this._incremental.addDisplayable(n, !0) : (n.rectHover = !0, n.cursor = 'default', n.__startIndex = t.start, this.group.add(n)) }, u.remove = function () { this._clearIncremental(), this._incremental = null, this.group.removeAll() }, u._setCommon = function (t, e, n) { var i = e.hostModel; t.setShape({polyline: i.get('polyline'), curveness: i.get('lineStyle.curveness')}), t.useStyle(i.getModel('lineStyle').getLineStyle()), t.style.strokeNoScale = !0; var a = e.getVisual('color'); a && t.setStyle('stroke', a), t.setStyle('fill'), n || (t.seriesIndex = i.seriesIndex, t.on('mousemove', function (e) { t.dataIndex = null; var n = t.findDataIndex(e.offsetX, e.offsetY); n > 0 && (t.dataIndex = n + t.__startIndex) })) }, u._clearIncremental = function () { var t = this._incremental; t && t.clearDisplaybles() }; var c = l; t.exports = c }, a4b1: function (t, e, n) { var i = n('3eba'); n('00ba'), n('4d62'); var a = n('98e7'), r = n('24b9'), o = n('d3f47'); i.registerVisual(a('funnel')), i.registerLayout(r), i.registerProcessor(o('funnel')) }, a4fe: function (t, e, n) { var i = n('3eba'), a = '\0_ec_interaction_mutex'; function r (t, e, n) { var i = l(t); i[e] = n } function o (t, e, n) { var i = l(t), a = i[e]; a === n && (i[e] = null) } function s (t, e) { return !!l(t)[e] } function l (t) { return t[a] || (t[a] = {}) }i.registerAction({type: 'takeGlobalCursor', event: 'globalCursorTaken', update: 'update'}, function () {}), e.take = r, e.release = o, e.isTaken = s }, a658: function (t, e, n) {}, a666: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('2306'), o = n('0c41'), s = i.extendChartView({type: 'map', render: function (t, e, n, i) { if (!i || i.type !== 'mapToggleSelect' || i.from !== this.uid) { var a = this.group; if (a.removeAll(), !t.getHostGeoModel()) { if (i && i.type === 'geoRoam' && i.componentType === 'series' && i.seriesId === t.id) { r = this._mapDraw; r && a.add(r.group) } else if (t.needsDrawMap) { var r = this._mapDraw || new o(n, !0); a.add(r.group), r.draw(t, e, n, this, i), this._mapDraw = r } else this._mapDraw && this._mapDraw.remove(), this._mapDraw = null; t.get('showLegendSymbol') && e.getComponent('legend') && this._renderSymbols(t, e, n) } } }, remove: function () { this._mapDraw && this._mapDraw.remove(), this._mapDraw = null, this.group.removeAll() }, dispose: function () { this._mapDraw && this._mapDraw.remove(), this._mapDraw = null }, _renderSymbols: function (t, e, n) { var i = t.originalData, o = this.group; i.each(i.mapDimension('value'), function (e, n) { if (!isNaN(e)) { var s = i.getItemLayout(n); if (s && s.point) { var l = s.point, u = s.offset, c = new r.Circle({style: {fill: t.getData().getVisual('color')}, shape: {cx: l[0] + 9 * u, cy: l[1], r: 3}, silent: !0, z2: u ? 8 : 10}); if (!u) { var h = t.mainSeries.getData(), d = i.getName(n), f = h.indexOfName(d), p = i.getItemModel(n), g = p.getModel('label'), m = p.getModel('emphasis.label'), v = h.getItemGraphicEl(f), y = a.retrieve2(t.getFormattedLabel(n, 'normal'), d), x = a.retrieve2(t.getFormattedLabel(n, 'emphasis'), y), _ = function () { var t = r.setTextStyle({}, m, {text: m.get('show') ? x : null}, {isRectText: !0, useInsideStyle: !1}, !0); c.style.extendFrom(t), c.__mapOriginalZ2 = c.z2, c.z2 += 1 }, b = function () { r.setTextStyle(c.style, g, {text: g.get('show') ? y : null, textPosition: g.getShallow('position') || 'bottom'}, {isRectText: !0, useInsideStyle: !1}), c.__mapOriginalZ2 != null && (c.z2 = c.__mapOriginalZ2, c.__mapOriginalZ2 = null) }; v.on('mouseover', _).on('mouseout', b).on('emphasis', _).on('normal', b), b() }o.add(c) } } }) }}); t.exports = s }, a73c: function (t, e, n) { var i = n('6d8b'), a = i.retrieve2, r = i.retrieve3, o = i.each, s = i.normalizeCssArray, l = i.isString, u = i.isObject, c = n('e86a'), h = n('5693'), d = n('5e76'), f = n('7d6d'), p = {left: 1, right: 1, center: 1}, g = {top: 1, bottom: 1, middle: 1}; function m (t) { return v(t), o(t.rich, v), t } function v (t) { if (t) { t.font = c.makeFont(t); var e = t.textAlign; e === 'middle' && (e = 'center'), t.textAlign = e == null || p[e] ? e : 'left'; var n = t.textVerticalAlign || t.textBaseline; n === 'center' && (n = 'middle'), t.textVerticalAlign = n == null || g[n] ? n : 'top'; var i = t.textPadding; i && (t.textPadding = s(t.textPadding)) } } function y (t, e, n, i, a) { i.rich ? _(t, e, n, i, a) : x(t, e, n, i, a) } function x (t, e, n, i, a) { var r = C(e, 'font', i.font || c.DEFAULT_FONT), o = i.textPadding, s = t.__textCotentBlock; s && !t.__dirty || (s = t.__textCotentBlock = c.parsePlainText(n, r, o, i.truncate)); var l = s.outerHeight, u = s.lines, h = s.lineHeight, d = T(l, i, a), f = d.baseX, p = d.baseY, g = d.textAlign, m = d.textVerticalAlign; w(e, i, a, f, p); var v = c.adjustTextY(p, l, m), y = f, x = v, _ = M(i); if (_ || o) { var b = c.getWidth(n, r), S = b; o && (S += o[1] + o[3]); var A = c.adjustTextX(f, S, g); _ && I(t, e, i, A, v, S, l), o && (y = k(f, g, o), x += o[0]) }C(e, 'textAlign', g || 'left'), C(e, 'textBaseline', 'middle'), C(e, 'shadowBlur', i.textShadowBlur || 0), C(e, 'shadowColor', i.textShadowColor || 'transparent'), C(e, 'shadowOffsetX', i.textShadowOffsetX || 0), C(e, 'shadowOffsetY', i.textShadowOffsetY || 0), x += h / 2; var P = i.textStrokeWidth, O = D(i.textStroke, P), R = L(i.textFill); O && (C(e, 'lineWidth', P), C(e, 'strokeStyle', O)), R && C(e, 'fillStyle', R); for (var E = 0; E < u.length; E++)O && e.strokeText(u[E], y, x), R && e.fillText(u[E], y, x), x += h } function _ (t, e, n, i, a) { var r = t.__textCotentBlock; r && !t.__dirty || (r = t.__textCotentBlock = c.parseRichText(n, i)), b(t, e, r, i, a) } function b (t, e, n, i, a) { var r = n.width, o = n.outerWidth, s = n.outerHeight, l = i.textPadding, u = T(s, i, a), h = u.baseX, d = u.baseY, f = u.textAlign, p = u.textVerticalAlign; w(e, i, a, h, d); var g = c.adjustTextX(h, o, f), m = c.adjustTextY(d, s, p), v = g, y = m; l && (v += l[3], y += l[0]); var x = v + r; M(i) && I(t, e, i, g, m, o, s); for (var _ = 0; _ < n.lines.length; _++) { var b, A = n.lines[_], C = A.tokens, D = C.length, L = A.lineHeight, P = A.width, k = 0, O = v, R = x, E = D - 1; while (k < D && (b = C[k], !b.textAlign || b.textAlign === 'left'))S(t, e, b, i, L, y, O, 'left'), P -= b.width, O += b.width, k++; while (E >= 0 && (b = C[E], b.textAlign === 'right'))S(t, e, b, i, L, y, R, 'right'), P -= b.width, R -= b.width, E--; O += (r - (O - v) - (x - R) - P) / 2; while (k <= E)b = C[k], S(t, e, b, i, L, y, O + b.width / 2, 'center'), O += b.width, k++; y += L } } function w (t, e, n, i, a) { if (n && e.textRotation) { var r = e.textOrigin; r === 'center' ? (i = n.width / 2 + n.x, a = n.height / 2 + n.y) : r && (i = r[0] + n.x, a = r[1] + n.y), t.translate(i, a), t.rotate(-e.textRotation), t.translate(-i, -a) } } function S (t, e, n, i, o, s, l, u) { var h = i.rich[n.styleName] || {}, d = n.textVerticalAlign, f = s + o / 2; d === 'top' ? f = s + n.height / 2 : d === 'bottom' && (f = s + o - n.height / 2), !n.isLineHolder && M(h) && I(t, e, h, u === 'right' ? l - n.width : u === 'center' ? l - n.width / 2 : l, f - n.height / 2, n.width, n.height); var p = n.textPadding; p && (l = k(l, u, p), f -= n.height / 2 - p[2] - n.textHeight / 2), C(e, 'shadowBlur', r(h.textShadowBlur, i.textShadowBlur, 0)), C(e, 'shadowColor', h.textShadowColor || i.textShadowColor || 'transparent'), C(e, 'shadowOffsetX', r(h.textShadowOffsetX, i.textShadowOffsetX, 0)), C(e, 'shadowOffsetY', r(h.textShadowOffsetY, i.textShadowOffsetY, 0)), C(e, 'textAlign', u), C(e, 'textBaseline', 'middle'), C(e, 'font', n.font || c.DEFAULT_FONT); var g = D(h.textStroke || i.textStroke, v), m = L(h.textFill || i.textFill), v = a(h.textStrokeWidth, i.textStrokeWidth); g && (C(e, 'lineWidth', v), C(e, 'strokeStyle', g), e.strokeText(n.text, l, f)), m && (C(e, 'fillStyle', m), e.fillText(n.text, l, f)) } function M (t) { return t.textBackgroundColor || t.textBorderWidth && t.textBorderColor } function I (t, e, n, i, a, r, o) { var s = n.textBackgroundColor, c = n.textBorderWidth, f = n.textBorderColor, p = l(s); if (C(e, 'shadowBlur', n.textBoxShadowBlur || 0), C(e, 'shadowColor', n.textBoxShadowColor || 'transparent'), C(e, 'shadowOffsetX', n.textBoxShadowOffsetX || 0), C(e, 'shadowOffsetY', n.textBoxShadowOffsetY || 0), p || c && f) { e.beginPath(); var g = n.textBorderRadius; g ? h.buildPath(e, {x: i, y: a, width: r, height: o, r: g}) : e.rect(i, a, r, o), e.closePath() } if (p)C(e, 'fillStyle', s), e.fill(); else if (u(s)) { var m = s.image; m = d.createOrUpdateImage(m, null, t, A, s), m && d.isImageReady(m) && e.drawImage(m, i, a, r, o) }c && f && (C(e, 'lineWidth', c), C(e, 'strokeStyle', f), e.stroke()) } function A (t, e) { e.image = t } function T (t, e, n) { var i = e.x || 0, a = e.y || 0, r = e.textAlign, o = e.textVerticalAlign; if (n) { var s = e.textPosition; if (s instanceof Array)i = n.x + P(s[0], n.width), a = n.y + P(s[1], n.height); else { var l = c.adjustTextPositionOnRect(s, n, e.textDistance); i = l.x, a = l.y, r = r || l.textAlign, o = o || l.textVerticalAlign } var u = e.textOffset; u && (i += u[0], a += u[1]) } return {baseX: i, baseY: a, textAlign: r, textVerticalAlign: o} } function C (t, e, n) { return t[e] = f(t, e, n), t[e] } function D (t, e) { return t == null || e <= 0 || t === 'transparent' || t === 'none' ? null : t.image || t.colorStops ? '#000' : t } function L (t) { return t == null || t === 'none' ? null : t.image || t.colorStops ? '#000' : t } function P (t, e) { return typeof t === 'string' ? t.lastIndexOf('%') >= 0 ? parseFloat(t) / 100 * e : parseFloat(t) : t } function k (t, e, n) { return e === 'right' ? t - n[1] : e === 'center' ? t + n[3] / 2 - n[1] / 2 : t + n[3] } function O (t, e) { return t != null && (t || e.textBackgroundColor || e.textBorderWidth && e.textBorderColor || e.textPadding) }e.normalizeTextStyle = m, e.renderText = y, e.getStroke = D, e.getFill = L, e.needDrawText = O }, a753: function (t, e, n) { var i = n('1f0e'), a = n('2306'), r = n('e887'), o = n('3842'), s = o.parsePercent, l = o.round, u = o.linearMap; function c (t, e) { var n = t.get('center'), i = e.getWidth(), a = e.getHeight(), r = Math.min(i, a), o = s(n[0], e.getWidth()), l = s(n[1], e.getHeight()), u = s(t.get('radius'), r / 2); return {cx: o, cy: l, r: u} } function h (t, e) { return e && (typeof e === 'string' ? t = e.replace('{value}', t != null ? t : '') : typeof e === 'function' && (t = e(t))), t } var d = 2 * Math.PI, f = r.extend({type: 'gauge', render: function (t, e, n) { this.group.removeAll(); var i = t.get('axisLine.lineStyle.color'), a = c(t, n); this._renderMain(t, e, n, i, a) }, dispose: function () {}, _renderMain: function (t, e, n, i, r) { for (var o = this.group, s = t.getModel('axisLine'), l = s.getModel('lineStyle'), u = t.get('clockwise'), c = -t.get('startAngle') / 180 * Math.PI, h = -t.get('endAngle') / 180 * Math.PI, f = (h - c) % d, p = c, g = l.get('width'), m = 0; m < i.length; m++) { var v = Math.min(Math.max(i[m][0], 0), 1), y = (h = c + f * v, new a.Sector({shape: {startAngle: p, endAngle: h, cx: r.cx, cy: r.cy, clockwise: u, r0: r.r - g, r: r.r}, silent: !0})); y.setStyle({fill: i[m][1]}), y.setStyle(l.getLineStyle(['color', 'borderWidth', 'borderColor'])), o.add(y), p = h } var x = function (t) { if (t <= 0) return i[0][1]; for (var e = 0; e < i.length; e++) if (i[e][0] >= t && (e === 0 ? 0 : i[e - 1][0]) < t) return i[e][1]; return i[e - 1][1] }; if (!u) { var _ = c; c = h, h = _ } this._renderTicks(t, e, n, x, r, c, h, u), this._renderPointer(t, e, n, x, r, c, h, u), this._renderTitle(t, e, n, x, r), this._renderDetail(t, e, n, x, r) }, _renderTicks: function (t, e, n, i, r, o, u, c) { for (var d = this.group, f = r.cx, p = r.cy, g = r.r, m = +t.get('min'), v = +t.get('max'), y = t.getModel('splitLine'), x = t.getModel('axisTick'), _ = t.getModel('axisLabel'), b = t.get('splitNumber'), w = x.get('splitNumber'), S = s(y.get('length'), g), M = s(x.get('length'), g), I = o, A = (u - o) / b, T = A / w, C = y.getModel('lineStyle').getLineStyle(), D = x.getModel('lineStyle').getLineStyle(), L = 0; L <= b; L++) { var P = Math.cos(I), k = Math.sin(I); if (y.get('show')) { var O = new a.Line({shape: {x1: P * g + f, y1: k * g + p, x2: P * (g - S) + f, y2: k * (g - S) + p}, style: C, silent: !0}); C.stroke === 'auto' && O.setStyle({stroke: i(L / b)}), d.add(O) } if (_.get('show')) { var R = h(l(L / b * (v - m) + m), _.get('formatter')), E = _.get('distance'), N = i(L / b); d.add(new a.Text({style: a.setTextStyle({}, _, {text: R, x: P * (g - S - E) + f, y: k * (g - S - E) + p, textVerticalAlign: k < -0.4 ? 'top' : k > 0.4 ? 'bottom' : 'middle', textAlign: P < -0.4 ? 'left' : P > 0.4 ? 'right' : 'center'}, {autoColor: N}), silent: !0})) } if (x.get('show') && L !== b) { for (var z = 0; z <= w; z++) { P = Math.cos(I), k = Math.sin(I); var V = new a.Line({shape: {x1: P * g + f, y1: k * g + p, x2: P * (g - M) + f, y2: k * (g - M) + p}, silent: !0, style: D}); D.stroke === 'auto' && V.setStyle({stroke: i((L + z / w) / b)}), d.add(V), I += T }I -= T } else I += A } }, _renderPointer: function (t, e, n, r, o, l, c, h) { var d = this.group, f = this._data; if (t.get('pointer.show')) { var p = [+t.get('min'), +t.get('max')], g = [l, c], m = t.getData(), v = m.mapDimension('value'); m.diff(f).add(function (e) { var n = new i({shape: {angle: l}}); a.initProps(n, {shape: {angle: u(m.get(v, e), p, g, !0)}}, t), d.add(n), m.setItemGraphicEl(e, n) }).update(function (e, n) { var i = f.getItemGraphicEl(n); a.updateProps(i, {shape: {angle: u(m.get(v, e), p, g, !0)}}, t), d.add(i), m.setItemGraphicEl(e, i) }).remove(function (t) { var e = f.getItemGraphicEl(t); d.remove(e) }).execute(), m.eachItemGraphicEl(function (t, e) { var n = m.getItemModel(e), i = n.getModel('pointer'); t.setShape({x: o.cx, y: o.cy, width: s(i.get('width'), o.r), r: s(i.get('length'), o.r)}), t.useStyle(n.getModel('itemStyle').getItemStyle()), t.style.fill === 'auto' && t.setStyle('fill', r(u(m.get(v, e), p, [0, 1], !0))), a.setHoverStyle(t, n.getModel('emphasis.itemStyle').getItemStyle()) }), this._data = m } else f && f.eachItemGraphicEl(function (t) { d.remove(t) }) }, _renderTitle: function (t, e, n, i, r) { var o = t.getData(), l = o.mapDimension('value'), c = t.getModel('title'); if (c.get('show')) { var h = c.get('offsetCenter'), d = r.cx + s(h[0], r.r), f = r.cy + s(h[1], r.r), p = +t.get('min'), g = +t.get('max'), m = t.getData().get(l, 0), v = i(u(m, [p, g], [0, 1], !0)); this.group.add(new a.Text({silent: !0, style: a.setTextStyle({}, c, {x: d, y: f, text: o.getName(0), textAlign: 'center', textVerticalAlign: 'middle'}, {autoColor: v, forceRich: !0})})) } }, _renderDetail: function (t, e, n, i, r) { var o = t.getModel('detail'), l = +t.get('min'), c = +t.get('max'); if (o.get('show')) { var d = o.get('offsetCenter'), f = r.cx + s(d[0], r.r), p = r.cy + s(d[1], r.r), g = s(o.get('width'), r.r), m = s(o.get('height'), r.r), v = t.getData(), y = v.get(v.mapDimension('value'), 0), x = i(u(y, [l, c], [0, 1], !0)); this.group.add(new a.Text({silent: !0, style: a.setTextStyle({}, o, {x: f, y: p, text: h(y, o.get('formatter')), textWidth: isNaN(g) ? null : g, textHeight: isNaN(m) ? null : m, textAlign: 'center', textVerticalAlign: 'middle'}, {autoColor: x, forceRich: !0})})) } }}), p = f; t.exports = p }, a7e2: function (t, e, n) { var i = n('3eba'); n('7293'), n('ae46'); var a = n('6582'), r = n('ee98'); i.registerLayout(a), i.registerVisual(r) }, a7f2: function (t, e) { var n = [[[123.45165252685547, 25.73527164402261], [123.49731445312499, 25.73527164402261], [123.49731445312499, 25.750734064600884], [123.45165252685547, 25.750734064600884], [123.45165252685547, 25.73527164402261]]]; function i (t) { if (t.map === 'china') for (var e = 0, i = t.regions.length; e < i; ++e)t.regions[e].name === '台湾' && t.regions[e].geometries.push({type: 'polygon', exterior: n[0]}) }t.exports = i }, a87d: function (t, e, n) { var i = n('22d1'), a = n('401b'), r = a.applyTransform, o = n('9850'), s = n('41ef'), l = n('e86a'), u = n('a73c'), c = n('9e2e'), h = n('19eb'), d = n('0da8'), f = n('76a5'), p = n('cbe5'), g = n('20c8'), m = n('42e5'), v = n('d3a4'), y = g.CMD, x = Math.round, _ = Math.sqrt, b = Math.abs, w = Math.cos, S = Math.sin, M = Math.max; if (!i.canvasSupported) { var I = ',', A = 'progid:DXImageTransform.Microsoft', T = 21600, C = T / 2, D = 1e5, L = 1e3, P = function (t) { t.style.cssText = 'position:absolute;left:0;top:0;width:1px;height:1px;', t.coordsize = T + ',' + T, t.coordorigin = '0,0' }, k = function (t) { return String(t).replace(/&/g, '&amp;').replace(/"/g, '&quot;') }, O = function (t, e, n) { return 'rgb(' + [t, e, n].join(',') + ')' }, R = function (t, e) { e && t && e.parentNode !== t && t.appendChild(e) }, E = function (t, e) { e && t && e.parentNode === t && t.removeChild(e) }, N = function (t, e, n) { return (parseFloat(t) || 0) * D + (parseFloat(e) || 0) * L + n }, z = function (t, e) { return typeof t === 'string' ? t.lastIndexOf('%') >= 0 ? parseFloat(t) / 100 * e : parseFloat(t) : t }, V = function (t, e, n) { var i = s.parse(e); n = +n, isNaN(n) && (n = 1), i && (t.color = O(i[0], i[1], i[2]), t.opacity = n * i[3]) }, B = function (t) { var e = s.parse(t); return [O(e[0], e[1], e[2]), e[3]] }, G = function (t, e, n) { var i = e.fill; if (i != null) if (i instanceof m) { var a, o = 0, s = [0, 0], l = 0, u = 1, c = n.getBoundingRect(), h = c.width, d = c.height; if (i.type === 'linear') { a = 'gradient'; var f = n.transform, p = [i.x * h, i.y * d], g = [i.x2 * h, i.y2 * d]; f && (r(p, p, f), r(g, g, f)); var v = g[0] - p[0], y = g[1] - p[1]; o = 180 * Math.atan2(v, y) / Math.PI, o < 0 && (o += 360), o < 1e-6 && (o = 0) } else { a = 'gradientradial'; p = [i.x * h, i.y * d], f = n.transform; var x = n.scale, _ = h, b = d; s = [(p[0] - c.x) / _, (p[1] - c.y) / b], f && r(p, p, f), _ /= x[0] * T, b /= x[1] * T; var w = M(_, b); l = 0 / w, u = 2 * i.r / w - l } var S = i.colorStops.slice(); S.sort(function (t, e) { return t.offset - e.offset }); for (var I = S.length, A = [], C = [], D = 0; D < I; D++) { var L = S[D], P = B(L.color); C.push(L.offset * u + l + ' ' + P[0]), D !== 0 && D !== I - 1 || A.push(P) } if (I >= 2) { var k = A[0][0], O = A[1][0], R = A[0][1] * e.opacity, E = A[1][1] * e.opacity; t.type = a, t.method = 'none', t.focus = '100%', t.angle = o, t.color = k, t.color2 = O, t.colors = C.join(','), t.opacity = E, t.opacity2 = R }a === 'radial' && (t.focusposition = s.join(',')) } else V(t, i, e.opacity) }, F = function (t, e) { e.lineDash != null && (t.dashstyle = e.lineDash.join(' ')), e.stroke == null || e.stroke instanceof m || V(t, e.stroke, e.opacity) }, H = function (t, e, n, i) { var a = e == 'fill', r = t.getElementsByTagName(e)[0]; n[e] != null && n[e] !== 'none' && (a || !a && n.lineWidth) ? (t[a ? 'filled' : 'stroked'] = 'true', n[e] instanceof m && E(t, r), r || (r = v.createNode(e)), a ? G(r, n, i) : F(r, n), R(t, r)) : (t[a ? 'filled' : 'stroked'] = 'false', E(t, r)) }, W = [[], [], []], U = function (t, e) { var n, i, a, o, s, l, u = y.M, c = y.C, h = y.L, d = y.A, f = y.Q, p = [], g = t.data, m = t.len(); for (o = 0; o < m;) { switch (a = g[o++], i = '', n = 0, a) { case u:i = ' m ', n = 1, s = g[o++], l = g[o++], W[0][0] = s, W[0][1] = l; break; case h:i = ' l ', n = 1, s = g[o++], l = g[o++], W[0][0] = s, W[0][1] = l; break; case f:case c:i = ' c ', n = 3; var v, b, M = g[o++], A = g[o++], D = g[o++], L = g[o++]; a === f ? (v = D, b = L, D = (D + 2 * M) / 3, L = (L + 2 * A) / 3, M = (s + 2 * M) / 3, A = (l + 2 * A) / 3) : (v = g[o++], b = g[o++]), W[0][0] = M, W[0][1] = A, W[1][0] = D, W[1][1] = L, W[2][0] = v, W[2][1] = b, s = v, l = b; break; case d:var P = 0, k = 0, O = 1, R = 1, E = 0; e && (P = e[4], k = e[5], O = _(e[0] * e[0] + e[1] * e[1]), R = _(e[2] * e[2] + e[3] * e[3]), E = Math.atan2(-e[1] / R, e[0] / O)); var N = g[o++], z = g[o++], V = g[o++], B = g[o++], G = g[o++] + E, F = g[o++] + G + E; o++; var H = g[o++], U = N + w(G) * V, Z = z + S(G) * B, j = (M = N + w(F) * V, A = z + S(F) * B, H ? ' wa ' : ' at '); Math.abs(U - M) < 1e-4 && (Math.abs(F - G) > 0.01 ? H && (U += 270 / T) : Math.abs(Z - z) < 1e-4 ? H && U < N || !H && U > N ? A -= 270 / T : A += 270 / T : H && Z < z || !H && Z > z ? M += 270 / T : M -= 270 / T), p.push(j, x(((N - V) * O + P) * T - C), I, x(((z - B) * R + k) * T - C), I, x(((N + V) * O + P) * T - C), I, x(((z + B) * R + k) * T - C), I, x((U * O + P) * T - C), I, x((Z * R + k) * T - C), I, x((M * O + P) * T - C), I, x((A * R + k) * T - C)), s = M, l = A; break; case y.R:var Y = W[0], q = W[1]; Y[0] = g[o++], Y[1] = g[o++], q[0] = Y[0] + g[o++], q[1] = Y[1] + g[o++], e && (r(Y, Y, e), r(q, q, e)), Y[0] = x(Y[0] * T - C), q[0] = x(q[0] * T - C), Y[1] = x(Y[1] * T - C), q[1] = x(q[1] * T - C), p.push(' m ', Y[0], I, Y[1], ' l ', q[0], I, Y[1], ' l ', q[0], I, q[1], ' l ', Y[0], I, q[1]); break; case y.Z:p.push(' x ') } if (n > 0) { p.push(i); for (var X = 0; X < n; X++) { var $ = W[X]; e && r($, $, e), p.push(x($[0] * T - C), I, x($[1] * T - C), X < n - 1 ? I : '') } } } return p.join('') }; p.prototype.brushVML = function (t) { var e = this.style, n = this._vmlEl; n || (n = v.createNode('shape'), P(n), this._vmlEl = n), H(n, 'fill', e, this), H(n, 'stroke', e, this); var i = this.transform, a = i != null, r = n.getElementsByTagName('stroke')[0]; if (r) { var o = e.lineWidth; if (a && !e.strokeNoScale) { var s = i[0] * i[3] - i[1] * i[2]; o *= _(b(s)) }r.weight = o + 'px' } var l = this.path || (this.path = new g()); this.__dirtyPath && (l.beginPath(), this.buildPath(l, this.shape), l.toStatic(), this.__dirtyPath = !1), n.path = U(l, this.transform), n.style.zIndex = N(this.zlevel, this.z, this.z2), R(t, n), e.text != null ? this.drawRectText(t, this.getBoundingRect()) : this.removeRectText(t) }, p.prototype.onRemove = function (t) { E(t, this._vmlEl), this.removeRectText(t) }, p.prototype.onAdd = function (t) { R(t, this._vmlEl), this.appendRectText(t) }; var Z = function (t) { return typeof t === 'object' && t.tagName && t.tagName.toUpperCase() === 'IMG' }; d.prototype.brushVML = function (t) { var e, n, i = this.style, a = i.image; if (Z(a)) { var o = a.src; if (o === this._imageSrc)e = this._imageWidth, n = this._imageHeight; else { var s = a.runtimeStyle, l = s.width, u = s.height; s.width = 'auto', s.height = 'auto', e = a.width, n = a.height, s.width = l, s.height = u, this._imageSrc = o, this._imageWidth = e, this._imageHeight = n }a = o } else a === this._imageSrc && (e = this._imageWidth, n = this._imageHeight); if (a) { var c = i.x || 0, h = i.y || 0, d = i.width, f = i.height, p = i.sWidth, g = i.sHeight, m = i.sx || 0, y = i.sy || 0, b = p && g, w = this._vmlEl; w || (w = v.doc.createElement('div'), P(w), this._vmlEl = w); var S, T = w.style, C = !1, D = 1, L = 1; if (this.transform && (S = this.transform, D = _(S[0] * S[0] + S[1] * S[1]), L = _(S[2] * S[2] + S[3] * S[3]), C = S[1] || S[2]), C) { var k = [c, h], O = [c + d, h], E = [c, h + f], z = [c + d, h + f]; r(k, k, S), r(O, O, S), r(E, E, S), r(z, z, S); var V = M(k[0], O[0], E[0], z[0]), B = M(k[1], O[1], E[1], z[1]), G = []; G.push('M11=', S[0] / D, I, 'M12=', S[2] / L, I, 'M21=', S[1] / D, I, 'M22=', S[3] / L, I, 'Dx=', x(c * D + S[4]), I, 'Dy=', x(h * L + S[5])), T.padding = '0 ' + x(V) + 'px ' + x(B) + 'px 0', T.filter = A + '.Matrix(' + G.join('') + ', SizingMethod=clip)' } else S && (c = c * D + S[4], h = h * L + S[5]), T.filter = '', T.left = x(c) + 'px', T.top = x(h) + 'px'; var F = this._imageEl, H = this._cropEl; F || (F = v.doc.createElement('div'), this._imageEl = F); var W = F.style; if (b) { if (e && n)W.width = x(D * e * d / p) + 'px', W.height = x(L * n * f / g) + 'px'; else { var U = new Image(), j = this; U.onload = function () { U.onload = null, e = U.width, n = U.height, W.width = x(D * e * d / p) + 'px', W.height = x(L * n * f / g) + 'px', j._imageWidth = e, j._imageHeight = n, j._imageSrc = a }, U.src = a }H || (H = v.doc.createElement('div'), H.style.overflow = 'hidden', this._cropEl = H); var Y = H.style; Y.width = x((d + m * d / p) * D), Y.height = x((f + y * f / g) * L), Y.filter = A + '.Matrix(Dx=' + -m * d / p * D + ',Dy=' + -y * f / g * L + ')', H.parentNode || w.appendChild(H), F.parentNode != H && H.appendChild(F) } else W.width = x(D * d) + 'px', W.height = x(L * f) + 'px', w.appendChild(F), H && H.parentNode && (w.removeChild(H), this._cropEl = null); var q = '', X = i.opacity; X < 1 && (q += '.Alpha(opacity=' + x(100 * X) + ') '), q += A + '.AlphaImageLoader(src=' + a + ', SizingMethod=scale)', W.filter = q, w.style.zIndex = N(this.zlevel, this.z, this.z2), R(t, w), i.text != null && this.drawRectText(t, this.getBoundingRect()) } }, d.prototype.onRemove = function (t) { E(t, this._vmlEl), this._vmlEl = null, this._cropEl = null, this._imageEl = null, this.removeRectText(t) }, d.prototype.onAdd = function (t) { R(t, this._vmlEl), this.appendRectText(t) }; var j, Y = 'normal', q = {}, X = 0, $ = 100, K = document.createElement('div'), J = function (t) { var e = q[t]; if (!e) { X > $ && (X = 0, q = {}); var n, i = K.style; try { i.font = t, n = i.fontFamily.split(',')[0] } catch (t) {}e = {style: i.fontStyle || Y, variant: i.fontVariant || Y, weight: i.fontWeight || Y, size: 0 | parseFloat(i.fontSize || 12), family: n || 'Microsoft YaHei'}, q[t] = e, X++ } return e }; l.$override('measureText', function (t, e) { var n = v.doc; j || (j = n.createElement('div'), j.style.cssText = 'position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;', v.doc.body.appendChild(j)); try { j.style.font = e } catch (t) {} return j.innerHTML = '', j.appendChild(n.createTextNode(t)), {width: j.offsetWidth} }); for (var Q = new o(), tt = function (t, e, n, i) { var a = this.style; this.__dirty && u.normalizeTextStyle(a, !0); var o = a.text; if (o != null && (o += ''), o) { if (a.rich) { var s = l.parseRichText(o, a); o = []; for (var c = 0; c < s.lines.length; c++) { for (var h = s.lines[c].tokens, d = [], f = 0; f < h.length; f++)d.push(h[f].text); o.push(d.join('')) }o = o.join('\n') } var p, g, m = a.textAlign, y = a.textVerticalAlign, _ = J(a.font), b = _.style + ' ' + _.variant + ' ' + _.weight + ' ' + _.size + 'px "' + _.family + '"'; n = n || l.getBoundingRect(o, b, m, y); var w = this.transform; if (w && !i && (Q.copy(e), Q.applyTransform(w), e = Q), i)p = e.x, g = e.y; else { var S = a.textPosition, M = a.textDistance; if (S instanceof Array)p = e.x + z(S[0], e.width), g = e.y + z(S[1], e.height), m = m || 'left'; else { var A = l.adjustTextPositionOnRect(S, e, M); p = A.x, g = A.y, m = m || A.textAlign, y = y || A.textVerticalAlign } }p = l.adjustTextX(p, n.width, m), g = l.adjustTextY(g, n.height, y), g += n.height / 2; var T, C, D, L = v.createNode, O = this._textVmlEl; O ? (D = O.firstChild, T = D.nextSibling, C = T.nextSibling) : (O = L('line'), T = L('path'), C = L('textpath'), D = L('skew'), C.style['v-text-align'] = 'left', P(O), T.textpathok = !0, C.on = !0, O.from = '0 0', O.to = '1000 0.05', R(O, D), R(O, T), R(O, C), this._textVmlEl = O); var E = [p, g], V = O.style; w && i ? (r(E, E, w), D.on = !0, D.matrix = w[0].toFixed(3) + I + w[2].toFixed(3) + I + w[1].toFixed(3) + I + w[3].toFixed(3) + ',0,0', D.offset = (x(E[0]) || 0) + ',' + (x(E[1]) || 0), D.origin = '0 0', V.left = '0px', V.top = '0px') : (D.on = !1, V.left = x(p) + 'px', V.top = x(g) + 'px'), C.string = k(o); try { C.style.font = b } catch (t) {}H(O, 'fill', {fill: a.textFill, opacity: a.opacity}, this), H(O, 'stroke', {stroke: a.textStroke, opacity: a.opacity, lineDash: a.lineDash}, this), O.style.zIndex = N(this.zlevel, this.z, this.z2), R(t, O) } }, et = function (t) { E(t, this._textVmlEl), this._textVmlEl = null }, nt = function (t) { R(t, this._textVmlEl) }, it = [c, h, d, p, f], at = 0; at < it.length; at++) { var rt = it[at].prototype; rt.drawRectText = tt, rt.removeRectText = et, rt.appendRectText = nt }f.prototype.brushVML = function (t) { var e = this.style; e.text != null ? this.drawRectText(t, {x: e.x || 0, y: e.y || 0, width: 0, height: 0}, this.getBoundingRect(), !0) : this.removeRectText(t) }, f.prototype.onRemove = function (t) { this.removeRectText(t) }, f.prototype.onAdd = function (t) { this.appendRectText(t) } } }, a890: function (t, e, n) { var i = n('0655'), a = n('9850'), r = {lineX: o(0), lineY: o(1), rect: {point: function (t, e, n) { return t && n.boundingRect.contain(t[0], t[1]) }, rect: function (t, e, n) { return t && n.boundingRect.intersect(t) }}, polygon: {point: function (t, e, n) { return t && n.boundingRect.contain(t[0], t[1]) && i.contain(n.range, t[0], t[1]) }, rect: function (t, e, n) { var r = n.range; if (!t || r.length <= 1) return !1; var o = t.x, s = t.y, u = t.width, c = t.height, h = r[0]; return !!(i.contain(r, o, s) || i.contain(r, o + u, s) || i.contain(r, o, s + c) || i.contain(r, o + u, s + c) || a.create(t).contain(h[0], h[1]) || l(o, s, o + u, s, r) || l(o, s, o, s + c, r) || l(o + u, s, o + u, s + c, r) || l(o, s + c, o + u, s + c, r)) || void 0 }}}; function o (t) { var e = ['x', 'y'], n = ['width', 'height']; return {point: function (e, n, i) { if (e) { var a = i.range, r = e[t]; return s(r, a) } }, rect: function (i, a, r) { if (i) { var o = r.range, l = [i[e[t]], i[e[t]] + i[n[t]]]; return l[1] < l[0] && l.reverse(), s(l[0], o) || s(l[1], o) || s(o[0], l) || s(o[1], l) } }} } function s (t, e) { return e[0] <= t && t <= e[1] } function l (t, e, n, i, a) { for (var r = 0, o = a[a.length - 1]; r < a.length; r++) { var s = a[r]; if (u(t, e, n, i, s[0], s[1], o[0], o[1])) return !0; o = s } } function u (t, e, n, i, a, r, o, s) { var l = h(n - t, a - o, i - e, r - s); if (c(l)) return !1; var u = h(a - t, a - o, r - e, r - s) / l; if (u < 0 || u > 1) return !1; var d = h(n - t, a - t, i - e, r - e) / l; return !(d < 0 || d > 1) } function c (t) { return t <= 1e-6 && t >= -1e-6 } function h (t, e, n, i) { return t * i - e * n } var d = r; t.exports = d }, a8c6: function (t, e, n) { var i = n('2449'), a = i.extend({type: 'markPoint', defaultOption: {zlevel: 0, z: 5, symbol: 'pin', symbolSize: 50, tooltip: {trigger: 'item'}, label: {show: !0, position: 'inside'}, itemStyle: {borderWidth: 2}, emphasis: {label: {show: !0}}}}); t.exports = a }, a96b: function (t, e, n) { var i = n('3eba'), a = i.extendComponentModel({type: 'tooltip', dependencies: ['axisPointer'], defaultOption: {zlevel: 0, z: 8, show: !0, showContent: !0, trigger: 'item', triggerOn: 'mousemove|click', alwaysShowContent: !1, displayMode: 'single', confine: !1, showDelay: 0, hideDelay: 100, transitionDuration: 0.4, enterable: !1, backgroundColor: 'rgba(50,50,50,0.7)', borderColor: '#333', borderRadius: 4, borderWidth: 0, padding: 5, extraCssText: '', axisPointer: {type: 'line', axis: 'auto', animation: 'auto', animationDurationUpdate: 200, animationEasingUpdate: 'exponentialOut', crossStyle: {color: '#999', width: 1, type: 'dashed', textStyle: {}}}, textStyle: {color: '#fff', fontSize: 14}}}); t.exports = a }, a991: function (t, e, n) { var i = n('6d8b'), a = n('84ce'); function r (t, e) { e = e || [0, 360], a.call(this, 'angle', t, e), this.type = 'category' }r.prototype = {constructor: r, pointToData: function (t, e) { return this.polar.pointToData(t, e)[this.dim === 'radius' ? 0 : 1] }, dataToAngle: a.prototype.dataToCoord, angleToData: a.prototype.coordToData}, i.inherits(r, a); var o = r; t.exports = o }, aa01: function (t, e, n) { var i = n('6d8b'), a = n('4f85'), r = n('06c7'), o = n('55ac'), s = o.wrapTreePathInfo, l = a.extend({type: 'series.sunburst', _viewRoot: null, getInitialData: function (t, e) { var n = {name: t.name, children: t.data}; u(n); var i = t.levels || [], a = {}; return a.levels = i, r.createTree(n, this, a).data }, optionUpdated: function () { this.resetViewRoot() }, getDataParams: function (t) { var e = a.prototype.getDataParams.apply(this, arguments), n = this.getData().tree.getNodeByDataIndex(t); return e.treePathInfo = s(n, this), e }, defaultOption: {zlevel: 0, z: 2, center: ['50%', '50%'], radius: [0, '75%'], clockwise: !0, startAngle: 90, minAngle: 0, percentPrecision: 2, stillShowZeroSum: !0, highlightPolicy: 'descendant', nodeClick: 'rootToNode', renderLabelForZeroData: !1, label: {rotate: 'radial', show: !0, opacity: 1, align: 'center', position: 'inside', distance: 5, silent: !0, emphasis: {}}, itemStyle: {borderWidth: 1, borderColor: 'white', opacity: 1, emphasis: {}, highlight: {opacity: 1}, downplay: {opacity: 0.9}}, animationType: 'expansion', animationDuration: 1e3, animationDurationUpdate: 500, animationEasing: 'cubicOut', data: [], levels: [], sort: 'desc'}, getViewRoot: function () { return this._viewRoot }, resetViewRoot: function (t) { t ? this._viewRoot = t : t = this._viewRoot; var e = this.getRawData().tree.root; t && (t === e || e.contains(t)) || (this._viewRoot = e) }}); function u (t) { var e = 0; i.each(t.children, function (t) { u(t); var n = t.value; i.isArray(n) && (n = n[0]), e += n }); var n = t.value; i.isArray(n) && (n = n[0]), (n == null || isNaN(n)) && (n = e), n < 0 && (n = 0), i.isArray(t.value) ? t.value[0] = n : t.value = n }t.exports = l }, aa3e: function (t, e, n) { var i = n('6d8b'); function a (t, e) { return e = e || [0, 0], i.map(['x', 'y'], function (n, i) { var a = this.getAxis(n), r = e[i], o = t[i] / 2; return a.type === 'category' ? a.getBandWidth() : Math.abs(a.dataToCoord(r - o) - a.dataToCoord(r + o)) }, this) } function r (t) { var e = t.grid.getRect(); return {coordSys: {type: 'cartesian2d', x: e.x, y: e.y, width: e.width, height: e.height}, api: {coord: function (e) { return t.dataToPoint(e) }, size: i.bind(a, t)}} }t.exports = r }, aadf: function (t, e, n) { var i = n('3eba'), a = n('6d8b'); n('5aa9'), n('d6d9'), n('3329'); var r = n('9d57'), o = r.layout, s = n('7f96'); n('01ed'), i.registerLayout(a.curry(o, 'pictorialBar')), i.registerVisual(s('pictorialBar', 'roundRect')) }, ab05: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('2b8c'), o = n('5f14'), s = i.PRIORITY.VISUAL.COMPONENT; function l (t, e, n, i) { for (var a = e.targetVisuals[i], r = o.prepareVisualTypes(a), s = {color: t.getData().getVisual('color')}, l = 0, u = r.length; l < u; l++) { var c = r[l], h = a[c === 'opacity' ? '__alphaForOpacity' : c]; h && h.applyVisual(n, d, f) } return s.color; function d (t) { return s[t] } function f (t, e) { s[t] = e } }i.registerVisual(s, {createOnAllSeries: !0, reset: function (t, e) { var n = []; return e.eachComponent('visualMap', function (e) { var i = t.pipelineContext; !e.isTargetSeries(t) || i && i.large || n.push(r.incrementalApplyVisual(e.stateList, e.targetVisuals, a.bind(e.getValueState, e), e.getDataDimension(t.getData()))) }), n }}), i.registerVisual(s, {createOnAllSeries: !0, reset: function (t, e) { var n = t.getData(), i = []; e.eachComponent('visualMap', function (e) { if (e.isTargetSeries(t)) { var r = e.getVisualMeta(a.bind(l, null, t, e)) || {stops: [], outerColors: []}, o = e.getDataDimension(n), s = n.getDimensionInfo(o); s != null && (r.dimension = s.index, i.push(r)) } }), t.getData().setVisual('visualMeta', i) }}) }, ab71: function (t, e) { var n = ['lineStyle', 'normal', 'opacity'], i = {seriesType: 'parallel', reset: function (t, e, i) { var a = t.getModel('itemStyle'), r = t.getModel('lineStyle'), o = e.get('color'), s = r.get('color') || a.get('color') || o[t.seriesIndex % o.length], l = t.get('inactiveOpacity'), u = t.get('activeOpacity'), c = t.getModel('lineStyle').getLineStyle(), h = t.coordinateSystem, d = t.getData(), f = {normal: c.opacity, active: u, inactive: l}; function p (t, e) { h.eachActiveState(e, function (t, i) { var a = f[t]; if (t === 'normal' && e.hasItemOption) { var r = e.getItemModel(i).get(n, !0); r != null && (a = r) }e.setItemVisual(i, 'opacity', a) }, t.start, t.end) } return d.setVisual('color', s), {progress: p} }}; t.exports = i }, abff: function (t, e, n) { var i = n('3eba'), a = n('f706'), r = n('c965'), o = n('87c3'); i.extendChartView({type: 'scatter', render: function (t, e, n) { var i = t.getData(), a = this._updateSymbolDraw(i, t); a.updateData(i), this._finished = !0 }, incrementalPrepareRender: function (t, e, n) { var i = t.getData(), a = this._updateSymbolDraw(i, t); a.incrementalPrepareUpdate(i), this._finished = !1 }, incrementalRender: function (t, e, n) { this._symbolDraw.incrementalUpdate(t, e.getData()), this._finished = t.end === e.getData().count() }, updateTransform: function (t, e, n) { var i = t.getData(); if (this.group.dirty(), !this._finished || i.count() > 1e4 || !this._symbolDraw.isPersistent()) return {update: !0}; var a = o().reset(t); a.progress && a.progress({start: 0, end: i.count()}, i), this._symbolDraw.updateLayout(i) }, _updateSymbolDraw: function (t, e) { var n = this._symbolDraw, i = e.pipelineContext, o = i.large; return n && o === this._isLargeDraw || (n && n.remove(), n = this._symbolDraw = o ? new r() : new a(), this._isLargeDraw = o, this.group.removeAll()), this.group.add(n.group), n }, remove: function (t, e) { this._symbolDraw && this._symbolDraw.remove(!0), this._symbolDraw = null }, dispose: function () {}}) }, ac0f: function (t, e, n) { var i = n('cbe5'), a = n('401b'), r = n('4a3f'), o = r.quadraticSubdivide, s = r.cubicSubdivide, l = r.quadraticAt, u = r.cubicAt, c = r.quadraticDerivativeAt, h = r.cubicDerivativeAt, d = []; function f (t, e, n) { var i = t.cpx2, a = t.cpy2; return i === null || a === null ? [(n ? h : u)(t.x1, t.cpx1, t.cpx2, t.x2, e), (n ? h : u)(t.y1, t.cpy1, t.cpy2, t.y2, e)] : [(n ? c : l)(t.x1, t.cpx1, t.x2, e), (n ? c : l)(t.y1, t.cpy1, t.y2, e)] } var p = i.extend({type: 'bezier-curve', shape: {x1: 0, y1: 0, x2: 0, y2: 0, cpx1: 0, cpy1: 0, percent: 1}, style: {stroke: '#000', fill: null}, buildPath: function (t, e) { var n = e.x1, i = e.y1, a = e.x2, r = e.y2, l = e.cpx1, u = e.cpy1, c = e.cpx2, h = e.cpy2, f = e.percent; f !== 0 && (t.moveTo(n, i), c == null || h == null ? (f < 1 && (o(n, l, a, f, d), l = d[1], a = d[2], o(i, u, r, f, d), u = d[1], r = d[2]), t.quadraticCurveTo(l, u, a, r)) : (f < 1 && (s(n, l, c, a, f, d), l = d[1], c = d[2], a = d[3], s(i, u, h, r, f, d), u = d[1], h = d[2], r = d[3]), t.bezierCurveTo(l, u, c, h, a, r))) }, pointAt: function (t) { return f(this.shape, t, !1) }, tangentAt: function (t) { var e = f(this.shape, t, !0); return a.normalize(e, e) }}); t.exports = p }, adda: function (t, e, n) { var i = n('94e4'), a = i.circularLayout; function r (t) { t.eachSeriesByType('graph', function (t) { t.get('layout') === 'circular' && a(t) }) }t.exports = r }, adf4: function (t, e, n) { var i = n('4f85'), a = n('b1d4'), r = n('2f45'), o = r.getDimensionTypeByAxis, s = n('6179'), l = n('6d8b'), u = n('eda2'), c = u.encodeHTML, h = n('ee70'), d = 2, f = i.extend({type: 'series.themeRiver', dependencies: ['singleAxis'], nameMap: null, init: function (t) { f.superApply(this, 'init', arguments), this.legendDataProvider = function () { return this.getRawData() } }, fixData: function (t) { for (var e = t.length, n = h().key(function (t) { return t[2] }).entries(t), i = l.map(n, function (t) { return {name: t.key, dataList: t.values} }), a = i.length, r = -1, o = -1, s = 0; s < a; ++s) { var u = i[s].dataList.length; u > r && (r = u, o = s) } for (var c = 0; c < a; ++c) if (c !== o) for (var d = i[c].name, f = 0; f < r; ++f) { for (var p = i[o].dataList[f][0], g = i[c].dataList.length, m = -1, v = 0; v < g; ++v) { var y = i[c].dataList[v][0]; if (y === p) { m = v; break } }m === -1 && (t[e] = [], t[e][0] = p, t[e][1] = 0, t[e][2] = d, e++) } return t }, getInitialData: function (t, e) { for (var n = e.queryComponents({mainType: 'singleAxis', index: this.get('singleAxisIndex'), id: this.get('singleAxisId')})[0], i = n.get('type'), r = l.filter(t.data, function (t) { return void 0 !== t[2] }), u = this.fixData(r || []), c = [], h = this.nameMap = l.createHashMap(), f = 0, p = 0; p < u.length; ++p)c.push(u[p][d]), h.get(u[p][d]) || (h.set(u[p][d], f), f++); var g = a(u, {coordDimensions: ['single'], dimensionsDefine: [{name: 'time', type: o(i)}, {name: 'value', type: 'float'}, {name: 'name', type: 'ordinal'}], encodeDefine: {single: 0, value: 1, itemName: 2}}), m = new s(g, this); return m.initData(u), m }, getLayerSeries: function () { for (var t = this.getData(), e = t.count(), n = [], i = 0; i < e; ++i)n[i] = i; for (var a = h().key(function (e) { return t.get('name', e) }).entries(n), r = l.map(a, function (t) { return {name: t.key, indices: t.values} }), o = t.mapDimension('single'), s = 0; s < r.length; ++s)r[s].indices.sort(u); function u (e, n) { return t.get(o, e) - t.get(o, n) } return r }, getAxisTooltipData: function (t, e, n) { l.isArray(t) || (t = t ? [t] : []); for (var i, a = this.getData(), r = this.getLayerSeries(), o = [], s = r.length, u = 0; u < s; ++u) { for (var c = Number.MAX_VALUE, h = -1, d = r[u].indices.length, f = 0; f < d; ++f) { var p = a.get(t[0], r[u].indices[f]), g = Math.abs(p - e); g <= c && (i = p, c = g, h = r[u].indices[f]) }o.push(h) } return {dataIndices: o, nestestValue: i} }, formatTooltip: function (t) { var e = this.getData(), n = e.getName(t), i = e.get(e.mapDimension('value'), t); return (isNaN(i) || i == null) && (i = '-'), c(n + ' : ' + i) }, defaultOption: {zlevel: 0, z: 2, coordinateSystem: 'singleAxis', boundaryGap: ['10%', '10%'], singleAxisIndex: 0, animationEasing: 'linear', label: {margin: 4, show: !0, position: 'left', color: '#000', fontSize: 11}, emphasis: {label: {show: !0}}}}), p = f; t.exports = p }, ae46: function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('3eba')), r = n('73ca'), o = n('0fd3'), s = n('7e5b'), l = n('4527'), u = n('6a4c'), c = n('a38d'), h = n('6582'), d = a.extendChartView({type: 'lines', init: function () {}, render: function (t, e, n) { var i = t.getData(), a = this._updateLineDraw(i, t), r = t.get('zlevel'), o = t.get('effect.trailLength'), s = n.getZr(), l = s.painter.getType() === 'svg'; l || s.painter.getLayer(r).clear(!0), this._lastZlevel == null || l || s.configLayer(this._lastZlevel, {motionBlur: !1}), this._showEffect(t) && o && (l || s.configLayer(r, {motionBlur: !0, lastFrameAlpha: Math.max(Math.min(o / 10 + 0.9, 1), 0)})), a.updateData(i), this._lastZlevel = r, this._finished = !0 }, incrementalPrepareRender: function (t, e, n) { var i = t.getData(), a = this._updateLineDraw(i, t); a.incrementalPrepareUpdate(i), this._clearLayer(n), this._finished = !1 }, incrementalRender: function (t, e, n) { this._lineDraw.incrementalUpdate(t, e.getData()), this._finished = t.end === e.getData().count() }, updateTransform: function (t, e, n) { var i = t.getData(), a = t.pipelineContext; if (!this._finished || a.large || a.progressiveRender) return {update: !0}; var r = h.reset(t); r.progress && r.progress({start: 0, end: i.count()}, i), this._lineDraw.updateLayout(), this._clearLayer(n) }, _updateLineDraw: function (t, e) { var n = this._lineDraw, i = this._showEffect(e), a = !!e.get('polyline'), h = e.pipelineContext, d = h.large; return n && i === this._hasEffet && a === this._isPolyline && d === this._isLargeDraw || (n && n.remove(), n = this._lineDraw = d ? new c() : new r(a ? i ? u : l : i ? o : s), this._hasEffet = i, this._isPolyline = a, this._isLargeDraw = d, this.group.removeAll()), this.group.add(n.group), n }, _showEffect: function (t) { return !!t.get('effect.show') }, _clearLayer: function (t) { var e = t.getZr(), n = e.painter.getType() === 'svg'; n || this._lastZlevel == null || e.painter.getLayer(this._lastZlevel).clear(!0) }, remove: function (t, e) { this._lineDraw && this._lineDraw.remove(), this._lineDraw = null, this._clearLayer(e) }, dispose: function () {}}); t.exports = d }, ae75: function (t, e, n) { var i = n('6d8b'), a = ['rect', 'polygon', 'keep', 'clear']; function r (t, e) { var n = t && t.brush; if (i.isArray(n) || (n = n ? [n] : []), n.length) { var r = []; i.each(n, function (t) { var e = t.hasOwnProperty('toolbox') ? t.toolbox : []; e instanceof Array && (r = r.concat(e)) }); var s = t && t.toolbox; i.isArray(s) && (s = s[0]), s || (s = {feature: {}}, t.toolbox = [s]); var l = s.feature || (s.feature = {}), u = l.brush || (l.brush = {}), c = u.type || (u.type = []); c.push.apply(c, r), o(c), e && !c.length && c.push.apply(c, a) } } function o (t) { var e = {}; i.each(t, function (t) { e[t] = 1 }), t.length = 0, i.each(e, function (e, n) { t.push(n) }) }t.exports = r }, af24: function (t, e, n) { n('48c7'), n('f273') }, afa0: function (t, e, n) { var i = n('6d8b'), a = n('22d1'), r = n('e1fc'), o = n('04f6'); function s (t, e) { return t.zlevel === e.zlevel ? t.z === e.z ? t.z2 - e.z2 : t.z - e.z : t.zlevel - e.zlevel } var l = function () { this._roots = [], this._displayList = [], this._displayListLen = 0 }; l.prototype = {constructor: l, traverse: function (t, e) { for (var n = 0; n < this._roots.length; n++) this._roots[n].traverse(t, e) }, getDisplayList: function (t, e) { return e = e || !1, t && this.updateDisplayList(e), this._displayList }, updateDisplayList: function (t) { this._displayListLen = 0; for (var e = this._roots, n = this._displayList, i = 0, r = e.length; i < r; i++) this._updateAndAddDisplayable(e[i], null, t); n.length = this._displayListLen, a.canvasSupported && o(n, s) }, _updateAndAddDisplayable: function (t, e, n) { if (!t.ignore || n) { t.beforeUpdate(), t.__dirty && t.update(), t.afterUpdate(); var i = t.clipPath; if (i) { e = e ? e.slice() : []; var a = i, r = t; while (a)a.parent = r, a.updateTransform(), e.push(a), r = a, a = a.clipPath } if (t.isGroup) { for (var o = t._children, s = 0; s < o.length; s++) { var l = o[s]; t.__dirty && (l.__dirty = !0), this._updateAndAddDisplayable(l, e, n) }t.__dirty = !1 } else t.__clipPaths = e, this._displayList[this._displayListLen++] = t } }, addRoot: function (t) { t.__storage !== this && (t instanceof r && t.addChildrenToStorage(this), this.addToStorage(t), this._roots.push(t)) }, delRoot: function (t) { if (t == null) { for (var e = 0; e < this._roots.length; e++) { var n = this._roots[e]; n instanceof r && n.delChildrenFromStorage(this) } return this._roots = [], this._displayList = [], void (this._displayListLen = 0) } if (t instanceof Array) { e = 0; for (var a = t.length; e < a; e++) this.delRoot(t[e]) } else { var o = i.indexOf(this._roots, t); o >= 0 && (this.delFromStorage(t), this._roots.splice(o, 1), t instanceof r && t.delChildrenFromStorage(this)) } }, addToStorage: function (t) { return t && (t.__storage = this, t.dirty(!1)), this }, delFromStorage: function (t) { return t && (t.__storage = null), this }, dispose: function () { this._renderList = this._roots = null }, displayableSortFunc: s}; var u = l; t.exports = u }, b006: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('fab22'), o = n('fc82'), s = n('f4a2'), l = n('2306'), u = ['axisLine', 'axisTickLabel', 'axisName'], c = i.extendComponentView({type: 'parallelAxis', init: function (t, e) { c.superApply(this, 'init', arguments), (this._brushController = new o(e.getZr())).on('brush', a.bind(this._onBrush, this)) }, render: function (t, e, n, i) { if (!h(t, e, i)) { this.axisModel = t, this.api = n, this.group.removeAll(); var o = this._axisGroup; if (this._axisGroup = new l.Group(), this.group.add(this._axisGroup), t.get('show')) { var s = f(t, e), c = s.coordinateSystem, d = t.getAreaSelectStyle(), p = d.width, g = t.axis.dim, m = c.getAxisLayout(g), v = a.extend({strokeContainThreshold: p}, m), y = new r(t, v); a.each(u, y.add, y), this._axisGroup.add(y.getGroup()), this._refreshBrushController(v, d, t, s, p, n); var x = i && !1 === i.animation ? null : t; l.groupTransition(o, this._axisGroup, x) } } }, _refreshBrushController: function (t, e, n, i, a, r) { var o = n.axis.getExtent(), u = o[1] - o[0], c = Math.min(30, 0.1 * Math.abs(u)), h = l.BoundingRect.create({x: o[0], y: -a / 2, width: u, height: a}); h.x -= c, h.width += 2 * c, this._brushController.mount({enableGlobalPan: !0, rotation: t.rotation, position: t.position}).setPanels([{panelId: 'pl', clipPath: s.makeRectPanelClipPath(h), isTargetByCursor: s.makeRectIsTargetByCursor(h, r, i), getLinearBrushOtherExtent: s.makeLinearBrushOtherExtent(h, 0)}]).enableBrush({brushType: 'lineX', brushStyle: e, removeOnClick: !0}).updateCovers(d(n)) }, _onBrush: function (t, e) { var n = this.axisModel, i = n.axis, r = a.map(t, function (t) { return [i.coordToData(t.range[0], !0), i.coordToData(t.range[1], !0)] }); (!n.option.realtime === e.isEnd || e.removeOnClick) && this.api.dispatchAction({type: 'axisAreaSelect', parallelAxisId: n.id, intervals: r}) }, dispose: function () { this._brushController.dispose() }}); function h (t, e, n) { return n && n.type === 'axisAreaSelect' && e.findComponents({mainType: 'parallelAxis', query: n})[0] === t } function d (t) { var e = t.axis; return a.map(t.activeIntervals, function (t) { return {brushType: 'lineX', panelId: 'pl', range: [e.dataToCoord(t[0], !0), e.dataToCoord(t[1], !0)]} }) } function f (t, e) { return e.getComponent('parallel', t.get('parallelIndex')) } var p = c; t.exports = p }, b11c: function (t, e, n) { n('8ec5'), n('db9e'), n('4e9f'), n('d3a0'), n('767c'), n('7c4d'), n('df70') }, b12f: function (t, e, n) { var i = n('e1fc'), a = n('8918'), r = n('625e'), o = function () { this.group = new i(), this.uid = a.getUID('viewComponent') }; o.prototype = {constructor: o, init: function (t, e) {}, render: function (t, e, n, i) {}, dispose: function () {}}; var s = o.prototype; s.updateView = s.updateLayout = s.updateVisual = function (t, e, n, i) {}, r.enableClassExtend(o), r.enableClassManagement(o, {registerWhenExtend: !0}); var l = o; t.exports = l }, b16f: function (t, e, n) { var i = n('4ab1'), a = n('6d8b'), r = n('4942'); function o (t, e) { i.call(this, t, e, ['linearGradient', 'radialGradient'], '__gradient_in_use__') }a.inherits(o, i), o.prototype.addWithoutUpdate = function (t, e) { if (e && e.style) { var n = this; a.each(['fill', 'stroke'], function (i) { if (e.style[i] && (e.style[i].type === 'linear' || e.style[i].type === 'radial')) { var a, r = e.style[i], o = n.getDefs(!0); r._dom ? (a = r._dom, o.contains(r._dom) || n.addDom(a)) : a = n.add(r), n.markUsed(e); var s = a.getAttribute('id'); t.setAttribute(i, 'url(#' + s + ')') } }) } }, o.prototype.add = function (t) { var e; if (t.type === 'linear')e = this.createElement('linearGradient'); else { if (t.type !== 'radial') return r('Illegal gradient type.'), null; e = this.createElement('radialGradient') } return t.id = t.id || this.nextId++, e.setAttribute('id', 'zr' + this._zrId + '-gradient-' + t.id), this.updateDom(t, e), this.addDom(e), e }, o.prototype.update = function (t) { var e = this; i.prototype.update.call(this, t, function () { var n = t.type, i = t._dom.tagName; n === 'linear' && i === 'linearGradient' || n === 'radial' && i === 'radialGradient' ? e.updateDom(t, t._dom) : (e.removeDom(t), e.add(t)) }) }, o.prototype.updateDom = function (t, e) { if (t.type === 'linear')e.setAttribute('x1', t.x), e.setAttribute('y1', t.y), e.setAttribute('x2', t.x2), e.setAttribute('y2', t.y2); else { if (t.type !== 'radial') return void r('Illegal gradient type.'); e.setAttribute('cx', t.x), e.setAttribute('cy', t.y), e.setAttribute('r', t.r) }t.global ? e.setAttribute('gradientUnits', 'userSpaceOnUse') : e.setAttribute('gradientUnits', 'objectBoundingBox'), e.innerHTML = ''; for (var n = t.colorStops, i = 0, a = n.length; i < a; ++i) { var o = this.createElement('stop'); o.setAttribute('offset', 100 * n[i].offset + '%'), o.setAttribute('stop-color', n[i].color), e.appendChild(o) }t._dom = e }, o.prototype.markUsed = function (t) { if (t.style) { var e = t.style.fill; e && e._dom && i.prototype.markUsed.call(this, e._dom), e = t.style.stroke, e && e._dom && i.prototype.markUsed.call(this, e._dom) } }; var s = o; t.exports = s }, b1d4: function (t, e, n) { var i = n('862d'); function a (t, e) { return e = e || {}, i(e.coordDimensions || [], t, {dimsDef: e.dimensionsDefine || t.dimensionsDefine, encodeDef: e.encodeDefine || t.encodeDefine, dimCount: e.dimensionsCount, generateCoord: e.generateCoord, generateCoordCount: e.generateCoordCount}) }t.exports = a }, b336: function (t, e, n) { var i = n('6d8b'), a = i.each; function r (t) { var e = t && t.visualMap; i.isArray(e) || (e = e ? [e] : []), a(e, function (t) { if (t) { o(t, 'splitList') && !o(t, 'pieces') && (t.pieces = t.splitList, delete t.splitList); var e = t.pieces; e && i.isArray(e) && a(e, function (t) { i.isObject(t) && (o(t, 'start') && !o(t, 'min') && (t.min = t.start), o(t, 'end') && !o(t, 'max') && (t.max = t.end)) }) } }) } function o (t, e) { return t && t.hasOwnProperty && t.hasOwnProperty(e) }t.exports = r }, b369: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('2306'), o = n('80f0'), s = n('55ac'), l = n('f610'), u = n('4a01'), c = n('9850'), h = n('1687'), d = n('e6cd'), f = n('282b'), p = a.bind, g = r.Group, m = r.Rect, v = a.each, y = 3, x = ['label'], _ = ['emphasis', 'label'], b = ['upperLabel'], w = ['emphasis', 'upperLabel'], S = 10, M = 1, I = 2, A = f([['fill', 'color'], ['stroke', 'strokeColor'], ['lineWidth', 'strokeWidth'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor']]), T = function (t) { var e = A(t); return e.stroke = e.fill = e.lineWidth = null, e }, C = i.extendChartView({type: 'treemap', init: function (t, e) { this._containerGroup, this._storage = D(), this._oldTree, this._breadcrumb, this._controller, this._state = 'ready' }, render: function (t, e, n, i) { var r = e.findComponents({mainType: 'series', subType: 'treemap', query: i}); if (!(a.indexOf(r, t) < 0)) { this.seriesModel = t, this.api = n, this.ecModel = e; var o = ['treemapZoomToNode', 'treemapRootToNode'], l = s.retrieveTargetInfo(i, o, t), u = i && i.type, c = t.layoutInfo, h = !this._oldTree, d = this._storage, f = u === 'treemapRootToNode' && l && d ? {rootNodeGroup: d.nodeGroup[l.node.getRawIndex()], direction: i.direction} : null, p = this._giveContainerGroup(c), g = this._doRender(p, t, f); h || u && u !== 'treemapZoomToNode' && u !== 'treemapRootToNode' ? g.renderFinally() : this._doAnimation(p, g, t, f), this._resetController(n), this._renderBreadcrumb(t, n, l) } }, _giveContainerGroup: function (t) { var e = this._containerGroup; return e || (e = this._containerGroup = new g(), this._initEvents(e), this.group.add(e)), e.attr('position', [t.x, t.y]), e }, _doRender: function (t, e, n) { var i = e.getData().tree, r = this._oldTree, s = D(), l = D(), u = this._storage, c = [], h = a.curry(L, e, l, u, n, s, c); f(i.root ? [i.root] : [], r && r.root ? [r.root] : [], t, i === r || !r, 0); var d = p(u); return this._oldTree = i, this._storage = l, {lastsForAnimation: s, willDeleteEls: d, renderFinally: g}; function f (t, e, n, i, r) { function s (t) { return t.getId() } function l (a, o) { var s = a != null ? t[a] : null, l = o != null ? e[o] : null, u = h(s, l, n, r); u && f(s && s.viewChildren || [], l && l.viewChildren || [], u, i, r + 1) }i ? (e = t, v(t, function (t, e) { !t.isRemoved() && l(e, e) })) : new o(e, t, s, s).add(l).update(l).remove(a.curry(l, null)).execute() } function p (t) { var e = D(); return t && v(t, function (t, n) { var i = e[n]; v(t, function (t) { t && (i.push(t), t.__tmWillDelete = 1) }) }), e } function g () { v(d, function (t) { v(t, function (t) { t.parent && t.parent.remove(t) }) }), v(c, function (t) { t.invisible = !0, t.dirty() }) } }, _doAnimation: function (t, e, n, i) { if (n.get('animation')) { var r = n.get('animationDurationUpdate'), o = n.get('animationEasing'), s = d.createWrap(); v(e.willDeleteEls, function (t, e) { v(t, function (t, n) { if (!t.invisible) { var a, l = t.parent; if (i && i.direction === 'drillDown')a = l === i.rootNodeGroup ? {shape: {x: 0, y: 0, width: l.__tmNodeWidth, height: l.__tmNodeHeight}, style: {opacity: 0}} : {style: {opacity: 0}}; else { var u = 0, c = 0; l.__tmWillDelete || (u = l.__tmNodeWidth / 2, c = l.__tmNodeHeight / 2), a = e === 'nodeGroup' ? {position: [u, c], style: {opacity: 0}} : {shape: {x: u, y: c, width: 0, height: 0}, style: {opacity: 0}} }a && s.add(t, a, r, o) } }) }), v(this._storage, function (t, n) { v(t, function (t, i) { var l = e.lastsForAnimation[n][i], u = {}; l && (n === 'nodeGroup' ? l.old && (u.position = t.position.slice(), t.attr('position', l.old)) : (l.old && (u.shape = a.extend({}, t.shape), t.setShape(l.old)), l.fadein ? (t.setStyle('opacity', 0), u.style = {opacity: 1}) : t.style.opacity !== 1 && (u.style = {opacity: 1})), s.add(t, u, r, o)) }) }, this), this._state = 'animating', s.done(p(function () { this._state = 'ready', e.renderFinally() }, this)).start() } }, _resetController: function (t) { var e = this._controller; e || (e = this._controller = new u(t.getZr()), e.enable(this.seriesModel.get('roam')), e.on('pan', p(this._onPan, this)), e.on('zoom', p(this._onZoom, this))); var n = new c(0, 0, t.getWidth(), t.getHeight()); e.setPointerChecker(function (t, e, i) { return n.contain(e, i) }) }, _clearController: function () { var t = this._controller; t && (t.dispose(), t = null) }, _onPan: function (t, e) { if (this._state !== 'animating' && (Math.abs(t) > y || Math.abs(e) > y)) { var n = this.seriesModel.getData().tree.root; if (!n) return; var i = n.getLayout(); if (!i) return; this.api.dispatchAction({type: 'treemapMove', from: this.uid, seriesId: this.seriesModel.id, rootRect: {x: i.x + t, y: i.y + e, width: i.width, height: i.height}}) } }, _onZoom: function (t, e, n) { if (this._state !== 'animating') { var i = this.seriesModel.getData().tree.root; if (!i) return; var a = i.getLayout(); if (!a) return; var r = new c(a.x, a.y, a.width, a.height), o = this.seriesModel.layoutInfo; e -= o.x, n -= o.y; var s = h.create(); h.translate(s, s, [-e, -n]), h.scale(s, s, [t, t]), h.translate(s, s, [e, n]), r.applyTransform(s), this.api.dispatchAction({type: 'treemapRender', from: this.uid, seriesId: this.seriesModel.id, rootRect: {x: r.x, y: r.y, width: r.width, height: r.height}}) } }, _initEvents: function (t) { t.on('click', function (t) { if (this._state === 'ready') { var e = this.seriesModel.get('nodeClick', !0); if (e) { var n = this.findTarget(t.offsetX, t.offsetY); if (n) { var i = n.node; if (i.getLayout().isLeafRoot) this._rootToNode(n); else if (e === 'zoomToNode') this._zoomToNode(n); else if (e === 'link') { var a = i.hostTree.data.getItemModel(i.dataIndex), r = a.get('link', !0), o = a.get('target', !0) || 'blank'; r && window.open(r, o) } } } } }, this) }, _renderBreadcrumb: function (t, e, n) { function i (e) { this._state !== 'animating' && (s.aboveViewRoot(t.getViewRoot(), e) ? this._rootToNode({node: e}) : this._zoomToNode({node: e})) }n || (n = t.get('leafDepth', !0) != null ? {node: t.getViewRoot()} : this.findTarget(e.getWidth() / 2, e.getHeight() / 2), n || (n = {node: t.getData().tree.root})), (this._breadcrumb || (this._breadcrumb = new l(this.group))).render(t, e, n.node, p(i, this)) }, remove: function () { this._clearController(), this._containerGroup && this._containerGroup.removeAll(), this._storage = D(), this._state = 'ready', this._breadcrumb && this._breadcrumb.remove() }, dispose: function () { this._clearController() }, _zoomToNode: function (t) { this.api.dispatchAction({type: 'treemapZoomToNode', from: this.uid, seriesId: this.seriesModel.id, targetNode: t.node}) }, _rootToNode: function (t) { this.api.dispatchAction({type: 'treemapRootToNode', from: this.uid, seriesId: this.seriesModel.id, targetNode: t.node}) }, findTarget: function (t, e) { var n, i = this.seriesModel.getViewRoot(); return i.eachNode({attr: 'viewChildren', order: 'preorder'}, function (i) { var a = this._storage.background[i.getRawIndex()]; if (a) { var r = a.transformCoordToLocal(t, e), o = a.shape; if (!(o.x <= r[0] && r[0] <= o.x + o.width && o.y <= r[1] && r[1] <= o.y + o.height)) return !1; n = {node: i, offsetX: r[0], offsetY: r[1]} } }, this), n }}); function D () { return {nodeGroup: [], background: [], content: []} } function L (t, e, n, i, o, s, l, u, c, h) { if (l) { var d = l.getLayout(); if (d && d.isInView) { var f = d.width, p = d.height, v = d.borderWidth, y = d.invisible, S = l.getRawIndex(), C = u && u.getRawIndex(), D = l.viewChildren, L = d.upperHeight, k = D && D.length, O = l.getModel('itemStyle'), R = l.getModel('emphasis.itemStyle'), E = H('nodeGroup', g); if (E) { if (c.add(E), E.attr('position', [d.x || 0, d.y || 0]), E.__tmNodeWidth = f, E.__tmNodeHeight = p, d.isAboveViewRoot) return E; var N = H('background', m, h, M); if (N && V(E, N, k && d.upperHeight), !k) { var z = H('content', m, h, I); z && B(E, z) } return E } } } function V (e, n, i) { n.dataIndex = l.dataIndex, n.seriesIndex = t.seriesIndex, n.setShape({x: 0, y: 0, width: f, height: p}); var a = l.getVisual('borderColor', !0), o = R.get('borderColor'); G(n, function () { var t = T(O); t.fill = a; var e = A(R); if (e.fill = o, i) { var s = f - 2 * v; F(t, e, a, s, L, {x: v, y: 0, width: s, height: L}) } else t.text = e.text = null; n.setStyle(t), r.setHoverStyle(n, e) }), e.add(n) } function B (e, n) { n.dataIndex = l.dataIndex, n.seriesIndex = t.seriesIndex; var i = Math.max(f - 2 * v, 0), a = Math.max(p - 2 * v, 0); n.culling = !0, n.setShape({x: v, y: v, width: i, height: a}); var o = l.getVisual('color', !0); G(n, function () { var t = T(O); t.fill = o; var e = A(R); F(t, e, o, i, a), n.setStyle(t), r.setHoverStyle(n, e) }), e.add(n) } function G (t, e) { y ? !t.invisible && s.push(t) : (e(), t.__tmWillVisible || (t.invisible = !1)) } function F (e, n, i, o, s, u) { var c = l.getModel(), h = a.retrieve(t.getFormattedLabel(l.dataIndex, 'normal', null, null, u ? 'upperLabel' : 'label'), c.get('name')); if (!u && d.isLeafRoot) { var f = t.get('drillDownIcon', !0); h = f ? f + ' ' + h : h } var p = c.getModel(u ? b : x), g = c.getModel(u ? w : _), m = p.getShallow('show'); r.setLabelStyle(e, n, p, g, {defaultText: m ? h : null, autoColor: i, isRectText: !0}), u && (e.textRect = a.clone(u)), e.truncate = m && p.get('ellipsis') ? {outerWidth: o, outerHeight: s, minChar: 2} : null } function H (t, i, a, r) { var s = C != null && n[t][C], l = o[t]; return s ? (n[t][C] = null, W(l, s, t)) : y || (s = new i({z: P(a, r)}), s.__tmDepth = a, s.__tmStorageName = t, U(l, s, t)), e[t][S] = s } function W (t, e, n) { var i = t[S] = {}; i.old = n === 'nodeGroup' ? e.position.slice() : a.extend({}, e.shape) } function U (t, e, n) { var a = t[S] = {}, r = l.parentNode; if (r && (!i || i.direction === 'drillDown')) { var s = 0, u = 0, c = o.background[r.getRawIndex()]; !i && c && c.old && (s = c.old.width, u = c.old.height), a.old = n === 'nodeGroup' ? [0, u] : {x: s, y: u, width: 0, height: 0} }a.fadein = n !== 'nodeGroup' } } function P (t, e) { var n = t * S + e; return (n - 1) / n }t.exports = C }, b419: function (t, e, n) { var i = n('6d8b'), a = n('2306'), r = n('4319'), o = n('6679'), s = ['axisLine', 'axisLabel', 'axisTick', 'splitLine', 'splitArea']; function l (t, e, n) { e[1] > e[0] && (e = e.slice().reverse()); var i = t.coordToPoint([e[0], n]), a = t.coordToPoint([e[1], n]); return {x1: i[0], y1: i[1], x2: a[0], y2: a[1]} } function u (t) { var e = t.getRadiusAxis(); return e.inverse ? 0 : 1 } function c (t) { var e = t[0], n = t[t.length - 1]; e && n && Math.abs(Math.abs(e.coord - n.coord) - 360) < 1e-4 && t.pop() } var h = o.extend({type: 'angleAxis', axisPointerClass: 'PolarAxisPointer', render: function (t, e) { if (this.group.removeAll(), t.get('show')) { var n = t.axis, a = n.polar, r = a.getRadiusAxis().getExtent(), o = n.getTicksCoords(), l = i.map(n.getViewLabels(), function (t) { t = i.clone(t); return t.coord = n.dataToCoord(t.tickValue), t }); c(l), c(o), i.each(s, function (e) { !t.get(e + '.show') || n.scale.isBlank() && e !== 'axisLine' || this['_' + e](t, a, o, r, l) }, this) } }, _axisLine: function (t, e, n, i) { var r = t.getModel('axisLine.lineStyle'), o = new a.Circle({shape: {cx: e.cx, cy: e.cy, r: i[u(e)]}, style: r.getLineStyle(), z2: 1, silent: !0}); o.style.fill = null, this.group.add(o) }, _axisTick: function (t, e, n, r) { var o = t.getModel('axisTick'), s = (o.get('inside') ? -1 : 1) * o.get('length'), c = r[u(e)], h = i.map(n, function (t) { return new a.Line({shape: l(e, [c, c + s], t.coord)}) }); this.group.add(a.mergePath(h, {style: i.defaults(o.getModel('lineStyle').getLineStyle(), {stroke: t.get('axisLine.lineStyle.color')})})) }, _axisLabel: function (t, e, n, o, s) { var l = t.getCategories(!0), c = t.getModel('axisLabel'), h = c.get('margin'); i.each(s, function (n, i) { var s = c, d = n.tickValue, f = o[u(e)], p = e.coordToPoint([f + h, n.coord]), g = e.cx, m = e.cy, v = Math.abs(p[0] - g) / f < 0.3 ? 'center' : p[0] > g ? 'left' : 'right', y = Math.abs(p[1] - m) / f < 0.3 ? 'middle' : p[1] > m ? 'top' : 'bottom'; l && l[d] && l[d].textStyle && (s = new r(l[d].textStyle, c, c.ecModel)); var x = new a.Text({silent: !0}); this.group.add(x), a.setTextStyle(x.style, s, {x: p[0], y: p[1], textFill: s.getTextColor() || t.get('axisLine.lineStyle.color'), text: n.formattedLabel, textAlign: v, textVerticalAlign: y}) }, this) }, _splitLine: function (t, e, n, r) { var o = t.getModel('splitLine'), s = o.getModel('lineStyle'), u = s.get('color'), c = 0; u = u instanceof Array ? u : [u]; for (var h = [], d = 0; d < n.length; d++) { var f = c++ % u.length; h[f] = h[f] || [], h[f].push(new a.Line({shape: l(e, r, n[d].coord)})) } for (d = 0; d < h.length; d++) this.group.add(a.mergePath(h[d], {style: i.defaults({stroke: u[d % u.length]}, s.getLineStyle()), silent: !0, z: t.get('z')})) }, _splitArea: function (t, e, n, r) { if (n.length) { var o = t.getModel('splitArea'), s = o.getModel('areaStyle'), l = s.get('color'), u = 0; l = l instanceof Array ? l : [l]; for (var c = [], h = Math.PI / 180, d = -n[0].coord * h, f = Math.min(r[0], r[1]), p = Math.max(r[0], r[1]), g = t.get('clockwise'), m = 1; m < n.length; m++) { var v = u++ % l.length; c[v] = c[v] || [], c[v].push(new a.Sector({shape: {cx: e.cx, cy: e.cy, r0: f, r: p, startAngle: d, endAngle: -n[m].coord * h, clockwise: g}, silent: !0})), d = -n[m].coord * h } for (m = 0; m < c.length; m++) this.group.add(a.mergePath(c[m], {style: i.defaults({fill: l[m % l.length]}, s.getAreaStyle()), silent: !0})) } }}); t.exports = h }, b5c7: function (t, e, n) { var i = n('282b'), a = i([['fill', 'color'], ['stroke', 'borderColor'], ['lineWidth', 'borderWidth'], ['stroke', 'barBorderColor'], ['lineWidth', 'barBorderWidth'], ['opacity'], ['shadowBlur'], ['shadowOffsetX'], ['shadowOffsetY'], ['shadowColor']]), r = {getBarItemStyle: function (t) { var e = a(this, t); if (this.getBorderLineDash) { var n = this.getBorderLineDash(); n && (e.lineDash = n) } return e }}; t.exports = r }, b719: function (t, e, n) { var i = n('697e7'); e.zrender = i; var a = n('1687'); e.matrix = a; var r = n('401b'); e.vector = r; var o = n('6d8b'), s = n('41ef'); e.color = s; var l = n('2306'); e.graphic = l; var u = n('3842'); e.number = u; var c = n('eda2'); e.format = c; var h = n('88b3'); h.throttle; e.throttle = h.throttle; var d = n('1548'); e.helper = d; var f = n('bda7'); e.parseGeoJSON = f; var p = n('6179'); e.List = p; var g = n('4319'); e.Model = g; var m = n('84ce'); e.Axis = m; var v = n('22d1'); e.env = v; var y = f, x = {}; o.each(['map', 'each', 'filter', 'indexOf', 'inherits', 'reduce', 'filter', 'bind', 'curry', 'isArray', 'isString', 'isObject', 'isFunction', 'extend', 'defaults', 'clone', 'merge'], function (t) { x[t] = o[t] }), e.parseGeoJson = y, e.util = x }, b809: function (t, e, n) { var i = n('6d8b'), a = n('29a8'), r = n('2b17'), o = r.retrieveRawValue; function s (t, e) { var n = e.getModel('aria'); if (n.get('show')) if (n.get('description'))t.setAttribute('aria-label', n.get('description')); else { var r = 0; e.eachSeries(function (t, e) { ++r }, this); var s, l = n.get('data.maxCount') || 10, u = n.get('series.maxCount') || 10, c = Math.min(r, u); if (!(r < 1)) { var h = m(); s = h ? p(g('general.withTitle'), {title: h}) : g('general.withoutTitle'); var d = [], f = r > 1 ? 'series.multiple.prefix' : 'series.single.prefix'; s += p(g(f), {seriesCount: r}), e.eachSeries(function (t, e) { if (e < c) { var n, i = t.get('name'), a = 'series.' + (r > 1 ? 'multiple' : 'single') + '.'; n = g(i ? a + 'withName' : a + 'withoutName'), n = p(n, {seriesId: t.seriesIndex, seriesName: t.get('name'), seriesType: v(t.subType)}); var s = t.getData(); window.data = s, s.count() > l ? n += p(g('data.partialData'), {displayCnt: l}) : n += g('data.allData'); for (var u = [], h = 0; h < s.count(); h++) if (h < l) { var f = s.getName(h), m = o(s, h); u.push(p(g(f ? 'data.withName' : 'data.withoutName'), {name: f, value: m})) }n += u.join(g('data.separator.middle')) + g('data.separator.end'), d.push(n) } }), s += d.join(g('series.multiple.separator.middle')) + g('series.multiple.separator.end'), t.setAttribute('aria-label', s) } } function p (t, e) { if (typeof t !== 'string') return t; var n = t; return i.each(e, function (t, e) { n = n.replace(new RegExp('\\{\\s*' + e + '\\s*\\}', 'g'), t) }), n } function g (t) { var e = n.get(t); if (e == null) { for (var i = t.split('.'), r = a.aria, o = 0; o < i.length; ++o)r = r[i[o]]; return r } return e } function m () { var t = e.getModel('title').option; return t && t.length && (t = t[0]), t && t.text } function v (t) { return a.series.typeNames[t] || '自定义图' } }t.exports = s }, b8ec: function (t, e, n) { var i = n('3eba'); i.registerAction({type: 'brush', event: 'brush'}, function (t, e) { e.eachComponent({mainType: 'brush', query: t}, function (e) { e.setAreas(t.areas) }) }), i.registerAction({type: 'brushSelect', event: 'brushSelected', update: 'none'}, function () {}) }, bb70: function (t, e, n) { var i = n('e86a'); function a (t, e, n, i, a, r, o) { function s (e, n, i, a) { for (var r = e; r < n; r++) if (t[r].y += i, r > e && r + 1 < n && t[r + 1].y > t[r].y + t[r].height) return void l(r, i / 2); l(n - 1, i / 2) } function l (e, n) { for (var i = e; i >= 0; i--) if (t[i].y -= n, i > 0 && t[i].y > t[i - 1].y + t[i - 1].height) break } function u (t, e, n, i, a, r) { for (var o = e ? Number.MAX_VALUE : 0, s = 0, l = t.length; s < l; s++) if (t[s].position !== 'center') { var u = Math.abs(t[s].y - i), c = t[s].len, h = t[s].len2, d = u < a + c ? Math.sqrt((a + c + h) * (a + c + h) - u * u) : Math.abs(t[s].x - n); e && d >= o && (d = o - 10), !e && d <= o && (d = o + 10), t[s].x = n + d * r, o = d } }t.sort(function (t, e) { return t.y - e.y }); for (var c, h = 0, d = t.length, f = [], p = [], g = 0; g < d; g++)c = t[g].y - h, c < 0 && s(g, d, -c, a), h = t[g].y + t[g].height; o - h < 0 && l(d - 1, h - o); for (g = 0; g < d; g++)t[g].y >= n ? p.push(t[g]) : f.push(t[g]); u(f, !1, e, n, i, a), u(p, !0, e, n, i, a) } function r (t, e, n, i, r, o) { for (var s = [], l = [], u = 0; u < t.length; u++)t[u].x < e ? s.push(t[u]) : l.push(t[u]); a(l, e, n, i, 1, r, o), a(s, e, n, i, -1, r, o); for (u = 0; u < t.length; u++) { var c = t[u].linePoints; if (c) { var h = c[1][0] - c[2][0]; t[u].x < e ? c[2][0] = t[u].x + 3 : c[2][0] = t[u].x - 3, c[1][1] = c[2][1] = t[u].y, c[1][0] = c[2][0] + h } } } function o (t, e, n, a) { var o, s, l = t.getData(), u = [], c = !1; l.each(function (n) { var a, r, h, d, f = l.getItemLayout(n), p = l.getItemModel(n), g = p.getModel('label'), m = g.get('position') || p.get('emphasis.label.position'), v = p.getModel('labelLine'), y = v.get('length'), x = v.get('length2'), _ = (f.startAngle + f.endAngle) / 2, b = Math.cos(_), w = Math.sin(_); o = f.cx, s = f.cy; var S = m === 'inside' || m === 'inner'; if (m === 'center')a = f.cx, r = f.cy, d = 'center'; else { var M = (S ? (f.r + f.r0) / 2 * b : f.r * b) + o, I = (S ? (f.r + f.r0) / 2 * w : f.r * w) + s; if (a = M + 3 * b, r = I + 3 * w, !S) { var A = M + b * (y + e - f.r), T = I + w * (y + e - f.r), C = A + (b < 0 ? -1 : 1) * x, D = T; a = C + (b < 0 ? -5 : 5), r = D, h = [[M, I], [A, T], [C, D]] }d = S ? 'center' : b > 0 ? 'left' : 'right' } var L = g.getFont(), P = g.get('rotate') ? b < 0 ? -_ + Math.PI : -_ : 0, k = t.getFormattedLabel(n, 'normal') || l.getName(n), O = i.getBoundingRect(k, L, d, 'top'); c = !!P, f.label = {x: a, y: r, position: m, height: O.height, len: y, len2: x, linePoints: h, textAlign: d, verticalAlign: 'middle', rotation: P, inside: S}, S || u.push(f.label) }), !c && t.get('avoidLabelOverlap') && r(u, o, s, e, n, a) }t.exports = o }, bc5f: function (t, e, n) { var i = n('6cb7'); i.registerSubTypeDefaulter('visualMap', function (t) { return t.categories || (t.pieces ? t.pieces.length > 0 : t.splitNumber > 0) && !t.calculable ? 'piecewise' : 'continuous' }) }, bcaa1: function (t, e, n) { var i = n('4ab1'), a = n('6d8b'); function r (t, e) { i.call(this, t, e, ['filter'], '__filter_in_use__', '_shadowDom') } function o (t) { return t && (t.shadowBlur || t.shadowOffsetX || t.shadowOffsetY || t.textShadowBlur || t.textShadowOffsetX || t.textShadowOffsetY) }a.inherits(r, i), r.prototype.addWithoutUpdate = function (t, e) { if (e && o(e.style)) { var n, i = e.style; if (i._shadowDom) { n = i._shadowDom; var a = this.getDefs(!0); a.contains(i._shadowDom) || this.addDom(n) } else n = this.add(e); this.markUsed(e); var r = n.getAttribute('id'); t.style.filter = 'url(#' + r + ')' } }, r.prototype.add = function (t) { var e = this.createElement('filter'), n = t.style; return n._shadowDomId = n._shadowDomId || this.nextId++, e.setAttribute('id', 'zr' + this._zrId + '-shadow-' + n._shadowDomId), this.updateDom(t, e), this.addDom(e), e }, r.prototype.update = function (t, e) { var n = e.style; if (o(n)) { var a = this; i.prototype.update.call(this, e, function (t) { a.updateDom(e, t._shadowDom) }) } else this.remove(t, n) }, r.prototype.remove = function (t, e) { e._shadowDomId != null && (this.removeDom(e), t.style.filter = '') }, r.prototype.updateDom = function (t, e) { var n = e.getElementsByTagName('feDropShadow'); n = n.length === 0 ? this.createElement('feDropShadow') : n[0]; var i, a, r, o, s = t.style, l = t.scale && t.scale[0] || 1, u = t.scale && t.scale[1] || 1; if (s.shadowBlur || s.shadowOffsetX || s.shadowOffsetY)i = s.shadowOffsetX || 0, a = s.shadowOffsetY || 0, r = s.shadowBlur, o = s.shadowColor; else { if (!s.textShadowBlur) return void this.removeDom(e, s); i = s.textShadowOffsetX || 0, a = s.textShadowOffsetY || 0, r = s.textShadowBlur, o = s.textShadowColor }n.setAttribute('dx', i / l), n.setAttribute('dy', a / u), n.setAttribute('flood-color', o); var c = r / 2 / l, h = r / 2 / u, d = c + ' ' + h; n.setAttribute('stdDeviation', d), e.setAttribute('x', '-100%'), e.setAttribute('y', '-100%'), e.setAttribute('width', Math.ceil(r / 2 * 200) + '%'), e.setAttribute('height', Math.ceil(r / 2 * 200) + '%'), e.appendChild(n), s._shadowDom = e }, r.prototype.markUsed = function (t) { var e = t.style; e && e._shadowDom && i.prototype.markUsed.call(this, e._shadowDom) }; var s = r; t.exports = s }, bcbe: function (t, e, n) { var i = n('6d8b'), a = n('fab22'), r = n('2306'), o = n('edb9'), s = n('6679'), l = ['axisLine', 'axisTickLabel', 'axisName'], u = 'splitLine', c = s.extend({type: 'singleAxis', axisPointerClass: 'SingleAxisPointer', render: function (t, e, n, r) { var s = this.group; s.removeAll(); var h = o.layout(t), d = new a(t, h); i.each(l, d.add, d), s.add(d.getGroup()), t.get(u + '.show') && this['_' + u](t), c.superCall(this, 'render', t, e, n, r) }, _splitLine: function (t) { var e = t.axis; if (!e.scale.isBlank()) { var n = t.getModel('splitLine'), i = n.getModel('lineStyle'), a = i.get('width'), o = i.get('color'); o = o instanceof Array ? o : [o]; for (var s = t.coordinateSystem.getRect(), l = e.isHorizontal(), u = [], c = 0, h = e.getTicksCoords({tickModel: n}), d = [], f = [], p = 0; p < h.length; ++p) { var g = e.toGlobalCoord(h[p].coord); l ? (d[0] = g, d[1] = s.y, f[0] = g, f[1] = s.y + s.height) : (d[0] = s.x, d[1] = g, f[0] = s.x + s.width, f[1] = g); var m = c++ % o.length; u[m] = u[m] || [], u[m].push(new r.Line(r.subPixelOptimizeLine({shape: {x1: d[0], y1: d[1], x2: f[0], y2: f[1]}, style: {lineWidth: a}, silent: !0}))) } for (p = 0; p < u.length; ++p) this.group.add(r.mergePath(u[p], {style: {stroke: o[p % o.length], lineDash: i.getLineDash(a), lineWidth: a}, silent: !0})) } }}), h = c; t.exports = h }, bd6b: function (t, e, n) { var i = n('06ad'), a = n('4942'), r = n('6d8b'), o = r.isString, s = r.isFunction, l = r.isObject, u = r.isArrayLike, c = r.indexOf, h = function () { this.animators = [] }; h.prototype = {constructor: h, animate: function (t, e) { var n, r = !1, o = this, s = this.__zr; if (t) { var l = t.split('.'), u = o; r = l[0] === 'shape'; for (var h = 0, d = l.length; h < d; h++)u && (u = u[l[h]]); u && (n = u) } else n = o; if (n) { var f = o.animators, p = new i(n, e); return p.during(function (t) { o.dirty(r) }).done(function () { f.splice(c(f, p), 1) }), f.push(p), s && s.animation.addAnimator(p), p }a('Property "' + t + '" is not existed in element ' + o.id) }, stopAnimation: function (t) { for (var e = this.animators, n = e.length, i = 0; i < n; i++)e[i].stop(t); return e.length = 0, this }, animateTo: function (t, e, n, i, a, r) { o(n) ? (a = i, i = n, n = 0) : s(i) ? (a = i, i = 'linear', n = 0) : s(n) ? (a = n, n = 0) : s(e) ? (a = e, e = 500) : e || (e = 500), this.stopAnimation(), this._animateToShallow('', this, t, e, n); var l = this.animators.slice(), u = l.length; function c () { u--, u || a && a() }u || a && a(); for (var h = 0; h < l.length; h++)l[h].done(c).start(i, r) }, _animateToShallow: function (t, e, n, i, a) { var r = {}, o = 0; for (var s in n) if (n.hasOwnProperty(s)) if (e[s] != null)l(n[s]) && !u(n[s]) ? this._animateToShallow(t ? t + '.' + s : s, e[s], n[s], i, a) : (r[s] = n[s], o++); else if (n[s] != null) if (t) { var c = {}; c[t] = {}, c[t][s] = n[s], this.attr(c) } else this.attr(s, n[s]); return o > 0 && this.animate(t, !1).when(i == null ? 500 : i, r).delay(a || 0), this }}; var d = h; t.exports = d }, bd92: function (t, e, n) { var i = n('6d8b'), a = n('4f85'), r = n('e468'), o = r.seriesModelMixin, s = a.extend({type: 'series.candlestick', dependencies: ['xAxis', 'yAxis', 'grid'], defaultValueDimensions: [{name: 'open', defaultTooltip: !0}, {name: 'close', defaultTooltip: !0}, {name: 'lowest', defaultTooltip: !0}, {name: 'highest', defaultTooltip: !0}], dimensions: null, defaultOption: {zlevel: 0, z: 2, coordinateSystem: 'cartesian2d', legendHoverLink: !0, hoverAnimation: !0, layout: null, itemStyle: {color: '#c23531', color0: '#314656', borderWidth: 1, borderColor: '#c23531', borderColor0: '#314656'}, emphasis: {itemStyle: {borderWidth: 2}}, barMaxWidth: null, barMinWidth: null, barWidth: null, large: !0, largeThreshold: 600, progressive: 5e3, progressiveThreshold: 1e4, progressiveChunkMode: 'mod', animationUpdate: !1, animationEasing: 'linear', animationDuration: 300}, getShadowDim: function () { return 'open' }, brushSelector: function (t, e, n) { var i = e.getItemLayout(t); return i && n.rect(i.brushRect) }}); i.mixin(s, o, !0); var l = s; t.exports = l }, bd9e: function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = n('2306'), o = n('e0d3'), s = n('f4a2'), l = a.each, u = a.indexOf, c = a.curry, h = ['dataToPoint', 'pointToData'], d = ['grid', 'xAxis', 'yAxis', 'geo', 'graph', 'polar', 'radiusAxis', 'angleAxis', 'bmap']; function f (t, e, n) { var i = this._targetInfoList = [], a = {}, r = m(e, t); l(v, function (t, e) { (!n || !n.include || u(n.include, e) >= 0) && t(r, i, a) }) } var p = f.prototype; function g (t) { return t[0] > t[1] && t.reverse(), t } function m (t, e) { return o.parseFinder(t, e, {includeMainTypes: d}) }p.setOutputRanges = function (t, e) { this.matchOutputRanges(t, e, function (t, e, n) { if ((t.coordRanges || (t.coordRanges = [])).push(e), !t.coordRange) { t.coordRange = e; var i = _[t.brushType](0, n, e); t.__rangeOffset = {offset: w[t.brushType](i.values, t.range, [1, 1]), xyMinMax: i.xyMinMax} } }) }, p.matchOutputRanges = function (t, e, n) { l(t, function (t) { var i = this.findTargetInfo(t, e); i && !0 !== i && a.each(i.coordSyses, function (i) { var a = _[t.brushType](1, i, t.range); n(t, a.values, i, e) }) }, this) }, p.setInputRanges = function (t, e) { l(t, function (t) { var n = this.findTargetInfo(t, e); if (t.range = t.range || [], n && !0 !== n) { t.panelId = n.panelId; var i = _[t.brushType](0, n.coordSys, t.coordRange), a = t.__rangeOffset; t.range = a ? w[t.brushType](i.values, a.offset, M(i.xyMinMax, a.xyMinMax)) : i.values } }, this) }, p.makePanelOpts = function (t, e) { return a.map(this._targetInfoList, function (n) { var i = n.getPanelRect(); return {panelId: n.panelId, defaultBrushType: e && e(n), clipPath: s.makeRectPanelClipPath(i), isTargetByCursor: s.makeRectIsTargetByCursor(i, t, n.coordSysModel), getLinearBrushOtherExtent: s.makeLinearBrushOtherExtent(i)} }) }, p.controlSeries = function (t, e, n) { var i = this.findTargetInfo(t, n); return !0 === i || i && u(i.coordSyses, e.coordinateSystem) >= 0 }, p.findTargetInfo = function (t, e) { for (var n = this._targetInfoList, i = m(e, t), a = 0; a < n.length; a++) { var r = n[a], o = t.panelId; if (o) { if (r.panelId === o) return r } else for (a = 0; a < y.length; a++) if (y[a](i, r)) return r } return !0 }; var v = {grid: function (t, e) { var n = t.xAxisModels, i = t.yAxisModels, r = t.gridModels, o = a.createHashMap(), s = {}, c = {}; (n || i || r) && (l(n, function (t) { var e = t.axis.grid.model; o.set(e.id, e), s[e.id] = !0 }), l(i, function (t) { var e = t.axis.grid.model; o.set(e.id, e), c[e.id] = !0 }), l(r, function (t) { o.set(t.id, t), s[t.id] = !0, c[t.id] = !0 }), o.each(function (t) { var a = t.coordinateSystem, r = []; l(a.getCartesians(), function (t, e) { (u(n, t.getAxis('x').model) >= 0 || u(i, t.getAxis('y').model) >= 0) && r.push(t) }), e.push({panelId: 'grid--' + t.id, gridModel: t, coordSysModel: t, coordSys: r[0], coordSyses: r, getPanelRect: x.grid, xAxisDeclared: s[t.id], yAxisDeclared: c[t.id]}) })) }, geo: function (t, e) { l(t.geoModels, function (t) { var n = t.coordinateSystem; e.push({panelId: 'geo--' + t.id, geoModel: t, coordSysModel: t, coordSys: n, coordSyses: [n], getPanelRect: x.geo}) }) }}, y = [function (t, e) { var n = t.xAxisModel, i = t.yAxisModel, a = t.gridModel; return !a && n && (a = n.axis.grid.model), !a && i && (a = i.axis.grid.model), a && a === e.gridModel }, function (t, e) { var n = t.geoModel; return n && n === e.geoModel }], x = {grid: function () { return this.coordSys.grid.getRect().clone() }, geo: function () { var t = this.coordSys, e = t.getBoundingRect().clone(); return e.applyTransform(r.getTransform(t)), e }}, _ = {lineX: c(b, 0), lineY: c(b, 1), rect: function (t, e, n) { var i = e[h[t]]([n[0][0], n[1][0]]), a = e[h[t]]([n[0][1], n[1][1]]), r = [g([i[0], a[0]]), g([i[1], a[1]])]; return {values: r, xyMinMax: r} }, polygon: function (t, e, n) { var i = [[1 / 0, -1 / 0], [1 / 0, -1 / 0]], r = a.map(n, function (n) { var a = e[h[t]](n); return i[0][0] = Math.min(i[0][0], a[0]), i[1][0] = Math.min(i[1][0], a[1]), i[0][1] = Math.max(i[0][1], a[0]), i[1][1] = Math.max(i[1][1], a[1]), a }); return {values: r, xyMinMax: i} }}; function b (t, e, n, i) { var r = n.getAxis(['x', 'y'][t]), o = g(a.map([0, 1], function (t) { return e ? r.coordToData(r.toLocalCoord(i[t])) : r.toGlobalCoord(r.dataToCoord(i[t])) })), s = []; return s[t] = o, s[1 - t] = [NaN, NaN], {values: o, xyMinMax: s} } var w = {lineX: c(S, 0), lineY: c(S, 1), rect: function (t, e, n) { return [[t[0][0] - n[0] * e[0][0], t[0][1] - n[0] * e[0][1]], [t[1][0] - n[1] * e[1][0], t[1][1] - n[1] * e[1][1]]] }, polygon: function (t, e, n) { return a.map(t, function (t, i) { return [t[0] - n[0] * e[i][0], t[1] - n[1] * e[i][1]] }) }}; function S (t, e, n, i) { return [e[0] - i[t] * n[0], e[1] - i[t] * n[1]] } function M (t, e) { var n = I(t), i = I(e), a = [n[0] / i[0], n[1] / i[1]]; return isNaN(a[0]) && (a[0] = 1), isNaN(a[1]) && (a[1] = 1), a } function I (t) { return t ? [t[0][1] - t[0][0], t[1][1] - t[1][0]] : [NaN, NaN] } var A = f; t.exports = A }, bda7: function (t, e, n) { var i = n('6d8b'), a = n('f279'); function r (t) { if (!t.UTF8Encoding) return t; var e = t.UTF8Scale; e == null && (e = 1024); for (var n = t.features, i = 0; i < n.length; i++) for (var a = n[i], r = a.geometry, s = r.coordinates, l = r.encodeOffsets, u = 0; u < s.length; u++) { var c = s[u]; if (r.type === 'Polygon')s[u] = o(c, l[u], e); else if (r.type === 'MultiPolygon') for (var h = 0; h < c.length; h++) { var d = c[h]; c[h] = o(d, l[u][h], e) } } return t.UTF8Encoding = !1, t } function o (t, e, n) { for (var i = [], a = e[0], r = e[1], o = 0; o < t.length; o += 2) { var s = t.charCodeAt(o) - 64, l = t.charCodeAt(o + 1) - 64; s = s >> 1 ^ -(1 & s), l = l >> 1 ^ -(1 & l), s += a, l += r, a = s, r = l, i.push([s / n, l / n]) } return i } function s (t) { return r(t), i.map(i.filter(t.features, function (t) { return t.geometry && t.properties && t.geometry.coordinates.length > 0 }), function (t) { var e = t.properties, n = t.geometry, r = n.coordinates, o = []; n.type === 'Polygon' && o.push({type: 'polygon', exterior: r[0], interiors: r.slice(1)}), n.type === 'MultiPolygon' && i.each(r, function (t) { t[0] && o.push({type: 'polygon', exterior: t[0], interiors: t.slice(1)}) }); var s = new a(e.name, o, e.cp); return s.properties = e, s }) }t.exports = s }, bdc0: function (t, e, n) { var i = n('3eba'); i.registerAction({type: 'dragNode', event: 'dragNode', update: 'update'}, function (t, e) { e.eachComponent({mainType: 'series', subType: 'sankey', query: t}, function (e) { e.setNodePosition(t.dataIndex, [t.localX, t.localY]) }) }) }, bf9b: function (t, e, n) { var i = n('3eba'); i.registerAction({type: 'treeExpandAndCollapse', event: 'treeExpandAndCollapse', update: 'update'}, function (t, e) { e.eachComponent({mainType: 'series', subType: 'tree', query: t}, function (e) { var n = t.dataIndex, i = e.getData().tree, a = i.getNodeByDataIndex(n); a.isExpand = !a.isExpand }) }) }, c037: function (t, e, n) { var i = n('3eba'), a = n('6d8b'); n('f7c6'), n('1ab3'); var r = n('7782'), o = n('98e7'), s = n('292e'), l = n('d3f47'); r('pie', [{type: 'pieToggleSelect', event: 'pieselectchanged', method: 'toggleSelected'}, {type: 'pieSelect', event: 'pieselected', method: 'select'}, {type: 'pieUnSelect', event: 'pieunselected', method: 'unSelect'}]), i.registerVisual(o('pie')), i.registerLayout(a.curry(s, 'pie')), i.registerProcessor(l('pie')) }, c2dd: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('fc82'), o = i.extendComponentView({type: 'brush', init: function (t, e) { this.ecModel = t, this.api = e, this.model, (this._brushController = new r(e.getZr())).on('brush', a.bind(this._onBrush, this)).mount() }, render: function (t) { return this.model = t, s.apply(this, arguments) }, updateTransform: s, updateView: s, dispose: function () { this._brushController.dispose() }, _onBrush: function (t, e) { var n = this.model.id; this.model.brushTargetManager.setOutputRanges(t, this.ecModel), (!e.isEnd || e.removeOnClick) && this.api.dispatchAction({type: 'brush', brushId: n, areas: a.clone(t), $from: n}) }}); function s (t, e, n, i) { (!i || i.$from !== t.id) && this._brushController.setPanels(t.brushTargetManager.makePanelOpts(n)).enableBrush(t.brushOption).updateCovers(t.areas.slice()) }t.exports = o }, c515: function (t, e, n) { n('849b'), n('8459'), n('b006') }, c526: function (t, e) { var n = {axisPointer: 1, tooltip: 1, brush: 1}; function i (t, e, i) { var a = e.getComponentByElement(t.topTarget), r = a && a.coordinateSystem; return a && a !== i && !n[a.mainType] && r && r.model !== i }e.onIrrelevantElement = i }, c533: function (t, e) { var n = ['#37A2DA', '#32C5E9', '#67E0E3', '#9FE6B8', '#FFDB5C', '#ff9f7f', '#fb7293', '#E062AE', '#E690D1', '#e7bcf3', '#9d96f5', '#8378EA', '#96BFFF'], i = {color: n, colorLayer: [['#37A2DA', '#ffd85c', '#fd7b5f'], ['#37A2DA', '#67E0E3', '#FFDB5C', '#ff9f7f', '#E062AE', '#9d96f5'], ['#37A2DA', '#32C5E9', '#9FE6B8', '#FFDB5C', '#ff9f7f', '#fb7293', '#e7bcf3', '#8378EA', '#96BFFF'], n]}; t.exports = i }, c62c: function (t, e, n) { var i = n('6d8b'), a = n('6cb7'), r = n('9e47'), o = n('2023'), s = a.extend({type: 'singleAxis', layoutMode: 'box', axis: null, coordinateSystem: null, getCoordSysModel: function () { return this }}), l = {left: '5%', top: '5%', right: '5%', bottom: '5%', type: 'value', position: 'bottom', orient: 'horizontal', axisLine: {show: !0, lineStyle: {width: 2, type: 'solid'}}, tooltip: {show: !0}, axisTick: {show: !0, length: 6, lineStyle: {width: 2}}, axisLabel: {show: !0, interval: 'auto'}, splitLine: {show: !0, lineStyle: {type: 'dashed', opacity: 0.2}}}; function u (t, e) { return e.type || (e.data ? 'category' : 'value') }i.merge(s.prototype, o), r('single', s, u, l); var c = s; t.exports = c }, c775: function (t, e, n) { var i = n('2b17'), a = i.retrieveRawValue; function r (t, e) { var n = t.mapDimension('defaultedLabel', !0), i = n.length; if (i === 1) return a(t, e, n[0]); if (i) { for (var r = [], o = 0; o < n.length; o++) { var s = a(t, e, n[o]); r.push(s) } return r.join(' ') } }e.getDefaultLabel = r }, c7a2: function (t, e, n) { var i = n('cbe5'), a = n('5693'), r = i.extend({type: 'rect', shape: {r: 0, x: 0, y: 0, width: 0, height: 0}, buildPath: function (t, e) { var n = e.x, i = e.y, r = e.width, o = e.height; e.r ? a.buildPath(t, e) : t.rect(n, i, r, o), t.closePath() }}); t.exports = r }, c8ef: function (t, e, n) { var i = n('6d8b'), a = n('a15a'), r = a.createSymbol, o = n('2306'), s = o.Group, l = n('3842'), u = l.parsePercent, c = n('1418'), h = 3; function d (t) { return i.isArray(t) || (t = [+t, +t]), t } function f (t, e) { t.eachChild(function (t) { t.attr({z: e.z, zlevel: e.zlevel, style: {stroke: e.brushType === 'stroke' ? e.color : null, fill: e.brushType === 'fill' ? e.color : null}}) }) } function p (t, e) { s.call(this); var n = new c(t, e), i = new s(); this.add(n), this.add(i), i.beforeUpdate = function () { this.attr(n.getScale()) }, this.updateData(t, e) } var g = p.prototype; g.stopEffectAnimation = function () { this.childAt(1).removeAll() }, g.startEffectAnimation = function (t) { for (var e = t.symbolType, n = t.color, i = this.childAt(1), a = 0; a < h; a++) { var o = r(e, -1, -1, 2, 2, n); o.attr({style: {strokeNoScale: !0}, z2: 99, silent: !0, scale: [0.5, 0.5]}); var s = -a / h * t.period + t.effectOffset; o.animate('', !0).when(t.period, {scale: [t.rippleScale / 2, t.rippleScale / 2]}).delay(s).start(), o.animateStyle(!0).when(t.period, {opacity: 0}).delay(s).start(), i.add(o) }f(i, t) }, g.updateEffectAnimation = function (t) { for (var e = this._effectCfg, n = this.childAt(1), i = ['symbolType', 'period', 'rippleScale'], a = 0; a < i.length; a++) { var r = i[a]; if (e[r] !== t[r]) return this.stopEffectAnimation(), void this.startEffectAnimation(t) }f(n, t) }, g.highlight = function () { this.trigger('emphasis') }, g.downplay = function () { this.trigger('normal') }, g.updateData = function (t, e) { var n = t.hostModel; this.childAt(0).updateData(t, e); var i = this.childAt(1), a = t.getItemModel(e), r = t.getItemVisual(e, 'symbol'), o = d(t.getItemVisual(e, 'symbolSize')), s = t.getItemVisual(e, 'color'); i.attr('scale', o), i.traverse(function (t) { t.attr({fill: s}) }); var l = a.getShallow('symbolOffset'); if (l) { var c = i.position; c[0] = u(l[0], o[0]), c[1] = u(l[1], o[1]) }i.rotation = (a.getShallow('symbolRotate') || 0) * Math.PI / 180 || 0; var h = {}; if (h.showEffectOn = n.get('showEffectOn'), h.rippleScale = a.get('rippleEffect.scale'), h.brushType = a.get('rippleEffect.brushType'), h.period = 1e3 * a.get('rippleEffect.period'), h.effectOffset = e / t.count(), h.z = a.getShallow('z') || 0, h.zlevel = a.getShallow('zlevel') || 0, h.symbolType = r, h.color = s, this.off('mouseover').off('mouseout').off('emphasis').off('normal'), h.showEffectOn === 'render') this._effectCfg ? this.updateEffectAnimation(h) : this.startEffectAnimation(h), this._effectCfg = h; else { this._effectCfg = null, this.stopEffectAnimation(); var f = this.childAt(0), p = function () { f.highlight(), h.showEffectOn !== 'render' && this.startEffectAnimation(h) }, g = function () { f.downplay(), h.showEffectOn !== 'render' && this.stopEffectAnimation() }; this.on('mouseover', p, this).on('mouseout', g, this).on('emphasis', p, this).on('normal', g, this) } this._effectCfg = h }, g.fadeOut = function (t) { this.off('mouseover').off('mouseout').off('emphasis').off('normal'), t && t() }, i.inherits(p, s); var m = p; t.exports = m }, c965: function (t, e, n) { var i = n('2306'), a = n('a15a'), r = a.createSymbol, o = n('392f'), s = 4, l = i.extendShape({shape: {points: null}, symbolProxy: null, buildPath: function (t, e) { var n = e.points, i = e.size, a = this.symbolProxy, r = a.shape, o = t.getContext ? t.getContext() : t, l = o && i[0] < s; if (!l) for (var u = 0; u < n.length;) { var c = n[u++], h = n[u++]; isNaN(c) || isNaN(h) || (r.x = c - i[0] / 2, r.y = h - i[1] / 2, r.width = i[0], r.height = i[1], a.buildPath(t, r, !0)) } }, afterBrush: function (t) { var e = this.shape, n = e.points, i = e.size, a = i[0] < s; if (a) { this.setTransform(t); for (var r = 0; r < n.length;) { var o = n[r++], l = n[r++]; isNaN(o) || isNaN(l) || t.fillRect(o - i[0] / 2, l - i[1] / 2, i[0], i[1]) } this.restoreTransform(t) } }, findDataIndex: function (t, e) { for (var n = this.shape, i = n.points, a = n.size, r = Math.max(a[0], 4), o = Math.max(a[1], 4), s = i.length / 2 - 1; s >= 0; s--) { var l = 2 * s, u = i[l] - r / 2, c = i[l + 1] - o / 2; if (t >= u && e >= c && t <= u + r && e <= c + o) return s } return -1 }}); function u () { this.group = new i.Group() } var c = u.prototype; c.isPersistent = function () { return !this._incremental }, c.updateData = function (t) { this.group.removeAll(); var e = new l({rectHover: !0, cursor: 'default'}); e.setShape({points: t.getLayout('symbolPoints')}), this._setCommon(e, t), this.group.add(e), this._incremental = null }, c.updateLayout = function (t) { if (!this._incremental) { var e = t.getLayout('symbolPoints'); this.group.eachChild(function (t) { if (t.startIndex != null) { var n = 2 * (t.endIndex - t.startIndex), i = 4 * t.startIndex * 2; e = new Float32Array(e.buffer, i, n) }t.setShape('points', e) }) } }, c.incrementalPrepareUpdate = function (t) { this.group.removeAll(), this._clearIncremental(), t.count() > 2e6 ? (this._incremental || (this._incremental = new o({silent: !0})), this.group.add(this._incremental)) : this._incremental = null }, c.incrementalUpdate = function (t, e) { var n; this._incremental ? (n = new l(), this._incremental.addDisplayable(n, !0)) : (n = new l({rectHover: !0, cursor: 'default', startIndex: t.start, endIndex: t.end}), n.incremental = !0, this.group.add(n)), n.setShape({points: e.getLayout('symbolPoints')}), this._setCommon(n, e, !!this._incremental) }, c._setCommon = function (t, e, n) { var i = e.hostModel, a = e.getVisual('symbolSize'); t.setShape('size', a instanceof Array ? a : [a, a]), t.symbolProxy = r(e.getVisual('symbol'), 0, 0, 0, 0), t.setColor = t.symbolProxy.setColor; var o = t.shape.size[0] < s; t.useStyle(i.getModel('itemStyle').getItemStyle(o ? ['color', 'shadowBlur', 'shadowColor'] : ['color'])); var l = e.getVisual('color'); l && t.setColor(l), n || (t.seriesIndex = i.seriesIndex, t.on('mousemove', function (e) { t.dataIndex = null; var n = t.findDataIndex(e.offsetX, e.offsetY); n >= 0 && (t.dataIndex = n + (t.startIndex || 0)) })) }, c.remove = function () { this._clearIncremental(), this._incremental = null, this.group.removeAll() }, c._clearIncremental = function () { var t = this._incremental; t && t.clearDisplaybles() }; var h = u; t.exports = h }, ca29: function (t, e, n) { var i = n('6d9a'), a = i.eachAfter, r = i.eachBefore, o = n('22da'), s = o.init, l = o.firstWalk, u = o.secondWalk, c = o.separation, h = o.radialCoordinate, d = o.getViewRect; function f (t, e) { t.eachSeriesByType('tree', function (t) { p(t, e) }) } function p (t, e) { var n = d(t, e); t.layoutInfo = n; var i = t.get('layout'), o = 0, f = 0, p = null; i === 'radial' ? (o = 2 * Math.PI, f = Math.min(n.height, n.width) / 2, p = c(function (t, e) { return (t.parentNode === e.parentNode ? 1 : 2) / t.depth })) : (o = n.width, f = n.height, p = c()); var g = t.getData().tree.root, m = g.children[0]; if (m) { s(g), a(m, l, p), g.hierNode.modifier = -m.hierNode.prelim, r(m, u); var v = m, y = m, x = m; r(m, function (t) { var e = t.getLayout().x; e < v.getLayout().x && (v = t), e > y.getLayout().x && (y = t), t.depth > x.depth && (x = t) }); var _ = v === y ? 1 : p(v, y) / 2, b = _ - v.getLayout().x, w = 0, S = 0, M = 0, I = 0; if (i === 'radial')w = o / (y.getLayout().x + _ + b), S = f / (x.depth - 1 || 1), r(m, function (t) { M = (t.getLayout().x + b) * w, I = (t.depth - 1) * S; var e = h(M, I); t.setLayout({x: e.x, y: e.y, rawX: M, rawY: I}, !0) }); else { var A = t.getOrient(); A === 'RL' || A === 'LR' ? (S = f / (y.getLayout().x + _ + b), w = o / (x.depth - 1 || 1), r(m, function (t) { I = (t.getLayout().x + b) * S, M = A === 'LR' ? (t.depth - 1) * w : o - (t.depth - 1) * w, t.setLayout({x: M, y: I}, !0) })) : A !== 'TB' && A !== 'BT' || (w = o / (y.getLayout().x + _ + b), S = f / (x.depth - 1 || 1), r(m, function (t) { M = (t.getLayout().x + b) * w, I = A === 'TB' ? (t.depth - 1) * S : f - (t.depth - 1) * S, t.setLayout({x: M, y: I}, !0) })) } } }t.exports = f }, ca98: function (t, e, n) { var i = n('6d8b'), a = n('e0d3'), r = n('6cb7'), o = i.each, s = i.clone, l = i.map, u = i.merge, c = /^(min|max)?(.+)$/; function h (t) { this._api = t, this._timelineOptions = [], this._mediaList = [], this._mediaDefault, this._currentMediaIndices = [], this._optionBackup, this._newBaseOption } function d (t, e, n) { var a, r, s = [], l = [], u = t.timeline; if (t.baseOption && (r = t.baseOption), (u || t.options) && (r = r || {}, s = (t.options || []).slice()), t.media) { r = r || {}; var c = t.media; o(c, function (t) { t && t.option && (t.query ? l.push(t) : a || (a = t)) }) } return r || (r = t), r.timeline || (r.timeline = u), o([r].concat(s).concat(i.map(l, function (t) { return t.option })), function (t) { o(e, function (e) { e(t, n) }) }), {baseOption: r, timelineOptions: s, mediaDefault: a, mediaList: l} } function f (t, e, n) { var a = {width: e, height: n, aspectratio: e / n}, r = !0; return i.each(t, function (t, e) { var n = e.match(c); if (n && n[1] && n[2]) { var i = n[1], o = n[2].toLowerCase(); p(a[o], t, i) || (r = !1) } }), r } function p (t, e, n) { return n === 'min' ? t >= e : n === 'max' ? t <= e : t === e } function g (t, e) { return t.join(',') === e.join(',') } function m (t, e) { e = e || {}, o(e, function (e, n) { if (e != null) { var i = t[n]; if (r.hasClass(n)) { e = a.normalizeToArray(e), i = a.normalizeToArray(i); var o = a.mappingToExists(i, e); t[n] = l(o, function (t) { return t.option && t.exist ? u(t.exist, t.option, !0) : t.exist || t.option }) } else t[n] = u(i, e, !0) } }) }h.prototype = {constructor: h, setOption: function (t, e) { t && i.each(a.normalizeToArray(t.series), function (t) { t && t.data && i.isTypedArray(t.data) && i.setAsPrimitive(t.data) }), t = s(t, !0); var n = this._optionBackup, r = d.call(this, t, e, !n); this._newBaseOption = r.baseOption, n ? (m(n.baseOption, r.baseOption), r.timelineOptions.length && (n.timelineOptions = r.timelineOptions), r.mediaList.length && (n.mediaList = r.mediaList), r.mediaDefault && (n.mediaDefault = r.mediaDefault)) : this._optionBackup = r }, mountOption: function (t) { var e = this._optionBackup; return this._timelineOptions = l(e.timelineOptions, s), this._mediaList = l(e.mediaList, s), this._mediaDefault = s(e.mediaDefault), this._currentMediaIndices = [], s(t ? e.baseOption : this._newBaseOption) }, getTimelineOption: function (t) { var e, n = this._timelineOptions; if (n.length) { var i = t.getComponent('timeline'); i && (e = s(n[i.getCurrentIndex()], !0)) } return e }, getMediaOption: function (t) { var e = this._api.getWidth(), n = this._api.getHeight(), i = this._mediaList, a = this._mediaDefault, r = [], o = []; if (!i.length && !a) return o; for (var u = 0, c = i.length; u < c; u++)f(i[u].query, e, n) && r.push(u); return !r.length && a && (r = [-1]), r.length && !g(r, this._currentMediaIndices) && (o = l(r, function (t) { return s(t === -1 ? a.option : i[t].option) })), this._currentMediaIndices = r, o }}; var v = h; t.exports = v }, cb11: function (t, e, n) { var i = n('cbe5'), a = i.extend({type: 'line', shape: {x1: 0, y1: 0, x2: 0, y2: 0, percent: 1}, style: {stroke: '#000', fill: null}, buildPath: function (t, e) { var n = e.x1, i = e.y1, a = e.x2, r = e.y2, o = e.percent; o !== 0 && (t.moveTo(n, i), o < 1 && (a = n * (1 - o) + a * o, r = i * (1 - o) + r * o), t.lineTo(a, r)) }, pointAt: function (t) { var e = this.shape; return [e.x1 * (1 - t) + e.x2 * t, e.y1 * (1 - t) + e.y2 * t] }}); t.exports = a }, cb69: function (t, e, n) { var i = n('3301'), a = n('4f85'), r = a.extend({type: 'series.scatter', dependencies: ['grid', 'polar', 'geo', 'singleAxis', 'calendar'], getInitialData: function (t, e) { return i(this.getSource(), this) }, brushSelector: 'point', getProgressive: function () { var t = this.option.progressive; return t == null ? this.option.large ? 5e3 : this.get('progressive') : t }, getProgressiveThreshold: function () { var t = this.option.progressiveThreshold; return t == null ? this.option.large ? 1e4 : this.get('progressiveThreshold') : t }, defaultOption: {coordinateSystem: 'cartesian2d', zlevel: 0, z: 2, legendHoverLink: !0, hoverAnimation: !0, symbolSize: 10, large: !1, largeThreshold: 2e3, itemStyle: {opacity: 0.8}}}); t.exports = r }, cb6d: function (t, e) { function n () { this.on('mousedown', this._dragStart, this), this.on('mousemove', this._drag, this), this.on('mouseup', this._dragEnd, this), this.on('globalout', this._dragEnd, this) } function i (t, e) { return {target: t, topTarget: e && e.topTarget} }n.prototype = {constructor: n, _dragStart: function (t) { var e = t.target; e && e.draggable && (this._draggingTarget = e, e.dragging = !0, this._x = t.offsetX, this._y = t.offsetY, this.dispatchToElement(i(e, t), 'dragstart', t.event)) }, _drag: function (t) { var e = this._draggingTarget; if (e) { var n = t.offsetX, a = t.offsetY, r = n - this._x, o = a - this._y; this._x = n, this._y = a, e.drift(r, o, t), this.dispatchToElement(i(e, t), 'drag', t.event); var s = this.findHover(n, a, e).target, l = this._dropTarget; this._dropTarget = s, e !== s && (l && s !== l && this.dispatchToElement(i(l, t), 'dragleave', t.event), s && s !== l && this.dispatchToElement(i(s, t), 'dragenter', t.event)) } }, _dragEnd: function (t) { var e = this._draggingTarget; e && (e.dragging = !1), this.dispatchToElement(i(e, t), 'dragend', t.event), this._dropTarget && this.dispatchToElement(i(this._dropTarget, t), 'drop', t.event), this._draggingTarget = null, this._dropTarget = null }}; var a = n; t.exports = a }, cb73: function (t, e, n) { var i = n('3842'), a = i.parsePercent, r = n('6d8b'), o = (Math.PI, Math.PI / 180); function s (t, e, n, i) { e.eachSeriesByType(t, function (t) { var e = t.get('center'), i = t.get('radius'); r.isArray(i) || (i = [0, i]), r.isArray(e) || (e = [e, e]); var s = n.getWidth(), u = n.getHeight(), c = Math.min(s, u), h = a(e[0], s), d = a(e[1], u), f = a(i[0], c / 2), p = a(i[1], c / 2), g = -t.get('startAngle') * o, m = t.get('minAngle') * o, v = t.getData().tree.root, y = t.getViewRoot(), x = y.depth, _ = t.get('sort'); _ != null && l(y, _); var b = 0; r.each(y.children, function (t) { !isNaN(t.getValue()) && b++ }); var w = y.getValue(), S = Math.PI / (w || b) * 2, M = y.depth > 0, I = y.height - (M ? -1 : 1), A = (p - f) / (I || 1), T = t.get('clockwise'), C = t.get('stillShowZeroSum'), D = T ? 1 : -1, L = function (t, e) { if (t) { var n = e; if (t !== v) { var i = t.getValue(), o = w === 0 && C ? S : i * S; o < m ? (o = m, m) : i, n = e + D * o; var s = t.depth - x - (M ? -1 : 1), l = f + A * s, u = f + A * (s + 1), p = t.getModel(); p.get('r0') != null && (l = a(p.get('r0'), c / 2)), p.get('r') != null && (u = a(p.get('r'), c / 2)), t.setLayout({angle: o, startAngle: e, endAngle: n, clockwise: T, cx: h, cy: d, r0: l, r: u}) } if (t.children && t.children.length) { var g = 0; r.each(t.children, function (t) { g += L(t, e + g) }) } return n - e } }; if (M) { var P = f, k = f + A, O = 2 * Math.PI; v.setLayout({angle: O, startAngle: g, endAngle: g + O, clockwise: T, cx: h, cy: d, r0: P, r: k}) }L(y, g) }) } function l (t, e) { var n = t.children || []; t.children = u(n, e), n.length && r.each(t.children, function (t) { l(t, e) }) } function u (t, e) { if (typeof e === 'function') return t.sort(e); var n = e === 'asc'; return t.sort(function (t, e) { var i = (t.getValue() - e.getValue()) * (n ? 1 : -1); return i === 0 ? (t.dataIndex - e.dataIndex) * (n ? -1 : 1) : i }) }t.exports = s }, cb8f: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('cd33'), o = n('eb6b'); n('48ac'), n('d4b1'), n('4a9d'), i.registerPreprocessor(function (t) { if (t) { (!t.axisPointer || t.axisPointer.length === 0) && (t.axisPointer = {}); var e = t.axisPointer.link; e && !a.isArray(e) && (t.axisPointer.link = [e]) } }), i.registerProcessor(i.PRIORITY.PROCESSOR.STATISTIC, function (t, e) { t.getComponent('axisPointer').coordSysAxesInfo = r.collect(t, e) }), i.registerAction({type: 'updateAxisPointer', event: 'updateAxisPointer', update: ':updateAxisPointer'}, o) }, cbb0: function (t, e, n) { var i = n('6d8b'), a = n('f934'), r = a.getLayoutRect; function o (t, e, n) { var i = t.option, a = i.align; if (a != null && a !== 'auto') return a; for (var o = {width: e.getWidth(), height: e.getHeight()}, s = i.orient === 'horizontal' ? 1 : 0, l = [['left', 'right', 'width'], ['top', 'bottom', 'height']], u = l[s], c = [0, null, 10], h = {}, d = 0; d < 3; d++)h[l[1 - s][d]] = c[d], h[u[d]] = d === 2 ? n[0] : i[u[d]]; var f = [['x', 'width', 3], ['y', 'height', 0]][s], p = r(h, o, i.padding); return u[(p.margin[f[2]] || 0) + p[f[0]] + 0.5 * p[f[1]] < 0.5 * o[f[1]] ? 0 : 1] } function s (t) { return i.each(t || [], function (e) { t.dataIndex != null && (t.dataIndexInside = t.dataIndex, t.dataIndex = null) }), t }e.getItemAlign = o, e.convertDataIndex = s }, cbe5: function (t, e, n) { var i = n('19eb'), a = n('6d8b'), r = n('20c8'), o = n('d833'), s = n('dc2f'), l = s.prototype.getCanvasPattern, u = Math.abs, c = new r(!0); function h (t) { i.call(this, t), this.path = null }h.prototype = {constructor: h, type: 'path', __dirtyPath: !0, strokeContainThreshold: 5, brush: function (t, e) { var n, i = this.style, a = this.path || c, r = i.hasStroke(), o = i.hasFill(), s = i.fill, u = i.stroke, h = o && !!s.colorStops, d = r && !!u.colorStops, f = o && !!s.image, p = r && !!u.image; (i.bind(t, this, e), this.setTransform(t), this.__dirty) && (h && (n = n || this.getBoundingRect(), this._fillGradient = i.getGradient(t, s, n)), d && (n = n || this.getBoundingRect(), this._strokeGradient = i.getGradient(t, u, n))); h ? t.fillStyle = this._fillGradient : f && (t.fillStyle = l.call(s, t)), d ? t.strokeStyle = this._strokeGradient : p && (t.strokeStyle = l.call(u, t)); var g = i.lineDash, m = i.lineDashOffset, v = !!t.setLineDash, y = this.getGlobalScale(); a.setScale(y[0], y[1]), this.__dirtyPath || g && !v && r ? (a.beginPath(t), g && !v && (a.setLineDash(g), a.setLineDashOffset(m)), this.buildPath(a, this.shape, !1), this.path && (this.__dirtyPath = !1)) : (t.beginPath(), this.path.rebuildPath(t)), o && a.fill(t), g && v && (t.setLineDash(g), t.lineDashOffset = m), r && a.stroke(t), g && v && t.setLineDash([]), i.text != null && (this.restoreTransform(t), this.drawRectText(t, this.getBoundingRect())) }, buildPath: function (t, e, n) {}, createPathProxy: function () { this.path = new r() }, getBoundingRect: function () { var t = this._rect, e = this.style, n = !t; if (n) { var i = this.path; i || (i = this.path = new r()), this.__dirtyPath && (i.beginPath(), this.buildPath(i, this.shape, !1)), t = i.getBoundingRect() } if (this._rect = t, e.hasStroke()) { var a = this._rectWithStroke || (this._rectWithStroke = t.clone()); if (this.__dirty || n) { a.copy(t); var o = e.lineWidth, s = e.strokeNoScale ? this.getLineScale() : 1; e.hasFill() || (o = Math.max(o, this.strokeContainThreshold || 4)), s > 1e-10 && (a.width += o / s, a.height += o / s, a.x -= o / s / 2, a.y -= o / s / 2) } return a } return t }, contain: function (t, e) { var n = this.transformCoordToLocal(t, e), i = this.getBoundingRect(), a = this.style; if (t = n[0], e = n[1], i.contain(t, e)) { var r = this.path.data; if (a.hasStroke()) { var s = a.lineWidth, l = a.strokeNoScale ? this.getLineScale() : 1; if (l > 1e-10 && (a.hasFill() || (s = Math.max(s, this.strokeContainThreshold)), o.containStroke(r, s / l, t, e))) return !0 } if (a.hasFill()) return o.contain(r, t, e) } return !1 }, dirty: function (t) { t == null && (t = !0), t && (this.__dirtyPath = t, this._rect = null), this.__dirty = !0, this.__zr && this.__zr.refresh(), this.__clipTarget && this.__clipTarget.dirty() }, animateShape: function (t) { return this.animate('shape', t) }, attrKV: function (t, e) { t === 'shape' ? (this.setShape(e), this.__dirtyPath = !0, this._rect = null) : i.prototype.attrKV.call(this, t, e) }, setShape: function (t, e) { var n = this.shape; if (n) { if (a.isObject(t)) for (var i in t)t.hasOwnProperty(i) && (n[i] = t[i]); else n[t] = e; this.dirty(!0) } return this }, getLineScale: function () { var t = this.transform; return t && u(t[0] - 1) > 1e-10 && u(t[3] - 1) > 1e-10 ? Math.sqrt(u(t[0] * t[3] - t[2] * t[1])) : 1 }}, h.extend = function (t) { var e = function (e) { h.call(this, e), t.style && this.style.extendFrom(t.style, !1); var n = t.shape; if (n) { this.shape = this.shape || {}; var i = this.shape; for (var a in n)!i.hasOwnProperty(a) && n.hasOwnProperty(a) && (i[a] = n[a]) }t.init && t.init.call(this, e) }; for (var n in a.inherits(e, h), t)n !== 'style' && n !== 'shape' && (e.prototype[n] = t[n]); return e }, a.inherits(h, i); var d = h; t.exports = d }, cbe9: function (t, e, n) { var i = n('6d8b'), a = n('cf7e'); function r (t) { a.call(this, t) }r.prototype = {constructor: r, type: 'cartesian2d', dimensions: ['x', 'y'], getBaseAxis: function () { return this.getAxesByScale('ordinal')[0] || this.getAxesByScale('time')[0] || this.getAxis('x') }, containPoint: function (t) { var e = this.getAxis('x'), n = this.getAxis('y'); return e.contain(e.toLocalCoord(t[0])) && n.contain(n.toLocalCoord(t[1])) }, containData: function (t) { return this.getAxis('x').containData(t[0]) && this.getAxis('y').containData(t[1]) }, dataToPoint: function (t, e, n) { var i = this.getAxis('x'), a = this.getAxis('y'); return n = n || [], n[0] = i.toGlobalCoord(i.dataToCoord(t[0])), n[1] = a.toGlobalCoord(a.dataToCoord(t[1])), n }, clampData: function (t, e) { var n = this.getAxis('x').scale, i = this.getAxis('y').scale, a = n.getExtent(), r = i.getExtent(), o = n.parse(t[0]), s = i.parse(t[1]); return e = e || [], e[0] = Math.min(Math.max(Math.min(a[0], a[1]), o), Math.max(a[0], a[1])), e[1] = Math.min(Math.max(Math.min(r[0], r[1]), s), Math.max(r[0], r[1])), e }, pointToData: function (t, e) { var n = this.getAxis('x'), i = this.getAxis('y'); return e = e || [], e[0] = n.coordToData(n.toLocalCoord(t[0])), e[1] = i.coordToData(i.toLocalCoord(t[1])), e }, getOtherAxis: function (t) { return this.getAxis(t.dim === 'x' ? 'y' : 'x') }}, i.inherits(r, a); var o = r; t.exports = o }, cc39: function (t, e, n) { var i = n('6d8b'), a = n('3842'), r = n('50e5'), o = i.each, s = a.asc, l = function (t, e, n, i) { this._dimName = t, this._axisIndex = e, this._valueWindow, this._percentWindow, this._dataExtent, this._minMaxSpan, this.ecModel = i, this._dataZoomModel = n }; function u (t, e, n) { var i = [1 / 0, -1 / 0]; return o(n, function (t) { var n = t.getData(); n && o(n.mapDimension(e, !0), function (t) { var e = n.getApproximateExtent(t); e[0] < i[0] && (i[0] = e[0]), e[1] > i[1] && (i[1] = e[1]) }) }), i[1] < i[0] && (i = [NaN, NaN]), c(t, i), i } function c (t, e) { var n = t.getAxisModel(), i = n.getMin(!0), a = n.get('type') === 'category', r = a && n.getCategories().length; i != null && i !== 'dataMin' && typeof i !== 'function' ? e[0] = i : a && (e[0] = r > 0 ? 0 : NaN); var o = n.getMax(!0); return o != null && o !== 'dataMax' && typeof o !== 'function' ? e[1] = o : a && (e[1] = r > 0 ? r - 1 : NaN), n.get('scale', !0) || (e[0] > 0 && (e[0] = 0), e[1] < 0 && (e[1] = 0)), e } function h (t, e) { var n = t.getAxisModel(), i = t._percentWindow, r = t._valueWindow; if (i) { var o = a.getPixelPrecision(r, [0, 500]); o = Math.min(o, 20); var s = e || i[0] === 0 && i[1] === 100; n.setRange(s ? null : +r[0].toFixed(o), s ? null : +r[1].toFixed(o)) } } function d (t) { var e = t._minMaxSpan = {}, n = t._dataZoomModel; o(['min', 'max'], function (i) { e[i + 'Span'] = n.get(i + 'Span'); var r = n.get(i + 'ValueSpan'); if (r != null && (e[i + 'ValueSpan'] = r, r = t.getAxisModel().axis.scale.parse(r), r != null)) { var o = t._dataExtent; e[i + 'Span'] = a.linearMap(o[0] + r, o, [0, 100], !0) } }) }l.prototype = {constructor: l, hostedBy: function (t) { return this._dataZoomModel === t }, getDataValueWindow: function () { return this._valueWindow.slice() }, getDataPercentWindow: function () { return this._percentWindow.slice() }, getTargetSeriesModels: function () { var t = [], e = this.ecModel; return e.eachSeries(function (n) { if (r.isCoordSupported(n.get('coordinateSystem'))) { var i = this._dimName, a = e.queryComponents({mainType: i + 'Axis', index: n.get(i + 'AxisIndex'), id: n.get(i + 'AxisId')})[0]; this._axisIndex === (a && a.componentIndex) && t.push(n) } }, this), t }, getAxisModel: function () { return this.ecModel.getComponent(this._dimName + 'Axis', this._axisIndex) }, getOtherAxisModel: function () { var t, e, n, i = this._dimName, a = this.ecModel, r = this.getAxisModel(), o = i === 'x' || i === 'y'; return o ? (e = 'gridIndex', t = i === 'x' ? 'y' : 'x') : (e = 'polarIndex', t = i === 'angle' ? 'radius' : 'angle'), a.eachComponent(t + 'Axis', function (t) { (t.get(e) || 0) === (r.get(e) || 0) && (n = t) }), n }, getMinMaxSpan: function () { return i.clone(this._minMaxSpan) }, calculateDataWindow: function (t) { var e = this._dataExtent, n = this.getAxisModel(), i = n.axis.scale, r = this._dataZoomModel.getRangePropMode(), l = [0, 100], u = [t.start, t.end], c = []; return o(['startValue', 'endValue'], function (e) { c.push(t[e] != null ? i.parse(t[e]) : null) }), o([0, 1], function (t) { var n = c[t], o = u[t]; r[t] === 'percent' ? (o == null && (o = l[t]), n = i.parse(a.linearMap(o, l, e, !0))) : o = a.linearMap(n, e, l, !0), c[t] = n, u[t] = o }), {valueWindow: s(c), percentWindow: s(u)} }, reset: function (t) { if (t === this._dataZoomModel) { var e = this.getTargetSeriesModels(); this._dataExtent = u(this, this._dimName, e); var n = this.calculateDataWindow(t.option); this._valueWindow = n.valueWindow, this._percentWindow = n.percentWindow, d(this), h(this) } }, restore: function (t) { t === this._dataZoomModel && (this._valueWindow = this._percentWindow = null, h(this, !0)) }, filterData: function (t, e) { if (t === this._dataZoomModel) { var n = this._dimName, i = this.getTargetSeriesModels(), a = t.get('filterMode'), r = this._valueWindow; a !== 'none' && o(i, function (t) { var e = t.getData(), i = e.mapDimension(n, !0); a === 'weakFilter' ? e.filterSelf(function (t) { for (var n, a, o, s = 0; s < i.length; s++) { var l = e.get(i[s], t), u = !isNaN(l), c = l < r[0], h = l > r[1]; if (u && !c && !h) return !0; u && (o = !0), c && (n = !0), h && (a = !0) } return o && n && a }) : o(i, function (n) { if (a === 'empty')t.setData(e.map(n, function (t) { return s(t) ? t : NaN })); else { var i = {}; i[n] = r, e.selectRange(i) } }), o(i, function (t) { e.setApproximateExtent(r, t) }) }) } function s (t) { return t >= r[0] && t <= r[1] } }}; var f = l; t.exports = f }, cccd: function (t, e, n) { var i = n('e0d3'), a = i.makeInner; function r () { var t = a(); return function (e) { var n = t(e), i = e.pipelineContext, a = n.large, r = n.progressiveRender, o = n.large = i.large, s = n.progressiveRender = i.progressiveRender; return !!(a ^ o || r ^ s) && 'reset' } }t.exports = r }, cd12: function (t, e, n) { n('01ed'), n('4a9d'), n('cb8f') }, cd33: function (t, e, n) { var i = n('6d8b'), a = n('4319'), r = i.each, o = i.curry; function s (t, e) { var n = {axesInfo: {}, seriesInvolved: !1, coordSysAxesInfo: {}, coordSysMap: {}}; return l(n, t, e), n.seriesInvolved && c(n, t), n } function l (t, e, n) { var i = e.getComponent('tooltip'), a = e.getComponent('axisPointer'), s = a.get('link', !0) || [], l = []; r(n.getCoordinateSystems(), function (n) { if (n.axisPointerEnabled) { var c = v(n.model), d = t.coordSysAxesInfo[c] = {}; t.coordSysMap[c] = n; var f = n.model, p = f.getModel('tooltip', i); if (r(n.getAxes(), o(_, !1, null)), n.getTooltipAxes && i && p.get('show')) { var g = p.get('trigger') === 'axis', y = p.get('axisPointer.type') === 'cross', x = n.getTooltipAxes(p.get('axisPointer.axis')); (g || y) && r(x.baseAxes, o(_, !y || 'cross', g)), y && r(x.otherAxes, o(_, 'cross', !1)) } } function _ (i, r, o) { var c = o.model.getModel('axisPointer', a), f = c.get('show'); if (f && (f !== 'auto' || i || m(c))) { r == null && (r = c.get('triggerTooltip')), c = i ? u(o, p, a, e, i, r) : c; var g = c.get('snap'), y = v(o.model), x = r || g || o.type === 'category', _ = t.axesInfo[y] = {key: y, axis: o, coordSys: n, axisPointerModel: c, triggerTooltip: r, involveSeries: x, snap: g, useHandle: m(c), seriesModels: []}; d[y] = _, t.seriesInvolved |= x; var b = h(s, o); if (b != null) { var w = l[b] || (l[b] = {axesInfo: {}}); w.axesInfo[y] = _, w.mapper = s[b].mapper, _.linkGroup = w } } } }) } function u (t, e, n, o, s, l) { var u = e.getModel('axisPointer'), c = {}; r(['type', 'snap', 'lineStyle', 'shadowStyle', 'label', 'animation', 'animationDurationUpdate', 'animationEasingUpdate', 'z'], function (t) { c[t] = i.clone(u.get(t)) }), c.snap = t.type !== 'category' && !!l, u.get('type') === 'cross' && (c.type = 'line'); var h = c.label || (c.label = {}); if (h.show == null && (h.show = !1), s === 'cross') { var d = u.get('label.show'); if (h.show = d == null || d, !l) { var f = c.lineStyle = u.get('crossStyle'); f && i.defaults(h, f.textStyle) } } return t.model.getModel('axisPointer', new a(c, n, o)) } function c (t, e) { e.eachSeries(function (e) { var n = e.coordinateSystem, i = e.get('tooltip.trigger', !0), a = e.get('tooltip.show', !0); n && i !== 'none' && !1 !== i && i !== 'item' && !1 !== a && !1 !== e.get('axisPointer.show', !0) && r(t.coordSysAxesInfo[v(n.model)], function (t) { var i = t.axis; n.getAxis(i.dim) === i && (t.seriesModels.push(e), t.seriesDataCount == null && (t.seriesDataCount = 0), t.seriesDataCount += e.getData().count()) }) }, this) } function h (t, e) { for (var n = e.model, i = e.dim, a = 0; a < t.length; a++) { var r = t[a] || {}; if (d(r[i + 'AxisId'], n.id) || d(r[i + 'AxisIndex'], n.componentIndex) || d(r[i + 'AxisName'], n.name)) return a } } function d (t, e) { return t === 'all' || i.isArray(t) && i.indexOf(t, e) >= 0 || t === e } function f (t) { var e = p(t); if (e) { var n = e.axisPointerModel, i = e.axis.scale, a = n.option, r = n.get('status'), o = n.get('value'); o != null && (o = i.parse(o)); var s = m(n); r == null && (a.status = s ? 'show' : 'hide'); var l = i.getExtent().slice(); l[0] > l[1] && l.reverse(), (o == null || o > l[1]) && (o = l[1]), o < l[0] && (o = l[0]), a.value = o, s && (a.status = e.axis.scale.isBlank() ? 'hide' : 'show') } } function p (t) { var e = (t.ecModel.getComponent('axisPointer') || {}).coordSysAxesInfo; return e && e.axesInfo[v(t)] } function g (t) { var e = p(t); return e && e.axisPointerModel } function m (t) { return !!t.get('handle.show') } function v (t) { return t.type + '||' + t.id }e.collect = s, e.fixValue = f, e.getAxisInfo = p, e.getAxisPointerModel = g, e.makeKey = v }, cd84: function (t, e, n) { var i = n('6d8b'), a = 256; function r () { var t = i.createCanvas(); this.canvas = t, this.blurSize = 30, this.pointSize = 20, this.maxOpacity = 1, this.minOpacity = 0, this._gradientPixels = {} }r.prototype = {update: function (t, e, n, i, r, o) { var s = this._getBrush(), l = this._getGradient(t, r, 'inRange'), u = this._getGradient(t, r, 'outOfRange'), c = this.pointSize + this.blurSize, h = this.canvas, d = h.getContext('2d'), f = t.length; h.width = e, h.height = n; for (var p = 0; p < f; ++p) { var g = t[p], m = g[0], v = g[1], y = g[2], x = i(y); d.globalAlpha = x, d.drawImage(s, m - c, v - c) } if (!h.width || !h.height) return h; var _ = d.getImageData(0, 0, h.width, h.height), b = _.data, w = 0, S = b.length, M = this.minOpacity, I = this.maxOpacity, A = I - M; while (w < S) { x = b[w + 3] / 256; var T = 4 * Math.floor(x * (a - 1)); if (x > 0) { var C = o(x) ? l : u; x > 0 && (x = x * A + M), b[w++] = C[T], b[w++] = C[T + 1], b[w++] = C[T + 2], b[w++] = C[T + 3] * x * 256 } else w += 4 } return d.putImageData(_, 0, 0), h }, _getBrush: function () { var t = this._brushCanvas || (this._brushCanvas = i.createCanvas()), e = this.pointSize + this.blurSize, n = 2 * e; t.width = n, t.height = n; var a = t.getContext('2d'); return a.clearRect(0, 0, n, n), a.shadowOffsetX = n, a.shadowBlur = this.blurSize, a.shadowColor = '#000', a.beginPath(), a.arc(-e, e, this.pointSize, 0, 2 * Math.PI, !0), a.closePath(), a.fill(), t }, _getGradient: function (t, e, n) { for (var i = this._gradientPixels, a = i[n] || (i[n] = new Uint8ClampedArray(1024)), r = [0, 0, 0, 0], o = 0, s = 0; s < 256; s++)e[n](s / 255, !0, r), a[o++] = r[0], a[o++] = r[1], a[o++] = r[2], a[o++] = r[3]; return a }}; var o = r; t.exports = o }, cdaa: function (t, e, n) { var i = n('607d'), a = i.addEventListener, r = i.removeEventListener, o = i.normalizeEvent, s = n('6d8b'), l = n('1fab'), u = n('22d1'), c = n('0b44'), h = 300, d = ['click', 'dblclick', 'mousewheel', 'mouseout', 'mouseup', 'mousedown', 'mousemove', 'contextmenu'], f = ['touchstart', 'touchend', 'touchmove'], p = {pointerdown: 1, pointerup: 1, pointermove: 1, pointerout: 1}, g = s.map(d, function (t) { var e = t.replace('mouse', 'pointer'); return p[e] ? e : t }); function m (t) { return t === 'mousewheel' && u.browser.firefox ? 'DOMMouseScroll' : t } function v (t, e, n) { var i = t._gestureMgr; n === 'start' && i.clear(); var a = i.recognize(e, t.handler.findHover(e.zrX, e.zrY, null).target, t.dom); if (n === 'end' && i.clear(), a) { var r = a.type; e.gestureEvent = r, t.handler.dispatchToElement({target: a.target}, r, a.event) } } function y (t) { t._touching = !0, clearTimeout(t._touchTimer), t._touchTimer = setTimeout(function () { t._touching = !1 }, 700) } var x = {mousemove: function (t) { t = o(this.dom, t), this.trigger('mousemove', t) }, mouseout: function (t) { t = o(this.dom, t); var e = t.toElement || t.relatedTarget; if (e != this.dom) while (e && e.nodeType != 9) { if (e === this.dom) return; e = e.parentNode } this.trigger('mouseout', t) }, touchstart: function (t) { t = o(this.dom, t), t.zrByTouch = !0, this._lastTouchMoment = new Date(), v(this, t, 'start'), x.mousemove.call(this, t), x.mousedown.call(this, t), y(this) }, touchmove: function (t) { t = o(this.dom, t), t.zrByTouch = !0, v(this, t, 'change'), x.mousemove.call(this, t), y(this) }, touchend: function (t) { t = o(this.dom, t), t.zrByTouch = !0, v(this, t, 'end'), x.mouseup.call(this, t), +new Date() - this._lastTouchMoment < h && x.click.call(this, t), y(this) }, pointerdown: function (t) { x.mousedown.call(this, t) }, pointermove: function (t) { _(t) || x.mousemove.call(this, t) }, pointerup: function (t) { x.mouseup.call(this, t) }, pointerout: function (t) { _(t) || x.mouseout.call(this, t) }}; function _ (t) { var e = t.pointerType; return e === 'pen' || e === 'touch' } function b (t) { function e (t, e) { return function () { if (!e._touching) return t.apply(e, arguments) } }s.each(f, function (e) { t._handlers[e] = s.bind(x[e], t) }), s.each(g, function (e) { t._handlers[e] = s.bind(x[e], t) }), s.each(d, function (n) { t._handlers[n] = e(x[n], t) }) } function w (t) { function e (e, n) { s.each(e, function (e) { a(t, m(e), n._handlers[e]) }, n) }l.call(this), this.dom = t, this._touching = !1, this._touchTimer, this._gestureMgr = new c(), this._handlers = {}, b(this), u.pointerEventsSupported ? e(g, this) : (u.touchEventsSupported && e(f, this), e(d, this)) }s.each(['click', 'mousedown', 'mouseup', 'mousewheel', 'dblclick', 'contextmenu'], function (t) { x[t] = function (e) { e = o(this.dom, e), this.trigger(t, e) } }); var S = w.prototype; S.dispose = function () { for (var t = d.concat(f), e = 0; e < t.length; e++) { var n = t[e]; r(this.dom, m(n), this._handlers[n]) } }, S.setCursor = function (t) { this.dom.style && (this.dom.style.cursor = t || 'default') }, s.mixin(w, l); var M = w; t.exports = M }, cee1: function (t, e, n) { var i = n('6d8b'); function a (t) { var e = {}; t.eachSeriesByType('map', function (n) { var a = n.getMapType(); if (!n.getHostGeoModel() && !e[a]) { var r = {}; i.each(n.seriesGroup, function (e) { var n = e.coordinateSystem, i = e.originalData; e.get('showLegendSymbol') && t.getComponent('legend') && i.each(i.mapDimension('value'), function (t, e) { var a = i.getName(e), o = n.getRegion(a); if (o && !isNaN(t)) { var s = r[a] || 0, l = n.dataToPoint(o.center); r[a] = s + 1, i.setItemLayout(e, {point: l, offset: s}) } }) }); var o = n.getData(); o.each(function (t) { var e = o.getName(t), n = o.getItemLayout(t) || {}; n.showLabel = !r[e], o.setItemLayout(t, n) }), e[a] = !0 } }) }t.exports = a }, cf7e: function (t, e, n) { var i = n('6d8b'); function a (t) { return this._axes[t] } var r = function (t) { this._axes = {}, this._dimList = [], this.name = t || '' }; r.prototype = {constructor: r, type: 'cartesian', getAxis: function (t) { return this._axes[t] }, getAxes: function () { return i.map(this._dimList, a, this) }, getAxesByScale: function (t) { return t = t.toLowerCase(), i.filter(this.getAxes(), function (e) { return e.scale.type === t }) }, addAxis: function (t) { var e = t.dim; this._axes[e] = t, this._dimList.push(e) }, dataToCoord: function (t) { return this._dataCoordConvert(t, 'dataToCoord') }, coordToData: function (t) { return this._dataCoordConvert(t, 'coordToData') }, _dataCoordConvert: function (t, e) { for (var n = this._dimList, i = t instanceof Array ? [] : {}, a = 0; a < n.length; a++) { var r = n[a], o = this._axes[r]; i[r] = o[e](t[r]) } return i }}; var o = r; t.exports = o }, d01c: function (t, e, n) { var i = n('4f85'), a = n('237f'), r = n('eda2'), o = r.encodeHTML, s = i.extend({type: 'series.sankey', layoutInfo: null, getInitialData: function (t) { var e = t.edges || t.links, n = t.data || t.nodes; if (n && e) { var i = a(n, e, this, !0); return i.data } }, setNodePosition: function (t, e) { var n = this.option.data[t]; n.localX = e[0], n.localY = e[1] }, getGraph: function () { return this.getData().graph }, getEdgeData: function () { return this.getGraph().edgeData }, formatTooltip: function (t, e, n) { if (n === 'edge') { var i = this.getDataParams(t, n), a = i.data, r = a.source + ' -- ' + a.target; return i.value && (r += ' : ' + i.value), o(r) } return s.superCall(this, 'formatTooltip', t, e) }, defaultOption: {zlevel: 0, z: 2, coordinateSystem: 'view', layout: null, left: '5%', top: '5%', right: '20%', bottom: '5%', nodeWidth: 20, nodeGap: 8, draggable: !0, layoutIterations: 32, label: {show: !0, position: 'right', color: '#000', fontSize: 12}, itemStyle: {borderWidth: 1, borderColor: '#333'}, lineStyle: {color: '#314656', opacity: 0.2, curveness: 0.5}, emphasis: {label: {show: !0}, lineStyle: {opacity: 0.6}}, animationEasing: 'linear', animationDuration: 1e3}}), l = s; t.exports = l }, d070: function (t, e, n) { var i = n('3eba'), a = n('6d8b'); function r (t, e) { e.update = 'updateView', i.registerAction(e, function (e, n) { var i = {}; return n.eachComponent({mainType: 'geo', query: e}, function (n) { n[t](e.name); var r = n.coordinateSystem; a.each(r.regions, function (t) { i[t.name] = n.isSelected(t.name) || !1 }) }), {selected: i, name: e.name} }) }n('1f1a'), n('eeea'), n('7661'), n('49e8'), r('toggleSelected', {type: 'geoToggleSelect', event: 'geoselectchanged'}), r('select', {type: 'geoSelect', event: 'geoselected'}), r('unSelect', {type: 'geoUnSelect', event: 'geounselected'}) }, d090: function (t, e, n) { var i = n('6d8b'), a = n('f934'), r = n('3842'), o = n('2039'), s = 864e5; function l (t, e, n) { this._model = t } function u (t, e, n, i) { var a = n.calendarModel, r = n.seriesModel, o = a ? a.coordinateSystem : r ? r.coordinateSystem : null; return o === this ? o[t](i) : null }l.prototype = {constructor: l, type: 'calendar', dimensions: ['time', 'value'], getDimensionsInfo: function () { return [{name: 'time', type: 'time'}, 'value'] }, getRangeInfo: function () { return this._rangeInfo }, getModel: function () { return this._model }, getRect: function () { return this._rect }, getCellWidth: function () { return this._sw }, getCellHeight: function () { return this._sh }, getOrient: function () { return this._orient }, getFirstDayOfWeek: function () { return this._firstDayOfWeek }, getDateInfo: function (t) { t = r.parseDate(t); var e = t.getFullYear(), n = t.getMonth() + 1; n = n < 10 ? '0' + n : n; var i = t.getDate(); i = i < 10 ? '0' + i : i; var a = t.getDay(); return a = Math.abs((a + 7 - this.getFirstDayOfWeek()) % 7), {y: e, m: n, d: i, day: a, time: t.getTime(), formatedDate: e + '-' + n + '-' + i, date: t} }, getNextNDay: function (t, e) { return e = e || 0, e === 0 ? this.getDateInfo(t) : (t = new Date(this.getDateInfo(t).time), t.setDate(t.getDate() + e), this.getDateInfo(t)) }, update: function (t, e) { this._firstDayOfWeek = +this._model.getModel('dayLabel').get('firstDay'), this._orient = this._model.get('orient'), this._lineWidth = this._model.getModel('itemStyle').getItemStyle().lineWidth || 0, this._rangeInfo = this._getRangeInfo(this._initRangeOption()); var n = this._rangeInfo.weeks || 1, r = ['width', 'height'], o = this._model.get('cellSize').slice(), s = this._model.getBoxLayoutParams(), l = this._orient === 'horizontal' ? [n, 7] : [7, n]; i.each([0, 1], function (t) { h(o, t) && (s[r[t]] = o[t] * l[t]) }); var u = {width: e.getWidth(), height: e.getHeight()}, c = this._rect = a.getLayoutRect(s, u); function h (t, e) { return t[e] != null && t[e] !== 'auto' }i.each([0, 1], function (t) { h(o, t) || (o[t] = c[r[t]] / l[t]) }), this._sw = o[0], this._sh = o[1] }, dataToPoint: function (t, e) { i.isArray(t) && (t = t[0]), e == null && (e = !0); var n = this.getDateInfo(t), a = this._rangeInfo, r = n.formatedDate; if (e && !(n.time >= a.start.time && n.time < a.end.time + s)) return [NaN, NaN]; var o = n.day, l = this._getRangeInfo([a.start.time, r]).nthWeek; return this._orient === 'vertical' ? [this._rect.x + o * this._sw + this._sw / 2, this._rect.y + l * this._sh + this._sh / 2] : [this._rect.x + l * this._sw + this._sw / 2, this._rect.y + o * this._sh + this._sh / 2] }, pointToData: function (t) { var e = this.pointToDate(t); return e && e.time }, dataToRect: function (t, e) { var n = this.dataToPoint(t, e); return {contentShape: {x: n[0] - (this._sw - this._lineWidth) / 2, y: n[1] - (this._sh - this._lineWidth) / 2, width: this._sw - this._lineWidth, height: this._sh - this._lineWidth}, center: n, tl: [n[0] - this._sw / 2, n[1] - this._sh / 2], tr: [n[0] + this._sw / 2, n[1] - this._sh / 2], br: [n[0] + this._sw / 2, n[1] + this._sh / 2], bl: [n[0] - this._sw / 2, n[1] + this._sh / 2]} }, pointToDate: function (t) { var e = Math.floor((t[0] - this._rect.x) / this._sw) + 1, n = Math.floor((t[1] - this._rect.y) / this._sh) + 1, i = this._rangeInfo.range; return this._orient === 'vertical' ? this._getDateByWeeksAndDay(n, e - 1, i) : this._getDateByWeeksAndDay(e, n - 1, i) }, convertToPixel: i.curry(u, 'dataToPoint'), convertFromPixel: i.curry(u, 'pointToData'), _initRangeOption: function () { var t = this._model.get('range'), e = t; if (i.isArray(e) && e.length === 1 && (e = e[0]), /^\d{4}$/.test(e) && (t = [e + '-01-01', e + '-12-31']), /^\d{4}[\/|-]\d{1,2}$/.test(e)) { var n = this.getDateInfo(e), a = n.date; a.setMonth(a.getMonth() + 1); var r = this.getNextNDay(a, -1); t = [n.formatedDate, r.formatedDate] }/^\d{4}[\/|-]\d{1,2}[\/|-]\d{1,2}$/.test(e) && (t = [e, e]); var o = this._getRangeInfo(t); return o.start.time > o.end.time && t.reverse(), t }, _getRangeInfo: function (t) { var e; t = [this.getDateInfo(t[0]), this.getDateInfo(t[1])], t[0].time > t[1].time && (e = !0, t.reverse()); var n = Math.floor(t[1].time / s) - Math.floor(t[0].time / s) + 1, i = new Date(t[0].time), a = i.getDate(), r = t[1].date.getDate(); if (i.setDate(a + n - 1), i.getDate() !== r) { var o = i.getTime() - t[1].time > 0 ? 1 : -1; while (i.getDate() !== r && (i.getTime() - t[1].time) * o > 0)n -= o, i.setDate(a + n - 1) } var l = Math.floor((n + t[0].day + 6) / 7), u = e ? 1 - l : l - 1; return e && t.reverse(), {range: [t[0].formatedDate, t[1].formatedDate], start: t[0], end: t[1], allDay: n, weeks: l, nthWeek: u, fweek: t[0].day, lweek: t[1].day} }, _getDateByWeeksAndDay: function (t, e, n) { var i = this._getRangeInfo(n); if (t > i.weeks || t === 0 && e < i.fweek || t === i.weeks && e > i.lweek) return !1; var a = 7 * (t - 1) - i.fweek + e, r = new Date(i.start.time); return r.setDate(i.start.d + a), this.getDateInfo(r) }}, l.dimensions = l.prototype.dimensions, l.getDimensionsInfo = l.prototype.getDimensionsInfo, l.create = function (t, e) { var n = []; return t.eachComponent('calendar', function (i) { var a = new l(i, t, e); n.push(a), i.coordinateSystem = a }), t.eachSeries(function (t) { t.get('coordinateSystem') === 'calendar' && (t.coordinateSystem = n[t.get('calendarIndex') || 0]) }), n }, o.register('calendar', l); var c = l; t.exports = c }, d15d: function (t, e, n) { var i = n('6d8b'), a = i.createHashMap, r = i.each; function o (t) { var e = a(); t.eachSeries(function (t) { var n = t.get('stack'); if (n) { var i = e.get(n) || e.set(n, []), a = t.getData(), r = {stackResultDimension: a.getCalculationInfo('stackResultDimension'), stackedOverDimension: a.getCalculationInfo('stackedOverDimension'), stackedDimension: a.getCalculationInfo('stackedDimension'), stackedByDimension: a.getCalculationInfo('stackedByDimension'), isStackedByIndex: a.getCalculationInfo('isStackedByIndex'), data: a, seriesModel: t}; if (!r.stackedDimension || !r.isStackedByIndex && !r.stackedByDimension) return; i.length && a.setCalculationInfo('stackedOnSeries', i[i.length - 1].seriesModel), i.push(r) } }), e.each(s) } function s (t) { r(t, function (e, n) { var i = [], a = [NaN, NaN], r = [e.stackResultDimension, e.stackedOverDimension], o = e.data, s = e.isStackedByIndex, l = o.map(r, function (r, l, u) { var c, h, d = o.get(e.stackedDimension, u); if (isNaN(d)) return a; s ? h = o.getRawIndex(u) : c = o.get(e.stackedByDimension, u); for (var f = NaN, p = n - 1; p >= 0; p--) { var g = t[p]; if (s || (h = g.data.rawIndexOf(g.stackedByDimension, c)), h >= 0) { var m = g.data.getByRawIndex(g.stackResultDimension, h); if (d >= 0 && m > 0 || d <= 0 && m < 0) { d += m, f = m; break } } } return i[0] = d, i[1] = f, i }); o.hostModel.setData(l), e.data = l }) }t.exports = o }, d28f: function (t, e, n) { var i = n('3eba'); n('84d5'), n('4650'), n('5e97'); var a = n('903c'), r = n('6cb7'); i.registerProcessor(a), r.registerSubTypeDefaulter('legend', function () { return 'plain' }) }, d2cf: function (t, e, n) { var i = n('6d8b'), a = n('401b'), r = n('cb6d'), o = n('1fab'), s = 'silent'; function l (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} } function u () {}u.prototype.dispose = function () {}; var c = ['click', 'dblclick', 'mousewheel', 'mouseout', 'mouseup', 'mousedown', 'mousemove', 'contextmenu'], h = function (t, e, n, i) { o.call(this), this.storage = t, this.painter = e, this.painterRoot = i, n = n || new u(), this.proxy = null, this._hovered = {}, this._lastTouchMoment, this._lastX, this._lastY, r.call(this), this.setHandlerProxy(n) }; function d (t, e, n) { if (t[t.rectHover ? 'rectContain' : 'contain'](e, n)) { var i, a = t; while (a) { if (a.clipPath && !a.clipPath.contain(e, n)) return !1; a.silent && (i = !0), a = a.parent } return !i || s } return !1 }h.prototype = {constructor: h, setHandlerProxy: function (t) { this.proxy && this.proxy.dispose(), t && (i.each(c, function (e) { t.on && t.on(e, this[e], this) }, this), t.handler = this), this.proxy = t }, mousemove: function (t) { var e = t.zrX, n = t.zrY, i = this._hovered, a = i.target; a && !a.__zr && (i = this.findHover(i.x, i.y), a = i.target); var r = this._hovered = this.findHover(e, n), o = r.target, s = this.proxy; s.setCursor && s.setCursor(o ? o.cursor : 'default'), a && o !== a && this.dispatchToElement(i, 'mouseout', t), this.dispatchToElement(r, 'mousemove', t), o && o !== a && this.dispatchToElement(r, 'mouseover', t) }, mouseout: function (t) { this.dispatchToElement(this._hovered, 'mouseout', t); var e, n = t.toElement || t.relatedTarget; do { n = n && n.parentNode } while (n && n.nodeType != 9 && !(e = n === this.painterRoot));!e && this.trigger('globalout', {event: t}) }, resize: function (t) { this._hovered = {} }, dispatch: function (t, e) { var n = this[t]; n && n.call(this, e) }, dispose: function () { this.proxy.dispose(), this.storage = this.proxy = this.painter = null }, setCursorStyle: function (t) { var e = this.proxy; e.setCursor && e.setCursor(t) }, dispatchToElement: function (t, e, n) { t = t || {}; var i = t.target; if (!i || !i.silent) { var a = 'on' + e, r = l(e, t, n); while (i) if (i[a] && (r.cancelBubble = i[a].call(i, r)), i.trigger(e, r), i = i.parent, r.cancelBubble) break; r.cancelBubble || (this.trigger(e, r), this.painter && this.painter.eachOtherLayer(function (t) { typeof t[a] === 'function' && t[a].call(t, r), t.trigger && t.trigger(e, r) })) } }, findHover: function (t, e, n) { for (var i = this.storage.getDisplayList(), a = {x: t, y: e}, r = i.length - 1; r >= 0; r--) { var o; if (i[r] !== n && !i[r].ignore && (o = d(i[r], t, e)) && (!a.topTarget && (a.topTarget = i[r]), o !== s)) { a.target = i[r]; break } } return a }}, i.each(['click', 'mousedown', 'mouseup', 'mousewheel', 'dblclick', 'contextmenu'], function (t) { h.prototype[t] = function (e) { var n = this.findHover(e.zrX, e.zrY), i = n.target; if (t === 'mousedown') this._downEl = i, this._downPoint = [e.zrX, e.zrY], this._upEl = i; else if (t === 'mouseup') this._upEl = i; else if (t === 'click') { if (this._downEl !== this._upEl || !this._downPoint || a.dist(this._downPoint, [e.zrX, e.zrY]) > 4) return; this._downPoint = null } this.dispatchToElement(n, t, e) } }), i.mixin(h, o), i.mixin(h, r); var f = h; t.exports = f }, d357: function (t, e, n) { var i = n('6d8b'), a = i.each, r = n('1c5f'), o = r.simpleLayout, s = r.simpleLayoutEdge; function l (t, e) { t.eachSeriesByType('graph', function (t) { var e = t.get('layout'), n = t.coordinateSystem; if (n && n.type !== 'view') { var i = t.getData(), r = []; a(n.dimensions, function (t) { r = r.concat(i.mapDimension(t, !0)) }); for (var l = 0; l < i.count(); l++) { for (var u = [], c = !1, h = 0; h < r.length; h++) { var d = i.get(r[h], l); isNaN(d) || (c = !0), u.push(d) }c ? i.setItemLayout(l, n.dataToPoint(u)) : i.setItemLayout(l, [NaN, NaN]) }s(i.graph) } else e && e !== 'none' || o(t) }) }t.exports = l }, d3a0: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('29a8'), o = n('2145'), s = r.toolbox.magicType; function l (t) { this.model = t }l.defaultOption = {show: !0, type: [], icon: {line: 'M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4', bar: 'M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7', stack: 'M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z', tiled: 'M2.3,2.2h22.8V25H2.3V2.2z M35,2.2h22.8V25H35V2.2zM2.3,35h22.8v22.8H2.3V35z M35,35h22.8v22.8H35V35z'}, title: a.clone(s.title), option: {}, seriesIndex: {}}; var u = l.prototype; u.getIcons = function () { var t = this.model, e = t.get('icon'), n = {}; return a.each(t.get('type'), function (t) { e[t] && (n[t] = e[t]) }), n }; var c = {line: function (t, e, n, i) { if (t === 'bar') return a.merge({id: e, type: 'line', data: n.get('data'), stack: n.get('stack'), markPoint: n.get('markPoint'), markLine: n.get('markLine')}, i.get('option.line') || {}, !0) }, bar: function (t, e, n, i) { if (t === 'line') return a.merge({id: e, type: 'bar', data: n.get('data'), stack: n.get('stack'), markPoint: n.get('markPoint'), markLine: n.get('markLine')}, i.get('option.bar') || {}, !0) }, stack: function (t, e, n, i) { if (t === 'line' || t === 'bar') return a.merge({id: e, stack: '__ec_magicType_stack__'}, i.get('option.stack') || {}, !0) }, tiled: function (t, e, n, i) { if (t === 'line' || t === 'bar') return a.merge({id: e, stack: ''}, i.get('option.tiled') || {}, !0) }}, h = [['line', 'bar'], ['stack', 'tiled']]; u.onclick = function (t, e, n) { var i = this.model, r = i.get('seriesIndex.' + n); if (c[n]) { var o = {series: []}, s = function (e) { var r = e.subType, s = e.id, l = c[n](r, s, e, i); l && (a.defaults(l, e.option), o.series.push(l)); var u = e.coordinateSystem; if (u && u.type === 'cartesian2d' && (n === 'line' || n === 'bar')) { var h = u.getAxesByScale('ordinal')[0]; if (h) { var d = h.dim, f = d + 'Axis', p = t.queryComponents({mainType: f, index: e.get(name + 'Index'), id: e.get(name + 'Id')})[0], g = p.componentIndex; o[f] = o[f] || []; for (var m = 0; m <= g; m++)o[f][g] = o[f][g] || {}; o[f][g].boundaryGap = n === 'bar' } } }; a.each(h, function (t) { a.indexOf(t, n) >= 0 && a.each(t, function (t) { i.setIconStatus(t, 'normal') }) }), i.setIconStatus(n, 'emphasis'), t.eachComponent({mainType: 'series', query: r == null ? null : {seriesIndex: r}}, s), e.dispatchAction({type: 'changeMagicType', currentType: n, newOption: o}) } }, i.registerAction({type: 'changeMagicType', event: 'magicTypeChanged', update: 'prepareAndUpdate'}, function (t, e) { e.mergeOption(t.newOption) }), o.register('magicType', l); var d = l; t.exports = d }, d3a4: function (t, e, n) { var i, a = n('22d1'), r = 'urn:schemas-microsoft-com:vml', o = typeof window === 'undefined' ? null : window, s = !1, l = o && o.document; function u (t) { return i(t) } if (l && !a.canvasSupported) try { !l.namespaces.zrvml && l.namespaces.add('zrvml', r), i = function (t) { return l.createElement('<zrvml:' + t + ' class="zrvml">') } } catch (t) { i = function (t) { return l.createElement('<' + t + ' xmlns="' + r + '" class="zrvml">') } } function c () { if (!s && l) { s = !0; var t = l.styleSheets; t.length < 31 ? l.createStyleSheet().addRule('.zrvml', 'behavior:url(#default#VML)') : t[0].addRule('.zrvml', 'behavior:url(#default#VML)') } }e.doc = l, e.createNode = u, e.initVML = c }, d3f47: function (t, e) { function n (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), a = 0; a < n.length; a++) if (!n[a].isSelected(e)) return !1; return !0 }) } }} }t.exports = n }, d498: function (t, e, n) { var i = n('cbe5'), a = n('4fac'), r = i.extend({type: 'polyline', shape: {points: null, smooth: !1, smoothConstraint: null}, style: {stroke: '#000', fill: null}, buildPath: function (t, e) { a.buildPath(t, e, !1) }}); t.exports = r }, d4b1: function (t, e, n) { var i = n('3eba'), a = n('17d6'), r = i.extendComponentView({type: 'axisPointer', render: function (t, e, n) { var i = e.getComponent('tooltip'), r = t.get('triggerOn') || i && i.get('triggerOn') || 'mousemove|click'; a.register('axisPointer', n, function (t, e, n) { r !== 'none' && (t === 'leave' || r.indexOf(t) >= 0) && n({type: 'updateAxisPointer', currTrigger: t, x: e && e.offsetX, y: e && e.offsetY}) }) }, remove: function (t, e) { a.unregister(e.getZr(), 'axisPointer'), r.superApply(this._model, 'remove', arguments) }, dispose: function (t, e) { a.unregister('axisPointer', e), r.superApply(this._model, 'dispose', arguments) }}), o = r; t.exports = o }, d4c6: function (t, e, n) { var i = n('cbe5'), a = i.extend({type: 'compound', shape: {paths: null}, _updatePathDirty: function () { for (var t = this.__dirtyPath, e = this.shape.paths, n = 0; n < e.length; n++)t = t || e[n].__dirtyPath; this.__dirtyPath = t, this.__dirty = this.__dirty || t }, 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]) }, buildPath: function (t, e) { for (var n = e.paths || [], i = 0; i < n.length; i++)n[i].buildPath(t, n[i].shape, !0) }, afterBrush: function () { for (var t = this.shape.paths || [], e = 0; e < t.length; e++)t[e].__dirtyPath = !1 }, getBoundingRect: function () { return this._updatePathDirty(), i.prototype.getBoundingRect.call(this) }}); t.exports = a }, d4d1: function (t, e, n) { var i = n('cbe5'), a = n('401b'), r = n('897a'), o = a.min, s = a.max, l = a.scaleAndAdd, u = a.copy, c = [], h = [], d = []; function f (t) { return isNaN(t[0]) || isNaN(t[1]) } function p (t, e, n, i, a, r, o, s, l, u, c) { return u !== 'none' && u ? g.apply(this, arguments) : m.apply(this, arguments) } function g (t, e, n, i, a, r, o, s, l, c, p) { for (var g = 0, m = n, v = 0; v < i; v++) { var y = e[m]; if (m >= a || m < 0) break; if (f(y)) { if (p) { m += r; continue } break } if (m === n)t[r > 0 ? 'moveTo' : 'lineTo'](y[0], y[1]); else if (l > 0) { var x = e[g], _ = c === 'y' ? 1 : 0, b = (y[_] - x[_]) * l; u(h, x), h[_] = x[_] + b, u(d, y), d[_] = y[_] - b, t.bezierCurveTo(h[0], h[1], d[0], d[1], y[0], y[1]) } else t.lineTo(y[0], y[1]); g = m, m += r } return v } function m (t, e, n, i, r, p, g, m, v, y, x) { for (var _ = 0, b = n, w = 0; w < i; w++) { var S = e[b]; if (b >= r || b < 0) break; if (f(S)) { if (x) { b += p; continue } break } if (b === n)t[p > 0 ? 'moveTo' : 'lineTo'](S[0], S[1]), u(h, S); else if (v > 0) { var M = b + p, I = e[M]; if (x) while (I && f(e[M]))M += p, I = e[M]; var A = 0.5, T = e[_]; I = e[M]; if (!I || f(I))u(d, S); else { var C, D; if (f(I) && !x && (I = S), a.sub(c, I, T), y === 'x' || y === 'y') { var L = y === 'x' ? 0 : 1; C = Math.abs(S[L] - T[L]), D = Math.abs(S[L] - I[L]) } else C = a.dist(S, T), D = a.dist(S, I); A = D / (D + C), l(d, S, c, -v * (1 - A)) }o(h, h, m), s(h, h, g), o(d, d, m), s(d, d, g), t.bezierCurveTo(h[0], h[1], d[0], d[1], S[0], S[1]), l(h, S, c, v * A) } else t.lineTo(S[0], S[1]); _ = b, b += p } return w } function v (t, e) { var n = [1 / 0, 1 / 0], i = [-1 / 0, -1 / 0]; if (e) for (var a = 0; a < t.length; a++) { var r = t[a]; r[0] < n[0] && (n[0] = r[0]), r[1] < n[1] && (n[1] = r[1]), r[0] > i[0] && (i[0] = r[0]), r[1] > i[1] && (i[1] = r[1]) } return {min: e ? n : i, max: e ? i : n} } var y = i.extend({type: 'ec-polyline', shape: {points: [], smooth: 0, smoothConstraint: !0, smoothMonotone: null, connectNulls: !1}, style: {fill: null, stroke: '#000'}, brush: r(i.prototype.brush), buildPath: function (t, e) { var n = e.points, i = 0, a = n.length, r = v(n, e.smoothConstraint); if (e.connectNulls) { for (;a > 0; a--) if (!f(n[a - 1])) break; for (;i < a; i++) if (!f(n[i])) break } while (i < a)i += p(t, n, i, a, a, 1, r.min, r.max, e.smooth, e.smoothMonotone, e.connectNulls) + 1 }}), x = i.extend({type: 'ec-polygon', shape: {points: [], stackedOnPoints: [], smooth: 0, stackedOnSmooth: 0, smoothConstraint: !0, smoothMonotone: null, connectNulls: !1}, brush: r(i.prototype.brush), buildPath: function (t, e) { var n = e.points, i = e.stackedOnPoints, a = 0, r = n.length, o = e.smoothMonotone, s = v(n, e.smoothConstraint), l = v(i, e.smoothConstraint); if (e.connectNulls) { for (;r > 0; r--) if (!f(n[r - 1])) break; for (;a < r; a++) if (!f(n[a])) break } while (a < r) { var u = p(t, n, a, r, r, 1, s.min, s.max, e.smooth, o, e.connectNulls); p(t, i, a + u - 1, u, r, -1, l.min, l.max, e.stackedOnSmooth, o, e.connectNulls), a += u + 1, t.closePath() } }}); e.Polyline = y, e.Polygon = x }, d51b: function (t, e) { var n = function () { this.head = null, this.tail = null, this._len = 0 }, i = n.prototype; i.insert = function (t) { var e = new a(t); return this.insertEntry(e), e }, i.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++ }, i.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-- }, i.len = function () { return this._len }, i.clear = function () { this.head = this.tail = null, this._len = 0 }; var a = function (t) { this.value = t, this.next, this.prev }, r = function (t) { this._list = new n(), this._map = {}, this._maxSize = t || 10, this._lastRemovedEntry = null }, o = r.prototype; o.put = function (t, e) { var n = this._list, i = this._map, r = null; if (i[t] == null) { var o = n.len(), s = this._lastRemovedEntry; if (o >= this._maxSize && o > 0) { var l = n.head; n.remove(l), delete i[l.key], r = l.value, this._lastRemovedEntry = l }s ? s.value = e : s = new a(e), s.key = t, n.insertEntry(s), i[t] = s } return r }, o.get = function (t) { var e = this._map[t], n = this._list; if (e != null) return e !== n.tail && (n.remove(e), n.insertEntry(e)), e.value }, o.clear = function () { this._list.clear(), this._map = {} }; var s = r; t.exports = s }, d5b7: function (t, e, n) { var i = n('de00'), a = n('1fab'), r = n('0cde'), o = n('bd6b'), s = n('6d8b'), l = function (t) { r.call(this, t), a.call(this, t), o.call(this, t), this.id = t.id || i() }; l.prototype = {type: 'element', name: '', __zr: null, ignore: !1, clipPath: null, isGroup: !1, drift: function (t, e) { switch (this.draggable) { case 'horizontal':e = 0; break; case 'vertical':t = 0; break } var n = this.transform; n || (n = this.transform = [1, 0, 0, 1, 0, 0]), n[4] += t, n[5] += e, this.decomposeTransform(), this.dirty(!1) }, beforeUpdate: function () {}, afterUpdate: function () {}, update: function () { this.updateTransform() }, traverse: function (t, e) {}, attrKV: function (t, e) { if (t === 'position' || t === 'scale' || t === 'origin') { if (e) { var n = this[t]; n || (n = this[t] = []), n[0] = e[0], n[1] = e[1] } } else this[t] = e }, hide: function () { this.ignore = !0, this.__zr && this.__zr.refresh() }, show: function () { this.ignore = !1, this.__zr && this.__zr.refresh() }, attr: function (t, e) { if (typeof t === 'string') this.attrKV(t, e); else if (s.isObject(t)) for (var n in t)t.hasOwnProperty(n) && this.attrKV(n, t[n]); return this.dirty(!1), this }, setClipPath: function (t) { var e = this.__zr; e && t.addSelfToZr(e), this.clipPath && this.clipPath !== t && this.removeClipPath(), this.clipPath = t, t.__zr = e, t.__clipTarget = this, this.dirty(!1) }, removeClipPath: function () { var t = this.clipPath; t && (t.__zr && t.removeSelfFromZr(t.__zr), t.__zr = null, t.__clipTarget = null, this.clipPath = null, this.dirty(!1)) }, addSelfToZr: function (t) { this.__zr = t; var e = this.animators; if (e) for (var n = 0; n < e.length; n++)t.animation.addAnimator(e[n]); this.clipPath && this.clipPath.addSelfToZr(t) }, removeSelfFromZr: function (t) { 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) }}, s.mixin(l, o), s.mixin(l, r), s.mixin(l, a); var u = l; t.exports = u }, d6d9: function (t, e, n) { var i = n('3014'), a = i.extend({type: 'series.pictorialBar', dependencies: ['grid'], defaultOption: {symbol: 'circle', symbolSize: null, symbolRotate: null, symbolPosition: null, symbolOffset: null, symbolMargin: null, symbolRepeat: !1, symbolRepeatDirection: 'end', symbolClip: !1, symbolBoundingData: null, symbolPatternSize: 400, barGap: '-100%', progressive: 0, hoverAnimation: !1}, getInitialData: function (t) { return t.stack = null, a.superApply(this, 'getInitialData', arguments) }}), r = a; t.exports = r }, d6ef: function (t, e, n) { var i = n('3eba'), a = {type: 'selectDataRange', event: 'dataRangeSelected', update: 'update'}; i.registerAction(a, function (t, e) { e.eachComponent({mainType: 'visualMap', query: t}, function (e) { e.setSelected(t.selected) }) }) }, d716: function (t, e, n) { var i = n('3eba'), a = n('6d8b'); n('aa01'), n('340d'), n('44fb'); var r = n('98e7'), o = n('cb73'), s = n('d3f47'); i.registerVisual(a.curry(r, 'sunburst')), i.registerLayout(a.curry(o, 'sunburst')), i.registerProcessor(a.curry(s, 'sunburst')) }, d747: function (t, e, n) { var i = n('3eba'), a = n('d81e'), r = a.updateCenterAndZoom, o = {type: 'graphRoam', event: 'graphRoam', update: 'none'}; i.registerAction(o, function (t, e) { e.eachComponent({mainType: 'series', query: t}, function (e) { var n = e.coordinateSystem, i = r(n, t); e.setCenter && e.setCenter(i.center), e.setZoom && e.setZoom(i.zoom) }) }), i.registerAction({type: 'focusNodeAdjacency', event: 'focusNodeAdjacency', update: 'series.graph:focusNodeAdjacency'}, function () {}), i.registerAction({type: 'unfocusNodeAdjacency', event: 'unfocusNodeAdjacency', update: 'series.graph:unfocusNodeAdjacency'}, function () {}) }, d81e: function (t, e) { function n (t, e, n) { var i = t.getZoom(), a = t.getCenter(), r = e.zoom, o = t.dataToPoint(a); if (e.dx != null && e.dy != null) { o[0] -= e.dx, o[1] -= e.dy; a = t.pointToData(o); t.setCenter(a) } if (r != null) { if (n) { var s = n.min || 0, l = n.max || 1 / 0; r = Math.max(Math.min(i * r, l), s) / i }t.scale[0] *= r, t.scale[1] *= r; var u = t.position, c = (e.originX - u[0]) * (r - 1), h = (e.originY - u[1]) * (r - 1); u[0] -= c, u[1] -= h, t.updateTransform(); a = t.pointToData(o); t.setCenter(a), t.setZoom(r * i) } return {center: t.getCenter(), zoom: t.getZoom()} }e.updateCenterAndZoom = n }, d833: function (t, e, n) { var i = n('20c8'), a = n('9680'), r = n('e7d2'), o = n('68ab'), s = n('9f51'), l = n('857d'), u = l.normalizeRadian, c = n('4a3f'), h = n('8728'), d = i.CMD, f = 2 * Math.PI, p = 1e-4; function g (t, e) { return Math.abs(t - e) < p } var m = [-1, -1, -1], v = [-1, -1]; function y () { var t = v[0]; v[0] = v[1], v[1] = t } function x (t, e, n, i, a, r, o, s, l, u) { if (u > e && u > i && u > r && u > s || u < e && u < i && u < r && u < s) return 0; var h = c.cubicRootAt(e, i, r, s, u, m); if (h === 0) return 0; for (var d, f, p = 0, g = -1, x = 0; x < h; x++) { var _ = m[x], b = _ === 0 || _ === 1 ? 0.5 : 1, w = c.cubicAt(t, n, a, o, _); w < l || (g < 0 && (g = c.cubicExtrema(e, i, r, s, v), v[1] < v[0] && g > 1 && y(), d = c.cubicAt(e, i, r, s, v[0]), g > 1 && (f = c.cubicAt(e, i, r, s, v[1]))), g == 2 ? _ < v[0] ? p += d < e ? b : -b : _ < v[1] ? p += f < d ? b : -b : p += s < f ? b : -b : _ < v[0] ? p += d < e ? b : -b : p += s < d ? b : -b) } return p } function _ (t, e, n, i, a, r, o, s) { if (s > e && s > i && s > r || s < e && s < i && s < r) return 0; var l = c.quadraticRootAt(e, i, r, s, m); if (l === 0) return 0; var u = c.quadraticExtremum(e, i, r); if (u >= 0 && u <= 1) { for (var h = 0, d = c.quadraticAt(e, i, r, u), f = 0; f < l; f++) { var p = m[f] === 0 || m[f] === 1 ? 0.5 : 1, g = c.quadraticAt(t, n, a, m[f]); g < o || (m[f] < u ? h += d < e ? p : -p : h += r < d ? p : -p) } return h }p = m[0] === 0 || m[0] === 1 ? 0.5 : 1, g = c.quadraticAt(t, n, a, m[0]); return g < o ? 0 : r < e ? p : -p } function b (t, e, n, i, a, r, o, s) { if (s -= e, s > n || s < -n) return 0; var l = Math.sqrt(n * n - s * s); m[0] = -l, m[1] = l; var c = Math.abs(i - a); if (c < 1e-4) return 0; if (c % f < 1e-4) { i = 0, a = f; var h = r ? 1 : -1; return o >= m[0] + t && o <= m[1] + t ? h : 0 } if (r) { l = i; i = u(a), a = u(l) } else i = u(i), a = u(a); i > a && (a += f); for (var d = 0, p = 0; p < 2; p++) { var g = m[p]; if (g + t > o) { var v = Math.atan2(s, g); h = r ? 1 : -1; v < 0 && (v = f + v), (v >= i && v <= a || v + f >= i && v + f <= a) && (v > Math.PI / 2 && v < 1.5 * Math.PI && (h = -h), d += h) } } return d } function w (t, e, n, i, l) { for (var u = 0, c = 0, f = 0, p = 0, m = 0, v = 0; v < t.length;) { var y = t[v++]; switch (y === d.M && v > 1 && (n || (u += h(c, f, p, m, i, l))), v == 1 && (c = t[v], f = t[v + 1], p = c, m = f), y) { case d.M:p = t[v++], m = t[v++], c = p, f = m; break; case d.L:if (n) { if (a.containStroke(c, f, t[v], t[v + 1], e, i, l)) return !0 } else u += h(c, f, t[v], t[v + 1], i, l) || 0; c = t[v++], f = t[v++]; break; case d.C:if (n) { if (r.containStroke(c, f, t[v++], t[v++], t[v++], t[v++], t[v], t[v + 1], e, i, l)) return !0 } else u += x(c, f, t[v++], t[v++], t[v++], t[v++], t[v], t[v + 1], i, l) || 0; c = t[v++], f = t[v++]; break; case d.Q:if (n) { if (o.containStroke(c, f, t[v++], t[v++], t[v], t[v + 1], e, i, l)) return !0 } else u += _(c, f, t[v++], t[v++], t[v], t[v + 1], i, l) || 0; c = t[v++], f = t[v++]; break; case d.A:var w = t[v++], S = t[v++], M = t[v++], I = t[v++], A = t[v++], T = t[v++], C = (t[v++], 1 - t[v++]), D = Math.cos(A) * M + w, L = Math.sin(A) * I + S; v > 1 ? u += h(c, f, D, L, i, l) : (p = D, m = L); var P = (i - w) * I / M + w; if (n) { if (s.containStroke(w, S, I, A, A + T, C, e, P, l)) return !0 } else u += b(w, S, I, A, A + T, C, P, l); c = Math.cos(A + T) * M + w, f = Math.sin(A + T) * I + S; break; case d.R:p = c = t[v++], m = f = t[v++]; var k = t[v++], O = t[v++]; D = p + k, L = m + O; if (n) { if (a.containStroke(p, m, D, m, e, i, l) || a.containStroke(D, m, D, L, e, i, l) || a.containStroke(D, L, p, L, e, i, l) || a.containStroke(p, L, p, m, e, i, l)) return !0 } else u += h(D, m, D, L, i, l), u += h(p, L, p, m, i, l); break; case d.Z:if (n) { if (a.containStroke(c, f, p, m, e, i, l)) return !0 } else u += h(c, f, p, m, i, l); c = p, f = m; break } } return n || g(f, m) || (u += h(c, f, p, m, i, l) || 0), u !== 0 } function S (t, e, n) { return w(t, 0, !1, e, n) } function M (t, e, n, i) { return w(t, e, !0, n, i) }e.contain = S, e.containStroke = M }, d9d0: function (t, e, n) { var i = n('6d8b'), a = n('1687'), r = n('f934'), o = n('697e'), s = n('0f55'), l = n('2306'), u = n('3842'), c = n('ef6a'), h = i.each, d = Math.min, f = Math.max, p = Math.floor, g = Math.ceil, m = u.round, v = Math.PI; function y (t, e, n) { this._axesMap = i.createHashMap(), this._axesLayout = {}, this.dimensions = t.dimensions, this._rect, this._model = t, this._init(t, e, n) } function x (t, e) { return d(f(t, e[0]), e[1]) } function _ (t, e) { var n = e.layoutLength / (e.axisCount - 1); return {position: n * t, axisNameAvailableWidth: n, axisLabelShow: !0} } function b (t, e) { var n, i, a = e.layoutLength, r = e.axisExpandWidth, o = e.axisCount, s = e.axisCollapseWidth, l = e.winInnerIndices, u = s, c = !1; return t < l[0] ? (n = t * s, i = s) : t <= l[1] ? (n = e.axisExpandWindow0Pos + t * r - e.axisExpandWindow[0], u = r, c = !0) : (n = a - (o - 1 - t) * s, i = s), {position: n, axisNameAvailableWidth: u, axisLabelShow: c, nameTruncateMaxWidth: i} }y.prototype = {type: 'parallel', constructor: y, _init: function (t, e, n) { var i = t.dimensions, a = t.parallelAxisIndex; h(i, function (t, n) { var i = a[n], r = e.getComponent('parallelAxis', i), l = this._axesMap.set(t, new s(t, o.createScaleByModel(r), [0, 0], r.get('type'), i)), u = l.type === 'category'; l.onBand = u && r.get('boundaryGap'), l.inverse = r.get('inverse'), r.axis = l, l.model = r, l.coordinateSystem = r.coordinateSystem = this }, this) }, update: function (t, e) { this._updateAxesFromSeries(this._model, t) }, containPoint: function (t) { var e = this._makeLayoutInfo(), n = e.axisBase, i = e.layoutBase, a = e.pixelDimIndex, r = t[1 - a], o = t[a]; return r >= n && r <= n + e.axisLength && o >= i && o <= i + e.layoutLength }, getModel: function () { return this._model }, _updateAxesFromSeries: function (t, e) { e.eachSeries(function (n) { if (t.contains(n, e)) { var i = n.getData(); h(this.dimensions, function (t) { var e = this._axesMap.get(t); e.scale.unionExtentFromData(i, i.mapDimension(t)), o.niceScaleExtent(e.scale, e.model) }, this) } }, this) }, resize: function (t, e) { this._rect = r.getLayoutRect(t.getBoxLayoutParams(), {width: e.getWidth(), height: e.getHeight()}), this._layoutAxes() }, getRect: function () { return this._rect }, _makeLayoutInfo: function () { var t, e = this._model, n = this._rect, i = ['x', 'y'], a = ['width', 'height'], r = e.get('layout'), o = r === 'horizontal' ? 0 : 1, s = n[a[o]], l = [0, s], u = this.dimensions.length, c = x(e.get('axisExpandWidth'), l), h = x(e.get('axisExpandCount') || 0, [0, u]), d = e.get('axisExpandable') && u > 3 && u > h && h > 1 && c > 0 && s > 0, f = e.get('axisExpandWindow'); if (f)t = x(f[1] - f[0], l), f[1] = f[0] + t; else { t = x(c * (h - 1), l); var v = e.get('axisExpandCenter') || p(u / 2); f = [c * v - t / 2], f[1] = f[0] + t } var y = (s - t) / (u - h); y < 3 && (y = 0); var _ = [p(m(f[0] / c, 1)) + 1, g(m(f[1] / c, 1)) - 1], b = y / c * f[0]; return {layout: r, pixelDimIndex: o, layoutBase: n[i[o]], layoutLength: s, axisBase: n[i[1 - o]], axisLength: n[a[1 - o]], axisExpandable: d, axisExpandWidth: c, axisCollapseWidth: y, axisExpandWindow: f, axisCount: u, winInnerIndices: _, axisExpandWindow0Pos: b} }, _layoutAxes: function () { var t = this._rect, e = this._axesMap, n = this.dimensions, i = this._makeLayoutInfo(), r = i.layout; e.each(function (t) { var e = [0, i.axisLength], n = t.inverse ? 1 : 0; t.setExtent(e[n], e[1 - n]) }), h(n, function (e, n) { var o = (i.axisExpandable ? b : _)(n, i), s = {horizontal: {x: o.position, y: i.axisLength}, vertical: {x: 0, y: o.position}}, l = {horizontal: v / 2, vertical: 0}, u = [s[r].x + t.x, s[r].y + t.y], c = l[r], h = a.create(); a.rotate(h, h, c), a.translate(h, h, u), this._axesLayout[e] = {position: u, rotation: c, transform: h, axisNameAvailableWidth: o.axisNameAvailableWidth, axisLabelShow: o.axisLabelShow, nameTruncateMaxWidth: o.nameTruncateMaxWidth, tickDirection: 1, labelDirection: 1} }, this) }, getAxis: function (t) { return this._axesMap.get(t) }, dataToPoint: function (t, e) { return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t), e) }, eachActiveState: function (t, e, n, a) { n == null && (n = 0), a == null && (a = t.count()); var r = this._axesMap, o = this.dimensions, s = [], l = []; i.each(o, function (e) { s.push(t.mapDimension(e)), l.push(r.get(e).model) }); for (var u = this.hasAxisBrushed(), c = n; c < a; c++) { var h; if (u) { h = 'active'; for (var d = t.getValues(s, c), f = 0, p = o.length; f < p; f++) { var g = l[f].getActiveState(d[f]); if (g === 'inactive') { h = 'inactive'; break } } } else h = 'normal'; e(h, c) } }, hasAxisBrushed: function () { for (var t = this.dimensions, e = this._axesMap, n = !1, i = 0, a = t.length; i < a; i++)e.get(t[i]).model.getActiveState() !== 'normal' && (n = !0); return n }, axisCoordToPoint: function (t, e) { var n = this._axesLayout[e]; return l.applyTransform([t, 0], n.transform) }, getAxisLayout: function (t) { return i.clone(this._axesLayout[t]) }, getSlidedAxisExpandWindow: function (t) { var e = this._makeLayoutInfo(), n = e.pixelDimIndex, i = e.axisExpandWindow.slice(), a = i[1] - i[0], r = [0, e.axisExpandWidth * (e.axisCount - 1)]; if (!this.containPoint(t)) return {behavior: 'none', axisExpandWindow: i}; var o, s = t[n] - e.layoutBase - e.axisExpandWindow0Pos, l = 'slide', u = e.axisCollapseWidth, h = this._model.get('axisExpandSlideTriggerArea'), p = h[0] != null; if (u)p && u && s < a * h[0] ? (l = 'jump', o = s - a * h[2]) : p && u && s > a * (1 - h[0]) ? (l = 'jump', o = s - a * (1 - h[2])) : (o = s - a * h[1]) >= 0 && (o = s - a * (1 - h[1])) <= 0 && (o = 0), o *= e.axisExpandWidth / u, o ? c(o, i, r, 'all') : l = 'none'; else { a = i[1] - i[0]; var g = r[1] * s / a; i = [f(0, g - a / 2)], i[1] = d(r[1], i[0] + a), i[0] = i[1] - a } return {axisExpandWindow: i, behavior: l} }}; var w = y; t.exports = w }, d9f1: function (t, e, n) { var i = n('6d8b'), a = n('6cb7'), r = n('9e47'), o = n('2023'), s = a.extend({type: 'polarAxis', axis: null, getCoordSysModel: function () { return this.ecModel.queryComponents({mainType: 'polar', index: this.option.polarIndex, id: this.option.polarId})[0] }}); i.merge(s.prototype, o); var l = {angle: {startAngle: 90, clockwise: !0, splitNumber: 12, axisLabel: {rotate: !1}}, radius: {splitNumber: 5}}; function u (t, e) { return e.type || (e.data ? 'category' : 'value') }r('angle', s, u, l.angle), r('radius', s, u, l.radius) }, d9fc: function (t, e, n) { var i = n('cbe5'), a = i.extend({type: 'circle', shape: {cx: 0, cy: 0, r: 0}, buildPath: function (t, e, n) { n && t.moveTo(e.cx + e.r, e.cy), t.arc(e.cx, e.cy, e.r, 0, 2 * Math.PI, !0) }}); t.exports = a }, dae1: function (t, e, n) { var i = n('3eba'); n('928d'), n('b369'), n('4411'); var a = n('90c2'), r = n('9ca8'); i.registerVisual(a), i.registerLayout(r) }, db0e: function (t, e, n) { var i = n('3eba'); n('a8c6'), n('8344'), i.registerPreprocessor(function (t) { t.markPoint = t.markPoint || {} }) }, db9e: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('e86a'), o = n('2145'), s = n('2306'), l = n('4319'), u = n('80f0'), c = n('7919'), h = i.extendComponentView({type: 'toolbox', render: function (t, e, n, i) { var h = this.group; if (h.removeAll(), t.get('show')) { var f = +t.get('itemSize'), p = t.get('feature') || {}, g = this._features || (this._features = {}), m = []; a.each(p, function (t, e) { m.push(e) }), new u(this._featureNames || [], m).add(v).update(v).remove(a.curry(v, null)).execute(), this._featureNames = m, c.layout(h, t, n), h.add(c.makeBackground(h.getBoundingRect(), t)), h.eachChild(function (t) { var e = t.__title, i = t.hoverStyle; if (i && e) { var a = r.getBoundingRect(e, r.makeFont(i)), o = t.position[0] + h.position[0], s = t.position[1] + h.position[1] + f, l = !1; s + a.height > n.getHeight() && (i.textPosition = 'top', l = !0); var u = l ? -5 - a.height : f + 8; o + a.width / 2 > n.getWidth() ? (i.textPosition = ['100%', u], i.textAlign = 'right') : o - a.width / 2 < 0 && (i.textPosition = [0, u], i.textAlign = 'left') } }) } function v (a, r) { var s, u = m[a], c = m[r], h = p[u], f = new l(h, t, t.ecModel); if (u && !c) { if (d(u))s = {model: f, onclick: f.option.onclick, featureName: u}; else { var v = o.get(u); if (!v) return; s = new v(f, e, n) }g[u] = s } else { if (s = g[c], !s) return; s.model = f, s.ecModel = e, s.api = n }u || !c ? f.get('show') && !s.unusable ? (y(f, s, u), f.setIconStatus = function (t, e) { var n = this.option, i = this.iconPaths; n.iconStatus = n.iconStatus || {}, n.iconStatus[t] = e, i[t] && i[t].trigger(e) }, s.render && s.render(f, e, n, i)) : s.remove && s.remove(e, n) : s.dispose && s.dispose(e, n) } function y (i, r, o) { var l = i.getModel('iconStyle'), u = i.getModel('emphasis.iconStyle'), c = r.getIcons ? r.getIcons() : i.get('icon'), d = i.get('title') || {}; if (typeof c === 'string') { var p = c, g = d; c = {}, d = {}, c[o] = p, d[o] = g } var m = i.iconPaths = {}; a.each(c, function (o, c) { var p = s.createIcon(o, {}, {x: -f / 2, y: -f / 2, width: f, height: f}); p.setStyle(l.getItemStyle()), p.hoverStyle = u.getItemStyle(), s.setHoverStyle(p), t.get('showTitle') && (p.__title = d[c], p.on('mouseover', function () { var t = u.getItemStyle(); p.setStyle({text: d[c], textPosition: t.textPosition || 'bottom', textFill: t.fill || t.stroke || '#000', textAlign: t.textAlign || 'center'}) }).on('mouseout', function () { p.setStyle({textFill: null}) })), p.trigger(i.get('iconStatus.' + c) || 'normal'), h.add(p), p.on('click', a.bind(r.onclick, r, e, n, c)), m[c] = p }) } }, updateView: function (t, e, n, i) { a.each(this._features, function (t) { t.updateView && t.updateView(t.model, e, n, i) }) }, remove: function (t, e) { a.each(this._features, function (n) { n.remove && n.remove(t, e) }), this.group.removeAll() }, dispose: function (t, e) { a.each(this._features, function (n) { n.dispose && n.dispose(t, e) }) }}); function d (t) { return t.indexOf('my') === 0 }t.exports = h }, dc20: function (t, e, n) { var i = n('8727'), a = i.createElement, r = n('6d8b'), o = r.each, s = n('4942'), l = n('cbe5'), u = n('0da8'), c = n('76a5'), h = n('0c12'), d = n('b16f'), f = n('9fa3'), p = n('bcaa1'), g = n('3f8e'), m = g.path, v = g.image, y = g.text; function x (t) { return parseInt(t, 10) } function _ (t) { return t instanceof l ? m : t instanceof u ? v : t instanceof c ? y : m } function b (t, e) { return e && t && e.parentNode !== t } function w (t, e, n) { if (b(t, e) && n) { var i = n.nextSibling; i ? t.insertBefore(e, i) : t.appendChild(e) } } function S (t, e) { if (b(t, e)) { var n = t.firstChild; n ? t.insertBefore(e, n) : t.appendChild(e) } } function M (t, e) { e && t && e.parentNode === t && t.removeChild(e) } function I (t) { return t.__textSvgEl } function A (t) { return t.__svgEl } var T = function (t, e, n, i) { this.root = t, this.storage = e, this._opts = n = r.extend({}, n || {}); var o = a('svg'); o.setAttribute('xmlns', 'http://www.w3.org/2000/svg'), o.setAttribute('version', '1.1'), o.setAttribute('baseProfile', 'full'), o.style.cssText = 'user-select:none;position:absolute;left:0;top:0;', this.gradientManager = new d(i, o), this.clipPathManager = new f(i, o), this.shadowManager = new p(i, o); var s = document.createElement('div'); s.style.cssText = 'overflow:hidden;position:relative', this._svgRoot = o, this._viewport = s, t.appendChild(s), s.appendChild(o), this.resize(n.width, n.height), this._visibleList = [] }; function C (t) { return function () { s('In SVG mode painter not support method "' + t + '"') } }T.prototype = {constructor: T, getType: function () { return 'svg' }, getViewportRoot: function () { return this._viewport }, getViewportRootOffset: function () { var t = this.getViewportRoot(); if (t) return {offsetLeft: t.offsetLeft || 0, offsetTop: t.offsetTop || 0} }, refresh: function () { var t = this.storage.getDisplayList(!0); this._paintList(t) }, setBackgroundColor: function (t) { this._viewport.style.background = t }, _paintList: function (t) { this.gradientManager.markAllUnused(), this.clipPathManager.markAllUnused(), this.shadowManager.markAllUnused(); var e, n = this._svgRoot, i = this._visibleList, a = t.length, r = []; for (e = 0; e < a; e++) { var o = t[e], s = _(o), l = A(o) || I(o); o.invisible || (o.__dirty && (s && s.brush(o), this.clipPathManager.update(o), o.style && (this.gradientManager.update(o.style.fill), this.gradientManager.update(o.style.stroke), this.shadowManager.update(l, o)), o.__dirty = !1), r.push(o)) } var u, c = h(i, r); for (e = 0; e < c.length; e++) { var d = c[e]; if (d.removed) for (var f = 0; f < d.count; f++) { o = i[d.indices[f]], l = A(o); var p = I(o); M(n, l), M(n, p) } } for (e = 0; e < c.length; e++) { d = c[e]; if (d.added) for (f = 0; f < d.count; f++) { o = r[d.indices[f]], l = A(o), p = I(o); u ? w(n, l, u) : S(n, l), l ? w(n, p, l) : u ? w(n, p, u) : S(n, p), w(n, p, l), u = p || l || u, this.gradientManager.addWithoutUpdate(l, o), this.shadowManager.addWithoutUpdate(u, o), this.clipPathManager.markUsed(o) } else if (!d.removed) for (f = 0; f < d.count; f++) { o = r[d.indices[f]]; u = l = I(o) || A(o) || u, this.gradientManager.markUsed(o), this.gradientManager.addWithoutUpdate(l, o), this.shadowManager.markUsed(o), this.shadowManager.addWithoutUpdate(l, o), this.clipPathManager.markUsed(o) } } this.gradientManager.removeUnused(), this.clipPathManager.removeUnused(), this.shadowManager.removeUnused(), this._visibleList = r }, _getDefs: function (t) { var e = this._svgRoot, n = this._svgRoot.getElementsByTagName('defs'); if (n.length === 0) { if (t) { n = e.insertBefore(a('defs'), e.firstChild); return n.contains || (n.contains = function (t) { var e = n.children; if (!e) return !1; for (var i = e.length - 1; i >= 0; --i) if (e[i] === t) return !0; return !1 }), n } return null } return n[0] }, resize: function (t, e) { var n = this._viewport; n.style.display = 'none'; var i = this._opts; if (t != null && (i.width = t), e != null && (i.height = e), t = this._getSize(0), e = this._getSize(1), n.style.display = '', this._width !== t || this._height !== e) { this._width = t, this._height = e; var a = n.style; a.width = t + 'px', a.height = e + 'px'; var r = this._svgRoot; r.setAttribute('width', t), r.setAttribute('height', e) } }, getWidth: function () { return this._width }, getHeight: function () { return this._height }, _getSize: function (t) { var e = this._opts, n = ['width', 'height'][t], i = ['clientWidth', 'clientHeight'][t], a = ['paddingLeft', 'paddingTop'][t], r = ['paddingRight', 'paddingBottom'][t]; if (e[n] != null && e[n] !== 'auto') return parseFloat(e[n]); var o = this.root, s = document.defaultView.getComputedStyle(o); return (o[i] || x(s[n]) || x(o.style[n])) - (x(s[a]) || 0) - (x(s[r]) || 0) | 0 }, dispose: function () { this.root.innerHTML = '', this._svgRoot = this._viewport = this.storage = null }, clear: function () { this._viewport && this.root.removeChild(this._viewport) }, pathToDataUrl: function () { this.refresh(); var t = this._svgRoot.outerHTML; return 'data:image/svg+xml;charset=UTF-8,' + t }}, o(['getLayer', 'insertLayer', 'eachLayer', 'eachBuiltinLayer', 'eachOtherLayer', 'getLayers', 'modLayer', 'delLayer', 'clearLayer', 'toDataURL', 'pathToImage'], function (t) { T.prototype[t] = C(t) }); var D = T; t.exports = D }, dc2f: function (t, e) { var n = function (t, e) { this.image = t, this.repeat = e, this.type = 'pattern' }; n.prototype.getCanvasPattern = function (t) { return t.createPattern(this.image, this.repeat || 'repeat') }; var i = n; t.exports = i }, dcb3: function (t, e, n) { var i = n('6d8b'), a = n('625e'), r = n('2306'), o = n('cd33'), s = n('607d'), l = n('88b3'), u = n('e0d3'), c = u.makeInner, h = c(), d = i.clone, f = i.bind; function p () {} function g (t, e, n, i) { m(h(n).lastProp, i) || (h(n).lastProp = i, e ? r.updateProps(n, i, t) : (n.stopAnimation(), n.attr(i))) } function m (t, e) { if (i.isObject(t) && i.isObject(e)) { var n = !0; return i.each(e, function (e, i) { n = n && m(t[i], e) }), !!n } return t === e } function v (t, e) { t[e.get('label.show') ? 'show' : 'hide']() } function y (t) { return {position: t.position.slice(), rotation: t.rotation || 0} } function x (t, e, n) { var i = e.get('z'), a = e.get('zlevel'); t && t.traverse(function (t) { t.type !== 'group' && (i != null && (t.z = i), a != null && (t.zlevel = a), t.silent = n) }) }p.prototype = {_group: null, _lastGraphicKey: null, _handle: null, _dragging: !1, _lastValue: null, _lastStatus: null, _payloadInfo: null, animationThreshold: 15, render: function (t, e, n, a) { var o = e.get('value'), s = e.get('status'); if (this._axisModel = t, this._axisPointerModel = e, this._api = n, a || this._lastValue !== o || this._lastStatus !== s) { this._lastValue = o, this._lastStatus = s; var l = this._group, u = this._handle; if (!s || s === 'hide') return l && l.hide(), void (u && u.hide()); l && l.show(), u && u.show(); var c = {}; this.makeElOption(c, o, t, e, n); var h = c.graphicKey; h !== this._lastGraphicKey && this.clear(n), this._lastGraphicKey = h; var d = this._moveAnimation = this.determineAnimation(t, e); if (l) { var f = i.curry(g, e, d); this.updatePointerEl(l, c, f, e), this.updateLabelEl(l, c, f, e) } else l = this._group = new r.Group(), this.createPointerEl(l, c, t, e), this.createLabelEl(l, c, t, e), n.getZr().add(l); x(l, e, !0), this._renderHandle(o) } }, remove: function (t) { this.clear(t) }, dispose: function (t) { this.clear(t) }, determineAnimation: function (t, e) { var n = e.get('animation'), i = t.axis, a = i.type === 'category', r = e.get('snap'); if (!r && !a) return !1; if (n === 'auto' || n == null) { var s = this.animationThreshold; if (a && i.getBandWidth() > s) return !0; if (r) { var l = o.getAxisInfo(t).seriesDataCount, u = i.getExtent(); return Math.abs(u[0] - u[1]) / l > s } return !1 } return !0 === n }, makeElOption: function (t, e, n, i, a) {}, createPointerEl: function (t, e, n, i) { var a = e.pointer; if (a) { var o = h(t).pointerEl = new r[a.type](d(e.pointer)); t.add(o) } }, createLabelEl: function (t, e, n, i) { if (e.label) { var a = h(t).labelEl = new r.Rect(d(e.label)); t.add(a), v(a, i) } }, updatePointerEl: function (t, e, n) { var i = h(t).pointerEl; i && (i.setStyle(e.pointer.style), n(i, {shape: e.pointer.shape})) }, updateLabelEl: function (t, e, n, i) { var a = h(t).labelEl; a && (a.setStyle(e.label.style), n(a, {shape: e.label.shape, position: e.label.position}), v(a, i)) }, _renderHandle: function (t) { if (!this._dragging && this.updateHandleTransform) { var e, n = this._axisPointerModel, a = this._api.getZr(), o = this._handle, u = n.getModel('handle'), c = n.get('status'); if (!u.get('show') || !c || c === 'hide') return o && a.remove(o), void (this._handle = null); this._handle || (e = !0, o = this._handle = r.createIcon(u.get('icon'), {cursor: 'move', draggable: !0, onmousemove: function (t) { s.stop(t.event) }, onmousedown: f(this._onHandleDragMove, this, 0, 0), drift: f(this._onHandleDragMove, this), ondragend: f(this._onHandleDragEnd, this)}), a.add(o)), x(o, n, !1); var h = ['color', 'borderColor', 'borderWidth', 'opacity', 'shadowColor', 'shadowBlur', 'shadowOffsetX', 'shadowOffsetY']; o.setStyle(u.getItemStyle(null, h)); var d = u.get('size'); i.isArray(d) || (d = [d, d]), o.attr('scale', [d[0] / 2, d[1] / 2]), l.createOrUpdate(this, '_doDispatchAxisPointer', u.get('throttle') || 0, 'fixRate'), this._moveHandleToValue(t, e) } }, _moveHandleToValue: function (t, e) { g(this._axisPointerModel, !e && this._moveAnimation, this._handle, y(this.getHandleTransform(t, this._axisModel, this._axisPointerModel))) }, _onHandleDragMove: function (t, e) { var n = this._handle; if (n) { this._dragging = !0; var i = this.updateHandleTransform(y(n), [t, e], this._axisModel, this._axisPointerModel); this._payloadInfo = i, n.stopAnimation(), n.attr(y(i)), h(n).lastProp = null, this._doDispatchAxisPointer() } }, _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}]}) } }, _onHandleDragEnd: function (t) { this._dragging = !1; var e = this._handle; if (e) { var n = this._axisPointerModel.get('value'); this._moveHandleToValue(n), this._api.dispatchAction({type: 'hideTip'}) } }, getHandleTransform: null, updateHandleTransform: null, 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) }, doClear: function () {}, buildLabel: function (t, e, n) { return n = n || 0, {x: t[n], y: t[1 - n], width: e[n], height: e[1 - n]} }}, p.prototype.constructor = p, a.enableClassExtend(p); var _ = p; t.exports = _ }, dcea: function (t, e, n) { var i = n('6d8b'), a = n('e887'), r = n('2306'), o = n('cbe5'), s = ['itemStyle'], l = ['emphasis', 'itemStyle'], u = a.extend({type: 'boxplot', render: function (t, e, n) { var i = t.getData(), a = this.group, r = this._data; this._data || a.removeAll(); var o = t.get('layout') === 'horizontal' ? 1 : 0; i.diff(r).add(function (t) { if (i.hasValue(t)) { var e = i.getItemLayout(t), n = h(e, i, t, o, !0); i.setItemGraphicEl(t, n), a.add(n) } }).update(function (t, e) { var n = r.getItemGraphicEl(e); if (i.hasValue(t)) { var s = i.getItemLayout(t); n ? d(s, n, i, t) : n = h(s, i, t, o), a.add(n), i.setItemGraphicEl(t, n) } else a.remove(n) }).remove(function (t) { var e = r.getItemGraphicEl(t); e && a.remove(e) }).execute(), this._data = i }, remove: function (t) { var e = this.group, n = this._data; this._data = null, n && n.eachItemGraphicEl(function (t) { t && e.remove(t) }) }, dispose: i.noop}), c = o.extend({type: 'boxplotBoxPath', shape: {}, buildPath: function (t, e) { var n = e.points, i = 0; for (t.moveTo(n[i][0], n[i][1]), i++; i < 4; i++)t.lineTo(n[i][0], n[i][1]); for (t.closePath(); i < n.length; i++)t.moveTo(n[i][0], n[i][1]), i++, t.lineTo(n[i][0], n[i][1]) }}); function h (t, e, n, i, a) { var r = t.ends, o = new c({shape: {points: a ? f(r, i, t) : r}}); return d(t, o, e, n, a), o } function d (t, e, n, i, a) { var o = n.hostModel, u = r[a ? 'initProps' : 'updateProps']; u(e, {shape: {points: t.ends}}, o, i); var c = n.getItemModel(i), h = c.getModel(s), d = n.getItemVisual(i, 'color'), f = h.getItemStyle(['borderColor']); f.stroke = d, f.strokeNoScale = !0, e.useStyle(f), e.z2 = 100; var p = c.getModel(l).getItemStyle(); r.setHoverStyle(e, p) } function f (t, e, n) { return i.map(t, function (t) { return t = t.slice(), t[e] = n.initBaseline, t }) } var p = u; t.exports = p }, dd39: function (t, e, n) { n('6932'), n('3a56'), n('7dcf'), n('414c'), n('4b08'), n('2c17'), n('9e87') }, dd7e: function (t, e, n) { var i = n('6d8b'), a = n('edaf'), r = n('38a2'), o = a.extend({type: 'timeline.slider', defaultOption: {backgroundColor: 'rgba(0,0,0,0)', borderColor: '#ccc', borderWidth: 0, orient: 'horizontal', inverse: !1, tooltip: {trigger: 'item'}, symbol: 'emptyCircle', symbolSize: 10, lineStyle: {show: !0, width: 2, color: '#304654'}, label: {position: 'auto', show: !0, interval: 'auto', rotate: 0, color: '#304654'}, itemStyle: {color: '#304654', borderWidth: 1}, checkpointStyle: {symbol: 'circle', symbolSize: 13, color: '#c23531', borderWidth: 5, borderColor: 'rgba(194,53,49, 0.5)', animation: !0, animationDuration: 300, animationEasing: 'quinticInOut'}, controlStyle: {show: !0, showPlayBtn: !0, showPrevBtn: !0, showNextBtn: !0, itemSize: 22, itemGap: 12, position: 'left', playIcon: 'path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z', stopIcon: 'path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z', nextIcon: 'path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z', prevIcon: 'path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z', color: '#304654', borderColor: '#304654', borderWidth: 1}, emphasis: {label: {show: !0, color: '#c23531'}, itemStyle: {color: '#c23531'}, controlStyle: {color: '#c23531', borderColor: '#c23531', borderWidth: 2}}, data: []}}); i.mixin(o, r); var s = o; t.exports = s }, dded: function (t, e, n) { var i = n('6d8b'), a = n('42e5'), r = function (t, e, n, i, r) { this.x = t == null ? 0.5 : t, this.y = e == null ? 0.5 : e, this.r = n == null ? 0.5 : n, this.type = 'radial', this.global = r || !1, a.call(this, i) }; r.prototype = {constructor: r}, i.inherits(r, a); var o = r; t.exports = o }, de00: function (t, e) { var n = 2311; function i () { return n++ }t.exports = i }, de1c: function (t, e) { var n = {getBoxLayoutParams: function () { return {left: this.get('left'), top: this.get('top'), right: this.get('right'), bottom: this.get('bottom'), width: this.get('width'), height: this.get('height')} }}; t.exports = n }, de6e: function (t, e) { function n (t) { return t instanceof Array || (t = [t, t]), t } function i (t) { t.eachSeriesByType('graph', function (t) { var e = t.getGraph(), i = t.getEdgeData(), a = n(t.get('edgeSymbol')), r = n(t.get('edgeSymbolSize')), o = 'lineStyle.color'.split('.'), s = 'lineStyle.opacity'.split('.'); i.setVisual('fromSymbol', a && a[0]), i.setVisual('toSymbol', a && a[1]), i.setVisual('fromSymbolSize', r && r[0]), i.setVisual('toSymbolSize', r && r[1]), i.setVisual('color', t.get(o)), i.setVisual('opacity', t.get(s)), i.each(function (t) { var a = i.getItemModel(t), r = e.getEdgeByIndex(t), l = n(a.getShallow('symbol', !0)), u = n(a.getShallow('symbolSize', !0)), c = a.get(o), h = a.get(s); switch (c) { case 'source':c = r.node1.getVisual('color'); break; case 'target':c = r.node2.getVisual('color'); break }l[0] && r.setVisual('fromSymbol', l[0]), l[1] && r.setVisual('toSymbol', l[1]), u[0] && r.setVisual('fromSymbolSize', u[0]), u[1] && r.setVisual('toSymbolSize', u[1]), r.setVisual('color', c), r.setVisual('opacity', h) }) }) }t.exports = i }, df3a: function (t, e, n) { var i = n('6d8b'), a = n('6cb7'), r = n('282b'), o = n('9e47'), s = n('3842'), l = n('2023'), u = a.extend({type: 'baseParallelAxis', axis: null, activeIntervals: [], getAreaSelectStyle: function () { return r([['fill', 'color'], ['lineWidth', 'borderWidth'], ['stroke', 'borderColor'], ['width', 'width'], ['opacity', 'opacity']])(this.getModel('areaSelectStyle')) }, setActiveIntervals: function (t) { var e = this.activeIntervals = i.clone(t); if (e) for (var n = e.length - 1; n >= 0; n--)s.asc(e[n]) }, getActiveState: function (t) { var e = this.activeIntervals; if (!e.length) return 'normal'; if (t == null || isNaN(t)) return 'inactive'; if (e.length === 1) { var n = e[0]; if (n[0] <= t && t <= n[1]) return 'active' } else for (var i = 0, a = e.length; i < a; i++) if (e[i][0] <= t && t <= e[i][1]) return 'active'; return 'inactive' }}), c = {type: 'value', dim: null, areaSelectStyle: {width: 20, borderWidth: 1, borderColor: 'rgba(160,197,232)', color: 'rgba(160,197,232)', opacity: 0.3}, realtime: !0, z: 10}; function h (t, e) { return e.type || (e.data ? 'category' : 'value') }i.merge(u.prototype, l), o('parallel', u, h, c); var d = u; t.exports = d }, df70: function (t, e, n) { var i = n('3eba'), a = n('6fda'), r = n('29a8'), o = n('2145'), s = r.toolbox.restore; function l (t) { this.model = t }l.defaultOption = {show: !0, icon: 'M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5', title: s.title}; var u = l.prototype; u.onclick = function (t, e, n) { a.clear(t), e.dispatchAction({type: 'restore', from: this.uid}) }, o.register('restore', l), i.registerAction({type: 'restore', event: 'restore', update: 'prepareAndUpdate'}, function (t, e) { e.resetOption('recreate') }); var c = l; t.exports = c }, e057: function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('3eba')), r = n('6d8b'), o = n('2306'), s = n('c775'), l = s.getDefaultLabel, u = n('3301'), c = n('9d57'), h = c.getLayoutOnAxis, d = n('80f0'), f = n('aa3e'), p = n('00d8'), g = n('307b'), m = n('eaeb'), v = n('471e'), y = ['itemStyle'], x = ['emphasis', 'itemStyle'], _ = ['label'], b = ['emphasis', 'label'], w = 'e\0\0', S = {cartesian2d: f, geo: p, singleAxis: g, polar: m, calendar: v}; function M (t) { var e, n = t.type; if (n === 'path') { var i = t.shape; e = o.makePath(i.pathData, null, {x: i.x || 0, y: i.y || 0, width: i.width || 0, height: i.height || 0}, 'center'), e.__customPathData = t.pathData } else if (n === 'image')e = new o.Image({}), e.__customImagePath = t.style.image; else if (n === 'text')e = new o.Text({}), e.__customText = t.style.text; else { var a = o[n.charAt(0).toUpperCase() + n.slice(1)]; e = new a() } return e.__customGraphicType = n, e.name = t.name, e } function I (t, e, n, i, a, s) { var l = {}, u = n.style || {}; if (n.shape && (l.shape = r.clone(n.shape)), n.position && (l.position = n.position.slice()), n.scale && (l.scale = n.scale.slice()), n.origin && (l.origin = n.origin.slice()), n.rotation && (l.rotation = n.rotation), t.type === 'image' && n.style) { var c = l.style = {}; r.each(['x', 'y', 'width', 'height'], function (e) { A(e, c, u, t.style, s) }) } if (t.type === 'text' && n.style) { c = l.style = {}; r.each(['x', 'y'], function (e) { A(e, c, u, t.style, s) }), !u.hasOwnProperty('textFill') && u.fill && (u.textFill = u.fill), !u.hasOwnProperty('textStroke') && u.stroke && (u.textStroke = u.stroke) } if (t.type !== 'group' && (t.useStyle(u), s)) { t.style.opacity = 0; var h = u.opacity; h == null && (h = 1), o.initProps(t, {style: {opacity: h}}, i, e) }s ? t.attr(l) : o.updateProps(t, l, i, e), t.attr({z2: n.z2 || 0, silent: n.silent}), !1 !== n.styleEmphasis && o.setHoverStyle(t, n.styleEmphasis) } function A (t, e, n, i, a) { n[t] == null || a || (e[t] = n[t], n[t] = i[t]) } function T (t, e, n, i) { var a = t.get('renderItem'), s = t.coordinateSystem, u = {}; s && (u = s.prepareCustoms ? s.prepareCustoms() : S[s.type](s)); var c, d, f, p, g, m = r.defaults({getWidth: i.getWidth, getHeight: i.getHeight, getZr: i.getZr, getDevicePixelRatio: i.getDevicePixelRatio, value: I, style: A, styleEmphasis: T, visual: D, barLayout: L, currentSeriesIndices: P, font: k}, u.api || {}), v = {context: {}, seriesId: t.id, seriesName: t.name, seriesIndex: t.seriesIndex, coordSys: u.coordSys, dataInsideLength: e.count(), encode: C(t.getData())}, w = !0; return function (t) { return c = t, w = !0, a && a(r.defaults({dataIndexInside: t, dataIndex: e.getRawIndex(t)}, v), m) || {} }; function M (t) { t == null && (t = c), w && (d = e.getItemModel(t), f = d.getModel(_), p = d.getModel(b), g = e.getItemVisual(t, 'color'), w = !1) } function I (t, n) { return n == null && (n = c), e.get(e.getDimension(t || 0), n) } function A (n, i) { i == null && (i = c), M(i); var a = d.getModel(y).getItemStyle(); g != null && (a.fill = g); var s = e.getItemVisual(i, 'opacity'); return s != null && (a.opacity = s), o.setTextStyle(a, f, null, {autoColor: g, isRectText: !0}), a.text = f.getShallow('show') ? r.retrieve2(t.getFormattedLabel(i, 'normal'), l(e, i)) : null, n && r.extend(a, n), a } function T (n, i) { i == null && (i = c), M(i); var a = d.getModel(x).getItemStyle(); return o.setTextStyle(a, p, null, {isRectText: !0}, !0), a.text = p.getShallow('show') ? r.retrieve3(t.getFormattedLabel(i, 'emphasis'), t.getFormattedLabel(i, 'normal'), l(e, i)) : null, n && r.extend(a, n), a } function D (t, n) { return n == null && (n = c), e.getItemVisual(n, t) } function L (t) { if (s.getBaseAxis) { var e = s.getBaseAxis(); return h(r.defaults({axis: e}, t), i) } } function P () { return n.getCurrentSeriesIndices() } function k (t) { return o.getFont(t, n) } } function C (t) { var e = {}; return r.each(t.dimensions, function (n, i) { var a = t.getDimensionInfo(n); if (!a.isExtraCoord) { var r = a.coordDim, o = e[r] = e[r] || []; o[a.coordDimIndex] = i } }), e } function D (t, e, n, i, a, r) { return t = L(t, e, n, i, a, r), t && r.setItemGraphicEl(e, t), t } function L (t, e, n, i, a, r) { var o = n.type; if (!t || o === t.__customGraphicType || o === 'path' && n.pathData === t.__customPathData || o === 'image' && n.style.image === t.__customImagePath || o === 'text' && n.style.text === t.__customText || (a.remove(t), t = null), o != null) { var s = !t; if (!t && (t = M(n)), I(t, e, n, i, r, s), o === 'group') { var l = t.children() || [], u = n.children || []; if (n.diffChildrenByName)P({oldChildren: l, newChildren: u, dataIndex: e, animatableModel: i, group: t, data: r}); else { for (var c = 0; c < u.length; c++)L(t.childAt(c), e, u[c], i, t, r); for (;c < l.length; c++)l[c] && t.remove(l[c]) } } return a.add(t), t } } function P (t) { new d(t.oldChildren, t.newChildren, k, k, t).add(O).update(O).remove(R).execute() } function k (t, e) { var n = t && t.name; return n != null ? n : w + e } function O (t, e) { var n = this.context, i = t != null ? n.newChildren[t] : null, a = e != null ? n.oldChildren[e] : null; L(a, n.dataIndex, i, n.animatableModel, n.group, n.data) } function R (t) { var e = this.context, n = e.oldChildren[t]; n && e.group.remove(n) }a.extendSeriesModel({type: 'series.custom', dependencies: ['grid', 'polar', 'geo', 'singleAxis', 'calendar'], defaultOption: {coordinateSystem: 'cartesian2d', zlevel: 0, z: 2, legendHoverLink: !0}, getInitialData: function (t, e) { return u(this.getSource(), this) }}), a.extendChartView({type: 'custom', _data: null, render: function (t, e, n) { var i = this._data, a = t.getData(), r = this.group, o = T(t, a, e, n); this.group.removeAll(), a.diff(i).add(function (e) { D(null, e, o(e), t, r, a) }).update(function (e, n) { var s = i.getItemGraphicEl(n); D(s, e, o(e), t, r, a) }).remove(function (t) { var e = i.getItemGraphicEl(t); e && r.remove(e) }).execute(), this._data = a }, incrementalPrepareRender: function (t, e, n) { this.group.removeAll(), this._data = null }, incrementalRender: function (t, e, n, i) { var a = e.getData(), r = T(e, a, n, i); function o (t) { t.isGroup || (t.incremental = !0, t.useHoverLayer = !0) } for (var s = t.start; s < t.end; s++) { var l = D(null, s, r(s), e, this.group, a); l.traverse(o) } }, dispose: r.noop}) }, e073: function (t, e, n) { var i = n('6d8b'), a = n('e86a'), r = n('e0d3'), o = r.makeInner, s = n('697e'), l = s.makeLabelFormatter, u = o(); function c (t) { return t.type === 'category' ? d(t) : g(t) } function h (t, e) { return t.type === 'category' ? p(t, e) : {ticks: t.scale.getTicks()} } function d (t) { var e = t.getLabelModel(), n = f(t, e); return !e.get('show') || t.scale.isBlank() ? {labels: [], labelCategoryInterval: n.labelCategoryInterval} : n } function f (t, e) { var n, a, r = m(t, 'labels'), o = M(e), s = v(r, o); return s || (i.isFunction(o) ? n = S(t, o) : (a = o === 'auto' ? x(t) : o, n = w(t, a)), y(r, o, {labels: n, labelCategoryInterval: a})) } function p (t, e) { var n, a, r = m(t, 'ticks'), o = M(e), s = v(r, o); if (s) return s; if (e.get('show') && !t.scale.isBlank() || (n = []), i.isFunction(o))n = S(t, o, !0); else if (o === 'auto') { var l = f(t, t.getLabelModel()); a = l.labelCategoryInterval, n = i.map(l.labels, function (t) { return t.tickValue }) } else a = o, n = w(t, a, !0); return y(r, o, {ticks: n, tickCategoryInterval: a}) } function g (t) { var e = t.scale.getTicks(), n = l(t); return {labels: i.map(e, function (e, i) { return {formattedLabel: n(e, i), rawLabel: t.scale.getLabel(e), tickValue: e} })} } function m (t, e) { return u(t)[e] || (u(t)[e] = []) } function v (t, e) { for (var n = 0; n < t.length; n++) if (t[n].key === e) return t[n].value } function y (t, e, n) { return t.push({key: e, value: n}), n } function x (t) { var e = u(t).autoInterval; return e != null ? e : u(t).autoInterval = t.calculateCategoryInterval() } function _ (t) { var e = b(t), n = l(t), i = (e.axisRotate - e.labelRotate) / 180 * Math.PI, r = t.scale, o = r.getExtent(), s = r.count(); if (o[1] - o[0] < 1) return 0; var c = 1; s > 40 && (c = Math.max(1, Math.floor(s / 40))); for (var h = o[0], d = t.dataToCoord(h + 1) - t.dataToCoord(h), f = Math.abs(d * Math.cos(i)), p = Math.abs(d * Math.sin(i)), g = 0, m = 0; h <= o[1]; h += c) { var v = 0, y = 0, x = a.getBoundingRect(n(h), e.font, 'center', 'top'); v = 1.3 * x.width, y = 1.3 * x.height, g = Math.max(g, v, 7), m = Math.max(m, y, 7) } var _ = g / f, w = m / p; isNaN(_) && (_ = 1 / 0), isNaN(w) && (w = 1 / 0); var S = Math.max(0, Math.floor(Math.min(_, w))), M = u(t.model), I = M.lastAutoInterval, A = M.lastTickCount; return I != null && A != null && Math.abs(I - S) <= 1 && Math.abs(A - s) <= 1 && I > S ? S = I : (M.lastTickCount = s, M.lastAutoInterval = S), S } function b (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 w (t, e, n) { var i = l(t), a = t.scale, r = a.getExtent(), o = t.getLabelModel(), s = [], u = Math.max((e || 0) + 1, 1), c = r[0], h = a.count(); c !== 0 && u > 1 && h / u > 2 && (c = Math.round(Math.ceil(c / u) * u)); var d = {min: o.get('showMinLabel'), max: o.get('showMaxLabel')}; d.min && c !== r[0] && p(r[0]); for (var f = c; f <= r[1]; f += u)p(f); function p (t) { s.push(n ? t : {formattedLabel: i(t), rawLabel: a.getLabel(t), tickValue: t}) } return d.max && f !== r[1] && p(r[1]), s } function S (t, e, n) { var a = t.scale, r = l(t), o = []; return i.each(a.getTicks(), function (t) { var i = a.getLabel(t); e(t, i) && o.push(n ? t : {formattedLabel: r(t), rawLabel: i, tickValue: t}) }), o } function M (t) { var e = t.get('interval'); return e == null ? 'auto' : e }e.createAxisLabels = c, e.createAxisTicks = h, e.calculateCategoryInterval = _ }, e0d3: function (t, e, n) { var i = n('6d8b'), a = i.each, r = i.isObject, o = i.isArray, s = 'series\0'; function l (t) { return t instanceof Array ? t : t == null ? [] : [t] } function u (t, e, n) { if (t) { t[e] = t[e] || {}, t.emphasis = t.emphasis || {}, t.emphasis[e] = t.emphasis[e] || {}; for (var i = 0, a = n.length; i < a; i++) { var r = n[i]; !t.emphasis[e].hasOwnProperty(r) && t[e].hasOwnProperty(r) && (t.emphasis[e][r] = t[e][r]) } } } var c = ['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']; function h (t) { return !r(t) || o(t) || t instanceof Date ? t : t.value } function d (t) { return r(t) && !(t instanceof Array) } function f (t, e) { e = (e || []).slice(); var n = i.map(t || [], function (t, e) { return {exist: t} }); return a(e, function (t, i) { if (r(t)) { for (var a = 0; a < n.length; a++) if (!n[a].option && t.id != null && n[a].exist.id === t.id + '') return n[a].option = t, void (e[i] = null); for (a = 0; a < n.length; a++) { var o = n[a].exist; if (!n[a].option && (o.id == null || t.id == null) && t.name != null && !m(t) && !m(o) && o.name === t.name + '') return n[a].option = t, void (e[i] = null) } } }), a(e, function (t, e) { if (r(t)) { for (var i = 0; i < n.length; i++) { var a = n[i].exist; if (!n[i].option && !m(a) && t.id == null) { n[i].option = t; break } }i >= n.length && n.push({option: t}) } }), n } function p (t) { var e = i.createHashMap(); a(t, function (t, n) { var i = t.exist; i && e.set(i.id, t) }), a(t, function (t, n) { var a = t.option; i.assert(!a || a.id == null || !e.get(a.id) || e.get(a.id) === t, 'id duplicates: ' + (a && a.id)), a && a.id != null && e.set(a.id, t), !t.keyInfo && (t.keyInfo = {}) }), a(t, function (t, n) { var i = t.exist, a = t.option, o = t.keyInfo; if (r(a)) { if (o.name = a.name != null ? a.name + '' : i ? i.name : s + n, i)o.id = i.id; else if (a.id != null)o.id = a.id + ''; else { var l = 0; do { o.id = '\0' + o.name + '\0' + l++ } while (e.get(o.id)) }e.set(o.id, t) } }) } function g (t) { var e = t.name; return !(!e || !e.indexOf(s)) } function m (t) { return r(t) && t.id && (t.id + '').indexOf('\0_ec_\0') === 0 } function v (t, e) { var n = {}, i = {}; return a(t || [], n), a(e || [], i, n), [r(n), r(i)]; function a (t, e, n) { for (var i = 0, a = t.length; i < a; i++) for (var r = t[i].seriesId, o = l(t[i].dataIndex), s = n && n[r], u = 0, c = o.length; u < c; u++) { var h = o[u]; s && s[h] ? s[h] = null : (e[r] || (e[r] = {}))[h] = 1 } } function r (t, e) { var n = []; for (var i in t) if (t.hasOwnProperty(i) && t[i] != null) if (e)n.push(+i); else { var a = r(t[i], !0); a.length && n.push({seriesId: i, dataIndex: a}) } return n } } function y (t, e) { return e.dataIndexInside != null ? e.dataIndexInside : e.dataIndex != null ? i.isArray(e.dataIndex) ? i.map(e.dataIndex, function (e) { return t.indexOfRawIndex(e) }) : t.indexOfRawIndex(e.dataIndex) : e.name != null ? i.isArray(e.name) ? i.map(e.name, function (e) { return t.indexOfName(e) }) : t.indexOfName(e.name) : void 0 } function x () { var t = '__\0ec_inner_' + _++ + '_' + Math.random().toFixed(5); return function (e) { return e[t] || (e[t] = {}) } } var _ = 0; function b (t, e, n) { if (i.isString(e)) { var r = {}; r[e + 'Index'] = 0, e = r } var o = n && n.defaultMainType; !o || w(e, o + 'Index') || w(e, o + 'Id') || w(e, o + 'Name') || (e[o + 'Index'] = 0); var s = {}; return a(e, function (a, r) { a = e[r]; if (r !== 'dataIndex' && r !== 'dataIndexInside') { var o = r.match(/^(\w+)(Index|Id|Name)$/) || [], l = o[1], u = (o[2] || '').toLowerCase(); if (!(!l || !u || a == null || u === 'index' && a === 'none' || n && n.includeMainTypes && i.indexOf(n.includeMainTypes, l) < 0)) { var c = {mainType: l}; u === 'index' && a === 'all' || (c[u] = a); var h = t.queryComponents(c); s[l + 'Models'] = h, s[l + 'Model'] = h[0] } } else s[r] = a }), s } function w (t, e) { return t && t.hasOwnProperty(e) } function S (t, e, n) { t.setAttribute ? t.setAttribute(e, n) : t[e] = n } function M (t, e) { return t.getAttribute ? t.getAttribute(e) : t[e] }e.normalizeToArray = l, e.defaultEmphasis = u, e.TEXT_STYLE_OPTIONS = c, e.getDataItemValue = h, e.isDataItemOption = d, e.mappingToExists = f, e.makeIdAndName = p, e.isNameSpecified = g, e.isIdInner = m, e.compressBatches = v, e.queryDataIndex = y, e.makeInner = x, e.parseFinder = b, e.setAttribute = S, e.getAttribute = M }, e0d8: function (t, e, n) { var i = n('625e'); function a (t) { this._setting = t || {}, this._extent = [1 / 0, -1 / 0], this._interval = 0, this.init && this.init.apply(this, arguments) }a.prototype.parse = function (t) { return t }, a.prototype.getSetting = function (t) { return this._setting[t] }, a.prototype.contain = function (t) { var e = this._extent; return t >= e[0] && t <= e[1] }, a.prototype.normalize = function (t) { var e = this._extent; return e[1] === e[0] ? 0.5 : (t - e[0]) / (e[1] - e[0]) }, a.prototype.scale = function (t) { var e = this._extent; return t * (e[1] - e[0]) + e[0] }, a.prototype.unionExtent = function (t) { var e = this._extent; t[0] < e[0] && (e[0] = t[0]), t[1] > e[1] && (e[1] = t[1]) }, a.prototype.unionExtentFromData = function (t, e) { this.unionExtent(t.getApproximateExtent(e)) }, a.prototype.getExtent = function () { return this._extent.slice() }, a.prototype.setExtent = function (t, e) { var n = this._extent; isNaN(t) || (n[0] = t), isNaN(e) || (n[1] = e) }, a.prototype.isBlank = function () { return this._isBlank }, a.prototype.setBlank = function (t) { this._isBlank = t }, a.prototype.getLabel = null, i.enableClassExtend(a), i.enableClassManagement(a, {registerWhenExtend: !0}); var r = a; t.exports = r }, e1fc: function (t, e, n) { var i = n('6d8b'), a = n('d5b7'), r = n('9850'), o = function (t) { for (var e in t = t || {}, a.call(this, t), t)t.hasOwnProperty(e) && (this[e] = t[e]); this._children = [], this.__storage = null, this.__dirty = !0 }; o.prototype = {constructor: o, isGroup: !0, type: 'group', silent: !1, children: function () { return this._children.slice() }, childAt: function (t) { return this._children[t] }, childOfName: function (t) { for (var e = this._children, n = 0; n < e.length; n++) if (e[n].name === t) return e[n] }, childCount: function () { return this._children.length }, add: function (t) { return t && t !== this && t.parent !== this && (this._children.push(t), this._doAdd(t)), this }, addBefore: function (t, e) { if (t && t !== this && t.parent !== this && e && e.parent === this) { var n = this._children, i = n.indexOf(e); i >= 0 && (n.splice(i, 0, t), this._doAdd(t)) } return this }, _doAdd: function (t) { t.parent && t.parent.remove(t), t.parent = this; var e = this.__storage, n = this.__zr; e && e !== t.__storage && (e.addToStorage(t), t instanceof o && t.addChildrenToStorage(e)), n && n.refresh() }, remove: function (t) { var e = this.__zr, n = this.__storage, a = this._children, r = i.indexOf(a, t); return r < 0 ? this : (a.splice(r, 1), t.parent = null, n && (n.delFromStorage(t), t instanceof o && t.delChildrenFromStorage(n)), e && e.refresh(), this) }, removeAll: function () { var t, e, n = this._children, i = this.__storage; for (e = 0; e < n.length; e++)t = n[e], i && (i.delFromStorage(t), t instanceof o && t.delChildrenFromStorage(i)), t.parent = null; return n.length = 0, this }, eachChild: function (t, e) { for (var n = this._children, i = 0; i < n.length; i++) { var a = n[i]; t.call(e, a, i) } return this }, traverse: function (t, e) { for (var n = 0; n < this._children.length; n++) { var i = this._children[n]; t.call(e, i), i.type === 'group' && i.traverse(t, e) } return this }, addChildrenToStorage: function (t) { for (var e = 0; e < this._children.length; e++) { var n = this._children[e]; t.addToStorage(n), n instanceof o && n.addChildrenToStorage(t) } }, delChildrenFromStorage: function (t) { for (var e = 0; e < this._children.length; e++) { var n = this._children[e]; t.delFromStorage(n), n instanceof o && n.delChildrenFromStorage(t) } }, dirty: function () { return this.__dirty = !0, this.__zr && this.__zr.refresh(), this }, getBoundingRect: function (t) { for (var e = null, n = new r(0, 0, 0, 0), i = t || this._children, a = [], o = 0; o < i.length; o++) { var s = i[o]; if (!s.ignore && !s.invisible) { var l = s.getBoundingRect(), u = s.getLocalTransform(a); u ? (n.copy(l), n.applyTransform(u), e = e || n.clone(), e.union(n)) : (e = e || l.clone(), e.union(l)) } } return e || n }}, i.inherits(o, a); var s = o; t.exports = s }, e263: function (t, e, n) { var i = n('401b'), a = n('4a3f'), r = Math.min, o = Math.max, s = Math.sin, l = Math.cos, u = 2 * Math.PI, c = i.create(), h = i.create(), d = i.create(); function f (t, e, n) { if (t.length !== 0) { var i, a = t[0], s = a[0], l = a[0], u = a[1], c = a[1]; for (i = 1; i < t.length; i++)a = t[i], s = r(s, a[0]), l = o(l, a[0]), u = r(u, a[1]), c = o(c, a[1]); e[0] = s, e[1] = u, n[0] = l, n[1] = c } } function p (t, e, n, i, a, s) { a[0] = r(t, n), a[1] = r(e, i), s[0] = o(t, n), s[1] = o(e, i) } var g = [], m = []; function v (t, e, n, i, s, l, u, c, h, d) { var f, p = a.cubicExtrema, v = a.cubicAt, y = p(t, n, s, u, g); for (h[0] = 1 / 0, h[1] = 1 / 0, d[0] = -1 / 0, d[1] = -1 / 0, f = 0; f < y; f++) { var x = v(t, n, s, u, g[f]); h[0] = r(x, h[0]), d[0] = o(x, d[0]) } for (y = p(e, i, l, c, m), f = 0; f < y; f++) { var _ = v(e, i, l, c, m[f]); h[1] = r(_, h[1]), d[1] = o(_, d[1]) }h[0] = r(t, h[0]), d[0] = o(t, d[0]), h[0] = r(u, h[0]), d[0] = o(u, d[0]), h[1] = r(e, h[1]), d[1] = o(e, d[1]), h[1] = r(c, h[1]), d[1] = o(c, d[1]) } function y (t, e, n, i, s, l, u, c) { var h = a.quadraticExtremum, d = a.quadraticAt, f = o(r(h(t, n, s), 1), 0), p = o(r(h(e, i, l), 1), 0), g = d(t, n, s, f), m = d(e, i, l, p); u[0] = r(t, s, g), u[1] = r(e, l, m), c[0] = o(t, s, g), c[1] = o(e, l, m) } function x (t, e, n, a, r, o, f, p, g) { var m = i.min, v = i.max, y = Math.abs(r - o); if (y % u < 1e-4 && y > 1e-4) return p[0] = t - n, p[1] = e - a, g[0] = t + n, void (g[1] = e + a); if (c[0] = l(r) * n + t, c[1] = s(r) * a + e, h[0] = l(o) * n + t, h[1] = s(o) * a + e, m(p, c, h), v(g, c, h), r %= u, r < 0 && (r += u), o %= u, o < 0 && (o += u), r > o && !f ? o += u : r < o && f && (r += u), f) { var x = o; o = r, r = x } for (var _ = 0; _ < o; _ += Math.PI / 2)_ > r && (d[0] = l(_) * n + t, d[1] = s(_) * a + e, m(p, d, p), v(g, d, g)) }e.fromPoints = f, e.fromLine = p, e.fromCubic = v, e.fromQuadratic = y, e.fromArc = x }, e468: function (t, e, n) { var i = n('e46b'), a = n('6d8b'), r = n('2f45'), o = r.getDimensionTypeByAxis, s = {_baseAxisDim: null, getInitialData: function (t, e) { var n, r, s = e.getComponent('xAxis', this.get('xAxisIndex')), l = e.getComponent('yAxis', this.get('yAxisIndex')), u = s.get('type'), c = l.get('type'); u === 'category' ? (t.layout = 'horizontal', n = s.getOrdinalMeta(), r = !0) : c === 'category' ? (t.layout = 'vertical', n = l.getOrdinalMeta(), r = !0) : t.layout = t.layout || 'horizontal'; var h = ['x', 'y'], d = t.layout === 'horizontal' ? 0 : 1, f = this._baseAxisDim = h[d], p = h[1 - d], g = [s, l], m = g[d].get('type'), v = g[1 - d].get('type'), y = t.data; if (y && r) { var x = []; a.each(y, function (t, e) { var n; t.value && a.isArray(t.value) ? (n = t.value.slice(), t.value.unshift(e)) : a.isArray(t) ? (n = t.slice(), t.unshift(e)) : n = t, x.push(n) }), t.data = x } var _ = this.defaultValueDimensions; return i(this, {coordDimensions: [{name: f, type: o(m), ordinalMeta: n, otherDims: {tooltip: !1, itemName: 0}, dimsDef: ['base']}, {name: p, type: o(v), dimsDef: _.slice()}], dimensionsCount: _.length + 1}) }, getBaseAxis: function () { var t = this._baseAxisDim; return this.ecModel.getComponent(t + 'Axis', this.get(t + 'AxisIndex')).axis }}; e.seriesModelMixin = s }, e46b: function (t, e, n) { var i = n('b1d4'), a = n('6179'), r = n('6d8b'), o = r.extend, s = r.isArray; function l (t, e, n) { e = s(e) && {coordDimensions: e} || o({}, e); var r = t.getSource(), l = i(r, e), u = new a(l, t); return u.initData(r, n), u }t.exports = l }, e47b: function (t, e, n) { var i = n('e0d3'), a = i.makeInner, r = i.normalizeToArray, o = a(); function s (t, e) { for (var n = t.length, i = 0; i < n; i++) if (t[i].length > e) return t[i]; return t[n - 1] } var l = {clearColorPalette: function () { o(this).colorIdx = 0, o(this).colorNameMap = {} }, getColorFromPalette: function (t, e, n) { e = e || this; var i = o(e), a = i.colorIdx || 0, l = i.colorNameMap = i.colorNameMap || {}; if (l.hasOwnProperty(t)) return l[t]; var u = r(this.get('color', !0)), c = this.get('colorLayer', !0), h = n != null && c ? s(c, n) : u; if (h = h || u, h && h.length) { var d = h[a]; return t && (l[t] = d), i.colorIdx = (a + 1) % h.length, d } }}; t.exports = l }, e6cd: function (t, e, n) { var i = n('6d8b'); function a () { var t, e = [], n = {}; return {add: function (t, a, r, o, s) { return i.isString(o) && (s = o, o = 0), !n[t.id] && (n[t.id] = 1, e.push({el: t, target: a, time: r, delay: o, easing: s}), !0) }, done: function (e) { return t = e, this }, start: function () { for (var i = e.length, a = 0, r = e.length; a < r; a++) { var o = e[a]; o.el.animateTo(o.target, o.time, o.delay, o.easing, s) } return this; function s () { i--, i || (e.length = 0, n = {}, t && t()) } }} }e.createWrap = a }, e7aa: function (t, e, n) { var i = n('2306'), a = n('c775'), r = a.getDefaultLabel; function o (t, e, n, a, o, l, u) { var c = n.getModel('label'), h = n.getModel('emphasis.label'); i.setLabelStyle(t, e, c, h, {labelFetcher: o, labelDataIndex: l, defaultText: r(o.getData(), l), isRectText: !0, autoColor: a}), s(t), s(e) } function s (t, e) { t.textPosition === 'outside' && (t.textPosition = e) }e.setLabel = o }, e7d2: function (t, e, n) { var i = n('4a3f'); function a (t, e, n, a, r, o, s, l, u, c, h) { if (u === 0) return !1; var d = u; if (h > e + d && h > a + d && h > o + d && h > l + d || h < e - d && h < a - d && h < o - d && h < l - d || c > t + d && c > n + d && c > r + d && c > s + d || c < t - d && c < n - d && c < r - d && c < s - d) return !1; var f = i.cubicProjectPoint(t, e, n, a, r, o, s, l, c, h, null); return f <= d / 2 }e.containStroke = a }, e86a: function (t, e, n) { var i = n('9850'), a = n('5e76'), r = n('6d8b'), o = r.getContext, s = r.extend, l = r.retrieve2, u = r.retrieve3, c = r.trim, h = {}, d = 0, f = 5e3, p = /\{([a-zA-Z0-9_]+)\|([^}]*)\}/g, g = '12px sans-serif', m = {}; function v (t, e) { m[t] = e } function y (t, e) { e = e || g; var n = t + ':' + e; if (h[n]) return h[n]; for (var i = (t + '').split('\n'), a = 0, r = 0, o = i.length; r < o; r++)a = Math.max(L(i[r], e).width, a); return d > f && (d = 0, h = {}), d++, h[n] = a, a } function x (t, e, n, i, a, r, o) { return r ? b(t, e, n, i, a, r, o) : _(t, e, n, i, a, o) } function _ (t, e, n, a, r, o) { var s = P(t, e, r, o), l = y(t, e); r && (l += r[1] + r[3]); var u = s.outerHeight, c = w(0, l, n), h = S(0, u, a), d = new i(c, h, l, u); return d.lineHeight = s.lineHeight, d } function b (t, e, n, a, r, o, s) { var l = k(t, {rich: o, truncate: s, font: e, textAlign: n, textPadding: r}), u = l.outerWidth, c = l.outerHeight, h = w(0, u, n), d = S(0, c, a); return new i(h, d, u, c) } function w (t, e, n) { return n === 'right' ? t -= e : n === 'center' && (t -= e / 2), t } function S (t, e, n) { return n === 'middle' ? t -= e / 2 : n === 'bottom' && (t -= e), t } function M (t, e, n) { var i = e.x, a = e.y, r = e.height, o = e.width, s = r / 2, l = 'left', u = 'top'; switch (t) { case 'left':i -= n, a += s, l = 'right', u = 'middle'; break; case 'right':i += n + o, a += s, u = 'middle'; break; case 'top':i += o / 2, a -= n, l = 'center', u = 'bottom'; break; case 'bottom':i += o / 2, a += r + n, l = 'center'; break; case 'inside':i += o / 2, a += s, l = 'center', u = 'middle'; break; case 'insideLeft':i += n, a += s, u = 'middle'; break; case 'insideRight':i += o - n, a += s, l = 'right', u = 'middle'; break; case 'insideTop':i += o / 2, a += n, l = 'center'; break; case 'insideBottom':i += o / 2, a += r - n, l = 'center', u = 'bottom'; break; case 'insideTopLeft':i += n, a += n; break; case 'insideTopRight':i += o - n, a += n, l = 'right'; break; case 'insideBottomLeft':i += n, a += r - n, u = 'bottom'; break; case 'insideBottomRight':i += o - n, a += r - n, l = 'right', u = 'bottom'; break } return {x: i, y: a, textAlign: l, textVerticalAlign: u} } function I (t, e, n, i, a) { if (!e) return ''; var r = (t + '').split('\n'); a = A(e, n, i, a); for (var o = 0, s = r.length; o < s; o++)r[o] = T(r[o], a); return r.join('\n') } function A (t, e, n, i) { i = s({}, i), i.font = e; n = l(n, '...'); i.maxIterations = l(i.maxIterations, 2); var a = i.minChar = l(i.minChar, 0); i.cnCharWidth = y('国', e); var r = i.ascCharWidth = y('a', e); i.placeholder = l(i.placeholder, ''); for (var o = t = Math.max(0, t - 1), u = 0; u < a && o >= r; u++)o -= r; var c = y(n); return c > o && (n = '', c = 0), o = t - c, i.ellipsis = n, i.ellipsisWidth = c, i.contentWidth = o, i.containerWidth = t, i } function T (t, e) { var n = e.containerWidth, i = e.font, a = e.contentWidth; if (!n) return ''; var r = y(t, i); if (r <= n) return t; for (var o = 0; ;o++) { if (r <= a || o >= e.maxIterations) { t += e.ellipsis; break } var s = o === 0 ? C(t, a, e.ascCharWidth, e.cnCharWidth) : r > 0 ? Math.floor(t.length * a / r) : 0; t = t.substr(0, s), r = y(t, i) } return t === '' && (t = e.placeholder), t } function C (t, e, n, i) { for (var a = 0, r = 0, o = t.length; r < o && a < e; r++) { var s = t.charCodeAt(r); a += s >= 0 && s <= 127 ? n : i } return r } function D (t) { return y('国', t) } function L (t, e) { return m.measureText(t, e) } function P (t, e, n, i) { t != null && (t += ''); var a = D(e), r = t ? t.split('\n') : [], o = r.length * a, s = o; if (n && (s += n[0] + n[2]), t && i) { var l = i.outerHeight, u = i.outerWidth; if (l != null && s > l)t = '', r = []; else if (u != null) for (var c = A(u - (n ? n[1] + n[3] : 0), e, i.ellipsis, {minChar: i.minChar, placeholder: i.placeholder}), h = 0, d = r.length; h < d; h++)r[h] = T(r[h], c) } return {lines: r, height: o, outerHeight: s, lineHeight: a} } function k (t, e) { var n = {lines: [], width: 0, height: 0}; if (t != null && (t += ''), !t) return n; var i, r = p.lastIndex = 0; while ((i = p.exec(t)) != null) { var o = i.index; o > r && O(n, t.substring(r, o)), O(n, i[2], i[1]), r = p.lastIndex }r < t.length && O(n, t.substring(r, t.length)); var s = n.lines, c = 0, h = 0, d = [], f = e.textPadding, g = e.truncate, m = g && g.outerWidth, v = g && g.outerHeight; f && (m != null && (m -= f[1] + f[3]), v != null && (v -= f[0] + f[2])); for (var x = 0; x < s.length; x++) { for (var _ = s[x], b = 0, w = 0, S = 0; S < _.tokens.length; S++) { var M = _.tokens[S], A = M.styleName && e.rich[M.styleName] || {}, T = M.textPadding = A.textPadding, C = M.font = A.font || e.font, L = M.textHeight = l(A.textHeight, D(C)); if (T && (L += T[0] + T[2]), M.height = L, M.lineHeight = u(A.textLineHeight, e.textLineHeight, L), M.textAlign = A && A.textAlign || e.textAlign, M.textVerticalAlign = A && A.textVerticalAlign || 'middle', v != null && c + M.lineHeight > v) return {lines: [], width: 0, height: 0}; M.textWidth = y(M.text, C); var P = A.textWidth, k = P == null || P === 'auto'; if (typeof P === 'string' && P.charAt(P.length - 1) === '%')M.percentWidth = P, d.push(M), P = 0; else { if (k) { P = M.textWidth; var R = A.textBackgroundColor, E = R && R.image; E && (E = a.findExistImage(E), a.isImageReady(E) && (P = Math.max(P, E.width * L / E.height))) } var N = T ? T[1] + T[3] : 0; P += N; var z = m != null ? m - w : null; z != null && z < P && (!k || z < N ? (M.text = '', M.textWidth = P = 0) : (M.text = I(M.text, z - N, C, g.ellipsis, {minChar: g.minChar}), M.textWidth = y(M.text, C), P = M.textWidth + N)) }w += M.width = P, A && (b = Math.max(b, M.lineHeight)) }_.width = w, _.lineHeight = b, c += b, h = Math.max(h, w) }n.outerWidth = n.width = l(e.textWidth, h), n.outerHeight = n.height = l(e.textHeight, c), f && (n.outerWidth += f[1] + f[3], n.outerHeight += f[0] + f[2]); for (x = 0; x < d.length; x++) { M = d[x]; var V = M.percentWidth; M.width = parseInt(V, 10) / 100 * h } return n } function O (t, e, n) { for (var i = e === '', a = e.split('\n'), r = t.lines, o = 0; o < a.length; o++) { var s = a[o], l = {styleName: n, text: s, isLineHolder: !s && !i}; if (o)r.push({tokens: [l]}); else { var u = (r[r.length - 1] || (r[0] = {tokens: []})).tokens, c = u.length; c === 1 && u[0].isLineHolder ? u[0] = l : (s || !c || i) && u.push(l) } } } function R (t) { var e = (t.fontSize || t.fontFamily) && [t.fontStyle, t.fontWeight, (t.fontSize || 12) + 'px', t.fontFamily || 'sans-serif'].join(' '); return e && c(e) || t.textFont || t.font }m.measureText = function (t, e) { var n = o(); return n.font = e || g, n.measureText(t) }, e.DEFAULT_FONT = g, e.$override = v, e.getWidth = y, e.getBoundingRect = x, e.adjustTextX = w, e.adjustTextY = S, e.adjustTextPositionOnRect = M, e.truncateText = I, e.getLineHeight = D, e.measureText = L, e.parsePlainText = P, e.parseRichText = k, e.makeFont = R }, e887: function (t, e, n) { var i = n('6d8b'), a = i.each, r = n('e1fc'), o = n('8918'), s = n('625e'), l = n('e0d3'), u = n('f47d'), c = u.createTask, h = n('cccd'), d = l.makeInner(), f = h(); function p () { this.group = new r(), this.uid = o.getUID('viewChart'), this.renderTask = c({plan: y, reset: x}), this.renderTask.context = {view: this} }p.prototype = {type: 'chart', init: function (t, e) {}, render: function (t, e, n, i) {}, highlight: function (t, e, n, i) { v(t.getData(), i, 'emphasis') }, downplay: function (t, e, n, i) { v(t.getData(), i, 'normal') }, remove: function (t, e) { this.group.removeAll() }, dispose: function () {}, incrementalPrepareRender: null, incrementalRender: null, updateTransform: null}; var g = p.prototype; function m (t, e) { if (t && (t.trigger(e), t.type === 'group')) for (var n = 0; n < t.childCount(); n++)m(t.childAt(n), e) } function v (t, e, n) { var i = l.queryDataIndex(t, e); i != null ? a(l.normalizeToArray(i), function (e) { m(t.getItemGraphicEl(e), n) }) : t.eachItemGraphicEl(function (t) { m(t, n) }) } function y (t) { return f(t.model) } function x (t) { var e = t.model, n = t.ecModel, i = t.api, a = t.payload, r = e.pipelineContext.progressiveRender, o = t.view, s = a && d(a).updateMethod, l = r ? 'incrementalPrepareRender' : s && o[s] ? s : 'render'; return l !== 'render' && o[l](e, n, i, a), _[l] }g.updateView = g.updateLayout = g.updateVisual = function (t, e, n, i) { this.render(t, e, n, i) }, s.enableClassExtend(p, ['dispose']), s.enableClassManagement(p, {registerWhenExtend: !0}), p.markUpdateMethod = function (t, e) { d(t).updateMethod = e }; var _ = {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) }}}, b = p; t.exports = b }, e9f9: function (t, e, n) { var i = n('4942'), a = n('d3a4'), r = n('6d8b'), o = r.each; function s (t) { return parseInt(t, 10) } function l (t, e) { a.initVML(), this.root = t, this.storage = e; var n = document.createElement('div'), i = document.createElement('div'); n.style.cssText = 'display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;', i.style.cssText = 'position:absolute;left:0;top:0;', t.appendChild(n), this._vmlRoot = i, this._vmlViewport = n, this.resize(); var r = e.delFromStorage, o = e.addToStorage; e.delFromStorage = function (t) { r.call(e, t), t && t.onRemove && t.onRemove(i) }, e.addToStorage = function (t) { t.onAdd && t.onAdd(i), o.call(e, t) }, this._firstPaint = !0 } function u (t) { return function () { i('In IE8.0 VML mode painter not support method "' + t + '"') } }l.prototype = {constructor: l, getType: function () { return 'vml' }, getViewportRoot: function () { return this._vmlViewport }, getViewportRootOffset: function () { var t = this.getViewportRoot(); if (t) return {offsetLeft: t.offsetLeft || 0, offsetTop: t.offsetTop || 0} }, refresh: function () { var t = this.storage.getDisplayList(!0, !0); this._paintList(t) }, _paintList: function (t) { for (var e = this._vmlRoot, n = 0; n < t.length; n++) { var i = t[n]; i.invisible || i.ignore ? (i.__alreadyNotVisible || i.onRemove(e), i.__alreadyNotVisible = !0) : (i.__alreadyNotVisible && i.onAdd(e), i.__alreadyNotVisible = !1, i.__dirty && (i.beforeBrush && i.beforeBrush(), (i.brushVML || i.brush).call(i, e), i.afterBrush && i.afterBrush())), i.__dirty = !1 } this._firstPaint && (this._vmlViewport.appendChild(e), this._firstPaint = !1) }, resize: function (t, e) { t = t == null ? this._getWidth() : t, e = e == null ? this._getHeight() : e; if (this._width != t || this._height != e) { this._width = t, this._height = e; var n = this._vmlViewport.style; n.width = t + 'px', n.height = e + 'px' } }, dispose: function () { this.root.innerHTML = '', this._vmlRoot = this._vmlViewport = this.storage = null }, getWidth: function () { return this._width }, getHeight: function () { return this._height }, clear: function () { this._vmlViewport && this.root.removeChild(this._vmlViewport) }, _getWidth: function () { var t = this.root, e = t.currentStyle; return (t.clientWidth || s(e.width)) - s(e.paddingLeft) - s(e.paddingRight) | 0 }, _getHeight: function () { var t = this.root, e = t.currentStyle; return (t.clientHeight || s(e.height)) - s(e.paddingTop) - s(e.paddingBottom) | 0 }}, o(['getLayer', 'insertLayer', 'eachLayer', 'eachBuiltinLayer', 'eachOtherLayer', 'getLayers', 'modLayer', 'delLayer', 'clearLayer', 'toDataURL', 'pathToImage'], function (t) { l.prototype[t] = u(t) }); var c = l; t.exports = c }, eabf: function (t, e, n) { var i = n('6d8b'); function a (t) { t && i.isArray(t.series) && i.each(t.series, function (t) { i.isObject(t) && t.type === 'k' && (t.type = 'candlestick') }) }t.exports = a }, eaea: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('22d1'), o = n('60e3'), s = n('5f14'), l = n('2b8c'), u = n('e0d3'), c = n('3842'), h = s.mapVisual, d = s.eachVisual, f = a.isArray, p = a.each, g = c.asc, m = c.linearMap, v = a.noop, y = i.extendComponentModel({type: 'visualMap', dependencies: ['series'], stateList: ['inRange', 'outOfRange'], replacableOptionKeys: ['inRange', 'outOfRange', 'target', 'controller', 'color'], dataBound: [-1 / 0, 1 / 0], layoutMode: {type: 'box', ignoreSize: !0}, defaultOption: {show: !0, zlevel: 0, z: 4, seriesIndex: 'all', min: 0, max: 200, dimension: null, inRange: null, outOfRange: null, left: 0, right: null, top: null, bottom: 0, itemWidth: null, itemHeight: null, inverse: !1, orient: 'vertical', backgroundColor: 'rgba(0,0,0,0)', borderColor: '#ccc', contentColor: '#5793f3', inactiveColor: '#aaa', borderWidth: 0, padding: 5, textGap: 10, precision: 0, color: null, formatter: null, text: null, textStyle: {color: '#333'}}, init: function (t, e, n) { this._dataExtent, this.targetVisuals = {}, this.controllerVisuals = {}, this.textStyleModel, this.itemSize, this.mergeDefaultAndTheme(t, n) }, optionUpdated: function (t, e) { var n = this.option; r.canvasSupported || (n.realtime = !1), !e && l.replaceVisualOption(n, t, this.replacableOptionKeys), this.textStyleModel = this.getModel('textStyle'), this.resetItemSize(), this.completeVisualOption() }, resetVisual: function (t) { var e = this.stateList; t = a.bind(t, this), this.controllerVisuals = l.createVisualMappings(this.option.controller, e, t), this.targetVisuals = l.createVisualMappings(this.option.target, e, t) }, getTargetSeriesIndices: function () { var t = this.option.seriesIndex, e = []; return t == null || t === 'all' ? this.ecModel.eachSeries(function (t, n) { e.push(n) }) : e = u.normalizeToArray(t), e }, eachTargetSeries: function (t, e) { a.each(this.getTargetSeriesIndices(), function (n) { t.call(e, this.ecModel.getSeriesByIndex(n)) }, this) }, isTargetSeries: function (t) { var e = !1; return this.eachTargetSeries(function (n) { n === t && (e = !0) }), e }, formatValueText: function (t, e, n) { var i, r, o = this.option, s = o.precision, l = this.dataBound, u = o.formatter; return n = n || ['<', '>'], a.isArray(t) && (t = t.slice(), i = !0), r = e ? t : i ? [c(t[0]), c(t[1])] : c(t), a.isString(u) ? u.replace('{value}', i ? r[0] : r).replace('{value2}', i ? r[1] : r) : a.isFunction(u) ? i ? u(t[0], t[1]) : u(t) : i ? t[0] === l[0] ? n[0] + ' ' + r[1] : t[1] === l[1] ? n[1] + ' ' + r[0] : r[0] + ' - ' + r[1] : r; function c (t) { return t === l[0] ? 'min' : t === l[1] ? 'max' : (+t).toFixed(Math.min(s, 20)) } }, resetExtent: function () { var t = this.option, e = g([t.min, t.max]); this._dataExtent = e }, getDataDimension: function (t) { var e = this.option.dimension, n = t.dimensions; if (e != null || n.length) { if (e != null) return t.getDimension(e); for (var i = t.dimensions, a = i.length - 1; a >= 0; a--) { var r = i[a], o = t.getDimensionInfo(r); if (!o.isCalculationCoord) return r } } }, getExtent: function () { return this._dataExtent.slice() }, completeVisualOption: function () { var t = this.ecModel, e = this.option, n = {inRange: e.inRange, outOfRange: e.outOfRange}, i = e.target || (e.target = {}), r = e.controller || (e.controller = {}); a.merge(i, n), a.merge(r, n); var l = this.isCategory(); function u (n) { f(e.color) && !n.inRange && (n.inRange = {color: e.color.slice().reverse()}), n.inRange = n.inRange || {color: t.get('gradientColor')}, p(this.stateList, function (t) { var e = n[t]; if (a.isString(e)) { var i = o.get(e, 'active', l); i ? (n[t] = {}, n[t][e] = i) : delete n[t] } }, this) } function c (t, e, n) { var i = t[e], a = t[n]; i && !a && (a = t[n] = {}, p(i, function (t, e) { if (s.isValidType(e)) { var n = o.get(e, 'inactive', l); n != null && (a[e] = n, e !== 'color' || a.hasOwnProperty('opacity') || a.hasOwnProperty('colorAlpha') || (a.opacity = [0, 0])) } })) } function g (t) { var e = (t.inRange || {}).symbol || (t.outOfRange || {}).symbol, n = (t.inRange || {}).symbolSize || (t.outOfRange || {}).symbolSize, i = this.get('inactiveColor'); p(this.stateList, function (r) { var o = this.itemSize, s = t[r]; s || (s = t[r] = {color: l ? i : [i]}), s.symbol == null && (s.symbol = e && a.clone(e) || (l ? 'roundRect' : ['roundRect'])), s.symbolSize == null && (s.symbolSize = n && a.clone(n) || (l ? o[0] : [o[0], o[0]])), s.symbol = h(s.symbol, function (t) { return t === 'none' || t === 'square' ? 'roundRect' : t }); var u = s.symbolSize; if (u != null) { var c = -1 / 0; d(u, function (t) { t > c && (c = t) }), s.symbolSize = h(u, function (t) { return m(t, [0, c], [0, o[0]], !0) }) } }, this) }u.call(this, i), u.call(this, r), c.call(this, i, 'inRange', 'outOfRange'), g.call(this, r) }, resetItemSize: function () { this.itemSize = [parseFloat(this.get('itemWidth')), parseFloat(this.get('itemHeight'))] }, isCategory: function () { return !!this.option.categories }, setSelected: v, getValueState: v, getVisualMeta: v}), x = y; t.exports = x }, eaeb: function (t, e, n) { var i = n('6d8b'); function a (t, e) { return i.map(['Radius', 'Angle'], function (n, i) { var a = this['get' + n + 'Axis'](), r = e[i], o = t[i] / 2, s = 'dataTo' + n, l = a.type === 'category' ? a.getBandWidth() : Math.abs(a[s](r - o) - a[s](r + o)); return n === 'Angle' && (l = l * Math.PI / 180), l }, this) } function r (t) { var e = t.getRadiusAxis(), n = t.getAngleAxis(), r = e.getExtent(); return r[0] > r[1] && r.reverse(), {coordSys: {type: 'polar', cx: t.cx, cy: t.cy, r: r[1], r0: r[0]}, api: {coord: i.bind(function (i) { var a = e.dataToRadius(i[0]), r = n.dataToAngle(i[1]), o = t.coordToPoint([a, r]); return o.push(a, r * Math.PI / 180), o }), size: i.bind(a, t)}} }t.exports = r }, eb6b: function (t, e, n) { var i = n('6d8b'), a = n('e0d3'), r = a.makeInner, o = n('cd33'), s = n('133d'), l = i.each, u = i.curry, c = r(); function h (t, e, n) { var a = t.currTrigger, r = [t.x, t.y], o = t, c = t.dispatchAction || i.bind(n.dispatchAction, n), h = e.getComponent('axisPointer').coordSysAxesInfo; if (h) { b(r) && (r = s({seriesIndex: o.seriesIndex, dataIndex: o.dataIndex}, e).point); var f = b(r), w = o.axesInfo, S = h.axesInfo, M = a === 'leave' || b(r), I = {}, A = {}, T = {list: [], map: {}}, C = {showPointer: u(p, A), showTooltip: u(g, T)}; l(h.coordSysMap, function (t, e) { var n = f || t.containPoint(r); l(h.coordSysAxesInfo[e], function (t, e) { var i = t.axis, a = x(w, t); if (!M && n && (!w || a)) { var o = a && a.value; o != null || f || (o = i.pointToData(r)), o != null && d(t, o, C, !1, I) } }) }); var D = {}; return l(S, function (t, e) { var n = t.linkGroup; n && !A[e] && l(n.axesInfo, function (e, i) { var a = A[i]; if (e !== t && a) { var r = a.value; n.mapper && (r = t.axis.scale.parse(n.mapper(r, _(e), _(t)))), D[t.key] = r } }) }), l(D, function (t, e) { d(S[e], t, C, !0, I) }), m(A, S, I), v(T, r, t, c), y(S, c, n), I } } function d (t, e, n, a, r) { var o = t.axis; if (!o.scale.isBlank() && o.containData(e)) if (t.involveSeries) { var s = f(e, t), l = s.payloadBatch, u = s.snapToValue; l[0] && r.seriesIndex == null && i.extend(r, l[0]), !a && t.snap && o.containData(u) && u != null && (e = u), n.showPointer(t, e, l, r), n.showTooltip(t, s, u) } else n.showPointer(t, e) } function f (t, e) { var n = e.axis, i = n.dim, a = t, r = [], o = Number.MAX_VALUE, s = -1; return l(e.seriesModels, function (e, u) { var c, h, d = e.getData().mapDimension(i, !0); if (e.getAxisTooltipData) { var f = e.getAxisTooltipData(d, t, n); h = f.dataIndices, c = f.nestestValue } else { if (h = e.getData().indicesOfNearest(d[0], t, n.type === 'category' ? 0.5 : null), !h.length) return; c = e.getData().get(d[0], h[0]) } if (c != null && isFinite(c)) { var p = t - c, g = Math.abs(p); g <= o && ((g < o || p >= 0 && s < 0) && (o = g, s = p, a = c, r.length = 0), l(h, function (t) { r.push({seriesIndex: e.seriesIndex, dataIndexInside: t, dataIndex: e.getData().getRawIndex(t)}) })) } }), {payloadBatch: r, snapToValue: a} } function p (t, e, n, i) { t[e.key] = {value: n, payloadBatch: i} } function g (t, e, n, i) { var a = n.payloadBatch, r = e.axis, s = r.model, l = e.axisPointerModel; if (e.triggerTooltip && a.length) { var u = e.coordSys.model, c = o.makeKey(u), h = t.map[c]; h || (h = t.map[c] = {coordSysId: u.id, coordSysIndex: u.componentIndex, coordSysType: u.type, coordSysMainType: u.mainType, dataByAxis: []}, t.list.push(h)), h.dataByAxis.push({axisDim: r.dim, axisIndex: s.componentIndex, axisType: s.type, axisId: s.id, value: i, valueLabelOpt: {precision: l.get('label.precision'), formatter: l.get('label.formatter')}, seriesDataIndices: a.slice()}) } } function m (t, e, n) { var i = n.axesInfo = []; l(e, function (e, n) { var a = e.axisPointerModel.option, r = t[n]; r ? (!e.useHandle && (a.status = 'show'), a.value = r.value, a.seriesDataIndices = (r.payloadBatch || []).slice()) : !e.useHandle && (a.status = 'hide'), a.status === 'show' && i.push({axisDim: e.axis.dim, axisIndex: e.axis.model.componentIndex, value: a.value}) }) } function v (t, e, n, i) { if (!b(e) && t.list.length) { var a = ((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: a.dataIndexInside, dataIndex: a.dataIndex, seriesIndex: a.seriesIndex, dataByCoordSys: t.list}) } else i({type: 'hideTip'}) } function y (t, e, n) { var a = n.getZr(), r = 'axisPointerLastHighlights', o = c(a)[r] || {}, s = c(a)[r] = {}; l(t, function (t, e) { var n = t.axisPointerModel.option; n.status === 'show' && l(n.seriesDataIndices, function (t) { var e = t.seriesIndex + ' | ' + t.dataIndex; s[e] = t }) }); var u = [], h = []; i.each(o, function (t, e) { !s[e] && h.push(t) }), i.each(s, function (t, e) { !o[e] && u.push(t) }), h.length && n.dispatchAction({type: 'downplay', escapeConnect: !0, batch: h}), u.length && n.dispatchAction({type: 'highlight', escapeConnect: !0, batch: u}) } function x (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 _ (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 b (t) { return !t || t[0] == null || isNaN(t[0]) || t[1] == null || isNaN(t[1]) }t.exports = h }, ebf9: function (t, e, n) { var i = n('3eba'); i.registerAction('legendScroll', 'legendscroll', function (t, e) { var n = t.scrollDataIndex; n != null && e.eachComponent({mainType: 'legend', subType: 'scroll', query: t}, function (t) { t.setScrollDataIndex(n) }) }) }, ec02: function (t, e, n) { var i = n('6d8b'), a = n('84ce'), r = function (t, e, n, i, r) { a.call(this, t, e, n), this.type = i || 'value', this.position = r || 'bottom' }; r.prototype = {constructor: r, index: 0, getAxesOnZeroOf: null, model: null, isHorizontal: function () { var t = this.position; return t === 'top' || t === 'bottom' }, getGlobalExtent: function (t) { var e = this.getExtent(); return e[0] = this.toGlobalCoord(e[0]), e[1] = this.toGlobalCoord(e[1]), t && e[0] > e[1] && e.reverse(), e }, getOtherAxis: function () { this.grid.getOtherAxis() }, pointToData: function (t, e) { return this.coordToData(this.toLocalCoord(t[this.dim === 'x' ? 0 : 1]), e) }, toLocalCoord: null, toGlobalCoord: null}, i.inherits(r, a); var o = r; t.exports = o }, ec6f: function (t, e, n) { var i = n('6d8b'), a = i.createHashMap, r = i.isTypedArray, o = n('625e'), s = o.enableClassCheck, l = n('93d0'), u = l.SOURCE_FORMAT_ORIGINAL, c = l.SERIES_LAYOUT_BY_COLUMN, h = l.SOURCE_FORMAT_UNKNOWN, d = l.SOURCE_FORMAT_TYPED_ARRAY, f = l.SOURCE_FORMAT_KEYED_COLUMNS; function p (t) { this.fromDataset = t.fromDataset, this.data = t.data || (t.sourceFormat === f ? {} : []), this.sourceFormat = t.sourceFormat || h, this.seriesLayoutBy = t.seriesLayoutBy || c, this.dimensionsDefine = t.dimensionsDefine, this.encodeDefine = t.encodeDefine && a(t.encodeDefine), this.startIndex = t.startIndex || 0, this.dimensionsDetectCount = t.dimensionsDetectCount }p.seriesDataToSource = function (t) { return new p({data: t, sourceFormat: r(t) ? d : u, fromDataset: !1}) }, s(p); var g = p; t.exports = g }, ecf8: function (t, e, n) { var i = n('6d8b'), a = n('3842'), r = a.parsePercent, o = i.each; function s (t) { var e = l(t); o(e, function (t) { var e = t.seriesModels; e.length && (u(t), o(e, function (e, n) { c(e, t.boxOffsetList[n], t.boxWidthList[n]) })) }) } function l (t) { var e = [], n = []; return t.eachSeriesByType('boxplot', function (t) { var a = t.getBaseAxis(), r = i.indexOf(n, a); r < 0 && (r = n.length, n[r] = a, e[r] = {axis: a, seriesModels: []}), e[r].seriesModels.push(t) }), e } function u (t) { var e, n, a = t.axis, s = t.seriesModels, l = s.length, u = t.boxWidthList = [], c = t.boxOffsetList = [], h = []; if (a.type === 'category')n = a.getBandWidth(); else { var d = 0; o(s, function (t) { d = Math.max(d, t.getData().count()) }), e = a.getExtent(), Math.abs(e[1] - e[0]) }o(s, function (t) { var e = t.get('boxWidth'); i.isArray(e) || (e = [e, e]), h.push([r(e[0], n) || 0, r(e[1], n) || 0]) }); var f = 0.8 * n - 2, p = f / l * 0.3, g = (f - p * (l - 1)) / l, m = g / 2 - f / 2; o(s, function (t, e) { c.push(m), m += p + g, u.push(Math.min(Math.max(g, h[e][0]), h[e][1])) }) } function c (t, e, n) { var i = t.coordinateSystem, a = t.getData(), r = n / 2, o = t.get('layout') === 'horizontal' ? 0 : 1, s = 1 - o, l = ['x', 'y'], u = a.mapDimension(l[o]), c = a.mapDimension(l[s], !0); if (!(u == null || c.length < 5)) for (var h = 0; h < a.count(); h++) { var d = a.get(u, h), f = x(d, c[2], h), p = x(d, c[0], h), g = x(d, c[1], h), m = x(d, c[3], h), v = x(d, c[4], h), y = []; _(y, g, 0), _(y, m, 1), y.push(p, g, v, m), b(y, p), b(y, v), b(y, f), a.setItemLayout(h, {initBaseline: f[s], ends: y}) } function x (t, n, r) { var l, u = a.get(n, r), c = []; return c[o] = t, c[s] = u, isNaN(t) || isNaN(u) ? l = [NaN, NaN] : (l = i.dataToPoint(c), l[o] += e), l } function _ (t, e, n) { var i = e.slice(), a = e.slice(); i[o] += r, a[o] -= r, n ? t.push(i, a) : t.push(a, i) } function b (t, e) { var n = e.slice(), i = e.slice(); n[o] -= r, i[o] += r, t.push(n, i) } }t.exports = s }, ed21: function (t, e, n) { var i = n('2cf4'), a = i.devicePixelRatio, r = n('6d8b'), o = n('4942'), s = n('9850'), l = n('04f6'), u = n('5e68'), c = n('98b7'), h = n('0da8'), d = n('22d1'), f = 1e5, p = 314159, g = 0.01, m = 0.001; function v (t) { return parseInt(t, 10) } function y (t) { return !!t && (!!t.__builtin__ || typeof t.resize === 'function' && typeof t.refresh === 'function') } var x = new s(0, 0, 0, 0), _ = new s(0, 0, 0, 0); function b (t, e, n) { return x.copy(t.getBoundingRect()), t.transform && x.applyTransform(t.transform), _.width = e, _.height = n, !x.intersect(_) } function w (t, e) { if (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 } function S (t, e) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.setTransform(e), e.beginPath(), i.buildPath(e, i.shape), e.clip(), i.restoreTransform(e) } } function M (t, e) { var n = document.createElement('div'); return n.style.cssText = ['position:relative', 'overflow:hidden', 'width:' + t + 'px', 'height:' + e + 'px', 'padding:0', 'margin:0', 'border-width:0'].join(';') + ';', n } var I = function (t, e, n) { this.type = 'canvas'; var i = !t.nodeName || t.nodeName.toUpperCase() === 'CANVAS'; this._opts = n = r.extend({}, n || {}), this.dpr = n.devicePixelRatio || a, this._singleCanvas = i, this.root = t; var o = t.style; o && (o['-webkit-tap-highlight-color'] = 'transparent', o['-webkit-user-select'] = o['user-select'] = o['-webkit-touch-callout'] = 'none', t.innerHTML = ''), this.storage = e; var s = this._zlevelList = [], l = this._layers = {}; if (this._layerConfig = {}, this._needsManuallyCompositing = !1, i) { var c = t.width, h = t.height; n.width != null && (c = n.width), n.height != null && (h = n.height), this.dpr = n.devicePixelRatio || 1, t.width = c * this.dpr, t.height = h * this.dpr, this._width = c, this._height = h; var d = new u(t, this, this.dpr); d.__builtin__ = !0, d.initContext(), l[p] = d, d.zlevel = p, s.push(p), this._domRoot = t } else { this._width = this._getSize(0), this._height = this._getSize(1); var f = this._domRoot = M(this._width, this._height); t.appendChild(f) } this._hoverlayer = null, this._hoverElements = [] }; I.prototype = {constructor: I, getType: function () { return 'canvas' }, isSingleCanvas: function () { return this._singleCanvas }, getViewportRoot: function () { return this._domRoot }, getViewportRootOffset: function () { var t = this.getViewportRoot(); if (t) return {offsetLeft: t.offsetLeft || 0, offsetTop: t.offsetTop || 0} }, refresh: function (t) { var e = this.storage.getDisplayList(!0), n = this._zlevelList; this._redrawId = Math.random(), this._paintList(e, t, this._redrawId); for (var i = 0; i < n.length; i++) { var a = n[i], r = this._layers[a]; if (!r.__builtin__ && r.refresh) { var o = i === 0 ? this._backgroundColor : null; r.refresh(o) } } return this.refreshHover(), this }, addHover: function (t, e) { if (!t.__hoverMir) { var n = new t.constructor({style: t.style, shape: t.shape}); n.__from = t, t.__hoverMir = n, n.setStyle(e), this._hoverElements.push(n) } }, removeHover: function (t) { var e = t.__hoverMir, n = this._hoverElements, i = r.indexOf(n, e); i >= 0 && n.splice(i, 1), t.__hoverMir = null }, clearHover: function (t) { for (var e = this._hoverElements, n = 0; n < e.length; n++) { var i = e[n].__from; i && (i.__hoverMir = null) }e.length = 0 }, refreshHover: function () { var t = this._hoverElements, e = t.length, n = this._hoverlayer; if (n && n.clear(), e) { l(t, this.storage.displayableSortFunc), n || (n = this._hoverlayer = this.getLayer(f)); var i = {}; n.ctx.save(); for (var a = 0; a < e;) { var r = t[a], o = r.__from; o && o.__zr ? (a++, o.invisible || (r.transform = o.transform, r.invTransform = o.invTransform, r.__clipPaths = o.__clipPaths, this._doPaintEl(r, n, !0, i))) : (t.splice(a, 1), o.__hoverMir = null, e--) }n.ctx.restore() } }, getHoverLayer: function () { return this.getLayer(f) }, _paintList: function (t, e, n) { if (this._redrawId === n) { e = e || !1, this._updateLayerStatus(t); var i = this._doPaintList(t, e); if (this._needsManuallyCompositing && this._compositeManually(), !i) { var a = this; c(function () { a._paintList(t, e, n) }) } } }, _compositeManually: function () { var t = this.getLayer(p).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) }) }, _doPaintList: function (t, e) { for (var n = [], i = 0; i < this._zlevelList.length; i++) { var a = this._zlevelList[i], o = this._layers[a]; o.__builtin__ && o !== this._hoverlayer && (o.__dirty || e) && n.push(o) } for (var s = !0, l = 0; l < n.length; l++) { o = n[l]; var u = o.ctx, c = {}; u.save(); var h = e ? o.__startIndex : o.__drawIndex, f = !e && o.incremental && Date.now, p = f && Date.now(), g = o.zlevel === this._zlevelList[0] ? this._backgroundColor : null; if (o.__startIndex === o.__endIndex)o.clear(!1, g); else if (h === o.__startIndex) { var m = t[h]; m.incremental && m.notClear && !e || o.clear(!1, g) }h === -1 && (console.error('For some unknown reason. drawIndex is -1'), h = o.__startIndex); for (var v = h; v < o.__endIndex; v++) { var y = t[v]; if (this._doPaintEl(y, o, e, c), y.__dirty = !1, f) { var x = Date.now() - p; if (x > 15) break } }o.__drawIndex = v, o.__drawIndex < o.__endIndex && (s = !1), c.prevElClipPaths && u.restore(), u.restore() } return d.wxa && r.each(this._layers, function (t) { t && t.ctx && t.ctx.draw && t.ctx.draw() }), s }, _doPaintEl: function (t, e, n, i) { var a = e.ctx, r = t.transform; if ((e.__dirty || n) && !t.invisible && t.style.opacity !== 0 && (!r || r[0] || r[3]) && (!t.culling || !b(t, this._width, this._height))) { var o = t.__clipPaths; i.prevElClipPaths && !w(o, i.prevElClipPaths) || (i.prevElClipPaths && (e.ctx.restore(), i.prevElClipPaths = null, i.prevEl = null), o && (a.save(), S(o, a), i.prevElClipPaths = o)), t.beforeBrush && t.beforeBrush(a), t.brush(a, i.prevEl || null), i.prevEl = t, t.afterBrush && t.afterBrush(a) } }, getLayer: function (t, e) { this._singleCanvas && !this._needsManuallyCompositing && (t = p); var n = this._layers[t]; return n || (n = new u('zr_' + t, this, this.dpr), n.zlevel = t, n.__builtin__ = !0, this._layerConfig[t] && r.merge(n, this._layerConfig[t], !0), e && (n.virtual = e), this.insertLayer(t, n), n.initContext()), n }, insertLayer: function (t, e) { var n = this._layers, i = this._zlevelList, a = i.length, r = null, s = -1, l = this._domRoot; if (n[t])o('ZLevel ' + t + ' has been used already'); else if (y(e)) { if (a > 0 && t > i[0]) { for (s = 0; s < a - 1; s++) if (i[s] < t && i[s + 1] > t) break; r = n[i[s]] } if (i.splice(s + 1, 0, t), n[t] = e, !e.virtual) if (r) { var u = r.dom; u.nextSibling ? l.insertBefore(e.dom, u.nextSibling) : l.appendChild(e.dom) } else l.firstChild ? l.insertBefore(e.dom, l.firstChild) : l.appendChild(e.dom) } else o('Layer of zlevel ' + t + ' is not valid') }, eachLayer: function (t, e) { var n, i, a = this._zlevelList; for (i = 0; i < a.length; i++)n = a[i], t.call(e, this._layers[n], n) }, eachBuiltinLayer: function (t, e) { var n, i, a, r = this._zlevelList; for (a = 0; a < r.length; a++)i = r[a], n = this._layers[i], n.__builtin__ && t.call(e, n, i) }, eachOtherLayer: function (t, e) { var n, i, a, r = this._zlevelList; for (a = 0; a < r.length; a++)i = r[a], n = this._layers[i], n.__builtin__ || t.call(e, n, i) }, getLayers: function () { return this._layers }, _updateLayerStatus: function (t) { function e (t) { a && (a.__endIndex !== t && (a.__dirty = !0), a.__endIndex = t) } if (this.eachBuiltinLayer(function (t, e) { 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 a = null, r = 0; for (n = 0; n < t.length; n++) { i = t[n]; var s, l = i.zlevel; i.incremental ? (s = this.getLayer(l + m, this._needsManuallyCompositing), s.incremental = !0, r = 1) : s = this.getLayer(l + (r > 0 ? g : 0), this._needsManuallyCompositing), s.__builtin__ || o('ZLevel ' + l + ' has been used by unkown layer ' + s.id), s !== a && (s.__used = !0, s.__startIndex !== n && (s.__dirty = !0), s.__startIndex = n, s.incremental ? s.__drawIndex = -1 : s.__drawIndex = n, e(n), a = s), i.__dirty && (s.__dirty = !0, s.incremental && s.__drawIndex < 0 && (s.__drawIndex = n)) }e(n), this.eachBuiltinLayer(function (t, e) { !t.__used && t.getElementCount() > 0 && (t.__dirty = !0, t.__startIndex = t.__endIndex = t.__drawIndex = 0), t.__dirty && t.__drawIndex < 0 && (t.__drawIndex = t.__startIndex) }) }, clear: function () { return this.eachBuiltinLayer(this._clearLayer), this }, _clearLayer: function (t) { t.clear() }, setBackgroundColor: function (t) { this._backgroundColor = t }, configLayer: function (t, e) { if (e) { var n = this._layerConfig; n[t] ? r.merge(n[t], e, !0) : n[t] = e; for (var i = 0; i < this._zlevelList.length; i++) { var a = this._zlevelList[i]; if (a === t || a === t + g) { var o = this._layers[a]; r.merge(o, n[t], !0) } } } }, 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(r.indexOf(n, t), 1)) }, resize: function (t, e) { if (this._domRoot.style) { var n = this._domRoot; n.style.display = 'none'; var i = this._opts; if (t != null && (i.width = t), e != null && (i.height = e), t = this._getSize(0), e = this._getSize(1), n.style.display = '', this._width != t || e != this._height) { for (var a in n.style.width = t + 'px', n.style.height = e + 'px', this._layers) this._layers.hasOwnProperty(a) && this._layers[a].resize(t, e); r.each(this._progressiveLayers, function (n) { n.resize(t, e) }), this.refresh(!0) } this._width = t, this._height = e } else { if (t == null || e == null) return; this._width = t, this._height = e, this.getLayer(p).resize(t, e) } return this }, clearLayer: function (t) { var e = this._layers[t]; e && e.clear() }, dispose: function () { this.root.innerHTML = '', this.root = this.storage = this._domRoot = this._layers = null }, getRenderedCanvas: function (t) { if (t = t || {}, this._singleCanvas && !this._compositeManually) return this._layers[p].dom; var e = new u('image', this, t.pixelRatio || this.dpr); if (e.initContext(), e.clear(!1, t.backgroundColor || this._backgroundColor), t.pixelRatio <= this.dpr) { this.refresh(); var n = e.dom.width, i = e.dom.height, a = e.ctx; this.eachLayer(function (t) { t.__builtin__ ? a.drawImage(t.dom, 0, 0, n, i) : t.renderToCanvas && (e.ctx.save(), t.renderToCanvas(e.ctx), e.ctx.restore()) }) } else for (var r = {}, o = this.storage.getDisplayList(!0), s = 0; s < o.length; s++) { var l = o[s]; this._doPaintEl(l, e, !0, r) } return e.dom }, getWidth: function () { return this._width }, getHeight: function () { return this._height }, _getSize: function (t) { var e = this._opts, n = ['width', 'height'][t], i = ['clientWidth', 'clientHeight'][t], a = ['paddingLeft', 'paddingTop'][t], r = ['paddingRight', 'paddingBottom'][t]; if (e[n] != null && e[n] !== 'auto') return parseFloat(e[n]); var o = this.root, s = document.defaultView.getComputedStyle(o); return (o[i] || v(s[n]) || v(o.style[n])) - (v(s[a]) || 0) - (v(s[r]) || 0) | 0 }, pathToImage: function (t, e) { e = e || this.dpr; var n = document.createElement('canvas'), i = n.getContext('2d'), a = t.getBoundingRect(), r = t.style, o = r.shadowBlur * e, s = r.shadowOffsetX * e, l = r.shadowOffsetY * e, u = r.hasStroke() ? r.lineWidth : 0, c = Math.max(u / 2, -s + o), d = Math.max(u / 2, s + o), f = Math.max(u / 2, -l + o), p = Math.max(u / 2, l + o), g = a.width + c + d, m = a.height + f + p; n.width = g * e, n.height = m * e, i.scale(e, e), i.clearRect(0, 0, g, m), i.dpr = e; var v = {position: t.position, rotation: t.rotation, scale: t.scale}; t.position = [c - a.x, f - a.y], t.rotation = 0, t.scale = [1, 1], t.updateTransform(), t && t.brush(i); var y = h, x = new y({style: {x: 0, y: 0, image: n}}); return v.position != null && (x.position = t.position = v.position), v.rotation != null && (x.rotation = t.rotation = v.rotation), v.scale != null && (x.scale = t.scale = v.scale), x }}; var A = I; t.exports = A }, eda2: function (t, e, n) { var i = n('6d8b'), a = n('e86a'), r = n('3842'); function o (t) { return isNaN(t) ? '-' : (t = (t + '').split('.'), t[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g, '$1,') + (t.length > 1 ? '.' + t[1] : '')) } function s (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 } var l = i.normalizeCssArray, u = /([&<>"'])/g, c = {'&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;'}; function h (t) { return t == null ? '' : (t + '').replace(u, function (t, e) { return c[e] }) } var d = ['a', 'b', 'c', 'd', 'e', 'f', 'g'], f = function (t, e) { return '{' + t + (e == null ? '' : e) + '}' }; function p (t, e, n) { i.isArray(e) || (e = [e]); var a = e.length; if (!a) return ''; for (var r = e[0].$vars || [], o = 0; o < r.length; o++) { var s = d[o]; t = t.replace(f(s), f(s, 0)) } for (var l = 0; l < a; l++) for (var u = 0; u < r.length; u++) { var c = e[l][r[u]]; t = t.replace(f(d[u], l), n ? h(c) : c) } return t } function g (t, e, n) { return i.each(e, function (e, i) { t = t.replace('{' + i + '}', n ? h(e) : e) }), t } function m (t, e) { t = i.isString(t) ? {color: t, extraCssText: e} : t || {}; var n = t.color, a = t.type; e = t.extraCssText; return n ? a === 'subItem' ? '<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:' + h(n) + ';' + (e || '') + '"></span>' : '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:' + h(n) + ';' + (e || '') + '"></span>' : '' } function v (t, e) { return t += '', '0000'.substr(0, e - t.length) + t } function y (t, e, n) { t !== 'week' && t !== 'month' && t !== 'quarter' && t !== 'half-year' && t !== 'year' || (t = 'MM-dd\nyyyy'); var i = r.parseDate(e), a = n ? 'UTC' : '', o = i['get' + a + 'FullYear'](), s = i['get' + a + 'Month']() + 1, l = i['get' + a + 'Date'](), u = i['get' + a + 'Hours'](), c = i['get' + a + 'Minutes'](), h = i['get' + a + 'Seconds'](), d = i['get' + a + 'Milliseconds'](); return t = t.replace('MM', v(s, 2)).replace('M', s).replace('yyyy', o).replace('yy', o % 100).replace('dd', v(l, 2)).replace('d', l).replace('hh', v(u, 2)).replace('h', u).replace('mm', v(c, 2)).replace('m', c).replace('ss', v(h, 2)).replace('s', h).replace('SSS', v(d, 3)), t } function x (t) { return t ? t.charAt(0).toUpperCase() + t.substr(1) : t } var _ = a.truncateText, b = a.getBoundingRect; e.addCommas = o, e.toCamelCase = s, e.normalizeCssArray = l, e.encodeHTML = h, e.formatTpl = p, e.formatTplSimple = g, e.getTooltipMarker = m, e.formatTime = y, e.capitalFirst = x, e.truncateText = _, e.getTextRect = b }, edaf: function (t, e, n) { var i = n('6d8b'), a = n('6cb7'), r = n('6179'), o = n('e0d3'), s = a.extend({type: 'timeline', layoutMode: 'box', defaultOption: {zlevel: 0, z: 4, show: !0, axisType: 'time', realtime: !0, left: '20%', top: null, right: '20%', bottom: 0, width: null, height: 40, padding: 5, controlPosition: 'left', autoPlay: !1, rewind: !1, loop: !0, playInterval: 2e3, currentIndex: 0, itemStyle: {}, label: {color: '#000'}, data: []}, init: function (t, e, n) { this._data, this._names, this.mergeDefaultAndTheme(t, n), this._initData() }, mergeOption: function (t) { s.superApply(this, 'mergeOption', arguments), this._initData() }, setCurrentIndex: function (t) { t == null && (t = this.option.currentIndex); var e = this._data.count(); this.option.loop ? t = (t % e + e) % e : (t >= e && (t = e - 1), t < 0 && (t = 0)), this.option.currentIndex = t }, getCurrentIndex: function () { return this.option.currentIndex }, isIndexMax: function () { return this.getCurrentIndex() >= this._data.count() - 1 }, setPlayState: function (t) { this.option.autoPlay = !!t }, getPlayState: function () { return !!this.option.autoPlay }, _initData: function () { var t = this.option, e = t.data || [], n = t.axisType, a = this._names = []; if (n === 'category') { var s = []; i.each(e, function (t, e) { var n, r = o.getDataItemValue(t); i.isObject(t) ? (n = i.clone(t), n.value = e) : n = e, s.push(n), i.isString(r) || r != null && !isNaN(r) || (r = ''), a.push(r + '') }), e = s } var l = {category: 'ordinal', time: 'time'}[n] || 'number', u = this._data = new r([{name: 'value', type: l}], this); u.initData(e, a) }, getData: function () { return this._data }, getCategories: function () { if (this.get('axisType') === 'category') return this._names.slice() }}), l = s; t.exports = l }, edb9: function (t, e, n) { var i = n('6d8b'); function a (t, e) { e = e || {}; var n = t.coordinateSystem, a = t.axis, r = {}, o = a.position, s = a.orient, l = n.getRect(), u = [l.x, l.x + l.width, l.y, l.y + l.height], c = {horizontal: {top: u[2], bottom: u[3]}, vertical: {left: u[0], right: u[1]}}; r.position = [s === 'vertical' ? c.vertical[o] : u[0], s === 'horizontal' ? c.horizontal[o] : u[3]]; var h = {horizontal: 0, vertical: 1}; r.rotation = Math.PI / 2 * h[s]; var d = {top: -1, bottom: 1, right: 1, left: -1}; r.labelDirection = r.tickDirection = r.nameDirection = d[o], t.get('axisTick.inside') && (r.tickDirection = -r.tickDirection), i.retrieve(e.labelInside, t.get('axisLabel.inside')) && (r.labelDirection = -r.labelDirection); var f = e.rotate; return f == null && (f = t.get('axisLabel.rotate')), r.labelRotation = o === 'top' ? -f : f, r.z2 = 1, r }e.layout = a }, ee1a: function (t, e, n) { var i = n('6d8b'), a = i.each, r = i.isString; function o (t, e, n) { n = n || {}; var i, o, s, l, u = n.byIndex, c = n.stackedCoordDimension, h = !(!t || !t.get('stack')); if (a(e, function (t, n) { r(t) && (e[n] = t = {name: t}), h && !t.isExtraCoord && (u || i || !t.ordinalMeta || (i = t), o || t.type === 'ordinal' || t.type === 'time' || c && c !== t.coordDim || (o = t)) }), !o || u || i || (u = !0), o) { s = '__\0ecstackresult', l = '__\0ecstackedover', i && (i.createInvertedIndices = !0); var d = o.coordDim, f = o.type, p = 0; a(e, function (t) { t.coordDim === d && p++ }), e.push({name: s, coordDim: d, coordDimIndex: p, type: f, isExtraCoord: !0, isCalculationCoord: !0}), p++, e.push({name: l, coordDim: l, coordDimIndex: p, type: f, isExtraCoord: !0, isCalculationCoord: !0}) } return {stackedDimension: o && o.name, stackedByDimension: i && i.name, isStackedByIndex: u, stackedOverDimension: l, stackResultDimension: s} } function s (t, e) { return !!e && e === t.getCalculationInfo('stackedDimension') } function l (t, e) { return s(t, e) ? t.getCalculationInfo('stackResultDimension') : e }e.enableDataStack = o, e.isDimensionStacked = s, e.getStackedDimension = l }, ee66: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('2306'), o = n('eda2'), s = n('3842'), l = {EN: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], CN: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']}, u = {EN: ['S', 'M', 'T', 'W', 'T', 'F', 'S'], CN: ['日', '一', '二', '三', '四', '五', '六']}, c = i.extendComponentView({type: 'calendar', _tlpoints: null, _blpoints: null, _firstDayOfMonth: null, _firstDayPoints: null, render: function (t, e, n) { var i = this.group; i.removeAll(); var a = t.coordinateSystem, r = a.getRangeInfo(), o = a.getOrient(); this._renderDayRect(t, r, i), this._renderLines(t, r, o, i), this._renderYearText(t, r, o, i), this._renderMonthText(t, o, i), this._renderWeekText(t, r, o, i) }, _renderDayRect: function (t, e, n) { for (var i = t.coordinateSystem, a = t.getModel('itemStyle').getItemStyle(), o = i.getCellWidth(), s = i.getCellHeight(), l = e.start.time; l <= e.end.time; l = i.getNextNDay(l, 1).time) { var u = i.dataToRect([l], !1).tl, c = new r.Rect({shape: {x: u[0], y: u[1], width: o, height: s}, cursor: 'default', style: a}); n.add(c) } }, _renderLines: function (t, e, n, i) { var a = this, r = t.coordinateSystem, o = t.getModel('splitLine.lineStyle').getLineStyle(), s = t.get('splitLine.show'), l = o.lineWidth; this._tlpoints = [], this._blpoints = [], this._firstDayOfMonth = [], this._firstDayPoints = []; for (var u = e.start, c = 0; u.time <= e.end.time; c++) { d(u.formatedDate), c === 0 && (u = r.getDateInfo(e.start.y + '-' + e.start.m)); var h = u.date; h.setMonth(h.getMonth() + 1), u = r.getDateInfo(h) } function d (e) { a._firstDayOfMonth.push(r.getDateInfo(e)), a._firstDayPoints.push(r.dataToRect([e], !1).tl); var l = a._getLinePointsOfOneWeek(t, e, n); a._tlpoints.push(l[0]), a._blpoints.push(l[l.length - 1]), s && a._drawSplitline(l, o, i) }d(r.getNextNDay(e.end.time, 1).formatedDate), s && this._drawSplitline(a._getEdgesPoints(a._tlpoints, l, n), o, i), s && this._drawSplitline(a._getEdgesPoints(a._blpoints, l, n), o, i) }, _getEdgesPoints: function (t, e, n) { var i = [t[0].slice(), t[t.length - 1].slice()], a = n === 'horizontal' ? 0 : 1; return i[0][a] = i[0][a] - e / 2, i[1][a] = i[1][a] + e / 2, i }, _drawSplitline: function (t, e, n) { var i = new r.Polyline({z2: 20, shape: {points: t}, style: e}); n.add(i) }, _getLinePointsOfOneWeek: function (t, e, n) { var i = t.coordinateSystem; e = i.getDateInfo(e); for (var a = [], r = 0; r < 7; r++) { var o = i.getNextNDay(e.time, r), s = i.dataToRect([o.time], !1); a[2 * o.day] = s.tl, a[2 * o.day + 1] = s[n === 'horizontal' ? 'bl' : 'tr'] } return a }, _formatterLabel: function (t, e) { return typeof t === 'string' && t ? o.formatTplSimple(t, e) : typeof t === 'function' ? t(e) : e.nameMap }, _yearTextPositionControl: function (t, e, n, i, a) { e = e.slice(); var r = ['center', 'bottom']; i === 'bottom' ? (e[1] += a, r = ['center', 'top']) : i === 'left' ? e[0] -= a : i === 'right' ? (e[0] += a, r = ['center', 'top']) : e[1] -= a; var o = 0; return i !== 'left' && i !== 'right' || (o = Math.PI / 2), {rotation: o, position: e, style: {textAlign: r[0], textVerticalAlign: r[1]}} }, _renderYearText: function (t, e, n, i) { var a = t.getModel('yearLabel'); if (a.get('show')) { var o = a.get('margin'), s = a.get('position'); s || (s = n !== 'horizontal' ? 'top' : 'left'); var l = [this._tlpoints[this._tlpoints.length - 1], this._blpoints[0]], u = (l[0][0] + l[1][0]) / 2, c = (l[0][1] + l[1][1]) / 2, h = n === 'horizontal' ? 0 : 1, d = {top: [u, l[h][1]], bottom: [u, l[1 - h][1]], left: [l[1 - h][0], c], right: [l[h][0], c]}, f = e.start.y; +e.end.y > +e.start.y && (f = f + '-' + e.end.y); var p = a.get('formatter'), g = {start: e.start.y, end: e.end.y, nameMap: f}, m = this._formatterLabel(p, g), v = new r.Text({z2: 30}); r.setTextStyle(v.style, a, {text: m}), v.attr(this._yearTextPositionControl(v, d[s], n, s, o)), i.add(v) } }, _monthTextPositionControl: function (t, e, n, i, a) { var r = 'left', o = 'top', s = t[0], l = t[1]; return n === 'horizontal' ? (l += a, e && (r = 'center'), i === 'start' && (o = 'bottom')) : (s += a, e && (o = 'middle'), i === 'start' && (r = 'right')), {x: s, y: l, textAlign: r, textVerticalAlign: o} }, _renderMonthText: function (t, e, n) { var i = t.getModel('monthLabel'); if (i.get('show')) { var o = i.get('nameMap'), s = i.get('margin'), u = i.get('position'), c = i.get('align'), h = [this._tlpoints, this._blpoints]; a.isString(o) && (o = l[o.toUpperCase()] || []); var d = u === 'start' ? 0 : 1, f = e === 'horizontal' ? 0 : 1; s = u === 'start' ? -s : s; for (var p = c === 'center', g = 0; g < h[d].length - 1; g++) { var m = h[d][g].slice(), v = this._firstDayOfMonth[g]; if (p) { var y = this._firstDayPoints[g]; m[f] = (y[f] + h[0][g + 1][f]) / 2 } var x = i.get('formatter'), _ = o[+v.m - 1], b = {yyyy: v.y, yy: (v.y + '').slice(2), MM: v.m, M: +v.m, nameMap: _}, w = this._formatterLabel(x, b), S = new r.Text({z2: 30}); a.extend(r.setTextStyle(S.style, i, {text: w}), this._monthTextPositionControl(m, p, e, u, s)), n.add(S) } } }, _weekTextPositionControl: function (t, e, n, i, a) { var r = 'center', o = 'middle', s = t[0], l = t[1], u = n === 'start'; return e === 'horizontal' ? (s = s + i + (u ? 1 : -1) * a[0] / 2, r = u ? 'right' : 'left') : (l = l + i + (u ? 1 : -1) * a[1] / 2, o = u ? 'bottom' : 'top'), {x: s, y: l, textAlign: r, textVerticalAlign: o} }, _renderWeekText: function (t, e, n, i) { var o = t.getModel('dayLabel'); if (o.get('show')) { var l = t.coordinateSystem, c = o.get('position'), h = o.get('nameMap'), d = o.get('margin'), f = l.getFirstDayOfWeek(); a.isString(h) && (h = u[h.toUpperCase()] || []); var p = l.getNextNDay(e.end.time, 7 - e.lweek).time, g = [l.getCellWidth(), l.getCellHeight()]; d = s.parsePercent(d, g[n === 'horizontal' ? 0 : 1]), c === 'start' && (p = l.getNextNDay(e.start.time, -(7 + e.fweek)).time, d = -d); for (var m = 0; m < 7; m++) { var v = l.getNextNDay(p, m), y = l.dataToRect([v.time], !1).center, x = m; x = Math.abs((m + f) % 7); var _ = new r.Text({z2: 30}); a.extend(r.setTextStyle(_.style, o, {text: h[x]}), this._weekTextPositionControl(y, n, c, d, g)), i.add(_) } } }}); t.exports = c }, ee70: function (t, e, n) { var i = n('6d8b'); function a () { var t = [], e = []; function n (e, a) { if (a >= t.length) return e; var r = -1, o = e.length, s = t[a++], l = {}, u = {}; while (++r < o) { var c = s(e[r]), h = u[c]; h ? h.push(e[r]) : u[c] = [e[r]] } return i.each(u, function (t, e) { l[e] = n(t, a) }), l } function a (n, r) { if (r >= t.length) return n; var o = [], s = e[r++]; return i.each(n, function (t, e) { o.push({key: e, values: a(t, r)}) }), s ? o.sort(function (t, e) { return s(t.key, e.key) }) : o } return {key: function (e) { return t.push(e), this }, sortKeys: function (n) { return e[t.length - 1] = n, this }, entries: function (t) { return a(n(t, 0), 0) }} }t.exports = a }, ee84: function (t, e, n) { var i = n('20c8'), a = n('401b'), r = a.applyTransform, o = i.CMD, s = [[], [], []], l = Math.sqrt, u = Math.atan2; function c (t, e) { var n, i, a, c, h, d = t.data, f = o.M, p = o.C, g = o.L, m = o.R, v = o.A, y = o.Q; for (a = 0, c = 0; a < d.length;) { switch (n = d[a++], c = a, i = 0, n) { case f:i = 1; break; case g:i = 1; break; case p:i = 3; break; case y:i = 2; break; case v:var x = e[4], _ = e[5], b = l(e[0] * e[0] + e[1] * e[1]), w = l(e[2] * e[2] + e[3] * e[3]), S = u(-e[1] / w, e[0] / b); d[a] *= b, d[a++] += x, d[a] *= w, d[a++] += _, d[a++] *= b, d[a++] *= w, d[a++] += S, d[a++] += S, a += 2, c = a; break; case m:M[0] = d[a++], M[1] = d[a++], r(M, M, e), d[c++] = M[0], d[c++] = M[1], M[0] += d[a++], M[1] += d[a++], r(M, M, e), d[c++] = M[0], d[c++] = M[1] } for (h = 0; h < i; h++) { var M = s[h]; M[0] = d[a++], M[1] = d[a++], r(M, M, e), d[c++] = M[0], d[c++] = M[1] } } }t.exports = c }, ee95: function (t, e, n) { var i = n('3eba'), a = n('66a4'); n('a04e'), n('3942'), n('dd7e'), n('347f'), i.registerPreprocessor(a) }, ee98: function (t, e) { function n (t) { return t instanceof Array || (t = [t, t]), t } var i = 'lineStyle.opacity'.split('.'), a = {seriesType: 'lines', reset: function (t, e, a) { var r = n(t.get('symbol')), o = n(t.get('symbolSize')), s = t.getData(); function l (t, e) { var a = t.getItemModel(e), r = n(a.getShallow('symbol', !0)), o = n(a.getShallow('symbolSize', !0)), s = a.get(i); r[0] && t.setItemVisual(e, 'fromSymbol', r[0]), r[1] && t.setItemVisual(e, 'toSymbol', r[1]), o[0] && t.setItemVisual(e, 'fromSymbolSize', o[0]), o[1] && t.setItemVisual(e, 'toSymbolSize', o[1]), t.setItemVisual(e, 'opacity', s) } return s.setVisual('fromSymbol', r && r[0]), s.setVisual('toSymbol', r && r[1]), s.setVisual('fromSymbolSize', o && o[0]), s.setVisual('toSymbolSize', o && o[1]), s.setVisual('opacity', t.get(i)), {dataEach: s.hasItemOption ? l : null} }}; t.exports = a }, eeea: function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('3eba')), r = n('6d8b'), o = n('0141'), s = n('f934'), l = n('3842'); function u (t, e) { var n = t.get('boundingCoords'); if (n != null) { var i = n[0], a = n[1]; isNaN(i[0]) || isNaN(i[1]) || isNaN(a[0]) || isNaN(a[1]) || this.setBoundingRect(i[0], i[1], a[0] - i[0], a[1] - i[1]) } var r, o = this.getBoundingRect(), u = t.get('layoutCenter'), c = t.get('layoutSize'), h = e.getWidth(), d = e.getHeight(), f = t.get('aspectScale') || 0.75, p = o.width / o.height * f, g = !1; if (u && c && (u = [l.parsePercent(u[0], h), l.parsePercent(u[1], d)], c = l.parsePercent(c, Math.min(h, d)), isNaN(u[0]) || isNaN(u[1]) || isNaN(c) || (g = !0)), g) { var m = {}; p > 1 ? (m.width = c, m.height = c / p) : (m.height = c, m.width = c * p), m.y = u[1] - m.height / 2, m.x = u[0] - m.width / 2 } else r = t.getBoxLayoutParams(), r.aspect = p, m = s.getLayoutRect(r, {width: h, height: d}); this.setViewRect(m.x, m.y, m.width, m.height), this.setCenter(t.get('center')), this.setZoom(t.get('zoom')) } function c (t, e) { r.each(e.get('geoCoord'), function (e, n) { t.addGeoCoord(n, e) }) } var h = {dimensions: o.prototype.dimensions, create: function (t, e) { var n = []; t.eachComponent('geo', function (t, i) { var r = t.get('map'), s = a.getMap(r), l = new o(r + i, r, s && s.geoJson, s && s.specialAreas, t.get('nameMap')); l.zoomLimit = t.get('scaleLimit'), n.push(l), c(l, t), t.coordinateSystem = l, l.model = t, l.resize = u, l.resize(t, e) }), t.eachSeries(function (t) { var e = t.get('coordinateSystem'); if (e === 'geo') { var i = t.get('geoIndex') || 0; t.coordinateSystem = n[i] } }); var i = {}; return t.eachSeriesByType('map', function (t) { if (!t.getHostGeoModel()) { var e = t.getMapType(); i[e] = i[e] || [], i[e].push(t) } }), r.each(i, function (t, i) { var s = a.getMap(i), l = r.map(t, function (t) { return t.get('nameMap') }), h = new o(i, i, s && s.geoJson, s && s.specialAreas, r.mergeAll(l)); h.zoomLimit = r.retrieve.apply(null, r.map(t, function (t) { return t.get('scaleLimit') })), n.push(h), h.resize = u, h.resize(t[0], e), r.each(t, function (t) { t.coordinateSystem = h, c(h, t) }) }), n }, getFilledRegions: function (t, e, n) { var i = (t || []).slice(); n = n || {}; var o = a.getMap(e), s = o && o.geoJson; if (!s) return t; for (var l = r.createHashMap(), u = s.features, c = 0; c < i.length; c++)l.set(i[c].name, i[c]); for (c = 0; c < u.length; c++) { var h = u[c].properties.name; l.get(h) || (n.hasOwnProperty(h) && (h = n[h]), i.push({name: h})) } return i }}; a.registerCoordinateSystem('geo', h); var d = h; t.exports = d }, ef2b: function (t, e, n) { var i = n('401b'), a = i.scaleAndAdd; function r (t, e, n) { for (var r = n.rect, o = r.width, s = r.height, l = [r.x + o / 2, r.y + s / 2], u = n.gravity == null ? 0.1 : n.gravity, c = 0; c < t.length; c++) { var h = t[c]; h.p || (h.p = i.create(o * (Math.random() - 0.5) + l[0], s * (Math.random() - 0.5) + l[1])), h.pp = i.clone(h.p), h.edges = null } var d = 0.6; return {warmUp: function () { d = 0.5 }, setFixed: function (e) { t[e].fixed = !0 }, setUnfixed: function (e) { t[e].fixed = !1 }, step: function (n) { for (var r = [], o = t.length, s = 0; s < e.length; s++) { var c = e[s], h = c.n1, f = c.n2; i.sub(r, f.p, h.p); var p = i.len(r) - c.d, g = f.w / (h.w + f.w); isNaN(g) && (g = 0), i.normalize(r, r), !h.fixed && a(h.p, h.p, r, g * p * d), !f.fixed && a(f.p, f.p, r, -(1 - g) * p * d) } for (s = 0; s < o; s++) { var m = t[s]; m.fixed || (i.sub(r, l, m.p), a(m.p, m.p, r, u * d)) } for (s = 0; s < o; s++) { h = t[s]; for (var v = s + 1; v < o; v++) { f = t[v]; i.sub(r, f.p, h.p); p = i.len(r); p === 0 && (i.set(r, Math.random() - 0.5, Math.random() - 0.5), p = 1); var y = (h.rep + f.rep) / p / p; !h.fixed && a(h.pp, h.pp, r, y), !f.fixed && a(f.pp, f.pp, r, -y) } } var x = []; for (s = 0; s < o; s++) { m = t[s]; m.fixed || (i.sub(x, m.p, m.pp), a(m.p, m.p, x, d), i.copy(m.pp, m.p)) }d *= 0.992, n && n(t, e, d < 0.01) }} }e.forceLayout = r }, ef6a: function (t, e) { function n (t, e, n, r, o, s) { e[0] = a(e[0], n), e[1] = a(e[1], n), t = t || 0; var l = n[1] - n[0]; o != null && (o = a(o, [0, l])), s != null && (s = Math.max(s, o != null ? o : 0)), r === 'all' && (o = s = Math.abs(e[1] - e[0]), r = 0); var u = i(e, r); e[r] += t; var c = o || 0, h = n.slice(); u.sign < 0 ? h[0] += c : h[1] -= c, e[r] = a(e[r], h); var d = i(e, r); o != null && (d.sign !== u.sign || d.span < o) && (e[1 - r] = e[r] + u.sign * o); d = i(e, r); return s != null && d.span > s && (e[1 - r] = e[r] + d.sign * s), e } function i (t, e) { var n = t[e] - t[1 - e]; return {span: Math.abs(n), sign: n > 0 ? -1 : n < 0 ? 1 : e ? -1 : 1} } function a (t, e) { return Math.min(e[1], Math.max(e[0], t)) }t.exports = n }, ef97: function (t, e, n) { var i = n('3eba'); n('217b'), n('f17f'); var a = n('7f96'), r = n('87c3'), o = n('fdde'); n('01ed'), i.registerVisual(a('line', 'circle', 'line')), i.registerLayout(r('line')), i.registerProcessor(i.PRIORITY.PROCESSOR.STATISTIC, o('line')) }, ef97a: function (t, e, n) { var i = n('3eba'); n('2163'), n('6cd8'), n('bf9b'); var a = n('7f96'), r = n('ca29'); i.registerVisual(a('tree', 'circle')), i.registerLayout(r) }, f123: function (t, e, n) { var i = n('9f82'), a = i.prepareDataCoordInfo, r = i.getStackedOnPoint; function o (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 s (t, e, n, i, s, l, u, c) { for (var h = o(t, e), d = [], f = [], p = [], g = [], m = [], v = [], y = [], x = a(s, e, u), _ = a(l, t, c), b = 0; b < h.length; b++) { var w = h[b], S = !0; switch (w.cmd) { case '=':var M = t.getItemLayout(w.idx), I = e.getItemLayout(w.idx1); (isNaN(M[0]) || isNaN(M[1])) && (M = I.slice()), d.push(M), f.push(I), p.push(n[w.idx]), g.push(i[w.idx1]), y.push(e.getRawIndex(w.idx1)); break; case '+':var A = w.idx; d.push(s.dataToPoint([e.get(x.dataDimsForPoint[0], A), e.get(x.dataDimsForPoint[1], A)])), f.push(e.getItemLayout(A).slice()), p.push(r(x, s, e, A)), g.push(i[A]), y.push(e.getRawIndex(A)); break; case '-':A = w.idx; var T = t.getRawIndex(A); T !== A ? (d.push(t.getItemLayout(A)), f.push(l.dataToPoint([t.get(_.dataDimsForPoint[0], A), t.get(_.dataDimsForPoint[1], A)])), p.push(n[A]), g.push(r(_, l, t, A)), y.push(T)) : S = !1 }S && (m.push(w), v.push(v.length)) }v.sort(function (t, e) { return y[t] - y[e] }); var C = [], D = [], L = [], P = [], k = []; for (b = 0; b < v.length; b++) { A = v[b]; C[b] = d[A], D[b] = f[A], L[b] = p[A], P[b] = g[A], k[b] = m[A] } return {current: C, next: D, stackedOnCurrent: L, stackedOnNext: P, status: k} }t.exports = s }, f138: function (t, e, n) { var i = n('2306'), a = n('dcb3'), r = n('ff2e'), o = n('edb9'), s = n('6679'), l = ['x', 'y'], u = ['width', 'height'], c = a.extend({makeElOption: function (t, e, n, i, a) { var s = n.axis, l = s.coordinateSystem, u = f(l, 1 - d(s)), c = l.dataToPoint(e)[0], p = i.get('type'); if (p && p !== 'none') { var g = r.buildElStyle(i), m = h[p](s, c, u, g); m.style = g, t.graphicKey = m.type, t.pointer = m } var v = o.layout(n); r.buildCartesianSingleLabelElOption(e, t, v, n, i, a) }, getHandleTransform: function (t, e, n) { var i = o.layout(e, {labelInside: !1}); return i.labelMargin = n.get('handle.margin'), {position: r.getTransformedPosition(e.axis, t, i), rotation: i.rotation + (i.labelDirection < 0 ? Math.PI : 0)} }, updateHandleTransform: function (t, e, n, i) { var a = n.axis, r = a.coordinateSystem, o = d(a), s = f(r, o), l = t.position; l[o] += e[o], l[o] = Math.min(s[1], l[o]), l[o] = Math.max(s[0], l[o]); var u = f(r, 1 - o), c = (u[1] + u[0]) / 2, h = [c, c]; return h[o] = l[o], {position: l, rotation: t.rotation, cursorPoint: h, tooltipOption: {verticalAlign: 'middle'}} }}), h = {line: function (t, e, n, a) { var o = r.makeLineShape([e, n[0]], [e, n[1]], d(t)); return i.subPixelOptimizeLine({shape: o, style: a}), {type: 'Line', shape: o} }, shadow: function (t, e, n, i) { var a = t.getBandWidth(), o = n[1] - n[0]; return {type: 'Rect', shape: r.makeRectShape([e - a / 2, n[0]], [a, o], d(t))} }}; function d (t) { return t.isHorizontal() ? 0 : 1 } function f (t, e) { var n = t.getRect(); return [n[l[e]], n[l[e]] + n[u[e]]] }s.registerAxisPointerClass('SingleAxisPointer', c); var p = c; t.exports = p }, f14c: function (t, e, n) { var i = n('84d5'), a = n('f934'), r = a.mergeLayoutParam, o = a.getLayoutParams, s = i.extend({type: 'legend.scroll', setScrollDataIndex: function (t) { this.option.scrollDataIndex = t }, defaultOption: {scrollDataIndex: 0, pageButtonItemGap: 5, pageButtonGap: null, pageButtonPosition: 'end', pageFormatter: '{current}/{total}', pageIcons: {horizontal: ['M0,0L12,-10L12,10z', 'M0,0L-12,-10L-12,10z'], vertical: ['M0,0L20,0L10,-20z', 'M0,0L20,0L10,20z']}, pageIconColor: '#2f4554', pageIconInactiveColor: '#aaa', pageIconSize: 15, pageTextStyle: {color: '#333'}, animationDurationUpdate: 800}, init: function (t, e, n, i) { var a = o(t); s.superCall(this, 'init', t, e, n, i), l(this, t, a) }, mergeOption: function (t, e) { s.superCall(this, 'mergeOption', t, e), l(this, this.option, t) }, getOrient: function () { return this.get('orient') === 'vertical' ? {index: 1, name: 'vertical'} : {index: 0, name: 'horizontal'} }}); function l (t, e, n) { var i = t.getOrient(), a = [1, 1]; a[i.index] = 0, r(e, n, {type: 'box', ignoreSize: a}) } var u = s; t.exports = u }, f170: function (t, e, n) { n('a87d'); var i = n('697e7'), a = i.registerPainter, r = n('e9f9'); a('vml', r) }, f17f: function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = n('f706'), o = n('1418'), s = n('f123'), l = n('2306'), u = n('e0d3'), c = n('d4d1'), h = c.Polyline, d = c.Polygon, f = n('e887'), p = n('3842'), g = p.round, m = n('9f82'), v = m.prepareDataCoordInfo, y = m.getStackedOnPoint; function x (t, e) { if (t.length === e.length) { for (var n = 0; n < t.length; n++) { var i = t[n], a = e[n]; if (i[0] !== a[0] || i[1] !== a[1]) return } return !0 } } function _ (t) { return typeof t === 'number' ? t : t ? 0.5 : 0 } function b (t) { var e = t.getGlobalExtent(); if (t.onBand) { var n = t.getBandWidth() / 2 - 1, i = e[1] > e[0] ? 1 : -1; e[0] += i * n, e[1] -= i * n } return e } function w (t, e, n) { if (!n.valueDim) return []; for (var i = [], a = 0, r = e.count(); a < r; a++)i.push(y(n, t, e, a)); return i } function S (t, e, n, i) { var a = b(t.getAxis('x')), r = b(t.getAxis('y')), o = t.getBaseAxis().isHorizontal(), s = Math.min(a[0], a[1]), u = Math.min(r[0], r[1]), c = Math.max(a[0], a[1]) - s, h = Math.max(r[0], r[1]) - u; if (n)s -= 0.5, c += 0.5, u -= 0.5, h += 0.5; else { var d = i.get('lineStyle.width') || 2, f = i.get('clipOverflow') ? d / 2 : Math.max(c, h); o ? (u -= f, h += 2 * f) : (s -= f, c += 2 * f) } var p = new l.Rect({shape: {x: s, y: u, width: c, height: h}}); return e && (p.shape[o ? 'width' : 'height'] = 0, l.initProps(p, {shape: {width: c, height: h}}, i)), p } function M (t, e, n, i) { var a = t.getAngleAxis(), r = t.getRadiusAxis(), o = r.getExtent().slice(); o[0] > o[1] && o.reverse(); var s = a.getExtent(), u = Math.PI / 180; n && (o[0] -= 0.5, o[1] += 0.5); var c = new l.Sector({shape: {cx: g(t.cx, 1), cy: g(t.cy, 1), r0: g(o[0], 1), r: g(o[1], 1), startAngle: -s[0] * u, endAngle: -s[1] * u, clockwise: a.inverse}}); return e && (c.shape.endAngle = -s[0] * u, l.initProps(c, {shape: {endAngle: -s[1] * u}}, i)), c } function I (t, e, n, i) { return t.type === 'polar' ? M(t, e, n, i) : S(t, e, n, i) } function A (t, e, n) { for (var i = e.getBaseAxis(), a = i.dim === 'x' || i.dim === 'radius' ? 0 : 1, r = [], o = 0; o < t.length - 1; o++) { var s = t[o + 1], l = t[o]; r.push(l); var u = []; switch (n) { case 'end':u[a] = s[a], u[1 - a] = l[1 - a], r.push(u); break; case 'middle':var c = (l[a] + s[a]) / 2, h = []; u[a] = h[a] = c, u[1 - a] = l[1 - a], h[1 - a] = s[1 - a], r.push(u), r.push(h); break; default:u[a] = l[a], u[1 - a] = s[1 - a], r.push(u) } } return t[o] && r.push(t[o]), r } function T (t, e) { var n = t.getVisual('visualMeta'); if (n && n.length && t.count() && e.type === 'cartesian2d') { for (var i, r, o = n.length - 1; o >= 0; o--) { var s = n[o].dimension, u = t.dimensions[s], c = t.getDimensionInfo(u); if (i = c && c.coordDim, i === 'x' || i === 'y') { r = n[o]; break } } if (r) { var h = e.getAxis(i), d = a.map(r.stops, function (t) { return {coord: h.toGlobalCoord(h.dataToCoord(t.value)), color: t.color} }), f = d.length, p = r.outerColors.slice(); f && d[0].coord > d[f - 1].coord && (d.reverse(), p.reverse()); var g = 10, m = d[0].coord - g, v = d[f - 1].coord + g, y = v - m; if (y < 0.001) return 'transparent'; a.each(d, function (t) { t.offset = (t.coord - m) / y }), d.push({offset: f ? d[f - 1].offset : 0.5, color: p[1] || 'transparent'}), d.unshift({offset: f ? d[0].offset : 0.5, color: p[0] || 'transparent'}); var x = new l.LinearGradient(0, 0, 0, 0, d, !0); return x[i] = m, x[i + '2'] = v, x } } } function C (t, e, n) { var i = t.get('showAllSymbol'), r = i === 'auto'; if (!i || r) { var o = n.getAxesByScale('ordinal')[0]; if (o && (!r || !D(o, e))) { var s = e.mapDimension(o.dim), l = {}; return a.each(o.getViewLabels(), function (t) { l[t.tickValue] = 1 }), function (t) { return !l.hasOwnProperty(e.get(s, t)) } } } } function D (t, e) { var n = t.getExtent(), i = Math.abs(n[1] - n[0]) / t.scale.count(); isNaN(i) && (i = 0); for (var a = e.count(), r = Math.max(1, Math.round(a / 5)), s = 0; s < a; s += r) if (1.5 * o.getSymbolSize(e, s)[t.isHorizontal() ? 1 : 0] > i) return !1; return !0 } var L = f.extend({type: 'line', init: function () { var t = new l.Group(), e = new r(); this.group.add(e.group), this._symbolDraw = e, this._lineGroup = t }, render: function (t, e, n) { var i = t.coordinateSystem, r = this.group, o = t.getData(), s = t.getModel('lineStyle'), l = t.getModel('areaStyle'), u = o.mapArray(o.getItemLayout), c = i.type === 'polar', h = this._coordSys, d = this._symbolDraw, f = this._polyline, p = this._polygon, g = this._lineGroup, m = t.get('animation'), y = !l.isEmpty(), b = l.get('origin'), S = v(i, o, b), M = w(i, o, S), D = t.get('showSymbol'), L = D && !c && C(t, o, i), P = this._data; P && P.eachItemGraphicEl(function (t, e) { t.__temp && (r.remove(t), P.setItemGraphicEl(e, null)) }), D || d.remove(), r.add(g); var k = !c && t.get('step'); f && h.type === i.type && k === this._step ? (y && !p ? p = this._newPolygon(u, M, i, m) : p && !y && (g.remove(p), p = this._polygon = null), g.setClipPath(I(i, !1, !1, t)), D && d.updateData(o, {isIgnore: L, clipShape: I(i, !1, !0, t)}), o.eachItemGraphicEl(function (t) { t.stopAnimation(!0) }), x(this._stackedOnPoints, M) && x(this._points, u) || (m ? this._updateAnimation(o, M, i, n, k, b) : (k && (u = A(u, i, k), M = A(M, i, k)), f.setShape({points: u}), p && p.setShape({points: u, stackedOnPoints: M})))) : (D && d.updateData(o, {isIgnore: L, clipShape: I(i, !1, !0, t)}), k && (u = A(u, i, k), M = A(M, i, k)), f = this._newPolyline(u, i, m), y && (p = this._newPolygon(u, M, i, m)), g.setClipPath(I(i, !0, !1, t))); var O = T(o, i) || o.getVisual('color'); f.useStyle(a.defaults(s.getLineStyle(), {fill: 'none', stroke: O, lineJoin: 'bevel'})); var R = t.get('smooth'); if (R = _(t.get('smooth')), f.setShape({smooth: R, smoothMonotone: t.get('smoothMonotone'), connectNulls: t.get('connectNulls')}), p) { var E = o.getCalculationInfo('stackedOnSeries'), N = 0; p.useStyle(a.defaults(l.getAreaStyle(), {fill: O, opacity: 0.7, lineJoin: 'bevel'})), E && (N = _(E.get('smooth'))), p.setShape({smooth: R, stackedOnSmooth: N, smoothMonotone: t.get('smoothMonotone'), connectNulls: t.get('connectNulls')}) } this._data = o, this._coordSys = i, this._stackedOnPoints = M, this._points = u, this._step = k, this._valueOrigin = b }, dispose: function () {}, highlight: function (t, e, n, i) { var a = t.getData(), r = u.queryDataIndex(a, i); if (!(r instanceof Array) && r != null && r >= 0) { var s = a.getItemGraphicEl(r); if (!s) { var l = a.getItemLayout(r); if (!l) return; s = new o(a, r), s.position = l, s.setZ(t.get('zlevel'), t.get('z')), s.ignore = isNaN(l[0]) || isNaN(l[1]), s.__temp = !0, a.setItemGraphicEl(r, s), s.stopSymbolAnimation(!0), this.group.add(s) }s.highlight() } else f.prototype.highlight.call(this, t, e, n, i) }, downplay: function (t, e, n, i) { var a = t.getData(), r = u.queryDataIndex(a, i); if (r != null && r >= 0) { var o = a.getItemGraphicEl(r); o && (o.__temp ? (a.setItemGraphicEl(r, null), this.group.remove(o)) : o.downplay()) } else f.prototype.downplay.call(this, t, e, n, i) }, _newPolyline: function (t) { var e = this._polyline; return e && this._lineGroup.remove(e), e = new h({shape: {points: t}, silent: !0, z2: 10}), this._lineGroup.add(e), this._polyline = e, e }, _newPolygon: function (t, e) { var n = this._polygon; return n && this._lineGroup.remove(n), n = new d({shape: {points: t, stackedOnPoints: e}, silent: !0}), this._lineGroup.add(n), this._polygon = n, n }, _updateAnimation: function (t, e, n, i, a, r) { var o = this._polyline, u = this._polygon, c = t.hostModel, h = s(this._data, t, this._stackedOnPoints, e, this._coordSys, n, this._valueOrigin, r), d = h.current, f = h.stackedOnCurrent, p = h.next, g = h.stackedOnNext; a && (d = A(h.current, n, a), f = A(h.stackedOnCurrent, n, a), p = A(h.next, n, a), g = A(h.stackedOnNext, n, a)), o.shape.__points = h.current, o.shape.points = d, l.updateProps(o, {shape: {points: p}}, c), u && (u.setShape({points: d, stackedOnPoints: f}), l.updateProps(u, {shape: {points: p, stackedOnPoints: g}}, c)); for (var m = [], v = h.status, y = 0; y < v.length; y++) { var x = v[y].cmd; if (x === '=') { var _ = t.getItemGraphicEl(v[y].idx1); _ && m.push({el: _, ptIdx: y}) } }o.animators && o.animators.length && o.animators[0].during(function () { for (var t = 0; t < m.length; t++) { var e = m[t].el; e.attr('position', o.shape.__points[m[t].ptIdx]) } }) }, remove: function (t) { var e = this.group, n = this._data; this._lineGroup.removeAll(), this._symbolDraw.remove(!0), n && n.eachItemGraphicEl(function (t, i) { t.__temp && (e.remove(t), n.setItemGraphicEl(i, null)) }), this._polyline = this._polygon = this._coordSys = this._points = this._stackedOnPoints = this._data = null }}); t.exports = L }, f219: function (t, e) { var n = '#eee', i = function () { return {axisLine: {lineStyle: {color: n}}, axisTick: {lineStyle: {color: n}}, axisLabel: {textStyle: {color: n}}, splitLine: {lineStyle: {type: 'dashed', color: '#aaa'}}, splitArea: {areaStyle: {color: n}}} }, a = ['#dd6b66', '#759aa0', '#e69d87', '#8dc1a9', '#ea7e53', '#eedd78', '#73a373', '#73b9bc', '#7289ab', '#91ca8c', '#f49f42'], r = {color: a, backgroundColor: '#333', tooltip: {axisPointer: {lineStyle: {color: n}, crossStyle: {color: n}}}, legend: {textStyle: {color: n}}, textStyle: {color: n}, title: {textStyle: {color: n}}, toolbox: {iconStyle: {normal: {borderColor: n}}}, dataZoom: {textStyle: {color: n}}, visualMap: {textStyle: {color: n}}, timeline: {lineStyle: {color: n}, itemStyle: {normal: {color: a[1]}}, label: {normal: {textStyle: {color: n}}}, controlStyle: {normal: {color: n, borderColor: n}}}, timeAxis: i(), logAxis: i(), valueAxis: i(), categoryAxis: i(), line: {symbol: 'circle'}, graph: {color: a}, gauge: {title: {textStyle: {color: n}}}, candlestick: {itemStyle: {normal: {color: '#FD1050', color0: '#0CF49B', borderColor: '#FD1050', borderColor0: '#0CF49B'}}}}; r.categoryAxis.splitLine.show = !1; var o = r; t.exports = o }, f273: function (t, e, n) { var i = n('6d8b'), a = n('2306'), r = n('fab22'), o = n('6679'), s = n('0156'), l = ['axisLine', 'axisTickLabel', 'axisName'], u = ['splitArea', 'splitLine'], c = o.extend({type: 'cartesianAxis', axisPointerClass: 'CartesianAxisPointer', render: function (t, e, n, o) { this.group.removeAll(); var h = this._axisGroup; if (this._axisGroup = new a.Group(), this.group.add(this._axisGroup), t.get('show')) { var d = t.getCoordSysModel(), f = s.layout(d, t), p = new r(t, f); i.each(l, p.add, p), this._axisGroup.add(p.getGroup()), i.each(u, function (e) { t.get(e + '.show') && this['_' + e](t, d) }, this), a.groupTransition(h, this._axisGroup, t), c.superCall(this, 'render', t, e, n, o) } }, remove: function () { this._splitAreaColors = null }, _splitLine: function (t, e) { var n = t.axis; if (!n.scale.isBlank()) { var r = t.getModel('splitLine'), o = r.getModel('lineStyle'), s = o.get('color'); s = i.isArray(s) ? s : [s]; for (var l = e.coordinateSystem.getRect(), u = n.isHorizontal(), c = 0, h = n.getTicksCoords({tickModel: r}), d = [], f = [], p = o.getLineStyle(), g = 0; g < h.length; g++) { var m = n.toGlobalCoord(h[g].coord); u ? (d[0] = m, d[1] = l.y, f[0] = m, f[1] = l.y + l.height) : (d[0] = l.x, d[1] = m, f[0] = l.x + l.width, f[1] = m); var v = c++ % s.length, y = h[g].tickValue; this._axisGroup.add(new a.Line(a.subPixelOptimizeLine({anid: y != null ? 'line_' + h[g].tickValue : null, shape: {x1: d[0], y1: d[1], x2: f[0], y2: f[1]}, style: i.defaults({stroke: s[v]}, p), silent: !0}))) } } }, _splitArea: function (t, e) { var n = t.axis; if (!n.scale.isBlank()) { var r = t.getModel('splitArea'), o = r.getModel('areaStyle'), s = o.get('color'), l = e.coordinateSystem.getRect(), u = n.getTicksCoords({tickModel: r, clamp: !0}); if (u.length) { var c = s.length, h = this._splitAreaColors, d = i.createHashMap(), f = 0; if (h) for (var p = 0; p < u.length; p++) { var g = h.get(u[p].tickValue); if (g != null) { f = (g + (c - 1) * p) % c; break } } var m = n.toGlobalCoord(u[0].coord), v = o.getAreaStyle(); s = i.isArray(s) ? s : [s]; for (p = 1; p < u.length; p++) { var y, x, _, b, w = n.toGlobalCoord(u[p].coord); n.isHorizontal() ? (y = m, x = l.y, _ = w - y, b = l.height, m = y + _) : (y = l.x, x = m, _ = l.width, b = w - x, m = x + b); var S = u[p - 1].tickValue; S != null && d.set(S, f), this._axisGroup.add(new a.Rect({anid: S != null ? 'area_' + S : null, shape: {x: y, y: x, width: _, height: b}, style: i.defaults({fill: s[f]}, v), silent: !0})), f = (f + 1) % c } this._splitAreaColors = d } } }}); c.extend({type: 'xAxis'}), c.extend({type: 'yAxis'}) }, f279: function (t, e, n) { var i = n('9850'), a = n('e263'), r = n('401b'), o = n('0655'); function s (t, e, n) { if (this.name = t, this.geometries = e, n)n = [n[0], n[1]]; else { var i = this.getBoundingRect(); n = [i.x + i.width / 2, i.y + i.height / 2] } this.center = n }s.prototype = {constructor: s, properties: null, getBoundingRect: function () { var t = this._rect; if (t) return t; for (var e = Number.MAX_VALUE, n = [e, e], o = [-e, -e], s = [], l = [], u = this.geometries, c = 0; c < u.length; c++) if (u[c].type === 'polygon') { var h = u[c].exterior; a.fromPoints(h, s, l), r.min(n, n, s), r.max(o, o, l) } return c === 0 && (n[0] = n[1] = o[0] = o[1] = 0), this._rect = new i(n[0], n[1], o[0] - n[0], o[1] - n[1]) }, contain: function (t) { var e = this.getBoundingRect(), n = this.geometries; if (!e.contain(t[0], t[1])) return !1; t:for (var i = 0, a = n.length; i < a; i++) if (n[i].type === 'polygon') { var r = n[i].exterior, s = n[i].interiors; if (o.contain(r, t[0], t[1])) { for (var l = 0; l < (s ? s.length : 0); l++) if (o.contain(s[l])) continue t; return !0 } } return !1 }, transformTo: function (t, e, n, a) { var o = this.getBoundingRect(), s = o.width / o.height; n ? a || (a = n / s) : n = s * a; for (var l = new i(t, e, n, a), u = o.calculateTransform(l), c = this.geometries, h = 0; h < c.length; h++) if (c[h].type === 'polygon') { for (var d = c[h].exterior, f = c[h].interiors, p = 0; p < d.length; p++)r.applyTransform(d[p], d[p], u); for (var g = 0; g < (f ? f.length : 0); g++) for (p = 0; p < f[g].length; p++)r.applyTransform(f[g][p], f[g][p], u) }o = this._rect, o.copy(l), this.center = [o.x + o.width / 2, o.y + o.height / 2] }}; var l = s; t.exports = l }, f306: function (t, e, n) { var i = n('3eba'), a = n('6d8b'), r = n('88b3'), o = n('6569'); n('849b'), n('217c'), n('c515'); var s = 5; i.extendComponentView({type: 'parallel', render: function (t, e, n) { this._model = t, this._api = n, this._handlers || (this._handlers = {}, a.each(l, function (t, e) { n.getZr().on(e, this._handlers[e] = a.bind(t, this)) }, this)), r.createOrUpdate(this, '_throttledDispatchExpand', t.get('axisExpandRate'), 'fixRate') }, dispose: function (t, e) { a.each(this._handlers, function (t, n) { e.getZr().off(n, t) }), this._handlers = null }, _throttledDispatchExpand: function (t) { this._dispatchExpand(t) }, _dispatchExpand: function (t) { t && this._api.dispatchAction(a.extend({type: 'parallelAxisExpand'}, t)) }}); var l = {mousedown: function (t) { u(this, 'click') && (this._mouseDownPoint = [t.offsetX, t.offsetY]) }, mouseup: function (t) { var e = this._mouseDownPoint; if (u(this, 'click') && e) { var n = [t.offsetX, t.offsetY], i = Math.pow(e[0] - n[0], 2) + Math.pow(e[1] - n[1], 2); if (i > s) return; var a = this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX, t.offsetY]); a.behavior !== 'none' && this._dispatchExpand({axisExpandWindow: a.axisExpandWindow}) } this._mouseDownPoint = null }, mousemove: function (t) { if (!this._mouseDownPoint && u(this, 'mousemove')) { var e = this._model, n = e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX, t.offsetY]), i = n.behavior; i === 'jump' && this._throttledDispatchExpand.debounceNextCall(e.get('axisExpandDebounce')), this._throttledDispatchExpand(i === 'none' ? null : {axisExpandWindow: n.axisExpandWindow, animation: i === 'jump' && null}) } }}; function u (t, e) { var n = t._model; return n.get('axisExpandable') && n.get('axisExpandTriggerOn') === e }i.registerPreprocessor(o) }, f31f: function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('3eba')), r = n('6d8b'), o = n('2b8c'), s = n('4319'), l = ['#ddd'], u = a.extendComponentModel({type: 'brush', dependencies: ['geo', 'grid', 'xAxis', 'yAxis', 'parallel', 'series'], defaultOption: {toolbox: null, brushLink: null, seriesIndex: 'all', geoIndex: null, xAxisIndex: null, yAxisIndex: null, brushType: 'rect', brushMode: 'single', transformable: !0, brushStyle: {borderWidth: 1, color: 'rgba(120,140,180,0.3)', borderColor: 'rgba(120,140,180,0.8)'}, throttleType: 'fixRate', throttleDelay: 0, removeOnClick: !0, z: 1e4}, areas: [], brushType: null, brushOption: {}, coordInfoList: [], optionUpdated: function (t, e) { var n = this.option; !e && o.replaceVisualOption(n, t, ['inBrush', 'outOfBrush']); var i = n.inBrush = n.inBrush || {}; n.outOfBrush = n.outOfBrush || {color: l}, i.hasOwnProperty('liftZ') || (i.liftZ = 5) }, setAreas: function (t) { t && (this.areas = r.map(t, function (t) { return c(this.option, t) }, this)) }, setBrushOption: function (t) { this.brushOption = c(this.option, t), this.brushType = this.brushOption.brushType }}); function c (t, e) { return r.merge({brushType: t.brushType, brushMode: t.brushMode, transformable: t.transformable, brushStyle: new s(t.brushStyle).getItemStyle(), removeOnClick: t.removeOnClick, z: t.z}, e, !0) } var h = u; t.exports = h }, f47d: function (t, e, n) { var i = n('6d8b'), a = (i.assert, i.isArray), r = n('4e08'); r.__DEV__; function o (t) { return new s(t) } function s (t) { t = t || {}, this._reset = t.reset, this._plan = t.plan, this._count = t.count, this._onDirty = t.onDirty, this._dirty = !0, this.context } var l = s.prototype; l.perform = function (t) { var e, 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), this._plan && !i && (e = this._plan(this.context)); var o, s = f(this._modBy), l = this._modDataCount || 0, u = f(t && t.modBy), d = t && t.modDataCount || 0; function f (t) { return !(t >= 1) && (t = 1), t }s === u && l === d || (e = 'reset'), (this._dirty || e === 'reset') && (this._dirty = !1, o = h(this, i)), this._modBy = u, this._modDataCount = d; var p = t && t.step; if (this._dueEnd = n ? n._outputDueEnd : this._count ? this._count(this.context) : 1 / 0, this._progress) { var g = this._dueIndex, m = Math.min(p != null ? this._dueIndex + p : 1 / 0, this._dueEnd); if (!i && (o || g < m)) { var v = this._progress; if (a(v)) for (var y = 0; y < v.length; y++)c(this, v[y], g, m, u, d); else c(this, v, g, m, u, d) } this._dueIndex = m; var x = this._settedOutputEnd != null ? this._settedOutputEnd : m; this._outputDueEnd = x } else this._dueIndex = this._outputDueEnd = this._settedOutputEnd != null ? this._settedOutputEnd : this._dueEnd; return this.unfinished() }; var u = (function () { var t, e, n, i, a, r = {reset: function (l, u, c, h) { e = l, t = u, n = c, i = h, a = Math.ceil(i / n), r.next = n > 1 && i > 0 ? s : o }}; return r; function o () { return e < t ? e++ : null } function s () { var r = e % a * n + Math.ceil(e / a), o = e >= t ? null : r < i ? r : e; return e++, o } }()); function c (t, e, n, i, a, r) { u.reset(n, i, a, r), t._callingProgress = e, t._callingProgress({start: n, end: i, count: i - n, next: u.next}, t.context) } function h (t, e) { var n, i; t._dueIndex = t._outputDueEnd = t._dueEnd = 0, t._settedOutputEnd = null, !e && t._reset && (n = t._reset(t.context), n && n.progress && (i = n.forceFirstProgress, n = n.progress), a(n) && !n.length && (n = null)), t._progress = n, t._modBy = t._modDataCount = null; var r = t._downstream; return r && r.dirty(), i }l.dirty = function () { this._dirty = !0, this._onDirty && this._onDirty(this.context) }, l.unfinished = function () { return this._progress && this._dueIndex < this._dueEnd }, l.pipe = function (t) { (this._downstream !== t || this._dirty) && (this._downstream = t, t._upstream = this, t.dirty()) }, l.dispose = function () { this._disposed || (this._upstream && (this._upstream._downstream = null), this._downstream && (this._downstream._upstream = null), this._dirty = !1, this._disposed = !0) }, l.getUpstream = function () { return this._upstream }, l.getDownstream = function () { return this._downstream }, l.setOutputEnd = function (t) { this._outputDueEnd = this._settedOutputEnd = t }, e.createTask = o }, f4a2: function (t, e, n) { var i = n('9850'), a = n('c526'), r = a.onIrrelevantElement, o = n('2306'); function s (t) { return t = c(t), function (e, n) { return o.clipPointsByRect(e, t) } } function l (t, e) { return t = c(t), function (n) { var i = e != null ? e : n, a = i ? t.width : t.height, r = i ? t.x : t.y; return [r, r + (a || 0)] } } function u (t, e, n) { return t = c(t), function (i, a, o) { return t.contain(a[0], a[1]) && !r(i, e, n) } } function c (t) { return i.create(t) }e.makeRectPanelClipPath = s, e.makeLinearBrushOtherExtent = l, e.makeRectIsTargetByCursor = u }, f5e6: function (t, e, n) { n('1ccf'), n('b419') }, f610: function (t, e, n) { var i = n('2306'), a = n('f934'), r = n('6d8b'), o = n('55ac'), s = o.wrapTreePathInfo, l = 8, u = 8, c = 5; function h (t) { this.group = new i.Group(), t.add(this.group) } function d (t, e, n, i, a, r) { var o = [[a ? t : t - c, e], [t + n, e], [t + n, e + i], [a ? t : t - c, e + i]]; return !r && o.splice(2, 0, [t + n + c, e + i / 2]), !a && o.push([t, e + i / 2]), o } function f (t, e, n) { t.eventData = {componentType: 'series', componentSubType: 'treemap', seriesIndex: e.componentIndex, seriesName: e.name, seriesType: 'treemap', selfType: 'breadcrumb', nodeData: {dataIndex: n && n.dataIndex, name: n && n.name}, treePathInfo: n && s(n, e)} }h.prototype = {constructor: h, render: function (t, e, n, i) { var r = t.getModel('breadcrumb'), o = this.group; if (o.removeAll(), r.get('show') && n) { var s = r.getModel('itemStyle'), l = s.getModel('textStyle'), u = {pos: {left: r.get('left'), right: r.get('right'), top: r.get('top'), bottom: r.get('bottom')}, box: {width: e.getWidth(), height: e.getHeight()}, emptyItemWidth: r.get('emptyItemWidth'), totalWidth: 0, renderList: []}; this._prepare(n, u, l), this._renderContent(t, u, s, l, i), a.positionElement(o, u.pos, u.box) } }, _prepare: function (t, e, n) { for (var i = t; i; i = i.parentNode) { var a = i.getModel().get('name'), r = n.getTextRect(a), o = Math.max(r.width + 2 * l, e.emptyItemWidth); e.totalWidth += o + u, e.renderList.push({node: i, text: a, width: o}) } }, _renderContent: function (t, e, n, o, s) { for (var l = 0, c = e.emptyItemWidth, h = t.get('breadcrumb.height'), p = a.getAvailableSize(e.pos, e.box), g = e.totalWidth, m = e.renderList, v = m.length - 1; v >= 0; v--) { var y = m[v], x = y.node, _ = y.width, b = y.text; g > p.width && (g -= _ - c, _ = c, b = null); var w = new i.Polygon({shape: {points: d(l, 0, _, h, v === m.length - 1, v === 0)}, style: r.defaults(n.getItemStyle(), {lineJoin: 'bevel', text: b, textFill: o.getTextColor(), textFont: o.getFont()}), z: 10, onclick: r.curry(s, x)}); this.group.add(w), f(w, t, x), l += _ + u } }, remove: function () { this.group.removeAll() }}; var p = h; t.exports = p }, f6ed: function (t, e, n) { var i = n('6d8b'); function a (t, e) { var n = {}; return i.each(t, function (t) { t.each(t.mapDimension('value'), function (e, i) { var a = 'ec-' + t.getName(i); n[a] = n[a] || [], isNaN(e) || n[a].push(e) }) }), t[0].map(t[0].mapDimension('value'), function (i, a) { for (var r, o = 'ec-' + t[0].getName(a), s = 0, l = 1 / 0, u = -1 / 0, c = n[o].length, h = 0; h < c; h++)l = Math.min(l, n[o][h]), u = Math.max(u, n[o][h]), s += n[o][h]; return r = e === 'min' ? l : e === 'max' ? u : e === 'average' ? s / c : s, c === 0 ? NaN : r }) } function r (t) { var e = {}; t.eachSeriesByType('map', function (t) { var n = t.getHostGeoModel(), i = n ? 'o' + n.id : 'i' + t.getMapType(); (e[i] = e[i] || []).push(t) }), i.each(e, function (t, e) { for (var n = a(i.map(t, function (t) { return t.getData() }), t[0].get('mapValueCalculation')), r = 0; r < t.length; r++)t[r].originalData = t[r].getData(); for (r = 0; r < t.length; r++)t[r].seriesGroup = t, t[r].needsDrawMap = r === 0 && !t[r].getHostGeoModel(), t[r].setData(n.cloneShallow()), t[r].mainSeries = t[0] }) }t.exports = r }, f706: function (t, e, n) { var i = n('2306'), a = n('1418'), r = n('6d8b'), o = r.isObject; function s (t) { this.group = new i.Group(), this._symbolCtor = t || a } var l = s.prototype; function u (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])) && t.getItemVisual(n, 'symbol') !== 'none' } function c (t) { return t == null || o(t) || (t = {isIgnore: t}), t || {} } function h (t) { var e = t.hostModel; return {itemStyle: e.getModel('itemStyle').getItemStyle(['color']), hoverItemStyle: e.getModel('emphasis.itemStyle').getItemStyle(), symbolRotate: e.get('symbolRotate'), symbolOffset: e.get('symbolOffset'), hoverAnimation: e.get('hoverAnimation'), labelModel: e.getModel('label'), hoverLabelModel: e.getModel('emphasis.label'), cursorStyle: e.get('cursor')} }l.updateData = function (t, e) { e = c(e); var n = this.group, a = t.hostModel, r = this._data, o = this._symbolCtor, s = h(t); r || n.removeAll(), t.diff(r).add(function (i) { var a = t.getItemLayout(i); if (u(t, a, i, e)) { var r = new o(t, i, s); r.attr('position', a), t.setItemGraphicEl(i, r), n.add(r) } }).update(function (l, c) { var h = r.getItemGraphicEl(c), d = t.getItemLayout(l); u(t, d, l, e) ? (h ? (h.updateData(t, l, s), i.updateProps(h, {position: d}, a)) : (h = new o(t, l), h.attr('position', d)), n.add(h), t.setItemGraphicEl(l, h)) : n.remove(h) }).remove(function (t) { var e = r.getItemGraphicEl(t); e && e.fadeOut(function () { n.remove(e) }) }).execute(), this._data = t }, l.isPersistent = function () { return !0 }, l.updateLayout = function () { var t = this._data; t && t.eachItemGraphicEl(function (e, n) { var i = t.getItemLayout(n); e.attr('position', i) }) }, l.incrementalPrepareUpdate = function (t) { this._seriesScope = h(t), this._data = null, this.group.removeAll() }, l.incrementalUpdate = function (t, e, n) { function i (t) { t.isGroup || (t.incremental = t.useHoverLayer = !0) }n = c(n); for (var a = t.start; a < t.end; a++) { var r = e.getItemLayout(a); if (u(e, r, a, n)) { var o = new this._symbolCtor(e, a, this._seriesScope); o.traverse(i), o.attr('position', r), this.group.add(o), e.setItemGraphicEl(a, o) } } }, l.remove = function (t) { var e = this.group, n = this._data; n && t ? n.eachItemGraphicEl(function (t) { t.fadeOut(function () { e.remove(t) }) }) : e.removeAll() }; var d = s; t.exports = d }, f7c6: function (t, e, n) { var i = n('3eba'), a = n('e46b'), r = n('6d8b'), o = n('e0d3'), s = n('3842'), l = s.getPercentWithPrecision, u = n('7023'), c = n('2b17'), h = c.retrieveRawAttr, d = i.extendSeriesModel({type: 'series.pie', init: function (t) { d.superApply(this, 'init', arguments), this.legendDataProvider = function () { return this.getRawData() }, this.updateSelectedMap(this._createSelectableList()), this._defaultLabelLine(t) }, mergeOption: function (t) { d.superCall(this, 'mergeOption', t), this.updateSelectedMap(this._createSelectableList()) }, getInitialData: function (t, e) { return a(this, ['value']) }, _createSelectableList: function () { for (var t = this.getRawData(), e = t.mapDimension('value'), n = [], i = 0, a = t.count(); i < a; i++)n.push({name: t.getName(i), value: t.get(e, i), selected: h(t, i, 'selected')}); return n }, getDataParams: function (t) { var e = this.getData(), n = d.superCall(this, 'getDataParams', t), i = []; return e.each(e.mapDimension('value'), function (t) { i.push(t) }), n.percent = l(i, t, e.hostModel.get('percentPrecision')), n.$vars.push('percent'), n }, _defaultLabelLine: function (t) { o.defaultEmphasis(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 }, defaultOption: {zlevel: 0, z: 2, legendHoverLink: !0, hoverAnimation: !0, center: ['50%', '50%'], radius: [0, '75%'], clockwise: !0, startAngle: 90, minAngle: 0, selectedOffset: 10, hoverOffset: 10, avoidLabelOverlap: !0, percentPrecision: 2, stillShowZeroSum: !0, label: {rotate: !1, show: !0, position: 'outer'}, labelLine: {show: !0, length: 15, length2: 15, smooth: !1, lineStyle: {width: 1, type: 'solid'}}, itemStyle: {borderWidth: 1}, animationType: 'expansion', animationEasing: 'cubicOut'}}); r.mixin(d, u); var f = d; t.exports = f }, f934: function (t, e, n) { var i = n('6d8b'), a = n('9850'), r = n('3842'), o = r.parsePercent, s = n('eda2'), l = i.each, u = ['left', 'right', 'top', 'bottom', 'width', 'height'], c = [['width', 'left', 'right'], ['height', 'top', 'bottom']]; function h (t, e, n, i, a) { var r = 0, o = 0; i == null && (i = 1 / 0), a == null && (a = 1 / 0); var s = 0; e.eachChild(function (l, u) { var c, h, d = l.position, f = l.getBoundingRect(), p = e.childAt(u + 1), g = p && p.getBoundingRect(); if (t === 'horizontal') { var m = f.width + (g ? -g.x + f.x : 0); c = r + m, c > i || l.newline ? (r = 0, c = m, o += s + n, s = f.height) : s = Math.max(s, f.height) } else { var v = f.height + (g ? -g.y + f.y : 0); h = o + v, h > a || l.newline ? (r += s + n, o = 0, h = v, s = f.width) : s = Math.max(s, f.width) }l.newline || (d[0] = r, d[1] = o, t === 'horizontal' ? r = c + n : o = h + n) }) } var d = h, f = i.curry(h, 'vertical'), p = i.curry(h, 'horizontal'); function g (t, e, n) { var i = e.width, a = e.height, r = o(t.x, i), l = o(t.y, a), u = o(t.x2, i), c = o(t.y2, a); return (isNaN(r) || isNaN(parseFloat(t.x))) && (r = 0), (isNaN(u) || isNaN(parseFloat(t.x2))) && (u = i), (isNaN(l) || isNaN(parseFloat(t.y))) && (l = 0), (isNaN(c) || isNaN(parseFloat(t.y2))) && (c = a), n = s.normalizeCssArray(n || 0), {width: Math.max(u - r - n[1] - n[3], 0), height: Math.max(c - l - n[0] - n[2], 0)} } function m (t, e, n) { n = s.normalizeCssArray(n || 0); var i = e.width, r = e.height, l = o(t.left, i), u = o(t.top, r), c = o(t.right, i), h = o(t.bottom, r), d = o(t.width, i), f = o(t.height, r), p = n[2] + n[0], g = n[1] + n[3], m = t.aspect; switch (isNaN(d) && (d = i - c - g - l), isNaN(f) && (f = r - h - p - u), m != null && (isNaN(d) && isNaN(f) && (m > i / r ? d = 0.8 * i : f = 0.8 * r), isNaN(d) && (d = m * f), isNaN(f) && (f = d / m)), isNaN(l) && (l = i - c - d - g), isNaN(u) && (u = r - h - f - p), t.left || t.right) { case 'center':l = i / 2 - d / 2 - n[3]; break; case 'right':l = i - d - g; break } switch (t.top || t.bottom) { case 'middle':case 'center':u = r / 2 - f / 2 - n[0]; break; case 'bottom':u = r - f - p; break }l = l || 0, u = u || 0, isNaN(d) && (d = i - g - l - (c || 0)), isNaN(f) && (f = r - p - u - (h || 0)); var v = new a(l + n[3], u + n[0], d, f); return v.margin = n, v } function v (t, e, n, r, o) { var s = !o || !o.hv || o.hv[0], l = !o || !o.hv || o.hv[1], u = o && o.boundingMode || 'all'; if (s || l) { var c; if (u === 'raw')c = t.type === 'group' ? new a(0, 0, +e.width || 0, +e.height || 0) : t.getBoundingRect(); else if (c = t.getBoundingRect(), t.needLocalTransform()) { var h = t.getLocalTransform(); c = c.clone(), c.applyTransform(h) }e = m(i.defaults({width: c.width, height: c.height}, e), n, r); var d = t.position, f = s ? e.x - c.x : 0, p = l ? e.y - c.y : 0; t.attr('position', u === 'raw' ? [f, p] : [d[0] + f, d[1] + p]) } } function y (t, e) { return t[c[e][0]] != null || t[c[e][1]] != null && t[c[e][2]] != null } function x (t, e, n) { !i.isObject(n) && (n = {}); var a = n.ignoreSize; !i.isArray(a) && (a = [a, a]); var r = s(c[0], 0), o = s(c[1], 1); function s (n, i) { var r = {}, o = 0, s = {}, c = 0, d = 2; if (l(n, function (e) { s[e] = t[e] }), l(n, function (t) { u(e, t) && (r[t] = s[t] = e[t]), h(r, t) && o++, h(s, t) && c++ }), a[i]) return h(e, n[1]) ? s[n[2]] = null : h(e, n[2]) && (s[n[1]] = null), s; if (c !== d && o) { if (o >= d) return r; for (var f = 0; f < n.length; f++) { var p = n[f]; if (!u(r, p) && u(t, p)) { r[p] = t[p]; break } } return r } return s } function u (t, e) { return t.hasOwnProperty(e) } function h (t, e) { return t[e] != null && t[e] !== 'auto' } function d (t, e, n) { l(t, function (t) { e[t] = n[t] }) }d(c[0], t, r), d(c[1], t, o) } function _ (t) { return b({}, t) } function b (t, e) { return e && t && l(u, function (n) { e.hasOwnProperty(n) && (t[n] = e[n]) }), t }e.LOCATION_PARAMS = u, e.HV_NAMES = c, e.box = d, e.vbox = f, e.hbox = p, e.getAvailableSize = g, e.getLayoutRect = m, e.positionElement = v, e.sizeCalculable = y, e.mergeLayoutParam = x, e.getLayoutParams = _, e.copyLayoutParams = b }, fa52: function (t, e, n) { var i = n('3eba'); n('febc'), n('dcea'); var a = n('2f91'), r = n('ecf8'); i.registerVisual(a), i.registerLayout(r) }, fab22: function (t, e, n) { var i = n('6d8b'), a = i.retrieve, r = i.defaults, o = i.extend, s = i.each, l = n('eda2'), u = n('2306'), c = n('4319'), h = n('3842'), d = h.isRadianAroundZero, f = h.remRadian, p = n('a15a'), g = p.createSymbol, m = n('1687'), v = n('401b'), y = v.applyTransform, x = Math.PI; function _ (t) { var e = {componentType: t.mainType}; return e[t.mainType + 'Index'] = t.componentIndex, e } var b = function (t, e) { this.opt = e, this.axisModel = t, r(e, {labelOffset: 0, nameDirection: 1, tickDirection: 1, labelDirection: 1, silent: !0}), this.group = new u.Group(); var n = new u.Group({position: e.position.slice(), rotation: e.rotation}); n.updateTransform(), this._transform = n.transform, this._dumbGroup = n }; b.prototype = {constructor: b, hasBuilder: function (t) { return !!w[t] }, add: function (t) { w[t].call(this) }, getGroup: function () { return this.group }}; var w = {axisLine: function () { var t = this.opt, e = this.axisModel; if (e.get('axisLine.show')) { var n = this.axisModel.axis.getExtent(), i = this._transform, a = [n[0], 0], r = [n[1], 0]; i && (y(a, a, i), y(r, r, i)); var l = o({lineCap: 'round'}, e.getModel('axisLine.lineStyle').getLineStyle()); this.group.add(new u.Line(u.subPixelOptimizeLine({anid: 'line', shape: {x1: a[0], y1: a[1], x2: r[0], y2: r[1]}, style: l, strokeContainThreshold: t.strokeContainThreshold || 5, silent: !0, z2: 1}))); var c = e.get('axisLine.symbol'), h = e.get('axisLine.symbolSize'), d = e.get('axisLine.symbolOffset') || 0; if (typeof d === 'number' && (d = [d, d]), c != null) { typeof c === 'string' && (c = [c, c]), typeof h !== 'string' && typeof h !== 'number' || (h = [h, h]); var f = h[0], p = h[1]; s([{rotate: t.rotation + Math.PI / 2, offset: d[0], r: 0}, {rotate: t.rotation - Math.PI / 2, offset: d[1], r: Math.sqrt((a[0] - r[0]) * (a[0] - r[0]) + (a[1] - r[1]) * (a[1] - r[1]))}], function (e, n) { if (c[n] !== 'none' && c[n] != null) { var i = g(c[n], -f / 2, -p / 2, f, p, l.stroke, !0), r = e.r + e.offset, o = [a[0] + r * Math.cos(t.rotation), a[1] - r * Math.sin(t.rotation)]; i.attr({rotation: e.rotate, position: o, silent: !0}), this.group.add(i) } }, this) } } }, axisTickLabel: function () { var t = this.axisModel, e = this.opt, n = L(this, t, e), i = P(this, t, e); A(t, i, n) }, axisName: function () { var t = this.opt, e = this.axisModel, n = a(t.axisName, e.get('name')); if (n) { var i, r, s = e.get('nameLocation'), c = t.nameDirection, h = e.getModel('nameTextStyle'), d = e.get('nameGap') || 0, f = this.axisModel.axis.getExtent(), p = f[0] > f[1] ? -1 : 1, g = [s === 'start' ? f[0] - p * d : s === 'end' ? f[1] + p * d : (f[0] + f[1]) / 2, D(s) ? t.labelOffset + c * d : 0], m = e.get('nameRotate'); m != null && (m = m * x / 180), D(s) ? i = S(t.rotation, m != null ? m : t.rotation, c) : (i = M(t, s, m || 0, f), r = t.axisNameAvailableWidth, r != null && (r = Math.abs(r / Math.sin(i.rotation)), !isFinite(r) && (r = null))); var v = h.getFont(), y = e.get('nameTruncate', !0) || {}, b = y.ellipsis, w = a(t.nameTruncateMaxWidth, y.maxWidth, r), A = b != null && w != null ? l.truncateText(n, w, v, b, {minChar: 2, placeholder: y.placeholder}) : n, T = e.get('tooltip', !0), C = e.mainType, L = {componentType: C, name: n, $vars: ['name']}; L[C + 'Index'] = e.componentIndex; var P = new u.Text({anid: 'name', __fullText: n, __truncatedText: A, position: g, rotation: i.rotation, silent: I(e), z2: 1, tooltip: T && T.show ? o({content: n, formatter: function () { return n }, formatterParams: L}, T) : null}); u.setTextStyle(P.style, h, {text: A, textFont: v, textFill: h.getTextColor() || e.get('axisLine.lineStyle.color'), textAlign: i.textAlign, textVerticalAlign: i.textVerticalAlign}), e.get('triggerEvent') && (P.eventData = _(e), P.eventData.targetType = 'axisName', P.eventData.name = n), this._dumbGroup.add(P), P.updateTransform(), this.group.add(P), P.decomposeTransform() } }}, S = b.innerTextLayout = function (t, e, n) { var i, a, r = f(e - t); return d(r) ? (a = n > 0 ? 'top' : 'bottom', i = 'center') : d(r - x) ? (a = n > 0 ? 'bottom' : 'top', i = 'center') : (a = 'middle', i = r > 0 && r < x ? n > 0 ? 'right' : 'left' : n > 0 ? 'left' : 'right'), {rotation: r, textAlign: i, textVerticalAlign: a} }; function M (t, e, n, i) { var a, r, o = f(n - t.rotation), s = i[0] > i[1], l = e === 'start' && !s || e !== 'start' && s; return d(o - x / 2) ? (r = l ? 'bottom' : 'top', a = 'center') : d(o - 1.5 * x) ? (r = l ? 'top' : 'bottom', a = 'center') : (r = 'middle', a = o < 1.5 * x && o > x / 2 ? l ? 'left' : 'right' : l ? 'right' : 'left'), {rotation: o, textAlign: a, textVerticalAlign: r} } function I (t) { var e = t.get('tooltip'); return t.get('silent') || !(t.get('triggerEvent') || e && e.show) } function A (t, e, n) { var i = t.get('axisLabel.showMinLabel'), a = t.get('axisLabel.showMaxLabel'); e = e || [], n = n || []; var r = e[0], o = e[1], s = e[e.length - 1], l = e[e.length - 2], u = n[0], c = n[1], h = n[n.length - 1], d = n[n.length - 2]; !1 === i ? (T(r), T(u)) : C(r, o) && (i ? (T(o), T(c)) : (T(r), T(u))), !1 === a ? (T(s), T(h)) : C(l, s) && (a ? (T(l), T(d)) : (T(s), T(h))) } function T (t) { t && (t.ignore = !0) } function C (t, e, n) { var i = t && t.getBoundingRect().clone(), a = e && e.getBoundingRect().clone(); if (i && a) { var r = m.identity([]); return m.rotate(r, r, -t.rotation), i.applyTransform(m.mul([], r, t.getLocalTransform())), a.applyTransform(m.mul([], r, e.getLocalTransform())), i.intersect(a) } } function D (t) { return t === 'middle' || t === 'center' } function L (t, e, n) { var i = e.axis; if (e.get('axisTick.show') && !i.scale.isBlank()) { for (var a = e.getModel('axisTick'), o = a.getModel('lineStyle'), s = a.get('length'), l = i.getTicksCoords(), c = [], h = [], d = t._transform, f = [], p = 0; p < l.length; p++) { var g = l[p].coord; c[0] = g, c[1] = 0, h[0] = g, h[1] = n.tickDirection * s, d && (y(c, c, d), y(h, h, d)); var m = new u.Line(u.subPixelOptimizeLine({anid: 'tick_' + l[p].tickValue, shape: {x1: c[0], y1: c[1], x2: h[0], y2: h[1]}, style: r(o.getLineStyle(), {stroke: e.get('axisLine.lineStyle.color')}), z2: 2, silent: !0})); t.group.add(m), f.push(m) } return f } } function P (t, e, n) { var i = e.axis, r = a(n.axisLabelShow, e.get('axisLabel.show')); if (r && !i.scale.isBlank()) { var o = e.getModel('axisLabel'), l = o.get('margin'), h = i.getViewLabels(), d = (a(n.labelRotate, o.get('rotate')) || 0) * x / 180, f = S(n.rotation, d, n.labelDirection), p = e.getCategories(!0), g = [], m = I(e), v = e.get('triggerEvent'); return s(h, function (a, r) { var s = a.tickValue, h = a.formattedLabel, d = a.rawLabel, y = o; p && p[s] && p[s].textStyle && (y = new c(p[s].textStyle, o, e.ecModel)); var x = y.getTextColor() || e.get('axisLine.lineStyle.color'), b = i.dataToCoord(s), w = [b, n.labelOffset + n.labelDirection * l], S = new u.Text({anid: 'label_' + s, position: w, rotation: f.rotation, silent: m, z2: 10}); u.setTextStyle(S.style, y, {text: h, textAlign: y.getShallow('align', !0) || f.textAlign, textVerticalAlign: y.getShallow('verticalAlign', !0) || y.getShallow('baseline', !0) || f.textVerticalAlign, textFill: typeof x === 'function' ? x(i.type === 'category' ? d : i.type === 'value' ? s + '' : s, r) : x}), v && (S.eventData = _(e), S.eventData.targetType = 'axisLabel', S.eventData.value = d), t._dumbGroup.add(S), S.updateTransform(), g.push(S), t.group.add(S), S.decomposeTransform() }), g } } var k = b; t.exports = k }, fb05: function (t, e, n) { var i = n('6d8b'), a = i.each, r = i.isArray, o = i.isObject, s = n('26e1'), l = n('e0d3'), u = l.normalizeToArray; function c (t, e) { e = e.split(','); for (var n = t, i = 0; i < e.length; i++) if (n = n && n[e[i]], n == null) break; return n } function h (t, e, n, i) { e = e.split(','); for (var a, r = t, o = 0; o < e.length - 1; o++)a = e[o], r[a] == null && (r[a] = {}), r = r[a]; (i || r[e[o]] == null) && (r[e[o]] = n) } function d (t) { a(f, function (e) { e[0] in t && !(e[1] in t) && (t[e[1]] = t[e[0]]) }) } var f = [['x', 'left'], ['y', 'top'], ['x2', 'right'], ['y2', 'bottom']], p = ['grid', 'geo', 'parallel', 'legend', 'toolbox', 'title', 'visualMap', 'dataZoom', 'timeline']; function g (t, e) { s(t, e), t.series = u(t.series), a(t.series, function (t) { if (o(t)) { var e = t.type; if (e !== 'pie' && e !== 'gauge' || t.clockWise != null && (t.clockwise = t.clockWise), e === 'gauge') { var n = c(t, 'pointer.color'); n != null && h(t, 'itemStyle.normal.color', n) }d(t) } }), t.dataRange && (t.visualMap = t.dataRange), a(p, function (e) { var n = t[e]; n && (r(n) || (n = [n]), a(n, function (t) { d(t) })) }) }t.exports = g }, fc82: function (t, e, n) { var i = n('4e08'), a = (i.__DEV__, n('6d8b')), r = n('1fab'), o = n('2306'), s = n('a4fe'), l = n('80f0'), u = a.curry, c = a.each, h = a.map, d = Math.min, f = Math.max, p = Math.pow, g = 1e4, m = 6, v = 6, y = 'globalPan', x = {w: [0, 0], e: [0, 1], n: [1, 0], s: [1, 1]}, _ = {w: 'ew', e: 'ew', n: 'ns', s: 'ns', ne: 'nesw', sw: 'nesw', nw: 'nwse', se: 'nwse'}, b = {brushStyle: {lineWidth: 2, stroke: 'rgba(0,0,0,0.3)', fill: 'rgba(0,0,0,0.1)'}, transformable: !0, brushMode: 'single', removeOnClick: !1}, w = 0; function S (t) { r.call(this), this._zr = t, this.group = new o.Group(), this._brushType, this._brushOption, this._panels, this._track = [], this._dragging, this._covers = [], this._creatingCover, this._creatingPanel, this._enableGlobalPan, this._uid = 'brushController_' + w++, this._handlers = {}, c(nt, function (t, e) { this._handlers[e] = a.bind(t, this) }, this) } function M (t, e) { var n = t._zr; t._enableGlobalPan || s.take(n, y, t._uid), c(t._handlers, function (t, e) { n.on(e, t) }), t._brushType = e.brushType, t._brushOption = a.merge(a.clone(b), e, !0) } function I (t) { var e = t._zr; s.release(e, y, t._uid), c(t._handlers, function (t, n) { e.off(n, t) }), t._brushType = t._brushOption = null } function A (t, e) { var n = at[e.brushType].createCover(t, e); return n.__brushOption = e, D(n, e), t.group.add(n), n } function T (t, e) { var n = P(e); return n.endCreating && (n.endCreating(t, e), D(e, e.__brushOption)), e } function C (t, e) { var n = e.__brushOption; P(e).updateCoverShape(t, e, n.range, n) } function D (t, e) { var n = e.z; n == null && (n = g), t.traverse(function (t) { t.z = n, t.z2 = n }) } function L (t, e) { P(e).updateCommon(t, e), C(t, e) } function P (t) { return at[t.__brushOption.brushType] } function k (t, e, n) { var i, a = t._panels; if (!a) return !0; var r = t._transform; return c(a, function (t) { t.isTargetByCursor(e, n, r) && (i = t) }), i } function O (t, e) { var n = t._panels; if (!n) return !0; var i = e.__brushOption.panelId; return i == null || n[i] } function R (t) { var e = t._covers, n = e.length; return c(e, function (e) { t.group.remove(e) }, t), e.length = 0, !!n } function E (t, e) { var n = h(t._covers, function (t) { var e = t.__brushOption, n = a.clone(e.range); return {brushType: e.brushType, panelId: e.panelId, range: n} }); t.trigger('brush', n, {isEnd: !!e.isEnd, removeOnClick: !!e.removeOnClick}) } function N (t) { var e = t._track; if (!e.length) return !1; var n = e[e.length - 1], i = e[0], a = n[0] - i[0], r = n[1] - i[1], o = p(a * a + r * r, 0.5); return o > m } function z (t) { var e = t.length - 1; return e < 0 && (e = 0), [t[0], t[e]] } function V (t, e, n, i) { var a = new o.Group(); return a.add(new o.Rect({name: 'main', style: H(n), silent: !0, draggable: !0, cursor: 'move', drift: u(t, e, a, 'nswe'), ondragend: u(E, e, {isEnd: !0})})), c(i, function (n) { a.add(new o.Rect({name: n, style: {opacity: 0}, draggable: !0, silent: !0, invisible: !0, drift: u(t, e, a, n), ondragend: u(E, e, {isEnd: !0})})) }), a } function B (t, e, n, i) { var a = i.brushStyle.lineWidth || 0, r = f(a, v), o = n[0][0], s = n[1][0], l = o - a / 2, u = s - a / 2, c = n[0][1], h = n[1][1], d = c - r + a / 2, p = h - r + a / 2, g = c - o, m = h - s, y = g + a, x = m + a; F(t, e, 'main', o, s, g, m), i.transformable && (F(t, e, 'w', l, u, r, x), F(t, e, 'e', d, u, r, x), F(t, e, 'n', l, u, y, r), F(t, e, 's', l, p, y, r), F(t, e, 'nw', l, u, r, r), F(t, e, 'ne', d, u, r, r), F(t, e, 'sw', l, p, r, r), F(t, e, 'se', d, p, r, r)) } function G (t, e) { var n = e.__brushOption, i = n.transformable, a = e.childAt(0); a.useStyle(H(n)), a.attr({silent: !i, cursor: i ? 'move' : 'default'}), c(['w', 'e', 'n', 's', 'se', 'sw', 'ne', 'nw'], function (n) { var a = e.childOfName(n), r = Z(t, n); a && a.attr({silent: !i, invisible: !i, cursor: i ? _[r] + '-resize' : null}) }) } function F (t, e, n, i, a, r, o) { var s = e.childOfName(n); s && s.setShape($(X(t, e, [[i, a], [i + r, a + o]]))) } function H (t) { return a.defaults({strokeNoScale: !0}, t.brushStyle) } function W (t, e, n, i) { var a = [d(t, n), d(e, i)], r = [f(t, n), f(e, i)]; return [[a[0], r[0]], [a[1], r[1]]] } function U (t) { return o.getTransform(t.group) } function Z (t, e) { if (e.length > 1) { e = e.split(''); var n = [Z(t, e[0]), Z(t, e[1])]; return (n[0] === 'e' || n[0] === 'w') && n.reverse(), n.join('') } var i = {w: 'left', e: 'right', n: 'top', s: 'bottom'}, a = {left: 'w', right: 'e', top: 'n', bottom: 's'}; n = o.transformDirection(i[e], U(t)); return a[n] } function j (t, e, n, i, a, r, o, s) { var l = i.__brushOption, u = t(l.range), h = q(n, r, o); c(a.split(''), function (t) { var e = x[t]; u[e[0]][e[1]] += h[e[0]] }), l.range = e(W(u[0][0], u[1][0], u[0][1], u[1][1])), L(n, i), E(n, {isEnd: !1}) } function Y (t, e, n, i, a) { var r = e.__brushOption.range, o = q(t, n, i); c(r, function (t) { t[0] += o[0], t[1] += o[1] }), L(t, e), E(t, {isEnd: !1}) } function q (t, e, n) { var i = t.group, a = i.transformCoordToLocal(e, n), r = i.transformCoordToLocal(0, 0); return [a[0] - r[0], a[1] - r[1]] } function X (t, e, n) { var i = O(t, e); return i && !0 !== i ? i.clipPath(n, t._transform) : a.clone(n) } function $ (t) { var e = d(t[0][0], t[1][0]), n = d(t[0][1], t[1][1]), i = f(t[0][0], t[1][0]), a = f(t[0][1], t[1][1]); return {x: e, y: n, width: i - e, height: a - n} } function K (t, e, n) { if (t._brushType) { var i = t._zr, a = t._covers, r = k(t, e, n); if (!t._dragging) for (var o = 0; o < a.length; o++) { var s = a[o].__brushOption; if (r && (!0 === r || s.panelId === r.panelId) && at[s.brushType].contain(a[o], n[0], n[1])) return }r && i.setCursorStyle('crosshair') } } function J (t) { var e = t.event; e.preventDefault && e.preventDefault() } function Q (t, e, n) { return t.childOfName('main').contain(e, n) } function tt (t, e, n, i) { var r, o = t._creatingCover, s = t._creatingPanel, l = t._brushOption; if (t._track.push(n.slice()), N(t) || o) { if (s && !o) { l.brushMode === 'single' && R(t); var u = a.clone(l); u.brushType = et(u.brushType, s), u.panelId = !0 === s ? null : s.panelId, o = t._creatingCover = A(t, u), t._covers.push(o) } if (o) { var c = at[et(t._brushType, s)], h = o.__brushOption; h.range = c.getCreatingRange(X(t, o, t._track)), i && (T(t, o), c.updateCommon(t, o)), C(t, o), r = {isEnd: i} } } else i && l.brushMode === 'single' && l.removeOnClick && k(t, e, n) && R(t) && (r = {isEnd: i, removeOnClick: !0}); return r } function et (t, e) { return t === 'auto' ? e.defaultBrushType : t }S.prototype = {constructor: S, enableBrush: function (t) { return this._brushType && I(this), t.brushType && M(this, t), this }, setPanels: function (t) { if (t && t.length) { var e = this._panels = {}; a.each(t, function (t) { e[t.panelId] = a.clone(t) }) } else this._panels = null; return this }, mount: function (t) { t = t || {}, this._enableGlobalPan = t.enableGlobalPan; var e = this.group; return this._zr.add(e), e.attr({position: t.position || [0, 0], rotation: t.rotation || 0, scale: t.scale || [1, 1]}), this._transform = e.getLocalTransform(), this }, eachCover: function (t, e) { c(this._covers, t, e) }, updateCovers: function (t) { t = a.map(t, function (t) { return a.merge(a.clone(b), t, !0) }); var e = '\0-brush-index-', n = this._covers, i = this._covers = [], r = this, o = this._creatingCover; return new l(n, t, u, s).add(c).update(c).remove(h).execute(), this; function s (t, n) { return (t.id != null ? t.id : e + n) + '-' + t.brushType } function u (t, e) { return s(t.__brushOption, e) } function c (e, a) { var s = t[e]; if (a != null && n[a] === o)i[e] = n[a]; else { var l = i[e] = a != null ? (n[a].__brushOption = s, n[a]) : T(r, A(r, s)); L(r, l) } } function h (t) { n[t] !== o && r.group.remove(n[t]) } }, unmount: function () { return this.enableBrush(!1), R(this), this._zr.remove(this.group), this }, dispose: function () { this.unmount(), this.off() }}, a.mixin(S, r); var nt = {mousedown: function (t) { if (this._dragging)it.call(this, t); else if (!t.target || !t.target.draggable) { J(t); var e = this.group.transformCoordToLocal(t.offsetX, t.offsetY); this._creatingCover = null; var n = this._creatingPanel = k(this, t, e); n && (this._dragging = !0, this._track = [e.slice()]) } }, mousemove: function (t) { var e = this.group.transformCoordToLocal(t.offsetX, t.offsetY); if (K(this, t, e), this._dragging) { J(t); var n = tt(this, t, e, !1); n && E(this, n) } }, mouseup: it}; function it (t) { if (this._dragging) { J(t); var e = this.group.transformCoordToLocal(t.offsetX, t.offsetY), n = tt(this, t, e, !0); this._dragging = !1, this._track = [], this._creatingCover = null, n && E(this, n) } } var at = {lineX: rt(0), lineY: rt(1), rect: {createCover: function (t, e) { return V(u(j, function (t) { return t }, function (t) { return t }), t, e, ['w', 'e', 'n', 's', 'se', 'sw', 'ne', 'nw']) }, getCreatingRange: function (t) { var e = z(t); return W(e[1][0], e[1][1], e[0][0], e[0][1]) }, updateCoverShape: function (t, e, n, i) { B(t, e, n, i) }, updateCommon: G, contain: Q}, polygon: {createCover: function (t, e) { var n = new o.Group(); return n.add(new o.Polyline({name: 'main', style: H(e), silent: !0})), n }, getCreatingRange: function (t) { return t }, endCreating: function (t, e) { e.remove(e.childAt(0)), e.add(new o.Polygon({name: 'main', draggable: !0, drift: u(Y, t, e), ondragend: u(E, t, {isEnd: !0})})) }, updateCoverShape: function (t, e, n, i) { e.childAt(0).setShape({points: X(t, e, n)}) }, updateCommon: G, contain: Q}}; function rt (t) { return {createCover: function (e, n) { return V(u(j, function (e) { var n = [e, [0, 100]]; return t && n.reverse(), n }, function (e) { return e[t] }), e, n, [['w', 'e'], ['n', 's']][t]) }, getCreatingRange: function (e) { var n = z(e), i = d(n[0][t], n[1][t]), a = f(n[0][t], n[1][t]); return [i, a] }, updateCoverShape: function (e, n, i, a) { var r, o = O(e, n); if (!0 !== o && o.getLinearBrushOtherExtent)r = o.getLinearBrushOtherExtent(t, e._transform); else { var s = e._zr; r = [0, [s.getWidth(), s.getHeight()][1 - t]] } var l = [i, r]; t && l.reverse(), B(e, n, l, a) }, updateCommon: G, contain: Q} } var ot = S; t.exports = ot }, fd27: function (t, e, n) { var i = n('9273'), a = n('a991'), r = function (t) { this.name = t || '', this.cx = 0, this.cy = 0, this._radiusAxis = new i(), this._angleAxis = new a(), this._radiusAxis.polar = this._angleAxis.polar = this }; r.prototype = {type: 'polar', axisPointerEnabled: !0, constructor: r, dimensions: ['radius', 'angle'], model: null, containPoint: function (t) { var e = this.pointToCoord(t); return this._radiusAxis.contain(e[0]) && this._angleAxis.contain(e[1]) }, containData: function (t) { return this._radiusAxis.containData(t[0]) && this._angleAxis.containData(t[1]) }, getAxis: function (t) { return this['_' + t + 'Axis'] }, getAxes: function () { return [this._radiusAxis, this._angleAxis] }, getAxesByScale: function (t) { var e = [], n = this._angleAxis, i = this._radiusAxis; return n.scale.type === t && e.push(n), i.scale.type === t && e.push(i), e }, getAngleAxis: function () { return this._angleAxis }, getRadiusAxis: function () { return this._radiusAxis }, getOtherAxis: function (t) { var e = this._angleAxis; return t === e ? this._radiusAxis : e }, getBaseAxis: function () { return this.getAxesByScale('ordinal')[0] || this.getAxesByScale('time')[0] || this.getAngleAxis() }, getTooltipAxes: function (t) { var e = t != null && t !== 'auto' ? this.getAxis(t) : this.getBaseAxis(); return {baseAxes: [e], otherAxes: [this.getOtherAxis(e)]} }, dataToPoint: function (t, e) { return this.coordToPoint([this._radiusAxis.dataToRadius(t[0], e), this._angleAxis.dataToAngle(t[1], e)]) }, pointToData: function (t, e) { var n = this.pointToCoord(t); return [this._radiusAxis.radiusToData(n[0], e), this._angleAxis.angleToData(n[1], e)] }, pointToCoord: function (t) { var e = t[0] - this.cx, n = t[1] - this.cy, i = this.getAngleAxis(), a = i.getExtent(), r = Math.min(a[0], a[1]), o = Math.max(a[0], a[1]); i.inverse ? r = o - 360 : o = r + 360; var s = Math.sqrt(e * e + n * n); e /= s, n /= s; var l = Math.atan2(-n, e) / Math.PI * 180, u = l < r ? 1 : -1; while (l < r || l > o)l += 360 * u; return [s, l] }, coordToPoint: function (t) { var e = t[0], n = t[1] / 180 * Math.PI, i = Math.cos(n) * e + this.cx, a = -Math.sin(n) * e + this.cy; return [i, a] }}; var o = r; t.exports = o }, fd63: function (t, e, n) { var i = n('42e5'), a = {createOnAllSeries: !0, performRawSeries: !0, reset: function (t, e) { var n = t.getData(), a = (t.visualColorAccessPath || 'itemStyle.color').split('.'), r = t.get(a) || t.getColorFromPalette(t.name, null, e.getSeriesCount()); if (n.setVisual('color', r), !e.isSeriesFiltered(t)) { typeof r !== 'function' || r instanceof i || n.each(function (e) { n.setItemVisual(e, 'color', r(t.getDataParams(e))) }); var o = function (t, e) { var n = t.getItemModel(e), i = n.get(a, !0); i != null && t.setItemVisual(e, 'color', i) }; return {dataEach: n.hasItemOption ? o : null} } }}; t.exports = a }, fdde: function (t, e) { var n = {average: function (t) { for (var e = 0, n = 0, i = 0; i < t.length; i++)isNaN(t[i]) || (e += t[i], n++); return n === 0 ? NaN : 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 : NaN }, min: function (t) { for (var e = 1 / 0, n = 0; n < t.length; n++)t[n] < e && (e = t[n]); return isFinite(e) ? e : NaN }, nearest: function (t) { return t[0] }}, i = function (t, e) { return Math.round(t.length / 2) }; function a (t) { return {seriesType: t, modifyOutputEnd: !0, reset: function (t, e, a) { var r = t.getData(), o = t.get('sampling'), s = t.coordinateSystem; if (s.type === 'cartesian2d' && o) { var l, u = s.getBaseAxis(), c = s.getOtherAxis(u), h = u.getExtent(), d = h[1] - h[0], f = Math.round(r.count() / d); if (f > 1) typeof o === 'string' ? l = n[o] : typeof o === 'function' && (l = o), l && t.setData(r.downSample(r.mapDimension(c.dim), 1 / f, l, i)) } }} }t.exports = a }, fe21: function (t, e, n) { var i = n('e86a'), a = n('2306'), r = ['textStyle', 'color'], o = {getTextColor: function (t) { var e = this.ecModel; return this.getShallow('color') || (!t && e ? e.get(r) : null) }, getFont: function () { return a.getFont({fontStyle: this.getShallow('fontStyle'), fontWeight: this.getShallow('fontWeight'), fontSize: this.getShallow('fontSize'), fontFamily: this.getShallow('fontFamily')}, this.ecModel) }, getTextRect: function (t) { return i.getBoundingRect(t, this.getFont(), this.getShallow('align'), this.getShallow('verticalAlign') || this.getShallow('baseline'), this.getShallow('padding'), this.getShallow('rich'), this.getShallow('truncateText')) }}; t.exports = o }, febc: function (t, e, n) { var i = n('6d8b'), a = n('4f85'), r = n('e468'), o = r.seriesModelMixin, s = a.extend({type: 'series.boxplot', dependencies: ['xAxis', 'yAxis', 'grid'], defaultValueDimensions: [{name: 'min', defaultTooltip: !0}, {name: 'Q1', defaultTooltip: !0}, {name: 'median', defaultTooltip: !0}, {name: 'Q3', defaultTooltip: !0}, {name: 'max', defaultTooltip: !0}], dimensions: null, defaultOption: {zlevel: 0, z: 2, coordinateSystem: 'cartesian2d', legendHoverLink: !0, hoverAnimation: !0, layout: null, boxWidth: [7, 50], itemStyle: {color: '#fff', borderWidth: 1}, emphasis: {itemStyle: {borderWidth: 2, shadowBlur: 5, shadowOffsetX: 2, shadowOffsetY: 2, shadowColor: 'rgba(0,0,0,0.4)'}}, animationEasing: 'elasticOut', animationDuration: 800}}); i.mixin(s, o, !0); var l = s; t.exports = l }, fecb: function (t, e, n) { var i = n('6d8b'), a = n('2145'), r = n('29a8'), o = r.toolbox.brush; function s (t, e, n) { this.model = t, this.ecModel = e, this.api = n, this._brushType, this._brushMode }s.defaultOption = {show: !0, type: ['rect', 'polygon', 'lineX', 'lineY', 'keep', 'clear'], icon: {rect: 'M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13', polygon: 'M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2', lineX: 'M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4', lineY: 'M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4', keep: 'M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z', clear: 'M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2'}, title: i.clone(o.title)}; var l = s.prototype; l.render = l.updateView = function (t, e, n) { var a, r, o; e.eachComponent({mainType: 'brush'}, function (t) { a = t.brushType, r = t.brushOption.brushMode || 'single', o |= t.areas.length }), this._brushType = a, this._brushMode = r, i.each(t.get('type', !0), function (e) { t.setIconStatus(e, (e === 'keep' ? r === 'multiple' : e === 'clear' ? o : e === a) ? 'emphasis' : 'normal') }) }, l.getIcons = function () { var t = this.model, e = t.get('icon', !0), n = {}; return i.each(t.get('type', !0), function (t) { e[t] && (n[t] = e[t]) }), n }, l.onclick = function (t, e, n) { var i = this._brushType, a = this._brushMode; n === 'clear' ? (e.dispatchAction({type: 'axisAreaSelect', intervals: []}), e.dispatchAction({type: 'brush', command: 'clear', areas: []})) : e.dispatchAction({type: 'takeGlobalCursor', key: 'brush', brushOption: {brushType: n === 'keep' ? i : i !== n && n, brushMode: n === 'keep' ? a === 'multiple' ? 'single' : 'multiple' : a}}) }, a.register('brush', s); var u = s; t.exports = u }, ff2e: function (t, e, n) { var i = n('6d8b'), a = n('2306'), r = n('e86a'), o = n('eda2'), s = n('1687'), l = n('697e'), u = n('fab22'); function c (t) { var e, n = t.get('type'), i = t.getModel(n + 'Style'); return n === 'line' ? (e = i.getLineStyle(), e.fill = null) : n === 'shadow' && (e = i.getAreaStyle(), e.stroke = null), e } function h (t, e, n, i, a) { var s = n.get('value'), l = f(s, e.axis, e.ecModel, n.get('seriesDataIndices'), {precision: n.get('label.precision'), formatter: n.get('label.formatter')}), u = n.getModel('label'), c = o.normalizeCssArray(u.get('padding') || 0), h = u.getFont(), p = r.getBoundingRect(l, h), g = a.position, m = p.width + c[1] + c[3], v = p.height + c[0] + c[2], y = a.align; y === 'right' && (g[0] -= m), y === 'center' && (g[0] -= m / 2); var x = a.verticalAlign; x === 'bottom' && (g[1] -= v), x === 'middle' && (g[1] -= v / 2), d(g, m, v, i); var _ = u.get('backgroundColor'); _ && _ !== 'auto' || (_ = e.get('axisLine.lineStyle.color')), t.label = {shape: {x: 0, y: 0, width: m, height: v, r: u.get('borderRadius')}, position: g.slice(), style: {text: l, textFont: h, textFill: u.getTextColor(), textPosition: 'inside', fill: _, stroke: u.get('borderColor') || 'transparent', lineWidth: u.get('borderWidth') || 0, shadowBlur: u.get('shadowBlur'), shadowColor: u.get('shadowColor'), shadowOffsetX: u.get('shadowOffsetX'), shadowOffsetY: u.get('shadowOffsetY')}, z2: 10} } function d (t, e, n, i) { var a = i.getWidth(), r = i.getHeight(); t[0] = Math.min(t[0] + e, a) - e, t[1] = Math.min(t[1] + n, r) - n, t[0] = Math.max(t[0], 0), t[1] = Math.max(t[1], 0) } function f (t, e, n, a, r) { t = e.scale.parse(t); var o = e.scale.getLabel(t, {precision: r.precision}), s = r.formatter; if (s) { var u = {value: l.getAxisRawValue(e, t), seriesData: []}; i.each(a, function (t) { var e = n.getSeriesByIndex(t.seriesIndex), i = t.dataIndexInside, a = e && e.getDataParams(i); a && u.seriesData.push(a) }), i.isString(s) ? o = s.replace('{value}', o) : i.isFunction(s) && (o = s(u)) } return o } function p (t, e, n) { var i = s.create(); return s.rotate(i, i, n.rotation), s.translate(i, i, n.position), a.applyTransform([t.dataToCoord(e), (n.labelOffset || 0) + (n.labelDirection || 1) * (n.labelMargin || 0)], i) } function g (t, e, n, i, a, r) { var o = u.innerTextLayout(n.rotation, 0, n.labelDirection); n.labelMargin = a.get('label.margin'), h(e, i, a, r, {position: p(i.axis, t, n), align: o.textAlign, verticalAlign: o.textVerticalAlign}) } function m (t, e, n) { return n = n || 0, {x1: t[n], y1: t[1 - n], x2: e[n], y2: e[1 - n]} } function v (t, e, n) { return n = n || 0, {x: t[n], y: t[1 - n], width: e[n], height: e[1 - n]} } function y (t, e, n, i, a, r) { return {cx: t, cy: e, r0: n, r: i, startAngle: a, endAngle: r, clockwise: !0} }e.buildElStyle = c, e.buildLabelElOption = h, e.getValueLabel = f, e.getTransformedPosition = p, e.buildCartesianSingleLabelElOption = g, e.makeLineShape = m, e.makeRectShape = v, e.makeSectorShape = y }, ffbe: function (t, e, n) {}}])
  