@mozaic-ds/chart 0.1.0-beta.15 → 0.1.0-beta.16

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.
@@ -1,7 +1,7 @@
1
- var ha = Object.defineProperty;
2
- var da = (i, t, e) => t in i ? ha(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
3
- var k = (i, t, e) => (da(i, typeof t != "symbol" ? t + "" : t, e), e);
4
- import { version as ua, defineComponent as Vt, ref as X, shallowRef as to, onMounted as eo, onBeforeUnmount as fa, watch as di, toRaw as Xi, h as io, isProxy as no, reactive as so, computed as z, openBlock as ft, createElementBlock as Ie, createElementVNode as gt, createBlock as Fe, unref as Zt, normalizeClass as Re, normalizeStyle as Qt, createCommentVNode as Ee } from "vue";
1
+ var da = Object.defineProperty;
2
+ var ua = (i, t, e) => t in i ? da(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
3
+ var k = (i, t, e) => (ua(i, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import { version as fa, defineComponent as Vt, ref as X, shallowRef as eo, onMounted as io, onBeforeUnmount as ga, watch as di, toRaw as Xi, h as no, isProxy as so, reactive as oo, computed as z, openBlock as ft, createElementBlock as Ie, createElementVNode as gt, createBlock as Fe, unref as Zt, normalizeClass as Re, normalizeStyle as Qt, createCommentVNode as Ee } from "vue";
5
5
  /*!
6
6
  * @kurkle/color v0.3.2
7
7
  * https://github.com/kurkle/color#readme
@@ -24,8 +24,8 @@ function yt(i) {
24
24
  function An(i) {
25
25
  return St(Be(i * 100), 0, 100);
26
26
  }
27
- const nt = { 0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15 }, Gi = [..."0123456789ABCDEF"], ga = (i) => Gi[i & 15], pa = (i) => Gi[(i & 240) >> 4] + Gi[i & 15], Ye = (i) => (i & 240) >> 4 === (i & 15), ma = (i) => Ye(i.r) && Ye(i.g) && Ye(i.b) && Ye(i.a);
28
- function ba(i) {
27
+ const nt = { 0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15 }, Gi = [..."0123456789ABCDEF"], pa = (i) => Gi[i & 15], ma = (i) => Gi[(i & 240) >> 4] + Gi[i & 15], Ye = (i) => (i & 240) >> 4 === (i & 15), ba = (i) => Ye(i.r) && Ye(i.g) && Ye(i.b) && Ye(i.a);
28
+ function ya(i) {
29
29
  var t = i.length, e;
30
30
  return i[0] === "#" && (t === 4 || t === 5 ? e = {
31
31
  r: 255 & nt[i[1]] * 17,
@@ -39,69 +39,69 @@ function ba(i) {
39
39
  a: t === 9 ? nt[i[7]] << 4 | nt[i[8]] : 255
40
40
  })), e;
41
41
  }
42
- const ya = (i, t) => i < 255 ? t(i) : "";
43
- function xa(i) {
44
- var t = ma(i) ? ga : pa;
45
- return i ? "#" + t(i.r) + t(i.g) + t(i.b) + ya(i.a, t) : void 0;
42
+ const xa = (i, t) => i < 255 ? t(i) : "";
43
+ function _a(i) {
44
+ var t = ba(i) ? pa : ma;
45
+ return i ? "#" + t(i.r) + t(i.g) + t(i.b) + xa(i.a, t) : void 0;
46
46
  }
47
- const _a = /^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;
48
- function oo(i, t, e) {
47
+ const va = /^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;
48
+ function ao(i, t, e) {
49
49
  const n = t * Math.min(e, 1 - e), s = (o, a = (o + i / 30) % 12) => e - n * Math.max(Math.min(a - 3, 9 - a, 1), -1);
50
50
  return [s(0), s(8), s(4)];
51
51
  }
52
- function va(i, t, e) {
52
+ function Sa(i, t, e) {
53
53
  const n = (s, o = (s + i / 60) % 6) => e - e * t * Math.max(Math.min(o, 4 - o, 1), 0);
54
54
  return [n(5), n(3), n(1)];
55
55
  }
56
- function Sa(i, t, e) {
57
- const n = oo(i, 1, 0.5);
56
+ function wa(i, t, e) {
57
+ const n = ao(i, 1, 0.5);
58
58
  let s;
59
59
  for (t + e > 1 && (s = 1 / (t + e), t *= s, e *= s), s = 0; s < 3; s++)
60
60
  n[s] *= 1 - t - e, n[s] += t;
61
61
  return n;
62
62
  }
63
- function wa(i, t, e, n, s) {
63
+ function ka(i, t, e, n, s) {
64
64
  return i === s ? (t - e) / n + (t < e ? 6 : 0) : t === s ? (e - i) / n + 2 : (i - t) / n + 4;
65
65
  }
66
66
  function hn(i) {
67
67
  const e = i.r / 255, n = i.g / 255, s = i.b / 255, o = Math.max(e, n, s), a = Math.min(e, n, s), r = (o + a) / 2;
68
68
  let l, c, h;
69
- return o !== a && (h = o - a, c = r > 0.5 ? h / (2 - o - a) : h / (o + a), l = wa(e, n, s, h, o), l = l * 60 + 0.5), [l | 0, c || 0, r];
69
+ return o !== a && (h = o - a, c = r > 0.5 ? h / (2 - o - a) : h / (o + a), l = ka(e, n, s, h, o), l = l * 60 + 0.5), [l | 0, c || 0, r];
70
70
  }
71
71
  function dn(i, t, e, n) {
72
72
  return (Array.isArray(t) ? i(t[0], t[1], t[2]) : i(t, e, n)).map(Mt);
73
73
  }
74
74
  function un(i, t, e) {
75
- return dn(oo, i, t, e);
76
- }
77
- function ka(i, t, e) {
78
- return dn(Sa, i, t, e);
75
+ return dn(ao, i, t, e);
79
76
  }
80
77
  function Ma(i, t, e) {
81
- return dn(va, i, t, e);
78
+ return dn(wa, i, t, e);
82
79
  }
83
- function ao(i) {
80
+ function Ca(i, t, e) {
81
+ return dn(Sa, i, t, e);
82
+ }
83
+ function ro(i) {
84
84
  return (i % 360 + 360) % 360;
85
85
  }
86
- function Ca(i) {
87
- const t = _a.exec(i);
86
+ function Pa(i) {
87
+ const t = va.exec(i);
88
88
  let e = 255, n;
89
89
  if (!t)
90
90
  return;
91
91
  t[5] !== n && (e = t[6] ? de(+t[5]) : Mt(+t[5]));
92
- const s = ao(+t[2]), o = +t[3] / 100, a = +t[4] / 100;
93
- return t[1] === "hwb" ? n = ka(s, o, a) : t[1] === "hsv" ? n = Ma(s, o, a) : n = un(s, o, a), {
92
+ const s = ro(+t[2]), o = +t[3] / 100, a = +t[4] / 100;
93
+ return t[1] === "hwb" ? n = Ma(s, o, a) : t[1] === "hsv" ? n = Ca(s, o, a) : n = un(s, o, a), {
94
94
  r: n[0],
95
95
  g: n[1],
96
96
  b: n[2],
97
97
  a: e
98
98
  };
99
99
  }
100
- function Pa(i, t) {
100
+ function Aa(i, t) {
101
101
  var e = hn(i);
102
- e[0] = ao(e[0] + t), e = un(e), i.r = e[0], i.g = e[1], i.b = e[2];
102
+ e[0] = ro(e[0] + t), e = un(e), i.r = e[0], i.g = e[1], i.b = e[2];
103
103
  }
104
- function Aa(i) {
104
+ function Da(i) {
105
105
  if (!i)
106
106
  return;
107
107
  const t = hn(i), e = t[0], n = An(t[1]), s = An(t[2]);
@@ -285,7 +285,7 @@ const Dn = {
285
285
  Lw: "ffff00",
286
286
  LwgYF: "9acd32"
287
287
  };
288
- function Da() {
288
+ function La() {
289
289
  const i = {}, t = Object.keys(Ln), e = Object.keys(Dn);
290
290
  let n, s, o, a, r;
291
291
  for (n = 0; n < t.length; n++) {
@@ -296,8 +296,8 @@ function Da() {
296
296
  return i;
297
297
  }
298
298
  let Xe;
299
- function La(i) {
300
- Xe || (Xe = Da(), Xe.transparent = [0, 0, 0, 0]);
299
+ function Ta(i) {
300
+ Xe || (Xe = La(), Xe.transparent = [0, 0, 0, 0]);
301
301
  const t = Xe[i.toLowerCase()];
302
302
  return t && {
303
303
  r: t[0],
@@ -306,9 +306,9 @@ function La(i) {
306
306
  a: t.length === 4 ? t[3] : 255
307
307
  };
308
308
  }
309
- const Ta = /^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;
310
- function Oa(i) {
311
- const t = Ta.exec(i);
309
+ const Oa = /^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;
310
+ function Ia(i) {
311
+ const t = Oa.exec(i);
312
312
  let e = 255, n, s, o;
313
313
  if (t) {
314
314
  if (t[7] !== n) {
@@ -323,11 +323,11 @@ function Oa(i) {
323
323
  };
324
324
  }
325
325
  }
326
- function Ia(i) {
326
+ function Fa(i) {
327
327
  return i && (i.a < 255 ? `rgba(${i.r}, ${i.g}, ${i.b}, ${yt(i.a)})` : `rgb(${i.r}, ${i.g}, ${i.b})`);
328
328
  }
329
329
  const Fi = (i) => i <= 31308e-7 ? i * 12.92 : Math.pow(i, 1 / 2.4) * 1.055 - 0.055, Yt = (i) => i <= 0.04045 ? i / 12.92 : Math.pow((i + 0.055) / 1.055, 2.4);
330
- function Fa(i, t, e) {
330
+ function Ra(i, t, e) {
331
331
  const n = Yt(yt(i.r)), s = Yt(yt(i.g)), o = Yt(yt(i.b));
332
332
  return {
333
333
  r: Mt(Fi(n + e * (Yt(yt(t.r)) - n))),
@@ -342,15 +342,15 @@ function Ge(i, t, e) {
342
342
  n[t] = Math.max(0, Math.min(n[t] + n[t] * e, t === 0 ? 360 : 1)), n = un(n), i.r = n[0], i.g = n[1], i.b = n[2];
343
343
  }
344
344
  }
345
- function ro(i, t) {
345
+ function lo(i, t) {
346
346
  return i && Object.assign(t || {}, i);
347
347
  }
348
348
  function Tn(i) {
349
349
  var t = { r: 0, g: 0, b: 0, a: 255 };
350
- return Array.isArray(i) ? i.length >= 3 && (t = { r: i[0], g: i[1], b: i[2], a: 255 }, i.length > 3 && (t.a = Mt(i[3]))) : (t = ro(i, { r: 0, g: 0, b: 0, a: 1 }), t.a = Mt(t.a)), t;
350
+ return Array.isArray(i) ? i.length >= 3 && (t = { r: i[0], g: i[1], b: i[2], a: 255 }, i.length > 3 && (t.a = Mt(i[3]))) : (t = lo(i, { r: 0, g: 0, b: 0, a: 1 }), t.a = Mt(t.a)), t;
351
351
  }
352
- function Ra(i) {
353
- return i.charAt(0) === "r" ? Oa(i) : Ca(i);
352
+ function Ea(i) {
353
+ return i.charAt(0) === "r" ? Ia(i) : Pa(i);
354
354
  }
355
355
  class Se {
356
356
  constructor(t) {
@@ -358,26 +358,26 @@ class Se {
358
358
  return t;
359
359
  const e = typeof t;
360
360
  let n;
361
- e === "object" ? n = Tn(t) : e === "string" && (n = ba(t) || La(t) || Ra(t)), this._rgb = n, this._valid = !!n;
361
+ e === "object" ? n = Tn(t) : e === "string" && (n = ya(t) || Ta(t) || Ea(t)), this._rgb = n, this._valid = !!n;
362
362
  }
363
363
  get valid() {
364
364
  return this._valid;
365
365
  }
366
366
  get rgb() {
367
- var t = ro(this._rgb);
367
+ var t = lo(this._rgb);
368
368
  return t && (t.a = yt(t.a)), t;
369
369
  }
370
370
  set rgb(t) {
371
371
  this._rgb = Tn(t);
372
372
  }
373
373
  rgbString() {
374
- return this._valid ? Ia(this._rgb) : void 0;
374
+ return this._valid ? Fa(this._rgb) : void 0;
375
375
  }
376
376
  hexString() {
377
- return this._valid ? xa(this._rgb) : void 0;
377
+ return this._valid ? _a(this._rgb) : void 0;
378
378
  }
379
379
  hslString() {
380
- return this._valid ? Aa(this._rgb) : void 0;
380
+ return this._valid ? Da(this._rgb) : void 0;
381
381
  }
382
382
  mix(t, e) {
383
383
  if (t) {
@@ -389,7 +389,7 @@ class Se {
389
389
  return this;
390
390
  }
391
391
  interpolate(t, e) {
392
- return t && (this._rgb = Fa(this._rgb, t._rgb, e)), this;
392
+ return t && (this._rgb = Ra(this._rgb, t._rgb, e)), this;
393
393
  }
394
394
  clone() {
395
395
  return new Se(this.rgb);
@@ -426,7 +426,7 @@ class Se {
426
426
  return Ge(this._rgb, 1, -t), this;
427
427
  }
428
428
  rotate(t) {
429
- return Pa(this._rgb, t), this;
429
+ return Aa(this._rgb, t), this;
430
430
  }
431
431
  }
432
432
  /*!
@@ -437,7 +437,7 @@ class Se {
437
437
  */
438
438
  function pt() {
439
439
  }
440
- const Ea = (() => {
440
+ const Ba = (() => {
441
441
  let i = 0;
442
442
  return () => i++;
443
443
  })();
@@ -462,7 +462,7 @@ function et(i, t) {
462
462
  function L(i, t) {
463
463
  return typeof i > "u" ? t : i;
464
464
  }
465
- const Ba = (i, t) => typeof i == "string" && i.endsWith("%") ? parseFloat(i) / 100 : +i / t, lo = (i, t) => typeof i == "string" && i.endsWith("%") ? parseFloat(i) / 100 * t : +i;
465
+ const za = (i, t) => typeof i == "string" && i.endsWith("%") ? parseFloat(i) / 100 : +i / t, co = (i, t) => typeof i == "string" && i.endsWith("%") ? parseFloat(i) / 100 * t : +i;
466
466
  function B(i, t, e) {
467
467
  if (i && typeof i.call == "function")
468
468
  return i.apply(e, t);
@@ -501,15 +501,15 @@ function fi(i) {
501
501
  }
502
502
  return i;
503
503
  }
504
- function co(i) {
504
+ function ho(i) {
505
505
  return [
506
506
  "__proto__",
507
507
  "prototype",
508
508
  "constructor"
509
509
  ].indexOf(i) === -1;
510
510
  }
511
- function za(i, t, e, n) {
512
- if (!co(i))
511
+ function Wa(i, t, e, n) {
512
+ if (!ho(i))
513
513
  return;
514
514
  const s = t[i], o = e[i];
515
515
  T(s) && T(o) ? we(s, o, n) : t[i] = fi(o);
@@ -521,7 +521,7 @@ function we(i, t, e) {
521
521
  if (!T(i))
522
522
  return i;
523
523
  e = e || {};
524
- const o = e.merger || za;
524
+ const o = e.merger || Wa;
525
525
  let a;
526
526
  for (let r = 0; r < s; ++r) {
527
527
  if (a = n[r], !T(a))
@@ -534,11 +534,11 @@ function we(i, t, e) {
534
534
  }
535
535
  function be(i, t) {
536
536
  return we(i, t, {
537
- merger: Wa
537
+ merger: Ha
538
538
  });
539
539
  }
540
- function Wa(i, t, e) {
541
- if (!co(i))
540
+ function Ha(i, t, e) {
541
+ if (!ho(i))
542
542
  return;
543
543
  const n = t[i], s = e[i];
544
544
  T(n) && T(s) ? be(n, s) : Object.prototype.hasOwnProperty.call(t, i) || (t[i] = fi(s));
@@ -550,15 +550,15 @@ const On = {
550
550
  x: (i) => i.x,
551
551
  y: (i) => i.y
552
552
  };
553
- function Ha(i) {
553
+ function Na(i) {
554
554
  const t = i.split("."), e = [];
555
555
  let n = "";
556
556
  for (const s of t)
557
557
  n += s, n.endsWith("\\") ? n = n.slice(0, -1) + "." : (e.push(n), n = "");
558
558
  return e;
559
559
  }
560
- function Na(i) {
561
- const t = Ha(i);
560
+ function Va(i) {
561
+ const t = Na(i);
562
562
  return (e) => {
563
563
  for (const n of t) {
564
564
  if (n === "")
@@ -569,7 +569,7 @@ function Na(i) {
569
569
  };
570
570
  }
571
571
  function Pt(i, t) {
572
- return (On[t] || (On[t] = Na(t)))(i);
572
+ return (On[t] || (On[t] = Va(t)))(i);
573
573
  }
574
574
  function fn(i) {
575
575
  return i.charAt(0).toUpperCase() + i.slice(1);
@@ -582,10 +582,10 @@ const ke = (i) => typeof i < "u", At = (i) => typeof i == "function", In = (i, t
582
582
  return !1;
583
583
  return !0;
584
584
  };
585
- function Va(i) {
585
+ function ja(i) {
586
586
  return i.type === "mouseup" || i.type === "click" || i.type === "contextmenu";
587
587
  }
588
- const N = Math.PI, H = 2 * N, ja = H + N, gi = Number.POSITIVE_INFINITY, $a = N / 180, U = N / 2, Tt = N / 4, Fn = N * 2 / 3, wt = Math.log10, ut = Math.sign;
588
+ const N = Math.PI, H = 2 * N, $a = H + N, gi = Number.POSITIVE_INFINITY, Ua = N / 180, U = N / 2, Tt = N / 4, Fn = N * 2 / 3, wt = Math.log10, ut = Math.sign;
589
589
  function ye(i, t, e) {
590
590
  return Math.abs(i - t) < e;
591
591
  }
@@ -595,7 +595,7 @@ function Rn(i) {
595
595
  const e = Math.pow(10, Math.floor(wt(i))), n = i / e;
596
596
  return (n <= 1 ? 1 : n <= 2 ? 2 : n <= 5 ? 5 : 10) * e;
597
597
  }
598
- function Ua(i) {
598
+ function Ya(i) {
599
599
  const t = [], e = Math.sqrt(i);
600
600
  let n;
601
601
  for (n = 1; n < e; n++)
@@ -605,11 +605,11 @@ function Ua(i) {
605
605
  function Me(i) {
606
606
  return !isNaN(parseFloat(i)) && isFinite(i);
607
607
  }
608
- function Ya(i, t) {
608
+ function Xa(i, t) {
609
609
  const e = Math.round(i);
610
610
  return e - t <= i && e + t >= i;
611
611
  }
612
- function ho(i, t, e) {
612
+ function uo(i, t, e) {
613
613
  let n, s, o;
614
614
  for (n = 0, s = i.length; n < s; n++)
615
615
  o = i[n][e], isNaN(o) || (t.min = Math.min(t.min, o), t.max = Math.max(t.max, o));
@@ -628,7 +628,7 @@ function En(i) {
628
628
  t *= 10, e++;
629
629
  return e;
630
630
  }
631
- function uo(i, t) {
631
+ function fo(i, t) {
632
632
  const e = t.x - i.x, n = t.y - i.y, s = Math.sqrt(e * e + n * n);
633
633
  let o = Math.atan2(n, e);
634
634
  return o < -0.5 * N && (o += H), {
@@ -639,8 +639,8 @@ function uo(i, t) {
639
639
  function qi(i, t) {
640
640
  return Math.sqrt(Math.pow(t.x - i.x, 2) + Math.pow(t.y - i.y, 2));
641
641
  }
642
- function Xa(i, t) {
643
- return (i - t + ja) % H - N;
642
+ function Ga(i, t) {
643
+ return (i - t + $a) % H - N;
644
644
  }
645
645
  function it(i) {
646
646
  return (i % H + H) % H;
@@ -652,7 +652,7 @@ function Ce(i, t, e, n) {
652
652
  function Z(i, t, e) {
653
653
  return Math.max(t, Math.min(e, i));
654
654
  }
655
- function Ga(i) {
655
+ function qa(i) {
656
656
  return Z(i, -32768, 32767);
657
657
  }
658
658
  function xt(i, t, e, n = 1e-6) {
@@ -671,8 +671,8 @@ function pn(i, t, e) {
671
671
  const Bt = (i, t, e, n) => pn(i, e, n ? (s) => {
672
672
  const o = i[s][t];
673
673
  return o < e || o === e && i[s + 1][t] === e;
674
- } : (s) => i[s][t] < e), qa = (i, t, e) => pn(i, e, (n) => i[n][t] >= e);
675
- function Ka(i, t, e) {
674
+ } : (s) => i[s][t] < e), Ka = (i, t, e) => pn(i, e, (n) => i[n][t] >= e);
675
+ function Za(i, t, e) {
676
676
  let n = 0, s = i.length;
677
677
  for (; n < s && i[n] < t; )
678
678
  n++;
@@ -680,14 +680,14 @@ function Ka(i, t, e) {
680
680
  s--;
681
681
  return n > 0 || s < i.length ? i.slice(n, s) : i;
682
682
  }
683
- const fo = [
683
+ const go = [
684
684
  "push",
685
685
  "pop",
686
686
  "shift",
687
687
  "splice",
688
688
  "unshift"
689
689
  ];
690
- function Za(i, t) {
690
+ function Qa(i, t) {
691
691
  if (i._chartjs) {
692
692
  i._chartjs.listeners.push(t);
693
693
  return;
@@ -700,7 +700,7 @@ function Za(i, t) {
700
700
  t
701
701
  ]
702
702
  }
703
- }), fo.forEach((e) => {
703
+ }), go.forEach((e) => {
704
704
  const n = "_onData" + fn(e), s = i[e];
705
705
  Object.defineProperty(i, e, {
706
706
  configurable: !0,
@@ -719,35 +719,35 @@ function Bn(i, t) {
719
719
  if (!e)
720
720
  return;
721
721
  const n = e.listeners, s = n.indexOf(t);
722
- s !== -1 && n.splice(s, 1), !(n.length > 0) && (fo.forEach((o) => {
722
+ s !== -1 && n.splice(s, 1), !(n.length > 0) && (go.forEach((o) => {
723
723
  delete i[o];
724
724
  }), delete i._chartjs);
725
725
  }
726
- function go(i) {
726
+ function po(i) {
727
727
  const t = new Set(i);
728
728
  return t.size === i.length ? i : Array.from(t);
729
729
  }
730
- const po = function() {
730
+ const mo = function() {
731
731
  return typeof window > "u" ? function(i) {
732
732
  return i();
733
733
  } : window.requestAnimationFrame;
734
734
  }();
735
- function mo(i, t) {
735
+ function bo(i, t) {
736
736
  let e = [], n = !1;
737
737
  return function(...s) {
738
- e = s, n || (n = !0, po.call(window, () => {
738
+ e = s, n || (n = !0, mo.call(window, () => {
739
739
  n = !1, i.apply(t, e);
740
740
  }));
741
741
  };
742
742
  }
743
- function Qa(i, t) {
743
+ function Ja(i, t) {
744
744
  let e;
745
745
  return function(...n) {
746
746
  return t ? (clearTimeout(e), e = setTimeout(i, t, n)) : i.apply(this, n), t;
747
747
  };
748
748
  }
749
- const mn = (i) => i === "start" ? "left" : i === "end" ? "right" : "center", K = (i, t, e) => i === "start" ? t : i === "end" ? e : (t + e) / 2, Ja = (i, t, e, n) => i === (n ? "left" : "right") ? e : i === "center" ? (t + e) / 2 : t;
750
- function tr(i, t, e) {
749
+ const mn = (i) => i === "start" ? "left" : i === "end" ? "right" : "center", K = (i, t, e) => i === "start" ? t : i === "end" ? e : (t + e) / 2, tr = (i, t, e, n) => i === (n ? "left" : "right") ? e : i === "center" ? (t + e) / 2 : t;
750
+ function er(i, t, e) {
751
751
  const n = t.length;
752
752
  let s = 0, o = n;
753
753
  if (i._sorted) {
@@ -769,7 +769,7 @@ function tr(i, t, e) {
769
769
  count: o
770
770
  };
771
771
  }
772
- function er(i) {
772
+ function ir(i) {
773
773
  const { xScale: t, yScale: e, _scaleRanges: n } = i, s = {
774
774
  xmin: t.min,
775
775
  xmax: t.max,
@@ -838,18 +838,18 @@ function Hn(i) {
838
838
  function Ri(i) {
839
839
  return bn(i) ? i : new Se(i).saturate(0.5).darken(0.1).hexString();
840
840
  }
841
- const ir = [
841
+ const nr = [
842
842
  "x",
843
843
  "y",
844
844
  "borderWidth",
845
845
  "radius",
846
846
  "tension"
847
- ], nr = [
847
+ ], sr = [
848
848
  "color",
849
849
  "borderColor",
850
850
  "backgroundColor"
851
851
  ];
852
- function sr(i) {
852
+ function or(i) {
853
853
  i.set("animation", {
854
854
  delay: void 0,
855
855
  duration: 1e3,
@@ -866,11 +866,11 @@ function sr(i) {
866
866
  }), i.set("animations", {
867
867
  colors: {
868
868
  type: "color",
869
- properties: nr
869
+ properties: sr
870
870
  },
871
871
  numbers: {
872
872
  type: "number",
873
- properties: ir
873
+ properties: nr
874
874
  }
875
875
  }), i.describe("animations", {
876
876
  _fallback: "animation"
@@ -910,7 +910,7 @@ function sr(i) {
910
910
  }
911
911
  });
912
912
  }
913
- function or(i) {
913
+ function ar(i) {
914
914
  i.set("layout", {
915
915
  autoPadding: !0,
916
916
  padding: {
@@ -922,16 +922,16 @@ function or(i) {
922
922
  });
923
923
  }
924
924
  const Nn = /* @__PURE__ */ new Map();
925
- function ar(i, t) {
925
+ function rr(i, t) {
926
926
  t = t || {};
927
927
  const e = i + JSON.stringify(t);
928
928
  let n = Nn.get(e);
929
929
  return n || (n = new Intl.NumberFormat(i, t), Nn.set(e, n)), n;
930
930
  }
931
931
  function Si(i, t, e) {
932
- return ar(t, e).format(i);
932
+ return rr(t, e).format(i);
933
933
  }
934
- const bo = {
934
+ const yo = {
935
935
  values(i) {
936
936
  return W(i) ? i : "" + i;
937
937
  },
@@ -942,7 +942,7 @@ const bo = {
942
942
  let s, o = i;
943
943
  if (e.length > 1) {
944
944
  const c = Math.max(Math.abs(e[0].value), Math.abs(e[e.length - 1].value));
945
- (c < 1e-4 || c > 1e15) && (s = "scientific"), o = rr(i, e);
945
+ (c < 1e-4 || c > 1e15) && (s = "scientific"), o = lr(i, e);
946
946
  }
947
947
  const a = wt(Math.abs(o)), r = isNaN(a) ? 1 : Math.max(Math.min(-1 * Math.floor(a), 20), 0), l = {
948
948
  notation: s,
@@ -962,17 +962,17 @@ const bo = {
962
962
  5,
963
963
  10,
964
964
  15
965
- ].includes(n) || t > 0.8 * e.length ? bo.numeric.call(this, i, t, e) : "";
965
+ ].includes(n) || t > 0.8 * e.length ? yo.numeric.call(this, i, t, e) : "";
966
966
  }
967
967
  };
968
- function rr(i, t) {
968
+ function lr(i, t) {
969
969
  let e = t.length > 3 ? t[2].value - t[1].value : t[1].value - t[0].value;
970
970
  return Math.abs(e) >= 1 && i !== Math.floor(i) && (e = i - Math.floor(i)), e;
971
971
  }
972
972
  var wi = {
973
- formatters: bo
973
+ formatters: yo
974
974
  };
975
- function lr(i) {
975
+ function cr(i) {
976
976
  i.set("scale", {
977
977
  display: !0,
978
978
  offset: !1,
@@ -1050,7 +1050,7 @@ function _e(i, t) {
1050
1050
  function Ei(i, t, e) {
1051
1051
  return typeof t == "string" ? we(_e(i, t), e) : we(_e(i, ""), t);
1052
1052
  }
1053
- class cr {
1053
+ class hr {
1054
1054
  constructor(t, e) {
1055
1055
  this.animation = void 0, this.backgroundColor = "rgba(0,0,0,0.1)", this.borderColor = "rgba(0,0,0,0.1)", this.color = "#666", this.datasets = {}, this.devicePixelRatio = (n) => n.chart.platform.getDevicePixelRatio(), this.elements = {}, this.events = [
1056
1056
  "mousemove",
@@ -1105,7 +1105,7 @@ class cr {
1105
1105
  t.forEach((e) => e(this));
1106
1106
  }
1107
1107
  }
1108
- var j = /* @__PURE__ */ new cr({
1108
+ var j = /* @__PURE__ */ new hr({
1109
1109
  _scriptable: (i) => !i.startsWith("on"),
1110
1110
  _indexable: (i) => i !== "events",
1111
1111
  hover: {
@@ -1116,18 +1116,18 @@ var j = /* @__PURE__ */ new cr({
1116
1116
  _indexable: !1
1117
1117
  }
1118
1118
  }, [
1119
- sr,
1120
1119
  or,
1121
- lr
1120
+ ar,
1121
+ cr
1122
1122
  ]);
1123
- function hr(i) {
1123
+ function dr(i) {
1124
1124
  return !i || F(i.size) || F(i.family) ? null : (i.style ? i.style + " " : "") + (i.weight ? i.weight + " " : "") + i.size + "px " + i.family;
1125
1125
  }
1126
1126
  function pi(i, t, e, n, s) {
1127
1127
  let o = t[s];
1128
1128
  return o || (o = t[s] = i.measureText(s).width, e.push(s)), o > n && (n = o), n;
1129
1129
  }
1130
- function dr(i, t, e, n) {
1130
+ function ur(i, t, e, n) {
1131
1131
  n = n || {};
1132
1132
  let s = n.data = n.data || {}, o = n.garbageCollect = n.garbageCollect || [];
1133
1133
  n.font !== t && (s = n.data = {}, o = n.garbageCollect = [], n.font = t), i.save(), i.font = t;
@@ -1157,12 +1157,12 @@ function Vn(i, t) {
1157
1157
  t = t || i.getContext("2d"), t.save(), t.resetTransform(), t.clearRect(0, 0, i.width, i.height), t.restore();
1158
1158
  }
1159
1159
  function Zi(i, t, e, n) {
1160
- yo(i, t, e, n, null);
1160
+ xo(i, t, e, n, null);
1161
1161
  }
1162
- function yo(i, t, e, n, s) {
1162
+ function xo(i, t, e, n, s) {
1163
1163
  let o, a, r, l, c, h, d, u;
1164
1164
  const f = t.pointStyle, m = t.rotation, g = t.radius;
1165
- let p = (m || 0) * $a;
1165
+ let p = (m || 0) * Ua;
1166
1166
  if (f && typeof f == "object" && (o = f.toString(), o === "[object HTMLImageElement]" || o === "[object HTMLCanvasElement]")) {
1167
1167
  i.save(), i.translate(e, n), i.rotate(p), i.drawImage(f, -f.width / 2, -f.height / 2, f.width, f.height), i.restore();
1168
1168
  return;
@@ -1217,7 +1217,7 @@ function ki(i, t) {
1217
1217
  function Mi(i) {
1218
1218
  i.restore();
1219
1219
  }
1220
- function ur(i, t, e, n, s) {
1220
+ function fr(i, t, e, n, s) {
1221
1221
  if (!t)
1222
1222
  return i.lineTo(e.x, e.y);
1223
1223
  if (s === "middle") {
@@ -1227,21 +1227,21 @@ function ur(i, t, e, n, s) {
1227
1227
  s === "after" != !!n ? i.lineTo(t.x, e.y) : i.lineTo(e.x, t.y);
1228
1228
  i.lineTo(e.x, e.y);
1229
1229
  }
1230
- function fr(i, t, e, n) {
1230
+ function gr(i, t, e, n) {
1231
1231
  if (!t)
1232
1232
  return i.lineTo(e.x, e.y);
1233
1233
  i.bezierCurveTo(n ? t.cp1x : t.cp2x, n ? t.cp1y : t.cp2y, n ? e.cp2x : e.cp1x, n ? e.cp2y : e.cp1y, e.x, e.y);
1234
1234
  }
1235
- function gr(i, t) {
1235
+ function pr(i, t) {
1236
1236
  t.translation && i.translate(t.translation[0], t.translation[1]), F(t.rotation) || i.rotate(t.rotation), t.color && (i.fillStyle = t.color), t.textAlign && (i.textAlign = t.textAlign), t.textBaseline && (i.textBaseline = t.textBaseline);
1237
1237
  }
1238
- function pr(i, t, e, n, s) {
1238
+ function mr(i, t, e, n, s) {
1239
1239
  if (s.strikethrough || s.underline) {
1240
1240
  const o = i.measureText(n), a = t - o.actualBoundingBoxLeft, r = t + o.actualBoundingBoxRight, l = e - o.actualBoundingBoxAscent, c = e + o.actualBoundingBoxDescent, h = s.strikethrough ? (l + c) / 2 : c;
1241
1241
  i.strokeStyle = i.fillStyle, i.beginPath(), i.lineWidth = s.decorationWidth || 2, i.moveTo(a, h), i.lineTo(r, h), i.stroke();
1242
1242
  }
1243
1243
  }
1244
- function mr(i, t) {
1244
+ function br(i, t) {
1245
1245
  const e = i.fillStyle;
1246
1246
  i.fillStyle = t.color, i.fillRect(t.left, t.top, t.width, t.height), i.fillStyle = e;
1247
1247
  }
@@ -1250,17 +1250,17 @@ function Nt(i, t, e, n, s, o = {}) {
1250
1250
  t
1251
1251
  ], r = o.strokeWidth > 0 && o.strokeColor !== "";
1252
1252
  let l, c;
1253
- for (i.save(), i.font = s.string, gr(i, o), l = 0; l < a.length; ++l)
1254
- c = a[l], o.backdrop && mr(i, o.backdrop), r && (o.strokeColor && (i.strokeStyle = o.strokeColor), F(o.strokeWidth) || (i.lineWidth = o.strokeWidth), i.strokeText(c, e, n, o.maxWidth)), i.fillText(c, e, n, o.maxWidth), pr(i, e, n, c, o), n += Number(s.lineHeight);
1253
+ for (i.save(), i.font = s.string, pr(i, o), l = 0; l < a.length; ++l)
1254
+ c = a[l], o.backdrop && br(i, o.backdrop), r && (o.strokeColor && (i.strokeStyle = o.strokeColor), F(o.strokeWidth) || (i.lineWidth = o.strokeWidth), i.strokeText(c, e, n, o.maxWidth)), i.fillText(c, e, n, o.maxWidth), mr(i, e, n, c, o), n += Number(s.lineHeight);
1255
1255
  i.restore();
1256
1256
  }
1257
1257
  function Pe(i, t) {
1258
1258
  const { x: e, y: n, w: s, h: o, radius: a } = t;
1259
1259
  i.arc(e + a.topLeft, n + a.topLeft, a.topLeft, 1.5 * N, N, !0), i.lineTo(e, n + o - a.bottomLeft), i.arc(e + a.bottomLeft, n + o - a.bottomLeft, a.bottomLeft, N, U, !0), i.lineTo(e + s - a.bottomRight, n + o), i.arc(e + s - a.bottomRight, n + o - a.bottomRight, a.bottomRight, U, 0, !0), i.lineTo(e + s, n + a.topRight), i.arc(e + s - a.topRight, n + a.topRight, a.topRight, 0, -U, !0), i.lineTo(e + a.topLeft, n);
1260
1260
  }
1261
- const br = /^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/, yr = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;
1262
- function xr(i, t) {
1263
- const e = ("" + i).match(br);
1261
+ const yr = /^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/, xr = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;
1262
+ function _r(i, t) {
1263
+ const e = ("" + i).match(yr);
1264
1264
  if (!e || e[1] === "normal")
1265
1265
  return t * 1.2;
1266
1266
  switch (i = +e[2], e[3]) {
@@ -1272,14 +1272,14 @@ function xr(i, t) {
1272
1272
  }
1273
1273
  return t * i;
1274
1274
  }
1275
- const _r = (i) => +i || 0;
1275
+ const vr = (i) => +i || 0;
1276
1276
  function yn(i, t) {
1277
1277
  const e = {}, n = T(t), s = n ? Object.keys(t) : t, o = T(i) ? n ? (a) => L(i[a], i[t[a]]) : (a) => i[a] : () => i;
1278
1278
  for (const a of s)
1279
- e[a] = _r(o(a));
1279
+ e[a] = vr(o(a));
1280
1280
  return e;
1281
1281
  }
1282
- function xo(i) {
1282
+ function _o(i) {
1283
1283
  return yn(i, {
1284
1284
  top: "y",
1285
1285
  right: "x",
@@ -1296,7 +1296,7 @@ function zt(i) {
1296
1296
  ]);
1297
1297
  }
1298
1298
  function Q(i) {
1299
- const t = xo(i);
1299
+ const t = _o(i);
1300
1300
  return t.width = t.left + t.right, t.height = t.top + t.bottom, t;
1301
1301
  }
1302
1302
  function Y(i, t) {
@@ -1304,16 +1304,16 @@ function Y(i, t) {
1304
1304
  let e = L(i.size, t.size);
1305
1305
  typeof e == "string" && (e = parseInt(e, 10));
1306
1306
  let n = L(i.style, t.style);
1307
- n && !("" + n).match(yr) && (console.warn('Invalid font style specified: "' + n + '"'), n = void 0);
1307
+ n && !("" + n).match(xr) && (console.warn('Invalid font style specified: "' + n + '"'), n = void 0);
1308
1308
  const s = {
1309
1309
  family: L(i.family, t.family),
1310
- lineHeight: xr(L(i.lineHeight, t.lineHeight), e),
1310
+ lineHeight: _r(L(i.lineHeight, t.lineHeight), e),
1311
1311
  size: e,
1312
1312
  style: n,
1313
1313
  weight: L(i.weight, t.weight),
1314
1314
  string: ""
1315
1315
  };
1316
- return s.string = hr(s), s;
1316
+ return s.string = dr(s), s;
1317
1317
  }
1318
1318
  function Ke(i, t, e, n) {
1319
1319
  let s = !0, o, a, r;
@@ -1321,8 +1321,8 @@ function Ke(i, t, e, n) {
1321
1321
  if (r = i[o], r !== void 0 && (t !== void 0 && typeof r == "function" && (r = r(t), s = !1), e !== void 0 && W(r) && (r = r[e % r.length], s = !1), r !== void 0))
1322
1322
  return n && !s && (n.cacheable = !1), r;
1323
1323
  }
1324
- function vr(i, t, e) {
1325
- const { min: n, max: s } = i, o = lo(t, (s - n) / 2), a = (r, l) => e && r === 0 ? 0 : r + l;
1324
+ function Sr(i, t, e) {
1325
+ const { min: n, max: s } = i, o = co(t, (s - n) / 2), a = (r, l) => e && r === 0 ? 0 : r + l;
1326
1326
  return {
1327
1327
  min: a(n, -Math.abs(o)),
1328
1328
  max: a(s, o)
@@ -1335,7 +1335,7 @@ function xn(i, t = [
1335
1335
  ""
1336
1336
  ], e, n, s = () => i[0]) {
1337
1337
  const o = e || i;
1338
- typeof n > "u" && (n = wo("_fallback", i));
1338
+ typeof n > "u" && (n = ko("_fallback", i));
1339
1339
  const a = {
1340
1340
  [Symbol.toStringTag]: "Object",
1341
1341
  _cacheable: !0,
@@ -1359,7 +1359,7 @@ function xn(i, t = [
1359
1359
  * A trap for getting property values.
1360
1360
  */
1361
1361
  get(r, l) {
1362
- return vo(r, l, () => Dr(l, t, i, r));
1362
+ return So(r, l, () => Lr(l, t, i, r));
1363
1363
  },
1364
1364
  /**
1365
1365
  * A trap for Object.getOwnPropertyDescriptor.
@@ -1402,7 +1402,7 @@ function Jt(i, t, e, n) {
1402
1402
  _context: t,
1403
1403
  _subProxy: e,
1404
1404
  _stack: /* @__PURE__ */ new Set(),
1405
- _descriptors: _o(i, n),
1405
+ _descriptors: vo(i, n),
1406
1406
  setContext: (o) => Jt(i, o, e, n),
1407
1407
  override: (o) => Jt(i.override(o), t, e, n)
1408
1408
  };
@@ -1417,7 +1417,7 @@ function Jt(i, t, e, n) {
1417
1417
  * A trap for getting property values.
1418
1418
  */
1419
1419
  get(o, a, r) {
1420
- return vo(o, a, () => wr(o, a, r));
1420
+ return So(o, a, () => kr(o, a, r));
1421
1421
  },
1422
1422
  /**
1423
1423
  * A trap for Object.getOwnPropertyDescriptor.
@@ -1455,7 +1455,7 @@ function Jt(i, t, e, n) {
1455
1455
  }
1456
1456
  });
1457
1457
  }
1458
- function _o(i, t = {
1458
+ function vo(i, t = {
1459
1459
  scriptable: !0,
1460
1460
  indexable: !0
1461
1461
  }) {
@@ -1468,19 +1468,19 @@ function _o(i, t = {
1468
1468
  isIndexable: At(n) ? n : () => n
1469
1469
  };
1470
1470
  }
1471
- const Sr = (i, t) => i ? i + fn(t) : t, _n = (i, t) => T(t) && i !== "adapters" && (Object.getPrototypeOf(t) === null || t.constructor === Object);
1472
- function vo(i, t, e) {
1471
+ const wr = (i, t) => i ? i + fn(t) : t, _n = (i, t) => T(t) && i !== "adapters" && (Object.getPrototypeOf(t) === null || t.constructor === Object);
1472
+ function So(i, t, e) {
1473
1473
  if (Object.prototype.hasOwnProperty.call(i, t))
1474
1474
  return i[t];
1475
1475
  const n = e();
1476
1476
  return i[t] = n, n;
1477
1477
  }
1478
- function wr(i, t, e) {
1478
+ function kr(i, t, e) {
1479
1479
  const { _proxy: n, _context: s, _subProxy: o, _descriptors: a } = i;
1480
1480
  let r = n[t];
1481
- return At(r) && a.isScriptable(t) && (r = kr(t, r, i, e)), W(r) && r.length && (r = Mr(t, r, i, a.isIndexable)), _n(t, r) && (r = Jt(r, s, o && o[t], a)), r;
1481
+ return At(r) && a.isScriptable(t) && (r = Mr(t, r, i, e)), W(r) && r.length && (r = Cr(t, r, i, a.isIndexable)), _n(t, r) && (r = Jt(r, s, o && o[t], a)), r;
1482
1482
  }
1483
- function kr(i, t, e, n) {
1483
+ function Mr(i, t, e, n) {
1484
1484
  const { _proxy: s, _context: o, _subProxy: a, _stack: r } = e;
1485
1485
  if (r.has(i))
1486
1486
  throw new Error("Recursion detected: " + Array.from(r).join("->") + "->" + i);
@@ -1488,7 +1488,7 @@ function kr(i, t, e, n) {
1488
1488
  let l = t(o, a || n);
1489
1489
  return r.delete(i), _n(i, l) && (l = vn(s._scopes, s, i, l)), l;
1490
1490
  }
1491
- function Mr(i, t, e, n) {
1491
+ function Cr(i, t, e, n) {
1492
1492
  const { _proxy: s, _context: o, _subProxy: a, _descriptors: r } = e;
1493
1493
  if (typeof o.index < "u" && n(i))
1494
1494
  return t[o.index % t.length];
@@ -1502,16 +1502,16 @@ function Mr(i, t, e, n) {
1502
1502
  }
1503
1503
  return t;
1504
1504
  }
1505
- function So(i, t, e) {
1505
+ function wo(i, t, e) {
1506
1506
  return At(i) ? i(t, e) : i;
1507
1507
  }
1508
- const Cr = (i, t) => i === !0 ? t : typeof i == "string" ? Pt(t, i) : void 0;
1509
- function Pr(i, t, e, n, s) {
1508
+ const Pr = (i, t) => i === !0 ? t : typeof i == "string" ? Pt(t, i) : void 0;
1509
+ function Ar(i, t, e, n, s) {
1510
1510
  for (const o of t) {
1511
- const a = Cr(e, o);
1511
+ const a = Pr(e, o);
1512
1512
  if (a) {
1513
1513
  i.add(a);
1514
- const r = So(a._fallback, e, s);
1514
+ const r = wo(a._fallback, e, s);
1515
1515
  if (typeof r < "u" && r !== e && r !== n)
1516
1516
  return r;
1517
1517
  } else if (a === !1 && typeof n < "u" && e !== n)
@@ -1520,7 +1520,7 @@ function Pr(i, t, e, n, s) {
1520
1520
  return !1;
1521
1521
  }
1522
1522
  function vn(i, t, e, n) {
1523
- const s = t._rootScopes, o = So(t._fallback, e, n), a = [
1523
+ const s = t._rootScopes, o = wo(t._fallback, e, n), a = [
1524
1524
  ...i,
1525
1525
  ...s
1526
1526
  ], r = /* @__PURE__ */ new Set();
@@ -1528,26 +1528,26 @@ function vn(i, t, e, n) {
1528
1528
  let l = jn(r, a, e, o || e, n);
1529
1529
  return l === null || typeof o < "u" && o !== e && (l = jn(r, a, o, l, n), l === null) ? !1 : xn(Array.from(r), [
1530
1530
  ""
1531
- ], s, o, () => Ar(t, e, n));
1531
+ ], s, o, () => Dr(t, e, n));
1532
1532
  }
1533
1533
  function jn(i, t, e, n, s) {
1534
1534
  for (; e; )
1535
- e = Pr(i, t, e, n, s);
1535
+ e = Ar(i, t, e, n, s);
1536
1536
  return e;
1537
1537
  }
1538
- function Ar(i, t, e) {
1538
+ function Dr(i, t, e) {
1539
1539
  const n = i._getTarget();
1540
1540
  t in n || (n[t] = {});
1541
1541
  const s = n[t];
1542
1542
  return W(s) && T(e) ? e : s || {};
1543
1543
  }
1544
- function Dr(i, t, e, n) {
1544
+ function Lr(i, t, e, n) {
1545
1545
  let s;
1546
1546
  for (const o of t)
1547
- if (s = wo(Sr(o, i), e), typeof s < "u")
1547
+ if (s = ko(wr(o, i), e), typeof s < "u")
1548
1548
  return _n(i, s) ? vn(e, n, i, s) : s;
1549
1549
  }
1550
- function wo(i, t) {
1550
+ function ko(i, t) {
1551
1551
  for (const e of t) {
1552
1552
  if (!e)
1553
1553
  continue;
@@ -1558,16 +1558,16 @@ function wo(i, t) {
1558
1558
  }
1559
1559
  function $n(i) {
1560
1560
  let t = i._keys;
1561
- return t || (t = i._keys = Lr(i._scopes)), t;
1561
+ return t || (t = i._keys = Tr(i._scopes)), t;
1562
1562
  }
1563
- function Lr(i) {
1563
+ function Tr(i) {
1564
1564
  const t = /* @__PURE__ */ new Set();
1565
1565
  for (const e of i)
1566
1566
  for (const n of Object.keys(e).filter((s) => !s.startsWith("_")))
1567
1567
  t.add(n);
1568
1568
  return Array.from(t);
1569
1569
  }
1570
- function Tr(i, t, e, n) {
1570
+ function Or(i, t, e, n) {
1571
1571
  const { iScale: s } = i, { key: o = "r" } = this._parsing, a = new Array(n);
1572
1572
  let r, l, c, h;
1573
1573
  for (r = 0, l = n; r < l; ++r)
@@ -1576,8 +1576,8 @@ function Tr(i, t, e, n) {
1576
1576
  };
1577
1577
  return a;
1578
1578
  }
1579
- const Or = Number.EPSILON || 1e-14, te = (i, t) => t < i.length && !i[t].skip && i[t], ko = (i) => i === "x" ? "y" : "x";
1580
- function Ir(i, t, e, n) {
1579
+ const Ir = Number.EPSILON || 1e-14, te = (i, t) => t < i.length && !i[t].skip && i[t], Mo = (i) => i === "x" ? "y" : "x";
1580
+ function Fr(i, t, e, n) {
1581
1581
  const s = i.skip ? t : i, o = t, a = e.skip ? t : e, r = qi(o, s), l = qi(a, o);
1582
1582
  let c = r / (r + l), h = l / (r + l);
1583
1583
  c = isNaN(c) ? 0 : c, h = isNaN(h) ? 0 : h;
@@ -1593,20 +1593,20 @@ function Ir(i, t, e, n) {
1593
1593
  }
1594
1594
  };
1595
1595
  }
1596
- function Fr(i, t, e) {
1596
+ function Rr(i, t, e) {
1597
1597
  const n = i.length;
1598
1598
  let s, o, a, r, l, c = te(i, 0);
1599
1599
  for (let h = 0; h < n - 1; ++h)
1600
1600
  if (l = c, c = te(i, h + 1), !(!l || !c)) {
1601
- if (ye(t[h], 0, Or)) {
1601
+ if (ye(t[h], 0, Ir)) {
1602
1602
  e[h] = e[h + 1] = 0;
1603
1603
  continue;
1604
1604
  }
1605
1605
  s = e[h] / t[h], o = e[h + 1] / t[h], r = Math.pow(s, 2) + Math.pow(o, 2), !(r <= 9) && (a = 3 / Math.sqrt(r), e[h] = s * a * t[h], e[h + 1] = o * a * t[h]);
1606
1606
  }
1607
1607
  }
1608
- function Rr(i, t, e = "x") {
1609
- const n = ko(e), s = i.length;
1608
+ function Er(i, t, e = "x") {
1609
+ const n = Mo(e), s = i.length;
1610
1610
  let o, a, r, l = te(i, 0);
1611
1611
  for (let c = 0; c < s; ++c) {
1612
1612
  if (a = r, r = l, l = te(i, c + 1), !r)
@@ -1615,8 +1615,8 @@ function Rr(i, t, e = "x") {
1615
1615
  a && (o = (h - a[e]) / 3, r[`cp1${e}`] = h - o, r[`cp1${n}`] = d - o * t[c]), l && (o = (l[e] - h) / 3, r[`cp2${e}`] = h + o, r[`cp2${n}`] = d + o * t[c]);
1616
1616
  }
1617
1617
  }
1618
- function Er(i, t = "x") {
1619
- const e = ko(t), n = i.length, s = Array(n).fill(0), o = Array(n);
1618
+ function Br(i, t = "x") {
1619
+ const e = Mo(t), n = i.length, s = Array(n).fill(0), o = Array(n);
1620
1620
  let a, r, l, c = te(i, 0);
1621
1621
  for (a = 0; a < n; ++a)
1622
1622
  if (r = l, l = c, c = te(i, a + 1), !!l) {
@@ -1626,28 +1626,28 @@ function Er(i, t = "x") {
1626
1626
  }
1627
1627
  o[a] = r ? c ? ut(s[a - 1]) !== ut(s[a]) ? 0 : (s[a - 1] + s[a]) / 2 : s[a - 1] : s[a];
1628
1628
  }
1629
- Fr(i, s, o), Rr(i, o, t);
1629
+ Rr(i, s, o), Er(i, o, t);
1630
1630
  }
1631
1631
  function Ze(i, t, e) {
1632
1632
  return Math.max(Math.min(i, e), t);
1633
1633
  }
1634
- function Br(i, t) {
1634
+ function zr(i, t) {
1635
1635
  let e, n, s, o, a, r = _t(i[0], t);
1636
1636
  for (e = 0, n = i.length; e < n; ++e)
1637
1637
  a = o, o = r, r = e < n - 1 && _t(i[e + 1], t), o && (s = i[e], a && (s.cp1x = Ze(s.cp1x, t.left, t.right), s.cp1y = Ze(s.cp1y, t.top, t.bottom)), r && (s.cp2x = Ze(s.cp2x, t.left, t.right), s.cp2y = Ze(s.cp2y, t.top, t.bottom)));
1638
1638
  }
1639
- function zr(i, t, e, n, s) {
1639
+ function Wr(i, t, e, n, s) {
1640
1640
  let o, a, r, l;
1641
1641
  if (t.spanGaps && (i = i.filter((c) => !c.skip)), t.cubicInterpolationMode === "monotone")
1642
- Er(i, s);
1642
+ Br(i, s);
1643
1643
  else {
1644
1644
  let c = n ? i[i.length - 1] : i[0];
1645
1645
  for (o = 0, a = i.length; o < a; ++o)
1646
- r = i[o], l = Ir(c, r, i[Math.min(o + 1, a - (n ? 0 : 1)) % a], t.tension), r.cp1x = l.previous.x, r.cp1y = l.previous.y, r.cp2x = l.next.x, r.cp2y = l.next.y, c = r;
1646
+ r = i[o], l = Fr(c, r, i[Math.min(o + 1, a - (n ? 0 : 1)) % a], t.tension), r.cp1x = l.previous.x, r.cp1y = l.previous.y, r.cp2x = l.next.x, r.cp2y = l.next.y, c = r;
1647
1647
  }
1648
- t.capBezierPoints && Br(i, e);
1648
+ t.capBezierPoints && zr(i, e);
1649
1649
  }
1650
- function Mo() {
1650
+ function Co() {
1651
1651
  return typeof window < "u" && typeof document < "u";
1652
1652
  }
1653
1653
  function Sn(i) {
@@ -1659,10 +1659,10 @@ function mi(i, t, e) {
1659
1659
  return typeof i == "string" ? (n = parseInt(i, 10), i.indexOf("%") !== -1 && (n = n / 100 * t.parentNode[e])) : n = i, n;
1660
1660
  }
1661
1661
  const Ci = (i) => i.ownerDocument.defaultView.getComputedStyle(i, null);
1662
- function Wr(i, t) {
1662
+ function Hr(i, t) {
1663
1663
  return Ci(i).getPropertyValue(t);
1664
1664
  }
1665
- const Hr = [
1665
+ const Nr = [
1666
1666
  "top",
1667
1667
  "right",
1668
1668
  "bottom",
@@ -1672,16 +1672,16 @@ function Wt(i, t, e) {
1672
1672
  const n = {};
1673
1673
  e = e ? "-" + e : "";
1674
1674
  for (let s = 0; s < 4; s++) {
1675
- const o = Hr[s];
1675
+ const o = Nr[s];
1676
1676
  n[o] = parseFloat(i[t + "-" + o + e]) || 0;
1677
1677
  }
1678
1678
  return n.width = n.left + n.right, n.height = n.top + n.bottom, n;
1679
1679
  }
1680
- const Nr = (i, t, e) => (i > 0 || t > 0) && (!e || !e.shadowRoot);
1681
- function Vr(i, t) {
1680
+ const Vr = (i, t, e) => (i > 0 || t > 0) && (!e || !e.shadowRoot);
1681
+ function jr(i, t) {
1682
1682
  const e = i.touches, n = e && e.length ? e[0] : i, { offsetX: s, offsetY: o } = n;
1683
1683
  let a = !1, r, l;
1684
- if (Nr(s, o, i.target))
1684
+ if (Vr(s, o, i.target))
1685
1685
  r = s, l = o;
1686
1686
  else {
1687
1687
  const c = t.getBoundingClientRect();
@@ -1696,14 +1696,14 @@ function Vr(i, t) {
1696
1696
  function Rt(i, t) {
1697
1697
  if ("native" in i)
1698
1698
  return i;
1699
- const { canvas: e, currentDevicePixelRatio: n } = t, s = Ci(e), o = s.boxSizing === "border-box", a = Wt(s, "padding"), r = Wt(s, "border", "width"), { x: l, y: c, box: h } = Vr(i, e), d = a.left + (h && r.left), u = a.top + (h && r.top);
1699
+ const { canvas: e, currentDevicePixelRatio: n } = t, s = Ci(e), o = s.boxSizing === "border-box", a = Wt(s, "padding"), r = Wt(s, "border", "width"), { x: l, y: c, box: h } = jr(i, e), d = a.left + (h && r.left), u = a.top + (h && r.top);
1700
1700
  let { width: f, height: m } = t;
1701
1701
  return o && (f -= a.width + r.width, m -= a.height + r.height), {
1702
1702
  x: Math.round((l - d) / f * e.width / n),
1703
1703
  y: Math.round((c - u) / m * e.height / n)
1704
1704
  };
1705
1705
  }
1706
- function jr(i, t, e) {
1706
+ function $r(i, t, e) {
1707
1707
  let n, s;
1708
1708
  if (t === void 0 || e === void 0) {
1709
1709
  const o = Sn(i);
@@ -1722,8 +1722,8 @@ function jr(i, t, e) {
1722
1722
  };
1723
1723
  }
1724
1724
  const Qe = (i) => Math.round(i * 10) / 10;
1725
- function $r(i, t, e, n) {
1726
- const s = Ci(i), o = Wt(s, "margin"), a = mi(s.maxWidth, i, "clientWidth") || gi, r = mi(s.maxHeight, i, "clientHeight") || gi, l = jr(i, t, e);
1725
+ function Ur(i, t, e, n) {
1726
+ const s = Ci(i), o = Wt(s, "margin"), a = mi(s.maxWidth, i, "clientWidth") || gi, r = mi(s.maxHeight, i, "clientHeight") || gi, l = $r(i, t, e);
1727
1727
  let { width: c, height: h } = l;
1728
1728
  if (s.boxSizing === "content-box") {
1729
1729
  const u = Wt(s, "border", "width"), f = Wt(s, "padding");
@@ -1740,7 +1740,7 @@ function Un(i, t, e) {
1740
1740
  const a = i.canvas;
1741
1741
  return a.style && (e || !a.style.height && !a.style.width) && (a.style.height = `${i.height}px`, a.style.width = `${i.width}px`), i.currentDevicePixelRatio !== n || a.height !== s || a.width !== o ? (i.currentDevicePixelRatio = n, a.height = s, a.width = o, i.ctx.setTransform(n, 0, 0, n, 0, 0), !0) : !1;
1742
1742
  }
1743
- const Ur = function() {
1743
+ const Yr = function() {
1744
1744
  let i = !1;
1745
1745
  try {
1746
1746
  const t = {
@@ -1754,7 +1754,7 @@ const Ur = function() {
1754
1754
  return i;
1755
1755
  }();
1756
1756
  function Yn(i, t) {
1757
- const e = Wr(i, t), n = e && e.match(/^(\d+)(\.\d+)?px$/);
1757
+ const e = Hr(i, t), n = e && e.match(/^(\d+)(\.\d+)?px$/);
1758
1758
  return n ? +n[1] : void 0;
1759
1759
  }
1760
1760
  function Et(i, t, e, n) {
@@ -1763,13 +1763,13 @@ function Et(i, t, e, n) {
1763
1763
  y: i.y + e * (t.y - i.y)
1764
1764
  };
1765
1765
  }
1766
- function Yr(i, t, e, n) {
1766
+ function Xr(i, t, e, n) {
1767
1767
  return {
1768
1768
  x: i.x + e * (t.x - i.x),
1769
1769
  y: n === "middle" ? e < 0.5 ? i.y : t.y : n === "after" ? e < 1 ? i.y : t.y : e > 0 ? t.y : i.y
1770
1770
  };
1771
1771
  }
1772
- function Xr(i, t, e, n) {
1772
+ function Gr(i, t, e, n) {
1773
1773
  const s = {
1774
1774
  x: i.cp2x,
1775
1775
  y: i.cp2y
@@ -1779,7 +1779,7 @@ function Xr(i, t, e, n) {
1779
1779
  }, a = Et(i, s, e), r = Et(s, o, e), l = Et(o, t, e), c = Et(a, r, e), h = Et(r, l, e);
1780
1780
  return Et(c, h, e);
1781
1781
  }
1782
- const Gr = function(i, t) {
1782
+ const qr = function(i, t) {
1783
1783
  return {
1784
1784
  x(e) {
1785
1785
  return i + i + t - e;
@@ -1797,7 +1797,7 @@ const Gr = function(i, t) {
1797
1797
  return e - n;
1798
1798
  }
1799
1799
  };
1800
- }, qr = function() {
1800
+ }, Kr = function() {
1801
1801
  return {
1802
1802
  x(i) {
1803
1803
  return i;
@@ -1816,22 +1816,22 @@ const Gr = function(i, t) {
1816
1816
  };
1817
1817
  };
1818
1818
  function qt(i, t, e) {
1819
- return i ? Gr(t, e) : qr();
1819
+ return i ? qr(t, e) : Kr();
1820
1820
  }
1821
- function Co(i, t) {
1821
+ function Po(i, t) {
1822
1822
  let e, n;
1823
1823
  (t === "ltr" || t === "rtl") && (e = i.canvas.style, n = [
1824
1824
  e.getPropertyValue("direction"),
1825
1825
  e.getPropertyPriority("direction")
1826
1826
  ], e.setProperty("direction", t, "important"), i.prevTextDirection = n);
1827
1827
  }
1828
- function Po(i, t) {
1828
+ function Ao(i, t) {
1829
1829
  t !== void 0 && (delete i.prevTextDirection, i.canvas.style.setProperty("direction", t[0], t[1]));
1830
1830
  }
1831
- function Ao(i) {
1831
+ function Do(i) {
1832
1832
  return i === "angle" ? {
1833
1833
  between: Ce,
1834
- compare: Xa,
1834
+ compare: Ga,
1835
1835
  normalize: it
1836
1836
  } : {
1837
1837
  between: xt,
@@ -1847,8 +1847,8 @@ function Xn({ start: i, end: t, count: e, loop: n, style: s }) {
1847
1847
  style: s
1848
1848
  };
1849
1849
  }
1850
- function Kr(i, t, e) {
1851
- const { property: n, start: s, end: o } = e, { between: a, normalize: r } = Ao(n), l = t.length;
1850
+ function Zr(i, t, e) {
1851
+ const { property: n, start: s, end: o } = e, { between: a, normalize: r } = Do(n), l = t.length;
1852
1852
  let { start: c, end: h, loop: d } = i, u, f;
1853
1853
  if (d) {
1854
1854
  for (c += l, h += l, u = 0, f = l; u < f && a(r(t[c % l][n]), s, o); ++u)
@@ -1862,12 +1862,12 @@ function Kr(i, t, e) {
1862
1862
  style: i.style
1863
1863
  };
1864
1864
  }
1865
- function Do(i, t, e) {
1865
+ function Lo(i, t, e) {
1866
1866
  if (!e)
1867
1867
  return [
1868
1868
  i
1869
1869
  ];
1870
- const { property: n, start: s, end: o } = e, a = t.length, { compare: r, between: l, normalize: c } = Ao(n), { start: h, end: d, loop: u, style: f } = Kr(i, t, e), m = [];
1870
+ const { property: n, start: s, end: o } = e, a = t.length, { compare: r, between: l, normalize: c } = Do(n), { start: h, end: d, loop: u, style: f } = Zr(i, t, e), m = [];
1871
1871
  let g = !1, p = null, b, y, x;
1872
1872
  const v = () => l(s, x, b) && r(s, x) !== 0, _ = () => r(o, b) === 0 || l(o, x, b), w = () => g || v(), S = () => !g || _();
1873
1873
  for (let M = h, C = h; M <= d; ++M)
@@ -1886,15 +1886,15 @@ function Do(i, t, e) {
1886
1886
  style: f
1887
1887
  })), m;
1888
1888
  }
1889
- function Lo(i, t) {
1889
+ function To(i, t) {
1890
1890
  const e = [], n = i.segments;
1891
1891
  for (let s = 0; s < n.length; s++) {
1892
- const o = Do(n[s], i.points, t);
1892
+ const o = Lo(n[s], i.points, t);
1893
1893
  o.length && e.push(...o);
1894
1894
  }
1895
1895
  return e;
1896
1896
  }
1897
- function Zr(i, t, e, n) {
1897
+ function Qr(i, t, e, n) {
1898
1898
  let s = 0, o = t - 1;
1899
1899
  if (e && !n)
1900
1900
  for (; s < t && !i[s].skip; )
@@ -1908,7 +1908,7 @@ function Zr(i, t, e, n) {
1908
1908
  end: o
1909
1909
  };
1910
1910
  }
1911
- function Qr(i, t, e, n) {
1911
+ function Jr(i, t, e, n) {
1912
1912
  const s = i.length, o = [];
1913
1913
  let a = t, r = i[t], l;
1914
1914
  for (l = t + 1; l <= e; ++l) {
@@ -1925,11 +1925,11 @@ function Qr(i, t, e, n) {
1925
1925
  loop: n
1926
1926
  }), o;
1927
1927
  }
1928
- function Jr(i, t) {
1928
+ function tl(i, t) {
1929
1929
  const e = i.points, n = i.options.spanGaps, s = e.length;
1930
1930
  if (!s)
1931
1931
  return [];
1932
- const o = !!i._loop, { start: a, end: r } = Zr(e, s, o, n);
1932
+ const o = !!i._loop, { start: a, end: r } = Qr(e, s, o, n);
1933
1933
  if (n === !0)
1934
1934
  return Gn(i, [
1935
1935
  {
@@ -1939,12 +1939,12 @@ function Jr(i, t) {
1939
1939
  }
1940
1940
  ], e, t);
1941
1941
  const l = r < a ? r + s : r, c = !!i._fullLoop && a === 0 && r === s - 1;
1942
- return Gn(i, Qr(e, a, l, c), e, t);
1942
+ return Gn(i, Jr(e, a, l, c), e, t);
1943
1943
  }
1944
1944
  function Gn(i, t, e, n) {
1945
- return !n || !n.setContext || !e ? t : tl(i, t, e, n);
1945
+ return !n || !n.setContext || !e ? t : el(i, t, e, n);
1946
1946
  }
1947
- function tl(i, t, e, n) {
1947
+ function el(i, t, e, n) {
1948
1948
  const s = i._chart.getContext(), o = qn(i.options), { _datasetIndex: a, options: { spanGaps: r } } = i, l = e.length, c = [];
1949
1949
  let h = o, d = t[0].start, u = d;
1950
1950
  function f(m, g, p, b) {
@@ -1974,7 +1974,7 @@ function tl(i, t, e, n) {
1974
1974
  p0DataIndex: (u - 1) % l,
1975
1975
  p1DataIndex: u % l,
1976
1976
  datasetIndex: a
1977
- }))), el(p, h) && f(d, u - 1, m.loop, h), g = b, h = p;
1977
+ }))), il(p, h) && f(d, u - 1, m.loop, h), g = b, h = p;
1978
1978
  }
1979
1979
  d < u - 1 && f(d, u - 1, m.loop, h);
1980
1980
  }
@@ -1991,7 +1991,7 @@ function qn(i) {
1991
1991
  borderColor: i.borderColor
1992
1992
  };
1993
1993
  }
1994
- function el(i, t) {
1994
+ function il(i, t) {
1995
1995
  if (!t)
1996
1996
  return !1;
1997
1997
  const e = [], n = function(s, o) {
@@ -2005,7 +2005,7 @@ function el(i, t) {
2005
2005
  * (c) 2023 Chart.js Contributors
2006
2006
  * Released under the MIT License
2007
2007
  */
2008
- class il {
2008
+ class nl {
2009
2009
  constructor() {
2010
2010
  this._request = null, this._charts = /* @__PURE__ */ new Map(), this._running = !1, this._lastDate = void 0;
2011
2011
  }
@@ -2019,7 +2019,7 @@ class il {
2019
2019
  }));
2020
2020
  }
2021
2021
  _refresh() {
2022
- this._request || (this._running = !0, this._request = po.call(window, () => {
2022
+ this._request || (this._running = !0, this._request = mo.call(window, () => {
2023
2023
  this._update(), this._request = null, this._running && this._refresh();
2024
2024
  }));
2025
2025
  }
@@ -2081,8 +2081,8 @@ class il {
2081
2081
  return this._charts.delete(t);
2082
2082
  }
2083
2083
  }
2084
- var mt = /* @__PURE__ */ new il();
2085
- const Kn = "transparent", nl = {
2084
+ var mt = /* @__PURE__ */ new nl();
2085
+ const Kn = "transparent", sl = {
2086
2086
  boolean(i, t, e) {
2087
2087
  return e > 0.5 ? t : i;
2088
2088
  },
@@ -2094,7 +2094,7 @@ const Kn = "transparent", nl = {
2094
2094
  return i + (t - i) * e;
2095
2095
  }
2096
2096
  };
2097
- class sl {
2097
+ class ol {
2098
2098
  constructor(t, e, n, s) {
2099
2099
  const o = e[n];
2100
2100
  s = Ke([
@@ -2108,7 +2108,7 @@ class sl {
2108
2108
  o,
2109
2109
  s
2110
2110
  ]);
2111
- this._active = !0, this._fn = t.fn || nl[t.type || typeof a], this._easing = xe[t.easing] || xe.linear, this._start = Math.floor(Date.now() + (t.delay || 0)), this._duration = this._total = Math.floor(t.duration), this._loop = !!t.loop, this._target = e, this._prop = n, this._from = a, this._to = s, this._promises = void 0;
2111
+ this._active = !0, this._fn = t.fn || sl[t.type || typeof a], this._easing = xe[t.easing] || xe.linear, this._start = Math.floor(Date.now() + (t.delay || 0)), this._duration = this._total = Math.floor(t.duration), this._loop = !!t.loop, this._target = e, this._prop = n, this._from = a, this._to = s, this._promises = void 0;
2112
2112
  }
2113
2113
  active() {
2114
2114
  return this._active;
@@ -2160,7 +2160,7 @@ class sl {
2160
2160
  n[s][e]();
2161
2161
  }
2162
2162
  }
2163
- class To {
2163
+ class Oo {
2164
2164
  constructor(t, e) {
2165
2165
  this._chart = t, this._properties = /* @__PURE__ */ new Map(), this.configure(e);
2166
2166
  }
@@ -2183,11 +2183,11 @@ class To {
2183
2183
  });
2184
2184
  }
2185
2185
  _animateOptions(t, e) {
2186
- const n = e.options, s = al(t, n);
2186
+ const n = e.options, s = rl(t, n);
2187
2187
  if (!s)
2188
2188
  return [];
2189
2189
  const o = this._createAnimations(s, n);
2190
- return n.$shared && ol(t.options.$animations, n).then(() => {
2190
+ return n.$shared && al(t.options.$animations, n).then(() => {
2191
2191
  t.options = n;
2192
2192
  }, () => {
2193
2193
  }), o;
@@ -2216,7 +2216,7 @@ class To {
2216
2216
  t[c] = h;
2217
2217
  continue;
2218
2218
  }
2219
- o[c] = d = new sl(u, t, c, h), s.push(d);
2219
+ o[c] = d = new ol(u, t, c, h), s.push(d);
2220
2220
  }
2221
2221
  return s;
2222
2222
  }
@@ -2230,7 +2230,7 @@ class To {
2230
2230
  return mt.add(this._chart, n), !0;
2231
2231
  }
2232
2232
  }
2233
- function ol(i, t) {
2233
+ function al(i, t) {
2234
2234
  const e = [], n = Object.keys(t);
2235
2235
  for (let s = 0; s < n.length; s++) {
2236
2236
  const o = i[n[s]];
@@ -2238,7 +2238,7 @@ function ol(i, t) {
2238
2238
  }
2239
2239
  return Promise.all(e);
2240
2240
  }
2241
- function al(i, t) {
2241
+ function rl(i, t) {
2242
2242
  if (!t)
2243
2243
  return;
2244
2244
  let e = i.options;
@@ -2258,7 +2258,7 @@ function Zn(i, t) {
2258
2258
  end: n ? s : o
2259
2259
  };
2260
2260
  }
2261
- function rl(i, t, e) {
2261
+ function ll(i, t, e) {
2262
2262
  if (e === !1)
2263
2263
  return !1;
2264
2264
  const n = Zn(i, e), s = Zn(t, e);
@@ -2269,7 +2269,7 @@ function rl(i, t, e) {
2269
2269
  left: n.start
2270
2270
  };
2271
2271
  }
2272
- function ll(i) {
2272
+ function cl(i) {
2273
2273
  let t, e, n, s;
2274
2274
  return T(i) ? (t = i.top, e = i.right, n = i.bottom, s = i.left) : t = e = n = s = i, {
2275
2275
  top: t,
@@ -2279,7 +2279,7 @@ function ll(i) {
2279
2279
  disabled: i === !1
2280
2280
  };
2281
2281
  }
2282
- function Oo(i, t) {
2282
+ function Io(i, t) {
2283
2283
  const e = [], n = i._getSortedDatasetMetas(t);
2284
2284
  let s, o;
2285
2285
  for (s = 0, o = n.length; s < o; ++s)
@@ -2301,7 +2301,7 @@ function Qn(i, t, e, n = {}) {
2301
2301
  return t;
2302
2302
  }
2303
2303
  }
2304
- function cl(i) {
2304
+ function hl(i) {
2305
2305
  const t = Object.keys(i), e = new Array(t.length);
2306
2306
  let n, s, o;
2307
2307
  for (n = 0, s = t.length; n < s; ++n)
@@ -2315,17 +2315,17 @@ function Jn(i, t) {
2315
2315
  const e = i && i.options.stacked;
2316
2316
  return e || e === void 0 && t.stack !== void 0;
2317
2317
  }
2318
- function hl(i, t, e) {
2318
+ function dl(i, t, e) {
2319
2319
  return `${i.id}.${t.id}.${e.stack || e.type}`;
2320
2320
  }
2321
- function dl(i) {
2321
+ function ul(i) {
2322
2322
  const { min: t, max: e, minDefined: n, maxDefined: s } = i.getUserBounds();
2323
2323
  return {
2324
2324
  min: n ? t : Number.NEGATIVE_INFINITY,
2325
2325
  max: s ? e : Number.POSITIVE_INFINITY
2326
2326
  };
2327
2327
  }
2328
- function ul(i, t, e) {
2328
+ function fl(i, t, e) {
2329
2329
  const n = i[t] || (i[t] = {});
2330
2330
  return n[e] || (n[e] = {});
2331
2331
  }
@@ -2338,11 +2338,11 @@ function ts(i, t, e, n) {
2338
2338
  return null;
2339
2339
  }
2340
2340
  function es(i, t) {
2341
- const { chart: e, _cachedMeta: n } = i, s = e._stacks || (e._stacks = {}), { iScale: o, vScale: a, index: r } = n, l = o.axis, c = a.axis, h = hl(o, a, n), d = t.length;
2341
+ const { chart: e, _cachedMeta: n } = i, s = e._stacks || (e._stacks = {}), { iScale: o, vScale: a, index: r } = n, l = o.axis, c = a.axis, h = dl(o, a, n), d = t.length;
2342
2342
  let u;
2343
2343
  for (let f = 0; f < d; ++f) {
2344
2344
  const m = t[f], { [l]: g, [c]: p } = m, b = m._stacks || (m._stacks = {});
2345
- u = b[c] = ul(s, h, g), u[r] = p, u._top = ts(u, a, !0, n.type), u._bottom = ts(u, a, !1, n.type);
2345
+ u = b[c] = fl(s, h, g), u[r] = p, u._top = ts(u, a, !0, n.type), u._bottom = ts(u, a, !1, n.type);
2346
2346
  const y = u._visualValues || (u._visualValues = {});
2347
2347
  y[r] = p;
2348
2348
  }
@@ -2351,7 +2351,7 @@ function Bi(i, t) {
2351
2351
  const e = i.scales;
2352
2352
  return Object.keys(e).filter((n) => e[n].axis === t).shift();
2353
2353
  }
2354
- function fl(i, t) {
2354
+ function gl(i, t) {
2355
2355
  return Dt(i, {
2356
2356
  active: !1,
2357
2357
  dataset: void 0,
@@ -2361,7 +2361,7 @@ function fl(i, t) {
2361
2361
  type: "dataset"
2362
2362
  });
2363
2363
  }
2364
- function gl(i, t, e) {
2364
+ function pl(i, t, e) {
2365
2365
  return Dt(i, {
2366
2366
  active: !1,
2367
2367
  dataIndex: t,
@@ -2385,8 +2385,8 @@ function ae(i, t) {
2385
2385
  }
2386
2386
  }
2387
2387
  }
2388
- const zi = (i) => i === "reset" || i === "none", is = (i, t) => t ? i : Object.assign({}, i), pl = (i, t, e) => i && !t.hidden && t._stacked && {
2389
- keys: Oo(e, !0),
2388
+ const zi = (i) => i === "reset" || i === "none", is = (i, t) => t ? i : Object.assign({}, i), ml = (i, t, e) => i && !t.hidden && t._stacked && {
2389
+ keys: Io(e, !0),
2390
2390
  values: null
2391
2391
  };
2392
2392
  class Ct {
@@ -2427,14 +2427,14 @@ class Ct {
2427
2427
  _dataCheck() {
2428
2428
  const t = this.getDataset(), e = t.data || (t.data = []), n = this._data;
2429
2429
  if (T(e))
2430
- this._data = cl(e);
2430
+ this._data = hl(e);
2431
2431
  else if (n !== e) {
2432
2432
  if (n) {
2433
2433
  Bn(n, this);
2434
2434
  const s = this._cachedMeta;
2435
2435
  ae(s), s._parsed = [];
2436
2436
  }
2437
- e && Object.isExtensible(e) && Za(e, this), this._syncList = [], this._data = e;
2437
+ e && Object.isExtensible(e) && Qa(e, this), this._syncList = [], this._data = e;
2438
2438
  }
2439
2439
  }
2440
2440
  addElements() {
@@ -2504,7 +2504,7 @@ class Ct {
2504
2504
  }
2505
2505
  applyStack(t, e, n) {
2506
2506
  const s = this.chart, o = this._cachedMeta, a = e[t.axis], r = {
2507
- keys: Oo(s, !0),
2507
+ keys: Io(s, !0),
2508
2508
  values: e._stacks[t.axis]._visualValues
2509
2509
  };
2510
2510
  return Qn(r, a, o.index, {
@@ -2518,10 +2518,10 @@ class Ct {
2518
2518
  s && r && (s.values = r, a = Qn(s, o, this._cachedMeta.index)), t.min = Math.min(t.min, a), t.max = Math.max(t.max, a);
2519
2519
  }
2520
2520
  getMinMax(t, e) {
2521
- const n = this._cachedMeta, s = n._parsed, o = n._sorted && t === n.iScale, a = s.length, r = this._getOtherScale(t), l = pl(e, n, this.chart), c = {
2521
+ const n = this._cachedMeta, s = n._parsed, o = n._sorted && t === n.iScale, a = s.length, r = this._getOtherScale(t), l = ml(e, n, this.chart), c = {
2522
2522
  min: Number.POSITIVE_INFINITY,
2523
2523
  max: Number.NEGATIVE_INFINITY
2524
- }, { min: h, max: d } = dl(r);
2524
+ }, { min: h, max: d } = ul(r);
2525
2525
  let u, f;
2526
2526
  function m() {
2527
2527
  f = s[u];
@@ -2558,7 +2558,7 @@ class Ct {
2558
2558
  }
2559
2559
  _update(t) {
2560
2560
  const e = this._cachedMeta;
2561
- this.update(t || "default"), e._clip = ll(L(this.options.clip, rl(e.xScale, e.yScale, this.getMaxOverflow())));
2561
+ this.update(t || "default"), e._clip = cl(L(this.options.clip, ll(e.xScale, e.yScale, this.getMaxOverflow())));
2562
2562
  }
2563
2563
  update(t) {
2564
2564
  }
@@ -2581,9 +2581,9 @@ class Ct {
2581
2581
  let o;
2582
2582
  if (t >= 0 && t < this._cachedMeta.data.length) {
2583
2583
  const a = this._cachedMeta.data[t];
2584
- o = a.$context || (a.$context = gl(this.getContext(), t, a)), o.parsed = this.getParsed(t), o.raw = s.data[t], o.index = o.dataIndex = t;
2584
+ o = a.$context || (a.$context = pl(this.getContext(), t, a)), o.parsed = this.getParsed(t), o.raw = s.data[t], o.index = o.dataIndex = t;
2585
2585
  } else
2586
- o = this.$context || (this.$context = fl(this.chart.getContext(), this.index)), o.dataset = s, o.index = o.datasetIndex = this.index;
2586
+ o = this.$context || (this.$context = gl(this.chart.getContext(), this.index)), o.dataset = s, o.index = o.datasetIndex = this.index;
2587
2587
  return o.active = !!e, o.mode = n, o;
2588
2588
  }
2589
2589
  resolveDatasetElementOptions(t) {
@@ -2616,7 +2616,7 @@ class Ct {
2616
2616
  const h = this.chart.config, d = h.datasetAnimationScopeKeys(this._type, e), u = h.getOptionScopes(this.getDataset(), d);
2617
2617
  l = h.createResolver(u, this.getContext(t, n, e));
2618
2618
  }
2619
- const c = new To(s, l && l.animations);
2619
+ const c = new Oo(s, l && l.animations);
2620
2620
  return l && l._cacheable && (o[a] = Object.freeze(c)), c;
2621
2621
  }
2622
2622
  getSharedOptions(t) {
@@ -2745,18 +2745,18 @@ class Ct {
2745
2745
  }
2746
2746
  }
2747
2747
  k(Ct, "defaults", {}), k(Ct, "datasetElementType", null), k(Ct, "dataElementType", null);
2748
- function ml(i, t) {
2748
+ function bl(i, t) {
2749
2749
  if (!i._cache.$bar) {
2750
2750
  const e = i.getMatchingVisibleMetas(t);
2751
2751
  let n = [];
2752
2752
  for (let s = 0, o = e.length; s < o; s++)
2753
2753
  n = n.concat(e[s].controller.getAllParsedValues(i));
2754
- i._cache.$bar = go(n.sort((s, o) => s - o));
2754
+ i._cache.$bar = po(n.sort((s, o) => s - o));
2755
2755
  }
2756
2756
  return i._cache.$bar;
2757
2757
  }
2758
- function bl(i) {
2759
- const t = i.iScale, e = ml(t, i.type);
2758
+ function yl(i) {
2759
+ const t = i.iScale, e = bl(t, i.type);
2760
2760
  let n = t._length, s, o, a, r;
2761
2761
  const l = () => {
2762
2762
  a === 32767 || a === -32768 || (ke(r) && (n = Math.min(n, Math.abs(a - r) || n)), r = a);
@@ -2767,7 +2767,7 @@ function bl(i) {
2767
2767
  a = t.getPixelForTick(s), l();
2768
2768
  return n;
2769
2769
  }
2770
- function yl(i, t, e, n) {
2770
+ function xl(i, t, e, n) {
2771
2771
  const s = e.barThickness;
2772
2772
  let o, a;
2773
2773
  return F(s) ? (o = t.min * e.categoryPercentage, a = e.barPercentage) : (o = s * n, a = 1), {
@@ -2776,7 +2776,7 @@ function yl(i, t, e, n) {
2776
2776
  start: t.pixels[i] - o / 2
2777
2777
  };
2778
2778
  }
2779
- function xl(i, t, e, n) {
2779
+ function _l(i, t, e, n) {
2780
2780
  const s = t.pixels, o = s[i];
2781
2781
  let a = i > 0 ? s[i - 1] : null, r = i < s.length - 1 ? s[i + 1] : null;
2782
2782
  const l = e.categoryPercentage;
@@ -2788,7 +2788,7 @@ function xl(i, t, e, n) {
2788
2788
  start: c
2789
2789
  };
2790
2790
  }
2791
- function _l(i, t, e, n) {
2791
+ function vl(i, t, e, n) {
2792
2792
  const s = e.parse(i[0], n), o = e.parse(i[1], n), a = Math.min(s, o), r = Math.max(s, o);
2793
2793
  let l = a, c = r;
2794
2794
  Math.abs(a) > Math.abs(r) && (l = r, c = a), t[e.axis] = c, t._custom = {
@@ -2800,23 +2800,23 @@ function _l(i, t, e, n) {
2800
2800
  max: r
2801
2801
  };
2802
2802
  }
2803
- function Io(i, t, e, n) {
2804
- return W(i) ? _l(i, t, e, n) : t[e.axis] = e.parse(i, n), t;
2803
+ function Fo(i, t, e, n) {
2804
+ return W(i) ? vl(i, t, e, n) : t[e.axis] = e.parse(i, n), t;
2805
2805
  }
2806
2806
  function ns(i, t, e, n) {
2807
2807
  const s = i.iScale, o = i.vScale, a = s.getLabels(), r = s === o, l = [];
2808
2808
  let c, h, d, u;
2809
2809
  for (c = e, h = e + n; c < h; ++c)
2810
- u = t[c], d = {}, d[s.axis] = r || s.parse(a[c], c), l.push(Io(u, d, o, c));
2810
+ u = t[c], d = {}, d[s.axis] = r || s.parse(a[c], c), l.push(Fo(u, d, o, c));
2811
2811
  return l;
2812
2812
  }
2813
2813
  function Wi(i) {
2814
2814
  return i && i.barStart !== void 0 && i.barEnd !== void 0;
2815
2815
  }
2816
- function vl(i, t, e) {
2816
+ function Sl(i, t, e) {
2817
2817
  return i !== 0 ? ut(i) : (t.isHorizontal() ? 1 : -1) * (t.min >= e ? 1 : -1);
2818
2818
  }
2819
- function Sl(i) {
2819
+ function wl(i) {
2820
2820
  let t, e, n, s, o;
2821
2821
  return i.horizontal ? (t = i.base > i.x, e = "left", n = "right") : (t = i.base < i.y, e = "bottom", n = "top"), t ? (s = "end", o = "start") : (s = "start", o = "end"), {
2822
2822
  start: e,
@@ -2826,7 +2826,7 @@ function Sl(i) {
2826
2826
  bottom: o
2827
2827
  };
2828
2828
  }
2829
- function wl(i, t, e, n) {
2829
+ function kl(i, t, e, n) {
2830
2830
  let s = t.borderSkipped;
2831
2831
  const o = {};
2832
2832
  if (!s) {
@@ -2842,19 +2842,19 @@ function wl(i, t, e, n) {
2842
2842
  };
2843
2843
  return;
2844
2844
  }
2845
- const { start: a, end: r, reverse: l, top: c, bottom: h } = Sl(i);
2845
+ const { start: a, end: r, reverse: l, top: c, bottom: h } = wl(i);
2846
2846
  s === "middle" && e && (i.enableBorderRadius = !0, (e._top || 0) === n ? s = c : (e._bottom || 0) === n ? s = h : (o[ss(h, a, r, l)] = !0, s = c)), o[ss(s, a, r, l)] = !0, i.borderSkipped = o;
2847
2847
  }
2848
2848
  function ss(i, t, e, n) {
2849
- return n ? (i = kl(i, t, e), i = os(i, e, t)) : i = os(i, t, e), i;
2849
+ return n ? (i = Ml(i, t, e), i = os(i, e, t)) : i = os(i, t, e), i;
2850
2850
  }
2851
- function kl(i, t, e) {
2851
+ function Ml(i, t, e) {
2852
2852
  return i === t ? e : i === e ? t : i;
2853
2853
  }
2854
2854
  function os(i, t, e) {
2855
2855
  return i === "start" ? t : i === "end" ? e : i;
2856
2856
  }
2857
- function Ml(i, { inflateAmount: t }, e) {
2857
+ function Cl(i, { inflateAmount: t }, e) {
2858
2858
  i.inflateAmount = t === "auto" ? e === 1 ? 0.33 : 0 : t;
2859
2859
  }
2860
2860
  class ai extends Ct {
@@ -2868,7 +2868,7 @@ class ai extends Ct {
2868
2868
  const { iScale: o, vScale: a } = t, { xAxisKey: r = "x", yAxisKey: l = "y" } = this._parsing, c = o.axis === "x" ? r : l, h = a.axis === "x" ? r : l, d = [];
2869
2869
  let u, f, m, g;
2870
2870
  for (u = n, f = n + s; u < f; ++u)
2871
- g = e[u], m = {}, m[o.axis] = o.parse(Pt(g, c), u), d.push(Io(Pt(g, h), m, a, u));
2871
+ g = e[u], m = {}, m[o.axis] = o.parse(Pt(g, c), u), d.push(Fo(Pt(g, h), m, a, u));
2872
2872
  return d;
2873
2873
  }
2874
2874
  updateRangeFromParsed(t, e, n, s) {
@@ -2912,7 +2912,7 @@ class ai extends Ct {
2912
2912
  };
2913
2913
  u && (y.options = d || this.resolveDataElementOptions(f, t[f].active ? "active" : s));
2914
2914
  const x = y.options || t[f].options;
2915
- wl(y, x, b, a), Ml(y, x, h.ratio), this.updateElement(t[f], f, y, s);
2915
+ kl(y, x, b, a), Cl(y, x, h.ratio), this.updateElement(t[f], f, y, s);
2916
2916
  }
2917
2917
  }
2918
2918
  _getStacks(t, e) {
@@ -2940,7 +2940,7 @@ class ai extends Ct {
2940
2940
  s.push(n.getPixelForValue(this.getParsed(o)[n.axis], o));
2941
2941
  const r = t.barThickness;
2942
2942
  return {
2943
- min: r || bl(e),
2943
+ min: r || yl(e),
2944
2944
  pixels: s,
2945
2945
  start: n._startPixel,
2946
2946
  end: n._endPixel,
@@ -2957,7 +2957,7 @@ class ai extends Ct {
2957
2957
  const p = !F(o) && !h ? o : u;
2958
2958
  let b = e.getPixelForValue(p);
2959
2959
  if (this.chart.getDataVisibility(t) ? m = e.getPixelForValue(u + f) : m = b, g = m - b, Math.abs(g) < a) {
2960
- g = vl(g, e, r) * a, d === r && (b -= g / 2);
2960
+ g = Sl(g, e, r) * a, d === r && (b -= g / 2);
2961
2961
  const y = e.getPixelForDecimal(0), x = e.getPixelForDecimal(1), v = Math.min(y, x), _ = Math.max(y, x);
2962
2962
  b = Math.max(Math.min(b, _), v), m = b + g, n && !h && (l._stacks[e.axis]._visualValues[s] = e.getValueForPixel(m) - e.getValueForPixel(b));
2963
2963
  }
@@ -2976,7 +2976,7 @@ class ai extends Ct {
2976
2976
  const n = e.scale, s = this.options, o = s.skipNull, a = L(s.maxBarThickness, 1 / 0);
2977
2977
  let r, l;
2978
2978
  if (e.grouped) {
2979
- const c = o ? this._getStackCount(t) : e.stackCount, h = s.barThickness === "flex" ? xl(t, e, s, c) : yl(t, e, s, c), d = this._getStackIndex(this.index, this._cachedMeta.stack, o ? t : void 0);
2979
+ const c = o ? this._getStackCount(t) : e.stackCount, h = s.barThickness === "flex" ? _l(t, e, s, c) : xl(t, e, s, c), d = this._getStackIndex(this.index, this._cachedMeta.stack, o ? t : void 0);
2980
2980
  r = h.start + h.chunk * d + h.chunk / 2, l = Math.min(a, h.chunk * h.ratio);
2981
2981
  } else
2982
2982
  r = n.getPixelForValue(this.getParsed(t)[n.axis], t), l = Math.min(a, e.min * e.ratio);
@@ -3027,7 +3027,7 @@ k(ai, "id", "bar"), k(ai, "defaults", {
3027
3027
  }
3028
3028
  }
3029
3029
  });
3030
- function Cl(i, t, e) {
3030
+ function Pl(i, t, e) {
3031
3031
  let n = 1, s = 1, o = 0, a = 0;
3032
3032
  if (t < H) {
3033
3033
  const r = i, l = r + t, c = Math.cos(r), h = Math.sin(r), d = Math.cos(l), u = Math.sin(l), f = (x, v, _) => Ce(x, r, l, !0) ? 1 : Math.max(v, v * e, _, _ * e), m = (x, v, _) => Ce(x, r, l, !0) ? -1 : Math.min(v, v * e, _, _ * e), g = f(0, c, d), p = f(U, h, u), b = m(N, c, d), y = m(N + U, h, u);
@@ -3080,7 +3080,7 @@ class ue extends Ct {
3080
3080
  };
3081
3081
  }
3082
3082
  update(t) {
3083
- const e = this.chart, { chartArea: n } = e, s = this._cachedMeta, o = s.data, a = this.getMaxBorderWidth() + this.getMaxOffset(o) + this.options.spacing, r = Math.max((Math.min(n.width, n.height) - a) / 2, 0), l = Math.min(Ba(this.options.cutout, r), 1), c = this._getRingWeight(this.index), { circumference: h, rotation: d } = this._getRotationExtents(), { ratioX: u, ratioY: f, offsetX: m, offsetY: g } = Cl(d, h, l), p = (n.width - a) / u, b = (n.height - a) / f, y = Math.max(Math.min(p, b) / 2, 0), x = lo(this.options.radius, y), v = Math.max(x * l, 0), _ = (x - v) / this._getVisibleDatasetWeightTotal();
3083
+ const e = this.chart, { chartArea: n } = e, s = this._cachedMeta, o = s.data, a = this.getMaxBorderWidth() + this.getMaxOffset(o) + this.options.spacing, r = Math.max((Math.min(n.width, n.height) - a) / 2, 0), l = Math.min(za(this.options.cutout, r), 1), c = this._getRingWeight(this.index), { circumference: h, rotation: d } = this._getRotationExtents(), { ratioX: u, ratioY: f, offsetX: m, offsetY: g } = Pl(d, h, l), p = (n.width - a) / u, b = (n.height - a) / f, y = Math.max(Math.min(p, b) / 2, 0), x = co(this.options.radius, y), v = Math.max(x * l, 0), _ = (x - v) / this._getVisibleDatasetWeightTotal();
3084
3084
  this.offsetX = m * x, this.offsetY = g * x, s.total = this.calculateTotal(), this.outerRadius = x - _ * this._getRingWeightOffset(this.index), this.innerRadius = Math.max(this.outerRadius - _ * c, 0), this.updateElements(o, 0, o.length, t);
3085
3085
  }
3086
3086
  _circumference(t, e) {
@@ -3234,8 +3234,8 @@ class ri extends Ct {
3234
3234
  }
3235
3235
  update(t) {
3236
3236
  const e = this._cachedMeta, { dataset: n, data: s = [], _dataset: o } = e, a = this.chart._animationsDisabled;
3237
- let { start: r, count: l } = tr(e, s, a);
3238
- this._drawStart = r, this._drawCount = l, er(e) && (r = 0, l = s.length), n._chart = this.chart, n._datasetIndex = this.index, n._decimated = !!o._decimated, n.points = s;
3237
+ let { start: r, count: l } = er(e, s, a);
3238
+ this._drawStart = r, this._drawCount = l, ir(e) && (r = 0, l = s.length), n._chart = this.chart, n._datasetIndex = this.index, n._decimated = !!o._decimated, n.points = s;
3239
3239
  const c = this.resolveDatasetElementOptions(t);
3240
3240
  this.options.showLine || (c.borderWidth = 0), c.segment = this.options.segment, this.updateElement(n, void 0, {
3241
3241
  animated: !a,
@@ -3291,7 +3291,7 @@ class li extends Ct {
3291
3291
  };
3292
3292
  }
3293
3293
  parseObjectData(t, e, n, s) {
3294
- return Tr.bind(this)(t, e, n, s);
3294
+ return Or.bind(this)(t, e, n, s);
3295
3295
  }
3296
3296
  update(t) {
3297
3297
  const e = this._cachedMeta, n = e.dataset, s = e.data || [], o = e.iScale.getLabels();
@@ -3385,13 +3385,13 @@ class wn {
3385
3385
  return It();
3386
3386
  }
3387
3387
  }
3388
- var Pl = {
3388
+ var Al = {
3389
3389
  _date: wn
3390
3390
  };
3391
- function Al(i, t, e, n) {
3391
+ function Dl(i, t, e, n) {
3392
3392
  const { controller: s, data: o, _sorted: a } = i, r = s._cachedMeta.iScale;
3393
3393
  if (r && t === r.axis && t !== "r" && a && o.length) {
3394
- const l = r._reversePixels ? qa : Bt;
3394
+ const l = r._reversePixels ? Ka : Bt;
3395
3395
  if (n) {
3396
3396
  if (s._sharedOptions) {
3397
3397
  const c = o[0], h = typeof c.getRange == "function" && c.getRange(t);
@@ -3414,14 +3414,14 @@ function Al(i, t, e, n) {
3414
3414
  function ze(i, t, e, n, s) {
3415
3415
  const o = i.getSortedVisibleDatasetMetas(), a = e[t];
3416
3416
  for (let r = 0, l = o.length; r < l; ++r) {
3417
- const { index: c, data: h } = o[r], { lo: d, hi: u } = Al(o[r], t, a, s);
3417
+ const { index: c, data: h } = o[r], { lo: d, hi: u } = Dl(o[r], t, a, s);
3418
3418
  for (let f = d; f <= u; ++f) {
3419
3419
  const m = h[f];
3420
3420
  m.skip || n(m, c, f);
3421
3421
  }
3422
3422
  }
3423
3423
  }
3424
- function Dl(i) {
3424
+ function Ll(i) {
3425
3425
  const t = i.indexOf("x") !== -1, e = i.indexOf("y") !== -1;
3426
3426
  return function(n, s) {
3427
3427
  const o = t ? Math.abs(n.x - s.x) : 0, a = e ? Math.abs(n.y - s.y) : 0;
@@ -3438,13 +3438,13 @@ function Hi(i, t, e, n, s) {
3438
3438
  });
3439
3439
  }, !0), o;
3440
3440
  }
3441
- function Ll(i, t, e, n) {
3441
+ function Tl(i, t, e, n) {
3442
3442
  let s = [];
3443
3443
  function o(a, r, l) {
3444
3444
  const { startAngle: c, endAngle: h } = a.getProps([
3445
3445
  "startAngle",
3446
3446
  "endAngle"
3447
- ], n), { angle: d } = uo(a, {
3447
+ ], n), { angle: d } = fo(a, {
3448
3448
  x: t.x,
3449
3449
  y: t.y
3450
3450
  });
@@ -3456,9 +3456,9 @@ function Ll(i, t, e, n) {
3456
3456
  }
3457
3457
  return ze(i, e, t, o), s;
3458
3458
  }
3459
- function Tl(i, t, e, n, s, o) {
3459
+ function Ol(i, t, e, n, s, o) {
3460
3460
  let a = [];
3461
- const r = Dl(e);
3461
+ const r = Ll(e);
3462
3462
  let l = Number.POSITIVE_INFINITY;
3463
3463
  function c(h, d, u) {
3464
3464
  const f = h.inRange(t.x, t.y, s);
@@ -3483,7 +3483,7 @@ function Tl(i, t, e, n, s, o) {
3483
3483
  return ze(i, e, t, c), a;
3484
3484
  }
3485
3485
  function Ni(i, t, e, n, s, o) {
3486
- return !o && !i.isPointInArea(t) ? [] : e === "r" && !n ? Ll(i, t, e, s) : Tl(i, t, e, n, s, o);
3486
+ return !o && !i.isPointInArea(t) ? [] : e === "r" && !n ? Tl(i, t, e, s) : Ol(i, t, e, n, s, o);
3487
3487
  }
3488
3488
  function as(i, t, e, n, s) {
3489
3489
  const o = [], a = e === "x" ? "inXRange" : "inYRange";
@@ -3496,7 +3496,7 @@ function as(i, t, e, n, s) {
3496
3496
  }), r = r || l.inRange(t.x, t.y, s));
3497
3497
  }), n && !r ? [] : o;
3498
3498
  }
3499
- var Ol = {
3499
+ var Il = {
3500
3500
  evaluateInteractionItems: ze,
3501
3501
  modes: {
3502
3502
  index(i, t, e, n) {
@@ -3543,7 +3543,7 @@ var Ol = {
3543
3543
  }
3544
3544
  }
3545
3545
  };
3546
- const Fo = [
3546
+ const Ro = [
3547
3547
  "left",
3548
3548
  "top",
3549
3549
  "right",
@@ -3553,7 +3553,7 @@ function re(i, t) {
3553
3553
  return i.filter((e) => e.pos === t);
3554
3554
  }
3555
3555
  function rs(i, t) {
3556
- return i.filter((e) => Fo.indexOf(e.pos) === -1 && e.box.axis === t);
3556
+ return i.filter((e) => Ro.indexOf(e.pos) === -1 && e.box.axis === t);
3557
3557
  }
3558
3558
  function le(i, t) {
3559
3559
  return i.sort((e, n) => {
@@ -3561,7 +3561,7 @@ function le(i, t) {
3561
3561
  return s.weight === o.weight ? s.index - o.index : s.weight - o.weight;
3562
3562
  });
3563
3563
  }
3564
- function Il(i) {
3564
+ function Fl(i) {
3565
3565
  const t = [];
3566
3566
  let e, n, s, o, a, r;
3567
3567
  for (e = 0, n = (i || []).length; e < n; ++e)
@@ -3576,11 +3576,11 @@ function Il(i) {
3576
3576
  });
3577
3577
  return t;
3578
3578
  }
3579
- function Fl(i) {
3579
+ function Rl(i) {
3580
3580
  const t = {};
3581
3581
  for (const e of i) {
3582
3582
  const { stack: n, pos: s, stackWeight: o } = e;
3583
- if (!n || !Fo.includes(s))
3583
+ if (!n || !Ro.includes(s))
3584
3584
  continue;
3585
3585
  const a = t[n] || (t[n] = {
3586
3586
  count: 0,
@@ -3592,8 +3592,8 @@ function Fl(i) {
3592
3592
  }
3593
3593
  return t;
3594
3594
  }
3595
- function Rl(i, t) {
3596
- const e = Fl(i), { vBoxMaxWidth: n, hBoxMaxHeight: s } = t;
3595
+ function El(i, t) {
3596
+ const e = Rl(i), { vBoxMaxWidth: n, hBoxMaxHeight: s } = t;
3597
3597
  let o, a, r;
3598
3598
  for (o = 0, a = i.length; o < a; ++o) {
3599
3599
  r = i[o];
@@ -3602,8 +3602,8 @@ function Rl(i, t) {
3602
3602
  }
3603
3603
  return e;
3604
3604
  }
3605
- function El(i) {
3606
- const t = Il(i), e = le(t.filter((c) => c.box.fullSize), !0), n = le(re(t, "left"), !0), s = le(re(t, "right")), o = le(re(t, "top"), !0), a = le(re(t, "bottom")), r = rs(t, "x"), l = rs(t, "y");
3605
+ function Bl(i) {
3606
+ const t = Fl(i), e = le(t.filter((c) => c.box.fullSize), !0), n = le(re(t, "left"), !0), s = le(re(t, "right")), o = le(re(t, "top"), !0), a = le(re(t, "bottom")), r = rs(t, "x"), l = rs(t, "y");
3607
3607
  return {
3608
3608
  fullSize: e,
3609
3609
  leftAndTop: n.concat(o),
@@ -3616,10 +3616,10 @@ function El(i) {
3616
3616
  function ls(i, t, e, n) {
3617
3617
  return Math.max(i[e], t[e]) + Math.max(i[n], t[n]);
3618
3618
  }
3619
- function Ro(i, t) {
3619
+ function Eo(i, t) {
3620
3620
  i.top = Math.max(i.top, t.top), i.left = Math.max(i.left, t.left), i.bottom = Math.max(i.bottom, t.bottom), i.right = Math.max(i.right, t.right);
3621
3621
  }
3622
- function Bl(i, t, e, n) {
3622
+ function zl(i, t, e, n) {
3623
3623
  const { pos: s, box: o } = e, a = i.maxPadding;
3624
3624
  if (!T(s)) {
3625
3625
  e.size && (i[s] -= e.size);
@@ -3629,7 +3629,7 @@ function Bl(i, t, e, n) {
3629
3629
  };
3630
3630
  d.size = Math.max(d.size, e.horizontal ? o.height : o.width), e.size = d.size / d.count, i[s] += e.size;
3631
3631
  }
3632
- o.getPadding && Ro(a, o.getPadding());
3632
+ o.getPadding && Eo(a, o.getPadding());
3633
3633
  const r = Math.max(0, t.outerWidth - ls(a, i, "left", "right")), l = Math.max(0, t.outerHeight - ls(a, i, "top", "bottom")), c = r !== i.w, h = l !== i.h;
3634
3634
  return i.w = r, i.h = l, e.horizontal ? {
3635
3635
  same: c,
@@ -3639,7 +3639,7 @@ function Bl(i, t, e, n) {
3639
3639
  other: c
3640
3640
  };
3641
3641
  }
3642
- function zl(i) {
3642
+ function Wl(i) {
3643
3643
  const t = i.maxPadding;
3644
3644
  function e(n) {
3645
3645
  const s = Math.max(t[n] - i[n], 0);
@@ -3647,7 +3647,7 @@ function zl(i) {
3647
3647
  }
3648
3648
  i.y += e("top"), i.x += e("left"), e("right"), e("bottom");
3649
3649
  }
3650
- function Wl(i, t) {
3650
+ function Hl(i, t) {
3651
3651
  const e = t.maxPadding;
3652
3652
  function n(s) {
3653
3653
  const o = {
@@ -3672,8 +3672,8 @@ function fe(i, t, e, n) {
3672
3672
  const s = [];
3673
3673
  let o, a, r, l, c, h;
3674
3674
  for (o = 0, a = i.length, c = 0; o < a; ++o) {
3675
- r = i[o], l = r.box, l.update(r.width || t.w, r.height || t.h, Wl(r.horizontal, t));
3676
- const { same: d, other: u } = Bl(t, e, r, n);
3675
+ r = i[o], l = r.box, l.update(r.width || t.w, r.height || t.h, Hl(r.horizontal, t));
3676
+ const { same: d, other: u } = zl(t, e, r, n);
3677
3677
  c |= d && s.length, h = h || u, l.fullSize || s.push(r);
3678
3678
  }
3679
3679
  return c && fe(s, t, e, n) || h;
@@ -3723,7 +3723,7 @@ var st = {
3723
3723
  update(i, t, e, n) {
3724
3724
  if (!i)
3725
3725
  return;
3726
- const s = Q(i.options.layout.padding), o = Math.max(t - s.width, 0), a = Math.max(e - s.height, 0), r = El(i.boxes), l = r.vertical, c = r.horizontal;
3726
+ const s = Q(i.options.layout.padding), o = Math.max(t - s.width, 0), a = Math.max(e - s.height, 0), r = Bl(i.boxes), l = r.vertical, c = r.horizontal;
3727
3727
  I(i.boxes, (g) => {
3728
3728
  typeof g.beforeLayout == "function" && g.beforeLayout();
3729
3729
  });
@@ -3736,15 +3736,15 @@ var st = {
3736
3736
  vBoxMaxWidth: o / 2 / h,
3737
3737
  hBoxMaxHeight: a / 2
3738
3738
  }), u = Object.assign({}, s);
3739
- Ro(u, Q(n));
3739
+ Eo(u, Q(n));
3740
3740
  const f = Object.assign({
3741
3741
  maxPadding: u,
3742
3742
  w: o,
3743
3743
  h: a,
3744
3744
  x: s.left,
3745
3745
  y: s.top
3746
- }, s), m = Rl(l.concat(c), d);
3747
- fe(r.fullSize, f, d, m), fe(l, f, d, m), fe(c, f, d, m) && fe(l, f, d, m), zl(f), cs(r.leftAndTop, f, d, m), f.x += f.w, f.y += f.h, cs(r.rightAndBottom, f, d, m), i.chartArea = {
3746
+ }, s), m = El(l.concat(c), d);
3747
+ fe(r.fullSize, f, d, m), fe(l, f, d, m), fe(c, f, d, m) && fe(l, f, d, m), Wl(f), cs(r.leftAndTop, f, d, m), f.x += f.w, f.y += f.h, cs(r.rightAndBottom, f, d, m), i.chartArea = {
3748
3748
  left: f.left,
3749
3749
  top: f.top,
3750
3750
  right: f.left + f.w,
@@ -3762,7 +3762,7 @@ var st = {
3762
3762
  });
3763
3763
  }
3764
3764
  };
3765
- class Eo {
3765
+ class Bo {
3766
3766
  acquireContext(t, e) {
3767
3767
  }
3768
3768
  releaseContext(t) {
@@ -3787,7 +3787,7 @@ class Eo {
3787
3787
  updateConfig(t) {
3788
3788
  }
3789
3789
  }
3790
- class Hl extends Eo {
3790
+ class Nl extends Bo {
3791
3791
  acquireContext(t) {
3792
3792
  return t && t.getContext && t.getContext("2d") || null;
3793
3793
  }
@@ -3795,7 +3795,7 @@ class Hl extends Eo {
3795
3795
  t.options.animation = !1;
3796
3796
  }
3797
3797
  }
3798
- const ci = "$chartjs", Nl = {
3798
+ const ci = "$chartjs", Vl = {
3799
3799
  touchstart: "mousedown",
3800
3800
  touchmove: "mousemove",
3801
3801
  touchend: "mouseup",
@@ -3806,7 +3806,7 @@ const ci = "$chartjs", Nl = {
3806
3806
  pointerleave: "mouseout",
3807
3807
  pointerout: "mouseout"
3808
3808
  }, hs = (i) => i === null || i === "";
3809
- function Vl(i, t) {
3809
+ function jl(i, t) {
3810
3810
  const e = i.style, n = i.getAttribute("height"), s = i.getAttribute("width");
3811
3811
  if (i[ci] = {
3812
3812
  initial: {
@@ -3831,17 +3831,17 @@ function Vl(i, t) {
3831
3831
  }
3832
3832
  return i;
3833
3833
  }
3834
- const Bo = Ur ? {
3834
+ const zo = Yr ? {
3835
3835
  passive: !0
3836
3836
  } : !1;
3837
- function jl(i, t, e) {
3838
- i.addEventListener(t, e, Bo);
3839
- }
3840
3837
  function $l(i, t, e) {
3841
- i.canvas.removeEventListener(t, e, Bo);
3838
+ i.addEventListener(t, e, zo);
3842
3839
  }
3843
- function Ul(i, t) {
3844
- const e = Nl[i.type] || i.type, { x: n, y: s } = Rt(i, t);
3840
+ function Ul(i, t, e) {
3841
+ i.canvas.removeEventListener(t, e, zo);
3842
+ }
3843
+ function Yl(i, t) {
3844
+ const e = Vl[i.type] || i.type, { x: n, y: s } = Rt(i, t);
3845
3845
  return {
3846
3846
  type: e,
3847
3847
  chart: t,
@@ -3855,7 +3855,7 @@ function bi(i, t) {
3855
3855
  if (e === t || e.contains(t))
3856
3856
  return !0;
3857
3857
  }
3858
- function Yl(i, t, e) {
3858
+ function Xl(i, t, e) {
3859
3859
  const n = i.canvas, s = new MutationObserver((o) => {
3860
3860
  let a = !1;
3861
3861
  for (const r of o)
@@ -3867,7 +3867,7 @@ function Yl(i, t, e) {
3867
3867
  subtree: !0
3868
3868
  }), s;
3869
3869
  }
3870
- function Xl(i, t, e) {
3870
+ function Gl(i, t, e) {
3871
3871
  const n = i.canvas, s = new MutationObserver((o) => {
3872
3872
  let a = !1;
3873
3873
  for (const r of o)
@@ -3881,44 +3881,44 @@ function Xl(i, t, e) {
3881
3881
  }
3882
3882
  const Ae = /* @__PURE__ */ new Map();
3883
3883
  let ds = 0;
3884
- function zo() {
3884
+ function Wo() {
3885
3885
  const i = window.devicePixelRatio;
3886
3886
  i !== ds && (ds = i, Ae.forEach((t, e) => {
3887
3887
  e.currentDevicePixelRatio !== i && t();
3888
3888
  }));
3889
3889
  }
3890
- function Gl(i, t) {
3891
- Ae.size || window.addEventListener("resize", zo), Ae.set(i, t);
3890
+ function ql(i, t) {
3891
+ Ae.size || window.addEventListener("resize", Wo), Ae.set(i, t);
3892
3892
  }
3893
- function ql(i) {
3894
- Ae.delete(i), Ae.size || window.removeEventListener("resize", zo);
3893
+ function Kl(i) {
3894
+ Ae.delete(i), Ae.size || window.removeEventListener("resize", Wo);
3895
3895
  }
3896
- function Kl(i, t, e) {
3896
+ function Zl(i, t, e) {
3897
3897
  const n = i.canvas, s = n && Sn(n);
3898
3898
  if (!s)
3899
3899
  return;
3900
- const o = mo((r, l) => {
3900
+ const o = bo((r, l) => {
3901
3901
  const c = s.clientWidth;
3902
3902
  e(r, l), c < s.clientWidth && e();
3903
3903
  }, window), a = new ResizeObserver((r) => {
3904
3904
  const l = r[0], c = l.contentRect.width, h = l.contentRect.height;
3905
3905
  c === 0 && h === 0 || o(c, h);
3906
3906
  });
3907
- return a.observe(s), Gl(i, o), a;
3907
+ return a.observe(s), ql(i, o), a;
3908
3908
  }
3909
3909
  function Vi(i, t, e) {
3910
- e && e.disconnect(), t === "resize" && ql(i);
3910
+ e && e.disconnect(), t === "resize" && Kl(i);
3911
3911
  }
3912
- function Zl(i, t, e) {
3913
- const n = i.canvas, s = mo((o) => {
3914
- i.ctx !== null && e(Ul(o, i));
3912
+ function Ql(i, t, e) {
3913
+ const n = i.canvas, s = bo((o) => {
3914
+ i.ctx !== null && e(Yl(o, i));
3915
3915
  }, i);
3916
- return jl(n, t, s), s;
3916
+ return $l(n, t, s), s;
3917
3917
  }
3918
- class Ql extends Eo {
3918
+ class Jl extends Bo {
3919
3919
  acquireContext(t, e) {
3920
3920
  const n = t && t.getContext && t.getContext("2d");
3921
- return n && n.canvas === t ? (Vl(t, e), n) : null;
3921
+ return n && n.canvas === t ? (jl(t, e), n) : null;
3922
3922
  }
3923
3923
  releaseContext(t) {
3924
3924
  const e = t.canvas;
@@ -3940,10 +3940,10 @@ class Ql extends Eo {
3940
3940
  addEventListener(t, e, n) {
3941
3941
  this.removeEventListener(t, e);
3942
3942
  const s = t.$proxies || (t.$proxies = {}), a = {
3943
- attach: Yl,
3944
- detach: Xl,
3945
- resize: Kl
3946
- }[e] || Zl;
3943
+ attach: Xl,
3944
+ detach: Gl,
3945
+ resize: Zl
3946
+ }[e] || Ql;
3947
3947
  s[e] = a(t, e, n);
3948
3948
  }
3949
3949
  removeEventListener(t, e) {
@@ -3954,21 +3954,21 @@ class Ql extends Eo {
3954
3954
  attach: Vi,
3955
3955
  detach: Vi,
3956
3956
  resize: Vi
3957
- }[e] || $l)(t, e, s), n[e] = void 0;
3957
+ }[e] || Ul)(t, e, s), n[e] = void 0;
3958
3958
  }
3959
3959
  getDevicePixelRatio() {
3960
3960
  return window.devicePixelRatio;
3961
3961
  }
3962
3962
  getMaximumSize(t, e, n, s) {
3963
- return $r(t, e, n, s);
3963
+ return Ur(t, e, n, s);
3964
3964
  }
3965
3965
  isAttached(t) {
3966
3966
  const e = Sn(t);
3967
3967
  return !!(e && e.isConnected);
3968
3968
  }
3969
3969
  }
3970
- function Jl(i) {
3971
- return !Mo() || typeof OffscreenCanvas < "u" && i instanceof OffscreenCanvas ? Hl : Ql;
3970
+ function tc(i) {
3971
+ return !Co() || typeof OffscreenCanvas < "u" && i instanceof OffscreenCanvas ? Nl : Jl;
3972
3972
  }
3973
3973
  class rt {
3974
3974
  constructor() {
@@ -4002,11 +4002,11 @@ class rt {
4002
4002
  }
4003
4003
  }
4004
4004
  k(rt, "defaults", {}), k(rt, "defaultRoutes");
4005
- function tc(i, t) {
4006
- const e = i.options.ticks, n = ec(i), s = Math.min(e.maxTicksLimit || n, n), o = e.major.enabled ? nc(t) : [], a = o.length, r = o[0], l = o[a - 1], c = [];
4005
+ function ec(i, t) {
4006
+ const e = i.options.ticks, n = ic(i), s = Math.min(e.maxTicksLimit || n, n), o = e.major.enabled ? sc(t) : [], a = o.length, r = o[0], l = o[a - 1], c = [];
4007
4007
  if (a > s)
4008
- return sc(t, c, o, a / s), c;
4009
- const h = ic(o, t, s);
4008
+ return oc(t, c, o, a / s), c;
4009
+ const h = nc(o, t, s);
4010
4010
  if (a > 0) {
4011
4011
  let d, u;
4012
4012
  const f = a > 1 ? Math.round((l - r) / (a - 1)) : null;
@@ -4016,15 +4016,15 @@ function tc(i, t) {
4016
4016
  }
4017
4017
  return ti(t, c, h), c;
4018
4018
  }
4019
- function ec(i) {
4019
+ function ic(i) {
4020
4020
  const t = i.options.offset, e = i._tickSize(), n = i._length / e + (t ? 0 : 1), s = i._maxLength / e;
4021
4021
  return Math.floor(Math.min(n, s));
4022
4022
  }
4023
- function ic(i, t, e) {
4024
- const n = oc(i), s = t.length / e;
4023
+ function nc(i, t, e) {
4024
+ const n = ac(i), s = t.length / e;
4025
4025
  if (!n)
4026
4026
  return Math.max(s, 1);
4027
- const o = Ua(n);
4027
+ const o = Ya(n);
4028
4028
  for (let a = 0, r = o.length - 1; a < r; a++) {
4029
4029
  const l = o[a];
4030
4030
  if (l > s)
@@ -4032,14 +4032,14 @@ function ic(i, t, e) {
4032
4032
  }
4033
4033
  return Math.max(s, 1);
4034
4034
  }
4035
- function nc(i) {
4035
+ function sc(i) {
4036
4036
  const t = [];
4037
4037
  let e, n;
4038
4038
  for (e = 0, n = i.length; e < n; e++)
4039
4039
  i[e].major && t.push(e);
4040
4040
  return t;
4041
4041
  }
4042
- function sc(i, t, e, n) {
4042
+ function oc(i, t, e, n) {
4043
4043
  let s = 0, o = e[0], a;
4044
4044
  for (n = Math.ceil(n), a = 0; a < i.length; a++)
4045
4045
  a === o && (t.push(i[a]), s++, o = e[s * n]);
@@ -4052,7 +4052,7 @@ function ti(i, t, e, n, s) {
4052
4052
  for (c = Math.max(o, 0); c < a; c++)
4053
4053
  c === h && (t.push(i[c]), r++, h = Math.round(o + r * e));
4054
4054
  }
4055
- function oc(i) {
4055
+ function ac(i) {
4056
4056
  const t = i.length;
4057
4057
  let e, n;
4058
4058
  if (t < 2)
@@ -4062,7 +4062,7 @@ function oc(i) {
4062
4062
  return !1;
4063
4063
  return n;
4064
4064
  }
4065
- const ac = (i) => i === "left" ? "right" : i === "right" ? "left" : i, us = (i, t, e) => t === "top" || t === "left" ? i[t] + e : i[t] - e, fs = (i, t) => Math.min(t || i, i);
4065
+ const rc = (i) => i === "left" ? "right" : i === "right" ? "left" : i, us = (i, t, e) => t === "top" || t === "left" ? i[t] + e : i[t] - e, fs = (i, t) => Math.min(t || i, i);
4066
4066
  function gs(i, t) {
4067
4067
  const e = [], n = i.length / t, s = i.length;
4068
4068
  let o = 0;
@@ -4070,13 +4070,13 @@ function gs(i, t) {
4070
4070
  e.push(i[Math.floor(o)]);
4071
4071
  return e;
4072
4072
  }
4073
- function rc(i, t, e) {
4073
+ function lc(i, t, e) {
4074
4074
  const n = i.ticks.length, s = Math.min(t, n - 1), o = i._startPixel, a = i._endPixel, r = 1e-6;
4075
4075
  let l = i.getPixelForTick(s), c;
4076
4076
  if (!(e && (n === 1 ? c = Math.max(l - o, a - l) : t === 0 ? c = (i.getPixelForTick(1) - l) / 2 : c = (l - i.getPixelForTick(s - 1)) / 2, l += s < t ? c : -c, l < o - r || l > a + r)))
4077
4077
  return l;
4078
4078
  }
4079
- function lc(i, t) {
4079
+ function cc(i, t) {
4080
4080
  I(i, (e) => {
4081
4081
  const n = e.gc, s = n.length / 2;
4082
4082
  let o;
@@ -4096,24 +4096,24 @@ function ps(i, t) {
4096
4096
  const e = Y(i.font, t), n = Q(i.padding);
4097
4097
  return (W(i.text) ? i.text.length : 1) * e.lineHeight + n.height;
4098
4098
  }
4099
- function cc(i, t) {
4099
+ function hc(i, t) {
4100
4100
  return Dt(i, {
4101
4101
  scale: t,
4102
4102
  type: "scale"
4103
4103
  });
4104
4104
  }
4105
- function hc(i, t, e) {
4105
+ function dc(i, t, e) {
4106
4106
  return Dt(i, {
4107
4107
  tick: e,
4108
4108
  index: t,
4109
4109
  type: "tick"
4110
4110
  });
4111
4111
  }
4112
- function dc(i, t, e) {
4112
+ function uc(i, t, e) {
4113
4113
  let n = mn(i);
4114
- return (e && t !== "right" || !e && t === "right") && (n = ac(n)), n;
4114
+ return (e && t !== "right" || !e && t === "right") && (n = rc(n)), n;
4115
4115
  }
4116
- function uc(i, t, e, n) {
4116
+ function fc(i, t, e, n) {
4117
4117
  const { top: s, left: o, bottom: a, right: r, chart: l } = i, { chartArea: c, scales: h } = l;
4118
4118
  let d = 0, u, f, m;
4119
4119
  const g = a - s, p = r - o;
@@ -4211,9 +4211,9 @@ class jt extends rt {
4211
4211
  right: 0,
4212
4212
  top: 0,
4213
4213
  bottom: 0
4214
- }, n), this.ticks = null, this._labelSizes = null, this._gridLineItems = null, this._labelItems = null, this.beforeSetDimensions(), this.setDimensions(), this.afterSetDimensions(), this._maxLength = this.isHorizontal() ? this.width + n.left + n.right : this.height + n.top + n.bottom, this._dataLimitsCached || (this.beforeDataLimits(), this.determineDataLimits(), this.afterDataLimits(), this._range = vr(this, o, s), this._dataLimitsCached = !0), this.beforeBuildTicks(), this.ticks = this.buildTicks() || [], this.afterBuildTicks();
4214
+ }, n), this.ticks = null, this._labelSizes = null, this._gridLineItems = null, this._labelItems = null, this.beforeSetDimensions(), this.setDimensions(), this.afterSetDimensions(), this._maxLength = this.isHorizontal() ? this.width + n.left + n.right : this.height + n.top + n.bottom, this._dataLimitsCached || (this.beforeDataLimits(), this.determineDataLimits(), this.afterDataLimits(), this._range = Sr(this, o, s), this._dataLimitsCached = !0), this.beforeBuildTicks(), this.ticks = this.buildTicks() || [], this.afterBuildTicks();
4215
4215
  const l = r < this.ticks.length;
4216
- this._convertTicksToLabels(l ? gs(this.ticks, r) : this.ticks), this.configure(), this.beforeCalculateLabelRotation(), this.calculateLabelRotation(), this.afterCalculateLabelRotation(), a.display && (a.autoSkip || a.source === "auto") && (this.ticks = tc(this, this.ticks), this._labelSizes = null, this.afterAutoSkip()), l && this._convertTicksToLabels(this.ticks), this.beforeFit(), this.fit(), this.afterFit(), this.afterUpdate();
4216
+ this._convertTicksToLabels(l ? gs(this.ticks, r) : this.ticks), this.configure(), this.beforeCalculateLabelRotation(), this.calculateLabelRotation(), this.afterCalculateLabelRotation(), a.display && (a.autoSkip || a.source === "auto") && (this.ticks = ec(this, this.ticks), this._labelSizes = null, this.afterAutoSkip()), l && this._convertTicksToLabels(this.ticks), this.beforeFit(), this.fit(), this.afterFit(), this.afterUpdate();
4217
4217
  }
4218
4218
  configure() {
4219
4219
  let t = this.options.reverse, e, n;
@@ -4383,7 +4383,7 @@ class jt extends rt {
4383
4383
  _ = m[u], !F(_) && !W(_) && (x = pi(s, b.data, b.gc, x, _), v += y);
4384
4384
  a.push(x), r.push(v), c = Math.max(x, c), h = Math.max(v, h);
4385
4385
  }
4386
- lc(o, e);
4386
+ cc(o, e);
4387
4387
  const w = a.indexOf(c), S = r.indexOf(h), M = (C) => ({
4388
4388
  width: a[C] || 0,
4389
4389
  height: r[C] || 0
@@ -4412,7 +4412,7 @@ class jt extends rt {
4412
4412
  getPixelForDecimal(t) {
4413
4413
  this._reversePixels && (t = 1 - t);
4414
4414
  const e = this._startPixel + t * this._length;
4415
- return Ga(this._alignToPixels ? Ot(this.chart, e, 0) : e);
4415
+ return qa(this._alignToPixels ? Ot(this.chart, e, 0) : e);
4416
4416
  }
4417
4417
  getDecimalForPixel(t) {
4418
4418
  const e = (t - this._startPixel) / this._length;
@@ -4429,9 +4429,9 @@ class jt extends rt {
4429
4429
  const e = this.ticks || [];
4430
4430
  if (t >= 0 && t < e.length) {
4431
4431
  const n = e[t];
4432
- return n.$context || (n.$context = hc(this.getContext(), t, n));
4432
+ return n.$context || (n.$context = dc(this.getContext(), t, n));
4433
4433
  }
4434
- return this.$context || (this.$context = cc(this.chart.getContext(), this));
4434
+ return this.$context || (this.$context = hc(this.chart.getContext(), this));
4435
4435
  }
4436
4436
  _tickSize() {
4437
4437
  const t = this.options.ticks, e = ht(this.labelRotation), n = Math.abs(Math.cos(e)), s = Math.abs(Math.sin(e)), o = this._getLabelSizes(), a = t.autoSkipPadding || 0, r = o ? o.widest.width + a : 0, l = o ? o.highest.height + a : 0;
@@ -4474,7 +4474,7 @@ class jt extends rt {
4474
4474
  const G = L(s.ticks.maxTicksLimit, d), O = Math.max(1, Math.ceil(d / G));
4475
4475
  for (x = 0; x < d; x += O) {
4476
4476
  const R = this.getContext(x), $ = o.setContext(R), at = r.setContext(R), q = $.lineWidth, $t = $.color, Ue = at.dash || [], Ut = at.dashOffset, ie = $.tickWidth, ne = $.tickColor, se = $.tickBorderDash || [], oe = $.tickBorderDashOffset;
4477
- v = rc(this, x, l), v !== void 0 && (_ = Ot(n, v, q), c ? w = M = P = D = _ : S = C = A = E = _, f.push({
4477
+ v = lc(this, x, l), v !== void 0 && (_ = Ot(n, v, q), c ? w = M = P = D = _ : S = C = A = E = _, f.push({
4478
4478
  tx1: w,
4479
4479
  ty1: S,
4480
4480
  tx2: M,
@@ -4684,12 +4684,12 @@ class jt extends rt {
4684
4684
  const o = Y(n.font), a = Q(n.padding), r = n.align;
4685
4685
  let l = o.lineHeight / 2;
4686
4686
  e === "bottom" || e === "center" || T(e) ? (l += a.bottom, W(n.text) && (l += o.lineHeight * (n.text.length - 1))) : l += a.top;
4687
- const { titleX: c, titleY: h, maxWidth: d, rotation: u } = uc(this, l, e, r);
4687
+ const { titleX: c, titleY: h, maxWidth: d, rotation: u } = fc(this, l, e, r);
4688
4688
  Nt(t, n.text, 0, 0, o, {
4689
4689
  color: n.color,
4690
4690
  maxWidth: d,
4691
4691
  rotation: u,
4692
- textAlign: dc(r, e, s),
4692
+ textAlign: uc(r, e, s),
4693
4693
  textBaseline: "middle",
4694
4694
  translation: [
4695
4695
  c,
@@ -4758,11 +4758,11 @@ class ei {
4758
4758
  register(t) {
4759
4759
  const e = Object.getPrototypeOf(t);
4760
4760
  let n;
4761
- pc(e) && (n = this.register(e));
4761
+ mc(e) && (n = this.register(e));
4762
4762
  const s = this.items, o = t.id, a = this.scope + "." + o;
4763
4763
  if (!o)
4764
4764
  throw new Error("class does not have id: " + t);
4765
- return o in s || (s[o] = t, fc(t, a, n), this.override && j.override(t.id, t.overrides)), a;
4765
+ return o in s || (s[o] = t, gc(t, a, n), this.override && j.override(t.id, t.overrides)), a;
4766
4766
  }
4767
4767
  get(t) {
4768
4768
  return this.items[t];
@@ -4772,15 +4772,15 @@ class ei {
4772
4772
  n in e && delete e[n], s && n in j[s] && (delete j[s][n], this.override && delete Ht[n]);
4773
4773
  }
4774
4774
  }
4775
- function fc(i, t, e) {
4775
+ function gc(i, t, e) {
4776
4776
  const n = we(/* @__PURE__ */ Object.create(null), [
4777
4777
  e ? j.get(e) : {},
4778
4778
  j.get(t),
4779
4779
  i.defaults
4780
4780
  ]);
4781
- j.set(t, n), i.defaultRoutes && gc(t, i.defaultRoutes), i.descriptors && j.describe(t, i.descriptors);
4781
+ j.set(t, n), i.defaultRoutes && pc(t, i.defaultRoutes), i.descriptors && j.describe(t, i.descriptors);
4782
4782
  }
4783
- function gc(i, t) {
4783
+ function pc(i, t) {
4784
4784
  Object.keys(t).forEach((e) => {
4785
4785
  const n = e.split("."), s = n.pop(), o = [
4786
4786
  i
@@ -4788,10 +4788,10 @@ function gc(i, t) {
4788
4788
  j.route(o, s, l, r);
4789
4789
  });
4790
4790
  }
4791
- function pc(i) {
4791
+ function mc(i) {
4792
4792
  return "id" in i && "defaults" in i;
4793
4793
  }
4794
- class mc {
4794
+ class bc {
4795
4795
  constructor() {
4796
4796
  this.controllers = new ei(Ct, "datasets", !0), this.elements = new ei(rt, "elements"), this.plugins = new ei(Object, "plugins"), this.scales = new ei(jt, "scales"), this._typedRegistries = [
4797
4797
  this.controllers,
@@ -4871,8 +4871,8 @@ class mc {
4871
4871
  return s;
4872
4872
  }
4873
4873
  }
4874
- var ct = /* @__PURE__ */ new mc();
4875
- class bc {
4874
+ var ct = /* @__PURE__ */ new bc();
4875
+ class yc {
4876
4876
  constructor() {
4877
4877
  this._init = [];
4878
4878
  }
@@ -4904,15 +4904,15 @@ class bc {
4904
4904
  return this._notifyStateChanges(t), e;
4905
4905
  }
4906
4906
  _createDescriptors(t, e) {
4907
- const n = t && t.config, s = L(n.options && n.options.plugins, {}), o = yc(n);
4908
- return s === !1 && !e ? [] : _c(t, o, s, e);
4907
+ const n = t && t.config, s = L(n.options && n.options.plugins, {}), o = xc(n);
4908
+ return s === !1 && !e ? [] : vc(t, o, s, e);
4909
4909
  }
4910
4910
  _notifyStateChanges(t) {
4911
4911
  const e = this._oldCache || [], n = this._cache, s = (o, a) => o.filter((r) => !a.some((l) => r.plugin.id === l.plugin.id));
4912
4912
  this._notify(s(e, n), t, "stop"), this._notify(s(n, e), t, "start");
4913
4913
  }
4914
4914
  }
4915
- function yc(i) {
4915
+ function xc(i) {
4916
4916
  const t = {}, e = [], n = Object.keys(ct.plugins.items);
4917
4917
  for (let o = 0; o < n.length; o++)
4918
4918
  e.push(ct.getPlugin(n[o]));
@@ -4926,16 +4926,16 @@ function yc(i) {
4926
4926
  localIds: t
4927
4927
  };
4928
4928
  }
4929
- function xc(i, t) {
4929
+ function _c(i, t) {
4930
4930
  return !t && i === !1 ? null : i === !0 ? {} : i;
4931
4931
  }
4932
- function _c(i, { plugins: t, localIds: e }, n, s) {
4932
+ function vc(i, { plugins: t, localIds: e }, n, s) {
4933
4933
  const o = [], a = i.getContext();
4934
4934
  for (const r of t) {
4935
- const l = r.id, c = xc(n[l], s);
4935
+ const l = r.id, c = _c(n[l], s);
4936
4936
  c !== null && o.push({
4937
4937
  plugin: r,
4938
- options: vc(i.config, {
4938
+ options: Sc(i.config, {
4939
4939
  plugin: r,
4940
4940
  local: e[l]
4941
4941
  }, c, a)
@@ -4943,7 +4943,7 @@ function _c(i, { plugins: t, localIds: e }, n, s) {
4943
4943
  }
4944
4944
  return o;
4945
4945
  }
4946
- function vc(i, { plugin: t, local: e }, n, s) {
4946
+ function Sc(i, { plugin: t, local: e }, n, s) {
4947
4947
  const o = i.pluginScopeKeys(t), a = i.getOptionScopes(n, o);
4948
4948
  return e && t.defaults && a.push(t.defaults), i.createResolver(a, s, [
4949
4949
  ""
@@ -4957,18 +4957,18 @@ function Qi(i, t) {
4957
4957
  const e = j.datasets[i] || {};
4958
4958
  return ((t.datasets || {})[i] || {}).indexAxis || t.indexAxis || e.indexAxis || "x";
4959
4959
  }
4960
- function Sc(i, t) {
4960
+ function wc(i, t) {
4961
4961
  let e = i;
4962
4962
  return i === "_index_" ? e = t : i === "_value_" && (e = t === "x" ? "y" : "x"), e;
4963
4963
  }
4964
- function wc(i, t) {
4964
+ function kc(i, t) {
4965
4965
  return i === t ? "_index_" : "_value_";
4966
4966
  }
4967
4967
  function ms(i) {
4968
4968
  if (i === "x" || i === "y" || i === "r")
4969
4969
  return i;
4970
4970
  }
4971
- function kc(i) {
4971
+ function Mc(i) {
4972
4972
  if (i === "top" || i === "bottom")
4973
4973
  return "x";
4974
4974
  if (i === "left" || i === "right")
@@ -4978,7 +4978,7 @@ function Ji(i, ...t) {
4978
4978
  if (ms(i))
4979
4979
  return i;
4980
4980
  for (const e of t) {
4981
- const n = e.axis || kc(e.position) || i.length > 1 && ms(i[0].toLowerCase());
4981
+ const n = e.axis || Mc(e.position) || i.length > 1 && ms(i[0].toLowerCase());
4982
4982
  if (n)
4983
4983
  return n;
4984
4984
  }
@@ -4990,7 +4990,7 @@ function bs(i, t, e) {
4990
4990
  axis: t
4991
4991
  };
4992
4992
  }
4993
- function Mc(i, t) {
4993
+ function Cc(i, t) {
4994
4994
  if (t.data && t.data.datasets) {
4995
4995
  const e = t.data.datasets.filter((n) => n.xAxisID === i || n.yAxisID === i);
4996
4996
  if (e.length)
@@ -4998,7 +4998,7 @@ function Mc(i, t) {
4998
4998
  }
4999
4999
  return {};
5000
5000
  }
5001
- function Cc(i, t) {
5001
+ function Pc(i, t) {
5002
5002
  const e = Ht[i.type] || {
5003
5003
  scales: {}
5004
5004
  }, n = t.scales || {}, s = Qi(i.type, t), o = /* @__PURE__ */ Object.create(null);
@@ -5008,7 +5008,7 @@ function Cc(i, t) {
5008
5008
  return console.error(`Invalid scale configuration for scale: ${a}`);
5009
5009
  if (r._proxy)
5010
5010
  return console.warn(`Ignoring resolver passed as options for scale: ${a}`);
5011
- const l = Ji(a, r, Mc(a, i), j.scales[r.type]), c = wc(l, s), h = e.scales || {};
5011
+ const l = Ji(a, r, Cc(a, i), j.scales[r.type]), c = kc(l, s), h = e.scales || {};
5012
5012
  o[a] = be(/* @__PURE__ */ Object.create(null), [
5013
5013
  {
5014
5014
  axis: l
@@ -5020,7 +5020,7 @@ function Cc(i, t) {
5020
5020
  }), i.data.datasets.forEach((a) => {
5021
5021
  const r = a.type || i.type, l = a.indexAxis || Qi(r, t), h = (Ht[r] || {}).scales || {};
5022
5022
  Object.keys(h).forEach((d) => {
5023
- const u = Sc(d, l), f = a[u + "AxisID"] || u;
5023
+ const u = wc(d, l), f = a[u + "AxisID"] || u;
5024
5024
  o[f] = o[f] || /* @__PURE__ */ Object.create(null), be(o[f], [
5025
5025
  {
5026
5026
  axis: u
@@ -5037,28 +5037,28 @@ function Cc(i, t) {
5037
5037
  ]);
5038
5038
  }), o;
5039
5039
  }
5040
- function Wo(i) {
5040
+ function Ho(i) {
5041
5041
  const t = i.options || (i.options = {});
5042
- t.plugins = L(t.plugins, {}), t.scales = Cc(i, t);
5042
+ t.plugins = L(t.plugins, {}), t.scales = Pc(i, t);
5043
5043
  }
5044
- function Ho(i) {
5044
+ function No(i) {
5045
5045
  return i = i || {}, i.datasets = i.datasets || [], i.labels = i.labels || [], i;
5046
5046
  }
5047
- function Pc(i) {
5048
- return i = i || {}, i.data = Ho(i.data), Wo(i), i;
5047
+ function Ac(i) {
5048
+ return i = i || {}, i.data = No(i.data), Ho(i), i;
5049
5049
  }
5050
- const ys = /* @__PURE__ */ new Map(), No = /* @__PURE__ */ new Set();
5050
+ const ys = /* @__PURE__ */ new Map(), Vo = /* @__PURE__ */ new Set();
5051
5051
  function ii(i, t) {
5052
5052
  let e = ys.get(i);
5053
- return e || (e = t(), ys.set(i, e), No.add(e)), e;
5053
+ return e || (e = t(), ys.set(i, e), Vo.add(e)), e;
5054
5054
  }
5055
5055
  const he = (i, t, e) => {
5056
5056
  const n = Pt(t, e);
5057
5057
  n !== void 0 && i.add(n);
5058
5058
  };
5059
- class Ac {
5059
+ class Dc {
5060
5060
  constructor(t) {
5061
- this._config = Pc(t), this._scopeCache = /* @__PURE__ */ new Map(), this._resolverCache = /* @__PURE__ */ new Map();
5061
+ this._config = Ac(t), this._scopeCache = /* @__PURE__ */ new Map(), this._resolverCache = /* @__PURE__ */ new Map();
5062
5062
  }
5063
5063
  get platform() {
5064
5064
  return this._config.platform;
@@ -5073,7 +5073,7 @@ class Ac {
5073
5073
  return this._config.data;
5074
5074
  }
5075
5075
  set data(t) {
5076
- this._config.data = Ho(t);
5076
+ this._config.data = No(t);
5077
5077
  }
5078
5078
  get options() {
5079
5079
  return this._config.options;
@@ -5086,7 +5086,7 @@ class Ac {
5086
5086
  }
5087
5087
  update() {
5088
5088
  const t = this._config;
5089
- this.clearCache(), Wo(t);
5089
+ this.clearCache(), Ho(t);
5090
5090
  }
5091
5091
  clearCache() {
5092
5092
  this._scopeCache.clear(), this._resolverCache.clear();
@@ -5144,7 +5144,7 @@ class Ac {
5144
5144
  t && (l.add(t), h.forEach((d) => he(l, t, d))), h.forEach((d) => he(l, s, d)), h.forEach((d) => he(l, Ht[o] || {}, d)), h.forEach((d) => he(l, j, d)), h.forEach((d) => he(l, Ki, d));
5145
5145
  });
5146
5146
  const c = Array.from(l);
5147
- return c.length === 0 && c.push(/* @__PURE__ */ Object.create(null)), No.has(e) && a.set(e, c), c;
5147
+ return c.length === 0 && c.push(/* @__PURE__ */ Object.create(null)), Vo.has(e) && a.set(e, c), c;
5148
5148
  }
5149
5149
  chartOptionScopes() {
5150
5150
  const { options: t, type: e } = this;
@@ -5166,7 +5166,7 @@ class Ac {
5166
5166
  $shared: !0
5167
5167
  }, { resolver: a, subPrefixes: r } = xs(this._resolverCache, t, s);
5168
5168
  let l = a;
5169
- if (Lc(a, e)) {
5169
+ if (Tc(a, e)) {
5170
5170
  o.$shared = !1, n = At(n) ? n() : n;
5171
5171
  const c = this.createResolver(t, n, r);
5172
5172
  l = Jt(a, n, c);
@@ -5192,18 +5192,18 @@ function xs(i, t, e) {
5192
5192
  subPrefixes: e.filter((r) => !r.toLowerCase().includes("hover"))
5193
5193
  }, n.set(s, o)), o;
5194
5194
  }
5195
- const Dc = (i) => T(i) && Object.getOwnPropertyNames(i).reduce((t, e) => t || At(i[e]), !1);
5196
- function Lc(i, t) {
5197
- const { isScriptable: e, isIndexable: n } = _o(i);
5195
+ const Lc = (i) => T(i) && Object.getOwnPropertyNames(i).reduce((t, e) => t || At(i[e]), !1);
5196
+ function Tc(i, t) {
5197
+ const { isScriptable: e, isIndexable: n } = vo(i);
5198
5198
  for (const s of t) {
5199
5199
  const o = e(s), a = n(s), r = (a || o) && i[s];
5200
- if (o && (At(r) || Dc(r)) || a && W(r))
5200
+ if (o && (At(r) || Lc(r)) || a && W(r))
5201
5201
  return !0;
5202
5202
  }
5203
5203
  return !1;
5204
5204
  }
5205
- var Tc = "4.4.0";
5206
- const Oc = [
5205
+ var Oc = "4.4.0";
5206
+ const Ic = [
5207
5207
  "top",
5208
5208
  "bottom",
5209
5209
  "left",
@@ -5211,7 +5211,7 @@ const Oc = [
5211
5211
  "chartArea"
5212
5212
  ];
5213
5213
  function _s(i, t) {
5214
- return i === "top" || i === "bottom" || Oc.indexOf(i) === -1 && t === "x";
5214
+ return i === "top" || i === "bottom" || Ic.indexOf(i) === -1 && t === "x";
5215
5215
  }
5216
5216
  function vs(i, t) {
5217
5217
  return function(e, n) {
@@ -5224,20 +5224,20 @@ function Ss(i) {
5224
5224
  i
5225
5225
  ], t);
5226
5226
  }
5227
- function Ic(i) {
5227
+ function Fc(i) {
5228
5228
  const t = i.chart, e = t.options.animation;
5229
5229
  B(e && e.onProgress, [
5230
5230
  i
5231
5231
  ], t);
5232
5232
  }
5233
- function Vo(i) {
5234
- return Mo() && typeof i == "string" ? i = document.getElementById(i) : i && i.length && (i = i[0]), i && i.canvas && (i = i.canvas), i;
5233
+ function jo(i) {
5234
+ return Co() && typeof i == "string" ? i = document.getElementById(i) : i && i.length && (i = i[0]), i && i.canvas && (i = i.canvas), i;
5235
5235
  }
5236
5236
  const hi = {}, ws = (i) => {
5237
- const t = Vo(i);
5237
+ const t = jo(i);
5238
5238
  return Object.values(hi).filter((e) => e.canvas === t).pop();
5239
5239
  };
5240
- function Fc(i, t, e) {
5240
+ function Rc(i, t, e) {
5241
5241
  const n = Object.keys(i);
5242
5242
  for (const s of n) {
5243
5243
  const o = +s;
@@ -5247,13 +5247,13 @@ function Fc(i, t, e) {
5247
5247
  }
5248
5248
  }
5249
5249
  }
5250
- function Rc(i, t, e, n) {
5250
+ function Ec(i, t, e, n) {
5251
5251
  return !e || i.type === "mouseout" ? null : n ? t : i;
5252
5252
  }
5253
5253
  function ni(i, t, e) {
5254
5254
  return i.options.clip ? i[e] : t[e];
5255
5255
  }
5256
- function Ec(i, t) {
5256
+ function Bc(i, t) {
5257
5257
  const { xScale: e, yScale: n } = i;
5258
5258
  return e && n ? {
5259
5259
  left: ni(e, t, "left"),
@@ -5271,17 +5271,17 @@ let Lt = (vt = class {
5271
5271
  ct.remove(...t), ks();
5272
5272
  }
5273
5273
  constructor(t, e) {
5274
- const n = this.config = new Ac(e), s = Vo(t), o = ws(s);
5274
+ const n = this.config = new Dc(e), s = jo(t), o = ws(s);
5275
5275
  if (o)
5276
5276
  throw new Error("Canvas is already in use. Chart with ID '" + o.id + "' must be destroyed before the canvas with ID '" + o.canvas.id + "' can be reused.");
5277
5277
  const a = n.createResolver(n.chartOptionScopes(), this.getContext());
5278
- this.platform = new (n.platform || Jl(s))(), this.platform.updateConfig(n);
5278
+ this.platform = new (n.platform || tc(s))(), this.platform.updateConfig(n);
5279
5279
  const r = this.platform.acquireContext(s, a.aspectRatio), l = r && r.canvas, c = l && l.height, h = l && l.width;
5280
- if (this.id = Ea(), this.ctx = r, this.canvas = l, this.width = h, this.height = c, this._options = a, this._aspectRatio = this.aspectRatio, this._layers = [], this._metasets = [], this._stacks = void 0, this.boxes = [], this.currentDevicePixelRatio = void 0, this.chartArea = void 0, this._active = [], this._lastEvent = void 0, this._listeners = {}, this._responsiveListeners = void 0, this._sortedMetasets = [], this.scales = {}, this._plugins = new bc(), this.$proxies = {}, this._hiddenIndices = {}, this.attached = !1, this._animationsDisabled = void 0, this.$context = void 0, this._doResize = Qa((d) => this.update(d), a.resizeDelay || 0), this._dataChanges = [], hi[this.id] = this, !r || !l) {
5280
+ if (this.id = Ba(), this.ctx = r, this.canvas = l, this.width = h, this.height = c, this._options = a, this._aspectRatio = this.aspectRatio, this._layers = [], this._metasets = [], this._stacks = void 0, this.boxes = [], this.currentDevicePixelRatio = void 0, this.chartArea = void 0, this._active = [], this._lastEvent = void 0, this._listeners = {}, this._responsiveListeners = void 0, this._sortedMetasets = [], this.scales = {}, this._plugins = new yc(), this.$proxies = {}, this._hiddenIndices = {}, this.attached = !1, this._animationsDisabled = void 0, this.$context = void 0, this._doResize = Ja((d) => this.update(d), a.resizeDelay || 0), this._dataChanges = [], hi[this.id] = this, !r || !l) {
5281
5281
  console.error("Failed to create chart: can't acquire context from the given item");
5282
5282
  return;
5283
5283
  }
5284
- mt.listen(this, "complete", Ss), mt.listen(this, "progress", Ic), this._initialize(), this.attached && this.update();
5284
+ mt.listen(this, "complete", Ss), mt.listen(this, "progress", Fc), this._initialize(), this.attached && this.update();
5285
5285
  }
5286
5286
  get aspectRatio() {
5287
5287
  const { options: { aspectRatio: t, maintainAspectRatio: e }, width: n, height: s, _aspectRatio: o } = this;
@@ -5443,7 +5443,7 @@ let Lt = (vt = class {
5443
5443
  const { _hiddenIndices: t } = this, e = this._getUniformDataChanges() || [];
5444
5444
  for (const { method: n, start: s, count: o } of e) {
5445
5445
  const a = n === "_removeElements" ? -o : o;
5446
- Fc(t, s, a);
5446
+ Rc(t, s, a);
5447
5447
  }
5448
5448
  }
5449
5449
  _getUniformDataChanges() {
@@ -5546,7 +5546,7 @@ let Lt = (vt = class {
5546
5546
  this.notifyPlugins("afterDatasetsDraw");
5547
5547
  }
5548
5548
  _drawDataset(t) {
5549
- const e = this.ctx, n = t._clip, s = !n.disabled, o = Ec(t, this.chartArea), a = {
5549
+ const e = this.ctx, n = t._clip, s = !n.disabled, o = Bc(t, this.chartArea), a = {
5550
5550
  meta: t,
5551
5551
  index: t.index,
5552
5552
  cancelable: !0
@@ -5562,7 +5562,7 @@ let Lt = (vt = class {
5562
5562
  return _t(t, this.chartArea, this._minPadding);
5563
5563
  }
5564
5564
  getElementsAtEventForMode(t, e, n, s) {
5565
- const o = Ol.modes[e];
5565
+ const o = Il.modes[e];
5566
5566
  return typeof o == "function" ? o(this, t, n, s) : [];
5567
5567
  }
5568
5568
  getDatasetMeta(t) {
@@ -5721,7 +5721,7 @@ let Lt = (vt = class {
5721
5721
  return n.cancelable = !1, this.notifyPlugins("afterEvent", n, s), (o || n.changed) && this.render(), this;
5722
5722
  }
5723
5723
  _handleEvent(t, e, n) {
5724
- const { _active: s = [], options: o } = this, a = e, r = this._getActiveElements(t, s, n, a), l = Va(t), c = Rc(t, this._lastEvent, n, l);
5724
+ const { _active: s = [], options: o } = this, a = e, r = this._getActiveElements(t, s, n, a), l = ja(t), c = Ec(t, this._lastEvent, n, l);
5725
5725
  n && (this._lastEvent = null, B(o.onHover, [
5726
5726
  t,
5727
5727
  r,
@@ -5742,16 +5742,16 @@ let Lt = (vt = class {
5742
5742
  const o = this.options.hover;
5743
5743
  return this.getElementsAtEventForMode(t, o.mode, o, s);
5744
5744
  }
5745
- }, k(vt, "defaults", j), k(vt, "instances", hi), k(vt, "overrides", Ht), k(vt, "registry", ct), k(vt, "version", Tc), k(vt, "getChart", ws), vt);
5745
+ }, k(vt, "defaults", j), k(vt, "instances", hi), k(vt, "overrides", Ht), k(vt, "registry", ct), k(vt, "version", Oc), k(vt, "getChart", ws), vt);
5746
5746
  function ks() {
5747
5747
  return I(Lt.instances, (i) => i._plugins.invalidate());
5748
5748
  }
5749
- function Bc(i, t, e) {
5749
+ function zc(i, t, e) {
5750
5750
  const { startAngle: n, pixelMargin: s, x: o, y: a, outerRadius: r, innerRadius: l } = t;
5751
5751
  let c = s / r;
5752
5752
  i.beginPath(), i.arc(o, a, r, n - c, e + c), l > s ? (c = s / l, i.arc(o, a, l, e + c, n - c, !0)) : i.arc(o, a, s, e + U, n - U), i.closePath(), i.clip();
5753
5753
  }
5754
- function zc(i) {
5754
+ function Wc(i) {
5755
5755
  return yn(i, [
5756
5756
  "outerStart",
5757
5757
  "outerEnd",
@@ -5759,8 +5759,8 @@ function zc(i) {
5759
5759
  "innerEnd"
5760
5760
  ]);
5761
5761
  }
5762
- function Wc(i, t, e, n) {
5763
- const s = zc(i.options.borderRadius), o = (e - t) / 2, a = Math.min(o, n * t / 2), r = (l) => {
5762
+ function Hc(i, t, e, n) {
5763
+ const s = Wc(i.options.borderRadius), o = (e - t) / 2, a = Math.min(o, n * t / 2), r = (l) => {
5764
5764
  const c = (e - Math.min(o, l)) * n / 2;
5765
5765
  return Z(l, 0, Math.min(o, c));
5766
5766
  };
@@ -5785,7 +5785,7 @@ function yi(i, t, e, n, s, o) {
5785
5785
  const O = h > 0 ? h - n : 0, R = d > 0 ? d - n : 0, $ = (O + R) / 2, at = $ !== 0 ? m * $ / ($ + n) : m;
5786
5786
  f = (m - at) / 2;
5787
5787
  }
5788
- const g = Math.max(1e-3, m * d - e / N) / d, p = (m - g) / 2, b = l + p + f, y = s - p - f, { outerStart: x, outerEnd: v, innerStart: _, innerEnd: w } = Wc(t, u, d, y - b), S = d - x, M = d - v, C = b + x / S, P = y - v / M, A = u + _, D = u + w, E = b + _ / A, G = y - w / D;
5788
+ const g = Math.max(1e-3, m * d - e / N) / d, p = (m - g) / 2, b = l + p + f, y = s - p - f, { outerStart: x, outerEnd: v, innerStart: _, innerEnd: w } = Hc(t, u, d, y - b), S = d - x, M = d - v, C = b + x / S, P = y - v / M, A = u + _, D = u + w, E = b + _ / A, G = y - w / D;
5789
5789
  if (i.beginPath(), o) {
5790
5790
  const O = (C + P) / 2;
5791
5791
  if (i.arc(a, r, d, C, O), i.arc(a, r, d, O, P), v > 0) {
@@ -5816,7 +5816,7 @@ function yi(i, t, e, n, s, o) {
5816
5816
  }
5817
5817
  i.closePath();
5818
5818
  }
5819
- function Hc(i, t, e, n, s) {
5819
+ function Nc(i, t, e, n, s) {
5820
5820
  const { fullCircles: o, startAngle: a, circumference: r } = t;
5821
5821
  let l = t.endAngle;
5822
5822
  if (o) {
@@ -5827,7 +5827,7 @@ function Hc(i, t, e, n, s) {
5827
5827
  }
5828
5828
  return yi(i, t, e, n, l, s), i.fill(), l;
5829
5829
  }
5830
- function Nc(i, t, e, n, s) {
5830
+ function Vc(i, t, e, n, s) {
5831
5831
  const { fullCircles: o, startAngle: a, circumference: r, options: l } = t, { borderWidth: c, borderJoinStyle: h, borderDash: d, borderDashOffset: u } = l, f = l.borderAlign === "inner";
5832
5832
  if (!c)
5833
5833
  return;
@@ -5839,7 +5839,7 @@ function Nc(i, t, e, n, s) {
5839
5839
  i.stroke();
5840
5840
  isNaN(r) || (m = a + (r % H || H));
5841
5841
  }
5842
- f && Bc(i, t, m), o || (yi(i, t, e, n, m, s), i.stroke());
5842
+ f && zc(i, t, m), o || (yi(i, t, e, n, m, s), i.stroke());
5843
5843
  }
5844
5844
  class ge extends rt {
5845
5845
  constructor(e) {
@@ -5857,7 +5857,7 @@ class ge extends rt {
5857
5857
  const o = this.getProps([
5858
5858
  "x",
5859
5859
  "y"
5860
- ], s), { angle: a, distance: r } = uo(o, {
5860
+ ], s), { angle: a, distance: r } = fo(o, {
5861
5861
  x: e,
5862
5862
  y: n
5863
5863
  }), { startAngle: l, endAngle: c, innerRadius: h, outerRadius: d, circumference: u } = this.getProps([
@@ -5894,7 +5894,7 @@ class ge extends rt {
5894
5894
  const l = (this.startAngle + this.endAngle) / 2;
5895
5895
  e.translate(Math.cos(l) * o, Math.sin(l) * o);
5896
5896
  const c = 1 - Math.sin(Math.min(N, s || 0)), h = o * c;
5897
- e.fillStyle = n.backgroundColor, e.strokeStyle = n.borderColor, Hc(e, this, h, a, r), Nc(e, this, h, a, r), e.restore();
5897
+ e.fillStyle = n.backgroundColor, e.strokeStyle = n.borderColor, Nc(e, this, h, a, r), Vc(e, this, h, a, r), e.restore();
5898
5898
  }
5899
5899
  }
5900
5900
  k(ge, "id", "arc"), k(ge, "defaults", {
@@ -5915,16 +5915,16 @@ k(ge, "id", "arc"), k(ge, "defaults", {
5915
5915
  _scriptable: !0,
5916
5916
  _indexable: (e) => e !== "borderDash"
5917
5917
  });
5918
- function jo(i, t, e = t) {
5918
+ function $o(i, t, e = t) {
5919
5919
  i.lineCap = L(e.borderCapStyle, t.borderCapStyle), i.setLineDash(L(e.borderDash, t.borderDash)), i.lineDashOffset = L(e.borderDashOffset, t.borderDashOffset), i.lineJoin = L(e.borderJoinStyle, t.borderJoinStyle), i.lineWidth = L(e.borderWidth, t.borderWidth), i.strokeStyle = L(e.borderColor, t.borderColor);
5920
5920
  }
5921
- function Vc(i, t, e) {
5921
+ function jc(i, t, e) {
5922
5922
  i.lineTo(e.x, e.y);
5923
5923
  }
5924
- function jc(i) {
5925
- return i.stepped ? ur : i.tension || i.cubicInterpolationMode === "monotone" ? fr : Vc;
5924
+ function $c(i) {
5925
+ return i.stepped ? fr : i.tension || i.cubicInterpolationMode === "monotone" ? gr : jc;
5926
5926
  }
5927
- function $o(i, t, e = {}) {
5927
+ function Uo(i, t, e = {}) {
5928
5928
  const n = i.length, { start: s = 0, end: o = n - 1 } = e, { start: a, end: r } = t, l = Math.max(s, a), c = Math.min(o, r), h = s < a && o < a || s > r && o > r;
5929
5929
  return {
5930
5930
  count: n,
@@ -5933,15 +5933,15 @@ function $o(i, t, e = {}) {
5933
5933
  ilen: c < l && !h ? n + c - l : c - l
5934
5934
  };
5935
5935
  }
5936
- function $c(i, t, e, n) {
5937
- const { points: s, options: o } = t, { count: a, start: r, loop: l, ilen: c } = $o(s, e, n), h = jc(o);
5936
+ function Uc(i, t, e, n) {
5937
+ const { points: s, options: o } = t, { count: a, start: r, loop: l, ilen: c } = Uo(s, e, n), h = $c(o);
5938
5938
  let { move: d = !0, reverse: u } = n || {}, f, m, g;
5939
5939
  for (f = 0; f <= c; ++f)
5940
5940
  m = s[(r + (u ? c - f : f)) % a], !m.skip && (d ? (i.moveTo(m.x, m.y), d = !1) : h(i, g, m, u, o.stepped), g = m);
5941
5941
  return l && (m = s[(r + (u ? c : 0)) % a], h(i, g, m, u, o.stepped)), !!l;
5942
5942
  }
5943
- function Uc(i, t, e, n) {
5944
- const s = t.points, { count: o, start: a, ilen: r } = $o(s, e, n), { move: l = !0, reverse: c } = n || {};
5943
+ function Yc(i, t, e, n) {
5944
+ const s = t.points, { count: o, start: a, ilen: r } = Uo(s, e, n), { move: l = !0, reverse: c } = n || {};
5945
5945
  let h = 0, d = 0, u, f, m, g, p, b;
5946
5946
  const y = (v) => (a + (c ? r - v : v)) % o, x = () => {
5947
5947
  g !== p && (i.lineTo(h, p), i.lineTo(h, g), i.lineTo(h, b));
@@ -5956,26 +5956,26 @@ function Uc(i, t, e, n) {
5956
5956
  }
5957
5957
  function tn(i) {
5958
5958
  const t = i.options, e = t.borderDash && t.borderDash.length;
5959
- return !i._decimated && !i._loop && !t.tension && t.cubicInterpolationMode !== "monotone" && !t.stepped && !e ? Uc : $c;
5959
+ return !i._decimated && !i._loop && !t.tension && t.cubicInterpolationMode !== "monotone" && !t.stepped && !e ? Yc : Uc;
5960
5960
  }
5961
- function Yc(i) {
5962
- return i.stepped ? Yr : i.tension || i.cubicInterpolationMode === "monotone" ? Xr : Et;
5961
+ function Xc(i) {
5962
+ return i.stepped ? Xr : i.tension || i.cubicInterpolationMode === "monotone" ? Gr : Et;
5963
5963
  }
5964
- function Xc(i, t, e, n) {
5964
+ function Gc(i, t, e, n) {
5965
5965
  let s = t._path;
5966
- s || (s = t._path = new Path2D(), t.path(s, e, n) && s.closePath()), jo(i, t.options), i.stroke(s);
5966
+ s || (s = t._path = new Path2D(), t.path(s, e, n) && s.closePath()), $o(i, t.options), i.stroke(s);
5967
5967
  }
5968
- function Gc(i, t, e, n) {
5968
+ function qc(i, t, e, n) {
5969
5969
  const { segments: s, options: o } = t, a = tn(t);
5970
5970
  for (const r of s)
5971
- jo(i, o, r.style), i.beginPath(), a(i, t, r, {
5971
+ $o(i, o, r.style), i.beginPath(), a(i, t, r, {
5972
5972
  start: e,
5973
5973
  end: e + n - 1
5974
5974
  }) && i.closePath(), i.stroke();
5975
5975
  }
5976
- const qc = typeof Path2D == "function";
5977
- function Kc(i, t, e, n) {
5978
- qc && !t.options.segment ? Xc(i, t, e, n) : Gc(i, t, e, n);
5976
+ const Kc = typeof Path2D == "function";
5977
+ function Zc(i, t, e, n) {
5978
+ Kc && !t.options.segment ? Gc(i, t, e, n) : qc(i, t, e, n);
5979
5979
  }
5980
5980
  class dt extends rt {
5981
5981
  constructor(t) {
@@ -5985,7 +5985,7 @@ class dt extends rt {
5985
5985
  const n = this.options;
5986
5986
  if ((n.tension || n.cubicInterpolationMode === "monotone") && !n.stepped && !this._pointsUpdated) {
5987
5987
  const s = n.spanGaps ? this._loop : this._fullLoop;
5988
- zr(this._points, n, t, s, e), this._pointsUpdated = !0;
5988
+ Wr(this._points, n, t, s, e), this._pointsUpdated = !0;
5989
5989
  }
5990
5990
  }
5991
5991
  set points(t) {
@@ -5995,7 +5995,7 @@ class dt extends rt {
5995
5995
  return this._points;
5996
5996
  }
5997
5997
  get segments() {
5998
- return this._segments || (this._segments = Jr(this, this.options.segment));
5998
+ return this._segments || (this._segments = tl(this, this.options.segment));
5999
5999
  }
6000
6000
  first() {
6001
6001
  const t = this.segments, e = this.points;
@@ -6006,14 +6006,14 @@ class dt extends rt {
6006
6006
  return n && e[t[n - 1].end];
6007
6007
  }
6008
6008
  interpolate(t, e) {
6009
- const n = this.options, s = t[e], o = this.points, a = Lo(this, {
6009
+ const n = this.options, s = t[e], o = this.points, a = To(this, {
6010
6010
  property: e,
6011
6011
  start: s,
6012
6012
  end: s
6013
6013
  });
6014
6014
  if (!a.length)
6015
6015
  return;
6016
- const r = [], l = Yc(n);
6016
+ const r = [], l = Xc(n);
6017
6017
  let c, h;
6018
6018
  for (c = 0, h = a.length; c < h; ++c) {
6019
6019
  const { start: d, end: u } = a[c], f = o[d], m = o[u];
@@ -6042,7 +6042,7 @@ class dt extends rt {
6042
6042
  }
6043
6043
  draw(t, e, n, s) {
6044
6044
  const o = this.options || {};
6045
- (this.points || []).length && o.borderWidth && (t.save(), Kc(t, this, n, s), t.restore()), this.animated && (this._pointsUpdated = !1, this._path = void 0);
6045
+ (this.points || []).length && o.borderWidth && (t.save(), Zc(t, this, n, s), t.restore()), this.animated && (this._pointsUpdated = !1, this._path = void 0);
6046
6046
  }
6047
6047
  }
6048
6048
  k(dt, "id", "line"), k(dt, "defaults", {
@@ -6135,7 +6135,7 @@ k(Kt, "defaultRoutes", {
6135
6135
  backgroundColor: "backgroundColor",
6136
6136
  borderColor: "borderColor"
6137
6137
  });
6138
- function Uo(i, t) {
6138
+ function Yo(i, t) {
6139
6139
  const { x: e, y: n, base: s, width: o, height: a } = i.getProps([
6140
6140
  "x",
6141
6141
  "y",
@@ -6154,8 +6154,8 @@ function Uo(i, t) {
6154
6154
  function kt(i, t, e, n) {
6155
6155
  return i ? 0 : Z(t, e, n);
6156
6156
  }
6157
- function Zc(i, t, e) {
6158
- const n = i.options.borderWidth, s = i.borderSkipped, o = xo(n);
6157
+ function Qc(i, t, e) {
6158
+ const n = i.options.borderWidth, s = i.borderSkipped, o = _o(n);
6159
6159
  return {
6160
6160
  t: kt(s.top, o.top, 0, e),
6161
6161
  r: kt(s.right, o.right, 0, t),
@@ -6163,7 +6163,7 @@ function Zc(i, t, e) {
6163
6163
  l: kt(s.left, o.left, 0, t)
6164
6164
  };
6165
6165
  }
6166
- function Qc(i, t, e) {
6166
+ function Jc(i, t, e) {
6167
6167
  const { enableBorderRadius: n } = i.getProps([
6168
6168
  "enableBorderRadius"
6169
6169
  ]), s = i.options.borderRadius, o = zt(s), a = Math.min(t, e), r = i.borderSkipped, l = n || T(s);
@@ -6174,8 +6174,8 @@ function Qc(i, t, e) {
6174
6174
  bottomRight: kt(!l || r.bottom || r.right, o.bottomRight, 0, a)
6175
6175
  };
6176
6176
  }
6177
- function Jc(i) {
6178
- const t = Uo(i), e = t.right - t.left, n = t.bottom - t.top, s = Zc(i, e / 2, n / 2), o = Qc(i, e / 2, n / 2);
6177
+ function th(i) {
6178
+ const t = Yo(i), e = t.right - t.left, n = t.bottom - t.top, s = Qc(i, e / 2, n / 2), o = Jc(i, e / 2, n / 2);
6179
6179
  return {
6180
6180
  outer: {
6181
6181
  x: t.left,
@@ -6199,13 +6199,13 @@ function Jc(i) {
6199
6199
  };
6200
6200
  }
6201
6201
  function ji(i, t, e, n) {
6202
- const s = t === null, o = e === null, r = i && !(s && o) && Uo(i, n);
6202
+ const s = t === null, o = e === null, r = i && !(s && o) && Yo(i, n);
6203
6203
  return r && (s || xt(t, r.left, r.right)) && (o || xt(e, r.top, r.bottom));
6204
6204
  }
6205
- function th(i) {
6205
+ function eh(i) {
6206
6206
  return i.topLeft || i.topRight || i.bottomLeft || i.bottomRight;
6207
6207
  }
6208
- function eh(i, t) {
6208
+ function ih(i, t) {
6209
6209
  i.rect(t.x, t.y, t.w, t.h);
6210
6210
  }
6211
6211
  function $i(i, t, e = {}) {
@@ -6223,7 +6223,7 @@ class ve extends rt {
6223
6223
  super(), this.options = void 0, this.horizontal = void 0, this.base = void 0, this.width = void 0, this.height = void 0, this.inflateAmount = void 0, t && Object.assign(this, t);
6224
6224
  }
6225
6225
  draw(t) {
6226
- const { inflateAmount: e, options: { borderColor: n, backgroundColor: s } } = this, { inner: o, outer: a } = Jc(this), r = th(a.radius) ? Pe : eh;
6226
+ const { inflateAmount: e, options: { borderColor: n, backgroundColor: s } } = this, { inner: o, outer: a } = th(this), r = eh(a.radius) ? Pe : ih;
6227
6227
  t.save(), (a.w !== o.w || a.h !== o.h) && (t.beginPath(), r(t, $i(a, e, o)), t.clip(), r(t, $i(o, -e, a)), t.fillStyle = n, t.fill("evenodd")), t.beginPath(), r(t, $i(o, e)), t.fillStyle = s, t.fill(), t.restore();
6228
6228
  }
6229
6229
  inRange(t, e, n) {
@@ -6261,7 +6261,7 @@ k(ve, "id", "bar"), k(ve, "defaults", {
6261
6261
  backgroundColor: "backgroundColor",
6262
6262
  borderColor: "borderColor"
6263
6263
  });
6264
- function ih(i, t, e) {
6264
+ function nh(i, t, e) {
6265
6265
  const n = i.segments, s = i.points, o = t.points, a = [];
6266
6266
  for (const r of n) {
6267
6267
  let { start: l, end: c } = r;
@@ -6276,9 +6276,9 @@ function ih(i, t, e) {
6276
6276
  });
6277
6277
  continue;
6278
6278
  }
6279
- const d = Lo(t, h);
6279
+ const d = To(t, h);
6280
6280
  for (const u of d) {
6281
- const f = en(e, o[u.start], o[u.end], u.loop), m = Do(r, s, f);
6281
+ const f = en(e, o[u.start], o[u.end], u.loop), m = Lo(r, s, f);
6282
6282
  for (const g of m)
6283
6283
  a.push({
6284
6284
  source: g,
@@ -6304,7 +6304,7 @@ function en(i, t, e, n) {
6304
6304
  end: o
6305
6305
  };
6306
6306
  }
6307
- function nh(i, t) {
6307
+ function sh(i, t) {
6308
6308
  const { x: e = null, y: n = null } = i || {}, s = t.points, o = [];
6309
6309
  return t.segments.forEach(({ start: a, end: r }) => {
6310
6310
  r = kn(a, r, s);
@@ -6335,9 +6335,9 @@ function kn(i, t, e) {
6335
6335
  function Cs(i, t, e, n) {
6336
6336
  return i && t ? n(i[e], t[e]) : i ? i[e] : t ? t[e] : 0;
6337
6337
  }
6338
- function Yo(i, t) {
6338
+ function Xo(i, t) {
6339
6339
  let e = [], n = !1;
6340
- return W(i) ? (n = !0, e = i) : e = nh(i, t), e.length ? new dt({
6340
+ return W(i) ? (n = !0, e = i) : e = sh(i, t), e.length ? new dt({
6341
6341
  points: e,
6342
6342
  options: {
6343
6343
  tension: 0
@@ -6349,7 +6349,7 @@ function Yo(i, t) {
6349
6349
  function Ps(i) {
6350
6350
  return i && i.fill !== !1;
6351
6351
  }
6352
- function sh(i, t, e) {
6352
+ function oh(i, t, e) {
6353
6353
  let s = i[t].fill;
6354
6354
  const o = [
6355
6355
  t
@@ -6368,12 +6368,12 @@ function sh(i, t, e) {
6368
6368
  }
6369
6369
  return !1;
6370
6370
  }
6371
- function oh(i, t, e) {
6372
- const n = ch(i);
6371
+ function ah(i, t, e) {
6372
+ const n = hh(i);
6373
6373
  if (T(n))
6374
6374
  return isNaN(n.value) ? !1 : n;
6375
6375
  let s = parseFloat(n);
6376
- return V(s) && Math.floor(s) === s ? ah(n[0], t, s, e) : [
6376
+ return V(s) && Math.floor(s) === s ? rh(n[0], t, s, e) : [
6377
6377
  "origin",
6378
6378
  "start",
6379
6379
  "end",
@@ -6381,39 +6381,39 @@ function oh(i, t, e) {
6381
6381
  "shape"
6382
6382
  ].indexOf(n) >= 0 && n;
6383
6383
  }
6384
- function ah(i, t, e, n) {
6384
+ function rh(i, t, e, n) {
6385
6385
  return (i === "-" || i === "+") && (e = t + e), e === t || e < 0 || e >= n ? !1 : e;
6386
6386
  }
6387
- function rh(i, t) {
6387
+ function lh(i, t) {
6388
6388
  let e = null;
6389
6389
  return i === "start" ? e = t.bottom : i === "end" ? e = t.top : T(i) ? e = t.getPixelForValue(i.value) : t.getBasePixel && (e = t.getBasePixel()), e;
6390
6390
  }
6391
- function lh(i, t, e) {
6391
+ function ch(i, t, e) {
6392
6392
  let n;
6393
6393
  return i === "start" ? n = e : i === "end" ? n = t.options.reverse ? t.min : t.max : T(i) ? n = i.value : n = t.getBaseValue(), n;
6394
6394
  }
6395
- function ch(i) {
6395
+ function hh(i) {
6396
6396
  const t = i.options, e = t.fill;
6397
6397
  let n = L(e && e.target, e);
6398
6398
  return n === void 0 && (n = !!t.backgroundColor), n === !1 || n === null ? !1 : n === !0 ? "origin" : n;
6399
6399
  }
6400
- function hh(i) {
6401
- const { scale: t, index: e, line: n } = i, s = [], o = n.segments, a = n.points, r = dh(t, e);
6402
- r.push(Yo({
6400
+ function dh(i) {
6401
+ const { scale: t, index: e, line: n } = i, s = [], o = n.segments, a = n.points, r = uh(t, e);
6402
+ r.push(Xo({
6403
6403
  x: null,
6404
6404
  y: t.bottom
6405
6405
  }, n));
6406
6406
  for (let l = 0; l < o.length; l++) {
6407
6407
  const c = o[l];
6408
6408
  for (let h = c.start; h <= c.end; h++)
6409
- uh(s, a[h], r);
6409
+ fh(s, a[h], r);
6410
6410
  }
6411
6411
  return new dt({
6412
6412
  points: s,
6413
6413
  options: {}
6414
6414
  });
6415
6415
  }
6416
- function dh(i, t) {
6416
+ function uh(i, t) {
6417
6417
  const e = [], n = i.getMatchingVisibleMetas("line");
6418
6418
  for (let s = 0; s < n.length; s++) {
6419
6419
  const o = n[s];
@@ -6423,10 +6423,10 @@ function dh(i, t) {
6423
6423
  }
6424
6424
  return e;
6425
6425
  }
6426
- function uh(i, t, e) {
6426
+ function fh(i, t, e) {
6427
6427
  const n = [];
6428
6428
  for (let s = 0; s < e.length; s++) {
6429
- const o = e[s], { first: a, last: r, point: l } = fh(o, t, "x");
6429
+ const o = e[s], { first: a, last: r, point: l } = gh(o, t, "x");
6430
6430
  if (!(!l || a && r)) {
6431
6431
  if (a)
6432
6432
  n.unshift(l);
@@ -6436,7 +6436,7 @@ function uh(i, t, e) {
6436
6436
  }
6437
6437
  i.push(...n);
6438
6438
  }
6439
- function fh(i, t, e) {
6439
+ function gh(i, t, e) {
6440
6440
  const n = i.interpolate(t, e);
6441
6441
  if (!n)
6442
6442
  return {};
@@ -6455,7 +6455,7 @@ function fh(i, t, e) {
6455
6455
  point: n
6456
6456
  };
6457
6457
  }
6458
- class Xo {
6458
+ class Go {
6459
6459
  constructor(t) {
6460
6460
  this.x = t.x, this.y = t.y, this.radius = t.radius;
6461
6461
  }
@@ -6475,26 +6475,26 @@ class Xo {
6475
6475
  };
6476
6476
  }
6477
6477
  }
6478
- function gh(i) {
6478
+ function ph(i) {
6479
6479
  const { chart: t, fill: e, line: n } = i;
6480
6480
  if (V(e))
6481
- return ph(t, e);
6481
+ return mh(t, e);
6482
6482
  if (e === "stack")
6483
- return hh(i);
6483
+ return dh(i);
6484
6484
  if (e === "shape")
6485
6485
  return !0;
6486
- const s = mh(i);
6487
- return s instanceof Xo ? s : Yo(s, n);
6486
+ const s = bh(i);
6487
+ return s instanceof Go ? s : Xo(s, n);
6488
6488
  }
6489
- function ph(i, t) {
6489
+ function mh(i, t) {
6490
6490
  const e = i.getDatasetMeta(t);
6491
6491
  return e && i.isDatasetVisible(t) ? e.dataset : null;
6492
6492
  }
6493
- function mh(i) {
6494
- return (i.scale || {}).getPointPositionForValue ? yh(i) : bh(i);
6495
- }
6496
6493
  function bh(i) {
6497
- const { scale: t = {}, fill: e } = i, n = rh(e, t);
6494
+ return (i.scale || {}).getPointPositionForValue ? xh(i) : yh(i);
6495
+ }
6496
+ function yh(i) {
6497
+ const { scale: t = {}, fill: e } = i, n = lh(e, t);
6498
6498
  if (V(n)) {
6499
6499
  const s = t.isHorizontal();
6500
6500
  return {
@@ -6504,11 +6504,11 @@ function bh(i) {
6504
6504
  }
6505
6505
  return null;
6506
6506
  }
6507
- function yh(i) {
6508
- const { scale: t, fill: e } = i, n = t.options, s = t.getLabels().length, o = n.reverse ? t.max : t.min, a = lh(e, t, o), r = [];
6507
+ function xh(i) {
6508
+ const { scale: t, fill: e } = i, n = t.options, s = t.getLabels().length, o = n.reverse ? t.max : t.min, a = ch(e, t, o), r = [];
6509
6509
  if (n.grid.circular) {
6510
6510
  const l = t.getPointPositionForValue(0, o);
6511
- return new Xo({
6511
+ return new Go({
6512
6512
  x: l.x,
6513
6513
  y: l.y,
6514
6514
  radius: t.getDistanceFromCenterForValue(a)
@@ -6519,8 +6519,8 @@ function yh(i) {
6519
6519
  return r;
6520
6520
  }
6521
6521
  function Ui(i, t, e) {
6522
- const n = gh(t), { line: s, scale: o, axis: a } = t, r = s.options, l = r.fill, c = r.backgroundColor, { above: h = c, below: d = c } = l || {};
6523
- n && s.points.length && (ki(i, e), xh(i, {
6522
+ const n = ph(t), { line: s, scale: o, axis: a } = t, r = s.options, l = r.fill, c = r.backgroundColor, { above: h = c, below: d = c } = l || {};
6523
+ n && s.points.length && (ki(i, e), _h(i, {
6524
6524
  line: s,
6525
6525
  target: n,
6526
6526
  above: h,
@@ -6530,7 +6530,7 @@ function Ui(i, t, e) {
6530
6530
  axis: a
6531
6531
  }), Mi(i));
6532
6532
  }
6533
- function xh(i, t) {
6533
+ function _h(i, t) {
6534
6534
  const { line: e, target: n, above: s, below: o, area: a, scale: r } = t, l = e._loop ? "angle" : t.axis;
6535
6535
  i.save(), l === "x" && o !== s && (As(i, n, a.top), Ds(i, {
6536
6536
  line: e,
@@ -6559,10 +6559,10 @@ function As(i, t, e) {
6559
6559
  i.lineTo(t.first().x, e), i.closePath(), i.clip();
6560
6560
  }
6561
6561
  function Ds(i, t) {
6562
- const { line: e, target: n, property: s, color: o, scale: a } = t, r = ih(e, n, s);
6562
+ const { line: e, target: n, property: s, color: o, scale: a } = t, r = nh(e, n, s);
6563
6563
  for (const { source: l, target: c, start: h, end: d } of r) {
6564
6564
  const { style: { backgroundColor: u = o } = {} } = l, f = n !== !0;
6565
- i.save(), i.fillStyle = u, _h(i, a, f && en(s, h, d)), i.beginPath();
6565
+ i.save(), i.fillStyle = u, vh(i, a, f && en(s, h, d)), i.beginPath();
6566
6566
  const m = !!e.pathSegment(i, l);
6567
6567
  let g;
6568
6568
  if (f) {
@@ -6576,7 +6576,7 @@ function Ds(i, t) {
6576
6576
  i.closePath(), i.fill(g ? "evenodd" : "nonzero"), i.restore();
6577
6577
  }
6578
6578
  }
6579
- function _h(i, t, e) {
6579
+ function vh(i, t, e) {
6580
6580
  const { top: n, bottom: s } = t.chart.chartArea, { property: o, start: a, end: r } = e || {};
6581
6581
  o === "x" && (i.beginPath(), i.rect(a, n, r - a, s - n), i.clip());
6582
6582
  }
@@ -6584,7 +6584,7 @@ function Ls(i, t, e, n) {
6584
6584
  const s = t.interpolate(e, n);
6585
6585
  s && i.lineTo(s.x, s.y);
6586
6586
  }
6587
- var vh = {
6587
+ var Sh = {
6588
6588
  id: "filler",
6589
6589
  afterDatasetsUpdate(i, t, e) {
6590
6590
  const n = (i.data.datasets || []).length, s = [];
@@ -6593,14 +6593,14 @@ var vh = {
6593
6593
  o = i.getDatasetMeta(a), r = o.dataset, l = null, r && r.options && r instanceof dt && (l = {
6594
6594
  visible: i.isDatasetVisible(a),
6595
6595
  index: a,
6596
- fill: oh(r, a, n),
6596
+ fill: ah(r, a, n),
6597
6597
  chart: i,
6598
6598
  axis: o.controller.options.indexAxis,
6599
6599
  scale: o.vScale,
6600
6600
  line: r
6601
6601
  }), o.$filler = l, s.push(l);
6602
6602
  for (a = 0; a < n; ++a)
6603
- l = s[a], !(!l || l.fill === !1) && (l.fill = sh(s, a, e.propagate));
6603
+ l = s[a], !(!l || l.fill === !1) && (l.fill = oh(s, a, e.propagate));
6604
6604
  },
6605
6605
  beforeDraw(i, t, e) {
6606
6606
  const n = e.drawTime === "beforeDraw", s = i.getSortedVisibleDatasetMetas(), o = i.chartArea;
@@ -6634,7 +6634,7 @@ const Ts = (i, t) => {
6634
6634
  boxHeight: e,
6635
6635
  itemHeight: Math.max(t, e)
6636
6636
  };
6637
- }, Sh = (i, t) => i !== null && t !== null && i.datasetIndex === t.datasetIndex && i.index === t.index;
6637
+ }, wh = (i, t) => i !== null && t !== null && i.datasetIndex === t.datasetIndex && i.index === t.index;
6638
6638
  class Os extends rt {
6639
6639
  constructor(t) {
6640
6640
  super(), this._added = !1, this.legendHitBoxes = [], this._hoveredItem = null, this.doughnutMode = !1, this.chart = t.chart, this.options = t.options, this.ctx = t.ctx, this.legendItems = void 0, this.columnSizes = void 0, this.lineWidths = void 0, this.maxHeight = void 0, this.maxWidth = void 0, this.top = void 0, this.bottom = void 0, this.left = void 0, this.right = void 0, this.height = void 0, this.width = void 0, this._margins = void 0, this.position = void 0, this.weight = void 0, this.fullSize = void 0;
@@ -6684,7 +6684,7 @@ class Os extends rt {
6684
6684
  const { ctx: o, maxHeight: a, options: { labels: { padding: r } } } = this, l = this.legendHitBoxes = [], c = this.columnSizes = [], h = a - t;
6685
6685
  let d = r, u = 0, f = 0, m = 0, g = 0;
6686
6686
  return this.legendItems.forEach((p, b) => {
6687
- const { itemWidth: y, itemHeight: x } = wh(n, e, o, p, s);
6687
+ const { itemWidth: y, itemHeight: x } = kh(n, e, o, p, s);
6688
6688
  b > 0 && f + x + 2 * r > h && (d += u + r, c.push({
6689
6689
  width: u,
6690
6690
  height: f
@@ -6739,7 +6739,7 @@ class Os extends rt {
6739
6739
  rotation: M.rotation,
6740
6740
  borderWidth: C
6741
6741
  }, A = l.xPlus(w, m / 2), D = S + u;
6742
- yo(s, P, A, D, a.pointStyleWidth && m);
6742
+ xo(s, P, A, D, a.pointStyleWidth && m);
6743
6743
  } else {
6744
6744
  const P = S + Math.max((d - g) / 2, 0), A = l.leftForLtr(w, m), D = zt(M.borderRadius);
6745
6745
  s.beginPath(), Object.values(D).some((E) => E !== 0) ? Pe(s, {
@@ -6765,7 +6765,7 @@ class Os extends rt {
6765
6765
  x: this.left + h,
6766
6766
  y: K(o, this.top + v + h, this.bottom - e[0].height),
6767
6767
  line: 0
6768
- }, Co(this.ctx, t.textDirection);
6768
+ }, Po(this.ctx, t.textDirection);
6769
6769
  const _ = p + h;
6770
6770
  this.legendItems.forEach((w, S) => {
6771
6771
  s.strokeStyle = w.fontColor, s.fillStyle = w.fontColor;
@@ -6773,14 +6773,14 @@ class Os extends rt {
6773
6773
  let A = f.x, D = f.y;
6774
6774
  l.setWidth(this.width), x ? S > 0 && A + P + h > this.right && (D = f.y += _, f.line++, A = f.x = K(o, this.left + h, this.right - n[f.line])) : S > 0 && D + _ > this.bottom && (A = f.x = A + e[f.line].width + h, f.line++, D = f.y = K(o, this.top + v + h, this.bottom - e[f.line].height));
6775
6775
  const E = l.x(A);
6776
- if (b(E, D, w), A = Ja(C, A + m + u, x ? A + P : this.right, t.rtl), y(l.x(A), D, w), x)
6776
+ if (b(E, D, w), A = tr(C, A + m + u, x ? A + P : this.right, t.rtl), y(l.x(A), D, w), x)
6777
6777
  f.x += P + h;
6778
6778
  else if (typeof w.text != "string") {
6779
6779
  const G = c.lineHeight;
6780
- f.y += Go(w, G) + h;
6780
+ f.y += qo(w, G) + h;
6781
6781
  } else
6782
6782
  f.y += _;
6783
- }), Po(this.ctx, t.textDirection);
6783
+ }), Ao(this.ctx, t.textDirection);
6784
6784
  }
6785
6785
  drawTitle() {
6786
6786
  const t = this.options, e = t.title, n = Y(e.font), s = Q(e.padding);
@@ -6812,11 +6812,11 @@ class Os extends rt {
6812
6812
  }
6813
6813
  handleEvent(t) {
6814
6814
  const e = this.options;
6815
- if (!Ch(t.type, e))
6815
+ if (!Ph(t.type, e))
6816
6816
  return;
6817
6817
  const n = this._getLegendItemAt(t.x, t.y);
6818
6818
  if (t.type === "mousemove" || t.type === "mouseout") {
6819
- const s = this._hoveredItem, o = Sh(s, n);
6819
+ const s = this._hoveredItem, o = wh(s, n);
6820
6820
  s && !o && B(e.onLeave, [
6821
6821
  t,
6822
6822
  s,
@@ -6834,26 +6834,26 @@ class Os extends rt {
6834
6834
  ], this);
6835
6835
  }
6836
6836
  }
6837
- function wh(i, t, e, n, s) {
6838
- const o = kh(n, i, t, e), a = Mh(s, n, t.lineHeight);
6837
+ function kh(i, t, e, n, s) {
6838
+ const o = Mh(n, i, t, e), a = Ch(s, n, t.lineHeight);
6839
6839
  return {
6840
6840
  itemWidth: o,
6841
6841
  itemHeight: a
6842
6842
  };
6843
6843
  }
6844
- function kh(i, t, e, n) {
6844
+ function Mh(i, t, e, n) {
6845
6845
  let s = i.text;
6846
6846
  return s && typeof s != "string" && (s = s.reduce((o, a) => o.length > a.length ? o : a)), t + e.size / 2 + n.measureText(s).width;
6847
6847
  }
6848
- function Mh(i, t, e) {
6848
+ function Ch(i, t, e) {
6849
6849
  let n = i;
6850
- return typeof t.text != "string" && (n = Go(t, e)), n;
6850
+ return typeof t.text != "string" && (n = qo(t, e)), n;
6851
6851
  }
6852
- function Go(i, t) {
6852
+ function qo(i, t) {
6853
6853
  const e = i.text ? i.text.length : 0;
6854
6854
  return t * e;
6855
6855
  }
6856
- function Ch(i, t) {
6856
+ function Ph(i, t) {
6857
6857
  return !!((i === "mousemove" || i === "mouseout") && (t.onHover || t.onLeave) || t.onClick && (i === "click" || i === "mouseup"));
6858
6858
  }
6859
6859
  var We = {
@@ -6940,7 +6940,7 @@ var We = {
6940
6940
  }
6941
6941
  }
6942
6942
  };
6943
- class qo extends rt {
6943
+ class Ko extends rt {
6944
6944
  constructor(t) {
6945
6945
  super(), this.chart = t.chart, this.options = t.options, this.ctx = t.ctx, this._padding = void 0, this.top = void 0, this.bottom = void 0, this.left = void 0, this.right = void 0, this.width = void 0, this.height = void 0, this.position = void 0, this.weight = void 0, this.fullSize = void 0;
6946
6946
  }
@@ -6988,8 +6988,8 @@ class qo extends rt {
6988
6988
  });
6989
6989
  }
6990
6990
  }
6991
- function Ph(i, t) {
6992
- const e = new qo({
6991
+ function Ah(i, t) {
6992
+ const e = new Ko({
6993
6993
  ctx: i.ctx,
6994
6994
  options: t,
6995
6995
  chart: i
@@ -6998,9 +6998,9 @@ function Ph(i, t) {
6998
6998
  }
6999
6999
  var He = {
7000
7000
  id: "title",
7001
- _element: qo,
7001
+ _element: Ko,
7002
7002
  start(i, t, e) {
7003
- Ph(i, e);
7003
+ Ah(i, e);
7004
7004
  },
7005
7005
  stop(i) {
7006
7006
  const t = i.titleBlock;
@@ -7076,7 +7076,7 @@ function bt(i) {
7076
7076
  `) > -1 ? i.split(`
7077
7077
  `) : i;
7078
7078
  }
7079
- function Ah(i, t) {
7079
+ function Dh(i, t) {
7080
7080
  const { element: e, datasetIndex: n, index: s } = t, o = i.getDatasetMeta(n).controller, { label: a, value: r } = o.getLabelAndValue(s);
7081
7081
  return {
7082
7082
  chart: i,
@@ -7109,39 +7109,39 @@ function Is(i, t) {
7109
7109
  height: g
7110
7110
  };
7111
7111
  }
7112
- function Dh(i, t) {
7112
+ function Lh(i, t) {
7113
7113
  const { y: e, height: n } = t;
7114
7114
  return e < n / 2 ? "top" : e > i.height - n / 2 ? "bottom" : "center";
7115
7115
  }
7116
- function Lh(i, t, e, n) {
7116
+ function Th(i, t, e, n) {
7117
7117
  const { x: s, width: o } = n, a = e.caretSize + e.caretPadding;
7118
7118
  if (i === "left" && s + o + a > t.width || i === "right" && s - o - a < 0)
7119
7119
  return !0;
7120
7120
  }
7121
- function Th(i, t, e, n) {
7121
+ function Oh(i, t, e, n) {
7122
7122
  const { x: s, width: o } = e, { width: a, chartArea: { left: r, right: l } } = i;
7123
7123
  let c = "center";
7124
- return n === "center" ? c = s <= (r + l) / 2 ? "left" : "right" : s <= o / 2 ? c = "left" : s >= a - o / 2 && (c = "right"), Lh(c, i, t, e) && (c = "center"), c;
7124
+ return n === "center" ? c = s <= (r + l) / 2 ? "left" : "right" : s <= o / 2 ? c = "left" : s >= a - o / 2 && (c = "right"), Th(c, i, t, e) && (c = "center"), c;
7125
7125
  }
7126
7126
  function Fs(i, t, e) {
7127
- const n = e.yAlign || t.yAlign || Dh(i, e);
7127
+ const n = e.yAlign || t.yAlign || Lh(i, e);
7128
7128
  return {
7129
- xAlign: e.xAlign || t.xAlign || Th(i, t, e, n),
7129
+ xAlign: e.xAlign || t.xAlign || Oh(i, t, e, n),
7130
7130
  yAlign: n
7131
7131
  };
7132
7132
  }
7133
- function Oh(i, t) {
7133
+ function Ih(i, t) {
7134
7134
  let { x: e, width: n } = i;
7135
7135
  return t === "right" ? e -= n : t === "center" && (e -= n / 2), e;
7136
7136
  }
7137
- function Ih(i, t, e) {
7137
+ function Fh(i, t, e) {
7138
7138
  let { y: n, height: s } = i;
7139
7139
  return t === "top" ? n += e : t === "bottom" ? n -= s + e : n -= s / 2, n;
7140
7140
  }
7141
7141
  function Rs(i, t, e, n) {
7142
7142
  const { caretSize: s, caretPadding: o, cornerRadius: a } = i, { xAlign: r, yAlign: l } = e, c = s + o, { topLeft: h, topRight: d, bottomLeft: u, bottomRight: f } = zt(a);
7143
- let m = Oh(t, r);
7144
- const g = Ih(t, l, c);
7143
+ let m = Ih(t, r);
7144
+ const g = Fh(t, l, c);
7145
7145
  return l === "center" ? r === "left" ? m += c : r === "right" && (m -= c) : r === "left" ? m -= Math.max(h, u) + s : r === "right" && (m += Math.max(d, f) + s), {
7146
7146
  x: Z(m, 0, n.width - t.width),
7147
7147
  y: Z(g, 0, n.height - t.height)
@@ -7154,7 +7154,7 @@ function si(i, t, e) {
7154
7154
  function Es(i) {
7155
7155
  return lt([], bt(i));
7156
7156
  }
7157
- function Fh(i, t, e) {
7157
+ function Rh(i, t, e) {
7158
7158
  return Dt(i, {
7159
7159
  tooltip: t,
7160
7160
  tooltipItems: e,
@@ -7165,7 +7165,7 @@ function Bs(i, t) {
7165
7165
  const e = t && t.dataset && t.dataset.tooltip && t.dataset.tooltip.callbacks;
7166
7166
  return e ? i.override(e) : i;
7167
7167
  }
7168
- const Ko = {
7168
+ const Zo = {
7169
7169
  beforeTitle: pt,
7170
7170
  title(i) {
7171
7171
  if (i.length > 0) {
@@ -7219,7 +7219,7 @@ const Ko = {
7219
7219
  };
7220
7220
  function J(i, t, e, n) {
7221
7221
  const s = i[t].call(e, n);
7222
- return typeof s > "u" ? Ko[t].call(e, n) : s;
7222
+ return typeof s > "u" ? Zo[t].call(e, n) : s;
7223
7223
  }
7224
7224
  class nn extends rt {
7225
7225
  constructor(t) {
@@ -7232,11 +7232,11 @@ class nn extends rt {
7232
7232
  const t = this._cachedAnimations;
7233
7233
  if (t)
7234
7234
  return t;
7235
- const e = this.chart, n = this.options.setContext(this.getContext()), s = n.enabled && e.options.animation && n.animations, o = new To(this.chart, s);
7235
+ const e = this.chart, n = this.options.setContext(this.getContext()), s = n.enabled && e.options.animation && n.animations, o = new Oo(this.chart, s);
7236
7236
  return s._cacheable && (this._cachedAnimations = Object.freeze(o)), o;
7237
7237
  }
7238
7238
  getContext() {
7239
- return this.$context || (this.$context = Fh(this.chart.getContext(), this, this._tooltipItems));
7239
+ return this.$context || (this.$context = Rh(this.chart.getContext(), this, this._tooltipItems));
7240
7240
  }
7241
7241
  getTitle(t, e) {
7242
7242
  const { callbacks: n } = e, s = J(n, "beforeTitle", this, t), o = J(n, "title", this, t), a = J(n, "afterTitle", this, t);
@@ -7269,7 +7269,7 @@ class nn extends rt {
7269
7269
  const e = this._active, n = this.chart.data, s = [], o = [], a = [];
7270
7270
  let r = [], l, c;
7271
7271
  for (l = 0, c = e.length; l < c; ++l)
7272
- r.push(Ah(this.chart, e[l]));
7272
+ r.push(Dh(this.chart, e[l]));
7273
7273
  return t.filter && (r = r.filter((h, d, u) => t.filter(h, d, u, n))), t.itemSort && (r = r.sort((h, d) => t.itemSort(h, d, n))), I(r, (h) => {
7274
7274
  const d = Bs(t.callbacks, h);
7275
7275
  s.push(J(d, "labelColor", this, h)), o.push(J(d, "labelPointStyle", this, h)), a.push(J(d, "labelTextColor", this, h));
@@ -7411,7 +7411,7 @@ class nn extends rt {
7411
7411
  };
7412
7412
  n = Math.abs(n) < 1e-3 ? 0 : n;
7413
7413
  const a = Q(e.padding), r = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;
7414
- e.enabled && r && (t.save(), t.globalAlpha = n, this.drawBackground(o, t, s, e), Co(t, e.textDirection), o.y += a.top, this.drawTitle(o, t, e), this.drawBody(o, t, e), this.drawFooter(o, t, e), Po(t, e.textDirection), t.restore());
7414
+ e.enabled && r && (t.save(), t.globalAlpha = n, this.drawBackground(o, t, s, e), Po(t, e.textDirection), o.y += a.top, this.drawTitle(o, t, e), this.drawBody(o, t, e), this.drawFooter(o, t, e), Ao(t, e.textDirection), t.restore());
7415
7415
  }
7416
7416
  getActiveElements() {
7417
7417
  return this._active || [];
@@ -7545,7 +7545,7 @@ var Ne = {
7545
7545
  duration: 200
7546
7546
  }
7547
7547
  },
7548
- callbacks: Ko
7548
+ callbacks: Zo
7549
7549
  },
7550
7550
  defaultRoutes: {
7551
7551
  bodyFont: "font",
@@ -7570,18 +7570,18 @@ var Ne = {
7570
7570
  "interaction"
7571
7571
  ]
7572
7572
  };
7573
- const Rh = (i, t, e, n) => (typeof t == "string" ? (e = i.push(t) - 1, n.unshift({
7573
+ const Eh = (i, t, e, n) => (typeof t == "string" ? (e = i.push(t) - 1, n.unshift({
7574
7574
  index: e,
7575
7575
  label: t
7576
7576
  })) : isNaN(t) && (e = null), e);
7577
- function Eh(i, t, e, n) {
7577
+ function Bh(i, t, e, n) {
7578
7578
  const s = i.indexOf(t);
7579
7579
  if (s === -1)
7580
- return Rh(i, t, e, n);
7580
+ return Eh(i, t, e, n);
7581
7581
  const o = i.lastIndexOf(t);
7582
7582
  return s !== o ? e : s;
7583
7583
  }
7584
- const Bh = (i, t) => i === null ? null : Z(Math.round(i), 0, t);
7584
+ const zh = (i, t) => i === null ? null : Z(Math.round(i), 0, t);
7585
7585
  function zs(i) {
7586
7586
  const t = this.getLabels();
7587
7587
  return i >= 0 && i < t.length ? t[i] : i;
@@ -7604,7 +7604,7 @@ class De extends jt {
7604
7604
  if (F(t))
7605
7605
  return null;
7606
7606
  const n = this.getLabels();
7607
- return e = isFinite(e) && n[e] === t ? e : Eh(n, t, L(e, t), this._addedLabels), Bh(e, n.length - 1);
7607
+ return e = isFinite(e) && n[e] === t ? e : Bh(n, t, L(e, t), this._addedLabels), zh(e, n.length - 1);
7608
7608
  }
7609
7609
  determineDataLimits() {
7610
7610
  const { minDefined: t, maxDefined: e } = this.getUserBounds();
@@ -7646,7 +7646,7 @@ k(De, "id", "category"), k(De, "defaults", {
7646
7646
  callback: zs
7647
7647
  }
7648
7648
  });
7649
- function zh(i, t) {
7649
+ function Wh(i, t) {
7650
7650
  const e = [], { bounds: s, step: o, min: a, max: r, precision: l, count: c, maxTicks: h, maxDigits: d, includeBounds: u } = i, f = o || 1, m = h - 1, { min: g, max: p } = t, b = !F(a), y = !F(r), x = !F(c), v = (p - g) / (d + 1);
7651
7651
  let _ = Rn((p - g) / m / f) * f, w, S, M, C;
7652
7652
  if (_ < 1e-14 && !b && !y)
@@ -7658,7 +7658,7 @@ function zh(i, t) {
7658
7658
  value: p
7659
7659
  }
7660
7660
  ];
7661
- C = Math.ceil(p / _) - Math.floor(g / _), C > m && (_ = Rn(C * _ / m / f) * f), F(l) || (w = Math.pow(10, l), _ = Math.ceil(_ * w) / w), s === "ticks" ? (S = Math.floor(g / _) * _, M = Math.ceil(p / _) * _) : (S = g, M = p), b && y && o && Ya((r - a) / o, _ / 1e3) ? (C = Math.round(Math.min((r - a) / _, h)), _ = (r - a) / C, S = a, M = r) : x ? (S = b ? a : S, M = y ? r : M, C = c - 1, _ = (M - S) / C) : (C = (M - S) / _, ye(C, Math.round(C), _ / 1e3) ? C = Math.round(C) : C = Math.ceil(C));
7661
+ C = Math.ceil(p / _) - Math.floor(g / _), C > m && (_ = Rn(C * _ / m / f) * f), F(l) || (w = Math.pow(10, l), _ = Math.ceil(_ * w) / w), s === "ticks" ? (S = Math.floor(g / _) * _, M = Math.ceil(p / _) * _) : (S = g, M = p), b && y && o && Xa((r - a) / o, _ / 1e3) ? (C = Math.round(Math.min((r - a) / _, h)), _ = (r - a) / C, S = a, M = r) : x ? (S = b ? a : S, M = y ? r : M, C = c - 1, _ = (M - S) / C) : (C = (M - S) / _, ye(C, Math.round(C), _ / 1e3) ? C = Math.round(C) : C = Math.ceil(C));
7662
7662
  const P = Math.max(En(_), En(S));
7663
7663
  w = Math.pow(10, F(l) ? P : l), S = Math.round(S * w) / w, M = Math.round(M * w) / w;
7664
7664
  let A = 0;
@@ -7727,8 +7727,8 @@ class xi extends jt {
7727
7727
  horizontal: this.isHorizontal(),
7728
7728
  minRotation: e.minRotation || 0,
7729
7729
  includeBounds: e.includeBounds !== !1
7730
- }, o = this._range || this, a = zh(s, o);
7731
- return t.bounds === "ticks" && ho(a, this, "value"), t.reverse ? (a.reverse(), this.start = this.max, this.end = this.min) : (this.start = this.min, this.end = this.max), a;
7730
+ }, o = this._range || this, a = Wh(s, o);
7731
+ return t.bounds === "ticks" && uo(a, this, "value"), t.reverse ? (a.reverse(), this.start = this.max, this.end = this.min) : (this.start = this.min, this.end = this.max), a;
7732
7732
  }
7733
7733
  configure() {
7734
7734
  const t = this.ticks;
@@ -7772,7 +7772,7 @@ function Ns(i, t, e) {
7772
7772
  const n = Math.pow(10, e), s = Math.floor(i / n);
7773
7773
  return Math.ceil(t / n) - s;
7774
7774
  }
7775
- function Wh(i, t) {
7775
+ function Hh(i, t) {
7776
7776
  const e = t - i;
7777
7777
  let n = Te(e);
7778
7778
  for (; Ns(i, t, n) > 10; )
@@ -7781,10 +7781,10 @@ function Wh(i, t) {
7781
7781
  n--;
7782
7782
  return Math.min(n, Te(i));
7783
7783
  }
7784
- function Hh(i, { min: t, max: e }) {
7784
+ function Nh(i, { min: t, max: e }) {
7785
7785
  t = et(i.min, t);
7786
7786
  const n = [], s = Te(t);
7787
- let o = Wh(t, e), a = o < 0 ? Math.pow(10, Math.abs(o)) : 1;
7787
+ let o = Hh(t, e), a = o < 0 ? Math.pow(10, Math.abs(o)) : 1;
7788
7788
  const r = Math.pow(10, o), l = s > o ? Math.pow(10, s) : 0, c = Math.round((t - l) * a) / a, h = Math.floor((t - l) / r / 10) * r * 10;
7789
7789
  let d = Math.floor((c - h) / Math.pow(10, o)), u = et(i.min, Math.round((l + h + d * Math.pow(10, o)) * a) / a);
7790
7790
  for (; u < e; )
@@ -7829,8 +7829,8 @@ class Vs extends jt {
7829
7829
  const t = this.options, e = {
7830
7830
  min: this._userMin,
7831
7831
  max: this._userMax
7832
- }, n = Hh(e, this);
7833
- return t.bounds === "ticks" && ho(n, this, "value"), t.reverse ? (n.reverse(), this.start = this.max, this.end = this.min) : (this.start = this.min, this.end = this.max), n;
7832
+ }, n = Nh(e, this);
7833
+ return t.bounds === "ticks" && uo(n, this, "value"), t.reverse ? (n.reverse(), this.start = this.max, this.end = this.min) : (this.start = this.min, this.end = this.max), n;
7834
7834
  }
7835
7835
  getLabelForValue(t) {
7836
7836
  return t === void 0 ? "0" : Si(t, this.chart.options.locale, this.options.ticks.format);
@@ -7863,11 +7863,11 @@ function sn(i) {
7863
7863
  }
7864
7864
  return 0;
7865
7865
  }
7866
- function Nh(i, t, e) {
7866
+ function Vh(i, t, e) {
7867
7867
  return e = W(e) ? e : [
7868
7868
  e
7869
7869
  ], {
7870
- w: dr(i, t.string, e),
7870
+ w: ur(i, t.string, e),
7871
7871
  h: e.length * t.lineHeight
7872
7872
  };
7873
7873
  }
@@ -7883,7 +7883,7 @@ function js(i, t, e, n, s) {
7883
7883
  end: t + e
7884
7884
  };
7885
7885
  }
7886
- function Vh(i) {
7886
+ function jh(i) {
7887
7887
  const t = {
7888
7888
  l: i.left + i._padding.left,
7889
7889
  r: i.right - i._padding.right,
@@ -7893,20 +7893,20 @@ function Vh(i) {
7893
7893
  for (let l = 0; l < o; l++) {
7894
7894
  const c = a.setContext(i.getPointLabelContext(l));
7895
7895
  s[l] = c.padding;
7896
- const h = i.getPointPosition(l, i.drawingArea + s[l], r), d = Y(c.font), u = Nh(i.ctx, d, i._pointLabels[l]);
7896
+ const h = i.getPointPosition(l, i.drawingArea + s[l], r), d = Y(c.font), u = Vh(i.ctx, d, i._pointLabels[l]);
7897
7897
  n[l] = u;
7898
7898
  const f = it(i.getIndexAngle(l) + r), m = Math.round(gn(f)), g = js(m, h.x, u.w, 0, 180), p = js(m, h.y, u.h, 90, 270);
7899
- jh(e, t, f, g, p);
7899
+ $h(e, t, f, g, p);
7900
7900
  }
7901
- i.setCenterPoint(t.l - e.l, e.r - t.r, t.t - e.t, e.b - t.b), i._pointLabelItems = Yh(i, n, s);
7901
+ i.setCenterPoint(t.l - e.l, e.r - t.r, t.t - e.t, e.b - t.b), i._pointLabelItems = Xh(i, n, s);
7902
7902
  }
7903
- function jh(i, t, e, n, s) {
7903
+ function $h(i, t, e, n, s) {
7904
7904
  const o = Math.abs(Math.sin(e)), a = Math.abs(Math.cos(e));
7905
7905
  let r = 0, l = 0;
7906
7906
  n.start < t.l ? (r = (t.l - n.start) / o, i.l = Math.min(i.l, t.l - r)) : n.end > t.r && (r = (n.end - t.r) / o, i.r = Math.max(i.r, t.r + r)), s.start < t.t ? (l = (t.t - s.start) / a, i.t = Math.min(i.t, t.t - l)) : s.end > t.b && (l = (s.end - t.b) / a, i.b = Math.max(i.b, t.b + l));
7907
7907
  }
7908
- function $h(i, t, e) {
7909
- const n = i.drawingArea, { extra: s, additionalAngle: o, padding: a, size: r } = e, l = i.getPointPosition(t, n + s + a, o), c = Math.round(gn(it(l.angle + U))), h = qh(l.y, r.h, c), d = Xh(c), u = Gh(l.x, r.w, d);
7908
+ function Uh(i, t, e) {
7909
+ const n = i.drawingArea, { extra: s, additionalAngle: o, padding: a, size: r } = e, l = i.getPointPosition(t, n + s + a, o), c = Math.round(gn(it(l.angle + U))), h = Kh(l.y, r.h, c), d = Gh(c), u = qh(l.x, r.w, d);
7910
7910
  return {
7911
7911
  visible: !0,
7912
7912
  x: l.x,
@@ -7918,7 +7918,7 @@ function $h(i, t, e) {
7918
7918
  bottom: h + r.h
7919
7919
  };
7920
7920
  }
7921
- function Uh(i, t) {
7921
+ function Yh(i, t) {
7922
7922
  if (!t)
7923
7923
  return !0;
7924
7924
  const { left: e, top: n, right: s, bottom: o } = i;
@@ -7936,7 +7936,7 @@ function Uh(i, t) {
7936
7936
  y: o
7937
7937
  }, t));
7938
7938
  }
7939
- function Yh(i, t, e) {
7939
+ function Xh(i, t, e) {
7940
7940
  const n = [], s = i._pointLabels.length, o = i.options, { centerPointLabels: a, display: r } = o.pointLabels, l = {
7941
7941
  extra: sn(o) / 2,
7942
7942
  additionalAngle: a ? N / s : 0
@@ -7944,21 +7944,21 @@ function Yh(i, t, e) {
7944
7944
  let c;
7945
7945
  for (let h = 0; h < s; h++) {
7946
7946
  l.padding = e[h], l.size = t[h];
7947
- const d = $h(i, h, l);
7948
- n.push(d), r === "auto" && (d.visible = Uh(d, c), d.visible && (c = d));
7947
+ const d = Uh(i, h, l);
7948
+ n.push(d), r === "auto" && (d.visible = Yh(d, c), d.visible && (c = d));
7949
7949
  }
7950
7950
  return n;
7951
7951
  }
7952
- function Xh(i) {
7952
+ function Gh(i) {
7953
7953
  return i === 0 || i === 180 ? "center" : i < 180 ? "left" : "right";
7954
7954
  }
7955
- function Gh(i, t, e) {
7955
+ function qh(i, t, e) {
7956
7956
  return e === "right" ? i -= t : e === "center" && (i -= t / 2), i;
7957
7957
  }
7958
- function qh(i, t, e) {
7958
+ function Kh(i, t, e) {
7959
7959
  return e === 90 || e === 270 ? i -= t / 2 : (e > 270 || e < 90) && (i -= t), i;
7960
7960
  }
7961
- function Kh(i, t, e) {
7961
+ function Zh(i, t, e) {
7962
7962
  const { left: n, top: s, right: o, bottom: a } = e, { backdropColor: r } = t;
7963
7963
  if (!F(r)) {
7964
7964
  const l = zt(t.borderRadius), c = Q(t.backdropPadding);
@@ -7973,14 +7973,14 @@ function Kh(i, t, e) {
7973
7973
  }), i.fill()) : i.fillRect(h, d, u, f);
7974
7974
  }
7975
7975
  }
7976
- function Zh(i, t) {
7976
+ function Qh(i, t) {
7977
7977
  const { ctx: e, options: { pointLabels: n } } = i;
7978
7978
  for (let s = t - 1; s >= 0; s--) {
7979
7979
  const o = i._pointLabelItems[s];
7980
7980
  if (!o.visible)
7981
7981
  continue;
7982
7982
  const a = n.setContext(i.getPointLabelContext(s));
7983
- Kh(e, a, o);
7983
+ Zh(e, a, o);
7984
7984
  const r = Y(a.font), { x: l, y: c, textAlign: h } = o;
7985
7985
  Nt(e, i._pointLabels[s], l, c + r.lineHeight / 2, r, {
7986
7986
  color: a.color,
@@ -7989,7 +7989,7 @@ function Zh(i, t) {
7989
7989
  });
7990
7990
  }
7991
7991
  }
7992
- function Zo(i, t, e, n) {
7992
+ function Qo(i, t, e, n) {
7993
7993
  const { ctx: s } = i;
7994
7994
  if (e)
7995
7995
  s.arc(i.xCenter, i.yCenter, t, 0, H);
@@ -8000,11 +8000,11 @@ function Zo(i, t, e, n) {
8000
8000
  o = i.getPointPosition(a, t), s.lineTo(o.x, o.y);
8001
8001
  }
8002
8002
  }
8003
- function Qh(i, t, e, n, s) {
8003
+ function Jh(i, t, e, n, s) {
8004
8004
  const o = i.ctx, a = t.circular, { color: r, lineWidth: l } = t;
8005
- !a && !n || !r || !l || e < 0 || (o.save(), o.strokeStyle = r, o.lineWidth = l, o.setLineDash(s.dash), o.lineDashOffset = s.dashOffset, o.beginPath(), Zo(i, e, a, n), o.closePath(), o.stroke(), o.restore());
8005
+ !a && !n || !r || !l || e < 0 || (o.save(), o.strokeStyle = r, o.lineWidth = l, o.setLineDash(s.dash), o.lineDashOffset = s.dashOffset, o.beginPath(), Qo(i, e, a, n), o.closePath(), o.stroke(), o.restore());
8006
8006
  }
8007
- function Jh(i, t, e) {
8007
+ function td(i, t, e) {
8008
8008
  return Dt(i, {
8009
8009
  label: e,
8010
8010
  index: t,
@@ -8037,7 +8037,7 @@ class me extends xi {
8037
8037
  }
8038
8038
  fit() {
8039
8039
  const t = this.options;
8040
- t.display && t.pointLabels.display ? Vh(this) : this.setCenterPoint(0, 0, 0, 0);
8040
+ t.display && t.pointLabels.display ? jh(this) : this.setCenterPoint(0, 0, 0, 0);
8041
8041
  }
8042
8042
  setCenterPoint(t, e, n, s) {
8043
8043
  this.xCenter += Math.floor((t - e) / 2), this.yCenter += Math.floor((n - s) / 2), this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(t, e, n, s));
@@ -8062,7 +8062,7 @@ class me extends xi {
8062
8062
  const e = this._pointLabels || [];
8063
8063
  if (t >= 0 && t < e.length) {
8064
8064
  const n = e[t];
8065
- return Jh(this.getContext(), t, n);
8065
+ return td(this.getContext(), t, n);
8066
8066
  }
8067
8067
  }
8068
8068
  getPointPosition(t, e, n = 0) {
@@ -8092,17 +8092,17 @@ class me extends xi {
8092
8092
  const { backgroundColor: t, grid: { circular: e } } = this.options;
8093
8093
  if (t) {
8094
8094
  const n = this.ctx;
8095
- n.save(), n.beginPath(), Zo(this, this.getDistanceFromCenterForValue(this._endValue), e, this._pointLabels.length), n.closePath(), n.fillStyle = t, n.fill(), n.restore();
8095
+ n.save(), n.beginPath(), Qo(this, this.getDistanceFromCenterForValue(this._endValue), e, this._pointLabels.length), n.closePath(), n.fillStyle = t, n.fill(), n.restore();
8096
8096
  }
8097
8097
  }
8098
8098
  drawGrid() {
8099
8099
  const t = this.ctx, e = this.options, { angleLines: n, grid: s, border: o } = e, a = this._pointLabels.length;
8100
8100
  let r, l, c;
8101
- if (e.pointLabels.display && Zh(this, a), s.display && this.ticks.forEach((h, d) => {
8101
+ if (e.pointLabels.display && Qh(this, a), s.display && this.ticks.forEach((h, d) => {
8102
8102
  if (d !== 0) {
8103
8103
  l = this.getDistanceFromCenterForValue(h.value);
8104
8104
  const u = this.getContext(d), f = s.setContext(u), m = o.setContext(u);
8105
- Qh(this, f, l, a, m);
8105
+ Jh(this, f, l, a, m);
8106
8106
  }
8107
8107
  }), n.display) {
8108
8108
  for (t.save(), r = a - 1; r >= 0; r--) {
@@ -8244,7 +8244,7 @@ function Ys(i, t, e, n) {
8244
8244
  }
8245
8245
  return tt[s - 1];
8246
8246
  }
8247
- function td(i, t, e, n, s) {
8247
+ function ed(i, t, e, n, s) {
8248
8248
  for (let o = tt.length - 1; o >= tt.indexOf(e); o--) {
8249
8249
  const a = tt[o];
8250
8250
  if (Pi[a].common && i._adapter.diff(s, n, a) >= t - 1)
@@ -8252,7 +8252,7 @@ function td(i, t, e, n, s) {
8252
8252
  }
8253
8253
  return tt[e ? tt.indexOf(e) : 0];
8254
8254
  }
8255
- function ed(i) {
8255
+ function id(i) {
8256
8256
  for (let t = tt.indexOf(i) + 1, e = tt.length; t < e; ++t)
8257
8257
  if (Pi[tt[t]].common)
8258
8258
  return tt[t];
@@ -8265,7 +8265,7 @@ function Xs(i, t, e) {
8265
8265
  i[o] = !0;
8266
8266
  }
8267
8267
  }
8268
- function id(i, t, e, n) {
8268
+ function nd(i, t, e, n) {
8269
8269
  const s = i._adapter, o = +s.startOf(t[0].value, n), a = t[t.length - 1].value;
8270
8270
  let r, l;
8271
8271
  for (r = o; r <= a; r = +s.add(r, 1, n))
@@ -8280,7 +8280,7 @@ function Gs(i, t, e) {
8280
8280
  value: r,
8281
8281
  major: !1
8282
8282
  });
8283
- return o === 0 || !e ? n : id(i, n, s, e);
8283
+ return o === 0 || !e ? n : nd(i, n, s, e);
8284
8284
  }
8285
8285
  class _i extends jt {
8286
8286
  constructor(t) {
@@ -8291,7 +8291,7 @@ class _i extends jt {
8291
8291
  }, this._unit = "day", this._majorUnit = void 0, this._offsets = {}, this._normalized = !1, this._parseOpts = void 0;
8292
8292
  }
8293
8293
  init(t, e = {}) {
8294
- const n = t.time || (t.time = {}), s = this._adapter = new Pl._date(t.adapters.date);
8294
+ const n = t.time || (t.time = {}), s = this._adapter = new Al._date(t.adapters.date);
8295
8295
  s.init(e), be(n.displayFormats, s.formats()), this._parseOpts = {
8296
8296
  parser: n.parser,
8297
8297
  round: n.round,
@@ -8327,8 +8327,8 @@ class _i extends jt {
8327
8327
  buildTicks() {
8328
8328
  const t = this.options, e = t.time, n = t.ticks, s = n.source === "labels" ? this.getLabelTimestamps() : this._generate();
8329
8329
  t.bounds === "ticks" && s.length && (this.min = this._userMin || s[0], this.max = this._userMax || s[s.length - 1]);
8330
- const o = this.min, a = this.max, r = Ka(s, o, a);
8331
- return this._unit = e.unit || (n.autoSkip ? Ys(e.minUnit, this.min, this.max, this._getLabelCapacity(o)) : td(this, r.length, e.minUnit, this.min, this.max)), this._majorUnit = !n.major.enabled || this._unit === "year" ? void 0 : ed(this._unit), this.initOffsets(s), t.reverse && r.reverse(), Gs(this, r, this._majorUnit);
8330
+ const o = this.min, a = this.max, r = Za(s, o, a);
8331
+ return this._unit = e.unit || (n.autoSkip ? Ys(e.minUnit, this.min, this.max, this._getLabelCapacity(o)) : ed(this, r.length, e.minUnit, this.min, this.max)), this._majorUnit = !n.major.enabled || this._unit === "year" ? void 0 : id(this._unit), this.initOffsets(s), t.reverse && r.reverse(), Gs(this, r, this._majorUnit);
8332
8332
  }
8333
8333
  afterAutoSkip() {
8334
8334
  this.options.offsetAfterAutoskip && this.initOffsets(this.ticks.map((t) => +t.value));
@@ -8423,7 +8423,7 @@ class _i extends jt {
8423
8423
  return this._cache.labels = this._normalized ? t : this.normalize(t);
8424
8424
  }
8425
8425
  normalize(t) {
8426
- return go(t.sort($s));
8426
+ return po(t.sort($s));
8427
8427
  }
8428
8428
  }
8429
8429
  k(_i, "id", "time"), k(_i, "defaults", {
@@ -8503,7 +8503,7 @@ class qs extends _i {
8503
8503
  }
8504
8504
  }
8505
8505
  k(qs, "id", "timeseries"), k(qs, "defaults", _i.defaults);
8506
- const Qo = {
8506
+ const Jo = {
8507
8507
  data: {
8508
8508
  type: Object,
8509
8509
  required: !0
@@ -8524,30 +8524,30 @@ const Qo = {
8524
8524
  type: String,
8525
8525
  default: void 0
8526
8526
  }
8527
- }, nd = {
8527
+ }, sd = {
8528
8528
  type: {
8529
8529
  type: String,
8530
8530
  required: !0
8531
8531
  },
8532
- ...Qo
8533
- }, sd = ua[0] === "2" ? (i, t) => Object.assign(i, {
8532
+ ...Jo
8533
+ }, od = fa[0] === "2" ? (i, t) => Object.assign(i, {
8534
8534
  attrs: t
8535
8535
  }) : (i, t) => Object.assign(i, t);
8536
8536
  function Gt(i) {
8537
- return no(i) ? Xi(i) : i;
8537
+ return so(i) ? Xi(i) : i;
8538
8538
  }
8539
- function od(i) {
8539
+ function ad(i) {
8540
8540
  let t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : i;
8541
- return no(t) ? new Proxy(i, {}) : i;
8541
+ return so(t) ? new Proxy(i, {}) : i;
8542
8542
  }
8543
- function ad(i, t) {
8543
+ function rd(i, t) {
8544
8544
  const e = i.options;
8545
8545
  e && t && Object.assign(e, t);
8546
8546
  }
8547
- function Jo(i, t) {
8547
+ function ta(i, t) {
8548
8548
  i.labels = t;
8549
8549
  }
8550
- function ta(i, t, e) {
8550
+ function ea(i, t, e) {
8551
8551
  const n = [];
8552
8552
  i.datasets = t.map((s) => {
8553
8553
  const o = i.datasets.find((a) => a[e] === s[e]);
@@ -8556,25 +8556,25 @@ function ta(i, t, e) {
8556
8556
  } : (n.push(o), Object.assign(o, s), o);
8557
8557
  });
8558
8558
  }
8559
- function rd(i, t) {
8559
+ function ld(i, t) {
8560
8560
  const e = {
8561
8561
  labels: [],
8562
8562
  datasets: []
8563
8563
  };
8564
- return Jo(e, i.labels), ta(e, i.datasets, t), e;
8564
+ return ta(e, i.labels), ea(e, i.datasets, t), e;
8565
8565
  }
8566
- const ld = Vt({
8567
- props: nd,
8566
+ const cd = Vt({
8567
+ props: sd,
8568
8568
  setup(i, t) {
8569
8569
  let { expose: e } = t;
8570
- const n = X(null), s = to(null);
8570
+ const n = X(null), s = eo(null);
8571
8571
  e({
8572
8572
  chart: s
8573
8573
  });
8574
8574
  const o = () => {
8575
8575
  if (!n.value)
8576
8576
  return;
8577
- const { type: l, data: c, options: h, plugins: d, datasetIdKey: u } = i, f = rd(c, u), m = od(f, c);
8577
+ const { type: l, data: c, options: h, plugins: d, datasetIdKey: u } = i, f = ld(c, u), m = ad(f, c);
8578
8578
  s.value = new Lt(n.value, {
8579
8579
  type: l,
8580
8580
  data: m,
@@ -8589,7 +8589,7 @@ const ld = Vt({
8589
8589
  }, r = (l) => {
8590
8590
  l.update(i.updateMode);
8591
8591
  };
8592
- return eo(o), fa(a), di([
8592
+ return io(o), ga(a), di([
8593
8593
  () => i.options,
8594
8594
  () => i.data
8595
8595
  ], (l, c) => {
@@ -8600,31 +8600,31 @@ const ld = Vt({
8600
8600
  let g = !1;
8601
8601
  if (h) {
8602
8602
  const p = Gt(h), b = Gt(u);
8603
- p && p !== b && (ad(m, p), g = !0);
8603
+ p && p !== b && (rd(m, p), g = !0);
8604
8604
  }
8605
8605
  if (d) {
8606
8606
  const p = Gt(d.labels), b = Gt(f.labels), y = Gt(d.datasets), x = Gt(f.datasets);
8607
- p !== b && (Jo(m.config.data, p), g = !0), y && y !== x && (ta(m.config.data, y, i.datasetIdKey), g = !0);
8607
+ p !== b && (ta(m.config.data, p), g = !0), y && y !== x && (ea(m.config.data, y, i.datasetIdKey), g = !0);
8608
8608
  }
8609
8609
  g && r(m);
8610
8610
  }, {
8611
8611
  deep: !0
8612
- }), () => io("canvas", {
8612
+ }), () => no("canvas", {
8613
8613
  ref: n
8614
8614
  });
8615
8615
  }
8616
8616
  });
8617
8617
  function Ai(i, t) {
8618
8618
  return Lt.register(t), Vt({
8619
- props: Qo,
8619
+ props: Jo,
8620
8620
  setup(e, n) {
8621
8621
  let { expose: s } = n;
8622
- const o = to(null), a = (r) => {
8622
+ const o = eo(null), a = (r) => {
8623
8623
  o.value = r == null ? void 0 : r.chart;
8624
8624
  };
8625
8625
  return s({
8626
8626
  chart: o
8627
- }), () => io(ld, sd({
8627
+ }), () => no(cd, od({
8628
8628
  ref: a
8629
8629
  }, {
8630
8630
  type: i,
@@ -8633,7 +8633,7 @@ function Ai(i, t) {
8633
8633
  }
8634
8634
  });
8635
8635
  }
8636
- const ea = /* @__PURE__ */ Ai("bar", ai), cd = /* @__PURE__ */ Ai("doughnut", ue), hd = /* @__PURE__ */ Ai("line", ri), dd = /* @__PURE__ */ Ai("radar", li);
8636
+ const ia = /* @__PURE__ */ Ai("bar", ai), hd = /* @__PURE__ */ Ai("doughnut", ue), dd = /* @__PURE__ */ Ai("line", ri), ud = /* @__PURE__ */ Ai("radar", li);
8637
8637
  function Di() {
8638
8638
  function i(e, n = 50, s = 50) {
8639
8639
  const o = document.createElement("canvas"), a = o.getContext("2d");
@@ -8654,14 +8654,14 @@ function on(i, t) {
8654
8654
  function ot(i) {
8655
8655
  return Math.abs(Number(i)) >= 1e6 ? new Intl.NumberFormat().format(parseFloat((Number(i) / 1e6).toFixed(2))) + " M" : Math.abs(Number(i)) >= 1e3 ? new Intl.NumberFormat().format(parseFloat((Number(i) / 1e3).toFixed(2))) + " K" : new Intl.NumberFormat().format(parseFloat(Number(i).toFixed(2)));
8656
8656
  }
8657
- function ud(i, t) {
8657
+ function fd(i, t) {
8658
8658
  return t ? (i + t) % 6 : i;
8659
8659
  }
8660
- function fd(i, t) {
8660
+ function gd(i, t) {
8661
8661
  return `${ot(i.data[t].value)} (${ot(i.data[t].rate)}%)`;
8662
8662
  }
8663
- const gd = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTExLjc0IDEyLjAzaC4wMi0uMDJ6TTEyIDdhMyAzIDAgMDAtMyAzIC43NS43NSAwIDAwMS41IDBBMS41IDEuNSAwIDAxMTIgOC41MWExLjUgMS41IDAgMDEuNjYgMi44NSAyLjQxIDIuNDEgMCAwMC0xLjQxIDIuMTZ2LjI1YS43NS43NSAwIDAwMS41IDB2LS4yNWEuOTEuOTEgMCAwMS41Ny0uODFBMyAzIDAgMDAxMiA3eiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTYuMjQiIHI9Ii43NSIvPjxwYXRoIGQ9Ik0xMiAyYTEwIDEwIDAgMTAxMCAxMEExMCAxMCAwIDAwMTIgMnptMCAxOGE4IDggMCAxMTgtOCA4IDggMCAwMS04IDh6Ii8+PC9zdmc+", { getPatternCanvas: pd } = Di(), md = 14, ia = "6px", vi = "22px", Ks = 6, Mn = "2px";
8664
- function na(i, t, e, n, s, o, a, r) {
8663
+ const pd = "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTExLjc0IDEyLjAzaC4wMi0uMDJ6TTEyIDdhMyAzIDAgMDAtMyAzIC43NS43NSAwIDAwMS41IDBBMS41IDEuNSAwIDAxMTIgOC41MWExLjUgMS41IDAgMDEuNjYgMi44NSAyLjQxIDIuNDEgMCAwMC0xLjQxIDIuMTZ2LjI1YS43NS43NSAwIDAwMS41IDB2LS4yNWEuOTEuOTEgMCAwMS41Ny0uODFBMyAzIDAgMDAxMiA3eiIvPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTYuMjQiIHI9Ii43NSIvPjxwYXRoIGQ9Ik0xMiAyYTEwIDEwIDAgMTAxMCAxMEExMCAxMCAwIDAwMTIgMnptMCAxOGE4IDggMCAxMTgtOCA4IDggMCAwMS04IDh6Ii8+PC9zdmc+", { getPatternCanvas: md } = Di(), bd = 14, na = "6px", vi = "22px", Ks = 6, Mn = "2px";
8664
+ function sa(i, t, e, n, s, o, a, r) {
8665
8665
  return [{
8666
8666
  id: "htmlLegend",
8667
8667
  afterUpdate(l) {
@@ -8677,27 +8677,27 @@ function na(i, t, e, n, s, o, a, r) {
8677
8677
  p.style.marginRight = "10px";
8678
8678
  p.style.width = "max-content", p.style.cursor = "pointer";
8679
8679
  let b;
8680
- t.value ? b = oa(l, f, t, e, n.value) : b = sa(f, l, e, n.value, s.value, o.value), b.style.boxSizing = "border-box", p.appendChild(b), p.appendChild(Li(f)), m && a && bd(r, a, g) && p.appendChild(yd(r, a)), d.appendChild(p);
8680
+ t.value ? b = aa(l, f, t, e, s.value) : b = oa(f, l, e, n.value, s.value, o.value), b.style.boxSizing = "border-box", p.appendChild(b), p.appendChild(Li(f)), m && a && yd(r, a, g) && p.appendChild(xd(r, a)), d.appendChild(p);
8681
8681
  });
8682
8682
  }
8683
8683
  }];
8684
8684
  }
8685
- function bd(i, t, e) {
8685
+ function yd(i, t, e) {
8686
8686
  return i.data.length > t && e === t - 1;
8687
8687
  }
8688
- function yd(i, t) {
8688
+ function xd(i, t) {
8689
8689
  const e = document.createElement("div"), n = document.createElement("div"), s = document.createElement("img");
8690
- e.style.position = "absolute", e.style.right = "-32px", s.src = gd, s.style.top = "0", s.style.width = "1.5rem", s.style.filter = "invert(38%) sepia(19%) saturate(18%) hue-rotate(337deg) brightness(97%) contrast(85%)", n.style.position = "relative", n.style.display = "flex";
8691
- const o = xd(i, t);
8690
+ e.style.position = "absolute", e.style.right = "-32px", s.src = pd, s.style.top = "0", s.style.width = "1.5rem", s.style.filter = "invert(38%) sepia(19%) saturate(18%) hue-rotate(337deg) brightness(97%) contrast(85%)", n.style.position = "relative", n.style.display = "flex";
8691
+ const o = _d(i, t);
8692
8692
  return s.onmouseover = () => {
8693
8693
  n.firstElementChild.style.visibility = "visible";
8694
8694
  }, e.appendChild(n), n.appendChild(o), n.appendChild(s), e;
8695
8695
  }
8696
- function xd(i, t) {
8696
+ function _d(i, t) {
8697
8697
  const e = document.createElement("div");
8698
- return e.style.visibility = "hidden", e.style.position = "absolute", e.style.zIndex = "10", e.style.width = "350px", e.style.bottom = "100%", e.style.left = "50%", e.style.marginLeft = "-150px", e.style.background = "#FFFFFF", e.style.boxShadow = "0px 1px 5px rgba(0, 0, 0, 0.2)", e.style.borderRadius = "0.5rem", e.style.fontSize = "14px", e.style.overflow = "hidden", _d(i, t, e), e;
8698
+ return e.style.visibility = "hidden", e.style.position = "absolute", e.style.zIndex = "10", e.style.width = "350px", e.style.bottom = "100%", e.style.left = "50%", e.style.marginLeft = "-150px", e.style.background = "#FFFFFF", e.style.boxShadow = "0px 1px 5px rgba(0, 0, 0, 0.2)", e.style.borderRadius = "0.5rem", e.style.fontSize = "14px", e.style.overflow = "hidden", vd(i, t, e), e;
8699
8699
  }
8700
- function _d(i, t, e) {
8700
+ function vd(i, t, e) {
8701
8701
  const n = t - 1;
8702
8702
  i.data.slice(n).forEach(
8703
8703
  (s, o) => {
@@ -8706,19 +8706,19 @@ function _d(i, t, e) {
8706
8706
  const l = document.createElement("span");
8707
8707
  l.appendChild(document.createTextNode(i.labels[a]));
8708
8708
  const c = document.createElement("span");
8709
- c.appendChild(document.createTextNode(fd(i, a))), r.appendChild(l), r.appendChild(c), e.appendChild(r);
8709
+ c.appendChild(document.createTextNode(gd(i, a))), r.appendChild(l), r.appendChild(c), e.appendChild(r);
8710
8710
  }
8711
8711
  );
8712
8712
  }
8713
- function sa(i, t, e, n, s, o) {
8714
- const a = t.config.type === "doughnut", r = a ? i.index : i.datasetIndex, l = new Image(), c = aa(i, t.config.type), h = o[r](!1, s[r], n), d = pd(h);
8713
+ function oa(i, t, e, n, s, o) {
8714
+ const a = t.config.type === "doughnut", r = a ? i.index : i.datasetIndex, l = new Image(), c = ra(i, t.config.type), h = o[r](!1, s[r], n), d = md(h);
8715
8715
  return l.src = d.toDataURL(), c.style.background = `url(${l.src})`, c.style.backgroundSize = "cover", c.style.borderColor = s[r], c.style.borderWidth = Mn, c.onmouseover = () => {
8716
- a ? e.value = r : e.dataSetIndex = r, t.update();
8716
+ a ? e.value = r : e.dataSetIndex = r;
8717
8717
  }, c.onmouseleave = () => {
8718
- a ? e.value = null : e.dataSetIndex = -1, t.update();
8718
+ a ? e.value = null : e.dataSetIndex = -1;
8719
8719
  }, c;
8720
8720
  }
8721
- function oa(i, t, e, n, s) {
8721
+ function aa(i, t, e, n, s) {
8722
8722
  const o = i.config.type === "doughnut", a = o ? t.index : t.datasetIndex, r = Cn(i, t, s);
8723
8723
  return i.config.data.labels.every((h, d) => i.getDataVisibility(d)) ? (o && (e.value = !1, n.value = -1), r) : (r.onmouseover = () => {
8724
8724
  o ? n.value = a : n.dataSetIndex = a, i.update();
@@ -8728,65 +8728,65 @@ function oa(i, t, e, n, s) {
8728
8728
  }
8729
8729
  function Li(i) {
8730
8730
  const t = document.createElement("p");
8731
- t.style.color = i.fontColor, t.style.fontSize = `${md}px`, t.style.margin = "0", t.style.padding = "0";
8731
+ t.style.color = i.fontColor, t.style.fontSize = `${bd}px`, t.style.margin = "0", t.style.padding = "0";
8732
8732
  const e = document.createTextNode(i.text);
8733
8733
  return t.appendChild(e), t;
8734
8734
  }
8735
- function aa(i, t) {
8735
+ function ra(i, t) {
8736
8736
  const e = document.createElement("div");
8737
- return t !== "doughnut" && (e.style.background = "rgba(0, 0, 0, 0.1)", e.style.borderColor = i.strokeStyle, e.style.borderWidth = Mn), e.style.borderRadius = "5px", e.style.borderStyle = "solid", e.style.display = "flex", e.style.justifyContent = "center", e.style.alignItems = "center", e.style.width = vi, e.style.marginRight = ia, e.style.height = vi, e;
8737
+ return t !== "doughnut" && (e.style.background = "rgba(0, 0, 0, 0.1)", e.style.borderColor = i.strokeStyle, e.style.borderWidth = Mn), e.style.borderRadius = "5px", e.style.borderStyle = "solid", e.style.display = "flex", e.style.justifyContent = "center", e.style.alignItems = "center", e.style.width = vi, e.style.marginRight = na, e.style.height = vi, e;
8738
8738
  }
8739
- function vd(i) {
8739
+ function Sd(i) {
8740
8740
  const t = document.createElement("div");
8741
8741
  return t.style.height = Ks + "px", t.style.width = Ks + "px", t.style.background = "white", t.style.borderStyle = "solid", t.style.borderColor = i.strokeStyle, t.style.borderWidth = Mn, t;
8742
8742
  }
8743
8743
  function Ti(i, t, e) {
8744
8744
  const n = document.createElement("li");
8745
8745
  return n.style.alignItems = "center", n.style.cursor = t.value ? "" : "pointer", n.style.display = "flex", n.style.flexDirection = "row", n.setAttribute("data-test-id", `legend-item-${e}`), n.onclick = () => {
8746
- t.value ? Oi(i, e, t) : (ca(i, e, t), i.update());
8746
+ t.value ? Oi(i, e, t) : (ha(i, e, t), i.update());
8747
8747
  }, n;
8748
8748
  }
8749
- function Sd(i, t, e, n) {
8749
+ function wd(i, t, e, n) {
8750
8750
  let s = "#fff", o = "#666";
8751
- i && (s = n ? t.fillStyle : t.strokeStyle, o = t.strokeStyle), e.setAttribute("checked", "" + i), e.setAttribute("class", "mc-checkbox__input"), e.setAttribute("style", `background-color: ${s};
8751
+ i && (s = Zs(t.strokeStyle) ? n : t.strokeStyle, o = Zs(t.strokeStyle) ? n : t.strokeStyle), e.setAttribute("checked", "" + i), e.setAttribute("class", "mc-checkbox__input"), e.setAttribute("style", `background-color: ${s};
8752
8752
  width: ${vi};
8753
8753
  height: ${vi};
8754
- margin-right: ${ia};
8754
+ margin-right: ${na};
8755
8755
  border-color: ${o};`);
8756
8756
  }
8757
- function Cn(i, t, e = !1) {
8757
+ function Cn(i, t, e) {
8758
8758
  const n = i.config.type === "doughnut", s = n ? t.index : t.datasetIndex, o = document.createElement("input");
8759
8759
  o.setAttribute("type", "checkbox"), o.setAttribute("data-test-id", `legend-checkbox-${s}`);
8760
- const a = n ? i.getDataVisibility(s) : i.isDatasetVisible(s);
8761
- return Sd(a, t, o, e), o;
8760
+ const a = n ? i.getDataVisibility(s) : i.isDatasetVisible(s), r = e ? e[s] : void 0;
8761
+ return wd(a, t, o, r), o;
8762
8762
  }
8763
- function ra(i) {
8763
+ function la(i) {
8764
8764
  const { type: t } = i.config;
8765
8765
  return t === "pie" || t === "doughnut";
8766
8766
  }
8767
- function la(i) {
8767
+ function ca(i) {
8768
8768
  let t = i.config.data.datasets;
8769
- return ra(i) && (t = i.config.data.datasets[0].data), t;
8769
+ return la(i) && (t = i.config.data.datasets[0].data), t;
8770
8770
  }
8771
- function ca(i, t, e) {
8771
+ function ha(i, t, e) {
8772
8772
  if (!e.value) {
8773
- const n = la(i);
8773
+ const n = ca(i);
8774
8774
  e.value = !0, n.forEach((s, o) => {
8775
8775
  o !== t && Oi(i, o);
8776
8776
  });
8777
8777
  }
8778
8778
  }
8779
- function wd(i) {
8779
+ function kd(i) {
8780
8780
  let t = !0;
8781
- return la(i).forEach((n, s) => {
8781
+ return ca(i).forEach((n, s) => {
8782
8782
  t = t && i.isDatasetVisible(s);
8783
8783
  }), t;
8784
8784
  }
8785
8785
  function Oi(i, t, e) {
8786
- ra(i) ? i.toggleDataVisibility(t) : i.setDatasetVisibility(t, !i.isDatasetVisible(t)), e && wd(i) && (e.value = !1), i.update();
8786
+ la(i) ? i.toggleDataVisibility(t) : i.setDatasetVisibility(t, !i.isDatasetVisible(t)), e && kd(i) && (e.value = !1), i.update();
8787
8787
  }
8788
8788
  function Pn(i, t) {
8789
- const e = aa(i, ""), n = vd(i), s = i.index || i.datasetIndex;
8789
+ const e = ra(i, ""), n = Sd(i), s = i.index || i.datasetIndex;
8790
8790
  return n.style.width = "10px", n.style.height = "10px", s % 2 === 0 ? t ? n.style.borderRadius = "25px" : n.style.transform = "rotate(45deg)" : t ? n.style.transform = "rotate(45deg)" : n.style.borderRadius = "25px", e.appendChild(n), e;
8791
8791
  }
8792
8792
  function Ii(i, t) {
@@ -8794,18 +8794,21 @@ function Ii(i, t) {
8794
8794
  let e = (n = i.value) == null ? void 0 : n.querySelector("ul");
8795
8795
  return e || (e = document.createElement("ul"), e.style.display = "flex", e.style.flexDirection = t, e.style.margin = "0", e.style.padding = "0", (s = i.value) == null || s.appendChild(e)), e;
8796
8796
  }
8797
+ function Zs(i) {
8798
+ return i === "#00000000";
8799
+ }
8797
8800
  function Oe(i, t) {
8798
8801
  const e = Math.round(Math.min(Math.max(t || 1, 0), 1) * 255);
8799
8802
  return i + e.toString(16).toUpperCase();
8800
8803
  }
8801
8804
  const { getPatternIndexWithShift: Yi } = Di();
8802
- function kd() {
8803
- const i = X(3), t = X(null), e = so({
8805
+ function Md() {
8806
+ const i = X(3), t = X(null), e = oo({
8804
8807
  dataSetIndex: -1,
8805
8808
  columnIndex: -1
8806
8809
  });
8807
8810
  function n(g, p, b, y, x) {
8808
- return na(g, p, e, b, y, x);
8811
+ return sa(g, p, e, b, y, x);
8809
8812
  }
8810
8813
  function s() {
8811
8814
  i.value = 4, i.value = 3;
@@ -8872,7 +8875,7 @@ function kd() {
8872
8875
  borderWidth: i
8873
8876
  };
8874
8877
  }
8875
- const { getPatternCanvas: Md } = Di();
8878
+ const { getPatternCanvas: Cd } = Di();
8876
8879
  class Ve {
8877
8880
  constructor() {
8878
8881
  k(this, "chartType", "");
@@ -8975,9 +8978,9 @@ class Ve {
8975
8978
  const r = document.querySelector(".legendIcon"), l = new Image();
8976
8979
  let c;
8977
8980
  this.chartType === "DOUGHNUT" ? c = this.dataIndex + 1 : c = this.datasetIndex + 1;
8978
- const h = ud(c, this.patternShifting);
8981
+ const h = fd(c, this.patternShifting);
8979
8982
  if (this.chartType !== "LINE_CHART" && this.chartType !== "RADAR" && a !== "line") {
8980
- const d = s[h - 1](!1, n[h - 1], o), u = Md(d, 22, 22);
8983
+ const d = s[h - 1](!1, n[h - 1], o), u = Cd(d, 22, 22);
8981
8984
  l.src = u.toDataURL(), r.style.backgroundImage = `url(${l.src})`;
8982
8985
  }
8983
8986
  }
@@ -8986,7 +8989,7 @@ class Ve {
8986
8989
  }
8987
8990
  }
8988
8991
  var ee = /* @__PURE__ */ ((i) => (i.RADAR = "RADAR", i.BAR_CHART = "BAR_CHART", i.MIXED_BAR_LINE_CHART = "MIXED_BAR_LINE_CHART", i.DETAILS_BAR_CHART = "DETAILS_BAR_CHART", i.LINE_CHART = "LINE_CHART", i.DOUGHNUT = "DOUGHNUT", i))(ee || {});
8989
- function Cd(i, t = "#A274FF", e = !1) {
8992
+ function Pd(i, t = "#A274FF", e = !1) {
8990
8993
  const n = document.createElement("canvas"), s = n.getContext("2d");
8991
8994
  if (!s)
8992
8995
  return new CanvasPattern();
@@ -8998,7 +9001,7 @@ function Cd(i, t = "#A274FF", e = !1) {
8998
9001
  const c = l.createPattern(n, "repeat");
8999
9002
  return c || new CanvasPattern();
9000
9003
  }
9001
- function Pd(i, t = "#143666", e = !1) {
9004
+ function Ad(i, t = "#143666", e = !1) {
9002
9005
  const n = document.createElement("canvas"), s = n.getContext("2d");
9003
9006
  if (!s)
9004
9007
  return new CanvasPattern();
@@ -9010,7 +9013,7 @@ function Pd(i, t = "#143666", e = !1) {
9010
9013
  const l = r.createPattern(n, "repeat");
9011
9014
  return l || new CanvasPattern();
9012
9015
  }
9013
- function Ad(i, t = "#00A3B2", e = !1) {
9016
+ function Dd(i, t = "#00A3B2", e = !1) {
9014
9017
  const n = document.createElement("canvas"), s = n.getContext("2d");
9015
9018
  if (!s)
9016
9019
  return new CanvasPattern();
@@ -9022,7 +9025,7 @@ function Ad(i, t = "#00A3B2", e = !1) {
9022
9025
  const l = r.createPattern(n, "repeat");
9023
9026
  return l || new CanvasPattern();
9024
9027
  }
9025
- function Dd(i, t = "#8C1551", e = !1) {
9028
+ function Ld(i, t = "#8C1551", e = !1) {
9026
9029
  const n = document.createElement("canvas"), s = n.getContext("2d");
9027
9030
  if (!s)
9028
9031
  return new CanvasPattern();
@@ -9034,7 +9037,7 @@ function Dd(i, t = "#8C1551", e = !1) {
9034
9037
  const c = l.createPattern(n, "repeat");
9035
9038
  return c ? (l.fillStyle = c, l.fillRect(0, 0, o, o), c) : new CanvasPattern();
9036
9039
  }
9037
- function Ld(i, t = "#F255A3", e = !1) {
9040
+ function Td(i, t = "#F255A3", e = !1) {
9038
9041
  const n = document.createElement("canvas"), s = n.getContext("2d");
9039
9042
  if (!s)
9040
9043
  return new CanvasPattern();
@@ -9046,7 +9049,7 @@ function Ld(i, t = "#F255A3", e = !1) {
9046
9049
  const h = c.createPattern(n, "repeat");
9047
9050
  return h ? (c.fillStyle = h, c.fillRect(0, 0, l.width, l.height), h.setTransform(o.rotate(45)), h) : new CanvasPattern();
9048
9051
  }
9049
- function Td(i, t = "#095359", e = !1) {
9052
+ function Od(i, t = "#095359", e = !1) {
9050
9053
  const n = document.createElement("canvas"), s = n.getContext("2d");
9051
9054
  if (!s)
9052
9055
  return new CanvasPattern();
@@ -9085,12 +9088,12 @@ function Td(i, t = "#095359", e = !1) {
9085
9088
  function je() {
9086
9089
  return {
9087
9090
  patternsStandardList: [
9088
- Cd,
9089
9091
  Pd,
9090
9092
  Ad,
9091
9093
  Dd,
9092
9094
  Ld,
9093
- Td
9095
+ Td,
9096
+ Od
9094
9097
  ],
9095
9098
  colourSets: [
9096
9099
  ["#393879", "#006974", "#405D68", "#005C91", "#8C3500", "#8C0003"],
@@ -9103,7 +9106,7 @@ function je() {
9103
9106
  ]
9104
9107
  };
9105
9108
  }
9106
- const Od = { class: "container" }, Id = { class: "main" }, Fd = /* @__PURE__ */ Vt({
9109
+ const Id = { class: "container" }, Fd = { class: "main" }, Rd = /* @__PURE__ */ Vt({
9107
9110
  __name: "BarChart",
9108
9111
  props: {
9109
9112
  /**
@@ -9236,7 +9239,7 @@ const Od = { class: "container" }, Id = { class: "main" }, Fd = /* @__PURE__ */
9236
9239
  getOnHoverOptions: u,
9237
9240
  getStackedDatasets: f,
9238
9241
  privateGetHtmlLegendPlugin: m
9239
- } = kd(), g = z(() => {
9242
+ } = Md(), g = z(() => {
9240
9243
  const C = w(x.value);
9241
9244
  return y(), {
9242
9245
  labels: C,
@@ -9339,9 +9342,9 @@ const Od = { class: "container" }, Id = { class: "main" }, Fd = /* @__PURE__ */
9339
9342
  d();
9340
9343
  },
9341
9344
  { deep: !0 }
9342
- ), (C, P) => (ft(), Ie("div", Od, [
9343
- gt("div", Id, [
9344
- g.value ? (ft(), Fe(Zt(ea), {
9345
+ ), (C, P) => (ft(), Ie("div", Id, [
9346
+ gt("div", Fd, [
9347
+ g.value ? (ft(), Fe(Zt(ia), {
9345
9348
  key: 0,
9346
9349
  ref_key: "barChartRef",
9347
9350
  ref: h,
@@ -9365,14 +9368,14 @@ const $e = (i, t) => {
9365
9368
  for (const [n, s] of t)
9366
9369
  e[n] = s;
9367
9370
  return e;
9368
- }, an = /* @__PURE__ */ $e(Fd, [["__scopeId", "data-v-fae6dcc9"]]);
9371
+ }, an = /* @__PURE__ */ $e(Rd, [["__scopeId", "data-v-fae6dcc9"]]);
9369
9372
  an.install = (i) => {
9370
9373
  i.component("BarChart", an);
9371
9374
  };
9372
- function Rd() {
9375
+ function Ed() {
9373
9376
  const i = X(null), t = X(null), e = X(null);
9374
9377
  function n(h, d, u, f, m, g, p) {
9375
- return na(
9378
+ return sa(
9376
9379
  h,
9377
9380
  d,
9378
9381
  t,
@@ -9434,7 +9437,7 @@ function Rd() {
9434
9437
  doughnutRef: i
9435
9438
  };
9436
9439
  }
9437
- const Ed = { class: "container" }, Bd = { class: "main" }, zd = /* @__PURE__ */ Vt({
9440
+ const Bd = { class: "container" }, zd = { class: "main" }, Wd = /* @__PURE__ */ Vt({
9438
9441
  __name: "DoughnutChart",
9439
9442
  props: {
9440
9443
  /**
@@ -9548,7 +9551,7 @@ const Ed = { class: "container" }, Bd = { class: "main" }, zd = /* @__PURE__ */
9548
9551
  groupDataAfterNthValue: c,
9549
9552
  getDoughnutLabels: h,
9550
9553
  getBorderColor: d
9551
- } = Rd(), u = X(!1), f = X(null), m = z(() => t.newPatternsOrder.length !== 6 ? e[t.colourSet] : t.newPatternsOrder.map((S) => e[t.colourSet][S])), g = z(() => t.newPatternsOrder.length !== 6 ? n : t.newPatternsOrder.map((S) => n[S])), p = z(() => ({
9554
+ } = Ed(), u = X(!1), f = X(null), m = z(() => t.newPatternsOrder.length !== 6 ? e[t.colourSet] : t.newPatternsOrder.map((S) => e[t.colourSet][S])), g = z(() => t.newPatternsOrder.length !== 6 ? n : t.newPatternsOrder.map((S) => n[S])), p = z(() => ({
9552
9555
  labels: h(
9553
9556
  t.labels,
9554
9557
  t.data,
@@ -9633,7 +9636,7 @@ const Ed = { class: "container" }, Bd = { class: "main" }, zd = /* @__PURE__ */
9633
9636
  v
9634
9637
  )
9635
9638
  );
9636
- return eo(() => {
9639
+ return io(() => {
9637
9640
  a(
9638
9641
  m.value,
9639
9642
  g.value,
@@ -9651,9 +9654,9 @@ const Ed = { class: "container" }, Bd = { class: "main" }, zd = /* @__PURE__ */
9651
9654
  g.value,
9652
9655
  t.disableAccessibility
9653
9656
  );
9654
- }), (S, M) => (ft(), Ie("div", Ed, [
9655
- gt("div", Bd, [
9656
- p.value ? (ft(), Fe(Zt(cd), {
9657
+ }), (S, M) => (ft(), Ie("div", Bd, [
9658
+ gt("div", zd, [
9659
+ p.value ? (ft(), Fe(Zt(hd), {
9657
9660
  key: 0,
9658
9661
  ref_key: "doughnutRef",
9659
9662
  ref: o,
@@ -9673,11 +9676,11 @@ const Ed = { class: "container" }, Bd = { class: "main" }, zd = /* @__PURE__ */
9673
9676
  ]));
9674
9677
  }
9675
9678
  });
9676
- const rn = /* @__PURE__ */ $e(zd, [["__scopeId", "data-v-9f73f105"]]);
9679
+ const rn = /* @__PURE__ */ $e(Wd, [["__scopeId", "data-v-9f73f105"]]);
9677
9680
  rn.install = (i) => {
9678
9681
  i.component("DoughnutChart", rn);
9679
9682
  };
9680
- const Wd = { class: "container" }, Hd = { class: "main" }, Nd = /* @__PURE__ */ Vt({
9683
+ const Hd = { class: "container" }, Nd = { class: "main" }, Vd = /* @__PURE__ */ Vt({
9681
9684
  __name: "LineChart",
9682
9685
  props: {
9683
9686
  /**
@@ -9843,7 +9846,7 @@ const Wd = { class: "container" }, Hd = { class: "main" }, Nd = /* @__PURE__ */
9843
9846
  ];
9844
9847
  }
9845
9848
  function f(p, b) {
9846
- const y = Cn(p, b);
9849
+ const y = Cn(p, b, null);
9847
9850
  return y.onclick = (x) => {
9848
9851
  Oi(p, b.datasetIndex, o), x.stopPropagation();
9849
9852
  }, y;
@@ -9893,9 +9896,9 @@ const Wd = { class: "container" }, Hd = { class: "main" }, Nd = /* @__PURE__ */
9893
9896
  }
9894
9897
  }
9895
9898
  }));
9896
- return (p, b) => (ft(), Ie("div", Wd, [
9897
- gt("div", Hd, [
9898
- d.value ? (ft(), Fe(Zt(hd), {
9899
+ return (p, b) => (ft(), Ie("div", Hd, [
9900
+ gt("div", Nd, [
9901
+ d.value ? (ft(), Fe(Zt(dd), {
9899
9902
  key: 0,
9900
9903
  ref: "lineChartRef",
9901
9904
  id: i.chartId,
@@ -9913,11 +9916,11 @@ const Wd = { class: "container" }, Hd = { class: "main" }, Nd = /* @__PURE__ */
9913
9916
  ]));
9914
9917
  }
9915
9918
  });
9916
- const ln = /* @__PURE__ */ $e(Nd, [["__scopeId", "data-v-d99146c4"]]);
9919
+ const ln = /* @__PURE__ */ $e(Vd, [["__scopeId", "data-v-7981cde6"]]);
9917
9920
  ln.install = (i) => {
9918
9921
  i.component("LineChart", ln);
9919
9922
  };
9920
- function Vd(i, t) {
9923
+ function jd(i, t) {
9921
9924
  const e = i.ctx, n = i.scales.r, s = i.data.labels;
9922
9925
  !e || !n || !s || (e.save(), s.forEach((o, a) => {
9923
9926
  const r = (n.getIndexAngle(a) - Math.PI / 2) % (2 * Math.PI), l = n.getPointPositionForValue(a, n.max);
@@ -9926,14 +9929,14 @@ function Vd(i, t) {
9926
9929
  r < 0 || r > Math.PI ? h = -15 : h = 15, r > Math.PI / 4 && r < 3 * Math.PI / 4 && (h *= 3), (r < -Math.PI / 4 || r > 5 * Math.PI / 4) && (h *= 3, c = 0), (r > 11 * Math.PI / 8 || r < -3 * Math.PI / 8) && (e.textAlign = "center");
9927
9930
  const d = l.y + h * (o.length - 1) / 2;
9928
9931
  e.font = "12px Arial", o.forEach((u, f) => {
9929
- const m = f === o.length - 1 ? jd(t)[a] : "#000000";
9932
+ const m = f === o.length - 1 ? $d(t)[a] : "#000000";
9930
9933
  e.fillStyle = m;
9931
9934
  const g = l.x + c, p = d + 15 * f;
9932
9935
  e.fillText(u, g, p);
9933
9936
  });
9934
9937
  }), e.restore());
9935
9938
  }
9936
- const jd = (i) => i.datasets[0].areaData.map((t) => {
9939
+ const $d = (i) => i.datasets[0].areaData.map((t) => {
9937
9940
  switch (t.color) {
9938
9941
  case "red":
9939
9942
  return "#C61112";
@@ -9943,7 +9946,7 @@ const jd = (i) => i.datasets[0].areaData.map((t) => {
9943
9946
  return "#000000";
9944
9947
  }
9945
9948
  });
9946
- function $d(i, t) {
9949
+ function Ud(i, t) {
9947
9950
  if (i.length > 7 && i.includes(" ", 7)) {
9948
9951
  const n = i.indexOf(
9949
9952
  " ",
@@ -9957,7 +9960,7 @@ function $d(i, t) {
9957
9960
  }
9958
9961
  return [i, t];
9959
9962
  }
9960
- const Ud = { class: "container" }, Yd = /* @__PURE__ */ Vt({
9963
+ const Yd = { class: "container" }, Xd = /* @__PURE__ */ Vt({
9961
9964
  __name: "RadarChart",
9962
9965
  props: {
9963
9966
  /**
@@ -10047,7 +10050,7 @@ const Ud = { class: "container" }, Yd = /* @__PURE__ */ Vt({
10047
10050
  me,
10048
10051
  dt,
10049
10052
  Kt,
10050
- vh
10053
+ Sh
10051
10054
  );
10052
10055
  const { colourSets: e, patternsStandardList: n } = je(), s = z(
10053
10056
  () => t.newPatternsOrder.length !== 6 ? e[t.colourSet] : t.newPatternsOrder.map((g) => e[t.colourSet][g])
@@ -10092,7 +10095,7 @@ const Ud = { class: "container" }, Yd = /* @__PURE__ */ Vt({
10092
10095
  ]
10093
10096
  })), r = {
10094
10097
  onClick: (g, p, b) => {
10095
- p[0] && ca(b, p[0].datasetIndex, c);
10098
+ p[0] && ha(b, p[0].datasetIndex, c);
10096
10099
  },
10097
10100
  plugins: {
10098
10101
  htmlLegend: {
@@ -10148,10 +10151,10 @@ const Ud = { class: "container" }, Yd = /* @__PURE__ */ Vt({
10148
10151
  const b = t.datasets[0].areaData[p].value ? `${d(
10149
10152
  t.datasets[0].areaData[p].value + ""
10150
10153
  )} ${t.datasets[0].areaData[p].unit}` : "No Data";
10151
- return $d(g, b);
10154
+ return Ud(g, b);
10152
10155
  }), d = (g) => ot(parseFloat(g));
10153
10156
  function u(g, p) {
10154
- const b = Cn(g, p);
10157
+ const b = Cn(g, p, null);
10155
10158
  return b.onclick = (y) => {
10156
10159
  Oi(g, p.datasetIndex, c), y.stopPropagation();
10157
10160
  }, b;
@@ -10177,19 +10180,19 @@ const Ud = { class: "container" }, Yd = /* @__PURE__ */ Vt({
10177
10180
  {
10178
10181
  id: "radarLabelPlugin",
10179
10182
  beforeDraw(g) {
10180
- Vd(g, t);
10183
+ jd(g, t);
10181
10184
  }
10182
10185
  }
10183
10186
  ], m = (g) => {
10184
10187
  const p = g.tooltip.dataPoints[0].datasetIndex, b = g.tooltip.dataPoints[0].dataIndex, y = t.datasets[p];
10185
10188
  return y.areaData[b].value.toFixed(2) + " " + y.areaData[b].unit;
10186
10189
  };
10187
- return (g, p) => (ft(), Ie("div", Ud, [
10190
+ return (g, p) => (ft(), Ie("div", Yd, [
10188
10191
  gt("div", {
10189
10192
  class: "main",
10190
10193
  style: Qt({ height: i.height })
10191
10194
  }, [
10192
- a.value ? (ft(), Fe(Zt(dd), {
10195
+ a.value ? (ft(), Fe(Zt(ud), {
10193
10196
  key: 0,
10194
10197
  id: i.chartId,
10195
10198
  data: a.value,
@@ -10207,19 +10210,19 @@ const Ud = { class: "container" }, Yd = /* @__PURE__ */ Vt({
10207
10210
  ]));
10208
10211
  }
10209
10212
  });
10210
- const cn = /* @__PURE__ */ $e(Yd, [["__scopeId", "data-v-a28617e3"]]);
10213
+ const cn = /* @__PURE__ */ $e(Xd, [["__scopeId", "data-v-e1f6448f"]]);
10211
10214
  cn.install = (i) => {
10212
10215
  i.component("RadarChart", cn);
10213
10216
  };
10214
- const Zs = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
10217
+ const Qs = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
10215
10218
  __proto__: null,
10216
10219
  BarChart: an,
10217
10220
  DoughnutChart: rn,
10218
10221
  LineChart: ln,
10219
10222
  RadarChart: cn
10220
- }, Symbol.toStringTag, { value: "Module" })), { getPatternIndexWithShift: Qs } = Di();
10221
- function Xd() {
10222
- const i = X(2), t = so({
10223
+ }, Symbol.toStringTag, { value: "Module" })), { getPatternIndexWithShift: Js } = Di();
10224
+ function Gd() {
10225
+ const i = X(2), t = oo({
10223
10226
  dataSetIndex: -1,
10224
10227
  columnIndex: -1
10225
10228
  });
@@ -10241,13 +10244,13 @@ function Xd() {
10241
10244
  v.datasetIndex
10242
10245
  );
10243
10246
  let w;
10244
- u.value ? w = oa(
10247
+ u.value ? w = aa(
10245
10248
  b,
10246
10249
  v,
10247
10250
  u,
10248
10251
  { datasetIndex: -1 },
10249
- m.value
10250
- ) : v != null && v.lineCap ? w = Pn(v) : w = sa(
10252
+ g.value
10253
+ ) : v != null && v.lineCap ? w = Pn(v) : w = oa(
10251
10254
  v,
10252
10255
  b,
10253
10256
  { datasetIndex: -1 },
@@ -10309,11 +10312,11 @@ function Xd() {
10309
10312
  });
10310
10313
  }
10311
10314
  function o(d, u, f, m) {
10312
- const g = Qs(d, m);
10315
+ const g = Js(d, m);
10313
10316
  return r(d, u) ? f[g] : Oe(f[g], 0.2);
10314
10317
  }
10315
10318
  function a(d, u, f, m, g, p) {
10316
- const b = Qs(d, p);
10319
+ const b = Js(d, p);
10317
10320
  return r(d, u) ? g[b](
10318
10321
  !1,
10319
10322
  m[b],
@@ -10344,7 +10347,7 @@ function Xd() {
10344
10347
  onHoverIndex: t
10345
10348
  };
10346
10349
  }
10347
- const Gd = { class: "container" }, qd = { class: "main" }, Kd = /* @__PURE__ */ Vt({
10350
+ const qd = { class: "container" }, Kd = { class: "main" }, Zd = /* @__PURE__ */ Vt({
10348
10351
  __name: "MixedBarLineChart",
10349
10352
  props: {
10350
10353
  /**
@@ -10514,7 +10517,7 @@ const Gd = { class: "container" }, qd = { class: "main" }, Kd = /* @__PURE__ */
10514
10517
  dt,
10515
10518
  Kt
10516
10519
  );
10517
- const { privateGetHtmlLegendPlugin: e, getMixedDatasets: n } = Xd(), { colourSets: s, patternsStandardList: o } = je(), a = X(null), r = X(!1), l = z(() => {
10520
+ const { privateGetHtmlLegendPlugin: e, getMixedDatasets: n } = Gd(), { colourSets: s, patternsStandardList: o } = je(), a = X(null), r = X(!1), l = z(() => {
10518
10521
  let b = [];
10519
10522
  return t.barDatasets && (b = b.concat(t.barDatasets)), t.lineDatasets && (b = b.concat(t.lineDatasets)), b;
10520
10523
  }), c = z(() => t.newPatternsOrder.length !== o.length ? s[t.colourSet] : t.newPatternsOrder.map((b) => s[t.colourSet][b])), h = z(() => t.newPatternsOrder.length !== o.length ? o : t.newPatternsOrder.map((b) => o[b])), d = z(() => t.disableAccessibility), u = z(() => ({
@@ -10615,9 +10618,9 @@ const Gd = { class: "container" }, qd = { class: "main" }, Kd = /* @__PURE__ */
10615
10618
  h
10616
10619
  )
10617
10620
  );
10618
- return (b, y) => (ft(), Ie("div", Gd, [
10619
- gt("div", qd, [
10620
- u.value ? (ft(), Fe(Zt(ea), {
10621
+ return (b, y) => (ft(), Ie("div", qd, [
10622
+ gt("div", Kd, [
10623
+ u.value ? (ft(), Fe(Zt(ia), {
10621
10624
  key: 0,
10622
10625
  ref: "mixedBarLineChartRef",
10623
10626
  id: i.chartId,
@@ -10635,14 +10638,14 @@ const Gd = { class: "container" }, qd = { class: "main" }, Kd = /* @__PURE__ */
10635
10638
  ]));
10636
10639
  }
10637
10640
  });
10638
- const Js = /* @__PURE__ */ $e(Kd, [["__scopeId", "data-v-758cd368"]]);
10639
- Js.install = (i) => {
10640
- i.component("MixedBarLineChart", Js);
10641
+ const to = /* @__PURE__ */ $e(Zd, [["__scopeId", "data-v-758cd368"]]);
10642
+ to.install = (i) => {
10643
+ i.component("MixedBarLineChart", to);
10641
10644
  };
10642
- const tu = {
10645
+ const eu = {
10643
10646
  install: (i, t) => {
10644
- Object.keys(Zs).forEach((e) => {
10645
- i.component(e, Zs[e]);
10647
+ Object.keys(Qs).forEach((e) => {
10648
+ i.component(e, Qs[e]);
10646
10649
  });
10647
10650
  }
10648
10651
  };
@@ -10650,7 +10653,7 @@ export {
10650
10653
  an as BarChart,
10651
10654
  rn as DoughnutChart,
10652
10655
  ln as LineChart,
10653
- Js as MixedBarLineChart,
10656
+ to as MixedBarLineChart,
10654
10657
  cn as RadarChart,
10655
- tu as default
10658
+ eu as default
10656
10659
  };