Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
This file has been truncated, but you can view the full file.
/**
* @license
* Copyright (c) 2018 amCharts (Antanas Marcelionis, Martynas Majeris)
*
* This sofware is provided under multiple licenses. Please see below for
* links to appropriate usage.
*
* Free amCharts linkware license. Details and conditions:
* https://github.com/amcharts/amcharts4/blob/master/LICENSE
*
* One of the amCharts commercial licenses. Details and pricing:
* https://www.amcharts.com/online-store/
* https://www.amcharts.com/online-store/licenses-explained/
*
* If in doubt, contact amCharts at contact@amcharts.com
*
* PLEASE DO NOT REMOVE THIS COPYRIGHT NOTICE.
* @hidden
*/
!function(t) {
var e = window.am4internal_webpackJsonp;
window.am4internal_webpackJsonp = function(i, a, o) {
for (var s, l, u, h = 0, c = []; h < i.length; h++)
l = i[h],
r[l] && c.push(r[l][0]),
r[l] = 0;
for (s in a)
Object.prototype.hasOwnProperty.call(a, s) && (t[s] = a[s]);
for (e && e(i, a, o); c.length; )
c.shift()();
if (o)
for (h = 0; h < o.length; h++)
u = n(n.s = o[h]);
return u
}
;
var i = {}
, r = {
a74a: 0
};
function n(e) {
if (i[e])
return i[e].exports;
var r = i[e] = {
i: e,
l: !1,
exports: {}
};
return t[e].call(r.exports, r, r.exports, n),
r.l = !0,
r.exports
}
n.e = function(t) {
var e = r[t];
if (0 === e)
return new Promise(function(t) {
t()
}
);
if (e)
return e[2];
var i = new Promise(function(i, n) {
e = r[t] = [i, n]
}
);
e[2] = i;
var a = document.getElementsByTagName("head")[0]
, o = document.createElement("script");
o.type = "text/javascript",
o.charset = "utf-8",
o.async = !0,
o.timeout = 12e4,
n.nc && o.setAttribute("nonce", n.nc),
o.src = n.p + "deps/" + ({
"0471": "canvg",
"076f": "pdfmake",
bf3e: "xlsx"
}[t] || t) + ".js";
var s = setTimeout(l, 12e4);
function l() {
o.onerror = o.onload = null,
clearTimeout(s);
var e = r[t];
0 !== e && (e && e[1](new Error("Loading chunk " + t + " failed.")),
r[t] = void 0)
}
return o.onerror = o.onload = l,
a.appendChild(o),
i
}
,
n.m = t,
n.c = i,
n.d = function(t, e, i) {
n.o(t, e) || Object.defineProperty(t, e, {
configurable: !1,
enumerable: !0,
get: i
})
}
,
n.n = function(t) {
var e = t && t.__esModule ? function() {
return t.default
}
: function() {
return t
}
;
return n.d(e, "a", e),
e
}
,
n.o = function(t, e) {
return Object.prototype.hasOwnProperty.call(t, e)
}
,
n.p = "",
n.oe = function(t) {
throw console.error(t),
t
}
,
n(n.s = 0)
}({
"+APs": function(t, e, i) {
"use strict";
var r = i("0sYB")
, n = i("Wqjq").codeAt;
r({
target: "String",
proto: !0
}, {
codePointAt: function(t) {
return n(this, t)
}
})
},
"+K/x": function(t, e, i) {
"use strict";
i.d(e, "a", function() {
return o
});
var r = i("m4/l")
, n = i("Uslz")
, a = i("aCit")
, o = function(t) {
function e() {
var e = t.call(this) || this;
return e.className = "CategoryAxisBreak",
e.applyTheme(),
e
}
return Object(r.c)(e, t),
Object.defineProperty(e.prototype, "startPosition", {
get: function() {
if (this.axis)
return this.axis.indexToPosition(this.adjustedStartValue)
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(e.prototype, "endPosition", {
get: function() {
if (this.axis)
return this.axis.indexToPosition(this.adjustedEndValue)
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(e.prototype, "startCategory", {
get: function() {
return this.getPropertyValue("startCategory")
},
set: function(t) {
this.setPropertyValue("startCategory", t) && this.axis && (this.axis.invalidateDataItems(),
this.axis.invalidateSeries())
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(e.prototype, "endCategory", {
get: function() {
return this.getPropertyValue("endCategory")
},
set: function(t) {
this.setPropertyValue("endCategory", t) && this.axis && (this.axis.invalidateDataItems(),
this.axis.invalidateSeries())
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(e.prototype, "startValue", {
get: function() {
var t = this.getPropertyValue("startCategory");
return t ? this.axis.categoryToIndex(t) : this.getPropertyValue("startValue")
},
set: function(t) {
this.setPropertyValue("startValue", t) && this.axis && (this.axis.invalidateDataItems(),
this.axis.invalidateSeries())
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(e.prototype, "endValue", {
get: function() {
var t = this.getPropertyValue("endCategory");
return t ? this.axis.categoryToIndex(t) : this.getPropertyValue("endValue")
},
set: function(t) {
this.setPropertyValue("endValue", t) && this.axis && (this.axis.invalidateDataItems(),
this.axis.invalidateSeries())
},
enumerable: !0,
configurable: !0
}),
e
}(n.a);
a.c.registeredClasses.CategoryAxisBreak = o
},
"+Pwd": function(t, e, i) {
"use strict";
var r = i("0sYB")
, n = i("tNpr")
, a = i("9XRO")
, o = i("xlUI")
, s = [].join
, l = n != Object
, u = o("join", ",");
r({
target: "Array",
proto: !0,
forced: l || !u
}, {
join: function(t) {
return s.call(a(this), void 0 === t ? "," : t)
}
})
},
"+Z4/": function(t, e, i) {
"use strict";
var r = i("UseD")
, n = i("ojxk").indexOf
, a = r.aTypedArray;
(0,
r.exportTypedArrayMethod)("indexOf", function(t) {
return n(a(this), t, arguments.length > 1 ? arguments[1] : void 0)
})
},
"+qIf": function(t, e, i) {
"use strict";
i.d(e, "b", function() {
return u
}),
i.d(e, "a", function() {
return h
}),
i.d(e, "c", function() {
return c
});
var r = i("m4/l")
, n = i("hD5A")
, a = i("o0Lc")
, o = i("Qkdp")
, s = i("Wglt")
, l = i("wUYf")
, u = function(t) {
function e(e) {
var i = e.events.on("removed", function(t) {
t.oldValue.dispose()
}, void 0, !1);
return t.call(this, function() {
i.dispose(),
s.each(e.iterator(), function(t) {
t[1].dispose()
})
}) || this
}
return Object(r.c)(e, t),
e
}(n.b)
, h = function() {
function t() {
this.events = new a.a,
this._dictionary = {}
}
return t.prototype.hasKey = function(t) {
return o.hasKey(this._dictionary, t)
}
,
t.prototype.getKey = function(t) {
return this._dictionary[t]
}
,
t.prototype.insertKey = function(t, e) {
if (o.hasKey(this._dictionary, t))
throw new Error("Key " + t + " already exists in dictionary");
this._dictionary[t] = e,
this.events.isEnabled("insertKey") && this.events.dispatchImmediately("insertKey", {
type: "insertKey",
target: this,
key: t,
newValue: e
})
}
,
t.prototype.setKey = function(t, e) {
if (o.hasKey(this._dictionary, t)) {
var i = this._dictionary[t];
i !== e && (this._dictionary[t] = e,
this.events.isEnabled("setKey") && this.events.dispatchImmediately("setKey", {
type: "setKey",
target: this,
key: t,
oldValue: i,
newValue: e
}),
this.events.isEnabled("removed") && this.events.dispatchImmediately("removed", {
type: "removed",
target: this,
oldValue: i
}))
} else
this._dictionary[t] = e,
this.events.isEnabled("insertKey") && this.events.dispatchImmediately("insertKey", {
type: "insertKey",
target: this,
key: t,
newValue: e
})
}
,
t.prototype.updateKey = function(t, e) {
if (!o.hasKey(this._dictionary, t))
throw new Error("Key " + t + " doesn't exist in dictionary");
var i = this._dictionary[t]
, r = e(i);
i !== r && (this._dictionary[t] = r,
this.events.isEnabled("setKey") && this.events.dispatchImmediately("setKey", {
type: "setKey",
target: this,
key: t,
oldValue: i,
newValue: r
}),
this.events.isEnabled("removed") && this.events.dispatchImmediately("removed", {
type: "removed",
target: this,
oldValue: i
}))
}
,
t.prototype.removeKey = function(t) {
if (o.hasKey(this._dictionary, t)) {
var e = this._dictionary[t];
delete this._dictionary[t],
this.events.isEnabled("removeKey") && this.events.dispatchImmediately("removeKey", {
type: "removeKey",
target: this,
key: t,
oldValue: e
}),
this.events.isEnabled("removed") && this.events.dispatchImmediately("removed", {
type: "removed",
target: this,
oldValue: e
})
}
}
,
t.prototype.insertKeyIfEmpty = function(t, e) {
return this.hasKey(t) || this.insertKey(t, e()),
this.getKey(t)
}
,
t.prototype.clear = function() {
var t = this;
this.events.isEnabled("removed") && o.each(this._dictionary, function(e, i) {
t.events.dispatchImmediately("removed", {
type: "removed",
target: t,
oldValue: i
})
}),
this._dictionary = {},
this.events.isEnabled("cleared") && this.events.dispatchImmediately("cleared", {
type: "cleared",
target: this
})
}
,
t.prototype.copyFrom = function(t) {
var e = this;
s.each(t.iterator(), function(t) {
e.setKey(t[0], t[1])
})
}
,
t.prototype.iterator = function() {
return o.entries(this._dictionary)
}
,
t.prototype[Symbol.iterator] = function() {
var t, e, i, n;
return Object(r.d)(this, function(r) {
switch (r.label) {
case 0:
for (e in t = [],
this._dictionary)
t.push(e);
i = 0,
r.label = 1;
case 1:
return i < t.length ? (n = t[i],
o.hasKey(this._dictionary, n) ? [4, [n, this._dictionary[n]]] : [3, 3]) : [3, 4];
case 2:
r.sent(),
r.label = 3;
case 3:
return i++,
[3, 1];
case 4:
return [2]
}
})
}
,
t.prototype.each = function(t) {
s.each(this.iterator(), function(e) {
var i = Object(r.e)(e, 2)
, n = i[0]
, a = i[1];
return t(n, a)
})
}
,
t.prototype.sortedIterator = function() {
return s.sort(this.iterator(), function(t, e) {
return l.order(t[0], e[0])
})
}
,
t
}()
, c = function(t) {
function e(e) {
var i = t.call(this) || this;
return i.template = e,
i
}
return Object(r.c)(e, t),
Object.defineProperty(e.prototype, "template", {
get: function() {
return this._template
},
set: function(t) {
t.isTemplate = !0,
this._template = t
},
enumerable: !0,
configurable: !0
}),
e.prototype.copyFrom = function(t) {
var e = this;
s.each(t.iterator(), function(t) {
e.setKey(t[0], t[1].clone())
})
}
,
e.prototype.create = function(t) {
var e = this;
return this.insertKeyIfEmpty(t, function() {
return e.template.clone()
})
}
,
e
}(h)
},
"+s7l": function(t, e, i) {
"use strict";
var r = i("9XRO")
, n = i("exNg")
, a = i("tHyI")
, o = i("xlUI")
, s = i("J+FZ")
, l = Math.min
, u = [].lastIndexOf
, h = !!u && 1 / [1].lastIndexOf(1, -0) < 0
, c = o("lastIndexOf")
, p = s("indexOf", {
ACCESSORS: !0,
1: 0
})
, d = h || !c || !p;
t.exports = d ? function(t) {
if (h)
return u.apply(this, arguments) || 0;
var e = r(this)
, i = a(e.length)
, o = i - 1;
for (arguments.length > 1 && (o = l(o, n(arguments[1]))),
o < 0 && (o = i + o); o >= 0; o--)
if (o in e && e[o] === t)
return o || 0;
return -1
}
: u
},
"+uwN": function(t, e, i) {
i("0sYB")({
target: "Math",
stat: !0
}, {
fround: i("I42a")
})
},
"/9XX": function(t, e, i) {
"use strict";
i.d(e, "b", function() {
return u
}),
e.a = function(t) {
a.push(t),
c()
}
,
e.c = function(t) {
o.push(t),
c()
}
,
e.f = function(t) {
s.push(t),
c()
}
,
e.e = function(t) {
l.push(t)
}
,
e.d = function() {
for (var t = Date.now(), e = l.length, i = 0; i < e; ++i)
l.shift()(t)
}
;
var r = i("hJ5i")
, n = !1
, a = []
, o = []
, s = []
, l = []
, u = "function" == typeof requestAnimationFrame ? function(t) {
requestAnimationFrame(t)
}
: function(t) {
setTimeout(t, 1e3 / 60)
}
;
function h() {
for (var t = Date.now(), e = a.length, i = 0; i < e; ++i)
a[i](t);
r.shiftLeft(a, e);
for (i = 0; i < o.length; ++i)
o[i](t);
o.length = 0;
for (i = 0; i < s.length; ++i)
s[i](t);
s.length = 0,
0 === a.length && 0 === o.length ? n = !1 : u(h)
}
function c() {
n || (n = !0,
u(h))
}
},
"/IEW": function(t, e, i) {
"use strict";
i.d(e, "a", function() {
return o
});
var r = i("m4/l")
, n = i("Tjl+")
, a = i("aCit")
, o = function(t) {
function e() {
var e = null !== t && t.apply(this, arguments) || this;
return e._validateDisposer = null,
e
}
return Object(r.c)(e, t),
e.prototype.invalidate = function() {
null === this._validateDisposer && (this._validateDisposer = a.c.events.on("exitframe", this.validate, this))
}
,
e.prototype.validate = function() {
null !== this._validateDisposer && (this._validateDisposer.dispose(),
this._validateDisposer = null)
}
,
e.prototype.dispose = function() {
null !== this._validateDisposer && (this._validateDisposer.dispose(),
this._validateDisposer = null),
t.prototype.dispose.call(this)
}
,
e
}(n.b)
},
"/NC3": function(t, e, i) {
var r = i("0sYB")
, n = i("vfdp")
, a = i("gBcN");
r({
global: !0,
bind: !0,
enumerable: !0,
forced: !n.setImmediate || !n.clearImmediate
}, {
setImmediate: a.set,
clearImmediate: a.clear
})
},
"/SU0": function(t, e, i) {
var r = i("0sYB")
, n = i("3weC")
, a = i("gxUV").f;
r({
target: "Reflect",
stat: !0
}, {
deleteProperty: function(t, e) {
var i = a(n(t), e);
return !(i && !i.configurable) && delete t[e]
}
})
},
"/XmW": function(t, e, i) {
"use strict";
var r = i("UseD")
, n = i("X/sl").forEach
, a = r.aTypedArray;
(0,
r.exportTypedArrayMethod)("forEach", function(t) {
n(a(this), t, arguments.length > 1 ? arguments[1] : void 0)
})
},
"/arR": function(t, e, i) {
"use strict";
var r = i("3weC");
t.exports = function() {
var t = r(this)
, e = "";
return t.global && (e += "g"),
t.ignoreCase && (e += "i"),
t.multiline && (e += "m"),
t.dotAll && (e += "s"),
t.unicode && (e += "u"),
t.sticky && (e += "y"),
e
}
},
"/e9j": function(t, e, i) {
"use strict";
i.d(e, "a", function() {
return s
});
var r = i("m4/l")
, n = i("sxA1")
, a = i("3/51")
, o = i("aCit")
, s = function(t) {
function e() {
var e = t.call(this) || this;
return e.className = "LinearGradientModifier",
e.gradient = new n.a,
e.applyTheme(),
e
}
return Object(r.c)(e, t),
e.prototype.copyFrom = function(e) {
t.prototype.copyFrom.call(this, e),
this.gradient = e.gradient.clone()
}
,
e
}(a.a);
o.c.registeredClasses.LinearGradientModifier = s
},
"/fwt": function(t, e, i) {
"use strict";
var r = i("0sYB")
, n = i("3sMl")
, a = i("hqo8")
, o = i("7X7h")
, s = i("HnbP")
, l = i("8+rI");
n && r({
target: "Object",
proto: !0,
forced: a
}, {
__defineGetter__: function(t, e) {
l.f(o(this), t, {
get: s(e),
enumerable: !0,
configurable: !0
})
}
})
},
"/vWR": function(t, e, i) {
var r = i("z3p0");
t.exports = function(t, e, i) {
for (var n in e)
r(t, n, e[n], i);
return t
}
},
0: function(t, e, i) {
i("nj15"),
t.exports = i("Nv8/")
},
"02tF": function(t, e, i) {
var r = i("0sYB")
, n = Math.log
, a = Math.LN2;
r({
target: "Math",
stat: !0
}, {
log2: function(t) {
return n(t) / a
}
})
},
"047P": function(t, e, i) {
var r = i("Kg2n")
, n = i("KJuV");
t.exports = function(t, e, i) {
var a, o;
return n && "function" == typeof (a = e.constructor) && a !== i && r(o = a.prototype) && o !== i.prototype && n(t, o),
t
}
},
"06/b": function(t, e, i) {
i("6WsA")("search")
},
"09Lt": function(t, e, i) {
"use strict";
var r = i("Kg2n")
, n = i("8+rI")
, a = i("Ox5T")
, o = i("KslR")("hasInstance")
, s = Function.prototype;
o in s || n.f(s, o, {
value: function(t) {
if ("function" != typeof this || !r(t))
return !1;
if (!r(this.prototype))
return t instanceof this;
for (; t = a(t); )
if (this.prototype === t)
return !0;
return !1
}
})
},
"0FA2": function(t, e, i) {
var r = i("KslR")
, n = i("QzDi")
, a = i("8+rI")
, o = r("unscopables")
, s = Array.prototype;
void 0 == s[o] && a.f(s, o, {
configurable: !0,
value: n(null)
}),
t.exports = function(t) {
s[o][t] = !0
}
},
"0FpR": function(t, e, i) {
"use strict";
Object.defineProperty(e, "__esModule", {
value: !0
}),
e.linear = a,
e.quadIn = o,
e.quadOut = s,
e.quadInOut = l,
e.polyIn = u,
e.polyOut = h,
e.polyInOut = c,
e.polyIn3 = p,
e.polyOut3 = d,
e.polyInOut3 = f,
e.expIn = g,
e.expOut = y,
e.expInOut = m,
e.sinIn = v,
e.sinOut = b,
e.sinInOut = x,
e.cubicIn = _,
e.cubicOut = P,
e.cubicInOut = w,
e.circleIn = O,
e.circleOut = T,
e.circleInOut = S,
e.bounceIn = R,
e.bounceOut = N,
e.bounceInOut = L,
e.elasticIn = H,
e.elasticOut = Y,
e.elasticInOut = z;
var r = i("Gg2j")
, n = i("aCit");
function a(t) {
return +t
}
function o(t) {
return t * t
}
function s(t) {
return t * (2 - t)
}
function l(t) {
return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2
}
function u(t, e) {
return Math.pow(t, e)
}
function h(t, e) {
return 1 - Math.pow(1 - t, e)
}
function c(t, e) {
return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2
}
function p(t) {
return u(t, 3)
}
function d(t) {
return h(t, 3)
}
function f(t) {
return c(t, 3)
}
function g(t) {
return Math.pow(2, 10 * t - 10)
}
function y(t) {
return 1 - Math.pow(2, -10 * t)
}
function m(t) {
return ((t *= 2) <= 1 ? Math.pow(2, 10 * t - 10) : 2 - Math.pow(2, 10 - 10 * t)) / 2
}
function v(t) {
return 1 - Math.cos(t * r.HALFPI)
}
function b(t) {
return Math.sin(t * r.HALFPI)
}
function x(t) {
return (1 - Math.cos(r.PI * t)) / 2
}
function _(t) {
return t * t * t
}
function P(t) {
return --t * t * t + 1
}
function w(t) {
return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2
}
function O(t) {
return 1 - Math.sqrt(1 - t * t)
}
function T(t) {
return Math.sqrt(1 - --t * t)
}
function S(t) {
return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2
}
n.c.registeredClasses["ease.linear"] = a,
n.c.registeredClasses["ease.quadIn"] = o,
n.c.registeredClasses["ease.quadOut"] = s,
n.c.registeredClasses["ease.quadInOut"] = l,
n.c.registeredClasses["ease.polyIn"] = u,
n.c.registeredClasses["ease.polyOut"] = h,
n.c.registeredClasses["ease.polyInOut"] = c,
n.c.registeredClasses["ease.polyIn3"] = p,
n.c.registeredClasses["ease.polyOut3"] = d,
n.c.registeredClasses["ease.polyInOut3"] = f,
n.c.registeredClasses["ease.expIn"] = g,
n.c.registeredClasses["ease.expOut"] = y,
n.c.registeredClasses["ease.expInOut"] = m,
n.c.registeredClasses["ease.sinIn"] = v,
n.c.registeredClasses["ease.sinOut"] = b,
n.c.registeredClasses["ease.sinInOut"] = x,
n.c.registeredClasses["ease.cubicIn"] = _,
n.c.registeredClasses["ease.cubicOut"] = P,
n.c.registeredClasses["ease.cubicInOut"] = w,
n.c.registeredClasses["ease.circleIn"] = O,
n.c.registeredClasses["ease.circleOut"] = T,
n.c.registeredClasses["ease.circleInOut"] = S;
var C = 4 / 11
, I = 6 / 11
, k = 8 / 11
, D = .75
, j = 9 / 11
, V = 10 / 11
, A = .9375
, M = 21 / 22
, F = 63 / 64
, E = 1 / C / C;
function R(t) {
return 1 - N(1 - t)
}
function N(t) {
return (t = +t) < C ? E * t * t : t < k ? E * (t -= I) * t + D : t < V ? E * (t -= j) * t + A : E * (t -= M) * t + F
}
function L(t) {
return ((t *= 2) <= 1 ? 1 - N(1 - t) : N(t - 1) + 1) / 2
}
n.c.registeredClasses["ease.bounceIn"] = R,
n.c.registeredClasses["ease.bounceOut"] = N,
n.c.registeredClasses["ease.bounceInOut"] = L;
var B = 1
, U = .3 / (2 * Math.PI)
, W = Math.asin(1 / B) * U;
function H(t) {
return B * Math.pow(2, 10 * --t) * Math.sin((W - t) / U)
}
function Y(t) {
return 1 - B * Math.pow(2, -10 * (t = +t)) * Math.sin((t + W) / U)
}
function z(t) {
return ((t = 2 * t - 1) < 0 ? B * Math.pow(2, 10 * t) * Math.sin((W - t) / U) : 2 - B * Math.pow(2, -10 * t) * Math.sin((W + t) / U)) / 2
}
n.c.registeredClasses["ease.elasticIn"] = H,
n.c.registeredClasses["ease.elasticOut"] = Y,
n.c.registeredClasses["ease.elasticInOut"] = z
},
"0KD/": function(t, e, i) {
var r = i("0sYB")
, n = i("CqLV");
r({
global: !0,
forced: parseFloat != n
}, {
parseFloat: n
})
},
"0Mwj": function(t, e, i) {
"use strict";
i.d(e, "b", function() {
return S
}),
i.d(e, "a", function() {
return C
});
var r = i("m4/l")
, n = i("2I/e")
, a = i("C6dT")
, o = i("vMqJ")
, s = i("8ZqG")
, l = i("pR7v")
, u = i("KknQ")
, h = i("k6kv")
, c = i("OXm9")
, p = i("VB2N")
, d = i("Uf57")
, f = i("hD5A")
, g = i("BEgH")
, y = i("tjMS")
, m = i("aCit")
, v = i("C6Lh")
, b = i("Gg2j")
, x = i("Wglt")
, _ = i("Mtpk")
, P = i("v9UT")
, w = i("hJ5i")
, O = i("3Cxr")
, T = i("TGuK")
, S = function(t) {
function e() {
var e = t.call(this) || this;
return e.className = "XYChartDataItem",
e.applyTheme(),
e
}
return Object(r.c)(e, t),
e
}(n.b)
, C = function(t) {
function e() {
var e = t.call(this) || this;
e._axisRendererX = h.a,
e._axisRendererY = c.a,
e._seriesPoints = [],
e.className = "XYChart",
e.maskBullets = !0,
e.arrangeTooltips = !0;
var i = e.chartContainer;
i.layout = "vertical",
e.padding(15, 15, 15, 15);
var r = i.createChild(a.a);
r.shouldClone = !1,
r.layout = "vertical",
r.width = Object(y.c)(100),
r.zIndex = 1,
e.topAxesContainer = r;
var n = i.createChild(a.a);
n.shouldClone = !1,
n.layout = "horizontal",
n.width = Object(y.c)(100),
n.height = Object(y.c)(100),
n.zIndex = 0,
e.yAxesAndPlotContainer = n;
var o = i.createChild(a.a);
o.shouldClone = !1,
o.width = Object(y.c)(100),
o.layout = "vertical",
o.zIndex = 1,
e.bottomAxesContainer = o;
var s = n.createChild(a.a);
s.shouldClone = !1,
s.layout = "horizontal",
s.height = Object(y.c)(100),
s.contentAlign = "right",
s.events.on("transformed", e.updateXAxesMargins, e, !1),
s.zIndex = 1,
e.leftAxesContainer = s;
var l = n.createChild(a.a);
l.shouldClone = !1,
l.height = Object(y.c)(100),
l.width = Object(y.c)(100),
l.background.fillOpacity = 0,
e.plotContainer = l,
e.mouseWheelBehavior = "none",
e._cursorContainer = l;
var u = n.createChild(a.a);
u.shouldClone = !1,
u.layout = "horizontal",
u.height = Object(y.c)(100),
u.zIndex = 1,
u.events.on("transformed", e.updateXAxesMargins, e, !1),
e.rightAxesContainer = u,
e.seriesContainer.parent = l,
e.bulletsContainer.parent = l;
var p = l.createChild(g.a);
p.shouldClone = !1,
p.align = "right",
p.valign = "top",
p.zIndex = Number.MAX_SAFE_INTEGER,
p.marginTop = 5,
p.marginRight = 5,
p.hide(0),
e.zoomOutButton = p;
var d = e.plotContainer.createChild(a.a);
return d.shouldClone = !1,
d.width = Object(y.c)(100),
d.height = Object(y.c)(100),
d.isMeasured = !1,
d.zIndex = 4,
d.layout = "none",
e.axisBulletsContainer = d,
e._bulletMask = e.plotContainer,
e.events.on("beforedatavalidated", function() {
e.series.each(function(t) {
t.dataGrouped = !1,
t._baseInterval = {}
})
}, e, !1),
e.applyTheme(),
e
}
return Object(r.c)(e, t),
e.prototype.applyInternalDefaults = function() {
t.prototype.applyInternalDefaults.call(this),
this.zoomOutButton.exportable = !1,
_.hasValue(this.readerTitle) || (this.readerTitle = this.language.translate("X/Y chart"))
}
,
e.prototype.draw = function() {
t.prototype.draw.call(this),
this.seriesContainer.toFront(),
this.bulletsContainer.toFront(),
this.maskBullets && (this.bulletsContainer.mask = this._bulletMask),
this.updateSeriesLegend()
}
,
e.prototype.updatePlotElements = function() {
x.each(this.series.iterator(), function(t) {
t.invalidate()
})
}
,
e.prototype.validateData = function() {
0 == this._parseDataFrom && (x.each(this.xAxes.iterator(), function(t) {
t.dataChangeUpdate()
}),
x.each(this.yAxes.iterator(), function(t) {
t.dataChangeUpdate()
}),
x.each(this.series.iterator(), function(t) {
t.dataChangeUpdate()
})),
t.prototype.validateData.call(this)
}
,
e.prototype.updateXAxesMargins = function() {
var t = this.leftAxesContainer.measuredWidth
, e = this.rightAxesContainer.measuredWidth
, i = this.bottomAxesContainer;
i.paddingLeft == t && i.paddingRight == e || (i.paddingLeft = t,
i.paddingRight = e);
var r = this.topAxesContainer;
r.paddingLeft == t && r.paddingRight == e || (r.paddingLeft = t,
r.paddingRight = e)
}
,
e.prototype.reinit = function() {
t.prototype.reinit.call(this),
this.series.each(function(t) {
t.appeared = !1
})
}
,
e.prototype.handleXAxisChange = function(t) {
this.updateXAxis(t.target)
}
,
e.prototype.handleYAxisChange = function(t) {
this.updateYAxis(t.target)
}
,
e.prototype.processXAxis = function(t) {
var e = t.newValue;
e.chart = this,
e.renderer || (e.renderer = new this._axisRendererX,
e.renderer.observe(["opposite", "inside", "inversed", "minGridDistance"], this.handleXAxisChange, this, !1)),
e.axisLetter = "X",
e.events.on("startendchanged", this.handleXAxisRangeChange, this, !1),
e.dataProvider = this,
this.updateXAxis(e.renderer),
this.processAxis(e)
}
,
e.prototype.processYAxis = function(t) {
var e = t.newValue;
e.chart = this,
e.renderer || (e.renderer = new this._axisRendererY,
e.renderer.observe(["opposite", "inside", "inversed", "minGridDistance"], this.handleYAxisChange, this, !1)),
e.axisLetter = "Y",
e.events.on("startendchanged", this.handleYAxisRangeChange, this, !1),
e.dataProvider = this,
this.updateYAxis(e.renderer),
this.processAxis(e)
}
,
e.prototype.handleXAxisRangeChange = function() {
var t = this.getCommonAxisRange(this.xAxes);
this.scrollbarX && this.zoomAxes(this.xAxes, t, !0),
this.toggleZoomOutButton(),
this.updateScrollbar(this.scrollbarX, t)
}
,
e.prototype.toggleZoomOutButton = function() {
if (this.zoomOutButton) {
var t = !1;
x.eachContinue(this.xAxes.iterator(), function(e) {
if (e.toggleZoomOutButton)
if (e.maxZoomCount > 0) {
var i = e.maxZoomFactor / e.maxZoomCount;
if (b.round(e.end - e.start, 3) < 1 / i)
return t = !0,
!1
} else if (b.round(e.start, 3) > 0 || b.round(e.end, 3) < 1)
return t = !0,
!1;
return !0
}),
x.eachContinue(this.yAxes.iterator(), function(e) {
if (e.toggleZoomOutButton) {
if (e.maxZoomCount > 0) {
var i = e.maxZoomFactor / e.maxZoomCount;
if (b.round(e.end - e.start, 3) < 1 / i)
return t = !0,
!1
} else if (b.round(e.start, 3) > 0 || b.round(e.end, 3) < 1)
return t = !0,
!1;
return !0
}
}),
this.seriesAppeared || (t = !1),
t ? this.zoomOutButton.show() : this.zoomOutButton.hide()
}
}
,
e.prototype.seriesAppeared = function() {
var t = !1;
return x.each(this.series.iterator(), function(e) {
if (!e.appeared)
return t = !1,
!1
}),
t
}
,
e.prototype.handleYAxisRangeChange = function() {
var t = this.getCommonAxisRange(this.yAxes);
this.scrollbarY && this.zoomAxes(this.yAxes, t, !0),
this.toggleZoomOutButton(),
this.updateScrollbar(this.scrollbarY, t)
}
,
e.prototype.updateScrollbar = function(t, e) {
t && (t.skipRangeEvents(),
t.start = e.start,
t.end = e.end)
}
,
e.prototype.getCommonAxisRange = function(t) {
var e, i;
return x.each(t.iterator(), function(t) {
var r = t.start
, n = t.end;
t.renderer.inversed && (r = 1 - t.end,
n = 1 - t.start),
(!_.isNumber(e) || r < e) && (e = r),
(!_.isNumber(i) || n > i) && (i = n)
}),
{
start: e,
end: i
}
}
,
e.prototype.updateXAxis = function(t) {
var e = t.axis;
t.opposite ? (e.parent = this.topAxesContainer,
e.toFront()) : (e.parent = this.bottomAxesContainer,
e.toBack()),
e.renderer && e.renderer.processRenderer()
}
,
e.prototype.updateYAxis = function(t) {
var e = t.axis;
t.opposite ? (e.parent = this.rightAxesContainer,
e.toBack()) : (e.parent = this.leftAxesContainer,
e.toFront()),
e.renderer && e.renderer.processRenderer()
}
,
e.prototype.processAxis = function(t) {
var e = this;
t instanceof p.a && this._dataUsers.moveValue(t);
var i = t.renderer;
i.gridContainer.parent = this.plotContainer,
i.gridContainer.toBack(),
i.breakContainer.parent = this.plotContainer,
i.breakContainer.toFront(),
i.breakContainer.zIndex = 10,
t.addDisposer(new f.b(function() {
e.dataUsers.removeValue(t)
}
)),
i.bulletsContainer.parent = this.axisBulletsContainer,
this._disposers.push(t.events.on("positionchanged", function() {
var r = P.spritePointToSprite({
x: 0,
y: 0
}, t, e.axisBulletsContainer);
t.renderer instanceof c.a && (i.bulletsContainer.y = r.y),
t.renderer instanceof h.a && (i.bulletsContainer.x = r.x)
}, void 0, !1)),
this.plotContainer.events.on("maxsizechanged", function() {
e.inited && (t.invalidateDataItems(),
e.updateSeriesMasks())
}, t, !1)
}
,
e.prototype.updateSeriesMasks = function() {
P.isIE() && this.series.each(function(t) {
var e = t.mainContainer.mask;
t.mainContainer.mask = void 0,
t.mainContainer.mask = e
})
}
,
e.prototype.handleSeriesRemoved = function(e) {
var i = e.oldValue;
i && (i.xAxis && (i.xAxis.series.removeValue(i),
i.xAxis.invalidateProcessedData()),
i.yAxis && (i.yAxis.series.removeValue(i),
i.yAxis.invalidateProcessedData()),
this.series.each(function(t) {
t.resetExtremes()
})),
t.prototype.handleSeriesRemoved.call(this, e)
}
,
Object.defineProperty(e.prototype, "xAxes", {
get: function() {
return this._xAxes || (this._xAxes = new o.b,
this._xAxes.events.on("inserted", this.processXAxis, this, !1),
this._xAxes.events.on("removed", this.handleAxisRemoval, this, !1),
this._disposers.push(new o.c(this._xAxes,!1))),
this._xAxes
},
enumerable: !0,
configurable: !0
}),
e.prototype.handleAxisRemoval = function(t) {
var e = t.oldValue;
this.dataUsers.removeValue(e),
e.autoDispose && e.dispose()
}
,
Object.defineProperty(e.prototype, "yAxes", {
get: function() {
return this._yAxes || (this._yAxes = new o.b,
this._yAxes.events.on("inserted", this.processYAxis, this, !1),
this._yAxes.events.on("removed", this.handleAxisRemoval, this, !1),
this._disposers.push(new o.c(this._yAxes,!1))),
this._yAxes
},
enumerable: !0,
configurable: !0
}),
e.prototype.handleSeriesAdded = function(e) {
try {
t.prototype.handleSeriesAdded.call(this, e);
var i = e.newValue;
0 != this.xAxes.length && 0 != this.yAxes.length || (m.c.removeFromInvalidComponents(i),
i.dataInvalid = !1),
P.used(i.xAxis),
P.used(i.yAxis),
i.maskBullets = i.maskBullets,
void 0 == i.fill && (this.patterns ? (_.hasValue(i.stroke) || (i.stroke = this.colors.next()),
i.fill = this.patterns.next(),
_.hasValue(i.fillOpacity) && (i.fill.backgroundOpacity = i.fillOpacity),
i.stroke instanceof s.a && (i.fill.stroke = i.stroke,
i.fill.fill = i.stroke)) : i.fill = this.colors.next()),
_.hasValue(i.stroke) || (i.stroke = i.fill)
} catch (t) {
this.raiseCriticalError(t)
}
}
,
Object.defineProperty(e.prototype, "cursor", {
get: function() {
return this._cursor
},
set: function(t) {
this._cursor != t && (this._cursor && this.removeDispose(this._cursor),
this._cursor = t,
t && (this._disposers.push(t),
t.chart = this,
t.shouldClone = !1,
t.parent = this._cursorContainer,
t.events.on("cursorpositionchanged", this.handleCursorPositionChange, this, !1),
t.events.on("zoomstarted", this.handleCursorZoomStart, this, !1),
t.events.on("zoomended", this.handleCursorZoomEnd, this, !1),
t.events.on("panstarted", this.handleCursorPanStart, this, !1),
t.events.on("panning", this.handleCursorPanning, this, !1),
t.events.on("panended", this.handleCursorPanEnd, this, !1),
t.events.on("behaviorcanceled", this.handleCursorCanceled, this, !1),
t.events.on("hidden", this.handleHideCursor, this, !1),
t.zIndex = Number.MAX_SAFE_INTEGER - 1,
this.tapToActivate && this.setTapToActivate(this.tapToActivate)))
},
enumerable: !0,
configurable: !0
}),
e.prototype.handleCursorPositionChange = function() {
var t = this.cursor;
if (t.visible && !t.isHiding) {
var e = this.cursor.xPosition
, i = this.cursor.yPosition;
this.showSeriesTooltip({
x: e,
y: i
});
var r = []
, n = t.snapToSeries;
if (n && !t.downPoint) {
n instanceof d.a && (n = [n]);
var a = [];
w.each(n, function(t) {
var n = t.xAxis
, o = t.yAxis;
n instanceof l.a && !(n instanceof u.a) && o instanceof l.a && !(o instanceof u.a) ? (t.dataItems.each(function(t) {
a.push(t)
}),
w.move(r, t.yAxis),
w.move(r, t.xAxis)) : (t.baseAxis == t.xAxis && (w.move(r, t.yAxis),
a.push(n.getSeriesDataItem(t, n.toAxisPosition(e)))),
t.baseAxis == t.yAxis && (w.move(r, t.xAxis),
a.push(o.getSeriesDataItem(t, o.toAxisPosition(i)))))
});
var o = this.getClosest(a, e, i);
o && (this.series.each(function(t) {
var e = o.component;
t != e && (t.hideTooltip(),
t.xAxis != e.xAxis && t.xAxis.hideTooltip(),
t.yAxis != e.yAxis && t.yAxis.hideTooltip())
}),
o.component.showTooltipAtDataItem(o),
t.handleSnap(o.component))
}
this._seriesPoints = [],
this._cursorXPosition != e && this.showAxisTooltip(this.xAxes, e, r),
this._cursorYPosition != i && this.showAxisTooltip(this.yAxes, i, r),
this.arrangeTooltips && this.sortSeriesTooltips(this._seriesPoints),
this.legend && this.legend.afterDraw()
}
}
,
e.prototype.getClosest = function(t, e, i) {
var r, n = 1 / 0;
return w.each(t, function(t) {
if (t) {
var a = t.component.xAxis
, o = t.component.yAxis
, s = a.positionToCoordinate(a.toGlobalPosition(a.toAxisPosition(e)))
, l = o.positionToCoordinate(o.toGlobalPosition(o.toAxisPosition(i)))
, u = t.component.xField
, h = t.component.yField;
if (_.isNumber(t.getValue(u)) && _.isNumber(t.getValue(h))) {
var c = a.positionToCoordinate(a.toGlobalPosition(a.getPositionX(t, u, t.locations[u], "valueX")))
, p = o.positionToCoordinate(o.toGlobalPosition(o.getPositionY(t, h, t.locations[h], "valueY")))
, d = Math.sqrt(Math.pow(s - c, 2) + Math.pow(l - p, 2));
d < n && (n = d,
r = t)
}
}
}),
r
}
,
e.prototype.handleHideCursor = function() {
this.hideObjectTooltip(this.xAxes),
this.hideObjectTooltip(this.yAxes),
this.hideObjectTooltip(this.series),
this._cursorXPosition = void 0,
this._cursorYPosition = void 0,
this.updateSeriesLegend()
}
,
e.prototype.updateSeriesLegend = function() {
x.each(this.series.iterator(), function(t) {
t.updateLegendValue()
})
}
,
e.prototype.hideObjectTooltip = function(t) {
x.each(t.iterator(), function(t) {
t.hideTooltip(0)
})
}
,
e.prototype.showSeriesTooltip = function(t) {
var e = this;
if (t) {
var i = [];
this.series.each(function(r) {
if (r.xAxis instanceof u.a && r.xAxis.snapTooltip || r.yAxis instanceof u.a && r.yAxis.snapTooltip)
;
else {
var n = r.showTooltipAtPosition(t.x, t.y);
n && (r.tooltip.setBounds(P.spriteRectToSvg({
x: 0,
y: 0,
width: e.pixelWidth,
height: e.pixelHeight
}, e)),
i.push({
series: r,
point: n
}))
}
}),
this.arrangeTooltips && this.sortSeriesTooltips(i)
} else
this.series.each(function(t) {
t.hideTooltip()
})
}
,
e.prototype.sortSeriesTooltips = function(t) {
var e = this.cursor;
if (e && _.isNumber(e.maxTooltipDistance)) {
var i, r, n = P.spritePointToSvg({
x: e.point.x,
y: e.point.y
}, e), a = 1 / 0;
w.each(t, function(t) {
var e = t.series
, o = t.point;
if (o) {
var s = {
x: o.x,
y: o.y
}
, l = Math.abs(b.getDistance(s, n));
l < a && (r = s,
a = l,
i = e)
}
});
var o = [];
i && (w.each(t, function(t) {
if (Math.abs(b.getDistance(t.point, r)) <= Math.abs(e.maxTooltipDistance))
o.push({
series: t.series,
point: t.point
});
else {
var i = t.series.tooltipDataItem;
i && w.each(i.sprites, function(t) {
t.isHover = !1,
t.handleOutReal()
}),
t.series.tooltip.hide(0)
}
}),
e.maxTooltipDistance < 0 && (o = [{
series: i,
point: r
}])),
t = o
}
var s = P.spritePointToSvg({
x: -.5,
y: -.5
}, this.plotContainer)
, l = P.spritePointToSvg({
x: this.plotContainer.pixelWidth + .5,
y: this.plotContainer.pixelHeight + .5
}, this.plotContainer)
, u = 0
, h = [];
w.each(t, function(t) {
var e = t.point;
e && b.isInRectangle(e, {
x: s.x,
y: s.y,
width: l.x - s.x,
height: l.y - s.y
}) && (h.push({
point: e,
series: t.series
}),
u += e.y)
}),
t = h;
var c = this.series.getIndex(0)
, p = !1;
c && c.yAxis && c.yAxis.renderer.inversed && (p = !0),
p ? t.sort(function(t, e) {
return O.order(t.point.y, e.point.y)
}) : (t.sort(function(t, e) {
return O.order(e.point.y, t.point.y)
}),
t.reverse());
var d = u / t.length
, f = P.svgPointToDocument({
x: 0,
y: 0
}, this.svgContainer.SVGContainer).y;
if (t.length > 0) {
var g = s.y
, y = l.y;
P.spritePointToDocument({
x: 0,
y: g
}, this);
var m = !1;
if (d > g + (y - g) / 2)
for (var v = y, x = t.length - 1; x >= 0; x--) {
var T = (k = t[x].series).tooltip
, S = t[x].point.y;
if (T.setBounds({
x: 0,
y: -f,
width: this.pixelWidth,
height: v + f
}),
T.invalid && T.validate(),
T.toBack(),
(v = P.spritePointToSvg({
x: 0,
y: T.label.pixelY - T.pixelY + S - T.pixelMarginTop
}, T).y) < -f) {
m = !0;
break
}
}
if (d <= g + (y - g) / 2 || m)
for (var C = g, I = (x = 0,
t.length); x < I; x++) {
var k = t[x].series;
S = t[x].point.y;
(T = k.tooltip).setBounds({
x: 0,
y: C,
width: this.pixelWidth,
height: y
}),
T.invalid && T.validate(),
T.toBack(),
C = P.spritePointToSvg({
x: 0,
y: T.label.pixelY + T.label.measuredHeight - T.pixelY + S + T.pixelMarginBottom
}, T).y
}
}
}
,
e.prototype.showAxisTooltip = function(t, e, i) {
var r = this;
x.each(t.iterator(), function(t) {
i && -1 != i.indexOf(t) || (r.dataItems.length > 0 || t.dataItems.length > 0) && t.showTooltipAtPosition(e)
})
}
,
e.prototype.getUpdatedRange = function(t, e) {
if (t) {
var i, r;
t.renderer.inversed ? (b.invertRange(e),
i = 1 - t.end,
r = 1 - t.start) : (i = t.start,
r = t.end);
var n = r - i;
return {
start: i + e.start * n,
end: i + e.end * n
}
}
}
,
e.prototype.handleCursorZoomEnd = function(t) {
var e = this.cursor
, i = e.behavior;
if ("zoomX" == i || "zoomXY" == i) {
var r = e.xRange;
r && this.xAxes.length > 0 && ((r = this.getUpdatedRange(this.xAxes.getIndex(0), r)).priority = "start",
this.zoomAxes(this.xAxes, r))
}
if ("zoomY" == i || "zoomXY" == i) {
var n = e.yRange;
n && this.yAxes.length > 0 && ((n = this.getUpdatedRange(this.yAxes.getIndex(0), n)).priority = "start",
this.zoomAxes(this.yAxes, n))
}
this.handleHideCursor()
}
,
e.prototype.handleCursorPanStart = function(t) {
var e = this.xAxes.getIndex(0);
e && (this._panStartXRange = {
start: e.start,
end: e.end
});
var i = this.yAxes.getIndex(0);
i && (this._panStartYRange = {
start: i.start,
end: i.end
})
}
,
e.prototype.handleCursorPanEnd = function(t) {
var e = this.cursor.behavior;
if (this._panEndXRange && ("panX" == e || "panXY" == e)) {
var i = 0;
(r = this._panEndXRange).start < 0 && (i = r.start),
r.end > 1 && (i = r.end - 1),
this.zoomAxes(this.xAxes, {
start: r.start - i,
end: r.end - i
}, !1, !0),
this._panEndXRange = void 0,
this._panStartXRange = void 0
}
if (this._panEndYRange && ("panY" == e || "panXY" == e)) {
var r;
i = 0;
(r = this._panEndYRange).start < 0 && (i = r.start),
r.end > 1 && (i = r.end - 1),
this.zoomAxes(this.yAxes, {
start: r.start - i,
end: r.end - i
}, !1, !0),
this._panEndYRange = void 0,
this._panStartYRange = void 0
}
}
,
e.prototype.handleCursorCanceled = function() {
this._panEndXRange = void 0,
this._panStartXRange = void 0
}
,
e.prototype.handleCursorPanning = function(t) {
var e = this.cursor
, i = e.behavior
, r = e.maxPanOut;
if (this._panStartXRange && ("panX" == i || "panXY" == i)) {
var n = this._panStartXRange
, a = e.xRange
, o = this.getCommonAxisRange(this.xAxes)
, s = n.end - n.start
, l = a.start * (o.end - o.start)
, u = Math.max(-r, l + n.start)
, h = Math.min(l + n.end, 1 + r);
u <= 0 && (h = u + s),
h >= 1 && (u = h - s);
var c = {
start: u,
end: h
};
this._panEndXRange = c,
this.zoomAxes(this.xAxes, c, !1, !1, e.maxPanOut)
}
if (this._panStartYRange && ("panY" == i || "panXY" == i)) {
n = this._panStartYRange,
a = e.yRange,
o = this.getCommonAxisRange(this.yAxes),
s = n.end - n.start,
l = a.start * (o.end - o.start),
u = Math.max(-r, l + n.start),
h = Math.min(l + n.end, 1 + r);
u <= 0 && (h = u + s),
h >= 1 && (u = h - s);
c = {
start: u,
end: h
};
this._panEndYRange = c,
this.zoomAxes(this.yAxes, c, !1, !1, e.maxPanOut)
}
this.handleHideCursor()
}
,
e.prototype.handleYAxisSet = function(t) {}
,
e.prototype.handleCursorZoomStart = function(t) {}
,
Object.defineProperty(e.prototype, "scrollbarX", {
get: function() {
return this._scrollbarX
},
set: function(t) {
var e = this;
this._scrollbarX && this.removeDispose(this._scrollbarX),
this._scrollbarX = t,
t && (this._disposers.push(t),
t.parent = this.topAxesContainer,
t.shouldClone = !1,
t.startGrip.exportable = !1,
t.endGrip.exportable = !1,
t.toBack(),
t.orientation = "horizontal",
t.events.on("rangechanged", this.handleXScrollbarChange, this, !1),
t.adapter.add("positionValue", function(t) {
var i = e.xAxes.getIndex(0);
return i && (t.value = i.getPositionLabel(i.renderer.inversed ? 1 - t.position : t.position)),
t
}))
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(e.prototype, "scrollbarY", {
get: function() {
return this._scrollbarY
},
set: function(t) {
var e = this;
this._scrollbarY && this.removeDispose(this._scrollbarY),
this._scrollbarY = t,
t && (this._disposers.push(t),
t.parent = this.rightAxesContainer,
t.startGrip.exportable = !1,
t.shouldClone = !1,
t.endGrip.exportable = !1,
t.toFront(),
t.orientation = "vertical",
t.events.on("rangechanged", this.handleYScrollbarChange, this, !1),
t.adapter.add("positionValue", function(t) {
var i = e.yAxes.getIndex(0);
return i && (t.value = i.getPositionLabel(t.position)),
t
}))
},
enumerable: !0,
configurable: !0
}),
e.prototype.handleXScrollbarChange = function(t) {
if (this.inited) {
var e = t.target
, i = e.range;
0 == i.start && (i.priority = "start"),
1 == i.end && (i.priority = "end"),
i = this.zoomAxes(this.xAxes, i),
e.fixRange(i)
}
}
,
e.prototype.handleYScrollbarChange = function(t) {
if (this.inited) {
var e = t.target
, i = e.range;
1 == i.end && (i.priority = "end"),
0 == i.start && (i.priority = "start"),
i = this.zoomAxes(this.yAxes, i),
e.fixRange(i)
}
}
,
e.prototype.zoomAxes = function(t, e, i, r, n) {
var a = {
start: 0,
end: 1
};
return this.showSeriesTooltip(),
this.dataInvalid || x.each(t.iterator(), function(t) {
if (t.renderer.inversed && (e = b.invertRange(e)),
t.hideTooltip(0),
r)
if (t instanceof p.a) {
var o = t.getCellEndPosition(0) - t.getCellStartPosition(0);
e.start = t.roundPosition(e.start + o / 2 - t.startLocation * o, t.startLocation),
e.end = t.roundPosition(e.end - o / 2 + (1 - t.endLocation) * o, t.endLocation)
} else
e.start = t.roundPosition(e.start + 1e-4, 0, t.startLocation),
e.end = t.roundPosition(e.end + 1e-4, 0, t.endLocation);
var s = t.zoom(e, i, i, n);
t.renderer.inversed && (s = b.invertRange(s)),
a = s
}),
a
}
,
Object.defineProperty(e.prototype, "maskBullets", {
get: function() {
return this.getPropertyValue("maskBullets")
},
set: function(t) {
this.setPropertyValue("maskBullets", t, !0) && this.bulletsContainer && (this.bulletsContainer.mask = t ? this._bulletMask : void 0)
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(e.prototype, "arrangeTooltips", {
get: function() {
return this.getPropertyValue("arrangeTooltips")
},
set: function(t) {
this.setPropertyValue("arrangeTooltips", t, !0)
},
enumerable: !0,
configurable: !0
}),
e.prototype.handleWheel = function(t) {
var e = this.plotContainer
, i = P.documentPointToSvg(t.point, this.htmlContainer, this.svgContainer.cssScale)
, r = P.svgPointToSprite(i, e)
, n = t.shift.y;
this.handleWheelReal(n, this.mouseWheelBehavior, r)
}
,
e.prototype.handleHorizontalWheel = function(t) {
var e = this.plotContainer
, i = P.documentPointToSvg(t.point, this.htmlContainer, this.svgContainer.cssScale)
, r = P.svgPointToSprite(i, e);
this.handleWheelReal(t.shift.x, this.horizontalMouseWheelBehavior, r)
}
,
e.prototype.handleWheelReal = function(t, e, i) {
if (0 != t) {
var r = this.plotContainer
, n = this.getCommonAxisRange(this.xAxes)
, a = this.getCommonAxisRange(this.yAxes);
if ("panX" == e || "panXY" == e) {
var o = n.end - n.start
, s = Math.max(-0, n.start + .1 * t / 100 * (n.end - n.start))
, l = Math.min(n.end + .1 * t / 100 * (n.end - n.start), 1);
s <= 0 && (l = s + o),
l >= 1 && (s = l - o),
this.zoomAxes(this.xAxes, {
start: s,
end: l
})
}
if ("panY" == e || "panXY" == e) {
t *= -1;
var u = a.end - a.start
, h = Math.max(-0, a.start + .1 * t / 100 * (a.end - a.start))
, c = Math.min(a.end + .1 * t / 100 * (a.end - a.start), 1);
h <= 0 && (c = h + u),
c >= 1 && (h = c - u),
this.zoomAxes(this.yAxes, {
start: h,
end: c
})
}
if ("zoomX" == e || "zoomXY" == e) {
var p = i.x / r.maxWidth
, d = this.xAxes.getIndex(0).toAxisPosition(p);
s = Math.max(-0, n.start - .1 * (n.end - n.start) * t / 100 * p);
s = Math.min(s, d);
l = Math.min(n.end + .1 * (n.end - n.start) * t / 100 * (1 - p), 1);
l = Math.max(l, d),
this.zoomAxes(this.xAxes, {
start: s,
end: l
})
}
if ("zoomY" == e || "zoomXY" == e) {
var f = i.y / r.maxHeight
, g = this.yAxes.getIndex(0).toAxisPosition(f);
h = Math.max(-0, a.start - .1 * (a.end - a.start) * t / 100 * (1 - f));
h = Math.min(h, g);
c = Math.min(a.end + .1 * t / 100 * f * (a.end - a.start), 1);
c = Math.max(c, g),
this.zoomAxes(this.yAxes, {
start: h,
end: c
})
}
}
}
,
Object.defineProperty(e.prototype, "mouseWheelBehavior", {
get: function() {
return this.getPropertyValue("mouseWheelBehavior")
},
set: function(t) {
this.setPropertyValue("mouseWheelBehavior", t) && ("none" != t ? (this._mouseWheelDisposer = this.plotContainer.events.on("wheel", this.handleWheel, this, !1),
this._disposers.push(this._mouseWheelDisposer)) : this._mouseWheelDisposer && (this.plotContainer.wheelable = !1,
this.plotContainer.hoverable = !1,
this._mouseWheelDisposer.dispose()))
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(e.prototype, "horizontalMouseWheelBehavior", {
get: function() {
return this.getPropertyValue("horizontalMouseWheelBehavior")
},
set: function(t) {
this.setPropertyValue("horizontalMouseWheelBehavior", t) && ("none" != t ? (this._mouseWheelDisposer2 = this.plotContainer.events.on("wheel", this.handleHorizontalWheel, this, !1),
this._disposers.push(this._mouseWheelDisposer2)) : this._mouseWheelDisposer2 && (this.plotContainer.wheelable = !1,
this.plotContainer.hoverable = !1,
this._mouseWheelDisposer2.dispose()))
},
enumerable: !0,
configurable: !0
}),
e.prototype.dataSourceDateFields = function(e) {
var i = this;
return e = t.prototype.dataSourceDateFields.call(this, e),
x.each(this.series.iterator(), function(t) {
e = i.populateDataSourceFields(e, t.dataFields, ["dateX", "dateY", "openDateX", "openDateY"])
}),
e
}
,
e.prototype.dataSourceNumberFields = function(e) {
var i = this;
return e = t.prototype.dataSourceDateFields.call(this, e),
x.each(this.series.iterator(), function(t) {
e = i.populateDataSourceFields(e, t.dataFields, ["valueX", "valueY", "openValueX", "openValueY"])
}),
e
}
,
e.prototype.processConfig = function(e) {
if (e) {
var i = []
, r = [];
if (_.hasValue(e.xAxes) && _.isArray(e.xAxes))
for (var n = 0, a = e.xAxes.length; n < a; n++) {
if (!e.xAxes[n].type)
throw Error("[XYChart error] No type set for xAxes[" + n + "].");
if (_.hasValue(e.xAxes[n].axisRanges)) {
for (var o = 0, s = e.xAxes[n].axisRanges.length; o < s; o++) {
var l = e.xAxes[n].axisRanges[o];
_.hasValue(l.date) && _.isString(l.date) && (l.date = this.dateFormatter.parse(l.date)),
_.hasValue(l.endDate) && _.isString(l.endDate) && (l.endDate = this.dateFormatter.parse(l.endDate))
}
i.push({
axisRanges: e.xAxes[n].axisRanges,
index: n
}),
delete e.xAxes[n].axisRanges
}
}
if (_.hasValue(e.yAxes) && _.isArray(e.yAxes))
for (n = 0,
a = e.yAxes.length; n < a; n++) {
if (!e.yAxes[n].type)
throw Error("[XYChart error] No type set for yAxes[" + n + "].");
if (_.hasValue(e.yAxes[n].axisRanges)) {
o = 0;
for (var u = e.yAxes[n].axisRanges.length; o < u; o++) {
l = e.yAxes[n].axisRanges[o];
_.hasValue(l.date) && _.isString(l.date) && (l.date = this.dateFormatter.parse(l.date)),
_.hasValue(l.endDate) && _.isString(l.endDate) && (l.endDate = this.dateFormatter.parse(l.endDate))
}
r.push({
axisRanges: e.yAxes[n].axisRanges,
index: n
}),
delete e.yAxes[n].axisRanges
}
}
if (_.hasValue(e.series) && _.isArray(e.series))
for (n = 0,
a = e.series.length; n < a; n++)
e.series[n].type = e.series[n].type || "LineSeries";
if (_.hasValue(e.cursor) && !_.hasValue(e.cursor.type) && (e.cursor.type = "XYCursor"),
_.hasValue(e.scrollbarX) && !_.hasValue(e.scrollbarX.type) && (e.scrollbarX.type = "Scrollbar"),
_.hasValue(e.scrollbarY) && !_.hasValue(e.scrollbarY.type) && (e.scrollbarY.type = "Scrollbar"),
t.prototype.processConfig.call(this, e),
r.length)
for (n = 0,
a = r.length; n < a; n++)
this.yAxes.getIndex(r[n].index).config = {
axisRanges: r[n].axisRanges
};
if (i.length)
for (n = 0,
a = i.length; n < a; n++)
this.xAxes.getIndex(i[n].index).config = {
axisRanges: i[n].axisRanges
}
}
}
,
e.prototype.configOrder = function(e, i) {
return e == i ? 0 : "scrollbarX" == e ? 1 : "scrollbarX" == i ? -1 : "scrollbarY" == e ? 1 : "scrollbarY" == i ? -1 : "cursor" == e ? 1 : "cursor" == i ? -1 : "series" == e ? 1 : "series" == i ? -1 : t.prototype.configOrder.call(this, e, i)
}
,
e.prototype.createSeries = function() {
return new d.a
}
,
Object.defineProperty(e.prototype, "zoomOutButton", {
get: function() {
return this._zoomOutButton
},
set: function(t) {
var e = this;
this._zoomOutButton = t,
t && t.events.on("hit", function() {
e.zoomAxes(e.xAxes, {
start: 0,
end: 1
}),
e.zoomAxes(e.yAxes, {
start: 0,
end: 1
})
}, void 0, !1)
},
enumerable: !0,
configurable: !0
}),
e.prototype.copyFrom = function(e) {
var i = this;
e.xAxes.each(function(t) {
i.xAxes.push(t.clone())
}),
e.yAxes.each(function(t) {
i.yAxes.push(t.clone())
}),
t.prototype.copyFrom.call(this, e),
e.cursor && (this.cursor = e.cursor.clone()),
e.scrollbarX && (this.scrollbarX = e.scrollbarX.clone()),
e.scrollbarY && (this.scrollbarY = e.scrollbarY.clone())
}
,
e.prototype.disposeData = function() {
t.prototype.disposeData.call(this);
var e = this.scrollbarX;
e && e instanceof v.a && e.scrollbarChart.disposeData();
var i = this.scrollbarY;
i && i instanceof v.a && i.scrollbarChart.disposeData(),
this.xAxes.each(function(t) {
t.disposeData()
}),
this.yAxes.each(function(t) {
t.disposeData()
})
}
,
e.prototype.addData = function(e, i) {
this.scrollbarX instanceof v.a && this.addScrollbarData(this.scrollbarX, i),
this.scrollbarY instanceof v.a && this.addScrollbarData(this.scrollbarY, i),
t.prototype.addData.call(this, e, i)
}
,
e.prototype.addScrollbarData = function(t, e) {
var i = t.scrollbarChart;
i._parseDataFrom = i.data.length,
i.invalidateData()
}
,
e.prototype.removeScrollbarData = function(t, e) {
var i = t.scrollbarChart;
if (_.isNumber(e)) {
for (; e > 0; ) {
var r = this.dataItems.getIndex(0);
r && i.dataItems.remove(r),
i.dataUsers.each(function(t) {
var e = t.dataItems.getIndex(0);
e && t.dataItems.remove(e)
}),
i._parseDataFrom--,
e--
}
i.invalidateData()
}
}
,
e.prototype.removeData = function(e) {
this.scrollbarX instanceof v.a && this.removeScrollbarData(this.scrollbarX, e),
this.scrollbarY instanceof v.a && this.removeScrollbarData(this.scrollbarY, e),
t.prototype.removeData.call(this, e)
}
,
e.prototype.setTapToActivate = function(e) {
t.prototype.setTapToActivate.call(this, e),
this.cursor && (this.cursor.interactions.isTouchProtected = e,
this.plotContainer.interactions.isTouchProtected = e)
}
,
e.prototype.handleTapToActivate = function() {
t.prototype.handleTapToActivate.call(this),
this.cursor && (this.cursor.interactions.isTouchProtected = !1,
this.plotContainer.interactions.isTouchProtected = !1)
}
,
e.prototype.handleTapToActivateDeactivation = function() {
t.prototype.handleTapToActivateDeactivation.call(this),
this.cursor && (this.cursor.interactions.isTouchProtected = !0,
this.plotContainer.interactions.isTouchProtected = !0)
}
,
e
}(n.a);
m.c.registeredClasses.XYChart = C,
T.c.push({
relevant: T.b.maybeXS,
state: function(t, e) {
if (t instanceof C && t.scrollbarX) {
var i = t.states.create(e);
return t.scrollbarX.states.create(e).properties.disabled = !0,
i
}
return null
}
}),
T.c.push({
relevant: T.b.maybeXS,
state: function(t, e) {
if (t instanceof C && t.scrollbarY) {
var i = t.states.create(e);
return t.scrollbarY.states.create(e).properties.disabled = !0,
i
}
return null
}
})
},
"0PyG": function(t, e, i) {
"use strict";
i.d(e, "a", function() {
return l
});
var r = i("m4/l")
, n = i("Tjl+")
, a = i("zhwk")
, o = i("1yyj")
, s = i("Mtpk")
, l = function(t) {
function e(e, i, r, n) {
var a = t.call(this) || this;
return a.animations = [],
a.className = "Inertia",
a.interaction = e,
a.type = i,
a.point = r,
a.startPoint = n,
a._disposers.push(new o.b(a.animations)),
a
}
return Object(r.c)(e, t),
Object.defineProperty(e.prototype, "x", {
get: function() {
return this.point.x
},
set: function(t) {
s.isNumber(t) && (this.point.x = t,
this.handleMove())
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(e.prototype, "y", {
get: function() {
return this.point.y
},
set: function(t) {
s.isNumber(t) && (this.point.y = t,
this.handleMove())
},
enumerable: !0,
configurable: !0
}),
e.prototype.handleMove = function() {
if (this.interaction.events.isEnabled("drag")) {
var t = {
type: "drag",
target: this.interaction,
shift: {
x: this.x - this.startPoint.x,
y: this.y - this.startPoint.y
},
startPoint: this.startPoint,
point: {
x: this.x,
y: this.y
},
touch: !1
};
this.interaction.events.dispatchImmediately("drag", t)
}
}
,
e.prototype.done = function() {
this.interaction.inertias.removeKey(this.type),
"move" === this.type && Object(a.b)().processDragStop(this.interaction),
this.dispose()
}
,
e
}(n.a)
},
"0aVp": function(t, e, i) {
var r = i("0sYB")
, n = i("mtbW");
r({
global: !0,
forced: !i("jqyf")
}, {
DataView: n.DataView
})
},
"0irS": function(t, e, i) {
var r = i("KslR");
e.f = r
},
"0sYB": function(t, e, i) {
var r = i("vfdp")
, n = i("gxUV").f
, a = i("k2B3")
, o = i("z3p0")
, s = i("29Us")
, l = i("z4fB")
, u = i("EjSS");
t.exports = function(t, e) {
var i, h, c, p, d, f = t.target, g = t.global, y = t.stat;
if (i = g ? r : y ? r[f] || s(f, {}) : (r[f] || {}).prototype)
for (h in e) {
if (p = e[h],
c = t.noTargetGet ? (d = n(i, h)) && d.value : i[h],
!u(g ? h : f + (y ? "." : "#") + h, t.forced) && void 0 !== c) {
if (typeof p == typeof c)
continue;
l(p, c)
}
(t.sham || c && c.sham) && a(p, "sham", !0),
o(i, h, p, t)
}
}
},
"16a9": function(t, e, i) {
var r = i("0sYB")
, n = i("HZlQ");
r({
target: "Object",
stat: !0,
forced: Object.assign !== n
}, {
assign: n
})
},
"1DgP": function(t, e, i) {
"use strict";
var r = function(t, e) {
var i;
function r() {
var r, n, a = i.length, o = 0, s = 0;
for (r = 0; r < a; ++r)
o += (n = i[r]).x,
s += n.y;
for (o = o / a - t,
s = s / a - e,
r = 0; r < a; ++r)
(n = i[r]).x -= o,
n.y -= s
}
return null == t && (t = 0),
null == e && (e = 0),
r.initialize = function(t) {
i = t
}
,
r.x = function(e) {
return arguments.length ? (t = +e,
r) : t
}
,
r.y = function(t) {
return arguments.length ? (e = +t,
r) : e
}
,
r
};
function n(t, e, i, r) {
if (isNaN(e) || isNaN(i))
return t;
var n, a, o, s, l, u, h, c, p, d = t._root, f = {
data: r
}, g = t._x0, y = t._y0, m = t._x1, v = t._y1;
if (!d)
return t._root = f,
t;
for (; d.length; )
if ((u = e >= (a = (g + m) / 2)) ? g = a : m = a,
(h = i >= (o = (y + v) / 2)) ? y = o : v = o,
n = d,
!(d = d[c = h << 1 | u]))
return n[c] = f,
t;
if (s = +t._x.call(null, d.data),
l = +t._y.call(null, d.data),
e === s && i === l)
return f.next = d,
n ? n[c] = f : t._root = f,
t;
do {
n = n ? n[c] = new Array(4) : t._root = new Array(4),
(u = e >= (a = (g + m) / 2)) ? g = a : m = a,
(h = i >= (o = (y + v) / 2)) ? y = o : v = o
} while ((c = h << 1 | u) == (p = (l >= o) << 1 | s >= a));return n[p] = d,
n[c] = f,
t
}
var a = function(t, e, i, r, n) {
this.node = t,
this.x0 = e,
this.y0 = i,
this.x1 = r,
this.y1 = n
};
function o(t) {
return t[0]
}
function s(t) {
return t[1]
}
function l(t, e, i) {
var r = new u(null == e ? o : e,null == i ? s : i,NaN,NaN,NaN,NaN);
return null == t ? r : r.addAll(t)
}
function u(t, e, i, r, n, a) {
this._x = t,
this._y = e,
this._x0 = i,
this._y0 = r,
this._x1 = n,
this._y1 = a,
this._root = void 0
}
function h(t) {
for (var e = {
data: t.data
}, i = e; t = t.next; )
i = i.next = {
data: t.data
};
return e
}
var c = l.prototype = u.prototype;
c.copy = function() {
var t, e, i = new u(this._x,this._y,this._x0,this._y0,this._x1,this._y1), r = this._root;
if (!r)
return i;
if (!r.length)
return i._root = h(r),
i;
for (t = [{
source: r,
target: i._root = new Array(4)
}]; r = t.pop(); )
for (var n = 0; n < 4; ++n)
(e = r.source[n]) && (e.length ? t.push({
source: e,
target: r.target[n] = new Array(4)
}) : r.target[n] = h(e));
return i
}
,
c.add = function(t) {
var e = +this._x.call(null, t)
, i = +this._y.call(null, t);
return n(this.cover(e, i), e, i, t)
}
,
c.addAll = function(t) {
var e, i, r, a, o = t.length, s = new Array(o), l = new Array(o), u = 1 / 0, h = 1 / 0, c = -1 / 0, p = -1 / 0;
for (i = 0; i < o; ++i)
isNaN(r = +this._x.call(null, e = t[i])) || isNaN(a = +this._y.call(null, e)) || (s[i] = r,
l[i] = a,
r < u && (u = r),
r > c && (c = r),
a < h && (h = a),
a > p && (p = a));
if (u > c || h > p)
return this;
for (this.cover(u, h).cover(c, p),
i = 0; i < o; ++i)
n(this, s[i], l[i], t[i]);
return this
}
,
c.cover = function(t, e) {
if (isNaN(t = +t) || isNaN(e = +e))
return this;
var i = this._x0
, r = this._y0
, n = this._x1
, a = this._y1;
if (isNaN(i))
n = (i = Math.floor(t)) + 1,
a = (r = Math.floor(e)) + 1;
else {
for (var o, s, l = n - i, u = this._root; i > t || t >= n || r > e || e >= a; )
switch (s = (e < r) << 1 | t < i,
(o = new Array(4))[s] = u,
u = o,
l *= 2,
s) {
case 0:
n = i + l,
a = r + l;
break;
case 1:
i = n - l,
a = r + l;
break;
case 2:
n = i + l,
r = a - l;
break;
case 3:
i = n - l,
r = a - l
}
this._root && this._root.length && (this._root = u)
}
return this._x0 = i,
this._y0 = r,
this._x1 = n,
this._y1 = a,
this
}
,
c.data = function() {
var t = [];
return this.visit(function(e) {
if (!e.length)
do {
t.push(e.data)
} while (e = e.next)
}),
t
}
,
c.extent = function(t) {
return arguments.length ? this.cover(+t[0][0], +t[0][1]).cover(+t[1][0], +t[1][1]) : isNaN(this._x0) ? void 0 : [[this._x0, this._y0], [this._x1, this._y1]]
}
,
c.find = function(t, e, i) {
var r, n, o, s, l, u, h, c = this._x0, p = this._y0, d = this._x1, f = this._y1, g = [], y = this._root;
for (y && g.push(new a(y,c,p,d,f)),
null == i ? i = 1 / 0 : (c = t - i,
p = e - i,
d = t + i,
f = e + i,
i *= i); u = g.pop(); )
if (!(!(y = u.node) || (n = u.x0) > d || (o = u.y0) > f || (s = u.x1) < c || (l = u.y1) < p))
if (y.length) {
var m = (n + s) / 2
, v = (o + l) / 2;
g.push(new a(y[3],m,v,s,l), new a(y[2],n,v,m,l), new a(y[1],m,o,s,v), new a(y[0],n,o,m,v)),
(h = (e >= v) << 1 | t >= m) && (u = g[g.length - 1],
g[g.length - 1] = g[g.length - 1 - h],
g[g.length - 1 - h] = u)
} else {
var b = t - +this._x.call(null, y.data)
, x = e - +this._y.call(null, y.data)
, _ = b * b + x * x;
if (_ < i) {
var P = Math.sqrt(i = _);
c = t - P,
p = e - P,
d = t + P,
f = e + P,
r = y.data
}
}
return r
}
,
c.remove = function(t) {
if (isNaN(a = +this._x.call(null, t)) || isNaN(o = +this._y.call(null, t)))
return this;
var e, i, r, n, a, o, s, l, u, h, c, p, d = this._root, f = this._x0, g = this._y0, y = this._x1, m = this._y1;
if (!d)
return this;
if (d.length)
for (; ; ) {
if ((u = a >= (s = (f + y) / 2)) ? f = s : y = s,
(h = o >= (l = (g + m) / 2)) ? g = l : m = l,
e = d,
!(d = d[c = h << 1 | u]))
return this;
if (!d.length)
break;
(e[c + 1 & 3] || e[c + 2 & 3] || e[c + 3 & 3]) && (i = e,
p = c)
}
for (; d.data !== t; )
if (r = d,
!(d = d.next))
return this;
return (n = d.next) && delete d.next,
r ? (n ? r.next = n : delete r.next,
this) : e ? (n ? e[c] = n : delete e[c],
(d = e[0] || e[1] || e[2] || e[3]) && d === (e[3] || e[2] || e[1] || e[0]) && !d.length && (i ? i[p] = d : this._root = d),
this) : (this._root = n,
this)
}
,
c.removeAll = function(t) {
for (var e = 0, i = t.length; e < i; ++e)
this.remove(t[e]);
return this
}
,
c.root = function() {
return this._root
}
,
c.size = function() {
var t = 0;
return this.visit(function(e) {
if (!e.length)
do {
++t
} while (e = e.next)
}),
t
}
,
c.visit = function(t) {
var e, i, r, n, o, s, l = [], u = this._root;
for (u && l.push(new a(u,this._x0,this._y0,this._x1,this._y1)); e = l.pop(); )
if (!t(u = e.node, r = e.x0, n = e.y0, o = e.x1, s = e.y1) && u.length) {
var h = (r + o) / 2
, c = (n + s) / 2;
(i = u[3]) && l.push(new a(i,h,c,o,s)),
(i = u[2]) && l.push(new a(i,r,c,h,s)),
(i = u[1]) && l.push(new a(i,h,n,o,c)),
(i = u[0]) && l.push(new a(i,r,n,h,c))
}
return this
}
,
c.visitAfter = function(t) {
var e, i = [], r = [];
for (this._root && i.push(new a(this._root,this._x0,this._y0,this._x1,this._y1)); e = i.pop(); ) {
var n = e.node;
if (n.length) {
var o, s = e.x0, l = e.y0, u = e.x1, h = e.y1, c = (s + u) / 2, p = (l + h) / 2;
(o = n[0]) && i.push(new a(o,s,l,c,p)),
(o = n[1]) && i.push(new a(o,c,l,u,p)),
(o = n[2]) && i.push(new a(o,s,p,c,h)),
(o = n[3]) && i.push(new a(o,c,p,u,h))
}
r.push(e)
}
for (; e = r.pop(); )
t(e.node, e.x0, e.y0, e.x1, e.y1);
return this
}
,
c.x = function(t) {
return arguments.length ? (this._x = t,
this) : this._x
}
,
c.y = function(t) {
return arguments.length ? (this._y = t,
this) : this._y
}
;
var p = function(t) {
return function() {
return t
}
}
, d = function() {
return 1e-6 * (Math.random() - .5)
};
function f(t) {
return t.x + t.vx
}
function g(t) {
return t.y + t.vy
}
var y = function(t) {
var e, i, r = 1, n = 1;
function a() {
for (var t, a, s, u, h, c, p, y = e.length, m = 0; m < n; ++m)
for (a = l(e, f, g).visitAfter(o),
t = 0; t < y; ++t)
s = e[t],
c = i[s.index],
p = c * c,
u = s.x + s.vx,
h = s.y + s.vy,
a.visit(v);
function v(t, e, i, n, a) {
var o = t.data
, l = t.r
, f = c + l;
if (!o)
return e > u + f || n < u - f || i > h + f || a < h - f;
if (o.index > s.index) {
var g = u - o.x - o.vx
, y = h - o.y - o.vy
, m = g * g + y * y;
m < f * f && (0 === g && (m += (g = d()) * g),
0 === y && (m += (y = d()) * y),
m = (f - (m = Math.sqrt(m))) / m * r,
s.vx += (g *= m) * (f = (l *= l) / (p + l)),
s.vy += (y *= m) * f,
o.vx -= g * (f = 1 - f),
o.vy -= y * f)
}
}
}
function o(t) {
if (t.data)
return t.r = i[t.data.index];
for (var e = t.r = 0; e < 4; ++e)
t[e] && t[e].r > t.r && (t.r = t[e].r)
}
function s() {
if (e) {
var r, n, a = e.length;
for (i = new Array(a),
r = 0; r < a; ++r)
n = e[r],
i[n.index] = +t(n, r, e)
}
}
return "function" != typeof t && (t = p(null == t ? 1 : +t)),
a.initialize = function(t) {
e = t,
s()
}
,
a.iterations = function(t) {
return arguments.length ? (n = +t,
a) : n
}
,
a.strength = function(t) {
return arguments.length ? (r = +t,
a) : r
}
,
a.radius = function(e) {
return arguments.length ? (t = "function" == typeof e ? e : p(+e),
s(),
a) : t
}
,
a
};
function m(t) {
return (m = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(t) {
return typeof t
}
: function(t) {
return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
}
)(t)
}
function v(t) {
return t.index
}
function b(t, e) {
var i = t.get(e);
if (!i)
throw new Error("missing: " + e);
return i
}
var x = function(t) {
var e, i, r, n, a, o = v, s = function(t) {
return 1 / Math.min(n[t.source.index], n[t.target.index])
}, l = p(30), u = 1;
function h(r) {
for (var n = 0, o = t.length; n < u; ++n)
for (var s, l, h, c, p, f, g, y = 0; y < o; ++y)
l = (s = t[y]).source,
c = (h = s.target).x + h.vx - l.x - l.vx || d(),
p = h.y + h.vy - l.y - l.vy || d(),
c *= f = ((f = Math.sqrt(c * c + p * p)) - i[y]) / f * r * e[y],
p *= f,
h.vx -= c * (g = a[y]),
h.vy -= p * g,
l.vx += c * (g = 1 - g),
l.vy += p * g
}
function c() {
if (r) {
var s, l, u = r.length, h = t.length, c = new Map(r.map(function(t, e) {
return [o(t, e, r), t]
}));
for (s = 0,
n = new Array(u); s < h; ++s)
(l = t[s]).index = s,
"object" !== m(l.source) && (l.source = b(c, l.source)),
"object" !== m(l.target) && (l.target = b(c, l.target)),
n[l.source.index] = (n[l.source.index] || 0) + 1,
n[l.target.index] = (n[l.target.index] || 0) + 1;
for (s = 0,
a = new Array(h); s < h; ++s)
l = t[s],
a[s] = n[l.source.index] / (n[l.source.index] + n[l.target.index]);
e = new Array(h),
f(),
i = new Array(h),
g()
}
}
function f() {
if (r)
for (var i = 0, n = t.length; i < n; ++i)
e[i] = +s(t[i], i, t)
}
function g() {
if (r)
for (var e = 0, n = t.length; e < n; ++e)
i[e] = +l(t[e], e, t)
}
return null == t && (t = []),
h.initialize = function(t) {
r = t,
c()
}
,
h.links = function(e) {
return arguments.length ? (t = e,
c(),
h) : t
}
,
h.id = function(t) {
return arguments.length ? (o = t,
h) : o
}
,
h.iterations = function(t) {
return arguments.length ? (u = +t,
h) : u
}
,
h.strength = function(t) {
return arguments.length ? (s = "function" == typeof t ? t : p(+t),
f(),
h) : s
}
,
h.distance = function(t) {
return arguments.length ? (l = "function" == typeof t ? t : p(+t),
g(),
h) : l
}
,
h
}
, _ = i("XqN8")
, P = i("bS9u");
function w(t) {
return t.x
}
function O(t) {
return t.y
}
var T = 10
, S = Math.PI * (3 - Math.sqrt(5))
, C = function(t) {
var e, i = 1, r = .001, n = 1 - Math.pow(r, 1 / 300), a = 0, o = .6, s = new Map, l = Object(P.c)(h), u = Object(_.a)("tick", "end");
function h() {
c(),
u.call("tick", e),
i < r && (l.stop(),
u.call("end", e))
}
function c(r) {
var l, u, h = t.length;
void 0 === r && (r = 1);
for (var c = 0; c < r; ++c)
for (i += (a - i) * n,
s.forEach(function(t) {
t(i)
}),
l = 0; l < h; ++l)
null == (u = t[l]).fx ? u.x += u.vx *= o : (u.x = u.fx,
u.vx = 0),
null == u.fy ? u.y += u.vy *= o : (u.y = u.fy,
u.vy = 0);
return e
}
function p() {
for (var e, i = 0, r = t.length; i < r; ++i) {
if ((e = t[i]).index = i,
null != e.fx && (e.x = e.fx),
null != e.fy && (e.y = e.fy),
isNaN(e.x) || isNaN(e.y)) {
var n = T * Math.sqrt(i)
, a = i * S;
e.x = n * Math.cos(a),
e.y = n * Math.sin(a)
}
(isNaN(e.vx) || isNaN(e.vy)) && (e.vx = e.vy = 0)
}
}
function d(e) {
return e.initialize && e.initialize(t),
e
}
return null == t && (t = []),
p(),
e = {
tick: c,
restart: function() {
return l.restart(h),
e
},
stop: function() {
return l.stop(),
e
},
nodes: function(i) {
return arguments.length ? (t = i,
p(),
s.forEach(d),
e) : t
},
alpha: function(t) {
return arguments.length ? (i = +t,
e) : i
},
alphaMin: function(t) {
return arguments.length ? (r = +t,
e) : r
},
alphaDecay: function(t) {
return arguments.length ? (n = +t,
e) : +n
},
alphaTarget: function(t) {
return arguments.length ? (a = +t,
e) : a
},
velocityDecay: function(t) {
return arguments.length ? (o = 1 - t,
e) : 1 - o
},
force: function(t, i) {
return arguments.length > 1 ? (null == i ? s.delete(t) : s.set(t, d(i)),
e) : s.get(t)
},
find: function(e, i, r) {
var n, a, o, s, l, u = 0, h = t.length;
for (null == r ? r = 1 / 0 : r *= r,
u = 0; u < h; ++u)
(o = (n = e - (s = t[u]).x) * n + (a = i - s.y) * a) < r && (l = s,
r = o);
return l
},
on: function(t, i) {
return arguments.length > 1 ? (u.on(t, i),
e) : u.on(t)
}
}
}
, I = function() {
var t, e, i, r, n = p(-30), a = 1, o = 1 / 0, s = .81;
function u(r) {
var n, a = t.length, o = l(t, w, O).visitAfter(c);
for (i = r,
n = 0; n < a; ++n)
e = t[n],
o.visit(f)
}
function h() {
if (t) {
var e, i, a = t.length;
for (r = new Array(a),
e = 0; e < a; ++e)
i = t[e],
r[i.index] = +n(i, e, t)
}
}
function c(t) {
var e, i, n, a, o, s = 0, l = 0;
if (t.length) {
for (n = a = o = 0; o < 4; ++o)
(e = t[o]) && (i = Math.abs(e.value)) && (s += e.value,
l += i,
n += i * e.x,
a += i * e.y);
t.x = n / l,
t.y = a / l
} else {
(e = t).x = e.data.x,
e.y = e.data.y;
do {
s += r[e.data.index]
} while (e = e.next)
}
t.value = s
}
function f(t, n, l, u) {
if (!t.value)
return !0;
var h = t.x - e.x
, c = t.y - e.y
, p = u - n
, f = h * h + c * c;
if (p * p / s < f)
return f < o && (0 === h && (f += (h = d()) * h),
0 === c && (f += (c = d()) * c),
f < a && (f = Math.sqrt(a * f)),
e.vx += h * t.value * i / f,
e.vy += c * t.value * i / f),
!0;
if (!(t.length || f >= o)) {
(t.data !== e || t.next) && (0 === h && (f += (h = d()) * h),
0 === c && (f += (c = d()) * c),
f < a && (f = Math.sqrt(a * f)));
do {
t.data !== e && (p = r[t.data.index] * i / f,
e.vx += h * p,
e.vy += c * p)
} while (t = t.next)
}
}
return u.initialize = function(e) {
t = e,
h()
}
,
u.strength = function(t) {
return arguments.length ? (n = "function" == typeof t ? t : p(+t),
h(),
u) : n
}
,
u.distanceMin = function(t) {
return arguments.length ? (a = t * t,
u) : Math.sqrt(a)
}
,
u.distanceMax = function(t) {
return arguments.length ? (o = t * t,
u) : Math.sqrt(o)
}
,
u.theta = function(t) {
return arguments.length ? (s = t * t,
u) : Math.sqrt(s)
}
,
u
}
, k = function(t, e, i) {
var r, n, a, o = p(.1);
function s(t) {
for (var o = 0, s = r.length; o < s; ++o) {
var l = r[o]
, u = l.x - e || 1e-6
, h = l.y - i || 1e-6
, c = Math.sqrt(u * u + h * h)
, p = (a[o] - c) * n[o] * t / c;
l.vx += u * p,
l.vy += h * p
}
}
function l() {
if (r) {
var e, i = r.length;
for (n = new Array(i),
a = new Array(i),
e = 0; e < i; ++e)
a[e] = +t(r[e], e, r),
n[e] = isNaN(a[e]) ? 0 : +o(r[e], e, r)
}
}
return "function" != typeof t && (t = p(+t)),
null == e && (e = 0),
null == i && (i = 0),
s.initialize = function(t) {
r = t,
l()
}
,
s.strength = function(t) {
return arguments.length ? (o = "function" == typeof t ? t : p(+t),
l(),
s) : o
}
,
s.radius = function(e) {
return arguments.length ? (t = "function" == typeof e ? e : p(+e),
l(),
s) : t
}
,
s.x = function(t) {
return arguments.length ? (e = +t,
s) : e
}
,
s.y = function(t) {
return arguments.length ? (i = +t,
s) : i
}
,
s
}
, D = function(t) {
var e, i, r, n = p(.1);
function a(t) {
for (var n, a = 0, o = e.length; a < o; ++a)
(n = e[a]).vx += (r[a] - n.x) * i[a] * t
}
function o() {
if (e) {
var a, o = e.length;
for (i = new Array(o),
r = new Array(o),
a = 0; a < o; ++a)
i[a] = isNaN(r[a] = +t(e[a], a, e)) ? 0 : +n(e[a], a, e)
}
}
return "function" != typeof t && (t = p(null == t ? 0 : +t)),
a.initialize = function(t) {
e = t,
o()
}
,
a.strength = function(t) {
return arguments.length ? (n = "function" == typeof t ? t : p(+t),
o(),
a) : n
}
,
a.x = function(e) {
return arguments.length ? (t = "function" == typeof e ? e : p(+e),
o(),
a) : t
}
,
a
}
, j = function(t) {
var e, i, r, n = p(.1);
function a(t) {
for (var n, a = 0, o = e.length; a < o; ++a)
(n = e[a]).vy += (r[a] - n.y) * i[a] * t
}
function o() {
if (e) {
var a, o = e.length;
for (i = new Array(o),
r = new Array(o),
a = 0; a < o; ++a)
i[a] = isNaN(r[a] = +t(e[a], a, e)) ? 0 : +n(e[a], a, e)
}
}
return "function" != typeof t && (t = p(null == t ? 0 : +t)),
a.initialize = function(t) {
e = t,
o()
}
,
a.strength = function(t) {
return arguments.length ? (n = "function" == typeof t ? t : p(+t),
o(),
a) : n
}
,
a.y = function(e) {
return arguments.length ? (t = "function" == typeof e ? e : p(+e),
o(),
a) : t
}
,
a
};
i.d(e, !1, function() {
return r
}),
i.d(e, "a", function() {
return y
}),
i.d(e, "b", function() {
return x
}),
i.d(e, "c", function() {
return I
}),
i.d(e, !1, function() {
return k
}),
i.d(e, "d", function() {
return C
}),
i.d(e, "e", function() {
return D
}),
i.d(e, "f", function() {
return j
})
},
"1E9r": function(t, e, i) {
var r = i("0sYB")
, n = i("3weC")
, a = Object.isExtensible;
r({
target: "Reflect",
stat: !0
}, {
isExtensible: function(t) {
return n(t),
!a || a(t)
}
})
},
"1Er2": function(t, e, i) {
i("6WsA")("toPrimitive")
},
"1Fjw": function(t, e, i) {
"use strict";
i.d(e, "a", function() {
return d
});
var r = i("m4/l")
, n = i("C6dT")
, a = i("zhwk")
, o = i("aCit")
, s = i("tjMS")
, l = i("qCRI")
, u = i("Gg2j")
, h = i("v9UT")
, c = i("Mtpk")
, p = i("Rpw0")
, d = function(t) {
function e() {
var e = t.call(this) || this;
e.point = {
x: 0,
y: 0
},
e._stick = "none",
e.className = "Cursor",
e.width = Object(s.c)(100),
e.height = Object(s.c)(100),
e.shouldClone = !1,
e.hide(0),
e.trackable = !0,
e.clickable = !0,
e.isMeasured = !1;
var i = Object(a.b)();
return e._disposers.push(i.body.events.on("down", e.handleCursorDown, e)),
e._disposers.push(i.body.events.on("up", e.handleCursorUp, e)),
e._disposers.push(i.body.events.on("track", e.handleCursorMove, e)),
e.applyTheme(),
e
}
return Object(r.c)(e, t),
e.prototype.handleCursorMove = function(t) {
if (!(!this.interactionsEnabled || this.interactions.isTouchProtected && t.touch)) {
if (("zoom" == this._generalBehavior || "pan" == this._generalBehavior) && this.downPoint || Object(a.b)().isLocalElement(t.pointer, this.paper.svg, this.uid)) {
var e = h.documentPointToSprite(t.pointer.point, this);
return "hard" == this._stick && this._stickPoint && (e = this._stickPoint),
"soft" == this._stick && this._stickPoint && (this.fitsToBounds(e) || (e = this._stickPoint)),
this.triggerMove(e),
e
}
this.isHidden && this.isHiding || this.hide()
}
}
,
e.prototype.hideReal = function(e) {
if ("hard" != this._stick && "soft" != this._stick || !this._stickPoint)
return t.prototype.hideReal.call(this, e)
}
,
e.prototype.triggerMove = function(t, e, i) {
t.x = u.round(t.x, 1),
t.y = u.round(t.y, 1),
e && (this._stick = e),
"hard" != e && "soft" != e || (this._stickPoint = t),
this.triggerMoveReal(t, i)
}
,
e.prototype.triggerMoveReal = function(t, e) {
(this.point.x != t.x || this.point.y != t.y || e) && (this.point = t,
this.invalidatePosition(),
this.fitsToBounds(t) ? this.show(0) : this.downPoint || this.hide(0),
this.visible && (this.getPositions(),
this.dispatch("cursorpositionchanged")))
}
,
e.prototype.triggerDown = function(t) {
this.triggerDownReal(t)
}
,
e.prototype.triggerDownReal = function(t) {
switch (this._generalBehavior) {
case "zoom":
this.dispatchImmediately("zoomstarted");
break;
case "select":
this.dispatchImmediately("selectstarted");
break;
case "pan":
this.dispatchImmediately("panstarted"),
Object(a.b)().setGlobalStyle(l.a.grabbing)
}
}
,
e.prototype.triggerUp = function(t) {
this.triggerUpReal(t)
}
,
e.prototype.triggerUpReal = function(t) {
p.b.requestFrame(),
this.updatePoint(this.upPoint);
var e = Object(a.b)();
if (u.getDistance(this._upPointOrig, this._downPointOrig) > e.getHitOption(this.interactions, "hitTolerance")) {
switch (this._generalBehavior) {
case "zoom":
this.dispatch("zoomended");
break;
case "select":
this.dispatch("selectended");
break;
case "pan":
this.dispatch("panended"),
e.setGlobalStyle(l.a.default)
}
this.downPoint = void 0,
this.updateSelection()
}
}
,
e.prototype.updateSelection = function() {}
,
e.prototype.getPositions = function() {
this.xPosition = this.point.x / this.innerWidth,
this.yPosition = 1 - this.point.y / this.innerHeight
}
,
e.prototype.handleCursorDown = function(t) {
if (!(!this.interactionsEnabled || this.interactions.isTouchProtected && t.touch) && Object(a.b)().isLocalElement(t.pointer, this.paper.svg, this.uid)) {
var e = h.documentPointToSprite(t.pointer.point, this);
"hard" == this._stick && this._stickPoint && (e = this._stickPoint),
this._downPointOrig = {
x: e.x,
y: e.y
},
t.event.cancelable && this.shouldPreventGestures(t.touch) && this.fitsToBounds(e) && t.event.preventDefault(),
this.triggerMove(e),
this.triggerDown(e)
}
}
,
e.prototype.shouldPreventGestures = function(t) {
return !0
}
,
e.prototype.updatePoint = function(t) {}
,
e.prototype.handleCursorUp = function(t) {
if (this.interactionsEnabled && (("zoom" == this._generalBehavior || "pan" == this._generalBehavior) && this.downPoint || Object(a.b)().isLocalElement(t.pointer, this.paper.svg, this.uid))) {
var e = h.documentPointToSprite(t.pointer.point, this);
"hard" == this._stick && this._stickPoint && (e = this._stickPoint),
this._upPointOrig = {
x: e.x,
y: e.y
},
this.triggerMove(e),
this.triggerUp(e)
}
}
,
Object.defineProperty(e.prototype, "chart", {
get: function() {
return this._chart
},
set: function(t) {
this._chart = t,
c.hasValue(this._chart.plotContainer) && Object(a.b)().lockElement(this._chart.plotContainer.interactions)
},
enumerable: !0,
configurable: !0
}),
e
}(n.a);
o.c.registeredClasses.Cursor = d
},
"1M4z": function(t, e, i) {
"use strict";
var r = i("0sYB")
, n = i("4Wbs");
r({
target: "RegExp",
proto: !0,
forced: /./.exec !== n
}, {
exec: n
})
},
"1ayE": function(t, e, i) {
"use strict";
var r = i("UseD")
, n = i("X/sl").some
, a = r.aTypedArray;
(0,
r.exportTypedArrayMethod)("some", function(t) {
return n(a(this), t, arguments.length > 1 ? arguments[1] : void 0)
})
},
"1dhw": function(t, e, i) {
var r = i("0sYB")
, n = i("3sMl")
, a = i("3weC")
, o = i("gxUV");
r({
target: "Reflect",
stat: !0,
sham: !n
}, {
getOwnPropertyDescriptor: function(t, e) {
return o.f(a(t), e)
}
})
},
"1qam": function(t, e, i) {
"use strict";
i.d(e, "a", function() {
return o
});
var r = i("m4/l")
, n = i("Vs7R")
, a = i("Mtpk")
, o = function(t) {
function e() {
var e = t.call(this) || this;
return e.className = "PointedShape",
e.pointerBaseWidth = 15,
e.pointerLength = 10,
e.pointerY = 0,
e.pointerX = 0,
e.applyTheme(),
e
}
return Object(r.c)(e, t),
e.prototype.draw = function() {
t.prototype.draw.call(this),
a.isNumber(this.pointerX) || (this.pointerX = this.pixelWidth / 2),
a.isNumber(this.pointerY) || (this.pointerY = this.pixelHeight + 10)
}
,
Object.defineProperty(e.prototype, "pointerBaseWidth", {
get: function() {
return this.getPropertyValue("pointerBaseWidth")
},
set: function(t) {
this.setPropertyValue("pointerBaseWidth", t, !0)
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(e.prototype, "pointerLength", {
get: function() {
return this.getPropertyValue("pointerLength")
},
set: function(t) {
this.setPropertyValue("pointerLength", t, !0)
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(e.prototype, "pointerX", {
get: function() {
return this.getPropertyValue("pointerX")
},
set: function(t) {
this.setPropertyValue("pointerX", t, !0)
},
enumerable: !0,
configurable: !0
}),
Object.defineProperty(e.prototype, "pointerY", {
get: function() {
return this.getPropertyValue("pointerY")
},
set: function(t) {
this.setPropertyValue("pointerY", t, !0)
},
enumerable: !0,
configurable: !0
}),
e
}(n.a)
},
"1t1Z": function(t, e, i) {
"use strict";
var r = i("0sYB")
, n = i("qK31")
, a = i("swFJ");
r({
target: "String",
proto: !0,
forced: !i("eVN0")("includes")
}, {
includes: function(t) {
return !!~String(a(this)).indexOf(n(t), arguments.length > 1 ? arguments[1] : void 0)
}
})
},
"1wCr": function(t, e, i) {
var r = i("lCww")
, n = i("vfdp")
, a = function(t) {
return "function" == typeof t ? t : void 0
};
t.exports = function(t, e) {
return arguments.length < 2 ? a(r[t]) || a(n[t]) : r[t] && r[t][e] || n[t] && n[t][e]
}
},
"1yyj": function(t, e, i) {
"use strict";
e.c = function(t, e) {
var i = !1
, r = Date.now();
return u.a(function n(a) {
if (!i) {
var o = a - r;
o >= t ? e(1) : (u.a(n),
e(o / t))
}
}),
new o.b(function() {
i = !0
}
)
}
,
i.d(e, "b", function() {
return x
}),
i.d(e, "a", function() {
return _
});
var r = i("m4/l")
, n = i("Tjl+")
, a = i("hpNl")
, o = i("hD5A")
, s = i("8ZqG")
, l = i("tjMS")
, u = i("/9XX")
, h = i("0FpR")
, c = i("hxI2")
, p = i("Gg2j")
, d = i("hJ5i")
, f = i("Mtpk")
, g = i("Rpw0");
function y(t, e, i) {
return e + (i - e) * t
}
function m(t, e, i) {
return new l.a(y(t, e.percent, i.percent))
}
function v(t, e, i) {
var r = new s.a(c.interpolate(e.rgb, i.rgb, t));
return e.alpha != i.alpha && (r.alpha = e.alpha + (i.alpha - e.alpha) * t),
r
}
function b(t, e) {
return e + t.charAt(0).toUpperCase() + t.substr(1)
}
var x = function() {
function t(t) {
this._disposer = new o.b(function() {
for (; 0 !== t.length; )
t[0].dispose()
}
)
}
return t.prototype.isDisposed = function() {
return this._disposer.isDisposed()
}
,
t.prototype.dispose = function() {
this._disposer.dispose()
}
,
t
}()
, _ = function(t) {
function e(e, i, r, n) {
var a = t.call(this) || this;
return a.duration = 0,
a.easing = h.linear,
a.progress = 0,
a._loop = 0,
a._pause = !1,
a._delayTimeout = null,
a._time = 0,
a._isFinished = !1,
a.className = "Animation",
a.object = e,
a.animationOptions = d.toArray(i),
a.duration = r,
n && (a.easing = n),
a.applyTheme(),
a
}
return Object(r.c)(e, t),
e.prototype.debug = function() {}
,
e.prototype.dispose = function() {
t.prototype.dispose.call(this),
this.pause()
}
,
e.prototype.delay = function(t) {
var e = this;
if (t > 0) {
this.pause(),
d.move(this.object.animations, this);
var i = setTimeout(function() {
e._delayTimeout = null,
e.start()
}, t);
this._delayTimeout = new o.b(function() {
clearTimeout(i)
}
)
}
return this
}
,
e.prototype._start = function() {
this._isFinished = !1,
this._delayTimeout && (this.removeDispose(this._delayTimeout),
this._delayTimeout = null),
this.stopSameAnimations(),
this._pause = !1,
d.move(g.b.animations, this),
d.move(this.object.animations, this),
g.b.requestFrame()
}
,
e.prototype.start = function() {
this._start(),
this._startTime = Date.now(),
this._time = 0,
this.staticOptions = [];
for (var t = this.animationOptions.length - 1; t >= 0; t--) {
var e = this.animationOptions[t];
if (f.hasValue(e.from) || (e.childObject ? e.from = e.childObject[e.property] : (e.from = this.object[e.property],
f.hasValue(e.from) || (e.from = a.a[e.property]))),
e.from == e.to)
d.remove(this.animationOptions, e);
else if (!f.hasValue(e.from) || !(e.from instanceof l.a) && e.to instanceof l.a || e.from instanceof l.a && !(e.to instanceof l.a))
this.staticOptions.push(e),
d.remove(this.animationOptions, e);
else if (f.isNumber(e.to))
if (e.updateMethod = y,
e.from instanceof l.a) {
var i = this.object[b(e.property, "pixel")];
isNaN(i) ? (this.staticOptions.push(e),
d.remove(this.animationOptions, e)) : e.from = i
} else
isNaN(e.from) && (this.staticOptions.push(e),
d.remove(this.animationOptions, e));
else if (e.to instanceof s.a)
e.from ? e.updateMethod = v : (this.staticOptions.push(e),
d.remove(this.animationOptions, e));
else if (e.to instanceof l.a) {
if (e.updateMethod = m,
!isNaN(e.from)) {
i = this.object[b(e.property, "relative")];
isNaN(i) || (e.from = Object(l.c)(100 * i))
}
} else
this.staticOptions.push(e),
d.remove(this.animationOptions, e)
}
if (this.applyStaticOptions(),
this.events.isEnabled("animationstarted")) {
var r = {
type: "animationstarted",
target: this,
progress: this.progress
};
this.events.dispatchImmediately("animationstarted", r)
}
return this.update(),
0 === this.duration && this.end(),
this
}
,
e.prototype.loop = function(t) {
return f.isNumber(t) || (t = 1 / 0),
this._loop = t,
this
}
,
e.prototype.pause = function() {
return this._pause = !0,
this._delayTimeout && (this.removeDispose(this._delayTimeout),
this._delayTimeout = null),
d.remove(g.b.animations, this),
d.remove(this.object.animations, this),
this
}
,
e.prototype.resume = function() {
return this._start(),
this._startTime = Date.now() - this._time,
this
}
,
e.prototype.end = function() {
if (0 == this._loop && this.pause(),
this.setProgress(1),
this.applyStaticOptions(),
this.events.isEnabled("animationended")) {
var t = {
type: "animationended",
target: this,
progress: this.progress
};
this.events.dispatchImmediately("animationended", t)
}
return this._loop > 0 ? (this._loop--,
this.start()) : (this.stop(),
this._isFinished = !0),
this
}
,
e.prototype.kill = function() {
this.pause(),
this._isFinished = !0
}
,
e.prototype.isFinished = function() {
return this._isFinished
}
,
e.prototype.applyStaticOptions = function() {
var t = this;
d.each(this.staticOptions, function(e) {
e.childObject ? e.childObject[e.property] = 1 == t.progress ? e.to : e.from : t.object[e.property] = 1 == t.progress ? e.to : e.from
})
}
,
e.prototype.stop = function(t) {
if (this.pause(),
!t && this.events.isEnabled("animationstopped")) {
var e = {
type: "animationstopped",
target: this,
progress: this.progress
};
this.events.dispatchImmediately("animationstopped", e)
}
return this
}
,
e.prototype.setProgress = function(t) {
var e = this;
if (this._time = this.duration * t,
d.each(this.animationOptions, function(i) {
if (i.updateMethod && f.hasValue(i.from)) {
var r = i.updateMethod(t, i.from, i.to);
i.childObject ? i.childObject[i.property] = r : e.object[i.property] = r
}
}),
this.progress = t,
this.events.isEnabled("animationprogress")) {
var i = {
type: "animationprogress",
target: this,
progress: this.progress
};
this.events.dispatchImmediately("animationprogress", i)
}
g.b.requestFrame()
}
,
e.prototype.update = function() {
if (!this._pause) {
var t = void 0;
this._time = p.fitToRange(Date.now() - this._startTime, 0, this.duration);
var e = this._time / this.duration;
t = this.easing(e),
(0 == this.duration || !f.isNumber(t) || e >= 1) && (t = 1),
this.setProgress(t),
1 == p.round(this._time / this.duration, 6) && this.end()
}
return this
}
,
Object.defineProperty(e.prototype, "delayed", {
get: function() {
return !!this._delayTimeout
},
enumerable: !0,
configurable: !0
}),
e.prototype.stopSameAnimations = function() {
var t = this;
d.each(d.copy(this.object.animations), function(e) {
if (e !== t && !e.delayed) {
var i = [];
d.each(t.animationOptions, function(t) {
d.each(e.animationOptions, function(r) {
t.property == r.property && t.childObject == r.childObject && (i.push(r),
0 == e.animationOptions.length && e.kill())
})
}),
d.each(i, function(t) {
d.remove(e.animationOptions, t)
})
}
})
}
,
e.prototype.asFunction = function(e) {
return "easing" == e || t.prototype.asIs.call(this, e)
}
,
e
}(n.b)
},
"29Us": function(t, e, i) {
var r = i("vfdp")
, n = i("k2B3");
t.exports = function(t, e) {
try {
n(r, t, e)
} catch (i) {
r[t] = e
}
return e
}
},
"2D0i": function(t, e, i) {
var r, n, a, o, s, l, u, h, c = i("vfdp"), p = i("gxUV").f, d = i("2xmP"), f = i("gBcN").set, g = i("q8hm"), y = c.MutationObserver || c.WebKitMutationObserver, m = c.process, v = c.Promise, b = "process" == d(m), x = p(c, "queueMicrotask"), _ = x && x.value;
_ || (r = function() {
var t, e;
for (b && (t = m.domain) && t.exit(); n; ) {
e = n.fn,
n = n.next;
try {
e()
} catch (t) {
throw n ? o() : a = void 0,
t
}
}
a = void 0,
t && t.enter()
}
,
b ? o = function() {
m.nextTick(r)
}
: y && !g ? (s = !0,
l = document.createTextNode(""),
new y(r).observe(l, {
characterData: !0
}),
o = function() {
l.data = s = !s
}
) : v && v.resolve ? (u = v.resolve(void 0),
h = u.then,
o = function() {
h.call(u, r)
}
) : o = function() {
f.call(c, r)
}
),
t.exports = _ || function(t) {
var e = {
fn: t,
next: void 0
};
a && (a.next = e),
n || (n = e,
o()),
a = e
}
},
"2I/e": function(t, e, i) {
"use strict";
i.d(e, "b", function() {
return g
}),
i.d(e, "a", function() {
return y
});
var r = i("m4/l")
, n = i("VIOb")
, a = i("vMqJ")
, o = i("C6dT")
, s = i("aM7D")
, l = i("tjMS")
, u = i("DHte")
, h = i("aCit")