@versini/sassysaint 8.51.0 → 8.51.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/dist/chunks/{AboutChangelog.WNM37aeI.js → AboutChangelog.BIKGjlK4.js} +2 -2
  2. package/dist/chunks/{AboutEntry.DsEQiX_E.js → AboutEntry.Bvl_l0xS.js} +5 -5
  3. package/dist/chunks/{App.Bu-CJnKe.js → App.G5LEkLPc.js} +345 -341
  4. package/dist/chunks/{Chart.BdBKxHIA.js → Chart.O7iJjuZ1.js} +662 -660
  5. package/dist/chunks/{ChatBubbleAssistant.B-vRFZBE.js → ChatBubbleAssistant.DR6NuTsN.js} +4 -4
  6. package/dist/chunks/{ChatBubbleUser.B5gHBtWt.js → ChatBubbleUser.DyDiVXkT.js} +3 -3
  7. package/dist/chunks/{ChatHistoryTable.Dlabwern.js → ChatHistoryTable.Ceddivd9.js} +3 -3
  8. package/dist/chunks/{HistoryEntry.DRtSTHsn.js → HistoryEntry.DNEz-Xkp.js} +3 -3
  9. package/dist/chunks/{ProfileEntry.BSSHn4EU.js → ProfileEntry.BGVFwilC.js} +2 -2
  10. package/dist/chunks/{SettingsEntry.DwwFKKy7.js → SettingsEntry.D9FWahsa.js} +3 -3
  11. package/dist/chunks/{Table.D-giOzeS.js → Table.CpK7zURs.js} +2 -2
  12. package/dist/chunks/{UsageEntry.CShAiRZX.js → UsageEntry.BdEcEOro.js} +3 -3
  13. package/dist/chunks/{index.wxtgxm6M.js → index.6OcHe6xE.js} +3 -3
  14. package/dist/chunks/{index.CrGSvvJa.js → index.BUTJCc-o.js} +1 -1
  15. package/dist/chunks/{index.aQpIhFBj.js → index.CoXgq2rQ.js} +1 -1
  16. package/dist/chunks/{index.CHVF-o0F.js → index.DRMQdLp_.js} +1778 -1714
  17. package/dist/chunks/{index.Bp_XB-o3.js → index.DvVy8-Zq.js} +2 -2
  18. package/dist/chunks/{index.DMEz-UrM.js → index.E5R-gRQM.js} +1 -1
  19. package/dist/chunks/{index.BHp59-sT.js → index.T93ZkOuc.js} +1 -1
  20. package/dist/chunks/{useMarkdown.CW97u9fP.js → useMarkdown.CYsjqhfo.js} +6 -6
  21. package/dist/components/SassySaint/SassySaint.js +1 -1
  22. package/dist/index.js +4 -4
  23. package/dist/style.css +3 -3
  24. package/package.json +5 -5
@@ -1,29 +1,29 @@
1
- import { jsx as Tp } from "react/jsx-runtime";
2
- import { getDefaultExportFromCjs as ln } from "./App.Bu-CJnKe.js";
3
- import Ap, { useState as Cp, useEffect as Pp } from "react";
4
- import { TRIMESTERS as rn, TRIMESTERS_SHORT as Op, isProbablyMobile as Lp } from "./index.CHVF-o0F.js";
5
- var ls = { exports: {} }, Ep = ls.exports, on;
6
- function Ip() {
7
- return on || (on = 1, (function(ve, ne) {
1
+ import { jsx as Ap } from "react/jsx-runtime";
2
+ import { getDefaultExportFromCjs as ln } from "./App.G5LEkLPc.js";
3
+ import Cp, { useState as Pp, useEffect as Op } from "react";
4
+ import { TRIMESTERS as rn, TRIMESTERS_SHORT as Lp, isProbablyMobile as Ep } from "./index.DRMQdLp_.js";
5
+ var ls = { exports: {} }, Ip = ls.exports, on;
6
+ function Dp() {
7
+ return on || (on = 1, (function(ke, ne) {
8
8
  /**
9
- * Highcharts JS v12.3.0 (2025-06-21)
9
+ * Highcharts JS v12.4.0 (2025-09-04)
10
10
  * @module highcharts/highcharts
11
11
  *
12
- * (c) 2009-2025 Torstein Honsi
12
+ * (c) 2009-2025 Highsoft AS
13
13
  *
14
14
  * License: www.highcharts.com/license
15
15
  */
16
- (function(Pt, xt) {
17
- Pt._Highcharts = xt(), ve.exports = Pt._Highcharts;
18
- })(typeof window > "u" ? Ep : window, () => (() => {
19
- let Pt, xt;
20
- var nt, Mt, j, _, le, He, Fe, Ge, he, ke, St, Ye, we, Me, z, J, ot, dt, $t = {};
16
+ (function(Pt, mt) {
17
+ Pt._Highcharts = mt(), ke.exports = Pt._Highcharts;
18
+ })(typeof window > "u" ? Ip : window, () => (() => {
19
+ let Pt, mt;
20
+ var nt, Mt, j, J, le, He, Fe, Ge, he, we, St, Ye, Me, Se, z, Q, ot, dt, $t = {};
21
21
  $t.d = (l, t) => {
22
22
  for (var e in t) $t.o(t, e) && !$t.o(l, e) && Object.defineProperty(l, e, { enumerable: !0, get: t[e] });
23
23
  }, $t.o = (l, t) => Object.prototype.hasOwnProperty.call(l, t);
24
24
  var je = {};
25
- $t.d(je, { default: () => Sp }), (function(l) {
26
- l.SVG_NS = "http://www.w3.org/2000/svg", l.product = "Highcharts", l.version = "12.3.0", l.win = typeof window < "u" ? window : {}, l.doc = l.win.document, l.svg = !!l.doc?.createElementNS?.(l.SVG_NS, "svg")?.createSVGRect, l.pageLang = l.doc?.documentElement?.closest("[lang]")?.lang, l.userAgent = l.win.navigator?.userAgent || "", l.isChrome = l.win.chrome, l.isFirefox = l.userAgent.indexOf("Firefox") !== -1, l.isMS = /(edge|msie|trident)/i.test(l.userAgent) && !l.win.opera, l.isSafari = !l.isChrome && l.userAgent.indexOf("Safari") !== -1, l.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(l.userAgent), l.isWebKit = l.userAgent.indexOf("AppleWebKit") !== -1, l.deg2rad = 2 * Math.PI / 360, l.marginNames = ["plotTop", "marginRight", "marginBottom", "plotLeft"], l.noop = function() {
25
+ $t.d(je, { default: () => Tp }), (function(l) {
26
+ l.SVG_NS = "http://www.w3.org/2000/svg", l.product = "Highcharts", l.version = "12.4.0", l.win = typeof window < "u" ? window : {}, l.doc = l.win.document, l.svg = !!l.doc?.createElementNS?.(l.SVG_NS, "svg")?.createSVGRect, l.pageLang = l.doc?.documentElement?.closest("[lang]")?.lang, l.userAgent = l.win.navigator?.userAgent || "", l.isChrome = l.win.chrome, l.isFirefox = l.userAgent.indexOf("Firefox") !== -1, l.isMS = /(edge|msie|trident)/i.test(l.userAgent) && !l.win.opera, l.isSafari = !l.isChrome && l.userAgent.indexOf("Safari") !== -1, l.isTouchDevice = /(Mobile|Android|Windows Phone)/.test(l.userAgent), l.isWebKit = l.userAgent.indexOf("AppleWebKit") !== -1, l.deg2rad = 2 * Math.PI / 360, l.marginNames = ["plotTop", "marginRight", "marginBottom", "plotLeft"], l.noop = function() {
27
27
  }, l.supportsPassiveEvents = (function() {
28
28
  let t = !1;
29
29
  if (!l.isMS) {
@@ -62,32 +62,32 @@ function Ip() {
62
62
  let t = Object.prototype.toString.call(l);
63
63
  return t === "[object Array]" || t === "[object Array Iterator]";
64
64
  }
65
- function Se(l, t) {
65
+ function Te(l, t) {
66
66
  return !!l && typeof l == "object" && (!t || !mi(l));
67
67
  }
68
68
  function ds(l) {
69
- return Se(l) && typeof l.nodeType == "number";
69
+ return Te(l) && typeof l.nodeType == "number";
70
70
  }
71
71
  function Lr(l) {
72
72
  let t = l?.constructor;
73
- return !!(Se(l, !0) && !ds(l) && t?.name && t.name !== "Object");
73
+ return !!(Te(l, !0) && !ds(l) && t?.name && t.name !== "Object");
74
74
  }
75
75
  function cs(l) {
76
76
  return typeof l == "number" && !isNaN(l) && l < 1 / 0 && l > -1 / 0;
77
77
  }
78
- function Te(l) {
78
+ function Ae(l) {
79
79
  return l != null;
80
80
  }
81
81
  function Er(l, t, e) {
82
- let i, s = Ve(t) && !Te(e), r = (o, a) => {
83
- Te(o) ? l.setAttribute(a, o) : s ? (i = l.getAttribute(a)) || a !== "class" || (i = l.getAttribute(a + "Name")) : l.removeAttribute(a);
82
+ let i, s = Ve(t) && !Ae(e), r = (o, a) => {
83
+ Ae(o) ? l.setAttribute(a, o) : s ? (i = l.getAttribute(a)) || a !== "class" || (i = l.getAttribute(a + "Name")) : l.removeAttribute(a);
84
84
  };
85
85
  return Ve(t) ? r(e, t) : de(t, r), i;
86
86
  }
87
87
  function Ir(l) {
88
88
  return mi(l) ? l : [l];
89
89
  }
90
- function Ae(l, t) {
90
+ function Ce(l, t) {
91
91
  let e;
92
92
  for (e in l || (l = {}), t) l[e] = t[e];
93
93
  return l;
@@ -100,7 +100,7 @@ function Ip() {
100
100
  }
101
101
  }
102
102
  function ps(l, t) {
103
- Ae(l.style, t);
103
+ Ce(l.style, t);
104
104
  }
105
105
  function Dr(l) {
106
106
  return Math.pow(10, Math.floor(Math.log(l) / Math.LN10));
@@ -145,9 +145,9 @@ function Ip() {
145
145
  function zr(l, t, e, i) {
146
146
  if (e = e || {}, Zt?.createEvent && (l.dispatchEvent || l.fireEvent && l !== C)) {
147
147
  let s = Zt.createEvent("Events");
148
- s.initEvent(t, !0, !0), e = Ae(s, e), l.dispatchEvent ? l.dispatchEvent(e) : l.fireEvent(t, e);
148
+ s.initEvent(t, !0, !0), e = Ce(s, e), l.dispatchEvent ? l.dispatchEvent(e) : l.fireEvent(t, e);
149
149
  } else if (l.hcEvents) {
150
- e.target || Ae(e, { preventDefault: function() {
150
+ e.target || Ce(e, { preventDefault: function() {
151
151
  e.defaultPrevented = !0;
152
152
  }, target: l, type: t });
153
153
  let s = [], r = l, o = !1;
@@ -190,14 +190,14 @@ function Ip() {
190
190
  }, attr: Er, clamp: function(l, t, e) {
191
191
  return l > t ? l < e ? l : e : t;
192
192
  }, clearTimeout: function(l) {
193
- Te(l) && clearTimeout(l);
193
+ Ae(l) && clearTimeout(l);
194
194
  }, correctFloat: Br, createElement: function(l, t, e, i, s) {
195
195
  let r = Zt.createElement(l);
196
- return t && Ae(r, t), s && ps(r, { padding: "0", border: "none", margin: "0" }), e && ps(r, e), i && i.appendChild(r), r;
196
+ return t && Ce(r, t), s && ps(r, { padding: "0", border: "none", margin: "0" }), e && ps(r, e), i && i.appendChild(r), r;
197
197
  }, crisp: function(l, t = 0, e) {
198
198
  let i = t % 2 / 2, s = e ? -1 : 1;
199
199
  return (Math.round(l * s - i) + i) * s;
200
- }, css: ps, defined: Te, destroyObjectProperties: function(l, t, e) {
200
+ }, css: ps, defined: Ae, destroyObjectProperties: function(l, t, e) {
201
201
  de(l, function(i, s) {
202
202
  i !== t && i?.destroy && i.destroy(), (i?.destroy || !e) && delete l[s];
203
203
  });
@@ -209,7 +209,7 @@ function Ip() {
209
209
  if (!h && i && i.indexOf(p) > -1 && a[p]) {
210
210
  d = Ir(d), n[p] = [];
211
211
  for (let u = 0; u < Math.max(d.length, a[p].length); u++) a[p][u] && (d[u] === void 0 ? n[p][u] = a[p][u] : (n[p][u] = {}, r(d[u], a[p][u], n[p][u], h + 1)));
212
- } else Se(d, !0) && !d.nodeType ? (n[p] = mi(d) ? [] : {}, r(d, a[p] || {}, n[p], h + 1), Object.keys(n[p]).length === 0 && (p !== "colorAxis" || h !== 0) && delete n[p]) : (o[p] !== a[p] || p in o && !(p in a)) && p !== "__proto__" && p !== "constructor" && (n[p] = c[p]);
212
+ } else Te(d, !0) && !d.nodeType ? (n[p] = mi(d) ? [] : {}, r(d, a[p] || {}, n[p], h + 1), Object.keys(n[p]).length === 0 && (p !== "colorAxis" || h !== 0) && delete n[p]) : (o[p] !== a[p] || p in o && !(p in a)) && p !== "__proto__" && p !== "constructor" && (n[p] = c[p]);
213
213
  });
214
214
  })(l, t, s, 0), s;
215
215
  }, discardElement: function(l) {
@@ -220,10 +220,10 @@ function Ip() {
220
220
  l.splice(e, 1);
221
221
  break;
222
222
  }
223
- }, error: Ue, extend: Ae, extendClass: function(l, t) {
223
+ }, error: Ue, extend: Ce, extendClass: function(l, t) {
224
224
  let e = function() {
225
225
  };
226
- return e.prototype = new l(), Ae(e.prototype, t), e;
226
+ return e.prototype = new l(), Ce(e.prototype, t), e;
227
227
  }, find: hn, fireEvent: zr, getAlignFactor: (l = "") => ({ center: 0.5, right: 1, middle: 0.5, bottom: 1 })[l] || 0, getClosestDistance: function(l, t) {
228
228
  let e, i, s, r = !t;
229
229
  return l.forEach((o) => {
@@ -231,15 +231,15 @@ function Ip() {
231
231
  }), e;
232
232
  }, getMagnitude: Dr, getNestedProperty: function(l, t) {
233
233
  let e = l.split(".");
234
- for (; e.length && Te(t); ) {
234
+ for (; e.length && Ae(t); ) {
235
235
  let i = e.shift();
236
236
  if (i === void 0 || i === "__proto__") return;
237
237
  if (i === "this") {
238
238
  let r;
239
- return Se(t) && (r = t["@this"]), r ?? t;
239
+ return Te(t) && (r = t["@this"]), r ?? t;
240
240
  }
241
241
  let s = t[i.replace(/[\\'"]/g, "")];
242
- if (!Te(s) || typeof s == "function" || typeof s.nodeType == "number" || s === Rt) return;
242
+ if (!Ae(s) || typeof s == "function" || typeof s.nodeType == "number" || s === Rt) return;
243
243
  t = s;
244
244
  }
245
245
  return t;
@@ -261,10 +261,10 @@ function Ip() {
261
261
  return e;
262
262
  }, isArray: mi, isClass: Lr, isDOMElement: ds, isFunction: function(l) {
263
263
  return typeof l == "function";
264
- }, isNumber: cs, isObject: Se, isString: Ve, merge: function(l, ...t) {
264
+ }, isNumber: cs, isObject: Te, isString: Ve, merge: function(l, ...t) {
265
265
  let e, i = [l, ...t], s = {}, r = function(a, n) {
266
266
  return typeof a != "object" && (a = {}), de(n, function(h, c) {
267
- c !== "__proto__" && c !== "constructor" && (!Se(h, !0) || Lr(h) || ds(h) ? a[c] = n[c] : a[c] = r(a[c] || {}, h));
267
+ c !== "__proto__" && c !== "constructor" && (!Te(h, !0) || Lr(h) || ds(h) ? a[c] = n[c] : a[c] = r(a[c] || {}, h));
268
268
  }), a;
269
269
  };
270
270
  l === !0 && (s = i[1], i = Array.prototype.slice.call(i, 2));
@@ -438,18 +438,18 @@ function Ip() {
438
438
  return jt;
439
439
  }, setOptions: function(l) {
440
440
  return kn(C, "setOptions", { options: l }), wn(!0, jt, l), l.time && xs.update(jt.time), l.lang && "locale" in l.lang && xs.update({ locale: l.lang.locale }), l.lang?.chartTitle && (jt.title = { ...jt.title, text: l.lang.chartTitle }), jt;
441
- } }, { win: Mn } = C, { isNumber: qe, isString: Sn, merge: Tn, pInt: yt, defined: Fr } = B, Gr = (l, t, e) => `color-mix(in srgb,${l},${t} ${100 * e}%)`, ys = (l) => Sn(l) && !!l && l !== "none";
442
- class tt {
441
+ } }, { win: Mn } = C, { isNumber: qe, isString: Sn, merge: Tn, pInt: xt, defined: Fr } = B, Gr = (l, t, e) => `color-mix(in srgb,${l},${t} ${100 * e}%)`, ys = (l) => Sn(l) && !!l && l !== "none";
442
+ class et {
443
443
  static parse(t) {
444
- return t ? new tt(t) : tt.None;
444
+ return t ? new et(t) : et.None;
445
445
  }
446
446
  constructor(t) {
447
447
  let e, i, s, r;
448
448
  this.rgba = [NaN, NaN, NaN, NaN], this.input = t;
449
449
  let o = C.Color;
450
- if (o && o !== tt) return new o(t);
451
- if (typeof t == "object" && t.stops !== void 0) this.stops = t.stops.map((a) => new tt(a[1]));
452
- else if (typeof t == "string") for (this.input = t = tt.names[t.toLowerCase()] || t, s = tt.parsers.length; s-- && !i; ) (e = (r = tt.parsers[s]).regex.exec(t)) && (i = r.parse(e));
450
+ if (o && o !== et) return new o(t);
451
+ if (typeof t == "object" && t.stops !== void 0) this.stops = t.stops.map((a) => new et(a[1]));
452
+ else if (typeof t == "string") for (this.input = t = et.names[t.toLowerCase()] || t, s = et.parsers.length; s-- && !i; ) (e = (r = et.parsers[s]).regex.exec(t)) && (i = r.parse(e));
453
453
  i && (this.rgba = i);
454
454
  }
455
455
  get(t) {
@@ -468,8 +468,8 @@ function Ip() {
468
468
  if (this.stops) this.stops.forEach(function(i) {
469
469
  i.brighten(t);
470
470
  });
471
- else if (qe(t) && t !== 0) if (qe(e[0])) for (let i = 0; i < 3; i++) e[i] += yt(255 * t), e[i] < 0 && (e[i] = 0), e[i] > 255 && (e[i] = 255);
472
- else tt.useColorMix && ys(this.input) && (this.output = Gr(this.input, t > 0 ? "white" : "black", Math.abs(t)));
471
+ else if (qe(t) && t !== 0) if (qe(e[0])) for (let i = 0; i < 3; i++) e[i] += xt(255 * t), e[i] < 0 && (e[i] = 0), e[i] > 255 && (e[i] = 255);
472
+ else et.useColorMix && ys(this.input) && (this.output = Gr(this.input, t > 0 ? "white" : "black", Math.abs(t)));
473
473
  return this;
474
474
  }
475
475
  setOpacity(t) {
@@ -477,22 +477,22 @@ function Ip() {
477
477
  }
478
478
  tweenTo(t, e) {
479
479
  let i = this.rgba, s = t.rgba;
480
- if (!qe(i[0]) || !qe(s[0])) return tt.useColorMix && ys(this.input) && ys(t.input) && e < 0.99 ? Gr(this.input, t.input, e) : t.input || "none";
480
+ if (!qe(i[0]) || !qe(s[0])) return et.useColorMix && ys(this.input) && ys(t.input) && e < 0.99 ? Gr(this.input, t.input, e) : t.input || "none";
481
481
  let r = s[3] !== 1 || i[3] !== 1, o = (n, h) => n + (i[h] - n) * (1 - e), a = s.slice(0, 3).map(o).map(Math.round);
482
482
  return r && a.push(o(s[3], 3)), (r ? "rgba(" : "rgb(") + a.join(",") + ")";
483
483
  }
484
484
  }
485
- tt.names = { white: "#ffffff", black: "#000000" }, tt.parsers = [{ regex: /rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/, parse: function(l) {
486
- return [yt(l[1]), yt(l[2]), yt(l[3]), parseFloat(l[4], 10)];
485
+ et.names = { white: "#ffffff", black: "#000000" }, et.parsers = [{ regex: /rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?(?:\.\d+)?)\s*\)/, parse: function(l) {
486
+ return [xt(l[1]), xt(l[2]), xt(l[3]), parseFloat(l[4], 10)];
487
487
  } }, { regex: /rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/, parse: function(l) {
488
- return [yt(l[1]), yt(l[2]), yt(l[3]), 1];
488
+ return [xt(l[1]), xt(l[2]), xt(l[3]), 1];
489
489
  } }, { regex: /^#([a-f0-9])([a-f0-9])([a-f0-9])([a-f0-9])?$/i, parse: function(l) {
490
- return [yt(l[1] + l[1], 16), yt(l[2] + l[2], 16), yt(l[3] + l[3], 16), Fr(l[4]) ? yt(l[4] + l[4], 16) / 255 : 1];
490
+ return [xt(l[1] + l[1], 16), xt(l[2] + l[2], 16), xt(l[3] + l[3], 16), Fr(l[4]) ? xt(l[4] + l[4], 16) / 255 : 1];
491
491
  } }, { regex: /^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})?$/i, parse: function(l) {
492
- return [yt(l[1], 16), yt(l[2], 16), yt(l[3], 16), Fr(l[4]) ? yt(l[4], 16) / 255 : 1];
493
- } }], tt.useColorMix = Mn.CSS?.supports("color", "color-mix(in srgb,red,blue 9%)"), tt.None = new tt("");
494
- let { parse: Yr } = tt, { win: An } = C, { isNumber: bs, objectEach: Cn } = B;
495
- class bt {
492
+ return [xt(l[1], 16), xt(l[2], 16), xt(l[3], 16), Fr(l[4]) ? xt(l[4], 16) / 255 : 1];
493
+ } }], et.useColorMix = Mn.CSS?.supports("color", "color-mix(in srgb,red,blue 9%)"), et.None = new et("");
494
+ let { parse: Yr } = et, { win: An } = C, { isNumber: bs, objectEach: Cn } = B;
495
+ class yt {
496
496
  constructor(t, e, i) {
497
497
  this.pos = NaN, this.options = e, this.elem = t, this.prop = i;
498
498
  }
@@ -520,10 +520,10 @@ function Ip() {
520
520
  }, a = An.requestAnimationFrame || function(h) {
521
521
  setTimeout(h, 13);
522
522
  }, n = function() {
523
- for (let h = 0; h < bt.timers.length; h++) bt.timers[h]() || bt.timers.splice(h--, 1);
524
- bt.timers.length && a(n);
523
+ for (let h = 0; h < yt.timers.length; h++) yt.timers[h]() || yt.timers.splice(h--, 1);
524
+ yt.timers.length && a(n);
525
525
  };
526
- t !== e || this.elem["forceAnimate:" + this.prop] ? (this.startTime = +/* @__PURE__ */ new Date(), this.start = t, this.end = e, this.unit = i, this.now = this.start, this.pos = 0, o.elem = this.elem, o.prop = this.prop, o() && bt.timers.push(o) === 1 && a(n)) : (delete r.curAnim[this.prop], r.complete && Object.keys(r.curAnim).length === 0 && r.complete.call(this.elem));
526
+ t !== e || this.elem["forceAnimate:" + this.prop] ? (this.startTime = +/* @__PURE__ */ new Date(), this.start = t, this.end = e, this.unit = i, this.now = this.start, this.pos = 0, o.elem = this.elem, o.prop = this.prop, o() && yt.timers.push(o) === 1 && a(n)) : (delete r.curAnim[this.prop], r.complete && Object.keys(r.curAnim).length === 0 && r.complete.call(this.elem));
527
527
  }
528
528
  step(t) {
529
529
  let e, i, s = +/* @__PURE__ */ new Date(), r = this.options, o = this.elem, a = r.complete, n = r.duration, h = r.curAnim;
@@ -538,8 +538,8 @@ function Ip() {
538
538
  for (; f.length < d; ) {
539
539
  let b = f[0], v = y[d - f.length];
540
540
  if (v && b[0] === "M" && (v[0] === "C" ? f[0] = ["C", b[1], b[2], b[1], b[2], b[1], b[2]] : f[0] = ["L", b[1], b[2]]), f.unshift(b), a) {
541
- let w = f.pop();
542
- f.push(f[f.length - 1], w);
541
+ let k = f.pop();
542
+ f.push(f[f.length - 1], k);
543
543
  }
544
544
  }
545
545
  }
@@ -568,25 +568,25 @@ function Ip() {
568
568
  return g.length && bs(c) && (d = o.length + c * n, u ? (x(g, o), m(o)) : (x(o, g), m(g))), [g, o];
569
569
  }
570
570
  fillSetter() {
571
- bt.prototype.strokeSetter.apply(this, arguments);
571
+ yt.prototype.strokeSetter.apply(this, arguments);
572
572
  }
573
573
  strokeSetter() {
574
574
  this.elem.attr(this.prop, Yr(this.start).tweenTo(Yr(this.end), this.pos), void 0, !0);
575
575
  }
576
576
  }
577
- bt.timers = [];
577
+ yt.timers = [];
578
578
  let { defined: Pn, getStyle: On, isArray: Ln, isNumber: En, isObject: vs, merge: jr, objectEach: In, pick: Dn } = B;
579
579
  function ks(l) {
580
580
  return vs(l) ? jr({ duration: 500, defer: 0 }, l) : { duration: 500 * !!l, defer: 0 };
581
581
  }
582
582
  function Ur(l, t) {
583
- let e = bt.timers.length;
584
- for (; e--; ) bt.timers[e].elem !== l || t && t !== bt.timers[e].prop || (bt.timers[e].stopped = !0);
583
+ let e = yt.timers.length;
584
+ for (; e--; ) yt.timers[e].elem !== l || t && t !== yt.timers[e].prop || (yt.timers[e].stopped = !0);
585
585
  }
586
586
  let gt = { animate: function(l, t, e) {
587
587
  let i, s = "", r, o, a;
588
588
  vs(e) || (a = arguments, e = { duration: a[2], easing: a[3], complete: a[4] }), En(e.duration) || (e.duration = 400), e.easing = typeof e.easing == "function" ? e.easing : Math[e.easing] || Math.easeInOutSine, e.curAnim = jr(t), In(t, function(n, h) {
589
- Ur(l, h), o = new bt(l, e, h), r = void 0, h === "d" && Ln(t.d) ? (o.paths = o.initPath(l, l.pathArray, t.d), o.toD = t.d, i = 0, r = 1) : l.attr ? i = l.attr(h) : (i = parseFloat(On(l, h)) || 0, h !== "opacity" && (s = "px")), r || (r = n), typeof r == "string" && r.match("px") && (r = r.replace(/px/g, "")), o.run(i, r, s);
589
+ Ur(l, h), o = new yt(l, e, h), r = void 0, h === "d" && Ln(t.d) ? (o.paths = o.initPath(l, l.pathArray, t.d), o.toD = t.d, i = 0, r = 1) : l.attr ? i = l.attr(h) : (i = parseFloat(On(l, h)) || 0, h !== "opacity" && (s = "px")), r || (r = n), typeof r == "string" && r.match("px") && (r = r.replace(/px/g, "")), o.run(i, r, s);
590
590
  });
591
591
  }, animObject: ks, getDeferredAnimation: function(l, t, e) {
592
592
  let i = ks(t), s = e ? [e] : l.series, r = 0, o = 0;
@@ -597,11 +597,11 @@ function Ip() {
597
597
  }, setAnimation: function(l, t) {
598
598
  t.renderer.globalAnimation = Dn(l, t.options.chart.animation, !0);
599
599
  }, stop: Ur }, { SVG_NS: Vr, win: Bn } = C, { attr: Nn, createElement: zn, css: Rn, error: $r, isFunction: Wn, isString: Zr, objectEach: qr, splat: Xn } = B, { trustedTypes: ws } = Bn, yi = ws && Wn(ws.createPolicy) && ws.createPolicy("highcharts", { createHTML: (l) => l }), Hn = yi ? yi.createHTML("") : "";
600
- class Q {
600
+ class tt {
601
601
  static filterUserAttributes(t) {
602
602
  return qr(t, (e, i) => {
603
603
  let s = !0;
604
- Q.allowedAttributes.indexOf(i) === -1 && (s = !1), ["background", "dynsrc", "href", "lowsrc", "src"].indexOf(i) !== -1 && (s = Zr(e) && Q.allowedReferences.some((r) => e.indexOf(r) === 0)), s || ($r(33, !1, void 0, { "Invalid attribute in config": `${i}` }), delete t[i]), Zr(e) && t[i] && (t[i] = e.replace(/</g, "&lt;"));
604
+ tt.allowedAttributes.indexOf(i) === -1 && (s = !1), ["background", "dynsrc", "href", "lowsrc", "src"].indexOf(i) !== -1 && (s = Zr(e) && tt.allowedReferences.some((r) => e.indexOf(r) === 0)), s || ($r(33, !1, void 0, { "Invalid attribute in config": `${i}` }), delete t[i]), Zr(e) && t[i] && (t[i] = e.replace(/</g, "&lt;"));
605
605
  }), t;
606
606
  }
607
607
  static parseStyle(t) {
@@ -611,7 +611,7 @@ function Ip() {
611
611
  }, {});
612
612
  }
613
613
  static setElementHTML(t, e) {
614
- t.innerHTML = Q.emptyHTML, e && new Q(e).addToDOM(t);
614
+ t.innerHTML = tt.emptyHTML, e && new tt(e).addToDOM(t);
615
615
  }
616
616
  constructor(t) {
617
617
  this.nodes = typeof t == "string" ? this.parseMarkup(t) : t;
@@ -620,13 +620,13 @@ function Ip() {
620
620
  return (function e(i, s) {
621
621
  let r;
622
622
  return Xn(i).forEach(function(o) {
623
- let a, n = o.tagName, h = o.textContent ? C.doc.createTextNode(o.textContent) : void 0, c = Q.bypassHTMLFiltering;
623
+ let a, n = o.tagName, h = o.textContent ? C.doc.createTextNode(o.textContent) : void 0, c = tt.bypassHTMLFiltering;
624
624
  if (n) if (n === "#text") a = h;
625
- else if (Q.allowedTags.indexOf(n) !== -1 || c) {
625
+ else if (tt.allowedTags.indexOf(n) !== -1 || c) {
626
626
  let d = n === "svg" ? Vr : s.namespaceURI || Vr, p = C.doc.createElementNS(d, n), u = o.attributes || {};
627
627
  qr(o, function(g, x) {
628
628
  x !== "tagName" && x !== "attributes" && x !== "children" && x !== "style" && x !== "textContent" && (u[x] = g);
629
- }), Nn(p, c ? u : Q.filterUserAttributes(u)), o.style && Rn(p, o.style), h && p.appendChild(h), e(o.children || [], p), a = p;
629
+ }), Nn(p, c ? u : tt.filterUserAttributes(u)), o.style && Rn(p, o.style), h && p.appendChild(h), e(o.children || [], p), a = p;
630
630
  } else $r(33, !1, void 0, { "Invalid tagName in config": n });
631
631
  a && s.appendChild(a), r = a;
632
632
  }), r;
@@ -650,7 +650,7 @@ function Ip() {
650
650
  if (h) {
651
651
  let c = {};
652
652
  [].forEach.call(h, (d) => {
653
- d.name === "data-style" ? n.style = Q.parseStyle(d.value) : c[d.name] = d.value;
653
+ d.name === "data-style" ? n.style = tt.parseStyle(d.value) : c[d.name] = d.value;
654
654
  }), n.attributes = c;
655
655
  }
656
656
  if (r.childNodes.length) {
@@ -664,7 +664,7 @@ function Ip() {
664
664
  return [].forEach.call(e.body.childNodes, (r) => s(r, i)), i;
665
665
  }
666
666
  }
667
- Q.allowedAttributes = ["alt", "aria-controls", "aria-describedby", "aria-expanded", "aria-haspopup", "aria-hidden", "aria-label", "aria-labelledby", "aria-live", "aria-pressed", "aria-readonly", "aria-roledescription", "aria-selected", "class", "clip-path", "color", "colspan", "cx", "cy", "d", "disabled", "dx", "dy", "fill", "filterUnits", "flood-color", "flood-opacity", "height", "href", "id", "in", "in2", "markerHeight", "markerWidth", "offset", "opacity", "operator", "orient", "padding", "paddingLeft", "paddingRight", "patternUnits", "r", "radius", "refX", "refY", "result", "role", "rowspan", "scope", "slope", "src", "startOffset", "stdDeviation", "stroke-linecap", "stroke-width", "stroke", "style", "summary", "tabindex", "tableValues", "target", "text-align", "text-anchor", "textAnchor", "textLength", "title", "type", "valign", "width", "x", "x1", "x2", "xlink:href", "y", "y1", "y2", "zIndex"], Q.allowedReferences = ["https://", "http://", "mailto:", "/", "../", "./", "#"], Q.allowedTags = ["#text", "a", "abbr", "b", "br", "button", "caption", "circle", "clipPath", "code", "dd", "defs", "div", "dl", "dt", "em", "feComponentTransfer", "feComposite", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feMerge", "feMergeNode", "feMorphology", "feOffset", "filter", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "i", "img", "li", "linearGradient", "marker", "ol", "p", "path", "pattern", "pre", "rect", "small", "span", "stop", "strong", "style", "sub", "sup", "svg", "table", "tbody", "td", "text", "textPath", "th", "thead", "title", "tr", "tspan", "u", "ul"], Q.emptyHTML = Hn, Q.bypassHTMLFiltering = !1;
667
+ tt.allowedAttributes = ["alt", "aria-controls", "aria-describedby", "aria-expanded", "aria-haspopup", "aria-hidden", "aria-label", "aria-labelledby", "aria-live", "aria-pressed", "aria-readonly", "aria-roledescription", "aria-selected", "class", "clip-path", "color", "colspan", "cx", "cy", "d", "disabled", "dx", "dy", "fill", "filterUnits", "flood-color", "flood-opacity", "height", "href", "id", "in", "in2", "markerHeight", "markerWidth", "offset", "opacity", "operator", "orient", "padding", "paddingLeft", "paddingRight", "patternUnits", "r", "radius", "refX", "refY", "result", "role", "rowspan", "scope", "slope", "src", "startOffset", "stdDeviation", "stroke-linecap", "stroke-width", "stroke", "style", "summary", "tabindex", "tableValues", "target", "text-align", "text-anchor", "textAnchor", "textLength", "title", "type", "valign", "width", "x", "x1", "x2", "xlink:href", "y", "y1", "y2", "zIndex"], tt.allowedReferences = ["https://", "http://", "mailto:", "/", "../", "./", "#"], tt.allowedTags = ["#text", "a", "abbr", "b", "br", "button", "caption", "circle", "clipPath", "code", "dd", "defs", "div", "dl", "dt", "em", "feComponentTransfer", "feComposite", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feMerge", "feMergeNode", "feMorphology", "feOffset", "filter", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "i", "img", "li", "linearGradient", "marker", "ol", "p", "path", "pattern", "pre", "rect", "small", "span", "stop", "strong", "style", "sub", "sup", "svg", "table", "tbody", "td", "text", "textPath", "th", "thead", "title", "tr", "tspan", "u", "ul"], tt.emptyHTML = Hn, tt.bypassHTMLFiltering = !1;
668
668
  let { defaultOptions: Kr, defaultTime: _r } = Ot, { pageLang: Fn } = C, { extend: Gn, getNestedProperty: Yn, isArray: jn, isNumber: Jr, isObject: Un, isString: Vn, pick: $n, ucfirst: Zn } = B, bi = { add: (l, t) => l + t, divide: (l, t) => t !== 0 ? l / t : "", eq: (l, t) => l == t, each: function(l) {
669
669
  let t = arguments[arguments.length - 1];
670
670
  return !!jn(l) && l.map((e, i) => vi(t.body, Gn(Un(e) ? e : { "@this": e }, { "@index": i, "@first": i === 0, "@last": i === l.length - 1 }))).join("");
@@ -682,27 +682,27 @@ function Ip() {
682
682
  let b = p[1] === "else";
683
683
  if (u.isBlock && u.fn && (p[1] === `/${u.fn}` || b)) if (g) !b && g--;
684
684
  else {
685
- let v = u.startInner, w = l.substr(v, p.index - v);
686
- u.body === void 0 ? (u.body = w, u.startInner = p.index + p[0].length) : u.elseBody = w, u.find += w + p[0], b || (r.push(u), u = void 0);
685
+ let v = u.startInner, k = l.substr(v, p.index - v);
686
+ u.body === void 0 ? (u.body = k, u.startInner = p.index + p[0].length) : u.elseBody = k, u.find += k + p[0], b || (r.push(u), u = void 0);
687
687
  }
688
688
  else u.isBlock || r.push(u);
689
689
  if (f && !u?.isBlock) break;
690
690
  }
691
691
  return r.forEach((m) => {
692
- let f, y, { body: b, elseBody: v, expression: w, fn: k } = m;
693
- if (k) {
694
- let S = [m], M = [], A = w.length, P = 0, T;
692
+ let f, y, { body: b, elseBody: v, expression: k, fn: M } = m;
693
+ if (M) {
694
+ let S = [m], w = [], A = k.length, P = 0, T;
695
695
  for (y = 0; y <= A; y++) {
696
- let L = w.charAt(y);
697
- T || L !== '"' && L !== "'" ? T === L && (T = "") : T = L, T || L !== " " && y !== A || (M.push(w.substr(P, y - P)), P = y + 1);
696
+ let L = k.charAt(y);
697
+ T || L !== '"' && L !== "'" ? T === L && (T = "") : T = L, T || L !== " " && y !== A || (w.push(k.substr(P, y - P)), P = y + 1);
698
698
  }
699
- for (y = bi[k].length; y--; ) S.unshift(d(M[y + 1]));
700
- f = bi[k].apply(t, S), m.isBlock && typeof f == "boolean" && (f = vi(f ? b : v, t, e));
699
+ for (y = bi[M].length; y--; ) S.unshift(d(w[y + 1]));
700
+ f = bi[M].apply(t, S), m.isBlock && typeof f == "boolean" && (f = vi(f ? b : v, t, e));
701
701
  } else {
702
- let S = to(w) ? [w] : w.split(":"), M = (f = d(S.shift() || "")) % 1 != 0;
703
- if (typeof f == "number" && (S.length || M)) {
702
+ let S = to(k) ? [k] : k.split(":"), w = (f = d(S.shift() || "")) % 1 != 0;
703
+ if (typeof f == "number" && (S.length || w)) {
704
704
  let A = S.join(":");
705
- if (o.test(A) || M) {
705
+ if (o.test(A) || w) {
706
706
  let P = parseInt((A.match(a) || ["", "-1"])[1], 10);
707
707
  f !== null && (f = c(f, P, n.decimalPoint, A.indexOf(",") > -1 ? n.thousandsSep : ""));
708
708
  } else f = h.dateFormat(A, f);
@@ -744,10 +744,10 @@ function Ip() {
744
744
  }
745
745
  return c.apply(s, a), d = 0, t.some((b) => {
746
746
  let v = 0;
747
- return (b.targets || []).some(() => (s[d].pos = b.pos + v, i !== void 0 && Math.abs(s[d].pos - s[d].target) > i ? (s.slice(0, d + 1).forEach((w) => delete w.pos), s.reducedLen = (s.reducedLen || e) - 0.1 * e, s.reducedLen > 0.1 * e && l(s, e, i), !0) : (v += s[d].size, d++, !1)));
747
+ return (b.targets || []).some(() => (s[d].pos = b.pos + v, i !== void 0 && Math.abs(s[d].pos - s[d].target) > i ? (s.slice(0, d + 1).forEach((k) => delete k.pos), s.reducedLen = (s.reducedLen || e) - 0.1 * e, s.reducedLen > 0.1 * e && l(s, e, i), !0) : (v += s[d].size, d++, !1)));
748
748
  }), Ms(s, o), s;
749
749
  };
750
- let ki = j, { animate: Jn, animObject: Qn, stop: io } = gt, { deg2rad: so, doc: Ce, svg: tl, SVG_NS: wi, win: el, isFirefox: il } = C, { addEvent: sl, attr: Ss, createElement: rl, crisp: Mi, css: ro, defined: Wt, erase: ol, extend: _e, fireEvent: Ts, getAlignFactor: As, isArray: oo, isFunction: ao, isNumber: al, isObject: nl, isString: no, merge: Cs, objectEach: Pe, pick: Ut, pInt: Si, pushUnique: ll, replaceNested: hl, syncTimeout: dl, uniqueKey: lo } = B;
750
+ let ki = j, { animate: Jn, animObject: Qn, stop: io } = gt, { deg2rad: so, doc: Pe, svg: tl, SVG_NS: wi, win: el, isFirefox: il } = C, { addEvent: sl, attr: Ss, createElement: rl, crisp: Mi, css: ro, defined: Wt, erase: ol, extend: _e, fireEvent: Ts, getAlignFactor: As, isArray: oo, isFunction: ao, isNumber: al, isObject: nl, isString: no, merge: Cs, objectEach: Oe, pick: Ut, pInt: Si, pushUnique: ll, replaceNested: hl, syncTimeout: dl, uniqueKey: lo } = B;
751
751
  class ct {
752
752
  _defaultGetter(t) {
753
753
  let e = Ut(this[t + "Value"], this[t], this.element ? this.element.getAttribute(t) : null, 0);
@@ -783,9 +783,9 @@ function Ip() {
783
783
  }
784
784
  animate(t, e, i) {
785
785
  let s = Qn(Ut(e, this.renderer.globalAnimation, !0)), r = s.defer;
786
- return Ce.hidden && (s.duration = 0), s.duration !== 0 ? (i && (s.complete = i), dl(() => {
786
+ return Pe.hidden && (s.duration = 0), s.duration !== 0 ? (i && (s.complete = i), dl(() => {
787
787
  this.element && Jn(this, t, s);
788
- }, r)) : (this.attr(t, void 0, i || s.complete), Pe(t, function(o, a) {
788
+ }, r)) : (this.attr(t, void 0, i || s.complete), Oe(t, function(o, a) {
789
789
  s.step && s.step.call(this, o, { prop: a, pos: 1, elem: this });
790
790
  }, this)), this;
791
791
  }
@@ -797,7 +797,7 @@ function Ip() {
797
797
  this.fakeTS = !0, r = r.replace(/(^[\d\.]+)(.*?)$/g, function(c, d, p) {
798
798
  return 2 * Number(d) + p;
799
799
  }), this.removeTextOutline();
800
- let o = Ce.createElementNS(wi, "tspan");
800
+ let o = Pe.createElementNS(wi, "tspan");
801
801
  Ss(o, { class: "highcharts-text-outline", fill: s, stroke: s, "stroke-width": r, "stroke-linejoin": "round" });
802
802
  let a = e.querySelector("textPath") || e;
803
803
  [].forEach.call(a.childNodes, (c) => {
@@ -808,13 +808,13 @@ function Ip() {
808
808
  [].forEach.call(a.querySelectorAll("text tspan"), (c) => {
809
809
  n += Number(c.getAttribute("dy"));
810
810
  });
811
- let h = Ce.createElementNS(wi, "tspan");
811
+ let h = Pe.createElementNS(wi, "tspan");
812
812
  h.textContent = "​", Ss(h, { x: Number(e.getAttribute("x")), dy: -n }), o.appendChild(h), a.insertBefore(o, a.firstChild);
813
813
  }
814
814
  }
815
815
  attr(t, e, i, s) {
816
816
  let { element: r } = this, o = ct.symbolCustomAttribs, a, n, h = this, c;
817
- return typeof t == "string" && e !== void 0 && (a = t, (t = {})[a] = e), typeof t == "string" ? h = (this[t + "Getter"] || this._defaultGetter).call(this, t, r) : (Pe(t, function(d, p) {
817
+ return typeof t == "string" && e !== void 0 && (a = t, (t = {})[a] = e), typeof t == "string" ? h = (this[t + "Getter"] || this._defaultGetter).call(this, t, r) : (Oe(t, function(d, p) {
818
818
  c = !1, s || io(this, p), this.symbolName && o.indexOf(p) !== -1 && (n || (this.symbolAttr(t), n = !0), c = !0), this.rotation && (p === "x" || p === "y") && (this.doTransform = !0), c || (this[p + "Setter"] || this._defaultSetter).call(this, d, p, r);
819
819
  }, this), this.afterSetters()), i && i.call(this), h;
820
820
  }
@@ -834,16 +834,16 @@ function Ip() {
834
834
  let s = this.renderer, r, o, a, n, h, c, d, p, u, g, x = [], m;
835
835
  Ts(this.renderer, "complexColor", { args: arguments }, function() {
836
836
  if (t.radialGradient ? o = "radialGradient" : t.linearGradient && (o = "linearGradient"), o) {
837
- if (a = t[o], h = s.gradients, c = t.stops, u = i.radialReference, oo(a) && (t[o] = a = { x1: a[0], y1: a[1], x2: a[2], y2: a[3], gradientUnits: "userSpaceOnUse" }), o === "radialGradient" && u && !Wt(a.gradientUnits) && (n = a, a = Cs(a, s.getRadialAttr(u, n), { gradientUnits: "userSpaceOnUse" })), Pe(a, function(f, y) {
837
+ if (a = t[o], h = s.gradients, c = t.stops, u = i.radialReference, oo(a) && (t[o] = a = { x1: a[0], y1: a[1], x2: a[2], y2: a[3], gradientUnits: "userSpaceOnUse" }), o === "radialGradient" && u && !Wt(a.gradientUnits) && (n = a, a = Cs(a, s.getRadialAttr(u, n), { gradientUnits: "userSpaceOnUse" })), Oe(a, function(f, y) {
838
838
  y !== "id" && x.push(y, f);
839
- }), Pe(c, function(f) {
839
+ }), Oe(c, function(f) {
840
840
  x.push(f);
841
841
  }), h[x = x.join(",")]) g = h[x].attr("id");
842
842
  else {
843
843
  a.id = g = lo();
844
844
  let f = h[x] = s.createElement(o).attr(a).add(s.defs);
845
845
  f.radAttr = n, f.stops = [], c.forEach(function(y) {
846
- y[1].indexOf("rgba") === 0 ? (d = (r = tt.parse(y[1])).get("rgb"), p = r.get("a")) : (d = y[1], p = 1);
846
+ y[1].indexOf("rgba") === 0 ? (d = (r = et.parse(y[1])).get("rgb"), p = r.get("a")) : (d = y[1], p = 1);
847
847
  let b = s.createElement("stop").attr({ offset: y[0], "stop-color": d, "stop-opacity": p }).add(f);
848
848
  f.stops.push(b);
849
849
  });
@@ -856,7 +856,7 @@ function Ip() {
856
856
  }
857
857
  css(t) {
858
858
  let e = this.styles, i = {}, s = this.element, r, o = !e;
859
- if (e && Pe(t, function(a, n) {
859
+ if (e && Oe(t, function(a, n) {
860
860
  e && e[n] !== a && (i[n] = a, o = !0);
861
861
  }), o) {
862
862
  e && (t = _e(e, i)), t.width === null || t.width === "auto" ? delete this.textWidth : s.nodeName.toLowerCase() === "text" && t.width && (r = this.textWidth = Si(t.width)), _e(this.styles, t), r && !tl && this.renderer.forExport && delete t.width;
@@ -888,7 +888,7 @@ function Ip() {
888
888
  t.stops.length = 0, t.stops = void 0;
889
889
  }
890
890
  for (t.safeRemoveChild(e); r?.div && r.div.childNodes.length === 0; ) o = r.parentGroup, t.safeRemoveChild(r.div), delete r.div, r = o;
891
- t.alignOptions && ol(i.alignedObjects, t), Pe(t, (n, h) => {
891
+ t.alignOptions && ol(i.alignedObjects, t), Oe(t, (n, h) => {
892
892
  (t[h]?.parentGroup === t || ["connector", "foreignObject"].indexOf(h) !== -1) && t[h]?.destroy?.(), delete t[h];
893
893
  });
894
894
  }
@@ -925,8 +925,8 @@ function Ip() {
925
925
  return i;
926
926
  }
927
927
  getRotatedBox(t, e) {
928
- let { x: i, y: s, width: r, height: o } = t, { alignValue: a, translateY: n, rotationOriginX: h = 0, rotationOriginY: c = 0 } = this, d = As(a), p = Number(this.element.getAttribute("y") || 0) - (n ? 0 : s), u = e * so, g = (e - 90) * so, x = Math.cos(u), m = Math.sin(u), f = r * x, y = r * m, b = Math.cos(g), v = Math.sin(g), [[w, k], [S, M]] = [h, c].map((X) => [X - X * x, X * m]), A = i + d * (r - f) + w + M + p * b, P = A + f, T = P - o * b, L = T - f, I = s + p - d * y - k + S + p * v, D = I + y, O = D - o * v, E = O - y, N = Math.min(A, P, T, L), rt = Math.min(I, D, O, E), Y = Math.max(A, P, T, L) - N, F = Math.max(I, D, O, E) - rt;
929
- return { x: N, y: rt, width: Y, height: F, polygon: [[A, I], [P, D], [T, O], [L, E]] };
928
+ let { x: i, y: s, width: r, height: o } = t, { alignValue: a, translateY: n, rotationOriginX: h = 0, rotationOriginY: c = 0 } = this, d = As(a), p = Number(this.element.getAttribute("y") || 0) - (n ? 0 : s), u = e * so, g = (e - 90) * so, x = Math.cos(u), m = Math.sin(u), f = r * x, y = r * m, b = Math.cos(g), v = Math.sin(g), [[k, M], [S, w]] = [h, c].map((X) => [X - X * x, X * m]), A = i + d * (r - f) + k + w + p * b, P = A + f, T = P - o * b, L = T - f, I = s + p - d * y - M + S + p * v, D = I + y, O = D - o * v, E = O - y, N = Math.min(A, P, T, L), _ = Math.min(I, D, O, E), F = Math.max(A, P, T, L) - N, G = Math.max(I, D, O, E) - _;
929
+ return { x: N, y: _, width: F, height: G, polygon: [[A, I], [P, D], [T, O], [L, E]] };
930
930
  }
931
931
  getStyle(t) {
932
932
  return el.getComputedStyle(this.element || this, "").getPropertyValue(t);
@@ -941,7 +941,7 @@ function Ip() {
941
941
  return { height: 0, width: 0, x: 0, y: 0 };
942
942
  }
943
943
  constructor(t, e) {
944
- this.onEvents = {}, this.opacity = 1, this.SVG_NS = wi, this.element = e === "span" || e === "body" ? rl(e) : Ce.createElementNS(this.SVG_NS, e), this.renderer = t, this.styles = {}, Ts(this, "afterInit");
944
+ this.onEvents = {}, this.opacity = 1, this.SVG_NS = wi, this.element = e === "span" || e === "body" ? rl(e) : Pe.createElementNS(this.SVG_NS, e), this.renderer = t, this.styles = {}, Ts(this, "afterInit");
945
945
  }
946
946
  on(t, e) {
947
947
  let { onEvents: i } = this;
@@ -982,7 +982,7 @@ function Ip() {
982
982
  strokeWidth() {
983
983
  if (!this.renderer.styledMode) return this["stroke-width"] || 0;
984
984
  let t = this.getStyle("stroke-width"), e = 0, i;
985
- return /px$/.test(t) ? e = Si(t) : t !== "" && (Ss(i = Ce.createElementNS(wi, "rect"), { width: t, "stroke-width": 0 }), this.element.parentNode.appendChild(i), e = i.getBBox().width, i.parentNode.removeChild(i)), e;
985
+ return /px$/.test(t) ? e = Si(t) : t !== "" && (Ss(i = Pe.createElementNS(wi, "rect"), { width: t, "stroke-width": 0 }), this.element.parentNode.appendChild(i), e = i.getBBox().width, i.parentNode.removeChild(i)), e;
986
986
  }
987
987
  symbolAttr(t) {
988
988
  let e = this;
@@ -994,7 +994,7 @@ function Ip() {
994
994
  t !== this.textStr && (delete this.textPxLength, this.textStr = t, this.added && this.renderer.buildText(this), this.reAlign());
995
995
  }
996
996
  titleSetter(t) {
997
- let e = this.element, i = e.getElementsByTagName("title")[0] || Ce.createElementNS(this.SVG_NS, "title");
997
+ let e = this.element, i = e.getElementsByTagName("title")[0] || Pe.createElementNS(this.SVG_NS, "title");
998
998
  e.insertBefore ? e.insertBefore(i, e.firstChild) : e.appendChild(i), i.textContent = hl(Ut(t, ""), [/<[^>]*>/g, ""]).replace(/&lt;/g, "<").replace(/&gt;/g, ">");
999
999
  }
1000
1000
  toFront() {
@@ -1123,10 +1123,10 @@ function Ip() {
1123
1123
  return (this.widthSetting || this.bBox.width || 0) + e + i;
1124
1124
  }
1125
1125
  xSetter(t) {
1126
- this.x = t, this.alignFactor && (t -= this.alignFactor * this.getPaddedWidth(), this["forceAnimate:x"] = !0), this.xSetting = Math.round(t), this.attr("translateX", this.xSetting);
1126
+ this.x = t, this.alignFactor && (t -= this.alignFactor * this.getPaddedWidth(), this["forceAnimate:x"] = !0), this.anchorX && (this["forceAnimate:anchorX"] = !0), this.xSetting = Math.round(t), this.attr("translateX", this.xSetting);
1127
1127
  }
1128
1128
  ySetter(t) {
1129
- this.ySetting = this.y = Math.round(t), this.attr("translateY", this.ySetting);
1129
+ this.anchorY && (this["forceAnimate:anchorY"] = !0), this.ySetting = this.y = Math.round(t), this.attr("translateY", this.ySetting);
1130
1130
  }
1131
1131
  }
1132
1132
  ce.emptyBBox = { width: 0, height: 0, x: 0, y: 0 }, ce.textProps = ["color", "direction", "fontFamily", "fontSize", "fontStyle", "fontWeight", "lineClamp", "lineHeight", "textAlign", "textDecoration", "textOutline", "textOverflow", "whiteSpace", "width"];
@@ -1184,7 +1184,7 @@ function Ip() {
1184
1184
  if (s || this.ellipsis || this.width || l.textPath || i.indexOf(" ") !== -1 && (!this.noWrap || /<br.*?>/g.test(i))) {
1185
1185
  if (i !== "") {
1186
1186
  o && o.appendChild(t);
1187
- let n = new Q(i);
1187
+ let n = new tt(i);
1188
1188
  this.modifyTree(n.nodes), n.addToDOM(t), this.modifyDOM(), this.ellipsis && (t.textContent || "").indexOf("…") !== -1 && l.attr("title", this.unescapeEntities(l.textStr || "", ["&lt;", "&gt;"])), o && o.removeChild(t);
1189
1189
  }
1190
1190
  } else t.appendChild(Os.createTextNode(this.unescapeEntities(i)));
@@ -1261,26 +1261,26 @@ function Ip() {
1261
1261
  t && t.indexOf(e) !== -1 || (l = l.toString().replace(RegExp(e, "g"), i));
1262
1262
  }), l;
1263
1263
  }
1264
- }, { defaultOptions: kl } = Ot, { charts: wl, deg2rad: yo, doc: Oe, isFirefox: bo, isMS: vo, isWebKit: Ml, noop: Sl, SVG_NS: Tl, symbolSizes: Is, win: Ds } = C, { addEvent: Ai, attr: Ci, createElement: Al, crisp: ko, css: Pi, defined: pe, destroyObjectProperties: Cl, extend: ue, isArray: Pl, isNumber: Le, isObject: ti, isString: Ol, merge: Bs, pick: Ns, pInt: Ll, replaceNested: El, uniqueKey: Il } = B;
1264
+ }, { defaultOptions: kl } = Ot, { charts: wl, deg2rad: yo, doc: Le, isFirefox: bo, isMS: vo, isWebKit: Ml, noop: Sl, SVG_NS: Tl, symbolSizes: Is, win: Ds } = C, { addEvent: Ai, attr: Ci, createElement: Al, crisp: ko, css: Pi, defined: pe, destroyObjectProperties: Cl, extend: ue, isArray: Pl, isNumber: ge, isObject: ti, isString: Ol, merge: Bs, pick: Ns, pInt: Ll, replaceNested: El, uniqueKey: Il } = B;
1265
1265
  class Oi {
1266
1266
  constructor(t, e, i, s, r, o, a) {
1267
1267
  let n, h;
1268
1268
  this.x = 0, this.y = 0;
1269
1269
  let c = this.createElement("svg").attr({ version: "1.1", class: "highcharts-root" }), d = c.element;
1270
- a || c.css(this.getStyle(s || {})), t.appendChild(d), Ci(t, "dir", "ltr"), t.innerHTML.indexOf("xmlns") === -1 && Ci(d, "xmlns", this.SVG_NS), this.box = d, this.boxWrapper = c, this.alignedObjects = [], this.url = this.getReferenceURL(), this.createElement("desc").add().element.appendChild(Oe.createTextNode("Created with Highcharts 12.3.0")), this.defs = this.createElement("defs").add(), this.allowHTML = o, this.forExport = r, this.styledMode = a, this.gradients = {}, this.cache = {}, this.cacheKeys = [], this.imgCount = 0, this.rootFontSize = c.getStyle("font-size"), this.setSize(e, i, !1), bo && t.getBoundingClientRect && ((n = function() {
1270
+ a || c.css(this.getStyle(s || {})), t.appendChild(d), Ci(t, "dir", "ltr"), t.innerHTML.indexOf("xmlns") === -1 && Ci(d, "xmlns", this.SVG_NS), this.box = d, this.boxWrapper = c, this.alignedObjects = [], this.url = this.getReferenceURL(), this.createElement("desc").add().element.appendChild(Le.createTextNode("Created with Highcharts 12.4.0")), this.defs = this.createElement("defs").add(), this.allowHTML = o, this.forExport = r, this.styledMode = a, this.gradients = {}, this.cache = {}, this.cacheKeys = [], this.imgCount = 0, this.rootFontSize = c.getStyle("font-size"), this.setSize(e, i, !1), bo && t.getBoundingClientRect && ((n = function() {
1271
1271
  Pi(t, { left: 0, top: 0 }), h = t.getBoundingClientRect(), Pi(t, { left: Math.ceil(h.left) - h.left + "px", top: Math.ceil(h.top) - h.top + "px" });
1272
1272
  })(), this.unSubPixelFix = Ai(Ds, "resize", n));
1273
1273
  }
1274
1274
  definition(t) {
1275
- return new Q([t]).addToDOM(this.defs.element);
1275
+ return new tt([t]).addToDOM(this.defs.element);
1276
1276
  }
1277
1277
  getReferenceURL() {
1278
- if ((bo || Ml) && Oe.getElementsByTagName("base").length) {
1279
- if (!pe(xt)) {
1280
- let t = Il(), e = new Q([{ tagName: "svg", attributes: { width: 8, height: 8 }, children: [{ tagName: "defs", children: [{ tagName: "clipPath", attributes: { id: t }, children: [{ tagName: "rect", attributes: { width: 4, height: 4 } }] }] }, { tagName: "rect", attributes: { id: "hitme", width: 8, height: 8, "clip-path": `url(#${t})`, fill: "rgba(0,0,0,0.001)" } }] }]).addToDOM(Oe.body);
1281
- Pi(e, { position: "fixed", top: 0, left: 0, zIndex: 9e5 }), xt = Oe.elementFromPoint(6, 6)?.id === "hitme", Oe.body.removeChild(e);
1278
+ if ((bo || Ml) && Le.getElementsByTagName("base").length) {
1279
+ if (!pe(mt)) {
1280
+ let t = Il(), e = new tt([{ tagName: "svg", attributes: { width: 8, height: 8 }, children: [{ tagName: "defs", children: [{ tagName: "clipPath", attributes: { id: t }, children: [{ tagName: "rect", attributes: { width: 4, height: 4 } }] }] }, { tagName: "rect", attributes: { id: "hitme", width: 8, height: 8, "clip-path": `url(#${t})`, fill: "rgba(0,0,0,0.001)" } }] }]).addToDOM(Le.body);
1281
+ Pi(e, { position: "fixed", top: 0, left: 0, zIndex: 9e5 }), mt = Le.elementFromPoint(6, 6)?.id === "hitme", Le.body.removeChild(e);
1282
1282
  }
1283
- if (xt) return El(Ds.location.href.split("#")[0], [/<[^>]*>/g, ""], [/([\('\)])/g, "\\$1"], [/ /g, "%20"]);
1283
+ if (mt) return El(Ds.location.href.split("#")[0], [/<[^>]*>/g, ""], [/([\('\)])/g, "\\$1"], [/ /g, "%20"]);
1284
1284
  }
1285
1285
  return "";
1286
1286
  }
@@ -1315,8 +1315,8 @@ function Ip() {
1315
1315
  }
1316
1316
  getContrast(t) {
1317
1317
  if (t === "transparent") return "#000000";
1318
- let e = tt.parse(t).rgba, i = " clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";
1319
- if (Le(e[0]) || !tt.useColorMix) {
1318
+ let e = et.parse(t).rgba, i = " clamp(0,calc(9e9*(0.5 - (0.2126*r + 0.7152*g + 0.0722*b))),1)";
1319
+ if (ge(e[0]) || !et.useColorMix) {
1320
1320
  let s = e.map((o) => {
1321
1321
  let a = o / 255;
1322
1322
  return a <= 0.04 ? a / 12.92 : Math.pow((a + 0.055) / 1.055, 2.4);
@@ -1330,9 +1330,9 @@ function Ip() {
1330
1330
  r = Bs(kl.global.buttonTheme, r), p && (delete r.fill, delete r.stroke, delete r["stroke-width"]);
1331
1331
  let x = r.states || {}, m = r.style || {};
1332
1332
  delete r.states, delete r.style;
1333
- let f = [Q.filterUserAttributes(r)], y = [m];
1333
+ let f = [tt.filterUserAttributes(r)], y = [m];
1334
1334
  return p || ["hover", "select", "disabled"].forEach((b, v) => {
1335
- f.push(Bs(f[0], Q.filterUserAttributes(u[v + 5] || x[b] || {}))), y.push(f[v + 1].style), delete f[v + 1].style;
1335
+ f.push(Bs(f[0], tt.filterUserAttributes(u[v + 5] || x[b] || {}))), y.push(f[v + 1].style), delete f[v + 1].style;
1336
1336
  }), Ai(d.element, vo ? "mouseover" : "mouseenter", function() {
1337
1337
  g !== 3 && d.setState(1);
1338
1338
  }), Ai(d.element, vo ? "mouseout" : "mouseleave", function() {
@@ -1389,7 +1389,7 @@ function Ip() {
1389
1389
  }
1390
1390
  image(t, e, i, s, r, o) {
1391
1391
  let a = { preserveAspectRatio: "none" };
1392
- Le(e) && (a.x = e), Le(i) && (a.y = i), Le(s) && (a.width = s), Le(r) && (a.height = r);
1392
+ ge(e) && (a.x = e), ge(i) && (a.y = i), ge(s) && (a.width = s), ge(r) && (a.height = r);
1393
1393
  let n = this.createElement("image").attr(a), h = function(c) {
1394
1394
  n.attr({ href: t }), o.call(n, c);
1395
1395
  };
@@ -1409,12 +1409,12 @@ function Ip() {
1409
1409
  m.imgwidth = Ns(o?.width, Is[h]?.width), m.imgheight = Ns(o?.height, Is[h]?.height), c = (f) => f.attr({ width: f.width, height: f.height }), ["width", "height"].forEach((f) => {
1410
1410
  m[`${f}Setter`] = function(y, b) {
1411
1411
  this[b] = y;
1412
- let { alignByTranslate: v, element: w, width: k, height: S, imgwidth: M, imgheight: A } = this, P = b === "width" ? M : A, T = 1;
1413
- o && o.backgroundSize === "within" && k && S && M && A ? (T = Math.min(k / M, S / A), Ci(w, { width: Math.round(M * T), height: Math.round(A * T) })) : w && P && w.setAttribute(b, P), !v && M && A && this.translate(((k || 0) - M * T) / 2, ((S || 0) - A * T) / 2);
1412
+ let { alignByTranslate: v, element: k, width: M, height: S, imgwidth: w, imgheight: A } = this, P = b === "width" ? w : A, T = 1;
1413
+ o && o.backgroundSize === "within" && M && S && w && A ? (T = Math.min(M / w, S / A), Ci(k, { width: Math.round(w * T), height: Math.round(A * T) })) : k && P && k.setAttribute(b, P), !v && w && A && this.translate(((M || 0) - w * T) / 2, ((S || 0) - A * T) / 2);
1414
1414
  };
1415
1415
  }), pe(e) && m.attr({ x: e, y: i }), m.isImg = !0, m.symbolUrl = t, pe(m.imgwidth) && pe(m.imgheight) ? c(m) : (m.attr({ width: 0, height: 0 }), Al("img", { onload: function() {
1416
1416
  let f = wl[d.chartIndex];
1417
- this.width === 0 && (Pi(this, { position: "absolute", top: "-999em" }), Oe.body.appendChild(this)), Is[h] = { width: this.width, height: this.height }, m.imgwidth = this.width, m.imgheight = this.height, m.element && c(m), this.parentNode && this.parentNode.removeChild(this), d.imgCount--, d.imgCount || !f || f.hasLoaded || f.onload();
1417
+ this.width === 0 && (Pi(this, { position: "absolute", top: "-999em" }), Le.body.appendChild(this)), Is[h] = { width: this.width, height: this.height }, m.imgwidth = this.width, m.imgheight = this.height, m.element && c(m), this.parentNode && this.parentNode.removeChild(this), d.imgCount--, d.imgCount || !f || f.hasLoaded || f.onload();
1418
1418
  }, src: h }), this.imgCount++);
1419
1419
  }
1420
1420
  return a;
@@ -1434,7 +1434,7 @@ function Ip() {
1434
1434
  }), o;
1435
1435
  }
1436
1436
  fontMetrics(t) {
1437
- let e = Ll(Xt.prototype.getStyle.call(t, "font-size") || 0), i = e < 24 ? e + 3 : Math.round(1.2 * e), s = Math.round(0.8 * i);
1437
+ let e = ge(t) ? t : Ll(Xt.prototype.getStyle.call(t, "font-size") || 0), i = e < 24 ? e + 3 : Math.round(1.2 * e), s = Math.round(0.8 * i);
1438
1438
  return { h: i, b: s, f: e };
1439
1439
  }
1440
1440
  rotCorr(t, e, i) {
@@ -1443,7 +1443,7 @@ function Ip() {
1443
1443
  }
1444
1444
  pathToSegments(t) {
1445
1445
  let e = [], i = [], s = { A: 8, C: 7, H: 2, L: 3, M: 3, Q: 5, S: 5, T: 3, V: 2 };
1446
- for (let r = 0; r < t.length; r++) Ol(i[0]) && Le(t[r]) && i.length === s[i[0].toUpperCase()] && t.splice(r, 0, i[0].replace("M", "L").replace("m", "l")), typeof t[r] == "string" && (i.length && e.push(i.slice(0)), i.length = 0), i.push(t[r]);
1446
+ for (let r = 0; r < t.length; r++) Ol(i[0]) && ge(t[r]) && i.length === s[i[0].toUpperCase()] && t.splice(r, 0, i[0].replace("M", "L").replace("m", "l")), typeof t[r] == "string" && (i.length && e.push(i.slice(0)), i.length = 0), i.push(t[r]);
1447
1447
  return e.push(i.slice(0)), e;
1448
1448
  }
1449
1449
  label(t, e, i, s, r, o, a, n, h) {
@@ -1503,12 +1503,12 @@ function Ip() {
1503
1503
  if (e || Kt(t, { marginLeft: `${g}px`, marginTop: `${x}px` }), t.tagName === "SPAN") {
1504
1504
  let y, b = [r, p, t.innerHTML, u, this.textAlign].join(","), v = -(this.parentGroup?.padding * 1) || 0;
1505
1505
  if (u !== i) {
1506
- let M = this.textPxLength ? this.textPxLength : (Kt(t, { width: "", whiteSpace: d || "nowrap" }), t.offsetWidth), A = u || 0, P = t.style.textOverflow === "" && t.style.webkitLineClamp;
1507
- (A > i || M > A || P) && (/[\-\s\u00AD]/.test(t.textContent || t.innerText) || t.style.textOverflow === "ellipsis") && (Kt(t, { width: (r || n || M > A || P) && Li(u) ? u + "px" : "auto", display: c, whiteSpace: d || "normal" }), this.oldTextWidth = u);
1506
+ let w = this.textPxLength ? this.textPxLength : (Kt(t, { width: "", whiteSpace: d || "nowrap" }), t.offsetWidth), A = u || 0, P = !s.styledMode && t.style.textOverflow === "" && t.style.webkitLineClamp;
1507
+ (A > i || w > A || P) && (/[\-\s\u00AD]/.test(t.textContent || t.innerText) || t.style.textOverflow === "ellipsis") && (Kt(t, { width: (r || n || w > A || P) && Li(u) ? u + "px" : "auto", display: c, whiteSpace: d || "normal" }), this.oldTextWidth = u);
1508
1508
  }
1509
1509
  e && (Kt(t, { display: "inline-block", verticalAlign: "top" }), e.attr({ width: s.width, height: s.height })), b !== this.cTT && (y = s.fontMetrics(t).b, wo(r) && !e && (r !== (this.oldRotation || 0) || p !== this.oldAlign) && Kt(t, { transform: `rotate(${r}deg)`, transformOrigin: `${v}% ${v}px` }), this.getSpanCorrection(!wo(r) && !this.textWidth && this.textPxLength || t.offsetWidth, y, Wl(p)));
1510
- let { xCorr: w = 0, yCorr: k = 0 } = this, S = { left: `${m + w}px`, top: `${f + k}px`, textAlign: p, transformOrigin: `${(o ?? m) - w - m - v}px ${(a ?? f) - k - f - v}px` };
1511
- (n || h) && (S.transform = `scale(${n ?? 1},${h ?? 1})`), e ? (super.updateTransform(), Li(m) && Li(f) ? (e.attr({ x: m + w, y: f + k, width: t.offsetWidth + 3, height: t.offsetHeight, "transform-origin": t.getAttribute("transform-origin") || "0 0" }), Kt(t, { display: c, textAlign: p })) : Bl && e.attr({ width: 0, height: 0 })) : Kt(t, S), this.cTT = b, this.oldRotation = r, this.oldAlign = p;
1510
+ let { xCorr: k = 0, yCorr: M = 0 } = this, S = { left: `${m + k}px`, top: `${f + M}px`, textAlign: p, transformOrigin: `${(o ?? m) - k - m - v}px ${(a ?? f) - M - f - v}px` };
1511
+ (n || h) && (S.transform = `scale(${n ?? 1},${h ?? 1})`), e ? (super.updateTransform(), Li(m) && Li(f) ? (e.attr({ x: m + k, y: f + M, width: t.offsetWidth + 3, height: t.offsetHeight, "transform-origin": t.getAttribute("transform-origin") || "0 0" }), Kt(t, { display: c, textAlign: p })) : Bl && e.attr({ width: 0, height: 0 })) : Kt(t, S), this.cTT = b, this.oldRotation = r, this.oldAlign = p;
1512
1512
  }
1513
1513
  }
1514
1514
  add(t) {
@@ -1526,7 +1526,7 @@ function Ip() {
1526
1526
  return this.added = !0, this.alignOnAdd && this.updateTransform(), this;
1527
1527
  }
1528
1528
  textSetter(t) {
1529
- t !== this.textStr && (delete this.bBox, delete this.oldTextWidth, Q.setElementHTML(this.element, t ?? ""), this.textStr = t, this.doTransform = !0);
1529
+ t !== this.textStr && (delete this.bBox, delete this.oldTextWidth, tt.setElementHTML(this.element, t ?? ""), this.textStr = t, this.doTransform = !0);
1530
1530
  }
1531
1531
  alignSetter(t) {
1532
1532
  this.alignValue = this.textAlign = t, this.doTransform = !0;
@@ -1535,14 +1535,14 @@ function Ip() {
1535
1535
  this[e] = t, this.doTransform = !0;
1536
1536
  }
1537
1537
  }
1538
- let ge = Ee.prototype;
1539
- ge.visibilitySetter = ge.opacitySetter = Mo, ge.ySetter = ge.rotationSetter = ge.rotationOriginXSetter = ge.rotationOriginYSetter = ge.xSetter, (function(l) {
1538
+ let fe = Ee.prototype;
1539
+ fe.visibilitySetter = fe.opacitySetter = Mo, fe.ySetter = fe.rotationSetter = fe.rotationOriginXSetter = fe.rotationOriginYSetter = fe.xSetter, (function(l) {
1540
1540
  l.xAxis = { alignTicks: !0, allowDecimals: void 0, panningEnabled: !0, zIndex: 2, zoomEnabled: !0, dateTimeLabelFormats: { millisecond: { main: "%[HMSL]", range: !1 }, second: { main: "%[HMS]", range: !1 }, minute: { main: "%[HM]", range: !1 }, hour: { main: "%[HM]", range: !1 }, day: { main: "%[eb]" }, week: { main: "%[eb]" }, month: { main: "%[bY]" }, year: { main: "%Y" } }, endOnTick: !1, gridLineDashStyle: "Solid", gridZIndex: 1, labels: { autoRotationLimit: 80, distance: 15, enabled: !0, indentation: 10, overflow: "justify", reserveSpace: void 0, rotation: void 0, staggerLines: 0, step: 0, useHTML: !1, zIndex: 7, style: { color: "#333333", cursor: "default", fontSize: "0.8em", textOverflow: "ellipsis" } }, maxPadding: 0.01, minorGridLineDashStyle: "Solid", minorTickLength: 2, minorTickPosition: "outside", minorTicksPerMajor: 5, minPadding: 0.01, offset: void 0, reversed: void 0, reversedStacks: !1, showEmpty: !0, showFirstLabel: !0, showLastLabel: !0, startOfWeek: 1, startOnTick: !1, tickLength: 10, tickPixelInterval: 100, tickmarkPlacement: "between", tickPosition: "outside", title: { align: "middle", useHTML: !1, x: 0, y: 0, style: { color: "#666666", fontSize: "0.8em" } }, visible: !0, minorGridLineColor: "#f2f2f2", minorGridLineWidth: 1, minorTickColor: "#999999", lineColor: "#333333", lineWidth: 1, gridLineColor: "#e6e6e6", gridLineWidth: void 0, tickColor: "#333333" }, l.yAxis = { reversedStacks: !0, endOnTick: !0, maxPadding: 0.05, minPadding: 0.05, tickPixelInterval: 72, showLastLabel: !0, labels: { x: void 0 }, startOnTick: !0, title: {}, stackLabels: { animation: {}, allowOverlap: !1, enabled: !1, crop: !0, overflow: "justify", formatter: function() {
1541
1541
  let { numberFormatter: t } = this.axis.chart;
1542
1542
  return t(this.total || 0, -1);
1543
1543
  }, style: { color: "#000000", fontSize: "0.7em", fontWeight: "bold", textOutline: "1px contrast" } }, gridLineWidth: 1, lineWidth: 0 };
1544
- })(_ || (_ = {}));
1545
- let Gl = _, { addEvent: Yl, isFunction: jl, objectEach: Ul, removeEvent: Vl } = B;
1544
+ })(J || (J = {}));
1545
+ let Gl = J, { addEvent: Yl, isFunction: jl, objectEach: Ul, removeEvent: Vl } = B;
1546
1546
  (le || (le = {})).registerEventOptions = function(l, t) {
1547
1547
  l.eventOptions = l.eventOptions || {}, Ul(t.events, function(e, i) {
1548
1548
  l.eventOptions[i] !== e && (l.eventOptions[i] && (Vl(l, i, l.eventOptions[i]), delete l.eventOptions[i]), jl(e) && (l.eventOptions[i] = e, Yl(l, i, e, { order: 0 })));
@@ -1557,11 +1557,11 @@ function Ip() {
1557
1557
  r && Di(y) && (y = Ii(r.lin2log(y))), t.dateTime && (u ? x = (m = i.time.resolveDTLFormat(e.dateTimeLabelFormats[!e.grid?.enabled && u.higherRanks[a] || u.unitName])).main : Di(y) && (x = t.dateTime.getXDateFormat(y, e.dateTimeLabelFormats || {}))), l.isFirst = c, l.isLast = d;
1558
1558
  let b = { axis: t, chart: i, dateTimeLabelFormat: x, isFirst: c, isLast: d, pos: a, tick: l, tickPositionInfo: u, value: y };
1559
1559
  ei(this, "labelFormat", b);
1560
- let v = (S) => n.formatter ? n.formatter.call(S, S) : n.format ? (S.text = t.defaultLabelFormatter.call(S), Lt.format(n.format, S, i)) : t.defaultLabelFormatter.call(S), w = v.call(b, b), k = m?.list;
1561
- k ? l.shortenLabel = function() {
1562
- for (f = 0; f < k.length; f++) if (So(b, { dateTimeLabelFormat: k[f] }), g.attr({ text: v.call(b, b) }), g.getBBox().width < t.getSlotWidth(l) - 2 * (n.padding || 0)) return;
1560
+ let v = (S) => n.formatter ? n.formatter.call(S, S) : n.format ? (S.text = t.defaultLabelFormatter.call(S), Lt.format(n.format, S, i)) : t.defaultLabelFormatter.call(S), k = v.call(b, b), M = m?.list;
1561
+ M ? l.shortenLabel = function() {
1562
+ for (f = 0; f < M.length; f++) if (So(b, { dateTimeLabelFormat: M[f] }), g.attr({ text: v.call(b, b) }), g.getBBox().width < t.getSlotWidth(l) - 2 * (n.padding || 0)) return;
1563
1563
  g.attr({ text: "" });
1564
- } : l.shortenLabel = void 0, p && t._addedPlotLB && l.moveLabel(w, n), Rs(g) || l.movedLabel ? g && g.textStr !== w && !p && (!g.textWidth || n.style.width || g.styles.width || g.css({ width: null }), g.attr({ text: w }), g.textPxLength = g.getBBox().width) : (l.label = g = l.createLabel(w, n), l.rotation = 0);
1564
+ } : l.shortenLabel = void 0, p && t._addedPlotLB && l.moveLabel(k, n), Rs(g) || l.movedLabel ? g && g.textStr !== k && !p && (!g.textWidth || n.style.width || g.styles.width || g.css({ width: null }), g.attr({ text: k }), g.textPxLength = g.getBBox().width) : (l.label = g = l.createLabel(k, n), l.rotation = 0);
1565
1565
  }
1566
1566
  createLabel(l, t, e) {
1567
1567
  let i = this.axis, { renderer: s, styledMode: r } = i.chart, o = t.style.whiteSpace, a = Rs(l) && t.enabled ? s.text(l, e?.x, e?.y, t.useHTML).add(i.labelGroup) : void 0;
@@ -1614,7 +1614,7 @@ function Ip() {
1614
1614
  let l = this.label, t = this.axis;
1615
1615
  l && !this.isNew && (l.animate({ opacity: 0 }, void 0, l.destroy), delete this.label), t.isDirty = !0, this.label = this.movedLabel, delete this.movedLabel;
1616
1616
  }
1617
- }, { animObject: Jl } = gt, { xAxis: To, yAxis: Ql } = Gl, { defaultOptions: Ws } = Ot, { registerEventOptions: th } = Ei, { deg2rad: eh } = C, { arrayMax: Ao, arrayMin: ih, clamp: Xs, correctFloat: Tt, defined: K, destroyObjectProperties: sh, erase: Co, error: Hs, extend: Bi, fireEvent: et, getClosestDistance: Po, insertItem: rh, isArray: Oo, isNumber: R, isString: Lo, merge: Ni, normalizeTickInterval: oh, objectEach: zi, pick: H, relativeLength: Ri, removeEvent: ah, splat: nh, syncTimeout: lh } = B, Eo = (l, t) => oh(t, void 0, void 0, H(l.options.allowDecimals, t < 0.5 || l.tickAmount !== void 0), !!l.tickAmount);
1617
+ }, { animObject: Jl } = gt, { xAxis: To, yAxis: Ql } = Gl, { defaultOptions: Ws } = Ot, { registerEventOptions: th } = Ei, { deg2rad: eh } = C, { arrayMax: Ao, arrayMin: ih, clamp: Xs, correctFloat: At, defined: K, destroyObjectProperties: sh, erase: Co, error: Hs, extend: Bi, fireEvent: it, getClosestDistance: Po, insertItem: rh, isArray: Oo, isNumber: R, isString: Lo, merge: Ni, normalizeTickInterval: oh, objectEach: zi, pick: H, relativeLength: Ri, removeEvent: ah, splat: nh, syncTimeout: lh } = B, Eo = (l, t) => oh(t, void 0, void 0, H(l.options.allowDecimals, t < 0.5 || l.tickAmount !== void 0), !!l.tickAmount);
1618
1618
  Bi(Ws, { xAxis: To, yAxis: Ni(To, Ql) });
1619
1619
  class De {
1620
1620
  constructor(t, e, i) {
@@ -1622,15 +1622,15 @@ function Ip() {
1622
1622
  }
1623
1623
  init(t, e, i = this.coll) {
1624
1624
  let s = i === "xAxis", r = this.isZAxis || (t.inverted ? !s : s);
1625
- this.chart = t, this.horiz = r, this.isXAxis = s, this.coll = i, et(this, "init", { userOptions: e }), this.opposite = H(e.opposite, this.opposite), this.side = H(e.side, this.side, r ? 2 * !this.opposite : this.opposite ? 1 : 3), this.setOptions(e);
1625
+ this.chart = t, this.horiz = r, this.isXAxis = s, this.coll = i, it(this, "init", { userOptions: e }), this.opposite = H(e.opposite, this.opposite), this.side = H(e.side, this.side, r ? 2 * !this.opposite : this.opposite ? 1 : 3), this.setOptions(e);
1626
1626
  let o = this.options, a = o.labels;
1627
- this.type ?? (this.type = o.type || "linear"), this.uniqueNames ?? (this.uniqueNames = o.uniqueNames ?? !0), et(this, "afterSetType"), this.userOptions = e, this.minPixelPadding = 0, this.reversed = H(o.reversed, this.reversed), this.visible = o.visible, this.zoomEnabled = o.zoomEnabled, this.hasNames = this.type === "category" || o.categories === !0, this.categories = Oo(o.categories) && o.categories || (this.hasNames ? [] : void 0), this.names || (this.names = [], this.names.keys = {}), this.plotLinesAndBandsGroups = {}, this.positiveValuesOnly = !!this.logarithmic, this.isLinked = K(o.linkedTo), this.ticks = {}, this.labelEdge = [], this.minorTicks = {}, this.plotLinesAndBands = [], this.alternateBands = {}, this.len ?? (this.len = 0), this.minRange = this.userMinRange = o.minRange || o.maxZoom, this.range = o.range, this.offset = o.offset || 0, this.max = void 0, this.min = void 0;
1627
+ this.type ?? (this.type = o.type || "linear"), this.uniqueNames ?? (this.uniqueNames = o.uniqueNames ?? !0), it(this, "afterSetType"), this.userOptions = e, this.minPixelPadding = 0, this.reversed = H(o.reversed, this.reversed), this.visible = o.visible, this.zoomEnabled = o.zoomEnabled, this.hasNames = this.type === "category" || o.categories === !0, this.categories = Oo(o.categories) && o.categories || (this.hasNames ? [] : void 0), this.names || (this.names = [], this.names.keys = {}), this.plotLinesAndBandsGroups = {}, this.positiveValuesOnly = !!this.logarithmic, this.isLinked = K(o.linkedTo), this.ticks = {}, this.labelEdge = [], this.minorTicks = {}, this.plotLinesAndBands = [], this.alternateBands = {}, this.len ?? (this.len = 0), this.minRange = this.userMinRange = o.minRange || o.maxZoom, this.range = o.range, this.offset = o.offset || 0, this.max = void 0, this.min = void 0;
1628
1628
  let n = H(o.crosshair, nh(t.options.tooltip.crosshairs)[+!s]);
1629
- this.crosshair = n === !0 ? {} : n, t.axes.indexOf(this) === -1 && (s ? t.axes.splice(t.xAxis.length, 0, this) : t.axes.push(this), rh(this, t[this.coll])), t.orderItems(this.coll), this.series = this.series || [], t.inverted && !this.isZAxis && s && !K(this.reversed) && (this.reversed = !0), this.labelRotation = R(a.rotation) ? a.rotation : void 0, th(this, o), et(this, "afterInit");
1629
+ this.crosshair = n === !0 ? {} : n, t.axes.indexOf(this) === -1 && (s ? t.axes.splice(t.xAxis.length, 0, this) : t.axes.push(this), rh(this, t[this.coll])), t.orderItems(this.coll), this.series = this.series || [], t.inverted && !this.isZAxis && s && !K(this.reversed) && (this.reversed = !0), this.labelRotation = R(a.rotation) ? a.rotation : void 0, th(this, o), it(this, "afterInit");
1630
1630
  }
1631
1631
  setOptions(t) {
1632
1632
  let e = this.horiz ? { labels: { autoRotation: [-45], padding: 3 }, margin: 15 } : { labels: { padding: 1 }, title: { rotation: 90 * this.side } };
1633
- this.options = Ni(e, this.coll === "yAxis" ? { title: { text: this.chart.options.lang.yAxisTitle } } : {}, Ws[this.coll], t), et(this, "afterSetOptions", { userOptions: t });
1633
+ this.options = Ni(e, this.coll === "yAxis" ? { title: { text: this.chart.options.lang.yAxisTitle } } : {}, Ws[this.coll], t), it(this, "afterSetOptions", { userOptions: t });
1634
1634
  }
1635
1635
  defaultLabelFormatter() {
1636
1636
  let t = this.axis, { numberFormatter: e } = this.chart, i = R(this.value) ? this.value : NaN, s = t.chart.time, r = t.categories, o = this.dateTimeLabelFormat, a = Ws.lang, n = a.numericSymbols, h = a.numericSymbolMagnitude || 1e3, c = t.logarithmic ? Math.abs(i) : t.tickInterval, d = n?.length, p, u;
@@ -1641,7 +1641,7 @@ function Ip() {
1641
1641
  }
1642
1642
  getSeriesExtremes() {
1643
1643
  let t, e = this;
1644
- et(this, "getSeriesExtremes", null, function() {
1644
+ it(this, "getSeriesExtremes", null, function() {
1645
1645
  e.hasVisibleSeries = !1, e.dataMin = e.dataMax = e.threshold = void 0, e.softThreshold = !e.isXAxis, e.series.forEach((i) => {
1646
1646
  if (i.reserveSpace()) {
1647
1647
  let s = i.options, r, o = s.threshold, a, n;
@@ -1652,13 +1652,13 @@ function Ip() {
1652
1652
  }
1653
1653
  }
1654
1654
  });
1655
- }), et(this, "afterGetSeriesExtremes");
1655
+ }), it(this, "afterGetSeriesExtremes");
1656
1656
  }
1657
1657
  translate(t, e, i, s, r, o) {
1658
1658
  let a = this.linkedParent || this, n = s && a.old ? a.old.min : a.min;
1659
1659
  if (!R(n)) return NaN;
1660
- let h = a.minPixelPadding, c = (a.isOrdinal || a.brokenAxis?.hasBreaks || a.logarithmic && r) && a.lin2val, d = 1, p = 0, u = s && a.old ? a.old.transA : a.transA, g = 0;
1661
- return u || (u = a.transA), i && (d *= -1, p = a.len), a.reversed && (d *= -1, p -= d * (a.sector || a.len)), e ? (g = (t = t * d + p - h) / u + n, c && (g = a.lin2val(g))) : (c && (t = a.val2lin(t)), g = d * (t - n) * u + p + d * h + (R(o) ? u * o : 0), a.isRadial || (g = Tt(g))), g;
1660
+ let h = a.minPixelPadding, c = (a.isOrdinal || a.brokenAxis?.hasBreaks || a.logarithmic && r) && !!a.lin2val, d = 1, p = 0, u = s && a.old ? a.old.transA : a.transA, g = 0;
1661
+ return u || (u = a.transA), i && (d *= -1, p = a.len), a.reversed && (d *= -1, p -= d * (a.sector || a.len)), e ? (g = (t = t * d + p - h) / u + n, c && (g = a.lin2val(g))) : (c && (t = a.val2lin(t)), g = d * (t - n) * u + p + d * h + (R(o) ? u * o : 0), a.isRadial || (g = At(g))), g;
1662
1662
  }
1663
1663
  toPixels(t, e) {
1664
1664
  return this.translate(this.chart?.time.parse(t) ?? NaN, !1, !this.horiz, void 0, !0) + (e ? 0 : this.pos);
@@ -1668,18 +1668,18 @@ function Ip() {
1668
1668
  }
1669
1669
  getPlotLinePath(t) {
1670
1670
  let e = this, i = e.chart, s = e.left, r = e.top, o = t.old, a = t.value, n = t.lineWidth, h = o && i.oldChartHeight || i.chartHeight, c = o && i.oldChartWidth || i.chartWidth, d = e.transB, p = t.translatedValue, u = t.force, g, x, m, f, y;
1671
- function b(w, k, S) {
1672
- return u !== "pass" && (w < k || w > S) && (u ? w = Xs(w, k, S) : y = !0), w;
1671
+ function b(k, M, S) {
1672
+ return u !== "pass" && (k < M || k > S) && (u ? k = Xs(k, M, S) : y = !0), k;
1673
1673
  }
1674
1674
  let v = { value: a, lineWidth: n, old: o, force: u, acrossPanes: t.acrossPanes, translatedValue: p };
1675
- return et(this, "getPlotLinePath", v, function(w) {
1676
- g = m = (p = Xs(p = H(p, e.translate(a, void 0, void 0, o)), -1e9, 1e9)) + d, x = f = h - p - d, R(p) ? e.horiz ? (x = r, f = h - e.bottom + (e.options.isInternal ? 0 : i.scrollablePixelsY || 0), g = m = b(g, s, s + e.width)) : (g = s, m = c - e.right + (i.scrollablePixelsX || 0), x = f = b(x, r, r + e.height)) : (y = !0, u = !1), w.path = y && !u ? void 0 : i.renderer.crispLine([["M", g, x], ["L", m, f]], n || 1);
1675
+ return it(this, "getPlotLinePath", v, function(k) {
1676
+ g = m = (p = Xs(p = H(p, e.translate(a, void 0, void 0, o)), -1e9, 1e9)) + d, x = f = h - p - d, R(p) ? e.horiz ? (x = r, f = h - e.bottom + (e.options.isInternal ? 0 : i.scrollablePixelsY || 0), g = m = b(g, s, s + e.width)) : (g = s, m = c - e.right + (i.scrollablePixelsX || 0), x = f = b(x, r, r + e.height)) : (y = !0, u = !1), k.path = y && !u ? void 0 : i.renderer.crispLine([["M", g, x], ["L", m, f]], n || 1);
1677
1677
  }), v.path;
1678
1678
  }
1679
1679
  getLinearTickPositions(t, e, i) {
1680
- let s, r, o, a = Tt(Math.floor(e / t) * t), n = Tt(Math.ceil(i / t) * t), h = [];
1681
- if (Tt(a + t) === a && (o = 20), this.single) return [e];
1682
- for (s = a; s <= n && (h.push(s), (s = Tt(s + t, o)) !== r); ) r = s;
1680
+ let s, r, o, a = At(Math.floor(e / t) * t), n = At(Math.ceil(i / t) * t), h = [];
1681
+ if (At(a + t) === a && (o = 20), this.single) return [e];
1682
+ for (s = a; s <= n && (h.push(s), (s = At(s + t, o)) !== r); ) r = s;
1683
1683
  return h;
1684
1684
  }
1685
1685
  getMinorTickInterval() {
@@ -1742,16 +1742,16 @@ function Ip() {
1742
1742
  let x = p.is("xrange") ? !r : r;
1743
1743
  n = Math.max(n, x && Lo(g) ? 0 : u / 2), h = Math.max(h, x && g === "on" ? 0 : u);
1744
1744
  }
1745
- }), c = t.ordinal?.slope && a ? t.ordinal.slope / a : 1, t.minPointOffset = n *= c, t.pointRangePadding = h *= c, t.pointRange = Math.min(o, t.single && s ? 1 : e), r && (t.closestPointRange = a)), t.translationSlope = t.transA = d = t.staticScale || t.len / (e + h || 1), t.transB = t.horiz ? t.left : t.bottom, t.minPixelPadding = d * n, et(this, "afterSetAxisTranslation");
1745
+ }), c = t.ordinal?.slope && a ? t.ordinal.slope / a : 1, t.minPointOffset = n *= c, t.pointRangePadding = h *= c, t.pointRange = Math.min(o, t.single && s ? 1 : e), r && (t.closestPointRange = a)), t.translationSlope = t.transA = d = t.staticScale || t.len / (e + h || 1), t.transB = t.horiz ? t.left : t.bottom, t.minPixelPadding = d * n, it(this, "afterSetAxisTranslation");
1746
1746
  }
1747
1747
  minFromRange() {
1748
1748
  let { max: t, min: e } = this;
1749
1749
  return R(t) && R(e) && t - e || void 0;
1750
1750
  }
1751
1751
  setTickInterval(t) {
1752
- let { categories: e, chart: i, dataMax: s, dataMin: r, dateTime: o, isXAxis: a, logarithmic: n, options: h, softThreshold: c } = this, d = i.time, p = R(this.threshold) ? this.threshold : void 0, u = this.minRange || 0, { ceiling: g, floor: x, linkedTo: m, softMax: f, softMin: y } = h, b = R(m) && i[this.coll]?.[m], v = h.tickPixelInterval, w = h.maxPadding, k = h.minPadding, S = 0, M, A = R(h.tickInterval) && h.tickInterval >= 0 ? h.tickInterval : void 0, P, T, L, I;
1753
- if (o || e || b || this.getTickAmount(), L = H(this.userMin, d.parse(h.min)), I = H(this.userMax, d.parse(h.max)), b ? (this.linkedParent = b, M = b.getExtremes(), this.min = H(M.min, M.dataMin), this.max = H(M.max, M.dataMax), this.type !== b.type && Hs(11, !0, i)) : (c && K(p) && R(s) && R(r) && (r >= p ? (P = p, k = 0) : s <= p && (T = p, w = 0)), this.min = H(L, P, r), this.max = H(I, T, s)), R(this.max) && R(this.min) && (n && (this.positiveValuesOnly && !t && 0 >= Math.min(this.min, H(r, this.min)) && Hs(10, !0, i), this.min = Tt(n.log2lin(this.min), 16), this.max = Tt(n.log2lin(this.max), 16)), this.range && R(r) && (this.userMin = this.min = L = Math.max(r, this.minFromRange() || 0), this.userMax = I = this.max, this.range = void 0)), et(this, "foundExtremes"), this.adjustForMinRange(), R(this.min) && R(this.max)) {
1754
- if (!R(this.userMin) && R(y) && y < this.min && (this.min = L = y), !R(this.userMax) && R(f) && f > this.max && (this.max = I = f), e || this.axisPointRange || this.stacking?.usePercentage || b || (S = this.max - this.min) && (!K(L) && k && (this.min -= S * k), !K(I) && w && (this.max += S * w)), !R(this.userMin) && R(x) && (this.min = Math.max(this.min, x)), !R(this.userMax) && R(g) && (this.max = Math.min(this.max, g)), c && R(r) && R(s)) {
1752
+ let { categories: e, chart: i, dataMax: s, dataMin: r, dateTime: o, isXAxis: a, logarithmic: n, options: h, softThreshold: c } = this, d = i.time, p = R(this.threshold) ? this.threshold : void 0, u = this.minRange || 0, { ceiling: g, floor: x, linkedTo: m, softMax: f, softMin: y } = h, b = R(m) && i[this.coll]?.[m], v = h.tickPixelInterval, k = h.maxPadding, M = h.minPadding, S = 0, w, A = R(h.tickInterval) && h.tickInterval >= 0 ? h.tickInterval : void 0, P, T, L, I;
1753
+ if (o || e || b || this.getTickAmount(), L = H(this.userMin, d.parse(h.min)), I = H(this.userMax, d.parse(h.max)), b ? (this.linkedParent = b, w = b.getExtremes(), this.min = H(w.min, w.dataMin), this.max = H(w.max, w.dataMax), this.type !== b.type && Hs(11, !0, i)) : (c && K(p) && R(s) && R(r) && (r >= p ? (P = p, M = 0) : s <= p && (T = p, k = 0)), this.min = H(L, P, r), this.max = H(I, T, s)), R(this.max) && R(this.min) && (n && (this.positiveValuesOnly && !t && 0 >= Math.min(this.min, H(r, this.min)) && Hs(10, !0, i), this.min = At(n.log2lin(this.min), 16), this.max = At(n.log2lin(this.max), 16)), this.range && R(r) && (this.userMin = this.min = L = Math.max(r, this.minFromRange() || 0), this.userMax = I = this.max, this.range = void 0)), it(this, "foundExtremes"), this.adjustForMinRange(), R(this.min) && R(this.max)) {
1754
+ if (!R(this.userMin) && R(y) && y < this.min && (this.min = L = y), !R(this.userMax) && R(f) && f > this.max && (this.max = I = f), e || this.axisPointRange || this.stacking?.usePercentage || b || (S = this.max - this.min) && (!K(L) && M && (this.min -= S * M), !K(I) && k && (this.max += S * k)), !R(this.userMin) && R(x) && (this.min = Math.max(this.min, x)), !R(this.userMax) && R(g) && (this.max = Math.min(this.max, g)), c && R(r) && R(s)) {
1755
1755
  let O = p || 0;
1756
1756
  !K(L) && this.min < O && r >= O ? this.min = h.minRange ? Math.min(O, this.max - u) : O : !K(I) && this.max > O && s <= O && (this.max = h.minRange ? Math.max(O, this.min + u) : O);
1757
1757
  }
@@ -1761,9 +1761,9 @@ function Ip() {
1761
1761
  let O = this.min !== this.old?.min || this.max !== this.old?.max;
1762
1762
  this.series.forEach(function(E) {
1763
1763
  E.forceCrop = E.forceCropping?.(), E.processData(O);
1764
- }), et(this, "postProcessData", { hasExtremesChanged: O });
1764
+ }), it(this, "postProcessData", { hasExtremesChanged: O });
1765
1765
  }
1766
- this.setAxisTranslation(), et(this, "initialAxisTranslation"), this.pointRange && !A && (this.tickInterval = Math.max(this.pointRange, this.tickInterval));
1766
+ this.setAxisTranslation(), it(this, "initialAxisTranslation"), this.pointRange && !A && (this.tickInterval = Math.max(this.pointRange, this.tickInterval));
1767
1767
  let D = H(h.minTickInterval, o && !this.series.some((O) => !O.sorted) ? this.closestPointRange : 0);
1768
1768
  !A && D && this.tickInterval < D && (this.tickInterval = D), o || n || A || (this.tickInterval = Eo(this, this.tickInterval)), this.tickAmount || (this.tickInterval = this.unsquish()), this.setTickPositions();
1769
1769
  }
@@ -1780,11 +1780,11 @@ function Ip() {
1780
1780
  }
1781
1781
  n.length > this.len && (n = [n[0], n[n.length - 1]])[0] === n[1] && (n.length = 1), i && (this.tickPositions = n, (h = i.apply(this, [this.min, this.max])) && (n = h));
1782
1782
  }
1783
- this.tickPositions = n, this.minorTickInterval = s === "auto" && this.tickInterval ? this.tickInterval / t.minorTicksPerMajor : s, this.paddedTicks = n.slice(0), this.trimTicks(n, o, a), !this.isLinked && R(this.min) && R(this.max) && (this.single && n.length < 2 && !this.categories && !this.series.some((c) => c.is("heatmap") && c.options.pointPlacement === "between") && (this.min -= 0.5, this.max += 0.5), e || h || this.adjustTickAmount()), et(this, "afterSetTickPositions");
1783
+ this.tickPositions = n, this.minorTickInterval = s === "auto" && this.tickInterval ? this.tickInterval / t.minorTicksPerMajor : s, this.paddedTicks = n.slice(0), this.trimTicks(n, o, a), !this.isLinked && R(this.min) && R(this.max) && (this.single && n.length < 2 && !this.categories && !this.series.some((c) => c.is("heatmap") && c.options.pointPlacement === "between") && (this.min -= 0.5, this.max += 0.5), e || h || this.adjustTickAmount()), it(this, "afterSetTickPositions");
1784
1784
  }
1785
1785
  trimTicks(t, e, i) {
1786
1786
  let s = t[0], r = t[t.length - 1], o = !this.isOrdinal && this.minPointOffset || 0;
1787
- if (et(this, "trimTicks"), !this.isLinked || !this.grid) {
1787
+ if (it(this, "trimTicks"), !this.isLinked || !this.grid) {
1788
1788
  if (e && s !== -1 / 0) this.min = s;
1789
1789
  else for (; this.min - o > t[0]; ) t.shift();
1790
1790
  if (i) this.max = r;
@@ -1827,7 +1827,7 @@ function Ip() {
1827
1827
  K(t.tickInterval) || i || !(this.len < e) || this.isRadial || this.logarithmic || !t.startOnTick || !t.endOnTick || (i = 2), !i && this.alignToOthers() && (i = Math.ceil(this.len / e) + 1), i < 4 && (this.finalTickAmt = i, i = 5), this.tickAmount = i;
1828
1828
  }
1829
1829
  adjustTickAmount() {
1830
- let t = this, { finalTickAmt: e, max: i, min: s, options: r, tickPositions: o, tickAmount: a, thresholdAlignment: n } = t, h = o?.length, c = H(t.threshold, t.softThreshold ? 0 : null), d, p, u = t.tickInterval, g, x = () => o.push(Tt(o[o.length - 1] + u)), m = () => o.unshift(Tt(o[0] - u));
1830
+ let t = this, { finalTickAmt: e, max: i, min: s, options: r, tickPositions: o, tickAmount: a, thresholdAlignment: n } = t, h = o?.length, c = H(t.threshold, t.softThreshold ? 0 : null), d, p, u = t.tickInterval, g, x = () => o.push(At(o[o.length - 1] + u)), m = () => o.unshift(At(o[0] - u));
1831
1831
  if (R(n) && (g = n < 0.5 ? Math.ceil(n * (a - 1)) : Math.floor(n * (a - 1)), r.reversed && (g = a - 1 - g)), t.hasData() && R(s) && R(i)) {
1832
1832
  let f = () => {
1833
1833
  t.transA *= (h - 1) / (a - 1), t.min = r.startOnTick ? o[0] : Math.min(s, o[0]), t.max = r.endOnTick ? o[o.length - 1] : Math.max(i, o[o.length - 1]);
@@ -1855,13 +1855,13 @@ function Ip() {
1855
1855
  i = i || o.isDirtyData || o.isDirty, s = s || o.xAxis?.isDirty || !1;
1856
1856
  }), this.setAxisSize();
1857
1857
  let r = this.len !== this.old?.len;
1858
- r || i || s || this.isLinked || this.forceRedraw || this.userMin !== this.old?.userMin || this.userMax !== this.old?.userMax || this.alignToOthers() ? (e && t === "yAxis" && e.buildStacks(), this.forceRedraw = !1, this.userMinRange || (this.minRange = void 0), this.getSeriesExtremes(), this.setTickInterval(), e && t === "xAxis" && e.buildStacks(), this.isDirty || (this.isDirty = r || this.min !== this.old?.min || this.max !== this.old?.max)) : e && e.cleanStacks(), i && delete this.allExtremes, et(this, "afterSetScale");
1858
+ r || i || s || this.isLinked || this.forceRedraw || this.userMin !== this.old?.userMin || this.userMax !== this.old?.userMax || this.alignToOthers() ? (e && t === "yAxis" && e.buildStacks(), this.forceRedraw = !1, this.userMinRange || (this.minRange = void 0), this.getSeriesExtremes(), this.setTickInterval(), e && t === "xAxis" && e.buildStacks(), this.isDirty || (this.isDirty = r || this.min !== this.old?.min || this.max !== this.old?.max)) : e && e.cleanStacks(), i && delete this.allExtremes, it(this, "afterSetScale");
1859
1859
  }
1860
1860
  setExtremes(t, e, i = !0, s, r) {
1861
1861
  let o = this.chart;
1862
1862
  this.series.forEach((a) => {
1863
1863
  delete a.kdTree;
1864
- }), t = o.time.parse(t), e = o.time.parse(e), et(this, "setExtremes", r = Bi(r, { min: t, max: e }), (a) => {
1864
+ }), t = o.time.parse(t), e = o.time.parse(e), it(this, "setExtremes", r = Bi(r, { min: t, max: e }), (a) => {
1865
1865
  this.userMin = a.min, this.userMax = a.max, this.eventArgs = a, i && o.redraw(s);
1866
1866
  });
1867
1867
  }
@@ -1871,7 +1871,7 @@ function Ip() {
1871
1871
  }
1872
1872
  getExtremes() {
1873
1873
  let t = this.logarithmic;
1874
- return { min: t ? Tt(t.lin2log(this.min)) : this.min, max: t ? Tt(t.lin2log(this.max)) : this.max, dataMin: this.dataMin, dataMax: this.dataMax, userMin: this.userMin, userMax: this.userMax };
1874
+ return { min: t ? At(t.lin2log(this.min)) : this.min, max: t ? At(t.lin2log(this.max)) : this.max, dataMin: this.dataMin, dataMax: this.dataMax, userMin: this.userMin, userMax: this.userMax };
1875
1875
  }
1876
1876
  getThreshold(t) {
1877
1877
  let e = this.logarithmic, i = e ? e.lin2log(this.min) : this.min, s = e ? e.lin2log(this.max) : this.max;
@@ -1879,7 +1879,7 @@ function Ip() {
1879
1879
  }
1880
1880
  autoLabelAlign(t) {
1881
1881
  let e = (H(t, 0) - 90 * this.side + 720) % 360, i = { align: "center" };
1882
- return et(this, "autoLabelAlign", i, function(s) {
1882
+ return it(this, "autoLabelAlign", i, function(s) {
1883
1883
  e > 15 && e < 165 ? s.align = "right" : e > 195 && e < 345 && (s.align = "left");
1884
1884
  }), i.align;
1885
1885
  }
@@ -1887,16 +1887,16 @@ function Ip() {
1887
1887
  let e = this.options, i = H(e[t === "tick" ? "tickWidth" : "minorTickWidth"], t === "tick" && this.isXAxis && !this.categories ? 1 : 0), s = e[t === "tick" ? "tickLength" : "minorTickLength"], r;
1888
1888
  i && s && (e[t + "Position"] === "inside" && (s = -s), r = [s, i]);
1889
1889
  let o = { tickSize: r };
1890
- return et(this, "afterTickSize", o), o.tickSize;
1890
+ return it(this, "afterTickSize", o), o.tickSize;
1891
1891
  }
1892
1892
  labelMetrics() {
1893
1893
  let t = this.chart.renderer, e = this.ticks, i = e[Object.keys(e)[0]] || {};
1894
1894
  return this.chart.renderer.fontMetrics(i.label || i.movedLabel || t.box);
1895
1895
  }
1896
1896
  unsquish() {
1897
- let t = this.options.labels, e = t.padding || 0, i = this.horiz, s = this.tickInterval, r = this.len / ((+!!this.categories + this.max - this.min) / s), o = t.rotation, a = Tt(0.8 * this.labelMetrics().h), n = Math.max(this.max - this.min, 0), h = function(g) {
1897
+ let t = this.options.labels, e = t.padding || 0, i = this.horiz, s = this.tickInterval, r = this.len / ((+!!this.categories + this.max - this.min) / s), o = t.rotation, a = At(0.8 * this.labelMetrics().h), n = Math.max(this.max - this.min, 0), h = function(g) {
1898
1898
  let x = (g + 2 * e) / (r || 1);
1899
- return (x = x > 1 ? Math.ceil(x) : 1) * s > n && g !== 1 / 0 && r !== 1 / 0 && n && (x = Math.ceil(n / s)), Tt(x * s);
1899
+ return (x = x > 1 ? Math.ceil(x) : 1) * s > n && g !== 1 / 0 && r !== 1 / 0 && n && (x = Math.ceil(n / s)), At(x * s);
1900
1900
  }, c = s, d, p = Number.MAX_VALUE, u;
1901
1901
  if (i) {
1902
1902
  if (!t.staggerLines && (R(o) ? u = [o] : r < t.autoRotationLimit && (u = t.autoRotation)), u) {
@@ -1913,7 +1913,7 @@ function Ip() {
1913
1913
  if (!i) {
1914
1914
  let a = s.style.width;
1915
1915
  if (a !== void 0) return parseInt(String(a), 10);
1916
- if (o) return o - e.spacing[3];
1916
+ if (!this.opposite && o) return o - e.spacing[3];
1917
1917
  }
1918
1918
  return 0.33 * e.chartWidth;
1919
1919
  }
@@ -1947,20 +1947,20 @@ function Ip() {
1947
1947
  this.axisGroup || (this.gridGroup = o("grid", "-grid", s.gridZIndex), this.axisGroup = o("axis", "", s.zIndex), this.labelGroup = o("axis-labels", "-labels", s.labels.zIndex));
1948
1948
  }
1949
1949
  getOffset() {
1950
- let t = this, { chart: e, horiz: i, options: s, side: r, ticks: o, tickPositions: a, coll: n } = t, h = e.inverted && !t.isZAxis ? [1, 0, 3, 2][r] : r, c = t.hasData(), d = s.title, p = s.labels, u = R(s.crossing), g = e.axisOffset, x = e.clipOffset, m = [-1, 1, 1, -1][r], f, y = 0, b, v = 0, w = 0, k, S;
1951
- if (t.showAxis = f = c || s.showEmpty, t.staggerLines = t.horiz && p.staggerLines || void 0, t.createGroups(), c || t.isLinked ? (a.forEach(function(M) {
1952
- t.generateTick(M);
1953
- }), t.renderUnsquish(), t.reserveSpaceDefault = r === 0 || r === 2 || { 1: "left", 3: "right" }[r] === t.labelAlign, H(p.reserveSpace, !u && null, t.labelAlign === "center" || null, t.reserveSpaceDefault) && a.forEach(function(M) {
1954
- w = Math.max(o[M].getLabelSize(), w);
1955
- }), t.staggerLines && (w *= t.staggerLines), t.labelOffset = w * (t.opposite ? -1 : 1)) : zi(o, function(M, A) {
1956
- M.destroy(), delete o[A];
1957
- }), d?.text && d.enabled !== !1 && (t.addTitle(f), f && !u && d.reserveSpace !== !1 && (t.titleOffset = y = t.axisTitle.getBBox()[i ? "height" : "width"], v = K(b = d.offset) ? 0 : H(d.margin, i ? 5 : 10))), t.renderLine(), t.offset = m * H(s.offset, g[r] ? g[r] + (s.margin || 0) : 0), t.tickRotCorr = t.tickRotCorr || { x: 0, y: 0 }, S = r === 0 ? -t.labelMetrics().h : r === 2 ? t.tickRotCorr.y : 0, k = Math.abs(w) + v, w && (k -= S, k += m * (i ? H(p.y, t.tickRotCorr.y + m * p.distance) : H(p.x, m * p.distance))), t.axisTitleMargin = H(b, k), t.getMaxLabelDimensions && (t.maxLabelDimensions = t.getMaxLabelDimensions(o, a)), n !== "colorAxis" && x) {
1958
- let M = this.tickSize("tick");
1959
- g[r] = Math.max(g[r], (t.axisTitleMargin || 0) + y + m * t.offset, k, a?.length && M ? M[0] + m * t.offset : 0);
1950
+ let t = this, { chart: e, horiz: i, options: s, side: r, ticks: o, tickPositions: a, coll: n } = t, h = e.inverted && !t.isZAxis ? [1, 0, 3, 2][r] : r, c = t.hasData(), d = s.title, p = s.labels, u = R(s.crossing), g = e.axisOffset, x = e.clipOffset, m = [-1, 1, 1, -1][r], f, y = 0, b, v = 0, k = 0, M, S;
1951
+ if (t.showAxis = f = c || s.showEmpty, t.staggerLines = t.horiz && p.staggerLines || void 0, t.createGroups(), c || t.isLinked ? (a.forEach(function(w) {
1952
+ t.generateTick(w);
1953
+ }), t.renderUnsquish(), t.reserveSpaceDefault = r === 0 || r === 2 || { 1: "left", 3: "right" }[r] === t.labelAlign, H(p.reserveSpace, !u && null, t.labelAlign === "center" || null, t.reserveSpaceDefault) && a.forEach(function(w) {
1954
+ k = Math.max(o[w].getLabelSize(), k);
1955
+ }), t.staggerLines && (k *= t.staggerLines), t.labelOffset = k * (t.opposite ? -1 : 1)) : zi(o, function(w, A) {
1956
+ w.destroy(), delete o[A];
1957
+ }), d?.text && d.enabled !== !1 && (t.addTitle(f), f && !u && d.reserveSpace !== !1 && (t.titleOffset = y = t.axisTitle.getBBox()[i ? "height" : "width"], v = K(b = d.offset) ? 0 : H(d.margin, i ? 5 : 10))), t.renderLine(), t.offset = m * H(s.offset, g[r] ? g[r] + (s.margin || 0) : 0), t.tickRotCorr = t.tickRotCorr || { x: 0, y: 0 }, S = r === 0 ? -t.labelMetrics().h : r === 2 ? t.tickRotCorr.y : 0, M = Math.abs(k) + v, k && (M -= S, M += m * (i ? H(p.y, t.tickRotCorr.y + m * p.distance) : H(p.x, m * p.distance))), t.axisTitleMargin = H(b, M), t.getMaxLabelDimensions && (t.maxLabelDimensions = t.getMaxLabelDimensions(o, a)), n !== "colorAxis" && x) {
1958
+ let w = this.tickSize("tick");
1959
+ g[r] = Math.max(g[r], (t.axisTitleMargin || 0) + y + m * t.offset, M, a?.length && w ? w[0] + m * t.offset : 0);
1960
1960
  let A = !t.axisLine || s.offset ? 0 : t.axisLine.strokeWidth() / 2;
1961
1961
  x[h] = Math.max(x[h], A);
1962
1962
  }
1963
- et(this, "afterGetOffset");
1963
+ it(this, "afterGetOffset");
1964
1964
  }
1965
1965
  getLinePath(t) {
1966
1966
  let e = this.chart, i = this.opposite, s = this.offset, r = this.horiz, o = this.left + (i ? this.width : 0) + s, a = e.chartHeight - this.bottom - (i ? this.height : 0) + s;
@@ -1971,7 +1971,7 @@ function Ip() {
1971
1971
  }
1972
1972
  getTitlePosition(t) {
1973
1973
  let e = this.horiz, i = this.left, s = this.top, r = this.len, o = this.options.title, a = e ? i : s, n = this.opposite, h = this.offset, c = o.x, d = o.y, p = this.chart.renderer.fontMetrics(t), u = t ? Math.max(t.getBBox(!1, 0).height - p.h - 1, 0) : 0, g = { low: a + (e ? 0 : r), middle: a + r / 2, high: a + (e ? r : 0) }[o.align], x = (e ? s + this.height : i) + (e ? 1 : -1) * (n ? -1 : 1) * (this.axisTitleMargin || 0) + [-u, u, p.f, -u][this.side], m = { x: e ? g + c : x + (n ? this.width : 0) + h + c, y: e ? x + d - (n ? this.height : 0) + h : g + d };
1974
- return et(this, "afterGetTitlePosition", { titlePosition: m }), m;
1974
+ return it(this, "afterGetTitlePosition", { titlePosition: m }), m;
1975
1975
  }
1976
1976
  renderMinorTick(t, e) {
1977
1977
  let i = this.minorTicks;
@@ -1983,38 +1983,38 @@ function Ip() {
1983
1983
  }
1984
1984
  render() {
1985
1985
  let t, e, i = this, s = i.chart, r = i.logarithmic, o = s.renderer, a = i.options, n = i.isLinked, h = i.tickPositions, c = i.axisTitle, d = i.ticks, p = i.minorTicks, u = i.alternateBands, g = a.stackLabels, x = a.alternateGridColor, m = a.crossing, f = i.tickmarkOffset, y = i.axisLine, b = i.showAxis, v = Jl(o.globalAnimation);
1986
- if (i.labelEdge.length = 0, i.overlap = !1, [d, p, u].forEach(function(w) {
1987
- zi(w, function(k) {
1988
- k.isActive = !1;
1986
+ if (i.labelEdge.length = 0, i.overlap = !1, [d, p, u].forEach(function(k) {
1987
+ zi(k, function(M) {
1988
+ M.isActive = !1;
1989
1989
  });
1990
1990
  }), R(m)) {
1991
- let w = this.isXAxis ? s.yAxis[0] : s.xAxis[0], k = [1, -1, -1, 1][this.side];
1992
- if (w) {
1993
- let S = w.toPixels(m, !0);
1994
- i.horiz && (S = w.len - S), i.offset = k * S;
1991
+ let k = this.isXAxis ? s.yAxis[0] : s.xAxis[0], M = [1, -1, -1, 1][this.side];
1992
+ if (k) {
1993
+ let S = k.toPixels(m, !0);
1994
+ i.horiz && (S = k.len - S), i.offset = M * S;
1995
1995
  }
1996
1996
  }
1997
1997
  if (i.hasData() || n) {
1998
- let w = i.chart.hasRendered && i.old && R(i.old.min);
1999
- i.minorTickInterval && !i.categories && i.getMinorTickPositions().forEach(function(k) {
2000
- i.renderMinorTick(k, w);
2001
- }), h.length && (h.forEach(function(k, S) {
2002
- i.renderTick(k, S, w);
2003
- }), f && (i.min === 0 || i.single) && (d[-1] || (d[-1] = new Ie(i, -1, null, !0)), d[-1].render(-1))), x && h.forEach(function(k, S) {
2004
- e = h[S + 1] !== void 0 ? h[S + 1] + f : i.max - f, S % 2 == 0 && k < i.max && e <= i.max + (s.polar ? -f : f) && (u[k] || (u[k] = new C.PlotLineOrBand(i, {})), t = k + f, u[k].options = { from: r ? r.lin2log(t) : t, to: r ? r.lin2log(e) : e, color: x, className: "highcharts-alternate-grid" }, u[k].render(), u[k].isActive = !0);
2005
- }), i._addedPlotLB || (i._addedPlotLB = !0, (a.plotLines || []).concat(a.plotBands || []).forEach(function(k) {
2006
- i.addPlotBandOrLine(k);
1998
+ let k = i.chart.hasRendered && i.old && R(i.old.min);
1999
+ i.minorTickInterval && !i.categories && i.getMinorTickPositions().forEach(function(M) {
2000
+ i.renderMinorTick(M, k);
2001
+ }), h.length && (h.forEach(function(M, S) {
2002
+ i.renderTick(M, S, k);
2003
+ }), f && (i.min === 0 || i.single) && (d[-1] || (d[-1] = new Ie(i, -1, null, !0)), d[-1].render(-1))), x && h.forEach(function(M, S) {
2004
+ e = h[S + 1] !== void 0 ? h[S + 1] + f : i.max - f, S % 2 == 0 && M < i.max && e <= i.max + (s.polar ? -f : f) && (u[M] || (u[M] = new C.PlotLineOrBand(i, {})), t = M + f, u[M].options = { from: r ? r.lin2log(t) : t, to: r ? r.lin2log(e) : e, color: x, className: "highcharts-alternate-grid" }, u[M].render(), u[M].isActive = !0);
2005
+ }), i._addedPlotLB || (i._addedPlotLB = !0, (a.plotLines || []).concat(a.plotBands || []).forEach(function(M) {
2006
+ i.addPlotBandOrLine(M);
2007
2007
  }));
2008
2008
  }
2009
- [d, p, u].forEach(function(w) {
2010
- let k = [], S = v.duration;
2011
- zi(w, function(M, A) {
2012
- M.isActive || (M.render(A, !1, 0), M.isActive = !1, k.push(A));
2009
+ [d, p, u].forEach(function(k) {
2010
+ let M = [], S = v.duration;
2011
+ zi(k, function(w, A) {
2012
+ w.isActive || (w.render(A, !1, 0), w.isActive = !1, M.push(A));
2013
2013
  }), lh(function() {
2014
- let M = k.length;
2015
- for (; M--; ) w[k[M]] && !w[k[M]].isActive && (w[k[M]].destroy(), delete w[k[M]]);
2016
- }, w !== u && s.hasRendered && S ? S : 0);
2017
- }), y && (y[y.isPlaced ? "animate" : "attr"]({ d: this.getLinePath(y.strokeWidth()) }), y.isPlaced = !0, y[b ? "show" : "hide"](b)), c && b && (c[c.isNew ? "attr" : "animate"](i.getTitlePosition(c)), c.isNew = !1), g?.enabled && i.stacking && i.stacking.renderStackTotals(), i.old = { len: i.len, max: i.max, min: i.min, transA: i.transA, userMax: i.userMax, userMin: i.userMin }, i.isDirty = !1, et(this, "afterRender");
2014
+ let w = M.length;
2015
+ for (; w--; ) k[M[w]] && !k[M[w]].isActive && (k[M[w]].destroy(), delete k[M[w]]);
2016
+ }, k !== u && s.hasRendered && S ? S : 0);
2017
+ }), y && (y[y.isPlaced ? "animate" : "attr"]({ d: this.getLinePath(y.strokeWidth()) }), y.isPlaced = !0, y[b ? "show" : "hide"](b)), c && b && (c[c.isNew ? "attr" : "animate"](i.getTitlePosition(c)), c.isNew = !1), g?.enabled && i.stacking && i.stacking.renderStackTotals(), i.old = { len: i.len, max: i.max, min: i.min, transA: i.transA, userMax: i.userMax, userMin: i.userMin }, i.isDirty = !1, it(this, "afterRender");
2018
2018
  }
2019
2019
  redraw() {
2020
2020
  this.visible && (this.render(), this.plotLinesAndBands.forEach(function(t) {
@@ -2028,7 +2028,7 @@ function Ip() {
2028
2028
  }
2029
2029
  destroy(t) {
2030
2030
  let e = this, i = e.plotLinesAndBands, s = this.eventOptions;
2031
- if (et(this, "destroy", { keepEvents: t }), t || ah(e), [e.ticks, e.minorTicks, e.alternateBands].forEach(function(r) {
2031
+ if (it(this, "destroy", { keepEvents: t }), t || ah(e), [e.ticks, e.minorTicks, e.alternateBands].forEach(function(r) {
2032
2032
  sh(r);
2033
2033
  }), i) {
2034
2034
  let r = i.length;
@@ -2043,14 +2043,14 @@ function Ip() {
2043
2043
  }
2044
2044
  drawCrosshair(t, e) {
2045
2045
  let i = this.crosshair, s = i?.snap ?? !0, r = this.chart, o, a, n, h = this.cross, c;
2046
- if (et(this, "drawCrosshair", { e: t, point: e }), t || (t = this.cross?.e), i && (K(e) || !s) !== !1) {
2046
+ if (it(this, "drawCrosshair", { e: t, point: e }), t || (t = this.cross?.e), i && (K(e) || !s) !== !1) {
2047
2047
  if (s ? K(e) && (a = H(this.coll !== "colorAxis" ? e.crosshairPos : null, this.isXAxis ? e.plotX : this.len - e.plotY)) : a = t && (this.horiz ? t.chartX - this.pos : this.len - t.chartY + this.pos), K(a) && (c = { value: e && (this.isXAxis ? e.x : H(e.stackY, e.y)), translatedValue: a }, r.polar && Bi(c, { isCrosshair: !0, chartX: t?.chartX, chartY: t?.chartY, point: e }), o = this.getPlotLinePath(c) || null), !K(o)) return void this.hideCrosshair();
2048
- n = this.categories && !this.isRadial, h || (this.cross = h = r.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-" + (n ? "category " : "thin ") + (i.className || "")).attr({ zIndex: H(i.zIndex, 2) }).add(), !r.styledMode && (h.attr({ stroke: i.color || (n ? tt.parse("#ccd3ff").setOpacity(0.25).get() : "#cccccc"), "stroke-width": H(i.width, 1) }).css({ "pointer-events": "none" }), i.dashStyle && h.attr({ dashstyle: i.dashStyle }))), h.show().attr({ d: o }), n && !i.width && h.attr({ "stroke-width": this.transA }), this.cross.e = t;
2048
+ n = this.categories && !this.isRadial, h || (this.cross = h = r.renderer.path().addClass("highcharts-crosshair highcharts-crosshair-" + (n ? "category " : "thin ") + (i.className || "")).attr({ zIndex: H(i.zIndex, 2) }).add(), !r.styledMode && (h.attr({ stroke: i.color || (n ? et.parse("#ccd3ff").setOpacity(0.25).get() : "#cccccc"), "stroke-width": H(i.width, 1) }).css({ "pointer-events": "none" }), i.dashStyle && h.attr({ dashstyle: i.dashStyle }))), h.show().attr({ d: o }), n && !i.width && h.attr({ "stroke-width": this.transA }), this.cross.e = t;
2049
2049
  } else this.hideCrosshair();
2050
- et(this, "afterDrawCrosshair", { e: t, point: e });
2050
+ it(this, "afterDrawCrosshair", { e: t, point: e });
2051
2051
  }
2052
2052
  hideCrosshair() {
2053
- this.cross && this.cross.hide(), et(this, "afterHideCrosshair");
2053
+ this.cross && this.cross.hide(), it(this, "afterHideCrosshair");
2054
2054
  }
2055
2055
  update(t, e) {
2056
2056
  let i = this.chart;
@@ -2169,8 +2169,8 @@ function Ip() {
2169
2169
  d = d || this.options;
2170
2170
  let p = this.getPlotLinePath({ value: c, force: !0, acrossPanes: d.acrossPanes }), u = [], g = this.horiz, x = !Do(this.min) || !Do(this.max) || h < this.min && c < this.min || h > this.max && c > this.max, m = this.getPlotLinePath({ value: h, force: !0, acrossPanes: d.acrossPanes }), f, y = 1, b;
2171
2171
  if (m && p) for (x && (b = m.toString() === p.toString(), y = 0), f = 0; f < m.length; f += 2) {
2172
- let v = m[f], w = m[f + 1], k = p[f], S = p[f + 1];
2173
- (v[0] === "M" || v[0] === "L") && (w[0] === "M" || w[0] === "L") && (k[0] === "M" || k[0] === "L") && (S[0] === "M" || S[0] === "L") && (g && k[1] === v[1] ? (k[1] += y, S[1] += y) : g || k[2] !== v[2] || (k[2] += y, S[2] += y), u.push(["M", v[1], v[2]], ["L", w[1], w[2]], ["L", S[1], S[2]], ["L", k[1], k[2]], ["Z"])), u.isFlat = b;
2172
+ let v = m[f], k = m[f + 1], M = p[f], S = p[f + 1];
2173
+ (v[0] === "M" || v[0] === "L") && (k[0] === "M" || k[0] === "L") && (M[0] === "M" || M[0] === "L") && (S[0] === "M" || S[0] === "L") && (g && M[1] === v[1] ? (M[1] += y, S[1] += y) : g || M[2] !== v[2] || (M[2] += y, S[2] += y), u.push(["M", v[1], v[2]], ["L", k[1], k[2]], ["L", S[1], S[2]], ["L", M[1], M[2]], ["Z"])), u.isFlat = b;
2174
2174
  }
2175
2175
  return u;
2176
2176
  }
@@ -2211,8 +2211,8 @@ function Ip() {
2211
2211
  }
2212
2212
  render() {
2213
2213
  wh(this, "render");
2214
- let { axis: t, options: e } = this, { horiz: i, logarithmic: s } = t, { color: r, events: o, zIndex: a = 0 } = e, { renderer: n, time: h } = t.chart, c = {}, d = h.parse(e.to), p = h.parse(e.from), u = h.parse(e.value), g = e.borderWidth, x = e.label, { label: m, svgElem: f } = this, y = [], b, v = Ft(p) && Ft(d), w = Ft(u), k = !f, S = { class: "highcharts-plot-" + (v ? "band " : "line ") + (e.className || "") }, M = v ? "bands" : "lines";
2215
- if (!t.chart.styledMode && (w ? (S.stroke = r || "#999999", S["stroke-width"] = Sh(e.width, 1), e.dashStyle && (S.dashstyle = e.dashStyle)) : v && (S.fill = r || "#e6e9ff", g && (S.stroke = e.borderColor, S["stroke-width"] = g))), c.zIndex = a, M += "-" + a, (b = t.plotLinesAndBandsGroups[M]) || (t.plotLinesAndBandsGroups[M] = b = n.g("plot-" + M).attr(c).add()), f || (this.svgElem = f = n.path().attr(S).add(b)), Ft(u)) y = t.getPlotLinePath({ value: s?.log2lin(u) ?? u, lineWidth: f.strokeWidth(), acrossPanes: e.acrossPanes });
2214
+ let { axis: t, options: e } = this, { horiz: i, logarithmic: s } = t, { color: r, events: o, zIndex: a = 0 } = e, { renderer: n, time: h } = t.chart, c = {}, d = h.parse(e.to), p = h.parse(e.from), u = h.parse(e.value), g = e.borderWidth, x = e.label, { label: m, svgElem: f } = this, y = [], b, v = Ft(p) && Ft(d), k = Ft(u), M = !f, S = { class: "highcharts-plot-" + (v ? "band " : "line ") + (e.className || "") }, w = v ? "bands" : "lines";
2215
+ if (!t.chart.styledMode && (k ? (S.stroke = r || "#999999", S["stroke-width"] = Sh(e.width, 1), e.dashStyle && (S.dashstyle = e.dashStyle)) : v && (S.fill = r || "#e6e9ff", g && (S.stroke = e.borderColor, S["stroke-width"] = g))), c.zIndex = a, w += "-" + a, (b = t.plotLinesAndBandsGroups[w]) || (t.plotLinesAndBandsGroups[w] = b = n.g("plot-" + w).attr(c).add()), f || (this.svgElem = f = n.path().attr(S).add(b)), Ft(u)) y = t.getPlotLinePath({ value: s?.log2lin(u) ?? u, lineWidth: f.strokeWidth(), acrossPanes: e.acrossPanes });
2216
2216
  else {
2217
2217
  if (!(Ft(p) && Ft(d))) return;
2218
2218
  y = t.getPlotBandPath(s?.log2lin(p) ?? p, s?.log2lin(d) ?? d, e);
@@ -2221,11 +2221,11 @@ function Ip() {
2221
2221
  f?.on(P, (T) => {
2222
2222
  o[P].apply(this, [T]);
2223
2223
  });
2224
- }), this.eventsAdded = !0), (k || !f.d) && y?.length ? f.attr({ d: y }) : f && (y ? (f.show(), f.animate({ d: y })) : f.d && (f.hide(), m && (this.label = m = m.destroy()))), x && (Ft(x.text) || Ft(x.formatter)) && y?.length && t.width > 0 && t.height > 0 && !y.isFlat ? (x = zo({ align: i && v ? "center" : void 0, x: i ? !v && 4 : 10, verticalAlign: !i && v ? "middle" : void 0, y: i ? v ? 16 : 10 : v ? 6 : -4, rotation: i && !v ? 90 : 0, ...v ? { inside: !0 } : {} }, x), this.renderLabel(x, y, v, a)) : m && m.hide(), this;
2224
+ }), this.eventsAdded = !0), (M || !f.d) && y?.length ? f.attr({ d: y }) : f && (y ? (f.show(), f.animate({ d: y })) : f.d && (f.hide(), m && (this.label = m = m.destroy()))), x && (Ft(x.text) || Ft(x.formatter)) && y?.length && t.width > 0 && t.height > 0 && !y.isFlat ? (x = zo({ align: i && v ? "center" : void 0, x: i ? !v && 4 : 10, verticalAlign: !i && v ? "middle" : void 0, y: i ? v ? 16 : 10 : v ? 6 : -4, rotation: i && !v ? 90 : 0, ...v ? { inside: !0 } : {} }, x), this.renderLabel(x, y, v, a)) : m && m.hide(), this;
2225
2225
  }
2226
2226
  renderLabel(t, e, i, s) {
2227
2227
  let r = this.axis, o = r.chart.renderer, a = t.inside, n = this.label;
2228
- n || (this.label = n = o.text(this.getLabelText(t), 0, 0, t.useHTML).attr({ align: t.textAlign || t.align, rotation: t.rotation, class: "highcharts-plot-" + (i ? "band" : "line") + "-label " + (t.className || ""), zIndex: s }), r.chart.styledMode || n.css(zo({ color: r.chart.options.title?.style.color, fontSize: "0.8em", textOverflow: i && !a ? "" : "ellipsis" }, t.style)), n.add());
2228
+ n || (this.label = n = o.text(this.getLabelText(t), 0, 0, t.useHTML).attr({ align: t.textAlign || t.align, rotation: t.rotation, class: "highcharts-plot-" + (i ? "band" : "line") + "-label " + (t.className || ""), zIndex: s }), r.chart.styledMode || n.css(zo({ color: r.chart.options.title?.style?.color, fontSize: "0.8em", textOverflow: i && !a ? "" : "ellipsis" }, t.style)), n.add());
2229
2229
  let h = e.xBounds || [e[0][1], e[1][1], i ? e[2][1] : e[0][1]], c = e.yBounds || [e[0][2], e[1][2], i ? e[2][2] : e[0][2]], d = No(h), p = No(c), u = Bo(h) - d;
2230
2230
  n.align(t, !1, { x: d, y: p, width: u, height: Bo(c) - p }), n.alignAttr.y -= o.fontMetrics(n).b, (!n.alignValue || n.alignValue === "left" || Ft(a)) && n.css({ width: (t.style?.width || (i && a ? u : n.rotation === 90 ? r.height - (n.alignAttr.y - r.top) : (t.clip ? r.width : r.chart.chartWidth) - (n.alignAttr.x - r.left))) + "px" }), n.show(!0);
2231
2231
  }
@@ -2306,27 +2306,27 @@ function Ip() {
2306
2306
  return { width: r ? Math.max(t.scrollWidth, e.scrollWidth, t.offsetWidth, e.offsetWidth, e.clientWidth) - 2 * s - 2 : i.chartWidth, height: r ? Math.max(t.scrollHeight, e.scrollHeight, t.offsetHeight, e.offsetHeight, e.clientHeight) : i.chartHeight };
2307
2307
  }
2308
2308
  getPosition(t, e, i) {
2309
- let { distance: s, chart: r, outside: o, pointer: a } = this, { inverted: n, plotLeft: h, plotTop: c, polar: d } = r, { plotX: p = 0, plotY: u = 0 } = i, g = {}, x = n && i.h || 0, { height: m, width: f } = this.getPlayingField(), y = a.getChartPosition(), b = (O) => O * y.scaleX, v = (O) => O * y.scaleY, w = (O) => {
2309
+ let { distance: s, chart: r, outside: o, pointer: a } = this, { inverted: n, plotLeft: h, plotTop: c, polar: d } = r, { plotX: p = 0, plotY: u = 0 } = i, g = {}, x = n && i.h || 0, { height: m, width: f } = this.getPlayingField(), y = a.getChartPosition(), b = (O) => O * y.scaleX, v = (O) => O * y.scaleY, k = (O) => {
2310
2310
  let E = O === "x";
2311
2311
  return [O, E ? f : m, E ? t : e].concat(o ? [E ? b(t) : v(e), E ? y.left - s + b(p + h) : y.top - s + v(u + c), 0, E ? f : m] : [E ? t : e, E ? p + h : u + c, E ? h : c, E ? h + r.plotWidth : c + r.plotHeight]);
2312
- }, k = w("y"), S = w("x"), M, A = !!i.negative;
2312
+ }, M = k("y"), S = k("x"), w, A = !!i.negative;
2313
2313
  !d && r.hoverSeries?.yAxis?.reversed && (A = !A);
2314
- let P = !this.followPointer && Ne(i.ttBelow, !d && !n === A), T = function(O, E, N, rt, Y, F, X) {
2315
- let W = o ? O === "y" ? v(s) : b(s) : s, V = (N - rt) / 2, U = rt < Y - s, $ = Y + s + rt < E, Z = Y - W - N + V, q = Y + W - V;
2314
+ let P = !this.followPointer && Ne(i.ttBelow, !d && !n === A), T = function(O, E, N, _, F, G, X) {
2315
+ let W = o ? O === "y" ? v(s) : b(s) : s, V = (N - _) / 2, U = _ < F - s, $ = F + s + _ < E, Z = F - W - N + V, q = F + W - V;
2316
2316
  if (P && $) g[O] = q;
2317
2317
  else if (!P && U) g[O] = Z;
2318
- else if (U) g[O] = Math.min(X - rt, Z - x < 0 ? Z : Z - x);
2318
+ else if (U) g[O] = Math.min(X - _, Z - x < 0 ? Z : Z - x);
2319
2319
  else {
2320
2320
  if (!$) return g[O] = 0, !1;
2321
- g[O] = Math.max(F, q + x + N > E ? q : q + x);
2321
+ g[O] = Math.max(G, q + x + N > E ? q : q + x);
2322
2322
  }
2323
- }, L = function(O, E, N, rt, Y) {
2324
- if (Y < s || Y > E - s) return !1;
2325
- Y < N / 2 ? g[O] = 1 : Y > E - rt / 2 ? g[O] = E - rt - 2 : g[O] = Y - N / 2;
2323
+ }, L = function(O, E, N, _, F) {
2324
+ if (F < s || F > E - s) return !1;
2325
+ F < N / 2 ? g[O] = 1 : F > E - _ / 2 ? g[O] = E - _ - 2 : g[O] = F - N / 2;
2326
2326
  }, I = function(O) {
2327
- [k, S] = [S, k], M = O;
2327
+ [M, S] = [S, M], w = O;
2328
2328
  }, D = () => {
2329
- T.apply(0, k) !== !1 ? L.apply(0, S) !== !1 || M || (I(!0), D()) : M ? g.x = g.y = 0 : (I(!0), D());
2329
+ T.apply(0, M) !== !1 ? L.apply(0, S) !== !1 || w || (I(!0), D()) : w ? g.x = g.y = 0 : (I(!0), D());
2330
2330
  };
2331
2331
  return (n && !d || this.len > 1) && I(), D(), g;
2332
2332
  }
@@ -2378,68 +2378,68 @@ function Ip() {
2378
2378
  Fs(this, "refresh");
2379
2379
  }
2380
2380
  renderSplit(t, e) {
2381
- let i = this, { chart: s, chart: { chartWidth: r, plotHeight: o, plotLeft: a, plotTop: n, scrollablePixelsY: h = 0, scrollablePixelsX: c, styledMode: d }, distance: p, options: u, options: { fixed: g, position: x, positioner: m }, pointer: f } = i, { scrollLeft: y = 0, scrollTop: b = 0 } = s.scrollablePlotArea?.scrollingContainer || {}, v = i.outside && typeof c != "number" ? Wo.documentElement.getBoundingClientRect() : { left: y, right: y + r }, w = i.getLabel(), k = this.renderer || s.renderer, S = !!s.xAxis[0]?.opposite, { left: M, top: A } = f.getChartPosition(), P = m || g, T = n + b, L = 0, I = o - h, D = function(F, X, W, V = [0, 0], U = !0) {
2381
+ let i = this, { chart: s, chart: { chartWidth: r, plotHeight: o, plotLeft: a, plotTop: n, scrollablePixelsY: h = 0, scrollablePixelsX: c, styledMode: d }, distance: p, options: u, options: { fixed: g, position: x, positioner: m }, pointer: f } = i, { scrollLeft: y = 0, scrollTop: b = 0 } = s.scrollablePlotArea?.scrollingContainer || {}, v = i.outside && typeof c != "number" ? Wo.documentElement.getBoundingClientRect() : { left: y, right: y + r }, k = i.getLabel(), M = this.renderer || s.renderer, S = !!s.xAxis[0]?.opposite, { left: w, top: A } = f.getChartPosition(), P = m || g, T = n + b, L = 0, I = o - h, D = function(G, X, W, V = [0, 0], U = !0) {
2382
2382
  let $, Z;
2383
- if (W.isHeader) Z = S ? 0 : I, $ = Be(V[0] - F / 2, v.left, v.right - F - (i.outside ? M : 0));
2383
+ if (W.isHeader) Z = S ? 0 : I, $ = Be(V[0] - G / 2, v.left, v.right - G - (i.outside ? w : 0));
2384
2384
  else if (g && W) {
2385
- let q = i.getFixedPosition(F, X, W);
2385
+ let q = i.getFixedPosition(G, X, W);
2386
2386
  $ = q.x, Z = q.y - T;
2387
- } else Z = V[1] - T, $ = Be($ = U ? V[0] - F - p : V[0] + p, U ? $ : v.left, v.right);
2387
+ } else Z = V[1] - T, $ = Be($ = U ? V[0] - G - p : V[0] + p, U ? $ : v.left, v.right);
2388
2388
  return { x: $, y: Z };
2389
2389
  };
2390
2390
  Gs(t) && (t = [!1, t]);
2391
- let O = t.slice(0, e.length + 1).reduce(function(F, X, W) {
2391
+ let O = t.slice(0, e.length + 1).reduce(function(G, X, W) {
2392
2392
  if (X !== !1 && X !== "") {
2393
- let V = e[W - 1] || { isHeader: !0, plotX: e[0].plotX, plotY: o, series: {} }, U = V.isHeader, $ = U ? i : V.series, Z = $.tt = (function(Nt, mt, ae) {
2394
- let Ct = Nt, { isHeader: be, series: gi } = mt, zt = gi.tooltipOptions || u;
2393
+ let V = e[W - 1] || { isHeader: !0, plotX: e[0].plotX, plotY: o, series: {} }, U = V.isHeader, $ = U ? i : V.series, Z = $.tt = (function(Nt, ft, ae) {
2394
+ let Ct = Nt, { isHeader: ve, series: gi } = ft, zt = gi.tooltipOptions || u;
2395
2395
  if (!Ct) {
2396
2396
  let Xe = { padding: zt.padding, r: zt.borderRadius };
2397
- d || (Xe.fill = zt.backgroundColor, Xe["stroke-width"] = zt.borderWidth ?? (g && !be ? 0 : 1)), Ct = k.label("", 0, 0, zt[be ? "headerShape" : "shape"] || (g && !be ? "rect" : "callout"), void 0, void 0, zt.useHTML).addClass(i.getClassName(mt, !0, be)).attr(Xe).add(w);
2397
+ d || (Xe.fill = zt.backgroundColor, Xe["stroke-width"] = zt.borderWidth ?? (g && !ve ? 0 : 1)), Ct = M.label("", 0, 0, zt[ve ? "headerShape" : "shape"] || (g && !ve ? "rect" : "callout"), void 0, void 0, zt.useHTML).addClass(i.getClassName(ft, !0, ve)).attr(Xe).add(k);
2398
2398
  }
2399
- return Ct.isActive = !0, Ct.attr({ text: ae }), d || Ct.css(zt.style).attr({ stroke: zt.borderColor || mt.color || gi.color || "#333333" }), Ct;
2399
+ return Ct.isActive = !0, Ct.attr({ text: ae }), d || Ct.css(zt.style).attr({ stroke: zt.borderColor || ft.color || gi.color || "#333333" }), Ct;
2400
2400
  })($.tt, V, X.toString()), q = Z.getBBox(), vt = q.width + Z.strokeWidth();
2401
2401
  U && (L = q.height, I += L, S && (T -= L));
2402
2402
  let { anchorX: kt, anchorY: wt } = (function(Nt) {
2403
- let mt, ae, { isHeader: Ct, plotX: be = 0, plotY: gi = 0, series: zt } = Nt;
2404
- if (Ct) mt = Math.max(a + be, a), ae = n + o / 2;
2403
+ let ft, ae, { isHeader: Ct, plotX: ve = 0, plotY: gi = 0, series: zt } = Nt;
2404
+ if (Ct) ft = Math.max(a + ve, a), ae = n + o / 2;
2405
2405
  else {
2406
2406
  let { xAxis: Xe, yAxis: sn } = zt;
2407
- mt = Xe.pos + Be(be, -p, Xe.len + p), zt.shouldShowTooltip(0, sn.pos - n + gi, { ignoreX: !0 }) && (ae = sn.pos + gi);
2407
+ ft = Xe.pos + Be(ve, -p, Xe.len + p), zt.shouldShowTooltip(0, sn.pos - n + gi, { ignoreX: !0 }) && (ae = sn.pos + gi);
2408
2408
  }
2409
- return { anchorX: mt = Be(mt, v.left - p, v.right + p), anchorY: ae };
2409
+ return { anchorX: ft = Be(ft, v.left - p, v.right + p), anchorY: ae };
2410
2410
  })(V);
2411
2411
  if (typeof wt == "number") {
2412
- let Nt = q.height + 1, mt = (m || D).call(i, vt, Nt, V, [kt, wt]);
2413
- F.push({ align: P ? 0 : void 0, anchorX: kt, anchorY: wt, boxWidth: vt, point: V, rank: Ne(mt.rank, +!!U), size: Nt, target: mt.y, tt: Z, x: mt.x });
2412
+ let Nt = q.height + 1, ft = (m || D).call(i, vt, Nt, V, [kt, wt]);
2413
+ G.push({ align: P ? 0 : void 0, anchorX: kt, anchorY: wt, boxWidth: vt, point: V, rank: Ne(ft.rank, +!!U), size: Nt, target: ft.y, tt: Z, x: ft.x });
2414
2414
  } else Z.isActive = !1;
2415
2415
  }
2416
- return F;
2416
+ return G;
2417
2417
  }, []);
2418
- !P && O.some((F) => {
2419
- let { outside: X } = i, W = (X ? M : 0) + F.anchorX;
2420
- return W < v.left && W + F.boxWidth < v.right || W < M - v.left + F.boxWidth && v.right - W > W;
2421
- }) && (O = O.map((F) => {
2422
- let { x: X, y: W } = D.call(this, F.boxWidth, F.size, F.point, [F.anchorX, F.anchorY], !1);
2423
- return Ih(F, { target: W, x: X });
2418
+ !P && O.some((G) => {
2419
+ let { outside: X } = i, W = (X ? w : 0) + G.anchorX;
2420
+ return W < v.left && W + G.boxWidth < v.right || W < w - v.left + G.boxWidth && v.right - W > W;
2421
+ }) && (O = O.map((G) => {
2422
+ let { x: X, y: W } = D.call(this, G.boxWidth, G.size, G.point, [G.anchorX, G.anchorY], !1);
2423
+ return Ih(G, { target: W, x: X });
2424
2424
  })), i.cleanSplit(), Oh(O, I);
2425
- let E = { left: M, right: M };
2426
- O.forEach(function(F) {
2427
- let { x: X, boxWidth: W, isHeader: V } = F;
2428
- !V && (i.outside && M + X < E.left && (E.left = M + X), !V && i.outside && E.left + W > E.right && (E.right = M + X));
2429
- }), O.forEach(function(F) {
2430
- let { x: X, anchorX: W, anchorY: V, pos: U, point: { isHeader: $ } } = F, Z = { visibility: U === void 0 ? "hidden" : "inherit", x: X, y: (U || 0) + T + (g && x.y || 0), anchorX: W, anchorY: V };
2425
+ let E = { left: w, right: w };
2426
+ O.forEach(function(G) {
2427
+ let { x: X, boxWidth: W, isHeader: V } = G;
2428
+ !V && (i.outside && w + X < E.left && (E.left = w + X), !V && i.outside && E.left + W > E.right && (E.right = w + X));
2429
+ }), O.forEach(function(G) {
2430
+ let { x: X, anchorX: W, anchorY: V, pos: U, point: { isHeader: $ } } = G, Z = { visibility: U === void 0 ? "hidden" : "inherit", x: X, y: (U || 0) + T + (g && x.y || 0), anchorX: W, anchorY: V };
2431
2431
  if (i.outside && X < W) {
2432
- let q = M - E.left;
2432
+ let q = w - E.left;
2433
2433
  q > 0 && ($ || (Z.x = X + q, Z.anchorX = W + q), $ && (Z.x = (E.right - E.left) / 2, Z.anchorX = W + q));
2434
2434
  }
2435
- F.tt.attr(Z);
2435
+ G.tt.attr(Z);
2436
2436
  });
2437
- let { container: N, outside: rt, renderer: Y } = i;
2438
- if (rt && N && Y) {
2439
- let { width: F, height: X, x: W, y: V } = w.getBBox();
2440
- Y.setSize(F + W, X + V, !1), N.style.left = E.left + "px", N.style.top = A + "px";
2437
+ let { container: N, outside: _, renderer: F } = i;
2438
+ if (_ && N && F) {
2439
+ let { width: G, height: X, x: W, y: V } = k.getBBox();
2440
+ F.setSize(G + W, X + V, !1), N.style.left = E.left + "px", N.style.top = A + "px";
2441
2441
  }
2442
- Ph && w.attr({ opacity: w.opacity === 1 ? 0.999 : 1 });
2442
+ Ph && k.attr({ opacity: k.opacity === 1 ? 0.999 : 1 });
2443
2443
  }
2444
2444
  drawTracker() {
2445
2445
  if (!this.shouldStickOnContact()) {
@@ -2476,8 +2476,8 @@ function Ip() {
2476
2476
  let { chart: e, container: i, distance: s, options: r, pointer: o, renderer: a } = this, { height: n = 0, width: h = 0 } = this.getLabel(), { fixed: c, positioner: d } = r, { left: p, top: u, scaleX: g, scaleY: x } = o.getChartPosition(), m = (d || c && this.getFixedPosition || this.getPosition).call(this, h, n, t), f = C.doc, y = (t.plotX || 0) + e.plotLeft, b = (t.plotY || 0) + e.plotTop, v;
2477
2477
  if (a && i) {
2478
2478
  if (d || c) {
2479
- let { scrollLeft: w = 0, scrollTop: k = 0 } = e.scrollablePlotArea?.scrollingContainer || {};
2480
- m.x += w + p - s, m.y += k + u - s;
2479
+ let { scrollLeft: k = 0, scrollTop: M = 0 } = e.scrollablePlotArea?.scrollingContainer || {};
2480
+ m.x += k + p - s, m.y += M + u - s;
2481
2481
  }
2482
2482
  v = (r.borderWidth || 0) + 2 * s + 2, a.setSize(Be(h + v, 0, f.documentElement.clientWidth) - 1, n + v, !1), (g !== 1 || x !== 1) && (Xo(i, { transform: `scale(${g}, ${x})` }), y *= g, b *= x), y += p - m.x, b += u - m.y;
2483
2483
  }
@@ -2637,31 +2637,32 @@ function Ip() {
2637
2637
  if (this.state = t, p && (g = i.markerAttribs(this, t)), this.graphic && !this.hasMockGraphic) {
2638
2638
  if (s && this.graphic.removeClass("highcharts-point-" + s), t && this.graphic.addClass("highcharts-point-" + t), !d.styledMode) {
2639
2639
  x = i.pointAttribs(this, t), m = Jt(d.options.chart.animation, r.animation);
2640
- let k = x.opacity;
2641
- i.options.inactiveOtherPoints && _t(k) && (this.dataLabels || []).forEach(function(S) {
2642
- S && !S.hasClass("highcharts-data-label-hidden") && (S.animate({ opacity: k }, m), S.connector && S.connector.animate({ opacity: k }, m));
2640
+ let M = x.opacity;
2641
+ i.options.inactiveOtherPoints && _t(M) && (this.dataLabels || []).forEach(function(S) {
2642
+ S && !S.hasClass("highcharts-data-label-hidden") && (S.animate({ opacity: M }, m), S.connector && S.connector.animate({ opacity: M }, m));
2643
2643
  }), this.graphic.animate(x, m);
2644
2644
  }
2645
2645
  g && this.graphic.animate(g, Jt(d.options.chart.animation, n.animation, o.animation)), f && f.hide();
2646
2646
  } else t && n && (y = c.symbol || i.symbol, f && f.currentSymbol !== y && (f = f.destroy()), g && (f ? f[e ? "animate" : "attr"]({ x: g.x, y: g.y }) : y && (i.stateMarkerGraphic = f = d.renderer.symbol(y, g.x, g.y, g.width, g.height, Go(o, n)).add(i.markerGroup), f.currentSymbol = y)), !d.styledMode && f && this.state !== "inactive" && f.attr(i.pointAttribs(this, t))), f && (f[t && this.isInside ? "show" : "hide"](), f.element.point = this, f.addClass(this.getClassName(), !0));
2647
- let b = r.halo, v = this.graphic || f, w = v?.visibility || "inherit";
2648
- b?.size && v && w !== "hidden" && !this.isCluster ? (u || (i.halo = u = d.renderer.path().add(v.parentGroup)), u.show()[e ? "animate" : "attr"]({ d: this.haloPath(b.size) }), u.attr({ class: "highcharts-halo highcharts-color-" + Jt(this.colorIndex, i.colorIndex) + (this.className ? " " + this.className : ""), visibility: w, zIndex: -1 }), u.point = this, d.styledMode || u.attr(Hi({ fill: this.color || i.color, "fill-opacity": b.opacity }, Q.filterUserAttributes(b.attributes || {})))) : u?.point?.haloPath && !u.point.destroyed && u.animate({ d: u.point.haloPath(0) }, null, u.hide), Us(this, "afterSetState", { state: t });
2647
+ let b = r.halo, v = this.graphic || f, k = v?.visibility || "inherit";
2648
+ b?.size && v && k !== "hidden" && !this.isCluster ? (u || (i.halo = u = d.renderer.path().add(v.parentGroup)), u.show()[e ? "animate" : "attr"]({ d: this.haloPath(b.size) }), u.attr({ class: "highcharts-halo highcharts-color-" + Jt(this.colorIndex, i.colorIndex) + (this.className ? " " + this.className : ""), visibility: k, zIndex: -1 }), u.point = this, d.styledMode || u.attr(Hi({ fill: this.color || i.color, "fill-opacity": b.opacity }, tt.filterUserAttributes(b.attributes || {})))) : u?.point?.haloPath && !u.point.destroyed && u.animate({ d: u.point.haloPath(0) }, null, u.hide), Us(this, "afterSetState", { state: t });
2649
2649
  }
2650
2650
  haloPath(t) {
2651
2651
  let e = this.pos();
2652
2652
  return e ? this.series.chart.renderer.symbols.circle(Yh(e[0], 1) - t, e[1] - t, 2 * t, 2 * t) : [];
2653
2653
  }
2654
2654
  }
2655
- let Qt = ii, { parse: Kh } = tt, { charts: Vs, composed: _h, isTouchDevice: Jh } = C, { addEvent: Et, attr: Qh, css: $s, extend: Zs, find: jo, fireEvent: te, isNumber: Gi, isObject: Yi, objectEach: td, offset: ed, pick: Gt, pushUnique: id, splat: Uo } = B;
2655
+ let Qt = ii, { parse: Kh } = et, { charts: Vs, composed: _h, isTouchDevice: Jh } = C, { addEvent: Et, attr: Qh, css: $s, extend: Zs, find: jo, fireEvent: te, isNumber: Gi, isObject: Yi, objectEach: td, offset: ed, pick: Gt, pushUnique: id, splat: Uo } = B;
2656
2656
  class pt {
2657
2657
  applyInactiveState(t = []) {
2658
2658
  let e = [];
2659
- t.forEach((i) => {
2660
- let s = i.series;
2661
- e.push(s), s.linkedParent && e.push(s.linkedParent), s.linkedSeries && e.push.apply(e, s.linkedSeries), s.navigatorSeries && e.push(s.navigatorSeries), s.boosted && s.markerGroup && e.push.apply(e, this.chart.series.filter((r) => r.markerGroup === s.markerGroup));
2662
- }), this.chart.series.forEach((i) => {
2663
- e.indexOf(i) === -1 ? i.setState("inactive", !0) : i.options.inactiveOtherPoints && i.setAllPointsToState("inactive");
2664
- });
2659
+ for (let i of (t.forEach((s) => {
2660
+ let r = s.series;
2661
+ e.push(r), r.linkedParent && e.push(r.linkedParent), r.linkedSeries && e.push.apply(e, r.linkedSeries), r.navigatorSeries && e.push(r.navigatorSeries), r.boosted && r.markerGroup && e.push.apply(e, this.chart.series.filter((o) => o.markerGroup === r.markerGroup));
2662
+ }), this.chart.series)) {
2663
+ let s = i.options;
2664
+ s.states?.inactive?.enabled !== !1 && (e.indexOf(i) === -1 ? i.setState("inactive", !0) : s.inactiveOtherPoints && i.setAllPointsToState("inactive"));
2665
+ }
2665
2666
  }
2666
2667
  destroy() {
2667
2668
  let t = this;
@@ -2702,7 +2703,7 @@ function Ip() {
2702
2703
  }
2703
2704
  Gi(i.index) && (this.selectionMarker = s.destroy());
2704
2705
  }
2705
- i && Gi(i.index) && ($s(i.container, { cursor: i._cursor }), i.cancelClick = this.hasDragged > 10, i.mouseIsDown = !1, this.hasDragged = 0, this.pinchDown = []);
2706
+ i && Gi(i.index) && ($s(i.container, { cursor: i._cursor }), i.cancelClick = this.hasDragged > 10, i.mouseIsDown = !1, this.hasDragged = 0, this.pinchDown = [], this.hasPinchMoved = !1);
2706
2707
  }
2707
2708
  findNearestKDPoint(t, e, i) {
2708
2709
  let s;
@@ -2810,7 +2811,7 @@ function Ip() {
2810
2811
  !s || e.isInsidePlot(r.chartX - e.plotLeft, r.chartY - e.plotTop, { visiblePlotOnly: !0 }) || i?.shouldStickOnContact(r) || r.target !== e.container.ownerDocument && this.inClass(r.target, "highcharts-tracker") || this.reset();
2811
2812
  }
2812
2813
  onDocumentMouseUp(t) {
2813
- Vs[Gt(pt.hoverChartIndex, -1)]?.pointer?.drop(t);
2814
+ t?.touches && this.hasPinchMoved && t?.preventDefault?.(), Vs[Gt(pt.hoverChartIndex, -1)]?.pointer?.drop(t);
2814
2815
  }
2815
2816
  pinch(t) {
2816
2817
  let e = this, { chart: i, hasZoom: s, lastTouches: r } = e, o = [].map.call(t.touches || [], (d) => e.normalize(d)), a = o.length, n = a === 1 && (e.inClass(t.target, "highcharts-tracker") && i.runTrackerClick || e.runChartClick), h = i.tooltip, c = a === 1 && Gt(h?.options.followTouchMove, !0);
@@ -2886,7 +2887,7 @@ function Ip() {
2886
2887
  }
2887
2888
  touch(t, e) {
2888
2889
  let i, { chart: s, pinchDown: r = [] } = this;
2889
- this.setHoverChartIndex(), (t = this.normalize(t)).touches.length === 1 ? s.isInsidePlot(t.chartX - s.plotLeft, t.chartY - s.plotTop, { visiblePlotOnly: !0 }) && !s.exporting?.openMenu ? (e && this.runPointActions(t), t.type === "touchmove" && (i = !!r[0] && Math.pow(r[0].chartX - t.chartX, 2) + Math.pow(r[0].chartY - t.chartY, 2) >= 16), Gt(i, !0) && this.pinch(t)) : e && this.reset() : t.touches.length === 2 && this.pinch(t);
2890
+ this.setHoverChartIndex(), (t = this.normalize(t)).touches.length === 1 ? s.isInsidePlot(t.chartX - s.plotLeft, t.chartY - s.plotTop, { visiblePlotOnly: !0 }) && !s.exporting?.openMenu ? (e && this.runPointActions(t), t.type === "touchmove" && (this.hasPinchMoved = i = !!r[0] && Math.pow(r[0].chartX - t.chartX, 2) + Math.pow(r[0].chartY - t.chartY, 2) >= 16), Gt(i, !0) && this.pinch(t)) : e && this.reset() : t.touches.length === 2 && this.pinch(t);
2890
2891
  }
2891
2892
  touchSelect(t) {
2892
2893
  return !!(this.chart.zooming.singleTouch && t.touches && t.touches.length === 1);
@@ -2979,8 +2980,8 @@ function Ip() {
2979
2980
  let s = i.legendItem || {}, r = e.options, o = e.symbolHeight, a = r.squareSymbol, n = a ? o : e.symbolWidth;
2980
2981
  s.symbol = this.chart.renderer.rect(a ? (e.symbolWidth - o) / 2 : 0, e.baseline - o + 1, n, o, Zo(e.options.symbolRadius, o / 2)).addClass("highcharts-point").attr({ zIndex: 3 }).add(s.group);
2981
2982
  };
2982
- })(ke || (ke = {}));
2983
- let qo = ke, { defaultOptions: Ko } = Ot, { extend: ad, extendClass: nd, merge: ld } = B;
2983
+ })(we || (we = {}));
2984
+ let qo = we, { defaultOptions: Ko } = Ot, { extend: ad, extendClass: nd, merge: ld } = B;
2984
2985
  (function(l) {
2985
2986
  function t(e, i) {
2986
2987
  let s = Ko.plotOptions || {}, r = i.defaultOptions, o = i.prototype;
@@ -2988,8 +2989,7 @@ function Ip() {
2988
2989
  }
2989
2990
  l.seriesTypes = C.seriesTypes, l.registerSeriesType = t, l.seriesType = function(e, i, s, r, o) {
2990
2991
  let a = Ko.plotOptions || {};
2991
- if (i = i || "", a[e] = ld(a[i], s), delete l.seriesTypes[e], t(e, nd(l.seriesTypes[i] || function() {
2992
- }, r)), l.seriesTypes[e].prototype.type = e, o) {
2992
+ if (i = i || "", a[e] = ld(a[i], s), delete l.seriesTypes[e], t(e, nd(l.seriesTypes[i] || Tt, r)), l.seriesTypes[e].prototype.type = e, o) {
2993
2993
  class n extends Qt {
2994
2994
  }
2995
2995
  ad(n.prototype, o), l.seriesTypes[e].prototype.pointClass = n;
@@ -2997,31 +2997,31 @@ function Ip() {
2997
2997
  return l.seriesTypes[e];
2998
2998
  };
2999
2999
  })(St || (St = {}));
3000
- let at = St, { animObject: _o, setAnimation: hd } = gt, { defaultOptions: Ui } = Ot, { registerEventOptions: dd } = Ei, { svg: cd, win: pd } = C, { seriesTypes: ze } = at, { format: ud } = Lt, { arrayMax: Ks, arrayMin: Jo, clamp: Qo, correctFloat: ta, crisp: gd, defined: ht, destroyObjectProperties: fd, diffObjects: md, erase: ea, error: Vi, extend: Re, find: xd, fireEvent: it, getClosestDistance: yd, getNestedProperty: ia, insertItem: sa, isArray: ra, isNumber: ut, isString: bd, merge: oi, objectEach: _s, pick: st, removeEvent: vd, syncTimeout: oa } = B;
3001
- class Dt {
3000
+ let at = St, { animObject: _o, setAnimation: hd } = gt, { defaultOptions: Ui } = Ot, { registerEventOptions: dd } = Ei, { svg: cd, win: pd } = C, { seriesTypes: ze } = at, { format: ud } = Lt, { arrayMax: Ks, arrayMin: Jo, clamp: Qo, correctFloat: ta, crisp: gd, defined: ht, destroyObjectProperties: fd, diffObjects: md, erase: ea, error: Vi, extend: Re, find: xd, fireEvent: st, getClosestDistance: yd, getNestedProperty: ia, insertItem: sa, isArray: ra, isNumber: ut, isString: bd, merge: oi, objectEach: _s, pick: rt, removeEvent: vd, syncTimeout: oa } = B;
3001
+ class It {
3002
3002
  constructor() {
3003
3003
  this.zoneAxis = "y";
3004
3004
  }
3005
3005
  init(t, e) {
3006
3006
  let i;
3007
- it(this, "init", { options: e }), this.dataTable ?? (this.dataTable = new ji());
3007
+ st(this, "init", { options: e }), this.dataTable ?? (this.dataTable = new ji());
3008
3008
  let s = t.series;
3009
3009
  this.eventsToUnbind = [], this.chart = t, this.options = this.setOptions(e);
3010
3010
  let r = this.options, o = r.visible !== !1;
3011
- this.linkedSeries = [], this.bindAxes(), Re(this, { name: r.name, state: "", visible: o, selected: r.selected === !0 }), dd(this, r), (r.events?.click || r.point?.events?.click || r.allowPointSelect) && (t.runTrackerClick = !0), this.getColor(), this.getSymbol(), this.isCartesian && (t.hasCartesianSeries = !0), s.length && (i = s[s.length - 1]), this._i = st(i?._i, -1) + 1, this.opacity = this.options.opacity, t.orderItems("series", sa(this, s)), r.dataSorting?.enabled ? this.setDataSortingOptions() : this.points || this.data || this.setData(r.data, !1), it(this, "afterInit");
3011
+ this.linkedSeries = [], this.bindAxes(), Re(this, { name: r.name, state: "", visible: o, selected: r.selected === !0 }), dd(this, r), (r.events?.click || r.point?.events?.click || r.allowPointSelect) && (t.runTrackerClick = !0), this.getColor(), this.getSymbol(), this.isCartesian && (t.hasCartesianSeries = !0), s.length && (i = s[s.length - 1]), this._i = rt(i?._i, -1) + 1, this.opacity = this.options.opacity, t.orderItems("series", sa(this, s)), r.dataSorting?.enabled ? this.setDataSortingOptions() : this.points || this.data || this.setData(r.data, !1), st(this, "afterInit");
3012
3012
  }
3013
3013
  is(t) {
3014
3014
  return ze[t] && this instanceof ze[t];
3015
3015
  }
3016
3016
  bindAxes() {
3017
3017
  let t, e = this, i = e.options, s = e.chart;
3018
- it(this, "bindAxes", null, function() {
3018
+ st(this, "bindAxes", null, function() {
3019
3019
  (e.axisTypes || []).forEach(function(r) {
3020
3020
  (s[r] || []).forEach(function(o) {
3021
- t = o.options, (st(i[r], 0) === o.index || i[r] !== void 0 && i[r] === t.id) && (sa(e, o.series), e[r] = o, o.isDirty = !0);
3021
+ t = o.options, (rt(i[r], 0) === o.index || i[r] !== void 0 && i[r] === t.id) && (sa(e, o.series), e[r] = o, o.isDirty = !0);
3022
3022
  }), e[r] || e.optionalAxis === r || Vi(18, !0, s);
3023
3023
  });
3024
- }), it(this, "afterBindAxes");
3024
+ }), st(this, "afterBindAxes");
3025
3025
  }
3026
3026
  hasData() {
3027
3027
  return this.visible && this.dataMax !== void 0 && this.dataMin !== void 0 || this.visible && this.dataTable.rowCount > 0;
@@ -3032,7 +3032,7 @@ function Ip() {
3032
3032
  }
3033
3033
  autoIncrement(t) {
3034
3034
  let e, i = this.options, { pointIntervalUnit: s, relativeXValue: r } = this.options, o = this.chart.time, a = this.xIncrement ?? o.parse(i.pointStart) ?? 0;
3035
- if (this.pointInterval = e = st(this.pointInterval, i.pointInterval, 1), r && ut(t) && (e *= t), s) {
3035
+ if (this.pointInterval = e = rt(this.pointInterval, i.pointInterval, 1), r && ut(t) && (e *= t), s) {
3036
3036
  let n = o.toParts(a);
3037
3037
  s === "day" ? n[2] += e : s === "month" ? n[1] += e : s === "year" && (n[0] += e), e = o.makeTime.apply(o, n) - a;
3038
3038
  }
@@ -3044,20 +3044,20 @@ function Ip() {
3044
3044
  }
3045
3045
  setOptions(t) {
3046
3046
  let e, i = this.chart, s = i.options.plotOptions, r = i.userOptions || {}, o = oi(t), a = i.styledMode, n = { plotOptions: s, userOptions: o };
3047
- it(this, "setOptions", n);
3047
+ st(this, "setOptions", n);
3048
3048
  let h = n.plotOptions[this.type], c = r.plotOptions || {}, d = c.series || {}, p = Ui.plotOptions[this.type] || {}, u = c[this.type] || {};
3049
3049
  h.dataLabels = this.mergeArrays(p.dataLabels, h.dataLabels), this.userOptions = n.userOptions;
3050
3050
  let g = oi(h, s.series, u, o);
3051
- this.tooltipOptions = oi(Ui.tooltip, Ui.plotOptions.series?.tooltip, p?.tooltip, i.userOptions.tooltip, c.series?.tooltip, u.tooltip, o.tooltip), this.stickyTracking = st(o.stickyTracking, u.stickyTracking, d.stickyTracking, !!this.tooltipOptions.shared && !this.noSharedTooltip || g.stickyTracking), h.marker === null && delete g.marker, this.zoneAxis = g.zoneAxis || "y";
3051
+ this.tooltipOptions = oi(Ui.tooltip, Ui.plotOptions.series?.tooltip, p?.tooltip, i.userOptions.tooltip, c.series?.tooltip, u.tooltip, o.tooltip), this.stickyTracking = rt(o.stickyTracking, u.stickyTracking, d.stickyTracking, !!this.tooltipOptions.shared && !this.noSharedTooltip || g.stickyTracking), h.marker === null && delete g.marker, this.zoneAxis = g.zoneAxis || "y";
3052
3052
  let x = this.zones = (g.zones || []).map((m) => ({ ...m }));
3053
- return (g.negativeColor || g.negativeFillColor) && !g.zones && (e = { value: g[this.zoneAxis + "Threshold"] || g.threshold || 0, className: "highcharts-negative" }, a || (e.color = g.negativeColor, e.fillColor = g.negativeFillColor), x.push(e)), x.length && ht(x[x.length - 1].value) && x.push(a ? {} : { color: this.color, fillColor: this.fillColor }), it(this, "afterSetOptions", { options: g }), g;
3053
+ return (g.negativeColor || g.negativeFillColor) && !g.zones && (e = { value: g[this.zoneAxis + "Threshold"] || g.threshold || 0, className: "highcharts-negative" }, a || (e.color = g.negativeColor, e.fillColor = g.negativeFillColor), x.push(e)), x.length && ht(x[x.length - 1].value) && x.push(a ? {} : { color: this.color, fillColor: this.fillColor }), st(this, "afterSetOptions", { options: g }), g;
3054
3054
  }
3055
3055
  getName() {
3056
3056
  return this.options.name ?? ud(this.chart.options.lang.seriesName, this, this.chart);
3057
3057
  }
3058
3058
  getCyclic(t, e, i) {
3059
3059
  let s, r, o = this.chart, a = `${t}Index`, n = `${t}Counter`, h = i?.length || o.options.chart.colorCount;
3060
- !e && (ht(r = st(t === "color" ? this.options.colorIndex : void 0, this[a])) ? s = r : (o.series.length || (o[n] = 0), s = o[n] % h, o[n] += 1), i && (e = i[s])), s !== void 0 && (this[a] = s), this[t] = e;
3060
+ !e && (ht(r = rt(t === "color" ? this.options.colorIndex : void 0, this[a])) ? s = r : (o.series.length || (o[n] = 0), s = o[n] % h, o[n] += 1), i && (e = i[s])), s !== void 0 && (this[a] = s), this[t] = e;
3061
3061
  }
3062
3062
  getColor() {
3063
3063
  this.chart.styledMode ? this.getCyclic("color") : this.options.colorByPoint ? this.color = "#cccccc" : this.getCyclic("color", this.options.color || Ui.plotOptions[this.type].color, this.chart.options.colors);
@@ -3105,27 +3105,27 @@ function Ip() {
3105
3105
  return ["x", ...this.pointArrayMap || ["y"]];
3106
3106
  }
3107
3107
  setData(t, e = !0, i, s) {
3108
- let r = this.points, o = r?.length || 0, a = this.options, n = this.chart, h = a.dataSorting, c = this.xAxis, d = a.turboThreshold, p = this.dataTable, u = this.dataColumnKeys(), g = this.pointValKey || "y", x = (this.pointArrayMap || []).length, m = a.keys, f, y, b = 0, v = 1, w;
3109
- n.options.chart.allowMutatingData || (a.data && delete this.options.data, this.userOptions.data && delete this.userOptions.data, w = oi(!0, t));
3110
- let k = (t = w || t || []).length;
3111
- if (h?.enabled && (t = this.sortData(t)), n.options.chart.allowMutatingData && s !== !1 && k && o && !this.cropped && !this.hasGroupedData && this.visible && !this.boosted && (y = this.updateData(t, i)), !y) {
3108
+ let r = this.points, o = r?.length || 0, a = this.options, n = this.chart, h = a.dataSorting, c = this.xAxis, d = a.turboThreshold, p = this.dataTable, u = this.dataColumnKeys(), g = this.pointValKey || "y", x = (this.pointArrayMap || []).length, m = a.keys, f, y, b = 0, v = 1, k;
3109
+ n.options.chart.allowMutatingData || (a.data && delete this.options.data, this.userOptions.data && delete this.userOptions.data, k = oi(!0, t));
3110
+ let M = (t = k || t || []).length;
3111
+ if (h?.enabled && (t = this.sortData(t)), n.options.chart.allowMutatingData && s !== !1 && M && o && !this.cropped && !this.hasGroupedData && this.visible && !this.boosted && (y = this.updateData(t, i)), !y) {
3112
3112
  this.xIncrement = null, this.colorCounter = 0;
3113
- let S = d && !a.relativeXValue && k > d;
3113
+ let S = d && !a.relativeXValue && M > d;
3114
3114
  if (S) {
3115
- let M = this.getFirstValidPoint(t), A = this.getFirstValidPoint(t, k - 1, -1), P = (T) => !!(ra(T) && (m || ut(T[0])));
3116
- if (ut(M) && ut(A)) {
3115
+ let w = this.getFirstValidPoint(t), A = this.getFirstValidPoint(t, M - 1, -1), P = (T) => !!(ra(T) && (m || ut(T[0])));
3116
+ if (ut(w) && ut(A)) {
3117
3117
  let T = [], L = [];
3118
3118
  for (let I of t) T.push(this.autoIncrement()), L.push(I);
3119
3119
  p.setColumns({ x: T, [g]: L });
3120
- } else if (P(M) && P(A)) if (x) {
3121
- let T = +(M.length === x), L = Array(u.length).fill(0).map(() => []);
3120
+ } else if (P(w) && P(A)) if (x) {
3121
+ let T = +(w.length === x), L = Array(u.length).fill(0).map(() => []);
3122
3122
  for (let I of t) {
3123
3123
  T && L[0].push(this.autoIncrement());
3124
3124
  for (let D = T; D <= x; D++) L[D]?.push(I[D - T]);
3125
3125
  }
3126
3126
  p.setColumns(u.reduce((I, D, O) => (I[D] = L[O], I), {}));
3127
3127
  } else {
3128
- m && (b = m.indexOf("x"), v = m.indexOf("y"), b = b >= 0 ? b : 0, v = v >= 0 ? v : 1), M.length === 1 && (v = 0);
3128
+ m && (b = m.indexOf("x"), v = m.indexOf("y"), b = b >= 0 ? b : 0, v = v >= 0 ? v : 1), w.length === 1 && (v = 0);
3129
3129
  let T = [], L = [];
3130
3130
  if (b === v) for (let I of t) T.push(this.autoIncrement()), L.push(I[v]);
3131
3131
  else for (let I of t) T.push(I[b]), L.push(I[v]);
@@ -3134,12 +3134,12 @@ function Ip() {
3134
3134
  else S = !1;
3135
3135
  }
3136
3136
  if (!S) {
3137
- let M = u.reduce((A, P) => (A[P] = [], A), {});
3138
- for (f = 0; f < k; f++) {
3137
+ let w = u.reduce((A, P) => (A[P] = [], A), {});
3138
+ for (f = 0; f < M; f++) {
3139
3139
  let A = this.pointClass.prototype.applyOptions.apply({ series: this }, [t[f]]);
3140
- for (let P of u) M[P][f] = A[P];
3140
+ for (let P of u) w[P][f] = A[P];
3141
3141
  }
3142
- p.setColumns(M);
3142
+ p.setColumns(w);
3143
3143
  }
3144
3144
  for (bd(this.getColumn("y")[0]) && Vi(14, !0, n), this.data = [], this.options.data = this.userOptions.data = t, f = o; f--; ) r[f]?.destroy();
3145
3145
  c && (c.minRange = c.userMinRange), this.isDirty = n.isDirtyBox = !0, this.isDirtyData = !!r, i = !1;
@@ -3172,7 +3172,7 @@ function Ip() {
3172
3172
  let e = this.xAxis, i = this.dataTable;
3173
3173
  if (this.isCartesian && !this.isDirty && !e.isDirty && !this.yAxis.isDirty && !t) return !1;
3174
3174
  let s = this.getProcessedData();
3175
- i.modified = s.modified, this.cropped = s.cropped, this.cropStart = s.cropStart, this.closestPointRange = this.basePointRange = s.closestPointRange, it(this, "afterProcessData");
3175
+ i.modified = s.modified, this.cropped = s.cropped, this.cropStart = s.cropStart, this.closestPointRange = this.basePointRange = s.closestPointRange, st(this, "afterProcessData");
3176
3176
  }
3177
3177
  cropData(t, e, i) {
3178
3178
  let s = t.getColumn("x", !0) || [], r = s.length, o = {}, a, n, h = 0, c = r;
@@ -3193,24 +3193,24 @@ function Ip() {
3193
3193
  generatePoints() {
3194
3194
  let t = this.options, e = this.processedData || t.data, i = this.dataTable.modified, s = this.getColumn("x", !0), r = this.pointClass, o = i.rowCount, a = this.cropStart || 0, n = this.hasGroupedData, h = t.keys, c = [], d = t.dataGrouping?.groupAll ? a : 0, p = this.xAxis?.categories, u = this.pointArrayMap || ["y"], g = this.dataColumnKeys(), x, m, f, y, b = this.data, v;
3195
3195
  if (!b && !n) {
3196
- let w = [];
3197
- w.length = e?.length || 0, b = this.data = w;
3196
+ let k = [];
3197
+ k.length = e?.length || 0, b = this.data = k;
3198
3198
  }
3199
3199
  for (h && n && (this.options.keys = !1), y = 0; y < o; y++) m = a + y, n ? ((f = new r(this, i.getRow(y, g) || [])).dataGroup = this.groupMap[d + y], f.dataGroup?.options && (f.options = f.dataGroup.options, Re(f, f.dataGroup.options), delete f.dataLabels)) : (f = b[m], v = e ? e[m] : i.getRow(y, u), f || v === void 0 || (b[m] = f = new r(this, v, s[y]))), f && (f.index = n ? d + y : m, c[y] = f, f.category = p?.[f.x] ?? f.x, f.key = f.name ?? f.category);
3200
3200
  if (this.options.keys = h, b && (o !== (x = b.length) || n)) for (y = 0; y < x; y++) y !== a || n || (y += o), b[y] && (b[y].destroyElements(), b[y].plotX = void 0);
3201
- this.data = b, this.points = c, it(this, "afterGeneratePoints");
3201
+ this.data = b, this.points = c, st(this, "afterGeneratePoints");
3202
3202
  }
3203
3203
  getXExtremes(t) {
3204
3204
  return { min: Jo(t), max: Ks(t) };
3205
3205
  }
3206
3206
  getExtremes(t, e) {
3207
- let { xAxis: i, yAxis: s } = this, r = e || this.getExtremesFromAll || this.options.getExtremesFromAll, o = r && this.cropped ? this.dataTable : this.dataTable.modified, a = o.rowCount, n = t || this.stackedYData, h = n ? [n] : (this.keysAffectYAxis || this.pointArrayMap || ["y"])?.map((w) => o.getColumn(w, !0) || []) || [], c = this.getColumn("x", !0), d = [], p = this.requireSorting && !this.is("column") ? 1 : 0, u = !!s && s.positiveValuesOnly, g = r || this.cropped || !i, x, m, f, y = 0, b = 0;
3208
- for (i && (y = (x = i.getExtremes()).min, b = x.max), f = 0; f < a; f++) if (m = c[f], g || (c[f + p] || m) >= y && (c[f - p] || m) <= b) for (let w of h) {
3209
- let k = w[f];
3210
- ut(k) && (k > 0 || !u) && d.push(k);
3207
+ let { xAxis: i, yAxis: s } = this, r = e || this.getExtremesFromAll || this.options.getExtremesFromAll, o = r && this.cropped ? this.dataTable : this.dataTable.modified, a = o.rowCount, n = t || this.stackedYData, h = n ? [n] : (this.keysAffectYAxis || this.pointArrayMap || ["y"])?.map((k) => o.getColumn(k, !0) || []) || [], c = this.getColumn("x", !0), d = [], p = this.requireSorting && !this.is("column") ? 1 : 0, u = !!s && s.positiveValuesOnly, g = r || this.cropped || !i, x, m, f, y = 0, b = 0;
3208
+ for (i && (y = (x = i.getExtremes()).min, b = x.max), f = 0; f < a; f++) if (m = c[f], g || (c[f + p] || m) >= y && (c[f - p] || m) <= b) for (let k of h) {
3209
+ let M = k[f];
3210
+ ut(M) && (M > 0 || !u) && d.push(M);
3211
3211
  }
3212
3212
  let v = { activeYData: d, dataMin: Jo(d), dataMax: Ks(d) };
3213
- return it(this, "afterGetExtremes", { dataExtremes: v }), v;
3213
+ return st(this, "afterGetExtremes", { dataExtremes: v }), v;
3214
3214
  }
3215
3215
  applyExtremes() {
3216
3216
  let t = this.getExtremes();
@@ -3230,10 +3230,10 @@ function Ip() {
3230
3230
  return Qo(b, -1e9, 1e9);
3231
3231
  }
3232
3232
  for (u = 0; u < a; u++) {
3233
- let b, v = o[u], w = v.x, k, S, M = v.y, A = v.low, P = e && r.stacking?.stacks[(this.negStacks && M < (d ? 0 : c) ? "-" : "") + this.stackKey];
3234
- v.plotX = ut(g = i.translate(w, !1, !1, !1, !0, n)) ? ta(y(g)) : void 0, e && this.visible && P && P[w] && (m = this.getStackIndicator(m, w, this.index), !v.isNull && m.key && (S = (k = P[w]).points[m.key]), k && ra(S) && (A = S[0], M = S[1], A === d && m.key === P[w].base && (A = st(ut(c) ? c : r.min)), r.positiveValuesOnly && ht(A) && A <= 0 && (A = void 0), v.total = v.stackTotal = st(k.total), v.percentage = ht(v.y) && k.total ? v.y / k.total * 100 : void 0, v.stackY = M, this.irregularWidths || k.setOffset(this.pointXOffset || 0, this.barW || 0, void 0, void 0, void 0, this.xAxis))), v.yBottom = ht(A) ? y(r.translate(A, !1, !0, !1, !0)) : void 0, this.dataModify && (M = this.dataModify.modifyValue(M, u)), ut(M) && v.plotX !== void 0 ? b = ut(b = r.translate(M, !1, !0, !1, !0)) ? y(b) : void 0 : !ut(M) && p && (b = p), v.plotY = b, v.isInside = this.isPointInside(v), v.clientX = h ? ta(i.translate(w, !1, !1, !1, !0, n)) : g, v.negative = (v.y || 0) < (c || 0), v.isNull || v.visible === !1 || (x !== void 0 && (f = Math.min(f, Math.abs(g - x))), x = g), v.zone = this.zones.length ? v.getZone() : void 0, !v.graphic && this.group && s && (v.isNew = !0);
3233
+ let b, v = o[u], k = v.x, M, S, w = v.y, A = v.low, P = e && r.stacking?.stacks[(this.negStacks && w < (d ? 0 : c) ? "-" : "") + this.stackKey];
3234
+ v.plotX = ut(g = i.translate(k, !1, !1, !1, !0, n)) ? ta(y(g)) : void 0, e && this.visible && P && P[k] && (m = this.getStackIndicator(m, k, this.index), !v.isNull && m.key && (S = (M = P[k]).points[m.key]), M && ra(S) && (A = S[0], w = S[1], A === d && m.key === P[k].base && (A = rt(ut(c) ? c : r.min)), r.positiveValuesOnly && ht(A) && A <= 0 && (A = void 0), v.total = v.stackTotal = rt(M.total), v.percentage = ht(v.y) && M.total ? v.y / M.total * 100 : void 0, v.stackY = w, this.irregularWidths || M.setOffset(this.pointXOffset || 0, this.barW || 0, void 0, void 0, void 0, this.xAxis))), v.yBottom = ht(A) ? y(r.translate(A, !1, !0, !1, !0)) : void 0, this.dataModify && (w = this.dataModify.modifyValue(w, u)), ut(w) && v.plotX !== void 0 ? b = ut(b = r.translate(w, !1, !0, !1, !0)) ? y(b) : void 0 : !ut(w) && p && (b = p), v.plotY = b, v.isInside = this.isPointInside(v), v.clientX = h ? ta(i.translate(k, !1, !1, !1, !0, n)) : g, v.negative = (v.y || 0) < (c || 0), v.isNull || v.visible === !1 || (x !== void 0 && (f = Math.min(f, Math.abs(g - x))), x = g), v.zone = this.zones.length ? v.getZone() : void 0, !v.graphic && this.group && s && (v.isNew = !0);
3235
3235
  }
3236
- this.closestPointRangePx = f, it(this, "afterTranslate");
3236
+ this.closestPointRangePx = f, st(this, "afterTranslate");
3237
3237
  }
3238
3238
  getValidPoints(t, e, i) {
3239
3239
  let s = this.chart;
@@ -3270,38 +3270,38 @@ function Ip() {
3270
3270
  afterAnimate() {
3271
3271
  this.setClip(), _s(this.chart.sharedClips, (t, e, i) => {
3272
3272
  t && !this.chart.container.querySelector(`[clip-path="url(#${t.id})"]`) && (t.destroy(), delete i[e]);
3273
- }), this.finishedAnimating = !0, it(this, "afterAnimate");
3273
+ }), this.finishedAnimating = !0, st(this, "afterAnimate");
3274
3274
  }
3275
3275
  drawPoints(t = this.points) {
3276
- let e, i, s, r, o, a, n, h = this.chart, c = h.styledMode, { colorAxis: d, options: p } = this, u = p.marker, g = p.nullInteraction, x = this[this.specialGroup || "markerGroup"], m = this.xAxis, f = st(u.enabled, !m || !!m.isRadial || null, this.closestPointRangePx >= u.enabledThreshold * u.radius);
3276
+ let e, i, s, r, o, a, n, h = this.chart, c = h.styledMode, { colorAxis: d, options: p } = this, u = p.marker, g = p.nullInteraction, x = this[this.specialGroup || "markerGroup"], m = this.xAxis, f = rt(u.enabled, !m || !!m.isRadial || null, this.closestPointRangePx >= u.enabledThreshold * u.radius);
3277
3277
  if (u.enabled !== !1 || this._hasPointMarkers) for (e = 0; e < t.length; e++) {
3278
3278
  r = (s = (i = t[e]).graphic) ? "animate" : "attr", o = i.marker || {}, a = !!i.marker;
3279
3279
  let y = i.isNull;
3280
3280
  if ((f && !ht(o.enabled) || o.enabled) && (!y || g) && i.visible !== !1) {
3281
- let b = st(o.symbol, this.symbol, "rect");
3281
+ let b = rt(o.symbol, this.symbol, "rect");
3282
3282
  n = this.markerAttribs(i, i.selected && "select"), this.enabledDataSorting && (i.startXPos = m.reversed ? -(n.width || 0) : m.width);
3283
3283
  let v = i.isInside !== !1;
3284
3284
  if (!s && v && ((n.width || 0) > 0 || i.hasImage) && (i.graphic = s = h.renderer.symbol(b, n.x, n.y, n.width, n.height, a ? o : u).add(x), this.enabledDataSorting && h.hasRendered && (s.attr({ x: i.startXPos }), r = "animate")), s && r === "animate" && s[v ? "show" : "hide"](v).animate(n), s) {
3285
- let w = this.pointAttribs(i, c || !i.selected ? void 0 : "select");
3286
- c ? d && s.css({ fill: w.fill }) : s[r](w);
3285
+ let k = this.pointAttribs(i, c || !i.selected ? void 0 : "select");
3286
+ c ? d && s.css({ fill: k.fill }) : s[r](k);
3287
3287
  }
3288
3288
  s && s.addClass(i.getClassName(), !0);
3289
3289
  } else s && (i.graphic = s.destroy());
3290
3290
  }
3291
3291
  }
3292
3292
  markerAttribs(t, e) {
3293
- let i = this.options, s = i.marker, r = t.marker || {}, o = r.symbol || s.symbol, a = {}, n, h, c = st(r.radius, s?.radius);
3294
- e && (n = s.states[e], h = r.states && r.states[e], c = st(h?.radius, n?.radius, c && c + (n?.radiusPlus || 0))), t.hasImage = o && o.indexOf("url") === 0, t.hasImage && (c = 0);
3293
+ let i = this.options, s = i.marker, r = t.marker || {}, o = r.symbol || s.symbol, a = {}, n, h, c = rt(r.radius, s?.radius);
3294
+ e && (n = s.states[e], h = r.states && r.states[e], c = rt(h?.radius, n?.radius, c && c + (n?.radiusPlus || 0))), t.hasImage = o && o.indexOf("url") === 0, t.hasImage && (c = 0);
3295
3295
  let d = t.pos();
3296
3296
  return ut(c) && d && (i.crisp && (d[0] = gd(d[0], t.hasImage ? 0 : o === "rect" ? s?.lineWidth || 0 : 1)), a.x = d[0] - c, a.y = d[1] - c), c && (a.width = a.height = 2 * c), a;
3297
3297
  }
3298
3298
  pointAttribs(t, e) {
3299
- let i = this.options, s = i.marker, r = t?.options, o = r?.marker || {}, a = r?.color, n = t?.color, h = t?.zone?.color, c, d, p = this.color, u, g, x = st(o.lineWidth, s.lineWidth), m = t?.isNull && i.nullInteraction ? 0 : 1;
3300
- return p = a || h || n || p, u = o.fillColor || s.fillColor || p, g = o.lineColor || s.lineColor || p, e = e || "normal", c = s.states[e] || {}, x = st((d = o.states && o.states[e] || {}).lineWidth, c.lineWidth, x + st(d.lineWidthPlus, c.lineWidthPlus, 0)), u = d.fillColor || c.fillColor || u, g = d.lineColor || c.lineColor || g, { stroke: g, "stroke-width": x, fill: u, opacity: m = st(d.opacity, c.opacity, m) };
3299
+ let i = this.options, s = i.marker, r = t?.options, o = r?.marker || {}, a = r?.color, n = t?.color, h = t?.zone?.color, c, d, p = this.color, u, g, x = rt(o.lineWidth, s.lineWidth), m = t?.isNull && i.nullInteraction ? 0 : 1;
3300
+ return p = a || h || n || p, u = o.fillColor || s.fillColor || p, g = o.lineColor || s.lineColor || p, e = e || "normal", c = s.states[e] || {}, x = rt((d = o.states && o.states[e] || {}).lineWidth, c.lineWidth, x + rt(d.lineWidthPlus, c.lineWidthPlus, 0)), u = d.fillColor || c.fillColor || u, g = d.lineColor || c.lineColor || g, { stroke: g, "stroke-width": x, fill: u, opacity: m = rt(d.opacity, c.opacity, m) };
3301
3301
  }
3302
3302
  destroy(t) {
3303
3303
  let e, i, s = this, r = s.chart, o = /AppleWebKit\/533/.test(pd.navigator.userAgent), a = s.data || [];
3304
- for (it(s, "destroy", { keepEventsForUpdate: t }), this.removeEvents(t), (s.axisTypes || []).forEach(function(n) {
3304
+ for (st(s, "destroy", { keepEventsForUpdate: t }), this.removeEvents(t), (s.axisTypes || []).forEach(function(n) {
3305
3305
  i = s[n], i?.series && (ea(i.series, s), i.isDirty = i.forceRedraw = !0);
3306
3306
  }), s.legendItem && s.chart.legend.destroyItem(s), e = a.length; e--; ) a[e]?.destroy?.();
3307
3307
  for (let n of s.zones) fd(n, void 0, !0);
@@ -3314,29 +3314,29 @@ function Ip() {
3314
3314
  applyZones() {
3315
3315
  let { area: t, chart: e, graph: i, zones: s, points: r, xAxis: o, yAxis: a, zoneAxis: n } = this, { inverted: h, renderer: c } = e, d = this[`${n}Axis`], { isXAxis: p, len: u = 0, minPointOffset: g = 0 } = d || {}, x = (i?.strokeWidth() || 0) / 2 + 1, m = (f, y = 0, b = 0) => {
3316
3316
  h && (b = u - b);
3317
- let { translated: v = 0, lineClip: w } = f, k = b - v;
3318
- w?.push(["L", y, Math.abs(k) < x ? b - x * (k <= 0 ? -1 : 1) : v]);
3317
+ let { translated: v = 0, lineClip: k } = f, M = b - v;
3318
+ k?.push(["L", y, Math.abs(M) < x ? b - x * (M <= 0 ? -1 : 1) : v]);
3319
3319
  };
3320
3320
  if (s.length && (i || t) && d && ut(d.min)) {
3321
- let f = d.getExtremes().max + g, y = (w) => {
3322
- w.forEach((k, S) => {
3323
- (k[0] === "M" || k[0] === "L") && (w[S] = [k[0], p ? u - k[1] : k[1], p ? k[2] : u - k[2]]);
3321
+ let f = d.getExtremes().max + g, y = (k) => {
3322
+ k.forEach((M, S) => {
3323
+ (M[0] === "M" || M[0] === "L") && (k[S] = [M[0], p ? u - M[1] : M[1], p ? M[2] : u - M[2]]);
3324
3324
  });
3325
3325
  };
3326
- if (s.forEach((w) => {
3327
- w.lineClip = [], w.translated = Qo(d.toPixels(st(w.value, f), !0) || 0, 0, u);
3328
- }), i && !this.showLine && i.hide(), t && t.hide(), n === "y" && r.length < o.len) for (let w of r) {
3329
- let { plotX: k, plotY: S, zone: M } = w, A = M && s[s.indexOf(M) - 1];
3330
- M && m(M, k, S), A && m(A, k, S);
3326
+ if (s.forEach((k) => {
3327
+ k.lineClip = [], k.translated = Qo(d.toPixels(rt(k.value, f), !0) || 0, 0, u);
3328
+ }), i && !this.showLine && i.hide(), t && t.hide(), n === "y" && r.length < o.len) for (let k of r) {
3329
+ let { plotX: M, plotY: S, zone: w } = k, A = w && s[s.indexOf(w) - 1];
3330
+ w && m(w, M, S), A && m(A, M, S);
3331
3331
  }
3332
3332
  let b = [], v = d.toPixels(d.getExtremes().min - g, !0);
3333
- s.forEach((w) => {
3334
- let k = w.lineClip || [], S = Math.round(w.translated || 0);
3335
- o.reversed && k.reverse();
3336
- let { clip: M, simpleClip: A } = w, P = 0, T = 0, L = o.len, I = a.len;
3333
+ s.forEach((k) => {
3334
+ let M = k.lineClip || [], S = Math.round(k.translated || 0);
3335
+ o.reversed && M.reverse();
3336
+ let { clip: w, simpleClip: A } = k, P = 0, T = 0, L = o.len, I = a.len;
3337
3337
  p ? (P = S, L = v) : (T = S, I = v);
3338
- let D = [["M", P, T], ["L", L, T], ["L", L, I], ["L", P, I], ["Z"]], O = [D[0], ...k, D[1], D[2], ...b, D[3], D[4]];
3339
- b = k.reverse(), v = S, h && (y(O), t && y(D)), M ? (M.animate({ d: O }), A?.animate({ d: D })) : (M = w.clip = c.path(O), t && (A = w.simpleClip = c.path(D))), i && w.graph?.clip(M), t && w.area?.clip(A);
3338
+ let D = [["M", P, T], ["L", L, T], ["L", L, I], ["L", P, I], ["Z"]], O = [D[0], ...M, D[1], D[2], ...b, D[3], D[4]];
3339
+ b = M.reverse(), v = S, h && (y(O), t && y(D)), w ? (w.animate({ d: O }), A?.animate({ d: D })) : (w = k.clip = c.path(O), t && (A = k.simpleClip = c.path(D))), i && k.graph?.clip(w), t && k.area?.clip(A);
3340
3340
  });
3341
3341
  } else this.visible && (i && i.show(), t && t.show());
3342
3342
  }
@@ -3348,7 +3348,7 @@ function Ip() {
3348
3348
  let e = this.xAxis, i = this.yAxis, s = this.chart, r = s.inverted && !s.polar && e && this.invertible && t === "series";
3349
3349
  s.inverted && (e = i, i = this.xAxis);
3350
3350
  let o = { scale: 1, translateX: e ? e.left : s.plotLeft, translateY: i ? i.top : s.plotTop, name: t };
3351
- it(this, "getPlotBox", o);
3351
+ st(this, "getPlotBox", o);
3352
3352
  let { scale: a, translateX: n, translateY: h } = o;
3353
3353
  return { translateX: n, translateY: h, rotation: 90 * !!r, rotationOriginX: r ? a * (e.len - i.len) / 2 : 0, rotationOriginY: r ? a * (e.len + i.len) / 2 : 0, scaleX: r ? -a : a, scaleY: a };
3354
3354
  }
@@ -3360,9 +3360,9 @@ function Ip() {
3360
3360
  }
3361
3361
  render() {
3362
3362
  let t = this, { chart: e, options: i, hasRendered: s } = t, r = _o(i.animation), o = t.visible ? "inherit" : "hidden", a = i.zIndex, n = e.seriesGroup, h = t.finishedAnimating ? 0 : r.duration;
3363
- it(this, "render"), t.plotGroup("group", "series", o, a, n), t.markerGroup = t.plotGroup("markerGroup", "markers", o, a, n), i.clip !== !1 && t.setClip(), h && t.animate?.(!0), t.drawGraph && (t.drawGraph(), t.applyZones()), t.visible && t.drawPoints(), t.drawDataLabels?.(), t.redrawPoints?.(), i.enableMouseTracking && t.drawTracker?.(), h && t.animate?.(), s || (h && r.defer && (h += r.defer), t.animationTimeout = oa(() => {
3363
+ st(this, "render"), t.plotGroup("group", "series", o, a, n), t.markerGroup = t.plotGroup("markerGroup", "markers", o, a, n), i.clip !== !1 && t.setClip(), h && t.animate?.(!0), t.drawGraph && (t.drawGraph(), t.applyZones()), t.visible && t.drawPoints(), t.drawDataLabels?.(), t.redrawPoints?.(), i.enableMouseTracking && t.drawTracker?.(), h && t.animate?.(), s || (h && r.defer && (h += r.defer), t.animationTimeout = oa(() => {
3364
3364
  t.afterAnimate();
3365
- }, h || 0)), t.isDirty = !1, t.hasRendered = !0, it(t, "afterRender");
3365
+ }, h || 0)), t.isDirty = !1, t.hasRendered = !0, st(t, "afterRender");
3366
3366
  }
3367
3367
  redraw() {
3368
3368
  let t = this.isDirty || this.isDirtyData;
@@ -3391,13 +3391,13 @@ function Ip() {
3391
3391
  return [f === y && g.index > x.index || f < y ? g : x, !1];
3392
3392
  }), u = r || ((g, x) => g < x);
3393
3393
  if (this.kdTree || this.buildingKdTree || this.buildKDTree(i), this.kdTree) return (function g(x, m, f, y) {
3394
- let b = m.point, v = o.kdAxisArray[f % y], w = b, k = !1;
3394
+ let b = m.point, v = o.kdAxisArray[f % y], k = b, M = !1;
3395
3395
  (function(P, T) {
3396
- let L = P[a], I = T[a], D = ht(L) && ht(I) ? L - I : null, O = P[n], E = T[n], N = ht(O) && ht(E) ? O - E : 0, rt = d && T.marker?.radius || 0;
3397
- T.dist = Math.sqrt((D && D * D || 0) + N * N) - rt, T.distX = ht(D) ? Math.abs(D) - rt : Number.MAX_VALUE;
3396
+ let L = P[a], I = T[a], D = ht(L) && ht(I) ? L - I : null, O = P[n], E = T[n], N = ht(O) && ht(E) ? O - E : 0, _ = d && T.marker?.radius || 0;
3397
+ T.dist = Math.sqrt((D && D * D || 0) + N * N) - _, T.distX = ht(D) ? Math.abs(D) - _ : Number.MAX_VALUE;
3398
3398
  })(x, b);
3399
- let S = (x[v] || 0) - (b[v] || 0) + (d && b.marker?.radius || 0), M = S < 0 ? "left" : "right", A = S < 0 ? "right" : "left";
3400
- return m[M] && ([w, k] = p(b, g(x, m[M], f + 1, y), h)), m[A] && u(Math.sqrt(S * S), w[h], k) && (w = p(w, g(x, m[A], f + 1, y), h)[0]), w;
3399
+ let S = (x[v] || 0) - (b[v] || 0) + (d && b.marker?.radius || 0), w = S < 0 ? "left" : "right", A = S < 0 ? "right" : "left";
3400
+ return m[w] && ([k, M] = p(b, g(x, m[w], f + 1, y), h)), m[A] && u(Math.sqrt(S * S), k[h], M) && (k = p(k, g(x, m[A], f + 1, y), h)[0]), k;
3401
3401
  })(t, this.kdTree, c, c);
3402
3402
  }
3403
3403
  pointPlacementToXValue() {
@@ -3416,18 +3416,18 @@ function Ip() {
3416
3416
  p && (p.addClass("highcharts-tracker").on("mouseover", h).on("mouseout", (u) => {
3417
3417
  o?.onTrackerMouseOut(u);
3418
3418
  }), e.cursor && !r.styledMode && p.css({ cursor: e.cursor }), p.on("touchstart", h));
3419
- })), it(this, "afterDrawTracker");
3419
+ })), st(this, "afterDrawTracker");
3420
3420
  }
3421
3421
  addPoint(t, e, i, s, r) {
3422
3422
  let o, a, n = this.options, { chart: h, data: c, dataTable: d, xAxis: p } = this, u = p?.hasNames && p.names, g = n.data, x = this.getColumn("x");
3423
- e = st(e, !0);
3423
+ e = rt(e, !0);
3424
3424
  let m = { series: this };
3425
3425
  this.pointClass.prototype.applyOptions.apply(m, [t]);
3426
3426
  let f = m.x;
3427
3427
  if (a = x.length, this.requireSorting && f < x[a - 1]) for (o = !0; a && x[a - 1] > f; ) a--;
3428
3428
  d.setRow(m, a, !0, { addColumns: !1 }), u && m.name && (u[f] = m.name), g?.splice(a, 0, t), (o || this.processedData) && (this.data.splice(a, 0, null), this.processData()), n.legendType === "point" && this.generatePoints(), i && (c[0] && c[0].remove ? c[0].remove(!1) : ([c, g].filter(ht).forEach((y) => {
3429
3429
  y.shift();
3430
- }), d.deleteRows(0))), r !== !1 && it(this, "addPoint", { point: m }), this.isDirty = !0, this.isDirtyData = !0, e && h.redraw(s);
3430
+ }), d.deleteRows(0))), r !== !1 && st(this, "addPoint", { point: m }), this.isDirty = !0, this.isDirtyData = !0, e && h.redraw(s);
3431
3431
  }
3432
3432
  removePoint(t, e, i) {
3433
3433
  let s = this, { chart: r, data: o, points: a, dataTable: n } = s, h = o[t], c = function() {
@@ -3435,19 +3435,19 @@ function Ip() {
3435
3435
  d.splice(t, 1);
3436
3436
  }), n.deleteRows(t), h?.destroy(), s.isDirty = !0, s.isDirtyData = !0, e && r.redraw();
3437
3437
  };
3438
- hd(i, r), e = st(e, !0), h ? h.firePointEvent("remove", null, c) : c();
3438
+ hd(i, r), e = rt(e, !0), h ? h.firePointEvent("remove", null, c) : c();
3439
3439
  }
3440
3440
  remove(t, e, i, s) {
3441
3441
  let r = this, o = r.chart;
3442
3442
  function a() {
3443
- r.destroy(s), o.isDirtyLegend = o.isDirtyBox = !0, o.linkSeries(s), st(t, !0) && o.redraw(e);
3443
+ r.destroy(s), o.isDirtyLegend = o.isDirtyBox = !0, o.linkSeries(s), rt(t, !0) && o.redraw(e);
3444
3444
  }
3445
- i !== !1 ? it(r, "remove", null, a) : a();
3445
+ i !== !1 ? st(r, "remove", null, a) : a();
3446
3446
  }
3447
3447
  update(t, e) {
3448
- it(this, "update", { options: t = md(t, this.userOptions) });
3449
- let i = this, s = i.chart, r = i.userOptions, o = i.initialType || i.type, a = s.options.plotOptions, n = ze[o].prototype, h = i.finishedAnimating && { animation: !1 }, c = {}, d, p, u = Dt.keepProps.slice(), g = t.type || r.type || s.options.chart.type, x = !(this.hasDerivedData || g && g !== this.type || t.keys !== void 0 || t.pointStart !== void 0 || t.pointInterval !== void 0 || t.relativeXValue !== void 0 || t.joinBy || t.mapData || ["dataGrouping", "pointStart", "pointInterval", "pointIntervalUnit", "keys"].some((f) => i.hasOptionChanged(f)));
3450
- g = g || o, x ? (u.push.apply(u, Dt.keepPropsForPoints), t.visible !== !1 && u.push("area", "graph"), i.parallelArrays.forEach(function(f) {
3448
+ st(this, "update", { options: t = md(t, this.userOptions) });
3449
+ let i = this, s = i.chart, r = i.userOptions, o = i.initialType || i.type, a = s.options.plotOptions, n = ze[o].prototype, h = i.finishedAnimating && { animation: !1 }, c = {}, d, p, u = It.keepProps.slice(), g = t.type || r.type || s.options.chart.type, x = !(this.hasDerivedData || g && g !== this.type || t.keys !== void 0 || t.pointStart !== void 0 || t.pointInterval !== void 0 || t.relativeXValue !== void 0 || t.joinBy || t.mapData || ["dataGrouping", "pointStart", "pointInterval", "pointIntervalUnit", "keys"].some((f) => i.hasOptionChanged(f)));
3450
+ g = g || o, x ? (u.push.apply(u, It.keepPropsForPoints), t.visible !== !1 && u.push("area", "graph"), i.parallelArrays.forEach(function(f) {
3451
3451
  u.push(f + "Data");
3452
3452
  }), t.data && (t.dataSorting && Re(i.options.dataSorting, t.dataSorting), this.setData(t.data, !1))) : this.dataTable.modified = this.dataTable, t = oi(r, { index: r.index === void 0 ? i.index : r.index, pointStart: a?.series?.pointStart ?? r.pointStart ?? i.getColumn("x")[0] }, !x && { data: i.options.data }, t, h), x && t.data && (t.data = i.options.data), (u = ["group", "markerGroup", "dataLabelsGroup", "transformGroup"].concat(u)).forEach(function(f) {
3453
3453
  u[f] = i[f], delete i[f];
@@ -3464,32 +3464,32 @@ function Ip() {
3464
3464
  if (u.forEach(function(f) {
3465
3465
  i[f] = u[f];
3466
3466
  }), i.init(s, t), x && this.points) for (let f of ((d = i.options).visible === !1 ? (c.graphic = 1, c.dataLabel = 1) : (this.hasMarkerChanged(d, r) && (c.graphic = 1), i.hasDataLabels?.() || (c.dataLabel = 1)), this.points)) f?.series && (f.resolveColor(), Object.keys(c).length && f.destroyElements(c), d.showInLegend === !1 && f.legendItem && s.legend.destroyItem(f));
3467
- i.initialType = o, s.linkSeries(), s.setSortedData(), m && i.linkedSeries.length && (i.isDirtyData = !0), it(this, "afterUpdate"), st(e, !0) && s.redraw(!!x && void 0);
3467
+ i.initialType = o, s.linkSeries(), s.setSortedData(), m && i.linkedSeries.length && (i.isDirtyData = !0), st(this, "afterUpdate"), rt(e, !0) && s.redraw(!!x && void 0);
3468
3468
  }
3469
3469
  setName(t) {
3470
3470
  this.name = this.options.name = this.userOptions.name = t, this.chart.isDirtyLegend = !0;
3471
3471
  }
3472
3472
  hasOptionChanged(t) {
3473
- let e = this.chart, i = this.options[t], s = e.options.plotOptions, r = this.userOptions[t], o = st(s?.[this.type]?.[t], s?.series?.[t]);
3474
- return r && !ht(o) ? i !== r : i !== st(o, i);
3473
+ let e = this.chart, i = this.options[t], s = e.options.plotOptions, r = this.userOptions[t], o = rt(s?.[this.type]?.[t], s?.series?.[t]);
3474
+ return r && !ht(o) ? i !== r : i !== rt(o, i);
3475
3475
  }
3476
3476
  onMouseOver() {
3477
3477
  let t = this.chart, e = t.hoverSeries;
3478
- t.pointer?.setHoverChartIndex(), e && e !== this && e.onMouseOut(), this.options.events.mouseOver && it(this, "mouseOver"), this.setState("hover"), t.hoverSeries = this;
3478
+ t.pointer?.setHoverChartIndex(), e && e !== this && e.onMouseOut(), this.options.events.mouseOver && st(this, "mouseOver"), this.setState("hover"), t.hoverSeries = this;
3479
3479
  }
3480
3480
  onMouseOut() {
3481
3481
  let t = this.options, e = this.chart, i = e.tooltip, s = e.hoverPoint;
3482
- e.hoverSeries = null, s && s.onMouseOut(), this && t.events.mouseOut && it(this, "mouseOut"), i && !this.stickyTracking && (!i.shared || this.noSharedTooltip) && i.hide(), e.series.forEach(function(r) {
3482
+ e.hoverSeries = null, s && s.onMouseOut(), this && t.events.mouseOut && st(this, "mouseOut"), i && !this.stickyTracking && (!i.shared || this.noSharedTooltip) && i.hide(), e.series.forEach(function(r) {
3483
3483
  r.setState("", !0);
3484
3484
  });
3485
3485
  }
3486
3486
  setState(t, e) {
3487
- let i = this, s = i.options, r = i.graph, o = s.inactiveOtherPoints, a = s.states, n = st(a[t || "normal"] && a[t || "normal"].animation, i.chart.options.chart.animation), h = s.lineWidth, c = s.opacity;
3487
+ let i = this, s = i.options, r = i.graph, o = s.inactiveOtherPoints, a = s.states, n = rt(a[t || "normal"] && a[t || "normal"].animation, i.chart.options.chart.animation), h = s.lineWidth, c = s.opacity;
3488
3488
  if (t = t || "", i.state !== t && ([i.group, i.markerGroup, i.dataLabelsGroup].forEach(function(d) {
3489
3489
  d && (i.state && d.removeClass("highcharts-series-" + i.state), t && d.addClass("highcharts-series-" + t));
3490
3490
  }), i.state = t, !i.chart.styledMode)) {
3491
3491
  if (a[t] && a[t].enabled === !1) return;
3492
- if (t && (h = a[t].lineWidth || h + (a[t].lineWidthPlus || 0), c = st(a[t].opacity, c)), r && !r.dashstyle && ut(h)) for (let d of [r, ...this.zones.map((p) => p.graph)]) d?.animate({ "stroke-width": h }, n);
3492
+ if (t && (h = a[t].lineWidth || h + (a[t].lineWidthPlus || 0), c = rt(a[t].opacity, c)), r && !r.dashstyle && ut(h)) for (let d of [r, ...this.zones.map((p) => p.graph)]) d?.animate({ "stroke-width": h }, n);
3493
3493
  o || [i.group, i.markerGroup, i.dataLabelsGroup, i.labelBySeries].forEach(function(d) {
3494
3494
  d && d.animate({ opacity: c }, n);
3495
3495
  });
@@ -3511,7 +3511,7 @@ function Ip() {
3511
3511
  n.options.stacking && n.visible && (n.isDirty = !0);
3512
3512
  }), i.linkedSeries.forEach((n) => {
3513
3513
  n.setVisible(t, !1);
3514
- }), r && (s.isDirtyBox = !0), it(i, a), e !== !1 && s.redraw();
3514
+ }), r && (s.isDirtyBox = !0), st(i, a), e !== !1 && s.redraw();
3515
3515
  }
3516
3516
  show() {
3517
3517
  this.setVisible(!0);
@@ -3520,7 +3520,7 @@ function Ip() {
3520
3520
  this.setVisible(!1);
3521
3521
  }
3522
3522
  select(t) {
3523
- this.selected = t = this.options.selected = t === void 0 ? !this.selected : t, this.checkbox && (this.checkbox.checked = t), it(this, t ? "select" : "unselect");
3523
+ this.selected = t = this.options.selected = t === void 0 ? !this.selected : t, this.checkbox && (this.checkbox.checked = t), st(this, t ? "select" : "unselect");
3524
3524
  }
3525
3525
  shouldShowTooltip(t, e, i = {}) {
3526
3526
  return i.series = this, i.visiblePlotOnly = !0, this.chart.isInsidePlot(t, e, i);
@@ -3529,11 +3529,11 @@ function Ip() {
3529
3529
  qo[this.options.legendSymbol || "rectangle"]?.call(this, t, e);
3530
3530
  }
3531
3531
  }
3532
- Dt.defaultOptions = { lineWidth: 2, allowPointSelect: !1, crisp: !0, showCheckbox: !1, animation: { duration: 1e3 }, enableMouseTracking: !0, events: {}, marker: { enabledThreshold: 2, lineColor: "#ffffff", lineWidth: 0, radius: 4, states: { normal: { animation: !0 }, hover: { animation: { duration: 150 }, enabled: !0, radiusPlus: 2, lineWidthPlus: 1 }, select: { fillColor: "#cccccc", lineColor: "#000000", lineWidth: 2 } } }, point: { events: {} }, dataLabels: { animation: {}, align: "center", borderWidth: 0, defer: !0, formatter: function() {
3532
+ It.defaultOptions = { lineWidth: 2, allowPointSelect: !1, crisp: !0, showCheckbox: !1, animation: { duration: 1e3 }, enableMouseTracking: !0, events: {}, marker: { enabledThreshold: 2, lineColor: "#ffffff", lineWidth: 0, radius: 4, states: { normal: { animation: !0 }, hover: { animation: { duration: 150 }, enabled: !0, radiusPlus: 2, lineWidthPlus: 1 }, select: { fillColor: "#cccccc", lineColor: "#000000", lineWidth: 2 } } }, point: { events: {} }, dataLabels: { animation: {}, align: "center", borderWidth: 0, defer: !0, formatter: function() {
3533
3533
  let { numberFormatter: l } = this.series.chart;
3534
3534
  return typeof this.y != "number" ? "" : l(this.y, -1);
3535
- }, padding: 5, style: { fontSize: "0.7em", fontWeight: "bold", color: "contrast", textOutline: "1px contrast" }, verticalAlign: "bottom", x: 0, y: 0 }, cropThreshold: 300, opacity: 1, pointRange: 0, softThreshold: !0, states: { normal: { animation: !0 }, hover: { animation: { duration: 150 }, lineWidthPlus: 1, marker: {}, halo: { size: 10, opacity: 0.25 } }, select: { animation: { duration: 0 } }, inactive: { animation: { duration: 150 }, opacity: 0.2 } }, stickyTracking: !0, turboThreshold: 1e3, findNearestPointBy: "x" }, Dt.types = at.seriesTypes, Dt.registerType = at.registerSeriesType, Dt.keepProps = ["colorIndex", "eventOptions", "navigatorSeries", "symbolIndex", "baseSeries"], Dt.keepPropsForPoints = ["data", "isDirtyData", "isDirtyCanvas", "points", "dataTable", "processedData", "xIncrement", "cropped", "_hasPointMarkers", "hasDataLabels", "nodes", "layout", "level", "mapMap", "mapData", "minY", "maxY", "minX", "maxX", "transformGroups"], Re(Dt.prototype, { axisTypes: ["xAxis", "yAxis"], coll: "series", colorCounter: 0, directTouch: !1, invertible: !0, isCartesian: !0, kdAxisArray: ["clientX", "plotY"], parallelArrays: ["x", "y"], pointClass: Qt, requireSorting: !0, sorted: !0 }), at.series = Dt;
3536
- let At = Dt, { animObject: kd, setAnimation: wd } = gt, { registerEventOptions: aa } = Ei, { composed: Md, marginNames: na } = C, { distribute: Sd } = ki, { format: Td } = Lt, { addEvent: $i, createElement: Ad, css: Cd, defined: Js, discardElement: Pd, find: Od, fireEvent: Vt, isNumber: la, merge: fe, pick: It, pushUnique: Ld, relativeLength: Ed, stableSort: Id, syncTimeout: Dd } = B;
3535
+ }, padding: 5, style: { fontSize: "0.7em", fontWeight: "bold", color: "contrast", textOutline: "1px contrast" }, verticalAlign: "bottom", x: 0, y: 0 }, cropThreshold: 300, opacity: 1, pointRange: 0, softThreshold: !0, states: { normal: { animation: !0 }, hover: { animation: { duration: 150 }, lineWidthPlus: 1, marker: {}, halo: { size: 10, opacity: 0.25 } }, select: { animation: { duration: 0 } }, inactive: { animation: { duration: 150 }, opacity: 0.2 } }, stickyTracking: !0, turboThreshold: 1e3, findNearestPointBy: "x" }, It.types = at.seriesTypes, It.registerType = at.registerSeriesType, It.keepProps = ["colorIndex", "eventOptions", "navigatorSeries", "symbolIndex", "baseSeries"], It.keepPropsForPoints = ["data", "isDirtyData", "isDirtyCanvas", "points", "dataTable", "processedData", "xIncrement", "cropped", "_hasPointMarkers", "hasDataLabels", "nodes", "layout", "level", "mapMap", "mapData", "minY", "maxY", "minX", "maxX", "transformGroups"], Re(It.prototype, { axisTypes: ["xAxis", "yAxis"], coll: "series", colorCounter: 0, directTouch: !1, invertible: !0, isCartesian: !0, kdAxisArray: ["clientX", "plotY"], parallelArrays: ["x", "y"], pointClass: Qt, requireSorting: !0, sorted: !0 }), at.series = It;
3536
+ let Tt = It, { animObject: kd, setAnimation: wd } = gt, { registerEventOptions: aa } = Ei, { composed: Md, marginNames: na } = C, { distribute: Sd } = ki, { format: Td } = Lt, { addEvent: $i, createElement: Ad, css: Cd, defined: Js, discardElement: Pd, find: Od, fireEvent: Vt, isNumber: la, merge: me, pick: Dt, pushUnique: Ld, relativeLength: Ed, stableSort: Id, syncTimeout: Dd } = B;
3537
3537
  class Qs {
3538
3538
  constructor(t, e) {
3539
3539
  this.allItems = [], this.initialItemY = 0, this.itemHeight = 0, this.itemMarginBottom = 0, this.itemMarginTop = 0, this.itemX = 0, this.itemY = 0, this.lastItemY = 0, this.lastLineHeight = 0, this.legendHeight = 0, this.legendWidth = 0, this.maxItemWidth = 0, this.maxLegendWidth = 0, this.offsetWidth = 0, this.padding = 0, this.pages = [], this.symbolHeight = 0, this.symbolWidth = 0, this.titleHeight = 0, this.totalItemWidth = 0, this.widthOption = 0, this.chart = t, this.setOptions(e), e.enabled && (this.render(), aa(this, e), $i(this.chart, "endResize", function() {
@@ -3543,18 +3543,18 @@ function Ip() {
3543
3543
  });
3544
3544
  }
3545
3545
  setOptions(t) {
3546
- let e = It(t.padding, 8);
3547
- this.options = t, this.chart.styledMode || (this.itemStyle = t.itemStyle, this.itemHiddenStyle = fe(this.itemStyle, t.itemHiddenStyle)), this.itemMarginTop = t.itemMarginTop, this.itemMarginBottom = t.itemMarginBottom, this.padding = e, this.initialItemY = e - 5, this.symbolWidth = It(t.symbolWidth, 16), this.pages = [], this.proximate = t.layout === "proximate" && !this.chart.inverted, this.baseline = void 0;
3546
+ let e = Dt(t.padding, 8);
3547
+ this.options = t, this.chart.styledMode || (this.itemStyle = t.itemStyle, this.itemHiddenStyle = me(this.itemStyle, t.itemHiddenStyle)), this.itemMarginTop = t.itemMarginTop, this.itemMarginBottom = t.itemMarginBottom, this.padding = e, this.initialItemY = e - 5, this.symbolWidth = Dt(t.symbolWidth, 16), this.pages = [], this.proximate = t.layout === "proximate" && !this.chart.inverted, this.baseline = void 0;
3548
3548
  }
3549
3549
  update(t, e) {
3550
3550
  let i = this.chart;
3551
- this.setOptions(fe(!0, this.options, t)), "events" in this.options && aa(this, this.options), this.destroy(), i.isDirtyLegend = i.isDirtyBox = !0, It(e, !0) && i.redraw(), Vt(this, "afterUpdate", { redraw: e });
3551
+ this.setOptions(me(!0, this.options, t)), "events" in this.options && aa(this, this.options), this.destroy(), i.isDirtyLegend = i.isDirtyBox = !0, Dt(e, !0) && i.redraw(), Vt(this, "afterUpdate", { redraw: e });
3552
3552
  }
3553
3553
  colorizeItem(t, e) {
3554
3554
  let i = t.color, { area: s, group: r, label: o, line: a, symbol: n } = t.legendItem || {};
3555
- if ((t instanceof At || t instanceof Qt) && (t.color = t.options?.legendSymbolColor || i), r?.[e ? "removeClass" : "addClass"]("highcharts-legend-item-hidden"), !this.chart.styledMode) {
3555
+ if ((t instanceof Tt || t instanceof Qt) && (t.color = t.options?.legendSymbolColor || i), r?.[e ? "removeClass" : "addClass"]("highcharts-legend-item-hidden"), !this.chart.styledMode) {
3556
3556
  let { itemHiddenStyle: h = {} } = this, c = h.color, { fillColor: d, fillOpacity: p, lineColor: u, marker: g } = t.options, x = (m) => (!e && (m.fill && (m.fill = c), m.stroke && (m.stroke = c)), m);
3557
- o?.css(fe(e ? this.itemStyle : h)), a?.attr(x({ stroke: u || t.color })), n && n.attr(x(g && n.isMarker ? t.pointAttribs() : { fill: t.color })), s?.attr(x({ fill: d || t.color, "fill-opacity": d ? 1 : p ?? 0.75 }));
3557
+ o?.css(me(e ? this.itemStyle : h)), a?.attr(x({ stroke: u || t.color })), n && n.attr(x(g && n.isMarker ? t.pointAttribs() : { fill: t.color })), s?.attr(x({ fill: d || t.color, "fill-opacity": d ? 1 : p ?? 0.75 }));
3558
3558
  }
3559
3559
  t.color = i, Vt(this, "afterColorizeItem", { item: t, visible: e });
3560
3560
  }
@@ -3572,9 +3572,9 @@ function Ip() {
3572
3572
  n && (n.x = i, n.y = s);
3573
3573
  }
3574
3574
  destroyItem(t) {
3575
- let e = t.checkbox, i = t.legendItem || {};
3576
- for (let s of ["group", "label", "line", "symbol"]) i[s] && (i[s] = i[s].destroy());
3577
- e && Pd(e), t.legendItem = void 0;
3575
+ let e = t.legendItem || {};
3576
+ for (let i of ["group", "label", "line", "symbol"]) e[i] && (e[i] = e[i].destroy());
3577
+ t.checkbox = Pd(t.checkbox), t.legendItem = void 0;
3578
3578
  }
3579
3579
  destroy() {
3580
3580
  for (let t of this.getAllItems()) this.destroyItem(t);
@@ -3597,20 +3597,20 @@ function Ip() {
3597
3597
  t.legendItem.label.attr({ text: e.labelFormat ? Td(e.labelFormat, t, this.chart) : e.labelFormatter.call(t) });
3598
3598
  }
3599
3599
  renderItem(t) {
3600
- let e = t.legendItem = t.legendItem || {}, i = this.chart, s = i.renderer, r = this.options, o = r.layout === "horizontal", a = this.symbolWidth, n = r.symbolPadding || 0, h = this.itemStyle, c = this.itemHiddenStyle, d = o ? It(r.itemDistance, 20) : 0, p = !r.rtl, u = !t.series, g = !u && t.series.drawLegendSymbol ? t.series : t, x = g.options, m = !!this.createCheckboxForItem && x && x.showCheckbox, f = r.useHTML, y = t.options.className, b = e.label, v = a + n + d + 20 * !!m;
3601
- !b && (e.group = s.g("legend-item").addClass("highcharts-" + g.type + "-series highcharts-color-" + t.colorIndex + (y ? " " + y : "") + (u ? " highcharts-series-" + t.index : "")).attr({ zIndex: 1 }).add(this.scrollGroup), e.label = b = s.text("", p ? a + n : -n, this.baseline || 0, f), i.styledMode || b.css(fe(t.visible ? h : c)), b.attr({ align: p ? "left" : "right", zIndex: 2 }).add(e.group), !this.baseline && (this.fontMetrics = s.fontMetrics(b), this.baseline = this.fontMetrics.f + 3 + this.itemMarginTop, b.attr("y", this.baseline), this.symbolHeight = It(r.symbolHeight, this.fontMetrics.f), r.squareSymbol && (this.symbolWidth = It(r.symbolWidth, Math.max(this.symbolHeight, 16)), v = this.symbolWidth + n + d + 20 * !!m, p && b.attr("x", this.symbolWidth + n))), g.drawLegendSymbol(this, t), this.setItemEvents && this.setItemEvents(t, b, f)), m && !t.checkbox && this.createCheckboxForItem && this.createCheckboxForItem(t), this.colorizeItem(t, t.visible), (i.styledMode || !h.width) && b.css({ width: (r.itemWidth || this.widthOption || i.spacingBox.width) - v + "px" }), this.setText(t);
3602
- let w = b.getBBox(), k = this.fontMetrics?.h || 0;
3603
- t.itemWidth = t.checkboxOffset = r.itemWidth || e.labelWidth || w.width + v, this.maxItemWidth = Math.max(this.maxItemWidth, t.itemWidth), this.totalItemWidth += t.itemWidth, this.itemHeight = t.itemHeight = Math.round(e.labelHeight || (w.height > 1.5 * k ? w.height : k));
3600
+ let e = t.legendItem = t.legendItem || {}, i = this.chart, s = i.renderer, r = this.options, o = r.layout === "horizontal", a = this.symbolWidth, n = r.symbolPadding || 0, h = this.itemStyle, c = this.itemHiddenStyle, d = o ? Dt(r.itemDistance, 20) : 0, p = !r.rtl, u = !t.series, g = !u && t.series.drawLegendSymbol ? t.series : t, x = g.options, m = !!this.createCheckboxForItem && x && x.showCheckbox, f = r.useHTML, y = t.options.className, b = e.label, v = a + n + d + 20 * !!m;
3601
+ !b && (e.group = s.g("legend-item").addClass("highcharts-" + g.type + "-series highcharts-color-" + t.colorIndex + (y ? " " + y : "") + (u ? " highcharts-series-" + t.index : "")).attr({ zIndex: 1 }).add(this.scrollGroup), e.label = b = s.text("", p ? a + n : -n, this.baseline || 0, f), i.styledMode || b.css(me(t.visible ? h : c)), b.attr({ align: p ? "left" : "right", zIndex: 2 }).add(e.group), !this.baseline && (this.fontMetrics = s.fontMetrics(b), this.baseline = this.fontMetrics.f + 3 + this.itemMarginTop, b.attr("y", this.baseline), this.symbolHeight = Dt(r.symbolHeight, this.fontMetrics.f), r.squareSymbol && (this.symbolWidth = Dt(r.symbolWidth, Math.max(this.symbolHeight, 16)), v = this.symbolWidth + n + d + 20 * !!m, p && b.attr("x", this.symbolWidth + n))), g.drawLegendSymbol(this, t), this.setItemEvents && this.setItemEvents(t, b, f)), m && !t.checkbox && this.createCheckboxForItem && this.createCheckboxForItem(t), this.colorizeItem(t, t.visible), (i.styledMode || !h.width) && b.css({ width: (r.itemWidth || this.widthOption || i.spacingBox.width) - v + "px" }), this.setText(t);
3602
+ let k = b.getBBox(), M = this.fontMetrics?.h || 0;
3603
+ t.itemWidth = t.checkboxOffset = r.itemWidth || e.labelWidth || k.width + v, this.maxItemWidth = Math.max(this.maxItemWidth, t.itemWidth), this.totalItemWidth += t.itemWidth, this.itemHeight = t.itemHeight = Math.round(e.labelHeight || (k.height > 1.5 * M ? k.height : M));
3604
3604
  }
3605
3605
  layoutItem(t) {
3606
- let e = this.options, i = this.padding, s = e.layout === "horizontal", r = t.itemHeight, o = this.itemMarginBottom, a = this.itemMarginTop, n = s ? It(e.itemDistance, 20) : 0, h = this.maxLegendWidth, c = e.alignColumns && this.totalItemWidth > h ? this.maxItemWidth : t.itemWidth, d = t.legendItem || {};
3606
+ let e = this.options, i = this.padding, s = e.layout === "horizontal", r = t.itemHeight, o = this.itemMarginBottom, a = this.itemMarginTop, n = s ? Dt(e.itemDistance, 20) : 0, h = this.maxLegendWidth, c = e.alignColumns && this.totalItemWidth > h ? this.maxItemWidth : t.itemWidth, d = t.legendItem || {};
3607
3607
  s && this.itemX - i + c > h && (this.itemX = i, this.lastLineHeight && (this.itemY += a + this.lastLineHeight + o), this.lastLineHeight = 0), this.lastItemY = a + this.itemY + o, this.lastLineHeight = Math.max(r, this.lastLineHeight), d.x = this.itemX, d.y = this.itemY, s ? this.itemX += c : (this.itemY += a + r + o, this.lastLineHeight = r), this.offsetWidth = this.widthOption || Math.max((s ? this.itemX - i - (t.checkbox ? 0 : n) : c) + i, this.offsetWidth);
3608
3608
  }
3609
3609
  getAllItems() {
3610
3610
  let t = [];
3611
3611
  return this.chart.series.forEach(function(e) {
3612
3612
  let i = e?.options;
3613
- e && It(i.showInLegend, !Js(i.linkedTo) && void 0, !0) && (t = t.concat(e.legendItem?.labels || (i.legendType === "point" ? e.data : e)));
3613
+ e && Dt(i.showInLegend, !Js(i.linkedTo) && void 0, !0) && (t = t.concat(e.legendItem?.labels || (i.legendType === "point" ? e.data : e)));
3614
3614
  }), Vt(this, "afterGetAllItems", { allItems: t }), t;
3615
3615
  }
3616
3616
  getAlignment() {
@@ -3619,8 +3619,8 @@ function Ip() {
3619
3619
  }
3620
3620
  adjustMargins(t, e) {
3621
3621
  let i = this.chart, s = this.options, r = this.getAlignment();
3622
- r && [/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/].forEach(function(o, a) {
3623
- o.test(r) && !Js(t[a]) && (i[na[a]] = Math.max(i[na[a]], i.legend[(a + 1) % 2 ? "legendHeight" : "legendWidth"] + [1, -1, -1, 1][a] * s[a % 2 ? "x" : "y"] + It(s.margin, 12) + e[a] + (i.titleOffset[a] || 0)));
3622
+ r && [/(lth|ct|rth)/, /(rtv|rm|rbv)/, /(rbh|cb|lbh)/, /(lbv|lm|ltv)/].forEach((o, a) => {
3623
+ o.test(r) && !Js(t[a]) && (i[na[a]] = Math.max(i[na[a]], i.legend[(a + 1) % 2 ? "legendHeight" : "legendWidth"] + [1, -1, -1, 1][a] * s[a % 2 ? "x" : "y"] + (s.margin ?? 12) + e[a] + (i.titleOffset[a] || 0)));
3624
3624
  });
3625
3625
  }
3626
3626
  proximatePositions() {
@@ -3638,22 +3638,22 @@ function Ip() {
3638
3638
  }
3639
3639
  align(t = this.chart.spacingBox) {
3640
3640
  let e = this.chart, i = this.options, s = t.y;
3641
- /(lth|ct|rth)/.test(this.getAlignment()) && e.titleOffset[0] > 0 ? s += e.titleOffset[0] : /(lbh|cb|rbh)/.test(this.getAlignment()) && e.titleOffset[2] > 0 && (s -= e.titleOffset[2]), s !== t.y && (t = fe(t, { y: s })), e.hasRendered || (this.group.placed = !1), this.group.align(fe(i, { width: this.legendWidth, height: this.legendHeight, verticalAlign: this.proximate ? "top" : i.verticalAlign }), !0, t);
3641
+ /(lth|ct|rth)/.test(this.getAlignment()) && e.titleOffset[0] > 0 ? s += e.titleOffset[0] : /(lbh|cb|rbh)/.test(this.getAlignment()) && e.titleOffset[2] > 0 && (s -= e.titleOffset[2]), s !== t.y && (t = me(t, { y: s })), e.hasRendered || (this.group.placed = !1), this.group.align(me(i, { width: this.legendWidth, height: this.legendHeight, verticalAlign: this.proximate ? "top" : i.verticalAlign }), !0, t);
3642
3642
  }
3643
3643
  handleOverflow(t) {
3644
- let e = this, i = this.chart, s = i.renderer, r = this.options, o = r.y, a = r.verticalAlign === "top", n = this.padding, h = r.maxHeight, c = r.navigation, d = It(c.animation, !0), p = c.arrowSize || 12, u = this.pages, g = this.allItems, x = function(M) {
3645
- typeof M == "number" ? S.attr({ height: M }) : S && (e.clipRect = S.destroy(), e.contentGroup.clip()), e.contentGroup.div && (e.contentGroup.div.style.clip = M ? "rect(" + n + "px,9999px," + (n + M) + "px,0)" : "auto");
3646
- }, m = function(M) {
3647
- return e[M] = s.circle(0, 0, 1.3 * p).translate(p / 2, p / 2).add(k), i.styledMode || e[M].attr("fill", "rgba(0,0,0,0.0001)"), e[M];
3648
- }, f, y, b, v, w = i.spacingBox.height + (a ? -o : o) - n, k = this.nav, S = this.clipRect;
3649
- return r.layout !== "horizontal" || r.verticalAlign === "middle" || r.floating || (w /= 2), h && (w = Math.min(w, h)), u.length = 0, t && w > 0 && t > w && c.enabled !== !1 ? (this.clipHeight = f = Math.max(w - 20 - this.titleHeight - n, 0), this.currentPage = It(this.currentPage, 1), this.fullHeight = t, g.forEach((M, A) => {
3650
- let P = (b = M.legendItem || {}).y || 0, T = Math.round(b.label.getBBox().height), L = u.length;
3644
+ let e = this, i = this.chart, s = i.renderer, r = this.options, o = r.y, a = r.verticalAlign === "top", n = this.padding, h = r.maxHeight, c = r.navigation, d = Dt(c.animation, !0), p = c.arrowSize || 12, u = this.pages, g = this.allItems, x = function(w) {
3645
+ typeof w == "number" ? S.attr({ height: w }) : S && (e.clipRect = S.destroy(), e.contentGroup.clip()), e.contentGroup.div && (e.contentGroup.div.style.clip = w ? "rect(" + n + "px,9999px," + (n + w) + "px,0)" : "auto");
3646
+ }, m = function(w) {
3647
+ return e[w] = s.circle(0, 0, 1.3 * p).translate(p / 2, p / 2).add(M), i.styledMode || e[w].attr("fill", "rgba(0,0,0,0.0001)"), e[w];
3648
+ }, f, y, b, v, k = i.spacingBox.height + (a ? -o : o) - n, M = this.nav, S = this.clipRect;
3649
+ return r.layout !== "horizontal" || r.verticalAlign === "middle" || r.floating || (k /= 2), h && (k = Math.min(k, h)), u.length = 0, t && k > 0 && t > k && c.enabled !== !1 ? (this.clipHeight = f = Math.max(k - 20 - this.titleHeight - n, 0), this.currentPage = Dt(this.currentPage, 1), this.fullHeight = t, g.forEach((w, A) => {
3650
+ let P = (b = w.legendItem || {}).y || 0, T = Math.round(b.label.getBBox().height), L = u.length;
3651
3651
  (!L || P - u[L - 1] > f && (y || P) !== u[L - 1]) && (u.push(y || P), L++), b.pageIx = L - 1, y && v && (v.pageIx = L - 1), A === g.length - 1 && P + T - u[L - 1] > f && P > u[L - 1] && (u.push(P), b.pageIx = L), P !== y && (y = P), v = b;
3652
- }), S || (S = e.clipRect = s.clipRect(0, n - 2, 9999, 0), e.contentGroup.clip(S)), x(f), k || (this.nav = k = s.g().attr({ zIndex: 1 }).add(this.group), this.up = s.symbol("triangle", 0, 0, p, p).add(k), m("upTracker").on("click", function() {
3652
+ }), S || (S = e.clipRect = s.clipRect(0, n - 2, 9999, 0), e.contentGroup.clip(S)), x(f), M || (this.nav = M = s.g().attr({ zIndex: 1 }).add(this.group), this.up = s.symbol("triangle", 0, 0, p, p).add(M), m("upTracker").on("click", function() {
3653
3653
  e.scroll(-1, d);
3654
- }), this.pager = s.text("", 15, 10).addClass("highcharts-legend-navigation"), !i.styledMode && c.style && this.pager.css(c.style), this.pager.add(k), this.down = s.symbol("triangle-down", 0, 0, p, p).add(k), m("downTracker").on("click", function() {
3654
+ }), this.pager = s.text("", 15, 10).addClass("highcharts-legend-navigation"), !i.styledMode && c.style && this.pager.css(c.style), this.pager.add(M), this.down = s.symbol("triangle-down", 0, 0, p, p).add(M), m("downTracker").on("click", function() {
3655
3655
  e.scroll(1, d);
3656
- })), e.scroll(0), t = w) : k && (x(), this.nav = k.destroy(), this.scrollGroup.attr({ translateY: 1 }), this.clipHeight = 0), t;
3656
+ })), e.scroll(0), t = k) : M && (x(), this.nav = M.destroy(), this.scrollGroup.attr({ translateY: 1 }), this.clipHeight = 0), t;
3657
3657
  }
3658
3658
  scroll(t, e) {
3659
3659
  let i = this.chart, s = this.pages, r = s.length, o = this.clipHeight, a = this.options.navigation, n = this.pager, h = this.padding, c = this.currentPage + t;
@@ -3663,10 +3663,10 @@ function Ip() {
3663
3663
  d.attr({ x: 18 + this.pager.getBBox().width, class: c === r ? "highcharts-legend-nav-inactive" : "highcharts-legend-nav-active" });
3664
3664
  }, this), i.styledMode || (this.up.attr({ fill: c === 1 ? a.inactiveColor : a.activeColor }), this.upTracker.css({ cursor: c === 1 ? "default" : "pointer" }), this.down.attr({ fill: c === r ? a.inactiveColor : a.activeColor }), this.downTracker.css({ cursor: c === r ? "default" : "pointer" })), this.scrollOffset = -s[c - 1] + this.initialItemY, this.scrollGroup.animate({ translateY: this.scrollOffset }), this.currentPage = c, this.positionCheckboxes(), Dd(() => {
3665
3665
  Vt(this, "afterScroll", { currentPage: c });
3666
- }, kd(It(e, i.renderer.globalAnimation, !0)).duration));
3666
+ }, kd(Dt(e, i.renderer.globalAnimation, !0)).duration));
3667
3667
  }
3668
3668
  setItemEvents(t, e, i) {
3669
- let s = this, r = t.legendItem || {}, o = s.chart.renderer.boxWrapper, a = t instanceof Qt, n = t instanceof At, h = "highcharts-legend-" + (a ? "point" : "series") + "-active", c = s.chart.styledMode, d = i ? [e, r.symbol] : [r.group], p = (u) => {
3669
+ let s = this, r = t.legendItem || {}, o = s.chart.renderer.boxWrapper, a = t instanceof Qt, n = t instanceof Tt, h = "highcharts-legend-" + (a ? "point" : "series") + "-active", c = s.chart.styledMode, d = i ? [e, r.symbol] : [r.group], p = (u) => {
3670
3670
  s.allItems.forEach((g) => {
3671
3671
  t !== g && [g].concat(g.linkedSeries || []).forEach((x) => {
3672
3672
  x.setState(u, !a);
@@ -3676,7 +3676,7 @@ function Ip() {
3676
3676
  for (let u of d) u && u.on("mouseover", function() {
3677
3677
  t.visible && p("inactive"), t.setState("hover"), t.visible && o.addClass(h), c || e.css(s.options.itemHoverStyle);
3678
3678
  }).on("mouseout", function() {
3679
- s.chart.styledMode || e.css(fe(t.visible ? s.itemStyle : s.itemHiddenStyle)), p(""), o.removeClass(h), t.setState();
3679
+ s.chart.styledMode || e.css(me(t.visible ? s.itemStyle : s.itemHiddenStyle)), p(""), o.removeClass(h), t.setState();
3680
3680
  }).on("click", function(g) {
3681
3681
  let x = function() {
3682
3682
  t.setVisible && t.setVisible(), p(t.visible ? "inactive" : "");
@@ -3700,7 +3700,7 @@ function Ip() {
3700
3700
  });
3701
3701
  };
3702
3702
  })(Qs || (Qs = {}));
3703
- let ha = Qs, { animate: tr, animObject: Bd, setAnimation: er } = gt, { defaultOptions: ir } = Ot, { numberFormat: Nd } = Lt, { registerEventOptions: da } = Ei, { charts: me, doc: ai, marginNames: ca, svg: zd, win: pa } = C, { seriesTypes: sr } = at, { addEvent: rr, attr: ua, createElement: or, css: Bt, defined: ee, diffObjects: ga, discardElement: Rd, erase: Wd, error: ar, extend: ie, find: nr, fireEvent: G, getAlignFactor: Xd, getStyle: lr, isArray: Hd, isNumber: We, isObject: Fd, isString: Zi, merge: Yt, objectEach: hr, pick: ft, pInt: Gd, relativeLength: fa, removeEvent: ma, splat: qi, syncTimeout: Yd, uniqueKey: jd } = B;
3703
+ let ha = Qs, { animate: tr, animObject: Bd, setAnimation: er } = gt, { defaultOptions: ir } = Ot, { numberFormat: Nd } = Lt, { registerEventOptions: da } = Ei, { charts: xe, doc: ai, marginNames: ca, svg: zd, win: pa } = C, { seriesTypes: sr } = at, { addEvent: rr, attr: ua, createElement: or, css: Bt, defined: ee, diffObjects: ga, discardElement: Rd, erase: Wd, error: ar, extend: ie, find: nr, fireEvent: Y, getAlignFactor: Xd, getStyle: lr, isArray: Hd, isNumber: We, isObject: Fd, isString: Zi, merge: Yt, objectEach: hr, pick: bt, pInt: Gd, relativeLength: fa, removeEvent: ma, splat: qi, syncTimeout: Yd, uniqueKey: jd } = B;
3704
3704
  class se {
3705
3705
  static chart(t, e, i) {
3706
3706
  return new se(t, e, i);
@@ -3712,12 +3712,12 @@ function Ip() {
3712
3712
  }
3713
3713
  setZoomOptions() {
3714
3714
  let t = this.options.chart, e = t.zooming;
3715
- this.zooming = { ...e, type: ft(t.zoomType, e.type), key: ft(t.zoomKey, e.key), pinchType: ft(t.pinchType, e.pinchType), singleTouch: ft(t.zoomBySingleTouch, e.singleTouch, !1), resetButton: Yt(e.resetButton, t.resetZoomButton) };
3715
+ this.zooming = { ...e, type: bt(t.zoomType, e.type), key: bt(t.zoomKey, e.key), pinchType: bt(t.pinchType, e.pinchType), singleTouch: bt(t.zoomBySingleTouch, e.singleTouch, !1), resetButton: Yt(e.resetButton, t.resetZoomButton) };
3716
3716
  }
3717
3717
  init(t, e) {
3718
- G(this, "init", { args: arguments }, function() {
3718
+ Y(this, "init", { args: arguments }, function() {
3719
3719
  let i = Yt(ir, t), s = i.chart, r = this.renderTo || s.renderTo;
3720
- this.userOptions = ie({}, t), (this.renderTo = Zi(r) ? ai.getElementById(r) : r) || ar(13, !0, this), this.margin = [], this.spacing = [], this.labelCollectors = [], this.callback = e, this.isResizing = 0, this.options = i, this.axes = [], this.series = [], this.locale = i.lang.locale ?? this.renderTo.closest("[lang]")?.lang, this.time = new ms(ie(i.time || {}, { locale: this.locale }), i.lang), i.time = this.time.options, this.numberFormatter = (s.numberFormatter || Nd).bind(this), this.styledMode = s.styledMode, this.hasCartesianSeries = s.showAxes, this.index = me.length, me.push(this), C.chartCount++, da(this, s), this.xAxis = [], this.yAxis = [], this.pointCount = this.colorCounter = this.symbolCounter = 0, this.setZoomOptions(), G(this, "afterInit"), this.firstRender();
3720
+ this.userOptions = ie({}, t), (this.renderTo = Zi(r) ? ai.getElementById(r) : r) || ar(13, !0, this), this.margin = [], this.spacing = [], this.labelCollectors = [], this.callback = e, this.isResizing = 0, this.options = i, this.axes = [], this.series = [], this.locale = i.lang.locale ?? this.renderTo.closest("[lang]")?.lang, this.time = new ms(ie(i.time || {}, { locale: this.locale }), i.lang), i.time = this.time.options, this.numberFormatter = (s.numberFormatter || Nd).bind(this), this.styledMode = s.styledMode, this.hasCartesianSeries = s.showAxes, this.index = xe.length, xe.push(this), C.chartCount++, da(this, s), this.xAxis = [], this.yAxis = [], this.pointCount = this.colorCounter = this.symbolCounter = 0, this.setZoomOptions(), Y(this, "afterInit"), this.firstRender();
3721
3721
  });
3722
3722
  }
3723
3723
  initSeries(t) {
@@ -3740,7 +3740,7 @@ function Ip() {
3740
3740
  let i = this[t], s = this.options[t] = qi(this.options[t]).slice(), r = this.userOptions[t] = this.userOptions[t] ? qi(this.userOptions[t]).slice() : [];
3741
3741
  if (this.hasRendered && (s.splice(e), r.splice(e)), i) for (let o = e, a = i.length; o < a; ++o) {
3742
3742
  let n = i[o];
3743
- n && (n.index = o, n instanceof At && (n.name = n.getName()), n.options.isInternal || (s[o] = n.options, r[o] = n.userOptions));
3743
+ n && (n.index = o, n instanceof Tt && (n.name = n.getName()), n.options.isInternal || (s[o] = n.options, r[o] = n.userOptions));
3744
3744
  }
3745
3745
  }
3746
3746
  getClipBox(t, e) {
@@ -3757,10 +3757,10 @@ function Ip() {
3757
3757
  let m = !s && i.axis && !i.axis.isXAxis && i.axis || d && (s ? d.xAxis : d.yAxis) || { pos: a, len: 1 / 0 }, f = i.paneCoordinates ? m.pos + g : a + g;
3758
3758
  f >= Math.max(c + a, m.pos) && f <= Math.min(c + a + p.height, m.pos + m.len) || (x.isInsidePlot = !1);
3759
3759
  }
3760
- return G(this, "afterIsInsidePlot", x), x.isInsidePlot;
3760
+ return Y(this, "afterIsInsidePlot", x), x.isInsidePlot;
3761
3761
  }
3762
3762
  redraw(t) {
3763
- G(this, "beforeRedraw");
3763
+ Y(this, "beforeRedraw");
3764
3764
  let e = this.hasCartesianSeries ? this.axes : this.colorAxis || [], i = this.series, s = this.pointer, r = this.legend, o = this.userOptions.legend, a = this.renderer, n = a.isHidden(), h = [], c, d, p, u = this.isDirtyBox, g = this.isDirtyLegend, x;
3765
3765
  for (a.rootFontSize = a.boxWrapper.getStyle("font-size"), this.setResponsive && this.setResponsive(!1), er(!!this.hasRendered && t, this), n && this.temporaryDisplay(), this.layOutTitles(!1), p = i.length; p--; ) if (((x = i[p]).options.stacking || x.options.centerInCategory) && (d = !0, x.isDirty)) {
3766
3766
  c = !0;
@@ -3768,7 +3768,7 @@ function Ip() {
3768
3768
  }
3769
3769
  if (c) for (p = i.length; p--; ) (x = i[p]).options.stacking && (x.isDirty = !0);
3770
3770
  i.forEach(function(m) {
3771
- m.isDirty && (m.options.legendType === "point" ? (typeof m.updateTotals == "function" && m.updateTotals(), g = !0) : o && (o.labelFormatter || o.labelFormat) && (g = !0)), m.isDirtyData && G(m, "updatedData");
3771
+ m.isDirty && (m.options.legendType === "point" ? (typeof m.updateTotals == "function" && m.updateTotals(), g = !0) : o && (o.labelFormatter || o.labelFormat) && (g = !0)), m.isDirtyData && Y(m, "updatedData");
3772
3772
  }), g && r && r.options.enabled && (r.render(), this.isDirtyLegend = !1), d && this.getStacks(), e.forEach(function(m) {
3773
3773
  m.updateNames(), m.setScale();
3774
3774
  }), this.getMargins(), e.forEach(function(m) {
@@ -3776,11 +3776,11 @@ function Ip() {
3776
3776
  }), e.forEach(function(m) {
3777
3777
  let f = m.min + "," + m.max;
3778
3778
  m.extKey !== f && (m.extKey = f, h.push(function() {
3779
- G(m, "afterSetExtremes", ie(m.eventArgs, m.getExtremes())), delete m.eventArgs;
3779
+ Y(m, "afterSetExtremes", ie(m.eventArgs, m.getExtremes())), delete m.eventArgs;
3780
3780
  })), (u || d) && m.redraw();
3781
- }), u && this.drawChartBox(), G(this, "predraw"), i.forEach(function(m) {
3781
+ }), u && this.drawChartBox(), Y(this, "predraw"), i.forEach(function(m) {
3782
3782
  (u || m.isDirty) && m.visible && m.redraw(), m.isDirtyData = !1;
3783
- }), s && s.reset(!0), a.draw(), G(this, "redraw"), G(this, "render"), n && this.temporaryDisplay(!0), h.forEach(function(m) {
3783
+ }), s && s.reset(!0), a.draw(), Y(this, "redraw"), Y(this, "render"), n && this.temporaryDisplay(!0), h.forEach(function(m) {
3784
3784
  m.call();
3785
3785
  });
3786
3786
  }
@@ -3795,12 +3795,12 @@ function Ip() {
3795
3795
  }
3796
3796
  createAxes() {
3797
3797
  let t = this.userOptions;
3798
- for (let e of (G(this, "createAxes"), ["xAxis", "yAxis"])) for (let i of t[e] = qi(t[e] || {})) new De(this, i, e);
3799
- G(this, "afterCreateAxes");
3798
+ for (let e of (Y(this, "createAxes"), ["xAxis", "yAxis"])) for (let i of t[e] = qi(t[e] || {})) new De(this, i, e);
3799
+ Y(this, "afterCreateAxes");
3800
3800
  }
3801
3801
  getSelectedPoints() {
3802
3802
  return this.series.reduce((t, e) => (e.getPointsCollection().forEach((i) => {
3803
- ft(i.selectedStaging, i.selected) && t.push(i);
3803
+ bt(i.selectedStaging, i.selected) && t.push(i);
3804
3804
  }), t), []);
3805
3805
  }
3806
3806
  getSelectedSeries() {
@@ -3820,18 +3820,18 @@ function Ip() {
3820
3820
  ["title", "subtitle", "caption"].forEach((a) => {
3821
3821
  let n = this[a], h = this.options[a], c = Yt(r), d = n?.textPxLength || 0;
3822
3822
  if (n && h) {
3823
- G(this, "layOutTitle", { alignTo: c, key: a, textPxLength: d });
3824
- let p = s.fontMetrics(n), u = p.b, g = p.h, x = h.verticalAlign || "top", m = x === "top", f = m && h.minScale || 1, y = a === "title" ? m ? -3 : 0 : m ? e[0] + 2 : 0, b = Math.min(c.width / d, 1), v = Math.max(f, b), w = Yt({ y: x === "bottom" ? u : y + u }, { align: a === "title" ? b < f ? "left" : "center" : this.title?.alignValue }, h), k = (h.width || (b > f ? this.chartWidth : c.width) / v) + "px";
3825
- n.alignValue !== w.align && (n.placed = !1);
3826
- let S = Math.round(n.css({ width: k }).getBBox(h.useHTML).height);
3827
- if (w.height = S, n.align(w, !1, c).attr({ align: w.align, scaleX: v, scaleY: v, "transform-origin": `${c.x + d * v * Xd(w.align)} ${g}` }), !h.floating) {
3828
- let M = S * (S < 1.2 * g ? 1 : v);
3829
- x === "top" ? e[0] = Math.ceil(e[0] + M) : x === "bottom" && (e[2] = Math.ceil(e[2] + M));
3823
+ Y(this, "layOutTitle", { alignTo: c, key: a, textPxLength: d });
3824
+ let p = s.fontMetrics(n), u = p.b, g = p.h, x = h.verticalAlign || "top", m = x === "top", f = m && h.minScale || 1, y = a === "title" ? m ? -3 : 0 : m ? e[0] + 2 : 0, b = Math.min(c.width / d, 1), v = Math.max(f, b), k = Yt({ y: x === "bottom" ? u : y + u }, { align: a === "title" ? b < f ? "left" : "center" : this.title?.alignValue }, h), M = (h.width || (b > f ? this.chartWidth : c.width) / v) + "px";
3825
+ n.alignValue !== k.align && (n.placed = !1);
3826
+ let S = Math.round(n.css({ width: M }).getBBox(h.useHTML).height);
3827
+ if (k.height = S, n.align(k, !1, c).attr({ align: k.align, scaleX: v, scaleY: v, "transform-origin": `${c.x + d * v * Xd(k.align)} ${g}` }), !h.floating) {
3828
+ let w = S * (S < 1.2 * g ? 1 : v);
3829
+ x === "top" ? e[0] = Math.ceil(e[0] + w) : x === "bottom" && (e[2] = Math.ceil(e[2] + w));
3830
3830
  }
3831
3831
  }
3832
3832
  }, this), e[0] && (i.title?.verticalAlign || "top") === "top" && (e[0] += i.title?.margin || 0), e[2] && i.caption?.verticalAlign === "bottom" && (e[2] += i.caption?.margin || 0);
3833
3833
  let o = !this.titleOffset || this.titleOffset.join(",") !== e.join(",");
3834
- this.titleOffset = e, G(this, "afterLayOutTitles"), !this.isDirtyBox && o && (this.isDirtyBox = this.isDirtyLegend = o, this.hasRendered && t && this.isDirtyBox && this.redraw());
3834
+ this.titleOffset = e, Y(this, "afterLayOutTitles"), !this.isDirtyBox && o && (this.isDirtyBox = this.isDirtyLegend = o, this.hasRendered && t && this.isDirtyBox && this.redraw());
3835
3835
  }
3836
3836
  getContainerBox() {
3837
3837
  let t = [].map.call(this.renderTo.children, (i) => {
@@ -3858,27 +3858,27 @@ function Ip() {
3858
3858
  }
3859
3859
  getContainer() {
3860
3860
  let t, e = this.options, i = e.chart, s = "data-highcharts-chart", r = jd(), o = this.renderTo, a = Gd(ua(o, s));
3861
- We(a) && me[a] && me[a].hasRendered && me[a].destroy(), ua(o, s, this.index), o.innerHTML = Q.emptyHTML, i.skipClone || o.offsetWidth || this.temporaryDisplay(), this.getChartSize();
3861
+ We(a) && xe[a] && xe[a].hasRendered && xe[a].destroy(), ua(o, s, this.index), o.innerHTML = tt.emptyHTML, i.skipClone || o.offsetWidth || this.temporaryDisplay(), this.getChartSize();
3862
3862
  let n = this.chartHeight, h = this.chartWidth;
3863
3863
  Bt(o, { overflow: "hidden" }), this.styledMode || (t = ie({ position: "relative", overflow: "hidden", width: h + "px", height: n + "px", textAlign: "left", lineHeight: "normal", zIndex: 0, "-webkit-tap-highlight-color": "rgba(0,0,0,0)", userSelect: "none", "touch-action": "manipulation", outline: "none", padding: "0px" }, i.style || {}));
3864
3864
  let c = or("div", { id: r }, t, o);
3865
- this.container = c, this.getChartSize(), h !== this.chartWidth && (h = this.chartWidth, this.styledMode || Bt(c, { width: ft(i.style?.width, h + "px") })), this.containerBox = this.getContainerBox(), this._cursor = c.style.cursor;
3865
+ this.container = c, this.getChartSize(), h !== this.chartWidth && (h = this.chartWidth, this.styledMode || Bt(c, { width: bt(i.style?.width, h + "px") })), this.containerBox = this.getContainerBox(), this._cursor = c.style.cursor;
3866
3866
  let d = i.renderer || !zd ? Ke.getRendererType(i.renderer) : Oi;
3867
3867
  if (this.renderer = new d(c, h, n, void 0, i.forExport, e.exporting?.allowHTML, this.styledMode), er(void 0, this), this.setClassName(i.className), this.styledMode) for (let p in e.defs) this.renderer.definition(e.defs[p]);
3868
3868
  else this.renderer.setStyle(i.style);
3869
- this.renderer.chartIndex = this.index, G(this, "afterGetContainer");
3869
+ this.renderer.chartIndex = this.index, Y(this, "afterGetContainer");
3870
3870
  }
3871
3871
  getMargins(t) {
3872
3872
  let { spacing: e, margin: i, titleOffset: s } = this;
3873
- this.resetMargins(), s[0] && !ee(i[0]) && (this.plotTop = Math.max(this.plotTop, s[0] + e[0])), s[2] && !ee(i[2]) && (this.marginBottom = Math.max(this.marginBottom, s[2] + e[2])), this.legend?.display && this.legend.adjustMargins(i, e), G(this, "getMargins"), t || this.getAxisMargins();
3873
+ this.resetMargins(), s[0] && !ee(i[0]) && (this.plotTop = Math.max(this.plotTop, s[0] + e[0])), s[2] && !ee(i[2]) && (this.marginBottom = Math.max(this.marginBottom, s[2] + e[2])), this.legend?.display && this.legend.adjustMargins(i, e), Y(this, "getMargins"), t || this.getAxisMargins();
3874
3874
  }
3875
3875
  getAxisMargins() {
3876
- let t = this, e = t.axisOffset = [0, 0, 0, 0], i = t.colorAxis, s = t.margin, r = function(o) {
3877
- o.forEach(function(a) {
3876
+ let t = this, e = t.axisOffset = [0, 0, 0, 0], i = t.colorAxis, s = t.margin, r = (o) => {
3877
+ o.forEach((a) => {
3878
3878
  a.visible && a.getOffset();
3879
3879
  });
3880
3880
  };
3881
- t.hasCartesianSeries ? r(t.axes) : i?.length && r(i), ca.forEach(function(o, a) {
3881
+ t.hasCartesianSeries ? r(t.axes) : i?.length && r(i), ca.forEach((o, a) => {
3882
3882
  ee(s[a]) || (t[o] += e[a]);
3883
3883
  }), t.setChartSize();
3884
3884
  }
@@ -3909,31 +3909,31 @@ function Ip() {
3909
3909
  let { chartWidth: a, chartHeight: n, scrollablePixelsX: h = 0, scrollablePixelsY: c = 0 } = s;
3910
3910
  (s.isDirtyBox || a !== s.oldChartWidth || n !== s.oldChartHeight) && (s.styledMode || (o ? tr : Bt)(s.container, { width: `${a + h}px`, height: `${n + c}px` }, o), s.setChartSize(!0), r.setSize(a, n, o), s.axes.forEach(function(d) {
3911
3911
  d.isDirty = !0, d.setScale();
3912
- }), s.isDirtyLegend = !0, s.isDirtyBox = !0, s.layOutTitles(), s.getMargins(), s.redraw(o), s.oldChartHeight = void 0, G(s, "resize"), setTimeout(() => {
3913
- s && G(s, "endResize");
3912
+ }), s.isDirtyLegend = !0, s.isDirtyBox = !0, s.layOutTitles(), s.getMargins(), s.redraw(o), s.oldChartHeight = void 0, Y(s, "resize"), setTimeout(() => {
3913
+ s && Y(s, "endResize");
3914
3914
  }, Bd(o).duration)), s.isResizing -= 1;
3915
3915
  }
3916
3916
  setChartSize(t) {
3917
3917
  let e, i, s, r, { chartHeight: o, chartWidth: a, inverted: n, spacing: h, renderer: c } = this, d = this.clipOffset, p = Math[n ? "floor" : "round"];
3918
3918
  this.plotLeft = e = Math.round(this.plotLeft), this.plotTop = i = Math.round(this.plotTop), this.plotWidth = s = Math.max(0, Math.round(a - e - (this.marginRight ?? 0))), this.plotHeight = r = Math.max(0, Math.round(o - i - (this.marginBottom ?? 0))), this.plotSizeX = n ? r : s, this.plotSizeY = n ? s : r, this.spacingBox = c.spacingBox = { x: h[3], y: h[0], width: a - h[3] - h[1], height: o - h[0] - h[2] }, this.plotBox = c.plotBox = { x: e, y: i, width: s, height: r }, d && (this.clipBox = { x: p(d[3]), y: p(d[0]), width: p(this.plotSizeX - d[1] - d[3]), height: p(this.plotSizeY - d[0] - d[2]) }), t || (this.axes.forEach(function(u) {
3919
3919
  u.setAxisSize(), u.setAxisTranslation();
3920
- }), c.alignElements()), G(this, "afterSetChartSize", { skipAxes: t });
3920
+ }), c.alignElements()), Y(this, "afterSetChartSize", { skipAxes: t });
3921
3921
  }
3922
3922
  resetMargins() {
3923
- G(this, "resetMargins");
3923
+ Y(this, "resetMargins");
3924
3924
  let t = this, e = t.options.chart, i = e.plotBorderWidth || 0, s = Math.round(i) / 2;
3925
- ["margin", "spacing"].forEach(function(r) {
3925
+ ["margin", "spacing"].forEach((r) => {
3926
3926
  let o = e[r], a = Fd(o) ? o : [o, o, o, o];
3927
- ["Top", "Right", "Bottom", "Left"].forEach(function(n, h) {
3928
- t[r][h] = ft(e[r + n], a[h]);
3927
+ ["Top", "Right", "Bottom", "Left"].forEach((n, h) => {
3928
+ t[r][h] = e[`${r}${n}`] ?? a[h];
3929
3929
  });
3930
- }), ca.forEach(function(r, o) {
3931
- t[r] = ft(t.margin[o], t.spacing[o]);
3930
+ }), ca.forEach((r, o) => {
3931
+ t[r] = t.margin[o] ?? t.spacing[o];
3932
3932
  }), t.axisOffset = [0, 0, 0, 0], t.clipOffset = [s, s, s, s], t.plotBorderWidth = i;
3933
3933
  }
3934
3934
  drawChartBox() {
3935
- let t = this.options.chart, e = this.renderer, i = this.chartWidth, s = this.chartHeight, r = this.styledMode, o = this.plotBGImage, a = t.backgroundColor, n = t.plotBackgroundColor, h = t.plotBackgroundImage, c = this.plotLeft, d = this.plotTop, p = this.plotWidth, u = this.plotHeight, g = this.plotBox, x = this.clipRect, m = this.clipBox, f = this.chartBackground, y = this.plotBackground, b = this.plotBorder, v, w, k, S = "animate";
3936
- f || (this.chartBackground = f = e.rect().addClass("highcharts-background").add(), S = "attr"), r ? v = w = f.strokeWidth() : (w = (v = t.borderWidth || 0) + 8 * !!t.shadow, k = { fill: a || "none" }, (v || f["stroke-width"]) && (k.stroke = t.borderColor, k["stroke-width"] = v), f.attr(k).shadow(t.shadow)), f[S]({ x: w / 2, y: w / 2, width: i - w - v % 2, height: s - w - v % 2, r: t.borderRadius }), S = "animate", y || (S = "attr", this.plotBackground = y = e.rect().addClass("highcharts-plot-background").add()), y[S](g), !r && (y.attr({ fill: n || "none" }).shadow(t.plotShadow), h && (o ? (h !== o.attr("href") && o.attr("href", h), o.animate(g)) : this.plotBGImage = e.image(h, c, d, p, u).add())), x ? x.animate({ width: m.width, height: m.height }) : this.clipRect = e.clipRect(m), S = "animate", b || (S = "attr", this.plotBorder = b = e.rect().addClass("highcharts-plot-border").attr({ zIndex: 1 }).add()), r || b.attr({ stroke: t.plotBorderColor, "stroke-width": t.plotBorderWidth || 0, fill: "none" }), b[S](b.crisp(g, -b.strokeWidth())), this.isDirtyBox = !1, G(this, "afterDrawChartBox");
3935
+ let t = this.options.chart, e = this.renderer, i = this.chartWidth, s = this.chartHeight, r = this.styledMode, o = this.plotBGImage, a = t.backgroundColor, n = t.plotBackgroundColor, h = t.plotBackgroundImage, c = this.plotLeft, d = this.plotTop, p = this.plotWidth, u = this.plotHeight, g = this.plotBox, x = this.clipRect, m = this.clipBox, f = this.chartBackground, y = this.plotBackground, b = this.plotBorder, v, k, M, S = "animate";
3936
+ f || (this.chartBackground = f = e.rect().addClass("highcharts-background").add(), S = "attr"), r ? v = k = f.strokeWidth() : (k = (v = t.borderWidth || 0) + 8 * !!t.shadow, M = { fill: a || "none" }, (v || f["stroke-width"]) && (M.stroke = t.borderColor, M["stroke-width"] = v), f.attr(M).shadow(t.shadow)), f[S]({ x: k / 2, y: k / 2, width: i - k - v % 2, height: s - k - v % 2, r: t.borderRadius }), S = "animate", y || (S = "attr", this.plotBackground = y = e.rect().addClass("highcharts-plot-background").add()), y[S](g), !r && (y.attr({ fill: n || "none" }).shadow(t.plotShadow), h && (o ? (h !== o.attr("href") && o.attr("href", h), o.animate(g)) : this.plotBGImage = e.image(h, c, d, p, u).add())), x ? x.animate({ width: m.width, height: m.height }) : this.clipRect = e.clipRect(m), S = "animate", b || (S = "attr", this.plotBorder = b = e.rect().addClass("highcharts-plot-border").attr({ zIndex: 1 }).add()), r || b.attr({ stroke: t.plotBorderColor, "stroke-width": t.plotBorderWidth || 0, fill: "none" }), b[S](b.crisp(g, -b.strokeWidth())), this.isDirtyBox = !1, Y(this, "afterDrawChartBox");
3937
3937
  }
3938
3938
  propFromSeries() {
3939
3939
  let t, e, i, s = this, r = s.options.chart, o = s.options.series;
@@ -3950,9 +3950,9 @@ function Ip() {
3950
3950
  let { linkedTo: r } = s.options;
3951
3951
  if (Zi(r)) {
3952
3952
  let o;
3953
- (o = r === ":previous" ? e.series[s.index - 1] : e.get(r)) && o.linkedParent !== s && (o.linkedSeries.push(s), s.linkedParent = o, o.enabledDataSorting && s.setDataSortingOptions(), s.visible = ft(s.options.visible, o.options.visible, s.visible));
3953
+ (o = r === ":previous" ? e.series[s.index - 1] : e.get(r)) && o.linkedParent !== s && (o.linkedSeries.push(s), s.linkedParent = o, o.enabledDataSorting && s.setDataSortingOptions(), s.visible = bt(s.options.visible, o.options.visible, s.visible));
3954
3954
  }
3955
- }), G(this, "afterLinkSeries", { isUpdating: t });
3955
+ }), Y(this, "afterLinkSeries", { isUpdating: t });
3956
3956
  }
3957
3957
  renderSeries() {
3958
3958
  this.series.forEach(function(t) {
@@ -3965,12 +3965,12 @@ function Ip() {
3965
3965
  d.visible && d.render();
3966
3966
  });
3967
3967
  }, o = 0, a = !0, n, h = 0;
3968
- for (let c of (this.setTitle(), G(this, "beforeMargins"), this.getStacks?.(), this.getMargins(!0), this.setChartSize(), t)) {
3968
+ for (let c of (this.setTitle(), Y(this, "beforeMargins"), this.getStacks?.(), this.getMargins(!0), this.setChartSize(), t)) {
3969
3969
  let { options: d } = c, { labels: p } = d;
3970
3970
  if (this.hasCartesianSeries && c.horiz && c.visible && p.enabled && c.series.length && c.coll !== "colorAxis" && !this.polar) {
3971
3971
  o = d.tickLength, c.createGroups();
3972
3972
  let u = new Ie(c, 0, "", !0), g = u.createLabel("x", p);
3973
- if (u.destroy(), g && ft(p.reserveSpace, !We(d.crossing)) && (o = g.getBBox().height + p.distance + Math.max(d.offset || 0, 0)), o) {
3973
+ if (u.destroy(), g && bt(p.reserveSpace, !We(d.crossing)) && (o = g.getBBox().height + p.distance + Math.max(d.offset || 0, 0)), o) {
3974
3974
  g?.destroy();
3975
3975
  break;
3976
3976
  }
@@ -3993,11 +3993,11 @@ function Ip() {
3993
3993
  }
3994
3994
  destroy() {
3995
3995
  let t, e = this, i = e.axes, s = e.series, r = e.container, o = r?.parentNode;
3996
- for (G(e, "destroy"), e.renderer.forExport ? Wd(me, e) : me[e.index] = void 0, C.chartCount--, e.renderTo.removeAttribute("data-highcharts-chart"), ma(e), t = i.length; t--; ) i[t] = i[t].destroy();
3996
+ for (Y(e, "destroy"), e.renderer.forExport ? Wd(xe, e) : xe[e.index] = void 0, C.chartCount--, e.renderTo.removeAttribute("data-highcharts-chart"), ma(e), t = i.length; t--; ) i[t] = i[t].destroy();
3997
3997
  for (this.scroller?.destroy?.(), t = s.length; t--; ) s[t] = s[t].destroy();
3998
3998
  ["title", "subtitle", "chartBackground", "plotBackground", "plotBGImage", "plotBorder", "seriesGroup", "clipRect", "credits", "pointer", "rangeSelector", "legend", "resetZoomButton", "tooltip", "renderer"].forEach((a) => {
3999
3999
  e[a] = e[a]?.destroy?.();
4000
- }), r && (r.innerHTML = Q.emptyHTML, ma(r), o && Rd(r)), hr(e, function(a, n) {
4000
+ }), r && (r.innerHTML = tt.emptyHTML, ma(r), o && Rd(r)), hr(e, function(a, n) {
4001
4001
  delete e[n];
4002
4002
  });
4003
4003
  }
@@ -4007,12 +4007,12 @@ function Ip() {
4007
4007
  let i = Hd(e.series) ? e.series : [];
4008
4008
  e.series = [], i.forEach(function(s) {
4009
4009
  t.initSeries(s);
4010
- }), t.linkSeries(), t.setSortedData(), G(t, "beforeRender"), t.render(), t.pointer?.getChartPosition(), t.renderer.imgCount || t.hasLoaded || t.onload(), t.temporaryDisplay(!0);
4010
+ }), t.linkSeries(), t.setSortedData(), Y(t, "beforeRender"), t.render(), t.pointer?.getChartPosition(), t.renderer.imgCount || t.hasLoaded || t.onload(), t.temporaryDisplay(!0);
4011
4011
  }
4012
4012
  onload() {
4013
4013
  this.callbacks.concat([this.callback]).forEach(function(t) {
4014
4014
  t && this.index !== void 0 && t.apply(this, [this]);
4015
- }, this), G(this, "load"), G(this, "render"), ee(this.index) && this.setReflow(), this.warnIfA11yModuleNotLoaded(), this.hasLoaded = !0;
4015
+ }, this), Y(this, "load"), Y(this, "render"), ee(this.index) && this.setReflow(), this.warnIfA11yModuleNotLoaded(), this.hasLoaded = !0;
4016
4016
  }
4017
4017
  warnIfA11yModuleNotLoaded() {
4018
4018
  let { options: t, title: e } = this;
@@ -4020,8 +4020,8 @@ function Ip() {
4020
4020
  }
4021
4021
  addSeries(t, e, i) {
4022
4022
  let s, r = this;
4023
- return t && (e = ft(e, !0), G(r, "addSeries", { options: t }, function() {
4024
- s = r.initSeries(t), r.isDirtyLegend = !0, r.linkSeries(), s.enabledDataSorting && s.setData(t.data, !1), G(r, "afterAddSeries", { series: s }), e && r.redraw(i);
4023
+ return t && (e = bt(e, !0), Y(r, "addSeries", { options: t }, function() {
4024
+ s = r.initSeries(t), r.isDirtyLegend = !0, r.linkSeries(), s.enabledDataSorting && s.setData(t.data, !1), Y(r, "afterAddSeries", { series: s }), e && r.redraw(i);
4025
4025
  })), s;
4026
4026
  }
4027
4027
  addAxis(t, e, i, s) {
@@ -4032,13 +4032,13 @@ function Ip() {
4032
4032
  }
4033
4033
  createAxis(t, e) {
4034
4034
  let i = new De(this, e.axis, t);
4035
- return ft(e.redraw, !0) && this.redraw(e.animation), i;
4035
+ return bt(e.redraw, !0) && this.redraw(e.animation), i;
4036
4036
  }
4037
4037
  showLoading(t) {
4038
4038
  let e = this, i = e.options, s = i.loading, r = function() {
4039
4039
  o && Bt(o, { left: e.plotLeft + "px", top: e.plotTop + "px", width: e.plotWidth + "px", height: e.plotHeight + "px" });
4040
4040
  }, o = e.loadingDiv, a = e.loadingSpan;
4041
- o || (e.loadingDiv = o = or("div", { className: "highcharts-loading highcharts-loading-hidden" }, null, e.container)), a || (e.loadingSpan = a = or("span", { className: "highcharts-loading-inner" }, null, o), rr(e, "redraw", r)), o.className = "highcharts-loading", Q.setElementHTML(a, ft(t, i.lang.loading, "")), !e.styledMode && (Bt(o, ie(s.style, { zIndex: 10 })), Bt(a, s.labelStyle), e.loadingShown || (Bt(o, { opacity: 0, display: "" }), tr(o, { opacity: s.style.opacity || 0.5 }, { duration: s.showDuration || 0 }))), e.loadingShown = !0, r();
4041
+ o || (e.loadingDiv = o = or("div", { className: "highcharts-loading highcharts-loading-hidden" }, null, e.container)), a || (e.loadingSpan = a = or("span", { className: "highcharts-loading-inner" }, null, o), rr(e, "redraw", r)), o.className = "highcharts-loading", tt.setElementHTML(a, bt(t, i.lang.loading, "")), !e.styledMode && (Bt(o, ie(s.style, { zIndex: 10 })), Bt(a, s.labelStyle), e.loadingShown || (Bt(o, { opacity: 0, display: "" }), tr(o, { opacity: s.style.opacity || 0.5 }, { duration: s.showDuration || 0 }))), e.loadingShown = !0, r();
4042
4042
  }
4043
4043
  hideLoading() {
4044
4044
  let t = this.options, e = this.loadingDiv;
@@ -4048,7 +4048,7 @@ function Ip() {
4048
4048
  }
4049
4049
  update(t, e, i, s) {
4050
4050
  let r, o, a, n = this, h = { credits: "addCredits", title: "setTitle", subtitle: "setSubtitle", caption: "setCaption" }, c = t.isResponsiveOptions, d = [];
4051
- G(n, "update", { options: t }), c || n.setResponsive(!1, !0), t = ga(t, n.options), n.userOptions = Yt(n.userOptions, t);
4051
+ Y(n, "update", { options: t }), c || n.setResponsive(!1, !0), t = ga(t, n.options), n.userOptions = Yt(n.userOptions, t);
4052
4052
  let p = t.chart;
4053
4053
  p && (Yt(!0, n.options.chart, p), this.setZoomOptions(), "className" in p && n.setClassName(p.className), ("inverted" in p || "polar" in p || "type" in p) && (n.propFromSeries(), r = !0), "alignTicks" in p && (r = !0), "events" in p && da(this, p), hr(p, function(x, m) {
4054
4054
  n.propsRequireUpdateSeries.indexOf("chart." + m) !== -1 && (o = !0), n.propsRequireDirtyBox.indexOf(m) !== -1 && (n.isDirtyBox = !0), n.propsRequireReflow.indexOf(m) !== -1 && (n.isDirtyBox = !0, c || (a = !0));
@@ -4057,7 +4057,7 @@ function Ip() {
4057
4057
  }), this.collectionsWithUpdate.forEach(function(x) {
4058
4058
  t[x] && (qi(t[x]).forEach(function(m, f) {
4059
4059
  let y, b = ee(m.id);
4060
- b && (y = n.get(m.id)), !y && n[x] && (y = n[x][ft(m.index, f)]) && (b && ee(y.options.id) || y.options.isInternal) && (y = void 0), y && y.coll === x && (y.update(m, !1), i && (y.touched = !0)), !y && i && n.collectionsWithInit[x] && (n.collectionsWithInit[x][0].apply(n, [m].concat(n.collectionsWithInit[x][1] || []).concat([!1])).touched = !0);
4060
+ b && (y = n.get(m.id)), !y && n[x] && (y = n[x][bt(m.index, f)]) && (b && ee(y.options.id) || y.options.isInternal) && (y = void 0), y && y.coll === x && (y.update(m, !1), i && (y.touched = !0)), !y && i && n.collectionsWithInit[x] && (n.collectionsWithInit[x][0].apply(n, [m].concat(n.collectionsWithInit[x][1] || []).concat([!1])).touched = !0);
4061
4061
  }), i && n[x].forEach(function(m) {
4062
4062
  m.touched || m.options.isInternal ? delete m.touched : d.push(m);
4063
4063
  }));
@@ -4069,7 +4069,7 @@ function Ip() {
4069
4069
  x.chart && x.update({}, !1);
4070
4070
  }, this);
4071
4071
  let u = p?.width, g = p && (Zi(p.height) ? fa(p.height, u || n.chartWidth) : p.height);
4072
- a || We(u) && u !== n.chartWidth || We(g) && g !== n.chartHeight ? n.setSize(u, g, s) : ft(e, !0) && n.redraw(s), G(n, "afterUpdate", { options: t, redraw: e, animation: s });
4072
+ a || We(u) && u !== n.chartWidth || We(g) && g !== n.chartHeight ? n.setSize(u, g, s) : bt(e, !0) && n.redraw(s), Y(n, "afterUpdate", { options: t, redraw: e, animation: s });
4073
4073
  }
4074
4074
  setSubtitle(t, e) {
4075
4075
  this.applyDescription("subtitle", t), this.layOutTitles(e);
@@ -4082,38 +4082,38 @@ function Ip() {
4082
4082
  function o() {
4083
4083
  t.zoomOut();
4084
4084
  }
4085
- G(this, "beforeShowResetZoom", null, function() {
4085
+ Y(this, "beforeShowResetZoom", null, function() {
4086
4086
  t.resetZoomButton = t.renderer.button(e.resetZoom, null, null, o, s).attr({ align: i.position.align, title: e.resetZoomTitle }).addClass("highcharts-reset-zoom").add().align(i.position, !1, r);
4087
- }), G(this, "afterShowResetZoom");
4087
+ }), Y(this, "afterShowResetZoom");
4088
4088
  }
4089
4089
  zoomOut() {
4090
- G(this, "selection", { resetSelection: !0 }, () => this.transform({ reset: !0, trigger: "zoom" }));
4090
+ Y(this, "selection", { resetSelection: !0 }, () => this.transform({ reset: !0, trigger: "zoom" }));
4091
4091
  }
4092
4092
  pan(t, e) {
4093
4093
  let i = this, s = typeof e == "object" ? e : { enabled: e, type: "x" }, r = s.type, o = r && i[{ x: "xAxis", xy: "axes", y: "yAxis" }[r]].filter((n) => n.options.panningEnabled && !n.options.isInternal), a = i.options.chart;
4094
- a?.panning && (a.panning = s), G(this, "pan", { originalEvent: t }, () => {
4094
+ a?.panning && (a.panning = s), Y(this, "pan", { originalEvent: t }, () => {
4095
4095
  i.transform({ axes: o, event: t, to: { x: t.chartX - (i.mouseDownX || 0), y: t.chartY - (i.mouseDownY || 0) }, trigger: "pan" }), Bt(i.container, { cursor: "move" });
4096
4096
  });
4097
4097
  }
4098
4098
  transform(t) {
4099
4099
  let { axes: e = this.axes, event: i, from: s = {}, reset: r, selection: o, to: a = {}, trigger: n } = t, { inverted: h, time: c } = this;
4100
- this.hoverPoints?.forEach((g) => g.setState()), G(this, "transform", t);
4100
+ this.hoverPoints?.forEach((g) => g.setState()), Y(this, "transform", t);
4101
4101
  let d = t.hasZoomed || !1, p, u;
4102
4102
  for (let g of e) {
4103
- let { horiz: x, len: m, minPointOffset: f = 0, options: y, reversed: b } = g, v = x ? "width" : "height", w = x ? "x" : "y", k = ft(a[v], g.len), S = ft(s[v], g.len), M = 10 > Math.abs(k) ? 1 : k / S, A = (s[w] || 0) + S / 2 - g.pos, P = A - ((a[w] ?? g.pos) + k / 2 - g.pos) / M, T = b && !h || !b && h ? -1 : 1;
4103
+ let { horiz: x, len: m, minPointOffset: f = 0, options: y, reversed: b } = g, v = x ? "width" : "height", k = x ? "x" : "y", M = bt(a[v], g.len), S = bt(s[v], g.len), w = 10 > Math.abs(M) ? 1 : M / S, A = (s[k] || 0) + S / 2 - g.pos, P = A - ((a[k] ?? g.pos) + M / 2 - g.pos) / w, T = b && !h || !b && h ? -1 : 1;
4104
4104
  if (!r && (A < 0 || A > g.len)) continue;
4105
- let L = g.chart.polar || g.isOrdinal ? 0 : f * T || 0, I = g.toValue(P, !0), D = g.toValue(P + m / M, !0), O = I + L, E = D - L, N = g.allExtremes;
4106
- if (o && o[g.coll].push({ axis: g, min: Math.min(I, D), max: Math.max(I, D) }), O > E && ([O, E] = [E, O]), M === 1 && !r && g.coll === "yAxis" && !N) {
4105
+ let L = g.chart.polar || g.isOrdinal ? 0 : f * T || 0, I = g.toValue(P, !0), D = g.toValue(P + m / w, !0), O = I + L, E = D - L, N = g.allExtremes;
4106
+ if (o && o[g.coll].push({ axis: g, min: Math.min(I, D), max: Math.max(I, D) }), O > E && ([O, E] = [E, O]), w === 1 && !r && g.coll === "yAxis" && !N) {
4107
4107
  for (let ae of g.series) {
4108
4108
  let Ct = ae.getExtremes(ae.getProcessedData(!0).modified.getColumn("y") || [], !0);
4109
4109
  N ?? (N = { dataMin: Number.MAX_VALUE, dataMax: -Number.MAX_VALUE }), We(Ct.dataMin) && We(Ct.dataMax) && (N.dataMin = Math.min(Ct.dataMin, N.dataMin), N.dataMax = Math.max(Ct.dataMax, N.dataMax));
4110
4110
  }
4111
4111
  g.allExtremes = N;
4112
4112
  }
4113
- let { dataMin: rt, dataMax: Y, min: F, max: X } = ie(g.getExtremes(), N || {}), W = c.parse(y.min), V = c.parse(y.max), U = rt ?? W, $ = Y ?? V, Z = E - O, q = g.categories ? 0 : Math.min(Z, $ - U), vt = U - q * (ee(W) ? 0 : y.minPadding), kt = $ + q * (ee(V) ? 0 : y.maxPadding), wt = g.allowZoomOutside || M === 1 || n !== "zoom" && M > 1, Nt = Math.min(W ?? vt, vt, wt ? F : vt), mt = Math.max(V ?? kt, kt, wt ? X : kt);
4114
- (!g.isOrdinal || M !== 1 || r) && (O < Nt && (O = Nt, M >= 1 && (E = O + Z)), E > mt && (E = mt, M >= 1 && (O = E - Z)), (r || g.series.length && (O !== F || E !== X) && O >= Nt && E <= mt) && (o ? o[g.coll].push({ axis: g, min: O, max: E }) : (g.isPanning = n !== "zoom", g.isPanning && (u = !0), g.setExtremes(r ? void 0 : O, r ? void 0 : E, !1, !1, { move: P, trigger: n, scale: M }), !r && (O > Nt || E < mt) && n !== "mousewheel" && (p = !0)), d = !0), this.hasCartesianSeries || r || n === "mousewheel" || (p = !0), i && (this[x ? "mouseDownX" : "mouseDownY"] = i[x ? "chartX" : "chartY"]));
4113
+ let { dataMin: _, dataMax: F, min: G, max: X } = ie(g.getExtremes(), N || {}), W = c.parse(y.min), V = c.parse(y.max), U = _ ?? W, $ = F ?? V, Z = E - O, q = g.categories ? 0 : Math.min(Z, $ - U), vt = U - q * (ee(W) ? 0 : y.minPadding), kt = $ + q * (ee(V) ? 0 : y.maxPadding), wt = g.allowZoomOutside || w === 1 || n !== "zoom" && w > 1, Nt = Math.min(W ?? vt, vt, wt ? G : vt), ft = Math.max(V ?? kt, kt, wt ? X : kt);
4114
+ (!g.isOrdinal || w !== 1 || r) && (O < Nt && (O = Nt, w >= 1 && (E = O + Z)), E > ft && (E = ft, w >= 1 && (O = E - Z)), (r || g.series.length && (O !== G || E !== X) && O >= Nt && E <= ft) && (o ? o[g.coll].push({ axis: g, min: O, max: E }) : (g.isPanning = n !== "zoom", g.isPanning && (u = !0), g.setExtremes(r ? void 0 : O, r ? void 0 : E, !1, !1, { move: P, trigger: n, scale: w }), !r && (O > Nt || E < ft) && n !== "mousewheel" && (p = !0)), d = !0), this.hasCartesianSeries || r || n === "mousewheel" || (p = !0), i && (this[x ? "mouseDownX" : "mouseDownY"] = i[x ? "chartX" : "chartY"]));
4115
4115
  }
4116
- return d && (o ? G(this, "selection", o, () => {
4116
+ return d && (o ? Y(this, "selection", o, () => {
4117
4117
  delete t.selection, t.trigger = "zoom", this.transform(t);
4118
4118
  }) : (!p || u || this.resetZoomButton ? !p && this.resetZoomButton && (this.resetZoomButton = this.resetZoomButton.destroy()) : this.showResetZoom(), this.redraw(n === "zoom" && (this.options.chart.animation ?? this.pointCount < 100)))), d;
4119
4119
  }
@@ -4133,7 +4133,9 @@ function Ip() {
4133
4133
  }
4134
4134
  static afterSetSize(t, e) {
4135
4135
  let i, s, r, { minWidth: o, minHeight: a } = t.options.chart.scrollablePlotArea || {}, { clipBox: n, plotBox: h, inverted: c, renderer: d } = t;
4136
- if (!d.forExport && (o ? (t.scrollablePixelsX = i = Math.max(0, o - t.chartWidth), i && (t.scrollablePlotBox = xa(t.plotBox), h.width = t.plotWidth += i, n[c ? "height" : "width"] += i, r = !0)) : a && (t.scrollablePixelsY = s = Math.max(0, a - t.chartHeight), cr(s) && (t.scrollablePlotBox = xa(t.plotBox), h.height = t.plotHeight += s, n[c ? "width" : "height"] += s, r = !1)), cr(r) && !e.skipAxes)) for (let p of t.axes) (p.horiz === r || t.hasParallelCoordinates && p.coll === "yAxis") && (p.setAxisSize(), p.setAxisTranslation());
4136
+ if (!d.forExport) if (o ? (t.scrollablePixelsX = i = Math.max(0, o - t.chartWidth), i && (t.scrollablePlotBox = xa(t.plotBox), h.width = t.plotWidth += i, n[c ? "height" : "width"] += i, r = !0)) : a && (t.scrollablePixelsY = s = Math.max(0, a - t.chartHeight), cr(s) && (t.scrollablePlotBox = xa(t.plotBox), h.height = t.plotHeight += s, n[c ? "width" : "height"] += s, r = !1)), cr(r)) {
4137
+ if (!e.skipAxes) for (let p of t.axes) (p.horiz === r || t.hasParallelCoordinates && p.coll === "yAxis") && (p.setAxisSize(), p.setAxisTranslation());
4138
+ } else delete t.scrollablePlotBox;
4137
4139
  }
4138
4140
  constructor(t) {
4139
4141
  let e, i = t.options.chart, s = Ke.getRendererType(), r = i.scrollablePlotArea || {}, o = this.moveFixedElements.bind(this), a = { WebkitOverflowScrolling: "touch", overflowX: "hidden", overflowY: "hidden" };
@@ -4147,8 +4149,8 @@ function Ip() {
4147
4149
  applyFixed() {
4148
4150
  let { chart: t, fixedRenderer: e, isDirty: i, scrollingContainer: s } = this, { axisOffset: r, chartWidth: o, chartHeight: a, container: n, plotHeight: h, plotLeft: c, plotTop: d, plotWidth: p, scrollablePixelsX: u = 0, scrollablePixelsY: g = 0 } = t, { scrollPositionX: x = 0, scrollPositionY: m = 0 } = t.options.chart.scrollablePlotArea || {}, f = o + u, y = a + g;
4149
4151
  e.setSize(o, a), (i ?? !0) && (this.isDirty = !1, this.moveFixedElements()), Ud(t.container), dr(n, { width: `${f}px`, height: `${y}px` }), t.renderer.boxWrapper.attr({ width: f, height: y, viewBox: [0, 0, f, y].join(" ") }), t.chartBackground?.attr({ width: f, height: y }), dr(s, { width: `${o}px`, height: `${a}px` }), cr(i) || (s.scrollLeft = u * x, s.scrollTop = g * m);
4150
- let b = d - r[0] - 1, v = c - r[3] - 1, w = d + h + r[2] + 1, k = c + p + r[1] + 1, S = c + p - u, M = d + h - g, A = [["M", 0, 0]];
4151
- u ? A = [["M", 0, b], ["L", c - 1, b], ["L", c - 1, w], ["L", 0, w], ["Z"], ["M", S, b], ["L", o, b], ["L", o, w], ["L", S, w], ["Z"]] : g && (A = [["M", v, 0], ["L", v, d - 1], ["L", k, d - 1], ["L", k, 0], ["Z"], ["M", v, M], ["L", v, a], ["L", k, a], ["L", k, M], ["Z"]]), t.redrawTrigger !== "adjustHeight" && this.mask.attr({ d: A });
4152
+ let b = d - r[0] - 1, v = c - r[3] - 1, k = d + h + r[2] + 1, M = c + p + r[1] + 1, S = c + p - u, w = d + h - g, A = [["M", 0, 0]];
4153
+ u ? A = [["M", 0, b], ["L", c - 1, b], ["L", c - 1, k], ["L", 0, k], ["Z"], ["M", S, b], ["L", o, b], ["L", o, k], ["L", S, k], ["Z"]] : g && (A = [["M", v, 0], ["L", v, d - 1], ["L", M, d - 1], ["L", M, 0], ["Z"], ["M", v, w], ["L", v, a], ["L", M, a], ["L", M, w], ["Z"]]), t.redrawTrigger !== "adjustHeight" && this.mask.attr({ d: A });
4152
4154
  }
4153
4155
  moveFixedElements() {
4154
4156
  let t, { container: e, inverted: i, scrollablePixelsX: s, scrollablePixelsY: r } = this.chart, o = this.fixedRenderer, a = ni.fixedSelectors;
@@ -4197,7 +4199,7 @@ function Ip() {
4197
4199
  let t = this.axis, e = t.chart, { boxTop: i, defaultX: s, xOffset: r, width: o, boxBottom: a } = l, n = t.stacking.usePercentage ? 100 : li(i, this.total, 0), h = t.toPixels(n), c = l.xAxis || e.xAxis[0], d = li(s, c.translate(this.x)) + r, p = Math.abs(h - t.toPixels(a || ur(t.min) && t.logarithmic && t.logarithmic.lin2log(t.min) || 0)), u = e.inverted, g = this.isNegative;
4198
4200
  return u ? { x: (g ? h : h - p) - e.plotLeft, y: c.height - d - o + c.top - e.plotTop, width: p, height: o } : { x: d + c.transB - e.plotLeft, y: (g ? h - p : h) - e.plotTop, width: o, height: p };
4199
4201
  }
4200
- }, { getDeferredAnimation: Jd } = gt, { series: { prototype: Qd } } = at, { addEvent: wa, correctFloat: hi, defined: Ma, destroyObjectProperties: tc, fireEvent: ec, isNumber: gr, objectEach: xe, pick: fr } = B;
4202
+ }, { getDeferredAnimation: Jd } = gt, { series: { prototype: Qd } } = at, { addEvent: wa, correctFloat: hi, defined: Ma, destroyObjectProperties: tc, fireEvent: ec, isNumber: gr, objectEach: ye, pick: fr } = B;
4201
4203
  function ic() {
4202
4204
  let l = this.inverted;
4203
4205
  this.axes.forEach((t) => {
@@ -4211,7 +4213,7 @@ function Ip() {
4211
4213
  let l = this.stacking;
4212
4214
  if (l) {
4213
4215
  let t = l.stacks;
4214
- xe(t, (e, i) => {
4216
+ ye(t, (e, i) => {
4215
4217
  tc(e), delete t[i];
4216
4218
  }), l.stackTotalGroup?.destroy();
4217
4219
  }
@@ -4239,14 +4241,14 @@ function Ip() {
4239
4241
  function hc(l, t) {
4240
4242
  let e, i, s, r, o, a, n, h = t || this.options.stacking;
4241
4243
  if (!h || !this.reserveSpace() || ({ group: "xAxis" }[h] || "yAxis") !== l.coll) return;
4242
- let c = this.getColumn("x", !0), d = this.getColumn(this.pointValKey || "y", !0), p = [], u = d.length, g = this.options, x = g.threshold || 0, m = g.startFromThreshold ? x : 0, f = g.stack, y = t ? `${this.type},${h}` : this.stackKey || "", b = "-" + y, v = this.negStacks, w = l.stacking, k = w.stacks, S = w.oldStacks;
4243
- for (w.stacksTouched += 1, n = 0; n < u; n++) {
4244
- let M = c[n] || 0, A = d[n], P = gr(A) && A || 0;
4245
- a = (e = this.getStackIndicator(e, M, this.index)).key || "", k[o = (i = v && P < (m ? 0 : x)) ? b : y] || (k[o] = {}), k[o][M] || (S[o]?.[M] ? (k[o][M] = S[o][M], k[o][M].total = null) : k[o][M] = new ka(l, l.options.stackLabels, !!i, M, f)), s = k[o][M], A !== null ? (s.points[a] = s.points[this.index] = [fr(s.cumulative, m)], Ma(s.cumulative) || (s.base = a), s.touched = w.stacksTouched, e.index > 0 && this.singleStacks === !1 && (s.points[a][0] = s.points[this.index + "," + M + ",0"][0])) : (delete s.points[a], delete s.points[this.index]);
4244
+ let c = this.getColumn("x", !0), d = this.getColumn(this.pointValKey || "y", !0), p = [], u = d.length, g = this.options, x = g.threshold || 0, m = g.startFromThreshold ? x : 0, f = g.stack, y = t ? `${this.type},${h}` : this.stackKey || "", b = "-" + y, v = this.negStacks, k = l.stacking, M = k.stacks, S = k.oldStacks;
4245
+ for (k.stacksTouched += 1, n = 0; n < u; n++) {
4246
+ let w = c[n] || 0, A = d[n], P = gr(A) && A || 0;
4247
+ a = (e = this.getStackIndicator(e, w, this.index)).key || "", M[o = (i = v && P < (m ? 0 : x)) ? b : y] || (M[o] = {}), M[o][w] || (S[o]?.[w] ? (M[o][w] = S[o][w], M[o][w].total = null) : M[o][w] = new ka(l, l.options.stackLabels, !!i, w, f)), s = M[o][w], A !== null ? (s.points[a] = s.points[this.index] = [fr(s.cumulative, m)], Ma(s.cumulative) || (s.base = a), s.touched = k.stacksTouched, e.index > 0 && this.singleStacks === !1 && (s.points[a][0] = s.points[this.index + "," + w + ",0"][0])) : (delete s.points[a], delete s.points[this.index]);
4246
4248
  let T = s.total || 0;
4247
- h === "percent" ? (r = i ? y : b, T = v && k[r]?.[M] ? (r = k[r][M]).total = Math.max(r.total || 0, T) + Math.abs(P) : hi(T + Math.abs(P))) : h === "group" ? gr(A) && T++ : T = hi(T + P), h === "group" ? s.cumulative = (T || 1) - 1 : s.cumulative = hi(fr(s.cumulative, m) + P), s.total = T, A !== null && (s.points[a].push(s.cumulative), p[n] = s.cumulative, s.hasValidPoints = !0);
4249
+ h === "percent" ? (r = i ? y : b, T = v && M[r]?.[w] ? (r = M[r][w]).total = Math.max(r.total || 0, T) + Math.abs(P) : hi(T + Math.abs(P))) : h === "group" ? gr(A) && T++ : T = hi(T + P), h === "group" ? s.cumulative = (T || 1) - 1 : s.cumulative = hi(fr(s.cumulative, m) + P), s.total = T, A !== null && (s.points[a].push(s.cumulative), p[n] = s.cumulative, s.hasValidPoints = !0);
4248
4250
  }
4249
- h === "percent" && (w.usePercentage = !0), h !== "group" && (this.stackedYData = p), w.oldStacks = {};
4251
+ h === "percent" && (k.usePercentage = !0), h !== "group" && (this.stackedYData = p), k.oldStacks = {};
4250
4252
  }
4251
4253
  class dc {
4252
4254
  constructor(t) {
@@ -4259,23 +4261,23 @@ function Ip() {
4259
4261
  ec(i, "afterBuildStacks");
4260
4262
  }
4261
4263
  cleanStacks() {
4262
- this.oldStacks && (this.stacks = this.oldStacks, xe(this.stacks, (t) => {
4263
- xe(t, (e) => {
4264
+ this.oldStacks && (this.stacks = this.oldStacks, ye(this.stacks, (t) => {
4265
+ ye(t, (e) => {
4264
4266
  e.cumulative = e.total;
4265
4267
  });
4266
4268
  }));
4267
4269
  }
4268
4270
  resetStacks() {
4269
- xe(this.stacks, (t) => {
4270
- xe(t, (e, i) => {
4271
+ ye(this.stacks, (t) => {
4272
+ ye(t, (e, i) => {
4271
4273
  gr(e.touched) && e.touched < this.stacksTouched ? (e.destroy(), delete t[i]) : (e.total = null, e.cumulative = null);
4272
4274
  });
4273
4275
  });
4274
4276
  }
4275
4277
  renderStackTotals() {
4276
4278
  let t = this.axis, e = t.chart, i = e.renderer, s = this.stacks, r = Jd(e, t.options.stackLabels?.animation || !1), o = this.stackTotalGroup = this.stackTotalGroup || i.g("stack-labels").attr({ zIndex: 6, opacity: 0 }).add();
4277
- o.translate(e.plotLeft, e.plotTop), xe(s, (a) => {
4278
- xe(a, (n) => {
4279
+ o.translate(e.plotLeft, e.plotTop), ye(s, (a) => {
4280
+ ye(a, (n) => {
4279
4281
  n.render(o);
4280
4282
  });
4281
4283
  }), o.animate({ opacity: 1 }, r);
@@ -4286,7 +4288,7 @@ function Ip() {
4286
4288
  i.getStacks || (wa(l, "init", rc), wa(l, "destroy", sc), i.getStacks = ic, s.getStackIndicator = oc, s.modifyStacks = ac, s.percentStacker = nc, s.setGroupedPoints = lc, s.setStackedPoints = hc);
4287
4289
  };
4288
4290
  let cc = Ye, { defined: pc, merge: Sa, isObject: uc } = B;
4289
- class Ta extends At {
4291
+ class Ta extends Tt {
4290
4292
  drawGraph() {
4291
4293
  let t = this.options, e = (this.gappedPath || this.getGraphPath).call(this), i = this.chart.styledMode;
4292
4294
  [this, ...this.zones].forEach((s, r) => {
@@ -4302,7 +4304,7 @@ function Ip() {
4302
4304
  }), o.xMap = a, s.graphPath = o, o;
4303
4305
  }
4304
4306
  }
4305
- Ta.defaultOptions = Sa(At.defaultOptions, { legendSymbol: "lineMarker" }), at.registerSeriesType("line", Ta);
4307
+ Ta.defaultOptions = Sa(Tt.defaultOptions, { legendSymbol: "lineMarker" }), at.registerSeriesType("line", Ta);
4306
4308
  let { seriesTypes: { line: mr } } = at, { extend: gc, merge: fc, objectEach: mc, pick: _i } = B;
4307
4309
  class xr extends mr {
4308
4310
  drawGraph() {
@@ -4314,20 +4316,20 @@ function Ip() {
4314
4316
  });
4315
4317
  }
4316
4318
  getGraphPath(t) {
4317
- let e, i, s, r = mr.prototype.getGraphPath, o = this.options, a = o.stacking, n = this.yAxis, h = [], c = [], d = this.index, p = n.stacking.stacks[this.stackKey], u = o.threshold, g = Math.round(n.getThreshold(o.threshold)), x = _i(o.connectNulls, a === "percent"), m = function(k, S, M) {
4318
- let A = t[k], P = a && p[A.x].points[d], T = A[M + "Null"] || 0, L = A[M + "Cliff"] || 0, I, D, O = !0;
4319
+ let e, i, s, r = mr.prototype.getGraphPath, o = this.options, a = o.stacking, n = this.yAxis, h = [], c = [], d = this.index, p = n.stacking.stacks[this.stackKey], u = o.threshold, g = Math.round(n.getThreshold(o.threshold)), x = _i(o.connectNulls, a === "percent"), m = function(M, S, w) {
4320
+ let A = t[M], P = a && p[A.x].points[d], T = A[w + "Null"] || 0, L = A[w + "Cliff"] || 0, I, D, O = !0;
4319
4321
  L || T ? (I = (T ? P[0] : P[1]) + L, D = P[0] + L, O = !!T) : !a && t[S] && t[S].isNull && (I = D = u), I !== void 0 && (c.push({ plotX: e, plotY: I === null ? g : n.getThreshold(I), isNull: O, isCliff: !0 }), h.push({ plotX: e, plotY: D === null ? g : n.getThreshold(D), doCurve: !1 }));
4320
4322
  };
4321
4323
  t = t || this.points, a && (t = this.getStackPoints(t));
4322
- for (let k = 0, S = t.length; k < S; ++k) a || (t[k].leftCliff = t[k].rightCliff = t[k].leftNull = t[k].rightNull = void 0), i = t[k].isNull, e = _i(t[k].rectPlotX, t[k].plotX), s = a ? _i(t[k].yBottom, g) : g, (!i || x) && (x || m(k, k - 1, "left"), i && !a && x || (c.push(t[k]), h.push({ x: k, plotX: e, plotY: s })), x || m(k, k + 1, "right"));
4324
+ for (let M = 0, S = t.length; M < S; ++M) a || (t[M].leftCliff = t[M].rightCliff = t[M].leftNull = t[M].rightNull = void 0), i = t[M].isNull, e = _i(t[M].rectPlotX, t[M].plotX), s = a ? _i(t[M].yBottom, g) : g, (!i || x) && (x || m(M, M - 1, "left"), i && !a && x || (c.push(t[M]), h.push({ x: M, plotX: e, plotY: s })), x || m(M, M + 1, "right"));
4323
4325
  let f = r.call(this, c, !0, !0);
4324
4326
  h.reversed = !0;
4325
4327
  let y = r.call(this, h, !0, !0), b = y[0];
4326
4328
  b && b[0] === "M" && (y[0] = ["L", b[1], b[2]]);
4327
4329
  let v = f.concat(y);
4328
4330
  v.length && v.push(["Z"]);
4329
- let w = r.call(this, c, !1, x);
4330
- return this.chart.series.length > 1 && a && c.some((k) => k.isCliff) && (v.hasStackedCliffs = w.hasStackedCliffs = !0), v.xMap = f.xMap, this.areaPath = v, w;
4331
+ let k = r.call(this, c, !1, x);
4332
+ return this.chart.series.length > 1 && a && c.some((M) => M.isCliff) && (v.hasStackedCliffs = k.hasStackedCliffs = !0), v.xMap = f.xMap, this.areaPath = v, k;
4331
4333
  }
4332
4334
  getStackPoints(t) {
4333
4335
  let e = this, i = [], s = [], r = this.xAxis, o = this.yAxis, a = o.stacking.stacks[this.stackKey], n = {}, h = o.series, c = h.length, d = o.options.reversedStacks ? 1 : -1, p = h.indexOf(e);
@@ -4342,15 +4344,15 @@ function Ip() {
4342
4344
  s.forEach(function(g, x) {
4343
4345
  let m = 0, f, y;
4344
4346
  if (n[g] && !n[g].isNull) i.push(n[g]), [-1, 1].forEach(function(b) {
4345
- let v = b === 1 ? "rightNull" : "leftNull", w = a[s[x + b]], k = 0;
4346
- if (w) {
4347
+ let v = b === 1 ? "rightNull" : "leftNull", k = a[s[x + b]], M = 0;
4348
+ if (k) {
4347
4349
  let S = p;
4348
4350
  for (; S >= 0 && S < c; ) {
4349
- let M = h[S].index;
4350
- !(f = w.points[M]) && (M === e.index ? n[g][v] = !0 : u[S] && (y = a[g].points[M]) && (k -= y[1] - y[0])), S += d;
4351
+ let w = h[S].index;
4352
+ !(f = k.points[w]) && (w === e.index ? n[g][v] = !0 : u[S] && (y = a[g].points[w]) && (M -= y[1] - y[0])), S += d;
4351
4353
  }
4352
4354
  }
4353
- n[g][b === 1 ? "rightCliff" : "leftCliff"] = k;
4355
+ n[g][b === 1 ? "rightCliff" : "leftCliff"] = M;
4354
4356
  });
4355
4357
  else {
4356
4358
  let b = p;
@@ -4390,8 +4392,8 @@ function Ip() {
4390
4392
  class vr extends Ca {
4391
4393
  }
4392
4394
  vr.defaultOptions = vc(Ca.defaultOptions, yc.defaultOptions), bc(vr.prototype, { getGraphPath: br.getGraphPath, getStackPoints: br.getStackPoints, drawGraph: br.drawGraph }), at.registerSeriesType("areaspline", vr);
4393
- let { animObject: kc } = gt, { parse: wc } = tt, { noop: Mc } = C, { clamp: Qi, crisp: ts, defined: Pa, extend: Oa, fireEvent: La, isArray: Ea, isNumber: es, merge: kr, pick: di, objectEach: Sc } = B;
4394
- class is extends At {
4395
+ let { animObject: kc } = gt, { parse: wc } = et, { noop: Mc } = C, { clamp: Qi, crisp: ts, defined: Pa, extend: Oa, fireEvent: La, isArray: Ea, isNumber: es, merge: kr, pick: di, objectEach: Sc } = B;
4396
+ class is extends Tt {
4395
4397
  animate(t) {
4396
4398
  let e, i, s = this, r = this.yAxis, o = r.pos, a = r.reversed, n = s.options, { clipOffset: h, inverted: c } = this.chart, d = {}, p = c ? "translateX" : "translateY";
4397
4399
  t && h ? (d.scaleY = 1e-3, i = Qi(r.toPixels(n.threshold || 0), o, o + r.len), c ? d.translateX = (i += a ? -Math.floor(h[0]) : Math.ceil(h[2])) - r.len : d.translateY = i += a ? Math.ceil(h[0]) : -Math.floor(h[2]), s.clipBox && s.setClip(), s.group.attr(d)) : (e = Number(s.group.attr(p)), s.group.animate({ scaleY: 1 }, Oa(kc(s.options.animation), { step: function(u, g) {
@@ -4442,9 +4444,9 @@ function Ip() {
4442
4444
  }
4443
4445
  translate() {
4444
4446
  let t = this, e = t.chart, i = t.options, s = t.dense = t.closestPointRange * t.xAxis.transA < 2, r = t.borderWidth = di(i.borderWidth, +!s), o = t.xAxis, a = t.yAxis, n = i.threshold, h = di(i.minPointLength, 5), c = t.getColumnMetrics(), d = c.width, p = t.pointXOffset = c.offset, u = t.dataMin, g = t.dataMax, x = t.translatedThreshold = a.getThreshold(n), m = t.barW = Math.max(d, 1 + 2 * r);
4445
- i.pointPadding && i.crisp && (m = Math.ceil(m)), At.prototype.translate.apply(t), t.points.forEach(function(f) {
4446
- let y = di(f.yBottom, x), b = 999 + Math.abs(y), v = f.plotX || 0, w = Qi(f.plotY, -b, a.len + b), k, S = Math.min(w, y), M = Math.max(w, y) - S, A = d, P = v + p, T = m;
4447
- h && Math.abs(M) < h && (M = h, k = !a.reversed && !f.negative || a.reversed && f.negative, es(n) && es(g) && f.y === n && g <= n && (a.min || 0) < n && (u !== g || (a.max || 0) <= n) && (k = !k, f.negative = !f.negative), S = Math.abs(S - x) > h ? y - h : x - (k ? h : 0)), Pa(f.options.pointWidth) && (P -= Math.round(((A = T = Math.ceil(f.options.pointWidth)) - d) / 2)), i.centerInCategory && (P = t.adjustForMissingColumns(P, A, f, c)), f.barX = P, f.pointWidth = A, f.tooltipPos = e.inverted ? [Qi(a.len + a.pos - e.plotLeft - w, a.pos - e.plotLeft, a.len + a.pos - e.plotLeft), o.len + o.pos - e.plotTop - P - T / 2, M] : [o.left - e.plotLeft + P + T / 2, Qi(w + a.pos - e.plotTop, a.pos - e.plotTop, a.len + a.pos - e.plotTop), M], f.shapeType = t.pointClass.prototype.shapeType || "roundedRect", f.shapeArgs = t.crispCol(P, S, T, f.isNull ? 0 : M);
4447
+ i.pointPadding && i.crisp && (m = Math.ceil(m)), Tt.prototype.translate.apply(t), t.points.forEach(function(f) {
4448
+ let y = di(f.yBottom, x), b = 999 + Math.abs(y), v = f.plotX || 0, k = Qi(f.plotY, -b, a.len + b), M, S = Math.min(k, y), w = Math.max(k, y) - S, A = d, P = v + p, T = m;
4449
+ h && Math.abs(w) < h && (w = h, M = !a.reversed && !f.negative || a.reversed && f.negative, es(n) && es(g) && f.y === n && g <= n && (a.min || 0) < n && (u !== g || (a.max || 0) <= n) && (M = !M, f.negative = !f.negative), S = Math.abs(S - x) > h ? y - h : x - (M ? h : 0)), Pa(f.options.pointWidth) && (P -= Math.round(((A = T = Math.ceil(f.options.pointWidth)) - d) / 2)), i.centerInCategory && (P = t.adjustForMissingColumns(P, A, f, c)), f.barX = P, f.pointWidth = A, f.tooltipPos = e.inverted ? [Qi(a.len + a.pos - e.plotLeft - k, a.pos - e.plotLeft, a.len + a.pos - e.plotLeft), o.len + o.pos - e.plotTop - P - T / 2, w] : [o.left - e.plotLeft + P + T / 2, Qi(k + a.pos - e.plotTop, a.pos - e.plotTop, a.len + a.pos - e.plotTop), w], f.shapeType = t.pointClass.prototype.shapeType || "roundedRect", f.shapeArgs = t.crispCol(P, S, T, f.isNull ? 0 : w);
4448
4450
  }), La(this, "afterColumnTranslate");
4449
4451
  }
4450
4452
  drawGraph() {
@@ -4483,28 +4485,28 @@ function Ip() {
4483
4485
  let t = this, e = t.chart;
4484
4486
  e.hasRendered && e.series.forEach(function(i) {
4485
4487
  i.type === t.type && (i.isDirty = !0);
4486
- }), At.prototype.remove.apply(t, arguments);
4488
+ }), Tt.prototype.remove.apply(t, arguments);
4487
4489
  }
4488
4490
  }
4489
- is.defaultOptions = kr(At.defaultOptions, { borderRadius: 3, centerInCategory: !1, groupPadding: 0.2, marker: null, pointPadding: 0.1, minPointLength: 0, cropThreshold: 50, pointRange: null, states: { hover: { halo: !1, brightness: 0.1 }, select: { color: "#cccccc", borderColor: "#000000" } }, dataLabels: { align: void 0, verticalAlign: void 0, y: void 0 }, startFromThreshold: !0, stickyTracking: !1, tooltip: { distance: 6 }, threshold: 0, borderColor: "#ffffff" }), Oa(is.prototype, { directTouch: !0, getSymbol: Mc, negStacks: !0, trackerGroups: ["group", "dataLabelsGroup"] }), at.registerSeriesType("column", is);
4490
- let ss = is, { getDeferredAnimation: Tc } = gt, { format: Ac } = Lt, { defined: ye, extend: Ia, fireEvent: wr, getAlignFactor: Da, isArray: oe, isString: ci, merge: pi, objectEach: Cc, pick: ui, pInt: Pc, splat: Ba } = B;
4491
+ is.defaultOptions = kr(Tt.defaultOptions, { borderRadius: 3, centerInCategory: !1, groupPadding: 0.2, marker: null, pointPadding: 0.1, minPointLength: 0, cropThreshold: 50, pointRange: null, states: { hover: { halo: !1, brightness: 0.1 }, select: { color: "#cccccc", borderColor: "#000000" } }, dataLabels: { align: void 0, verticalAlign: void 0, y: void 0 }, startFromThreshold: !0, stickyTracking: !1, tooltip: { distance: 6 }, threshold: 0, borderColor: "#ffffff" }), Oa(is.prototype, { directTouch: !0, getSymbol: Mc, negStacks: !0, trackerGroups: ["group", "dataLabelsGroup"] }), at.registerSeriesType("column", is);
4492
+ let ss = is, { getDeferredAnimation: Tc } = gt, { format: Ac } = Lt, { defined: be, extend: Ia, fireEvent: wr, getAlignFactor: Da, isArray: oe, isString: ci, merge: pi, objectEach: Cc, pick: ui, pInt: Pc, splat: Ba } = B;
4491
4493
  (function(l) {
4492
4494
  function t() {
4493
4495
  return n(this).some((c) => c?.enabled);
4494
4496
  }
4495
4497
  function e(c, d, p, u, g) {
4496
- let { chart: x, enabledDataSorting: m } = this, f = this.isCartesian && x.inverted, y = c.plotX, b = c.plotY, v = p.rotation || 0, w = ye(y) && ye(b) && x.isInsidePlot(y, Math.round(b), { inverted: f, paneCoordinates: !0, series: this }), k = v === 0 && ui(p.overflow, m ? "none" : "justify") === "justify", S = this.visible && c.visible !== !1 && ye(y) && (c.series.forceDL || m && !k || w || ui(p.inside, !!this.options.stacking) && u && x.isInsidePlot(y, f ? u.x + 1 : u.y + u.height - 1, { inverted: f, paneCoordinates: !0, series: this })), M = c.pos();
4497
- if (S && M) {
4498
+ let { chart: x, enabledDataSorting: m } = this, f = this.isCartesian && x.inverted, y = c.plotX, b = c.plotY, v = p.rotation || 0, k = be(y) && be(b) && x.isInsidePlot(y, Math.round(b), { inverted: f, paneCoordinates: !0, series: this }), M = v === 0 && ui(p.overflow, m ? "none" : "justify") === "justify", S = this.visible && c.visible !== !1 && be(y) && (c.series.forceDL || m && !M || k || ui(p.inside, !!this.options.stacking) && u && x.isInsidePlot(y, f ? u.x + 1 : u.y + u.height - 1, { inverted: f, paneCoordinates: !0, series: this })), w = c.pos();
4499
+ if (S && w) {
4498
4500
  var A;
4499
4501
  let P = d.getBBox(), T = d.getBBox(void 0, 0);
4500
- if (u = Ia({ x: M[0], y: Math.round(M[1]), width: 0, height: 0 }, u || {}), p.alignTo === "plotEdges" && this.isCartesian && (u[f ? "x" : "y"] = 0, u[f ? "width" : "height"] = this.yAxis?.len || 0), Ia(p, { width: P.width, height: P.height }), A = u, m && this.xAxis && !k && this.setDataLabelStartPos(c, d, g, w, A), d.align(pi(p, { width: T.width, height: T.height }), !1, u, !1), d.alignAttr.x += Da(p.align) * (T.width - P.width), d.alignAttr.y += Da(p.verticalAlign) * (T.height - P.height), d[d.placed ? "animate" : "attr"]({ "text-align": d.alignAttr["text-align"] || "center", x: d.alignAttr.x + (P.width - T.width) / 2, y: d.alignAttr.y + (P.height - T.height) / 2, rotationOriginX: (d.width || 0) / 2, rotationOriginY: (d.height || 0) / 2 }), k && u.height >= 0) this.justifyDataLabel(d, p, d.alignAttr, P, u, g);
4502
+ if (u = Ia({ x: w[0], y: Math.round(w[1]), width: 0, height: 0 }, u || {}), p.alignTo === "plotEdges" && this.isCartesian && (u[f ? "x" : "y"] = 0, u[f ? "width" : "height"] = this.yAxis?.len || 0), Ia(p, { width: P.width, height: P.height }), A = u, m && this.xAxis && !M && this.setDataLabelStartPos(c, d, g, k, A), d.align(pi(p, { width: T.width, height: T.height }), !1, u, !1), d.alignAttr.x += Da(p.align) * (T.width - P.width), d.alignAttr.y += Da(p.verticalAlign) * (T.height - P.height), d[d.placed ? "animate" : "attr"]({ "text-align": d.alignAttr["text-align"] || "center", x: d.alignAttr.x + (P.width - T.width) / 2, y: d.alignAttr.y + (P.height - T.height) / 2, rotationOriginX: (d.width || 0) / 2, rotationOriginY: (d.height || 0) / 2 }), M && u.height >= 0) this.justifyDataLabel(d, p, d.alignAttr, P, u, g);
4501
4503
  else if (ui(p.crop, !0)) {
4502
4504
  let { x: L, y: I } = d.alignAttr;
4503
4505
  S = x.isInsidePlot(L, I, { paneCoordinates: !0, series: this }) && x.isInsidePlot(L + P.width - 1, I + P.height - 1, { paneCoordinates: !0, series: this });
4504
4506
  }
4505
- p.shape && !v && d[g ? "attr" : "animate"]({ anchorX: M[0], anchorY: M[1] });
4507
+ p.shape && !v && d[g ? "attr" : "animate"]({ anchorX: w[0], anchorY: w[1] });
4506
4508
  }
4507
- g && m && (d.placed = !1), S || m && !k ? (d.show(), d.placed = !0) : (d.hide(), d.placed = !1);
4509
+ g && m && (d.placed = !1), S || m && !M ? (d.show(), d.placed = !0) : (d.hide(), d.placed = !1);
4508
4510
  }
4509
4511
  function i() {
4510
4512
  return this.plotGroup("dataLabelsGroup", "data-labels", this.hasRendered ? "inherit" : "hidden", this.options.dataLabels.zIndex || 6, this.chart.dataLabelsGroup);
@@ -4516,9 +4518,9 @@ function Ip() {
4516
4518
  function r(c) {
4517
4519
  let d;
4518
4520
  c = c || this.points;
4519
- let p = this, u = p.chart, g = p.options, x = u.renderer, { backgroundColor: m, plotBackgroundColor: f } = u.options.chart, y = x.getContrast(ci(f) && f || ci(m) && m || "#000000"), b = n(p), { animation: v, defer: w } = b[0], k = w ? Tc(u, v, p) : { defer: 0, duration: 0 };
4520
- wr(this, "drawDataLabels"), p.hasDataLabels?.() && (d = this.initDataLabels(k), c.forEach((S) => {
4521
- let M = S.dataLabels || [], A = S.color || p.color;
4521
+ let p = this, u = p.chart, g = p.options, x = u.renderer, { backgroundColor: m, plotBackgroundColor: f } = u.options.chart, y = x.getContrast(ci(f) && f || ci(m) && m || "#000000"), b = n(p), { animation: v, defer: k } = b[0], M = k ? Tc(u, v, p) : { defer: 0, duration: 0 };
4522
+ wr(this, "drawDataLabels"), p.hasDataLabels?.() && (d = this.initDataLabels(M), c.forEach((S) => {
4523
+ let w = S.dataLabels || [], A = S.color || p.color;
4522
4524
  Ba(a(b, S.dlOptions || S.options?.dataLabels)).forEach((T, L) => {
4523
4525
  let I = T.enabled && (S.visible || S.dataLabelOnHidden) && (!S.isNull || S.dataLabelOnNull) && (function($, Z) {
4524
4526
  let q = Z.filter;
@@ -4527,19 +4529,19 @@ function Ip() {
4527
4529
  return vt === ">" && kt > wt || vt === "<" && kt < wt || vt === ">=" && kt >= wt || vt === "<=" && kt <= wt || vt === "==" && kt == wt || vt === "===" && kt === wt || vt === "!=" && kt != wt || vt === "!==" && kt !== wt || !1;
4528
4530
  }
4529
4531
  return !0;
4530
- })(S, T), { backgroundColor: D, borderColor: O, distance: E, style: N = {} } = T, rt, Y, F, X = {}, W = M[L], V = !W, U;
4531
- I && (Y = ye(rt = ui(T[S.formatPrefix + "Format"], T.format)) ? Ac(rt, S, u) : (T[S.formatPrefix + "Formatter"] || T.formatter).call(S, T), F = T.rotation, !u.styledMode && (N.color = ui(T.color, N.color, ci(p.color) ? p.color : void 0, "#000000"), N.color === "contrast" ? (D !== "none" && (U = D), S.contrastColor = x.getContrast(U !== "auto" && ci(U) && U || (ci(A) ? A : "")), N.color = U || !ye(E) && T.inside || 0 > Pc(E || 0) || g.stacking ? S.contrastColor : y) : delete S.contrastColor, g.cursor && (N.cursor = g.cursor)), X = { r: T.borderRadius || 0, rotation: F, padding: T.padding, zIndex: 1 }, u.styledMode || (X.fill = D === "auto" ? S.color : D, X.stroke = O === "auto" ? S.color : O, X["stroke-width"] = T.borderWidth), Cc(X, ($, Z) => {
4532
+ })(S, T), { backgroundColor: D, borderColor: O, distance: E, style: N = {} } = T, _, F, G, X = {}, W = w[L], V = !W, U;
4533
+ I && (F = be(_ = ui(T[S.formatPrefix + "Format"], T.format)) ? Ac(_, S, u) : (T[S.formatPrefix + "Formatter"] || T.formatter).call(S, T), G = T.rotation, !u.styledMode && (N.color = ui(T.color, N.color, ci(p.color) ? p.color : void 0, "#000000"), N.color === "contrast" ? (D !== "none" && (U = D), S.contrastColor = x.getContrast(U !== "auto" && ci(U) && U || (ci(A) ? A : "")), N.color = U || !be(E) && T.inside || 0 > Pc(E || 0) || g.stacking ? S.contrastColor : y) : delete S.contrastColor, g.cursor && (N.cursor = g.cursor)), X = { r: T.borderRadius || 0, rotation: G, padding: T.padding, zIndex: 1 }, u.styledMode || (X.fill = D === "auto" ? S.color : D, X.stroke = O === "auto" ? S.color : O, X["stroke-width"] = T.borderWidth), Cc(X, ($, Z) => {
4532
4534
  $ === void 0 && delete X[Z];
4533
- })), !W || I && ye(Y) && !!(W.div || W.text?.foreignObject) == !!T.useHTML && (W.rotation && T.rotation || W.rotation === T.rotation) || (W = void 0, V = !0), I && ye(Y) && Y !== "" && (W ? X.text = Y : (W = x.label(Y, 0, 0, T.shape, void 0, void 0, T.useHTML, void 0, "data-label")).addClass(" highcharts-data-label-color-" + S.colorIndex + " " + (T.className || "") + (T.useHTML ? " highcharts-tracker" : "")), W && (W.options = T, W.attr(X), u.styledMode ? N.width && W.css({ width: N.width, textOverflow: N.textOverflow, whiteSpace: N.whiteSpace }) : W.css(N).shadow(T.shadow), wr(W, "beforeAddingDataLabel", { labelOptions: T, point: S }), W.added || W.add(d), p.alignDataLabel(S, W, T, void 0, V), W.isActive = !0, M[L] && M[L] !== W && M[L].destroy(), M[L] = W));
4535
+ })), !W || I && be(F) && !!(W.div || W.text?.foreignObject) == !!T.useHTML && (W.rotation && T.rotation || W.rotation === T.rotation) || (W = void 0, V = !0), I && be(F) && F !== "" && (W ? X.text = F : (W = x.label(F, 0, 0, T.shape, void 0, void 0, T.useHTML, void 0, "data-label")).addClass(" highcharts-data-label-color-" + S.colorIndex + " " + (T.className || "") + (T.useHTML ? " highcharts-tracker" : "")), W && (W.options = T, W.attr(X), u.styledMode ? N.width && W.css({ width: N.width, textOverflow: N.textOverflow, whiteSpace: N.whiteSpace }) : W.css(N).shadow(T.shadow), wr(W, "beforeAddingDataLabel", { labelOptions: T, point: S }), W.added || W.add(d), p.alignDataLabel(S, W, T, void 0, V), W.isActive = !0, w[L] && w[L] !== W && w[L].destroy(), w[L] = W));
4534
4536
  });
4535
- let P = M.length;
4536
- for (; P--; ) M[P]?.isActive ? M[P].isActive = !1 : (M[P]?.destroy(), M.splice(P, 1));
4537
- S.dataLabel = M[0], S.dataLabels = M;
4537
+ let P = w.length;
4538
+ for (; P--; ) w[P]?.isActive ? w[P].isActive = !1 : (w[P]?.destroy(), w.splice(P, 1));
4539
+ S.dataLabel = w[0], S.dataLabels = w;
4538
4540
  })), wr(this, "afterDrawDataLabels");
4539
4541
  }
4540
4542
  function o(c, d, p, u, g, x) {
4541
- let m = this.chart, f = d.align, y = d.verticalAlign, b = c.box ? 0 : c.padding || 0, v = m.inverted ? this.yAxis : this.xAxis, w = v ? v.left - m.plotLeft : 0, k = m.inverted ? this.xAxis : this.yAxis, S = k ? k.top - m.plotTop : 0, { x: M = 0, y: A = 0 } = d, P, T;
4542
- return (P = (p.x || 0) + b + w) < 0 && (f === "right" && M >= 0 ? (d.align = "left", d.inside = !0) : M -= P, T = !0), (P = (p.x || 0) + u.width - b + w) > m.plotWidth && (f === "left" && M <= 0 ? (d.align = "right", d.inside = !0) : M += m.plotWidth - P, T = !0), (P = p.y + b + S) < 0 && (y === "bottom" && A >= 0 ? (d.verticalAlign = "top", d.inside = !0) : A -= P, T = !0), (P = (p.y || 0) + u.height - b + S) > m.plotHeight && (y === "top" && A <= 0 ? (d.verticalAlign = "bottom", d.inside = !0) : A += m.plotHeight - P, T = !0), T && (d.x = M, d.y = A, c.placed = !x, c.align(d, void 0, g)), T;
4543
+ let m = this.chart, f = d.align, y = d.verticalAlign, b = c.box ? 0 : c.padding || 0, v = m.inverted ? this.yAxis : this.xAxis, k = v ? v.left - m.plotLeft : 0, M = m.inverted ? this.xAxis : this.yAxis, S = M ? M.top - m.plotTop : 0, { x: w = 0, y: A = 0 } = d, P, T;
4544
+ return (P = (p.x || 0) + b + k) < 0 && (f === "right" && w >= 0 ? (d.align = "left", d.inside = !0) : w -= P, T = !0), (P = (p.x || 0) + u.width - b + k) > m.plotWidth && (f === "left" && w <= 0 ? (d.align = "right", d.inside = !0) : w += m.plotWidth - P, T = !0), (P = p.y + b + S) < 0 && (y === "bottom" && A >= 0 ? (d.verticalAlign = "top", d.inside = !0) : A -= P, T = !0), (P = (p.y || 0) + u.height - b + S) > m.plotHeight && (y === "top" && A <= 0 ? (d.verticalAlign = "bottom", d.inside = !0) : A += m.plotHeight - P, T = !0), T && (d.x = w, d.y = A, c.placed = !x, c.align(d, void 0, g)), T;
4543
4545
  }
4544
4546
  function a(c, d) {
4545
4547
  let p = [], u;
@@ -4559,15 +4561,15 @@ function Ip() {
4559
4561
  return Ba(a(a(d?.series?.dataLabels, d?.[c.type]?.dataLabels), c.options.dataLabels));
4560
4562
  }
4561
4563
  function h(c, d, p, u, g) {
4562
- let x = this.chart, m = x.inverted, f = this.xAxis, y = f.reversed, b = ((m ? d.height : d.width) || 0) / 2, v = c.pointWidth, w = v ? v / 2 : 0;
4563
- d.startXPos = m ? g.x : y ? -b - w : f.width - b + w, d.startYPos = m ? y ? this.yAxis.height - b + w : -b - w : g.y, u ? d.visibility === "hidden" && (d.show(), d.attr({ opacity: 0 }).animate({ opacity: 1 })) : d.attr({ opacity: 1 }).animate({ opacity: 0 }, void 0, d.hide), x.hasRendered && (p && d.attr({ x: d.startXPos, y: d.startYPos }), d.placed = !0);
4564
+ let x = this.chart, m = x.inverted, f = this.xAxis, y = f.reversed, b = ((m ? d.height : d.width) || 0) / 2, v = c.pointWidth, k = v ? v / 2 : 0;
4565
+ d.startXPos = m ? g.x : y ? -b - k : f.width - b + k, d.startYPos = m ? y ? this.yAxis.height - b + k : -b - k : g.y, u ? d.visibility === "hidden" && (d.show(), d.attr({ opacity: 0 }).animate({ opacity: 1 })) : d.attr({ opacity: 1 }).animate({ opacity: 0 }, void 0, d.hide), x.hasRendered && (p && d.attr({ x: d.startXPos, y: d.startYPos }), d.placed = !0);
4564
4566
  }
4565
4567
  l.compose = function(c) {
4566
4568
  let d = c.prototype;
4567
4569
  d.initDataLabels || (d.initDataLabels = s, d.initDataLabelsGroup = i, d.alignDataLabel = e, d.drawDataLabels = r, d.justifyDataLabel = o, d.mergeArrays = a, d.setDataLabelStartPos = h, d.hasDataLabels = t);
4568
4570
  };
4569
- })(we || (we = {}));
4570
- let rs = we, { composed: Oc } = C, { series: Na } = at, { merge: Lc, pushUnique: Ec } = B;
4571
+ })(Me || (Me = {}));
4572
+ let rs = Me, { composed: Oc } = C, { series: Na } = at, { merge: Lc, pushUnique: Ec } = B;
4571
4573
  (function(l) {
4572
4574
  function t(e, i, s, r, o) {
4573
4575
  let { chart: a, options: n } = this, h = a.inverted, c = this.xAxis?.len || a.plotSizeX || 0, d = this.yAxis?.len || a.plotSizeY || 0, p = e.dlBox || e.shapeArgs, u = e.below ?? (e.plotY || 0) > (this.translatedThreshold ?? d), g = s.inside ?? !!n.stacking;
@@ -4584,8 +4586,8 @@ function Ip() {
4584
4586
  l.compose = function(e) {
4585
4587
  rs.compose(Na), Ec(Oc, "ColumnDataLabel") && (e.prototype.alignDataLabel = t);
4586
4588
  };
4587
- })(Me || (Me = {}));
4588
- let Ic = Me, { extend: Dc, merge: Bc } = B;
4589
+ })(Se || (Se = {}));
4590
+ let Ic = Se, { extend: Dc, merge: Bc } = B;
4589
4591
  class Mr extends ss {
4590
4592
  }
4591
4593
  Mr.defaultOptions = Bc(ss.defaultOptions, {}), Dc(Mr.prototype, { inverted: !0 }), at.registerSeriesType("bar", Mr);
@@ -4621,7 +4623,7 @@ function Ip() {
4621
4623
  let t = this.options, e = this.chart, i = 2 * (t.slicedOffset || 0), s = e.plotWidth - 2 * i, r = e.plotHeight - 2 * i, o = t.center, a = Math.min(s, r), n = t.thickness, h, c = t.size, d = t.innerSize || 0, p, u;
4622
4624
  typeof c == "string" && (c = parseFloat(c)), typeof d == "string" && (d = parseFloat(d));
4623
4625
  let g = [as(o?.[0], "50%"), as(o?.[1], "50%"), as(c && c < 0 ? void 0 : t.size, "100%"), as(d && d < 0 ? void 0 : t.innerSize || 0, "0%")];
4624
- for (!e.angular || this instanceof At || (g[3] = 0), p = 0; p < 4; ++p) u = g[p], h = p < 2 || p === 2 && /%$/.test(u), g[p] = Hc(u, [s, r, a, g[2]][p]) + (h ? i : 0);
4626
+ for (!e.angular || this instanceof Tt || (g[3] = 0), p = 0; p < 4; ++p) u = g[p], h = p < 2 || p === 2 && /%$/.test(u), g[p] = Hc(u, [s, r, a, g[2]][p]) + (h ? i : 0);
4625
4627
  return g[3] > g[2] && (g[3] = g[2]), Sr(n) && 2 * n < g[2] && n > 0 && (g[3] = g[2] - 2 * n), Xc(this, "afterGetCenter", { positions: g }), g;
4626
4628
  }, l.getStartAndEndRadians = function(t, e) {
4627
4629
  let i = Sr(t) ? t : 0, s = Sr(e) && e > i && e - i < 360 ? e : i + 360;
@@ -4675,7 +4677,7 @@ function Ip() {
4675
4677
  return (u ? m <= g && m >= s.x : m >= g && m <= s.x) && f.push(["L", m, x]), f.push(["L", s.x, s.y], ["L", r.x, r.y]), f;
4676
4678
  } } });
4677
4679
  let { getStartAndEndRadians: $c } = Wa, { noop: Fa } = C, { clamp: Zc, extend: qc, fireEvent: Ga, merge: Tr, pick: Kc } = B;
4678
- class Ar extends At {
4680
+ class Ar extends Tt {
4679
4681
  animate(t) {
4680
4682
  let e = this, i = e.points, s = e.startAngleRad;
4681
4683
  t || i.forEach(function(r) {
@@ -4701,7 +4703,7 @@ function Ip() {
4701
4703
  return r[0] + Math.cos(h) * (o + n) * (e ? -1 : 1) + (n > 0 ? (e ? -1 : 1) * (s.padding || 0) : 0);
4702
4704
  }
4703
4705
  hasData() {
4704
- return !!this.dataTable.rowCount;
4706
+ return this.points.some((t) => t.visible);
4705
4707
  }
4706
4708
  redrawPoints() {
4707
4709
  let t, e, i, s, r = this, o = r.chart;
@@ -4731,10 +4733,10 @@ function Ip() {
4731
4733
  for (s = 0, this.total = o; s < e; s++) (r = t[s]).percentage = o > 0 && (r.visible || !i) ? r.y / o * 100 : 0, r.total = o;
4732
4734
  }
4733
4735
  }
4734
- Ar.defaultOptions = Tr(At.defaultOptions, { borderRadius: 3, center: [null, null], clip: !1, colorByPoint: !0, dataLabels: { connectorPadding: 5, connectorShape: "crookedLine", crookDistance: void 0, distance: 30, enabled: !0, formatter: function() {
4736
+ Ar.defaultOptions = Tr(Tt.defaultOptions, { borderRadius: 3, center: [null, null], clip: !1, colorByPoint: !0, dataLabels: { connectorPadding: 5, connectorShape: "crookedLine", crookDistance: void 0, distance: 30, enabled: !0, formatter: function() {
4735
4737
  return this.isNull ? void 0 : this.name;
4736
4738
  }, softConnector: !0, x: 0 }, fillColor: void 0, ignoreHiddenPoint: !0, inactiveOtherPoints: !0, legendType: "point", marker: null, size: null, showInLegend: !1, slicedOffset: 10, stickyTracking: !1, tooltip: { followPointer: !0 }, borderColor: "#ffffff", borderWidth: 1, lineWidth: void 0, states: { hover: { brightness: 0.1 } } }), qc(Ar.prototype, { axisTypes: [], directTouch: !0, drawGraph: void 0, drawTracker: ss.prototype.drawTracker, getCenter: Wa.getCenter, getSymbol: Fa, invertible: !1, isCartesian: !1, noSharedTooltip: !0, pointAttribs: ss.prototype.pointAttribs, pointClass: Ha, requireSorting: !1, searchPoint: Fa, trackerGroups: ["group", "dataLabelsGroup"] }), at.registerSeriesType("pie", Ar);
4737
- let { composed: _c, noop: Jc } = C, { distribute: Qc } = ki, { series: Ya } = at, { arrayMax: tp, clamp: ja, defined: Ua, pick: ep, pushUnique: ip, relativeLength: Va } = B;
4739
+ let { composed: _c, noop: Jc } = C, { distribute: Qc } = ki, { series: Ya } = at, { arrayMax: tp, clamp: ja, defined: Ua, isNumber: ep, pick: ip, pushUnique: sp, relativeLength: Va } = B;
4738
4740
  (function(l) {
4739
4741
  let t = { radialDistributionY: function(o, a) {
4740
4742
  return (a.dataLabelPosition?.top || 0) + o.distributeBox.pos;
@@ -4759,51 +4761,51 @@ function Ip() {
4759
4761
  return { natural: { x: f + x * a, y: y + m * a }, computed: {}, alignment: a < 0 ? "center" : o.half ? "right" : "left", connectorPosition: { angle: d, breakAt: { x: f + x * b, y: y + m * b }, touchingSliceAt: { x: f, y } }, distance: a };
4760
4762
  }
4761
4763
  function i() {
4762
- let o = this, a = o.points, n = o.chart, h = n.plotWidth, c = n.plotHeight, d = n.plotLeft, p = Math.round(n.chartWidth / 3), u = o.center, g = u[2] / 2, x = u[1], m = [[], []], f = [0, 0, 0, 0], y = o.dataLabelPositioners, b, v, w, k = 0;
4764
+ let o = this, a = o.points, n = o.chart, h = n.plotWidth, c = n.plotHeight, d = n.plotLeft, p = Math.round(n.chartWidth / 3), u = o.center, g = u[2] / 2, x = u[1], m = [[], []], f = [0, 0, 0, 0], y = o.dataLabelPositioners, b, v, k, M = 0;
4763
4765
  o.visible && o.hasDataLabels?.() && (a.forEach((S) => {
4764
- (S.dataLabels || []).forEach((M) => {
4765
- M.shortened && (M.attr({ width: "auto" }).css({ width: "auto", textOverflow: "clip" }), M.shortened = !1);
4766
+ (S.dataLabels || []).forEach((w) => {
4767
+ w.shortened && (w.attr({ width: "auto" }).css({ width: "auto", textOverflow: "clip" }), w.shortened = !1);
4766
4768
  });
4767
4769
  }), Ya.prototype.drawDataLabels.apply(o), a.forEach((S) => {
4768
- (S.dataLabels || []).forEach((M, A) => {
4769
- let P = u[2] / 2, T = M.options, L = Va(T?.distance || 0, P);
4770
- A === 0 && m[S.half].push(S), !Ua(T?.style?.width) && M.getBBox().width > p && (M.css({ width: Math.round(0.7 * p) + "px" }), M.shortened = !0), M.dataLabelPosition = this.getDataLabelPosition(S, L), k = Math.max(k, L);
4770
+ (S.dataLabels || []).forEach((w, A) => {
4771
+ let P = u[2] / 2, T = w.options, L = Va(T?.distance || 0, P);
4772
+ A === 0 && m[S.half].push(S), !Ua(T?.style?.width) && w.getBBox().width > p && (w.css({ width: Math.round(0.7 * p) + "px" }), w.shortened = !0), w.dataLabelPosition = this.getDataLabelPosition(S, L), M = Math.max(M, L);
4771
4773
  });
4772
- }), m.forEach((S, M) => {
4774
+ }), m.forEach((S, w) => {
4773
4775
  let A = S.length, P = [], T, L, I = 0, D;
4774
- A && (o.sortByAngle(S, M - 0.5), k > 0 && (T = Math.max(0, x - g - k), L = Math.min(x + g + k, n.plotHeight), S.forEach((O) => {
4776
+ A && (o.sortByAngle(S, w - 0.5), M > 0 && (T = Math.max(0, x - g - M), L = Math.min(x + g + M, n.plotHeight), S.forEach((O) => {
4775
4777
  (O.dataLabels || []).forEach((E) => {
4776
4778
  let N = E.dataLabelPosition;
4777
4779
  N && N.distance > 0 && (N.top = Math.max(0, x - g - N.distance), N.bottom = Math.min(x + g + N.distance, n.plotHeight), I = E.getBBox().height || 21, E.lineHeight = n.renderer.fontMetrics(E.text || E).h + 2 * E.padding, O.distributeBox = { target: (E.dataLabelPosition?.natural.y || 0) - N.top + E.lineHeight / 2, size: I, rank: O.y }, P.push(O.distributeBox));
4778
4780
  });
4779
4781
  }), Qc(P, D = L + I - T, D / 5)), S.forEach((O) => {
4780
4782
  (O.dataLabels || []).forEach((E) => {
4781
- let N = E.options || {}, rt = O.distributeBox, Y = E.dataLabelPosition, F = Y?.natural.y || 0, X = N.connectorPadding || 0, W = E.lineHeight || 21, V = (W - E.getBBox().height) / 2, U = 0, $ = F, Z = "inherit";
4782
- if (Y) {
4783
- if (P && Ua(rt) && Y.distance > 0 && (rt.pos === void 0 ? Z = "hidden" : (w = rt.size, $ = y.radialDistributionY(O, E))), N.justify) U = y.justify(O, E, g, u);
4783
+ let N = E.options || {}, _ = O.distributeBox, F = E.dataLabelPosition, G = F?.natural.y || 0, X = N.connectorPadding || 0, W = E.lineHeight || 21, V = (W - E.getBBox().height) / 2, U = 0, $ = G, Z = "inherit";
4784
+ if (F) {
4785
+ if (P && Ua(_) && F.distance > 0 && (_.pos === void 0 ? Z = "hidden" : (k = _.size, $ = y.radialDistributionY(O, E))), N.justify) U = y.justify(O, E, g, u);
4784
4786
  else switch (N.alignTo) {
4785
4787
  case "connectors":
4786
- U = y.alignToConnectors(S, M, h, d);
4788
+ U = y.alignToConnectors(S, w, h, d);
4787
4789
  break;
4788
4790
  case "plotEdges":
4789
- U = y.alignToPlotEdges(E, M, h, d);
4791
+ U = y.alignToPlotEdges(E, w, h, d);
4790
4792
  break;
4791
4793
  default:
4792
- U = y.radialDistributionX(o, O, $ - V, F, E);
4794
+ U = y.radialDistributionX(o, O, $ - V, G, E);
4793
4795
  }
4794
- if (Y.attribs = { visibility: Z, align: Y.alignment }, Y.posAttribs = { x: U + (N.x || 0) + ({ left: X, right: -X }[Y.alignment] || 0), y: $ + (N.y || 0) - W / 2 }, Y.computed.x = U, Y.computed.y = $ - V, ep(N.crop, !0)) {
4796
+ if (F.attribs = { visibility: Z, align: F.alignment }, F.posAttribs = { x: U + (N.x || 0) + ({ left: X, right: -X }[F.alignment] || 0), y: $ + (N.y || 0) - W / 2 }, F.computed.x = U, F.computed.y = $ - V, ip(N.crop, !0)) {
4795
4797
  let q;
4796
- U - (v = E.getBBox().width) < X && M === 1 ? (q = Math.round(v - U + X), f[3] = Math.max(q, f[3])) : U + v > h - X && M === 0 && (q = Math.round(U + v - h + X), f[1] = Math.max(q, f[1])), $ - w / 2 < 0 ? f[0] = Math.max(Math.round(-$ + w / 2), f[0]) : $ + w / 2 > c && (f[2] = Math.max(Math.round($ + w / 2 - c), f[2])), Y.sideOverflow = q;
4798
+ U - (v = E.getBBox().width) < X && w === 1 ? (q = Math.round(v - U + X), f[3] = Math.max(q, f[3])) : U + v > h - X && w === 0 && (q = Math.round(U + v - h + X), f[1] = Math.max(q, f[1])), $ - k / 2 < 0 ? f[0] = Math.max(Math.round(-$ + k / 2), f[0]) : $ + k / 2 > c && (f[2] = Math.max(Math.round($ + k / 2 - c), f[2])), F.sideOverflow = q;
4797
4799
  }
4798
4800
  }
4799
4801
  });
4800
4802
  }));
4801
4803
  }), (tp(f) === 0 || this.verifyDataLabelOverflow(f)) && (this.placeDataLabels(), this.points.forEach((S) => {
4802
- (S.dataLabels || []).forEach((M) => {
4803
- let { connectorColor: A, connectorWidth: P = 1 } = M.options || {}, T = M.dataLabelPosition;
4804
- if (P) {
4804
+ (S.dataLabels || []).forEach((w) => {
4805
+ let { connectorColor: A, connectorWidth: P = 1 } = w.options || {}, T = w.dataLabelPosition;
4806
+ if (ep(P)) {
4805
4807
  let L;
4806
- b = M.connector, T && T.distance > 0 ? (L = !b, b || (M.connector = b = n.renderer.path().addClass("highcharts-data-label-connector highcharts-color-" + S.colorIndex + (S.className ? " " + S.className : "")).add(o.dataLabelsGroup)), n.styledMode || b.attr({ "stroke-width": P, stroke: A || S.color || "#666666" }), b[L ? "attr" : "animate"]({ d: S.getConnectorPath(M) }), b.attr({ visibility: T.attribs?.visibility })) : b && (M.connector = b.destroy());
4808
+ b = w.connector, T && T.distance > 0 ? (L = !b, b || (w.connector = b = n.renderer.path().addClass("highcharts-data-label-connector highcharts-color-" + S.colorIndex + (S.className ? " " + S.className : "")).add(o.dataLabelsGroup)), n.styledMode || b.attr({ "stroke-width": P, stroke: A || S.color || "#666666" }), b[L ? "attr" : "animate"]({ d: S.getConnectorPath(w) }), b.attr({ visibility: T.attribs?.visibility })) : b && (w.connector = b.destroy());
4807
4809
  }
4808
4810
  });
4809
4811
  })));
@@ -4821,13 +4823,13 @@ function Ip() {
4821
4823
  return !p && (h[0] !== null ? d = Math.max(a[2] - Math.max(o[1], o[3]), c) : (d = Math.max(a[2] - o[1] - o[3], c), a[0] += (o[3] - o[1]) / 2), h[1] !== null ? d = ja(d, c, a[2] - Math.max(o[0], o[2])) : (d = ja(d, c, a[2] - o[0] - o[2]), a[1] += (o[0] - o[2]) / 2), d < a[2] ? (a[2] = d, a[3] = Math.min(n.thickness ? Math.max(0, d - 2 * n.thickness) : Math.max(0, Va(n.innerSize || 0, d)), d), this.translate(a), this.drawDataLabels && this.drawDataLabels()) : p = !0), p;
4822
4824
  }
4823
4825
  l.compose = function(o) {
4824
- if (rs.compose(Ya), ip(_c, "PieDataLabel")) {
4826
+ if (rs.compose(Ya), sp(_c, "PieDataLabel")) {
4825
4827
  let a = o.prototype;
4826
4828
  a.dataLabelPositioners = t, a.alignDataLabel = Jc, a.drawDataLabels = i, a.getDataLabelPosition = e, a.placeDataLabels = s, a.verifyDataLabelOverflow = r;
4827
4829
  }
4828
4830
  };
4829
- })(J || (J = {}));
4830
- let sp = J;
4831
+ })(Q || (Q = {}));
4832
+ let rp = Q;
4831
4833
  (function(l) {
4832
4834
  l.getCenterOfPoints = function(t) {
4833
4835
  let e = t.reduce((i, s) => (i.x += s.x, i.y += s.y, i), { x: 0, y: 0 });
@@ -4845,15 +4847,15 @@ function Ip() {
4845
4847
  return a;
4846
4848
  };
4847
4849
  })(ot || (ot = {}));
4848
- let { pointInPolygon: rp } = ot, { addEvent: op, getAlignFactor: ap, fireEvent: $a, objectEach: Za, pick: np } = B;
4849
- function lp(l) {
4850
+ let { pointInPolygon: op } = ot, { addEvent: ap, getAlignFactor: np, fireEvent: $a, objectEach: Za, pick: lp } = B;
4851
+ function hp(l) {
4850
4852
  let t = l.length, e = (c, d) => !(d.x >= c.x + c.width || d.x + d.width <= c.x || d.y >= c.y + c.height || d.y + d.height <= c.y), i = (c, d) => {
4851
- for (let p of c) if (rp({ x: p[0], y: p[1] }, d)) return !0;
4853
+ for (let p of c) if (op({ x: p[0], y: p[1] }, d)) return !0;
4852
4854
  return !1;
4853
4855
  }, s, r, o, a, n, h = !1;
4854
4856
  for (let c = 0; c < t; c++) (s = l[c]) && (s.oldOpacity = s.opacity, s.newOpacity = 1, s.absoluteBox = (function(d) {
4855
4857
  if (d && (!d.alignAttr || d.placed)) {
4856
- let p = d.box ? 0 : d.padding || 0, u = d.alignAttr || { x: d.attr("x"), y: d.attr("y") }, { height: g, polygon: x, width: m } = d.getBBox(), f = ap(d.alignValue) * m;
4858
+ let p = d.box ? 0 : d.padding || 0, u = d.alignAttr || { x: d.attr("x"), y: d.attr("y") }, { height: g, polygon: x, width: m } = d.getBBox(), f = np(d.alignValue) * m;
4857
4859
  return d.width = m, d.height = g, { x: u.x + (d.parentGroup?.translateX || 0) + p - f, y: u.y + (d.parentGroup?.translateY || 0) + p, width: m - 2 * p, height: g - 2 * p, polygon: x };
4858
4860
  }
4859
4861
  })(s));
@@ -4882,7 +4884,7 @@ function Ip() {
4882
4884
  t.styledMode || l.css({ pointerEvents: e ? "auto" : "none" });
4883
4885
  }), $a(t, "afterHideOverlappingLabel")) : l.attr({ opacity: e })), l.isOld = !0), i;
4884
4886
  }
4885
- function hp() {
4887
+ function dp() {
4886
4888
  let l = this, t = [];
4887
4889
  for (let e of l.labelCollectors || []) t = t.concat(e());
4888
4890
  for (let e of l.yAxis || []) e.stacking && e.options.stackLabels && !e.options.stackLabels.allowOverlap && Za(e.stacking.stacks, (i) => {
@@ -4894,7 +4896,7 @@ function Ip() {
4894
4896
  let i = (s) => {
4895
4897
  for (let r of s) r.visible && (r.dataLabels || []).forEach((o) => {
4896
4898
  let a = o.options || {};
4897
- o.labelrank = np(a.labelrank, r.labelrank, r.shapeArgs?.height), a.allowOverlap ?? Number(a.distance) > 0 ? (o.oldOpacity = o.opacity, o.newOpacity = 1, qa(o, l)) : t.push(o);
4899
+ o.labelrank = lp(a.labelrank, r.labelrank, r.shapeArgs?.height), a.allowOverlap ?? Number(a.distance) > 0 ? (o.oldOpacity = o.opacity, o.newOpacity = 1, qa(o, l)) : t.push(o);
4898
4900
  });
4899
4901
  };
4900
4902
  i(e.nodes || []), i(e.points);
@@ -4903,24 +4905,24 @@ function Ip() {
4903
4905
  }
4904
4906
  let Ka = { compose: function(l) {
4905
4907
  let t = l.prototype;
4906
- t.hideOverlappingLabels || (t.hideOverlappingLabels = lp, op(l, "render", hp));
4907
- } }, { defaultOptions: dp } = Ot, { noop: _a } = C, { addEvent: Ja, extend: cp, isObject: Qa, merge: pp, relativeLength: Cr } = B, up = { radius: 0, scope: "stack", where: void 0 }, tn = _a, en = _a;
4908
- function gp(l, t, e, i, s = {}) {
4909
- let r = tn(l, t, e, i, s), { innerR: o = 0, r: a = e, start: n = 0, end: h = 0 } = s;
4908
+ t.hideOverlappingLabels || (t.hideOverlappingLabels = hp, ap(l, "render", dp));
4909
+ } }, { defaultOptions: cp } = Ot, { noop: _a } = C, { addEvent: Ja, extend: pp, isObject: Qa, merge: up, relativeLength: Cr } = B, gp = { radius: 0, scope: "stack", where: void 0 }, tn = _a, en = _a;
4910
+ function fp(l, t, e, i, s = {}) {
4911
+ let r = tn(l, t, e, i, s), { brStart: o = !0, brEnd: a = !0, innerR: n = 0, r: h = e, start: c = 0, end: d = 0 } = s;
4910
4912
  if (s.open || !s.borderRadius) return r;
4911
- let c = h - n, d = Math.sin(c / 2), p = Math.max(Math.min(Cr(s.borderRadius || 0, a - o), (a - o) / 2, a * d / (1 + d)), 0), u = Math.min(p, c / Math.PI * 2 * o), g = r.length - 1;
4912
- for (; g--; ) (function(x, m, f) {
4913
- let y, b, v, w = x[m], k = x[m + 1];
4914
- if (k[0] === "Z" && (k = x[0]), (w[0] === "M" || w[0] === "L") && k[0] === "A" ? (y = w, b = k, v = !0) : w[0] === "A" && (k[0] === "M" || k[0] === "L") && (y = k, b = w), y && b && b.params) {
4915
- let S = b[1], M = b[5], A = b.params, { start: P, end: T, cx: L, cy: I } = A, D = M ? S - f : S + f, O = D ? Math.asin(f / D) : 0, E = M ? O : -O, N = Math.cos(O) * D;
4916
- v ? (A.start = P + E, y[1] = L + N * Math.cos(P), y[2] = I + N * Math.sin(P), x.splice(m + 1, 0, ["A", f, f, 0, 0, 1, L + S * Math.cos(A.start), I + S * Math.sin(A.start)])) : (A.end = T - E, b[6] = L + S * Math.cos(A.end), b[7] = I + S * Math.sin(A.end), x.splice(m + 1, 0, ["A", f, f, 0, 0, 1, L + N * Math.cos(T), I + N * Math.sin(T)])), b[4] = Math.abs(A.end - A.start) < Math.PI ? 0 : 1;
4917
- }
4918
- })(r, g, g > 1 ? u : p);
4913
+ let p = d - c, u = Math.sin(p / 2), g = Math.max(Math.min(Cr(s.borderRadius || 0, h - n), (h - n) / 2, h * u / (1 + u)), 0), x = Math.min(g, p / Math.PI * 2 * n), m = r.length - 1;
4914
+ for (; m--; ) (o || m !== 0 && m !== 3) && (a || m !== 1 && m !== 2) && (function(f, y, b) {
4915
+ let v, k, M, S = f[y], w = f[y + 1];
4916
+ if (w[0] === "Z" && (w = f[0]), (S[0] === "M" || S[0] === "L") && w[0] === "A" ? (v = S, k = w, M = !0) : S[0] === "A" && (w[0] === "M" || w[0] === "L") && (v = w, k = S), v && k && k.params) {
4917
+ let A = k[1], P = k[5], T = k.params, { start: L, end: I, cx: D, cy: O } = T, E = P ? A - b : A + b, N = E ? Math.asin(b / E) : 0, _ = P ? N : -N, F = Math.cos(N) * E;
4918
+ M ? (T.start = L + _, v[1] = D + F * Math.cos(L), v[2] = O + F * Math.sin(L), f.splice(y + 1, 0, ["A", b, b, 0, 0, 1, D + A * Math.cos(T.start), O + A * Math.sin(T.start)])) : (T.end = I - _, k[6] = D + A * Math.cos(T.end), k[7] = O + A * Math.sin(T.end), f.splice(y + 1, 0, ["A", b, b, 0, 0, 1, D + F * Math.cos(I), O + F * Math.sin(I)])), k[4] = Math.abs(T.end - T.start) < Math.PI ? 0 : 1;
4919
+ }
4920
+ })(r, m, m > 1 ? x : g);
4919
4921
  return r;
4920
4922
  }
4921
- function fp() {
4923
+ function mp() {
4922
4924
  if (this.options.borderRadius && !(this.chart.is3d && this.chart.is3d())) {
4923
- let { options: l, yAxis: t } = this, e = l.stacking === "percent", i = dp.plotOptions?.[this.type]?.borderRadius, s = Pr(l.borderRadius, Qa(i) ? i : {}), r = t.options.reversed;
4925
+ let { options: l, yAxis: t } = this, e = l.stacking === "percent", i = cp.plotOptions?.[this.type]?.borderRadius, s = Pr(l.borderRadius, Qa(i) ? i : {}), r = t.options.reversed;
4924
4926
  for (let o of this.points) {
4925
4927
  let { shapeArgs: a } = o;
4926
4928
  if (o.shapeType === "roundedRect" && a) {
@@ -4932,42 +4934,42 @@ function Ip() {
4932
4934
  let u = (o.negative ? -1 : 1) * (r ? -1 : 1) == -1, g = s.where;
4933
4935
  !g && this.is("waterfall") && Math.abs((o.yBottom || 0) - (this.translatedThreshold || 0)) > this.borderWidth && (g = "all"), g || (g = "end");
4934
4936
  let x = Math.min(Cr(s.radius, n), n / 2, g === "all" ? h / 2 : 1 / 0) || 0;
4935
- g === "end" && (u && (d -= x), p += x), cp(a, { brBoxHeight: p, brBoxY: d, r: x });
4937
+ g === "end" && (u && (d -= x), p += x), pp(a, { brBoxHeight: p, brBoxY: d, r: x });
4936
4938
  }
4937
4939
  }
4938
4940
  }
4939
4941
  }
4940
4942
  function Pr(l, t) {
4941
- return Qa(l) || (l = { radius: l || 0 }), pp(up, t, l);
4943
+ return Qa(l) || (l = { radius: l || 0 }), up(gp, t, l);
4942
4944
  }
4943
- function mp() {
4945
+ function xp() {
4944
4946
  let l = Pr(this.options.borderRadius);
4945
4947
  for (let t of this.points) {
4946
4948
  let e = t.shapeArgs;
4947
4949
  e && (e.borderRadius = Cr(l.radius, (e.r || 0) - (e.innerR || 0)));
4948
4950
  }
4949
4951
  }
4950
- function xp(l, t, e, i, s = {}) {
4951
- let r = en(l, t, e, i, s), { r: o = 0, brBoxHeight: a = i, brBoxY: n = t } = s, h = t - n, c = n + a - (t + i), d = h - o > -0.1 ? 0 : o, p = c - o > -0.1 ? 0 : o, u = Math.max(d && h, 0), g = Math.max(p && c, 0), x = [l + d, t], m = [l + e - d, t], f = [l + e, t + d], y = [l + e, t + i - p], b = [l + e - p, t + i], v = [l + p, t + i], w = [l, t + i - p], k = [l, t + d], S = (M, A) => Math.sqrt(Math.pow(M, 2) - Math.pow(A, 2));
4952
+ function yp(l, t, e, i, s = {}) {
4953
+ let r = en(l, t, e, i, s), { r: o = 0, brBoxHeight: a = i, brBoxY: n = t } = s, h = t - n, c = n + a - (t + i), d = h - o > -0.1 ? 0 : o, p = c - o > -0.1 ? 0 : o, u = Math.max(d && h, 0), g = Math.max(p && c, 0), x = [l + d, t], m = [l + e - d, t], f = [l + e, t + d], y = [l + e, t + i - p], b = [l + e - p, t + i], v = [l + p, t + i], k = [l, t + i - p], M = [l, t + d], S = (w, A) => Math.sqrt(Math.pow(w, 2) - Math.pow(A, 2));
4952
4954
  if (u) {
4953
- let M = S(d, d - u);
4954
- x[0] -= M, m[0] += M, f[1] = k[1] = t + d - u;
4955
+ let w = S(d, d - u);
4956
+ x[0] -= w, m[0] += w, f[1] = M[1] = t + d - u;
4955
4957
  }
4956
4958
  if (i < d - u) {
4957
- let M = S(d, d - u - i);
4958
- f[0] = y[0] = l + e - d + M, b[0] = Math.min(f[0], b[0]), v[0] = Math.max(y[0], v[0]), w[0] = k[0] = l + d - M, f[1] = k[1] = t + i;
4959
+ let w = S(d, d - u - i);
4960
+ f[0] = y[0] = l + e - d + w, b[0] = Math.min(f[0], b[0]), v[0] = Math.max(y[0], v[0]), k[0] = M[0] = l + d - w, f[1] = M[1] = t + i;
4959
4961
  }
4960
4962
  if (g) {
4961
- let M = S(p, p - g);
4962
- b[0] += M, v[0] -= M, y[1] = w[1] = t + i - p + g;
4963
+ let w = S(p, p - g);
4964
+ b[0] += w, v[0] -= w, y[1] = k[1] = t + i - p + g;
4963
4965
  }
4964
4966
  if (i < p - g) {
4965
- let M = S(p, p - g - i);
4966
- f[0] = y[0] = l + e - p + M, m[0] = Math.min(f[0], m[0]), x[0] = Math.max(y[0], x[0]), w[0] = k[0] = l + p - M, y[1] = w[1] = t;
4967
+ let w = S(p, p - g - i);
4968
+ f[0] = y[0] = l + e - p + w, m[0] = Math.min(f[0], m[0]), x[0] = Math.max(y[0], x[0]), k[0] = M[0] = l + p - w, y[1] = k[1] = t;
4967
4969
  }
4968
- return r.length = 0, r.push(["M", ...x], ["L", ...m], ["A", d, d, 0, 0, 1, ...f], ["L", ...y], ["A", p, p, 0, 0, 1, ...b], ["L", ...v], ["A", p, p, 0, 0, 1, ...w], ["L", ...k], ["A", d, d, 0, 0, 1, ...x], ["Z"]), r;
4970
+ return r.length = 0, r.push(["M", ...x], ["L", ...m], ["A", d, d, 0, 0, 1, ...f], ["L", ...y], ["A", p, p, 0, 0, 1, ...b], ["L", ...v], ["A", p, p, 0, 0, 1, ...k], ["L", ...M], ["A", d, d, 0, 0, 1, ...x], ["Z"]), r;
4969
4971
  }
4970
- let { diffObjects: yp, extend: bp, find: vp, merge: kp, pick: ns, uniqueKey: wp } = B;
4972
+ let { diffObjects: bp, extend: vp, find: kp, merge: wp, pick: ns, uniqueKey: Mp } = B;
4971
4973
  (function(l) {
4972
4974
  function t(i, s) {
4973
4975
  let r = i.condition;
@@ -4978,80 +4980,80 @@ function Ip() {
4978
4980
  function e(i, s) {
4979
4981
  let r = this.options.responsive, o = this.currentResponsive, a = [], n;
4980
4982
  !s && r && r.rules && r.rules.forEach((d) => {
4981
- d._id === void 0 && (d._id = wp()), this.matchResponsiveRule(d, a);
4983
+ d._id === void 0 && (d._id = Mp()), this.matchResponsiveRule(d, a);
4982
4984
  }, this);
4983
- let h = kp(...a.map((d) => vp(r?.rules || [], (p) => p._id === d)).map((d) => d?.chartOptions));
4985
+ let h = wp(...a.map((d) => kp(r?.rules || [], (p) => p._id === d)).map((d) => d?.chartOptions));
4984
4986
  h.isResponsiveOptions = !0, a = a.toString() || void 0;
4985
4987
  let c = o?.ruleIds;
4986
- a !== c && (o && (this.currentResponsive = void 0, this.updatingResponsive = !0, this.update(o.undoOptions, i, !0), this.updatingResponsive = !1), a ? ((n = yp(h, this.options, !0, this.collectionsWithUpdate)).isResponsiveOptions = !0, this.currentResponsive = { ruleIds: a, mergedOptions: h, undoOptions: n }, this.updatingResponsive || this.update(h, i, !0)) : this.currentResponsive = void 0);
4988
+ a !== c && (o && (this.currentResponsive = void 0, this.updatingResponsive = !0, this.update(o.undoOptions, i, !0), this.updatingResponsive = !1), a ? ((n = bp(h, this.options, !0, this.collectionsWithUpdate)).isResponsiveOptions = !0, this.currentResponsive = { ruleIds: a, mergedOptions: h, undoOptions: n }, this.updatingResponsive || this.update(h, i, !0)) : this.currentResponsive = void 0);
4987
4989
  }
4988
4990
  l.compose = function(i) {
4989
4991
  let s = i.prototype;
4990
- return s.matchResponsiveRule || bp(s, { matchResponsiveRule: t, setResponsive: e }), i;
4992
+ return s.matchResponsiveRule || vp(s, { matchResponsiveRule: t, setResponsive: e }), i;
4991
4993
  };
4992
4994
  })(dt || (dt = {}));
4993
- let Mp = dt;
4994
- C.AST = Q, C.Axis = De, C.Chart = se, C.Color = tt, C.DataLabel = rs, C.DataTableCore = ji, C.Fx = bt, C.HTMLElement = Ee, C.Legend = ha, C.LegendSymbol = qo, C.OverlappingDataLabels = C.OverlappingDataLabels || Ka, C.PlotLineOrBand = Xi, C.Point = Qt, C.Pointer = Vo, C.RendererRegistry = Ke, C.Series = At, C.SeriesRegistry = at, C.StackItem = ka, C.SVGElement = Xt, C.SVGRenderer = Oi, C.Templating = Lt, C.Tick = Ie, C.Time = ms, C.Tooltip = Fo, C.animate = gt.animate, C.animObject = gt.animObject, C.chart = se.chart, C.color = tt.parse, C.dateFormat = Lt.dateFormat, C.defaultOptions = Ot.defaultOptions, C.distribute = ki.distribute, C.format = Lt.format, C.getDeferredAnimation = gt.getDeferredAnimation, C.getOptions = Ot.getOptions, C.numberFormat = Lt.numberFormat, C.seriesType = at.seriesType, C.setAnimation = gt.setAnimation, C.setOptions = Ot.setOptions, C.stop = gt.stop, C.time = Ot.defaultTime, C.timers = bt.timers, { compose: function(l, t, e) {
4995
+ let Sp = dt;
4996
+ C.AST = tt, C.Axis = De, C.Chart = se, C.Color = et, C.DataLabel = rs, C.DataTableCore = ji, C.Fx = yt, C.HTMLElement = Ee, C.Legend = ha, C.LegendSymbol = qo, C.OverlappingDataLabels = C.OverlappingDataLabels || Ka, C.PlotLineOrBand = Xi, C.Point = Qt, C.Pointer = Vo, C.RendererRegistry = Ke, C.Series = Tt, C.SeriesRegistry = at, C.StackItem = ka, C.SVGElement = Xt, C.SVGRenderer = Oi, C.Templating = Lt, C.Tick = Ie, C.Time = ms, C.Tooltip = Fo, C.animate = gt.animate, C.animObject = gt.animObject, C.chart = se.chart, C.color = et.parse, C.dateFormat = Lt.dateFormat, C.defaultOptions = Ot.defaultOptions, C.distribute = ki.distribute, C.format = Lt.format, C.getDeferredAnimation = gt.getDeferredAnimation, C.getOptions = Ot.getOptions, C.numberFormat = Lt.numberFormat, C.seriesType = at.seriesType, C.setAnimation = gt.setAnimation, C.setOptions = Ot.setOptions, C.stop = gt.stop, C.time = Ot.defaultTime, C.timers = yt.timers, { compose: function(l, t, e) {
4995
4997
  let i = l.types.pie;
4996
4998
  if (!t.symbolCustomAttribs.includes("borderRadius")) {
4997
4999
  let s = e.prototype.symbols;
4998
- Ja(l, "afterColumnTranslate", fp, { order: 9 }), Ja(i, "afterTranslate", mp), t.symbolCustomAttribs.push("borderRadius", "brBoxHeight", "brBoxY"), tn = s.arc, en = s.roundedRect, s.arc = gp, s.roundedRect = xp;
5000
+ Ja(l, "afterColumnTranslate", mp, { order: 9 }), Ja(i, "afterTranslate", xp), t.symbolCustomAttribs.push("borderRadius", "brBoxHeight", "brBoxY", "brEnd", "brStart"), tn = s.arc, en = s.roundedRect, s.arc = fp, s.roundedRect = yp;
4999
5001
  }
5000
- }, optionsToObject: Pr }.compose(C.Series, C.SVGElement, C.SVGRenderer), Ic.compose(C.Series.types.column), rs.compose(C.Series), ph.compose(C.Axis), Ee.compose(C.SVGRenderer), ha.compose(C.Chart), fh.compose(C.Axis), Ka.compose(C.Chart), sp.compose(C.Series.types.pie), Xi.compose(C.Chart, C.Axis), Vo.compose(C.Chart), Mp.compose(C.Chart), ni.compose(C.Axis, C.Chart, C.Series), cc.compose(C.Axis, C.Chart, C.Series), Fo.compose(C.Pointer), B.extend(C, B);
5001
- let Sp = C;
5002
+ }, optionsToObject: Pr }.compose(C.Series, C.SVGElement, C.SVGRenderer), Ic.compose(C.Series.types.column), rs.compose(C.Series), ph.compose(C.Axis), Ee.compose(C.SVGRenderer), ha.compose(C.Chart), fh.compose(C.Axis), Ka.compose(C.Chart), rp.compose(C.Series.types.pie), Xi.compose(C.Chart, C.Axis), Vo.compose(C.Chart), Sp.compose(C.Chart), ni.compose(C.Axis, C.Chart, C.Series), cc.compose(C.Axis, C.Chart, C.Series), Fo.compose(C.Pointer), B.extend(C, B);
5003
+ let Tp = C;
5002
5004
  return je.default;
5003
5005
  })());
5004
5006
  })(ls)), ls.exports;
5005
5007
  }
5006
- var Dp = /* @__PURE__ */ Ip();
5007
- const Bp = /* @__PURE__ */ ln(Dp);
5008
- var hs = { exports: {} }, Np = hs.exports, an;
5009
- function zp() {
5010
- return an || (an = 1, (function(ve, ne) {
5011
- (function(Pt, xt) {
5012
- ve.exports = xt(Ap);
5013
- })(typeof self < "u" ? self : Np, function(Pt) {
5014
- return (function(xt) {
5008
+ var Bp = /* @__PURE__ */ Dp();
5009
+ const Np = /* @__PURE__ */ ln(Bp);
5010
+ var hs = { exports: {} }, zp = hs.exports, an;
5011
+ function Rp() {
5012
+ return an || (an = 1, (function(ke, ne) {
5013
+ (function(Pt, mt) {
5014
+ ke.exports = mt(Cp);
5015
+ })(typeof self < "u" ? self : zp, function(Pt) {
5016
+ return (function(mt) {
5015
5017
  function nt(j) {
5016
5018
  if (Mt[j]) return Mt[j].exports;
5017
- var _ = Mt[j] = { i: j, l: !1, exports: {} };
5018
- return xt[j].call(_.exports, _, _.exports, nt), _.l = !0, _.exports;
5019
+ var J = Mt[j] = { i: j, l: !1, exports: {} };
5020
+ return mt[j].call(J.exports, J, J.exports, nt), J.l = !0, J.exports;
5019
5021
  }
5020
5022
  var Mt = {};
5021
- return nt.m = xt, nt.c = Mt, nt.d = function(j, _, le) {
5022
- nt.o(j, _) || Object.defineProperty(j, _, { configurable: !1, enumerable: !0, get: le });
5023
+ return nt.m = mt, nt.c = Mt, nt.d = function(j, J, le) {
5024
+ nt.o(j, J) || Object.defineProperty(j, J, { configurable: !1, enumerable: !0, get: le });
5023
5025
  }, nt.n = function(j) {
5024
- var _ = j && j.__esModule ? function() {
5026
+ var J = j && j.__esModule ? function() {
5025
5027
  return j.default;
5026
5028
  } : function() {
5027
5029
  return j;
5028
5030
  };
5029
- return nt.d(_, "a", _), _;
5030
- }, nt.o = function(j, _) {
5031
- return Object.prototype.hasOwnProperty.call(j, _);
5031
+ return nt.d(J, "a", J), J;
5032
+ }, nt.o = function(j, J) {
5033
+ return Object.prototype.hasOwnProperty.call(j, J);
5032
5034
  }, nt.p = "", nt(nt.s = 0);
5033
- })([function(xt, nt, Mt) {
5035
+ })([function(mt, nt, Mt) {
5034
5036
  function j() {
5035
5037
  return j = Object.assign ? Object.assign.bind() : function(z) {
5036
- for (var J = 1; J < arguments.length; J++) {
5037
- var ot = arguments[J];
5038
+ for (var Q = 1; Q < arguments.length; Q++) {
5039
+ var ot = arguments[Q];
5038
5040
  for (var dt in ot) Object.prototype.hasOwnProperty.call(ot, dt) && (z[dt] = ot[dt]);
5039
5041
  }
5040
5042
  return z;
5041
5043
  }, j.apply(this, arguments);
5042
5044
  }
5043
- function _(z) {
5045
+ function J(z) {
5044
5046
  return Ge(z) || Fe(z) || He(z) || le();
5045
5047
  }
5046
5048
  function le() {
5047
5049
  throw new TypeError(`Invalid attempt to spread non-iterable instance.
5048
5050
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`);
5049
5051
  }
5050
- function He(z, J) {
5052
+ function He(z, Q) {
5051
5053
  if (z) {
5052
- if (typeof z == "string") return he(z, J);
5054
+ if (typeof z == "string") return he(z, Q);
5053
5055
  var ot = Object.prototype.toString.call(z).slice(8, -1);
5054
- return ot === "Object" && z.constructor && (ot = z.constructor.name), ot === "Map" || ot === "Set" ? Array.from(z) : ot === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ot) ? he(z, J) : void 0;
5056
+ return ot === "Object" && z.constructor && (ot = z.constructor.name), ot === "Map" || ot === "Set" ? Array.from(z) : ot === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(ot) ? he(z, Q) : void 0;
5055
5057
  }
5056
5058
  }
5057
5059
  function Fe(z) {
@@ -5060,55 +5062,55 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
5060
5062
  function Ge(z) {
5061
5063
  if (Array.isArray(z)) return he(z);
5062
5064
  }
5063
- function he(z, J) {
5064
- (J == null || J > z.length) && (J = z.length);
5065
- for (var ot = 0, dt = new Array(J); ot < J; ot++) dt[ot] = z[ot];
5065
+ function he(z, Q) {
5066
+ (Q == null || Q > z.length) && (Q = z.length);
5067
+ for (var ot = 0, dt = new Array(Q); ot < Q; ot++) dt[ot] = z[ot];
5066
5068
  return dt;
5067
5069
  }
5068
- function ke(z) {
5070
+ function we(z) {
5069
5071
  "@babel/helpers - typeof";
5070
- return (ke = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(J) {
5071
- return typeof J;
5072
- } : function(J) {
5073
- return J && typeof Symbol == "function" && J.constructor === Symbol && J !== Symbol.prototype ? "symbol" : typeof J;
5072
+ return (we = typeof Symbol == "function" && typeof Symbol.iterator == "symbol" ? function(Q) {
5073
+ return typeof Q;
5074
+ } : function(Q) {
5075
+ return Q && typeof Symbol == "function" && Q.constructor === Symbol && Q !== Symbol.prototype ? "symbol" : typeof Q;
5074
5076
  })(z);
5075
5077
  }
5076
5078
  Object.defineProperty(nt, "__esModule", { value: !0 }), Mt.d(nt, "HighchartsReact", function() {
5077
- return Me;
5079
+ return Se;
5078
5080
  });
5079
- var St = Mt(1), Ye = Mt.n(St), we = typeof window < "u" ? St.useLayoutEffect : St.useEffect, Me = Object(St.memo)(Object(St.forwardRef)(function(z, J) {
5081
+ var St = Mt(1), Ye = Mt.n(St), Me = typeof window < "u" ? St.useLayoutEffect : St.useEffect, Se = Object(St.memo)(Object(St.forwardRef)(function(z, Q) {
5080
5082
  var ot = Object(St.useRef)(), dt = Object(St.useRef)(), $t = Object(St.useRef)(z.constructorType), je = Object(St.useRef)(z.highcharts);
5081
- return we(function() {
5083
+ return Me(function() {
5082
5084
  function C() {
5083
- var Zt = z.highcharts || (typeof window > "u" ? "undefined" : ke(window)) === "object" && window.Highcharts, Rt = z.constructorType || "chart";
5085
+ var Zt = z.highcharts || (typeof window > "u" ? "undefined" : we(window)) === "object" && window.Highcharts, Rt = z.constructorType || "chart";
5084
5086
  Zt ? Zt[Rt] ? z.options ? dt.current = Zt[Rt](ot.current, z.options, z.callback) : console.warn('The "options" property was not passed.') : console.warn('The "constructorType" property is incorrect or some required module is not imported.') : console.warn('The "highcharts" property was not passed.');
5085
5087
  }
5086
5088
  if (dt.current) {
5087
5089
  if (z.allowChartUpdate !== !1) if (z.constructorType !== $t.current || z.highcharts !== je.current) $t.current = z.constructorType, je.current = z.highcharts, C();
5088
5090
  else if (!z.immutable && dt.current) {
5089
5091
  var fi;
5090
- (fi = dt.current).update.apply(fi, [z.options].concat(_(z.updateArgs || [!0, !0])));
5092
+ (fi = dt.current).update.apply(fi, [z.options].concat(J(z.updateArgs || [!0, !0])));
5091
5093
  } else C();
5092
5094
  } else C();
5093
- }, [z.options, z.allowChartUpdate, z.updateArgs, z.containerProps, z.highcharts, z.constructorType]), we(function() {
5095
+ }, [z.options, z.allowChartUpdate, z.updateArgs, z.containerProps, z.highcharts, z.constructorType]), Me(function() {
5094
5096
  return function() {
5095
5097
  dt.current && (dt.current.destroy(), dt.current = null);
5096
5098
  };
5097
- }, []), Object(St.useImperativeHandle)(J, function() {
5099
+ }, []), Object(St.useImperativeHandle)(Q, function() {
5098
5100
  return { get chart() {
5099
5101
  return dt.current;
5100
5102
  }, container: ot };
5101
5103
  }, []), Ye.a.createElement("div", j({}, z.containerProps, { ref: ot }));
5102
5104
  }));
5103
- nt.default = Me;
5104
- }, function(xt, nt) {
5105
- xt.exports = Pt;
5105
+ nt.default = Se;
5106
+ }, function(mt, nt) {
5107
+ mt.exports = Pt;
5106
5108
  }]);
5107
5109
  });
5108
5110
  })(hs)), hs.exports;
5109
5111
  }
5110
- var Rp = /* @__PURE__ */ zp();
5111
- const Wp = /* @__PURE__ */ ln(Rp), nn = {
5112
+ var Wp = /* @__PURE__ */ Rp();
5113
+ const Xp = /* @__PURE__ */ ln(Wp), nn = {
5112
5114
  title: {
5113
5115
  text: void 0
5114
5116
  },
@@ -5149,21 +5151,21 @@ const Wp = /* @__PURE__ */ ln(Rp), nn = {
5149
5151
  noData: "No data to display"
5150
5152
  },
5151
5153
  series: []
5152
- }, Xp = ({
5153
- tokenUsage: ve,
5154
+ }, Hp = ({
5155
+ tokenUsage: ke,
5154
5156
  page: ne = 0
5155
5157
  }) => {
5156
- const Pt = Lp() ? Op : rn, [xt, nt] = Cp(nn);
5157
- return Pp(() => {
5158
- const Mt = ve.map((j) => {
5159
- const _ = j.data.slice(ne, ne + 3);
5158
+ const Pt = Ep() ? Lp : rn, [mt, nt] = Pp(nn);
5159
+ return Op(() => {
5160
+ const Mt = ke.map((j) => {
5161
+ const J = j.data.slice(ne, ne + 3);
5160
5162
  return {
5161
5163
  name: j.name,
5162
- data: _
5164
+ data: J
5163
5165
  };
5164
- }).filter((j) => j.data.some((_) => _ !== 0));
5166
+ }).filter((j) => j.data.some((J) => J !== 0));
5165
5167
  nt((j) => {
5166
- const _ = j.xAxis.categories || nn.xAxis.categories;
5168
+ const J = j.xAxis.categories || nn.xAxis.categories;
5167
5169
  return {
5168
5170
  ...j,
5169
5171
  title: {
@@ -5171,15 +5173,15 @@ const Wp = /* @__PURE__ */ ln(Rp), nn = {
5171
5173
  },
5172
5174
  xAxis: {
5173
5175
  ...j.xAxis,
5174
- categories: rn[ne] || _
5176
+ categories: rn[ne] || J
5175
5177
  },
5176
5178
  series: Mt
5177
5179
  };
5178
5180
  });
5179
- }, [ve, ne, Pt]), /* @__PURE__ */ Tp(Wp, { highcharts: Bp, options: xt });
5181
+ }, [ke, ne, Pt]), /* @__PURE__ */ Ap(Xp, { highcharts: Np, options: mt });
5180
5182
  };
5181
- Xp.displayName = "Chart";
5183
+ Hp.displayName = "Chart";
5182
5184
  export {
5183
- Xp as Chart,
5184
- Xp as default
5185
+ Hp as Chart,
5186
+ Hp as default
5185
5187
  };